{"issuer":"covid_cred","description":"Current covid immunization status","oidc_lib_version":"^1.7.7","code":{"covid_cred.js":"DQptb2R1bGUuZXhwb3J0cyA9IHsNCglyZWdpc3RlckVuZHBvaW50czogcmVnaXN0ZXJFbmRwb2ludHMsDQoJaW52b2tlQXV0aFVzZXJBZ2VudDogaW52b2tlQXV0aFVzZXJBZ2VudCwNCglpbnZva2VDb25zZW50VXNlckFnZW50OiBpbnZva2VDb25zZW50VXNlckFnZW50LA0KCWdlbmVyYXRlQ3JlZGVudGlhbFJlc3BvbnNlOiBnZW5lcmF0ZUNyZWRlbnRpYWxSZXNwb25zZQ0KfQ0KDQpjb25zdCBkZWJ1Z2dpbmdfY3JlZGVudGlhbF9pc3N1ZXIgPSBmYWxzZTsNCmNvbnN0IGNvbnRlbnRNb2R1bGVOYW1lID0gJ2NvdmlkX2NyZWQnOw0KY29uc3QgYXBwbGljYXRpb25VcmwgPSAiLyIgKyBjb250ZW50TW9kdWxlTmFtZTsNCmNvbnN0IGludGVyYWN0aXZlRmxvdyA9ICIvIiArIGNvbnRlbnRNb2R1bGVOYW1lICsgJy9pbnRlcmFjdGl2ZUZsb3cnOw0KDQp2YXIgcGsgPSBudWxsOw0KdmFyIGNpOw0KdmFyIHZpZXdQYXRoOw0KdmFyIHNjb3JlcyA9IHt9Ow0KDQpmdW5jdGlvbiByZWdpc3RlckVuZHBvaW50cyhwa1NvdXJjZSkgew0KCXBrID0gcGtTb3VyY2U7DQoJdmlld1BhdGggPSBway5wYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgY29udGVudE1vZHVsZU5hbWUsICd2aWV3cycpOyANCgljaSA9IHBrLmlzc3Vlci5pbml0KHBrLCBjb250ZW50TW9kdWxlTmFtZSwgZGVidWdnaW5nX2NyZWRlbnRpYWxfaXNzdWVyKTsNCgljaS5yZWdpc3RlckFwaSh7Z2V0X2NsYWltczogY2xhaW1Jc3N1ZXJHZXRDbGFpbXN9KTsNCg0KCXBrLmFwcC5vcHRpb25zKGFwcGxpY2F0aW9uVXJsLCBway5jb3JzKCkpOw0KCXBrLmFwcC5nZXQoYXBwbGljYXRpb25VcmwsIHBrLnV0aWwuY29yc09wdGlvbnMoKSwgZnVuY3Rpb24ocmVxLCByZXMpew0KCQlzdGFydEFwcGxpY2F0aW9uKHJlcSwgcmVzKTsNCgl9KTsNCg0KCXBrLmFwcC5vcHRpb25zKGludGVyYWN0aXZlRmxvdywgcGsuY29ycygpKTsNCglway5hcHAucG9zdChpbnRlcmFjdGl2ZUZsb3csIHBrLnV0aWwuY29yc09wdGlvbnMoKSwgZnVuY3Rpb24ocmVxLCByZXMpew0KCQlwcm9jZXNzQ3JlZGVudGlhbElzc3VlclVJUmVzdWx0KHJlcSwgcmVzKTsNCgl9KTsNCn0NCg0KZnVuY3Rpb24gc3RhcnRBcHBsaWNhdGlvbihyZXEsIHJlcykgew0KCWNpLmRlZmF1bHRBcHBsaWNhdGlvbihyZXEsIHJlcywgY29udGVudE1vZHVsZU5hbWUsICdzdGFydF9hcHBsaWNhdGlvbicpOw0KfQ0KDQpmdW5jdGlvbiBwcmVzZW50Q3JlZGVudGlhbElzc3VlclVJKHJlcSwgcmVzLCBzdGF0ZU9iail7DQoJcmVzLnNldCAoew0KCQknQ2FjaGUtQ29udHJvbCc6ICduby1zdG9yZScsDQoJCSdQcmFnbWEnOiAnbm8tY2FjaGUnDQoJfSk7DQoNCgl2YXIgc3RhdGVPYmpCNjQgPSBway5iYXNlNjR1cmwuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHN0YXRlT2JqKSk7DQoNCiAgICByZXMucmVuZGVyKHBrLnBhdGguam9pbih2aWV3UGF0aCwgJ2lzc3VlclVJJyksIHsNCiAgICAJbGF5b3V0OiAnbWFpbl9ib290c3RyYXAnLA0KICAgIAljb25maWc6IHN0YXRlT2JqLmNvbmZpZywNCiAgICAJc3RhdGVPYmpCNjQ6IHN0YXRlT2JqQjY0DQogICAgfSk7DQp9DQoNCmFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NDcmVkZW50aWFsSXNzdWVyVUlSZXN1bHQocmVxLCByZXMpew0KCXZhciBzdGF0ZU9iakI2NCA9IHJlcS5ib2R5WydzdGF0ZU9iakI2NCddOw0KCXZhciBzdGF0ZU9iaiA9IEpTT04ucGFyc2UocGsuYmFzZTY0dXJsLmRlY29kZShzdGF0ZU9iakI2NCkpOw0KCWlmIChzdGF0ZU9iaiA9PT0gdW5kZWZpbmVkKXsNCgkJLy8gVE9ETyBjaGFuZ2UgdG8gdXNlciBtZXNzYWdlDQoJCXRocm93ICd2ZXJpZmllcjogRXJyb3IgcmV0cmlldmluZyBzdGF0ZU9iaic7DQoJfQ0KDQoJdmFyIHBhcmFtcyA9IHJlcS5ib2R5Ow0KCWRlbGV0ZSBwYXJhbXMuc3RhdGVPYmpCNjQ7DQoNCglhd2FpdCBjaS5leGVjdXRlQmFzaWNBZGNSZXF1ZXN0KHJlcSwgcmVzLCBzdGF0ZU9iaiwgcGFyYW1zKTsNCn0NCg0KYXN5bmMgZnVuY3Rpb24gaW52b2tlQXV0aFVzZXJBZ2VudChyZXEsIHJlcywgcGFyYW1zLCBlbmNvZGVkX3N0c19zdGF0ZV9idW5kbGUsIGFjY2Vzc190b2tlbil7DQoJdmFyIHN0YXRlT2JqID0gYXdhaXQgY2kuaW52b2tlQXV0aFVzZXJBZ2VudChyZXEsIHJlcywgcGFyYW1zLCBlbmNvZGVkX3N0c19zdGF0ZV9idW5kbGUsIGFjY2Vzc190b2tlbik7DQoJaWYgKHN0YXRlT2JqLmNvbmZpZy5pbnRlcmZhY2UgPT09ICJpbnRlcmFjdGl2ZSIpew0KCQlwcmVzZW50Q3JlZGVudGlhbElzc3VlclVJKHJlcSwgcmVzLCBzdGF0ZU9iaik7DQoJfQ0KCWVsc2V7DQoJCWNpLmV4ZWN1dGVDcmVkZW50aWFsSXNzdWVyQVBJKHJlcSwgcmVzLCBzdGF0ZU9iaik7DQoJfQ0KfQ0KDQovKg0KZnVuY3Rpb24gZ2VuZXJhdGVUb2tlbkNsYWltcyhyZXMsIHBhcmFtcywgZW5jb2RlZF9zdHNfc3RhdGVfYnVuZGxlLCBjb250ZW50X21vZHVsZV9zdGF0ZSl7DQoJY2kuZ2VuZXJhdGVUb2tlbkNsYWltcyhyZXMsIHBhcmFtcywgZW5jb2RlZF9zdHNfc3RhdGVfYnVuZGxlLCBjb250ZW50X21vZHVsZV9zdGF0ZSk7CQ0KfQ0KKi8NCg0KZnVuY3Rpb24gZ2VuZXJhdGVDcmVkZW50aWFsUmVzcG9uc2UocmVzLCBwYXJhbXMsIGNvbnNlbnRJbmZvLCBjb250ZW50X21vZHVsZV9zdGF0ZSl7DQoJY2kuZ2VuZXJhdGVDcmVkZW50aWFsUmVzcG9uc2UocmVzLCBwYXJhbXMsIGNvbnNlbnRJbmZvLCBjb250ZW50X21vZHVsZV9zdGF0ZSk7DQp9DQoNCmZ1bmN0aW9uIGludm9rZUNvbnNlbnRVc2VyQWdlbnQocmVzLCBzY29wZUluZm8sIHJlZ2lzdHJhdGlvbkluZm8sIGVuY29kZWRfc3RzX3N0YXRlX2J1bmRsZSwgY29udGVudF9tb2R1bGVfc3RhdGUpIHsNCgljaS5pbnZva2VDb25zZW50VXNlckFnZW50KHJlcywgc2NvcGVJbmZvLCByZWdpc3RyYXRpb25JbmZvLCBlbmNvZGVkX3N0c19zdGF0ZV9idW5kbGUsIGNvbnRlbnRfbW9kdWxlX3N0YXRlKTsNCn0NCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCmFzeW5jIGZ1bmN0aW9uIGNsYWltSXNzdWVyR2V0Q2xhaW1zKHN0YXRlT2JqKXsNCglpZiAoIXNjb3Jlc1tzdGF0ZU9iai5zdWJdKXsNCgkJc2NvcmVzW3N0YXRlT2JqLnN1Yl0gPSAzNTsNCgl9DQoJZWxzZXsNCgkJc2NvcmVzW3N0YXRlT2JqLnN1Yl0gKz0gNTsNCgl9DQoJDQoJdmFyIHN0YXR1cyA9IHNjb3Jlc1tzdGF0ZU9iai5zdWJdIDwgNDAgPyAiQXdhaXRpbmcgUmVzdWx0cyIgOiBzY29yZXNbc3RhdGVPYmouc3ViXTsNCgljb25zdCBkYXRlT3B0aW9ucyA9IHsNCgkJd2Vla2RheTogInNob3J0IiwNCgkJeWVhcjogIm51bWVyaWMiLA0KCQltb250aDoic2hvcnQiLA0KCQlkYXk6Im51bWVyaWMiDQoJfTsNCg0KCXZhciBkYXRlID0gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoImVuLVVTIiwgZGF0ZU9wdGlvbnMpOw0KCXZhciBzYW1wbGUgPSAiMTk0MiI7DQoJdmFyIHJldFZhbCA9IHsNCgkJY3JlZGVudGlhbFN1YmplY3Q6IHsNCgkJCV9kaXNwbGF5OiAiU3RhdHVzOiAiICsgc3RhdHVzICsgJyBcclxuJw0KCQkJCSsgIkJhc2VkIG9uIHNhbXBsZSAiICsgc2FtcGxlICsgIiB0YWtlbiAiICsgZGF0ZSwNCgkJCWRhdGU6IGRhdGUsDQoJCQlzYW1wbGU6ICIxOTQyIiwNCgkJCXN0YXR1czogc3RhdHVzDQoJCX0sDQoJfQ0KCXJldHVybiByZXRWYWw7DQp9DQo","oidc_config.js":"ew0KICAiY29uZmlnIjogew0KICAgICJpc19jYXJkIjogdHJ1ZSwNCiAgICAiY2xpZW50IjogImNvdmlkX2NyZWQiLA0KICAgICJjYXJkX3RpdGxlIjogIlRvcm9udG8gQ09WSUQgVGVzdCBMYWIiLA0KICAgICJpbnRlcmZhY2UiOiAiaW50ZXJhY3RpdmUiLA0KICAgICJjb21wYW55X25hbWUiOiAiVG9yb250byBDT1ZJRCBUZXN0IExhYiIsDQogICAgImluc3RydWN0aW9ucyI6ICJQbGVhc2UgZW50ZXIgeW91ciBuYW1lIGFuZCB0aGVuIHRha2Ugb3Igc2VsZWN0IGEgcGhvdG8gdG8gYmUgc2hvd24gd2hlbiBwcm92aW5nIHlvdSBoYXZlIENPVklEIGltbXVuaXR5LiIsDQogICAgImFkY19tZXRob2QiOiAicmVhbHRpbWUiLA0KICAgICJjcmVkZW50aWFsX3R5cGUiOiAiaHR0cHM6Ly9ib29rLml0c291cndlYi5vcmc6MzAwMC9zbWFydC1jcmVkZW50aWFsL0NvdmlkLUltbXVuaXR5VGVzdC1QVjciLA0KICAgICJjcmVkZW50aWFsX2NvbnRleHQiOiAiaHR0cHM6Ly9jb3ZpZC5vcmcvdjEiLA0KICAgICJjcmVkZW50aWFsX2Rlc2NyaXB0aW9uIjogIkN1cnJlbnQgY292aWQgaW1tdW5pemF0aW9uIHN0YXR1cyIsDQogICAgImNyZWRlbnRpYWxfY29sb3JzIjogIiMxMTIyMzMgI0ZGRkZGRiAjODg5OUFBIiwNCiAgICAiY3JlZGVudGlhbFRUTCI6IDE3MjgwMA0KICB9DQp9","data":{"scope_claim_map.json":"ewogImh0dHBzOi8vYm9vay5pdHNvdXJ3ZWIub3JnOjMwMDAvc21hcnQtY3JlZGVudGlhbC9Db3ZpZC1JbW11bml0eVRlc3QtUFY3IjogewogICJpbnB1dCI6ICJmaWVsZHNldCIsCiAgImNvbnRlbnQiOiB7CiAgICJnaXZlbl9uYW1lIjogewogICAgImxhYmVsIjogImdpdmVuX25hbWUiLAogICAgImlucHV0IjogInRleHQiCiAgIH0sCiAgICJmYW1pbHlfbmFtZSI6IHsKICAgICJsYWJlbCI6ICJmYW1pbHlfbmFtZSIsCiAgICAiaW5wdXQiOiAidGV4dCIKICAgfSwKICAgInBob3RvIjogewogICAgImxhYmVsIjogInBob3RvIiwKICAgICJpbnB1dCI6ICJ0ZXh0IgogICB9LAogICAiQ292aWQtSW1tdW5pdHlUZXN0LVBWNyI6IHsKICAgICJsYWJlbCI6ICJDb3ZpZC1JbW11bml0eVRlc3QtUFY3IiwKICAgICJpbnB1dCI6ICJ0ZXh0IgogICB9CiAgfQogfQp9","wallet_render.html":"ICA8aHIgY2xhc3M9Im1iLTMiPg0KICA8aDUgY2xhc3M9Im1iLTMiIHNjb3Blcz0ib3BlbmlkIj5DT1ZJRCBJTU1VTklUWTwvaDU-DQogIDxkaXYgY2xhc3M9Im1iLTMiIHNjb3Blcz0ib3BlbmlkIj4NCiAgICA8bGFiZWwgZm9yPSJnaXZlbl9uYW1lIj5GaXJzdCBOYW1lPC9sYWJlbD4NCiAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9ImdpdmVuX25hbWUiPg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0ibWItMyIgc2NvcGVzPSJvcGVuaWQiPg0KICAgIDxsYWJlbCBmb3I9ImZhbWlseV9uYW1lIj5MYXN0IE5hbWU8L2xhYmVsPg0KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0iZmFtaWx5X25hbWUiPg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0ibWItMyIgc2NvcGVzPSJvcGVuaWQiPg0KICAgIDxsYWJlbCBmb3I9InZjLl9kaXNwbGF5Ij5DdXJyZW50IEltbXVuaXR5IFNjb3JlPC9sYWJlbD4NCiAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9InZjLl9kaXNwbGF5Ij4NCiAgPC9kaXY-DQogIDxkaXYgY2xhc3M9Im1iLTMiIHNjb3Blcz0ib3BlbmlkIj4NCiAgICA8bGFiZWwgZm9yPSJ2Yy5zYW1wbGUiPlNhbXBsZTwvbGFiZWw-DQogICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJ2Yy5zYW1wbGUiPg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0ibWItMyIgc2NvcGVzPSJvcGVuaWQiPg0KICAgIDxsYWJlbCBmb3I9InBob3RvIj5waG90bzwvbGFiZWw-DQogICAgPGltZyBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0icGhvdG8iIHN0eWxlPSJoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO21heC13aWR0aDogMzAwcHg7bWF4LWhlaWdodDogMzAwcHg7IiA-DQogIDwvZGl2Pg0KDQo"},"views":{"issuerUI.handlebars":"PGxpbmsgaHJlZj0iL3t7Y29uZmlnLmNsaWVudH19L2lzc3VlclVJLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4NCjxzY3JpcHQgc3JjPSIvcGVyc29uYWwvanMvanF1ZXJ5LTMuMi4xLnNsaW0ubWluLmpzIj48L3NjcmlwdD4NCg0KPGRpdiBjbGFzcz0iY29udGFpbmVyIiBpZD0ib3V0ZXJFbCI-DQo8ZGl2IGNsYXNzPSJweS0zIHRleHQtY2VudGVyIj4NCgk8aW1nIGNsYXNzPSJtYi0zIiB3aWR0aD0iMTc1cHgiIHNyYz0ie3tjb25maWcuY3JlZGVudGlhbF9pbWFnZX19IiBhbHQ9IiI-DQoJPGgyPnt7Y29uZmlnLmNvbXBhbnlfbmFtZX19PC9oMz4NCgk8cCBjbGFzcz0ibGVhZCI-e3tjb25maWcuaW5zdHJ1Y3Rpb25zfX08L3A-DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icm93Ij4NCgk8ZGl2IGNsYXNzPSJjb2wtbWQtNiBvcmRlci1tZC0yIG1iLTQiPg0KCQk8Zm9ybSBpZD0idXNlcmFnZW50X2NyZWRlbnRpYWwiIGFjdGlvbj0iL3t7Y29uZmlnLmNsaWVudH19L2ludGVyYWN0aXZlRmxvdyIgDQoJCQkJbWV0aG9kPSJwb3N0Ij4NCgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJzdGF0ZU9iakI2NCIgbmFtZSA9InN0YXRlT2JqQjY0Ig0KCQkJCXZhbHVlPSJ7e3tzdGF0ZU9iakI2NH19fSI-DQoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iZXJyb3JfaW5mbyIgdmFsdWU9Int7e2Vycm9yX2luZm99fX0iPg0KDQoJCQk8IS0tICoqKioqKioqKiBjdXN0b20gKioqKioqKioqKiogLS0-DQoJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0ic3ViamVjdF9pbWFnZSIgbmFtZT0icGhvdG8iPg0KCQkJPGRpdiBjbGFzcz0ibWItMiI-DQogICAgICAgIAkJPGxhYmVsIGZvcj0iZ2l2ZW5fbmFtZSI-Rmlyc3QgbmFtZTwvbGFiZWw-DQogICAgICAgIAkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJnaXZlbl9uYW1lIiBuYW1lPSJnaXZlbl9uYW1lIiByZXF1aXJlZD4NCgkJICAgIDwvZGl2Pg0KCQkgICAgPGRpdiBjbGFzcz0ibWItMiBjbG1zXzEiPg0KCQkgICAgICAgIDxsYWJlbCBmb3I9ImZhbWlseV9uYW1lIj5MYXN0IG5hbWU8L2xhYmVsPg0KCQkgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0iZmFtaWx5X25hbWUiIG5hbWU9ImZhbWlseV9uYW1lIiByZXF1aXJlZD4NCgkJICAgIDwvZGl2Pg0KCQkJPGRpdiBpZD0iZmlsZUlucHV0Ij4NCgkJCTwvZGl2Pg0KCQkJPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJtdC0zIG1iLTMgYnRuIGJ0bi1wcmltYXJ5Ij5TdWJtaXQ8L2J1dHRvbj4NCgkJCTwhLS0gKioqKioqKioqIGVuZCBjdXN0b20gKioqKioqKioqKiogLS0-DQoJCTwvZm9ybT4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0IHNyYz0iL3t7Y29uZmlnLmNsaWVudH19L2lzc3VlclVJLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQ-DQoJaW5pdGlhbGl6ZVVwbG9hZCgpOw0KPC9zY3JpcHQ-DQoNCg0KPCEtLSAqKioqKioqKiogYm9uZXlhcmQgKioqKioqKioqIC0tPg0KPCEtLWRpdiBjbGFzcz0iY29udGFpbmVyIiBpZD0ib3V0ZXJFbCI-DQo8ZGl2IGNsYXNzPSJweS01IHRleHQtY2VudGVyIj4NCgk8aW1nIGNsYXNzPSJkLWJsb2NrIG14LWF1dG8gbWItNCIgc3JjPSJ0YmQiIGFsdD0iIiB3aWR0aD0iNzIiIGhlaWdodD0iNzIiPg0KCTxoMj5Ub3JvbnRvIENPVklEIFRlc3QgTGFiPC9oMj4NCgk8cCBjbGFzcz0ibGVhZCI-e3tpbnN0cnVjdGlvbnN9fTwvcD4NCjwvZGl2LS0-DQo","login_redirect.handlebars":"PHNjcmlwdD4NCg0KZG9SZWRpcmVjdCgpOw0KDQpmdW5jdGlvbiBkb1JlZGlyZWN0KCl7DQoJd2luZG93LmxvY2F0aW9uID0gInt7e2xvZ2luUmVkaXJlY3R9fX0iOw0KfQ0KDQo8L3NjcmlwdD4NCg","start_application.handlebars":"DQo8c3R5bGU-DQouc2FfZ3JvdXAgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHRvcDogMDsNCiAgbGVmdDogMDsNCn0NCi5zYV9iYWNrZ3JvdW5kIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQp9DQouc2FfY29kZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAyODBweDsNCiAgbGVmdDogNDUwcHg7DQo8L3N0eWxlPg0KDQo8ZGl2IGlkPSJyZW5kZXIiPg0KPGRpdiBjbGFzcz0iZmxleC1jb250YWluZXIgYmctbGlnaHQgcGItNSI-DQoJPGRpdiBjbGFzcz0icm93IHNhX2dyb3VwIj4NCgkJPGltZyBjbGFzcz0ic2FfYmFja2dyb3VuZCIgc3JjPScve3tjb25maWcuY2xpZW50fX0vc3RhcnRfYXBwbGljYXRpb24uanBnJz4NCgkJPGltZyBjbGFzcz0ic2FfY29kZSIgb25jbGljaz0ic2ltdWxhdGVTY2FuKCk7IiBzcmM9Int7cXJfY29kZX19IiBhbHQ9IiIgd2lkdGg9IjI1NiIgaGVpZ2h0PSIyNTYiPg0KICA8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY-DQoNCjxzY3JpcHQ-DQpmdW5jdGlvbiBzaW11bGF0ZVNjYW4oKXsNCiAgICB3aW5kb3cubG9jYXRpb24gPSAie3t7Y3JlZGVudGlhbF9yZXF1ZXN0X3VybH19fSI7DQp9DQo8L3NjcmlwdD4NCg"}},"web/covid_cred":{"issuerCard_350.jpg":"_9j_4AAQSkZJRgABAQEAeAB4AAD_4QBmRXhpZgAATU0AKgAAAAgABgESAAMAAAABAAEAAAMBAAUAAAABAAAAVgMDAAEAAAABAAAAAFEQAAEAAAABAQAAAFERAAQAAAABAAASdFESAAQAAAABAAASdAAAAAAAAYagAACxj__bAEMAAgEBAgEBAgICAgICAgIDBQMDAwMDBgQEAwUHBgcHBwYHBwgJCwkICAoIBwcKDQoKCwwMDAwHCQ4PDQwOCwwMDP_bAEMBAgICAwMDBgMDBgwIBwgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP_AABEIAM4BXgMBIgACEQEDEQH_xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv_xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5-jp6vHy8_T19vf4-fr_xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv_xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4-Tl5ufo6ery8_T19vf4-fr_2gAMAwEAAhEDEQA_APor_hfHj7_of_Hn_hSX3_x2j_hfHj7_AKH_AMef-FJff_Ha5WiuTmZ_J_8AaOK_5-S_8Cf-Z1X_AAvjx9_0P_jz_wAKS-_-O0f8L48ff9D_AOPP_Ckvv_jtcrRRzMP7RxX_AD8l_wCBP_M6r_hfHj7_AKH_AMef-FJff_HaP-F8ePv-h_8AHn_hSX3_AMdrlaKOZh_aOK_5-S_8Cf8AmdV_wvjx9_0P_jz_AMKS-_8AjtH_AAvjx9_0P_jz_wAKS-_-O1ytFHMw_tHFf8_Jf-BP_M6r_hfHj7_of_Hn_hSX3_x2j_hfHj7_AKH_AMef-FJff_Ha5WijmYf2jiv-fkv_AAJ_5nVf8L48ff8AQ_8Ajz_wpL7_AOO0f8L48ff9D_48_wDCkvv_AI7XK0UczD-0cV_z8l_4E_8AM6r_AIXx4-_6H_x5_wCFJff_AB2j_hfHj7_of_Hn_hSX3_x2uVoo5mH9o4r_AJ-S_wDAn_mdV_wvjx9_0P8A48_8KS-_-O0f8L48ff8AQ_8Ajz_wpL7_AOO1ytFHMw_tHFf8_Jf-BP8AzOq_4Xx4-_6H_wAef-FJff8Ax2j_AIXx4-_6H_x5_wCFJff_AB2uVoo5mH9o4r_n5L_wJ_5nVf8AC-PH3_Q_-PP_AApL7_47R_wvjx9_0P8A48_8KS-_-O1ytFHMw_tHFf8APyX_AIE_8zqv-F8ePv8Aof8Ax5_4Ul9_8do_4Xx4-_6H_wAef-FJff8Ax2uVoo5mH9o4r_n5L_wJ_wCZ1X_C-PH3_Q_-PP8AwpL7_wCO0f8AC-PH3_Q_-PP_AApL7_47XK0UczD-0cV_z8l_4E_8zqv-F8ePv-h_8ef-FJff_HaP-F8ePv8Aof8Ax5_4Ul9_8drlaKOZh_aOK_5-S_8AAn_mdV_wvjx9_wBD_wCPP_Ckvv8A47R_wvjx9_0P_jz_AMKS-_8AjtcrRRzMP7RxX_PyX_gT_wAzqv8AhfHj7_of_Hn_AIUl9_8AHaP-F8ePv-h_8ef-FJff_Ha5WijmYf2jiv8An5L_AMCf-Z1X_C-PH3_Q_wDjz_wpL7_47R_wvjx9_wBD_wCPP_Ckvv8A47XK0UczD-0cV_z8l_4E_wDM6r_hfHj7_of_AB5_4Ul9_wDHaP8AhfHj7_of_Hn_AIUl9_8AHa5WijmYf2jiv-fkv_An_mdV_wAL48ff9D_48_8ACkvv_jtH_C-PH3_Q_wDjz_wpL7_47XK0UczD-0cV_wA_Jf8AgT_zOq_4Xx4-_wCh_wDHn_hSX3_x2j_hfHj7_of_AB5_4Ul9_wDHa5WijmYf2jiv-fkv_An_AJnVf8L48ff9D_48_wDCkvv_AI7R_wAL48ff9D_48_8ACkvv_jtcrRRzMP7RxX_PyX_gT_zOq_4Xx4-_6H_x5_4Ul9_8do_4Xx4-_wCh_wDHn_hSX3_x2uVoo5mH9o4r_n5L_wACf-Z1X_C-PH3_AEP_AI8_8KS-_wDjtdz-z18ZvGuqeOriO78aeNLyMWEjBJ9eu5VB8yIZw0hGeTz7mvHK9A_Zo_5KBcf9g6T_ANGRVdNvmR6WU47EyxlNSqS37v8AzPP6KKKzPBCiiigAooooAKKN1FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFGaACiiigAooooAKKKKACijNFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV6B-zR_yUC4_7B0n_oyKvP69A_Zo_wCSgXH_AGDpP_RkVXT-JHp5P_vtP1_zPP6KKKg8wKKKKACmyOI0ZmO1VGST2FOoPSgDuv8AhmD4kf8AQh-Lf_BZL_hXEXdrLp95NbzxvDcW8jRSxuu1o3U4ZSOxBBBHYiu306Jbj9ma7jkn-zxy-OdNR5myREDp2oAsfYdfwrtPHnhLRZNf-LPhNfCWnaFa-AdJvbzTNTjWcagJLaSNYWnlZysoulckAqB-8Qpjbk1yo-illNKrSjUw7cbq_vO-r5mlpFW0i9X3t3a8Ror6K-JHhjw5pnxo-IWnWPgzw6bP4d6H_a1jYRQz7tRldLLfJdFZMyQw_aJJPLXYMAZO0Nmn4M8J-G_EXha28XXnhLR0ubrwZ4h1GXTF86PT559PntVt7pIxJvjDiSRHCOFYxOV2lmquQP8AV2p7R01UjdXvvspcre3SXTe2vY8I03SrrWrv7PZ21xdTeW8vlwxmRgiKXdsD-FVUsT0ABJ4FQA5FfRXwq1PTbDUvDHiS38PeG7G88S-D_Eq3lrHbv9jlktFuFR44mc7GeOMK4Bwy7-BkkZvg_wAI6He-Ofhr4P8A-EO0vUbLx9o9pqGoaiqy_b1lu97TPbSK-yGO0xtCbCP3D787s0uQqPDznCEo1FeTS2f2lBx6X15tdNPPr4OuXYKoLMxAAAyST0ArpfEXwX8YeENC_tTVvCviLTNNXaHubrT5Yo03fd3Fh8uegzjkgVv_ALKXlp8e9HEM1rcXyx3g0iWUL5Et_wDZZvsjEMcczeWV5-8U5q38CPCN94o1bxBBD4s1rQ_Fl1Y6lb6lZTaLLefarUWzPcC7lZtqbyHQ-YuRJsIO5lwoxucuCyuNanFu7lKTirOKtZLvo276K62erPMKM19DaR4F8BaVD4V8PX2nrdN4g8MW-qTfZtCv7zWriae1MxuLa4jbyxHE4x5YjKBYZA-SSQzwl4U8N6t4q-F3hGfwpoDQeMvBEepalqQWb7eblre9dZYnEgVCGtkP3DuDMGyNuK9mdK4bqXUXUjd2XV-82kk7LTWSu_Xyv8-UV9CeEvBHgPStH-H2k6lZQ6lJ4v8AD8Gp3v2bRL--1e8mnDljZzwvsj8gqFEaxsP3Tb878jL0TwRY-IB8IPDWm-EPD2qX3jCwW7v7ieWW0uLwx3lwWHnqT5KeVCwdkjZ2XIHITC5CHw7VSXvxvZaK7d24pLRP-Zfj5X8X0jSbrX9VtrGxt5ry8vJVhgghQtJM7HCqo7kk4wKf4f0C_wDFms2-m6XZ3WoaheMVgtreMySykAsQqjknAJ-gNfR_gLQfDesXfw48UaPH4dmuo_iRp-k_bdC0i702zlieGSdottw5aUq0cZDlVIDEHOSa8z_Ym5_ar8Cf9fr_APpPNS5dUipZEqdahSnK_tJJXXZ8uvrq_LRHnWjaLeeI4rp9Ptbi-SxtHv7hoIy4gt0xvlbHRF3DLHgZFVq9h-CWq-DpfBHxFPh3RfFFjfL8PNUcPqOswXkRjCw5XYltEdxO3DbscHg542fEPgTw_afFTW_h5D4d0kaLpPhyTUY_EqLL9vDR6YLwag83mbGheU7CgUIFkVRtIp8pMci56UKlOonzO3W123ZbK2zu3ojwWkdti7jwo5Jr3Hxr4J0G--Eus2mi6RoVrrWh-FItXurC9t7uz1ywaOKGSW8W6zJb3cT73Pl_uxtkQKFZMHS-MfhHw8_xC-LXhS38GaP4fsfCOgXWs6dqFussd7FcRRRSxF5GkKNFO0hjWPZjEibfmUknIVLhyrFX549Lb6tqTte1l8Lve1rq9tTw_VfBur6C98t9peoWjaY0KXnmwMv2Vpl3xK-RhS65ZQeWAJHSsxjge3evpHxzp1ro3h74meEdF0PRWS68R-GrW2g2bZg13ZOBtkJ-Q-YG2OQQrSSHnOBm_FbwD4Zm-EvxQa1sfC0OqeBbm0hjXQ7C-T-zJGvhayW815cEfam27wT5YyybwQCAHyGtbhuS5nTmvdUm7_3XO6T66Q9b9EtV4pb-CNZvPF__AAj8OlahNrvnPbHT0hY3IlXJZNnXcArZHsa3dY_Z48feHtIutQv_AAX4ns7Gxiee5nm06RI4I0UszsxGAoAJJ9BVj9pv_k4_x5_2MF7_AOjmr0Dwl4I034keJPgfo-sLNNptx4cv5ZbeJnD3ZhuNRmWEbPm-do1UhfmIJC4YgiVHWxjhcro1a9XDa80ZWTukneagr-6-93b0Xc8HqfS9Kutbv47Wzt7i7upQxSKGMySMFUuxCjnAVWYnsASeATXuelaB4J8f3XhC-t_D8utP_b8llfp4d8P3un2N7ai0ln8orLKQ9xE8YcpHIrvCzAglQa2fh7b6ZpfxM8G-ItEsfAurabqVp4h086hplndWsU8kWmTThXsp-YZVX5S6OyvHM6nBwxpQNaHDcpzinUi4txWmrs3FXXpzLy7vVX-d9A8P3_ivU47HTLO51C8mV3SC3jMkjqil2IA54VST6AE1SVwwyOjcj3r1T9ji6-3_ALR-mXHlww_aLTVZBHAu2OPdp90dqDsozgDsABXJ_s_eF18Z_EXR7KSxsdTtUhmurmC9uZLe38qK3kkZ5HiDSbU2hiqAs-3YMbtwnl0PNp5d7SlSlTes5yj5acln3-1r-Bh6Jod54k1WGx0-1uL69uN3lwQRmSSTapdsAcnCqxPsDVRW3DI-6eQfWvqP4V-HfD994z-FviLS7PSLu4vNZ1jTZZdF0y60u11OJNNZwqRzMzMQ7yIJVCHnaVLJmvIfFdrpvi79nuz8Vr4f0jwzqlv4jbRUh0yOWGC9tza-ccpI7kvC4CFwckSANkgGm46HZichdKjz86bV31s4qMJXT2-1316HndFFFQfPhRRRQAUUUUAFFFFABXoH7NH_ACUC4_7B0n_oyKvP69A_Zo_5KBcf9g6T_wBGRVdP4kenk_8AvtP1_wAzz-iiioPMCiiigAoNFFAFgatdf2M-m_aJv7PkuFu2t937pplR0WQr03BJHXPoxHetTWvih4m8TeFYdD1LxDrV_otuEWOxuL2SS3UJ9wbCcYX-EHheMYrDooNY4irFNRk7NWer1Xb0NgfETXl8Zf8ACRLreqr4g3B_7RW6dbrIQR58wHd9wBevK8dOKdqfxL8R6zrF5qF5r2r3d9qFk2m3NxNdu8k1q33oCSf9WcD5On51i0UXH9YrWtzve-737-vnua2kePdc8PXOlzWGsalZTaH5v9nPBcNG1l5pJl8sg_KHLNuA67jnrVq1-LPiqw8O3mkW_iTXYdJ1BpWuLOO-kWGYykmXKg4w5JLDGGyc5yc8_RTuxxxVaKtGbXzfkvySXokgxg_Qgj2I6V1Gs_G7xp4j0JtL1Dxd4mvtOlQJJbz6lM8cyjoHBb5x7NkVy9FIinXq00405NJ72dr-pvWHxT8T6Z4Sk0C28Ra5b6HIjxvYR3si27I5y6bAcbWP3l6Nk5BzVa28da1aarpt9Dq2oR3uj2osbCdZ2ElnAA6iKM9VQCSQYHHzt61lUUXZX1qtpeb0tbV6W2t2t0N7RPil4m8M-FZtD03xFrlhos6ur2NvfSR25D8ONgOAG7gdc85qini3VYptKlTUr6OXQ1Cac6TsrWAVzIBERymHZm47nNZ9FF2H1ms0k5PTbV6en3HT6p8bPGOu3lvcX3inX7ye0uYryB576ST7PNFv8uRMn5WXzHwRj77etYega_feFNZt9R0u8uNP1CzYvBcQSGOSJiCMqw5BwSPoTVSii7CWKrTkpym21s23oy1o2t3nh2O6SwurizW9tHsbgQuUE0D43xNjqhwuV6HArSl-KHiW48Gr4dfxDrb6AgCDTjeyG2Cg7guzONobBC9AQMCsOij0FDEVYLlhJpbb9Da1P4meJtV8Ct4Zl8Ra42g-UIVsGvZDbKg5VdmcbVOCF6AgYHArpPjn-0T4g-N_iLVZLi-1az0HUp0nTRG1GS4tbfYiqBghVYblLj5QAzE4zzXA0U-Z7G31_E-zdLndna-vRXsvTV6ba-htN8S_EXm6u_8AburbvEESQamRdOPt6Iu2NZefm2rwuegJxirXib4y-LvGunS2eseJ9f1S1njEMkF3fyTRuu9HwVYkH5o0OeuUX0rm6KOZkfXK_K487s91d_11f3vuWNY1i68QardX99cTXl7eStNPPK26SZ2OWZj3JPNSyeJtSk_s3_iYXgbRVC6eyzMrWIEhkHlEHKYkJbI6E5qlRSMvaTu3d3e_n1_PX1Og8RfFnxT4u1XT77VPEmu397pL-ZZTzX0jSWb5DFoznKMSqksuCdo54FO1P4w-LdZ8SWOsXfibXrjVdL3Gyu5L6Qy2m7O7yzn5d2TnGN2ec1ztFO7NXjMQ225vVp7vdbP5dDU0fxtrHh_xV_bljql9Z615kk326CYx3G-TcJG3jnLbmz67jWxq_wAe_HGv3VhcXvjDxJdXGl3H2qzkk1CQvay7WTehzlWKuy5HUMR0JFcnRRdhTxmIhFwhNpN3sm7X7776bnTX3xq8Y6nf291ceKvEE91ZzG4t5ZL-Rnt5DEYSyEnKExkr8uOKz_F_xA174g3FvLr2tarrUlohjga9unn8lTy23cTjJAJPcgZzismildhPF15pxnNtPfV6-oUUUUHOFFFFABRRRQAUUUUAFegfs0f8lAuP-wdJ_wCjIq8_r0D9mj_koFx_2DpP_RkVXT-JHp5P_vtP1_zPP6KKKg8wKKKKACiiigAooooAKKM0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXoH7NH_JQLj_ALB0n_oyKvP69A_Zo_5KBcf9g6T_ANGRVdP4kenk_wDvtP1_zPP6KKKg8wKKKKACiigUAFc5b_Frw1d-LrzQ49b03-0rC1lu7iI3CjyUidEkDHOAymRCVODg5qh4f_aF8F-IvF93otj4i0yXUrB_LlDS-XEZAR8iythHfkDarE9fQ4-WP-CiX7J19-xR4b1PxDNfeA_DtrrUUsGl-HLfV7m61fU_PZZJLsbiVaRC0LMQQgX5c5j3Pw4nFSSSoWk-x-2eHPhbSzPE1qXEqq4WKgpQk48qbk7J-9ZtdbJWavdpHufxD_bR0PwR4_1Pw5Hp93c3Wl6fBqbXskiRWM8Eu3a0T5LSAbhuKrge-DWbon7bRuvHGhaTqXgvWNHt_EGkW2r2lxNOjSXcU87wJLDEo3PCXikCucFivAxzXmP7dH7K994c8DfCHx_q3hldC0-Pwzo2njw-b1hJpSXUYJt7wxyE_Z_OVgF3RzoZQsj4dGj7Cz-B0HxR034T-No9Yj-HL-D9N_4R_QIo9Pa4s7fT7a8uJZGLHewnLT3rh53aM-ZDwCCtcf1urOp7srJpNXStuk9fw9T9ry3wh4Vhw_Tq4nDKpWi5RlNVZ-9JqXJonZLRSdk7eZ9LMNpx6UZr5t-MP7YeoWuv_ELw74ck0ZxpKs2ka-JpIovLbTo7pQyOhImRi-7I2hSuQOp679m_4za5PHpHhP4hR3Vj461LSLbxDbQTW21pdPuYEmhklZR5aSsGY-WcMFK5Gc47o4-jKp7Nb_h_TPwTNvBPibLckeeYqEeRJPlT5p8vWdkrJR-1dpre1tT2Siiiuw_IwoozRmgAooooAKKKM0AFFFFABRRmigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr0D9mj_koFx_2DpP_AEZFXn9egfs0f8lAuP8AsHSf-jIqun8SPTyf_fafr_mef0UUVB5gUUUUAFee_tK_tC6N-zh8NbrXNWhnvGaOVba0h-9cusZbBP8ACvQFu24V6EBk18h-Jv2gdZ8Q_tGeILXx58Crjxx8M9FFzp12uoyXOmro9sku241O2uo9oEjW5b52LRKEBIynPPiajhHTf8j9K8LeFcPnecJY2S9jStKUXJRc7u0Yxva7crX1VlfVNotftif8Er_h74b-Gq6x8KvjY-teFPEfh-78RWL6lAb68muptsUdi728aiKMbpC7Mu4SxpuRRtJ9e-MXxa134cfBO1sRpvh3xt48u_D8V1qc_iCzQPpFvHFDmW0glcI80Xl3s5iEhaDyrdtoMhK_HPiHxx4FtNJ1bwL8OdBTwHa6j4wF5Yw3erTTyzRsIgLWeR9jRlYow5Bw5wMIhG5vVNV8DfGD4xfA691LXNY8SNeXbNBeLPJBdXH9jWsKrI7kBfJilZXaWQ8Z8kHAkOOCg43tBuKtuurfTv6WP7RziOKoRp1MU41akZJcknqltfR8tt027WdmbjaDr37T37Ha6LDq-radcyX82kQXkeoPL_bGr_anm-wTx8tOz7m84EjaIkOf3SirP7Ev7REP7K_w1-HOgeMG1yfU_FFzqU3igauxlfw_KJJYba2ijSQJgrbyPIMOVSTdwW2mH9k_4z-IfC2p654D_sDVYZbq_wBsMMpkt57aITGCVzD8nk3E0cySGNi4YouWEkUeOv1TS_hp_wANA6L4gtr7wv4uXxLd2tsLFLJNRtyyvaQS29nHua3VYrHmSQtNmVySVaErW9FVZUUqUle9lda2W6872-487HU6NDNK8sxpylTa55KGsVKa917JK12k-9ns7P2b4GeE9K-AX7TU2n-H_Ccc_h3xoDc-IEZlutTspz50rSRSAPsQImI0J2hyofEZ3J47-1N-yn8V_AXx_wBW8TwyX3xR-IvifxWPGUtzp5ntrD-yrjetpKkQyrYgs8ymV1S3VvKQvlmGp-0_4X8TfDLwyvxA-EWv6ay6fBv1C4h1m20mwuhJIiJOHkciSP5pcOrghTLliyqq8t8RtavdA_ZJ8b2PxQ-MHjj4Y_HrQPEYjm0iXW5W1DxHZSxQWxhmdCDJbQTQNdLOCIpDJKqoVeOscyil-7StrzXsraatebetmzs4OlWqt4iU1NStScJXcnGXupvtCzXMl0Wtlqve_DnibTfGOiw6lpN9b6npt0C0F1bktFMASMrkA4yO4q9Xz7_wT4s7zwt8ONQ8PXlneRnSbk5uTbmO1unZ5MmFgTG3AUvsJxIZAcEYr6CruwtZ1aSmz-IvEjhOPDfEWIymnLmhBpxflJJpPzjflfnF7DZE3owyVyCMjqK-ttK_Zr8N_HcfA_xN4b0G003R9dnktvFNvbKwh823UyyKRkkK7W9xFngkSJ04r5Lr1P4Mftg-LvgT8ONY8M6H_Z_2PVpJZlnnR2uLGSSIRl4SrAAjarDII3DPc56otdTxuHsZgqNWUMwjenJJ7XacZJq3k1eL8mei3P7G0Px58Ta54o8OXWneEvBU2tPouhw2mmXGotdeSxgecrF_q42kR23scDJztABODon7A-qNL40GveLND8Mx-B7yK3vLm5heS2likijmE6vuXA2SDCkZLDbkHkcn8Jf2rNd-E_gCPwuuk-GvEOg212L60tdYtGnWxl5yY9rrwSScHPLN6kVU1L9pnxBrHgXxl4fuLXRRa-Nr2C-vGgtjAbYwmIxxwqjBEQCFBgqSeSSWJNXeFrs9aWM4fqU41p037RqTktUuazaWj0XNa1rWW57j8Kv2XfDHiDxP8IIdY_4RyfSNetdQuYmtLG4huPEJgjQos7GVgCykzcBRiNkOSwrK-J3wN0vxT4H-IFz4R0Xwasem-M7Xwxp0lvZ3MN0ZpJLGIRo8kuxAJZzG5ZCGIkZSFZdvnHhr9sXxL4Xb4etb6foch-G0NzBpvmRSn7Qs8Pkt52JBkheRt28_lVCL9qbxJaeBvEehWsOm2kfiTxIPFUl1Ej_aLO8E8M6-USxUKrwIQGDHrz0p80TrlnGTPDujyJXTu1HW_s4xVm_7_N9yfV37n4j_APBPDxF4D8Ea9qlvrlrrF74ZtlvL-xj0y4t1aPYXfyJ5BsnKgHhcdMHaxCnvvgh-w9oPgbxxrGl-NNU8O-Jdaj8MtqT6GsEvmacWcBJhJnbIAVdSRtIypxhga8a-J_7ZPiD4q-HNSsbzQfB9leazGkV_qlpppW-uFVdpAdnYISvBKgEDoRwRvW3_AAUO8ZR3X2ybQ_Bt3q8uljSLnVJNPdby7hHI3usg6MXbaoC7nJ29MCcLlYfGcM0cV7WEHZJWum11vo3va29472VzwGydpLSFmO5mRST9QDUtNhjEMSIOkahR-FOzWJ-eBRRmigAooooAKKM0UAFFFFABRRRQAUUUUAFFGaM0AFFFFABRRRQAV6B-zR_yUC4_7B0n_oyKvP69A_Zo_wCSgXH_AGDpP_RkVXT-JHp5P_vtP1_zPP6KKKg8wKKKKACvmT9pf_goTH8FvGereG7Tw3e65LHELOA20uyf7YxdAAroVcFtgVRksSeQvI-m6-Qv-Cg-jXkfxU8Mx6bY2NnDrFsWuNQa0tEInWUL5ktzKNyJGnlk_eUKM7WOBXHjqk6dPnj03P17wTyXKs34iWXZpS5-eD5HzNcso2lzWTV9E1b8Gdx42-Gfwr0Hx4n_AAiWhaBcapr2hR-IIrhzHdYW9nYBoGYK4j8uOUIYv3cbH585Aec_tU6f8Go9P8OXug3etNrNjc77nfM8lrapL5UNt5LfIIxIYh-8-UuxUqHZQvz3-zx-zND8RfGWi_ETwj8R0Fno95Po5iS2Z1SIP5httrrmKEB4yqBSAP3mS0jCvddW0nRzqP2rxN5Fhc2tpbsk803-h2kkgikkkRgY0lMbm5Uu6sGMkTZjIQqR55U06fuydmk-i69_6Z_TVRYOhmU45g5VqUbxk4vWT0st-m13pozyr4C-Mf8AhpX4l-OLrXmvdHk8QXe6byH8j-yxcX0MlvHvdGDYktZI12sWZ43VC_zuPYv2Svg5oNno-n2useKbZ9PF5PqVp9n82C2gmkjaVs2u3eYY5B58ZjYLJLa2rkcsW85X4m3H7Kvifw_qWheJtNutP1q6icaZDdi8a3iQSSRxmW3MjLbqtwxjMeGjMwKAq9anjH9ijxl-0ZoN_wCNPDfia71O1_s-1u7bw5o2nsJNbdpvIuLZrfosS5ZZSzyAbp8CQI-85qUqzcvjir3V-q_rQqOHx9PLoxg_9nxEknzWumpLV9VtbfWzPcP20Pgz4--EWn6XrPh241DUrfwbHNbXX2aA21lJZ7TIkpUS7ZlFtMQVkkfDJg7Rv2QRfDnwT-3r-z5-0h8dvjjomm-D9U8KyaVo2m6vZaRPpd54fuxOxLTRSPJvcfbbaCaKTdlRtwCokfkrWP8AaS0b9ka-8N6b4F8aXXjDU7ktoS3LSXt3cLJsa4lbeDLHt2yEiRzuaYKG27VTY8L_APBRbxF-0n_wTh-InwV1P4T2-l_FjWis-oavd2S3WnarPp9zZG4utYEy7_t8y2hVHZCHkiI_dtEaxlU9o4TndaP3X1f9djuVFZVRxOHTj7soXrxaThFyim9bq2ys1u-1zc_Z5-KHhHx14QXT_B99NqGm6KPs_wBoNs0UcrZyxUkAN94MQBwJFOMEV6FXgf8AwT1-FuteAPhFdXniNYRq-sXjSZt7Y2sDwKMRukOFEYbJOCisBhSMKAPfK6sJKTpLmVu1u3Q_jfxSwOAwfEuJw-AqTqJP35TcW3VavUd4pK3M387gzbVJ9K-rdb8HfDX9mzwZ8K7HWPh83jzVfH9stze3Znf7SpcQDZbRjhm3XCqiAqTtGWLNur5Sr2b4bft1eMvhx4N0fRPsPhjXIPD3GlXGrWLT3OnLjaqxurrgKvyjjIXjOAK6otLc8Hh_HYTDyqfWbJyS5ZOKmlaSb916arS_Q7T4Y_CXwF4Y-GHxP-JWqeFNW1bTfDWqf2dpPh7WnNvNagi3ObgAnnNyoG7dhI93LNmuq8P_AA6-F2uWvwn-IDeDbHSdF8eahJ4c1DRZ3aa3infzVguIs4wfOtwm4ABo58kZ6-G_D79sbxv4B8U-JNUa5sNdHi5zLq1nqtt59rdPt2htilduEwmFIUoFUghV25vxw_aX8TfHv-y4tTbT9L0_Q1_4l1hpMBtre0bAG9RkncAAAc4UZAAyc1zRse5Tz7K6WHThTTa-y4R1lz83M5dnH3eXbptqereNv2fdD_Z5-CHxn1rxBpNteX0esPoXhIXaEtCrIXjuIz3YRz7j72p716pd_s0eAU_bP8O-HV8K6SNDvPBs-oTWYQ-W9wLlFEh5-8FJGfQ18w_tGftY-Kv2ndD0vTvEEel29rpbSSKljE8YnkdAnmOGdhuVdwGMAeY3ByMdDL-3r4wm-MFh42Om-Gxq2naRJosUQgm-zmF5FkLEebu35UDO4DHanzROijnWSU6zhCC9nFws3BXa5pSnf70rdUjtfFHwp8JftBfsza_4n8I-CIfCvijwv4jXRIrXT7gyx6oWlt0C4IA-YXC44BDpjO0muA-CvwW0Pwt8ZdP0T4sWWv6Te3l1p0el6MkI3aqbm6aAGVxkJArKN3zKzDcBkjBqfFH9szxd8TfCNvoMVvofhXSYLtb5oPD9q9l50yuHV2beTlXAcbcfMATkgY4LTfiLrFp470XxHdX11rGp6HeW15bvqNxJc5MEwmSNizbtm8HKgj7zYwTmk5Rvc8nH5plksXSrU4czioqT5VGEt7twXWzXZXWqfX6J0D4LeBpv23fiN4futL0lrXRrEy-HtCuLn7JZ310LeBhGWz6sx28_eZsEJxzf7ZHwR0zwH8PPAfia10PTfC-ra4k1prGlafd_abOK4jxzG2WAIIdWAYgHA5IJPDW37UXiC0-OurfED7DoM2p65H5V7ZT2ZmsZU8uNNuxmLD_VIchs5zztJWsv4vfHTV_jKujW15a6RpOk-HbY2mmaXpNt9ms7JDt3bVyTk7VHJwAowBzkclY0xebZZPA16MIe_KcnH3UtHNNO9rq0bqyaXS3U9U0b4J6D4l_Yb8J6tFp9ja-Jtd8Wx6O2qmMtKkcl5JCM8jKqNvHGQuM1P4i_4J3t4di8RtL8TPCK_wDCJtDJqwmt5Iv7Pt5EWTzZfnbY23eVj53hV-Zd2F810P8Aaa17QPhLofg2Gz0htL8P61FrtvK8Un2h545zOFchwpQscEBQcdx1q14p_aw8ReLz8RmubHRU_wCFnR2sWqeXFKPIFvCIU8nMh2kqoJ3buemOlF49So47Ip0oe3p3koRWl1qoSvta95cqu-judo__AAT41Rfipq3hdfF2ij-z_D8fiKDUHtXW3uYnkeMK_wA58rDRsS4Ljbg47DS07_gnDNrF9o0dn8SfC1xB4m046hosgtJA-pqFDtsTf_qwjxtvDE_P9zjJ4-4_bg8WXPii91ZtN8O_aL7w2nheRBBNsFsryOHA83PmZlbknbwPl9YPDf7aPijwvceAZLfT_D7t8OdMk0rTfMhl_fxPDFCzTYkG5tsSnK7RknjtT9w1jW4ZUrOm2r95bcy8-kW_uRL4c_Y8vte8FeANYbxBaWp8ea9LoKW5smc2EkZugXLeYPMGbY8AL9_rxztaR-wlJeWniK5vvHeiaPZ-G_Ev_CNz3F5ZOqSvth2yL-86s86IEPud2Kx_hv8Aty-Mvhh4LsdDsrLw3eWul6jJqNnLe2LTTWjSSNJIiNvAAPmSruxvCysAw4xk-I_2r_EXifw5rel3Fjoq2-veJE8UXDRxSh0uV8rCLmQgR_uV4IJ5PzdMJcljCFXh2NFScHKdtU-ZK_LbdPrLXpozs4P2Vbn4dQ_GrSdUk8N6lJ4K0iyvFv7mwlkkWOaO6cS222VfKcBPmDCQEouOBluj-L37HvgeHWvhb4e0HxZb6PfeKrPH2ifTp5zqjPGZFumLSKsasyrGsXUGZeODXmnij9snxP4tvvH1xc6foKN8RdNttK1IRwygQRQJMiGHMh2sRM2S24ZAwBzl7_tDzfF-PwXofiy70vwzb-EBF9j8TWGkyXGqW32eM-UpAf5lZ1QkKANwVsYFO8djqWOyNweHp01K-i5rrT2rdua6teDXvN6dXYzfid-zTffCX4Yx-ItY1SGO6uNeu9DttMFsfMnFtJLHJch9_Ee6I4G0_eTn5q779kDwh8O_Ffw51aPVR4Qn8dtqKLaQeKZpYbKS0whIjKkDzD-9GRuYEDKlcZ5_9uT9o2x_aL-KdnPorXDeH9DtDb2ZmiMRmlkbfNKFPK7sRrg8_uge9c_8Lv2odc-GXgC68KyaT4Y8T-G7i6F4NP12wN3DBKCCWQBl6sAcHIByRgk5WikcVPEZXg83fs7SpRTim1zJu2st9Nb2aTSVnY9C8c_sb3nib44-LLYWOl_DPw74b0mLWtQke9fVLW3hfzQskGFR2VzBMdrBdpif_ZU8r4V_ZGPxJ-Kml-HfCPjfwx4ms77T21O51K33RnS4UMav59uSXSTdIgVCQSSc7NrENh_bf8cH4naz4mu20fUjr9gul32l3VoZNNmtVLlIvL3bsKZZTyxJ8185DYqGL9szxZpfxC0PxBpFj4Z0D-wLN9Ot9O07TRDZSWzlC8Ui7i7KTHGfvjaUBXBzkvA1rYnh-pP2nLLWbb0s3Hm6Waily9LXvtbpr2v7FMniC-8C3Gg-NNI17wz48vptMtdZgsZI_s9xFFcSlWgZgxBFtKAwYcqcgDG6_pX7BVz4i-IesaDpfjbR9Uj8M2zT65eWunyzf2dJvkRLZYkZnmmbypCUXBXbj5iVB56f9tHxMviDwjdWOk-FdG0zwVcS3mm6Lp1i1vp3nyRyxtI6B9xbbNJjDAAuxwcnON4A_ae8R_Dj4geLNfsoNHuF8by3Eusabd27S2N150skpXbuDYUyyAfMflYg7s07wJWI4eU4p0205a25lZcq-FXbs533bla_W1pP2jf2Z9U_Zzu9Ea6vo9U03xFbNcWV0LSS0kymzfHJBJ88bL5icMcnJ4BBA83rrPi58Yb74w6tZ3F1puhaPb6fD5FtZ6RZC1t4wcZYjJZmO1RlmPCjAHOeTqJWvofNZpLCyxUngk1T6X9NfO172vrawUUUVJwBXoH7NH_JQLj_ALB0n_oyKvP69A_Zo_5KBcf9g6T_ANGRVdP4kenk_wDvtP1_zPP6KKKg8wKKKKACvJv2x_2arj9p_wCEk2iafrEeh6xDvezupozJCWZcFJAOdjYGWAJXGQD0PrNFTOCkuWWx6mTZzjMqxkMwwE-SrB3TXS6ae_dNpn51_A-Hxt-z1-0XP8Lfhn4YvPGkmveLATp0WX1P7Lb7xNiMghWeFY2aYlUXbGcYfj3343-II_jeNA8H-G7vw3p-vWd3Dda7ZapqTWN0IVtn8kRoI2Yx-e_XO_fFGAhD7l9z1v4VaTrHjuw8V28c2leMdHtLu00vXrCVre_037TA0EjxyKQd4RmCsclckjB5r4bttZ-1_tA2_gnTfCen-PdfF7dS6xB4geWzvNTaCczGaGfeHgMsiNsKuWUHnCsM-XXlUptU5XcZXTtv3_4B_Z3APF2U8RQq5hRtRxGFhCclU2k0rSle9uW65tbW7bnp2nReF_gboGi6t4g8VWPhS40yax-2zW2lvdWmrGBZI4IY1aRfs0m13YuBOW8yQMCix7fTP2g9J-P3wL-Gvjrxdo_xeTQvDOhf2daXaR7d2v3YJe2eGSZSZDHLcRg8MF8jByT8nnfib9oK4_bw8K6PoGl2eh-A_DPw3eXX9dkv3knQzW8EsMEyGCMzPFbJJMuznPnl1LMoWuq8bftT6_8AEH_gl5b3Oka99sbT4xptjJb6BYwwtILyJUzE0UiKFVAGdSMnduYnOc_rEZfu4p25dHZbrq33X49tj6jHRo0508RmFSLqSrwUqau7e0-BWu0lLfW-nXVn1F4H_at-IH7Sf7ImueMfC-ta14b8c6e48OXviOey3aZ5rxSi3u7UYEczL5pkdEC7JYliZmWMO3wH-xZ4k-KHwL1zTPCWvyabqlrba7LoGoW1ppS25-WRVS7SZVVphmR3aRxkpsHAXI9MH7aX7S37WfjL4e2PiLxZY-YtiZXtk0iBdP0yKJoluHkCAb5ZI1RQAxAckrtwQPpWdVnuFkYbnjTy0ZuWVMk7c-nJ_OqouWIgpUnZxau310s_TsfnfiRxFhuGMxxOVZxQjWoYqheFKEv4c3JuDk2k7bOPVPZaXa96KKK9g_jkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr0D9mj_koFx_2DpP_AEZFXn9egfs0f8lAuP8AsHSf-jIqun8SPTyf_fafr_mef0UUVB5gUUUUAFFFFABWfqnhTTNamklutPs57iaBrV52hXzvKZWVkD43AEMw4P8AEa0KKDSjWqUpc1KTi-6bX5Hj_gL9hr4f_DXTfE1npNnqcNr4stfsOoRvfMwaHIIRT1UDaB15Gc5ya6D4F_s2eHf2fNP1O30NtQmXV5I5Ln7VPvTMa7U2xgBEwP7qgnAJJIzXoFFYxw9OLvFH02M43z7F4ephcVipzhUcXJN35nBJRb66WVteiGJEkOWVFUt1wMZp9FFbJJbHzNSrOpLnqNt93qwooooMwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvQP2aP8AkoFx_wBg6T_0ZFXn9egfs0f8lAuP-wdJ_wCjIqun8SPTyf8A32n6_wCZ5_RRRUHmBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFegfs0f8AJQLj_sHSf-jIq8_r0D9mj_koFx_2DpP_AEZFV0_iR6eT_wC-0_X_ADPP6KKKg8wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr0D9mj_koFx_2DpP8A0ZFXn9egfs0f8lAuP-wdJ_6Miq6fxI9PJ_8Afafr_mef0UUVB5gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXoH7NH_JQLj_sHSf8AoyKvP69A_Zo_5KBcf9g6T_0ZFV0_iR6eT_77T9f8z__Z","issuerCard_700.jpg":"_9j_4AAQSkZJRgABAQEAeAB4AAD_4QBaRXhpZgAATU0AKgAAAAgABQMBAAUAAAABAAAASgMDAAEAAAABAAAAAFEQAAEAAAABAQAAAFERAAQAAAABAAASdFESAAQAAAABAAASdAAAAAAAAYagAACxj__bAEMAAgEBAgEBAgICAgICAgIDBQMDAwMDBgQEAwUHBgcHBwYHBwgJCwkICAoIBwcKDQoKCwwMDAwHCQ4PDQwOCwwMDP_bAEMBAgICAwMDBgMDBgwIBwgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP_AABEIAZ0CvAMBIgACEQEDEQH_xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv_xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5-jp6vHy8_T19vf4-fr_xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv_xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4-Tl5ufo6ery8_T19vf4-fr_2gAMAwEAAhEDEQA_APrz_hvP4wf9Dxd_-C6y_wDjFH_Defxg_wCh4u__AAXWX_xivI6K5eZn8s_29mf_AEE1P_A5f5nrn_Defxg_6Hi7_wDBdZf_ABij_hvP4wf9Dxd_-C6y_wDjFeR0UczD-3sz_wCgmp_4HL_M9c_4bz-MH_Q8Xf8A4LrL_wCMUf8ADefxg_6Hi7_8F1l_8YryOijmYf29mf8A0E1P_A5f5nrn_Defxg_6Hi7_APBdZf8Axij_AIbz-MH_AEPF3_4LrL_4xXkdFHMw_t7M_wDoJqf-By_zPXP-G8_jB_0PF3_4LrL_AOMUf8N5_GD_AKHi7_8ABdZf_GK8joo5mH9vZn_0E1P_AAOX-Z65_wAN5_GD_oeLv_wXWX_xij_hvP4wf9Dxd_8Agusv_jFeR0UczD-3sz_6Can_AIHL_M9c_wCG8_jB_wBDxd_-C6y_-MUf8N5_GD_oeLv_AMF1l_8AGK8joo5mH9vZn_0E1P8AwOX-Z65_w3n8YP8AoeLv_wAF1l_8Yo_4bz-MH_Q8Xf8A4LrL_wCMV5HRRzMP7ezP_oJqf-By_wAz1z_hvP4wf9Dxd_8Agusv_jFH_Defxg_6Hi7_APBdZf8AxivI6KOZh_b2Z_8AQTU_8Dl_meuf8N5_GD_oeLv_AMF1l_8AGKP-G8_jB_0PF3_4LrL_AOMV5HRRzMP7ezP_AKCan_gcv8z1z_hvP4wf9Dxd_wDgusv_AIxR_wAN5_GD_oeLv_wXWX_xivI6KOZh_b2Z_wDQTU_8Dl_meuf8N5_GD_oeLv8A8F1l_wDGKP8AhvP4wf8AQ8Xf_gusv_jFeR0UczD-3sz_AOgmp_4HL_M9c_4bz-MH_Q8Xf_gusv8A4xR_w3n8YP8AoeLv_wAF1l_8YryOijmYf29mf_QTU_8AA5f5nrn_AA3n8YP-h4u__BdZf_GKP-G8_jB_0PF3_wCC6y_-MV5HRRzMP7ezP_oJqf8Agcv8z1z_AIbz-MH_AEPF3_4LrL_4xR_w3n8YP-h4u_8AwXWX_wAYryOijmYf29mf_QTU_wDA5f5nrn_Defxg_wCh4u__AAXWX_xij_hvP4wf9Dxd_wDgusv_AIxXkdFHMw_t7M_-gmp_4HL_ADPXP-G8_jB_0PF3_wCC6y_-MUf8N5_GD_oeLv8A8F1l_wDGK8joo5mH9vZn_wBBNT_wOX-Z65_w3n8YP-h4u_8AwXWX_wAYo_4bz-MH_Q8Xf_gusv8A4xXkdFHMw_t7M_8AoJqf-By_zPXP-G8_jB_0PF3_AOC6y_8AjFH_AA3n8YP-h4u__BdZf_GK8joo5mH9vZn_ANBNT_wOX-Z65_w3n8YP-h4u_wDwXWX_AMYo_wCG8_jB_wBDxd_-C6y_-MV5HRRzMP7ezP8A6Can_gcv8z1z_hvP4wf9Dxd_-C6y_wDjFH_Defxg_wCh4u__AAXWX_xivI6KOZh_b2Z_9BNT_wADl_meuf8ADefxg_6Hi7_8F1l_8Yo_4bz-MH_Q8Xf_AILrL_4xXkdFHMw_t7M_-gmp_wCBy_zPXP8AhvP4wf8AQ8Xf_gusv_jFH_Defxg_6Hi7_wDBdZf_ABivI6KOZh_b2Z_9BNT_AMDl_meuf8N5_GD_AKHi7_8ABdZf_GKP-G8_jB_0PF3_AOC6y_8AjFeR0UczD-3sz_6Can_gcv8AM9c_4bz-MH_Q8Xf_AILrL_4xR_w3n8YP-h4u_wDwXWX_AMYryOijmYf29mf_AEE1P_A5f5nrn_Defxg_6Hi7_wDBdZf_ABij_hvP4wf9Dxd_-C6y_wDjFeR0UczD-3sz_wCgmp_4HL_M9c_4bz-MH_Q8Xf8A4LrL_wCMUf8ADefxg_6Hi7_8F1l_8YryOijmYf29mf8A0E1P_A5f5nrn_Defxg_6Hi7_APBdZf8Axij_AIbz-MH_AEPF3_4LrL_4xXkdFHMw_t7M_wDoJqf-By_zPXP-G8_jB_0PF3_4LrL_AOMUf8N5_GD_AKHi7_8ABdZf_GK8joo5mH9vZn_0E1P_AAOX-Z65_wAN5_GD_oeLv_wXWX_xij_hvP4wf9Dxd_8Agusv_jFeR0UczD-3sz_6Can_AIHL_M9c_wCG8_jB_wBDxd_-C6y_-MUf8N5_GD_oeLv_AMF1l_8AGK8joo5mH9vZn_0E1P8AwOX-Z65_w3n8YP8AoeLv_wAF1l_8Yo_4bz-MH_Q8Xf8A4LrL_wCMV5HRRzMP7ezP_oJqf-By_wAz1z_hvP4wf9Dxd_8Agusv_jFH_Defxg_6Hi7_APBdZf8AxivI6KOZh_b2Z_8AQTU_8Dl_meuf8N5_GD_oeLv_AMF1l_8AGKP-G8_jB_0PF3_4LrL_AOMV5HRRzMP7ezP_AKCan_gcv8z1z_hvP4wf9Dxd_wDgusv_AIxR_wAN5_GD_oeLv_wXWX_xivI6KOZh_b2Z_wDQTU_8Dl_meuf8N5_GD_oeLv8A8F1l_wDGKP8AhvP4wf8AQ8Xf_gusv_jFeR0UczD-3sz_AOgmp_4HL_M9c_4bz-MH_Q8Xf_gusv8A4xR_w3n8YP8AoeLv_wAF1l_8YryOijmYf29mf_QTU_8AA5f5nrn_AA3n8YP-h4u__BdZf_GKP-G8_jB_0PF3_wCC6y_-MV5HRRzMP7ezP_oJqf8Agcv8z1z_AIbz-MH_AEPF3_4LrL_4xR_w3n8YP-h4u_8AwXWX_wAYryOijmYf29mf_QTU_wDA5f5nrn_Defxg_wCh4u__AAXWX_xij_hvP4wf9Dxd_wDgusv_AIxXkdFHMw_t7M_-gmp_4HL_ADPXP-G8_jB_0PF3_wCC6y_-MUf8N5_GD_oeLv8A8F1l_wDGK8joo5mH9vZn_wBBNT_wOX-Z65_w3n8YP-h4u_8AwXWX_wAYo_4bz-MH_Q8Xf_gusv8A4xXkdFHMw_t7M_8AoJqf-By_zPXP-G8_jB_0PF3_AOC6y_8AjFH_AA3n8YP-h4u__BdZf_GK8joo5mH9vZn_ANBNT_wOX-Z65_w3n8YP-h4u_wDwXWX_AMYr7D_4J1_F_wATfGn4Oa1qXinVpNYv7XXpbSKZ4IoSkQtrZwuI1Ufekc5Iz83XpX5wV99_8EnP-Tf_ABF_2M83_pHZ1VOTufZcB5rja-bRp1605R5ZaOUmtuzZ8CUUUVmfm4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV99_8ABJz_AJN_8Rf9jPN_6R2dfAlfff8AwSc_5N_8Rf8AYzzf-kdnWlP4j7rw7_5HMf8ADL8j4EooorM-FCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvvv_gk5_yb_wCIv-xnm_8ASOzr4Er77_4JOf8AJv8A4i_7Geb_ANI7OtKfxH3Xh3_yOY_4ZfkfAlFFFZnwoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV99_wDBJz_k3_xF_wBjPN_6R2dfAlfff_BJz_k3_wARf9jPN_6R2daU_iPuvDv_AJHMf8MvyPgSiiisz4UKKKKACiiigAooooAKKKKACiikd9iFvTmgBaK9wg_4J1fFe5gSRNF00rIoZT_akPIPI707_h3H8Ws_8gTTf_BpD_jVcr7Htf6t5r_0DT_8Bf8AkeG0VoeLvC174G8U6houpRpDqGl3D21yiOHVZFOCAw4P1FZ9SePOMoScZKzWjCiiigkKKKKACiit7w18Mtd8X-GNa1rT9Plm0nw9F51_dEhY4B2GT1Y9gOaDSnTnUfLBNvV6a7av7lqYNFFFBmFFFSWlpNqF3Fb28Uk9xO4jjjjUs8jHoABySaA30RHRXsGk_sH_ABQ1TTIbptCtdPW4GUjvtQhtpT9UZsiuN-K_wK8WfBDUI7fxNo1xpvnnEM2RJBMcZIWRcqT7Zp8rPQr5TjqNP2tajKMe7i0tfOxyNFFFI88KKKKACiiigAooooAKKK6L4WfCvWvjN4xi0Hw_bw3WpTRPMscsywqVQZb5m4oNKNGdWap003J6JLVt-RztFOnha2nkjfh42KMAc4IODXVfCP4I-I_jlql9Z-G7WC6uNNtvtdwJbhIQsecZBY889qCqOHqVqipUouUnskrv7jk6KbHIJY1ZfusMiusf4LeIo_hCvjo2sH_CNtdfYxP9oXzPN3bceXnd170CpUalW_s4t8qu7a2S3b8vM5WiiigyCiiigAoooZtq59KACiun-Ivwe8QfCuLQ21q1jhHiOzW_sBFMsplibGCQvQ_MODzzVX4hfDTXPhTrVvpviCwk03ULi1jvRbyMDIkblgu4D7rfKeDyKDoqYSvT5ueDXLa909L6q_a627mFRRSxo0siqv3nIUfU8UHOJRXRfFT4U638F_GMug-ILeG11KGJJmjimWZQr5KncvHbpVz4OfAvxL8etbu9P8M2lveXVjALiZZblIAqFtuQWPPJ6UeR1RwWIlX-rKD9pe3LZ3uult7nI0V7l_w7k-LX_QE03_waQ_41zvxS_Y38f_BnwZceIPEGmWVrpdtJHHJJHfxSsGdgi4VTk8kVXKzsq5DmVKDqVMPNRSu24tJJdXoeX0UUVJ5IUUVueD_hvrfj2w1q70nT5Lq18O2T6hqMwIWO0hRHclie5CPgdSVIFBpTpzqS5KabfZamHRRXX_Dj4FeJfix4d17VdDtLe4svDcJuL95LlImjQKz5AY5b5VPSgqhh6tafs6MXJ9krvTV_gchRQrblz60UGIUUV03w4-EOvfFiHWpNDt4bhfD9i2o3pknWLy4VzkjP3jweBQaUaNSrNU6Sbb6LV9zmaKFbcufWigzCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvvv_AIJOf8m_-Iv-xnm_9I7OvgSvvv8A4JOf8m_-Iv8AsZ5v_SOzrSn8R914d_8AI5j_AIZfkfAlFFFZnwoUUUUAFFFFABRRRQAUUUUAFBGRRRQB2Hwc8Rak_wAYfB6tqWosja7YKVN1IVI-0xjGM9Pau8_bx1jUo_2xfGVva3morumsUihhuHXLNYWuAqg9ST-Zrzf4Nf8AJZPB3_Ye0_8A9KY69U_a51K10f8A4KEa1d3yJJZ2uq6VLMHbauwWdoSSewHX8Kr7J9Lh5OWTyTla9aCv29yZe8Qfsy_D34J6Zpq_Fbxp4jj8UaxCLxtN0K3WVrNG7yvIj7jnPPykkHAOCa5D9oj9m21-FvhXSfF3hfXP-Em8Ea8fLtb14_Lnt5cE-VKuAMkK3OFPykEDHPQ_8FItEvNM_acvtUuI2_s3XLO2n0-4zmK4jSFEbaenDA5HXBB6MM7HiGwm8G_8EyLG31aCS3uNc8Q_adOikUbzGSzeYATkKVVuevzDsap21R6eMweGlWxeCVFRVGMnGXvc14tJOTbs-e_Zbqxe-I37JXwn-CunaDf-LPGPi61t_ENnFJb21nFDPcCQqGkkYiEgRLuAAwWOepNcf8M_2Y_DOq_D7UPiB4w8Tal4e8Ai-ltNJ8q2V9S1UK7IDtwyqcrtwFbLK_3QAT1X_BST_j6-GP8A2LY_nHTPjZbnxf8A8E8PhbqOk27SWPh-7kg1IR4P2WUebEzuB03Sc5_6ag9DRpc6sZhcHHG4mnChG1CHMl73vN8l3LXVR5m7K33XMTVP2XvB_wATfhtrHiD4TeJta1q68NoJtT0bWbdI7zyiCd8ZREB4ViBghsEbgwwXfCT9lDwr45_Znj-IWueKr7w7b2epSR6nIY1mhFqhKhYYwm8zu5jUZYj5idrHAOp_wTb0640_xZ458TXH7jw7pfhq4try7kO2ESu8cirk8EhInJ_ugjONwy7SQyf8EqWU5H_FQ4I_7aiiy3M8Hg8HVorHVKKu6VWTjrytwceWS1uk7tOzto7WM26_Zk-H_wATPhV4i8QfDPxV4ivtQ8KQm6v9P1u3jjaSEAkshVEx8qsc_N0wcE16J-y1Z-A5v2GvHQvr7xRHZzop8SNFHF5ltJgY-y5Ugrt2n59xyT9B57-wsP8AilPjL_2J83_oMtXP2bL-F_2EvjRbh_30KwyuuD8qsoCnPTko35fShdzfKZ0IzpYuFKMXUpVrrXlvFS1Sb0ulZ67X2Oa-E_7M3h_x3o_ibxprPiLUPDfww0G7a3t76e3V9Q1HkBUVQCob5kBIVss20LnJXZ079lzwF8b_AAzqzfCfxV4g1HxJo0Jum0bXoI4pL2IcHymREAJ6DORkqG2A7heu7Kbxl_wS-01dIZp28LeJpbnWYocsyRFpyCwHOAJ4HJPAVcngZqr_AMEyNEvL39o5tWhDJpej6XcG-uCMRIH2hUZugJI3fSMmiyukc2GweFeJwuBdBSVaMZSlrzJzvdxd7JQ2tZ7O9z54R96Bh3GeRX0h-whpNh4I8J_ED4oaharcy-DbHy9OEibo1mdWJbHXcMIPo578jwDxfqlvrnjDWL60O60vr-4uIDt25jeVmXjt8pHHavoL9he9tfiF8PfiN8L57mO3vvFVj9o03ewVZJUUhlz1z9w9OArGpjuePwxGKzOKVm0pcvZz5Xyf-TWt52PBvGfxJ17x_wCILjV9a1a-vL66fzJHedtqnsFGcKAMAAdhXbaf-1Xez_s66t8O9asx4gt7yZJtNvbm9PmaSVIb5RtJfkHHzDhmHIJFc94U1vU_2cvi5Dcav4ftZ9U0UyRzaZrFufJffGyZZSBkfNuU9DgEV9SeAvHN58eP2Y_itrWsfDfwz4e0-x8M3cmkahaaYIvtUv2a4LlGYZOzamGXjJPORwRNslw9avUqxVdxqtTUouLlePLeXM3or6rXVO3Wx4d8Hv2bNG1b4YTePviB4iufC_g9Zza2i2lv5t7qUvT92CGAXORna2cHoATWrq_7M3g34j_DTWPEXwp8UazrM_htPO1LSNZgSO7EWMmSMoig4AJ6EHGMg8H0qH4g_wDCI_8ABP7wHq9t4V0HxlY6TcT2-pR36vIums0sm1iE6csoJbgbl9a534SftH-KPFOleJLnwT8H_B_2e106SPV7q0ZoFit2BJVmd1DcAnYCWO0nHFVZbHsRy_LacaWFqJNzpqTtGo5tyje8WvdtF9LNWTvqc_8ABT9k7wr8Rv2aLrx9rvijUfDqadqMkV3KESa3S2TbnZGE8xpW3bRhsZI-U9DJ_wAMxfD34r_DHxNrHwx8V-JL7V_CVsb2707W7VFNzCAx_dlI0KlgjbT82SApC53DU0Jlf_glZrxVQqt4ljIA6Afabeof-Cef_IO-LX_YrN_KajTYmhhcHKthcE6MbVaXNKXvc17Saa1srOK6a9Th_gJ-zhY_EPwXqvjTxZr58L-B9FcQy3UcPm3F5Kf-WcQwRkZHOGPONvcdNafszfD_AONHhfVpvhT4s8Qahr-iQG7m0jXbdEku4hnJiaNEGfT73JAOMiu8-D_jSPRv-Cdcd7p_hfSfFzaDq7vqVjfRl0hXkmcqpz8oZeT2yegzWN8Bf2mvE_ijxVcSfD74O-DZtTsrdnnls2a38mI8Hc7uqjPoTk9hRZDw-X5bThh6FaKl7WCk7RqSm3K_wOOnu7Ws9nfc5H9m79lnw98ZPgv4o8U67r-o-Hv-EZv1SeRQjQR2qpHJMWQoXMm0uFwwAO3IPINTQfgJ4F-NXxb0nw_8PfFGtQ6dJZy3mq3_AIhgjQ2aoyriNVEe9mLLx2DZzwQO6_Z8lef9g_43SSKsckl7KzqpyFJiiJA9h0rhP2JP2fNG-PXxB1VvESzXGjeGrH7fNZw8SXrkkImeu3hiQOSdo6E0W2RzQwNGSwWFpUIylVjeTbabtOXW-istbJu22tjf8L_B34AeNfGVv4b0_wCIHjn-1L-cWlpeTWkK2NxMx2oF_chsM2ACSAcjB5Fan7HHw2vPg7-3xc-F76aK4utFt7yEzRjasymFXRwP4dyMp25OCSMnGatfAL9oDQvGfxq8O6H4D-EfhrS_tl_FJPcXCvd3FpAjhpJgcYRlUHDHgMV74rrfBH_KWfxN_wBe7_8Apvt6emj8z1MDhcJKeFxdBQ5lXhG8FNRs03b33q1Za2W58bax_wAhm9_6-JP_AEM19L_8EtIHuviZ4yjjXdJJoBVRnGSZVAr5o1j_AJDN7_18Sf8AoZr6V_4JdMV-I_jQgkEeHjgjt-9Wop_EfM8J_wDI6o-r_JnCWv8AwT0-MUVtGreDxuVQD_xNrL0_67V6n8V_hbr3wc_4JvJoviSx_s7U4_ECStD58c2FaXKndGzLyPevl6y-IviNrOE_8JF4g-4P-YnP6f71fQ3iXU7zXP8Aglus15dXV5cN4iC-bcTNK5_enA3MSaqNtbHdlFTLnSxX1WE1L2M_ilFq2nRQi7_M5nwn-zF4T8HfCTSfGXxT8TatoNv4ky-j6VpNust9cRgA-YxZXUAgg4wAoZMtubaKvxT_AGZ_D7fCGT4gfDbxFfeJPDenyiDVbbUIVjv9NYkAMQqqGX5lyAowCGBZclew_wCChSN4k8G_CnxPp6tL4cutD-zQzID5cMpEb7Cf4WZRwDyfKb0NV_2XrG48L_sYfGzXNSeS30TVtOGn2PmIQk1yUkiyhPXc80KZHdfajS9joqYHCLGTytUVyxpuXtNea6p8_O3e3K3pa1rPvqYOgfs4-B_Avwf0HxZ8TPEniLTz4q3Ppun6Hao8gjXvI8iMuSOcfLwRyTnGF-0H8BPD_gP4eaL408E-JpfEXhjWi8IjvYxFfWkq7gd6gLlSVI-6pBA-8GBHpehfGHxP-zx8DvCVr458L-GvHXgXWYGl0p_NMk1oCN3lNIyFVYZPHJGCM8YrA_aA-F3w98a_svr8UvBOh6h4VkW-XTriwmOYZieGMZJO4An7wxnawwMUWVicVgMJLBzhQhHnjTUmnzxqKyTcr6xmnd6aaNWs0bvxW_Y8-F_wKj0nUvFXjTxNa6XrVhE1pZWsUU-o3Fzy0zAiLYsCK0IGVJ3Mct90Hzv9oD9nDS_Anw80jx14K1y48TeCdZkNuJrmIR3VjPg4SUAL12sM7VwRg9VJ7r_gpjoGpW3jDwNq8yyf2Lc-G4bOCTnYlwju8injAJSSIjnJCH-6ajjik8Gf8Eu9Ui1bzIJPFOvxNpEUqFWdVmikLKMfdKwytnoc-4odtUbZhg8JLE4vBRoKCpwc1JX5rpJq93a0r2St1VtdTN8cfBXwj8K_iD8KW1zW_GNxpPiLR4NSndZYp5rac7DHHCCgCw7yAQQSB3rtf-CkXhrwz4l-NtjZ2d3rX_CfahBZWsdvKI10oW7SSgOz7d4YEnPJAA6evM_tuXsWmTfBO6nby4LbwxZzSvgnYitEWOBzwAelbn7bfgCP4sft9-HvDMlx9lj1qwsreSQDcUQvOWwPXAIHuaO69DoxVOEMPisHRpxd6lFJdfeg-t9Nb2fS73OX8W_Aj4KfBrWl0Hxh4-8XX2vQIjXr6HZRfY7UsAwHzRyE4BB-VifYE4rkv2lP2d7f4DeJ_DtxpOrtrvhvxNCl7pt5JGI5SoZcq4HUgMpzgfexgEGvRPi18RPh9-zX8Sb3wf4Z-E-l6rq2htHareavI88l47KrA-WOu7cMH-Lg45xWr_wUeN22j_CU31nb6deNZytNawR-XHbMTbkoq_wgdMdsUNKzOfH5fg3hMS4Rgp0XG3Ip-7eSi1KUrKT36bq600OK_wCClP8AyddqX_YOtP8A0Fq8LtL-40-Rmt7i4t2YYLQytGSPQkEV7p_wUp_5Ou1L_sHWn_oLV4LUy3Pm-JW1m-Ja_nl-bPp39mbWbyf9iD41TSXl5JNCg8uRp2Z4_wB0OhJyPwryz9n74Ma3-0l4pvNPfXJtN0PSbb7dq2oXcrzQ2cIzj5SwDOSDgEgAKxz8uD6V-zD_AMmMfG7_AHB_6JFan_BPDVFk-Fnxc0uy0uz1vXZNOjuYNMuR8mpxiOZfKODkqWO0joPNX1qrXsj6TD4Wni6mX0K7fK6c21rraVR2011tbTXtqc74Y-AHwW-LuvN4a8G_ELxRH4muAy6fJq1kgsb6RQTtXbEjDIBxls45AbGDyPwV_ZYvPH_xV8SeH_EV8fDdv4KgmudclWIzSxpGSCIlAw2cZDcgrggNkCuw-G_7UN74k-IOm6f4Z-DfgmbxKLkG0igiljnilQ5ySzAJtxyWIC4OSK1fAHiH4q6h-0z8RPFulaT4e0_xFp1sj6_4emuTMs8SwouxFj3l2OwHhuGbHtRoZww-W4iVGoqfN77UvZwmouPK3Z8z1lFq7SabjftcxfDX7PPwj-NVvqen-AfHHiaLxFY2z3UMev20UdreKmMhWWNNucjqcjOdpANdn-w9png2H9nH4vR6leeIorxtGeLxQkCRMlrbKt8qNaHad0hj8wnduG4LgY6t-F3if4V_tueMv-EZ1T4cf8I34hvLZnj1HSnAjQxqzMWAC7AO2Q2ScHFYf7LWkR-FfhL-01pK3MV19g8PtAs0Zysoji1FdwI49Kcd7noZfSo08ZRxVCNOUZRqx5o8yTapt2cJaxaWjabTTfXU-e_GsWjW_izUE8OzajcaGsuLKW_VVuXjwOZAoC7s56Adq-kv2Bf-SE_Gj_sEP_6TTV8sq24cV9S_sDHHwJ-NH_YIf_0mmqIfEfOcJy5s2UrWup7bL3JbHyxD_ql-gr0r9nH4EWfxq1XWrjWPEFt4Z8O-GbQXupXjgPMUO4hI1JGSVjkJbnbtHynIFeYxXUflL-8XoO9e-fsj_BLwv4o-Hvjb4heLLCbXtN8Fw7odJhYr9pkEfmMzkc4xtAH-8TnAojqzzMjwqxGMhTcVJatptpWSbbbV3ZWu0tXst7mt8PP2fPgr8cPELeG_Cfjrxpa-JLiKRrH-1rKL7PcsiljhViRuACdpZWwDjoa1P-CfXge6l8YfFrwzdS29nff2FPpU0rHdFBKJJImYnjKhsnPGQK6j9i_42WPxJ-O1hpfhH4Y-GfD2j2cUt1fX0aNcXVonluq4lIwpdyo7EjfjvWT-yzpN1r3xn_aGsbGNpL28tNUgt0U4LyNdXCqAfckCrVtGfcZfhcK62ExVGMW3OpF8ilFSSheyUm3e7auku1ro5bwp-zf8HPiT4gk8J-GviL4jk8WbWitLm8skXS76ZQchMIG2kg4y_I-6W4z4N4s8L33gfxRqGjalD5GoaXcPbXCA7grqcHB7iu2_ZJ8L6lrX7THhGztbS4kutP1OOa5QIQ1skZ-dn_uhcc5q1-2lr1l4j_ai8YXGn7DbrdiAsnKu6IquQe-WB5qHtc-VxlOjXy1Y2NJU5KpyWjezXLfZt6xel_PU8voooqT5sKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr77_AOCTn_Jv_iL_ALGeb_0js6-BK--_-CTn_Jv_AIi_7Geb_wBI7OtKfxH3Xh3_AMjmP-GX5HwJRRRWZ8KFFFFABRRRQAUUUUAFFFFABRRRQBc8Pa5P4Y8Q6fqlr5f2rTLqK8h8xdyeZG4dcjuMqMj0rU-K3xK1L4y_EHU_E2tLaDUtWMRuBbRmOH93EkK4UliPljXPJ5z9K5-ig19vU9k6N_dbTt0uk0n62b-89c8Bftv-P_APhK30NbrSdc02zI-zR6xZfa2tgOgVtynA7bskVyHxj-OXij4967HqHibUmvJIFKW8MaeXb2ynqEQcDOBknJOBzXJUU-ZnXWzbG1aKw9WrJwVtG3bTb7unY7L4w_HfXvjlJora6NPB0Gz-w2v2WAxfu-PvZZsn5RyMfSrPwW_aT8XfAJrtPDuoRrZX53XNjdw-fazNjbuKEjDYwCVIyAAc4FcJRRd7mazHFLEfWlUftP5r67W39ND074rfte-N_jB4VXQdQutP03Q85ksdKtBaQz85G8ZJIB5xnGeoNYafHXXo_gi3w_A0_wD4R9rz7cT5B-0-Zu3ff3Yxntt_GuNoouyqmaYupN1alRuTXK239nt6eR1nwy-M-tfCSx8RW-kCx8vxRp7aZe_aITIRCwYHZhhtb5jyc_Sr3wR_aL8Tfs_PqQ8Pvp8lvrCJHd219a_aIZtmdpIyDkbmHXHJrhaKLsmjmGJpOEqc2nC_LZ7X3t69T0HwF-0_4w-GHj_VvEWg3lrps2uTNPe2MVuP7PmJJIHk5-ULuOMEEdM4yK1viN-2l47-Jfgy48PT3Gk6Ro97uF3b6RZC0F2rDDK53ElW7gY3Dg5HFeUUUczNo5xjo0nQjVkou91d213-_r3CptP1C40jUILu0nmtbq1cSwzQuUkicdGVhyCPUVDRSPNTad0e2ad_wUD-I1vpdva38nh3xAbX_Vz6rpSzTD33KyjPvjNc58Xf2uPH_wAbbBrLWtcePS3xvsLFPstvJjs4U5cezEjgccV5tRVczPVrZ5mNWm6VSvJxe6cnr69_md18Fv2kPF3wBnuv-Ed1CNLW-H-kWV1F59rMem4pkYbHGQRx1zW18TP2yvHPxT8Gt4eurjS9J0WY5mtNIshaJcDrtfkkqTyQCMnrmvK6KXMzKnm2NhQ-rQqyUNVa7tZ7r0fVdTsrX47a9Z_A-6-HqDT_APhHby8F9ITAftPmB0cYfdjGUHG3pnmm_Cb44678Fotej0UaeV8R2J0-8-0wGT90d33MMMN8x5Oe3FcfRSuzOOYYlThUU3zQXKn2Wui8tX952HwX-PHij4Aa1JfeGNSNoZ1CT28qebb3IHTeh6kdiMH3xXX-OP25PiB448J3eiefo2iafqGRcro9h9lecH7wZtzHDdDjBIryCinzM0o5tjaNH6vSqyjDXRN213-_qdn4N-PGveA_hR4h8F6eunf2L4mbde-bAWmB2KnyNuAXhR1BrP8AhV8WNe-CvjKHXvDl79i1CJDExZA8c8ZILRup-8pKg9jkAgg1zlFF2YrHYhOElN3h8Ovw6307au57Rr_7fXxG1qLbb3Gh6L5lwlxO-l6cLeS7KndtkYsSyk9QCMjIzg1hwftY-Krb48TfEaOHQ08SXNv9nlxaP9nkHlrFuKeZndsVRndj5RxXmdFPmZ11M8zCo1KdaTs01d7NXs12au_vH3E7XNxJK2N0rl2wOMk5P867H4KfHrX_AIA6vqV94f8A7P8AO1S0NlP9rgMq-XuDfKAy4OR15ri6Kk4MPiKtCoq1KTjJbNbjYoxFGqr0UACu0f4669J8EV-H5Gn_APCPrefbgfIP2nzN277-7GM9tv41xtFAUcRUpc3s21zJp26p7r0PSfhB-1l40-Cfhy40XSryxvdEuGLHTtTtRdW8ZJy2wZBUE8kA7c84ySTV-M_7TfjD482lnaa9fW6aZp7B4NPsYBb2qOAQH2ZJLAEgEk4BOMZOeAop8z2OqWbYx0Pqrqy5NuW7tbt6eWx6d8KP2u_Gvwe8JvoOn3Gm6jojPvSx1W0-1wwknJ2DIIGecZxnnArJ-OX7Svi748afDBr17brp9ghNtYWVuLe1hOCNwUEknHHJOB0xXD0Ucz2CWbY2VD6rKrLkta13a3b08tj7Y_bQ_aT8U_ArXfB1no7abcafqXh-OS4stRsxcwNIrjDhcghh0649ulfK_wAZ_jx4o-Pusw3nibUPtX2VCltbQp5Vtag4zsQdCcDJJJOBzgCuQZmc_MzN2GTnFJTlJs7s44hxWPqSvKUacre5zNpWXy667bnV_Ff4y6z8ZrTQYNaWw8vw7py6XaC2haPMKgAb8sctwORge1dP8Qv2xfG3xQ8O6fY6tNpLXOlywz2-qQ2Xl6ijxHKnzd2OTyQFAPNeW0UuZnn_ANqYtObVR-_ZS13tor-nTse5XP8AwUP-JN1bpuk8N_b44fJTUv7JU3ijBGQ5YqDyT93Ge1cL8Tf2hvE3xg8N-HdN8QT2t9_wjJkNpdtG32qTft3ea5Yhs7F7DpXD0U-Zm2IzrH14OnWrSkno022nqn-aX3HU_GP4wax8dfHU3iLXRZLqE8McDC0iMUW1AQuFLMc8-tctRRUnn1q1StUdWq7yk7tvqzsfBXx017wD8MvEnhHTxp_9k-Kxi-M0BaYfLt-RtwC8eoNY3gH4gaz8LvFdrrmgahNpuqWmQk0fdT95GB4ZT3U5HA7gGseii7NPrlf3Hzv3Ph121vp211PdL_8A4KJ_Eq7t7ryZPDenXl4nly31ppQS6PvuZmGR2yDXl3w9-LfiL4W-N_8AhItF1S4ttXZ3eadz5v2oudz-aGzv3EknPOTnOea5yinzM6sRnGOrTjUq1ZNx1Tu9H3XZ-Z7Vr37f3xF1nSr21t5PD-iyaiu25u9M0wQXUo75cs3PJ5xkZ4xXFfBT9oHxN8ANdvtQ8PXFru1SHyLyG8h-0Q3KgkgsMglgS2Dn-Juua4qijmYVM5x06sa86snKOzu9L727X69-preOfGFx8QPF1_rV3b2NrdajJ5skVlD5NuhwB8iZO0cevWuu-A_7UPin9nKPU18NjSSurFDP9ttmm-5kDbh1x1PrXndFK5z0cdiKNf6zSm4z1d1vrv8Afc-hf-HnPxP_AOefhP8A8Fj_APx2uE8HftZeNPAXxQ17xZpd5Z2-oeJpTLqVsbfdZ3J5IzGTkbdzYIbIyeSCa81oquZndW4gzKrKMqleTcXdO70e2ny0Pabj9vz4jNqWnz2txoelwafObn7FYacILW6cgj98obc45zjcOcHsK5vwf-1J4q8A-OfFfiLSP7LstU8YiT7c62zFYndzIzxAv8rb2Lclhk9K86oo5mZzzvHzkpyrSbi7rV6O1tO2mmh7Vqn7f_xI1LQrqzS60WxuL6IRXOo2enLDfTgDGWk3Ebsdwox2xXirMWYsxZmY5JJySe5J9aKKm7e5z4zMMVimniajlba7vbv9_XuFFFFBxhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfff_BJz_k3_AMRf9jPN_wCkdnXwJX33_wAEnP8Ak3_xF_2M83_pHZ1pT-I-68O_-RzH_DL8j4EooorM-FCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvvv8A4JOf8m_-Iv8AsZ5v_SOzr4Er77_4JOf8m_8AiL_sZ5v_AEjs60p_EfdeHf8AyOY_4ZfkfAlFFFZnwoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV99_8ABJz_AJN_8Rf9jPN_6R2dfAlfff8AwSc_5N_8Rf8AYzzf-kdnWlP4j7rw7_5HMf8ADL8j4EooorM-FCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvvv_gk5_yb_wCIv-xnm_8ASOzr4Er77_4JOf8AJv8A4i_7Geb_ANI7OtKfxH3Xh3_yOY_4ZfkfAlFFFZnwoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVwPxP_AGg_D_w7lurG41G3j1aGMyLbueoGCc49Ac1c-GHxu8P_ABE-D1n4sGoWtnC13PYziWXC745NgZSQOH6gc9-TXPLFUlP2bep9xh_DjiGtk7z2nh5exTS2fM7pNOMbXlHVaq52VMknSIZZlUe5xXzh-3j-0t4o-Fnwt0bWvh7NZXUd5qP2W6vBGJ47dQOSx6ADqenTr1z5XN8dr7W_h1pOtav4gm1KO-QiRBJ5YjXB_fZTGCeuOBz0rlx2ZRwyu4tn6J4Y-AeYcXUJYuWJhQhFtNNNzVrp3jolr0bufcgkUpuz8vXNCSLIoKkMD0I718H-LbX4u6l-w9qHjyHxFdaT8N9J1O0tDqhlSS4vxNESkO5myBt2nhcktzXTfsqfGHXtJbwzp8F9qmr2926QLbSgOscR25bcF6KCTzULNY-4pRa5j3sV9GfMYUMVVpY6lL2ClJbpSjGN9X9lvtqvM-zKKB0or1T-ZQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvvv_gk5_wAm_wDiL_sZ5v8A0js6-BK--_8Agk5_yb_4i_7Geb_0js60p_EfdeHf_I5j_hl-R8CUUUVmfChRRRQAUUUUAFFFFABRRRQAUUUE4oAKR13IRnbkdfSvEPix-3N4a-G_jWz0K1jOvXtxdpaziyuYpBZkuFPmAMSpGQcEdK774VfG_wAP_FK1VE1bStL1Rrqa3Om3t9DFeIkbY84xltwjI-YMRjHNc_1qlzcvMfoNTwr4rhgFmbwU_ZNJ3Vm7PW_KnzfgfHfx6_Zff4PeJ_EXjPW_HWiXWvXnnPpGn3AIlvVUBmV3c7VYKw4CPwB64HmV58QI4fgTGY9Tga90-LzGhD5SWYtl3Jx8m4ZAwpxziv1j-JX_AAS5-F_jjSo_EXjLVptWXVrc3N1JPdotrpkQQMwt3zhNwAUsewFfk9_wUo1n4Sp46t7X4MSsvKw6klleQXmnqFRUTBid_mZyVO4Dk9zxXgzwMsTUk4Ky6eep_c_CHFs8syjDYPMantKrh73uqKhotLK2q2vqfVPjL4Pab8Kv-Cd1voeqeJre30jxhps0kHiO1T7fYWcjp5jDdnLKOU3NtJJ4A6V8P_BT4R-JtTQeG_EWvSeE9DhsvNfUtSsytsnGUjVchnZ8428Ee9fq5-yF-xZq9v8A8EvPCsnxU1LRr-CG322vhNrNxKFMoKxlZSrlthJxt_TmvhP9rD4YL8IP2ltP0P8AtTWdU8O6tdRzaaurWgSys5ZIhK6eaGxcGLO1EOMHrR7arVotWT9m2no-nXU8vgfC5dhcxxEMDVnfFPnbla3NJ-8tErK1renqe96F8PvD_wALP-CRvjz4P6PdSfErxt421nTvEVjaWVn5SQwwQpGzqJpNu4eW-FTk7ulfO37FfjK_-AXxNto9Q0fVL6-8RTJZWGlqStxCjyqjNsb-5uJIGehr6Q_YT8M6n4q1TxBq7NasNEul0rStzuZPL275ZHQLhW2ugUAkA7_avTNJ8bfD218WXWqav4HXTdU8ExT6lHrV1aJBHP5Q3GKCRmAZ32_L7noa2w9SNSjTxOIve7UbarTyPU4vwuHhPFZLh1z06kf3nM-V3kkuWLTT7HR3njrSdO8WWOg3F_bW-samjyWllI22acJy20dyPTrXIftBftBWfwP8FTaqqWmozW86wS2xu1iZCSQc57jHTrXz3_wUb-NXh74ifE_4Xa54P_4SLR_EuoaXJcmK1kjE_kzE70YqzNGygE7lX8q4bxvp-leMfhN4usdc1W4vdRsCZnuG1AH_AExRgRn_AGy2TtI3VpjM2dKfLBXX5H5XwX9GXA4vD08fmFZtw1nTv7s9XZKUbSV1Zb3v1PqX9nr9rTT_AI5yeQ1iNLvJC_kw_aBN5qpt3NkAYHzAV68DmviH4ffA_wARfsk_sg-Cf2gNWW5uJtW8RS-HLbRvs0sE_kjcZJSjABslAAR7evH0t-zR8ff-GhPA8mstph0crcNCts8u-TaO7DAxW-Axzn7lb4unmj858bvCehktRZrw9RccGopVPecuSpflfxNys9OrSd9tj0iiiivVP5xCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvvv_AIJOf8m_-Iv-xnm_9I7OvgSvvv8A4JOf8m_-Iv8AsZ5v_SOzrSn8R914d_8AI5j_AIZfkfAlFFFZnwoUUUUAFFFFABRRRQAUUUUAFU9fsZNV0W6tYf8AX3UTQxYHV2BVR-JIFW2baua-Hv27P23NW0a21jQtHuDp9o8yWKXC2qTnfu5Y7vRlHHSufEYiNKN5dT9D8NuA8bxPmnscNJQhStOc5bRSfZbyfRddbtI8n8afswfGT4ZfHq4t_FXw78S6Oqk6ldT32ntFbQW6gjzWlI2KMDPJzkjvXhfxM-MSzWHiSLQ5P-JTbutppcu0758th1b25OPwr-jbwP8Att_DD9tv_gnpai61DUtRuNP0W20nWdEmQW01zcrGEJLx7cKWG7MZXjivgL9p7R_hzqP7J1h8OIfBN99j0-7MVrqlvqlx-5fJ5WN3bcBkj5s9K8uGBTqOo_h0tfu9z-55caYh0Pq8lKE03eyb02ulpp956L8BP2l7j9rD4F_DnSLO4bUtBm02xsri3Dn7QzwxiOZArHplSPcVD-1H8K_2Z_2ePA82vatF4X0_xxoWsPPoNv4bjjmabUFIMMN1AoO4MCVKsOuc461sfD34lX37L37N_h3WY7DUtX17wvbQ6Lo_h4pHHFI5UxCSSXltpQbjk8enavj34rfASyu_Btx4s8D-Pm1CDwPd33iLU9Hv9MVF024uF8uSRJgFabEkjhVxjgZBraGOxEqTpqnyO3y8mmeHl-XZS8zUsRiOZVJLlWyeuvPe_wAl1PoD9ln41-KPHzeMNY1PUob_AFy48k2Npdo0UNpEZgJsqMbQIyVVfugkYHNfMf8AwVB-LHjzTNc0LT_EFjaj4eQ-IzLoV9sL3FrIFyqFycoe34Yrov2NYJfE_wAV73wVpNx5PiybRVF6kZG5LYAMxy6sgZg3QDPPGK9y-LXwg07xJpk3wXtptQ1rxFqFkYdSikUJDYmaPcqKU2lihYDJbBxk-lGX4qMcOqddO8m162V3cnjfCyhnsquX2iqai2k0ktWtPM-cf-CXnxl-Jnxd-MT6d4fW_tfDen6mI_EMzW_-iyKiHMk0xzhwJARyOhPfn9JvCWp-G_iBo13HH4i0fxBZtP5F0LRS0cckauzLH8uWZo0J2rndsPFfAH7Bl34y_YQ-F3xYs_EUdrfeIlmTQtHs4WRoLaEIV88HAZ2XDZVyQQB05y_9ib9p_UvgX8Vta8OvHo-rQ-JEt7e4vLcPb3K31xP5NvHh90agtIdxCkANxgjNb4nHUcJWhh1pHr5X0VhZfwzi89wdbOMS26rb5OvM4pX9LI7H46_sLat4Z-N7eO_E2s3kfgLTteS4tbyJt13p1kxYjZHt4jdQwO4Y4x1r7p-Bvw5-HPxe-FWmyeE_Ctlq7aXBaXt3oGpWCsLyJArGQRsMsQO_qteW_HVrjUfhLeab4i1-O40_XIF0h9OjgRVvkmYI1qZFUPG55AcHg4zWV-wv4R1j4WePdSvtLuvFGsWPhvxTFpfh5tRtrOG18PWyghmPloJLlRFhQ0jE8A8kk1rPDUade0YNuS36HiVM8zGrgI0ZVVCFJ2sm0273u1-Fz5w_4Kafts3H7dH_AAUV8GaR4Ta-vNB0m1j0bSdIht2gT7U3zuWhbjmQgFiPup6Csb4O6l4t-BP7QK6f8QtZ0RdUuHMd-ltKjrBGwxEhK8Dpn2r9Af2qvgLovwu0HxL8ePh7paHxJ47ii8M3k89xO0dgEcQi7SN3K5KF0wwIywO3IzXwL40_4JjeJNZ-Md54o8H6XdaT4L0SFJ9W1K-vEuGV0jMs02wAHaqK2FXGa-fzLloY6N3ra6-R-qZFUwWd5BiMnkl7CpF05NtJxc09Ve6dt1pvY-uI3EiKykMrDII706uS-Ffxm8N_F-wmm8NTXklpZsIT9piEcnA67RxXW19NTqKcVOJ_mvxJkGKyTMq2V4xe_Tk097NdGr20a1XkFFFFaHhhSOSEbby2OBS0UAfWEH_BOTRvE_wJ_wCEw8PeLNUvprrSTqVnbzW0aJK3l7_LYjkcgj2rwX9m74Pv-0D8X9G8MpNNa2-oCSW5uYkDtbQpGzl8HjkhV57uK-uv-CWHxX_4Sf4X6z4Ou5N83hy48-2Vj961n3HbyedsokzjgCRBV39i39nJvhf-0N8T9UnhPl2V3_Z2mu64bypSLhyO2CDEOP7prXlTs0fqkOGsHj_7PxWEp8sKmlRJu146tattXtJfcfOn7Y_7Keh_svR6LBZ-ItQ1jUtWaRzBPDHGsUS4G_5eeWOK8Nr7Ch8D6f8Atz_tx-J_7VuJpfCvg2IWogimdPtQRym0EHKhpBISVIJCjB7j2q_-FXw-0T4hWvhqL4G2V5YMqxvra-H7OS1iJUEbnb963XBbBwc80uS-qOGtwesfXqYnBuNKhzckPildrRvS-jaerf4H5p0V9fftA_sh-HfhH-1B8M7rSNPhbwv4q1qK0u9LuF8-3hlV0JQB87o5FLHY2QCjdiAPbvjR8Nvgd8DrCz8ReJvB_hGxtVkNjBDFokLJO8pBJaFExIVCZDMDsG7GNxyezZw0eBcS3WVerGn7JpNu9rNJ3T7WfX00Pkb9m39mbwP8YPAUuqeJPiJZ-Fb5Lt4Fs5bi2jZkULh8SMG5ye2OKpfsv_sjt-0h8Qde0-PWPsOi-H5GSS8jRZZJ8uyx7Bnb8wUtnpivpz9j34c_Dv43eG_FWvS-AvBs9nN4iuUsEm0S3fybZQixqoZPlBA3bRwCxq5_wTr8TeH77wt4n0XS9Bt9M1Tw_qc8Wo3kVtFF9vD3Vy0A3J8zCOPCAN90DA4qlFaHvZdwtg6tTBxrKPLNTd05XqcqVr9F30tomt7HiPxH_Ya8B_D3xpoOjzfE2JZNQ1A2moLPJaxyabH9mmmEjgt8uWRFG7Gd_GTivMf2n_gn4X-C2q6TB4Y8YW3i6K_ikeeSGaCT7OykAA-UTjOe_pX0J8RtU8E_Fj_goD4Y8Nr4N0sT6XcahDr0l1p1u8Wtu9vG0TPwTJs2PgyDKluO9V_2u_2Y_DviT9pD4aeD_Dmj6J4Vt_ES3H2t9NsIrXckatK7EIoDMI42C57kUnHTQ5szyHD1cPiJYGlD3asacWnK93yKyvpu7O_W9tLHxjRX6ReKvgb8O_gjpel6fp3wXXxosnEk8ek21_NCueXkluDuJ6naCfYDgV5j-3Z-xd4d03wFD4t8G6TDoN9HcQxXVjAnlW0qSsqBvL-7GysRnaACCcgnmk6bR5mO4DxmHoTqqcZOmryilLbybSTt5fnofFdfUXw-_wCCfGl-NP2b7bx1J4m1S3uZ9Il1M2iW0ZjDIjNsyecfL1r2rxL8FvhH-x98AYdU8ReDdJ8SS24himnu9Phvbu9uXwDtMoIQE5OAQoA9eT32j6l4d1f9kS6uvCdubPw7P4eunsbcgjyEMUh2YJJGDkYzx9KqNPue9kvBNChVqQzGUZz9nzcibvF9H0v1R-WcT-ZGrf3gDTqZb_8AHvH_ALop9Yn5OFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV99_8EnP-Tf_ABF_2M83_pHZ18CV99_8EnP-Tf8AxF_2M83_AKR2daU_iPuvDv8A5HMf8MvyPgSiiisz4UKKKKACiiigAooooAKKKKAPNf2i_wBomy-BvhG8uo4Y9S1aFA8diZDGZAeMlgrY_EVj-Cf-CPHhv9s74AJ4k8C_HWzi8beOoDrUXhH7FZXc2nTMQZrcb7iN2CnJyQpr5N_bj-GHxQ8S_tI63DaaHreq6HeIJbe7tIXkhgQL8qMRzkHsqsfY1i_AH9nr4mfss32i_Eu8jk8M2fhyWLUrrVTfOlxDscARrFgPiRtqHOPvZNeLiJzdRupC8VtY_uTwyyfIcoyfDxyzGRjisTFOcnKN5Sa0pKLa0Telveve77esfDH_AIJMfEL9lL9tDSdE1_xg11_YsLazJaLcW1pLOEjdhCB9rkyvUkYY4BHHWub_AGmfi1qXhz41aZo-n660Nnp3l-ILK-QGRLOQoZPJVM7W2njJzu7jtXnvxp-NU3jD4tw6l4gnvbHXtc1VtUg065SSW-dXd_8AR4pwdiIxcj5j0PNS6L4v0P8AaO-JcekXtxa6VdaFdTajdRhVjvN5XyxZsHYfu1JAyu7HXBFc9StUrw9nST0d9NNtvU_YqOW08pr_AFrFV1JKKjJNX1bV0r3a0-Z9F6x_wUV8dfFnwP4d0ZfAunSa9fXrx6kI7wmQQIPmvAcDdI_yttBIUn7uOK8j_aa_aRa-kHw10XSdtt9phGo37yFmvZmxL9jJaMbcMrEsrgExgYHAruP2R_2StY0n41xeJNY167ax02OKxsbe4sZTaxtM2w7pY_MUOqpkngZHJWu2-K37MetSvrXibTbez1Lwz4f1GaaDX9UjSyheOOQedd-fKyiRUwuzAAywAdyyg-tRxU4U_ZVPenrotz8vzfL8DiMzTy-XsqMmvflorvrZ207dDz_9nHxbcfCTx5H4q8O6Tpza_q8K6fPeTxySiRHdQnmIjq-9SMgs3ylRkEHB-2PGfivS_DlxdL4d17T9K1XUrZRYyaXpZk1K0CIGd7m9Yukw7-WyIwxgk4Nfmx44-HfiLTPjjrXiDxVa-IvCWo69OsenWFupjt9pAMc8n9zzFw2TggsOD0r6P_Ztk8Y_EF_D-tTNp9vq8sU9ne2Mt_Fa6XI5-QzTqzl3aAKXlkUFZSxKZBrny-tOrWnCtHZem-h9Bxtk2Fy_L8PVwV3Jyab5rufW7s9NrpdC3-1x8IdS8Q33hXT_AAB5niNodbnPizxOz293Nb281tidZlVUCyRiLzN-cAXHCDbk0_2Uv2W_hB8R_FmmaTPeTeL9Q8RWK61p9zZahPZy74JfIaBp2aRGYJMJAPkIK7gvUj2XXv2k_h_8SPD_APwi1jqljr2ueIrH_hHNSvvCbtLFZJHIsv8ApLSxxYmlYvGFPy7GyX4IHnXwW_aH0vxT8Y_Bdv4M01brT_BV_P4d1Bp7F2i0iRB5rRRKigO3yRxyzBvIjWWMeYxlCjs-p4OpU_m5bJ-X-djxY5vxBk2Ehh0nCE3eLe9rrmt1Xn3Or-J_w4hm02TWrHxl4maJYkU6zbJa3UmlzhyTKLVLf986quGkkVlww4U4auO-Ev8AwUn8dfDfRJTq3hzR7FdQQ-TDqOqySQxwBR5dxJBE8Zzv-XaCik8beK-q4fip4b-INqy-Hr6xuPC91amyTWdOtzDdW0sjbGW4jmEZiXaxOU8wZUDJJFfDn7dH_BOvQNP1LQ9U1T4zR2MesXTQ6jJN4fu76a2y4IkhhtfMaPDvgh_u5HWtsZGp7NKi7W62PF4enhHmPPmEeeDb0b3dtPxse3_A79r34n_t5_tH-Ffhf4km0_wro_irQNRe80HTYcW_mwMwjuZY3ctl98JQb12mHcC28geKftTf8FGf2mvhJd-KvhzMv_CE-H_C2kSW1_pdtpUKNrsUw2mSWR1dx5kZK_I3GD61u_C_9njxB_wSk_aL02bx9NZJ4WguLO8XxqryltVMoDpbDKearIqy7kKdFU5-cV6J_wAFd_8AgqF8Hf2v_Evgu18D_bLjT7e8FvqGt3WmPYzajI4CRRhJVVhHGx3FpdoO35c9a-bjOr9XnOo7zT0vZ3XVI_aP7PwFTM6FHBU4rDuDvyr3Yyezk3o3fvqj5T_4J5-LGl8X3F7pupTQ_apI21K1mcskSDKr87DIB64Hf0r7_Q5Wvgnw74Q8UeDPH4j8P6PF4s0_VLm2GqSafJHJJYRowbLbW2_MP4c5OOlfdujGY2Ef2gKJgMMF6D0_SunJ5z5pxfw7r9T-e_pUcP4elHA4-k4e1hzUqqTjza-_BtLVq3Mr7LRdS1RRRXun8chRRRQB6p-xf8Y4_gj-0Ho-qXlwttpN8G07UZHYKiQyY-dieio6o59lr7Y-Nv7aXgXwn8J_Ed_4d8WeHdU8QLZutjb2l2k0stww2RttU5ZVYhmx0VTX5p0VcZtKx9ZkvGGLy3BzwdFJqV2m73i2rafn6nsn7EX7R9p-zf8AFSa71aOabRdatxaXsyAvLb4bcsuOrAEncBzg5GcYP1p4l-J3wn8Z-MB4gk-NGqWNvJGok0mz8UtaWkhCgBvLXEqNgchGUE5JGSa_OeiiM7KwZRxdiMDhfqbhGcE7pSvo_k1deT8z6a-JP7RHhXxT-0_4Bi0HVtabwj4b1mC6u9R1nWLu5hmk3jMircSN5caJkbsKW3t2Ck7P_BTb4y-GvihpXg2Hw14k0rXI7We7e6jsbtZhESsIQuFJx_GAT7-9fJlFLmdrGNbinE1cNiMNOMbVmm7aWtayS2tp_TPtr_gnP8dPBnw2-B93YeIPFGhaLfSapLKsF5eJDIUKphsMRwcHn2rH_wCCfXxo8I_DrxJ8S5de8SaLo8eqaokto13dpELlN9wdybj8w-ZenqK-PaKfO9DqwvGOIo_VeWnH_Z1JLfXmVtf-AfSegfE3w7bf8FJbjxNJrmlp4da_mkGpG5X7KVNsVB8zO3BbjOetdn-15-1LoGh_tE_Dfxh4W1TSfFCeHFuDcx2d0so2SAxOhKk7WMbvtJ6HBwRXxzRS53axzw4qxMMPVoU4pc9T2l9bqV1JW6aNdT9GPFXx6-Ffx007S9RX4tar4PaAbnt7PWxpcsoPJjmjcH6ZXB9GxXhv7ZX7RPhEeH4_D_gHxB4m1q8mmSW7vpfEF_d2MSIQ6oFllZJWLBT0IXHXPFfLNFN1GzszLjbE4ujKm6UIykrOSTv8rtpX8j9AtR_aF-Ef7W_7P8Ok-MfElr4bnmEb3VtLeJbXdpcR4O6MuCHXOcHDAg4IzkDUsP2gfhH4f_Ztv_Dnh3xdo8FrZ6PdWFlbXd6q3UpEbquVY7iWPIyBnI4r86aKftGdMeP8Vf2kqMHNx5HKzu19_wA7dxsA2wID2UU6iisz4IKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr77_wCCTn_Jv_iL_sZ5v_SOzr4Er77_AOCTn_Jv_iL_ALGeb_0js60p_EfdeHf_ACOY_wCGX5HwJRRRWZ8KFFFFABRRRQAUUUUAFFFFAEN7fQ6bayTTyJDDGMs7Haqj3NYPxNuNNn8AX0mpabZ65pMkW6e2uEEsEqZyCwwQQCA34e1fPP8AwUD-KjW1veeGpLW6ksXs1kn8uQ4nBOSuz-MdiK-N9d-PnxK1W8g8NaB4m15p9Ut_Ls9KExhjtLYKQQ8f-rYKoP3sk5FefUxy9o6Vj-kOD_BDF1sswXEccQuaUlP2dnflTTSUk78z_VH2R8U_-CVN_r3xAk8SXscieE_sMep2d0bpDffOoZY4H37o1DsOi9KzfCn7HHgL4U-Ef-Eis7O8s9e8Q3Utvb3WpyeZcX6xtveWPeN8nA3FhkELxxXvHxI-OXh7SP2CpPGFjBNqtqvh6IXN7u3ENDGI2VQxPO5Txxg157bq3i_w94Za6vtF8QX0Ph-zng1yDy522vHlI9-Nwwp2EE-xrVxjh5xVNr3n-m3U_YMdmGLx8Z_Wm_3cbafzX3km1r56nY_Aq91LxVcT-A7XWre2tdLQajqd59lVJltF3MZzK3Cl93BznnivZ_FvguDU_hnB4duNRh8ReH9N8q5n8PSoNPtTZs8bhp5jj7RG-EZ0U4O0ZGDivl_W_FU2keAvGVw1rc2S3VhMrEak_mab5jff25zJjHCdCK-fvhL8dfEp8MyG1jllTXLf-xbPxBd6dBczavCpZShhkRv3ceQ21zjAHFTWxGHwlZpw-LVtb3-Z2ZJwrmGfYFewq-9CXKotaWS0aa-61vmek_tqfEiz8S_tR32k262usadCRci8a78hJ2KAKkeSAkSdFI-UbBziny6D42k-Avw-1Hw3oGpQ3Wm20l1qt_YTs8YWVcEM6nZOnJGQW9c96-SY_HkfgLx7qOreIJriHxFot_La6rrdvpSv5LLxBDbBQI1EjYCohRU5IFfe_wAFry08PaN4atvFcNvpcdzo0t5o1rd6rJqupvdzQ7pZHSTMkKqH3F8kSg45FdNaNKtF8s9-q3PJwOOxeBxcauKhzxpSvyyva_dJq13Z2Pnv9kbVjovx51uTwHb2-p6Tcagkc8NwA8l_fhpCoti2Mtt2naoY4BPTmvpb4S_AbxJpXxB17UP7F0vwX4f8GyLqWi29jNEg8Y6ncTL9qnv5g25oo7eEsy5VG8oZztxWJ4Aj8B_ESy0e3uNDvZ7fRdRWK08Q6g1xHdXiGMK08bMdzKeD5ZfGeevNfR_wf8c-E7GWDw5qWk2XjCw0FLW60-1IikhvbAyywlriDmNsSMpYz7iBhs8Vy4HCVsJGrJPm7d9j3OMOJMJnUcPKlzRceZNdEm09Dz3wn498N6V8E9c0Lw_u1rUNN11NGuJ9N0-W1SHUHH7x5Rt-VI490gRjtJQYOcV474J_aX1IeKtUtvihJ4V1LR77VlubFrizW41CK0MqD5kUsYQNuW3KvPHGK_RD4x-C9Ql1i3u9LhOoaF4yhe4urdSn2KCJeY7GcE4lfJLhipJWMjpX5y_tX_sY-I_gxrF94s0vS9D0bTrCOS3t7LzViSOaSRiJ7mXBDyhQqCN9-445rsqyxCpSvbrp5HzuSYPCV8wo0KsnCPfs9bP77Hvn_BXD4z_An9rL4O2-l-Hfihcav4msfENgLKz0-3lY3cQgHnvsZCAkKyqMjBJ78183ft4f8EZde_Yu8D-FfiFout6p8TPAPiC8t7O-gk09lm0eR-UlRUbzWy3ygheCwrP_AGc9D8T_ABg_aq-Hvhnxl4b1jT9dn8QWGvaza3EYjupYrRJlgKW67Q6lXDeYMfLGVOQoFfqv_wAFp_2u9D_ZQ8C-D5NenvGsfEkN3bxxW6eYyvGIZA3P3QQpXjHWvDwco4ulOcoqHRW6eZ-mcRynw3To08o5q7fNNJyV52WkdF1a07du3xH-yl4BPgzwVdTS2P2G41GfzGQuZHwqhRliSfw7V6oBivmPwt_wUXs_iL4tOl-FvDtxqXmI0lurzCGScKNz4B4yBnjvivpHRNWj1vTo7mPd5cmcZGDwcV6GCqUYxWHhK7ij-MvFbIeKK2Nq8W55hHRp4qemqaTtpHRtpqK6pbFuiiiu4_IAooooA9m_ZY_Yu179pkT6gLldF8O2kvkveyRl2uXH3kiXjO0HljwCcckED3bUP-CSOl_YJPsnjTVPtW0-X51nGY93uAc4-hr179mH_ilv2JvDdxpsMcc0fh83ihFHzTFGkZj6kuST6k18E_An41fEPSvjHb6x4avdQ1zxVre8SW9xI9wuqExsxEib137Bl15G3YMcZB1tFJXP1Gpl2TZVhsLDGUHWnWV202mr22Seu9ktG-99DH-LnwW174LfEWbwzq1qz6grqLY26l1v1c4jaLudx429QePr9IfC7_glNfa34dhu_FniJ9HvZ1D_AGKyhWYwZ_hd24Leu0YHTJ61zfwg8b-MfjF-2_4Jk-JImtb7TZZ_sdtPpq2qKVidgiDaC3zDduJYgrwa9U_4Ks-M9X0HwB4a02xvLuz0_VruVb3yZDGLgKmVjfHVeScdDtpKKs2c2V5PlUMLis2rU5Tp05csYSfK-nxWf95L0V7XenH_ABS_4JTX2h-H5bvwn4ibV7yBS5s76BYmnx_CjrwG-oxXNfsrfsLaF-0X8PLjU7rxJrGk6tpt7LYahYpbRt9mkU8DnnlSD9c16r_wSj8ba5r_AIC8U6TqE11daTot1b_2fJPK0nlGRH8yFM_dVdkbBRwDKeBmmfBr4jwfDv8A4KL-OvC6v5en-Lz5iJvJVb2OPzcgdAWTzQe5KoKrljoz1KGT5LV-qZgqPLTrtwcG27Sd0mne_wAUbdmneyPjfx38N9Q8G_FTVPCSxtcalZ6k2mwLwDcMX2xH23hkP_Aq-gf2mP2BfD37O3wY1LxPJ4s1a8vLUJHbWz20axzzMQApI5C9Tn2r1rx_-zb_AG1_wUS8N-IPs4bS5bE6vcnycx_aLf8AdoGP94s0bA_9M681_wCCsvxX_tTxLo_g23kzFpds2pXig_8ALWQFYlPPZQzYP99TU8qSdzy6_DuFy7A47EYuHM1Pkp3b-T0eujT1_lGfFD_gnLo_w_8AgPqvjCHxRq1zcafpR1FbZ7aJY3bYG2kjnHNZH7KH7Bel_tG_CdfEd54i1PS5mu5rYwQQRugCHAOW55r6l_aR_wCTJPEv_Ysn_wBFCuU_4Jgf8mxR_wDYUuv_AEIVXKuax9E-F8r_ALapYX2S5JUnJq73ulfe5xt1_wAEkdG8hvJ8aawJcfL5lnEVz74wa-T_AI5_A_XP2ffH8_h_XI1aRV822uogfJvYSSBIn5YKnlTx6E-xfsu-M9W8N_8ABQnUtPsby5j0_WvEWrwX1ssjeTMoa4dWZAdu4Mi4YgkZI717J_wUc-DGofGXXfAOn6Fb282vXE13DF50wiUxCMSMCT7qKTimro8HGZPl-Y5VUxmXUHTqU58vKm5c2qXX_Erab6HwTmvWv2a_2PvFH7QviO1_0O80jwzu3XWrTwlF2YziENjzGPABGVHJJ4wYvi1-xP8AED4OeAr3xBr1jptvpdoY45XivllcGR1jXCjk_Mwr6L-Af7eeofFf40fD_wAEaTpK6XorRPBfTXDCS5ujDYyuAuPlRd8YOeSRx8vOZjHX3jwcjyXDxx0aGc81Ntx5YWac-aVt-ivu_WzufP8A-2P-zJY_sv8AizRdNsdWvNWXVLSS5d7iJIzGVcLgbfr3rrP2ZP8Agn5efG3wIvinXtaPh3Q7lXe12RBppkUkGVt2FVODgnqBnpjPRf8ABWn_AJKh4R_7BU3_AKNFew_Am90f9qf9h618G2Oqx6dqUGjRaNeIpDS2skKqocpkEq-0NnuGPfNXyrmsfQYXIMvnn-KwrheNON4Qu1zOy0ve_Xv57I8c-JH_AATRW2-HUniDwL4sj8VLDG04iZYyt2i53eVJGSpbg8Hg4x1r5T_BlPcEYIr9Of2LPgL_AMM5fDzVfDs2u2et6hJqTXl2trny7JnijUR4JzkrGGOQD844xgn86_jNp8OlfF_xTb26-XDDqtyqLnO0eYTUzjbU83i7I6OEw2HxdKn7KU7qUL8yTXZ6_P8A4c7n9jv9mey_ae8Yaxpd9q15pKabaJcq9vEshkJfbg7qz_2tvgFafs2fFeHw7Z6ldapDJpsN-ZriNUYM8kqFcLxgeWD-Jr13_gk5_wAlY8Vf9gqL_wBGmuh_ah0Ox8Tf8FLPAen6lZ2uoWF5YWcc9tdQrNDMvmXnysjAhh7EUKKcS6OR4atw9SxEYpVZ1FHm12cmtr2_A-M91Ga_SL4xfDP4F_B_xP4bv_Enhfwvp8moSyafY2kOkRC3uHcpukliRNr7PlAZwQm84wWzVb48fAP4H_CKaw8ceJvDuk6VY6e32RbK0swtpfSvym-3jG2RlCuemCCxbdtXB7Nl1vD2vTVS-Ip-5bmu2rJq93pp1aT3SPzmzmjNfd37cf7Onw_P7Mtz4v8ADOgaHo1xp6293a3OlWaWq3UMromGVAoYESBgSMjHGMmuh-Gn7PHwy8Q_sheH9S8ReF_Dlqsvh-3utQ1SHToYr3AjV3fz1TzAzYILA7jk85OaPZu9jn_1DxX1ueE9rH3YKaetmm2vlqvu1PzwzRmv0m8PfAb4K_tH_BhNQ0LwvoNnpN8jLHf2Wmx2V7A0bFWPmBQ-4FTndkHvmm_CT4QfAv42-AtQs_DnhPw7fWOmyvpNxdNpwS9V1AywuCPN3EEEOGzzwaPZs6Y-HeInKKhiKbU1eOr97rpptazv5n5t5xRmvsT_AIJ8_BLwtr3jL4k6Trvh_RPEkWg6n9jtZNU0-G6dFjklTILqcEhQTjAJpvwX-FPhXV_-Cg_j7Qbvwz4dutDs4m-z6dNpsL2tvhISNkRXavU9AOp9TU8p5NHhGvUo4etzpe2m4Ja6Nc2r_wDAT49zRur7a8Z_B3whaf8ABSPwp4eh8KeGotAufDTTzaamlwLZyyf6Z87RBdjN8q_MRn5V9BXoXjv4bfAn4XfGHRbPWvDPhmPWPFKpY6fp40mJrOMb8B2hVfLDO7bfMcE_KFBABzXsztpcC1pqpKVeEVCfI27pX01-baSXc_N-4lMVvIyjcyqSB6175-0b-zH4B-Enw6bV_DfxHs_FGoi6jh-wx3VrI2xs7nxGxbjA7Y5rtv8Agp9-zz4Z-GOh6L4i8M6RY6C148tpdwWMS28D4TcjLGoCq3DAkYzx35r0j9vD4QeA_hV8G9P1rTPBPhXT3tdesWnNjpFtDLPAJN0kWQgyrqMFTwc88Uctr3NKfC8sNHHUcQoydKMXzXlopKTvFL01v2Pnv4bfsMa74t-DF9481a-t9J0aPTZNQsYo_wB9cXgCkqSOiKcepOD0FeFo-5AfUZr9VvDvj7w3f_su2_iO28Ow2_hWTRTdpootoVRbfYT5Plj93jHGPu18-_sgeK_hd-0B8Y_F2kt8OPCdrZ3MUWp6NBeaJZtJDGiRxTxDahAG7Y4AJzvkPY0SgtEjuzTg7BKeEw2FrKMqi3d3zO179ktLJb6o-Lc0ZzX2v8CP2QtHtP2zfiBb6toWm6h4Z0iAS2Nld2Uc9r_pTB0wjAqNgVwABwGGMV87ftiavoOoftCa9a-GdH0bRdG0WT-zIotNs47aKWSIkSuVjUAt5hZcnPCDtUuNldnyuYcO1sFg_rVeSXvygo9Xytpv00_Lucn8KPhhqnxl-IGneG9GWNr_AFFyFaRtqRIo3O7eyqCeOa-pZP8AgmT4R8P3Wn6drnxMFlrWoACC1K28LXLZx-6R23tzxxmvnb9mX45r-zv8YtN8STQG6s41e3u4VYKzxOMErn-JeGA4zjFfbV_4i-An7Zd7Y3d5e6Te6zaxqlvI91Jp9_AMkqu5WQnDEkLkgE5xmqgk0fQcI5bleKws_a8kq_NpGcnFcum1t3v0f-fyp-1n-xZqX7McNnqUeoLrOgX0v2dbgx-XLBLgkI69OQGII9DXiWcV9dft4fsueIPhv8OJvEFj468ZeI_DVrNH9u03W9XmvPs5ZtqSqWbawDMFwVyNw5PNeieG_wBmb4Z_sm_s-t4i8beHtP8AE2pQ26TX8l7ZpeFpnxiGFJAUUAnGcAnBJPQAcNScbwhUrZjVp0oKhThFSfNLmSTvqmtWnZ77Wd-x8A5zRnFfX3jrxl-zf8Zvg3PcR6bpXgXXlST7NDaactreQSqPl3LANkiNkdcjk4wRkWf2CP2QPC_iH4Znx94ysYNaW4aY2Vlcxl7aGGMsrSvGeJGYhiAwIAwcZ5C5LuyPMo8I1a-LhhsJWhUUo83MnpFK1-Zbp6qy6_fb44zRnFffnwcsvgV-2Rp_iDSNH-H-l6PJpwVmmg0uGwuDG5ISaOSEBhyp-Un2IIJFcJ-x3-zfoGg_tR_Erwf4i0nRvFFr4dghFq2pWMV0ArsHRgHUhXMbqGxjkHtT9mb_AOplaVSh7CtGdOs3FSV7JpN2a-T-4-Pt1GcV9x_tT3vwU-B2h-JvDtj4R8K3Hji-tTPaQDRYpPs8soVI1VguIcLhgq7f72MsSep-GH7HPgn4G_BaHUdT8Ep8QfEUlvHJcxy2cd7LLI2PkijlPloq568HAJJPFHs9bG0eBa88TLD060JcivNq75dXZNJNuTs9OlvS_wCeeaK_RXxZ-yB4J_aD-EE01n4Bh-HXiLy5BaKtlFZTW8w-75qw_JJGSADnJwTjB5r86trp8siNHIp2ujDlGHUH3BqZRaPFz7h2vlcoe0alGavFq62tdNNJpq6-_wBQoooqT58KKKKACiiigAooooAK--_-CTn_ACb_AOIv-xnm_wDSOzr4Er77_wCCTn_Jv_iL_sZ5v_SOzrSn8R914d_8jmP-GX5HwJRRRWZ8KFFFFABRRRQAUUUUAFFFFAHlP7Uvwr8L-KPB114g8TW-oXlr4dtmuza2swh-0lPmUFsbuDyACBnrkcV8I3Xirwrca9Zal4d0fxRebdPRwl88a6hFcSEMVzGuxlGemwEgV-inx80K68TfBzxDY2QU3U9m4j3nC5HPPB_QV-ePw68K6lqni-L_AISLWtG0fwvAklxq9-peO8mWPnyoAIy29gAoyo6H5h1r5_OI8suaKV7H9yfRjzGvXyetCrVclRqJRhvyxauml096-v8Akcr4_wDEniXw_wDDHxV4JsZNVsfh7a3a32qwQxR3Ud5dP8w8u4aMNGp3YZecEcV0H_BN7493fhi-k8Iz6HeNb2cVwYDECNyB94VXYHc2Ony4Jr1b9mf4s_Db42fGZvDY0d7eZmeXSba4B-z3FsFzlx5jBpCR_EOtfRmh_Crwnpeqanatp-2HUbG4sme2j2tCZUKq2cADaTyVyR713ZfGtGiqrd2tUlrsv1PpeNMRl9XMfqeHtH3nzysrN_LovxMHxfb3Gp6HcLY2uoXGueJrVNNt5JkBjsyy745JUVeihCuRnJYcc8choXwUbRfDel-JrzxVFq1vdO11a6Va2SQp4enAxM5k3M0wfONjhdpU8muw1bwxf_Db4c-BbLR5L3Vm8NyLctdtdo7KjIFkQncsjbM9HXtwTVuf4q6Hod9atf3eg29npK73e4ljgsHYsq3DO-4DlWUk8HOTxXTKhQxdR4mUX2s12Z4mB4gzLJcL9RwcrScubmi76PRK3S2-nU-dvEVnN4Fn1TwbrEzXnge5mj1lIXt1gb7YJkdY0uOr-Y7KFBAx_tV9W_Aj9q_T_HPxf1K3l0_SdC8Q2bS6JBrEsZmivHgBiLuGlCxW6KuQVVmIABPeuTt18H6r4Ge413xh4K1zR9RZrWCCG7F7bvcszMn2Zo1aSU4XO4FlTZkletfKUHxD0ax-JOp2NvYaqPCwZ9P0caYrtcXk5-WK0fe2VRmBVidpIzlq5MwqU8MlVw8End39D3uEcpq55OpDMqk1GCWrTvfontsrnr37TnxM03w_o5uPDFmdctZ45nmFvdF45UT5i0AGfLRuzsZMAng8Gvnaw_aV8XeOPEkeh6pfavp2k6xcpeSRadpMMbzC1UXUFtHK-4tGrxBi-AzkYIC5B-3fhT4M8H_tVfCS40y8tG0XWNM8MxR-ITpqwix0mbzNqLE6mQbizTJt5QKdxxgsO9_a4_Yqv_if4A8BaL8HPB9hdWsvhm2i1O5W-ha40WZZ3VJxOJDCsY2AuUd3x_CQRntliPaYb2sVr2W55FLJ_qWf0sLi2kuZX5nZW9Xt2Mf9hb9r74g6_wDELd4o1C0v4_E1nLc2h0e3jlg0JvL4eUMqkyldyFS20BiQMgGtn9tD9sXTvg94GnuVsLe8t_EF9caqltqtwLdGvJFVYlYLlhEpUnhixJx2rxb4Lf8ABKz4vW-s2-tT6TaeGfssi2l7b_2qfJnvuWNxLHDvBjWMPhx8u5gO9Vf2vP8Agnh8V_24fHDN4Y8Mahqmn6HYy2WnnVXOnw6pdvKxjkjeYKrxsoG1yVXLda8_LXXhRlSrKTv1aPp-OMDljxVOtgKsIWai1FptW15vdel9u5-i3_BPDQfBf7d_xI8I_tA-KI_Dej_FzQdBufDq6JoviZrmM2yzSATGF41kLBGB7AB-_U-e_wDBzpYfDv8A4Vt8JZ_Hdz4mtJ7OTVJbBNGaBnYR26sd4mxw2AARnk1-Rn7L3g_xn-xr-0pcXE0U_gnWtDtRt1GaSRrjTr1niIh8yLeh3owIA3Bl4zkYr63-N2s_Ej_gp3-z4fFHx6sms_FHglb0aQsMX2OG7tQocGSPk_MU5JAyDV0a8HSnh6a1_r7jyc4nDJsTg81zCtalUl7OC_lb0Ts943d21e3ofLv7NniLw_8AEP4naSngW41TS1kuRBaXd_DHcTRqw_eh0VgozzgjNfplpdm1jaLGz-Yy_wAWMZr5D_YS_ZYs_A3j2TxPo-lXWk6JNEAttfQtDcrKuQWMbKCoPUc89a-xBwKnK8OlzVu-3ofkX0lOL8ROrhuF41IyhSXtKihZr2jukm7XTUHtf7Wq2CiiivWP5WCiiigD68_YR_bh0TwB4KTwT42uPsNnZs39mai6tJD5bksYJepXaxO1vu7TtO3aC3qnhLxT-zb8I_FV54t0XV_CNnq0qOzSW9608iBgdwih3MELcjCKCc471-d9FaKo7H2uA44xWHoU6NSlCp7P4JSV3HtZ36baWdj3T9pD9sy9-Jf7Qmj-LPDaNZ2fhFx_ZAuU-afBy7yKDwsn3duche4J4-mY_wBqj4J_tT_DqKx8Z3Gm6cTh5tO1iU272suCMxzAgHvh0YHB5CnIH55UUlNnNgeMsdQrVqlRRqKq7yjJXi3toummnayV9kfoZL-1R8Ff2V_hxJp_gu403UNzNLFp-jyG4a4m2gbpZSTjICgs7E4GBnGK-F7_AOLGsX_xebxwzxjW_wC1V1cELlFlWQOq44yowBjjI-tc3RSlJs5s54mxWYezg1GnCn8MYqyT7-vbsfqVo37ZHwt1fSLPUJPGfhuzmuLdZWhnvY1ng3KGMbDOQw6Eeor81fjV8RLj4wfErxJ4lnEgk1q7lnijfG-KH7sMZxxlI1ReP7tc_RRKbZvxDxZis3pQpVoqKi76X1drXd-2v3s_Qj48ftH-AfEP7JOv6NY-MfDt3q1x4fNtFaRXyNNJJ5YGwLnO7PGK5v8A4J7fHzwT8Nv2e49N1_xVoOj6h_aNzIbe7vEikCswwcE5wa-G6Kr2jvc7_wDXrFfXoY_2ceaMHC2trN3vvufop4R8Vfs5_CjxnqXizSdf8Kx65qEk09xdDVXvJi0rF5Nis7bdzE8IB6V83_tJft16t47-OGn694Lnk0mx8Mwy22mTzQJJJcGTiSZo5AVXcAAoI3ADJwWKr890UnNvQ5cy4yxWIoLDYeEaMb8z5FZtp3Tv666a3W56V8SP2wPiL8XfB9zoPiLxAmoaTeNG8sA0-2i3FHWRfmSMMMMoPB5xjpUv7GHivTfA_wC1F4R1bWL610vTLOW6M91cyCOKENZ3CLuY8DLMo-pFeYUVPM73PChm2J-t08ZWm6koOLXM2_hd0rvW1_zPpL_gpZ8T_DvxS-IXhi68N63pmuW9rp0sU0llcLMsTGUEBip4JHOK1v2PvGvwT1P4YyaH4207Q9D8SQJJC-q3K-W17GzMVkWboki7sYJz8oIz0HyvRT5tbnpf6y1f7TnmUqcZOe8WrrZLS-qem_6H3jYftD_CX9jT4M32meCfEB8X6peTyXSKt2t3PdXLKqiSaVVCKqqiDoOEwASTn4U1DUJtW1G4u7hg9xdyvPKwGAXZix_UmoaKJSuc-c59WzBU6coqEKatGMdlfd63bb_rqfR3_BNf4neHfhf8SfEd14j1rTdDt7nTo44pL2dYVkYSZKgt1OOa6T44fGDwrr3_AAUM8DeJLLxDpF14fsLS1W51CK5VreAq90WDODgEB1_76FfJtFNTsrHTh-Jq1LAU8AoLlhNTT1u2ne3ofWX_AAUY-MHhX4meMfhnP4f8Q6RrUOl3F2149ncrMtsGlsipcqflyEcjP90-lb3_AAUq-OHg74o_ArSNP8OeJtD1u-g16K4kgs7tJpEjFtcqXKg52hmUZ9WHrXxfRRzvU3xXF2Ir_WuaC_2jlT305VZW_wCCfcXx--PXgrxD-wafD1j4q0G81z-xtNh-wQ3iPcb0a3LrsBzldrZHbBq3F-0B4HH7Blv4ePizQP7cXwtHaGw-2J9oEwiAMezOd2eMV8JUU_aM6pcb4l1ZVfZx1p-z67Xbvvvr6H3L-w58fPBPgL9k-20fWvFWg6Vqiy3xa0urxI5lDSuV-UnPIII9c1jf8E4fjf4P-GXgPxZb-IfE2i6LPea608Ed5dpC0sfkxjeoY8rkEZ9q-M6KXO9DPD8aYmjLDSVOP7iLit9U0ld6-XQ-rv2Mf2lPC_ws-PvxEh1zUray0vxNqlxc2Oosc27EXErDc_QKyMCrHg-vIr2yw-PPwJ8G_G2fWtO1fQP-Eh8TxN_aGrxXe63iWNRje5by1ZsAYUZbHPSvzlopxqNKxWX8b4rCUI4dUoSUZOUW021dtu2vm1fezPtPxj8c_Bt7_wAFG_CviaHxRocnh608Nm2m1FbtDbRS_wCmfIz5wG-dOP8AaFcp-2B8W_C_jT9sT4d63pPiDSdS0jTUshd3lvcrJDbbL2R23sDhcKQTnsc18r0UvaM58TxdiK1GpRlBWnUVR76NW09ND7D_AOCmvxq8I_FP4T6PZ-G_Emi65dQXzvJFZXSTOi-URkhT0zxmuh_4KG_HvwT8R_2fW03QPFWg6xqH9qW8v2ezvEmk2KW3NhSeB618N0Uc71NMVxliK7xMpU4_v4xi99FFNaff1PvP9mv9o74b-KP2S9N8IeJPE9j4eurfTn0e9hublbebABUSRlxhgykMCAQCSDyCK-Xx4n0b9nL9qqy1TwPqT63oWi30QtpxMJWvInQLLHvCgEsrOvA-nSvLK9m_ZX_atsf2c9M1a1v_AAjbeKFv7mK7geSdImtHRSpILRv1-XpjGKOa-5X-sP194eji3Gk6VrVFFtrlWmifVpbLfyPvb48fE6z-DXwV8SeNLeOJLz7CHtmePmedgEtww6kB3XI7DPpX5R7mc7pHaSRjlnc5ZyepJ7knnNe4ftXftu6p-03pdlpUelJoOi2kouHtxcfaJLiUAgFm2qMAE4AHfvxXh9OpK70L434gpZni4rDO9OC0dmrt6ydnr2WvY9O_ZI-N-m_Af4tx6prWnx6jot9btZXqmESvChZWEiKepVlGR1IyBX1N8U7H9nH9oHxLpfiLUvGWl6feWKoCltqS2X2lFJZUljZcjBPVdr8AbsDFfBdFSpWVjz8r4lqYTCvBVKUKtO90pLZ_I-xf29v20PC_j34YzeBvCN0usLqDxfbr1EP2eKKNg6pGxxucsq8jIABHJPHX-Ev2sfhn-1D8Bf8AhGviFq0Ph_UZIEgv0uJ_s--VMYnhkxt5I3bT90kggjk_BdFV7R3ud3-vGOli6mJqxjKM4qLg17vKr2W9-r69X8vsjxWn7NHwW-EU9lZrpPj7VcOYH84XV9cysMDfNEFEaDA-7tA5IG4nNf8AYS_bM8L-D_h2_gTxlMuk28UkzWN5IWa1aGUs7Qu-SUKlmCk8FcDIYc_H9FLnd7oxp8X16OKhicNShTUU48qjo07XUnu9l10--_3t8KvGPwB_Y803XNU8O-Lo9Wn1MLuhivRf3GxSSkESoBhQWPL892bAyOB_Y5_aa0PU_wBpf4i-MvFmp6T4Yj8SW8RgS7uVjUBWCpGGbG5ljVMkdTk4A4r5Hoo5zX_XPERqUHRpQhCi3JQimldpq71v1e1tz079s_xbp_jf9qLxdrGi6lb6hp93LatbXlrKJI32WduhKsODtZSOO6mvrT4a_tm-A_jf8F4dH8R-LLrwHrkcEcNzLHfmxnV0x-9hn-6Q23ODngkMPX8_aKSm07nJl_FWJwmLr4mEU1Wbcou9tW3prfS7sfcfxV-PXwx-FHw4m_sfx74u8deJPJaOz8vxbfyebKR8rzGCVIlQEgkKASBgDNfDryyTyNJLI0sshLO7HLOx5JPuTzSUUSlc4s6zypmM4uUIwUVZKK_Ft3bfr_mFFFFSeKFFFFABRRRQAUUUUAFfff8AwSc_5N_8Rf8AYzzf-kdnXwJX33_wSc_5N_8AEX_Yzzf-kdnWlP4j7rw7_wCRzH_DL8j4EooorM-FCiiigAooooAKKKKACiiigBsg3IR-Fflx_wAFBNQuPhX4x1HR7rKLfStcW8sPyq25zlcZz7ZNfqTXI_GD4EeE_jz4Yk0fxZo9vq2nSOkjRszRsSpyPmUhvwzXLisLGta_R3P1bwq8Snwjiq8pwc6daKjK1rqzumr77vS6Pya-FPhrWvgp-0H4avr6PydU0-SF30_5lkQSbdqknA6OCfZq_SOw-N-gN8WY_Ba3c516Tc0lv5b-WBs3uMkYOAa-Y_24PAdnN8Y9Z-1WEGmyW0ECWSxrhZoEQKJS_X5QFByc8CvN_wBgD9if4ofHD9oDxFq_wrk1n7N4c0-7v4vEEMC3O-TbtMTl-GDN8pz7VyQxk6TlFfL_AIP_AAx_WVbK6eY5XhM6xNoxrQUpcru7tJ2XTq-vkfpZpvgOPXPD1vDZR-YLgfZUkXCMMnAPP0r5H_aLul8WftDeK_Bul2tndy-C9Ikt5IblSkaTSwiOSRuCNqkg_LknFeq3v7T1t8A_C_hy18V7bCxtLSNNVmkaaC6ln8sb9pU_LhyT8o4ri_h7-xj8IfiPrep69Z6_deIvD2rRx3lvBdatKk1zO0heRZAHVpkzxhweOc96dapPF0I08Ktb9e6K4Vw-FyfMJYvMneCXu72s-t7aNejXmcd8Mfge3xi-DWiw_DvUodU1iDTLzQ2v3iNva6AAq-dcx7sO0rbfLBUDAkYmuw-FXxQ-H-q_tH3Gm6fp-htqzWC-fo0dmQUthEBHdCUqE-0HhmxnBY4Jrp9N8MeHvhfbaxJY2Ny1zNbmOe3BHkXiW7CeGDCKAyK8aYzkgZ5zR8Rf-Ch3hH4b6npej6l4U8K2Or6osVtql5pVotveMkqqZTI-xsgKTgLg-uaunRccMvaRXOu70sv1saZtmqxObtZXWbpzV3yq3vPZa9jY-I_7ZUXgL4eTate6Lo8a6e8awjTYyquxkjVgMgHCrnaTjmRq6Lxj_wAHEV1ruv2s1v8AD3yrbwbDNpC6RaXgjWRJPJZZmc4UOvkkDAON7etd78XP2P8Aw9418W_Dy18P-G5tW0fxFBbf2jdTyBUjDvIyQSxHBmfapcZ4zzjIzXh3_BVf9lDwH-yvpfh3w_4XurfT9R8SXDzXMdmVBvdPjK4jkjO5XLSFlyRng9hWdeEfYRxcYJSjeyb2u7dPvPLynLI5hnX1WvUdVX1aW-ml72tZ6XP0d8PftLN-1T8B9MvvAeg6fpq63oME9mt6TbwokwZJZyUBPmJG0hC45YLzXA_td_8ABS2x_Yb-C3jPxBqGh3F1Z-FZYtCs5FYbby73OqsFHK4ADbzj73Tivhv_AIJ7_taeJPhx-1JoOh-CNBT4gWXjiS1i163bzZIfCRaVYxHblTtX5S27OcqD0619i_twfs3aa_j4WvirTIr2S9Sa7FvKuI4_OyCwTP3tpwCeRWuFrTxMY1XNxlHdJaNeZ5fiE8LwnGp7Vc9JvR7yvorL5vr5n5Gfsx_tv-AtT8SX2oeII_Gmt-NvEN_G8aXDxyWjrv5aaRjucxxrGEGONzdq_Qz4H_H_AMN_tAeH5r3w9NNNBayGCZZYSnlsOq8jB_CvhWL9kjTf2cf2x9V0rQdDkvNLutGZrWS7kZpLeKWR8yxZb5sOjRA842N3ya9P_ZM-H114H_aN0600u1aHQ7qC41G7lC5kecCOIJI5524JYLxzzXmxxtOjjXQgtZbnpcecEU-MOCIcS16rjKhSnOlZaciXNaUdryta6d152sfaaRrGPlGPoKdQOlFfRH8ESk27sKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfff_BJz_k3_wARf9jPN_6R2dfAlfff_BJz_k3_AMRf9jPN_wCkdnWlP4j7rw7_AORzH_DL8j4EooorM-FCiiigAooooAKKKKACiiigAooooA4r4w_ALw18btNWHXNPt5biFSLe8EMbXEHXhWZSQpJyQOuK4D9ivwt4-_4JZfC34q6x4TurPxNrPijTXsrDTLqWb7HYKbgSecBEULSFcjAKDP8AEB190ps0K3ETRuoZWGCD3Fc9TDQlfuz9G4b8UM8ymlTwaqc-HjKL5JJNWTu4p2uk_J9j4F8TtrX7UeveIPEXi6awbQNSiH2a2txLJFbP908S7l3HHbHfk4roPg3-z54M-KfjLw7beA_ilb6L4t0y0mt9Vg1W28mzsoBHiaWB0ZPMZdigDI4Y9elcn-1X8bLv4a_FrxDpNxon9n-FdNYeTZWjm2N6R0YZXB5OTg1x_wCyZ-zNrHx_0zxHrGh-KJNE1NfMNqsZwqKzEOhbqNwxz3x2zx89g41qNeai3e2nl5_8Of3txFxBkmN4Zw2aYn9zTajKXVJSskm1e6u0nbY_VD4RfCTwrovhG1tNUkt7jSfD2gJqV7f6esbgxoQzsNy45UE-vOK_Nv41-OPD_wC0L-2f8QviXo-l-HdN8J6n5tzoFsrBVSNU2CWc7AqKVBdgg3A4ADGuT0j9pr4h-GtT1Lwbb-KtWaFbCXTZXacrbXcbAr5ZGM7eD3PFfSngX9nb4Q_Bj4D6x488UeH9Y8RaHfaAssuhwXxihtpQMhYWC7ghfhtxOVzWtepUrUPq6u3HV7Xf9eR42CqZXwzWp47N5JfWJRhTUVJxu9Unvbyv23Ppr_gm7-1n8OtT-GMOm6Xpuv6l4l0-1g1C9utXhTfcxeT5aX0BC7nRnWVVDFXBGehrw3_gpH8fvA-hQ6L4k1r4L63fedaXemG9udQsEEs7AyRsAYHdSu1iNxP3yMgnNcV_wTv_AGirXx54y1bTLTSbCyuvsEcnn2Sjy7C2Vj5djuySdrF252_e-7WL_wAFU5Lnxfc-GfDcdtIscrPcNeyM5hidgyLuAGByRknnHT32o1q1XC89V2S0tZfffc-ezDO44fj6lkWApa1Y-0c02mk03ZK9re6-jev3ffPh7_gvf8A_hF-z_wCFdS8H-AnvNUFja_2rY2ttBby6ZGU2s-UT95IpGAvy5z1FfLdj_wAFPtD-J_jnTl8VXGrQ6l4suN2kvchpmMLn5FlYsSjgnGOg9a-VfgP8ErTw18PpI9Qm_tTVFubeK4MUOxLdFySjDJLKzcbm2_SvVP2Bf2crfx5Jb-PPE-mWclxbKv8AZlvJvc2ysA4JVgAGBPbNcuFxdSriIxp7R07K36nr-LHCmQ4DhDEYrNb2mk4q7cudO0Un0u36Wvc-wtY0LTfEVg0N_pmn3cu1Y0uZLdGuIkViwRXILBdzMdoOMsTjJqvoPhWx8NpItla29v5rbnMcSoXPvgc1pDgUV9F7Cm5-0a17n8Jy484gllX9iPFz-rWt7O_u2Tvb0uFFFFbHyQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV99_8ABJz_AJN_8Rf9jPN_6R2dfAlfff8AwSc_5N_8Rf8AYzzf-kdnWlP4j7rw7_5HMf8ADL8j4EooorM-FCiiigAooooAKKKKACiiigAooooAKKKKAOZ-JXwg8OfF3Q5dP8QaVa6hbzLtO9cOB7N1Fc7bfs3aJ4H-H2taP4Pt10CXVLfyvMhYrgjnr2zyCRzzmvSKKl04voe1g-I8zwtFYajXkqaalyXbg2mmrxej1Sex-bGu_wDBN74mR-K0iihWbT7a5aSWdZgftidR3z3719S_GH4JeKPGn7J-l-EbFls5xZiG_hzlmAXheOvPUV9BYoxXDHL4Rbak7tW_U_Tsy8cc5zCWEliqFKX1ep7Re7L3pcrjqnJq1ndWtZ2Z-d_we_ZR-J3gn4h6B_whdrJ4YsbMpcalNIpiW8cErt24-YADPOAdw9K--NT8F6f4ptLX-2LGzv5rdMBpYw20kYbH15rYxRW2Hwqpx5W7-p5PiD4qY_inGUsY6UcO6Saj7O6eu_vXvbslZavuYv8AwrzRlijjXTrRIoQAqLGAoA6DFatnYw6fCscMccUajAVF2gVLRW0KNODbgkr-R8LmPEWaZhShQx2JqVIQ-FSnKSj6Jt2CiiitDxwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK--_-CTn_Jv_AIi_7Geb_wBI7OvgSvvv_gk5_wAm_wDiL_sZ5v8A0js60p_EfdeHf_I5j_hl-R8CUUUVmfChRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX33_AMEnP-Tf_EX_AGM83_pHZ18CV99_8EnP-Tf_ABF_2M83_pHZ1pT-I-68O_8Akcx_wy_I-BKKKKzPhQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr77_4JOf8AJv8A4i_7Geb_ANI7OvgSvvv_AIJOf8m_-Iv-xnm_9I7OtKfxH3Xh3_yOY_4ZfkfAlFFFZnwoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV99_8EnP-Tf_ABF_2M83_pHZ18CV99_8EnP-Tf8AxF_2M83_AKR2daU_iPuvDv8A5HMf8MvyPgSiiisz4UKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK--_8Agk5_yb_4i_7Geb_0js6-BK--_wDgk5_yb_4i_wCxnm_9I7OtKfxH3Xh3_wAjmP8Ahl-R8CUUUVmfChRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX33_wSc_5N_wDEX_Yzzf8ApHZ18CV99_8ABJz_AJN_8Rf9jPN_6R2daU_iPuvDv_kcx_wy_I-BKKKKzPhQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr77_AOCTn_Jv_iL_ALGeb_0js6-BK--_-CTn_Jv_AIi_7Geb_wBI7OtKfxH3Xh3_AMjmP-GX5HwJRRRWZ8KFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfff_AASc_wCTf_EX_Yzzf-kdnXwJX33_AMEnP-Tf_EX_AGM83_pHZ1pT-I-68O_-RzH_AAy_I__Z","issuerLogo.jpg":"_9j_4AAQSkZJRgABAQEAeAB4AAD_4QBaRXhpZgAATU0AKgAAAAgABQMBAAUAAAABAAAASgMDAAEAAAABAAAAAFEQAAEAAAABAQAAAFERAAQAAAABAAASdFESAAQAAAABAAASdAAAAAAAAYagAACxj__bAEMAAgEBAgEBAgICAgICAgIDBQMDAwMDBgQEAwUHBgcHBwYHBwgJCwkICAoIBwcKDQoKCwwMDAwHCQ4PDQwOCwwMDP_bAEMBAgICAwMDBgMDBgwIBwgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP_AABEIAMgAyAMBIgACEQEDEQH_xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv_xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5-jp6vHy8_T19vf4-fr_xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv_xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4-Tl5ufo6ery8_T19vf4-fr_2gAMAwEAAhEDEQA_AP368z_Zb8qTzv8AZNJ83zUbqAHo24UtNQ5FOoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoJwKKG-6aAGed_sml8z_Zb8qbuoTdQA5JNx6UUIcmigBojyWo8j3oywY7RRvagB0abBTqj3OaNz-lAElFR7n9KA75oAkppkweh-tN3OewoGaPIB2_J6GgSA1F5ux8Z9sU0Oc5XHzdD60bbi1W6LAfNIZsHGDn0qBJsD2zge9cD8Y_2ofAnwKtJZvE3irQ9JkhxvhnuR5_Ks6gIMv8AMEbAC844qJVIxV5uxvh8LWrTVOlFyl2Wp6KJQfX8qDKAa-aP2d_-Cnnw1_aG8aanoel-ItHW6s2Vo1eSWNpIzE8u4iREwAsb857HpXT6P_wUS-CfiHxVPodj8UfBN9q1qI_Nii1ON1VnDEKGB25Ow9GPP5HKniqU1zKSPQxGR46hW9hVpS5t9uh7eJsn7rUqyblzg_jVeG7WZAyMrIw-U5x9alz81dC12PH1Wj7koORRUfmsvpR5jH0oKJKKj3OaNz-lAElDDIqPc_pRuegAMGO9EaUF2oj_AN2gAiXa1FER-bpRQAbdrGmsDmhly3WjZQAq8ClpuyjZQA4c0AHdTdlRsoHXO2izZLl0W5MobdTWO3JqNmVZQDuzjrTdyxNt-YMflGB-RpqOoc0T5O_4Ks_8FQPDP_BOD4WaXfags2o-IvEc8ttpun28oWZgsMjecQyMAokEa5x1cfSvz8_ZR_4LS-MtK_ap1K98aa94il8CzWU1_LbzzpKArXsTIIY9mRiHzlByinA55yPqT_gvd4Z-BkHgzwb4s-KWga54n8SaQLyPQNI0rVxZ3V6AgldQm4FwZEiTKqxBkA7gH8PYfG-meGPHvia8t9L1u18N6tqRtrVb9VVbcw58qB5BgExrLICQdx5JHFfKZliMRCvyReu6R-68B5PleIyxxxVP4tHJ201ex_QZ8FP-Cp3w8_4KKp41-GPw31XxJ4f8czeFZ7qGa-sWgFi0yi3WUNGxIaOaZM9OVJUnGR-CXhHU9U-Efxo-JHgb4maxdeIvHPhbVLjTdXvJ7p5lur2KRo9yyOdxVQAF3AcMcKAcn7C_4IL_ALSWjfDHwr8d7jw7ZzzfEqa28_T59QmT7BFbMkj28aInzOTcBmZmVjgAKeor4-_bm8OXX7VX7W3jL4pT6Xp_gHWNeltZNYtr-edRLcW9tEl1qEKyD5YHkGUBJUbWHGMVnWxVPFYa9WXvK19NrmvD-Fnkue_7JTvSkpWu02-W3-fU9A_Ye-H2n_t1_thaP8Pb7xU3hm-1FVszOIJJP7XUW1xLKitE0fG2NkOWHEv4HyH4HadY-GvihqfhHTdJa31KPVZNL0yzuYjDdXcu-SFduQxDM4xyxxkc19N_8E7_AIq_DX9l_wCJdt8UPCfgnVBrGlsh006pqbhLtHimt2mKAkFcSyt8pI4HPp5d8Y_2SPHvg34ral8Q_LfxKzXL-IbT-yNNn8xXnleYxyR4ddyM3OG-6O1ctHCwq0fZYbVp6vY-mxmdYzB45ZjmNo05Jcmid3rpb7j-hT_gnP8ADD4hfB_9lvQ9G-JmorqPie3yZNs4n-zRk_u4d-BnyxxnvivdGUl926vg79nX_gop4m-DP_BJvWvjh8ZI4dc1rwuGuJNM0i2Szu3t3njt7ZHjkKhJSzjccYxyoJ4MsP8AwX3-D50fRpPsOtS3mqW6yXdrDcWUsmkzbFcwzDzwQylschTx0FfUwxVGhTjGb5X5n4XicqzHM8XWxOHp8_vO_KrRvufdglUN94g1Icseua_nX8K_8F5_i9ffHjWPFk3iS0k0aG5mlNjLpNkkaxgjy4y6qGyBsBO7JOfWv30-A_xLX4tfBnwv4oXyf-J9psF6TEwZA7oCQCOO5pYTMI4io6Ud0Vn_AAji8qw1PE1WpKbtp0dr6_10O1XgUtRQEheny54-lPPzV6B8nZrcdQelN2UbKAABs06NKaE5p0f-9QA5Bg0UIMHrRQA0nJPWkz70rLuY_WmHg0AOz70Z96RV3CgqBQAMcDrTHlVRuLY9TSXDLCm5mKqvU1VvdSh0cNNI2I1wxOCcZJA_yKHte4Ri5OyWt1bzPzV_4LHf8FrdW_Y58fn4e-AVhbxKiI9zeXNgJ4bV_kk8sM0qjJjPQo3XqK-V_wBnf_g4T-K_w_tdMk8eata-Kli0WRbiBdJRZWupLlnjlc74fl8pGU7WGOOM_NV__god_wAEjvFH_BSX4z-MPjH8CPGmgeJNJvNY-xT2GqC40u5srmNFjuAJJI8Mu5VIwvIPU4zXwN8TP2XPiUvxYk8E-H9NOrf8KvCz63qMV9DapeYILR7XlDNF8j4zkkdQucV8riq2I9soxe97eiP3bKcvyKOXSjXpKUopKV9JKT3Vmro_cjTv2uvhF_wUk0PVfE2m6XpesHwNcnTbC-1SxW3vdOuJIVmkEW992CywspA6oPbP55f8FTf2jZNW8I6t8PfAvwv1PVdCa2c_2zJoG7TreT7NLHLMs6yjEitNuLMpOOecEV4j_wAEW9a8df8ACsfiJ4ft7C_h0O31W31Se-t9RRXtpmgKi32GRSVMQDblBHyAdgK--fE37Sfg39kKPS9C8QWepax4qj8I3OttpsFtG1gbNnjkSS4LMAzFmZWCFyQXOBuwezCxoRvUqVLyWja6X6Hx-MweMnio4HA05ezXvRV7W0tdt2XU-Wf-CFv7JXhH4U2OofET4wXWqWemeLLHb4c0xL6SOO-8uZWNyYYwNyNjG8thQ20hMgV3f_BST9nW2-OfgfU7vRPDPh_UNa8PSXGp6cL2d47qPT_Lnk8j5JAZsuYsod6llxyevhng39pW2-KH7Rmg_ELVPDlh4b0-61S01bS9BsZd1vaRyzJPAmBHsUNtkfC_d81geclvTv2uvhprHxv8O32i6D461zT_ABBo32-4R2uJlFzJcbnWJ2BH7vcUCHPypwQDwMsthTxNepW2vZWvpp1NuKMDiMinh8R7R1JSu3fo7K6363PC_wBjqS1-J_xE-G1xNqF40c7fa9TE8iF724CsyLdCQN5cfmpgKPLXyzjhQMfdGvaX480LVtNbwP8A2fqUFyhFxLqErSvKSAcJggM_luAQQf4Mdefx_wDgv4M8bfEP40aH4Bijs9LmtZhpmtW97cloLSYIXiD-WWWQHI-4GHqV6j9cvBni_wAK_s1eNvBHwh1SHV9S18afZ20epSTJ9kWZWkMJVRGzk4ESljsxhegHF08vp4ehONaWk5LVaW12OrOOI8Zn-Lpf2dT5pU4ap6pae80jy39s79qvxF4c-CfxP8M3-h2f9i6nbW1lpVldqrTalFuQXYcCf94AXYKOSo4ABxXzr-yb8HfEmueG_Dd34d0FdQa8jSQz2cES2mnxOvyDc20huZV4LHKAN2z9-_tG_sd-Hf2qJ9ButYe40C48LkbbmNIp7kG48l1ZvkwPKdfmCO2VBKnJCjlf2FPjxpfwL1HXvhjdeD9BtNP8F3ENhqywgSTyTFJJnnJWNY5GIdMtjcRH64FZ4zKp1JqM5Pk8369zs4Z48oZRhJVqdNPEXtZKy2Wrstf8zyL9mH_gnSl344-I3xw-L3h-68D_AAj0W0vykt_L_Z7teIIEhAgAPmI0jHaRkOQOSOD23_BI7_gp58VvgH4j8JeF_H19Y3HweM9zbwtFZrcXizSFvJVW3BvLDc55AHfjFbH_AAW-8e-O9E_Zm8M_D3RI21v4feNLuyvdH1gai0MspuJbt4LR7dyu0LsX5iAo2jAGAa-M_jT8CNH_AGZ_C_g288ba9qFp8RLjSbeI-HrGDdaaZHKJisjTAsjOY1LERsRmXqcMD52Kozwcoqjv38u34H2mR4jD8Q0ZPNuVRmvdS2T76397XV-iP6iNLv47-whmhbdFKgZD6jAq0DxXx_8A8Eh_247H9qn9mzw3avbzWur6TaPayhtzpJHAUQSbjzllZTjscivr7zAz459a-voV41aaqLqfz7nWU1Mtxs8HW0abt5q-j-Y_PvRn3pAAaCmBWx5Yufeljb_epg60-LtQARNlv4vxopY87qKAEA-Y_NQcZo4cn_Cgpz0P5UAC4xTZuAKcE9v0qO6zHEzL97GBx7igFuN83aM88egr8lf-DjL9sTxF4P8AGXhT4T-G7y60-S40w-Ir5Ibpo0vkafyo42UBfuNG7giTOeq4Ga-zv-CqH7etp-wR8DdP1nerazr2orY6dEZki-6N8rZdHGAox908uvTOa_Gv9m3_AIKC_An4rfEXxlqX7Vmm6z8SvEU14JPDV9DbyXcmnQOGMtsPLeHbGSgcAggZOFXv42Z4hS_2eLs31P0jgrJqtC2dzXNBNqMVrJva6W2nmH_BFL_gsHov7DGl-IPh_wDE7TNFh0HxRqL6zezSSztdW135ZXLCNJjKj-VHxjCHnOTX0h8TP23brVda1bxX4Q17S9O0_WtMNzb3ixeZFJZruFusUUmOdi7jwWY9h0r53_b0_wCCcf7JfgTwXovinwD4ujvbnxfL_alhp-kQX11PDZSNKrbQbwj5XTYyjBXYSQM88B-134t8N6n8DtPi-Fd1dajY6XYQjTLyKxktBHYLZFp4zEdzKUkeAOxBAfPznknkjUjRpyas5JWXza6ntf2d9ex0K86c4xqylzPvZPdaan0r-w_4EkuPD1x40vNN0TV9L8VFtUNvCo8udon2pdN5chC5UvGQ6AnYTnGRXm3i_Tf-F9-J7rR_id4R0_x1qmrQyx_2nBObWbw3auRBHbQwws0k8cADsFLsHY4AHAr5j-Gf7SmvfBzw_rn_AAj3iuTQ_DN9akxaaZE2vcMpkgvF8zJdzExVUH8I684He_FLUPib8PPg3puj6brUmra1qsLT6trZjQzCyEXls0sLI8nzMWbdjgIoDEMMXgaWFxDdaUbT6vv_AFY8fivD5hlM4UqdZuk3eNn71ltfy126nnviTWbP4K-Mrz_hGo7_AMRWSeJjpNszzsoSGDEUd1JIykRoNm0E7AqqSGwc19_-N_hCvwc8KtB4R8Ox-MPE-pOLe4lGnfPpEbiQPKwjGzLTL1ba37nIOGJPwJ4EuW-EngXR7zxLcHwzba3-5tXvAHjglJ-eFuTtaMgY3Ab1JbgYLfaPwP8A2ndN0_4AQXWsalda9qFnfTX0dxN4lmsrWGUIvlxXN4zAqiokeElUps3kLiNhWUaGHnVeGptpyau15NM9bPJZti8vp5zmEIqNNWUGtfeVuaS6bKx5b8a_2LNK-EX7XHgP4q3GrXGsalYWz6nq2nW5F5bxvBG0ImbyWdg6JGH3rhMwqVVQpz4t8ePixrXiH4yf29L4g1iHxxrepQFr6yvWt5rSL9xIpa35BxbzEBlCBQpbAAwv3FrPgGLWvh_r1ro_htdL1DxNLLZ3-vQadby29vHcQw24WZciYK6tJAjJEyRyGRgyBWlHgPwv-Fs37MWh-ItJ0_QZ_FHib4X6fpzTeIhqC2ljeaijzS3KYkkaSdxhYSFhmHmAx4CgE9GYYDE4hRV7JX9Ndn8jzODeKMuyuNd4qNnOzTWrsvs9NGe4_s-fHLw78Xvg1D4y8UXiXU15NKk-Yv8AR4AshCxzFIxhpYWhlDuQWa443EbQz4d_CjSvjH8YPhp4ludB8H2cek6pdX9rcaxHFdXOnK7AwJHI8kazDdGrDdG5VZFB4AJ9N8c_CbR_iBc289v4NEtrLaW15DqKeH7UzafGlzNILcQsys0wVNitxsdgQyshK_HHx-GvfsyfEzUtQGqaX4Pt2DXN5p2iSw3i6_qE2fMvHOIyrHzYCQVJGxiAW4PXUoxhh4rEXk4eW_4nz9bHLE5rU_s-KpwrW0eqV_lofq18GfDdvq3wvg8M-OJNPuNNtbSW6n1WSZIbNdSDl1aLLNHCqZypDEBU4bnNfF2pfsNar-23c-KvCuoa4kt9deKLq88Q69Lp0M0-xDuBE8kgCxMjW7Da5GHGCQa-KvHH7aPiz4_aVrunx_ETxd4qutUtksodDkmupZL29gliaO7eJ_3cEJMSthiABjcmHIP2P-37-wB8QPiv-yr4R8afCXVJrzwjf6Rpth4t0uxuXXzjBE6yzupfBjjMNmCBjiEAccHxMXOGP_d2cVT97R6u3Q_RsuyHFZA4VHXjUlWfItLxV7O97pXul69y7-zR-0h4f_4JHftuaP8ACqa30O-0qTy7W_15pWkupZLqNJC0aQGRVRdiLtUMAVYkjkD9rvA_jHTPiB4WsdY0m9t7_TdSiFxb3MDbo5kbuDX8lvhjwzrWgfFyG1vtPXUtEuNSSDTZBPHiEsyhXABL8fvMHvu96_oi_wCCOnx60Xxj-zJovg23a6a88KtcWMnmJtil8tlbdGe6ASgfVW9K2yjHKNb2DfuvVXF4hcO1cRgP7Xn_ABKclGdlb3bN3trazXnufZCoFb9aeQMdaZHhlH5fWnFPb9K-nXc_DdtBOPalj_3qTbjsaWN1pgEX3uuaKcjAniigCNn-bv8AhRv92pT15pM_7P6UAG_3akZsjndjPrS5_wBn9KR-R0_Sh6qwP4dD4T_4L3f8E8PFX_BQf9mbw5pvga-tLDxV4Z11b6BrpZ2ikgkieOVT5KO_9wjAxletfFnw3_4NMtYbS21DXPjDb6frV9bW0jpp-g_aEtJgrCRVMpVtuDjJAb1r9p_HXjPS_AXhybVNa1C10vT7cqJLi4cJGm5goBJ9SQK-dfgb_wAFLPhz-2f4V8Qx_DrxZBo-t6FqLWBh1kRWksu0hmmhRyfNiZTwwHGO1ebiqFCUv3m9j6_J81zalh4rDXVOMt2rpN_Jn89H7Ta-IvgfLfaLqljrH_FE3M2haRo9wZ7LVZIUupFa5Q43-VKyvMAq7dshwdteT2_x8vLex8L6Bp8dxdWusW4sfsOlOZ7rSYHdY5IZ0zl2f5WJbaWIA6AY_VD41_BfSf20PFvjKTxh4vjk8SeHfGN5pUl7YQvcPfpHGPljkheLEY-VgehweOTnhYPh94Z-GeseKL6y0XTbvRfCivBDawaWLjUZrhQWgVItjHeUgkPmu4w8gG45LDyaeBhTlz1Ph0t210t2Pu8ZxxVrUIUcMv3tmrK1lbdr_EunQ8d-Gn7G3hn9oTxnoy2_h23jsdPkt86cXuYIra3hkEQEm13JwoABkBO3dljjFfSQ_Zss_j8-n2Nhato__CJ6TJc6_dTXMjySsXV47QeWsfmBIXKtHKVUlRuRyS9eSaOsegalps2m2iw3F9OFnP2z7MxjXylWU852xYKlVHUkjcSTXutl8R_hD4H3eHLe1j1qXRbyHRcW_wBoMnmvGMXxhjDrOBIsyATsB8oUsobA9L6paqo8yjT6Jbt-vY-AlmGIxVCdWUJzq095O8lFNq2mttrLY-P_AI8_ssnUNDh1pvEEHiPwz4c1jUbKxs9RjAj1y6tmQzX0IUsj2ytm3VlyCVfKoSUrG-BOi2esnxBJrVwq-G5tIL6zpcO5rGyALiYiNnVVeSPcY53IeNFYLlXOz13_AIKdftCx-FfAOn-FLHUtcGrw309pHff2e6tdWgRwkdpANw8iPzEy0ZVQZIh_EMcj8AbK68RR-MLGHxZFpdzrGgJBDFKFE1hbZuI_3SQs80hO6PEbJGzeUoTcACD-zY06qrU4tNLboeriOOMTjcveXYu3vcqcnZNWa3stdNkenav-3NpPwJ8Y6b4M0q61nxp4m8aafHdRX00tr_wj7XjK7x_uUVpFhj3RlVST_WKzkHcQcX4s_Frxde-P9J8M2vhVUXxz4fvfEHiDVrLTWJ0hoftlxLMYypSW4mkgnaEOYoldolZJUVlbw34l_BjXtM8S6b4btrdNSsNOI1m91my_d3VvbNsuIjDAuLpCUiOdoQZLKSdj4-hvht8D1_ab-Hvh-2PjjUJvCdlNp954q0w2kkUep6c00TQWN46yqJC32ecsGZ1H2pirSbm3c2Fxdepi3TrpxXLoum6PouKMhyrCZBGWXqNRqcU531s4u6t01PaPgr8ZdY1Xwh4a8D2_9q3WpTaNDqKeKNL1N9UtbwxebJMGaRMzQ77WZi0bRZ-0S7gMAB3xs-HPwv8Ajb4E1q-8QeDU1zWtQsrq3t10i-nEsjxqzxm1JkchtjQlJAGd8IWyAoFrw74U1zQPifoOp6P4PvI_DPiK8mibVb2-_s6w0e3zvsbaG2kyBbbrgQJPAgXcGONsaE_KX7Vcmt-Cvi9a-JPEt54i0nxBpMU1_fR6AZo4JRK8imNriNoIlijhVYUlUMG2OyqGJDer9aoyvzNtLX81-h-XU8PiFOM4Jczdl5Wtb8z0HwH_AMEsfDXiT9lq48a-G7HUfg_458P-JbjRbpr7VJtR_te0hLCWcGeKOVHkB-UqdoMCryC1Ytr_AMF3Nd8N_sq3Hwj8P-FdN0m3v7ae1l1i71APeiKUupiih8sIrHK4mJZhz8pODXs3wB_4KkJ8KvgVo-kax8IbjxYl9rt0r3I8QQRxaikwmaOD94gx5khXdI2AWdgScncv_BPn_glh8G_28f2E_EfijxR4B0HQZNU1LUbrQdds7mdDYBCjRhIYXt93lMZk5A3eWTyCBXg04wlVaoTTlJa23S7M_ZV9fw2D9pndJ-zptOCclrJ9bJ9LXs--x8N_A-0j_aa0_wANaDpcF7p_j3VNQ_szTYbZCWhuI97RSPtYyHaqh2Ijy2Dxgk1-z3_BHv8AYA-Jn7KNnbXXjrxHZ6g8cV1HLDbRzxrctKyMJWWRF-bqOPQYrwz_AIJIf8Edvi38Ffiv4d8S_FCawh03wpcS3Nni8F7JqbAKsM2AwMW5HZgrZ2bRxkjH64oR6EccEqRj9MVWT5epSdWrG3K9CPEDj6FShHAYCUZqcPfaS37dr-a1HwnaFXngZz-lSb_dqbEoAHG5hxmnZ_2f0r6Y_DPMA_PVqdG9N_D9Kcm6gByNk0U2LO7migBGbax-tJ5lOIJY49aT5vagBPMprtnsakwxpCpPWgD44_4LpXmqWH_BPfXZtKWTzl1SwEjARttQ3C84cgfe2jjnn0zX81_xSk1DWLK41lbODUGif_QTbTeQxR3Id5BICBnA4GcY-tf2EeIvD9j4j09rXUrO0vrKQgvDcxCSM45BweODjrX8z3_BRD4t654x_a9-Kum2fhzwnZ6XH4tms9JvtI0tLW5SytVkiRHaMjKEgHBUknnivnc4p8s1WufsHh3mEq-Fnlbi7XvftfTa2p1__BJL4pW3wfs9V-FcmpQy-ItSUeJoL5rWTbcmQBJ1VRlVKbAvz4DKMgBuvH_BL9qDw78VPiF8RtNW_v4_FbeI4kilS0DWd1pflFUchgrLIJncEdwRgcV4Z418K6p8Q7OFJtS0e1VbyZtVuhGII7JQT5SK8ce9Jtx2uq9mHbJrjPD_AMCfil4J-Jtvqnh_QV03T1dre3jK-TbywLMpR1BIZtwXOWPOe2ajC42WKoqnrp1XkyeMOHKGVVZY2j8MtIxau7vdrXprqfoNqVldaPqdrcfapLXT5LwrCqRLJ5E8sjM7HPLK2wEd12HruGPnj4iaN4t1n9ovxVq0DR6SbdZdSvtQdYpLnxD5cg3xeWC0dscADKqwDcjcOK968GeIZNbuvElnezaRca14VCHUYTBmfT4jEJd06becbicoG4OOTkVQ8PfA3QfE02oeIvFmmyeIr6S0j8VWWpw3btp9hqUkSyTFSHUcSqH8pw-6PyiVY7q7c1wsq6pqhqtX3seHwPnWHyqriauOWqUVa9nLXs-258t6t8DPE_jP4paLF4NsNNufEPirR3n1B5bowRacnmwxQXSl9wdgHwU24Jizt559d_Yx0PxBqv7POseI7rT9X0XRxqw0nT_D2jPZXNxq8sELrJDPNcyARidl2vLG6eUdnlow3ONn41_AnU_HFnHJodnHF4l0mQX1vIspikhRULJKBH0Quy5DgISg-Xg5o-Gf2nNf-GHiKHS9Mk1DQtNt727_ALS0qaNraeSHz0W2i-Vhu89EunYxvkq0GWUhVWeSthaalUqpxVr6a_1_kLGYrDZ7mc55fh3GpUbsr3XRp2t2Tv6nufxX8b-MPBnxqElxouk-FYtSs4b7UZH1AzTX8bxtHBFEqxzonlLGo-YguZCS_I8vU8CftJ2WiXmg6jpNneSa9pN9a2s5SBW_tVzcqrpI8kqpC0cT7w0cTK3mhcEqa4v4r_GmT4w6JeDw3pOqXU7W8MV7eCKOe1GpyKivb2bPI7BIcRRvgfLj5mONw-K_FXwf-J3xR1HWrzTkOtR-G5fsvmmeaBoBdW0LARBtjyySmVgzkOxygDcLj0KNanOHtKbT0sfMY7B4jBVXhK6cddU72uftH8LvjRo37Q_wY1CzTxJpcmuaVPqOkeGNUbTrv7DaXMTPDceZHtjklx5SBiyoN2dgZRubg_2kv2LNF-NGj6LoOsaldfZdQtRLY6W0fkLLbxJDcqJpEZ2ULGE4R9xZXG47ht_L34ZazpngiWwttUvYfC91piwxadZYEOh2N6FCTm9yCqSRzBclmGDGnXv-gXxO_a-0_VPgJqfi5tX0qSzfSpLi41W1STzjNcQqt1Iol5UOGGWVQpyxBIAI8_L8wjUqyoctkvxsfX8R8G1crwtLHU6jnd3aXTRNNvzfex8o_Er9lD4jfBH4Y-LPjM2tM3hXT9VXSbqa8trU6pFcv5Ki8hhicwmFiybUclwjksu4Yr9dP2b_AAq37NX_AARh1G3eG3ZfD_gi4v4UidjuU2azRGUsT-8wy79nybs7Rivyv_4J_f8ABYrwho3xo8RL8afFPjrVfAniFHjl8Ix6FHf2KzIbQRutv5TEALbkAbyMkHbk5r9pP2hP2kPAt3_wTf8AiL8RND1LS9c8Hr4UvPIAhVo5HMGyOCWHCmNwzIjRsEKnggVhl-DhTrVKt7XO_OuIsbj8Fh8HXg2nKLb10voot233Z-Skv_Bzz8fdf8NWNjpPhvwLpNvplom-4S1kna7WNDniSTjdlQcAY28YzX3r_wAEZ_2uviJ8VPFtxoXjDVrXxNZ67Fc68l4LGGymtZJBA_kFYlCsEy4DAcgjJJGa_Be8_auuvGnxHs9JsfBXhjQrGaaExSaVo7QiebywjRlzIwKs-7P0HIxX9DX_AARI_Yv034JfsyeF_GN9pf2PxVr1tPPMTdPKESZl4wxODhBwCcCsKFXE1cTGCk7LX8T3s0weSYPIsROVJc8nyRdtVKzd738j7oSRnkVuCuM9O9SeZTY154x3qTDV9RvqfhN9bDd-adF2pPm9qWLtQAsed1FEed1FAAQy-_40ws2elSSHFRl8GgBys2On60MW9P1pFbIpGbFAEdy_7n5scHoT1r-df_guj-ydH8Pf-Chfi68fV761h8Y2lvr3m2irD9nVmePykGc8MnJJ5z071_RVIisnzbf-BDIr8uv-Dhv_AIJ7-Mvj9o2j_ED4YeH9Y8ReLLGNNM1C1tpVk3WgkBiKxs6_xSSEkBuF7da8vNqM50bw3R91wDnFHA5jbEu0Jxafr0Pxm8c_tzf8K18SaTa-DNNhj8K-FYzZW9lcSEveB4vmml8spGZNwySEHUdTzX3lpmtad498J6RqWn-XNb6lZRzLK7qpVGHIJI5wc-lfnvqv7AHjLSv2LF-LXibwn4y01rrxdd6BNZTWD28NpDFFAVnZmXcpeZ5IxvGDswpNejeC_wDgoLovwI-Auh6T9ot9e8RW4uUaydJI_s1ujERc-W3DcHO7-KufL3Cj-6l6s9bjClWzCpHHUJcy-FJdLdv1PtDXrGHWtY8S6ktjbW3iDWILdLi4js_Mjx5LIyqcq43bYzkswyhyDxjzXUtXvPhB4KuI7rz7yLSGEk91J_q5BbiVokA3bixjcqVAPEK44IFewfDLXtO8VIqrPbu0ljBO06OJA4cFkz2-63_6q-eP-Cj_AMXtD8FWfhPwnpuo2dxqGrXg1LxAIpPJazt8GJd5wV2sGkYrkE7Qfc6RlRoUZ4in121fe36nzuHwOMzDMoZdi42kviemitu39xd0_wDah8A-JNa1n_hKdP8AGqWvg23SSa61C1t5reyiDSzxSWcZkZzJ5cjttwhO0AEEmvO_2q_HHij4z67p7aZpWu-GoLW4NrqBkuHuPsF5IkbSWN1JGqqsiLt3oeV2MCPlqj8KfEvh3XvHXiK3XT18Q6L4oQWsPiTUo3k0-O7wsEIFoqIHgjj3MTI7REbgzfMMel_EP4U-MPhtps9j4L8J-LPi5p95rVxd6tcvc-R9s1RyYb67kcxliySW2EAYRD7RKVDLt2clOpLG4eWqS6n2-My7CcJ5lTq4eEp8yai73V9LtPRPc3_2ZtD-J2nHVG1rwVa2Oj-KPsUNzpM9sU03wikDSb8RtJkyhXWdjHEArBDz1H2n4P8Agy3jv9nH4zWfh-0bwx4d13UIL658QW6wac1pOt2013dmQyBzI0SxSSKYg-WKF24kHyl478aeLvBOqzRXWo60w062ggvf3oMLybdhMoVTl5RtMkrs2d-AUEeB4Xcft9fH7TNLn8M2V5qcXg_V9Rv_ALfaeRss7iG5mKxzSyjBkRlK7QHC7EUDAJJdGFSjhv8AZ5xs2r3_AJba7dT5riXNK-aY2nFUXGei_wATvo-uidz6-0P_AIIJtrnia5t9U8c6jfaLqxjj8QS2uliKIyq7hMGRyrLJ-7RkfLYDdnQDS8ef8ErtQ-MHgweA9N1a1tdDvngfxHe3lx--je4MM4ht18oL5YTaMS4-WQDnkDmf-Ca3_BTn4ieMP7W8KfEzxRYXMmoa9Z2-kzGHyZNVbeDNAjxH5mQiLbLuJYzAEvtxX1l8TfEF9-z9Dpt83iLUms9U1CbW9c1HUraN3eJTBIsCRxxokUaRgwIvlsyKq4-Zckp_VZU_a4am52etr3S77nqZ9mWeRvg82qqEZRSVoq0rPTVK5-Rv_BSf_gmFZ_sl_EXTLOx-I1rda94u8nUlsJY_s15ohY3AbcUZm-zbrUkMVQATqDyDu-xP-CSH_BPH4gfGn9qjRfiNrV7qWi_Cm0sL-2vfDl_fPcJ4kmJdA72-zyHhZZV-ZyWJgHGMAfmr-1z_AMFC_i9c_toXHi34i-D9CvtUhtoG07SvEFjJJD9gZ_Ng-UOrsjh24JxiRhgDgfoN_wAE5f8AguX4-_Zw8W-FfAfj3wj4dvNG1ZZ7i4ntrZ7W70kyF5iiCFZMxJHGzBNpIVgN3ygVzYijbEpuVo9up9BlmJq4rIKlDBxdTEaNt7JWaTXnvY9v-Jv_AAQN17xx-2xqml6Vpui6D8Gbm7g1Oz1W28gXlm6JEWgW3WNVVfMWQcDHOepNfrD8N_AFt8N_BOk6FZ_Na6Tax20JZVUlVUDkDgHjtVP4MfE_SvjT8MNC8XaHcR3OmeILVLy2ljJZSjjPUqD9QQDnOQDXXfxZ7DjNe_hcLSg3Vp9T8xzziTMMbSp4LFaRpK1rW1Wjb8-g2MMo-779acWbH_16N1Bbiuw-ZGgsT0qTY396o1fLD61NQA1VIPWinUUAMmJ4pmWqSVsYqPfQAZajLUb6N9ABk9_1qNm3Hbw2fbNSgq9MdMPleDQVF2Pzu_4OKvAvi7xT-yT4buNBtdW1rRtN8RJLrmk2UEkn2uGSJ0heRIwxKpMFPI4Zwe2a_A7wx-znD-1X-054R-HcN_Z-FdS1rUraFdT1SN4Y7pbi4hhSFVO18_vQQpCn5W4Hf-vDxR4Q0vxto8mn6xp1jqljMVMlvdwLNE-0hhlWBBwQCPQivmnWP-COH7PmqftD6H8Trf4f2Ol-JvDckF1aLYMbW1jmhmSaKU26_uyytGvYAjI715OKwEp1PaR2_E-8yTi2hhsqeW149bppdbn5T_tG_sqxf8Ex9R8W-G9B1nTYdL1i7huYxp9-1vIrpasr26KzkklvmwGHLL8oPTxPw1-2b4R-KsfnfErwfeaRJ4OvoRFrLQLPdTRwgkR8LE23G98lmBb1IyPRP28_2WfiD4a_bH8U6D468UeNvFWi6Lra6nYeIdUknt9NvHuQswtw7BkZo4tilFO0ANhQDXiGqfHf4e_DvWNQ0XWfAel-LNP16MPLLJcCOW3C5i3RFeGdldicgAtjivAwteUMS6NRbvW_kfo8-FI_2HDMsNUcppK1nb4t_Q-m57y0-ImtT3nhbS7XVBZ24EgazjJtA7NIqB9rhWY7mZARtOM54rhf2hfjh8R_2TPAN5rX2bxJa6f4kvGstPihkaO2cxWwaWFvlKMTK7lkYYYuc7ucevfs5fEL4L-BfDV5pfg3X5DL51gL661nVLaVrl_JYyyH945HLKCoIUbT0zivEP8Agrf-0jZ_Hn4-2Pwx01lh8J_D3UftVhJo0kKW-uXl1hmLOA-8hQqbQTnceM4z68sbBUp1KceV30Wn-fU-Gy_J8dmGY08Liasqigm223ZXtorq3rY9t_YQ-LOoftL_ALMWpeGdfgsdJ-ImpXUcFrdtpiXcyxuy3JnlhigEao0Tsilz_wAs2K_dxXsHxu8IaH-zl-wjeTX2i6trHjS18PyMqx6bMZZHu8IPOA3pGYvNZyGyoAOG64-O_wBib9p_xT8JPjJqzeGfB9jrGl3mrWml3FxPYM1y7vm1xYFAypDaeZ8wYyMwjYtsztX7v_a08G_GK5_Z18feKLzUvCfhbw3Y6OsV2-u6H9oubsqSC0YlVY0DF1UbSOq9wAefA46HsZRjH3payta1--_9WPW4jyFYLNaVSc700lyp31S6RstLOz1tufm9-zh-xh8aPi14EvLH4Y_DXxMmo2V_HFpmusselx-ELtnWSW5PmssnnFdr5iVtpSPD5wV_Yv8AZg_ZvvtJ-Gnw98P_AB08T2PiP4iRo7XFhdzme8vQ08jrldwzhNpdznO1iS2CT-Uf7AP_AAXn-JXwD0rxRo2oaNoviK68QXtrLbzR6ZHaizkeIQuWWPAborDIySDnINVtc_4LKfG7Rviba_EbXLzR9S13wTF5el77YiLWkZpUfz0BVcYcqDFjHXqK5cPiI4Rpxb5m9e1v1Z9Bn2VY_PIv2kIxpRV423ulpF721evey7H6k_8ABfH9j7T_AIxfsG6lceHfA9nq3jKx1bSFs77T9Jjk1G3gS5QHEnyv5SB2YqGIAzxX5Sa5-yp42-L1unh3S7PWNS8V6nGLWC5FrNHO9zt8thIxwVDAPkkkfN3r95v2FfjZq_7Z37Hvg_xp448KwaDqHiiz-0XWjyRO0MeCdpCyqCQcBhkdxz3rvtG_Zq8B-HNeh1TT_B_hyy1CGQyJcQ6fGkiMSeQQM59-telmOVvG1I1VK1j5ThTjqHD-GrYHEUuecne62ulZX26kH7L3w3X4N_s_eC_C62EWnnQ9It7RreL7kTrGAwH_AALNegnOaRQEP4-lLuGa9yMeVWR-XYnESr1ZVpbybb-buGWoy1G-jfVGIKW3D61NUSvlhUtABRRRQA2Q4pu6nSLuqMhQaAHbqN1IFU0uwUAGc0KuWoCgU5R81ADFXL1GINr9cAe9SqvzmmpHtpxbQpJNWZ-av_BxL-x58TP2kPhn4L1bwB_ampQeFbq5l1LSbSUZnQwl1lWIodz4jZAdw-_jHPH4-fsa_AfxB-0N-3l4L0Lx_wCDdavLGz1-0067t30xooreFb61jYS4XaMIzBmPPviv6q2iyfXggg96x9J8B6foMk0lrB5ckzs7t5jHLE5J5J79unFeViMtjUre1Z93lPG08JgHgpQultZ218_Q_mu_4LYfs9fCn9k39r7UPCvwfuLW3DMJ9e0rzfOh0Z5OTAu5MJxhtu5iN3XsPq__AIN0vhL4J_aZ0n4iWfizS9L8VabpF1pmsWceoxLINOugsyCWEkblIUHDA8HdyOK-n_8Agpf_AMG-fhj9u34vzeOtH8TXPhXWtcPla6JFa5hvExjdGpI8twCRgcHPbv2v_BNr_gjfafsKfCPx54cm8SNqEnjbT_7KNxbKQ1nDslTjfkM37zdyvBGORXnvA1Fik-S0ddtttPxPrI8VYR5FKj7e1VxiuvNfmV_uV3ufjd-2V-3N4k8Zf8FNPGV14bv_ALHaeH_Ej6VoE0Fr5WnaXaQuUaQ9UZm_etvcOS2DwMCv3J_ak-I_iX49f8E0tY1T4G3Gj-Nta13QoobC5jSG7juN7wpMVST5C4iMpCsuQyj5egPwz8UP-DXLUtZudes9A-I2nWul6pNCS11aSNcmPEaykkEqrMqtjCkAnt2_RT_gnT-wZof_AAT5_ZvsPh3oeqX-tWtndSXb3d6AjySOFDYVeAPlHGeP0qsvwc6cp2p8vN-Hp97OPijOMtlg8L7Gv7adN3tZ9bXTv2suv5H4K_Bn_gmN8SPhL4lbxVq_wv8AFcE2izra315dW7-RYSopQSKuQHjPmIdwDjgkYxX0N_wT3_4JO-NPj3-1R4Z8VeLfD0sHwx0RITNHPL5Cai4N4WCIVLOokWEkZXAb0Nfu1caJFcwGNlBU-5H0p2naJDpNvHFbr5aRg7BktsznPU85z3ojkNq6qTlePY2xHixWll08HQoqEpO90-lrbd_O_wAhujabBo2nw2tvCtvDbosaRoAFjUAAKB2Ax0FXIxg_40CIAUqJtNfRRikrI_IZVJN80t2Cn-dLnFCrj86CuaCbW0DdRuo2CgoooAFPNSVEu3cPrUtABRRRQAjLupPJWnUUAN8pRR5Qp1FADfKFAjAp1FADREAaXYKWigBvlr6UbFPanUUANEagYxQYVK_dp1FAEZgU_wAP3utOMa5_wp1FACbBRsFLRQAmwUhjBp1FADfKFHlCnUUAN8oUeUtOooAaIlBp1FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH__Z","issuerLogo.png":"iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAIrPSURBVHhe7b0FgF3V2TW8znUfd_dJJu6eEA8Jwd2hpYWWystLXWipFwotUpwQ3EJC3Ii7y0gyGXe5c--d63r-tU9ogZa27_f_fb-fpHfR25ncObLPOY-stc_ez0YcccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRRxxxxBFHHHHEEUccccQRx_8fOPH223L9xo3yx_-M4wsC1cc_4_j_EcEtm2VbMIgMKf44vmiQPv4Zx_9F2DdslOVAAEd378ZAexssOh36-vqRkJaGKfPnwqOSUHrTLZ95NgffelPube3AuJGjIEejyLp0QfzZ_V9A_Cb_X0LLprXymcNHUZKagT2bt0AfY_oOBxF0OWDUadHb04NepxMzL10Ej0aFJU8-K9W886r8_qpVcDsH6Ujd8A44cMmUaUA0hpTUFGQWF2Pqd_47_gz_FxG_uf_L2P_2K3JPbR12rFwFnT-IaSNHo6e5FXpmCbUcQ1Z6KhCLwN7Xh3MtzUgrLIBXpcLQyVOxbts2nKyuYcaQkWw2IyspBYkmMxCKoDgnHyqjEWPmz0PVA9-MP8f_JcRv7P8AO596Vo6EvJA0EtIL8lC19Jr_0X37zYPfkk9s2Yy-2lpkaHSYOXwU1D4_shISIYXDimPo9DroDVpEI2E0dbTDRfrklSQ4o4AnHEV7RydsFjPyMzOQSIdINVug59-ybCnod7hgys9D7oSxGPW9eCb530BcFf4T1H-4Tj7z8uvysfUb0X-yBtWbt-PNPz6F9vVr5YaPtv7LHifPwCBOn6xDJKJGeloOnANuZg49spMzkJecCYukR2dDKwb7XPAOBhCNqsmeNHREExJTMrFw0VKMHT0e-dn5iAZDCLhc0EUjMMeizEY-JLAFPlKvXR-uR_XLL8d7wP4XEHeQfwITNYJ2cBApND1bMIIU3q6EiAxTKAxjMPjxVv8YAT-NnvsGIzHIkgZqjR5qtVb5Xqvhv9VqqLX8adDDH4shrNYgwHMEoEFUZ0RIpUFMpUVMUkEmJdMadIhEw3SiCHO_DI1OjTAdRo7xd0n98Vnj-Hci7iCfgzW__Zm8_fe_lF97-glU79sLMHL3njsHe1MzTu7ejc66OjSdPP7x1v8Yiy5bhPTcbCSkp8GSmIjeATs0NPKYVoWewQH0-ZzoD7rRE3DhnL0LzfyuauoUFI0ehR_v2SFd88wT0sjJU-CgQ7U5BuCIhEjBQuj2udEd9KCmux11PZ3IrCyFMZVaJo5_O-IO8jnYT92wZ8N6NFefhoO6IOwehL2zE21nzyKfhqghvTEzu2z57rflxy-_VD725GPyi1__ivzYV--S97796l-pzpwbb5UefepJpNBJth89gAG_F_2eQbT39Si_u5kNjGlJ6KHBN_T3oN3lgCrBBltOzsdHAE7X1-NcayuiFO4-bm9ITIApLRmy1YxYohWzrrsKc2-8FvlLLo1rkP8FxG_q32DLr38qP_ub3yFBp4fkDWBixTAEnG4k0nBddBRJr0F-aRGCchQeOkpbexs0FM4DFNS9gSBUSYl46cDhz9zXpWNGyp6GJiQEw6hITkZxWhp4dNImGYOxAPr9HjR0dqHbE8WoiROYKWJ46cj5Yzx8xbXy1lUfIC3ZBE0kgIqcXMjUIxaLDeNmz8Eljz0Rf4b_i4hnkE-h-sN35bUrVsFInRD0emExmeD1eZFfVAAzHWTA6UAsHIKK-kPj9SHQ3Y0COoQuFKR4ltHZ2AJV7O_t1USHaHQNIqhWwSvH0Of2ooMCfsAf4U837L4QtJZEpGWloZmO0utyfrwnMGbCWBSXFCEnMwM6apbujk7Y--1w-3wYNnbsx1vF8b-FuIN8BioMDLig0ephTUpGUkY6vBTEzb3dOFl_Bh32XowaPRoDfX3w8mMh7QnSUDto1GE6SFH5ENx4210fH-sTLLr6WkT5s4tO12F3oL6jC7Vt3ehyh2D3RuH0xOAPqWB3-pBbWIzs_PzzOxJJKQmIRYIA9UcyHdbA71SRCEW5hP1795zf6N-Epl3b4z1hf4O4g3wKYRqd0jdlMMAbCSOiVUMWolqnIf-PkBJRBwQDSu-TltlAkmXESLUkjQoqvRbQauAJ-JVjfRp-7qPhvuJmh2mCAf6MGPTwkmYFYvxeq5g9RJeXXqWGxHP9BSophqjo2jWZEQyF4fUHIdGBo2oNQqRi_y70fvSRnBCKomfThriTfApx_vo32P_Ki7K7vQMaOYyc5BQ0njqND995HwGPD9lp6UizWZFsNiKJBq41aNEx2I8DZ86i2hnG0uuvxXfefvev9_TgurXyhEsXK_--Z_ZsuXrHThSlpsCo1SEQlWAfcGL6tGkoyMuFj-IdaiCfdCqgkbD0579S9vvgh9-V31u2HFnJifCResmhCCLCkZKSkFtWiqSsdOQPqcSiB77__-pZHv9gpbxjxQfoOVsPnfiCuig3OxsTx45HyYgRMP2Hi___6Iv_n8Cx7Dn5mT8-gZ6ObmSnZwCM4iW5uYhRoIejQfg1YZzp6kLAYMMPKe4zLv_kLfuvv3SHPKCS8PvnXpZ-c8ft8vYVK5BlMWHQ4aDIV8FsTcAN113P46bB57TDwAyUX5APsi0YszLgoFZ5_7W3sG3TFjBXIT0jAykpqXQkNZIys9DvGIAcC6O1pwuX334rvvrLR_6Pn-eG3_5eXvXSy0jV6KBh1owyMJiNRoyorILEYDD80vnIufLq_1g7iVOsz0HLByvkvpVvy89etUg-sHsnMpISYDMa4HY6EQiGMegL0sA1sLv9sFN8h0OkXeIdRVszwuvfl6MbP5CDq9-VHWeq0V1fi9__9_3yvl3bYTXqkJOWBKsGSDWoUZKZArM2hqa6Ezi1byeczfXoPX0S3voGbFv2Bs58tAeTho7C3Xfeg8qR4-DXmRCyJfCThJ5ABI4g6ZdaD6MtEcaEhI9b_wlefPhn8rqnn_inlKmjphaJGi2MpIv6WAwmukIys2OY2cre3Iy20zUfb_mfiXgG-Rt0bd8jv_PCM9CEBrH-3VUYXpiOqDcAp8uDzKw8OJwe6KkZtCoN0jOT0eNoh8vvxoAnABsd6d6v3I2Rw6ogR2TsoXFtaWzC4VPViHTbcduSJQj3dkIK-hEIR2C0WHCs-jTCFPrFYnSu1YaKgmLqGhUaOvtg4_lgSUTBqJHoDPpwoPoUIqRf0ZiMutN1cPT2Ii8zDSPHj8F_PfnkZ57lVxYvlI_v2IXxVVW48dproOJ-AZ8XdSeq6dBhJKSkQE_H2L9tJ2SvFzGPG0kWo5BRsJpMsNEZndQ7YxctxMzHH49nkDjOQyVL0PK2aGkStCkYdLxFEgW6WqagDsNHqhNmNvFqNPDSSUKShn_TKeJb9PCGogFEYgHIcogf7ifH-KE4D0cRoQgOCZFNA7fyGLFwkLJDptin0KcQV_Oj5781dB4TDyb7w9xXQlhSIUjL9WlVCPDjl2RSoSi3pOCPAr5PNP1fkcR2JTDLpIVjsA66kez3IyngR2LIiwR-LIFBmMJ-JfOJNkYktg1hXk8YamY3WR1DiE6pDoU-PuJ_Jv5jI8M_wr3T58garwsm2YfKgkyowwHsO3AIpvRsjJ40Az09Luzbdxg6Cm01jTTic8CWaIGbhtbZPYD7v349hleVQ0cDdYSBGncI_YMBaH1h1B88CJW9B-V52RTaUR5nP2j_GD98KEYXF6O7oQEpJhsNlk6nt6KPQj59zFiocrIwaKAz6iRo6LkyjdYUU6G1qRVavVkZypJWmIuZS853CAjcOWqsPHiuCZdOmYLOhrPo7mxGZWmx4vhqtQp6OmiUjlfb0Io-h1NxuJzsDKjoKOlJiehr6YTX68fo6dNxzf33w7T0qv9IW4mPcPsbVGWkP1RRlI90qxmLF8yHnqI6gcJ52KLFyB41DqVVE9DQ1oPEtDS0tLUhFAjBOeiDIxRBVmkeTKk2ZaxVn9uFQXJ6S0Ye_61HdmER2js7cOTgIXipYdp67HC7fbhm8WLkJibj3OnTMNCpdMxGUXqNh1nGnJeLZDqPW69D96ALZpMeVkZ4iyqK7IxUmNg2QdOS09Phow665sorH3rr_fd_Jq7j6zff_tC2HVtwls5hVhmQT3FvjjEjRmNQ-wKoys1DXnIyzGKofTQMt8cHFc8dYfZKosZJstiQmZkJpjQENTJe3rFPOe5_GuIZ5G9Q88G7soWcyBwJwMVo7w64kV5ZjqxFt0hbV78np-nTcGTXAahiQbz-wvOKwXX2d8FCh2nt60ZquoTbb7-Wfw-jtHIYAuoEDAYpfJPTERxwoXHvfqx-423yfz1GlVeg2GbFoT07MHvsSIVi6TQ6eOkcDj6ay-75KrYwC4SsVhgsZmh4zgSSPAtpX0ZONumchG67Gy5qpOEjRiDM_dz8XRWJob--HpvfX4EoNVNxSjLyzAZ4OtsxpKBQoU2J_LdMDqnNSEZNWzv2HKmGk04CZpKC_DykUhPlFuSirqkWajrSDfc_iIzFV_zH2ctFe8Ebfvd7GeT4G9auRTqj51133I29Bw7Ay-9ufewP_6PrPvvan2Uz6VPOklulHVvekgVVKk4pwMmDR8DAi8cfeRSuXgfSM7LQ1NMJPw144ZJx-MH374dGDqJ00j3KeZb_-eey0ZgESmAMTcvCmjffgTamRnd9E84e2o-FYydiSDENPujB2x-uwyD3GTp1IhbccgcOtXUhojciJzMdPc1nMCSbFCzohlAgITpESkYOncoAR1cvInSMovJKZgUjNrz7LsLUHh2kYfaOdmQzI6bpDUhSMQuptcimQzsDHmQOLcXh2jrSyKN04jTl5efQMaNwyTVX4HjdaezYshEuxyAqqsaiauwEtkWD9JJCVF1_43-Es1xUF3nuo4_ko7t2Y7CrB6fJ9zWRCHpb25CenIIJ40iNWprhpPC87s7b4KeBtw704qYf_fKv96Buw1ty5cIb_vrvs6tel7WkNUXzrpHee_cZubWzBz5qkCN79lNDBHD61GnYzCmkKCpojHqUDyvC9TcvxNU3PviZ-_ryUz-S_QE1Eg02pKr1ePO5l2CIadBV14BsnZHZYxSkwABNPohutwNBkwnzbr4dXdQwSKT-II2zGbXoaz2L2oNbYNRQUFPDpGVlYySN1mww490XX1HmhMxfchkCHi82f_A-gi5mF2atrJQUZCVaMbK4FN4OO7QU9QG_D0l0OnNuOhra23HqRDWs1gRFGz348M-huftOqevt1-SfPfAAHc2DBGMioFJhgE4858rLceuLy_4jHOSi6sXS-bxIVkkwko8bw2GYIlEkUIiqaTDJGjUspDDGUBDGgB9WfxDpQiF_CmTgH_92HlG9CRKNWoAJAVo6gp5GKMei0OjI3WkwAcYYWa-HyZxAQaeHmEn7t4gFo4oRy7IWIQpwtdEGlc6kdPVGqQJlcnwNP5GQj6JbjWAshMGQn99ruY9a9KnRoCPKEBOmImXOekBLKiZ6zyjqB7mNTwyw5CckSdRNZuqYGNsZIdWLwKRVQ8vMECW1irDtMa0GYb0WMQOFOvfV0mljzD5BNj6sUcEVOd9zFWO20WnNUDPbIeBDzOtEklqGPuRV_v6fgIsmCjSu-kDeSs69T1QMkQGzzoCYP4BE0pMUWwLKSorQ3dcLLx--3T2IAA3HS51w45fvUKhRW3c7JsycDktmFrKnLlXuy6G1K3kkCc2MsJu2f4TNPLaJbhAOBsEEgOSMDKh1ZjScbcJVl16GpUvmw5amwfTLblX2P7XzBfnU6SYkJufB7ZcQ8segoWaxt3ZC7Q9j19o18La3YEwBM0FuGoJiAlXYD7_ZgglXXIdBtZXOl4rEtEwMOHrR399KI--FpIogHGV0I7XyBiPoZ8ZsYTYryc5FTnYW9HSCNcuXMUjISDaZMW38eGbTENKTUrF103ZoDSbklhQjIy8XtQ3n0Gfvp0BXYdb8ufBRg1z2_MtK-6v__Lz81lN_RsTeh6KMVHhcdlK7CHIqylA6eQoyR4xB_pXXXjQ29Hm4aHqxpufmPdRx-jQCff2kEFFYaRgmRmAxj9ui5c_BQTSdO4uUpCQGQ58yKFDUo2qsrsH-HTvR1NhIujIW5Vfe9dcHfsfttz7UTm7fSWrV3dkLnaQl17ejtLAMKanpsJhtcDrsuGTqFEwbMRq5yUlIJCWbMrzgoWvmT3hIvELQmVIZ0VPRRTGtpjZISU-nwM5CaXk5jp84irqWeuiYniYMH4oI9ZE7FEZQ0iBmtGLMlJnocTBa09lDamYqkxbm9EToEpOQVcLt1UaYrDwnDT8hMZmOmMxsoOPxJBh4D9w9dKZgDMPKhjDz6dDGaxg94xIkFpegeOIEJJWXwWfU4VhbI4bOmoTrXlguvXn0uNJb1fzWO_KK5W_AymxlZlbOsJowekg5inOyYadDtje2wGi04IWdOy_q3q2Lxvufvv56OdbbS57eAntvH0zMGipeXpIQpuT0NDk00Aky8_PgJc1S0XmczCSWBCvpTAB1HW34yg--h8pZM9Hu9sATikGisTWea4LP7VWEb15mDux0FkFHQjzeR9s2obmxFjdfeQXuuOxq9La14oPV7yG_OBdaM6M7W2DLL1GMPcQWNDQ1KS8HSwsLSdcktNScxvo3lyOfRprLXKUOh5BTWgKPRoeUquFQp2XDHdEiraAYna5-DB83DHX1x0l7NDDqEpCXnY_W5iZmkE4kkDL5Bxw4sn0nEkmnQrwPSaSDbWz_sMohGD9-HEjaUDhmLAI6PVykm6Zkag7mBC0db-RVnxXdP547T24-egr5SYkoTErAsLwsxVFi0bBSnkhtSUQWg8Kkpy7uCVsXRQY59sY78vFt2yhKnWhqaoDEzBChwYQZdSOkUXqzntxeB7XJABeNMMq_RfSUX4z2J86cRYTcXoxrmnHpUhjSsuAk_RGFEsS4qwGHEy63G-MmTORPD1JS0pBbWITs_EIkWS2oyEqBq7EeydQTOz5YATOpW1vdWXQ2tmPRpVfAlJKpTJCSSWFsFMq9PV3o7e2GgxlNvBepO1OH5MQUWKl1ouT8MVMiXHSsHSdOYNexY6hvb0PJ8Ep45QDFuhuyFEXQH0JrQweyMnIQioQVJ9dSO4jaWvt27oKv3w6ZbR49bBgGmEGbeU51CjPSwjkwFBUgzHY4VTG46eSDvB_Tb7r9M0Z--p3X5a0frqFuIaEKemHVaZBpseDQnt1obmlhu7uQmZWN1o4u_P6_v__QExvWXrRZ5OIQ6eT1fr8fTtcgrAlJFLkxDHg81BoufpxwegehMRuRnJ2JLiejbO1Z7DxZB4kPXTabUd3TBzdF-LHjZ0i_Yjh9oganjp1CTXU1Br0elA6poOaQoLUYcbK-FkYamEyDvP2735Tuf-Jp6dJpU1G9bzeSuY29oQH5bEM6DT4rMQPNza14_a23ma1cymf3vj1Yu3Ej3l-zBqs2bUGYzulhdumluD_bN4hDDW3YX9egiHBRg8tLTdLYeg6Zmalob22ERa9HdmoaKopKEPL6oRKdBsw-6RmZGDpsOMqqhqKwogLp2TnoH_TASp109d134vqvfxV9dK7cxUulIYsvk2bffJs0_5bbJXNaGp5_5Ddi1MpfsenD9cySIbioOfQGOkdWOpqYqRwMFv0DLiTakuAZcCLoHIS9ueXjvS5OXBQOoqKeICFSXpRFmRQl8u1oMIoYBaxBlNchNfAFfAB_l0iVRB-M6MCK0jj91BUS9AjIKmhURopZFXQR8Q0dgvuJ-RFBmVlHI8MX9TMLqRBRhTBx7uRPom4oosz4Ez1GYiiHmLNhom4IMwN5Kei15O8BCueoJEHD8ytjq9jOgPjE1PDw3AHyeb8lAZ3hGLzc18trCvFYYZnHJq3RyzGYacYWOr_WH1BG32oZGCL83aQ1ULzz3HQqcewwNVdQrYFP3BO9ES5u62Q29Wr_njD4qHkklfbjf52HmZks6PdBoxMkNcb7y3th1CvjzdR0Zpn3x0baKPH6VAxMFzMuCgcZefO1kiEtGW2kWB4-RF9UhoEGZ6JxeJwuPlRZmQXYRQHf2WfnU-ZjJt3qYQSMUmeIGX50D5ytq0P1yWPQ0xkQC8FEbWCilmhtboaBRnLzjbdIo8tKMG7qFMU59j77knziT3-SRTRtqj8HHY0yKTEROdnZyE7PQpARXoT38ePHIxqJwE2KNn78JOWtelpGNjOKVxkP5fD50U9d1OYZxBnSoZq2NqWsaEtHp7JvIrPc1dfeLF0yajQuv_5L0pIb75SG5uUrw9OzRZUVOt4lSy6TkpgNhk0Yj0rqjavuugu5w4djxIwZkJJTcLSxCbtPnsLqN5fLK9987a8Z49KrrpWEY-1e_ra8-8ll8r5Hn5fP1dZT52ipNyLo7OpCA69fSzo5kfpswrTpmL9wsfJSMjkhEQ7SrbY_PvXX411s-CQKXuA4vWaFfGzvfvgGPNi7ZRu6SHXMjL6Lpo_H6OFDsYXc_HDNOQzEAGt6JvwhPxJSUnGmoYU3QcMorFOqjEybPwPjZk5GlLzbywgd0xmRxe1tdLrZN9wkdW9YL4uRttqghI0ffoijh_ag7vRxDMvJVt43WBMTkExtoKKItpSUwpmbBnV2Brrs_fAw2oshvwFmNkmtx6vLXkZ_R7My3ySRdC8QCKKZvD5Mhy4pL0VRQQEmjRuHUeXlWHzbLdKa3_1KHuzqoM9JyC8fgajJzI8e5pREbNy0AaOEEKfTSOEohlMjSIEwHv_jk0hIJz0b7IVEHVY1bDQZqYSRY0Zj6dLL_vr8D7-1Uv7z7x6Djddr72qFjvnH6-hV5sELJ7z3S3cyi6kgZsXv5P3t7-5GRIwCpiP5mV2u-sZ9SL7q4hvQeNFdkMCxN9-W-8810KhDKM9MwJoP3sPeo8fR0OeFg3_PzMlXpsuGGdWbW9pgo6FpSYFCER9KRpRi0uwZpF5qqEw20jIL5kydhQQadYDR9J2XnkceHUsXITVyOrFtzxZkJSVjwogqRSi7A37ouV8kqkNyeQVSp0_A5lPHkF1UTLoVUkbI2hKSSQM1OLBvL15b_gLFvhl5udlQkwLWnG2AzmjC_V-7H2XFpSjOyQXcg-itPoV961ajMNnGfVWYtfQaSClpWE1NM33RAjg8LtLEGK66-jppx7498qlde_D173xHevoXv5UbWptQ21iLymFVKC2pZALVwE1tVV5ehqWXX_lXG_jupdfKGtKnM8eP0LkcMDGThsNh3Hj9NbjshWXS6R_-t6wOq7D2_Q8RJbVKZjCgrymUderSpRg_f4ESgFLnTL9o7OqCv5BtDz8qb9ywFiNnT8aND38ybOQvcL_7grxzy0bsO3IS3S4_pi26EjlFpeTdMupra7B57TpoyPH7SBXmz5uIG-66AR7-2ytr0dHnQWJqIebcdqtU__I78ot_-D262-pxw7VXK5Rsx9ataGw8h1uvXoru9jZ0dHYo88Q7uvuYKfSomDQZxhEV6I6FcfzMWdI6MzNMEnR6A3QaLQW2hN6ubpygQW79aDtyclNRUjGUnF-HosIyzJg8HfnMXmlqFdr378HJzetg9rsRpBMmFJVj7s23o1toHWaflq52JUOk0KHETXB0tCmC3mZLwO7dO7D81ReYPYZg6rQZiDHLpCUno7ffTj2lwXe__xPlvu159W1ZH5bw1G9-g-hADxYvmouhY0ehpLQQx_btxNb1GyBHVWiub0Sy0Qyz0HTRKNKZrXLLh2LCvPnwkNaW3fnJcJ0LHRe8Bkn0h5DBaCz5hJL4e3g1Mfi1KnhojKLHKCJ6fcSDpfG4QyFFeBrJ8TXcNhr0gRIa2rAXJjkAAzOKznu-RpVBjiqiPUzniYoJS3Qw_nZ-cAqjpppmKXi7RiMKUEco-KOIRfyQ-LvQ-lo6RFQM4Yj5YTbwpFEffw8yG5ASiQ0I0dkgIMZDaUj5QqRcBmYLDYW0jmLfplIps_-M3CZBq4GKjqIWJYD4b51aC4PBRN0goj6_0_FaeRwxGUsturp5bgMzqj4agC4W4Hf8qYoof_sLgjxQTC8mgbENH9cJdjGzSmYTVNRtMV6LpJfgl4MIs6lB6ivxfZTtU5zFH1TaejHhgvX0tff_t2wjJ246fgJ7jh-CM8mAXyx7DmVzlnzmmlrXvyjnL7pbOvX6i3Jrux15BaUYccN5rnzmo4_kbeu3oPrQIbTVHMOSeVMwb_ZYHDlxEBIjpFpjQH5GPkZ94xdSzZOPyc8_9xIGBvqQYLXSkiTUMitUpmZg_tSp2L91M7Kz05FdUYjWjnYanx7F4yfgNA1zX3MrkrILoTNp4PO0o7S4gKZn4vGNiPIaDIy6jz_6B6SmZ6C9t5_cXsUMUoyfPPAghqVlQGvvw8on_whPezOKc7MQptFml1Xw-BOB3DzsrK4BLFYM0KHCzAiiQ0IUlfD09yBFvH1XywgO2tHX14W33lsNXxQorsrHfV__Jh1Ih4SEVMy99pMXhVv-_JJcd-Awpk2ZgFH33CFtf-w38okPVyI7yYqAFEW_3YnG6haEnH5lSYYkivWUzEwMmzARbp5__hO_u2Dt6m9xwV1I2wer5GMbt6DjdA2zhg89pDVtzn6EspKxvKn9H17P-j8_ITc1dWNU1QjkFeYjb-Zk6fiWTfKR_Ucx2NeH7voaWDVhTB5bCotZAz8jc1lJGSNiFN29TjT3e6E229BG4z91_CQjsRrttfVI15qQxGjr7-1GRVkhQroYUrMyeEZmLYMBEfJ8f0ISAmJZA0ZeKdhO4T2K0diI6roWeEIy-gcGsWH9erjcXvS63OK1Dh781rcxPC8Ps8vKsH_lB6jbswNtZ88ok6RAypWanY0IjXPGlVcjvbIS5_oH0OocRIRZJBiJIo36IOIaQNTZh8GuNsydPAE-7yDeWbmC0V-NYZMm4t6H_igd3fyhfOz4aeqTkZi66JMZiSdXrJN7SNsSs6jhXnsZ-X4vrl80B7JJjWMnTmPdqu0IOAIoyc5DkJkjMTUZS669Dh4eu_Q734o7yP9feOu-r8tnKUCLU1MRCfjQTK7tVUtQZabh8rvvwpQv3fd311Sze5188PBZ6NVmZeiJiw7lJ9Vpam8hO1LD73YjxWxEzOfEpLFDUJSXRTqlRYotES11Z7By40bsqm_AXd_6FnRmA9ITU5BMovPhC68h1NQJ7SBpT4TUjJE6RgqiMmrJ7VVIqChDrZjrTR2QnppNmhbA_T9_RNr7_A9IfEw4caYNtS19mDBtFo6ePIZnX3oZKgMJVDiGp3_9O5Ql2lD_0SagvxdaQe1Et6t9QHmHc_xUHY9pw8xFl0KdnIqT3T0onzodg4JG0mFtpEVZ3N9IzbJ_0wak6DRYMGc2jlefhi8mw8RspU1IQAPvX4gOdf_3fvZ39233Byvk6lOH0XxwF8boVZg5shIhVRgrVq1Ge4sTFl0SjNRa-Tn5GD9pAoqGD2MGkWD70ifj2S50XHAaxEauayD_PV1zHA3tDahubUWXw67017_y_IvY9-ryv-uT_2jXfpiSUmncVhw_cRLNDY3obe-Ao6cHfT0daGxpJK-OodXhxLpdB9BHedAzGEUrRfryFWuxZudepFJ8R2xmnCFt6aJjtrldsGRnYtzMGUjNy-X-kvKyMSE5AxojDTM1HV10vLyyElQMrYTVYkAyo3_jij_K_U1NaK8_g-a6Wgwrq0QdKVJKShK-_V_3o4JONWbkCHQwW0Tt_XTECGoP7sagvUdxkGGjRmHI8OFgIEcp6ZaN37WfOI5pw4YhjRlrREUF6VkB7E4n9RVvBbXW8LFjmanCOHDsBN7_cB1WfrgBLa098Adi-HDDJtjS0pX7dGTnTnnvtk_Kj0678iqpp69XmcOexXN1dPJed7RCzDosKivC0JHDUFBWjLIhFUhjgFr5wbvKZ89DP_67Z3Ch4oLy9OX3f0Ou3rwZRRnJaG4_p7wZrz7XwWwAZBTmQUserjMnIK-4GNfceCMNNsRIHsWpM-cg6VLoFL0U3R5kkUvLpDsD7gE08qH7yeltjMITJ01Wum5tRouSQcT8iX37dyAhOw0hqxFH6qphH7Ajm7rDGNXghnlLkBGVsPrF5Rhs6cCsyVPQ3NaCXUcPIkTur83PwvXf_SZS8vMRZpbJMWvRfmQb9m3bTJpjgSExB0k5lcgpLUdBZT52HzqAU3WN0JF25UoajExKgPPYXqToSed6-mDNyMI-Zg69UQ9vbxumjh3D7BdAQ1cv7vnpz1HjGEQ0OwcBk5lZhALb0Y-aQ_u4bTcunzcHQa8PZ-obEYgA8xZfDnNqCo6eOY1sUk4h8u39DtHfgBuu_aT43cGV78o7V7yOuaU5SNWIDoUonIN-FA8ZB0OK6IIWHQ_A-68uQ139WVIwPVRWG-YsuQKTvveDCz6TXFAZxCCGXjNK-mjkKo0KgXAIfgrOKOOVkdREdDkqQzJEj1IwBBs0ynp-OkZ2PcWjKhbjT0nZRkfjN1DUWkgvbNxeCkeoC3hDtGbEdPzorfBRpA-IyUgaPaIqHeSYGka1kQLcoAxpCZFv-_VaeEmpnFoVnBo1vGyfW6tDJ4_n13EfGl6E5_DQOCM8j0pMnNJb4GfbhKDWkA6ZdFoaWRhq0aMlR6DX8jyM_GLdQoZr5Y22sDQxX11U-A36A9xPpYysFcNbpBA1AM8l-f0w8GboKGJC1GfivUpUCHa2SUyycnOfoIEUzGhAkP8ePX2KpNGR0tEZxRnCtHSZ_30a0XAUKh1pKTOkm_fBqzKSRvHfat4DvRFeUjdRisjHNkd0at6XGCI-Uk4-m4sBF5SHf2viBNldfw7Tx4yC3dEDDY2o1-6DgyLRFfHDHQggNzcPnZ1dpDRiQKEGydQTwyZOUaJdy7km5Jv1KGAGUUUC2LF1M4J8kENIQSYtXoKgTo8j1XVISsuEj-KcyQGugAtdPZ0KzXD298NCI7UYTVDTCVpJlcpzs_H6c89jfOVwCuMUNLQ0Yf_J40oNq9u--mVMu2QGenp7UVU5FMcO7EZ4oB19vT00UBPy8krx1Z88LB39cIU8ZulV0orlT8jb9xxCzEsncfkQbW9FHl1pREEejh8_RUozFgdO1vK6NainNlp4yWjUHjvN7JeBysnTMXzOfLy7ey8G6HTZleXocdrh9wzCwO2HkOr18rxDq4aTdZmg0xoxbfZs5fmvW7dBNtBxRBe1oE8zZl7yGbt49Gt3yGFXD6aPHwduhcLSSqQuvv4z2zx57VK5v7VFKYXk6GamlrWYvWgxRjBzZV772W0vJFxQDRcO4mluQUFKKpISGOUZ7Ab9EXQPDqLL60Bnv50RGDAzQlqMVkYzCc5IEFfcdAtSaIxt1B4ZEvmFsw9GRurejnbU0iGGjBuPhbffirPc30QaY0vPUgb9nW1phsM7iI6uDtIuExpqapFE-lJZVgGJRpiXn4Mtm9bi1JEjFMSpSqVCk80KJyOoj1nK4XTgNw89hLaWVuoSA-rP1mL2zIlsF-CN6pkBJNjbWxAKuWFNtWD_4UMM5mKilwkzho_F2mUvo0Abw5iiQrzx0nJkpGejq98Ff9iPseOqSBOjOHLoJEZPnIizpFnX3nMvgglJcDEwrN65XXlxGGMWGjliOLQaime2raurUyntYyWNLCksZuLi7xYLjKRtk-fPV-zh5Jb1sppBp-bYMaQmJ0JLZ1-97kPcfNNNDCwSht18XoQ3btwoq3id7r4e7FizBif274EqHICzy4FxdNBRo8fBJUmYcu3VyL7iwhyGcsE0unvjenn5U3_Gtg_XoCgzC4niXQTpUmNHB_r8bkQpgkP0DqczoIj4jORMhEg3AqQMCy-_ElVjJqDrXD36ju1HgUUPEx3E1deP9rYeqG0J8HD_mVdfiSU_ekh6__ln5ChpR4D7u5iVxGI1DQ3nkJqUjGRbImxmahTeukMHD-D4ySNITLAik0JXq9XQcSQam1EZgi4W1Vk4YTKGDRmKbYcOomJkFXxhL9xB0q-YEWabDXt3b0Ak6sWeA7uQkJiIiROnQRNVY1TJUCz_459g8riQTO5nDESRSSdMp5NEeE1puWkorhpKTVKD5Nx8eEjjNu0_AGNuLtw0yu2HD-OaG25ANrPhT374Q1jNRtzFIJCRngIt2ygopZXU7vqvne_1O7dxrSy-FzRPFQzgmV_9Fla1DgbSqi_dfz9-_fxzmDpnLlSkq1UMEH_8_e_RymyebE1kTpGRwqzs9zphMKrRVFeLXFsyKorKmKGBKbyvQ7_72UIWFwouiEa_cf_9sr2rG5XlFThz5owyQtZGISiRX5-icD5w8hjaPH6kplkR9PiUurhU54iQNw-fOB633HU3uvucCDLSBc6ehMrRCyvVl1gRSkdO3U8HSK0sQTTRiozKShpcHjyBkDLRafuBw0jOykZhWSlCkQgswjmYXdSRGI4dPYzac3UwWYwwUgOkJNhILWLISU2Dlm2wUqdE--zo7ulBKdvx9Wf_LL32-O_krXsP0vmMWLD4UiQmadDafhYnTx_H3XfdiaOHj0HFzHLvN34gXT9tsnxi9z4MSU7CHZddifoTp2joouADtQAN-bav3YcBUWyB98FK5zpcU40gs4aTWSOtoEB5X5GVmoHGs_Vw2fuRkZKI_u52qKMhTBw-DCHHABLp1AGnE_t37UJuViYNIoLx_NurDEazp05Helo2hpCi7m5pQW1bB7WNmOevw_7N6xTdk2pLVdY-EVXhjaSvMZm6Tsx4ZLtSjTYkGhNRPn0aKn_987iD_DtR-9ZbstEXxK7V69BcX4-zTY24_q7bseSJP_5dm1f89jdyWC2jnxqBUh3VJ0_D5fRA1moxbPIEJKRnKC_jrKQkVVYd3n_uaVEwEAMd3Zg5fpoy606dZMGWfXspNHVYcNlS0pgoDpyuwbHWDgyfOo1ZhtRq-AjFKVe-v0JZ5cnhGkDpUHL93m4UpKcjk86jd3uQZ02AzhtGaMDF71OUCiVJVZUonzIRLjEMhdE1JtngZXZqbT3D-BtUZgqWlRYr-sSsN2DD6vUIuf3YuGYDvnTVlRhbWo7mM2cx55I5iFD4H6iugWwyYeKs6TjDzJiVnkb61UvnzqIo1-O199_H6LHj6RB9yExJg5FG--LTT0Aris8xU0wZOgSycxCujh5MGz0efocTx48cFpV9MHL4EIT9XhxgFrrsuhsx7_a70Udq9bNHHoOR1HLH-lWoyk9Rht_kZhSgo70TfQw-aanJFPXUTAxkSdRqNpUeFlmPzFEjMOSJRy9IB_nC9mIlhWXqBS0SGIl0ordJ0BchMD4HYoJQiNlCDAI06Aw03igpUEwRjIxtUKtkJp0woxvJCY8hUWCL9TkipA9iIlOMUZ9CgLQDSCetsPhDSIzGYBBrETIaq_l3MQ5LjoaVaCnGTkk6ZhGDoGFhil4dov4AzBRFFh7HOOhBCtudGAor88PVfh_0PLdEPSSWShA9U2KwpOiJUolsJOl4fAPzjU4ZohIKiP4knoPHpV3CHo3CrdfDpdfCrlPDrpXg4N98ZhPC_Ihs4omElB4kSRXjOXy8D9wfvCY6nlbPNqujpHJ-GPWkUdEAJNJSA9tiC0WhG_TBFIjAJiZCxfhR6RDgNeh5zqAYd0anTp9_iRQTk7hIzTT8aaaglwNeaERhbzpdUHQl8vx63ltemlL5Rcf7xGaQagrVdWHiC-nVzcvekDe88ipERar2liYM8kH4aZC2wjz8dPvuf9nmjT9_SBZVS8S8ink_-ol0fPUK-djpWgQHBlBFGvXms88qo1K7qF_mT5uKgZ4uDLqcpHCV6O9zKA4kC2PkmTQlpXDRAb1i6HzVMKz44ENmDic8vkGkZ6UrQ0_mTZsOC7NdgDTk2ilT0F9Xz8ipQxIzypkzp6FLTUApI72a0T2NumH3iWo6tAFvvfM-brzhGmaNbmqDDFSUldE5PIqWOXTkEB1HjWbSwJLCIlKlFLz-6qv4-jfuh58B4KmXlqGxrR2vvfYqgl4P0im0Dx_YD0syaSZdRWO14MbrbpeuufFq2U8KqWKwCLqdmDqiCgY6bFVqOmo-2oPKhFxoqG-6e7vgD_oUJ5s2Y6oySnnNzl246Vv3Yv7jf1bu-au_eVzW03lf-cPvUGZRIS_FBnNigjIR7VRdM8xmLYOJjNzUVKh4zomVw5BnSYGFuqjo2ssgLbjwVqv6Qjb49ZvukmM9faDqU5YdONfRDJ-GQd6gQzY1giUpFZLMCMZ0f8WNNyB3xoy_Xofno83yxvdWoPXMOdAHkD2kHDf96SnpD1-7V-5rbUUlHaTu0GFqmFScqatTxk_ZuzuQaDAqfN3vjwAiw2hk1JG3l82dBz25uVj2ub2rC_sPHoXMyGii0M_LycKmNeswf-Jk2Jh1bKEgkphRCpIphGMapR5XgI4UY7sTKsrRFPDBZTHBKWl4PB0cpGNCNIteps3rNqO0uARrVq-C1-_Bb37_W2qTNvi8fnz5vnul-dNnyqdOncQwGrjM6D1y3AScOH0a8-bMRyX3y-c5n37ij8jKz0aYIXz8jGnYs38_prBtzY2NqKs9DS2zWJJOg1SNBvtXrcaQlGxMKh6GDe-vQuWQUkyaNIHn9pIytaGGx25hQLn1v-_H7Ec-W7nkt5dfL3fs34EJFSVQM5ud5fGbu3ogMozQh6JIXSYz2yVjxqEoMQ0OZhNHaiLmvrQs7iD_X9GxZoP8yq9-DzP5uXig3c5euCN-BGnsXXY7DBYb3IPk9OZEqOggMy-dhytvvA5J8xZI7__gu7KJtKblVA3OMUqLv59lZJx9xVLU07hHUQeEOpvR39SMoE9GDyOf2qgif09FgGI6PSkNSRSlft4VN_nW3rNnMHT2XISNRoyZMAYtzBYdPf3o7OwUb9CUulM2UsFEfr581dVor6vG6RMHadRuRKNqVFI3iKyVlpEJfXomMkeOxLKdW1E2ZRpITpiRqtDcchYS6dxgnxtLFi1BC7OQSqvG2yvfwVVXX40M7ttQ34Cnn3oKmZkZ-OYD95MmxtDvsOMpCulRw8dhwcy5ypoiAR9pkdWkVGsUGa-7uxtjho3AnLnzpKcfe0SUbsS5mpMw8Xxd1FdRpxuO9i5lOYVRZcXKCz4Ds2VLc7viSOMprjN5z7JHjUbZXV_5q62ceX-N7Dx-BIHWJniZfbt4b2G2krLS8cXQl-ZG7q_GBAazHKMVrV2d4Flw3f33Y4DBJ-cCei_yhWvo29_7sbz73RXQMboamTXcUR981A99pAeicyopIRk-pxflecW85TG4Yz7kFBfizi9_Be-_-Q46a8_CRu1SkpWPcCyGzUf2IYXULIsCODczHUc3b8LcqVMZ6DRYu2kDGmjkl82fiabjjLDk3tb0bByuJR0zqOE3GTDlyiuRUVIEH43vdE01AqQ3w6uGQxUO48z-A6hKToOV2SOV-5YXFeDgif1Yt3Mv2T_YDqBKzB3XGngNapSQfqXQ0T48eEApFbph21Y8-N1vKvMpijKL0dbYjimTp0FD4_xo9zZkkpLl5eXiT396AvkFxYqALisvpJ6Qcar2JELBCGZNm0cxH8SdX7pFeveFN-SCcraVjhBgFFdxBzFSWQzqPHXyKH06gLNimQXhkC0dSGHWjAUYfAZdcNkdyOQNV_GYYyrLUFlUxGBkgZ0azVpShjm_-fv1D48-8B356Kb1ysSsAK_HE4mIzkO4BuzQsQ1zJk2kE7rQ19-PjMpyVM2cCZfBhJzb7rxgHOQLJ9Ilpukgb7RKvNXlA6acVYosBKmjRS3cKB-8qF0iuhNV6hC3E4M2fDCT3tiCUVi4oSWmZkSlCBbHYxbSUkha-TFwG1OMgpifKL-PqiJ0MREleBYxkYofPwVllFFUrNoUo4iPaFTwx6hmBHvgf2JabZQGZ6SYNVCI62MBGNgWk2iVNwCNxqQ4h9KdwH1iFLmyMFZehnhpp-V1iUohoiiEhsIZKp4PEYQZBMTx1TJFNMWyOiTDKDoe2E457Oet4F6isTRuFY8X5T_YBGYbsRz0-UlKQvCHeY0aRnKZNI76m7RHw-sQk594HD1FNp94VKNFgDvHREUXpaqLln8l1KKwKkGHFYMhNWyjQRLtEV_-PXxCwKsl3ksxmSwGiQ5okGNsM-89z68S49n47MT7KfEGV3QhixrEFxK-cA4iFu_vdjnQT5rS2tujGKzWaFL6_gPhGFLTMlDE6CZK-USFMTCt2Ns6cGzXPlIHwMKHr-XD2Ld_N4XuAbgoYJOsRiSZ9MqbYbPBihMn6ygq66HicVMyrDCkpaJw3Gj0kbsfammAk8f28uGWDh9F5-ADN-ihU6swc_IEDC0pxJa1H2LNB--jsqxUqSjS1tZGmtGN3t5-HNp_CIXJyfxYsXTBXJQXFyk9SxkU9Ju3bMK3vv0tDB06BGNHjURKYiISSBlFpcbXX3sNCTYLnP296G1txtThVcjnv6fMmiVV5eVg8qhRSLXZlHKqOgYKI-9HRno6nn_mz2hrbsJLjz0vG40GOiPFeNCP3bt2wevxwckILkR_WXkpDh0-hHHjJ2AUtcHIceNxorYOZ6gf2uy9yCsogYk6JrOgCKbEJNQ3N-PoiZPKvBhbSsrHT-ezqK-vh4s0rSivAAlaPTOmGnp6ZaLWiL7OHhw_WY3Gtk7YuY0owd1ythFnTlV_vPeFgS9cqju2ao384N1fgpnCTkSjRIq7AVKAXqdT6D9U8gH6-bvf6VCiW0ZaGuZeMhuNZxoRE6XVY9xPDMijYYfpKPbAILIKcnHu3DmkJWXAqE5Ed48dftKUgCaGW-67C6fO1aGzrxcqUUPKF4bEByxTZA8bOwb2sIdi_hS-d8-XUH3sEPYf2q_oAlHxXHb7ce4ABT95xbiSKpw5cQo1LacxsrQSFoMKmWnJsFjMGAwEsfdULdoYmTOnTkJSGbUJU5LebOa1DShjx_LTc-jspGWiq5rXfdu1V-D4ob1ob21AFQ06YEzCnmPHGdJiiKhjGD1lIm648WaMHzUe3_nmAwgzey295TrpqUd_J4vu4X1HTmHy5Km47567pI2rV8tGkwomMQp40Kecx6rSK2PIEnVaDCkpRkV5GbauX6-8QF391tsYQ7oo3tOMvXQRnNQNM66-FqXz5v3VXnb97OfyznfeRSqzWklqBlKpQbwer5KJ2unkIY2E-qZGeLwu5Gfm4JLp08FGYNBgwLgrr4Bt0flhLV90fCEbecf0WfKp3bugYTQ0m42oGjGcNESCwz6A0VXDYGYUHaDwU4ejKEzPgomR68ShI-jv60JiihlZ-TmQRMahYIwxG7S0tWKAvNhiSUJWTqkyfkvw5ZhJh4KRFXSWGFyRgLJWX1pKBqmZVhnuMWnqZMgWxj45hKtvu1c6_Naz8uZd2yhESW9Ig9JsqQjaB-Fo6cb40qE4sHUbuloaMXZYJdTUTia9Ck0UrAXlFTy-hG01tVj6rW9gx-lqOqMZ4ydPwaZNmzBsyBD86rFHpA0vvCYPLSqEhVd7YudH2LVxHbMMs8i8hXhxwzZo09KRV5KPGEX8M8tewhVXXgVnrx3T6AiCGmXnZmPO0suVZ_rMc8_ItTVnmfFK4XEN4IEf_UjasOIN2WJOUOiPRVSGH6BzNpxFdmoyivPzkDZvobLvr-fMlE9SR40eM1YZARA2GVEybDjvXY7yvuiNZ5-FNOBAhs4Af3cfHBT1Y8oqkEQnERR4kJldnWTFll070ecdQILBhskTJ6F85Ei46SBTfvfwBeEcAl_Ihv7m2w_Im1augJ78NpcC-8abb0Y2xe7goBsTrvpsuf2Dv_yV_NoTTyPbTPqhY1S26dDa341jDR10DpBLa5FG6lBCIV_X1ITWAVIOW4LyYnH6_PnQJtjgCgf5kyqCdC6VIrL97DnYGDWLKYhPttSgqDgPC6ZMw7FjR7H8gxW48vqboNVZkJtTiK6OHlQWlmLVsjeRQP2UQI0y2NNO5_WiraEOTrsdI0eOQkJqNjqDYezpbsdld96pVFY0ss0-XtPkUWMQHRjErrVrSVVUsESCsAS8OLl3N_JzsmErLEbhgiV4bfNmvPDmcu4LfOXer2AUadcvfvYw7rvvPiQlJ2H1hjUYM3Esn6oKw4eNRiggepRaeP1JyExPhtMxQIqaxYeuxqBrEPt27UDbuVoc3r0DC2ZMw2Mbtiv39sxrL8ib31-D8vJKfHRgP8IR3heTFUd274WOWTk_KwPZmRloaWjAoN1J_aXCNQsWchuLsn6KeGdYQ4rW43YjaqC-YZbKLMrHuEtmIUhnq7zlwlmd6gvb0BNbNos3HRg295-n4r1P_kl--Jv_hYVjJiBVrPNtVONMewt2nDqjVCzRcZuq4kqlBlRtayP21NXAERNyGCirHI6CiiEYpIMUV5aRnflgIU0bSXqhooFWDSvDhn1blQzWUH2WmSeE1IoK3HL_j5U2vfry83IZjeix3zyCYI8Df_zFr9B46iRqjh6kwPWjm-cT5UF9gx6Ul1UpVeP76YhJ5SWI0XE727swZsgwlJGCHN-6Aw1Hj6K9vhYmit35I0dgOPWLz-tVRugyuuOXy1_B_hOHlZ6il19-GU8-8SRuvOEmuNyDUBt1WLtxLdKzM5USpKJkUJR6wGZNxMnjx1BcINYdTEVP7wD8dFShqzasXY2Jo4Zg6-oPMGXEMPzg5beV62rfvEIO9LvR09GLPz__AiJeP7KZ8USnBERHh9mAALO7WAaui_QQgRCq8vJQwAxn0ejR0NiM_MohmLF4MSx5uZASrYhxH92saReMY_wFXziR_heI3hc_jetfwU_D6CWV8jFyBxk5IwxfYpF_4Rzi4oQjhCjuxehcLemFWD02zMcUpYGK8jZuPnBJq0WM1MDE6BaNBqk__IyxbmjlQYpONz8BZU1BlWREOCpGcZ1HmEJeVDkUFWzVPJ6YRBWlfglojPCbEuBUi8lFRjiCEq9FA2hN8FCPgNpJdCSYVWyr3wu9x41U6g6Dzwd9OARKbcSoV8R1iKo8MYaKCNvvE51fpI4SI7LQY6LHT3R9axm5vWJ1KEZvHSN9TFZBqVfMaxVV6jVGM7x0liBTquidk7U0cLY6qubxub84lnj5-Rf4xTrvpIdipStleI3oPhO9e6IXjvpG3FvxUlB8JJUYFBpR5qjoLaRtUT8CWuo_ixaDegke0lg7n82F6BwCF2Sj_xbH335Nrtt9AIc2bYaO2UAsapOQk8kHLKGvz40Bl0dZA8RLwwtZ9UhjNBV9sJOnz6SRq9HvcCAhwYqIbxDDC7IxvrKIVCmEaNALHw22gRrjbH0PykdPQQIF9rwrzvP8l5Yvl08cPogD23fhmUefRMDpwduvvUG6kwBZiqCnq41C3qesctXd1qV0DEy8djFCWolOALz7wssoNNmwYMxERHrspDvn0NB6jjo8jClDqxjdx8BI4w4kpyE0YjR-_MKzGDFxNOmdGgtnz8b7767Ajl37MHzMKNx8921YteZDJCUlQ8XA8rMf_0R657XX5a279mDchElooRYazeOdrj6DCL2ioLgAyVYjcq0GHN29DeOYQcZddbNyXTvfelr2OtxwdvVh47sfQheKwciPlxpNFJ2TtBpl7Jd4cSnGZPn7-yAxi5Xm5Cq9i2fb2_GNX_wSBQ9emEPcP42LwkEEPnzsd_LZQ0cxeK4RBkY7NdOHMP5uXxBhClK1xUIurIE1KxXdTjt5dQxjJkxEXUM9eXm6MryCpB2jK0uQZBDvUTzIyUrHzr0HYE3KojA3IqOgAgm5eTjT1MgzRhGhsBcDAH_96_Or5r7-xLOyq98Jl8tFChXjMVvR19WJ6VOmoK2lDc6QF1K6FTPI963BCKo3b4OHBpsalZBlSYKefH3_mROM-lEYmWWm0rANOhN8_Ju3bAjWHD-O2-65A7wsvEih_MF7KzB16izcdvddkBjx9x3Yh-LCEqUTw4QYsrKy0DUoepYk7KZgDgZDvC_MAJEIFi6ar7xjSVRHsenDlfjSl76EoZcsUK7j6LbVssGgw5Gdu_HSLx-Bxh1Alk2sqW5S5rqf6WxR3vUUpWcwoOSiOCmJ1xNGstHIuCOhddCF8rlzMPqnF44Y_0e4KBzk8IfvyLsPHEJxZjbO7dyLzppaRuxmRBndUiuHYvKCRehjJJe1JE6BQZQNrYBab8AABXJ13RlG_BQcpBgdO2oEfG47jHQubTQECx94Q1M7yoeOxOSp83GmsQ3Ha2pgS0qAwajF0GHlUBsk1J89A6OGxuMNIzUhBYcPHUKIEfZk9UmUlBXTMINIT03DwWOHMf-qJcqckTRSp11vvI2J6VlQ9Tsgajtm5mVjUCdeVNLZ3t-AbDOQnpKFuTfehuPkhZljxuLFN16BSiNhIwX9XXfchedefEH6xje-LQfoqEeoYW694Val-3toYa4yqPLyW--Qnn7hRXn_vn1IpiG_9NIryojkKZPGw-foxxz-TElMQElFFeZd90nJ0EN7tsjjp86V3vvOA3L9_sOwkcaJ91GDsSjOtrbg6MmTSsnWiuREpPC7EVnZSgbxM4O3-3246sH_QsK1t1zw9vWF1SD_CvUbt8kN6zfJG5_5k_zRRx-dfwNOo88fPgL6zEzMWLoYoy6ZjhlXLIZLFUPb4ACCjLyD3kG43U709HcrRR8MRisNyYspl1wCS2Y6-sj9VanpkJKzoU7JQ-noqagaOx19pE9JyclYwMj4s1_-RPr-j74vdfR04-SZanQ6-mBIsmLEpDFw-pzKLMO6M6fQb-9Wqqq46JSnak6ip7MT2iDbOeBGgJlGQ20kJjL5SE-M1BVm8vumujo01FRjaKYJ40YOQ25WCprOVvM7Hq-jVXmLL-bGixG-N91wo3IvwgEPKorz8bMffBek_TTcCLpbGpBMTfDnJx6X33_nTUyewLYN9GL08EqMHFrGDBPB7MnjmaFUyuKmUY3ozjiP7Ru2K84hfk82WODuH0B2bi7u-eBd6b9XrZCeO3ZEennFu1hy_bXoGHBCZ7NQs-jQNdCPPmbP8mFVMNoSlGNd6LhgHURNkSvTEESlDzkKRMiRRYWOEIWnjzRggDxelWxDlCLRBwpNRvyoGN4h5keQfhi4nZY6RKJwNRjI80XldQposdRymII4QkHto7COSDqo-J24UxpqB9Wnh0qo6XEUxoK6UKtDLL0s1vxT6cX3srL8G6g7xBByAUmI7ACFLrOFnnRFOLVYRlpM0vKS20eFKBfbUFALkS6RCgmBrKY41sUiiniXgwFYxZqLYlhJIIDDu3fJshjiwfOIwZ3i2kQHgBg8YmE7NKLrQJyY0V7Nv0viHvAT87qQSC1jpWbQ-oMwiFHMH8Pq_WT-hoX3R8fdDfpPOicERHtDzEQSzyFmuIhlpd2kVyGLEYO8_-4LPnecxwV_Gev-_JR8-MgxUiYTJk2egtKCfHgG7byyAIIUytrEZKxcsx5WZorOpiZ01Nfg1ptvhScoYYCUqIuZQRRZiEhhFJUUMvLXKAvdiMFXYibe0oWLcMmi-dIff_GwPG7ieJw4W4f23l4EqBv-8Ivz1eTfX_WOLKq9Dzpd2LZ1C3qpO5QyPqR4FlIQMZRkyphJcPQNKL0-ImOI0kN5VhsSaORNh4-hKC0Lfcww-4_uo9uCFCkL0ydNQEFONnbXnEXS5JnIHDseO04cgZeOU5RfDLHkc0dHC50qgExmmrVr1qH69Dloabz333Ujas-cwevrNuOShUtgZIQ_euQwZs2cpYyV0oX8OEtKFiXNbKo-h8vnXw2L1gYxPKymthpjp45CM-9Vw8FDsFmtiCXY8MAvfkEKqEXWvFl_tZsfzhYvdXci02bFZUuXKMUqrn_5zYvEPS4AB6l-7x1546ZNEGvpfeWXv_7c9v7m_q_J3b0DuO76GzHlqqXSkQ3rZaerh3kjAj9Nt7GpmZE7CJ-9F4unT0bI40dUMuOnv34UIyZPRU5xEZpJXyyJNuX9wMnqakXEXzZ_PmYMG4n648dw8uhBzFuykFkpEQdOVyuZJca0MapqKI4fPQbHgAu9_X1KBcKPtm5mhI_BPTiIgqJCcn4NBnocSrfrZVdcjvS0VEb7GJJpbGL2oru9C3XHTmH7xo2kWhpYdRIWTJuEKKng6aOHcevXvwHjiPF4k0K7bNJY5UWhy-FBNqlkY0MNKsoLsXHTGmVoyUM_-50yLfaxh7-PRGqO97fuRhaFu9_jQRcdsLenB1GvBz31Z5DKDDgitxDBXhd05J8mlV4ZrtPd04GMggycPHEUw8orkVtSij4mzi9997vQzjq_utZfsPuZp-WdG9cih_R06oxpzLwaVF7z2UVBL2R84S_klVvvkjdt3gwfhem3f_wDzPjKV_-uzT-89za5saUTN91yJ0mIWpmvYTUbSG9UyvztujO1CPvJjbNTMaOqBGveXYFQWI9DJ2oxYsoURHV6aM1mmJKS0eN0Qm8x05gjyCQNmpiahd5T1WitrYElLRkZY0fg2XffhURuPnz0eEyZMg1bt21HY3Mrj2GENT0Zb7_7FqM4qRY_48eNg4kCd9qMWWhoaYXL78FMGpKW9HDt2-8ghY5285XXUHRvQHlxsTJYUU8KFKKRNouFd6wWpOQXQj9kOA60tmLaFYsgmYwIi9G-dLD2lnq08aPRyvj5469J6957TQ4wA8YGu3DNN8_X233s1w_LLY1N6KfWEGV_VKEAhtCgfa1tGJ2eBxMpXQIzcBkzqOieXr9xDQoo8sUIgGXL3gBsybjlOz_A8G987TP3vmbXLnno9ItnsZzPwxf24rb-_JeywRfEnk2b4fX50E-enTe0AqmFecgtLUZlZQXExKB2iu3X3nsPnRS9V117E7Rai7Iaa0FuDtk4dQA1QnXtaXR3NcKqjuCK6ePRea6RvpMApzuIgaAPLmqI1Owc9A56cKalDdmkaRIdMikaw1hSs6ade5Th9E0dbSifMwNuUidPMIbyoSNoUDoYrIkUqwPKe44HH_4xqiiu1aQ5aYlJMOkNsJJKOT0-HDp-FCPHj1aKM2ioP0qycpQJS6KMzunqOmzasBHzZs1QBgxOqihBzb49qD64H2MmTcU5XwhOapXHVrwj7d-1TT7CrEV9DWd3Ox785flu5kM7Vsq8ZTBqtdi1_kOMHTMOQZWZmVQLORLFe--9g3wavoF3xtHQgKZ9BzEmNRsFFNTlRfnQ6cSLxSAaGs6itbUFM2bOwZvvroYmLRvf-P0fkHv93wzz2bRZnjD_kwGMFyO-kBc3sHW7vP65F2ENReDs7UGPvQ9BWoObQrOOkVBNkapPTKD4prAlJWmmJtAmp-K7P_gpzEYb-T-DXoIZwUgIbZ1dSr3c-qY6uMWqSdMmKpOCpKgezkEfzKlJOMUMU1BUgvTsXJyub4SOBh2khihJScaMzAwcW7UStdu2KnNL9DmZyjCKgD8KsykRPV12eEnjPjp1Al6DBkgykJ7kUBPLMDEDNYlidekZ0DFCDx85HInJFmVOSCwUg4jqM0ilEhISsIo6SaPWYczwEXRkCVaZIt1LbcSPpDXAKfM6BxzK5K-QFEV2biauuuYG6aN3lsmZGakYOvP8uigvPveIrIrKqGDWGRzw4nRdC0aPncT2-pSeu7buJqjCIWx58z2kU0fdOXcBBhrOobWhDlnpCZCkkDJANJHXbklIxWtvrMQ8Bp5L7rwTCZd-1hnee_5F-Zov3_0vbWj32vWy1WrCyBkzLzhn-kL2YiXPmSWJlZPE3GY1aYqWfF5ZJYm83aR8ZGjCUZgkDSQ6kRSRIYxCREmNGO7Bv4XFy0KNmLQDRIIBxlAVdMwmWhqhqMwhVomSDFoEeTwVI7N4txCOktowU4hauGaTmduFRUFcGmSMmSgGvV4LsTiU2u1FEvWElQI7UbzjEKOO-buZDmwU2wZ80GnFBCy2n5xcDPYTxQw0_Glig9ShMBLpMKKYdJhUDnQsMTw8wLb66RxOfieqlXh4PhfFtV2S4NdolaEtvFxoNAblmAJiPBT5lfK7gBh-InrWonSomKgnzH3EcBMxE5LpVbleMYEqKo7F-xfg9iE6rI_nFH8TxxVrIHJHRk8xuUvDwxvgD31erd1P9ej9E6TyGabweV6I-EJ6dPWyV-Q1z7wAI41O0IgQObkojNxGganR6jFAKiRWoPUyVXRRyNoZjWctWojxU2dixMjxMFmtOFZ7nJYMdLa3o5-apPVMHUqz0xhZM9Db283jGSgojUhn5mhllomGgzS-GIKMqirxN7YjhcYZa21GpnjANGrhmPWM-o0NzTBw34LsPKQnJEHLjOOlbvlg_x54k0woHD1Cmf343opVSvnN6666Bu11Z7F31w5MYgbbQc0i1mO_7-tfw13fe0Ba9vJzcmNbF2ZeMgevLX8VopfYpIrBxvMP9PZj1KjxuOvB_5YO7zwsb_roIzpeDImJ1Ayl-cxQtSgtK-G16pXxYLPmnK8ccmzndnnfvkMoKh-qFIcYcA7AbDNh49Z1yhrwJp-MuSPHYvWyl-Btb4E25EdumlVZuHPujBmoPn6K2q0NaqMFP_7Tk0j48h1_Zysv_uH3ckVhIab9zQjrXc8vl30DdpTkZGPrmjVYv3oVFs6bhy9982vojfqRPfeThXq-6PhCNvTUa6_K7z3-JEzUBv5BhzJDzsUHKOZ3FBSVKoPkOvgAooyEp6gntEYd8iqHYs7iy5GaVQCx1ocPNHhmBAe3O7ZnL8Sqt4_-7MfQyT5s2LoBXvX5qu1JeaVKlI3yHHv37MH0S-bC4RxUBvEJhzDQsGTSvGKzBTUHDqGbmkElM9uQbt117c1oqq5Wun1zR43C6YF-bKg5ifxRw6iPJLR0UV-MngA5GMYuGsrMKVNw2XVX4xzbgkAMI0aNhCPsQUt3FyZMnYWdbGdTUxOCzEBLF81FyOeBm21JTkpnUjAhITEFh48cRUQ4c9CDO-68CQ2tZ9HY2EDBbsWIYSMxd_H5pZ1f-fPT8svLluPrDzzIANCJwuJCHDtxFHmkf3IgBEtIA19HN_avX42ZY4aj9uBeNJyuY74AhhQmwyxrScsiKB0-FuGkFEy69QaUXH5-DNpf8Mh3HpAbq08jg3TXZjKivakFBrURnU2tZJoGaJmBs2xWni8AF-nhlTffgGCKCRMe_FHcQf6_4OAbr8ibXliOBFIlPZ2i9vQp9A26oLMY6ADZyoSc2tYOBGjE5WnJmMXIe_xcEyJGM-ZddT0CGtIDM4WpVlJmEu7auBH1B4_gsYd_inGjyrHhow3w6-gUZgr1sJ7USgWLXqN0hQ4y2grNQHKGJG5TnpqIbRS3LTRMv8OjlPQRY6RkOmHt8eMwsX2Cr2cMZaQmVXv47bfh5zWIDJRdnA4fI3t9fRsmFmZj7pzZCBn1-PmTLyr3_avXXyeLyV0GkwV155pRz8wkqs2LHrSMtESMHDEMBoORhhpGaWkV2ts6sWjBQkyYOU6677a7ZVHAwWAz4NSpU7jn9nvQ12fHvCs_MeKnn_ijfN_935Q27dgm--h0VyxYLK3ZtE5ONPB8B09R5zCThL10hhCO7N6GoNvOqw6jr7kVkytGiGnzsGTkQJubi4pL56Nw_vmxWn_Bt5ZeJtccOAAr6aREp9WL0cEhBhVSvjQ6RtjhwLjScowdUoX-rl6lOuWgVYsFL7x8wTgICcwXD119feinQ3Qz-nt9fqSmpGLMiBEozitQKqg77HbwOcDMbUcWFsPoCyCBmqOrrg4tdTWoKKLhMEOYtDpqDjXMFovy7uCt997H-m3b0Nzdg1Z-YswcWoOVYl7oDxWsYkCe2Ya-nj70dHRCT5q0i5TGrNMzQuuUuSUZyaKAtVX52Ex02EQbCnOz4Xe7gLAfydxmYnk-plVk446ll6KNzpFpJf2P-GAhfVlKQ7thySz5xqUL5Tfff0dZGStEHZORkoIIhfRN11yLW2-8CTfyo-a12hl5_QwIYnXdY8ePYtWHH-D73_yOfJy_i_tw7zcelG6_7iac2HcQ_oHzK_L-BcI5Hn3kN_L8mZeITjkFUX9IKUcq5rFUVFUp49G-8-Mfo8_rwZe__W3cfv_XMYGOvH7HbtQwmzV2d2PB449Kf-scAlpS21SDGVZqnojLjZjHCxXbKsayiSqSQY8Lrp4umLlncWYWjDQ3dSiK0NYN_zPx8gXAF9aTf3nZ5XIShffZgweRZDLBZqVoZrSOUfSKcpjNvPHCAQqMVqQkJCJEA9506DA8FhumLL4Uo6dNRphW8dJry9Ha1AwHM46Rka6kIh9DRgxVCjaYkjKhT8qBxxtCaoKFGcSNFBpq9ckTyoDCgkQrSqxGdPHfCaQLsUEv_C4PhpRVQEMKVX30KHQUn4XlZQgmWLGd27U47Lj2xuvpXDEk5Wbi-TUrcaq2FkunzcSliy_DoOiCPX6S2Y9RNitHKT6Xw5893XZs3bwNWl5HhBlE1OqlTmYIk-gkTjgdbowbN54_HfxKZlZxY-SQIXB29mDZM8_j21-7HyNGj8K5rhaIxYWKc_MUmigM__Jb75Q-2rJBnj13ofTEbx6R1RRn933v29KOd9bK_dQwKtI1xAK48ue_Ueyh8dUn5V9_-wf09wiW3Hgrrnnh2c-1k29Pmys3kLYlmw2knREGIxX0vK8GZl6ho9x0_tF5RRheVMbjq5GSlwenQYWqxQuguWTOF9b2Po0vZAYRCNIwfGJsD4WqW6axGPTwCwcRPScU04k6xiNfECamddErZBAimsZqCIVIGWKkPlEYI-LD32MSzBoDgiEaHilPTG2AxxOGlkJbzA_V84GKORJiHntM6S1SI6bTKKN_Y-KMPL8oqSMmVQV47CANUNAoMDO5ub1bb8QgPw6Jz9zMvEYjF0svCAsXtaliFPkxGo-o0xVlu6JhtoOxSfQWiR410dsW4_eitI94IDpeUzAQVM4pthHH0IheMUSVmlgqCoUgs5UoQWTT6qEnFTXQgW000mS21-LzIZn72_wBJH0cAy16A_Zs20bnUNGQz_d6CQqqFBs16eFihvoLxFIKokq8T9x77T82kQjPK_SYJO4hg5We98_v9Sl9X6LXTsv7EePzENcgRk-LLB5lthETui4UfGG9-ND778nqgB-O9laoKPL2kOo0MBKXkVIlmMyI0jnE-hs2GpN7YABqGpGbD6WXD-BsXw8M1A58ajh2uhpmGq-oaOIJBRCzaVExagSvXIOk9CykibU1giTbpGKdFNvWxCQEQn4aaQxm_rx67Ch8-MwzSIzIGFU1HO-tWw8vtxcLzyycv1CZreingbtJt1op0ptbG2ESw0XYrglTJuFE-zn4xJvrghJlwpLL70dhxVA6ohkNzS08rYyMjAwcPnAEZSXlOHzoqNI9LDoYxHuclPQ0nK6poRYxIDMzE6tWroDMDDN1ykTlhefZ_cdQkpSKyvxczJ85HQ0NdUrx7p4G6ohLZmPp889J7_3xUVkmNbyWmeTRn_9aFoXsvv79b0u_e_gXcnKCAUNLi0gFz-D6b36ypuBL990t9w64cNmttzHiL_1cO3n4qlvl5kMHSLUCiMaCygQqmQFJLHOXZCB95XMzBRjceO90KWmomDABTga9yVddDsOcC-OdyAXRSIGtD_9YBo1LLIH20Zp1zN8B6BmkJ4wdC3tPN-mAHy5yeU1GJjpJlXYe2k_DDCEpKQmZpDDeYFQx4LaAExWjRyoOUkIBmZNfCA1pgZqfXodLWVkqIcmGSMiLDJ0KOUE_Dn-4CoPN7Sgvr0A_I_SR6holct5515dpxNRMFPbtjNghRvRI2IftmzdBzfPNumQmhameSSqCoWI129oazJo5A80tbYyqzDoeH4aNqoKDtOn06Vrk5xUiKztXKQTX1tmO9q5OnDh9Cjm5OSjIz8fatWsQ9HsRpeMMraxA3aEjmJBXilEFhdRjEdg7WtDX1QYLo_m0EeORWVyKsvmzcVJcNzNMcnYeVFE1M2kINgaQFavexaTJ4xBwDOD9l1_GHVdfQ70gYfF3_35J6M_DjsdfkO111bAIOuVz0XHPZ5S6Y8eQrFMrq-72nWtRRhHkjBqNkZfMgo8UedJPL5zFPS-Ihu546nF5w3vvYXRZOYaVlWHj-yvh6-mHmhnEYDbC5XIg0WbGAB1jkBRikAYQEGLRaEAhjcc-6EE1jbKBfNxJdlFQVUTaokVxYSnSEtJIX4ywMMLpKNBDTP-iUqBGE4XW7UBeOIBW6iBB1SS9HpVzZsGak00NosG27bsQDkswJqUjarYqVVOKS_JQc_IkDJT0Z5nxFiycQ4MPoptOPGxoBRprTrDdMRqqBnfd-WWYUxKxa98-mKwJJDsqtHZ0Qk2KJtb86BuwKy8axYSrPXt2o6y4GOkpyUoRu-72NiTEgFEpmahMS4NvoBsnj-5DarIVMVKrxTPmo4MZIGfqJAxbuABnxfgstrGrq5_qWoPqplqeoxYF1EAtzLKH122ClZHeyLa9uGwZTNRPObP-Xph_Gnsee0GO8LzpSRYcOXVUWSZBx8BzbM8eGII-VOUXkP6REvK-ls-bg8Lx4-CjAybPuTD0hwB9_4uPbLXqoT1btqKzpRntLS2KcZhoRGINCkFne_p7aGAGiu8qpdJ4T78D2TQkMedDcODqM_WIGrWQEkzoCwfhDNGRPB64nE4UiwxCTl7fQGpEgW8Qb9CpZyKkV5LPi91r1uCWq65Bd0c3cuicAasJMYtJ4dPiXYw-MRkubu-mvslmlO-lSO-z2-Hzh-H1BTCGtOrs2XOK_hClh1a--RqGcDs9Kdpgbw8O7N6DSeMnKEPXT1efhtM9CE_AB4vNhv4BB-zMLqI9LjEyuLBAqUjf290NrXgDzownVrDKNJnQUncaFaRZc2ZMQ1VpmVIvq573QrJZETHo0MX9j9IRNBo9PMxCystX0rja6mpEqBtybUmYPWkKKovLMIcOlTLr_ISpf4YqW8pD61etQCtp5ZrN61F9tg7HGRwoqJBAzejjOZ0OJ5IL8pXlHxIvu1z67fLlP_t49wsCF4RaEsNIGNAZk1WKoI7RrUWt2Sj5u460Jkajpy8QFOWMrsLrjfQcozLwhJfI_wU1FPzcVrwJE3V4g4Ifm4yM0GJYBsW_-DAC8v9ofCo6F4W7GMbCTCMZTAhIWlI4xnitSZmYJd6Ui7Kkg9EgojoJeoOG4jtAQR8h7aLA5nei2odKGe4iagzH2FYKWuoqHaOrDRTV5O02bpvA8xoiopp9kAI6ymOpEeA2Yr1DjVZL54oys_EGaNhu0WEhsgpFvfhQDUHU_xVD3MWS1xIdU0spTiEDLTOemiI7yGOJ-SmiqzcWDikaRS90QSimZGEx-Yqbw8usK4a8-CSmpv8Bomy7uKWig0EZUsP7ISrEiOUZRKdElFpE9DqK4TPivdOFiAsig0zOzXsIHi9y0lLh9Qyin3QlLTFReXsrVn8aUlkGW6IZ3d2dsOgsSNJbMGv6LEb0AqUkfw2FfshiBawWZdxVMkVtWlIKzFo9MhKSkJGaimJRzdxIl9Ix8vk9ytCTitJiJHIfs9WKDGaatTt2QcXt-9mWXkZ30TNDjyWFijDDdPK4CcxkpGtmE3-3wcgo2sXvP1izArfcdAO6G-sh9fejgucThbQHmA11MRn52Zl4edkL2Lx1ExKTE-Fh5gqQJnmZ5UpLSlFaWoKevh4YTQalQFwytxEr0xpogCH7ACZWVVEoU9Tz3oieNhfpVJiGXzVuDDOcDSPHjVOyqlKiSK1ThlDZ-3rRwfOfOn4MXU3NUAXCSOAxA8zKtefO4cqlCx-6fOH8h9Zs3f4PI34-pIfEkBIfM1KPi9kiJFP3kWbxmZhFoGIb9AwmwyZPwYhvfvuCoVWfxgXR6IcWLJTVThezQgxujwNhaglRxU-imDUYtIxejOAmtVLozKZLQY5Y8pkG4Wf09DEan6VI1ebnIUjxer7bNaYse5xo0iOPBieyxmpSuGETJiN_6DAavXi7HsKxQweQR5E_bvhI8n4jNm3dTofTYcLUycrU26PHD8NC50mis_odg0qHQKe9RxkrJXSCeJ3u6vfg8IEDSEs2wdVQjxvHT0Ksq5vXwgzg9aKsohKgQ324dwcspEjDpk-Hh4a88aNdGDd5Ok7W1jHXABu2b8G8hfMxnRQqSmfobG5F35lzSHT5kM0MkMNM2EKK0-uyKz1rVVVDMXfBAnxE7SKZLUgtLkc5z93IdvoZ9jft-ggtzQ3obW2Bl1olifuLJCy6pANiXCNpWSgQwqKJs_D4gfMVFz-NbX98Un750cehZiBxewfRPuiCl9-LibniBW4uRfqUEaOQl5mLGVddjcS7brsgHYRP8YuN-tWraW-y0teuYuZPNFmRmpiChIRkRts0JGVkKFz7TO1Z5OXkIzMzixw7gA6nA02M8khOweRLF2P4hEkopshPT81Qlka26s3kyRYMLSpWxlzZm5twZMdW9LTUI9mipfA0QyVFcaq-Dg293dhbfRKT5s3F5Fmz4Q1EGKX9dFa_MhTETANX6VQ4cuIwQqQzQyvKUFpcoBSLzi3IxWWXLUESM1gm2-ztHYC3xw5Pbz8y6Fy-_j5seP9dCtp8XL9oESQamljTcNrE8cjJSKfDGzCaTlueX4zsdLEKrQomGvygy4F5s2dhLj-nT5xAa0srCgqKkJmdh0JRyf10DX766GM4dfQ40o0WaAc96KTeCAz0wc2PWHPxTE0Nsqg98qh3jDFSUgpsDZ0zmxmqOC0D80aOQ1VyOv4w6zL50HMvMe98ArFIjj_ghSfoV4pflPE6KzNSUZaejnTeEzGcxcLzpmXmwJjIIHSB4oLw6q0P_ULe9PqbcHV0IJUR3ygqIIpXbeS2Lc3nkJGShLnTp6EgNx8NTW3wiSHtFM9O8QIwMQFRbi_KddrtzCR8zGIVJbHQZISUZPboUXD2dGHV6pVQU4AHjDqMnTqJ2kNCU1sHOnqdGD9pGpoam5hYLCgrH45zFPQy04PBpFMqMaalp6BqRBXWrV1NJ47h0N79ysu4iROnoLRsiLLA50BzM4ooppu2bEO5KBtEvdHR2owOCu7swkIMnzQJDhpawbChGCRvf37VGuSWDcWi2Utwy613oGxYFb71_e9i7tLzpVhffPy3cjKFft_hk_A2NqPl2AkU5eageEiFshpXQ08nth8-jjsouPWiYgk1SmJRAbqYJpw6DT7afwA7mKUunzZVKUAddvuUdRqZ-qDl3xPphLkJKZhSMhTd_b3oMcgoGTeKigcoI-0z85irV67CKQYOMQQnj46mpxYxktK6evrg7bNjSNUIVE6ciClPP3ZBZg-BC0KDPHDd9Q8d270HYXL_pIREpTBbY3s7-hwOZGRmYP7ceXygVpw914AjtTXoZlSzlRXDJQSieEtN3SFKZooHL6oSqgQ_Vouq7TIzhQ0p5OmiAnpysg1Tpkyk-Awog-98bjfsDjd6evuQk5OlTFctyCtADx3K73cjNTWJnD1Aft-Ltq42pRcqlxlsxLARyC8opPMw69EZnf120g4KYZcbfWxjA7drJb0Rb-iXXnkVMnJysXHTVuzbfxBTJk9V1l4cOXUa3BTcVmMCxpMaVTCLhGiA7334vqIJ8pITHqo5sB8m0iC1x4dEZhq3w6VkNB_bdPpcPUZRm5TkFaKR50xNSUFydjoGYn6EdBK2792NrIw0ZqYCtPLvvb1dDDB5vE9apQOjRYxVo17KtdgQ8Lqhs-rx8iuv4fDuvag9dQKLL1-CS3_2sPTOM08-lJ2egbaTNRhXVoE0Ul89vSgcDCOdWbF0_Hg8sXn9BdVz9Wl84SmWgDcSUoaPi6wRFpOf-LvovRIDQSQajRh6YjKalR4UH2NVyKiFIxpWemTEPmpJgiwmYNFhxChbXzSi9ECFRQ-YSYuAJoqwWqxaFYYcCiirRSWRHkkU0mLwnYrHEpXmJaUnKAI5KqiVGKUSgJoOJ1bEErMBeUgKfTGTUfQ6na8BLGreajSMQ9xGZsTnSZRJSeKdR5DbB8Q7Ea2YBKuFTmuBWtZBDsjQ8I8GSc0sqYKKeiDKlKejZvoLxOKeYuUqMfRdUDk_hb1YnUqi_tDLGn54PKWwhOhN0sDHbcVMTLHAZyDKdhtFT6CPziLzfmkQ4PU5In7E9AwobK4ojSoGSIrlrnXUcpLfj0R-Z-EnwEwTU59nXDFem9A8Oo0ePqePmgQwkr76ec-d1GJhqzjShYsLIvUdXf6KvOfdFQh0dEEXCsNB0a1PEKtoyLjtppsRCQaxasUKdJGXN7qd6KaYzxw1CgGdHvPmXQqTxQKPexASHUKmwYnqIpEQHYvGFRrsR1FmqlKqc6C3BxMmTcDqNWuUYR4RiQ4X06G1144Zc2ejj5nAqDPBQX0TlcTwFBVS07MxQK1TXlqCaDjMtoRgtSXQmA3MNL0YWl6JYN8AnHXnMFjfAEfdGbg62yDHAsxkMqqGD0NbezfONLVCpzLhzi_diX46aZPXAxs1ReGI0TAmJ-NkXTWOMXK_8Mr5oeLvvfhnufnoUbTsPYAsGufSGXPx9vLXUcXsRdfBiJlTEaXwHiDVqayshC0xEY19HVh9aCcGGQwGmBUqKioRosjPJJV648WXYRWZlg6dxvvVL6Y2e4L42g03wt7Tg_yh5Xj82Wfg522bculcPLh2y2ds55Fpc2U9aZrEZ5FdkAdddipKJozFkHvvvSBs7B_hgml83TPPyO8--WeIVWwTrWaozYzwjF45WbloampG7Zk6hEmjeiismzxuRKhV_IzASy-7QhkiIiqTi-IPohi1j7REZmS1mMzwDTqQbjNTE4QREDVly0qVoRhKCc2efmalBLTyp6hYUlxcjIaaMzAwawgHsdv7MILUZ9DhRGFOHhIodhsaG6E1iOJzwLd--BPplksXytlGCnSG5e7T1VCxbWZGaVkXQyDkQ3NzNzUCsHTh5cw0Onh8Yk0NA2r6-jF24SJc_dMfSt--72vyY08_Jb322nPyLbfcozyzHz_wdXnJJXMpKOhI0KAwNVNZiFMMYwnScWd-9-vKdn_-_s_kWdNnKD1fJ2pOYcvB3dBYDCitKCN1G4feri7ccOf5SjGP3Xe3LJFe7V6_HjlGI8LUEhMqhtLxec8kGaebGuGlyXzv0d9i2D3f_IztfGfiTNnV2MIMEsb8yxdjxnWXI3nxhTNz8B_hgrmAtrffkp__-S-RrlLDyCgXVseUl2bRmESuHlCmzbpiUZjyclDT041-8h1RsXDBokXKQjNa8nrxNjpGpyEj434qim6DSAKwGLTwD_QiGvQxQ-gVShQj5Rj0hijEkxEgM2qm_tBRz9hbW5GbkcroH4Gd36VRzJ7Yfwg97V3K-5ARY8dg5MTxcIcD8NPY1jCz3XX1dZDEsm9dPbB3tCnaxU-RXlhWhNVrt2LS2CpMGT0V27dshYaUJkyqmFRchvm33AYnM9GxplpqoVb0MQMsXbIY4n3mQJ8bN975iZGeXb9FLl80Vzry1ko5xv3HX33eOPdu2yNPuWSqtPvDjXJDQz1u__Z5x9m_Y6c8aeb59eV3b14nT5t3qfTOL34qW-kIH77yCoZTV2Tw_nioReobG5T15q_98pcgUwOm33TX39nNkWVvyOcOHxP1UzCCmaP0tgtnkZx_hgvqIh6ZPlM2OF3IsFpIERzK0HNRqscrRq_y-yCdQJXAiE_xLoZre-gwJVVDMGHKZGRlZcLt9kJF2iSKEEgqHY1Rp4hsjYr0qqeNhDqsvDQUY58EfWP6gNmYgt5-Jx1SxWzjQh7PDQp0KRbEttUfYlhGLhKoP47sP6wsmzx88kQY6ABBrYQXli_DxAnjcMX8BTi8fgvMkop0pYvnVSPAcw0ZORwdFMJpyakoSM6AqGqanZeuDLfv8oSgzcrGaXsPEnISYDH7UVyYhimz7v_rM9u-8R151oLrpKO7d8ljpk2X1rz6irzk1s8WbVv5wQr5iiuvkla8-IJcmJeHMZ8z8ekv-ODhn8v6gBfP_eq3mFqYj7GlpZBINftIx8qmTsKoBfPg1OuRdMn5ab3_CbggRPpfoBXduzQiIXLFfIkQaYOLlEUMUvTwd5mG5Rv0UWBSpIZlaMNReAbI_-39CJMmiJdgUUb5aIginaKzn8Yp7oBErm5OSSDtUUNH-qanE-hp7HqeT_QH6ymCgxTr2dmZSEkww9XTgUBfN3LMJuRz26GZmSggvcoyGJFPB_X39sIp3qxTFH_vwQfxznvvora5AbMWL8Rt938NSQUFKBgyFAOkejd9-asYOXUGIgYTxlwyE6qUREjJCShnJuq021FUVgYvDTQc8nzGOQRWrV2t_BTOIX5-2jn27t2rqOgktkfA2dcJk0Z00p7Hke07z6vsj1G3cav82iuv4vVlr6IwOwtptmScqz0LrVaPsRPpHLNmQlp4jfSf5BwCF5SDBKJRZXWlCGmApBZldcTK26KAghiFJZEuaaAlhdIq44zEJKIojDK3pfOI2W4Stxdv0YWjiMlJaor2CLVHRBIL4NN5GMIjFM4xMWaK28eYoYSD-INeaCkUwmE_zxKEkYamIR0zyOQ6cogZQay0HubvYaVnTZQqYo5SxpCJNvp4ziDbPUjq5hL0kI7joQZiq3hOPTMhfxd0hhnQQ2cc5LkGeO4IvxPrnYtqkVExWOpvIOjlX7Bn17bPGPyUKedLhJrk82Og9HRwU1SUmT4PUV3x0xCFwGW2V5RFkqmXIvzIagNCkg5RUaLowjKVfxsuLAfhI7f7fegmnfJQDAZjNECRNQJhWG2JzCgReJxuGNWkURTzYui25PUj5HRisN-uvCAUyzJbbBaIBWL0Oho9DUV8xLgpMRZLjGESL9XEWhh66guJWUWs2yEqtNsSrEhJtKLt3FlqkXZYePtSaOxexwCCXg9SkhLgY7QXN9VqsuDBBx7E2ytW4lDdOYTNZiSVlmDv2bNwU-fEmHECpHhvrlwByWpC8ehRWL52DbZXn8aBhnM40dyEgEpFChjF_r2HYTKlKvdg2RvflZe9_mP58T98TxZducv_8Ed576p18tTpl3zGgzasWC_vWr9DHj9nhvTKLx-WRTkfC32lad1y-dyGt-TR8z9Z-3HtsmVydU01bMnJ0JmtKB02AubMLNz5rQcwddESNPc7YLj8k7VD_pNwQTnI9AULUDxyJCJGAzpp9GLQYIwRT0d60t3fh3AwguTERCQKJ9BrkUAdkqzVwdfTh97mVkRIy7w0ZLtTDLBzM2KGlMqFOkZ4G49hNVig05mYPYzwBmPwM4G4mH3EIp_iZZ7FYoV3kHTO7oC_z4kMgw0xuxsNR04gRFGenZHJ_XW4-tprsXDRYhw5cYoOsAq33fsVmHLysKfuLJ4i3coYMQxJleUwF2Sjw90PTZIJz614G9WkbR7StB5mvj2nTlPIS2hsaIXLHkRdbTcWL5koL1u2Dq--tBrONjqkbELd9l144gffwz1zZsp733tdPrR2lXx482Y5hTRt-qKZ0utPPiW_svxFJCaZodFEEAu5eM29eOJrN8htO9bIW157QW5va8LyN5ajsbMNPaSr2pRUGAsKEUxKxsajx7H3ZC3eu__-z2So_xRccFHhrW98Q966aiUj9iCNMgy3n-SKolvMN7_hhhvR2tKMNkZfPSO_GAbeK-pqaTQYM3s2ysaM5r8H0TcgCh9I8LpcCt8WBRiS05LgpjiPaIzKxKkY_y6qiQx6XLBZbNCrjMihJjm9_gMMMNomBGUUWpNhYhvE3JTMwkIMRMPwi0yUTqGt1uOPry5H6cypKB8_Fn7qjdq6Mxg9dhQ62-msdMws6g3PQDczlwlaayrMySmobaqHSqOFVkNHjajgG3Dj0MH90JqZlehInXQifUyFqrQCOBtaEOvvFYUZ0R8YxAyK6CVXX0uHllHd1IZv_Pwh6cCG9fLEhYv--pxf-sFNsp5C2-Xy4r4_vCP95J6b5c3bdqGno1upl2UgbbOJ-f7hCBIYNIJ-FyqLypDB-6Qm_ROrdt1w522ovP7i6KX6V7jgiGVKWQnKJk2AR7zBNRiUJcFavU6EtCpccdP1qBg-FMFoEAP2PjiZVTJTU2hAGqTaSH8GXDh78pQy4-343j3Ys24dtA4n0ij6VX12RHv7oRMFEEixNKRuCdbzlCqRhlGZlQ1zMIye-nq0VNeimcauob4ZM3Q4kulAJ48fxQcr3sWrr7-Kzq52dHV24K6778b02ZcglXQlQsNzOgdxkhH5tRdexso338b7r76OnKQUWFRapYzqgW17YIyoIfmorNgOO43f63NjgBlPS1om6vv6vUH4eJymmpNKtfqStAQUJJpRnmxD3c7tdFw_kmJhDM3NxLFPOUf1rrVKBjAVlEDN9gyfMRX7174gHz59QhkP5vaFEOWW4iWjI-RDP7VVm98JC4NF2OeHidm05dhJNB88gsd_8BMsu--r8ol3Xpdrdm6-qDPLBecgovBagPrBQcfwUvD6-EDFpKYAHURMXgpKUTGVClFGc5mGIi5QRcErZuCJiUK6cAwGahNdkNEyHIKZ9CmFXF9kAvG9TEoVU4aOqJS53-BxTDyImQar91Poko4lmHTKxKuQKgZ3jAZLga5iGBdDP8TACqukgpbHT6AWEnpILf5NJw36RTEI_s7MZuAxZb-oIxVQVo8y89-iqruR-1morahSlDVGYhTWYRosWwNEwlAzU2q4jU0cI-LndpT6_GnlfRDXYWEWtPIaErivNiLmPZ6H5-Plq92yBV5SsyAzYozZUqwEHCGVE1Yu3g8pP9kOySxehopTBqDmfUplZtT5AzAIvRfhuT0BJMtqJIqxOxcxLtg0-dyP_psSVY1Xlr-OegrmS5cswvNr1ktv_-T78rq33oaaFCZMiiRTr_S4vUjMySdliqKD2ypLt2l56QE_7rz6coynQBblP7uoUbSFJZATkhFVq5VZgiGfE7aYGtmyDRveeB1tNfvoIMwwagMy09JhpKGeOVULMTSpvLgIeXmFOH68BlFZhyvvvReqEZX47uOPYt6iS-lAMfR2tiLkdkBLx8xi5J8ydiTbGcL-I6eQlJQO_6AHomLk8bYWFA4dSgONYMeO7UhLS1Y6AkRmSSMFs3k8mFheyuymwYlDB9HfZVcKQuiNdAA6SnJ5GfJHj0NfRMKsm2_663N-9tllslYlHDKM40cP49Dx0ygqKMKx3ftg7-yk30dhNOvQ5w4giY6ypKICFUkZdOYgWhqbIas0aLP3YtzEafCLLvD0ZHxz1YoL1o7-FS74C1uz7CW5uq4OU8j1py86X3bz-DNPyC8_8gdGaqDL4YBMKtbPB9xNce3j33PE_ARmhggj-LhhQzBr1kxy-x54GemTS8ugIh2L8nfRixoIeGFkKG07XIejWzYjxcBMw-zBOK5UIwnSmgvSzBhSWISclAxowtQunjCFvgkuOmfRlQvw4vrVWHrNNTCZTDCLiUkiY6iBoNvJNoYw2N-PhrPUHgzhRdk5zIJqHOzoQqfbh87uXkyaNBmDjgFqJgcyU5KU4TYDp6uRSpo5aO_hgYLKBLIRpHuHjx5BiA4kJyXh3h_9FMmXfva9xZtvr5ejYR-cXS2oOXUCaaRbC-bOw1svv4IVb79Jg2DGZAAQHR5ZWuDuqZcgV2dCy7kGDDhcoPRCK-_V7bd8Cc09PWgmlV38pdsx5r6vXPC29Hm4KC_q1LN_lpf99hFoaUg6vZbCW40unwdNfb1wM3soIpgOIBAW9Ivb2Kg1JlBMz54xDUaj6MWKwOEL0GnUsFgTyVEC2PLe-9BS72hIvYKkatOmTINF6KABO0ZUluPY_oOwt_airHgIzUyHQJIFgZIMnOprx8RpU-DoH8DwsqGi8qNy31_85cOyVich5OxFihxGMn9PsRoR0BhwrM-HNm8MaoN40adGSX4BNUkXLIkaaJn58kiRTu3YhYPbt8E16MasyjJl8Z2VH66ErNMhZrDioaeegTRntlS_ZbdcNneacs7lr70niznzIbdbmRszftQYjJ4xQTq965D87HNPQ6NXobH6OFoPH8ElpSW455IFcLe2or27DT5SPB_3cXr8qCirwqkzjfBq9Ljt-w-i8q5PstTFhIvuos6sXim_9MvfIT1Grk_OTCGBXucABig61SmJONnaBKdYhklMK9VrUDl2FByDTrS2NOKyBXNx-ZxZOHrggDIcpaGzD5b8Ehr3TESpH8JOpzLke-Xbb5OG2FBZUYlSil57bw-dSg17dw9K80qoYZhFwjJcGgn1sUGoKaRramugIz0ZVT4cvR3d1EgxVNCp9GyDvbUBl46vojgfoObwI6Q3ojlkwDm7H9Vn23lGDWZMmASLRYezTSeVBXZGZxXhwLqNOLVzBzQ-L4YXFyor4JosdDAqCZUtEdsOHUXRyDGYsfQKZJKuNTsdcIrMyceuoo649rorPvf5v_CLn8nLH34Y41LSMNxiQ0V2JpwU7GoeW2TgppZO-N1BdPS7Mf3ya3H5174K05zJF6WDnA-jFxGazzbA3tULi86MjORM0igKc2iRRX6fRH6eTuohpmVQ3yMjMwUzZk7G5VcuQXllCXRGLQ3BjTAplIvC2GAzw0vjO3bsqFLdUGuxKGO8KqZOQUpVJYzFxehVaxDLzkULM00nDWjHQDv2ertxMuJAta8fg2Kehc-PxuYWaLU6dHS1Kz1TQR538-p1ePGxZ7B74y6cPFGPjoEA0m98UMq96uvS6m1bsX3PDtgd_cjISENuXjYuuXyBNG74WFSWVDLS65XeMhOpWh5pl7vXDmevA8W5xRhSPhQn606jiZqit_Y0PnzxWcjhQcy5fLF09VVXSNnpqf_QOQTKcvNJF9MQpSZz0qli_C8iqqrQ8TQxGUU52Ur1SK1WhYLS4ovWOQQuOgcRU131YgEcRmgxZkvPaCzJkjLXWhK9VPQOA40qEGP6pEgxmPUIRnxKCVAt9YEYsyXGeIlhKeKpW7SkY6JXSaVW6uqKtc1FFA3wPGGjGQ46iFj2wKHTo1_D3-lkvgQDHFoaFcVumIKZnA48NdtzfpquGJaiTL7iscQARjXpmiyLIfBiOtJ5iJECahphMBxQMt3oGWMVI9TH1EjUWaHnoxPGquExTaJtpJNhXptYf12sKCXK7pANMUD4mbnEkJdPau9Onzb1nxo04wNDiqSUVxU9c9FYDBq1-vy_Re-fOD7vk2CpYiLbxYyL7upa1m2QH_nOD5AQikEvStCISxQGQmXdZO9GXywIbZIVEo3v6ltuwNCJI1F1yfXSiw_dK3c3NsPIY0SCYWXUr5fZp73HgYaWNhqrFmnp6SitKMe4SVMUCpVBetUfCONMUyMSEs1Kl2xt9VEaWAxmcnNR1EGflEYJoeb3J8n3h8HHjNBcUyemScLe3qUsJWdmNkhhFhCDGcunTESYDtHZ10UqRAtUmyEW0BEljqbMOj8oUeCd-_9bPrZ5E4anpqCr4RyfpISyoZXKmu8hOvq7O3airLQAxXlFQKIN__XBh__jZ92wfp38xAMPopTBpTI5ERbev3BMDN_3QySS9KwctPX2Yc8ZUsOvfxszH7pwSon-n-KiyyAFly6UUnKzEBLzKig4s0vzlcGHJ2tOKTP_-vscmD51BqZMno5rv_crSTiH2G-GqCpYUMRPCax0DgvNvLehSalcqPP4ELFTx3R2KHWA9-3ejSP7D2HlipXYvW8fvIymdpcLnd1dSgmgnKxMJNlssJktEJXcE8jjC3Jy4XO6lK5l30A_JL8H3t5uxLwDsFEtx_w-jKkaCZsxkRHfSPFvxU23fUU6duQIFl46XxLOsePDdXL7Rwfl4I6jcv3pamUkwImTp2ESczRK8rH16H6s2rsHK3fuRFFZKRZccR2Kx47HVXfcodyb_yl6-vpwipQyzAyl0htgsCYo1Un0BjMzsom0z6V0nw-bNAE55WUf73Vx4qL0_Ld__CNZFGNOJj2yt7WjrLAIg65BZe6Fk-r8suuvQ4RR_Tuvv_nX6-_c8JbcWXsW0UEPOppaGDnUOHn8FHzMAmcbm9Afi2LYyKHQUMM4vBT5ahOayfuHTp6KkmFD0Nvbjvozp-hoYyEWHzVIOmWilU-jo-BnHgv4UJKZhnVvvYr2ulokMDoLR8lIMKEor4C6RGa7bsPe-iZ4SMtKhpehkCL-eM0Z3PfAt6U9-3bLrq4eOGsaoafDrnp1GdJNBkgeLyJhP6ImCdMXz8fImdMRiKqRlpSPLDrWx5f3f4yfzZ4nj0hNh8HrZTv7kJKaqLzHiQQj6GeWyhwxBBUzZiL7xguz3tX_FBftxa39zcOyqDYoqqGYqAHam9rQ0dMLu3hzzSgfJiVZ19GuXH_vnjVy29FT0PtDqD1yFDXHT0KMZE-2JTKim5V6u07RNWrSw1pYgLMd3RStOtQ0tmL6wkXMIKQffidKinIxcfRIReuoJVKsIDVQWgba2tsxioJ-5pWXSe__8PvymrfegMR2WEj2U0waTBw3gSK9EX4SvOlXXAsPtczQKeNQOvsTrbB33y7ZyyyWHtPCFomh8cQxnNi3FzPHj4fLPYAOVzeuuft2GGf84_kae557RPZ29ZG6qXHpT3_1T5999-p1smbAiSDvWU9rs6LRxAgDM7NIVK9DxugqJF978Y_Huugo1l_gZrQTczCUhWAoWIMaNYJ0CrGAC4kDH_gntWLTpy6RtL6QUsFdrDkidIHQImL1KLEwjS4QgCFKAcw9o_wZikWU1asiopJdLAQdP4ZokB_-zuyhEpVESNGUZZt5bspZ_lt9_mQxKpSIrAw9kSh-RVUW6nmlGomB2xiUoTD8d-yzj0ZHpxNjv8QiOiGauCipGhbj0XgZYv6juJ5o5J_bqxhaI4a1iHKt_wqDKglu3rsBvRZO0qkBZkK_JQEDpJ9urQF-Osp_Ai76CCDg2rld3r9jN9auWYdT9WcwYcpUyKQxv_twpXRs2TPyM7_7DWwU2zNGjcaebdsx6PAokWM2tzPIEkw2M053tiKSkojKuXNxsqOTzqZD3dlz6Olqh57RNcWqw9TJEzF2_CR4gjE4AjL0yamwUI-E6WBz5sxW7vWfbrhF_vCt12Dkv8YNKcBYagVVVELt2XYUDR2FK2-9A04aftLlnyza37Fru-wJBdHT3Y0ZN5-fNejesV3-aNNGFOdmIoV6p5aaZObChdDM_Pyq7NFd6-S9Gzeip60TfkmDW5d9Qi_j-Mf4j7pJZ9auk-sa6zF0-DBEqSkqZ8-XHrnjBvnYls0oNpmRxOzipigXy5UJijW0rByyP4DM_FzUD_QikpqMkYsXI5qQBH-MGuXkcezaugbXXDYfNo2MXgr44eMmobHHjoDWDG1CMq649S7pyI4t8lga7vZHH5Wf-tWvEHXZxVgVjC5KxQ0LFmPTuk3ocvkw94orUT5-DPxmA0ruvEfavfxZWT3oRH5GBswmG06cOKG8CBykoK8-W4_GpmbqD2Y-Ukhnaze-dPc9mPijH_71mTavWy0vX_Y8ijNSsXDcONLNvThXV08qp8ZoOtMlP_xJ3En-Bf7jb9C25_4kv_zb36HEYEC6WqMMP4_6g9Br9IzMiUhPSEBLVwfspDHh5CQEU9Ngzs5TamalpSfDbW_D2BHlMDOLNLY0YdzXH5a2vPSoPBAmmyIVueGur0kfvfWaLKqanNl_EG011Ug2aJhBwkgxGuksPjj6nZhFLbP76BHUd7UhYjPhhm9-XSkDGnO7kJueiY6WThw-egwuvxsaMS_lTD3sYqakw4VUoxWB7gFUFJbgy1-_lzRSVHh3wuEawO69OxH2uGENywg4BlFWWo6YTo-z9j6ok5IxZNxkTJ07H5WL__liOf-piN8U4uBzT8kH3n0X_WINRBpjglj_IxhWMomN_NvFiK1KScY5hwMHm1thSM1AhBph6LChuOyK-Si-4Wbp8NO_lSWzHoklRdhOQw6q9MhIz8HV190mHXj3fXn_e6twbMtHGCXqbjErGKQYAl4v8vLyMYEi_cXnXoDdO4AhQ4bBT13RHvZhwfVXwZaZokwBbm_rRm9vPwpLiul5MnRaHU4cPoqdG7cg25YE2eE-vyTdxLHQUu50trUgk_Srw9GHrs5OONoGeE5gxqyZysu9xt4uHCFF9GlMmLXkcvz8rdfitvA5uGhF-v8JJtzzNclDEdztcMLPn0mpqcjOzUNpOSkWhXEkFEJXezs6W1oR9fmV9cCjbjdOHNiPdavWYMX3HpA3bd2BA4dP4ER1rTK5SazwKgS7gFhD_Myx4_Da7ejlcSDmzg_6YTInMEvo8NaK99DntSM7KR2jh1ZheHEZKVMrTDyGmVHezZ-Fw4fjgWeWSVc_-BPp6u_-VMrKyRXvPym6JcSY8TweD8KREOpOn8ZpOs5ASzvCzEyJzHQpdPghhXkozs9DgM7uoqM7e3uh5bVamcUMFONxfD7iDvIxgiodojSkGKmWKNwmynaKkb6itL8YdqLhRwyfF5OdJAoUPaO8eP-gZrQW1U9oa0rvlZV6QOv1wcyPhc4kYIqJRWXE5C0_tCoxJMSjjB4WK1BptDEYTTR0saEoLB30wKiTYBFDCv1ixQ0oxSNEcYpPQ8MnJ4eD0MZiiFAnGa1m-OQoPGI4iKhMIukhh9SwwQhrVAsNvxdv-CMU-6LCC5sBs1gGOxLjNcTN4B8hnlY_xuEXX5aHZ2XA19mBLStWKFVR9LT63uYmxUHC9IiGvj60uj0wJKfAS6O0JicqpYJC0TA8dIj0zAwkpSVDZxDVGelkwSiKcgrh73Pg3OEjsNCbRD1ep9OFEDXB3Hlz4Pb2Yue2nZg_ZRyK8guZCUJUOzIS0xNQOnUykm792uc-o8e-9mX5-M6diPY4lLFRdqeDyUiL_KwcZSk2jSeAkdQbDvG2PhpCZn4WGjtalKLdEZUKPXYHHFEZoxctxhV3343ieRfOwpr_NxEPHR9j3N13SvpLL5UcGjXO9PehZcCOxp5uSFYL0ooKEKbx6RKsyrCVXnsvHYKcn1km6HXBTqcyx2jW_QPwnG1GoLEdvbVn0UJa1XzgEELtXShMSMPcGbNx77ceQEgMKLTakDWkAjd85W784o8PY9F1lynlSPvcA-h32JXlrq38_CN8-6nnpTnzFikjbUWBCh2fpJfO293Xhf6BXuRnpKE0IxNJzGoZBrNyPDkYUXq8dHQoUQRvyqxpWHDV5XHn-CeIO8jf4N016zBAatTjdMIr5rVTpOtSkmBMS1Gqx4u5JKJ6eWZuDuYvXoxrbr4FpUMrqVVIwaCGhVTNJumQYbIi02JTFtMP2PuUSB6JRJA-ZCh-8odH8cPHHkF6VSX0V90uZd37Y0msvrv96AGcOFODxtYmZeRwX3ffx636fIwaNpLGfn6uvRQUZehIAUn3xBIOYnlnq4H6w2ZRFvUJ8-_hcBgOhwveQBDW9FRMoGCvuu78WLQ4Ph_xm_Mp1K9ZJ__iv_4LIQpYfTCANPJ6Gw3MH2Fk97ghFgVx0dAyKeA1OgN-_ItfImneAmnnc3-WV736BkxhaoCeHniYfcQ6hWaK36zkZGUqbWtTC8ZMn45bv_ddaBd8tku1ceVy-Yffvk9ZGnpMyRBIdEIxxN4eAW75xe9RcNmSv3tOO57-s_zKH_4ANR05j0Le2dtHBwhiyowpii7JM9t4vBgGurphsJjRF_Rh8_79MCcmYZA66rZvfwOTf_Lz-PP_F4hnkE-hbMml0qWLl8BC-mOlIVmSUhTO3tDeCU8wjKgoEcqfOTn5SE0nfaFziP1m3HOv9IOf_hJDho-G3mhGQETrACM6hXUw6BfTQTB0WCV4BKjoZH-Ltz9YD7uP3kAq1EqDdnq8OH6qFkZzAhIsYg7j3-O9119XHMEgkTIxc40fMQpVJaXw02GEgwrd4fUPYpAfn1gYh9RQSP7iYcNQPnosxsy45PyB4viniDvI3yBALRGiKJf1eqWmboh8XVTyQEylzEzURtXKKkoRCvBPI8LvxBwSUf5ULL0m5k1EmDmE4BYTs0RFd0GxRH2sv4VeZUE0pIYkGaDSiglcFNJRic7Fg5C6fR5E-SAdxbaGFEusBh8jzZKjMYhl5SSeXIz-0vC8OoNYU51UkRqKLgiPLD4S9LM-W6o0js9H3EH-Brf_8TFpzIxpGD55EjoHB9HjckPDyB4KiqHeMZqiFi6HG0GxQtWnkLFohiR0g1hg1Ephb2QmEbP7wlE6DI1WDLe3MjN5_KGP9_gELaRf0ZBMnRDDGYr8cw1tyMzKR0lhGRI_NaL300jJTEdCejpSsnPg5nl7_D6YszPQ5_coyxW0dnUiOTX1fNE6tRo-tYSsylJcestNWHLrrR8fJY5_hXgU-RwceusN2UgNsG7FCnj67DhXXQvZH4aJjuLy-lA1biyiJgN-semTWXqvffeH8q6VKxG09yhLmWko1MX7Bq-3H2YdaVBERnblCNy3a8dn7nnNujXyD77xLTg62hHzB5DIvxoZ5UeXDUdh-RAYivJw5ZOPfu5z2vXEn-QUlR4fbdiIvsF-zF8wGzwVrGx7695DyKYO8Xm9GGQYzJ8-CW2hEOZ8_2fxZ_5_gPjN-ido37ZVHmjtwIYPPoR_YBCZ1B1iTvrk2bPgZUSefd-XlPu35a1X5Kd-9DPA7kCGxaCU0wmFSHLEsm-ePiQbDci2JkGdnImvPP5nJM2e9Nf7_u7Pfyy_99IyxAZ9sPBxZCXYIJbxMOsTEGTmaaHhT1q0AJfedhtyZs_8h8-rd_sWOX3WJyN53a-8IPeda1LWQ9GnpSD_v74Tf9b_LxC_af8GHF3zrrzy2ZdQt_8A0s0GCvQgVHozGlpaYeLfizJsKLClQZeajSt_9HNkLT7P_9f-9pfy7tUfIGp3wtHcg7KcPFi0Yj0QCT10mPqONgQQREphAaZdczXueOTzM0kc_3uIa5B_ByiUI4z2ZDbwiWEfYrllUUdX_ImfiKhQIsak8B_hmJDK5yEyhahKouW2WjqViTRMdM2K8VVi-xD_06s1dDg_xfq_nuQUx78fcQf5N2DM4quk2-65F7MXLUZiUppStlMj6FJyIkpz01GYnasYvFhZNv-yTyZCtfV0Q6wzXjViOHJzspFgtsBmNsNqNqGttRlGtUGpf1VQWoaUjMyP94rj_ybiKfvfjFfvuUduPlOn1OXKTE2GAaL0EGBQaZE9bAQm__zhz9zzXX_6nSyGqNRsP4CI0w0z9YpYqvpUcyuGT5qIzJJ8FI4YhrFfvjhr337REb_p_wuoefddWbzVHnnTLdKZ11-WXfZ-DK8aDuOchf_wfh964gnZqtPDRA0TU6lw6NhJFAypxIS7_n7J5TjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ogjjjji-I8B8P8Aq_JLoL4VO_AAAAAASUVORK5CYII","issuerUI.css":"W3R5cGU9ImZpbGUiXSB7DQoJaGVpZ2h0OiAwOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJd2lkdGg6IDA7DQp9DQoNClt0eXBlPSJmaWxlIl0gKyBsYWJlbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogIHVzZXItc2VsZWN0OiBub25lOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07DQogIGZvbnQtc2l6ZTogMXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsNCn0NCg0KW3R5cGU9ImZpbGUiXSArIGxhYmVsLmJ0bi1wcmltYXJ5IHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7DQogIGJvcmRlci1jb2xvcjogIzAwN2JmZjsNCiAgbWFyZ2luLXRvcDogLjM3cmVtOw0KICBwYWRkaW5nOiAuNHJlbSAyLjVyZW07DQogIGZvbnQtc2l6ZTogMC44NzVyZW07DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQogIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsNCn0NCg0KW3R5cGU9ImZpbGUiXSArIGxhYmVsLmJ0bi1vdXRsaW5lLXByaW1hcnkgew0KICBjb2xvcjogYmxhY2s7DQogIGJvcmRlci1jb2xvcjogYmxhY2s7DQogIG1hcmdpbi10b3A6IC43cmVtOw0KICBtYXJnaW4tbGVmdDogLS4yNXJlbTsNCiAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOw0KfQ0KDQojcmVzb3VyY2VzRGl2IHsNCiAgcGFkZGluZy10b3A6IDFlbTsNCiAgcGFkZGluZy1ib3R0b206IDFlbTsNCn0NCg0KI3Jlc291cmNlVHlwZSB7DQogIG1heC13aWR0aDogNDAlOw0KICBtYXJnaW4tcmlnaHQ6IDE1cHg7DQogIG1hcmdpbi10b3A6IC4zZW07DQp9DQoNCi5qdW1iby1taW5paGVhZGVyIHsNCiAgbWFyZ2luLWJvdHRvbTogLjVyZW07DQogIGZvbnQtd2VpZ2h0OiA1MDA7DQogIGxpbmUtaGVpZ2h0OiAxLjI7DQogIGZvbnQtc2l6ZTogMXJlbTsNCn0NCg0KI3Byb2dyZXNzIHsNCiAgbWFyZ2luLWxlZnQ6IDI0cHg7DQogIHdpZHRoOiAyMDBweDsNCiAgaGVpZ2h0OiAyNXB4Ow0KfQ","issuerUI.js":"dmFyIGFuZ2xlSW5EZWdyZWVzID0gMDsNCnZhciBsYXJnZURhdGFVUkw7DQp2YXIgc21hbGxEYXRhVVJMOw0KdmFyIGZpbGVEaXY7DQp2YXIgcmVzb3VyY2VUeXBlOw0KdmFyIGZpbGVUeXBlOw0KdmFyIHRpdGxlSWQ7DQp2YXIgc2VhcmNoTWFwID0gew0KCSJhdWRpbyI6ICJhdWRpby8qIiwNCgkicGhvdG8iOiAiaW1hZ2UvKiIsDQoJImRvY3VtZW50IjogImFwcGxpY2F0aW9uLyoiLA0KCSJ2aWRlbyI6ICJ2aWRlby8qIg0KfQ0KDQp2YXIgc2VhcmNoVHlwZSA9ICJpbWFnZS8qIjsNCg0KZnVuY3Rpb24gaXNVcGxvYWRTdXBwb3J0ZWQoKSB7DQogICAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goLyhBbmRyb2lkICgxLjB8MS4xfDEuNXwxLjZ8Mi4wfDIuMSkpfChXaW5kb3dzIFBob25lIChPUyA3fDguMCkpfChYQkxXUCl8KFp1bmVXUCl8KHcoZWIpP09TQnJvd3Nlcil8KHdlYk9TKXwoS2luZGxlXC8oMS4wfDIuMHwyLjV8My4wKSkvKSkgew0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBpbml0aWFsaXplVXBsb2FkKCl7DQoJYW5nbGVJbkRlZ3JlZXMgPSAwOw0KDQoJdmFyIGZpbGVJbnB1dERpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlSW5wdXQiKTsNCglmaWxlSW5wdXREaXYuaW5uZXJIVE1MID0gJzxpbnB1dCBpZD0iZmlsZSIgdHlwZT0iZmlsZSIgYWNjZXB0PSJpbWFnZS8qIiA-XA0KICAgIAk8bGFiZWwgZm9yPSJmaWxlIiBjbGFzcz0iYnRuLW91dGxpbmUtcHJpbWFyeSI-PHNwYW4-T3B0aW9uYWxseSBpbmNsdWRlIGEgcGhvdG88L3NwYW4-PC9sYWJlbD4nDQoNCglmaWxlRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUiKTsNCg0KCWlmICh3aW5kb3cuRmlsZSAmJiB3aW5kb3cuRmlsZVJlYWRlciAmJiB3aW5kb3cuRm9ybURhdGEpIHsNCgkJaWYgKCFmaWxlRGl2Lm9uY2hhbmdlKXsNCgkJCWZpbGVEaXYub25jaGFuZ2UgPSBmaWxlRGl2Q2hhbmdlZDsNCgkJfQ0KCX0gZWxzZSB7DQoJCWFsZXJ0KCJGaWxlIHVwbG9hZCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHlvdXIgYnJvd3NlciIpOw0KCX0NCn0NCg0KZnVuY3Rpb24gZmlsZURpdkNoYW5nZWQoZSl7DQoJdmFyIGZpbGUgPSBlLnRhcmdldC5maWxlc1swXTsNCg0KCWlmIChmaWxlKSB7DQoJCXZhciBmaWxlQ2F0ZWdvcnkgPSBzZWFyY2hUeXBlLnN1YnN0cmluZygwLHNlYXJjaFR5cGUuaW5kZXhPZigiLyIpKTsNCgkJaWYgKGZpbGUudHlwZS5zdGFydHNXaXRoKGZpbGVDYXRlZ29yeSkpew0KCQkJcmVhZEZpbGUoZmlsZSwgZmlsZUNhdGVnb3J5KTsNCgkJfSBlbHNlIHsNCgkJCS8vIGFsZXJ0KCdOb3QgYSB2YWxpZCBmaWxlVHlwZTogJyArIGZpbGUudHlwZSk7DQoJCQkvLyBpbml0aWFsaXplVXBsb2FkKCk7DQoJCQlyZWFkRmlsZShmaWxlLCBmaWxlQ2F0ZWdvcnkpOw0KCQl9DQoJfQ0KfQ0KDQphc3luYyBmdW5jdGlvbiByZWFkRmlsZShmaWxlLCBmaWxlQ2F0ZWdvcnkpIHsNCgl2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsNCg0KCXJlYWRlci5vbmxvYWRlbmQgPSBhc3luYyBmdW5jdGlvbiAoKSB7DQoJCWNvbnNvbGUubG9nKCJmaWxlVHlwZToiLCBmaWxlLnR5cGUpDQoJCWxhcmdlRGF0YVVSTCA9IHJlYWRlci5yZXN1bHQ7DQoJCWZpbGVUeXBlID0gZmlsZVR5cGVGcm9tRGF0YVVSTChsYXJnZURhdGFVUkwpOwkJCQkNCg0KCQlzd2l0Y2goZmlsZUNhdGVnb3J5KXsNCgkJCWNhc2UgImltYWdlIjoNCgkJCQlzbWFsbERhdGFVUkwgPSBhd2FpdCByZXNpemVJbWFnZShsYXJnZURhdGFVUkwsIGZpbGUudHlwZSwge3g6MjAwLCB5OjI1MH0sIHRydWUpOw0KCQkJCXZhciBzdWJqZWN0X2ltYWdlRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3ViamVjdF9pbWFnZSIpOw0KCQkJCXN1YmplY3RfaW1hZ2VFbC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgc21hbGxEYXRhVVJMKTsNCgkJCQlicmVhazsNCgkJCWRlZmF1bHQ6DQoJCQkJYWxlcnQoImZpbGUgY2F0ZWdvcnkgbm90IGltcGxlbWVudGVkOiAiICsgZmlsZUNhdGVnb3J5KTsNCgkJfQ0KCX0NCg0KCXJlYWRlci5vbmVycm9yID0gZnVuY3Rpb24gKCkgew0KCQlhbGVydCgnVGhlcmUgd2FzIGFuIGVycm9yIHJlYWRpbmcgdGhlIGZpbGUhJyk7DQoJfQ0KDQoJcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7DQp9DQoNCmZ1bmN0aW9uIHNob3dTdWJtaXRSZXNvdXJjZSgpew0KCXZhciB1cGxvYWRJbWFnZUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIl91cGxvYWRfaW1hZ2UiKTsNCgl2YXIgc3ViamVjdF9pbWFnZUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1YmplY3RfaW1hZ2UiKTsNCglzdWJqZWN0X2ltYWdlRWwuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIHVwbG9hZEltYWdlRWwuZ2V0QXR0cmlidXRlKCJzcmMiKSk7DQoNCgl2YXIgc3VibWl0UmVzb3VyY2VEaXZFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdWJtaXRSZXNvdXJjZURpdiIpOw0KCXZhciBpbm5lckhUTUwgPSAnXA0KCQk8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRtLXNtIiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ3VzZXJhZ2VudF9jcmVkZW50aWFsXCcpLnN1Ym1pdCgpOyI-U2VuZDwvYnV0dG9uPic7DQoJc3VibWl0UmVzb3VyY2VEaXZFbC5pbm5lckhUTUwgPSBpbm5lckhUTUw7DQp9DQoNCg0KZnVuY3Rpb24gZmlsZVR5cGVGcm9tRGF0YVVSTChkYXRhKXsNCgl2YXIgdGFncyA9IGRhdGEubWF0Y2goL15kYXRhOihbYS16XStcLyg_OlthLXpdfFswLTldfC18X3xcLikrKS8pOw0KCXJldHVybiB0YWdzWzFdOw0KfQ0KDQpmdW5jdGlvbiBjYWxjdWxhdGUoaW1hZ2UsIGZpbmFsU2l6ZSwgZml0LCBiZ1JHQil7DQoJdmFyIGZpbmFsV2lkdGggPSBmaW5hbFNpemUueDsNCgl2YXIgZmluYWxIZWlnaHQgPSBmaW5hbFNpemUueTsNCg0KCXZhciB3aWR0aCA9IGltYWdlLndpZHRoOw0KCXZhciBoZWlnaHQgPSBpbWFnZS5oZWlnaHQ7DQoJdmFyIG5ld1dpZHRoOw0KCXZhciBuZXdIZWlnaHQ7DQoNCgl2YXIgeERpdlJhdGlvID0gMTsNCgl2YXIgeURpdlJhdGlvID0gMTsNCglpZiAod2lkdGggPiBmaW5hbFdpZHRoKXsNCgkJeERpdlJhdGlvID0gZmluYWxXaWR0aCAvIHdpZHRoOw0KCX0NCglpZiAoaGVpZ2h0ID4gZmluYWxIZWlnaHQpew0KCQl5RGl2UmF0aW8gPSBmaW5hbEhlaWdodCAvIGhlaWdodDsNCgl9DQoNCgl2YXIgZGl2UmF0aW87DQoJaWYgKCFmaXQgfHwgYmdSR0IgIT09IHVuZGVmaW5lZCl7ICAvLyB3ZSBhcmUgcGFkZGluZw0KCQlkaXZSYXRpbyA9IHhEaXZSYXRpbyA8IHlEaXZSYXRpbyA_IHhEaXZSYXRpbyA6IHlEaXZSYXRpbzsNCgl9DQoJZWxzZXsgIC8vIHdlIGFyZSBjbGlwcGluZw0KCQlkaXZSYXRpbyA9IHhEaXZSYXRpbyA-IHlEaXZSYXRpbyA_IHhEaXZSYXRpbyA6IHlEaXZSYXRpbzsNCgl9DQoNCgl2YXIgcmVzdWx0ID0gew0KCQlpbjogew0KCQkJeDogd2lkdGgsDQoJCQl5OiBoZWlnaHQNCgkJfSwNCgkJb3V0OiB7DQoJCQl4OiBkaXZSYXRpbyAqIHdpZHRoLA0KCQkJeTogZGl2UmF0aW8gKiBoZWlnaHQNCgkJfSwNCgkJZmluYWw6IHsNCgkJCXg6IGZpbmFsV2lkdGgsDQoJCQl5OiBmaW5hbEhlaWdodA0KDQoJCX0sDQoJCXJhdGlvOiBkaXZSYXRpbw0KCX0NCg0KCWNvbnNvbGUubG9nKCJyZXN1bHQiLCByZXN1bHQpOw0KCWNvbnNvbGUubG9nKCk7DQoNCglyZXR1cm4gKHJlc3VsdCk7DQp9DQoNCmZ1bmN0aW9uIHJlc2l6ZUltYWdlKGRhdGFVUkwsIGZpbGVUeXBlLCBmaW5hbFNpemUsIGZpdCwgYmdSR0IpIHsNCglyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gew0KCQl2YXIgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsNCgkJaW1hZ2Uuc3JjID0gZGF0YVVSTDsNCg0KCQkNCgkJaW1hZ2Uub25sb2FkID0gZnVuY3Rpb24gKCkgew0KCQkJdmFyIGRpbXMgPSBjYWxjdWxhdGUoaW1hZ2UsIGZpbmFsU2l6ZSwgZml0LCBiZ1JHQik7DQoJCQl2YXIgaW5mbyA9ICJJbjogIiArIGRpbXMuaW4ueCArICJ4IiArIGRpbXMuaW4ueSArIA0KCQkJCSIgLSBPdXQ6ICIgKyBkaW1zLm91dC54ICsgIngiICsgZGltcy5vdXQueSArIA0KCQkJCSIgLSBGaW5hbDogIiArIGRpbXMuZmluYWwueCArICJ4IiArIGRpbXMuZmluYWwueTsgDQoJCQkkKCIjc2V0dGluZ3MiKS5hdHRyKCJ2YWx1ZSIsIGluZm8pOw0KIA0KCQkJdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOw0KCQkJaWYgKGZpdCl7DQoJCQkJY2FudmFzLndpZHRoID0gZGltcy5maW5hbC54Ow0KCQkJCWNhbnZhcy5oZWlnaHQgPSBkaW1zLmZpbmFsLnk7DQoJCQl9DQoJCQllbHNlew0KCQkJCWNhbnZhcy53aWR0aCA9IGRpbXMub3V0Lng7DQoJCQkJY2FudmFzLmhlaWdodCA9IGRpbXMub3V0Lnk7CQkJCQ0KCQkJfQ0KDQoJCQl2YXIgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOw0KDQoJCQl2YXIgc3g9MDsgDQoJCQl2YXIgc3k9MDsgDQoJCQl2YXIgc1dpZHRoID0gZGltcy5pbi54OyANCgkJCXZhciBzSGVpZ2h0ID0gZGltcy5pbi55OyANCgkJCXZhciBkeD0wOw0KCQkJdmFyIGR5PTA7DQoJCQl2YXIgZFdpZHRoID0gZGltcy5maW5hbC54Ow0KCQkJdmFyIGRIZWlnaHQgPSBkaW1zLmZpbmFsLnk7DQoJCQl2YXIgaGFsZkRpZjsNCg0KCQkJLy8gaWYgbm8gYmdDb2xvciBzcGVjZmllZCwgd2UgYXJlIGNsaXBwaW5nIHJhdGhlciB0aGFuIHBhZGRpbmcNCgkJCWlmICghZml0KXsNCgkJCQlpZiAoZGltcy5vdXQueCA8IGRpbXMuZmluYWwueCl7DQoJCQkJCWRXaWR0aCA9IGRpbXMub3V0Lng7IA0KCQkJCX0NCgkJCQllbHNlIGlmIChkaW1zLm91dC55IDwgZGltcy5maW5hbC55KXsNCgkJCQkJZEhlaWdodCA9IGRpbXMub3V0Lnk7DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZSBpZiAoYmdSR0IgPT09IHVuZGVmaW5lZCl7IC8vIHdlIGFyZSBjbGlwcGluZyByYXRoZXIgdGhhbiBwYWRkaW5nDQoJCQkJaWYgKGRpbXMub3V0LnggPiBkaW1zLmZpbmFsLngpew0KCQkJCQl2YXIgc3JjQ2xpcCA9IChkaW1zLm91dC54IC0gZGltcy5maW5hbC54KSAvIGRpbXMucmF0aW87DQoJCQkJCXN4ID0gTWF0aC5mbG9vcihzcmNDbGlwIC8gMik7DQoJCQkJCXNXaWR0aCA9IGRpbXMuaW4ueCAtIE1hdGguY2VpbChzcmNDbGlwKTsNCgkJCQl9DQoJCQkJZWxzZSBpZiAoZGltcy5vdXQueSA-IGRpbXMuZmluYWwueSl7DQoJCQkJCXZhciBzcmNDbGlwID0gKGRpbXMub3V0LnkgLSBkaW1zLmZpbmFsLnkpIC8gZGltcy5yYXRpbzsNCgkJCQkJc3kgPSBNYXRoLmZsb29yKHNyY0NsaXAgLyAyKTsNCgkJCQkJc0hlaWdodCA9IGRpbXMuaW4ueSAtIE1hdGguY2VpbChzcmNDbGlwKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlIHsgLy8gd2UgYXJlIHBhZGRpbmcNCgkJCQljb250ZXh0LmZpbGxTdHlsZSA9IGJnUkdCOw0KCQkJCWNvbnRleHQuZmlsbFJlY3QoMCwgMCwgZGltcy5maW5hbC54LCBkaW1zLmZpbmFsLnkpOw0KCQkJCWlmIChkaW1zLm91dC54IDwgZGltcy5maW5hbC54KXsNCgkJCQkJdmFyIGhhbGZDbGlwID0gKGRpbXMuZmluYWwueCAtIGRpbXMub3V0LngpIC8gMjsNCgkJCQkJZHggPSBNYXRoLmZsb29yKGhhbGZDbGlwKTsNCgkJCQkJZFdpZHRoID0gZGltcy5vdXQueDsgDQoJCQkJfQ0KCQkJCWVsc2UgaWYgKGRpbXMub3V0LnkgPCBkaW1zLmZpbmFsLnkpew0KCQkJCQl2YXIgaGFsZkNsaXAgPSAoZGltcy5maW5hbC55IC0gZGltcy5vdXQueSkgLyAyOw0KCQkJCQlkeSA9IE1hdGguZmxvb3IoaGFsZkNsaXApOw0KCQkJCQlkSGVpZ2h0ID0gZGltcy5vdXQueTsNCgkJCQl9DQoJCQl9DQoJCQkNCgkJCWNvbnRleHQuZHJhd0ltYWdlKHRoaXMsIHN4LCBzeSwgc1dpZHRoLCBzSGVpZ2h0LCBkeCwgZHksIGRXaWR0aCwgZEhlaWdodCk7DQoNCgkJCWRhdGFVUkwgPSBjYW52YXMudG9EYXRhVVJMKGZpbGVUeXBlKTsNCgkJCXJlc29sdmUoZGF0YVVSTCk7DQoJCX07DQoNCgkJaW1hZ2Uub25lcnJvciA9IGZ1bmN0aW9uICgpIHsNCgkJCXJlamVjdCgnVGhlcmUgd2FzIGFuIGVycm9yIHByb2Nlc3NpbmcgeW91ciBmaWxlIScpOw0KCQl9Ow0KCX0pOw0KfQ0KDQo","start_application.jpg":"_9j_4AAQSkZJRgABAQEAYABgAAD_2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT_2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT_wAARCALQA8ADASIAAhEBAxEB_8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL_8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4-Tl5ufo6erx8vP09fb3-Pn6_8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL_8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3-Pn6_9oADAMBAAIRAxEAPwD9U6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK828SftGfDvwj8X9C-F2reIltPHeuQLc6fpP2O4fzoyZAD5qxmNc-TJwzA_L7jIB6TRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcr8VPBt58RPhv4l8Mafr134XvtW0-azg1mxz51m7qVEq4ZSSCc4DKfQjrXVUUAfnV_w61-Kf_R2_jD_wCuv_AJY181-KP2f_AIp-Gv20vDPwA_4aI8YXP9tWX2z_AISLzrpfJ_cTy7fs_wBrO7_UYz5g-9ntg_tTX5q_FL_lNJ8M_wDsDf8AtjfUAav_AA61-Kf_AEdv4w_8Arr_AOWNfaH7Pvwt1X4L_CPQvB2teML_AMealp3nebr-pKyzXO-Z5ACGkkYBQ4QZduFH0HotfOv7Y37anhb9kPwxYyX1pJ4h8W6tuGleH7aTY023AMkj4PlxgkDOCWJwoOGKgH0VRX57aL44_b--J2njxFp3hfwX4I066jWW10nU0VJ9hxjcru7qxByRJsPB-UcCm_Dj_got4_8AhT8WrH4ZftP-CbXwZf3pRLXxJppxa_MdqSSDe6NGTwZY3whGGUYYqAfoXRSZzyORXwV43_4KMXXwf_a4-Lfg3xudMg-H3hLQ0vNPjtoGGo3t40dmyQKxfazM1xJxtAAGSQFY0Afe1Ffm9ZfG_wDby-Jemx-PvCXw58PaV4Wuv9I0_wAPXwhFzNbHlWbzpkkbKgHOYy2cquCK-3fil8bNC-BPwhufHnj6b-yrSzto3uLeEeZI9w4AFvEufmcudo5x1JIAJAB6JRX5yeEf2pv2uv2rg2v_AAe-H_h7wX4D89o7XVPET73uQDtJ3ORvA5yYosAhl3MRVXxL-2h-1D-yTq2m3fx7-Hej-IPBF7OIW1rw6wR42IGVDq5QMBkhJETfggNwSAD9JaK5n4a_EbQPi54E0Xxh4Wv11LQdXtxcWtwowSMkFWHVWVgVZTyCpB6V8zftvfteeI_2Z_ir8EdG019FtfDfirU5ItevdWiZvItUntUd0cOojwk0pLEHoD2OQD6_or4Hl_a6-Pn7Ueuagn7NXgrTLHwJp9w1sfG3i4FEvZFOD5MZIwvOcbHYDG7YTtrC8P8A7c3xt_Zv-LmieDv2nvCumW2ga-4Sx8UaIgWOJiwUszBzG6KSu9cK6Bt3zAgEA_RWvmn4pftgXPw5_bG-HfwPTwvFf23irTkvpNaa9Mb25d7pAoi2ENj7NnO4Z39sc-yfGC68bWvwx8QT_Di10--8bJbbtKt9UbFtJLuHDHcv8O7GSBnGTivx--MWu_tN3H7dfwwvPFPh3w1bfGOLS4l0HT7WRDZS2_mXm0yETEA7jcdXH3V49QD9s6K-Nvgr4m_bVvvihoEHxI8I-CdO8ENM39qXNjMhnSPY2NgW4c7t23-Ej14r2r9qD9p7wj-yn8N5PFfil5LiWaT7Np2lWuPPvp8E7FzwqgDLOeFHqSqkA9for86_Cfxu_bh_aH02HxZ4J8E-E_AXhG8jMunR61zLcx8lXPmMXbIwA_lxqwIIGOaqR_t_fG79l7x5pXh79pz4fWUPh_UmK2_ifw6ucKDgyYV3jlC8ZjHlyAHODwCAfo_RVLRdZsfEWj2Oq6ZdxX-m30CXNrdQMGjmidQyOpHUEEEH3q7QAV-cnxu_bJ-Kv7Rvxrv_AIKfsxrFbJYM0WseNnAKRbW2yNHIQyxwqfl8wKzu3-r7Fvpz9vT4s3XwX_ZP-IHiLTp_s2rSWa6bYyA4dJrmRYN6f7SLIzj_AHK8w_4JQ_Bey-GX7KuleIWtlTXfGUr6pdzlfnMKs0dtHnuoQFwOxmagDzb_AIdXfEPXIU1DX_2nvFk_iNxve5SK4mRHzkbS12GYAn_Z-gqhB4c_bB_Yq8VaTcJr918f_hnNdRW11bustzfQxswXcVbfNEQCcFHkjGBuHSv0mooAp6xrFl4f0m91TU7qKx06yge5ubqdgscMSKWd2J6AAEk-1fmdc_tHfH3_AIKD_ETWPDfwHvX-G3wu0qbyrrxZIGhuZQRwWkGXV2wWWKLDAEb2APHsH_BXn4oXPgL9lF9EsZ_JufFmqwaXLtOG-zKrzy4PoTFGh9RIR3r3D9i_4Saf8Ff2ZfAPh6xgSOeTTIdRv5FXBmu50WWViepwW2jP8KKO2KAPlyP_AIJJajdW6XGpftC-NLvWwGP21UYKGbG8hWnLcnr8_PFeceMdS_ad_wCCaeqadruqeLJvjJ8IHnjtrk6hJI5gBOAh8xnktWIyFZWeLJUMCcLX6r1zPxN-H-mfFX4eeI_B-sxLLpmt2E1jMGXO0OpAcf7SnDA9iAaAKvwh-K3h_wCN3w30Lxv4XuTc6LrFuJ4t4AkjbJDxSAE4dGDKwyeVPJ618Gfsv-N_EfwE_wCCjXxO-DfifX9T1LQfFDTahoY1O7knVXwbqHYXJxmBpo2I-80SjsKrf8EXfGl_a-H_AIqfDXUZsnw_qcN9BETna0okinC_7Ia3jOPVye5qx_wVi8K6h8MfG3wh_aF8Owf8TPw5qcWn3rLxvCObi2DY_hJW4Qk_89FHegD9JKKyPCPijT_HHhTRvEWky_aNL1ayhv7WX-_FKgdD_wB8sK5P9ob4rW_wP-CHjXxzcMoOi6ZLcQK_SS4I2QIf96Vo1_4FQB8ReDvHHib9pP8A4Kqa1FpPiHVrbwB8ObaSCeztL2WK2nkhHlMjopCsWupGPIO5IPQcewf8FVPFmueDP2SNS1Dw_rGoaFqH9rWMf2rTbp7eXaXOV3oQcHA4z2rkP-CQvwluPC3wD1f4h6urSa7471KS7NxN_rHtYWeOMtnnLSm4fPcMpra_4K8_8mbaj_2GrD_0NqAPf_2UNWvdd_Zi-FGo6leT6hqF14X02a4urqRpJZpGtoyzu7ElmJ5JPJr4o_4KjeKPG19-0J8Dvh94b8ca14N0_wASSLayy6TdSxBZJ7uOATOkbp5hQNwCR3AIyTX2b-x3_wAmofB7_sUtL_8ASWOvir_gpF_yfN-y7_2E7H_05w0AdCP-CXvxbtP31p-1z4wW6j-aI_ZbtPmHT5hqBI57gGuV8YaF-2n-xJZSeKbbxunxt8C2O6W_t9RMl5cRQjrJKsn79VAyd0UrhcEsMCv0-pGUMpBGQeCDQB4j-yX-1j4V_a2-HJ8RaAradqtmywatolw4aaxmIyORjfG2CUfA3YIwCrKPb6_KbwbpMX7Gv_BWMeGNEQaf4L8fRBUsUUiNI7pWaNUXoAl3EVXHRCQOpr9WaAOV-Kng28-Inw38S-GNP1678L32rafNZwazY586zd1KiVcMpJBOcBlPoR1r4U_4da_FP_o7fxh_4BXX_wAsa_RWigD8VvFH7P8A8U_DX7aXhn4Af8NEeMLn-2rL7Z_wkXnXS-T-4nl2_Z_tZ3f6jGfMH3s9sH6U_wCHWvxT_wCjt_GH_gFdf_LGsr4pf8ppPhn_ANgb_wBsb6v0qoA86_Z9-Fuq_Bf4R6F4O1rxhf8AjzUtO87zdf1JWWa53zPIAQ0kjAKHCDLtwo-g9Fr53_bE_bN8Ofsl-GtP8-wl8S-MtaYx6P4dtX2vOQQDJIwB2ICQOAWYnCg_MV-f7Pxh_wAFBPHGkjxFZeGPBPhW3uEEtvoV2qJchDyoYSSOVYjGQ7KQTyF6AA_Qiivif9mf9vjXtf8Ais_wb-O_hNfh98UDJ5dk8CMllf8AGVUbnbazYJRlZkk6KQcBvsXxN4k03wb4b1XX9ZuksdI0u1lvby6kzthhjQu7nHYKpP4UAadFfnh4V_at_ak_a2m1DWvgb4I8N-E_h5BcNa2us-KnLz3LqfmP3sdMZCRsFJI3sRx6Z8AvjB-1BpHxk0fwH8a_hxp1zoerR3DQeM_DoJt7d44XlAnKMyjcU2KGEZywI3UAfS_xb8ct8MPhT408ZLZjUW8O6Le6uLNpPLE5ggeXy92Dt3bMZwcZ6GuA_Y__AGh5_wBqL4H6b4-udDj8PTXV1cWzWMVybhV8qQoGDFV6gdMV4J-31rn7TdrofxHs_Bvh_wAL3nwck8L3Q1DULmRRfR25tZBeEBplO5V3ldqH-Hqcivmf9hvxH-15pv7PmlwfB_wt4S1XwQLy6Nvc6vLGs5lMh80ENcIcBs4-WgD9fqK82_Z6vvifqHwvsJ_i_p-k6X43aab7RbaM26BY958vkO43bcZwxHTvmvSaAPDP24tc1Hw3-yT8UNS0m_utL1G30d2hvLOZopojuUZV1IIOCeh71x__AATN8Tax4u_Yx8Dapruq3utanLLqCyXuoXDzzOFvp1UM7kscAADJ4AAro_2_P-TNvix_2Bn_APQ0riv-CVf_ACY54B_67al_6X3FAH1rRRXGfGT4oWHwX-F_iPxvqVndahZaLam5e0sVDTTHIVUUE4yWYDJ6ZzQB2dFfn5p_xo_bh-OSprHg34aeGvhn4ZmO-0XxM-67kQ9N4kbfjBBz5KZ7ZrFv_wBub9oH9lXxtoOn_tI-A9Hm8H6u4hj8ReHAd0bZG5sq7o5UZJiKoxHIJAwQD9Ha_NX9pD_lMD8D_wDsDW3_AKHqFfpHY31vqljb3lnPHc2lxGs0M0TBkkRgCrKR1BBBB96_L39s7x5ofwx_4KnfCfxX4lvl03QtJ8OwXV3dOC2xFa_6AAkknAAHJJAHWgD9SaK_Pyx_aY_ar_agkk174HeAdH8HfDsOwsNY8XkfaNSAyN4UtgKcfwIQDx5hwcUfAv7fnxV-Bvxo0v4Z_tP-FNO0ZNWZRY-KNIG2HDuVSR9rMjxbsKSuxk6spoA_RGiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK_NX4pf8ppPhn_2Bv_bG-r9Kq_NX4pf8ppPhn_2Bv_bG-oA_Sqvy9-F1hF-0j_wV48d6rrw-2ad8Pbef-zraRd0aSWjxWsa49pZpZh_tDPtX6hV-Xn7Mt9B8G_8AgrZ8Y_DOsubR_Fq38lhuGFlmnli1BBk9jF52PVgBQB-odfGf_BWT4Yad46_ZD1zXZoVOreFLq21KymC_OA8yQSpnqFKSliOhMaemR9mV8g_8FVviFY-Cf2NfFWnz3Ai1HxHcWmlWUeeZG89JpePQRRSc-pHrQB6D-wX8QL34nfsg_DDXtQlae9bTDYyzOctIbWWS23Me5Pk5J9TXw5J8IfD3xl_4LJeMdN8T2wv9L0tINY-xOAY7iWGwtPLSQHqm5gxXoduDwTX29-wD4FvPhz-xz8LtFv42huzpjag8bjDJ9qmkugpHYgTAEdiK-V_hb_ymk-Jn_YG_9sbGgD9Kq_Mr_gqfdXPxW_aM-AHwSNzLb6Rq9_Dc3gh6k3N0tqsn1jRJyP8Afav01r8v_wDgpdOnwq_bZ_Z3-KupeZFoNtJawXdwibtsdpf-dMPr5dySB3xQB-mei6NY-HdHsdK0y1jsdNsYEtra2hXakUSKFVFHYAAD8KxPih8O9K-LXw78R-DdbiWXS9bsZbGbKhim9SA65_iU4ZT2Kg10sM0dxDHLE6yxSKGSRCCrKRkEEdRWL468ZaZ8O_BeueKNanFtpOj2U1_dSEgYjjQs2M9yBgDuSBQB-fn_AARX8aajc_Dn4l-Bb12eLw3q8F1CrHPl_aUkV0HoN1qWx6sT3rF_4K-6FaeKPi7-zho1-rPY6jqF5Z3Co21jHJcWKMAexwTzWv8A8EV_Cmo_8IN8VPHd8rLH4j1i3tY2YEeY1ukskjDPUbrvGfVSO1Qf8FXP-S-_su_9hmf_ANKrCgD9FPCfhTR_AvhvTfD-gadBpOi6bAttaWVsu2OKNRgKB_U8k5J5r43_AOCwHhuw1j9kK41G5gV7zSdas57SbHzIzs0TAH0Kucj2HoK-3q-Nf-Ctn_JlviD_ALCen_8Ao8UAe9fst61ceIv2aPhRqd3I0t3deFdLlmkc5LyG1j3Mfqcn8a-MP2nP-UvHwA_7F-3_APR-p19f_sd_8mofB7_sUtL_APSWOvj39qaQWf8AwVv_AGfbiXKQvoltCr9i5uNRUD83X86AP0ir8vv2lrGP9o7_AIKufDf4Z61m58L-GbWOeayYZjdlt3v5Nw9JAsEbewFfqDX5efFS-g-C3_BZbwn4l1pzaaR4rtLeNLhh8paaxewjBJ4x50UeT2BzQB-oSqFUADAHAArwn9ub4Yad8WP2UviRpN_CsktnpFxq1lJty0dzbIZ4yp7ZKbCR_C7Dvivd68W_bO-IVj8Mf2WPidrV7cC3LaFdWNqc8tc3EZghUev7yRenYE9qAPFv-CR3xAvfG_7H9jZXsrTN4b1i70aJ3OT5QEdwgz6KLnaPQKB2r7Sr4o_4JD-Bbzwb-x_a315G0X_CR63eavCrjB8vbFbKceh-zFh6gg96-16APiD_AILC-f8A8MfP5P8Aq_8AhILHzuv3MS4_8e29a96_YzeKT9kv4PmHBT_hFdOB2j-IW6Bv_Hs1lft0fB-6-OX7K_j3wvpsH2nWfsa3-nxquXe4t3WZY0_2nCNGP-uleLf8ElPj1p_xG_ZytvAtxcqvibwXI9rLbOcSSWckjPDKB3A3NGcdPLGfvDIB9x0UVBe31tptrJdXdxFa20Q3PNM4REHqSeBQB-a__Bb9Zf8AhW_wwYf6gatdhv8AeMKbf0DV-jHhGa2uPCeiy2ahbN7KBoVHQIY1Kj8sV8jf8FafhVdfEf8AZKvtTsIGuLzwnqMGtskaFnNuFeGb8FWbzD7RE16T-wR8c9O-O_7MXg3Ube6STWNIsotG1a33DzIrmBBGWYZ4Eiqsg9n9jQB9D0UV5P8AtTfHPT_2dfgX4q8bXdxDFeWlo8WmQzEf6TfOpWCML_F8-CQOiqx6A0AfCP8AwSqaO8_ar_aMvLL5dNa5kMaqTjDX0xT_AMdBr7t_at-Dsfx7_Z58ceCfKWS91DT3ew3fw3kWJbc57DzEQH2JHevlf_gjj8JdQ8KfBLxP4_1eOSO98a6krwGVcNJa24dVl5_vSyz_AFCg96_QGgD4i_4JI_GGT4gfsynwnqErHWvBF8-mSRS_6wW0hMkBYdsZljA9Ia5T_grX4w1HxTpXwx-Bnhx9-u-OdbieWJT_AMskdY4g4_utLKGz_wBMD6Vy3wyX_hkn_gqt4n8JMPsnhH4pWzXlkv3YxNKWmjIHtOlzCoHQSitX4Kw_8NS_8FQfiB8QZR9q8L_C-2_sbTHPzJ9oG-BcdiC5vZQR0-Q-9AH378P_AAXp3w38DeH_AAppEflaXothBp9suMHy4kCAn3OMk9yTXyT_AMFef-TNtR_7DVh_6G1fatfFX_BXn_kzbUf-w1Yf-htQB7r-x3_yah8Hv-xS0v8A9JY6-Kv-CkX_ACfN-y7_ANhOx_8ATnDX2r-x3_yah8Hv-xS0v_0ljr4q_wCCkX_J837Lv_YTsf8A05w0AfprRRVbUtStNF066v8AULqGxsbWJpp7q4kEccUajLOzHhVABJJ4GKAPzF_bkj_tD_gqb-zlb2xH2mNNFkkKqCdi6rcOQf8AgKt9M5r9Q6_Ln9mqWT9s_wD4KTeJ_jPZwzSeAPBkRg0y5miISZxCbe3UZ5BbdNcY6rhQQMiv1GoAKKKKAPzV-KX_ACmk-Gf_AGBv_bG-r9Kq_NX4pf8AKaT4Z_8AYG_9sb6v0qoA_InWvj18Oof-CqnjHxl8YNbGl-HPBUUmnaH51pcXax3dv5cSKEhRyMO91MCRgNz1xX2Z_wAPRv2Yv-imf-UDVP8A5Gr5H-GfgPwfpP8AwVq-KHhH4jeG9F1-w8TJeXGmWuv6dDdwNcT-Teo6CVSobyxMoYc5JXqcV-hv_DJ3wQ_6I38P_wDwl7H_AONUAfmN_wAFJf2qPg98Yda-F3jb4U-KF1jxr4Y1AtLPFp15ZyrArJNCd80SAhJUJABJBkY9zX6j_HrwFcfGj4BeNvCemzfZL3xBodxa2kkxMYWWSI-WH7hd20N7ZqtZ_stfBfT7qG6tfhF4DtrmFxJHND4askdGByGUiLIIPcV6hQB-Z_7Af7Z3hX9n_wAEW_wE-Mkc_wAOPFPhm8uIILjVoTHbSrLM82JHAxGwaRsO3yMu1g_NfpJo-s6f4h0y21LSr621PTrlPMgu7OZZYpVPRldSQw9wa4P4x_s5_Db4_aatn498Iad4g8tdsV1KhjuoR6RzoVkQewYA96_O9_B-uf8ABNX9sz4ceHPB3ibUdW-FnxFvo7WbQ9Qk80xF5kgclVwC8ZljdJFUMRlDnB3AH6B_tY_8ms_GT_sTNZ_9IZq8K_4JJ_8AJlvh_wD7Ceof-jzXu_7VkL3H7LvxhijUvI_g7WFVV6kmymAFeB_8EjbmOf8AYx0ZEbLQ6tfxuPRvN3Y_Jh-dAH2fRRRQB8__ALfn_Jm3xY_7Az_-hpXFf8Eq_wDkxzwD_wBdtS_9L7iu1_b8_wCTNvix_wBgZ_8A0NK4r_glX_yY54B_67al_wCl9xQB9a0UV8wf8FHfjvrv7Pv7L2s634YuGsfEGp3cOj2d8g-a1Mu5nlX0YRxyBT2Yqe1AHrvxG_aE-GfwiultfGfjzQPDd6yGVbPUL-OOdlAzkR53EfhzXwf_AMFKv2svgf8AGv8AZl1bwz4X8b6d4i8T2-pWd3ZWtvBMTuWTa7K7RheI3k6N0JFegfsd_wDBO34VzfB_wv43-IOjL8QvGfijT4Nau73WZ5Joo_tCLMsax7trEBlDO24sQTkA4rD_AOClf7NPwk-GP7JPiXXfC_w-8N-HdcjvLGOC-sLCOGZd1ygZVYDPK7s-2aAPq39jnUJtU_ZR-ENxO26U-FtOQt67bdFBPvhRXwr-2h4B0P4o_wDBVL4P-F_EtkNR0LUNFs1u7RmKrMqzXz7GIOdpKgHHUZr7g_Yp_wCTR_hD_wBizY_-ilr4w_au8Qab4X_4K2_BTUtXvrfTdPi0izWS6upAkaF5b5F3MeACzKMnjmgD9NLS0g0-1htbWGO2toUWOKGFAqRoBgKoHAAAAAFfFH_BXz4dWPiz9ki78RyxL_aHhXU7S8gmA-YJNKttImf7rGZGPvGvpX27Xxh_wVu8d2nhP9jjW9Imm8u88SajZadbRj7zbJluXP0C25BP-0B3oA9x_ZE8b3nxG_Zh-GPiHULg3eo3mg2ourhvvSzIgjkc-5ZCT7k169XiX7E_hG78Dfsm_CvSL9GjvE0KC4ljdcNG0wM2wjsV8zB-le20AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXw34-_Z4-IOsf8FRPAfxSs_Drz-AtP0kxXWsi5hCROLW6j2lC-8ndLGOFP3s9AcfclFABXx9-3J-wzd_tC6pofxB-H2tJ4T-K_h7Z9kv2doo7tI2LxqzoCySI2SkgB6lWGMFfsGigD87tL_aM_bn8EWg0TX_gNpfivUoE8pNYtXAWc9BJIYZzGSepCiP6CoPCP7GXxo_au-LGj_EL9qG9sdN8PaS4lsPAOmSh4ux2MFZ0RGIXeS7yOBtJUAY_RiigBscaQxrHGqoigKqqMAAdABXw74B_Z4-IOjf8FRPHfxSvPDzxeAtQ0kRWus_aYSkjm1tY9oQP5gO6KQcr_DnoQT9yUUAFeM_tYfsx-Hv2rvhPd-D9bkNheRv9r0vVo0DSWV0oIV8fxIQSrLkZB4IIBHs1FAH5qeBdW_be_ZL0e28Ff8IFpXxg8KacBb6bqcNx5syQrwkasJEkCAAYEsZwMANgAU3xl8L_ANrv9u02vh_4g2Gm_BX4ZecJLyztpN1xeqCCA8Ykd5CpGQr-WmcEglRX6W0UAch8JfhX4d-Cfw70TwV4Vs_sWiaTAIYVYgvIc5eRzgbndiWY9yx6dK-Sv-ChX7PHxB-NHxf-AGs-DPDz63pvh3VpZdVmS5hi-yo09m4ZhI6kjbFIflz933GfuSigAr5k_wCCjHwl8WfGz9lvXPDHgrSG1zXpL2znjso5Y42dEmUuQXZV4HOM9q-m6KAPN_2a_CWq-Af2e_hr4b121-w61pPh2wsb213q_lTR26K6blJU4YEZBI44NfOn_BQj9k7xx8XtZ8B_FD4UPA3xG8E3CyQWc86xfa41lWWLYzkJvSQE4cqGV2GcgA_adFAHxj8GPjb-1x8QfiZ4c0rxb8G9E8D-FIJyde1eeYszRhDxbr555LY6B-oyQMmu4_bg_Yw0v9rrwPYx298mg-NtEdpdH1hlJQbsb4ZdvzGNtqnI5VgCM_MrfS1FAH5yeGfjB-3T8EtPg8M-IfhJp_xPis08q3163uBJNcKoADPJHL83Hd41c8k5PNUNQ_Zl_aU_bq8VaPdfHyay-Gvw206ZbgeFdHmBluSCfm2B5MSFSV8yV8oCdqcnP6VUUAZvhvw7pnhDw_p2h6NZQ6bpGnW8draWcC4SGJFCqij0AArSoooAK_Pv9oz_AIJz-KdN-K03xg_Zx8Tr4J8ZySvc3ejvIYYJ5XbdI0T4KgOfvQyKYySeVHFfoJRQB-cdr8eP-Cgmk240e5-CvhnVNQAMa6o6J8xBwXYx3yxZ5GOFHHQ80lr-xn-0b-1lrlhfftJePIfD3g63mS4_4Qvw9IhLlTnY3lZiX2kZpmGSBjrX6O0UAQXtlb6lZz2l3BHdWtxG0U0EyB0kRhhlZTwQQSCD61-a3i_9gH4z_sv_ABK1Lxz-yx4mjOmX5Jn8JahcIhC5JEP74-VOi5ba0hV0zgEnLH9MKKAPzng_ag_buWP-z3_Z70GTUgNoujDKsBwM5P8Apm3p6OBn8qzdH_YT-Of7WXj3S_Ff7UPimGw8P6ewkt_B-jzIxwTlov3R8uIHADSBpJGAxkYBH6VUUAUdD0Ow8M6LYaRpVnDp-mWMCW1raW6BY4YkUKiKB0AAA_Cr1FFAHxH_AMFMP2ZvG_xf0v4feOfhXp8l78QvB-qB4VtpoopvIYrIsitIwDGOaKMhc9JHNdt_wTl_Zv1j9m_9n9bLxXZ_Y_GuvX82qavE0qTPExOyKMyKSGxGgY4Jw0j19TUUAFfLn_BSL4QeLvjf-zDqPhrwTo767rp1K0uVso5o42aNHO4guyjgHOM5r6jooA83_Zr8Jar4B_Z7-GvhvXbX7DrWk-HbCxvbXer-VNHborpuUlThgRkEjjg18mf8FFv2bfi_8TPjJ8I_iF8KfDVp4pu_Cb-fJa3V7BbrHNFcRzxFxLLFvRiCCEbPynpkGvvuigD8_Jvi1_wUOvFEK_BXwFYFmA-0JewEoM9cHU24_An0rF1j9kX9q79rBorH44_E3TfBnglmDz-HfDYV3lwQQrJGFRxwMGSWTaQCFNfo7RQBwvwV-CfhH9n_AOH9h4O8FaYNN0e1y7Fm3y3EpA3zSv8Axu2Bk9OAAAAAO6oooAKKKKAPhvx9-zx8QdY_4KieA_ilZ-HXn8BafpJiutZFzCEicWt1HtKF95O6WMcKfvZ6A4-5KKKAPkb9uT9h2f8AaQuND8b-BtbXwj8VvDoUWGqF3ijuY1fekbyIC0bIxZkkUHG5gQQQV8r0H9oT9uH4d6fb6D4m-BGn-Nb-3URrrVncIPtKgY3yGGVo9x9QE_3RzX6G0UAfDHgOT9tz4wfELw3feLIPDXwf8D2Oo293qGn2Zinur-3jkVnh4eZhvAK8tGMN36H6R_ae8B-O_iP8G9X0f4aeKm8HeNPNgubDUhM8Slo5VdondASFdQVPBBzgggmvVqKAPzy0j9oD9urwLDHofiH4GaR4xv0Bij1m0mjRZzwBJIYZ_LGev3Y_oMGtH4Pfsr_Gj45ftE6B8bv2jW03RT4bxJoPg7SpQ4t5UbfGzbGdVVWPmf6x3ZlUNhV219-UUAZ_iHQrPxRoGp6LqMXnafqNrLZ3MYJG-KRCjjPbIJr8y_hH4B_as_YDuvE_g3wX8OrH4reAr_UTe6fepdKGV2VU3bRIroSixh1ZNu5Mq2Mk_qJRQB5l-zrrHxP1_wCF9nqPxe0bS_D3jO4nmeTS9JbdFbw7z5SkiSQFtvJw56jvkV6bRRQB5R-1b8OdY-Ln7OPxC8IeH0jl1vVtJlhs4pXCLJKMMqbiQF3FduSQBnkgV8B_Avw_-3v-zz8MdK8B-FvhV4ck0TTWmeBtQ1DT5ZsyyvK25hfKD8ztjjpiv1TooA_Or_hZf_BRj_ok_g__AMC7H_5YV9K_Fz4F6x-1Z-yfF4M-IcVt4b8a6lpttdXJsT5kGn6oih_lwzbow-VIDNlS2GPDV9AUUAfmr8LfFH7af7KvhOy-HU3wk074m6JpAFppOr2l6rYtxkKm5XDbFHC-ZGjKAAeMVh_Hv9k39pz9rD4b6_4x-J81rZa3psCv4W-Gnh-4jWFJmljEkkzs5QsITLjMjMTgbkHyN-o1FAHl37Lfg_WPh9-zl8NvDXiCzOn63pWg2lpeWrOrmGVIgGUspKnB44JFfIP7Y37EPiX9p39tzwhqN7pF4PhlJ4ZNhqWvWd1Cj2c6C9aPCM25iJJLc42kEHHTOP0PooA_Obw3rH7af7JdqPBq-DrD46eE7T9zpOtpOftSRD7qP84kAA4xIrY6LIQBVTRf2Sfjb-2h8ZNH8eftJ2tp4S8E6IQ2n-CbGdZPOG7dsKq7hA5A8x3bewAUBRgr-klFADY41ijVEUIijCqowAPQU6iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKYzheCQDQA-iql5qUFjHumkUCobHXLXUMiKRcj1NK6L5JW5raGjRTVkDDIIIp1MgKKKKACikzS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRSUZoAWikooAWiiigAooooAKKa7iNSzHao9ayL7xZpthnzLhMj3pXSLjCU9Iq5rswUEk4FMW4RuVdSB15rxD4r_H7TfDdjMYrhQEUljurwrwV-2Xaa3qd1bLOA6ggZfrXNLEQi7NntYfJ8TiIe0jHQ-svE3xPsPD28SOoK5zzXhHjX9peG1utyTbUJ4AbvXz98bPjDeX9x_okm5pT0DdK8qupLnVoYpLmbzF6nB6GvIr5hbSJ-iZXwippVKx9M-Jv2kJp7B5POLHsN9cxoP7Tk0UyFpzGFYZ-brXzxeSzeS6lvlUVwuoavJDKwPyjPGK4I4qrKXNc-srZLgaFL2Tifq_8GPjBF4wkVPPV93qa9y3YGSQB1zX5R_s1fFz-x9WhikmKFWHevsTxZ-0pa2Phttsyh1TOd3tXvYfEqUbS3PyjNskqU6vNQXus-irrXrGzUmS5jXHbNYt98RtHsYGdrlMgZAzX5u-N_wBsR_tEyx3RYjjhq8p1f9rnUNQ3RLM27p96reK7I5qeRysnUZ-nsf7QWmyat9mEsZ5xjNenaf4msr-xW5WZApGetfibofxi1iXxJHeNcssWcn5q-mPD_wC01Pa6Ksb3DMcdN1YrGJX5j0J8NzqqKpH6R2er218xWKQN6Ver40-C3x-GuXUaySbDnnLV9b6Lrtvq9nFJHIpZh0rpw-IjXWh4ea5NXyuSU1ozUopKWuw-eCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBM0hcDPNZXiTW49D0-Sd3VSB_Ea-cdd_aSgsdaa1-0qDyAN1Yzqxp7no4bA1sUr00ez-OPiVa-F9wd1UgdzXC2_wC0NayQuPMQ_jXzN8ePio-uWLSQTlWx1Brxjw74tu_JcPcEg9yea8OtmDjJ8p-p5fwfTrUouq7M_QTw_wDHmzuNSWKWddrH-9Xs2l6tbatbpNbyB1YZr8etS-J134Z1QTrOWAYH73vX23-yv8aW8VwW0bybg3HXmuzCYp1dJHzfEGQwwF50noj63BzS1E1wkYG5gM05ZA65UhhXrH5-PpDRupOSD60AeMfHf4uQeBdLlLShNo5-avgHx7-2Fe3Uk5tJcAE_xV9A_t2-GNVvtDuZLVmBBz8vpX5R-JtSmsPPicnzVO0rnnNeRiFOU7Jn6JlEsPh8N7WUbs9U8YftBax44nNi85JkbBAbtW34N0f-yYzeiXbIwyXzXjPgHw-246hLnexzz2FenaRqU-uSC3hJ8iMhWx3rzcQraRPs8olzWnVW-yO7bXmvJy5JkA4yeau6Tqw8wwFsoR0J5FWrDSbWygtxKASxAOO1c78Ro4_D-oW9zanKEgPt968qNpOyPvZueHh7WXQ66CO3uJCjt8390ntXH-OvDSqpaH7hGcjtU4vpGsYrpH-dfTvWPrHjAXFvsc4P8Qq6cZKWhz4mrSnScZoo-DfM0mYncdy8qwPNaXj74iX76WYRM2QMdapeG7O81-XFrESCMZFegaF-zrqniFXnnikbjOMZFd9OnKU7nyeMxdGjh_ZtnyvqGoTXDO2S0r9ak0rRJF2zyZZzzg9q9j-I_wAHP-EOnMmzaynkEVxjGKKE4A311ylye6eBh8P9YtVm9CxoNqWYDb-Fek-GtJN1IqOMYGa4vwvJHHiSTBNegaXqaJIjx9Vry60nc-7y2nBRTkdLpfiC58H6hHNb7lAODivrz4M_HBprW2WWTDYHDNXxFrGsreXGxm4rrvB3iiazWOOJsSqQF5rKFSdFqUTuxODw2YKdGtt0P1c8LeKINet12MN-M4roK-a_2edYvL6ytnlZi2ATX0mpyor7HD1HVpqTP5vzfBxwOLlRg7oWiiiuk8UKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApjvsBJOFHWnVw_xQ8XL4Z0WSTdtbaf5VMpKCuzooUZYioqcd2eQftMfFGHR9NnhE4Qqp4B9q_NLXviFPqPjFJ1uGK7z34r039pr4uSa1dXMSyknBHWvkS11i5k1hCFYjPWvn6jeIbkfruCpRymlGm1qz6P17xTJfaS2ZNxxXAxeM5NPRgSSc4xUen6hJdWpiwWLDHXpUFx4dbdvYZ-lebGMU2pH2NSvUqRUqRj61qF3qzO3IBFfVn7Gviw-HZIWmfhO5NfMd1NaaJCguFLOw3Ee1enfDHWG0_TzdQsYbdjuB7iuqFZUdbaHh4nLnmF6bleXY-2fiJ-1lb6DriWMT-fMMZVW-7xXcaF-05YLoaXMs8caGMOzM3TivzE8e-ILu68Uy3SSM5nOdw_KprXxZeXmmy6bc3Ekasvy84q_rVWMua90c0siwFWgqPLaS3Z-jsf7Y2jG6Vft8ZUtjIavZPAHxm0vxfDGEuI3JHDIetfi3Z68ljcNZ3JI-b5XzX0d-yn4q1GPx7b21vfPLZlclC2RXVRxc-dRl1PDx_D2E-rSqUJax3P0l-KHgC28eaHJE0YZ9pIOM54r8rf2ov2S_7BvbzUYI2g-bdt24zX69-H2aTSbZn5YqD-lfOX7a1greDLm4ECs4iODjvivWqR5o3PzzC13RqKLelz8dbfWhosD2bfLL9zmus-HWtW-lEGVgWJyc-9eRa5cS3GtXTSfKY5W_nWxoM_2iRV8wqeBXj1aK5WfpeBzGUasWumx9KR69FdIm05UCsfxfdx6hYoJCQff2rP8OeRZ2KGSbccCk8TXUFxEgjOcV4yioz0P0ipWlVoNy3ZSj1Z7bSSu7K4ODXnl9r6vfNGZCSTyM1095coLVo93bivPdR0Z5tQ86Nua9CjFa3Pjsyr1fd5NT7T_ZL03S9YurWO5ZcOR17V-k-h_DbQ9F0Vp7eNJsRZJxx0r8d_2ZPE1_pXjC0tiWMe8A46V-xPw3uZ9W8CsXLHdFgZ69K9fDJWsfnedSnzKTZ-bn7bmtW-n6ldeQqoQSNo-tfFsPiD7RcAF8Gvsf8Abm8G3M2s3Mi54OTj618VXHhWeFvNQnIrnqRjzPmPZwtatKhD2a0R6L4ZJvyoV9ozXp2jaX5NuZDIGPpXhPh3V5NMlRZQwbNeqaP4kF6qRR5yxxXk16clsfoeVYqnKPv7nQw-HrvXNVjjt0JyeCK-hPhT8BL28nhmnhfdwScV0X7MXwmXxA0FxKgkbhuRX3V4b8D2Gh26qsKl8AHiu3D4TnSlI-WzniNYWcqVLdnP_CfwDF4X0lNyYbaAM16OKRUCgADAHanV78YqCsj8kr1p4io6k92FFFFWc4UUUUAFFFFABRRSUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJ6189_tQRXtxo0ogyMISMfSvoWuc8YeELbxVp0sEq_MVIBNZVYc8HE78DiFha8ar6H4ffEKG7fWLgXSNncQCR1rnfD_AIaaaZ3-zsfwr9J_iP8Askw6hqDyLahhnqFrm9O_ZhtrOzlRYFWTGBxXifVpxTSP09Z1hq0ozkrnxXpdnDp8yJL8nds-lN8W-N7Cy0_baIMrxuPNd98fPhhf-DrrfGpEfKsF7D1r511BdsbRuxcGuH2Xve90Pp_7RfsP3Gz6nQ-CYT8RPFlulzn7NH8z9sj0r1TxlrFhpN1Do2lJuZVwVjHGa8x8EbvC-ly3o-XdyG-tei_CvS01LUptVvgXEgO3fWVayfN0R6GV80oKmv4k3dvsjMjaO1Ilvk5XnDVyfiHxTaTFo12xnd8sgNemalYWmoatd205AWTKrjtXz9rnhSa28SXls0jeQh3Ic9qrDqM3eWhlm1SthYxjTjdN2Owbwnc-KrVfsZ33JwE296-wf2Jf2f8AXPD-rf2pqocu4wE618ufs62usa18QtOsLCJ54I5AZSQcYzX7NfCzw7Z-G_DsDtGqzbevfpXr4Wm-ZuWx-dZ7jYxpxVL4nozuLNU0-xhjZtu1QP0rzT9oDwkvjTwTPFH8_wArDj6Vz3xo-MUXhG1eQviNc964P4Y_tKWnimO4geZZYWBX5jwK7qeIhVm6ceh8RWwNbD0o15rc_If49-Ab74feMdRhkjbyZJW28e9efeH7i7Vi2SCzZAxX3z-3P4esNXtZb21RfNV9-VHvXxXplijSB1GKzqtR0se5l8J4jlqX2N7R_EV2G8qWQhegrqmuHa3aTfkY4rg9StdrKYyVbqSK7LwPZy67dQWx5AYb2NeXKnzWsfc0MU6KlGo9EZUy3t1I3lQSNjknFJYWs08jI8EiuPUV9VeHfhnYtYnESk464q4vwpsWmXZCpbODx0rt-rpR1Z83_bHNVtFXPLP2c9JlfxpDutnA8xedtfsb8LbcQeC7RNu35efyr4u-DPwltdLvknWFWbIJ4r690nVv7N02OASbdq_hXbQp8kT5fNcU8TV2tY-Qf247O1ha7k2AMwya-AJI4ps4HHWv0h_aZ8BzfEK3ucSsrMOCtfCvir4K614ZWR7dJLxBnIxg15-JozcuZH2eS4_DxoqlN2Z5JrdqIXaRR0rovBd8sTQPjo2eazdY0-9t2K3dnNATx8y1o6Hay2sSMIjs6k4rilfls9z6PD8vtueD0Z-if7JPxJsdLjgWeZFyNuM19s6X4osNUjQxXCksPWvxe8F-OpfDLb4pGUj5sA17r4B_avnspo45bghVOOTXRh8XyLlZ4mcZD9bqe1ps_UNWDDg5HrTq8J-C3xsi8ZQxL5m8OvrXuqsGUEdK9uE1NXR-ZYnDTwtR057i0Un40VocgtFFFABSUtY_ijUDpmi3E4OCqkilsVFczSQah4q07TWKzXCK31rk_EPxi0bSztS5Qt7mvhX49ftHXWha5JbpM7Nkjg18_eJ_2gtY1M70mkLf3c1508Uk7I-xwuQSqRU57M_XHQPi3o2pxfPdIH9M10-meJrLVuIZlJPTmvx98H_HTWrePc8kpf619B_Cf9oTUmeMySmP2Y1lHHRWkjvqcKVZRcqR-imfenV5P8Nfixb-I1SKWdfMPXJr1ZWDLlTkV6cKkaiuj4nFYWrhJ-zqqzHUUUVocYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTT1p1YXi7XU0DSZbh2CnBxSb5VcuEHUkoR3ZQ8e-JLLQ9FuJJXj3qpIz16V8MeLv2notF8VGz87EbE454qP9oL9osW81xarcEggrhT3r4e8Zahq2vaobuOCZlY5Vlrxq2I5nZM_R8vyf6vT5qqvc-n_AIufEKx8Y6PJch1d9uMV8m6zYp9tYIPkfkg1o6fq2oR24gufMXuQ1Y-oXDyXwCAuc4wOa4LuU2z62KpU8PGJoXzSS6B9ljHQiu98G-MYotFisceVKi4zXASQ3MECNLE0a9cnpVGz8QQ2epJvIIB7Gsp0-aNmjvw-Mjh6iqxejVjvL7W1jlcpuebOS3euJ8R-JoLhd-wtdZwwx2q7rOswSXAktZl3MvIrlWhklnLkBmp0qaWrMsbipT92DPsj9jXxf4dhtdyiOG-jOZV2jf8AXPpX3VpPxGivLELE3yBcDmvxL0Dx3ffDvxdb3sG4K_yPGp-8DX6C_An4nSeJdBjmmJjZhna3WvOxVavgantb3hL8DzKeFw2aQdNr95D8fM1P2ptWu7zQbvy8lSCM18lfBfxvc-HWkhkncHzTnJ96-xfidp6eINKdM7h1xXzRqvwr-zvLJbrsLZPyivUyWPPzV77nzfFVWNNUcMlsjO-NnxEt9U0O5EswY-XivnXwv4f1DUbXz4oGaL-AnjNekeLvhDqeqzCMySlN4Z-eCAeld4NQ0f4e-E7WGWOCTUrjgIwz5UY4zj1NeljqjppJK9zLhXBxxcqkqk-WMTwi40W7ViHjOcYrp_h_p97peoLIynY2CVUHKj1rs9WVNasYdQtILeGAn_WFeuOvFc_4o-IMekNb2GnFLZGXLsBlnfvn2rzIV5t-6tT7rEZXh4RbrT938z3C18WTabYxEF4kkHylxgHHXBqreeNLnXLQQ215JbqxOWXhmwcda8Lh-K3iPUNPuvDlnbJfSzFTDEBudT3IPYV0epWuu-FIrbUpojKkCRx3McRz5bseTjsM8VtVr1JUnGWjZ5uByvB4bGLFUE5QW91on-X3H2v4L-LWlfDHwXa3GsXzm3AAS5dC_boxFbUf7T-i6nbrPaR3Nzaj79wq7AvPoeTXzF4V8SR65Y2-k6wFfS9QiKAEcKxHB-uazvCeqwaVrGpeFtSJtnhDRAvwTz8rD6iuKGMr0qfJF7H1OI4dy3GYv6xXXxdL21P0N8I6ho3jzTorhHS4gkXh-w46H3qt4k-Euk31u0iQrwPSvlT4K3niDwFrBW21YTeH3jMskcxyyt6D3r2HWfjnN5H2dZMORgnNfTYLEfWafM0fi_EeVf2Li_ZU5XT1t1XqeBftAeB7LTY7vMCfKOpFeI-HUtmsVbCtxjbjiveviDJeeNlmQkurdSa8A1jwTqug30gtHbyOrIelayoxlK55VLMKlKlyJmPrckEE0hUBe3FZ-laHf6teJ9jbhiM9u9Vr7Q9YvNUTepEJPSvU_hv4Wnh1GFpfkj4_nXJLCRk7nt4fiCtTpKEndo-xP2Q_BV_pVtbyXb7Ywo6nNfaS6vbwxjLjao5r5H-G_i6PQdNihR8sF7V3V38QJJdLlkVm-76120qapwsj5vF4iWMre0l1Oo-Jn7Qej-BcG6vY7dWOF3Hk1l-B_wBqLQPFDAQX0MozjAbmvyt_an-JnibWviVcWcjeVbwn90obgr61Q8EXF9Dp8d0NQktZycr5b4Oa8mriqlKV3sffZfkWExlFU1fnte_Q_cjSvElnq1oJ4plAxkgnms7XPH2maKp3zqSOtfnNof7VV74J8K28U9y1_eImxiH6ntWbD-0bq_ji1vZAUiaNN4j8zkirlmEFFNGFHg3ESruEnoj9FtO-Lmj3suwzqPxrnvip8SNN_wCEcuo4LhXXbyQa_NaD446xY6gMzMFPo1TeKvjTq4sZC0jtHInIYkfjUrHKUTSXCsqVVSWyOQ-OstvqHil7iN9y7jkda80W3ikk3cY-lVvGnjhpyWwWLHLHvXO6b4mMzD5iOcVwShKfvH1dKvRoJUG9j07RZIk-UnGeler-H7iCHS1ZJNswrw3RFe8ZWVvlHStnUvFkmk2zDftK1xTpuTsfVYXGxoU3OS0PrD4I_EF7bxMkRmZhnHWv0G8E6odU0WKQ8nFfkP8AAXxNv1uG5kfJZhX6j_BXxJDqGiRIHydvFenl8nCbpyZ8Hxhh4YjCwxdKPqeqUUmc0tfRn42FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFJQAtFMaQKeSB9aq32rW9jA0kkq4HvQUouTsi5nFR_aEDYLqD6ZrxTx58erLRPMUTKuMjGa8Ok_axt_7eWE3Y68ANXI8TBOx7tPJcVUpe1tofcGaTNeR-HfjdYXnh1blpVMm3IJNc9D-0tp51T7N56_exg1r7aHc4ll2Jd3ynv1LWJ4Z8TW_iSxWeBgc88Vs7q1TT2PPlFxdmOry747W1xceG5hDu-4en0r02SZY1yxxWZqAsdaga2uAGVwRUTcX7rZtQlKnNVIrY_Gbxd4Y1TVPip5FxFJLbBicdjzXvfhv4V2U2lKZbVVfHQjpX1b4q_ZosZNd_tGzgjbg845rjPGXhpvDsWxFClR2r4bO8LVjadLY_XuHM3hib06nxnyL8TPhLGVxaRrHIRgbRVTwH8D4ZGUzW--TqSwzzXu95Ypq12qOuWU5-tdNpWmRafbhxGEdR6V6OTUansueqedxRmEFU9jRfr6nld58EbG408xy2iuhH93pXyf8evhXB4HvIL-zytszlGU_wANfoNeatGqkLg57V85_tE2FrqWi3KyKpGwv-NfRVKaauj4nB4ypCrFSfu3Piq4WVY_MTjaM1j2Xiy6t9SCSLujzjNbUlyvlyIpyORXOQ2qtdSZAya4IJO_Mj63ESmpRlSkdBfyW2oXlpcufkDqSfxr6z-E_jW106G3VCAmAoVTXw7qVxLZtsySpOAua9o_Z-8M6_q2qRSNLJ5LH5FzmsauAjiocs9kcn9tzwFf2kFq9z71GvHUNPwg4I4yaw3tmkk2sAV7103g_wCEGvf2fHIYmdSoxnvVTxZ4T1PQ5MzwvGuOOK1wawuFX1enNX9TwM0x9fM6vtqkbGY2g2dxbfNGuefmxXyL-0L4Wu_Dvif-10kM-nT_ACkDnysdvpX1nZ6qFtzHI_zgcLXO6lpdj4oWS1vreOaNsqUlXIr0atNVEc-X454Kpfo9z5Ah8RNb-GZhFcMVC4QJyFzXLeB_D9t428UW1h9umkvJmy2QSwUHk-1enfGD4MS-DrwT6Irmzmba8GeFPX8qv-F9Lsvgn4b_ALTuooj4o1T5FbGTCmOQB2rw6n7i8V8T2P1HBuWaunWl_CitW-y7eb2R3Eug-HfBFsLWwhgh16aMCSXOWjTHc-tZdjq0MlpqFjcGR4rxGhkZTlipHX8DzXkulNrfjrxMLa0nkkedt0tw3SNc5LGva9L8ApJqZ0_TLstMkajzpR_rD3xXmVIKnZTd2fb4Wu8Zd0KfLBO3a_8AXUp-G7PU7rSItLSH-0Ht0LxXEPyttHQkV0Gkwr48gEt3ZqfEFniFpn43pj5SfeuI0nxnp2i-Jtf0v-21TU7NWjERQoSwByFP1xXo_wAE7iXxHH9uu48TxxeVMzDlz2P1ojScppNbsdTGU6OHlOnJScFLR6r3dNbdUdh4dhvNFt0QxgnGGAbKmtCGy_tC4ZnG1j71oXV5AjbFA3fSoYg1uwkHKda-wo0o0IKMT-dMyzCtmmIeIrvVlu2hWx2q3PY5qaTwfFqxZxECWHfpWfFdNqOpIhGUzzzXqFg0NjYKsaBnxnmvNzDM6eBXvbs9PJ8irZpeadoo8fuvhzBb3BUwqR64rU0_w5aWqoNq56Cum1vWYZbzylGJDwQKS30O6nmjfyv3fUnFdWGxkK9BVm7JnFjsrq4XFywsFzNGhpapbxoydehrYuNVl-wvCmAWXHWqs0EFnajc6rxyM1QBVl3Kxxjv6U6OMpYhtU3sGLynFYFRlVW58K_taaTqNl46_tVARbXACDHY15d4b-ITaSwhu2LBThfrX1_8dtFsfEMcFjKyG4lmwijk7fWvDG-C-iaBqU09_IrxL8xLnIz7V59etR5nGR99leW5l7CniKTt67WOWi1TU_FUzixjcRHqe1dP4fs9b0u1dIlIkYbd5NbFjqWk2MJjsVRE9eBWzpuoQTbsnejLwa8ydTSyjofa4bCK_NOreXl-hDa6TefZ0vHXz1jIEhA6Zr0PxZocWseGdPkjRQPK8skD-dUfC0kT2c9qOVkGDW7b6tHFZpp7pgK_Ga4ZTfNc-sw-Gh7Jxb0kj548RfD-9t7eSVk3w9cjqPwrg_7NFo_yHO05r7E8eWunTeHzIkSw3CjDp_eFfJV-H_tye3jTPzfpXqYarKpFnwWdYCng6sUup1XhXUE8nyhw2cVpa1or6tIiKmQeuKTwb4XlnZNiFnc5GK9j0f4X6lIouDGQqjPIqJSaleJ10acZUVCu7I4bwnYyeG5rZ1-ULjNfc37OfxFZhbwtLnHB5r4v8bbtDhYP8rr07Vu_Bv4tLoeqQl5igLc81jTlOM1UPQxFPD1cPPCPVNaH7CaXei-s45Qc7hk1dr5_-Gfx-0qTQ4kmmUsF65r1vw345sPEajyJFJPTFfXU6kZRWp_O-LwNXD1JR5dEdLRSZ70tbnmBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFV7q8is0LSNtFT14h8cviEPD8MiK5GF6g1jVqKnHmZ34HCTxtZUYdTP-LXxxtvDbPsuAoU44NfOfi79qwXFnLHHdkHPHzV4L8aviNfatNcbJGwXOOa-eNW8STLJ5bu5djnOa8J1qlZtxeh-sxy3B5bSUa8fePXviH8ZL_XLyQrO5Qns1eSTeIdQfVIp4nclXx15qG2vhLGWblvWremwrcXSMeMNnisNtWenJqpFQg7I-kvDfxI1GPw9HGZ5AVj-bnp7V51ceLNXh1sXizyGPfnr2zRL4yi8P8AhtrRUBnl-ZncdvQVjaNq0GsWM10ZAxBI2Vyc878z2Pf-r4XljRXxW1Ptj4O_tHp4d0HdPOxSOMtIxbkYGa9s-Cf7VWg_E-6lis7vJRvnil4dQe-PSvym1TWLzT43ijlkWKQYIBrvfhr4lh-Fc39rwyNJe3UYV9rY-XrivSp4yULc2x8ZjOG6GJU_ZfEfrt4q8T21rblknVuOCDXmNr8QW-3hfMON1fBvir9q7xfeQounzRRW2OVZd5r1n4B_Em58fWTG-bN7CwDsoxkHPNeBmVbEuoq1LYMDw7DD0ZRrO7PtFvHZOngBzuxXiPjjXP7WuH3tuJJFa_2h4bf53O3b1zXnGt6lDbzsclwc969_A1J4ylastj5DG04ZVJVKL1Y6O3hs5BMxFZ2ueLraztnPmrnHTNcF468aS2WnyuCwCg7QtfNPi34mateJMI_MQAELz1r3oxUVZHyVSo6knKW7PXfFPxwt7HUvIFwqHnoa8N-N3xshvrFrWKUvPONoH9a8F8Sajrupam0srSJgkg7jmstYrjUrgea7SzHgFjyKozTs7mjaySNy3Q1HIrpeF1-7WvJ4Zu7exWbnPfIrQ8O-F59buo7dRh2_Sub2PvXPcWY2pJPdCaH4Nj8UXdtA-5fMYEsBmv0N_Zc-Dtla3mno0YxGqnDdT7mvD_hf8Hxpwt5JdpkQA5Ir6S8N6pN4R0830cmJIAW-U4yBUYinUeHnTou0mtDyp1_bVlUqH2c9tDptjEkMChIh6V5p8aLzS5PCc91KIw6Kc-oNeRXH7Wg1Lw_i3gPnqNsnPNeLX_xO1T4pa42nM8kemJy4B5J9PpX47l-R5nPHRqVbxs9X6HqSrUadNtu7LGkzWt48tyZDjJxWlpFvHqGobEQFT36GuP1tZtJvFtLONhDuwSvOBXQ6W0-ly290hyOrZr9vSseDc4D9rDSdV0Twza3MOUt_OXzWUdB_D-tfJ3iLWL_UPLmMzyypn_WNnj2r7w_aGgu_GngWKwtQm92UksPSvhX4rWt14OvraznRN3l7gUHJrzK9J-0Ukj7rLMwprB-wlOzXQ9U-FtnHP4e02O2uFW8v3Mt26dVUHgH2A7V3Wn63Bo_ilbqGT93G67c_xAcV8_fC_wAWR214GtHczNG0Xltwo3AZ5r3218K6jfWe-SO2tVEe_e7ZyPavnsRDkm-Zn7Dk-IWJwsfYK9v0_wAzkte8A6RdfHDVL95fssGs7LhJiOApA3YPrkV9B-F9LsfCtu1pZRMsbfN5jc5OOteOtbwzSWds_wDpL2MrTGYjIAx90H0rvvDvim51zSTdfY2haMlSOmcd678DJVKq59bLQ-S4ppVMJl8lhvdUpe9bs9Wn6O521zpsbWrTb8v14qzpg-0ac6sPmA4zXG6P4hmuJpFuAyAH5RXR6b5s8jSRtuQdRX0x-IEDNLbrPNEpVkHauVtfjPeWtxc2kkTO8Z25Peu8tL-PbKsiKTyGrhNX8N2d1fTSRbVlY8gDrmvlc3wMsS1JRvY_SOGs1pYOm6bnymx4I1qTxDqYupmCrvyc163q3xE0nRbTa88cYVccnrXj3hnRl8OWJ3nJbPPpXHeOPDN54pjYpOwCnjYcVh9Rq4qhGnF8nLod083w-W4qdaa5-fVB8RPihq-q-KII9HuT9n34ODwBXqMfiyWz8K-bcsDJHH8znvxXy0v2vwnqSreszIH4Zu9ew2_ixNW8MNv6bOVI6ivQwOB-qRfNv3PIzTOf7RnBU9VvY8K8V_E25vvGYukZpII5CoYHoKw_F_iPUPFVx5EMnlx4zkn7xrA8WWF5Y3V01rATDJMzJx0FUND-06hcWkHmlJmkACnil7KN-dH0v12tJfV5Xs7abHo2h-A47G0gl1CZnuJACIlJ716h4H8PwTata2skG2Lo3rTbDT7SxuI7aSQTagI13jqEFb2l3x0fUlnVVdx90jqTXj1Kspn6LgsHSw9rLb5_ec14kVdF8ef2Vo9y0rZDNH_c9jXWa4rm6tvIQb0OXYmuL0Dwd4g1b4iX2sNuj8-QZLdlr1rxB4Oiktco0jMi43An5m9a1jQlVaUNTjqZpRwNOU8T7vM9F5dDA8banaXmm7c_vgmDt9a8Hm0lYdWafAJeu21qw1TT7p0dHaA_xdTXQ_Df4eTeMNVjBhZlz_EK0p05UXyHHjMdRzCCxPRHoX7OXgNtavrZntyyMcHIr7nf4K6dpvg-e4eNEYRZHFc_8A_gqfDNpDcSRhUX5jkV0nxs-LNl4d0W4shKoXZtzmvbo0Y0oc0z8tzLMq2PxMaOGeiZ-ZX7T1u1n4kktYBtj3da8MW5u7O4QxNgg5Ne2fGTWIvFviK4kRt6q3WvPLXQWkkz5ZP4V5cqkbs-5pYSs6cU3qb2h_FDXbG0WKG5dSOOGNfZX7I3xcvL6aOK-uGLjrlq-QdN8C3E9m823CgZHFdh8M_Elz4J1BnQ_NnGFNZwr8sk0zurZV7ejKnOOrW5-xOm6xbX1vG0cysWHrV_dXwx8If2gLjUdShs3d8-ua-z_DOp_wBqaXHLnOQK-jw-JjX2PxnNclr5XaVRaM2qKKK7D5wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAI5vuNzgAV8S_tRa0Fa7jEnr3r7M195I9NmeP7wFfnF-1hrFxZ6hOxDYLEGvMx13Tsj7fhSMY4xVJPY-cfG95EYSS2XzXkmoyRSSklec10PiLVmvhgcnqa4XUpHt2LliAR0rxqEHHRM_R82rwrSu1dGzabCpC1vaKrwy7olDybcqDXG6RdmRQfXvXV6DqC_agrH2FXOL1McJUjUcWb-raLLNYJLfPzLwvtXE-FbHUtF1W8twC1tuLqxPUV6NrH2jWruGzt4y6RRg_L9OTXOeLLW58N6fFqS7mij4k4rnpyduXuerjKEVJV1dKHX8yfWJlvLZHT5h0as7S9ZWWVrO6bkcLn0rK8P8Ai-11JZto-Vuce9Yvjl5ltYNQsOJImw2PSt40_e5JHnVsavZ_Wab5kt13R1OsXCaPNGYJWdG6qa9k_Y68Z3cni7V7CSNgv7uRHzxjPSvlCHx05wLmPeB3zmvpH9kvxlp7axdzBFWU7VA6HrXVToWklNXPnMbmUatGbo1OV9j7x1rWJfsvXkjjFeReJNYlWRgMgd66-61-K8ULuIGMA9q8r8ZalGt8oWQhc4I9a9qEI01aKsfmdatUrS5qjuzn9av_ALZ-6kO5T3Nc2_gu11Sby4grs3WushtYNQVlyA2M1f8ADHh82WoCUncmc9Ks5zyzxV8DVhtBJGgMh5-7XEt8E49PtnvXiCyD5gx4r7JurWO8QZCsqjha5zx1omnN4eZnHlDofT6UwPjXbNqF0unRw7trY45zXovgXwFIviS12w7AoJweM10_hb4RaiviZNVt4VbTzz0rZ8QWWs6T40lkRoLW2s4TPDJyVkHGVb_azXHiq7w8FNK59HkeV083xDw86nK7aeZ6_p-ltpelC-kVY4okywYdcCuJuPixpeqNNb7JoUJKBmXCt9K5f4seMvE-peEdNm0jJ09h_pUMDYkJ9cdx7Vyej65pWvaEbBnCF1HlyRsAQ46gjqK8etmE21Klsfo2XcHYWlCVHMNZ7pp2VulmeraPYWttpt3qEAWWN-qggnHviqPhG4Om6szPbbY5ujgfpWl8JNP0HQvDOrTS3LeZcBVaKSTcFI7jNaWmafcahLtRFCj5lJHGK9nB1ZVqSnI_NuIMvp5bmE8NSVopJ733VzUk0eaaK4vCEW3GSOOlZkOk3Wsjy4ZQkKnJPrV6_wBasrXTX0-8u_JeTgAHrXLax4nt9C0lwLhvJVS3mKcfrXafOnTaheM00FlMpZfu7gOOK-Z_2qvB9jHr2l3ryqsaoyycdM9Kuy_tF_Yy0YYSyAnad3SvIfiH8RJPHU13czzEDqsbHIrKrHmg0juwVRUq8ZSV0c5o-jut1a29vIUDS8svcZr1HxJ4u19PJsbTU2jEKKg44IHavOvh3q8DahD543Kh4x1FdTrXi-wbxYtoIflVfvE9a-eqxk52avY_YsBUp08K5KfLzNLqejeC7258RRfYZj5d2xAaRejA9TXrUOi3OiTQ28NystqqgOM14p4X1KGy1KO6hkEaqDxmk1Dx9dLr1w9vcNNAB84DZArpy-muZ1DwOLsfJ06WDvfq3-R9EaTosV7fJ86gHng1dtY59N1i5CITBjDccfWvNPAPxK0vVLW3EdxsnjbDZPJ9q9b0LWI9S1JI2XekwwTXuH5eUIYRqGoymLBjAyVFWP7Lgm_eomGXg8d66nULOx8N3WAAPPXg4rP8l_sspjj3D73y0xHIahbzwsxfiPHpWFNrkOmxsSuB39q62PUG1uaa0eLy9vGTXL654ZaBTFPxCzYElKwXb3PP9e06HxNqSz7C0OcAY_WovFWrWHhDQ3gLAyEbR9K6DXvC-oafYmSxb92q_Kwr5q8TahqGreKpLG6disLYxnO41xYq7jbofUZDKEcSpvWXRHSSa9b6hhSgf0Fch4q0O40i4i1NQYNrhh2r0jwX4PS3lF3dKPLUZAYVJ4z0n_hKI5IoUyijhQK8CNVQnZbH63XwVXE4fnn8XQ9D-Ddzo91oMmqX_wC91KRMNM_JArsvB_he38Sas8qSE26v97bXB_Bn4a6rZaKv2kMsbnCKwPIr33wT4Vl0OZ1Ufu35bHasqeFdatpsd-Kzunl-WxlJr2iW3W5sf8I7BY2p8pAB0zjmsaV9twYJk2rnAxXoUNuJHCsBtIxzWL4j8N7V8xeDnPFfWU6Uaasj-fcXj6-Mnz1JGBa-ArTxBcKrqu30Ar334L_Ay00-4SdY0CDn7teCaZ4ifQbxN25eeRX0V8Nfikj2aKsm31qXSjfmaNoZhiFT9jF6M9o8bagnhfwnMYiEVUxu6V-Un7UXxkvZvEE9kkz7d2Dhq-0_j98Yobbw9dQtP8uwnrX5h_ELUE8UatcXQbJLdSa8_E1oy90-ryLB1ad6r3I9D1hL5Gkd8seTurr_AA_qlveMyLjK14_pM0lreiLPyk4r2zwb4Wg-xi8DANjJX1rxq8YxP0vK61Wu0lutz0WPVrXSvDL7wudvSvNfC-qJqWsXMjFQm7iua-JXii9t7d7a1DMW-Uc9KxPhw98keZFYsTk5rKFDlpuR31819pi4UIx0ifVvwvvbXTddtmJG_dk1-ivwn1mHUdBh2HkqDX5H6Lr0y6sDG7K68DmvvX9mvx1K1naQyyktgZ5rpwFRUanK-p4fFeDeZ4P2tP7B9c0VFDMJolcHIYVLX1p_P2wUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKSgBksSyqysMhuCK-PP2v8A4TrfWdxdQJ95dw4r67vNUt7FczSqvrzXG-Kn0bxtZvYtKjM3AJwaxqRU42PRwdSph6iqR2PxK1bw3qFjqVzA1s52uQMCuJ8S6VcQ8yxOg9xX69az-ybbalfNNHAvzHOQorxz4tfsckWcpjt8nGfu15X1aUXc--_tihiIqnI_NzS4mVT2wOlbfh3Sbq41HzDHJs6BsHFe2W_7M-p2viRYmik-zq3Tbwa9Y1j4c2PhPw8818kVpBDFuaRhjnHQV5OKxXsJKDWrPpcuwkcXZxlpE8Mmvl8K24k84CZowu484yK8r-IHjS7t9Ju7V3WeK4UkYOcV1XxEvVudPnmt_nhbJB9u1eJSWsutSPFGzMQufmPFdGGpRfvyLzzG1YXw1HqtCz8M7O4e5ZZUKK_KtXR-Ko57G1kjJ_dt1BrP8FyXUEpgdfLkHyqzdDUHja6vZJfLlddnoK7p-9WPl8M_Y5auZO-pwt1KJJWROD7V6r8C7ptC12K-SVgrYV0z715poujtqF8-G59K3dJ1CfwvqZD_ACgHO1ujCumpJ8vLDc8XBwTqKriI-49D9BdP8aR3WnIYZ1dxjHrU8OkvrURuHx1zyK-avhb41urq7MccbshII3givoHw94nunlW2khJRu4FbYecpwvI8vNKNChXaou8Ta0Pw79pmJjONvB4rttJ0jdZvlTuUcHFc5YapDpWoLDG24yfw-ldTo_iXy47i28ovIed3YCunbVnjRi5tRirtkuk-G57iZmMuyPHQ1B4m8NW2pNDZs6vFuy2D2HeqGq-OLPQ7GTfKzOTztOAn1zXB-EvjFZXPim8sVhmuEWGSUSDkYAJ5PavPqY6jG6Tuz7HBcK5hiOSpUhyxbWj0duuh2_8AwtXSvC9i-lW-nXEm1jHG-wBZSPTPavEvi58ZtJv_AAqstm32S8F4sF3DOuJFjPce2a4bx18Q7nWpJr97iGzf5mgiZv8AVKOgHoa8Z8Lyaj8aPF01nd3KWtv5oubq428LGvDEe7AACvMp1a1aEvav3T7fFYHLcuxFL-z4NVm_d13089j3HQ_Hn28C3idHQrvDRyBgD6jHSm31j4e1S_M7KdK1DcPNZgyRT578dD9Kot4J0TVvtaaQ_wDYEqcQTW_AX03g9QaktbPXYfN0zVntbwwgCQ9Aw9VavM91O8XY-1jKtJKFaPN2e6_zR7xo_wAO9H0zwraLBfDUZLxd7NGeM_3QRVr-2J7dodMETWqwkAzHjK1i_DuSy8IaXfaTBdLc6jFCt4nncBEb0-lWW1aTXmF0jR3ZjbEqQkfjmvqcDUVSirLbQ_CuKMFUweZT9pLm5_eX-XytYr65d2TQXE1vD_ad3bPhVBzn1rxz4oapc6patb2ubaF1xJg8Ka9WuHi8LmbU9Eh-2rK4S4twclCepNYdvp2kzNdw6igV9QlyqyYB9eK9A-SPkPxJ4Ju9I0V9SEzSDcQSvpXMaX5uqWM7hW81BwMcNX2h4u-G9pHo95PbFZrNYSDbkdMCvkaG8kGuXOlWsAiYkjcR0GaAIfAKONcMFw_2fzFJGTjFdDcaVb37G7adUmtnKHnlhXGeIrWXQ9SANyHlPRlPSt3-wz_wj8V81-BLcH5kJ_Ws_Zxvex0_Wa3KoczsjQm8SXdzGYrXcfLX5inpW94FhudSsB9kVnWWXZcu3O3NR6ath4b8NSWMLJeajdceYOdgNbvwrll0nR9Y04tG0kcgkEnQOfSqjFRVkRUrTrPmqO7JvCOm2eg_GBdPlunNowUjaTjNfaHgvSzH4gsSistqxAVpB1rwb4f_AAjh8UeO4NXuJhBOsIcxfw57c19b-HtQj_sGHS76COC4tMvHcDuB7035mavJpIyvit8OdW1aZfss5Cgh02egqDws1xpMbW95HvKJyp6k15jrf7RWqa5danZ6LL5IsZjCJHG4sBwTzxjIrd-Fepaj4x0261G61F7qZ38krhQI36547GvKlmVJS5UmfeU-DcdOj7Zzjte1_wAPUs6fHPe69ds9uLaGSTCtjrzV_Xtl8zaW8eNnPmVT1ZtYl8Q2mmWiAAEeY9W_iNpt34b0Wa7DgXu3kL1_OvWPgbNaMTVNHJ8OBImEg27TgV85eJPge2napca6Wky5ztI4r334aavFd-Gn_tK7WSUncUJzj2rV8T6tpWpaXFbDaueORUTgqkXFnThsRPC1Y1ae6PlLXNQv7WxiSOJlibC7sV2WgW8Gk6bBcsPNl27ypHBrp_iD4VkbRQLCASOCPlx1rlNBvJrGRLLUoDEmONw4NeWsvp8y7H28uLcVKm9Pef5HoOhfFGJYY8RNHt4IxwtejaT4wjl8iTHyEjJ-teMw3mmMssY2qyj6Vo-HfGFpeXS2KN-8j59uK9OEYxVkj4mtXqYibnUdz6dtoFvhE8YYj73FTaxYuqRo_G4YrK8A6_C8UMTzLv2811GrXEVwV2nca0OU808U-E5WtncdQMggVyeg-KZvC6yJO5XFe5GH7VCYSgJIxXmXxO-HkjWLSwp8-OwrOd7aHThlGVVKR4N8dPiUNStTaROZJJRjr0r5z1KT7NascnPWuo8d293ous3X20EYfClu1cveQf2hZnbnn0r56d3K8kfr9CMYYflpO7sczY6otxOSD-8DcV7X8Pp9V1S1SIoQMYBHevNvCfhHy5nkePJLelfVP7PfhdNT1aBJI8RRjrt4rKu1K0Yo9HKadSjF1q7sjir34X3lyzXM0DMh4ywrVtfDNlpOlttCrIvtzX1T8TrPStB8MhVKKVGT0ya-MvGPjZTqE6QDCbscVz1qE4JK56-XZphq8ptR2Kuk27LrzSZwgbmvf_hb8Ro_C-oQqZDj6182aXrkSkyMcluTzWnY-IjLeApuG3pzWLi-ZS7HpU6tP2UqT2kfrZ8K_ihB4i0-CMuCcY616orblBB4IzX57_s3-NZLPyRK5I46mvuzw34kt9XtIgjAtgd6-mweIVWNpPU_EOJMneAr89OPus36KTPelr0j4kKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiimk9ecUADMF5JwK5_xR4stNCsHlaZd-OBmuT-KnxKt_C9jIPMVSo5ya-LPid-0XLqXnRW8jMRkDk8V5-IxcKXu9T6_KOH8RmNqlvdO0-M37Sj2V1cQW0m4r2U14NoP7Vmp6T4siS8cpbO_DFq8S8UeMLp7y4uJmaQuScE15fqGpX2u6mrIhX5sCvHp1Ks5czeh-jYrCYLDUVRjC8j9z_gh8TIfHmgW0gkVyUGGB616Veafb6hEUuIxIPcV8cfsGrcR-HbCKd9xWPua-z-a-jpycoJs_GsbTVGvKMdDyvxd4N0fT8ukEaN1ztr5d_aM-Gdx8QPDMul2E3lSeYJB6NjtX1v8AEPT5J4GIya8dktvJkcTc7eRmvhM0lUWKUYrrufonD9Xloc3NfyPzp8Sfs9-JNPs5Lb5ZQy4Oe1c74F_Z4ms9USa9lUKDhkxnNfb_AMQNRsyzpGFz0NeeaZbrLdDEWcHsK-qwuHtBSb3PEzTOHVqSpxSVtEzjLj4CaTqGnhVtVjcD5GjGDXhHxU-Cdzoqu0kDOi9JU_rX3Zo6JtBkULt6j1rl_iN_Z82nyRvHGS2Q2QOldFWgpe9Hc8_AZrKh-5qq8GfnPY-C3024WVCQe9d58F_AcHjX41aPZ38H2i2RS5TGV4x1FdxqnhuzubuZIRj5jgr6Unwts7vwf8SrPVLQ-YufKdT715FeGIdOfKtbM-xjWy2PIoyVrp_ifW3i_wCEvhjQ2tZIraCzkwMbFC5rk_FdjB4dgjuFRSmOGGBWn4y0_UfGGs2NzczslooD7UOOlT23h228eXYsLmRobS3-8zcZxXymWZpUwc1SqSvHr5H0OccPQx2F9sl-9S0eyZ51o1nNr2sxXiTYEfOyutuPEEdja3duV8uY4zIT1Gea9I0fwzoPh_8AdWqqywnljg1h-PPD-meKLKV7aNYJApCyRjvXvSz_AAle9KzSelz5bBcM43B1qeKpyTlBp2118j5B-JXjTUNd1m6g0999qsnlqzHAOO-Kn8A-Ip9F0W9gmTF9eny3mRM7Ix2z_tUy--Ft9q2pXC6bcqup2u7MDkBZQSTnB4rkVtvif4auriQaVavAqMpdQhODxkBTyfqK1WGcoKMVofYrO6Pt_bzm7t201t5W0ased_Fi7g1fxpbaZaXPk_aZFjZmPEe44yfpXtXhnQrXwr4Nl022MIsosQtNAObqXOd7Hqa8Duvh3rHi7VRfIyxu8v71pGIk4-83PpXtWreIoz4bsotOt2jtLJNhd_42AwWP1ravb2cKUHfueblXP9cxOMxELX-H062_Bst6h4ms9KmiRYDPcSgARx8sT7Dua17m7Nvpc17eWV1ILKMSyW9shklVO-B6j_GvO_hhr0GpeINa1m5YLHpcYWBiOBI3ce-K9T-H3i-ZZpblPLuCzMpLcpIncH3rhqQ9m7NH1ODxP1uLkp25ubl07aXffXp5F74eX9t4s-06-kzW9la2piijnH724z_C3oO1dNZaXc-HtMj1CSFdOstQLGeZH4i965FfD-oeG4tRufDrm401kMos1APlENnYw_u5zgitrSZrjxRo8l9rsiW8HlkTWPmAqM9Gr3MulFxkorQ_L-M8PUp16VWrK7aeltrPdeTubtnc6VoVhKsN_DPNqTb0O7h8e_qa5PxN4oGgtot1rmiuIpnMcMqDcY5D0ziudvNOWC4D2VxDqCqPLjsIxkxMTww9q7d9Eubrw_De3pka6kkT_RlG9Eb1HvXrn50PvtY1FYoNEayURalCwa7b5QmRx-NeMn4EzeFtL1i7u2kudYn3m0VVJ3KOc5r6Nuvh5f6jYS6gqX2ozQqn-hshRUI681i-JNY8UalcWNrpmkRRNA4jmaU8xKeCfyqIzUtncuVOdP41b5Hwgvh9W8SNFqkzK6ruZWPINdLHBp8trdR20jTt5B27ui4719AfG74a-HbxJJ0Xy9QWMmSaBeGPevl20D5vtPspNpjBHmH7zD0qyDtfh_dR6f4Pvv8ARFkvpVIVpeoHTivY_gd8LJ_EPgW5m1sjTbW3uPOa4z80i-gr5pttUu_stiEVpDH8jRg4PXvX174AjuPEXgOz0y5uZFMzoZFtefLXg8-1O4juNN0fWNJvrW30u1M-j3zqP7QJwyqO1dt8UNT07wncW1tcajMryWR2iFS5JI9BSa5qDWbaZoOiMW03ygjztzhsfeBrz_xz4sTRLgfbS17faejRwGFc-ahH8RPpXNiKkIQalK1z2soweIxGJhUo0nNQab7b9WefL4i03UrW60WCOXT4bhsrcRR5k256Nnnk811fwz8Qan8MpNQ06exm1LT5uXlteWXHTK9R9a-fNc8e232wSFZbGWJgPOaMrnPvjHH9a9i8B-OJtPvDrdsGuY44xH50h4kBHIPqK-SqU5QitNGf0BhsZSxNVpSTlHt281-p7trnijUvMXWIbdbSz-ziVS5BOQOmazL_AMU_8LQ8OrdXjmzVRtIY8nFZLfEIeJNF3W2kx3OizERTxRSAfZmzgkfUmn2sPh7QtQ_s26u2aaAZa3J5Gema-iwGJVWHs7axPx_irJamX13jOZOFRt6aWdr26_mQWPhRvC1mJIZWnSY7lqnes8eqW6XL-WmM55612Nxq1v4i0_7RYyx_ZbMYZVPTFcLN5niK8RYVdhGc7j6V6p8IdHHrKxWbu0gKpyFbnNcb4r1GfVZEmitURugbFbl9oTXCvIjZjjXt61meFdSbUL42t7EI1jbhmA5qWNankPiK-vtMkkwxaXsB3rK8LeMlt7gTyCSKdjtZXyDX1d4R-G_hvXPEDzTutw5_hP8AhUvx7_Z50fVvBdxPo9t5F_CpeNolwSRXy9bP6FOv7Gzt1Z93R4Vr1MPGrKaUpK6Vv1OK8EfEaKytfMe52r0-c4Ir2Pw78Qpr-0S52fuf4XBzmvjnwj8G_Feva1YW2ovPBbFwCrda--I_hXYeDfhmkeVZkjyrN13YrWWcwdWNKkua5P8Aq37Ki6mJny9tNza8IaxbahbrNJIAwOCAa628t7bWrOSAY6YHFfM-n-Irjw4E2HzFY_MAele1_DnxINRs1llOc9QK-lPhtmfJf7VHw4a3hupoI2Zh8w2jvXjvw78Hy6gkEVwCpP8AeFfo948-H9r4ys5v3QcSL6V4RrXwoHhGcTwIdidARXl4mjKbXKfc5HmdLCqXtnr0IPhn-zvZauFfaQ3U5Fepf2JpXwlspsBVmUZHqax_AfxBGl2zQMqo6-_NeafHrxpdX8yvBIzlyBjPFZyp08ND2ktxf2pisyq-wpv3Tz741fFbVPFl28VmJFjU4-XOK-e9cmvtPYySlmDHJbNfYvw58A2uoaKs90BI0vJOM15H8efAtvo9xshUCOXptFeBTzKGJr8lj7-jk88Lg-aMve3PE9N1zdgE_NXQ6ZqEsVwr5IFcimjS27O6qflOK6bw0st1wyEge1d1RLdE4OpUclGe59FfCnxRMrp5Zx7Zr7j-BXiWW9WFXkO7A71-dHw_-02t-gRSfpX3J-z-LnzIpJFZOnBrkwrlCurbM93O4U8TlUuf4kfY0Tbo1J6EVJVTT5Gks4iwwdtW6-zWx_NclytoKKKKZIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVHN_q3zwMU-vLfjN8TE8C6TJKzhAqkls1E5KKuzow9GWIqKnDdny9-2XdajCHa1n2qCSVU8mvjKbV5WjcyZyOua9b-M37Q1r4svZo0QSfMR5m6vn7xFroa3eSNWbdkkivla9qtS8T97ylVMDhPZ1HsZ-ua9azMYpFAPrWfp1xaRzb1xnqPSvLPG2tTKxeLzOvHtWr4LvmvbVQ8u4kfrXV9X5afNc8RZuq2LdLl1R-i_wCyF8d7LS7y3sjIqyphcZr9E9F8U2OsWUc0c6_MBkZr8GfCN9d-GdZhv7eQrtPPNfUngj9sCbw7FDbXMjEZ5JJrro4hU1ys-ezTJ54yr7WCsfqH4jWKTT2LYb0NfLnxc8RHSfN8kbW56Vc8H_tKWPizw_Ey3KOGTnmvLvih4oi1JZmjkDHqBmuqVOlXak0fLU6mKy_mgtDyS98Qz6pqhhLMBuyc12ul-TZWKyM2H968v028M2qtvXaQ3Wuo1a_b7KsaNgY611nlu7d2XtU8bSW8mFfoeorhfGGuXOrQ7o9zZ9-K1dQ0WSbS2dOXbua5a1kFneJYXLYlkU7Uzkj61hOvTpu0menhcpxmNi6lCm2kcto4P9qMsybQRx35q94fSXSfF-ZP-PZjwfSrX9lyQ30rkY2ng4p-haja3OtrBcHaCdpattGtDympQlaW6PpPSr-1uNPhk8xWUKA3tVrR5oJr4xIAiMD82ODXnfgPT3ttYmgecy2RG7bmn33iC9XUrlLG3YWcIP73FfIR4dpyrSqVZXTeiR-kT4zqQw0KVCHvJJNvyNTxzcQ2tlfQW1-LWZ1ZRg4_GvA_hp8S_EngvVtTstTmbUbBHymcsee-aTxdfahq-sPtufMLcCNW5qz4T0W_ke6m8yMSgAGGQfNXbhsjoUZS5vei-j6fM8_HcXYvFQhyLkkt2nv8ia_urfS9cu_E0QlnlvtqCHptz39qr614au4tmoWmrOsDHzZMNkKT2NVrfxTPa22pS3lmJzbShPLCfMQT1qNNEeC3vJYLiQw3cZcpI_yoevIr6OMVCKitj4ac5VJuc3q-pzC-BbufWmnsZIrpJIzmNW-8D1x6Gn6r8J7vU9Dexhum09jIHWK4BVm9RXRaHdS6OrzW0EN9cLGUiSzbLLJjgmvO_FepeKNUnN5rEM6IW8k7zyknUY-tfPYjC1YTcoP3T9hyjPMvxOGjh68X7XVNbJ-afn2JtL-H2qeEftVt9lS7tJv3kjDoSBgZP9DWt4WuGS1ms0tf7OkQMcycHk84qt8PfD1zfR3CNPIY5BlomJwPc5711U11N4DuttvDaaudu0peISFBGflI968-cm24vVn2eFoRp041YRcY9tH_AMEvaL9t0W4TUFuPIiWJnOX2tJH0JC9xWNe-Arq-1J7_AEK8eCa_gHmW10cwOh5wo7Gq2h3ml-KNck0_xRdSRXmofJaSQ8CNhzgAdB7Vf03xH4p8Ird6FH4euL24sbkW1vqkyYTaTgHPfAr3svpclLme7PyTi_GPEY2NFK0YLTvrudToMmi_CzT7a_123C6useyG2Aw8wHAY1658Ab7RfiRqh1QE6c1i5MlrP_q5HJ-XFco2h-HtdmbQ9WWTxJrcFsXMsKfOrkZbDDgAV1X7Ouh2-ieHb2wms5oriyLCOS7XaW3NwPc-9PMm1hKrT6M-dyimqmOowfV-p7R428RSaLp80uInijQuNuBnHrXg1p4wsPGqz6otodOaVju2t-7YjjINdr8cdGlvPh5eJG8sUkcJkLRPkn2PtXyV4JbxZcNpltd3O3wveJKqLApMkRjIyT9c18Zw3JKrJylq-h-i8UYf_hPh7ON7O7fZbfm0eg_Ei1vB4fvIrHR_tTMm3cnJOe4r5N8dfD28-G-q6XczRSLNeDe8LfewT6V-gPgjTb3xL4csrvw9ZXD2IOyS6vlKflnrXmX7R37J_iXxXqNn4i07V1lFqS8izDhVBzgV9rUzDC05qnKouZ9D84pZVjK0HVhTfKfJWi-FWvLiTUPKnso1bdiVcKwzk5r6t8I-I9E8J_DmK8jnhie6hYSXEDbwrEYAx2ry-wsLHwjqUcnjbW7YRPAxt4IOUmQ8Z-uaPBXg_X9P8RxWunaH9r8K3btKzSSD5VPIJHYV3uSiuZ7HmQpyqTVOCu27fM9P0_xpc_CvwPaX93IdaOpP5Fm7fcVSckk-o5rFt9XPihrm7uWURyPtRc4wO5ra8Q6tB4kdvDZtoodIsYisagYUEDqD6159_wAIjaeG7XU2tLiZhIhk_fSFlPbauTwa-RxNaOIqOX3eh_RWS5fWyjB06Mkurl_i1v69uxrX2k2OraLfWlyguraVWhO8AA7uMr6H0rwT4t_D_WvhRpem3Frr802k3kjJFZs5EkWBnDY4P4V7r4atpJruxt5iyWYVWA-8wJ4wT7V538StUTx18WYtPuEVfDmgxsliF-ZJ2B-eQ88_N29q2wknCb6x3Zw59h6eJwsZJONWTUYtNq3V3_upd-tupa-Fvh_VIdBhtp9XvY_tiLcT28b7UUZyoPfNe0_ELQ_tWi6VrekoLu9RRb3lyXwQewI71wvgq4kupZWgP2nzcAEDkEdAB6Vs6p8QrfT_ABVa-FbWz_tG4gK3OolThUzgBfrWPtavtXKG56EcDgpYKFLFe9FNW3d2r2t3vqz0bw7FY6d4djt9PjZr24j33ELHv3xWh4f1LzpLmzSwNvLEuSxWqXizQVt9Rt9bsvMjS5jVI9v3U9quWtw-l3EVtJcL9rm--X9PrX1GGbdKN5X8z8IzqChmFVRpOmr_AAvp_W5Uvj9vaLSbOVoHkOZHbgisrQfBEy67dQS3LMRyrV2mqalot9Y4t4mGpR_uzIo4z61HH9q8PRWFxLEJmuTguK2qJuLUdzyqEoxqxc9r6nE-CvFb_D_4lva326SK4by09SfpX0X4w8StoehRXMkZljlC4Brw5bC21rx_aXlzEiNbtu-YV3vxc8aWU_htNPtp42ncgLznFfmMsMpZhTpVY3b3P3WWK5csnisO9Ip8rfTT_Mr6D8SNPvruWcQIhgOeeprK8RfGzVPH2oS6Hahore3P3uz14_pF1_Y_iDEk-Y26r1ya7fwnKv8AbEt3bR4V3xyvX3r72jl-Hw8lOnHVH5Jis7xuOg6dad0yaD-0Irh4rrKjqvvXqXwn1gkNAsmDGcHNZmmaK-qTtLJFkN8oyOnvWtpNpDoN4VUKX35k2ivUPAZ7_wCEdUMkzhwJBjGBUPxE8PwX-mllXBPXIrkPDerMsjSqxCZxgV2V1qguLbbJycZ5NMR8k-LrS48Ma1O4VjB6VwOt6t_wkTLBCNzbsn2r6R-KnhyK_s5JQMFhnA7V86eE9Jj0_wAVyxzE-UX4Zq8nMrxoOS6H1HD8oyxkacna56F4M8TN4b0byZ1IAHBxXhXx08dNrGqrEkbEIc5UEivp640W0uNNEYRSGHBAqLQfgTp-uTF5Lbezf3lzX5rhMTTo1eeUdT92xtGfsEozSR8baPYi-tUcLn1rtvDHhcK3CgK9fW19-yTDHDHPZ2u1W6qq1Fp_7Ns2nSMwhYqOvFfXONSpBSitGeLg8fgYz5aktUeeeAfCdnYqs05Bftx0r6I-HfxC0bQbuCIzRl8425HNfNXxd1WX4c27RICrk4APBryDQfFl_DqAvpLllkLbgN3StKcnQV2tRY2gs1m4wnaB-zXhnxJa69ZpJCyjjIANbma-GP2efj0kqxQXF0ocAA5NfZHh_wAW2WtWqMkyhyM4zX0GGxMa0fM_Ic5yStldWyV4vqdBRTFbdgg5FPruPlwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorxX9pr9qPRP2a9K8PpcaNqXivxV4luzYaF4b0dA1zfzDbnBP3VBdASATl1wp7AHtVFfL_w2_aw-JmsfEbQfDHxB_Z28SfD-z1uRoLXW7fUo9VtIpAjMBcNHGgiB2kDJJz2619QUAFFFFABRRRQAUUUUAFFcD8E_jl4P_aE8EjxZ4H1GTVNDNzJaefLbSW7eYmNw2yKD_EOcd676gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiims23knAoAXvXy1-2hpJuvCt0qvjfET1r3zxF4-sdB4eRQfevmz9ozxdb-LvDN7FbyqZjE2wA9a5K84uDSPoMrw9VYiFRqyPyu1Ava6pNbytuCy4zntmvT7XS9NvvDoyylscV5d4ltJrfxFdRThkkVznNbOialKtuId5C9OtfO1YtpW0P2XA1ownJTV0ynrXg6yLMMKRnHNc-vhmHS4ZHgwmMkbelXfG2uS2MJEYYt7V5_J4quXjaMM25uAua6aUak476HhY_EYSjVa5NTWtfHAsbpopXzzg81vza7b6hagxvkkdjXlV1pE8m6VlJduaraXfTw3XlkunOK7Hh4yV0fOU82r0pclRaM918G_EnVvCJ8u2uGeLP-rZjgV6pofxck8QMI7p2ilx3NfOGmzhVGXwfc16F8N9Jl8TayIVY7U5J9azi5xdonfUjh61NyrdD6L0mEXQWRT2zn1pmpaq0coRjhV4rb0vw22j6bGWbChe9cx4q1Ox0q186RlLM4RYwRubPXAr03UVOHNM-Hp4OeMxLoYVXZua74gFv4LkmgfE0ZGG9jxgV4xHdSSXzXUsrBzlhLu6Ee9dh4w-1tpVpZCQWUsoE_lSj7wIwAfSvI_FHhbU5ZBbyeIYLS2x8_kQlifoc18tJxrVZS5tz92p06uX4GjSVPWKV0mlr82j2jwtqyeMdJuhDKkl5bjbIB3pPhfoNu_iZodQ2sFckN6c1518Ndet_hhbz29o8mrG8PzSzptYeygf1r3T4Taz4a1q8kM8gtL45PlSD73417WFxNOnFU5M_Ns6yTF4uvLFUKa1SbSd3fr_SPTrXwzZLqBl0q7GAuGQmul_svSJPCt3pi3MUV7ICWkJGR-dcPo2u6N_a0k4MkKRMVKf3iK5rx9eW_iqR5tNnksnU7eDgtXr3ufnTTWjOB03wHZeBfEFzeLf8A9olpSN0rZC5NZ81zqmg-LLi9sLJr9nwuQcoBWz8UNGktfBcUFuoWRvmebdgn8a830vWr_wCHcVvdX089zp7rudQd5_OmI7KTxRpP9uSXVyyo1wvkXES_dib1INcFrVrr-l6vcR2UaX2mXQP75X3fL7AdKzfFmuaB460uXUNOtbqPU5GZPs6AoWPYkVt-A_DN54W8MWXiCO3vZLuEFp9Pmkzkd-DQBr-AbXw14dhtPER1IWd1G-y6s_M-b64Nee_ETx7b6x46kawnafTZSWTJyu7pnFegah4F8Ka9a3-v6rdCwk1QCWDT1kCyQ468e9fP-q6lYxeKLb-yoMrHPsVCeq-tQ1zaM1pzdOSnHdHskHxOhs4LeGUW4iZBGZrcbZEb_aHesD4g-ILy1024ls8308iZja2QkY9T-FcLr1lcX-pXeoWtsyXlvhBDj5Xz3ruH8ZTeHbGztILZLhQqi6IxhM9STXkRy6EZKVz9Ar8ZYqtRdLks2t7lT4e6Hp-oajomsz6u0VssDpcTzNjZP6AHoa-j_DuoaZ8RNSFsmrXElnZeXE0K4Y3LngHP8OPWvEk8KaT4rsJraznaDSLmXzZbu3IKRvjn9a9n-BN14I0C0uvB-gSzm8uIVe41Zkw7MvVix4x9K9bSKsj4CTnUk5N3Z1Wm-H73wndXNvolnmW-k-z3DLOJnhTPLE9QTVr4veKvFngySK40LT1v41dFnCHLwoB1b61z8fgGKbR_EOu-GPFl9aX8TYnFzMoE6Z-6qkcE49e9MSeDw14Z1PUPFF9NFrRmiuZdMjYySTQIAVQgfdypFKpTjUi4TV0yqNadCaqU3ZrY6jSPiVefEDwCus2-l3C2DM0M5IAZWQfOoU9RnNeReEfiNpvi7VNTtbF28PwWb-bFcXERWN1JwyjI7mvRvjRqOoTab4TuNOCaH5J_tePSbWM_6RAMeZGccbyDnBrZ1Dw7NrOiHxN4tsdL0zQlh3w6YsYWVD_AHA7knOK8fC5RhsJUVSne6Po8bxHjcfQeHq2s2norbdPv1Pb9E8aRTaNoNhA9rJYrbR7WiXaruQOQen4Ve8d-JrPSPDLEQ_v5JPmgkHysDxxXy_49-KXij4R2OiS6JBp2p6fa-X5-mzoFRV4JZWHIPPSs340_FLx340v9Pijs9O0WxQ-e2pJdeYkYChiNv0PGa-RrZDiniGo25W9-x9Vh88y1U6c5aOK1Xd_dY4fVPhn4Q1P4k-ILfV5mNjbyCe2tmzmJvvMAf7vtUXibVrSxWNvD93JJbzZ8wRhhhFHH5c0-18a6N4u8b2WjWtrc3tpasmpzawqZM-Pvg4_hqTXviZo1xH4ihTyLDQ5IWjh1COAq-_HAyRjaTxX3SoyeGVKb1SX4I-Nw2YU8Pmn1yivd5n9zf6JnNeGbye-v2tbh_tIb5kaPq3satfFHQdS0XwfqGr-ZDbNbx-YqTHj6Y9cVjfDz4oeDPBduk-rteLqEq5aSOINGh_2eeaX4h-Nrb4z6CbPSIbpZ4Rny2_5bx5--B6-3avnOSaqJtWifuaxOHng5041FKq07JPXyOy-FN42reHtM8SiGCLSYYwZ5ridUWRsYdee4yeK-fF0OWx8Yape2LM2ntLOBlsgIXO0fTmuxt_gVqtpoNpbSS3qW85MxtnYi3VvUg_KTXsfw1-AdzHoEiaksZE2OAQTsHTmtPaU6XM4O9-hyfVMTmCpRxMORwV-a_X9Ecboeoad8I_hzfeIbh8vGu22jP_LSVvuqPfPX2Fch8EbGe_hv9b1CTF5eyGWaeTqSTnH0r6O8Wfs4L48sYZr9Gj0DTwsUNvAQxLf3yP61z-gfB-Kxv7zw9ZXSzSRt-6gPyuRjP6Ucs_YOfK_e3fkL22HeaQwrrRtSjpG_V7tvbyWt_vN3wJ4wMsaWb7b-1jl2BDzxS-L9c0q88bwaZLbSAR4fzIASAPTNZvh7wJdeB9eIuriCGGeRkj8yQcHGeQOldNb276Dpt9cagtq5ZSFnQ84PoTXdldOUZSfQ-V45xdCrQoUVZ1Ltu1nZbLVeZPp-oaYNYult5ozYyJgZ676sQx3h06882eO4eEnyEBHIrxjVteGjsmlaNEZru6HmrNL91ucnmtCz8RagsC3N9C0AjiKt5Lbsn1r6I_HzuLNTqkBvpD5MsR2SKp5rk9c8GzXeurLp877ZRkrIfu1zvg_ULnUpriW2upTbSyf8thjJru207U5tUVrmUW0Zjwu31rL2UOfntr3Oj6xWdJUXJ8q6dCLRfhtDp-q2ct5M07McsPWvZdP0-0VlihtPKSMYLBK888J3j25cX8ouGjb9255OK9U0e8uJo4W2IEetTnOttbOKGzV1TZGw25I_WnL4Ztr1GmWZN6r8oXqxrbumguPCLxRBROFx1rlfAc66bM7391GEJwCW4H50tEXGMpu0VcZaXiaTPJbs_wAq8kkVq2PiKK4_5ahfqe1P8dafp93YT3ME6Lu-Y7OuK-XPFXxabSdek0bTrlDcqdrsesS__FVz1q8aMeZnrZbldbMq3saejXfQ-ntW-zahBKrOGyuMg9DXy98WLWXwpeSX0JKlG3FfWodD8TeI_DvxMs47e-urvTrgKzG8J2yhh2_-tXrXxe8Jx-JvDktxCFkGz5ivZv7pripYynif3bW59HmHDOLymH1mEr8r_r_hznvg74muPGklugJKY719lfDvwctjHHLMAo_2q_P79n_Xm8JeKRYzYXy2_i9K-p_iN-0YvhnwsZrWWPei5ypryK2T041VUitDenn1fH4ZYWcvePrRdW0jTbILLLESOq8VRn8ReHFsZnDxZ25xn2r8uNe_bIvJ52eO4Le26qVn-1RqV5A7h2IboM17Pt4U4JWPLpZLWq1WlI639r7ULbVNcZ4iGQS8KtfM-ua0NN04sDhzwPWuq8TeNLjxfdPLcPjJyATXmfjK3lmiZogSRxivKclVqXZ-j06csvwfLHVnWfCPxnqsOoF4GY_Nwea-2_hj8cNQ01YIrzMe0DnNfCvwp1B9L2JcKqyDk5r26PxYtxD-7kXd0GDXNWlKlUvTPby2jh8bhOXF6s_Uf4X_ABCt_FGnxjzQWxXoYbNfDf7K_iqeZ4oZnJOeOa-3rNt9vE3qtfR4Os61O7PxXiLLY5di3GGzLFFFFd58qFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8g_t5fA34h-Kte-Gfxb-FVtb6x4y-Hd5NcjQro4F_BJ5ZZUyQCw8sgrkFlc4O5VB-vq8N-Nn7Y3w_8A2dfiBo3hv4gtqmg2er2RurXxCbF5tOLh2VoGePcwkAAb7pGGBJFAHE_s3f8ABQTwb8cPFC-BfEWkal8NPiemUl8M-IIzGZZAMssMjBSzY52OqOecKQCaxf2mvi98RvGn7SXhH9nr4V69H4LvdQ0t9c8Q-KjarcTWdmGZVSBWOA52EHIzmSPDKAxrwz9pj4m-Bv20v2gPgbo3wU8zxT4q0PXYtS1TxRYWEkKaZYRyI7CSWRFJAKlwOgI2j5nwe7_aG8RR_ss_8FBPCvxm8UW91H8N_E_hxvDmoa1DA8yadcq-5fMCg4B2QkY5I8wgHYRQB7n8E_gZ8XPhD8RN-q_GW8-JPgG6tJBcWHiS1Av7a6ypjeGZc7kPzgqSoAxgHqMXx9-zr8XPiF4t1_W9b_aG1jwT4eW7kbRtH8JWsdpHa22cRm4mY7pXPG4HjOcHGAOr-Gf7aXwx-NPxOt_BPgDUrzxddGykvrvUtPspBY2KLgKs0rhcM5OFAB5ByQa-F_B3iD4L-Mfjh8aLr9rjVpn8XaNr80WjaP4hnuksrXTVY-ULWGLAfIA4wdy7WAO5iQD6l_YL-MvjXxhrXxe-GvjvxFD4z1b4d6zFZW_iWOJYnv7WXzhGXVeNw8hjnJPzYJONx8O_ZZ1L9or9rvQfGNpN8WrrwV4N0TxDf2L65Y28c2rX0_yMtsjHHkwxIyNuXBJkxz_Bs_8ABLcaJ_wuz9px_DXh-78L-HJr_RptM0m-tmt5YLVxfPDmNiSoZGVgCejCuy_4JL_8kX-J_wD2UbVP_SazoA3v2Kfix8Ql-Lnxd-CXxK8RL4y1bwPPbTaf4gaBYp7q0mUsBKF4yFaI85ILsCzACvon4zeA9f8AiR4DutD8M-Nr_wCH2rSyxyJrmmwJNLGqsCybWI4YcdQf5H5X_Z3_AOUm37TX_YM0n_0nt6-4KAPzA_4JS_Bvxrr3wr0Pxnp_xb1nQ_C9l4guPtHg23s43tbzYE37pC2RvyAcLxjivbPiR8TPid-0Z-1Rr_wW-Gfi8_Djwt4LsobrxL4mtbRJ72e4lUMlvDuOFGGHPBBSQknCqfM_-CX3x48EfCX4d3nwZ8X62ug_EODxfc6fDot1byia4eTy1QrhSB86upyRjbk4BBOqvxD039iX9vP4pat8RY7rSPh98T7a1vdM8Ti3kmto7qFTuhkKKSDuabgZIHlEgK2QAa-r-KPi3-xF8avhnpviv4k3vxX-FfjjU10KWbXLZFv9Ku3IWJxKDllJZWOSQVSQbQdrH7zr87_j58TtA_bu-OPwe-HnwouJPFOheGfEEfiTxP4hgtpFsrKGI_LEJGUbndfNAxwSyYJ-bb-iFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRTJH8tS3Yc0AJNMsCFnYKo9a8t-IfxisNAtZY1mUMBjrXNfGb4vp4dt54km2sOAK-Efip8TNR1y5kMMzMMknaa8nE4yMPcW597k3DtTE2rVV7p3Hxr_aAmupGS2ucHJwQa8p8I_FyfxJefYLyYls4Uk9a8Y8Ranc3EjGV2Yk881X8P6gNN1K3nzjDjNeVGUr80mfodahQcfZQjax9gQ_szw_EJPt0dtul-8xA61vWP7FEa27Zs2AZewr0f8AZV-Mml_2fBb3MkbEqFO7Ga-mJ_iZoEGxIpY33dRxXswpU6kbs_NcTj8ZhKzhHZH5ifEj9jbUbPzDaxyMvUAivnXUP2afEWna2cWTsvc4r91IdN0Txda-akaOG9K5vUPgXoV9I7eSoDe1OOF5fhehnVzz29vbQ1R-It98MtUspFgewlY9iFrm9Z-FOrW-ZV02QHqeK_Ybx_8ABXRNN_1VvH8p4bArxLxl8PbD7NIqou76Ulh3HW5U84p1vdcD8w18L6s9wkKQOr5xhhX1B8BfhzPo9uLuUlpWIzkV1N14Fs11RtkQ3bueOK9e8N6PDp2lARoM7M9OlaUo66nJmFVxpx5LpPc5vxhqhj0-SNBgooFeBeJpYtYlMVzFuZHzG4yGTkd_wr2HxhcNbyPuwyMeTWR4R8D2vii6luJGysZ3lV64zjIqsTOFOm3U2ObJcPisVjI08I7T7-R5D4w8YXlvKZ54pLgIoQSscnAGOfSuL0XWH121urqeJ1h37Q8fzDOehqT9obwp4sTxNq8-js1xoMMhKwWr_MqjuQOTVv4LeJJJfANpYLbWsaxtI08ir-8lfccbz1zivElCCpe0p63f3H6tRxGJnj_qWLunFN3tpJqyuvL-rFXw5a6p4o8U7Whm0fQbNfMuriRQryKOiIPVuldDrN3o2gzLq8Gqy6bcwFSlkcss2TwVPY-oPaqnjLxZJpSrHFGu2Q42oeCew-vNZ2tfB2XWvIu9Z1KdLh1DiztWwIQR-rVlpKzn7qO1qpTU6eGXtaid23ol2t_l16ntq_Eizvrawm0uNr25twJLqNflLDvj1rS8U_Gfw9Yx2kUFo4vLmMON6ELn3968N8P-A38L3sUq6rdSpGN0bMuGU9uO9ektMmuRW2navb293LJA0ltfwrsLsP4SP7wrso4zkmoyleJ81mnDyxOFlXo0-Wte7V73v5_l37hrV3e-NtB1G6kae1sIoiHjIO4H2rmx4n0ex8EHSbWxvL95EXy7iRSfmz3zXOal478X-AdQtruKP7bo0m6KW3eMAhR1J9TinCzvfFupC50aW-k0u7h3yW8ahTCevA9K99O6uj8mlFwk4yVmjfOhXHhS4snm1SC1urpBLbOyblL4-4fer_hPxRqnjHxlaSaqy6Zc2ztDNA52x3SAcbaXwXJqXiLS7fRoLa1nS13FJLlw08ZB6tn8aoa_a2-oeLoBLq6tcWeZLUQoChyMcn2NMk4n4oaw2v8Ajad20abSXhJiUMxwyg9RXP3mi2k2sacxje3kU79wXAb3rpde0zVfFC-bNcrDqCSlHmUZUgelcteN4g0S4E1_E13pcGR56D5j9BUlHe6Fd2eoajLbxyK0wX7o6k9BUPh_w6_ge48QT67FNe2V4QsUSpvO09a5jwPC8l5ZeLLKPZam4aK5aRuI8dMj3rv77xfr-mw-c6295aX8x-z3UakgAfwe1ZVJOEHKKud-BoU8ViYUas-SL6_pbzK2g6h4c8C3i6HYC6jl8REBbe4yBCpOcgdjXp2q6amnXdrpumDyYbC18ppIurDvk9zWfeeFbjxjcac1zaxQ63YQefaSd-RwCf8AGsvS_E-qaHdSwarYSW96pO7IyJOeoz1FfM4nFSxKVlax-45LkFPI6lSVSXMp2SdrWS3T82_wRu6Fc2d5I2l3l1cXlj9-aKSXMQxggkDngjgV01946abxMlppWqWyRSQR3F3f3NnudlD4EbbhkArkDGeRVHwXcpqfiC4n0nTgjzRM9z9qjKQR_Lyztj5V9x61Dr3xE8Ja2bqw1W2_ttLK0iit7WwDtd2sysd2JU5KE8gk85r0ssc5Rk5eR8RxtToU61GNHlTtJuyXfS_XudxoXxc0nxR4u86-a1u9Ouv-JZo9hJgO1yeZJmP8IAC8e9db_wAIvd30Ntf-IZrKz1rS7RpJtLmkD2dzub5ZMnnhea8ls9B8RazrVuNU0O20XR7ZQ6eRCkl2WcEK5C_dzkZPtU_xK8K3OseGY9YuLXUb0aAY9L1a5tZjGlxaY3BEXPzH1YeuK9mx-anH_GLwz4bj1WTxFP4rkvxHMbltDhkzCTjJUNnv6V5Bour6t4i8bWN1aw3EultMV_stZy_nBukffgDg17N8efhfB8QPhvYW_wAMNNint42W-vLUELcRLsGcE8sQO1cV4Sjs9J8I-Ftc8BW9zpXifS7g293p0kTTS3_IJk2n_Vhec46igLnvXgHT9N8BxReF_s1vFLLavc6bLZp5rMGbMkTnrgDjmsn4g-DLrxFFJdXvhq6FrcaY6R6RDtjhVCSVl453GuzuPhz4ki8I6Bpz6nHaarcpc3L6ykKQzRMzDdF5ZOW-U8H3rzez8ceIdNj-yaddW0sMl82kC61GXzrmNVBZpSq8BQBwKYXPjuLwTrsZtZ5rKY6bcXhtIJSMkOGwFPvyK-k_AvgnUPg7dprF5bWa2dwggN1eThfsjN_EF_i-ldj8T_GOn-CfFnhLw7olkniPWLgf25PDDBgFypP3ewIXPFeK6_8AFqPXtFa-8VWbX-v3WqPdWejIW_d9gpWvNxGEdZpRdl1PtMmz6nlsJSq03Korcrv-f_AO-1Lw_wDE_wATan_al7LLq_hhmCJImFSJST8yoB93ArofDPjubz7WMXLeGtAtZjFK8337th1256LXS-C_HXxCuvBNlcap4X_s60uckQ427IR7VwHx8-KllpWm6LDceGg2l3Dbo7p02hmB5Ap08HTpy5t7E4ziXF4ug8P8Kk7uzeq7a9D6D1Cx8StqFncaNcRyaLcW6T25R-JAeoP0NZT6lFa6xeyXujRN4siIcJE4Vtp43H61L4F-J7ar8LtEstF015Yp7dzHc8bIGUZKZPf0rkNN8UaH4q8RLJPoWrS6wtubdr2UND5rA8DPpXonx1zO1jwgZ7iaSQyXpWYTmzVyJVJP3Se4qDxNqB1zXLG1uVSyhs4DI9mz4MgA4Feh-LPDqaH4ak1fU5W0u5nUxlZnwY8r8u1q8ijkDaLZwjT_ALdfxR5e9nbJZSeCWpklnWfD0Hic6dEkY0i1jXzkcuA49Rn0rIkuD4Okb7FZS6jDKhAkB3rWx4q0-ayhglu0WaK6hEJaFsiHNHiHW7XwfpeiaVZMpspj5UkzLltx9KAOW03XItalia3QQPZ_vZ4V4Apmn_EC91a5v2nkMO47bdJDgfWsfxhpbeGb7zrKZohdNiXcuPNHoKz7jVrW-kZZ7VraO2T5JPU0Aen-Gmup9QT7RI2NvzbG713Xi34m3PgODTrayMc7yKZJPMbO1c8fia8K-G3iab7VMYTJcIx4aUHpW54y1WHUNXt9OggkN795o9pJdm9PavJx2JdO0Kb16n33C-TxxUp4jFQvBL3b7Nt_5Ho4-Ovihrd72GGC6sCdj28YIlj9zzg_hXmPjbWvEKwtfXOpTXC6hLuibcQsa_3COmavfZ38PaaWvESPPVXkAI_AGsvWPFh8QeHm0e1tY5IZGDNIxy0WOpHvXgutUqP3ndH63DAYPBwapQUJW0stf6_I7_wD4417WvBtzotvqATUFi3W084LB17qCT1FeN-KPDt_oviRROJF1PYs1zJJ_FnPzV1Gm2rSGK2tRI7xqo3DJwfUY6VB-0XNJp_hnw1qzXrWF4W-w3pZCzzxjlWUH-7gg_UU4TnKapt6GOIw-HoUJYpU7SVrtWX9ep6H8N9Yn8YG3ju7hZZ9IjHkyqvLKDllP0z-lfVmj6DDqfgcIIgDIN75HJPrXyh8CUs9P0-2v9MvEvCU56ZJPBzX2B4J1walCYFCgKmNo7iunL4qWIb7Hj8X150smpx_ne6fkfEPxgtV-H_i6TUYneGIHa_-NcH41-Ki6xoX2SKfz3lHQGvp_wDak-F8uuafeNFHsLjjcK-HpvDbaLdvaygeZHwfevcxFTlVj8pybCutPn5tuhXt9PaTEj_NmuitP9HtxlSBS6TpjXDLx8tdPe6GBpxA5AFeHKabsz9Tw-FkoucEcTdeJFt5AEbvit7R2XWEUyDJPpXlPiaCa11QqGJQNxXbeGdcSzt42LY4radK0E4nm4TGyliJQq7I9Kt_CcUxUrwfau28O-GYreIBgc5yK8y0Xxsl1MkKNk5xXr_hu3kuY0csxGK8qtzxXvH3-W_Vq0r00e9fs-Xn2HXI41GFXHIr7-8PXButMhZvQfyr88PhTqcWh6hC2cMzAHP1r7y8BeJrbVtLijV1LgD-VexlU1ytNn5tx7h5e2jOMNEdjRSClr6E_IAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqeraNp-vWbWep2NtqNoxBa3u4VljJHQlWBFXKKAMrw74T0TwjZm00LRtP0W1JBMGnWqW6HAwPlQAdOKuahptpq1nLaX1rDe2ko2yQXEYkjcehUjBFWaKAMvw_4X0bwnZm00PSLHRrQtuMGn2yQRk-u1ABmotU8GeH9c1K31HUtC03UNQtseRd3VnHLLFjONrsCV6noe5rZooAq2-l2Vne3d5BZ28F3d7TcXEcSrJNtGF3sBlsDgZ6CmaXoun6HFLFp1hbWEc0rTSJawrGHkbG5yFAyxwMnrxV2igCnBo2n2upXOow2NtFqF0qrPdxwqssoUYUM4GWAHTJ4q5RRQBjN4M8Pv4iXX20LTW11V2rqhs4zdAYAwJcbsYAHXoKu6to2n69ZPZ6nY22o2j8tb3cKyxn6qwIq5RQBn6H4e0rwzYrZaPplnpNmv3bext0hjH0VQBWhRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVT1W4S1sZndtg29auVwHxhvriz8OStBnO0nipk7Js2ow9pUUO58O_tVeLI21CZIZWBVjnB96-bv7egaN2cgnGOas_H7xtdy-KLqCdWwGPzV5DJrrLyDnn1r5WtD2k-ZH71lmKeDw6pM1PEmoRNISqgDNc_LqsagBSFqG-vmulLE1xeuak0MwAb61tTpc2h5-Ox3s25nq3g34x33g66BjkZVB4wa9Cj_as1JbiNkmZx0PPrXzdY2sl5bbjnLCruj6LLb3gLszA8810_Ctzxda01JwumfqF-zb-04LhYVu7j73BUmvtHR_HGm61pguIbhclckV-HfhvxLd-FZknt5Cu3kjNfTPwZ_aSnnjME1w2F6rn0HStaGKa0kcGZ5HGX7ykfVfxk8fQWczJ5qDccLubGa8A8XeOre10yeeWVVRFzndyW9K8n-O2qXXiDWk1KfU2azlH7m1VyGjx1yB615vr3jb-1ltNPYeXDbxj5VJJc-prlrY2U7wgvme5lvC9Ch7PEYiV9nbv5E-sfEKK21Ke5lu5G3McIDwn5V23wo_aEsvE0b6dcnybtXMSNIcCTHpXjt5pmnKLi4mBctkndkAVx3geGPU_iBZtbH7PbWzlxz941nhZNPmTO3PKca1JUpwVtbJb-X_AAx9SeOphccr0I-6PWubt9S1rwfpc1xCpjEilVY-pHA_MVeu7iee9toR8wcgbcZJJ7CsH45eMpL6yg8N2EbCWyMc0hjXnf1Az7DNdmOrJpUkr3PmuFMvlGdTHyk48mi832PM_Gmp6msztH5sNwqfJ5eepHOfWud-H98P7JnjM0X21pt1yI1ABc9Cfwx0r2Dw_HplxewPJdiW2ugGlaRf9UWXO38Ca-Xrp72w-K9yNPysf2sx7F-68YJGT9QK4MOlVUobWPr82qSwNWjibuXM3G3a9tfyPT_iDp7SWs0seGmRFdQPUEE4rofCutC-0Vb-SV4nmG7liTnHIP41Y1HwvNe6KupQf6Qkf-tjH3gvsO9c94cL6Ot1NfQM1hv3eTkIR9Caw0lC3VHoezlQxXPaykv-GZ163H9oRxE4QjOff6VzviDxMPDF1Z3jyNK-WMK5yi8dfrT9W-K9nDpr2mnaLBLAw-Wa6c7lPsBivPb3x4uoWd1pt5ZJdtNgQGIbWibPb2q6VGU2rrQyx2Z0KMG41Pe3vZ2_pnZ6f4m1fxt4djsLjR7i7NzcFlu1TARM9Sa6bw_4N1Lw3dSXMeutAiuFjuImDL5Y-8jL-ddd4ZjefwVp39ky20SrEBMZvlZfXj0rPivPDGl-IIdNex8-XUVwJElON56kAdBX1MUqcVFH4JWqzxFWVWereouqWunWmsXGr-FbkXN_qMQtJowNu0HguK4zxhp914d08TFE-y2ibBNGckydwSK9VuPDWkWN_Z24g-x3cCMzeQSQYwOefWvHYdYso9Q8Q6bBBdXli-6eOO43FZEz8xU-oqrmJP4Ht7vxx4P1VJtSitp2JeOeLGUA6jFHglrS5mXRdWvY7uSxk2hlf5plb-LFdHdeAdOh8B6N_Z2j3FtZzyhprnzCj7D1z3xXQ-Ivhz4X0_QLLVLOwWGWAARSOxR2UdSfY1wVsZRotJu78tT63LeGcxzKMqkI8kUr3lpf07-u3mcX8MvAVvp3gTxLeyrJfW41d4Xs2bEWxTww9fwqx49uDpPhGK6tbiK2iidpxaouFVRwcDsRx1616d4E0nSdF-FKhH36Q11NcDzDl5JGP3ST1xXkfxkksV-Gush3jjvgytGoblkzyv8AKvClXlXxGjdr2P1ajldDK8n1hFT5G5d-a19_yPT9H8RmO4XUysjxzxoqzFMAoFHI_wDrVa0_xdot1DPp-qw_bbMvuWaQFXX_AHW64r5N-GnxC-JM0cdjoUlxqunWaBWtZIleONDwF3Ece3Neq6T4on1i4k0-605rG-hz9oiu_wB28HqSO4rOtg3Sk7s68t4jp5hTjyxkm_5lo315Xs_zPafDt5qek63N_YOpR6jplyPJa0nOZUVhgHHR1HcVU8L3GteDfETXeieFre01Yzrf6vDYkNDdW68KUHVckcrXlkesCx1CNF1KGaNW-byJRv49PSvUJvHnhvSdLvNXF_qltd6v5UTraoZZkZVAyTnCjPNelgK0ov2Mtuh8Rxdl9GtD-0aStO6Ulvdd_lYz_i74htdH1yyg0vWNS0fTPFd-8t7dXCsLy0ByTCueCuCcEV6B8FfjNb-KpJLX91YeEdC_cp9sBka6aMZkdz0PGPxNZWoa1pNv4Vj8GXGsW3j_AMSbheWcWowiGZI5ODsJPVQTXG-EPAUHhG_vvA2pQXUWlafCbq7ug3lgrJkkFv8AOcCvfuflGx7PpFpb65b6_wCMNK0i60wao5trKbzMRp1KysM8ZHJ_CvE7mbxGug65odp_ZmufFGxmjuYJrKPExtuQU4-UkfKTx0NeheC_gfFpvii78P6v4p1bXvDk2kNquk2Vk7RFIyA2yU5yX4P4CuF0H4mW2q_E3U_FmheEjaaJpCR2N3qEO5Lm4ijBYoin7zE4BPUgigD2Gz0dtc0jR_CvxC1-Wx8TWcEcuoapGyrcWsszD91yeMgAYx0pdB8A6d8O_CPiew0-C11H7RbOluu5W3nzctcGY9SOMgGsLVv7C-MXjrwpr3i3Rrzwjc6yskkupTQt9nmIPyGcg_fVcD15pZLPT7fxxB8OL3TNW0u0jl8_T7S1y8NxHydzSn7sXfrmmIp-JDr3hfxB8M57XStLtBrMTWdx4guFX9zCh_eJkng4biuY8Ly-CvhfYeLWh0m31rWNLllvoNU1L52kyf3cafXtiu31nQbXwv4Hv_C3iyXRbizuHkl0Kae7N3cJeucfu0HO0cA9uK8aXRdD0NW8U-MPGUV3qei3AtPsOlWbGFnVcKsgIwTk4oGbN98dPH3xQ0eK_aKx0rT7qGZIVkk2mPyxkhl7Z6V53qXiLVPil4P_ALT1iCG8j0yIQWmkwn5mfP8ArAvUiq-n-PNc1u1jhbSbePSL4S6e8jQfNDcSn5Rx0OMVnW2jN8IdW8IarJfSW-uWt7Ja3VqF81dgbgkeuKkD1D4Z-Kv7U8I-FbOLRLi00jTZ9t7KztEv2gtyOvPHavYPGPxDsfFPg2LWf-EYuo7HSbgwLgFJCN2FbaOSM815VqHxQ1zxN49v_BvhDRoZ7W8xqVqJ4hFuOAS4B685r0jUNQM3ijw4t1qovNdt7ZptStoUC2q8DsP4sCqA3NW3_EbwPe3-oXdvJY29shWxkUl9ynjA9aoaDpurS-FJjDo9rHdS_NbwykDemO_-FWfDt9pfxkvdWtNMlPh0XMfkxP5TKzMp4ZexHFYOoSNeXFt4Oi1Sax1Np9q3DD5pNv3gvpmgRF4J1Q-ONM1DTLa0t4NZtmbNtIcq-w84-tZfibQr7SdP8zV7GO5hl-WLy_8Alg9e56P-zTd6H4b1Txdp8v2S6toNzRhS0lwucEqPU1j-NPB2naz4Rt7G4ivJGjAmjkiJDNnqG96BHjS-CZ9Q0W3fXrZLm0jAkjuMjOfSvLfito82satb6VpVvJZpFteZhxuU9a9o8dx6loOk2eh2VncLPOPNijlycqK4nVNF1LWIElmuk03VAVSWOTG7yx1FA1vqedap40fSWbTtEsvNubePDOowoPuai-GPj66tZdZ1rxEs0oH-jF4wAY93dT7UnxC8aaT4fnewsRG9xIcPJGM7j71mtNLqnhe10g-Tp6sxlnmlYAvnoBXzFWPNfmW736n7dgazpqm6NT4I35V8N3sv-HK3xA-JVpa291b2tkt8o5guN5EifWt74PxjUvDenCC0nkF1ITcXjPndKeqgdgK831jwnJoWl77uIu08mxGPK4Hf8awvD-n6ha6qp06-u7WKNt5jgmZR-QNaqjTlScYu3mcf9o4qjj41q0Oa6tyqytd37dvwPo34ifHi-8E69Jo_gXRIpLxAkU19dDzED45RQDyc968z1gaz8V_F9lP4rurrzQhJjRgY8-igDC1n-HxeX-qPHYwvf3xyoKjO0nqc17l8O_gzrlrG15qMa-cy8-ZIAF-prmlKGGirWT_E9ylTxGc1XKo5Sp3vy_ZSXTpqdf8As_8Ah3TvDfn6UoMEc5Bj3vljjt-NfW3w_sba11DcmR2x2r5w0nRbXQDDdNLDdXsLBlhhO7LDpk1618I_F17qMjpeQtEVkwGxwR6fWll1aKrtS1bL4vyutUyyPs2lCnq0ex_ErwrB4g0EKU-YjPSvgrx78D7r_hLLm4WBngLcEV-jcN1FdWkazHeNvauY1jwhZXCSSrAhYnIyK9_FUpVI2ifkmR46lg696yuj4Ij-HsekxAyxMhHWsDxBYGK3eOM4HcGvon4wWMejQzMVVAGwK-e57g6irSbS8e7acV8vUpzpyXOz9zwmNw-OoN0Y2PKtS-HN1q1w0oP7vORWffeA59Kj4kP0r1tb6HT49sr7dx44rB1zUI7v541LCumNaeiPDqZdh05S6s43wjZLp98ksi9DzxX0n4J1BZrUuq4AXjivDfDtxb3N4FkADbuhr3LSb-y0_S1KbV-XmuTFXla59DkSjST5Xoia-8RyWN7FJCSpB5ANfSXwD-LNxLcRxSSPuBA618kQ30eqaofmB59a-ifgnZw219DIcLlgeaihJ05pLQ6M0pRxmFqOS5j9A9AvzqWmxzE9QK065rwXfW8-kwpGwyAM4NdLX28HeKZ_L-Ih7OrKNrahRRRVnMFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVS91ex02a1hu723tZbqTyreOaVUaZ-u1AT8x9hVuvgT_AIKlaNqXiXxb-zfomj6vN4f1TVvGH9m2-q24zJZvOYIhMvIOV37hgg8cEUAfcWkeMvD_AIg1O_03S9c03UtR09tl5aWd3HLLbNnGJEUkoc9iBUWtePfDPhzUYNP1bxFpOl39xxDa3t9FDLJxn5VZgTwD0r5z1T4G_Df9g_4H_EH4gfDjw4LPxPpvhqZG1G8up7h7yRF3RtMrPsJMu1mKqvcDA4r42-Bmufs06p8H7W6-KvgPxn8QviB4iha813xLd6De3c0s0mT-4uFPyqq7VDIRnbnvQB-uSsGUEHIPIIrB1j4geF_Duq2-mar4k0jTNSuCBDZ3l_FDNLnptRmBP4Cvgr9k_wCNnjD4X_sI_GHVLxNYkTwLcahD4TvPEdpJHLJa-UptA6vgsFd-nQAhRgAV0H7KP7B3wr-J37OXh7xb8S9Dk8deNPGlkusanr2qX07XRM43oEcOCpVCvPUnJJxgAA-9KwbHx94Y1TW5dGs_Eek3erxf6zT4L6J7hOvWMNuHQ9uxr4t_b-8RXH7NP7K_w_8Ahn4Y17XLWx1jVLXw3PrHmtcammmopaUIyBS0hARMADKkrjmvn340f8MzXHwXutO-Fvw08b-FviDpMKXHh_XrTw9fQXa3cZBUyT5y27BBLZxuyMEAgA_Rb9p_S_HWsfDIQfD34haX8M9dF_Az63q0UbwmAE7oh5isAzEqRxztK8Bia9Mt9ZsRqK6Q-pWsusJAJntVlUTFOAZPLzuC579OetfnZ-354q13xt_wTH8B694ntprTxFfy6PPqMdxCYpPtBhfzGKHldzZbHvXdftvR_wDCh_2nvgX-0BB_o-lLff8ACJeJJlGF-yzhzG7-u1XuGye8cYz0oA-3NW1rT9BtftWp31tp1tuCeddzLEm49BuYgZPpRq2taf4fsZL3VL6202yj-_cXcyxRr9WYgCviz9tCH_hfP7U_wI-BUX7_AEmC7bxn4jh6r9mg3LCj-gfbOnP_AD1SvG_jN8XvAfxE_bn8c6Z8ZdK8QeLPAvgS2t7DQvDOk6fcXlobx0DTXVxHGcFss6gtwRt67aAP0y0HxLpHirT1vtE1Wy1ixb7tzYXCTxnjPDISOhrQkkSGNpJGVEUFmZjgADqSa_MP4NeKPCnh_wDbq8CXfwG8JeK_DHgjxNZ3Fh4s0a60a5tLASJG7wXCo_yoQQvIwAFOB87Z_TuaGO4hkiljWWKRSrxuAVZSMEEHqKAK2k6xYa9Ype6ZfW2o2chIS4tJVljbBwcMpIOCCKSPW9Om1aXS0v7V9TijE0lksymZEOAHKZ3BeRzjHIr4i_YCnPwH-L3xx_Z71KbyLPw9qR8SaD5zddNnC5OT2VTbE9t0j-9cJ8CfH95F4P8A2pv2vfJWW-1N7qx8LG6UkCztVCQEjurOLdWHrA3SgD9Bte-IHhfwteQ2mteJNI0i6mOIoL--igdzjOFVmBPAPT0rdjkSaNZI2V0YBlZTkEHoQa-E_wBk_wDYY-GXxM-Avh_x18UtFf4h-OfGtmutalres3kzzfvxvjRCHG3ahUZHJOecYAufsA3mo_C340fHT4Bvqt5q_hjwbf2954ea-laWS1tZ1JMG48bVUxcDA3eYQPmNAH2rpWtafrsMk2m39rqEMcjQvJazLKquOqkqTgjIyOvNFvrenXmpXWnQX9rNqFqFNxaRzK0sIYZUugOVyDkZHNfG_wDwSj_5If8AED_soGq_-i7aqn7O_wDyk2_aa_7Bmk_-k9vQB9jah428PaTaajdX2vaZZWumsq301xeRxpaseglYthCcjG7FaGmapZa1p8F_p13Bf2NwgkhubWVZIpFPRlZSQR7ivzL-C37Nfh_9pL9tf9pODxvPdaj4N8O-Iorp_DMc7w299eTeekU0xRgxESRS4XPWTrjcG_R34f8Aw_0D4W-DdL8KeF9PGlaBpkZitLNZXkESFixG52Zjyx6k9aAOhooooAKKKKACuY-IdkL7w3cxlQxKkV09U9Ws1v7GWE9WXipkrqxrSlyTUux-MX7WGkvo-v3LFepY5_GvnGxvmncCvuD9t7wDNb3V1cFS23ceK-GY7d7abcoOR1WvElHlbR-p0qzrQhOL0NW8hZYdynBrg9SjkuL5FPTPNe4eCvh_e-LoQY4WIPA4qz4h_Zv1y2mWWOAkZyODTpXj0IxyjVSSkcf4Z09BZoG7DpVu6kit5OK9f-H_AOzzq15CqzwsWIx0Nanib9lfVYFZ0hk6cYBrGVKcpNs74Y7DwpRjF6nhEUtxq0_k26kluOOgr03wL4eu9HhluvLLQwjfK39K3PB3wlXwndK2sHyLZVLySN39qw_iR8RrOSJLDR3a2tA-wCMHMjVwVJS5_ZxPqsJQpKgsXiJXvsia81-HWJJLm4kyRwFcY4rEvNIg1BTLE2SRw0Zwwrz2_wDEHifS9WjW4sGn09vvuF-ZR612Wk6hZ6lJE1rexQluscj7SKJUpQtJFUsdTxUnTlGzXR6fNd0ZfijSvE50G6-w3QvBEu57dwA5X2NUfhr4Nlmji1LUJZLO4DblUdvY1199MEv1je5jCqMloZck_Ws-TxRb6ekqGYOp5CdKpSlyciW5hPD0I4hV6knaPRvS_fudJa-MC8xIujFLHlRN3yOOKxNZu7zTo59RknM0sjf60LnPvmvOp_EOpLfbXsWSJmyrY4xXoPg_xpbxxTWtwIXaRdvlzqCv4VdSMrKVjmwNWi3KjGTjdt-SYxviFrt9pJ03TIISswbe_kqWXjls44rH0zwLpzRW2oyTs1-WG4ZwVY9veta-8XaRo9xHBciG3L5XKDAwfpVuHUPDVtdQkXqB2bcBn156V24SnTkmmrXPmeIMZi8PKM4TU1G3y-XQ9A03UpNF0l7Wwmsb0qgbbOmHTjoOa8s8Wabca8v2-7d44I2zLEqjYOfT6V3PibT9M1ezTUNKuDDNbrlgD96ovDl9bt4fuI7tVuYptysnU811U8BTpyctzwcdxZjcbSjSSUUu19fvOZuPg_ba7pNpqekaikto6fvA4wUPtXO6l8L5vCuvaRPpUS30dxwzTfwt3Ne6aL4Zjh8DmG1fyYN26Ne-PStrS9FsvEGhtAxEckGN4xg474NdtOlGnsfNYvMK2Nt7S2nZWN3w34e8MroenapqG03dmwQ28PEb-u71r0zwL8FdK8UXh8VRaZarbyMUDKACgx_DXN-H_A8XiHS9PsdKs2Gjl_3qy_fkIHPPpX0TZQ6HoOj28FsfLt7aEIltEThDjnPqc14ec5hPA0V7Nay09DvybAxxlVueqjbTc-BP2obbVfhlqFjFpU11CiTtK88i7kaMnlC1eLa_8SIo44kEv2e8JWSxMAyqj-NXPoa_Q749Q-E9e-Eer3GsRD7TajiGUbXkycKR-fT2r4D0_wAF31tr2lx-I9FbQ9CtpGQytbFkmjbpk9sipyTG1MZRtUWsdL9_-CdvEOAo4SsqlL3XK949rW1Xk-h2nh74iNdeFFNwZvOUrFHabt6gk53L7VzXi_xd4g1aznkkgka2QYHBwo7cV2fgX4c-HIU17U9N1M39pE2-GOA72hC8KgGffNbXh3Q_Eeq-HBqOha7p93pbysHa6ttsiEHBQoR96nWws41nKEL31Pt8tz7DV8uhRxGI5HBcrXe2z13-RQ1xrfwzZ6FZSeZc2dlYKy25b5TcPhju9xmvAPFXiBvi34si0SSK20aytyWuJ4yT8oPP417X4_kNrby6et-J9UeMybriEpweC6nGGx7V47pvgZrXUre9tDGsUgaGYseZGY8Y989ayox9i26itLoejmVf-0Iwp4RqdJtc1rarTS-vz2stD03wlp1n4d0-38MeGmEllG_2q5upwA9y5-6CPQdhXZeLNNGsaW1te6WBeFAI9QiXDlR_C7dSK5zQdLsdF0uTWLyTbMiGOGOM9Qv8TVj6P8RNR8ZXMOdUNvp7FtiKoG4KcDn3rjkpTk5rpuz6OjKhhqUcPNW5torZJeu34nT-GPhzoMGn3Ul_o6WdrNE0ZvkGWjbGRKcnqD29K8g1DRZvG2k38Gn62bW8XD2ds7MEvCp2mIHoGwNwHfpXoHjn4e3uvWhkTVLxZ4wNsPmMYZRnOGUHAPviuR8C-ALbxJPe6fr7X0UVhEL8JaHaxZGycNjHQivQwVpVFLmu_wAj5HiZulhZ0lT5I23VtdV2tbtbXfyPQ_gf8PZWsIJPGGgt4Y13yfs-m-IdQkYyuxBwCM44AwK1_ix8Y9cXxRZ2WtWt0bGNFivNtsSt1s4GXA56VBN4m8NfEb4e6TPrttrGhWWlXBFksF4Ga6iBx82c4r6A8KeKvCvi660nRdLdzerAJZ7G-VWCqRhRk_lX0Z-KHB-A_jULP7L8RtQdrXTxci3jQISREPlC4AzyM_nXQ_F3xhZfDzUNO1-PS2utO8SSNPZyeQsQT-JkI4AIGBnFR-Cby88Za_4ksL_TYPCV5pc729ratEoWUjJDKpGDnnB969A8Qa5b_GSLQNC8T-ArqbRoE22lzfII0Min1B6np700I5TXPi1pvjL4V6Hp-uaHc3eneKLoxaXpukjzLi1uItp84v0BOee2ARXmmpReL_AvivxB4R1W_sdf1XxICbD96y3MJA_1TjP7lFUckHnNd14X8B6z8LfiF45vbnT1SzMPkeHdEa72rbuULPFGGPBLAc56HiuA1PWLjWNasLzX9Mg0TxRDZtd6leZ3yIjttWDd0JO0--KwxFdYeDm1c9rJ8rnm-LjhovlT3fl_mXrD4fyabLbroGg2Fl4qiliMWpteG-jtYkIM20sSA75OAB1Fec_Ev4l3niCbXtEa6Njo_wDaUVnbaX9gVXubkMHFy7Y4GQfY5rsvAmoDVZdUnTKWzkuAnBRs_eUiuZ-ORWTVPAVjpcMMup3F79omurpsSSrHjCn168V5-HzB1qqpSifW5xwjHLcC8fSr3iujW-ttGn-h1Pwa8T-HtD8XXHh3XdBa113V7jztNW7i_dtdoMLKD2FeTeOPh-dC-J0fh7VNYXVfF-p6kbyeIKxjhZm6A9wa9W-KPjzX_wDhbGnQ6jpGh3a6PA99_aFtcCR7NUi3fOF5XBxkV5x4VtdY8YXkHxFu7y6u9bntLmKwmMGIXnTLEg-gXvXsH5we0Q6K3gP4wavqfiPSLfWtRiht9O0iKwmCRW8Zjx50hz8oBJ-tc54b-G8tro_iCwvfFdjdBZ2ur3UNMkM07o5O2IHsBnFeaXniHXfjB8L9DitNKnsri61KPT9R1USEG9fdwqnPIAzXTeIrPQvhXcz6DazXFrcXmoww7IWKzRIAAzSE8epxTEex6TaW2m-A_M0rX7i-t1xHDawoFu4HTnCnuDXiUem63dfEDTNT07T9WNxJcnbM8nn7GY4J2jkfXoK3PEDeKdDsWtNKvtN0eGz82a3munXzbpCOMD-8a9w_YJ0fQvBXh1vF_jXWozfeIJX3zKwKaeoPyo-fuljTJZ9TaT4i1D4eeDLRF0e-8QXVhaLJNDCu52OMnjuBXUa98JdI-NPhmw13T5H0LULiNXY22AjHurDsQa66BtD1Tw3NPoepxW15FA7x32QWUDq5Hda8p-F_xo8NTa3ong3Qtfj17Wbd5p78WYxGgY9_xq9zO9jnPjZ-ztqei-E9Kv8AQIX1vUrNtk3mcuAf4l9q-ZPHnw0ttcmiludOmj1A5jkmjbADdwcV-mtrdamus3EF-sKWUi5gZTzn0r5l_aG1Hwt4X-06DplvNceILyVpZUVf4j3FS0XFn5ifE7wN4S0nxUbASyR3ATLKCSd1cV4m-Eviy6tX1WOJ5dPgjB3s20hB3C19OfEL4OusP_CRWuntLfKd7JcDnNYmoeLLttCFlf243sn7zZwqj0rmlSi3dbnq0cdUglTlrE8f0P4O-MNe8O2szxXCWzbShmOR-tei-Hvg4bPTRPeWctvAD5d1N5fKn2xXSeCvHl54g17TtPkvBDpVvwVFfS3w11yy1K6vrKKBZoidrFlyDXz-Np1MPQlVqSSSP0zK84wVfEQo4ei5O2rk-i7HwrdfFK1-FWrXOmeFvC0DOW_5CF-7PIfoMCoW8YeNfiRcFrvUrhLFf-WVqTFGPwHJr6W_a4-E9lqnhK41TT9LjTVLF1laSKMBvLB-ccexz-FfPEmoJY6dZaRo9wPtU4Ul4xyFPf615uFxVPE01UhH3tnc-n5ayqONSo_ZbqK036JLfzPT_gvNN4b0vUWmdpl2A5k-Zhg84zXsHgbx499coT-6VTxnivNfCegvoegtcXcix232dldpOrsRkYrY8AapZXUTFT8ytwCK9jLXGUpNo-a41hWoUsPCDaTWq9D6y8LeIm1eKKONsgcE1vazqDQQyDzFHHrXztb_ABS0zwfatLPcrbRL0yeTXH3f7UEGta4bZdy6Yw2efnnd6161TEU6e7Pz7B5PisV70I6GR-0h4yb-1f7PYcIm8FT94knFeaeHNLvI0tJJ1MUW_eeOorU-JXiCy8SeKluBMrpb26lj_eYE15d4g-JWq2t4u59sXSNPUV8zVUq1R8up-15fOngMJT9qrWWy79bntfizwLa6np5u7LbLCw3bF-8jV59PoIjt22rwBj8a6L4Z-JLzxHp88GWjmkTAQ96u6L4fbVI9R065ZodRViVDcGuNSlTfK3sfSypUsVFVaUfiPCdU0nUNN1B7q1cqAc7T0q9H4-vGszC77Wxg816tqXhVYvDbQXUY-2RuVEnTI9a-f9Z0C-TWXiiQsm7rXp0pRraPofFYyjWy2V6bdpdD0_4b6m15qWGck5z1r6j8J3F1ZxwvAzZPIr5B8A2t3pGoRSNnGeeK-vfh5dS6pHbBELEYB4rzsTG01yn12SVebDS9otfM-x_gZqV3c2cPnMzHjNe7Kc15F8E9P-y2MZdf4a9exX12DTVJXP554hnGePnyKyFooortPmgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK-S_23PhT4t-IvxT_Zr1Lw3oVzq9j4c8c2uo6tNb7cWdss9uzSvkj5QEY8elfWlFAHK_FT4e2XxY-GvijwZqUrwWOvabPp0s0YBeISoV3qD3XOR7ivjz4L_Ej4-fsr-AdL-F_ij4F6v8QofD4NhpXibwlfRPBeWoyYt6MN0e1fly23gDIzy33bRQB4pZ6P4r_aU_Z98XaB8SvB__AAre88SW13p0WmJqEd_NbW7xhYpndAF8zcS23ttAPevmz4K_Er9pH9mn4b6b8JdS_Z_vvHupaCj2OkeI9I1eKPT7qAMfJMjMvyBQcZYqSqjKqcmvv6igD5R_aS_Z9-JH7Rv7NnhA3s2j6L8Z_Dl9a-I7aOzdvsAvo92YAzbiF2twSSN6Lk7cmqGnftafHiSxi0y5_ZW8SP4tESrJs1i2i0tpehYXLZCrkE4ySBgZPWvr2igD47_4KMfDHx98bv2Q9P0XQ_DEmp-MJNQ0-7vNJ02RZPJYI3nBWJG5VZsZ7jmvYP2wPgr_AMNBfs4-NvBcMKzapdWRuNMDED_TISJYBuP3dzoEJ9HavZKKAPh3_gnn8HfiZD4u8afFf4y6NcaR4yvtP0_w1p0N5tEos7aCNZZMAnHmvHEx6ZZHOORV_wCIfw3-KX7Of7VHiX4yfDbwd_wsvwp42soLfxF4ctbtLa-tbiFQqTw7-HXCjgZJMjggfKw-06KAPn74QfHz4p_FTxvY2mofAvWPAPhARSPe614j1KFZ1cIfLjjtVG9stjLHgDPfFfQNFFAH5s_8FV_DviH4ceNPA_xT8DSLDr_iCwvfAN9AhHmXSXUMgh2rkEsN82G7MsXsK-t_Cv7Mek6T-yLbfBCaX7PZSeHH0e6u7dQSLiWM-dOoPU-c7yAGoPjF-y__AMLn-PPwu8eav4mKeH_Acsl7b-GBY7hdXrHKztP5g27WSEhfLP8AqzyNxx7tQB8EfBP4jftGfsv_AA90_wCFevfAa_8AiNLoKmx0bxH4e1WJLS7twcxCUspMYVSV3MFOFUFQcsfV_wBi39n_AMX_AA91D4hfEz4mC1g-I3xD1BL6902xkEkGmW6bvJtgwzlh5jAkFhhUGSQSfqCigD89vhHp_wAcf2KfGfxL8GaF8G734o-EvEXiC417w9qml6lDaxxtMAPLuGcHyxtjjUlgMMhxuDA11P7Hfwj-L_hf9rb4w-OPinpFvb3PibS7GUX2mgfYfNwh-zRHOW8lAIyx6lCcnOT9wUUAfJf7I_wp8W-BP2nP2ofEGv6Fc6Zo3ibWrC40e8m27L2NDeF2TBPA81OuPvV9aUUUAFFFFABRRRQAU1qdSUAfPf7RXwRTxxYySRRB9wOeOa-MLP8AYvm_tR2W2L7m5496_VGSNZVKuoZT1BqhHodjFNvW3UN14FYSoxk7s9ehmVWhT9mj5d-DP7LsGgrELm1VE47V7NqHwJ0G8AAiQAeqivTFRV6KB-FLVqnFdDjniq03dyOC8P8Awf0XRXB-zRuB7VsX3w-0W-Qq9ogH0rpaMVXKuxj7Sd73Pib9sD4X6Z4d8Hale-WsUEUfmCTHQ-lfmjpfi6K48aWMK2kc_wC8LrEqbjwODjsK_cz4tfD-w8feGbzT9QhS4tpo9jxueor4D8Ufs2-Ffhtqk91pOmrb3ZGBKzbmA7j6V5lbC803Jdj7jL-IZYfDwpS1ad_kfMGpTSTaos9wGhDttk2rlSD3xVfxb4H8I3TQmw82FsZa6ztO4jsK3_FNnNpPiKayE4CXL8M4-UAmvOfFnirUdPhuNNjELJHIRuKc4B7GvDjCanyp2aP1KriMPUw_tqkeaMvK_no-h4141tbvwb4idF1NrmQ_Mksb549DXXeFbg-JIUnnkEccYBkZv4vatt_h1ovjTQZNShLW-pgYCschjWL_AMIVqfgTT7c3T747pcqqrwa9R1YVIKKfvLQ-Ep4HE4XEOs43oy10d7ep7FZQ6V4n01LJtsDquI5mrwzxxpd_4T14wSTBhu3LIp7VNdeIpLNVVXmRgM7VJxWZfwalrC_bbmK4uOPlYqelRQouDbb0OvNMwp4qlGKjaa6rsW9G8QWFxcKdWHnH--wzxXqfg1fD99cNObLzlUfI7JkV5f4T8H32tRyM9sY4s4G4YPWvoTw14Cj0vw_9nlnWJHjLBgeQcZr06dHllznw-NzL2lB4da3er6jFhluJtsKpDBLhFj9RVaHwXqNn4vg8uKUWCjeyoeD7UzwhqXma1FF5Uk6I2PM-nevQdGkfUtSuYI7vLlsHHVB612HzlzVuvCd94o0byNElaG4XrGT9zA6mu4-Gv7N-vx6C9zdaws93Lhnj6YTuBVD4L-GTovjy-muNWN7FcwhVjLYAIPNfQ0eqf2bHJcQozxRj_VjvXw-cZticHiVSpaK19tz9GyPJcLjsD7Wa5pttb7f8H1PIPixqni7wlbW-j-ErSQG1tw25FJD564PrXPfBH4330M2r-GPEys16uJ1guCEkXP8Adc9cV663xAtL29SylixcN8-3-4M96-Zf2jdHTxT4qjSW5GgaxJCYrW6TCRz88AsP60sHmEc4n9WxUEk9Vv8AgbZhk9TIaP1vDSkmmk9mvn1Og8TfFi78SfGTTdG1WzntdNtGWeze8iV4bxh0Vseh7V0vinXtTGvxjXLO6t9HlWSV5GtleBwBwhz9w-9eIfA0XeqfEKz8NeJbV_PtF3W0Ny5ZLkryzh-xHbmvV5tb1e08earq3ibTZIvh-U8po7iTK7OmVB_OvrsNhaWEpqlRVkv61PgsZjq2PqutXd3-CXZeRieFfDdl4Ltdav7b7Hptnr8QuLaRfmEcin5VyBitPxN4k0ybT_Cvh2-_0y4ZDcL_AGeDCj3YOSDjsR2NWV1Sbw_4R1C00hEubPzDqFnA-2UzW5GP3SnpjrWD4f0bwxqk1l8WNJvtX1e501_Nm0GKIbBKgwwZexFdZ55sW_wyuteFtrGiR2t_ptjay_b5tUjJMbP1hjI_iB4x1rzzSfh7Z-OLPVr1JLPw9pWnXf2a3YyeaZ3I5UL1VhzXrXxS-MyfD34Z6R4geW4m0bXv9O-0aZCFFnMSQfNTue3Neb_ET4b6_p-lrq_hNjFpGpCHVtXvrhCkdqAm5WUf3jnoOtc9ahCsvfR7GAzXFZa37CWj3T1T_ryZ5_8AEDwpN42je08PXtmdChXyZLsXAVmcdVwehHpXFabp9v4Z0-K2EYleEeWroeOOpr0Xw54uj-LGj67psGkXOiRQxfaFv41AWfnDNtI6tXBfDG8j0y-8QabcRQ32mWsTzPHdHZNGFBO9SfXj868yWCnCPLB3R9rS4nw-IqqriafLN3Ta1SXSy3t31-89B8OeJ7n-y4pwVEq52-YcdK3tAtbf4jSyWL7fD8f7z7Rd28oTzVdQCmD0BIHPSvNrTxNpt54NTUoLadpISXOnQDfNsPO4HuMY57VyGkXmpXXjJ9O8JajJd69qlwkEcNymIxBt3MrlvlGD29qzweElGr7SStY7-IOIaFTA_VaM1U50tV01vfunptv3Ow-I3w7tfB_jbSfD2uf2ro3gq-jSayvLOPzgHXghiT684r0b4f8AhPSfDOr-J4Trkmr-Ktdskj0RoE2G3hXJV2BPJL4HHQA100l1e-F_Buu6R8R7waQnkRQ2cyulx9pd1ILRqM7dnfHtXM_Cn4U3_hGW98djXLXxZrOmabJbWS42RRRsn7s4POeuM-te6fksU5aI6vwT4P8AE-taLp-s6qHfxi9o8lq084VFkj4EbjP3SB19a6LU_Fer6L4d8NSeKPER0fUoJTeXPh20iM5kbtH5mcKePyr568F-IfFMl5q_jfxRNJZXF6yw6PZvLtikkLfMCgPAUfq1dV8RIptS1KS-2PFJI2VKsRlh1NeRisa6cvZ0_vP0bI-GI4yg8Xi27dIrS_q_ltuO8YftDaxrmtap55jYXTq8Ty4Z41AxiM9uPSt5Y7P4qeA0sbKQQ6vbxkgqcG6C8qCT1xk_nXyv4o8D6lp-rS-IU1BpbSGYSiNs_KOuw_yr6d8HTWOiXnhVldUMcK3crKfmG_nafoOK8nErSM-a7Z-hZI3zVcK6Kpwjsu6k7XVvn3J_hrD_AGNprQ3NrNGrt5Uyqu5wR6ewql4-k8IeHbrQ7zxHdfaoJVu9LieI5uIJJFBWTb1G017Nf32l65rUlnDdJpcl2gliuYwNkh4-V_Qn2ryX4s3_AId-F-jlPE3hHTtX1vVtRa5srqNC0e2Nl2An-Fjzkd8ZrTLYxlX529Ti4zrVsPlccNTp3i7Xl_Lre1l379DivBPgPTrr4c_ELRfDNpqN38UWtlVry6J_0m0d1EnB7lT3rrtK8Bv4LTwjb-IbiXT7LwnpFzFqNu021JZ7jIREHc5IBNRfDf4v3PhX4vX9_c6DHav47tlj0-a3lDyWz8BVZOqqxGKl8LeD5vG3xI13xr8SBdaPa6PMsMWg3DkC9ukB2ZB4wSBX1h-BnLaL4G1rxNqlp4MstXtdDTRl86zvGmCJYzMdzhh_GwU9al-Ken-EPBNvpWtakZPGyWz_AGaWc3Pzalef3sA8qKw5PFtqfHUV3qXhK91XWrrUHmbSbQFQJWG1VPsFxWm3h3T7PxNoOjWvh0apNo2pLcSW8UpkWJ3bJSUjgEZ_SgR12uLb-JdFNodHt7XxUbOGVBcxNtiYcqo-gxXqH7H_AOy7pPxO8Q3KeMNVudSfatze6VZytDbBweCQOtcbrWvan4C-IPiHxbrvk6gQ_laRptu4YuxUAADrha4eXVvjD4OutU8WWst7puoX1o0MljpzbFhhc_Lk925piP0a-Kq-AfDkjfD-z1G6tNZ1-IaZGNLkzLa254Zye3Fcv8DP2NPBf7HOv6x4rbxPd39texLCn2s7pGYn5cepNfP37A8EupfEa5u_F9rqGvarKqwf2lPJvSAkZKknv2r7F-NXiixhbStJu7KS_iaTdCYxzAo_iJ9q0XczaPSNc8V6VfeHYX1eWTSIbjBinYYI_wAK-WP2qPF0nhfxnY3MRivbi1s99o8KhmlU_wATV0fxA-LGh6nqmheEVlS8LxBjD5wyq_3ia8j-PmpaHa-INMa6u5Bq00P2Xy1O5TEOmPSk7W0GlqZPgWLUfGVreeINW1SKeLbuezB4Q-4rwH9oI2f9iXFxp05s7s_KBjgj0rT-ImtX3h240weGrprfRt5F7zyX7KasePvD1h4_8P6Wlx_ocDDMx6H65rM0Pk74d-JNSsdZlEkzOUPBVzg19sfsnaf458WasZoJYYdJR90kjKSx9q5y1-DHgqW203-xUS5WE4nMZySa-0f2cfA6eE_Ac0LW5s4EYujKOWFfA51jnUk8NT1P1LKMC8twX1-aXM9td7_1sUPi1faZ4VsoYLmBb2WZNrYGd3y96-WPFeh-Co7m01vT9DhtL62dnkVdw3qRgDHTrzX2J4x0PSPGFuLgMrNbZ-Unmvl74p-DZJpLma1XbEnRVHFezgsrhGjB1VaVtbaX9TxqnEWLw9VwoSvFW3V7NdvmfO3xG-Ml5qUkumqPKgThFVeKx_CvjC_06xO2Zo2_vZqh4it7WHWnimjZCpyC3eqFxcRt-5QYHtVVGqb5KSsj6jCKpi4rE46SnJ6kuqXV94q1Im5vJHi9NxxW9ZS2mnwRwiQMV7GuPuLy4tctBFujHVhWFN4oiMzM7FGHVSay9nKoejHFUcG27as9L1zzLq2a5gcBlH3VPWvGrrxHdzeI1W-Oy3gb7pPUV3HhPXF1SOd3kyi8BSa3rrwLpHiSP7RMirxz6_pTpyjQbjNEYulVzSnGphpWfa-jPQ_hPqGkXmoW13FqiW8UajK16Vr2s-HP7YW9GoKsyj7yHGa-VdJ8DvpupStbPMtnnojGu-f4frrmlwSQySJIrcgua4atKnzX5tD6nAY_GKh7P2K5l5_ij1fw7M_jjxJdCzja5gddpTGR9a7uz_ZfuL24jka3-YruPFdX-xz4TtIbiazlRZLhduW6nFff2n-C9Nt4Y8Qrkgdq7MJhPbJyT0PnuIc_ll1SFGpC8t38z8_tL_ZXeNgxtzkHPSvd_hr8ATp6xExbOhNfTsfh-yi6QL-VXYbeOFcJGqj2FerDAQi7s-BxPFmJqxcaelzE8L-GU0G3Vc5bFdBSUtelGKirI-IqVJ1pOc3dsKKKKoyCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoor5x_bf_ae1H9nH4f6Nb-FNPh1r4i-LNQXR_DumzKWV5mIDSlQRuCl0ULkZaRO2aAPo6ivinTP2IfjRrGjwat4l_an8c2njd0Erpo0hTSYJSCSn2cMglQHHJCZA-6M8dp8UPjv4y_Y_wD2P38T_E-_0vxh8RLORtNtprKNobfU7l5pBbMyhV2nyVEkiqB9xwp6GgD6ior4f8H_ALJPxz-LHhu18U_Ev9ojxr4T8T6lGLwaD4PmNjZ6YX-ZIXVSPMKqQGUgcgjc2Nxj-Avxk-KHwL_aoj_Z5-L_AIiTxxY63Yyaj4U8WyQFLq4Vd7eVMemdsU3XLKygbmV1wAfclFfFn7MfxG8WeCf21Pjb8GPGviTVNetbhl8TeFpNWunmMVo7bngiZyTtVZo1CjAHkSEDrXff8FDPjXqPwQ_Zh1--0C7ns_FetzQ6Fo0loxWdbidvmaMjkOsSyspHIYLQB9K0V8F_tYat4_8AgT8E_wBmjRI_G-vDxE3inSdN13VF1KUz6ixiYzpNJu3SIz5-ViQQBnOK6v8A4KYeOPF_hHwb8LdP8IeK9U8H3HiDxna6VdX-kTGKbyZI5ARuHOASGx0JAzQB9k0V8WeIv2Q_j74J02TWvh5-0v4o1zxHaDzYdJ8XRpcWN7jnymJLBM9N20-ny_eHpf7E_wC1NP8AtQfDvVLjXdHXw5458N37aVr-kIGCxTrnDqGyyq2GG1iSrI4ycAkA-iKKxvGPjLRPh_4Z1DxF4j1KDR9E0-Pzbq-uW2xxJkDJP1IH415t40_bB-C3w71PTtO8RfEjQtMvr-GO4hgkuNzCKRA8buFB8tWUggvtyCKAPYqKyofFWjXHhgeI4dUtJ9Aa0-3LqUMqvA1vs3-aHBwV285HavL9U_bI-CmjR-GZLv4j6LGviVQ-lBZWc3CmQxh8KpKKXVlDPgEqRng0Aey0V558WP2hPhv8DY7dvHnjLSvDL3KNJBBeTfv5lHBZIly7DPGQOtXvhf8AGnwL8atJn1LwN4q0vxPaW7BJ20-cO0LHkCRPvIT23AZoA7WiuP8AiZ8YPBPwb0eLVfG_ijTPDFhM5jhl1G4WPzXAyVRerkDnCg1kfCf9o34ZfHQ3CeA_Guk-JJ7dBJNa2s2LiNDwGaJgHC54yRjPFAHodxcRWsLzTSJDEgy0kjBVUepJ6VBper2OuWSXmm3tvqFo_wBy4tZVljbHXDKSDX54f8FJPjd4B8XfEj4TfCfVfGdtD4aj8TrN46sobl4_It4xCyJOy8gMskhwOhAPBUEfXX7LnhT4QeGvhvLcfBKOxXwbql9JdtJp11NPDJcKqwuR5rMVOIlBAwOM45JIB7BRRRQAUUUUAFFFFABRRSGgBaKZ5gHBbmlBNADqY7iNSzHAp1cn471p9LsXKdQM1lVqKlBzfQ6KFGWIqKnHdkniLxVZ21rKm_LY9a-L_j14iSS_kePhASDW_wCNfiVfLqLIokwx5-lcBHoNx8QtajSUssLNk-9ebgcfHGXUeh9BmmSzyuMZye55kvgOTx5CR9m8xc5EjDlfpXjWveF28L-JrvTtQsN8y4dGYZ-X1r9R_BnwatdL0FXZFRdv92vmD9pn4JnWtUW8sJTDeRoVDY-Vlz0-ta4vC80eeC1PS4fzt0K0aGIl7j79GfG-p3dnp2JWj2jOCsYwDx1Nd38OvAN14802C91FJHjViIYmXjbmtex_Z9vLqZH1S5BiX_lhEM8e5r2rwhbwaM0EDRsIokCBegAAwK5sLg7-9UR62dcRcv7rBz9bHkPiD4X-H7HKy2MCydN20Z-lVrDw3piJ9jFtH5eOOB0rsfipfwTaxEYEyqnLYrlD_pcsclpJzjDDHSvWjThBWSPz6ti69eXPUldmHf8AhoaLcfu4M27nGFWrviBrSPw2wTctzGMhTwTW94HvLnWvFBsWg89Y8cNxV34mWsUOtwO9otvGnysgxhqtHI23qzz2HwreaTb2mq6ZIjxuN8kZ6j1rY0fUra3hk1WCNYrhn2S7u46GtvT1b7HOIIS8AHKj0rm7nw9Y6To9zNG2RcPjynflWzVCNXxNalb2w1HTdU8mJMSNHuwQfatu1_aT1zwlqc82pWjXeh20C42LyxPqa53_AIQlJpba-e3mkhaDy2h8zGfcetc9YyR3-sap4PuJLhLeaIOrSR4K4PADd65a2Go4iPLVimduGxtfCSvRm0etWvxe0bxR4pUWMEen6o8InkguuC6noFNY_jq0XxVotzp2vzQWuq3PzQoWy8Yz8rr6cVueFdNs7BtOfX9Btrh7HaLa6AxJMB_GSOw_pXnPx600-JNcvNZluv7DvHnSJJFBZFjA4Ix2NcuFy3DYOXNSjqejj88x2ZU1Trz0VtErXt3MnSdH8SeAfE1pPYa6mpabbQuYZ5ziSK4K4AJxytaXh74rQ_FLwp4h0X4jx28etWZdY5ISy4hYY80DO1gPat3TZNRN5a6HoUd3rERijgugYlEUYkH3wx52n3rq7O-0iGS38OQeDrO2NuXgV7sri5hj5lVH5OTzwa9Q8EoSaH4Vuo_h2Yre-1nRNDgjtl1XS3MbKDzhwOqMeoNd78XPh_rPjC1s9a-GZh8K6xbvsW1mi2QTxNw_mKPvHHOTzWPp-veBtHuNN-J_h2-_s_TNPWS2udDtzmB3GFxKnbaeelUPFHxa-JWtfFqyt_DnhyK98KaiI2_tCdtkUSkfMQxI6UAafgn4e3GiXupeGdctV1rSbSP7dIbyPMEkzAHYpPVd_auSX9orVvF-nXOmappg0wQX7xNa3CBY51UEDYOhA7V2nx217x98N_Da6hY2Fn4lwQJbOxdmZUPQgfxV5Z8XvCOt-Ofg_onirWrI6Dq2BNbaYeJggPVsfdB96Bo43xx8XNEj8DX09tY6hod6WeKCP7MAJcdSAP4QepNcLoeneEfEus6re22ryTateaQFuIlXKqpA3D68AV7Nayabc_DDU7tLyxh1H7DtitbkB5kXHJweuW9K-edH8P2-k6RoNnrcdrojSTEjVLd2WS5YnO1iOw9qQzrIrTTdS8P2GuRQalo-r6ZA0EumoBErcBU-9_CwXOK534aSJLJ4jTU9GezaXbJJDI_lzRjDKTERySc8e-K1_C19eeOfFWrR6VN_a8av9lkiniaYE9FlP91AKrahY297cSa9O1xNdWd0dIebz8JlFJR0PXzC2AAeAOaZJa1zWtC8dTaJpEupalLa29kXt7y5i8u7VkbDJIemPeu-8QeLtT1mTzrOG0hjmhht5jbps8xUGFL-pqjb_DO20Xwbp3ivxD4nuHm1yBli0poYjMLtV-UOR_CV5IHemaBp9xcWfnRW32WyyAjTkoXOOSAeozXgZjKUZJN6dj9Y4Oo0alGU1D94m1zdbNLYzfFFhbsqxzK0lvjdlW-ZXwMOnp05rtdW1Jde0fS5oEZkeHLSsecjjFcT4vs73y7LTml8r7ZKEWRQCT3OMV1ml6bNqP2LS1u4tK023Tc8si5JPTA9MAZrxZbJtn6XRclUqU1He33_APDdzm_iN4fbUvgn4keyXN3ZSR3M2DhngVvm_LrXl_w1_aUh8ExLY33h6DWLaRFR7tpWWdRj8jiu6-JPxUsZvtPgnwlazXUl3G1vLrF022MqflbYg7dRk_hWd4T-EvhXwgUuLho9c1eZBlGQmG1-i_xE-9ejT9nCi411vqu58jjI4vE5jGrldVRUEozbWl03orrXR62-89q8I-IofF8lpc2SR2sVxGGgWZwoVD9eprrxpWkXXinwcmvwC9W1uZp7XT5T5i3U3lHYcZ6A4ry_UPhJZ-M9WsPEFrf_ANlXem2qpJpRykUqpzuU9Af51Y8NaZqHxC-JEGpW-qyaDb2Fn5ECz4ZEIB3Mp6jNcuFjTjXhO-i_qx7eeVMZXyqvhvZ3k9tVqlq5W6bbEPgZvCC3niPx5fRsfHFnqLC0tABssuvVemAelegald6x40-Edz4vnaPxF4wsLkXEUZT5ZY8_3R1IFUU0nwl4I1rRNAaWxuNZ1R2kvLhWDlwxOCfUn-tdFpvxk8OeEdYvvDmkQCK7XKEMuNjdK-wP5xPMvAK_Fb4m3Oranpum2PhW8Vd32-9RVf0JVT3xV-f4c-LNL0210bwj53m2dy1_rGtK6IuoytyQG68ZNdXaaf4U8CfEC1uPFWo6v4l1nUD8tjDP5cEKuOr84IGar2_hv4c-GbXxHb_2vqutJJMXez-2FIoADnAIP4VQjnNJ8Ez6T46fVILK8tSmmSz215qDfaNlxj5sL7HkVzfgfwb4i8Ratqd_428V3E1tcwyHy1uPnuEPQJHn5TXT-JPixceGfB76zb2CX8Uq_Z4LWFmJihPBJPcgV574N0Sy1zxG15rOqsJtXh-zW6wZH2aM-p9eaznUjTi5zdkjWlRnXmqdNXbPbf2dfjZpn7P2l-JrLT9JmvIFJnSS9laRY3PA-YcdPerPxV_bR1jxFaSWgsYY9RjhLyNYhtkakcAsa821bwH4g-HNvdW6axLbeFYF3GFbbf54HIYt_EK4bw5qcniq38Q6kbk6lptvtKySReWZJOyADqKKdWNWKnB3TCtRnRm6dWNpLdMxrfWNW0HS5deN_LJrV9Pm2kLkmNs8Lz2r0nwf461fxKzz65qNrda-pHltcYVV9hXiusXD69rbXdw0tra2hztPCD6CsjQdejTxC9xq6yT2Ik_cJnaST0NaXMj3Zf7Z0OG6m1PRpbnfctcEhsxOvbb7119x4u8P65a2v2iGb7RJDtW0UcL-VeZTfEy91ySLRNdvl0_SItskTQnLkehre8K69oGn-Lyba_XULR0Cjd_C1K4j2v4B2vh_wpDK96FhZ33CNjn86-k_DnxqtPF0N9oeh7T9nTDyKMgH0r5V03UtO8P3jSOkUhmH3mxha9v_AGabDwx4X0vWNXu7iMS3zbyN9eZUy-nUxKxEtfI9qGZVKeDWFUdne_8AwC_8KtO13VfH2o21-pXR2G1ZM4Ga3fih8N7qzV1sx5lszdeoxVbXvi_4Yh0z7Po-sWkDRyfvSZFGPY89a6218aWeueComstUh1AgfO0bqwH4ivRutrnmunUtzOLt6H56_tBfCXXv7egfS7EyNghtteSaL8P_ABH9okW8tHhdDyrGvu_42_FzQ_h3BHNfRC8vZR8lvHjex_oK-bLn40T6zrwvY9Hjt7UMrNFIcsR_jXjYxqL9zc_SOHKTxEY-3uoLa3c4yHwffW9tKr20khxztU4rx3xn4Nv4buaU2dwnOR-7PIr9bvhj4d8PeOPDNpf28UIV41bbsGV_2T71v6v8C9G8QQuZLSBmAwNsQpYSm3H2iZXEGLpwqLCOG212fjN4Dme2aWOR8c42nqPrXtHh3xb4e0TSv9PkDyN2zmvffjF-wVa_2vf6vo-pNZeeNzwAYVWr4q1j4d6poXja40rUH82G1fG7swoqU4Vm5PRCy_GVsvhCFKKlJ-d7XPpbw74y8I3Wl4hdd7dRXWaPZWN7bF7WUCHP5V5v4Z8O6Lp-hwSCBHmJAIGK9v8Ag_8ADyfxVbX1naIsS5BWR-nPavAnG7tTvc_XMJXlCmp4vlSt0PoP9knwDFpd8b9rgz3FycBRyFA9a-24k8uNR1wK-Z_2ZfhFqnw_jm-2XTXPnHIXstfTQHAFfV4Gm6dJKSsz8B4qxcMZmEp05c0egtLRRXonxoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8G_t0XUel_trfsjXmquq6N_bF3FEXYKq3DSWqgknj7zQ_lX3lXiH7XH7Lej_tXfDEeG72_fQ9asLlb_R9bhj3yWVwoIzjIJRgcMoI6Kc5UUAe318Hf8FdZGs_hX8Kr-7Zf7CtfHdm98rdP9TOQxPYBVkH_Aq19FX9vDw3o8XhuSL4V-Ipo0WBPFd7NciTHI8yRF2bm6HIi-oavV9a_Zd1H4tfst3Hwu-Lni-Txf4gv99zc-JILVImgujM00TQJgALFkIBxuQEYUNgAH0DHIssaujB0YZVlOQR6ivg_wDay26x_wAFGv2XNL06ULq9ql5e3IU5YWw3NyOwKwzj86s-C9B_bc-CujWvgfSoPh58RdE09Psum-JtZnniuEgXiPz0EiM2FwMAMePvt1r0L9mb9k3xR4O-KWufGT4weJ7Xxf8AFbV7drKNdOQjT9JtSwPlW-5QxOABnC4BYfMWZmAPOP8AgoJC_wAEPjh8DP2ibNGjttF1UeHvEEiDJNhPvIJx2VGuhz_E6Vo_HaNf2hf-CgHwh-HULLd-Hfh9YyeNdZCHdGZ2ZRao3YkMsDAd1mbrX0R-1J8F4_2gvgD408CHylvNUsW-wyTHCx3cZEluxPUDzETJHYmvGP8Agn9-y_44-B1n4x8TfFO6tr_x74gezsfOguBceXYWdusUCl8D5jyCB1EaEnPQA5v_AIKjf8gr4D_9lG07_wBBej_gqN_yCvgP_wBlG07_ANBevR_23vgF4r-PVj8LIvCsdnI_h7xjZ6zffa7jytttGGDsvB3EZHFQft6fs-eOfj94R8Bp8P30ca54a8TQa4I9bmeKB1jjkwCUUk_OUyOOCeRQB9QV8If8E-5U1j9qL9rvWtNlVtCuPFEMMTRndHNMk17vdW6d88dd49q6TWPCv7bnxM02XRdT8S_Cz4cafc_ubjVvDMV9NqCRsRuMIlLKGAyAdyHnhgcEe6fs0fs4eF_2XfhjbeDvDBmuVMzXd9qV3jz765YANK-OBwqqFHRVA5OSQDjP-Ch3_JlvxV_7Bi_-j4q5r9kv9lP4VSfsn-DE1HwZpmuXHi_w7ZaprV9q0C3N1dzXNskj5mYblClyECkbMAj5ssel_wCCh3_JlvxV_wCwYv8A6Pir54-A-k_te-Ef2d_BGieBLnwZ4s8Na14asbzRte1yWSG-0JJ7VH8h0yVlWHfiM7X4VcjGEAA39g2-vrH9jX4--DZ7mS90zwlqevaXps8hyBB9l3FB_wADLv8A9tK2P-CXn7NPw71H9lnw7451zwvpvifxJ4gmuZJbvXLSO8NtHb3csEMUPmKfLQCEPxyWY5OAoHtnwL_ZRf4Dfspa98NbPUo9a8S6zaahPqGpuDHHdahcwlC3OSFAEaZPJCZIBOK2v2H_AIQeIfgL-y74K8C-K47eLX9K-2_aUtJhLGPNvZ5kw2OfkkXPvmgD53_YW8EaD8fvix8ePi7460q08S-JB4tn0HT01a3ScadZwKNiRo4IU7GRN2M4j7ZbK_Evwfo37P3_AAUm-CmpeA9Nt9Ah8eaffaZrul6XEsMFwsakrKY1wFO7y2JAGTAD1LZ6S8_Z5-N37N3xq8c-MvgV_wAI54q8IeNrv-09U8I-Ip5Ld7W8JLPJBIDj5maTnIADBSrbFYdL8G_2cfiT4s_aCg-OHx0vtDHiLSdPbTfDnhnw4ZHs9LRwwklaR-WlIklX-IfPnd8qhQDzr4Y-E9I_aM_4KMfGnVfHdhB4gtPh3aWOk6BpOpxLLb2_mKxeYRsMM25JGBOcednspFb9uvwH4f8AgZ8ZP2ffin4G0ez8OeJ28XwaLeLpFukA1C1m4dJEUAMdvmJu64lIJ4XHf_F79m_4q-A_2jtQ-N_wIvtDutT1-yjsfEnhXxI8kdte7FVUmjdTwwCR8ZXBVjlg7LVfRP2e_jF-0F8afBXj348_8I54f8PeCZzqGieDfDk0lx5t6SCs1zK3BKFIyApIO3GFBbcAcv8At0eA_DN1-1h-yzLN4d0maTWvEd5HqjyWMTG_VVtAqzkr-9AHADZwK-4fD_hzSfCelxaZoel2WjabCWMdnp9ukEKZJJwiAAZJJOB1NfP_AO0z8CPFPxU-O37PnivQo7R9J8Fa1dX2rNcT-W6xOINpRcfOf3TcfSvpGgAooooAKKKKACiiigBK53xh4qh8OWLSOwBx61t3t5FYwmSZtqivkf8Aag-LEdvZ3EUEwUqpxhq5sRV9lBvqe3lOBeNxMYNe71F8ZftVW2jXzJ54BU_3q6v4V_tOWfiq7iga4V9xxjNfmF4w8QTarNPLLIRkk_eqH4M-Pb7w342gbzn-zlh1Y8V5FDFTb94_Qc0yPCwjy0lqfufY3SX1tHMhyrjIrJ8T6CNYt2XuRivEPhd-0Zpr-H7aG4lUsuBy1evaR8S9G1SASfakRiM4LCvYbhWhys_NJUa-Dq8yVmjyPxd8Gh5cs_lg4BzxXmWkfZ_CuvIrKFKnqewFfT-v-PtIl024RZ0Jwecivno6LB4u8RBo2BO_Hy9-awwuGo4eT9n1OzHY7F4ymvb7I9y8DeJ4vFdqIo2Hlrxt9a5z4veFrZLdztUMy-ldh4O8E_8ACK2qSInzYzXkvx--IEmlRO7OuF42g816p891PB9aUWN0YkHGTisTUo2jXd_GRzVf_hJJdbmM_lkRg5JxU1xqCXAVWwEA71ibnm2rSJ9rkiZNzPwCaz_B_h-8n8QfY7WF5mmOQOoXnqfauh1yOP7YJFCnaeteh_AnVLHT9YvGuIkedx-73d-K4cbXlh8PKrBXaPSy7DQxeKhRm7J_1b5nO2PgGPwP4vW7uL5YHdNxyQBXg_7SnxUTRNajC3C3als_I2f5V7D8atH8Q-KfFk4ismktGHEinhfyr5T1_wAB6lqnjqGxa1aeKJ8SkjOOa-ayzMK-KrRjUl8j73PMoweAwkp0qdnprf8AI9l-G3jcapoZuIHAQoCyt1qTxD4LutThkmt51SO6IZ1Y549veqHhfwHN4b1xreNNulzx7X_2Dip7jT7u1u4ksr-URWsuSrnO4e1fZn5edDo8l6kMWnvl_JiZYpHbhiBwK8qivNW8RfFTMeqRx_2bbmeW3XHzbTygPfNd5eWM-k6zbRhpp45P38km_wCUKf4SKo6d8N9I1bxdFqekRyabqccwYK_KXKt1HvigDufCfjKXxR4t1O31i3vIbGW0CmRY8LBGRyAe2aq2fgv-0vFtpYXN7FeaLKPOtFnfJCRgnaT3Jrqta1bQbD7RKt0Glih8i7t1bBlfptx2HtXluq-MJ_t8d7bR-QYl2W6KOEHSvHxWP9jP2cFdrc_RMj4VWY4b63iqnLGXwpat-b7Ly6j9F1u80_4kGUavc6XY3F0C4EZmsmiUcRgr9z8a3rjxwIbHW_EGlx6f4i1CHVA8OjaczPId2FYnHTIrT-HPjiez8O6xpT6dBqDXUn2hoYkCtcE8MCfpWtJo-k-Bb_T7bwH4bn0fxBfRtBOBjZIxG7zDIe46V34evHEQ5kfK5tldXKcS8PUd-qfdd_8AgGVrvw10uy8Fa5f6pHdR33iCRdQXTrBlTBGMW528Bh3xWl4R8H6t8UPHPhaz0XXX0zwutitzqWmajH--tUUYPlsOpyMYrMk-Ies6fpOpQ-ItIn0y18P2b_bbpQuFnc_I8bHhmPcda1tH8F-ILVNJ8SaDrtnpMc9sl3PJcMWN15gJ8vPQEDnC966LnjHW-MtUHwp0W58Q3Ec8Vq8otY7Xb55jjzhG9if614B8SPijrfiDxdq2jSSXU1tbWqsLh0_dqGHAY_0rbu_jxP8ACvw_r2mfEPydc1vzDPpkqMGhu4mP7tsHup6_SuX-Juual4Z-B2mWU0sA8a7F1C4tIysryQv8yliP7qkcUAcGvgm-0_w87a5rWn6Xo84kW1upXzJIG_hU1xGheLEm1e30XxDpjanBpi4s2SbC7s4Vs-9LrXjW4-JHw7FlqXkz3elTrJp-n2kJ8yVDy7cdvU1D9ok1LQ9Huz4WXSLBI5UudQmkI3lDkEE_xAdKYz0zVfHr-A_GtvaSp_Zk_wBn867stLtTH5oIyiFxySc8iuHgvtBaGGwsdH8_xPrV4txawXE7R29swYEM-Tgs2Mc-tdZ8SvET_D248HeIpbhdQ1K6towsLgS7UUDErA85Oa6X4f8Aw78LQ6s3iXUb-WTw7fXLzyC6hVZJYyMlIw3OAScEUCPTtE-D99N8O5vF17YWmkvo87ajpfh3zQ_msUCSQOz_AHWYAsOaq-CZLHxZeWGtapt1Dw9HKlnPo8oBmsJHOVaVx1QdCenHvWN40sfDt14ZSCz1fWdd8OeJfEiXEGjxOwmtI4l2mNsc7Rkc969b8N-Kvh5NcW-iaPHp9q-kpLY62bQNEqWxUKFdm-8Rzye9ZzpwqfGrnVQxWIwrboVHG-9m1f7jyHx5IsfjaxvtPKWejXF3PZaPdeWJILrywNxRh_ES_wD47XO_FPbpfg658PreSf2tdTqkwWIxzRjIJJ9AR_Ou-8ByaN46sZtOvLf-xvCvg7Vx_YhumMaXMQGPNy2ASePu1x_hP-wtS8Qa7Ya9JPqGqXl7JO8iEttDNmNI2PqMfgK83EYFVJ-0hv2PtMp4nlhaH1LEK8Hdc2t0nv116eZ4xHpa6dqWYZHuJvKWDcwyzNnPFe6-A_At54fs28QatLa6dZKoJa9bGB689z2Aq_4R8H6df6xf3x0SbSp7GVoEbVnCWe4D_WZHJPoorkfiF4M1fUrM61q3iiPXFW7FvBp1kjCzgzwCT0J5FeZUw9eSfMrJbn3GDzTLcPOPsKinOT91K6t5u-v4Haal8dvC004tLXTrjVAfka4RAgIPYLVy88RRXi_8I7pmjI2r6rDHJYtBEQIo3ba5lkP8QGenqK850nw5p2g3Fn9pvYXvGOTCB8wPqTXq3hvVbq4uvsiv9mQIYhfQoN6RscNg9uufrXHRlSo1Ivluj6PMKGPzTBToxrck-luqt8LfRP8AAwLy6-FPh3WvD5jurjxF4y0dhC8cKEBG3ZKsf4gO1cf4kXTbH43Xt5qjkG-C3SQRj51DYJzXU2Ol6P4T8U6h43bQJLu1syuj6Pz8-ouCS9yV79_0ri_C_juXxN8YtdvNa8MbdT2KsUWfuoOgFfZH80PR2PUrzXvhrqV1fazdynVtRtEWFdNSTEiZ4yTUHhXR7H4lb_C3hLw0nhxjMZrm7vJNwbHPzMegr5E-LU0el_EPxCsKXFlNeHcYMEMQSPTrX6Dfsn_CnxhrHw3B8V2n9jabe26xW9tMu24uRwQ7Hqo6Vx4nF0cHDnrSsjsw-Fq4qXLSX-R5p-0J-z_4q-Dfw7vdbGt2uoalfskMdjbSgpDH3k2-uK5b4Y_D1rXTtIhvrlZbuQCUnPzc819P_tG_DXVoPCOkz2GmA6Pu8m_nlcsZUQZwcfdHvXz9pVz4f1rxdpun6Dq0dr4gjXKRb99s6f3QeoIrwMxdXMKcXg_ej3R91w3PBZbUnLHStJuyWu3XVab-Z9Xr8H9N-Jfw9Hha9lZYL1VYSqfmhK89e4PpXzx8bvgHc-C9a0DT7BzB4YVirzWacyyjqJAOgxX0Z8D_APhJV0-6fxA1raWtq_lLP5mPlJ4P41R_aA8SXX_CKfYfB-lw-I3juBPczCTG3H909zXiZHVxtOuqKTcL69l8zfiSnhqlSc5yTlun-P5dD88tOmt_FXxNutHNpI_h61dkMoXAJHfNc1rHw9tW8aXR-3udNyqWilcbnz0r6O8bfCzUPCthfa5bXX2SwkhWZrVYcusjfeBHpXC694ct_Dfhm01rUAlxqKfvIGj-6p7ZFfo5-ZHA6f4TTw9DcDWbiGz1aSbZDFIdwKnpW_oPgk6X9oZ1juLiZw4aIfKK5LWri--MevaY8qR2s9kQWkjHMoFdfrGj6p4TsjNa6s0jqN3luMn6V4-OrNNU4Ssfo_C2XU5QnjK9LmUdE-3fQu-IPBGr3WlzPJNPIuOmSBGP8az_AARaeNNN1KHTtQ1u5jsmTENov3XH-96130Xir-2fhzpBad_tNw_mzIeN3_1q0PBU6X2n6hZ3YZYmGYpVXLRP6qa8ZYmtTi1c_SJ5Hl2Kq0pKF1uu3c8-1_UrzS9dfTZdIjsBAnmSPIuTJ3znuO1blvq2sW_gjVNe8I3U2n3Fjta6toWJLxtwXx6DrW1468JXOpfDGW6843t7psm5pCMFoc_Mv4cEfjWd-z3fC31rypgPsF5G9vPv-7gjAzUxkklUjujath3Kq8JV1jNdUtO33Hnuj-Krm4lvtZ1WZtXv5AIPNuW3BAfTPQivVrXwja694HhunEcRhulZ5B945U4U-2a4j4yeAbbwJ4kXS9NVY7W6U3piDZ2ZYgEf7Jx_Ou8_Z7nXxFqi6BfyCWxutq5_uyD7p_Oqq3mueO7IwCjh5PC1krJdNu59bfsz6LcW9pA9u6_2eI9hXOTux1r6OW1-zRiReQOgrnPh74Rs_D2k2ljZLuCgFpNu0u3fArr9Qt_Kt33NgAcV9HgaPsaKUt2fjfFGZLMMwlKmrRjovkeZeOLlLq3uUkjCseB718M_G79mfxb4o8VNrHhy3jliuFw8ch2gN65r7K-IGoLBIoLc7vWvQvhnosGu6bC7IORWOOU400qS1Zy5TilTqyq1pO0Ufm18Nvgb4jjuBFq1nNBPE-xrfBb5h_Sv0A_Zr-ER8O6esl3EN8p3kMvSvZo_hpp6zCbykEnQvtGa6rTdLh02EJEoz64rnwmDmpqrV3PpM14qp4jA_U8LDlvu92yxb2sVsu2JFUD0GKmpKWvePzPfcKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHGfGT4U6R8cPhj4g8C69PeW2ka3b_ZribT5FSdF3KwKMysoOVHVT9K0_h74Ksfhr4B8NeEdLluJ9N0DTLbSrWS7ZWmeKCJYkLlQoLFUGSABnOAOldBRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSdzQB5_wDF3V_7L0R3DYOOma_NH41a5c-IdVuY9-Iyx7199ftI3F3Hoc5iH3UOM_Svy78ZeMZo9WnWcBW3kfrXzuYOTmlE_Y-EKeHjhpVKu5ymuaG2wAscd6gs9PWzjEi_Kyj71SXvixbgbdox61mXmuJ5e0uMntmuCPNax9XUlQUnJM0ZvitrOiLtt52wh9TXX-F_2rtSsY8SyycDHU15Y9qmoKDjNZVxoYXPQLXfTqcqsfLYvBKvLmtoe5v-2LdbnjmldY2PBya92_Zr_aBj1rVLO5EyunmfMc1-dGuW62zcHgVs_C34lT-AtULK8ghLA_LnAr0MNaMua58XmkG4ckVsfu_qnxls_wCwGuFZc7fX2r5L-JXi-38Z3zRiTzGZ-R6Vynw8-JEfivQIVNxvjeMH73rVOGxWDXGkQllLdM162lj4y2p6L4X8J2k1j5O5Ru_OuX8f6bFoyuEAGfumrlvfXGlt5wYhe4zXG-PPEj6quR85UetZmp5_qWvbZjGSC2fWpNG8TTWuoQqknluxxkV57r9xczapHFCDJcSPtRF616bYfA_xPDp8WrT7cKofywOa4sRiaGH0rSSuelg8BisY3LDQbt1X9bnpbeOZfC9mJLrbcwTjBJHIrz_SZdKutSvby32ia4fIDdTVOx8ULf3H9nahCyiM4KuPStXxN4TtZNK_tSyJtzDyAh4avmMVisJh8XCVLd7tbH6JgMuzLF5bUp4nWK2T3H6lpEqzq7y-VFMNp9q5S2jtbrxN9kFx5csKHcW6Eetb-lXV0dFle-dSjDKbjzXKaLZW91qWoXwjKmRCmfXtX2aaauj8pnFxfK9yxa2FjoevR3OpT-cbolYlZ8A84wB3rP13V47P4kaDZ2_2pVjkJ_cqQFGM81LN4fTWNYsBqD_ZYbD95FM3XPpXReIof7H0-2vYr4X1yswMhjizJtPAAHamQYUejaX_AMIzrN1a3UurarJqX2qbMZ-RR1ArznV_G-m29u91K-yLJJRlPX0HvXol18Tv-EN8ZONHf7KXAgdrm3B-ZhycewNZ-qeH9F8O61LLDZw31-_7xrqYBkVzySqdO9fL42tTqVE7M_duG8uxuEwcoSqR5W01u7XXyPL_AATrHj_xF4uttT0W3_snSk3xrdXx8pCpHXB5PHpXrtr4y1O9hkt9U8SNdzWRHlRw_IoXPJGOR9a4HxZ4guJt8ccrebjaGzwvrgV5veeKm0DVE0-zYvczEGZx80jE8BfqTjFZr2lRWp-76HZNYTCzUsUvau-rlbr0S7ffbufWvjT4kan_AMKzv5LSGw1qztYBNJpl5GGbOceYx_iIPNeGCLxR8SvC9xYL4hEc1so1S109XMJ8wNgqh6Im2uo8KeBdWh1GeS01yJrjyiJrW8X93J8nzIrDuPeo_hT4q0DxDt0i4sI7i4tp2ZXY_OqgkMmR1Bx0rSnjasFdvmSOXFcNZfipckIexnUWnVXXVfqvusN8QaT_AMJB8PY_FHiu10ee78GWhFrCJg4uWJ-RpAOqg9B3NeN6h8RLvVrHw9renzfatVCH-2LjyM-TEz7Qg9Vw36V6D440nTPCPiPXbzw5G0NqsEsb6RenzbeTcM9OuQSceleHa_rX9lWejJo1x9gmks5TLbwjjLHO3H-Ne_h68a8eaJ-R5pleIymt7Gvbya2f-XodX4mvNRk-Idlo3gDT207FpJBG0qhXfcuZXJ7DFZdjo9z4d0Gc3lz_AMJVHex7LLSUlZ2Ehzul2jPKMKpXt8lr4NttRW9nTUY7NQskMu6Z5pCQ289QABgLVrwGklv4T1HW9LW50a602PMeqtPh7hmI3xIp4zzkY9TXSeMbnixfEt7o8WseKHtdP1rR_KgezVV85rZ0HzsnbA7etauiraeNPi74L0ZPEJ1XTZLQWMdztKMFIJUhDwD0H4Vh-JD4b8UX15e6dqX203GnpbLNflvPnuuGbeexAyM16v4Fj8IW_jW08bQWq6TaWuhx22iWIYyNLeou0jpknOSTSbUVd7FRjKbUYq7Z3Hwz0-5-OXjh7iaBfCNt4elTSdLuc7Jbu8TI3SAcMDgZ-oq78JfhrrPhr4keM_BevHRtXhv7oxarcRzAtchzkKO4wTn8Krfsz_EK_j1vW_DfifTZdLF3bz6lp9-8O5IpdwZnDjocnkHmu9-J2raVovhuXxX4Gh01PHN08Yub1V8z7Rjjcynoxx196FJNXQNOLsznv2ktFl8Ra9aeHotPVtK0sb7NUfH2XouHA-9k9PpWpdeHvBHwes7TWdYv4raa1thDukQtvkxz079hXaWvhLUr_wCHt5q9y8MvjGSNbjLjCebjIQD2ya8n8T_C9PGuiaFD4x1j7HNM7M8cK72IyOMf3ielAHDeMrzVPEnjDwlLp-qyQWkyS3cySNtt1hLDYrF-N5_lXbReM9T1DXIfAWh6VpWo-G7bab3UupuLw8sUI42Lx-Rry7x14SvvFGvXCanO3hjwVp9xDZWy6gCGmVeFZiOTubJwK7j4Zap4P8A-LdRsrS_v9QjsUcPcSW4FoJivO0gZ2gGk0pKzRdOpOlJTg7Nao5zT9Mfxn4giutSsE8Oz2F0tvdQySgx7iflCt_ePHyn1r2zw7q3hzSdduNI1-7jtNNS1kErqSGdtpzApxy5HPHTNecfD_VtP0_4kajpcN_p-t6Pc2f8AbIkvFHk_aGYlZCDyypgH8KwvDfibWdMjkTxjMsmr3t8LiKJlHk2dsWOJwp5HmAcN6V56wFJVFPotkfXVOK8fUwc8K7KU_iklZtWtbsvNrfyOz8I-F5vHXgHTvF9trKWj6LBOulafI5MEaBjlpD3IUc59Kv2njX4YtC-mWXiCNvEF5EUm1KKDevnEfeU9gDV74oXWm-Gfhy2mfD_QpdZ0XX7V7e7XTj58UM7tl3LjlVGe3qaw_htpvw6-GXhSLxhfWFleWP2qKO5hjk3BbnOB16LnqK9E-NOG8a_DXUr_AOLdjIk0Ou6l4ehgnvL-GILH5SEORsP3jt5z71-jnw11CX4l6Vb6hNeLHaTRK8UiEbmQ9go6Yr4m-Imiv4Tvviv4uvtQt5tB8VabG2jz2c2SZWKkW6Y6Dgiuz-Gfxqh-Efw78LeJJrVLGxsXEN7pys8jrE38TEfxbu1fL5zltTHRjOm_ej076n0-VZlTwsJ0Zqzlqpdmlt8-59-6lp1pHoF1aTw74Hj2okvfAxyK_Ob4R_CfQfhdql_431DStS1i-a8u_K0WwRS8ahzhz3Ar36T9pY-MLuw1t01KfTrqA3kWnKgt5I7cMAHKnk5_WvC9eh1yDxlq9j8MLTUrH-1LpmvrrUzuaCH7zeWc_KKeT5bVwPNOq9X0ODFYqFSmqcXd3u_-AWdL1TU_jP42_wCEt0xLrQvDNuRbT2N7I0ce9Qdu71Ndrotvp1jJdwy-J3FxaxNPNDb5MI-jdzXOeGdWPia1nfxHqr6L4L09fJlspIhHJdTdN_qQTnmtrxIPC_jXwD_wjmmXym9AJtotMX59vpI4r6RRS1PLlJuyb2Oe8SftG6LrUIttF0241fWFAt2SSLCyL03Y71l23gGz8dTXvhvVoZdJ1Ka2NwqzLhUx6fWvVvhV8P7Dwf4WWXxBp_2a4tUCo3lAu_412PiBdO-IXhG_jFo1lqUUXk2d4i4fZ7nrVIg_PfxZ4Tb4YyR3C3Kmbc0O6Jcg_lWRp-meIvGeoQWZLJBN8xkkG3C_U19e2_7NsX9j32kXRkkvmiNzaXE_IL-nNeeeM9Ha1XT9A1aA6bdMm2OSD5S7-nHauHEYVVLyh8R9Xk-dPBOOHr3dK-ttzjE8G6F4Vi23WoXNtZW8aom0gieY-p_hA9qpQfGjwT4bjlgvrO4t5QeZFlMit_tcdq8416a7t7y68Pa-Hju7aXakkLM6gepFct4l0_Tihs7cs4QbWlYFQx-h7V4McPd2qtn6xVzd06ftMBGKXnr8raHub-NYfHGktFoEsjWNzlZpnyoKDsB6mk8O6fLZD7Lbxuq9MBSefTNZnwr17SLm0kuXubW30_SYFkkiceUyhf4dp-8T7daw9Q8ZeNPGWqS6lpGrN4f0SGTMVvAoUH8cfM1YezfM47Jdz1HjF7OnXl79R9I226vfRfmaf7UOkiPSfButxNJDqEavZXZLMsjxqdy4zwQPnr279m7wDYXmh2GpaW9xeTSICzsuWXPXGOK-fPCt34g1fxLdQa3enVdqfuZLseYF-ua--P2UX0ez8IpDHFDbXlvlHjh447EL71soOo4UG_mec8QsHDEZrGD1-z2ezfzPprwjp8unaXCS2UVFUNJyTVjXr5Xs5htONuB9ak028guNNRfMOG6gd65_xBcGzsJ9rZTPevroxUYpI_nytUdWpKo927nz78WNcaG_jQnB3c819E_AWZJtHtjHyuzNfFPxw8XCz1bfK64D4216h8A_2hrXQdIRZnTCjAG6uWvBycWnsdmFqKNOpBrdH3kuMVHNcRw8u6p9TXzZcftcWKx5WSJfoRXlPjz9r5I2kxdKoHT5qt1ox6jpZbiKr0R9yf2hbf8APdP--qy9f8Zad4etjNcTqR6Bq_OGD9s55Jgv2rjP96s_xt-01c65p8iJMXyOAGrB4uCPWp8PYmex9sal-01pNve-THMg-bHUV6V4J8eWni6zWSJwX9j1r8SNY8beI73VPtEMskQV87cnmvsX9lX44XizwW1xIUlBC7WasljFzLU7pcOz9k7L3kfo5S1k-G9aXWtPSYdSATWtXpp3V0fEzg6cnGW6CiiimQFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU006kNAHiP7SGqWy-H5Ld2Cnact-Fflf8QNJtNQ1yeWL5wGOMdOpr9SP2ifB0-s6PcyRqzJsOcfSvzD8dWcnhPVJLZkO13Jyw6c14GO5ubQ_WeFVQdBxk9Ty7xBpzWEZ496891C51BbpRGpZM9hXrd9ZvqjZY5B6VHZ-FYY5g7gGuSnVUFqfQ4rATxEv3bsjldGa4ht98o5x0rJ1nxMtmxBbJJ6V6Hq1rb2VswQDee3rXlOveE5dQvvPJIRhwMVrScZyvI4cdGvhqahSd2V9Jtn8baoIEJjgBzI46_QV7IvwUisPDbXckCWtsFyGlPzP9BXH_B_Q_7J1RRKuVaQHLCvXvFF5ea9qSxyy4tIjtEYPGBWeIrSjNQg9DsybLaVTDyr4qN5vSxxHw8-JEng7Ul0-UN5OdqMOlfSfhnxAdYUSg4YjINfI3xGjttFYSxMPNLbgB14r2n4S-OrW60e0Pmq_wAoDDOCD717WFrOpDU_Ns-y-GErv2fU9_utQf7EyHBO2vO70n9-zA1uL4gt5YSQ4rkfFPiazt7OTEq7z6EV3HyljyDV_F0XhjxtZX0q7oYJckV91-CfiXa-O_DNnNZlGh8sAquPSvzC-KGqLcXjskmSxPyitr4J_HvXvh_OlhC3m28h4BJ4r5jOcseYRU6T95H2uQZrTy5unio-49b21TPszxx4b02-8WSQbxaXEykgjA5rL1fSdY8NaOkB_wBLtjw4BycV5Bf_ABVvPF3iS3ld1S6HK816FZ-ONWvpoLeTDx7cNk14lPI8RDkcrNdUfZVOLcDNVIwvF9HbcfpvibSfEhW12_NbnDKOPwrB1LVBb6nPZrayW1tjKSKMc1m22gPpXii6urc4inO52XoDXUTawb7T_JNsJWVtpbb1FfeUKSoU1TT2PyHGYmWLryrSSTfYozzXkSQ3Opxw_YJBt3buQccH610Xw2sXhuBd2v8ApCy5AE5BBA6da5fXZrTU9DvNPaxa8EADxqh5J9Kw7TVL5bG3SzW7tILUbjZ9HLegNbnEel6t4dMcniLxRqWmoyCNgkcwDBmxyQPXivmW8-KMlomrNrMD6BOxL20cw3CReyqR90_Wvo2_v_Enjvwjp0K211ZWakrds0e4QxerD3rwv4ifBi48VWjTJqEcS-YVTd87Mo7_AFr5_FSpqvyVFZdz9d4foYqWVvFYSblUu1ZvSyWi1elt9Lbninhu88Q_EbxoLXSXEtzMCwe4fYkUY6s3bFe5eB_g5pvhfUF1G7uk1nVIW3RXZO2CFj1cDq5HbPFebXHwg1L4R61pGsPqNve2s52KkTHc2fvRuP4eOR64r6T_ALOibQbR7cQy74t4ZTyBjriubGVklFUX7rR7XDuXynKr_aEG60He0nprZprp89duh59rniVYt3hexmaDUbkuBcou51z_AMtD6dTUXhXwRB4Ta2XT98c0J3fai2Wkc9W_Gql_pUFj46stRkM_kTg28ksGMpkda9XvLTTbXT7cQzTW8zgbGmG5W_wrhlLkilHrufVYfD_WKsqlW3NB2XktNipofgvTNehkstaJZ5EP7yN9socnO8nv9K-KfFt5JpHiTV7QOlzPHeOUulUDcvIGMdOK-5bUHQZoLy_tXSBRvkmGWR0I5wfpXxppXg0-JvEWrzaejyWhupPKD9Qpc45-lehl9X2Uak5vQ-K40wccRLC06atN83rZWf53OcsbS4j0l5dPSS5PkM9_HtyEG75W_DNSaDeKbqxa5vpBptjJvWLORv8Avfd9zxmvvf4X_s_eHPC_wxvp7q18-61KyKXE0jZJUjoPxr4m-JPwvl8F6jdw2qySW2_cpKE4UnAGa6MHm9HF1ZUlpbbzPh8z4bxGXYeFe_Nffy7fh-Jj6Pb3XjLVLq2ij8m1kuGunaMdM9q-rvgT4B8NnxZ4WS8ubjVb22crBZ-btVQTnJHsa8n_AGcfCqahrmpWr-ZFItmHaIrlGOcF8-3p7195_s5_BLTPAWrDxHqEaXGr3ClbcSY_cRnpx_e9TXk5xmU6FR0oytZaed-57WRZTQng1iqkFK9_lbtbZnnf7W3gnX_C01pqYv28P-ENRkWxv7e1Qd2-8G7Zqz4N-HfgbwjoU9zp73Wr6aoXz9WvpsIhAyQg-ortv2l_FGjfETwz4_8ADGv3j2Wn-G5LWZri2-YyMzDKk9AfmGO_Brwfx2sOvWf_AApPwBdySTCyjvri_lb92uQpEbN6nPT617eVTrVMLGVbrt6dD5HNo044lqG_X18vlY77X_jFfyeDz4j0m0nudAgnNo62uDuJ43fSuP8AC_iLxDql_bPc2xntJbhntrh1-dPUe-K0k0uz-H-h6v4Gsre6sr3T7SGeS5XLx-YzYZjng8c_jXP-KvH3iPwv4XWyu9Zgs9QISPT4oIVEmxmwZOK9hHiFXw2q6B4i8R6Nf65HM7XTX2nWeqDeHlKkgR7vQ9qgsPEmt2vhTULzxXd6fb3z29xKLOGJYTdKBgAAd-la3j_4Pa74t8FpqMz28usRmKe2uROizx4IJkxmua8ZDSfH2s6B4VfVd3iaAMj3Mtr5aspUB1Tn5icVRJe-Eeg6Pq3hGwvvEl9b6dqSxsscE23fIOdkYYnkEEUzQ9H8P6BrerX9zc3uoa9osHkh9QKvb3EDrg2LE_KUGcAjkZrifFvg-H4Z3XhXSpkm1KKzvnmaJkYswBGBn2ziu41RdP8AiL52h211_wAIto17cK11NcgF2kAH3AO5wBmgZzvw58Z-N9O8A-II9IU2UmoSyNb6ZZrgQRBvmiQDqSCR-Fel_E6PwfZ_s06hZaLZW2kamxhuvs8_zSbwf3pdex5NcJ8QtM0a68Sab4Y8BXUuneJNBjS6iuldsXjdGTnuTWZ8avEmpeOtB0LStQhTwzrK3Yh1C5MYBfjBLEdRSA9R-Gfh-y1_4M654c1TUli8KTx27WGsSsHH2vIbjPIGeOKd4c1bxJ4N8Xp8NIPDltqfhrSoWudb1YL5i3kJXdgO_C_41k-IND07SfgHdeEvDCSeJLaCDzCISfM3jksCOxJNZ_gfxxB488IafBrV9faG1jpctlc2ZYiOVAMKX_iLZpaDPRtB1jTdS-IWn63bWurXmk6zYLaRabtD3Nsqt8pdhwq-mO1exfCz4Ea18N5vENzdy_2lf68s0kDSXP8AqYyCdpycgdBXlX7NdvFHot_q134rtrTR_D9m2yGW3aJXcg7Az9TzUWn_ABP1Dx34P1PSrvXbNr3T2eebULFWCWVtuyw3dWJpAbt98NNS-Lfw7ux4h0r_AIQiTTpQGvZrkObmIHpEK7n4X2fwt-DOhnxDYzSNDlY7q6u2zsI7_jSwWfgr4l-A9I02HXribyITOtwzlUljHU_T2rzD4nr4a0nwavg_U7z5b66WS2isIWZpo_4c1Yj2DX_iwfGGpQJ4Z0yXUrS7O4XJXCD0AqHxB4s13wyNMtvsipJNkyvj5Vx1z70nww8QaHp9ronhDSDJPf2YElwoXlB2DHtR4H8dJqdx4ztde0pzb6ddP5Tt8zOD_dNAG5428Qf8JN4Ns_EWgXhu7zTDsuraHGXrxbxjqMllqem6rcac11e3C70jmX_V_wCFdxp_j200XR3fw1okksVxPsmTbgw-7CvKtQ1bxFrXj_U7KVBeBbfdbMg4iHoamTsrlQj7SSjfc82j8aaf4Q-JVzq1_b28z3PJSRAwU-lWvjLpmgfFSGz1OwEVheRxtuW3jGJFPTp3rP1b9n_W9Xtvtlwry38kh3KOcV6h-zx4Ln02e70DWNHlW4duJpIiQR6AmvjMVnEIwl7ON2j9cy3IakKsJ15vlt6pq2x81ax8N9V8P6bYvZ6UjQ3R4urpwo3fieBXZaT8M7ZtPtpvEfjbRtLWP5vs0d0rHP8Aurmvtb4z_DHT9R_Z98WW93pyma1s5HtEVBu3KpII_IfnX5r_AA1-GZ8SWovrwraW6scs4xyOuaMPW-s4dVpux69OtGWMeHwtPm-dl-CX5n0z4G0fwTDfeVa-I7PV3kGP3SMzZ9AOK9cv_hR4tsfsJ8N6dd2ZEiStKgwXUe4PH4185fDbwzZ3HiS0TTZo5IYpFVp14Gd3av0vt_O0WzsolJKrGseTnkY61rh8KsRUau1Y9XOM8lk-EpydOMuZtW6aW1Ou8MabLZ6Bam42m58oGQf7WKwvFqCTS7hyccdqt219NKIwAxP6Vk-MLwWmjXBfOcV9fFWSR_PNSftajna1z88P2p9SSxvJGST-Pj1rwS08eatHb7IJfJT2Nem_tXXkuo6-qQ_6tn5NeLLA9vb47-teXiJtSsmfa5Nhoype0lE6NvH2pmPbJdsPxNZt94jn1FMSzmT6muRuYbyabahIWtbTdLkEYLda45RVrtn0dKtKUuSEbGtZ2zFPMPfkCur8L36XF5HbMwPOCDXP_vI7U7FJKrVTwNDez-IPMZSi7uM1zSjzRbPZpVXRqwglufUWm-AbXUtMDNGMleDik8H6fJ4U8SRFSY2Vq6XwHcSyaOscxAIHBJq_daUL-8idT-8DY-WvFVSUZWufpksHSrUtFbQ-7_gX4mTVPD8UbN82ABz7V6vXz3-z3pk1vaw43BRj-VfQY6V9xhZOdJNn8t59Qjh8fOEWLRRRXYfPBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAZfiPTl1TSbi3ZdwZcYr4N-NX7Nkuv8AiDdFbsVLc4FfoLVK40m0uJN7wIzd-KxqU1UWp6WDx1TBPmgfl9q37LN7Y6bJJFDINg4OK8C8caHqfhC6MU1tIBnhtpINfrf8YfFmieF9IlikjjVth54r4W8VeLPD_iLxAFmWG5iL425GRXkVcLBP3T9By_PsRUh-8Wh8t-G_Dep-I9UWe6ieO3UcbhjNbGvaDa2Y2NGAy8LX0xqPhrSW0eaS1aK3CrlQpFfK_jea6k1xI5ZAId2PlPXmsakFHRHp4atOs_aN38jb0rwq0dm13CMlV3KqVlzRa9dHbBbFSWwS1dd4b16HQvDcEQZWd8kljkjmsS98bTtcSLbbWJbgr0rybzcnoffyp4eNKFpNN9EefeIvhtrM-qQzalKpizkL6VjeIvCd54dkW402eWDPLLGxwa7-68SPeagBfXG3byRmi-1Ww1W2ZY7mJmX-HNdka1WLR85iMuwVeM7bvu9TiNR-Nl7o_h_7KN51Fl2A4OB7155YeNte1q9Zbu-klT64rs9X8Ix65qCyMQqJx1rZ0fwfptipM6qNo4PHNepLFrkXc-Gp8PyeIcotKN-pxC6cNU3lshlHO6oLOwg0ndMxAcdK3_F2o6fpsix2LDc55Arh_EWqboAu7nvSp88rNFYyNCipRkk2vuOl8O-JT_biyK_I96960bxcfOtnU4JAU18i-Hb54NTV8fLnrXt3hbxCZJ40OCnBr2Y6LU_Op25m1sfQGj6kbaR0uAJo52ytbVrcWkd4yxENHg5UHpxXnFvM97eWckU22IDDV0elW6aL5kZEk5um4k67aZiZ-i-RaeK7u9Fw8FtI21WY8K9P8Wan5PjXw7YzX3mRTSFnkiXnPofarOt6VZ6Hos8ESvqF00gmkiXrtq8fA1rqbaPeG68uZnEi-ZwVTH3aAN3_AIWRqHhW6uzdTG-s5FNs9qPl80EcD8q838PX1lrniSay00jSrcCSdLOabfyRnhj3rt_GXhrwvpa2V82ouv2eR55YZJCZJSFICqPTNeQw-B7m-uodWtCqSy5ZYt_UHtn6V81jqntKkoSeiP2vhfBfVcHSxVOLcp3bV3rG9k7bemh0nijwv_wkPgjX7lRsfSITOue5xyfqK4_4R_HgeKNQtNE1u0ittTRBDFdISIpsDGGH8J_SvWvA-jzQaTLZTKktncRywXMf2hWcxkfNx1yKo6X-zv4U0_UlbSnlu9Rkt2ljllOI5R2AH94VjhqPt6c42vbY9TOc0WV43D1facikveVr3SfW3bo9OpX1XwzeWceozy2xlRo_Lt2UblJbqSR0xWWfFdzo2hrDZyWWpCwVFmeZTLImTjCgHkD1NdvJ4l1zS9CuNI02yt73VbRVWZb6ParqThsDocDvXm-o2MHgHx5d28NhPHa6xaoJLhl3RRS9Rt9Rmu6hltlevr5Hyma8Zub5cqTj3k7Xfkl29dfJC6pH4lh-LVrfPct_wjzWjCSGRj5Cptzjb061n3t5o1vqVg2kpGj3cUlxCIkzDLjqCByD9Kf4RbxZ4m8T-KPCWuXOZJrUm0ZVG2PHofcVhyeC7_S9d8O6Noci_adLXM1zMMpGD_rAR3zXrSpQcPZtadj86-t13W-subc73vfU-kPAPxc8K6t4P0vTNU1KPRb9V_fW8m4R7h2Dtxg_nXP_ABO1DwHbafeRxajZS-cvmSxqwkkRE5_DJ4ryDxR4Zm16ay8P2jRpbXF0stzf3B2Im052J71J440Hwzr2g6_eQWdzZNDMlpPJcLt805GNhHuK-dp5DQp11WhJ2TvbofZVOL8XWwksNOCu1bm1v6-pqeG7tvB_izT9Uh0uOS2vJC93PC3yRWjKMBR65wa-wPA_jDwXd37TL4mmnvLO3W5ktmjkKtGRxtOMGvhXQdc1HTNR8zX4pItCswLV5rdGLXbAYVWXpgCu-0LXYXsH1pppdOhsYCLCODchuITnaHU9W9F-ldmNynD46oqlS6a7dfzPGwGfYzLqEsPRa5W76rbv95fbxl4V-Lnh3WtGuHubGJvErTXM0zkHUpS5ZQuOuBng-1el-AfBdgtjea1pAbQJ9aukikvHh3T2VvbgLtIPAJIyc9cmvGvhNZ6hffC3UC9rZJeanqVxc6fb3YCSJKgO0j1y35V6_r9x45XwDpWmaXbR2HxHnurbTJbi2cTQpGf3kjSDkYAJy3XtXsRioxUVsj5-UnNuTNX4K-E9V1Lwn43n8ZXzXGkXN7dR2Ml0u25uLUgDzH9FHG2vI9Q-H76zr8lhpV7_AGnrUGnLZJHqW1FaNTuHluxxux-NekePPFXivw58RfD_AIKsvEts9jcqINXmZU3IrANwOybs1xHxo1L-0tS-y6bb2OptpttM9w0ZKN93ClSOd3Gc9KsgyvFdr4nj0SPTtY8HzXV2EWKe4tncSwwr912VT06YPevLLCa8-KWsNNNafYptHuIjZXKgxu6g4BPfPHP1rvp9d8R3Pw40_Ukvo9G19NMAt5Z7sia7AxsX5jgg44HvWf48-KF__ZmmWh1nRdOuSVTUkisVQ8gYQuB1J61RJnR_FC_8RapcJeWF1d3Njut2afOQ6-_pxXI6LqGr_EDWGtrOzGhK8rNFdXMhWDco4BZu5IrX8YeH9S8RTTyeF9UlgtIdrSQ52YbGS2f4gT3qnrXhrxXrfgsefBb6otkA5hhkEcroCcnjqRQMr-GfFGn-GdeHizWbK5n1u3ufs0lrE2IJApwX39G_Cn-IPiFYfETXp73xQZLHSLiQqqwHEuwdOa7HRfCnh2x-Fsd9P_xMbYWzO1r5gMkBbgnB7g14jBb6fqqtFrkksdpEGjguIxyR1Un6d6kZ6j4P-PEvwjhuV8Ks7WpRoopp8OdnvmufmuPFGpXg8V6rptxctqDGVIbb5UVT0yvvXkXhuxm1DXEtIpfNtfNClicKy5619prptlcatpOkfafIhFqqgwtmQkL0xXm4zFSw3Lyq9z7XhzIqWde09pNx5bbW637-hQ-H_wAZ_EfiyS30zVvDkD-HYWUyW-zy3c4wpI_i5rd1T4hyeXcWGnJYadLcRtBfx2MICTLnhTnjj2rib-8sfDN9N9plnSJQxALbWY9hg9K5bRLe51JnvdMRthBdhI_Cc_rXlyxVasr3svI-8wuQ5fl8lFQ9pPZ31-aW1_vPYfA19qC61plrC8y2sDBNv3YlTqy49DXoOuXU3h-8j8SaxAr3cEpht9OhQOdjfcdR6Vy3w5WDWLOSCZ_s0ohOJP8Aa9a9U8JxaSdUSa5ubea_0u1GyVpFLSKvO3ZRl9eSrOEnoyuLsrpSyuOKpR96D6Lo9Pw3Imur_wAL6pZX0Zh07T7mISXV0yfvXY_wk-1ep69p40_wvY6toKwSW186tcebjd9TXP6fAfFWhzXuprD9nvpC0EDAbkI9u1eceOPHWpT2OoeGbN_sF_CmIR1XHrX1B-FndaD4o0rw340u7JAs7alHkqq_KrVxepeILbwzrWoadDBjVrv5kmb0-tcNqniKXwb4Ls57qYPrLEAzgZO76-lcv4q8c3Caxpl3dnzZWjAM4HAoBOzufRngP4neHtPaCx1c51IjJOw4J9q7Dwx8UtH8ReJW8pYYBZuEU7hk-5r4Y8f-PDZrNf2J33O37xNef_DH4qa_HqdzfG4YCSTLgelfG5hlVGjQnKgveb6n6Rk-cVswxcaeKfu8rWnpY_aPUrLTPEPhtQyrMs67XVRkEehr4O_aK_Y48aafqtu_w8Qv4b1KY_arFcZtCfvOD_c9u1ezfso_HK58dbtMuEJECgF26GvcNV8STX-oHToQG8s4yOldmWSp4nDKi1aUTix8cRkeMVSE24S7PddvI8G-A_7F1v4L0CC51y4e4nXD-VC2AXH949q-i9SjMljGpGTGNoNXdPmvLe1jgJBVuvNWbvTZJoUZVO0dhXuUMPCgny7vc8DNM4xGacsamkY7JbIo6LJNDCFZRn-9VDxppD32myhOcr2rWmja2hRVVhnr7Vo2NuLi0ZGO4Hua6jwlvc_Nz9oP4R3015LdRoSyNnaRwa-b7rQbxnZDbHKnBwK_Uv43aPYLBIWCjA5zivnfRPAuh6kt5K6qTkkEEV4OJ_iWR-sZNJPBOUnoj40h0Y7m8yLDemK1I9KMcY3RlB7ivefEXh3SbHVBGqIRu74rmPHa2NrCQiJGqrnKkVzOnJnqQxlCCTscXpuhRzW7ZKg-lU7q2j0G8EyMqjuMUzw9qkl5M4D_AChsD3rorzQRdqHkAwa5W3F2kz6KnGGIpqVJao2vCvxIRikSSZPAr17wjrjXGqxEruXcK8Y8G-C43ul2jBJ44r6b-G_wlubqSCaPc3IPSuOUYymlBH0OHr1aGGlPEysj7H-BzRzaLHIqBWK56V6tXn_wr8OyaLpcauCMKOtegV9rh0400mfzLm1SNXG1JxelwoooroPHCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACop28uN29BUtQXbBbeUscLtoGtz89v21PHV1Zx3ao5UjcBX55L4m1WHU2mjncszZ2195_tmRw6hdTxoAT81fFVp4aBvN7jnNfP1qnLNn6_l-BdTCwstzq9J-KF82mmG_mZSBgZJrida8Yw6tqyQx_vJAeGrd1rSY1s8e1efabpclrrXmBSQT1qYVVUi7m9fBSwtWPs-p3Fxbyx6VPel2SGJQNvYt6CsLQ9H8WX0qyxWhjhnbEbP1HvXSa5bXGpeGxbRAqiN5jejEdjXbeGdVufEOgQsJ4bdrZdhh6HjjNcUqnJG6SPpIYVYitGLk42V9Or6_cc5P8OI7C0YX7tPdsMyMP4a8c-IGktpep20WgRzb5OpBOPxr2jUdcvVN3ZK-_wAz5S55qG18KotrGBIssyDO5xzzTp1XTfNLUjHZfTxkPY0Fy269V_w55t4N8O-I9QuFS5B25AOM9ak8ZLfaLqlxazBkMS8c9a9v0G8stDt7a2mYLI8u5pP7vPFcJ8aNPfWdYF5ZIZ14VjGOtVTrOpVtbQwxeXwweA5o1G5Jq933PErTRZtWna4lO0ZJArL1rQbuSQhY2KjvivdNF-GcsNnHPKWBYZ2-lareCY5vkMZzXv0YSfvPY_JcfiqUY-ypavqz5p0zR5YZAHQjnpivU_Aunt57B92MfLXX6j8MSsiNFHgZ54rpNH8JCxEZaH5gOCK7T5st-F5IZi9rLlJl5QmvQPCcwkZ4p_mdTwWGcVw95pcltJHdJGVlVgML6V3FjeQaVaPOqb7qRBiM9SaCDQv7OY6gIBCsizrhZ1H3TWHqWjaldQrYl99zbShhICRha37i-m0nw4uoTnbcB9wjFa-laudXt31BrVf3kPJAxk4oA4GPRW8QaPex39ut1rccoQLuyHi9AOxrW1bwBcf8I7p1zpmB5g8gxsfnRj7e1dP4dtrXUYpdRRPsty4MCBum71NWBba_ofgXUZLK5j_4SCwuCwWQZSVeoxXBWwVKtLmej8j63LeJsdltL2ELSjsrrb0aaZw3gX4dzHxbNDY29y62qD7ZdXHyo7HhgB7V0HiS11zwt4ngtrGWO_0S1G6W7dNqwcZCo3U-9M0PXr7VrmXVk1GT7THBvewtyAhnI-bNZ15rmq-GdWi1DWbsz6RdR-WLVBuCSH27_WuyEI04qMdj5zE4mrjKrrV5Xky7qFnpnjrSI9SuY7xVQlZPLcx-cQemB1FMmt9N8Ua9HqU00ttp-nQhLeC5kAQOBjOD1puieIpLDwyJprOV5TK5to4wPuk_eK9qw7rR08aW91dQWzNNppEixSvtR3znlRVmBtaboa6Tr93rE4WGSdQfNyPuY6_SuH_4RK7174lC_wBM1qJdP5IFu4LOQeQw7ZrvtUzP4Rl1a-tbiS_mtBA0NmNyKR7fSvI9b0-b4L-EYNY0KNrvWL65E_74Er8w5B9MUAWPi14c1PxZ46hs9JSKTSbTa8wjlUeUmPmYgc7s15R4W8UarpsnijSYnXVrK8eMeROxZkdW-8mehxXpGreDdX1DxGt7dM2lPrdjHNJfW7kIlweQAAeh6VV0fwjZ-dHrut2qaX_Y16YbuSDOJmx8krKOnv2pWKJfi9qkMN34f8Mizmi026uI53khByI8AsWI6Gua1HXNUuLEXlwxg1mOdrfSreKHdFHAB8rSr2J7Ma7n-1Yr7RNT8SWWm3M_k3pS902RhI4Rl2iSL-6O9cDpuqSaZ48upPEUUespbyQxeYg58nbmJ9q9ccAmobSV2VGLnJRjuze0XVNb8T-H5dHjhWy16O5jXT52BUaeu3dPJuHy4z-OTXsPh_4ian4T065gju0vL-5i8u7v9uC7FdvmL6NWDr2hjw_bpaW9xGpaIXEtwWC7S3OwA81n-EGTXp2SVMSI2EXpk-tfNVcfUm7w0R-44DhPA4ZKniY-0m--iXkkv1uek6H4N8LXfw10y51HSrq71a1kdZ76J2e4vVLZWNj1yWII9NprwDxn8QNUt_HV7qLaY3hzQY7Y2yQSxkyNHvKuZGPOSc19D6JrF_o32rTtjW48rEbY-5Jg7WH0JBrwG8-Hfj7xnJa6NraY1XX9V_0ufA2m227sIeg6k7RXdgcZ7WKhUfvfmfK8UcNvAVHisLG1Jq7_ALrulb53ul6kPiPVo9R8GNHLc2c-sWTRSQW_llktbQ7fnV-mMYx6c15_bxzePta17-x9Kk1Q-VJLdRt87NGvUxY6HGK9cTwbrmjeFG0u3upryS7ElrpF2NOVVEMTEvDOx55HIzXnPhTVL74f-OdA07TLe808MRNdSwnc91Iwy0LDoIyeMe9e2fmpesdPv9S0DTdLg1GHwpNqEbIltcbjcThOQ2f4R2xS_Dzwbd-F_EE1lqHiW1WOSJ5jb-f5kuR6Ad6xl8aXGjaxJdR-FIpdYuLyWS4jDNLNaqHwqj-4MnGa9G07R_CkPiy31OSIt8Q75cLodp88MO8YBLd2xQI5XU_EXhiO1LWEUiiEMLlwrRwsOhJzwT7Vw-oQt420ue806xujp1uNvmlML-AFdbq3w88Q-JvFUXgsaO2mWFrcFp2Zxjb1ZmboeOgr6F-GXhTw_Z-Gb_w8ZU0RVlVbIXOC12n8WB6mgZ87wLpHg_w3oatokV3azLuluV-Zw_o2OetbvgPx1JdeIhJodi1_qOxivmZKwDGNxz0Ar0j4teBLOy0_SdK03w59jg1GXyWv5MqUfOAcdqwvh34Tl-Fvh_VtO1cRw67c3kkESEgs8a_dYY7HOa8TMYqMVNq_Q_SuDas6lV4eD5bXk3bWy2t-S9ThfH9w7In9o3HnzTOkd1JGMgM7Y-X1xXqHhf4VaGy3GlWeq3UEVkqPHcGUMZGzllPt7VyHiDw3aazazQ3AaOdXEqun3lcHjjvVDRviBeadb3OmajqdjdaVIDF9oht1iuLeQHgt_eX3xXk61KfLB7H6HF08NinUxEbqWzvtve92tHpd2f3Hqn9rDwe00dvA1zNKjJb3sbhkRiMfMvsavfDH4d6h4Z1XSNYvLmfWbuOcS3NzI5GATnHuKxPhTq9tdauI78xyrg7i3KsD0Ir1vxF4msPB-i_aZ7ny7UBUTdgHk8YHtXnycoPlW59VRp0cTD21T4Vsui7-v9anYeOrmWz1e3fSF82ORN_loeIj7jtXB6xNcX8EOpzxRpdK_kzSIc5WoNH8UXeiaF4h1i4livJbvatsXk42noQKyNNhufC-kz3WpM8oYeaYWyffivu6Mk4RTetj-W8woOnXqThFqnzOztpuzj_HHiuNNU_s64t_Mi2ZiLDpXlnxe8aRrY2FvprFZRw_PSr3xh-IB1i8TU1thabB5SJ0J9zXjOsXF7rAaW3_AHh7itW0tzzYxlN8sVdnb2WuW2paWlpcTjznGGOa6Hwt4Ngt2Fvp7Kxl6ZOa-fy2oW9wwuEZR1zXV6D4y1Pw_PDPaXjCWP7qycg_WuOuoVY8stme3gadahP2sdGu5-k37LfgS88H2dxdXNxHFPIN23cK-gPBfnSXt3cXLrIS2VKnmvyasP2pfHGi3kc63cSW6cGBRhD-Nek-Ff27vF-i6fO8tpBezu-YGztjVfQ-tedgsJSwc51E78x7eaYrEZnThT5Lcq_4B-rVjdTTRncobPC4PNdj4cmkkUx3AG0V-a_wP_bo8S65r9p_b-j2lppEsvlyzxyMXB9QPSv0S8GeILLXNNS5t5VdpQCBmvYhXpzlyp6nzdfLMVh6Ma9SHuvqbOtWa3E7rEMrjtTIbP7Dp5LDGO9aVlYtLcHIKp6mqHxC1KPQ9CkwQDitmzzErux8X_tceNpdH0u9ktnw4BAGa-LdK-Nur2FnJF8ylv4q9c_ao-ICanrU-mxNk5y3PGK-V9V1KO33LwK8WvLmqaI_ScroSw-DvVekuhe8YfFbWprhp_tGMHI96wrX4mahr6mC6nJ3Vymv3hvIzt5rH0tnt7gEDBrZRvHU8ypW5a6UfhPdPCuqRWqqruAR3NdhZ-JxqEy28RzjvXlGg3CXyxxk_MeMV7H4I8IrIFYLtPrivIrRjHWR-i5ZOrW5YUtj1n4V6LJqGqW4wxTeMkCv0R-Dfg23t9NjkePHTqPavmn9nPwDHcSRK8W5ywO7bX3LoGkpo-nxwquCAM11ZfQu_aM8LjDNuWCwdN69S_DCsKBUG1RUtFFfQn46FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWP4raRdFuDGPn28VsVFcQrcRvG_KsMUnsVF8skz8uv2nbfVZtVkYqxj3HLYr5okuo7WbDHDdxX6T_tU-DNPhsZJI9udrEnAzX5g_EC4Wy1m4WHJ2ntXzVejao0ftmVZhzYNPl0RoTXSX0wDN8opTpUC4kAHWuL0PVLm6uPnUqB7VuahrTwx8tgCud03HRHr08XTqxdSSOytbyBNLnt2IOeQDXDRvd2uuIbTzFiZvnjXPzCodNfVNauUFtC5XPUDivcfBXhV9PjW7vEjkmK4G5fu1FRSw8HNq5McZSx1WNGLs0YkfgC61TTRqVpaNnG4pnk_ShdFmvY4_s1pPDcqMPGwwDXeah4mtNJUbZBEwH8JxiuE8RfEa3tVaY3GGHOQ3NedhatTETtJaHq43EUsHT5oq76nMa1oepXE0dstpIszPjBH9e1el-F_CPk2EcdzteRevH6Vzfgvx0mtSE-cXUnksc16lazxhQVx68V9dhcL7P3pbn5HnmfPFXpUVZPcy9Q0WNYxGsQx04FUl8NpCoIXmukY_aJASePSrtvCsmAeAK9Q-FucTcaSyFBtzn2qZ9Ke2VGEQYn2rd1iRLeZDnv6U1rt5FVgBge1AGBbWLz6liaMGLGQvap9Q0u10-Zb2RGaWIfKue1avmQS3Sjf82M1sN4autZ0O9vbZC6wxk4A64oJOc0fWLbxdZzboMxr8pVuxrUXXrTwtpKiQKsKnaNw7GvO_AHjexurm6s3X7LcwuVdGGO_WtbxXpEvjKyESS-Xbwtvdl7gUAdi3k3iRvZyZtJV3_L0DVoeKtSuIfCZksJ1unaPbIin5gwp3w-07T20KKKC6i2RxnIc8nivO_BsUkfi_xDFdTF9P3lo1J-6f8ACgDV8CtBF4fhguLU2NzcOwd1HLHrk1Q8XGGe8tLWJJn1SCFissg3RJ6Pjuar311L4gs20fS5JbeWKfL3bA8JnnHvWTLqt8vjKW1KGDS9FgWf7QRzOAM4PrzQBoKJ7u5ttK895N9kRNcqNkjMT0X0-taPh_w7aeDraznE3nQeYY5UWUyMxPdzXNeJvHS6hqmj3mm9dRIWXMeBDH_Fj0rc0eW31bRZLe0jk0rSbcSsXnXe0jgHDK3pmgo0PFHjJNH8U6FomlWzaja6w20SJJtSM_xPXD-OdY1NpNEtLS3kvtFXUmtJ7RwP3qZwXU9gK3LrwPrXiLw34R1rSrdJb3TpvO-8FEqZ5GPeth9Uu_A_jKGbXPCc2s6Nrm02FnAQi2szH5mYjp9KBnnEVvZ69q3jjQ7IuktpHH9mSaY_6kAkuAeOKwfB3gTVPG3wa1q1-3TXup396QtxC27esZwqnvivUPiwbDwv4u1m8tNOsBcXtgsEUMkh3ls_MuF6DFX7qPQfD_h3TtD0-ceGbnVQpi8h2RkUDc4B7E0ActceHvEnwxin3WqX8l9aRPLK3CxJGgGCB3Poa4GTwXPN4mj1Ww0vUriwmaNROEKpJGQrFWJ-6ARyK9D0TxtP4R8WPfX0csWlzD7JtmPnLdJ2eTP3T712HjvxY2r-A7e0sbmTyrhmlDKQPlz8orzcdP2dLzZ9hwthHi8wXaKcn_wPO-nzPL_G3g_xHr0x1LTrq1u7y6ikeOESEB9np6Y6Vd8KPeLq9vcXfk6fKYgzo5wu7HODWVpfiwaDpcv2i6uDcQRGOFo1BCDPIYenuKv6G0PjK1tVkKSxTHI5yMnuK-Zd-WzWh-30nSdVTg3zvW19NPx3G-PviJ4g1TVF0bw3B9uUYN7fM2yFEP8AyzjPc-p_CvSPgrY6lqWrEapqPmWVqvmWklwvz21wQQroaw9J8Jx6PeeTcRsbRG-RFO1dv171ZtviVoWm-KItH8xrZWVpf3eAMDpn2Jz-VQptW9ktup2SwsanPLH1NJu1m9F2S7-r6nlPxs1r4gaN400zRdS1XVL3SrMo11NANiXG-Xkrj1GBitjxjpVnoHiLWNV0fQb-91_TpILmRIZt8cEzjKK6D2A6d69M8QeNL1tAkfQtJt9fuJL3zY7XG9Y8jAbPsefrVf4N6pL8M9P1zTNU0O5vvFHiidW8yKTzfMXODjH3SCa-vwlV1qMZy3P51z7AUstzCrhaLvFWt81exxPw9-EPivwz4Rl8VXEMNs3iu8aHWbm52g2cBbcAqdclq9B-Gfgu28HabrfiTR9HjuY9Ks5Z7y8voSt3NKSdpjDchcEYIqH4geH_AIheFyPCdhrCSG5u2vpIFjBewtlII3n-8e2fSmaWlr8WPHuuaHa6trGqTXFrFbLIimP5ocFz7qcEV2Hzx55feEdbk-Eel65f662kRJfNcXkcxxLcktuVQepx6V7ZffCe2-K3_CC_FfRLmWwto5Etbtb9fJUBVwJQOmNwrj_id4d0_wCI_gjwhrl3qX_CLaba6nJpZtpMv_q-GcqO59a92huLfxT8I7_SZ_LvfhnpOnoEubceVIZkYEigDxS1-G3xJ8dfFKaTxlPLJ4ctZWMV4kojikA5XZ6ZAry39oCSTT_Fz-INJsLqw0yNgNkkokcOOGI9jjNfRXjrx-V-GdtHYI0dlMoS0tX5aOJfut7k18_3Nw95MY7xDP5nDs3IxXhYzFR5_ZpXs9T9U4aySpGh9dnPl517qXro381sY3hnxbZ6rHAWk8-K4XdDO4wy88g1m3XhOC81a807VIgsN6rRpJEvI3fdOfriq-reDR4Pkk1CxZjosrgyQn_l3Zjwy-xPaus0TXjcXkUchEm3Cr8uc15jtF81PY-2pqdZKjjF7y-aad19zPFfD3xd8R_CO61LR73TUm1S2Bgge8BBgI6MR_GMYxnium8J6J4j-MUy33iDxTdTwA-Z5cjHaGPYAfdHbivQvjR8PW-Ll9ptrpVvEusaXCTqN82FAib_AFaN6t1PPQVs_A34Y2vgvw_qF34i1ZUtrRWeRYCTtA5J9COP1roqYim6XPTSU2ePgspxkca8PipSqYaF-V3svR23a2fob2j_AAj12TStPVpFW0B2qGk_dxqOhrutc1qXVN3h57MtqNrGAZlU7J1A5YGuT0mTxZ8UWgutNhfT_DcIzb27zDzHA6NJnv6CvSNKvdQ021uPtsSiZI2VZsZO7H3c-tcFGrUpVYuO59bmGAweOy-pComoJXvtstGu36nyL8UvC82sXjxxRyKIeWVRXA-DbiPS7qe1ulKnOBuHBr6R12G8i-0zSQJJJIecda5W-8FQXSQSDTS07MCML1r67ER5qbP55ymrGjjISbVvM8o8U-HGvLdrmAqq_TFcOmiTxsS7bfQjoa948aaS1vZSW93bNYCMZ2NxvHqK8ut7iK8eW1Bz5Z-QnvXk0ZyUbdj7_H4OhKpGcXv-JzD2Daj5dsrZYN8zdK9E0f4Yy6lp63Et3a2NonQzP80v0FYLaFcqrywoqFfvZ_irPk8Zz6Hei0vImuFxlVWtZc9TSmzjorD4NueLg7Pr08j3Xwt4Rnb7GocGzhb7ydK-kbv9ojX_AIJeKvCH2TGo-Gr4hbqEjLqvd0PYj0r5m-EviozSWllJcNHb3JyI5Bygrq_jJqiRtotnZyfbjbq2Nozt3HpXjc06ddPqfosqOGxmVSX2Xa_f5H67-CvihpXiDQ7W6jmBWaNZE6AlSMj8a5D41aqNS0G4FtIGwnGDX5T_ABM_aI-IPwsvNBsNL1WS0tJbVJY4ioYjjgV9Qfsx_HrX_i1Y2-n-J_IeaddokjGCT7ivoFi4ezjKelz8llkFaOMq0qGvs7v5f8MfKnxahvLnxRqUt0jg-ZtViO1eJ6xoVzc3W4MwTNfqz8Tv2Vl1xPtSW4ZZeTtr528V_spXVj5xFuwjQ5ziuTlnFtrW57n1jDYqkoSdmtD40TwfI8KqIyxbvio5_h9cWqtKuS30r2--8Nt4b1I21wudp2jitqTQ4LqxLLGOR0xXPLEzpuzPbo5LQxVPnps8L8G6TJJeKxXDBsYr60-G-hrJZxmVR0FeGWnhefTdSZ40KoWzjFfRvwYsbjU3ij8tmVcdq4sVJ1bcp9NkdGOB5vaq1j7W_Z30mGGGLaijAGD-FfRY6V5L8G9BksbGJihTp2r1uvpsHFwopM_DuIq0a-YTnF6BRRRXafMhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUhpaKAPnf8AaI8D3XiCwuBGpbcjetfmp8SvhXP4e1CVpYj945JFftVeWMF6hSaNZFI6MM18A_ti-HYNPku3t4tvDHgV5OLo6c5-gcPZk3JYWS0Ph6HR4IVG1Vyap3_hs300UY-4TzipzJO10qYPXmumtY0jiBYZbrXh8zi0z9RWHhXi4JWPTPhN4W0zS7dTMiAAdWxUfxI8VWGhiVbKRGJ6qteeTeLLm0t2iglZe1eeeKNSuJcuZGcsedxrplUdZcjPG-oUsDN1ovUl1zxfLqlwU8wg56ZrmPEFrJcWjEuSxFVLGUyXe8nHNbF9IjQ8tk4qowVJpRRySqfWoSczN8AeJDot4sDS7Pm7mvpvwj4gXUolAcEEcV8Ya1cfZb9ZI-oNe6_B_wAVGYxqzc4A5NfQUXzRufk-YUo0qzSPoVSIQG5JqZbp1yRyPeorNluoQepxVqRBEVG3dn2rc8sxtQkaaQFuCB09a1NMSKWJVY445qK9hVo8gYaqBeS3IAbigRsDwFcXd0l1aP8AJuAc17v4N0XT9F8N3Gns6PLLGWZe54rlvhLaprVjPZzHDN0Nep6b4Gis5o5gWeSNdrc9RWkV1M5M-AfGfw4v7L4wGezH2Owmb5twwGrrY7680_UptKNti2ZcGT1r339or4aT6_pdncaEmy7D4LJwRzXnHxG-GviDw74O0y9sYPtN2qZmbnPTnNJxGpHJ6HFNpV40q_JZkYCVX1qVlmuJdPgVriYqrccYrK0HxS2vSR27kJJCCJIz1BpdAvbyGO-N6MpHcfu5V67frUFkf_CeXGg3-pQLbRv9jgDktwBkciqptbnWILfVLq4C2WoWrboY-CAOcfjUeoaPY-JPFF8lyGhglhw_P-s_CtGxks7Nf7Ns5UuPsVuxWMnke1BRi21va3mxLOPZDLasqt1IPoPQ1o_B2PV9Hm1TTvFUhOn2tqXt41HzbTnAPrWXf6zNZ-F457G0U3SykvEflIJrzLxP8VvEPhbVIdXkjM0uzypYRyhT096ylUjFqL3Z30MFVxEJVYL3Y7s9q-GN3P40X7ONTurWeyvmmS25CiEHgD29q7T4ga1c-DfFOhwyysumW8iTTyNHu8zeeFOen0r5Ng_aE1TVmaOxtG0mSYgvdQDGQOgGK9Bb4ieLviZZ6XBLfQ3MH2iNLwSJh0VT1zUSrwg0pM3w-WYnE0pVaSvbp107Lqel61pem-MPiV4gmnslj_tAJ9muYxuJAHRfQVzvxT1Sw8TeEdGu4pbVNQ0bUNq2tu5ad404kZ_TjtVLxP8AFlv-Ew0bwj4VtRc3tlckPNCw3SnHc9lqjpXiDSPhvrx1XxMlmbq8FwrWqtuaNj_E-Otb36nmNNaM774l-Ml01dOn8P28N_4U160jjO6AEwSqB8yntk5_KuX8davJo-qWmnmW2-zXdslzHDbgKyADDDb2J61a1TWrTR_AFnNEyy6bfyfa7RPL5gB747ZPSvK_HulX-u3Wn-I7OSR9SsyGKSsSWjI5X6YrxMVXp1peytouvmfp-RZXistgsffWS-Drytrf5K6Rn-PtLj1DWgCzAyRqFdDtP0NXvBfijSvhr4lFlr-oHTrOSE3lvdKhkVsjBQgDg7lP59ant2sNZubKR0kaIjKNu_8AHT9KPi94D03VvCM-qlRaNp9qXim3fx54THcN0rghKL5aVTZ6H1NanWpxqY_B254e9rs0lr2NO5_aVg8Q6lcaXoWj3mq2MaGSS7lIjlz0G1eRg_nXCWXgXUfGni-bVfEF5c6PGABHaxxnzdmcgDPbnrUP7N-n3q3moR21g1xPdGOLeVI-T2NfT9_o1t4F0e48Q-Koore2gh2-ZK4ZxngKo7n0orSjhqjp0F5d2Xl9KrnWFhi8zqaJuVrcsVbbVWvbffqM-C18vg9Nat9FjnmSS1ZUhmPmNLMFJUE_wg47etWvg_4wkvZ_EFzdyw6VrNpufTradP3lqWOTg9WxiuH8IfEy98R-IdO1HTdOfRdAsmIgtWOHuN3V5PU4r0Cw8O2es-PE12B83cLEhE4SRP8AaqKOKqYaXI9UdOO4fwWdUfbQXLJaJ7ab321S8-nYpWuuDTrP4hRXDXOo67qsYWe-eQrMj4ByB2XFbHwlmh0_4p3Fpp2pvbavfWMUNv5EfyWyumd5b1yKn8RK39l6Z4r1B4rENcNbapHbRgvPG3AOO_Aride-Lmj-GfG_iS902FreC7sY7S3m6MGIwp_OvrfU_nrrZHqd9Y_Y9D1Sw8U27a5baLJLL5jKEEsjnG4Y7A113gDw3rvir4V-JvCEyWemeGmtTPHNav8AMd2Dy3c1y13a-OviR4Xg06DwTdzWNxp4tmuYI9okY4y2c969A-H_AMOtY8A_CXVfDWpWeo6frL7DawSncrqDwA3cetckMZh6k_ZwqJy7XV_wKcJJXaseA698J9Tuvs9vZXd9eW2m6a05kmlA3IrYBVT3ArnvDfg_UPFkogtrWQsH2GQJ1PfjsK-n9D0jUNW1628R-MdRs9Ft9FiNrcW9uw8uWMjhSO9b_gGLTNXvLrU9Bjh0-wmkeC2kiXDy--a48RgXWnzwdr7n6DkvFMcvwzw-Jg5cvw20-T_z7fefPPiL4K6cfCdzbapq5t4yrKIYlzLLLjgKPTPFea_ApEu9QvNFFqsd0x-zpfPFuktn5GQCMbhX3Hp3gjw9rmo3janYyjVtGXeiuflmwcmqLP4b1yG51-x0mx0HVyTGsaxKhlccb2AHJ96KmXrkUab9bmuE4wn9ZlXxkNLWSitFv31673Pmib9muXw3dHSLLXtQttQ1J_Pv9RmBke99if4a9ft_grpN54Wg0RYkhsVhEN5GzEGVM5JPqa9G0nRtQs47m7125t7m6MAaDOBg-grzy41jVdb8aJbMHWzWMrMIhwW9a7IYWlCXNa7PmcRxBj8RSVFztHyVvy-993q7mtqngrw3pK2Fhps7rarHs2j7tYHxIsLfwpFp8dnbSvBMuGkb5jn1q14gs5tGt7P7Di5cSZG48itv-0LrXJ7Ow1O3jdduAwxgURwdCnJSjGzRNbiDNMTSlRq124vddDzC2-GI1vTTdMWZ5myq-lbOg_CadriJWjMixc8elem3mly6NblbdVaHGa3_AAdcCGF5rhSFbHHt9a7D5882-Kv7P-kfEDwqGWH7Pcwp8sndfY-or4X1f9mHxhY-Jri2s7PzBGd4uA42Yr9a7_T7XUPDrnT_AJ3Poa5rS_DNta-G7tbiGNrja3Uc1zzoxk-Y9bD5jVpRVN6rpfofkXrFnfabetpl4Cl1btskxXN-L9MFjqen6olsbmNF2TLt_WvafHHhG7vviBrz3kqWlyly0mJBgFc_LVKz0291BpbR9OWeHG0yxDcK8L2qpy0P1NZfLF0VzvV2ae-qOi-A1hp-ohNTuYbVbGT5PMncLtPt3rp7fwmLHxzJLcBbmyZtyMp3jb-HeuA0jwFptkxD-Yg3ZMYYgD8Km0nXPFfgPxPcJ4aSHV9LkIKx3ZyYj6CvPlH2knyv7z6-hVeFoU416V7P7Orv6WWn5D_2nIrfUviFodraBLkWVopKJ1AJ4B96-s_2Wfh2bttGvrO1MVttWVpsY-buK8n-EP7N_ibx94on1vxSIYZ7w79ydI17AV-kXwT-E9n4H8NWllFl4414YjBNVGjLEqNKm9EeDmmZwyqnXxEl-8q7Lqltd9nboeiaPp6SaVFFOgcY6EVkeLvBul3fh69V7dQ2w4Yda69IxGuAKg1C0F7YzQHoy4r62nT5YKLPweVWUpOSe5-QH7RGjpoHiibylwvnHbkVz_hm6a-jWPZmvqH9qf4A3mrXzTwxEHeWBXNeVfC34Kav_akcVxEVQHnINfPY2m3LRH7ZwzjKcKCUpbbmr4C-D3_CTOrvBkMeOK-qfhT-z5HoUkUogUKeeldd8I_hamkWkbSRrwozXtdvAlvGsaKFVRjpXXg8HaPNM-f4i4kdSq6OG2K-laammWqRIANvXAq9SUte2lZWPy-UnJuT3CiiimSFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA018Yftk6O32W6cfeIOK-0O9fI37YlwJLOcqpbbGc4FcmK1ps-hyKbhjYtH5zwQx-cc8uWx9K0LhfLjKA9s1jXVy9neSOI2VS5PIpr68pVvMOWPrXyzi7n71GtCMdTmPEesnTroHPGeaxdS1SO4g3A8EdKf4omS8kJ4IzXNzMFXbniu-nBWTPkMXiJ88knoUY9TENwV3YG6tWXVFeHrnisWW0Gdw5JpGt51jHcV1uMWeDCrUjdMht7VdW1B1PIU9K9H8D2Z0m8VhlVz0rzjRLg2Op4C8nrmvXtPMc1tFInBIGa64VOVqKPnsRgvbxlVb1PoLwfqCXlvGM811rW4k6GvIfh5qjxyKjfd7V6_Zt5yjBrvPletilfQ-WoON2axWZ2uFUjIzXT36-WmQM9jWTFCqMeATQSbvg_xLceGtWhkiJbPUZ6V9K6b4-isdAfULiMHahJGfavkuGZ7fUYmIymRmvcF0mPxl4bhtba9-zMRhvmx2q4siSPSPAF9YfES3aSFhGC2fmGBWJ8Xteg8KaPcWuxJ02MDjB7V1Pwx8E6boOnxWgv0E2OcHBNc18R_hza6lHeTS3qrEqsDGzdTitDNbnwX4Zs4bzxdqmp26EJIxGOg610jTKjTWHlFUl-Y_UVFY-HbrRfFt1BCAbIzE_hXcTeD7drhbtnKN12kVibHnMuk3Gr6va3Nr-6kthjYxxv_AMazdQ8JvpOu3OvhXjEcLPLGp-9jtXpdxoom16L7PkWypksvHNcd8ZNWm8P6ETCy-a-F68kE4NY1JckGzvwND6xiYUujevp1PKbi8vPF2pm4eWS3gbgRRYQY7dK3fEvw30g_BXWRmRddtw13BOzF2bB-778Z4q54Mhiks3leL5oW5AroY76MbrqbK20WWYy_dC4IbP1HFfI1MRNzTvsz-hsHlWEhhpwUUlNNel-vyPmnwLYx6hb2qRET3hXJRRwg_wAa9r-B-iLrOuTBIns_smRc5-7Mvp9RXCfDazgl12_ksp7e0-2O5trfaNynJx-BFemeENRu_D-qW0U9tJbSyXB-0OEO0L3PHatcRJybSODI8LGkqU57J_LTb_P0KXiK68K_DjV_Gd7Z5Gr6g6wRaiowkCfxbfQ-4rnbHwjpEccXj3xJcHUPD91C8NpZxrulkYDhj7ZrY_aAsfDEPhV5Fmmu2ubreWClQVzzg13Op-LPCUfwx8JQeGbOGRHj-yj7QAfKyvzMfevp6OtON-x-HY9_7ZVlH-Z_mcob7zkt1NzHPugWdbM8MkfbA9q3_DXgfWPFbPOlqI0wdrPkeYcccdgBXHfC-1sfEXxI03Ur21k1DT9JaS3uGU_IwwcD35r0DwL8YtY8Y_ErVrDTtOuLawANs0rLsis4wx59yR3ryZ5c3P3HaP5H6DheMY08LbEQcqqVl2fm3080jy618Mr4a1aOy1tnttOup3lWSAhmjGcZxngZ7d66z4veE9G8QeH9EtIJri08OpIwmuic4cAbWZR1H8s1mfFjxFotj4qtbueNbnTIboQPDayDzJ4weWz2Oea2fiXqy6l4fSLw3Zq2lNbm6jWd8sARzu_wrSODlHEKW8UclTiKhWyipRfu1XayS7NPV9vI6X4e-G9e0GHwpdXc-nnSfsztNdWP7uQpHyCy44z6jrWh4i8R2fxe0jU9OtVa1so54TO96oB2h-o9yao_AyxutV-Bv2SG58vUZZJUuGuWyywgZIXPQVW0qw0vxR4du9QtYpYV-0CN492xZRH6_lXRTwNKE3Pds8jF8U4_F4eOGlZJNPrra1k_LS_meiateaV4Z8OsthpttqUdq6288cMQMn-8OenvVIeKvD2hnTypVv7WBSOOFeUIHIb0way4fFUFw9xc2Ma2NlBDsmWUcyNjAx61yesyJfeEYzo8Ajv47jd5mOeTk_rWUcsoxkpK-h6FTjfM6tKdGSilJW0Wq81qXfGXiB9DtXjNwuoQ7TEQG4j9CR-NcJ8DPA4-K3xZtdK1edcafMs91G_SeIHK_Wte38KhrHVZb-dWkuUPmAn-P1FbfwJ0TS_A_jjTPE02oSCWL91dxFvvx1vjo1ZYaoqHxWdj4SjyqcebY_VTwfLBZ6Y06L9j0iCFEhEnACqOTS_ETSbLxN4Ju5Gco1vE11bzocbSFJHPoa8k8J_tNeAtYD6He6lHDZu3lRG5I2yLjoa8u_aN_aTgkhbwv4fuxFZIvliWFv8AWdtox2r8ayXL8fHGqnGDg1q21sepiHBrnvc821vw_FZ6FqGsahe3GrRXA84WbHK7vpXSePtY8S-Ff2eNCuNIsI7LU5v3kbQj_VoTxketeTeEfizp3g6S6sdWk-2yOufnOVX2Ga6q1_ar8P3WhtpesRfaI2yIlwCFAPAr9w5lFXkzzqVCpWlyU1dnpPg_UfE9v4PsdSm3XF3NaZmkk43sRWforq2mzavribNShUmOEH5c9jj1q94f8dJ408P6NDpM0eFcBIeCdv0rmfiPper2fiJrNo2SJgGManBYelWmpK6MZQlB8slZnb69qll4-8E6TFBePba1kM4RiMgHpWJpevSeE72W2mgUzTDZ83Wr39j6f4X0TTtUEYjuY-SucV87fHb4t3cHiaPVLDPkx53AD2ovbclJydke-w6ZLqk16XudsgTfGueh9AKxvDd5eTSTWt67C6hbhvWvEvhT8TNc8deJFlheRDgfKx4Ne_X3hi8sLMalcDYrD52XIOfX6V5zzHCqp7Ln1PdWSY90lW9n7p2uktd65ai2tGS5kXh2ZuntXS6Lsht302-ASfbgJ0_WsL4NSWWmzyMZVYP8xbPU-tXfiRqkUeoQ3kZVcBg204zXm4PN1i8TKhayPRzHIvqGH53rJJN9tTq_D2oJofmROwMRGRzWd4g8aWVnBcMSqZVsnPArw3W_i6mmKRJNyV5GeleHfEb47C6huLdLk4dWXCtzX0UnZNnytKPPNRPLvjt40Hjb4oak-jlvsqkW5ZR_rCverfw017xF4BeaKS2F3YzncUYZZfoa5bwfI7a0twbGW7i3Zwqk4_GvXdLtdV8SX4itdN2Kw2RIykGvk8RUu2pLc_f8mwns4RnCbvHRW7efkdDa6Ha-MIo5rbEXmj95uGDu9Kl0T4X3lxqsMNlBMFWVQ0u09M9a7kfDZfDvhFInv1TXVbzm2fcjH91j613nwL8RfZ5pItVuo5JGZdkaDHTrXB7Komo7XPp6mPwvsZ1afvThv_wD1r4X-H7qxe3SVGdY8DkV9QaDu_s6MHjiuS8H6Tp-p28dxb7DgZKiu7t4Ft4wq9K9rK8DPCtuT0Z_Puf5msxq3asyakpaK-jPkzF8QeGbPxBblLiNS394jNc5pfwtsNPuvMEcY57Cu8oqHCMt0dVPE1aK5YSsiC1tY7SLy4lCqPSrFJS1fkjmbbd2FFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBDXkPxe-Ff_AAmMEo2B1cEGvXqRlDAjFRKKkrM3o1p0JqcNz8s_jl8G7bwZBKDAFK5-bFfJ-q7IpXUEccV-n_7WPw61HxFZXItlOWU4IFfnB46-Eet-G1leQSPgnJKmvDrUeWWmx-p5bmXtqH7x3Z5nqFwqk5w1YE06zTYHr0FZ2vTX8NyyYIxkciqvh97v-0rYSL5m5wMVtGnpuedXxjlU5bHc6f4QvbqMSpAzqRnoaszeH57dDvjwe_FfafwL-Da634PW6kiViYs8ivDPjN4fj8M6zNDwnzEYrGqpQselgZ0cReK6HzxPori78wDkGuu0PUjZqsc-Qp4B9KzvPR7zGRnPrVq8QeWo6ZNPnaaH9WpuMrHsvgOZpphgbgOcgV7Rol0DHyMMteZfA57J9LUTBXlUd-tbvijxxZ6HqBRJlQc8ZFezCa5T8zxFGUazikdtrWpQ2se4kHI55rjJvGFssxCyAFeozXlHjr4yRPCyWs2-Q8fKa5v4ZXGpeMdePmSEoONv41zVMVCknKT0R6NDKateyitWfTFneQ3yRv0UjPNb8OrT2PltaTsgH901zM3hS80_T4_KRmbZXMLr15ot4iXfyLnkNXHhc0oYmfJGWp1Zhw7i8BT9rKN11Pb9K8Ua1a3UV7Hdu5XqpNbGteJNU8SWpke6dFH3lHGa8x0PxGLllaN96-ldd_a6RxsjfKGGMV7d2fK2KM2iRKn2mFw0q8sp6mmTXsepMu5Nm0YJrOurq4066aRNzQMPwp8OoQohkK5VjnIpCMjxFrSeF1muVQvCqZZv5frXg3xB8N3vjidL19RaKbK741fMeQc4Udu1etfHbxBCvgeeG1RfPfb3AJXPavmy18Y6lZ_ZFdhNp3nL5kQXbImTgsG7_Q14uMlUlNRg9j9P4Zp4WlhZ1K8buT37JW_pnp_hRNO0OG_-36qLSchSI2GTJ9K5Lx3_AG_8Q4ZNL0_Gk-HweZWyJbkDqW9FPpXfWfhu21a3W6ZFkdfuO2OnbNXM2mkWYmnkV2H8LHJ_AV4EanLLmS1P1epg_bUfYTfLDye67N9vJWueZfDn4LSaL4ittYuNQf7PZfvQpGNxHQfjX0HYzpb65oN9Lb4sLp5be4jlA27WAKHHpnNeK_ED4m3On-Fb46Kkcdxb4LS5DCHJ4LD_ABrO8P8A7T8uu6XaR6zpMLahb7VN0rbVZhjnYOM1pOnXrJVXr0OPDYzK8tm8FCXLf3r6tN3s9de3U9_-KfwmtPidc22nQGO20zToi8jRqF57AV5SvgXR9Eu_DOh3LyRW8csgd8YDntX0lH9m1TSbG40y52pLbpM_zD5yRnacV5b408I3PiXxPC8jqkcK7hHF0U19XhY8tCC8j8Gzyq62ZV5tW956ehyuiRWXg3Q9R0Kyj8q8W_NzAY-WmX-6fasqTxJeW-j6paPt0i8vCTJHAMNtHqexrtLfwe-h30muQw_ab3BjCs2efWvOfG3hrWdQkXU5-JixV4lz8tdR4Ry1jfaRb6Lcy_2YLqaC4RIt3JHua2dJuk1rx2mgveLFpd3GJ5mTpEByUz2B9K5JPCesR-IPsckMkdrcLnfggZrtvh78N_tXjTTtPLkm7fypGXrg85zXl4rMKWFlyy3PocvyWvmEFUg7K9vmepLb2sc0kmhzPEby1kighXgRDoWP1ri7WZ20lvDdklx5cjBJ7hvlXeOpH1rr_iB4J8S-D7iUWEapZbhZxsPvJ7iuDiOrTaDqOmOSmo2R3ifp5pP9a2w-Mo4mj7aD904sVluJwmI-q1I3l0t18yb-10s9am0-9VntbWL5EU53sOMmqM3ii9m1RbBY_stnL86FRjB9M1a8O-DNYh0v-0dRQNdSBslu4HSuZ-1Xk9tf-e4SSN_kjHUCuqFSFRXi7nBVoVaD5asWn5nS6tItvHGk9xguSwYHrXH6LrUkMOsXlzOdqEoig8Ulik2taLIbmbMsP-qUtya4N21eG6vLSRAlvIdzL6_SrMjqfDOryaxbyXMk5aKFjsyeTz0qj_wsy6uPF3kXYkiihXYrYJHPqaz7ezubBbWC3G23kbc3bbWlptmZPFUtrLbrcR3G3DqMhaiWibNqMfaVIw7tL8STVfDepeJJJZRdMEblTyM1INC-w6HtncvcR9-pr0LXNBv9Ls1S1jEkaIOVPHSuBuV1gTfPZuB0Lt90D1NfMe2lV3Z-5_2bQwCXLB3asdn8C_ix_wAIH4is5bqV1hiPyhicZr7itPEcPxGjtvEihZ9sY-78wr85lbTbdY4pvLu49-yVoedue_vX2v8AsXeJ9G0WyudCup8rIfMgMpx8p_u5r0MLW5aig9mfJ53lqrYV4mNuaC1tu_X7z1i40uTxZprQXERTAyFxgYr5j-IXwG1fxVfXtrZf6NDCxJZlyD9K-4NTsLezha7iYSxhTgKetP0O10_VNJnuFiWN25bIBr16kPaRsfnNCt7Gop2ufIX7KvwA1fwpqV1e6hsch9kajuPXmvqfxPaxSeEb-C7jWMxqQv0xWO11daLfP9mCNEWyOwrE8ZeJLu-snjldY42Xa23rXxVbIa1bEOpz6H6DHiPDqnTTT93pbr1-8-btH-Kd94ZV7O2WSa6eYpGvPPzV7n4qsb-6-Hf9pXamO58nzfocdK8xsdA01fFFndSRKFik3bmAr1H44_EzTLD4az28Dor_AGdlVVOSTivNqYWrl-Mh7Jb_AOZ9Q8yo5xgndLl1T8kkfnz8SvixK1zdIszGQfLgGvELjXLy9naWSZi27PU11lz4C1jxHfXFxBA8m52bOCRXJappV1o1w1vdQPbzL1DDrX6HOTPyLDU4_Fe7Pb_gz8eoPBMBhuYhh_vM0YZa9eb9qrT45Umso0jlHIaFQCK-J7e4MbVYXU5Y2wnJryp4OnKXPbU-8w3EeKo0Pq_N7trfI-wda_agt722ENvuE8nBD8c_Wl8H_FC7hmWeGbDK2WHrXyXZ2Nzqd0pyzn0FewfDyGSG4WC6U5Iwu7vWWJgkk77HpZLiZym4cvuyP0Z-Bf7TSWKwx3k-CRtwTX2J4V-I2l-KLZJIp1VmGcbq_D3xprGoeC5I7u2lZUDjgE17N8D_ANqu90byUuzOo6biciumhieWmnI8HNcldbGShSWp-w8brIu5WDD1zmn18l_D_wDart7qxiMlwuB1UmvfPB_xS0zxVbxskgVm_wBoV6cK0KiumfF4nL8RhZOM4ncUVHG4kXcrblPTFSVseYFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZ2raHaaxHsuIw4-grxb4tfs86Z4g0udraBWcr02jNe9U1h7ZHeolBSWp0Ua9SjJODPxv8AjZ-ydfWOo3EtrbFfmPAWvM_h_wDs46vceKLZbiBhGrcfKa_bDxN8OdL8R7vNhUM3U4rmNL-Aei6deCYImc5yBXJ9Xalc-i_taMqdpLU4P4FfCdtG-H7wyD5_LG3j2r5A_aY-A9_qGsXd7tZEjJY8Gv1D0_ToNLtVghQCNeK8R_aAuNBtdFnEjRmUg7ulXWpKUTky_HTpV211Pxf8UeFW8P3hZkZTu4yKyZLp5VKq33ea9W-KjyeJfGl6IowtpE5VNo4-tcNJoSWLZYYGa8Zzjc_SaeFqciktnuYmn_ELVvC_mJay7CwxnNcbr3jTWNe1TM905B9zXX6hpsV5IwQcjPauD1SxNjqByuQRxXfRmmrHy2PwsoNStpcvQM-BnJNes_s9eIE03xf9nnYBZCGXP8q8jsrhWGCfzrS0OS9XWoJNPcrPGd2R6Vz16PtoSpdzehiVhnGvfY_TC81iwi0uO5aRGG0DGfavA_ijrVjrTsLbaJV6FTXkeufFzX7LQ_KnhfzNuBtJx9a5f4e-J9Q8Sa15M253kf5--BmvBwOSSw83VrO1j28z4rp4qEcPh48zkfTnwv02_vIVBG5eMHFeg6tplzawpmM9eTWl8LtPi0vRoiQBwOTW54s17T7axP2h0Awce1b_ANvqOI9kldbHKuD1PCe2lK07X8jnvtFncaT9nkGJMcZ61yPiLX9O8M6RL9pkWJmBEfPU4qg3ieG-1NPLcEYwMH3pfG_gW18X6I6SsY5tm6OYc-W30r62UpSp3huz88wsKMMXGOI-FPU-VPiBqWp-ILhbyW9mbbLlFVztwD0xn0o8mP7SV2l4mGdoH3uM4_Ouvi-FfiG_MliLNmEDMPMxwc0vhPwbq0l7bafPp8rahHK0QTbtLL2bJ9O9fPOppr0P2Kng25pxjZT27adjCk_aGt_Bvh2HTR4elvdVh3L5085WAg9CQOcj0rG0Hxz478Zafd3zRx3cMzEQW6QBdqj7xU9gPfrXuVv8DtP0-C6nujBe6idwTegaONiMc561e-Hvwd1OxhtdGW908pDFkqjEbuScgfjRKVONFVYQ1fVk0Y42vmcsFiMQ1GmtlZavb1svU8j8F_DbSlsZLzxK91JHdN5kmnJLhC38Jdh_KvUNN-FXg248JB7TSYYdQlcKUjJG6PJOVzzkDvXSeN9Luvh_pe7TbTT9W1dSDHBMMwxnpuOfvn2rnvCumeKrjWm1_X0mbUJVK7UiKRxpj7qL0ArinOrKPtJOyex9RhMLgqNX6rSpKTj8Tttfu3u_JGX4Dv8AUPh740OiS3slxplx8sO4n5SfunHb3r0_T7y40fVLoSRu08nylX_mKw7DwiL_AFmG4kgdZ4myZJB9zPP41d1jxY9_rckc-2IxnHmevbrXq5bWlOTj0PguNcuw-Go06yVpOTS846b-g3T9atbPVDY3Dyi4mYvGMnA9qu-FbptU8ValaXUKvDjKBhnLD0rkbfZeeNi80qrFGv7tz3Neo-E9PstJ8QW2oXRVomH3s9a-gPyMuaRZ2PiKSQXFnHE1qdjKww3pUvgL4Z2cHjh76xLkhwIgV4BNbAtYL7XpNRso_wBwzfPt6H3rrV1Rbe5iTSHW3nYcnGea-dzTKljIuVN2mfaZHxBLLX7Ksr09baapnFftWX7eFfD-nQmeMXpk81znk4FeE_Dkf8JZpc9wA3niXLlh717J4--FOufEjWhNqDNfFG69gM-lWtC-Htr4ZS4sbe28qQY3cYrzMXgngMr5L6p3-89zJcw_tHPYzlH3XG2vkv8AM42w0e71jW4LGZ1NpECW2noAOK8M8deGp4fHl4tndYjnOxI1H519l6N4AS2uPPjBE8o2vk8c15P46-Hdrp_iKZkBEyk4I7HNc3Ds_aVKmuiR6PGqgqFJKzbb16-h8x2eh3sGtS2XnEtApc-hqvbv9uvfIvIiJmfAYDsDXslr4Hmtdc1CZn3uydcYFaeg_DGHUNPbU2QLOGKqCOnPWvvj8gOD0Pw7pH9spZXhISRPvHoD9a6mz8L6X4P0nVLhImupUHyMo3bffPpXR6X8L5dRvoLSUgO75aTHRfWuz8RaXB4c0G40-3h86bbsckZznjFZVY88HFHbgcQsNiadZq6TR5Fp9z_aHgW9uIpmuGaX5pFP-r4rjdavP7U8Pz2dpcia7XDT-YcNtH8KitP-w9Y8OWur2dvMtrp80gkG4YB4zivA9a8WXnh3xwm1y0W7EyJyGU8V8rRw7lOSXQ_d8wzaFHDUqlWLUZpJ_N7r8D0vRdJCxx-RaCWZvbha9maxjtvCccd08tneabaG7FxbvskTnO3I9q4X4e6sl_NJFb2zOThg6jcK2vjvql3DpKaLYELqOqxqbhsY2QKOn1J_lWEnKVVRWjPUw8KNHBTrNcyata2j7Lz1sfX_AOzN8RrTx54CgtZr97-RlZUml5Z8evvXqGnrJpVjcQopC5r4V_ZH1ZPhvoM7Xl0yQrdq4Z-OSMYFfZ-i-OLTxBaviddzD1r6HA1XPmpt3s9z8i4owFPDuhiacOR1I3aWyfkWJp4JLOQEqzg8HPSvOvEVyJN8Y7812EliI45ihzv61xOr24hWR5WA29816x8EeVeJXFu0zKzD6GuMtfDepeOp2t_NklhB6NnFdjdK2v6s9rCN4L44Fe_fC74PvarCRFgzbeoo5FJptB7SUVZPRnnnw7_Z_Nrp0oa3UYXhitfJX7Znw9j8Ma9ZXEcagvkOQMCv2StvAa2OirAExIF5YCvj79p79mmX4kLOIlLGP7uBU1Y6HThKijUTlsfkfLa7W-UU-KxaMbiK96-Iv7L3iLwO0jmAy26DIbacj615bFphjukhnG0bsNXmudj62nh1U95HZ_CHw_515FLeKPLY9Mc1698QvCkejaXDqFkmHQbxxgk-lZ_w38KRXVvBJBMPl_h716X8QLeNvB7JIAHVa-erVm6yP2LLstjDLpJrW10zxD4h3A1jwWZwh3mMP9GrmPhLJ_wkXlwKfnXtivVYPC8epfD95JOCUIxiuT-CWlWmgtNcEDdGxB_Ot1UXsZJbo8aphav9o0qkn7slqel6lZ3nh23jkt5ig2_MMkV7L-zn8UtQjvoLaeViucZya8A8X-OYbxzAX_edlB4r1P8AZ3sJLzWIGCHZ97OKwhKpBJHrYihgq9ScmrpI_UXwDqzato8bt6V1Ncd8NbM2nh-DII-XvXY19fSvyK5_OuOUI4mahtcKKKK1OEKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASilooAoa1K1vps7p1C1-YP7YHxS1qz8USabbyFYZGINfqNeQi4t5Iz0ZSK_Mv9ubwW9rem7hiOVkyWxzXBi21C6PquHo054nlqK5812FuLiDzncNI3LH3rmfFO1YWCcuTipbG41BY_LVT9elM_sq5uJhJc9BzivnYqzu2fstSXPSVOETE0fQykbSSfxetc14w0JJPmXAI9BXdalqcVlGUDKuO1cZeXRvWPz7sHOK6qTlzXPDxlOj7P2O7OB_s-RZtkYZ3bhVXqTXuHwp-Ft1aMLi7iYyzKDjHSrHwJ-DWoeN_FiT-Tugi-Yce9foH4H_Z1xDFJJFhsDjFOtiqsKsYU16nzEMHh5UakqsttkfG_i74ctNpe0wbSP9muY-D_AIDXT_ETtIoGZMcj3r9BPiR8ExpWk_NCASvHFfOEngSbTb6WWOPaynPyivTxf7yg6d7Nny-WR9jjI1lHmjF6nZeIZhoOgr9ndUKpk89a8K8Ua9qWsxtEsjEE-tdL4u1-9FqYZGYqoxgivL5PFsWn3GJ3CA9Aa-cyvKnh5ueIVz7nPs-WLpKjgpeppaC1zpchkmfJU8bq7OT4mQWcKRPOCQOma8a8Q-P441YwKW9-1cVdeIH1FXkL7T1Az0r6apX09zY-SwmUqV3iHZn1bofxDk1hvscUmyInjpirHirwjqGtQ2cljdfZJ4Z1k8zceB3AI9a-XfAPjW60nUGDOWjLZBzXudl8XHWy56H3qrUqsXB9TLnx2ArQxMW2oPQ9H0rS2sLRob-4W7LS-YGHVc1Id-m6tHd2pG5QdhHUV5_F8QF1by1DbXJ9ea7bTy00cEjPjuSa1p4eFOn7Jao4cbm2IxeM-vN8s_LQzLi5bVbl3vI8Or5GBgZ9TWzceLL_AOwskUhby0wCT90e1JGsd9qwjjG_121J4i0EWtruRMOwxgcVUqFOaUZR0Rz0czxuHqSq06rUpbu-5z3_AAnn2_T7gSqouoh8rJlenf0zXnWtXzayoaFts-7cw9a7Ow8Nol9krncCWrh9Sh-y-MJ4VBCfTilRw9Ohf2atc1zDNsZmji8XPm5dEWL66jbSYbsAxzQ8H1PvV_xR40n07wnbTRls8Ae3FV77SZbvCQjK5yRiotSMWpaJdWE0W1owdvHeug8gm8E_HPXNK0O6WRAYGGVbnmoLP9q8aLNCChlui-CqjkVwl1et4b8Mpb3KYVvlEh_lXmt4trdalb3CMpO7J5rzJYiaqSS2PtaeUUJ4WlOT956v0P0M-H_7TWm3mkx3d0ywsxAIc4x2rufEmqhL7TdStUWeK9YeYOvHrX50JrDQwTW6cwsA68dCDX2N-zn4mk8VaLZTXl0jJYrt8snJLAYrllWWIh7GsrqWh6ksm-qSeMwM7Omr2Z694g-JGhaPbT28Q23235N3GDXHaTZWV1a3uravdrLLICQpOe2a5L4gWq-KfE96tmhe5Qfu9vtXb-BPhfcat4LuDqDNHdBc7PT3rvwuCo4OHJRVj4rHZjiMwlzVntsux5NYPcav4qCW1uWsZXCBiO2a9M13wvBoN7p8KP5cLnLKO9dZ4X-G0EemxwxFRNA-Q9aPiDwf_pUMl5ysYHOeK7jyxug-HdL1TUglng3Bj4YdAMdKoX3gKa01O7bUYg8DcqzD2rrPhqulLr0sNvgzqM8d6m-MHxJ03wxYyx6pJHaFlKqZOSfpUSkoxbkzfD0p1qsYU43bex8OfFS-hv8AVJ4YWX5JGVV7Jg45rxZfCMGoagkUcH2m5nnHmHy8sF9PYV3_AIo8ZWmrfEPUbaCFUS6kLRLwM4HX3JrA16xurW6eWy1GfTpmGDJbvsb8TXycW4Seu5_QNaMMRTjLlvy2Vu1ktDrdN1ab4VQtY6YiwM3zkSRBm59M1W0jTdX8b6811fN5ksxCJuHLL6ewrnriDVZIdP1LV7t7qyd1t2uZefLf-Ek-h9TXouseII_hXpcVyzQT65LEXsbRjkSLjlyQeFH61hJNbatnqUakJ3dT3acLafl9_T_hzzj9ojxdH4D1LSfDNivyRwfaLnYcEyHoT9Ki-C_xN8d6pqV1JourzXEGn24nktZ8EOo-8Aeua4XVNB1b4k-JF1TVm33N84LMg-6PQe1fQPw7-Gum_DKV5YdRMuoTwMr20IztyMYc12urHDUkov3j5mnga-d4-VWtH9wnon0VtD6I-D_xrsviFoUs8UuZ4Rtlgb7yN71amsdS8ZXj29hE7Ifvcda5b9mn4Ox6Ro-tX62zJJdzBQzAjdzk_wA6-x_gT4JtNPvneaFXlxkbhxXvYOq61PmZ-WcQYCGXYt0Y_Pyv0PEPhn-z_qtn4gjnuLYlWYM24V9i-HPBtppaxMY8mMfLXRpbQw_MsaqfXApWk2_dANdvMloj5flb3HyR7o2X1rKtvDloFczRLK0nXcOla9FSUfL_AO1p4F02HwndXUEADLEzMqr1r8e9VsTe6pflYtuJWwvcV-5f7RVvHJ4Hui4DHy2GDX46eLvsNj42vreHaF8z-GvJxbcbNH6Bw6o1ouE2ch4C8T6z4f1hLVGdoSfQ17P4kvtQ1zTI18tljYLuFY_hvw5atcx3eEc-9dxcyO1rthg3berKuRXz1apGUk0j9jyzB1KNCVOU_dexmNaXEfg37JCoQsuOa4PTvB134b0mZvM81pDngYrvrq-uIbWJHiZU9MVcsbVNU08qPvejc1lGbijsq4WGIkmt0rI8E0W2n1TxgqyKWCnB3dq_RP8AZX8Fo_kO0Y6elfFTeHXsPEBaJdrs_wB7FffH7KdvdR2dt5hJ4r0ISVSrHQ-Sr0ng8BX5n7x9k6XaCxsYYRxhavVDDzDGe-2pq-sWiPwCTcpNsKKKKCAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAT3r40_bU8Mz3-l3UkMW85J6V9l1yHjr4f2vjKxeGYKS3UEdawrQ9pBxPTy7FfU8RGq-h-J0-qNpl55dzGY9p7iotc8RJdW6i2iBcjoDX2p-0F-yH9pjmk0618uQZIKr1r5r0f9mfxLaXLGa3kKqcKSK-fnR5Hqj9gw2ZrFK8KiSZ82eJP7TO91j2DrzXNaPrdzuZHT5xmvfviR4MufD87Wl3AyHpkrXmVr4RW3maQr61vCpHltJHl4rA1fbqpSndH2_-wPqmmajPAtwF3kqrL3Nfpzp-h2dsqNCi7cccV-M_7Gs9_p_xIEVvu-z5GcdBX7AW_iq30Pw3bS3kmH8sHDcV6dDllHmaPgszhUp13Ti9zM-K2lreabvwNyL0r5M17T4LW6mLIMtnmvR_ih-0xo9jcG0mvoYi2cAsBmvFNc8bWusQy3MdxGY2UsGVga-QzutU9tFUz9G4SwDdKUaiWp5z400-2nldCFAbIr538beCft2rZBwIx2r0Hxd4-NtqrQlvtERySwONtcvBrEniLWHSMZQL8zV6bxMpUYrqbYTI6VLGTlUW70R51rXhz_iVOFyWAIwB3ryLS5r-51J7MIy7Ww2a-n7jRv3zqwPlkde1efN4PNv4kdxFsRud2MZq6GISi0ys0ympOrTnTdlezKugeHTHGh284zV_VJ1sfkfKj-tdXoOj3E2oCMRkxgcmq_jbwbPIolROnJFdOFjKpU53seLntang8L9Xj8TOb8Ha-LXVd8snAOQGPFepx_Erzpkgin6D7qmvB5dJuDeLGWaA55NaSL_ZBWZHLyLxk17jdlc_L4rmkkz6c-H-oXDagZmO4EZArtl1CTV9UME0RWL1PSvOP2b5pfEVzunTKrxzX0tq3gy1OniZUCMATla-YlnlOnX9hNa3Pvv9VXUw6xFOe60Xc8u1SyTT5wEwztwAtc7ffD77ZdLfGPMjHsK0b68aS8bDYCPjnqea7_T9s2loUxnaCcivp07q6Pz-ScXZnmN74Ju7OGOWGNm2nnArjvGWnppOkS3kg2vGpZuOv1r6l0G0jvtNYOAzY6YzXHeI_BGm6naXUN5GrW7ZByecY6_nSlfldjWhyurFT2ufCnjzVRrWk2kM-I4pG-UDqT615_ceE7i3Kyx3exc5EbHmvT_F1xZaH8QGsri1WS0ti8UIbsxPBxVW30OHUZHuLkByDwqjOM188qkobn63PA0sU_c6aLpYn0Hw1dnQtPnuIvMivQyrMnIBHavY_wBnHQdR0vxU0Ed7IlrI5fys8elV_CuhiP4dzaduMRkl32QYYKtjLfhnH51j-G08UeFZ7TUtLkjuhu2zK_UetckK3NPe2p9PXy5xwqjGDk3H8Wrf8E-orHTo_DHip7yQeaWj-oLZr0nS_F26SSKNRHujGFHRsjkV5_4Jt7jxJ4btb_UQscjr8yr04rsfsMMNnHLEFXacH2r6mlUjVipx2PwXG4Otga8qFdWkilqniK_0N5ZbaM7GG7b-NdLpviFPFlrBDP8AJK2NwNUrSax1COVLhhhRhfeufhUabqkksM23cwwta-hxWaOnn0ODwL4mg1KOXHndQp4xXzV-1743GteM9Nt7XbKDACWY_cyeuPWvoO_1ZdZuGE7g-WMfNXj3xY-E-ia9fHWIhNBqGAjTK26NlHbHavMzBpUj7ThNf7d2umr9j5M8WeH7bXljmtpBFqdswkSeM_NV7w1cz6zHJFcjGoRL-8ibgN_tCvYdN-BNrqUr3Datb2VsudzfxHHt1rP8eeEfDPhmMy6bNNc3UOM3WNu7_Zx6V4UHKpG0UfqleNPB1uepJJytdJ7-fyOS8Ms8_wBqs75FurGceTNbEbg6-3vV60_Yn8YSXw12z1VdWtJ28m3td5kljgPIBz0xXrXwT-HmkeIPLvobK5tXdVkaSZgVBz0A9_Wvr_wrpK2dmYRFtJGOBXVg6Mqyk4uyPD4izCll0qEKsFOS13ei6apr1Pmj4W_scvDqdlPrN08MUQEnkqmHc-me1fQkP7N_hWzjlmt9J8iWQ7mmZ9z7vr0r0Cx0wxMhiGwj71a8mt2mm7vNmVmPbNelTwFKKvPU-MxXFeNrTSwz5I9lp_wTC0DwtBptmlukSpHHwgwAfrXV6JqMOh3mRIobp1rmLrX4m3vHIGJ5XFeN_Fr4i3_h23N3bqzbG-bHpXJPM6GHl7GJeGyTE5pU9rXl7z1PqDUvGnmrthlUt_dFbfhm6mvIt0hya-c_gN4oXx5HFNNJmVscV9Q6bpyWMO1RRSjWr1FUv7p5ebYell_-zxWpoUUUV758meWftAaPNq3g25WLJ_dsOK_ITU_htLF8QNRW83rI02VJFft9rOmR6tps9rKMrIuK-XvGX7LttqniJr1LbndnpXnYynOcfcPs-HMdh8LW_wBp-E-HbPw0-nwjCERL_Ea6rw7qlt5flbRsHU19UeIv2aRHozItuenNeQJ-zveQ6pIEjkSL6V8zUwtVL3kfuGD4gwE5JUZWR5x4lgtru1DpEPl9K5zQVNtMY1ViH6cGvbNQ-CuoiRYgrhfpXd-B_wBneS8VHltz8vqKinhasvdsdGMzvBUWq3Mjx_wj8HH8TahDLJCx3HPQ19vfBX4ZReF7GLKEbV7itH4d_DCDQ40M0IG32r063t47dNkahVr6PB4P2aUpbn4xxFxE8bKVKj8JIq7adRRXrn52FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAUdS0e21SMpPGGFc9J8M9Gk3AwcN1rr6SpcU9zWNWcNIux8l_HH9liw8URs8VvyCSrAV8heLf2SdZ0-4cWkTun071-t0kayKVZQy-9Y194P0y-bMkAz7VxVcJGo7o-pwHEFbCx5J6o-Ff2Tf2a7rwrqyXV5EwlZ8nI7V6d-2F4u1LwT4Vf7ASNi4_DFfUul-H7PSSWgjCntXjf7T3wz_4TnwxdRqhJeM8r64qp0nGlyxObD46NbMI1qi0bPyI8f6zdeKk-03E7vO3Q5PFbHhfXrnSdC-zmd5DtwMsTU_j74f6n4Q1hdPu7aQJv4l28Y96oGGHT722U4MR5Ir5ya05ZI_ZcPJe09tSfS2h574w1DW1uJJFgZo2PHFep_C_w3daboJ1G6bbLMMndV7WdNivrOKSOFTGeuOtbWirea41tY28TR28X3z2rOpV5oKKVjuwmXulinWnNyvt6scIzI0cLKAWb71TeOfD8FtYwTW8YMuOa3bzw2lqxJmyyjd1FZkdz_a1u8btvVTt-mK4oy1TWx9NOkuV05LV7E_w501LuzEsiKJAeRXXan4IhvlIADBhXnMfiuDw3dSKrgJ0rrNH-KFrOyDzVIx619XgJL2Z-CcW0ZfXLx1R5_4w-GcVm7zRowYHiovAnwTuvF96sjxt5CH5s9DXrD31v4qnjhTGGI6V9BfDLwPb6RpKnyTjbksR1ry86xlWhFQobsXDeX0KkZYjExuo7I8D8O-Cbv4c38KwxmOKRwOK-hre1muvDxk77CP0qj4m0e3vtUt4RIqEPkZIrrb0QaT4fKNKjbUJ4Pt0r4yGFxFatGUl8z9KxOMw9KhGMHa3TsfI-vW9zZ67PE78I5b9a6bSNcnNjHCW2k9vard5pcWsaxNMyYLPx-ddLD4Jj8tZCmGVcCv1qmnGCTP59rSUqsnHa7NLwXq4aERhcRgctXmP7QXxEPhnS2-wbWuZOOe1dvd38HhizYzSR24j-8zttFfN_wAb_EFn4m1JGs7hbhQhV1Q5UH61x4upyQtF6n03D2CjiMS5VY3STflfpc-avH3iHVNe8SW17PEziWVWacJhcA817f4B-w3F9KhtvNLBSG7fWm6R4Tj1jT0tY7Y3Vlbw4DMBksetbnhfxDbeAYWtbexhvSBtVpuXT2rwK1ZVI8sVqj9Yy3Lng6zrVZ-7Ly2t0Rt-MvEEXhu1Oo3KbI44vLtLZB8zvjGcf1rA_Z-1nUtY1vUHvIc2T_wt2JPWs-5-1eNNUNzcpJLM3yRxkYVB7VY1zxlYfBvTY7GOVDrF51RDkIO2a5FC8PZxV5M9-eI5a6xlSfLSj-N_1fRH03oPiA6XpN7ZbsIkjeWB6YrNm-IE1s32YuShNfNXhv463FrdA6rKTbztgXKjK5PavYdNkTXYo7qBlkV13DZzmvosB-7ocjep-N8Vv61mTxUVeLses-G7ia8t9-TtJ4rcutOlSGW4wWdUypx3qr8O7fdAkUiEHNekXmlrLZNGABla-IxGMx2HxDipO1z7OnhstxOHpt01qtz5P8XfE6-0XUGtSD5mcMakHj5rrSmNzJztyK6jxZ8LU1XXpJVTOa838YeFZdBnFsRjcOvYV6WPq1MRKnCWiZy5Rh6OBp1qlKzcbnlPiz4w6hpeuzRRRMEXhZccZrmrvxrquv5eeUjtgVc8faWlpau0p3FnyjVx8F2FhO3k17nL7OKhE8rDP28nWrb3Z9L_ALOvxii03ULfS76QrtO0FjxX3n4e8Z2Taer70IZAwbNfjHY-JJ9L16GWNipD19b-Dfitq0ugwol1kqnymj27wqWmh0rLKeeSl73vLufcutfFOzsbRyJURl96-Wviv-1GnhvUfL83d5ku1dpyBXnDeP8AUdWmaC8uGOfQ1wHxF8Px6hA0rrlvvAn-dSse5S5baM0q8JU6dBVYy95H2r8NvidH4g0-2u5ZFIZfu5rH-Nvieym0W6USINyn5c18ceGvitqvhWy8mCZRsXgNWBdfF_V_F2qPBd3G-In5yDXyv9l1ZVnUb0vc-i-tYai4cq95qx9e_ss_E5fDtxELmZURX7mv0F8K_E_R_EVpG63KKzf7Qr8b7PVpdHtRPbsyHbW14N_am1PRLsW8twyBG9a-uwmI5U0z4_iHKFUnGpHqftDDqFtcHEcysfQNVqvz3-Dv7WTa1eRJJcAnco-avt_wP4wh8UabHKG-bFerTrxqOyep8Di8sr4WKnJaHU0m0HqM0tFdJ45DNbx3CFJEDK1ZTeE9PaTd5Iz9K2qWk4p7mkKk6fwuxzd54I066wwiCt9K1NN0mDS4tkSAVfopKKWxUq1SatKV0G0DoMUUtFUYhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJj2paKACq93axXkTRSoGRhg5qxRQPY-QP2rPhfY2uj3V4kCmOOMufl5r82tas5Z2lMIbkkIMdOa_bX4geB4PGWmy20yB1dSCp7183N-xno66t9pFiOpbBPFeNisPOU1KGx-j5HnOHoYeVLEPU_PfwPY6k0bRXauVxgBlNdrpsOtaXv8AslrmNv4q9t_aA8JWXwzsRLb26JNE2wiPnIPrXz-fipe2do8f2bORgGvAr05xqOLR-uZXjMNUwsKimx2rXGpNNi5lWJZODiqx1C30XS5ER_nY_e7muWn8W3viHUVTbhs9BS65byRHZknIyc1Kp7Jmk8VdSnT182cT4m1qW71B41Y49azIby6tphLDOwI7Z4qPxI_2WYP3xWNpurfbLgoAevNevCLUbxPz3EzhOq4VdWz3v4M_EMWOrob_AObaRya-wrr4-6bp_huIQNGH246-1fnTDcS2CrJDlTjrSX3i3VLmHYbpgg6KDVXhUs5q5wVcHKnpRlypn11Y_Fr-0NYkvJJPMXORjnFdTqXxUXULLYGHl46Z5r4l8L-OL_S5NpPmJXVWvxAu55zuX92fT0rs9tShbQ8GOWYjEcyUnZnvMnjuGx1De0qgdRzXYWPxZgmtVHmKSo9e1fIHiXxBPet-6LIvqDVzQJrhgN08h49ampjLK6OzB8Nuc1Go7Hpfxw-IcHiW3GmwvvG4s7Kf0rwLT7qTQ9cSCWQtZT8Jn-Fveu91TS0uXTajM7cHnvUb_BfxRr0BWz0i4uZIV8wbFzxXme155Nze59u8BLD04xoLSH9alLVrO9ZYUsbiS2MjZ_dsRXS-EPDN5dXdyVVroqis7dgT1yaxNY0fU9Dm0621S2uNPmVcPHKuD9a9o-FPwr1Xxh4e8RxW13Jpkd5b-RBdHOPMxw2PSuOrNU4--7I9ilKKcq3Le2trnL6p480T4f2ctvOPtWsMpEccIDBfYntXzJ4ks9R8b-KJ9SvlY7jgKAflXNe7R_s7-LvCNytjqNo-pzICWu4ssJeevNdJF8NdV8EaONWu9JjleQkLDJjp6sPSnSr0qOtN3b6mWKw9fNoQ-s-5Ba2_z7nLfD_4d6XJ8ML9p1LujblV-gHqPevQv2UZrjVNd1HSLmFmtbfmGVhxj0p3hyMeLrBbI3tnarJyYoV2j6V7f8GPA9r4ZYpaqruzZkkFcWIxbowm-rPSrZfQ9hTlFLlivv7Hpdn4PuLVfPtF4JFbLaffTR-U0bB8dR3r1TwP4fjv7NVdeDXeR-BrUFSY1yK-jy-nTxOHjOors_D81zCrhsS44eVl2PnnQ_hrNfM7yxEGvA_2mPD8Ph0s-0B1Uq2a_Ri30O2s4W2xruxXw9-2J4J1PWo7v7JH97pgZruxOHpySk1scuVY3Ec7pKWktz89fHF_HeWv2ZTvb7wOelcHp8JCvXfeKPBGoeHd5ukcnvurjbVf37AjA9K8_m5rn3caPs-RHN6kfLvFYL8wavUPBPjB9P08xyORXnGvLFbzhif4q6nSfKurFdmM4p1UpQV9hYGUqOJlyOzO203xP9r1lFB4zwa6vxNI02lsc_Nt6VzHhfwqtwI5lHzV1vi63aDT41K7XVfm56ivLly86SPuaMav1ecqnU8iv_DN1qlu-yVon_hYVS8F-G57XUNlwPmDV614Xsor6zKlfmWqOtafHpt150a4P8VdHt3ZwPF_sqMZRxNyHXb9LLTXV22qq968nt5o9Su5Xj5Utwa9H1y3fV7IwKvmCSqngf4T3H9prGYyYmbhfSqpuMI67mWLhWxFeMYr3Ud18E9Hupr628hWD7l5r9T_AIAWd3DpduJs8L3r5q_Z5-ABjWCdoTt-Vs4r7n8I-HY9B05Iwu1sV2YOlJz9oz5ziTMKEMKsJDWR0FFFFe8fk4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcD8VvHC-D9HkkUhWKnP5V31eKftJaDcar4flaHP-rPT6VnUbUXY7MJGM60Yy2Pzu_aI-N8fiTUpoHmDHd93PvXja-JrfUyowqrnBFM-K3g-80vWrs3CNlmJDV53pltNbycls5yPavnJxVS8nufsuFqTwUY0qfws-gfCuhaKbc3G5Y5uvJ5rnvF13BDJJ5bbjzzXA_wDCWX2mKF35THWsi78VTajIVLYDVzRoNvmZ7tbNqcaXslGzK2vL9vmKr071b8BeEv7Q1qKCOMsznmqIkCyDJyTXtf7OegLq_iu3yM812XaXKj5lxjOTrS3R099-zpf3WgefBbsTjPSvF9e-GWqeHpmWeFlXnqK_aTwL8MtNuvBtuk0K73UdR7V4l-0B-zbaTWc89vCuCMjaK7HhnGHMjwKecwr1_Zz0PyiWxkhuNiLkmtCzle3nCyKVzXrmu_B-78O3d69xHsGTsz6V5p4itf7P8oOQJd1cvLeN2e3Gso1-SGxHcshjJHSuh0Nkjt0f2zXH_bBPgKRxXQ6NIzWhWuOS01PoMPU9-6L39vLHqQjBGc5r6-_Zhkt9akjS5kbL_J94jNfD0ek3E-vLOCfLBxt_rX1l-zfNNp-tQRiTjctCtCcSpSq4nDVk9LHuHx3_AGXZvEusaVq2msjrbxkPbyDIkBORz613nwv-Hb6Tp8VlLbqjKoBVRx0r3zw3Zprnh2DzgHZQNpP0q_aeG4bNnkICgDJq8dlksVOMo7H5zDiKrRwjwUujevU8L8aeCIdPtfPdNnBINfJfx28VWFhot6FkXzVQgN9e1fSP7W3xcj8PaS1vaSKhRGHPc1-VnjDxrrPjfxI6TzkWiyZ8teh-tcNXKIwqRlF6I-gynOasqDhJNt6HUfD_AFy6hvVkUjyd-T7V9rfCXxNavbW-WXLYBr4e0GYabHhttdTpPxB1PT7yBdNuXX5wNoNYYzCvEfCfbYerCGGdKo9z9evhjfW91CgjdWOK9KHQV8k_sn63qWqafBNeSPJKeoNfWq_dH0r63LqfsqCifhOeUo0sXJRd0LXHeNfB-j6tbPNfbFUA53V2OetfKf7W3xobwLpd3sl27Rgba7qjUY3keZg6dSrVUab1Pl_9rvQtE0-O8jsgm_PystfE7WbRyOetdx8QvitrPjy9meQt5BOcVzuhqNRmKSLhq8Go9W1sfreEpydONOfxHl3jA3EjmFMgk9a6LwPaXzWyKQ0jdMV1XiLwO9xJ5ir0rvPhR4ZtduJzsdfWipiIqlohYTJ6sse3J2udz8L9DZrJJLiLjH3Wq38QtLW4hGxeq4rdtbiOxhdYhlVFcvrHiJbqZ0bLV4UZSlPmR-rVadKjhVRb1Oe8M2Z0-F938PFc7421iJZUh38tXZxujWrso-9Xi3jgyyeKrWEbgmfu13UYe0m2z5XMq_1WhGMOtj0fwfCJ5oVC71avp74N_Cl7-_jmeIsrV5T8A_hu_iC5hba2MrX6R_B74W2-i6dHJNFtZa2o4d1536Hm5lm9PLML_eaOt-GXhaDQ9EiHlKrY9K7io4YVhTai4Wpa-phFQjyo_B8RXliKsqsuoUUUVZzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVna3o8GuWMltOoKsMVo0lJ66FRk4u6PgP8Aaa_Z5MizzQ24AAZgwFfBeueG5ND1B4ZFIKkiv3M8c-FoPEujXEUiBn2HFfnb8av2brm_8QbraIqN2TxXj4mhyu8T9JyTNFWh7Ou9UfBmvzOpfghe1c5pskzXgY52ds19P-Pv2f7rSYZd0JUKpOdteO_8K-uo5P3UbNz2WsOZU1yvc9N0amKn7WGyMK4hYRfL1619B_sh3ZfxTErr8wbBrzux-Hd9cRqDbsSR_dr3_wDZf-Ft9p_iSOYwsi7sniopyUpJHTjKM6NCVTpY_VDwTj_hGrHAwNn9Kn8SW9hNpzi_2iLB5NHhW3NroFmh6rGM_lXhf7TnxTbwrpM0cTlVRc178pKMbs_JaVOdavyw3ueEftKL4cgNwsZTdnjaea-BPHCm8uZZU-5GSFrpfil8bdS17Vp_vNGGOT-NcJ_bTavCQep614lWV3zR2P07L6LpwdOp8Rz2mtIbg59a7PTbzydoPSuZaMWbsxqKz1sNcFFbnpWMo-01R6FCqsM-WT1PU9LuLfzEYHmvoz9nYpca_GTgjcoFfI-k30ilfQ19S_st3I_tyHe3VuPzrj5bTR9L7fnw1RJdD9RfCMKwaHbhem0fyqfxLcG10W7kXghD_KovCrb9Ftz_ALI_lXLfFvxta-H_AA7eRu48xoyK-tWkEfz5ODniGkup-X_7Znjq-m1iS1Eh2EsP1r5O0nUFtpCzyc55r3L9prXBr3iKVx8wyT-tfO19ZyM_7sdea8eVpNpn6NSi8PShKK1Oo1DxIGVI4ZAznqK9D-GNkLy-spJANu4ZrxvRNBuJLhWb1r2XwvMNHtUO7a681x1rRVon0WWc9abnW0R-pX7LL6bb6ZEnmKJdo2j3xX0pncK_JL4R_tJP4X1SOBpyCrADBr79-Efx6tvFlnbpNKpduOtevhay5FF7n55nuXVViZVIao9vYfKQPSvgr9uTwHqOvWdw9ujON2So9K-8YZlmiV15Vua5Xxx8P7LxdZussSu2P4hXVWg6kGkeHlmJjhMTGpUWh-NGm-CEtrdknt9rAdxXOX2hHR9QMsUbBSa_TzWv2WbG4unaO2HzE9q8m-Kf7KsgtyLa38tlHG0V839XrxbbP2dZvltaMIwdmfJmm6amoW4Mig7qr32g6hojefaIwjVvmPqtfRHh79mnVDAEdGSTtXr1h-zO114Zjjmtw0ka5c461lToVJStbQ9DGZpgqVJNTXMfKfhu9XUNNVQmT3pdU8LxRwSTY-dv4q9K1b4Ty-EdVkWGNjFu-56VW13wtd3FgWjibH92vOmpU6nLY-xwtSji8LGo3e55NoujyXEcqIu7bXIXHgWXUvGluGgO7p0r6s-DHwsl1mSRJYNrM38S17PZ_szRprUN4Lddy-1enh6M6i5kfDZtmWGw01RqdCv-zH8KI7TT7eV7YKy7e1fXlrbpawLGg2ha5_wT4Zj8O6YkYjCtiunr6TD0lSjY_Fs2x8sdXcui2Ciiiuo8MKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAawzweR3rn9S8E6bqkwklhUsPUV0VFJpPcuM5Qd4s8L-K3wZstYtpFht1O9fSvH9G_ZQhkds2qkE5zivtCSNJBhgGpI4Y48bUArlnhoTlzM97DZ1iMLR9lA-X9P_AGWbWAjNug9sV6R4K-B9p4bmWVY1Qg56V65S1UcPCDujGvnGKxEeSUtCKGEQwqi_dUYFfKf7WngG81zTbjyUYhxX1jWJ4m8N2_iOzaGZATgjNaVY88WjkwOI-rV41Gfhl4z-H9zo9xNHNERyecVxVnYvayFAOO1fqX8b_wBmdbm1nkgt1JY8HFfDHjr4Q3nhfUpN8J2Akfd6V4E4To6S2P1vD4jD5g1Kk7M8B8TTyx7kX7xrH8P2NxHcCaXvXqc3w_n1i7AjiJXPLYrpbD4WfZEVJFySM9KPbRjAn-zKuIxXoc_4V0o3235etfSP7Pekz6f4kjVc4yD-tcR4T8HrpcefIyc9cV9L_ADwkl3qsUxh2lmUfdrz4ydSqlE-vrYeGDwE51d7H2joerNpvgtJyMsqdfwr4U_aY-NF5_aFxarMxzuGM-9ffVxoHm-FXs14YxnH5V8E_HL4E3uoa5LdBCdpJHHvX0GKcoUlY_H8hhQxGOftOrPi_wASWtzq0j3M25iRwfSuNt9M8y9EbLznAr6i1j4Zz6dYv5kBztP8NeOP4XddfICNtU814VOtdO5-sYrLlCUOXVMq2nh1LG0ExHauV8QeKl07MaN8xGNo616R4qt5LDTThW27TXlWleE5fEOoSTFWfJwBWtHll70jzswjUpuNHDrUg0G8muLv7QXKOTwR2r62_Z18a6lperWkDTPIpYV454X-BWpz3UUiRMY2PTFfXHwN-Atzb3FtLJDgqQelVNylJchFCnSp0ZPFNbH3T8MtafVvD8PmfeAHWuyrlPAfh86LpMaP1xiurr6anfkVz8QxnJ9Yn7Pa4YHpVHUtGtdUTE8Yar9FXucak4u6MW28L6fargW6E-uK0I7GGGJo1QbW9qtUUuVLYuVScviZ5V4w-E1vql40yQowbrxWYvwNt5LTmNP93Fe0UVzyw1OTu0exRznGUKapwnojzXwf8LbfQZtyoq7favRlhRcYUCpKK2hTjTVonn4rF1cXPnqu7EpaKK0OMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCrfWMOoQNDMoZWHevBPix-z9Za4ZJ4olYuDxivoWmOiyKQwB-tZzpqorM7cLi6mEqKdNnxJ4Z_ZZSNpka3Vecjiqfi_8AZ6a3kjSGDDLjJ219xR2cMZyI1BqreaHaXzBpIwWrhngYShyn1OG4oxFDEKsz5A8N_s_vNCo8gHv0r2X4YfCf_hHLxZGTYF5r2Cz02CxUiJAKtKgXoKqjg4Utepz5jxJisw5ot-6wCjZt7Yrnde8FWWtqxkjXcfaukorucVJWZ8tTqzoyU4OzPBfG_wAC4L3T5VhiVjg9q-a9Q_ZpmXXvNMXy5_u1-hjYZSCMg8Vlz-HbOebeYhnNefVwUJ_DofY4DijFYWV6juj4Y8T_ALLbahozCO3z8vPy1wfgH9l2XSddUSQYjZuflr9LU0y3W3MIjUxnqMVnxeErCG481IlznNT9RjZJGkeJ6rqSqSW55L4G_Z_06ys42liTOBjivUtD8E2GiIoijXI9q6GOMRLtUYFPrthRhC1kfM4jMsRiG-aWjEVQqgAYFLRRW55YUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB_9k"},"web/js":{"bootstrap-formhelpers-phone.js":"LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLXBob25lLmpzDQogKiBodHRwczovL2dpdGh1Yi5jb20vdmxhbWFubmEvQm9vdHN0cmFwRm9ybUhlbHBlcnMNCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIENvcHlyaWdodCAyMDEyIFZpbmNlbnQgTGFtYW5uYQ0KICoNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCitmdW5jdGlvbiAoJCkgew0KDQogICd1c2Ugc3RyaWN0JzsNCg0KDQogIC8qIFBIT05FIENMQVNTIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBCRkhQaG9uZSA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7DQogICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sICQuZm4uYmZocGhvbmUuZGVmYXVsdHMsIG9wdGlvbnMpOw0KICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaXMoJ2lucHV0W3R5cGU9InRleHQiXScpIHx8IHRoaXMuJGVsZW1lbnQuaXMoJ2lucHV0W3R5cGU9InRlbCJdJykpIHsNCiAgICAgIHRoaXMuYWRkRm9ybWF0dGVyKCk7DQogICAgfQ0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaXMoJ3NwYW4nKSkgew0KICAgICAgdGhpcy5kaXNwbGF5Rm9ybWF0dGVyKCk7DQogICAgfQ0KICB9Ow0KDQogIEJGSFBob25lLnByb3RvdHlwZSA9IHsNCg0KICAgIGNvbnN0cnVjdG9yOiBCRkhQaG9uZSwNCg0KICAgIGFkZEZvcm1hdHRlcjogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgJGNvdW50cnk7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuY291bnRyeSAhPT0gJycpIHsNCiAgICAgICAgJGNvdW50cnkgPSAkKGRvY3VtZW50KS5maW5kKCcjJyArIHRoaXMub3B0aW9ucy5jb3VudHJ5KTsNCg0KICAgICAgICBpZiAoJGNvdW50cnkubGVuZ3RoICE9PSAwKSB7DQogICAgICAgICAgdGhpcy5vcHRpb25zLmZvcm1hdCA9IEJGSFBob25lRm9ybWF0TGlzdFskY291bnRyeS52YWwoKV07DQogICAgICAgICAgJGNvdW50cnkub24oJ2NoYW5nZScsIHtwaG9uZTogdGhpc30sIHRoaXMuY2hhbmdlQ291bnRyeSk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdGhpcy5vcHRpb25zLmZvcm1hdCA9IEJGSFBob25lRm9ybWF0TGlzdFt0aGlzLm9wdGlvbnMuY291bnRyeV07DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIA0KICAgICAgdGhpcy4kZWxlbWVudC5vbigna2V5dXAuYmZocGhvbmUuZGF0YS1hcGknLCBCRkhQaG9uZS5wcm90b3R5cGUuY2hhbmdlKTsNCg0KICAgICAgdGhpcy5sb2FkRm9ybWF0dGVyKCk7DQogICAgfSwNCg0KICAgIGxvYWRGb3JtYXR0ZXI6IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBmb3JtYXR0ZWROdW1iZXI7DQoNCiAgICAgIGZvcm1hdHRlZE51bWJlciA9IGZvcm1hdE51bWJlcih0aGlzLm9wdGlvbnMuZm9ybWF0LCB0aGlzLiRlbGVtZW50LnZhbCgpKTsNCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwoZm9ybWF0dGVkTnVtYmVyKTsNCiAgICB9LA0KDQogICAgZGlzcGxheUZvcm1hdHRlcjogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIGZvcm1hdHRlZE51bWJlcjsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5jb3VudHJ5ICE9PSAnJykgew0KICAgICAgICB0aGlzLm9wdGlvbnMuZm9ybWF0ID0gQkZIUGhvbmVGb3JtYXRMaXN0W3RoaXMub3B0aW9ucy5jb3VudHJ5XTsNCiAgICAgIH0NCg0KICAgICAgZm9ybWF0dGVkTnVtYmVyID0gZm9ybWF0TnVtYmVyKHRoaXMub3B0aW9ucy5mb3JtYXQsIHRoaXMub3B0aW9ucy5udW1iZXIpOw0KDQogICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoZm9ybWF0dGVkTnVtYmVyKTsNCiAgICB9LA0KDQogICAgY2hhbmdlQ291bnRyeTogZnVuY3Rpb24gKGUpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICAkcGhvbmU7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICRwaG9uZSA9IGUuZGF0YS5waG9uZTsNCg0KICAgICAgJHBob25lLiRlbGVtZW50LnZhbChTdHJpbmcoJHBob25lLiRlbGVtZW50LnZhbCgpKS5yZXBsYWNlKC9cK1xkKi9nLCAnJykpOw0KICAgICAgJHBob25lLm9wdGlvbnMuZm9ybWF0ID0gQkZIUGhvbmVGb3JtYXRMaXN0WyR0aGlzLnZhbCgpXTsNCg0KICAgICAgJHBob25lLmxvYWRGb3JtYXR0ZXIoKTsNCiAgICB9LA0KDQogICAgY2hhbmdlOiBmdW5jdGlvbihlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgY3Vyc29yUG9zaXRpb24sDQogICAgICAgICAgY3Vyc29yRW5kLA0KICAgICAgICAgIGZvcm1hdHRlZE51bWJlcjsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpLmRhdGEoJ2JmaHBob25lJyk7DQoNCiAgICAgIGlmICgkdGhpcy4kZWxlbWVudC5pcygnLmRpc2FibGVkJykgfHwgJHRoaXMuJGVsZW1lbnQuYXR0cignZGlzYWJsZWQnKSAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KDQogICAgICBjdXJzb3JQb3NpdGlvbiA9IGdldEN1cnNvclBvc2l0aW9uKCR0aGlzLiRlbGVtZW50WzBdKTsNCg0KICAgICAgY3Vyc29yRW5kID0gZmFsc2U7DQogICAgICBpZiAoY3Vyc29yUG9zaXRpb24gPT09ICR0aGlzLiRlbGVtZW50LnZhbCgpLmxlbmd0aCkgew0KICAgICAgICBjdXJzb3JFbmQgPSB0cnVlOw0KICAgICAgfQ0KICAgICAgDQogICAgICBpZiAoZS53aGljaCA9PT0gOCAmJiAkdGhpcy5vcHRpb25zLmZvcm1hdC5jaGFyQXQoJHRoaXMuJGVsZW1lbnQudmFsKCkubGVuZ3RoKSAhPT0gJ2QnKSB7DQogICAgICAgICR0aGlzLiRlbGVtZW50LnZhbChTdHJpbmcoJHRoaXMuJGVsZW1lbnQudmFsKCkpLnN1YnN0cmluZygwLCAkdGhpcy4kZWxlbWVudC52YWwoKS5sZW5ndGggLSAxKSk7DQogICAgICB9DQoNCiAgICAgIGZvcm1hdHRlZE51bWJlciA9IGZvcm1hdE51bWJlcigkdGhpcy5vcHRpb25zLmZvcm1hdCwgJHRoaXMuJGVsZW1lbnQudmFsKCkpOw0KICAgICAgDQogICAgICBpZiAoZm9ybWF0dGVkTnVtYmVyID09PSAkdGhpcy4kZWxlbWVudC52YWwoKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgJHRoaXMuJGVsZW1lbnQudmFsKGZvcm1hdHRlZE51bWJlcik7DQoNCiAgICAgIGlmIChjdXJzb3JFbmQpIHsNCiAgICAgICAgY3Vyc29yUG9zaXRpb24gPSAkdGhpcy4kZWxlbWVudC52YWwoKS5sZW5ndGg7DQogICAgICB9DQoNCiAgICAgIHNldEN1cnNvclBvc2l0aW9uKCR0aGlzLiRlbGVtZW50WzBdLCBjdXJzb3JQb3NpdGlvbik7DQoNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCg0KICB9Ow0KDQogIGZ1bmN0aW9uIGZvcm1hdE51bWJlcihmb3JtYXQsIG51bWJlcikgew0KICAgIHZhciBmb3JtYXR0ZWROdW1iZXIsDQogICAgICAgIGluZGV4Rm9ybWF0LA0KICAgICAgICBpbmRleE51bWJlciwNCiAgICAgICAgbGFzdENoYXJhY3RlcjsNCg0KICAgIGZvcm1hdHRlZE51bWJlciA9ICcnOw0KICAgIG51bWJlciA9IFN0cmluZyhudW1iZXIpLnJlcGxhY2UoL1xEL2csICcnKTsNCg0KICAgIGZvciAoaW5kZXhGb3JtYXQgPSAwLCBpbmRleE51bWJlciA9IDA7IGluZGV4Rm9ybWF0IDwgZm9ybWF0Lmxlbmd0aDsgaW5kZXhGb3JtYXQgPSBpbmRleEZvcm1hdCArIDEpIHsNCiAgICAgIGlmICgvXGQvZy50ZXN0KGZvcm1hdC5jaGFyQXQoaW5kZXhGb3JtYXQpKSkgew0KICAgICAgICBpZiAoZm9ybWF0LmNoYXJBdChpbmRleEZvcm1hdCkgPT09IG51bWJlci5jaGFyQXQoaW5kZXhOdW1iZXIpKSB7DQogICAgICAgICAgZm9ybWF0dGVkTnVtYmVyICs9IG51bWJlci5jaGFyQXQoaW5kZXhOdW1iZXIpOw0KICAgICAgICAgIGluZGV4TnVtYmVyID0gaW5kZXhOdW1iZXIgKyAxOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGZvcm1hdHRlZE51bWJlciArPSBmb3JtYXQuY2hhckF0KGluZGV4Rm9ybWF0KTsNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIGlmIChmb3JtYXQuY2hhckF0KGluZGV4Rm9ybWF0KSAhPT0gJ2QnKSB7DQogICAgICAgIGlmIChudW1iZXIuY2hhckF0KGluZGV4TnVtYmVyKSAhPT0gJycgfHwgZm9ybWF0LmNoYXJBdChpbmRleEZvcm1hdCkgPT09ICcrJykgew0KICAgICAgICAgIGZvcm1hdHRlZE51bWJlciArPSBmb3JtYXQuY2hhckF0KGluZGV4Rm9ybWF0KTsNCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgaWYgKG51bWJlci5jaGFyQXQoaW5kZXhOdW1iZXIpID09PSAnJykgew0KICAgICAgICAgIGZvcm1hdHRlZE51bWJlciArPSAnJzsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBmb3JtYXR0ZWROdW1iZXIgKz0gbnVtYmVyLmNoYXJBdChpbmRleE51bWJlcik7DQogICAgICAgICAgaW5kZXhOdW1iZXIgPSBpbmRleE51bWJlciArIDE7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogICAgDQogICAgbGFzdENoYXJhY3RlciA9IGZvcm1hdC5jaGFyQXQoZm9ybWF0dGVkTnVtYmVyLmxlbmd0aCk7DQogICAgaWYgKGxhc3RDaGFyYWN0ZXIgIT09ICdkJykgew0KICAgICAgZm9ybWF0dGVkTnVtYmVyICs9IGxhc3RDaGFyYWN0ZXI7DQogICAgfQ0KDQogICAgcmV0dXJuIGZvcm1hdHRlZE51bWJlcjsNCiAgfQ0KDQogIGZ1bmN0aW9uIGdldEN1cnNvclBvc2l0aW9uKCRlbGVtZW50KSB7DQogICAgdmFyIHBvc2l0aW9uID0gMCwNCiAgICAgICAgc2VsZWN0aW9uOw0KDQogICAgaWYgKGRvY3VtZW50LnNlbGVjdGlvbikgew0KICAgICAgLy8gSUUgU3VwcG9ydA0KICAgICAgJGVsZW1lbnQuZm9jdXMoKTsNCiAgICAgIHNlbGVjdGlvbiA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpOw0KICAgICAgc2VsZWN0aW9uLm1vdmVTdGFydCAoJ2NoYXJhY3RlcicsIC0kZWxlbWVudC52YWx1ZS5sZW5ndGgpOw0KICAgICAgcG9zaXRpb24gPSBzZWxlY3Rpb24udGV4dC5sZW5ndGg7DQogICAgfSBlbHNlIGlmICgkZWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fCAkZWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gMCkgew0KICAgICAgcG9zaXRpb24gPSAkZWxlbWVudC5zZWxlY3Rpb25TdGFydDsNCiAgICB9DQoNCiAgICByZXR1cm4gcG9zaXRpb247DQogIH0NCg0KICBmdW5jdGlvbiBzZXRDdXJzb3JQb3NpdGlvbigkZWxlbWVudCwgcG9zaXRpb24pIHsNCiAgICB2YXIgc2VsZWN0aW9uOw0KDQogICAgaWYgKGRvY3VtZW50LnNlbGVjdGlvbikgew0KICAgICAgLy8gSUUgU3VwcG9ydA0KICAgICAgJGVsZW1lbnQuZm9jdXMgKCk7DQogICAgICBzZWxlY3Rpb24gPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsNCiAgICAgIHNlbGVjdGlvbi5tb3ZlU3RhcnQgKCdjaGFyYWN0ZXInLCAtJGVsZW1lbnQudmFsdWUubGVuZ3RoKTsNCiAgICAgIHNlbGVjdGlvbi5tb3ZlU3RhcnQgKCdjaGFyYWN0ZXInLCBwb3NpdGlvbik7DQogICAgICBzZWxlY3Rpb24ubW92ZUVuZCAoJ2NoYXJhY3RlcicsIDApOw0KICAgICAgc2VsZWN0aW9uLnNlbGVjdCAoKTsNCiAgICB9IGVsc2UgaWYgKCRlbGVtZW50LnNlbGVjdGlvblN0YXJ0IHx8ICRlbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSAwKSB7DQogICAgICAkZWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IHBvc2l0aW9uOw0KICAgICAgJGVsZW1lbnQuc2VsZWN0aW9uRW5kID0gcG9zaXRpb247DQogICAgICAkZWxlbWVudC5mb2N1cyAoKTsNCiAgICB9DQogIH0NCg0KICAvKiBQSE9ORSBQTFVHSU4gREVGSU5JVElPTg0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBvbGQgPSAkLmZuLmJmaHBob25lOw0KDQogICQuZm4uYmZocGhvbmUgPSBmdW5jdGlvbiAob3B0aW9uKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgZGF0YSwNCiAgICAgICAgICBvcHRpb25zOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICBkYXRhID0gJHRoaXMuZGF0YSgnYmZocGhvbmUnKTsNCiAgICAgIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb247DQoNCiAgICAgIGlmICghZGF0YSkgew0KICAgICAgICAkdGhpcy5kYXRhKCdiZmhwaG9uZScsIChkYXRhID0gbmV3IEJGSFBob25lKHRoaXMsIG9wdGlvbnMpKSk7DQogICAgICB9DQogICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgZGF0YVtvcHRpb25dLmNhbGwoJHRoaXMpOw0KICAgICAgfQ0KICAgIH0pOw0KICB9Ow0KDQogICQuZm4uYmZocGhvbmUuQ29uc3RydWN0b3IgPSBCRkhQaG9uZTsNCg0KICAkLmZuLmJmaHBob25lLmRlZmF1bHRzID0gew0KICAgIGZvcm1hdDogJycsDQogICAgbnVtYmVyOiAnJywNCiAgICBjb3VudHJ5OiAnJw0KICB9Ow0KDQoNCiAgLyogUEhPTkUgTk8gQ09ORkxJQ1QNCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICAkLmZuLmJmaHBob25lLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhwaG9uZSA9IG9sZDsNCiAgICByZXR1cm4gdGhpczsNCiAgfTsNCg0KDQogIC8qIFBIT05FIERBVEEtQVBJDQogICAqID09PT09PT09PT09PT09ICovDQoNCiAgJChkb2N1bWVudCkucmVhZHkoIGZ1bmN0aW9uICgpIHsNCiAgICAkKCdmb3JtIGlucHV0W3R5cGU9InRleHQiXS5iZmgtcGhvbmUsIGZvcm0gaW5wdXRbdHlwZT0idGVsIl0uYmZoLXBob25lLCBzcGFuLmJmaC1waG9uZScpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICRwaG9uZTsNCg0KICAgICAgJHBob25lID0gJCh0aGlzKTsNCg0KICAgICAgJHBob25lLmJmaHBob25lKCRwaG9uZS5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KfSh3aW5kb3cualF1ZXJ5KTsNCg","bootstrap-formhelpers.js":"LyoqDQoqIGJvb3RzdHJhcC1mb3JtaGVscGVycy5qcyB2Mi4zLjAgYnkgQHZpbmNlbnRsYW1hbm5hDQoqIENvcHlyaWdodCAyMDEzIFZpbmNlbnQgTGFtYW5uYQ0KKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiovDQppZiAoIWpRdWVyeSkgeyB0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCBGb3JtIEhlbHBlcnMgcmVxdWlyZXMgalF1ZXJ5Iik7IH0NCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLWNvdW50cmllcy5lbl9VUy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KIA0KdmFyIEJGSENvdW50cmllc0xpc3QgPSB7DQogICdBRic6ICdBZmdoYW5pc3RhbicsDQogICdBTCc6ICdBbGJhbmlhJywNCiAgJ0RaJzogJ0FsZ2VyaWEnLA0KICAnQVMnOiAnQW1lcmljYW4gU2Ftb2EnLA0KICAnQUQnOiAnQW5kb3JyYScsDQogICdBTyc6ICdBbmdvbGEnLA0KICAnQUknOiAnQW5ndWlsbGEnLA0KICAnQVEnOiAnQW50YXJjdGljYScsDQogICdBRyc6ICdBbnRpZ3VhIGFuZCBCYXJidWRhJywNCiAgJ0FSJzogJ0FyZ2VudGluYScsDQogICdBTSc6ICdBcm1lbmlhJywNCiAgJ0FXJzogJ0FydWJhJywNCiAgJ0FVJzogJ0F1c3RyYWxpYScsDQogICdBVCc6ICdBdXN0cmlhJywNCiAgJ0FaJzogJ0F6ZXJiYWlqYW4nLA0KICAnQkgnOiAnQmFocmFpbicsDQogICdCRCc6ICdCYW5nbGFkZXNoJywNCiAgJ0JCJzogJ0JhcmJhZG9zJywNCiAgJ0JZJzogJ0JlbGFydXMnLA0KICAnQkUnOiAnQmVsZ2l1bScsDQogICdCWic6ICdCZWxpemUnLA0KICAnQkonOiAnQmVuaW4nLA0KICAnQk0nOiAnQmVybXVkYScsDQogICdCVCc6ICdCaHV0YW4nLA0KICAnQk8nOiAnQm9saXZpYScsDQogICdCQSc6ICdCb3NuaWEgYW5kIEhlcnplZ292aW5hJywNCiAgJ0JXJzogJ0JvdHN3YW5hJywNCiAgJ0JWJzogJ0JvdXZldCBJc2xhbmQnLA0KICAnQlInOiAnQnJhemlsJywNCiAgJ0lPJzogJ0JyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeScsDQogICdWRyc6ICdCcml0aXNoIFZpcmdpbiBJc2xhbmRzJywNCiAgJ0JOJzogJ0JydW5laScsDQogICdCRyc6ICdCdWxnYXJpYScsDQogICdCRic6ICdCdXJraW5hIEZhc28nLA0KICAnQkknOiAnQnVydW5kaScsDQogICdDSSc6ICdDw7R0ZSBkXCdJdm9pcmUnLA0KICAnS0gnOiAnQ2FtYm9kaWEnLA0KICAnQ00nOiAnQ2FtZXJvb24nLA0KICAnQ0EnOiAnQ2FuYWRhJywNCiAgJ0NWJzogJ0NhcGUgVmVyZGUnLA0KICAnS1knOiAnQ2F5bWFuIElzbGFuZHMnLA0KICAnQ0YnOiAnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJywNCiAgJ1REJzogJ0NoYWQnLA0KICAnQ0wnOiAnQ2hpbGUnLA0KICAnQ04nOiAnQ2hpbmEnLA0KICAnQ1gnOiAnQ2hyaXN0bWFzIElzbGFuZCcsDQogICdDQyc6ICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcycsDQogICdDTyc6ICdDb2xvbWJpYScsDQogICdLTSc6ICdDb21vcm9zJywNCiAgJ0NHJzogJ0NvbmdvJywNCiAgJ0NLJzogJ0Nvb2sgSXNsYW5kcycsDQogICdDUic6ICdDb3N0YSBSaWNhJywNCiAgJ0hSJzogJ0Nyb2F0aWEnLA0KICAnQ1UnOiAnQ3ViYScsDQogICdDWSc6ICdDeXBydXMnLA0KICAnQ1onOiAnQ3plY2ggUmVwdWJsaWMnLA0KICAnQ0QnOiAnRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUgQ29uZ28nLA0KICAnREsnOiAnRGVubWFyaycsDQogICdESic6ICdEamlib3V0aScsDQogICdETSc6ICdEb21pbmljYScsDQogICdETyc6ICdEb21pbmljYW4gUmVwdWJsaWMnLA0KICAnVFAnOiAnRWFzdCBUaW1vcicsDQogICdFQyc6ICdFY3VhZG9yJywNCiAgJ0VHJzogJ0VneXB0JywNCiAgJ1NWJzogJ0VsIFNhbHZhZG9yJywNCiAgJ0dRJzogJ0VxdWF0b3JpYWwgR3VpbmVhJywNCiAgJ0VSJzogJ0VyaXRyZWEnLA0KICAnRUUnOiAnRXN0b25pYScsDQogICdFVCc6ICdFdGhpb3BpYScsDQogICdGTyc6ICdGYWVyb2UgSXNsYW5kcycsDQogICdGSyc6ICdGYWxrbGFuZCBJc2xhbmRzJywNCiAgJ0ZKJzogJ0ZpamknLA0KICAnRkknOiAnRmlubGFuZCcsDQogICdNSyc6ICdGb3JtZXIgWXVnb3NsYXYgUmVwdWJsaWMgb2YgTWFjZWRvbmlhJywNCiAgJ0ZSJzogJ0ZyYW5jZScsDQogICdGWCc6ICdGcmFuY2UsIE1ldHJvcG9saXRhbicsDQogICdHRic6ICdGcmVuY2ggR3VpYW5hJywNCiAgJ1BGJzogJ0ZyZW5jaCBQb2x5bmVzaWEnLA0KICAnVEYnOiAnRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzJywNCiAgJ0dBJzogJ0dhYm9uJywNCiAgJ0dFJzogJ0dlb3JnaWEnLA0KICAnREUnOiAnR2VybWFueScsDQogICdHSCc6ICdHaGFuYScsDQogICdHSSc6ICdHaWJyYWx0YXInLA0KICAnR1InOiAnR3JlZWNlJywNCiAgJ0dMJzogJ0dyZWVubGFuZCcsDQogICdHRCc6ICdHcmVuYWRhJywNCiAgJ0dQJzogJ0d1YWRlbG91cGUnLA0KICAnR1UnOiAnR3VhbScsDQogICdHVCc6ICdHdWF0ZW1hbGEnLA0KICAnR04nOiAnR3VpbmVhJywNCiAgJ0dXJzogJ0d1aW5lYS1CaXNzYXUnLA0KICAnR1knOiAnR3V5YW5hJywNCiAgJ0hUJzogJ0hhaXRpJywNCiAgJ0hNJzogJ0hlYXJkIGFuZCBNYyBEb25hbGQgSXNsYW5kcycsDQogICdITic6ICdIb25kdXJhcycsDQogICdISyc6ICdIb25nIEtvbmcnLA0KICAnSFUnOiAnSHVuZ2FyeScsDQogICdJUyc6ICdJY2VsYW5kJywNCiAgJ0lOJzogJ0luZGlhJywNCiAgJ0lEJzogJ0luZG9uZXNpYScsDQogICdJUic6ICdJcmFuJywNCiAgJ0lRJzogJ0lyYXEnLA0KICAnSUUnOiAnSXJlbGFuZCcsDQogICdJTCc6ICdJc3JhZWwnLA0KICAnSVQnOiAnSXRhbHknLA0KICAnSk0nOiAnSmFtYWljYScsDQogICdKUCc6ICdKYXBhbicsDQogICdKTyc6ICdKb3JkYW4nLA0KICAnS1onOiAnS2F6YWtoc3RhbicsDQogICdLRSc6ICdLZW55YScsDQogICdLSSc6ICdLaXJpYmF0aScsDQogICdLVyc6ICdLdXdhaXQnLA0KICAnS0cnOiAnS3lyZ3l6c3RhbicsDQogICdMQSc6ICdMYW9zJywNCiAgJ0xWJzogJ0xhdHZpYScsDQogICdMQic6ICdMZWJhbm9uJywNCiAgJ0xTJzogJ0xlc290aG8nLA0KICAnTFInOiAnTGliZXJpYScsDQogICdMWSc6ICdMaWJ5YScsDQogICdMSSc6ICdMaWVjaHRlbnN0ZWluJywNCiAgJ0xUJzogJ0xpdGh1YW5pYScsDQogICdMVSc6ICdMdXhlbWJvdXJnJywNCiAgJ01PJzogJ01hY2F1JywNCiAgJ01HJzogJ01hZGFnYXNjYXInLA0KICAnTVcnOiAnTWFsYXdpJywNCiAgJ01ZJzogJ01hbGF5c2lhJywNCiAgJ01WJzogJ01hbGRpdmVzJywNCiAgJ01MJzogJ01hbGknLA0KICAnTVQnOiAnTWFsdGEnLA0KICAnTUgnOiAnTWFyc2hhbGwgSXNsYW5kcycsDQogICdNUSc6ICdNYXJ0aW5pcXVlJywNCiAgJ01SJzogJ01hdXJpdGFuaWEnLA0KICAnTVUnOiAnTWF1cml0aXVzJywNCiAgJ1lUJzogJ01heW90dGUnLA0KICAnTVgnOiAnTWV4aWNvJywNCiAgJ0ZNJzogJ01pY3JvbmVzaWEnLA0KICAnTUQnOiAnTW9sZG92YScsDQogICdNQyc6ICdNb25hY28nLA0KICAnTU4nOiAnTW9uZ29saWEnLA0KICAnTUUnOiAnTW9udGVuZWdybycsDQogICdNUyc6ICdNb250c2VycmF0JywNCiAgJ01BJzogJ01vcm9jY28nLA0KICAnTVonOiAnTW96YW1iaXF1ZScsDQogICdNTSc6ICdNeWFubWFyJywNCiAgJ05BJzogJ05hbWliaWEnLA0KICAnTlInOiAnTmF1cnUnLA0KICAnTlAnOiAnTmVwYWwnLA0KICAnTkwnOiAnTmV0aGVybGFuZHMnLA0KICAnQU4nOiAnTmV0aGVybGFuZHMgQW50aWxsZXMnLA0KICAnTkMnOiAnTmV3IENhbGVkb25pYScsDQogICdOWic6ICdOZXcgWmVhbGFuZCcsDQogICdOSSc6ICdOaWNhcmFndWEnLA0KICAnTkUnOiAnTmlnZXInLA0KICAnTkcnOiAnTmlnZXJpYScsDQogICdOVSc6ICdOaXVlJywNCiAgJ05GJzogJ05vcmZvbGsgSXNsYW5kJywNCiAgJ0tQJzogJ05vcnRoIEtvcmVhJywNCiAgJ01QJzogJ05vcnRoZXJuIE1hcmlhbmFzJywNCiAgJ05PJzogJ05vcndheScsDQogICdPTSc6ICdPbWFuJywNCiAgJ1BLJzogJ1Bha2lzdGFuJywNCiAgJ1BXJzogJ1BhbGF1JywNCiAgJ1BTJzogJ1BhbGVzdGluZScsDQogICdQQSc6ICdQYW5hbWEnLA0KICAnUEcnOiAnUGFwdWEgTmV3IEd1aW5lYScsDQogICdQWSc6ICdQYXJhZ3VheScsDQogICdQRSc6ICdQZXJ1JywNCiAgJ1BIJzogJ1BoaWxpcHBpbmVzJywNCiAgJ1BOJzogJ1BpdGNhaXJuIElzbGFuZHMnLA0KICAnUEwnOiAnUG9sYW5kJywNCiAgJ1BUJzogJ1BvcnR1Z2FsJywNCiAgJ1BSJzogJ1B1ZXJ0byBSaWNvJywNCiAgJ1FBJzogJ1FhdGFyJywNCiAgJ1JFJzogJ1JldW5pb24nLA0KICAnUk8nOiAnUm9tYW5pYScsDQogICdSVSc6ICdSdXNzaWEnLA0KICAnUlcnOiAnUndhbmRhJywNCiAgJ1NUJzogJ1PDo28gVG9tw6kgYW5kIFByw61uY2lwZScsDQogICdTSCc6ICdTYWludCBIZWxlbmEnLA0KICAnUE0nOiAnU3QuIFBpZXJyZSBhbmQgTWlxdWVsb24nLA0KICAnS04nOiAnU2FpbnQgS2l0dHMgYW5kIE5ldmlzJywNCiAgJ0xDJzogJ1NhaW50IEx1Y2lhJywNCiAgJ1ZDJzogJ1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJywNCiAgJ1dTJzogJ1NhbW9hJywNCiAgJ1NNJzogJ1NhbiBNYXJpbm8nLA0KICAnU0EnOiAnU2F1ZGkgQXJhYmlhJywNCiAgJ1NOJzogJ1NlbmVnYWwnLA0KICAnUlMnOiAnU2VyYmlhJywNCiAgJ1NDJzogJ1NleWNoZWxsZXMnLA0KICAnU0wnOiAnU2llcnJhIExlb25lJywNCiAgJ1NHJzogJ1NpbmdhcG9yZScsDQogICdTSyc6ICdTbG92YWtpYScsDQogICdTSSc6ICdTbG92ZW5pYScsDQogICdTQic6ICdTb2xvbW9uIElzbGFuZHMnLA0KICAnU08nOiAnU29tYWxpYScsDQogICdaQSc6ICdTb3V0aCBBZnJpY2EnLA0KICAnR1MnOiAnU291dGggR2VvcmdpYSBhbmQgdGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMnLA0KICAnS1InOiAnU291dGggS29yZWEnLA0KICAnRVMnOiAnU3BhaW4nLA0KICAnTEsnOiAnU3JpIExhbmthJywNCiAgJ1NEJzogJ1N1ZGFuJywNCiAgJ1NSJzogJ1N1cmluYW1lJywNCiAgJ1NKJzogJ1N2YWxiYXJkIGFuZCBKYW4gTWF5ZW4gSXNsYW5kcycsDQogICdTWic6ICdTd2F6aWxhbmQnLA0KICAnU0UnOiAnU3dlZGVuJywNCiAgJ0NIJzogJ1N3aXR6ZXJsYW5kJywNCiAgJ1NZJzogJ1N5cmlhJywNCiAgJ1RXJzogJ1RhaXdhbicsDQogICdUSic6ICdUYWppa2lzdGFuJywNCiAgJ1RaJzogJ1RhbnphbmlhJywNCiAgJ1RIJzogJ1RoYWlsYW5kJywNCiAgJ0JTJzogJ1RoZSBCYWhhbWFzJywNCiAgJ0dNJzogJ1RoZSBHYW1iaWEnLA0KICAnVEcnOiAnVG9nbycsDQogICdUSyc6ICdUb2tlbGF1JywNCiAgJ1RPJzogJ1RvbmdhJywNCiAgJ1RUJzogJ1RyaW5pZGFkIGFuZCBUb2JhZ28nLA0KICAnVE4nOiAnVHVuaXNpYScsDQogICdUUic6ICdUdXJrZXknLA0KICAnVE0nOiAnVHVya21lbmlzdGFuJywNCiAgJ1RDJzogJ1R1cmtzIGFuZCBDYWljb3MgSXNsYW5kcycsDQogICdUVic6ICdUdXZhbHUnLA0KICAnVkknOiAnVVMgVmlyZ2luIElzbGFuZHMnLA0KICAnVUcnOiAnVWdhbmRhJywNCiAgJ1VBJzogJ1VrcmFpbmUnLA0KICAnQUUnOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLA0KICAnR0InOiAnVW5pdGVkIEtpbmdkb20nLA0KICAnVVMnOiAnVW5pdGVkIFN0YXRlcycsDQogICdVTSc6ICdVbml0ZWQgU3RhdGVzIE1pbm9yIE91dGx5aW5nIElzbGFuZHMnLA0KICAnVVknOiAnVXJ1Z3VheScsDQogICdVWic6ICdVemJla2lzdGFuJywNCiAgJ1ZVJzogJ1ZhbnVhdHUnLA0KICAnVkEnOiAnVmF0aWNhbiBDaXR5JywNCiAgJ1ZFJzogJ1ZlbmV6dWVsYScsDQogICdWTic6ICdWaWV0bmFtJywNCiAgJ1dGJzogJ1dhbGxpcyBhbmQgRnV0dW5hIElzbGFuZHMnLA0KICAnRUgnOiAnV2VzdGVybiBTYWhhcmEnLA0KICAnWUUnOiAnWWVtZW4nLA0KICAnWk0nOiAnWmFtYmlhJywNCiAgJ1pXJzogJ1ppbWJhYndlJw0KfTsNCg0KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1jdXJyZW5jaWVzLmVuX1VTLmpzDQogKiBodHRwczovL2dpdGh1Yi5jb20vdmxhbWFubmEvQm9vdHN0cmFwRm9ybUhlbHBlcnMNCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIENvcHlyaWdodCAyMDEzIFZpbmNlbnQgTGFtYW5uYQ0KICoNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQogDQp2YXIgQkZIQ3VycmVuY2llc0xpc3QgPSB7DQogICdBRUQnOnsnbGFiZWwnOidVbml0ZWQgQXJhYiBFbWlyYXRlcyBkaXJoYW0nLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYry7YpSd9LA0KICAnQUZOJzp7J2xhYmVsJzonQWZnaGFuIGFmZ2hhbmknLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYiyd9LA0KICAnQUxMJzp7J2xhYmVsJzonQWxiYW5pYW4gbGVrJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonTCd9LA0KICAnQU1EJzp7J2xhYmVsJzonQXJtZW5pYW4gZHJhbScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J9Wk1oAnfSwNCiAgJ0FPQSc6eydsYWJlbCc6J0FuZ29sYW4ga3dhbnphJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonS3onfSwNCiAgJ0FSUyc6eydsYWJlbCc6J0FyZ2VudGluZSBwZXNvJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnQVVEJzp7J2xhYmVsJzonQXVzdHJhbGlhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOidBVUQnLCdzeW1ib2wnOickJ30sDQogICdBV0cnOnsnbGFiZWwnOidBcnViYW4gZmxvcmluJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonxpInfSwNCiAgJ0FaTic6eydsYWJlbCc6J0F6ZXJiYWlqYW5pIG1hbmF0JywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJ30sDQogICdCQU0nOnsnbGFiZWwnOidCb3NuaWEgYW5kIEhlcnplZ292aW5hIGNvbnZlcnRpYmxlIG1hcmsnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidLTSd9LA0KICAnQkJEJzp7J2xhYmVsJzonQmFyYmFkaWFuIGRvbGxhcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ0JEVCc6eydsYWJlbCc6J0JhbmdsYWRlc2hpIHRha2EnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifgp7MnfSwNCiAgJ0JHTic6eydsYWJlbCc6J0J1bGdhcmlhbiBsZXYnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifQu9CyJ30sDQogICdCSEQnOnsnbGFiZWwnOidCYWhyYWluaSBkaW5hcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6Jy7Yry7YqCd9LA0KICAnQklGJzp7J2xhYmVsJzonQnVydW5kaWFuIGZyYW5jJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonRnInfSwNCiAgJ0JNRCc6eydsYWJlbCc6J0Jlcm11ZGlhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdCTkQnOnsnbGFiZWwnOidCcnVuZWkgZG9sbGFyJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnQk9CJzp7J2xhYmVsJzonQm9saXZpYW4gYm9saXZpYW5vJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonQnMnfSwNCiAgJ0JSTCc6eydsYWJlbCc6J0JyYXppbGlhbiByZWFsJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonUiQnfSwNCiAgJ0JTRCc6eydsYWJlbCc6J0JhaGFtaWFuIGRvbGxhcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ0JUTic6eydsYWJlbCc6J0JodXRhbmVzZSBuZ3VsdHJ1bScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J051J30sDQogICdCV1AnOnsnbGFiZWwnOidCb3Rzd2FuYSBwdWxhJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonUCd9LA0KICAnQllSJzp7J2xhYmVsJzonQmVsYXJ1c2lhbiBydWJsZScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J0JyJ30sDQogICdCWkQnOnsnbGFiZWwnOidCZWxpemUgZG9sbGFyJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnQ0FEJzp7J2xhYmVsJzonQ2FuYWRpYW4gZG9sbGFyJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnQ0RGJzp7J2xhYmVsJzonQ29uZ29sZXNlIGZyYW5jJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonRnInfSwNCiAgJ0NIRic6eydsYWJlbCc6J1N3aXNzIGZyYW5jJywnY3VycmVuY3lmbGFnJzonQ0hGJywnc3ltYm9sJzonRnInfSwNCiAgJ0NMUCc6eydsYWJlbCc6J0NoaWxlYW4gcGVzbycsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ0NOWSc6eydsYWJlbCc6J0NoaW5lc2UgeXVhbicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J8KlJ30sDQogICdDT1AnOnsnbGFiZWwnOidDb2xvbWJpYW4gcGVzbycsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ0NSQyc6eydsYWJlbCc6J0Nvc3RhIFJpY2FuIGNvbMOzbicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-KCoSd9LA0KICAnQ1VQJzp7J2xhYmVsJzonQ3ViYW4gY29udmVydGlibGUgcGVzbycsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ0NWRSc6eydsYWJlbCc6J0NhcGUgVmVyZGVhbiBlc2N1ZG8nLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdDWksnOnsnbGFiZWwnOidDemVjaCBrb3J1bmEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidLxI0nfSwNCiAgJ0RKRic6eydsYWJlbCc6J0RqaWJvdXRpYW4gZnJhbmMnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidGcid9LA0KICAnREtLJzp7J2xhYmVsJzonRGFuaXNoIGtyb25lJywnY3VycmVuY3lmbGFnJzonREtLJywnc3ltYm9sJzona3InfSwNCiAgJ0RPUCc6eydsYWJlbCc6J0RvbWluaWNhbiBwZXNvJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnRFpEJzp7J2xhYmVsJzonQWxnZXJpYW4gZGluYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYry7YrCd9LA0KICAnRUdQJzp7J2xhYmVsJzonRWd5cHRpYW4gcG91bmQnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYrC7ZhSd9LA0KICAnRVJOJzp7J2xhYmVsJzonRXJpdHJlYW4gbmFrZmEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidOZmsnfSwNCiAgJ0VUQic6eydsYWJlbCc6J0V0aGlvcGlhbiBiaXJyJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonQnInfSwNCiAgJ0VVUic6eydsYWJlbCc6J0V1cm8nLCdjdXJyZW5jeWZsYWcnOidFVVInLCdzeW1ib2wnOifigqwnfSwNCiAgJ0ZKRCc6eydsYWJlbCc6J0ZpamlhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdGS1AnOnsnbGFiZWwnOidGYWxrbGFuZCBJc2xhbmRzIHBvdW5kJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonwqMnfSwNCiAgJ0dCUCc6eydsYWJlbCc6J0JyaXRpc2ggcG91bmQnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifCoyd9LA0KICAnR0VMJzp7J2xhYmVsJzonR2VvcmdpYW4gbGFyaScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-GDmid9LA0KICAnR0hTJzp7J2xhYmVsJzonR2hhbmEgY2VkaScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-KCtSd9LA0KICAnR01EJzp7J2xhYmVsJzonR2FtYmlhbiBkYWxhc2knLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidEJ30sDQogICdHTkYnOnsnbGFiZWwnOidHdWluZWFuIGZyYW5jJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonRnInfSwNCiAgJ0dUUSc6eydsYWJlbCc6J0d1YXRlbWFsYW4gcXVldHphbCcsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J1EnfSwNCiAgJ0dZRCc6eydsYWJlbCc6J0d1eWFuZXNlIGRvbGxhcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ0hLRCc6eydsYWJlbCc6J0hvbmcgS29uZyBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdITkwnOnsnbGFiZWwnOidIb25kdXJhbiBsZW1waXJhJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonTCd9LA0KICAnSFJLJzp7J2xhYmVsJzonQ3JvYXRpYW4ga3VuYScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J2tuJ30sDQogICdIVEcnOnsnbGFiZWwnOidIYWl0aWFuIGdvdXJkZScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J0cnfSwNCiAgJ0hVRic6eydsYWJlbCc6J0h1bmdhcmlhbiBmb3JpbnQnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidGdCd9LA0KICAnSURSJzp7J2xhYmVsJzonSW5kb25lc2lhbiBydXBpYWgnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidScCd9LA0KICAnSUxTJzp7J2xhYmVsJzonSXNyYWVsaSBuZXcgc2hla2VsJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzon4oKqJ30sDQogICdJTVAnOnsnbGFiZWwnOidNYW54IHBvdW5kJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonwqMnfSwNCiAgJ0lOUic6eydsYWJlbCc6J0luZGlhbiBydXBlZScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6Jyd9LA0KICAnSVFEJzp7J2xhYmVsJzonSXJhcWkgZGluYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYuS7Yryd9LA0KICAnSVJSJzp7J2xhYmVsJzonSXJhbmlhbiByaWFsJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzon77e8J30sDQogICdJU0snOnsnbGFiZWwnOidJY2VsYW5kaWMga3LDs25hJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzona3InfSwNCiAgJ0pFUCc6eydsYWJlbCc6J0plcnNleSBwb3VuZCcsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J8KjJ30sDQogICdKTUQnOnsnbGFiZWwnOidKYW1haWNhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdKT0QnOnsnbGFiZWwnOidKb3JkYW5pYW4gZGluYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYry7Ypyd9LA0KICAnSlBZJzp7J2xhYmVsJzonSmFwYW5lc2UgeWVuJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonwqUnfSwNCiAgJ0tFUyc6eydsYWJlbCc6J0tlbnlhbiBzaGlsbGluZycsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J1NoJ30sDQogICdLR1MnOnsnbGFiZWwnOidLeXJneXpzdGFuaSBzb20nLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifQu9CyJ30sDQogICdLSFInOnsnbGFiZWwnOidDYW1ib2RpYW4gcmllbCcsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-Gfmyd9LA0KICAnS01GJzp7J2xhYmVsJzonQ29tb3JpYW4gZnJhbmMnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidGcid9LA0KICAnS1BXJzp7J2xhYmVsJzonTm9ydGggS29yZWFuIHdvbicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-KCqSd9LA0KICAnS1JXJzp7J2xhYmVsJzonU291dGggS29yZWFuIHdvbicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-KCqSd9LA0KICAnS1dEJzp7J2xhYmVsJzonS3V3YWl0aSBkaW5hcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J9ivLtmDJ30sDQogICdLWUQnOnsnbGFiZWwnOidDYXltYW4gSXNsYW5kcyBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdLWlQnOnsnbGFiZWwnOidLYXpha2hzdGFuaSB0ZW5nZScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-KCuCd9LA0KICAnTEFLJzp7J2xhYmVsJzonTGFvIGtpcCcsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-KCrSd9LA0KICAnTEJQJzp7J2xhYmVsJzonTGViYW5lc2UgcG91bmQnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifZhC7ZhCd9LA0KICAnTEtSJzp7J2xhYmVsJzonU3JpIExhbmthbiBydXBlZScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J1JzJ30sDQogICdMUkQnOnsnbGFiZWwnOidMaWJlcmlhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdMU0wnOnsnbGFiZWwnOidMZXNvdGhvIGxvdGknLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidMJ30sDQogICdMVEwnOnsnbGFiZWwnOidMaXRodWFuaWFuIGxpdGFzJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonTHQnfSwNCiAgJ0xWTCc6eydsYWJlbCc6J0xhdHZpYW4gbGF0cycsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J0xzJ30sDQogICdMWUQnOnsnbGFiZWwnOidMaWJ5YW4gZGluYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifZhC7Yryd9LA0KICAnTUFEJzp7J2xhYmVsJzonTW9yb2NjYW4gZGlyaGFtJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzon2K8u2YUuJ30sDQogICdNREwnOnsnbGFiZWwnOidNb2xkb3ZhbiBsZXUnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidMJ30sDQogICdNR0EnOnsnbGFiZWwnOidNYWxhZ2FzeSBhcmlhcnknLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidBcid9LA0KICAnTUtEJzp7J2xhYmVsJzonTWFjZWRvbmlhbiBkZW5hcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J9C00LXQvSd9LA0KICAnTU1LJzp7J2xhYmVsJzonQnVybWVzZSBreWF0JywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonS3MnfSwNCiAgJ01OVCc6eydsYWJlbCc6J01vbmdvbGlhbiB0w7ZncsO2ZycsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J-KCrid9LA0KICAnTU9QJzp7J2xhYmVsJzonTWFjYW5lc2UgcGF0YWNhJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonUCd9LA0KICAnTVJPJzp7J2xhYmVsJzonTWF1cml0YW5pYW4gb3VndWl5YScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J1VNJ30sDQogICdNVVInOnsnbGFiZWwnOidNYXVyaXRpYW4gcnVwZWUnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidScyd9LA0KICAnTVZSJzp7J2xhYmVsJzonTWFsZGl2aWFuIHJ1Zml5YWEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOicu3oMnfSwNCiAgJ01XSyc6eydsYWJlbCc6J01hbGF3aWFuIGt3YWNoYScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J01LJ30sDQogICdNWE4nOnsnbGFiZWwnOidNZXhpY2FuIHBlc28nLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdNWVInOnsnbGFiZWwnOidNYWxheXNpYW4gcmluZ2dpdCcsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J01SJ30sDQogICdNWk4nOnsnbGFiZWwnOidNb3phbWJpY2FuIG1ldGljYWwnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidNVCd9LA0KICAnTkFEJzp7J2xhYmVsJzonTmFtaWJpYW4gZG9sbGFyJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnTkdOJzp7J2xhYmVsJzonTmlnZXJpYW4gbmFpcmEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifigqYnfSwNCiAgJ05JTyc6eydsYWJlbCc6J05pY2FyYWd1YW4gY8OzcmRvYmEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidDJCd9LA0KICAnTk9LJzp7J2xhYmVsJzonTm9yd2VnaWFuIGtyb25lJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzona3InfSwNCiAgJ05QUic6eydsYWJlbCc6J05lcGFsZXNlIHJ1cGVlJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonUnMnfSwNCiAgJ05aRCc6eydsYWJlbCc6J05ldyBaZWFsYW5kIGRvbGxhcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ09NUic6eydsYWJlbCc6J09tYW5pIHJpYWwnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYsS7YuS4nfSwNCiAgJ1BBQic6eydsYWJlbCc6J1BhbmFtYW5pYW4gYmFsYm9hJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonQi8uJ30sDQogICdQRU4nOnsnbGFiZWwnOidQZXJ1dmlhbiBudWV2byBzb2wnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidTLy4nfSwNCiAgJ1BHSyc6eydsYWJlbCc6J1BhcHVhIE5ldyBHdWluZWFuIGtpbmEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidLJ30sDQogICdQSFAnOnsnbGFiZWwnOidQaGlsaXBwaW5lIHBlc28nLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifigrEnfSwNCiAgJ1BLUic6eydsYWJlbCc6J1Bha2lzdGFuaSBydXBlZScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J1JzJ30sDQogICdQTE4nOnsnbGFiZWwnOidQb2xpc2ggesWCb3R5JywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonesWCJ30sDQogICdQUkInOnsnbGFiZWwnOidUcmFuc25pc3RyaWFuIHJ1YmxlJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzon0YAuJ30sDQogICdQWUcnOnsnbGFiZWwnOidQYXJhZ3VheWFuIGd1YXJhbsOtJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzon4oKyJ30sDQogICdRQVInOnsnbGFiZWwnOidRYXRhcmkgcml5YWwnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYsS7Zgid9LA0KICAnUk9OJzp7J2xhYmVsJzonUm9tYW5pYW4gbGV1JywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonTCd9LA0KICAnUlNEJzp7J2xhYmVsJzonU2VyYmlhbiBkaW5hcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J9C00LjQvSd9LA0KICAnUlVCJzp7J2xhYmVsJzonUnVzc2lhbiBydWJsZScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J9GA0YPQsS4nfSwNCiAgJ1JXRic6eydsYWJlbCc6J1J3YW5kYW4gZnJhbmMnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidGcid9LA0KICAnU0FSJzp7J2xhYmVsJzonU2F1ZGkgcml5YWwnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYsS7Ysyd9LA0KICAnU0JEJzp7J2xhYmVsJzonU29sb21vbiBJc2xhbmRzIGRvbGxhcicsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ1NDUic6eydsYWJlbCc6J1NleWNoZWxsb2lzIHJ1cGVlJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonUnMnfSwNCiAgJ1NERyc6eydsYWJlbCc6J1NpbmdhcG9yZSBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdTRUsnOnsnbGFiZWwnOidTd2VkaXNoIGtyb25hJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzona3InfSwNCiAgJ1NHRCc6eydsYWJlbCc6J1NpbmdhcG9yZSBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdTSFAnOnsnbGFiZWwnOidTYWludCBIZWxlbmEgcG91bmQnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifCoyd9LA0KICAnU0xMJzp7J2xhYmVsJzonU2llcnJhIExlb25lYW4gbGVvbmUnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidMZSd9LA0KICAnU09TJzp7J2xhYmVsJzonU29tYWxpIHNoaWxsaW5nJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonU2gnfSwNCiAgJ1NSRCc6eydsYWJlbCc6J1N1cmluYW1lc2UgZG9sbGFyJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnU1NQJzp7J2xhYmVsJzonU291dGggU3VkYW5lc2UgcG91bmQnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifCoyd9LA0KICAnU1REJzp7J2xhYmVsJzonU8OjbyBUb23DqSBhbmQgUHLDrW5jaXBlIGRvYnJhJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonRGInfSwNCiAgJ1NWQyc6eydsYWJlbCc6J1NhbHZhZG9yYW4gY29sw7NuJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzon4oKhJ30sDQogICdTWVAnOnsnbGFiZWwnOidTeXJpYW4gcG91bmQnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifCoyd9LA0KICAnU1pMJzp7J2xhYmVsJzonU3dhemkgbGlsYW5nZW5pJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonTCd9LA0KICAnVEhCJzp7J2xhYmVsJzonVGhhaSBiYWh0JywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzon4Li_J30sDQogICdUSlMnOnsnbGFiZWwnOidUYWppa2lzdGFuaSBzb21vbmknLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidTTSd9LA0KICAnVE1UJzp7J2xhYmVsJzonVHVya21lbmlzdGFuIG1hbmF0JywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonbSd9LA0KICAnVE5EJzp7J2xhYmVsJzonVHVuaXNpYW4gZGluYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifYry7Yqid9LA0KICAnVE9QJzp7J2xhYmVsJzonVG9uZ2FuIHBhyrthbmdhJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonVCQnfSwNCiAgJ1RSWSc6eydsYWJlbCc6J1R1cmtpc2ggbGlyYScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyYjODM3ODsnfSwNCiAgJ1RURCc6eydsYWJlbCc6J1RyaW5pZGFkIGFuZCBUb2JhZ28gZG9sbGFyJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonJCd9LA0KICAnVFdEJzp7J2xhYmVsJzonTmV3IFRhaXdhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdUWlMnOnsnbGFiZWwnOidUYW56YW5pYW4gc2hpbGxpbmcnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidTaCd9LA0KICAnVUFIJzp7J2xhYmVsJzonVWtyYWluaWFuIGhyeXZuaWEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifigrQnfSwNCiAgJ1VHWCc6eydsYWJlbCc6J1VnYW5kYW4gc2hpbGxpbmcnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidTaCd9LA0KICAnVVNEJzp7J2xhYmVsJzonVW5pdGVkIFN0YXRlcyBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30sDQogICdVWVUnOnsnbGFiZWwnOidVcnVndWF5YW4gcGVzbycsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6JyQnfSwNCiAgJ1VaUyc6eydsYWJlbCc6J1V6YmVraXN0YW5pIHNvbScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J9C70LInfSwNCiAgJ1ZFRic6eydsYWJlbCc6J1ZlbmV6dWVsYW4gYm9sw612YXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidCcyBGJ30sDQogICdWTkQnOnsnbGFiZWwnOidWaWV0bmFtZXNlIMSR4buTbmcnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOifigqsnfSwNCiAgJ1ZVVic6eydsYWJlbCc6J1ZhbnVhdHUgdmF0dScsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J1Z0J30sDQogICdXU1QnOnsnbGFiZWwnOidTYW1vYW4gdMSBbMSBJywnY3VycmVuY3lmbGFnJzonJywnc3ltYm9sJzonVCd9LA0KICAnWEFGJzp7J2xhYmVsJzonQ2VudHJhbCBBZnJpY2FuIENGQSBmcmFuYycsJ2N1cnJlbmN5ZmxhZyc6J1hBRicsJ3N5bWJvbCc6J0ZyJ30sDQogICdYQ0QnOnsnbGFiZWwnOidFYXN0IENhcmliYmVhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOidYQ0QnLCdzeW1ib2wnOickJ30sDQogICdYT0YnOnsnbGFiZWwnOidXZXN0IEFmcmljYW4gQ0ZBIGZyYW5jJywnY3VycmVuY3lmbGFnJzonWE9GJywnc3ltYm9sJzonRnInfSwNCiAgJ1hQRic6eydsYWJlbCc6J0NGUCBmcmFuYycsJ2N1cnJlbmN5ZmxhZyc6J1hQRicsJ3N5bWJvbCc6J0ZyJ30sDQogICdZRVInOnsnbGFiZWwnOidZZW1lbmkgcmlhbCcsJ2N1cnJlbmN5ZmxhZyc6JycsJ3N5bWJvbCc6J--3vCd9LA0KICAnWkFSJzp7J2xhYmVsJzonU291dGggQWZyaWNhbiByYW5kJywnY3VycmVuY3lmbGFnJzonWkFSJywnc3ltYm9sJzonUid9LA0KICAnWk1XJzp7J2xhYmVsJzonWmFtYmlhbiBrd2FjaGEnLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOidaSyd9LA0KICAnWldMJzp7J2xhYmVsJzonWmltYmFid2VhbiBkb2xsYXInLCdjdXJyZW5jeWZsYWcnOicnLCdzeW1ib2wnOickJ30NCn07DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1kYXRlcGlja2VyLmVuX1VTLmpzDQogKiBodHRwczovL2dpdGh1Yi5jb20vdmxhbWFubmEvQm9vdHN0cmFwRm9ybUhlbHBlcnMNCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIENvcHlyaWdodCAyMDEyIFZpbmNlbnQgTGFtYW5uYQ0KICoNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQogDQp2YXIgQkZITW9udGhzTGlzdCA9IFsNCiAgJ0phbnVhcnknLA0KICAnRmVicnVhcnknLA0KICAnTWFyY2gnLA0KICAnQXByaWwnLA0KICAnTWF5JywNCiAgJ0p1bmUnLA0KICAnSnVseScsDQogICdBdWd1c3QnLA0KICAnU2VwdGVtYmVyJywNCiAgJ09jdG9iZXInLA0KICAnTm92ZW1iZXInLA0KICAnRGVjZW1iZXInDQpdOw0KIA0KdmFyIEJGSERheXNMaXN0ID0gWw0KICAnU1VOJywNCiAgJ01PTicsDQogICdUVUUnLA0KICAnV0VEJywNCiAgJ1RIVScsDQogICdGUkknLA0KICAnU0FUJw0KXTsNCiANCnZhciBCRkhEYXlPZldlZWtTdGFydCA9IDA7DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1mb250cy5lbl9VUy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKQ0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQogDQp2YXIgQkZIRm9udHNMaXN0ID0gew0KICAnQW5kYWxlIE1vbm8nOiAnIkFuZGFsZSBNb25vIiwgQW5kYWxlTW9ubywgbW9ub3NwYWNlJywNCiAgJ0FyaWFsJzogJ0FyaWFsLCAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLA0KICAnQXJpYWwgQmxhY2snOiAnIkFyaWFsIEJsYWNrIiwgIkFyaWFsIEJvbGQiLCBHYWRnZXQsIHNhbnMtc2VyaWYnLA0KICAnQXJpYWwgTmFycm93JzogJyJBcmlhbCBOYXJyb3ciLCBBcmlhbCwgc2Fucy1zZXJpZicsDQogICdBcmlhbCBSb3VuZGVkIE1UIEJvbGQnOiAnIkFyaWFsIFJvdW5kZWQgTVQgQm9sZCIsICJIZWx2ZXRpY2EgUm91bmRlZCIsIEFyaWFsLCBzYW5zLXNlcmlmJywNCiAgJ0F2YW50IEdhcmRlJzogJyJBdmFudCBHYXJkZSIsIEF2YW50Z2FyZGUsICJDZW50dXJ5IEdvdGhpYyIsIENlbnR1cnlHb3RoaWMsICJBcHBsZUdvdGhpYyIsIHNhbnMtc2VyaWYnLA0KICAnQmFza2VydmlsbGUnOiAnQmFza2VydmlsbGUsICJCYXNrZXJ2aWxsZSBPbGQgRmFjZSIsICJIb2VmbGVyIFRleHQiLCBHYXJhbW9uZCwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmJywNCiAgJ0JpZyBDYXNsb24nOiAnIkJpZyBDYXNsb24iLCAiQm9vayBBbnRpcXVhIiwgIlBhbGF0aW5vIExpbm90eXBlIiwgR2VvcmdpYSwgc2VyaWYnLA0KICAnQm9kb25pIE1UJzogJyJCb2RvbmkgTVQiLCBEaWRvdCwgIkRpZG90IExUIFNURCIsICJIb2VmbGVyIFRleHQiLCBHYXJhbW9uZCwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmJywNCiAgJ0Jvb2sgQW50aXF1YSc6ICciQm9vayBBbnRpcXVhIiwgUGFsYXRpbm8sICJQYWxhdGlubyBMaW5vdHlwZSIsICJQYWxhdGlubyBMVCBTVEQiLCBHZW9yZ2lhLCBzZXJpZicsDQogICdCcnVzaCBTY3JpcHQgTVQnOiAnIkJydXNoIFNjcmlwdCBNVCIsIGN1cnNpdmUnLA0KICAnQ2FsaWJyaSc6ICdDYWxpYnJpLCBDYW5kYXJhLCBTZWdvZSwgIlNlZ29lIFVJIiwgT3B0aW1hLCBBcmlhbCwgc2Fucy1zZXJpZicsDQogICdDYWxpc3RvIE1UJzogJyJDYWxpc3RvIE1UIiwgIkJvb2ttYW4gT2xkIFN0eWxlIiwgQm9va21hbiwgIkdvdWR5IE9sZCBTdHlsZSIsIEdhcmFtb25kLCAiSG9lZmxlciBUZXh0IiwgIkJpdHN0cmVhbSBDaGFydGVyIiwgR2VvcmdpYSwgc2VyaWYnLA0KICAnQ2FtYnJpbyc6ICdDYW1icmlhLCBHZW9yZ2lhLCBzZXJpZicsDQogICdDYW5kYXJhJzogJ0NhbmRhcmEsIENhbGlicmksIFNlZ29lLCAiU2Vnb2UgVUkiLCBPcHRpbWEsIEFyaWFsLCBzYW5zLXNlcmlmJywNCiAgJ0NlbnR1cnkgR290aGljJzogJyJDZW50dXJ5IEdvdGhpYyIsIENlbnR1cnlHb3RoaWMsIEFwcGxlR290aGljLCBzYW5zLXNlcmlmJywNCiAgJ0NvbnNvbGFzJzogJ0NvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZScsDQogICdDb3BwZXJwbGF0ZSc6ICdDb3BwZXJwbGF0ZSwgIkNvcHBlcnBsYXRlIEdvdGhpYyBMaWdodCIsIGZhbnRhc3knLA0KICAnQ291cmllciBOZXcnOiAnIkNvdXJpZXIgTmV3IiwgQ291cmllciwgIkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIiLCAiTHVjaWRhIFR5cGV3cml0ZXIiLCBtb25vc3BhY2UnLA0KICAnRGlkb3QnOiAnRGlkb3QsICJEaWRvdCBMVCBTVEQiLCAiSG9lZmxlciBUZXh0IiwgR2FyYW1vbmQsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZicsDQogICdGcmFua2xpbiBHb3RoaWMgTWVkaXVtJzogJyJGcmFua2xpbiBHb3RoaWMgTWVkaXVtIiwgIkZyYW5rbGluIEdvdGhpYyIsICJJVEMgRnJhbmtsaW4gR290aGljIiwgQXJpYWwsIHNhbnMtc2VyaWYnLA0KICAnRnV0dXJhJzogJ0Z1dHVyYSwgIlRyZWJ1Y2hldCBNUyIsIEFyaWFsLCBzYW5zLXNlcmlmJywNCiAgJ0dhcmFtb25kJzogJ0dhcmFtb25kLCBCYXNrZXJ2aWxsZSwgIkJhc2tlcnZpbGxlIE9sZCBGYWNlIiwgIkhvZWZsZXIgVGV4dCIsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZicsDQogICdHZW5ldmEnOiAnR2VuZXZhLCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWYnLA0KICAnR2VvcmdpYSc6ICdHZW9yZ2lhLCBUaW1lcywgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmJywNCiAgJ0dpbGwgU2Fucyc6ICciR2lsbCBTYW5zIiwgIkdpbGwgU2FucyBNVCIsIENhbGlicmksIHNhbnMtc2VyaWYnLA0KICAnR291ZHkgT2xkIFN0eWxlJzogJyJHb3VkeSBPbGQgU3R5bGUiLCBHYXJhbW9uZCwgIkJpZyBDYXNsb24iLCAiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWYnLA0KICAnSGVsdmV0aWNhJzogJyJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYnLA0KICAnSG9lZmxlciBUZXh0JzogJyJIb2VmbGVyIFRleHQiLCAiQmFza2VydmlsbGUgb2xkIGZhY2UiLCBHYXJhbW9uZCwgIlRpbWVzIE5ldyBSb21hbiIsIHNlcmlmJywNCiAgJ0ltcGFjdCc6ICdJbXBhY3QsIEhhZXR0ZW5zY2h3ZWlsZXIsICJGcmFua2xpbiBHb3RoaWMgQm9sZCIsIENoYXJjb2FsLCAiSGVsdmV0aWNhIEluc2VyYXQiLCAiQml0c3RyZWFtIFZlcmEgU2FucyBCb2xkIiwgIkFyaWFsIEJsYWNrIiwgc2FucyBzZXJpZicsDQogICdMdWNpZGEgQnJpZ2h0JzogJyJMdWNpZGEgQnJpZ2h0IiwgR2VvcmdpYSwgc2VyaWYnLA0KICAnTHVjaWRhIENvbnNvbGUnOiAnIkx1Y2lkYSBDb25zb2xlIiwgIkx1Y2lkYSBTYW5zIFR5cGV3cml0ZXIiLCBNb25hY28sICJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm8iLCBtb25vc3BhY2UnLA0KICAnTHVjaWRhIFNhbnMgVHlwZXdyaXRlcic6ICciTHVjaWRhIFNhbnMgVHlwZXdyaXRlciIsICJMdWNpZGEgQ29uc29sZSIsIE1vbmFjbywgIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubyIsIG1vbm9zcGFjZScsDQogICdMdWNpZGEgR3JhbmRlJzogJyJMdWNpZGEgR3JhbmRlIiwgIkx1Y2lkYSBTYW5zIFVuaWNvZGUiLCAiTHVjaWRhIFNhbnMiLCBHZW5ldmEsIFZlcmRhbmEsIHNhbnMtc2VyaWYnLA0KICAnTW9uYWNvJzogJ01vbmFjbywgQ29uc29sYXMsICJMdWNpZGEgQ29uc29sZSIsIG1vbm9zcGFjZScsDQogICdPcHRpbWEnOiAnT3B0aW1hLCBTZWdvZSwgIlNlZ29lIFVJIiwgQ2FuZGFyYSwgQ2FsaWJyaSwgQXJpYWwsIHNhbnMtc2VyaWYnLA0KICAnUGFsYXRpbm8nOiAnUGFsYXRpbm8sICJQYWxhdGlubyBMaW5vdHlwZSIsICJQYWxhdGlubyBMVCBTVEQiLCAiQm9vayBBbnRpcXVhIiwgR2VvcmdpYSwgc2VyaWYnLA0KICAnUGFweXJ1cyc6ICdQYXB5cnVzLCBmYW50YXN5JywNCiAgJ1BlcnBldHVhJzogJ1BlcnBldHVhLCBCYXNrZXJ2aWxsZSwgIkJpZyBDYXNsb24iLCAiUGFsYXRpbm8gTGlub3R5cGUiLCBQYWxhdGlubywgIlVSVyBQYWxsYWRpbyBMIiwgIk5pbWJ1cyBSb21hbiBObzkgTCIsIHNlcmlmJywNCiAgJ1JvY2t3ZWxsJzogJ1JvY2t3ZWxsLCAiQ291cmllciBCb2xkIiwgQ291cmllciwgR2VvcmdpYSwgVGltZXMsICJUaW1lcyBOZXcgUm9tYW4iLCBzZXJpZicsDQogICdSb2Nrd2VsbCBFeHRyYSBCb2xkJzogJyJSb2Nrd2VsbCBFeHRyYSBCb2xkIiwgIlJvY2t3ZWxsIEJvbGQiLCBtb25vc3BhY2UnLA0KICAnU2Vnb2UgVUknOiAnIlNlZ29lIFVJIiwgRnJ1dGlnZXIsICJGcnV0aWdlciBMaW5vdHlwZScsDQogICdUYWhvbWEnOiAnVGFob21hLCBWZXJkYW5hLCBTZWdvZSwgc2Fucy1zZXJpZicsDQogICdUaW1lcyBOZXcgUm9tYW4nOiAnVGltZXNOZXdSb21hbiwgIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBCYXNrZXJ2aWxsZSwgR2VvcmdpYSwgc2VyaWYnLA0KICAnVHJlYnVjaGV0IE1TJzogJyJUcmVidWNoZXQgTVMiLCAiTHVjaWRhIEdyYW5kZSIsICJMdWNpZGEgU2FucyBVbmljb2RlIiwgIkx1Y2lkYSBTYW5zIiwgVGFob21hLCBzYW5zLXNlcmlmJywNCiAgJ1ZlcmRhbmEnOiAnVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmJw0KfTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLWZvbnRzaXplcy5lbl9VUy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKQ0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQogDQp2YXIgQkZIRm9udFNpemVzTGlzdCA9IHsNCiAgJzgnOiAnOHB4JywNCiAgJzknOiAnOXB4JywNCiAgJzEwJzogJzEwcHgnLA0KICAnMTEnOiAnMTFweCcsDQogICcxMic6ICcxMnB4JywNCiAgJzE0JzogJzE0cHgnLA0KICAnMTYnOiAnMTZweCcsDQogICcxOCc6ICcxOHB4JywNCiAgJzIwJzogJzIwcHgnLA0KICAnMjQnOiAnMjRweCcsDQogICcyOCc6ICcyOHB4JywNCiAgJzM2JzogJzM2cHgnLA0KICAnNDgnOiAnNDhweCcNCn07DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1nb29nbGVmb250cy5lbl9VUy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqIGNvbnRyaWJ1dGVkIGJ5IEFhcm9uIENvbGxlZ2VtYW4sIFNxdWlkb28sIDIwMTINCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQp2YXIgQkZIR29vZ2xlRm9udHNMaXN0ID0gew0KICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250TGlzdCcsDQogICdpdGVtcyc6IFsNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQUJlZVplZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FiZWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FicmlsIEZhdGZhY2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBY2xvbmljYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWNtZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWN0b3InLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FkYW1pbmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FkdmVudCBQcm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMTAwJywNCiAgICAgICAgJzIwMCcsDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc1MDAnLA0KICAgICAgICAnNjAwJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicsDQogICAgICAgICdncmVlaycNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBZ3VhZmluYSBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBa3JvbmltJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWxhZGluJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWxkcmljaCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWxlZ3JleWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycsDQogICAgICAgICc5MDAnLA0KICAgICAgICAnOTAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FsZWdyZXlhIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnLA0KICAgICAgICAnOTAwJywNCiAgICAgICAgJzkwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbGV4IEJydXNoJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWxmYSBTbGFiIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWxpY2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FsaWtlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbGlrZSBBbmd1bGFyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbGxhbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbGxlcnRhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbGxlcnRhIFN0ZW5jaWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FsbHVyYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FsbWVuZHJhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQWxtZW5kcmEgRGlzcGxheScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FsbWVuZHJhIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbWFyYW50ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FtYXJhbnRoJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbWF0aWMgU0MnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbWV0aHlzdGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FuYWhlaW0nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbmRhZGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbmRpa2EnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicsDQogICAgICAgICdjeXJpbGxpYy1leHQnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQW5na29yJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdraG1lcicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbm5pZSBVc2UgWW91ciBUZWxlc2NvcGUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Fub255bW91cyBQcm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2dyZWVrLWV4dCcsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnZ3JlZWsnLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FudGljJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBbnRpYyBEaWRvbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FudGljIFNsYWInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FudG9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXJhcGV5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXJidXR1cycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FyYnV0dXMgU2xhYicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FyY2hpdGVjdHMgRGF1Z2h0ZXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FyY2hpdm8gQmxhY2snLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBcmNoaXZvIE5hcnJvdycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FyaW1vJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBcml6b25pYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FybWF0YScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FydGlmaWthJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBcnZvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBc2FwJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXNzZXQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0FzdGxvY2gnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBc3VsJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXRvbWljIEFnZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXVicmV5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBdWRpb3dpZGUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBdXRvdXIgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXZlcmFnZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0F2ZXJhZ2UgU2FucycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0F2ZXJpYSBHcnVlc2EgTGlicmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdBdmVyaWEgTGlicmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMzAwJywNCiAgICAgICAgJzMwMGl0YWxpYycsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXZlcmlhIFNhbnMgTGlicmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMzAwJywNCiAgICAgICAgJzMwMGl0YWxpYycsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQXZlcmlhIFNlcmlmIExpYnJlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzMwMCcsDQogICAgICAgICczMDBpdGFsaWMnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JhZCBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JhbHRoYXphcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQmFuZ2VycycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQmFzaWMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCYXR0YW1iYW5nJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAna2htZXInDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQmF1bWFucycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQmF5b24nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JlbGdyYW5vJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCZWxsZXphJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQmVuY2hOaW5lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzMwMCcsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCZW50aGFtJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCZXJrc2hpcmUgU3dhc2gnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCZXZhbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQmlnZWxvdyBSdWxlcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JpZ3Nob3QgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCaWxibycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JpbGJvIFN3YXNoIENhcHMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCaXR0ZXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JsYWNrIE9wcyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCb2tvcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAna2htZXInDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQm9uYm9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCb29nYWxvbycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQm93bGJ5IE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQm93bGJ5IE9uZSBTQycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JyYXdsZXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0JyZWUgU2VyaWYnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCdWJibGVndW0gU2FucycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0J1YmJsZXIgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQnVkYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCdWVuYXJkJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0J1dGNoZXJtYW4nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdCdXR0ZXJmbHkgS2lkcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NhYmluJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzUwMCcsDQogICAgICAgICc1MDBpdGFsaWMnLA0KICAgICAgICAnNjAwJywNCiAgICAgICAgJzYwMGl0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2FiaW4gQ29uZGVuc2VkJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNTAwJywNCiAgICAgICAgJzYwMCcsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDYWJpbiBTa2V0Y2gnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDYWVzYXIgRHJlc3NpbmcnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NhZ2xpb3N0cm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NhbGxpZ3JhZmZpdHRpJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDYW1ibycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2FuZGFsJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDYW50YXJlbGwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NhbnRhdGEgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2FudG9yYSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDYXByaW9sYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NhcmRvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2dyZWVrLWV4dCcsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnZ3JlZWsnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2FybWUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NhcnJvaXMgR290aGljJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDYXJyb2lzIEdvdGhpYyBTQycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2FydGVyIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2F1ZGV4JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdncmVlay1leHQnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ2dyZWVrJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NlZGFydmlsbGUgQ3Vyc2l2ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2V2aWNoZSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NoYW5nYSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDaGFuZ28nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDaGF1IFBoaWxvbWVuZSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2hlbGEgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2hlbHNlYSBNYXJrZXQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDaGVubGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NoZXJyeSBDcmVhbSBTb2RhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDaGVycnkgU3dhc2gnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2hld3knLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NoaWNsZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NoaXZvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzkwMCcsDQogICAgICAgICc5MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDaW56ZWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnOTAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2luemVsIERlY29yYXRpdmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnOTAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ2xpY2tlciBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDb2RhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnODAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ29kYSBDYXB0aW9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzgwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvZHlzdGFyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzMwMCcsDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvbWJvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ29tZm9ydGFhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzMwMCcsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicsDQogICAgICAgICdncmVlaycsDQogICAgICAgICdjeXJpbGxpYy1leHQnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ29taW5nIFNvb24nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvbmNlcnQgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ29uZGltZW50JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ29udGVudCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvbnRyYWlsIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ29udmVyZ2VuY2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Nvb2tpZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ29wc2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvcmJlbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvdXJnZXR0ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvdXNpbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NvdXN0YXJkJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnOTAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ292ZXJlZCBCeSBZb3VyIEdyYWNlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDcmFmdHkgR2lybHMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0NyZWVwc3RlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ3JldGUgUm91bmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnQ3JpbXNvbiBUZXh0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzYwMCcsDQogICAgICAgICc2MDBpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Nyb2lzc2FudCBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDcnVzaGVkJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDdXBydW0nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDdXRpdmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdDdXRpdmUgTW9ubycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0RhbWlvbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRGFuY2luZyBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdEYW5ncmVrJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdraG1lcicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdEYXduaW5nIG9mIGEgTmV3IERheScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRGF5cyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0RlbGl1cycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRGVsaXVzIFN3YXNoIENhcHMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0RlbGl1cyBVbmljYXNlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRGVsbGEgUmVzcGlyYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRGV2b25zaGlyZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0RpZGFjdCBHb3RoaWMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2dyZWVrLWV4dCcsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnZ3JlZWsnLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0RpcGxvbWF0YScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0RpcGxvbWF0YSBTQycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0RvcHBpbyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdEb3JzYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRG9zaXMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMjAwJywNCiAgICAgICAgJzMwMCcsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzUwMCcsDQogICAgICAgICc2MDAnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzgwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdEciBTdWdpeWFtYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Ryb2lkIFNhbnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdEcm9pZCBTYW5zIE1vbm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Ryb2lkIFNlcmlmJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdEdXJ1IFNhbnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdEeW5hbGlnaHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdFQiBHYXJhbW9uZCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ3ZpZXRuYW1lc2UnLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0VhZ2xlIExha2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdFYXRlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Vjb25vbWljYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0VsZWN0cm9saXplJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdFbWJsZW1hIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0VtaWx5cyBDYW5keScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0VuZ2FnZW1lbnQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0VuZ2xlYmVydCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0VucmlxdWV0YScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdFcmljYSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0VzdGViYW4nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdFdXBob3JpYSBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdFd2VydCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0V4bycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICcxMDAnLA0KICAgICAgICAnMTAwaXRhbGljJywNCiAgICAgICAgJzIwMCcsDQogICAgICAgICcyMDBpdGFsaWMnLA0KICAgICAgICAnMzAwJywNCiAgICAgICAgJzMwMGl0YWxpYycsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc1MDAnLA0KICAgICAgICAnNTAwaXRhbGljJywNCiAgICAgICAgJzYwMCcsDQogICAgICAgICc2MDBpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycsDQogICAgICAgICc4MDAnLA0KICAgICAgICAnODAwaXRhbGljJywNCiAgICAgICAgJzkwMCcsDQogICAgICAgICc5MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRXhwbGV0dXMgU2FucycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc1MDAnLA0KICAgICAgICAnNTAwaXRhbGljJywNCiAgICAgICAgJzYwMCcsDQogICAgICAgICc2MDBpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Zhbndvb2QgVGV4dCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Zhc2NpbmF0ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRmFzY2luYXRlIElubGluZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRmFzdGVyIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRmFzdGhhbmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0ZlZGVyYW50JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGZWRlcm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0ZlbGlwYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0Zlbml4JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRmluZ2VyIFBhaW50JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGam9yZCBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0ZsYW1lbmNvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzMwMCcsDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRmxhdm9ycycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRm9uZGFtZW50bycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGb250ZGluZXIgU3dhbmt5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGb3J1bScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ2N5cmlsbGljLWV4dCcNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGcmFuY29pcyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGcmVja2xlIEZhY2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGcmVkZXJpY2thIHRoZSBHcmVhdCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnRnJlZG9rYSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0ZyZWVoYW5kJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdraG1lcicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGcmVzY2EnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGcmlqb2xlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdGdWdheiBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dGUyBEaWRvdCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnZ3JlZWsnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnR0ZTIE5lb2hlbGxlbmljJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdncmVlaycNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHYWZhdGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHYWxkZWFubycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnR2FsaW5kbycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dlbnRpdW0gQmFzaWMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHZW50aXVtIEJvb2sgQmFzaWMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHZW8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHZW9zdGFyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHZW9zdGFyIEZpbGwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dlcm1hbmlhIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnR2lsZGEgRGlzcGxheScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dpdmUgWW91IEdsb3J5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHbGFzcyBBbnRpcXVhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnR2xlZ29vJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnR2xvcmlhIEhhbGxlbHVqYWgnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dvYmxpbiBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dvY2hpIEhhbmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dvcmRpdGFzJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnR291ZHkgQm9va2xldHRlciAxOTExJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHcmFkdWF0ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnR3Jhdml0YXMgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdHcmVhdCBWaWJlcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dyaWZmeScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0dydXBwbycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0d1ZGVhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdIYWJpYmknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdIYW1tZXJzbWl0aCBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdIYW5hbGVpJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSGFuYWxlaSBGaWxsJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSGFuZGxlZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSGFudW1hbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0hhcHB5IE1vbmtleScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0hlYWRsYW5kIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0hlbm55IFBlbm55JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdIZXJyIFZvbiBNdWVsbGVyaG9mZicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0hvbHR3b29kIE9uZSBTQycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSG9tZW1hZGUgQXBwbGUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0hvbWVuYWplJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSU0gRmVsbCBEVyBQaWNhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSU0gRmVsbCBEVyBQaWNhIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJTSBGZWxsIERvdWJsZSBQaWNhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSU0gRmVsbCBEb3VibGUgUGljYSBTQycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSU0gRmVsbCBFbmdsaXNoJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSU0gRmVsbCBFbmdsaXNoIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJTSBGZWxsIEZyZW5jaCBDYW5vbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0lNIEZlbGwgRnJlbmNoIENhbm9uIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJTSBGZWxsIEdyZWF0IFByaW1lcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0lNIEZlbGwgR3JlYXQgUHJpbWVyIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJY2ViZXJnJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJY2VsYW5kJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJbXByaW1hJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSW5jb25zb2xhdGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSW5kZXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJbmRpZSBGbG93ZXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0luaWthJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0lyaXNoIEdyb3ZlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSXN0b2sgV2ViJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0l0YWxpYW5hJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdJdGFsaWFubm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdKYWNxdWVzIEZyYW5jb2lzJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdKYWNxdWVzIEZyYW5jb2lzIFNoYWRvdycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSmltIE5pZ2h0c2hhZGUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdKb2NrZXkgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSm9sbHkgTG9kZ2VyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSm9zZWZpbiBTYW5zJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzEwMCcsDQogICAgICAgICcxMDBpdGFsaWMnLA0KICAgICAgICAnMzAwJywNCiAgICAgICAgJzMwMGl0YWxpYycsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc2MDAnLA0KICAgICAgICAnNjAwaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdKb3NlZmluIFNsYWInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMTAwJywNCiAgICAgICAgJzEwMGl0YWxpYycsDQogICAgICAgICczMDAnLA0KICAgICAgICAnMzAwaXRhbGljJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzYwMCcsDQogICAgICAgICc2MDBpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0pvdGkgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSnVkc29uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0p1bGVlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdKdWxpdXMgU2FucyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdKdW5nZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSnVyYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc1MDAnLA0KICAgICAgICAnNjAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnZ3JlZWstZXh0JywNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicsDQogICAgICAgICdncmVlaycsDQogICAgICAgICdjeXJpbGxpYy1leHQnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnSnVzdCBBbm90aGVyIEhhbmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0p1c3QgTWUgQWdhaW4gRG93biBIZXJlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdLYW1lcm9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnS2FybGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdLYXVzaGFuIFNjcmlwdCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0tlYW5pYSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdLZWxseSBTbGFiJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnS2VuaWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0tobWVyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdraG1lcicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdLaXRlIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnS25ld2F2ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0tvdHRhIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0tvdWxlbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAna2htZXInDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnS3Jhbmt5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdLcmVvbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdLcmlzdGknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0tyb25hIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xhIEJlbGxlIEF1cm9yZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTGFuY2Vsb3QnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xhdG8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMTAwJywNCiAgICAgICAgJzEwMGl0YWxpYycsDQogICAgICAgICczMDAnLA0KICAgICAgICAnMzAwaXRhbGljJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnLA0KICAgICAgICAnOTAwJywNCiAgICAgICAgJzkwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xlYWd1ZSBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xlY2tlcmxpIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTGVkZ2VyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTGVrdG9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdMZW1vbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTGlmZSBTYXZlcnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdMaWxpdGEgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTGltZWxpZ2h0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTGluZGVuIEhpbGwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdMb2JzdGVyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xvYnN0ZXIgVHdvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdMb25kcmluYSBPdXRsaW5lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdMb25kcmluYSBTaGFkb3cnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xvbmRyaW5hIFNrZXRjaCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTG9uZHJpbmEgU29saWQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xvcmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xvdmUgWWEgTGlrZSBBIFNpc3RlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTG92ZWQgYnkgdGhlIEtpbmcnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0xvdmVycyBRdWFycmVsJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTHVja2llc3QgR3V5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdMdXNpdGFuYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ0x1c3RyaWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01hY29uZG8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01hY29uZG8gU3dhc2ggQ2FwcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFncmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFpZGVuIE9yYW5nZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFrbycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFyY2VsbHVzJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFyY2VsbHVzIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFyY2sgU2NyaXB0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFyZ2FyaW5lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWFya28gT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNYXJtZWxhZCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01hcnZlbCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWF0ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01hdGUgU0MnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01hdmVuIFBybycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzUwMCcsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnOTAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWNMYXJlbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01lZGRvbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWVkaWV2YWxTaGFycCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01lZHVsYSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01lZ3JpbScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWVpZSBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNZXJpZW5kYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNZXJpZW5kYSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01lcnJpd2VhdGhlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnOTAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWV0YWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01ldGFsIE1hbmlhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWV0YW1vcnBob3VzJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTWV0cm9waG9iaWMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01pY2hyb21hJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNaWx0b25pYW4nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01pbHRvbmlhbiBUYXR0b28nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01pbml2ZXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01pc3MgRmFqYXJkb3NlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTW9kZXJuIEFudGlxdWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNb2xlbmdvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTW9sbGUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01vbm9mZXR0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNb25vdG9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNb25zaWV1ciBMYSBEb3VsYWlzZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01vbnRhZ2EnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01vbnRleicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTW9udHNlcnJhdCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01vbnRzZXJyYXQgQWx0ZXJuYXRlcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01vbnRzZXJyYXQgU3VicmF5YWRhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTW91bCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAna2htZXInDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTW91bHBhbGknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01vdW50YWlucyBvZiBDaHJpc3RtYXMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNb3VzZSBNZW1vaXJzJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTXIgQmVkZm9ydCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ01yIERhZm9lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTXIgRGUgSGF2aWxhbmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdNcnMgU2FpbnQgRGVsYWZpZWxkJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTXJzIFNoZXBwYXJkcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ011bGknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMzAwJywNCiAgICAgICAgJzMwMGl0YWxpYycsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ015c3RlcnkgUXVlc3QnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdOZXVjaGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05ldXRvbicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICcyMDAnLA0KICAgICAgICAnMzAwJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc4MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTmV3cyBDeWNsZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdOaWNvbm5lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTml4aWUgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdOb2JpbGUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05va29yYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05vcmljYW4nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdOb3NpZmVyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTm90aGluZyBZb3UgQ291bGQgRG8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05vdGljaWEgVGV4dCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ3ZpZXRuYW1lc2UnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTm92YSBDdXQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05vdmEgRmxhdCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnTm92YSBNb25vJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicsDQogICAgICAgICdncmVlaycNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdOb3ZhIE92YWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05vdmEgUm91bmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05vdmEgU2NyaXB0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdOb3ZhIFNsaW0nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ05vdmEgU3F1YXJlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdOdW1hbnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ051bml0bycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdPZG9yIE1lYW4gQ2hleScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAna2htZXInDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnT2Zmc2lkZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnT2xkIFN0YW5kYXJkIFRUJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09sZGVuYnVyZycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09sZW8gU2NyaXB0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09sZW8gU2NyaXB0IFN3YXNoIENhcHMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnT3BlbiBTYW5zJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJzMwMCcsDQogICAgICAgICczMDBpdGFsaWMnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNjAwJywNCiAgICAgICAgJzYwMGl0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJywNCiAgICAgICAgJzgwMCcsDQogICAgICAgICc4MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdncmVlay1leHQnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ3ZpZXRuYW1lc2UnLA0KICAgICAgICAnZ3JlZWsnLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09wZW4gU2FucyBDb25kZW5zZWQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMzAwJywNCiAgICAgICAgJzMwMGl0YWxpYycsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdncmVlay1leHQnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ3ZpZXRuYW1lc2UnLA0KICAgICAgICAnZ3JlZWsnLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09yYW5pZW5iYXVtJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09yYml0cm9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNTAwJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc5MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdPcmVnYW5vJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09yaWVudGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdPcmlnaW5hbCBTdXJmZXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ09zd2FsZCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnT3ZlciB0aGUgUmFpbmJvdycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnT3ZlcmxvY2snLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycsDQogICAgICAgICc5MDAnLA0KICAgICAgICAnOTAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ092ZXJsb2NrIFNDJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnT3ZvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdPeHlnZW4nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMzAwJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ094eWdlbiBNb25vJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUFQgTW9ubycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ2N5cmlsbGljLWV4dCcNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQVCBTYW5zJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUFQgU2FucyBDYXB0aW9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BUIFNhbnMgTmFycm93JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BUIFNlcmlmJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQVCBTZXJpZiBDYXB0aW9uJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUGFjaWZpY28nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BhcHJpa2EnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BhcmlzaWVubmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQYXNzZXJvIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1Bhc3Npb24gT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzkwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQYXRyaWNrIEhhbmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQYXR1YSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BheXRvbmUgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQZXJhbHRhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUGVybWFuZW50IE1hcmtlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUGV0aXQgRm9ybWFsIFNjcmlwdCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BldHJvbmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BoaWxvc29waGVyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQaWVkcmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQaW55b24gU2NyaXB0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQaXJhdGEgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUGxhc3RlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BsYXknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdncmVlay1leHQnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ2dyZWVrJywNCiAgICAgICAgJ2N5cmlsbGljLWV4dCcNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQbGF5YmFsbCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BsYXlmYWlyIERpc3BsYXknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycsDQogICAgICAgICc5MDAnLA0KICAgICAgICAnOTAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BsYXlmYWlyIERpc3BsYXkgU0MnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycsDQogICAgICAgICc5MDAnLA0KICAgICAgICAnOTAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BvZGtvdmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQb2lyZXQgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUG9sbGVyIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUG9seScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1BvbXBpZXJlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQb250YW5vIFNhbnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQb3J0IExsaWdhdCBTYW5zJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQb3J0IExsaWdhdCBTbGFiJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQcmF0YScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUHJlYWh2aWhlYXInLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2tobWVyJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1ByZXNzIFN0YXJ0IDJQJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnZ3JlZWsnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUHJpbmNlc3MgU29maWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdQcm9jaW9ubycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUHJvc3RvIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1B1cml0YW4nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1B1cnBsZSBQdXJzZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1F1YW5kbycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1F1YW50aWNvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdRdWF0dHJvY2VudG8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUXVhdHRyb2NlbnRvIFNhbnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdRdWVzdHJpYWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1F1aWNrc2FuZCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdRdWludGVzc2VudGlhbCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1F3aWdsZXknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSYWNpbmcgU2FucyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSYWRsZXknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUmFsZXdheScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICcxMDAnLA0KICAgICAgICAnMjAwJywNCiAgICAgICAgJzMwMCcsDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzUwMCcsDQogICAgICAgICc2MDAnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzgwMCcsDQogICAgICAgICc5MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSYWxld2F5IERvdHMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSYW1ibGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSYW1tZXR0byBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSYW5jaGVycycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1JhbmNobycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUmF0aW9uYWxlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSZWRyZXNzZWQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1JlZW5pZSBCZWFuaWUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1JldmFsaWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSaWJleWUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSaWJleWUgTWFycm93JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUmlnaHRlb3VzJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUmlzcXVlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUm9jaGVzdGVyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSb2NrIFNhbHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1Jva2tpdHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSb21hbmVzY28nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSb3BhIFNhbnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUm9zYXJpbycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUm9zYXJpdm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUm91Z2UgU2NyaXB0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSdWRhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzkwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSdWZpbmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc3MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUnVnZSBCb29naWUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSdWx1a28nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdSdW0gUmFpc2luJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUnVzbGFuIERpc3BsYXknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicsDQogICAgICAgICdjeXJpbGxpYy1leHQnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUnVzc28gT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUnV0aGllJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnUnllJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2FjcmFtZW50bycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NhaWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NhbHNhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTYW5jaGV6JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NhbmNyZWVrJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2Fuc2l0YSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NhcmluYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NhdGlzZnknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NjYWRhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2Nob29sYmVsbCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2Vhd2VlZCBTY3JpcHQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTZXZpbGxhbmEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTZXltb3VyIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NoYWRvd3MgSW50byBMaWdodCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2hhZG93cyBJbnRvIExpZ2h0IFR3bycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NoYW50aScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2hhcmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTaGFyZSBUZWNoJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTaGFyZSBUZWNoIE1vbm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1Nob2p1bWFydScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1Nob3J0IFN0YWNrJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTaWVtcmVhcCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAna2htZXInDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2lnbWFyIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2lnbmlrYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICc2MDAnLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NpZ25pa2EgTmVnYXRpdmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMzAwJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNjAwJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTaW1vbmV0dGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnOTAwJywNCiAgICAgICAgJzkwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTaXJpbiBTdGVuY2lsJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTaXggQ2FwcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU2tyYW5qaScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTbGFja2V5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTbW9rdW0nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NteXRoZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU25pZ2xldCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICc4MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTbmlwcGV0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTbm93YnVyc3QgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU29mYWRpIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU29maWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NvbnNpZSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTb3J0cyBNaWxsIEdvdWR5JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NvdXJjZSBDb2RlIFBybycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICcyMDAnLA0KICAgICAgICAnMzAwJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNjAwJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc5MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTb3VyY2UgU2FucyBQcm8nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMjAwJywNCiAgICAgICAgJzIwMGl0YWxpYycsDQogICAgICAgICczMDAnLA0KICAgICAgICAnMzAwaXRhbGljJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzYwMCcsDQogICAgICAgICc2MDBpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycsDQogICAgICAgICc5MDAnLA0KICAgICAgICAnOTAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NwZWNpYWwgRWxpdGUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NwaWN5IFJpY2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NwaW5uYWtlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1NwaXJheCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU3F1YWRhIE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU3RhbGVtYXRlJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU3RhbGluaXN0IE9uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnY3lyaWxsaWMnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1N0YXJkb3MgU3RlbmNpbCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1N0aW50IFVsdHJhIENvbmRlbnNlZCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1N0aW50IFVsdHJhIEV4cGFuZGVkJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU3Rva2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnMzAwJywNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnU3RyYWl0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTdWUgRWxsZW4gRnJhbmNpc2NvJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTdW5zaGluZXknLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1N1cGVybWVyY2FkbyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1N1d2FubmFwaHVtJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdraG1lcicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdTd2Fua3kgYW5kIE1vbyBNb28nLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1N5bmNvcGF0ZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1RhbmdlcmluZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1RhcHJvbScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAna2htZXInDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVGVsZXgnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1Rlbm9yIFNhbnMnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicsDQogICAgICAgICdjeXJpbGxpYy1leHQnDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVGV4dCBNZSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdUaGUgR2lybCBOZXh0IERvb3InLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1RpZW5uZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc5MDAnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdUaW5vcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJywNCiAgICAgICAgJ2l0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVGl0YW4gT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVGl0aWxsaXVtIFdlYicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICcyMDAnLA0KICAgICAgICAnMjAwaXRhbGljJywNCiAgICAgICAgJzMwMCcsDQogICAgICAgICczMDBpdGFsaWMnLA0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNjAwJywNCiAgICAgICAgJzYwMGl0YWxpYycsDQogICAgICAgICc3MDAnLA0KICAgICAgICAnNzAwaXRhbGljJywNCiAgICAgICAgJzkwMCcNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdUcmFkZSBXaW5kcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVHJvY2NoaScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1Ryb2NodXQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVHJ5a2tlcicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1R1bHBlbiBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1VidW50dScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICczMDAnLA0KICAgICAgICAnMzAwaXRhbGljJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzUwMCcsDQogICAgICAgICc1MDBpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2dyZWVrLWV4dCcsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnZ3JlZWsnLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1VidW50dSBDb25kZW5zZWQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2dyZWVrLWV4dCcsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nLA0KICAgICAgICAnZ3JlZWsnLA0KICAgICAgICAnY3lyaWxsaWMtZXh0Jw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1VidW50dSBNb25vJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdncmVlay1leHQnLA0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJywNCiAgICAgICAgJ2dyZWVrJywNCiAgICAgICAgJ2N5cmlsbGljLWV4dCcNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdVbHRyYScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVW5jaWFsIEFudGlxdWEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1VuZGVyZG9nJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdjeXJpbGxpYycsDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVW5pY2EgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbi1leHQnLA0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVW5pZnJha3R1ckNvb2snLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVW5pZnJha3R1ck1hZ3VudGlhJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdVbmtlbXB0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVW5sb2NrJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdVbm5hJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdWVDMyMycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVmFtcGlybyBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdWYXJlbGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdWYXJlbGEgUm91bmQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1Zhc3QgU2hhZG93JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdWaWJ1cicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnVmlkYWxva2EnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1ZpZ2EnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdWb2NlcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1ZvbGtob3YnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicsDQogICAgICAgICdpdGFsaWMnLA0KICAgICAgICAnNzAwJywNCiAgICAgICAgJzcwMGl0YWxpYycNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1ZvbGxrb3JuJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnaXRhbGljJywNCiAgICAgICAgJzcwMCcsDQogICAgICAgICc3MDBpdGFsaWMnDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdWb2x0YWlyZScsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4nDQogICAgICBdDQogICAgfSwNCiAgICB7DQogICAgICAna2luZCc6ICd3ZWJmb250cyN3ZWJmb250JywNCiAgICAgICdmYW1pbHknOiAnV2FpdGluZyBmb3IgdGhlIFN1bnJpc2UnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1dhbGxwb2V0JywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdXYWx0ZXIgVHVybmNvYXQnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1dhcm5lcycsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1dlbGxmbGVldCcsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICdyZWd1bGFyJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1dpcmUgT25lJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdZYW5vbmUgS2FmZmVlc2F0eicsDQogICAgICAndmFyaWFudHMnOiBbDQogICAgICAgICcyMDAnLA0KICAgICAgICAnMzAwJywNCiAgICAgICAgJ3JlZ3VsYXInLA0KICAgICAgICAnNzAwJw0KICAgICAgXSwNCiAgICAgICdzdWJzZXRzJzogWw0KICAgICAgICAnbGF0aW4tZXh0JywNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1llbGxvd3RhaWwnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0sDQogICAgew0KICAgICAgJ2tpbmQnOiAnd2ViZm9udHMjd2ViZm9udCcsDQogICAgICAnZmFtaWx5JzogJ1llc2V2YSBPbmUnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2N5cmlsbGljJywNCiAgICAgICAgJ2xhdGluLWV4dCcsDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdZZXN0ZXJ5ZWFyJywNCiAgICAgICd2YXJpYW50cyc6IFsNCiAgICAgICAgJ3JlZ3VsYXInDQogICAgICBdLA0KICAgICAgJ3N1YnNldHMnOiBbDQogICAgICAgICdsYXRpbicNCiAgICAgIF0NCiAgICB9LA0KICAgIHsNCiAgICAgICdraW5kJzogJ3dlYmZvbnRzI3dlYmZvbnQnLA0KICAgICAgJ2ZhbWlseSc6ICdaZXlhZGEnLA0KICAgICAgJ3ZhcmlhbnRzJzogWw0KICAgICAgICAncmVndWxhcicNCiAgICAgIF0sDQogICAgICAnc3Vic2V0cyc6IFsNCiAgICAgICAgJ2xhdGluJw0KICAgICAgXQ0KICAgIH0NCiAgXQ0KfTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLWxhbmd1YWdlcy5lbl9VUy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KIA0KdmFyIEJGSExhbmd1YWdlc0xpc3QgPSB7DQogICdvbSc6ICdBZmFhbiBPcm9tb28nLA0KICAnYWEnOiAnQWZhcmFmJywNCiAgJ2FmJzogJ0FmcmlrYWFucycsDQogICdhayc6ICdBa2FuJywNCiAgJ2FuJzogJ2FyYWdvbsOpcycsDQogICdpZyc6ICdBc-G7pXPhu6UgSWdibycsDQogICdnbic6ICdBdmHDsWVcJ-G6vScsDQogICdhZSc6ICdhdmVzdGEnLA0KICAnYXknOiAnYXltYXIgYXJ1JywNCiAgJ2F6JzogJ2F6yZlyYmF5Y2FuIGRpbGknLA0KICAnaWQnOiAnQmFoYXNhIEluZG9uZXNpYScsDQogICdtcyc6ICdiYWhhc2EgTWVsYXl1JywNCiAgJ2JtJzogJ2JhbWFuYW5rYW4nLA0KICAnanYnOiAnYmFzYSBKYXdhJywNCiAgJ3N1JzogJ0Jhc2EgU3VuZGEnLA0KICAnYmknOiAnQmlzbGFtYScsDQogICdicyc6ICdib3NhbnNraSBqZXppaycsDQogICdicic6ICdicmV6aG9uZWcnLA0KICAnY2EnOiAnY2F0YWzDoCcsDQogICdjaCc6ICdDaGFtb3J1JywNCiAgJ255JzogJ2NoaUNoZcW1YScsDQogICdzbic6ICdjaGlTaG9uYScsDQogICdjbyc6ICdjb3JzdScsDQogICdjeSc6ICdDeW1yYWVnJywNCiAgJ2RhJzogJ2RhbnNrJywNCiAgJ3NlJzogJ0RhdnZpc8OhbWVnaWVsbGEnLA0KICAnZGUnOiAnRGV1dHNjaCcsDQogICdudic6ICdEaW7DqSBiaXphYWQnLA0KICAnZXQnOiAnZWVzdGknLA0KICAnbmEnOiAnRWtha2FpcsWpIE5hb2VybycsDQogICdlbic6ICdFbmdsaXNoJywNCiAgJ2VzJzogJ2VzcGHDsW9sJywNCiAgJ2VvJzogJ0VzcGVyYW50bycsDQogICdldSc6ICdldXNrYXJhJywNCiAgJ2VlJzogJ0XKi2VnYmUnLA0KICAndG8nOiAnZmFrYSBUb25nYScsDQogICdtZyc6ICdmaXRlbnkgbWFsYWdhc3knLA0KICAnZnInOiAnZnJhbsOnYWlzJywNCiAgJ2Z5JzogJ0ZyeXNrJywNCiAgJ2ZmJzogJ0Z1bGZ1bGRlJywNCiAgJ2ZvJzogJ2bDuHJveXNrdCcsDQogICdnYSc6ICdHYWVpbGdlJywNCiAgJ2d2JzogJ0dhZWxnJywNCiAgJ3NtJzogJ2dhZ2FuYSBmYVwnYSBTYW1vYScsDQogICdnbCc6ICdnYWxlZ28nLA0KICAnc3EnOiAnZ2p1aGEgc2hxaXBlJywNCiAgJ2dkJzogJ0fDoGlkaGxpZycsDQogICdraSc6ICdHxKlrxal5xaknLA0KICAnaGEnOiAnSGF1c2EnLA0KICAnaG8nOiAnSGlyaSBNb3R1JywNCiAgJ2hyJzogJ2hydmF0c2tpIGplemlrJywNCiAgJ2lvJzogJ0lkbycsDQogICdydyc6ICdJa2lueWFyd2FuZGEnLA0KICAncm4nOiAnSWtpcnVuZGknLA0KICAnaWEnOiAnSW50ZXJsaW5ndWEnLA0KICAnbmQnOiAnaXNpTmRlYmVsZScsDQogICducic6ICdpc2lOZGViZWxlJywNCiAgJ3hoJzogJ2lzaVhob3NhJywNCiAgJ3p1JzogJ2lzaVp1bHUnLA0KICAnaXQnOiAnaXRhbGlhbm8nLA0KICAnaWsnOiAnScOxdXBpYXEnLA0KICAncGwnOiAncG9sc2tpJywNCiAgJ21oJzogJ0thamluIE3Mp2FqZcS8JywNCiAgJ2tsJzogJ2thbGFhbGxpc3V0JywNCiAgJ2tyJzogJ0thbnVyaScsDQogICdrdyc6ICdLZXJuZXdlaycsDQogICdrZyc6ICdLaUtvbmdvJywNCiAgJ3N3JzogJ0tpc3dhaGlsaScsDQogICdodCc6ICdLcmV5w7JsIGF5aXN5ZW4nLA0KICAna2onOiAnS3VhbnlhbWEnLA0KICAna3UnOiAnS3VyZMOuJywNCiAgJ2xhJzogJ2xhdGluZScsDQogICdsdic6ICdsYXR2aWXFoXUgdmFsb2RhJywNCiAgJ2x0JzogJ2xpZXR1dmnFsyBrYWxiYScsDQogICdybyc6ICdsaW1iYSByb23Dom7EgycsDQogICdsaSc6ICdMaW1idXJncycsDQogICdsbic6ICdMaW5nw6FsYScsDQogICdsZyc6ICdMdWdhbmRhJywNCiAgJ2xiJzogJ0zDq3R6ZWJ1ZXJnZXNjaCcsDQogICdodSc6ICdtYWd5YXInLA0KICAnbXQnOiAnTWFsdGknLA0KICAnbmwnOiAnTmVkZXJsYW5kcycsDQogICdubyc6ICdOb3JzaycsDQogICduYic6ICdOb3JzayBib2ttw6VsJywNCiAgJ25uJzogJ05vcnNrIG55bm9yc2snLA0KICAndXonOiAnT1wnemJlaycsDQogICdvYyc6ICdvY2NpdGFuJywNCiAgJ2llJzogJ0ludGVybGluZ3VlJywNCiAgJ2h6JzogJ090amloZXJlcm8nLA0KICAnbmcnOiAnT3dhbWJvJywNCiAgJ3B0JzogJ3BvcnR1Z3XDqnMnLA0KICAndHknOiAnUmVvIFRhaGl0aScsDQogICdybSc6ICdydW1hbnRzY2ggZ3Jpc2NodW4nLA0KICAncXUnOiAnUnVuYSBTaW1pJywNCiAgJ3NjJzogJ3NhcmR1JywNCiAgJ3phJzogJ1Nhya8gY3VlxYvGhScsDQogICdzdCc6ICdTZXNvdGhvJywNCiAgJ3RuJzogJ1NldHN3YW5hJywNCiAgJ3NzJzogJ1NpU3dhdGknLA0KICAnc2wnOiAnc2xvdmVuc2tpIGplemlrJywNCiAgJ3NrJzogJ3Nsb3ZlbsSNaW5hJywNCiAgJ3NvJzogJ1Nvb21hYWxpZ2EnLA0KICAnZmknOiAnc3VvbWknLA0KICAnc3YnOiAnU3ZlbnNrYScsDQogICdtaSc6ICd0ZSByZW8gTcSBb3JpJywNCiAgJ3ZpJzogJ1Rp4bq_bmcgVmnhu4d0JywNCiAgJ2x1JzogJ1RzaGlsdWJhJywNCiAgJ3ZlJzogJ1RzaGl2ZW7huJNhJywNCiAgJ3R3JzogJ1R3aScsDQogICd0ayc6ICdUw7xya21lbicsDQogICd0cic6ICdUw7xya8OnZScsDQogICd1Zyc6ICdVecajdXJxyZknLA0KICAndm8nOiAnVm9sYXDDvGsnLA0KICAnZmonOiAndm9zYSBWYWthdml0aScsDQogICd3YSc6ICd3YWxvbicsDQogICd0bCc6ICdXaWthbmcgVGFnYWxvZycsDQogICd3byc6ICdXb2xsb2YnLA0KICAndHMnOiAnWGl0c29uZ2EnLA0KICAneW8nOiAnWW9yw7liw6EnLA0KICAnc2cnOiAnecOibmfDoiB0w64gc8OkbmfDticsDQogICdpcyc6ICfDjXNsZW5za2EnLA0KICAnY3MnOiAnxI1lxaF0aW5hJywNCiAgJ2VsJzogJ861zrvOu863zr3Ouc66zqwnLA0KICAnYXYnOiAn0LDQstCw0YAg0LzQsNGG04AnLA0KICAnYWInOiAn0LDSp9GB0YPQsCDQsdGL0LfRiNOZ0LAnLA0KICAnYmEnOiAn0LHQsNGI0qHQvtGA0YIg0YLQtdC70LUnLA0KICAnYmUnOiAn0LHQtdC70LDRgNGD0YHQutCw0Y8g0LzQvtCy0LAnLA0KICAnYmcnOiAn0LHRitC70LPQsNGA0YHQutC4INC10LfQuNC6JywNCiAgJ29zJzogJ9C40YDQvtC9IMOm0LLQt9Cw0LMnLA0KICAna3YnOiAn0LrQvtC80Lgg0LrRi9CyJywNCiAgJ2t5JzogJ9Ca0YvRgNCz0YvQt9GH0LAnLA0KICAnbWsnOiAn0LzQsNC60LXQtNC-0L3RgdC60Lgg0ZjQsNC30LjQuicsDQogICdtbic6ICfQvNC-0L3Qs9C-0LsnLA0KICAnY2UnOiAn0L3QvtGF0YfQuNC50L0g0LzQvtGC0YInLA0KICAncnUnOiAn0YDRg9GB0YHQutC40Lkg0Y_Qt9GL0LonLA0KICAnc3InOiAn0YHRgNC_0YHQutC4INGY0LXQt9C40LonLA0KICAndHQnOiAn0YLQsNGC0LDRgCDRgtC10LvQtScsDQogICd0Zyc6ICfRgtC-0rfQuNC606MnLA0KICAndWsnOiAn0YPQutGA0LDRl9C90YHRjNC60LAg0LzQvtCy0LAnLA0KICAnY3YnOiAn0YfTkdCy0LDRiCDRh9OX0LvRhdC4JywNCiAgJ2N1JzogJ9Gp0LfRi9C60Yog0YHQu9C-0LLRo9C90YzRgdC60YonLA0KICAna2snOiAn0pvQsNC30LDSmyDRgtGW0LvRlicsDQogICdoeSc6ICfVgNWh1bXVpdaA1aXVticsDQogICd5aSc6ICfXmdeZ1rTXk9eZ16knLA0KICAnaGUnOiAn16LXkdeo15nXqicsDQogICd1cic6ICfYp9ix2K_ZiCcsDQogICdhcic6ICfYp9mE2LnYsdio2YrYqScsDQogICdmYSc6ICfZgdin2LHYs9uMJywNCiAgJ3BzJzogJ9m-2prYqtmIJywNCiAgJ2tzJzogJ-CkleCktuCljeCkruClgOCksOClgCcsDQogICduZSc6ICfgpKjgpYfgpKrgpL7gpLLgpYAnLA0KICAncGknOiAn4KSq4KS-4KS04KS_JywNCiAgJ2JoJzogJ-CkreCli-CknOCkquClgeCksOClgCcsDQogICdtcic6ICfgpK7gpLDgpL7gpKDgpYAnLA0KICAnc2EnOiAn4KS44KSC4KS44KWN4KSV4KWD4KSk4KSu4KWNJywNCiAgJ3NkJzogJ-CkuOCkv-CkqOCljeCkp-ClgCcsDQogICdoaSc6ICfgpLngpL_gpKjgpY3gpKbgpYAnLA0KICAnYXMnOiAn4KaF4Ka44Kau4KeA4Kav4Ka84Ka-JywNCiAgJ2JuJzogJ-CmrOCmvuCmguCmsuCmvicsDQogICdwYSc6ICfgqKrgqbDgqJzgqL7gqKzgqYAnLA0KICAnZ3UnOiAn4KqX4KuB4Kqc4Kqw4Kq-4Kqk4KuAJywNCiAgJ29yJzogJ-Csk-CsoeCsvOCsv-CshicsDQogICd0YSc6ICfgrqTgrq7grr_grrTgr40nLA0KICAndGUnOiAn4LCk4LGG4LCy4LGB4LCX4LGBJywNCiAgJ2tuJzogJ-CyleCyqOCzjeCyqOCyoScsDQogICdtbCc6ICfgtK7gtLLgtK_gtL7gtLPgtIInLA0KICAnc2knOiAn4LeD4LeS4LaC4LeE4La9JywNCiAgJ3RoJzogJ-C5hOC4l-C4oicsDQogICdsbyc6ICfgup7gurLguqrgurLguqXgurLguqcnLA0KICAnYm8nOiAn4L2W4L284L2R4LyL4L2h4L2y4L2CJywNCiAgJ2R6JzogJ-C9ouC-q-C9vOC9hOC8i-C9gScsDQogICdteSc6ICfhgJfhgJnhgKzhgIXhgKwnLA0KICAna2EnOiAn4YOl4YOQ4YOg4YOX4YOj4YOa4YOYJywNCiAgJ3RpJzogJ-GJteGMjeGIreGKmycsDQogICdhbSc6ICfhiqDhiJvhiK3hipsnLA0KICAnaXUnOiAn4ZCD4ZOE4ZKD4ZGO4ZGQ4ZGmJywNCiAgJ29qJzogJ-GQiuGTguGUkeGTiOGQr-GSp-GQjuGTkCcsDQogICdjcic6ICfhk4DhkKbhkIPhlK3hkI3hkI_hkKMnLA0KICAna20nOiAn4Z6B4Z-S4Z6Y4Z-C4Z6aJywNCiAgJ3poJzogJ-S4reaWh8KgKFpoxY1uZ3fDqW4pJywNCiAgJ2phJzogJ-aXpeacrOiqnsKgKOOBq-OBu-OCk-OBlCknLA0KICAnaWknOiAn6oaI6oyg6pK_IE51b3N1aHhvcCcsDQogICdrbyc6ICftlZzqta3slrTCoCjpn5PlnIvoqp4pJw0KfTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLXBob25lLmVuX1VTLmpzDQogKiBodHRwczovL2dpdGh1Yi5jb20vdmxhbWFubmEvQm9vdHN0cmFwRm9ybUhlbHBlcnMNCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIENvcHlyaWdodCAyMDEyIFZpbmNlbnQgTGFtYW5uYQ0KICoNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBlZGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZWRwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQogDQp2YXIgQkZIUGhvbmVGb3JtYXRMaXN0ID0gew0KICAnQUYnOiAnKzkzIDBkZCBkZGQgZGRkZCcsDQogICdBTCc6ICcrMzU1IDBkZCBkZGQgZGRkJywNCiAgJ0RaJzogJysyMTMgMGRkZCBkZCBkZCBkZCcsDQogICdBUyc6ICcrMSAoZGRkKSBkZGQtZGRkZCcsDQogICdBRCc6ICcrMzc2IGRkZGRkZGRkZCcsDQogICdBTyc6ICcrMjQ0IGRkZCBkZGQgZGRkJywNCiAgJ0FJJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ0FRJzogJys2NzIgZGRkZGRkZGRkJywNCiAgJ0FHJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ0FSJzogJys1NCBkZGRkZGRkZGQnLA0KICAnQU0nOiAnKzM3NCAwZGQgZGRkZGRkJywNCiAgJ0FXJzogJysyOTcgZGRkIGRkZGQnLA0KICAnQVUnOiAnKzYxIGRkZCBkZGQgZGRkJywNCiAgJ0FUJzogJys0MyAwZGRkZCBkZGRkZGRkZGQnLA0KICAnQVonOiAnKzk5NCBkZGRkZGRkZGQnLA0KICAnQkgnOiAnKzk3MyBkZGRkZGRkZGQnLA0KICAnQkQnOiAnKzg4MCBkZGRkZGRkZGQnLA0KICAnQkInOiAnKzEgZGRkZGRkZGRkJywNCiAgJ0JZJzogJyszNzUgZGRkZGRkZGRkJywNCiAgJ0JFJzogJyszMiBkZGRkZGRkZGQnLA0KICAnQlonOiAnKzUwMSBkZGRkZGRkZGQnLA0KICAnQkonOiAnKzIyOSBkZGRkZGRkZGQnLA0KICAnQk0nOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnQlQnOiAnKzk3NSBkZGRkZGRkZGQnLA0KICAnQk8nOiAnKzU5MSBkZGRkZGRkZGQnLA0KICAnQkEnOiAnKzM4NyBkZGRkZGRkZGQnLA0KICAnQlcnOiAnKzI2NyBkZGRkZGRkZGQnLA0KICAnQlYnOiAnKzAgZGRkZGRkZGRkJywNCiAgJ0JSJzogJys1NSBkZGRkZGRkZGQnLA0KICAnSU8nOiAnKzAgZGRkZGRkZGRkJywNCiAgJ1ZHJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ0JOJzogJys2NzMgZGRkZGRkZGRkJywNCiAgJ0JHJzogJyszNTkgZGRkZGRkZGRkJywNCiAgJ0JGJzogJysyMjYgZGRkZGRkZGRkJywNCiAgJ0JJJzogJysyNTcgZGRkZGRkZGRkJywNCiAgJ0NJJzogJysyMjUgZGRkZGRkZGRkJywNCiAgJ0tIJzogJys4NTUgZGRkZGRkZGRkJywNCiAgJ0NNJzogJysyMzcgZGRkZGRkZGRkJywNCiAgJ0NBJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ0NWJzogJysyMzggZGRkZGRkZGRkJywNCiAgJ0tZJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ0NGJzogJysyMzYgZGRkZGRkZGRkJywNCiAgJ1REJzogJysyMzUgZGRkZGRkZGRkJywNCiAgJ0NMJzogJys1NiBkZGRkZGRkZGQnLA0KICAnQ04nOiAnKzg2IGRkZGRkZGRkZCcsDQogICdDWCc6ICcrNjEgZGRkZGRkZGRkJywNCiAgJ0NDJzogJys2MSBkZGRkZGRkZGQnLA0KICAnQ08nOiAnKzU3IGRkZGRkZGRkZCcsDQogICdLTSc6ICcrMjY5IGRkZGRkZGRkZCcsDQogICdDRyc6ICcrMjQyIGRkZGRkZGRkZCcsDQogICdDSyc6ICcrNjgyIGRkZGRkZGRkZCcsDQogICdDUic6ICcrNTA2IGRkZGRkZGRkZCcsDQogICdIUic6ICcrMzg1IGRkZGRkZGRkZCcsDQogICdDVSc6ICcrNTMgZGRkZGRkZGRkJywNCiAgJ0NZJzogJyszNTcgZGRkZGRkZGRkJywNCiAgJ0NaJzogJys0MjAgZGRkZGRkZGRkJywNCiAgJ0NEJzogJysyNDMgZGRkZGRkZGRkJywNCiAgJ0RLJzogJys0NSBkZGRkZGRkZGQnLA0KICAnREonOiAnKzI1MyBkZGRkZGRkZGQnLA0KICAnRE0nOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnRE8nOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnVEwnOiAnKzY3MCBkZGRkZGRkZGQnLA0KICAnRUMnOiAnKzU5MyBkZGRkZGRkZGQnLA0KICAnRUcnOiAnKzIwIGRkZGRkZGRkZCcsDQogICdTVic6ICcrNTAzIGRkZGRkZGRkZCcsDQogICdHUSc6ICcrMjQwIGRkZGRkZGRkZCcsDQogICdFUic6ICcrMjkxIGRkZGRkZGRkZCcsDQogICdFRSc6ICcrMzcyIGRkZGRkZGRkZCcsDQogICdFVCc6ICcrMjUxIGRkZGRkZGRkZCcsDQogICdGTyc6ICcrMjk4IGRkZGRkZGRkZCcsDQogICdGSyc6ICcrNTAwIGRkZGRkZGRkZCcsDQogICdGSic6ICcrNjc5IGRkZGRkZGRkZCcsDQogICdGSSc6ICcrMzU4IGRkZGRkZGRkZCcsDQogICdNSyc6ICcrMzg5IGRkZGRkZGRkZCcsDQogICdGUic6ICcrMzMgZCBkZCBkZCBkZCBkZCcsDQogICdHRic6ICcrNTk0IGRkZGRkZGRkZCcsDQogICdQRic6ICcrNjg5IGRkZGRkZGRkZCcsDQogICdURic6ICcrMjYyIGRkZGRkZGRkZCcsDQogICdHQSc6ICcrMjQxIGRkZGRkZGRkZCcsDQogICdHRSc6ICcrOTk1IGRkZGRkZGRkZCcsDQogICdERSc6ICcrNDkgZGRkZGRkZGRkJywNCiAgJ0dIJzogJysyMzMgZGRkZGRkZGRkJywNCiAgJ0dJJzogJyszNTAgZGRkZGRkZGRkJywNCiAgJ0dSJzogJyszMCBkZGRkZGRkZGQnLA0KICAnR0wnOiAnKzI5OSBkZGRkZGRkZGQnLA0KICAnR0QnOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnR1AnOiAnKzU5MCBkZGRkZGRkZGQnLA0KICAnR1UnOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnR1QnOiAnKzUwMiBkZGRkZGRkZGQnLA0KICAnR04nOiAnKzIyNCBkZGRkZGRkZGQnLA0KICAnR1cnOiAnKzI0NSBkZGRkZGRkZGQnLA0KICAnR1knOiAnKzU5MiBkZGRkZGRkZGQnLA0KICAnSFQnOiAnKzUwOSBkZGRkZGRkZGQnLA0KICAnSE0nOiAnKzAgZGRkZGRkZGRkJywNCiAgJ0hOJzogJys1MDQgZGRkZGRkZGRkJywNCiAgJ0hLJzogJys4NTIgZGRkZGRkZGRkJywNCiAgJ0hVJzogJyszNiBkZGRkZGRkZGQnLA0KICAnSVMnOiAnKzM1NCBkZGRkZGRkZGQnLA0KICAnSU4nOiAnKzkxIGRkZGRkZGRkZCcsDQogICdJRCc6ICcrNjIgZGRkZGRkZGRkJywNCiAgJ0lSJzogJys5OCBkZGRkZGRkZGQnLA0KICAnSVEnOiAnKzk2NCBkZGRkZGRkZGQnLA0KICAnSUUnOiAnKzM1MyBkZGRkZGRkZGQnLA0KICAnSUwnOiAnKzk3MiBkZGRkZGRkZGQnLA0KICAnSVQnOiAnKzM5IGRkZGRkZGRkZCcsDQogICdKTSc6ICcrMSAoZGRkKSBkZGQtZGRkZCcsDQogICdKUCc6ICcrODEgZGRkZGRkZGRkJywNCiAgJ0pPJzogJys5NjIgZGRkZGRkZGRkJywNCiAgJ0taJzogJys3IGRkZGRkZGRkZCcsDQogICdLRSc6ICcrMjU0IGRkZGRkZGRkZCcsDQogICdLSSc6ICcrNjg2IGRkZGRkZGRkZCcsDQogICdLVyc6ICcrOTY1IGRkZGRkZGRkZCcsDQogICdLRyc6ICcrOTk2IGRkZGRkZGRkZCcsDQogICdMQSc6ICcrODU2IGRkZGRkZGRkZCcsDQogICdMVic6ICcrMzcxIGRkZGRkZGRkZCcsDQogICdMQic6ICcrOTYxIGRkZGRkZGRkZCcsDQogICdMUyc6ICcrMjY2IGRkZGRkZGRkZCcsDQogICdMUic6ICcrMjMxIGRkZGRkZGRkZCcsDQogICdMWSc6ICcrMjE4IGRkZGRkZGRkZCcsDQogICdMSSc6ICcrNDIzIGRkZGRkZGRkZCcsDQogICdMVCc6ICcrMzcwIGRkZGRkZGRkZCcsDQogICdMVSc6ICcrMzUyIGRkZGRkZGRkZCcsDQogICdNTyc6ICcrODUzIGRkZGRkZGRkZCcsDQogICdNRyc6ICcrMjYxIGRkZGRkZGRkZCcsDQogICdNVyc6ICcrMjY1IGRkZGRkZGRkZCcsDQogICdNWSc6ICcrNjAgZGRkZGRkZGRkJywNCiAgJ01WJzogJys5NjAgZGRkZGRkZGRkJywNCiAgJ01MJzogJysyMjMgZGRkZGRkZGRkJywNCiAgJ01UJzogJyszNTYgZGRkZGRkZGRkJywNCiAgJ01IJzogJys2OTIgZGRkZGRkZGRkJywNCiAgJ01RJzogJys1OTYgZGRkZGRkZGRkJywNCiAgJ01SJzogJysyMjIgZGRkZGRkZGRkJywNCiAgJ01VJzogJysyMzAgZGRkZGRkZGRkJywNCiAgJ1lUJzogJysyNjIgZGRkZGRkZGRkJywNCiAgJ01YJzogJys1MiBkZGRkZGRkZGQnLA0KICAnRk0nOiAnKzY5MSBkZGRkZGRkZGQnLA0KICAnTUQnOiAnKzM3MyBkZGRkZGRkZGQnLA0KICAnTUMnOiAnKzM3NyBkZGRkZGRkZGQnLA0KICAnTU4nOiAnKzk3NiBkZGRkZGRkZGQnLA0KICAnTVMnOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnTUEnOiAnKzIxMiBkZGRkZGRkZGQnLA0KICAnTVonOiAnKzI1OCBkZGRkZGRkZGQnLA0KICAnTU0nOiAnKzk1IGRkZGRkZGRkZCcsDQogICdOQSc6ICcrMjY0IGRkZGRkZGRkZCcsDQogICdOUic6ICcrNjc0IGRkZGRkZGRkZCcsDQogICdOUCc6ICcrOTc3IGRkZGRkZGRkZCcsDQogICdOTCc6ICcrMzEgZGRkZGRkZGRkJywNCiAgJ0FOJzogJys1OTkgZGRkZGRkZGRkJywNCiAgJ05DJzogJys2ODcgZGRkZGRkZGRkJywNCiAgJ05aJzogJys2NCBkZGRkZGRkZGQnLA0KICAnTkknOiAnKzUwNSBkZGRkZGRkZGQnLA0KICAnTkUnOiAnKzIyNyBkZGRkZGRkZGQnLA0KICAnTkcnOiAnKzIzNCBkZGRkZGRkZGQnLA0KICAnTlUnOiAnKzY4MyBkZGRkZGRkZGQnLA0KICAnTkYnOiAnKzY3MiBkZGRkZGRkZGQnLA0KICAnS1AnOiAnKzg1MCBkZGRkZGRkZGQnLA0KICAnTVAnOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnTk8nOiAnKzQ3IGRkZGRkZGRkZCcsDQogICdPTSc6ICcrOTY4IGRkZGRkZGRkZCcsDQogICdQSyc6ICcrOTIgZGRkZGRkZGRkJywNCiAgJ1BXJzogJys2ODAgZGRkZGRkZGRkJywNCiAgJ1BBJzogJys1MDcgZGRkZGRkZGRkJywNCiAgJ1BHJzogJys2NzUgZGRkZGRkZGRkJywNCiAgJ1BZJzogJys1OTUgZGRkZGRkZGRkJywNCiAgJ1BFJzogJys1MSBkZGRkZGRkZGQnLA0KICAnUEgnOiAnKzYzIGRkZGRkZGRkZCcsDQogICdQTic6ICcrODcwIGRkZGRkZGRkZCcsDQogICdQTCc6ICcrNDggZGRkZGRkZGRkJywNCiAgJ1BUJzogJyszNTEgZGRkZGRkZGRkJywNCiAgJ1BSJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ1FBJzogJys5NzQgZGRkZGRkZGRkJywNCiAgJ1JFJzogJysyNjIgZGRkZGRkZGRkJywNCiAgJ1JPJzogJys0MCBkZGRkZGRkZGQnLA0KICAnUlUnOiAnKzcgZGRkZGRkZGRkJywNCiAgJ1JXJzogJysyNTAgZGRkZGRkZGRkJywNCiAgJ1NUJzogJysyMzkgZGRkZGRkZGRkJywNCiAgJ1NIJzogJysyOTAgZGRkZGRkZGRkJywNCiAgJ0tOJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ0xDJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ1BNJzogJys1MDggZGRkZGRkZGRkJywNCiAgJ1ZDJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ1dTJzogJys2ODUgZGRkZGRkZGRkJywNCiAgJ1NNJzogJyszNzggZGRkZGRkZGRkJywNCiAgJ1NBJzogJys5NjYgZGRkZGRkZGRkJywNCiAgJ1NOJzogJysyMjEgZGRkZGRkZGRkJywNCiAgJ1NDJzogJysyNDggZGRkZGRkZGRkJywNCiAgJ1NMJzogJysyMzIgZGRkZGRkZGRkJywNCiAgJ1NHJzogJys2NSBkZGRkZGRkZGQnLA0KICAnU0snOiAnKzQyMSBkZGRkZGRkZGQnLA0KICAnU0knOiAnKzM4NiBkZGRkZGRkZGQnLA0KICAnU0InOiAnKzY3NyBkZGRkZGRkZGQnLA0KICAnU08nOiAnKzI1MiBkZGRkZGRkZGQnLA0KICAnWkEnOiAnKzI3IGRkZGRkZGRkZCcsDQogICdHUyc6ICcrMCBkZGRkZGRkZGQnLA0KICAnS1InOiAnKzgyIGRkZGRkZGRkZCcsDQogICdFUyc6ICcrMzQgZGRkZGRkZGRkJywNCiAgJ0xLJzogJys5NCBkZGRkZGRkZGQnLA0KICAnU0QnOiAnKzI0OSBkZGRkZGRkZGQnLA0KICAnU1InOiAnKzU5NyBkZGRkZGRkZGQnLA0KICAnU0onOiAnKzAgZGRkZGRkZGRkJywNCiAgJ1NaJzogJysyNjggZGRkZGRkZGRkJywNCiAgJ1NFJzogJys0NiBkZGRkZGRkZGQnLA0KICAnQ0gnOiAnKzQxIGRkZGRkZGRkZCcsDQogICdTWSc6ICcrOTYzIGRkZGRkZGRkZCcsDQogICdUVyc6ICcrODg2IGRkZGRkZGRkZCcsDQogICdUSic6ICcrOTkyIGRkZGRkZGRkZCcsDQogICdUWic6ICcrMjU1IGRkZGRkZGRkZCcsDQogICdUSCc6ICcrNjYgZGRkZGRkZGRkJywNCiAgJ0JTJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ0dNJzogJysyMjAgZGRkZGRkZGRkJywNCiAgJ1RHJzogJysyMjggZGRkZGRkZGRkJywNCiAgJ1RLJzogJys2OTAgZGRkZGRkZGRkJywNCiAgJ1RPJzogJys2NzYgZGRkZGRkZGRkJywNCiAgJ1RUJzogJysxIChkZGQpIGRkZC1kZGRkJywNCiAgJ1ROJzogJysyMTYgZGRkZGRkZGRkJywNCiAgJ1RSJzogJys5MCBkZGRkZGRkZGQnLA0KICAnVE0nOiAnKzk5MyBkZGRkZGRkZGQnLA0KICAnVEMnOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnVFYnOiAnKzY4OCBkZGRkZGRkZGQnLA0KICAnVkknOiAnKzEgKGRkZCkgZGRkLWRkZGQnLA0KICAnVUcnOiAnKzI1NiBkZGRkZGRkZGQnLA0KICAnVUEnOiAnKzM4MCBkZGRkZGRkZGQnLA0KICAnQUUnOiAnKzk3MSBkZGRkZGRkZGQnLA0KICAnR0InOiAnKzQ0IChkZGQpIGRkZGQgZGRkZCcsDQogICdVUyc6ICcrMSAoZGRkKSBkZGQtZGRkZCcsDQogICdVTSc6ICcrMCBkZGRkZGRkZGQnLA0KICAnVVknOiAnKzU5OCBkZGRkZGRkZGQnLA0KICAnVVonOiAnKzk5OCBkZGRkZGRkZGQnLA0KICAnVlUnOiAnKzY3OCBkZGRkZGRkZGQnLA0KICAnVkEnOiAnKzM5IGRkZGRkZGRkZCcsDQogICdWRSc6ICcrNTggZGRkZGRkZGRkJywNCiAgJ1ZOJzogJys4NCBkZGRkZGRkZGQnLA0KICAnV0YnOiAnKzY4MSBkZGRkZGRkZGQnLA0KICAnRUgnOiAnKzAgZGRkZGRkZGRkJywNCiAgJ1lFJzogJys5NjcgZGRkZGRkZGRkJywNCiAgJ1lVJzogJyswIGRkZGRkZGRkZCcsDQogICdaTSc6ICcrMjYwIGRkZGRkZGRkZCcsDQogICdaVyc6ICcrMjYzIGRkZGRkZGRkZCcNCn07DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1zdGF0ZXMuZW5fVVMuanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTIgVmluY2VudCBMYW1hbm5hDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KdmFyIEJGSFN0YXRlc0xpc3QgPSB7DQogICdBRic6ew0KICAgICcxJyA6IHsnY29kZSc6J0JBTCcsJ25hbWUnOidCYWxraCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JBTScsJ25hbWUnOidCYW1pYW4nfSwNCiAgICAnMycgOiB7J2NvZGUnOidCREcnLCduYW1lJzonQmFkZ2hpcyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0JEUycsJ25hbWUnOidCYWRha2hzaGFuJ30sDQogICAgJzUnIDogeydjb2RlJzonQkdMJywnbmFtZSc6J0JhZ2hsYW4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidGUkEnLCduYW1lJzonRmFyYWgnfSwNCiAgICAnNycgOiB7J2NvZGUnOidGWUInLCduYW1lJzonRmFyeWFiJ30sDQogICAgJzgnIDogeydjb2RlJzonR0hBJywnbmFtZSc6J0doYXpuaSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0dITycsJ25hbWUnOidHaG93cid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidIRUwnLCduYW1lJzonSGVsbWFuZCd9LA0KICAgICcxMScgOiB7J2NvZGUnOidIRVInLCduYW1lJzonSGVyYXQnfSwNCiAgICAnMTInIDogeydjb2RlJzonSk9XJywnbmFtZSc6J0pvd3pqYW4nfSwNCiAgICAnMTMnIDogeydjb2RlJzonS0FCJywnbmFtZSc6J0thYnVsJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0tBTicsJ25hbWUnOidLYW5kYWhhcid9LA0KICAgICcxNScgOiB7J2NvZGUnOidLQVAnLCduYW1lJzonS2FwaXNhJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0tEWicsJ25hbWUnOidLb25kb3onfSwNCiAgICAnMTcnIDogeydjb2RlJzonS0hPJywnbmFtZSc6J0tob3N0J30sDQogICAgJzE4JyA6IHsnY29kZSc6J0tOUicsJ25hbWUnOidLb25hcid9LA0KICAgICcxOScgOiB7J2NvZGUnOidMQUcnLCduYW1lJzonTGFnaG1hbid9LA0KICAgICcyMCcgOiB7J2NvZGUnOidMT1cnLCduYW1lJzonTG93Z2FyJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J05BTicsJ25hbWUnOidOYW5ncmFoYXInfSwNCiAgICAnMjInIDogeydjb2RlJzonTklNJywnbmFtZSc6J05pbXJ1eid9LA0KICAgICcyMycgOiB7J2NvZGUnOidOVVInLCduYW1lJzonTnVyZXN0YW4nfSwNCiAgICAnMjQnIDogeydjb2RlJzonT1JVJywnbmFtZSc6J09ydXpnYW4nfSwNCiAgICAnMjUnIDogeydjb2RlJzonUEFSJywnbmFtZSc6J1Bhcndhbid9LA0KICAgICcyNicgOiB7J2NvZGUnOidQSUEnLCduYW1lJzonUGFrdGlhJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J1BLQScsJ25hbWUnOidQYWt0aWthJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J1NBTScsJ25hbWUnOidTYW1hbmdhbid9LA0KICAgICcyOScgOiB7J2NvZGUnOidTQVInLCduYW1lJzonU2FyLWUgUG9sJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J1RBSycsJ25hbWUnOidUYWtoYXInfSwNCiAgICAnMzEnIDogeydjb2RlJzonV0FSJywnbmFtZSc6J1dhcmRhayd9LA0KICAgICczMicgOiB7J2NvZGUnOidaQUInLCduYW1lJzonWmFib2wnfQ0KICB9LA0KICAnQUwnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCUicsJ25hbWUnOidCZXJhdCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JVJywnbmFtZSc6J0J1bHFpemUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidESScsJ25hbWUnOidEaWJlcid9LA0KICAgICc0JyA6IHsnY29kZSc6J0RMJywnbmFtZSc6J0RlbHZpbmUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidEUicsJ25hbWUnOidEdXJyZXMnfSwNCiAgICAnNicgOiB7J2NvZGUnOidEVicsJ25hbWUnOidEZXZvbGwnfSwNCiAgICAnNycgOiB7J2NvZGUnOidFTCcsJ25hbWUnOidFbGJhc2FuJ30sDQogICAgJzgnIDogeydjb2RlJzonRVInLCduYW1lJzonS29sb25qZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0ZSJywnbmFtZSc6J0ZpZXInfSwNCiAgICAnMTAnIDogeydjb2RlJzonR0onLCduYW1lJzonR2ppcm9rYXN0ZXInfSwNCiAgICAnMTEnIDogeydjb2RlJzonR1InLCduYW1lJzonR3JhbXNoJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0hBJywnbmFtZSc6J0hhcyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidLQScsJ25hbWUnOidLYXZhamUnfSwNCiAgICAnMTQnIDogeydjb2RlJzonS0InLCduYW1lJzonS3VyYmluJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0tDJywnbmFtZSc6J0t1Y292ZSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidLTycsJ25hbWUnOidLb3JjZSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidLUicsJ25hbWUnOidLcnVqZSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidLVScsJ25hbWUnOidLdWtlcyd9LA0KICAgICcxOScgOiB7J2NvZGUnOidMQicsJ25hbWUnOidMaWJyYXpoZCd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZXpoZSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidMVScsJ25hbWUnOidMdXNobmplJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J01LJywnbmFtZSc6J01hbGxha2FzdGVyJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J01NJywnbmFtZSc6J01hbGVzaSBlIE1hZGhlJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J01SJywnbmFtZSc6J01pcmRpdGUnfSwNCiAgICAnMjUnIDogeydjb2RlJzonTVQnLCduYW1lJzonTWF0J30sDQogICAgJzI2JyA6IHsnY29kZSc6J1BHJywnbmFtZSc6J1BvZ3JhZGVjJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J1BRJywnbmFtZSc6J1BlcWluJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J1BSJywnbmFtZSc6J1Blcm1ldCd9LA0KICAgICcyOScgOiB7J2NvZGUnOidQVScsJ25hbWUnOidQdWtlJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J1NIJywnbmFtZSc6J1Noa29kZXInfSwNCiAgICAnMzEnIDogeydjb2RlJzonU0snLCduYW1lJzonU2tyYXBhcid9LA0KICAgICczMicgOiB7J2NvZGUnOidTUicsJ25hbWUnOidTYXJhbmRlJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J1RFJywnbmFtZSc6J1RlcGVsZW5lJ30sDQogICAgJzM0JyA6IHsnY29kZSc6J1RQJywnbmFtZSc6J1Ryb3BvamUnfSwNCiAgICAnMzUnIDogeydjb2RlJzonVFInLCduYW1lJzonVGlyYW5lJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J1ZMJywnbmFtZSc6J1Zsb3JlJ30NCiAgfSwNCiAgJ0RaJzp7DQogICAgJzEnIDogeydjb2RlJzonQURFJywnbmFtZSc6J0FpbiBEZWZsYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FEUicsJ25hbWUnOidBZHJhcid9LA0KICAgICczJyA6IHsnY29kZSc6J0FMRycsJ25hbWUnOidBbGdlcid9LA0KICAgICc0JyA6IHsnY29kZSc6J0FOTicsJ25hbWUnOidBbm5hYmEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidBVEUnLCduYW1lJzonQWluIFRlbW91Y2hlbnQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidCQVQnLCduYW1lJzonQmF0bmEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidCQkEnLCduYW1lJzonQm9yZGogQm91IEFycmVyaWRqJ30sDQogICAgJzgnIDogeydjb2RlJzonQkVDJywnbmFtZSc6J0JlY2hhcid9LA0KICAgICc5JyA6IHsnY29kZSc6J0JFSicsJ25hbWUnOidCZWphaWEnfSwNCiAgICAnMTAnIDogeydjb2RlJzonQklTJywnbmFtZSc6J0Jpc2tyYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidCTEknLCduYW1lJzonQmxpZGEnfSwNCiAgICAnMTInIDogeydjb2RlJzonQk1EJywnbmFtZSc6J0JvdW1lcmRlcyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidCT0EnLCduYW1lJzonQm91aXJhJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0NITCcsJ25hbWUnOidDaGxlZid9LA0KICAgICcxNScgOiB7J2NvZGUnOidDT04nLCduYW1lJzonQ29uc3RhbnRpbmUnfSwNCiAgICAnMTYnIDogeydjb2RlJzonREpFJywnbmFtZSc6J0RqZWxmYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidFQkEnLCduYW1lJzonRWwgQmF5YWRoJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0VPVScsJ25hbWUnOidFbCBPdWVkJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0VUQScsJ25hbWUnOidFbCBUYXJmJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0dIQScsJ25hbWUnOidHaGFyZGFpYSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidHVUUnLCduYW1lJzonR3VlbG1hJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0lMTCcsJ25hbWUnOidJbGxpemknfSwNCiAgICAnMjMnIDogeydjb2RlJzonSklKJywnbmFtZSc6J0ppamVsJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J0tIRScsJ25hbWUnOidLaGVuY2hlbGEnfSwNCiAgICAnMjUnIDogeydjb2RlJzonTEFHJywnbmFtZSc6J0xhZ2hvdWF0J30sDQogICAgJzI2JyA6IHsnY29kZSc6J01FRCcsJ25hbWUnOidNZWRlYSd9LA0KICAgICcyNycgOiB7J2NvZGUnOidNSUwnLCduYW1lJzonTWlsYSd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidNT1MnLCduYW1lJzonTW9zdGFnYW5lbSd9LA0KICAgICcyOScgOiB7J2NvZGUnOidNU0knLCduYW1lJzonTVwnU2lsYSd9LA0KICAgICczMCcgOiB7J2NvZGUnOidNVUEnLCduYW1lJzonTXVhc2thcid9LA0KICAgICczMScgOiB7J2NvZGUnOidOQUEnLCduYW1lJzonTmFhbWEnfSwNCiAgICAnMzInIDogeydjb2RlJzonT0VCJywnbmFtZSc6J091bSBlbC1Cb3VhZ2hpJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J09SQScsJ25hbWUnOidPcmFuJ30sDQogICAgJzM0JyA6IHsnY29kZSc6J09VQScsJ25hbWUnOidPdWFyZ2xhJ30sDQogICAgJzM1JyA6IHsnY29kZSc6J1JFTCcsJ25hbWUnOidSZWxpemFuZSd9LA0KICAgICczNicgOiB7J2NvZGUnOidTQUgnLCduYW1lJzonU291ayBBaHJhcyd9LA0KICAgICczNycgOiB7J2NvZGUnOidTQUknLCduYW1lJzonU2FpZGEnfSwNCiAgICAnMzgnIDogeydjb2RlJzonU0JBJywnbmFtZSc6J1NpZGkgQmVsIEFiYmVzJ30sDQogICAgJzM5JyA6IHsnY29kZSc6J1NFVCcsJ25hbWUnOidTZXRpZid9LA0KICAgICc0MCcgOiB7J2NvZGUnOidTS0knLCduYW1lJzonU2tpa2RhJ30sDQogICAgJzQxJyA6IHsnY29kZSc6J1RBTScsJ25hbWUnOidUYW1hbmdoYXNzZXQnfSwNCiAgICAnNDInIDogeydjb2RlJzonVEVCJywnbmFtZSc6J1RlYmVzc2EnfSwNCiAgICAnNDMnIDogeydjb2RlJzonVElBJywnbmFtZSc6J1RpYXJldCd9LA0KICAgICc0NCcgOiB7J2NvZGUnOidUSU4nLCduYW1lJzonVGluZG91Zid9LA0KICAgICc0NScgOiB7J2NvZGUnOidUSVAnLCduYW1lJzonVGlwYXphJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J1RJUycsJ25hbWUnOidUaXNzZW1zaWx0J30sDQogICAgJzQ3JyA6IHsnY29kZSc6J1RMRScsJ25hbWUnOidUbGVtY2VuJ30sDQogICAgJzQ4JyA6IHsnY29kZSc6J1RPVScsJ25hbWUnOidUaXppIE91em91J30NCiAgfSwNCiAgJ0FTJzp7DQogICAgJzEnIDogeydjb2RlJzonRScsJ25hbWUnOidFYXN0ZXJuJ30sDQogICAgJzInIDogeydjb2RlJzonTScsJ25hbWUnOidNYW51XCdhJ30sDQogICAgJzMnIDogeydjb2RlJzonUicsJ25hbWUnOidSb3NlIElzbGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J1MnLCduYW1lJzonU3dhaW5zIElzbGFuZCd9LA0KICAgICc1JyA6IHsnY29kZSc6J1cnLCduYW1lJzonV2VzdGVybid9DQogIH0sDQogICdBRCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FMVicsJ25hbWUnOidBbmRvcnJhIGxhIFZlbGxhJ30sDQogICAgJzInIDogeydjb2RlJzonQ0FOJywnbmFtZSc6J0NhbmlsbG8nfSwNCiAgICAnMycgOiB7J2NvZGUnOidFTkMnLCduYW1lJzonRW5jYW1wJ30sDQogICAgJzQnIDogeydjb2RlJzonRVNFJywnbmFtZSc6J0VzY2FsZGVzLUVuZ29yZGFueSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0xNQScsJ25hbWUnOidMYSBNYXNzYW5hJ30sDQogICAgJzYnIDogeydjb2RlJzonT1JEJywnbmFtZSc6J09yZGlubyd9LA0KICAgICc3JyA6IHsnY29kZSc6J1NKTCcsJ25hbWUnOidTYW50IEp1bGnDoCBkZSBMw7JyaWEnfQ0KICB9LA0KICAnQU8nOnsNCiAgICAnMScgOiB7J2NvZGUnOidCR08nLCduYW1lJzonQmVuZ28nfSwNCiAgICAnMicgOiB7J2NvZGUnOidCR1UnLCduYW1lJzonQmVuZ3VlbGEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCSUUnLCduYW1lJzonQmllJ30sDQogICAgJzQnIDogeydjb2RlJzonQ0FCJywnbmFtZSc6J0NhYmluZGEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidDQ1UnLCduYW1lJzonQ3VhbmRvLUN1YmFuZ28nfSwNCiAgICAnNicgOiB7J2NvZGUnOidDTk8nLCduYW1lJzonQ3VhbnphIE5vcnRlJ30sDQogICAgJzcnIDogeydjb2RlJzonQ1VTJywnbmFtZSc6J0N1YW56YSBTdWwnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidDTk4nLCduYW1lJzonQ3VuZW5lJ30sDQogICAgJzknIDogeydjb2RlJzonSFVBJywnbmFtZSc6J0h1YW1ibyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidIVUknLCduYW1lJzonSHVpbGEnfSwNCiAgICAnMTEnIDogeydjb2RlJzonTFVBJywnbmFtZSc6J0x1YW5kYSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidMTk8nLCduYW1lJzonTHVuZGEgTm9ydGUnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTFNVJywnbmFtZSc6J0x1bmRhIFN1bCd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidNQUwnLCduYW1lJzonTWFsYW5nZSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidNT1gnLCduYW1lJzonTW94aWNvJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J05BTScsJ25hbWUnOidOYW1pYmUnfSwNCiAgICAnMTcnIDogeydjb2RlJzonVUlHJywnbmFtZSc6J1VpZ2UnfSwNCiAgICAnMTgnIDogeydjb2RlJzonWkFJJywnbmFtZSc6J1phaXJlJ30NCiAgfSwNCiAgJ0FJJzp7DQogICAgJzEnIDogeydjb2RlJzonQU5HJywnbmFtZSc6J0FuZ3VpbGxpdGEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTkcnLCduYW1lJzonQW5ndWlsYSd9LA0KICAgICczJyA6IHsnY29kZSc6J0RPRycsJ25hbWUnOidEb2cnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidMSVQnLCduYW1lJzonTGl0dGxlIFNjcnViJ30sDQogICAgJzUnIDogeydjb2RlJzonUFJJJywnbmFtZSc6J1ByaWNrbHkgUGVhcid9LA0KICAgICc2JyA6IHsnY29kZSc6J1NBTicsJ25hbWUnOidTYW5keSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1NDUicsJ25hbWUnOidTY3J1Yid9LA0KICAgICc4JyA6IHsnY29kZSc6J1NFQScsJ25hbWUnOidTZWFsJ30sDQogICAgJzknIDogeydjb2RlJzonU09NJywnbmFtZSc6J1NvbWJyZXJvJ30NCiAgfSwNCiAgJ0FRJzp7DQogICAgJzEnIDogeydjb2RlJzonQVNHJywnbmFtZSc6J1NhaW50IEdlb3JnZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FTSCcsJ25hbWUnOidTYWludCBQaGlsaXAnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBU0onLCduYW1lJzonU2FpbnQgSm9obid9LA0KICAgICc0JyA6IHsnY29kZSc6J0FTTCcsJ25hbWUnOidTYWludCBQYXVsJ30sDQogICAgJzUnIDogeydjb2RlJzonQVNNJywnbmFtZSc6J1NhaW50IE1hcnknfSwNCiAgICAnNicgOiB7J2NvZGUnOidBU1InLCduYW1lJzonU2FpbnQgUGV0ZXInfSwNCiAgICAnNycgOiB7J2NvZGUnOidCQVInLCduYW1lJzonQmFyYnVkYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1JFRCcsJ25hbWUnOidSZWRvbmRhJ30NCiAgfSwNCiAgJ0FSJzp7DQogICAgJzEnIDogeydjb2RlJzonQU4nLCduYW1lJzonQW50YXJ0aWRhIGUgSXNsYXMgZGVsIEF0bGFudGljbyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0J1ZW5vcyBBaXJlcyd9LA0KICAgICczJyA6IHsnY29kZSc6J0NBJywnbmFtZSc6J0NhdGFtYXJjYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0NoYWNvJ30sDQogICAgJzUnIDogeydjb2RlJzonQ1UnLCduYW1lJzonQ2h1YnV0J30sDQogICAgJzYnIDogeydjb2RlJzonQ08nLCduYW1lJzonQ29yZG9iYSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0NSJywnbmFtZSc6J0NvcnJpZW50ZXMnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidDRicsJ25hbWUnOidDYXBpdGFsIEZlZGVyYWwnfSwNCiAgICAnOScgOiB7J2NvZGUnOidFUicsJ25hbWUnOidFbnRyZSBSaW9zJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0ZPJywnbmFtZSc6J0Zvcm1vc2EnfSwNCiAgICAnMTEnIDogeydjb2RlJzonSlUnLCduYW1lJzonSnVqdXknfSwNCiAgICAnMTInIDogeydjb2RlJzonTFAnLCduYW1lJzonTGEgUGFtcGEnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTFInLCduYW1lJzonTGEgUmlvamEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWVuZG96YSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNaXNpb25lcyd9LA0KICAgICcxNicgOiB7J2NvZGUnOidORScsJ25hbWUnOidOZXVxdWVuJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1JOJywnbmFtZSc6J1JpbyBOZWdybyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTYWx0YSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidTSicsJ25hbWUnOidTYW4gSnVhbid9LA0KICAgICcyMCcgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidTYW4gTHVpcyd9LA0KICAgICcyMScgOiB7J2NvZGUnOidTQycsJ25hbWUnOidTYW50YSBDcnV6J30sDQogICAgJzIyJyA6IHsnY29kZSc6J1NGJywnbmFtZSc6J1NhbnRhIEZlJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1NEJywnbmFtZSc6J1NhbnRpYWdvIGRlbCBFc3Rlcm8nfSwNCiAgICAnMjQnIDogeydjb2RlJzonVEYnLCduYW1lJzonVGllcnJhIGRlbCBGdWVnbyd9LA0KICAgICcyNScgOiB7J2NvZGUnOidUVScsJ25hbWUnOidUdWN1bWFuJ30NCiAgfSwNCiAgJ0FNJzp7DQogICAgJzEnIDogeydjb2RlJzonQUdUJywnbmFtZSc6J0FyYWdhdHNvdG4nfSwNCiAgICAnMicgOiB7J2NvZGUnOidBUlInLCduYW1lJzonQXJhcmF0J30sDQogICAgJzMnIDogeydjb2RlJzonQVJNJywnbmFtZSc6J0FybWF2aXInfSwNCiAgICAnNCcgOiB7J2NvZGUnOidHRUcnLCduYW1lJzonR2VnaGFyayBcJ3VuaWtcJyd9LA0KICAgICc1JyA6IHsnY29kZSc6J0tPVCcsJ25hbWUnOidLb3RheWtcJyd9LA0KICAgICc2JyA6IHsnY29kZSc6J0xPUicsJ25hbWUnOidMb3JyaSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1NISScsJ25hbWUnOidTaGlyYWsnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidTWVUnLCduYW1lJzonU3l1bmlrXCcnfSwNCiAgICAnOScgOiB7J2NvZGUnOidUQVYnLCduYW1lJzonVGF2dXNoJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1ZBWScsJ25hbWUnOidWYXlvdHNcJyBEem9yJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1lFUicsJ25hbWUnOidZZXJldmFuJ30NCiAgfSwNCiAgJ0FXJzp7DQogICAgJzEnIDogeydjb2RlJzonQVJVJywnbmFtZSc6J0FydWJhJ30sDQogICAgJzInIDogeydjb2RlJzonRFJVJywnbmFtZSc6J0RydWlmIEJlYWNoJ30sDQogICAgJzMnIDogeydjb2RlJzonTUFOJywnbmFtZSc6J01hbmNoZWJvIEJlYWNoJ30sDQogICAgJzQnIDogeydjb2RlJzonTk9PJywnbmFtZSc6J05vb3JkJ30sDQogICAgJzUnIDogeydjb2RlJzonT1JBJywnbmFtZSc6J09yYW5qZXN0YWQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidQQUwnLCduYW1lJzonUGFsbSBCZWFjaCd9LA0KICAgICc3JyA6IHsnY29kZSc6J1JPTycsJ25hbWUnOidSb29pIFRob21hcyd9LA0KICAgICc4JyA6IHsnY29kZSc6J1NJTicsJ25hbWUnOidTaW50IE5pY29sYWFzJ30sDQogICAgJzknIDogeydjb2RlJzonU0lOJywnbmFtZSc6J1NpbnQgTmljb2xhcyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidXQVknLCduYW1lJzonV2F5YWNhJ30NCiAgfSwNCiAgJ0FVJzp7DQogICAgJzEnIDogeydjb2RlJzonQUNUJywnbmFtZSc6J0F1c3RyYWxpYW4gQ2FwaXRhbCBUZXJyaXRvcnknfSwNCiAgICAnMicgOiB7J2NvZGUnOidOU1cnLCduYW1lJzonTmV3IFNvdXRoIFdhbGVzJ30sDQogICAgJzMnIDogeydjb2RlJzonTlQnLCduYW1lJzonTm9ydGhlcm4gVGVycml0b3J5J30sDQogICAgJzQnIDogeydjb2RlJzonUUxEJywnbmFtZSc6J1F1ZWVuc2xhbmQnfSwNCiAgICAnNScgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTb3V0aCBBdXN0cmFsaWEnfSwNCiAgICAnNicgOiB7J2NvZGUnOidUQVMnLCduYW1lJzonVGFzbWFuaWEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidWSUMnLCduYW1lJzonVmljdG9yaWEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidXQScsJ25hbWUnOidXZXN0ZXJuIEF1c3RyYWxpYSd9DQogIH0sDQogICdBVCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JVUicsJ25hbWUnOidCdXJnZW5sYW5kJ30sDQogICAgJzInIDogeydjb2RlJzonS0FSJywnbmFtZSc6J0tybnRlbid9LA0KICAgICczJyA6IHsnY29kZSc6J05PUycsJ25hbWUnOidOaWVkZXLDtmVzdGVycmVpY2gnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidPT1MnLCduYW1lJzonT2JlcsO2ZXN0ZXJyZWljaCd9LA0KICAgICc1JyA6IHsnY29kZSc6J1NBTCcsJ25hbWUnOidTYWx6YnVyZyd9LA0KICAgICc2JyA6IHsnY29kZSc6J1NURScsJ25hbWUnOidTdGVpZXJtYXJrJ30sDQogICAgJzcnIDogeydjb2RlJzonVElSJywnbmFtZSc6J1Rpcm9sJ30sDQogICAgJzgnIDogeydjb2RlJzonVk9SJywnbmFtZSc6J1ZvcmFybGJlcmcnfSwNCiAgICAnOScgOiB7J2NvZGUnOidXSUUnLCduYW1lJzonV2llbid9DQogIH0sDQogICdBWic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FCJywnbmFtZSc6J0FsaSBCYXlyYW1saSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FCUycsJ25hbWUnOidBYnNlcm9uJ30sDQogICAgJzMnIDogeydjb2RlJzonQUdDJywnbmFtZSc6J0FnY2FiQWRpJ30sDQogICAgJzQnIDogeydjb2RlJzonQUdNJywnbmFtZSc6J0FnZGFtJ30sDQogICAgJzUnIDogeydjb2RlJzonQUdTJywnbmFtZSc6J0FnZGFzJ30sDQogICAgJzYnIDogeydjb2RlJzonQUdBJywnbmFtZSc6J0Fnc3RhZmEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidBR1UnLCduYW1lJzonQWdzdSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0FTVCcsJ25hbWUnOidBc3RhcmEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidCQScsJ25hbWUnOidCYWtpJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0JBQicsJ25hbWUnOidCYWJBayd9LA0KICAgICcxMScgOiB7J2NvZGUnOidCQUwnLCduYW1lJzonQmFsYWtBbid9LA0KICAgICcxMicgOiB7J2NvZGUnOidCQVInLCduYW1lJzonQkFyZEEnfSwNCiAgICAnMTMnIDogeydjb2RlJzonQkVZJywnbmFtZSc6J0JleWxhcWFuJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0JJTCcsJ25hbWUnOidCaWxhc3V2YXInfSwNCiAgICAnMTUnIDogeydjb2RlJzonQ0FCJywnbmFtZSc6J0NhYnJheWlsJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0NBTCcsJ25hbWUnOidDYWxpbGFiYWInfSwNCiAgICAnMTcnIDogeydjb2RlJzonQ1VMJywnbmFtZSc6J0N1bGZhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0RBUycsJ25hbWUnOidEYXNrYXNhbid9LA0KICAgICcxOScgOiB7J2NvZGUnOidEQVYnLCduYW1lJzonRGF2YWNpJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0ZVWicsJ25hbWUnOidGdXp1bGknfSwNCiAgICAnMjEnIDogeydjb2RlJzonR0EnLCduYW1lJzonR2FuY2EnfSwNCiAgICAnMjInIDogeydjb2RlJzonR0FEJywnbmFtZSc6J0dhZGFiYXknfSwNCiAgICAnMjMnIDogeydjb2RlJzonR09SJywnbmFtZSc6J0dvcmFuYm95J30sDQogICAgJzI0JyA6IHsnY29kZSc6J0dPWScsJ25hbWUnOidHb3ljYXknfSwNCiAgICAnMjUnIDogeydjb2RlJzonSEFDJywnbmFtZSc6J0hhY2lxYWJ1bCd9LA0KICAgICcyNicgOiB7J2NvZGUnOidJTUknLCduYW1lJzonSW1pc2xpJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J0lTTScsJ25hbWUnOidJc21heWlsbGknfSwNCiAgICAnMjgnIDogeydjb2RlJzonS0FMJywnbmFtZSc6J0thbGJhY2FyJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J0tVUicsJ25hbWUnOidLdXJkYW1pcid9LA0KICAgICczMCcgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYW5rYXJhbid9LA0KICAgICczMScgOiB7J2NvZGUnOidMQUMnLCduYW1lJzonTGFjaW4nfSwNCiAgICAnMzInIDogeydjb2RlJzonTEFOJywnbmFtZSc6J0xhbmthcmFuJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J0xFUicsJ25hbWUnOidMZXJpayd9LA0KICAgICczNCcgOiB7J2NvZGUnOidNQVMnLCduYW1lJzonTWFzYWxsaSd9LA0KICAgICczNScgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNaW5nYWNldmlyJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J05BJywnbmFtZSc6J05hZnRhbGFuJ30sDQogICAgJzM3JyA6IHsnY29kZSc6J05YJywnbmFtZSc6J05heGNpdmFuJ30sDQogICAgJzM4JyA6IHsnY29kZSc6J05FRicsJ25hbWUnOidOZWZ0Y2FsYSd9LA0KICAgICczOScgOiB7J2NvZGUnOidPR1UnLCduYW1lJzonT2d1eid9LA0KICAgICc0MCcgOiB7J2NvZGUnOidPUkQnLCduYW1lJzonT3JkdWJhZCd9LA0KICAgICc0MScgOiB7J2NvZGUnOidRQUInLCduYW1lJzonUWFiYWxhJ30sDQogICAgJzQyJyA6IHsnY29kZSc6J1FBWCcsJ25hbWUnOidRYXgnfSwNCiAgICAnNDMnIDogeydjb2RlJzonUUFaJywnbmFtZSc6J1FhemF4J30sDQogICAgJzQ0JyA6IHsnY29kZSc6J1FPQicsJ25hbWUnOidRb2J1c3Rhbid9LA0KICAgICc0NScgOiB7J2NvZGUnOidRQkEnLCduYW1lJzonUXViYSd9LA0KICAgICc0NicgOiB7J2NvZGUnOidRQkknLCduYW1lJzonUXViYWRsaSd9LA0KICAgICc0NycgOiB7J2NvZGUnOidRVVMnLCduYW1lJzonUXVzYXInfSwNCiAgICAnNDgnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2FraSd9LA0KICAgICc0OScgOiB7J2NvZGUnOidTQVQnLCduYW1lJzonU2FhdGxpJ30sDQogICAgJzUwJyA6IHsnY29kZSc6J1NBQicsJ25hbWUnOidTYWJpcmFiYWQnfSwNCiAgICAnNTEnIDogeydjb2RlJzonU0FEJywnbmFtZSc6J1NhZGFyYWsnfSwNCiAgICAnNTInIDogeydjb2RlJzonU0FIJywnbmFtZSc6J1NhaGJ1eid9LA0KICAgICc1MycgOiB7J2NvZGUnOidTQUsnLCduYW1lJzonU2FraSd9LA0KICAgICc1NCcgOiB7J2NvZGUnOidTQUwnLCduYW1lJzonU2FseWFuJ30sDQogICAgJzU1JyA6IHsnY29kZSc6J1NNJywnbmFtZSc6J1N1bXFheWl0J30sDQogICAgJzU2JyA6IHsnY29kZSc6J1NNSScsJ25hbWUnOidTYW1heGknfSwNCiAgICAnNTcnIDogeydjb2RlJzonU0tSJywnbmFtZSc6J1NhbWtpcid9LA0KICAgICc1OCcgOiB7J2NvZGUnOidTTVgnLCduYW1lJzonU2FtdXgnfSwNCiAgICAnNTknIDogeydjb2RlJzonU0FSJywnbmFtZSc6J1NhcnVyJ30sDQogICAgJzYwJyA6IHsnY29kZSc6J1NJWScsJ25hbWUnOidTaXlhemFuJ30sDQogICAgJzYxJyA6IHsnY29kZSc6J1NTJywnbmFtZSc6J1N1c2EnfSwNCiAgICAnNjInIDogeydjb2RlJzonU1VTJywnbmFtZSc6J1N1c2EnfSwNCiAgICAnNjMnIDogeydjb2RlJzonVEFSJywnbmFtZSc6J1RhcnRhcid9LA0KICAgICc2NCcgOiB7J2NvZGUnOidUT1YnLCduYW1lJzonVG92dXonfSwNCiAgICAnNjUnIDogeydjb2RlJzonVUNBJywnbmFtZSc6J1VjYXInfSwNCiAgICAnNjYnIDogeydjb2RlJzonWEEnLCduYW1lJzonWGFua2FuZGknfSwNCiAgICAnNjcnIDogeydjb2RlJzonWEFDJywnbmFtZSc6J1hhY21heid9LA0KICAgICc2OCcgOiB7J2NvZGUnOidYQU4nLCduYW1lJzonWGFubGFyJ30sDQogICAgJzY5JyA6IHsnY29kZSc6J1hJWicsJ25hbWUnOidYaXppJ30sDQogICAgJzcwJyA6IHsnY29kZSc6J1hDSScsJ25hbWUnOidYb2NhbGknfSwNCiAgICAnNzEnIDogeydjb2RlJzonWFZEJywnbmFtZSc6J1hvY2F2YW5kJ30sDQogICAgJzcyJyA6IHsnY29kZSc6J1lBUicsJ25hbWUnOidZYXJkaW1saSd9LA0KICAgICc3MycgOiB7J2NvZGUnOidZRVYnLCduYW1lJzonWWV2bGF4J30sDQogICAgJzc0JyA6IHsnY29kZSc6J1pBTicsJ25hbWUnOidaYW5naWxhbid9LA0KICAgICc3NScgOiB7J2NvZGUnOidaQVEnLCduYW1lJzonWmFxYXRhbGEnfSwNCiAgICAnNzYnIDogeydjb2RlJzonWkFSJywnbmFtZSc6J1phcmRhYid9DQogIH0sDQogICdCUyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FDSycsJ25hbWUnOidBY2tsaW5zJ30sDQogICAgJzInIDogeydjb2RlJzonQkVSJywnbmFtZSc6J0JlcnJ5IElzbGFuZHMnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCSU0nLCduYW1lJzonQmltaW5pJ30sDQogICAgJzQnIDogeydjb2RlJzonQkxLJywnbmFtZSc6J0JsYWNrIFBvaW50J30sDQogICAgJzUnIDogeydjb2RlJzonQ0FUJywnbmFtZSc6J0NhdCBJc2xhbmQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidDQUInLCduYW1lJzonQ2VudHJhbCBBYmFjbyd9LA0KICAgICc3JyA6IHsnY29kZSc6J0NBTicsJ25hbWUnOidDZW50cmFsIEFuZHJvcyd9LA0KICAgICc4JyA6IHsnY29kZSc6J0NFTCcsJ25hbWUnOidDZW50cmFsIEVsZXV0aGVyYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0ZSRScsJ25hbWUnOidDaXR5IG9mIEZyZWVwb3J0J30sDQogICAgJzEwJyA6IHsnY29kZSc6J0NSTycsJ25hbWUnOidDcm9va2VkIElzbGFuZCd9LA0KICAgICcxMScgOiB7J2NvZGUnOidFR0InLCduYW1lJzonRWFzdCBHcmFuZCBCYWhhbWEnfSwNCiAgICAnMTInIDogeydjb2RlJzonRVhVJywnbmFtZSc6J0V4dW1hJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0dSRCcsJ25hbWUnOidHcmFuZCBDYXknfSwNCiAgICAnMTQnIDogeydjb2RlJzonSEFSJywnbmFtZSc6J0hhcmJvdXIgSXNsYW5kJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0hPUCcsJ25hbWUnOidIb3BlIFRvd24nfSwNCiAgICAnMTYnIDogeydjb2RlJzonSU5BJywnbmFtZSc6J0luYWd1YSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidMTkcnLCduYW1lJzonTG9uZyBJc2xhbmQnfSwNCiAgICAnMTgnIDogeydjb2RlJzonTUFOJywnbmFtZSc6J01hbmdyb3ZlIENheSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidNQVknLCduYW1lJzonTWF5YWd1YW5hJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J01PTycsJ25hbWUnOidNb29yZVwncyBJc2xhbmQnfSwNCiAgICAnMjEnIDogeydjb2RlJzonTkFCJywnbmFtZSc6J05vcnRoIEFiYWNvJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J05BTicsJ25hbWUnOidOb3J0aCBBbmRyb3MnfSwNCiAgICAnMjMnIDogeydjb2RlJzonTkVMJywnbmFtZSc6J05vcnRoIEVsZXV0aGVyYSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidSQUcnLCduYW1lJzonUmFnZ2VkIElzbGFuZCd9LA0KICAgICcyNScgOiB7J2NvZGUnOidSVU0nLCduYW1lJzonUnVtIENheSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidTQUwnLCduYW1lJzonU2FuIFNhbHZhZG9yJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J1NBQicsJ25hbWUnOidTb3V0aCBBYmFjbyd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidTQU4nLCduYW1lJzonU291dGggQW5kcm9zJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J1NFTCcsJ25hbWUnOidTb3V0aCBFbGV1dGhlcmEnfSwNCiAgICAnMzAnIDogeydjb2RlJzonU1dFJywnbmFtZSc6J1NwYW5pc2ggV2VsbHMnfSwNCiAgICAnMzEnIDogeydjb2RlJzonV0dCJywnbmFtZSc6J1dlc3QgR3JhbmQgQmFoYW1hJ30NCiAgfSwNCiAgJ0JIJzp7DQogICAgJzEnIDogeydjb2RlJzonQ0FQJywnbmFtZSc6J0NhcGl0YWwnfSwNCiAgICAnMicgOiB7J2NvZGUnOidDRU4nLCduYW1lJzonQ2VudHJhbCd9LA0KICAgICczJyA6IHsnY29kZSc6J01VSCcsJ25hbWUnOidNdWhhcnJhcSd9LA0KICAgICc0JyA6IHsnY29kZSc6J05PUicsJ25hbWUnOidOb3J0aGVybid9LA0KICAgICc1JyA6IHsnY29kZSc6J1NPVScsJ25hbWUnOidTb3V0aGVybid9DQogIH0sDQogICdCRCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JBUicsJ25hbWUnOidCYXJpc2FsJ30sDQogICAgJzInIDogeydjb2RlJzonQ0hJJywnbmFtZSc6J0NoaXR0YWdvbmcnfSwNCiAgICAnMycgOiB7J2NvZGUnOidESEEnLCduYW1lJzonRGhha2EnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidLSFUnLCduYW1lJzonS2h1bG5hJ30sDQogICAgJzUnIDogeydjb2RlJzonUkFKJywnbmFtZSc6J1JhanNoYWhpJ30sDQogICAgJzYnIDogeydjb2RlJzonU1lMJywnbmFtZSc6J1N5bGhldCd9DQogIH0sDQogICdCQic6ew0KICAgICcxJyA6IHsnY29kZSc6J0NDJywnbmFtZSc6J0NocmlzdCBDaHVyY2gnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTkQnLCduYW1lJzonU2FpbnQgQW5kcmV3J30sDQogICAgJzMnIDogeydjb2RlJzonR0VPJywnbmFtZSc6J1NhaW50IEdlb3JnZSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0pBTScsJ25hbWUnOidTYWludCBKYW1lcyd9LA0KICAgICc1JyA6IHsnY29kZSc6J0pPSCcsJ25hbWUnOidTYWludCBKb2huJ30sDQogICAgJzYnIDogeydjb2RlJzonSk9TJywnbmFtZSc6J1NhaW50IEpvc2VwaCd9LA0KICAgICc3JyA6IHsnY29kZSc6J0xVQycsJ25hbWUnOidTYWludCBMdWN5J30sDQogICAgJzgnIDogeydjb2RlJzonTUlDJywnbmFtZSc6J1NhaW50IE1pY2hhZWwnfSwNCiAgICAnOScgOiB7J2NvZGUnOidQRVQnLCduYW1lJzonU2FpbnQgUGV0ZXInfSwNCiAgICAnMTAnIDogeydjb2RlJzonUEhJJywnbmFtZSc6J1NhaW50IFBoaWxpcCd9LA0KICAgICcxMScgOiB7J2NvZGUnOidUSE8nLCduYW1lJzonU2FpbnQgVGhvbWFzJ30NCiAgfSwNCiAgJ0JZJzp7DQogICAgJzEnIDogeydjb2RlJzonQlInLCduYW1lJzonQnJlc3Rza2F5YSAoQnJlc3QpJ30sDQogICAgJzInIDogeydjb2RlJzonSE8nLCduYW1lJzonSG9teWVsXCdza2F5YSAoSG9teWVsXCcpJ30sDQogICAgJzMnIDogeydjb2RlJzonSE0nLCduYW1lJzonSG9yYWQgTWluc2snfSwNCiAgICAnNCcgOiB7J2NvZGUnOidIUicsJ25hbWUnOidIcm9kenllbnNrYXlhIChIcm9kbmEpJ30sDQogICAgJzUnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFoaWx5b3dza2F5YSAoTWFoaWx5b3cpJ30sDQogICAgJzYnIDogeydjb2RlJzonTUknLCduYW1lJzonTWluc2theWEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidWSScsJ25hbWUnOidWaXRzeWVic2theWEgKFZpdHN5ZWJzayknfQ0KICB9LA0KICAnQkUnOnsNCiAgICAnMScgOiB7J2NvZGUnOidWQU4nLCduYW1lJzonQW50d2VycGVuJ30sDQogICAgJzInIDogeydjb2RlJzonV0JSJywnbmFtZSc6J0JyYWJhbnQgV2FsbG9uJ30sDQogICAgJzMnIDogeydjb2RlJzonV0hUJywnbmFtZSc6J0hhaW5hdXQnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidXTEcnLCduYW1lJzonTGllZ2UnfSwNCiAgICAnNScgOiB7J2NvZGUnOidWTEknLCduYW1lJzonTGltYnVyZyd9LA0KICAgICc2JyA6IHsnY29kZSc6J1dMWCcsJ25hbWUnOidMdXhlbWJvdXJnJ30sDQogICAgJzcnIDogeydjb2RlJzonV05BJywnbmFtZSc6J05hbXVyJ30sDQogICAgJzgnIDogeydjb2RlJzonVk9WJywnbmFtZSc6J09vc3QtVmxhYW5kZXJlbid9LA0KICAgICc5JyA6IHsnY29kZSc6J1ZCUicsJ25hbWUnOidWbGFhbXMgQnJhYmFudCd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidWV1YnLCduYW1lJzonV2VzdC1WbGFhbmRlcmVuJ30NCiAgfSwNCiAgJ0JaJzp7DQogICAgJzEnIDogeydjb2RlJzonQlonLCduYW1lJzonQmVsaXplJ30sDQogICAgJzInIDogeydjb2RlJzonQ1knLCduYW1lJzonQ2F5byd9LA0KICAgICczJyA6IHsnY29kZSc6J0NSJywnbmFtZSc6J0Nvcm96YWwnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidPVycsJ25hbWUnOidPcmFuZ2UgV2Fsayd9LA0KICAgICc1JyA6IHsnY29kZSc6J1NDJywnbmFtZSc6J1N0YW5uIENyZWVrJ30sDQogICAgJzYnIDogeydjb2RlJzonVE8nLCduYW1lJzonVG9sZWRvJ30NCiAgfSwNCiAgJ0JKJzp7DQogICAgJzEnIDogeydjb2RlJzonQUwnLCduYW1lJzonQWxpYm9yaSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FLJywnbmFtZSc6J0F0YWtvcmEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBUScsJ25hbWUnOidBdGxhbnRpcXVlJ30sDQogICAgJzQnIDogeydjb2RlJzonQk8nLCduYW1lJzonQm9yZ291J30sDQogICAgJzUnIDogeydjb2RlJzonQ08nLCduYW1lJzonQ29sbGluZXMnfSwNCiAgICAnNicgOiB7J2NvZGUnOidETycsJ25hbWUnOidEb25nYSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0tPJywnbmFtZSc6J0tvdWZmbyd9LA0KICAgICc4JyA6IHsnY29kZSc6J0xJJywnbmFtZSc6J0xpdHRvcmFsJ30sDQogICAgJzknIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9ubyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidPVScsJ25hbWUnOidPdWVtZSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidQTCcsJ25hbWUnOidQbGF0ZWF1J30sDQogICAgJzEyJyA6IHsnY29kZSc6J1pPJywnbmFtZSc6J1pvdSd9DQogIH0sDQogICdCTSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0RTJywnbmFtZSc6J0Rldm9uc2hpcmUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidIQycsJ25hbWUnOidIYW1pbHRvbiBDaXR5J30sDQogICAgJzMnIDogeydjb2RlJzonSEEnLCduYW1lJzonSGFtaWx0b24nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidQRycsJ25hbWUnOidQYWdldCd9LA0KICAgICc1JyA6IHsnY29kZSc6J1BCJywnbmFtZSc6J1BlbWJyb2tlJ30sDQogICAgJzYnIDogeydjb2RlJzonR0MnLCduYW1lJzonU2FpbnQgR2VvcmdlIENpdHknfSwNCiAgICAnNycgOiB7J2NvZGUnOidTRycsJ25hbWUnOidTYWludCBHZW9yZ2VcJ3MnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTYW5keXMnfSwNCiAgICAnOScgOiB7J2NvZGUnOidTTScsJ25hbWUnOidTbWl0aFwncyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidTSCcsJ25hbWUnOidTb3V0aGFtcHRvbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidXQScsJ25hbWUnOidXYXJ3aWNrJ30NCiAgfSwNCiAgJ0JUJzp7DQogICAgJzEnIDogeydjb2RlJzonQlVNJywnbmFtZSc6J0J1bXRoYW5nJ30sDQogICAgJzInIDogeydjb2RlJzonQ0hVJywnbmFtZSc6J0NodWtoYSd9LA0KICAgICczJyA6IHsnY29kZSc6J0RBRycsJ25hbWUnOidEYWdhbmEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidHQVMnLCduYW1lJzonR2FzYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0hBQScsJ25hbWUnOidIYWEnfSwNCiAgICAnNicgOiB7J2NvZGUnOidMSFUnLCduYW1lJzonTGh1bnRzZSd9LA0KICAgICc3JyA6IHsnY29kZSc6J01PTicsJ25hbWUnOidNb25nYXInfSwNCiAgICAnOCcgOiB7J2NvZGUnOidQQVInLCduYW1lJzonUGFybyd9LA0KICAgICc5JyA6IHsnY29kZSc6J1BFTScsJ25hbWUnOidQZW1hZ2F0c2hlbCd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidQVU4nLCduYW1lJzonUHVuYWtoYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidTSk8nLCduYW1lJzonU2FtZHJ1cCBKb25na2hhcid9LA0KICAgICcxMicgOiB7J2NvZGUnOidTQVQnLCduYW1lJzonU2FtdHNlJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1NBUicsJ25hbWUnOidTYXJwYW5nJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1RISScsJ25hbWUnOidUaGltcGh1J30sDQogICAgJzE1JyA6IHsnY29kZSc6J1RSRycsJ25hbWUnOidUcmFzaGlnYW5nJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1RSWScsJ25hbWUnOidUcmFzaGl5YW5nc3RlJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1RSTycsJ25hbWUnOidUcm9uZ3NhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1RTSScsJ25hbWUnOidUc2lyYW5nJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1dQSCcsJ25hbWUnOidXYW5nZHVlIFBob2RyYW5nJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1pIRScsJ25hbWUnOidaaGVtZ2FuZyd9DQogIH0sDQogICdCTyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JFTicsJ25hbWUnOidCZW5pJ30sDQogICAgJzInIDogeydjb2RlJzonQ0hVJywnbmFtZSc6J0NodXF1aXNhY2EnfSwNCiAgICAnMycgOiB7J2NvZGUnOidDT0MnLCduYW1lJzonQ29jaGFiYW1iYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0xQWicsJ25hbWUnOidMYSBQYXonfSwNCiAgICAnNScgOiB7J2NvZGUnOidPUlUnLCduYW1lJzonT3J1cm8nfSwNCiAgICAnNicgOiB7J2NvZGUnOidQQU4nLCduYW1lJzonUGFuZG8nfSwNCiAgICAnNycgOiB7J2NvZGUnOidQT1QnLCduYW1lJzonUG90b3NpJ30sDQogICAgJzgnIDogeydjb2RlJzonU0NaJywnbmFtZSc6J1NhbnRhIENydXonfSwNCiAgICAnOScgOiB7J2NvZGUnOidUQVInLCduYW1lJzonVGFyaWphJ30NCiAgfSwNCiAgJ0JBJzp7DQogICAgJzEnIDogeydjb2RlJzonQlJPJywnbmFtZSc6J0JyY2tvIGRpc3RyaWN0J30sDQogICAgJzInIDogeydjb2RlJzonRkJQJywnbmFtZSc6J0Jvc2Fuc2tvcG9kcmluanNraSBLYW50b24nfSwNCiAgICAnMycgOiB7J2NvZGUnOidGSE4nLCduYW1lJzonSGVyY2Vnb3ZhY2tvLW5lcmV0dmFuc2tpIEthbnRvbid9LA0KICAgICc0JyA6IHsnY29kZSc6J0ZQTycsJ25hbWUnOidQb3NhdnNraSBLYW50b24nfSwNCiAgICAnNScgOiB7J2NvZGUnOidGU0EnLCduYW1lJzonS2FudG9uIFNhcmFqZXZvJ30sDQogICAgJzYnIDogeydjb2RlJzonRlNCJywnbmFtZSc6J1NyZWRuamVib3NhbnNraSBLYW50b24nfSwNCiAgICAnNycgOiB7J2NvZGUnOidGVFUnLCduYW1lJzonVHV6bGFuc2tpIEthbnRvbid9LA0KICAgICc4JyA6IHsnY29kZSc6J0ZVUycsJ25hbWUnOidVbnNrby1TYW5za2kgS2FudG9uJ30sDQogICAgJzknIDogeydjb2RlJzonRlpBJywnbmFtZSc6J1phcGFkbm9ib3NhbnNrYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidGWkUnLCduYW1lJzonWmVuaWNrby1Eb2JvanNraSBLYW50b24nfSwNCiAgICAnMTEnIDogeydjb2RlJzonRlpIJywnbmFtZSc6J1phcGFkbm9oZXJjZWdvdmFja2EgWnVwYW5pamEnfSwNCiAgICAnMTInIDogeydjb2RlJzonU0JJJywnbmFtZSc6J0JpamVsamluYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidTQkwnLCduYW1lJzonQmFuamEgTHVrYSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidTRE8nLCduYW1lJzonRG9ib2onfSwNCiAgICAnMTUnIDogeydjb2RlJzonU0ZPJywnbmFtZSc6J0ZvY2EnfSwNCiAgICAnMTYnIDogeydjb2RlJzonU1NSJywnbmFtZSc6J1NhcmFqZXZvLVJvbWFuaWphIG9yIFNva29sYWMnfSwNCiAgICAnMTcnIDogeydjb2RlJzonU1RSJywnbmFtZSc6J1RyZWJpbmplJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1NWTCcsJ25hbWUnOidWbGFzZW5pY2EnfQ0KICB9LA0KICAnQlcnOnsNCiAgICAnMScgOiB7J2NvZGUnOidDRScsJ25hbWUnOidDZW50cmFsJ30sDQogICAgJzInIDogeydjb2RlJzonR0gnLCduYW1lJzonR2hhbnppJ30sDQogICAgJzMnIDogeydjb2RlJzonS0QnLCduYW1lJzonS2dhbGFnYWRpJ30sDQogICAgJzQnIDogeydjb2RlJzonS1QnLCduYW1lJzonS2dhdGxlbmcnfSwNCiAgICAnNScgOiB7J2NvZGUnOidLVycsJ25hbWUnOidLd2VuZW5nJ30sDQogICAgJzYnIDogeydjb2RlJzonTkcnLCduYW1lJzonTmdhbWlsYW5kJ30sDQogICAgJzcnIDogeydjb2RlJzonTkUnLCduYW1lJzonTm9ydGggRWFzdCd9LA0KICAgICc4JyA6IHsnY29kZSc6J05XJywnbmFtZSc6J05vcnRoIFdlc3QnfSwNCiAgICAnOScgOiB7J2NvZGUnOidTRScsJ25hbWUnOidTb3V0aCBFYXN0J30sDQogICAgJzEwJyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1NvdXRoZXJuJ30NCiAgfSwNCiAgJ0JSJzp7DQogICAgJzEnIDogeydjb2RlJzonQUMnLCduYW1lJzonQWNyZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0FsYWdvYXMnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBUCcsJ25hbWUnOidBbWFwYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FNJywnbmFtZSc6J0FtYXpvbmFzJ30sDQogICAgJzUnIDogeydjb2RlJzonQkEnLCduYW1lJzonQmFoaWEnfSwNCiAgICAnNicgOiB7J2NvZGUnOidDRScsJ25hbWUnOidDZWFyYSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0RGJywnbmFtZSc6J0Rpc3RyaXRvIEZlZGVyYWwnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidFUycsJ25hbWUnOidFc3Bpcml0byBTYW50byd9LA0KICAgICc5JyA6IHsnY29kZSc6J0dPJywnbmFtZSc6J0dvaWFzJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01BJywnbmFtZSc6J01hcmFuaGFvJ30sDQogICAgJzExJyA6IHsnY29kZSc6J01UJywnbmFtZSc6J01hdG8gR3Jvc3NvJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J01TJywnbmFtZSc6J01hdG8gR3Jvc3NvIGRvIFN1bCd9LA0KICAgICcxMycgOiB7J2NvZGUnOidNRycsJ25hbWUnOidNaW5hcyBHZXJhaXMnfSwNCiAgICAnMTQnIDogeydjb2RlJzonUEEnLCduYW1lJzonUGFyYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidQQicsJ25hbWUnOidQYXJhaWJhJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1BSJywnbmFtZSc6J1BhcmFuYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidQRScsJ25hbWUnOidQZXJuYW1idWNvJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1BJJywnbmFtZSc6J1BpYXVpJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1JKJywnbmFtZSc6J1JpbyBkZSBKYW5laXJvJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1JOJywnbmFtZSc6J1JpbyBHcmFuZGUgZG8gTm9ydGUnfSwNCiAgICAnMjEnIDogeydjb2RlJzonUlMnLCduYW1lJzonUmlvIEdyYW5kZSBkbyBTdWwnfSwNCiAgICAnMjInIDogeydjb2RlJzonUk8nLCduYW1lJzonUm9uZG9uaWEnfSwNCiAgICAnMjMnIDogeydjb2RlJzonUlInLCduYW1lJzonUm9yYWltYSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidTQycsJ25hbWUnOidTYW50YSBDYXRhcmluYSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidTUCcsJ25hbWUnOidTYW8gUGF1bG8nfSwNCiAgICAnMjYnIDogeydjb2RlJzonU0UnLCduYW1lJzonU2VyZ2lwZSd9LA0KICAgICcyNycgOiB7J2NvZGUnOidUTycsJ25hbWUnOidUb2NhbnRpbnMnfQ0KICB9LA0KICAnSU8nOnsNCiAgICAnMScgOiB7J2NvZGUnOidERycsJ25hbWUnOidEaWVnbyBHYXJjaWEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidESScsJ25hbWUnOidEYW5nZXIgSXNsYW5kJ30sDQogICAgJzMnIDogeydjb2RlJzonRUEnLCduYW1lJzonRWFnbGUgSXNsYW5kcyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0VHJywnbmFtZSc6J0VnbW9udCBJc2xhbmRzJ30sDQogICAgJzUnIDogeydjb2RlJzonTkknLCduYW1lJzonTmVsc29ucyBJc2xhbmQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidQQicsJ25hbWUnOidQZXJvcyBCYW5ob3MnfSwNCiAgICAnNycgOiB7J2NvZGUnOidTSScsJ25hbWUnOidTYWxvbW9uIElzbGFuZHMnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidUQicsJ25hbWUnOidUaHJlZSBCcm90aGVycyd9DQogIH0sDQogICdCTic6ew0KICAgICcxJyA6IHsnY29kZSc6J0JFTCcsJ25hbWUnOidCZWxhaXQnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCUk0nLCduYW1lJzonQnJ1bmVpIGFuZCBNdWFyYSd9LA0KICAgICczJyA6IHsnY29kZSc6J1RFTScsJ25hbWUnOidUZW1idXJvbmcnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidUVVQnLCduYW1lJzonVHV0b25nJ30NCiAgfSwNCiAgJ0JHJzp7DQogICAgJzEnIDogeydjb2RlJzonQkctMDEnLCduYW1lJzonQmxhZ29ldmdyYWQnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCRy0wMicsJ25hbWUnOidCdXJnYXMnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCRy0wMycsJ25hbWUnOidEb2JyaWNoJ30sDQogICAgJzQnIDogeydjb2RlJzonQkctMDQnLCduYW1lJzonR2Ficm92byd9LA0KICAgICc1JyA6IHsnY29kZSc6J0JHLTA1JywnbmFtZSc6J0hhc2tvdm8nfSwNCiAgICAnNicgOiB7J2NvZGUnOidCRy0wNicsJ25hbWUnOidLYXJkamFsaSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0JHLTA3JywnbmFtZSc6J0t5dXN0ZW5kaWwnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidCRy0wOCcsJ25hbWUnOidMb3ZlY2gnfSwNCiAgICAnOScgOiB7J2NvZGUnOidCRy0wOScsJ25hbWUnOidNb250YW5hJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0JHLTEwJywnbmFtZSc6J1BhemFyZGppayd9LA0KICAgICcxMScgOiB7J2NvZGUnOidCRy0xMScsJ25hbWUnOidQZXJuaWsnfSwNCiAgICAnMTInIDogeydjb2RlJzonQkctMTInLCduYW1lJzonUGxldmVuJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0JHLTEzJywnbmFtZSc6J1Bsb3ZkaXYnfSwNCiAgICAnMTQnIDogeydjb2RlJzonQkctMTQnLCduYW1lJzonUmF6Z3JhZCd9LA0KICAgICcxNScgOiB7J2NvZGUnOidCRy0xNScsJ25hbWUnOidTaHVtZW4nfSwNCiAgICAnMTYnIDogeydjb2RlJzonQkctMTYnLCduYW1lJzonU2lsaXN0cmEnfSwNCiAgICAnMTcnIDogeydjb2RlJzonQkctMTcnLCduYW1lJzonU2xpdmVuJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0JHLTE4JywnbmFtZSc6J1Ntb2x5YW4nfSwNCiAgICAnMTknIDogeydjb2RlJzonQkctMTknLCduYW1lJzonU29maWEnfSwNCiAgICAnMjAnIDogeydjb2RlJzonQkctMjAnLCduYW1lJzonU29maWEgLSB0b3duJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J0JHLTIxJywnbmFtZSc6J1N0YXJhIFphZ29yYSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidCRy0yMicsJ25hbWUnOidUYXJnb3Zpc2h0ZSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidCRy0yMycsJ25hbWUnOidWYXJuYSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidCRy0yNCcsJ25hbWUnOidWZWxpa28gVGFybm92byd9LA0KICAgICcyNScgOiB7J2NvZGUnOidCRy0yNScsJ25hbWUnOidWaWRpbid9LA0KICAgICcyNicgOiB7J2NvZGUnOidCRy0yNicsJ25hbWUnOidWcmF0emEnfSwNCiAgICAnMjcnIDogeydjb2RlJzonQkctMjcnLCduYW1lJzonWWFtYm9sJ30NCiAgfSwNCiAgJ0JGJzp7DQogICAgJzEnIDogeydjb2RlJzonQkFMJywnbmFtZSc6J0JhbGUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCQU0nLCduYW1lJzonQmFtJ30sDQogICAgJzMnIDogeydjb2RlJzonQkFOJywnbmFtZSc6J0JhbndhJ30sDQogICAgJzQnIDogeydjb2RlJzonQkFaJywnbmFtZSc6J0JhemVnYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0JPUicsJ25hbWUnOidCb3Vnb3VyaWJhJ30sDQogICAgJzYnIDogeydjb2RlJzonQkxHJywnbmFtZSc6J0JvdWxnb3UnfSwNCiAgICAnNycgOiB7J2NvZGUnOidCT0snLCduYW1lJzonQm91bGtpZW1kZSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0NPTScsJ25hbWUnOidDb21vZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0dBTicsJ25hbWUnOidHYW56b3VyZ291J30sDQogICAgJzEwJyA6IHsnY29kZSc6J0dOQScsJ25hbWUnOidHbmFnbmEnfSwNCiAgICAnMTEnIDogeydjb2RlJzonR09VJywnbmFtZSc6J0dvdXJtYSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidIT1UnLCduYW1lJzonSG91ZXQnfSwNCiAgICAnMTMnIDogeydjb2RlJzonSU9BJywnbmFtZSc6J0lvYmEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonS0FEJywnbmFtZSc6J0thZGlvZ28nfSwNCiAgICAnMTUnIDogeydjb2RlJzonS0VOJywnbmFtZSc6J0tlbmVkb3Vnb3UnfSwNCiAgICAnMTYnIDogeydjb2RlJzonS09EJywnbmFtZSc6J0tvbW9uZGphcmknfSwNCiAgICAnMTcnIDogeydjb2RlJzonS09QJywnbmFtZSc6J0tvbXBpZW5nYSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidLT1MnLCduYW1lJzonS29zc2knfSwNCiAgICAnMTknIDogeydjb2RlJzonS09MJywnbmFtZSc6J0tvdWxwZWxvZ28nfSwNCiAgICAnMjAnIDogeydjb2RlJzonS09UJywnbmFtZSc6J0tvdXJpdGVuZ2EnfSwNCiAgICAnMjEnIDogeydjb2RlJzonS09XJywnbmFtZSc6J0tvdXJ3ZW9nbyd9LA0KICAgICcyMicgOiB7J2NvZGUnOidMRVInLCduYW1lJzonTGVyYWJhJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J0xPUicsJ25hbWUnOidMb3JvdW0nfSwNCiAgICAnMjQnIDogeydjb2RlJzonTU9VJywnbmFtZSc6J01vdWhvdW4nfSwNCiAgICAnMjUnIDogeydjb2RlJzonTkFIJywnbmFtZSc6J05haG91cmknfSwNCiAgICAnMjYnIDogeydjb2RlJzonTkFNJywnbmFtZSc6J05hbWVudGVuZ2EnfSwNCiAgICAnMjcnIDogeydjb2RlJzonTkFZJywnbmFtZSc6J05heWFsYSd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidOT1UnLCduYW1lJzonTm91bWJpZWwnfSwNCiAgICAnMjknIDogeydjb2RlJzonT1VCJywnbmFtZSc6J091YnJpdGVuZ2EnfSwNCiAgICAnMzAnIDogeydjb2RlJzonT1VEJywnbmFtZSc6J091ZGFsYW4nfSwNCiAgICAnMzEnIDogeydjb2RlJzonUEFTJywnbmFtZSc6J1Bhc3NvcmUnfSwNCiAgICAnMzInIDogeydjb2RlJzonUE9OJywnbmFtZSc6J1BvbmknfSwNCiAgICAnMzMnIDogeydjb2RlJzonU0FHJywnbmFtZSc6J1Nhbmd1aWUnfSwNCiAgICAnMzQnIDogeydjb2RlJzonU0FNJywnbmFtZSc6J1Nhbm1hdGVuZ2EnfSwNCiAgICAnMzUnIDogeydjb2RlJzonU0VOJywnbmFtZSc6J1Nlbm8nfSwNCiAgICAnMzYnIDogeydjb2RlJzonU0lTJywnbmFtZSc6J1Npc3NpbGknfSwNCiAgICAnMzcnIDogeydjb2RlJzonU09NJywnbmFtZSc6J1NvdW0nfSwNCiAgICAnMzgnIDogeydjb2RlJzonU09SJywnbmFtZSc6J1NvdXJvdSd9LA0KICAgICczOScgOiB7J2NvZGUnOidUQVAnLCduYW1lJzonVGFwb2EnfSwNCiAgICAnNDAnIDogeydjb2RlJzonVFVZJywnbmFtZSc6J1R1eSd9LA0KICAgICc0MScgOiB7J2NvZGUnOidZQUcnLCduYW1lJzonWWFnaGEnfSwNCiAgICAnNDInIDogeydjb2RlJzonWUFUJywnbmFtZSc6J1lhdGVuZ2EnfSwNCiAgICAnNDMnIDogeydjb2RlJzonWklSJywnbmFtZSc6J1ppcm8nfSwNCiAgICAnNDQnIDogeydjb2RlJzonWk9EJywnbmFtZSc6J1pvbmRvbWEnfSwNCiAgICAnNDUnIDogeydjb2RlJzonWk9XJywnbmFtZSc6J1pvdW5kd2VvZ28nfQ0KICB9LA0KICAnQkknOnsNCiAgICAnMScgOiB7J2NvZGUnOidCQicsJ25hbWUnOidCdWJhbnphJ30sDQogICAgJzInIDogeydjb2RlJzonQkonLCduYW1lJzonQnVqdW1idXJhJ30sDQogICAgJzMnIDogeydjb2RlJzonQlInLCduYW1lJzonQnVydXJpJ30sDQogICAgJzQnIDogeydjb2RlJzonQ0EnLCduYW1lJzonQ2Fua3V6byd9LA0KICAgICc1JyA6IHsnY29kZSc6J0NJJywnbmFtZSc6J0NpYml0b2tlJ30sDQogICAgJzYnIDogeydjb2RlJzonR0knLCduYW1lJzonR2l0ZWdhJ30sDQogICAgJzcnIDogeydjb2RlJzonS1InLCduYW1lJzonS2FydXppJ30sDQogICAgJzgnIDogeydjb2RlJzonS1knLCduYW1lJzonS2F5YW56YSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0tJJywnbmFtZSc6J0tpcnVuZG8nfSwNCiAgICAnMTAnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFrYW1iYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidNVScsJ25hbWUnOidNdXJhbXZ5YSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidNWScsJ25hbWUnOidNdXlpbmdhJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J01XJywnbmFtZSc6J013YXJvJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J05HJywnbmFtZSc6J05nb3ppJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1JUJywnbmFtZSc6J1J1dGFuYSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidSWScsJ25hbWUnOidSdXlpZ2knfQ0KICB9LA0KICAnS0gnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCQScsJ25hbWUnOidCYXR0YW1iYW5nJ30sDQogICAgJzInIDogeydjb2RlJzonQk0nLCduYW1lJzonQmFudGVheSBNZWFuY2hleSd9LA0KICAgICczJyA6IHsnY29kZSc6J0tCJywnbmFtZSc6J0tlYid9LA0KICAgICc0JyA6IHsnY29kZSc6J0tLJywnbmFtZSc6J0thb2ggS29uZyd9LA0KICAgICc1JyA6IHsnY29kZSc6J0tMJywnbmFtZSc6J0thbmRhbCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0tNJywnbmFtZSc6J0thbXBvbmcgQ2hhbSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0tOJywnbmFtZSc6J0thbXBvbmcgQ2hobmFuZyd9LA0KICAgICc4JyA6IHsnY29kZSc6J0tPJywnbmFtZSc6J0thbXBvbmcgU29tJ30sDQogICAgJzknIDogeydjb2RlJzonS1AnLCduYW1lJzonS2FtcG90J30sDQogICAgJzEwJyA6IHsnY29kZSc6J0tSJywnbmFtZSc6J0tyYXRpZSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidLVCcsJ25hbWUnOidLYW1wb25nIFRob20nfSwNCiAgICAnMTInIDogeydjb2RlJzonS1UnLCduYW1lJzonS2FtcG9uZyBTcGV1J30sDQogICAgJzEzJyA6IHsnY29kZSc6J01LJywnbmFtZSc6J01vbmR1bCBLaXJpJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J09NJywnbmFtZSc6J09kZGFyIE1lYW5jaGVheSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQYWlsaW4nfSwNCiAgICAnMTYnIDogeydjb2RlJzonUEcnLCduYW1lJzonUHJleSBWZW5nJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1BQJywnbmFtZSc6J1Bobm9tIFBlbmgnfSwNCiAgICAnMTgnIDogeydjb2RlJzonUFInLCduYW1lJzonUHJlYWggVmloZWFyJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1BTJywnbmFtZSc6J1ByZWFoIFNlaWhhbnUgKEtvbXBvbmcgU29tIG9yIFNpKSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidQVScsJ25hbWUnOidQdXJzYXQnfSwNCiAgICAnMjEnIDogeydjb2RlJzonUksnLCduYW1lJzonUmF0YW5hayBLaXJpJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J1NJJywnbmFtZSc6J1NpZW1yZWFwJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1NSJywnbmFtZSc6J1N2YXkgUmllbmcnfSwNCiAgICAnMjQnIDogeydjb2RlJzonU1QnLCduYW1lJzonU3R1bmcgVHJlbmcnfSwNCiAgICAnMjUnIDogeydjb2RlJzonVEsnLCduYW1lJzonVGFrZW8nfQ0KICB9LA0KICAnQ00nOnsNCiAgICAnMScgOiB7J2NvZGUnOidBREEnLCduYW1lJzonQWRhbWF3YSAoQWRhbWFvdWEpJ30sDQogICAgJzInIDogeydjb2RlJzonQ0VOJywnbmFtZSc6J0NlbnRyZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0VTVCcsJ25hbWUnOidFYXN0IChFc3QpJ30sDQogICAgJzQnIDogeydjb2RlJzonRVhOJywnbmFtZSc6J0V4dHLDqm1lLU5vcmQnfSwNCiAgICAnNScgOiB7J2NvZGUnOidMSVQnLCduYW1lJzonTGl0dG9yYWwnfSwNCiAgICAnNicgOiB7J2NvZGUnOidOT1InLCduYW1lJzonTm9ydGggKE5vcmQpJ30sDQogICAgJzcnIDogeydjb2RlJzonTk9UJywnbmFtZSc6J05vcnRod2VzdCAoTm9yZC1PdWVzdCknfSwNCiAgICAnOCcgOiB7J2NvZGUnOidPVUUnLCduYW1lJzonV2VzdCAoT3Vlc3QpJ30sDQogICAgJzknIDogeydjb2RlJzonU1VEJywnbmFtZSc6J1NvdXRoIChTdWQpJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1NPVScsJ25hbWUnOidTb3V0aHdlc3QgKFN1ZC1PdWVzdCknfQ0KICB9LA0KICAnQ0EnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBbGJlcnRhJ30sDQogICAgJzInIDogeydjb2RlJzonQkMnLCduYW1lJzonQnJpdGlzaCBDb2x1bWJpYSd9LA0KICAgICczJyA6IHsnY29kZSc6J01CJywnbmFtZSc6J01hbml0b2JhJ30sDQogICAgJzQnIDogeydjb2RlJzonTkInLCduYW1lJzonTmV3IEJydW5zd2ljayd9LA0KICAgICc1JyA6IHsnY29kZSc6J05MJywnbmFtZSc6J05ld2ZvdW5kbGFuZCBhbmQgTGFicmFkb3InfSwNCiAgICAnNicgOiB7J2NvZGUnOidOVCcsJ25hbWUnOidOb3J0aHdlc3QgVGVycml0b3JpZXMnfSwNCiAgICAnNycgOiB7J2NvZGUnOidOUycsJ25hbWUnOidOb3ZhIFNjb3RpYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J05VJywnbmFtZSc6J051bmF2dXQnfSwNCiAgICAnOScgOiB7J2NvZGUnOidPTicsJ25hbWUnOidPbnRhcmlvJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1BFJywnbmFtZSc6J1ByaW5jZSBFZHdhcmQgSXNsYW5kJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1FDJywnbmFtZSc6J1F1w6liZWMnfSwNCiAgICAnMTInIDogeydjb2RlJzonU0snLCduYW1lJzonU2Fza2F0Y2hld2FuJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1lUJywnbmFtZSc6J1l1a29uIFRlcnJpdG9yeSd9DQogIH0sDQogICdDVic6ew0KICAgICcxJyA6IHsnY29kZSc6J0JWJywnbmFtZSc6J0JvYSBWaXN0YSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JSJywnbmFtZSc6J0JyYXZhJ30sDQogICAgJzMnIDogeydjb2RlJzonQ1MnLCduYW1lJzonQ2FsaGV0YSBkZSBTYW8gTWlndWVsJ30sDQogICAgJzQnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFpbyd9LA0KICAgICc1JyA6IHsnY29kZSc6J01PJywnbmFtZSc6J01vc3RlaXJvcyd9LA0KICAgICc2JyA6IHsnY29kZSc6J1BBJywnbmFtZSc6J1BhdWwnfSwNCiAgICAnNycgOiB7J2NvZGUnOidQTicsJ25hbWUnOidQb3J0byBOb3ZvJ30sDQogICAgJzgnIDogeydjb2RlJzonUFInLCduYW1lJzonUHJhaWEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidSRycsJ25hbWUnOidSaWJlaXJhIEdyYW5kZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidTYWwnfSwNCiAgICAnMTEnIDogeydjb2RlJzonQ0EnLCduYW1lJzonU2FudGEgQ2F0YXJpbmEnfSwNCiAgICAnMTInIDogeydjb2RlJzonQ1InLCduYW1lJzonU2FudGEgQ3J1eid9LA0KICAgICcxMycgOiB7J2NvZGUnOidTRCcsJ25hbWUnOidTYW8gRG9taW5nb3MnfSwNCiAgICAnMTQnIDogeydjb2RlJzonU0YnLCduYW1lJzonU2FvIEZpbGlwZSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidTTicsJ25hbWUnOidTYW8gTmljb2xhdSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidTVicsJ25hbWUnOidTYW8gVmljZW50ZSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidUQScsJ25hbWUnOidUYXJyYWZhbCd9DQogIH0sDQogICdLWSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0NSJywnbmFtZSc6J0NyZWVrJ30sDQogICAgJzInIDogeydjb2RlJzonRUEnLCduYW1lJzonRWFzdGVybid9LA0KICAgICczJyA6IHsnY29kZSc6J01MJywnbmFtZSc6J01pZGxhbmQnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidTVCcsJ25hbWUnOidTb3V0aCBUb3duJ30sDQogICAgJzUnIDogeydjb2RlJzonU1AnLCduYW1lJzonU3BvdCBCYXknfSwNCiAgICAnNicgOiB7J2NvZGUnOidTSycsJ25hbWUnOidTdGFrZSBCYXknfSwNCiAgICAnNycgOiB7J2NvZGUnOidXRCcsJ25hbWUnOidXZXN0IEVuZCd9LA0KICAgICc4JyA6IHsnY29kZSc6J1dOJywnbmFtZSc6J1dlc3Rlcm4nfQ0KICB9LA0KICAnQ0YnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCQU4nLCduYW1lJzonQmFuZ3VpJ30sDQogICAgJzInIDogeydjb2RlJzonQkJBJywnbmFtZSc6J0JhbWluZ3VpLUJhbmdvcmFuJ30sDQogICAgJzMnIDogeydjb2RlJzonQktPJywnbmFtZSc6J0Jhc3NlLUtvdHRvJ30sDQogICAgJzQnIDogeydjb2RlJzonSEtPJywnbmFtZSc6J0hhdXRlLUtvdHRvJ30sDQogICAgJzUnIDogeydjb2RlJzonSE1CJywnbmFtZSc6J0hhdXQtTWJvbW91J30sDQogICAgJzYnIDogeydjb2RlJzonS0VNJywnbmFtZSc6J0tlbW8nfSwNCiAgICAnNycgOiB7J2NvZGUnOidMT0InLCduYW1lJzonTG9iYXllJ30sDQogICAgJzgnIDogeydjb2RlJzonTUJPJywnbmFtZSc6J01ib21vdSd9LA0KICAgICc5JyA6IHsnY29kZSc6J01LRCcsJ25hbWUnOidNYW1iw6lyw6ktS2Fkw6nDryd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidOR1InLCduYW1lJzonTmFuYS1HcmViaXppJ30sDQogICAgJzExJyA6IHsnY29kZSc6J05NTScsJ25hbWUnOidOYW5hLU1hbWJlcmUnfSwNCiAgICAnMTInIDogeydjb2RlJzonT01QJywnbmFtZSc6J09tYmVsbGEtTVwnUG9rbyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidPUEUnLCduYW1lJzonT3VoYW0tUGVuZGUnfSwNCiAgICAnMTQnIDogeydjb2RlJzonT1VIJywnbmFtZSc6J091aGFtJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J09VSycsJ25hbWUnOidPdWFrYSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidTTUInLCduYW1lJzonU2FuZ2hhLU1iYWVyZSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidWQUsnLCduYW1lJzonVmFrYWdhJ30NCiAgfSwNCiAgJ1REJzp7DQogICAgJzEnIDogeydjb2RlJzonQkEnLCduYW1lJzonQmF0aGEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCSScsJ25hbWUnOidCaWx0aW5lJ30sDQogICAgJzMnIDogeydjb2RlJzonQkUnLCduYW1lJzonQm9ya291LUVubmVkaS1UaWJlc3RpJ30sDQogICAgJzQnIDogeydjb2RlJzonQ0InLCduYW1lJzonQ2hhcmktQmFndWlybWknfSwNCiAgICAnNScgOiB7J2NvZGUnOidHVScsJ25hbWUnOidHdWVyYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0tBJywnbmFtZSc6J0thbmVtJ30sDQogICAgJzcnIDogeydjb2RlJzonTEEnLCduYW1lJzonTGFjJ30sDQogICAgJzgnIDogeydjb2RlJzonTEMnLCduYW1lJzonTG9nb25lIE9jY2lkZW50YWwnfSwNCiAgICAnOScgOiB7J2NvZGUnOidMUicsJ25hbWUnOidMb2dvbmUgT3JpZW50YWwnfSwNCiAgICAnMTAnIDogeydjb2RlJzonTUsnLCduYW1lJzonTWF5by1LZWJiaSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidNQycsJ25hbWUnOidNb3llbi1DaGFyaSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidPVScsJ25hbWUnOidPdWFkZGFpJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1NhbGFtYXQnfSwNCiAgICAnMTQnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFuZGppbGUnfQ0KICB9LA0KICAnQ0wnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBSScsJ25hbWUnOidBaXNlbiBkZWwgR2VuZXJhbCBDYXJsb3MgSWJhbmV6J30sDQogICAgJzInIDogeydjb2RlJzonQU4nLCduYW1lJzonQW50b2ZhZ2FzdGEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcmF1Y2FuaWEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidBVCcsJ25hbWUnOidBdGFjYW1hJ30sDQogICAgJzUnIDogeydjb2RlJzonQkknLCduYW1lJzonQmlvLUJpbyd9LA0KICAgICc2JyA6IHsnY29kZSc6J0NPJywnbmFtZSc6J0NvcXVpbWJvJ30sDQogICAgJzcnIDogeydjb2RlJzonTEknLCduYW1lJzonTGliZXJ0YWRvciBHZW5lcmFsIEJlcm5hcmRvIE9cJ0hpJ30sDQogICAgJzgnIDogeydjb2RlJzonTEwnLCduYW1lJzonTG9zIExhZ29zJ30sDQogICAgJzknIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFnYWxsYW5lcyB5IGRlIGxhIEFudGFydGljYSBDaGknfSwNCiAgICAnMTAnIDogeydjb2RlJzonTUwnLCduYW1lJzonTWF1bGUnfSwNCiAgICAnMTEnIDogeydjb2RlJzonUk0nLCduYW1lJzonUmVnaW9uIE1ldHJvcG9saXRhbmEnfSwNCiAgICAnMTInIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFyYXBhY2EnfSwNCiAgICAnMTMnIDogeydjb2RlJzonVlMnLCduYW1lJzonVmFscGFyYWlzbyd9DQogIH0sDQogICdDTic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FOJywnbmFtZSc6J0FuaHVpJ30sDQogICAgJzInIDogeydjb2RlJzonQkUnLCduYW1lJzonQmVpamluZyd9LA0KICAgICczJyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0Nob25ncWluZyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0ZVJywnbmFtZSc6J0Z1amlhbid9LA0KICAgICc1JyA6IHsnY29kZSc6J0dBJywnbmFtZSc6J0dhbnN1J30sDQogICAgJzYnIDogeydjb2RlJzonR1UnLCduYW1lJzonR3Vhbmdkb25nJ30sDQogICAgJzcnIDogeydjb2RlJzonR1gnLCduYW1lJzonR3Vhbmd4aSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0daJywnbmFtZSc6J0d1aXpob3UnfSwNCiAgICAnOScgOiB7J2NvZGUnOidIQScsJ25hbWUnOidIYWluYW4nfSwNCiAgICAnMTAnIDogeydjb2RlJzonSEInLCduYW1lJzonSGViZWknfSwNCiAgICAnMTEnIDogeydjb2RlJzonSEwnLCduYW1lJzonSGVpbG9uZ2ppYW5nJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0hFJywnbmFtZSc6J0hlbmFuJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0hLJywnbmFtZSc6J0hvbmcgS29uZyd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidIVScsJ25hbWUnOidIdWJlaSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidITicsJ25hbWUnOidIdW5hbid9LA0KICAgICcxNicgOiB7J2NvZGUnOidJTScsJ25hbWUnOidJbm5lciBNb25nb2xpYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidKSScsJ25hbWUnOidKaWFuZ3N1J30sDQogICAgJzE4JyA6IHsnY29kZSc6J0pYJywnbmFtZSc6J0ppYW5neGknfSwNCiAgICAnMTknIDogeydjb2RlJzonSkwnLCduYW1lJzonSmlsaW4nfSwNCiAgICAnMjAnIDogeydjb2RlJzonTEknLCduYW1lJzonTGlhb25pbmcnfSwNCiAgICAnMjEnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFjYXUnfSwNCiAgICAnMjInIDogeydjb2RlJzonTkknLCduYW1lJzonTmluZ3hpYSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidTSCcsJ25hbWUnOidTaGFhbnhpJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1NoYW5kb25nJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J1NHJywnbmFtZSc6J1NoYW5naGFpJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J1NYJywnbmFtZSc6J1NoYW54aSd9LA0KICAgICcyNycgOiB7J2NvZGUnOidTSScsJ25hbWUnOidTaWNodWFuJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J1RJJywnbmFtZSc6J1RpYW5qaW4nfSwNCiAgICAnMjknIDogeydjb2RlJzonWEknLCduYW1lJzonWGluamlhbmcnfSwNCiAgICAnMzAnIDogeydjb2RlJzonWVUnLCduYW1lJzonWXVubmFuJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J1pIJywnbmFtZSc6J1poZWppYW5nJ30NCiAgfSwNCiAgJ0NDJzp7DQogICAgJzEnIDogeydjb2RlJzonRCcsJ25hbWUnOidEaXJlY3Rpb24gSXNsYW5kJ30sDQogICAgJzInIDogeydjb2RlJzonSCcsJ25hbWUnOidIb21lIElzbGFuZCd9LA0KICAgICczJyA6IHsnY29kZSc6J08nLCduYW1lJzonSG9yc2J1cmdoIElzbGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J1MnLCduYW1lJzonU291dGggSXNsYW5kJ30sDQogICAgJzUnIDogeydjb2RlJzonVycsJ25hbWUnOidXZXN0IElzbGFuZCd9DQogIH0sDQogICdDTyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FNWicsJ25hbWUnOidBbWF6b25hcyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FOVCcsJ25hbWUnOidBbnRpb3F1aWEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBUkEnLCduYW1lJzonQXJhdWNhJ30sDQogICAgJzQnIDogeydjb2RlJzonQVRMJywnbmFtZSc6J0F0bGFudGljbyd9LA0KICAgICc1JyA6IHsnY29kZSc6J0JEQycsJ25hbWUnOidCb2dvdGEgRC5DLid9LA0KICAgICc2JyA6IHsnY29kZSc6J0JPTCcsJ25hbWUnOidCb2xpdmFyJ30sDQogICAgJzcnIDogeydjb2RlJzonQk9ZJywnbmFtZSc6J0JveWFjYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0NBTCcsJ25hbWUnOidDYWxkYXMnfSwNCiAgICAnOScgOiB7J2NvZGUnOidDQVEnLCduYW1lJzonQ2FxdWV0YSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidDQVMnLCduYW1lJzonQ2FzYW5hcmUnfSwNCiAgICAnMTEnIDogeydjb2RlJzonQ0FVJywnbmFtZSc6J0NhdWNhJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0NFUycsJ25hbWUnOidDZXNhcid9LA0KICAgICcxMycgOiB7J2NvZGUnOidDSE8nLCduYW1lJzonQ2hvY28nfSwNCiAgICAnMTQnIDogeydjb2RlJzonQ09SJywnbmFtZSc6J0NvcmRvYmEnfSwNCiAgICAnMTUnIDogeydjb2RlJzonQ0FNJywnbmFtZSc6J0N1bmRpbmFtYXJjYSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidHTkEnLCduYW1lJzonR3VhaW5pYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidHSlInLCduYW1lJzonR3VhamlyYSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidHVlInLCduYW1lJzonR3VhdmlhcmUnfSwNCiAgICAnMTknIDogeydjb2RlJzonSFVJJywnbmFtZSc6J0h1aWxhJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J01BRycsJ25hbWUnOidNYWdkYWxlbmEnfSwNCiAgICAnMjEnIDogeydjb2RlJzonTUVUJywnbmFtZSc6J01ldGEnfSwNCiAgICAnMjInIDogeydjb2RlJzonTkFSJywnbmFtZSc6J05hcmlubyd9LA0KICAgICcyMycgOiB7J2NvZGUnOidORFMnLCduYW1lJzonTm9ydGUgZGUgU2FudGFuZGVyJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1BVVCcsJ25hbWUnOidQdXR1bWF5byd9LA0KICAgICcyNScgOiB7J2NvZGUnOidRVUknLCduYW1lJzonUXVpbmRpbyd9LA0KICAgICcyNicgOiB7J2NvZGUnOidSSVMnLCduYW1lJzonUmlzYXJhbGRhJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J1NBUCcsJ25hbWUnOidTYW4gQW5kcmVzIHkgUHJvdmlkZW5jaWEnfSwNCiAgICAnMjgnIDogeydjb2RlJzonU0FOJywnbmFtZSc6J1NhbnRhbmRlcid9LA0KICAgICcyOScgOiB7J2NvZGUnOidTVUMnLCduYW1lJzonU3VjcmUnfSwNCiAgICAnMzAnIDogeydjb2RlJzonVE9MJywnbmFtZSc6J1RvbGltYSd9LA0KICAgICczMScgOiB7J2NvZGUnOidWREMnLCduYW1lJzonVmFsbGUgZGVsIENhdWNhJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J1ZBVScsJ25hbWUnOidWYXVwZXMnfSwNCiAgICAnMzMnIDogeydjb2RlJzonVklDJywnbmFtZSc6J1ZpY2hhZGEnfQ0KICB9LA0KICAnS00nOnsNCiAgICAnMScgOiB7J2NvZGUnOidHJywnbmFtZSc6J0dyYW5kZSBDb21vcmUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBJywnbmFtZSc6J0Fuam91YW4nfSwNCiAgICAnMycgOiB7J2NvZGUnOidNJywnbmFtZSc6J01vaGVsaSd9DQogIH0sDQogICdDRyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JPJywnbmFtZSc6J0JvdWVuemEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCUicsJ25hbWUnOidCcmF6emF2aWxsZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0NVJywnbmFtZSc6J0N1dmV0dGUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDTycsJ25hbWUnOidDdXZldHRlLU91ZXN0J30sDQogICAgJzUnIDogeydjb2RlJzonS08nLCduYW1lJzonS291aWxvdSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0xFJywnbmFtZSc6J0xla291bW91J30sDQogICAgJzcnIDogeydjb2RlJzonTEknLCduYW1lJzonTGlrb3VhbGEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidOSScsJ25hbWUnOidOaWFyaSd9LA0KICAgICc5JyA6IHsnY29kZSc6J1BMJywnbmFtZSc6J1BsYXRlYXV4J30sDQogICAgJzEwJyA6IHsnY29kZSc6J1BPJywnbmFtZSc6J1Bvb2wnfSwNCiAgICAnMTEnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2FuZ2hhJ30NCiAgfSwNCiAgJ0NLJzp7DQogICAgJzEnIDogeydjb2RlJzonQUknLCduYW1lJzonQWl0dXRha2knfSwNCiAgICAnMicgOiB7J2NvZGUnOidBVCcsJ25hbWUnOidBdGl1J30sDQogICAgJzMnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFudWFlJ30sDQogICAgJzQnIDogeydjb2RlJzonTUcnLCduYW1lJzonTWFuZ2FpYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J01LJywnbmFtZSc6J01hbmloaWtpJ30sDQogICAgJzYnIDogeydjb2RlJzonTVQnLCduYW1lJzonTWl0aWFybyd9LA0KICAgICc3JyA6IHsnY29kZSc6J01VJywnbmFtZSc6J01hdWtlJ30sDQogICAgJzgnIDogeydjb2RlJzonTkknLCduYW1lJzonTmFzc2F1IElzbGFuZCd9LA0KICAgICc5JyA6IHsnY29kZSc6J1BBJywnbmFtZSc6J1BhbG1lcnN0b24nfSwNCiAgICAnMTAnIDogeydjb2RlJzonUEUnLCduYW1lJzonUGVucmh5bid9LA0KICAgICcxMScgOiB7J2NvZGUnOidQVScsJ25hbWUnOidQdWthcHVrYSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidSSycsJ25hbWUnOidSYWthaGFuZ2EnfSwNCiAgICAnMTMnIDogeydjb2RlJzonUlInLCduYW1lJzonUmFyb3RvbmdhJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1NVJywnbmFtZSc6J1N1cndhcnJvdyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidUQScsJ25hbWUnOidUYWt1dGVhJ30NCiAgfSwNCiAgJ0NSJzp7DQogICAgJzEnIDogeydjb2RlJzonQUwnLCduYW1lJzonQWxhanVlbGEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidDQScsJ25hbWUnOidDYXJ0YWdvJ30sDQogICAgJzMnIDogeydjb2RlJzonR1UnLCduYW1lJzonR3VhbmFjYXN0ZSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0hFJywnbmFtZSc6J0hlcmVkaWEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidMSScsJ25hbWUnOidMaW1vbid9LA0KICAgICc2JyA6IHsnY29kZSc6J1BVJywnbmFtZSc6J1B1bnRhcmVuYXMnfSwNCiAgICAnNycgOiB7J2NvZGUnOidTSicsJ25hbWUnOidTYW4gSm9zZSd9DQogIH0sDQogICdDSSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FCRScsJ25hbWUnOidBYmVuZ291cm91J30sDQogICAgJzInIDogeydjb2RlJzonQUJJJywnbmFtZSc6J0FiaWRqYW4nfSwNCiAgICAnMycgOiB7J2NvZGUnOidBQk8nLCduYW1lJzonQWJvaXNzbyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FESScsJ25hbWUnOidBZGlha2UnfSwNCiAgICAnNScgOiB7J2NvZGUnOidBRFonLCduYW1lJzonQWR6b3BlJ30sDQogICAgJzYnIDogeydjb2RlJzonQUdCJywnbmFtZSc6J0FnYm92aWxsZSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0FHTicsJ25hbWUnOidBZ25pYmlsZWtyb3UnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidBTEUnLCduYW1lJzonQWxlcGUnfSwNCiAgICAnOScgOiB7J2NvZGUnOidCT0MnLCduYW1lJzonQm9jYW5kYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidCQU4nLCduYW1lJzonQmFuZ29sbyd9LA0KICAgICcxMScgOiB7J2NvZGUnOidCRU8nLCduYW1lJzonQmVvdW1pJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0JJQScsJ25hbWUnOidCaWFua291bWEnfSwNCiAgICAnMTMnIDogeydjb2RlJzonQkRLJywnbmFtZSc6J0JvbmRvdWtvdSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidCR04nLCduYW1lJzonQm9uZ291YW5vdSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidCRkwnLCduYW1lJzonQm91YWZsZSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidCS0UnLCduYW1lJzonQm91YWtlJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0JOQScsJ25hbWUnOidCb3VuYSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidCREwnLCduYW1lJzonQm91bmRpYWxpJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0RLTCcsJ25hbWUnOidEYWJha2FsYSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidEQlUnLCduYW1lJzonRGFib3UnfSwNCiAgICAnMjEnIDogeydjb2RlJzonREFMJywnbmFtZSc6J0RhbG9hJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0RBTicsJ25hbWUnOidEYW5hbmUnfSwNCiAgICAnMjMnIDogeydjb2RlJzonREFPJywnbmFtZSc6J0Rhb3Vrcm8nfSwNCiAgICAnMjQnIDogeydjb2RlJzonRElNJywnbmFtZSc6J0RpbWJva3JvJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J0RJVicsJ25hbWUnOidEaXZvJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J0RVRScsJ25hbWUnOidEdWVrb3VlJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J0ZFUicsJ25hbWUnOidGZXJrZXNzZWRvdWdvdSd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidHQUcnLCduYW1lJzonR2Fnbm9hJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J0dCQScsJ25hbWUnOidHcmFuZC1CYXNzYW0nfSwNCiAgICAnMzAnIDogeydjb2RlJzonR0xBJywnbmFtZSc6J0dyYW5kLUxhaG91J30sDQogICAgJzMxJyA6IHsnY29kZSc6J0dVSScsJ25hbWUnOidHdWlnbG8nfSwNCiAgICAnMzInIDogeydjb2RlJzonSVNTJywnbmFtZSc6J0lzc2lhJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J0pBQycsJ25hbWUnOidKYWNxdWV2aWxsZSd9LA0KICAgICczNCcgOiB7J2NvZGUnOidLQVQnLCduYW1lJzonS2F0aW9sYSd9LA0KICAgICczNScgOiB7J2NvZGUnOidLT1InLCduYW1lJzonS29yaG9nbyd9LA0KICAgICczNicgOiB7J2NvZGUnOidMQUsnLCduYW1lJzonTGFrb3RhJ30sDQogICAgJzM3JyA6IHsnY29kZSc6J01BTicsJ25hbWUnOidNYW4nfSwNCiAgICAnMzgnIDogeydjb2RlJzonTUtOJywnbmFtZSc6J01hbmtvbm8nfSwNCiAgICAnMzknIDogeydjb2RlJzonTUJBJywnbmFtZSc6J01iYWhpYWtybyd9LA0KICAgICc0MCcgOiB7J2NvZGUnOidPREknLCduYW1lJzonT2RpZW5uZSd9LA0KICAgICc0MScgOiB7J2NvZGUnOidPVU0nLCduYW1lJzonT3VtZSd9LA0KICAgICc0MicgOiB7J2NvZGUnOidTQUsnLCduYW1lJzonU2FrYXNzb3UnfSwNCiAgICAnNDMnIDogeydjb2RlJzonU1BFJywnbmFtZSc6J1Nhbi1QZWRybyd9LA0KICAgICc0NCcgOiB7J2NvZGUnOidTQVMnLCduYW1lJzonU2Fzc2FuZHJhJ30sDQogICAgJzQ1JyA6IHsnY29kZSc6J1NFRycsJ25hbWUnOidTZWd1ZWxhJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J1NJTicsJ25hbWUnOidTaW5mcmEnfSwNCiAgICAnNDcnIDogeydjb2RlJzonU09VJywnbmFtZSc6J1NvdWJyZSd9LA0KICAgICc0OCcgOiB7J2NvZGUnOidUQUInLCduYW1lJzonVGFib3UnfSwNCiAgICAnNDknIDogeydjb2RlJzonVEFOJywnbmFtZSc6J1RhbmRhJ30sDQogICAgJzUwJyA6IHsnY29kZSc6J1RJRScsJ25hbWUnOidUaWViaXNzb3UnfSwNCiAgICAnNTEnIDogeydjb2RlJzonVElOJywnbmFtZSc6J1RpbmdyZWxhJ30sDQogICAgJzUyJyA6IHsnY29kZSc6J1RJQScsJ25hbWUnOidUaWFzc2FsZSd9LA0KICAgICc1MycgOiB7J2NvZGUnOidUQkEnLCduYW1lJzonVG91YmEnfSwNCiAgICAnNTQnIDogeydjb2RlJzonVExQJywnbmFtZSc6J1RvdWxlcGxldSd9LA0KICAgICc1NScgOiB7J2NvZGUnOidUTUQnLCduYW1lJzonVG91bW9kaSd9LA0KICAgICc1NicgOiB7J2NvZGUnOidWQVYnLCduYW1lJzonVmF2b3VhJ30sDQogICAgJzU3JyA6IHsnY29kZSc6J1lBTScsJ25hbWUnOidZYW1vdXNzb3Vrcm8nfSwNCiAgICAnNTgnIDogeydjb2RlJzonWlVFJywnbmFtZSc6J1p1ZW5vdWxhJ30NCiAgfSwNCiAgJ0hSJzp7DQogICAgJzEnIDogeydjb2RlJzonQkInLCduYW1lJzonQmplbG92YXItQmlsb2dvcmEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidDWicsJ25hbWUnOidDaXR5IG9mIFphZ3JlYid9LA0KICAgICczJyA6IHsnY29kZSc6J0ROJywnbmFtZSc6J0R1YnJvdm5pay1OZXJldHZhJ30sDQogICAgJzQnIDogeydjb2RlJzonSVMnLCduYW1lJzonSXN0cmEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidLQScsJ25hbWUnOidLYXJsb3ZhYyd9LA0KICAgICc2JyA6IHsnY29kZSc6J0tLJywnbmFtZSc6J0tvcHJpdm5pY2EtS3JpemV2Y2knfSwNCiAgICAnNycgOiB7J2NvZGUnOidLWicsJ25hbWUnOidLcmFwaW5hLVphZ29yamUnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidMUycsJ25hbWUnOidMaWthLVNlbmonfSwNCiAgICAnOScgOiB7J2NvZGUnOidNRScsJ25hbWUnOidNZWRpbXVyamUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonT0InLCduYW1lJzonT3NpamVrLUJhcmFuamEnfSwNCiAgICAnMTEnIDogeydjb2RlJzonUFMnLCduYW1lJzonUG96ZWdhLVNsYXZvbmlhJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J1BHJywnbmFtZSc6J1ByaW1vcmplLUdvcnNraSBLb3Rhcid9LA0KICAgICcxMycgOiB7J2NvZGUnOidTSScsJ25hbWUnOidTaWJlbmlrJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1NNJywnbmFtZSc6J1Npc2FrLU1vc2xhdmluYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidTQicsJ25hbWUnOidTbGF2b25za2kgQnJvZC1Qb3NhdmluYSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidTRCcsJ25hbWUnOidTcGxpdC1EYWxtYXRpYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidWQScsJ25hbWUnOidWYXJhemRpbid9LA0KICAgICcxOCcgOiB7J2NvZGUnOidWUCcsJ25hbWUnOidWaXJvdml0aWNhLVBvZHJhdmluYSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidWUycsJ25hbWUnOidWdWtvdmFyLVNyaWplbSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidaSycsJ25hbWUnOidaYWRhci1LbmluJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J1pBJywnbmFtZSc6J1phZ3JlYid9DQogIH0sDQogICdDVSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0NBJywnbmFtZSc6J0NhbWFndWV5J30sDQogICAgJzInIDogeydjb2RlJzonQ0QnLCduYW1lJzonQ2llZ28gZGUgQXZpbGEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidDSScsJ25hbWUnOidDaWVuZnVlZ29zJ30sDQogICAgJzQnIDogeydjb2RlJzonQ0gnLCduYW1lJzonQ2l1ZGFkIGRlIExhIEhhYmFuYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0dSJywnbmFtZSc6J0dyYW5tYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0dVJywnbmFtZSc6J0d1YW50YW5hbW8nfSwNCiAgICAnNycgOiB7J2NvZGUnOidITycsJ25hbWUnOidIb2xndWluJ30sDQogICAgJzgnIDogeydjb2RlJzonSUonLCduYW1lJzonSXNsYSBkZSBsYSBKdXZlbnR1ZCd9LA0KICAgICc5JyA6IHsnY29kZSc6J0xIJywnbmFtZSc6J0xhIEhhYmFuYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidMVCcsJ25hbWUnOidMYXMgVHVuYXMnfSwNCiAgICAnMTEnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWF0YW56YXMnfSwNCiAgICAnMTInIDogeydjb2RlJzonUFInLCduYW1lJzonUGluYXIgZGVsIFJpbyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidTUycsJ25hbWUnOidTYW5jdGkgU3Bpcml0dXMnfSwNCiAgICAnMTQnIDogeydjb2RlJzonU0MnLCduYW1lJzonU2FudGlhZ28gZGUgQ3ViYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidWQycsJ25hbWUnOidWaWxsYSBDbGFyYSd9DQogIH0sDQogICdDWSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0YnLCduYW1lJzonRmFtYWd1c3RhJ30sDQogICAgJzInIDogeydjb2RlJzonSycsJ25hbWUnOidLeXJlbmlhJ30sDQogICAgJzMnIDogeydjb2RlJzonQScsJ25hbWUnOidMYXJuYWNhJ30sDQogICAgJzQnIDogeydjb2RlJzonSScsJ25hbWUnOidMaW1hc3NvbCd9LA0KICAgICc1JyA6IHsnY29kZSc6J04nLCduYW1lJzonTmljb3NpYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J1AnLCduYW1lJzonUGFwaG9zJ30NCiAgfSwNCiAgJ0NaJzp7DQogICAgJzEnIDogeydjb2RlJzonQScsJ25hbWUnOidIbGF2bsOtIG3Em3N0byBQcmFoYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0InLCduYW1lJzonSmlob21vcmF2c2vDvSd9LA0KICAgICczJyA6IHsnY29kZSc6J0MnLCduYW1lJzonSmlob8SNZXNrw70nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidFJywnbmFtZSc6J1BhcmR1Ymlja8O9J30sDQogICAgJzUnIDogeydjb2RlJzonSCcsJ25hbWUnOidLcsOhbG92w6locmFkZWNrw70nfSwNCiAgICAnNicgOiB7J2NvZGUnOidKJywnbmFtZSc6J1Z5c2_EjWluYSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0snLCduYW1lJzonS2FybG92YXJza8O9J30sDQogICAgJzgnIDogeydjb2RlJzonTCcsJ25hbWUnOidMaWJlcmVja8O9J30sDQogICAgJzknIDogeydjb2RlJzonTScsJ25hbWUnOidPbG9tb3Vja8O9J30sDQogICAgJzEwJyA6IHsnY29kZSc6J1AnLCduYW1lJzonUGx6ZcWIc2vDvSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidTJywnbmFtZSc6J1N0xZllZG_EjWVza8O9J30sDQogICAgJzEyJyA6IHsnY29kZSc6J1QnLCduYW1lJzonTW9yYXZza29zbGV6c2vDvSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidVJywnbmFtZSc6J8Oac3RlY2vDvSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidaJywnbmFtZSc6J1psw61uc2vDvSd9DQogIH0sDQogICdESyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FSJywnbmFtZSc6J0FyaHVzJ30sDQogICAgJzInIDogeydjb2RlJzonQkgnLCduYW1lJzonQm9ybmhvbG0nfSwNCiAgICAnMycgOiB7J2NvZGUnOidDTycsJ25hbWUnOidDb3BlbmhhZ2VuJ30sDQogICAgJzQnIDogeydjb2RlJzonRk8nLCduYW1lJzonRmFyb2UgSXNsYW5kcyd9LA0KICAgICc1JyA6IHsnY29kZSc6J0ZSJywnbmFtZSc6J0ZyZWRlcmlrc2JvcmcnfSwNCiAgICAnNicgOiB7J2NvZGUnOidGWScsJ25hbWUnOidGeW4nfSwNCiAgICAnNycgOiB7J2NvZGUnOidLTycsJ25hbWUnOidLb2Jlbmhhdm4nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidOTycsJ25hbWUnOidOb3JkanlsbGFuZCd9LA0KICAgICc5JyA6IHsnY29kZSc6J1JJJywnbmFtZSc6J1JpYmUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonUksnLCduYW1lJzonUmluZ2tvYmluZyd9LA0KICAgICcxMScgOiB7J2NvZGUnOidSTycsJ25hbWUnOidSb3NraWxkZSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb25kZXJqeWxsYW5kJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1NUJywnbmFtZSc6J1N0b3JzdHJvbSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidWSycsJ25hbWUnOidWZWpsZSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidWSicsJ25hbWUnOidWZXN0asOmbGxhbmQnfSwNCiAgICAnMTYnIDogeydjb2RlJzonVkInLCduYW1lJzonVmlib3JnJ30NCiAgfSwNCiAgJ0RKJzp7DQogICAgJzEnIDogeydjb2RlJzonUycsJ25hbWUnOidcJ0FsaSBTYWJpaCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0snLCduYW1lJzonRGlraGlsJ30sDQogICAgJzMnIDogeydjb2RlJzonSicsJ25hbWUnOidEamlib3V0aSd9LA0KICAgICc0JyA6IHsnY29kZSc6J08nLCduYW1lJzonT2JvY2snfSwNCiAgICAnNScgOiB7J2NvZGUnOidUJywnbmFtZSc6J1RhZGpvdXJhJ30NCiAgfSwNCiAgJ0RNJzp7DQogICAgJzEnIDogeydjb2RlJzonQU5EJywnbmFtZSc6J1NhaW50IEFuZHJldyBQYXJpc2gnfSwNCiAgICAnMicgOiB7J2NvZGUnOidEQVYnLCduYW1lJzonU2FpbnQgRGF2aWQgUGFyaXNoJ30sDQogICAgJzMnIDogeydjb2RlJzonR0VPJywnbmFtZSc6J1NhaW50IEdlb3JnZSBQYXJpc2gnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidKT0gnLCduYW1lJzonU2FpbnQgSm9obiBQYXJpc2gnfSwNCiAgICAnNScgOiB7J2NvZGUnOidKT1MnLCduYW1lJzonU2FpbnQgSm9zZXBoIFBhcmlzaCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0xVSycsJ25hbWUnOidTYWludCBMdWtlIFBhcmlzaCd9LA0KICAgICc3JyA6IHsnY29kZSc6J01BUicsJ25hbWUnOidTYWludCBNYXJrIFBhcmlzaCd9LA0KICAgICc4JyA6IHsnY29kZSc6J1BBVCcsJ25hbWUnOidTYWludCBQYXRyaWNrIFBhcmlzaCd9LA0KICAgICc5JyA6IHsnY29kZSc6J1BBVScsJ25hbWUnOidTYWludCBQYXVsIFBhcmlzaCd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidQRVQnLCduYW1lJzonU2FpbnQgUGV0ZXIgUGFyaXNoJ30NCiAgfSwNCiAgJ0RPJzp7DQogICAgJzEnIDogeydjb2RlJzonRE4nLCduYW1lJzonRGlzdHJpdG8gTmFjaW9uYWwnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBWicsJ25hbWUnOidBenVhJ30sDQogICAgJzMnIDogeydjb2RlJzonQkMnLCduYW1lJzonQmFvcnVjbyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0JIJywnbmFtZSc6J0JhcmFob25hJ30sDQogICAgJzUnIDogeydjb2RlJzonREonLCduYW1lJzonRGFqYWJvbid9LA0KICAgICc2JyA6IHsnY29kZSc6J0RVJywnbmFtZSc6J0R1YXJ0ZSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0VMJywnbmFtZSc6J0VsaWFzIFBpbmEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidTWScsJ25hbWUnOidFbCBTZXlibyd9LA0KICAgICc5JyA6IHsnY29kZSc6J0VUJywnbmFtZSc6J0VzcGFpbGxhdCd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidITScsJ25hbWUnOidIYXRvIE1heW9yJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0lOJywnbmFtZSc6J0luZGVwZW5kZW5jaWEnfSwNCiAgICAnMTInIDogeydjb2RlJzonQUwnLCduYW1lJzonTGEgQWx0YWdyYWNpYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidSTycsJ25hbWUnOidMYSBSb21hbmEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonVkUnLCduYW1lJzonTGEgVmVnYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidNVCcsJ25hbWUnOidNYXJpYSBUcmluaWRhZCBTYW5jaGV6J30sDQogICAgJzE2JyA6IHsnY29kZSc6J01OJywnbmFtZSc6J01vbnNlbm9yIE5vdWVsJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J01DJywnbmFtZSc6J01vbnRlIENyaXN0aSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidNUCcsJ25hbWUnOidNb250ZSBQbGF0YSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidQRCcsJ25hbWUnOidQZWRlcm5hbGVzJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1BSJywnbmFtZSc6J1BlcmF2aWEgKEJhbmkpJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J1BQJywnbmFtZSc6J1B1ZXJ0byBQbGF0YSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidTYWxjZWRvJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1NNJywnbmFtZSc6J1NhbWFuYSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidTSCcsJ25hbWUnOidTYW5jaGV6IFJhbWlyZXonfSwNCiAgICAnMjUnIDogeydjb2RlJzonU0MnLCduYW1lJzonU2FuIENyaXN0b2JhbCd9LA0KICAgICcyNicgOiB7J2NvZGUnOidKTycsJ25hbWUnOidTYW4gSm9zZSBkZSBPY29hJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J1NKJywnbmFtZSc6J1NhbiBKdWFuJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J1BNJywnbmFtZSc6J1NhbiBQZWRybyBkZSBNYWNvcmlzJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1NhbnRpYWdvJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J1NUJywnbmFtZSc6J1NhbnRpYWdvIFJvZHJpZ3Vleid9LA0KICAgICczMScgOiB7J2NvZGUnOidTRCcsJ25hbWUnOidTYW50byBEb21pbmdvJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J1ZBJywnbmFtZSc6J1ZhbHZlcmRlJ30NCiAgfSwNCiAgJ1RQJzp7DQogICAgJzEnIDogeydjb2RlJzonQUwnLCduYW1lJzonQWlsZXUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTicsJ25hbWUnOidBaW5hcm8nfSwNCiAgICAnMycgOiB7J2NvZGUnOidCQScsJ25hbWUnOidCYXVjYXUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidCTycsJ25hbWUnOidCb2JvbmFybyd9LA0KICAgICc1JyA6IHsnY29kZSc6J0NPJywnbmFtZSc6J0NvdmEgTGltYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0RJJywnbmFtZSc6J0RpbGknfSwNCiAgICAnNycgOiB7J2NvZGUnOidFUicsJ25hbWUnOidFcm1lcmEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYXV0ZW0nfSwNCiAgICAnOScgOiB7J2NvZGUnOidMSScsJ25hbWUnOidMaXF1aWNhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01UJywnbmFtZSc6J01hbmF0dXRvJ30sDQogICAgJzExJyA6IHsnY29kZSc6J01GJywnbmFtZSc6J01hbnVmYWhpJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J09FJywnbmFtZSc6J09lY3Vzc2knfSwNCiAgICAnMTMnIDogeydjb2RlJzonVkknLCduYW1lJzonVmlxdWVxdWUnfQ0KICB9LA0KICAnRUMnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBWlUnLCduYW1lJzonQXp1YXknfSwNCiAgICAnMicgOiB7J2NvZGUnOidCT0wnLCduYW1lJzonQm9saXZhcid9LA0KICAgICczJyA6IHsnY29kZSc6J0NBTicsJ25hbWUnOidDYcOxYXInfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDQVInLCduYW1lJzonQ2FyY2hpJ30sDQogICAgJzUnIDogeydjb2RlJzonQ0hJJywnbmFtZSc6J0NoaW1ib3Jhem8nfSwNCiAgICAnNicgOiB7J2NvZGUnOidDT1QnLCduYW1lJzonQ290b3BheGknfSwNCiAgICAnNycgOiB7J2NvZGUnOidFT1InLCduYW1lJzonRWwgT3JvJ30sDQogICAgJzgnIDogeydjb2RlJzonRVNNJywnbmFtZSc6J0VzbWVyYWxkYXMnfSwNCiAgICAnOScgOiB7J2NvZGUnOidHUFMnLCduYW1lJzonR2Fsw6FwYWdvcyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidHVUEnLCduYW1lJzonR3VheWFzJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0lNQicsJ25hbWUnOidJbWJhYnVyYSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidMT0onLCduYW1lJzonTG9qYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidMUk8nLCduYW1lJzonTG9zIFLDrW9zJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J01BTicsJ25hbWUnOidNYW5hYsOtJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J01TQScsJ25hbWUnOidNb3JvbmEgU2FudGlhZ28nfSwNCiAgICAnMTYnIDogeydjb2RlJzonTkFQJywnbmFtZSc6J05hcG8nfSwNCiAgICAnMTcnIDogeydjb2RlJzonT1JFJywnbmFtZSc6J09yZWxsYW5hJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1BBUycsJ25hbWUnOidQYXN0YXphJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1BJQycsJ25hbWUnOidQaWNoaW5jaGEnfSwNCiAgICAnMjAnIDogeydjb2RlJzonU1VDJywnbmFtZSc6J1N1Y3VtYsOtb3MnfSwNCiAgICAnMjEnIDogeydjb2RlJzonVFVOJywnbmFtZSc6J1R1bmd1cmFodWEnfSwNCiAgICAnMjInIDogeydjb2RlJzonWkNIJywnbmFtZSc6J1phbW9yYSBDaGluY2hpcGUnfQ0KICB9LA0KICAnRUcnOnsNCiAgICAnMScgOiB7J2NvZGUnOidESFknLCduYW1lJzonQWQgRGFxYWhsaXlhaCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JBTScsJ25hbWUnOidBbCBCYWhyIGFsIEFobWFyJ30sDQogICAgJzMnIDogeydjb2RlJzonQkhZJywnbmFtZSc6J0FsIEJ1aGF5cmFoJ30sDQogICAgJzQnIDogeydjb2RlJzonRllNJywnbmFtZSc6J0FsIEZheXl1bSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0dCWScsJ25hbWUnOidBbCBHaGFyYml5YWgnfSwNCiAgICAnNicgOiB7J2NvZGUnOidJRFInLCduYW1lJzonQWwgSXNrYW5kYXJpeWFoJ30sDQogICAgJzcnIDogeydjb2RlJzonSU1MJywnbmFtZSc6J0FsIElzbWEgXCdpbGl5YWgnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidKWkgnLCduYW1lJzonQWwgSml6YWgnfSwNCiAgICAnOScgOiB7J2NvZGUnOidNRlknLCduYW1lJzonQWwgTWludWZpeWFoJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01OWScsJ25hbWUnOidBbCBNaW55YSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidRSFInLCduYW1lJzonQWwgUWFoaXJhaCd9LA0KICAgICcxMicgOiB7J2NvZGUnOidRTFknLCduYW1lJzonQWwgUWFseXViaXlhaCd9LA0KICAgICcxMycgOiB7J2NvZGUnOidXSkQnLCduYW1lJzonQWwgV2FkaSBhbCBKYWRpZCd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidTSFEnLCduYW1lJzonQXNoIFNoYXJxaXlhaCd9LA0KICAgICcxNScgOiB7J2NvZGUnOidTV1knLCduYW1lJzonQXMgU3V3YXlzJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0FTVycsJ25hbWUnOidBc3dhbid9LA0KICAgICcxNycgOiB7J2NvZGUnOidBU1knLCduYW1lJzonQXN5dXQnfSwNCiAgICAnMTgnIDogeydjb2RlJzonQlNXJywnbmFtZSc6J0JhbmkgU3V3YXlmJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0JTRCcsJ25hbWUnOidCdXIgU2FcJ2lkJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0RNWScsJ25hbWUnOidEdW15YXQnfSwNCiAgICAnMjEnIDogeydjb2RlJzonSk5TJywnbmFtZSc6J0phbnViIFNpbmFcJyd9LA0KICAgICcyMicgOiB7J2NvZGUnOidLU0gnLCduYW1lJzonS2FmciBhc2ggU2hheWtoJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J01BVCcsJ25hbWUnOidNYXRydWgnfSwNCiAgICAnMjQnIDogeydjb2RlJzonUUlOJywnbmFtZSc6J1FpbmEnfSwNCiAgICAnMjUnIDogeydjb2RlJzonU0hTJywnbmFtZSc6J1NoYW1hbCBTaW5hXCcnfSwNCiAgICAnMjYnIDogeydjb2RlJzonU1VIJywnbmFtZSc6J1N1aGFqJ30NCiAgfSwNCiAgJ1NWJzp7DQogICAgJzEnIDogeydjb2RlJzonQUgnLCduYW1lJzonQWh1YWNoYXBhbid9LA0KICAgICcyJyA6IHsnY29kZSc6J0NBJywnbmFtZSc6J0NhYmFuYXMnfSwNCiAgICAnMycgOiB7J2NvZGUnOidDSCcsJ25hbWUnOidDaGFsYXRlbmFuZ28nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDVScsJ25hbWUnOidDdXNjYXRsYW4nfSwNCiAgICAnNScgOiB7J2NvZGUnOidMQicsJ25hbWUnOidMYSBMaWJlcnRhZCd9LA0KICAgICc2JyA6IHsnY29kZSc6J1BaJywnbmFtZSc6J0xhIFBheid9LA0KICAgICc3JyA6IHsnY29kZSc6J1VOJywnbmFtZSc6J0xhIFVuaW9uJ30sDQogICAgJzgnIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9yYXphbid9LA0KICAgICc5JyA6IHsnY29kZSc6J1NNJywnbmFtZSc6J1NhbiBNaWd1ZWwnfSwNCiAgICAnMTAnIDogeydjb2RlJzonU1MnLCduYW1lJzonU2FuIFNhbHZhZG9yJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1NWJywnbmFtZSc6J1NhbiBWaWNlbnRlJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1NhbnRhIEFuYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb25zb25hdGUnfSwNCiAgICAnMTQnIDogeydjb2RlJzonVVMnLCduYW1lJzonVXN1bHV0YW4nfQ0KICB9LA0KICAnR1EnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBTicsJ25hbWUnOidQcm92aW5jaWEgQW5ub2Jvbid9LA0KICAgICcyJyA6IHsnY29kZSc6J0JOJywnbmFtZSc6J1Byb3ZpbmNpYSBCaW9rbyBOb3J0ZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0JTJywnbmFtZSc6J1Byb3ZpbmNpYSBCaW9rbyBTdXInfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDUycsJ25hbWUnOidQcm92aW5jaWEgQ2VudHJvIFN1cid9LA0KICAgICc1JyA6IHsnY29kZSc6J0tOJywnbmFtZSc6J1Byb3ZpbmNpYSBLaWUtTnRlbSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0xJJywnbmFtZSc6J1Byb3ZpbmNpYSBMaXRvcmFsJ30sDQogICAgJzcnIDogeydjb2RlJzonV04nLCduYW1lJzonUHJvdmluY2lhIFdlbGUtTnphcyd9DQogIH0sDQogICdFUic6ew0KICAgICcxJyA6IHsnY29kZSc6J01BJywnbmFtZSc6J0NlbnRyYWwgKE1hZWtlbCknfSwNCiAgICAnMicgOiB7J2NvZGUnOidLRScsJ25hbWUnOidBbnNlYmEgKEtlcmVuKSd9LA0KICAgICczJyA6IHsnY29kZSc6J0RLJywnbmFtZSc6J1NvdXRoZXJuIFJlZCBTZWEgKERlYnViLUtlaWgtQmFoKSd9LA0KICAgICc0JyA6IHsnY29kZSc6J1NLJywnbmFtZSc6J05vcnRoZXJuIFJlZCBTZWEgKFNlbWllbi1LZWloLUJhKSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0RFJywnbmFtZSc6J1NvdXRoZXJuIChEZWJ1YiknfSwNCiAgICAnNicgOiB7J2NvZGUnOidCUicsJ25hbWUnOidHYXNoLUJhcmthIChCYXJlbnR1KSd9DQogIH0sDQogICdFRSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0hBJywnbmFtZSc6J0hhcmp1bWFhIChUYWxsaW5uKSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0hJJywnbmFtZSc6J0hpaXVtYWEgKEthcmRsYSknfSwNCiAgICAnMycgOiB7J2NvZGUnOidJVicsJ25hbWUnOidJZGEtVmlydW1hYSAoSm9odmkpJ30sDQogICAgJzQnIDogeydjb2RlJzonSkEnLCduYW1lJzonSmFydmFtYWEgKFBhaWRlKSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0pPJywnbmFtZSc6J0pvZ2V2YW1hYSAoSm9nZXZhKSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0xWJywnbmFtZSc6J0xhYW5lLVZpcnVtYWEgKFJha3ZlcmUpJ30sDQogICAgJzcnIDogeydjb2RlJzonTEEnLCduYW1lJzonTGFhbmVtYWEgKEhhYXBzYWx1KSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1BBJywnbmFtZSc6J1Bhcm51bWFhIChQYXJudSknfSwNCiAgICAnOScgOiB7J2NvZGUnOidQTycsJ25hbWUnOidQb2x2YW1hYSAoUG9sdmEpJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1JBJywnbmFtZSc6J1JhcGxhbWFhIChSYXBsYSknfSwNCiAgICAnMTEnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2FhcmVtYWEgKEt1ZXNzYWFyZSknfSwNCiAgICAnMTInIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFydHVtYWEgKFRhcnR1KSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidWQScsJ25hbWUnOidWYWxnYW1hYSAoVmFsZ2EpJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1ZJJywnbmFtZSc6J1ZpbGphbmRpbWFhIChWaWxqYW5kaSknfSwNCiAgICAnMTUnIDogeydjb2RlJzonVk8nLCduYW1lJzonVm9ydW1hYSAoVm9ydSknfQ0KICB9LA0KICAnRVQnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBRicsJ25hbWUnOidBZmFyJ30sDQogICAgJzInIDogeydjb2RlJzonQUgnLCduYW1lJzonQW1oYXJhJ30sDQogICAgJzMnIDogeydjb2RlJzonQkcnLCduYW1lJzonQmVuaXNoYW5ndWwtR3VtYXonfSwNCiAgICAnNCcgOiB7J2NvZGUnOidHQicsJ25hbWUnOidHYW1iZWxhJ30sDQogICAgJzUnIDogeydjb2RlJzonSFInLCduYW1lJzonSGFyaWFpJ30sDQogICAgJzYnIDogeydjb2RlJzonT1InLCduYW1lJzonT3JvbWlhJ30sDQogICAgJzcnIDogeydjb2RlJzonU00nLCduYW1lJzonU29tYWxpJ30sDQogICAgJzgnIDogeydjb2RlJzonU04nLCduYW1lJzonU291dGhlcm4gTmF0aW9ucyAtIE5hdGlvbmFsaXRpZXMnfSwNCiAgICAnOScgOiB7J2NvZGUnOidURycsJ25hbWUnOidUaWdyYXknfSwNCiAgICAnMTAnIDogeydjb2RlJzonQUEnLCduYW1lJzonQWRkaXMgQWJhYmEnfSwNCiAgICAnMTEnIDogeydjb2RlJzonREQnLCduYW1lJzonRGlyZSBEYXdhJ30NCiAgfSwNCiAgJ0ZPJzp7DQogICAgJzEnIDogeydjb2RlJzonVMObUicsJ25hbWUnOidUw7tyc2hhdm5hciBLb21tdW5hJ30sDQogICAgJzInIDogeydjb2RlJzonS0xBJywnbmFtZSc6J0tsYWtzdsOtayd9LA0KICAgICczJyA6IHsnY29kZSc6J1JVTicsJ25hbWUnOidSdW5hdsOtayd9LA0KICAgICc0JyA6IHsnY29kZSc6J1RWw5gnLCduYW1lJzonVHbDuHJveXJpJ30sDQogICAgJzUnIDogeydjb2RlJzonRlVHJywnbmFtZSc6J0Z1Z2xhZmrDuHLDsHVyJ30sDQogICAgJzYnIDogeydjb2RlJzonU1VOJywnbmFtZSc6J1N1bmRhIEtvbW11bmEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidWw6FHJywnbmFtZSc6J1bDoWd1cid9LA0KICAgICc4JyA6IHsnY29kZSc6J05FUycsJ25hbWUnOidOZXMnfSwNCiAgICAnOScgOiB7J2NvZGUnOidWRVMnLCduYW1lJzonVmVzdG1hbm5hJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01Jw7AnLCduYW1lJzonTWnDsHbDoWd1cid9LA0KICAgICcxMScgOiB7J2NvZGUnOidTw5hSJywnbmFtZSc6J1PDuHJ2w6FndXInfSwNCiAgICAnMTInIDogeydjb2RlJzonR8OYVCcsJ25hbWUnOidHw7h0dSBLb21tdW5hJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1NKw7snLCduYW1lJzonU2rDu3ZhciBLb21tdW5hJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0xFSScsJ25hbWUnOidMZWlydsOtayd9LA0KICAgICcxNScgOiB7J2NvZGUnOidTQU4nLCduYW1lJzonU2FuZGF2w6FndXInfSwNCiAgICAnMTYnIDogeydjb2RlJzonSFZBJywnbmFtZSc6J0h2YWxiYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidFScOwJywnbmFtZSc6J0Vpw7BpJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0tWw60nLCduYW1lJzonS3bDrXbDrWsnfSwNCiAgICAnMTknIDogeydjb2RlJzonU0FOJywnbmFtZSc6J1NhbmR1cid9LA0KICAgICcyMCcgOiB7J2NvZGUnOidTS08nLCduYW1lJzonU2tvcHVuJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J0hWQScsJ25hbWUnOidIdmFubmFzdW5kJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J1NVTScsJ25hbWUnOidTdW1iYSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidWScOwJywnbmFtZSc6J1Zpw7BhcmVpw7BpJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1BPUicsJ25hbWUnOidQb3JrZXJpJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J1NLw6EnLCduYW1lJzonU2vDoWxhdsOtayd9LA0KICAgICcyNicgOiB7J2NvZGUnOidLVU4nLCduYW1lJzonS3Vub3knfSwNCiAgICAnMjcnIDogeydjb2RlJzonSMOaUycsJ25hbWUnOidIw5pzYXbDrWsnfSwNCiAgICAnMjgnIDogeydjb2RlJzonSE9WJywnbmFtZSc6J0hvdid9LA0KICAgICcyOScgOiB7J2NvZGUnOidGw6FNJywnbmFtZSc6J0bDoW1qaW4nfSwNCiAgICAnMzAnIDogeydjb2RlJzonRlVOJywnbmFtZSc6J0Z1bm5pbmd1cid9LA0KICAgICczMScgOiB7J2NvZGUnOidIw5pTJywnbmFtZSc6J0jDmnNhcid9LA0KICAgICczMicgOiB7J2NvZGUnOidTS8OaJywnbmFtZSc6J1Nrw5p2b3knfSwNCiAgICAnMzMnIDogeydjb2RlJzonU1bDrScsJ25hbWUnOidTdsOtbm95J30sDQogICAgJzM0JyA6IHsnY29kZSc6J0ZVRycsJ25hbWUnOidGdWdsb3knfQ0KICB9LA0KICAnRkonOnsNCiAgICAnMScgOiB7J2NvZGUnOidDJywnbmFtZSc6J0NlbnRyYWwgRGl2aXNpb24nfSwNCiAgICAnMicgOiB7J2NvZGUnOidFJywnbmFtZSc6J0Vhc3Rlcm4gRGl2aXNpb24nfSwNCiAgICAnMycgOiB7J2NvZGUnOidOJywnbmFtZSc6J05vcnRoZXJuIERpdmlzaW9uJ30sDQogICAgJzQnIDogeydjb2RlJzonUicsJ25hbWUnOidSb3R1bWEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidXJywnbmFtZSc6J1dlc3Rlcm4gRGl2aXNpb24nfQ0KICB9LA0KICAnRkknOnsNCiAgICAnMScgOiB7J2NvZGUnOidBTCcsJ25hbWUnOidBaHZlbmFubWFhbiBMYWFuaSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0VTJywnbmFtZSc6J0V0ZWxhLVN1b21lbiBMYWFuaSd9LA0KICAgICczJyA6IHsnY29kZSc6J0lTJywnbmFtZSc6J0l0YS1TdW9tZW4gTGFhbmknfSwNCiAgICAnNCcgOiB7J2NvZGUnOidMUycsJ25hbWUnOidMYW5zaS1TdW9tZW4gTGFhbmknfSwNCiAgICAnNScgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYXBpbiBMYW5hbmknfSwNCiAgICAnNicgOiB7J2NvZGUnOidPVScsJ25hbWUnOidPdWx1biBMYWFuaSd9DQogIH0sDQogICdGUic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0Fsc2FjZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FRJywnbmFtZSc6J0FxdWl0YWluZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0FVJywnbmFtZSc6J0F1dmVyZ25lJ30sDQogICAgJzQnIDogeydjb2RlJzonQlInLCduYW1lJzonQnJpdHRhbnknfSwNCiAgICAnNScgOiB7J2NvZGUnOidCVScsJ25hbWUnOidCdXJndW5keSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0NFJywnbmFtZSc6J0NlbnRlciBMb2lyZSBWYWxsZXknfSwNCiAgICAnNycgOiB7J2NvZGUnOidDSCcsJ25hbWUnOidDaGFtcGFnbmUnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidDTycsJ25hbWUnOidDb3JzZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0ZSJywnbmFtZSc6J0ZyYW5jZSBDb210ZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYW5ndWVkb2MgUm91c3NpbGxvbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidMSScsJ25hbWUnOidMaW1vdXNpbid9LA0KICAgICcxMicgOiB7J2NvZGUnOidMTycsJ25hbWUnOidMb3JyYWluZSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNaWRpIFB5cmVuZWVzJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J05PJywnbmFtZSc6J05vcmQgUGFzIGRlIENhbGFpcyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidOUicsJ25hbWUnOidOb3JtYW5keSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQYXJpcyAvIElsZSBkZSBGcmFuY2UnfSwNCiAgICAnMTcnIDogeydjb2RlJzonUEknLCduYW1lJzonUGljYXJkaWUnfSwNCiAgICAnMTgnIDogeydjb2RlJzonUE8nLCduYW1lJzonUG9pdG91IENoYXJlbnRlJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1BSJywnbmFtZSc6J1Byb3ZlbmNlJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1JIJywnbmFtZSc6J1Job25lIEFscHMnfSwNCiAgICAnMjEnIDogeydjb2RlJzonUkknLCduYW1lJzonUml2aWVyYSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidXRScsJ25hbWUnOidXZXN0ZXJuIExvaXJlIFZhbGxleSd9DQogIH0sDQogICdGWCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0V0JywnbmFtZSc6J0V0cmFuZ2VyJ30sDQogICAgJzInIDogeydjb2RlJzonMDEnLCduYW1lJzonQWluJ30sDQogICAgJzMnIDogeydjb2RlJzonMDInLCduYW1lJzonQWlzbmUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOicwMycsJ25hbWUnOidBbGxpZXInfSwNCiAgICAnNScgOiB7J2NvZGUnOicwNCcsJ25hbWUnOidBbHBlcyBkZSBIYXV0ZSBQcm92ZW5jZSd9LA0KICAgICc2JyA6IHsnY29kZSc6JzA1JywnbmFtZSc6J0hhdXRlcy1BbHBlcyd9LA0KICAgICc3JyA6IHsnY29kZSc6JzA2JywnbmFtZSc6J0FscGVzIE1hcml0aW1lcyd9LA0KICAgICc4JyA6IHsnY29kZSc6JzA3JywnbmFtZSc6J0FyZMOoY2hlJ30sDQogICAgJzknIDogeydjb2RlJzonMDgnLCduYW1lJzonQXJkZW5uZXMnfSwNCiAgICAnMTAnIDogeydjb2RlJzonMDknLCduYW1lJzonQXJpw6hnZSd9LA0KICAgICcxMScgOiB7J2NvZGUnOicxMCcsJ25hbWUnOidBdWJlJ30sDQogICAgJzEyJyA6IHsnY29kZSc6JzExJywnbmFtZSc6J0F1ZGUnfSwNCiAgICAnMTMnIDogeydjb2RlJzonMTInLCduYW1lJzonQXZleXJvbid9LA0KICAgICcxNCcgOiB7J2NvZGUnOicxMycsJ25hbWUnOidCb3VjaGVzIGR1IFJow7RuZSd9LA0KICAgICcxNScgOiB7J2NvZGUnOicxNCcsJ25hbWUnOidDYWx2YWRvcyd9LA0KICAgICcxNicgOiB7J2NvZGUnOicxNScsJ25hbWUnOidDYW50YWwnfSwNCiAgICAnMTcnIDogeydjb2RlJzonMTYnLCduYW1lJzonQ2hhcmVudGUnfSwNCiAgICAnMTgnIDogeydjb2RlJzonMTcnLCduYW1lJzonQ2hhcmVudGUgTWFyaXRpbWUnfSwNCiAgICAnMTknIDogeydjb2RlJzonMTgnLCduYW1lJzonQ2hlcid9LA0KICAgICcyMCcgOiB7J2NvZGUnOicxOScsJ25hbWUnOidDb3Jyw6h6ZSd9LA0KICAgICcyMScgOiB7J2NvZGUnOicyQScsJ25hbWUnOidDb3JzZSBkdSBTdWQnfSwNCiAgICAnMjInIDogeydjb2RlJzonMkInLCduYW1lJzonSGF1dGUgQ29yc2UnfSwNCiAgICAnMjMnIDogeydjb2RlJzonMjEnLCduYW1lJzonQ8O0dGUgZFwnb3InfSwNCiAgICAnMjQnIDogeydjb2RlJzonMjInLCduYW1lJzonQ8O0dGVzIGRcJ0FybW9yJ30sDQogICAgJzI1JyA6IHsnY29kZSc6JzIzJywnbmFtZSc6J0NyZXVzZSd9LA0KICAgICcyNicgOiB7J2NvZGUnOicyNCcsJ25hbWUnOidEb3Jkb2duZSd9LA0KICAgICcyNycgOiB7J2NvZGUnOicyNScsJ25hbWUnOidEb3Vicyd9LA0KICAgICcyOCcgOiB7J2NvZGUnOicyNicsJ25hbWUnOidEcsO0bWUnfSwNCiAgICAnMjknIDogeydjb2RlJzonMjcnLCduYW1lJzonRXVyZSd9LA0KICAgICczMCcgOiB7J2NvZGUnOicyOCcsJ25hbWUnOidFdXJlIGV0IExvaXInfSwNCiAgICAnMzEnIDogeydjb2RlJzonMjknLCduYW1lJzonRmluaXN0w6hyZSd9LA0KICAgICczMicgOiB7J2NvZGUnOiczMCcsJ25hbWUnOidHYXJkJ30sDQogICAgJzMzJyA6IHsnY29kZSc6JzMxJywnbmFtZSc6J0hhdXRlIEdhcm9ubmUnfSwNCiAgICAnMzQnIDogeydjb2RlJzonMzInLCduYW1lJzonR2Vycyd9LA0KICAgICczNScgOiB7J2NvZGUnOiczMycsJ25hbWUnOidHaXJvbmRlJ30sDQogICAgJzM2JyA6IHsnY29kZSc6JzM0JywnbmFtZSc6J0jDqXJhdWx0J30sDQogICAgJzM3JyA6IHsnY29kZSc6JzM1JywnbmFtZSc6J0lsbGUgZXQgVmlsYWluZSd9LA0KICAgICczOCcgOiB7J2NvZGUnOiczNicsJ25hbWUnOidJbmRyZSd9LA0KICAgICczOScgOiB7J2NvZGUnOiczNycsJ25hbWUnOidJbmRyZSBldCBMb2lyZSd9LA0KICAgICc0MCcgOiB7J2NvZGUnOiczOCcsJ25hbWUnOidJc8OpcmUnfSwNCiAgICAnNDEnIDogeydjb2RlJzonMzknLCduYW1lJzonSnVyYSd9LA0KICAgICc0MicgOiB7J2NvZGUnOic0MCcsJ25hbWUnOidMYW5kZXMnfSwNCiAgICAnNDMnIDogeydjb2RlJzonNDEnLCduYW1lJzonTG9pciBldCBDaGVyJ30sDQogICAgJzQ0JyA6IHsnY29kZSc6JzQyJywnbmFtZSc6J0xvaXJlJ30sDQogICAgJzQ1JyA6IHsnY29kZSc6JzQzJywnbmFtZSc6J0hhdXRlIExvaXJlJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6JzQ0JywnbmFtZSc6J0xvaXJlIEF0bGFudGlxdWUnfSwNCiAgICAnNDcnIDogeydjb2RlJzonNDUnLCduYW1lJzonTG9pcmV0J30sDQogICAgJzQ4JyA6IHsnY29kZSc6JzQ2JywnbmFtZSc6J0xvdCd9LA0KICAgICc0OScgOiB7J2NvZGUnOic0NycsJ25hbWUnOidMb3QgZXQgR2Fyb25uZSd9LA0KICAgICc1MCcgOiB7J2NvZGUnOic0OCcsJ25hbWUnOidMb3rDqHJlJ30sDQogICAgJzUxJyA6IHsnY29kZSc6JzQ5JywnbmFtZSc6J01haW5lIGV0IExvaXJlJ30sDQogICAgJzUyJyA6IHsnY29kZSc6JzUwJywnbmFtZSc6J01hbmNoZSd9LA0KICAgICc1MycgOiB7J2NvZGUnOic1MScsJ25hbWUnOidNYXJuZSd9LA0KICAgICc1NCcgOiB7J2NvZGUnOic1MicsJ25hbWUnOidIYXV0ZSBNYXJuZSd9LA0KICAgICc1NScgOiB7J2NvZGUnOic1MycsJ25hbWUnOidNYXllbm5lJ30sDQogICAgJzU2JyA6IHsnY29kZSc6JzU0JywnbmFtZSc6J01ldXJ0aGUgZXQgTW9zZWxsZSd9LA0KICAgICc1NycgOiB7J2NvZGUnOic1NScsJ25hbWUnOidNZXVzZSd9LA0KICAgICc1OCcgOiB7J2NvZGUnOic1NicsJ25hbWUnOidNb3JiaWhhbid9LA0KICAgICc1OScgOiB7J2NvZGUnOic1NycsJ25hbWUnOidNb3NlbGxlJ30sDQogICAgJzYwJyA6IHsnY29kZSc6JzU4JywnbmFtZSc6J05pw6h2cmUnfSwNCiAgICAnNjEnIDogeydjb2RlJzonNTknLCduYW1lJzonTm9yZCd9LA0KICAgICc2MicgOiB7J2NvZGUnOic2MCcsJ25hbWUnOidPaXNlJ30sDQogICAgJzYzJyA6IHsnY29kZSc6JzYxJywnbmFtZSc6J09ybmUnfSwNCiAgICAnNjQnIDogeydjb2RlJzonNjInLCduYW1lJzonUGFzIGRlIENhbGFpcyd9LA0KICAgICc2NScgOiB7J2NvZGUnOic2MycsJ25hbWUnOidQdXkgZGUgRMO0bWUnfSwNCiAgICAnNjYnIDogeydjb2RlJzonNjQnLCduYW1lJzonUHlyZW5lZXMgQXRsYW50aXF1ZSd9LA0KICAgICc2NycgOiB7J2NvZGUnOic2NScsJ25hbWUnOidIYXV0ZXMgUHlyZW5lZXMnfSwNCiAgICAnNjgnIDogeydjb2RlJzonNjYnLCduYW1lJzonUHlyZW5lZXMgT3JpZW50YWxlJ30sDQogICAgJzY5JyA6IHsnY29kZSc6JzY3JywnbmFtZSc6J0JhcyBSaGluJ30sDQogICAgJzcwJyA6IHsnY29kZSc6JzY4JywnbmFtZSc6J0hhdXQgUmhpbid9LA0KICAgICc3MScgOiB7J2NvZGUnOic2OScsJ25hbWUnOidSaMO0bmUnfSwNCiAgICAnNzInIDogeydjb2RlJzonNzAnLCduYW1lJzonSGF1dGUgU2HDtG5lJ30sDQogICAgJzczJyA6IHsnY29kZSc6JzcxJywnbmFtZSc6J1Nhw7RuZSBldCBMb2lyZSd9LA0KICAgICc3NCcgOiB7J2NvZGUnOic3MicsJ25hbWUnOidTYXJ0aGUnfSwNCiAgICAnNzUnIDogeydjb2RlJzonNzMnLCduYW1lJzonU2F2b2llJ30sDQogICAgJzc2JyA6IHsnY29kZSc6Jzc0JywnbmFtZSc6J0hhdXRlIFNhdm9pZSd9LA0KICAgICc3NycgOiB7J2NvZGUnOic3NScsJ25hbWUnOidQYXJpcyd9LA0KICAgICc3OCcgOiB7J2NvZGUnOic3NicsJ25hbWUnOidTZWluZSBNYXJ0aXRpbWUnfSwNCiAgICAnNzknIDogeydjb2RlJzonNzcnLCduYW1lJzonU2VpbmUgZXQgTWFybmUnfSwNCiAgICAnODAnIDogeydjb2RlJzonNzgnLCduYW1lJzonWXZlbGluZXMnfSwNCiAgICAnODEnIDogeydjb2RlJzonNzknLCduYW1lJzonRGV1eCBTw6h2cmVzJ30sDQogICAgJzgyJyA6IHsnY29kZSc6JzgwJywnbmFtZSc6J1NvbW1lJ30sDQogICAgJzgzJyA6IHsnY29kZSc6JzgxJywnbmFtZSc6J1Rhcm4nfSwNCiAgICAnODQnIDogeydjb2RlJzonODInLCduYW1lJzonVGFybiBldCBHYXJvbm5lJ30sDQogICAgJzg1JyA6IHsnY29kZSc6JzgzJywnbmFtZSc6J1Zhcid9LA0KICAgICc4NicgOiB7J2NvZGUnOic4NCcsJ25hbWUnOidWYXVjbHVzZSd9LA0KICAgICc4NycgOiB7J2NvZGUnOic4NScsJ25hbWUnOidWZW5kw6llJ30sDQogICAgJzg4JyA6IHsnY29kZSc6Jzg2JywnbmFtZSc6J1ZpZW5uZSd9LA0KICAgICc4OScgOiB7J2NvZGUnOic4NycsJ25hbWUnOidIYXV0ZSBWaWVubmUnfSwNCiAgICAnOTAnIDogeydjb2RlJzonODgnLCduYW1lJzonVm9zZ2VzJ30sDQogICAgJzkxJyA6IHsnY29kZSc6Jzg5JywnbmFtZSc6J1lvbm5lJ30sDQogICAgJzkyJyA6IHsnY29kZSc6JzkwJywnbmFtZSc6J1RlcnJpdG9pcmUgZGUgQmVsZm9ydCd9LA0KICAgICc5MycgOiB7J2NvZGUnOic5MScsJ25hbWUnOidFc3Nvbm5lJ30sDQogICAgJzk0JyA6IHsnY29kZSc6JzkyJywnbmFtZSc6J0hhdXRzIGRlIFNlaW5lJ30sDQogICAgJzk1JyA6IHsnY29kZSc6JzkzJywnbmFtZSc6J1NlaW5lIFN0LURlbmlzJ30sDQogICAgJzk2JyA6IHsnY29kZSc6Jzk0JywnbmFtZSc6J1ZhbCBkZSBNYXJuZSd9LA0KICAgICc5NycgOiB7J2NvZGUnOic5NScsJ25hbWUnOidWYWwgZFwnb2lzZSd9DQogIH0sDQogICdHRic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FXQScsJ25hbWUnOidBd2FsYS1ZYWxpbWFwbyd9LA0KICAgICcyJyA6IHsnY29kZSc6J01BTicsJ25hbWUnOidNYW5hJ30sDQogICAgJzMnIDogeydjb2RlJzonU0FJJywnbmFtZSc6J1NhaW50LUxhdXJlbnQtRHUtTWFyb25pJ30sDQogICAgJzQnIDogeydjb2RlJzonQVBBJywnbmFtZSc6J0FwYXRvdSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0dSQScsJ25hbWUnOidHcmFuZC1TYW50aSd9LA0KICAgICc2JyA6IHsnY29kZSc6J1BBUCcsJ25hbWUnOidQYXBhw69jaHRvbid9LA0KICAgICc3JyA6IHsnY29kZSc6J1NBw5wnLCduYW1lJzonU2HDnGwnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidNQVInLCduYW1lJzonTWFyaXBhc291bGEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidDQU0nLCduYW1lJzonQ2Ftb3BpJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1NBSScsJ25hbWUnOidTYWludC1HZW9yZ2VzJ30sDQogICAgJzExJyA6IHsnY29kZSc6J09VQScsJ25hbWUnOidPdWFuYXJ5J30sDQogICAgJzEyJyA6IHsnY29kZSc6J1LDqUcnLCduYW1lJzonUsOpZ2luYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidST1UnLCduYW1lJzonUm91cmEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonU0FJJywnbmFtZSc6J1NhaW50LcOpbGllJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0lSQScsJ25hbWUnOidJcmFjb3Vibyd9LA0KICAgICcxNicgOiB7J2NvZGUnOidTSU4nLCduYW1lJzonU2lubmFtYXJ5J30sDQogICAgJzE3JyA6IHsnY29kZSc6J0tPVScsJ25hbWUnOidLb3Vyb3UnfSwNCiAgICAnMTgnIDogeydjb2RlJzonTUFDJywnbmFtZSc6J01hY291cmlhJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J01PTicsJ25hbWUnOidNb250c2luw6lyeS1Ub25uZWdyYW5kZSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidNQVQnLCduYW1lJzonTWF0b3VyeSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidDQVknLCduYW1lJzonQ2F5ZW5uZSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidSRU0nLCduYW1lJzonUmVtaXJlLU1vbnRqb2x5J30NCiAgfSwNCiAgJ1BGJzp7DQogICAgJzEnIDogeydjb2RlJzonTScsJ25hbWUnOidBcmNoaXBlbCBkZXMgTWFycXVpc2VzJ30sDQogICAgJzInIDogeydjb2RlJzonVCcsJ25hbWUnOidBcmNoaXBlbCBkZXMgVHVhbW90dSd9LA0KICAgICczJyA6IHsnY29kZSc6J0knLCduYW1lJzonQXJjaGlwZWwgZGVzIFR1YnVhaSd9LA0KICAgICc0JyA6IHsnY29kZSc6J1YnLCduYW1lJzonSWxlcyBkdSBWZW50J30sDQogICAgJzUnIDogeydjb2RlJzonUycsJ25hbWUnOidJbGVzIFNvdXMtbGUtVmVudCd9DQogIH0sDQogICdURic6ew0KICAgICcxJyA6IHsnY29kZSc6J0MnLCduYW1lJzonSWxlcyBDcm96ZXQnfSwNCiAgICAnMicgOiB7J2NvZGUnOidLJywnbmFtZSc6J0lsZXMgS2VyZ3VlbGVuJ30sDQogICAgJzMnIDogeydjb2RlJzonQScsJ25hbWUnOidJbGUgQW1zdGVyZGFtJ30sDQogICAgJzQnIDogeydjb2RlJzonUCcsJ25hbWUnOidJbGUgU2FpbnQtUGF1bCd9LA0KICAgICc1JyA6IHsnY29kZSc6J0QnLCduYW1lJzonQWRlbGllIExhbmQnfQ0KICB9LA0KICAnR0EnOnsNCiAgICAnMScgOiB7J2NvZGUnOidFUycsJ25hbWUnOidFc3R1YWlyZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0hPJywnbmFtZSc6J0hhdXQtT2dvb3VlJ30sDQogICAgJzMnIDogeydjb2RlJzonTU8nLCduYW1lJzonTW95ZW4tT2dvb3VlJ30sDQogICAgJzQnIDogeydjb2RlJzonTkcnLCduYW1lJzonTmdvdW5pZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J05ZJywnbmFtZSc6J055YW5nYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J09JJywnbmFtZSc6J09nb291ZS1JdmluZG8nfSwNCiAgICAnNycgOiB7J2NvZGUnOidPTCcsJ25hbWUnOidPZ29vdWUtTG9sbyd9LA0KICAgICc4JyA6IHsnY29kZSc6J09NJywnbmFtZSc6J09nb291ZS1NYXJpdGltZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J1dOJywnbmFtZSc6J1dvbGV1LU50ZW0nfQ0KICB9LA0KICAnR00nOnsNCiAgICAnMScgOiB7J2NvZGUnOidCSicsJ25hbWUnOidCYW5qdWwnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCUycsJ25hbWUnOidCYXNzZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0JSJywnbmFtZSc6J0JyaWthbWEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidKQScsJ25hbWUnOidKYW5qYW5nYnVyZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0tBJywnbmFtZSc6J0thbmlmZW5nJ30sDQogICAgJzYnIDogeydjb2RlJzonS0UnLCduYW1lJzonS2VyZXdhbid9LA0KICAgICc3JyA6IHsnY29kZSc6J0tVJywnbmFtZSc6J0t1bnRhdXInfSwNCiAgICAnOCcgOiB7J2NvZGUnOidNQScsJ25hbWUnOidNYW5zYWtvbmtvJ30sDQogICAgJzknIDogeydjb2RlJzonTFInLCduYW1lJzonTG93ZXIgUml2ZXInfSwNCiAgICAnMTAnIDogeydjb2RlJzonQ1InLCduYW1lJzonQ2VudHJhbCBSaXZlcid9LA0KICAgICcxMScgOiB7J2NvZGUnOidOQicsJ25hbWUnOidOb3J0aCBCYW5rJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J1VSJywnbmFtZSc6J1VwcGVyIFJpdmVyJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1dFJywnbmFtZSc6J1dlc3Rlcm4nfQ0KICB9LA0KICAnR0UnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBYmtoYXppYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FKJywnbmFtZSc6J0FqYXJpYSd9LA0KICAgICczJyA6IHsnY29kZSc6J0dVJywnbmFtZSc6J0d1cmlhJ30sDQogICAgJzQnIDogeydjb2RlJzonSU0nLCduYW1lJzonSW1lcmV0aSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0tBJywnbmFtZSc6J0tha2hldGknfSwNCiAgICAnNicgOiB7J2NvZGUnOidLSycsJ25hbWUnOidLdmVtbyBLYXJ0bGknfSwNCiAgICAnNycgOiB7J2NvZGUnOidNTScsJ25hbWUnOidNdHNraGV0YS1NdGlhbmV0aSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1JMJywnbmFtZSc6J1JhY2hhIExlY2hraHVtaSBhbmQgS3ZlbW8gU3ZhbmV0J30sDQogICAgJzknIDogeydjb2RlJzonU0onLCduYW1lJzonU2FtdHNraGUtSmF2YWtoZXRpJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1NLJywnbmFtZSc6J1NoaWRhIEthcnRsaSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidTWicsJ25hbWUnOidTYW1lZ3JlbG8tWmVtbyBTdmFuZXRpJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J1RCJywnbmFtZSc6J1RiaWxpc2knfQ0KICB9LA0KICAnREUnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCQVcnLCduYW1lJzonQmFkZW4tV8O8cnR0ZW1iZXJnJ30sDQogICAgJzInIDogeydjb2RlJzonQkFZJywnbmFtZSc6J0JheWVybid9LA0KICAgICczJyA6IHsnY29kZSc6J0JFUicsJ25hbWUnOidCZXJsaW4nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidCUkcnLCduYW1lJzonQnJhbmRlbmJ1cmcnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCUkUnLCduYW1lJzonQnJlbWVuJ30sDQogICAgJzYnIDogeydjb2RlJzonSEFNJywnbmFtZSc6J0hhbWJ1cmcnfSwNCiAgICAnNycgOiB7J2NvZGUnOidIRVMnLCduYW1lJzonSGVzc2VuJ30sDQogICAgJzgnIDogeydjb2RlJzonTUVDJywnbmFtZSc6J01lY2tsZW5idXJnLVZvcnBvbW1lcm4nfSwNCiAgICAnOScgOiB7J2NvZGUnOidORFMnLCduYW1lJzonTmllZGVyc2FjaHNlbid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidOUlcnLCduYW1lJzonTm9yZHJoZWluLVdlc3RmYWxlbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidSSEUnLCduYW1lJzonUmhlaW5sYW5kLVBmYWx6J30sDQogICAgJzEyJyA6IHsnY29kZSc6J1NBUicsJ25hbWUnOidTYWFybGFuZCd9LA0KICAgICcxMycgOiB7J2NvZGUnOidTQVMnLCduYW1lJzonU2FjaHNlbid9LA0KICAgICcxNCcgOiB7J2NvZGUnOidTQUMnLCduYW1lJzonU2FjaHNlbi1BbmhhbHQnfSwNCiAgICAnMTUnIDogeydjb2RlJzonU0NOJywnbmFtZSc6J1NjaGxlc3dpZy1Ib2xzdGVpbid9LA0KICAgICcxNicgOiB7J2NvZGUnOidUSEUnLCduYW1lJzonVGjDvHJpbmdlbid9DQogIH0sDQogICdHSCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FTJywnbmFtZSc6J0FzaGFudGkgUmVnaW9uJ30sDQogICAgJzInIDogeydjb2RlJzonQkEnLCduYW1lJzonQnJvbmctQWhhZm8gUmVnaW9uJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0UnLCduYW1lJzonQ2VudHJhbCBSZWdpb24nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidFQScsJ25hbWUnOidFYXN0ZXJuIFJlZ2lvbid9LA0KICAgICc1JyA6IHsnY29kZSc6J0dBJywnbmFtZSc6J0dyZWF0ZXIgQWNjcmEgUmVnaW9uJ30sDQogICAgJzYnIDogeydjb2RlJzonTk8nLCduYW1lJzonTm9ydGhlcm4gUmVnaW9uJ30sDQogICAgJzcnIDogeydjb2RlJzonVUUnLCduYW1lJzonVXBwZXIgRWFzdCBSZWdpb24nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidVVycsJ25hbWUnOidVcHBlciBXZXN0IFJlZ2lvbid9LA0KICAgICc5JyA6IHsnY29kZSc6J1ZPJywnbmFtZSc6J1ZvbHRhIFJlZ2lvbid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidXRScsJ25hbWUnOidXZXN0ZXJuIFJlZ2lvbid9DQogIH0sDQogICdHSSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0VBUycsJ25hbWUnOidFYXN0IFNpZGUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidOT1InLCduYW1lJzonTm9ydGggRGlzdHJpY3QnfSwNCiAgICAnMycgOiB7J2NvZGUnOidSRUMnLCduYW1lJzonUmVjbGFtYXRpb24gQXJlYXMnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidTQU4nLCduYW1lJzonU2FuZHBpdHMgQXJlYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J1NPVScsJ25hbWUnOidTb3V0aCBEaXN0cmljdCd9LA0KICAgICc2JyA6IHsnY29kZSc6J1RPVycsJ25hbWUnOidUb3duIEFyZWEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidVUFAnLCduYW1lJzonVXBwZXIgVG93bid9LA0KICAgICc4JyA6IHsnY29kZSc6J09USCcsJ25hbWUnOidPdGhlcid9DQogIH0sDQogICdHUic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FUJywnbmFtZSc6J0F0dGljYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NOJywnbmFtZSc6J0NlbnRyYWwgR3JlZWNlJ30sDQogICAgJzMnIDogeydjb2RlJzonQ00nLCduYW1lJzonQ2VudHJhbCBNYWNlZG9uaWEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDUicsJ25hbWUnOidDcmV0ZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0VNJywnbmFtZSc6J0Vhc3QgTWFjZWRvbmlhIGFuZCBUaHJhY2UnfSwNCiAgICAnNicgOiB7J2NvZGUnOidFUCcsJ25hbWUnOidFcGlydXMnfSwNCiAgICAnNycgOiB7J2NvZGUnOidJSScsJ25hbWUnOidJb25pYW4gSXNsYW5kcyd9LA0KICAgICc4JyA6IHsnY29kZSc6J05BJywnbmFtZSc6J05vcnRoIEFlZ2Vhbid9LA0KICAgICc5JyA6IHsnY29kZSc6J1BQJywnbmFtZSc6J1BlbG9wb25uZXNvcyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTb3V0aCBBZWdlYW4nfSwNCiAgICAnMTEnIDogeydjb2RlJzonVEgnLCduYW1lJzonVGhlc3NhbHknfSwNCiAgICAnMTInIDogeydjb2RlJzonV0cnLCduYW1lJzonV2VzdCBHcmVlY2UnfSwNCiAgICAnMTMnIDogeydjb2RlJzonV00nLCduYW1lJzonV2VzdCBNYWNlZG9uaWEnfQ0KICB9LA0KICAnR0wnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBJywnbmFtZSc6J0F2YW5uYWEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidUJywnbmFtZSc6J1R1bnUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidLJywnbmFtZSc6J0tpdGFhJ30NCiAgfSwNCiAgJzg2Jzp7DQogICAgJzEnIDogeydjb2RlJzonQScsJ25hbWUnOidTYWludCBBbmRyZXcnfSwNCiAgICAnMicgOiB7J2NvZGUnOidEJywnbmFtZSc6J1NhaW50IERhdmlkJ30sDQogICAgJzMnIDogeydjb2RlJzonRycsJ25hbWUnOidTYWludCBHZW9yZ2UnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidKJywnbmFtZSc6J1NhaW50IEpvaG4nfSwNCiAgICAnNScgOiB7J2NvZGUnOidNJywnbmFtZSc6J1NhaW50IE1hcmsnfSwNCiAgICAnNicgOiB7J2NvZGUnOidQJywnbmFtZSc6J1NhaW50IFBhdHJpY2snfSwNCiAgICAnNycgOiB7J2NvZGUnOidDJywnbmFtZSc6J0NhcnJpYWNvdSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1EnLCduYW1lJzonUGV0aXQgTWFydGluaXF1ZSd9DQogIH0sDQogICdHUCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FSUicsJ25hbWUnOidBcnJvbmRpc3NlbWVudHMgT2YgVGhlIEd1YWRlbG91cCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NBTicsJ25hbWUnOidDYW50b25zIE9mIFRoZSBHdWFkZWxvdXAgRGVwYXJ0J30sDQogICAgJzMnIDogeydjb2RlJzonQ09NJywnbmFtZSc6J0NvbW11bmVzIE9mIFRoZSBHdWFkZWxvdXAgRGVwYXJ0J30NCiAgfSwNCiAgJ0dVJzp7DQogICAgJzEnIDogeydjb2RlJzonQUdBJywnbmFtZSc6J0FnYW5hIEhlaWdodHMnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBR0EnLCduYW1lJzonQWdhdCd9LA0KICAgICczJyA6IHsnY29kZSc6J0FTQScsJ25hbWUnOidBc2FuIE1haW5hJ30sDQogICAgJzQnIDogeydjb2RlJzonQkFSJywnbmFtZSc6J0JhcnJpZ2FkYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0NIQScsJ25hbWUnOidDaGFsYW4gUGFnbyBPcmRvdCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0RFRCcsJ25hbWUnOidEZWRlZG8nfSwNCiAgICAnNycgOiB7J2NvZGUnOidIQUcnLCduYW1lJzonSGFnw4V0w7FhJ30sDQogICAgJzgnIDogeydjb2RlJzonSU5BJywnbmFtZSc6J0luYXJhamFuJ30sDQogICAgJzknIDogeydjb2RlJzonTUFOJywnbmFtZSc6J01hbmdpbGFvJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01FUicsJ25hbWUnOidNZXJpem8nfSwNCiAgICAnMTEnIDogeydjb2RlJzonTU9OJywnbmFtZSc6J01vbmdtb25nIFRvdG8gTWFpdGUnfSwNCiAgICAnMTInIDogeydjb2RlJzonUElUJywnbmFtZSc6J1BpdGknfSwNCiAgICAnMTMnIDogeydjb2RlJzonU0FOJywnbmFtZSc6J1NhbnRhIFJpdGEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonU0lOJywnbmFtZSc6J1NpbmFqYW5hJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1RBTCcsJ25hbWUnOidUYWxvZm9mbyd9LA0KICAgICcxNicgOiB7J2NvZGUnOidUQU0nLCduYW1lJzonVGFtdW5pbmcnfSwNCiAgICAnMTcnIDogeydjb2RlJzonVU1BJywnbmFtZSc6J1VtYXRhYyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidZSUcnLCduYW1lJzonWWlnbyd9LA0KICAgICcxOScgOiB7J2NvZGUnOidZT04nLCduYW1lJzonWW9uYSd9DQogIH0sDQogICdHVCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FWJywnbmFtZSc6J0FsdGEgVmVyYXBheid9LA0KICAgICcyJyA6IHsnY29kZSc6J0JWJywnbmFtZSc6J0JhamEgVmVyYXBheid9LA0KICAgICczJyA6IHsnY29kZSc6J0NNJywnbmFtZSc6J0NoaW1hbHRlbmFuZ28nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDUScsJ25hbWUnOidDaGlxdWltdWxhJ30sDQogICAgJzUnIDogeydjb2RlJzonUEUnLCduYW1lJzonRWwgUGV0ZW4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidQUicsJ25hbWUnOidFbCBQcm9ncmVzbyd9LA0KICAgICc3JyA6IHsnY29kZSc6J1FDJywnbmFtZSc6J0VsIFF1aWNoZSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0VTJywnbmFtZSc6J0VzY3VpbnRsYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0dVJywnbmFtZSc6J0d1YXRlbWFsYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidIVScsJ25hbWUnOidIdWVodWV0ZW5hbmdvJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0laJywnbmFtZSc6J0l6YWJhbCd9LA0KICAgICcxMicgOiB7J2NvZGUnOidKQScsJ25hbWUnOidKYWxhcGEnfSwNCiAgICAnMTMnIDogeydjb2RlJzonSlUnLCduYW1lJzonSnV0aWFwYSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidRWicsJ25hbWUnOidRdWV0emFsdGVuYW5nbyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidSRScsJ25hbWUnOidSZXRhbGh1bGV1J30sDQogICAgJzE2JyA6IHsnY29kZSc6J1NUJywnbmFtZSc6J1NhY2F0ZXBlcXVleid9LA0KICAgICcxNycgOiB7J2NvZGUnOidTTScsJ25hbWUnOidTYW4gTWFyY29zJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1NSJywnbmFtZSc6J1NhbnRhIFJvc2EnfSwNCiAgICAnMTknIDogeydjb2RlJzonU08nLCduYW1lJzonU29sb2xhJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1NVJywnbmFtZSc6J1N1Y2hpdGVwZXF1ZXonfSwNCiAgICAnMjEnIDogeydjb2RlJzonVE8nLCduYW1lJzonVG90b25pY2FwYW4nfSwNCiAgICAnMjInIDogeydjb2RlJzonWkEnLCduYW1lJzonWmFjYXBhJ30NCiAgfSwNCiAgJ0dOJzp7DQogICAgJzEnIDogeydjb2RlJzonQ05LJywnbmFtZSc6J0NvbmFrcnknfSwNCiAgICAnMicgOiB7J2NvZGUnOidCWUwnLCduYW1lJzonQmV5bGEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCRkEnLCduYW1lJzonQm9mZmEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidCT0snLCduYW1lJzonQm9rZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0NPWScsJ25hbWUnOidDb3lhaCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0RCTCcsJ25hbWUnOidEYWJvbGEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidETEInLCduYW1lJzonRGFsYWJhJ30sDQogICAgJzgnIDogeydjb2RlJzonREdSJywnbmFtZSc6J0Rpbmd1aXJheWUnfSwNCiAgICAnOScgOiB7J2NvZGUnOidEQlInLCduYW1lJzonRHVicmVrYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidGUk4nLCduYW1lJzonRmFyYW5haCd9LA0KICAgICcxMScgOiB7J2NvZGUnOidGUkMnLCduYW1lJzonRm9yZWNhcmlhaCd9LA0KICAgICcxMicgOiB7J2NvZGUnOidGUkknLCduYW1lJzonRnJpYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidHQU8nLCduYW1lJzonR2FvdWFsJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0dDRCcsJ25hbWUnOidHdWVja2Vkb3UnfSwNCiAgICAnMTUnIDogeydjb2RlJzonS05LJywnbmFtZSc6J0thbmthbid9LA0KICAgICcxNicgOiB7J2NvZGUnOidLUk4nLCduYW1lJzonS2Vyb3VhbmUnfSwNCiAgICAnMTcnIDogeydjb2RlJzonS05EJywnbmFtZSc6J0tpbmRpYSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidLU0QnLCduYW1lJzonS2lzc2lkb3Vnb3UnfSwNCiAgICAnMTknIDogeydjb2RlJzonS0JBJywnbmFtZSc6J0tvdWJpYSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidLREEnLCduYW1lJzonS291bmRhcmEnfSwNCiAgICAnMjEnIDogeydjb2RlJzonS1JBJywnbmFtZSc6J0tvdXJvdXNzYSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidMQUInLCduYW1lJzonTGFiZSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidMTE0nLCduYW1lJzonTGVsb3VtYSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidMT0wnLCduYW1lJzonTG9sYSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidNQ1QnLCduYW1lJzonTWFjZW50YSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidNQUwnLCduYW1lJzonTWFsaSd9LA0KICAgICcyNycgOiB7J2NvZGUnOidNQU0nLCduYW1lJzonTWFtb3UnfSwNCiAgICAnMjgnIDogeydjb2RlJzonTUFOJywnbmFtZSc6J01hbmRpYW5hJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J05aUicsJ25hbWUnOidOemVyZWtvcmUnfSwNCiAgICAnMzAnIDogeydjb2RlJzonUElUJywnbmFtZSc6J1BpdGEnfSwNCiAgICAnMzEnIDogeydjb2RlJzonU0lHJywnbmFtZSc6J1NpZ3VpcmknfSwNCiAgICAnMzInIDogeydjb2RlJzonVExNJywnbmFtZSc6J1RlbGltZWxlJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J1RPRycsJ25hbWUnOidUb3VndWUnfSwNCiAgICAnMzQnIDogeydjb2RlJzonWU9NJywnbmFtZSc6J1lvbW91J30NCiAgfSwNCiAgJ0dXJzp7DQogICAgJzEnIDogeydjb2RlJzonQkYnLCduYW1lJzonQmFmYXRhIFJlZ2lvbid9LA0KICAgICcyJyA6IHsnY29kZSc6J0JCJywnbmFtZSc6J0Jpb21ibyBSZWdpb24nfSwNCiAgICAnMycgOiB7J2NvZGUnOidCUycsJ25hbWUnOidCaXNzYXUgUmVnaW9uJ30sDQogICAgJzQnIDogeydjb2RlJzonQkwnLCduYW1lJzonQm9sYW1hIFJlZ2lvbid9LA0KICAgICc1JyA6IHsnY29kZSc6J0NBJywnbmFtZSc6J0NhY2hldSBSZWdpb24nfSwNCiAgICAnNicgOiB7J2NvZGUnOidHQScsJ25hbWUnOidHYWJ1IFJlZ2lvbid9LA0KICAgICc3JyA6IHsnY29kZSc6J09JJywnbmFtZSc6J09pbyBSZWdpb24nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidRVScsJ25hbWUnOidRdWluYXJhIFJlZ2lvbid9LA0KICAgICc5JyA6IHsnY29kZSc6J1RPJywnbmFtZSc6J1RvbWJhbGkgUmVnaW9uJ30NCiAgfSwNCiAgJ0dZJzp7DQogICAgJzEnIDogeydjb2RlJzonQlcnLCduYW1lJzonQmFyaW1hLVdhaW5pJ30sDQogICAgJzInIDogeydjb2RlJzonQ00nLCduYW1lJzonQ3V5dW5pLU1hemFydW5pJ30sDQogICAgJzMnIDogeydjb2RlJzonRE0nLCduYW1lJzonRGVtZXJhcmEtTWFoYWljYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0VDJywnbmFtZSc6J0Vhc3QgQmVyYmljZS1Db3JlbnR5bmUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidFVycsJ25hbWUnOidFc3NlcXVpYm8gSXNsYW5kcy1XZXN0IERlbWVyYXJhJ30sDQogICAgJzYnIDogeydjb2RlJzonTUInLCduYW1lJzonTWFoYWljYS1CZXJiaWNlJ30sDQogICAgJzcnIDogeydjb2RlJzonUE0nLCduYW1lJzonUG9tZXJvb24tU3VwZW5hYW0nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidQSScsJ25hbWUnOidQb3Rhcm8tU2lwYXJ1bmknfSwNCiAgICAnOScgOiB7J2NvZGUnOidVRCcsJ25hbWUnOidVcHBlciBEZW1lcmFyYS1CZXJiaWNlJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1VUJywnbmFtZSc6J1VwcGVyIFRha3V0dS1VcHBlciBFc3NlcXVpYm8nfQ0KICB9LA0KICAnSFQnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcnRpYm9uaXRlJ30sDQogICAgJzInIDogeydjb2RlJzonQ0UnLCduYW1lJzonQ2VudHJlJ30sDQogICAgJzMnIDogeydjb2RlJzonR0EnLCduYW1lJzonR3JhbmRcJ0Fuc2UnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidORCcsJ25hbWUnOidOb3JkJ30sDQogICAgJzUnIDogeydjb2RlJzonTkUnLCduYW1lJzonTm9yZC1Fc3QnfSwNCiAgICAnNicgOiB7J2NvZGUnOidOTycsJ25hbWUnOidOb3JkLU91ZXN0J30sDQogICAgJzcnIDogeydjb2RlJzonT1UnLCduYW1lJzonT3Vlc3QnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidTRCcsJ25hbWUnOidTdWQnfSwNCiAgICAnOScgOiB7J2NvZGUnOidTRScsJ25hbWUnOidTdWQtRXN0J30NCiAgfSwNCiAgJ0hNJzp7DQogICAgJzEnIDogeydjb2RlJzonRicsJ25hbWUnOidGbGF0IElzbGFuZCd9LA0KICAgICcyJyA6IHsnY29kZSc6J00nLCduYW1lJzonTWNEb25hbGQgSXNsYW5kJ30sDQogICAgJzMnIDogeydjb2RlJzonUycsJ25hbWUnOidTaGFnIElzbGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0gnLCduYW1lJzonSGVhcmQgSXNsYW5kJ30NCiAgfSwNCiAgJ0hOJzp7DQogICAgJzEnIDogeydjb2RlJzonQVQnLCduYW1lJzonQXRsYW50aWRhJ30sDQogICAgJzInIDogeydjb2RlJzonQ0gnLCduYW1lJzonQ2hvbHV0ZWNhJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0wnLCduYW1lJzonQ29sb24nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDTScsJ25hbWUnOidDb21heWFndWEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidDUCcsJ25hbWUnOidDb3Bhbid9LA0KICAgICc2JyA6IHsnY29kZSc6J0NSJywnbmFtZSc6J0NvcnRlcyd9LA0KICAgICc3JyA6IHsnY29kZSc6J1BBJywnbmFtZSc6J0VsIFBhcmFpc28nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidGTScsJ25hbWUnOidGcmFuY2lzY28gTW9yYXphbid9LA0KICAgICc5JyA6IHsnY29kZSc6J0dEJywnbmFtZSc6J0dyYWNpYXMgYSBEaW9zJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0lOJywnbmFtZSc6J0ludGlidWNhJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0lCJywnbmFtZSc6J0lzbGFzIGRlIGxhIEJhaGlhIChCYXkgSXNsYW5kcyknfSwNCiAgICAnMTInIDogeydjb2RlJzonUFonLCduYW1lJzonTGEgUGF6J30sDQogICAgJzEzJyA6IHsnY29kZSc6J0xFJywnbmFtZSc6J0xlbXBpcmEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonT0MnLCduYW1lJzonT2NvdGVwZXF1ZSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidPTCcsJ25hbWUnOidPbGFuY2hvJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1NCJywnbmFtZSc6J1NhbnRhIEJhcmJhcmEnfSwNCiAgICAnMTcnIDogeydjb2RlJzonVkEnLCduYW1lJzonVmFsbGUnfSwNCiAgICAnMTgnIDogeydjb2RlJzonWU8nLCduYW1lJzonWW9ybyd9DQogIH0sDQogICdISyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0hDVycsJ25hbWUnOidDZW50cmFsIGFuZCBXZXN0ZXJuIEhvbmcgS29uZyBJcyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0hFQScsJ25hbWUnOidFYXN0ZXJuIEhvbmcgS29uZyBJc2xhbmQnfSwNCiAgICAnMycgOiB7J2NvZGUnOidIU08nLCduYW1lJzonU291dGhlcm4gSG9uZyBLb25nIElzbGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0hXQycsJ25hbWUnOidXYW4gQ2hhaSBIb25nIEtvbmcgSXNsYW5kJ30sDQogICAgJzUnIDogeydjb2RlJzonS0tDJywnbmFtZSc6J0tvd2xvb24gQ2l0eSBLb3dsb29uJ30sDQogICAgJzYnIDogeydjb2RlJzonS0tUJywnbmFtZSc6J0t3dW4gVG9uZyBLb3dsb29uJ30sDQogICAgJzcnIDogeydjb2RlJzonS1NTJywnbmFtZSc6J1NoYW0gU2h1aSBQbyBLb3dsb29uJ30sDQogICAgJzgnIDogeydjb2RlJzonS1dUJywnbmFtZSc6J1dvbmcgVGFpIFNpbiBLb3dsb29uJ30sDQogICAgJzknIDogeydjb2RlJzonS1lUJywnbmFtZSc6J1lhdSBUc2ltIE1vbmcgS293bG9vbid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidOSVMnLCduYW1lJzonSXNsYW5kcyBOZXcgVGVycml0b3JpZXMnfSwNCiAgICAnMTEnIDogeydjb2RlJzonTktUJywnbmFtZSc6J0t3YWkgVHNpbmcgTmV3IFRlcnJpdG9yaWVzJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J05OTycsJ25hbWUnOidOb3J0aCBOZXcgVGVycml0b3JpZXMnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTlNLJywnbmFtZSc6J1NhaSBLdW5nIE5ldyBUZXJyaXRvcmllcyd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidOU1QnLCduYW1lJzonU2hhIFRpbiBOZXcgVGVycml0b3JpZXMnfSwNCiAgICAnMTUnIDogeydjb2RlJzonTlRQJywnbmFtZSc6J1RhaSBQbyBOZXcgVGVycml0b3JpZXMnfSwNCiAgICAnMTYnIDogeydjb2RlJzonTlRXJywnbmFtZSc6J1RzdWVuIFdhbiBOZXcgVGVycml0b3JpZXMnfSwNCiAgICAnMTcnIDogeydjb2RlJzonTlRNJywnbmFtZSc6J1R1ZW4gTXVuIE5ldyBUZXJyaXRvcmllcyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidOWUwnLCduYW1lJzonWXVlbiBMb25nIE5ldyBUZXJyaXRvcmllcyd9DQogIH0sDQogICdIVSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JLJywnbmFtZSc6J0JhY3MtS2lza3VuJ30sDQogICAgJzInIDogeydjb2RlJzonQkEnLCduYW1lJzonQmFyYW55YSd9LA0KICAgICczJyA6IHsnY29kZSc6J0JFJywnbmFtZSc6J0Jla2VzJ30sDQogICAgJzQnIDogeydjb2RlJzonQlMnLCduYW1lJzonQmVrZXNjc2FiYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0JaJywnbmFtZSc6J0JvcnNvZC1BYmF1ai1aZW1wbGVuJ30sDQogICAgJzYnIDogeydjb2RlJzonQlUnLCduYW1lJzonQnVkYXBlc3QnfSwNCiAgICAnNycgOiB7J2NvZGUnOidDUycsJ25hbWUnOidDc29uZ3JhZCd9LA0KICAgICc4JyA6IHsnY29kZSc6J0RFJywnbmFtZSc6J0RlYnJlY2VuJ30sDQogICAgJzknIDogeydjb2RlJzonRFUnLCduYW1lJzonRHVuYXVqdmFyb3MnfSwNCiAgICAnMTAnIDogeydjb2RlJzonRUcnLCduYW1lJzonRWdlcid9LA0KICAgICcxMScgOiB7J2NvZGUnOidGRScsJ25hbWUnOidGZWplcid9LA0KICAgICcxMicgOiB7J2NvZGUnOidHWScsJ25hbWUnOidHeW9yJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0dNJywnbmFtZSc6J0d5b3ItTW9zb24tU29wcm9uJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0hCJywnbmFtZSc6J0hhamR1LUJpaGFyJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0hFJywnbmFtZSc6J0hldmVzJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0hPJywnbmFtZSc6J0hvZG1lem92YXNhcmhlbHknfSwNCiAgICAnMTcnIDogeydjb2RlJzonSk4nLCduYW1lJzonSmFzei1OYWd5a3VuLVN6b2xub2snfSwNCiAgICAnMTgnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2Fwb3N2YXInfSwNCiAgICAnMTknIDogeydjb2RlJzonS0UnLCduYW1lJzonS2Vjc2tlbWV0J30sDQogICAgJzIwJyA6IHsnY29kZSc6J0tPJywnbmFtZSc6J0tvbWFyb20tRXN6dGVyZ29tJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J01JJywnbmFtZSc6J01pc2tvbGMnfSwNCiAgICAnMjInIDogeydjb2RlJzonTkEnLCduYW1lJzonTmFneWthbml6c2EnfSwNCiAgICAnMjMnIDogeydjb2RlJzonTk8nLCduYW1lJzonTm9ncmFkJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J05ZJywnbmFtZSc6J055aXJlZ3loYXphJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J1BFJywnbmFtZSc6J1BlY3MnfSwNCiAgICAnMjYnIDogeydjb2RlJzonUFMnLCduYW1lJzonUGVzdCd9LA0KICAgICcyNycgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb21vZ3knfSwNCiAgICAnMjgnIDogeydjb2RlJzonU1AnLCduYW1lJzonU29wcm9uJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J1NTJywnbmFtZSc6J1N6YWJvbGNzLVN6YXRtYXItQmVyZWcnfSwNCiAgICAnMzAnIDogeydjb2RlJzonU1onLCduYW1lJzonU3plZ2VkJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J1NFJywnbmFtZSc6J1N6ZWtlc2ZlaGVydmFyJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J1NMJywnbmFtZSc6J1N6b2xub2snfSwNCiAgICAnMzMnIDogeydjb2RlJzonU00nLCduYW1lJzonU3pvbWJhdGhlbHknfSwNCiAgICAnMzQnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGF0YWJhbnlhJ30sDQogICAgJzM1JyA6IHsnY29kZSc6J1RPJywnbmFtZSc6J1RvbG5hJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J1ZBJywnbmFtZSc6J1Zhcyd9LA0KICAgICczNycgOiB7J2NvZGUnOidWRScsJ25hbWUnOidWZXN6cHJlbSd9LA0KICAgICczOCcgOiB7J2NvZGUnOidaQScsJ25hbWUnOidaYWxhJ30sDQogICAgJzM5JyA6IHsnY29kZSc6J1paJywnbmFtZSc6J1phbGFlZ2Vyc3plZyd9DQogIH0sDQogICdJUyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0F1c3R1cmxhbmQnfSwNCiAgICAnMicgOiB7J2NvZGUnOidIRicsJ25hbWUnOidIb2Z1b2JvcmdhcnN2YWVvaSd9LA0KICAgICczJyA6IHsnY29kZSc6J05FJywnbmFtZSc6J05vcm91cmxhbmQgZXlzdHJhJ30sDQogICAgJzQnIDogeydjb2RlJzonTlYnLCduYW1lJzonTm9yb3VybGFuZCB2ZXN0cmEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidTdW91cmxhbmQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidTTicsJ25hbWUnOidTdW91cm5lcyd9LA0KICAgICc3JyA6IHsnY29kZSc6J1ZGJywnbmFtZSc6J1Zlc3RmaXJvaXInfSwNCiAgICAnOCcgOiB7J2NvZGUnOidWTCcsJ25hbWUnOidWZXN0dXJsYW5kJ30NCiAgfSwNCiAgJ0lOJzp7DQogICAgJzEnIDogeydjb2RlJzonQU4nLCduYW1lJzonQW5kYW1hbiBhbmQgTmljb2JhciBJc2xhbmRzJ30sDQogICAgJzInIDogeydjb2RlJzonQVAnLCduYW1lJzonQW5kaHJhIFByYWRlc2gnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcnVuYWNoYWwgUHJhZGVzaCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FTJywnbmFtZSc6J0Fzc2FtJ30sDQogICAgJzUnIDogeydjb2RlJzonQkknLCduYW1lJzonQmloYXInfSwNCiAgICAnNicgOiB7J2NvZGUnOidDSCcsJ25hbWUnOidDaGFuZGlnYXJoJ30sDQogICAgJzcnIDogeydjb2RlJzonREEnLCduYW1lJzonRGFkcmEgYW5kIE5hZ2FyIEhhdmVsaSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0RNJywnbmFtZSc6J0RhbWFuIGFuZCBEaXUnfSwNCiAgICAnOScgOiB7J2NvZGUnOidERScsJ25hbWUnOidEZWxoaSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidHTycsJ25hbWUnOidHb2EnfSwNCiAgICAnMTEnIDogeydjb2RlJzonR1UnLCduYW1lJzonR3VqYXJhdCd9LA0KICAgICcxMicgOiB7J2NvZGUnOidIQScsJ25hbWUnOidIYXJ5YW5hJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0hQJywnbmFtZSc6J0hpbWFjaGFsIFByYWRlc2gnfSwNCiAgICAnMTQnIDogeydjb2RlJzonSkEnLCduYW1lJzonSmFtbXUgYW5kIEthc2htaXInfSwNCiAgICAnMTUnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2FybmF0YWthJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0tFJywnbmFtZSc6J0tlcmFsYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidMSScsJ25hbWUnOidMYWtzaGFkd2VlcCBJc2xhbmRzJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J01QJywnbmFtZSc6J01hZGh5YSBQcmFkZXNoJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J01BJywnbmFtZSc6J01haGFyYXNodHJhJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J01OJywnbmFtZSc6J01hbmlwdXInfSwNCiAgICAnMjEnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWVnaGFsYXlhJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J01JJywnbmFtZSc6J01pem9yYW0nfSwNCiAgICAnMjMnIDogeydjb2RlJzonTkEnLCduYW1lJzonTmFnYWxhbmQnfSwNCiAgICAnMjQnIDogeydjb2RlJzonT1InLCduYW1lJzonT3Jpc3NhJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J1BPJywnbmFtZSc6J1BvbmRpY2hlcnJ5J30sDQogICAgJzI2JyA6IHsnY29kZSc6J1BVJywnbmFtZSc6J1B1bmphYid9LA0KICAgICcyNycgOiB7J2NvZGUnOidSQScsJ25hbWUnOidSYWphc3RoYW4nfSwNCiAgICAnMjgnIDogeydjb2RlJzonU0knLCduYW1lJzonU2lra2ltJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J1ROJywnbmFtZSc6J1RhbWlsIE5hZHUnfSwNCiAgICAnMzAnIDogeydjb2RlJzonVFInLCduYW1lJzonVHJpcHVyYSd9LA0KICAgICczMScgOiB7J2NvZGUnOidVUCcsJ25hbWUnOidVdHRhciBQcmFkZXNoJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J1dCJywnbmFtZSc6J1dlc3QgQmVuZ2FsJ30NCiAgfSwNCiAgJ0lEJzp7DQogICAgJzEnIDogeydjb2RlJzonREEnLCduYW1lJzonRGFpc3RhIEFjZWgnfSwNCiAgICAnMicgOiB7J2NvZGUnOidTVScsJ25hbWUnOidTdW1hdGVyYSBVdGFyYSd9LA0KICAgICczJyA6IHsnY29kZSc6J1NCJywnbmFtZSc6J1N1bWF0ZXJhIEJhcmF0J30sDQogICAgJzQnIDogeydjb2RlJzonU0knLCduYW1lJzonUmlhdSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0pBJywnbmFtZSc6J0phbWJpJ30sDQogICAgJzYnIDogeydjb2RlJzonU1MnLCduYW1lJzonU3VtYXRlcmEgU2VsYXRhbid9LA0KICAgICc3JyA6IHsnY29kZSc6J0JFJywnbmFtZSc6J0JlbmdrdWx1J30sDQogICAgJzgnIDogeydjb2RlJzonTEEnLCduYW1lJzonTGFtcHVuZyd9LA0KICAgICc5JyA6IHsnY29kZSc6J0pLJywnbmFtZSc6J0RraSBKYWthcnRhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0pCJywnbmFtZSc6J0phd2EgQmFyYXQnfSwNCiAgICAnMTEnIDogeydjb2RlJzonSlQnLCduYW1lJzonSmF3YSBUZW5nYWgnfSwNCiAgICAnMTInIDogeydjb2RlJzonRFknLCduYW1lJzonRGFpc3RhIFlvZ3lha2FydGEnfSwNCiAgICAnMTMnIDogeydjb2RlJzonSlQnLCduYW1lJzonSmF3YSBUaW11cid9LA0KICAgICcxNCcgOiB7J2NvZGUnOidLQicsJ25hbWUnOidLYWxpbWFudGFuIEJhcmF0J30sDQogICAgJzE1JyA6IHsnY29kZSc6J0tUJywnbmFtZSc6J0thbGltYW50YW4gVGVuZ2FoJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0tJJywnbmFtZSc6J0thbGltYW50YW4gVGltdXInfSwNCiAgICAnMTcnIDogeydjb2RlJzonS1MnLCduYW1lJzonS2FsaW1hbnRhbiBTZWxhdGFuJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JhbGknfSwNCiAgICAnMTknIDogeydjb2RlJzonTkInLCduYW1lJzonTnVzYSBUZW5nZ2FyYSBCYXJhdCd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidOVCcsJ25hbWUnOidOdXNhIFRlbmdnYXJhIFRpbXVyJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J1NOJywnbmFtZSc6J1N1bGF3ZXNpIFNlbGF0YW4nfSwNCiAgICAnMjInIDogeydjb2RlJzonU1QnLCduYW1lJzonU3VsYXdlc2kgVGVuZ2FoJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1N1bGF3ZXNpIFV0YXJhJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1NHJywnbmFtZSc6J1N1bGF3ZXNpIFRlbmdnYXJhJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J01BJywnbmFtZSc6J01hbHVrdSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidNVScsJ25hbWUnOidNYWx1a3UgVXRhcmEnfSwNCiAgICAnMjcnIDogeydjb2RlJzonSUonLCduYW1lJzonSXJpYW4gSmF5YSBUaW11cid9LA0KICAgICcyOCcgOiB7J2NvZGUnOidJVCcsJ25hbWUnOidJcmlhbiBKYXlhIFRlbmdhaCd9LA0KICAgICcyOScgOiB7J2NvZGUnOidJQicsJ25hbWUnOidJcmlhbiBKYXdhIEJhcmF0J30sDQogICAgJzMwJyA6IHsnY29kZSc6J0JUJywnbmFtZSc6J0JhbnRlbid9LA0KICAgICczMScgOiB7J2NvZGUnOidCQicsJ25hbWUnOidCYW5na2EgQmVsaXR1bmcnfSwNCiAgICAnMzInIDogeydjb2RlJzonR08nLCduYW1lJzonR29yb250YWxvJ30NCiAgfSwNCiAgJ0lSJzp7DQogICAgJzEnIDogeydjb2RlJzonQVJEJywnbmFtZSc6J0FyZGFiaWwnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCU0gnLCduYW1lJzonQnVzaGVocid9LA0KICAgICczJyA6IHsnY29kZSc6J0NNQicsJ25hbWUnOidDaGFoYXIgTWFoYWFsIGFuZCBCYWtodGlhcmknfSwNCiAgICAnNCcgOiB7J2NvZGUnOidFQVonLCduYW1lJzonRWFzdCBBemFyYmFpamFuJ30sDQogICAgJzUnIDogeydjb2RlJzonRUZIJywnbmFtZSc6J0VzZmFoYW4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidGQVInLCduYW1lJzonRmFycyd9LA0KICAgICc3JyA6IHsnY29kZSc6J0dJTCcsJ25hbWUnOidHaWxhbid9LA0KICAgICc4JyA6IHsnY29kZSc6J0dMUycsJ25hbWUnOidHb2xlc3Rhbid9LA0KICAgICc5JyA6IHsnY29kZSc6J0hNRCcsJ25hbWUnOidIYW1hZGFuJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0hSTScsJ25hbWUnOidIb3Jtb3pnYW4nfSwNCiAgICAnMTEnIDogeydjb2RlJzonSUxNJywnbmFtZSc6J0lsYW0nfSwNCiAgICAnMTInIDogeydjb2RlJzonS0JBJywnbmFtZSc6J0tvaGtpbHV5ZWggYW5kIEJ1eWVyIEFobWFkJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0tSQicsJ25hbWUnOidLZXJtYW4nfSwNCiAgICAnMTQnIDogeydjb2RlJzonS1JEJywnbmFtZSc6J0t1cmRpc3Rhbid9LA0KICAgICcxNScgOiB7J2NvZGUnOidLUk0nLCduYW1lJzonS2VybWFuc2hhaCd9LA0KICAgICcxNicgOiB7J2NvZGUnOidLWlQnLCduYW1lJzonS2h1emVzdGFuJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0xSUycsJ25hbWUnOidMb3Jlc3Rhbid9LA0KICAgICcxOCcgOiB7J2NvZGUnOidNS1onLCduYW1lJzonTWFya2F6aSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidNWkQnLCduYW1lJzonTWF6YW5kYXJhbid9LA0KICAgICcyMCcgOiB7J2NvZGUnOidOS0gnLCduYW1lJzonTm9ydGggS2hvcmFzYW4nfSwNCiAgICAnMjEnIDogeydjb2RlJzonUUFaJywnbmFtZSc6J1FhenZpbid9LA0KICAgICcyMicgOiB7J2NvZGUnOidRT00nLCduYW1lJzonUW9tJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1JLSCcsJ25hbWUnOidSYXphdmkgS2hvcmFzYW4nfSwNCiAgICAnMjQnIDogeydjb2RlJzonU0JMJywnbmFtZSc6J1Npc3RhbiBhbmQgQmFsdWNoaXN0YW4nfSwNCiAgICAnMjUnIDogeydjb2RlJzonU0tIJywnbmFtZSc6J1NvdXRoIEtob3Jhc2FuJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J1NNTicsJ25hbWUnOidTZW1uYW4nfSwNCiAgICAnMjcnIDogeydjb2RlJzonVEVIJywnbmFtZSc6J1RlaHJhbid9LA0KICAgICcyOCcgOiB7J2NvZGUnOidXRVonLCduYW1lJzonV2VzdCBBemFyYmFpamFuJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J1laRCcsJ25hbWUnOidZYXpkJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J1pBTicsJ25hbWUnOidaYW5qYW4nfQ0KICB9LA0KICAnSVEnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBbCBBbmJhcid9LA0KICAgICcyJyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0FyYmlsJ30sDQogICAgJzMnIDogeydjb2RlJzonQkEnLCduYW1lJzonQWwgQmFzcmFoJ30sDQogICAgJzQnIDogeydjb2RlJzonQkInLCduYW1lJzonQmFiaWwnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCRCcsJ25hbWUnOidCYWdoZGFkJ30sDQogICAgJzYnIDogeydjb2RlJzonREgnLCduYW1lJzonRGFodWsnfSwNCiAgICAnNycgOiB7J2NvZGUnOidEUScsJ25hbWUnOidEaGkgUWFyJ30sDQogICAgJzgnIDogeydjb2RlJzonRFknLCduYW1lJzonRGl5YWxhJ30sDQogICAgJzknIDogeydjb2RlJzonS0InLCduYW1lJzonQWwgS2FyYmFsYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidNVScsJ25hbWUnOidBbCBNdXRoYW5uYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidNWScsJ25hbWUnOidNYXlzYW4nfSwNCiAgICAnMTInIDogeydjb2RlJzonTkonLCduYW1lJzonQW4gTmFqYWYnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTk4nLCduYW1lJzonTmluYXdhJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1FBJywnbmFtZSc6J0FsIFFhZGlzeWFoJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1NEJywnbmFtZSc6J1NhbGFoIGFkIERpbid9LA0KICAgICcxNicgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidBcyBTdWxheW1hbml5YWgnfSwNCiAgICAnMTcnIDogeydjb2RlJzonVE0nLCduYW1lJzonQXQgVGFcJ21pbSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidXUycsJ25hbWUnOidXYXNpdCd9DQogIH0sDQogICdJRSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0NBJywnbmFtZSc6J0Nhcmxvdyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NWJywnbmFtZSc6J0NhdmFuJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0wnLCduYW1lJzonQ2xhcmUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDTycsJ25hbWUnOidDb3JrJ30sDQogICAgJzUnIDogeydjb2RlJzonRE8nLCduYW1lJzonRG9uZWdhbCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0RVJywnbmFtZSc6J0R1Ymxpbid9LA0KICAgICc3JyA6IHsnY29kZSc6J0dBJywnbmFtZSc6J0dhbHdheSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0tFJywnbmFtZSc6J0tlcnJ5J30sDQogICAgJzknIDogeydjb2RlJzonS0knLCduYW1lJzonS2lsZGFyZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidLTCcsJ25hbWUnOidLaWxrZW5ueSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYW9pcyd9LA0KICAgICcxMicgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZWl0cmltJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0xJJywnbmFtZSc6J0xpbWVyaWNrJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0xPJywnbmFtZSc6J0xvbmdmb3JkJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0xVJywnbmFtZSc6J0xvdXRoJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J01BJywnbmFtZSc6J01heW8nfSwNCiAgICAnMTcnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWVhdGgnfSwNCiAgICAnMTgnIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9uYWdoYW4nfSwNCiAgICAnMTknIDogeydjb2RlJzonT0YnLCduYW1lJzonT2ZmYWx5J30sDQogICAgJzIwJyA6IHsnY29kZSc6J1JPJywnbmFtZSc6J1Jvc2NvbW1vbid9LA0KICAgICcyMScgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidTbGlnbyd9LA0KICAgICcyMicgOiB7J2NvZGUnOidUSScsJ25hbWUnOidUaXBwZXJhcnknfSwNCiAgICAnMjMnIDogeydjb2RlJzonV0EnLCduYW1lJzonV2F0ZXJmb3JkJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1dFJywnbmFtZSc6J1dlc3RtZWF0aCd9LA0KICAgICcyNScgOiB7J2NvZGUnOidXWCcsJ25hbWUnOidXZXhmb3JkJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J1dJJywnbmFtZSc6J1dpY2tsb3cnfQ0KICB9LA0KICAnSUwnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCUycsJ25hbWUnOidCZVwnZXIgU2hldmEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCSCcsJ25hbWUnOidCaWthXCdhdCBIYXlhcmRlbid9LA0KICAgICczJyA6IHsnY29kZSc6J0VBJywnbmFtZSc6J0VpbGF0IGFuZCBBcmF2YSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0dBJywnbmFtZSc6J0dhbGlsJ30sDQogICAgJzUnIDogeydjb2RlJzonSEEnLCduYW1lJzonSGFpZmEnfSwNCiAgICAnNicgOiB7J2NvZGUnOidKTScsJ25hbWUnOidKZWh1ZGEgTW91bnRhaW5zJ30sDQogICAgJzcnIDogeydjb2RlJzonSkUnLCduYW1lJzonSmVydXNhbGVtJ30sDQogICAgJzgnIDogeydjb2RlJzonTkUnLCduYW1lJzonTmVnZXYnfSwNCiAgICAnMTAnIDogeydjb2RlJzonU0UnLCduYW1lJzonU2VtYXJpYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidTSCcsJ25hbWUnOidTaGFyb24nfSwNCiAgICAnMTInIDogeydjb2RlJzonVEEnLCduYW1lJzonVGVsIEF2aXYgKEdvc2ggRGFuKSd9DQogIH0sDQogICdJVCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FHJywnbmFtZSc6J0FncmlnZW50byd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0FsZXNzYW5kcmlhJ30sDQogICAgJzMnIDogeydjb2RlJzonQU4nLCduYW1lJzonQW5jb25hJ30sDQogICAgJzQnIDogeydjb2RlJzonQU8nLCduYW1lJzonQW9zdGEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcmV6em8nfSwNCiAgICAnNicgOiB7J2NvZGUnOidBUCcsJ25hbWUnOidBc2NvbGkgUGljZW5vJ30sDQogICAgJzcnIDogeydjb2RlJzonQVQnLCduYW1lJzonQXN0aSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0FWJywnbmFtZSc6J0F2ZWxsaW5vJ30sDQogICAgJzknIDogeydjb2RlJzonQkEnLCduYW1lJzonQmFyaSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidCTCcsJ25hbWUnOidCZWxsdW5vJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0JOJywnbmFtZSc6J0JlbmV2ZW50byd9LA0KICAgICcxMicgOiB7J2NvZGUnOidCRycsJ25hbWUnOidCZXJnYW1vJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0JJJywnbmFtZSc6J0JpZWxsYSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidCTycsJ25hbWUnOidCb2xvZ25hJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0JaJywnbmFtZSc6J0JvbHphbm8nfSwNCiAgICAnMTYnIDogeydjb2RlJzonQlMnLCduYW1lJzonQnJlc2NpYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidCUicsJ25hbWUnOidCcmluZGlzaSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidDQScsJ25hbWUnOidDYWdsaWFyaSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidDTCcsJ25hbWUnOidDYWx0YW5pc3NldHRhJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0NCJywnbmFtZSc6J0NhbXBvYmFzc28nfSwNCiAgICAnMjEnIDogeydjb2RlJzonQ0UnLCduYW1lJzonQ2FzZXJ0YSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidDVCcsJ25hbWUnOidDYXRhbmlhJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J0NaJywnbmFtZSc6J0NhdGFuemFybyd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidDSCcsJ25hbWUnOidDaGlldGknfSwNCiAgICAnMjUnIDogeydjb2RlJzonQ08nLCduYW1lJzonQ29tbyd9LA0KICAgICcyNicgOiB7J2NvZGUnOidDUycsJ25hbWUnOidDb3NlbnphJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J0NSJywnbmFtZSc6J0NyZW1vbmEnfSwNCiAgICAnMjgnIDogeydjb2RlJzonS1InLCduYW1lJzonQ3JvdG9uZSd9LA0KICAgICcyOScgOiB7J2NvZGUnOidDTicsJ25hbWUnOidDdW5lbyd9LA0KICAgICczMCcgOiB7J2NvZGUnOidFTicsJ25hbWUnOidFbm5hJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J0ZFJywnbmFtZSc6J0ZlcnJhcmEnfSwNCiAgICAnMzInIDogeydjb2RlJzonRkknLCduYW1lJzonRmlyZW56ZSd9LA0KICAgICczMycgOiB7J2NvZGUnOidGRycsJ25hbWUnOidGb2dnaWEnfSwNCiAgICAnMzQnIDogeydjb2RlJzonRk8nLCduYW1lJzonRm9ybMOsJ30sDQogICAgJzM1JyA6IHsnY29kZSc6J0ZSJywnbmFtZSc6J0Zyb3Npbm9uZSd9LA0KICAgICczNicgOiB7J2NvZGUnOidHRScsJ25hbWUnOidHZW5vdmEnfSwNCiAgICAnMzcnIDogeydjb2RlJzonR08nLCduYW1lJzonR29yaXppYSd9LA0KICAgICczOCcgOiB7J2NvZGUnOidHUicsJ25hbWUnOidHcm9zc2V0byd9LA0KICAgICczOScgOiB7J2NvZGUnOidJTScsJ25hbWUnOidJbXBlcmlhJ30sDQogICAgJzQwJyA6IHsnY29kZSc6J0lTJywnbmFtZSc6J0lzZXJuaWEnfSwNCiAgICAnNDEnIDogeydjb2RlJzonQVEnLCduYW1lJzonQXF1aWxhJ30sDQogICAgJzQyJyA6IHsnY29kZSc6J1NQJywnbmFtZSc6J0xhIFNwZXppYSd9LA0KICAgICc0MycgOiB7J2NvZGUnOidMVCcsJ25hbWUnOidMYXRpbmEnfSwNCiAgICAnNDQnIDogeydjb2RlJzonTEUnLCduYW1lJzonTGVjY2UnfSwNCiAgICAnNDUnIDogeydjb2RlJzonTEMnLCduYW1lJzonTGVjY28nfSwNCiAgICAnNDYnIDogeydjb2RlJzonTEknLCduYW1lJzonTGl2b3Jubyd9LA0KICAgICc0NycgOiB7J2NvZGUnOidMTycsJ25hbWUnOidMb2RpJ30sDQogICAgJzQ4JyA6IHsnY29kZSc6J0xVJywnbmFtZSc6J0x1Y2NhJ30sDQogICAgJzQ5JyA6IHsnY29kZSc6J01DJywnbmFtZSc6J01hY2VyYXRhJ30sDQogICAgJzUwJyA6IHsnY29kZSc6J01OJywnbmFtZSc6J01hbnRvdmEnfSwNCiAgICAnNTEnIDogeydjb2RlJzonTVMnLCduYW1lJzonTWFzc2EtQ2FycmFyYSd9LA0KICAgICc1MicgOiB7J2NvZGUnOidNVCcsJ25hbWUnOidNYXRlcmEnfSwNCiAgICAnNTMnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWVzc2luYSd9LA0KICAgICc1NCcgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNaWxhbm8nfSwNCiAgICAnNTUnIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9kZW5hJ30sDQogICAgJzU2JyA6IHsnY29kZSc6J05BJywnbmFtZSc6J05hcG9saSd9LA0KICAgICc1NycgOiB7J2NvZGUnOidOTycsJ25hbWUnOidOb3ZhcmEnfSwNCiAgICAnNTgnIDogeydjb2RlJzonTlUnLCduYW1lJzonTnVvcm8nfSwNCiAgICAnNTknIDogeydjb2RlJzonT1InLCduYW1lJzonT3Jpc3Rhbm8nfSwNCiAgICAnNjAnIDogeydjb2RlJzonUEQnLCduYW1lJzonUGFkb3ZhJ30sDQogICAgJzYxJyA6IHsnY29kZSc6J1BBJywnbmFtZSc6J1BhbGVybW8nfSwNCiAgICAnNjInIDogeydjb2RlJzonUFInLCduYW1lJzonUGFybWEnfSwNCiAgICAnNjMnIDogeydjb2RlJzonUEcnLCduYW1lJzonUGVydWdpYSd9LA0KICAgICc2NCcgOiB7J2NvZGUnOidQVicsJ25hbWUnOidQYXZpYSd9LA0KICAgICc2NScgOiB7J2NvZGUnOidQVScsJ25hbWUnOidQZXNhcm8gVXJiaW5vJ30sDQogICAgJzY2JyA6IHsnY29kZSc6J1BFJywnbmFtZSc6J1Blc2NhcmEnfSwNCiAgICAnNjcnIDogeydjb2RlJzonUEMnLCduYW1lJzonUGlhY2VuemEnfSwNCiAgICAnNjgnIDogeydjb2RlJzonUEknLCduYW1lJzonUGlzYSd9LA0KICAgICc2OScgOiB7J2NvZGUnOidQVCcsJ25hbWUnOidQaXN0b2lhJ30sDQogICAgJzcwJyA6IHsnY29kZSc6J1BOJywnbmFtZSc6J1BvcmRlbm9uZSd9LA0KICAgICc3MScgOiB7J2NvZGUnOidQWicsJ25hbWUnOidQb3RlbnphJ30sDQogICAgJzcyJyA6IHsnY29kZSc6J1BPJywnbmFtZSc6J1ByYXRvJ30sDQogICAgJzczJyA6IHsnY29kZSc6J1JHJywnbmFtZSc6J1JhZ3VzYSd9LA0KICAgICc3NCcgOiB7J2NvZGUnOidSQScsJ25hbWUnOidSYXZlbm5hJ30sDQogICAgJzc1JyA6IHsnY29kZSc6J1JDJywnbmFtZSc6J1JlZ2dpbyBDYWxhYnJpYSd9LA0KICAgICc3NicgOiB7J2NvZGUnOidSRScsJ25hbWUnOidSZWdnaW8gRW1pbGlhJ30sDQogICAgJzc3JyA6IHsnY29kZSc6J1JJJywnbmFtZSc6J1JpZXRpJ30sDQogICAgJzc4JyA6IHsnY29kZSc6J1JOJywnbmFtZSc6J1JpbWluaSd9LA0KICAgICc3OScgOiB7J2NvZGUnOidSTScsJ25hbWUnOidSb21hJ30sDQogICAgJzgwJyA6IHsnY29kZSc6J1JPJywnbmFtZSc6J1Jvdmlnbyd9LA0KICAgICc4MScgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTYWxlcm5vJ30sDQogICAgJzgyJyA6IHsnY29kZSc6J1NTJywnbmFtZSc6J1Nhc3NhcmknfSwNCiAgICAnODMnIDogeydjb2RlJzonU1YnLCduYW1lJzonU2F2b25hJ30sDQogICAgJzg0JyA6IHsnY29kZSc6J1NJJywnbmFtZSc6J1NpZW5hJ30sDQogICAgJzg1JyA6IHsnY29kZSc6J1NSJywnbmFtZSc6J1NpcmFjdXNhJ30sDQogICAgJzg2JyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1NvbmRyaW8nfSwNCiAgICAnODcnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFyYW50byd9LA0KICAgICc4OCcgOiB7J2NvZGUnOidURScsJ25hbWUnOidUZXJhbW8nfSwNCiAgICAnODknIDogeydjb2RlJzonVFInLCduYW1lJzonVGVybmknfSwNCiAgICAnOTAnIDogeydjb2RlJzonVE8nLCduYW1lJzonVG9yaW5vJ30sDQogICAgJzkxJyA6IHsnY29kZSc6J1RQJywnbmFtZSc6J1RyYXBhbmknfSwNCiAgICAnOTInIDogeydjb2RlJzonVE4nLCduYW1lJzonVHJlbnRvJ30sDQogICAgJzkzJyA6IHsnY29kZSc6J1RWJywnbmFtZSc6J1RyZXZpc28nfSwNCiAgICAnOTQnIDogeydjb2RlJzonVFMnLCduYW1lJzonVHJpZXN0ZSd9LA0KICAgICc5NScgOiB7J2NvZGUnOidVRCcsJ25hbWUnOidVZGluZSd9LA0KICAgICc5NicgOiB7J2NvZGUnOidWQScsJ25hbWUnOidWYXJlc2UnfSwNCiAgICAnOTcnIDogeydjb2RlJzonVkUnLCduYW1lJzonVmVuZXppYSd9LA0KICAgICc5OCcgOiB7J2NvZGUnOidWQicsJ25hbWUnOidWZXJiYW5pYSd9LA0KICAgICc5OScgOiB7J2NvZGUnOidWQycsJ25hbWUnOidWZXJjZWxsaSd9LA0KICAgICcxMDAnIDogeydjb2RlJzonVlInLCduYW1lJzonVmVyb25hJ30sDQogICAgJzEwMScgOiB7J2NvZGUnOidWVicsJ25hbWUnOidWaWJvIFZhbGVudGlhJ30sDQogICAgJzEwMicgOiB7J2NvZGUnOidWSScsJ25hbWUnOidWaWNlbnphJ30sDQogICAgJzEwMycgOiB7J2NvZGUnOidWVCcsJ25hbWUnOidWaXRlcmJvJ30sDQogICAgJzEwNCcgOiB7J2NvZGUnOidDSScsJ25hbWUnOidDYXJib25pYS1JZ2xlc2lhcyd9LA0KICAgICcxMDUnIDogeydjb2RlJzonVlMnLCduYW1lJzonTWVkaW8gQ2FtcGlkYW5vJ30sDQogICAgJzEwNicgOiB7J2NvZGUnOidPRycsJ25hbWUnOidPZ2xpYXN0cmEnfSwNCiAgICAnMTA3JyA6IHsnY29kZSc6J09UJywnbmFtZSc6J09sYmlhLVRlbXBpbyd9LA0KICAgICcxMDgnIDogeydjb2RlJzonTUInLCduYW1lJzonTW9uemEgZSBCcmlhbnphJ30sDQogICAgJzEwOScgOiB7J2NvZGUnOidGTScsJ25hbWUnOidGZXJtbyd9LA0KICAgICcxMTAnIDogeydjb2RlJzonQlQnLCduYW1lJzonQmFybGV0dGEtQW5kcmlhLVRyYW5pJ30NCiAgfSwNCiAgJ0pNJzp7DQogICAgJzEnIDogeydjb2RlJzonQ0xBJywnbmFtZSc6J0NsYXJlbmRvbiBQYXJpc2gnfSwNCiAgICAnMicgOiB7J2NvZGUnOidIQU4nLCduYW1lJzonSGFub3ZlciBQYXJpc2gnfSwNCiAgICAnMycgOiB7J2NvZGUnOidLSU4nLCduYW1lJzonS2luZ3N0b24gUGFyaXNoJ30sDQogICAgJzQnIDogeydjb2RlJzonTUFOJywnbmFtZSc6J01hbmNoZXN0ZXIgUGFyaXNoJ30sDQogICAgJzUnIDogeydjb2RlJzonUE9SJywnbmFtZSc6J1BvcnRsYW5kIFBhcmlzaCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0FORCcsJ25hbWUnOidTYWludCBBbmRyZXcgUGFyaXNoJ30sDQogICAgJzcnIDogeydjb2RlJzonQU5OJywnbmFtZSc6J1NhaW50IEFubiBQYXJpc2gnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidDQVQnLCduYW1lJzonU2FpbnQgQ2F0aGVyaW5lIFBhcmlzaCd9LA0KICAgICc5JyA6IHsnY29kZSc6J0VMSScsJ25hbWUnOidTYWludCBFbGl6YWJldGggUGFyaXNoJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0pBTScsJ25hbWUnOidTYWludCBKYW1lcyBQYXJpc2gnfSwNCiAgICAnMTEnIDogeydjb2RlJzonTUFSJywnbmFtZSc6J1NhaW50IE1hcnkgUGFyaXNoJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J1RITycsJ25hbWUnOidTYWludCBUaG9tYXMgUGFyaXNoJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1RSTCcsJ25hbWUnOidUcmVsYXdueSBQYXJpc2gnfSwNCiAgICAnMTQnIDogeydjb2RlJzonV01MJywnbmFtZSc6J1dlc3Rtb3JlbGFuZCBQYXJpc2gnfQ0KICB9LA0KICAnSlAnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBSScsJ25hbWUnOidBaWNoaSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FLJywnbmFtZSc6J0FraXRhJ30sDQogICAgJzMnIDogeydjb2RlJzonQU8nLCduYW1lJzonQW9tb3JpJ30sDQogICAgJzQnIDogeydjb2RlJzonQ0gnLCduYW1lJzonQ2hpYmEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidFSCcsJ25hbWUnOidFaGltZSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0ZLJywnbmFtZSc6J0Z1a3VpJ30sDQogICAgJzcnIDogeydjb2RlJzonRlUnLCduYW1lJzonRnVrdW9rYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0ZTJywnbmFtZSc6J0Z1a3VzaGltYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0dJJywnbmFtZSc6J0dpZnUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonR1UnLCduYW1lJzonR3VtbWEnfSwNCiAgICAnMTEnIDogeydjb2RlJzonSEknLCduYW1lJzonSGlyb3NoaW1hJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0hPJywnbmFtZSc6J0hva2thaWRvJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0hZJywnbmFtZSc6J0h5b2dvJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0lCJywnbmFtZSc6J0liYXJha2knfSwNCiAgICAnMTUnIDogeydjb2RlJzonSVMnLCduYW1lJzonSXNoaWthd2EnfSwNCiAgICAnMTYnIDogeydjb2RlJzonSVcnLCduYW1lJzonSXdhdGUnfSwNCiAgICAnMTcnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2FnYXdhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0tHJywnbmFtZSc6J0thZ29zaGltYSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidLTicsJ25hbWUnOidLYW5hZ2F3YSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidLTycsJ25hbWUnOidLb2NoaSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidLVScsJ25hbWUnOidLdW1hbW90byd9LA0KICAgICcyMicgOiB7J2NvZGUnOidLWScsJ25hbWUnOidLeW90byd9LA0KICAgICcyMycgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNaWUnfSwNCiAgICAnMjQnIDogeydjb2RlJzonTVknLCduYW1lJzonTWl5YWdpJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J01aJywnbmFtZSc6J01peWF6YWtpJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J05BJywnbmFtZSc6J05hZ2Fubyd9LA0KICAgICcyNycgOiB7J2NvZGUnOidORycsJ25hbWUnOidOYWdhc2FraSd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidOUicsJ25hbWUnOidOYXJhJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J05JJywnbmFtZSc6J05paWdhdGEnfSwNCiAgICAnMzAnIDogeydjb2RlJzonT0knLCduYW1lJzonT2l0YSd9LA0KICAgICczMScgOiB7J2NvZGUnOidPSycsJ25hbWUnOidPa2F5YW1hJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J09OJywnbmFtZSc6J09raW5hd2EnfSwNCiAgICAnMzMnIDogeydjb2RlJzonT1MnLCduYW1lJzonT3Nha2EnfSwNCiAgICAnMzQnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2FnYSd9LA0KICAgICczNScgOiB7J2NvZGUnOidTSScsJ25hbWUnOidTYWl0YW1hJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J1NIJywnbmFtZSc6J1NoaWdhJ30sDQogICAgJzM3JyA6IHsnY29kZSc6J1NNJywnbmFtZSc6J1NoaW1hbmUnfSwNCiAgICAnMzgnIDogeydjb2RlJzonU1onLCduYW1lJzonU2hpenVva2EnfSwNCiAgICAnMzknIDogeydjb2RlJzonVE8nLCduYW1lJzonVG9jaGlnaSd9LA0KICAgICc0MCcgOiB7J2NvZGUnOidUUycsJ25hbWUnOidUb2t1c2hpbWEnfSwNCiAgICAnNDEnIDogeydjb2RlJzonVEsnLCduYW1lJzonVG9reW8nfSwNCiAgICAnNDInIDogeydjb2RlJzonVFQnLCduYW1lJzonVG90dG9yaSd9LA0KICAgICc0MycgOiB7J2NvZGUnOidUWScsJ25hbWUnOidUb3lhbWEnfSwNCiAgICAnNDQnIDogeydjb2RlJzonV0EnLCduYW1lJzonV2FrYXlhbWEnfSwNCiAgICAnNDUnIDogeydjb2RlJzonWUEnLCduYW1lJzonWWFtYWdhdGEnfSwNCiAgICAnNDYnIDogeydjb2RlJzonWU0nLCduYW1lJzonWWFtYWd1Y2hpJ30sDQogICAgJzQ3JyA6IHsnY29kZSc6J1lOJywnbmFtZSc6J1lhbWFuYXNoaSd9DQogIH0sDQogICdKTyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FNJywnbmFtZSc6J1wnQW1tYW4nfSwNCiAgICAnMicgOiB7J2NvZGUnOidBSicsJ25hbWUnOidBamx1bid9LA0KICAgICczJyA6IHsnY29kZSc6J0FBJywnbmFtZSc6J0FsXCdBcWFiYWgnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBbCBCYWxxYVwnJ30sDQogICAgJzUnIDogeydjb2RlJzonQUsnLCduYW1lJzonQWwgS2FyYWsnfSwNCiAgICAnNicgOiB7J2NvZGUnOidBTCcsJ25hbWUnOidBbCBNYWZyYXEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidBVCcsJ25hbWUnOidBdCBUYWZpbGFoJ30sDQogICAgJzgnIDogeydjb2RlJzonQVonLCduYW1lJzonQXogWmFycWFcJyd9LA0KICAgICc5JyA6IHsnY29kZSc6J0lSJywnbmFtZSc6J0lyYmlkJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0pBJywnbmFtZSc6J0phcmFzaCd9LA0KICAgICcxMScgOiB7J2NvZGUnOidNQScsJ25hbWUnOidNYVwnYW4nfSwNCiAgICAnMTInIDogeydjb2RlJzonTUQnLCduYW1lJzonTWFkYWJhJ30NCiAgfSwNCiAgJ0taJzp7DQogICAgJzEnIDogeydjb2RlJzonQUwnLCduYW1lJzonQWxtYXR5J30sDQogICAgJzInIDogeydjb2RlJzonQUMnLCduYW1lJzonQWxtYXR5IENpdHknfSwNCiAgICAnMycgOiB7J2NvZGUnOidBTScsJ25hbWUnOidBcW1vbGEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidBUScsJ25hbWUnOidBcXRvYmUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidBUycsJ25hbWUnOidBc3RhbmEgQ2l0eSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0FUJywnbmFtZSc6J0F0eXJhdSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JhdHlzIFFhemFxc3Rhbid9LA0KICAgICc4JyA6IHsnY29kZSc6J0JZJywnbmFtZSc6J0JheXFvbmd5ciBDaXR5J30sDQogICAgJzknIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFuZ2doeXN0YXUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonT04nLCduYW1lJzonT25ndHVzdGlrIFFhemFxc3Rhbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQYXZsb2Rhcid9LA0KICAgICcxMicgOiB7J2NvZGUnOidRQScsJ25hbWUnOidRYXJhZ2hhbmR5J30sDQogICAgJzEzJyA6IHsnY29kZSc6J1FPJywnbmFtZSc6J1Fvc3RhbmF5J30sDQogICAgJzE0JyA6IHsnY29kZSc6J1FZJywnbmFtZSc6J1F5enlsb3JkYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidTSCcsJ25hbWUnOidTaHlnaHlzIFFhemFxc3Rhbid9LA0KICAgICcxNicgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb2x0dXN0aWsgUWF6YXFzdGFuJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1pIJywnbmFtZSc6J1poYW1ieWwnfQ0KICB9LA0KICAnS0UnOnsNCiAgICAnMScgOiB7J2NvZGUnOidDRScsJ25hbWUnOidDZW50cmFsJ30sDQogICAgJzInIDogeydjb2RlJzonQ08nLCduYW1lJzonQ29hc3QnfSwNCiAgICAnMycgOiB7J2NvZGUnOidFQScsJ25hbWUnOidFYXN0ZXJuJ30sDQogICAgJzQnIDogeydjb2RlJzonTkEnLCduYW1lJzonTmFpcm9iaSBBcmVhJ30sDQogICAgJzUnIDogeydjb2RlJzonTkUnLCduYW1lJzonTm9ydGggRWFzdGVybid9LA0KICAgICc2JyA6IHsnY29kZSc6J05ZJywnbmFtZSc6J055YW56YSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1JWJywnbmFtZSc6J1JpZnQgVmFsbGV5J30sDQogICAgJzgnIDogeydjb2RlJzonV0UnLCduYW1lJzonV2VzdGVybid9DQogIH0sDQogICdLSSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FHJywnbmFtZSc6J0FiYWlhbmcnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTScsJ25hbWUnOidBYmVtYW1hJ30sDQogICAgJzMnIDogeydjb2RlJzonQUsnLCduYW1lJzonQXJhbnVrYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FPJywnbmFtZSc6J0Fyb3JhZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JhbmFiYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0JFJywnbmFtZSc6J0JlcnUnfSwNCiAgICAnNycgOiB7J2NvZGUnOidiVCcsJ25hbWUnOidCdXRhcml0YXJpJ30sDQogICAgJzgnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2FudG9uJ30sDQogICAgJzknIDogeydjb2RlJzonS1InLCduYW1lJzonS2lyaXRpbWF0aSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidLVScsJ25hbWUnOidLdXJpYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNYWlhbmEnfSwNCiAgICAnMTInIDogeydjb2RlJzonTU4nLCduYW1lJzonTWFraW4nfSwNCiAgICAnMTMnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWFyYWtlaSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidOSScsJ25hbWUnOidOaWt1bmF1J30sDQogICAgJzE1JyA6IHsnY29kZSc6J05PJywnbmFtZSc6J05vbm91dGknfSwNCiAgICAnMTYnIDogeydjb2RlJzonT04nLCduYW1lJzonT25vdG9hJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1RUJywnbmFtZSc6J1RhYml0ZXVlYSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidUUicsJ25hbWUnOidUYWJ1YWVyYW4nfSwNCiAgICAnMTknIDogeydjb2RlJzonVE0nLCduYW1lJzonVGFtYW5hJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1RXJywnbmFtZSc6J1RhcmF3YSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidURScsJ25hbWUnOidUZXJhaW5hJ30NCiAgfSwNCiAgJ0tQJzp7DQogICAgJzEnIDogeydjb2RlJzonQ0hBJywnbmFtZSc6J0NoYWdhbmctZG8nfSwNCiAgICAnMicgOiB7J2NvZGUnOidIQUInLCduYW1lJzonSGFtZ3lvbmctYnVrdG8nfSwNCiAgICAnMycgOiB7J2NvZGUnOidIQU4nLCduYW1lJzonSGFtZ3lvbmctbmFtZG8nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidIV0InLCduYW1lJzonSHdhbmdoYWUtYnVrdG8nfSwNCiAgICAnNScgOiB7J2NvZGUnOidIV04nLCduYW1lJzonSHdhbmdoYWUtbmFtZG8nfSwNCiAgICAnNicgOiB7J2NvZGUnOidLQU4nLCduYW1lJzonS2FuZ3dvbi1kbyd9LA0KICAgICc3JyA6IHsnY29kZSc6J1BZQicsJ25hbWUnOidQXCd5b25nYW4tYnVrdG8nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidQWU4nLCduYW1lJzonUFwneW9uZ2FuLW5hbWRvJ30sDQogICAgJzknIDogeydjb2RlJzonWUFOJywnbmFtZSc6J1J5YW5nZ2FuZy1kbyAoWWFuZ2dhbmctZG8pJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J05BSicsJ25hbWUnOidSYXNvbiBEaXJlY3RseSBHb3Zlcm5lZCBDaXR5J30sDQogICAgJzExJyA6IHsnY29kZSc6J1BZTycsJ25hbWUnOidQXCd5b25neWFuZyBTcGVjaWFsIENpdHknfQ0KICB9LA0KICAnS1InOnsNCiAgICAnMScgOiB7J2NvZGUnOidDTycsJ25hbWUnOidDaFwndW5nY2hcJ29uZy1idWt0byd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0NoXCd1bmdjaFwnb25nLW5hbWRvJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0QnLCduYW1lJzonQ2hlanUtZG8nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDQicsJ25hbWUnOidDaG9sbGEtYnVrdG8nfSwNCiAgICAnNScgOiB7J2NvZGUnOidDTicsJ25hbWUnOidDaG9sbGEtbmFtZG8nfSwNCiAgICAnNicgOiB7J2NvZGUnOidJRycsJ25hbWUnOidJbmNoXCdvbi1nd2FuZ3lva3NpJ30sDQogICAgJzcnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2FuZ3dvbi1kbyd9LA0KICAgICc4JyA6IHsnY29kZSc6J0tHJywnbmFtZSc6J0t3YW5nanUtZ3dhbmd5b2tzaSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0tEJywnbmFtZSc6J0t5b25nZ2ktZG8nfSwNCiAgICAnMTAnIDogeydjb2RlJzonS0InLCduYW1lJzonS3lvbmdzYW5nLWJ1a3RvJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0tOJywnbmFtZSc6J0t5b25nc2FuZy1uYW1kbyd9LA0KICAgICcxMicgOiB7J2NvZGUnOidQRycsJ25hbWUnOidQdXNhbi1nd2FuZ3lva3NpJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1NvdWwtdFwndWtweW9sc2knfSwNCiAgICAnMTQnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFlZ3UtZ3dhbmd5b2tzaSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidURycsJ25hbWUnOidUYWVqb24tZ3dhbmd5b2tzaSd9DQogIH0sDQogICdLVyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0FsXCdBc2ltYWgnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBQScsJ25hbWUnOidBbCBBaG1hZGknfSwNCiAgICAnMycgOiB7J2NvZGUnOidBRicsJ25hbWUnOidBbCBGYXJ3YW5peWFoJ30sDQogICAgJzQnIDogeydjb2RlJzonQUonLCduYW1lJzonQWwgSmFocmFcJyd9LA0KICAgICc1JyA6IHsnY29kZSc6J0hBJywnbmFtZSc6J0hhd2FsbGknfQ0KICB9LA0KICAnS0cnOnsNCiAgICAnMScgOiB7J2NvZGUnOidHQicsJ25hbWUnOidCaXNoa2VrJ30sDQogICAgJzInIDogeydjb2RlJzonQicsJ25hbWUnOidCYXRrZW4nfSwNCiAgICAnMycgOiB7J2NvZGUnOidDJywnbmFtZSc6J0NodSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0onLCduYW1lJzonSmFsYWwtQWJhZCd9LA0KICAgICc1JyA6IHsnY29kZSc6J04nLCduYW1lJzonTmFyeW4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidPJywnbmFtZSc6J09zaCd9LA0KICAgICc3JyA6IHsnY29kZSc6J1QnLCduYW1lJzonVGFsYXMnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidZJywnbmFtZSc6J1lzeWstS29sJ30NCiAgfSwNCiAgJ0xBJzp7DQogICAgJzEnIDogeydjb2RlJzonVlQnLCduYW1lJzonVmllbnRpYW5lJ30sDQogICAgJzInIDogeydjb2RlJzonQVQnLCduYW1lJzonQXR0YXB1J30sDQogICAgJzMnIDogeydjb2RlJzonQksnLCduYW1lJzonQm9rZW8nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidCTCcsJ25hbWUnOidCb2xpa2hhbXhhaSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0NoYW1wYXNhayd9LA0KICAgICc2JyA6IHsnY29kZSc6J0hPJywnbmFtZSc6J0hvdWFwaGFuJ30sDQogICAgJzcnIDogeydjb2RlJzonS0gnLCduYW1lJzonS2hhbW1vdWFuJ30sDQogICAgJzgnIDogeydjb2RlJzonTE0nLCduYW1lJzonTG91YW5nIE5hbXRoYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0xQJywnbmFtZSc6J0xvdWFuZ3BoYWJhbmcnfSwNCiAgICAnMTAnIDogeydjb2RlJzonT1UnLCduYW1lJzonT3Vkb214YWknfSwNCiAgICAnMTEnIDogeydjb2RlJzonUEgnLCduYW1lJzonUGhvbmdzYWxpJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J1NMJywnbmFtZSc6J1NhbGF2YW4nfSwNCiAgICAnMTMnIDogeydjb2RlJzonU1YnLCduYW1lJzonU2F2YW5uYWtoZXQnfSwNCiAgICAnMTQnIDogeydjb2RlJzonVkknLCduYW1lJzonVmllbnRpYW5lJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1hBJywnbmFtZSc6J1hhaWduYWJvdWxpJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1hFJywnbmFtZSc6J1hla29uZyd9LA0KICAgICcxNycgOiB7J2NvZGUnOidYSScsJ25hbWUnOidYaWFuZ2tob2FuZyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidYTicsJ25hbWUnOidYYWlzb21ib3VuJ30NCiAgfSwNCiAgJ0xWJzp7DQogICAgJzEnIDogeydjb2RlJzonQUlaJywnbmFtZSc6J0FpemtyYXVrbGVzIFJham9ucyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FMVScsJ25hbWUnOidBbHVrc25lcyBSYWpvbnMnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCQUwnLCduYW1lJzonQmFsdnUgUmFqb25zJ30sDQogICAgJzQnIDogeydjb2RlJzonQkFVJywnbmFtZSc6J0JhdXNrYXMgUmFqb25zJ30sDQogICAgJzUnIDogeydjb2RlJzonQ0VTJywnbmFtZSc6J0Nlc3UgUmFqb25zJ30sDQogICAgJzYnIDogeydjb2RlJzonREdSJywnbmFtZSc6J0RhdWdhdnBpbHMgUmFqb25zJ30sDQogICAgJzcnIDogeydjb2RlJzonRE9CJywnbmFtZSc6J0RvYmVsZXMgUmFqb25zJ30sDQogICAgJzgnIDogeydjb2RlJzonR1VMJywnbmFtZSc6J0d1bGJlbmVzIFJham9ucyd9LA0KICAgICc5JyA6IHsnY29kZSc6J0pFSycsJ25hbWUnOidKZWthYnBpbHMgUmFqb25zJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0pHUicsJ25hbWUnOidKZWxnYXZhcyBSYWpvbnMnfSwNCiAgICAnMTEnIDogeydjb2RlJzonS1JBJywnbmFtZSc6J0tyYXNsYXZhcyBSYWpvbnMnfSwNCiAgICAnMTInIDogeydjb2RlJzonS1VMJywnbmFtZSc6J0t1bGRpZ2FzIFJham9ucyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidMUFInLCduYW1lJzonTGllcGFqYXMgUmFqb25zJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0xJTScsJ25hbWUnOidMaW1iYXp1IFJham9ucyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidMVUQnLCduYW1lJzonTHVkemFzIFJham9ucyd9LA0KICAgICcxNicgOiB7J2NvZGUnOidNQUQnLCduYW1lJzonTWFkb25hcyBSYWpvbnMnfSwNCiAgICAnMTcnIDogeydjb2RlJzonT0dSJywnbmFtZSc6J09ncmVzIFJham9ucyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidQUkUnLCduYW1lJzonUHJlaWx1IFJham9ucyd9LA0KICAgICcxOScgOiB7J2NvZGUnOidSWlInLCduYW1lJzonUmV6ZWtuZXMgUmFqb25zJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1JHUicsJ25hbWUnOidSaWdhcyBSYWpvbnMnfSwNCiAgICAnMjEnIDogeydjb2RlJzonU0FMJywnbmFtZSc6J1NhbGR1cyBSYWpvbnMnfSwNCiAgICAnMjInIDogeydjb2RlJzonVEFMJywnbmFtZSc6J1RhbHN1IFJham9ucyd9LA0KICAgICcyMycgOiB7J2NvZGUnOidUVUsnLCduYW1lJzonVHVrdW1hIFJham9ucyd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidWTEsnLCduYW1lJzonVmFsa2FzIFJham9ucyd9LA0KICAgICcyNScgOiB7J2NvZGUnOidWTE0nLCduYW1lJzonVmFsbWllcmFzIFJham9ucyd9LA0KICAgICcyNicgOiB7J2NvZGUnOidWU1InLCduYW1lJzonVmVudHNwaWxzIFJham9ucyd9LA0KICAgICcyNycgOiB7J2NvZGUnOidER1YnLCduYW1lJzonRGF1Z2F2cGlscyd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidKR1YnLCduYW1lJzonSmVsZ2F2YSd9LA0KICAgICcyOScgOiB7J2NvZGUnOidKVVInLCduYW1lJzonSnVybWFsYSd9LA0KICAgICczMCcgOiB7J2NvZGUnOidMUEsnLCduYW1lJzonTGllcGFqYSd9LA0KICAgICczMScgOiB7J2NvZGUnOidSWksnLCduYW1lJzonUmV6ZWtuZSd9LA0KICAgICczMicgOiB7J2NvZGUnOidSR0EnLCduYW1lJzonUmlnYSd9LA0KICAgICczMycgOiB7J2NvZGUnOidWU0wnLCduYW1lJzonVmVudHNwaWxzJ30NCiAgfSwNCiAgJ0xCJzp7DQogICAgJzEnIDogeydjb2RlJzonQklOJywnbmFtZSc6J0JpbnQgSmJlaWwnfSwNCiAgICAnMicgOiB7J2NvZGUnOidIQVMnLCduYW1lJzonSGFzYmF5YSd9LA0KICAgICczJyA6IHsnY29kZSc6J01BUicsJ25hbWUnOidNYXJqZXlvdW4nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidOQUInLCduYW1lJzonTmFiYXRpZWgnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCQUEnLCduYW1lJzonQmFhbGJlayd9LA0KICAgICc2JyA6IHsnY29kZSc6J0hFUicsJ25hbWUnOidIZXJtZWwnfSwNCiAgICAnNycgOiB7J2NvZGUnOidSQVMnLCduYW1lJzonUmFzaGF5YSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1dFUycsJ25hbWUnOidXZXN0ZXJuIEJlcWFhJ30sDQogICAgJzknIDogeydjb2RlJzonWkFIJywnbmFtZSc6J1phaGxlJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0FLSycsJ25hbWUnOidBa2thcid9LA0KICAgICcxMScgOiB7J2NvZGUnOidCQVQnLCduYW1lJzonQmF0cm91bid9LA0KICAgICcxMicgOiB7J2NvZGUnOidCU0gnLCduYW1lJzonQnNoYXJyaSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidLT1UnLCduYW1lJzonS291cmEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonTUlOJywnbmFtZSc6J01pbml5ZWgtRGFubml5ZWgnfSwNCiAgICAnMTUnIDogeydjb2RlJzonVFJJJywnbmFtZSc6J1RyaXBvbGknfSwNCiAgICAnMTYnIDogeydjb2RlJzonWkdIJywnbmFtZSc6J1pnaGFydGEnfSwNCiAgICAnMTcnIDogeydjb2RlJzonQUxFJywnbmFtZSc6J0FsZXknfSwNCiAgICAnMTgnIDogeydjb2RlJzonQkFBJywnbmFtZSc6J0JhYWJkYSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidCWUInLCduYW1lJzonQnlibG9zJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0NITycsJ25hbWUnOidDaG91Zid9LA0KICAgICcyMScgOiB7J2NvZGUnOidLRVMnLCduYW1lJzonS2Vzcndhbid9LA0KICAgICcyMicgOiB7J2NvZGUnOidNQVQnLCduYW1lJzonTWF0bid9LA0KICAgICcyMycgOiB7J2NvZGUnOidKRVonLCduYW1lJzonSmV6emluZSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidTSUQnLCduYW1lJzonU2lkb24nfSwNCiAgICAnMjUnIDogeydjb2RlJzonVFlSJywnbmFtZSc6J1R5cmUnfQ0KICB9LA0KICAnTFMnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCRScsJ25hbWUnOidCZXJlYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JCJywnbmFtZSc6J0J1dGhhLUJ1dGhlJ30sDQogICAgJzMnIDogeydjb2RlJzonTEUnLCduYW1lJzonTGVyaWJlJ30sDQogICAgJzQnIDogeydjb2RlJzonTUYnLCduYW1lJzonTWFmZXRlbmcnfSwNCiAgICAnNScgOiB7J2NvZGUnOidNUycsJ25hbWUnOidNYXNlcnUnfSwNCiAgICAnNicgOiB7J2NvZGUnOidNSCcsJ25hbWUnOidNb2hhbGVcJ3MgSG9layd9LA0KICAgICc3JyA6IHsnY29kZSc6J01LJywnbmFtZSc6J01va2hvdGxvbmcnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidRTicsJ25hbWUnOidRYWNoYVwncyBOZWsnfSwNCiAgICAnOScgOiB7J2NvZGUnOidRVCcsJ25hbWUnOidRdXRoaW5nJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1RUJywnbmFtZSc6J1RoYWJhLVRzZWthJ30NCiAgfSwNCiAgJ0xSJzp7DQogICAgJzEnIDogeydjb2RlJzonQkknLCduYW1lJzonQm9taSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JHJywnbmFtZSc6J0JvbmcnfSwNCiAgICAnMycgOiB7J2NvZGUnOidHQicsJ25hbWUnOidHcmFuZCBCYXNzYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0NNJywnbmFtZSc6J0dyYW5kIENhcGUgTW91bnQnfSwNCiAgICAnNScgOiB7J2NvZGUnOidHRycsJ25hbWUnOidHcmFuZCBHZWRlaCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0dLJywnbmFtZSc6J0dyYW5kIEtydSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0xPJywnbmFtZSc6J0xvZmEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidNRycsJ25hbWUnOidNYXJnaWJpJ30sDQogICAgJzknIDogeydjb2RlJzonTUwnLCduYW1lJzonTWFyeWxhbmQnfSwNCiAgICAnMTAnIDogeydjb2RlJzonTVMnLCduYW1lJzonTW9udHNlcnJhZG8nfSwNCiAgICAnMTEnIDogeydjb2RlJzonTkInLCduYW1lJzonTmltYmEnfSwNCiAgICAnMTInIDogeydjb2RlJzonUkMnLCduYW1lJzonUml2ZXIgQ2Vzcyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidTTicsJ25hbWUnOidTaW5vZSd9DQogIH0sDQogICdMWSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FKJywnbmFtZSc6J0FqZGFiaXlhJ30sDQogICAgJzInIDogeydjb2RlJzonQVonLCduYW1lJzonQWwgXCdBeml6aXlhaCd9LA0KICAgICczJyA6IHsnY29kZSc6J0ZBJywnbmFtZSc6J0FsIEZhdGloJ30sDQogICAgJzQnIDogeydjb2RlJzonSkEnLCduYW1lJzonQWwgSmFiYWwgYWwgQWtoZGFyJ30sDQogICAgJzUnIDogeydjb2RlJzonSlUnLCduYW1lJzonQWwgSnVmcmFoJ30sDQogICAgJzYnIDogeydjb2RlJzonS0gnLCduYW1lJzonQWwgS2h1bXMnfSwNCiAgICAnNycgOiB7J2NvZGUnOidLVScsJ25hbWUnOidBbCBLdWZyYWgnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidOSycsJ25hbWUnOidBbiBOdXFhdCBhbCBLaGFtcyd9LA0KICAgICc5JyA6IHsnY29kZSc6J0FTJywnbmFtZSc6J0FzaCBTaGF0aVwnJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0FXJywnbmFtZSc6J0F3YmFyaSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidaQScsJ25hbWUnOidBeiBaYXdpeWFoJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JhbmdoYXppJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0RBJywnbmFtZSc6J0Rhcm5haCd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidHRCcsJ25hbWUnOidHaGFkYW1pcyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidHWScsJ25hbWUnOidHaGFyeWFuJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J01JJywnbmFtZSc6J01pc3JhdGFoJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J01aJywnbmFtZSc6J011cnp1cSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidTQicsJ25hbWUnOidTYWJoYSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidTVycsJ25hbWUnOidTYXdmYWpqaW4nfSwNCiAgICAnMjAnIDogeydjb2RlJzonU1UnLCduYW1lJzonU3VydCd9LA0KICAgICcyMScgOiB7J2NvZGUnOidUTCcsJ25hbWUnOidUYXJhYnVsdXMgKFRyaXBvbGkpJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J1RIJywnbmFtZSc6J1Rhcmh1bmFoJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1RVJywnbmFtZSc6J1R1YnJ1cSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidZQScsJ25hbWUnOidZYWZyYW4nfSwNCiAgICAnMjUnIDogeydjb2RlJzonWkwnLCduYW1lJzonWmxpdGFuJ30NCiAgfSwNCiAgJ0xJJzp7DQogICAgJzEnIDogeydjb2RlJzonVicsJ25hbWUnOidWYWR1eid9LA0KICAgICcyJyA6IHsnY29kZSc6J0EnLCduYW1lJzonU2NoYWFuJ30sDQogICAgJzMnIDogeydjb2RlJzonQicsJ25hbWUnOidCYWx6ZXJzJ30sDQogICAgJzQnIDogeydjb2RlJzonTicsJ25hbWUnOidUcmllc2VuJ30sDQogICAgJzUnIDogeydjb2RlJzonRScsJ25hbWUnOidFc2NoZW4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidNJywnbmFtZSc6J01hdXJlbid9LA0KICAgICc3JyA6IHsnY29kZSc6J1QnLCduYW1lJzonVHJpZXNlbmJlcmcnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidSJywnbmFtZSc6J1J1Z2dlbGwnfSwNCiAgICAnOScgOiB7J2NvZGUnOidHJywnbmFtZSc6J0dhbXByaW4nfSwNCiAgICAnMTAnIDogeydjb2RlJzonTCcsJ25hbWUnOidTY2hlbGxlbmJlcmcnfSwNCiAgICAnMTEnIDogeydjb2RlJzonUCcsJ25hbWUnOidQbGFua2VuJ30NCiAgfSwNCiAgJ0xUJzp7DQogICAgJzEnIDogeydjb2RlJzonQUwnLCduYW1lJzonQWx5dHVzJ30sDQogICAgJzInIDogeydjb2RlJzonS0EnLCduYW1lJzonS2F1bmFzJ30sDQogICAgJzMnIDogeydjb2RlJzonS0wnLCduYW1lJzonS2xhaXBlZGEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidNQScsJ25hbWUnOidNYXJpamFtcG9sZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J1BBJywnbmFtZSc6J1BhbmV2ZXp5cyd9LA0KICAgICc2JyA6IHsnY29kZSc6J1NJJywnbmFtZSc6J1NpYXVsaWFpJ30sDQogICAgJzcnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGF1cmFnZSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1RFJywnbmFtZSc6J1RlbHNpYWknfSwNCiAgICAnOScgOiB7J2NvZGUnOidVVCcsJ25hbWUnOidVdGVuYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidWSScsJ25hbWUnOidWaWxuaXVzJ30NCiAgfSwNCiAgJ0xVJzp7DQogICAgJzEnIDogeydjb2RlJzonREQnLCduYW1lJzonRGlla2lyY2gnfSwNCiAgICAnMicgOiB7J2NvZGUnOidEQycsJ25hbWUnOidDbGVydmF1eCd9LA0KICAgICczJyA6IHsnY29kZSc6J0RSJywnbmFtZSc6J1JlZGFuZ2UnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidEVicsJ25hbWUnOidWaWFuZGVuJ30sDQogICAgJzUnIDogeydjb2RlJzonRFcnLCduYW1lJzonV2lsdHonfSwNCiAgICAnNicgOiB7J2NvZGUnOidHRycsJ25hbWUnOidHcmV2ZW5tYWNoZXInfSwNCiAgICAnNycgOiB7J2NvZGUnOidHRScsJ25hbWUnOidFY2h0ZXJuYWNoJ30sDQogICAgJzgnIDogeydjb2RlJzonR1InLCduYW1lJzonUmVtaWNoJ30sDQogICAgJzknIDogeydjb2RlJzonTEwnLCduYW1lJzonTHV4ZW1ib3VyZyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidMQycsJ25hbWUnOidDYXBlbGxlbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidMRScsJ25hbWUnOidFc2NoLXN1ci1BbHpldHRlJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0xNJywnbmFtZSc6J01lcnNjaCd9DQogIH0sDQogICdNTyc6ew0KICAgICcxJyA6IHsnY29kZSc6J09MRicsJ25hbWUnOidPdXIgTGFkeSBGYXRpbWEgUGFyaXNoJ30sDQogICAgJzInIDogeydjb2RlJzonQU5UJywnbmFtZSc6J1N0LiBBbnRob255IFBhcmlzaCd9LA0KICAgICczJyA6IHsnY29kZSc6J0xBWicsJ25hbWUnOidTdC4gTGF6YXJ1cyBQYXJpc2gnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDQVQnLCduYW1lJzonQ2F0aGVkcmFsIFBhcmlzaCd9LA0KICAgICc1JyA6IHsnY29kZSc6J0xBVycsJ25hbWUnOidTdC4gTGF3cmVuY2UgUGFyaXNoJ30NCiAgfSwNCiAgJ01LJzp7DQogICAgJzEnIDogeydjb2RlJzonQUVSJywnbmFtZSc6J0Flcm9kcm9tJ30sDQogICAgJzInIDogeydjb2RlJzonQVJBJywnbmFtZSc6J0FyYcSNaW5vdm8nfSwNCiAgICAnMycgOiB7J2NvZGUnOidCRVInLCduYW1lJzonQmVyb3ZvJ30sDQogICAgJzQnIDogeydjb2RlJzonQklUJywnbmFtZSc6J0JpdG9sYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0JPRycsJ25hbWUnOidCb2dkYW5jaSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0JPRycsJ25hbWUnOidCb2dvdmluamUnfSwNCiAgICAnNycgOiB7J2NvZGUnOidCT1MnLCduYW1lJzonQm9zaWxvdm8nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidCUlYnLCduYW1lJzonQnJ2ZW5pY2EnfSwNCiAgICAnOScgOiB7J2NvZGUnOidCVVQnLCduYW1lJzonQnV0ZWwnfSwNCiAgICAnMTAnIDogeydjb2RlJzonxIxBSScsJ25hbWUnOifEjGFpcid9LA0KICAgICcxMScgOiB7J2NvZGUnOifEjEHFoScsJ25hbWUnOifEjGHFoWthJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0NFTicsJ25hbWUnOidDZW50YXInfSwNCiAgICAnMTMnIDogeydjb2RlJzonQ0VOJywnbmFtZSc6J0NlbnRhciDFvXVwYSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOifEjGXFoScsJ25hbWUnOifEjGXFoWlub3ZvLU9ibGXFoSd9LA0KICAgICcxNScgOiB7J2NvZGUnOifEjFXEjCcsJ25hbWUnOifEjHXEjWVyLVNhbmRldm8nfSwNCiAgICAnMTYnIDogeydjb2RlJzonREVCJywnbmFtZSc6J0RlYmFyJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0RFQicsJ25hbWUnOidEZWJhcmNhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0RFTCcsJ25hbWUnOidEZWzEjWV2byd9LA0KICAgICcxOScgOiB7J2NvZGUnOidERU0nLCduYW1lJzonRGVtaXIgSGlzYXInfSwNCiAgICAnMjAnIDogeydjb2RlJzonREVNJywnbmFtZSc6J0RlbWlyIEthcGlqYSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidET0wnLCduYW1lJzonRG9sbmVuaSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidEUlUnLCduYW1lJzonRHJ1Z292byd9LA0KICAgICcyMycgOiB7J2NvZGUnOidHQVonLCduYW1lJzonR2F6aSBCYWJhJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J0dFVicsJ25hbWUnOidHZXZnZWxpamEnfSwNCiAgICAnMjUnIDogeydjb2RlJzonR0pPJywnbmFtZSc6J0dqb3LEjWUgUGV0cm92J30sDQogICAgJzI2JyA6IHsnY29kZSc6J0dPUycsJ25hbWUnOidHb3N0aXZhcid9LA0KICAgICcyNycgOiB7J2NvZGUnOidHUkEnLCduYW1lJzonR3JhZHNrbyd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidJTEknLCduYW1lJzonSWxpbmRlbid9LA0KICAgICcyOScgOiB7J2NvZGUnOidKRUcnLCduYW1lJzonSmVndW5vdmNlJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J0tBUicsJ25hbWUnOidLYXJiaW5jaSd9LA0KICAgICczMScgOiB7J2NvZGUnOidLQVInLCduYW1lJzonS2FycG_FoSd9LA0KICAgICczMicgOiB7J2NvZGUnOidLQVYnLCduYW1lJzonS2F2YWRhcmNpJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J0tJxIwnLCduYW1lJzonS2nEjWV2byd9LA0KICAgICczNCcgOiB7J2NvZGUnOidLSVMnLCduYW1lJzonS2lzZWxhIFZvZGEnfSwNCiAgICAnMzUnIDogeydjb2RlJzonS0_EjScsJ25hbWUnOidLb8SNYW5pJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J0tPTicsJ25hbWUnOidLb27EjWUnfSwNCiAgICAnMzcnIDogeydjb2RlJzonS1JBJywnbmFtZSc6J0tyYXRvdm8nfSwNCiAgICAnMzgnIDogeydjb2RlJzonS1JJJywnbmFtZSc6J0tyaXZhIFBhbGFua2EnfSwNCiAgICAnMzknIDogeydjb2RlJzonS1JJJywnbmFtZSc6J0tyaXZvZ2HFoXRhbmknfSwNCiAgICAnNDAnIDogeydjb2RlJzonS1JVJywnbmFtZSc6J0tydcWhZXZvJ30sDQogICAgJzQxJyA6IHsnY29kZSc6J0tVTScsJ25hbWUnOidLdW1hbm92byd9LA0KICAgICc0MicgOiB7J2NvZGUnOidMSVAnLCduYW1lJzonTGlwa292byd9LA0KICAgICc0MycgOiB7J2NvZGUnOidMT1onLCduYW1lJzonTG96b3ZvJ30sDQogICAgJzQ0JyA6IHsnY29kZSc6J01BSycsJ25hbWUnOidNYWtlZG9uc2thIEthbWVuaWNhJ30sDQogICAgJzQ1JyA6IHsnY29kZSc6J01BSycsJ25hbWUnOidNYWtlZG9uc2tpIEJyb2QnfSwNCiAgICAnNDYnIDogeydjb2RlJzonTUFWJywnbmFtZSc6J01hdnJvdm8gYW5kIFJvc3R1xaFhJ30sDQogICAgJzQ3JyA6IHsnY29kZSc6J01PRycsJ25hbWUnOidNb2dpbGEnfSwNCiAgICAnNDgnIDogeydjb2RlJzonTkVHJywnbmFtZSc6J05lZ290aW5vJ30sDQogICAgJzQ5JyA6IHsnY29kZSc6J05PVicsJ25hbWUnOidOb3ZhY2knfSwNCiAgICAnNTAnIDogeydjb2RlJzonTk9WJywnbmFtZSc6J05vdm8gU2Vsbyd9LA0KICAgICc1MScgOiB7J2NvZGUnOidPSFInLCduYW1lJzonT2hyaWQnfSwNCiAgICAnNTInIDogeydjb2RlJzonT1NMJywnbmFtZSc6J09zbG9tZWonfSwNCiAgICAnNTMnIDogeydjb2RlJzonUEVIJywnbmFtZSc6J1BlaMSNZXZvJ30sDQogICAgJzU0JyA6IHsnY29kZSc6J1BFVCcsJ25hbWUnOidQZXRyb3ZlYyd9LA0KICAgICc1NScgOiB7J2NvZGUnOidQTEEnLCduYW1lJzonUGxhc25pY2EnfSwNCiAgICAnNTYnIDogeydjb2RlJzonUFJJJywnbmFtZSc6J1ByaWxlcCd9LA0KICAgICc1NycgOiB7J2NvZGUnOidQUk8nLCduYW1lJzonUHJvYmnFoXRpcCd9LA0KICAgICc1OCcgOiB7J2NvZGUnOidSQUQnLCduYW1lJzonUmFkb3ZpxaEnfSwNCiAgICAnNTknIDogeydjb2RlJzonUkFOJywnbmFtZSc6J1JhbmtvdmNlJ30sDQogICAgJzYwJyA6IHsnY29kZSc6J1JFUycsJ25hbWUnOidSZXNlbid9LA0KICAgICc2MScgOiB7J2NvZGUnOidST1MnLCduYW1lJzonUm9zb21hbid9LA0KICAgICc2MicgOiB7J2NvZGUnOidTQVInLCduYW1lJzonU2FyYWonfSwNCiAgICAnNjMnIDogeydjb2RlJzonU09QJywnbmFtZSc6J1NvcGnFoXRlJ30sDQogICAgJzY0JyA6IHsnY29kZSc6J1NUQScsJ25hbWUnOidTdGFyIERvanJhbid9LA0KICAgICc2NScgOiB7J2NvZGUnOidTVEEnLCduYW1lJzonU3Rhcm8gTmFnb3JpxI1hbmUnfSwNCiAgICAnNjYnIDogeydjb2RlJzonxaBUSScsJ25hbWUnOifFoHRpcCd9LA0KICAgICc2NycgOiB7J2NvZGUnOidTVFInLCduYW1lJzonU3RydWdhJ30sDQogICAgJzY4JyA6IHsnY29kZSc6J1NUUicsJ25hbWUnOidTdHJ1bWljYSd9LA0KICAgICc2OScgOiB7J2NvZGUnOidTVFUnLCduYW1lJzonU3R1ZGVuacSNYW5pJ30sDQogICAgJzcwJyA6IHsnY29kZSc6J8WgVVQnLCduYW1lJzonxaB1dG8gT3JpemFyaSd9LA0KICAgICc3MScgOiB7J2NvZGUnOidTVkUnLCduYW1lJzonU3ZldGkgTmlrb2xlJ30sDQogICAgJzcyJyA6IHsnY29kZSc6J1RFQScsJ25hbWUnOidUZWFyY2UnfSwNCiAgICAnNzMnIDogeydjb2RlJzonVEVUJywnbmFtZSc6J1RldG92byd9LA0KICAgICc3NCcgOiB7J2NvZGUnOidWQUwnLCduYW1lJzonVmFsYW5kb3ZvJ30sDQogICAgJzc1JyA6IHsnY29kZSc6J1ZBUycsJ25hbWUnOidWYXNpbGV2byd9LA0KICAgICc3NicgOiB7J2NvZGUnOidWRUwnLCduYW1lJzonVmVsZXMnfSwNCiAgICAnNzcnIDogeydjb2RlJzonVkVWJywnbmFtZSc6J1ZldsSNYW5pJ30sDQogICAgJzc4JyA6IHsnY29kZSc6J1ZJTicsJ25hbWUnOidWaW5pY2EnfSwNCiAgICAnNzknIDogeydjb2RlJzonVlJBJywnbmFtZSc6J1ZyYW5lxaF0aWNhJ30sDQogICAgJzgwJyA6IHsnY29kZSc6J1ZSQScsJ25hbWUnOidWcmFwxI1pxaF0ZSd9LA0KICAgICc4MScgOiB7J2NvZGUnOidaQUonLCduYW1lJzonWmFqYXMnfSwNCiAgICAnODInIDogeydjb2RlJzonWkVMJywnbmFtZSc6J1plbGVuaWtvdm8nfSwNCiAgICAnODMnIDogeydjb2RlJzonxb1FTCcsJ25hbWUnOifFvWVsaW5vJ30sDQogICAgJzg0JyA6IHsnY29kZSc6J1pSTicsJ25hbWUnOidacm5vdmNpJ30NCiAgfSwNCiAgJ01HJzp7DQogICAgJzEnIDogeydjb2RlJzonQU4nLCduYW1lJzonQW50YW5hbmFyaXZvJ30sDQogICAgJzInIDogeydjb2RlJzonQVMnLCduYW1lJzonQW50c2lyYW5hbmEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidGTicsJ25hbWUnOidGaWFuYXJhbnRzb2EnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidNSicsJ25hbWUnOidNYWhhamFuZ2EnfSwNCiAgICAnNScgOiB7J2NvZGUnOidUTScsJ25hbWUnOidUb2FtYXNpbmEnfSwNCiAgICAnNicgOiB7J2NvZGUnOidUTCcsJ25hbWUnOidUb2xpYXJhJ30NCiAgfSwNCiAgJ01XJzp7DQogICAgJzEnIDogeydjb2RlJzonQkxLJywnbmFtZSc6J0JhbGFrYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JMVCcsJ25hbWUnOidCbGFudHlyZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0NLVycsJ25hbWUnOidDaGlrd2F3YSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0NSRCcsJ25hbWUnOidDaGlyYWR6dWx1J30sDQogICAgJzUnIDogeydjb2RlJzonQ1RQJywnbmFtZSc6J0NoaXRpcGEnfSwNCiAgICAnNicgOiB7J2NvZGUnOidERFonLCduYW1lJzonRGVkemEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidEV0EnLCduYW1lJzonRG93YSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0tSRycsJ25hbWUnOidLYXJvbmdhJ30sDQogICAgJzknIDogeydjb2RlJzonS1NHJywnbmFtZSc6J0thc3VuZ3UnfSwNCiAgICAnMTAnIDogeydjb2RlJzonTEtNJywnbmFtZSc6J0xpa29tYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidMTEcnLCduYW1lJzonTGlsb25nd2UnfSwNCiAgICAnMTInIDogeydjb2RlJzonTUNHJywnbmFtZSc6J01hY2hpbmdhJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J01HQycsJ25hbWUnOidNYW5nb2NoaSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidNQ0gnLCduYW1lJzonTWNoaW5qaSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidNTEonLCduYW1lJzonTXVsYW5qZSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidNV1onLCduYW1lJzonTXdhbnphJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J01aTScsJ25hbWUnOidNemltYmEnfSwNCiAgICAnMTgnIDogeydjb2RlJzonTlRVJywnbmFtZSc6J050Y2hldSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidOS0InLCduYW1lJzonTmtoYXRhIEJheSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidOS0gnLCduYW1lJzonTmtob3Rha290YSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidOU0onLCduYW1lJzonTnNhbmplJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J05USScsJ25hbWUnOidOdGNoaXNpJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1BITCcsJ25hbWUnOidQaGFsb21iZSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidSTVAnLCduYW1lJzonUnVtcGhpJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J1NMTScsJ25hbWUnOidTYWxpbWEnfSwNCiAgICAnMjYnIDogeydjb2RlJzonVEhZJywnbmFtZSc6J1RoeW9sbyd9LA0KICAgICcyNycgOiB7J2NvZGUnOidaQkEnLCduYW1lJzonWm9tYmEnfQ0KICB9LA0KICAnTVknOnsNCiAgICAnMScgOiB7J2NvZGUnOidKb2hvcicsJ25hbWUnOidKb2hvcid9LA0KICAgICcyJyA6IHsnY29kZSc6J0tlZGFoJywnbmFtZSc6J0tlZGFoJ30sDQogICAgJzMnIDogeydjb2RlJzonS2VsYW50YW4nLCduYW1lJzonS2VsYW50YW4nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidMYWJ1YW4nLCduYW1lJzonTGFidWFuJ30sDQogICAgJzUnIDogeydjb2RlJzonTWVsYWthJywnbmFtZSc6J01lbGFrYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J05lZ2VyaSBTZW1iaWxhbicsJ25hbWUnOidOZWdlcmkgU2VtYmlsYW4nfSwNCiAgICAnNycgOiB7J2NvZGUnOidQYWhhbmcnLCduYW1lJzonUGFoYW5nJ30sDQogICAgJzgnIDogeydjb2RlJzonUGVyYWsnLCduYW1lJzonUGVyYWsnfSwNCiAgICAnOScgOiB7J2NvZGUnOidQZXJsaXMnLCduYW1lJzonUGVybGlzJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1B1bGF1IFBpbmFuZycsJ25hbWUnOidQdWxhdSBQaW5hbmcnfSwNCiAgICAnMTEnIDogeydjb2RlJzonU2FiYWgnLCduYW1lJzonU2FiYWgnfSwNCiAgICAnMTInIDogeydjb2RlJzonU2FyYXdhaycsJ25hbWUnOidTYXJhd2FrJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1NlbGFuZ29yJywnbmFtZSc6J1NlbGFuZ29yJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1RlcmVuZ2dhbnUnLCduYW1lJzonVGVyZW5nZ2FudSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidLdWFsYSBMdW1wdXInLCduYW1lJzonS3VhbGEgTHVtcHVyJ30NCiAgfSwNCiAgJ01WJzp7DQogICAgJzEnIDogeydjb2RlJzonQUFEJywnbmFtZSc6J0FyaSBBdG9sbCBEaGVrbnUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBQVUnLCduYW1lJzonQXJpIEF0b2xsIFV0aHVydSd9LA0KICAgICczJyA6IHsnY29kZSc6J0FERCcsJ25hbWUnOidBZGR1J30sDQogICAgJzQnIDogeydjb2RlJzonRkFBJywnbmFtZSc6J0ZhYWRoaXBwb2xodSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0ZFQScsJ25hbWUnOidGZWxpZGhlIEF0b2xsJ30sDQogICAgJzYnIDogeydjb2RlJzonRk1VJywnbmFtZSc6J0Z1YSBNdWxha3UnfSwNCiAgICAnNycgOiB7J2NvZGUnOidIQUQnLCduYW1lJzonSHV2YWRodSBBdG9sbCBEaGVrdW51J30sDQogICAgJzgnIDogeydjb2RlJzonSEFVJywnbmFtZSc6J0h1dmFkaHUgQXRvbGwgVXRodXJ1J30sDQogICAgJzknIDogeydjb2RlJzonSERIJywnbmFtZSc6J0hhZGhkaHVubWF0aGknfSwNCiAgICAnMTAnIDogeydjb2RlJzonS0xIJywnbmFtZSc6J0tvbGh1bWFkdWx1J30sDQogICAgJzExJyA6IHsnY29kZSc6J01BQScsJ25hbWUnOidNYWxlIEF0b2xsJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J01BRCcsJ25hbWUnOidNYWFsaG9zbWFkdWx1IERoZWt1bnUnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTUFVJywnbmFtZSc6J01hYWxob3NtYWR1bHUgVXRodXJ1J30sDQogICAgJzE0JyA6IHsnY29kZSc6J01MRCcsJ25hbWUnOidNaWxhZGh1bm1hZHVsdSBEaGVrdW51J30sDQogICAgJzE1JyA6IHsnY29kZSc6J01MVScsJ25hbWUnOidNaWxhZGh1bm1hZHVsdSBVdGh1cnUnfSwNCiAgICAnMTYnIDogeydjb2RlJzonTVVBJywnbmFtZSc6J011bGFrdSBBdG9sbCd9LA0KICAgICcxNycgOiB7J2NvZGUnOidOQUQnLCduYW1lJzonTmlsYW5kaGUgQXRvbGwgRGhla3VudSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidOQVUnLCduYW1lJzonTmlsYW5kaGUgQXRvbGwgVXRodXJ1J30sDQogICAgJzE5JyA6IHsnY29kZSc6J1RIRCcsJ25hbWUnOidUaGlsYWRodW5tYXRoaSBEaGVrdW51J30sDQogICAgJzIwJyA6IHsnY29kZSc6J1RIVScsJ25hbWUnOidUaGlsYWRodW5tYXRoaSBVdGh1cnUnfQ0KICB9LA0KICAnTUwnOnsNCiAgICAnMScgOiB7J2NvZGUnOidHQScsJ25hbWUnOidHYW8nfSwNCiAgICAnMicgOiB7J2NvZGUnOidLWScsJ25hbWUnOidLYXllcyd9LA0KICAgICczJyA6IHsnY29kZSc6J0tEJywnbmFtZSc6J0tpZGFsJ30sDQogICAgJzQnIDogeydjb2RlJzonS0wnLCduYW1lJzonS291bGlrb3JvJ30sDQogICAgJzUnIDogeydjb2RlJzonTVAnLCduYW1lJzonTW9wdGknfSwNCiAgICAnNicgOiB7J2NvZGUnOidTRycsJ25hbWUnOidTZWdvdSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1NLJywnbmFtZSc6J1Npa2Fzc28nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidUQicsJ25hbWUnOidUb21ib3VjdG91J30sDQogICAgJzknIDogeydjb2RlJzonQ0QnLCduYW1lJzonQmFtYWtvIENhcGl0YWwgRGlzdHJpY3QnfQ0KICB9LA0KICAnTVQnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBVFQnLCduYW1lJzonQXR0YXJkJ30sDQogICAgJzInIDogeydjb2RlJzonQkFMJywnbmFtZSc6J0JhbHphbid9LA0KICAgICczJyA6IHsnY29kZSc6J0JHVScsJ25hbWUnOidCaXJndSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0JLSycsJ25hbWUnOidCaXJraXJrYXJhJ30sDQogICAgJzUnIDogeydjb2RlJzonQlJaJywnbmFtZSc6J0JpcnplYmJ1Z2EnfSwNCiAgICAnNicgOiB7J2NvZGUnOidCT1InLCduYW1lJzonQm9ybWxhJ30sDQogICAgJzcnIDogeydjb2RlJzonRElOJywnbmFtZSc6J0RpbmdsaSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0ZHVScsJ25hbWUnOidGZ3VyYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0ZMTycsJ25hbWUnOidGbG9yaWFuYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidHREonLCduYW1lJzonR3VkamEnfSwNCiAgICAnMTEnIDogeydjb2RlJzonR1pSJywnbmFtZSc6J0d6aXJhJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0dSRycsJ25hbWUnOidHYXJndXInfSwNCiAgICAnMTMnIDogeydjb2RlJzonR1hRJywnbmFtZSc6J0dheGFxJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0hNUicsJ25hbWUnOidIYW1ydW4nfSwNCiAgICAnMTUnIDogeydjb2RlJzonSUtMJywnbmFtZSc6J0lrbGluJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0lTTCcsJ25hbWUnOidJc2xhJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0tMSycsJ25hbWUnOidLYWxrYXJhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0tSSycsJ25hbWUnOidLaXJrb3AnfSwNCiAgICAnMTknIDogeydjb2RlJzonTElKJywnbmFtZSc6J0xpamEnfSwNCiAgICAnMjAnIDogeydjb2RlJzonTFVRJywnbmFtZSc6J0x1cWEnfSwNCiAgICAnMjEnIDogeydjb2RlJzonTVJTJywnbmFtZSc6J01hcnNhJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J01LTCcsJ25hbWUnOidNYXJzYXNrYWxhJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J01YTCcsJ25hbWUnOidNYXJzYXhsb2trJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J01ETicsJ25hbWUnOidNZGluYSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidNRUwnLCduYW1lJzonTWVsbGllYSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidNR1InLCduYW1lJzonTWdhcnInfSwNCiAgICAnMjcnIDogeydjb2RlJzonTVNUJywnbmFtZSc6J01vc3RhJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J01RQScsJ25hbWUnOidNcWFiYmEnfSwNCiAgICAnMjknIDogeydjb2RlJzonTVNJJywnbmFtZSc6J01zaWRhJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J01URicsJ25hbWUnOidNdGFyZmEnfSwNCiAgICAnMzEnIDogeydjb2RlJzonTkFYJywnbmFtZSc6J05heHhhcid9LA0KICAgICczMicgOiB7J2NvZGUnOidQQU8nLCduYW1lJzonUGFvbGEnfSwNCiAgICAnMzMnIDogeydjb2RlJzonUEVNJywnbmFtZSc6J1BlbWJyb2tlJ30sDQogICAgJzM0JyA6IHsnY29kZSc6J1BJRScsJ25hbWUnOidQaWV0YSd9LA0KICAgICczNScgOiB7J2NvZGUnOidRT1InLCduYW1lJzonUW9ybWknfSwNCiAgICAnMzYnIDogeydjb2RlJzonUVJFJywnbmFtZSc6J1FyZW5kaSd9LA0KICAgICczNycgOiB7J2NvZGUnOidSQUInLCduYW1lJzonUmFiYXQnfSwNCiAgICAnMzgnIDogeydjb2RlJzonU0FGJywnbmFtZSc6J1NhZmknfSwNCiAgICAnMzknIDogeydjb2RlJzonU0dJJywnbmFtZSc6J1NhbiBHaWxqYW4nfSwNCiAgICAnNDAnIDogeydjb2RlJzonU0xVJywnbmFtZSc6J1NhbnRhIEx1Y2lqYSd9LA0KICAgICc0MScgOiB7J2NvZGUnOidTUEInLCduYW1lJzonU2FuIFBhd2wgaWwtQmFoYXInfSwNCiAgICAnNDInIDogeydjb2RlJzonU0dXJywnbmFtZSc6J1NhbiBHd2Fubid9LA0KICAgICc0MycgOiB7J2NvZGUnOidTVkUnLCduYW1lJzonU2FudGEgVmVuZXJhJ30sDQogICAgJzQ0JyA6IHsnY29kZSc6J1NJRycsJ25hbWUnOidTaWdnaWV3aSd9LA0KICAgICc0NScgOiB7J2NvZGUnOidTTE0nLCduYW1lJzonU2xpZW1hJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J1NXUScsJ25hbWUnOidTd2llcWknfSwNCiAgICAnNDcnIDogeydjb2RlJzonVFhCJywnbmFtZSc6J1RhIFhiaWV4J30sDQogICAgJzQ4JyA6IHsnY29kZSc6J1RSWCcsJ25hbWUnOidUYXJ4aWVuJ30sDQogICAgJzQ5JyA6IHsnY29kZSc6J1ZMVCcsJ25hbWUnOidWYWxsZXR0YSd9LA0KICAgICc1MCcgOiB7J2NvZGUnOidYR0onLCduYW1lJzonWGdhanJhJ30sDQogICAgJzUxJyA6IHsnY29kZSc6J1pCUicsJ25hbWUnOidaYWJiYXInfSwNCiAgICAnNTInIDogeydjb2RlJzonWkJHJywnbmFtZSc6J1plYmJ1Zyd9LA0KICAgICc1MycgOiB7J2NvZGUnOidaSlQnLCduYW1lJzonWmVqdHVuJ30sDQogICAgJzU0JyA6IHsnY29kZSc6J1pSUScsJ25hbWUnOidadXJyaWVxJ30sDQogICAgJzU1JyA6IHsnY29kZSc6J0ZOVCcsJ25hbWUnOidGb250YW5hJ30sDQogICAgJzU2JyA6IHsnY29kZSc6J0dISicsJ25hbWUnOidHaGFqbnNpZWxlbSd9LA0KICAgICc1NycgOiB7J2NvZGUnOidHSFInLCduYW1lJzonR2hhcmInfSwNCiAgICAnNTgnIDogeydjb2RlJzonR0hTJywnbmFtZSc6J0doYXNyaSd9LA0KICAgICc1OScgOiB7J2NvZGUnOidLUkMnLCduYW1lJzonS2VyY2VtJ30sDQogICAgJzYwJyA6IHsnY29kZSc6J01VTicsJ25hbWUnOidNdW54YXInfSwNCiAgICAnNjEnIDogeydjb2RlJzonTkFEJywnbmFtZSc6J05hZHVyJ30sDQogICAgJzYyJyA6IHsnY29kZSc6J1FBTCcsJ25hbWUnOidRYWxhJ30sDQogICAgJzYzJyA6IHsnY29kZSc6J1ZJQycsJ25hbWUnOidWaWN0b3JpYSd9LA0KICAgICc2NCcgOiB7J2NvZGUnOidTTEEnLCduYW1lJzonU2FuIExhd3JlbnonfSwNCiAgICAnNjUnIDogeydjb2RlJzonU05UJywnbmFtZSc6J1Nhbm5hdCd9LA0KICAgICc2NicgOiB7J2NvZGUnOidaQUcnLCduYW1lJzonWGFncmEnfSwNCiAgICAnNjcnIDogeydjb2RlJzonWEVXJywnbmFtZSc6J1hld2tpamEnfSwNCiAgICAnNjgnIDogeydjb2RlJzonWkVCJywnbmFtZSc6J1plYmJ1Zyd9DQogIH0sDQogICdNSCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FMRycsJ25hbWUnOidBaWxpbmdpbmFlJ30sDQogICAgJzInIDogeydjb2RlJzonQUxMJywnbmFtZSc6J0FpbGluZ2xhcGxhcCd9LA0KICAgICczJyA6IHsnY29kZSc6J0FMSycsJ25hbWUnOidBaWx1ayd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FSTicsJ25hbWUnOidBcm5vJ30sDQogICAgJzUnIDogeydjb2RlJzonQVVSJywnbmFtZSc6J0F1cid9LA0KICAgICc2JyA6IHsnY29kZSc6J0JLUicsJ25hbWUnOidCaWthcid9LA0KICAgICc3JyA6IHsnY29kZSc6J0JLTicsJ25hbWUnOidCaWtpbmknfSwNCiAgICAnOCcgOiB7J2NvZGUnOidCS0snLCduYW1lJzonQm9rYWsnfSwNCiAgICAnOScgOiB7J2NvZGUnOidFQk4nLCduYW1lJzonRWJvbid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidFTlQnLCduYW1lJzonRW5ld2V0YWsnfSwNCiAgICAnMTEnIDogeydjb2RlJzonRUtCJywnbmFtZSc6J0VyaWt1Yid9LA0KICAgICcxMicgOiB7J2NvZGUnOidKQlQnLCduYW1lJzonSmFiYXQnfSwNCiAgICAnMTMnIDogeydjb2RlJzonSkxUJywnbmFtZSc6J0phbHVpdCd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidKRU0nLCduYW1lJzonSmVtbyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidLSUwnLCduYW1lJzonS2lsaSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidLV0onLCduYW1lJzonS3dhamFsZWluJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0xBRScsJ25hbWUnOidMYWUnfSwNCiAgICAnMTgnIDogeydjb2RlJzonTElCJywnbmFtZSc6J0xpYid9LA0KICAgICcxOScgOiB7J2NvZGUnOidMS1AnLCduYW1lJzonTGlraWVwJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J01KUicsJ25hbWUnOidNYWp1cm8nfSwNCiAgICAnMjEnIDogeydjb2RlJzonTUxQJywnbmFtZSc6J01hbG9lbGFwJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J01KVCcsJ25hbWUnOidNZWppdCd9LA0KICAgICcyMycgOiB7J2NvZGUnOidNSUwnLCduYW1lJzonTWlsaSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidOTUsnLCduYW1lJzonTmFtb3Jpayd9LA0KICAgICcyNScgOiB7J2NvZGUnOidOQU0nLCduYW1lJzonTmFtdSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidSR0wnLCduYW1lJzonUm9uZ2VsYXAnfSwNCiAgICAnMjcnIDogeydjb2RlJzonUkdLJywnbmFtZSc6J1JvbmdyaWsnfSwNCiAgICAnMjgnIDogeydjb2RlJzonVE9LJywnbmFtZSc6J1Rva2UnfSwNCiAgICAnMjknIDogeydjb2RlJzonVUpBJywnbmFtZSc6J1VqYWUnfSwNCiAgICAnMzAnIDogeydjb2RlJzonVUpMJywnbmFtZSc6J1VqZWxhbmcnfSwNCiAgICAnMzEnIDogeydjb2RlJzonVVRLJywnbmFtZSc6J1V0aXJpayd9LA0KICAgICczMicgOiB7J2NvZGUnOidXVEgnLCduYW1lJzonV290aG8nfSwNCiAgICAnMzMnIDogeydjb2RlJzonV1RKJywnbmFtZSc6J1dvdGplJ30NCiAgfSwNCiAgJ01RJzp7DQogICAgJzEnIDogeydjb2RlJzonTEFKJywnbmFtZSc6J0xcJ0Fqb3VwYS1Cb3VpbGxvbid9LA0KICAgICcyJyA6IHsnY29kZSc6J0xFUycsJ25hbWUnOidMZXMgQW5zZXMtZFwnQXJsZXQnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCQVMnLCduYW1lJzonQmFzc2UtUG9pbnRlJ30sDQogICAgJzQnIDogeydjb2RlJzonQkVMJywnbmFtZSc6J0JlbGxlZm9udGFpbmUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZSBDYXJiZXQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidDQVMnLCduYW1lJzonQ2FzZS1QaWxvdGUnfSwNCiAgICAnNycgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZSBEaWFtYW50J30sDQogICAgJzgnIDogeydjb2RlJzonRFVDJywnbmFtZSc6J0R1Y29zJ30sDQogICAgJzknIDogeydjb2RlJzonRk9OJywnbmFtZSc6J0ZvbmRzLVNhaW50LURlbmlzJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0ZPUicsJ25hbWUnOidGb3J0LURlLUZyYW5jZSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZSBGcmFuw6dvaXMnfSwNCiAgICAnMTInIDogeydjb2RlJzonR1JBJywnbmFtZSc6J0dyYW5kXCdSaXZpw6hyZSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidHUk8nLCduYW1lJzonR3Jvcy1Nb3JuZSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZSBMYW1lbnRpbid9LA0KICAgICcxNScgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZSBMb3JyYWluJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J01BQycsJ25hbWUnOidNYWNvdWJhJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0xFJywnbmFtZSc6J0xlIE1hcmlnb3QnfSwNCiAgICAnMTgnIDogeydjb2RlJzonTEUnLCduYW1lJzonTGUgTWFyaW4nfSwNCiAgICAnMTknIDogeydjb2RlJzonTEUnLCduYW1lJzonTGUgTW9ybmUtUm91Z2UnfSwNCiAgICAnMjAnIDogeydjb2RlJzonTEUnLCduYW1lJzonTGUgTW9ybmUtVmVydCd9LA0KICAgICcyMScgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZSBQcsOqY2hldXInfSwNCiAgICAnMjInIDogeydjb2RlJzonUklWJywnbmFtZSc6J1JpdmnDqHJlLVBpbG90ZSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidSSVYnLCduYW1lJzonUml2acOocmUtU2Fsw6llJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J0xFJywnbmFtZSc6J0xlIFJvYmVydCd9LA0KICAgICcyNScgOiB7J2NvZGUnOidTQUknLCduYW1lJzonU2FpbnRlLUFubmUnfSwNCiAgICAnMjYnIDogeydjb2RlJzonU0FJJywnbmFtZSc6J1NhaW50ZS1MdWNlJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J1NBSScsJ25hbWUnOidTYWludGUtTWFyaWUnfSwNCiAgICAnMjgnIDogeydjb2RlJzonU0FJJywnbmFtZSc6J1NhaW50LUVzcHJpdCd9LA0KICAgICcyOScgOiB7J2NvZGUnOidTQUknLCduYW1lJzonU2FpbnQtSm9zZXBoJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J1NBSScsJ25hbWUnOidTYWludC1QaWVycmUnfSwNCiAgICAnMzEnIDogeydjb2RlJzonU0NIJywnbmFtZSc6J1NjaMWTbGNoZXInfSwNCiAgICAnMzInIDogeydjb2RlJzonTEEnLCduYW1lJzonTGEgVHJpbml0w6knfSwNCiAgICAnMzMnIDogeydjb2RlJzonTEVTJywnbmFtZSc6J0xlcyBUcm9pcy3DjmxldHMnfSwNCiAgICAnMzQnIDogeydjb2RlJzonTEUnLCduYW1lJzonTGUgVmF1Y2xpbid9DQogIH0sDQogICdNUic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FEJywnbmFtZSc6J0FkcmFyJ30sDQogICAgJzInIDogeydjb2RlJzonQVMnLCduYW1lJzonQXNzYWJhJ30sDQogICAgJzMnIDogeydjb2RlJzonQlInLCduYW1lJzonQnJha25hJ30sDQogICAgJzQnIDogeydjb2RlJzonRE4nLCduYW1lJzonRGFraGxldCBOb3VhZGhpYm91J30sDQogICAgJzUnIDogeydjb2RlJzonR08nLCduYW1lJzonR29yZ29sJ30sDQogICAgJzYnIDogeydjb2RlJzonR00nLCduYW1lJzonR3VpZGltYWthJ30sDQogICAgJzcnIDogeydjb2RlJzonSEMnLCduYW1lJzonSG9kaCBFY2ggQ2hhcmd1aSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0hHJywnbmFtZSc6J0hvZGggRWwgR2hhcmJpJ30sDQogICAgJzknIDogeydjb2RlJzonSU4nLCduYW1lJzonSW5jaGlyaSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidUQScsJ25hbWUnOidUYWdhbnQnfSwNCiAgICAnMTEnIDogeydjb2RlJzonVFonLCduYW1lJzonVGlyaXMgWmVtbW91cid9LA0KICAgICcxMicgOiB7J2NvZGUnOidUUicsJ25hbWUnOidUcmFyemEnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTk8nLCduYW1lJzonTm91YWtjaG90dCd9DQogIH0sDQogICdNVSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FHJywnbmFtZSc6J0FnYWxlZ2EgSXNsYW5kcyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JMJywnbmFtZSc6J0JsYWNrIFJpdmVyJ30sDQogICAgJzMnIDogeydjb2RlJzonQlInLCduYW1lJzonQmVhdSBCYXNzaW4tUm9zZSBIaWxsJ30sDQogICAgJzQnIDogeydjb2RlJzonQ0MnLCduYW1lJzonQ2FyZ2Fkb3MgQ2FyYWpvcyBTaG9hbHMgKFNhaW50IEIpJ30sDQogICAgJzUnIDogeydjb2RlJzonQ1UnLCduYW1lJzonQ3VyZXBpcGUnfSwNCiAgICAnNicgOiB7J2NvZGUnOidGTCcsJ25hbWUnOidGbGFjcSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0dQJywnbmFtZSc6J0dyYW5kIFBvcnQnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidNTycsJ25hbWUnOidNb2thJ30sDQogICAgJzknIDogeydjb2RlJzonUEEnLCduYW1lJzonUGFtcGxlbW91c3Nlcyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidQTCcsJ25hbWUnOidQb3J0IExvdWlzJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1BVJywnbmFtZSc6J1BvcnQgTG91aXMnfSwNCiAgICAnMTInIDogeydjb2RlJzonUFcnLCduYW1lJzonUGxhaW5lcyBXaWxoZW1zJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1FCJywnbmFtZSc6J1F1YXRyZSBCb3JuZXMnfSwNCiAgICAnMTQnIDogeydjb2RlJzonUk8nLCduYW1lJzonUm9kcmlndWVzJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1JSJywnbmFtZSc6J1JpdmllcmUgZHUgUmVtcGFydCd9LA0KICAgICcxNicgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTYXZhbm5lJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1ZQJywnbmFtZSc6J1ZhY29hcy1QaG9lbml4J30NCiAgfSwNCiAgJ1lUJzp7DQogICAgJzEnIDogeydjb2RlJzonRFpBJywnbmFtZSc6J0R6YW91ZHppJ30sDQogICAgJzInIDogeydjb2RlJzonUEFNJywnbmFtZSc6J1BhbWFuZHppJ30sDQogICAgJzMnIDogeydjb2RlJzonTUFNJywnbmFtZSc6J01hbW91ZHpvdSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0RFTScsJ25hbWUnOidEZW1iZW5pJ30sDQogICAgJzUnIDogeydjb2RlJzonQkFOJywnbmFtZSc6J0JhbmRyZWxlJ30sDQogICAgJzYnIDogeydjb2RlJzonS0FOJywnbmFtZSc6J0thbmktS8OpbGknfSwNCiAgICAnNycgOiB7J2NvZGUnOidCT1UnLCduYW1lJzonQm91w6luaSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0NISScsJ25hbWUnOidDaGlyb25ndWknfSwNCiAgICAnOScgOiB7J2NvZGUnOidTQUQnLCduYW1lJzonU2FkYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidPVUEnLCduYW1lJzonT3VhbmdhbmknfSwNCiAgICAnMTEnIDogeydjb2RlJzonQ0hJJywnbmFtZSc6J0NoaWNvbmknfSwNCiAgICAnMTInIDogeydjb2RlJzonVFNJJywnbmFtZSc6J1RzaW5nb25pJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J01UUycsJ25hbWUnOidNXCdUc2FuZ2Ftb3VqaSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidBQ08nLCduYW1lJzonQWNvdWEnfSwNCiAgICAnMTUnIDogeydjb2RlJzonTVRTJywnbmFtZSc6J010c2FtYm9ybyd9LA0KICAgICcxNicgOiB7J2NvZGUnOidCQU4nLCduYW1lJzonQmFuZHJhYm91YSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidLT1UnLCduYW1lJzonS291bmdvdSd9DQogIH0sDQogICdNWCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FHVScsJ25hbWUnOidBZ3Vhc2NhbGllbnRlcyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JDTicsJ25hbWUnOidCYWphIENhbGlmb3JuaWEgTm9ydGUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCQ1MnLCduYW1lJzonQmFqYSBDYWxpZm9ybmlhIFN1cid9LA0KICAgICc0JyA6IHsnY29kZSc6J0NBTScsJ25hbWUnOidDYW1wZWNoZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0NIUCcsJ25hbWUnOidDaGlhcGFzJ30sDQogICAgJzYnIDogeydjb2RlJzonQ0hIJywnbmFtZSc6J0NoaWh1YWh1YSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0NPQScsJ25hbWUnOidDb2FodWlsYSBkZSBaYXJhZ296YSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0NPTCcsJ25hbWUnOidDb2xpbWEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidESUYnLCduYW1lJzonRGlzdHJpdG8gRmVkZXJhbCd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidEVVInLCduYW1lJzonRHVyYW5nbyd9LA0KICAgICcxMScgOiB7J2NvZGUnOidHVUEnLCduYW1lJzonR3VhbmFqdWF0byd9LA0KICAgICcxMicgOiB7J2NvZGUnOidHUk8nLCduYW1lJzonR3VlcnJlcm8nfSwNCiAgICAnMTMnIDogeydjb2RlJzonSElEJywnbmFtZSc6J0hpZGFsZ28nfSwNCiAgICAnMTQnIDogeydjb2RlJzonSkFMJywnbmFtZSc6J0phbGlzY28nfSwNCiAgICAnMTUnIDogeydjb2RlJzonTUVYJywnbmFtZSc6J01leGljbyd9LA0KICAgICcxNicgOiB7J2NvZGUnOidNSUMnLCduYW1lJzonTWljaG9hY2FuIGRlIE9jYW1wbyd9LA0KICAgICcxNycgOiB7J2NvZGUnOidNT1InLCduYW1lJzonTW9yZWxvcyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidOQVknLCduYW1lJzonTmF5YXJpdCd9LA0KICAgICcxOScgOiB7J2NvZGUnOidOTEUnLCduYW1lJzonTnVldm8gTGVvbid9LA0KICAgICcyMCcgOiB7J2NvZGUnOidPQVgnLCduYW1lJzonT2F4YWNhJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J1BVRScsJ25hbWUnOidQdWVibGEnfSwNCiAgICAnMjInIDogeydjb2RlJzonUVVFJywnbmFtZSc6J1F1ZXJldGFybyBkZSBBcnRlYWdhJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1JPTycsJ25hbWUnOidRdWludGFuYSBSb28nfSwNCiAgICAnMjQnIDogeydjb2RlJzonU0xQJywnbmFtZSc6J1NhbiBMdWlzIFBvdG9zaSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidTSU4nLCduYW1lJzonU2luYWxvYSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidTT04nLCduYW1lJzonU29ub3JhJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J1RBQicsJ25hbWUnOidUYWJhc2NvJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J1RBTScsJ25hbWUnOidUYW1hdWxpcGFzJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J1RMQScsJ25hbWUnOidUbGF4Y2FsYSd9LA0KICAgICczMCcgOiB7J2NvZGUnOidWRVInLCduYW1lJzonVmVyYWNydXotTGxhdmUnfSwNCiAgICAnMzEnIDogeydjb2RlJzonWVVDJywnbmFtZSc6J1l1Y2F0YW4nfSwNCiAgICAnMzInIDogeydjb2RlJzonWkFDJywnbmFtZSc6J1phY2F0ZWNhcyd9DQogIH0sDQogICdGTSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0MnLCduYW1lJzonQ2h1dWsnfSwNCiAgICAnMicgOiB7J2NvZGUnOidLJywnbmFtZSc6J0tvc3JhZSd9LA0KICAgICczJyA6IHsnY29kZSc6J1AnLCduYW1lJzonUG9obnBlaSd9LA0KICAgICc0JyA6IHsnY29kZSc6J1knLCduYW1lJzonWWFwJ30NCiAgfSwNCiAgJ01EJzp7DQogICAgJzEnIDogeydjb2RlJzonR0EnLCduYW1lJzonR2FnYXV6aWEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidDVScsJ25hbWUnOidDaGlzaW5hdSd9LA0KICAgICczJyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JhbHRpJ30sDQogICAgJzQnIDogeydjb2RlJzonQ0EnLCduYW1lJzonQ2FodWwnfSwNCiAgICAnNScgOiB7J2NvZGUnOidFRCcsJ25hbWUnOidFZGluZXQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYXB1c25hJ30sDQogICAgJzcnIDogeydjb2RlJzonT1InLCduYW1lJzonT3JoZWknfSwNCiAgICAnOCcgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb3JvY2EnfSwNCiAgICAnOScgOiB7J2NvZGUnOidUSScsJ25hbWUnOidUaWdoaW5hJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1VOJywnbmFtZSc6J1VuZ2hlbmknfSwNCiAgICAnMTEnIDogeydjb2RlJzonU04nLCduYW1lJzonU3TDom5nYSBOaXN0cnVsdWknfQ0KICB9LA0KICAnTUMnOnsNCiAgICAnMScgOiB7J2NvZGUnOidGVicsJ25hbWUnOidGb250dmllaWxsZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0xDJywnbmFtZSc6J0xhIENvbmRhbWluZSd9LA0KICAgICczJyA6IHsnY29kZSc6J01WJywnbmFtZSc6J01vbmFjby1WaWxsZSd9LA0KICAgICc0JyA6IHsnY29kZSc6J01DJywnbmFtZSc6J01vbnRlLUNhcmxvJ30NCiAgfSwNCiAgJ01OJzp7DQogICAgJzEnIDogeydjb2RlJzonMScsJ25hbWUnOidVbGFuYmFhdGFyJ30sDQogICAgJzInIDogeydjb2RlJzonMDM1JywnbmFtZSc6J09yaG9uJ30sDQogICAgJzMnIDogeydjb2RlJzonMDM3JywnbmFtZSc6J0RhcmhhbiB1dWwnfSwNCiAgICAnNCcgOiB7J2NvZGUnOicwMzknLCduYW1lJzonSGVudGl5J30sDQogICAgJzUnIDogeydjb2RlJzonMDQxJywnbmFtZSc6J0hvdnNnb2wnfSwNCiAgICAnNicgOiB7J2NvZGUnOicwNDMnLCduYW1lJzonSG92ZCd9LA0KICAgICc3JyA6IHsnY29kZSc6JzA0NicsJ25hbWUnOidVdnMnfSwNCiAgICAnOCcgOiB7J2NvZGUnOicwNDcnLCduYW1lJzonVG92J30sDQogICAgJzknIDogeydjb2RlJzonMDQ5JywnbmFtZSc6J1NlbGVuZ2UnfSwNCiAgICAnMTAnIDogeydjb2RlJzonMDUxJywnbmFtZSc6J1N1aGJhYXRhcid9LA0KICAgICcxMScgOiB7J2NvZGUnOicwNTMnLCduYW1lJzonT21ub2dvdmknfSwNCiAgICAnMTInIDogeydjb2RlJzonMDU1JywnbmFtZSc6J092b3JoYW5nYXknfSwNCiAgICAnMTMnIDogeydjb2RlJzonMDU3JywnbmFtZSc6J0R6YXZoYW4nfSwNCiAgICAnMTQnIDogeydjb2RlJzonMDU5JywnbmFtZSc6J0R1bmRnb3ZMJ30sDQogICAgJzE1JyA6IHsnY29kZSc6JzA2MScsJ25hbWUnOidEb3Jub2QnfSwNCiAgICAnMTYnIDogeydjb2RlJzonMDYzJywnbmFtZSc6J0Rvcm5vZ292J30sDQogICAgJzE3JyA6IHsnY29kZSc6JzA2NCcsJ25hbWUnOidHb3ZpLVN1bWJlcid9LA0KICAgICcxOCcgOiB7J2NvZGUnOicwNjUnLCduYW1lJzonR292aS1BbHRheSd9LA0KICAgICcxOScgOiB7J2NvZGUnOicwNjcnLCduYW1lJzonQnVsZ2FuJ30sDQogICAgJzIwJyA6IHsnY29kZSc6JzA2OScsJ25hbWUnOidCYXlhbmhvbmdvcid9LA0KICAgICcyMScgOiB7J2NvZGUnOicwNzEnLCduYW1lJzonQmF5YW4tT2xnaXknfSwNCiAgICAnMjInIDogeydjb2RlJzonMDczJywnbmFtZSc6J0FyaGFuZ2F5J30NCiAgfSwNCiAgJ01TJzp7DQogICAgJzEnIDogeydjb2RlJzonQScsJ25hbWUnOidTYWludCBBbnRob255J30sDQogICAgJzInIDogeydjb2RlJzonRycsJ25hbWUnOidTYWludCBHZW9yZ2VzJ30sDQogICAgJzMnIDogeydjb2RlJzonUCcsJ25hbWUnOidTYWludCBQZXRlcid9DQogIH0sDQogICdNQSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FHRCcsJ25hbWUnOidBZ2FkaXInfSwNCiAgICAnMicgOiB7J2NvZGUnOidIT0MnLCduYW1lJzonQWwgSG9jZWltYSd9LA0KICAgICczJyA6IHsnY29kZSc6J0FaSScsJ25hbWUnOidBemlsYWwnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidCTUUnLCduYW1lJzonQmVuaSBNZWxsYWwnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCU0wnLCduYW1lJzonQmVuIFNsaW1hbmUnfSwNCiAgICAnNicgOiB7J2NvZGUnOidCTE0nLCduYW1lJzonQm91bGVtYW5lJ30sDQogICAgJzcnIDogeydjb2RlJzonQ0JMJywnbmFtZSc6J0Nhc2FibGFuY2EnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidDSEEnLCduYW1lJzonQ2hhb3Vlbid9LA0KICAgICc5JyA6IHsnY29kZSc6J0VKQScsJ25hbWUnOidFbCBKYWRpZGEnfSwNCiAgICAnMTAnIDogeydjb2RlJzonRUtTJywnbmFtZSc6J0VsIEtlbGFhIGRlcyBTcmFnaG5hJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0VSQScsJ25hbWUnOidFciBSYWNoaWRpYSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidFU1MnLCduYW1lJzonRXNzYW91aXJhJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0ZFUycsJ25hbWUnOidGZXMnfSwNCiAgICAnMTQnIDogeydjb2RlJzonRklHJywnbmFtZSc6J0ZpZ3VpZyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidHTE0nLCduYW1lJzonR3VlbG1pbSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidJRlInLCduYW1lJzonSWZyYW5lJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0tFTicsJ25hbWUnOidLZW5pdHJhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0tITScsJ25hbWUnOidLaGVtaXNzZXQnfSwNCiAgICAnMTknIDogeydjb2RlJzonS0hOJywnbmFtZSc6J0toZW5pZnJhJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0tITycsJ25hbWUnOidLaG91cmliZ2EnfSwNCiAgICAnMjEnIDogeydjb2RlJzonTFlOJywnbmFtZSc6J0xhYXlvdW5lJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0xBUicsJ25hbWUnOidMYXJhY2hlJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J01SSycsJ25hbWUnOidNYXJyYWtlY2gnfSwNCiAgICAnMjQnIDogeydjb2RlJzonTUtOJywnbmFtZSc6J01la25lcyd9LA0KICAgICcyNScgOiB7J2NvZGUnOidOQUQnLCduYW1lJzonTmFkb3InfSwNCiAgICAnMjYnIDogeydjb2RlJzonT1JaJywnbmFtZSc6J091YXJ6YXphdGUnfSwNCiAgICAnMjcnIDogeydjb2RlJzonT1VKJywnbmFtZSc6J091amRhJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J1JTQScsJ25hbWUnOidSYWJhdC1TYWxlJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J1NBRicsJ25hbWUnOidTYWZpJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J1NFVCcsJ25hbWUnOidTZXR0YXQnfSwNCiAgICAnMzEnIDogeydjb2RlJzonU0tBJywnbmFtZSc6J1NpZGkgS2FjZW0nfSwNCiAgICAnMzInIDogeydjb2RlJzonVEdSJywnbmFtZSc6J1RhbmdpZXInfSwNCiAgICAnMzMnIDogeydjb2RlJzonVEFOJywnbmFtZSc6J1Rhbi1UYW4nfSwNCiAgICAnMzQnIDogeydjb2RlJzonVEFPJywnbmFtZSc6J1Rhb3VuYXRlJ30sDQogICAgJzM1JyA6IHsnY29kZSc6J1RSRCcsJ25hbWUnOidUYXJvdWRhbm50J30sDQogICAgJzM2JyA6IHsnY29kZSc6J1RBVCcsJ25hbWUnOidUYXRhJ30sDQogICAgJzM3JyA6IHsnY29kZSc6J1RBWicsJ25hbWUnOidUYXphJ30sDQogICAgJzM4JyA6IHsnY29kZSc6J1RFVCcsJ25hbWUnOidUZXRvdWFuJ30sDQogICAgJzM5JyA6IHsnY29kZSc6J1RJWicsJ25hbWUnOidUaXpuaXQnfSwNCiAgICAnNDAnIDogeydjb2RlJzonQURLJywnbmFtZSc6J0FkIERha2hsYSd9LA0KICAgICc0MScgOiB7J2NvZGUnOidCSkQnLCduYW1lJzonQm91amRvdXInfSwNCiAgICAnNDInIDogeydjb2RlJzonRVNNJywnbmFtZSc6J0VzIFNtYXJhJ30NCiAgfSwNCiAgJ01aJzp7DQogICAgJzEnIDogeydjb2RlJzonQ0QnLCduYW1lJzonQ2FibyBEZWxnYWRvJ30sDQogICAgJzInIDogeydjb2RlJzonR1onLCduYW1lJzonR2F6YSd9LA0KICAgICczJyA6IHsnY29kZSc6J0lOJywnbmFtZSc6J0luaGFtYmFuZSd9LA0KICAgICc0JyA6IHsnY29kZSc6J01OJywnbmFtZSc6J01hbmljYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J01DJywnbmFtZSc6J01hcHV0byAoY2l0eSknfSwNCiAgICAnNicgOiB7J2NvZGUnOidNUCcsJ25hbWUnOidNYXB1dG8nfSwNCiAgICAnNycgOiB7J2NvZGUnOidOQScsJ25hbWUnOidOYW1wdWxhJ30sDQogICAgJzgnIDogeydjb2RlJzonTkknLCduYW1lJzonTmlhc3NhJ30sDQogICAgJzknIDogeydjb2RlJzonU08nLCduYW1lJzonU29mYWxhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1RFJywnbmFtZSc6J1RldGUnfSwNCiAgICAnMTEnIDogeydjb2RlJzonWkEnLCduYW1lJzonWmFtYmV6aWEnfQ0KICB9LA0KICAnTU0nOnsNCiAgICAnMScgOiB7J2NvZGUnOidBWScsJ25hbWUnOidBeWV5YXJ3YWR5J30sDQogICAgJzInIDogeydjb2RlJzonQkcnLCduYW1lJzonQmFnbyd9LA0KICAgICczJyA6IHsnY29kZSc6J01HJywnbmFtZSc6J01hZ3dheSd9LA0KICAgICc0JyA6IHsnY29kZSc6J01EJywnbmFtZSc6J01hbmRhbGF5J30sDQogICAgJzUnIDogeydjb2RlJzonU0cnLCduYW1lJzonU2FnYWluZyd9LA0KICAgICc2JyA6IHsnY29kZSc6J1ROJywnbmFtZSc6J1RhbmludGhhcnlpJ30sDQogICAgJzcnIDogeydjb2RlJzonWUcnLCduYW1lJzonWWFuZ29uJ30sDQogICAgJzgnIDogeydjb2RlJzonQ0gnLCduYW1lJzonQ2hpbiBTdGF0ZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0tDJywnbmFtZSc6J0thY2hpbiBTdGF0ZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidLSCcsJ25hbWUnOidLYXlhaCBTdGF0ZSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidLTicsJ25hbWUnOidLYXlpbiBTdGF0ZSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidNTicsJ25hbWUnOidNb24gU3RhdGUnfSwNCiAgICAnMTMnIDogeydjb2RlJzonUksnLCduYW1lJzonUmFraGluZSBTdGF0ZSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidTSCcsJ25hbWUnOidTaGFuIFN0YXRlJ30NCiAgfSwNCiAgJ05BJzp7DQogICAgJzEnIDogeydjb2RlJzonQ0EnLCduYW1lJzonQ2Fwcml2aSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0VSJywnbmFtZSc6J0Vyb25nbyd9LA0KICAgICczJyA6IHsnY29kZSc6J0hBJywnbmFtZSc6J0hhcmRhcCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0tSJywnbmFtZSc6J0thcmFzJ30sDQogICAgJzUnIDogeydjb2RlJzonS1YnLCduYW1lJzonS2F2YW5nbyd9LA0KICAgICc2JyA6IHsnY29kZSc6J0tIJywnbmFtZSc6J0tob21hcyd9LA0KICAgICc3JyA6IHsnY29kZSc6J0tVJywnbmFtZSc6J0t1bmVuZSd9LA0KICAgICc4JyA6IHsnY29kZSc6J09XJywnbmFtZSc6J09oYW5nd2VuYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J09LJywnbmFtZSc6J09tYWhla2UnfSwNCiAgICAnMTAnIDogeydjb2RlJzonT1QnLCduYW1lJzonT211c2F0aSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidPTicsJ25hbWUnOidPc2hhbmEnfSwNCiAgICAnMTInIDogeydjb2RlJzonT08nLCduYW1lJzonT3NoaWtvdG8nfSwNCiAgICAnMTMnIDogeydjb2RlJzonT0onLCduYW1lJzonT3Rqb3pvbmRqdXBhJ30NCiAgfSwNCiAgJ05SJzp7DQogICAgJzEnIDogeydjb2RlJzonQU8nLCduYW1lJzonQWl3byd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FBJywnbmFtZSc6J0FuYWJhcid9LA0KICAgICczJyA6IHsnY29kZSc6J0FUJywnbmFtZSc6J0FuZXRhbid9LA0KICAgICc0JyA6IHsnY29kZSc6J0FJJywnbmFtZSc6J0FuaWJhcmUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCQScsJ25hbWUnOidCYWl0aSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0JPJywnbmFtZSc6J0JvZSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0JVJywnbmFtZSc6J0J1YWRhJ30sDQogICAgJzgnIDogeydjb2RlJzonREUnLCduYW1lJzonRGVuaWdvbW9kdSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0VXJywnbmFtZSc6J0V3YSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidJSicsJ25hbWUnOidJanV3J30sDQogICAgJzExJyA6IHsnY29kZSc6J01FJywnbmFtZSc6J01lbmVuZyd9LA0KICAgICcxMicgOiB7J2NvZGUnOidOSScsJ25hbWUnOidOaWJvayd9LA0KICAgICcxMycgOiB7J2NvZGUnOidVQScsJ25hbWUnOidVYWJvZSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidZQScsJ25hbWUnOidZYXJlbid9DQogIH0sDQogICdOUCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JhZ21hdGknfSwNCiAgICAnMicgOiB7J2NvZGUnOidCSCcsJ25hbWUnOidCaGVyaSd9LA0KICAgICczJyA6IHsnY29kZSc6J0RIJywnbmFtZSc6J0RoYXdhbGFnaXJpJ30sDQogICAgJzQnIDogeydjb2RlJzonR0EnLCduYW1lJzonR2FuZGFraSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0pBJywnbmFtZSc6J0phbmFrcHVyJ30sDQogICAgJzYnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2FybmFsaSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0tPJywnbmFtZSc6J0tvc2knfSwNCiAgICAnOCcgOiB7J2NvZGUnOidMVScsJ25hbWUnOidMdW1iaW5pJ30sDQogICAgJzknIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFoYWthbGknfSwNCiAgICAnMTAnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWVjaGknfSwNCiAgICAnMTEnIDogeydjb2RlJzonTkEnLCduYW1lJzonTmFyYXlhbmknfSwNCiAgICAnMTInIDogeydjb2RlJzonUkEnLCduYW1lJzonUmFwdGknfSwNCiAgICAnMTMnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2FnYXJtYXRoYSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidTRScsJ25hbWUnOidTZXRpJ30NCiAgfSwNCiAgJ05MJzp7DQogICAgJzEnIDogeydjb2RlJzonRFInLCduYW1lJzonRHJlbnRoZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0ZMJywnbmFtZSc6J0ZsZXZvbGFuZCd9LA0KICAgICczJyA6IHsnY29kZSc6J0ZSJywnbmFtZSc6J0ZyaWVzbGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0dFJywnbmFtZSc6J0dlbGRlcmxhbmQnfSwNCiAgICAnNScgOiB7J2NvZGUnOidHUicsJ25hbWUnOidHcm9uaW5nZW4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidMSScsJ25hbWUnOidMaW1idXJnJ30sDQogICAgJzcnIDogeydjb2RlJzonTkInLCduYW1lJzonTm9vcmQgQnJhYmFudCd9LA0KICAgICc4JyA6IHsnY29kZSc6J05IJywnbmFtZSc6J05vb3JkIEhvbGxhbmQnfSwNCiAgICAnOScgOiB7J2NvZGUnOidPVicsJ25hbWUnOidPdmVyaWpzc2VsJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1VUJywnbmFtZSc6J1V0cmVjaHQnfSwNCiAgICAnMTEnIDogeydjb2RlJzonWkUnLCduYW1lJzonWmVlbGFuZCd9LA0KICAgICcxMicgOiB7J2NvZGUnOidaSCcsJ25hbWUnOidadWlkIEhvbGxhbmQnfQ0KICB9LA0KICAnQU4nOnsNCiAgICAnMScgOiB7J2NvZGUnOidCT04nLCduYW1lJzonQm9uYWlyZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NVUicsJ25hbWUnOidDdXJhw6dhbyd9LA0KICAgICczJyA6IHsnY29kZSc6J1NBQicsJ25hbWUnOidTYWJhJ30sDQogICAgJzQnIDogeydjb2RlJzonU0VVJywnbmFtZSc6J1NpbnQgRXVzdGF0aXVzJ30sDQogICAgJzUnIDogeydjb2RlJzonU01BJywnbmFtZSc6J1NpbnQgTWFhcnRlbid9DQogIH0sDQogICdOQyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0wnLCduYW1lJzonSWxlcyBMb3lhdXRlJ30sDQogICAgJzInIDogeydjb2RlJzonTicsJ25hbWUnOidOb3JkJ30sDQogICAgJzMnIDogeydjb2RlJzonUycsJ25hbWUnOidTdWQnfQ0KICB9LA0KICAnTlonOnsNCiAgICAnMScgOiB7J2NvZGUnOidBVUsnLCduYW1lJzonQXVja2xhbmQnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCT1AnLCduYW1lJzonQmF5IG9mIFBsZW50eSd9LA0KICAgICczJyA6IHsnY29kZSc6J0NBTicsJ25hbWUnOidDYW50ZXJidXJ5J30sDQogICAgJzQnIDogeydjb2RlJzonQ09SJywnbmFtZSc6J0Nvcm9tYW5kZWwnfSwNCiAgICAnNScgOiB7J2NvZGUnOidHSVMnLCduYW1lJzonR2lzYm9ybmUnfSwNCiAgICAnNicgOiB7J2NvZGUnOidGSU8nLCduYW1lJzonRmlvcmRsYW5kJ30sDQogICAgJzcnIDogeydjb2RlJzonSEtCJywnbmFtZSc6J0hhd2tlXCdzIEJheSd9LA0KICAgICc4JyA6IHsnY29kZSc6J01CSCcsJ25hbWUnOidNYXJsYm9yb3VnaCd9LA0KICAgICc5JyA6IHsnY29kZSc6J01XVCcsJ25hbWUnOidNYW5hd2F0dS1XYW5nYW51aSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidNQ00nLCduYW1lJzonTXQgQ29vay1NYWNrZW56aWUnfSwNCiAgICAnMTEnIDogeydjb2RlJzonTlNOJywnbmFtZSc6J05lbHNvbid9LA0KICAgICcxMicgOiB7J2NvZGUnOidOVEwnLCduYW1lJzonTm9ydGhsYW5kJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J09UQScsJ25hbWUnOidPdGFnbyd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidTVEwnLCduYW1lJzonU291dGhsYW5kJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1RLSScsJ25hbWUnOidUYXJhbmFraSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidXR04nLCduYW1lJzonV2VsbGluZ3Rvbid9LA0KICAgICcxNycgOiB7J2NvZGUnOidXS08nLCduYW1lJzonV2Fpa2F0byd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidXQUknLCduYW1lJzonV2FpcnByYXJhcGEnfSwNCiAgICAnMTknIDogeydjb2RlJzonV1RDJywnbmFtZSc6J1dlc3QgQ29hc3QnfQ0KICB9LA0KICAnTkknOnsNCiAgICAnMScgOiB7J2NvZGUnOidBTicsJ25hbWUnOidBdGxhbnRpY28gTm9ydGUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBUycsJ25hbWUnOidBdGxhbnRpY28gU3VyJ30sDQogICAgJzMnIDogeydjb2RlJzonQk8nLCduYW1lJzonQm9hY28nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDQScsJ25hbWUnOidDYXJhem8nfSwNCiAgICAnNScgOiB7J2NvZGUnOidDSScsJ25hbWUnOidDaGluYW5kZWdhJ30sDQogICAgJzYnIDogeydjb2RlJzonQ08nLCduYW1lJzonQ2hvbnRhbGVzJ30sDQogICAgJzcnIDogeydjb2RlJzonRVMnLCduYW1lJzonRXN0ZWxpJ30sDQogICAgJzgnIDogeydjb2RlJzonR1InLCduYW1lJzonR3JhbmFkYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0pJJywnbmFtZSc6J0ppbm90ZWdhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0xFJywnbmFtZSc6J0xlb24nfSwNCiAgICAnMTEnIDogeydjb2RlJzonTUQnLCduYW1lJzonTWFkcml6J30sDQogICAgJzEyJyA6IHsnY29kZSc6J01OJywnbmFtZSc6J01hbmFndWEnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTVMnLCduYW1lJzonTWFzYXlhJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J01UJywnbmFtZSc6J01hdGFnYWxwYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidOUycsJ25hbWUnOidOdWV2byBTZWdvdmlhJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1JTJywnbmFtZSc6J1JpbyBTYW4gSnVhbid9LA0KICAgICcxNycgOiB7J2NvZGUnOidSSScsJ25hbWUnOidSaXZhcyd9DQogIH0sDQogICdORSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FHJywnbmFtZSc6J0FnYWRleid9LA0KICAgICcyJyA6IHsnY29kZSc6J0RGJywnbmFtZSc6J0RpZmZhJ30sDQogICAgJzMnIDogeydjb2RlJzonRFMnLCduYW1lJzonRG9zc28nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidNQScsJ25hbWUnOidNYXJhZGknfSwNCiAgICAnNScgOiB7J2NvZGUnOidOTScsJ25hbWUnOidOaWFtZXknfSwNCiAgICAnNicgOiB7J2NvZGUnOidUSCcsJ25hbWUnOidUYWhvdWEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidUTCcsJ25hbWUnOidUaWxsYWJlcmknfSwNCiAgICAnOCcgOiB7J2NvZGUnOidaRCcsJ25hbWUnOidaaW5kZXInfQ0KICB9LA0KICAnTkcnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBYmlhJ30sDQogICAgJzInIDogeydjb2RlJzonQ1QnLCduYW1lJzonQWJ1amEgRmVkZXJhbCBDYXBpdGFsIFRlcnJpdG9yeSd9LA0KICAgICczJyA6IHsnY29kZSc6J0FEJywnbmFtZSc6J0FkYW1hd2EnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidBSycsJ25hbWUnOidBa3dhIElib20nfSwNCiAgICAnNScgOiB7J2NvZGUnOidBTicsJ25hbWUnOidBbmFtYnJhJ30sDQogICAgJzYnIDogeydjb2RlJzonQkMnLCduYW1lJzonQmF1Y2hpJ30sDQogICAgJzcnIDogeydjb2RlJzonQlknLCduYW1lJzonQmF5ZWxzYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0JOJywnbmFtZSc6J0JlbnVlJ30sDQogICAgJzknIDogeydjb2RlJzonQk8nLCduYW1lJzonQm9ybm8nfSwNCiAgICAnMTAnIDogeydjb2RlJzonQ1InLCduYW1lJzonQ3Jvc3MgUml2ZXInfSwNCiAgICAnMTEnIDogeydjb2RlJzonREUnLCduYW1lJzonRGVsdGEnfSwNCiAgICAnMTInIDogeydjb2RlJzonRUInLCduYW1lJzonRWJvbnlpJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0VEJywnbmFtZSc6J0Vkbyd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidFSycsJ25hbWUnOidFa2l0aSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidFTicsJ25hbWUnOidFbnVndSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidHTycsJ25hbWUnOidHb21iZSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidJTScsJ25hbWUnOidJbW8nfSwNCiAgICAnMTgnIDogeydjb2RlJzonSkknLCduYW1lJzonSmlnYXdhJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0tEJywnbmFtZSc6J0thZHVuYSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidLTicsJ25hbWUnOidLYW5vJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J0tUJywnbmFtZSc6J0thdHNpbmEnfSwNCiAgICAnMjInIDogeydjb2RlJzonS0UnLCduYW1lJzonS2ViYmknfSwNCiAgICAnMjMnIDogeydjb2RlJzonS08nLCduYW1lJzonS29naSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidLVycsJ25hbWUnOidLd2FyYSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYWdvcyd9LA0KICAgICcyNicgOiB7J2NvZGUnOidOQScsJ25hbWUnOidOYXNzYXJhd2EnfSwNCiAgICAnMjcnIDogeydjb2RlJzonTkknLCduYW1lJzonTmlnZXInfSwNCiAgICAnMjgnIDogeydjb2RlJzonT0cnLCduYW1lJzonT2d1bid9LA0KICAgICcyOScgOiB7J2NvZGUnOidPTkcnLCduYW1lJzonT25kbyd9LA0KICAgICczMCcgOiB7J2NvZGUnOidPUycsJ25hbWUnOidPc3VuJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J09ZJywnbmFtZSc6J095byd9LA0KICAgICczMicgOiB7J2NvZGUnOidQTCcsJ25hbWUnOidQbGF0ZWF1J30sDQogICAgJzMzJyA6IHsnY29kZSc6J1JJJywnbmFtZSc6J1JpdmVycyd9LA0KICAgICczNCcgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb2tvdG8nfSwNCiAgICAnMzUnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFyYWJhJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J1lPJywnbmFtZSc6J1lvYmUnfSwNCiAgICAnMzcnIDogeydjb2RlJzonWkEnLCduYW1lJzonWmFtZmFyYSd9DQogIH0sDQogICdOVSc6ew0KICAgICcxJyA6IHsnY29kZSc6J01BSycsJ25hbWUnOidNYWtlZnUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidUVUEnLCduYW1lJzonVHVhcGEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidOQU0nLCduYW1lJzonTmFtdWt1bHUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidISUsnLCduYW1lJzonSGlrdXRhdmFrZSd9LA0KICAgICc1JyA6IHsnY29kZSc6J1RPSScsJ25hbWUnOidUb2knfSwNCiAgICAnNicgOiB7J2NvZGUnOidNVVQnLCduYW1lJzonTXV0YWxhdSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0xBSycsJ25hbWUnOidMYWtlcGEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidMSUsnLCduYW1lJzonTGlrdSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0hBSycsJ25hbWUnOidIYWt1cHUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonVkFJJywnbmFtZSc6J1ZhaWVhJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0FWQScsJ25hbWUnOidBdmF0ZWxlJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J1RBTScsJ25hbWUnOidUYW1ha2F1dG9nYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidBTE8nLCduYW1lJzonQWxvZmkgU291dGgnfSwNCiAgICAnMTQnIDogeydjb2RlJzonQUxPJywnbmFtZSc6J0Fsb2ZpIE5vcnRoJ30NCiAgfSwNCiAgJ05GJzp7DQogICAgJzEnIDogeydjb2RlJzonTk9SJywnbmFtZSc6J05vcmZvbGsgSXNsYW5kJ30NCiAgfSwNCiAgJ01QJzp7DQogICAgJzEnIDogeydjb2RlJzonTicsJ25hbWUnOidOb3J0aGVybiBJc2xhbmRzJ30sDQogICAgJzInIDogeydjb2RlJzonUicsJ25hbWUnOidSb3RhJ30sDQogICAgJzMnIDogeydjb2RlJzonUycsJ25hbWUnOidTYWlwYW4nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidUJywnbmFtZSc6J1Rpbmlhbid9DQogIH0sDQogICdOTyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FLJywnbmFtZSc6J0FrZXJzaHVzJ30sDQogICAgJzInIDogeydjb2RlJzonQUEnLCduYW1lJzonQXVzdC1BZ2Rlcid9LA0KICAgICczJyA6IHsnY29kZSc6J0JVJywnbmFtZSc6J0J1c2tlcnVkJ30sDQogICAgJzQnIDogeydjb2RlJzonRk0nLCduYW1lJzonRmlubm1hcmsnfSwNCiAgICAnNScgOiB7J2NvZGUnOidITScsJ25hbWUnOidIZWRtYXJrJ30sDQogICAgJzYnIDogeydjb2RlJzonSEwnLCduYW1lJzonSG9yZGFsYW5kJ30sDQogICAgJzcnIDogeydjb2RlJzonTVInLCduYW1lJzonTcO4cmUgb2cgUm9tc2RhbCd9LA0KICAgICc4JyA6IHsnY29kZSc6J05MJywnbmFtZSc6J05vcmRsYW5kJ30sDQogICAgJzknIDogeydjb2RlJzonTlQnLCduYW1lJzonTm9yZC1UcsO4bmRlbGFnJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J09QJywnbmFtZSc6J09wcGxhbmQnfSwNCiAgICAnMTEnIDogeydjb2RlJzonT0wnLCduYW1lJzonT3Nsbyd9LA0KICAgICcxMicgOiB7J2NvZGUnOidSTCcsJ25hbWUnOidSb2dhbGFuZCd9LA0KICAgICcxMycgOiB7J2NvZGUnOidTSicsJ25hbWUnOidTb2duIG9nIEZqb3JkYW5lJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1NUJywnbmFtZSc6J1PDuHItVHLDuG5kZWxhZyd9LA0KICAgICcxNScgOiB7J2NvZGUnOidTVicsJ25hbWUnOidTdmFsYmFyZCd9LA0KICAgICcxNicgOiB7J2NvZGUnOidUTScsJ25hbWUnOidUZWxlbWFyayd9LA0KICAgICcxNycgOiB7J2NvZGUnOidUUicsJ25hbWUnOidUcm9tcyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidWQScsJ25hbWUnOidWZXN0LUFnZGVyJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1ZGJywnbmFtZSc6J1Zlc3Rmb2xkJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J09GJywnbmFtZSc6J8OYc3Rmb2xkJ30NCiAgfSwNCiAgJ09NJzp7DQogICAgJzEnIDogeydjb2RlJzonREEnLCduYW1lJzonQWQgRGFraGlsaXlhaCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0FsIEJhdGluYWgnfSwNCiAgICAnMycgOiB7J2NvZGUnOidXVScsJ25hbWUnOidBbCBXdXN0YSd9LA0KICAgICc0JyA6IHsnY29kZSc6J1NIJywnbmFtZSc6J0FzaCBTaGFycWl5YWgnfSwNCiAgICAnNScgOiB7J2NvZGUnOidaQScsJ25hbWUnOidBeiBaYWhpcmFoJ30sDQogICAgJzYnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFzcWF0J30sDQogICAgJzcnIDogeydjb2RlJzonTVUnLCduYW1lJzonTXVzYW5kYW0nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidaVScsJ25hbWUnOidadWZhcid9DQogIH0sDQogICdQSyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0InLCduYW1lJzonQmFsb2NoaXN0YW4nfSwNCiAgICAnMicgOiB7J2NvZGUnOidUJywnbmFtZSc6J0ZlZGVyYWxseSBBZG1pbmlzdGVyZWQgVHJpYmFsIEFyJ30sDQogICAgJzMnIDogeydjb2RlJzonSScsJ25hbWUnOidJc2xhbWFiYWQgQ2FwaXRhbCBUZXJyaXRvcnknfSwNCiAgICAnNCcgOiB7J2NvZGUnOidOJywnbmFtZSc6J05vcnRoLVdlc3QgRnJvbnRpZXInfSwNCiAgICAnNScgOiB7J2NvZGUnOidQJywnbmFtZSc6J1B1bmphYid9LA0KICAgICc2JyA6IHsnY29kZSc6J1MnLCduYW1lJzonU2luZGgnfQ0KICB9LA0KICAnUFcnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBTScsJ25hbWUnOidBaW1lbGlpayd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FSJywnbmFtZSc6J0FpcmFpJ30sDQogICAgJzMnIDogeydjb2RlJzonQU4nLCduYW1lJzonQW5nYXVyJ30sDQogICAgJzQnIDogeydjb2RlJzonSEEnLCduYW1lJzonSGF0b2hvYmVpJ30sDQogICAgJzUnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2F5YW5nZWwnfSwNCiAgICAnNicgOiB7J2NvZGUnOidLTycsJ25hbWUnOidLb3Jvcid9LA0KICAgICc3JyA6IHsnY29kZSc6J01FJywnbmFtZSc6J01lbGVrZW9rJ30sDQogICAgJzgnIDogeydjb2RlJzonTkEnLCduYW1lJzonTmdhcmFhcmQnfSwNCiAgICAnOScgOiB7J2NvZGUnOidORycsJ25hbWUnOidOZ2FyY2hlbG9uZyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidORCcsJ25hbWUnOidOZ2FyZG1hdSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidOVCcsJ25hbWUnOidOZ2F0cGFuZyd9LA0KICAgICcxMicgOiB7J2NvZGUnOidOQycsJ25hbWUnOidOZ2NoZXNhcid9LA0KICAgICcxMycgOiB7J2NvZGUnOidOUicsJ25hbWUnOidOZ2VyZW1sZW5ndWknfSwNCiAgICAnMTQnIDogeydjb2RlJzonTlcnLCduYW1lJzonTmdpd2FsJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1BFJywnbmFtZSc6J1BlbGVsaXUnfSwNCiAgICAnMTYnIDogeydjb2RlJzonU08nLCduYW1lJzonU29uc29yb2wnfQ0KICB9LA0KICAnUEEnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCVCcsJ25hbWUnOidCb2NhcyBkZWwgVG9ybyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0NoaXJpcXVpJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0MnLCduYW1lJzonQ29jbGUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDTCcsJ25hbWUnOidDb2xvbid9LA0KICAgICc1JyA6IHsnY29kZSc6J0RBJywnbmFtZSc6J0Rhcmllbid9LA0KICAgICc2JyA6IHsnY29kZSc6J0hFJywnbmFtZSc6J0hlcnJlcmEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidMUycsJ25hbWUnOidMb3MgU2FudG9zJ30sDQogICAgJzgnIDogeydjb2RlJzonUEEnLCduYW1lJzonUGFuYW1hJ30sDQogICAgJzknIDogeydjb2RlJzonU0InLCduYW1lJzonU2FuIEJsYXMnfSwNCiAgICAnMTAnIDogeydjb2RlJzonVkcnLCduYW1lJzonVmVyYWd1YXMnfQ0KICB9LA0KICAnUEcnOnsNCiAgICAnMScgOiB7J2NvZGUnOidCVicsJ25hbWUnOidCb3VnYWludmlsbGUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidDRScsJ25hbWUnOidDZW50cmFsJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0gnLCduYW1lJzonQ2hpbWJ1J30sDQogICAgJzQnIDogeydjb2RlJzonRUgnLCduYW1lJzonRWFzdGVybiBIaWdobGFuZHMnfSwNCiAgICAnNScgOiB7J2NvZGUnOidFQicsJ25hbWUnOidFYXN0IE5ldyBCcml0YWluJ30sDQogICAgJzYnIDogeydjb2RlJzonRVMnLCduYW1lJzonRWFzdCBTZXBpayd9LA0KICAgICc3JyA6IHsnY29kZSc6J0VOJywnbmFtZSc6J0VuZ2EnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidHVScsJ25hbWUnOidHdWxmJ30sDQogICAgJzknIDogeydjb2RlJzonTUQnLCduYW1lJzonTWFkYW5nJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01OJywnbmFtZSc6J01hbnVzJ30sDQogICAgJzExJyA6IHsnY29kZSc6J01CJywnbmFtZSc6J01pbG5lIEJheSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidNUicsJ25hbWUnOidNb3JvYmUnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTkMnLCduYW1lJzonTmF0aW9uYWwgQ2FwaXRhbCd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidOSScsJ25hbWUnOidOZXcgSXJlbGFuZCd9LA0KICAgICcxNScgOiB7J2NvZGUnOidOTycsJ25hbWUnOidOb3J0aGVybid9LA0KICAgICcxNicgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTYW5kYXVuJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1NIJywnbmFtZSc6J1NvdXRoZXJuIEhpZ2hsYW5kcyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidXRScsJ25hbWUnOidXZXN0ZXJuJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1dIJywnbmFtZSc6J1dlc3Rlcm4gSGlnaGxhbmRzJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1dCJywnbmFtZSc6J1dlc3QgTmV3IEJyaXRhaW4nfQ0KICB9LA0KICAnUFknOnsNCiAgICAnMScgOiB7J2NvZGUnOidBRycsJ25hbWUnOidBbHRvIFBhcmFndWF5J30sDQogICAgJzInIDogeydjb2RlJzonQU4nLCduYW1lJzonQWx0byBQYXJhbmEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBTScsJ25hbWUnOidBbWFtYmF5J30sDQogICAgJzQnIDogeydjb2RlJzonQVMnLCduYW1lJzonQXN1bmNpb24nfSwNCiAgICAnNScgOiB7J2NvZGUnOidCTycsJ25hbWUnOidCb3F1ZXJvbid9LA0KICAgICc2JyA6IHsnY29kZSc6J0NHJywnbmFtZSc6J0NhYWd1YXp1J30sDQogICAgJzcnIDogeydjb2RlJzonQ1onLCduYW1lJzonQ2FhemFwYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0NOJywnbmFtZSc6J0NhbmluZGV5dSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0NFJywnbmFtZSc6J0NlbnRyYWwnfSwNCiAgICAnMTAnIDogeydjb2RlJzonQ0MnLCduYW1lJzonQ29uY2VwY2lvbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidDRCcsJ25hbWUnOidDb3JkaWxsZXJhJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0dVJywnbmFtZSc6J0d1YWlyYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidJVCcsJ25hbWUnOidJdGFwdWEnfSwNCiAgICAnMTQnIDogeydjb2RlJzonTUknLCduYW1lJzonTWlzaW9uZXMnfSwNCiAgICAnMTUnIDogeydjb2RlJzonTkUnLCduYW1lJzonTmVlbWJ1Y3UnfSwNCiAgICAnMTYnIDogeydjb2RlJzonUEEnLCduYW1lJzonUGFyYWd1YXJpJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1BIJywnbmFtZSc6J1ByZXNpZGVudGUgSGF5ZXMnfSwNCiAgICAnMTgnIDogeydjb2RlJzonU1AnLCduYW1lJzonU2FuIFBlZHJvJ30NCiAgfSwNCiAgJ1BFJzp7DQogICAgJzEnIDogeydjb2RlJzonQU0nLCduYW1lJzonQW1hem9uYXMnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTicsJ25hbWUnOidBbmNhc2gnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBUCcsJ25hbWUnOidBcHVyaW1hYyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FSJywnbmFtZSc6J0FyZXF1aXBhJ30sDQogICAgJzUnIDogeydjb2RlJzonQVknLCduYW1lJzonQXlhY3VjaG8nfSwNCiAgICAnNicgOiB7J2NvZGUnOidDSicsJ25hbWUnOidDYWphbWFyY2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOidDTCcsJ25hbWUnOidDYWxsYW8nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidDVScsJ25hbWUnOidDdXNjbyd9LA0KICAgICc5JyA6IHsnY29kZSc6J0hWJywnbmFtZSc6J0h1YW5jYXZlbGljYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidITycsJ25hbWUnOidIdWFudWNvJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0lDJywnbmFtZSc6J0ljYSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidKVScsJ25hbWUnOidKdW5pbid9LA0KICAgICcxMycgOiB7J2NvZGUnOidMRCcsJ25hbWUnOidMYSBMaWJlcnRhZCd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidMWScsJ25hbWUnOidMYW1iYXllcXVlJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0xJJywnbmFtZSc6J0xpbWEnfSwNCiAgICAnMTYnIDogeydjb2RlJzonTE8nLCduYW1lJzonTG9yZXRvJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J01EJywnbmFtZSc6J01hZHJlIGRlIERpb3MnfSwNCiAgICAnMTgnIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9xdWVndWEnfSwNCiAgICAnMTknIDogeydjb2RlJzonUEEnLCduYW1lJzonUGFzY28nfSwNCiAgICAnMjAnIDogeydjb2RlJzonUEknLCduYW1lJzonUGl1cmEnfSwNCiAgICAnMjEnIDogeydjb2RlJzonUFUnLCduYW1lJzonUHVubyd9LA0KICAgICcyMicgOiB7J2NvZGUnOidTTScsJ25hbWUnOidTYW4gTWFydGluJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1RBJywnbmFtZSc6J1RhY25hJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1RVJywnbmFtZSc6J1R1bWJlcyd9LA0KICAgICcyNScgOiB7J2NvZGUnOidVQycsJ25hbWUnOidVY2F5YWxpJ30NCiAgfSwNCiAgJ1BIJzp7DQogICAgJzEnIDogeydjb2RlJzonQUJSJywnbmFtZSc6J0FicmEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTk8nLCduYW1lJzonQWd1c2FuIGRlbCBOb3J0ZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0FTVScsJ25hbWUnOidBZ3VzYW4gZGVsIFN1cid9LA0KICAgICc0JyA6IHsnY29kZSc6J0FLTCcsJ25hbWUnOidBa2xhbid9LA0KICAgICc1JyA6IHsnY29kZSc6J0FMQicsJ25hbWUnOidBbGJheSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0FOVCcsJ25hbWUnOidBbnRpcXVlJ30sDQogICAgJzcnIDogeydjb2RlJzonQVBZJywnbmFtZSc6J0FwYXlhbyd9LA0KICAgICc4JyA6IHsnY29kZSc6J0FVUicsJ25hbWUnOidBdXJvcmEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidCQVMnLCduYW1lJzonQmFzaWxhbid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidCVEEnLCduYW1lJzonQmF0YWFuJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0JURScsJ25hbWUnOidCYXRhbmVzJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0JURycsJ25hbWUnOidCYXRhbmdhcyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidCTFInLCduYW1lJzonQmlsaXJhbid9LA0KICAgICcxNCcgOiB7J2NvZGUnOidCRU4nLCduYW1lJzonQmVuZ3VldCd9LA0KICAgICcxNScgOiB7J2NvZGUnOidCT0wnLCduYW1lJzonQm9ob2wnfSwNCiAgICAnMTYnIDogeydjb2RlJzonQlVLJywnbmFtZSc6J0J1a2lkbm9uJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0JVTCcsJ25hbWUnOidCdWxhY2FuJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0NBRycsJ25hbWUnOidDYWdheWFuJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0NOTycsJ25hbWUnOidDYW1hcmluZXMgTm9ydGUnfSwNCiAgICAnMjAnIDogeydjb2RlJzonQ1NVJywnbmFtZSc6J0NhbWFyaW5lcyBTdXInfSwNCiAgICAnMjEnIDogeydjb2RlJzonQ0FNJywnbmFtZSc6J0NhbWlndWluJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0NBUCcsJ25hbWUnOidDYXBpeid9LA0KICAgICcyMycgOiB7J2NvZGUnOidDQVQnLCduYW1lJzonQ2F0YW5kdWFuZXMnfSwNCiAgICAnMjQnIDogeydjb2RlJzonQ0FWJywnbmFtZSc6J0Nhdml0ZSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidDRUInLCduYW1lJzonQ2VidSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidDTVAnLCduYW1lJzonQ29tcG9zdGVsYSd9LA0KICAgICcyNycgOiB7J2NvZGUnOidETk8nLCduYW1lJzonRGF2YW8gZGVsIE5vcnRlJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J0RTVScsJ25hbWUnOidEYXZhbyBkZWwgU3VyJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J0RPUicsJ25hbWUnOidEYXZhbyBPcmllbnRhbCd9LA0KICAgICczMCcgOiB7J2NvZGUnOidFU0EnLCduYW1lJzonRWFzdGVybiBTYW1hcid9LA0KICAgICczMScgOiB7J2NvZGUnOidHVUknLCduYW1lJzonR3VpbWFyYXMnfSwNCiAgICAnMzInIDogeydjb2RlJzonSUZVJywnbmFtZSc6J0lmdWdhbyd9LA0KICAgICczMycgOiB7J2NvZGUnOidJTk8nLCduYW1lJzonSWxvY29zIE5vcnRlJ30sDQogICAgJzM0JyA6IHsnY29kZSc6J0lTVScsJ25hbWUnOidJbG9jb3MgU3VyJ30sDQogICAgJzM1JyA6IHsnY29kZSc6J0lMTycsJ25hbWUnOidJbG9pbG8nfSwNCiAgICAnMzYnIDogeydjb2RlJzonSVNBJywnbmFtZSc6J0lzYWJlbGEnfSwNCiAgICAnMzcnIDogeydjb2RlJzonS0FMJywnbmFtZSc6J0thbGluZ2EnfSwNCiAgICAnMzgnIDogeydjb2RlJzonTEFHJywnbmFtZSc6J0xhZ3VuYSd9LA0KICAgICczOScgOiB7J2NvZGUnOidMTk8nLCduYW1lJzonTGFuYW8gZGVsIE5vcnRlJ30sDQogICAgJzQwJyA6IHsnY29kZSc6J0xTVScsJ25hbWUnOidMYW5hbyBkZWwgU3VyJ30sDQogICAgJzQxJyA6IHsnY29kZSc6J1VOSScsJ25hbWUnOidMYSBVbmlvbid9LA0KICAgICc0MicgOiB7J2NvZGUnOidMRVknLCduYW1lJzonTGV5dGUnfSwNCiAgICAnNDMnIDogeydjb2RlJzonTUFHJywnbmFtZSc6J01hZ3VpbmRhbmFvJ30sDQogICAgJzQ0JyA6IHsnY29kZSc6J01STicsJ25hbWUnOidNYXJpbmR1cXVlJ30sDQogICAgJzQ1JyA6IHsnY29kZSc6J01TQicsJ25hbWUnOidNYXNiYXRlJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J01JQycsJ25hbWUnOidNaW5kb3JvIE9jY2lkZW50YWwnfSwNCiAgICAnNDcnIDogeydjb2RlJzonTUlSJywnbmFtZSc6J01pbmRvcm8gT3JpZW50YWwnfSwNCiAgICAnNDgnIDogeydjb2RlJzonTVNDJywnbmFtZSc6J01pc2FtaXMgT2NjaWRlbnRhbCd9LA0KICAgICc0OScgOiB7J2NvZGUnOidNT1InLCduYW1lJzonTWlzYW1pcyBPcmllbnRhbCd9LA0KICAgICc1MCcgOiB7J2NvZGUnOidNT1AnLCduYW1lJzonTW91bnRhaW4nfSwNCiAgICAnNTEnIDogeydjb2RlJzonTk9DJywnbmFtZSc6J05lZ3JvcyBPY2NpZGVudGFsJ30sDQogICAgJzUyJyA6IHsnY29kZSc6J05PUicsJ25hbWUnOidOZWdyb3MgT3JpZW50YWwnfSwNCiAgICAnNTMnIDogeydjb2RlJzonTkNUJywnbmFtZSc6J05vcnRoIENvdGFiYXRvJ30sDQogICAgJzU0JyA6IHsnY29kZSc6J05TTScsJ25hbWUnOidOb3J0aGVybiBTYW1hcid9LA0KICAgICc1NScgOiB7J2NvZGUnOidORUMnLCduYW1lJzonTnVldmEgRWNpamEnfSwNCiAgICAnNTYnIDogeydjb2RlJzonTlZaJywnbmFtZSc6J051ZXZhIFZpemNheWEnfSwNCiAgICAnNTcnIDogeydjb2RlJzonUExXJywnbmFtZSc6J1BhbGF3YW4nfSwNCiAgICAnNTgnIDogeydjb2RlJzonUE1QJywnbmFtZSc6J1BhbXBhbmdhJ30sDQogICAgJzU5JyA6IHsnY29kZSc6J1BORycsJ25hbWUnOidQYW5nYXNpbmFuJ30sDQogICAgJzYwJyA6IHsnY29kZSc6J1FaTicsJ25hbWUnOidRdWV6b24nfSwNCiAgICAnNjEnIDogeydjb2RlJzonUVJOJywnbmFtZSc6J1F1aXJpbm8nfSwNCiAgICAnNjInIDogeydjb2RlJzonUklaJywnbmFtZSc6J1JpemFsJ30sDQogICAgJzYzJyA6IHsnY29kZSc6J1JPTScsJ25hbWUnOidSb21ibG9uJ30sDQogICAgJzY0JyA6IHsnY29kZSc6J1NNUicsJ25hbWUnOidTYW1hcid9LA0KICAgICc2NScgOiB7J2NvZGUnOidTUkcnLCduYW1lJzonU2FyYW5nYW5pJ30sDQogICAgJzY2JyA6IHsnY29kZSc6J1NRSicsJ25hbWUnOidTaXF1aWpvcid9LA0KICAgICc2NycgOiB7J2NvZGUnOidTUlMnLCduYW1lJzonU29yc29nb24nfSwNCiAgICAnNjgnIDogeydjb2RlJzonU0NPJywnbmFtZSc6J1NvdXRoIENvdGFiYXRvJ30sDQogICAgJzY5JyA6IHsnY29kZSc6J1NMRScsJ25hbWUnOidTb3V0aGVybiBMZXl0ZSd9LA0KICAgICc3MCcgOiB7J2NvZGUnOidTS1UnLCduYW1lJzonU3VsdGFuIEt1ZGFyYXQnfSwNCiAgICAnNzEnIDogeydjb2RlJzonU0xVJywnbmFtZSc6J1N1bHUnfSwNCiAgICAnNzInIDogeydjb2RlJzonU05PJywnbmFtZSc6J1N1cmlnYW8gZGVsIE5vcnRlJ30sDQogICAgJzczJyA6IHsnY29kZSc6J1NTVScsJ25hbWUnOidTdXJpZ2FvIGRlbCBTdXInfSwNCiAgICAnNzQnIDogeydjb2RlJzonVEFSJywnbmFtZSc6J1RhcmxhYyd9LA0KICAgICc3NScgOiB7J2NvZGUnOidUQVcnLCduYW1lJzonVGF3aS1UYXdpJ30sDQogICAgJzc2JyA6IHsnY29kZSc6J1pCTCcsJ25hbWUnOidaYW1iYWxlcyd9LA0KICAgICc3NycgOiB7J2NvZGUnOidaTk8nLCduYW1lJzonWmFtYm9hbmdhIGRlbCBOb3J0ZSd9LA0KICAgICc3OCcgOiB7J2NvZGUnOidaU1UnLCduYW1lJzonWmFtYm9hbmdhIGRlbCBTdXInfSwNCiAgICAnNzknIDogeydjb2RlJzonWlNJJywnbmFtZSc6J1phbWJvYW5nYSBTaWJ1Z2F5J30NCiAgfSwNCiAgJ1BOJzp7DQogICAgJzEnIDogeydjb2RlJzonUElUJywnbmFtZSc6J1BpdGNhaXJuIElzbGFuZCd9DQogIH0sDQogICdQTCc6ew0KICAgICcxJzogeydjb2RlJzonRE8nLCduYW1lJzonRG9sbm_Fm2zEhXNraWUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidLUCcsJ25hbWUnOidLdWphd3Nrby1Qb21vcnNraWUnfSwNCiAgICAnMyc6IHsnY29kZSc6J0xMJywnbmFtZSc6J0x1YmVsc2tpZSd9LA0KICAgICc0Jzogeydjb2RlJzonTFUnLCduYW1lJzonTHVidXNraWUnfSwNCiAgICAnNSc6IHsnY29kZSc6J0xPJywnbmFtZSc6J8WBw7NkemtpZSd9LA0KICAgICc2Jzogeydjb2RlJzonTUwnLCduYW1lJzonTWHFgm9wb2xza2llJ30sDQogICAgJzcnIDogeydjb2RlJzonTVonLCduYW1lJzonTWF6b3dpZWNraWUnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidPUCcsJ25hbWUnOidPcG9sc2tpZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J1BQJywnbmFtZSc6J1BvZGthcnBhY2tpZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidQTCcsJ25hbWUnOidQb2RsYXNraWUnfSwNCiAgICAnMTEnIDogeydjb2RlJzonUE0nLCduYW1lJzonUG9tb3Jza2llJ30sDQogICAgJzEyJzogeydjb2RlJzonU0wnLCduYW1lJzonxZpsxIVza2llJ30sDQogICAgJzEzJzogeydjb2RlJzonU1cnLCduYW1lJzonxZp3acSZdG9rcnp5c2tpZSd9LA0KICAgICcxNCc6IHsnY29kZSc6J1dNJywnbmFtZSc6J1dhcm1pxYRza28tTWF6dXJza2llJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1dQJywnbmFtZSc6J1dpZWxrb3BvbHNraWUnfSwNCiAgICAnMTYnIDogeydjb2RlJzonWkEnLCduYW1lJzonWmFjaG9kbmlvcG9tb3Jza2llJ30NCiAgfSwNCiAgJ1BUJzp7DQogICAgJzEnIDogeydjb2RlJzonQUMnLCduYW1lJzonQcOnb3Jlcyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FWJywnbmFtZSc6J0F2ZWlybyd9LA0KICAgICczJyA6IHsnY29kZSc6J0JFJywnbmFtZSc6J0JlamEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidCUicsJ25hbWUnOidCcmFnYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JyYWdhbsOnYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0NCJywnbmFtZSc6J0Nhc3RlbG8gQnJhbmNvJ30sDQogICAgJzcnIDogeydjb2RlJzonQ08nLCduYW1lJzonQ29pbWJyYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0VWJywnbmFtZSc6J8Opdm9yYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0ZBJywnbmFtZSc6J0Zhcm8nfSwNCiAgICAnMTAnIDogeydjb2RlJzonR1UnLCduYW1lJzonR3VhcmRhJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0xFJywnbmFtZSc6J0xlaXJpYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidMSScsJ25hbWUnOidMaXNib2EnfSwNCiAgICAnMTQnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWFkZWlyYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidQTycsJ25hbWUnOidQb3J0YWxlZ3JlJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1BSJywnbmFtZSc6J1BvcnRvJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1NhbnRhcsOpbSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidTRScsJ25hbWUnOidTZXTDmmJhbCd9LA0KICAgICcxOScgOiB7J2NvZGUnOidWQycsJ25hbWUnOidWaWFuYSBkbyBDYXN0ZWxvJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1ZSJywnbmFtZSc6J1ZpbGEgUmVhbCd9LA0KICAgICcyMScgOiB7J2NvZGUnOidWSScsJ25hbWUnOidWaXNldSd9DQogIH0sDQogICdQUic6ew0KICAgICcxJyA6IHsnY29kZSc6J0EtQScsJ25hbWUnOidBw7Fhc2NvJ30sDQogICAgJzInIDogeydjb2RlJzonQURKJywnbmFtZSc6J0FkanVudGFzJ30sDQogICAgJzMnIDogeydjb2RlJzonQUdVJywnbmFtZSc6J0FndWFkYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FHVScsJ25hbWUnOidBZ3VhZGlsbGEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidBR1UnLCduYW1lJzonQWd1YXMgQnVlbmFzJ30sDQogICAgJzYnIDogeydjb2RlJzonQUlCJywnbmFtZSc6J0FpYm9uaXRvJ30sDQogICAgJzcnIDogeydjb2RlJzonQVJFJywnbmFtZSc6J0FyZWNpYm8nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidBUlInLCduYW1lJzonQXJyb3lvJ30sDQogICAgJzknIDogeydjb2RlJzonQkFSJywnbmFtZSc6J0JhcmNlbG9uZXRhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0JBUicsJ25hbWUnOidCYXJyYW5xdWl0YXMnfSwNCiAgICAnMTEnIDogeydjb2RlJzonQkFZJywnbmFtZSc6J0JheWFtw7NuJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0NBQicsJ25hbWUnOidDYWJvIFJvam8nfSwNCiAgICAnMTMnIDogeydjb2RlJzonQ0FHJywnbmFtZSc6J0NhZ3Vhcyd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidDQU0nLCduYW1lJzonQ2FtdXknfSwNCiAgICAnMTUnIDogeydjb2RlJzonQ0FOJywnbmFtZSc6J0NhbsOzdmFuYXMnfSwNCiAgICAnMTYnIDogeydjb2RlJzonQ0FSJywnbmFtZSc6J0Nhcm9saW5hJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0NBVCcsJ25hbWUnOidDYXRhw7FvJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0NBWScsJ25hbWUnOidDYXlleSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidDRUknLCduYW1lJzonQ2VpYmEnfSwNCiAgICAnMjAnIDogeydjb2RlJzonQ0lBJywnbmFtZSc6J0NpYWxlcyd9LA0KICAgICcyMScgOiB7J2NvZGUnOidDSUQnLCduYW1lJzonQ2lkcmEnfSwNCiAgICAnMjInIDogeydjb2RlJzonQ09BJywnbmFtZSc6J0NvYW1vJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J0NPTScsJ25hbWUnOidDb21lcsOtbyd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidDT1InLCduYW1lJzonQ29yb3phbCd9LA0KICAgICcyNScgOiB7J2NvZGUnOidDVUwnLCduYW1lJzonQ3VsZWJyYSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidET1InLCduYW1lJzonRG9yYWRvJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J0ZBSicsJ25hbWUnOidGYWphcmRvJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J0ZMTycsJ25hbWUnOidGbG9yaWRhJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J0dVQScsJ25hbWUnOidHdWF5YW1hJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J0dVQScsJ25hbWUnOidHdWF5YW5pbGxhJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J0dVQScsJ25hbWUnOidHdWF5bmFibyd9LA0KICAgICczMicgOiB7J2NvZGUnOidHVVInLCduYW1lJzonR3VyYWJvJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J0dVwqEnLCduYW1lJzonR3XDoW5pY2EnfSwNCiAgICAnMzQnIDogeydjb2RlJzonSEFUJywnbmFtZSc6J0hhdGlsbG8nfSwNCiAgICAnMzUnIDogeydjb2RlJzonSE9SJywnbmFtZSc6J0hvcm1pZ3Vlcm9zJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J0hVTScsJ25hbWUnOidIdW1hY2FvJ30sDQogICAgJzM3JyA6IHsnY29kZSc6J0lTQScsJ25hbWUnOidJc2FiZWxhJ30sDQogICAgJzM4JyA6IHsnY29kZSc6J0pBWScsJ25hbWUnOidKYXl1eWEnfSwNCiAgICAnMzknIDogeydjb2RlJzonSlVBJywnbmFtZSc6J0p1YW5hIETDrWF6J30sDQogICAgJzQwJyA6IHsnY29kZSc6J0pVTicsJ25hbWUnOidKdW5jb3MnfSwNCiAgICAnNDEnIDogeydjb2RlJzonTEFKJywnbmFtZSc6J0xhamFzJ30sDQogICAgJzQyJyA6IHsnY29kZSc6J0xBUicsJ25hbWUnOidMYXJlcyd9LA0KICAgICc0MycgOiB7J2NvZGUnOidMQVMnLCduYW1lJzonTGFzIE1hcsOtYXMnfSwNCiAgICAnNDQnIDogeydjb2RlJzonTEFTJywnbmFtZSc6J0xhcyBQaWVkcmFzJ30sDQogICAgJzQ1JyA6IHsnY29kZSc6J0xPw5UnLCduYW1lJzonTG_DrXphJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J0xVUScsJ25hbWUnOidMdXF1aWxsbyd9LA0KICAgICc0NycgOiB7J2NvZGUnOidNQU4nLCduYW1lJzonTWFuYXTDrSd9LA0KICAgICc0OCcgOiB7J2NvZGUnOidNQVInLCduYW1lJzonTWFyaWNhbyd9LA0KICAgICc0OScgOiB7J2NvZGUnOidNQVUnLCduYW1lJzonTWF1bmFibyd9LA0KICAgICc1MCcgOiB7J2NvZGUnOidNQVknLCduYW1lJzonTWF5YWfDvGV6J30sDQogICAgJzUxJyA6IHsnY29kZSc6J01PQycsJ25hbWUnOidNb2NhJ30sDQogICAgJzUyJyA6IHsnY29kZSc6J01PUicsJ25hbWUnOidNb3JvdmlzJ30sDQogICAgJzUzJyA6IHsnY29kZSc6J05BRycsJ25hbWUnOidOYWd1YWJvJ30sDQogICAgJzU0JyA6IHsnY29kZSc6J05BUicsJ25hbWUnOidOYXJhbmppdG8nfSwNCiAgICAnNTUnIDogeydjb2RlJzonT1JPJywnbmFtZSc6J09yb2NvdmlzJ30sDQogICAgJzU2JyA6IHsnY29kZSc6J1BBVCcsJ25hbWUnOidQYXRpbGxhcyd9LA0KICAgICc1NycgOiB7J2NvZGUnOidQRS0nLCduYW1lJzonUGXDsXVlbGFzJ30sDQogICAgJzU4JyA6IHsnY29kZSc6J1BPTicsJ25hbWUnOidQb25jZSd9LA0KICAgICc1OScgOiB7J2NvZGUnOidRVUUnLCduYW1lJzonUXVlYnJhZGlsbGFzJ30sDQogICAgJzYwJyA6IHsnY29kZSc6J1JJTicsJ25hbWUnOidSaW5jw7NuJ30sDQogICAgJzYxJyA6IHsnY29kZSc6J1JJTycsJ25hbWUnOidSaW8gR3JhbmRlJ30sDQogICAgJzYyJyA6IHsnY29kZSc6J1NBQicsJ25hbWUnOidTYWJhbmEgR3JhbmRlJ30sDQogICAgJzYzJyA6IHsnY29kZSc6J1NBTCcsJ25hbWUnOidTYWxpbmFzJ30sDQogICAgJzY0JyA6IHsnY29kZSc6J1NBTicsJ25hbWUnOidTYW4gR2VybcOgbid9LA0KICAgICc2NScgOiB7J2NvZGUnOidTQU4nLCduYW1lJzonU2FuIEp1YW4nfSwNCiAgICAnNjYnIDogeydjb2RlJzonU0FOJywnbmFtZSc6J1NhbiBMb3JlbnpvJ30sDQogICAgJzY3JyA6IHsnY29kZSc6J1NBTicsJ25hbWUnOidTYW4gU2ViYXN0acOgbid9LA0KICAgICc2OCcgOiB7J2NvZGUnOidTQU4nLCduYW1lJzonU2FudGEgSXNhYmVsJ30sDQogICAgJzY5JyA6IHsnY29kZSc6J1RPQScsJ25hbWUnOidUb2EgQWx0YSd9LA0KICAgICc3MCcgOiB7J2NvZGUnOidUT0EnLCduYW1lJzonVG9hIEJhamEnfSwNCiAgICAnNzEnIDogeydjb2RlJzonVFJVJywnbmFtZSc6J1RydWppbGxvIEFsdG8nfSwNCiAgICAnNzInIDogeydjb2RlJzonVVRVJywnbmFtZSc6J1V0dWFkbyd9LA0KICAgICc3MycgOiB7J2NvZGUnOidWRUcnLCduYW1lJzonVmVnYSBBbHRhJ30sDQogICAgJzc0JyA6IHsnY29kZSc6J1ZFRycsJ25hbWUnOidWZWdhIEJhamEnfSwNCiAgICAnNzUnIDogeydjb2RlJzonVklFJywnbmFtZSc6J1ZpZXF1ZXMnfSwNCiAgICAnNzYnIDogeydjb2RlJzonVklMJywnbmFtZSc6J1ZpbGxhbGJhJ30sDQogICAgJzc3JyA6IHsnY29kZSc6J1lBQicsJ25hbWUnOidZYWJ1Y29hJ30sDQogICAgJzc4JyA6IHsnY29kZSc6J1lBVScsJ25hbWUnOidZYXVjbyd9DQogIH0sDQogICdRQSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0RXJywnbmFtZSc6J0FkIERhd2hhaCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0dXJywnbmFtZSc6J0FsIEdodXdheXJpeWFoJ30sDQogICAgJzMnIDogeydjb2RlJzonSk0nLCduYW1lJzonQWwgSnVtYXlsaXlhaCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0tSJywnbmFtZSc6J0FsIEtoYXdyJ30sDQogICAgJzUnIDogeydjb2RlJzonV0snLCduYW1lJzonQWwgV2FrcmFoJ30sDQogICAgJzYnIDogeydjb2RlJzonUk4nLCduYW1lJzonQXIgUmF5eWFuJ30sDQogICAgJzcnIDogeydjb2RlJzonSkInLCduYW1lJzonSmFyYXlhbiBhbCBCYXRpbmFoJ30sDQogICAgJzgnIDogeydjb2RlJzonTVMnLCduYW1lJzonTWFkaW5hdCBhc2ggU2hhbWFsJ30sDQogICAgJzknIDogeydjb2RlJzonVUQnLCduYW1lJzonVW1tIFNhXCdpZCd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidVTCcsJ25hbWUnOidVbW0gU2FsYWwnfQ0KICB9LA0KICAnUk8nOnsNCiAgICAnMScgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBbGJhJ30sDQogICAgJzInIDogeydjb2RlJzonQVInLCduYW1lJzonQXJhZCd9LA0KICAgICczJyA6IHsnY29kZSc6J0FHJywnbmFtZSc6J0FyZ2VzJ30sDQogICAgJzQnIDogeydjb2RlJzonQkMnLCduYW1lJzonQmFjYXUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCSCcsJ25hbWUnOidCaWhvcid9LA0KICAgICc2JyA6IHsnY29kZSc6J0JOJywnbmFtZSc6J0Jpc3RyaXRhLU5hc2F1ZCd9LA0KICAgICc3JyA6IHsnY29kZSc6J0JUJywnbmFtZSc6J0JvdG9zYW5pJ30sDQogICAgJzgnIDogeydjb2RlJzonQlYnLCduYW1lJzonQnJhc292J30sDQogICAgJzknIDogeydjb2RlJzonQlInLCduYW1lJzonQnJhaWxhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0InLCduYW1lJzonQnVjdXJlc3RpJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0JaJywnbmFtZSc6J0J1emF1J30sDQogICAgJzEyJyA6IHsnY29kZSc6J0NTJywnbmFtZSc6J0NhcmFzLVNldmVyaW4nfSwNCiAgICAnMTMnIDogeydjb2RlJzonQ0wnLCduYW1lJzonQ2FsYXJhc2knfSwNCiAgICAnMTQnIDogeydjb2RlJzonQ0onLCduYW1lJzonQ2x1aid9LA0KICAgICcxNScgOiB7J2NvZGUnOidDVCcsJ25hbWUnOidDb25zdGFudGEnfSwNCiAgICAnMTYnIDogeydjb2RlJzonQ1YnLCduYW1lJzonQ292YXNuYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidEQicsJ25hbWUnOidEaW1ib3ZpdGEnfSwNCiAgICAnMTgnIDogeydjb2RlJzonREonLCduYW1lJzonRG9said9LA0KICAgICcxOScgOiB7J2NvZGUnOidHTCcsJ25hbWUnOidHYWxhdGknfSwNCiAgICAnMjAnIDogeydjb2RlJzonR1InLCduYW1lJzonR2l1cmdpdSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidHSicsJ25hbWUnOidHb3JqJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0hSJywnbmFtZSc6J0hhcmdoaXRhJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J0hEJywnbmFtZSc6J0h1bmVkb2FyYSd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidJTCcsJ25hbWUnOidJYWxvbWl0YSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidJUycsJ25hbWUnOidJYXNpJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J0lGJywnbmFtZSc6J0lsZm92J30sDQogICAgJzI3JyA6IHsnY29kZSc6J01NJywnbmFtZSc6J01hcmFtdXJlcyd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidNSCcsJ25hbWUnOidNZWhlZGludGknfSwNCiAgICAnMjknIDogeydjb2RlJzonTVMnLCduYW1lJzonTXVyZXMnfSwNCiAgICAnMzAnIDogeydjb2RlJzonTlQnLCduYW1lJzonTmVhbXQnfSwNCiAgICAnMzEnIDogeydjb2RlJzonT1QnLCduYW1lJzonT2x0J30sDQogICAgJzMyJyA6IHsnY29kZSc6J1BIJywnbmFtZSc6J1ByYWhvdmEnfSwNCiAgICAnMzMnIDogeydjb2RlJzonU00nLCduYW1lJzonU2F0dS1NYXJlJ30sDQogICAgJzM0JyA6IHsnY29kZSc6J1NKJywnbmFtZSc6J1NhbGFqJ30sDQogICAgJzM1JyA6IHsnY29kZSc6J1NCJywnbmFtZSc6J1NpYml1J30sDQogICAgJzM2JyA6IHsnY29kZSc6J1NWJywnbmFtZSc6J1N1Y2VhdmEnfSwNCiAgICAnMzcnIDogeydjb2RlJzonVFInLCduYW1lJzonVGVsZW9ybWFuJ30sDQogICAgJzM4JyA6IHsnY29kZSc6J1RNJywnbmFtZSc6J1RpbWlzJ30sDQogICAgJzM5JyA6IHsnY29kZSc6J1RMJywnbmFtZSc6J1R1bGNlYSd9LA0KICAgICc0MCcgOiB7J2NvZGUnOidWUycsJ25hbWUnOidWYXNsdWknfSwNCiAgICAnNDEnIDogeydjb2RlJzonVkwnLCduYW1lJzonVmFsY2VhJ30sDQogICAgJzQyJyA6IHsnY29kZSc6J1ZOJywnbmFtZSc6J1ZyYW5jZWEnfQ0KICB9LA0KICAnUlUnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBYmFrYW4nfSwNCiAgICAnMicgOiB7J2NvZGUnOidBRycsJ25hbWUnOidBZ2luc2tveWUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBTicsJ25hbWUnOidBbmFkeXInfSwNCiAgICAnNCcgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcmthaGFuZ2Vsc2snfSwNCiAgICAnNScgOiB7J2NvZGUnOidBUycsJ25hbWUnOidBc3RyYWtoYW4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidCQScsJ25hbWUnOidCYXJuYXVsJ30sDQogICAgJzcnIDogeydjb2RlJzonQkUnLCduYW1lJzonQmVsZ29yb2QnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidCSScsJ25hbWUnOidCaXJvYmlkemhhbid9LA0KICAgICc5JyA6IHsnY29kZSc6J0JMJywnbmFtZSc6J0JsYWdvdmVzaGNoZW5zayd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidCUicsJ25hbWUnOidCcnlhbnNrJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0NoZWJva3NhcnknfSwNCiAgICAnMTInIDogeydjb2RlJzonQ0wnLCduYW1lJzonQ2hlbHlhYmluc2snfSwNCiAgICAnMTMnIDogeydjb2RlJzonQ1InLCduYW1lJzonQ2hlcmtlc3NrJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0NJJywnbmFtZSc6J0NoaXRhJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0RVJywnbmFtZSc6J0R1ZGlua2EnfSwNCiAgICAnMTYnIDogeydjb2RlJzonRUwnLCduYW1lJzonRWxpc3RhJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0dPJywnbmFtZSc6J0dvbW8tQWx0YXlzayd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidHQScsJ25hbWUnOidHb3Juby1BbHRheXNrJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0dSJywnbmFtZSc6J0dyb3pueXknfSwNCiAgICAnMjAnIDogeydjb2RlJzonSVInLCduYW1lJzonSXJrdXRzayd9LA0KICAgICcyMScgOiB7J2NvZGUnOidJVicsJ25hbWUnOidJdmFub3ZvJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0laJywnbmFtZSc6J0l6aGV2c2snfSwNCiAgICAnMjMnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2FsaW5pZ3JhZCd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidLTCcsJ25hbWUnOidLYWx1Z2EnfSwNCiAgICAnMjUnIDogeydjb2RlJzonS1MnLCduYW1lJzonS2Fzbm9kYXInfSwNCiAgICAnMjYnIDogeydjb2RlJzonS1onLCduYW1lJzonS2F6YW4nfSwNCiAgICAnMjcnIDogeydjb2RlJzonS0UnLCduYW1lJzonS2VtZXJvdm8nfSwNCiAgICAnMjgnIDogeydjb2RlJzonS0gnLCduYW1lJzonS2hhYmFyb3Zzayd9LA0KICAgICcyOScgOiB7J2NvZGUnOidLTScsJ25hbWUnOidLaGFudHktTWFuc2l5c2snfSwNCiAgICAnMzAnIDogeydjb2RlJzonS08nLCduYW1lJzonS29zdHJvbWEnfSwNCiAgICAnMzEnIDogeydjb2RlJzonS1InLCduYW1lJzonS3Jhc25vZGFyJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J0tOJywnbmFtZSc6J0tyYXNub3lhcnNrJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J0tVJywnbmFtZSc6J0t1ZHlta2FyJ30sDQogICAgJzM0JyA6IHsnY29kZSc6J0tHJywnbmFtZSc6J0t1cmdhbid9LA0KICAgICczNScgOiB7J2NvZGUnOidLSycsJ25hbWUnOidLdXJzayd9LA0KICAgICczNicgOiB7J2NvZGUnOidLWScsJ25hbWUnOidLeXp5bCd9LA0KICAgICczNycgOiB7J2NvZGUnOidMSScsJ25hbWUnOidMaXBldHNrJ30sDQogICAgJzM4JyA6IHsnY29kZSc6J01BJywnbmFtZSc6J01hZ2FkYW4nfSwNCiAgICAnMzknIDogeydjb2RlJzonTUsnLCduYW1lJzonTWFraGFjaGthbGEnfSwNCiAgICAnNDAnIDogeydjb2RlJzonTVknLCduYW1lJzonTWF5a29wJ30sDQogICAgJzQxJyA6IHsnY29kZSc6J01PJywnbmFtZSc6J01vc2Nvdyd9LA0KICAgICc0MicgOiB7J2NvZGUnOidNVScsJ25hbWUnOidNdXJtYW5zayd9LA0KICAgICc0MycgOiB7J2NvZGUnOidOQScsJ25hbWUnOidOYWxjaGlrJ30sDQogICAgJzQ0JyA6IHsnY29kZSc6J05SJywnbmFtZSc6J05hcnlhbiBNYXInfSwNCiAgICAnNDUnIDogeydjb2RlJzonTlonLCduYW1lJzonTmF6cmFuJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J05JJywnbmFtZSc6J05pemhuaXkgTm92Z29yb2QnfSwNCiAgICAnNDcnIDogeydjb2RlJzonTk8nLCduYW1lJzonTm92Z29yb2QnfSwNCiAgICAnNDgnIDogeydjb2RlJzonTlYnLCduYW1lJzonTm92b3NpYmlyc2snfSwNCiAgICAnNDknIDogeydjb2RlJzonT00nLCduYW1lJzonT21zayd9LA0KICAgICc1MCcgOiB7J2NvZGUnOidPUicsJ25hbWUnOidPcmVsJ30sDQogICAgJzUxJyA6IHsnY29kZSc6J09FJywnbmFtZSc6J09yZW5idXJnJ30sDQogICAgJzUyJyA6IHsnY29kZSc6J1BBJywnbmFtZSc6J1BhbGFuYSd9LA0KICAgICc1MycgOiB7J2NvZGUnOidQRScsJ25hbWUnOidQZW56YSd9LA0KICAgICc1NCcgOiB7J2NvZGUnOidQUicsJ25hbWUnOidQZXJtJ30sDQogICAgJzU1JyA6IHsnY29kZSc6J1BLJywnbmFtZSc6J1BldHJvcGF2bG92c2stS2FtY2hhdHNraXknfSwNCiAgICAnNTYnIDogeydjb2RlJzonUFQnLCduYW1lJzonUGV0cm96YXZvZHNrJ30sDQogICAgJzU3JyA6IHsnY29kZSc6J1BTJywnbmFtZSc6J1Bza292J30sDQogICAgJzU4JyA6IHsnY29kZSc6J1JPJywnbmFtZSc6J1Jvc3Rvdi1uYS1Eb251J30sDQogICAgJzU5JyA6IHsnY29kZSc6J1JZJywnbmFtZSc6J1J5YXphbid9LA0KICAgICc2MCcgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidTYWxla2hhcmQnfSwNCiAgICAnNjEnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2FtYXJhJ30sDQogICAgJzYyJyA6IHsnY29kZSc6J1NSJywnbmFtZSc6J1NhcmFuc2snfSwNCiAgICAnNjMnIDogeydjb2RlJzonU1YnLCduYW1lJzonU2FyYXRvdid9LA0KICAgICc2NCcgOiB7J2NvZGUnOidTTScsJ25hbWUnOidTbW9sZW5zayd9LA0KICAgICc2NScgOiB7J2NvZGUnOidTUCcsJ25hbWUnOidTdC4gUGV0ZXJzYnVyZyd9LA0KICAgICc2NicgOiB7J2NvZGUnOidTVCcsJ25hbWUnOidTdGF2cm9wb2wnfSwNCiAgICAnNjcnIDogeydjb2RlJzonU1knLCduYW1lJzonU3lrdHl2a2FyJ30sDQogICAgJzY4JyA6IHsnY29kZSc6J1RBJywnbmFtZSc6J1RhbWJvdid9LA0KICAgICc2OScgOiB7J2NvZGUnOidUTycsJ25hbWUnOidUb21zayd9LA0KICAgICc3MCcgOiB7J2NvZGUnOidUVScsJ25hbWUnOidUdWxhJ30sDQogICAgJzcxJyA6IHsnY29kZSc6J1RSJywnbmFtZSc6J1R1cmEnfSwNCiAgICAnNzInIDogeydjb2RlJzonVFYnLCduYW1lJzonVHZlcid9LA0KICAgICc3MycgOiB7J2NvZGUnOidUWScsJ25hbWUnOidUeXVtZW4nfSwNCiAgICAnNzQnIDogeydjb2RlJzonVUYnLCduYW1lJzonVWZhJ30sDQogICAgJzc1JyA6IHsnY29kZSc6J1VMJywnbmFtZSc6J1VsXCd5YW5vdnNrJ30sDQogICAgJzc2JyA6IHsnY29kZSc6J1VVJywnbmFtZSc6J1VsYW4tVWRlJ30sDQogICAgJzc3JyA6IHsnY29kZSc6J1VTJywnbmFtZSc6J1VzdFwnLU9yZHluc2tpeSd9LA0KICAgICc3OCcgOiB7J2NvZGUnOidWTCcsJ25hbWUnOidWbGFkaWthdmtheid9LA0KICAgICc3OScgOiB7J2NvZGUnOidWQScsJ25hbWUnOidWbGFkaW1pcid9LA0KICAgICc4MCcgOiB7J2NvZGUnOidWVicsJ25hbWUnOidWbGFkaXZvc3Rvayd9LA0KICAgICc4MScgOiB7J2NvZGUnOidWRycsJ25hbWUnOidWb2xnb2dyYWQnfSwNCiAgICAnODInIDogeydjb2RlJzonVkQnLCduYW1lJzonVm9sb2dkYSd9LA0KICAgICc4MycgOiB7J2NvZGUnOidWTycsJ25hbWUnOidWb3JvbmV6aCd9LA0KICAgICc4NCcgOiB7J2NvZGUnOidWWScsJ25hbWUnOidWeWF0a2EnfSwNCiAgICAnODUnIDogeydjb2RlJzonWUEnLCduYW1lJzonWWFrdXRzayd9LA0KICAgICc4NicgOiB7J2NvZGUnOidZUicsJ25hbWUnOidZYXJvc2xhdmwnfSwNCiAgICAnODcnIDogeydjb2RlJzonWUUnLCduYW1lJzonWWVrYXRlcmluYnVyZyd9LA0KICAgICc4OCcgOiB7J2NvZGUnOidZTycsJ25hbWUnOidZb3Noa2FyLU9sYSd9DQogIH0sDQogICdSVyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JVJywnbmFtZSc6J0J1dGFyZSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JZJywnbmFtZSc6J0J5dW1iYSd9LA0KICAgICczJyA6IHsnY29kZSc6J0NZJywnbmFtZSc6J0N5YW5ndWd1J30sDQogICAgJzQnIDogeydjb2RlJzonR0snLCduYW1lJzonR2lrb25nb3JvJ30sDQogICAgJzUnIDogeydjb2RlJzonR1MnLCduYW1lJzonR2lzZW55aSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0dUJywnbmFtZSc6J0dpdGFyYW1hJ30sDQogICAgJzcnIDogeydjb2RlJzonS0cnLCduYW1lJzonS2lidW5nbyd9LA0KICAgICc4JyA6IHsnY29kZSc6J0tZJywnbmFtZSc6J0tpYnV5ZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0tSJywnbmFtZSc6J0tpZ2FsaSBSdXJhbGUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonS1YnLCduYW1lJzonS2lnYWxpLXZpbGxlJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1JVJywnbmFtZSc6J1J1aGVuZ2VyaSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidVTScsJ25hbWUnOidVbXV0YXJhJ30NCiAgfSwNCiAgJ0tOJzp7DQogICAgJzEnIDogeydjb2RlJzonQ0NOJywnbmFtZSc6J0NocmlzdCBDaHVyY2ggTmljaG9sYSBUb3duJ30sDQogICAgJzInIDogeydjb2RlJzonU0FTJywnbmFtZSc6J1NhaW50IEFubmUgU2FuZHkgUG9pbnQnfSwNCiAgICAnMycgOiB7J2NvZGUnOidTR0InLCduYW1lJzonU2FpbnQgR2VvcmdlIEJhc3NldGVycmUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidTR0cnLCduYW1lJzonU2FpbnQgR2VvcmdlIEdpbmdlcmxhbmQnfSwNCiAgICAnNScgOiB7J2NvZGUnOidTSlcnLCduYW1lJzonU2FpbnQgSmFtZXMgV2luZHdhcmQnfSwNCiAgICAnNicgOiB7J2NvZGUnOidTSkMnLCduYW1lJzonU2FpbnQgSm9obiBDYXBlc3RlcnJlJ30sDQogICAgJzcnIDogeydjb2RlJzonU0pGJywnbmFtZSc6J1NhaW50IEpvaG4gRmlndHJlZSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1NNQycsJ25hbWUnOidTYWludCBNYXJ5IENheW9uJ30sDQogICAgJzknIDogeydjb2RlJzonQ0FQJywnbmFtZSc6J1NhaW50IFBhdWwgQ2FwZXN0ZXJyZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidDSEEnLCduYW1lJzonU2FpbnQgUGF1bCBDaGFybGVzdG93bid9LA0KICAgICcxMScgOiB7J2NvZGUnOidTUEInLCduYW1lJzonU2FpbnQgUGV0ZXIgQmFzc2V0ZXJyZSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidTVEwnLCduYW1lJzonU2FpbnQgVGhvbWFzIExvd2xhbmQnfSwNCiAgICAnMTMnIDogeydjb2RlJzonU1RNJywnbmFtZSc6J1NhaW50IFRob21hcyBNaWRkbGUgSXNsYW5kJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1RQUCcsJ25hbWUnOidUcmluaXR5IFBhbG1ldHRvIFBvaW50J30NCiAgfSwNCiAgJ0xDJzp7DQogICAgJzEnIDogeydjb2RlJzonQVInLCduYW1lJzonQW5zZS1sYS1SYXllJ30sDQogICAgJzInIDogeydjb2RlJzonQ0EnLCduYW1lJzonQ2FzdHJpZXMnfSwNCiAgICAnMycgOiB7J2NvZGUnOidDSCcsJ25hbWUnOidDaG9pc2V1bCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0RBJywnbmFtZSc6J0RhdXBoaW4nfSwNCiAgICAnNScgOiB7J2NvZGUnOidERScsJ25hbWUnOidEZW5uZXJ5J30sDQogICAgJzYnIDogeydjb2RlJzonR0knLCduYW1lJzonR3Jvcy1Jc2xldCd9LA0KICAgICc3JyA6IHsnY29kZSc6J0xBJywnbmFtZSc6J0xhYm9yaWUnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNaWNvdWQnfSwNCiAgICAnOScgOiB7J2NvZGUnOidQUicsJ25hbWUnOidQcmFzbGluJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1NvdWZyaWVyZSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidWRicsJ25hbWUnOidWaWV1eC1Gb3J0J30NCiAgfSwNCiAgJ1ZDJzp7DQogICAgJzEnIDogeydjb2RlJzonQycsJ25hbWUnOidDaGFybG90dGUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidSJywnbmFtZSc6J0dyZW5hZGluZXMnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBJywnbmFtZSc6J1NhaW50IEFuZHJldyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0QnLCduYW1lJzonU2FpbnQgRGF2aWQnfSwNCiAgICAnNScgOiB7J2NvZGUnOidHJywnbmFtZSc6J1NhaW50IEdlb3JnZSd9LA0KICAgICc2JyA6IHsnY29kZSc6J1AnLCduYW1lJzonU2FpbnQgUGF0cmljayd9DQogIH0sDQogICdXUyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FOJywnbmFtZSc6J0FcJ2FuYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FJJywnbmFtZSc6J0FpZ2EtaS1sZS1UYWknfSwNCiAgICAnMycgOiB7J2NvZGUnOidBVCcsJ25hbWUnOidBdHVhJ30sDQogICAgJzQnIDogeydjb2RlJzonRkEnLCduYW1lJzonRmFcJ2FzYWxlbGVhZ2EnfSwNCiAgICAnNScgOiB7J2NvZGUnOidHRScsJ25hbWUnOidHYWdhXCdlbWF1Z2EnfSwNCiAgICAnNicgOiB7J2NvZGUnOidHRicsJ25hbWUnOidHYWdhaWZvbWF1Z2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQYWxhdWxpJ30sDQogICAgJzgnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2F0dXBhXCdpdGVhJ30sDQogICAgJzknIDogeydjb2RlJzonVFUnLCduYW1lJzonVHVhbWFzYWdhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1ZGJywnbmFtZSc6J1ZhXCdhLW8tRm9ub3RpJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1ZTJywnbmFtZSc6J1ZhaXNpZ2Fubyd9DQogIH0sDQogICdTTSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FDJywnbmFtZSc6J0FjcXVhdml2YSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0JNJywnbmFtZSc6J0JvcmdvIE1hZ2dpb3JlJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0gnLCduYW1lJzonQ2hpZXNhbnVvdmEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidETycsJ25hbWUnOidEb21hZ25hbm8nfSwNCiAgICAnNScgOiB7J2NvZGUnOidGQScsJ25hbWUnOidGYWV0YW5vJ30sDQogICAgJzYnIDogeydjb2RlJzonRkknLCduYW1lJzonRmlvcmVudGlubyd9LA0KICAgICc3JyA6IHsnY29kZSc6J01PJywnbmFtZSc6J01vbnRlZ2lhcmRpbm8nfSwNCiAgICAnOCcgOiB7J2NvZGUnOidTTScsJ25hbWUnOidDaXR0YSBkaSBTYW4gTWFyaW5vJ30sDQogICAgJzknIDogeydjb2RlJzonU0UnLCduYW1lJzonU2VycmF2YWxsZSd9DQogIH0sDQogICdTVCc6ew0KICAgICcxJyA6IHsnY29kZSc6J1MnLCduYW1lJzonU2FvIFRvbWUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidQJywnbmFtZSc6J1ByaW5jaXBlJ30NCiAgfSwNCiAgJ1NBJzp7DQogICAgJzEnIDogeydjb2RlJzonQkgnLCduYW1lJzonQWwgQmFoYWgnfSwNCiAgICAnMicgOiB7J2NvZGUnOidIUycsJ25hbWUnOidBbCBIdWR1ZCBhc2ggU2hhbWFsaXlhaCd9LA0KICAgICczJyA6IHsnY29kZSc6J0pGJywnbmFtZSc6J0FsIEphd2YnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidNRCcsJ25hbWUnOidBbCBNYWRpbmFoJ30sDQogICAgJzUnIDogeydjb2RlJzonUVMnLCduYW1lJzonQWwgUWFzaW0nfSwNCiAgICAnNicgOiB7J2NvZGUnOidSRCcsJ25hbWUnOidBciBSaXlhZCd9LA0KICAgICc3JyA6IHsnY29kZSc6J0FRJywnbmFtZSc6J0FzaCBTaGFycWl5YWggKEVhc3Rlcm4pJ30sDQogICAgJzgnIDogeydjb2RlJzonQVMnLCduYW1lJzonXCdBc2lyJ30sDQogICAgJzknIDogeydjb2RlJzonSEwnLCduYW1lJzonSGFcJ2lsJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0paJywnbmFtZSc6J0ppemFuJ30sDQogICAgJzExJyA6IHsnY29kZSc6J01MJywnbmFtZSc6J01ha2thaCd9LA0KICAgICcxMicgOiB7J2NvZGUnOidOUicsJ25hbWUnOidOYWpyYW4nfSwNCiAgICAnMTMnIDogeydjb2RlJzonVEInLCduYW1lJzonVGFidWsnfQ0KICB9LA0KICAnU04nOnsNCiAgICAnMScgOiB7J2NvZGUnOidEQScsJ25hbWUnOidEYWthcid9LA0KICAgICcyJyA6IHsnY29kZSc6J0RJJywnbmFtZSc6J0Rpb3VyYmVsJ30sDQogICAgJzMnIDogeydjb2RlJzonRkEnLCduYW1lJzonRmF0aWNrJ30sDQogICAgJzQnIDogeydjb2RlJzonS0EnLCduYW1lJzonS2FvbGFjayd9LA0KICAgICc1JyA6IHsnY29kZSc6J0tPJywnbmFtZSc6J0tvbGRhJ30sDQogICAgJzYnIDogeydjb2RlJzonTE8nLCduYW1lJzonTG91Z2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOidNQScsJ25hbWUnOidNYXRhbSd9LA0KICAgICc4JyA6IHsnY29kZSc6J1NMJywnbmFtZSc6J1NhaW50LUxvdWlzJ30sDQogICAgJzknIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFtYmFjb3VuZGEnfSwNCiAgICAnMTAnIDogeydjb2RlJzonVEgnLCduYW1lJzonVGhpZXMnfSwNCiAgICAnMTEnIDogeydjb2RlJzonWkknLCduYW1lJzonWmlndWluY2hvcid9DQogIH0sDQogICdTQyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FQJywnbmFtZSc6J0Fuc2UgYXV4IFBpbnMnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBbnNlIEJvaWxlYXUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBRScsJ25hbWUnOidBbnNlIEV0b2lsZSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0Fuc2UgTG91aXMnfSwNCiAgICAnNScgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBbnNlIFJveWFsZSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0JMJywnbmFtZSc6J0JhaWUgTGF6YXJlJ30sDQogICAgJzcnIDogeydjb2RlJzonQlMnLCduYW1lJzonQmFpZSBTYWludGUgQW5uZSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0JWJywnbmFtZSc6J0JlYXUgVmFsbG9uJ30sDQogICAgJzknIDogeydjb2RlJzonQkEnLCduYW1lJzonQmVsIEFpcid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidCTycsJ25hbWUnOidCZWwgT21icmUnfSwNCiAgICAnMTEnIDogeydjb2RlJzonQ0EnLCduYW1lJzonQ2FzY2FkZSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidHTCcsJ25hbWUnOidHbGFjaXMnfSwNCiAgICAnMTMnIDogeydjb2RlJzonR00nLCduYW1lJzonR3JhbmRcJyBBbnNlIChvbiBNYWhlKSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidHUCcsJ25hbWUnOidHcmFuZFwnIEFuc2UgKG9uIFByYXNsaW4pJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J0RHJywnbmFtZSc6J0xhIERpZ3VlJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1JBJywnbmFtZSc6J0xhIFJpdmllcmUgQW5nbGFpc2UnfSwNCiAgICAnMTcnIDogeydjb2RlJzonTUInLCduYW1lJzonTW9udCBCdXh0b24nfSwNCiAgICAnMTgnIDogeydjb2RlJzonTUYnLCduYW1lJzonTW9udCBGbGV1cmknfSwNCiAgICAnMTknIDogeydjb2RlJzonUEwnLCduYW1lJzonUGxhaXNhbmNlJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J1BSJywnbmFtZSc6J1BvaW50ZSBMYSBSdWUnfSwNCiAgICAnMjEnIDogeydjb2RlJzonUEcnLCduYW1lJzonUG9ydCBHbGF1ZCd9LA0KICAgICcyMicgOiB7J2NvZGUnOidTTCcsJ25hbWUnOidTYWludCBMb3Vpcyd9LA0KICAgICcyMycgOiB7J2NvZGUnOidUQScsJ25hbWUnOidUYWthbWFrYSd9DQogIH0sDQogICdTTCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0UnLCduYW1lJzonRWFzdGVybid9LA0KICAgICcyJyA6IHsnY29kZSc6J04nLCduYW1lJzonTm9ydGhlcm4nfSwNCiAgICAnMycgOiB7J2NvZGUnOidTJywnbmFtZSc6J1NvdXRoZXJuJ30sDQogICAgJzQnIDogeydjb2RlJzonVycsJ25hbWUnOidXZXN0ZXJuJ30NCiAgfSwNCiAgJ1NLJzp7DQogICAgJzEnIDogeydjb2RlJzonQkEnLCduYW1lJzonQmFuc2tvYnlzdHJpY2t5J30sDQogICAgJzInIDogeydjb2RlJzonQlInLCduYW1lJzonQnJhdGlzbGF2c2t5J30sDQogICAgJzMnIDogeydjb2RlJzonS08nLCduYW1lJzonS29zaWNreSd9LA0KICAgICc0JyA6IHsnY29kZSc6J05JJywnbmFtZSc6J05pdHJpYW5za3knfSwNCiAgICAnNScgOiB7J2NvZGUnOidQUicsJ25hbWUnOidQcmVzb3Zza3knfSwNCiAgICAnNicgOiB7J2NvZGUnOidUQycsJ25hbWUnOidUcmVuY2lhbnNreSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1RWJywnbmFtZSc6J1RybmF2c2t5J30sDQogICAgJzgnIDogeydjb2RlJzonWkknLCduYW1lJzonWmlsaW5za3knfQ0KICB9LA0KICAnU0knOnsNCiAgICAnMScgOiB7J2NvZGUnOic0JywnbmFtZSc6J8WgdGFqZXJza2EnfSwNCiAgICAnMicgOiB7J2NvZGUnOicyQScsJ25hbWUnOidHb3Jlbmpza2EnfSwNCiAgICAnMycgOiB7J2NvZGUnOic1JywnbmFtZSc6J1ByZWttdXJqZSd9LA0KICAgICc0JyA6IHsnY29kZSc6JzMnLCduYW1lJzonS29yb8Wha2EnfSwNCiAgICAnNScgOiB7J2NvZGUnOicyQicsJ25hbWUnOidOb3RyYW5qc2thJ30sDQogICAgJzYnIDogeydjb2RlJzonMScsJ25hbWUnOidQcmltb3Jza2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOicyQycsJ25hbWUnOidEb2xlbmpza2EnfSwNCiAgICAnOCcgOiB7J2NvZGUnOicyQycsJ25hbWUnOidCZWxhIEtyYWppbmEnfQ0KICB9LA0KICAnU0InOnsNCiAgICAnMScgOiB7J2NvZGUnOidDRScsJ25hbWUnOidDZW50cmFsJ30sDQogICAgJzInIDogeydjb2RlJzonQ0gnLCduYW1lJzonQ2hvaXNldWwnfSwNCiAgICAnMycgOiB7J2NvZGUnOidHQycsJ25hbWUnOidHdWFkYWxjYW5hbCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0hPJywnbmFtZSc6J0hvbmlhcmEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidJUycsJ25hbWUnOidJc2FiZWwnfSwNCiAgICAnNicgOiB7J2NvZGUnOidNSycsJ25hbWUnOidNYWtpcmEnfSwNCiAgICAnNycgOiB7J2NvZGUnOidNTCcsJ25hbWUnOidNYWxhaXRhJ30sDQogICAgJzgnIDogeydjb2RlJzonUkInLCduYW1lJzonUmVubmVsbCBhbmQgQmVsbG9uYSd9LA0KICAgICc5JyA6IHsnY29kZSc6J1RNJywnbmFtZSc6J1RlbW90dSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidXRScsJ25hbWUnOidXZXN0ZXJuJ30NCiAgfSwNCiAgJ1NPJzp7DQogICAgJzEnIDogeydjb2RlJzonQVcnLCduYW1lJzonQXdkYWwnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCSycsJ25hbWUnOidCYWtvb2wnfSwNCiAgICAnMycgOiB7J2NvZGUnOidCTicsJ25hbWUnOidCYW5hYWRpcid9LA0KICAgICc0JyA6IHsnY29kZSc6J0JSJywnbmFtZSc6J0JhcmknfSwNCiAgICAnNScgOiB7J2NvZGUnOidCWScsJ25hbWUnOidCYXknfSwNCiAgICAnNicgOiB7J2NvZGUnOidHQScsJ25hbWUnOidHYWxndWR1dWQnfSwNCiAgICAnNycgOiB7J2NvZGUnOidHRScsJ25hbWUnOidHZWRvJ30sDQogICAgJzgnIDogeydjb2RlJzonSEknLCduYW1lJzonSGlpcmFhbid9LA0KICAgICc5JyA6IHsnY29kZSc6J0pEJywnbmFtZSc6J0p1YmJhZGEgRGhleGUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonSkgnLCduYW1lJzonSnViYmFkYSBIb29zZSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidNVScsJ25hbWUnOidNdWR1Zyd9LA0KICAgICcxMicgOiB7J2NvZGUnOidOVScsJ25hbWUnOidOdWdhYWwnfSwNCiAgICAnMTMnIDogeydjb2RlJzonU0EnLCduYW1lJzonU2FuYWFnJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1NEJywnbmFtZSc6J1NoYWJlZWxsYWhhIERoZXhlJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1NIJywnbmFtZSc6J1NoYWJlZWxsYWhhIEhvb3NlJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1NMJywnbmFtZSc6J1Nvb2wnfSwNCiAgICAnMTcnIDogeydjb2RlJzonVE8nLCduYW1lJzonVG9nZGhlZXInfSwNCiAgICAnMTgnIDogeydjb2RlJzonV0cnLCduYW1lJzonV29xb295aSBHYWxiZWVkJ30NCiAgfSwNCiAgJ1pBJzp7DQogICAgJzEnIDogeydjb2RlJzonRUMnLCduYW1lJzonRWFzdGVybiBDYXBlJ30sDQogICAgJzInIDogeydjb2RlJzonRlMnLCduYW1lJzonRnJlZSBTdGF0ZSd9LA0KICAgICczJyA6IHsnY29kZSc6J0dUJywnbmFtZSc6J0dhdXRlbmcnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidLTicsJ25hbWUnOidLd2FadWx1LU5hdGFsJ30sDQogICAgJzUnIDogeydjb2RlJzonTFAnLCduYW1lJzonTGltcG9wbyd9LA0KICAgICc2JyA6IHsnY29kZSc6J01QJywnbmFtZSc6J01wdW1hbGFuZ2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOidOVycsJ25hbWUnOidOb3J0aCBXZXN0J30sDQogICAgJzgnIDogeydjb2RlJzonTkMnLCduYW1lJzonTm9ydGhlcm4gQ2FwZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J1dDJywnbmFtZSc6J1dlc3Rlcm4gQ2FwZSd9DQogIH0sDQogICdFUyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0NBJywnbmFtZSc6J0xhIENvcnXDsWEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTCcsJ25hbWUnOifDgWxhdmEnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBQicsJ25hbWUnOidBbGJhY2V0ZSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FDJywnbmFtZSc6J0FsaWNhbnRlJ30sDQogICAgJzUnIDogeydjb2RlJzonQU0nLCduYW1lJzonQWxtZXJpYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0FTJywnbmFtZSc6J0FzdHVyaWFzJ30sDQogICAgJzcnIDogeydjb2RlJzonQVYnLCduYW1lJzonw4F2aWxhJ30sDQogICAgJzgnIDogeydjb2RlJzonQkonLCduYW1lJzonQmFkYWpveid9LA0KICAgICc5JyA6IHsnY29kZSc6J0lCJywnbmFtZSc6J0JhbGVhcmVzJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JhcmNlbG9uYSd9LA0KICAgICcxMScgOiB7J2NvZGUnOidCVScsJ25hbWUnOidCdXJnb3MnfSwNCiAgICAnMTInIDogeydjb2RlJzonQ0MnLCduYW1lJzonQ8OhY2VyZXMnfSwNCiAgICAnMTMnIDogeydjb2RlJzonQ1onLCduYW1lJzonQ8OhZGl6J30sDQogICAgJzE0JyA6IHsnY29kZSc6J0NUJywnbmFtZSc6J0NhbnRhYnJpYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidDTCcsJ25hbWUnOidDYXN0ZWxsw7NuJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J0NFJywnbmFtZSc6J0NldXRhJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0NSJywnbmFtZSc6J0NpdWRhZCBSZWFsJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0NEJywnbmFtZSc6J0PDs3Jkb2JhJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0NVJywnbmFtZSc6J0N1ZW5jYSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidHSScsJ25hbWUnOidHZXJvbmEnfSwNCiAgICAnMjEnIDogeydjb2RlJzonR0QnLCduYW1lJzonR3JhbmFkYSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidHSicsJ25hbWUnOidHdWFkYWxhamFyYSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidHUCcsJ25hbWUnOidHdWlww7p6Y29hJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J0hMJywnbmFtZSc6J0h1ZWx2YSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidIUycsJ25hbWUnOidIdWVzY2EnfSwNCiAgICAnMjYnIDogeydjb2RlJzonSk4nLCduYW1lJzonSmHDqW4nfSwNCiAgICAnMjcnIDogeydjb2RlJzonUkonLCduYW1lJzonTGEgUmlvamEnfSwNCiAgICAnMjgnIDogeydjb2RlJzonUE0nLCduYW1lJzonTGFzIFBhbG1hcyd9LA0KICAgICcyOScgOiB7J2NvZGUnOidMRScsJ25hbWUnOidMZcOzbid9LA0KICAgICczMCcgOiB7J2NvZGUnOidMTCcsJ25hbWUnOidMw6lyaWRhJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J0xHJywnbmFtZSc6J0x1Z28nfSwNCiAgICAnMzInIDogeydjb2RlJzonTUQnLCduYW1lJzonTWFkcmlkJ30sDQogICAgJzMzJyA6IHsnY29kZSc6J01BJywnbmFtZSc6J03DoWxhZ2EnfSwNCiAgICAnMzQnIDogeydjb2RlJzonTUwnLCduYW1lJzonTWVsaWxsYSd9LA0KICAgICczNScgOiB7J2NvZGUnOidNVScsJ25hbWUnOidNdXJjaWEnfSwNCiAgICAnMzYnIDogeydjb2RlJzonTlYnLCduYW1lJzonTmF2YXJyYSd9LA0KICAgICczNycgOiB7J2NvZGUnOidPVScsJ25hbWUnOidPdXJlbnNlJ30sDQogICAgJzM4JyA6IHsnY29kZSc6J1BMJywnbmFtZSc6J1BhbGVuY2lhJ30sDQogICAgJzM5JyA6IHsnY29kZSc6J1BPJywnbmFtZSc6J1BvbnRldmVkcmEnfSwNCiAgICAnNDAnIDogeydjb2RlJzonU0wnLCduYW1lJzonU2FsYW1hbmNhJ30sDQogICAgJzQxJyA6IHsnY29kZSc6J1NDJywnbmFtZSc6J1NhbnRhIENydXogZGUgVGVuZXJpZmUnfSwNCiAgICAnNDInIDogeydjb2RlJzonU0cnLCduYW1lJzonU2Vnb3ZpYSd9LA0KICAgICc0MycgOiB7J2NvZGUnOidTVicsJ25hbWUnOidTZXZpbGxhJ30sDQogICAgJzQ0JyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1NvcmlhJ30sDQogICAgJzQ1JyA6IHsnY29kZSc6J1RBJywnbmFtZSc6J1RhcnJhZ29uYSd9LA0KICAgICc0NicgOiB7J2NvZGUnOidURScsJ25hbWUnOidUZXJ1ZWwnfSwNCiAgICAnNDcnIDogeydjb2RlJzonVE8nLCduYW1lJzonVG9sZWRvJ30sDQogICAgJzQ4JyA6IHsnY29kZSc6J1ZDJywnbmFtZSc6J1ZhbGVuY2lhJ30sDQogICAgJzQ5JyA6IHsnY29kZSc6J1ZEJywnbmFtZSc6J1ZhbGxhZG9saWQnfSwNCiAgICAnNTAnIDogeydjb2RlJzonVlonLCduYW1lJzonVml6Y2F5YSd9LA0KICAgICc1MScgOiB7J2NvZGUnOidaTScsJ25hbWUnOidaYW1vcmEnfSwNCiAgICAnNTInIDogeydjb2RlJzonWlInLCduYW1lJzonWmFyYWdvemEnfQ0KICB9LA0KICAnTEsnOnsNCiAgICAnMScgOiB7J2NvZGUnOidDRScsJ25hbWUnOidDZW50cmFsJ30sDQogICAgJzInIDogeydjb2RlJzonRUEnLCduYW1lJzonRWFzdGVybid9LA0KICAgICczJyA6IHsnY29kZSc6J05DJywnbmFtZSc6J05vcnRoIENlbnRyYWwnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidOTycsJ25hbWUnOidOb3J0aGVybid9LA0KICAgICc1JyA6IHsnY29kZSc6J05XJywnbmFtZSc6J05vcnRoIFdlc3Rlcm4nfSwNCiAgICAnNicgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTYWJhcmFnYW11d2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb3V0aGVybid9LA0KICAgICc4JyA6IHsnY29kZSc6J1VWJywnbmFtZSc6J1V2YSd9LA0KICAgICc5JyA6IHsnY29kZSc6J1dFJywnbmFtZSc6J1dlc3Rlcm4nfQ0KICB9LA0KICAnU0gnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBJywnbmFtZSc6J0FzY2Vuc2lvbid9LA0KICAgICcyJyA6IHsnY29kZSc6J1MnLCduYW1lJzonU2FpbnQgSGVsZW5hJ30sDQogICAgJzMnIDogeydjb2RlJzonVCcsJ25hbWUnOidUcmlzdGFuIGRhIEN1bmhhJ30NCiAgfSwNCiAgJ1BNJzp7DQogICAgJzEnIDogeydjb2RlJzonUCcsJ25hbWUnOidTYWludCBQaWVycmUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidNJywnbmFtZSc6J01pcXVlbG9uJ30NCiAgfSwNCiAgJ1NEJzp7DQogICAgJzEnIDogeydjb2RlJzonQU5MJywnbmFtZSc6J0FcJ2FsaSBhbiBOaWwnfSwNCiAgICAnMicgOiB7J2NvZGUnOidCQU0nLCduYW1lJzonQWwgQmFociBhbCBBaG1hcid9LA0KICAgICczJyA6IHsnY29kZSc6J0JSVCcsJ25hbWUnOidBbCBCdWhheXJhdCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0paUicsJ25hbWUnOidBbCBKYXppcmFoJ30sDQogICAgJzUnIDogeydjb2RlJzonS1JUJywnbmFtZSc6J0FsIEtoYXJ0dW0nfSwNCiAgICAnNicgOiB7J2NvZGUnOidRRFInLCduYW1lJzonQWwgUWFkYXJpZid9LA0KICAgICc3JyA6IHsnY29kZSc6J1dESCcsJ25hbWUnOidBbCBXYWhkYWgnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidBTkInLCduYW1lJzonQW4gTmlsIGFsIEFieWFkJ30sDQogICAgJzknIDogeydjb2RlJzonQU5aJywnbmFtZSc6J0FuIE5pbCBhbCBBenJhcSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidBU0gnLCduYW1lJzonQXNoIFNoYW1hbGl5YWgnfSwNCiAgICAnMTEnIDogeydjb2RlJzonQkpBJywnbmFtZSc6J0JhaHIgYWwgSmFiYWwnfSwNCiAgICAnMTInIDogeydjb2RlJzonR0lTJywnbmFtZSc6J0doYXJiIGFsIElzdGl3YVwnaXlhaCd9LA0KICAgICcxMycgOiB7J2NvZGUnOidHQkcnLCduYW1lJzonR2hhcmIgQmFociBhbCBHaGF6YWwnfSwNCiAgICAnMTQnIDogeydjb2RlJzonR0RBJywnbmFtZSc6J0doYXJiIERhcmZ1cid9LA0KICAgICcxNScgOiB7J2NvZGUnOidHS1UnLCduYW1lJzonR2hhcmIgS3VyZHVmYW4nfSwNCiAgICAnMTYnIDogeydjb2RlJzonSkRBJywnbmFtZSc6J0phbnViIERhcmZ1cid9LA0KICAgICcxNycgOiB7J2NvZGUnOidKS1UnLCduYW1lJzonSmFudWIgS3VyZHVmYW4nfSwNCiAgICAnMTgnIDogeydjb2RlJzonSlFMJywnbmFtZSc6J0p1bnFhbGknfSwNCiAgICAnMTknIDogeydjb2RlJzonS1NMJywnbmFtZSc6J0thc3NhbGEnfSwNCiAgICAnMjAnIDogeydjb2RlJzonTk5MJywnbmFtZSc6J05haHIgYW4gTmlsJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J1NCRycsJ25hbWUnOidTaGFtYWwgQmFociBhbCBHaGF6YWwnfSwNCiAgICAnMjInIDogeydjb2RlJzonU0RBJywnbmFtZSc6J1NoYW1hbCBEYXJmdXInfSwNCiAgICAnMjMnIDogeydjb2RlJzonU0tVJywnbmFtZSc6J1NoYW1hbCBLdXJkdWZhbid9LA0KICAgICcyNCcgOiB7J2NvZGUnOidTSVMnLCduYW1lJzonU2hhcnEgYWwgSXN0aXdhXCdpeWFoJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J1NOUicsJ25hbWUnOidTaW5uYXInfSwNCiAgICAnMjYnIDogeydjb2RlJzonV1JCJywnbmFtZSc6J1dhcmFiJ30NCiAgfSwNCiAgJ1NSJzp7DQogICAgJzEnIDogeydjb2RlJzonQlInLCduYW1lJzonQnJva29wb25kbyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NNJywnbmFtZSc6J0NvbW1ld2lqbmUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidDUicsJ25hbWUnOidDb3JvbmllJ30sDQogICAgJzQnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFyb3dpam5lJ30sDQogICAgJzUnIDogeydjb2RlJzonTkknLCduYW1lJzonTmlja2VyaWUnfSwNCiAgICAnNicgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQYXJhJ30sDQogICAgJzcnIDogeydjb2RlJzonUE0nLCduYW1lJzonUGFyYW1hcmlibyd9LA0KICAgICc5JyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1NhcmFtYWNjYSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidTSScsJ25hbWUnOidTaXBhbGl3aW5pJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1dBJywnbmFtZSc6J1dhbmljYSd9DQogIH0sDQogICdTWic6ew0KICAgICcxJyA6IHsnY29kZSc6J0gnLCduYW1lJzonSGhvaGhvJ30sDQogICAgJzInIDogeydjb2RlJzonTCcsJ25hbWUnOidMdWJvbWJvJ30sDQogICAgJzMnIDogeydjb2RlJzonTScsJ25hbWUnOidNYW56aW5pJ30sDQogICAgJzQnIDogeydjb2RlJzonUycsJ25hbWUnOidTaGlzaGVsd2VuaSd9DQogIH0sDQogICdTRSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0snLCduYW1lJzonQmxla2luZ2UnfSwNCiAgICAnMicgOiB7J2NvZGUnOidXJywnbmFtZSc6J0RhbGFtYSd9LA0KICAgICczJyA6IHsnY29kZSc6J0knLCduYW1lJzonR290bGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J1gnLCduYW1lJzonR8OkdmxlYm9yZyd9LA0KICAgICc1JyA6IHsnY29kZSc6J04nLCduYW1lJzonSGFsbGFuZCd9LA0KICAgICc2JyA6IHsnY29kZSc6J1onLCduYW1lJzonSsOkbXRsYW5kJ30sDQogICAgJzcnIDogeydjb2RlJzonRicsJ25hbWUnOidKw7Zua8O2cGluZyd9LA0KICAgICc4JyA6IHsnY29kZSc6J0gnLCduYW1lJzonS2FsbWFyJ30sDQogICAgJzknIDogeydjb2RlJzonRycsJ25hbWUnOidLcm9ub2JlcmcnfSwNCiAgICAnMTAnIDogeydjb2RlJzonQkQnLCduYW1lJzonTm9ycmJvdHRlbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidNJywnbmFtZSc6J1Nrw6VuZSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidBQicsJ25hbWUnOidTdG9ja2hvbG0nfSwNCiAgICAnMTMnIDogeydjb2RlJzonRCcsJ25hbWUnOidTw7ZkZXJtYW5sYW5kJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0MnLCduYW1lJzonVXBwc2FsYSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidTJywnbmFtZSc6J1bDpHJtbGFuZCd9LA0KICAgICcxNicgOiB7J2NvZGUnOidBQycsJ25hbWUnOidWw6RzdGVyYm90dGVuJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1knLCduYW1lJzonVsOkc3Rlcm5vcnJsYW5kJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1UnLCduYW1lJzonVsOkc3RtYW5sYW5kJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J08nLCduYW1lJzonVsOkc3RyYSBHw7Z0YWxhbmQnfSwNCiAgICAnMjAnIDogeydjb2RlJzonVCcsJ25hbWUnOifDlnJlYnJvJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J0UnLCduYW1lJzonw5ZzdGVyZ8O2dGxhbmQnfQ0KICB9LA0KICAnQ0gnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBRycsJ25hbWUnOidBYXJnYXUnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcHBlbnplbGwgQXVzc2VycmhvZGVuJ30sDQogICAgJzMnIDogeydjb2RlJzonQUknLCduYW1lJzonQXBwZW56ZWxsIElubmVycmhvZGVuJ30sDQogICAgJzQnIDogeydjb2RlJzonQlMnLCduYW1lJzonQmFzZWwtU3RhZHQnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCTCcsJ25hbWUnOidCYXNlbC1MYW5kc2NoYWZ0J30sDQogICAgJzYnIDogeydjb2RlJzonQkUnLCduYW1lJzonQmVybid9LA0KICAgICc3JyA6IHsnY29kZSc6J0ZSJywnbmFtZSc6J0ZyaWJvdXJnJ30sDQogICAgJzgnIDogeydjb2RlJzonR0UnLCduYW1lJzonR2Vuw6h2ZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J0dMJywnbmFtZSc6J0dsYXJ1cyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidHUicsJ25hbWUnOidHcmF1YsO8bmRlbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidKVScsJ25hbWUnOidKdXJhJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0xVJywnbmFtZSc6J0x1Y2VybmUnfSwNCiAgICAnMTMnIDogeydjb2RlJzonTkUnLCduYW1lJzonTmV1Y2jDonRlbCd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidOVycsJ25hbWUnOidOaWR3YWxkZW4nfSwNCiAgICAnMTUnIDogeydjb2RlJzonT1cnLCduYW1lJzonT2J3YWxkZW4nfSwNCiAgICAnMTYnIDogeydjb2RlJzonU0cnLCduYW1lJzonU3QuIEdhbGxlbid9LA0KICAgICcxNycgOiB7J2NvZGUnOidTSCcsJ25hbWUnOidTY2hhZmZoYXVzZW4nfSwNCiAgICAnMTgnIDogeydjb2RlJzonU1onLCduYW1lJzonU2Nod3l6J30sDQogICAgJzE5JyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1NvbG90aHVybid9LA0KICAgICcyMCcgOiB7J2NvZGUnOidURycsJ25hbWUnOidUaHVyZ2F1J30sDQogICAgJzIxJyA6IHsnY29kZSc6J1RJJywnbmFtZSc6J1RpY2lubyd9LA0KICAgICcyMicgOiB7J2NvZGUnOidVUicsJ25hbWUnOidVcmknfSwNCiAgICAnMjMnIDogeydjb2RlJzonVlMnLCduYW1lJzonVmFsYWlzJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1ZEJywnbmFtZSc6J1ZhdWQnfSwNCiAgICAnMjUnIDogeydjb2RlJzonWkcnLCduYW1lJzonWnVnJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J1pIJywnbmFtZSc6J1rDvHJpY2gnfQ0KICB9LA0KICAnU1knOnsNCiAgICAnMScgOiB7J2NvZGUnOidIQScsJ25hbWUnOidBbCBIYXNha2FoJ30sDQogICAgJzInIDogeydjb2RlJzonTEEnLCduYW1lJzonQWwgTGFkaGlxaXlhaCd9LA0KICAgICczJyA6IHsnY29kZSc6J1FVJywnbmFtZSc6J0FsIFF1bmF5dGlyYWgnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidSUScsJ25hbWUnOidBciBSYXFxYWgnfSwNCiAgICAnNScgOiB7J2NvZGUnOidTVScsJ25hbWUnOidBcyBTdXdheWRhJ30sDQogICAgJzYnIDogeydjb2RlJzonREEnLCduYW1lJzonRGFyYSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0RaJywnbmFtZSc6J0RheXIgYXogWmF3cid9LA0KICAgICc4JyA6IHsnY29kZSc6J0RJJywnbmFtZSc6J0RpbWFzaHEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidITCcsJ25hbWUnOidIYWxhYid9LA0KICAgICcxMCcgOiB7J2NvZGUnOidITScsJ25hbWUnOidIYW1haCd9LA0KICAgICcxMScgOiB7J2NvZGUnOidISScsJ25hbWUnOidIaW1zJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0lEJywnbmFtZSc6J0lkbGliJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1JEJywnbmFtZSc6J1JpZiBEaW1hc2hxJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1RBJywnbmFtZSc6J1RhcnR1cyd9DQogIH0sDQogICdUVyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0NoYW5nLWh1YSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NJJywnbmFtZSc6J0NoaWEtaSd9LA0KICAgICczJyA6IHsnY29kZSc6J0hTJywnbmFtZSc6J0hzaW4tY2h1J30sDQogICAgJzQnIDogeydjb2RlJzonSEwnLCduYW1lJzonSHVhLWxpZW4nfSwNCiAgICAnNScgOiB7J2NvZGUnOidJTCcsJ25hbWUnOidJLWxhbid9LA0KICAgICc2JyA6IHsnY29kZSc6J0tIJywnbmFtZSc6J0thby1oc2l1bmcgY291bnR5J30sDQogICAgJzcnIDogeydjb2RlJzonS00nLCduYW1lJzonS2luLW1lbid9LA0KICAgICc4JyA6IHsnY29kZSc6J0xDJywnbmFtZSc6J0xpZW4tY2hpYW5nJ30sDQogICAgJzknIDogeydjb2RlJzonTUwnLCduYW1lJzonTWlhby1saSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidOVCcsJ25hbWUnOidOYW4tdFwnb3UnfSwNCiAgICAnMTEnIDogeydjb2RlJzonUEgnLCduYW1lJzonUFwnZW5nLWh1J30sDQogICAgJzEyJyA6IHsnY29kZSc6J1BUJywnbmFtZSc6J1BcJ2luZy10dW5nJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1RHJywnbmFtZSc6J1RcJ2FpLWNodW5nJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1RBJywnbmFtZSc6J1RcJ2FpLW5hbid9LA0KICAgICcxNScgOiB7J2NvZGUnOidUUCcsJ25hbWUnOidUXCdhaS1wZWkgY291bnR5J30sDQogICAgJzE2JyA6IHsnY29kZSc6J1RUJywnbmFtZSc6J1RcJ2FpLXR1bmcnfSwNCiAgICAnMTcnIDogeydjb2RlJzonVFknLCduYW1lJzonVFwnYW8teXVhbid9LA0KICAgICcxOCcgOiB7J2NvZGUnOidZTCcsJ25hbWUnOidZdW4tbGluJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0NDJywnbmFtZSc6J0NoaWEtaSBjaXR5J30sDQogICAgJzIwJyA6IHsnY29kZSc6J0NMJywnbmFtZSc6J0NoaS1sdW5nJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J0hDJywnbmFtZSc6J0hzaW4tY2h1J30sDQogICAgJzIyJyA6IHsnY29kZSc6J1RIJywnbmFtZSc6J1RcJ2FpLWNodW5nJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1ROJywnbmFtZSc6J1RcJ2FpLW5hbid9LA0KICAgICcyNCcgOiB7J2NvZGUnOidLQycsJ25hbWUnOidLYW8taHNpdW5nIGNpdHknfSwNCiAgICAnMjUnIDogeydjb2RlJzonVEMnLCduYW1lJzonVFwnYWktcGVpIGNpdHknfQ0KICB9LA0KICAnVEonOnsNCiAgICAnMScgOiB7J2NvZGUnOidHQicsJ25hbWUnOidHb3Juby1CYWRha2hzdGFuJ30sDQogICAgJzInIDogeydjb2RlJzonS1QnLCduYW1lJzonS2hhdGxvbid9LA0KICAgICczJyA6IHsnY29kZSc6J1NVJywnbmFtZSc6J1N1Z2hkJ30NCiAgfSwNCiAgJ1RaJzp7DQogICAgJzEnIDogeydjb2RlJzonQVInLCduYW1lJzonQXJ1c2hhJ30sDQogICAgJzInIDogeydjb2RlJzonRFMnLCduYW1lJzonRGFyIGVzIFNhbGFhbSd9LA0KICAgICczJyA6IHsnY29kZSc6J0RPJywnbmFtZSc6J0RvZG9tYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0lSJywnbmFtZSc6J0lyaW5nYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0tBJywnbmFtZSc6J0thZ2VyYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0tJJywnbmFtZSc6J0tpZ29tYSd9LA0KICAgICc3JyA6IHsnY29kZSc6J0tKJywnbmFtZSc6J0tpbGltYW5qYXJvJ30sDQogICAgJzgnIDogeydjb2RlJzonTE4nLCduYW1lJzonTGluZGknfSwNCiAgICAnOScgOiB7J2NvZGUnOidNWScsJ25hbWUnOidNYW55YXJhJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01SJywnbmFtZSc6J01hcmEnfSwNCiAgICAnMTEnIDogeydjb2RlJzonTUInLCduYW1lJzonTWJleWEnfSwNCiAgICAnMTInIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9yb2dvcm8nfSwNCiAgICAnMTMnIDogeydjb2RlJzonTVQnLCduYW1lJzonTXR3YXJhJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J01XJywnbmFtZSc6J013YW56YSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidQTicsJ25hbWUnOidQZW1iYSBOb3J0aCd9LA0KICAgICcxNicgOiB7J2NvZGUnOidQUycsJ25hbWUnOidQZW1iYSBTb3V0aCd9LA0KICAgICcxNycgOiB7J2NvZGUnOidQVycsJ25hbWUnOidQd2FuaSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidSSycsJ25hbWUnOidSdWt3YSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidSVicsJ25hbWUnOidSdXZ1bWEnfSwNCiAgICAnMjAnIDogeydjb2RlJzonU0gnLCduYW1lJzonU2hpbnlhbmdhJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J1NJJywnbmFtZSc6J1NpbmdpZGEnfSwNCiAgICAnMjInIDogeydjb2RlJzonVEInLCduYW1lJzonVGFib3JhJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J1ROJywnbmFtZSc6J1RhbmdhJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1pDJywnbmFtZSc6J1phbnppYmFyIENlbnRyYWwvU291dGgnfSwNCiAgICAnMjUnIDogeydjb2RlJzonWk4nLCduYW1lJzonWmFuemliYXIgTm9ydGgnfSwNCiAgICAnMjYnIDogeydjb2RlJzonWlUnLCduYW1lJzonWmFuemliYXIgVXJiYW4vV2VzdCd9DQogIH0sDQogICdUSCc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FtbmF0IENoYXJvZW4nLCduYW1lJzonQW1uYXQgQ2hhcm9lbid9LA0KICAgICcyJyA6IHsnY29kZSc6J0FuZyBUaG9uZycsJ25hbWUnOidBbmcgVGhvbmcnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBeXV0dGhheWEnLCduYW1lJzonQXl1dHRoYXlhJ30sDQogICAgJzQnIDogeydjb2RlJzonQmFuZ2tvaycsJ25hbWUnOidCYW5na29rJ30sDQogICAgJzUnIDogeydjb2RlJzonQnVyaXJhbScsJ25hbWUnOidCdXJpcmFtJ30sDQogICAgJzYnIDogeydjb2RlJzonQ2hhY2hvZW5nc2FvJywnbmFtZSc6J0NoYWNob2VuZ3Nhbyd9LA0KICAgICc3JyA6IHsnY29kZSc6J0NoYWkgTmF0JywnbmFtZSc6J0NoYWkgTmF0J30sDQogICAgJzgnIDogeydjb2RlJzonQ2hhaXlhcGh1bScsJ25hbWUnOidDaGFpeWFwaHVtJ30sDQogICAgJzknIDogeydjb2RlJzonQ2hhbnRoYWJ1cmknLCduYW1lJzonQ2hhbnRoYWJ1cmknfSwNCiAgICAnMTAnIDogeydjb2RlJzonQ2hpYW5nIE1haScsJ25hbWUnOidDaGlhbmcgTWFpJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0NoaWFuZyBSYWknLCduYW1lJzonQ2hpYW5nIFJhaSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidDaG9uIEJ1cmknLCduYW1lJzonQ2hvbiBCdXJpJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J0NodW1waG9uJywnbmFtZSc6J0NodW1waG9uJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0thbGFzaW4nLCduYW1lJzonS2FsYXNpbid9LA0KICAgICcxNScgOiB7J2NvZGUnOidLYW1waGFlbmcgUGhldCcsJ25hbWUnOidLYW1waGFlbmcgUGhldCd9LA0KICAgICcxNicgOiB7J2NvZGUnOidLYW5jaGFuYWJ1cmknLCduYW1lJzonS2FuY2hhbmFidXJpJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J0tob24gS2FlbicsJ25hbWUnOidLaG9uIEthZW4nfSwNCiAgICAnMTgnIDogeydjb2RlJzonS3JhYmknLCduYW1lJzonS3JhYmknfSwNCiAgICAnMTknIDogeydjb2RlJzonTGFtcGFuZycsJ25hbWUnOidMYW1wYW5nJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0xhbXBodW4nLCduYW1lJzonTGFtcGh1bid9LA0KICAgICcyMScgOiB7J2NvZGUnOidMb2VpJywnbmFtZSc6J0xvZWknfSwNCiAgICAnMjInIDogeydjb2RlJzonTG9wIEJ1cmknLCduYW1lJzonTG9wIEJ1cmknfSwNCiAgICAnMjMnIDogeydjb2RlJzonTWFlIEhvbmcgU29uJywnbmFtZSc6J01hZSBIb25nIFNvbid9LA0KICAgICcyNCcgOiB7J2NvZGUnOidNYWhhIFNhcmFraGFtJywnbmFtZSc6J01haGEgU2FyYWtoYW0nfSwNCiAgICAnMjUnIDogeydjb2RlJzonTXVrZGFoYW4nLCduYW1lJzonTXVrZGFoYW4nfSwNCiAgICAnMjYnIDogeydjb2RlJzonTmFraG9uIE5heW9rJywnbmFtZSc6J05ha2hvbiBOYXlvayd9LA0KICAgICcyNycgOiB7J2NvZGUnOidOYWtob24gUGF0aG9tJywnbmFtZSc6J05ha2hvbiBQYXRob20nfSwNCiAgICAnMjgnIDogeydjb2RlJzonTmFraG9uIFBoYW5vbScsJ25hbWUnOidOYWtob24gUGhhbm9tJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J05ha2hvbiBSYXRjaGFzaW1hJywnbmFtZSc6J05ha2hvbiBSYXRjaGFzaW1hJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J05ha2hvbiBTYXdhbicsJ25hbWUnOidOYWtob24gU2F3YW4nfSwNCiAgICAnMzEnIDogeydjb2RlJzonTmFraG9uIFNpIFRoYW1tYXJhdCcsJ25hbWUnOidOYWtob24gU2kgVGhhbW1hcmF0J30sDQogICAgJzMyJyA6IHsnY29kZSc6J05hbicsJ25hbWUnOidOYW4nfSwNCiAgICAnMzMnIDogeydjb2RlJzonTmFyYXRoaXdhdCcsJ25hbWUnOidOYXJhdGhpd2F0J30sDQogICAgJzM0JyA6IHsnY29kZSc6J05vbmcgQnVhIExhbXBodScsJ25hbWUnOidOb25nIEJ1YSBMYW1waHUnfSwNCiAgICAnMzUnIDogeydjb2RlJzonTm9uZyBLaGFpJywnbmFtZSc6J05vbmcgS2hhaSd9LA0KICAgICczNicgOiB7J2NvZGUnOidOb250aGFidXJpJywnbmFtZSc6J05vbnRoYWJ1cmknfSwNCiAgICAnMzcnIDogeydjb2RlJzonUGF0aHVtIFRoYW5pJywnbmFtZSc6J1BhdGh1bSBUaGFuaSd9LA0KICAgICczOCcgOiB7J2NvZGUnOidQYXR0YW5pJywnbmFtZSc6J1BhdHRhbmknfSwNCiAgICAnMzknIDogeydjb2RlJzonUGhhbmduZ2EnLCduYW1lJzonUGhhbmduZ2EnfSwNCiAgICAnNDAnIDogeydjb2RlJzonUGhhdHRoYWx1bmcnLCduYW1lJzonUGhhdHRoYWx1bmcnfSwNCiAgICAnNDEnIDogeydjb2RlJzonUGhheWFvJywnbmFtZSc6J1BoYXlhbyd9LA0KICAgICc0MicgOiB7J2NvZGUnOidQaGV0Y2hhYnVuJywnbmFtZSc6J1BoZXRjaGFidW4nfSwNCiAgICAnNDMnIDogeydjb2RlJzonUGhldGNoYWJ1cmknLCduYW1lJzonUGhldGNoYWJ1cmknfSwNCiAgICAnNDQnIDogeydjb2RlJzonUGhpY2hpdCcsJ25hbWUnOidQaGljaGl0J30sDQogICAgJzQ1JyA6IHsnY29kZSc6J1BoaXRzYW51bG9rJywnbmFtZSc6J1BoaXRzYW51bG9rJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J1BocmFlJywnbmFtZSc6J1BocmFlJ30sDQogICAgJzQ3JyA6IHsnY29kZSc6J1BodWtldCcsJ25hbWUnOidQaHVrZXQnfSwNCiAgICAnNDgnIDogeydjb2RlJzonUHJhY2hpbiBCdXJpJywnbmFtZSc6J1ByYWNoaW4gQnVyaSd9LA0KICAgICc0OScgOiB7J2NvZGUnOidQcmFjaHVhcCBLaGlyaSBLaGFuJywnbmFtZSc6J1ByYWNodWFwIEtoaXJpIEtoYW4nfSwNCiAgICAnNTAnIDogeydjb2RlJzonUmFub25nJywnbmFtZSc6J1Jhbm9uZyd9LA0KICAgICc1MScgOiB7J2NvZGUnOidSYXRjaGFidXJpJywnbmFtZSc6J1JhdGNoYWJ1cmknfSwNCiAgICAnNTInIDogeydjb2RlJzonUmF5b25nJywnbmFtZSc6J1JheW9uZyd9LA0KICAgICc1MycgOiB7J2NvZGUnOidSb2kgRXQnLCduYW1lJzonUm9pIEV0J30sDQogICAgJzU0JyA6IHsnY29kZSc6J1NhIEthZW8nLCduYW1lJzonU2EgS2Flbyd9LA0KICAgICc1NScgOiB7J2NvZGUnOidTYWtvbiBOYWtob24nLCduYW1lJzonU2Frb24gTmFraG9uJ30sDQogICAgJzU2JyA6IHsnY29kZSc6J1NhbXV0IFByYWthbicsJ25hbWUnOidTYW11dCBQcmFrYW4nfSwNCiAgICAnNTcnIDogeydjb2RlJzonU2FtdXQgU2FraG9uJywnbmFtZSc6J1NhbXV0IFNha2hvbid9LA0KICAgICc1OCcgOiB7J2NvZGUnOidTYW11dCBTb25na2hyYW0nLCduYW1lJzonU2FtdXQgU29uZ2tocmFtJ30sDQogICAgJzU5JyA6IHsnY29kZSc6J1NhcmEgQnVyaScsJ25hbWUnOidTYXJhIEJ1cmknfSwNCiAgICAnNjAnIDogeydjb2RlJzonU2F0dW4nLCduYW1lJzonU2F0dW4nfSwNCiAgICAnNjEnIDogeydjb2RlJzonU2luZyBCdXJpJywnbmFtZSc6J1NpbmcgQnVyaSd9LA0KICAgICc2MicgOiB7J2NvZGUnOidTaXNha2V0JywnbmFtZSc6J1Npc2FrZXQnfSwNCiAgICAnNjMnIDogeydjb2RlJzonU29uZ2tobGEnLCduYW1lJzonU29uZ2tobGEnfSwNCiAgICAnNjQnIDogeydjb2RlJzonU3VraG90aGFpJywnbmFtZSc6J1N1a2hvdGhhaSd9LA0KICAgICc2NScgOiB7J2NvZGUnOidTdXBoYW4gQnVyaScsJ25hbWUnOidTdXBoYW4gQnVyaSd9LA0KICAgICc2NicgOiB7J2NvZGUnOidTdXJhdCBUaGFuaScsJ25hbWUnOidTdXJhdCBUaGFuaSd9LA0KICAgICc2NycgOiB7J2NvZGUnOidTdXJpbicsJ25hbWUnOidTdXJpbid9LA0KICAgICc2OCcgOiB7J2NvZGUnOidUYWsnLCduYW1lJzonVGFrJ30sDQogICAgJzY5JyA6IHsnY29kZSc6J1RyYW5nJywnbmFtZSc6J1RyYW5nJ30sDQogICAgJzcwJyA6IHsnY29kZSc6J1RyYXQnLCduYW1lJzonVHJhdCd9LA0KICAgICc3MScgOiB7J2NvZGUnOidVYm9uIFJhdGNoYXRoYW5pJywnbmFtZSc6J1Vib24gUmF0Y2hhdGhhbmknfSwNCiAgICAnNzInIDogeydjb2RlJzonVWRvbiBUaGFuaScsJ25hbWUnOidVZG9uIFRoYW5pJ30sDQogICAgJzczJyA6IHsnY29kZSc6J1V0aGFpIFRoYW5pJywnbmFtZSc6J1V0aGFpIFRoYW5pJ30sDQogICAgJzc0JyA6IHsnY29kZSc6J1V0dGFyYWRpdCcsJ25hbWUnOidVdHRhcmFkaXQnfSwNCiAgICAnNzUnIDogeydjb2RlJzonWWFsYScsJ25hbWUnOidZYWxhJ30sDQogICAgJzc2JyA6IHsnY29kZSc6J1lhc290aG9uJywnbmFtZSc6J1lhc290aG9uJ30NCiAgfSwNCiAgJ1RHJzp7DQogICAgJzEnIDogeydjb2RlJzonSycsJ25hbWUnOidLYXJhJ30sDQogICAgJzInIDogeydjb2RlJzonUCcsJ25hbWUnOidQbGF0ZWF1eCd9LA0KICAgICczJyA6IHsnY29kZSc6J1MnLCduYW1lJzonU2F2YW5lcyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0MnLCduYW1lJzonQ2VudHJhbGUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidNJywnbmFtZSc6J01hcml0aW1lJ30NCiAgfSwNCiAgJ1RLJzp7DQogICAgJzEnIDogeydjb2RlJzonQScsJ25hbWUnOidBdGFmdSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0YnLCduYW1lJzonRmFrYW9mbyd9LA0KICAgICczJyA6IHsnY29kZSc6J04nLCduYW1lJzonTnVrdW5vbnUnfQ0KICB9LA0KICAnVE8nOnsNCiAgICAnMScgOiB7J2NvZGUnOidIJywnbmFtZSc6J0hhXCdhcGFpJ30sDQogICAgJzInIDogeydjb2RlJzonVCcsJ25hbWUnOidUb25nYXRhcHUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidWJywnbmFtZSc6J1ZhdmFcJ3UnfQ0KICB9LA0KICAnVFQnOnsNCiAgICAnMScgOiB7J2NvZGUnOidDVCcsJ25hbWUnOidDb3V2YS9UYWJhcXVpdGUvVGFscGFybyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0RNJywnbmFtZSc6J0RpZWdvIE1hcnRpbid9LA0KICAgICczJyA6IHsnY29kZSc6J01SJywnbmFtZSc6J01heWFyby9SaW8gQ2xhcm8nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidQRCcsJ25hbWUnOidQZW5hbC9EZWJlJ30sDQogICAgJzUnIDogeydjb2RlJzonUFQnLCduYW1lJzonUHJpbmNlcyBUb3duJ30sDQogICAgJzYnIDogeydjb2RlJzonU0cnLCduYW1lJzonU2FuZ3JlIEdyYW5kZSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1NMJywnbmFtZSc6J1NhbiBKdWFuL0xhdmVudGlsbGUnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidTSScsJ25hbWUnOidTaXBhcmlhJ30sDQogICAgJzknIDogeydjb2RlJzonVFAnLCduYW1lJzonVHVuYXB1bmEvUGlhcmNvJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J1BTJywnbmFtZSc6J1BvcnQgb2YgU3BhaW4nfSwNCiAgICAnMTEnIDogeydjb2RlJzonU0YnLCduYW1lJzonU2FuIEZlcm5hbmRvJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0FSJywnbmFtZSc6J0FyaW1hJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1BGJywnbmFtZSc6J1BvaW50IEZvcnRpbid9LA0KICAgICcxNCcgOiB7J2NvZGUnOidDSCcsJ25hbWUnOidDaGFndWFuYXMnfSwNCiAgICAnMTUnIDogeydjb2RlJzonVE8nLCduYW1lJzonVG9iYWdvJ30NCiAgfSwNCiAgJ1ROJzp7DQogICAgJzEnIDogeydjb2RlJzonQVInLCduYW1lJzonQXJpYW5hJ30sDQogICAgJzInIDogeydjb2RlJzonQkonLCduYW1lJzonQmVqYSd9LA0KICAgICczJyA6IHsnY29kZSc6J0JBJywnbmFtZSc6J0JlbiBBcm91cyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0JJJywnbmFtZSc6J0JpemVydGUnfSwNCiAgICAnNScgOiB7J2NvZGUnOidHQicsJ25hbWUnOidHYWJlcyd9LA0KICAgICc2JyA6IHsnY29kZSc6J0dGJywnbmFtZSc6J0dhZnNhJ30sDQogICAgJzcnIDogeydjb2RlJzonSkUnLCduYW1lJzonSmVuZG91YmEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidLUicsJ25hbWUnOidLYWlyb3Vhbid9LA0KICAgICc5JyA6IHsnY29kZSc6J0tTJywnbmFtZSc6J0thc3NlcmluZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidLQicsJ25hbWUnOidLZWJpbGknfSwNCiAgICAnMTEnIDogeydjb2RlJzonS0YnLCduYW1lJzonS2VmJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J01IJywnbmFtZSc6J01haGRpYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidNTicsJ25hbWUnOidNYW5vdWJhJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J01FJywnbmFtZSc6J01lZGVuaW5lJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J01PJywnbmFtZSc6J01vbmFzdGlyJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J05BJywnbmFtZSc6J05hYmV1bCd9LA0KICAgICcxNycgOiB7J2NvZGUnOidTRicsJ25hbWUnOidTZmF4J30sDQogICAgJzE4JyA6IHsnY29kZSc6J1NEJywnbmFtZSc6J1NpZGknfSwNCiAgICAnMTknIDogeydjb2RlJzonU0wnLCduYW1lJzonU2lsaWFuYSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidTTycsJ25hbWUnOidTb3Vzc2UnfSwNCiAgICAnMjEnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGF0YW91aW5lJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J1RPJywnbmFtZSc6J1RvemV1cid9LA0KICAgICcyMycgOiB7J2NvZGUnOidUVScsJ25hbWUnOidUdW5pcyd9LA0KICAgICcyNCcgOiB7J2NvZGUnOidaQScsJ25hbWUnOidaYWdob3Vhbid9DQogIH0sDQogICdUUic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FEQScsJ25hbWUnOidBZGFuYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0FESScsJ25hbWUnOidBZGl5YW1hbid9LA0KICAgICczJyA6IHsnY29kZSc6J0FGWScsJ25hbWUnOidBZnlvbmthcmFoaXNhcid9LA0KICAgICc0JyA6IHsnY29kZSc6J0FHUicsJ25hbWUnOidBZ3JpJ30sDQogICAgJzUnIDogeydjb2RlJzonQUtTJywnbmFtZSc6J0Frc2FyYXknfSwNCiAgICAnNicgOiB7J2NvZGUnOidBTUEnLCduYW1lJzonQW1hc3lhJ30sDQogICAgJzcnIDogeydjb2RlJzonQU5LJywnbmFtZSc6J0Fua2FyYSd9LA0KICAgICc4JyA6IHsnY29kZSc6J0FOVCcsJ25hbWUnOidBbnRhbHlhJ30sDQogICAgJzknIDogeydjb2RlJzonQVJEJywnbmFtZSc6J0FyZGFoYW4nfSwNCiAgICAnMTAnIDogeydjb2RlJzonQVJUJywnbmFtZSc6J0FydHZpbid9LA0KICAgICcxMScgOiB7J2NvZGUnOidBWUknLCduYW1lJzonQXlkaW4nfSwNCiAgICAnMTInIDogeydjb2RlJzonQkFMJywnbmFtZSc6J0JhbGlrZXNpcid9LA0KICAgICcxMycgOiB7J2NvZGUnOidCQVInLCduYW1lJzonQmFydGluJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0JBVCcsJ25hbWUnOidCYXRtYW4nfSwNCiAgICAnMTUnIDogeydjb2RlJzonQkFZJywnbmFtZSc6J0JheWJ1cnQnfSwNCiAgICAnMTYnIDogeydjb2RlJzonQklMJywnbmFtZSc6J0JpbGVjaWsnfSwNCiAgICAnMTcnIDogeydjb2RlJzonQklOJywnbmFtZSc6J0JpbmdvbCd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidCSVQnLCduYW1lJzonQml0bGlzJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0JPTCcsJ25hbWUnOidCb2x1J30sDQogICAgJzIwJyA6IHsnY29kZSc6J0JSRCcsJ25hbWUnOidCdXJkdXInfSwNCiAgICAnMjEnIDogeydjb2RlJzonQlJTJywnbmFtZSc6J0J1cnNhJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0NLTCcsJ25hbWUnOidDYW5ha2thbGUnfSwNCiAgICAnMjMnIDogeydjb2RlJzonQ0tSJywnbmFtZSc6J0NhbmtpcmknfSwNCiAgICAnMjQnIDogeydjb2RlJzonQ09SJywnbmFtZSc6J0NvcnVtJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J0RFTicsJ25hbWUnOidEZW5pemxpJ30sDQogICAgJzI2JyA6IHsnY29kZSc6J0RJWScsJ25hbWUnOidEaXlhcmJha2lyJ30sDQogICAgJzI3JyA6IHsnY29kZSc6J0RVWicsJ25hbWUnOidEdXpjZSd9LA0KICAgICcyOCcgOiB7J2NvZGUnOidFREknLCduYW1lJzonRWRpcm5lJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J0VMQScsJ25hbWUnOidFbGF6aWcnfSwNCiAgICAnMzAnIDogeydjb2RlJzonRVpDJywnbmFtZSc6J0VyemluY2FuJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J0VaUicsJ25hbWUnOidFcnp1cnVtJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J0VTSycsJ25hbWUnOidFc2tpc2VoaXInfSwNCiAgICAnMzMnIDogeydjb2RlJzonR0FaJywnbmFtZSc6J0dhemlhbnRlcCd9LA0KICAgICczNCcgOiB7J2NvZGUnOidHSVInLCduYW1lJzonR2lyZXN1bid9LA0KICAgICczNScgOiB7J2NvZGUnOidHTVMnLCduYW1lJzonR3VtdXNoYW5lJ30sDQogICAgJzM2JyA6IHsnY29kZSc6J0hLUicsJ25hbWUnOidIYWtrYXJpJ30sDQogICAgJzM3JyA6IHsnY29kZSc6J0hUWScsJ25hbWUnOidIYXRheSd9LA0KICAgICczOCcgOiB7J2NvZGUnOidJR0QnLCduYW1lJzonSWdkaXInfSwNCiAgICAnMzknIDogeydjb2RlJzonSVNQJywnbmFtZSc6J0lzcGFydGEnfSwNCiAgICAnNDAnIDogeydjb2RlJzonSVNUJywnbmFtZSc6J0lzdGFuYnVsJ30sDQogICAgJzQxJyA6IHsnY29kZSc6J0laTScsJ25hbWUnOidJem1pcid9LA0KICAgICc0MicgOiB7J2NvZGUnOidLQUgnLCduYW1lJzonS2FocmFtYW5tYXJhcyd9LA0KICAgICc0MycgOiB7J2NvZGUnOidLUkInLCduYW1lJzonS2FyYWJ1ayd9LA0KICAgICc0NCcgOiB7J2NvZGUnOidLUk0nLCduYW1lJzonS2FyYW1hbid9LA0KICAgICc0NScgOiB7J2NvZGUnOidLUlMnLCduYW1lJzonS2Fycyd9LA0KICAgICc0NicgOiB7J2NvZGUnOidLQVMnLCduYW1lJzonS2FzdGFtb251J30sDQogICAgJzQ3JyA6IHsnY29kZSc6J0tBWScsJ25hbWUnOidLYXlzZXJpJ30sDQogICAgJzQ4JyA6IHsnY29kZSc6J0tMUycsJ25hbWUnOidLaWxpcyd9LA0KICAgICc0OScgOiB7J2NvZGUnOidLUksnLCduYW1lJzonS2lyaWtrYWxlJ30sDQogICAgJzUwJyA6IHsnY29kZSc6J0tMUicsJ25hbWUnOidLaXJrbGFyZWxpJ30sDQogICAgJzUxJyA6IHsnY29kZSc6J0tSSCcsJ25hbWUnOidLaXJzZWhpcid9LA0KICAgICc1MicgOiB7J2NvZGUnOidLT0MnLCduYW1lJzonS29jYWVsaSd9LA0KICAgICc1MycgOiB7J2NvZGUnOidLT04nLCduYW1lJzonS29ueWEnfSwNCiAgICAnNTQnIDogeydjb2RlJzonS1VUJywnbmFtZSc6J0t1dGFoeWEnfSwNCiAgICAnNTUnIDogeydjb2RlJzonTUFMJywnbmFtZSc6J01hbGF0eWEnfSwNCiAgICAnNTYnIDogeydjb2RlJzonTUFOJywnbmFtZSc6J01hbmlzYSd9LA0KICAgICc1NycgOiB7J2NvZGUnOidNQVInLCduYW1lJzonTWFyZGluJ30sDQogICAgJzU4JyA6IHsnY29kZSc6J01FUicsJ25hbWUnOidNZXJzaW4nfSwNCiAgICAnNTknIDogeydjb2RlJzonTVVHJywnbmFtZSc6J011Z2xhJ30sDQogICAgJzYwJyA6IHsnY29kZSc6J01VUycsJ25hbWUnOidNdXMnfSwNCiAgICAnNjEnIDogeydjb2RlJzonTkVWJywnbmFtZSc6J05ldnNlaGlyJ30sDQogICAgJzYyJyA6IHsnY29kZSc6J05JRycsJ25hbWUnOidOaWdkZSd9LA0KICAgICc2MycgOiB7J2NvZGUnOidPUkQnLCduYW1lJzonT3JkdSd9LA0KICAgICc2NCcgOiB7J2NvZGUnOidPU00nLCduYW1lJzonT3NtYW5peWUnfSwNCiAgICAnNjUnIDogeydjb2RlJzonUklaJywnbmFtZSc6J1JpemUnfSwNCiAgICAnNjYnIDogeydjb2RlJzonU0FLJywnbmFtZSc6J1Nha2FyeWEnfSwNCiAgICAnNjcnIDogeydjb2RlJzonU0FNJywnbmFtZSc6J1NhbXN1bid9LA0KICAgICc2OCcgOiB7J2NvZGUnOidTQU4nLCduYW1lJzonU2FubGl1cmZhJ30sDQogICAgJzY5JyA6IHsnY29kZSc6J1NJSScsJ25hbWUnOidTaWlydCd9LA0KICAgICc3MCcgOiB7J2NvZGUnOidTSU4nLCduYW1lJzonU2lub3AnfSwNCiAgICAnNzEnIDogeydjb2RlJzonU0lSJywnbmFtZSc6J1Npcm5hayd9LA0KICAgICc3MicgOiB7J2NvZGUnOidTSVYnLCduYW1lJzonU2l2YXMnfSwNCiAgICAnNzMnIDogeydjb2RlJzonVEVMJywnbmFtZSc6J1Rla2lyZGFnJ30sDQogICAgJzc0JyA6IHsnY29kZSc6J1RPSycsJ25hbWUnOidUb2thdCd9LA0KICAgICc3NScgOiB7J2NvZGUnOidUUkEnLCduYW1lJzonVHJhYnpvbid9LA0KICAgICc3NicgOiB7J2NvZGUnOidUVU4nLCduYW1lJzonVHVuY2VsaSd9LA0KICAgICc3NycgOiB7J2NvZGUnOidVU0snLCduYW1lJzonVXNhayd9LA0KICAgICc3OCcgOiB7J2NvZGUnOidWQU4nLCduYW1lJzonVmFuJ30sDQogICAgJzc5JyA6IHsnY29kZSc6J1lBTCcsJ25hbWUnOidZYWxvdmEnfSwNCiAgICAnODAnIDogeydjb2RlJzonWU9aJywnbmFtZSc6J1lvemdhdCd9LA0KICAgICc4MScgOiB7J2NvZGUnOidaT04nLCduYW1lJzonWm9uZ3VsZGFrJ30NCiAgfSwNCiAgJ1RNJzp7DQogICAgJzEnIDogeydjb2RlJzonQScsJ25hbWUnOidBaGFsIFdlbGF5YXR5J30sDQogICAgJzInIDogeydjb2RlJzonQicsJ25hbWUnOidCYWxrYW4gV2VsYXlhdHknfSwNCiAgICAnMycgOiB7J2NvZGUnOidEJywnbmFtZSc6J0Rhc2hob3d1eiBXZWxheWF0eSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0wnLCduYW1lJzonTGViYXAgV2VsYXlhdHknfSwNCiAgICAnNScgOiB7J2NvZGUnOidNJywnbmFtZSc6J01hcnkgV2VsYXlhdHknfQ0KICB9LA0KICAnVEMnOnsNCiAgICAnMScgOiB7J2NvZGUnOidBQycsJ25hbWUnOidBbWJlcmdyaXMgQ2F5cyd9LA0KICAgICcyJyA6IHsnY29kZSc6J0RDJywnbmFtZSc6J0RlbGxpcyBDYXknfSwNCiAgICAnMycgOiB7J2NvZGUnOidGQycsJ25hbWUnOidGcmVuY2ggQ2F5J30sDQogICAgJzQnIDogeydjb2RlJzonTFcnLCduYW1lJzonTGl0dGxlIFdhdGVyIENheSd9LA0KICAgICc1JyA6IHsnY29kZSc6J1JDJywnbmFtZSc6J1BhcnJvdCBDYXknfSwNCiAgICAnNicgOiB7J2NvZGUnOidQTicsJ25hbWUnOidQaW5lIENheSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1NMJywnbmFtZSc6J1NhbHQgQ2F5J30sDQogICAgJzgnIDogeydjb2RlJzonR1QnLCduYW1lJzonR3JhbmQgVHVyayd9LA0KICAgICc5JyA6IHsnY29kZSc6J1NDJywnbmFtZSc6J1NvdXRoIENhaWNvcyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidFQycsJ25hbWUnOidFYXN0IENhaWNvcyd9LA0KICAgICcxMScgOiB7J2NvZGUnOidNQycsJ25hbWUnOidNaWRkbGUgQ2FpY29zJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J05DJywnbmFtZSc6J05vcnRoIENhaWNvcyd9LA0KICAgICcxMycgOiB7J2NvZGUnOidQUicsJ25hbWUnOidQcm92aWRlbmNpYWxlcyd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidXQycsJ25hbWUnOidXZXN0IENhaWNvcyd9DQogIH0sDQogICdUVic6ew0KICAgICcxJyA6IHsnY29kZSc6J05NRycsJ25hbWUnOidOYW51bWFuZ2EnfSwNCiAgICAnMicgOiB7J2NvZGUnOidOTEsnLCduYW1lJzonTml1bGFraXRhJ30sDQogICAgJzMnIDogeydjb2RlJzonTlRPJywnbmFtZSc6J05pdXRhbyd9LA0KICAgICc0JyA6IHsnY29kZSc6J0ZVTicsJ25hbWUnOidGdW5hZnV0aSd9LA0KICAgICc1JyA6IHsnY29kZSc6J05NRScsJ25hbWUnOidOYW51bWVhJ30sDQogICAgJzYnIDogeydjb2RlJzonTlVJJywnbmFtZSc6J051aSd9LA0KICAgICc3JyA6IHsnY29kZSc6J05GVCcsJ25hbWUnOidOdWt1ZmV0YXUnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidOTEwnLCduYW1lJzonTnVrdWxhZWxhZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J1ZBSScsJ25hbWUnOidWYWl0dXB1J30NCiAgfSwNCiAgJ1VHJzp7DQogICAgJzEnIDogeydjb2RlJzonS0FMJywnbmFtZSc6J0thbGFuZ2FsYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0tNUCcsJ25hbWUnOidLYW1wYWxhJ30sDQogICAgJzMnIDogeydjb2RlJzonS0FZJywnbmFtZSc6J0theXVuZ2EnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidLSUInLCduYW1lJzonS2lib2dhJ30sDQogICAgJzUnIDogeydjb2RlJzonTFVXJywnbmFtZSc6J0x1d2Vybyd9LA0KICAgICc2JyA6IHsnY29kZSc6J01BUycsJ25hbWUnOidNYXNha2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOidNUEknLCduYW1lJzonTXBpZ2knfSwNCiAgICAnOCcgOiB7J2NvZGUnOidNVUInLCduYW1lJzonTXViZW5kZSd9LA0KICAgICc5JyA6IHsnY29kZSc6J01VSycsJ25hbWUnOidNdWtvbm8nfSwNCiAgICAnMTAnIDogeydjb2RlJzonTktTJywnbmFtZSc6J05ha2Fzb25nb2xhJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1JBSycsJ25hbWUnOidSYWthaSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidTRU0nLCduYW1lJzonU2VtYmFidWxlJ30sDQogICAgJzEzJyA6IHsnY29kZSc6J1dBSycsJ25hbWUnOidXYWtpc28nfSwNCiAgICAnMTQnIDogeydjb2RlJzonQlVHJywnbmFtZSc6J0J1Z2lyaSd9LA0KICAgICcxNScgOiB7J2NvZGUnOidCVVMnLCduYW1lJzonQnVzaWEnfSwNCiAgICAnMTYnIDogeydjb2RlJzonSUdBJywnbmFtZSc6J0lnYW5nYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidKSU4nLCduYW1lJzonSmluamEnfSwNCiAgICAnMTgnIDogeydjb2RlJzonS0FCJywnbmFtZSc6J0thYmVyYW1haWRvJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0tNTCcsJ25hbWUnOidLYW11bGknfSwNCiAgICAnMjAnIDogeydjb2RlJzonS1BDJywnbmFtZSc6J0thcGNob3J3YSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidLVEsnLCduYW1lJzonS2F0YWt3aSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidLVU0nLCduYW1lJzonS3VtaSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidNQVknLCduYW1lJzonTWF5dWdlJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J01CQScsJ25hbWUnOidNYmFsZSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidQQUwnLCduYW1lJzonUGFsbGlzYSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidTSVInLCduYW1lJzonU2lyb25rbyd9LA0KICAgICcyNycgOiB7J2NvZGUnOidTT1InLCduYW1lJzonU29yb3RpJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J1RPUicsJ25hbWUnOidUb3Jvcm8nfSwNCiAgICAnMjknIDogeydjb2RlJzonQURKJywnbmFtZSc6J0FkanVtYW5pJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J0FQQycsJ25hbWUnOidBcGFjJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J0FSVScsJ25hbWUnOidBcnVhJ30sDQogICAgJzMyJyA6IHsnY29kZSc6J0dVTCcsJ25hbWUnOidHdWx1J30sDQogICAgJzMzJyA6IHsnY29kZSc6J0tJVCcsJ25hbWUnOidLaXRndW0nfSwNCiAgICAnMzQnIDogeydjb2RlJzonS09UJywnbmFtZSc6J0tvdGlkbyd9LA0KICAgICczNScgOiB7J2NvZGUnOidMSVInLCduYW1lJzonTGlyYSd9LA0KICAgICczNicgOiB7J2NvZGUnOidNUlQnLCduYW1lJzonTW9yb3RvJ30sDQogICAgJzM3JyA6IHsnY29kZSc6J01PWScsJ25hbWUnOidNb3lvJ30sDQogICAgJzM4JyA6IHsnY29kZSc6J05BSycsJ25hbWUnOidOYWthcGlyaXBpcml0J30sDQogICAgJzM5JyA6IHsnY29kZSc6J05FQicsJ25hbWUnOidOZWJiaSd9LA0KICAgICc0MCcgOiB7J2NvZGUnOidQQUQnLCduYW1lJzonUGFkZXInfSwNCiAgICAnNDEnIDogeydjb2RlJzonWVVNJywnbmFtZSc6J1l1bWJlJ30sDQogICAgJzQyJyA6IHsnY29kZSc6J0JVTicsJ25hbWUnOidCdW5kaWJ1Z3lvJ30sDQogICAgJzQzJyA6IHsnY29kZSc6J0JTSCcsJ25hbWUnOidCdXNoZW55aSd9LA0KICAgICc0NCcgOiB7J2NvZGUnOidIT0knLCduYW1lJzonSG9pbWEnfSwNCiAgICAnNDUnIDogeydjb2RlJzonS0JMJywnbmFtZSc6J0thYmFsZSd9LA0KICAgICc0NicgOiB7J2NvZGUnOidLQVInLCduYW1lJzonS2FiYXJvbGUnfSwNCiAgICAnNDcnIDogeydjb2RlJzonS0FNJywnbmFtZSc6J0thbXdlbmdlJ30sDQogICAgJzQ4JyA6IHsnY29kZSc6J0tBTicsJ25hbWUnOidLYW51bmd1J30sDQogICAgJzQ5JyA6IHsnY29kZSc6J0tBUycsJ25hbWUnOidLYXNlc2UnfSwNCiAgICAnNTAnIDogeydjb2RlJzonS0JBJywnbmFtZSc6J0tpYmFhbGUnfSwNCiAgICAnNTEnIDogeydjb2RlJzonS0lTJywnbmFtZSc6J0tpc29ybyd9LA0KICAgICc1MicgOiB7J2NvZGUnOidLWUUnLCduYW1lJzonS3llbmpvam8nfSwNCiAgICAnNTMnIDogeydjb2RlJzonTVNOJywnbmFtZSc6J01hc2luZGknfSwNCiAgICAnNTQnIDogeydjb2RlJzonTUJSJywnbmFtZSc6J01iYXJhcmEnfSwNCiAgICAnNTUnIDogeydjb2RlJzonTlRVJywnbmFtZSc6J050dW5nYW1vJ30sDQogICAgJzU2JyA6IHsnY29kZSc6J1JVSycsJ25hbWUnOidSdWt1bmdpcmknfQ0KICB9LA0KICAnVUEnOnsNCiAgICAnMScgOiB7J2NvZGUnOidDSycsJ25hbWUnOidDaGVya2FzeSd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NIJywnbmFtZSc6J0NoZXJuaWhpdid9LA0KICAgICczJyA6IHsnY29kZSc6J0NWJywnbmFtZSc6J0NoZXJuaXZ0c2knfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDUicsJ25hbWUnOidDcmltZWEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidETicsJ25hbWUnOidEbmlwcm9wZXRyb3ZzXCdrJ30sDQogICAgJzYnIDogeydjb2RlJzonRE8nLCduYW1lJzonRG9uZXRzXCdrJ30sDQogICAgJzcnIDogeydjb2RlJzonSVYnLCduYW1lJzonSXZhbm8tRnJhbmtpdnNcJ2snfSwNCiAgICAnOCcgOiB7J2NvZGUnOidLTCcsJ25hbWUnOidLaGFya2l2IEtoZXJzb24nfSwNCiAgICAnOScgOiB7J2NvZGUnOidLTScsJ25hbWUnOidLaG1lbFwnbnl0c1wna3l5J30sDQogICAgJzEwJyA6IHsnY29kZSc6J0tSJywnbmFtZSc6J0tpcm92b2hyYWQnfSwNCiAgICAnMTEnIDogeydjb2RlJzonS1YnLCduYW1lJzonS2lldid9LA0KICAgICcxMicgOiB7J2NvZGUnOidLWScsJ25hbWUnOidLeXlpdid9LA0KICAgICcxMycgOiB7J2NvZGUnOidMVScsJ25hbWUnOidMdWhhbnNcJ2snfSwNCiAgICAnMTQnIDogeydjb2RlJzonTFYnLCduYW1lJzonTFwndml2J30sDQogICAgJzE1JyA6IHsnY29kZSc6J01ZJywnbmFtZSc6J015a29sYXlpdid9LA0KICAgICcxNicgOiB7J2NvZGUnOidPRCcsJ25hbWUnOidPZGVzYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidQTycsJ25hbWUnOidQb2x0YXZhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1JJJywnbmFtZSc6J1Jpdm5lJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1NFJywnbmFtZSc6J1NldmFzdG9wb2wnfSwNCiAgICAnMjAnIDogeydjb2RlJzonU1UnLCduYW1lJzonU3VteSd9LA0KICAgICcyMScgOiB7J2NvZGUnOidURScsJ25hbWUnOidUZXJub3BpbFwnJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J1ZJJywnbmFtZSc6J1Zpbm55dHN5YSd9LA0KICAgICcyMycgOiB7J2NvZGUnOidWTycsJ25hbWUnOidWb2x5blwnJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J1pLJywnbmFtZSc6J1pha2FycGF0dHlhJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J1pBJywnbmFtZSc6J1phcG9yaXpoemh5YSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidaSCcsJ25hbWUnOidaaHl0b215cid9DQogIH0sDQogICdBRSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FaJywnbmFtZSc6J0FidSBaYWJ5J30sDQogICAgJzInIDogeydjb2RlJzonQUonLCduYW1lJzonXCdBam1hbid9LA0KICAgICczJyA6IHsnY29kZSc6J0ZVJywnbmFtZSc6J0FsIEZ1amF5cmFoJ30sDQogICAgJzQnIDogeydjb2RlJzonU0gnLCduYW1lJzonQXNoIFNoYXJpcWFoJ30sDQogICAgJzUnIDogeydjb2RlJzonRFUnLCduYW1lJzonRHViYXl5J30sDQogICAgJzYnIDogeydjb2RlJzonUksnLCduYW1lJzonUlwnYXMgYWwgS2hheW1haCd9LA0KICAgICc3JyA6IHsnY29kZSc6J1VRJywnbmFtZSc6J1VtbSBhbCBRYXl3YXluJ30NCiAgfSwNCiAgJ0dCJzp7DQogICAgJzEnIDogeydjb2RlJzonQUJOJywnbmFtZSc6J0FiZXJkZWVuJ30sDQogICAgJzInIDogeydjb2RlJzonQUJOUycsJ25hbWUnOidBYmVyZGVlbnNoaXJlJ30sDQogICAgJzMnIDogeydjb2RlJzonQU5HJywnbmFtZSc6J0FuZ2xlc2V5J30sDQogICAgJzQnIDogeydjb2RlJzonQUdTJywnbmFtZSc6J0FuZ3VzJ30sDQogICAgJzUnIDogeydjb2RlJzonQVJZJywnbmFtZSc6J0FyZ3lsbCBhbmQgQnV0ZSd9LA0KICAgICc2JyA6IHsnY29kZSc6J0JFRFMnLCduYW1lJzonQmVkZm9yZHNoaXJlJ30sDQogICAgJzcnIDogeydjb2RlJzonQkVSS1MnLCduYW1lJzonQmVya3NoaXJlJ30sDQogICAgJzgnIDogeydjb2RlJzonQkxBJywnbmFtZSc6J0JsYWVuYXUgR3dlbnQnfSwNCiAgICAnOScgOiB7J2NvZGUnOidCUkknLCduYW1lJzonQnJpZGdlbmQnfSwNCiAgICAnMTAnIDogeydjb2RlJzonQlNUTCcsJ25hbWUnOidCcmlzdG9sJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0JVQ0tTJywnbmFtZSc6J0J1Y2tpbmdoYW1zaGlyZSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidDQUUnLCduYW1lJzonQ2FlcnBoaWxseSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidDQU1CUycsJ25hbWUnOidDYW1icmlkZ2VzaGlyZSd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidDREYnLCduYW1lJzonQ2FyZGlmZid9LA0KICAgICcxNScgOiB7J2NvZGUnOidDQVJNJywnbmFtZSc6J0Nhcm1hcnRoZW5zaGlyZSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidDREdOJywnbmFtZSc6J0NlcmVkaWdpb24nfSwNCiAgICAnMTcnIDogeydjb2RlJzonQ0hFUycsJ25hbWUnOidDaGVzaGlyZSd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidDTEFDSycsJ25hbWUnOidDbGFja21hbm5hbnNoaXJlJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J0NPTicsJ25hbWUnOidDb253eSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidDT1JOJywnbmFtZSc6J0Nvcm53YWxsJ30sDQogICAgJzIxJyA6IHsnY29kZSc6J0ROQkcnLCduYW1lJzonRGVuYmlnaHNoaXJlJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0RFUkJZJywnbmFtZSc6J0RlcmJ5c2hpcmUnfSwNCiAgICAnMjMnIDogeydjb2RlJzonRFZOJywnbmFtZSc6J0Rldm9uJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J0RPUicsJ25hbWUnOidEb3JzZXQnfSwNCiAgICAnMjUnIDogeydjb2RlJzonREdMJywnbmFtZSc6J0R1bWZyaWVzIGFuZCBHYWxsb3dheSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidEVU5EJywnbmFtZSc6J0R1bmRlZSd9LA0KICAgICcyNycgOiB7J2NvZGUnOidESE0nLCduYW1lJzonRHVyaGFtJ30sDQogICAgJzI4JyA6IHsnY29kZSc6J0FSWUUnLCduYW1lJzonRWFzdCBBeXJzaGlyZSd9LA0KICAgICcyOScgOiB7J2NvZGUnOidEVU5CRScsJ25hbWUnOidFYXN0IER1bmJhcnRvbnNoaXJlJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J0xPVEUnLCduYW1lJzonRWFzdCBMb3RoaWFuJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J1JFTkUnLCduYW1lJzonRWFzdCBSZW5mcmV3c2hpcmUnfSwNCiAgICAnMzInIDogeydjb2RlJzonRVJZUycsJ25hbWUnOidFYXN0IFJpZGluZyBvZiBZb3Jrc2hpcmUnfSwNCiAgICAnMzMnIDogeydjb2RlJzonU1hFJywnbmFtZSc6J0Vhc3QgU3Vzc2V4J30sDQogICAgJzM0JyA6IHsnY29kZSc6J0VESU4nLCduYW1lJzonRWRpbmJ1cmdoJ30sDQogICAgJzM1JyA6IHsnY29kZSc6J0VTWCcsJ25hbWUnOidFc3NleCd9LA0KICAgICczNicgOiB7J2NvZGUnOidGQUxLJywnbmFtZSc6J0ZhbGtpcmsnfSwNCiAgICAnMzcnIDogeydjb2RlJzonRkZFJywnbmFtZSc6J0ZpZmUnfSwNCiAgICAnMzgnIDogeydjb2RlJzonRkxJTlQnLCduYW1lJzonRmxpbnRzaGlyZSd9LA0KICAgICczOScgOiB7J2NvZGUnOidHTEFTJywnbmFtZSc6J0dsYXNnb3cnfSwNCiAgICAnNDAnIDogeydjb2RlJzonR0xPUycsJ25hbWUnOidHbG91Y2VzdGVyc2hpcmUnfSwNCiAgICAnNDEnIDogeydjb2RlJzonTEROJywnbmFtZSc6J0dyZWF0ZXIgTG9uZG9uJ30sDQogICAgJzQyJyA6IHsnY29kZSc6J01DSCcsJ25hbWUnOidHcmVhdGVyIE1hbmNoZXN0ZXInfSwNCiAgICAnNDMnIDogeydjb2RlJzonR0REJywnbmFtZSc6J0d3eW5lZGQnfSwNCiAgICAnNDQnIDogeydjb2RlJzonSEFOVFMnLCduYW1lJzonSGFtcHNoaXJlJ30sDQogICAgJzQ1JyA6IHsnY29kZSc6J0hXUicsJ25hbWUnOidIZXJlZm9yZHNoaXJlJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J0hFUlRTJywnbmFtZSc6J0hlcnRmb3Jkc2hpcmUnfSwNCiAgICAnNDcnIDogeydjb2RlJzonSExEJywnbmFtZSc6J0hpZ2hsYW5kcyd9LA0KICAgICc0OCcgOiB7J2NvZGUnOidJVkVSJywnbmFtZSc6J0ludmVyY2x5ZGUnfSwNCiAgICAnNDknIDogeydjb2RlJzonSU9XJywnbmFtZSc6J0lzbGUgb2YgV2lnaHQnfSwNCiAgICAnNTAnIDogeydjb2RlJzonS05UJywnbmFtZSc6J0tlbnQnfSwNCiAgICAnNTEnIDogeydjb2RlJzonTEFOQ1MnLCduYW1lJzonTGFuY2FzaGlyZSd9LA0KICAgICc1MicgOiB7J2NvZGUnOidMRUlDUycsJ25hbWUnOidMZWljZXN0ZXJzaGlyZSd9LA0KICAgICc1MycgOiB7J2NvZGUnOidMSU5DUycsJ25hbWUnOidMaW5jb2xuc2hpcmUnfSwNCiAgICAnNTQnIDogeydjb2RlJzonTVNZJywnbmFtZSc6J01lcnNleXNpZGUnfSwNCiAgICAnNTUnIDogeydjb2RlJzonTUVSVCcsJ25hbWUnOidNZXJ0aHlyIFR5ZGZpbCd9LA0KICAgICc1NicgOiB7J2NvZGUnOidNTE9UJywnbmFtZSc6J01pZGxvdGhpYW4nfSwNCiAgICAnNTcnIDogeydjb2RlJzonTU1PVVRIJywnbmFtZSc6J01vbm1vdXRoc2hpcmUnfSwNCiAgICAnNTgnIDogeydjb2RlJzonTU9SQVknLCduYW1lJzonTW9yYXknfSwNCiAgICAnNTknIDogeydjb2RlJzonTlBSVEFMJywnbmFtZSc6J05lYXRoIFBvcnQgVGFsYm90J30sDQogICAgJzYwJyA6IHsnY29kZSc6J05FV1BUJywnbmFtZSc6J05ld3BvcnQnfSwNCiAgICAnNjEnIDogeydjb2RlJzonTk9SJywnbmFtZSc6J05vcmZvbGsnfSwNCiAgICAnNjInIDogeydjb2RlJzonQVJZTicsJ25hbWUnOidOb3J0aCBBeXJzaGlyZSd9LA0KICAgICc2MycgOiB7J2NvZGUnOidMQU5OJywnbmFtZSc6J05vcnRoIExhbmFya3NoaXJlJ30sDQogICAgJzY0JyA6IHsnY29kZSc6J1lTTicsJ25hbWUnOidOb3J0aCBZb3Jrc2hpcmUnfSwNCiAgICAnNjUnIDogeydjb2RlJzonTkhNJywnbmFtZSc6J05vcnRoYW1wdG9uc2hpcmUnfSwNCiAgICAnNjYnIDogeydjb2RlJzonTkxEJywnbmFtZSc6J05vcnRodW1iZXJsYW5kJ30sDQogICAgJzY3JyA6IHsnY29kZSc6J05PVCcsJ25hbWUnOidOb3R0aW5naGFtc2hpcmUnfSwNCiAgICAnNjgnIDogeydjb2RlJzonT1JLJywnbmFtZSc6J09ya25leSBJc2xhbmRzJ30sDQogICAgJzY5JyA6IHsnY29kZSc6J09GRScsJ25hbWUnOidPeGZvcmRzaGlyZSd9LA0KICAgICc3MCcgOiB7J2NvZGUnOidQRU0nLCduYW1lJzonUGVtYnJva2VzaGlyZSd9LA0KICAgICc3MScgOiB7J2NvZGUnOidQRVJUSCcsJ25hbWUnOidQZXJ0aCBhbmQgS2lucm9zcyd9LA0KICAgICc3MicgOiB7J2NvZGUnOidQV1MnLCduYW1lJzonUG93eXMnfSwNCiAgICAnNzMnIDogeydjb2RlJzonUkVOJywnbmFtZSc6J1JlbmZyZXdzaGlyZSd9LA0KICAgICc3NCcgOiB7J2NvZGUnOidSSE9OJywnbmFtZSc6J1Job25kZGEgQ3lub24gVGFmZid9LA0KICAgICc3NScgOiB7J2NvZGUnOidSVVQnLCduYW1lJzonUnV0bGFuZCd9LA0KICAgICc3NicgOiB7J2NvZGUnOidCT1InLCduYW1lJzonU2NvdHRpc2ggQm9yZGVycyd9LA0KICAgICc3NycgOiB7J2NvZGUnOidTSEVUJywnbmFtZSc6J1NoZXRsYW5kIElzbGFuZHMnfSwNCiAgICAnNzgnIDogeydjb2RlJzonU1BFJywnbmFtZSc6J1Nocm9wc2hpcmUnfSwNCiAgICAnNzknIDogeydjb2RlJzonU09NJywnbmFtZSc6J1NvbWVyc2V0J30sDQogICAgJzgwJyA6IHsnY29kZSc6J0FSWVMnLCduYW1lJzonU291dGggQXlyc2hpcmUnfSwNCiAgICAnODEnIDogeydjb2RlJzonTEFOUycsJ25hbWUnOidTb3V0aCBMYW5hcmtzaGlyZSd9LA0KICAgICc4MicgOiB7J2NvZGUnOidZU1MnLCduYW1lJzonU291dGggWW9ya3NoaXJlJ30sDQogICAgJzgzJyA6IHsnY29kZSc6J1NGRCcsJ25hbWUnOidTdGFmZm9yZHNoaXJlJ30sDQogICAgJzg0JyA6IHsnY29kZSc6J1NUSVInLCduYW1lJzonU3RpcmxpbmcnfSwNCiAgICAnODUnIDogeydjb2RlJzonU0ZLJywnbmFtZSc6J1N1ZmZvbGsnfSwNCiAgICAnODYnIDogeydjb2RlJzonU1JZJywnbmFtZSc6J1N1cnJleSd9LA0KICAgICc4NycgOiB7J2NvZGUnOidTV0FOJywnbmFtZSc6J1N3YW5zZWEnfSwNCiAgICAnODgnIDogeydjb2RlJzonVE9SRicsJ25hbWUnOidUb3JmYWVuJ30sDQogICAgJzg5JyA6IHsnY29kZSc6J1RXUicsJ25hbWUnOidUeW5lIGFuZCBXZWFyJ30sDQogICAgJzkwJyA6IHsnY29kZSc6J1ZHTEFNJywnbmFtZSc6J1ZhbGUgb2YgR2xhbW9yZ2FuJ30sDQogICAgJzkxJyA6IHsnY29kZSc6J1dBUktTJywnbmFtZSc6J1dhcndpY2tzaGlyZSd9LA0KICAgICc5MicgOiB7J2NvZGUnOidXRFVOJywnbmFtZSc6J1dlc3QgRHVuYmFydG9uc2hpcmUnfSwNCiAgICAnOTMnIDogeydjb2RlJzonV0xPVCcsJ25hbWUnOidXZXN0IExvdGhpYW4nfSwNCiAgICAnOTQnIDogeydjb2RlJzonV01EJywnbmFtZSc6J1dlc3QgTWlkbGFuZHMnfSwNCiAgICAnOTUnIDogeydjb2RlJzonU1hXJywnbmFtZSc6J1dlc3QgU3Vzc2V4J30sDQogICAgJzk2JyA6IHsnY29kZSc6J1lTVycsJ25hbWUnOidXZXN0IFlvcmtzaGlyZSd9LA0KICAgICc5NycgOiB7J2NvZGUnOidXSUwnLCduYW1lJzonV2VzdGVybiBJc2xlcyd9LA0KICAgICc5OCcgOiB7J2NvZGUnOidXTFQnLCduYW1lJzonV2lsdHNoaXJlJ30sDQogICAgJzk5JyA6IHsnY29kZSc6J1dPUkNTJywnbmFtZSc6J1dvcmNlc3RlcnNoaXJlJ30sDQogICAgJzEwMCcgOiB7J2NvZGUnOidXUlgnLCduYW1lJzonV3JleGhhbSd9DQogIH0sDQogICdVUyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FMJywnbmFtZSc6J0FsYWJhbWEnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBSycsJ25hbWUnOidBbGFza2EnfSwNCiAgICAnMycgOiB7J2NvZGUnOidBUycsJ25hbWUnOidBbWVyaWNhbiBTYW1vYSd9LA0KICAgICc0JyA6IHsnY29kZSc6J0FaJywnbmFtZSc6J0FyaXpvbmEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcmthbnNhcyd9LA0KICAgICc2JyA6IHsnY29kZSc6J0FGJywnbmFtZSc6J0FybWVkIEZvcmNlcyBBZnJpY2EnfSwNCiAgICAnNycgOiB7J2NvZGUnOidBQScsJ25hbWUnOidBcm1lZCBGb3JjZXMgQW1lcmljYXMnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidBQycsJ25hbWUnOidBcm1lZCBGb3JjZXMgQ2FuYWRhJ30sDQogICAgJzknIDogeydjb2RlJzonQUUnLCduYW1lJzonQXJtZWQgRm9yY2VzIEV1cm9wZSd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidBTScsJ25hbWUnOidBcm1lZCBGb3JjZXMgTWlkZGxlIEVhc3QnfSwNCiAgICAnMTEnIDogeydjb2RlJzonQVAnLCduYW1lJzonQXJtZWQgRm9yY2VzIFBhY2lmaWMnfSwNCiAgICAnMTInIDogeydjb2RlJzonQ0EnLCduYW1lJzonQ2FsaWZvcm5pYSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidDTycsJ25hbWUnOidDb2xvcmFkbyd9LA0KICAgICcxNCcgOiB7J2NvZGUnOidDVCcsJ25hbWUnOidDb25uZWN0aWN1dCd9LA0KICAgICcxNScgOiB7J2NvZGUnOidERScsJ25hbWUnOidEZWxhd2FyZSd9LA0KICAgICcxNicgOiB7J2NvZGUnOidEQycsJ25hbWUnOidEaXN0cmljdCBvZiBDb2x1bWJpYSd9LA0KICAgICcxNycgOiB7J2NvZGUnOidGTScsJ25hbWUnOidGZWRlcmF0ZWQgU3RhdGVzIE9mIE1pY3JvbmVzaWEnfSwNCiAgICAnMTgnIDogeydjb2RlJzonRkwnLCduYW1lJzonRmxvcmlkYSd9LA0KICAgICcxOScgOiB7J2NvZGUnOidHQScsJ25hbWUnOidHZW9yZ2lhJ30sDQogICAgJzIwJyA6IHsnY29kZSc6J0dVJywnbmFtZSc6J0d1YW0nfSwNCiAgICAnMjEnIDogeydjb2RlJzonSEknLCduYW1lJzonSGF3YWlpJ30sDQogICAgJzIyJyA6IHsnY29kZSc6J0lEJywnbmFtZSc6J0lkYWhvJ30sDQogICAgJzIzJyA6IHsnY29kZSc6J0lMJywnbmFtZSc6J0lsbGlub2lzJ30sDQogICAgJzI0JyA6IHsnY29kZSc6J0lOJywnbmFtZSc6J0luZGlhbmEnfSwNCiAgICAnMjUnIDogeydjb2RlJzonSUEnLCduYW1lJzonSW93YSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidLUycsJ25hbWUnOidLYW5zYXMnfSwNCiAgICAnMjcnIDogeydjb2RlJzonS1knLCduYW1lJzonS2VudHVja3knfSwNCiAgICAnMjgnIDogeydjb2RlJzonTEEnLCduYW1lJzonTG91aXNpYW5hJ30sDQogICAgJzI5JyA6IHsnY29kZSc6J01FJywnbmFtZSc6J01haW5lJ30sDQogICAgJzMwJyA6IHsnY29kZSc6J01IJywnbmFtZSc6J01hcnNoYWxsIElzbGFuZHMnfSwNCiAgICAnMzEnIDogeydjb2RlJzonTUQnLCduYW1lJzonTWFyeWxhbmQnfSwNCiAgICAnMzInIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFzc2FjaHVzZXR0cyd9LA0KICAgICczMycgOiB7J2NvZGUnOidNSScsJ25hbWUnOidNaWNoaWdhbid9LA0KICAgICczNCcgOiB7J2NvZGUnOidNTicsJ25hbWUnOidNaW5uZXNvdGEnfSwNCiAgICAnMzUnIDogeydjb2RlJzonTVMnLCduYW1lJzonTWlzc2lzc2lwcGknfSwNCiAgICAnMzYnIDogeydjb2RlJzonTU8nLCduYW1lJzonTWlzc291cmknfSwNCiAgICAnMzcnIDogeydjb2RlJzonTVQnLCduYW1lJzonTW9udGFuYSd9LA0KICAgICczOCcgOiB7J2NvZGUnOidORScsJ25hbWUnOidOZWJyYXNrYSd9LA0KICAgICczOScgOiB7J2NvZGUnOidOVicsJ25hbWUnOidOZXZhZGEnfSwNCiAgICAnNDAnIDogeydjb2RlJzonTkgnLCduYW1lJzonTmV3IEhhbXBzaGlyZSd9LA0KICAgICc0MScgOiB7J2NvZGUnOidOSicsJ25hbWUnOidOZXcgSmVyc2V5J30sDQogICAgJzQyJyA6IHsnY29kZSc6J05NJywnbmFtZSc6J05ldyBNZXhpY28nfSwNCiAgICAnNDMnIDogeydjb2RlJzonTlknLCduYW1lJzonTmV3IFlvcmsnfSwNCiAgICAnNDQnIDogeydjb2RlJzonTkMnLCduYW1lJzonTm9ydGggQ2Fyb2xpbmEnfSwNCiAgICAnNDUnIDogeydjb2RlJzonTkQnLCduYW1lJzonTm9ydGggRGFrb3RhJ30sDQogICAgJzQ2JyA6IHsnY29kZSc6J01QJywnbmFtZSc6J05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyd9LA0KICAgICc0NycgOiB7J2NvZGUnOidPSCcsJ25hbWUnOidPaGlvJ30sDQogICAgJzQ4JyA6IHsnY29kZSc6J09LJywnbmFtZSc6J09rbGFob21hJ30sDQogICAgJzQ5JyA6IHsnY29kZSc6J09SJywnbmFtZSc6J09yZWdvbid9LA0KICAgICc1MCcgOiB7J2NvZGUnOidQVycsJ25hbWUnOidQYWxhdSd9LA0KICAgICc1MScgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQZW5uc3lsdmFuaWEnfSwNCiAgICAnNTInIDogeydjb2RlJzonUFInLCduYW1lJzonUHVlcnRvIFJpY28nfSwNCiAgICAnNTMnIDogeydjb2RlJzonUkknLCduYW1lJzonUmhvZGUgSXNsYW5kJ30sDQogICAgJzU0JyA6IHsnY29kZSc6J1NDJywnbmFtZSc6J1NvdXRoIENhcm9saW5hJ30sDQogICAgJzU1JyA6IHsnY29kZSc6J1NEJywnbmFtZSc6J1NvdXRoIERha290YSd9LA0KICAgICc1NicgOiB7J2NvZGUnOidUTicsJ25hbWUnOidUZW5uZXNzZWUnfSwNCiAgICAnNTcnIDogeydjb2RlJzonVFgnLCduYW1lJzonVGV4YXMnfSwNCiAgICAnNTgnIDogeydjb2RlJzonVVQnLCduYW1lJzonVXRhaCd9LA0KICAgICc1OScgOiB7J2NvZGUnOidWVCcsJ25hbWUnOidWZXJtb250J30sDQogICAgJzYwJyA6IHsnY29kZSc6J1ZJJywnbmFtZSc6J1ZpcmdpbiBJc2xhbmRzJ30sDQogICAgJzYxJyA6IHsnY29kZSc6J1ZBJywnbmFtZSc6J1ZpcmdpbmlhJ30sDQogICAgJzYyJyA6IHsnY29kZSc6J1dBJywnbmFtZSc6J1dhc2hpbmd0b24nfSwNCiAgICAnNjMnIDogeydjb2RlJzonV1YnLCduYW1lJzonV2VzdCBWaXJnaW5pYSd9LA0KICAgICc2NCcgOiB7J2NvZGUnOidXSScsJ25hbWUnOidXaXNjb25zaW4nfSwNCiAgICAnNjUnIDogeydjb2RlJzonV1knLCduYW1lJzonV3lvbWluZyd9DQogIH0sDQogICdVTSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JJJywnbmFtZSc6J0Jha2VyIElzbGFuZCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0hJJywnbmFtZSc6J0hvd2xhbmQgSXNsYW5kJ30sDQogICAgJzMnIDogeydjb2RlJzonSkknLCduYW1lJzonSmFydmlzIElzbGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J0pBJywnbmFtZSc6J0pvaG5zdG9uIEF0b2xsJ30sDQogICAgJzUnIDogeydjb2RlJzonS1InLCduYW1lJzonS2luZ21hbiBSZWVmJ30sDQogICAgJzYnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWlkd2F5IEF0b2xsJ30sDQogICAgJzcnIDogeydjb2RlJzonTkknLCduYW1lJzonTmF2YXNzYSBJc2xhbmQnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQYWxteXJhIEF0b2xsJ30sDQogICAgJzknIDogeydjb2RlJzonV0knLCduYW1lJzonV2FrZSBJc2xhbmQnfQ0KICB9LA0KICAnVVknOnsNCiAgICAnMScgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcnRpZ2FzJ30sDQogICAgJzInIDogeydjb2RlJzonQ0EnLCduYW1lJzonQ2FuZWxvbmVzJ30sDQogICAgJzMnIDogeydjb2RlJzonQ0wnLCduYW1lJzonQ2Vycm8gTGFyZ28nfSwNCiAgICAnNCcgOiB7J2NvZGUnOidDTycsJ25hbWUnOidDb2xvbmlhJ30sDQogICAgJzUnIDogeydjb2RlJzonRFUnLCduYW1lJzonRHVyYXpubyd9LA0KICAgICc2JyA6IHsnY29kZSc6J0ZTJywnbmFtZSc6J0Zsb3Jlcyd9LA0KICAgICc3JyA6IHsnY29kZSc6J0ZBJywnbmFtZSc6J0Zsb3JpZGEnfSwNCiAgICAnOCcgOiB7J2NvZGUnOidMQScsJ25hbWUnOidMYXZhbGxlamEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidNQScsJ25hbWUnOidNYWxkb25hZG8nfSwNCiAgICAnMTAnIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9udGV2aWRlbyd9LA0KICAgICcxMScgOiB7J2NvZGUnOidQQScsJ25hbWUnOidQYXlzYW5kdSd9LA0KICAgICcxMicgOiB7J2NvZGUnOidSTicsJ25hbWUnOidSaW8gTmVncm8nfSwNCiAgICAnMTMnIDogeydjb2RlJzonUlYnLCduYW1lJzonUml2ZXJhJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J1JPJywnbmFtZSc6J1JvY2hhJ30sDQogICAgJzE1JyA6IHsnY29kZSc6J1NMJywnbmFtZSc6J1NhbHRvJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J1NKJywnbmFtZSc6J1NhbiBKb3NlJ30sDQogICAgJzE3JyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1Nvcmlhbm8nfSwNCiAgICAnMTgnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFjdWFyZW1ibyd9LA0KICAgICcxOScgOiB7J2NvZGUnOidUVCcsJ25hbWUnOidUcmVpbnRhIHkgVHJlcyd9DQogIH0sDQogICdVWic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FOJywnbmFtZSc6J0FuZGlqb24nfSwNCiAgICAnMicgOiB7J2NvZGUnOidCVScsJ25hbWUnOidCdXhvcm8nfSwNCiAgICAnMycgOiB7J2NvZGUnOidGQScsJ25hbWUnOidGYXJnXCdvbmEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidKSScsJ25hbWUnOidKaXp6YXgnfSwNCiAgICAnNScgOiB7J2NvZGUnOidORycsJ25hbWUnOidOYW1hbmdhbid9LA0KICAgICc2JyA6IHsnY29kZSc6J05XJywnbmFtZSc6J05hdm9peSd9LA0KICAgICc3JyA6IHsnY29kZSc6J1FBJywnbmFtZSc6J1Fhc2hxYWRhcnlvJ30sDQogICAgJzgnIDogeydjb2RlJzonUVInLCduYW1lJzonUW9yYXFhbHBvZ1wnaXN0b24gUmVwdWJsaWthc2knfSwNCiAgICAnOScgOiB7J2NvZGUnOidTQScsJ25hbWUnOidTYW1hcnFhbmQnfSwNCiAgICAnMTAnIDogeydjb2RlJzonU0knLCduYW1lJzonU2lyZGFyeW8nfSwNCiAgICAnMTEnIDogeydjb2RlJzonU1UnLCduYW1lJzonU3VyeG9uZGFyeW8nfSwNCiAgICAnMTInIDogeydjb2RlJzonVEsnLCduYW1lJzonVG9zaGtlbnQgQ2l0eSd9LA0KICAgICcxMycgOiB7J2NvZGUnOidUTycsJ25hbWUnOidUb3Noa2VudCBSZWdpb24nfSwNCiAgICAnMTQnIDogeydjb2RlJzonWE8nLCduYW1lJzonWG9yYXptJ30NCiAgfSwNCiAgJ1ZVJzp7DQogICAgJzEnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFsYW1wYSd9LA0KICAgICcyJyA6IHsnY29kZSc6J1BFJywnbmFtZSc6J1BlbmFtYSd9LA0KICAgICczJyA6IHsnY29kZSc6J1NBJywnbmFtZSc6J1Nhbm1hJ30sDQogICAgJzQnIDogeydjb2RlJzonU0gnLCduYW1lJzonU2hlZmEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidUQScsJ25hbWUnOidUYWZlYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J1RPJywnbmFtZSc6J1RvcmJhJ30NCiAgfSwNCiAgJ1ZFJzp7DQogICAgJzEnIDogeydjb2RlJzonQU0nLCduYW1lJzonQW1hem9uYXMnfSwNCiAgICAnMicgOiB7J2NvZGUnOidBTicsJ25hbWUnOidBbnpvYXRlZ3VpJ30sDQogICAgJzMnIDogeydjb2RlJzonQVAnLCduYW1lJzonQXB1cmUnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidBUicsJ25hbWUnOidBcmFndWEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidCQScsJ25hbWUnOidCYXJpbmFzJ30sDQogICAgJzYnIDogeydjb2RlJzonQk8nLCduYW1lJzonQm9saXZhcid9LA0KICAgICc3JyA6IHsnY29kZSc6J0NBJywnbmFtZSc6J0NhcmFib2JvJ30sDQogICAgJzgnIDogeydjb2RlJzonQ08nLCduYW1lJzonQ29qZWRlcyd9LA0KICAgICc5JyA6IHsnY29kZSc6J0RBJywnbmFtZSc6J0RlbHRhIEFtYWN1cm8nfSwNCiAgICAnMTAnIDogeydjb2RlJzonREYnLCduYW1lJzonRGVwZW5kZW5jaWFzIEZlZGVyYWxlcyd9LA0KICAgICcxMScgOiB7J2NvZGUnOidESScsJ25hbWUnOidEaXN0cml0byBGZWRlcmFsJ30sDQogICAgJzEyJyA6IHsnY29kZSc6J0ZBJywnbmFtZSc6J0ZhbGNvbid9LA0KICAgICcxMycgOiB7J2NvZGUnOidHVScsJ25hbWUnOidHdWFyaWNvJ30sDQogICAgJzE0JyA6IHsnY29kZSc6J0xBJywnbmFtZSc6J0xhcmEnfSwNCiAgICAnMTUnIDogeydjb2RlJzonTUUnLCduYW1lJzonTWVyaWRhJ30sDQogICAgJzE2JyA6IHsnY29kZSc6J01JJywnbmFtZSc6J01pcmFuZGEnfSwNCiAgICAnMTcnIDogeydjb2RlJzonTU8nLCduYW1lJzonTW9uYWdhcyd9LA0KICAgICcxOCcgOiB7J2NvZGUnOidORScsJ25hbWUnOidOdWV2YSBFc3BhcnRhJ30sDQogICAgJzE5JyA6IHsnY29kZSc6J1BPJywnbmFtZSc6J1BvcnR1Z3Vlc2EnfSwNCiAgICAnMjAnIDogeydjb2RlJzonU1UnLCduYW1lJzonU3VjcmUnfSwNCiAgICAnMjEnIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFjaGlyYSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidUUicsJ25hbWUnOidUcnVqaWxsbyd9LA0KICAgICcyMycgOiB7J2NvZGUnOidWQScsJ25hbWUnOidWYXJnYXMnfSwNCiAgICAnMjQnIDogeydjb2RlJzonWUEnLCduYW1lJzonWWFyYWN1eSd9LA0KICAgICcyNScgOiB7J2NvZGUnOidaVScsJ25hbWUnOidadWxpYSd9DQogIH0sDQogICdWTic6ew0KICAgICcxJyA6IHsnY29kZSc6J0FHJywnbmFtZSc6J0FuIEdpYW5nJ30sDQogICAgJzInIDogeydjb2RlJzonQkcnLCduYW1lJzonQmFjIEdpYW5nJ30sDQogICAgJzMnIDogeydjb2RlJzonQksnLCduYW1lJzonQmFjIEthbid9LA0KICAgICc0JyA6IHsnY29kZSc6J0JMJywnbmFtZSc6J0JhYyBMaWV1J30sDQogICAgJzUnIDogeydjb2RlJzonQkMnLCduYW1lJzonQmFjIE5pbmgnfSwNCiAgICAnNicgOiB7J2NvZGUnOidCUicsJ25hbWUnOidCYSBSaWEtVnVuZyBUYXUnfSwNCiAgICAnNycgOiB7J2NvZGUnOidCTicsJ25hbWUnOidCZW4gVHJlJ30sDQogICAgJzgnIDogeydjb2RlJzonQkgnLCduYW1lJzonQmluaCBEaW5oJ30sDQogICAgJzknIDogeydjb2RlJzonQlUnLCduYW1lJzonQmluaCBEdW9uZyd9LA0KICAgICcxMCcgOiB7J2NvZGUnOidCUCcsJ25hbWUnOidCaW5oIFBodW9jJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0JUJywnbmFtZSc6J0JpbmggVGh1YW4nfSwNCiAgICAnMTInIDogeydjb2RlJzonQ00nLCduYW1lJzonQ2EgTWF1J30sDQogICAgJzEzJyA6IHsnY29kZSc6J0NUJywnbmFtZSc6J0NhbiBUaG8nfSwNCiAgICAnMTQnIDogeydjb2RlJzonQ0InLCduYW1lJzonQ2FvIEJhbmcnfSwNCiAgICAnMTUnIDogeydjb2RlJzonREwnLCduYW1lJzonRGFrIExhayd9LA0KICAgICcxNicgOiB7J2NvZGUnOidERycsJ25hbWUnOidEYWsgTm9uZyd9LA0KICAgICcxNycgOiB7J2NvZGUnOidETicsJ25hbWUnOidEYSBOYW5nJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J0RCJywnbmFtZSc6J0RpZW4gQmllbid9LA0KICAgICcxOScgOiB7J2NvZGUnOidESScsJ25hbWUnOidEb25nIE5haSd9LA0KICAgICcyMCcgOiB7J2NvZGUnOidEVCcsJ25hbWUnOidEb25nIFRoYXAnfSwNCiAgICAnMjEnIDogeydjb2RlJzonR0wnLCduYW1lJzonR2lhIExhaSd9LA0KICAgICcyMicgOiB7J2NvZGUnOidIRycsJ25hbWUnOidIYSBHaWFuZyd9LA0KICAgICcyMycgOiB7J2NvZGUnOidIRCcsJ25hbWUnOidIYWkgRHVvbmcnfSwNCiAgICAnMjQnIDogeydjb2RlJzonSFAnLCduYW1lJzonSGFpIFBob25nJ30sDQogICAgJzI1JyA6IHsnY29kZSc6J0hNJywnbmFtZSc6J0hhIE5hbSd9LA0KICAgICcyNicgOiB7J2NvZGUnOidISScsJ25hbWUnOidIYSBOb2knfSwNCiAgICAnMjcnIDogeydjb2RlJzonSFQnLCduYW1lJzonSGEgVGF5J30sDQogICAgJzI4JyA6IHsnY29kZSc6J0hIJywnbmFtZSc6J0hhIFRpbmgnfSwNCiAgICAnMjknIDogeydjb2RlJzonSEInLCduYW1lJzonSG9hIEJpbmgnfSwNCiAgICAnMzAnIDogeydjb2RlJzonSEMnLCduYW1lJzonSG8gQ2hpbiBNaW5oJ30sDQogICAgJzMxJyA6IHsnY29kZSc6J0hVJywnbmFtZSc6J0hhdSBHaWFuZyd9LA0KICAgICczMicgOiB7J2NvZGUnOidIWScsJ25hbWUnOidIdW5nIFllbid9DQogIH0sDQogICdWSSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0MnLCduYW1lJzonU2FpbnQgQ3JvaXgnfSwNCiAgICAnMicgOiB7J2NvZGUnOidKJywnbmFtZSc6J1NhaW50IEpvaG4nfSwNCiAgICAnMycgOiB7J2NvZGUnOidUJywnbmFtZSc6J1NhaW50IFRob21hcyd9DQogIH0sDQogICdXRic6ew0KICAgICcxJyA6IHsnY29kZSc6J0EnLCduYW1lJzonQWxvJ30sDQogICAgJzInIDogeydjb2RlJzonUycsJ25hbWUnOidTaWdhdmUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidXJywnbmFtZSc6J1dhbGxpcyd9DQogIH0sDQogICdZRSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0FCJywnbmFtZSc6J0FieWFuJ30sDQogICAgJzInIDogeydjb2RlJzonQUQnLCduYW1lJzonQWRhbid9LA0KICAgICczJyA6IHsnY29kZSc6J0FNJywnbmFtZSc6J0FtcmFuJ30sDQogICAgJzQnIDogeydjb2RlJzonQkEnLCduYW1lJzonQWwgQmF5ZGEnfSwNCiAgICAnNScgOiB7J2NvZGUnOidEQScsJ25hbWUnOidBZCBEYWxpJ30sDQogICAgJzYnIDogeydjb2RlJzonREgnLCduYW1lJzonRGhhbWFyJ30sDQogICAgJzcnIDogeydjb2RlJzonSEQnLCduYW1lJzonSGFkcmFtYXd0J30sDQogICAgJzgnIDogeydjb2RlJzonSEonLCduYW1lJzonSGFqamFoJ30sDQogICAgJzknIDogeydjb2RlJzonSFUnLCduYW1lJzonQWwgSHVkYXlkYWgnfSwNCiAgICAnMTAnIDogeydjb2RlJzonSUInLCduYW1lJzonSWJiJ30sDQogICAgJzExJyA6IHsnY29kZSc6J0pBJywnbmFtZSc6J0FsIEphd2YnfSwNCiAgICAnMTInIDogeydjb2RlJzonTEEnLCduYW1lJzonTGFoaWonfSwNCiAgICAnMTMnIDogeydjb2RlJzonTUEnLCduYW1lJzonTWFcJ3JpYid9LA0KICAgICcxNCcgOiB7J2NvZGUnOidNUicsJ25hbWUnOidBbCBNYWhyYWgnfSwNCiAgICAnMTUnIDogeydjb2RlJzonTVcnLCduYW1lJzonQWwgTWFod2l0J30sDQogICAgJzE2JyA6IHsnY29kZSc6J1NEJywnbmFtZSc6J1NhXCdkYWgnfSwNCiAgICAnMTcnIDogeydjb2RlJzonU04nLCduYW1lJzonU2FuXCdhJ30sDQogICAgJzE4JyA6IHsnY29kZSc6J1NIJywnbmFtZSc6J1NoYWJ3YWgnfSwNCiAgICAnMTknIDogeydjb2RlJzonVEEnLCduYW1lJzonVGFcJ2l6eid9DQogIH0sDQogICdZVSc6ew0KICAgICcxJyA6IHsnY29kZSc6J0tPUycsJ25hbWUnOidLb3Nvdm8nfSwNCiAgICAnMicgOiB7J2NvZGUnOidNT04nLCduYW1lJzonTW9udGVuZWdybyd9LA0KICAgICczJyA6IHsnY29kZSc6J1NFUicsJ25hbWUnOidTZXJiaWEnfSwNCiAgICAnNCcgOiB7J2NvZGUnOidWT0onLCduYW1lJzonVm9qdm9kaW5hJ30NCiAgfSwNCiAgJ1pSJzp7DQogICAgJzEnIDogeydjb2RlJzonQkMnLCduYW1lJzonQmFzLUNvbmdvJ30sDQogICAgJzInIDogeydjb2RlJzonQk4nLCduYW1lJzonQmFuZHVuZHUnfSwNCiAgICAnMycgOiB7J2NvZGUnOidFUScsJ25hbWUnOidFcXVhdGV1cid9LA0KICAgICc0JyA6IHsnY29kZSc6J0tBJywnbmFtZSc6J0thdGFuZ2EnfSwNCiAgICAnNScgOiB7J2NvZGUnOidLRScsJ25hbWUnOidLYXNhaS1PcmllbnRhbCd9LA0KICAgICc2JyA6IHsnY29kZSc6J0tOJywnbmFtZSc6J0tpbnNoYXNhJ30sDQogICAgJzcnIDogeydjb2RlJzonS1cnLCduYW1lJzonS2FzYWktT2NjaWRlbnRhbCd9LA0KICAgICc4JyA6IHsnY29kZSc6J01BJywnbmFtZSc6J01hbmllbWEnfSwNCiAgICAnOScgOiB7J2NvZGUnOidOSycsJ25hbWUnOidOb3JkLUtpdnUnfSwNCiAgICAnMTAnIDogeydjb2RlJzonT1InLCduYW1lJzonT3JpZW50YWxlJ30sDQogICAgJzExJyA6IHsnY29kZSc6J1NLJywnbmFtZSc6J1N1ZC1LaXZ1J30NCiAgfSwNCiAgJ1pNJzp7DQogICAgJzEnIDogeydjb2RlJzonQ0UnLCduYW1lJzonQ2VudHJhbCd9LA0KICAgICcyJyA6IHsnY29kZSc6J0NCJywnbmFtZSc6J0NvcHBlcmJlbHQnfSwNCiAgICAnMycgOiB7J2NvZGUnOidFQScsJ25hbWUnOidFYXN0ZXJuJ30sDQogICAgJzQnIDogeydjb2RlJzonTFAnLCduYW1lJzonTHVhcHVsYSd9LA0KICAgICc1JyA6IHsnY29kZSc6J0xLJywnbmFtZSc6J0x1c2FrYSd9LA0KICAgICc2JyA6IHsnY29kZSc6J05PJywnbmFtZSc6J05vcnRoZXJuJ30sDQogICAgJzcnIDogeydjb2RlJzonTlcnLCduYW1lJzonTm9ydGgtV2VzdGVybid9LA0KICAgICc4JyA6IHsnY29kZSc6J1NPJywnbmFtZSc6J1NvdXRoZXJuJ30sDQogICAgJzknIDogeydjb2RlJzonV0UnLCduYW1lJzonV2VzdGVybid9DQogIH0sDQogICdaVyc6ew0KICAgICcxJyA6IHsnY29kZSc6J0JVJywnbmFtZSc6J0J1bGF3YXlvJ30sDQogICAgJzInIDogeydjb2RlJzonSEEnLCduYW1lJzonSGFyYXJlJ30sDQogICAgJzMnIDogeydjb2RlJzonTUwnLCduYW1lJzonTWFuaWNhbGFuZCd9LA0KICAgICc0JyA6IHsnY29kZSc6J01DJywnbmFtZSc6J01hc2hvbmFsYW5kIENlbnRyYWwnfSwNCiAgICAnNScgOiB7J2NvZGUnOidNRScsJ25hbWUnOidNYXNob25hbGFuZCBFYXN0J30sDQogICAgJzYnIDogeydjb2RlJzonTVcnLCduYW1lJzonTWFzaG9uYWxhbmQgV2VzdCd9LA0KICAgICc3JyA6IHsnY29kZSc6J01WJywnbmFtZSc6J01hc3ZpbmdvJ30sDQogICAgJzgnIDogeydjb2RlJzonTU4nLCduYW1lJzonTWF0YWJlbGVsYW5kIE5vcnRoJ30sDQogICAgJzknIDogeydjb2RlJzonTVMnLCduYW1lJzonTWF0YWJlbGVsYW5kIFNvdXRoJ30sDQogICAgJzEwJyA6IHsnY29kZSc6J01EJywnbmFtZSc6J01pZGxhbmRzJ30NCiAgfQ0KfTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLXRpbWVwaWNrZXIuZW5fVVMuanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTIgVmluY2VudCBMYW1hbm5hDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCiANCnZhciBCRkhUaW1lUGlja2VyRGVsaW1pdGVyID0gJzonOw0KDQp2YXIgQkZIVGltZVBpY2tlck1vZGVzID0gew0KICAnYW0nOiAnQU0nLA0KICAncG0nOiAnUE0nDQp9Ow0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLXRpbWV6b25lcy5lbl9VUy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KIA0KdmFyIEJGSFRpbWV6b25lc0xpc3QgPSB7DQogICdBRic6IHsNCiAgICAnQXNpYS9LYWJ1bCc6ICdLYWJ1bCcNCiAgfSwNCiAgJ0FMJzogew0KICAgICdFdXJvcGUvVGlyYW5lJzogJ1RpcmFuZScNCiAgfSwNCiAgJ0RaJzogew0KICAgICdBZnJpY2EvQWxnaWVycyc6ICdBbGdpZXJzJw0KICB9LA0KICAnQVMnOiB7DQogICAgJ1BhY2lmaWMvUGFnb19QYWdvJzogJ1BhZ28gUGFnbycNCiAgfSwNCiAgJ0FEJzogew0KICAgICdFdXJvcGUvQW5kb3JyYSc6ICdBbmRvcnJhJw0KICB9LA0KICAnQU8nOiB7DQogICAgJ0FmcmljYS9MdWFuZGEnOiAnTHVhbmRhJw0KICB9LA0KICAnQUknOiB7DQogICAgJ0FtZXJpY2EvQW5ndWlsbGEnOiAnQW5ndWlsbGEnDQogIH0sDQogICdBUSc6IHsNCiAgICAnQW50YXJjdGljYS9DYXNleSc6ICdDYXNleScsDQogICAgJ0FudGFyY3RpY2EvRGF2aXMnOiAnRGF2aXMnLA0KICAgICdBbnRhcmN0aWNhL0R1bW9udERVcnZpbGxlJzogJ0R1bW9udERVcnZpbGxlJywNCiAgICAnQW50YXJjdGljYS9NYWNxdWFyaWUnOiAnTWFjcXVhcmllJywNCiAgICAnQW50YXJjdGljYS9NYXdzb24nOiAnTWF3c29uJywNCiAgICAnQW50YXJjdGljYS9NY011cmRvJzogJ01jTXVyZG8nLA0KICAgICdBbnRhcmN0aWNhL1BhbG1lcic6ICdQYWxtZXInLA0KICAgICdBbnRhcmN0aWNhL1JvdGhlcmEnOiAnUm90aGVyYScsDQogICAgJ0FudGFyY3RpY2EvU291dGhfUG9sZSc6ICdTb3V0aCBQb2xlJywNCiAgICAnQW50YXJjdGljYS9TeW93YSc6ICdTeW93YScsDQogICAgJ0FudGFyY3RpY2EvVm9zdG9rJzogJ1Zvc3RvaycNCiAgfSwNCiAgJ0FHJzogew0KICAgICdBbWVyaWNhL0FudGlndWEnOiAnQW50aWd1YScNCiAgfSwNCiAgJ0FSJzogew0KICAgICdBbWVyaWNhL0FyZ2VudGluYS9CdWVub3NfQWlyZXMnOiAnQXJnZW50aW5hIC8gQnVlbm9zIEFpcmVzJywNCiAgICAnQW1lcmljYS9BcmdlbnRpbmEvQ2F0YW1hcmNhJzogJ0FyZ2VudGluYSAvIENhdGFtYXJjYScsDQogICAgJ0FtZXJpY2EvQXJnZW50aW5hL0NvcmRvYmEnOiAnQXJnZW50aW5hIC8gQ29yZG9iYScsDQogICAgJ0FtZXJpY2EvQXJnZW50aW5hL0p1anV5JzogJ0FyZ2VudGluYSAvIEp1anV5JywNCiAgICAnQW1lcmljYS9BcmdlbnRpbmEvTGFfUmlvamEnOiAnQXJnZW50aW5hIC8gTGEgUmlvamEnLA0KICAgICdBbWVyaWNhL0FyZ2VudGluYS9NZW5kb3phJzogJ0FyZ2VudGluYSAvIE1lbmRvemEnLA0KICAgICdBbWVyaWNhL0FyZ2VudGluYS9SaW9fR2FsbGVnb3MnOiAnQXJnZW50aW5hIC8gUmlvIEdhbGxlZ29zJywNCiAgICAnQW1lcmljYS9BcmdlbnRpbmEvU2FsdGEnOiAnQXJnZW50aW5hIC8gU2FsdGEnLA0KICAgICdBbWVyaWNhL0FyZ2VudGluYS9TYW5fSnVhbic6ICdBcmdlbnRpbmEgLyBTYW4gSnVhbicsDQogICAgJ0FtZXJpY2EvQXJnZW50aW5hL1Nhbl9MdWlzJzogJ0FyZ2VudGluYSAvIFNhbiBMdWlzJywNCiAgICAnQW1lcmljYS9BcmdlbnRpbmEvVHVjdW1hbic6ICdBcmdlbnRpbmEgLyBUdWN1bWFuJywNCiAgICAnQW1lcmljYS9BcmdlbnRpbmEvVXNodWFpYSc6ICdBcmdlbnRpbmEgLyBVc2h1YWlhJw0KICB9LA0KICAnQU0nOiB7DQogICAgJ0FzaWEvWWVyZXZhbic6ICdZZXJldmFuJw0KICB9LA0KICAnQVcnOiB7DQogICAgJ0FtZXJpY2EvQXJ1YmEnOiAnQXJ1YmEnDQogIH0sDQogICdBVSc6IHsNCiAgICAnQXVzdHJhbGlhL0FkZWxhaWRlJzogJ0FkZWxhaWRlJywNCiAgICAnQXVzdHJhbGlhL0JyaXNiYW5lJzogJ0JyaXNiYW5lJywNCiAgICAnQXVzdHJhbGlhL0Jyb2tlbl9IaWxsJzogJ0Jyb2tlbiBIaWxsJywNCiAgICAnQXVzdHJhbGlhL0N1cnJpZSc6ICdDdXJyaWUnLA0KICAgICdBdXN0cmFsaWEvRGFyd2luJzogJ0RhcndpbicsDQogICAgJ0F1c3RyYWxpYS9FdWNsYSc6ICdFdWNsYScsDQogICAgJ0F1c3RyYWxpYS9Ib2JhcnQnOiAnSG9iYXJ0JywNCiAgICAnQXVzdHJhbGlhL0xpbmRlbWFuJzogJ0xpbmRlbWFuJywNCiAgICAnQXVzdHJhbGlhL0xvcmRfSG93ZSc6ICdMb3JkIEhvd2UnLA0KICAgICdBdXN0cmFsaWEvTWVsYm91cm5lJzogJ01lbGJvdXJuZScsDQogICAgJ0F1c3RyYWxpYS9QZXJ0aCc6ICdQZXJ0aCcsDQogICAgJ0F1c3RyYWxpYS9TeWRuZXknOiAnU3lkbmV5Jw0KICB9LA0KICAnQVQnOiB7DQogICAgJ0V1cm9wZS9WaWVubmEnOiAnVmllbm5hJw0KICB9LA0KICAnQVonOiB7DQogICAgJ0FzaWEvQmFrdSc6ICdCYWt1Jw0KICB9LA0KICAnQkgnOiB7DQogICAgJ0FzaWEvQmFocmFpbic6ICdCYWhyYWluJw0KICB9LA0KICAnQkQnOiB7DQogICAgJ0FzaWEvRGhha2EnOiAnRGhha2EnDQogIH0sDQogICdCQic6IHsNCiAgICAnQW1lcmljYS9CYXJiYWRvcyc6ICdCYXJiYWRvcycNCiAgfSwNCiAgJ0JZJzogew0KICAgICdFdXJvcGUvTWluc2snOiAnTWluc2snDQogIH0sDQogICdCRSc6IHsNCiAgICAnRXVyb3BlL0JydXNzZWxzJzogJ0JydXNzZWxzJw0KICB9LA0KICAnQlonOiB7DQogICAgJ0FtZXJpY2EvQmVsaXplJzogJ0JlbGl6ZScNCiAgfSwNCiAgJ0JKJzogew0KICAgICdBZnJpY2EvUG9ydG8tTm92byc6ICdQb3J0by1Ob3ZvJw0KICB9LA0KICAnQk0nOiB7DQogICAgJ0F0bGFudGljL0Jlcm11ZGEnOiAnQmVybXVkYScNCiAgfSwNCiAgJ0JUJzogew0KICAgICdBc2lhL1RoaW1waHUnOiAnVGhpbXBodScNCiAgfSwNCiAgJ0JPJzogew0KICAgICdBbWVyaWNhL0xhX1Bheic6ICdMYSBQYXonDQogIH0sDQogICdCQSc6IHsNCiAgICAnRXVyb3BlL1NhcmFqZXZvJzogJ1NhcmFqZXZvJw0KICB9LA0KICAnQlcnOiB7DQogICAgJ0FmcmljYS9HYWJvcm9uZSc6ICdHYWJvcm9uZScNCiAgfSwNCiAgJ0JSJzogew0KICAgICdBbWVyaWNhL0FyYWd1YWluYSc6ICdBcmFndWFpbmEnLA0KICAgICdBbWVyaWNhL0JhaGlhJzogJ0JhaGlhJywNCiAgICAnQW1lcmljYS9CZWxlbSc6ICdCZWxlbScsDQogICAgJ0FtZXJpY2EvQm9hX1Zpc3RhJzogJ0JvYSBWaXN0YScsDQogICAgJ0FtZXJpY2EvQ2FtcG9fR3JhbmRlJzogJ0NhbXBvIEdyYW5kZScsDQogICAgJ0FtZXJpY2EvQ3VpYWJhJzogJ0N1aWFiYScsDQogICAgJ0FtZXJpY2EvRWlydW5lcGUnOiAnRWlydW5lcGUnLA0KICAgICdBbWVyaWNhL0ZvcnRhbGV6YSc6ICdGb3J0YWxlemEnLA0KICAgICdBbWVyaWNhL01hY2Vpbyc6ICdNYWNlaW8nLA0KICAgICdBbWVyaWNhL01hbmF1cyc6ICdNYW5hdXMnLA0KICAgICdBbWVyaWNhL05vcm9uaGEnOiAnTm9yb25oYScsDQogICAgJ0FtZXJpY2EvUG9ydG9fVmVsaG8nOiAnUG9ydG8gVmVsaG8nLA0KICAgICdBbWVyaWNhL1JlY2lmZSc6ICdSZWNpZmUnLA0KICAgICdBbWVyaWNhL1Jpb19CcmFuY28nOiAnUmlvIEJyYW5jbycsDQogICAgJ0FtZXJpY2EvU2FudGFyZW0nOiAnU2FudGFyZW0nLA0KICAgICdBbWVyaWNhL1Nhb19QYXVsbyc6ICdTYW8gUGF1bG8nDQogIH0sDQogICdWRyc6IHsNCiAgICAnQW1lcmljYS9Ub3J0b2xhJzogJ1RvcnRvbGEnDQogIH0sDQogICdCTic6IHsNCiAgICAnQXNpYS9CcnVuZWknOiAnQnJ1bmVpJw0KICB9LA0KICAnQkcnOiB7DQogICAgJ0V1cm9wZS9Tb2ZpYSc6ICdTb2ZpYScNCiAgfSwNCiAgJ0JGJzogew0KICAgICdBZnJpY2EvT3VhZ2Fkb3Vnb3UnOiAnT3VhZ2Fkb3Vnb3UnDQogIH0sDQogICdCSSc6IHsNCiAgICAnQWZyaWNhL0J1anVtYnVyYSc6ICdCdWp1bWJ1cmEnDQogIH0sDQogICdDSSc6IHsNCiAgICAnQWZyaWNhL0FiaWRqYW4nOiAnQWJpZGphbicNCiAgfSwNCiAgJ0tIJzogew0KICAgICdBc2lhL1Bobm9tX1BlbmgnOiAnUGhub20gUGVuaCcNCiAgfSwNCiAgJ0NNJzogew0KICAgICdBZnJpY2EvRG91YWxhJzogJ0RvdWFsYScNCiAgfSwNCiAgJ0NBJzogew0KICAgICdBbWVyaWNhL0F0aWtva2FuJzogJ0F0aWtva2FuJywNCiAgICAnQW1lcmljYS9CbGFuYy1TYWJsb24nOiAnQmxhbmMtU2FibG9uJywNCiAgICAnQW1lcmljYS9DYW1icmlkZ2VfQmF5JzogJ0NhbWJyaWRnZSBCYXknLA0KICAgICdBbWVyaWNhL0NyZXN0b24nOiAnQ3Jlc3RvbicsDQogICAgJ0FtZXJpY2EvRGF3c29uJzogJ0Rhd3NvbicsDQogICAgJ0FtZXJpY2EvRGF3c29uX0NyZWVrJzogJ0Rhd3NvbiBDcmVlaycsDQogICAgJ0FtZXJpY2EvRWRtb250b24nOiAnRWRtb250b24nLA0KICAgICdBbWVyaWNhL0dsYWNlX0JheSc6ICdHbGFjZSBCYXknLA0KICAgICdBbWVyaWNhL0dvb3NlX0JheSc6ICdHb29zZSBCYXknLA0KICAgICdBbWVyaWNhL0hhbGlmYXgnOiAnSGFsaWZheCcsDQogICAgJ0FtZXJpY2EvSW51dmlrJzogJ0ludXZpaycsDQogICAgJ0FtZXJpY2EvSXFhbHVpdCc6ICdJcWFsdWl0JywNCiAgICAnQW1lcmljYS9Nb25jdG9uJzogJ01vbmN0b24nLA0KICAgICdBbWVyaWNhL01vbnRyZWFsJzogJ01vbnRyZWFsJywNCiAgICAnQW1lcmljYS9OaXBpZ29uJzogJ05pcGlnb24nLA0KICAgICdBbWVyaWNhL1BhbmduaXJ0dW5nJzogJ1BhbmduaXJ0dW5nJywNCiAgICAnQW1lcmljYS9SYWlueV9SaXZlcic6ICdSYWlueSBSaXZlcicsDQogICAgJ0FtZXJpY2EvUmFua2luX0lubGV0JzogJ1JhbmtpbiBJbmxldCcsDQogICAgJ0FtZXJpY2EvUmVnaW5hJzogJ1JlZ2luYScsDQogICAgJ0FtZXJpY2EvUmVzb2x1dGUnOiAnUmVzb2x1dGUnLA0KICAgICdBbWVyaWNhL1N0X0pvaG5zJzogJ1N0IEpvaG5zJywNCiAgICAnQW1lcmljYS9Td2lmdF9DdXJyZW50JzogJ1N3aWZ0IEN1cnJlbnQnLA0KICAgICdBbWVyaWNhL1RodW5kZXJfQmF5JzogJ1RodW5kZXIgQmF5JywNCiAgICAnQW1lcmljYS9Ub3JvbnRvJzogJ1Rvcm9udG8nLA0KICAgICdBbWVyaWNhL1ZhbmNvdXZlcic6ICdWYW5jb3V2ZXInLA0KICAgICdBbWVyaWNhL1doaXRlaG9yc2UnOiAnV2hpdGVob3JzZScsDQogICAgJ0FtZXJpY2EvV2lubmlwZWcnOiAnV2lubmlwZWcnLA0KICAgICdBbWVyaWNhL1llbGxvd2tuaWZlJzogJ1llbGxvd2tuaWZlJw0KICB9LA0KICAnQ1YnOiB7DQogICAgJ0F0bGFudGljL0NhcGVfVmVyZGUnOiAnQ2FwZSBWZXJkZScNCiAgfSwNCiAgJ0tZJzogew0KICAgICdBbWVyaWNhL0NheW1hbic6ICdDYXltYW4nDQogIH0sDQogICdDRic6IHsNCiAgICAnQWZyaWNhL0Jhbmd1aSc6ICdCYW5ndWknDQogIH0sDQogICdURCc6IHsNCiAgICAnQWZyaWNhL05kamFtZW5hJzogJ05kamFtZW5hJw0KICB9LA0KICAnQ0wnOiB7DQogICAgJ0FtZXJpY2EvU2FudGlhZ28nOiAnU2FudGlhZ28nLA0KICAgICdQYWNpZmljL0Vhc3Rlcic6ICdFYXN0ZXInDQogIH0sDQogICdDTic6IHsNCiAgICAnQXNpYS9DaG9uZ3FpbmcnOiAnQ2hvbmdxaW5nJywNCiAgICAnQXNpYS9IYXJiaW4nOiAnSGFyYmluJywNCiAgICAnQXNpYS9LYXNoZ2FyJzogJ0thc2hnYXInLA0KICAgICdBc2lhL1NoYW5naGFpJzogJ1NoYW5naGFpJywNCiAgICAnQXNpYS9VcnVtcWknOiAnVXJ1bXFpJw0KICB9LA0KICAnQ08nOiB7DQogICAgJ0FtZXJpY2EvQm9nb3RhJzogJ0JvZ290YScNCiAgfSwNCiAgJ0tNJzogew0KICAgICdJbmRpYW4vQ29tb3JvJzogJ0NvbW9ybycNCiAgfSwNCiAgJ0NHJzogew0KICAgICdBZnJpY2EvQnJhenphdmlsbGUnOiAnQnJhenphdmlsbGUnDQogIH0sDQogICdDUic6IHsNCiAgICAnQW1lcmljYS9Db3N0YV9SaWNhJzogJ0Nvc3RhIFJpY2EnDQogIH0sDQogICdIUic6IHsNCiAgICAnRXVyb3BlL1phZ3JlYic6ICdaYWdyZWInDQogIH0sDQogICdDVSc6IHsNCiAgICAnQW1lcmljYS9IYXZhbmEnOiAnSGF2YW5hJw0KICB9LA0KICAnQ1knOiB7DQogICAgJ0FzaWEvTmljb3NpYSc6ICdOaWNvc2lhJw0KICB9LA0KICAnQ1onOiB7DQogICAgJ0V1cm9wZS9QcmFndWUnOiAnUHJhZ3VlJw0KICB9LA0KICAnQ0QnOiB7DQogICAgJ0FmcmljYS9LaW5zaGFzYSc6ICdLaW5zaGFzYScsDQogICAgJ0FmcmljYS9MdWJ1bWJhc2hpJzogJ0x1YnVtYmFzaGknDQogIH0sDQogICdESyc6IHsNCiAgICAnRXVyb3BlL0NvcGVuaGFnZW4nOiAnQ29wZW5oYWdlbicNCiAgfSwNCiAgJ0RKJzogew0KICAgICdBZnJpY2EvRGppYm91dGknOiAnRGppYm91dGknDQogIH0sDQogICdETSc6IHsNCiAgICAnQW1lcmljYS9Eb21pbmljYSc6ICdEb21pbmljYScNCiAgfSwNCiAgJ0RPJzogew0KICAgICdBbWVyaWNhL1NhbnRvX0RvbWluZ28nOiAnU2FudG8gRG9taW5nbycNCiAgfSwNCiAgJ1RQJzogew0KICB9LA0KICAnRUMnOiB7DQogICAgJ0FtZXJpY2EvR3VheWFxdWlsJzogJ0d1YXlhcXVpbCcsDQogICAgJ1BhY2lmaWMvR2FsYXBhZ29zJzogJ0dhbGFwYWdvcycNCiAgfSwNCiAgJ0VHJzogew0KICAgICdBZnJpY2EvQ2Fpcm8nOiAnQ2Fpcm8nDQogIH0sDQogICdTVic6IHsNCiAgICAnQW1lcmljYS9FbF9TYWx2YWRvcic6ICdFbCBTYWx2YWRvcicNCiAgfSwNCiAgJ0dRJzogew0KICAgICdBZnJpY2EvTWFsYWJvJzogJ01hbGFibycNCiAgfSwNCiAgJ0VSJzogew0KICAgICdBZnJpY2EvQXNtYXJhJzogJ0FzbWFyYScNCiAgfSwNCiAgJ0VFJzogew0KICAgICdFdXJvcGUvVGFsbGlubic6ICdUYWxsaW5uJw0KICB9LA0KICAnRVQnOiB7DQogICAgJ0FmcmljYS9BZGRpc19BYmFiYSc6ICdBZGRpcyBBYmFiYScNCiAgfSwNCiAgJ0ZPJzogew0KICAgICdBdGxhbnRpYy9GYXJvZSc6ICdGYXJvZScNCiAgfSwNCiAgJ0ZLJzogew0KICAgICdBdGxhbnRpYy9TdGFubGV5JzogJ1N0YW5sZXknDQogIH0sDQogICdGSic6IHsNCiAgICAnUGFjaWZpYy9GaWppJzogJ0ZpamknDQogIH0sDQogICdGSSc6IHsNCiAgICAnRXVyb3BlL0hlbHNpbmtpJzogJ0hlbHNpbmtpJw0KICB9LA0KICAnTUsnOiB7DQogICAgJ0V1cm9wZS9Ta29wamUnOiAnU2tvcGplJw0KICB9LA0KICAnRlInOiB7DQogICAgJ0V1cm9wZS9QYXJpcyc6ICdQYXJpcycNCiAgfSwNCiAgJ0dBJzogew0KICAgICdBZnJpY2EvTGlicmV2aWxsZSc6ICdMaWJyZXZpbGxlJw0KICB9LA0KICAnR0UnOiB7DQogICAgJ0FzaWEvVGJpbGlzaSc6ICdUYmlsaXNpJw0KICB9LA0KICAnREUnOiB7DQogICAgJ0V1cm9wZS9CZXJsaW4nOiAnQmVybGluJw0KICB9LA0KICAnR0gnOiB7DQogICAgJ0FmcmljYS9BY2NyYSc6ICdBY2NyYScNCiAgfSwNCiAgJ0dSJzogew0KICAgICdFdXJvcGUvQXRoZW5zJzogJ0F0aGVucycNCiAgfSwNCiAgJ0dMJzogew0KICAgICdBbWVyaWNhL0Rhbm1hcmtzaGF2bic6ICdEYW5tYXJrc2hhdm4nLA0KICAgICdBbWVyaWNhL0dvZHRoYWInOiAnR29kdGhhYicsDQogICAgJ0FtZXJpY2EvU2NvcmVzYnlzdW5kJzogJ1Njb3Jlc2J5c3VuZCcsDQogICAgJ0FtZXJpY2EvVGh1bGUnOiAnVGh1bGUnDQogIH0sDQogICdHRCc6IHsNCiAgICAnQW1lcmljYS9HcmVuYWRhJzogJ0dyZW5hZGEnDQogIH0sDQogICdHVSc6IHsNCiAgICAnUGFjaWZpYy9HdWFtJzogJ0d1YW0nDQogIH0sDQogICdHVCc6IHsNCiAgICAnQW1lcmljYS9HdWF0ZW1hbGEnOiAnR3VhdGVtYWxhJw0KICB9LA0KICAnR04nOiB7DQogICAgJ0FmcmljYS9Db25ha3J5JzogJ0NvbmFrcnknDQogIH0sDQogICdHVyc6IHsNCiAgICAnQWZyaWNhL0Jpc3NhdSc6ICdCaXNzYXUnDQogIH0sDQogICdHWSc6IHsNCiAgICAnQW1lcmljYS9HdXlhbmEnOiAnR3V5YW5hJw0KICB9LA0KICAnSFQnOiB7DQogICAgJ0FtZXJpY2EvUG9ydC1hdS1QcmluY2UnOiAnUG9ydC1hdS1QcmluY2UnDQogIH0sDQogICdITic6IHsNCiAgICAnQW1lcmljYS9UZWd1Y2lnYWxwYSc6ICdUZWd1Y2lnYWxwYScNCiAgfSwNCiAgJ0hLJzogew0KICAgICdBc2lhL0hvbmdfS29uZyc6ICdIb25nIEtvbmcnDQogIH0sDQogICdIVSc6IHsNCiAgICAnRXVyb3BlL0J1ZGFwZXN0JzogJ0J1ZGFwZXN0Jw0KICB9LA0KICAnSVMnOiB7DQogICAgJ0F0bGFudGljL1JleWtqYXZpayc6ICdSZXlramF2aWsnDQogIH0sDQogICdJTic6IHsNCiAgICAnQXNpYS9Lb2xrYXRhJzogJ0tvbGthdGEnDQogIH0sDQogICdJRCc6IHsNCiAgICAnQXNpYS9KYWthcnRhJzogJ0pha2FydGEnLA0KICAgICdBc2lhL0pheWFwdXJhJzogJ0pheWFwdXJhJywNCiAgICAnQXNpYS9NYWthc3Nhcic6ICdNYWthc3NhcicsDQogICAgJ0FzaWEvUG9udGlhbmFrJzogJ1BvbnRpYW5haycNCiAgfSwNCiAgJ0lSJzogew0KICAgICdBc2lhL1RlaHJhbic6ICdUZWhyYW4nDQogIH0sDQogICdJUSc6IHsNCiAgICAnQXNpYS9CYWdoZGFkJzogJ0JhZ2hkYWQnDQogIH0sDQogICdJRSc6IHsNCiAgICAnRXVyb3BlL0R1Ymxpbic6ICdEdWJsaW4nDQogIH0sDQogICdJTCc6IHsNCiAgICAnQXNpYS9KZXJ1c2FsZW0nOiAnSmVydXNhbGVtJw0KICB9LA0KICAnSVQnOiB7DQogICAgJ0V1cm9wZS9Sb21lJzogJ1JvbWUnDQogIH0sDQogICdKTSc6IHsNCiAgICAnQW1lcmljYS9KYW1haWNhJzogJ0phbWFpY2EnDQogIH0sDQogICdKUCc6IHsNCiAgICAnQXNpYS9Ub2t5byc6ICdUb2t5bycNCiAgfSwNCiAgJ0pPJzogew0KICAgICdBc2lhL0FtbWFuJzogJ0FtbWFuJw0KICB9LA0KICAnS1onOiB7DQogICAgJ0FzaWEvQWxtYXR5JzogJ0FsbWF0eScsDQogICAgJ0FzaWEvQXF0YXUnOiAnQXF0YXUnLA0KICAgICdBc2lhL0FxdG9iZSc6ICdBcXRvYmUnLA0KICAgICdBc2lhL09yYWwnOiAnT3JhbCcsDQogICAgJ0FzaWEvUXl6eWxvcmRhJzogJ1F5enlsb3JkYScNCiAgfSwNCiAgJ0tFJzogew0KICAgICdBZnJpY2EvTmFpcm9iaSc6ICdOYWlyb2JpJw0KICB9LA0KICAnS0knOiB7DQogICAgJ1BhY2lmaWMvRW5kZXJidXJ5JzogJ0VuZGVyYnVyeScsDQogICAgJ1BhY2lmaWMvS2lyaXRpbWF0aSc6ICdLaXJpdGltYXRpJywNCiAgICAnUGFjaWZpYy9UYXJhd2EnOiAnVGFyYXdhJw0KICB9LA0KICAnS1cnOiB7DQogICAgJ0FzaWEvS3V3YWl0JzogJ0t1d2FpdCcNCiAgfSwNCiAgJ0tHJzogew0KICAgICdBc2lhL0Jpc2hrZWsnOiAnQmlzaGtlaycNCiAgfSwNCiAgJ0xBJzogew0KICAgICdBc2lhL1ZpZW50aWFuZSc6ICdWaWVudGlhbmUnDQogIH0sDQogICdMVic6IHsNCiAgICAnRXVyb3BlL1JpZ2EnOiAnUmlnYScNCiAgfSwNCiAgJ0xCJzogew0KICAgICdBc2lhL0JlaXJ1dCc6ICdCZWlydXQnDQogIH0sDQogICdMUyc6IHsNCiAgICAnQWZyaWNhL01hc2VydSc6ICdNYXNlcnUnDQogIH0sDQogICdMUic6IHsNCiAgICAnQWZyaWNhL01vbnJvdmlhJzogJ01vbnJvdmlhJw0KICB9LA0KICAnTFknOiB7DQogICAgJ0FmcmljYS9Ucmlwb2xpJzogJ1RyaXBvbGknDQogIH0sDQogICdMSSc6IHsNCiAgICAnRXVyb3BlL1ZhZHV6JzogJ1ZhZHV6Jw0KICB9LA0KICAnTFQnOiB7DQogICAgJ0V1cm9wZS9WaWxuaXVzJzogJ1ZpbG5pdXMnDQogIH0sDQogICdMVSc6IHsNCiAgICAnRXVyb3BlL0x1eGVtYm91cmcnOiAnTHV4ZW1ib3VyZycNCiAgfSwNCiAgJ01PJzogew0KICAgICdBc2lhL01hY2F1JzogJ01hY2F1Jw0KICB9LA0KICAnTUcnOiB7DQogICAgJ0luZGlhbi9BbnRhbmFuYXJpdm8nOiAnQW50YW5hbmFyaXZvJw0KICB9LA0KICAnTVcnOiB7DQogICAgJ0FmcmljYS9CbGFudHlyZSc6ICdCbGFudHlyZScNCiAgfSwNCiAgJ01ZJzogew0KICAgICdBc2lhL0t1YWxhX0x1bXB1cic6ICdLdWFsYSBMdW1wdXInLA0KICAgICdBc2lhL0t1Y2hpbmcnOiAnS3VjaGluZycNCiAgfSwNCiAgJ01WJzogew0KICAgICdJbmRpYW4vTWFsZGl2ZXMnOiAnTWFsZGl2ZXMnDQogIH0sDQogICdNTCc6IHsNCiAgICAnQWZyaWNhL0JhbWFrbyc6ICdCYW1ha28nDQogIH0sDQogICdNVCc6IHsNCiAgICAnRXVyb3BlL01hbHRhJzogJ01hbHRhJw0KICB9LA0KICAnTUgnOiB7DQogICAgJ1BhY2lmaWMvS3dhamFsZWluJzogJ0t3YWphbGVpbicsDQogICAgJ1BhY2lmaWMvTWFqdXJvJzogJ01hanVybycNCiAgfSwNCiAgJ01SJzogew0KICAgICdBZnJpY2EvTm91YWtjaG90dCc6ICdOb3Vha2Nob3R0Jw0KICB9LA0KICAnTVUnOiB7DQogICAgJ0luZGlhbi9NYXVyaXRpdXMnOiAnTWF1cml0aXVzJw0KICB9LA0KICAnTVgnOiB7DQogICAgJ0FtZXJpY2EvQmFoaWFfQmFuZGVyYXMnOiAnQmFoaWEgQmFuZGVyYXMnLA0KICAgICdBbWVyaWNhL0NhbmN1bic6ICdDYW5jdW4nLA0KICAgICdBbWVyaWNhL0NoaWh1YWh1YSc6ICdDaGlodWFodWEnLA0KICAgICdBbWVyaWNhL0hlcm1vc2lsbG8nOiAnSGVybW9zaWxsbycsDQogICAgJ0FtZXJpY2EvTWF0YW1vcm9zJzogJ01hdGFtb3JvcycsDQogICAgJ0FtZXJpY2EvTWF6YXRsYW4nOiAnTWF6YXRsYW4nLA0KICAgICdBbWVyaWNhL01lcmlkYSc6ICdNZXJpZGEnLA0KICAgICdBbWVyaWNhL01leGljb19DaXR5JzogJ01leGljbyBDaXR5JywNCiAgICAnQW1lcmljYS9Nb250ZXJyZXknOiAnTW9udGVycmV5JywNCiAgICAnQW1lcmljYS9PamluYWdhJzogJ09qaW5hZ2EnLA0KICAgICdBbWVyaWNhL1NhbnRhX0lzYWJlbCc6ICdTYW50YSBJc2FiZWwnLA0KICAgICdBbWVyaWNhL1RpanVhbmEnOiAnVGlqdWFuYScNCiAgfSwNCiAgJ0ZNJzogew0KICAgICdQYWNpZmljL0NodXVrJzogJ0NodXVrJywNCiAgICAnUGFjaWZpYy9Lb3NyYWUnOiAnS29zcmFlJywNCiAgICAnUGFjaWZpYy9Qb2hucGVpJzogJ1BvaG5wZWknDQogIH0sDQogICdNRCc6IHsNCiAgICAnRXVyb3BlL0NoaXNpbmF1JzogJ0NoaXNpbmF1Jw0KICB9LA0KICAnTUMnOiB7DQogICAgJ0V1cm9wZS9Nb25hY28nOiAnTW9uYWNvJw0KICB9LA0KICAnTU4nOiB7DQogICAgJ0FzaWEvQ2hvaWJhbHNhbic6ICdDaG9pYmFsc2FuJywNCiAgICAnQXNpYS9Ib3ZkJzogJ0hvdmQnLA0KICAgICdBc2lhL1VsYWFuYmFhdGFyJzogJ1VsYWFuYmFhdGFyJw0KICB9LA0KICAnTUUnOiB7DQogICAgJ0V1cm9wZS9Qb2Rnb3JpY2EnOiAnUG9kZ29yaWNhJw0KICB9LA0KICAnTVMnOiB7DQogICAgJ0FtZXJpY2EvTW9udHNlcnJhdCc6ICdNb250c2VycmF0Jw0KICB9LA0KICAnTUEnOiB7DQogICAgJ0FmcmljYS9DYXNhYmxhbmNhJzogJ0Nhc2FibGFuY2EnDQogIH0sDQogICdNWic6IHsNCiAgICAnQWZyaWNhL01hcHV0byc6ICdNYXB1dG8nDQogIH0sDQogICdNTSc6IHsNCiAgICAnQXNpYS9SYW5nb29uJzogJ1Jhbmdvb24nDQogIH0sDQogICdOQSc6IHsNCiAgICAnQWZyaWNhL1dpbmRob2VrJzogJ1dpbmRob2VrJw0KICB9LA0KICAnTlInOiB7DQogICAgJ1BhY2lmaWMvTmF1cnUnOiAnTmF1cnUnDQogIH0sDQogICdOUCc6IHsNCiAgICAnQXNpYS9LYXRobWFuZHUnOiAnS2F0aG1hbmR1Jw0KICB9LA0KICAnTkwnOiB7DQogICAgJ0V1cm9wZS9BbXN0ZXJkYW0nOiAnQW1zdGVyZGFtJw0KICB9LA0KICAnQU4nOiB7DQogIH0sDQogICdOWic6IHsNCiAgICAnUGFjaWZpYy9BdWNrbGFuZCc6ICdBdWNrbGFuZCcsDQogICAgJ1BhY2lmaWMvQ2hhdGhhbSc6ICdDaGF0aGFtJw0KICB9LA0KICAnTkknOiB7DQogICAgJ0FtZXJpY2EvTWFuYWd1YSc6ICdNYW5hZ3VhJw0KICB9LA0KICAnTkUnOiB7DQogICAgJ0FmcmljYS9OaWFtZXknOiAnTmlhbWV5Jw0KICB9LA0KICAnTkcnOiB7DQogICAgJ0FmcmljYS9MYWdvcyc6ICdMYWdvcycNCiAgfSwNCiAgJ05GJzogew0KICAgICdQYWNpZmljL05vcmZvbGsnOiAnTm9yZm9saycNCiAgfSwNCiAgJ0tQJzogew0KICAgICdBc2lhL1B5b25neWFuZyc6ICdQeW9uZ3lhbmcnDQogIH0sDQogICdNUCc6IHsNCiAgICAnUGFjaWZpYy9TYWlwYW4nOiAnU2FpcGFuJw0KICB9LA0KICAnTk8nOiB7DQogICAgJ0V1cm9wZS9Pc2xvJzogJ09zbG8nDQogIH0sDQogICdPTSc6IHsNCiAgICAnQXNpYS9NdXNjYXQnOiAnTXVzY2F0Jw0KICB9LA0KICAnUEsnOiB7DQogICAgJ0FzaWEvS2FyYWNoaSc6ICdLYXJhY2hpJw0KICB9LA0KICAnUFcnOiB7DQogICAgJ1BhY2lmaWMvUGFsYXUnOiAnUGFsYXUnDQogIH0sDQogICdQQSc6IHsNCiAgICAnQW1lcmljYS9QYW5hbWEnOiAnUGFuYW1hJw0KICB9LA0KICAnUEcnOiB7DQogICAgJ1BhY2lmaWMvUG9ydF9Nb3Jlc2J5JzogJ1BvcnQgTW9yZXNieScNCiAgfSwNCiAgJ1BZJzogew0KICAgICdBbWVyaWNhL0FzdW5jaW9uJzogJ0FzdW5jaW9uJw0KICB9LA0KICAnUEUnOiB7DQogICAgJ0FtZXJpY2EvTGltYSc6ICdMaW1hJw0KICB9LA0KICAnUEgnOiB7DQogICAgJ0FzaWEvTWFuaWxhJzogJ01hbmlsYScNCiAgfSwNCiAgJ1BOJzogew0KICAgICdQYWNpZmljL1BpdGNhaXJuJzogJ1BpdGNhaXJuJw0KICB9LA0KICAnUEwnOiB7DQogICAgJ0V1cm9wZS9XYXJzYXcnOiAnV2Fyc2F3Jw0KICB9LA0KICAnUFQnOiB7DQogICAgJ0F0bGFudGljL0F6b3Jlcyc6ICdBem9yZXMnLA0KICAgICdBdGxhbnRpYy9NYWRlaXJhJzogJ01hZGVpcmEnLA0KICAgICdFdXJvcGUvTGlzYm9uJzogJ0xpc2JvbicNCiAgfSwNCiAgJ1BSJzogew0KICAgICdBbWVyaWNhL1B1ZXJ0b19SaWNvJzogJ1B1ZXJ0byBSaWNvJw0KICB9LA0KICAnUUEnOiB7DQogICAgJ0FzaWEvUWF0YXInOiAnUWF0YXInDQogIH0sDQogICdSTyc6IHsNCiAgICAnRXVyb3BlL0J1Y2hhcmVzdCc6ICdCdWNoYXJlc3QnDQogIH0sDQogICdSVSc6IHsNCiAgICAnQXNpYS9BbmFkeXInOiAnQW5hZHlyJywNCiAgICAnQXNpYS9Jcmt1dHNrJzogJ0lya3V0c2snLA0KICAgICdBc2lhL0thbWNoYXRrYSc6ICdLYW1jaGF0a2EnLA0KICAgICdBc2lhL0tyYXNub3lhcnNrJzogJ0tyYXNub3lhcnNrJywNCiAgICAnQXNpYS9NYWdhZGFuJzogJ01hZ2FkYW4nLA0KICAgICdBc2lhL05vdm9rdXpuZXRzayc6ICdOb3Zva3V6bmV0c2snLA0KICAgICdBc2lhL05vdm9zaWJpcnNrJzogJ05vdm9zaWJpcnNrJywNCiAgICAnQXNpYS9PbXNrJzogJ09tc2snLA0KICAgICdBc2lhL1Nha2hhbGluJzogJ1Nha2hhbGluJywNCiAgICAnQXNpYS9WbGFkaXZvc3Rvayc6ICdWbGFkaXZvc3RvaycsDQogICAgJ0FzaWEvWWFrdXRzayc6ICdZYWt1dHNrJywNCiAgICAnQXNpYS9ZZWthdGVyaW5idXJnJzogJ1lla2F0ZXJpbmJ1cmcnLA0KICAgICdFdXJvcGUvS2FsaW5pbmdyYWQnOiAnS2FsaW5pbmdyYWQnLA0KICAgICdFdXJvcGUvTW9zY293JzogJ01vc2NvdycsDQogICAgJ0V1cm9wZS9TYW1hcmEnOiAnU2FtYXJhJywNCiAgICAnRXVyb3BlL1ZvbGdvZ3JhZCc6ICdWb2xnb2dyYWQnDQogIH0sDQogICdSVyc6IHsNCiAgICAnQWZyaWNhL0tpZ2FsaSc6ICdLaWdhbGknDQogIH0sDQogICdTVCc6IHsNCiAgICAnQWZyaWNhL1Nhb19Ub21lJzogJ1NhbyBUb21lJw0KICB9LA0KICAnU0gnOiB7DQogICAgJ0F0bGFudGljL1N0X0hlbGVuYSc6ICdTdCBIZWxlbmEnDQogIH0sDQogICdLTic6IHsNCiAgICAnQW1lcmljYS9TdF9LaXR0cyc6ICdTdCBLaXR0cycNCiAgfSwNCiAgJ0xDJzogew0KICAgICdBbWVyaWNhL1N0X0x1Y2lhJzogJ1N0IEx1Y2lhJw0KICB9LA0KICAnVkMnOiB7DQogICAgJ0FtZXJpY2EvU3RfVmluY2VudCc6ICdTdCBWaW5jZW50Jw0KICB9LA0KICAnV1MnOiB7DQogICAgJ1BhY2lmaWMvQXBpYSc6ICdBcGlhJw0KICB9LA0KICAnU00nOiB7DQogICAgJ0V1cm9wZS9TYW5fTWFyaW5vJzogJ1NhbiBNYXJpbm8nDQogIH0sDQogICdTQSc6IHsNCiAgICAnQXNpYS9SaXlhZGgnOiAnUml5YWRoJw0KICB9LA0KICAnU04nOiB7DQogICAgJ0FmcmljYS9EYWthcic6ICdEYWthcicNCiAgfSwNCiAgJ1JTJzogew0KICAgICdFdXJvcGUvQmVsZ3JhZGUnOiAnQmVsZ3JhZGUnDQogIH0sDQogICdTQyc6IHsNCiAgICAnSW5kaWFuL01haGUnOiAnTWFoZScNCiAgfSwNCiAgJ1NMJzogew0KICAgICdBZnJpY2EvRnJlZXRvd24nOiAnRnJlZXRvd24nDQogIH0sDQogICdTRyc6IHsNCiAgICAnQXNpYS9TaW5nYXBvcmUnOiAnU2luZ2Fwb3JlJw0KICB9LA0KICAnU0snOiB7DQogICAgJ0V1cm9wZS9CcmF0aXNsYXZhJzogJ0JyYXRpc2xhdmEnDQogIH0sDQogICdTSSc6IHsNCiAgICAnRXVyb3BlL0xqdWJsamFuYSc6ICdManVibGphbmEnDQogIH0sDQogICdTQic6IHsNCiAgICAnUGFjaWZpYy9HdWFkYWxjYW5hbCc6ICdHdWFkYWxjYW5hbCcNCiAgfSwNCiAgJ1NPJzogew0KICAgICdBZnJpY2EvTW9nYWRpc2h1JzogJ01vZ2FkaXNodScNCiAgfSwNCiAgJ1pBJzogew0KICAgICdBZnJpY2EvSm9oYW5uZXNidXJnJzogJ0pvaGFubmVzYnVyZycNCiAgfSwNCiAgJ0dTJzogew0KICAgICdBdGxhbnRpYy9Tb3V0aF9HZW9yZ2lhJzogJ1NvdXRoIEdlb3JnaWEnDQogIH0sDQogICdLUic6IHsNCiAgICAnQXNpYS9TZW91bCc6ICdTZW91bCcNCiAgfSwNCiAgJ0VTJzogew0KICAgICdBZnJpY2EvQ2V1dGEnOiAnQ2V1dGEnLA0KICAgICdBdGxhbnRpYy9DYW5hcnknOiAnQ2FuYXJ5JywNCiAgICAnRXVyb3BlL01hZHJpZCc6ICdNYWRyaWQnDQogIH0sDQogICdMSyc6IHsNCiAgICAnQXNpYS9Db2xvbWJvJzogJ0NvbG9tYm8nDQogIH0sDQogICdTRCc6IHsNCiAgICAnQWZyaWNhL0toYXJ0b3VtJzogJ0toYXJ0b3VtJw0KICB9LA0KICAnU1InOiB7DQogICAgJ0FtZXJpY2EvUGFyYW1hcmlibyc6ICdQYXJhbWFyaWJvJw0KICB9LA0KICAnU1onOiB7DQogICAgJ0FmcmljYS9NYmFiYW5lJzogJ01iYWJhbmUnDQogIH0sDQogICdTRSc6IHsNCiAgICAnRXVyb3BlL1N0b2NraG9sbSc6ICdTdG9ja2hvbG0nDQogIH0sDQogICdDSCc6IHsNCiAgICAnRXVyb3BlL1p1cmljaCc6ICdadXJpY2gnDQogIH0sDQogICdTWSc6IHsNCiAgICAnQXNpYS9EYW1hc2N1cyc6ICdEYW1hc2N1cycNCiAgfSwNCiAgJ1RXJzogew0KICAgICdBc2lhL1RhaXBlaSc6ICdUYWlwZWknDQogIH0sDQogICdUSic6IHsNCiAgICAnQXNpYS9EdXNoYW5iZSc6ICdEdXNoYW5iZScNCiAgfSwNCiAgJ1RaJzogew0KICAgICdBZnJpY2EvRGFyX2VzX1NhbGFhbSc6ICdEYXIgZXMgU2FsYWFtJw0KICB9LA0KICAnVEgnOiB7DQogICAgJ0FzaWEvQmFuZ2tvayc6ICdCYW5na29rJw0KICB9LA0KICAnQlMnOiB7DQogICAgJ0FtZXJpY2EvTmFzc2F1JzogJ05hc3NhdScNCiAgfSwNCiAgJ0dNJzogew0KICAgICdBZnJpY2EvQmFuanVsJzogJ0Jhbmp1bCcNCiAgfSwNCiAgJ1RHJzogew0KICAgICdBZnJpY2EvTG9tZSc6ICdMb21lJw0KICB9LA0KICAnVE8nOiB7DQogICAgJ1BhY2lmaWMvVG9uZ2F0YXB1JzogJ1RvbmdhdGFwdScNCiAgfSwNCiAgJ1RUJzogew0KICAgICdBbWVyaWNhL1BvcnRfb2ZfU3BhaW4nOiAnUG9ydCBvZiBTcGFpbicNCiAgfSwNCiAgJ1ROJzogew0KICAgICdBZnJpY2EvVHVuaXMnOiAnVHVuaXMnDQogIH0sDQogICdUUic6IHsNCiAgICAnRXVyb3BlL0lzdGFuYnVsJzogJ0lzdGFuYnVsJw0KICB9LA0KICAnVE0nOiB7DQogICAgJ0FzaWEvQXNoZ2FiYXQnOiAnQXNoZ2FiYXQnDQogIH0sDQogICdUQyc6IHsNCiAgICAnQW1lcmljYS9HcmFuZF9UdXJrJzogJ0dyYW5kIFR1cmsnDQogIH0sDQogICdUVic6IHsNCiAgICAnUGFjaWZpYy9GdW5hZnV0aSc6ICdGdW5hZnV0aScNCiAgfSwNCiAgJ1ZJJzogew0KICAgICdBbWVyaWNhL1N0X1Rob21hcyc6ICdTdCBUaG9tYXMnDQogIH0sDQogICdVRyc6IHsNCiAgICAnQWZyaWNhL0thbXBhbGEnOiAnS2FtcGFsYScNCiAgfSwNCiAgJ1VBJzogew0KICAgICdFdXJvcGUvS2lldic6ICdLaWV2JywNCiAgICAnRXVyb3BlL1NpbWZlcm9wb2wnOiAnU2ltZmVyb3BvbCcsDQogICAgJ0V1cm9wZS9Vemhnb3JvZCc6ICdVemhnb3JvZCcsDQogICAgJ0V1cm9wZS9aYXBvcm96aHllJzogJ1phcG9yb3poeWUnDQogIH0sDQogICdBRSc6IHsNCiAgICAnQXNpYS9EdWJhaSc6ICdEdWJhaScNCiAgfSwNCiAgJ0dCJzogew0KICAgICdFdXJvcGUvTG9uZG9uJzogJ0xvbmRvbicNCiAgfSwNCiAgJ1VTJzogew0KICAgICdBbWVyaWNhL0FkYWsnOiAnQWRhaycsDQogICAgJ0FtZXJpY2EvQW5jaG9yYWdlJzogJ0FuY2hvcmFnZScsDQogICAgJ0FtZXJpY2EvQm9pc2UnOiAnQm9pc2UnLA0KICAgICdBbWVyaWNhL0NoaWNhZ28nOiAnQ2hpY2FnbycsDQogICAgJ0FtZXJpY2EvRGVudmVyJzogJ0RlbnZlcicsDQogICAgJ0FtZXJpY2EvRGV0cm9pdCc6ICdEZXRyb2l0JywNCiAgICAnQW1lcmljYS9JbmRpYW5hL0luZGlhbmFwb2xpcyc6ICdJbmRpYW5hIC8gSW5kaWFuYXBvbGlzJywNCiAgICAnQW1lcmljYS9JbmRpYW5hL0tub3gnOiAnSW5kaWFuYSAvIEtub3gnLA0KICAgICdBbWVyaWNhL0luZGlhbmEvTWFyZW5nbyc6ICdJbmRpYW5hIC8gTWFyZW5nbycsDQogICAgJ0FtZXJpY2EvSW5kaWFuYS9QZXRlcnNidXJnJzogJ0luZGlhbmEgLyBQZXRlcnNidXJnJywNCiAgICAnQW1lcmljYS9JbmRpYW5hL1RlbGxfQ2l0eSc6ICdJbmRpYW5hIC8gVGVsbCBDaXR5JywNCiAgICAnQW1lcmljYS9JbmRpYW5hL1ZldmF5JzogJ0luZGlhbmEgLyBWZXZheScsDQogICAgJ0FtZXJpY2EvSW5kaWFuYS9WaW5jZW5uZXMnOiAnSW5kaWFuYSAvIFZpbmNlbm5lcycsDQogICAgJ0FtZXJpY2EvSW5kaWFuYS9XaW5hbWFjJzogJ0luZGlhbmEgLyBXaW5hbWFjJywNCiAgICAnQW1lcmljYS9KdW5lYXUnOiAnSnVuZWF1JywNCiAgICAnQW1lcmljYS9LZW50dWNreS9Mb3Vpc3ZpbGxlJzogJ0tlbnR1Y2t5IC8gTG91aXN2aWxsZScsDQogICAgJ0FtZXJpY2EvS2VudHVja3kvTW9udGljZWxsbyc6ICdLZW50dWNreSAvIE1vbnRpY2VsbG8nLA0KICAgICdBbWVyaWNhL0xvc19BbmdlbGVzJzogJ0xvcyBBbmdlbGVzJywNCiAgICAnQW1lcmljYS9NZW5vbWluZWUnOiAnTWVub21pbmVlJywNCiAgICAnQW1lcmljYS9NZXRsYWthdGxhJzogJ01ldGxha2F0bGEnLA0KICAgICdBbWVyaWNhL05ld19Zb3JrJzogJ05ldyBZb3JrJywNCiAgICAnQW1lcmljYS9Ob21lJzogJ05vbWUnLA0KICAgICdBbWVyaWNhL05vcnRoX0Rha290YS9CZXVsYWgnOiAnTm9ydGggRGFrb3RhIC8gQmV1bGFoJywNCiAgICAnQW1lcmljYS9Ob3J0aF9EYWtvdGEvQ2VudGVyJzogJ05vcnRoIERha290YSAvIENlbnRlcicsDQogICAgJ0FtZXJpY2EvTm9ydGhfRGFrb3RhL05ld19TYWxlbSc6ICdOb3J0aCBEYWtvdGEgLyBOZXcgU2FsZW0nLA0KICAgICdBbWVyaWNhL1Bob2VuaXgnOiAnUGhvZW5peCcsDQogICAgJ0FtZXJpY2EvU2hpcHJvY2snOiAnU2hpcHJvY2snLA0KICAgICdBbWVyaWNhL1NpdGthJzogJ1NpdGthJywNCiAgICAnQW1lcmljYS9ZYWt1dGF0JzogJ1lha3V0YXQnLA0KICAgICdQYWNpZmljL0hvbm9sdWx1JzogJ0hvbm9sdWx1Jw0KICB9LA0KICAnVVknOiB7DQogICAgJ0FtZXJpY2EvTW9udGV2aWRlbyc6ICdNb250ZXZpZGVvJw0KICB9LA0KICAnVVonOiB7DQogICAgJ0FzaWEvU2FtYXJrYW5kJzogJ1NhbWFya2FuZCcsDQogICAgJ0FzaWEvVGFzaGtlbnQnOiAnVGFzaGtlbnQnDQogIH0sDQogICdWVSc6IHsNCiAgICAnUGFjaWZpYy9FZmF0ZSc6ICdFZmF0ZScNCiAgfSwNCiAgJ1ZBJzogew0KICAgICdFdXJvcGUvVmF0aWNhbic6ICdWYXRpY2FuJw0KICB9LA0KICAnVkUnOiB7DQogICAgJ0FtZXJpY2EvQ2FyYWNhcyc6ICdDYXJhY2FzJw0KICB9LA0KICAnVk4nOiB7DQogICAgJ0FzaWEvSG9fQ2hpX01pbmgnOiAnSG8gQ2hpIE1pbmgnDQogIH0sDQogICdFSCc6IHsNCiAgICAnQWZyaWNhL0VsX0FhaXVuJzogJ0VsIEFhaXVuJw0KICB9LA0KICAnWUUnOiB7DQogICAgJ0FzaWEvQWRlbic6ICdBZGVuJw0KICB9LA0KICAnWk0nOiB7DQogICAgJ0FmcmljYS9MdXNha2EnOiAnTHVzYWthJw0KICB9LA0KICAnWlcnOiB7DQogICAgJ0FmcmljYS9IYXJhcmUnOiAnSGFyYXJlJw0KICB9DQp9Ow0KDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBib290c3RyYXAtZm9ybWhlbHBlcnMtY29sb3JwaWNrZXIuanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTIgVmluY2VudCBMYW1hbm5hDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCiANCiANCitmdW5jdGlvbiAoJCkgew0KDQogICd1c2Ugc3RyaWN0JzsNCiAgDQogIA0KICAvKiBDT0xPUlBJQ0tFUiBDTEFTUyBERUZJTklUSU9ODQogICogPT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciB0b2dnbGUgPSAnW2RhdGEtdG9nZ2xlPWJmaC1jb2xvcnBpY2tlcl0nLA0KICAgICAgQkZIQ29sb3JQaWNrZXIgPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgew0KICAgICAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgJC5mbi5iZmhjb2xvcnBpY2tlci5kZWZhdWx0cywgb3B0aW9ucyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgICAgIHRoaXMuaW5pdFBvcG92ZXIoKTsNCiAgICAgIH07DQoNCiAgQkZIQ29sb3JQaWNrZXIucHJvdG90eXBlID0gew0KDQogICAgY29uc3RydWN0b3I6IEJGSENvbG9yUGlja2VyLA0KDQogICAgaW5pdFBhbGV0dGU6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyICRjYW52YXMsDQogICAgICAgICAgY29udGV4dCwNCiAgICAgICAgICBncmFkaWVudDsNCiAgICAgICAgICANCiAgICAgICRjYW52YXMgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ2NhbnZhcycpOw0KICAgICAgY29udGV4dCA9ICRjYW52YXNbMF0uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgIA0KICAgICAgZ3JhZGllbnQgPSBjb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsICRjYW52YXMud2lkdGgoKSwgMCk7DQogICAgICANCiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCAgICAncmdiKDI1NSwgMjU1LCAyNTUpJyk7DQogICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMC4xLCAgJ3JnYigyNTUsICAgMCwgICAwKScpOw0KICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAuMjUsICdyZ2IoMjU1LCAgIDAsIDI1NSknKTsNCiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLjQsICAncmdiKDAsICAgICAwLCAyNTUpJyk7DQogICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMC41NSwgJ3JnYigwLCAgIDI1NSwgMjU1KScpOw0KICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAuNywgICdyZ2IoMCwgICAyNTUsICAgMCknKTsNCiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLjg1LCAncmdiKDI1NSwgMjU1LCAgIDApJyk7DQogICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMSwgICAgJ3JnYigyNTUsICAgMCwgICAwKScpOw0KICAgICAgDQogICAgICBjb250ZXh0LmZpbGxTdHlsZSA9IGdyYWRpZW50Ow0KICAgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCBjb250ZXh0LmNhbnZhcy53aWR0aCwgY29udGV4dC5jYW52YXMuaGVpZ2h0KTsNCiAgICAgIA0KICAgICAgZ3JhZGllbnQgPSBjb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsICRjYW52YXMuaGVpZ2h0KCkpOw0KICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsICAgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMSknKTsNCiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLjUsICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDApJyk7DQogICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMC41LCAncmdiYSgwLCAgICAgMCwgICAwLCAwKScpOw0KICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsICAgJ3JnYmEoMCwgICAgIDAsICAgMCwgMSknKTsNCiAgICAgIA0KICAgICAgY29udGV4dC5maWxsU3R5bGUgPSBncmFkaWVudDsNCiAgICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgY29udGV4dC5jYW52YXMud2lkdGgsIGNvbnRleHQuY2FudmFzLmhlaWdodCk7DQogICAgfSwNCiAgICANCiAgICBpbml0UG9wb3ZlcjogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgaWNvbkxlZnQsDQogICAgICAgICAgaWNvblJpZ2h0Ow0KDQogICAgICBpY29uTGVmdCA9ICcnOw0KICAgICAgaWNvblJpZ2h0ID0gJyc7DQogICAgICBpZiAodGhpcy5vcHRpb25zLmFsaWduID09PSAncmlnaHQnKSB7DQogICAgICAgIGljb25SaWdodCA9ICc8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtYWRkb24iPjxzcGFuIGNsYXNzPSJiZmgtY29sb3JwaWNrZXItaWNvbiI-PC9zcGFuPjwvc3Bhbj4nOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgaWNvbkxlZnQgPSAnPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWFkZG9uIj48c3BhbiBjbGFzcz0iYmZoLWNvbG9ycGlja2VyLWljb24iPjwvc3Bhbj48L3NwYW4-JzsNCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC5odG1sKA0KICAgICAgICAnPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAgYmZoLWNvbG9ycGlja2VyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImJmaC1jb2xvcnBpY2tlciI-JyArDQogICAgICAgIGljb25MZWZ0ICsNCiAgICAgICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSInICsgdGhpcy5vcHRpb25zLm5hbWUgKyAnIiBjbGFzcz0iJyArIHRoaXMub3B0aW9ucy5pbnB1dCArICciIHBsYWNlaG9sZGVyPSInICsgdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyICsgJyIgcmVhZG9ubHk-JyArDQogICAgICAgIGljb25SaWdodCArDQogICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgJzxkaXYgY2xhc3M9ImJmaC1jb2xvcnBpY2tlci1wb3BvdmVyIj4nICsNCiAgICAgICAgJzxjYW52YXMgY2xhc3M9ImJmaC1jb2xvcnBpY2tlci1wYWxldHRlIiB3aWR0aD0iMzg0IiBoZWlnaHQ9IjI1NiI-PC9jYW52YXM-JyArDQogICAgICAgICc8L2Rpdj4nDQogICAgICApOw0KDQogICAgICB0aGlzLiRlbGVtZW50DQogICAgICAgIC5vbignY2xpY2suYmZoY29sb3JwaWNrZXIuZGF0YS1hcGkgdG91Y2hzdGFydC5iZmhjb2xvcnBpY2tlci5kYXRhLWFwaScsIHRvZ2dsZSwgQkZIQ29sb3JQaWNrZXIucHJvdG90eXBlLnRvZ2dsZSkNCiAgICAgICAgLm9uKCdtb3VzZWRvd24uYmZoY29sb3JwaWNrZXIuZGF0YS1hcGknLCAnY2FudmFzJywgQkZIQ29sb3JQaWNrZXIucHJvdG90eXBlLm1vdXNlRG93bikNCiAgICAgICAgLm9uKCdjbGljay5iZmhjb2xvcnBpY2tlci5kYXRhLWFwaSB0b3VjaHN0YXJ0LmJmaGNvbG9ycGlja2VyLmRhdGEtYXBpJywgJy5iZmgtY29sb3JwaWNrZXItcG9wb3ZlcicsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOw0KDQogICAgICB0aGlzLmluaXRQYWxldHRlKCk7DQogICAgICANCiAgICAgIHRoaXMuJGVsZW1lbnQudmFsKHRoaXMub3B0aW9ucy5jb2xvcik7DQogICAgfSwNCiAgICANCiAgICB1cGRhdGVWYWw6IGZ1bmN0aW9uKHBvc2l0aW9uWCwgcG9zaXRpb25ZKSB7DQogICAgICB2YXIgJGNhbnZhcywNCiAgICAgICAgICBjb250ZXh0LA0KICAgICAgICAgIGNvbG9yWCwNCiAgICAgICAgICBjb2xvclksDQogICAgICAgICAgc25hcHBpbmVzcywNCiAgICAgICAgICBpbWFnZURhdGEsDQogICAgICAgICAgbmV3Q29sb3I7DQogICAgICANCiAgICAgIHNuYXBwaW5lc3MgPSA1Ow0KICAgICAgDQogICAgICAkY2FudmFzID0gdGhpcy4kZWxlbWVudC5maW5kKCdjYW52YXMnKTsNCiAgICAgIGNvbnRleHQgPSAkY2FudmFzWzBdLmdldENvbnRleHQoJzJkJyk7DQogICAgICANCiAgICAgIGNvbG9yWCA9IHBvc2l0aW9uWCAtICRjYW52YXMub2Zmc2V0KCkubGVmdDsNCiAgICAgIGNvbG9yWSA9IHBvc2l0aW9uWSAtICRjYW52YXMub2Zmc2V0KCkudG9wOw0KICAgICAgDQogICAgICBjb2xvclggPSBNYXRoLnJvdW5kKGNvbG9yWCAvIHNuYXBwaW5lc3MpICogc25hcHBpbmVzczsNCiAgICAgIGNvbG9yWSA9IE1hdGgucm91bmQoY29sb3JZIC8gc25hcHBpbmVzcykgKiBzbmFwcGluZXNzOw0KICAgICAgDQogICAgICBpZiAoY29sb3JYIDwgMCkgew0KICAgICAgICBjb2xvclggPSAwOw0KICAgICAgfQ0KICAgICAgaWYgKGNvbG9yWCA-PSAkY2FudmFzLndpZHRoKCkpIHsNCiAgICAgICAgY29sb3JYID0gJGNhbnZhcy53aWR0aCgpIC0gMTsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgaWYgKGNvbG9yWSA8IDApIHsNCiAgICAgICAgY29sb3JZID0gMDsNCiAgICAgIH0NCiAgICAgIGlmIChjb2xvclkgPiAkY2FudmFzLmhlaWdodCgpKSB7DQogICAgICAgIGNvbG9yWSA9ICRjYW52YXMuaGVpZ2h0KCk7DQogICAgICB9DQogICAgICANCiAgICAgIGltYWdlRGF0YSA9IGNvbnRleHQuZ2V0SW1hZ2VEYXRhKGNvbG9yWCwgY29sb3JZLCAxLCAxKTsNCiAgICAgIG5ld0NvbG9yID0gcmdiVG9IZXgoaW1hZ2VEYXRhLmRhdGFbMF0sIGltYWdlRGF0YS5kYXRhWzFdLCBpbWFnZURhdGEuZGF0YVsyXSk7DQogICAgICANCiAgICAgIGlmIChuZXdDb2xvciAhPT0gdGhpcy4kZWxlbWVudC52YWwoKSkgew0KICAgICAgICB0aGlzLiRlbGVtZW50LnZhbChuZXdDb2xvcik7DQogICAgICAgIA0KICAgICAgICB0aGlzLiRlbGVtZW50LnRyaWdnZXIoJ2NoYW5nZS5iZmhjb2xvcnBpY2tlcicpOw0KICAgICAgfQ0KICAgIH0sDQogICAgDQogICAgbW91c2VEb3duOiBmdW5jdGlvbihlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBhcmVudDsNCiAgICAgIA0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQogICAgICANCiAgICAgICQoZG9jdW1lbnQpDQogICAgICAgIC5vbignbW91c2Vtb3ZlLmJmaGNvbG9ycGlja2VyLmRhdGEtYXBpJywge2NvbG9ycGlja2VyOiAkcGFyZW50fSwgQkZIQ29sb3JQaWNrZXIucHJvdG90eXBlLm1vdXNlTW92ZSkNCiAgICAgICAgLm9uZSgnbW91c2V1cC5iZmhjb2xvcnBpY2tlci5kYXRhLWFwaScsIHtjb2xvcnBpY2tlcjogJHBhcmVudH0sIEJGSENvbG9yUGlja2VyLnByb3RvdHlwZS5tb3VzZVVwKTsNCiAgICB9LA0KICAgIA0KICAgIG1vdXNlTW92ZTogZnVuY3Rpb24oZSkgew0KICAgICAgdmFyICR0aGlzOw0KICAgICAgDQogICAgICAkdGhpcyA9IGUuZGF0YS5jb2xvcnBpY2tlcjsNCiAgICAgIA0KICAgICAgJHRoaXMuZGF0YSgnYmZoY29sb3JwaWNrZXInKS51cGRhdGVWYWwoZS5wYWdlWCwgZS5wYWdlWSk7DQogICAgfSwNCiAgICANCiAgICBtb3VzZVVwOiBmdW5jdGlvbihlKSB7DQogICAgICB2YXIgJHRoaXM7DQogICAgICANCiAgICAgICR0aGlzID0gZS5kYXRhLmNvbG9ycGlja2VyOw0KICAgICAgDQogICAgICAkdGhpcy5kYXRhKCdiZmhjb2xvcnBpY2tlcicpLnVwZGF0ZVZhbChlLnBhZ2VYLCBlLnBhZ2VZKTsNCiAgICAgIA0KICAgICAgJChkb2N1bWVudCkub2ZmKCdtb3VzZW1vdmUuYmZoY29sb3JwaWNrZXIuZGF0YS1hcGknKTsNCiAgICAgIA0KICAgICAgaWYgKCR0aGlzLmRhdGEoJ2JmaGNvbG9ycGlja2VyJykub3B0aW9ucy5jbG9zZSA9PT0gdHJ1ZSkgew0KICAgICAgICBjbGVhck1lbnVzKCk7DQogICAgICB9DQogICAgfSwNCg0KICAgIHRvZ2dsZTogZnVuY3Rpb24gKGUpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICAkcGFyZW50LA0KICAgICAgICAgIGlzQWN0aXZlOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICAkcGFyZW50ID0gZ2V0UGFyZW50KCR0aGlzKTsNCg0KICAgICAgaWYgKCRwYXJlbnQuaXMoJy5kaXNhYmxlZCcpIHx8ICRwYXJlbnQuYXR0cignZGlzYWJsZWQnKSAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KDQogICAgICBpc0FjdGl2ZSA9ICRwYXJlbnQuaGFzQ2xhc3MoJ29wZW4nKTsNCg0KICAgICAgY2xlYXJNZW51cygpOw0KDQogICAgICBpZiAoIWlzQWN0aXZlKSB7DQogICAgICAgICRwYXJlbnQudHJpZ2dlcihlID0gJC5FdmVudCgnc2hvdy5iZmhjb2xvcnBpY2tlcicpKTsNCg0KICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgew0KICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgJHBhcmVudA0KICAgICAgICAgIC50b2dnbGVDbGFzcygnb3BlbicpDQogICAgICAgICAgLnRyaWdnZXIoJ3Nob3duLmJmaGNvbG9ycGlja2VyJyk7DQoNCiAgICAgICAgJHRoaXMuZm9jdXMoKTsNCiAgICAgIH0NCg0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgfTsNCiAgDQogIGZ1bmN0aW9uIGNvbXBvbmVudFRvSGV4KGMpIHsNCiAgICB2YXIgaGV4ID0gYy50b1N0cmluZygxNik7DQogICAgcmV0dXJuIGhleC5sZW5ndGggPT09IDEgPyAnMCcgKyBoZXggOiBoZXg7DQogIH0NCg0KICBmdW5jdGlvbiByZ2JUb0hleChyLCBnLCBiKSB7DQogICAgcmV0dXJuICcjJyArIGNvbXBvbmVudFRvSGV4KHIpICsgY29tcG9uZW50VG9IZXgoZykgKyBjb21wb25lbnRUb0hleChiKTsNCiAgfQ0KICAgICAgDQogIGZ1bmN0aW9uIGNsZWFyTWVudXMoKSB7DQogICAgdmFyICRwYXJlbnQ7DQoNCiAgICAkKHRvZ2dsZSkuZWFjaChmdW5jdGlvbiAoZSkgew0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkKHRoaXMpKTsNCg0KICAgICAgaWYgKCEkcGFyZW50Lmhhc0NsYXNzKCdvcGVuJykpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICAgICRwYXJlbnQudHJpZ2dlcihlID0gJC5FdmVudCgnaGlkZS5iZmhjb2xvcnBpY2tlcicpKTsNCg0KICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICAgICRwYXJlbnQNCiAgICAgICAgLnJlbW92ZUNsYXNzKCdvcGVuJykNCiAgICAgICAgLnRyaWdnZXIoJ2hpZGRlbi5iZmhjb2xvcnBpY2tlcicpOw0KICAgIH0pOw0KICB9DQoNCiAgZnVuY3Rpb24gZ2V0UGFyZW50KCR0aGlzKSB7DQogICAgcmV0dXJuICR0aGlzLmNsb3Nlc3QoJy5iZmgtY29sb3JwaWNrZXInKTsNCiAgfQ0KICANCiAgDQogIC8qIENPTE9SUElDS0VSIFBMVUdJTiBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIG9sZCA9ICQuZm4uYmZoY29sb3JwaWNrZXI7DQoNCiAgJC5mbi5iZmhjb2xvcnBpY2tlciA9IGZ1bmN0aW9uIChvcHRpb24pIHsNCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICBkYXRhLA0KICAgICAgICAgIG9wdGlvbnM7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCiAgICAgIGRhdGEgPSAkdGhpcy5kYXRhKCdiZmhjb2xvcnBpY2tlcicpOw0KICAgICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsNCiAgICAgIHRoaXMudHlwZSA9ICdiZmhjb2xvcnBpY2tlcic7DQoNCiAgICAgIGlmICghZGF0YSkgew0KICAgICAgICAkdGhpcy5kYXRhKCdiZmhjb2xvcnBpY2tlcicsIChkYXRhID0gbmV3IEJGSENvbG9yUGlja2VyKHRoaXMsIG9wdGlvbnMpKSk7DQogICAgICB9DQogICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgZGF0YVtvcHRpb25dLmNhbGwoJHRoaXMpOw0KICAgICAgfQ0KICAgIH0pOw0KICB9Ow0KDQogICQuZm4uYmZoY29sb3JwaWNrZXIuQ29uc3RydWN0b3IgPSBCRkhDb2xvclBpY2tlcjsNCg0KICAkLmZuLmJmaGNvbG9ycGlja2VyLmRlZmF1bHRzID0gew0KICAgIGFsaWduOiAnbGVmdCcsDQogICAgaW5wdXQ6ICdmb3JtLWNvbnRyb2wnLA0KICAgIHBsYWNlaG9sZGVyOiAnJywNCiAgICBuYW1lOiAnJywNCiAgICBjb2xvcjogJyMwMDAwMDAnLA0KICAgIGNsb3NlOiB0cnVlDQogIH07DQogIA0KICANCiAgLyogQ09MT1JQSUNLRVIgTk8gQ09ORkxJQ1QNCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICAkLmZuLmJmaGNvbG9ycGlja2VyLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhjb2xvcnBpY2tlciA9IG9sZDsNCiAgICByZXR1cm4gdGhpczsNCiAgfTsNCiAgDQogIA0KICAvKiBDT0xPUlBJQ0tFUiBWQUxIT09LUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBvcmlnSG9vazsNCiAgaWYgKCQudmFsSG9va3MuZGl2KXsNCiAgICBvcmlnSG9vayA9ICQudmFsSG9va3MuZGl2Ow0KICB9DQogICQudmFsSG9va3MuZGl2ID0gew0KICAgIGdldDogZnVuY3Rpb24oZWwpIHsNCiAgICAgIGlmICgkKGVsKS5oYXNDbGFzcygnYmZoLWNvbG9ycGlja2VyJykpIHsNCiAgICAgICAgcmV0dXJuICQoZWwpLmZpbmQoJ2lucHV0W3R5cGU9InRleHQiXScpLnZhbCgpOw0KICAgICAgfSBlbHNlIGlmIChvcmlnSG9vaykgew0KICAgICAgICByZXR1cm4gb3JpZ0hvb2suZ2V0KGVsKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIHNldDogZnVuY3Rpb24oZWwsIHZhbCkgew0KICAgICAgaWYgKCQoZWwpLmhhc0NsYXNzKCdiZmgtY29sb3JwaWNrZXInKSkgew0KICAgICAgICAkKGVsKS5maW5kKCcuYmZoLWNvbG9ycGlja2VyLWljb24nKS5jc3MoJ2JhY2tncm91bmQtY29sb3InLCB2YWwpOw0KICAgICAgICAkKGVsKS5maW5kKCdpbnB1dFt0eXBlPSJ0ZXh0Il0nKS52YWwodmFsKTsNCiAgICAgIH0gZWxzZSBpZiAob3JpZ0hvb2spIHsNCiAgICAgICAgcmV0dXJuIG9yaWdIb29rLnNldChlbCx2YWwpOw0KICAgICAgfQ0KICAgIH0NCiAgfTsNCiAgDQogIA0KICAvKiBDT0xPUlBJQ0tFUiBEQVRBLUFQSQ0KICAgKiA9PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpLnJlYWR5KCBmdW5jdGlvbiAoKSB7DQogICAgJCgnZGl2LmJmaC1jb2xvcnBpY2tlcicpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICRjb2xvcnBpY2tlcjsNCg0KICAgICAgJGNvbG9ycGlja2VyID0gJCh0aGlzKTsNCg0KICAgICAgJGNvbG9ycGlja2VyLmJmaGNvbG9ycGlja2VyKCRjb2xvcnBpY2tlci5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCiAgDQogIA0KICAvKiBBUFBMWSBUTyBTVEFOREFSRCBDT0xPUlBJQ0tFUiBFTEVNRU5UUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpDQogICAgLm9uKCdjbGljay5iZmhjb2xvcnBpY2tlci5kYXRhLWFwaScsIGNsZWFyTWVudXMpOw0KDQp9KHdpbmRvdy5qUXVlcnkpOw0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLWNvdW50cmllcy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQorZnVuY3Rpb24gKCQpIHsNCg0KICAndXNlIHN0cmljdCc7DQoNCg0KICAvKiBDT1VOVFJJRVMgQ0xBU1MgREVGSU5JVElPTg0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIEJGSENvdW50cmllcyA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7DQogICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sICQuZm4uYmZoY291bnRyaWVzLmRlZmF1bHRzLCBvcHRpb25zKTsNCiAgICB0aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsNCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdzZWxlY3QnKSkgew0KICAgICAgdGhpcy5hZGRDb3VudHJpZXMoKTsNCiAgICB9DQoNCiAgICBpZiAodGhpcy4kZWxlbWVudC5oYXNDbGFzcygnYmZoLXNlbGVjdGJveCcpKSB7DQogICAgICB0aGlzLmFkZEJvb3RzdHJhcENvdW50cmllcygpOw0KICAgIH0NCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdzcGFuJykpIHsNCiAgICAgIHRoaXMuZGlzcGxheUNvdW50cnkoKTsNCiAgICB9DQogIH07DQoNCiAgQkZIQ291bnRyaWVzLnByb3RvdHlwZSA9IHsNCg0KICAgIGNvbnN0cnVjdG9yOiBCRkhDb3VudHJpZXMsDQoNCiAgICBnZXRDb3VudHJpZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIGNvdW50cnksDQogICAgICAgICAgY291bnRyaWVzOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmF2YWlsYWJsZSkgew0KICAgICAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgPT09ICdzdHJpbmcnKSB7DQogICAgICAgICAgY291bnRyaWVzID0gW107DQogIA0KICAgICAgICAgIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgPSB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlLnNwbGl0KCcsJyk7DQogIA0KICAgICAgICAgIGZvciAoY291bnRyeSBpbiBCRkhDb3VudHJpZXNMaXN0KSB7DQogICAgICAgICAgICBpZiAoQkZIQ291bnRyaWVzTGlzdC5oYXNPd25Qcm9wZXJ0eShjb3VudHJ5KSkgew0KICAgICAgICAgICAgICBpZiAoJC5pbkFycmF5KGNvdW50cnksIHRoaXMub3B0aW9ucy5hdmFpbGFibGUpID49IDApIHsNCiAgICAgICAgICAgICAgICBjb3VudHJpZXNbY291bnRyeV0gPSBCRkhDb3VudHJpZXNMaXN0W2NvdW50cnldOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGNvdW50cmllcyA9IHRoaXMub3B0aW9ucy5hdmFpbGFibGU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gY291bnRyaWVzOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgcmV0dXJuIEJGSENvdW50cmllc0xpc3Q7DQogICAgICB9DQogICAgfSwNCg0KICAgIGFkZENvdW50cmllczogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIHZhbHVlLA0KICAgICAgICAgIGNvdW50cnksDQogICAgICAgICAgY291bnRyaWVzOw0KDQogICAgICB2YWx1ZSA9IHRoaXMub3B0aW9ucy5jb3VudHJ5Ow0KICAgICAgY291bnRyaWVzID0gdGhpcy5nZXRDb3VudHJpZXMoKTsNCg0KICAgICAgdGhpcy4kZWxlbWVudC5odG1sKCcnKTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibGFuayA9PT0gdHJ1ZSkgew0KICAgICAgICB0aGlzLiRlbGVtZW50LmFwcGVuZCgnPG9wdGlvbiB2YWx1ZT0iIj48L29wdGlvbj4nKTsNCiAgICAgIH0NCg0KICAgICAgZm9yIChjb3VudHJ5IGluIGNvdW50cmllcykgew0KICAgICAgICBpZiAoY291bnRyaWVzLmhhc093blByb3BlcnR5KGNvdW50cnkpKSB7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5hcHBlbmQoJzxvcHRpb24gdmFsdWU9IicgKyBjb3VudHJ5ICsgJyI-JyArIGNvdW50cmllc1tjb3VudHJ5XSArICc8L29wdGlvbj4nKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KICAgIGFkZEJvb3RzdHJhcENvdW50cmllczogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgJGlucHV0LA0KICAgICAgICAgICR0b2dnbGUsDQogICAgICAgICAgJG9wdGlvbnMsDQogICAgICAgICAgdmFsdWUsDQogICAgICAgICAgY291bnRyeSwNCiAgICAgICAgICBjb3VudHJpZXM7DQoNCiAgICAgIHZhbHVlID0gdGhpcy5vcHRpb25zLmNvdW50cnk7DQogICAgICAkaW5wdXQgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ2lucHV0W3R5cGU9ImhpZGRlbiJdJyk7DQogICAgICAkdG9nZ2xlID0gdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXNlbGVjdGJveC1vcHRpb24nKTsNCiAgICAgICRvcHRpb25zID0gdGhpcy4kZWxlbWVudC5maW5kKCdbcm9sZT1vcHRpb25dJyk7DQogICAgICBjb3VudHJpZXMgPSB0aGlzLmdldENvdW50cmllcygpOw0KDQogICAgICAkb3B0aW9ucy5odG1sKCcnKTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibGFuayA9PT0gdHJ1ZSkgew0KICAgICAgICAkb3B0aW9ucy5hcHBlbmQoJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSIiPjwvYT48L2xpPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGNvdW50cnkgaW4gY291bnRyaWVzKSB7DQogICAgICAgIGlmIChjb3VudHJpZXMuaGFzT3duUHJvcGVydHkoY291bnRyeSkpIHsNCiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmZsYWdzID09PSB0cnVlKSB7DQogICAgICAgICAgICAkb3B0aW9ucy5hcHBlbmQoJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSInICsgY291bnRyeSArICciPjxpIGNsYXNzPSJnbHlwaGljb24gYmZoLWZsYWctJyArIGNvdW50cnkgKyAnIj48L2k-JyArIGNvdW50cmllc1tjb3VudHJ5XSArICc8L2E-PC9saT4nKTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJG9wdGlvbnMuYXBwZW5kKCc8bGk-PGEgdGFiaW5kZXg9Ii0xIiBocmVmPSIjIiBkYXRhLW9wdGlvbj0iJyArIGNvdW50cnkgKyAnIj4nICsgY291bnRyaWVzW2NvdW50cnldICsgJzwvYT48L2xpPicpOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KICAgIGRpc3BsYXlDb3VudHJ5OiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgdmFsdWU7DQoNCiAgICAgIHZhbHVlID0gdGhpcy5vcHRpb25zLmNvdW50cnk7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuZmxhZ3MgPT09IHRydWUpIHsNCiAgICAgICAgdGhpcy4kZWxlbWVudC5odG1sKCc8aSBjbGFzcz0iZ2x5cGhpY29uIGJmaC1mbGFnLScgKyB2YWx1ZSArICciPjwvaT4gJyArIEJGSENvdW50cmllc0xpc3RbdmFsdWVdKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuaHRtbChCRkhDb3VudHJpZXNMaXN0W3ZhbHVlXSk7DQogICAgICB9DQogICAgfQ0KDQogIH07DQoNCg0KICAvKiBDT1VOVFJZIFBMVUdJTiBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIG9sZCA9ICQuZm4uYmZoY291bnRyaWVzOw0KDQogICQuZm4uYmZoY291bnRyaWVzID0gZnVuY3Rpb24gKG9wdGlvbikgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIGRhdGEsDQogICAgICAgICAgb3B0aW9uczsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgZGF0YSA9ICR0aGlzLmRhdGEoJ2JmaGNvdW50cmllcycpOw0KICAgICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsNCg0KICAgICAgaWYgKCFkYXRhKSB7DQogICAgICAgICR0aGlzLmRhdGEoJ2JmaGNvdW50cmllcycsIChkYXRhID0gbmV3IEJGSENvdW50cmllcyh0aGlzLCBvcHRpb25zKSkpOw0KICAgICAgfQ0KICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7DQogICAgICAgIGRhdGFbb3B0aW9uXS5jYWxsKCR0aGlzKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfTsNCg0KICAkLmZuLmJmaGNvdW50cmllcy5Db25zdHJ1Y3RvciA9IEJGSENvdW50cmllczsNCg0KICAkLmZuLmJmaGNvdW50cmllcy5kZWZhdWx0cyA9IHsNCiAgICBjb3VudHJ5OiAnJywNCiAgICBhdmFpbGFibGU6ICcnLA0KICAgIGZsYWdzOiBmYWxzZSwNCiAgICBibGFuazogdHJ1ZQ0KICB9Ow0KDQoNCiAgLyogQ09VTlRSWSBOTyBDT05GTElDVA0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQuZm4uYmZoY291bnRyaWVzLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhjb3VudHJpZXMgPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBDT1VOVFJZIERBVEEtQVBJDQogICAqID09PT09PT09PT09PT09ICovDQoNCiAgJChkb2N1bWVudCkucmVhZHkoIGZ1bmN0aW9uICgpIHsNCiAgICAkKCdmb3JtIHNlbGVjdC5iZmgtY291bnRyaWVzLCBzcGFuLmJmaC1jb3VudHJpZXMsIGRpdi5iZmgtY291bnRyaWVzJykuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJGNvdW50cmllczsNCg0KICAgICAgJGNvdW50cmllcyA9ICQodGhpcyk7DQoNCiAgICAgIGlmICgkY291bnRyaWVzLmhhc0NsYXNzKCdiZmgtc2VsZWN0Ym94JykpIHsNCiAgICAgICAgJGNvdW50cmllcy5iZmhzZWxlY3Rib3goJGNvdW50cmllcy5kYXRhKCkpOw0KICAgICAgfQ0KICAgICAgJGNvdW50cmllcy5iZmhjb3VudHJpZXMoJGNvdW50cmllcy5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KfSh3aW5kb3cualF1ZXJ5KTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLWN1cnJlbmNpZXMuanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTMgVmluY2VudCBMYW1hbm5hDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KK2Z1bmN0aW9uICgkKSB7DQoNCiAgJ3VzZSBzdHJpY3QnOw0KDQoNCiAgLyogQ09VTlRSSUVTIENMQVNTIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBCRkhDdXJyZW5jaWVzID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsNCiAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgJC5mbi5iZmhjdXJyZW5jaWVzLmRlZmF1bHRzLCBvcHRpb25zKTsNCiAgICB0aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsNCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdzZWxlY3QnKSkgew0KICAgICAgdGhpcy5hZGRDdXJyZW5jaWVzKCk7DQogICAgfQ0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgdGhpcy5hZGRCb290c3RyYXBDdXJyZW5jaWVzKCk7DQogICAgfQ0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaXMoJ3NwYW4nKSkgew0KICAgICAgdGhpcy5kaXNwbGF5Q3VycmVuY3koKTsNCiAgICB9DQogIH07DQoNCiAgQkZIQ3VycmVuY2llcy5wcm90b3R5cGUgPSB7DQoNCiAgICBjb25zdHJ1Y3RvcjogQkZIQ3VycmVuY2llcywNCg0KICAgIGdldEN1cnJlbmNpZXM6IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBjdXJyZW5jeSwNCiAgICAgICAgICBjdXJyZW5jaWVzOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmF2YWlsYWJsZSkgew0KICAgICAgICBjdXJyZW5jaWVzID0gW107DQoNCiAgICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IHRoaXMub3B0aW9ucy5hdmFpbGFibGUuc3BsaXQoJywnKTsNCg0KICAgICAgICBmb3IgKGN1cnJlbmN5IGluIEJGSEN1cnJlbmNpZXNMaXN0KSB7DQogICAgICAgICAgaWYgKEJGSEN1cnJlbmNpZXNMaXN0Lmhhc093blByb3BlcnR5KGN1cnJlbmN5KSkgew0KICAgICAgICAgICAgaWYgKCQuaW5BcnJheShjdXJyZW5jeSwgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSkgPj0gMCkgew0KICAgICAgICAgICAgICBjdXJyZW5jaWVzW2N1cnJlbmN5XSA9IEJGSEN1cnJlbmNpZXNMaXN0W2N1cnJlbmN5XTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gY3VycmVuY2llczsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiBCRkhDdXJyZW5jaWVzTGlzdDsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgYWRkQ3VycmVuY2llczogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIHZhbHVlLA0KICAgICAgICAgIGN1cnJlbmN5LA0KICAgICAgICAgIGN1cnJlbmNpZXM7DQoNCiAgICAgIHZhbHVlID0gdGhpcy5vcHRpb25zLmN1cnJlbmN5Ow0KICAgICAgY3VycmVuY2llcyA9IHRoaXMuZ2V0Q3VycmVuY2llcygpOw0KDQogICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoJycpOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmJsYW5rID09PSB0cnVlKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSIiPjwvb3B0aW9uPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGN1cnJlbmN5IGluIGN1cnJlbmNpZXMpIHsNCiAgICAgICAgaWYgKGN1cnJlbmNpZXMuaGFzT3duUHJvcGVydHkoY3VycmVuY3kpKSB7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5hcHBlbmQoJzxvcHRpb24gdmFsdWU9IicgKyBjdXJyZW5jeSArICciPicgKyBjdXJyZW5jaWVzW2N1cnJlbmN5XS5sYWJlbCArICc8L29wdGlvbj4nKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KDQogICAgYWRkQm9vdHN0cmFwQ3VycmVuY2llczogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgJGlucHV0LA0KICAgICAgICAgICR0b2dnbGUsDQogICAgICAgICAgJG9wdGlvbnMsDQogICAgICAgICAgdmFsdWUsDQogICAgICAgICAgY3VycmVuY3ksDQogICAgICAgICAgY3VycmVuY2llcywNCiAgICAgICAgICBmbGFnOw0KDQogICAgICB2YWx1ZSA9IHRoaXMub3B0aW9ucy5jdXJyZW5jeTsNCiAgICAgICRpbnB1dCA9IHRoaXMuJGVsZW1lbnQuZmluZCgnaW5wdXRbdHlwZT0iaGlkZGVuIl0nKTsNCiAgICAgICR0b2dnbGUgPSB0aGlzLiRlbGVtZW50LmZpbmQoJy5iZmgtc2VsZWN0Ym94LW9wdGlvbicpOw0KICAgICAgJG9wdGlvbnMgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ1tyb2xlPW9wdGlvbl0nKTsNCiAgICAgIGN1cnJlbmNpZXMgPSB0aGlzLmdldEN1cnJlbmNpZXMoKTsNCg0KICAgICAgJG9wdGlvbnMuaHRtbCgnJyk7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYmxhbmsgPT09IHRydWUpIHsNCiAgICAgICAgJG9wdGlvbnMuYXBwZW5kKCc8bGk-PGEgdGFiaW5kZXg9Ii0xIiBocmVmPSIjIiBkYXRhLW9wdGlvbj0iIj48L2E-PC9saT4nKTsNCiAgICAgIH0NCg0KICAgICAgZm9yIChjdXJyZW5jeSBpbiBjdXJyZW5jaWVzKSB7DQogICAgICAgIGlmIChjdXJyZW5jaWVzLmhhc093blByb3BlcnR5KGN1cnJlbmN5KSkgew0KICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZmxhZ3MgPT09IHRydWUpIHsNCiAgICAgICAgICAgIGlmIChjdXJyZW5jaWVzW2N1cnJlbmN5XS5jdXJyZW5jeWZsYWcpIHsNCiAgICAgICAgICAgICAgZmxhZyA9IGN1cnJlbmNpZXNbY3VycmVuY3ldLmN1cnJlbmN5ZmxhZzsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgIGZsYWcgPSBjdXJyZW5jeS5zdWJzdHIoMCwyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRvcHRpb25zLmFwcGVuZCgnPGxpPjxhIHRhYmluZGV4PSItMSIgaHJlZj0iIyIgZGF0YS1vcHRpb249IicgKyBjdXJyZW5jeSArICAnIj48aSBjbGFzcz0iZ2x5cGhpY29uIGJmaC1mbGFnLScgKyBmbGFnICsgJyI-PC9pPicgKyBjdXJyZW5jaWVzW2N1cnJlbmN5XS5sYWJlbCArICc8L2E-PC9saT4nKTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJG9wdGlvbnMuYXBwZW5kKCc8bGk-PGEgdGFiaW5kZXg9Ii0xIiBocmVmPSIjIiBkYXRhLW9wdGlvbj0iJyArIGN1cnJlbmN5ICsgJyI-JyArIGN1cnJlbmNpZXNbY3VycmVuY3ldLmxhYmVsICsgJzwvYT48L2xpPicpOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KICAgIGRpc3BsYXlDdXJyZW5jeTogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIHZhbHVlLA0KICAgICAgICAgIGZsYWc7DQoNCiAgICAgIHZhbHVlID0gdGhpcy5vcHRpb25zLmN1cnJlbmN5Ow0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmZsYWdzID09PSB0cnVlKSB7DQogICAgICAgIGlmIChCRkhDdXJyZW5jaWVzTGlzdFt2YWx1ZV0uY3VycmVuY3lmbGFnKSB7DQogICAgICAgICAgZmxhZyA9IEJGSEN1cnJlbmNpZXNMaXN0W3ZhbHVlXS5jdXJyZW5jeWZsYWc7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgZmxhZyA9IHZhbHVlLnN1YnN0cigwLDIpOw0KICAgICAgICB9DQogICAgICAgIHRoaXMuJGVsZW1lbnQuaHRtbCgnPGkgY2xhc3M9ImdseXBoaWNvbiBiZmgtZmxhZy0nICsgZmxhZyArICciPjwvaT4gJyArIEJGSEN1cnJlbmNpZXNMaXN0W3ZhbHVlXS5sYWJlbCk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoQkZIQ3VycmVuY2llc0xpc3RbdmFsdWVdLmxhYmVsKTsNCiAgICAgIH0NCiAgICB9DQoNCiAgfTsNCg0KDQogIC8qIENVUlJFTkNZIFBMVUdJTiBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIG9sZCA9ICQuZm4uYmZoY3VycmVuY2llczsNCg0KICAkLmZuLmJmaGN1cnJlbmNpZXMgPSBmdW5jdGlvbiAob3B0aW9uKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgZGF0YSwNCiAgICAgICAgICBvcHRpb25zOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICBkYXRhID0gJHRoaXMuZGF0YSgnYmZoY3VycmVuY2llcycpOw0KICAgICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsNCg0KICAgICAgaWYgKCFkYXRhKSB7DQogICAgICAgICR0aGlzLmRhdGEoJ2JmaGN1cnJlbmNpZXMnLCAoZGF0YSA9IG5ldyBCRkhDdXJyZW5jaWVzKHRoaXMsIG9wdGlvbnMpKSk7DQogICAgICB9DQogICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgZGF0YVtvcHRpb25dLmNhbGwoJHRoaXMpOw0KICAgICAgfQ0KICAgIH0pOw0KICB9Ow0KDQogICQuZm4uYmZoY3VycmVuY2llcy5Db25zdHJ1Y3RvciA9IEJGSEN1cnJlbmNpZXM7DQoNCiAgJC5mbi5iZmhjdXJyZW5jaWVzLmRlZmF1bHRzID0gew0KICAgIGN1cnJlbmN5OiAnJywNCiAgICBhdmFpbGFibGU6ICcnLA0KICAgIGZsYWdzOiBmYWxzZSwNCiAgICBibGFuazogdHJ1ZQ0KICB9Ow0KDQoNCiAgLyogQ1VSUkVOQ1kgTk8gQ09ORkxJQ1QNCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICAkLmZuLmJmaGN1cnJlbmNpZXMubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsNCiAgICAkLmZuLmJmaGN1cnJlbmNpZXMgPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBDVVJSRU5DWSBEQVRBLUFQSQ0KICAgKiA9PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpLnJlYWR5KCBmdW5jdGlvbiAoKSB7DQogICAgJCgnZm9ybSBzZWxlY3QuYmZoLWN1cnJlbmNpZXMsIHNwYW4uYmZoLWN1cnJlbmNpZXMsIGRpdi5iZmgtY3VycmVuY2llcycpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICRjdXJyZW5jaWVzOw0KDQogICAgICAkY3VycmVuY2llcyA9ICQodGhpcyk7DQoNCiAgICAgIGlmICgkY3VycmVuY2llcy5oYXNDbGFzcygnYmZoLXNlbGVjdGJveCcpKSB7DQogICAgICAgICRjdXJyZW5jaWVzLmJmaHNlbGVjdGJveCgkY3VycmVuY2llcy5kYXRhKCkpOw0KICAgICAgfQ0KICAgICAgJGN1cnJlbmNpZXMuYmZoY3VycmVuY2llcygkY3VycmVuY2llcy5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KDQp9KHdpbmRvdy5qUXVlcnkpOw0KDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBib290c3RyYXAtZm9ybWhlbHBlcnMtZGF0ZXBpY2tlci5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQorZnVuY3Rpb24gKCQpIHsNCg0KICAndXNlIHN0cmljdCc7DQoNCg0KICAvKiBCRkhEQVRFUElDS0VSIENMQVNTIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciB0b2dnbGUgPSAnW2RhdGEtdG9nZ2xlPWJmaC1kYXRlcGlja2VyXScsDQogICAgICBCRkhEYXRlUGlja2VyID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsNCiAgICAgICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sICQuZm4uYmZoZGF0ZXBpY2tlci5kZWZhdWx0cywgb3B0aW9ucyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgICAgIHRoaXMuaW5pdENhbGVuZGFyKCk7DQogICAgICB9Ow0KDQogIEJGSERhdGVQaWNrZXIucHJvdG90eXBlID0gew0KDQogICAgY29uc3RydWN0b3I6IEJGSERhdGVQaWNrZXIsDQoNCiAgICBzZXREYXRlOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciBkYXRlLA0KICAgICAgICAgIHRvZGF5LA0KICAgICAgICAgIGZvcm1hdDsNCg0KICAgICAgZGF0ZSA9IHRoaXMub3B0aW9ucy5kYXRlOw0KICAgICAgZm9ybWF0ID0gdGhpcy5vcHRpb25zLmZvcm1hdDsNCg0KICAgICAgaWYgKGRhdGUgPT09ICcnIHx8IGRhdGUgPT09ICd0b2RheScgfHwgZGF0ZSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgIHRvZGF5ID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBpZiAoZGF0ZSA9PT0gJ3RvZGF5Jykgew0KICAgICAgICAgIHRoaXMuJGVsZW1lbnQudmFsKGZvcm1hdERhdGUoZm9ybWF0LCB0b2RheS5nZXRNb250aCgpLCB0b2RheS5nZXRGdWxsWWVhcigpLCB0b2RheS5nZXREYXRlKCkpKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YSgnbW9udGgnLCB0b2RheS5nZXRNb250aCgpKTsNCiAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKCd5ZWFyJywgdG9kYXkuZ2V0RnVsbFllYXIoKSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRlbGVtZW50LnZhbChkYXRlKTsNCiAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKCdtb250aCcsIE51bWJlcihnZXREYXRlUGFydChmb3JtYXQsIGRhdGUsICdtJykgLSAxKSk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YSgneWVhcicsIE51bWJlcihnZXREYXRlUGFydChmb3JtYXQsIGRhdGUsICd5JykpKTsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgc2V0RGF0ZUxpbWl0OiBmdW5jdGlvbihkYXRlLCBsaW1pdFByZWZpeCkgew0KICAgICAgdmFyIHRvZGF5LA0KICAgICAgICAgIGZvcm1hdDsNCg0KICAgICAgZm9ybWF0ID0gdGhpcy5vcHRpb25zLmZvcm1hdDsNCg0KICAgICAgaWYgKGRhdGUgIT09ICcnKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YShsaW1pdFByZWZpeCArICdsaW1pdCcsIHRydWUpOw0KDQogICAgICAgIGlmIChkYXRlID09PSAndG9kYXknKSB7DQogICAgICAgICAgdG9kYXkgPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKGxpbWl0UHJlZml4ICsgJ2RheScsIHRvZGF5LmdldERhdGUoKSk7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKGxpbWl0UHJlZml4ICsgJ21vbnRoJywgdG9kYXkuZ2V0TW9udGgoKSk7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKGxpbWl0UHJlZml4ICsgJ3llYXInLCB0b2RheS5nZXRGdWxsWWVhcigpKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRlbGVtZW50LmRhdGEobGltaXRQcmVmaXggKyAnZGF5JywgTnVtYmVyKGdldERhdGVQYXJ0KGZvcm1hdCwgZGF0ZSwgJ2QnKSkpOw0KICAgICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YShsaW1pdFByZWZpeCArICdtb250aCcsIE51bWJlcihnZXREYXRlUGFydChmb3JtYXQsIGRhdGUsICdtJykgLSAxKSk7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKGxpbWl0UHJlZml4ICsgJ3llYXInLCBOdW1iZXIoZ2V0RGF0ZVBhcnQoZm9ybWF0LCBkYXRlLCAneScpKSk7DQogICAgICAgIH0NCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YShsaW1pdFByZWZpeCArICdsaW1pdCcsIGZhbHNlKTsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgaW5pdENhbGVuZGFyOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciBpY29uTGVmdCwNCiAgICAgICAgICBpY29uUmlnaHQsDQogICAgICAgICAgaWNvbkFkZG9uOw0KDQogICAgICBpY29uTGVmdCA9ICcnOw0KICAgICAgaWNvblJpZ2h0ID0gJyc7DQogICAgICBpY29uQWRkb24gPSAnJzsNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuaWNvbiAhPT0gJycpIHsNCiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5hbGlnbiA9PT0gJ3JpZ2h0Jykgew0KICAgICAgICAgIGljb25SaWdodCA9ICc8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtYWRkb24iPjxpIGNsYXNzPSInICsgdGhpcy5vcHRpb25zLmljb24gKyAnIj48L2k-PC9zcGFuPic7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgaWNvbkxlZnQgPSAnPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWFkZG9uIj48aSBjbGFzcz0iJyArIHRoaXMub3B0aW9ucy5pY29uICsgJyI-PC9pPjwvc3Bhbj4nOw0KICAgICAgICB9DQogICAgICAgIGljb25BZGRvbiA9ICdpbnB1dC1ncm91cCc7DQogICAgICB9DQoNCiAgICAgIHRoaXMuJGVsZW1lbnQuaHRtbCgNCiAgICAgICAgJzxkaXYgY2xhc3M9IicgKyBpY29uQWRkb24gKyAnIGJmaC1kYXRlcGlja2VyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImJmaC1kYXRlcGlja2VyIj4nICsNCiAgICAgICAgaWNvbkxlZnQgKw0KICAgICAgICAnPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IicgKyB0aGlzLm9wdGlvbnMubmFtZSArICciIGNsYXNzPSInICsgdGhpcy5vcHRpb25zLmlucHV0ICsgJyIgcGxhY2Vob2xkZXI9IicgKyB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIgKyAnIiByZWFkb25seT4nICsNCiAgICAgICAgaWNvblJpZ2h0ICsNCiAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAnPGRpdiBjbGFzcz0iYmZoLWRhdGVwaWNrZXItY2FsZW5kYXIiPicgKw0KICAgICAgICAnPHRhYmxlIGNsYXNzPSJjYWxlbmRhciB0YWJsZSB0YWJsZS1ib3JkZXJlZCI-JyArDQogICAgICAgICc8dGhlYWQ-JyArDQogICAgICAgICc8dHIgY2xhc3M9Im1vbnRocy1oZWFkZXIiPicgKw0KICAgICAgICAnPHRoIGNsYXNzPSJtb250aCIgY29sc3Bhbj0iNCI-JyArDQogICAgICAgICc8YSBjbGFzcz0icHJldmlvdXMiIGhyZWY9IiMiPjxpIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tbGVmdCI-PC9pPjwvYT4nICsNCiAgICAgICAgJzxzcGFuPjwvc3Bhbj4nICsNCiAgICAgICAgJzxhIGNsYXNzPSJuZXh0IiBocmVmPSIjIj48aSBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0Ij48L2k-PC9hPicgKw0KICAgICAgICAnPC90aD4nICsNCiAgICAgICAgJzx0aCBjbGFzcz0ieWVhciIgY29sc3Bhbj0iMyI-JyArDQogICAgICAgICc8YSBjbGFzcz0icHJldmlvdXMiIGhyZWY9IiMiPjxpIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tbGVmdCI-PC9pPjwvYT4nICsNCiAgICAgICAgJzxzcGFuPjwvc3Bhbj4nICsNCiAgICAgICAgJzxhIGNsYXNzPSJuZXh0IiBocmVmPSIjIj48aSBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0Ij48L2k-PC9hPicgKw0KICAgICAgICAnPC90aD4nICsNCiAgICAgICAgJzwvdHI-JyArDQogICAgICAgICc8dHIgY2xhc3M9ImRheXMtaGVhZGVyIj4nICsNCiAgICAgICAgJzwvdHI-JyArDQogICAgICAgICc8L3RoZWFkPicgKw0KICAgICAgICAnPHRib2R5PicgKw0KICAgICAgICAnPC90Ym9keT4nICsNCiAgICAgICAgJzwvdGFibGU-JyArDQogICAgICAgICc8L2Rpdj4nDQogICAgICApOw0KDQogICAgICB0aGlzLiRlbGVtZW50DQogICAgICAgIC5vbignY2xpY2suYmZoZGF0ZXBpY2tlci5kYXRhLWFwaSB0b3VjaHN0YXJ0LmJmaGRhdGVwaWNrZXIuZGF0YS1hcGknLCB0b2dnbGUsIEJGSERhdGVQaWNrZXIucHJvdG90eXBlLnRvZ2dsZSkNCiAgICAgICAgLm9uKCdjbGljay5iZmhkYXRlcGlja2VyLmRhdGEtYXBpIHRvdWNoc3RhcnQuYmZoZGF0ZXBpY2tlci5kYXRhLWFwaScsICcuYmZoLWRhdGVwaWNrZXItY2FsZW5kYXIgPiB0YWJsZS5jYWxlbmRhciAubW9udGggPiAucHJldmlvdXMnLCBCRkhEYXRlUGlja2VyLnByb3RvdHlwZS5wcmV2aW91c01vbnRoKQ0KICAgICAgICAub24oJ2NsaWNrLmJmaGRhdGVwaWNrZXIuZGF0YS1hcGkgdG91Y2hzdGFydC5iZmhkYXRlcGlja2VyLmRhdGEtYXBpJywgJy5iZmgtZGF0ZXBpY2tlci1jYWxlbmRhciA-IHRhYmxlLmNhbGVuZGFyIC5tb250aCA-IC5uZXh0JywgQkZIRGF0ZVBpY2tlci5wcm90b3R5cGUubmV4dE1vbnRoKQ0KICAgICAgICAub24oJ2NsaWNrLmJmaGRhdGVwaWNrZXIuZGF0YS1hcGkgdG91Y2hzdGFydC5iZmhkYXRlcGlja2VyLmRhdGEtYXBpJywgJy5iZmgtZGF0ZXBpY2tlci1jYWxlbmRhciA-IHRhYmxlLmNhbGVuZGFyIC55ZWFyID4gLnByZXZpb3VzJywgQkZIRGF0ZVBpY2tlci5wcm90b3R5cGUucHJldmlvdXNZZWFyKQ0KICAgICAgICAub24oJ2NsaWNrLmJmaGRhdGVwaWNrZXIuZGF0YS1hcGkgdG91Y2hzdGFydC5iZmhkYXRlcGlja2VyLmRhdGEtYXBpJywgJy5iZmgtZGF0ZXBpY2tlci1jYWxlbmRhciA-IHRhYmxlLmNhbGVuZGFyIC55ZWFyID4gLm5leHQnLCBCRkhEYXRlUGlja2VyLnByb3RvdHlwZS5uZXh0WWVhcikNCiAgICAgICAgLm9uKCdjbGljay5iZmhkYXRlcGlja2VyLmRhdGEtYXBpIHRvdWNoc3RhcnQuYmZoZGF0ZXBpY2tlci5kYXRhLWFwaScsICcuYmZoLWRhdGVwaWNrZXItY2FsZW5kYXIgPiB0YWJsZS5jYWxlbmRhciB0ZDpub3QoLm9mZiknLCBCRkhEYXRlUGlja2VyLnByb3RvdHlwZS5zZWxlY3QpDQogICAgICAgIC5vbignY2xpY2suYmZoZGF0ZXBpY2tlci5kYXRhLWFwaSB0b3VjaHN0YXJ0LmJmaGRhdGVwaWNrZXIuZGF0YS1hcGknLCAnLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyID4gdGFibGUuY2FsZW5kYXInLCBmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsNCg0KICAgICAgdGhpcy5zZXREYXRlKCk7DQogICAgICB0aGlzLnNldERhdGVMaW1pdCh0aGlzLm9wdGlvbnMubWluLCAnbG93ZXInKTsNCiAgICAgIHRoaXMuc2V0RGF0ZUxpbWl0KHRoaXMub3B0aW9ucy5tYXgsICdoaWdoZXInKTsNCg0KICAgICAgdGhpcy51cGRhdGVDYWxlbmRhcigpOw0KICAgIH0sDQoNCiAgICB1cGRhdGVDYWxlbmRhckhlYWRlcjogZnVuY3Rpb24oJGNhbGVuZGFyLCBtb250aCwgeWVhcikgew0KICAgICAgdmFyICRkYXlzSGVhZGVyLA0KICAgICAgICAgIGRheTsNCg0KICAgICAgJGNhbGVuZGFyLmZpbmQoJ3RhYmxlID4gdGhlYWQgPiB0ciA-IHRoLm1vbnRoID4gc3BhbicpLnRleHQoQkZITW9udGhzTGlzdFttb250aF0pOw0KICAgICAgJGNhbGVuZGFyLmZpbmQoJ3RhYmxlID4gdGhlYWQgPiB0ciA-IHRoLnllYXIgPiBzcGFuJykudGV4dCh5ZWFyKTsNCg0KICAgICAgJGRheXNIZWFkZXIgPSAkY2FsZW5kYXIuZmluZCgndGFibGUgPiB0aGVhZCA-IHRyLmRheXMtaGVhZGVyJyk7DQogICAgICAkZGF5c0hlYWRlci5odG1sKCcnKTsNCiAgICAgIGZvciAoZGF5PUJGSERheU9mV2Vla1N0YXJ0OyBkYXkgPCBCRkhEYXlzTGlzdC5sZW5ndGg7IGRheT1kYXkrMSkgew0KICAgICAgICAkZGF5c0hlYWRlci5hcHBlbmQoJzx0aD4nICsgQkZIRGF5c0xpc3RbZGF5XSArICc8L3RoPicpOw0KICAgICAgfQ0KICAgICAgZm9yIChkYXk9MDsgZGF5IDwgQkZIRGF5T2ZXZWVrU3RhcnQ7IGRheT1kYXkrMSkgew0KICAgICAgICAkZGF5c0hlYWRlci5hcHBlbmQoJzx0aD4nICsgQkZIRGF5c0xpc3RbZGF5XSArICc8L3RoPicpOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICBjaGVja01pbkRhdGU6IGZ1bmN0aW9uKGRheSwgbW9udGgsIHllYXIpIHsNCiAgICAgIHZhciBsb3dlcmxpbWl0LA0KICAgICAgICAgIGxvd2VyZGF5LA0KICAgICAgICAgIGxvd2VybW9udGgsDQogICAgICAgICAgbG93ZXJ5ZWFyOw0KDQogICAgICBsb3dlcmxpbWl0ID0gdGhpcy4kZWxlbWVudC5kYXRhKCdsb3dlcmxpbWl0Jyk7DQoNCiAgICAgIGlmIChsb3dlcmxpbWl0ID09PSB0cnVlKSB7DQogICAgICAgIGxvd2VyZGF5ID0gdGhpcy4kZWxlbWVudC5kYXRhKCdsb3dlcmRheScpOw0KICAgICAgICBsb3dlcm1vbnRoID0gdGhpcy4kZWxlbWVudC5kYXRhKCdsb3dlcm1vbnRoJyk7DQogICAgICAgIGxvd2VyeWVhciA9IHRoaXMuJGVsZW1lbnQuZGF0YSgnbG93ZXJ5ZWFyJyk7DQoNCiAgICAgICAgaWYgKChkYXkgPCBsb3dlcmRheSAmJiBtb250aCA9PT0gbG93ZXJtb250aCAmJiB5ZWFyID09PSBsb3dlcnllYXIpIHx8IChtb250aCA8IGxvd2VybW9udGggJiYgeWVhciA9PT0gbG93ZXJ5ZWFyKSB8fCAoeWVhciA8IGxvd2VyeWVhcikpIHsNCiAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfSwNCg0KICAgIGNoZWNrTWF4RGF0ZTogZnVuY3Rpb24oZGF5LCBtb250aCwgeWVhcikgew0KICAgICAgdmFyIGhpZ2hlcmxpbWl0LA0KICAgICAgICAgIGhpZ2hlcmRheSwNCiAgICAgICAgICBoaWdoZXJtb250aCwNCiAgICAgICAgICBoaWdoZXJ5ZWFyOw0KDQogICAgICBoaWdoZXJsaW1pdCA9IHRoaXMuJGVsZW1lbnQuZGF0YSgnaGlnaGVybGltaXQnKTsNCg0KICAgICAgaWYgKGhpZ2hlcmxpbWl0ID09PSB0cnVlKSB7DQogICAgICAgIGhpZ2hlcmRheSA9IHRoaXMuJGVsZW1lbnQuZGF0YSgnaGlnaGVyZGF5Jyk7DQogICAgICAgIGhpZ2hlcm1vbnRoID0gdGhpcy4kZWxlbWVudC5kYXRhKCdoaWdoZXJtb250aCcpOw0KICAgICAgICBoaWdoZXJ5ZWFyID0gdGhpcy4kZWxlbWVudC5kYXRhKCdoaWdoZXJ5ZWFyJyk7DQoNCiAgICAgICAgaWYgKChkYXkgPiBoaWdoZXJkYXkgJiYgbW9udGggPT09IGhpZ2hlcm1vbnRoICYmIHllYXIgPT09IGhpZ2hlcnllYXIpIHx8IChtb250aCA-IGhpZ2hlcm1vbnRoICYmIHllYXIgPT09IGhpZ2hlcnllYXIpIHx8ICh5ZWFyID4gaGlnaGVyeWVhcikpIHsNCiAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfSwNCg0KICAgIGNoZWNrVG9kYXk6IGZ1bmN0aW9uKGRheSwgbW9udGgsIHllYXIpIHsNCiAgICAgIHZhciB0b2RheTsNCg0KICAgICAgdG9kYXkgPSBuZXcgRGF0ZSgpOw0KDQogICAgICBpZiAoZGF5ID09PSB0b2RheS5nZXREYXRlKCkgJiYgbW9udGggPT09IHRvZGF5LmdldE1vbnRoKCkgJiYgeWVhciA9PT0gdG9kYXkuZ2V0RnVsbFllYXIoKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0sDQoNCiAgICB1cGRhdGVDYWxlbmRhckRheXM6IGZ1bmN0aW9uKCRjYWxlbmRhciwgbW9udGgsIHllYXIpIHsNCiAgICAgIHZhciAkZGF5cywNCiAgICAgICAgICBudW1EYXlzUHJldmlvdXNNb250aCwNCiAgICAgICAgICBudW1EYXlzQ3VycmVudE1vbnRoLA0KICAgICAgICAgIGZpcnN0RGF5LA0KICAgICAgICAgIGxhc3REYXksDQogICAgICAgICAgcm93LA0KICAgICAgICAgIGRheTsNCg0KICAgICAgJGRheXMgPSAkY2FsZW5kYXIuZmluZCgndGFibGUgPiB0Ym9keScpLmh0bWwoJycpOw0KICAgICAgbnVtRGF5c1ByZXZpb3VzTW9udGggPSBnZXROdW1EYXlzSW5Nb250aChtb250aCwgeWVhcik7DQogICAgICBudW1EYXlzQ3VycmVudE1vbnRoID0gZ2V0TnVtRGF5c0luTW9udGgobW9udGggKyAxLCB5ZWFyKTsNCiAgICAgIGZpcnN0RGF5ID0gZ2V0RGF5T2ZXZWVrKG1vbnRoLCB5ZWFyLCAxKTsNCiAgICAgIGxhc3REYXkgPSBnZXREYXlPZldlZWsobW9udGgsIHllYXIsIG51bURheXNDdXJyZW50TW9udGgpOw0KDQogICAgICByb3cgPSAnJzsNCiAgICAgIGZvciAoZGF5PTA7IGRheSA8IChmaXJzdERheSAtIEJGSERheU9mV2Vla1N0YXJ0ICsgNykgJSA3OyBkYXk9ZGF5KzEpIHsNCiAgICAgICAgcm93ICs9ICc8dGQgY2xhc3M9Im9mZiI-JyArIChudW1EYXlzUHJldmlvdXNNb250aCAtIChmaXJzdERheSAtIEJGSERheU9mV2Vla1N0YXJ0ICsgNykgJSA3ICsgZGF5ICsgMSkgKyAnPC90ZD4nOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGRheT0xOyBkYXkgPD0gbnVtRGF5c0N1cnJlbnRNb250aDsgZGF5PWRheSsxKSB7DQogICAgICAgIGlmICh0aGlzLmNoZWNrTWluRGF0ZShkYXksIG1vbnRoLCB5ZWFyKSkgew0KICAgICAgICAgIHJvdyArPSAnPHRkIGRhdGEtZGF5PSInICsgZGF5ICsgJyIgY2xhc3M9Im9mZiI-JyArIGRheSArICc8L3RkPic7DQogICAgICAgIH0gZWxzZSBpZiAodGhpcy5jaGVja01heERhdGUoZGF5LCBtb250aCwgeWVhcikpIHsNCiAgICAgICAgICByb3cgKz0gJzx0ZCBkYXRhLWRheT0iJyArIGRheSArICciIGNsYXNzPSJvZmYiPicgKyBkYXkgKyAnPC90ZD4nOw0KICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2hlY2tUb2RheShkYXksIG1vbnRoLCB5ZWFyKSkgew0KICAgICAgICAgIHJvdyArPSAnPHRkIGRhdGEtZGF5PSInICsgZGF5ICsgJyIgY2xhc3M9InRvZGF5Ij4nICsgZGF5ICsgJzwvdGQ-JzsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICByb3cgKz0gJzx0ZCBkYXRhLWRheT0iJyArIGRheSArICciPicgKyBkYXkgKyAnPC90ZD4nOw0KICAgICAgICB9DQogICAgICAgIGlmIChnZXREYXlPZldlZWsobW9udGgsIHllYXIsIGRheSkgPT09ICg2ICsgQkZIRGF5T2ZXZWVrU3RhcnQpICUgNykgew0KICAgICAgICAgICRkYXlzLmFwcGVuZCgnPHRyPicgKyByb3cgKyAnPC90cj4nKTsNCiAgICAgICAgICByb3cgPSAnJzsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICBmb3IgKGRheT0xOyBkYXkgPD0gKDcgLSAoKGxhc3REYXkgKyAxIC0gQkZIRGF5T2ZXZWVrU3RhcnQgKyA3KSAlIDcpKSAlIDcgKyAxOyBkYXk9ZGF5KzEpIHsNCiAgICAgICAgcm93ICs9ICc8dGQgY2xhc3M9Im9mZiI-JyArIGRheSArICc8L3RkPic7DQogICAgICAgIGlmIChkYXkgPT09ICg3IC0gKChsYXN0RGF5ICsgMSAtIEJGSERheU9mV2Vla1N0YXJ0ICsgNykgJSA3KSkgJSA3KSB7DQogICAgICAgICAgJGRheXMuYXBwZW5kKCc8dHI-JyArIHJvdyArICc8L3RyPicpOw0KICAgICAgICB9DQogICAgICB9DQogICAgfSwNCg0KICAgIHVwZGF0ZUNhbGVuZGFyOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJGNhbGVuZGFyLA0KICAgICAgICAgIG1vbnRoLA0KICAgICAgICAgIHllYXI7DQoNCiAgICAgICRjYWxlbmRhciA9IHRoaXMuJGVsZW1lbnQuZmluZCgnLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyJyk7DQogICAgICBtb250aCA9IHRoaXMuJGVsZW1lbnQuZGF0YSgnbW9udGgnKTsNCiAgICAgIHllYXIgPSB0aGlzLiRlbGVtZW50LmRhdGEoJ3llYXInKTsNCg0KICAgICAgdGhpcy51cGRhdGVDYWxlbmRhckhlYWRlcigkY2FsZW5kYXIsIG1vbnRoLCB5ZWFyKTsNCiAgICAgIHRoaXMudXBkYXRlQ2FsZW5kYXJEYXlzKCRjYWxlbmRhciwgbW9udGgsIHllYXIpOw0KICAgIH0sDQoNCiAgICBwcmV2aW91c01vbnRoOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBhcmVudCwNCiAgICAgICAgICAkZGF0ZVBpY2tlcjsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQoNCiAgICAgIGlmIChOdW1iZXIoJHBhcmVudC5kYXRhKCdtb250aCcpKSA9PT0gMCkgew0KICAgICAgICAkcGFyZW50LmRhdGEoJ21vbnRoJywgMTEpOw0KICAgICAgICAkcGFyZW50LmRhdGEoJ3llYXInLCBOdW1iZXIoJHBhcmVudC5kYXRhKCd5ZWFyJykpIC0gMSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICAkcGFyZW50LmRhdGEoJ21vbnRoJywgTnVtYmVyKCRwYXJlbnQuZGF0YSgnbW9udGgnKSkgLSAxKTsNCiAgICAgIH0NCg0KICAgICAgJGRhdGVQaWNrZXIgPSAkcGFyZW50LmRhdGEoJ2JmaGRhdGVwaWNrZXInKTsNCiAgICAgICRkYXRlUGlja2VyLnVwZGF0ZUNhbGVuZGFyKCk7DQoNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9LA0KDQogICAgbmV4dE1vbnRoOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBhcmVudCwNCiAgICAgICAgICAkZGF0ZVBpY2tlcjsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQoNCiAgICAgIGlmIChOdW1iZXIoJHBhcmVudC5kYXRhKCdtb250aCcpKSA9PT0gMTEpIHsNCiAgICAgICAgJHBhcmVudC5kYXRhKCdtb250aCcsIDApOw0KICAgICAgICAkcGFyZW50LmRhdGEoJ3llYXInLCBOdW1iZXIoJHBhcmVudC5kYXRhKCd5ZWFyJykpICsgMSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICAkcGFyZW50LmRhdGEoJ21vbnRoJywgTnVtYmVyKCRwYXJlbnQuZGF0YSgnbW9udGgnKSkgKyAxKTsNCiAgICAgIH0NCg0KICAgICAgJGRhdGVQaWNrZXIgPSAkcGFyZW50LmRhdGEoJ2JmaGRhdGVwaWNrZXInKTsNCiAgICAgICRkYXRlUGlja2VyLnVwZGF0ZUNhbGVuZGFyKCk7DQoNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9LA0KDQogICAgcHJldmlvdXNZZWFyOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBhcmVudCwNCiAgICAgICAgICAkZGF0ZVBpY2tlcjsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQoNCiAgICAgICRwYXJlbnQuZGF0YSgneWVhcicsIE51bWJlcigkcGFyZW50LmRhdGEoJ3llYXInKSkgLSAxKTsNCg0KICAgICAgJGRhdGVQaWNrZXIgPSAkcGFyZW50LmRhdGEoJ2JmaGRhdGVwaWNrZXInKTsNCiAgICAgICRkYXRlUGlja2VyLnVwZGF0ZUNhbGVuZGFyKCk7DQoNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9LA0KDQogICAgbmV4dFllYXI6IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICAkcGFyZW50LA0KICAgICAgICAgICRkYXRlUGlja2VyOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICAkcGFyZW50ID0gZ2V0UGFyZW50KCR0aGlzKTsNCg0KICAgICAgJHBhcmVudC5kYXRhKCd5ZWFyJywgTnVtYmVyKCRwYXJlbnQuZGF0YSgneWVhcicpKSArIDEpOw0KDQogICAgICAkZGF0ZVBpY2tlciA9ICRwYXJlbnQuZGF0YSgnYmZoZGF0ZXBpY2tlcicpOw0KICAgICAgJGRhdGVQaWNrZXIudXBkYXRlQ2FsZW5kYXIoKTsNCg0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0sDQoNCiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBhcmVudCwNCiAgICAgICAgICAkZGF0ZVBpY2tlciwNCiAgICAgICAgICBtb250aCwNCiAgICAgICAgICB5ZWFyLA0KICAgICAgICAgIGRheTsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KDQogICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOw0KDQogICAgICAkcGFyZW50ID0gZ2V0UGFyZW50KCR0aGlzKTsNCiAgICAgICRkYXRlUGlja2VyID0gJHBhcmVudC5kYXRhKCdiZmhkYXRlcGlja2VyJyk7DQogICAgICBtb250aCA9ICRwYXJlbnQuZGF0YSgnbW9udGgnKTsNCiAgICAgIHllYXIgPSAkcGFyZW50LmRhdGEoJ3llYXInKTsNCiAgICAgIGRheSA9ICR0aGlzLmRhdGEoJ2RheScpOw0KDQogICAgICAkcGFyZW50LnZhbChmb3JtYXREYXRlKCRkYXRlUGlja2VyLm9wdGlvbnMuZm9ybWF0LCBtb250aCwgeWVhciwgZGF5KSk7DQogICAgICAkcGFyZW50LnRyaWdnZXIoJ2NoYW5nZS5iZmhkYXRlcGlja2VyJyk7DQoNCiAgICAgIGlmICgkZGF0ZVBpY2tlci5vcHRpb25zLmNsb3NlID09PSB0cnVlKSB7DQogICAgICAgIGNsZWFyTWVudXMoKTsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgdG9nZ2xlOiBmdW5jdGlvbiAoZSkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgICRwYXJlbnQsDQogICAgICAgICAgaXNBY3RpdmU7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICRwYXJlbnQgPSBnZXRQYXJlbnQoJHRoaXMpOw0KDQogICAgICBpZiAoJHBhcmVudC5pcygnLmRpc2FibGVkJykgfHwgJHBhcmVudC5hdHRyKCdkaXNhYmxlZCcpICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICAgIGlzQWN0aXZlID0gJHBhcmVudC5oYXNDbGFzcygnb3BlbicpOw0KDQogICAgICBjbGVhck1lbnVzKCk7DQoNCiAgICAgIGlmICghaXNBY3RpdmUpIHsNCiAgICAgICAgJHBhcmVudC50cmlnZ2VyKGUgPSAkLkV2ZW50KCdzaG93LmJmaGRhdGVwaWNrZXInKSk7DQoNCiAgICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgICRwYXJlbnQNCiAgICAgICAgICAudG9nZ2xlQ2xhc3MoJ29wZW4nKQ0KICAgICAgICAgIC50cmlnZ2VyKCdzaG93bi5iZmhkYXRlcGlja2VyJyk7DQoNCiAgICAgICAgJHRoaXMuZm9jdXMoKTsNCiAgICAgIH0NCg0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCiAgfTsNCg0KICBmdW5jdGlvbiBnZXROdW1EYXlzSW5Nb250aChtb250aCwgeWVhcikgew0KICAgIHJldHVybiBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMCkuZ2V0RGF0ZSgpOw0KICB9DQoNCiAgZnVuY3Rpb24gZ2V0RGF5T2ZXZWVrKG1vbnRoLCB5ZWFyLCBkYXkpIHsNCiAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSkuZ2V0RGF5KCk7DQogIH0NCg0KICBmdW5jdGlvbiBmb3JtYXREYXRlKGZvcm1hdCwgbW9udGgsIHllYXIsIGRheSkgew0KICAgIG1vbnRoICs9IDE7DQogICAgbW9udGggPSBTdHJpbmcobW9udGgpOw0KICAgIGRheSA9IFN0cmluZyhkYXkpOw0KDQogICAgaWYgKG1vbnRoLmxlbmd0aCA9PT0gMSkgew0KICAgICAgbW9udGggPSAnMCcgKyBtb250aDsNCiAgICB9DQogICAgaWYgKGRheS5sZW5ndGggPT09IDEpIHsNCiAgICAgIGRheSA9ICcwJyArIGRheTsNCiAgICB9DQoNCiAgICByZXR1cm4gZm9ybWF0LnJlcGxhY2UoJ20nLCBtb250aCkucmVwbGFjZSgneScsIHllYXIpLnJlcGxhY2UoJ2QnLCBkYXkpOw0KICB9DQoNCiAgZnVuY3Rpb24gZ2V0RGF0ZVBhcnQoZm9ybWF0LCBkYXRlLCBwYXJ0KSB7DQogICAgdmFyIHBhcnRQb3NpdGlvbnMsDQogICAgICAgIHBhcnRQb3NpdGlvbiwNCiAgICAgICAgcGFydHM7DQoNCiAgICBwYXJ0UG9zaXRpb25zID0gWw0KICAgICAgeydwYXJ0JzogJ20nLCAncG9zaXRpb24nOiBmb3JtYXQuaW5kZXhPZignbScpfSwNCiAgICAgIHsncGFydCc6ICd5JywgJ3Bvc2l0aW9uJzogZm9ybWF0LmluZGV4T2YoJ3knKX0sDQogICAgICB7J3BhcnQnOiAnZCcsICdwb3NpdGlvbic6IGZvcm1hdC5pbmRleE9mKCdkJyl9DQogICAgXTsNCg0KICAgIHBhcnRQb3NpdGlvbnMuc29ydChmdW5jdGlvbihhLCBiKSB7cmV0dXJuIGEucG9zaXRpb24gLSBiLnBvc2l0aW9uO30pOw0KDQogICAgcGFydHMgPSBkYXRlLm1hdGNoKC8oXGQrKS9nKTsNCg0KICAgIGZvciAocGFydFBvc2l0aW9uIGluIHBhcnRQb3NpdGlvbnMpIHsNCiAgICAgIGlmIChwYXJ0UG9zaXRpb25zLmhhc093blByb3BlcnR5KHBhcnRQb3NpdGlvbikpIHsNCiAgICAgICAgaWYgKHBhcnRQb3NpdGlvbnNbcGFydFBvc2l0aW9uXS5wYXJ0ID09PSBwYXJ0KSB7DQogICAgICAgICAgcmV0dXJuIE51bWJlcihwYXJ0c1twYXJ0UG9zaXRpb25dKS50b1N0cmluZygpOw0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICB9DQoNCiAgZnVuY3Rpb24gY2xlYXJNZW51cygpIHsNCiAgICB2YXIgJHBhcmVudDsNCg0KICAgICQodG9nZ2xlKS5lYWNoKGZ1bmN0aW9uIChlKSB7DQogICAgICAkcGFyZW50ID0gZ2V0UGFyZW50KCQodGhpcykpOw0KDQogICAgICBpZiAoISRwYXJlbnQuaGFzQ2xhc3MoJ29wZW4nKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgJHBhcmVudC50cmlnZ2VyKGUgPSAkLkV2ZW50KCdoaWRlLmJmaGRhdGVwaWNrZXInKSk7DQoNCiAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KDQogICAgICAkcGFyZW50DQogICAgICAgIC5yZW1vdmVDbGFzcygnb3BlbicpDQogICAgICAgIC50cmlnZ2VyKCdoaWRkZW4uYmZoZGF0ZXBpY2tlcicpOw0KICAgIH0pOw0KICB9DQoNCiAgZnVuY3Rpb24gZ2V0UGFyZW50KCR0aGlzKSB7DQogICAgcmV0dXJuICR0aGlzLmNsb3Nlc3QoJy5iZmgtZGF0ZXBpY2tlcicpOw0KICB9DQoNCg0KICAvKiBEQVRFUElDS0VSIFBMVUdJTiBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIG9sZCA9ICQuZm4uYmZoZGF0ZXBpY2tlcjsNCg0KICAkLmZuLmJmaGRhdGVwaWNrZXIgPSBmdW5jdGlvbiAob3B0aW9uKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgZGF0YSwNCiAgICAgICAgICBvcHRpb25zOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICBkYXRhID0gJHRoaXMuZGF0YSgnYmZoZGF0ZXBpY2tlcicpOw0KICAgICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsNCiAgICAgIHRoaXMudHlwZSA9ICdiZmhkYXRlcGlja2VyJzsNCg0KICAgICAgaWYgKCFkYXRhKSB7DQogICAgICAgICR0aGlzLmRhdGEoJ2JmaGRhdGVwaWNrZXInLCAoZGF0YSA9IG5ldyBCRkhEYXRlUGlja2VyKHRoaXMsIG9wdGlvbnMpKSk7DQogICAgICB9DQogICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgZGF0YVtvcHRpb25dLmNhbGwoJHRoaXMpOw0KICAgICAgfQ0KICAgIH0pOw0KICB9Ow0KDQogICQuZm4uYmZoZGF0ZXBpY2tlci5Db25zdHJ1Y3RvciA9IEJGSERhdGVQaWNrZXI7DQoNCiAgJC5mbi5iZmhkYXRlcGlja2VyLmRlZmF1bHRzID0gew0KICAgIGljb246ICdnbHlwaGljb24gZ2x5cGhpY29uLWNhbGVuZGFyJywNCiAgICBhbGlnbjogJ2xlZnQnLA0KICAgIGlucHV0OiAnZm9ybS1jb250cm9sJywNCiAgICBwbGFjZWhvbGRlcjogJycsDQogICAgbmFtZTogJycsDQogICAgZGF0ZTogJ3RvZGF5JywNCiAgICBmb3JtYXQ6ICdtL2QveScsDQogICAgbWluOiAnJywNCiAgICBtYXg6ICcnLA0KICAgIGNsb3NlOiB0cnVlDQogIH07DQoNCg0KICAvKiBEQVRFUElDS0VSIE5PIENPTkZMSUNUDQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgJC5mbi5iZmhkYXRlcGlja2VyLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhkYXRlcGlja2VyID0gb2xkOw0KICAgIHJldHVybiB0aGlzOw0KICB9Ow0KDQoNCiAgLyogREFURVBJQ0tFUiBWQUxIT09LUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBvcmlnSG9vazsNCiAgaWYgKCQudmFsSG9va3MuZGl2KXsNCiAgICBvcmlnSG9vayA9ICQudmFsSG9va3MuZGl2Ow0KICB9DQogICQudmFsSG9va3MuZGl2ID0gew0KICAgIGdldDogZnVuY3Rpb24oZWwpIHsNCiAgICAgIGlmICgkKGVsKS5oYXNDbGFzcygnYmZoLWRhdGVwaWNrZXInKSkgew0KICAgICAgICByZXR1cm4gJChlbCkuZmluZCgnaW5wdXRbdHlwZT0idGV4dCJdJykudmFsKCk7DQogICAgICB9IGVsc2UgaWYgKG9yaWdIb29rKSB7DQogICAgICAgIHJldHVybiBvcmlnSG9vay5nZXQoZWwpOw0KICAgICAgfQ0KICAgIH0sDQogICAgc2V0OiBmdW5jdGlvbihlbCwgdmFsKSB7DQogICAgICBpZiAoJChlbCkuaGFzQ2xhc3MoJ2JmaC1kYXRlcGlja2VyJykpIHsNCiAgICAgICAgJChlbCkuZmluZCgnaW5wdXRbdHlwZT0idGV4dCJdJykudmFsKHZhbCk7DQogICAgICB9IGVsc2UgaWYgKG9yaWdIb29rKSB7DQogICAgICAgIHJldHVybiBvcmlnSG9vay5zZXQoZWwsdmFsKTsNCiAgICAgIH0NCiAgICB9DQogIH07DQoNCg0KICAvKiBEQVRFUElDS0VSIERBVEEtQVBJDQogICAqID09PT09PT09PT09PT09ICovDQoNCiAgJChkb2N1bWVudCkucmVhZHkoIGZ1bmN0aW9uICgpIHsNCiAgICAkKCdkaXYuYmZoLWRhdGVwaWNrZXInKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkZGF0ZXBpY2tlcjsNCg0KICAgICAgJGRhdGVwaWNrZXIgPSAkKHRoaXMpOw0KDQogICAgICAkZGF0ZXBpY2tlci5iZmhkYXRlcGlja2VyKCRkYXRlcGlja2VyLmRhdGEoKSk7DQogICAgfSk7DQogIH0pOw0KDQoNCiAgLyogQVBQTFkgVE8gU1RBTkRBUkQgREFURVBJQ0tFUiBFTEVNRU5UUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpDQogICAgLm9uKCdjbGljay5iZmhkYXRlcGlja2VyLmRhdGEtYXBpJywgY2xlYXJNZW51cyk7DQoNCn0od2luZG93LmpRdWVyeSk7DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1mb250cy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqIGNvbnRyaWJ1dGVkIGJ5IEFhcm9uIENvbGxlZ2VtYW4sIFNxdWlkb28sIDIwMTINCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQorZnVuY3Rpb24gKCQpIHsNCg0KICAndXNlIHN0cmljdCc7DQoNCg0KICAvKiBGT05UUyBDTEFTUyBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgQkZIRm9udHMgPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgew0KICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmJmaGZvbnRzLmRlZmF1bHRzLCBvcHRpb25zKTsNCiAgICB0aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsNCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdzZWxlY3QnKSkgew0KICAgICAgdGhpcy5hZGRGb250cygpOw0KICAgIH0NCg0KICAgIGlmICh0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCdiZmgtc2VsZWN0Ym94JykpIHsNCiAgICAgIHRoaXMuYWRkQm9vdHN0cmFwRm9udHMoKTsNCiAgICB9DQogIH07DQoNCiAgQkZIRm9udHMucHJvdG90eXBlID0gew0KDQogICAgY29uc3RydWN0b3I6IEJGSEZvbnRzLA0KDQogICAgZ2V0Rm9udHM6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIGZvbnQsDQogICAgICAgICAgZm9udHM7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXZhaWxhYmxlKSB7DQogICAgICAgIGZvbnRzID0gW107DQoNCiAgICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IHRoaXMub3B0aW9ucy5hdmFpbGFibGUuc3BsaXQoJywnKTsNCg0KICAgICAgICBmb3IgKGZvbnQgaW4gQkZIRm9udHNMaXN0KSB7DQogICAgICAgICAgaWYgKEJGSEZvbnRzTGlzdC5oYXNPd25Qcm9wZXJ0eShmb250KSkgew0KICAgICAgICAgICAgaWYgKCQuaW5BcnJheShmb250LCB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlKSA-PSAwKSB7DQogICAgICAgICAgICAgIGZvbnRzW2ZvbnRdID0gQkZIRm9udHNMaXN0W2ZvbnRdOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmb250czsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiBCRkhGb250c0xpc3Q7DQogICAgICB9DQogICAgfSwNCg0KICAgIGFkZEZvbnRzOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgdmFsdWUsDQogICAgICAgICAgZm9udCwNCiAgICAgICAgICBmb250czsNCg0KICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMuZm9udDsNCiAgICAgIGZvbnRzID0gdGhpcy5nZXRGb250cygpOw0KDQogICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoJycpOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmJsYW5rID09PSB0cnVlKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSIiPjwvb3B0aW9uPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGZvbnQgaW4gZm9udHMpIHsNCiAgICAgICAgaWYgKGZvbnRzLmhhc093blByb3BlcnR5KGZvbnQpKSB7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5hcHBlbmQoJzxvcHRpb24gdmFsdWU9IicgKyBmb250ICsgJyI-JyArIGZvbnQgKyAnPC9vcHRpb24-Jyk7DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwodmFsdWUpOw0KICAgIH0sDQoNCiAgICBhZGRCb290c3RyYXBGb250czogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgJGlucHV0LA0KICAgICAgICAgICR0b2dnbGUsDQogICAgICAgICAgJG9wdGlvbnMsDQogICAgICAgICAgdmFsdWUsDQogICAgICAgICAgZm9udCwNCiAgICAgICAgICBmb250czsNCg0KICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMuZm9udDsNCiAgICAgICRpbnB1dCA9IHRoaXMuJGVsZW1lbnQuZmluZCgnaW5wdXRbdHlwZT0iaGlkZGVuIl0nKTsNCiAgICAgICR0b2dnbGUgPSB0aGlzLiRlbGVtZW50LmZpbmQoJy5iZmgtc2VsZWN0Ym94LW9wdGlvbicpOw0KICAgICAgJG9wdGlvbnMgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ1tyb2xlPW9wdGlvbl0nKTsNCiAgICAgIGZvbnRzID0gdGhpcy5nZXRGb250cygpOw0KDQogICAgICAkb3B0aW9ucy5odG1sKCcnKTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibGFuayA9PT0gdHJ1ZSkgew0KICAgICAgICAkb3B0aW9ucy5hcHBlbmQoJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSIiPjwvYT48L2xpPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGZvbnQgaW4gZm9udHMpIHsNCiAgICAgICAgaWYgKGZvbnRzLmhhc093blByb3BlcnR5KGZvbnQpKSB7DQogICAgICAgICAgJG9wdGlvbnMuYXBwZW5kKCc8bGk-PGEgdGFiaW5kZXg9Ii0xIiBocmVmPSIjIiBzdHlsZT1cJ2ZvbnQtZmFtaWx5OiAnICsgZm9udHNbZm9udF0gKyAnXCcgZGF0YS1vcHRpb249IicgKyBmb250ICsgJyI-JyArIGZvbnQgKyAnPC9hPjwvbGk-Jyk7DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwodmFsdWUpOw0KICAgIH0NCg0KICB9Ow0KDQoNCiAgLyogRk9OVFMgUExVR0lOIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgb2xkID0gJC5mbi5iZmhmb250czsNCg0KICAkLmZuLmJmaGZvbnRzID0gZnVuY3Rpb24gKG9wdGlvbikgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIGRhdGEsDQogICAgICAgICAgb3B0aW9uczsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgZGF0YSA9ICR0aGlzLmRhdGEoJ2JmaGZvbnRzJyk7DQogICAgICBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgb3B0aW9uOw0KDQogICAgICBpZiAoIWRhdGEpIHsNCiAgICAgICAgJHRoaXMuZGF0YSgnYmZoZm9udHMnLCAoZGF0YSA9IG5ldyBCRkhGb250cyh0aGlzLCBvcHRpb25zKSkpOw0KICAgICAgfQ0KICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7DQogICAgICAgIGRhdGFbb3B0aW9uXS5jYWxsKCR0aGlzKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfTsNCg0KICAkLmZuLmJmaGZvbnRzLkNvbnN0cnVjdG9yID0gQkZIRm9udHM7DQoNCiAgJC5mbi5iZmhmb250cy5kZWZhdWx0cyA9IHsNCiAgICBmb250OiAnJywNCiAgICBhdmFpbGFibGU6ICcnLA0KICAgIGJsYW5rOiB0cnVlDQogIH07DQoNCg0KICAvKiBGT05UUyBOTyBDT05GTElDVA0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQuZm4uYmZoZm9udHMubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsNCiAgICAkLmZuLmJmaGZvbnRzID0gb2xkOw0KICAgIHJldHVybiB0aGlzOw0KICB9Ow0KDQoNCiAgLyogRk9OVFMgREFUQS1BUEkNCiAgICogPT09PT09PT09PT09PT0gKi8NCg0KICAkKGRvY3VtZW50KS5yZWFkeSggZnVuY3Rpb24gKCkgew0KICAgICQoJ2Zvcm0gc2VsZWN0LmJmaC1mb250cywgc3Bhbi5iZmgtZm9udHMsIGRpdi5iZmgtZm9udHMnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkZm9udHM7DQoNCiAgICAgICRmb250cyA9ICQodGhpcyk7DQoNCiAgICAgIGlmICgkZm9udHMuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgICAkZm9udHMuYmZoc2VsZWN0Ym94KCRmb250cy5kYXRhKCkpOw0KICAgICAgfQ0KICAgICAgJGZvbnRzLmJmaGZvbnRzKCRmb250cy5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KfSh3aW5kb3cualF1ZXJ5KTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLWZvbnRzaXplcy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqIGNvbnRyaWJ1dGVkIGJ5IEFhcm9uIENvbGxlZ2VtYW4sIFNxdWlkb28sIDIwMTINCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQorZnVuY3Rpb24gKCQpIHsNCg0KICAndXNlIHN0cmljdCc7DQoNCg0KICAvKiBGT05UU0laRVMgQ0xBU1MgREVGSU5JVElPTg0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIEJGSEZvbnRTaXplcyA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7DQogICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sICQuZm4uYmZoZm9udHNpemVzLmRlZmF1bHRzLCBvcHRpb25zKTsNCiAgICB0aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsNCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdzZWxlY3QnKSkgew0KICAgICAgdGhpcy5hZGRGb250U2l6ZXMoKTsNCiAgICB9DQoNCiAgICBpZiAodGhpcy4kZWxlbWVudC5oYXNDbGFzcygnYmZoLXNlbGVjdGJveCcpKSB7DQogICAgICB0aGlzLmFkZEJvb3RzdHJhcEZvbnRTaXplcygpOw0KICAgIH0NCiAgfTsNCg0KICBCRkhGb250U2l6ZXMucHJvdG90eXBlID0gew0KDQogICAgY29uc3RydWN0b3I6IEJGSEZvbnRTaXplcywNCg0KICAgIGdldEZvbnRzaXplczogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgZm9udHNpemUsDQogICAgICAgICAgZm9udHNpemVzOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmF2YWlsYWJsZSkgew0KICAgICAgICBmb250c2l6ZXMgPSBbXTsNCg0KICAgICAgICB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlID0gdGhpcy5vcHRpb25zLmF2YWlsYWJsZS5zcGxpdCgnLCcpOw0KDQogICAgICAgIGZvciAoZm9udHNpemUgaW4gQkZIRm9udFNpemVzTGlzdCkgew0KICAgICAgICAgIGlmIChCRkhGb250U2l6ZXNMaXN0Lmhhc093blByb3BlcnR5KGZvbnRzaXplKSkgew0KICAgICAgICAgICAgaWYgKCQuaW5BcnJheShmb250c2l6ZSwgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSkgPj0gMCkgew0KICAgICAgICAgICAgICBmb250c2l6ZXNbZm9udHNpemVdID0gQkZIRm9udFNpemVzTGlzdFtmb250c2l6ZV07DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZvbnRzaXplczsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiBCRkhGb250U2l6ZXNMaXN0Ow0KICAgICAgfQ0KICAgIH0sDQoNCiAgICBhZGRGb250U2l6ZXM6IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciB2YWx1ZSwNCiAgICAgICAgICBmb250c2l6ZSwNCiAgICAgICAgICBmb250c2l6ZXM7DQoNCiAgICAgIHZhbHVlID0gdGhpcy5vcHRpb25zLmZvbnRzaXplOw0KICAgICAgZm9udHNpemVzID0gdGhpcy5nZXRGb250c2l6ZXMoKTsNCg0KICAgICAgdGhpcy4kZWxlbWVudC5odG1sKCcnKTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibGFuayA9PT0gdHJ1ZSkgew0KICAgICAgICB0aGlzLiRlbGVtZW50LmFwcGVuZCgnPG9wdGlvbiB2YWx1ZT0iIj48L29wdGlvbj4nKTsNCiAgICAgIH0NCg0KICAgICAgZm9yIChmb250c2l6ZSBpbiBmb250c2l6ZXMpIHsNCiAgICAgICAgaWYgKGZvbnRzaXplcy5oYXNPd25Qcm9wZXJ0eShmb250c2l6ZSkpIHsNCiAgICAgICAgICB0aGlzLiRlbGVtZW50LmFwcGVuZCgnPG9wdGlvbiB2YWx1ZT0iJyArIGZvbnRzaXplICsgJyI-JyArIGZvbnRzaXplc1tmb250c2l6ZV0gKyAnPC9vcHRpb24-Jyk7DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwodmFsdWUpOw0KICAgIH0sDQoNCiAgICBhZGRCb290c3RyYXBGb250U2l6ZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyICRpbnB1dCwNCiAgICAgICAgICAkdG9nZ2xlLA0KICAgICAgICAgICRvcHRpb25zLA0KICAgICAgICAgIHZhbHVlLA0KICAgICAgICAgIGZvbnRzaXplLA0KICAgICAgICAgIGZvbnRzaXplczsNCg0KICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMuZm9udHNpemU7DQogICAgICAkaW5wdXQgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ2lucHV0W3R5cGU9ImhpZGRlbiJdJyk7DQogICAgICAkdG9nZ2xlID0gdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXNlbGVjdGJveC1vcHRpb24nKTsNCiAgICAgICRvcHRpb25zID0gdGhpcy4kZWxlbWVudC5maW5kKCdbcm9sZT1vcHRpb25dJyk7DQogICAgICBmb250c2l6ZXMgPSB0aGlzLmdldEZvbnRzaXplcygpOw0KDQogICAgICAkb3B0aW9ucy5odG1sKCcnKTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibGFuayA9PT0gdHJ1ZSkgew0KICAgICAgICAkb3B0aW9ucy5hcHBlbmQoJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSIiPjwvYT48L2xpPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGZvbnRzaXplIGluIGZvbnRzaXplcykgew0KICAgICAgICBpZiAoZm9udHNpemVzLmhhc093blByb3BlcnR5KGZvbnRzaXplKSkgew0KICAgICAgICAgICRvcHRpb25zLmFwcGVuZCgnPGxpPjxhIHRhYmluZGV4PSItMSIgaHJlZj0iIyIgZGF0YS1vcHRpb249IicgKyBmb250c2l6ZSArICciPicgKyBmb250c2l6ZXNbZm9udHNpemVdICsgJzwvYT48L2xpPicpOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIHRoaXMuJGVsZW1lbnQudmFsKHZhbHVlKTsNCiAgICB9DQoNCiAgfTsNCg0KDQogIC8qIEZPTlRTSVpFUyBQTFVHSU4gREVGSU5JVElPTg0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBvbGQgPSAkLmZuLmJmaGZvbnRzaXplczsNCg0KICAkLmZuLmJmaGZvbnRzaXplcyA9IGZ1bmN0aW9uIChvcHRpb24pIHsNCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICBkYXRhLA0KICAgICAgICAgIG9wdGlvbnM7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCiAgICAgIGRhdGEgPSAkdGhpcy5kYXRhKCdiZmhmb250c2l6ZXMnKTsNCiAgICAgIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb247DQoNCiAgICAgIGlmICghZGF0YSkgew0KICAgICAgICAkdGhpcy5kYXRhKCdiZmhmb250c2l6ZXMnLCAoZGF0YSA9IG5ldyBCRkhGb250U2l6ZXModGhpcywgb3B0aW9ucykpKTsNCiAgICAgIH0NCiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykgew0KICAgICAgICBkYXRhW29wdGlvbl0uY2FsbCgkdGhpcyk7DQogICAgICB9DQogICAgfSk7DQogIH07DQoNCiAgJC5mbi5iZmhmb250c2l6ZXMuQ29uc3RydWN0b3IgPSBCRkhGb250U2l6ZXM7DQoNCiAgJC5mbi5iZmhmb250c2l6ZXMuZGVmYXVsdHMgPSB7DQogICAgZm9udHNpemU6ICcnLA0KICAgIGF2YWlsYWJsZTogJycsDQogICAgYmxhbms6IHRydWUNCiAgfTsNCg0KDQogIC8qIEZPTlRTSVpFUyBOTyBDT05GTElDVA0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQuZm4uYmZoZm9udHNpemVzLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhmb250c2l6ZXMgPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBGT05UU0laRVMgREFUQS1BUEkNCiAgICogPT09PT09PT09PT09PT0gKi8NCg0KICAkKGRvY3VtZW50KS5yZWFkeSggZnVuY3Rpb24gKCkgew0KICAgICQoJ2Zvcm0gc2VsZWN0LmJmaC1mb250c2l6ZXMsIHNwYW4uYmZoLWZvbnRzaXplcywgZGl2LmJmaC1mb250c2l6ZXMnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkZm9udFNpemVzOw0KDQogICAgICAkZm9udFNpemVzID0gJCh0aGlzKTsNCg0KICAgICAgaWYgKCRmb250U2l6ZXMuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgICAkZm9udFNpemVzLmJmaHNlbGVjdGJveCgkZm9udFNpemVzLmRhdGEoKSk7DQogICAgICB9DQogICAgICAkZm9udFNpemVzLmJmaGZvbnRzaXplcygkZm9udFNpemVzLmRhdGEoKSk7DQogICAgfSk7DQogIH0pOw0KDQp9KHdpbmRvdy5qUXVlcnkpOw0KDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBib290c3RyYXAtZm9ybWhlbHBlcnMtZ29vZ2xlZm9udHMuanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTIgVmluY2VudCBMYW1hbm5hDQogKiBjb250cmlidXRlZCBieSBBYXJvbiBDb2xsZWdlbWFuLCBTcXVpZG9vLCAyMDEyDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KK2Z1bmN0aW9uICgkKSB7DQoNCiAgJ3VzZSBzdHJpY3QnOw0KDQoNCiAgLyogR09PR0xFIEZPTlRTIENMQVNTIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBCRkhHb29nbGVGb250cyA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7DQogICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sICQuZm4uYmZoZ29vZ2xlZm9udHMuZGVmYXVsdHMsIG9wdGlvbnMpOw0KICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaXMoJ3NlbGVjdCcpKSB7DQogICAgICB0aGlzLmFkZEZvbnRzKCk7DQogICAgfQ0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgdGhpcy5hZGRCb290c3RyYXBGb250cygpOw0KICAgIH0NCiAgfTsNCg0KICBCRkhHb29nbGVGb250cy5wcm90b3R5cGUgPSB7DQoNCiAgICBjb25zdHJ1Y3RvcjogQkZIR29vZ2xlRm9udHMsDQoNCiAgICBnZXRGb250czogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgZm9udCwNCiAgICAgICAgICBmb250czsNCg0KICAgICAgZm9udHMgPSBbXTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5zdWJzZXQpIHsNCiAgICAgICAgZm9yIChmb250IGluIEJGSEdvb2dsZUZvbnRzTGlzdC5pdGVtcykgew0KICAgICAgICAgIGlmIChCRkhHb29nbGVGb250c0xpc3QuaXRlbXMuaGFzT3duUHJvcGVydHkoZm9udCkpIHsNCiAgICAgICAgICAgIGlmICgkLmluQXJyYXkodGhpcy5vcHRpb25zLnN1YnNldCwgQkZIR29vZ2xlRm9udHNMaXN0Lml0ZW1zW2ZvbnRdLnN1YnNldHMpID49IDApIHsNCiAgICAgICAgICAgICAgZm9udHNbQkZIR29vZ2xlRm9udHNMaXN0Lml0ZW1zW2ZvbnRdLmZhbWlseV0gPSB7DQogICAgICAgICAgICAgICAgJ2luZm8nOiBCRkhHb29nbGVGb250c0xpc3QuaXRlbXNbZm9udF0sDQogICAgICAgICAgICAgICAgJ2luZGV4JzogcGFyc2VJbnQoZm9udCwgMTApDQogICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5hdmFpbGFibGUpIHsNCiAgICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IHRoaXMub3B0aW9ucy5hdmFpbGFibGUuc3BsaXQoJywnKTsNCg0KICAgICAgICBmb3IgKGZvbnQgaW4gQkZIR29vZ2xlRm9udHNMaXN0Lml0ZW1zKSB7DQogICAgICAgICAgaWYgKEJGSEdvb2dsZUZvbnRzTGlzdC5pdGVtcy5oYXNPd25Qcm9wZXJ0eShmb250KSkgew0KICAgICAgICAgICAgaWYgKCQuaW5BcnJheShCRkhHb29nbGVGb250c0xpc3QuaXRlbXNbZm9udF0uZmFtaWx5LCB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlKSA-PSAwKSB7DQogICAgICAgICAgICAgIGZvbnRzW0JGSEdvb2dsZUZvbnRzTGlzdC5pdGVtc1tmb250XS5mYW1pbHldID0gew0KICAgICAgICAgICAgICAgICdpbmZvJzogQkZIR29vZ2xlRm9udHNMaXN0Lml0ZW1zW2ZvbnRdLA0KICAgICAgICAgICAgICAgICdpbmRleCc6IHBhcnNlSW50KGZvbnQsIDEwKQ0KICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgZm9yIChmb250IGluIEJGSEdvb2dsZUZvbnRzTGlzdC5pdGVtcykgew0KICAgICAgICAgIGlmIChCRkhHb29nbGVGb250c0xpc3QuaXRlbXMuaGFzT3duUHJvcGVydHkoZm9udCkpIHsNCiAgICAgICAgICAgIGZvbnRzW0JGSEdvb2dsZUZvbnRzTGlzdC5pdGVtc1tmb250XS5mYW1pbHldID0gew0KICAgICAgICAgICAgICAnaW5mbyc6IEJGSEdvb2dsZUZvbnRzTGlzdC5pdGVtc1tmb250XSwNCiAgICAgICAgICAgICAgJ2luZGV4JzogcGFyc2VJbnQoZm9udCwgMTApDQogICAgICAgICAgICB9Ow0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICByZXR1cm4gZm9udHM7DQogICAgfSwNCg0KICAgIGFkZEZvbnRzOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgdmFsdWUsDQogICAgICAgICAgZm9udCwNCiAgICAgICAgICBmb250czsNCg0KICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMuZm9udDsNCiAgICAgIGZvbnRzID0gdGhpcy5nZXRGb250cygpOw0KDQogICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoJycpOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmJsYW5rID09PSB0cnVlKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSIiPjwvb3B0aW9uPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGZvbnQgaW4gZm9udHMpIHsNCiAgICAgICAgaWYgKGZvbnRzLmhhc093blByb3BlcnR5KGZvbnQpKSB7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5hcHBlbmQoJzxvcHRpb24gdmFsdWU9IicgKyBmb250c1tmb250XS5pbmZvLmZhbWlseSArICciPicgKyBmb250c1tmb250XS5pbmZvLmZhbWlseSArICc8L29wdGlvbj4nKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KICAgIGFkZEJvb3RzdHJhcEZvbnRzOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciAkaW5wdXQsDQogICAgICAgICAgJHRvZ2dsZSwNCiAgICAgICAgICAkb3B0aW9ucywNCiAgICAgICAgICB2YWx1ZSwNCiAgICAgICAgICBmb250LA0KICAgICAgICAgIGZvbnRzOw0KDQogICAgICB2YWx1ZSA9IHRoaXMub3B0aW9ucy5mb250Ow0KICAgICAgJGlucHV0ID0gdGhpcy4kZWxlbWVudC5maW5kKCdpbnB1dFt0eXBlPSJoaWRkZW4iXScpOw0KICAgICAgJHRvZ2dsZSA9IHRoaXMuJGVsZW1lbnQuZmluZCgnLmJmaC1zZWxlY3Rib3gtb3B0aW9uJyk7DQogICAgICAkb3B0aW9ucyA9IHRoaXMuJGVsZW1lbnQuZmluZCgnW3JvbGU9b3B0aW9uXScpOw0KICAgICAgZm9udHMgPSB0aGlzLmdldEZvbnRzKCk7DQoNCiAgICAgICRvcHRpb25zLmh0bWwoJycpOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmJsYW5rID09PSB0cnVlKSB7DQogICAgICAgICRvcHRpb25zLmFwcGVuZCgnPGxpPjxhIHRhYmluZGV4PSItMSIgaHJlZj0iIyIgZGF0YS1vcHRpb249IiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Ij48L2E-PC9saT4nKTsNCiAgICAgIH0NCg0KICAgICAgZm9yIChmb250IGluIGZvbnRzKSB7DQogICAgICAgIGlmIChmb250cy5oYXNPd25Qcm9wZXJ0eShmb250KSkgew0KICAgICAgICAgICRvcHRpb25zLmFwcGVuZCgnPGxpPjxhIHRhYmluZGV4PSItMSIgaHJlZj0iIyIgc3R5bGU9ImJhY2tncm91bmQtcG9zaXRpb246IDAgLScgKyAoKGZvbnRzW2ZvbnRdLmluZGV4ICogMzApIC0gMikgKyAncHg7IiBkYXRhLW9wdGlvbj0iJyArIGZvbnRzW2ZvbnRdLmluZm8uZmFtaWx5ICsgJyI-JyArIGZvbnRzW2ZvbnRdLmluZm8uZmFtaWx5ICsgJzwvYT48L2xpPicpOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIHRoaXMuJGVsZW1lbnQudmFsKHZhbHVlKTsNCiAgICB9DQoNCiAgfTsNCg0KDQogIC8qIEdPT0dMRSBGT05UUyBQTFVHSU4gREVGSU5JVElPTg0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBvbGQgPSAkLmZuLmJmaGdvb2dsZWZvbnRzOw0KDQogICQuZm4uYmZoZ29vZ2xlZm9udHMgPSBmdW5jdGlvbiAob3B0aW9uKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgZGF0YSwNCiAgICAgICAgICBvcHRpb25zOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICBkYXRhID0gJHRoaXMuZGF0YSgnYmZoZ29vZ2xlZm9udHMnKTsNCiAgICAgIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb247DQoNCiAgICAgIGlmICghZGF0YSkgew0KICAgICAgICAkdGhpcy5kYXRhKCdiZmhnb29nbGVmb250cycsIChkYXRhID0gbmV3IEJGSEdvb2dsZUZvbnRzKHRoaXMsIG9wdGlvbnMpKSk7DQogICAgICB9DQogICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgZGF0YVtvcHRpb25dLmNhbGwoJHRoaXMpOw0KICAgICAgfQ0KICAgIH0pOw0KICB9Ow0KDQogICQuZm4uYmZoZ29vZ2xlZm9udHMuQ29uc3RydWN0b3IgPSBCRkhHb29nbGVGb250czsNCg0KICAkLmZuLmJmaGdvb2dsZWZvbnRzLmRlZmF1bHRzID0gew0KICAgIGZvbnQ6ICcnLA0KICAgIGF2YWlsYWJsZTogJycsDQogICAgc3Vic2V0OiAnJywNCiAgICBibGFuazogdHJ1ZQ0KICB9Ow0KDQoNCiAgLyogR09PR0xFIEZPTlRTIE5PIENPTkZMSUNUDQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgJC5mbi5iZmhnb29nbGVmb250cy5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkgew0KICAgICQuZm4uYmZoZ29vZ2xlZm9udHMgPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBHT09HTEUgRk9OVFMgREFUQS1BUEkNCiAgICogPT09PT09PT09PT09PT0gKi8NCg0KICAkKGRvY3VtZW50KS5yZWFkeSggZnVuY3Rpb24gKCkgew0KICAgICQoJ2Zvcm0gc2VsZWN0LmJmaC1nb29nbGVmb250cywgc3Bhbi5iZmgtZ29vZ2xlZm9udHMsIGRpdi5iZmgtZ29vZ2xlZm9udHMnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkZ29vZ2xlRm9udHM7DQoNCiAgICAgICRnb29nbGVGb250cyA9ICQodGhpcyk7DQoNCiAgICAgIGlmICgkZ29vZ2xlRm9udHMuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgICAkZ29vZ2xlRm9udHMuYmZoc2VsZWN0Ym94KCRnb29nbGVGb250cy5kYXRhKCkpOw0KICAgICAgfQ0KICAgICAgJGdvb2dsZUZvbnRzLmJmaGdvb2dsZWZvbnRzKCRnb29nbGVGb250cy5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KfSh3aW5kb3cualF1ZXJ5KTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLWxhbmd1YWdlcy5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqIENvbnRyaWJ1dGlvbiAyMDEzIFRvbWFzeiBLdXRlcg0KICoNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCitmdW5jdGlvbiAoJCkgew0KDQogICd1c2Ugc3RyaWN0JzsNCg0KDQogIC8qIExBTkdVQUdFUyBDTEFTUyBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgQkZITGFuZ3VhZ2VzID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsNCiAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgJC5mbi5iZmhsYW5ndWFnZXMuZGVmYXVsdHMsIG9wdGlvbnMpOw0KICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaXMoJ3NlbGVjdCcpKSB7DQogICAgICB0aGlzLmFkZExhbmd1YWdlcygpOw0KICAgIH0NCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdzcGFuJykpIHsNCiAgICAgIHRoaXMuZGlzcGxheUxhbmd1YWdlKCk7DQogICAgfQ0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgdGhpcy5hZGRCb290c3RyYXBMYW5ndWFnZXMoKTsNCiAgICB9DQogIH07DQoNCiAgQkZITGFuZ3VhZ2VzLnByb3RvdHlwZSA9IHsNCg0KICAgIGNvbnN0cnVjdG9yOiBCRkhMYW5ndWFnZXMsDQoNCiAgICBnZXRMYW5ndWFnZXM6IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBzcGxpdCwNCiAgICAgICAgICBsYW5ndWFnZSwNCiAgICAgICAgICBsYW5ndWFnZXM7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXZhaWxhYmxlKSB7DQogICAgICAgIGxhbmd1YWdlcyA9IFtdOw0KDQogICAgICAgIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgPSB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlLnNwbGl0KCcsJyk7DQoNCiAgICAgICAgZm9yIChsYW5ndWFnZSBpbiB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlKSB7DQogICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5hdmFpbGFibGUuaGFzT3duUHJvcGVydHkobGFuZ3VhZ2UpKSB7DQogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF2YWlsYWJsZVtsYW5ndWFnZV0uaW5kZXhPZignXycpICE9PSAtMSkgew0KICAgICAgICAgICAgICBzcGxpdCA9IHRoaXMub3B0aW9ucy5hdmFpbGFibGVbbGFuZ3VhZ2VdLnNwbGl0KCdfJyk7DQogICAgICAgICAgICAgIGxhbmd1YWdlc1tzcGxpdFswXV0gPSB7bmFtZTogQkZITGFuZ3VhZ2VzTGlzdFtzcGxpdFswXV0sIGNvdW50cnk6IHNwbGl0WzFdfTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgIGxhbmd1YWdlc1t0aGlzLm9wdGlvbnMuYXZhaWxhYmxlW2xhbmd1YWdlXV0gPSBCRkhMYW5ndWFnZXNMaXN0W3RoaXMub3B0aW9ucy5hdmFpbGFibGVbbGFuZ3VhZ2VdXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gbGFuZ3VhZ2VzOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgcmV0dXJuIEJGSExhbmd1YWdlc0xpc3Q7DQogICAgICB9DQogICAgfSwNCg0KICAgIGFkZExhbmd1YWdlczogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIHNwbGl0LA0KICAgICAgICAgIHZhbHVlLA0KICAgICAgICAgIGxhbmd1YWdlcywNCiAgICAgICAgICBsYW5ndWFnZTsNCg0KICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMubGFuZ3VhZ2U7DQogICAgICBsYW5ndWFnZXMgPSB0aGlzLmdldExhbmd1YWdlcygpOw0KDQogICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoJycpOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmJsYW5rID09PSB0cnVlKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSIiPjwvb3B0aW9uPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGxhbmd1YWdlIGluIGxhbmd1YWdlcykgew0KICAgICAgICBpZiAobGFuZ3VhZ2VzLmhhc093blByb3BlcnR5KGxhbmd1YWdlKSkgew0KICAgICAgICAgIGlmIChsYW5ndWFnZXNbbGFuZ3VhZ2VdLmhhc093blByb3BlcnR5KCduYW1lJykpIHsNCiAgICAgICAgICAgIHRoaXMuJGVsZW1lbnQuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSInICsgbGFuZ3VhZ2UgKyAnXycgKyBsYW5ndWFnZXNbbGFuZ3VhZ2VdLmNvdW50cnkgKyAnIj4nICsgbGFuZ3VhZ2VzW2xhbmd1YWdlXS5uYW1lLnRvUHJvcGVyQ2FzZSgpICsgJyAoJyArIEJGSENvdW50cmllc0xpc3RbbGFuZ3VhZ2VzW2xhbmd1YWdlXS5jb3VudHJ5XSArICcpPC9vcHRpb24-Jyk7DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHRoaXMuJGVsZW1lbnQuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSInICsgbGFuZ3VhZ2UgKyAnIj4nICsgbGFuZ3VhZ2VzW2xhbmd1YWdlXS50b1Byb3BlckNhc2UoKSArICc8L29wdGlvbj4nKTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwodmFsdWUpOw0KICAgIH0sDQoNCiAgICBhZGRCb290c3RyYXBMYW5ndWFnZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyICRpbnB1dCwNCiAgICAgICAgICAkdG9nZ2xlLA0KICAgICAgICAgICRvcHRpb25zLA0KICAgICAgICAgIHZhbHVlLA0KICAgICAgICAgIGxhbmd1YWdlcywNCiAgICAgICAgICBsYW5ndWFnZSwNCiAgICAgICAgICBzcGxpdDsNCg0KICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMubGFuZ3VhZ2U7DQogICAgICAkaW5wdXQgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ2lucHV0W3R5cGU9ImhpZGRlbiJdJyk7DQogICAgICAkdG9nZ2xlID0gdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXNlbGVjdGJveC1vcHRpb24nKTsNCiAgICAgICRvcHRpb25zID0gdGhpcy4kZWxlbWVudC5maW5kKCdbcm9sZT1vcHRpb25dJyk7DQogICAgICBsYW5ndWFnZXMgPSB0aGlzLmdldExhbmd1YWdlcygpOw0KDQogICAgICAkb3B0aW9ucy5odG1sKCcnKTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibGFuayA9PT0gdHJ1ZSkgew0KICAgICAgICAkb3B0aW9ucy5hcHBlbmQoJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSIiPjwvYT48L2xpPicpOw0KICAgICAgfQ0KDQogICAgICBmb3IgKGxhbmd1YWdlIGluIGxhbmd1YWdlcykgew0KICAgICAgICBpZiAobGFuZ3VhZ2VzLmhhc093blByb3BlcnR5KGxhbmd1YWdlKSkgew0KICAgICAgICAgIGlmIChsYW5ndWFnZXNbbGFuZ3VhZ2VdLmhhc093blByb3BlcnR5KCduYW1lJykpIHsNCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZmxhZ3MgPT09IHRydWUpIHsNCiAgICAgICAgICAgICAgJG9wdGlvbnMuYXBwZW5kKCc8bGk-PGEgdGFiaW5kZXg9Ii0xIiBocmVmPSIjIiBkYXRhLW9wdGlvbj0iJyArIGxhbmd1YWdlICsgJ18nICsgbGFuZ3VhZ2VzW2xhbmd1YWdlXS5jb3VudHJ5ICsgJyI-PGkgY2xhc3M9ImdseXBoaWNvbiBiZmgtZmxhZy0nICsgbGFuZ3VhZ2VzW2xhbmd1YWdlXS5jb3VudHJ5ICsgJyI-PC9pPicgKyBsYW5ndWFnZXNbbGFuZ3VhZ2VdLm5hbWUudG9Qcm9wZXJDYXNlKCkgKyAnPC9hPjwvbGk-Jyk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAkb3B0aW9ucy5hcHBlbmQoJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSInICsgbGFuZ3VhZ2UgKyAnXycgKyBsYW5ndWFnZXNbbGFuZ3VhZ2VdLmNvdW50cnkgKyAnIj4nICsgbGFuZ3VhZ2VzW2xhbmd1YWdlXS5uYW1lLnRvUHJvcGVyQ2FzZSgpICsgJyAoJyArIEJGSENvdW50cmllc0xpc3RbbGFuZ3VhZ2VzW2xhbmd1YWdlXS5jb3VudHJ5XSArICcpPC9hPjwvbGk-Jyk7DQogICAgICAgICAgICB9DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRvcHRpb25zLmFwcGVuZCgnPGxpPjxhIHRhYmluZGV4PSItMSIgaHJlZj0iIyIgZGF0YS1vcHRpb249IicgKyBsYW5ndWFnZSArICciPicgKyBsYW5ndWFnZXNbbGFuZ3VhZ2VdICsgJzwvYT48L2xpPicpOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KICAgIGRpc3BsYXlMYW5ndWFnZTogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIHZhbHVlOw0KDQogICAgICB2YWx1ZSA9IHRoaXMub3B0aW9ucy5sYW5ndWFnZTsNCg0KICAgICAgaWYgKHZhbHVlLmluZGV4T2YoJ18nKSAhPT0gLTEpIHsNCiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zcGxpdCgnXycpOw0KICAgICAgICBpZiAodGhpcy5vcHRpb25zLmZsYWdzID09PSB0cnVlKSB7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5odG1sKCc8aSBjbGFzcz0iZ2x5cGhpY29uIGJmaC1mbGFnLScgKyB2YWx1ZVsxXSArICciPjwvaT4gJyArIEJGSExhbmd1YWdlc0xpc3RbdmFsdWVbMF1dLnRvUHJvcGVyQ2FzZSgpKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoQkZITGFuZ3VhZ2VzTGlzdFt2YWx1ZVswXV0udG9Qcm9wZXJDYXNlKCkgKyAnICgnICsgQkZIQ291bnRyaWVzTGlzdFt2YWx1ZVsxXV0gKyAnKScpOw0KICAgICAgICB9DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoQkZITGFuZ3VhZ2VzTGlzdFt2YWx1ZV0udG9Qcm9wZXJDYXNlKCkpOw0KICAgICAgfQ0KICAgIH0NCg0KICB9Ow0KDQoNCiAgLyogTEFOR1VBR0VTIFBMVUdJTiBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIG9sZCA9ICQuZm4uYmZobGFuZ3VhZ2VzOw0KDQogICQuZm4uYmZobGFuZ3VhZ2VzID0gZnVuY3Rpb24gKG9wdGlvbikgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIGRhdGEsDQogICAgICAgICAgb3B0aW9uczsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgZGF0YSA9ICR0aGlzLmRhdGEoJ2JmaGxhbmd1YWdlcycpOw0KICAgICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsNCg0KICAgICAgaWYgKCFkYXRhKSB7DQogICAgICAgICR0aGlzLmRhdGEoJ2JmaGxhbmd1YWdlcycsIChkYXRhID0gbmV3IEJGSExhbmd1YWdlcyh0aGlzLCBvcHRpb25zKSkpOw0KICAgICAgfQ0KICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7DQogICAgICAgIGRhdGFbb3B0aW9uXS5jYWxsKCR0aGlzKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfTsNCg0KICAkLmZuLmJmaGxhbmd1YWdlcy5Db25zdHJ1Y3RvciA9IEJGSExhbmd1YWdlczsNCg0KICAkLmZuLmJmaGxhbmd1YWdlcy5kZWZhdWx0cyA9IHsNCiAgICBsYW5ndWFnZTogJycsDQogICAgYXZhaWxhYmxlOiAnJywNCiAgICBmbGFnczogZmFsc2UsDQogICAgYmxhbms6IHRydWUNCiAgfTsNCg0KDQogIC8qIExBTkdVQUdFUyBOTyBDT05GTElDVA0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQuZm4uYmZobGFuZ3VhZ2VzLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhsYW5ndWFnZXMgPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBMQU5HVUFHRVMgREFUQS1BUEkNCiAgICogPT09PT09PT09PT09PT0gKi8NCg0KICAkKGRvY3VtZW50KS5yZWFkeSggZnVuY3Rpb24gKCkgew0KICAgICQoJ2Zvcm0gc2VsZWN0LmJmaC1sYW5ndWFnZXMsIHNwYW4uYmZoLWxhbmd1YWdlcywgZGl2LmJmaC1sYW5ndWFnZXMnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkbGFuZ3VhZ2VzOw0KDQogICAgICAkbGFuZ3VhZ2VzID0gJCh0aGlzKTsNCg0KICAgICAgaWYgKCRsYW5ndWFnZXMuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgICAkbGFuZ3VhZ2VzLmJmaHNlbGVjdGJveCgkbGFuZ3VhZ2VzLmRhdGEoKSk7DQogICAgICB9DQogICAgICAkbGFuZ3VhZ2VzLmJmaGxhbmd1YWdlcygkbGFuZ3VhZ2VzLmRhdGEoKSk7DQogICAgfSk7DQogIH0pOw0KDQoNCiAgLyogTEFOR1VBR0VTIEhFTFBFUlMNCiAgICogPT09PT09PT09PT09PT0gKi8NCg0KICBTdHJpbmcucHJvdG90eXBlLnRvUHJvcGVyQ2FzZSA9IGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gdGhpcy5yZXBsYWNlKC9cd1xTKi9nLCBmdW5jdGlvbih0eHQpe3JldHVybiB0eHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eHQuc3Vic3RyKDEpLnRvTG93ZXJDYXNlKCk7fSk7DQogIH07DQoNCn0od2luZG93LmpRdWVyeSk7DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1udW1iZXIuanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTIgVmluY2VudCBMYW1hbm5hDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KK2Z1bmN0aW9uICgkKSB7DQoNCiAgJ3VzZSBzdHJpY3QnOw0KDQoNCiAgLyogTlVNQkVSIENMQVNTIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBCRkhOdW1iZXIgPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgew0KICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmJmaG51bWJlci5kZWZhdWx0cywgb3B0aW9ucyk7DQogICAgdGhpcy4kZWxlbWVudCA9ICQoZWxlbWVudCk7DQoNCiAgICB0aGlzLmluaXRJbnB1dCgpOw0KICB9Ow0KDQogIEJGSE51bWJlci5wcm90b3R5cGUgPSB7DQoNCiAgICBjb25zdHJ1Y3RvcjogQkZITnVtYmVyLA0KDQogICAgaW5pdElucHV0OiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciB2YWx1ZTsNCiAgICAgIA0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5idXR0b25zID09PSB0cnVlKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQud3JhcCgnPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPjwvZGl2PicpOw0KICAgICAgICB0aGlzLiRlbGVtZW50LnBhcmVudCgpLmFwcGVuZCgnPHNwYW4gY2xhc3M9ImlucHV0LWdyb3VwLWFkZG9uIGJmaC1udW1iZXItYnRuIGluYyI-PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi11cCI-PC9zcGFuPjwvc3Bhbj4nKTsNCiAgICAgICAgdGhpcy4kZWxlbWVudC5wYXJlbnQoKS5hcHBlbmQoJzxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1hZGRvbiBiZmgtbnVtYmVyLWJ0biBkZWMiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tZG93biI-PC9zcGFuPjwvc3Bhbj4nKTsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgdGhpcy4kZWxlbWVudC5vbignY2hhbmdlLmJmaG51bWJlci5kYXRhLWFwaScsIEJGSE51bWJlci5wcm90b3R5cGUuY2hhbmdlKTsNCiAgICAgICAgDQogICAgICBpZiAodGhpcy5vcHRpb25zLmtleWJvYXJkID09PSB0cnVlKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQub24oJ2tleWRvd24uYmZobnVtYmVyLmRhdGEtYXBpJywgQkZITnVtYmVyLnByb3RvdHlwZS5rZXlkb3duKTsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5idXR0b25zID09PSB0cnVlKSB7DQogICAgICAgIHRoaXMuJGVsZW1lbnQucGFyZW50KCkNCiAgICAgICAgICAub24oJ21vdXNlZG93bi5iZmhudW1iZXIuZGF0YS1hcGknLCAnLmluYycsIEJGSE51bWJlci5wcm90b3R5cGUuYnRuaW5jKQ0KICAgICAgICAgIC5vbignbW91c2Vkb3duLmJmaG51bWJlci5kYXRhLWFwaScsICcuZGVjJywgQkZITnVtYmVyLnByb3RvdHlwZS5idG5kZWMpOw0KICAgICAgfQ0KICAgICAgDQogICAgICB0aGlzLmZvcm1hdE51bWJlcigpOw0KICAgIH0sDQogICAgDQogICAga2V5ZG93bjogZnVuY3Rpb24oZSkgew0KICAgICAgdmFyICR0aGlzOw0KICAgICAgDQogICAgICAkdGhpcyA9ICQodGhpcykuZGF0YSgnYmZobnVtYmVyJyk7DQogICAgICANCiAgICAgIGlmICgkdGhpcy4kZWxlbWVudC5pcygnLmRpc2FibGVkJykgfHwgJHRoaXMuJGVsZW1lbnQuYXR0cignZGlzYWJsZWQnKSAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgICAgDQogICAgICBzd2l0Y2ggKGUud2hpY2gpIHsNCiAgICAgICAgY2FzZSAzODoNCiAgICAgICAgICAkdGhpcy5pbmNyZW1lbnQoKTsNCiAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSA0MDoNCiAgICAgICAgICAkdGhpcy5kZWNyZW1lbnQoKTsNCiAgICAgICAgICBicmVhazsNCiAgICAgICAgZGVmYXVsdDoNCiAgICAgIH0NCiAgICAgIA0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfSwNCiAgICANCiAgICBtb3VzZXVwOiBmdW5jdGlvbihlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgdGltZXIsDQogICAgICAgICAgaW50ZXJ2YWw7DQogICAgICANCiAgICAgICR0aGlzID0gZS5kYXRhLmJ0bjsNCiAgICAgIHRpbWVyID0gJHRoaXMuJGVsZW1lbnQuZGF0YSgndGltZXInKTsNCiAgICAgIGludGVydmFsID0gJHRoaXMuJGVsZW1lbnQuZGF0YSgnaW50ZXJ2YWwnKTsNCiAgICAgIA0KICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsNCiAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOw0KICAgIH0sDQogICAgDQogICAgYnRuaW5jOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICB0aW1lcjsNCiAgICAgIA0KICAgICAgJHRoaXMgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJy5iZmgtbnVtYmVyJykuZGF0YSgnYmZobnVtYmVyJyk7DQogICAgICANCiAgICAgIGlmICgkdGhpcy4kZWxlbWVudC5pcygnLmRpc2FibGVkJykgfHwgJHRoaXMuJGVsZW1lbnQuYXR0cignZGlzYWJsZWQnKSAhPT0gdW5kZWZpbmVkKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgICAgDQogICAgICAkdGhpcy5pbmNyZW1lbnQoKTsNCiAgICAgIA0KICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgaW50ZXJ2YWw7DQogICAgICAgIGludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7DQogICAgICAgICAgJHRoaXMuaW5jcmVtZW50KCk7DQogICAgICAgIH0sIDgwKTsNCiAgICAgICAgJHRoaXMuJGVsZW1lbnQuZGF0YSgnaW50ZXJ2YWwnLCBpbnRlcnZhbCk7DQogICAgICB9LCA3NTApOw0KICAgICAgJHRoaXMuJGVsZW1lbnQuZGF0YSgndGltZXInLCB0aW1lcik7DQogICAgICANCiAgICAgICQoZG9jdW1lbnQpLm9uZSgnbW91c2V1cCcsIHtidG46ICR0aGlzfSwgQkZITnVtYmVyLnByb3RvdHlwZS5tb3VzZXVwKTsNCiAgICAgIA0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfSwNCiAgICANCiAgICBidG5kZWM6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIHRpbWVyOw0KICAgICAgDQogICAgICAkdGhpcyA9ICQodGhpcykucGFyZW50KCkuZmluZCgnLmJmaC1udW1iZXInKS5kYXRhKCdiZmhudW1iZXInKTsNCiAgICAgIA0KICAgICAgaWYgKCR0aGlzLiRlbGVtZW50LmlzKCcuZGlzYWJsZWQnKSB8fCAkdGhpcy4kZWxlbWVudC5hdHRyKCdkaXNhYmxlZCcpICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgICANCiAgICAgICR0aGlzLmRlY3JlbWVudCgpOw0KICAgICAgDQogICAgICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBpbnRlcnZhbDsNCiAgICAgICAgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsNCiAgICAgICAgICAkdGhpcy5kZWNyZW1lbnQoKTsNCiAgICAgICAgfSwgODApOw0KICAgICAgICAkdGhpcy4kZWxlbWVudC5kYXRhKCdpbnRlcnZhbCcsIGludGVydmFsKTsNCiAgICAgIH0sIDc1MCk7DQogICAgICAkdGhpcy4kZWxlbWVudC5kYXRhKCd0aW1lcicsIHRpbWVyKTsNCiAgICAgIA0KICAgICAgJChkb2N1bWVudCkub25lKCdtb3VzZXVwJywge2J0bjogJHRoaXN9LCBCRkhOdW1iZXIucHJvdG90eXBlLm1vdXNldXApOw0KICAgICAgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9LA0KICAgIA0KICAgIGNoYW5nZTogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgJHRoaXM7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKS5kYXRhKCdiZmhudW1iZXInKTsNCg0KICAgICAgaWYgKCR0aGlzLiRlbGVtZW50LmlzKCcuZGlzYWJsZWQnKSB8fCAkdGhpcy4kZWxlbWVudC5hdHRyKCdkaXNhYmxlZCcpICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICAgICR0aGlzLmZvcm1hdE51bWJlcigpOw0KDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9LA0KICAgIA0KICAgIGluY3JlbWVudDogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgdmFsdWU7DQogICAgICANCiAgICAgIHZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpOw0KICAgICAgDQogICAgICB2YWx1ZSA9IHZhbHVlICsgMTsNCiAgICAgIA0KICAgICAgdGhpcy4kZWxlbWVudC52YWwodmFsdWUpLmNoYW5nZSgpOw0KICAgIH0sDQogICAgDQogICAgZGVjcmVtZW50OiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciB2YWx1ZTsNCiAgICAgIA0KICAgICAgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7DQogICAgICANCiAgICAgIHZhbHVlID0gdmFsdWUgLSAxOw0KICAgICAgDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSkuY2hhbmdlKCk7DQogICAgfSwNCiAgICANCiAgICBnZXRWYWx1ZTogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgdmFsdWU7DQogICAgICANCiAgICAgIHZhbHVlID0gdGhpcy4kZWxlbWVudC52YWwoKTsNCiAgICAgIGlmICh2YWx1ZSAhPT0gJy0xJykgew0KICAgICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSkucmVwbGFjZSgvXEQvZywgJycpOw0KICAgICAgfQ0KICAgICAgaWYgKFN0cmluZyh2YWx1ZSkubGVuZ3RoID09PSAwKSB7DQogICAgICAgIHZhbHVlID0gdGhpcy5vcHRpb25zLm1pbjsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlKTsNCiAgICB9LA0KICAgIA0KICAgIGZvcm1hdE51bWJlcjogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgdmFsdWUsDQogICAgICAgICAgbWF4TGVuZ3RoLA0KICAgICAgICAgIGxlbmd0aCwNCiAgICAgICAgICB6ZXJvOw0KICAgICAgDQogICAgICB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTsNCiAgICAgIA0KICAgICAgaWYgKHZhbHVlID4gdGhpcy5vcHRpb25zLm1heCkgew0KICAgICAgICBpZiAodGhpcy5vcHRpb25zLndyYXAgPT09IHRydWUpIHsNCiAgICAgICAgICB2YWx1ZSA9IHRoaXMub3B0aW9ucy5taW47DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMubWF4Ow0KICAgICAgICB9DQogICAgICB9DQogICAgICANCiAgICAgIGlmICh2YWx1ZSA8IHRoaXMub3B0aW9ucy5taW4pIHsNCiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy53cmFwID09PSB0cnVlKSB7DQogICAgICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMubWF4Ow0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHZhbHVlID0gdGhpcy5vcHRpb25zLm1pbjsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgDQogICAgICBpZiAodGhpcy5vcHRpb25zLnplcm9zID09PSB0cnVlKSB7DQogICAgICAgIG1heExlbmd0aCA9IFN0cmluZyh0aGlzLm9wdGlvbnMubWF4KS5sZW5ndGg7DQogICAgICAgIGxlbmd0aCA9IFN0cmluZyh2YWx1ZSkubGVuZ3RoOw0KICAgICAgICBmb3IgKHplcm89bGVuZ3RoOyB6ZXJvIDwgbWF4TGVuZ3RoOyB6ZXJvID0gemVybyArIDEpIHsNCiAgICAgICAgICB2YWx1ZSA9ICcwJyArIHZhbHVlOw0KICAgICAgICB9DQogICAgICB9DQogICAgICANCiAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4kZWxlbWVudC52YWwoKSkgew0KICAgICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgICB9DQogICAgfQ0KDQogIH07DQoNCiAgLyogTlVNQkVSIFBMVUdJTiBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIG9sZCA9ICQuZm4uYmZobnVtYmVyOw0KDQogICQuZm4uYmZobnVtYmVyID0gZnVuY3Rpb24gKG9wdGlvbikgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIGRhdGEsDQogICAgICAgICAgb3B0aW9uczsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgZGF0YSA9ICR0aGlzLmRhdGEoJ2JmaG51bWJlcicpOw0KICAgICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsNCg0KICAgICAgaWYgKCFkYXRhKSB7DQogICAgICAgICR0aGlzLmRhdGEoJ2JmaG51bWJlcicsIChkYXRhID0gbmV3IEJGSE51bWJlcih0aGlzLCBvcHRpb25zKSkpOw0KICAgICAgfQ0KICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7DQogICAgICAgIGRhdGFbb3B0aW9uXS5jYWxsKCR0aGlzKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfTsNCg0KICAkLmZuLmJmaG51bWJlci5Db25zdHJ1Y3RvciA9IEJGSE51bWJlcjsNCg0KICAkLmZuLmJmaG51bWJlci5kZWZhdWx0cyA9IHsNCiAgICBtaW46IDAsDQogICAgbWF4OiA5OTk5LA0KICAgIHplcm9zOiBmYWxzZSwNCiAgICBrZXlib2FyZDogdHJ1ZSwNCiAgICBidXR0b25zOiB0cnVlLA0KICAgIHdyYXA6IGZhbHNlDQogIH07DQoNCg0KICAvKiBOVU1CRVIgTk8gQ09ORkxJQ1QNCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICAkLmZuLmJmaG51bWJlci5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkgew0KICAgICQuZm4uYmZobnVtYmVyID0gb2xkOw0KICAgIHJldHVybiB0aGlzOw0KICB9Ow0KDQoNCiAgLyogTlVNQkVSIERBVEEtQVBJDQogICAqID09PT09PT09PT09PT09ICovDQoNCiAgJChkb2N1bWVudCkucmVhZHkoIGZ1bmN0aW9uICgpIHsNCiAgICAkKCdmb3JtIGlucHV0W3R5cGU9InRleHQiXS5iZmgtbnVtYmVyLCBmb3JtIGlucHV0W3R5cGU9Im51bWJlciJdLmJmaC1udW1iZXInKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkbnVtYmVyOw0KDQogICAgICAkbnVtYmVyID0gJCh0aGlzKTsNCg0KICAgICAgJG51bWJlci5iZmhudW1iZXIoJG51bWJlci5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KDQogIC8qIEFQUExZIFRPIFNUQU5EQVJEIE5VTUJFUiBFTEVNRU5UUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQoNCn0od2luZG93LmpRdWVyeSk7DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1waG9uZS5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQorZnVuY3Rpb24gKCQpIHsNCg0KICAndXNlIHN0cmljdCc7DQoNCg0KICAvKiBQSE9ORSBDTEFTUyBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgQkZIUGhvbmUgPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgew0KICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmJmaHBob25lLmRlZmF1bHRzLCBvcHRpb25zKTsNCiAgICB0aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsNCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdpbnB1dFt0eXBlPSJ0ZXh0Il0nKSB8fCB0aGlzLiRlbGVtZW50LmlzKCdpbnB1dFt0eXBlPSJ0ZWwiXScpKSB7DQogICAgICB0aGlzLmFkZEZvcm1hdHRlcigpOw0KICAgIH0NCg0KICAgIGlmICh0aGlzLiRlbGVtZW50LmlzKCdzcGFuJykpIHsNCiAgICAgIHRoaXMuZGlzcGxheUZvcm1hdHRlcigpOw0KICAgIH0NCiAgfTsNCg0KICBCRkhQaG9uZS5wcm90b3R5cGUgPSB7DQoNCiAgICBjb25zdHJ1Y3RvcjogQkZIUGhvbmUsDQoNCiAgICBhZGRGb3JtYXR0ZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyICRjb3VudHJ5Ow0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmNvdW50cnkgIT09ICcnKSB7DQogICAgICAgICRjb3VudHJ5ID0gJChkb2N1bWVudCkuZmluZCgnIycgKyB0aGlzLm9wdGlvbnMuY291bnRyeSk7DQoNCiAgICAgICAgaWYgKCRjb3VudHJ5Lmxlbmd0aCAhPT0gMCkgew0KICAgICAgICAgIHRoaXMub3B0aW9ucy5mb3JtYXQgPSBCRkhQaG9uZUZvcm1hdExpc3RbJGNvdW50cnkudmFsKCldOw0KICAgICAgICAgICRjb3VudHJ5Lm9uKCdjaGFuZ2UnLCB7cGhvbmU6IHRoaXN9LCB0aGlzLmNoYW5nZUNvdW50cnkpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMub3B0aW9ucy5mb3JtYXQgPSBCRkhQaG9uZUZvcm1hdExpc3RbdGhpcy5vcHRpb25zLmNvdW50cnldOw0KICAgICAgICB9DQogICAgICB9DQogICAgICANCiAgICAgIHRoaXMuJGVsZW1lbnQub24oJ2tleXVwLmJmaHBob25lLmRhdGEtYXBpJywgQkZIUGhvbmUucHJvdG90eXBlLmNoYW5nZSk7DQoNCiAgICAgIHRoaXMubG9hZEZvcm1hdHRlcigpOw0KICAgIH0sDQoNCiAgICBsb2FkRm9ybWF0dGVyOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgZm9ybWF0dGVkTnVtYmVyOw0KDQogICAgICBmb3JtYXR0ZWROdW1iZXIgPSBmb3JtYXROdW1iZXIodGhpcy5vcHRpb25zLmZvcm1hdCwgdGhpcy4kZWxlbWVudC52YWwoKSk7DQoNCiAgICAgIHRoaXMuJGVsZW1lbnQudmFsKGZvcm1hdHRlZE51bWJlcik7DQogICAgfSwNCg0KICAgIGRpc3BsYXlGb3JtYXR0ZXI6IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBmb3JtYXR0ZWROdW1iZXI7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuY291bnRyeSAhPT0gJycpIHsNCiAgICAgICAgdGhpcy5vcHRpb25zLmZvcm1hdCA9IEJGSFBob25lRm9ybWF0TGlzdFt0aGlzLm9wdGlvbnMuY291bnRyeV07DQogICAgICB9DQoNCiAgICAgIGZvcm1hdHRlZE51bWJlciA9IGZvcm1hdE51bWJlcih0aGlzLm9wdGlvbnMuZm9ybWF0LCB0aGlzLm9wdGlvbnMubnVtYmVyKTsNCg0KICAgICAgdGhpcy4kZWxlbWVudC5odG1sKGZvcm1hdHRlZE51bWJlcik7DQogICAgfSwNCg0KICAgIGNoYW5nZUNvdW50cnk6IGZ1bmN0aW9uIChlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBob25lOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICAkcGhvbmUgPSBlLmRhdGEucGhvbmU7DQoNCiAgICAgICRwaG9uZS4kZWxlbWVudC52YWwoU3RyaW5nKCRwaG9uZS4kZWxlbWVudC52YWwoKSkucmVwbGFjZSgvXCtcZCovZywgJycpKTsNCiAgICAgICRwaG9uZS5vcHRpb25zLmZvcm1hdCA9IEJGSFBob25lRm9ybWF0TGlzdFskdGhpcy52YWwoKV07DQoNCiAgICAgICRwaG9uZS5sb2FkRm9ybWF0dGVyKCk7DQogICAgfSwNCg0KICAgIGNoYW5nZTogZnVuY3Rpb24oZSkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIGN1cnNvclBvc2l0aW9uLA0KICAgICAgICAgIGN1cnNvckVuZCwNCiAgICAgICAgICBmb3JtYXR0ZWROdW1iZXI7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKS5kYXRhKCdiZmhwaG9uZScpOw0KDQogICAgICBpZiAoJHRoaXMuJGVsZW1lbnQuaXMoJy5kaXNhYmxlZCcpIHx8ICR0aGlzLiRlbGVtZW50LmF0dHIoJ2Rpc2FibGVkJykgIT09IHVuZGVmaW5lZCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgY3Vyc29yUG9zaXRpb24gPSBnZXRDdXJzb3JQb3NpdGlvbigkdGhpcy4kZWxlbWVudFswXSk7DQoNCiAgICAgIGN1cnNvckVuZCA9IGZhbHNlOw0KICAgICAgaWYgKGN1cnNvclBvc2l0aW9uID09PSAkdGhpcy4kZWxlbWVudC52YWwoKS5sZW5ndGgpIHsNCiAgICAgICAgY3Vyc29yRW5kID0gdHJ1ZTsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgaWYgKGUud2hpY2ggPT09IDggJiYgJHRoaXMub3B0aW9ucy5mb3JtYXQuY2hhckF0KCR0aGlzLiRlbGVtZW50LnZhbCgpLmxlbmd0aCkgIT09ICdkJykgew0KICAgICAgICAkdGhpcy4kZWxlbWVudC52YWwoU3RyaW5nKCR0aGlzLiRlbGVtZW50LnZhbCgpKS5zdWJzdHJpbmcoMCwgJHRoaXMuJGVsZW1lbnQudmFsKCkubGVuZ3RoIC0gMSkpOw0KICAgICAgfQ0KDQogICAgICBmb3JtYXR0ZWROdW1iZXIgPSBmb3JtYXROdW1iZXIoJHRoaXMub3B0aW9ucy5mb3JtYXQsICR0aGlzLiRlbGVtZW50LnZhbCgpKTsNCiAgICAgIA0KICAgICAgaWYgKGZvcm1hdHRlZE51bWJlciA9PT0gJHRoaXMuJGVsZW1lbnQudmFsKCkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgICANCiAgICAgICR0aGlzLiRlbGVtZW50LnZhbChmb3JtYXR0ZWROdW1iZXIpOw0KDQogICAgICBpZiAoY3Vyc29yRW5kKSB7DQogICAgICAgIGN1cnNvclBvc2l0aW9uID0gJHRoaXMuJGVsZW1lbnQudmFsKCkubGVuZ3RoOw0KICAgICAgfQ0KDQogICAgICBzZXRDdXJzb3JQb3NpdGlvbigkdGhpcy4kZWxlbWVudFswXSwgY3Vyc29yUG9zaXRpb24pOw0KDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQoNCiAgfTsNCg0KICBmdW5jdGlvbiBmb3JtYXROdW1iZXIoZm9ybWF0LCBudW1iZXIpIHsNCiAgICB2YXIgZm9ybWF0dGVkTnVtYmVyLA0KICAgICAgICBpbmRleEZvcm1hdCwNCiAgICAgICAgaW5kZXhOdW1iZXIsDQogICAgICAgIGxhc3RDaGFyYWN0ZXI7DQoNCiAgICBmb3JtYXR0ZWROdW1iZXIgPSAnJzsNCiAgICBudW1iZXIgPSBTdHJpbmcobnVtYmVyKS5yZXBsYWNlKC9cRC9nLCAnJyk7DQoNCiAgICBmb3IgKGluZGV4Rm9ybWF0ID0gMCwgaW5kZXhOdW1iZXIgPSAwOyBpbmRleEZvcm1hdCA8IGZvcm1hdC5sZW5ndGg7IGluZGV4Rm9ybWF0ID0gaW5kZXhGb3JtYXQgKyAxKSB7DQogICAgICBpZiAoL1xkL2cudGVzdChmb3JtYXQuY2hhckF0KGluZGV4Rm9ybWF0KSkpIHsNCiAgICAgICAgaWYgKGZvcm1hdC5jaGFyQXQoaW5kZXhGb3JtYXQpID09PSBudW1iZXIuY2hhckF0KGluZGV4TnVtYmVyKSkgew0KICAgICAgICAgIGZvcm1hdHRlZE51bWJlciArPSBudW1iZXIuY2hhckF0KGluZGV4TnVtYmVyKTsNCiAgICAgICAgICBpbmRleE51bWJlciA9IGluZGV4TnVtYmVyICsgMTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBmb3JtYXR0ZWROdW1iZXIgKz0gZm9ybWF0LmNoYXJBdChpbmRleEZvcm1hdCk7DQogICAgICAgIH0NCiAgICAgIH0gZWxzZSBpZiAoZm9ybWF0LmNoYXJBdChpbmRleEZvcm1hdCkgIT09ICdkJykgew0KICAgICAgICBpZiAobnVtYmVyLmNoYXJBdChpbmRleE51bWJlcikgIT09ICcnIHx8IGZvcm1hdC5jaGFyQXQoaW5kZXhGb3JtYXQpID09PSAnKycpIHsNCiAgICAgICAgICBmb3JtYXR0ZWROdW1iZXIgKz0gZm9ybWF0LmNoYXJBdChpbmRleEZvcm1hdCk7DQogICAgICAgIH0NCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGlmIChudW1iZXIuY2hhckF0KGluZGV4TnVtYmVyKSA9PT0gJycpIHsNCiAgICAgICAgICBmb3JtYXR0ZWROdW1iZXIgKz0gJyc7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgZm9ybWF0dGVkTnVtYmVyICs9IG51bWJlci5jaGFyQXQoaW5kZXhOdW1iZXIpOw0KICAgICAgICAgIGluZGV4TnVtYmVyID0gaW5kZXhOdW1iZXIgKyAxOw0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICAgIA0KICAgIGxhc3RDaGFyYWN0ZXIgPSBmb3JtYXQuY2hhckF0KGZvcm1hdHRlZE51bWJlci5sZW5ndGgpOw0KICAgIGlmIChsYXN0Q2hhcmFjdGVyICE9PSAnZCcpIHsNCiAgICAgIGZvcm1hdHRlZE51bWJlciArPSBsYXN0Q2hhcmFjdGVyOw0KICAgIH0NCg0KICAgIHJldHVybiBmb3JtYXR0ZWROdW1iZXI7DQogIH0NCg0KICBmdW5jdGlvbiBnZXRDdXJzb3JQb3NpdGlvbigkZWxlbWVudCkgew0KICAgIHZhciBwb3NpdGlvbiA9IDAsDQogICAgICAgIHNlbGVjdGlvbjsNCg0KICAgIGlmIChkb2N1bWVudC5zZWxlY3Rpb24pIHsNCiAgICAgIC8vIElFIFN1cHBvcnQNCiAgICAgICRlbGVtZW50LmZvY3VzKCk7DQogICAgICBzZWxlY3Rpb24gPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsNCiAgICAgIHNlbGVjdGlvbi5tb3ZlU3RhcnQgKCdjaGFyYWN0ZXInLCAtJGVsZW1lbnQudmFsdWUubGVuZ3RoKTsNCiAgICAgIHBvc2l0aW9uID0gc2VsZWN0aW9uLnRleHQubGVuZ3RoOw0KICAgIH0gZWxzZSBpZiAoJGVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgfHwgJGVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IDApIHsNCiAgICAgIHBvc2l0aW9uID0gJGVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7DQogICAgfQ0KDQogICAgcmV0dXJuIHBvc2l0aW9uOw0KICB9DQoNCiAgZnVuY3Rpb24gc2V0Q3Vyc29yUG9zaXRpb24oJGVsZW1lbnQsIHBvc2l0aW9uKSB7DQogICAgdmFyIHNlbGVjdGlvbjsNCg0KICAgIGlmIChkb2N1bWVudC5zZWxlY3Rpb24pIHsNCiAgICAgIC8vIElFIFN1cHBvcnQNCiAgICAgICRlbGVtZW50LmZvY3VzICgpOw0KICAgICAgc2VsZWN0aW9uID0gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7DQogICAgICBzZWxlY3Rpb24ubW92ZVN0YXJ0ICgnY2hhcmFjdGVyJywgLSRlbGVtZW50LnZhbHVlLmxlbmd0aCk7DQogICAgICBzZWxlY3Rpb24ubW92ZVN0YXJ0ICgnY2hhcmFjdGVyJywgcG9zaXRpb24pOw0KICAgICAgc2VsZWN0aW9uLm1vdmVFbmQgKCdjaGFyYWN0ZXInLCAwKTsNCiAgICAgIHNlbGVjdGlvbi5zZWxlY3QgKCk7DQogICAgfSBlbHNlIGlmICgkZWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fCAkZWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gMCkgew0KICAgICAgJGVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSBwb3NpdGlvbjsNCiAgICAgICRlbGVtZW50LnNlbGVjdGlvbkVuZCA9IHBvc2l0aW9uOw0KICAgICAgJGVsZW1lbnQuZm9jdXMgKCk7DQogICAgfQ0KICB9DQoNCiAgLyogUEhPTkUgUExVR0lOIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgb2xkID0gJC5mbi5iZmhwaG9uZTsNCg0KICAkLmZuLmJmaHBob25lID0gZnVuY3Rpb24gKG9wdGlvbikgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIGRhdGEsDQogICAgICAgICAgb3B0aW9uczsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgZGF0YSA9ICR0aGlzLmRhdGEoJ2JmaHBob25lJyk7DQogICAgICBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgb3B0aW9uOw0KDQogICAgICBpZiAoIWRhdGEpIHsNCiAgICAgICAgJHRoaXMuZGF0YSgnYmZocGhvbmUnLCAoZGF0YSA9IG5ldyBCRkhQaG9uZSh0aGlzLCBvcHRpb25zKSkpOw0KICAgICAgfQ0KICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7DQogICAgICAgIGRhdGFbb3B0aW9uXS5jYWxsKCR0aGlzKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfTsNCg0KICAkLmZuLmJmaHBob25lLkNvbnN0cnVjdG9yID0gQkZIUGhvbmU7DQoNCiAgJC5mbi5iZmhwaG9uZS5kZWZhdWx0cyA9IHsNCiAgICBmb3JtYXQ6ICcnLA0KICAgIG51bWJlcjogJycsDQogICAgY291bnRyeTogJycNCiAgfTsNCg0KDQogIC8qIFBIT05FIE5PIENPTkZMSUNUDQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgJC5mbi5iZmhwaG9uZS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkgew0KICAgICQuZm4uYmZocGhvbmUgPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBQSE9ORSBEQVRBLUFQSQ0KICAgKiA9PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpLnJlYWR5KCBmdW5jdGlvbiAoKSB7DQogICAgJCgnZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0uYmZoLXBob25lLCBmb3JtIGlucHV0W3R5cGU9InRlbCJdLmJmaC1waG9uZSwgc3Bhbi5iZmgtcGhvbmUnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkcGhvbmU7DQoNCiAgICAgICRwaG9uZSA9ICQodGhpcyk7DQoNCiAgICAgICRwaG9uZS5iZmhwaG9uZSgkcGhvbmUuZGF0YSgpKTsNCiAgICB9KTsNCiAgfSk7DQoNCn0od2luZG93LmpRdWVyeSk7DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1zZWxlY3Rib3guanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTIgVmluY2VudCBMYW1hbm5hDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KK2Z1bmN0aW9uICgkKSB7DQoNCiAgJ3VzZSBzdHJpY3QnOw0KDQoNCiAgLyogU0VMRUNUQk9YIENMQVNTIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciB0b2dnbGUgPSAnW2RhdGEtdG9nZ2xlPWJmaC1zZWxlY3Rib3hdJywNCiAgICAgIEJGSFNlbGVjdEJveCA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7DQogICAgICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmJmaHNlbGVjdGJveC5kZWZhdWx0cywgb3B0aW9ucyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgICAgIHRoaXMuaW5pdFNlbGVjdEJveCgpOw0KICAgICAgfTsNCg0KICBCRkhTZWxlY3RCb3gucHJvdG90eXBlID0gew0KDQogICAgY29uc3RydWN0b3I6IEJGSFNlbGVjdEJveCwNCg0KICAgIGluaXRTZWxlY3RCb3g6IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciBvcHRpb25zOw0KDQogICAgICBvcHRpb25zID0gJyc7DQogICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJ2RpdicpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgIG9wdGlvbnMgPSBvcHRpb25zICsgJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSInICsgJCh0aGlzKS5kYXRhKCd2YWx1ZScpICsgJyI-JyArICQodGhpcykuaHRtbCgpICsgJzwvYT48L2xpPic7DQogICAgICB9KTsNCg0KICAgICAgdGhpcy4kZWxlbWVudC5odG1sKA0KICAgICAgICAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJyArIHRoaXMub3B0aW9ucy5uYW1lICsgJyIgdmFsdWU9IiI-JyArDQoJCSc8YSBjbGFzcz0iYmZoLXNlbGVjdGJveC10b2dnbGUgJyArIHRoaXMub3B0aW9ucy5pbnB1dCArICciIHJvbGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImJmaC1zZWxlY3Rib3giIGhyZWY9IiMiPicgKw0KCQknPHNwYW4gY2xhc3M9ImJmaC1zZWxlY3Rib3gtb3B0aW9uIj48L3NwYW4-JyArDQoJCSc8c3BhbiBjbGFzcz0iJyArIHRoaXMub3B0aW9ucy5pY29uICsgJyBzZWxlY3Rib3gtY2FyZXQiPjwvc3Bhbj4nICsNCgkJJzwvYT4nICsNCgkJJzxkaXYgY2xhc3M9ImJmaC1zZWxlY3Rib3gtb3B0aW9ucyI-JyArDQoJCSc8ZGl2IHJvbGU9Imxpc3Rib3giPicgKw0KCQknPHVsIHJvbGU9Im9wdGlvbiI-JyArDQoJCSc8L3VsPicgKw0KCQknPC9kaXY-JyArDQoJCSc8L2Rpdj4nDQogICAgICApOw0KDQogICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJ1tyb2xlPW9wdGlvbl0nKS5odG1sKG9wdGlvbnMpOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmZpbHRlciA9PT0gdHJ1ZSkgew0KICAgICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJy5iZmgtc2VsZWN0Ym94LW9wdGlvbnMnKS5wcmVwZW5kKCc8ZGl2IGNsYXNzPSJiZmgtc2VsZWN0Ym94LWZpbHRlci1jb250YWluZXIiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iYmZoLXNlbGVjdGJveC1maWx0ZXIgZm9ybS1jb250cm9sIj48L2Rpdj4nKTsNCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwodGhpcy5vcHRpb25zLnZhbHVlKTsNCg0KICAgICAgdGhpcy4kZWxlbWVudA0KICAgICAgICAub24oJ2NsaWNrLmJmaHNlbGVjdGJveC5kYXRhLWFwaSB0b3VjaHN0YXJ0LmJmaHNlbGVjdGJveC5kYXRhLWFwaScsIHRvZ2dsZSwgQkZIU2VsZWN0Qm94LnByb3RvdHlwZS50b2dnbGUpDQoJCS5vbigna2V5ZG93bi5iZmhzZWxlY3Rib3guZGF0YS1hcGknLCB0b2dnbGUgKyAnLCBbcm9sZT1vcHRpb25dJyAsIEJGSFNlbGVjdEJveC5wcm90b3R5cGUua2V5ZG93bikNCgkJLm9uKCdtb3VzZWVudGVyLmJmaHNlbGVjdGJveC5kYXRhLWFwaScsICdbcm9sZT1vcHRpb25dID4gbGkgPiBhJywgQkZIU2VsZWN0Qm94LnByb3RvdHlwZS5tb3VzZWVudGVyKQ0KCQkub24oJ2NsaWNrLmJmaHNlbGVjdGJveC5kYXRhLWFwaScsICdbcm9sZT1vcHRpb25dID4gbGkgPiBhJywgQkZIU2VsZWN0Qm94LnByb3RvdHlwZS5zZWxlY3QpDQoJCS5vbignY2xpY2suYmZoc2VsZWN0Ym94LmRhdGEtYXBpJywgJy5iZmgtc2VsZWN0Ym94LWZpbHRlcicsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZhbHNlOyB9KQ0KCQkub24oJ3Byb3BlcnR5Y2hhbmdlLmJmaHNlbGVjdGJveC5kYXRhLWFwaSBjaGFuZ2UuYmZoc2VsZWN0Ym94LmRhdGEtYXBpIGlucHV0LmJmaHNlbGVjdGJveC5kYXRhLWFwaSBwYXN0ZS5iZmhzZWxlY3Rib3guZGF0YS1hcGknLCAnLmJmaC1zZWxlY3Rib3gtZmlsdGVyJywgQkZIU2VsZWN0Qm94LnByb3RvdHlwZS5maWx0ZXIpOw0KICAgIH0sDQoNCiAgICB0b2dnbGU6IGZ1bmN0aW9uIChlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBhcmVudCwNCiAgICAgICAgICBpc0FjdGl2ZTsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQoNCiAgICAgIGlmICgkcGFyZW50LmlzKCcuZGlzYWJsZWQnKSB8fCAkcGFyZW50LmF0dHIoJ2Rpc2FibGVkJykgIT09IHVuZGVmaW5lZCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgaXNBY3RpdmUgPSAkcGFyZW50Lmhhc0NsYXNzKCdvcGVuJyk7DQoNCiAgICAgIGNsZWFyTWVudXMoKTsNCg0KICAgICAgaWYgKCFpc0FjdGl2ZSkgew0KICAgICAgICAkcGFyZW50LnRyaWdnZXIoZSA9ICQuRXZlbnQoJ3Nob3cuYmZoc2VsZWN0Ym94JykpOw0KDQogICAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7DQogICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICAkcGFyZW50DQogICAgICAgICAgLnRvZ2dsZUNsYXNzKCdvcGVuJykNCiAgICAgICAgICAudHJpZ2dlcignc2hvd24uYmZoc2VsZWN0Ym94JykNCiAgICAgICAgICAuZmluZCgnW3JvbGU9b3B0aW9uXSA-IGxpID4gW2RhdGEtb3B0aW9uPSInICsgJHBhcmVudC52YWwoKSArICciXScpLmZvY3VzKCk7DQogICAgICB9DQoNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9LA0KDQogICAgZmlsdGVyOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICAkcGFyZW50LA0KICAgICAgICAgICRpdGVtczsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQoNCiAgICAgICRpdGVtcyA9ICQoJ1tyb2xlPW9wdGlvbl0gbGkgYScsICRwYXJlbnQpOw0KICAgICAgJGl0ZW1zDQogICAgICAgIC5oaWRlKCkNCiAgICAgICAgLmZpbHRlcihmdW5jdGlvbigpIHsNCiAgICAgICAgICByZXR1cm4gKCQodGhpcykudGV4dCgpLnRvVXBwZXJDYXNlKCkuaW5kZXhPZigkdGhpcy52YWwoKS50b1VwcGVyQ2FzZSgpKSAhPT0gLTEpOw0KICAgICAgICB9KQ0KICAgICAgICAuc2hvdygpOw0KICAgIH0sDQoNCiAgICBrZXlkb3duOiBmdW5jdGlvbiAoZSkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgICRpdGVtcywNCiAgICAgICAgICAkcGFyZW50LA0KICAgICAgICAgICRzdWJJdGVtcywNCiAgICAgICAgICBpc0FjdGl2ZSwNCiAgICAgICAgICBpbmRleCwNCiAgICAgICAgICBzZWxlY3RlZEluZGV4Ow0KDQogICAgICBpZiAoIS8oMzh8NDB8MjcpLy50ZXN0KGUua2V5Q29kZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCg0KICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsNCg0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQogICAgICBpc0FjdGl2ZSA9ICRwYXJlbnQuaGFzQ2xhc3MoJ29wZW4nKTsNCg0KICAgICAgaWYgKCFpc0FjdGl2ZSB8fCAoaXNBY3RpdmUgJiYgZS5rZXlDb2RlID09PSAyNykpIHsNCiAgICAgICAgaWYgKGUud2hpY2ggPT09IDI3KSB7DQogICAgICAgICAgJHBhcmVudC5maW5kKHRvZ2dsZSkuZm9jdXMoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAkdGhpcy5jbGljaygpOw0KICAgICAgfQ0KDQogICAgICAkaXRlbXMgPSAkKCdbcm9sZT1vcHRpb25dIGxpOm5vdCguZGl2aWRlcikgYTp2aXNpYmxlJywgJHBhcmVudCk7DQoNCiAgICAgIGlmICghJGl0ZW1zLmxlbmd0aCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgJCgnYm9keScpLm9mZignbW91c2VlbnRlci5iZmgtc2VsZWN0Ym94LmRhdGEtYXBpJywgJ1tyb2xlPW9wdGlvbl0gPiBsaSA-IGEnLCBCRkhTZWxlY3RCb3gucHJvdG90eXBlLm1vdXNlZW50ZXIpOw0KICAgICAgaW5kZXggPSAkaXRlbXMuaW5kZXgoJGl0ZW1zLmZpbHRlcignOmZvY3VzJykpOw0KDQogICAgICBpZiAoZS5rZXlDb2RlID09PSAzOCAmJiBpbmRleCA-IDApIHsNCiAgICAgICAgaW5kZXggPSBpbmRleCAtIDE7DQogICAgICB9DQoNCiAgICAgIGlmIChlLmtleUNvZGUgPT09IDQwICYmIGluZGV4IDwgJGl0ZW1zLmxlbmd0aCAtIDEpIHsNCiAgICAgICAgaW5kZXggPSBpbmRleCArIDE7DQogICAgICB9DQoNCiAgICAgIGlmICghaW5kZXgpIHsNCiAgICAgICAgaW5kZXggPSAwOw0KICAgICAgfQ0KDQogICAgICAkaXRlbXMuZXEoaW5kZXgpLmZvY3VzKCk7DQogICAgICAkKCdib2R5Jykub24oJ21vdXNlZW50ZXIuYmZoLXNlbGVjdGJveC5kYXRhLWFwaScsICdbcm9sZT1vcHRpb25dID4gbGkgPiBhJywgQkZIU2VsZWN0Qm94LnByb3RvdHlwZS5tb3VzZWVudGVyKTsNCiAgICB9LA0KDQogICAgbW91c2VlbnRlcjogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICR0aGlzOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQoNCiAgICAgICR0aGlzLmZvY3VzKCk7DQogICAgfSwNCg0KICAgIHNlbGVjdDogZnVuY3Rpb24gKGUpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICAkcGFyZW50LA0KICAgICAgICAgICRzcGFuLA0KICAgICAgICAgICRpbnB1dDsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KDQogICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOw0KDQogICAgICBpZiAoJHRoaXMuaXMoJy5kaXNhYmxlZCcpIHx8ICR0aGlzLmF0dHIoJ2Rpc2FibGVkJykgIT09IHVuZGVmaW5lZCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQoNCiAgICAgICRwYXJlbnQudmFsKCR0aGlzLmRhdGEoJ29wdGlvbicpKTsNCiAgICAgICRwYXJlbnQudHJpZ2dlcignY2hhbmdlLmJmaHNlbGVjdGJveCcpOw0KDQogICAgICBjbGVhck1lbnVzKCk7DQogICAgfQ0KDQogIH07DQoNCiAgZnVuY3Rpb24gY2xlYXJNZW51cygpIHsNCiAgICB2YXIgJHBhcmVudDsNCg0KICAgICQodG9nZ2xlKS5lYWNoKGZ1bmN0aW9uIChlKSB7DQogICAgICAkcGFyZW50ID0gZ2V0UGFyZW50KCQodGhpcykpOw0KDQogICAgICBpZiAoISRwYXJlbnQuaGFzQ2xhc3MoJ29wZW4nKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgJHBhcmVudC50cmlnZ2VyKGUgPSAkLkV2ZW50KCdoaWRlLmJmaHNlbGVjdGJveCcpKTsNCg0KICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICAgICRwYXJlbnQNCiAgICAgICAgLnJlbW92ZUNsYXNzKCdvcGVuJykNCiAgICAgICAgLnRyaWdnZXIoJ2hpZGRlbi5iZmhzZWxlY3Rib3gnKTsNCiAgICB9KTsNCiAgfQ0KDQogIGZ1bmN0aW9uIGdldFBhcmVudCgkdGhpcykgew0KICAgIHJldHVybiAkdGhpcy5jbG9zZXN0KCcuYmZoLXNlbGVjdGJveCcpOw0KICB9DQoNCg0KICAvKiBTRUxFQ1RCT1ggUExVR0lOIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgb2xkID0gJC5mbi5iZmhzZWxlY3Rib3g7DQoNCiAgJC5mbi5iZmhzZWxlY3Rib3ggPSBmdW5jdGlvbiAob3B0aW9uKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgZGF0YSwNCiAgICAgICAgICBvcHRpb25zOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICBkYXRhID0gJHRoaXMuZGF0YSgnYmZoc2VsZWN0Ym94Jyk7DQogICAgICBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgb3B0aW9uOw0KICAgICAgdGhpcy50eXBlID0gJ2JmaHNlbGVjdGJveCc7DQoNCiAgICAgIGlmICghZGF0YSkgew0KICAgICAgICAkdGhpcy5kYXRhKCdiZmhzZWxlY3Rib3gnLCAoZGF0YSA9IG5ldyBCRkhTZWxlY3RCb3godGhpcywgb3B0aW9ucykpKTsNCiAgICAgIH0NCiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykgew0KICAgICAgICBkYXRhW29wdGlvbl0uY2FsbCgkdGhpcyk7DQogICAgICB9DQogICAgfSk7DQogIH07DQoNCiAgJC5mbi5iZmhzZWxlY3Rib3guQ29uc3RydWN0b3IgPSBCRkhTZWxlY3RCb3g7DQoNCiAgJC5mbi5iZmhzZWxlY3Rib3guZGVmYXVsdHMgPSB7DQogICAgaWNvbjogJ2NhcmV0JywNCiAgICBpbnB1dDogJ2Zvcm0tY29udHJvbCcsDQogICAgbmFtZTogJycsDQogICAgdmFsdWU6ICcnLA0KICAgIGZpbHRlcjogZmFsc2UNCiAgfTsNCg0KDQogIC8qIFNFTEVDVEJPWCBOTyBDT05GTElDVA0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQuZm4uYmZoc2VsZWN0Ym94Lm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhzZWxlY3Rib3ggPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBTRUxFQ1RCT1ggVkFMSE9PS1MNCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgb3JpZ0hvb2s7DQogIGlmICgkLnZhbEhvb2tzLmRpdil7DQogICAgb3JpZ0hvb2sgPSAkLnZhbEhvb2tzLmRpdjsNCiAgfQ0KICAkLnZhbEhvb2tzLmRpdiA9IHsNCiAgICBnZXQ6IGZ1bmN0aW9uKGVsKSB7DQogICAgICBpZiAoJChlbCkuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgICByZXR1cm4gJChlbCkuZmluZCgnaW5wdXRbdHlwZT0iaGlkZGVuIl0nKS52YWwoKTsNCiAgICAgIH0gZWxzZSBpZiAob3JpZ0hvb2spIHsNCiAgICAgICAgcmV0dXJuIG9yaWdIb29rLmdldChlbCk7DQogICAgICB9DQogICAgfSwNCiAgICBzZXQ6IGZ1bmN0aW9uKGVsLCB2YWwpIHsNCiAgICAgIHZhciAkZWwsDQogICAgICAgICAgaHRtbDsNCg0KICAgICAgaWYgKCQoZWwpLmhhc0NsYXNzKCdiZmgtc2VsZWN0Ym94JykpIHsNCg0KICAgICAgICAkZWwgPSAkKGVsKTsNCiAgICAgICAgaWYgKCRlbC5maW5kKCdsaSBhW2RhdGEtb3B0aW9uPVwnJyArIHZhbCArICdcJ10nKS5sZW5ndGggPiAwKSB7DQogICAgICAgICAgaHRtbCA9ICRlbC5maW5kKCdsaSBhW2RhdGEtb3B0aW9uPVwnJyArIHZhbCArICdcJ10nKS5odG1sKCk7DQogICAgICAgIH0gZWxzZSBpZiAoJGVsLmZpbmQoJ2xpIGEnKS5sZW5ndGggPiAwKSB7DQogICAgICAgICAgaHRtbCA9ICRlbC5maW5kKCdsaSBhJykuZXEoMCkuaHRtbCgpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHZhbCA9ICcnOw0KICAgICAgICAgIGh0bWwgPSAnJzsNCiAgICAgICAgfQ0KDQogICAgICAgICRlbC5maW5kKCdpbnB1dFt0eXBlPSJoaWRkZW4iXScpLnZhbCh2YWwpOw0KICAgICAgICAkZWwuZmluZCgnLmJmaC1zZWxlY3Rib3gtb3B0aW9uJykuaHRtbChodG1sKTsNCiAgICAgIH0gZWxzZSBpZiAob3JpZ0hvb2spIHsNCiAgICAgICAgcmV0dXJuIG9yaWdIb29rLnNldChlbCx2YWwpOw0KICAgICAgfQ0KICAgIH0NCiAgfTsNCg0KDQogIC8qIFNFTEVDVEJPWCBEQVRBLUFQSQ0KICAgKiA9PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpLnJlYWR5KCBmdW5jdGlvbiAoKSB7DQogICAgJCgnZGl2LmJmaC1zZWxlY3Rib3gnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkc2VsZWN0Ym94Ow0KDQogICAgICAkc2VsZWN0Ym94ID0gJCh0aGlzKTsNCg0KICAgICAgJHNlbGVjdGJveC5iZmhzZWxlY3Rib3goJHNlbGVjdGJveC5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KDQogIC8qIEFQUExZIFRPIFNUQU5EQVJEIFNFTEVDVEJPWCBFTEVNRU5UUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpDQogICAgLm9uKCdjbGljay5iZmhzZWxlY3Rib3guZGF0YS1hcGknLCBjbGVhck1lbnVzKTsNCg0KfSh3aW5kb3cualF1ZXJ5KTsNCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogYm9vdHN0cmFwLWZvcm1oZWxwZXJzLXNsaWRlci5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQorZnVuY3Rpb24gKCQpIHsNCg0KICAndXNlIHN0cmljdCc7DQoNCg0KICAvKiBCRkhTTElERVIgQ0xBU1MgREVGSU5JVElPTg0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIEJGSFNsaWRlciA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7DQogICAgICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmJmaHNsaWRlci5kZWZhdWx0cywgb3B0aW9ucyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KICAgICAgICANCiAgICAgICAgdGhpcy5pbml0U2xpZGVyKCk7DQogICAgICB9Ow0KDQogIEJGSFNsaWRlci5wcm90b3R5cGUgPSB7DQoNCiAgICBjb25zdHJ1Y3RvcjogQkZIU2xpZGVyLA0KDQogICAgaW5pdFNsaWRlcjogZnVuY3Rpb24oKSB7DQogICAgICBpZiAodGhpcy5vcHRpb25zLnZhbHVlID09PSAnJykgew0KICAgICAgICB0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLm9wdGlvbnMubWluOw0KICAgICAgfQ0KICAgICAgDQogICAgICB0aGlzLiRlbGVtZW50Lmh0bWwoDQogICAgICAgICc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInICsgdGhpcy5vcHRpb25zLm5hbWUgKyAnIiB2YWx1ZT0iIj4nICsNCiAgICAgICAgJzxkaXYgY2xhc3M9ImJmaC1zbGlkZXItaGFuZGxlIj48ZGl2IGNsYXNzPSJiZmgtc2xpZGVyLXZhbHVlIj48L2Rpdj48L2Rpdj4nDQogICAgICApOw0KICAgICAgDQogICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJ2lucHV0W3R5cGU9ImhpZGRlbiJdJykudmFsKHRoaXMub3B0aW9ucy52YWx1ZSk7DQogICAgICB0aGlzLnVwZGF0ZUhhbmRsZSh0aGlzLm9wdGlvbnMudmFsdWUpOw0KICAgICAgDQogICAgICB0aGlzLiRlbGVtZW50Lm9uKCdtb3VzZWRvd24uYmZoc2xpZGVyLmRhdGEtYXBpJywgQkZIU2xpZGVyLnByb3RvdHlwZS5tb3VzZURvd24pOw0KICAgIH0sDQogICAgDQogICAgdXBkYXRlSGFuZGxlOiBmdW5jdGlvbih2YWwpIHsNCiAgICAgIHZhciBwb3NpdGlvblgsDQogICAgICAgICAgd2lkdGgsDQogICAgICAgICAgbGVmdCwNCiAgICAgICAgICBzcGFuOw0KICAgICAgICAgIA0KICAgICAgc3BhbiA9IHRoaXMub3B0aW9ucy5tYXggLSB0aGlzLm9wdGlvbnMubWluOw0KICAgICAgd2lkdGggPSB0aGlzLiRlbGVtZW50LndpZHRoKCk7DQogICAgICBsZWZ0ID0gdGhpcy4kZWxlbWVudC5wb3NpdGlvbigpLmxlZnQ7DQogICAgICANCiAgICAgIHBvc2l0aW9uWCA9IE1hdGgucm91bmQoKHZhbCAtIHRoaXMub3B0aW9ucy5taW4pICogKHdpZHRoIC0gMjApIC8gc3BhbiArIGxlZnQpOw0KICAgICAgDQogICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJy5iZmgtc2xpZGVyLWhhbmRsZScpLmNzcygnbGVmdCcsIHBvc2l0aW9uWCArICdweCcpOw0KICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXNsaWRlci12YWx1ZScpLnRleHQodmFsKTsNCiAgICB9LA0KICAgIA0KICAgIHVwZGF0ZVZhbDogZnVuY3Rpb24ocG9zaXRpb25YKSB7DQogICAgICB2YXIgd2lkdGgsDQogICAgICAgICAgbGVmdCwNCiAgICAgICAgICByaWdodCwNCiAgICAgICAgICB2YWwsDQogICAgICAgICAgc3BhbjsNCiAgICAgIA0KICAgICAgc3BhbiA9IHRoaXMub3B0aW9ucy5tYXggLSB0aGlzLm9wdGlvbnMubWluOw0KICAgICAgd2lkdGggPSB0aGlzLiRlbGVtZW50LndpZHRoKCk7DQogICAgICBsZWZ0ID0gdGhpcy4kZWxlbWVudC5vZmZzZXQoKS5sZWZ0Ow0KICAgICAgcmlnaHQgPSBsZWZ0ICsgd2lkdGg7DQogICAgICANCiAgICAgIGlmIChwb3NpdGlvblggPCBsZWZ0KSB7DQogICAgICAgIHBvc2l0aW9uWCA9IGxlZnQ7DQogICAgICB9DQogICAgICANCiAgICAgIGlmIChwb3NpdGlvblggKyAyMCA-IHJpZ2h0KSB7DQogICAgICAgIHBvc2l0aW9uWCA9IHJpZ2h0Ow0KICAgICAgfQ0KICAgICAgDQogICAgICB2YWwgPSAocG9zaXRpb25YIC0gbGVmdCkgLyB3aWR0aDsNCiAgICAgIHZhbCA9IE1hdGguY2VpbCh2YWwgKiBzcGFuICsgdGhpcy5vcHRpb25zLm1pbik7DQogICAgICANCiAgICAgIGlmICh2YWwgPT09IHRoaXMuJGVsZW1lbnQudmFsKCkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgICANCiAgICAgIHRoaXMuJGVsZW1lbnQudmFsKHZhbCk7DQogICAgICANCiAgICAgIHRoaXMuJGVsZW1lbnQudHJpZ2dlcignY2hhbmdlLmJmaHNsaWRlcicpOw0KICAgIH0sDQogICAgDQogICAgbW91c2VEb3duOiBmdW5jdGlvbigpIHsNCiAgICAgIHZhciAkdGhpczsNCiAgICAgIA0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgDQogICAgICBpZiAoJHRoaXMuaXMoJy5kaXNhYmxlZCcpIHx8ICR0aGlzLmF0dHIoJ2Rpc2FibGVkJykgIT09IHVuZGVmaW5lZCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgJChkb2N1bWVudCkNCiAgICAgICAgLm9uKCdtb3VzZW1vdmUuYmZoc2xpZGVyLmRhdGEtYXBpJywge3NsaWRlcjogJHRoaXN9LCBCRkhTbGlkZXIucHJvdG90eXBlLm1vdXNlTW92ZSkNCiAgICAgICAgLm9uZSgnbW91c2V1cC5iZmhzbGlkZXIuZGF0YS1hcGknLCB7c2xpZGVyOiAkdGhpc30sIEJGSFNsaWRlci5wcm90b3R5cGUubW91c2VVcCk7DQogICAgfSwNCiAgICANCiAgICBtb3VzZU1vdmU6IGZ1bmN0aW9uKGUpIHsNCiAgICAgIHZhciAkdGhpczsNCiAgICAgIA0KICAgICAgJHRoaXMgPSBlLmRhdGEuc2xpZGVyOw0KICAgICAgDQogICAgICAkdGhpcy5kYXRhKCdiZmhzbGlkZXInKS51cGRhdGVWYWwoZS5wYWdlWCk7DQogICAgfSwNCiAgICANCiAgICBtb3VzZVVwOiBmdW5jdGlvbihlKSB7DQogICAgICB2YXIgJHRoaXM7DQogICAgICANCiAgICAgICR0aGlzID0gZS5kYXRhLnNsaWRlcjsNCiAgICAgIA0KICAgICAgJHRoaXMuZGF0YSgnYmZoc2xpZGVyJykudXBkYXRlVmFsKGUucGFnZVgpOw0KICAgICAgDQogICAgICAkKGRvY3VtZW50KS5vZmYoJ21vdXNlbW92ZS5iZmhzbGlkZXIuZGF0YS1hcGknKTsNCiAgICB9DQogIH07DQoNCg0KICAvKiBTTElERVIgUExVR0lOIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgb2xkID0gJC5mbi5iZmhzbGlkZXI7DQoNCiAgJC5mbi5iZmhzbGlkZXIgPSBmdW5jdGlvbiAob3B0aW9uKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgZGF0YSwNCiAgICAgICAgICBvcHRpb25zOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICBkYXRhID0gJHRoaXMuZGF0YSgnYmZoc2xpZGVyJyk7DQogICAgICBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgb3B0aW9uOw0KICAgICAgdGhpcy50eXBlID0gJ2JmaHNsaWRlcic7DQoNCiAgICAgIGlmICghZGF0YSkgew0KICAgICAgICAkdGhpcy5kYXRhKCdiZmhzbGlkZXInLCAoZGF0YSA9IG5ldyBCRkhTbGlkZXIodGhpcywgb3B0aW9ucykpKTsNCiAgICAgIH0NCiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykgew0KICAgICAgICBkYXRhW29wdGlvbl0uY2FsbCgkdGhpcyk7DQogICAgICB9DQogICAgfSk7DQogIH07DQoNCiAgJC5mbi5iZmhzbGlkZXIuQ29uc3RydWN0b3IgPSBCRkhTbGlkZXI7DQoNCiAgJC5mbi5iZmhzbGlkZXIuZGVmYXVsdHMgPSB7DQogICAgbmFtZTogJycsDQogICAgdmFsdWU6ICcnLA0KICAgIG1pbjogMCwNCiAgICBtYXg6IDEwMA0KICB9Ow0KDQoNCiAgLyogU0xJREVSIE5PIENPTkZMSUNUDQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgJC5mbi5iZmhzbGlkZXIubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsNCiAgICAkLmZuLmJmaHNsaWRlciA9IG9sZDsNCiAgICByZXR1cm4gdGhpczsNCiAgfTsNCg0KDQogIC8qIFNMSURFUiBWQUxIT09LUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBvcmlnSG9vazsNCiAgaWYgKCQudmFsSG9va3MuZGl2KXsNCiAgICBvcmlnSG9vayA9ICQudmFsSG9va3MuZGl2Ow0KICB9DQogICQudmFsSG9va3MuZGl2ID0gew0KICAgIGdldDogZnVuY3Rpb24oZWwpIHsNCiAgICAgIGlmICgkKGVsKS5oYXNDbGFzcygnYmZoLXNsaWRlcicpKSB7DQogICAgICAgIHJldHVybiAkKGVsKS5maW5kKCdpbnB1dFt0eXBlPSJoaWRkZW4iXScpLnZhbCgpOw0KICAgICAgfSBlbHNlIGlmIChvcmlnSG9vaykgew0KICAgICAgICByZXR1cm4gb3JpZ0hvb2suZ2V0KGVsKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIHNldDogZnVuY3Rpb24oZWwsIHZhbCkgew0KICAgICAgaWYgKCQoZWwpLmhhc0NsYXNzKCdiZmgtc2xpZGVyJykpIHsNCiAgICAgICAgJChlbCkuZmluZCgnaW5wdXRbdHlwZT0iaGlkZGVuIl0nKS52YWwodmFsKTsNCiAgICAgICAgJChlbCkuZGF0YSgnYmZoc2xpZGVyJykudXBkYXRlSGFuZGxlKHZhbCk7DQogICAgICB9IGVsc2UgaWYgKG9yaWdIb29rKSB7DQogICAgICAgIHJldHVybiBvcmlnSG9vay5zZXQoZWwsdmFsKTsNCiAgICAgIH0NCiAgICB9DQogIH07DQoNCg0KICAvKiBTTElERVIgREFUQS1BUEkNCiAgICogPT09PT09PT09PT09PT0gKi8NCg0KICAkKGRvY3VtZW50KS5yZWFkeSggZnVuY3Rpb24gKCkgew0KICAgICQoJ2Rpdi5iZmgtc2xpZGVyJykuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHNsaWRlcjsNCg0KICAgICAgJHNsaWRlciA9ICQodGhpcyk7DQoNCiAgICAgICRzbGlkZXIuYmZoc2xpZGVyKCRzbGlkZXIuZGF0YSgpKTsNCiAgICB9KTsNCiAgfSk7DQoNCn0od2luZG93LmpRdWVyeSk7DQoNCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIGJvb3RzdHJhcC1mb3JtaGVscGVycy1zdGF0ZXMuanMNCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92bGFtYW5uYS9Cb290c3RyYXBGb3JtSGVscGVycw0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICogQ29weXJpZ2h0IDIwMTIgVmluY2VudCBMYW1hbm5hDQogKg0KICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7DQogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQNCiAqDQogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KK2Z1bmN0aW9uICgkKSB7DQoNCiAgJ3VzZSBzdHJpY3QnOw0KDQoNCiAgLyogU1RBVEVTIENMQVNTIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBCRkhTdGF0ZXMgPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgew0KICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLmZuLmJmaHN0YXRlcy5kZWZhdWx0cywgb3B0aW9ucyk7DQogICAgdGhpcy4kZWxlbWVudCA9ICQoZWxlbWVudCk7DQoNCiAgICBpZiAodGhpcy4kZWxlbWVudC5pcygnc2VsZWN0JykpIHsNCiAgICAgIHRoaXMuYWRkU3RhdGVzKCk7DQogICAgfQ0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgdGhpcy5hZGRCb290c3RyYXBTdGF0ZXMoKTsNCiAgICB9DQoNCiAgICBpZiAodGhpcy4kZWxlbWVudC5pcygnc3BhbicpKSB7DQogICAgICB0aGlzLmRpc3BsYXlTdGF0ZSgpOw0KICAgIH0NCiAgfTsNCg0KICBCRkhTdGF0ZXMucHJvdG90eXBlID0gew0KDQogICAgY29uc3RydWN0b3I6IEJGSFN0YXRlcywNCg0KICAgIGFkZFN0YXRlczogZnVuY3Rpb24gKCkgew0KICAgICAgdmFyIGNvdW50cnksDQogICAgICAgICAgJGNvdW50cnk7DQoNCiAgICAgIGNvdW50cnkgPSB0aGlzLm9wdGlvbnMuY291bnRyeTsNCg0KICAgICAgaWYgKGNvdW50cnkgIT09ICcnKSB7DQogICAgICAgICRjb3VudHJ5ID0gJChkb2N1bWVudCkuZmluZCgnIycgKyBjb3VudHJ5KTsNCg0KICAgICAgICBpZiAoJGNvdW50cnkubGVuZ3RoICE9PSAwKSB7DQogICAgICAgICAgY291bnRyeSA9ICRjb3VudHJ5LnZhbCgpOw0KICAgICAgICAgICRjb3VudHJ5Lm9uKCdjaGFuZ2UnLCB7c3RhdGU6IHRoaXN9LCB0aGlzLmNoYW5nZUNvdW50cnkpOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIHRoaXMubG9hZFN0YXRlcyhjb3VudHJ5KTsNCiAgICB9LA0KDQogICAgbG9hZFN0YXRlczogZnVuY3Rpb24gKGNvdW50cnkpIHsNCiAgICAgIHZhciB2YWx1ZSwNCiAgICAgICAgICBzdGF0ZTsNCg0KICAgICAgdmFsdWUgPSB0aGlzLm9wdGlvbnMuc3RhdGU7DQoNCiAgICAgIHRoaXMuJGVsZW1lbnQuaHRtbCgnJyk7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYmxhbmsgPT09IHRydWUpIHsNCiAgICAgICAgdGhpcy4kZWxlbWVudC5hcHBlbmQoJzxvcHRpb24gdmFsdWU9IiI-PC9vcHRpb24-Jyk7DQogICAgICB9DQoNCiAgICAgIGZvciAoc3RhdGUgaW4gQkZIU3RhdGVzTGlzdFtjb3VudHJ5XSkgew0KICAgICAgICBpZiAoQkZIU3RhdGVzTGlzdFtjb3VudHJ5XS5oYXNPd25Qcm9wZXJ0eShzdGF0ZSkpIHsNCiAgICAgICAgICB0aGlzLiRlbGVtZW50LmFwcGVuZCgnPG9wdGlvbiB2YWx1ZT0iJyArIEJGSFN0YXRlc0xpc3RbY291bnRyeV1bc3RhdGVdLmNvZGUgKyAnIj4nICsgQkZIU3RhdGVzTGlzdFtjb3VudHJ5XVtzdGF0ZV0ubmFtZSArICc8L29wdGlvbj4nKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KICAgIGNoYW5nZUNvdW50cnk6IGZ1bmN0aW9uIChlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHN0YXRlLA0KICAgICAgICAgIGNvdW50cnk7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICRzdGF0ZSA9IGUuZGF0YS5zdGF0ZTsNCiAgICAgIGNvdW50cnkgPSAkdGhpcy52YWwoKTsNCg0KICAgICAgJHN0YXRlLmxvYWRTdGF0ZXMoY291bnRyeSk7DQogICAgfSwNCg0KICAgIGFkZEJvb3RzdHJhcFN0YXRlczogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgY291bnRyeSwNCiAgICAgICAgICAkY291bnRyeTsNCg0KICAgICAgY291bnRyeSA9IHRoaXMub3B0aW9ucy5jb3VudHJ5Ow0KDQogICAgICBpZiAoY291bnRyeSAhPT0gJycpIHsNCiAgICAgICAgJGNvdW50cnkgPSAkKGRvY3VtZW50KS5maW5kKCcjJyArIGNvdW50cnkpOw0KDQogICAgICAgIGlmICgkY291bnRyeS5sZW5ndGggIT09IDApIHsNCiAgICAgICAgICBjb3VudHJ5ID0gJGNvdW50cnkuZmluZCgnaW5wdXRbdHlwZT0iaGlkZGVuIl0nKS52YWwoKTsNCiAgICAgICAgICAkY291bnRyeS5vbignY2hhbmdlLmJmaHNlbGVjdGJveCcsIHtzdGF0ZTogdGhpc30sIHRoaXMuY2hhbmdlQm9vdHN0cmFwQ291bnRyeSk7DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy5sb2FkQm9vdHN0cmFwU3RhdGVzKGNvdW50cnkpOw0KICAgIH0sDQoNCiAgICBsb2FkQm9vdHN0cmFwU3RhdGVzOiBmdW5jdGlvbihjb3VudHJ5KSB7DQogICAgICB2YXIgJGlucHV0LA0KICAgICAgICAgICR0b2dnbGUsDQogICAgICAgICAgJG9wdGlvbnMsDQogICAgICAgICAgc3RhdGVDb2RlLA0KICAgICAgICAgIHN0YXRlTmFtZSwNCiAgICAgICAgICBzdGF0ZTsNCg0KICAgICAgc3RhdGVDb2RlID0gdGhpcy5vcHRpb25zLnN0YXRlOw0KICAgICAgc3RhdGVOYW1lID0gJyc7DQogICAgICAkaW5wdXQgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ2lucHV0W3R5cGU9ImhpZGRlbiJdJyk7DQogICAgICAkdG9nZ2xlID0gdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXNlbGVjdGJveC1vcHRpb24nKTsNCiAgICAgICRvcHRpb25zID0gdGhpcy4kZWxlbWVudC5maW5kKCdbcm9sZT1vcHRpb25dJyk7DQoNCiAgICAgICRvcHRpb25zLmh0bWwoJycpOw0KDQogICAgICBpZiAodGhpcy5vcHRpb25zLmJsYW5rID09PSB0cnVlKSB7DQogICAgICAgICRvcHRpb25zLmFwcGVuZCgnPGxpPjxhIHRhYmluZGV4PSItMSIgaHJlZj0iIyIgZGF0YS1vcHRpb249IiI-PC9hPjwvbGk-Jyk7DQogICAgICB9DQoNCiAgICAgIGZvciAoc3RhdGUgaW4gQkZIU3RhdGVzTGlzdFtjb3VudHJ5XSkgew0KICAgICAgICBpZiAoQkZIU3RhdGVzTGlzdFtjb3VudHJ5XS5oYXNPd25Qcm9wZXJ0eShzdGF0ZSkpIHsNCiAgICAgICAgICAkb3B0aW9ucy5hcHBlbmQoJzxsaT48YSB0YWJpbmRleD0iLTEiIGhyZWY9IiMiIGRhdGEtb3B0aW9uPSInICsgQkZIU3RhdGVzTGlzdFtjb3VudHJ5XVtzdGF0ZV0uY29kZSArICciPicgKyBCRkhTdGF0ZXNMaXN0W2NvdW50cnldW3N0YXRlXS5uYW1lICsgJzwvYT48L2xpPicpOw0KDQogICAgICAgICAgaWYgKEJGSFN0YXRlc0xpc3RbY291bnRyeV1bc3RhdGVdLmNvZGUgPT09IHN0YXRlQ29kZSkgew0KICAgICAgICAgICAgc3RhdGVOYW1lID0gQkZIU3RhdGVzTGlzdFtjb3VudHJ5XVtzdGF0ZV0ubmFtZTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwoc3RhdGVDb2RlKTsNCiAgICB9LA0KDQogICAgY2hhbmdlQm9vdHN0cmFwQ291bnRyeTogZnVuY3Rpb24gKGUpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICAkc3RhdGUsDQogICAgICAgICAgY291bnRyeTsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHN0YXRlID0gZS5kYXRhLnN0YXRlOw0KICAgICAgY291bnRyeSA9ICR0aGlzLnZhbCgpOw0KDQogICAgICAkc3RhdGUubG9hZEJvb3RzdHJhcFN0YXRlcyhjb3VudHJ5KTsNCiAgICB9LA0KDQogICAgZGlzcGxheVN0YXRlOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgY291bnRyeSwNCiAgICAgICAgICBzdGF0ZUNvZGUsDQogICAgICAgICAgc3RhdGVOYW1lLA0KICAgICAgICAgIHN0YXRlOw0KDQogICAgICBjb3VudHJ5ID0gdGhpcy5vcHRpb25zLmNvdW50cnk7DQogICAgICBzdGF0ZUNvZGUgPSB0aGlzLm9wdGlvbnMuc3RhdGU7DQogICAgICBzdGF0ZU5hbWUgPSAnJzsNCg0KICAgICAgZm9yIChzdGF0ZSBpbiBCRkhTdGF0ZXNMaXN0W2NvdW50cnldKSB7DQogICAgICAgIGlmIChCRkhTdGF0ZXNMaXN0W2NvdW50cnldLmhhc093blByb3BlcnR5KHN0YXRlKSkgew0KICAgICAgICAgIGlmIChCRkhTdGF0ZXNMaXN0W2NvdW50cnldW3N0YXRlXS5jb2RlID09PSBzdGF0ZUNvZGUpIHsNCiAgICAgICAgICAgIHN0YXRlTmFtZSA9IEJGSFN0YXRlc0xpc3RbY291bnRyeV1bc3RhdGVdLm5hbWU7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHRoaXMuJGVsZW1lbnQuaHRtbChzdGF0ZU5hbWUpOw0KICAgIH0NCg0KICB9Ow0KDQoNCiAgLyogU1RBVEVTIFBMVUdJTiBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgdmFyIG9sZCA9ICQuZm4uYmZoc3RhdGVzOw0KDQogICQuZm4uYmZoc3RhdGVzID0gZnVuY3Rpb24gKG9wdGlvbikgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgIGRhdGEsDQogICAgICAgICAgb3B0aW9uczsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgZGF0YSA9ICR0aGlzLmRhdGEoJ2JmaHN0YXRlcycpOw0KICAgICAgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsNCg0KICAgICAgaWYgKCFkYXRhKSB7DQogICAgICAgICR0aGlzLmRhdGEoJ2JmaHN0YXRlcycsIChkYXRhID0gbmV3IEJGSFN0YXRlcyh0aGlzLCBvcHRpb25zKSkpOw0KICAgICAgfQ0KICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdzdHJpbmcnKSB7DQogICAgICAgIGRhdGFbb3B0aW9uXS5jYWxsKCR0aGlzKTsNCiAgICAgIH0NCiAgICB9KTsNCiAgfTsNCg0KICAkLmZuLmJmaHN0YXRlcy5Db25zdHJ1Y3RvciA9IEJGSFN0YXRlczsNCg0KICAkLmZuLmJmaHN0YXRlcy5kZWZhdWx0cyA9IHsNCiAgICBjb3VudHJ5OiAnJywNCiAgICBzdGF0ZTogJycsDQogICAgYmxhbms6IHRydWUNCiAgfTsNCg0KDQogIC8qIFNUQVRFUyBOTyBDT05GTElDVA0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogICQuZm4uYmZoc3RhdGVzLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmhzdGF0ZXMgPSBvbGQ7DQogICAgcmV0dXJuIHRoaXM7DQogIH07DQoNCg0KICAvKiBTVEFURVMgREFUQS1BUEkNCiAgICogPT09PT09PT09PT09PT0gKi8NCg0KICAkKGRvY3VtZW50KS5yZWFkeSggZnVuY3Rpb24gKCkgew0KICAgICQoJ2Zvcm0gc2VsZWN0LmJmaC1zdGF0ZXMsIHNwYW4uYmZoLXN0YXRlcywgZGl2LmJmaC1zdGF0ZXMnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkc3RhdGVzOw0KDQogICAgICAkc3RhdGVzID0gJCh0aGlzKTsNCg0KICAgICAgaWYgKCRzdGF0ZXMuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgICAkc3RhdGVzLmJmaHNlbGVjdGJveCgkc3RhdGVzLmRhdGEoKSk7DQogICAgICB9DQogICAgICAkc3RhdGVzLmJmaHN0YXRlcygkc3RhdGVzLmRhdGEoKSk7DQogICAgfSk7DQogIH0pOw0KDQp9KHdpbmRvdy5qUXVlcnkpOw0KDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBib290c3RyYXAtZm9ybWhlbHBlcnMtdGltZXBpY2tlci5qcw0KICogaHR0cHM6Ly9naXRodWIuY29tL3ZsYW1hbm5hL0Jvb3RzdHJhcEZvcm1IZWxwZXJzDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBDb3B5cmlnaHQgMjAxMiBWaW5jZW50IExhbWFubmENCiAqDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQoNCitmdW5jdGlvbiAoJCkgew0KDQogICd1c2Ugc3RyaWN0JzsNCg0KDQogLyogVElNRVBJQ0tFUiBDTEFTUyBERUZJTklUSU9ODQogICogPT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciB0b2dnbGUgPSAnW2RhdGEtdG9nZ2xlPWJmaC10aW1lcGlja2VyXScsDQogICAgICBCRkhUaW1lUGlja2VyID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsNCiAgICAgICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sICQuZm4uYmZodGltZXBpY2tlci5kZWZhdWx0cywgb3B0aW9ucyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgICAgIHRoaXMuaW5pdFBvcG92ZXIoKTsNCiAgICAgIH07DQoNCiAgQkZIVGltZVBpY2tlci5wcm90b3R5cGUgPSB7DQoNCiAgICBjb25zdHJ1Y3RvcjogQkZIVGltZVBpY2tlciwNCg0KICAgIHNldFRpbWU6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIHRpbWUsDQogICAgICAgICAgdG9kYXksDQogICAgICAgICAgdGltZVBhcnRzLA0KICAgICAgICAgIGhvdXJzLA0KICAgICAgICAgIG1pbnV0ZXMsDQogICAgICAgICAgbW9kZSwNCiAgICAgICAgICBjdXJyZW50TW9kZTsNCg0KICAgICAgdGltZSA9IHRoaXMub3B0aW9ucy50aW1lOw0KICAgICAgbW9kZSA9ICcnOw0KICAgICAgY3VycmVudE1vZGUgPSAnJzsNCiAgICAgIA0KICAgICAgaWYgKHRpbWUgPT09ICcnIHx8IHRpbWUgPT09ICdub3cnIHx8IHRpbWUgPT09IHVuZGVmaW5lZCkgew0KICAgICAgICB0b2RheSA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgaG91cnMgPSB0b2RheS5nZXRIb3VycygpOw0KICAgICAgICBtaW51dGVzID0gdG9kYXkuZ2V0TWludXRlcygpOw0KICAgICAgICANCiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5tb2RlID09PSAnMTJoJykgew0KICAgICAgICAgIGlmIChob3VycyA-IDEyKSB7DQogICAgICAgICAgICBob3VycyA9IGhvdXJzIC0gMTI7DQogICAgICAgICAgICBtb2RlID0gJyAnICsgQkZIVGltZVBpY2tlck1vZGVzLnBtOw0KICAgICAgICAgICAgY3VycmVudE1vZGUgPSAncG0nOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBtb2RlID0gJyAnICsgQkZIVGltZVBpY2tlck1vZGVzLmFtOw0KICAgICAgICAgICAgY3VycmVudE1vZGUgPSAnYW0nOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaWYgKHRpbWUgPT09ICdub3cnKSB7DQogICAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXRpbWVwaWNrZXItdG9nZ2xlID4gaW5wdXRbdHlwZT0idGV4dCJdJykudmFsKGZvcm1hdFRpbWUoaG91cnMsIG1pbnV0ZXMpICsgbW9kZSk7DQogICAgICAgIH0NCg0KICAgICAgICB0aGlzLiRlbGVtZW50LmRhdGEoJ2hvdXInLCBob3Vycyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YSgnbWludXRlJywgbWludXRlcyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YSgnbW9kZScsIGN1cnJlbnRNb2RlKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRpbWVQYXJ0cyA9IFN0cmluZyh0aW1lKS5zcGxpdChCRkhUaW1lUGlja2VyRGVsaW1pdGVyKTsNCiAgICAgICAgaG91cnMgPSB0aW1lUGFydHNbMF07DQogICAgICAgIG1pbnV0ZXMgPSB0aW1lUGFydHNbMV07DQogICAgICAgIA0KICAgICAgICBpZiAodGhpcy5vcHRpb25zLm1vZGUgPT09ICcxMmgnKSB7DQogICAgICAgICAgdGltZVBhcnRzID0gU3RyaW5nKG1pbnV0ZXMpLnNwbGl0KCcgJyk7DQogICAgICAgICAgbWludXRlcyA9IHRpbWVQYXJ0c1swXTsNCiAgICAgICAgICBpZiAodGltZVBhcnRzWzFdID09PSBCRkhUaW1lUGlja2VyTW9kZXMucG0pIHsNCiAgICAgICAgICAgIGN1cnJlbnRNb2RlID0gJ3BtJzsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgY3VycmVudE1vZGUgPSAnYW0nOw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXRpbWVwaWNrZXItdG9nZ2xlID4gaW5wdXRbdHlwZT0idGV4dCJdJykudmFsKHRpbWUpOw0KICAgICAgICB0aGlzLiRlbGVtZW50LmRhdGEoJ2hvdXInLCBob3Vycyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YSgnbWludXRlJywgbWludXRlcyk7DQogICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YSgnbW9kZScsIGN1cnJlbnRNb2RlKTsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgaW5pdFBvcG92ZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIGljb25MZWZ0LA0KICAgICAgICAgIGljb25SaWdodCwNCiAgICAgICAgICBpY29uQWRkb24sDQogICAgICAgICAgbW9kZUFkZG9uLA0KICAgICAgICAgIG1vZGVNYXg7DQoNCiAgICAgIGljb25MZWZ0ID0gJyc7DQogICAgICBpY29uUmlnaHQgPSAnJzsNCiAgICAgIGljb25BZGRvbiA9ICcnOw0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5pY29uICE9PSAnJykgew0KICAgICAgICBpZiAodGhpcy5vcHRpb25zLmFsaWduID09PSAncmlnaHQnKSB7DQogICAgICAgICAgaWNvblJpZ2h0ID0gJzxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1hZGRvbiI-PGkgY2xhc3M9IicgKyB0aGlzLm9wdGlvbnMuaWNvbiArICciPjwvaT48L3NwYW4-JzsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBpY29uTGVmdCA9ICc8c3BhbiBjbGFzcz0iaW5wdXQtZ3JvdXAtYWRkb24iPjxpIGNsYXNzPSInICsgdGhpcy5vcHRpb25zLmljb24gKyAnIj48L2k-PC9zcGFuPic7DQogICAgICAgIH0NCiAgICAgICAgaWNvbkFkZG9uID0gJ2lucHV0LWdyb3VwJzsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgbW9kZUFkZG9uID0gJyc7DQogICAgICBtb2RlTWF4ID0gJzIzJzsNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMubW9kZSA9PT0gJzEyaCcpIHsNCiAgICAgICAgbW9kZUFkZG9uID0gJzx0ZD4nICsNCiAgICAgICAgICAnPGRpdiBjbGFzcz0iYmZoLXNlbGVjdGJveCIgZGF0YS1pbnB1dD0iJyArIHRoaXMub3B0aW9ucy5pbnB1dCArICciIGRhdGEtdmFsdWU9ImFtIj4nICsNCiAgICAgICAgICAnPGRpdiBkYXRhLXZhbHVlPSJhbSI-JyArIEJGSFRpbWVQaWNrZXJNb2Rlcy5hbSArICc8L2Rpdj4nICsNCiAgICAgICAgICAnPGRpdiBkYXRhLXZhbHVlPSJwbSI-JyArIEJGSFRpbWVQaWNrZXJNb2Rlcy5wbSArICc8L2Rpdj4nICsNCiAgICAgICAgICAnPC9kaXY-JzsNCiAgICAgICAgbW9kZU1heCA9ICcxMSc7DQogICAgICB9DQoNCiAgICAgIHRoaXMuJGVsZW1lbnQuaHRtbCgNCiAgICAgICAgJzxkaXYgY2xhc3M9IicgKyBpY29uQWRkb24gKyAnIGJmaC10aW1lcGlja2VyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImJmaC10aW1lcGlja2VyIj4nICsNCiAgICAgICAgaWNvbkxlZnQgKw0KICAgICAgICAnPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IicgKyB0aGlzLm9wdGlvbnMubmFtZSArICciIGNsYXNzPSInICsgdGhpcy5vcHRpb25zLmlucHV0ICsgJyIgcGxhY2Vob2xkZXI9IicgKyB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIgKyAnIiByZWFkb25seT4nICsNCiAgICAgICAgaWNvblJpZ2h0ICsNCiAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAnPGRpdiBjbGFzcz0iYmZoLXRpbWVwaWNrZXItcG9wb3ZlciI-JyArDQogICAgICAgICc8dGFibGUgY2xhc3M9InRhYmxlIj4nICsNCiAgICAgICAgJzx0Ym9keT4nICsNCiAgICAgICAgJzx0cj4nICsNCiAgICAgICAgJzx0ZCBjbGFzcz0iaG91ciI-JyArDQogICAgICAgICc8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9IicgKyB0aGlzLm9wdGlvbnMuaW5wdXQgKyAnIGJmaC1udW1iZXIiICBkYXRhLW1pbj0iMCIgZGF0YS1tYXg9IicgKyBtb2RlTWF4ICsgJyIgZGF0YS16ZXJvcz0idHJ1ZSIgZGF0YS13cmFwPSJ0cnVlIj4nICsNCiAgICAgICAgJzwvdGQ-JyArDQogICAgICAgICc8dGQgY2xhc3M9InNlcGFyYXRvciI-JyArIEJGSFRpbWVQaWNrZXJEZWxpbWl0ZXIgKyAnPC90ZD4nICsNCiAgICAgICAgJzx0ZCBjbGFzcz0ibWludXRlIj4nICsNCiAgICAgICAgJzxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iJyArIHRoaXMub3B0aW9ucy5pbnB1dCArICcgYmZoLW51bWJlciIgIGRhdGEtbWluPSIwIiBkYXRhLW1heD0iNTkiIGRhdGEtemVyb3M9InRydWUiIGRhdGEtd3JhcD0idHJ1ZSI-JyArDQogICAgICAgICc8L3RkPicgKw0KICAgICAgICBtb2RlQWRkb24gKw0KICAgICAgICAnPC90cj4nICsNCiAgICAgICAgJzwvdGJvZHk-JyArDQogICAgICAgICc8L3RhYmxlPicgKw0KICAgICAgICAnPC9kaXY-Jw0KICAgICAgKTsNCg0KICAgICAgdGhpcy4kZWxlbWVudA0KICAgICAgICAub24oJ2NsaWNrLmJmaHRpbWVwaWNrZXIuZGF0YS1hcGkgdG91Y2hzdGFydC5iZmh0aW1lcGlja2VyLmRhdGEtYXBpJywgdG9nZ2xlLCBCRkhUaW1lUGlja2VyLnByb3RvdHlwZS50b2dnbGUpDQogICAgICAgIC5vbignY2xpY2suYmZodGltZXBpY2tlci5kYXRhLWFwaSB0b3VjaHN0YXJ0LmJmaHRpbWVwaWNrZXIuZGF0YS1hcGknLCAnLmJmaC10aW1lcGlja2VyLXBvcG92ZXIgPiB0YWJsZScsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOw0KDQogICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJy5iZmgtbnVtYmVyJykuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciAkbnVtYmVyOw0KDQogICAgICAgICRudW1iZXIgPSAkKHRoaXMpOw0KDQogICAgICAgICRudW1iZXIuYmZobnVtYmVyKCRudW1iZXIuZGF0YSgpKTsNCiAgICAgICAgDQogICAgICAgICRudW1iZXIub24oJ2NoYW5nZScsIEJGSFRpbWVQaWNrZXIucHJvdG90eXBlLmNoYW5nZSk7DQogICAgICB9KTsNCiAgICAgIA0KICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcuYmZoLXNlbGVjdGJveCcpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciAkc2VsZWN0Ym94Ow0KDQogICAgICAgICRzZWxlY3Rib3ggPSAkKHRoaXMpOw0KDQogICAgICAgICRzZWxlY3Rib3guYmZoc2VsZWN0Ym94KCRzZWxlY3Rib3guZGF0YSgpKTsNCiAgICAgICAgDQogICAgICAgICRzZWxlY3Rib3gub24oJ2NoYW5nZS5iZmhzZWxlY3Rib3gnLCBCRkhUaW1lUGlja2VyLnByb3RvdHlwZS5jaGFuZ2UpOw0KICAgICAgfSk7DQogICAgICANCiAgICAgIHRoaXMuc2V0VGltZSgpOw0KDQogICAgICB0aGlzLnVwZGF0ZVBvcG92ZXIoKTsNCiAgICB9LA0KDQogICAgdXBkYXRlUG9wb3ZlcjogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgaG91ciwNCiAgICAgICAgICBtaW51dGUsDQogICAgICAgICAgbW9kZTsNCg0KICAgICAgaG91ciA9IHRoaXMuJGVsZW1lbnQuZGF0YSgnaG91cicpOw0KICAgICAgbWludXRlID0gdGhpcy4kZWxlbWVudC5kYXRhKCdtaW51dGUnKTsNCiAgICAgIG1vZGUgPSB0aGlzLiRlbGVtZW50LmRhdGEoJ21vZGUnKTsNCg0KICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcuaG91ciBpbnB1dFt0eXBlPXRleHRdJykudmFsKGhvdXIpLmNoYW5nZSgpOw0KICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcubWludXRlIGlucHV0W3R5cGU9dGV4dF0nKS52YWwobWludXRlKS5jaGFuZ2UoKTsNCiAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnLmJmaC1zZWxlY3Rib3gnKS52YWwobW9kZSk7DQogICAgfSwNCiAgICANCiAgICBjaGFuZ2U6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgICRwYXJlbnQsDQogICAgICAgICAgJHRpbWVQaWNrZXIsDQogICAgICAgICAgbW9kZTsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQogICAgICANCiAgICAgICR0aW1lUGlja2VyID0gJHBhcmVudC5kYXRhKCdiZmh0aW1lcGlja2VyJyk7DQogICAgICANCiAgICAgIGlmICgkdGltZVBpY2tlciAmJiAkdGltZVBpY2tlciAhPT0gJ3VuZGVmaW5lZCcpIHsNCiAgICAgICAgbW9kZSA9ICcnOw0KICAgICAgICBpZiAoJHRpbWVQaWNrZXIub3B0aW9ucy5tb2RlID09PSAnMTJoJykgew0KICAgICAgICAgIG1vZGUgPSAnICcgKyBCRkhUaW1lUGlja2VyTW9kZXNbJHBhcmVudC5maW5kKCcuYmZoLXNlbGVjdGJveCcpLnZhbCgpXTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgJHBhcmVudC5maW5kKCcuYmZoLXRpbWVwaWNrZXItdG9nZ2xlID4gaW5wdXRbdHlwZT0idGV4dCJdJykudmFsKCRwYXJlbnQuZmluZCgnLmhvdXIgaW5wdXRbdHlwZT10ZXh0XScpLnZhbCgpICsgQkZIVGltZVBpY2tlckRlbGltaXRlciArICRwYXJlbnQuZmluZCgnLm1pbnV0ZSBpbnB1dFt0eXBlPXRleHRdJykudmFsKCkgKyBtb2RlKTsNCg0KICAgICAgICAkcGFyZW50LnRyaWdnZXIoJ2NoYW5nZS5iZmh0aW1lcGlja2VyJyk7DQogICAgICB9DQoNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9LA0KDQogICAgdG9nZ2xlOiBmdW5jdGlvbihlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHBhcmVudCwNCiAgICAgICAgICBpc0FjdGl2ZTsNCg0KICAgICAgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgJHBhcmVudCA9IGdldFBhcmVudCgkdGhpcyk7DQoNCiAgICAgIGlmICgkcGFyZW50LmlzKCcuZGlzYWJsZWQnKSB8fCAkcGFyZW50LmF0dHIoJ2Rpc2FibGVkJykgIT09IHVuZGVmaW5lZCkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCg0KICAgICAgaXNBY3RpdmUgPSAkcGFyZW50Lmhhc0NsYXNzKCdvcGVuJyk7DQoNCiAgICAgIGNsZWFyTWVudXMoKTsNCg0KICAgICAgaWYgKCFpc0FjdGl2ZSkgew0KICAgICAgICAkcGFyZW50LnRyaWdnZXIoZSA9ICQuRXZlbnQoJ3Nob3cuYmZodGltZXBpY2tlcicpKTsNCg0KICAgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgew0KICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgJHBhcmVudA0KICAgICAgICAgIC50b2dnbGVDbGFzcygnb3BlbicpDQogICAgICAgICAgLnRyaWdnZXIoJ3Nob3duLmJmaHRpbWVwaWNrZXInKTsNCg0KICAgICAgICAkdGhpcy5mb2N1cygpOw0KICAgICAgfQ0KDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICB9Ow0KDQogIGZ1bmN0aW9uIGZvcm1hdFRpbWUoaG91ciwgbWludXRlKSB7DQogICAgaG91ciA9IFN0cmluZyhob3VyKTsNCiAgICBpZiAoaG91ci5sZW5ndGggPT09IDEpIHsNCiAgICAgIGhvdXIgPSAnMCcgKyBob3VyOw0KICAgIH0NCg0KICAgIG1pbnV0ZSA9IFN0cmluZyhtaW51dGUpOw0KICAgIGlmIChtaW51dGUubGVuZ3RoID09PSAxKSB7DQogICAgICBtaW51dGUgPSAnMCcgKyBtaW51dGU7DQogICAgfQ0KDQogICAgcmV0dXJuIGhvdXIgKyBCRkhUaW1lUGlja2VyRGVsaW1pdGVyICsgbWludXRlOw0KICB9DQogIA0KICBmdW5jdGlvbiBjbGVhck1lbnVzKCkgew0KICAgIHZhciAkcGFyZW50Ow0KDQogICAgJCh0b2dnbGUpLmVhY2goZnVuY3Rpb24gKGUpIHsNCiAgICAgICRwYXJlbnQgPSBnZXRQYXJlbnQoJCh0aGlzKSk7DQoNCiAgICAgIGlmICghJHBhcmVudC5oYXNDbGFzcygnb3BlbicpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KDQogICAgICAkcGFyZW50LnRyaWdnZXIoZSA9ICQuRXZlbnQoJ2hpZGUuYmZodGltZXBpY2tlcicpKTsNCg0KICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICAgICRwYXJlbnQNCiAgICAgICAgLnJlbW92ZUNsYXNzKCdvcGVuJykNCiAgICAgICAgLnRyaWdnZXIoJ2hpZGRlbi5iZmh0aW1lcGlja2VyJyk7DQogICAgfSk7DQogIH0NCg0KICBmdW5jdGlvbiBnZXRQYXJlbnQoJHRoaXMpIHsNCiAgICByZXR1cm4gJHRoaXMuY2xvc2VzdCgnLmJmaC10aW1lcGlja2VyJyk7DQogIH0NCg0KDQogIC8qIFRJTUVQSUNLRVIgUExVR0lOIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgb2xkID0gJC5mbi5iZmh0aW1lcGlja2VyOw0KDQogICQuZm4uYmZodGltZXBpY2tlciA9IGZ1bmN0aW9uIChvcHRpb24pIHsNCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkdGhpcywNCiAgICAgICAgICBkYXRhLA0KICAgICAgICAgIG9wdGlvbnM7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCiAgICAgIGRhdGEgPSAkdGhpcy5kYXRhKCdiZmh0aW1lcGlja2VyJyk7DQogICAgICBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgb3B0aW9uOw0KICAgICAgdGhpcy50eXBlID0gJ2JmaHRpbWVwaWNrZXInOw0KDQogICAgICBpZiAoIWRhdGEpIHsNCiAgICAgICAgJHRoaXMuZGF0YSgnYmZodGltZXBpY2tlcicsIChkYXRhID0gbmV3IEJGSFRpbWVQaWNrZXIodGhpcywgb3B0aW9ucykpKTsNCiAgICAgIH0NCiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykgew0KICAgICAgICBkYXRhW29wdGlvbl0uY2FsbCgkdGhpcyk7DQogICAgICB9DQogICAgfSk7DQogIH07DQoNCiAgJC5mbi5iZmh0aW1lcGlja2VyLkNvbnN0cnVjdG9yID0gQkZIVGltZVBpY2tlcjsNCg0KICAkLmZuLmJmaHRpbWVwaWNrZXIuZGVmYXVsdHMgPSB7DQogICAgaWNvbjogJ2dseXBoaWNvbiBnbHlwaGljb24tdGltZScsDQogICAgYWxpZ246ICdsZWZ0JywNCiAgICBpbnB1dDogJ2Zvcm0tY29udHJvbCcsDQogICAgcGxhY2Vob2xkZXI6ICcnLA0KICAgIG5hbWU6ICcnLA0KICAgIHRpbWU6ICdub3cnLA0KICAgIG1vZGU6ICcyNGgnDQogIH07DQoNCg0KICAvKiBUSU1FUElDS0VSIE5PIENPTkZMSUNUDQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgJC5mbi5iZmh0aW1lcGlja2VyLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7DQogICAgJC5mbi5iZmh0aW1lcGlja2VyID0gb2xkOw0KICAgIHJldHVybiB0aGlzOw0KICB9Ow0KDQoNCiAgLyogVElNRVBJQ0tFUiBWQUxIT09LUw0KICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KDQogIHZhciBvcmlnSG9vazsNCiAgaWYgKCQudmFsSG9va3MuZGl2KXsNCiAgICBvcmlnSG9vayA9ICQudmFsSG9va3MuZGl2Ow0KICB9DQogICQudmFsSG9va3MuZGl2ID0gew0KICAgIGdldDogZnVuY3Rpb24oZWwpIHsNCiAgICAgIGlmICgkKGVsKS5oYXNDbGFzcygnYmZoLXRpbWVwaWNrZXInKSkgew0KICAgICAgICByZXR1cm4gJChlbCkuZmluZCgnLmJmaC10aW1lcGlja2VyLXRvZ2dsZSA-IGlucHV0W3R5cGU9InRleHQiXScpLnZhbCgpOw0KICAgICAgfSBlbHNlIGlmIChvcmlnSG9vaykgew0KICAgICAgICByZXR1cm4gb3JpZ0hvb2suZ2V0KGVsKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIHNldDogZnVuY3Rpb24oZWwsIHZhbCkgew0KICAgICAgdmFyICR0aW1lcGlja2VyOw0KICAgICAgaWYgKCQoZWwpLmhhc0NsYXNzKCdiZmgtdGltZXBpY2tlcicpKSB7DQogICAgICAgICR0aW1lcGlja2VyID0gJChlbCkuZGF0YSgnYmZodGltZXBpY2tlcicpOw0KICAgICAgICAkdGltZXBpY2tlci5vcHRpb25zLnRpbWUgPSB2YWw7DQogICAgICAgICR0aW1lcGlja2VyLnNldFRpbWUoKTsNCiAgICAgICAgJHRpbWVwaWNrZXIudXBkYXRlUG9wb3ZlcigpOw0KICAgICAgfSBlbHNlIGlmIChvcmlnSG9vaykgew0KICAgICAgICByZXR1cm4gb3JpZ0hvb2suc2V0KGVsLHZhbCk7DQogICAgICB9DQogICAgfQ0KICB9Ow0KDQoNCiAgLyogVElNRVBJQ0tFUiBEQVRBLUFQSQ0KICAgKiA9PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpLnJlYWR5KCBmdW5jdGlvbiAoKSB7DQogICAgJCgnZGl2LmJmaC10aW1lcGlja2VyJykuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRpbWVwaWNrZXI7DQoNCiAgICAgICR0aW1lcGlja2VyID0gJCh0aGlzKTsNCg0KICAgICAgJHRpbWVwaWNrZXIuYmZodGltZXBpY2tlcigkdGltZXBpY2tlci5kYXRhKCkpOw0KICAgIH0pOw0KICB9KTsNCg0KDQogIC8qIEFQUExZIFRPIFNUQU5EQVJEIFRJTUVQSUNLRVIgRUxFTUVOVFMNCiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICAkKGRvY3VtZW50KQ0KICAgIC5vbignY2xpY2suYmZodGltZXBpY2tlci5kYXRhLWFwaScsIGNsZWFyTWVudXMpOw0KDQp9KHdpbmRvdy5qUXVlcnkpOw0KDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKiBib290c3RyYXAtZm9ybWhlbHBlcnMtdGltZXpvbmVzLmpzDQogKiBodHRwczovL2dpdGh1Yi5jb20vdmxhbWFubmEvQm9vdHN0cmFwRm9ybUhlbHBlcnMNCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAqIENvcHlyaWdodCAyMDEyIFZpbmNlbnQgTGFtYW5uYQ0KICoNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQogKg0KICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQogKg0KICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCitmdW5jdGlvbiAoJCkgew0KDQogICd1c2Ugc3RyaWN0JzsNCg0KDQogIC8qIFRJTUVaT05FUyBDTEFTUyBERUZJTklUSU9ODQogICAqID09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgQkZIVGltZXpvbmVzID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsNCiAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgJC5mbi5iZmh0aW1lem9uZXMuZGVmYXVsdHMsIG9wdGlvbnMpOw0KICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpOw0KDQogICAgaWYgKHRoaXMuJGVsZW1lbnQuaXMoJ3NlbGVjdCcpKSB7DQogICAgICB0aGlzLmFkZFRpbWV6b25lcygpOw0KICAgIH0NCg0KICAgIGlmICh0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCdiZmgtc2VsZWN0Ym94JykpIHsNCiAgICAgIHRoaXMuYWRkQm9vdHN0cmFwVGltZXpvbmVzKCk7DQogICAgfQ0KICB9Ow0KDQogIEJGSFRpbWV6b25lcy5wcm90b3R5cGUgPSB7DQoNCiAgICBjb25zdHJ1Y3RvcjogQkZIVGltZXpvbmVzLA0KDQogICAgYWRkVGltZXpvbmVzOiBmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgY291bnRyeSwNCiAgICAgICAgICAkY291bnRyeTsNCg0KICAgICAgY291bnRyeSA9IHRoaXMub3B0aW9ucy5jb3VudHJ5Ow0KDQogICAgICBpZiAoY291bnRyeSAhPT0gJycpIHsNCiAgICAgICAgJGNvdW50cnkgPSAkKGRvY3VtZW50KS5maW5kKCcjJyArIGNvdW50cnkpOw0KDQogICAgICAgIGlmICgkY291bnRyeS5sZW5ndGggIT09IDApIHsNCiAgICAgICAgICBjb3VudHJ5ID0gJGNvdW50cnkudmFsKCk7DQogICAgICAgICAgJGNvdW50cnkub24oJ2NoYW5nZScsIHt0aW1lem9uZTogdGhpc30sIHRoaXMuY2hhbmdlQ291bnRyeSk7DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy5sb2FkVGltZXpvbmVzKGNvdW50cnkpOw0KICAgIH0sDQoNCiAgICBsb2FkVGltZXpvbmVzOiBmdW5jdGlvbiAoY291bnRyeSkgew0KICAgICAgdmFyIHZhbHVlLA0KICAgICAgICAgIHRpbWV6b25lOw0KDQogICAgICB2YWx1ZSA9IHRoaXMub3B0aW9ucy50aW1lem9uZTsNCg0KICAgICAgdGhpcy4kZWxlbWVudC5odG1sKCcnKTsNCg0KICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibGFuayA9PT0gdHJ1ZSkgew0KICAgICAgICB0aGlzLiRlbGVtZW50LmFwcGVuZCgnPG9wdGlvbiB2YWx1ZT0iIj48L29wdGlvbj4nKTsNCiAgICAgIH0NCg0KICAgICAgZm9yICh0aW1lem9uZSBpbiBCRkhUaW1lem9uZXNMaXN0W2NvdW50cnldKSB7DQogICAgICAgIGlmIChCRkhUaW1lem9uZXNMaXN0W2NvdW50cnldLmhhc093blByb3BlcnR5KHRpbWV6b25lKSkgew0KICAgICAgICAgIHRoaXMuJGVsZW1lbnQuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPSInICsgdGltZXpvbmUgKyAnIj4nICsgQkZIVGltZXpvbmVzTGlzdFtjb3VudHJ5XVt0aW1lem9uZV0gKyAnPC9vcHRpb24-Jyk7DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgdGhpcy4kZWxlbWVudC52YWwodmFsdWUpOw0KICAgIH0sDQoNCiAgICBjaGFuZ2VDb3VudHJ5OiBmdW5jdGlvbiAoZSkgew0KICAgICAgdmFyICR0aGlzLA0KICAgICAgICAgICR0aW1lem9uZSwNCiAgICAgICAgICBjb3VudHJ5Ow0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICAkdGltZXpvbmUgPSBlLmRhdGEudGltZXpvbmU7DQogICAgICBjb3VudHJ5ID0gJHRoaXMudmFsKCk7DQoNCiAgICAgICR0aW1lem9uZS5sb2FkVGltZXpvbmVzKGNvdW50cnkpOw0KICAgIH0sDQoNCiAgICBhZGRCb290c3RyYXBUaW1lem9uZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgdmFyIGNvdW50cnksDQogICAgICAgICAgJGNvdW50cnk7DQoNCiAgICAgIGNvdW50cnkgPSB0aGlzLm9wdGlvbnMuY291bnRyeTsNCg0KICAgICAgaWYgKGNvdW50cnkgIT09ICcnKSB7DQogICAgICAgICRjb3VudHJ5ID0gJChkb2N1bWVudCkuZmluZCgnIycgKyBjb3VudHJ5KTsNCg0KICAgICAgICBpZiAoJGNvdW50cnkubGVuZ3RoICE9PSAwKSB7DQogICAgICAgICAgY291bnRyeSA9ICRjb3VudHJ5LmZpbmQoJ2lucHV0W3R5cGU9ImhpZGRlbiJdJykudmFsKCk7DQogICAgICAgICAgJGNvdW50cnkub24oJ2NoYW5nZS5iZmhzZWxlY3Rib3gnLCB7dGltZXpvbmU6IHRoaXN9LCB0aGlzLmNoYW5nZUJvb3RzdHJhcENvdW50cnkpOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIHRoaXMubG9hZEJvb3RzdHJhcFRpbWV6b25lcyhjb3VudHJ5KTsNCiAgICB9LA0KDQogICAgbG9hZEJvb3RzdHJhcFRpbWV6b25lczogZnVuY3Rpb24oY291bnRyeSkgew0KICAgICAgdmFyICRpbnB1dCwNCiAgICAgICAgICAkdG9nZ2xlLA0KICAgICAgICAgICRvcHRpb25zLA0KICAgICAgICAgIHZhbHVlLA0KICAgICAgICAgIHRpbWV6b25lOw0KDQogICAgICB2YWx1ZSA9IHRoaXMub3B0aW9ucy50aW1lem9uZTsNCiAgICAgICRpbnB1dCA9IHRoaXMuJGVsZW1lbnQuZmluZCgnaW5wdXRbdHlwZT0iaGlkZGVuIl0nKTsNCiAgICAgICR0b2dnbGUgPSB0aGlzLiRlbGVtZW50LmZpbmQoJy5iZmgtc2VsZWN0Ym94LW9wdGlvbicpOw0KICAgICAgJG9wdGlvbnMgPSB0aGlzLiRlbGVtZW50LmZpbmQoJ1tyb2xlPW9wdGlvbl0nKTsNCg0KICAgICAgJG9wdGlvbnMuaHRtbCgnJyk7DQoNCiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYmxhbmsgPT09IHRydWUpIHsNCiAgICAgICAgJG9wdGlvbnMuYXBwZW5kKCc8bGk-PGEgdGFiaW5kZXg9Ii0xIiBocmVmPSIjIiBkYXRhLW9wdGlvbj0iIj48L2E-PC9saT4nKTsNCiAgICAgIH0NCg0KICAgICAgZm9yICh0aW1lem9uZSBpbiBCRkhUaW1lem9uZXNMaXN0W2NvdW50cnldKSB7DQogICAgICAgIGlmIChCRkhUaW1lem9uZXNMaXN0W2NvdW50cnldLmhhc093blByb3BlcnR5KHRpbWV6b25lKSkgew0KICAgICAgICAgICRvcHRpb25zLmFwcGVuZCgnPGxpPjxhIHRhYmluZGV4PSItMSIgaHJlZj0iIyIgZGF0YS1vcHRpb249IicgKyB0aW1lem9uZSArICciPicgKyBCRkhUaW1lem9uZXNMaXN0W2NvdW50cnldW3RpbWV6b25lXSArICc8L2E-PC9saT4nKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KDQogICAgICB0aGlzLiRlbGVtZW50LnZhbCh2YWx1ZSk7DQogICAgfSwNCg0KICAgIGNoYW5nZUJvb3RzdHJhcENvdW50cnk6IGZ1bmN0aW9uIChlKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgJHRpbWV6b25lLA0KICAgICAgICAgIGNvdW50cnk7DQoNCiAgICAgICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICR0aW1lem9uZSA9IGUuZGF0YS50aW1lem9uZTsNCiAgICAgIGNvdW50cnkgPSAkdGhpcy52YWwoKTsNCg0KICAgICAgJHRpbWV6b25lLmxvYWRCb290c3RyYXBUaW1lem9uZXMoY291bnRyeSk7DQogICAgfQ0KDQogIH07DQoNCg0KICAvKiBUSU1FWk9ORVMgUExVR0lOIERFRklOSVRJT04NCiAgICogPT09PT09PT09PT09PT09PT09PT09PT0gKi8NCg0KICB2YXIgb2xkID0gJC5mbi5iZmh0aW1lem9uZXM7DQoNCiAgJC5mbi5iZmh0aW1lem9uZXMgPSBmdW5jdGlvbiAob3B0aW9uKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICB2YXIgJHRoaXMsDQogICAgICAgICAgZGF0YSwNCiAgICAgICAgICBvcHRpb25zOw0KDQogICAgICAkdGhpcyA9ICQodGhpcyk7DQogICAgICBkYXRhID0gJHRoaXMuZGF0YSgnYmZodGltZXpvbmVzJyk7DQogICAgICBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgb3B0aW9uOw0KDQogICAgICBpZiAoIWRhdGEpIHsNCiAgICAgICAgJHRoaXMuZGF0YSgnYmZodGltZXpvbmVzJywgKGRhdGEgPSBuZXcgQkZIVGltZXpvbmVzKHRoaXMsIG9wdGlvbnMpKSk7DQogICAgICB9DQogICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgZGF0YVtvcHRpb25dLmNhbGwoJHRoaXMpOw0KICAgICAgfQ0KICAgIH0pOw0KICB9Ow0KDQogICQuZm4uYmZodGltZXpvbmVzLkNvbnN0cnVjdG9yID0gQkZIVGltZXpvbmVzOw0KDQogICQuZm4uYmZodGltZXpvbmVzLmRlZmF1bHRzID0gew0KICAgIGNvdW50cnk6ICcnLA0KICAgIHRpbWV6b25lOiAnJywNCiAgICBibGFuazogdHJ1ZQ0KICB9Ow0KDQoNCiAgLyogVElNRVpPTkVTIE5PIENPTkZMSUNUDQogICAqID09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQoNCiAgJC5mbi5iZmh0aW1lem9uZXMubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsNCiAgICAkLmZuLmJmaHRpbWV6b25lcyA9IG9sZDsNCiAgICByZXR1cm4gdGhpczsNCiAgfTsNCg0KDQogIC8qIFRJTUVaT05FUyBEQVRBLUFQSQ0KICAgKiA9PT09PT09PT09PT09PSAqLw0KDQogICQoZG9jdW1lbnQpLnJlYWR5KCBmdW5jdGlvbiAoKSB7DQogICAgJCgnZm9ybSBzZWxlY3QuYmZoLXRpbWV6b25lcywgZGl2LmJmaC10aW1lem9uZXMnKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciAkdGltZXpvbmVzOw0KDQogICAgICAkdGltZXpvbmVzID0gJCh0aGlzKTsNCg0KICAgICAgaWYgKCR0aW1lem9uZXMuaGFzQ2xhc3MoJ2JmaC1zZWxlY3Rib3gnKSkgew0KICAgICAgICAkdGltZXpvbmVzLmJmaHNlbGVjdGJveCgkdGltZXpvbmVzLmRhdGEoKSk7DQogICAgICB9DQogICAgICAkdGltZXpvbmVzLmJmaHRpbWV6b25lcygkdGltZXpvbmVzLmRhdGEoKSk7DQogICAgfSk7DQogIH0pOw0KDQp9KHdpbmRvdy5qUXVlcnkpOw0K","bootstrap.min.js":"LyohDQogICogQm9vdHN0cmFwIHY0LjQuMSAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLykNCiAgKiBDb3B5cmlnaHQgMjAxMS0yMDE5IFRoZSBCb290c3RyYXAgQXV0aG9ycyAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2dyYXBocy9jb250cmlidXRvcnMpDQogICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAgKi8NCiFmdW5jdGlvbih0LGUpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU_ZShleHBvcnRzLHJlcXVpcmUoImpxdWVyeSIpLHJlcXVpcmUoInBvcHBlci5qcyIpKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImV4cG9ydHMiLCJqcXVlcnkiLCJwb3BwZXIuanMiXSxlKTplKCh0PXR8fHNlbGYpLmJvb3RzdHJhcD17fSx0LmpRdWVyeSx0LlBvcHBlcil9KHRoaXMsZnVuY3Rpb24odCxnLHUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLmtleSxpKX19ZnVuY3Rpb24gcyh0LGUsbil7cmV0dXJuIGUmJmkodC5wcm90b3R5cGUsZSksbiYmaSh0LG4pLHR9ZnVuY3Rpb24gZShlLHQpe3ZhciBuPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKGk9aS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpLG4ucHVzaC5hcHBseShuLGkpfXJldHVybiBufWZ1bmN0aW9uIGwobyl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIHI9bnVsbCE9YXJndW1lbnRzW3RdP2FyZ3VtZW50c1t0XTp7fTt0JTI_ZShPYmplY3QociksITApLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGUsbixpO2U9byxpPXJbbj10XSxuIGluIGU_T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7dmFsdWU6aSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbbl09aX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG8sT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocikpOmUoT2JqZWN0KHIpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHQpKX0pfXJldHVybiBvfWc9ZyYmZy5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdCIpP2cuZGVmYXVsdDpnLHU9dSYmdS5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdCIpP3UuZGVmYXVsdDp1O3ZhciBuPSJ0cmFuc2l0aW9uZW5kIjtmdW5jdGlvbiBvKHQpe3ZhciBlPXRoaXMsbj0hMTtyZXR1cm4gZyh0aGlzKS5vbmUoXy5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbigpe249ITB9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bnx8Xy50cmlnZ2VyVHJhbnNpdGlvbkVuZChlKX0sdCksdGhpc312YXIgXz17VFJBTlNJVElPTl9FTkQ6ImJzVHJhbnNpdGlvbkVuZCIsZ2V0VUlEOmZ1bmN0aW9uKHQpe2Zvcig7dCs9fn4oMWU2Kk1hdGgucmFuZG9tKCkpLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQpOyk7cmV0dXJuIHR9LGdldFNlbGVjdG9yRnJvbUVsZW1lbnQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRBdHRyaWJ1dGUoImRhdGEtdGFyZ2V0Iik7aWYoIWV8fCIjIj09PWUpe3ZhciBuPXQuZ2V0QXR0cmlidXRlKCJocmVmIik7ZT1uJiYiIyIhPT1uP24udHJpbSgpOiIifXRyeXtyZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKT9lOm51bGx9Y2F0Y2godCl7cmV0dXJuIG51bGx9fSxnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudDpmdW5jdGlvbih0KXtpZighdClyZXR1cm4gMDt2YXIgZT1nKHQpLmNzcygidHJhbnNpdGlvbi1kdXJhdGlvbiIpLG49Zyh0KS5jc3MoInRyYW5zaXRpb24tZGVsYXkiKSxpPXBhcnNlRmxvYXQoZSksbz1wYXJzZUZsb2F0KG4pO3JldHVybiBpfHxvPyhlPWUuc3BsaXQoIiwiKVswXSxuPW4uc3BsaXQoIiwiKVswXSwxZTMqKHBhcnNlRmxvYXQoZSkrcGFyc2VGbG9hdChuKSkpOjB9LHJlZmxvdzpmdW5jdGlvbih0KXtyZXR1cm4gdC5vZmZzZXRIZWlnaHR9LHRyaWdnZXJUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKHQpe2codCkudHJpZ2dlcihuKX0sc3VwcG9ydHNUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7cmV0dXJuIEJvb2xlYW4obil9LGlzRWxlbWVudDpmdW5jdGlvbih0KXtyZXR1cm4odFswXXx8dCkubm9kZVR5cGV9LHR5cGVDaGVja0NvbmZpZzpmdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpIGluIG4paWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkpe3ZhciBvPW5baV0scj1lW2ldLHM9ciYmXy5pc0VsZW1lbnQocik_ImVsZW1lbnQiOihhPXIse30udG9TdHJpbmcuY2FsbChhKS5tYXRjaCgvXHMoW2Etel0rKS9pKVsxXS50b0xvd2VyQ2FzZSgpKTtpZighbmV3IFJlZ0V4cChvKS50ZXN0KHMpKXRocm93IG5ldyBFcnJvcih0LnRvVXBwZXJDYXNlKCkrJzogT3B0aW9uICInK2krJyIgcHJvdmlkZWQgdHlwZSAiJytzKyciIGJ1dCBleHBlY3RlZCB0eXBlICInK28rJyIuJyl9dmFyIGF9LGZpbmRTaGFkb3dSb290OmZ1bmN0aW9uKHQpe2lmKCFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXR0YWNoU2hhZG93KXJldHVybiBudWxsO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0LmdldFJvb3ROb2RlKXJldHVybiB0IGluc3RhbmNlb2YgU2hhZG93Um9vdD90OnQucGFyZW50Tm9kZT9fLmZpbmRTaGFkb3dSb290KHQucGFyZW50Tm9kZSk6bnVsbDt2YXIgZT10LmdldFJvb3ROb2RlKCk7cmV0dXJuIGUgaW5zdGFuY2VvZiBTaGFkb3dSb290P2U6bnVsbH0salF1ZXJ5RGV0ZWN0aW9uOmZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBnKXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5LiBqUXVlcnkgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdC4iKTt2YXIgdD1nLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYodFswXTwyJiZ0WzFdPDl8fDE9PT10WzBdJiY5PT09dFsxXSYmdFsyXTwxfHw0PD10WzBdKXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBhdCBsZWFzdCBqUXVlcnkgdjEuOS4xIGJ1dCBsZXNzIHRoYW4gdjQuMC4wIil9fTtfLmpRdWVyeURldGVjdGlvbigpLGcuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9byxnLmV2ZW50LnNwZWNpYWxbXy5UUkFOU0lUSU9OX0VORF09e2JpbmRUeXBlOm4sZGVsZWdhdGVUeXBlOm4saGFuZGxlOmZ1bmN0aW9uKHQpe2lmKGcodC50YXJnZXQpLmlzKHRoaXMpKXJldHVybiB0LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciByPSJhbGVydCIsYT0iYnMuYWxlcnQiLGM9Ii4iK2EsaD1nLmZuW3JdLGY9e0NMT1NFOiJjbG9zZSIrYyxDTE9TRUQ6ImNsb3NlZCIrYyxDTElDS19EQVRBX0FQSToiY2xpY2siK2MrIi5kYXRhLWFwaSJ9LGQ9ImFsZXJ0IixtPSJmYWRlIixwPSJzaG93Iix2PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaSh0KXt0aGlzLl9lbGVtZW50PXR9dmFyIHQ9aS5wcm90b3R5cGU7cmV0dXJuIHQuY2xvc2U9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZWxlbWVudDt0JiYoZT10aGlzLl9nZXRSb290RWxlbWVudCh0KSksdGhpcy5fdHJpZ2dlckNsb3NlRXZlbnQoZSkuaXNEZWZhdWx0UHJldmVudGVkKCl8fHRoaXMuX3JlbW92ZUVsZW1lbnQoZSl9LHQuZGlzcG9zZT1mdW5jdGlvbigpe2cucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LGEpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5fZ2V0Um9vdEVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9Xy5nZXRTZWxlY3RvckZyb21FbGVtZW50KHQpLG49ITE7cmV0dXJuIGUmJihuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSkpLG49bnx8Zyh0KS5jbG9zZXN0KCIuIitkKVswXX0sdC5fdHJpZ2dlckNsb3NlRXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9Zy5FdmVudChmLkNMT1NFKTtyZXR1cm4gZyh0KS50cmlnZ2VyKGUpLGV9LHQuX3JlbW92ZUVsZW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztpZihnKGUpLnJlbW92ZUNsYXNzKHApLGcoZSkuaGFzQ2xhc3MobSkpe3ZhciB0PV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoZSk7ZyhlKS5vbmUoXy5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbih0KXtyZXR1cm4gbi5fZGVzdHJveUVsZW1lbnQoZSx0KX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHQpfWVsc2UgdGhpcy5fZGVzdHJveUVsZW1lbnQoZSl9LHQuX2Rlc3Ryb3lFbGVtZW50PWZ1bmN0aW9uKHQpe2codCkuZGV0YWNoKCkudHJpZ2dlcihmLkNMT1NFRCkucmVtb3ZlKCl9LGkuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzKSxlPXQuZGF0YShhKTtlfHwoZT1uZXcgaSh0aGlzKSx0LmRhdGEoYSxlKSksImNsb3NlIj09PW4mJmVbbl0odGhpcyl9KX0saS5faGFuZGxlRGlzbWlzcz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dCYmdC5wcmV2ZW50RGVmYXVsdCgpLGUuY2xvc2UodGhpcyl9fSxzKGksbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuNC4xIn19XSksaX0oKTtnKGRvY3VtZW50KS5vbihmLkNMSUNLX0RBVEFfQVBJLCdbZGF0YS1kaXNtaXNzPSJhbGVydCJdJyx2Ll9oYW5kbGVEaXNtaXNzKG5ldyB2KSksZy5mbltyXT12Ll9qUXVlcnlJbnRlcmZhY2UsZy5mbltyXS5Db25zdHJ1Y3Rvcj12LGcuZm5bcl0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBnLmZuW3JdPWgsdi5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgeT0iYnV0dG9uIixFPSJicy5idXR0b24iLEM9Ii4iK0UsVD0iLmRhdGEtYXBpIixiPWcuZm5beV0sUz0iYWN0aXZlIixEPSJidG4iLEk9ImZvY3VzIix3PSdbZGF0YS10b2dnbGVePSJidXR0b24iXScsQT0nW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0nLE49J1tkYXRhLXRvZ2dsZT0iYnV0dG9uIl0nLE89J1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdIC5idG4nLGs9J2lucHV0Om5vdChbdHlwZT0iaGlkZGVuIl0pJyxQPSIuYWN0aXZlIixMPSIuYnRuIixqPXtDTElDS19EQVRBX0FQSToiY2xpY2siK0MrVCxGT0NVU19CTFVSX0RBVEFfQVBJOiJmb2N1cyIrQytUKyIgYmx1ciIrQytULExPQURfREFUQV9BUEk6ImxvYWQiK0MrVH0sSD1mdW5jdGlvbigpe2Z1bmN0aW9uIG4odCl7dGhpcy5fZWxlbWVudD10fXZhciB0PW4ucHJvdG90eXBlO3JldHVybiB0LnRvZ2dsZT1mdW5jdGlvbigpe3ZhciB0PSEwLGU9ITAsbj1nKHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoQSlbMF07aWYobil7dmFyIGk9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKGspO2lmKGkpe2lmKCJyYWRpbyI9PT1pLnR5cGUpaWYoaS5jaGVja2VkJiZ0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhTKSl0PSExO2Vsc2V7dmFyIG89bi5xdWVyeVNlbGVjdG9yKFApO28mJmcobykucmVtb3ZlQ2xhc3MoUyl9ZWxzZSJjaGVja2JveCI9PT1pLnR5cGU_IkxBQkVMIj09PXRoaXMuX2VsZW1lbnQudGFnTmFtZSYmaS5jaGVja2VkPT09dGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoUykmJih0PSExKTp0PSExO3QmJihpLmNoZWNrZWQ9IXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFMpLGcoaSkudHJpZ2dlcigiY2hhbmdlIikpLGkuZm9jdXMoKSxlPSExfX10aGlzLl9lbGVtZW50Lmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8dGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIil8fChlJiZ0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwhdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoUykpLHQmJmcodGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoUykpfSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtnLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxFKSx0aGlzLl9lbGVtZW50PW51bGx9LG4uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzKS5kYXRhKEUpO3R8fCh0PW5ldyBuKHRoaXMpLGcodGhpcykuZGF0YShFLHQpKSwidG9nZ2xlIj09PWUmJnRbZV0oKX0pfSxzKG4sbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuNC4xIn19XSksbn0oKTtnKGRvY3VtZW50KS5vbihqLkNMSUNLX0RBVEFfQVBJLHcsZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQ7aWYoZyhlKS5oYXNDbGFzcyhEKXx8KGU9ZyhlKS5jbG9zZXN0KEwpWzBdKSwhZXx8ZS5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil8fGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKXQucHJldmVudERlZmF1bHQoKTtlbHNle3ZhciBuPWUucXVlcnlTZWxlY3RvcihrKTtpZihuJiYobi5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil8fG4uY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKSlyZXR1cm4gdm9pZCB0LnByZXZlbnREZWZhdWx0KCk7SC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZyhlKSwidG9nZ2xlIil9fSkub24oai5GT0NVU19CTFVSX0RBVEFfQVBJLHcsZnVuY3Rpb24odCl7dmFyIGU9Zyh0LnRhcmdldCkuY2xvc2VzdChMKVswXTtnKGUpLnRvZ2dsZUNsYXNzKEksL15mb2N1cyhpbik_JC8udGVzdCh0LnR5cGUpKX0pLGcod2luZG93KS5vbihqLkxPQURfREFUQV9BUEksZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE8pKSxlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXt2YXIgaT10W2VdLG89aS5xdWVyeVNlbGVjdG9yKGspO28uY2hlY2tlZHx8by5oYXNBdHRyaWJ1dGUoImNoZWNrZWQiKT9pLmNsYXNzTGlzdC5hZGQoUyk6aS5jbGFzc0xpc3QucmVtb3ZlKFMpfWZvcih2YXIgcj0wLHM9KHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE4pKSkubGVuZ3RoO3I8cztyKyspe3ZhciBhPXRbcl07InRydWUiPT09YS5nZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIpP2EuY2xhc3NMaXN0LmFkZChTKTphLmNsYXNzTGlzdC5yZW1vdmUoUyl9fSksZy5mblt5XT1ILl9qUXVlcnlJbnRlcmZhY2UsZy5mblt5XS5Db25zdHJ1Y3Rvcj1ILGcuZm5beV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBnLmZuW3ldPWIsSC5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgUj0iY2Fyb3VzZWwiLHg9ImJzLmNhcm91c2VsIixGPSIuIit4LFU9Ii5kYXRhLWFwaSIsVz1nLmZuW1JdLHE9e2ludGVydmFsOjVlMyxrZXlib2FyZDohMCxzbGlkZTohMSxwYXVzZToiaG92ZXIiLHdyYXA6ITAsdG91Y2g6ITB9LE09e2ludGVydmFsOiIobnVtYmVyfGJvb2xlYW4pIixrZXlib2FyZDoiYm9vbGVhbiIsc2xpZGU6Iihib29sZWFufHN0cmluZykiLHBhdXNlOiIoc3RyaW5nfGJvb2xlYW4pIix3cmFwOiJib29sZWFuIix0b3VjaDoiYm9vbGVhbiJ9LEs9Im5leHQiLFE9InByZXYiLEI9ImxlZnQiLFY9InJpZ2h0IixZPXtTTElERToic2xpZGUiK0YsU0xJRDoic2xpZCIrRixLRVlET1dOOiJrZXlkb3duIitGLE1PVVNFRU5URVI6Im1vdXNlZW50ZXIiK0YsTU9VU0VMRUFWRToibW91c2VsZWF2ZSIrRixUT1VDSFNUQVJUOiJ0b3VjaHN0YXJ0IitGLFRPVUNITU9WRToidG91Y2htb3ZlIitGLFRPVUNIRU5EOiJ0b3VjaGVuZCIrRixQT0lOVEVSRE9XTjoicG9pbnRlcmRvd24iK0YsUE9JTlRFUlVQOiJwb2ludGVydXAiK0YsRFJBR19TVEFSVDoiZHJhZ3N0YXJ0IitGLExPQURfREFUQV9BUEk6ImxvYWQiK0YrVSxDTElDS19EQVRBX0FQSToiY2xpY2siK0YrVX0sej0iY2Fyb3VzZWwiLFg9ImFjdGl2ZSIsJD0ic2xpZGUiLEc9ImNhcm91c2VsLWl0ZW0tcmlnaHQiLEo9ImNhcm91c2VsLWl0ZW0tbGVmdCIsWj0iY2Fyb3VzZWwtaXRlbS1uZXh0Iix0dD0iY2Fyb3VzZWwtaXRlbS1wcmV2IixldD0icG9pbnRlci1ldmVudCIsbnQ9Ii5hY3RpdmUiLGl0PSIuYWN0aXZlLmNhcm91c2VsLWl0ZW0iLG90PSIuY2Fyb3VzZWwtaXRlbSIscnQ9Ii5jYXJvdXNlbC1pdGVtIGltZyIsc3Q9Ii5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYiLGF0PSIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIsbHQ9IltkYXRhLXNsaWRlXSwgW2RhdGEtc2xpZGUtdG9dIixjdD0nW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScsaHQ9e1RPVUNIOiJ0b3VjaCIsUEVOOiJwZW4ifSx1dD1mdW5jdGlvbigpe2Z1bmN0aW9uIHIodCxlKXt0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2ludGVydmFsPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2lzUGF1c2VkPSExLHRoaXMuX2lzU2xpZGluZz0hMSx0aGlzLnRvdWNoVGltZW91dD1udWxsLHRoaXMudG91Y2hTdGFydFg9MCx0aGlzLnRvdWNoRGVsdGFYPTAsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9lbGVtZW50PXQsdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQ9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKGF0KSx0aGlzLl90b3VjaFN1cHBvcnRlZD0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8MDxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMsdGhpcy5fcG9pbnRlckV2ZW50PUJvb2xlYW4od2luZG93LlBvaW50ZXJFdmVudHx8d2luZG93Lk1TUG9pbnRlckV2ZW50KSx0aGlzLl9hZGRFdmVudExpc3RlbmVycygpfXZhciB0PXIucHJvdG90eXBlO3JldHVybiB0Lm5leHQ9ZnVuY3Rpb24oKXt0aGlzLl9pc1NsaWRpbmd8fHRoaXMuX3NsaWRlKEspfSx0Lm5leHRXaGVuVmlzaWJsZT1mdW5jdGlvbigpeyFkb2N1bWVudC5oaWRkZW4mJmcodGhpcy5fZWxlbWVudCkuaXMoIjp2aXNpYmxlIikmJiJoaWRkZW4iIT09Zyh0aGlzLl9lbGVtZW50KS5jc3MoInZpc2liaWxpdHkiKSYmdGhpcy5uZXh0KCl9LHQucHJldj1mdW5jdGlvbigpe3RoaXMuX2lzU2xpZGluZ3x8dGhpcy5fc2xpZGUoUSl9LHQucGF1c2U9ZnVuY3Rpb24odCl7dHx8KHRoaXMuX2lzUGF1c2VkPSEwKSx0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3Ioc3QpJiYoXy50cmlnZ2VyVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50KSx0aGlzLmN5Y2xlKCEwKSksY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbH0sdC5jeWNsZT1mdW5jdGlvbih0KXt0fHwodGhpcy5faXNQYXVzZWQ9ITEpLHRoaXMuX2ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbCksdGhpcy5fY29uZmlnLmludGVydmFsJiYhdGhpcy5faXNQYXVzZWQmJih0aGlzLl9pbnRlcnZhbD1zZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3RoaXMubmV4dFdoZW5WaXNpYmxlOnRoaXMubmV4dCkuYmluZCh0aGlzKSx0aGlzLl9jb25maWcuaW50ZXJ2YWwpKX0sdC50bz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2FjdGl2ZUVsZW1lbnQ9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKGl0KTt2YXIgbj10aGlzLl9nZXRJdGVtSW5kZXgodGhpcy5fYWN0aXZlRWxlbWVudCk7aWYoISh0PnRoaXMuX2l0ZW1zLmxlbmd0aC0xfHx0PDApKWlmKHRoaXMuX2lzU2xpZGluZylnKHRoaXMuX2VsZW1lbnQpLm9uZShZLlNMSUQsZnVuY3Rpb24oKXtyZXR1cm4gZS50byh0KX0pO2Vsc2V7aWYobj09PXQpcmV0dXJuIHRoaXMucGF1c2UoKSx2b2lkIHRoaXMuY3ljbGUoKTt2YXIgaT1uPHQ_SzpRO3RoaXMuX3NsaWRlKGksdGhpcy5faXRlbXNbdF0pfX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7Zyh0aGlzLl9lbGVtZW50KS5vZmYoRiksZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQseCksdGhpcy5faXRlbXM9bnVsbCx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5faW50ZXJ2YWw9bnVsbCx0aGlzLl9pc1BhdXNlZD1udWxsLHRoaXMuX2lzU2xpZGluZz1udWxsLHRoaXMuX2FjdGl2ZUVsZW1lbnQ9bnVsbCx0aGlzLl9pbmRpY2F0b3JzRWxlbWVudD1udWxsfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bCh7fSxxLHt9LHQpLF8udHlwZUNoZWNrQ29uZmlnKFIsdCxNKSx0fSx0Ll9oYW5kbGVTd2lwZT1mdW5jdGlvbigpe3ZhciB0PU1hdGguYWJzKHRoaXMudG91Y2hEZWx0YVgpO2lmKCEodDw9NDApKXt2YXIgZT10L3RoaXMudG91Y2hEZWx0YVg7KHRoaXMudG91Y2hEZWx0YVg9MCk8ZSYmdGhpcy5wcmV2KCksZTwwJiZ0aGlzLm5leHQoKX19LHQuX2FkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9jb25maWcua2V5Ym9hcmQmJmcodGhpcy5fZWxlbWVudCkub24oWS5LRVlET1dOLGZ1bmN0aW9uKHQpe3JldHVybiBlLl9rZXlkb3duKHQpfSksImhvdmVyIj09PXRoaXMuX2NvbmZpZy5wYXVzZSYmZyh0aGlzLl9lbGVtZW50KS5vbihZLk1PVVNFRU5URVIsZnVuY3Rpb24odCl7cmV0dXJuIGUucGF1c2UodCl9KS5vbihZLk1PVVNFTEVBVkUsZnVuY3Rpb24odCl7cmV0dXJuIGUuY3ljbGUodCl9KSx0aGlzLl9jb25maWcudG91Y2gmJnRoaXMuX2FkZFRvdWNoRXZlbnRMaXN0ZW5lcnMoKX0sdC5fYWRkVG91Y2hFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYodGhpcy5fdG91Y2hTdXBwb3J0ZWQpe3ZhciBuPWZ1bmN0aW9uKHQpe2UuX3BvaW50ZXJFdmVudCYmaHRbdC5vcmlnaW5hbEV2ZW50LnBvaW50ZXJUeXBlLnRvVXBwZXJDYXNlKCldP2UudG91Y2hTdGFydFg9dC5vcmlnaW5hbEV2ZW50LmNsaWVudFg6ZS5fcG9pbnRlckV2ZW50fHwoZS50b3VjaFN0YXJ0WD10Lm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5jbGllbnRYKX0saT1mdW5jdGlvbih0KXtlLl9wb2ludGVyRXZlbnQmJmh0W3Qub3JpZ2luYWxFdmVudC5wb2ludGVyVHlwZS50b1VwcGVyQ2FzZSgpXSYmKGUudG91Y2hEZWx0YVg9dC5vcmlnaW5hbEV2ZW50LmNsaWVudFgtZS50b3VjaFN0YXJ0WCksZS5faGFuZGxlU3dpcGUoKSwiaG92ZXIiPT09ZS5fY29uZmlnLnBhdXNlJiYoZS5wYXVzZSgpLGUudG91Y2hUaW1lb3V0JiZjbGVhclRpbWVvdXQoZS50b3VjaFRpbWVvdXQpLGUudG91Y2hUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24odCl7cmV0dXJuIGUuY3ljbGUodCl9LDUwMCtlLl9jb25maWcuaW50ZXJ2YWwpKX07Zyh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocnQpKS5vbihZLkRSQUdfU1RBUlQsZnVuY3Rpb24odCl7cmV0dXJuIHQucHJldmVudERlZmF1bHQoKX0pLHRoaXMuX3BvaW50ZXJFdmVudD8oZyh0aGlzLl9lbGVtZW50KS5vbihZLlBPSU5URVJET1dOLGZ1bmN0aW9uKHQpe3JldHVybiBuKHQpfSksZyh0aGlzLl9lbGVtZW50KS5vbihZLlBPSU5URVJVUCxmdW5jdGlvbih0KXtyZXR1cm4gaSh0KX0pLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChldCkpOihnKHRoaXMuX2VsZW1lbnQpLm9uKFkuVE9VQ0hTVEFSVCxmdW5jdGlvbih0KXtyZXR1cm4gbih0KX0pLGcodGhpcy5fZWxlbWVudCkub24oWS5UT1VDSE1PVkUsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3Qub3JpZ2luYWxFdmVudC50b3VjaGVzJiYxPHQub3JpZ2luYWxFdmVudC50b3VjaGVzLmxlbmd0aD9lLnRvdWNoRGVsdGFYPTA6ZS50b3VjaERlbHRhWD10Lm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5jbGllbnRYLWUudG91Y2hTdGFydFh9KHQpfSksZyh0aGlzLl9lbGVtZW50KS5vbihZLlRPVUNIRU5ELGZ1bmN0aW9uKHQpe3JldHVybiBpKHQpfSkpfX0sdC5fa2V5ZG93bj1mdW5jdGlvbih0KXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKSlzd2l0Y2godC53aGljaCl7Y2FzZSAzNzp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5uZXh0KCl9fSx0Ll9nZXRJdGVtSW5kZXg9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2l0ZW1zPXQmJnQucGFyZW50Tm9kZT9bXS5zbGljZS5jYWxsKHQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKG90KSk6W10sdGhpcy5faXRlbXMuaW5kZXhPZih0KX0sdC5fZ2V0SXRlbUJ5RGlyZWN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG49dD09PUssaT10PT09USxvPXRoaXMuX2dldEl0ZW1JbmRleChlKSxyPXRoaXMuX2l0ZW1zLmxlbmd0aC0xO2lmKChpJiYwPT09b3x8biYmbz09PXIpJiYhdGhpcy5fY29uZmlnLndyYXApcmV0dXJuIGU7dmFyIHM9KG8rKHQ9PT1RPy0xOjEpKSV0aGlzLl9pdGVtcy5sZW5ndGg7cmV0dXJuLTE9PXM_dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdOnRoaXMuX2l0ZW1zW3NdfSx0Ll90cmlnZ2VyU2xpZGVFdmVudD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2dldEl0ZW1JbmRleCh0KSxpPXRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoaXQpKSxvPWcuRXZlbnQoWS5TTElERSx7cmVsYXRlZFRhcmdldDp0LGRpcmVjdGlvbjplLGZyb206aSx0bzpufSk7cmV0dXJuIGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihvKSxvfSx0Ll9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50PWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2luZGljYXRvcnNFbGVtZW50KXt2YXIgZT1bXS5zbGljZS5jYWxsKHRoaXMuX2luZGljYXRvcnNFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobnQpKTtnKGUpLnJlbW92ZUNsYXNzKFgpO3ZhciBuPXRoaXMuX2luZGljYXRvcnNFbGVtZW50LmNoaWxkcmVuW3RoaXMuX2dldEl0ZW1JbmRleCh0KV07biYmZyhuKS5hZGRDbGFzcyhYKX19LHQuX3NsaWRlPWZ1bmN0aW9uKHQsZSl7dmFyIG4saSxvLHI9dGhpcyxzPXRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihpdCksYT10aGlzLl9nZXRJdGVtSW5kZXgocyksbD1lfHxzJiZ0aGlzLl9nZXRJdGVtQnlEaXJlY3Rpb24odCxzKSxjPXRoaXMuX2dldEl0ZW1JbmRleChsKSxoPUJvb2xlYW4odGhpcy5faW50ZXJ2YWwpO2lmKG89dD09PUs_KG49SixpPVosQik6KG49RyxpPXR0LFYpLGwmJmcobCkuaGFzQ2xhc3MoWCkpdGhpcy5faXNTbGlkaW5nPSExO2Vsc2UgaWYoIXRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KGwsbykuaXNEZWZhdWx0UHJldmVudGVkKCkmJnMmJmwpe3RoaXMuX2lzU2xpZGluZz0hMCxoJiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChsKTt2YXIgdT1nLkV2ZW50KFkuU0xJRCx7cmVsYXRlZFRhcmdldDpsLGRpcmVjdGlvbjpvLGZyb206YSx0bzpjfSk7aWYoZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygkKSl7ZyhsKS5hZGRDbGFzcyhpKSxfLnJlZmxvdyhsKSxnKHMpLmFkZENsYXNzKG4pLGcobCkuYWRkQ2xhc3Mobik7dmFyIGY9cGFyc2VJbnQobC5nZXRBdHRyaWJ1dGUoImRhdGEtaW50ZXJ2YWwiKSwxMCk7Zj8odGhpcy5fY29uZmlnLmRlZmF1bHRJbnRlcnZhbD10aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsfHx0aGlzLl9jb25maWcuaW50ZXJ2YWwsdGhpcy5fY29uZmlnLmludGVydmFsPWYpOnRoaXMuX2NvbmZpZy5pbnRlcnZhbD10aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsfHx0aGlzLl9jb25maWcuaW50ZXJ2YWw7dmFyIGQ9Xy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChzKTtnKHMpLm9uZShfLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKCl7ZyhsKS5yZW1vdmVDbGFzcyhuKyIgIitpKS5hZGRDbGFzcyhYKSxnKHMpLnJlbW92ZUNsYXNzKFgrIiAiK2krIiAiK24pLHIuX2lzU2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIGcoci5fZWxlbWVudCkudHJpZ2dlcih1KX0sMCl9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkKX1lbHNlIGcocykucmVtb3ZlQ2xhc3MoWCksZyhsKS5hZGRDbGFzcyhYKSx0aGlzLl9pc1NsaWRpbmc9ITEsZyh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHUpO2gmJnRoaXMuY3ljbGUoKX19LHIuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzKS5kYXRhKHgpLGU9bCh7fSxxLHt9LGcodGhpcykuZGF0YSgpKTsib2JqZWN0Ij09dHlwZW9mIGkmJihlPWwoe30sZSx7fSxpKSk7dmFyIG49InN0cmluZyI9PXR5cGVvZiBpP2k6ZS5zbGlkZTtpZih0fHwodD1uZXcgcih0aGlzLGUpLGcodGhpcykuZGF0YSh4LHQpKSwibnVtYmVyIj09dHlwZW9mIGkpdC50byhpKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2Ygbil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytuKyciJyk7dFtuXSgpfWVsc2UgZS5pbnRlcnZhbCYmZS5yaWRlJiYodC5wYXVzZSgpLHQuY3ljbGUoKSl9KX0sci5fZGF0YUFwaUNsaWNrSGFuZGxlcj1mdW5jdGlvbih0KXt2YXIgZT1fLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7aWYoZSl7dmFyIG49ZyhlKVswXTtpZihuJiZnKG4pLmhhc0NsYXNzKHopKXt2YXIgaT1sKHt9LGcobikuZGF0YSgpLHt9LGcodGhpcykuZGF0YSgpKSxvPXRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlLXRvIik7byYmKGkuaW50ZXJ2YWw9ITEpLHIuX2pRdWVyeUludGVyZmFjZS5jYWxsKGcobiksaSksbyYmZyhuKS5kYXRhKHgpLnRvKG8pLHQucHJldmVudERlZmF1bHQoKX19fSxzKHIsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuNC4xIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBxfX1dKSxyfSgpO2coZG9jdW1lbnQpLm9uKFkuQ0xJQ0tfREFUQV9BUEksbHQsdXQuX2RhdGFBcGlDbGlja0hhbmRsZXIpLGcod2luZG93KS5vbihZLkxPQURfREFUQV9BUEksZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGN0KSksZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7dmFyIGk9Zyh0W2VdKTt1dC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoaSxpLmRhdGEoKSl9fSksZy5mbltSXT11dC5falF1ZXJ5SW50ZXJmYWNlLGcuZm5bUl0uQ29uc3RydWN0b3I9dXQsZy5mbltSXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGcuZm5bUl09Vyx1dC5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgZnQ9ImNvbGxhcHNlIixkdD0iYnMuY29sbGFwc2UiLGd0PSIuIitkdCxfdD1nLmZuW2Z0XSxtdD17dG9nZ2xlOiEwLHBhcmVudDoiIn0scHQ9e3RvZ2dsZToiYm9vbGVhbiIscGFyZW50OiIoc3RyaW5nfGVsZW1lbnQpIn0sdnQ9e1NIT1c6InNob3ciK2d0LFNIT1dOOiJzaG93biIrZ3QsSElERToiaGlkZSIrZ3QsSElEREVOOiJoaWRkZW4iK2d0LENMSUNLX0RBVEFfQVBJOiJjbGljayIrZ3QrIi5kYXRhLWFwaSJ9LHl0PSJzaG93IixFdD0iY29sbGFwc2UiLEN0PSJjb2xsYXBzaW5nIixUdD0iY29sbGFwc2VkIixidD0id2lkdGgiLFN0PSJoZWlnaHQiLER0PSIuc2hvdywgLmNvbGxhcHNpbmciLEl0PSdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl0nLHd0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLHQpe3RoaXMuX2lzVHJhbnNpdGlvbmluZz0hMSx0aGlzLl9lbGVtZW50PWUsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyh0KSx0aGlzLl90cmlnZ2VyQXJyYXk9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrZS5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytlLmlkKyciXScpKTtmb3IodmFyIG49W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKEl0KSksaT0wLG89bi5sZW5ndGg7aTxvO2krKyl7dmFyIHI9bltpXSxzPV8uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChyKSxhPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzKSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0PT09ZX0pO251bGwhPT1zJiYwPGEubGVuZ3RoJiYodGhpcy5fc2VsZWN0b3I9cyx0aGlzLl90cmlnZ2VyQXJyYXkucHVzaChyKSl9dGhpcy5fcGFyZW50PXRoaXMuX2NvbmZpZy5wYXJlbnQ_dGhpcy5fZ2V0UGFyZW50KCk6bnVsbCx0aGlzLl9jb25maWcucGFyZW50fHx0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCx0aGlzLl90cmlnZ2VyQXJyYXkpLHRoaXMuX2NvbmZpZy50b2dnbGUmJnRoaXMudG9nZ2xlKCl9dmFyIHQ9YS5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKCl7Zyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyh5dCk_dGhpcy5oaWRlKCk6dGhpcy5zaG93KCl9LHQuc2hvdz1mdW5jdGlvbigpe3ZhciB0LGUsbj10aGlzO2lmKCF0aGlzLl9pc1RyYW5zaXRpb25pbmcmJiFnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKHl0KSYmKHRoaXMuX3BhcmVudCYmMD09PSh0PVtdLnNsaWNlLmNhbGwodGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoRHQpKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLl9jb25maWcucGFyZW50P3QuZ2V0QXR0cmlidXRlKCJkYXRhLXBhcmVudCIpPT09bi5fY29uZmlnLnBhcmVudDp0LmNsYXNzTGlzdC5jb250YWlucyhFdCl9KSkubGVuZ3RoJiYodD1udWxsKSwhKHQmJihlPWcodCkubm90KHRoaXMuX3NlbGVjdG9yKS5kYXRhKGR0KSkmJmUuX2lzVHJhbnNpdGlvbmluZykpKXt2YXIgaT1nLkV2ZW50KHZ0LlNIT1cpO2lmKGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihpKSwhaS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dCYmKGEuX2pRdWVyeUludGVyZmFjZS5jYWxsKGcodCkubm90KHRoaXMuX3NlbGVjdG9yKSwiaGlkZSIpLGV8fGcodCkuZGF0YShkdCxudWxsKSk7dmFyIG89dGhpcy5fZ2V0RGltZW5zaW9uKCk7Zyh0aGlzLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhFdCkuYWRkQ2xhc3MoQ3QpLHRoaXMuX2VsZW1lbnQuc3R5bGVbb109MCx0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoJiZnKHRoaXMuX3RyaWdnZXJBcnJheSkucmVtb3ZlQ2xhc3MoVHQpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLnNldFRyYW5zaXRpb25pbmcoITApO3ZhciByPSJzY3JvbGwiKyhvWzBdLnRvVXBwZXJDYXNlKCkrby5zbGljZSgxKSkscz1fLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2codGhpcy5fZWxlbWVudCkub25lKF8uVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24oKXtnKG4uX2VsZW1lbnQpLnJlbW92ZUNsYXNzKEN0KS5hZGRDbGFzcyhFdCkuYWRkQ2xhc3MoeXQpLG4uX2VsZW1lbnQuc3R5bGVbb109IiIsbi5zZXRUcmFuc2l0aW9uaW5nKCExKSxnKG4uX2VsZW1lbnQpLnRyaWdnZXIodnQuU0hPV04pfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQocyksdGhpcy5fZWxlbWVudC5zdHlsZVtvXT10aGlzLl9lbGVtZW50W3JdKyJweCJ9fX0sdC5oaWRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiZnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKHl0KSl7dmFyIGU9Zy5FdmVudCh2dC5ISURFKTtpZihnKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoZSksIWUuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBuPXRoaXMuX2dldERpbWVuc2lvbigpO3RoaXMuX2VsZW1lbnQuc3R5bGVbbl09dGhpcy5fZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtuXSsicHgiLF8ucmVmbG93KHRoaXMuX2VsZW1lbnQpLGcodGhpcy5fZWxlbWVudCkuYWRkQ2xhc3MoQ3QpLnJlbW92ZUNsYXNzKEV0KS5yZW1vdmVDbGFzcyh5dCk7dmFyIGk9dGhpcy5fdHJpZ2dlckFycmF5Lmxlbmd0aDtpZigwPGkpZm9yKHZhciBvPTA7bzxpO28rKyl7dmFyIHI9dGhpcy5fdHJpZ2dlckFycmF5W29dLHM9Xy5nZXRTZWxlY3RvckZyb21FbGVtZW50KHIpO2lmKG51bGwhPT1zKWcoW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHMpKSkuaGFzQ2xhc3MoeXQpfHxnKHIpLmFkZENsYXNzKFR0KS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSl9dGhpcy5zZXRUcmFuc2l0aW9uaW5nKCEwKTt0aGlzLl9lbGVtZW50LnN0eWxlW25dPSIiO3ZhciBhPV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7Zyh0aGlzLl9lbGVtZW50KS5vbmUoXy5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbigpe3Quc2V0VHJhbnNpdGlvbmluZyghMSksZyh0Ll9lbGVtZW50KS5yZW1vdmVDbGFzcyhDdCkuYWRkQ2xhc3MoRXQpLnRyaWdnZXIodnQuSElEREVOKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEpfX19LHQuc2V0VHJhbnNpdGlvbmluZz1mdW5jdGlvbih0KXt0aGlzLl9pc1RyYW5zaXRpb25pbmc9dH0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7Zy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsZHQpLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl90cmlnZ2VyQXJyYXk9bnVsbCx0aGlzLl9pc1RyYW5zaXRpb25pbmc9bnVsbH0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybih0PWwoe30sbXQse30sdCkpLnRvZ2dsZT1Cb29sZWFuKHQudG9nZ2xlKSxfLnR5cGVDaGVja0NvbmZpZyhmdCx0LHB0KSx0fSx0Ll9nZXREaW1lbnNpb249ZnVuY3Rpb24oKXtyZXR1cm4gZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhidCk_YnQ6U3R9LHQuX2dldFBhcmVudD1mdW5jdGlvbigpe3ZhciB0LG49dGhpcztfLmlzRWxlbWVudCh0aGlzLl9jb25maWcucGFyZW50KT8odD10aGlzLl9jb25maWcucGFyZW50LCJ1bmRlZmluZWQiIT10eXBlb2YgdGhpcy5fY29uZmlnLnBhcmVudC5qcXVlcnkmJih0PXRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKTp0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5fY29uZmlnLnBhcmVudCk7dmFyIGU9J1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyt0aGlzLl9jb25maWcucGFyZW50KyciXScsaT1bXS5zbGljZS5jYWxsKHQucXVlcnlTZWxlY3RvckFsbChlKSk7cmV0dXJuIGcoaSkuZWFjaChmdW5jdGlvbih0LGUpe24uX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhhLl9nZXRUYXJnZXRGcm9tRWxlbWVudChlKSxbZV0pfSksdH0sdC5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzPWZ1bmN0aW9uKHQsZSl7dmFyIG49Zyh0KS5oYXNDbGFzcyh5dCk7ZS5sZW5ndGgmJmcoZSkudG9nZ2xlQ2xhc3MoVHQsIW4pLmF0dHIoImFyaWEtZXhwYW5kZWQiLG4pfSxhLl9nZXRUYXJnZXRGcm9tRWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT1fLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7cmV0dXJuIGU_ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKTpudWxsfSxhLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWcodGhpcyksZT10LmRhdGEoZHQpLG49bCh7fSxtdCx7fSx0LmRhdGEoKSx7fSwib2JqZWN0Ij09dHlwZW9mIGkmJmk_aTp7fSk7aWYoIWUmJm4udG9nZ2xlJiYvc2hvd3xoaWRlLy50ZXN0KGkpJiYobi50b2dnbGU9ITEpLGV8fChlPW5ldyBhKHRoaXMsbiksdC5kYXRhKGR0LGUpKSwic3RyaW5nIj09dHlwZW9mIGkpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgZVtpXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicraSsnIicpO2VbaV0oKX19KX0scyhhLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjQuMSJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbXR9fV0pLGF9KCk7Zyhkb2N1bWVudCkub24odnQuQ0xJQ0tfREFUQV9BUEksSXQsZnVuY3Rpb24odCl7IkEiPT09dC5jdXJyZW50VGFyZ2V0LnRhZ05hbWUmJnQucHJldmVudERlZmF1bHQoKTt2YXIgbj1nKHRoaXMpLGU9Xy5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpLGk9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUpKTtnKGkpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1nKHRoaXMpLGU9dC5kYXRhKGR0KT8idG9nZ2xlIjpuLmRhdGEoKTt3dC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodCxlKX0pfSksZy5mbltmdF09d3QuX2pRdWVyeUludGVyZmFjZSxnLmZuW2Z0XS5Db25zdHJ1Y3Rvcj13dCxnLmZuW2Z0XS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGcuZm5bZnRdPV90LHd0Ll9qUXVlcnlJbnRlcmZhY2V9O3ZhciBBdD0iZHJvcGRvd24iLE50PSJicy5kcm9wZG93biIsT3Q9Ii4iK050LGt0PSIuZGF0YS1hcGkiLFB0PWcuZm5bQXRdLEx0PW5ldyBSZWdFeHAoIjM4fDQwfDI3IiksanQ9e0hJREU6ImhpZGUiK090LEhJRERFTjoiaGlkZGVuIitPdCxTSE9XOiJzaG93IitPdCxTSE9XTjoic2hvd24iK090LENMSUNLOiJjbGljayIrT3QsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitPdCtrdCxLRVlET1dOX0RBVEFfQVBJOiJrZXlkb3duIitPdCtrdCxLRVlVUF9EQVRBX0FQSToia2V5dXAiK090K2t0fSxIdD0iZGlzYWJsZWQiLFJ0PSJzaG93Iix4dD0iZHJvcHVwIixGdD0iZHJvcHJpZ2h0IixVdD0iZHJvcGxlZnQiLFd0PSJkcm9wZG93bi1tZW51LXJpZ2h0IixxdD0icG9zaXRpb24tc3RhdGljIixNdD0nW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJyxLdD0iLmRyb3Bkb3duIGZvcm0iLFF0PSIuZHJvcGRvd24tbWVudSIsQnQ9Ii5uYXZiYXItbmF2IixWdD0iLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCkiLFl0PSJ0b3Atc3RhcnQiLHp0PSJ0b3AtZW5kIixYdD0iYm90dG9tLXN0YXJ0IiwkdD0iYm90dG9tLWVuZCIsR3Q9InJpZ2h0LXN0YXJ0IixKdD0ibGVmdC1zdGFydCIsWnQ9e29mZnNldDowLGZsaXA6ITAsYm91bmRhcnk6InNjcm9sbFBhcmVudCIscmVmZXJlbmNlOiJ0b2dnbGUiLGRpc3BsYXk6ImR5bmFtaWMiLHBvcHBlckNvbmZpZzpudWxsfSx0ZT17b2Zmc2V0OiIobnVtYmVyfHN0cmluZ3xmdW5jdGlvbikiLGZsaXA6ImJvb2xlYW4iLGJvdW5kYXJ5OiIoc3RyaW5nfGVsZW1lbnQpIixyZWZlcmVuY2U6IihzdHJpbmd8ZWxlbWVudCkiLGRpc3BsYXk6InN0cmluZyIscG9wcGVyQ29uZmlnOiIobnVsbHxvYmplY3QpIn0sZWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBjKHQsZSl7dGhpcy5fZWxlbWVudD10LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fbWVudT10aGlzLl9nZXRNZW51RWxlbWVudCgpLHRoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCl9dmFyIHQ9Yy5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2VsZW1lbnQuZGlzYWJsZWQmJiFnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKEh0KSl7dmFyIHQ9Zyh0aGlzLl9tZW51KS5oYXNDbGFzcyhSdCk7Yy5fY2xlYXJNZW51cygpLHR8fHRoaXMuc2hvdyghMCl9fSx0LnNob3c9ZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dCYmKHQ9ITEpLCEodGhpcy5fZWxlbWVudC5kaXNhYmxlZHx8Zyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhIdCl8fGcodGhpcy5fbWVudSkuaGFzQ2xhc3MoUnQpKSl7dmFyIGU9e3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0sbj1nLkV2ZW50KGp0LlNIT1csZSksaT1jLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtpZihnKGkpLnRyaWdnZXIobiksIW4uaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKCF0aGlzLl9pbk5hdmJhciYmdCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB1KXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIGRyb3Bkb3ducyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnLykiKTt2YXIgbz10aGlzLl9lbGVtZW50OyJwYXJlbnQiPT09dGhpcy5fY29uZmlnLnJlZmVyZW5jZT9vPWk6Xy5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSkmJihvPXRoaXMuX2NvbmZpZy5yZWZlcmVuY2UsInVuZGVmaW5lZCIhPXR5cGVvZiB0aGlzLl9jb25maWcucmVmZXJlbmNlLmpxdWVyeSYmKG89dGhpcy5fY29uZmlnLnJlZmVyZW5jZVswXSkpLCJzY3JvbGxQYXJlbnQiIT09dGhpcy5fY29uZmlnLmJvdW5kYXJ5JiZnKGkpLmFkZENsYXNzKHF0KSx0aGlzLl9wb3BwZXI9bmV3IHUobyx0aGlzLl9tZW51LHRoaXMuX2dldFBvcHBlckNvbmZpZygpKX0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmMD09PWcoaSkuY2xvc2VzdChCdCkubGVuZ3RoJiZnKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsbnVsbCxnLm5vb3ApLHRoaXMuX2VsZW1lbnQuZm9jdXMoKSx0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsITApLGcodGhpcy5fbWVudSkudG9nZ2xlQ2xhc3MoUnQpLGcoaSkudG9nZ2xlQ2xhc3MoUnQpLnRyaWdnZXIoZy5FdmVudChqdC5TSE9XTixlKSl9fX0sdC5oaWRlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2VsZW1lbnQuZGlzYWJsZWQmJiFnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKEh0KSYmZyh0aGlzLl9tZW51KS5oYXNDbGFzcyhSdCkpe3ZhciB0PXtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9LGU9Zy5FdmVudChqdC5ISURFLHQpLG49Yy5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7ZyhuKS50cmlnZ2VyKGUpLGUuaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5kZXN0cm95KCksZyh0aGlzLl9tZW51KS50b2dnbGVDbGFzcyhSdCksZyhuKS50b2dnbGVDbGFzcyhSdCkudHJpZ2dlcihnLkV2ZW50KGp0LkhJRERFTix0KSkpfX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7Zy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsTnQpLGcodGhpcy5fZWxlbWVudCkub2ZmKE90KSx0aGlzLl9lbGVtZW50PW51bGwsKHRoaXMuX21lbnU9bnVsbCkhPT10aGlzLl9wb3BwZXImJih0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHRoaXMuX3BvcHBlcj1udWxsKX0sdC51cGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSxudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKX0sdC5fYWRkRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2codGhpcy5fZWxlbWVudCkub24oanQuQ0xJQ0ssZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksZS50b2dnbGUoKX0pfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bCh7fSx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHQse30sZyh0aGlzLl9lbGVtZW50KS5kYXRhKCkse30sdCksXy50eXBlQ2hlY2tDb25maWcoQXQsdCx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSx0fSx0Ll9nZXRNZW51RWxlbWVudD1mdW5jdGlvbigpe2lmKCF0aGlzLl9tZW51KXt2YXIgdD1jLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTt0JiYodGhpcy5fbWVudT10LnF1ZXJ5U2VsZWN0b3IoUXQpKX1yZXR1cm4gdGhpcy5fbWVudX0sdC5fZ2V0UGxhY2VtZW50PWZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUpLGU9WHQ7cmV0dXJuIHQuaGFzQ2xhc3MoeHQpPyhlPVl0LGcodGhpcy5fbWVudSkuaGFzQ2xhc3MoV3QpJiYoZT16dCkpOnQuaGFzQ2xhc3MoRnQpP2U9R3Q6dC5oYXNDbGFzcyhVdCk_ZT1KdDpnKHRoaXMuX21lbnUpLmhhc0NsYXNzKFd0KSYmKGU9JHQpLGV9LHQuX2RldGVjdE5hdmJhcj1mdW5jdGlvbigpe3JldHVybiAwPGcodGhpcy5fZWxlbWVudCkuY2xvc2VzdCgiLm5hdmJhciIpLmxlbmd0aH0sdC5fZ2V0T2Zmc2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXt9O3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25maWcub2Zmc2V0P3QuZm49ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0cz1sKHt9LHQub2Zmc2V0cyx7fSxlLl9jb25maWcub2Zmc2V0KHQub2Zmc2V0cyxlLl9lbGVtZW50KXx8e30pLHR9OnQub2Zmc2V0PXRoaXMuX2NvbmZpZy5vZmZzZXQsdH0sdC5fZ2V0UG9wcGVyQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIHQ9e3BsYWNlbWVudDp0aGlzLl9nZXRQbGFjZW1lbnQoKSxtb2RpZmllcnM6e29mZnNldDp0aGlzLl9nZXRPZmZzZXQoKSxmbGlwOntlbmFibGVkOnRoaXMuX2NvbmZpZy5mbGlwfSxwcmV2ZW50T3ZlcmZsb3c6e2JvdW5kYXJpZXNFbGVtZW50OnRoaXMuX2NvbmZpZy5ib3VuZGFyeX19fTtyZXR1cm4ic3RhdGljIj09PXRoaXMuX2NvbmZpZy5kaXNwbGF5JiYodC5tb2RpZmllcnMuYXBwbHlTdHlsZT17ZW5hYmxlZDohMX0pLGwoe30sdCx7fSx0aGlzLl9jb25maWcucG9wcGVyQ29uZmlnKX0sYy5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1nKHRoaXMpLmRhdGEoTnQpO2lmKHR8fCh0PW5ldyBjKHRoaXMsIm9iamVjdCI9PXR5cGVvZiBlP2U6bnVsbCksZyh0aGlzKS5kYXRhKE50LHQpKSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgdFtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO3RbZV0oKX19KX0sYy5fY2xlYXJNZW51cz1mdW5jdGlvbih0KXtpZighdHx8MyE9PXQud2hpY2gmJigia2V5dXAiIT09dC50eXBlfHw5PT09dC53aGljaCkpZm9yKHZhciBlPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChNdCkpLG49MCxpPWUubGVuZ3RoO248aTtuKyspe3ZhciBvPWMuX2dldFBhcmVudEZyb21FbGVtZW50KGVbbl0pLHI9ZyhlW25dKS5kYXRhKE50KSxzPXtyZWxhdGVkVGFyZ2V0OmVbbl19O2lmKHQmJiJjbGljayI9PT10LnR5cGUmJihzLmNsaWNrRXZlbnQ9dCkscil7dmFyIGE9ci5fbWVudTtpZihnKG8pLmhhc0NsYXNzKFJ0KSYmISh0JiYoImNsaWNrIj09PXQudHlwZSYmL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKXx8ImtleXVwIj09PXQudHlwZSYmOT09PXQud2hpY2gpJiZnLmNvbnRhaW5zKG8sdC50YXJnZXQpKSl7dmFyIGw9Zy5FdmVudChqdC5ISURFLHMpO2cobykudHJpZ2dlcihsKSxsLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmcoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oKS5vZmYoIm1vdXNlb3ZlciIsbnVsbCxnLm5vb3ApLGVbbl0uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSxyLl9wb3BwZXImJnIuX3BvcHBlci5kZXN0cm95KCksZyhhKS5yZW1vdmVDbGFzcyhSdCksZyhvKS5yZW1vdmVDbGFzcyhSdCkudHJpZ2dlcihnLkV2ZW50KGp0LkhJRERFTixzKSkpfX19fSxjLl9nZXRQYXJlbnRGcm9tRWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZSxuPV8uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0KTtyZXR1cm4gbiYmKGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihuKSksZXx8dC5wYXJlbnROb2RlfSxjLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXI9ZnVuY3Rpb24odCl7aWYoKC9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QodC50YXJnZXQudGFnTmFtZSk_ISgzMj09PXQud2hpY2h8fDI3IT09dC53aGljaCYmKDQwIT09dC53aGljaCYmMzghPT10LndoaWNofHxnKHQudGFyZ2V0KS5jbG9zZXN0KFF0KS5sZW5ndGgpKTpMdC50ZXN0KHQud2hpY2gpKSYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkJiYhZyh0aGlzKS5oYXNDbGFzcyhIdCkpKXt2YXIgZT1jLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzKSxuPWcoZSkuaGFzQ2xhc3MoUnQpO2lmKG58fDI3IT09dC53aGljaClpZihuJiYoIW58fDI3IT09dC53aGljaCYmMzIhPT10LndoaWNoKSl7dmFyIGk9W10uc2xpY2UuY2FsbChlLnF1ZXJ5U2VsZWN0b3JBbGwoVnQpKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGcodCkuaXMoIjp2aXNpYmxlIil9KTtpZigwIT09aS5sZW5ndGgpe3ZhciBvPWkuaW5kZXhPZih0LnRhcmdldCk7Mzg9PT10LndoaWNoJiYwPG8mJm8tLSw0MD09PXQud2hpY2gmJm88aS5sZW5ndGgtMSYmbysrLG88MCYmKG89MCksaVtvXS5mb2N1cygpfX1lbHNle2lmKDI3PT09dC53aGljaCl7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKE10KTtnKHIpLnRyaWdnZXIoImZvY3VzIil9Zyh0aGlzKS50cmlnZ2VyKCJjbGljayIpfX19LHMoYyxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC40LjEifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFp0fX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiB0ZX19XSksY30oKTtnKGRvY3VtZW50KS5vbihqdC5LRVlET1dOX0RBVEFfQVBJLE10LGVlLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKGp0LktFWURPV05fREFUQV9BUEksUXQsZWUuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oanQuQ0xJQ0tfREFUQV9BUEkrIiAiK2p0LktFWVVQX0RBVEFfQVBJLGVlLl9jbGVhck1lbnVzKS5vbihqdC5DTElDS19EQVRBX0FQSSxNdCxmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxlZS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZyh0aGlzKSwidG9nZ2xlIil9KS5vbihqdC5DTElDS19EQVRBX0FQSSxLdCxmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpfSksZy5mbltBdF09ZWUuX2pRdWVyeUludGVyZmFjZSxnLmZuW0F0XS5Db25zdHJ1Y3Rvcj1lZSxnLmZuW0F0XS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGcuZm5bQXRdPVB0LGVlLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciBuZT0ibW9kYWwiLGllPSJicy5tb2RhbCIsb2U9Ii4iK2llLHJlPWcuZm5bbmVdLHNlPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxmb2N1czohMCxzaG93OiEwfSxhZT17YmFja2Ryb3A6Iihib29sZWFufHN0cmluZykiLGtleWJvYXJkOiJib29sZWFuIixmb2N1czoiYm9vbGVhbiIsc2hvdzoiYm9vbGVhbiJ9LGxlPXtISURFOiJoaWRlIitvZSxISURFX1BSRVZFTlRFRDoiaGlkZVByZXZlbnRlZCIrb2UsSElEREVOOiJoaWRkZW4iK29lLFNIT1c6InNob3ciK29lLFNIT1dOOiJzaG93biIrb2UsRk9DVVNJTjoiZm9jdXNpbiIrb2UsUkVTSVpFOiJyZXNpemUiK29lLENMSUNLX0RJU01JU1M6ImNsaWNrLmRpc21pc3MiK29lLEtFWURPV05fRElTTUlTUzoia2V5ZG93bi5kaXNtaXNzIitvZSxNT1VTRVVQX0RJU01JU1M6Im1vdXNldXAuZGlzbWlzcyIrb2UsTU9VU0VET1dOX0RJU01JU1M6Im1vdXNlZG93bi5kaXNtaXNzIitvZSxDTElDS19EQVRBX0FQSToiY2xpY2siK29lKyIuZGF0YS1hcGkifSxjZT0ibW9kYWwtZGlhbG9nLXNjcm9sbGFibGUiLGhlPSJtb2RhbC1zY3JvbGxiYXItbWVhc3VyZSIsdWU9Im1vZGFsLWJhY2tkcm9wIixmZT0ibW9kYWwtb3BlbiIsZGU9ImZhZGUiLGdlPSJzaG93IixfZT0ibW9kYWwtc3RhdGljIixtZT0iLm1vZGFsLWRpYWxvZyIscGU9Ii5tb2RhbC1ib2R5Iix2ZT0nW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyx5ZT0nW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsRWU9Ii5maXhlZC10b3AsIC5maXhlZC1ib3R0b20sIC5pcy1maXhlZCwgLnN0aWNreS10b3AiLENlPSIuc3RpY2t5LXRvcCIsVGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKHQsZSl7dGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9lbGVtZW50PXQsdGhpcy5fZGlhbG9nPXQucXVlcnlTZWxlY3RvcihtZSksdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPSExLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPSExLHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITEsdGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX3Njcm9sbGJhcldpZHRoPTB9dmFyIHQ9by5wcm90b3R5cGU7cmV0dXJuIHQudG9nZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pc1Nob3duP3RoaXMuaGlkZSgpOnRoaXMuc2hvdyh0KX0sdC5zaG93PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX2lzU2hvd24mJiF0aGlzLl9pc1RyYW5zaXRpb25pbmcpe2codGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZGUpJiYodGhpcy5faXNUcmFuc2l0aW9uaW5nPSEwKTt2YXIgbj1nLkV2ZW50KGxlLlNIT1cse3JlbGF0ZWRUYXJnZXQ6dH0pO2codGhpcy5fZWxlbWVudCkudHJpZ2dlcihuKSx0aGlzLl9pc1Nob3dufHxuLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5faXNTaG93bj0hMCx0aGlzLl9jaGVja1Njcm9sbGJhcigpLHRoaXMuX3NldFNjcm9sbGJhcigpLHRoaXMuX2FkanVzdERpYWxvZygpLHRoaXMuX3NldEVzY2FwZUV2ZW50KCksdGhpcy5fc2V0UmVzaXplRXZlbnQoKSxnKHRoaXMuX2VsZW1lbnQpLm9uKGxlLkNMSUNLX0RJU01JU1MseWUsZnVuY3Rpb24odCl7cmV0dXJuIGUuaGlkZSh0KX0pLGcodGhpcy5fZGlhbG9nKS5vbihsZS5NT1VTRURPV05fRElTTUlTUyxmdW5jdGlvbigpe2coZS5fZWxlbWVudCkub25lKGxlLk1PVVNFVVBfRElTTUlTUyxmdW5jdGlvbih0KXtnKHQudGFyZ2V0KS5pcyhlLl9lbGVtZW50KSYmKGUuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITApfSl9KSx0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24oKXtyZXR1cm4gZS5fc2hvd0VsZW1lbnQodCl9KSl9fSx0LmhpZGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0JiZ0LnByZXZlbnREZWZhdWx0KCksdGhpcy5faXNTaG93biYmIXRoaXMuX2lzVHJhbnNpdGlvbmluZyl7dmFyIG49Zy5FdmVudChsZS5ISURFKTtpZihnKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobiksdGhpcy5faXNTaG93biYmIW4uaXNEZWZhdWx0UHJldmVudGVkKCkpe3RoaXMuX2lzU2hvd249ITE7dmFyIGk9Zyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkZSk7aWYoaSYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCksdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSx0aGlzLl9zZXRSZXNpemVFdmVudCgpLGcoZG9jdW1lbnQpLm9mZihsZS5GT0NVU0lOKSxnKHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKGdlKSxnKHRoaXMuX2VsZW1lbnQpLm9mZihsZS5DTElDS19ESVNNSVNTKSxnKHRoaXMuX2RpYWxvZykub2ZmKGxlLk1PVVNFRE9XTl9ESVNNSVNTKSxpKXt2YXIgbz1fLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2codGhpcy5fZWxlbWVudCkub25lKF8uVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24odCl7cmV0dXJuIGUuX2hpZGVNb2RhbCh0KX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKG8pfWVsc2UgdGhpcy5faGlkZU1vZGFsKCl9fX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7W3dpbmRvdyx0aGlzLl9lbGVtZW50LHRoaXMuX2RpYWxvZ10uZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gZyh0KS5vZmYob2UpfSksZyhkb2N1bWVudCkub2ZmKGxlLkZPQ1VTSU4pLGcucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LGllKSx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fYmFja2Ryb3A9bnVsbCx0aGlzLl9pc1Nob3duPW51bGwsdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9bnVsbCx0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrPW51bGwsdGhpcy5faXNUcmFuc2l0aW9uaW5nPW51bGwsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9bnVsbH0sdC5oYW5kbGVVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl9hZGp1c3REaWFsb2coKX0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiB0PWwoe30sc2Use30sdCksXy50eXBlQ2hlY2tDb25maWcobmUsdCxhZSksdH0sdC5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoInN0YXRpYyI9PT10aGlzLl9jb25maWcuYmFja2Ryb3Ape3ZhciBlPWcuRXZlbnQobGUuSElERV9QUkVWRU5URUQpO2lmKGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihlKSxlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChfZSk7dmFyIG49Xy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtnKHRoaXMuX2VsZW1lbnQpLm9uZShfLlRSQU5TSVRJT05fRU5ELGZ1bmN0aW9uKCl7dC5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKF9lKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKG4pLHRoaXMuX2VsZW1lbnQuZm9jdXMoKX1lbHNlIHRoaXMuaGlkZSgpfSx0Ll9zaG93RWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49Zyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkZSksaT10aGlzLl9kaWFsb2c_dGhpcy5fZGlhbG9nLnF1ZXJ5U2VsZWN0b3IocGUpOm51bGw7dGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERXx8ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSx0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1tb2RhbCIsITApLGcodGhpcy5fZGlhbG9nKS5oYXNDbGFzcyhjZSkmJmk_aS5zY3JvbGxUb3A9MDp0aGlzLl9lbGVtZW50LnNjcm9sbFRvcD0wLG4mJl8ucmVmbG93KHRoaXMuX2VsZW1lbnQpLGcodGhpcy5fZWxlbWVudCkuYWRkQ2xhc3MoZ2UpLHRoaXMuX2NvbmZpZy5mb2N1cyYmdGhpcy5fZW5mb3JjZUZvY3VzKCk7ZnVuY3Rpb24gbygpe2UuX2NvbmZpZy5mb2N1cyYmZS5fZWxlbWVudC5mb2N1cygpLGUuX2lzVHJhbnNpdGlvbmluZz0hMSxnKGUuX2VsZW1lbnQpLnRyaWdnZXIocil9dmFyIHI9Zy5FdmVudChsZS5TSE9XTix7cmVsYXRlZFRhcmdldDp0fSk7aWYobil7dmFyIHM9Xy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9kaWFsb2cpO2codGhpcy5fZGlhbG9nKS5vbmUoXy5UUkFOU0lUSU9OX0VORCxvKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChzKX1lbHNlIG8oKX0sdC5fZW5mb3JjZUZvY3VzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztnKGRvY3VtZW50KS5vZmYobGUuRk9DVVNJTikub24obGUuRk9DVVNJTixmdW5jdGlvbih0KXtkb2N1bWVudCE9PXQudGFyZ2V0JiZlLl9lbGVtZW50IT09dC50YXJnZXQmJjA9PT1nKGUuX2VsZW1lbnQpLmhhcyh0LnRhcmdldCkubGVuZ3RoJiZlLl9lbGVtZW50LmZvY3VzKCl9KX0sdC5fc2V0RXNjYXBlRXZlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2lzU2hvd24mJnRoaXMuX2NvbmZpZy5rZXlib2FyZD9nKHRoaXMuX2VsZW1lbnQpLm9uKGxlLktFWURPV05fRElTTUlTUyxmdW5jdGlvbih0KXsyNz09PXQud2hpY2gmJmUuX3RyaWdnZXJCYWNrZHJvcFRyYW5zaXRpb24oKX0pOnRoaXMuX2lzU2hvd258fGcodGhpcy5fZWxlbWVudCkub2ZmKGxlLktFWURPV05fRElTTUlTUyl9LHQuX3NldFJlc2l6ZUV2ZW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9pc1Nob3duP2cod2luZG93KS5vbihsZS5SRVNJWkUsZnVuY3Rpb24odCl7cmV0dXJuIGUuaGFuZGxlVXBkYXRlKHQpfSk6Zyh3aW5kb3cpLm9mZihsZS5SRVNJWkUpfSx0Ll9oaWRlTW9kYWw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwhMCksdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtbW9kYWwiKSx0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITEsdGhpcy5fc2hvd0JhY2tkcm9wKGZ1bmN0aW9uKCl7Zyhkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhmZSksdC5fcmVzZXRBZGp1c3RtZW50cygpLHQuX3Jlc2V0U2Nyb2xsYmFyKCksZyh0Ll9lbGVtZW50KS50cmlnZ2VyKGxlLkhJRERFTil9KX0sdC5fcmVtb3ZlQmFja2Ryb3A9ZnVuY3Rpb24oKXt0aGlzLl9iYWNrZHJvcCYmKGcodGhpcy5fYmFja2Ryb3ApLnJlbW92ZSgpLHRoaXMuX2JhY2tkcm9wPW51bGwpfSx0Ll9zaG93QmFja2Ryb3A9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWcodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZGUpP2RlOiIiO2lmKHRoaXMuX2lzU2hvd24mJnRoaXMuX2NvbmZpZy5iYWNrZHJvcCl7aWYodGhpcy5fYmFja2Ryb3A9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fYmFja2Ryb3AuY2xhc3NOYW1lPXVlLG4mJnRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQobiksZyh0aGlzLl9iYWNrZHJvcCkuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSksZyh0aGlzLl9lbGVtZW50KS5vbihsZS5DTElDS19ESVNNSVNTLGZ1bmN0aW9uKHQpe2UuX2lnbm9yZUJhY2tkcm9wQ2xpY2s_ZS5faWdub3JlQmFja2Ryb3BDbGljaz0hMTp0LnRhcmdldD09PXQuY3VycmVudFRhcmdldCYmZS5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpfSksbiYmXy5yZWZsb3codGhpcy5fYmFja2Ryb3ApLGcodGhpcy5fYmFja2Ryb3ApLmFkZENsYXNzKGdlKSwhdClyZXR1cm47aWYoIW4pcmV0dXJuIHZvaWQgdCgpO3ZhciBpPV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fYmFja2Ryb3ApO2codGhpcy5fYmFja2Ryb3ApLm9uZShfLlRSQU5TSVRJT05fRU5ELHQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGkpfWVsc2UgaWYoIXRoaXMuX2lzU2hvd24mJnRoaXMuX2JhY2tkcm9wKXtnKHRoaXMuX2JhY2tkcm9wKS5yZW1vdmVDbGFzcyhnZSk7dmFyIG89ZnVuY3Rpb24oKXtlLl9yZW1vdmVCYWNrZHJvcCgpLHQmJnQoKX07aWYoZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkZSkpe3ZhciByPV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fYmFja2Ryb3ApO2codGhpcy5fYmFja2Ryb3ApLm9uZShfLlRSQU5TSVRJT05fRU5ELG8pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHIpfWVsc2UgbygpfWVsc2UgdCYmdCgpfSx0Ll9hZGp1c3REaWFsb2c9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OyF0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyYmdCYmKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQ9dGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4IiksdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJiF0JiYodGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQ9dGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9LHQuX3Jlc2V0QWRqdXN0bWVudHM9ZnVuY3Rpb24oKXt0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PSIiLHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0PSIifSx0Ll9jaGVja1Njcm9sbGJhcj1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9dC5sZWZ0K3QucmlnaHQ8d2luZG93LmlubmVyV2lkdGgsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9dGhpcy5fZ2V0U2Nyb2xsYmFyV2lkdGgoKX0sdC5fc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIG89dGhpcztpZih0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyl7dmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKEVlKSksZT1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoQ2UpKTtnKHQpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1lLnN0eWxlLnBhZGRpbmdSaWdodCxpPWcoZSkuY3NzKCJwYWRkaW5nLXJpZ2h0Iik7ZyhlKS5kYXRhKCJwYWRkaW5nLXJpZ2h0IixuKS5jc3MoInBhZGRpbmctcmlnaHQiLHBhcnNlRmxvYXQoaSkrby5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9KSxnKGUpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1lLnN0eWxlLm1hcmdpblJpZ2h0LGk9ZyhlKS5jc3MoIm1hcmdpbi1yaWdodCIpO2coZSkuZGF0YSgibWFyZ2luLXJpZ2h0IixuKS5jc3MoIm1hcmdpbi1yaWdodCIscGFyc2VGbG9hdChpKS1vLl9zY3JvbGxiYXJXaWR0aCsicHgiKX0pO3ZhciBuPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0LGk9Zyhkb2N1bWVudC5ib2R5KS5jc3MoInBhZGRpbmctcmlnaHQiKTtnKGRvY3VtZW50LmJvZHkpLmRhdGEoInBhZGRpbmctcmlnaHQiLG4pLmNzcygicGFkZGluZy1yaWdodCIscGFyc2VGbG9hdChpKSt0aGlzLl9zY3JvbGxiYXJXaWR0aCsicHgiKX1nKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKGZlKX0sdC5fcmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgdD1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoRWUpKTtnKHQpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1nKGUpLmRhdGEoInBhZGRpbmctcmlnaHQiKTtnKGUpLnJlbW92ZURhdGEoInBhZGRpbmctcmlnaHQiKSxlLnN0eWxlLnBhZGRpbmdSaWdodD1ufHwiIn0pO3ZhciBlPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiIitDZSkpO2coZSkuZWFjaChmdW5jdGlvbih0LGUpe3ZhciBuPWcoZSkuZGF0YSgibWFyZ2luLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBuJiZnKGUpLmNzcygibWFyZ2luLXJpZ2h0IixuKS5yZW1vdmVEYXRhKCJtYXJnaW4tcmlnaHQiKX0pO3ZhciBuPWcoZG9jdW1lbnQuYm9keSkuZGF0YSgicGFkZGluZy1yaWdodCIpO2coZG9jdW1lbnQuYm9keSkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpLGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0PW58fCIifSx0Ll9nZXRTY3JvbGxiYXJXaWR0aD1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPWhlLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGV9LG8uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihuLGkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1nKHRoaXMpLmRhdGEoaWUpLGU9bCh7fSxzZSx7fSxnKHRoaXMpLmRhdGEoKSx7fSwib2JqZWN0Ij09dHlwZW9mIG4mJm4_bjp7fSk7aWYodHx8KHQ9bmV3IG8odGhpcyxlKSxnKHRoaXMpLmRhdGEoaWUsdCkpLCJzdHJpbmciPT10eXBlb2Ygbil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytuKyciJyk7dFtuXShpKX1lbHNlIGUuc2hvdyYmdC5zaG93KGkpfSl9LHMobyxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC40LjEifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHNlfX1dKSxvfSgpO2coZG9jdW1lbnQpLm9uKGxlLkNMSUNLX0RBVEFfQVBJLHZlLGZ1bmN0aW9uKHQpe3ZhciBlLG49dGhpcyxpPV8uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTtpJiYoZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGkpKTt2YXIgbz1nKGUpLmRhdGEoaWUpPyJ0b2dnbGUiOmwoe30sZyhlKS5kYXRhKCkse30sZyh0aGlzKS5kYXRhKCkpOyJBIiE9PXRoaXMudGFnTmFtZSYmIkFSRUEiIT09dGhpcy50YWdOYW1lfHx0LnByZXZlbnREZWZhdWx0KCk7dmFyIHI9ZyhlKS5vbmUobGUuU0hPVyxmdW5jdGlvbih0KXt0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxyLm9uZShsZS5ISURERU4sZnVuY3Rpb24oKXtnKG4pLmlzKCI6dmlzaWJsZSIpJiZuLmZvY3VzKCl9KX0pO1RlLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChnKGUpLG8sdGhpcyl9KSxnLmZuW25lXT1UZS5falF1ZXJ5SW50ZXJmYWNlLGcuZm5bbmVdLkNvbnN0cnVjdG9yPVRlLGcuZm5bbmVdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mbltuZV09cmUsVGUuX2pRdWVyeUludGVyZmFjZX07dmFyIGJlPVsiYmFja2dyb3VuZCIsImNpdGUiLCJocmVmIiwiaXRlbXR5cGUiLCJsb25nZGVzYyIsInBvc3RlciIsInNyYyIsInhsaW5rOmhyZWYiXSxTZT17IioiOlsiY2xhc3MiLCJkaXIiLCJpZCIsImxhbmciLCJyb2xlIiwvXmFyaWEtW1x3LV0qJC9pXSxhOlsidGFyZ2V0IiwiaHJlZiIsInRpdGxlIiwicmVsIl0sYXJlYTpbXSxiOltdLGJyOltdLGNvbDpbXSxjb2RlOltdLGRpdjpbXSxlbTpbXSxocjpbXSxoMTpbXSxoMjpbXSxoMzpbXSxoNDpbXSxoNTpbXSxoNjpbXSxpOltdLGltZzpbInNyYyIsImFsdCIsInRpdGxlIiwid2lkdGgiLCJoZWlnaHQiXSxsaTpbXSxvbDpbXSxwOltdLHByZTpbXSxzOltdLHNtYWxsOltdLHNwYW46W10sc3ViOltdLHN1cDpbXSxzdHJvbmc6W10sdTpbXSx1bDpbXX0sRGU9L14oPzooPzpodHRwcz98bWFpbHRvfGZ0cHx0ZWx8ZmlsZSk6fFteJjovPyNdKig_OlsvPyNdfCQpKS9naSxJZT0vXmRhdGE6KD86aW1hZ2VcLyg_OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cLyg_Om1wZWd8bXA0fG9nZ3x3ZWJtKXxhdWRpb1wvKD86bXAzfG9nYXxvZ2d8b3B1cykpO2Jhc2U2NCxbYS16MC05Ky9dKz0qJC9pO2Z1bmN0aW9uIHdlKHQscixlKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIHQ7aWYoZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIGUodCk7Zm9yKHZhciBuPShuZXcgd2luZG93LkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHQsInRleHQvaHRtbCIpLHM9T2JqZWN0LmtleXMociksYT1bXS5zbGljZS5jYWxsKG4uYm9keS5xdWVyeVNlbGVjdG9yQWxsKCIqIikpLGk9ZnVuY3Rpb24odCl7dmFyIGU9YVt0XSxuPWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigtMT09PXMuaW5kZXhPZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXJldHVybiBlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksImNvbnRpbnVlIjt2YXIgaT1bXS5zbGljZS5jYWxsKGUuYXR0cmlidXRlcyksbz1bXS5jb25jYXQoclsiKiJdfHxbXSxyW25dfHxbXSk7aS5mb3JFYWNoKGZ1bmN0aW9uKHQpeyFmdW5jdGlvbih0LGUpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigtMSE9PWUuaW5kZXhPZihuKSlyZXR1cm4tMT09PWJlLmluZGV4T2Yobil8fEJvb2xlYW4odC5ub2RlVmFsdWUubWF0Y2goRGUpfHx0Lm5vZGVWYWx1ZS5tYXRjaChJZSkpO2Zvcih2YXIgaT1lLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFJlZ0V4cH0pLG89MCxyPWkubGVuZ3RoO288cjtvKyspaWYobi5tYXRjaChpW29dKSlyZXR1cm4hMDtyZXR1cm4hMX0odCxvKSYmZS5yZW1vdmVBdHRyaWJ1dGUodC5ub2RlTmFtZSl9KX0sbz0wLGw9YS5sZW5ndGg7bzxsO28rKylpKG8pO3JldHVybiBuLmJvZHkuaW5uZXJIVE1MfXZhciBBZT0idG9vbHRpcCIsTmU9ImJzLnRvb2x0aXAiLE9lPSIuIitOZSxrZT1nLmZuW0FlXSxQZT0iYnMtdG9vbHRpcCIsTGU9bmV3IFJlZ0V4cCgiKF58XFxzKSIrUGUrIlxcUysiLCJnIiksamU9WyJzYW5pdGl6ZSIsIndoaXRlTGlzdCIsInNhbml0aXplRm4iXSxIZT17YW5pbWF0aW9uOiJib29sZWFuIix0ZW1wbGF0ZToic3RyaW5nIix0aXRsZToiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSIsdHJpZ2dlcjoic3RyaW5nIixkZWxheToiKG51bWJlcnxvYmplY3QpIixodG1sOiJib29sZWFuIixzZWxlY3RvcjoiKHN0cmluZ3xib29sZWFuKSIscGxhY2VtZW50OiIoc3RyaW5nfGZ1bmN0aW9uKSIsb2Zmc2V0OiIobnVtYmVyfHN0cmluZ3xmdW5jdGlvbikiLGNvbnRhaW5lcjoiKHN0cmluZ3xlbGVtZW50fGJvb2xlYW4pIixmYWxsYmFja1BsYWNlbWVudDoiKHN0cmluZ3xhcnJheSkiLGJvdW5kYXJ5OiIoc3RyaW5nfGVsZW1lbnQpIixzYW5pdGl6ZToiYm9vbGVhbiIsc2FuaXRpemVGbjoiKG51bGx8ZnVuY3Rpb24pIix3aGl0ZUxpc3Q6Im9iamVjdCIscG9wcGVyQ29uZmlnOiIobnVsbHxvYmplY3QpIn0sUmU9e0FVVE86ImF1dG8iLFRPUDoidG9wIixSSUdIVDoicmlnaHQiLEJPVFRPTToiYm90dG9tIixMRUZUOiJsZWZ0In0seGU9e2FuaW1hdGlvbjohMCx0ZW1wbGF0ZTonPGRpdiBjbGFzcz0idG9vbHRpcCIgcm9sZT0idG9vbHRpcCI-PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxzZWxlY3RvcjohMSxwbGFjZW1lbnQ6InRvcCIsb2Zmc2V0OjAsY29udGFpbmVyOiExLGZhbGxiYWNrUGxhY2VtZW50OiJmbGlwIixib3VuZGFyeToic2Nyb2xsUGFyZW50IixzYW5pdGl6ZTohMCxzYW5pdGl6ZUZuOm51bGwsd2hpdGVMaXN0OlNlLHBvcHBlckNvbmZpZzpudWxsfSxGZT0ic2hvdyIsVWU9Im91dCIsV2U9e0hJREU6ImhpZGUiK09lLEhJRERFTjoiaGlkZGVuIitPZSxTSE9XOiJzaG93IitPZSxTSE9XTjoic2hvd24iK09lLElOU0VSVEVEOiJpbnNlcnRlZCIrT2UsQ0xJQ0s6ImNsaWNrIitPZSxGT0NVU0lOOiJmb2N1c2luIitPZSxGT0NVU09VVDoiZm9jdXNvdXQiK09lLE1PVVNFRU5URVI6Im1vdXNlZW50ZXIiK09lLE1PVVNFTEVBVkU6Im1vdXNlbGVhdmUiK09lfSxxZT0iZmFkZSIsTWU9InNob3ciLEtlPSIudG9vbHRpcC1pbm5lciIsUWU9Ii5hcnJvdyIsQmU9ImhvdmVyIixWZT0iZm9jdXMiLFllPSJjbGljayIsemU9Im1hbnVhbCIsWGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKHQsZSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB1KXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIHRvb2x0aXBzIHJlcXVpcmUgUG9wcGVyLmpzIChodHRwczovL3BvcHBlci5qcy5vcmcvKSIpO3RoaXMuX2lzRW5hYmxlZD0hMCx0aGlzLl90aW1lb3V0PTAsdGhpcy5faG92ZXJTdGF0ZT0iIix0aGlzLl9hY3RpdmVUcmlnZ2VyPXt9LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD10LHRoaXMuY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLnRpcD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpfXZhciB0PWkucHJvdG90eXBlO3JldHVybiB0LmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hMH0sdC5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSExfSx0LnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9IXRoaXMuX2lzRW5hYmxlZH0sdC50b2dnbGU9ZnVuY3Rpb24odCl7aWYodGhpcy5faXNFbmFibGVkKWlmKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksbj1nKHQuY3VycmVudFRhcmdldCkuZGF0YShlKTtufHwobj1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksZyh0LmN1cnJlbnRUYXJnZXQpLmRhdGEoZSxuKSksbi5fYWN0aXZlVHJpZ2dlci5jbGljaz0hbi5fYWN0aXZlVHJpZ2dlci5jbGljayxuLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCk_bi5fZW50ZXIobnVsbCxuKTpuLl9sZWF2ZShudWxsLG4pfWVsc2V7aWYoZyh0aGlzLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MoTWUpKXJldHVybiB2b2lkIHRoaXMuX2xlYXZlKG51bGwsdGhpcyk7dGhpcy5fZW50ZXIobnVsbCx0aGlzKX19LHQuZGlzcG9zZT1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSxnLnJlbW92ZURhdGEodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpLGcodGhpcy5lbGVtZW50KS5vZmYodGhpcy5jb25zdHJ1Y3Rvci5FVkVOVF9LRVkpLGcodGhpcy5lbGVtZW50KS5jbG9zZXN0KCIubW9kYWwiKS5vZmYoImhpZGUuYnMubW9kYWwiLHRoaXMuX2hpZGVNb2RhbEhhbmRsZXIpLHRoaXMudGlwJiZnKHRoaXMudGlwKS5yZW1vdmUoKSx0aGlzLl9pc0VuYWJsZWQ9bnVsbCx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5faG92ZXJTdGF0ZT1udWxsLHRoaXMuX2FjdGl2ZVRyaWdnZXI9bnVsbCx0aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5kZXN0cm95KCksdGhpcy5fcG9wcGVyPW51bGwsdGhpcy5lbGVtZW50PW51bGwsdGhpcy5jb25maWc9bnVsbCx0aGlzLnRpcD1udWxsfSx0LnNob3c9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKCJub25lIj09PWcodGhpcy5lbGVtZW50KS5jc3MoImRpc3BsYXkiKSl0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSB1c2Ugc2hvdyBvbiB2aXNpYmxlIGVsZW1lbnRzIik7dmFyIHQ9Zy5FdmVudCh0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1cpO2lmKHRoaXMuaXNXaXRoQ29udGVudCgpJiZ0aGlzLl9pc0VuYWJsZWQpe2codGhpcy5lbGVtZW50KS50cmlnZ2VyKHQpO3ZhciBuPV8uZmluZFNoYWRvd1Jvb3QodGhpcy5lbGVtZW50KSxpPWcuY29udGFpbnMobnVsbCE9PW4_bjp0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5lbGVtZW50KTtpZih0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhaSlyZXR1cm47dmFyIG89dGhpcy5nZXRUaXBFbGVtZW50KCkscj1fLmdldFVJRCh0aGlzLmNvbnN0cnVjdG9yLk5BTUUpO28uc2V0QXR0cmlidXRlKCJpZCIsciksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsciksdGhpcy5zZXRDb250ZW50KCksdGhpcy5jb25maWcuYW5pbWF0aW9uJiZnKG8pLmFkZENsYXNzKHFlKTt2YXIgcz0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcucGxhY2VtZW50P3RoaXMuY29uZmlnLnBsYWNlbWVudC5jYWxsKHRoaXMsbyx0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnBsYWNlbWVudCxhPXRoaXMuX2dldEF0dGFjaG1lbnQocyk7dGhpcy5hZGRBdHRhY2htZW50Q2xhc3MoYSk7dmFyIGw9dGhpcy5fZ2V0Q29udGFpbmVyKCk7ZyhvKS5kYXRhKHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksdGhpcyksZy5jb250YWlucyh0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy50aXApfHxnKG8pLmFwcGVuZFRvKGwpLGcodGhpcy5lbGVtZW50KS50cmlnZ2VyKHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSU5TRVJURUQpLHRoaXMuX3BvcHBlcj1uZXcgdSh0aGlzLmVsZW1lbnQsbyx0aGlzLl9nZXRQb3BwZXJDb25maWcoYSkpLGcobykuYWRkQ2xhc3MoTWUpLCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZnKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsbnVsbCxnLm5vb3ApO3ZhciBjPWZ1bmN0aW9uKCl7ZS5jb25maWcuYW5pbWF0aW9uJiZlLl9maXhUcmFuc2l0aW9uKCk7dmFyIHQ9ZS5faG92ZXJTdGF0ZTtlLl9ob3ZlclN0YXRlPW51bGwsZyhlLmVsZW1lbnQpLnRyaWdnZXIoZS5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XTiksdD09PVVlJiZlLl9sZWF2ZShudWxsLGUpfTtpZihnKHRoaXMudGlwKS5oYXNDbGFzcyhxZSkpe3ZhciBoPV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy50aXApO2codGhpcy50aXApLm9uZShfLlRSQU5TSVRJT05fRU5ELGMpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGgpfWVsc2UgYygpfX0sdC5oaWRlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtuLl9ob3ZlclN0YXRlIT09RmUmJmkucGFyZW50Tm9kZSYmaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpLG4uX2NsZWFuVGlwQ2xhc3MoKSxuLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IiksZyhuLmVsZW1lbnQpLnRyaWdnZXIobi5jb25zdHJ1Y3Rvci5FdmVudC5ISURERU4pLG51bGwhPT1uLl9wb3BwZXImJm4uX3BvcHBlci5kZXN0cm95KCksdCYmdCgpfXZhciBuPXRoaXMsaT10aGlzLmdldFRpcEVsZW1lbnQoKSxvPWcuRXZlbnQodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5ISURFKTtpZihnKHRoaXMuZWxlbWVudCkudHJpZ2dlcihvKSwhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYoZyhpKS5yZW1vdmVDbGFzcyhNZSksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmcoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oKS5vZmYoIm1vdXNlb3ZlciIsbnVsbCxnLm5vb3ApLHRoaXMuX2FjdGl2ZVRyaWdnZXJbWWVdPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXJbVmVdPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXJbQmVdPSExLGcodGhpcy50aXApLmhhc0NsYXNzKHFlKSl7dmFyIHI9Xy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChpKTtnKGkpLm9uZShfLlRSQU5TSVRJT05fRU5ELGUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHIpfWVsc2UgZSgpO3RoaXMuX2hvdmVyU3RhdGU9IiJ9fSx0LnVwZGF0ZT1mdW5jdGlvbigpe251bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSx0LmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbih0aGlzLmdldFRpdGxlKCkpfSx0LmFkZEF0dGFjaG1lbnRDbGFzcz1mdW5jdGlvbih0KXtnKHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5hZGRDbGFzcyhQZSsiLSIrdCl9LHQuZ2V0VGlwRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpcD10aGlzLnRpcHx8Zyh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LHQuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0VGlwRWxlbWVudCgpO3RoaXMuc2V0RWxlbWVudENvbnRlbnQoZyh0LnF1ZXJ5U2VsZWN0b3JBbGwoS2UpKSx0aGlzLmdldFRpdGxlKCkpLGcodCkucmVtb3ZlQ2xhc3MocWUrIiAiK01lKX0sdC5zZXRFbGVtZW50Q29udGVudD1mdW5jdGlvbih0LGUpeyJvYmplY3QiIT10eXBlb2YgZXx8IWUubm9kZVR5cGUmJiFlLmpxdWVyeT90aGlzLmNvbmZpZy5odG1sPyh0aGlzLmNvbmZpZy5zYW5pdGl6ZSYmKGU9d2UoZSx0aGlzLmNvbmZpZy53aGl0ZUxpc3QsdGhpcy5jb25maWcuc2FuaXRpemVGbikpLHQuaHRtbChlKSk6dC50ZXh0KGUpOnRoaXMuY29uZmlnLmh0bWw_ZyhlKS5wYXJlbnQoKS5pcyh0KXx8dC5lbXB0eSgpLmFwcGVuZChlKTp0LnRleHQoZyhlKS50ZXh0KCkpfSx0LmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC10aXRsZSIpO3JldHVybiB0PXR8fCgiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcudGl0bGU_dGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnRpdGxlKX0sdC5fZ2V0UG9wcGVyQ29uZmlnPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIGwoe30se3BsYWNlbWVudDp0LG1vZGlmaWVyczp7b2Zmc2V0OnRoaXMuX2dldE9mZnNldCgpLGZsaXA6e2JlaGF2aW9yOnRoaXMuY29uZmlnLmZhbGxiYWNrUGxhY2VtZW50fSxhcnJvdzp7ZWxlbWVudDpRZX0scHJldmVudE92ZXJmbG93Ontib3VuZGFyaWVzRWxlbWVudDp0aGlzLmNvbmZpZy5ib3VuZGFyeX19LG9uQ3JlYXRlOmZ1bmN0aW9uKHQpe3Qub3JpZ2luYWxQbGFjZW1lbnQhPT10LnBsYWNlbWVudCYmZS5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHQpfSxvblVwZGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gZS5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHQpfX0se30sdGhpcy5jb25maWcucG9wcGVyQ29uZmlnKX0sdC5fZ2V0T2Zmc2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXt9O3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy5vZmZzZXQ_dC5mbj1mdW5jdGlvbih0KXtyZXR1cm4gdC5vZmZzZXRzPWwoe30sdC5vZmZzZXRzLHt9LGUuY29uZmlnLm9mZnNldCh0Lm9mZnNldHMsZS5lbGVtZW50KXx8e30pLHR9OnQub2Zmc2V0PXRoaXMuY29uZmlnLm9mZnNldCx0fSx0Ll9nZXRDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4hMT09PXRoaXMuY29uZmlnLmNvbnRhaW5lcj9kb2N1bWVudC5ib2R5Ol8uaXNFbGVtZW50KHRoaXMuY29uZmlnLmNvbnRhaW5lcik_Zyh0aGlzLmNvbmZpZy5jb250YWluZXIpOmcoZG9jdW1lbnQpLmZpbmQodGhpcy5jb25maWcuY29udGFpbmVyKX0sdC5fZ2V0QXR0YWNobWVudD1mdW5jdGlvbih0KXtyZXR1cm4gUmVbdC50b1VwcGVyQ2FzZSgpXX0sdC5fc2V0TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGk9dGhpczt0aGlzLmNvbmZpZy50cmlnZ2VyLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbih0KXtpZigiY2xpY2siPT09dClnKGkuZWxlbWVudCkub24oaS5jb25zdHJ1Y3Rvci5FdmVudC5DTElDSyxpLmNvbmZpZy5zZWxlY3RvcixmdW5jdGlvbih0KXtyZXR1cm4gaS50b2dnbGUodCl9KTtlbHNlIGlmKHQhPT16ZSl7dmFyIGU9dD09PUJlP2kuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VFTlRFUjppLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTSU4sbj10PT09QmU_aS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUxFQVZFOmkuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNPVVQ7ZyhpLmVsZW1lbnQpLm9uKGUsaS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGkuX2VudGVyKHQpfSkub24obixpLmNvbmZpZy5zZWxlY3RvcixmdW5jdGlvbih0KXtyZXR1cm4gaS5fbGVhdmUodCl9KX19KSx0aGlzLl9oaWRlTW9kYWxIYW5kbGVyPWZ1bmN0aW9uKCl7aS5lbGVtZW50JiZpLmhpZGUoKX0sZyh0aGlzLmVsZW1lbnQpLmNsb3Nlc3QoIi5tb2RhbCIpLm9uKCJoaWRlLmJzLm1vZGFsIix0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKSx0aGlzLmNvbmZpZy5zZWxlY3Rvcj90aGlzLmNvbmZpZz1sKHt9LHRoaXMuY29uZmlnLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5fZml4VGl0bGUoKX0sdC5fZml4VGl0bGU9ZnVuY3Rpb24oKXt2YXIgdD10eXBlb2YgdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC10aXRsZSIpOyF0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpJiYic3RyaW5nIj09dHx8KHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiLHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoInRpdGxlIil8fCIiKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIiIpKX0sdC5fZW50ZXI9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhlPWV8fGcodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4pKXx8KGU9bmV3IHRoaXMuY29uc3RydWN0b3IodC5jdXJyZW50VGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLGcodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4sZSkpLHQmJihlLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c2luIj09PXQudHlwZT9WZTpCZV09ITApLGcoZS5nZXRUaXBFbGVtZW50KCkpLmhhc0NsYXNzKE1lKXx8ZS5faG92ZXJTdGF0ZT09PUZlP2UuX2hvdmVyU3RhdGU9RmU6KGNsZWFyVGltZW91dChlLl90aW1lb3V0KSxlLl9ob3ZlclN0YXRlPUZlLGUuY29uZmlnLmRlbGF5JiZlLmNvbmZpZy5kZWxheS5zaG93P2UuX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2UuX2hvdmVyU3RhdGU9PT1GZSYmZS5zaG93KCl9LGUuY29uZmlnLmRlbGF5LnNob3cpOmUuc2hvdygpKX0sdC5fbGVhdmU9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhlPWV8fGcodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4pKXx8KGU9bmV3IHRoaXMuY29uc3RydWN0b3IodC5jdXJyZW50VGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLGcodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4sZSkpLHQmJihlLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c291dCI9PT10LnR5cGU_VmU6QmVdPSExKSxlLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCl8fChjbGVhclRpbWVvdXQoZS5fdGltZW91dCksZS5faG92ZXJTdGF0ZT1VZSxlLmNvbmZpZy5kZWxheSYmZS5jb25maWcuZGVsYXkuaGlkZT9lLl90aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl9ob3ZlclN0YXRlPT09VWUmJmUuaGlkZSgpfSxlLmNvbmZpZy5kZWxheS5oaWRlKTplLmhpZGUoKSl9LHQuX2lzV2l0aEFjdGl2ZVRyaWdnZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fYWN0aXZlVHJpZ2dlcilpZih0aGlzLl9hY3RpdmVUcmlnZ2VyW3RdKXJldHVybiEwO3JldHVybiExfSx0Ll9nZXRDb25maWc9ZnVuY3Rpb24odCl7dmFyIGU9Zyh0aGlzLmVsZW1lbnQpLmRhdGEoKTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChmdW5jdGlvbih0KXstMSE9PWplLmluZGV4T2YodCkmJmRlbGV0ZSBlW3RdfSksIm51bWJlciI9PXR5cGVvZih0PWwoe30sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LHt9LGUse30sIm9iamVjdCI9PXR5cGVvZiB0JiZ0P3Q6e30pKS5kZWxheSYmKHQuZGVsYXk9e3Nob3c6dC5kZWxheSxoaWRlOnQuZGVsYXl9KSwibnVtYmVyIj09dHlwZW9mIHQudGl0bGUmJih0LnRpdGxlPXQudGl0bGUudG9TdHJpbmcoKSksIm51bWJlciI9PXR5cGVvZiB0LmNvbnRlbnQmJih0LmNvbnRlbnQ9dC5jb250ZW50LnRvU3RyaW5nKCkpLF8udHlwZUNoZWNrQ29uZmlnKEFlLHQsdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksdC5zYW5pdGl6ZSYmKHQudGVtcGxhdGU9d2UodC50ZW1wbGF0ZSx0LndoaXRlTGlzdCx0LnNhbml0aXplRm4pKSx0fSx0Ll9nZXREZWxlZ2F0ZUNvbmZpZz1mdW5jdGlvbigpe3ZhciB0PXt9O2lmKHRoaXMuY29uZmlnKWZvcih2YXIgZSBpbiB0aGlzLmNvbmZpZyl0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRbZV0hPT10aGlzLmNvbmZpZ1tlXSYmKHRbZV09dGhpcy5jb25maWdbZV0pO3JldHVybiB0fSx0Ll9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzLmdldFRpcEVsZW1lbnQoKSksZT10LmF0dHIoImNsYXNzIikubWF0Y2goTGUpO251bGwhPT1lJiZlLmxlbmd0aCYmdC5yZW1vdmVDbGFzcyhlLmpvaW4oIiIpKX0sdC5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW5zdGFuY2U7dGhpcy50aXA9ZS5wb3BwZXIsdGhpcy5fY2xlYW5UaXBDbGFzcygpLHRoaXMuYWRkQXR0YWNobWVudENsYXNzKHRoaXMuX2dldEF0dGFjaG1lbnQodC5wbGFjZW1lbnQpKX0sdC5fZml4VHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0VGlwRWxlbWVudCgpLGU9dGhpcy5jb25maWcuYW5pbWF0aW9uO251bGw9PT10LmdldEF0dHJpYnV0ZSgieC1wbGFjZW1lbnQiKSYmKGcodCkucmVtb3ZlQ2xhc3MocWUpLHRoaXMuY29uZmlnLmFuaW1hdGlvbj0hMSx0aGlzLmhpZGUoKSx0aGlzLnNob3coKSx0aGlzLmNvbmZpZy5hbmltYXRpb249ZSl9LGkuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzKS5kYXRhKE5lKSxlPSJvYmplY3QiPT10eXBlb2YgbiYmbjtpZigodHx8IS9kaXNwb3NlfGhpZGUvLnRlc3QobikpJiYodHx8KHQ9bmV3IGkodGhpcyxlKSxnKHRoaXMpLmRhdGEoTmUsdCkpLCJzdHJpbmciPT10eXBlb2Ygbikpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgdFtuXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrbisnIicpO3Rbbl0oKX19KX0scyhpLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjQuMSJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4geGV9fSx7a2V5OiJOQU1FIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQWV9fSx7a2V5OiJEQVRBX0tFWSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE5lfX0se2tleToiRXZlbnQiLGdldDpmdW5jdGlvbigpe3JldHVybiBXZX19LHtrZXk6IkVWRU5UX0tFWSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9lfX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBIZX19XSksaX0oKTtnLmZuW0FlXT1YZS5falF1ZXJ5SW50ZXJmYWNlLGcuZm5bQWVdLkNvbnN0cnVjdG9yPVhlLGcuZm5bQWVdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mbltBZV09a2UsWGUuX2pRdWVyeUludGVyZmFjZX07dmFyICRlPSJwb3BvdmVyIixHZT0iYnMucG9wb3ZlciIsSmU9Ii4iK0dlLFplPWcuZm5bJGVdLHRuPSJicy1wb3BvdmVyIixlbj1uZXcgUmVnRXhwKCIoXnxcXHMpIit0bisiXFxTKyIsImciKSxubj1sKHt9LFhlLkRlZmF1bHQse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI-PC9kaXY-PGgzIGNsYXNzPSJwb3BvdmVyLWhlYWRlciI-PC9oMz48ZGl2IGNsYXNzPSJwb3BvdmVyLWJvZHkiPjwvZGl2PjwvZGl2Pid9KSxvbj1sKHt9LFhlLkRlZmF1bHRUeXBlLHtjb250ZW50OiIoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pIn0pLHJuPSJmYWRlIixzbj0ic2hvdyIsYW49Ii5wb3BvdmVyLWhlYWRlciIsbG49Ii5wb3BvdmVyLWJvZHkiLGNuPXtISURFOiJoaWRlIitKZSxISURERU46ImhpZGRlbiIrSmUsU0hPVzoic2hvdyIrSmUsU0hPV046InNob3duIitKZSxJTlNFUlRFRDoiaW5zZXJ0ZWQiK0plLENMSUNLOiJjbGljayIrSmUsRk9DVVNJTjoiZm9jdXNpbiIrSmUsRk9DVVNPVVQ6ImZvY3Vzb3V0IitKZSxNT1VTRUVOVEVSOiJtb3VzZWVudGVyIitKZSxNT1VTRUxFQVZFOiJtb3VzZWxlYXZlIitKZX0saG49ZnVuY3Rpb24odCl7ZnVuY3Rpb24gaSgpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc30hZnVuY3Rpb24odCxlKXt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSwodC5wcm90b3R5cGUuY29uc3RydWN0b3I9dCkuX19wcm90b19fPWV9KGksdCk7dmFyIGU9aS5wcm90b3R5cGU7cmV0dXJuIGUuaXNXaXRoQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl8fHRoaXMuX2dldENvbnRlbnQoKX0sZS5hZGRBdHRhY2htZW50Q2xhc3M9ZnVuY3Rpb24odCl7Zyh0aGlzLmdldFRpcEVsZW1lbnQoKSkuYWRkQ2xhc3ModG4rIi0iK3QpfSxlLmdldFRpcEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aXA9dGhpcy50aXB8fGcodGhpcy5jb25maWcudGVtcGxhdGUpWzBdLHRoaXMudGlwfSxlLnNldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgdD1nKHRoaXMuZ2V0VGlwRWxlbWVudCgpKTt0aGlzLnNldEVsZW1lbnRDb250ZW50KHQuZmluZChhbiksdGhpcy5nZXRUaXRsZSgpKTt2YXIgZT10aGlzLl9nZXRDb250ZW50KCk7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUuY2FsbCh0aGlzLmVsZW1lbnQpKSx0aGlzLnNldEVsZW1lbnRDb250ZW50KHQuZmluZChsbiksZSksdC5yZW1vdmVDbGFzcyhybisiICIrc24pfSxlLl9nZXRDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtY29udGVudCIpfHx0aGlzLmNvbmZpZy5jb250ZW50fSxlLl9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzLmdldFRpcEVsZW1lbnQoKSksZT10LmF0dHIoImNsYXNzIikubWF0Y2goZW4pO251bGwhPT1lJiYwPGUubGVuZ3RoJiZ0LnJlbW92ZUNsYXNzKGUuam9pbigiIikpfSxpLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWcodGhpcykuZGF0YShHZSksZT0ib2JqZWN0Ij09dHlwZW9mIG4_bjpudWxsO2lmKCh0fHwhL2Rpc3Bvc2V8aGlkZS8udGVzdChuKSkmJih0fHwodD1uZXcgaSh0aGlzLGUpLGcodGhpcykuZGF0YShHZSx0KSksInN0cmluZyI9PXR5cGVvZiBuKSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB0W25dKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytuKyciJyk7dFtuXSgpfX0pfSxzKGksbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuNC4xIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBubn19LHtrZXk6Ik5BTUUiLGdldDpmdW5jdGlvbigpe3JldHVybiAkZX19LHtrZXk6IkRBVEFfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gR2V9fSx7a2V5OiJFdmVudCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNufX0se2tleToiRVZFTlRfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gSmV9fSx7a2V5OiJEZWZhdWx0VHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG9ufX1dKSxpfShYZSk7Zy5mblskZV09aG4uX2pRdWVyeUludGVyZmFjZSxnLmZuWyRlXS5Db25zdHJ1Y3Rvcj1obixnLmZuWyRlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGcuZm5bJGVdPVplLGhuLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciB1bj0ic2Nyb2xsc3B5Iixmbj0iYnMuc2Nyb2xsc3B5Iixkbj0iLiIrZm4sZ249Zy5mblt1bl0sX249e29mZnNldDoxMCxtZXRob2Q6ImF1dG8iLHRhcmdldDoiIn0sbW49e29mZnNldDoibnVtYmVyIixtZXRob2Q6InN0cmluZyIsdGFyZ2V0OiIoc3RyaW5nfGVsZW1lbnQpIn0scG49e0FDVElWQVRFOiJhY3RpdmF0ZSIrZG4sU0NST0xMOiJzY3JvbGwiK2RuLExPQURfREFUQV9BUEk6ImxvYWQiK2RuKyIuZGF0YS1hcGkifSx2bj0iZHJvcGRvd24taXRlbSIseW49ImFjdGl2ZSIsRW49J1tkYXRhLXNweT0ic2Nyb2xsIl0nLENuPSIubmF2LCAubGlzdC1ncm91cCIsVG49Ii5uYXYtbGluayIsYm49Ii5uYXYtaXRlbSIsU249Ii5saXN0LWdyb3VwLWl0ZW0iLERuPSIuZHJvcGRvd24iLEluPSIuZHJvcGRvd24taXRlbSIsd249Ii5kcm9wZG93bi10b2dnbGUiLEFuPSJvZmZzZXQiLE5uPSJwb3NpdGlvbiIsT249ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKHQsZSl7dmFyIG49dGhpczt0aGlzLl9lbGVtZW50PXQsdGhpcy5fc2Nyb2xsRWxlbWVudD0iQk9EWSI9PT10LnRhZ05hbWU_d2luZG93OnQsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9zZWxlY3Rvcj10aGlzLl9jb25maWcudGFyZ2V0KyIgIitUbisiLCIrdGhpcy5fY29uZmlnLnRhcmdldCsiICIrU24rIiwiK3RoaXMuX2NvbmZpZy50YXJnZXQrIiAiK0luLHRoaXMuX29mZnNldHM9W10sdGhpcy5fdGFyZ2V0cz1bXSx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9MCxnKHRoaXMuX3Njcm9sbEVsZW1lbnQpLm9uKHBuLlNDUk9MTCxmdW5jdGlvbih0KXtyZXR1cm4gbi5fcHJvY2Vzcyh0KX0pLHRoaXMucmVmcmVzaCgpLHRoaXMuX3Byb2Nlc3MoKX12YXIgdD1uLnByb3RvdHlwZTtyZXR1cm4gdC5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PXRoaXMuX3Njcm9sbEVsZW1lbnQ9PT10aGlzLl9zY3JvbGxFbGVtZW50LndpbmRvdz9BbjpObixvPSJhdXRvIj09PXRoaXMuX2NvbmZpZy5tZXRob2Q_dDp0aGlzLl9jb25maWcubWV0aG9kLHI9bz09PU5uP3RoaXMuX2dldFNjcm9sbFRvcCgpOjA7dGhpcy5fb2Zmc2V0cz1bXSx0aGlzLl90YXJnZXRzPVtdLHRoaXMuX3Njcm9sbEhlaWdodD10aGlzLl9nZXRTY3JvbGxIZWlnaHQoKSxbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fc2VsZWN0b3IpKS5tYXAoZnVuY3Rpb24odCl7dmFyIGUsbj1fLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7aWYobiYmKGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihuKSksZSl7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihpLndpZHRofHxpLmhlaWdodClyZXR1cm5bZyhlKVtvXSgpLnRvcCtyLG5dfXJldHVybiBudWxsfSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0WzBdLWVbMF19KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UuX29mZnNldHMucHVzaCh0WzBdKSxlLl90YXJnZXRzLnB1c2godFsxXSl9KX0sdC5kaXNwb3NlPWZ1bmN0aW9uKCl7Zy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsZm4pLGcodGhpcy5fc2Nyb2xsRWxlbWVudCkub2ZmKGRuKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fc2Nyb2xsRWxlbWVudD1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX3NlbGVjdG9yPW51bGwsdGhpcy5fb2Zmc2V0cz1udWxsLHRoaXMuX3RhcmdldHM9bnVsbCx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9bnVsbH0sdC5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YodD1sKHt9LF9uLHt9LCJvYmplY3QiPT10eXBlb2YgdCYmdD90Ont9KSkudGFyZ2V0KXt2YXIgZT1nKHQudGFyZ2V0KS5hdHRyKCJpZCIpO2V8fChlPV8uZ2V0VUlEKHVuKSxnKHQudGFyZ2V0KS5hdHRyKCJpZCIsZSkpLHQudGFyZ2V0PSIjIitlfXJldHVybiBfLnR5cGVDaGVja0NvbmZpZyh1bix0LG1uKSx0fSx0Ll9nZXRTY3JvbGxUb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz90aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0OnRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wfSx0Ll9nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSx0Ll9nZXRPZmZzZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LHQuX3Byb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRTY3JvbGxUb3AoKSt0aGlzLl9jb25maWcub2Zmc2V0LGU9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksbj10aGlzLl9jb25maWcub2Zmc2V0K2UtdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7aWYodGhpcy5fc2Nyb2xsSGVpZ2h0IT09ZSYmdGhpcy5yZWZyZXNoKCksbjw9dCl7dmFyIGk9dGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aC0xXTt0aGlzLl9hY3RpdmVUYXJnZXQhPT1pJiZ0aGlzLl9hY3RpdmF0ZShpKX1lbHNle2lmKHRoaXMuX2FjdGl2ZVRhcmdldCYmdDx0aGlzLl9vZmZzZXRzWzBdJiYwPHRoaXMuX29mZnNldHNbMF0pcmV0dXJuIHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHZvaWQgdGhpcy5fY2xlYXIoKTtmb3IodmFyIG89dGhpcy5fb2Zmc2V0cy5sZW5ndGg7by0tOyl7dGhpcy5fYWN0aXZlVGFyZ2V0IT09dGhpcy5fdGFyZ2V0c1tvXSYmdD49dGhpcy5fb2Zmc2V0c1tvXSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgdGhpcy5fb2Zmc2V0c1tvKzFdfHx0PHRoaXMuX29mZnNldHNbbysxXSkmJnRoaXMuX2FjdGl2YXRlKHRoaXMuX3RhcmdldHNbb10pfX19LHQuX2FjdGl2YXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2FjdGl2ZVRhcmdldD1lLHRoaXMuX2NsZWFyKCk7dmFyIHQ9dGhpcy5fc2VsZWN0b3Iuc3BsaXQoIiwiKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQrJ1tkYXRhLXRhcmdldD0iJytlKyciXSwnK3QrJ1tocmVmPSInK2UrJyJdJ30pLG49ZyhbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodC5qb2luKCIsIikpKSk7bi5oYXNDbGFzcyh2bik_KG4uY2xvc2VzdChEbikuZmluZCh3bikuYWRkQ2xhc3MoeW4pLG4uYWRkQ2xhc3MoeW4pKToobi5hZGRDbGFzcyh5biksbi5wYXJlbnRzKENuKS5wcmV2KFRuKyIsICIrU24pLmFkZENsYXNzKHluKSxuLnBhcmVudHMoQ24pLnByZXYoYm4pLmNoaWxkcmVuKFRuKS5hZGRDbGFzcyh5bikpLGcodGhpcy5fc2Nyb2xsRWxlbWVudCkudHJpZ2dlcihwbi5BQ1RJVkFURSx7cmVsYXRlZFRhcmdldDplfSl9LHQuX2NsZWFyPWZ1bmN0aW9uKCl7W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuX3NlbGVjdG9yKSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNsYXNzTGlzdC5jb250YWlucyh5bil9KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNsYXNzTGlzdC5yZW1vdmUoeW4pfSl9LG4uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9Zyh0aGlzKS5kYXRhKGZuKTtpZih0fHwodD1uZXcgbih0aGlzLCJvYmplY3QiPT10eXBlb2YgZSYmZSksZyh0aGlzKS5kYXRhKGZuLHQpKSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgdFtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO3RbZV0oKX19KX0scyhuLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjQuMSJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gX259fV0pLG59KCk7Zyh3aW5kb3cpLm9uKHBuLkxPQURfREFUQV9BUEksZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKEVuKSksZT10Lmxlbmd0aDtlLS07KXt2YXIgbj1nKHRbZV0pO09uLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChuLG4uZGF0YSgpKX19KSxnLmZuW3VuXT1Pbi5falF1ZXJ5SW50ZXJmYWNlLGcuZm5bdW5dLkNvbnN0cnVjdG9yPU9uLGcuZm5bdW5dLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mblt1bl09Z24sT24uX2pRdWVyeUludGVyZmFjZX07dmFyIGtuPSJicy50YWIiLFBuPSIuIitrbixMbj1nLmZuLnRhYixqbj17SElERToiaGlkZSIrUG4sSElEREVOOiJoaWRkZW4iK1BuLFNIT1c6InNob3ciK1BuLFNIT1dOOiJzaG93biIrUG4sQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitQbisiLmRhdGEtYXBpIn0sSG49ImRyb3Bkb3duLW1lbnUiLFJuPSJhY3RpdmUiLHhuPSJkaXNhYmxlZCIsRm49ImZhZGUiLFVuPSJzaG93IixXbj0iLmRyb3Bkb3duIixxbj0iLm5hdiwgLmxpc3QtZ3JvdXAiLE1uPSIuYWN0aXZlIixLbj0iPiBsaSA-IC5hY3RpdmUiLFFuPSdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLEJuPSIuZHJvcGRvd24tdG9nZ2xlIixWbj0iPiAuZHJvcGRvd24tbWVudSAuYWN0aXZlIixZbj1mdW5jdGlvbigpe2Z1bmN0aW9uIGkodCl7dGhpcy5fZWxlbWVudD10fXZhciB0PWkucHJvdG90eXBlO3JldHVybiB0LnNob3c9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO2lmKCEodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhSbil8fGcodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoeG4pKSl7dmFyIHQsaSxlPWcodGhpcy5fZWxlbWVudCkuY2xvc2VzdChxbilbMF0sbz1fLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7aWYoZSl7dmFyIHI9IlVMIj09PWUubm9kZU5hbWV8fCJPTCI9PT1lLm5vZGVOYW1lP0tuOk1uO2k9KGk9Zy5tYWtlQXJyYXkoZyhlKS5maW5kKHIpKSlbaS5sZW5ndGgtMV19dmFyIHM9Zy5FdmVudChqbi5ISURFLHtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9KSxhPWcuRXZlbnQoam4uU0hPVyx7cmVsYXRlZFRhcmdldDppfSk7aWYoaSYmZyhpKS50cmlnZ2VyKHMpLGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihhKSwhYS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmIXMuaXNEZWZhdWx0UHJldmVudGVkKCkpe28mJih0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobykpLHRoaXMuX2FjdGl2YXRlKHRoaXMuX2VsZW1lbnQsZSk7dmFyIGw9ZnVuY3Rpb24oKXt2YXIgdD1nLkV2ZW50KGpuLkhJRERFTix7cmVsYXRlZFRhcmdldDpuLl9lbGVtZW50fSksZT1nLkV2ZW50KGpuLlNIT1dOLHtyZWxhdGVkVGFyZ2V0Oml9KTtnKGkpLnRyaWdnZXIodCksZyhuLl9lbGVtZW50KS50cmlnZ2VyKGUpfTt0P3RoaXMuX2FjdGl2YXRlKHQsdC5wYXJlbnROb2RlLGwpOmwoKX19fSx0LmRpc3Bvc2U9ZnVuY3Rpb24oKXtnLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxrbiksdGhpcy5fZWxlbWVudD1udWxsfSx0Ll9hY3RpdmF0ZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gaSgpe3JldHVybiBvLl90cmFuc2l0aW9uQ29tcGxldGUodCxyLG4pfXZhciBvPXRoaXMscj0oIWV8fCJVTCIhPT1lLm5vZGVOYW1lJiYiT0wiIT09ZS5ub2RlTmFtZT9nKGUpLmNoaWxkcmVuKE1uKTpnKGUpLmZpbmQoS24pKVswXSxzPW4mJnImJmcocikuaGFzQ2xhc3MoRm4pO2lmKHImJnMpe3ZhciBhPV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQocik7ZyhyKS5yZW1vdmVDbGFzcyhVbikub25lKF8uVFJBTlNJVElPTl9FTkQsaSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYSl9ZWxzZSBpKCl9LHQuX3RyYW5zaXRpb25Db21wbGV0ZT1mdW5jdGlvbih0LGUsbil7aWYoZSl7ZyhlKS5yZW1vdmVDbGFzcyhSbik7dmFyIGk9ZyhlLnBhcmVudE5vZGUpLmZpbmQoVm4pWzBdO2kmJmcoaSkucmVtb3ZlQ2xhc3MoUm4pLCJ0YWIiPT09ZS5nZXRBdHRyaWJ1dGUoInJvbGUiKSYmZS5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCExKX1pZihnKHQpLmFkZENsYXNzKFJuKSwidGFiIj09PXQuZ2V0QXR0cmlidXRlKCJyb2xlIikmJnQuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwhMCksXy5yZWZsb3codCksdC5jbGFzc0xpc3QuY29udGFpbnMoRm4pJiZ0LmNsYXNzTGlzdC5hZGQoVW4pLHQucGFyZW50Tm9kZSYmZyh0LnBhcmVudE5vZGUpLmhhc0NsYXNzKEhuKSl7dmFyIG89Zyh0KS5jbG9zZXN0KFduKVswXTtpZihvKXt2YXIgcj1bXS5zbGljZS5jYWxsKG8ucXVlcnlTZWxlY3RvckFsbChCbikpO2cocikuYWRkQ2xhc3MoUm4pfXQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMCl9biYmbigpfSxpLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWcodGhpcyksZT10LmRhdGEoa24pO2lmKGV8fChlPW5ldyBpKHRoaXMpLHQuZGF0YShrbixlKSksInN0cmluZyI9PXR5cGVvZiBuKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGVbbl0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK24rJyInKTtlW25dKCl9fSl9LHMoaSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC40LjEifX1dKSxpfSgpO2coZG9jdW1lbnQpLm9uKGpuLkNMSUNLX0RBVEFfQVBJLFFuLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSxZbi5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZyh0aGlzKSwic2hvdyIpfSksZy5mbi50YWI9WW4uX2pRdWVyeUludGVyZmFjZSxnLmZuLnRhYi5Db25zdHJ1Y3Rvcj1ZbixnLmZuLnRhYi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGcuZm4udGFiPUxuLFluLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciB6bj0idG9hc3QiLFhuPSJicy50b2FzdCIsJG49Ii4iK1huLEduPWcuZm5bem5dLEpuPXtDTElDS19ESVNNSVNTOiJjbGljay5kaXNtaXNzIiskbixISURFOiJoaWRlIiskbixISURERU46ImhpZGRlbiIrJG4sU0hPVzoic2hvdyIrJG4sU0hPV046InNob3duIiskbn0sWm49ImZhZGUiLHRpPSJoaWRlIixlaT0ic2hvdyIsbmk9InNob3dpbmciLGlpPXthbmltYXRpb246ImJvb2xlYW4iLGF1dG9oaWRlOiJib29sZWFuIixkZWxheToibnVtYmVyIn0sb2k9e2FuaW1hdGlvbjohMCxhdXRvaGlkZTohMCxkZWxheTo1MDB9LHJpPSdbZGF0YS1kaXNtaXNzPSJ0b2FzdCJdJyxzaT1mdW5jdGlvbigpe2Z1bmN0aW9uIGkodCxlKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5fc2V0TGlzdGVuZXJzKCl9dmFyIHQ9aS5wcm90b3R5cGU7cmV0dXJuIHQuc2hvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT1nLkV2ZW50KEpuLlNIT1cpO2lmKGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihlKSwhZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dGhpcy5fY29uZmlnLmFuaW1hdGlvbiYmdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKFpuKTt2YXIgbj1mdW5jdGlvbigpe3QuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShuaSksdC5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKGVpKSxnKHQuX2VsZW1lbnQpLnRyaWdnZXIoSm4uU0hPV04pLHQuX2NvbmZpZy5hdXRvaGlkZSYmKHQuX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3QuaGlkZSgpfSx0Ll9jb25maWcuZGVsYXkpKX07aWYodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRpKSxfLnJlZmxvdyh0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQobmkpLHRoaXMuX2NvbmZpZy5hbmltYXRpb24pe3ZhciBpPV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7Zyh0aGlzLl9lbGVtZW50KS5vbmUoXy5UUkFOU0lUSU9OX0VORCxuKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChpKX1lbHNlIG4oKX19LHQuaGlkZT1mdW5jdGlvbigpe2lmKHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGVpKSl7dmFyIHQ9Zy5FdmVudChKbi5ISURFKTtnKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIodCksdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dGhpcy5fY2xvc2UoKX19LHQuZGlzcG9zZT1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoZWkpJiZ0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoZWkpLGcodGhpcy5fZWxlbWVudCkub2ZmKEpuLkNMSUNLX0RJU01JU1MpLGcucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LFhuKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fY29uZmlnPW51bGx9LHQuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1sKHt9LG9pLHt9LGcodGhpcy5fZWxlbWVudCkuZGF0YSgpLHt9LCJvYmplY3QiPT10eXBlb2YgdCYmdD90Ont9KSxfLnR5cGVDaGVja0NvbmZpZyh6bix0LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpLHR9LHQuX3NldExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7Zyh0aGlzLl9lbGVtZW50KS5vbihKbi5DTElDS19ESVNNSVNTLHJpLGZ1bmN0aW9uKCl7cmV0dXJuIHQuaGlkZSgpfSl9LHQuX2Nsb3NlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2UuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aSksZyhlLl9lbGVtZW50KS50cmlnZ2VyKEpuLkhJRERFTil9dmFyIGU9dGhpcztpZih0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoZWkpLHRoaXMuX2NvbmZpZy5hbmltYXRpb24pe3ZhciBuPV8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7Zyh0aGlzLl9lbGVtZW50KS5vbmUoXy5UUkFOU0lUSU9OX0VORCx0KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChuKX1lbHNlIHQoKX0saS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1nKHRoaXMpLGU9dC5kYXRhKFhuKTtpZihlfHwoZT1uZXcgaSh0aGlzLCJvYmplY3QiPT10eXBlb2YgbiYmbiksdC5kYXRhKFhuLGUpKSwic3RyaW5nIj09dHlwZW9mIG4pe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgZVtuXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrbisnIicpO2Vbbl0odGhpcyl9fSl9LHMoaSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC40LjEifX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBpaX19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBvaX19XSksaX0oKTtnLmZuW3puXT1zaS5falF1ZXJ5SW50ZXJmYWNlLGcuZm5bem5dLkNvbnN0cnVjdG9yPXNpLGcuZm5bem5dLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mblt6bl09R24sc2kuX2pRdWVyeUludGVyZmFjZX0sdC5BbGVydD12LHQuQnV0dG9uPUgsdC5DYXJvdXNlbD11dCx0LkNvbGxhcHNlPXd0LHQuRHJvcGRvd249ZWUsdC5Nb2RhbD1UZSx0LlBvcG92ZXI9aG4sdC5TY3JvbGxzcHk9T24sdC5UYWI9WW4sdC5Ub2FzdD1zaSx0LlRvb2x0aXA9WGUsdC5VdGlsPV8sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAubWluLmpzLm1hcA","jquery-3.2.1.js":"LyohDQogKiBqUXVlcnkgSmF2YVNjcmlwdCBMaWJyYXJ5IHYzLjIuMQ0KICogaHR0cHM6Ly9qcXVlcnkuY29tLw0KICoNCiAqIEluY2x1ZGVzIFNpenpsZS5qcw0KICogaHR0cHM6Ly9zaXp6bGVqcy5jb20vDQogKg0KICogQ29weXJpZ2h0IEpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICoNCiAqIERhdGU6IDIwMTctMDMtMjBUMTg6NTlaDQogKi8NCiggZnVuY3Rpb24oIGdsb2JhbCwgZmFjdG9yeSApIHsNCg0KCSJ1c2Ugc3RyaWN0IjsNCg0KCWlmICggdHlwZW9mIG1vZHVsZSA9PT0gIm9iamVjdCIgJiYgdHlwZW9mIG1vZHVsZS5leHBvcnRzID09PSAib2JqZWN0IiApIHsNCg0KCQkvLyBGb3IgQ29tbW9uSlMgYW5kIENvbW1vbkpTLWxpa2UgZW52aXJvbm1lbnRzIHdoZXJlIGEgcHJvcGVyIGB3aW5kb3dgDQoJCS8vIGlzIHByZXNlbnQsIGV4ZWN1dGUgdGhlIGZhY3RvcnkgYW5kIGdldCBqUXVlcnkuDQoJCS8vIEZvciBlbnZpcm9ubWVudHMgdGhhdCBkbyBub3QgaGF2ZSBhIGB3aW5kb3dgIHdpdGggYSBgZG9jdW1lbnRgDQoJCS8vIChzdWNoIGFzIE5vZGUuanMpLCBleHBvc2UgYSBmYWN0b3J5IGFzIG1vZHVsZS5leHBvcnRzLg0KCQkvLyBUaGlzIGFjY2VudHVhdGVzIHRoZSBuZWVkIGZvciB0aGUgY3JlYXRpb24gb2YgYSByZWFsIGB3aW5kb3dgLg0KCQkvLyBlLmcuIHZhciBqUXVlcnkgPSByZXF1aXJlKCJqcXVlcnkiKSh3aW5kb3cpOw0KCQkvLyBTZWUgdGlja2V0ICMxNDU0OSBmb3IgbW9yZSBpbmZvLg0KCQltb2R1bGUuZXhwb3J0cyA9IGdsb2JhbC5kb2N1bWVudCA_DQoJCQlmYWN0b3J5KCBnbG9iYWwsIHRydWUgKSA6DQoJCQlmdW5jdGlvbiggdyApIHsNCgkJCQlpZiAoICF3LmRvY3VtZW50ICkgew0KCQkJCQl0aHJvdyBuZXcgRXJyb3IoICJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50IiApOw0KCQkJCX0NCgkJCQlyZXR1cm4gZmFjdG9yeSggdyApOw0KCQkJfTsNCgl9IGVsc2Ugew0KCQlmYWN0b3J5KCBnbG9iYWwgKTsNCgl9DQoNCi8vIFBhc3MgdGhpcyBpZiB3aW5kb3cgaXMgbm90IGRlZmluZWQgeWV0DQp9ICkoIHR5cGVvZiB3aW5kb3cgIT09ICJ1bmRlZmluZWQiID8gd2luZG93IDogdGhpcywgZnVuY3Rpb24oIHdpbmRvdywgbm9HbG9iYWwgKSB7DQoNCi8vIEVkZ2UgPD0gMTIgLSAxMyssIEZpcmVmb3ggPD0xOCAtIDQ1KywgSUUgMTAgLSAxMSwgU2FmYXJpIDUuMSAtIDkrLCBpT1MgNiAtIDkuMQ0KLy8gdGhyb3cgZXhjZXB0aW9ucyB3aGVuIG5vbi1zdHJpY3QgY29kZSAoZS5nLiwgQVNQLk5FVCA0LjUpIGFjY2Vzc2VzIHN0cmljdCBtb2RlDQovLyBhcmd1bWVudHMuY2FsbGVlLmNhbGxlciAodHJhYy0xMzMzNSkuIEJ1dCBhcyBvZiBqUXVlcnkgMy4wICgyMDE2KSwgc3RyaWN0IG1vZGUgc2hvdWxkIGJlIGNvbW1vbg0KLy8gZW5vdWdoIHRoYXQgYWxsIHN1Y2ggYXR0ZW1wdHMgYXJlIGd1YXJkZWQgaW4gYSB0cnkgYmxvY2suDQoidXNlIHN0cmljdCI7DQoNCnZhciBhcnIgPSBbXTsNCg0KdmFyIGRvY3VtZW50ID0gd2luZG93LmRvY3VtZW50Ow0KDQp2YXIgZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7DQoNCnZhciBzbGljZSA9IGFyci5zbGljZTsNCg0KdmFyIGNvbmNhdCA9IGFyci5jb25jYXQ7DQoNCnZhciBwdXNoID0gYXJyLnB1c2g7DQoNCnZhciBpbmRleE9mID0gYXJyLmluZGV4T2Y7DQoNCnZhciBjbGFzczJ0eXBlID0ge307DQoNCnZhciB0b1N0cmluZyA9IGNsYXNzMnR5cGUudG9TdHJpbmc7DQoNCnZhciBoYXNPd24gPSBjbGFzczJ0eXBlLmhhc093blByb3BlcnR5Ow0KDQp2YXIgZm5Ub1N0cmluZyA9IGhhc093bi50b1N0cmluZzsNCg0KdmFyIE9iamVjdEZ1bmN0aW9uU3RyaW5nID0gZm5Ub1N0cmluZy5jYWxsKCBPYmplY3QgKTsNCg0KdmFyIHN1cHBvcnQgPSB7fTsNCg0KDQoNCglmdW5jdGlvbiBET01FdmFsKCBjb2RlLCBkb2MgKSB7DQoJCWRvYyA9IGRvYyB8fCBkb2N1bWVudDsNCg0KCQl2YXIgc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoICJzY3JpcHQiICk7DQoNCgkJc2NyaXB0LnRleHQgPSBjb2RlOw0KCQlkb2MuaGVhZC5hcHBlbmRDaGlsZCggc2NyaXB0ICkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggc2NyaXB0ICk7DQoJfQ0KLyogZ2xvYmFsIFN5bWJvbCAqLw0KLy8gRGVmaW5pbmcgdGhpcyBnbG9iYWwgaW4gLmVzbGludHJjLmpzb24gd291bGQgY3JlYXRlIGEgZGFuZ2VyIG9mIHVzaW5nIHRoZSBnbG9iYWwNCi8vIHVuZ3VhcmRlZCBpbiBhbm90aGVyIHBsYWNlLCBpdCBzZWVtcyBzYWZlciB0byBkZWZpbmUgZ2xvYmFsIG9ubHkgZm9yIHRoaXMgbW9kdWxlDQoNCg0KDQp2YXINCgl2ZXJzaW9uID0gIjMuMi4xIiwNCg0KCS8vIERlZmluZSBhIGxvY2FsIGNvcHkgb2YgalF1ZXJ5DQoJalF1ZXJ5ID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0ICkgew0KDQoJCS8vIFRoZSBqUXVlcnkgb2JqZWN0IGlzIGFjdHVhbGx5IGp1c3QgdGhlIGluaXQgY29uc3RydWN0b3IgJ2VuaGFuY2VkJw0KCQkvLyBOZWVkIGluaXQgaWYgalF1ZXJ5IGlzIGNhbGxlZCAoanVzdCBhbGxvdyBlcnJvciB0byBiZSB0aHJvd24gaWYgbm90IGluY2x1ZGVkKQ0KCQlyZXR1cm4gbmV3IGpRdWVyeS5mbi5pbml0KCBzZWxlY3RvciwgY29udGV4dCApOw0KCX0sDQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHkNCgkvLyBNYWtlIHN1cmUgd2UgdHJpbSBCT00gYW5kIE5CU1ANCglydHJpbSA9IC9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZywNCg0KCS8vIE1hdGNoZXMgZGFzaGVkIHN0cmluZyBmb3IgY2FtZWxpemluZw0KCXJtc1ByZWZpeCA9IC9eLW1zLS8sDQoJcmRhc2hBbHBoYSA9IC8tKFthLXpdKS9nLA0KDQoJLy8gVXNlZCBieSBqUXVlcnkuY2FtZWxDYXNlIGFzIGNhbGxiYWNrIHRvIHJlcGxhY2UoKQ0KCWZjYW1lbENhc2UgPSBmdW5jdGlvbiggYWxsLCBsZXR0ZXIgKSB7DQoJCXJldHVybiBsZXR0ZXIudG9VcHBlckNhc2UoKTsNCgl9Ow0KDQpqUXVlcnkuZm4gPSBqUXVlcnkucHJvdG90eXBlID0gew0KDQoJLy8gVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBqUXVlcnkgYmVpbmcgdXNlZA0KCWpxdWVyeTogdmVyc2lvbiwNCg0KCWNvbnN0cnVjdG9yOiBqUXVlcnksDQoNCgkvLyBUaGUgZGVmYXVsdCBsZW5ndGggb2YgYSBqUXVlcnkgb2JqZWN0IGlzIDANCglsZW5ndGg6IDAsDQoNCgl0b0FycmF5OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHNsaWNlLmNhbGwoIHRoaXMgKTsNCgl9LA0KDQoJLy8gR2V0IHRoZSBOdGggZWxlbWVudCBpbiB0aGUgbWF0Y2hlZCBlbGVtZW50IHNldCBPUg0KCS8vIEdldCB0aGUgd2hvbGUgbWF0Y2hlZCBlbGVtZW50IHNldCBhcyBhIGNsZWFuIGFycmF5DQoJZ2V0OiBmdW5jdGlvbiggbnVtICkgew0KDQoJCS8vIFJldHVybiBhbGwgdGhlIGVsZW1lbnRzIGluIGEgY2xlYW4gYXJyYXkNCgkJaWYgKCBudW0gPT0gbnVsbCApIHsNCgkJCXJldHVybiBzbGljZS5jYWxsKCB0aGlzICk7DQoJCX0NCg0KCQkvLyBSZXR1cm4ganVzdCB0aGUgb25lIGVsZW1lbnQgZnJvbSB0aGUgc2V0DQoJCXJldHVybiBudW0gPCAwID8gdGhpc1sgbnVtICsgdGhpcy5sZW5ndGggXSA6IHRoaXNbIG51bSBdOw0KCX0sDQoNCgkvLyBUYWtlIGFuIGFycmF5IG9mIGVsZW1lbnRzIGFuZCBwdXNoIGl0IG9udG8gdGhlIHN0YWNrDQoJLy8gKHJldHVybmluZyB0aGUgbmV3IG1hdGNoZWQgZWxlbWVudCBzZXQpDQoJcHVzaFN0YWNrOiBmdW5jdGlvbiggZWxlbXMgKSB7DQoNCgkJLy8gQnVpbGQgYSBuZXcgalF1ZXJ5IG1hdGNoZWQgZWxlbWVudCBzZXQNCgkJdmFyIHJldCA9IGpRdWVyeS5tZXJnZSggdGhpcy5jb25zdHJ1Y3RvcigpLCBlbGVtcyApOw0KDQoJCS8vIEFkZCB0aGUgb2xkIG9iamVjdCBvbnRvIHRoZSBzdGFjayAoYXMgYSByZWZlcmVuY2UpDQoJCXJldC5wcmV2T2JqZWN0ID0gdGhpczsNCg0KCQkvLyBSZXR1cm4gdGhlIG5ld2x5LWZvcm1lZCBlbGVtZW50IHNldA0KCQlyZXR1cm4gcmV0Ow0KCX0sDQoNCgkvLyBFeGVjdXRlIGEgY2FsbGJhY2sgZm9yIGV2ZXJ5IGVsZW1lbnQgaW4gdGhlIG1hdGNoZWQgc2V0Lg0KCWVhY2g6IGZ1bmN0aW9uKCBjYWxsYmFjayApIHsNCgkJcmV0dXJuIGpRdWVyeS5lYWNoKCB0aGlzLCBjYWxsYmFjayApOw0KCX0sDQoNCgltYXA6IGZ1bmN0aW9uKCBjYWxsYmFjayApIHsNCgkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCBqUXVlcnkubWFwKCB0aGlzLCBmdW5jdGlvbiggZWxlbSwgaSApIHsNCgkJCXJldHVybiBjYWxsYmFjay5jYWxsKCBlbGVtLCBpLCBlbGVtICk7DQoJCX0gKSApOw0KCX0sDQoNCglzbGljZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLnB1c2hTdGFjayggc2xpY2UuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApICk7DQoJfSwNCg0KCWZpcnN0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuZXEoIDAgKTsNCgl9LA0KDQoJbGFzdDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmVxKCAtMSApOw0KCX0sDQoNCgllcTogZnVuY3Rpb24oIGkgKSB7DQoJCXZhciBsZW4gPSB0aGlzLmxlbmd0aCwNCgkJCWogPSAraSArICggaSA8IDAgPyBsZW4gOiAwICk7DQoJCXJldHVybiB0aGlzLnB1c2hTdGFjayggaiA-PSAwICYmIGogPCBsZW4gPyBbIHRoaXNbIGogXSBdIDogW10gKTsNCgl9LA0KDQoJZW5kOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMucHJldk9iamVjdCB8fCB0aGlzLmNvbnN0cnVjdG9yKCk7DQoJfSwNCg0KCS8vIEZvciBpbnRlcm5hbCB1c2Ugb25seS4NCgkvLyBCZWhhdmVzIGxpa2UgYW4gQXJyYXkncyBtZXRob2QsIG5vdCBsaWtlIGEgalF1ZXJ5IG1ldGhvZC4NCglwdXNoOiBwdXNoLA0KCXNvcnQ6IGFyci5zb3J0LA0KCXNwbGljZTogYXJyLnNwbGljZQ0KfTsNCg0KalF1ZXJ5LmV4dGVuZCA9IGpRdWVyeS5mbi5leHRlbmQgPSBmdW5jdGlvbigpIHsNCgl2YXIgb3B0aW9ucywgbmFtZSwgc3JjLCBjb3B5LCBjb3B5SXNBcnJheSwgY2xvbmUsDQoJCXRhcmdldCA9IGFyZ3VtZW50c1sgMCBdIHx8IHt9LA0KCQlpID0gMSwNCgkJbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCwNCgkJZGVlcCA9IGZhbHNlOw0KDQoJLy8gSGFuZGxlIGEgZGVlcCBjb3B5IHNpdHVhdGlvbg0KCWlmICggdHlwZW9mIHRhcmdldCA9PT0gImJvb2xlYW4iICkgew0KCQlkZWVwID0gdGFyZ2V0Ow0KDQoJCS8vIFNraXAgdGhlIGJvb2xlYW4gYW5kIHRoZSB0YXJnZXQNCgkJdGFyZ2V0ID0gYXJndW1lbnRzWyBpIF0gfHwge307DQoJCWkrKzsNCgl9DQoNCgkvLyBIYW5kbGUgY2FzZSB3aGVuIHRhcmdldCBpcyBhIHN0cmluZyBvciBzb21ldGhpbmcgKHBvc3NpYmxlIGluIGRlZXAgY29weSkNCglpZiAoIHR5cGVvZiB0YXJnZXQgIT09ICJvYmplY3QiICYmICFqUXVlcnkuaXNGdW5jdGlvbiggdGFyZ2V0ICkgKSB7DQoJCXRhcmdldCA9IHt9Ow0KCX0NCg0KCS8vIEV4dGVuZCBqUXVlcnkgaXRzZWxmIGlmIG9ubHkgb25lIGFyZ3VtZW50IGlzIHBhc3NlZA0KCWlmICggaSA9PT0gbGVuZ3RoICkgew0KCQl0YXJnZXQgPSB0aGlzOw0KCQlpLS07DQoJfQ0KDQoJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7DQoNCgkJLy8gT25seSBkZWFsIHdpdGggbm9uLW51bGwvdW5kZWZpbmVkIHZhbHVlcw0KCQlpZiAoICggb3B0aW9ucyA9IGFyZ3VtZW50c1sgaSBdICkgIT0gbnVsbCApIHsNCg0KCQkJLy8gRXh0ZW5kIHRoZSBiYXNlIG9iamVjdA0KCQkJZm9yICggbmFtZSBpbiBvcHRpb25zICkgew0KCQkJCXNyYyA9IHRhcmdldFsgbmFtZSBdOw0KCQkJCWNvcHkgPSBvcHRpb25zWyBuYW1lIF07DQoNCgkJCQkvLyBQcmV2ZW50IG5ldmVyLWVuZGluZyBsb29wDQoJCQkJaWYgKCB0YXJnZXQgPT09IGNvcHkgKSB7DQoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCg0KCQkJCS8vIFJlY3Vyc2UgaWYgd2UncmUgbWVyZ2luZyBwbGFpbiBvYmplY3RzIG9yIGFycmF5cw0KCQkJCWlmICggZGVlcCAmJiBjb3B5ICYmICggalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGNvcHkgKSB8fA0KCQkJCQkoIGNvcHlJc0FycmF5ID0gQXJyYXkuaXNBcnJheSggY29weSApICkgKSApIHsNCg0KCQkJCQlpZiAoIGNvcHlJc0FycmF5ICkgew0KCQkJCQkJY29weUlzQXJyYXkgPSBmYWxzZTsNCgkJCQkJCWNsb25lID0gc3JjICYmIEFycmF5LmlzQXJyYXkoIHNyYyApID8gc3JjIDogW107DQoNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCWNsb25lID0gc3JjICYmIGpRdWVyeS5pc1BsYWluT2JqZWN0KCBzcmMgKSA_IHNyYyA6IHt9Ow0KCQkJCQl9DQoNCgkJCQkJLy8gTmV2ZXIgbW92ZSBvcmlnaW5hbCBvYmplY3RzLCBjbG9uZSB0aGVtDQoJCQkJCXRhcmdldFsgbmFtZSBdID0galF1ZXJ5LmV4dGVuZCggZGVlcCwgY2xvbmUsIGNvcHkgKTsNCg0KCQkJCS8vIERvbid0IGJyaW5nIGluIHVuZGVmaW5lZCB2YWx1ZXMNCgkJCQl9IGVsc2UgaWYgKCBjb3B5ICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJCXRhcmdldFsgbmFtZSBdID0gY29weTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCgkvLyBSZXR1cm4gdGhlIG1vZGlmaWVkIG9iamVjdA0KCXJldHVybiB0YXJnZXQ7DQp9Ow0KDQpqUXVlcnkuZXh0ZW5kKCB7DQoNCgkvLyBVbmlxdWUgZm9yIGVhY2ggY29weSBvZiBqUXVlcnkgb24gdGhlIHBhZ2UNCglleHBhbmRvOiAialF1ZXJ5IiArICggdmVyc2lvbiArIE1hdGgucmFuZG9tKCkgKS5yZXBsYWNlKCAvXEQvZywgIiIgKSwNCg0KCS8vIEFzc3VtZSBqUXVlcnkgaXMgcmVhZHkgd2l0aG91dCB0aGUgcmVhZHkgbW9kdWxlDQoJaXNSZWFkeTogdHJ1ZSwNCg0KCWVycm9yOiBmdW5jdGlvbiggbXNnICkgew0KCQl0aHJvdyBuZXcgRXJyb3IoIG1zZyApOw0KCX0sDQoNCglub29wOiBmdW5jdGlvbigpIHt9LA0KDQoJaXNGdW5jdGlvbjogZnVuY3Rpb24oIG9iaiApIHsNCgkJcmV0dXJuIGpRdWVyeS50eXBlKCBvYmogKSA9PT0gImZ1bmN0aW9uIjsNCgl9LA0KDQoJaXNXaW5kb3c6IGZ1bmN0aW9uKCBvYmogKSB7DQoJCXJldHVybiBvYmogIT0gbnVsbCAmJiBvYmogPT09IG9iai53aW5kb3c7DQoJfSwNCg0KCWlzTnVtZXJpYzogZnVuY3Rpb24oIG9iaiApIHsNCg0KCQkvLyBBcyBvZiBqUXVlcnkgMy4wLCBpc051bWVyaWMgaXMgbGltaXRlZCB0bw0KCQkvLyBzdHJpbmdzIGFuZCBudW1iZXJzIChwcmltaXRpdmVzIG9yIG9iamVjdHMpDQoJCS8vIHRoYXQgY2FuIGJlIGNvZXJjZWQgdG8gZmluaXRlIG51bWJlcnMgKGdoLTI2NjIpDQoJCXZhciB0eXBlID0galF1ZXJ5LnR5cGUoIG9iaiApOw0KCQlyZXR1cm4gKCB0eXBlID09PSAibnVtYmVyIiB8fCB0eXBlID09PSAic3RyaW5nIiApICYmDQoNCgkJCS8vIHBhcnNlRmxvYXQgTmFOcyBudW1lcmljLWNhc3QgZmFsc2UgcG9zaXRpdmVzICgiIikNCgkJCS8vIC4uLmJ1dCBtaXNpbnRlcnByZXRzIGxlYWRpbmctbnVtYmVyIHN0cmluZ3MsIHBhcnRpY3VsYXJseSBoZXggbGl0ZXJhbHMgKCIweC4uLiIpDQoJCQkvLyBzdWJ0cmFjdGlvbiBmb3JjZXMgaW5maW5pdGllcyB0byBOYU4NCgkJCSFpc05hTiggb2JqIC0gcGFyc2VGbG9hdCggb2JqICkgKTsNCgl9LA0KDQoJaXNQbGFpbk9iamVjdDogZnVuY3Rpb24oIG9iaiApIHsNCgkJdmFyIHByb3RvLCBDdG9yOw0KDQoJCS8vIERldGVjdCBvYnZpb3VzIG5lZ2F0aXZlcw0KCQkvLyBVc2UgdG9TdHJpbmcgaW5zdGVhZCBvZiBqUXVlcnkudHlwZSB0byBjYXRjaCBob3N0IG9iamVjdHMNCgkJaWYgKCAhb2JqIHx8IHRvU3RyaW5nLmNhbGwoIG9iaiApICE9PSAiW29iamVjdCBPYmplY3RdIiApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXByb3RvID0gZ2V0UHJvdG8oIG9iaiApOw0KDQoJCS8vIE9iamVjdHMgd2l0aCBubyBwcm90b3R5cGUgKGUuZy4sIGBPYmplY3QuY3JlYXRlKCBudWxsIClgKSBhcmUgcGxhaW4NCgkJaWYgKCAhcHJvdG8gKSB7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KDQoJCS8vIE9iamVjdHMgd2l0aCBwcm90b3R5cGUgYXJlIHBsYWluIGlmZiB0aGV5IHdlcmUgY29uc3RydWN0ZWQgYnkgYSBnbG9iYWwgT2JqZWN0IGZ1bmN0aW9uDQoJCUN0b3IgPSBoYXNPd24uY2FsbCggcHJvdG8sICJjb25zdHJ1Y3RvciIgKSAmJiBwcm90by5jb25zdHJ1Y3RvcjsNCgkJcmV0dXJuIHR5cGVvZiBDdG9yID09PSAiZnVuY3Rpb24iICYmIGZuVG9TdHJpbmcuY2FsbCggQ3RvciApID09PSBPYmplY3RGdW5jdGlvblN0cmluZzsNCgl9LA0KDQoJaXNFbXB0eU9iamVjdDogZnVuY3Rpb24oIG9iaiApIHsNCg0KCQkvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqLw0KCQkvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2VzbGludC9lc2xpbnQvaXNzdWVzLzYxMjUNCgkJdmFyIG5hbWU7DQoNCgkJZm9yICggbmFtZSBpbiBvYmogKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCXR5cGU6IGZ1bmN0aW9uKCBvYmogKSB7DQoJCWlmICggb2JqID09IG51bGwgKSB7DQoJCQlyZXR1cm4gb2JqICsgIiI7DQoJCX0NCg0KCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9Mi4zIG9ubHkgKGZ1bmN0aW9uaXNoIFJlZ0V4cCkNCgkJcmV0dXJuIHR5cGVvZiBvYmogPT09ICJvYmplY3QiIHx8IHR5cGVvZiBvYmogPT09ICJmdW5jdGlvbiIgPw0KCQkJY2xhc3MydHlwZVsgdG9TdHJpbmcuY2FsbCggb2JqICkgXSB8fCAib2JqZWN0IiA6DQoJCQl0eXBlb2Ygb2JqOw0KCX0sDQoNCgkvLyBFdmFsdWF0ZXMgYSBzY3JpcHQgaW4gYSBnbG9iYWwgY29udGV4dA0KCWdsb2JhbEV2YWw6IGZ1bmN0aW9uKCBjb2RlICkgew0KCQlET01FdmFsKCBjb2RlICk7DQoJfSwNCg0KCS8vIENvbnZlcnQgZGFzaGVkIHRvIGNhbWVsQ2FzZTsgdXNlZCBieSB0aGUgY3NzIGFuZCBkYXRhIG1vZHVsZXMNCgkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSwgRWRnZSAxMiAtIDEzDQoJLy8gTWljcm9zb2Z0IGZvcmdvdCB0byBodW1wIHRoZWlyIHZlbmRvciBwcmVmaXggKCM5NTcyKQ0KCWNhbWVsQ2FzZTogZnVuY3Rpb24oIHN0cmluZyApIHsNCgkJcmV0dXJuIHN0cmluZy5yZXBsYWNlKCBybXNQcmVmaXgsICJtcy0iICkucmVwbGFjZSggcmRhc2hBbHBoYSwgZmNhbWVsQ2FzZSApOw0KCX0sDQoNCgllYWNoOiBmdW5jdGlvbiggb2JqLCBjYWxsYmFjayApIHsNCgkJdmFyIGxlbmd0aCwgaSA9IDA7DQoNCgkJaWYgKCBpc0FycmF5TGlrZSggb2JqICkgKSB7DQoJCQlsZW5ndGggPSBvYmoubGVuZ3RoOw0KCQkJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7DQoJCQkJaWYgKCBjYWxsYmFjay5jYWxsKCBvYmpbIGkgXSwgaSwgb2JqWyBpIF0gKSA9PT0gZmFsc2UgKSB7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWZvciAoIGkgaW4gb2JqICkgew0KCQkJCWlmICggY2FsbGJhY2suY2FsbCggb2JqWyBpIF0sIGksIG9ialsgaSBdICkgPT09IGZhbHNlICkgew0KCQkJCQlicmVhazsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gb2JqOw0KCX0sDQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHkNCgl0cmltOiBmdW5jdGlvbiggdGV4dCApIHsNCgkJcmV0dXJuIHRleHQgPT0gbnVsbCA_DQoJCQkiIiA6DQoJCQkoIHRleHQgKyAiIiApLnJlcGxhY2UoIHJ0cmltLCAiIiApOw0KCX0sDQoNCgkvLyByZXN1bHRzIGlzIGZvciBpbnRlcm5hbCB1c2FnZSBvbmx5DQoJbWFrZUFycmF5OiBmdW5jdGlvbiggYXJyLCByZXN1bHRzICkgew0KCQl2YXIgcmV0ID0gcmVzdWx0cyB8fCBbXTsNCg0KCQlpZiAoIGFyciAhPSBudWxsICkgew0KCQkJaWYgKCBpc0FycmF5TGlrZSggT2JqZWN0KCBhcnIgKSApICkgew0KCQkJCWpRdWVyeS5tZXJnZSggcmV0LA0KCQkJCQl0eXBlb2YgYXJyID09PSAic3RyaW5nIiA_DQoJCQkJCVsgYXJyIF0gOiBhcnINCgkJCQkpOw0KCQkJfSBlbHNlIHsNCgkJCQlwdXNoLmNhbGwoIHJldCwgYXJyICk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gcmV0Ow0KCX0sDQoNCglpbkFycmF5OiBmdW5jdGlvbiggZWxlbSwgYXJyLCBpICkgew0KCQlyZXR1cm4gYXJyID09IG51bGwgPyAtMSA6IGluZGV4T2YuY2FsbCggYXJyLCBlbGVtLCBpICk7DQoJfSwNCg0KCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seSwgUGhhbnRvbUpTIDEgb25seQ0KCS8vIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXQNCgltZXJnZTogZnVuY3Rpb24oIGZpcnN0LCBzZWNvbmQgKSB7DQoJCXZhciBsZW4gPSArc2Vjb25kLmxlbmd0aCwNCgkJCWogPSAwLA0KCQkJaSA9IGZpcnN0Lmxlbmd0aDsNCg0KCQlmb3IgKCA7IGogPCBsZW47IGorKyApIHsNCgkJCWZpcnN0WyBpKysgXSA9IHNlY29uZFsgaiBdOw0KCQl9DQoNCgkJZmlyc3QubGVuZ3RoID0gaTsNCg0KCQlyZXR1cm4gZmlyc3Q7DQoJfSwNCg0KCWdyZXA6IGZ1bmN0aW9uKCBlbGVtcywgY2FsbGJhY2ssIGludmVydCApIHsNCgkJdmFyIGNhbGxiYWNrSW52ZXJzZSwNCgkJCW1hdGNoZXMgPSBbXSwNCgkJCWkgPSAwLA0KCQkJbGVuZ3RoID0gZWxlbXMubGVuZ3RoLA0KCQkJY2FsbGJhY2tFeHBlY3QgPSAhaW52ZXJ0Ow0KDQoJCS8vIEdvIHRocm91Z2ggdGhlIGFycmF5LCBvbmx5IHNhdmluZyB0aGUgaXRlbXMNCgkJLy8gdGhhdCBwYXNzIHRoZSB2YWxpZGF0b3IgZnVuY3Rpb24NCgkJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7DQoJCQljYWxsYmFja0ludmVyc2UgPSAhY2FsbGJhY2soIGVsZW1zWyBpIF0sIGkgKTsNCgkJCWlmICggY2FsbGJhY2tJbnZlcnNlICE9PSBjYWxsYmFja0V4cGVjdCApIHsNCgkJCQltYXRjaGVzLnB1c2goIGVsZW1zWyBpIF0gKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiBtYXRjaGVzOw0KCX0sDQoNCgkvLyBhcmcgaXMgZm9yIGludGVybmFsIHVzYWdlIG9ubHkNCgltYXA6IGZ1bmN0aW9uKCBlbGVtcywgY2FsbGJhY2ssIGFyZyApIHsNCgkJdmFyIGxlbmd0aCwgdmFsdWUsDQoJCQlpID0gMCwNCgkJCXJldCA9IFtdOw0KDQoJCS8vIEdvIHRocm91Z2ggdGhlIGFycmF5LCB0cmFuc2xhdGluZyBlYWNoIG9mIHRoZSBpdGVtcyB0byB0aGVpciBuZXcgdmFsdWVzDQoJCWlmICggaXNBcnJheUxpa2UoIGVsZW1zICkgKSB7DQoJCQlsZW5ndGggPSBlbGVtcy5sZW5ndGg7DQoJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkrKyApIHsNCgkJCQl2YWx1ZSA9IGNhbGxiYWNrKCBlbGVtc1sgaSBdLCBpLCBhcmcgKTsNCg0KCQkJCWlmICggdmFsdWUgIT0gbnVsbCApIHsNCgkJCQkJcmV0LnB1c2goIHZhbHVlICk7DQoJCQkJfQ0KCQkJfQ0KDQoJCS8vIEdvIHRocm91Z2ggZXZlcnkga2V5IG9uIHRoZSBvYmplY3QsDQoJCX0gZWxzZSB7DQoJCQlmb3IgKCBpIGluIGVsZW1zICkgew0KCQkJCXZhbHVlID0gY2FsbGJhY2soIGVsZW1zWyBpIF0sIGksIGFyZyApOw0KDQoJCQkJaWYgKCB2YWx1ZSAhPSBudWxsICkgew0KCQkJCQlyZXQucHVzaCggdmFsdWUgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQkvLyBGbGF0dGVuIGFueSBuZXN0ZWQgYXJyYXlzDQoJCXJldHVybiBjb25jYXQuYXBwbHkoIFtdLCByZXQgKTsNCgl9LA0KDQoJLy8gQSBnbG9iYWwgR1VJRCBjb3VudGVyIGZvciBvYmplY3RzDQoJZ3VpZDogMSwNCg0KCS8vIEJpbmQgYSBmdW5jdGlvbiB0byBhIGNvbnRleHQsIG9wdGlvbmFsbHkgcGFydGlhbGx5IGFwcGx5aW5nIGFueQ0KCS8vIGFyZ3VtZW50cy4NCglwcm94eTogZnVuY3Rpb24oIGZuLCBjb250ZXh0ICkgew0KCQl2YXIgdG1wLCBhcmdzLCBwcm94eTsNCg0KCQlpZiAoIHR5cGVvZiBjb250ZXh0ID09PSAic3RyaW5nIiApIHsNCgkJCXRtcCA9IGZuWyBjb250ZXh0IF07DQoJCQljb250ZXh0ID0gZm47DQoJCQlmbiA9IHRtcDsNCgkJfQ0KDQoJCS8vIFF1aWNrIGNoZWNrIHRvIGRldGVybWluZSBpZiB0YXJnZXQgaXMgY2FsbGFibGUsIGluIHRoZSBzcGVjDQoJCS8vIHRoaXMgdGhyb3dzIGEgVHlwZUVycm9yLCBidXQgd2Ugd2lsbCBqdXN0IHJldHVybiB1bmRlZmluZWQuDQoJCWlmICggIWpRdWVyeS5pc0Z1bmN0aW9uKCBmbiApICkgew0KCQkJcmV0dXJuIHVuZGVmaW5lZDsNCgkJfQ0KDQoJCS8vIFNpbXVsYXRlZCBiaW5kDQoJCWFyZ3MgPSBzbGljZS5jYWxsKCBhcmd1bWVudHMsIDIgKTsNCgkJcHJveHkgPSBmdW5jdGlvbigpIHsNCgkJCXJldHVybiBmbi5hcHBseSggY29udGV4dCB8fCB0aGlzLCBhcmdzLmNvbmNhdCggc2xpY2UuY2FsbCggYXJndW1lbnRzICkgKSApOw0KCQl9Ow0KDQoJCS8vIFNldCB0aGUgZ3VpZCBvZiB1bmlxdWUgaGFuZGxlciB0byB0aGUgc2FtZSBvZiBvcmlnaW5hbCBoYW5kbGVyLCBzbyBpdCBjYW4gYmUgcmVtb3ZlZA0KCQlwcm94eS5ndWlkID0gZm4uZ3VpZCA9IGZuLmd1aWQgfHwgalF1ZXJ5Lmd1aWQrKzsNCg0KCQlyZXR1cm4gcHJveHk7DQoJfSwNCg0KCW5vdzogRGF0ZS5ub3csDQoNCgkvLyBqUXVlcnkuc3VwcG9ydCBpcyBub3QgdXNlZCBpbiBDb3JlIGJ1dCBvdGhlciBwcm9qZWN0cyBhdHRhY2ggdGhlaXINCgkvLyBwcm9wZXJ0aWVzIHRvIGl0IHNvIGl0IG5lZWRzIHRvIGV4aXN0Lg0KCXN1cHBvcnQ6IHN1cHBvcnQNCn0gKTsNCg0KaWYgKCB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICkgew0KCWpRdWVyeS5mblsgU3ltYm9sLml0ZXJhdG9yIF0gPSBhcnJbIFN5bWJvbC5pdGVyYXRvciBdOw0KfQ0KDQovLyBQb3B1bGF0ZSB0aGUgY2xhc3MydHlwZSBtYXANCmpRdWVyeS5lYWNoKCAiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCAiICIgKSwNCmZ1bmN0aW9uKCBpLCBuYW1lICkgew0KCWNsYXNzMnR5cGVbICJbb2JqZWN0ICIgKyBuYW1lICsgIl0iIF0gPSBuYW1lLnRvTG93ZXJDYXNlKCk7DQp9ICk7DQoNCmZ1bmN0aW9uIGlzQXJyYXlMaWtlKCBvYmogKSB7DQoNCgkvLyBTdXBwb3J0OiByZWFsIGlPUyA4LjIgb25seSAobm90IHJlcHJvZHVjaWJsZSBpbiBzaW11bGF0b3IpDQoJLy8gYGluYCBjaGVjayB1c2VkIHRvIHByZXZlbnQgSklUIGVycm9yIChnaC0yMTQ1KQ0KCS8vIGhhc093biBpc24ndCB1c2VkIGhlcmUgZHVlIHRvIGZhbHNlIG5lZ2F0aXZlcw0KCS8vIHJlZ2FyZGluZyBOb2RlbGlzdCBsZW5ndGggaW4gSUUNCgl2YXIgbGVuZ3RoID0gISFvYmogJiYgImxlbmd0aCIgaW4gb2JqICYmIG9iai5sZW5ndGgsDQoJCXR5cGUgPSBqUXVlcnkudHlwZSggb2JqICk7DQoNCglpZiAoIHR5cGUgPT09ICJmdW5jdGlvbiIgfHwgalF1ZXJ5LmlzV2luZG93KCBvYmogKSApIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCg0KCXJldHVybiB0eXBlID09PSAiYXJyYXkiIHx8IGxlbmd0aCA9PT0gMCB8fA0KCQl0eXBlb2YgbGVuZ3RoID09PSAibnVtYmVyIiAmJiBsZW5ndGggPiAwICYmICggbGVuZ3RoIC0gMSApIGluIG9iajsNCn0NCnZhciBTaXp6bGUgPQ0KLyohDQogKiBTaXp6bGUgQ1NTIFNlbGVjdG9yIEVuZ2luZSB2Mi4zLjMNCiAqIGh0dHBzOi8vc2l6emxlanMuY29tLw0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UNCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqDQogKiBEYXRlOiAyMDE2LTA4LTA4DQogKi8NCihmdW5jdGlvbiggd2luZG93ICkgew0KDQp2YXIgaSwNCglzdXBwb3J0LA0KCUV4cHIsDQoJZ2V0VGV4dCwNCglpc1hNTCwNCgl0b2tlbml6ZSwNCgljb21waWxlLA0KCXNlbGVjdCwNCglvdXRlcm1vc3RDb250ZXh0LA0KCXNvcnRJbnB1dCwNCgloYXNEdXBsaWNhdGUsDQoNCgkvLyBMb2NhbCBkb2N1bWVudCB2YXJzDQoJc2V0RG9jdW1lbnQsDQoJZG9jdW1lbnQsDQoJZG9jRWxlbSwNCglkb2N1bWVudElzSFRNTCwNCglyYnVnZ3lRU0EsDQoJcmJ1Z2d5TWF0Y2hlcywNCgltYXRjaGVzLA0KCWNvbnRhaW5zLA0KDQoJLy8gSW5zdGFuY2Utc3BlY2lmaWMgZGF0YQ0KCWV4cGFuZG8gPSAic2l6emxlIiArIDEgKiBuZXcgRGF0ZSgpLA0KCXByZWZlcnJlZERvYyA9IHdpbmRvdy5kb2N1bWVudCwNCglkaXJydW5zID0gMCwNCglkb25lID0gMCwNCgljbGFzc0NhY2hlID0gY3JlYXRlQ2FjaGUoKSwNCgl0b2tlbkNhY2hlID0gY3JlYXRlQ2FjaGUoKSwNCgljb21waWxlckNhY2hlID0gY3JlYXRlQ2FjaGUoKSwNCglzb3J0T3JkZXIgPSBmdW5jdGlvbiggYSwgYiApIHsNCgkJaWYgKCBhID09PSBiICkgew0KCQkJaGFzRHVwbGljYXRlID0gdHJ1ZTsNCgkJfQ0KCQlyZXR1cm4gMDsNCgl9LA0KDQoJLy8gSW5zdGFuY2UgbWV0aG9kcw0KCWhhc093biA9ICh7fSkuaGFzT3duUHJvcGVydHksDQoJYXJyID0gW10sDQoJcG9wID0gYXJyLnBvcCwNCglwdXNoX25hdGl2ZSA9IGFyci5wdXNoLA0KCXB1c2ggPSBhcnIucHVzaCwNCglzbGljZSA9IGFyci5zbGljZSwNCgkvLyBVc2UgYSBzdHJpcHBlZC1kb3duIGluZGV4T2YgYXMgaXQncyBmYXN0ZXIgdGhhbiBuYXRpdmUNCgkvLyBodHRwczovL2pzcGVyZi5jb20vdGhvci1pbmRleG9mLXZzLWZvci81DQoJaW5kZXhPZiA9IGZ1bmN0aW9uKCBsaXN0LCBlbGVtICkgew0KCQl2YXIgaSA9IDAsDQoJCQlsZW4gPSBsaXN0Lmxlbmd0aDsNCgkJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7DQoJCQlpZiAoIGxpc3RbaV0gPT09IGVsZW0gKSB7DQoJCQkJcmV0dXJuIGk7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIC0xOw0KCX0sDQoNCglib29sZWFucyA9ICJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsDQoNCgkvLyBSZWd1bGFyIGV4cHJlc3Npb25zDQoNCgkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXNlbGVjdG9ycy8jd2hpdGVzcGFjZQ0KCXdoaXRlc3BhY2UgPSAiW1xceDIwXFx0XFxyXFxuXFxmXSIsDQoNCgkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9zeW5kYXRhLmh0bWwjdmFsdWUtZGVmLWlkZW50aWZpZXINCglpZGVudGlmaWVyID0gIig_OlxcXFwufFtcXHctXXxbXlwwLVxceGEwXSkrIiwNCg0KCS8vIEF0dHJpYnV0ZSBzZWxlY3RvcnM6IGh0dHA6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy8jYXR0cmlidXRlLXNlbGVjdG9ycw0KCWF0dHJpYnV0ZXMgPSAiXFxbIiArIHdoaXRlc3BhY2UgKyAiKigiICsgaWRlbnRpZmllciArICIpKD86IiArIHdoaXRlc3BhY2UgKw0KCQkvLyBPcGVyYXRvciAoY2FwdHVyZSAyKQ0KCQkiKihbKl4kfCF-XT89KSIgKyB3aGl0ZXNwYWNlICsNCgkJLy8gIkF0dHJpYnV0ZSB2YWx1ZXMgbXVzdCBiZSBDU1MgaWRlbnRpZmllcnMgW2NhcHR1cmUgNV0gb3Igc3RyaW5ncyBbY2FwdHVyZSAzIG9yIGNhcHR1cmUgNF0iDQoJCSIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIgKyBpZGVudGlmaWVyICsgIikpfCkiICsgd2hpdGVzcGFjZSArDQoJCSIqXFxdIiwNCg0KCXBzZXVkb3MgPSAiOigiICsgaWRlbnRpZmllciArICIpKD86XFwoKCIgKw0KCQkvLyBUbyByZWR1Y2UgdGhlIG51bWJlciBvZiBzZWxlY3RvcnMgbmVlZGluZyB0b2tlbml6ZSBpbiB0aGUgcHJlRmlsdGVyLCBwcmVmZXIgYXJndW1lbnRzOg0KCQkvLyAxLiBxdW90ZWQgKGNhcHR1cmUgMzsgY2FwdHVyZSA0IG9yIGNhcHR1cmUgNSkNCgkJIignKCg_OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8IiArDQoJCS8vIDIuIHNpbXBsZSAoY2FwdHVyZSA2KQ0KCQkiKCg_OlxcXFwufFteXFxcXCgpW1xcXV18IiArIGF0dHJpYnV0ZXMgKyAiKSopfCIgKw0KCQkvLyAzLiBhbnl0aGluZyBlbHNlIChjYXB0dXJlIDIpDQoJCSIuKiIgKw0KCQkiKVxcKXwpIiwNCg0KCS8vIExlYWRpbmcgYW5kIG5vbi1lc2NhcGVkIHRyYWlsaW5nIHdoaXRlc3BhY2UsIGNhcHR1cmluZyBzb21lIG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlcnMgcHJlY2VkaW5nIHRoZSBsYXR0ZXINCglyd2hpdGVzcGFjZSA9IG5ldyBSZWdFeHAoIHdoaXRlc3BhY2UgKyAiKyIsICJnIiApLA0KCXJ0cmltID0gbmV3IFJlZ0V4cCggIl4iICsgd2hpdGVzcGFjZSArICIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiICsgd2hpdGVzcGFjZSArICIrJCIsICJnIiApLA0KDQoJcmNvbW1hID0gbmV3IFJlZ0V4cCggIl4iICsgd2hpdGVzcGFjZSArICIqLCIgKyB3aGl0ZXNwYWNlICsgIioiICksDQoJcmNvbWJpbmF0b3JzID0gbmV3IFJlZ0V4cCggIl4iICsgd2hpdGVzcGFjZSArICIqKFs-K35dfCIgKyB3aGl0ZXNwYWNlICsgIikiICsgd2hpdGVzcGFjZSArICIqIiApLA0KDQoJcmF0dHJpYnV0ZVF1b3RlcyA9IG5ldyBSZWdFeHAoICI9IiArIHdoaXRlc3BhY2UgKyAiKihbXlxcXSdcIl0qPykiICsgd2hpdGVzcGFjZSArICIqXFxdIiwgImciICksDQoNCglycHNldWRvID0gbmV3IFJlZ0V4cCggcHNldWRvcyApLA0KCXJpZGVudGlmaWVyID0gbmV3IFJlZ0V4cCggIl4iICsgaWRlbnRpZmllciArICIkIiApLA0KDQoJbWF0Y2hFeHByID0gew0KCQkiSUQiOiBuZXcgUmVnRXhwKCAiXiMoIiArIGlkZW50aWZpZXIgKyAiKSIgKSwNCgkJIkNMQVNTIjogbmV3IFJlZ0V4cCggIl5cXC4oIiArIGlkZW50aWZpZXIgKyAiKSIgKSwNCgkJIlRBRyI6IG5ldyBSZWdFeHAoICJeKCIgKyBpZGVudGlmaWVyICsgInxbKl0pIiApLA0KCQkiQVRUUiI6IG5ldyBSZWdFeHAoICJeIiArIGF0dHJpYnV0ZXMgKSwNCgkJIlBTRVVETyI6IG5ldyBSZWdFeHAoICJeIiArIHBzZXVkb3MgKSwNCgkJIkNISUxEIjogbmV3IFJlZ0V4cCggIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg_OlxcKCIgKyB3aGl0ZXNwYWNlICsNCgkJCSIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIiArIHdoaXRlc3BhY2UgKyAiKig_OihbKy1dfCkiICsgd2hpdGVzcGFjZSArDQoJCQkiKihcXGQrKXwpKSIgKyB3aGl0ZXNwYWNlICsgIipcXCl8KSIsICJpIiApLA0KCQkiYm9vbCI6IG5ldyBSZWdFeHAoICJeKD86IiArIGJvb2xlYW5zICsgIikkIiwgImkiICksDQoJCS8vIEZvciB1c2UgaW4gbGlicmFyaWVzIGltcGxlbWVudGluZyAuaXMoKQ0KCQkvLyBXZSB1c2UgdGhpcyBmb3IgUE9TIG1hdGNoaW5nIGluIGBzZWxlY3RgDQoJCSJuZWVkc0NvbnRleHQiOiBuZXcgUmVnRXhwKCAiXiIgKyB3aGl0ZXNwYWNlICsgIipbPit-XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg_OlxcKCIgKw0KCQkJd2hpdGVzcGFjZSArICIqKCg_Oi1cXGQpP1xcZCopIiArIHdoaXRlc3BhY2UgKyAiKlxcKXwpKD89W14tXXwkKSIsICJpIiApDQoJfSwNCg0KCXJpbnB1dHMgPSAvXig_OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLA0KCXJoZWFkZXIgPSAvXmhcZCQvaSwNCg0KCXJuYXRpdmUgPSAvXltee10rXHtccypcW25hdGl2ZSBcdy8sDQoNCgkvLyBFYXNpbHktcGFyc2VhYmxlL3JldHJpZXZhYmxlIElEIG9yIFRBRyBvciBDTEFTUyBzZWxlY3RvcnMNCglycXVpY2tFeHByID0gL14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLywNCg0KCXJzaWJsaW5nID0gL1srfl0vLA0KDQoJLy8gQ1NTIGVzY2FwZXMNCgkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9zeW5kYXRhLmh0bWwjZXNjYXBlZC1jaGFyYWN0ZXJzDQoJcnVuZXNjYXBlID0gbmV3IFJlZ0V4cCggIlxcXFwoW1xcZGEtZl17MSw2fSIgKyB3aGl0ZXNwYWNlICsgIj98KCIgKyB3aGl0ZXNwYWNlICsgIil8LikiLCAiaWciICksDQoJZnVuZXNjYXBlID0gZnVuY3Rpb24oIF8sIGVzY2FwZWQsIGVzY2FwZWRXaGl0ZXNwYWNlICkgew0KCQl2YXIgaGlnaCA9ICIweCIgKyBlc2NhcGVkIC0gMHgxMDAwMDsNCgkJLy8gTmFOIG1lYW5zIG5vbi1jb2RlcG9pbnQNCgkJLy8gU3VwcG9ydDogRmlyZWZveDwyNA0KCQkvLyBXb3JrYXJvdW5kIGVycm9uZW91cyBudW1lcmljIGludGVycHJldGF0aW9uIG9mICsiMHgiDQoJCXJldHVybiBoaWdoICE9PSBoaWdoIHx8IGVzY2FwZWRXaGl0ZXNwYWNlID8NCgkJCWVzY2FwZWQgOg0KCQkJaGlnaCA8IDAgPw0KCQkJCS8vIEJNUCBjb2RlcG9pbnQNCgkJCQlTdHJpbmcuZnJvbUNoYXJDb2RlKCBoaWdoICsgMHgxMDAwMCApIDoNCgkJCQkvLyBTdXBwbGVtZW50YWwgUGxhbmUgY29kZXBvaW50IChzdXJyb2dhdGUgcGFpcikNCgkJCQlTdHJpbmcuZnJvbUNoYXJDb2RlKCBoaWdoID4-IDEwIHwgMHhEODAwLCBoaWdoICYgMHgzRkYgfCAweERDMDAgKTsNCgl9LA0KDQoJLy8gQ1NTIHN0cmluZy9pZGVudGlmaWVyIHNlcmlhbGl6YXRpb24NCgkvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20vI2NvbW1vbi1zZXJpYWxpemluZy1pZGlvbXMNCglyY3NzZXNjYXBlID0gLyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15cMC1ceDFmXHg3Zi1cdUZGRkZcdy1dL2csDQoJZmNzc2VzY2FwZSA9IGZ1bmN0aW9uKCBjaCwgYXNDb2RlUG9pbnQgKSB7DQoJCWlmICggYXNDb2RlUG9pbnQgKSB7DQoNCgkJCS8vIFUrMDAwMCBOVUxMIGJlY29tZXMgVStGRkZEIFJFUExBQ0VNRU5UIENIQVJBQ1RFUg0KCQkJaWYgKCBjaCA9PT0gIlwwIiApIHsNCgkJCQlyZXR1cm4gIlx1RkZGRCI7DQoJCQl9DQoNCgkJCS8vIENvbnRyb2wgY2hhcmFjdGVycyBhbmQgKGRlcGVuZGVudCB1cG9uIHBvc2l0aW9uKSBudW1iZXJzIGdldCBlc2NhcGVkIGFzIGNvZGUgcG9pbnRzDQoJCQlyZXR1cm4gY2guc2xpY2UoIDAsIC0xICkgKyAiXFwiICsgY2guY2hhckNvZGVBdCggY2gubGVuZ3RoIC0gMSApLnRvU3RyaW5nKCAxNiApICsgIiAiOw0KCQl9DQoNCgkJLy8gT3RoZXIgcG90ZW50aWFsbHktc3BlY2lhbCBBU0NJSSBjaGFyYWN0ZXJzIGdldCBiYWNrc2xhc2gtZXNjYXBlZA0KCQlyZXR1cm4gIlxcIiArIGNoOw0KCX0sDQoNCgkvLyBVc2VkIGZvciBpZnJhbWVzDQoJLy8gU2VlIHNldERvY3VtZW50KCkNCgkvLyBSZW1vdmluZyB0aGUgZnVuY3Rpb24gd3JhcHBlciBjYXVzZXMgYSAiUGVybWlzc2lvbiBEZW5pZWQiDQoJLy8gZXJyb3IgaW4gSUUNCgl1bmxvYWRIYW5kbGVyID0gZnVuY3Rpb24oKSB7DQoJCXNldERvY3VtZW50KCk7DQoJfSwNCg0KCWRpc2FibGVkQW5jZXN0b3IgPSBhZGRDb21iaW5hdG9yKA0KCQlmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiBlbGVtLmRpc2FibGVkID09PSB0cnVlICYmICgiZm9ybSIgaW4gZWxlbSB8fCAibGFiZWwiIGluIGVsZW0pOw0KCQl9LA0KCQl7IGRpcjogInBhcmVudE5vZGUiLCBuZXh0OiAibGVnZW5kIiB9DQoJKTsNCg0KLy8gT3B0aW1pemUgZm9yIHB1c2guYXBwbHkoIF8sIE5vZGVMaXN0ICkNCnRyeSB7DQoJcHVzaC5hcHBseSgNCgkJKGFyciA9IHNsaWNlLmNhbGwoIHByZWZlcnJlZERvYy5jaGlsZE5vZGVzICkpLA0KCQlwcmVmZXJyZWREb2MuY2hpbGROb2Rlcw0KCSk7DQoJLy8gU3VwcG9ydDogQW5kcm9pZDw0LjANCgkvLyBEZXRlY3Qgc2lsZW50bHkgZmFpbGluZyBwdXNoLmFwcGx5DQoJYXJyWyBwcmVmZXJyZWREb2MuY2hpbGROb2Rlcy5sZW5ndGggXS5ub2RlVHlwZTsNCn0gY2F0Y2ggKCBlICkgew0KCXB1c2ggPSB7IGFwcGx5OiBhcnIubGVuZ3RoID8NCg0KCQkvLyBMZXZlcmFnZSBzbGljZSBpZiBwb3NzaWJsZQ0KCQlmdW5jdGlvbiggdGFyZ2V0LCBlbHMgKSB7DQoJCQlwdXNoX25hdGl2ZS5hcHBseSggdGFyZ2V0LCBzbGljZS5jYWxsKGVscykgKTsNCgkJfSA6DQoNCgkJLy8gU3VwcG9ydDogSUU8OQ0KCQkvLyBPdGhlcndpc2UgYXBwZW5kIGRpcmVjdGx5DQoJCWZ1bmN0aW9uKCB0YXJnZXQsIGVscyApIHsNCgkJCXZhciBqID0gdGFyZ2V0Lmxlbmd0aCwNCgkJCQlpID0gMDsNCgkJCS8vIENhbid0IHRydXN0IE5vZGVMaXN0Lmxlbmd0aA0KCQkJd2hpbGUgKCAodGFyZ2V0W2orK10gPSBlbHNbaSsrXSkgKSB7fQ0KCQkJdGFyZ2V0Lmxlbmd0aCA9IGogLSAxOw0KCQl9DQoJfTsNCn0NCg0KZnVuY3Rpb24gU2l6emxlKCBzZWxlY3RvciwgY29udGV4dCwgcmVzdWx0cywgc2VlZCApIHsNCgl2YXIgbSwgaSwgZWxlbSwgbmlkLCBtYXRjaCwgZ3JvdXBzLCBuZXdTZWxlY3RvciwNCgkJbmV3Q29udGV4dCA9IGNvbnRleHQgJiYgY29udGV4dC5vd25lckRvY3VtZW50LA0KDQoJCS8vIG5vZGVUeXBlIGRlZmF1bHRzIHRvIDksIHNpbmNlIGNvbnRleHQgZGVmYXVsdHMgdG8gZG9jdW1lbnQNCgkJbm9kZVR5cGUgPSBjb250ZXh0ID8gY29udGV4dC5ub2RlVHlwZSA6IDk7DQoNCglyZXN1bHRzID0gcmVzdWx0cyB8fCBbXTsNCg0KCS8vIFJldHVybiBlYXJseSBmcm9tIGNhbGxzIHdpdGggaW52YWxpZCBzZWxlY3RvciBvciBjb250ZXh0DQoJaWYgKCB0eXBlb2Ygc2VsZWN0b3IgIT09ICJzdHJpbmciIHx8ICFzZWxlY3RvciB8fA0KCQlub2RlVHlwZSAhPT0gMSAmJiBub2RlVHlwZSAhPT0gOSAmJiBub2RlVHlwZSAhPT0gMTEgKSB7DQoNCgkJcmV0dXJuIHJlc3VsdHM7DQoJfQ0KDQoJLy8gVHJ5IHRvIHNob3J0Y3V0IGZpbmQgb3BlcmF0aW9ucyAoYXMgb3Bwb3NlZCB0byBmaWx0ZXJzKSBpbiBIVE1MIGRvY3VtZW50cw0KCWlmICggIXNlZWQgKSB7DQoNCgkJaWYgKCAoIGNvbnRleHQgPyBjb250ZXh0Lm93bmVyRG9jdW1lbnQgfHwgY29udGV4dCA6IHByZWZlcnJlZERvYyApICE9PSBkb2N1bWVudCApIHsNCgkJCXNldERvY3VtZW50KCBjb250ZXh0ICk7DQoJCX0NCgkJY29udGV4dCA9IGNvbnRleHQgfHwgZG9jdW1lbnQ7DQoNCgkJaWYgKCBkb2N1bWVudElzSFRNTCApIHsNCg0KCQkJLy8gSWYgdGhlIHNlbGVjdG9yIGlzIHN1ZmZpY2llbnRseSBzaW1wbGUsIHRyeSB1c2luZyBhICJnZXQqQnkqIiBET00gbWV0aG9kDQoJCQkvLyAoZXhjZXB0aW5nIERvY3VtZW50RnJhZ21lbnQgY29udGV4dCwgd2hlcmUgdGhlIG1ldGhvZHMgZG9uJ3QgZXhpc3QpDQoJCQlpZiAoIG5vZGVUeXBlICE9PSAxMSAmJiAobWF0Y2ggPSBycXVpY2tFeHByLmV4ZWMoIHNlbGVjdG9yICkpICkgew0KDQoJCQkJLy8gSUQgc2VsZWN0b3INCgkJCQlpZiAoIChtID0gbWF0Y2hbMV0pICkgew0KDQoJCQkJCS8vIERvY3VtZW50IGNvbnRleHQNCgkJCQkJaWYgKCBub2RlVHlwZSA9PT0gOSApIHsNCgkJCQkJCWlmICggKGVsZW0gPSBjb250ZXh0LmdldEVsZW1lbnRCeUlkKCBtICkpICkgew0KDQoJCQkJCQkJLy8gU3VwcG9ydDogSUUsIE9wZXJhLCBXZWJraXQNCgkJCQkJCQkvLyBUT0RPOiBpZGVudGlmeSB2ZXJzaW9ucw0KCQkJCQkJCS8vIGdldEVsZW1lbnRCeUlkIGNhbiBtYXRjaCBlbGVtZW50cyBieSBuYW1lIGluc3RlYWQgb2YgSUQNCgkJCQkJCQlpZiAoIGVsZW0uaWQgPT09IG0gKSB7DQoJCQkJCQkJCXJlc3VsdHMucHVzaCggZWxlbSApOw0KCQkJCQkJCQlyZXR1cm4gcmVzdWx0czsNCgkJCQkJCQl9DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCXJldHVybiByZXN1bHRzOw0KCQkJCQkJfQ0KDQoJCQkJCS8vIEVsZW1lbnQgY29udGV4dA0KCQkJCQl9IGVsc2Ugew0KDQoJCQkJCQkvLyBTdXBwb3J0OiBJRSwgT3BlcmEsIFdlYmtpdA0KCQkJCQkJLy8gVE9ETzogaWRlbnRpZnkgdmVyc2lvbnMNCgkJCQkJCS8vIGdldEVsZW1lbnRCeUlkIGNhbiBtYXRjaCBlbGVtZW50cyBieSBuYW1lIGluc3RlYWQgb2YgSUQNCgkJCQkJCWlmICggbmV3Q29udGV4dCAmJiAoZWxlbSA9IG5ld0NvbnRleHQuZ2V0RWxlbWVudEJ5SWQoIG0gKSkgJiYNCgkJCQkJCQljb250YWlucyggY29udGV4dCwgZWxlbSApICYmDQoJCQkJCQkJZWxlbS5pZCA9PT0gbSApIHsNCg0KCQkJCQkJCXJlc3VsdHMucHVzaCggZWxlbSApOw0KCQkJCQkJCXJldHVybiByZXN1bHRzOw0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkvLyBUeXBlIHNlbGVjdG9yDQoJCQkJfSBlbHNlIGlmICggbWF0Y2hbMl0gKSB7DQoJCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIHNlbGVjdG9yICkgKTsNCgkJCQkJcmV0dXJuIHJlc3VsdHM7DQoNCgkJCQkvLyBDbGFzcyBzZWxlY3Rvcg0KCQkJCX0gZWxzZSBpZiAoIChtID0gbWF0Y2hbM10pICYmIHN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAmJg0KCQkJCQljb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUgKSB7DQoNCgkJCQkJcHVzaC5hcHBseSggcmVzdWx0cywgY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCBtICkgKTsNCgkJCQkJcmV0dXJuIHJlc3VsdHM7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBUYWtlIGFkdmFudGFnZSBvZiBxdWVyeVNlbGVjdG9yQWxsDQoJCQlpZiAoIHN1cHBvcnQucXNhICYmDQoJCQkJIWNvbXBpbGVyQ2FjaGVbIHNlbGVjdG9yICsgIiAiIF0gJiYNCgkJCQkoIXJidWdneVFTQSB8fCAhcmJ1Z2d5UVNBLnRlc3QoIHNlbGVjdG9yICkpICkgew0KDQoJCQkJaWYgKCBub2RlVHlwZSAhPT0gMSApIHsNCgkJCQkJbmV3Q29udGV4dCA9IGNvbnRleHQ7DQoJCQkJCW5ld1NlbGVjdG9yID0gc2VsZWN0b3I7DQoNCgkJCQkvLyBxU0EgbG9va3Mgb3V0c2lkZSBFbGVtZW50IGNvbnRleHQsIHdoaWNoIGlzIG5vdCB3aGF0IHdlIHdhbnQNCgkJCQkvLyBUaGFua3MgdG8gQW5kcmV3IER1cG9udCBmb3IgdGhpcyB3b3JrYXJvdW5kIHRlY2huaXF1ZQ0KCQkJCS8vIFN1cHBvcnQ6IElFIDw9OA0KCQkJCS8vIEV4Y2x1ZGUgb2JqZWN0IGVsZW1lbnRzDQoJCQkJfSBlbHNlIGlmICggY29udGV4dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAib2JqZWN0IiApIHsNCg0KCQkJCQkvLyBDYXB0dXJlIHRoZSBjb250ZXh0IElELCBzZXR0aW5nIGl0IGZpcnN0IGlmIG5lY2Vzc2FyeQ0KCQkJCQlpZiAoIChuaWQgPSBjb250ZXh0LmdldEF0dHJpYnV0ZSggImlkIiApKSApIHsNCgkJCQkJCW5pZCA9IG5pZC5yZXBsYWNlKCByY3NzZXNjYXBlLCBmY3NzZXNjYXBlICk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQljb250ZXh0LnNldEF0dHJpYnV0ZSggImlkIiwgKG5pZCA9IGV4cGFuZG8pICk7DQoJCQkJCX0NCg0KCQkJCQkvLyBQcmVmaXggZXZlcnkgc2VsZWN0b3IgaW4gdGhlIGxpc3QNCgkJCQkJZ3JvdXBzID0gdG9rZW5pemUoIHNlbGVjdG9yICk7DQoJCQkJCWkgPSBncm91cHMubGVuZ3RoOw0KCQkJCQl3aGlsZSAoIGktLSApIHsNCgkJCQkJCWdyb3Vwc1tpXSA9ICIjIiArIG5pZCArICIgIiArIHRvU2VsZWN0b3IoIGdyb3Vwc1tpXSApOw0KCQkJCQl9DQoJCQkJCW5ld1NlbGVjdG9yID0gZ3JvdXBzLmpvaW4oICIsIiApOw0KDQoJCQkJCS8vIEV4cGFuZCBjb250ZXh0IGZvciBzaWJsaW5nIHNlbGVjdG9ycw0KCQkJCQluZXdDb250ZXh0ID0gcnNpYmxpbmcudGVzdCggc2VsZWN0b3IgKSAmJiB0ZXN0Q29udGV4dCggY29udGV4dC5wYXJlbnROb2RlICkgfHwNCgkJCQkJCWNvbnRleHQ7DQoJCQkJfQ0KDQoJCQkJaWYgKCBuZXdTZWxlY3RvciApIHsNCgkJCQkJdHJ5IHsNCgkJCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsDQoJCQkJCQkJbmV3Q29udGV4dC5xdWVyeVNlbGVjdG9yQWxsKCBuZXdTZWxlY3RvciApDQoJCQkJCQkpOw0KCQkJCQkJcmV0dXJuIHJlc3VsdHM7DQoJCQkJCX0gY2F0Y2ggKCBxc2FFcnJvciApIHsNCgkJCQkJfSBmaW5hbGx5IHsNCgkJCQkJCWlmICggbmlkID09PSBleHBhbmRvICkgew0KCQkJCQkJCWNvbnRleHQucmVtb3ZlQXR0cmlidXRlKCAiaWQiICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCgkvLyBBbGwgb3RoZXJzDQoJcmV0dXJuIHNlbGVjdCggc2VsZWN0b3IucmVwbGFjZSggcnRyaW0sICIkMSIgKSwgY29udGV4dCwgcmVzdWx0cywgc2VlZCApOw0KfQ0KDQovKioNCiAqIENyZWF0ZSBrZXktdmFsdWUgY2FjaGVzIG9mIGxpbWl0ZWQgc2l6ZQ0KICogQHJldHVybnMge2Z1bmN0aW9uKHN0cmluZywgb2JqZWN0KX0gUmV0dXJucyB0aGUgT2JqZWN0IGRhdGEgYWZ0ZXIgc3RvcmluZyBpdCBvbiBpdHNlbGYgd2l0aA0KICoJcHJvcGVydHkgbmFtZSB0aGUgKHNwYWNlLXN1ZmZpeGVkKSBzdHJpbmcgYW5kIChpZiB0aGUgY2FjaGUgaXMgbGFyZ2VyIHRoYW4gRXhwci5jYWNoZUxlbmd0aCkNCiAqCWRlbGV0aW5nIHRoZSBvbGRlc3QgZW50cnkNCiAqLw0KZnVuY3Rpb24gY3JlYXRlQ2FjaGUoKSB7DQoJdmFyIGtleXMgPSBbXTsNCg0KCWZ1bmN0aW9uIGNhY2hlKCBrZXksIHZhbHVlICkgew0KCQkvLyBVc2UgKGtleSArICIgIikgdG8gYXZvaWQgY29sbGlzaW9uIHdpdGggbmF0aXZlIHByb3RvdHlwZSBwcm9wZXJ0aWVzIChzZWUgSXNzdWUgIzE1NykNCgkJaWYgKCBrZXlzLnB1c2goIGtleSArICIgIiApID4gRXhwci5jYWNoZUxlbmd0aCApIHsNCgkJCS8vIE9ubHkga2VlcCB0aGUgbW9zdCByZWNlbnQgZW50cmllcw0KCQkJZGVsZXRlIGNhY2hlWyBrZXlzLnNoaWZ0KCkgXTsNCgkJfQ0KCQlyZXR1cm4gKGNhY2hlWyBrZXkgKyAiICIgXSA9IHZhbHVlKTsNCgl9DQoJcmV0dXJuIGNhY2hlOw0KfQ0KDQovKioNCiAqIE1hcmsgYSBmdW5jdGlvbiBmb3Igc3BlY2lhbCB1c2UgYnkgU2l6emxlDQogKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBUaGUgZnVuY3Rpb24gdG8gbWFyaw0KICovDQpmdW5jdGlvbiBtYXJrRnVuY3Rpb24oIGZuICkgew0KCWZuWyBleHBhbmRvIF0gPSB0cnVlOw0KCXJldHVybiBmbjsNCn0NCg0KLyoqDQogKiBTdXBwb3J0IHRlc3RpbmcgdXNpbmcgYW4gZWxlbWVudA0KICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gUGFzc2VkIHRoZSBjcmVhdGVkIGVsZW1lbnQgYW5kIHJldHVybnMgYSBib29sZWFuIHJlc3VsdA0KICovDQpmdW5jdGlvbiBhc3NlcnQoIGZuICkgew0KCXZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0Iik7DQoNCgl0cnkgew0KCQlyZXR1cm4gISFmbiggZWwgKTsNCgl9IGNhdGNoIChlKSB7DQoJCXJldHVybiBmYWxzZTsNCgl9IGZpbmFsbHkgew0KCQkvLyBSZW1vdmUgZnJvbSBpdHMgcGFyZW50IGJ5IGRlZmF1bHQNCgkJaWYgKCBlbC5wYXJlbnROb2RlICkgew0KCQkJZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggZWwgKTsNCgkJfQ0KCQkvLyByZWxlYXNlIG1lbW9yeSBpbiBJRQ0KCQllbCA9IG51bGw7DQoJfQ0KfQ0KDQovKioNCiAqIEFkZHMgdGhlIHNhbWUgaGFuZGxlciBmb3IgYWxsIG9mIHRoZSBzcGVjaWZpZWQgYXR0cnMNCiAqIEBwYXJhbSB7U3RyaW5nfSBhdHRycyBQaXBlLXNlcGFyYXRlZCBsaXN0IG9mIGF0dHJpYnV0ZXMNCiAqIEBwYXJhbSB7RnVuY3Rpb259IGhhbmRsZXIgVGhlIG1ldGhvZCB0aGF0IHdpbGwgYmUgYXBwbGllZA0KICovDQpmdW5jdGlvbiBhZGRIYW5kbGUoIGF0dHJzLCBoYW5kbGVyICkgew0KCXZhciBhcnIgPSBhdHRycy5zcGxpdCgifCIpLA0KCQlpID0gYXJyLmxlbmd0aDsNCg0KCXdoaWxlICggaS0tICkgew0KCQlFeHByLmF0dHJIYW5kbGVbIGFycltpXSBdID0gaGFuZGxlcjsNCgl9DQp9DQoNCi8qKg0KICogQ2hlY2tzIGRvY3VtZW50IG9yZGVyIG9mIHR3byBzaWJsaW5ncw0KICogQHBhcmFtIHtFbGVtZW50fSBhDQogKiBAcGFyYW0ge0VsZW1lbnR9IGINCiAqIEByZXR1cm5zIHtOdW1iZXJ9IFJldHVybnMgbGVzcyB0aGFuIDAgaWYgYSBwcmVjZWRlcyBiLCBncmVhdGVyIHRoYW4gMCBpZiBhIGZvbGxvd3MgYg0KICovDQpmdW5jdGlvbiBzaWJsaW5nQ2hlY2soIGEsIGIgKSB7DQoJdmFyIGN1ciA9IGIgJiYgYSwNCgkJZGlmZiA9IGN1ciAmJiBhLm5vZGVUeXBlID09PSAxICYmIGIubm9kZVR5cGUgPT09IDEgJiYNCgkJCWEuc291cmNlSW5kZXggLSBiLnNvdXJjZUluZGV4Ow0KDQoJLy8gVXNlIElFIHNvdXJjZUluZGV4IGlmIGF2YWlsYWJsZSBvbiBib3RoIG5vZGVzDQoJaWYgKCBkaWZmICkgew0KCQlyZXR1cm4gZGlmZjsNCgl9DQoNCgkvLyBDaGVjayBpZiBiIGZvbGxvd3MgYQ0KCWlmICggY3VyICkgew0KCQl3aGlsZSAoIChjdXIgPSBjdXIubmV4dFNpYmxpbmcpICkgew0KCQkJaWYgKCBjdXIgPT09IGIgKSB7DQoJCQkJcmV0dXJuIC0xOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJcmV0dXJuIGEgPyAxIDogLTE7DQp9DQoNCi8qKg0KICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBpbnB1dCB0eXBlcw0KICogQHBhcmFtIHtTdHJpbmd9IHR5cGUNCiAqLw0KZnVuY3Rpb24gY3JlYXRlSW5wdXRQc2V1ZG8oIHR5cGUgKSB7DQoJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQl2YXIgbmFtZSA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJcmV0dXJuIG5hbWUgPT09ICJpbnB1dCIgJiYgZWxlbS50eXBlID09PSB0eXBlOw0KCX07DQp9DQoNCi8qKg0KICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBidXR0b25zDQogKiBAcGFyYW0ge1N0cmluZ30gdHlwZQ0KICovDQpmdW5jdGlvbiBjcmVhdGVCdXR0b25Qc2V1ZG8oIHR5cGUgKSB7DQoJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQl2YXIgbmFtZSA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJcmV0dXJuIChuYW1lID09PSAiaW5wdXQiIHx8IG5hbWUgPT09ICJidXR0b24iKSAmJiBlbGVtLnR5cGUgPT09IHR5cGU7DQoJfTsNCn0NCg0KLyoqDQogKiBSZXR1cm5zIGEgZnVuY3Rpb24gdG8gdXNlIGluIHBzZXVkb3MgZm9yIDplbmFibGVkLzpkaXNhYmxlZA0KICogQHBhcmFtIHtCb29sZWFufSBkaXNhYmxlZCB0cnVlIGZvciA6ZGlzYWJsZWQ7IGZhbHNlIGZvciA6ZW5hYmxlZA0KICovDQpmdW5jdGlvbiBjcmVhdGVEaXNhYmxlZFBzZXVkbyggZGlzYWJsZWQgKSB7DQoNCgkvLyBLbm93biA6ZGlzYWJsZWQgZmFsc2UgcG9zaXRpdmVzOiBmaWVsZHNldFtkaXNhYmxlZF0gPiBsZWdlbmQ6bnRoLW9mLXR5cGUobisyKSA6Y2FuLWRpc2FibGUNCglyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7DQoNCgkJLy8gT25seSBjZXJ0YWluIGVsZW1lbnRzIGNhbiBtYXRjaCA6ZW5hYmxlZCBvciA6ZGlzYWJsZWQNCgkJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjc2VsZWN0b3ItZW5hYmxlZA0KCQkvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNzZWxlY3Rvci1kaXNhYmxlZA0KCQlpZiAoICJmb3JtIiBpbiBlbGVtICkgew0KDQoJCQkvLyBDaGVjayBmb3IgaW5oZXJpdGVkIGRpc2FibGVkbmVzcyBvbiByZWxldmFudCBub24tZGlzYWJsZWQgZWxlbWVudHM6DQoJCQkvLyAqIGxpc3RlZCBmb3JtLWFzc29jaWF0ZWQgZWxlbWVudHMgaW4gYSBkaXNhYmxlZCBmaWVsZHNldA0KCQkJLy8gICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2NhdGVnb3J5LWxpc3RlZA0KCQkJLy8gICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2NvbmNlcHQtZmUtZGlzYWJsZWQNCgkJCS8vICogb3B0aW9uIGVsZW1lbnRzIGluIGEgZGlzYWJsZWQgb3B0Z3JvdXANCgkJCS8vICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNjb25jZXB0LW9wdGlvbi1kaXNhYmxlZA0KCQkJLy8gQWxsIHN1Y2ggZWxlbWVudHMgaGF2ZSBhICJmb3JtIiBwcm9wZXJ0eS4NCgkJCWlmICggZWxlbS5wYXJlbnROb2RlICYmIGVsZW0uZGlzYWJsZWQgPT09IGZhbHNlICkgew0KDQoJCQkJLy8gT3B0aW9uIGVsZW1lbnRzIGRlZmVyIHRvIGEgcGFyZW50IG9wdGdyb3VwIGlmIHByZXNlbnQNCgkJCQlpZiAoICJsYWJlbCIgaW4gZWxlbSApIHsNCgkJCQkJaWYgKCAibGFiZWwiIGluIGVsZW0ucGFyZW50Tm9kZSApIHsNCgkJCQkJCXJldHVybiBlbGVtLnBhcmVudE5vZGUuZGlzYWJsZWQgPT09IGRpc2FibGVkOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJcmV0dXJuIGVsZW0uZGlzYWJsZWQgPT09IGRpc2FibGVkOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJLy8gU3VwcG9ydDogSUUgNiAtIDExDQoJCQkJLy8gVXNlIHRoZSBpc0Rpc2FibGVkIHNob3J0Y3V0IHByb3BlcnR5IHRvIGNoZWNrIGZvciBkaXNhYmxlZCBmaWVsZHNldCBhbmNlc3RvcnMNCgkJCQlyZXR1cm4gZWxlbS5pc0Rpc2FibGVkID09PSBkaXNhYmxlZCB8fA0KDQoJCQkJCS8vIFdoZXJlIHRoZXJlIGlzIG5vIGlzRGlzYWJsZWQsIGNoZWNrIG1hbnVhbGx5DQoJCQkJCS8qIGpzaGludCAtVzAxOCAqLw0KCQkJCQllbGVtLmlzRGlzYWJsZWQgIT09ICFkaXNhYmxlZCAmJg0KCQkJCQkJZGlzYWJsZWRBbmNlc3RvciggZWxlbSApID09PSBkaXNhYmxlZDsNCgkJCX0NCg0KCQkJcmV0dXJuIGVsZW0uZGlzYWJsZWQgPT09IGRpc2FibGVkOw0KDQoJCS8vIFRyeSB0byB3aW5ub3cgb3V0IGVsZW1lbnRzIHRoYXQgY2FuJ3QgYmUgZGlzYWJsZWQgYmVmb3JlIHRydXN0aW5nIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eS4NCgkJLy8gU29tZSB2aWN0aW1zIGdldCBjYXVnaHQgaW4gb3VyIG5ldCAobGFiZWwsIGxlZ2VuZCwgbWVudSwgdHJhY2spLCBidXQgaXQgc2hvdWxkbid0DQoJCS8vIGV2ZW4gZXhpc3Qgb24gdGhlbSwgbGV0IGFsb25lIGhhdmUgYSBib29sZWFuIHZhbHVlLg0KCQl9IGVsc2UgaWYgKCAibGFiZWwiIGluIGVsZW0gKSB7DQoJCQlyZXR1cm4gZWxlbS5kaXNhYmxlZCA9PT0gZGlzYWJsZWQ7DQoJCX0NCg0KCQkvLyBSZW1haW5pbmcgZWxlbWVudHMgYXJlIG5laXRoZXIgOmVuYWJsZWQgbm9yIDpkaXNhYmxlZA0KCQlyZXR1cm4gZmFsc2U7DQoJfTsNCn0NCg0KLyoqDQogKiBSZXR1cm5zIGEgZnVuY3Rpb24gdG8gdXNlIGluIHBzZXVkb3MgZm9yIHBvc2l0aW9uYWxzDQogKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbg0KICovDQpmdW5jdGlvbiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKCBmbiApIHsNCglyZXR1cm4gbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBhcmd1bWVudCApIHsNCgkJYXJndW1lbnQgPSArYXJndW1lbnQ7DQoJCXJldHVybiBtYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHNlZWQsIG1hdGNoZXMgKSB7DQoJCQl2YXIgaiwNCgkJCQltYXRjaEluZGV4ZXMgPSBmbiggW10sIHNlZWQubGVuZ3RoLCBhcmd1bWVudCApLA0KCQkJCWkgPSBtYXRjaEluZGV4ZXMubGVuZ3RoOw0KDQoJCQkvLyBNYXRjaCBlbGVtZW50cyBmb3VuZCBhdCB0aGUgc3BlY2lmaWVkIGluZGV4ZXMNCgkJCXdoaWxlICggaS0tICkgew0KCQkJCWlmICggc2VlZFsgKGogPSBtYXRjaEluZGV4ZXNbaV0pIF0gKSB7DQoJCQkJCXNlZWRbal0gPSAhKG1hdGNoZXNbal0gPSBzZWVkW2pdKTsNCgkJCQl9DQoJCQl9DQoJCX0pOw0KCX0pOw0KfQ0KDQovKioNCiAqIENoZWNrcyBhIG5vZGUgZm9yIHZhbGlkaXR5IGFzIGEgU2l6emxlIGNvbnRleHQNCiAqIEBwYXJhbSB7RWxlbWVudHxPYmplY3Q9fSBjb250ZXh0DQogKiBAcmV0dXJucyB7RWxlbWVudHxPYmplY3R8Qm9vbGVhbn0gVGhlIGlucHV0IG5vZGUgaWYgYWNjZXB0YWJsZSwgb3RoZXJ3aXNlIGEgZmFsc3kgdmFsdWUNCiAqLw0KZnVuY3Rpb24gdGVzdENvbnRleHQoIGNvbnRleHQgKSB7DQoJcmV0dXJuIGNvbnRleHQgJiYgdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgIT09ICJ1bmRlZmluZWQiICYmIGNvbnRleHQ7DQp9DQoNCi8vIEV4cG9zZSBzdXBwb3J0IHZhcnMgZm9yIGNvbnZlbmllbmNlDQpzdXBwb3J0ID0gU2l6emxlLnN1cHBvcnQgPSB7fTsNCg0KLyoqDQogKiBEZXRlY3RzIFhNTCBub2Rlcw0KICogQHBhcmFtIHtFbGVtZW50fE9iamVjdH0gZWxlbSBBbiBlbGVtZW50IG9yIGEgZG9jdW1lbnQNCiAqIEByZXR1cm5zIHtCb29sZWFufSBUcnVlIGlmZiBlbGVtIGlzIGEgbm9uLUhUTUwgWE1MIG5vZGUNCiAqLw0KaXNYTUwgPSBTaXp6bGUuaXNYTUwgPSBmdW5jdGlvbiggZWxlbSApIHsNCgkvLyBkb2N1bWVudEVsZW1lbnQgaXMgdmVyaWZpZWQgZm9yIGNhc2VzIHdoZXJlIGl0IGRvZXNuJ3QgeWV0IGV4aXN0DQoJLy8gKHN1Y2ggYXMgbG9hZGluZyBpZnJhbWVzIGluIElFIC0gIzQ4MzMpDQoJdmFyIGRvY3VtZW50RWxlbWVudCA9IGVsZW0gJiYgKGVsZW0ub3duZXJEb2N1bWVudCB8fCBlbGVtKS5kb2N1bWVudEVsZW1lbnQ7DQoJcmV0dXJuIGRvY3VtZW50RWxlbWVudCA_IGRvY3VtZW50RWxlbWVudC5ub2RlTmFtZSAhPT0gIkhUTUwiIDogZmFsc2U7DQp9Ow0KDQovKioNCiAqIFNldHMgZG9jdW1lbnQtcmVsYXRlZCB2YXJpYWJsZXMgb25jZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkb2N1bWVudA0KICogQHBhcmFtIHtFbGVtZW50fE9iamVjdH0gW2RvY10gQW4gZWxlbWVudCBvciBkb2N1bWVudCBvYmplY3QgdG8gdXNlIHRvIHNldCB0aGUgZG9jdW1lbnQNCiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGN1cnJlbnQgZG9jdW1lbnQNCiAqLw0Kc2V0RG9jdW1lbnQgPSBTaXp6bGUuc2V0RG9jdW1lbnQgPSBmdW5jdGlvbiggbm9kZSApIHsNCgl2YXIgaGFzQ29tcGFyZSwgc3ViV2luZG93LA0KCQlkb2MgPSBub2RlID8gbm9kZS5vd25lckRvY3VtZW50IHx8IG5vZGUgOiBwcmVmZXJyZWREb2M7DQoNCgkvLyBSZXR1cm4gZWFybHkgaWYgZG9jIGlzIGludmFsaWQgb3IgYWxyZWFkeSBzZWxlY3RlZA0KCWlmICggZG9jID09PSBkb2N1bWVudCB8fCBkb2Mubm9kZVR5cGUgIT09IDkgfHwgIWRvYy5kb2N1bWVudEVsZW1lbnQgKSB7DQoJCXJldHVybiBkb2N1bWVudDsNCgl9DQoNCgkvLyBVcGRhdGUgZ2xvYmFsIHZhcmlhYmxlcw0KCWRvY3VtZW50ID0gZG9jOw0KCWRvY0VsZW0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQoJZG9jdW1lbnRJc0hUTUwgPSAhaXNYTUwoIGRvY3VtZW50ICk7DQoNCgkvLyBTdXBwb3J0OiBJRSA5LTExLCBFZGdlDQoJLy8gQWNjZXNzaW5nIGlmcmFtZSBkb2N1bWVudHMgYWZ0ZXIgdW5sb2FkIHRocm93cyAicGVybWlzc2lvbiBkZW5pZWQiIGVycm9ycyAoalF1ZXJ5ICMxMzkzNikNCglpZiAoIHByZWZlcnJlZERvYyAhPT0gZG9jdW1lbnQgJiYNCgkJKHN1YldpbmRvdyA9IGRvY3VtZW50LmRlZmF1bHRWaWV3KSAmJiBzdWJXaW5kb3cudG9wICE9PSBzdWJXaW5kb3cgKSB7DQoNCgkJLy8gU3VwcG9ydDogSUUgMTEsIEVkZ2UNCgkJaWYgKCBzdWJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lciApIHsNCgkJCXN1YldpbmRvdy5hZGRFdmVudExpc3RlbmVyKCAidW5sb2FkIiwgdW5sb2FkSGFuZGxlciwgZmFsc2UgKTsNCg0KCQkvLyBTdXBwb3J0OiBJRSA5IC0gMTAgb25seQ0KCQl9IGVsc2UgaWYgKCBzdWJXaW5kb3cuYXR0YWNoRXZlbnQgKSB7DQoJCQlzdWJXaW5kb3cuYXR0YWNoRXZlbnQoICJvbnVubG9hZCIsIHVubG9hZEhhbmRsZXIgKTsNCgkJfQ0KCX0NCg0KCS8qIEF0dHJpYnV0ZXMNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCgkvLyBTdXBwb3J0OiBJRTw4DQoJLy8gVmVyaWZ5IHRoYXQgZ2V0QXR0cmlidXRlIHJlYWxseSByZXR1cm5zIGF0dHJpYnV0ZXMgYW5kIG5vdCBwcm9wZXJ0aWVzDQoJLy8gKGV4Y2VwdGluZyBJRTggYm9vbGVhbnMpDQoJc3VwcG9ydC5hdHRyaWJ1dGVzID0gYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsNCgkJZWwuY2xhc3NOYW1lID0gImkiOw0KCQlyZXR1cm4gIWVsLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIik7DQoJfSk7DQoNCgkvKiBnZXRFbGVtZW50KHMpQnkqDQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQoJLy8gQ2hlY2sgaWYgZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSByZXR1cm5zIG9ubHkgZWxlbWVudHMNCglzdXBwb3J0LmdldEVsZW1lbnRzQnlUYWdOYW1lID0gYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsNCgkJZWwuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoIiIpICk7DQoJCXJldHVybiAhZWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGg7DQoJfSk7DQoNCgkvLyBTdXBwb3J0OiBJRTw5DQoJc3VwcG9ydC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lID0gcm5hdGl2ZS50ZXN0KCBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICk7DQoNCgkvLyBTdXBwb3J0OiBJRTwxMA0KCS8vIENoZWNrIGlmIGdldEVsZW1lbnRCeUlkIHJldHVybnMgZWxlbWVudHMgYnkgbmFtZQ0KCS8vIFRoZSBicm9rZW4gZ2V0RWxlbWVudEJ5SWQgbWV0aG9kcyBkb24ndCBwaWNrIHVwIHByb2dyYW1tYXRpY2FsbHktc2V0IG5hbWVzLA0KCS8vIHNvIHVzZSBhIHJvdW5kYWJvdXQgZ2V0RWxlbWVudHNCeU5hbWUgdGVzdA0KCXN1cHBvcnQuZ2V0QnlJZCA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJCWRvY0VsZW0uYXBwZW5kQ2hpbGQoIGVsICkuaWQgPSBleHBhbmRvOw0KCQlyZXR1cm4gIWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lIHx8ICFkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSggZXhwYW5kbyApLmxlbmd0aDsNCgl9KTsNCg0KCS8vIElEIGZpbHRlciBhbmQgZmluZA0KCWlmICggc3VwcG9ydC5nZXRCeUlkICkgew0KCQlFeHByLmZpbHRlclsiSUQiXSA9IGZ1bmN0aW9uKCBpZCApIHsNCgkJCXZhciBhdHRySWQgPSBpZC5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApOw0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCXJldHVybiBlbGVtLmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gYXR0cklkOw0KCQkJfTsNCgkJfTsNCgkJRXhwci5maW5kWyJJRCJdID0gZnVuY3Rpb24oIGlkLCBjb250ZXh0ICkgew0KCQkJaWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50QnlJZCAhPT0gInVuZGVmaW5lZCIgJiYgZG9jdW1lbnRJc0hUTUwgKSB7DQoJCQkJdmFyIGVsZW0gPSBjb250ZXh0LmdldEVsZW1lbnRCeUlkKCBpZCApOw0KCQkJCXJldHVybiBlbGVtID8gWyBlbGVtIF0gOiBbXTsNCgkJCX0NCgkJfTsNCgl9IGVsc2Ugew0KCQlFeHByLmZpbHRlclsiSUQiXSA9ICBmdW5jdGlvbiggaWQgKSB7DQoJCQl2YXIgYXR0cklkID0gaWQucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTsNCgkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQl2YXIgbm9kZSA9IHR5cGVvZiBlbGVtLmdldEF0dHJpYnV0ZU5vZGUgIT09ICJ1bmRlZmluZWQiICYmDQoJCQkJCWVsZW0uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTsNCgkJCQlyZXR1cm4gbm9kZSAmJiBub2RlLnZhbHVlID09PSBhdHRySWQ7DQoJCQl9Ow0KCQl9Ow0KDQoJCS8vIFN1cHBvcnQ6IElFIDYgLSA3IG9ubHkNCgkJLy8gZ2V0RWxlbWVudEJ5SWQgaXMgbm90IHJlbGlhYmxlIGFzIGEgZmluZCBzaG9ydGN1dA0KCQlFeHByLmZpbmRbIklEIl0gPSBmdW5jdGlvbiggaWQsIGNvbnRleHQgKSB7DQoJCQlpZiAoIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRCeUlkICE9PSAidW5kZWZpbmVkIiAmJiBkb2N1bWVudElzSFRNTCApIHsNCgkJCQl2YXIgbm9kZSwgaSwgZWxlbXMsDQoJCQkJCWVsZW0gPSBjb250ZXh0LmdldEVsZW1lbnRCeUlkKCBpZCApOw0KDQoJCQkJaWYgKCBlbGVtICkgew0KDQoJCQkJCS8vIFZlcmlmeSB0aGUgaWQgYXR0cmlidXRlDQoJCQkJCW5vZGUgPSBlbGVtLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7DQoJCQkJCWlmICggbm9kZSAmJiBub2RlLnZhbHVlID09PSBpZCApIHsNCgkJCQkJCXJldHVybiBbIGVsZW0gXTsNCgkJCQkJfQ0KDQoJCQkJCS8vIEZhbGwgYmFjayBvbiBnZXRFbGVtZW50c0J5TmFtZQ0KCQkJCQllbGVtcyA9IGNvbnRleHQuZ2V0RWxlbWVudHNCeU5hbWUoIGlkICk7DQoJCQkJCWkgPSAwOw0KCQkJCQl3aGlsZSAoIChlbGVtID0gZWxlbXNbaSsrXSkgKSB7DQoJCQkJCQlub2RlID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpOw0KCQkJCQkJaWYgKCBub2RlICYmIG5vZGUudmFsdWUgPT09IGlkICkgew0KCQkJCQkJCXJldHVybiBbIGVsZW0gXTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCXJldHVybiBbXTsNCgkJCX0NCgkJfTsNCgl9DQoNCgkvLyBUYWcNCglFeHByLmZpbmRbIlRBRyJdID0gc3VwcG9ydC5nZXRFbGVtZW50c0J5VGFnTmFtZSA_DQoJCWZ1bmN0aW9uKCB0YWcsIGNvbnRleHQgKSB7DQoJCQlpZiAoIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lICE9PSAidW5kZWZpbmVkIiApIHsNCgkJCQlyZXR1cm4gY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdGFnICk7DQoNCgkJCS8vIERvY3VtZW50RnJhZ21lbnQgbm9kZXMgZG9uJ3QgaGF2ZSBnRUJUTg0KCQkJfSBlbHNlIGlmICggc3VwcG9ydC5xc2EgKSB7DQoJCQkJcmV0dXJuIGNvbnRleHQucXVlcnlTZWxlY3RvckFsbCggdGFnICk7DQoJCQl9DQoJCX0gOg0KDQoJCWZ1bmN0aW9uKCB0YWcsIGNvbnRleHQgKSB7DQoJCQl2YXIgZWxlbSwNCgkJCQl0bXAgPSBbXSwNCgkJCQlpID0gMCwNCgkJCQkvLyBCeSBoYXBweSBjb2luY2lkZW5jZSwgYSAoYnJva2VuKSBnRUJUTiBhcHBlYXJzIG9uIERvY3VtZW50RnJhZ21lbnQgbm9kZXMgdG9vDQoJCQkJcmVzdWx0cyA9IGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIHRhZyApOw0KDQoJCQkvLyBGaWx0ZXIgb3V0IHBvc3NpYmxlIGNvbW1lbnRzDQoJCQlpZiAoIHRhZyA9PT0gIioiICkgew0KCQkJCXdoaWxlICggKGVsZW0gPSByZXN1bHRzW2krK10pICkgew0KCQkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7DQoJCQkJCQl0bXAucHVzaCggZWxlbSApOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHRtcDsNCgkJCX0NCgkJCXJldHVybiByZXN1bHRzOw0KCQl9Ow0KDQoJLy8gQ2xhc3MNCglFeHByLmZpbmRbIkNMQVNTIl0gPSBzdXBwb3J0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUgJiYgZnVuY3Rpb24oIGNsYXNzTmFtZSwgY29udGV4dCApIHsNCgkJaWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICE9PSAidW5kZWZpbmVkIiAmJiBkb2N1bWVudElzSFRNTCApIHsNCgkJCXJldHVybiBjb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIGNsYXNzTmFtZSApOw0KCQl9DQoJfTsNCg0KCS8qIFFTQS9tYXRjaGVzU2VsZWN0b3INCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCgkvLyBRU0EgYW5kIG1hdGNoZXNTZWxlY3RvciBzdXBwb3J0DQoNCgkvLyBtYXRjaGVzU2VsZWN0b3IoOmFjdGl2ZSkgcmVwb3J0cyBmYWxzZSB3aGVuIHRydWUgKElFOS9PcGVyYSAxMS41KQ0KCXJidWdneU1hdGNoZXMgPSBbXTsNCg0KCS8vIHFTYSg6Zm9jdXMpIHJlcG9ydHMgZmFsc2Ugd2hlbiB0cnVlIChDaHJvbWUgMjEpDQoJLy8gV2UgYWxsb3cgdGhpcyBiZWNhdXNlIG9mIGEgYnVnIGluIElFOC85IHRoYXQgdGhyb3dzIGFuIGVycm9yDQoJLy8gd2hlbmV2ZXIgYGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRgIGlzIGFjY2Vzc2VkIG9uIGFuIGlmcmFtZQ0KCS8vIFNvLCB3ZSBhbGxvdyA6Zm9jdXMgdG8gcGFzcyB0aHJvdWdoIFFTQSBhbGwgdGhlIHRpbWUgdG8gYXZvaWQgdGhlIElFIGVycm9yDQoJLy8gU2VlIGh0dHBzOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC8xMzM3OA0KCXJidWdneVFTQSA9IFtdOw0KDQoJaWYgKCAoc3VwcG9ydC5xc2EgPSBybmF0aXZlLnRlc3QoIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwgKSkgKSB7DQoJCS8vIEJ1aWxkIFFTQSByZWdleA0KCQkvLyBSZWdleCBzdHJhdGVneSBhZG9wdGVkIGZyb20gRGllZ28gUGVyaW5pDQoJCWFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJCQkvLyBTZWxlY3QgaXMgc2V0IHRvIGVtcHR5IHN0cmluZyBvbiBwdXJwb3NlDQoJCQkvLyBUaGlzIGlzIHRvIHRlc3QgSUUncyB0cmVhdG1lbnQgb2Ygbm90IGV4cGxpY2l0bHkNCgkJCS8vIHNldHRpbmcgYSBib29sZWFuIGNvbnRlbnQgYXR0cmlidXRlLA0KCQkJLy8gc2luY2UgaXRzIHByZXNlbmNlIHNob3VsZCBiZSBlbm91Z2gNCgkJCS8vIGh0dHBzOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC8xMjM1OQ0KCQkJZG9jRWxlbS5hcHBlbmRDaGlsZCggZWwgKS5pbm5lckhUTUwgPSAiPGEgaWQ9JyIgKyBleHBhbmRvICsgIic-PC9hPiIgKw0KCQkJCSI8c2VsZWN0IGlkPSciICsgZXhwYW5kbyArICItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc-IiArDQoJCQkJIjxvcHRpb24gc2VsZWN0ZWQ9Jyc-PC9vcHRpb24-PC9zZWxlY3Q-IjsNCg0KCQkJLy8gU3VwcG9ydDogSUU4LCBPcGVyYSAxMS0xMi4xNg0KCQkJLy8gTm90aGluZyBzaG91bGQgYmUgc2VsZWN0ZWQgd2hlbiBlbXB0eSBzdHJpbmdzIGZvbGxvdyBePSBvciAkPSBvciAqPQ0KCQkJLy8gVGhlIHRlc3QgYXR0cmlidXRlIG11c3QgYmUgdW5rbm93biBpbiBPcGVyYSBidXQgInNhZmUiIGZvciBXaW5SVA0KCQkJLy8gaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9pZS9oaDQ2NTM4OC5hc3B4I2F0dHJpYnV0ZV9zZWN0aW9uDQoJCQlpZiAoIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoICkgew0KCQkJCXJidWdneVFTQS5wdXNoKCAiWypeJF09IiArIHdoaXRlc3BhY2UgKyAiKig_OicnfFwiXCIpIiApOw0KCQkJfQ0KDQoJCQkvLyBTdXBwb3J0OiBJRTgNCgkJCS8vIEJvb2xlYW4gYXR0cmlidXRlcyBhbmQgInZhbHVlIiBhcmUgbm90IHRyZWF0ZWQgY29ycmVjdGx5DQoJCQlpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RoICkgew0KCQkJCXJidWdneVFTQS5wdXNoKCAiXFxbIiArIHdoaXRlc3BhY2UgKyAiKig_OnZhbHVlfCIgKyBib29sZWFucyArICIpIiApOw0KCQkJfQ0KDQoJCQkvLyBTdXBwb3J0OiBDaHJvbWU8MjksIEFuZHJvaWQ8NC40LCBTYWZhcmk8Ny4wKywgaU9TPDcuMCssIFBoYW50b21KUzwxLjkuOCsNCgkJCWlmICggIWVsLnF1ZXJ5U2VsZWN0b3JBbGwoICJbaWR-PSIgKyBleHBhbmRvICsgIi1dIiApLmxlbmd0aCApIHsNCgkJCQlyYnVnZ3lRU0EucHVzaCgifj0iKTsNCgkJCX0NCg0KCQkJLy8gV2Via2l0L09wZXJhIC0gOmNoZWNrZWQgc2hvdWxkIHJldHVybiBzZWxlY3RlZCBvcHRpb24gZWxlbWVudHMNCgkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvUkVDLWNzczMtc2VsZWN0b3JzLTIwMTEwOTI5LyNjaGVja2VkDQoJCQkvLyBJRTggdGhyb3dzIGVycm9yIGhlcmUgYW5kIHdpbGwgbm90IHNlZSBsYXRlciB0ZXN0cw0KCQkJaWYgKCAhZWwucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGggKSB7DQoJCQkJcmJ1Z2d5UVNBLnB1c2goIjpjaGVja2VkIik7DQoJCQl9DQoNCgkJCS8vIFN1cHBvcnQ6IFNhZmFyaSA4KywgaU9TIDgrDQoJCQkvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k_aWQ9MTM2ODUxDQoJCQkvLyBJbi1wYWdlIGBzZWxlY3RvciNpZCBzaWJsaW5nLWNvbWJpbmF0b3Igc2VsZWN0b3JgIGZhaWxzDQoJCQlpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCAiYSMiICsgZXhwYW5kbyArICIrKiIgKS5sZW5ndGggKSB7DQoJCQkJcmJ1Z2d5UVNBLnB1c2goIi4jLitbK35dIik7DQoJCQl9DQoJCX0pOw0KDQoJCWFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJCQllbC5pbm5lckhUTUwgPSAiPGEgaHJlZj0nJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjwvYT4iICsNCgkJCQkiPHNlbGVjdCBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24vPjwvc2VsZWN0PiI7DQoNCgkJCS8vIFN1cHBvcnQ6IFdpbmRvd3MgOCBOYXRpdmUgQXBwcw0KCQkJLy8gVGhlIHR5cGUgYW5kIG5hbWUgYXR0cmlidXRlcyBhcmUgcmVzdHJpY3RlZCBkdXJpbmcgLmlubmVySFRNTCBhc3NpZ25tZW50DQoJCQl2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOw0KCQkJaW5wdXQuc2V0QXR0cmlidXRlKCAidHlwZSIsICJoaWRkZW4iICk7DQoJCQllbC5hcHBlbmRDaGlsZCggaW5wdXQgKS5zZXRBdHRyaWJ1dGUoICJuYW1lIiwgIkQiICk7DQoNCgkJCS8vIFN1cHBvcnQ6IElFOA0KCQkJLy8gRW5mb3JjZSBjYXNlLXNlbnNpdGl2aXR5IG9mIG5hbWUgYXR0cmlidXRlDQoJCQlpZiAoIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoICkgew0KCQkJCXJidWdneVFTQS5wdXNoKCAibmFtZSIgKyB3aGl0ZXNwYWNlICsgIipbKl4kfCF-XT89IiApOw0KCQkJfQ0KDQoJCQkvLyBGRiAzLjUgLSA6ZW5hYmxlZC86ZGlzYWJsZWQgYW5kIGhpZGRlbiBlbGVtZW50cyAoaGlkZGVuIGVsZW1lbnRzIGFyZSBzdGlsbCBlbmFibGVkKQ0KCQkJLy8gSUU4IHRocm93cyBlcnJvciBoZXJlIGFuZCB3aWxsIG5vdCBzZWUgbGF0ZXIgdGVzdHMNCgkJCWlmICggZWwucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGggIT09IDIgKSB7DQoJCQkJcmJ1Z2d5UVNBLnB1c2goICI6ZW5hYmxlZCIsICI6ZGlzYWJsZWQiICk7DQoJCQl9DQoNCgkJCS8vIFN1cHBvcnQ6IElFOS0xMSsNCgkJCS8vIElFJ3MgOmRpc2FibGVkIHNlbGVjdG9yIGRvZXMgbm90IHBpY2sgdXAgdGhlIGNoaWxkcmVuIG9mIGRpc2FibGVkIGZpZWxkc2V0cw0KCQkJZG9jRWxlbS5hcHBlbmRDaGlsZCggZWwgKS5kaXNhYmxlZCA9IHRydWU7DQoJCQlpZiAoIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIjpkaXNhYmxlZCIpLmxlbmd0aCAhPT0gMiApIHsNCgkJCQlyYnVnZ3lRU0EucHVzaCggIjplbmFibGVkIiwgIjpkaXNhYmxlZCIgKTsNCgkJCX0NCg0KCQkJLy8gT3BlcmEgMTAtMTEgZG9lcyBub3QgdGhyb3cgb24gcG9zdC1jb21tYSBpbnZhbGlkIHBzZXVkb3MNCgkJCWVsLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKTsNCgkJCXJidWdneVFTQS5wdXNoKCIsLio6Iik7DQoJCX0pOw0KCX0NCg0KCWlmICggKHN1cHBvcnQubWF0Y2hlc1NlbGVjdG9yID0gcm5hdGl2ZS50ZXN0KCAobWF0Y2hlcyA9IGRvY0VsZW0ubWF0Y2hlcyB8fA0KCQlkb2NFbGVtLndlYmtpdE1hdGNoZXNTZWxlY3RvciB8fA0KCQlkb2NFbGVtLm1vek1hdGNoZXNTZWxlY3RvciB8fA0KCQlkb2NFbGVtLm9NYXRjaGVzU2VsZWN0b3IgfHwNCgkJZG9jRWxlbS5tc01hdGNoZXNTZWxlY3RvcikgKSkgKSB7DQoNCgkJYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsNCgkJCS8vIENoZWNrIHRvIHNlZSBpZiBpdCdzIHBvc3NpYmxlIHRvIGRvIG1hdGNoZXNTZWxlY3Rvcg0KCQkJLy8gb24gYSBkaXNjb25uZWN0ZWQgbm9kZSAoSUUgOSkNCgkJCXN1cHBvcnQuZGlzY29ubmVjdGVkTWF0Y2ggPSBtYXRjaGVzLmNhbGwoIGVsLCAiKiIgKTsNCg0KCQkJLy8gVGhpcyBzaG91bGQgZmFpbCB3aXRoIGFuIGV4Y2VwdGlvbg0KCQkJLy8gR2Vja28gZG9lcyBub3QgZXJyb3IsIHJldHVybnMgZmFsc2UgaW5zdGVhZA0KCQkJbWF0Y2hlcy5jYWxsKCBlbCwgIltzIT0nJ106eCIgKTsNCgkJCXJidWdneU1hdGNoZXMucHVzaCggIiE9IiwgcHNldWRvcyApOw0KCQl9KTsNCgl9DQoNCglyYnVnZ3lRU0EgPSByYnVnZ3lRU0EubGVuZ3RoICYmIG5ldyBSZWdFeHAoIHJidWdneVFTQS5qb2luKCJ8IikgKTsNCglyYnVnZ3lNYXRjaGVzID0gcmJ1Z2d5TWF0Y2hlcy5sZW5ndGggJiYgbmV3IFJlZ0V4cCggcmJ1Z2d5TWF0Y2hlcy5qb2luKCJ8IikgKTsNCg0KCS8qIENvbnRhaW5zDQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KCWhhc0NvbXBhcmUgPSBybmF0aXZlLnRlc3QoIGRvY0VsZW0uY29tcGFyZURvY3VtZW50UG9zaXRpb24gKTsNCg0KCS8vIEVsZW1lbnQgY29udGFpbnMgYW5vdGhlcg0KCS8vIFB1cnBvc2VmdWxseSBzZWxmLWV4Y2x1c2l2ZQ0KCS8vIEFzIGluLCBhbiBlbGVtZW50IGRvZXMgbm90IGNvbnRhaW4gaXRzZWxmDQoJY29udGFpbnMgPSBoYXNDb21wYXJlIHx8IHJuYXRpdmUudGVzdCggZG9jRWxlbS5jb250YWlucyApID8NCgkJZnVuY3Rpb24oIGEsIGIgKSB7DQoJCQl2YXIgYWRvd24gPSBhLm5vZGVUeXBlID09PSA5ID8gYS5kb2N1bWVudEVsZW1lbnQgOiBhLA0KCQkJCWJ1cCA9IGIgJiYgYi5wYXJlbnROb2RlOw0KCQkJcmV0dXJuIGEgPT09IGJ1cCB8fCAhISggYnVwICYmIGJ1cC5ub2RlVHlwZSA9PT0gMSAmJiAoDQoJCQkJYWRvd24uY29udGFpbnMgPw0KCQkJCQlhZG93bi5jb250YWlucyggYnVwICkgOg0KCQkJCQlhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICYmIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGJ1cCApICYgMTYNCgkJCSkpOw0KCQl9IDoNCgkJZnVuY3Rpb24oIGEsIGIgKSB7DQoJCQlpZiAoIGIgKSB7DQoJCQkJd2hpbGUgKCAoYiA9IGIucGFyZW50Tm9kZSkgKSB7DQoJCQkJCWlmICggYiA9PT0gYSApIHsNCgkJCQkJCXJldHVybiB0cnVlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9Ow0KDQoJLyogU29ydGluZw0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCg0KCS8vIERvY3VtZW50IG9yZGVyIHNvcnRpbmcNCglzb3J0T3JkZXIgPSBoYXNDb21wYXJlID8NCglmdW5jdGlvbiggYSwgYiApIHsNCg0KCQkvLyBGbGFnIGZvciBkdXBsaWNhdGUgcmVtb3ZhbA0KCQlpZiAoIGEgPT09IGIgKSB7DQoJCQloYXNEdXBsaWNhdGUgPSB0cnVlOw0KCQkJcmV0dXJuIDA7DQoJCX0NCg0KCQkvLyBTb3J0IG9uIG1ldGhvZCBleGlzdGVuY2UgaWYgb25seSBvbmUgaW5wdXQgaGFzIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uDQoJCXZhciBjb21wYXJlID0gIWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24gLSAhYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjsNCgkJaWYgKCBjb21wYXJlICkgew0KCQkJcmV0dXJuIGNvbXBhcmU7DQoJCX0NCg0KCQkvLyBDYWxjdWxhdGUgcG9zaXRpb24gaWYgYm90aCBpbnB1dHMgYmVsb25nIHRvIHRoZSBzYW1lIGRvY3VtZW50DQoJCWNvbXBhcmUgPSAoIGEub3duZXJEb2N1bWVudCB8fCBhICkgPT09ICggYi5vd25lckRvY3VtZW50IHx8IGIgKSA_DQoJCQlhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBiICkgOg0KDQoJCQkvLyBPdGhlcndpc2Ugd2Uga25vdyB0aGV5IGFyZSBkaXNjb25uZWN0ZWQNCgkJCTE7DQoNCgkJLy8gRGlzY29ubmVjdGVkIG5vZGVzDQoJCWlmICggY29tcGFyZSAmIDEgfHwNCgkJCSghc3VwcG9ydC5zb3J0RGV0YWNoZWQgJiYgYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiggYSApID09PSBjb21wYXJlKSApIHsNCg0KCQkJLy8gQ2hvb3NlIHRoZSBmaXJzdCBlbGVtZW50IHRoYXQgaXMgcmVsYXRlZCB0byBvdXIgcHJlZmVycmVkIGRvY3VtZW50DQoJCQlpZiAoIGEgPT09IGRvY3VtZW50IHx8IGEub3duZXJEb2N1bWVudCA9PT0gcHJlZmVycmVkRG9jICYmIGNvbnRhaW5zKHByZWZlcnJlZERvYywgYSkgKSB7DQoJCQkJcmV0dXJuIC0xOw0KCQkJfQ0KCQkJaWYgKCBiID09PSBkb2N1bWVudCB8fCBiLm93bmVyRG9jdW1lbnQgPT09IHByZWZlcnJlZERvYyAmJiBjb250YWlucyhwcmVmZXJyZWREb2MsIGIpICkgew0KCQkJCXJldHVybiAxOw0KCQkJfQ0KDQoJCQkvLyBNYWludGFpbiBvcmlnaW5hbCBvcmRlcg0KCQkJcmV0dXJuIHNvcnRJbnB1dCA_DQoJCQkJKCBpbmRleE9mKCBzb3J0SW5wdXQsIGEgKSAtIGluZGV4T2YoIHNvcnRJbnB1dCwgYiApICkgOg0KCQkJCTA7DQoJCX0NCg0KCQlyZXR1cm4gY29tcGFyZSAmIDQgPyAtMSA6IDE7DQoJfSA6DQoJZnVuY3Rpb24oIGEsIGIgKSB7DQoJCS8vIEV4aXQgZWFybHkgaWYgdGhlIG5vZGVzIGFyZSBpZGVudGljYWwNCgkJaWYgKCBhID09PSBiICkgew0KCQkJaGFzRHVwbGljYXRlID0gdHJ1ZTsNCgkJCXJldHVybiAwOw0KCQl9DQoNCgkJdmFyIGN1ciwNCgkJCWkgPSAwLA0KCQkJYXVwID0gYS5wYXJlbnROb2RlLA0KCQkJYnVwID0gYi5wYXJlbnROb2RlLA0KCQkJYXAgPSBbIGEgXSwNCgkJCWJwID0gWyBiIF07DQoNCgkJLy8gUGFyZW50bGVzcyBub2RlcyBhcmUgZWl0aGVyIGRvY3VtZW50cyBvciBkaXNjb25uZWN0ZWQNCgkJaWYgKCAhYXVwIHx8ICFidXAgKSB7DQoJCQlyZXR1cm4gYSA9PT0gZG9jdW1lbnQgPyAtMSA6DQoJCQkJYiA9PT0gZG9jdW1lbnQgPyAxIDoNCgkJCQlhdXAgPyAtMSA6DQoJCQkJYnVwID8gMSA6DQoJCQkJc29ydElucHV0ID8NCgkJCQkoIGluZGV4T2YoIHNvcnRJbnB1dCwgYSApIC0gaW5kZXhPZiggc29ydElucHV0LCBiICkgKSA6DQoJCQkJMDsNCg0KCQkvLyBJZiB0aGUgbm9kZXMgYXJlIHNpYmxpbmdzLCB3ZSBjYW4gZG8gYSBxdWljayBjaGVjaw0KCQl9IGVsc2UgaWYgKCBhdXAgPT09IGJ1cCApIHsNCgkJCXJldHVybiBzaWJsaW5nQ2hlY2soIGEsIGIgKTsNCgkJfQ0KDQoJCS8vIE90aGVyd2lzZSB3ZSBuZWVkIGZ1bGwgbGlzdHMgb2YgdGhlaXIgYW5jZXN0b3JzIGZvciBjb21wYXJpc29uDQoJCWN1ciA9IGE7DQoJCXdoaWxlICggKGN1ciA9IGN1ci5wYXJlbnROb2RlKSApIHsNCgkJCWFwLnVuc2hpZnQoIGN1ciApOw0KCQl9DQoJCWN1ciA9IGI7DQoJCXdoaWxlICggKGN1ciA9IGN1ci5wYXJlbnROb2RlKSApIHsNCgkJCWJwLnVuc2hpZnQoIGN1ciApOw0KCQl9DQoNCgkJLy8gV2FsayBkb3duIHRoZSB0cmVlIGxvb2tpbmcgZm9yIGEgZGlzY3JlcGFuY3kNCgkJd2hpbGUgKCBhcFtpXSA9PT0gYnBbaV0gKSB7DQoJCQlpKys7DQoJCX0NCg0KCQlyZXR1cm4gaSA_DQoJCQkvLyBEbyBhIHNpYmxpbmcgY2hlY2sgaWYgdGhlIG5vZGVzIGhhdmUgYSBjb21tb24gYW5jZXN0b3INCgkJCXNpYmxpbmdDaGVjayggYXBbaV0sIGJwW2ldICkgOg0KDQoJCQkvLyBPdGhlcndpc2Ugbm9kZXMgaW4gb3VyIGRvY3VtZW50IHNvcnQgZmlyc3QNCgkJCWFwW2ldID09PSBwcmVmZXJyZWREb2MgPyAtMSA6DQoJCQlicFtpXSA9PT0gcHJlZmVycmVkRG9jID8gMSA6DQoJCQkwOw0KCX07DQoNCglyZXR1cm4gZG9jdW1lbnQ7DQp9Ow0KDQpTaXp6bGUubWF0Y2hlcyA9IGZ1bmN0aW9uKCBleHByLCBlbGVtZW50cyApIHsNCglyZXR1cm4gU2l6emxlKCBleHByLCBudWxsLCBudWxsLCBlbGVtZW50cyApOw0KfTsNCg0KU2l6emxlLm1hdGNoZXNTZWxlY3RvciA9IGZ1bmN0aW9uKCBlbGVtLCBleHByICkgew0KCS8vIFNldCBkb2N1bWVudCB2YXJzIGlmIG5lZWRlZA0KCWlmICggKCBlbGVtLm93bmVyRG9jdW1lbnQgfHwgZWxlbSApICE9PSBkb2N1bWVudCApIHsNCgkJc2V0RG9jdW1lbnQoIGVsZW0gKTsNCgl9DQoNCgkvLyBNYWtlIHN1cmUgdGhhdCBhdHRyaWJ1dGUgc2VsZWN0b3JzIGFyZSBxdW90ZWQNCglleHByID0gZXhwci5yZXBsYWNlKCByYXR0cmlidXRlUXVvdGVzLCAiPSckMSddIiApOw0KDQoJaWYgKCBzdXBwb3J0Lm1hdGNoZXNTZWxlY3RvciAmJiBkb2N1bWVudElzSFRNTCAmJg0KCQkhY29tcGlsZXJDYWNoZVsgZXhwciArICIgIiBdICYmDQoJCSggIXJidWdneU1hdGNoZXMgfHwgIXJidWdneU1hdGNoZXMudGVzdCggZXhwciApICkgJiYNCgkJKCAhcmJ1Z2d5UVNBICAgICB8fCAhcmJ1Z2d5UVNBLnRlc3QoIGV4cHIgKSApICkgew0KDQoJCXRyeSB7DQoJCQl2YXIgcmV0ID0gbWF0Y2hlcy5jYWxsKCBlbGVtLCBleHByICk7DQoNCgkJCS8vIElFIDkncyBtYXRjaGVzU2VsZWN0b3IgcmV0dXJucyBmYWxzZSBvbiBkaXNjb25uZWN0ZWQgbm9kZXMNCgkJCWlmICggcmV0IHx8IHN1cHBvcnQuZGlzY29ubmVjdGVkTWF0Y2ggfHwNCgkJCQkJLy8gQXMgd2VsbCwgZGlzY29ubmVjdGVkIG5vZGVzIGFyZSBzYWlkIHRvIGJlIGluIGEgZG9jdW1lbnQNCgkJCQkJLy8gZnJhZ21lbnQgaW4gSUUgOQ0KCQkJCQllbGVtLmRvY3VtZW50ICYmIGVsZW0uZG9jdW1lbnQubm9kZVR5cGUgIT09IDExICkgew0KCQkJCXJldHVybiByZXQ7DQoJCQl9DQoJCX0gY2F0Y2ggKGUpIHt9DQoJfQ0KDQoJcmV0dXJuIFNpenpsZSggZXhwciwgZG9jdW1lbnQsIG51bGwsIFsgZWxlbSBdICkubGVuZ3RoID4gMDsNCn07DQoNClNpenpsZS5jb250YWlucyA9IGZ1bmN0aW9uKCBjb250ZXh0LCBlbGVtICkgew0KCS8vIFNldCBkb2N1bWVudCB2YXJzIGlmIG5lZWRlZA0KCWlmICggKCBjb250ZXh0Lm93bmVyRG9jdW1lbnQgfHwgY29udGV4dCApICE9PSBkb2N1bWVudCApIHsNCgkJc2V0RG9jdW1lbnQoIGNvbnRleHQgKTsNCgl9DQoJcmV0dXJuIGNvbnRhaW5zKCBjb250ZXh0LCBlbGVtICk7DQp9Ow0KDQpTaXp6bGUuYXR0ciA9IGZ1bmN0aW9uKCBlbGVtLCBuYW1lICkgew0KCS8vIFNldCBkb2N1bWVudCB2YXJzIGlmIG5lZWRlZA0KCWlmICggKCBlbGVtLm93bmVyRG9jdW1lbnQgfHwgZWxlbSApICE9PSBkb2N1bWVudCApIHsNCgkJc2V0RG9jdW1lbnQoIGVsZW0gKTsNCgl9DQoNCgl2YXIgZm4gPSBFeHByLmF0dHJIYW5kbGVbIG5hbWUudG9Mb3dlckNhc2UoKSBdLA0KCQkvLyBEb24ndCBnZXQgZm9vbGVkIGJ5IE9iamVjdC5wcm90b3R5cGUgcHJvcGVydGllcyAoalF1ZXJ5ICMxMzgwNykNCgkJdmFsID0gZm4gJiYgaGFzT3duLmNhbGwoIEV4cHIuYXR0ckhhbmRsZSwgbmFtZS50b0xvd2VyQ2FzZSgpICkgPw0KCQkJZm4oIGVsZW0sIG5hbWUsICFkb2N1bWVudElzSFRNTCApIDoNCgkJCXVuZGVmaW5lZDsNCg0KCXJldHVybiB2YWwgIT09IHVuZGVmaW5lZCA_DQoJCXZhbCA6DQoJCXN1cHBvcnQuYXR0cmlidXRlcyB8fCAhZG9jdW1lbnRJc0hUTUwgPw0KCQkJZWxlbS5nZXRBdHRyaWJ1dGUoIG5hbWUgKSA6DQoJCQkodmFsID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKG5hbWUpKSAmJiB2YWwuc3BlY2lmaWVkID8NCgkJCQl2YWwudmFsdWUgOg0KCQkJCW51bGw7DQp9Ow0KDQpTaXp6bGUuZXNjYXBlID0gZnVuY3Rpb24oIHNlbCApIHsNCglyZXR1cm4gKHNlbCArICIiKS5yZXBsYWNlKCByY3NzZXNjYXBlLCBmY3NzZXNjYXBlICk7DQp9Ow0KDQpTaXp6bGUuZXJyb3IgPSBmdW5jdGlvbiggbXNnICkgew0KCXRocm93IG5ldyBFcnJvciggIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIgKyBtc2cgKTsNCn07DQoNCi8qKg0KICogRG9jdW1lbnQgc29ydGluZyBhbmQgcmVtb3ZpbmcgZHVwbGljYXRlcw0KICogQHBhcmFtIHtBcnJheUxpa2V9IHJlc3VsdHMNCiAqLw0KU2l6emxlLnVuaXF1ZVNvcnQgPSBmdW5jdGlvbiggcmVzdWx0cyApIHsNCgl2YXIgZWxlbSwNCgkJZHVwbGljYXRlcyA9IFtdLA0KCQlqID0gMCwNCgkJaSA9IDA7DQoNCgkvLyBVbmxlc3Mgd2UgKmtub3cqIHdlIGNhbiBkZXRlY3QgZHVwbGljYXRlcywgYXNzdW1lIHRoZWlyIHByZXNlbmNlDQoJaGFzRHVwbGljYXRlID0gIXN1cHBvcnQuZGV0ZWN0RHVwbGljYXRlczsNCglzb3J0SW5wdXQgPSAhc3VwcG9ydC5zb3J0U3RhYmxlICYmIHJlc3VsdHMuc2xpY2UoIDAgKTsNCglyZXN1bHRzLnNvcnQoIHNvcnRPcmRlciApOw0KDQoJaWYgKCBoYXNEdXBsaWNhdGUgKSB7DQoJCXdoaWxlICggKGVsZW0gPSByZXN1bHRzW2krK10pICkgew0KCQkJaWYgKCBlbGVtID09PSByZXN1bHRzWyBpIF0gKSB7DQoJCQkJaiA9IGR1cGxpY2F0ZXMucHVzaCggaSApOw0KCQkJfQ0KCQl9DQoJCXdoaWxlICggai0tICkgew0KCQkJcmVzdWx0cy5zcGxpY2UoIGR1cGxpY2F0ZXNbIGogXSwgMSApOw0KCQl9DQoJfQ0KDQoJLy8gQ2xlYXIgaW5wdXQgYWZ0ZXIgc29ydGluZyB0byByZWxlYXNlIG9iamVjdHMNCgkvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2pxdWVyeS9zaXp6bGUvcHVsbC8yMjUNCglzb3J0SW5wdXQgPSBudWxsOw0KDQoJcmV0dXJuIHJlc3VsdHM7DQp9Ow0KDQovKioNCiAqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIHJldHJpZXZpbmcgdGhlIHRleHQgdmFsdWUgb2YgYW4gYXJyYXkgb2YgRE9NIG5vZGVzDQogKiBAcGFyYW0ge0FycmF5fEVsZW1lbnR9IGVsZW0NCiAqLw0KZ2V0VGV4dCA9IFNpenpsZS5nZXRUZXh0ID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJdmFyIG5vZGUsDQoJCXJldCA9ICIiLA0KCQlpID0gMCwNCgkJbm9kZVR5cGUgPSBlbGVtLm5vZGVUeXBlOw0KDQoJaWYgKCAhbm9kZVR5cGUgKSB7DQoJCS8vIElmIG5vIG5vZGVUeXBlLCB0aGlzIGlzIGV4cGVjdGVkIHRvIGJlIGFuIGFycmF5DQoJCXdoaWxlICggKG5vZGUgPSBlbGVtW2krK10pICkgew0KCQkJLy8gRG8gbm90IHRyYXZlcnNlIGNvbW1lbnQgbm9kZXMNCgkJCXJldCArPSBnZXRUZXh0KCBub2RlICk7DQoJCX0NCgl9IGVsc2UgaWYgKCBub2RlVHlwZSA9PT0gMSB8fCBub2RlVHlwZSA9PT0gOSB8fCBub2RlVHlwZSA9PT0gMTEgKSB7DQoJCS8vIFVzZSB0ZXh0Q29udGVudCBmb3IgZWxlbWVudHMNCgkJLy8gaW5uZXJUZXh0IHVzYWdlIHJlbW92ZWQgZm9yIGNvbnNpc3RlbmN5IG9mIG5ldyBsaW5lcyAoalF1ZXJ5ICMxMTE1MykNCgkJaWYgKCB0eXBlb2YgZWxlbS50ZXh0Q29udGVudCA9PT0gInN0cmluZyIgKSB7DQoJCQlyZXR1cm4gZWxlbS50ZXh0Q29udGVudDsNCgkJfSBlbHNlIHsNCgkJCS8vIFRyYXZlcnNlIGl0cyBjaGlsZHJlbg0KCQkJZm9yICggZWxlbSA9IGVsZW0uZmlyc3RDaGlsZDsgZWxlbTsgZWxlbSA9IGVsZW0ubmV4dFNpYmxpbmcgKSB7DQoJCQkJcmV0ICs9IGdldFRleHQoIGVsZW0gKTsNCgkJCX0NCgkJfQ0KCX0gZWxzZSBpZiAoIG5vZGVUeXBlID09PSAzIHx8IG5vZGVUeXBlID09PSA0ICkgew0KCQlyZXR1cm4gZWxlbS5ub2RlVmFsdWU7DQoJfQ0KCS8vIERvIG5vdCBpbmNsdWRlIGNvbW1lbnQgb3IgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBub2Rlcw0KDQoJcmV0dXJuIHJldDsNCn07DQoNCkV4cHIgPSBTaXp6bGUuc2VsZWN0b3JzID0gew0KDQoJLy8gQ2FuIGJlIGFkanVzdGVkIGJ5IHRoZSB1c2VyDQoJY2FjaGVMZW5ndGg6IDUwLA0KDQoJY3JlYXRlUHNldWRvOiBtYXJrRnVuY3Rpb24sDQoNCgltYXRjaDogbWF0Y2hFeHByLA0KDQoJYXR0ckhhbmRsZToge30sDQoNCglmaW5kOiB7fSwNCg0KCXJlbGF0aXZlOiB7DQoJCSI-IjogeyBkaXI6ICJwYXJlbnROb2RlIiwgZmlyc3Q6IHRydWUgfSwNCgkJIiAiOiB7IGRpcjogInBhcmVudE5vZGUiIH0sDQoJCSIrIjogeyBkaXI6ICJwcmV2aW91c1NpYmxpbmciLCBmaXJzdDogdHJ1ZSB9LA0KCQkifiI6IHsgZGlyOiAicHJldmlvdXNTaWJsaW5nIiB9DQoJfSwNCg0KCXByZUZpbHRlcjogew0KCQkiQVRUUiI6IGZ1bmN0aW9uKCBtYXRjaCApIHsNCgkJCW1hdGNoWzFdID0gbWF0Y2hbMV0ucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTsNCg0KCQkJLy8gTW92ZSB0aGUgZ2l2ZW4gdmFsdWUgdG8gbWF0Y2hbM10gd2hldGhlciBxdW90ZWQgb3IgdW5xdW90ZWQNCgkJCW1hdGNoWzNdID0gKCBtYXRjaFszXSB8fCBtYXRjaFs0XSB8fCBtYXRjaFs1XSB8fCAiIiApLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7DQoNCgkJCWlmICggbWF0Y2hbMl0gPT09ICJ-PSIgKSB7DQoJCQkJbWF0Y2hbM10gPSAiICIgKyBtYXRjaFszXSArICIgIjsNCgkJCX0NCg0KCQkJcmV0dXJuIG1hdGNoLnNsaWNlKCAwLCA0ICk7DQoJCX0sDQoNCgkJIkNISUxEIjogZnVuY3Rpb24oIG1hdGNoICkgew0KCQkJLyogbWF0Y2hlcyBmcm9tIG1hdGNoRXhwclsiQ0hJTEQiXQ0KCQkJCTEgdHlwZSAob25seXxudGh8Li4uKQ0KCQkJCTIgd2hhdCAoY2hpbGR8b2YtdHlwZSkNCgkJCQkzIGFyZ3VtZW50IChldmVufG9kZHxcZCp8XGQqbihbKy1dXGQrKT98Li4uKQ0KCQkJCTQgeG4tY29tcG9uZW50IG9mIHhuK3kgYXJndW1lbnQgKFsrLV0_XGQqbnwpDQoJCQkJNSBzaWduIG9mIHhuLWNvbXBvbmVudA0KCQkJCTYgeCBvZiB4bi1jb21wb25lbnQNCgkJCQk3IHNpZ24gb2YgeS1jb21wb25lbnQNCgkJCQk4IHkgb2YgeS1jb21wb25lbnQNCgkJCSovDQoJCQltYXRjaFsxXSA9IG1hdGNoWzFdLnRvTG93ZXJDYXNlKCk7DQoNCgkJCWlmICggbWF0Y2hbMV0uc2xpY2UoIDAsIDMgKSA9PT0gIm50aCIgKSB7DQoJCQkJLy8gbnRoLSogcmVxdWlyZXMgYXJndW1lbnQNCgkJCQlpZiAoICFtYXRjaFszXSApIHsNCgkJCQkJU2l6emxlLmVycm9yKCBtYXRjaFswXSApOw0KCQkJCX0NCg0KCQkJCS8vIG51bWVyaWMgeCBhbmQgeSBwYXJhbWV0ZXJzIGZvciBFeHByLmZpbHRlci5DSElMRA0KCQkJCS8vIHJlbWVtYmVyIHRoYXQgZmFsc2UvdHJ1ZSBjYXN0IHJlc3BlY3RpdmVseSB0byAwLzENCgkJCQltYXRjaFs0XSA9ICsoIG1hdGNoWzRdID8gbWF0Y2hbNV0gKyAobWF0Y2hbNl0gfHwgMSkgOiAyICogKCBtYXRjaFszXSA9PT0gImV2ZW4iIHx8IG1hdGNoWzNdID09PSAib2RkIiApICk7DQoJCQkJbWF0Y2hbNV0gPSArKCAoIG1hdGNoWzddICsgbWF0Y2hbOF0gKSB8fCBtYXRjaFszXSA9PT0gIm9kZCIgKTsNCg0KCQkJLy8gb3RoZXIgdHlwZXMgcHJvaGliaXQgYXJndW1lbnRzDQoJCQl9IGVsc2UgaWYgKCBtYXRjaFszXSApIHsNCgkJCQlTaXp6bGUuZXJyb3IoIG1hdGNoWzBdICk7DQoJCQl9DQoNCgkJCXJldHVybiBtYXRjaDsNCgkJfSwNCg0KCQkiUFNFVURPIjogZnVuY3Rpb24oIG1hdGNoICkgew0KCQkJdmFyIGV4Y2VzcywNCgkJCQl1bnF1b3RlZCA9ICFtYXRjaFs2XSAmJiBtYXRjaFsyXTsNCg0KCQkJaWYgKCBtYXRjaEV4cHJbIkNISUxEIl0udGVzdCggbWF0Y2hbMF0gKSApIHsNCgkJCQlyZXR1cm4gbnVsbDsNCgkJCX0NCg0KCQkJLy8gQWNjZXB0IHF1b3RlZCBhcmd1bWVudHMgYXMtaXMNCgkJCWlmICggbWF0Y2hbM10gKSB7DQoJCQkJbWF0Y2hbMl0gPSBtYXRjaFs0XSB8fCBtYXRjaFs1XSB8fCAiIjsNCg0KCQkJLy8gU3RyaXAgZXhjZXNzIGNoYXJhY3RlcnMgZnJvbSB1bnF1b3RlZCBhcmd1bWVudHMNCgkJCX0gZWxzZSBpZiAoIHVucXVvdGVkICYmIHJwc2V1ZG8udGVzdCggdW5xdW90ZWQgKSAmJg0KCQkJCS8vIEdldCBleGNlc3MgZnJvbSB0b2tlbml6ZSAocmVjdXJzaXZlbHkpDQoJCQkJKGV4Y2VzcyA9IHRva2VuaXplKCB1bnF1b3RlZCwgdHJ1ZSApKSAmJg0KCQkJCS8vIGFkdmFuY2UgdG8gdGhlIG5leHQgY2xvc2luZyBwYXJlbnRoZXNpcw0KCQkJCShleGNlc3MgPSB1bnF1b3RlZC5pbmRleE9mKCAiKSIsIHVucXVvdGVkLmxlbmd0aCAtIGV4Y2VzcyApIC0gdW5xdW90ZWQubGVuZ3RoKSApIHsNCg0KCQkJCS8vIGV4Y2VzcyBpcyBhIG5lZ2F0aXZlIGluZGV4DQoJCQkJbWF0Y2hbMF0gPSBtYXRjaFswXS5zbGljZSggMCwgZXhjZXNzICk7DQoJCQkJbWF0Y2hbMl0gPSB1bnF1b3RlZC5zbGljZSggMCwgZXhjZXNzICk7DQoJCQl9DQoNCgkJCS8vIFJldHVybiBvbmx5IGNhcHR1cmVzIG5lZWRlZCBieSB0aGUgcHNldWRvIGZpbHRlciBtZXRob2QgKHR5cGUgYW5kIGFyZ3VtZW50KQ0KCQkJcmV0dXJuIG1hdGNoLnNsaWNlKCAwLCAzICk7DQoJCX0NCgl9LA0KDQoJZmlsdGVyOiB7DQoNCgkJIlRBRyI6IGZ1bmN0aW9uKCBub2RlTmFtZVNlbGVjdG9yICkgew0KCQkJdmFyIG5vZGVOYW1lID0gbm9kZU5hbWVTZWxlY3Rvci5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApLnRvTG93ZXJDYXNlKCk7DQoJCQlyZXR1cm4gbm9kZU5hbWVTZWxlY3RvciA9PT0gIioiID8NCgkJCQlmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0gOg0KCQkJCWZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCQlyZXR1cm4gZWxlbS5ub2RlTmFtZSAmJiBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IG5vZGVOYW1lOw0KCQkJCX07DQoJCX0sDQoNCgkJIkNMQVNTIjogZnVuY3Rpb24oIGNsYXNzTmFtZSApIHsNCgkJCXZhciBwYXR0ZXJuID0gY2xhc3NDYWNoZVsgY2xhc3NOYW1lICsgIiAiIF07DQoNCgkJCXJldHVybiBwYXR0ZXJuIHx8DQoJCQkJKHBhdHRlcm4gPSBuZXcgUmVnRXhwKCAiKF58IiArIHdoaXRlc3BhY2UgKyAiKSIgKyBjbGFzc05hbWUgKyAiKCIgKyB3aGl0ZXNwYWNlICsgInwkKSIgKSkgJiYNCgkJCQljbGFzc0NhY2hlKCBjbGFzc05hbWUsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCQlyZXR1cm4gcGF0dGVybi50ZXN0KCB0eXBlb2YgZWxlbS5jbGFzc05hbWUgPT09ICJzdHJpbmciICYmIGVsZW0uY2xhc3NOYW1lIHx8IHR5cGVvZiBlbGVtLmdldEF0dHJpYnV0ZSAhPT0gInVuZGVmaW5lZCIgJiYgZWxlbS5nZXRBdHRyaWJ1dGUoImNsYXNzIikgfHwgIiIgKTsNCgkJCQl9KTsNCgkJfSwNCg0KCQkiQVRUUiI6IGZ1bmN0aW9uKCBuYW1lLCBvcGVyYXRvciwgY2hlY2sgKSB7DQoJCQlyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQkJdmFyIHJlc3VsdCA9IFNpenpsZS5hdHRyKCBlbGVtLCBuYW1lICk7DQoNCgkJCQlpZiAoIHJlc3VsdCA9PSBudWxsICkgew0KCQkJCQlyZXR1cm4gb3BlcmF0b3IgPT09ICIhPSI7DQoJCQkJfQ0KCQkJCWlmICggIW9wZXJhdG9yICkgew0KCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQl9DQoNCgkJCQlyZXN1bHQgKz0gIiI7DQoNCgkJCQlyZXR1cm4gb3BlcmF0b3IgPT09ICI9IiA_IHJlc3VsdCA9PT0gY2hlY2sgOg0KCQkJCQlvcGVyYXRvciA9PT0gIiE9IiA_IHJlc3VsdCAhPT0gY2hlY2sgOg0KCQkJCQlvcGVyYXRvciA9PT0gIl49IiA_IGNoZWNrICYmIHJlc3VsdC5pbmRleE9mKCBjaGVjayApID09PSAwIDoNCgkJCQkJb3BlcmF0b3IgPT09ICIqPSIgPyBjaGVjayAmJiByZXN1bHQuaW5kZXhPZiggY2hlY2sgKSA-IC0xIDoNCgkJCQkJb3BlcmF0b3IgPT09ICIkPSIgPyBjaGVjayAmJiByZXN1bHQuc2xpY2UoIC1jaGVjay5sZW5ndGggKSA9PT0gY2hlY2sgOg0KCQkJCQlvcGVyYXRvciA9PT0gIn49IiA_ICggIiAiICsgcmVzdWx0LnJlcGxhY2UoIHJ3aGl0ZXNwYWNlLCAiICIgKSArICIgIiApLmluZGV4T2YoIGNoZWNrICkgPiAtMSA6DQoJCQkJCW9wZXJhdG9yID09PSAifD0iID8gcmVzdWx0ID09PSBjaGVjayB8fCByZXN1bHQuc2xpY2UoIDAsIGNoZWNrLmxlbmd0aCArIDEgKSA9PT0gY2hlY2sgKyAiLSIgOg0KCQkJCQlmYWxzZTsNCgkJCX07DQoJCX0sDQoNCgkJIkNISUxEIjogZnVuY3Rpb24oIHR5cGUsIHdoYXQsIGFyZ3VtZW50LCBmaXJzdCwgbGFzdCApIHsNCgkJCXZhciBzaW1wbGUgPSB0eXBlLnNsaWNlKCAwLCAzICkgIT09ICJudGgiLA0KCQkJCWZvcndhcmQgPSB0eXBlLnNsaWNlKCAtNCApICE9PSAibGFzdCIsDQoJCQkJb2ZUeXBlID0gd2hhdCA9PT0gIm9mLXR5cGUiOw0KDQoJCQlyZXR1cm4gZmlyc3QgPT09IDEgJiYgbGFzdCA9PT0gMCA_DQoNCgkJCQkvLyBTaG9ydGN1dCBmb3IgOm50aC0qKG4pDQoJCQkJZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQkJCXJldHVybiAhIWVsZW0ucGFyZW50Tm9kZTsNCgkJCQl9IDoNCg0KCQkJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7DQoJCQkJCXZhciBjYWNoZSwgdW5pcXVlQ2FjaGUsIG91dGVyQ2FjaGUsIG5vZGUsIG5vZGVJbmRleCwgc3RhcnQsDQoJCQkJCQlkaXIgPSBzaW1wbGUgIT09IGZvcndhcmQgPyAibmV4dFNpYmxpbmciIDogInByZXZpb3VzU2libGluZyIsDQoJCQkJCQlwYXJlbnQgPSBlbGVtLnBhcmVudE5vZGUsDQoJCQkJCQluYW1lID0gb2ZUeXBlICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwNCgkJCQkJCXVzZUNhY2hlID0gIXhtbCAmJiAhb2ZUeXBlLA0KCQkJCQkJZGlmZiA9IGZhbHNlOw0KDQoJCQkJCWlmICggcGFyZW50ICkgew0KDQoJCQkJCQkvLyA6KGZpcnN0fGxhc3R8b25seSktKGNoaWxkfG9mLXR5cGUpDQoJCQkJCQlpZiAoIHNpbXBsZSApIHsNCgkJCQkJCQl3aGlsZSAoIGRpciApIHsNCgkJCQkJCQkJbm9kZSA9IGVsZW07DQoJCQkJCQkJCXdoaWxlICggKG5vZGUgPSBub2RlWyBkaXIgXSkgKSB7DQoJCQkJCQkJCQlpZiAoIG9mVHlwZSA_DQoJCQkJCQkJCQkJbm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lIDoNCgkJCQkJCQkJCQlub2RlLm5vZGVUeXBlID09PSAxICkgew0KDQoJCQkJCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQkJCQkJfQ0KCQkJCQkJCQl9DQoJCQkJCQkJCS8vIFJldmVyc2UgZGlyZWN0aW9uIGZvciA6b25seS0qIChpZiB3ZSBoYXZlbid0IHlldCBkb25lIHNvKQ0KCQkJCQkJCQlzdGFydCA9IGRpciA9IHR5cGUgPT09ICJvbmx5IiAmJiAhc3RhcnQgJiYgIm5leHRTaWJsaW5nIjsNCgkJCQkJCQl9DQoJCQkJCQkJcmV0dXJuIHRydWU7DQoJCQkJCQl9DQoNCgkJCQkJCXN0YXJ0ID0gWyBmb3J3YXJkID8gcGFyZW50LmZpcnN0Q2hpbGQgOiBwYXJlbnQubGFzdENoaWxkIF07DQoNCgkJCQkJCS8vIG5vbi14bWwgOm50aC1jaGlsZCguLi4pIHN0b3JlcyBjYWNoZSBkYXRhIG9uIGBwYXJlbnRgDQoJCQkJCQlpZiAoIGZvcndhcmQgJiYgdXNlQ2FjaGUgKSB7DQoNCgkJCQkJCQkvLyBTZWVrIGBlbGVtYCBmcm9tIGEgcHJldmlvdXNseS1jYWNoZWQgaW5kZXgNCg0KCQkJCQkJCS8vIC4uLmluIGEgZ3ppcC1mcmllbmRseSB3YXkNCgkJCQkJCQlub2RlID0gcGFyZW50Ow0KCQkJCQkJCW91dGVyQ2FjaGUgPSBub2RlWyBleHBhbmRvIF0gfHwgKG5vZGVbIGV4cGFuZG8gXSA9IHt9KTsNCg0KCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw5IG9ubHkNCgkJCQkJCQkvLyBEZWZlbmQgYWdhaW5zdCBjbG9uZWQgYXR0cm9wZXJ0aWVzIChqUXVlcnkgZ2gtMTcwOSkNCgkJCQkJCQl1bmlxdWVDYWNoZSA9IG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSB8fA0KCQkJCQkJCQkob3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdID0ge30pOw0KDQoJCQkJCQkJY2FjaGUgPSB1bmlxdWVDYWNoZVsgdHlwZSBdIHx8IFtdOw0KCQkJCQkJCW5vZGVJbmRleCA9IGNhY2hlWyAwIF0gPT09IGRpcnJ1bnMgJiYgY2FjaGVbIDEgXTsNCgkJCQkJCQlkaWZmID0gbm9kZUluZGV4ICYmIGNhY2hlWyAyIF07DQoJCQkJCQkJbm9kZSA9IG5vZGVJbmRleCAmJiBwYXJlbnQuY2hpbGROb2Rlc1sgbm9kZUluZGV4IF07DQoNCgkJCQkJCQl3aGlsZSAoIChub2RlID0gKytub2RlSW5kZXggJiYgbm9kZSAmJiBub2RlWyBkaXIgXSB8fA0KDQoJCQkJCQkJCS8vIEZhbGxiYWNrIHRvIHNlZWtpbmcgYGVsZW1gIGZyb20gdGhlIHN0YXJ0DQoJCQkJCQkJCShkaWZmID0gbm9kZUluZGV4ID0gMCkgfHwgc3RhcnQucG9wKCkpICkgew0KDQoJCQkJCQkJCS8vIFdoZW4gZm91bmQsIGNhY2hlIGluZGV4ZXMgb24gYHBhcmVudGAgYW5kIGJyZWFrDQoJCQkJCQkJCWlmICggbm9kZS5ub2RlVHlwZSA9PT0gMSAmJiArK2RpZmYgJiYgbm9kZSA9PT0gZWxlbSApIHsNCgkJCQkJCQkJCXVuaXF1ZUNhY2hlWyB0eXBlIF0gPSBbIGRpcnJ1bnMsIG5vZGVJbmRleCwgZGlmZiBdOw0KCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCX0NCgkJCQkJCQl9DQoNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJLy8gVXNlIHByZXZpb3VzbHktY2FjaGVkIGVsZW1lbnQgaW5kZXggaWYgYXZhaWxhYmxlDQoJCQkJCQkJaWYgKCB1c2VDYWNoZSApIHsNCgkJCQkJCQkJLy8gLi4uaW4gYSBnemlwLWZyaWVuZGx5IHdheQ0KCQkJCQkJCQlub2RlID0gZWxlbTsNCgkJCQkJCQkJb3V0ZXJDYWNoZSA9IG5vZGVbIGV4cGFuZG8gXSB8fCAobm9kZVsgZXhwYW5kbyBdID0ge30pOw0KDQoJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw5IG9ubHkNCgkJCQkJCQkJLy8gRGVmZW5kIGFnYWluc3QgY2xvbmVkIGF0dHJvcGVydGllcyAoalF1ZXJ5IGdoLTE3MDkpDQoJCQkJCQkJCXVuaXF1ZUNhY2hlID0gb3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdIHx8DQoJCQkJCQkJCQkob3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdID0ge30pOw0KDQoJCQkJCQkJCWNhY2hlID0gdW5pcXVlQ2FjaGVbIHR5cGUgXSB8fCBbXTsNCgkJCQkJCQkJbm9kZUluZGV4ID0gY2FjaGVbIDAgXSA9PT0gZGlycnVucyAmJiBjYWNoZVsgMSBdOw0KCQkJCQkJCQlkaWZmID0gbm9kZUluZGV4Ow0KCQkJCQkJCX0NCg0KCQkJCQkJCS8vIHhtbCA6bnRoLWNoaWxkKC4uLikNCgkJCQkJCQkvLyBvciA6bnRoLWxhc3QtY2hpbGQoLi4uKSBvciA6bnRoKC1sYXN0KT8tb2YtdHlwZSguLi4pDQoJCQkJCQkJaWYgKCBkaWZmID09PSBmYWxzZSApIHsNCgkJCQkJCQkJLy8gVXNlIHRoZSBzYW1lIGxvb3AgYXMgYWJvdmUgdG8gc2VlayBgZWxlbWAgZnJvbSB0aGUgc3RhcnQNCgkJCQkJCQkJd2hpbGUgKCAobm9kZSA9ICsrbm9kZUluZGV4ICYmIG5vZGUgJiYgbm9kZVsgZGlyIF0gfHwNCgkJCQkJCQkJCShkaWZmID0gbm9kZUluZGV4ID0gMCkgfHwgc3RhcnQucG9wKCkpICkgew0KDQoJCQkJCQkJCQlpZiAoICggb2ZUeXBlID8NCgkJCQkJCQkJCQlub2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IG5hbWUgOg0KCQkJCQkJCQkJCW5vZGUubm9kZVR5cGUgPT09IDEgKSAmJg0KCQkJCQkJCQkJCSsrZGlmZiApIHsNCg0KCQkJCQkJCQkJCS8vIENhY2hlIHRoZSBpbmRleCBvZiBlYWNoIGVuY291bnRlcmVkIGVsZW1lbnQNCgkJCQkJCQkJCQlpZiAoIHVzZUNhY2hlICkgew0KCQkJCQkJCQkJCQlvdXRlckNhY2hlID0gbm9kZVsgZXhwYW5kbyBdIHx8IChub2RlWyBleHBhbmRvIF0gPSB7fSk7DQoNCgkJCQkJCQkJCQkJLy8gU3VwcG9ydDogSUUgPDkgb25seQ0KCQkJCQkJCQkJCQkvLyBEZWZlbmQgYWdhaW5zdCBjbG9uZWQgYXR0cm9wZXJ0aWVzIChqUXVlcnkgZ2gtMTcwOSkNCgkJCQkJCQkJCQkJdW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gfHwNCgkJCQkJCQkJCQkJCShvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gPSB7fSk7DQoNCgkJCQkJCQkJCQkJdW5pcXVlQ2FjaGVbIHR5cGUgXSA9IFsgZGlycnVucywgZGlmZiBdOw0KCQkJCQkJCQkJCX0NCg0KCQkJCQkJCQkJCWlmICggbm9kZSA9PT0gZWxlbSApIHsNCgkJCQkJCQkJCQkJYnJlYWs7DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJfQ0KCQkJCQkJCQl9DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KDQoJCQkJCQkvLyBJbmNvcnBvcmF0ZSB0aGUgb2Zmc2V0LCB0aGVuIGNoZWNrIGFnYWluc3QgY3ljbGUgc2l6ZQ0KCQkJCQkJZGlmZiAtPSBsYXN0Ow0KCQkJCQkJcmV0dXJuIGRpZmYgPT09IGZpcnN0IHx8ICggZGlmZiAlIGZpcnN0ID09PSAwICYmIGRpZmYgLyBmaXJzdCA-PSAwICk7DQoJCQkJCX0NCgkJCQl9Ow0KCQl9LA0KDQoJCSJQU0VVRE8iOiBmdW5jdGlvbiggcHNldWRvLCBhcmd1bWVudCApIHsNCgkJCS8vIHBzZXVkby1jbGFzcyBuYW1lcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQ0KCQkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLyNwc2V1ZG8tY2xhc3Nlcw0KCQkJLy8gUHJpb3JpdGl6ZSBieSBjYXNlIHNlbnNpdGl2aXR5IGluIGNhc2UgY3VzdG9tIHBzZXVkb3MgYXJlIGFkZGVkIHdpdGggdXBwZXJjYXNlIGxldHRlcnMNCgkJCS8vIFJlbWVtYmVyIHRoYXQgc2V0RmlsdGVycyBpbmhlcml0cyBmcm9tIHBzZXVkb3MNCgkJCXZhciBhcmdzLA0KCQkJCWZuID0gRXhwci5wc2V1ZG9zWyBwc2V1ZG8gXSB8fCBFeHByLnNldEZpbHRlcnNbIHBzZXVkby50b0xvd2VyQ2FzZSgpIF0gfHwNCgkJCQkJU2l6emxlLmVycm9yKCAidW5zdXBwb3J0ZWQgcHNldWRvOiAiICsgcHNldWRvICk7DQoNCgkJCS8vIFRoZSB1c2VyIG1heSB1c2UgY3JlYXRlUHNldWRvIHRvIGluZGljYXRlIHRoYXQNCgkJCS8vIGFyZ3VtZW50cyBhcmUgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgZmlsdGVyIGZ1bmN0aW9uDQoJCQkvLyBqdXN0IGFzIFNpenpsZSBkb2VzDQoJCQlpZiAoIGZuWyBleHBhbmRvIF0gKSB7DQoJCQkJcmV0dXJuIGZuKCBhcmd1bWVudCApOw0KCQkJfQ0KDQoJCQkvLyBCdXQgbWFpbnRhaW4gc3VwcG9ydCBmb3Igb2xkIHNpZ25hdHVyZXMNCgkJCWlmICggZm4ubGVuZ3RoID4gMSApIHsNCgkJCQlhcmdzID0gWyBwc2V1ZG8sIHBzZXVkbywgIiIsIGFyZ3VtZW50IF07DQoJCQkJcmV0dXJuIEV4cHIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eSggcHNldWRvLnRvTG93ZXJDYXNlKCkgKSA_DQoJCQkJCW1hcmtGdW5jdGlvbihmdW5jdGlvbiggc2VlZCwgbWF0Y2hlcyApIHsNCgkJCQkJCXZhciBpZHgsDQoJCQkJCQkJbWF0Y2hlZCA9IGZuKCBzZWVkLCBhcmd1bWVudCApLA0KCQkJCQkJCWkgPSBtYXRjaGVkLmxlbmd0aDsNCgkJCQkJCXdoaWxlICggaS0tICkgew0KCQkJCQkJCWlkeCA9IGluZGV4T2YoIHNlZWQsIG1hdGNoZWRbaV0gKTsNCgkJCQkJCQlzZWVkWyBpZHggXSA9ICEoIG1hdGNoZXNbIGlkeCBdID0gbWF0Y2hlZFtpXSApOw0KCQkJCQkJfQ0KCQkJCQl9KSA6DQoJCQkJCWZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCQkJcmV0dXJuIGZuKCBlbGVtLCAwLCBhcmdzICk7DQoJCQkJCX07DQoJCQl9DQoNCgkJCXJldHVybiBmbjsNCgkJfQ0KCX0sDQoNCglwc2V1ZG9zOiB7DQoJCS8vIFBvdGVudGlhbGx5IGNvbXBsZXggcHNldWRvcw0KCQkibm90IjogbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJCS8vIFRyaW0gdGhlIHNlbGVjdG9yIHBhc3NlZCB0byBjb21waWxlDQoJCQkvLyB0byBhdm9pZCB0cmVhdGluZyBsZWFkaW5nIGFuZCB0cmFpbGluZw0KCQkJLy8gc3BhY2VzIGFzIGNvbWJpbmF0b3JzDQoJCQl2YXIgaW5wdXQgPSBbXSwNCgkJCQlyZXN1bHRzID0gW10sDQoJCQkJbWF0Y2hlciA9IGNvbXBpbGUoIHNlbGVjdG9yLnJlcGxhY2UoIHJ0cmltLCAiJDEiICkgKTsNCg0KCQkJcmV0dXJuIG1hdGNoZXJbIGV4cGFuZG8gXSA_DQoJCQkJbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWVkLCBtYXRjaGVzLCBjb250ZXh0LCB4bWwgKSB7DQoJCQkJCXZhciBlbGVtLA0KCQkJCQkJdW5tYXRjaGVkID0gbWF0Y2hlciggc2VlZCwgbnVsbCwgeG1sLCBbXSApLA0KCQkJCQkJaSA9IHNlZWQubGVuZ3RoOw0KDQoJCQkJCS8vIE1hdGNoIGVsZW1lbnRzIHVubWF0Y2hlZCBieSBgbWF0Y2hlcmANCgkJCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJCQlpZiAoIChlbGVtID0gdW5tYXRjaGVkW2ldKSApIHsNCgkJCQkJCQlzZWVkW2ldID0gIShtYXRjaGVzW2ldID0gZWxlbSk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9KSA6DQoJCQkJZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHsNCgkJCQkJaW5wdXRbMF0gPSBlbGVtOw0KCQkJCQltYXRjaGVyKCBpbnB1dCwgbnVsbCwgeG1sLCByZXN1bHRzICk7DQoJCQkJCS8vIERvbid0IGtlZXAgdGhlIGVsZW1lbnQgKGlzc3VlICMyOTkpDQoJCQkJCWlucHV0WzBdID0gbnVsbDsNCgkJCQkJcmV0dXJuICFyZXN1bHRzLnBvcCgpOw0KCQkJCX07DQoJCX0pLA0KDQoJCSJoYXMiOiBtYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHNlbGVjdG9yICkgew0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCXJldHVybiBTaXp6bGUoIHNlbGVjdG9yLCBlbGVtICkubGVuZ3RoID4gMDsNCgkJCX07DQoJCX0pLA0KDQoJCSJjb250YWlucyI6IG1hcmtGdW5jdGlvbihmdW5jdGlvbiggdGV4dCApIHsNCgkJCXRleHQgPSB0ZXh0LnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7DQoJCQlyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQkJcmV0dXJuICggZWxlbS50ZXh0Q29udGVudCB8fCBlbGVtLmlubmVyVGV4dCB8fCBnZXRUZXh0KCBlbGVtICkgKS5pbmRleE9mKCB0ZXh0ICkgPiAtMTsNCgkJCX07DQoJCX0pLA0KDQoJCS8vICJXaGV0aGVyIGFuIGVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgYSA6bGFuZygpIHNlbGVjdG9yDQoJCS8vIGlzIGJhc2VkIHNvbGVseSBvbiB0aGUgZWxlbWVudCdzIGxhbmd1YWdlIHZhbHVlDQoJCS8vIGJlaW5nIGVxdWFsIHRvIHRoZSBpZGVudGlmaWVyIEMsDQoJCS8vIG9yIGJlZ2lubmluZyB3aXRoIHRoZSBpZGVudGlmaWVyIEMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgIi0iLg0KCQkvLyBUaGUgbWF0Y2hpbmcgb2YgQyBhZ2FpbnN0IHRoZSBlbGVtZW50J3MgbGFuZ3VhZ2UgdmFsdWUgaXMgcGVyZm9ybWVkIGNhc2UtaW5zZW5zaXRpdmVseS4NCgkJLy8gVGhlIGlkZW50aWZpZXIgQyBkb2VzIG5vdCBoYXZlIHRvIGJlIGEgdmFsaWQgbGFuZ3VhZ2UgbmFtZS4iDQoJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy8jbGFuZy1wc2V1ZG8NCgkJImxhbmciOiBtYXJrRnVuY3Rpb24oIGZ1bmN0aW9uKCBsYW5nICkgew0KCQkJLy8gbGFuZyB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaWRlbnRpZmllcg0KCQkJaWYgKCAhcmlkZW50aWZpZXIudGVzdChsYW5nIHx8ICIiKSApIHsNCgkJCQlTaXp6bGUuZXJyb3IoICJ1bnN1cHBvcnRlZCBsYW5nOiAiICsgbGFuZyApOw0KCQkJfQ0KCQkJbGFuZyA9IGxhbmcucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKS50b0xvd2VyQ2FzZSgpOw0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCXZhciBlbGVtTGFuZzsNCgkJCQlkbyB7DQoJCQkJCWlmICggKGVsZW1MYW5nID0gZG9jdW1lbnRJc0hUTUwgPw0KCQkJCQkJZWxlbS5sYW5nIDoNCgkJCQkJCWVsZW0uZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpIHx8IGVsZW0uZ2V0QXR0cmlidXRlKCJsYW5nIikpICkgew0KDQoJCQkJCQllbGVtTGFuZyA9IGVsZW1MYW5nLnRvTG93ZXJDYXNlKCk7DQoJCQkJCQlyZXR1cm4gZWxlbUxhbmcgPT09IGxhbmcgfHwgZWxlbUxhbmcuaW5kZXhPZiggbGFuZyArICItIiApID09PSAwOw0KCQkJCQl9DQoJCQkJfSB3aGlsZSAoIChlbGVtID0gZWxlbS5wYXJlbnROb2RlKSAmJiBlbGVtLm5vZGVUeXBlID09PSAxICk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfTsNCgkJfSksDQoNCgkJLy8gTWlzY2VsbGFuZW91cw0KCQkidGFyZ2V0IjogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQl2YXIgaGFzaCA9IHdpbmRvdy5sb2NhdGlvbiAmJiB3aW5kb3cubG9jYXRpb24uaGFzaDsNCgkJCXJldHVybiBoYXNoICYmIGhhc2guc2xpY2UoIDEgKSA9PT0gZWxlbS5pZDsNCgkJfSwNCg0KCQkicm9vdCI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuIGVsZW0gPT09IGRvY0VsZW07DQoJCX0sDQoNCgkJImZvY3VzIjogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlyZXR1cm4gZWxlbSA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiAoIWRvY3VtZW50Lmhhc0ZvY3VzIHx8IGRvY3VtZW50Lmhhc0ZvY3VzKCkpICYmICEhKGVsZW0udHlwZSB8fCBlbGVtLmhyZWYgfHwgfmVsZW0udGFiSW5kZXgpOw0KCQl9LA0KDQoJCS8vIEJvb2xlYW4gcHJvcGVydGllcw0KCQkiZW5hYmxlZCI6IGNyZWF0ZURpc2FibGVkUHNldWRvKCBmYWxzZSApLA0KCQkiZGlzYWJsZWQiOiBjcmVhdGVEaXNhYmxlZFBzZXVkbyggdHJ1ZSApLA0KDQoJCSJjaGVja2VkIjogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQkvLyBJbiBDU1MzLCA6Y2hlY2tlZCBzaG91bGQgcmV0dXJuIGJvdGggY2hlY2tlZCBhbmQgc2VsZWN0ZWQgZWxlbWVudHMNCgkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvUkVDLWNzczMtc2VsZWN0b3JzLTIwMTEwOTI5LyNjaGVja2VkDQoJCQl2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJCQlyZXR1cm4gKG5vZGVOYW1lID09PSAiaW5wdXQiICYmICEhZWxlbS5jaGVja2VkKSB8fCAobm9kZU5hbWUgPT09ICJvcHRpb24iICYmICEhZWxlbS5zZWxlY3RlZCk7DQoJCX0sDQoNCgkJInNlbGVjdGVkIjogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQkvLyBBY2Nlc3NpbmcgdGhpcyBwcm9wZXJ0eSBtYWtlcyBzZWxlY3RlZC1ieS1kZWZhdWx0DQoJCQkvLyBvcHRpb25zIGluIFNhZmFyaSB3b3JrIHByb3Blcmx5DQoJCQlpZiAoIGVsZW0ucGFyZW50Tm9kZSApIHsNCgkJCQllbGVtLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleDsNCgkJCX0NCg0KCQkJcmV0dXJuIGVsZW0uc2VsZWN0ZWQgPT09IHRydWU7DQoJCX0sDQoNCgkJLy8gQ29udGVudHMNCgkJImVtcHR5IjogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI2VtcHR5LXBzZXVkbw0KCQkJLy8gOmVtcHR5IGlzIG5lZ2F0ZWQgYnkgZWxlbWVudCAoMSkgb3IgY29udGVudCBub2RlcyAodGV4dDogMzsgY2RhdGE6IDQ7IGVudGl0eSByZWY6IDUpLA0KCQkJLy8gICBidXQgbm90IGJ5IG90aGVycyAoY29tbWVudDogODsgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbjogNzsgZXRjLikNCgkJCS8vIG5vZGVUeXBlIDwgNiB3b3JrcyBiZWNhdXNlIGF0dHJpYnV0ZXMgKDIpIGRvIG5vdCBhcHBlYXIgYXMgY2hpbGRyZW4NCgkJCWZvciAoIGVsZW0gPSBlbGVtLmZpcnN0Q2hpbGQ7IGVsZW07IGVsZW0gPSBlbGVtLm5leHRTaWJsaW5nICkgew0KCQkJCWlmICggZWxlbS5ub2RlVHlwZSA8IDYgKSB7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfSwNCg0KCQkicGFyZW50IjogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlyZXR1cm4gIUV4cHIucHNldWRvc1siZW1wdHkiXSggZWxlbSApOw0KCQl9LA0KDQoJCS8vIEVsZW1lbnQvaW5wdXQgdHlwZXMNCgkJImhlYWRlciI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuIHJoZWFkZXIudGVzdCggZWxlbS5ub2RlTmFtZSApOw0KCQl9LA0KDQoJCSJpbnB1dCI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuIHJpbnB1dHMudGVzdCggZWxlbS5ub2RlTmFtZSApOw0KCQl9LA0KDQoJCSJidXR0b24iOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXZhciBuYW1lID0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOw0KCQkJcmV0dXJuIG5hbWUgPT09ICJpbnB1dCIgJiYgZWxlbS50eXBlID09PSAiYnV0dG9uIiB8fCBuYW1lID09PSAiYnV0dG9uIjsNCgkJfSwNCg0KCQkidGV4dCI6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJdmFyIGF0dHI7DQoJCQlyZXR1cm4gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAiaW5wdXQiICYmDQoJCQkJZWxlbS50eXBlID09PSAidGV4dCIgJiYNCg0KCQkJCS8vIFN1cHBvcnQ6IElFPDgNCgkJCQkvLyBOZXcgSFRNTDUgYXR0cmlidXRlIHZhbHVlcyAoZS5nLiwgInNlYXJjaCIpIGFwcGVhciB3aXRoIGVsZW0udHlwZSA9PT0gInRleHQiDQoJCQkJKCAoYXR0ciA9IGVsZW0uZ2V0QXR0cmlidXRlKCJ0eXBlIikpID09IG51bGwgfHwgYXR0ci50b0xvd2VyQ2FzZSgpID09PSAidGV4dCIgKTsNCgkJfSwNCg0KCQkvLyBQb3NpdGlvbi1pbi1jb2xsZWN0aW9uDQoJCSJmaXJzdCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gWyAwIF07DQoJCX0pLA0KDQoJCSJsYXN0IjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbiggbWF0Y2hJbmRleGVzLCBsZW5ndGggKSB7DQoJCQlyZXR1cm4gWyBsZW5ndGggLSAxIF07DQoJCX0pLA0KDQoJCSJlcSI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoLCBhcmd1bWVudCApIHsNCgkJCXJldHVybiBbIGFyZ3VtZW50IDwgMCA_IGFyZ3VtZW50ICsgbGVuZ3RoIDogYXJndW1lbnQgXTsNCgkJfSksDQoNCgkJImV2ZW4iOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCApIHsNCgkJCXZhciBpID0gMDsNCgkJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSArPSAyICkgew0KCQkJCW1hdGNoSW5kZXhlcy5wdXNoKCBpICk7DQoJCQl9DQoJCQlyZXR1cm4gbWF0Y2hJbmRleGVzOw0KCQl9KSwNCg0KCQkib2RkIjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbiggbWF0Y2hJbmRleGVzLCBsZW5ndGggKSB7DQoJCQl2YXIgaSA9IDE7DQoJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkgKz0gMiApIHsNCgkJCQltYXRjaEluZGV4ZXMucHVzaCggaSApOw0KCQkJfQ0KCQkJcmV0dXJuIG1hdGNoSW5kZXhlczsNCgkJfSksDQoNCgkJImx0IjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbiggbWF0Y2hJbmRleGVzLCBsZW5ndGgsIGFyZ3VtZW50ICkgew0KCQkJdmFyIGkgPSBhcmd1bWVudCA8IDAgPyBhcmd1bWVudCArIGxlbmd0aCA6IGFyZ3VtZW50Ow0KCQkJZm9yICggOyAtLWkgPj0gMDsgKSB7DQoJCQkJbWF0Y2hJbmRleGVzLnB1c2goIGkgKTsNCgkJCX0NCgkJCXJldHVybiBtYXRjaEluZGV4ZXM7DQoJCX0pLA0KDQoJCSJndCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoLCBhcmd1bWVudCApIHsNCgkJCXZhciBpID0gYXJndW1lbnQgPCAwID8gYXJndW1lbnQgKyBsZW5ndGggOiBhcmd1bWVudDsNCgkJCWZvciAoIDsgKytpIDwgbGVuZ3RoOyApIHsNCgkJCQltYXRjaEluZGV4ZXMucHVzaCggaSApOw0KCQkJfQ0KCQkJcmV0dXJuIG1hdGNoSW5kZXhlczsNCgkJfSkNCgl9DQp9Ow0KDQpFeHByLnBzZXVkb3NbIm50aCJdID0gRXhwci5wc2V1ZG9zWyJlcSJdOw0KDQovLyBBZGQgYnV0dG9uL2lucHV0IHR5cGUgcHNldWRvcw0KZm9yICggaSBpbiB7IHJhZGlvOiB0cnVlLCBjaGVja2JveDogdHJ1ZSwgZmlsZTogdHJ1ZSwgcGFzc3dvcmQ6IHRydWUsIGltYWdlOiB0cnVlIH0gKSB7DQoJRXhwci5wc2V1ZG9zWyBpIF0gPSBjcmVhdGVJbnB1dFBzZXVkbyggaSApOw0KfQ0KZm9yICggaSBpbiB7IHN1Ym1pdDogdHJ1ZSwgcmVzZXQ6IHRydWUgfSApIHsNCglFeHByLnBzZXVkb3NbIGkgXSA9IGNyZWF0ZUJ1dHRvblBzZXVkbyggaSApOw0KfQ0KDQovLyBFYXN5IEFQSSBmb3IgY3JlYXRpbmcgbmV3IHNldEZpbHRlcnMNCmZ1bmN0aW9uIHNldEZpbHRlcnMoKSB7fQ0Kc2V0RmlsdGVycy5wcm90b3R5cGUgPSBFeHByLmZpbHRlcnMgPSBFeHByLnBzZXVkb3M7DQpFeHByLnNldEZpbHRlcnMgPSBuZXcgc2V0RmlsdGVycygpOw0KDQp0b2tlbml6ZSA9IFNpenpsZS50b2tlbml6ZSA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgcGFyc2VPbmx5ICkgew0KCXZhciBtYXRjaGVkLCBtYXRjaCwgdG9rZW5zLCB0eXBlLA0KCQlzb0ZhciwgZ3JvdXBzLCBwcmVGaWx0ZXJzLA0KCQljYWNoZWQgPSB0b2tlbkNhY2hlWyBzZWxlY3RvciArICIgIiBdOw0KDQoJaWYgKCBjYWNoZWQgKSB7DQoJCXJldHVybiBwYXJzZU9ubHkgPyAwIDogY2FjaGVkLnNsaWNlKCAwICk7DQoJfQ0KDQoJc29GYXIgPSBzZWxlY3RvcjsNCglncm91cHMgPSBbXTsNCglwcmVGaWx0ZXJzID0gRXhwci5wcmVGaWx0ZXI7DQoNCgl3aGlsZSAoIHNvRmFyICkgew0KDQoJCS8vIENvbW1hIGFuZCBmaXJzdCBydW4NCgkJaWYgKCAhbWF0Y2hlZCB8fCAobWF0Y2ggPSByY29tbWEuZXhlYyggc29GYXIgKSkgKSB7DQoJCQlpZiAoIG1hdGNoICkgew0KCQkJCS8vIERvbid0IGNvbnN1bWUgdHJhaWxpbmcgY29tbWFzIGFzIHZhbGlkDQoJCQkJc29GYXIgPSBzb0Zhci5zbGljZSggbWF0Y2hbMF0ubGVuZ3RoICkgfHwgc29GYXI7DQoJCQl9DQoJCQlncm91cHMucHVzaCggKHRva2VucyA9IFtdKSApOw0KCQl9DQoNCgkJbWF0Y2hlZCA9IGZhbHNlOw0KDQoJCS8vIENvbWJpbmF0b3JzDQoJCWlmICggKG1hdGNoID0gcmNvbWJpbmF0b3JzLmV4ZWMoIHNvRmFyICkpICkgew0KCQkJbWF0Y2hlZCA9IG1hdGNoLnNoaWZ0KCk7DQoJCQl0b2tlbnMucHVzaCh7DQoJCQkJdmFsdWU6IG1hdGNoZWQsDQoJCQkJLy8gQ2FzdCBkZXNjZW5kYW50IGNvbWJpbmF0b3JzIHRvIHNwYWNlDQoJCQkJdHlwZTogbWF0Y2hbMF0ucmVwbGFjZSggcnRyaW0sICIgIiApDQoJCQl9KTsNCgkJCXNvRmFyID0gc29GYXIuc2xpY2UoIG1hdGNoZWQubGVuZ3RoICk7DQoJCX0NCg0KCQkvLyBGaWx0ZXJzDQoJCWZvciAoIHR5cGUgaW4gRXhwci5maWx0ZXIgKSB7DQoJCQlpZiAoIChtYXRjaCA9IG1hdGNoRXhwclsgdHlwZSBdLmV4ZWMoIHNvRmFyICkpICYmICghcHJlRmlsdGVyc1sgdHlwZSBdIHx8DQoJCQkJKG1hdGNoID0gcHJlRmlsdGVyc1sgdHlwZSBdKCBtYXRjaCApKSkgKSB7DQoJCQkJbWF0Y2hlZCA9IG1hdGNoLnNoaWZ0KCk7DQoJCQkJdG9rZW5zLnB1c2goew0KCQkJCQl2YWx1ZTogbWF0Y2hlZCwNCgkJCQkJdHlwZTogdHlwZSwNCgkJCQkJbWF0Y2hlczogbWF0Y2gNCgkJCQl9KTsNCgkJCQlzb0ZhciA9IHNvRmFyLnNsaWNlKCBtYXRjaGVkLmxlbmd0aCApOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCAhbWF0Y2hlZCApIHsNCgkJCWJyZWFrOw0KCQl9DQoJfQ0KDQoJLy8gUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGludmFsaWQgZXhjZXNzDQoJLy8gaWYgd2UncmUganVzdCBwYXJzaW5nDQoJLy8gT3RoZXJ3aXNlLCB0aHJvdyBhbiBlcnJvciBvciByZXR1cm4gdG9rZW5zDQoJcmV0dXJuIHBhcnNlT25seSA_DQoJCXNvRmFyLmxlbmd0aCA6DQoJCXNvRmFyID8NCgkJCVNpenpsZS5lcnJvciggc2VsZWN0b3IgKSA6DQoJCQkvLyBDYWNoZSB0aGUgdG9rZW5zDQoJCQl0b2tlbkNhY2hlKCBzZWxlY3RvciwgZ3JvdXBzICkuc2xpY2UoIDAgKTsNCn07DQoNCmZ1bmN0aW9uIHRvU2VsZWN0b3IoIHRva2VucyApIHsNCgl2YXIgaSA9IDAsDQoJCWxlbiA9IHRva2Vucy5sZW5ndGgsDQoJCXNlbGVjdG9yID0gIiI7DQoJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7DQoJCXNlbGVjdG9yICs9IHRva2Vuc1tpXS52YWx1ZTsNCgl9DQoJcmV0dXJuIHNlbGVjdG9yOw0KfQ0KDQpmdW5jdGlvbiBhZGRDb21iaW5hdG9yKCBtYXRjaGVyLCBjb21iaW5hdG9yLCBiYXNlICkgew0KCXZhciBkaXIgPSBjb21iaW5hdG9yLmRpciwNCgkJc2tpcCA9IGNvbWJpbmF0b3IubmV4dCwNCgkJa2V5ID0gc2tpcCB8fCBkaXIsDQoJCWNoZWNrTm9uRWxlbWVudHMgPSBiYXNlICYmIGtleSA9PT0gInBhcmVudE5vZGUiLA0KCQlkb25lTmFtZSA9IGRvbmUrKzsNCg0KCXJldHVybiBjb21iaW5hdG9yLmZpcnN0ID8NCgkJLy8gQ2hlY2sgYWdhaW5zdCBjbG9zZXN0IGFuY2VzdG9yL3ByZWNlZGluZyBlbGVtZW50DQoJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7DQoJCQl3aGlsZSAoIChlbGVtID0gZWxlbVsgZGlyIF0pICkgew0KCQkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSB8fCBjaGVja05vbkVsZW1lbnRzICkgew0KCQkJCQlyZXR1cm4gbWF0Y2hlciggZWxlbSwgY29udGV4dCwgeG1sICk7DQoJCQkJfQ0KCQkJfQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9IDoNCg0KCQkvLyBDaGVjayBhZ2FpbnN0IGFsbCBhbmNlc3Rvci9wcmVjZWRpbmcgZWxlbWVudHMNCgkJZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHsNCgkJCXZhciBvbGRDYWNoZSwgdW5pcXVlQ2FjaGUsIG91dGVyQ2FjaGUsDQoJCQkJbmV3Q2FjaGUgPSBbIGRpcnJ1bnMsIGRvbmVOYW1lIF07DQoNCgkJCS8vIFdlIGNhbid0IHNldCBhcmJpdHJhcnkgZGF0YSBvbiBYTUwgbm9kZXMsIHNvIHRoZXkgZG9uJ3QgYmVuZWZpdCBmcm9tIGNvbWJpbmF0b3IgY2FjaGluZw0KCQkJaWYgKCB4bWwgKSB7DQoJCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1bIGRpciBdKSApIHsNCgkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxIHx8IGNoZWNrTm9uRWxlbWVudHMgKSB7DQoJCQkJCQlpZiAoIG1hdGNoZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApICkgew0KCQkJCQkJCXJldHVybiB0cnVlOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCgkJCQl3aGlsZSAoIChlbGVtID0gZWxlbVsgZGlyIF0pICkgew0KCQkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgY2hlY2tOb25FbGVtZW50cyApIHsNCgkJCQkJCW91dGVyQ2FjaGUgPSBlbGVtWyBleHBhbmRvIF0gfHwgKGVsZW1bIGV4cGFuZG8gXSA9IHt9KTsNCg0KCQkJCQkJLy8gU3VwcG9ydDogSUUgPDkgb25seQ0KCQkJCQkJLy8gRGVmZW5kIGFnYWluc3QgY2xvbmVkIGF0dHJvcGVydGllcyAoalF1ZXJ5IGdoLTE3MDkpDQoJCQkJCQl1bmlxdWVDYWNoZSA9IG91dGVyQ2FjaGVbIGVsZW0udW5pcXVlSUQgXSB8fCAob3V0ZXJDYWNoZVsgZWxlbS51bmlxdWVJRCBdID0ge30pOw0KDQoJCQkJCQlpZiAoIHNraXAgJiYgc2tpcCA9PT0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICkgew0KCQkJCQkJCWVsZW0gPSBlbGVtWyBkaXIgXSB8fCBlbGVtOw0KCQkJCQkJfSBlbHNlIGlmICggKG9sZENhY2hlID0gdW5pcXVlQ2FjaGVbIGtleSBdKSAmJg0KCQkJCQkJCW9sZENhY2hlWyAwIF0gPT09IGRpcnJ1bnMgJiYgb2xkQ2FjaGVbIDEgXSA9PT0gZG9uZU5hbWUgKSB7DQoNCgkJCQkJCQkvLyBBc3NpZ24gdG8gbmV3Q2FjaGUgc28gcmVzdWx0cyBiYWNrLXByb3BhZ2F0ZSB0byBwcmV2aW91cyBlbGVtZW50cw0KCQkJCQkJCXJldHVybiAobmV3Q2FjaGVbIDIgXSA9IG9sZENhY2hlWyAyIF0pOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkvLyBSZXVzZSBuZXdjYWNoZSBzbyByZXN1bHRzIGJhY2stcHJvcGFnYXRlIHRvIHByZXZpb3VzIGVsZW1lbnRzDQoJCQkJCQkJdW5pcXVlQ2FjaGVbIGtleSBdID0gbmV3Q2FjaGU7DQoNCgkJCQkJCQkvLyBBIG1hdGNoIG1lYW5zIHdlJ3JlIGRvbmU7IGEgZmFpbCBtZWFucyB3ZSBoYXZlIHRvIGtlZXAgY2hlY2tpbmcNCgkJCQkJCQlpZiAoIChuZXdDYWNoZVsgMiBdID0gbWF0Y2hlciggZWxlbSwgY29udGV4dCwgeG1sICkpICkgew0KCQkJCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX07DQp9DQoNCmZ1bmN0aW9uIGVsZW1lbnRNYXRjaGVyKCBtYXRjaGVycyApIHsNCglyZXR1cm4gbWF0Y2hlcnMubGVuZ3RoID4gMSA_DQoJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7DQoJCQl2YXIgaSA9IG1hdGNoZXJzLmxlbmd0aDsNCgkJCXdoaWxlICggaS0tICkgew0KCQkJCWlmICggIW1hdGNoZXJzW2ldKCBlbGVtLCBjb250ZXh0LCB4bWwgKSApIHsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0NCgkJCXJldHVybiB0cnVlOw0KCQl9IDoNCgkJbWF0Y2hlcnNbMF07DQp9DQoNCmZ1bmN0aW9uIG11bHRpcGxlQ29udGV4dHMoIHNlbGVjdG9yLCBjb250ZXh0cywgcmVzdWx0cyApIHsNCgl2YXIgaSA9IDAsDQoJCWxlbiA9IGNvbnRleHRzLmxlbmd0aDsNCglmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsNCgkJU2l6emxlKCBzZWxlY3RvciwgY29udGV4dHNbaV0sIHJlc3VsdHMgKTsNCgl9DQoJcmV0dXJuIHJlc3VsdHM7DQp9DQoNCmZ1bmN0aW9uIGNvbmRlbnNlKCB1bm1hdGNoZWQsIG1hcCwgZmlsdGVyLCBjb250ZXh0LCB4bWwgKSB7DQoJdmFyIGVsZW0sDQoJCW5ld1VubWF0Y2hlZCA9IFtdLA0KCQlpID0gMCwNCgkJbGVuID0gdW5tYXRjaGVkLmxlbmd0aCwNCgkJbWFwcGVkID0gbWFwICE9IG51bGw7DQoNCglmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsNCgkJaWYgKCAoZWxlbSA9IHVubWF0Y2hlZFtpXSkgKSB7DQoJCQlpZiAoICFmaWx0ZXIgfHwgZmlsdGVyKCBlbGVtLCBjb250ZXh0LCB4bWwgKSApIHsNCgkJCQluZXdVbm1hdGNoZWQucHVzaCggZWxlbSApOw0KCQkJCWlmICggbWFwcGVkICkgew0KCQkJCQltYXAucHVzaCggaSApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCg0KCXJldHVybiBuZXdVbm1hdGNoZWQ7DQp9DQoNCmZ1bmN0aW9uIHNldE1hdGNoZXIoIHByZUZpbHRlciwgc2VsZWN0b3IsIG1hdGNoZXIsIHBvc3RGaWx0ZXIsIHBvc3RGaW5kZXIsIHBvc3RTZWxlY3RvciApIHsNCglpZiAoIHBvc3RGaWx0ZXIgJiYgIXBvc3RGaWx0ZXJbIGV4cGFuZG8gXSApIHsNCgkJcG9zdEZpbHRlciA9IHNldE1hdGNoZXIoIHBvc3RGaWx0ZXIgKTsNCgl9DQoJaWYgKCBwb3N0RmluZGVyICYmICFwb3N0RmluZGVyWyBleHBhbmRvIF0gKSB7DQoJCXBvc3RGaW5kZXIgPSBzZXRNYXRjaGVyKCBwb3N0RmluZGVyLCBwb3N0U2VsZWN0b3IgKTsNCgl9DQoJcmV0dXJuIG1hcmtGdW5jdGlvbihmdW5jdGlvbiggc2VlZCwgcmVzdWx0cywgY29udGV4dCwgeG1sICkgew0KCQl2YXIgdGVtcCwgaSwgZWxlbSwNCgkJCXByZU1hcCA9IFtdLA0KCQkJcG9zdE1hcCA9IFtdLA0KCQkJcHJlZXhpc3RpbmcgPSByZXN1bHRzLmxlbmd0aCwNCg0KCQkJLy8gR2V0IGluaXRpYWwgZWxlbWVudHMgZnJvbSBzZWVkIG9yIGNvbnRleHQNCgkJCWVsZW1zID0gc2VlZCB8fCBtdWx0aXBsZUNvbnRleHRzKCBzZWxlY3RvciB8fCAiKiIsIGNvbnRleHQubm9kZVR5cGUgPyBbIGNvbnRleHQgXSA6IGNvbnRleHQsIFtdICksDQoNCgkJCS8vIFByZWZpbHRlciB0byBnZXQgbWF0Y2hlciBpbnB1dCwgcHJlc2VydmluZyBhIG1hcCBmb3Igc2VlZC1yZXN1bHRzIHN5bmNocm9uaXphdGlvbg0KCQkJbWF0Y2hlckluID0gcHJlRmlsdGVyICYmICggc2VlZCB8fCAhc2VsZWN0b3IgKSA_DQoJCQkJY29uZGVuc2UoIGVsZW1zLCBwcmVNYXAsIHByZUZpbHRlciwgY29udGV4dCwgeG1sICkgOg0KCQkJCWVsZW1zLA0KDQoJCQltYXRjaGVyT3V0ID0gbWF0Y2hlciA_DQoJCQkJLy8gSWYgd2UgaGF2ZSBhIHBvc3RGaW5kZXIsIG9yIGZpbHRlcmVkIHNlZWQsIG9yIG5vbi1zZWVkIHBvc3RGaWx0ZXIgb3IgcHJlZXhpc3RpbmcgcmVzdWx0cywNCgkJCQlwb3N0RmluZGVyIHx8ICggc2VlZCA_IHByZUZpbHRlciA6IHByZWV4aXN0aW5nIHx8IHBvc3RGaWx0ZXIgKSA_DQoNCgkJCQkJLy8gLi4uaW50ZXJtZWRpYXRlIHByb2Nlc3NpbmcgaXMgbmVjZXNzYXJ5DQoJCQkJCVtdIDoNCg0KCQkJCQkvLyAuLi5vdGhlcndpc2UgdXNlIHJlc3VsdHMgZGlyZWN0bHkNCgkJCQkJcmVzdWx0cyA6DQoJCQkJbWF0Y2hlckluOw0KDQoJCS8vIEZpbmQgcHJpbWFyeSBtYXRjaGVzDQoJCWlmICggbWF0Y2hlciApIHsNCgkJCW1hdGNoZXIoIG1hdGNoZXJJbiwgbWF0Y2hlck91dCwgY29udGV4dCwgeG1sICk7DQoJCX0NCg0KCQkvLyBBcHBseSBwb3N0RmlsdGVyDQoJCWlmICggcG9zdEZpbHRlciApIHsNCgkJCXRlbXAgPSBjb25kZW5zZSggbWF0Y2hlck91dCwgcG9zdE1hcCApOw0KCQkJcG9zdEZpbHRlciggdGVtcCwgW10sIGNvbnRleHQsIHhtbCApOw0KDQoJCQkvLyBVbi1tYXRjaCBmYWlsaW5nIGVsZW1lbnRzIGJ5IG1vdmluZyB0aGVtIGJhY2sgdG8gbWF0Y2hlckluDQoJCQlpID0gdGVtcC5sZW5ndGg7DQoJCQl3aGlsZSAoIGktLSApIHsNCgkJCQlpZiAoIChlbGVtID0gdGVtcFtpXSkgKSB7DQoJCQkJCW1hdGNoZXJPdXRbIHBvc3RNYXBbaV0gXSA9ICEobWF0Y2hlckluWyBwb3N0TWFwW2ldIF0gPSBlbGVtKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlpZiAoIHNlZWQgKSB7DQoJCQlpZiAoIHBvc3RGaW5kZXIgfHwgcHJlRmlsdGVyICkgew0KCQkJCWlmICggcG9zdEZpbmRlciApIHsNCgkJCQkJLy8gR2V0IHRoZSBmaW5hbCBtYXRjaGVyT3V0IGJ5IGNvbmRlbnNpbmcgdGhpcyBpbnRlcm1lZGlhdGUgaW50byBwb3N0RmluZGVyIGNvbnRleHRzDQoJCQkJCXRlbXAgPSBbXTsNCgkJCQkJaSA9IG1hdGNoZXJPdXQubGVuZ3RoOw0KCQkJCQl3aGlsZSAoIGktLSApIHsNCgkJCQkJCWlmICggKGVsZW0gPSBtYXRjaGVyT3V0W2ldKSApIHsNCgkJCQkJCQkvLyBSZXN0b3JlIG1hdGNoZXJJbiBzaW5jZSBlbGVtIGlzIG5vdCB5ZXQgYSBmaW5hbCBtYXRjaA0KCQkJCQkJCXRlbXAucHVzaCggKG1hdGNoZXJJbltpXSA9IGVsZW0pICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJcG9zdEZpbmRlciggbnVsbCwgKG1hdGNoZXJPdXQgPSBbXSksIHRlbXAsIHhtbCApOw0KCQkJCX0NCg0KCQkJCS8vIE1vdmUgbWF0Y2hlZCBlbGVtZW50cyBmcm9tIHNlZWQgdG8gcmVzdWx0cyB0byBrZWVwIHRoZW0gc3luY2hyb25pemVkDQoJCQkJaSA9IG1hdGNoZXJPdXQubGVuZ3RoOw0KCQkJCXdoaWxlICggaS0tICkgew0KCQkJCQlpZiAoIChlbGVtID0gbWF0Y2hlck91dFtpXSkgJiYNCgkJCQkJCSh0ZW1wID0gcG9zdEZpbmRlciA_IGluZGV4T2YoIHNlZWQsIGVsZW0gKSA6IHByZU1hcFtpXSkgPiAtMSApIHsNCg0KCQkJCQkJc2VlZFt0ZW1wXSA9ICEocmVzdWx0c1t0ZW1wXSA9IGVsZW0pOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCS8vIEFkZCBlbGVtZW50cyB0byByZXN1bHRzLCB0aHJvdWdoIHBvc3RGaW5kZXIgaWYgZGVmaW5lZA0KCQl9IGVsc2Ugew0KCQkJbWF0Y2hlck91dCA9IGNvbmRlbnNlKA0KCQkJCW1hdGNoZXJPdXQgPT09IHJlc3VsdHMgPw0KCQkJCQltYXRjaGVyT3V0LnNwbGljZSggcHJlZXhpc3RpbmcsIG1hdGNoZXJPdXQubGVuZ3RoICkgOg0KCQkJCQltYXRjaGVyT3V0DQoJCQkpOw0KCQkJaWYgKCBwb3N0RmluZGVyICkgew0KCQkJCXBvc3RGaW5kZXIoIG51bGwsIHJlc3VsdHMsIG1hdGNoZXJPdXQsIHhtbCApOw0KCQkJfSBlbHNlIHsNCgkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLCBtYXRjaGVyT3V0ICk7DQoJCQl9DQoJCX0NCgl9KTsNCn0NCg0KZnVuY3Rpb24gbWF0Y2hlckZyb21Ub2tlbnMoIHRva2VucyApIHsNCgl2YXIgY2hlY2tDb250ZXh0LCBtYXRjaGVyLCBqLA0KCQlsZW4gPSB0b2tlbnMubGVuZ3RoLA0KCQlsZWFkaW5nUmVsYXRpdmUgPSBFeHByLnJlbGF0aXZlWyB0b2tlbnNbMF0udHlwZSBdLA0KCQlpbXBsaWNpdFJlbGF0aXZlID0gbGVhZGluZ1JlbGF0aXZlIHx8IEV4cHIucmVsYXRpdmVbIiAiXSwNCgkJaSA9IGxlYWRpbmdSZWxhdGl2ZSA_IDEgOiAwLA0KDQoJCS8vIFRoZSBmb3VuZGF0aW9uYWwgbWF0Y2hlciBlbnN1cmVzIHRoYXQgZWxlbWVudHMgYXJlIHJlYWNoYWJsZSBmcm9tIHRvcC1sZXZlbCBjb250ZXh0KHMpDQoJCW1hdGNoQ29udGV4dCA9IGFkZENvbWJpbmF0b3IoIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuIGVsZW0gPT09IGNoZWNrQ29udGV4dDsNCgkJfSwgaW1wbGljaXRSZWxhdGl2ZSwgdHJ1ZSApLA0KCQltYXRjaEFueUNvbnRleHQgPSBhZGRDb21iaW5hdG9yKCBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiBpbmRleE9mKCBjaGVja0NvbnRleHQsIGVsZW0gKSA-IC0xOw0KCQl9LCBpbXBsaWNpdFJlbGF0aXZlLCB0cnVlICksDQoJCW1hdGNoZXJzID0gWyBmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgew0KCQkJdmFyIHJldCA9ICggIWxlYWRpbmdSZWxhdGl2ZSAmJiAoIHhtbCB8fCBjb250ZXh0ICE9PSBvdXRlcm1vc3RDb250ZXh0ICkgKSB8fCAoDQoJCQkJKGNoZWNrQ29udGV4dCA9IGNvbnRleHQpLm5vZGVUeXBlID8NCgkJCQkJbWF0Y2hDb250ZXh0KCBlbGVtLCBjb250ZXh0LCB4bWwgKSA6DQoJCQkJCW1hdGNoQW55Q29udGV4dCggZWxlbSwgY29udGV4dCwgeG1sICkgKTsNCgkJCS8vIEF2b2lkIGhhbmdpbmcgb250byBlbGVtZW50IChpc3N1ZSAjMjk5KQ0KCQkJY2hlY2tDb250ZXh0ID0gbnVsbDsNCgkJCXJldHVybiByZXQ7DQoJCX0gXTsNCg0KCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgew0KCQlpZiAoIChtYXRjaGVyID0gRXhwci5yZWxhdGl2ZVsgdG9rZW5zW2ldLnR5cGUgXSkgKSB7DQoJCQltYXRjaGVycyA9IFsgYWRkQ29tYmluYXRvcihlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKSwgbWF0Y2hlcikgXTsNCgkJfSBlbHNlIHsNCgkJCW1hdGNoZXIgPSBFeHByLmZpbHRlclsgdG9rZW5zW2ldLnR5cGUgXS5hcHBseSggbnVsbCwgdG9rZW5zW2ldLm1hdGNoZXMgKTsNCg0KCQkJLy8gUmV0dXJuIHNwZWNpYWwgdXBvbiBzZWVpbmcgYSBwb3NpdGlvbmFsIG1hdGNoZXINCgkJCWlmICggbWF0Y2hlclsgZXhwYW5kbyBdICkgew0KCQkJCS8vIEZpbmQgdGhlIG5leHQgcmVsYXRpdmUgb3BlcmF0b3IgKGlmIGFueSkgZm9yIHByb3BlciBoYW5kbGluZw0KCQkJCWogPSArK2k7DQoJCQkJZm9yICggOyBqIDwgbGVuOyBqKysgKSB7DQoJCQkJCWlmICggRXhwci5yZWxhdGl2ZVsgdG9rZW5zW2pdLnR5cGUgXSApIHsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCXJldHVybiBzZXRNYXRjaGVyKA0KCQkJCQlpID4gMSAmJiBlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKSwNCgkJCQkJaSA-IDEgJiYgdG9TZWxlY3RvcigNCgkJCQkJCS8vIElmIHRoZSBwcmVjZWRpbmcgdG9rZW4gd2FzIGEgZGVzY2VuZGFudCBjb21iaW5hdG9yLCBpbnNlcnQgYW4gaW1wbGljaXQgYW55LWVsZW1lbnQgYCpgDQoJCQkJCQl0b2tlbnMuc2xpY2UoIDAsIGkgLSAxICkuY29uY2F0KHsgdmFsdWU6IHRva2Vuc1sgaSAtIDIgXS50eXBlID09PSAiICIgPyAiKiIgOiAiIiB9KQ0KCQkJCQkpLnJlcGxhY2UoIHJ0cmltLCAiJDEiICksDQoJCQkJCW1hdGNoZXIsDQoJCQkJCWkgPCBqICYmIG1hdGNoZXJGcm9tVG9rZW5zKCB0b2tlbnMuc2xpY2UoIGksIGogKSApLA0KCQkJCQlqIDwgbGVuICYmIG1hdGNoZXJGcm9tVG9rZW5zKCAodG9rZW5zID0gdG9rZW5zLnNsaWNlKCBqICkpICksDQoJCQkJCWogPCBsZW4gJiYgdG9TZWxlY3RvciggdG9rZW5zICkNCgkJCQkpOw0KCQkJfQ0KCQkJbWF0Y2hlcnMucHVzaCggbWF0Y2hlciApOw0KCQl9DQoJfQ0KDQoJcmV0dXJuIGVsZW1lbnRNYXRjaGVyKCBtYXRjaGVycyApOw0KfQ0KDQpmdW5jdGlvbiBtYXRjaGVyRnJvbUdyb3VwTWF0Y2hlcnMoIGVsZW1lbnRNYXRjaGVycywgc2V0TWF0Y2hlcnMgKSB7DQoJdmFyIGJ5U2V0ID0gc2V0TWF0Y2hlcnMubGVuZ3RoID4gMCwNCgkJYnlFbGVtZW50ID0gZWxlbWVudE1hdGNoZXJzLmxlbmd0aCA-IDAsDQoJCXN1cGVyTWF0Y2hlciA9IGZ1bmN0aW9uKCBzZWVkLCBjb250ZXh0LCB4bWwsIHJlc3VsdHMsIG91dGVybW9zdCApIHsNCgkJCXZhciBlbGVtLCBqLCBtYXRjaGVyLA0KCQkJCW1hdGNoZWRDb3VudCA9IDAsDQoJCQkJaSA9ICIwIiwNCgkJCQl1bm1hdGNoZWQgPSBzZWVkICYmIFtdLA0KCQkJCXNldE1hdGNoZWQgPSBbXSwNCgkJCQljb250ZXh0QmFja3VwID0gb3V0ZXJtb3N0Q29udGV4dCwNCgkJCQkvLyBXZSBtdXN0IGFsd2F5cyBoYXZlIGVpdGhlciBzZWVkIGVsZW1lbnRzIG9yIG91dGVybW9zdCBjb250ZXh0DQoJCQkJZWxlbXMgPSBzZWVkIHx8IGJ5RWxlbWVudCAmJiBFeHByLmZpbmRbIlRBRyJdKCAiKiIsIG91dGVybW9zdCApLA0KCQkJCS8vIFVzZSBpbnRlZ2VyIGRpcnJ1bnMgaWZmIHRoaXMgaXMgdGhlIG91dGVybW9zdCBtYXRjaGVyDQoJCQkJZGlycnVuc1VuaXF1ZSA9IChkaXJydW5zICs9IGNvbnRleHRCYWNrdXAgPT0gbnVsbCA_IDEgOiBNYXRoLnJhbmRvbSgpIHx8IDAuMSksDQoJCQkJbGVuID0gZWxlbXMubGVuZ3RoOw0KDQoJCQlpZiAoIG91dGVybW9zdCApIHsNCgkJCQlvdXRlcm1vc3RDb250ZXh0ID0gY29udGV4dCA9PT0gZG9jdW1lbnQgfHwgY29udGV4dCB8fCBvdXRlcm1vc3Q7DQoJCQl9DQoNCgkJCS8vIEFkZCBlbGVtZW50cyBwYXNzaW5nIGVsZW1lbnRNYXRjaGVycyBkaXJlY3RseSB0byByZXN1bHRzDQoJCQkvLyBTdXBwb3J0OiBJRTw5LCBTYWZhcmkNCgkJCS8vIFRvbGVyYXRlIE5vZGVMaXN0IHByb3BlcnRpZXMgKElFOiAibGVuZ3RoIjsgU2FmYXJpOiA8bnVtYmVyPikgbWF0Y2hpbmcgZWxlbWVudHMgYnkgaWQNCgkJCWZvciAoIDsgaSAhPT0gbGVuICYmIChlbGVtID0gZWxlbXNbaV0pICE9IG51bGw7IGkrKyApIHsNCgkJCQlpZiAoIGJ5RWxlbWVudCAmJiBlbGVtICkgew0KCQkJCQlqID0gMDsNCgkJCQkJaWYgKCAhY29udGV4dCAmJiBlbGVtLm93bmVyRG9jdW1lbnQgIT09IGRvY3VtZW50ICkgew0KCQkJCQkJc2V0RG9jdW1lbnQoIGVsZW0gKTsNCgkJCQkJCXhtbCA9ICFkb2N1bWVudElzSFRNTDsNCgkJCQkJfQ0KCQkJCQl3aGlsZSAoIChtYXRjaGVyID0gZWxlbWVudE1hdGNoZXJzW2orK10pICkgew0KCQkJCQkJaWYgKCBtYXRjaGVyKCBlbGVtLCBjb250ZXh0IHx8IGRvY3VtZW50LCB4bWwpICkgew0KCQkJCQkJCXJlc3VsdHMucHVzaCggZWxlbSApOw0KCQkJCQkJCWJyZWFrOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWlmICggb3V0ZXJtb3N0ICkgew0KCQkJCQkJZGlycnVucyA9IGRpcnJ1bnNVbmlxdWU7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQkvLyBUcmFjayB1bm1hdGNoZWQgZWxlbWVudHMgZm9yIHNldCBmaWx0ZXJzDQoJCQkJaWYgKCBieVNldCApIHsNCgkJCQkJLy8gVGhleSB3aWxsIGhhdmUgZ29uZSB0aHJvdWdoIGFsbCBwb3NzaWJsZSBtYXRjaGVycw0KCQkJCQlpZiAoIChlbGVtID0gIW1hdGNoZXIgJiYgZWxlbSkgKSB7DQoJCQkJCQltYXRjaGVkQ291bnQtLTsNCgkJCQkJfQ0KDQoJCQkJCS8vIExlbmd0aGVuIHRoZSBhcnJheSBmb3IgZXZlcnkgZWxlbWVudCwgbWF0Y2hlZCBvciBub3QNCgkJCQkJaWYgKCBzZWVkICkgew0KCQkJCQkJdW5tYXRjaGVkLnB1c2goIGVsZW0gKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gYGlgIGlzIG5vdyB0aGUgY291bnQgb2YgZWxlbWVudHMgdmlzaXRlZCBhYm92ZSwgYW5kIGFkZGluZyBpdCB0byBgbWF0Y2hlZENvdW50YA0KCQkJLy8gbWFrZXMgdGhlIGxhdHRlciBub25uZWdhdGl2ZS4NCgkJCW1hdGNoZWRDb3VudCArPSBpOw0KDQoJCQkvLyBBcHBseSBzZXQgZmlsdGVycyB0byB1bm1hdGNoZWQgZWxlbWVudHMNCgkJCS8vIE5PVEU6IFRoaXMgY2FuIGJlIHNraXBwZWQgaWYgdGhlcmUgYXJlIG5vIHVubWF0Y2hlZCBlbGVtZW50cyAoaS5lLiwgYG1hdGNoZWRDb3VudGANCgkJCS8vIGVxdWFscyBgaWApLCB1bmxlc3Mgd2UgZGlkbid0IHZpc2l0IF9hbnlfIGVsZW1lbnRzIGluIHRoZSBhYm92ZSBsb29wIGJlY2F1c2Ugd2UgaGF2ZQ0KCQkJLy8gbm8gZWxlbWVudCBtYXRjaGVycyBhbmQgbm8gc2VlZC4NCgkJCS8vIEluY3JlbWVudGluZyBhbiBpbml0aWFsbHktc3RyaW5nICIwIiBgaWAgYWxsb3dzIGBpYCB0byByZW1haW4gYSBzdHJpbmcgb25seSBpbiB0aGF0DQoJCQkvLyBjYXNlLCB3aGljaCB3aWxsIHJlc3VsdCBpbiBhICIwMCIgYG1hdGNoZWRDb3VudGAgdGhhdCBkaWZmZXJzIGZyb20gYGlgIGJ1dCBpcyBhbHNvDQoJCQkvLyBudW1lcmljYWxseSB6ZXJvLg0KCQkJaWYgKCBieVNldCAmJiBpICE9PSBtYXRjaGVkQ291bnQgKSB7DQoJCQkJaiA9IDA7DQoJCQkJd2hpbGUgKCAobWF0Y2hlciA9IHNldE1hdGNoZXJzW2orK10pICkgew0KCQkJCQltYXRjaGVyKCB1bm1hdGNoZWQsIHNldE1hdGNoZWQsIGNvbnRleHQsIHhtbCApOw0KCQkJCX0NCg0KCQkJCWlmICggc2VlZCApIHsNCgkJCQkJLy8gUmVpbnRlZ3JhdGUgZWxlbWVudCBtYXRjaGVzIHRvIGVsaW1pbmF0ZSB0aGUgbmVlZCBmb3Igc29ydGluZw0KCQkJCQlpZiAoIG1hdGNoZWRDb3VudCA-IDAgKSB7DQoJCQkJCQl3aGlsZSAoIGktLSApIHsNCgkJCQkJCQlpZiAoICEodW5tYXRjaGVkW2ldIHx8IHNldE1hdGNoZWRbaV0pICkgew0KCQkJCQkJCQlzZXRNYXRjaGVkW2ldID0gcG9wLmNhbGwoIHJlc3VsdHMgKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQkvLyBEaXNjYXJkIGluZGV4IHBsYWNlaG9sZGVyIHZhbHVlcyB0byBnZXQgb25seSBhY3R1YWwgbWF0Y2hlcw0KCQkJCQlzZXRNYXRjaGVkID0gY29uZGVuc2UoIHNldE1hdGNoZWQgKTsNCgkJCQl9DQoNCgkJCQkvLyBBZGQgbWF0Y2hlcyB0byByZXN1bHRzDQoJCQkJcHVzaC5hcHBseSggcmVzdWx0cywgc2V0TWF0Y2hlZCApOw0KDQoJCQkJLy8gU2VlZGxlc3Mgc2V0IG1hdGNoZXMgc3VjY2VlZGluZyBtdWx0aXBsZSBzdWNjZXNzZnVsIG1hdGNoZXJzIHN0aXB1bGF0ZSBzb3J0aW5nDQoJCQkJaWYgKCBvdXRlcm1vc3QgJiYgIXNlZWQgJiYgc2V0TWF0Y2hlZC5sZW5ndGggPiAwICYmDQoJCQkJCSggbWF0Y2hlZENvdW50ICsgc2V0TWF0Y2hlcnMubGVuZ3RoICkgPiAxICkgew0KDQoJCQkJCVNpenpsZS51bmlxdWVTb3J0KCByZXN1bHRzICk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBPdmVycmlkZSBtYW5pcHVsYXRpb24gb2YgZ2xvYmFscyBieSBuZXN0ZWQgbWF0Y2hlcnMNCgkJCWlmICggb3V0ZXJtb3N0ICkgew0KCQkJCWRpcnJ1bnMgPSBkaXJydW5zVW5pcXVlOw0KCQkJCW91dGVybW9zdENvbnRleHQgPSBjb250ZXh0QmFja3VwOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdW5tYXRjaGVkOw0KCQl9Ow0KDQoJcmV0dXJuIGJ5U2V0ID8NCgkJbWFya0Z1bmN0aW9uKCBzdXBlck1hdGNoZXIgKSA6DQoJCXN1cGVyTWF0Y2hlcjsNCn0NCg0KY29tcGlsZSA9IFNpenpsZS5jb21waWxlID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBtYXRjaCAvKiBJbnRlcm5hbCBVc2UgT25seSAqLyApIHsNCgl2YXIgaSwNCgkJc2V0TWF0Y2hlcnMgPSBbXSwNCgkJZWxlbWVudE1hdGNoZXJzID0gW10sDQoJCWNhY2hlZCA9IGNvbXBpbGVyQ2FjaGVbIHNlbGVjdG9yICsgIiAiIF07DQoNCglpZiAoICFjYWNoZWQgKSB7DQoJCS8vIEdlbmVyYXRlIGEgZnVuY3Rpb24gb2YgcmVjdXJzaXZlIGZ1bmN0aW9ucyB0aGF0IGNhbiBiZSB1c2VkIHRvIGNoZWNrIGVhY2ggZWxlbWVudA0KCQlpZiAoICFtYXRjaCApIHsNCgkJCW1hdGNoID0gdG9rZW5pemUoIHNlbGVjdG9yICk7DQoJCX0NCgkJaSA9IG1hdGNoLmxlbmd0aDsNCgkJd2hpbGUgKCBpLS0gKSB7DQoJCQljYWNoZWQgPSBtYXRjaGVyRnJvbVRva2VucyggbWF0Y2hbaV0gKTsNCgkJCWlmICggY2FjaGVkWyBleHBhbmRvIF0gKSB7DQoJCQkJc2V0TWF0Y2hlcnMucHVzaCggY2FjaGVkICk7DQoJCQl9IGVsc2Ugew0KCQkJCWVsZW1lbnRNYXRjaGVycy5wdXNoKCBjYWNoZWQgKTsNCgkJCX0NCgkJfQ0KDQoJCS8vIENhY2hlIHRoZSBjb21waWxlZCBmdW5jdGlvbg0KCQljYWNoZWQgPSBjb21waWxlckNhY2hlKCBzZWxlY3RvciwgbWF0Y2hlckZyb21Hcm91cE1hdGNoZXJzKCBlbGVtZW50TWF0Y2hlcnMsIHNldE1hdGNoZXJzICkgKTsNCg0KCQkvLyBTYXZlIHNlbGVjdG9yIGFuZCB0b2tlbml6YXRpb24NCgkJY2FjaGVkLnNlbGVjdG9yID0gc2VsZWN0b3I7DQoJfQ0KCXJldHVybiBjYWNoZWQ7DQp9Ow0KDQovKioNCiAqIEEgbG93LWxldmVsIHNlbGVjdGlvbiBmdW5jdGlvbiB0aGF0IHdvcmtzIHdpdGggU2l6emxlJ3MgY29tcGlsZWQNCiAqICBzZWxlY3RvciBmdW5jdGlvbnMNCiAqIEBwYXJhbSB7U3RyaW5nfEZ1bmN0aW9ufSBzZWxlY3RvciBBIHNlbGVjdG9yIG9yIGEgcHJlLWNvbXBpbGVkDQogKiAgc2VsZWN0b3IgZnVuY3Rpb24gYnVpbHQgd2l0aCBTaXp6bGUuY29tcGlsZQ0KICogQHBhcmFtIHtFbGVtZW50fSBjb250ZXh0DQogKiBAcGFyYW0ge0FycmF5fSBbcmVzdWx0c10NCiAqIEBwYXJhbSB7QXJyYXl9IFtzZWVkXSBBIHNldCBvZiBlbGVtZW50cyB0byBtYXRjaCBhZ2FpbnN0DQogKi8NCnNlbGVjdCA9IFNpenpsZS5zZWxlY3QgPSBmdW5jdGlvbiggc2VsZWN0b3IsIGNvbnRleHQsIHJlc3VsdHMsIHNlZWQgKSB7DQoJdmFyIGksIHRva2VucywgdG9rZW4sIHR5cGUsIGZpbmQsDQoJCWNvbXBpbGVkID0gdHlwZW9mIHNlbGVjdG9yID09PSAiZnVuY3Rpb24iICYmIHNlbGVjdG9yLA0KCQltYXRjaCA9ICFzZWVkICYmIHRva2VuaXplKCAoc2VsZWN0b3IgPSBjb21waWxlZC5zZWxlY3RvciB8fCBzZWxlY3RvcikgKTsNCg0KCXJlc3VsdHMgPSByZXN1bHRzIHx8IFtdOw0KDQoJLy8gVHJ5IHRvIG1pbmltaXplIG9wZXJhdGlvbnMgaWYgdGhlcmUgaXMgb25seSBvbmUgc2VsZWN0b3IgaW4gdGhlIGxpc3QgYW5kIG5vIHNlZWQNCgkvLyAodGhlIGxhdHRlciBvZiB3aGljaCBndWFyYW50ZWVzIHVzIGNvbnRleHQpDQoJaWYgKCBtYXRjaC5sZW5ndGggPT09IDEgKSB7DQoNCgkJLy8gUmVkdWNlIGNvbnRleHQgaWYgdGhlIGxlYWRpbmcgY29tcG91bmQgc2VsZWN0b3IgaXMgYW4gSUQNCgkJdG9rZW5zID0gbWF0Y2hbMF0gPSBtYXRjaFswXS5zbGljZSggMCApOw0KCQlpZiAoIHRva2Vucy5sZW5ndGggPiAyICYmICh0b2tlbiA9IHRva2Vuc1swXSkudHlwZSA9PT0gIklEIiAmJg0KCQkJCWNvbnRleHQubm9kZVR5cGUgPT09IDkgJiYgZG9jdW1lbnRJc0hUTUwgJiYgRXhwci5yZWxhdGl2ZVsgdG9rZW5zWzFdLnR5cGUgXSApIHsNCg0KCQkJY29udGV4dCA9ICggRXhwci5maW5kWyJJRCJdKCB0b2tlbi5tYXRjaGVzWzBdLnJlcGxhY2UocnVuZXNjYXBlLCBmdW5lc2NhcGUpLCBjb250ZXh0ICkgfHwgW10gKVswXTsNCgkJCWlmICggIWNvbnRleHQgKSB7DQoJCQkJcmV0dXJuIHJlc3VsdHM7DQoNCgkJCS8vIFByZWNvbXBpbGVkIG1hdGNoZXJzIHdpbGwgc3RpbGwgdmVyaWZ5IGFuY2VzdHJ5LCBzbyBzdGVwIHVwIGEgbGV2ZWwNCgkJCX0gZWxzZSBpZiAoIGNvbXBpbGVkICkgew0KCQkJCWNvbnRleHQgPSBjb250ZXh0LnBhcmVudE5vZGU7DQoJCQl9DQoNCgkJCXNlbGVjdG9yID0gc2VsZWN0b3Iuc2xpY2UoIHRva2Vucy5zaGlmdCgpLnZhbHVlLmxlbmd0aCApOw0KCQl9DQoNCgkJLy8gRmV0Y2ggYSBzZWVkIHNldCBmb3IgcmlnaHQtdG8tbGVmdCBtYXRjaGluZw0KCQlpID0gbWF0Y2hFeHByWyJuZWVkc0NvbnRleHQiXS50ZXN0KCBzZWxlY3RvciApID8gMCA6IHRva2Vucy5sZW5ndGg7DQoJCXdoaWxlICggaS0tICkgew0KCQkJdG9rZW4gPSB0b2tlbnNbaV07DQoNCgkJCS8vIEFib3J0IGlmIHdlIGhpdCBhIGNvbWJpbmF0b3INCgkJCWlmICggRXhwci5yZWxhdGl2ZVsgKHR5cGUgPSB0b2tlbi50eXBlKSBdICkgew0KCQkJCWJyZWFrOw0KCQkJfQ0KCQkJaWYgKCAoZmluZCA9IEV4cHIuZmluZFsgdHlwZSBdKSApIHsNCgkJCQkvLyBTZWFyY2gsIGV4cGFuZGluZyBjb250ZXh0IGZvciBsZWFkaW5nIHNpYmxpbmcgY29tYmluYXRvcnMNCgkJCQlpZiAoIChzZWVkID0gZmluZCgNCgkJCQkJdG9rZW4ubWF0Y2hlc1swXS5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApLA0KCQkJCQlyc2libGluZy50ZXN0KCB0b2tlbnNbMF0udHlwZSApICYmIHRlc3RDb250ZXh0KCBjb250ZXh0LnBhcmVudE5vZGUgKSB8fCBjb250ZXh0DQoJCQkJKSkgKSB7DQoNCgkJCQkJLy8gSWYgc2VlZCBpcyBlbXB0eSBvciBubyB0b2tlbnMgcmVtYWluLCB3ZSBjYW4gcmV0dXJuIGVhcmx5DQoJCQkJCXRva2Vucy5zcGxpY2UoIGksIDEgKTsNCgkJCQkJc2VsZWN0b3IgPSBzZWVkLmxlbmd0aCAmJiB0b1NlbGVjdG9yKCB0b2tlbnMgKTsNCgkJCQkJaWYgKCAhc2VsZWN0b3IgKSB7DQoJCQkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLCBzZWVkICk7DQoJCQkJCQlyZXR1cm4gcmVzdWx0czsNCgkJCQkJfQ0KDQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCg0KCS8vIENvbXBpbGUgYW5kIGV4ZWN1dGUgYSBmaWx0ZXJpbmcgZnVuY3Rpb24gaWYgb25lIGlzIG5vdCBwcm92aWRlZA0KCS8vIFByb3ZpZGUgYG1hdGNoYCB0byBhdm9pZCByZXRva2VuaXphdGlvbiBpZiB3ZSBtb2RpZmllZCB0aGUgc2VsZWN0b3IgYWJvdmUNCgkoIGNvbXBpbGVkIHx8IGNvbXBpbGUoIHNlbGVjdG9yLCBtYXRjaCApICkoDQoJCXNlZWQsDQoJCWNvbnRleHQsDQoJCSFkb2N1bWVudElzSFRNTCwNCgkJcmVzdWx0cywNCgkJIWNvbnRleHQgfHwgcnNpYmxpbmcudGVzdCggc2VsZWN0b3IgKSAmJiB0ZXN0Q29udGV4dCggY29udGV4dC5wYXJlbnROb2RlICkgfHwgY29udGV4dA0KCSk7DQoJcmV0dXJuIHJlc3VsdHM7DQp9Ow0KDQovLyBPbmUtdGltZSBhc3NpZ25tZW50cw0KDQovLyBTb3J0IHN0YWJpbGl0eQ0Kc3VwcG9ydC5zb3J0U3RhYmxlID0gZXhwYW5kby5zcGxpdCgiIikuc29ydCggc29ydE9yZGVyICkuam9pbigiIikgPT09IGV4cGFuZG87DQoNCi8vIFN1cHBvcnQ6IENocm9tZSAxNC0zNSsNCi8vIEFsd2F5cyBhc3N1bWUgZHVwbGljYXRlcyBpZiB0aGV5IGFyZW4ndCBwYXNzZWQgdG8gdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24NCnN1cHBvcnQuZGV0ZWN0RHVwbGljYXRlcyA9ICEhaGFzRHVwbGljYXRlOw0KDQovLyBJbml0aWFsaXplIGFnYWluc3QgdGhlIGRlZmF1bHQgZG9jdW1lbnQNCnNldERvY3VtZW50KCk7DQoNCi8vIFN1cHBvcnQ6IFdlYmtpdDw1MzcuMzIgLSBTYWZhcmkgNi4wLjMvQ2hyb21lIDI1IChmaXhlZCBpbiBDaHJvbWUgMjcpDQovLyBEZXRhY2hlZCBub2RlcyBjb25mb3VuZGluZ2x5IGZvbGxvdyAqZWFjaCBvdGhlcioNCnN1cHBvcnQuc29ydERldGFjaGVkID0gYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsNCgkvLyBTaG91bGQgcmV0dXJuIDEsIGJ1dCByZXR1cm5zIDQgKGZvbGxvd2luZykNCglyZXR1cm4gZWwuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0IikgKSAmIDE7DQp9KTsNCg0KLy8gU3VwcG9ydDogSUU8OA0KLy8gUHJldmVudCBhdHRyaWJ1dGUvcHJvcGVydHkgImludGVycG9sYXRpb24iDQovLyBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNTM2NDI5JTI4VlMuODUlMjkuYXNweA0KaWYgKCAhYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsNCgllbC5pbm5lckhUTUwgPSAiPGEgaHJlZj0nIyc-PC9hPiI7DQoJcmV0dXJuIGVsLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikgPT09ICIjIiA7DQp9KSApIHsNCglhZGRIYW5kbGUoICJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIiwgZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGlzWE1MICkgew0KCQlpZiAoICFpc1hNTCApIHsNCgkJCXJldHVybiBlbGVtLmdldEF0dHJpYnV0ZSggbmFtZSwgbmFtZS50b0xvd2VyQ2FzZSgpID09PSAidHlwZSIgPyAxIDogMiApOw0KCQl9DQoJfSk7DQp9DQoNCi8vIFN1cHBvcnQ6IElFPDkNCi8vIFVzZSBkZWZhdWx0VmFsdWUgaW4gcGxhY2Ugb2YgZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpDQppZiAoICFzdXBwb3J0LmF0dHJpYnV0ZXMgfHwgIWFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJZWwuaW5uZXJIVE1MID0gIjxpbnB1dC8-IjsNCgllbC5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSggInZhbHVlIiwgIiIgKTsNCglyZXR1cm4gZWwuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoICJ2YWx1ZSIgKSA9PT0gIiI7DQp9KSApIHsNCglhZGRIYW5kbGUoICJ2YWx1ZSIsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHsNCgkJaWYgKCAhaXNYTUwgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAiaW5wdXQiICkgew0KCQkJcmV0dXJuIGVsZW0uZGVmYXVsdFZhbHVlOw0KCQl9DQoJfSk7DQp9DQoNCi8vIFN1cHBvcnQ6IElFPDkNCi8vIFVzZSBnZXRBdHRyaWJ1dGVOb2RlIHRvIGZldGNoIGJvb2xlYW5zIHdoZW4gZ2V0QXR0cmlidXRlIGxpZXMNCmlmICggIWFzc2VydChmdW5jdGlvbiggZWwgKSB7DQoJcmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSA9PSBudWxsOw0KfSkgKSB7DQoJYWRkSGFuZGxlKCBib29sZWFucywgZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGlzWE1MICkgew0KCQl2YXIgdmFsOw0KCQlpZiAoICFpc1hNTCApIHsNCgkJCXJldHVybiBlbGVtWyBuYW1lIF0gPT09IHRydWUgPyBuYW1lLnRvTG93ZXJDYXNlKCkgOg0KCQkJCQkodmFsID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCBuYW1lICkpICYmIHZhbC5zcGVjaWZpZWQgPw0KCQkJCQl2YWwudmFsdWUgOg0KCQkJCW51bGw7DQoJCX0NCgl9KTsNCn0NCg0KcmV0dXJuIFNpenpsZTsNCg0KfSkoIHdpbmRvdyApOw0KDQoNCg0KalF1ZXJ5LmZpbmQgPSBTaXp6bGU7DQpqUXVlcnkuZXhwciA9IFNpenpsZS5zZWxlY3RvcnM7DQoNCi8vIERlcHJlY2F0ZWQNCmpRdWVyeS5leHByWyAiOiIgXSA9IGpRdWVyeS5leHByLnBzZXVkb3M7DQpqUXVlcnkudW5pcXVlU29ydCA9IGpRdWVyeS51bmlxdWUgPSBTaXp6bGUudW5pcXVlU29ydDsNCmpRdWVyeS50ZXh0ID0gU2l6emxlLmdldFRleHQ7DQpqUXVlcnkuaXNYTUxEb2MgPSBTaXp6bGUuaXNYTUw7DQpqUXVlcnkuY29udGFpbnMgPSBTaXp6bGUuY29udGFpbnM7DQpqUXVlcnkuZXNjYXBlU2VsZWN0b3IgPSBTaXp6bGUuZXNjYXBlOw0KDQoNCg0KDQp2YXIgZGlyID0gZnVuY3Rpb24oIGVsZW0sIGRpciwgdW50aWwgKSB7DQoJdmFyIG1hdGNoZWQgPSBbXSwNCgkJdHJ1bmNhdGUgPSB1bnRpbCAhPT0gdW5kZWZpbmVkOw0KDQoJd2hpbGUgKCAoIGVsZW0gPSBlbGVtWyBkaXIgXSApICYmIGVsZW0ubm9kZVR5cGUgIT09IDkgKSB7DQoJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsNCgkJCWlmICggdHJ1bmNhdGUgJiYgalF1ZXJ5KCBlbGVtICkuaXMoIHVudGlsICkgKSB7DQoJCQkJYnJlYWs7DQoJCQl9DQoJCQltYXRjaGVkLnB1c2goIGVsZW0gKTsNCgkJfQ0KCX0NCglyZXR1cm4gbWF0Y2hlZDsNCn07DQoNCg0KdmFyIHNpYmxpbmdzID0gZnVuY3Rpb24oIG4sIGVsZW0gKSB7DQoJdmFyIG1hdGNoZWQgPSBbXTsNCg0KCWZvciAoIDsgbjsgbiA9IG4ubmV4dFNpYmxpbmcgKSB7DQoJCWlmICggbi5ub2RlVHlwZSA9PT0gMSAmJiBuICE9PSBlbGVtICkgew0KCQkJbWF0Y2hlZC5wdXNoKCBuICk7DQoJCX0NCgl9DQoNCglyZXR1cm4gbWF0Y2hlZDsNCn07DQoNCg0KdmFyIHJuZWVkc0NvbnRleHQgPSBqUXVlcnkuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7DQoNCg0KDQpmdW5jdGlvbiBub2RlTmFtZSggZWxlbSwgbmFtZSApIHsNCg0KICByZXR1cm4gZWxlbS5ub2RlTmFtZSAmJiBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IG5hbWUudG9Mb3dlckNhc2UoKTsNCg0KfTsNCnZhciByc2luZ2xlVGFnID0gKCAvXjwoW2Etel1bXlwvXDA-Olx4MjBcdFxyXG5cZl0qKVtceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaSApOw0KDQoNCg0KdmFyIHJpc1NpbXBsZSA9IC9eLlteOiNcW1wuLF0qJC87DQoNCi8vIEltcGxlbWVudCB0aGUgaWRlbnRpY2FsIGZ1bmN0aW9uYWxpdHkgZm9yIGZpbHRlciBhbmQgbm90DQpmdW5jdGlvbiB3aW5ub3coIGVsZW1lbnRzLCBxdWFsaWZpZXIsIG5vdCApIHsNCglpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBxdWFsaWZpZXIgKSApIHsNCgkJcmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0sIGkgKSB7DQoJCQlyZXR1cm4gISFxdWFsaWZpZXIuY2FsbCggZWxlbSwgaSwgZWxlbSApICE9PSBub3Q7DQoJCX0gKTsNCgl9DQoNCgkvLyBTaW5nbGUgZWxlbWVudA0KCWlmICggcXVhbGlmaWVyLm5vZGVUeXBlICkgew0KCQlyZXR1cm4galF1ZXJ5LmdyZXAoIGVsZW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiAoIGVsZW0gPT09IHF1YWxpZmllciApICE9PSBub3Q7DQoJCX0gKTsNCgl9DQoNCgkvLyBBcnJheWxpa2Ugb2YgZWxlbWVudHMgKGpRdWVyeSwgYXJndW1lbnRzLCBBcnJheSkNCglpZiAoIHR5cGVvZiBxdWFsaWZpZXIgIT09ICJzdHJpbmciICkgew0KCQlyZXR1cm4galF1ZXJ5LmdyZXAoIGVsZW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsNCgkJCXJldHVybiAoIGluZGV4T2YuY2FsbCggcXVhbGlmaWVyLCBlbGVtICkgPiAtMSApICE9PSBub3Q7DQoJCX0gKTsNCgl9DQoNCgkvLyBTaW1wbGUgc2VsZWN0b3IgdGhhdCBjYW4gYmUgZmlsdGVyZWQgZGlyZWN0bHksIHJlbW92aW5nIG5vbi1FbGVtZW50cw0KCWlmICggcmlzU2ltcGxlLnRlc3QoIHF1YWxpZmllciApICkgew0KCQlyZXR1cm4galF1ZXJ5LmZpbHRlciggcXVhbGlmaWVyLCBlbGVtZW50cywgbm90ICk7DQoJfQ0KDQoJLy8gQ29tcGxleCBzZWxlY3RvciwgY29tcGFyZSB0aGUgdHdvIHNldHMsIHJlbW92aW5nIG5vbi1FbGVtZW50cw0KCXF1YWxpZmllciA9IGpRdWVyeS5maWx0ZXIoIHF1YWxpZmllciwgZWxlbWVudHMgKTsNCglyZXR1cm4galF1ZXJ5LmdyZXAoIGVsZW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuICggaW5kZXhPZi5jYWxsKCBxdWFsaWZpZXIsIGVsZW0gKSA-IC0xICkgIT09IG5vdCAmJiBlbGVtLm5vZGVUeXBlID09PSAxOw0KCX0gKTsNCn0NCg0KalF1ZXJ5LmZpbHRlciA9IGZ1bmN0aW9uKCBleHByLCBlbGVtcywgbm90ICkgew0KCXZhciBlbGVtID0gZWxlbXNbIDAgXTsNCg0KCWlmICggbm90ICkgew0KCQlleHByID0gIjpub3QoIiArIGV4cHIgKyAiKSI7DQoJfQ0KDQoJaWYgKCBlbGVtcy5sZW5ndGggPT09IDEgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsNCgkJcmV0dXJuIGpRdWVyeS5maW5kLm1hdGNoZXNTZWxlY3RvciggZWxlbSwgZXhwciApID8gWyBlbGVtIF0gOiBbXTsNCgl9DQoNCglyZXR1cm4galF1ZXJ5LmZpbmQubWF0Y2hlcyggZXhwciwgalF1ZXJ5LmdyZXAoIGVsZW1zLCBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIGVsZW0ubm9kZVR5cGUgPT09IDE7DQoJfSApICk7DQp9Ow0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJZmluZDogZnVuY3Rpb24oIHNlbGVjdG9yICkgew0KCQl2YXIgaSwgcmV0LA0KCQkJbGVuID0gdGhpcy5sZW5ndGgsDQoJCQlzZWxmID0gdGhpczsNCg0KCQlpZiAoIHR5cGVvZiBzZWxlY3RvciAhPT0gInN0cmluZyIgKSB7DQoJCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIGpRdWVyeSggc2VsZWN0b3IgKS5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJCWZvciAoIGkgPSAwOyBpIDwgbGVuOyBpKysgKSB7DQoJCQkJCWlmICggalF1ZXJ5LmNvbnRhaW5zKCBzZWxmWyBpIF0sIHRoaXMgKSApIHsNCgkJCQkJCXJldHVybiB0cnVlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfSApICk7DQoJCX0NCg0KCQlyZXQgPSB0aGlzLnB1c2hTdGFjayggW10gKTsNCg0KCQlmb3IgKCBpID0gMDsgaSA8IGxlbjsgaSsrICkgew0KCQkJalF1ZXJ5LmZpbmQoIHNlbGVjdG9yLCBzZWxmWyBpIF0sIHJldCApOw0KCQl9DQoNCgkJcmV0dXJuIGxlbiA-IDEgPyBqUXVlcnkudW5pcXVlU29ydCggcmV0ICkgOiByZXQ7DQoJfSwNCglmaWx0ZXI6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCB3aW5ub3coIHRoaXMsIHNlbGVjdG9yIHx8IFtdLCBmYWxzZSApICk7DQoJfSwNCglub3Q6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCB3aW5ub3coIHRoaXMsIHNlbGVjdG9yIHx8IFtdLCB0cnVlICkgKTsNCgl9LA0KCWlzOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiAhIXdpbm5vdygNCgkJCXRoaXMsDQoNCgkJCS8vIElmIHRoaXMgaXMgYSBwb3NpdGlvbmFsL3JlbGF0aXZlIHNlbGVjdG9yLCBjaGVjayBtZW1iZXJzaGlwIGluIHRoZSByZXR1cm5lZCBzZXQNCgkJCS8vIHNvICQoInA6Zmlyc3QiKS5pcygicDpsYXN0Iikgd29uJ3QgcmV0dXJuIHRydWUgZm9yIGEgZG9jIHdpdGggdHdvICJwIi4NCgkJCXR5cGVvZiBzZWxlY3RvciA9PT0gInN0cmluZyIgJiYgcm5lZWRzQ29udGV4dC50ZXN0KCBzZWxlY3RvciApID8NCgkJCQlqUXVlcnkoIHNlbGVjdG9yICkgOg0KCQkJCXNlbGVjdG9yIHx8IFtdLA0KCQkJZmFsc2UNCgkJKS5sZW5ndGg7DQoJfQ0KfSApOw0KDQoNCi8vIEluaXRpYWxpemUgYSBqUXVlcnkgb2JqZWN0DQoNCg0KLy8gQSBjZW50cmFsIHJlZmVyZW5jZSB0byB0aGUgcm9vdCBqUXVlcnkoZG9jdW1lbnQpDQp2YXIgcm9vdGpRdWVyeSwNCg0KCS8vIEEgc2ltcGxlIHdheSB0byBjaGVjayBmb3IgSFRNTCBzdHJpbmdzDQoJLy8gUHJpb3JpdGl6ZSAjaWQgb3ZlciA8dGFnPiB0byBhdm9pZCBYU1MgdmlhIGxvY2F0aW9uLmhhc2ggKCM5NTIxKQ0KCS8vIFN0cmljdCBIVE1MIHJlY29nbml0aW9uICgjMTEyOTA6IG11c3Qgc3RhcnQgd2l0aCA8KQ0KCS8vIFNob3J0Y3V0IHNpbXBsZSAjaWQgY2FzZSBmb3Igc3BlZWQNCglycXVpY2tFeHByID0gL14oPzpccyooPFtcd1xXXSs-KVtePl0qfCMoW1x3LV0rKSkkLywNCg0KCWluaXQgPSBqUXVlcnkuZm4uaW5pdCA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgY29udGV4dCwgcm9vdCApIHsNCgkJdmFyIG1hdGNoLCBlbGVtOw0KDQoJCS8vIEhBTkRMRTogJCgiIiksICQobnVsbCksICQodW5kZWZpbmVkKSwgJChmYWxzZSkNCgkJaWYgKCAhc2VsZWN0b3IgKSB7DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KDQoJCS8vIE1ldGhvZCBpbml0KCkgYWNjZXB0cyBhbiBhbHRlcm5hdGUgcm9vdGpRdWVyeQ0KCQkvLyBzbyBtaWdyYXRlIGNhbiBzdXBwb3J0IGpRdWVyeS5zdWIgKGdoLTIxMDEpDQoJCXJvb3QgPSByb290IHx8IHJvb3RqUXVlcnk7DQoNCgkJLy8gSGFuZGxlIEhUTUwgc3RyaW5ncw0KCQlpZiAoIHR5cGVvZiBzZWxlY3RvciA9PT0gInN0cmluZyIgKSB7DQoJCQlpZiAoIHNlbGVjdG9yWyAwIF0gPT09ICI8IiAmJg0KCQkJCXNlbGVjdG9yWyBzZWxlY3Rvci5sZW5ndGggLSAxIF0gPT09ICI-IiAmJg0KCQkJCXNlbGVjdG9yLmxlbmd0aCA-PSAzICkgew0KDQoJCQkJLy8gQXNzdW1lIHRoYXQgc3RyaW5ncyB0aGF0IHN0YXJ0IGFuZCBlbmQgd2l0aCA8PiBhcmUgSFRNTCBhbmQgc2tpcCB0aGUgcmVnZXggY2hlY2sNCgkJCQltYXRjaCA9IFsgbnVsbCwgc2VsZWN0b3IsIG51bGwgXTsNCg0KCQkJfSBlbHNlIHsNCgkJCQltYXRjaCA9IHJxdWlja0V4cHIuZXhlYyggc2VsZWN0b3IgKTsNCgkJCX0NCg0KCQkJLy8gTWF0Y2ggaHRtbCBvciBtYWtlIHN1cmUgbm8gY29udGV4dCBpcyBzcGVjaWZpZWQgZm9yICNpZA0KCQkJaWYgKCBtYXRjaCAmJiAoIG1hdGNoWyAxIF0gfHwgIWNvbnRleHQgKSApIHsNCg0KCQkJCS8vIEhBTkRMRTogJChodG1sKSAtPiAkKGFycmF5KQ0KCQkJCWlmICggbWF0Y2hbIDEgXSApIHsNCgkJCQkJY29udGV4dCA9IGNvbnRleHQgaW5zdGFuY2VvZiBqUXVlcnkgPyBjb250ZXh0WyAwIF0gOiBjb250ZXh0Ow0KDQoJCQkJCS8vIE9wdGlvbiB0byBydW4gc2NyaXB0cyBpcyB0cnVlIGZvciBiYWNrLWNvbXBhdA0KCQkJCQkvLyBJbnRlbnRpb25hbGx5IGxldCB0aGUgZXJyb3IgYmUgdGhyb3duIGlmIHBhcnNlSFRNTCBpcyBub3QgcHJlc2VudA0KCQkJCQlqUXVlcnkubWVyZ2UoIHRoaXMsIGpRdWVyeS5wYXJzZUhUTUwoDQoJCQkJCQltYXRjaFsgMSBdLA0KCQkJCQkJY29udGV4dCAmJiBjb250ZXh0Lm5vZGVUeXBlID8gY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgOiBkb2N1bWVudCwNCgkJCQkJCXRydWUNCgkJCQkJKSApOw0KDQoJCQkJCS8vIEhBTkRMRTogJChodG1sLCBwcm9wcykNCgkJCQkJaWYgKCByc2luZ2xlVGFnLnRlc3QoIG1hdGNoWyAxIF0gKSAmJiBqUXVlcnkuaXNQbGFpbk9iamVjdCggY29udGV4dCApICkgew0KCQkJCQkJZm9yICggbWF0Y2ggaW4gY29udGV4dCApIHsNCg0KCQkJCQkJCS8vIFByb3BlcnRpZXMgb2YgY29udGV4dCBhcmUgY2FsbGVkIGFzIG1ldGhvZHMgaWYgcG9zc2libGUNCgkJCQkJCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCB0aGlzWyBtYXRjaCBdICkgKSB7DQoJCQkJCQkJCXRoaXNbIG1hdGNoIF0oIGNvbnRleHRbIG1hdGNoIF0gKTsNCg0KCQkJCQkJCS8vIC4uLmFuZCBvdGhlcndpc2Ugc2V0IGFzIGF0dHJpYnV0ZXMNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQl0aGlzLmF0dHIoIG1hdGNoLCBjb250ZXh0WyBtYXRjaCBdICk7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJcmV0dXJuIHRoaXM7DQoNCgkJCQkvLyBIQU5ETEU6ICQoI2lkKQ0KCQkJCX0gZWxzZSB7DQoJCQkJCWVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggbWF0Y2hbIDIgXSApOw0KDQoJCQkJCWlmICggZWxlbSApIHsNCg0KCQkJCQkJLy8gSW5qZWN0IHRoZSBlbGVtZW50IGRpcmVjdGx5IGludG8gdGhlIGpRdWVyeSBvYmplY3QNCgkJCQkJCXRoaXNbIDAgXSA9IGVsZW07DQoJCQkJCQl0aGlzLmxlbmd0aCA9IDE7DQoJCQkJCX0NCgkJCQkJcmV0dXJuIHRoaXM7DQoJCQkJfQ0KDQoJCQkvLyBIQU5ETEU6ICQoZXhwciwgJCguLi4pKQ0KCQkJfSBlbHNlIGlmICggIWNvbnRleHQgfHwgY29udGV4dC5qcXVlcnkgKSB7DQoJCQkJcmV0dXJuICggY29udGV4dCB8fCByb290ICkuZmluZCggc2VsZWN0b3IgKTsNCg0KCQkJLy8gSEFORExFOiAkKGV4cHIsIGNvbnRleHQpDQoJCQkvLyAod2hpY2ggaXMganVzdCBlcXVpdmFsZW50IHRvOiAkKGNvbnRleHQpLmZpbmQoZXhwcikNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIHRoaXMuY29uc3RydWN0b3IoIGNvbnRleHQgKS5maW5kKCBzZWxlY3RvciApOw0KCQkJfQ0KDQoJCS8vIEhBTkRMRTogJChET01FbGVtZW50KQ0KCQl9IGVsc2UgaWYgKCBzZWxlY3Rvci5ub2RlVHlwZSApIHsNCgkJCXRoaXNbIDAgXSA9IHNlbGVjdG9yOw0KCQkJdGhpcy5sZW5ndGggPSAxOw0KCQkJcmV0dXJuIHRoaXM7DQoNCgkJLy8gSEFORExFOiAkKGZ1bmN0aW9uKQ0KCQkvLyBTaG9ydGN1dCBmb3IgZG9jdW1lbnQgcmVhZHkNCgkJfSBlbHNlIGlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIHNlbGVjdG9yICkgKSB7DQoJCQlyZXR1cm4gcm9vdC5yZWFkeSAhPT0gdW5kZWZpbmVkID8NCgkJCQlyb290LnJlYWR5KCBzZWxlY3RvciApIDoNCg0KCQkJCS8vIEV4ZWN1dGUgaW1tZWRpYXRlbHkgaWYgcmVhZHkgaXMgbm90IHByZXNlbnQNCgkJCQlzZWxlY3RvciggalF1ZXJ5ICk7DQoJCX0NCg0KCQlyZXR1cm4galF1ZXJ5Lm1ha2VBcnJheSggc2VsZWN0b3IsIHRoaXMgKTsNCgl9Ow0KDQovLyBHaXZlIHRoZSBpbml0IGZ1bmN0aW9uIHRoZSBqUXVlcnkgcHJvdG90eXBlIGZvciBsYXRlciBpbnN0YW50aWF0aW9uDQppbml0LnByb3RvdHlwZSA9IGpRdWVyeS5mbjsNCg0KLy8gSW5pdGlhbGl6ZSBjZW50cmFsIHJlZmVyZW5jZQ0Kcm9vdGpRdWVyeSA9IGpRdWVyeSggZG9jdW1lbnQgKTsNCg0KDQp2YXIgcnBhcmVudHNwcmV2ID0gL14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sDQoNCgkvLyBNZXRob2RzIGd1YXJhbnRlZWQgdG8gcHJvZHVjZSBhIHVuaXF1ZSBzZXQgd2hlbiBzdGFydGluZyBmcm9tIGEgdW5pcXVlIHNldA0KCWd1YXJhbnRlZWRVbmlxdWUgPSB7DQoJCWNoaWxkcmVuOiB0cnVlLA0KCQljb250ZW50czogdHJ1ZSwNCgkJbmV4dDogdHJ1ZSwNCgkJcHJldjogdHJ1ZQ0KCX07DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCgloYXM6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciB0YXJnZXRzID0galF1ZXJ5KCB0YXJnZXQsIHRoaXMgKSwNCgkJCWwgPSB0YXJnZXRzLmxlbmd0aDsNCg0KCQlyZXR1cm4gdGhpcy5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGkgPSAwOw0KCQkJZm9yICggOyBpIDwgbDsgaSsrICkgew0KCQkJCWlmICggalF1ZXJ5LmNvbnRhaW5zKCB0aGlzLCB0YXJnZXRzWyBpIF0gKSApIHsNCgkJCQkJcmV0dXJuIHRydWU7DQoJCQkJfQ0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCWNsb3Nlc3Q6IGZ1bmN0aW9uKCBzZWxlY3RvcnMsIGNvbnRleHQgKSB7DQoJCXZhciBjdXIsDQoJCQlpID0gMCwNCgkJCWwgPSB0aGlzLmxlbmd0aCwNCgkJCW1hdGNoZWQgPSBbXSwNCgkJCXRhcmdldHMgPSB0eXBlb2Ygc2VsZWN0b3JzICE9PSAic3RyaW5nIiAmJiBqUXVlcnkoIHNlbGVjdG9ycyApOw0KDQoJCS8vIFBvc2l0aW9uYWwgc2VsZWN0b3JzIG5ldmVyIG1hdGNoLCBzaW5jZSB0aGVyZSdzIG5vIF9zZWxlY3Rpb25fIGNvbnRleHQNCgkJaWYgKCAhcm5lZWRzQ29udGV4dC50ZXN0KCBzZWxlY3RvcnMgKSApIHsNCgkJCWZvciAoIDsgaSA8IGw7IGkrKyApIHsNCgkJCQlmb3IgKCBjdXIgPSB0aGlzWyBpIF07IGN1ciAmJiBjdXIgIT09IGNvbnRleHQ7IGN1ciA9IGN1ci5wYXJlbnROb2RlICkgew0KDQoJCQkJCS8vIEFsd2F5cyBza2lwIGRvY3VtZW50IGZyYWdtZW50cw0KCQkJCQlpZiAoIGN1ci5ub2RlVHlwZSA8IDExICYmICggdGFyZ2V0cyA_DQoJCQkJCQl0YXJnZXRzLmluZGV4KCBjdXIgKSA-IC0xIDoNCg0KCQkJCQkJLy8gRG9uJ3QgcGFzcyBub24tZWxlbWVudHMgdG8gU2l6emxlDQoJCQkJCQljdXIubm9kZVR5cGUgPT09IDEgJiYNCgkJCQkJCQlqUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoIGN1ciwgc2VsZWN0b3JzICkgKSApIHsNCg0KCQkJCQkJbWF0Y2hlZC5wdXNoKCBjdXIgKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCBtYXRjaGVkLmxlbmd0aCA-IDEgPyBqUXVlcnkudW5pcXVlU29ydCggbWF0Y2hlZCApIDogbWF0Y2hlZCApOw0KCX0sDQoNCgkvLyBEZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgd2l0aGluIHRoZSBzZXQNCglpbmRleDogZnVuY3Rpb24oIGVsZW0gKSB7DQoNCgkJLy8gTm8gYXJndW1lbnQsIHJldHVybiBpbmRleCBpbiBwYXJlbnQNCgkJaWYgKCAhZWxlbSApIHsNCgkJCXJldHVybiAoIHRoaXNbIDAgXSAmJiB0aGlzWyAwIF0ucGFyZW50Tm9kZSApID8gdGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGggOiAtMTsNCgkJfQ0KDQoJCS8vIEluZGV4IGluIHNlbGVjdG9yDQoJCWlmICggdHlwZW9mIGVsZW0gPT09ICJzdHJpbmciICkgew0KCQkJcmV0dXJuIGluZGV4T2YuY2FsbCggalF1ZXJ5KCBlbGVtICksIHRoaXNbIDAgXSApOw0KCQl9DQoNCgkJLy8gTG9jYXRlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZGVzaXJlZCBlbGVtZW50DQoJCXJldHVybiBpbmRleE9mLmNhbGwoIHRoaXMsDQoNCgkJCS8vIElmIGl0IHJlY2VpdmVzIGEgalF1ZXJ5IG9iamVjdCwgdGhlIGZpcnN0IGVsZW1lbnQgaXMgdXNlZA0KCQkJZWxlbS5qcXVlcnkgPyBlbGVtWyAwIF0gOiBlbGVtDQoJCSk7DQoJfSwNCg0KCWFkZDogZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0ICkgew0KCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soDQoJCQlqUXVlcnkudW5pcXVlU29ydCgNCgkJCQlqUXVlcnkubWVyZ2UoIHRoaXMuZ2V0KCksIGpRdWVyeSggc2VsZWN0b3IsIGNvbnRleHQgKSApDQoJCQkpDQoJCSk7DQoJfSwNCg0KCWFkZEJhY2s6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJcmV0dXJuIHRoaXMuYWRkKCBzZWxlY3RvciA9PSBudWxsID8NCgkJCXRoaXMucHJldk9iamVjdCA6IHRoaXMucHJldk9iamVjdC5maWx0ZXIoIHNlbGVjdG9yICkNCgkJKTsNCgl9DQp9ICk7DQoNCmZ1bmN0aW9uIHNpYmxpbmcoIGN1ciwgZGlyICkgew0KCXdoaWxlICggKCBjdXIgPSBjdXJbIGRpciBdICkgJiYgY3VyLm5vZGVUeXBlICE9PSAxICkge30NCglyZXR1cm4gY3VyOw0KfQ0KDQpqUXVlcnkuZWFjaCggew0KCXBhcmVudDogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCXZhciBwYXJlbnQgPSBlbGVtLnBhcmVudE5vZGU7DQoJCXJldHVybiBwYXJlbnQgJiYgcGFyZW50Lm5vZGVUeXBlICE9PSAxMSA_IHBhcmVudCA6IG51bGw7DQoJfSwNCglwYXJlbnRzOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIGRpciggZWxlbSwgInBhcmVudE5vZGUiICk7DQoJfSwNCglwYXJlbnRzVW50aWw6IGZ1bmN0aW9uKCBlbGVtLCBpLCB1bnRpbCApIHsNCgkJcmV0dXJuIGRpciggZWxlbSwgInBhcmVudE5vZGUiLCB1bnRpbCApOw0KCX0sDQoJbmV4dDogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCXJldHVybiBzaWJsaW5nKCBlbGVtLCAibmV4dFNpYmxpbmciICk7DQoJfSwNCglwcmV2OiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIHNpYmxpbmcoIGVsZW0sICJwcmV2aW91c1NpYmxpbmciICk7DQoJfSwNCgluZXh0QWxsOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIGRpciggZWxlbSwgIm5leHRTaWJsaW5nIiApOw0KCX0sDQoJcHJldkFsbDogZnVuY3Rpb24oIGVsZW0gKSB7DQoJCXJldHVybiBkaXIoIGVsZW0sICJwcmV2aW91c1NpYmxpbmciICk7DQoJfSwNCgluZXh0VW50aWw6IGZ1bmN0aW9uKCBlbGVtLCBpLCB1bnRpbCApIHsNCgkJcmV0dXJuIGRpciggZWxlbSwgIm5leHRTaWJsaW5nIiwgdW50aWwgKTsNCgl9LA0KCXByZXZVbnRpbDogZnVuY3Rpb24oIGVsZW0sIGksIHVudGlsICkgew0KCQlyZXR1cm4gZGlyKCBlbGVtLCAicHJldmlvdXNTaWJsaW5nIiwgdW50aWwgKTsNCgl9LA0KCXNpYmxpbmdzOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIHNpYmxpbmdzKCAoIGVsZW0ucGFyZW50Tm9kZSB8fCB7fSApLmZpcnN0Q2hpbGQsIGVsZW0gKTsNCgl9LA0KCWNoaWxkcmVuOiBmdW5jdGlvbiggZWxlbSApIHsNCgkJcmV0dXJuIHNpYmxpbmdzKCBlbGVtLmZpcnN0Q2hpbGQgKTsNCgl9LA0KCWNvbnRlbnRzOiBmdW5jdGlvbiggZWxlbSApIHsNCiAgICAgICAgaWYgKCBub2RlTmFtZSggZWxlbSwgImlmcmFtZSIgKSApIHsNCiAgICAgICAgICAgIHJldHVybiBlbGVtLmNvbnRlbnREb2N1bWVudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC8vIFN1cHBvcnQ6IElFIDkgLSAxMSBvbmx5LCBpT1MgNyBvbmx5LCBBbmRyb2lkIEJyb3dzZXIgPD00LjMgb25seQ0KICAgICAgICAvLyBUcmVhdCB0aGUgdGVtcGxhdGUgZWxlbWVudCBhcyBhIHJlZ3VsYXIgb25lIGluIGJyb3dzZXJzIHRoYXQNCiAgICAgICAgLy8gZG9uJ3Qgc3VwcG9ydCBpdC4NCiAgICAgICAgaWYgKCBub2RlTmFtZSggZWxlbSwgInRlbXBsYXRlIiApICkgew0KICAgICAgICAgICAgZWxlbSA9IGVsZW0uY29udGVudCB8fCBlbGVtOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGpRdWVyeS5tZXJnZSggW10sIGVsZW0uY2hpbGROb2RlcyApOw0KCX0NCn0sIGZ1bmN0aW9uKCBuYW1lLCBmbiApIHsNCglqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCB1bnRpbCwgc2VsZWN0b3IgKSB7DQoJCXZhciBtYXRjaGVkID0galF1ZXJ5Lm1hcCggdGhpcywgZm4sIHVudGlsICk7DQoNCgkJaWYgKCBuYW1lLnNsaWNlKCAtNSApICE9PSAiVW50aWwiICkgew0KCQkJc2VsZWN0b3IgPSB1bnRpbDsNCgkJfQ0KDQoJCWlmICggc2VsZWN0b3IgJiYgdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIiApIHsNCgkJCW1hdGNoZWQgPSBqUXVlcnkuZmlsdGVyKCBzZWxlY3RvciwgbWF0Y2hlZCApOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmxlbmd0aCA-IDEgKSB7DQoNCgkJCS8vIFJlbW92ZSBkdXBsaWNhdGVzDQoJCQlpZiAoICFndWFyYW50ZWVkVW5pcXVlWyBuYW1lIF0gKSB7DQoJCQkJalF1ZXJ5LnVuaXF1ZVNvcnQoIG1hdGNoZWQgKTsNCgkJCX0NCg0KCQkJLy8gUmV2ZXJzZSBvcmRlciBmb3IgcGFyZW50cyogYW5kIHByZXYtZGVyaXZhdGl2ZXMNCgkJCWlmICggcnBhcmVudHNwcmV2LnRlc3QoIG5hbWUgKSApIHsNCgkJCQltYXRjaGVkLnJldmVyc2UoKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzLnB1c2hTdGFjayggbWF0Y2hlZCApOw0KCX07DQp9ICk7DQp2YXIgcm5vdGh0bWx3aGl0ZSA9ICggL1teXHgyMFx0XHJcblxmXSsvZyApOw0KDQoNCg0KLy8gQ29udmVydCBTdHJpbmctZm9ybWF0dGVkIG9wdGlvbnMgaW50byBPYmplY3QtZm9ybWF0dGVkIG9uZXMNCmZ1bmN0aW9uIGNyZWF0ZU9wdGlvbnMoIG9wdGlvbnMgKSB7DQoJdmFyIG9iamVjdCA9IHt9Ow0KCWpRdWVyeS5lYWNoKCBvcHRpb25zLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW10sIGZ1bmN0aW9uKCBfLCBmbGFnICkgew0KCQlvYmplY3RbIGZsYWcgXSA9IHRydWU7DQoJfSApOw0KCXJldHVybiBvYmplY3Q7DQp9DQoNCi8qDQogKiBDcmVhdGUgYSBjYWxsYmFjayBsaXN0IHVzaW5nIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVyczoNCiAqDQogKglvcHRpb25zOiBhbiBvcHRpb25hbCBsaXN0IG9mIHNwYWNlLXNlcGFyYXRlZCBvcHRpb25zIHRoYXQgd2lsbCBjaGFuZ2UgaG93DQogKgkJCXRoZSBjYWxsYmFjayBsaXN0IGJlaGF2ZXMgb3IgYSBtb3JlIHRyYWRpdGlvbmFsIG9wdGlvbiBvYmplY3QNCiAqDQogKiBCeSBkZWZhdWx0IGEgY2FsbGJhY2sgbGlzdCB3aWxsIGFjdCBsaWtlIGFuIGV2ZW50IGNhbGxiYWNrIGxpc3QgYW5kIGNhbiBiZQ0KICogImZpcmVkIiBtdWx0aXBsZSB0aW1lcy4NCiAqDQogKiBQb3NzaWJsZSBvcHRpb25zOg0KICoNCiAqCW9uY2U6CQkJd2lsbCBlbnN1cmUgdGhlIGNhbGxiYWNrIGxpc3QgY2FuIG9ubHkgYmUgZmlyZWQgb25jZSAobGlrZSBhIERlZmVycmVkKQ0KICoNCiAqCW1lbW9yeToJCQl3aWxsIGtlZXAgdHJhY2sgb2YgcHJldmlvdXMgdmFsdWVzIGFuZCB3aWxsIGNhbGwgYW55IGNhbGxiYWNrIGFkZGVkDQogKgkJCQkJYWZ0ZXIgdGhlIGxpc3QgaGFzIGJlZW4gZmlyZWQgcmlnaHQgYXdheSB3aXRoIHRoZSBsYXRlc3QgIm1lbW9yaXplZCINCiAqCQkJCQl2YWx1ZXMgKGxpa2UgYSBEZWZlcnJlZCkNCiAqDQogKgl1bmlxdWU6CQkJd2lsbCBlbnN1cmUgYSBjYWxsYmFjayBjYW4gb25seSBiZSBhZGRlZCBvbmNlIChubyBkdXBsaWNhdGUgaW4gdGhlIGxpc3QpDQogKg0KICoJc3RvcE9uRmFsc2U6CWludGVycnVwdCBjYWxsaW5ncyB3aGVuIGEgY2FsbGJhY2sgcmV0dXJucyBmYWxzZQ0KICoNCiAqLw0KalF1ZXJ5LkNhbGxiYWNrcyA9IGZ1bmN0aW9uKCBvcHRpb25zICkgew0KDQoJLy8gQ29udmVydCBvcHRpb25zIGZyb20gU3RyaW5nLWZvcm1hdHRlZCB0byBPYmplY3QtZm9ybWF0dGVkIGlmIG5lZWRlZA0KCS8vICh3ZSBjaGVjayBpbiBjYWNoZSBmaXJzdCkNCglvcHRpb25zID0gdHlwZW9mIG9wdGlvbnMgPT09ICJzdHJpbmciID8NCgkJY3JlYXRlT3B0aW9ucyggb3B0aW9ucyApIDoNCgkJalF1ZXJ5LmV4dGVuZCgge30sIG9wdGlvbnMgKTsNCg0KCXZhciAvLyBGbGFnIHRvIGtub3cgaWYgbGlzdCBpcyBjdXJyZW50bHkgZmlyaW5nDQoJCWZpcmluZywNCg0KCQkvLyBMYXN0IGZpcmUgdmFsdWUgZm9yIG5vbi1mb3JnZXR0YWJsZSBsaXN0cw0KCQltZW1vcnksDQoNCgkJLy8gRmxhZyB0byBrbm93IGlmIGxpc3Qgd2FzIGFscmVhZHkgZmlyZWQNCgkJZmlyZWQsDQoNCgkJLy8gRmxhZyB0byBwcmV2ZW50IGZpcmluZw0KCQlsb2NrZWQsDQoNCgkJLy8gQWN0dWFsIGNhbGxiYWNrIGxpc3QNCgkJbGlzdCA9IFtdLA0KDQoJCS8vIFF1ZXVlIG9mIGV4ZWN1dGlvbiBkYXRhIGZvciByZXBlYXRhYmxlIGxpc3RzDQoJCXF1ZXVlID0gW10sDQoNCgkJLy8gSW5kZXggb2YgY3VycmVudGx5IGZpcmluZyBjYWxsYmFjayAobW9kaWZpZWQgYnkgYWRkL3JlbW92ZSBhcyBuZWVkZWQpDQoJCWZpcmluZ0luZGV4ID0gLTEsDQoNCgkJLy8gRmlyZSBjYWxsYmFja3MNCgkJZmlyZSA9IGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBFbmZvcmNlIHNpbmdsZS1maXJpbmcNCgkJCWxvY2tlZCA9IGxvY2tlZCB8fCBvcHRpb25zLm9uY2U7DQoNCgkJCS8vIEV4ZWN1dGUgY2FsbGJhY2tzIGZvciBhbGwgcGVuZGluZyBleGVjdXRpb25zLA0KCQkJLy8gcmVzcGVjdGluZyBmaXJpbmdJbmRleCBvdmVycmlkZXMgYW5kIHJ1bnRpbWUgY2hhbmdlcw0KCQkJZmlyZWQgPSBmaXJpbmcgPSB0cnVlOw0KCQkJZm9yICggOyBxdWV1ZS5sZW5ndGg7IGZpcmluZ0luZGV4ID0gLTEgKSB7DQoJCQkJbWVtb3J5ID0gcXVldWUuc2hpZnQoKTsNCgkJCQl3aGlsZSAoICsrZmlyaW5nSW5kZXggPCBsaXN0Lmxlbmd0aCApIHsNCg0KCQkJCQkvLyBSdW4gY2FsbGJhY2sgYW5kIGNoZWNrIGZvciBlYXJseSB0ZXJtaW5hdGlvbg0KCQkJCQlpZiAoIGxpc3RbIGZpcmluZ0luZGV4IF0uYXBwbHkoIG1lbW9yeVsgMCBdLCBtZW1vcnlbIDEgXSApID09PSBmYWxzZSAmJg0KCQkJCQkJb3B0aW9ucy5zdG9wT25GYWxzZSApIHsNCg0KCQkJCQkJLy8gSnVtcCB0byBlbmQgYW5kIGZvcmdldCB0aGUgZGF0YSBzbyAuYWRkIGRvZXNuJ3QgcmUtZmlyZQ0KCQkJCQkJZmlyaW5nSW5kZXggPSBsaXN0Lmxlbmd0aDsNCgkJCQkJCW1lbW9yeSA9IGZhbHNlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBGb3JnZXQgdGhlIGRhdGEgaWYgd2UncmUgZG9uZSB3aXRoIGl0DQoJCQlpZiAoICFvcHRpb25zLm1lbW9yeSApIHsNCgkJCQltZW1vcnkgPSBmYWxzZTsNCgkJCX0NCg0KCQkJZmlyaW5nID0gZmFsc2U7DQoNCgkJCS8vIENsZWFuIHVwIGlmIHdlJ3JlIGRvbmUgZmlyaW5nIGZvciBnb29kDQoJCQlpZiAoIGxvY2tlZCApIHsNCg0KCQkJCS8vIEtlZXAgYW4gZW1wdHkgbGlzdCBpZiB3ZSBoYXZlIGRhdGEgZm9yIGZ1dHVyZSBhZGQgY2FsbHMNCgkJCQlpZiAoIG1lbW9yeSApIHsNCgkJCQkJbGlzdCA9IFtdOw0KDQoJCQkJLy8gT3RoZXJ3aXNlLCB0aGlzIG9iamVjdCBpcyBzcGVudA0KCQkJCX0gZWxzZSB7DQoJCQkJCWxpc3QgPSAiIjsNCgkJCQl9DQoJCQl9DQoJCX0sDQoNCgkJLy8gQWN0dWFsIENhbGxiYWNrcyBvYmplY3QNCgkJc2VsZiA9IHsNCg0KCQkJLy8gQWRkIGEgY2FsbGJhY2sgb3IgYSBjb2xsZWN0aW9uIG9mIGNhbGxiYWNrcyB0byB0aGUgbGlzdA0KCQkJYWRkOiBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIGxpc3QgKSB7DQoNCgkJCQkJLy8gSWYgd2UgaGF2ZSBtZW1vcnkgZnJvbSBhIHBhc3QgcnVuLCB3ZSBzaG91bGQgZmlyZSBhZnRlciBhZGRpbmcNCgkJCQkJaWYgKCBtZW1vcnkgJiYgIWZpcmluZyApIHsNCgkJCQkJCWZpcmluZ0luZGV4ID0gbGlzdC5sZW5ndGggLSAxOw0KCQkJCQkJcXVldWUucHVzaCggbWVtb3J5ICk7DQoJCQkJCX0NCg0KCQkJCQkoIGZ1bmN0aW9uIGFkZCggYXJncyApIHsNCgkJCQkJCWpRdWVyeS5lYWNoKCBhcmdzLCBmdW5jdGlvbiggXywgYXJnICkgew0KCQkJCQkJCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIGFyZyApICkgew0KCQkJCQkJCQlpZiAoICFvcHRpb25zLnVuaXF1ZSB8fCAhc2VsZi5oYXMoIGFyZyApICkgew0KCQkJCQkJCQkJbGlzdC5wdXNoKCBhcmcgKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCX0gZWxzZSBpZiAoIGFyZyAmJiBhcmcubGVuZ3RoICYmIGpRdWVyeS50eXBlKCBhcmcgKSAhPT0gInN0cmluZyIgKSB7DQoNCgkJCQkJCQkJLy8gSW5zcGVjdCByZWN1cnNpdmVseQ0KCQkJCQkJCQlhZGQoIGFyZyApOw0KCQkJCQkJCX0NCgkJCQkJCX0gKTsNCgkJCQkJfSApKCBhcmd1bWVudHMgKTsNCg0KCQkJCQlpZiAoIG1lbW9yeSAmJiAhZmlyaW5nICkgew0KCQkJCQkJZmlyZSgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCXJldHVybiB0aGlzOw0KCQkJfSwNCg0KCQkJLy8gUmVtb3ZlIGEgY2FsbGJhY2sgZnJvbSB0aGUgbGlzdA0KCQkJcmVtb3ZlOiBmdW5jdGlvbigpIHsNCgkJCQlqUXVlcnkuZWFjaCggYXJndW1lbnRzLCBmdW5jdGlvbiggXywgYXJnICkgew0KCQkJCQl2YXIgaW5kZXg7DQoJCQkJCXdoaWxlICggKCBpbmRleCA9IGpRdWVyeS5pbkFycmF5KCBhcmcsIGxpc3QsIGluZGV4ICkgKSA-IC0xICkgew0KCQkJCQkJbGlzdC5zcGxpY2UoIGluZGV4LCAxICk7DQoNCgkJCQkJCS8vIEhhbmRsZSBmaXJpbmcgaW5kZXhlcw0KCQkJCQkJaWYgKCBpbmRleCA8PSBmaXJpbmdJbmRleCApIHsNCgkJCQkJCQlmaXJpbmdJbmRleC0tOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfSApOw0KCQkJCXJldHVybiB0aGlzOw0KCQkJfSwNCg0KCQkJLy8gQ2hlY2sgaWYgYSBnaXZlbiBjYWxsYmFjayBpcyBpbiB0aGUgbGlzdC4NCgkJCS8vIElmIG5vIGFyZ3VtZW50IGlzIGdpdmVuLCByZXR1cm4gd2hldGhlciBvciBub3QgbGlzdCBoYXMgY2FsbGJhY2tzIGF0dGFjaGVkLg0KCQkJaGFzOiBmdW5jdGlvbiggZm4gKSB7DQoJCQkJcmV0dXJuIGZuID8NCgkJCQkJalF1ZXJ5LmluQXJyYXkoIGZuLCBsaXN0ICkgPiAtMSA6DQoJCQkJCWxpc3QubGVuZ3RoID4gMDsNCgkJCX0sDQoNCgkJCS8vIFJlbW92ZSBhbGwgY2FsbGJhY2tzIGZyb20gdGhlIGxpc3QNCgkJCWVtcHR5OiBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIGxpc3QgKSB7DQoJCQkJCWxpc3QgPSBbXTsNCgkJCQl9DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9LA0KDQoJCQkvLyBEaXNhYmxlIC5maXJlIGFuZCAuYWRkDQoJCQkvLyBBYm9ydCBhbnkgY3VycmVudC9wZW5kaW5nIGV4ZWN1dGlvbnMNCgkJCS8vIENsZWFyIGFsbCBjYWxsYmFja3MgYW5kIHZhbHVlcw0KCQkJZGlzYWJsZTogZnVuY3Rpb24oKSB7DQoJCQkJbG9ja2VkID0gcXVldWUgPSBbXTsNCgkJCQlsaXN0ID0gbWVtb3J5ID0gIiI7DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9LA0KCQkJZGlzYWJsZWQ6IGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiAhbGlzdDsNCgkJCX0sDQoNCgkJCS8vIERpc2FibGUgLmZpcmUNCgkJCS8vIEFsc28gZGlzYWJsZSAuYWRkIHVubGVzcyB3ZSBoYXZlIG1lbW9yeSAoc2luY2UgaXQgd291bGQgaGF2ZSBubyBlZmZlY3QpDQoJCQkvLyBBYm9ydCBhbnkgcGVuZGluZyBleGVjdXRpb25zDQoJCQlsb2NrOiBmdW5jdGlvbigpIHsNCgkJCQlsb2NrZWQgPSBxdWV1ZSA9IFtdOw0KCQkJCWlmICggIW1lbW9yeSAmJiAhZmlyaW5nICkgew0KCQkJCQlsaXN0ID0gbWVtb3J5ID0gIiI7DQoJCQkJfQ0KCQkJCXJldHVybiB0aGlzOw0KCQkJfSwNCgkJCWxvY2tlZDogZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICEhbG9ja2VkOw0KCQkJfSwNCg0KCQkJLy8gQ2FsbCBhbGwgY2FsbGJhY2tzIHdpdGggdGhlIGdpdmVuIGNvbnRleHQgYW5kIGFyZ3VtZW50cw0KCQkJZmlyZVdpdGg6IGZ1bmN0aW9uKCBjb250ZXh0LCBhcmdzICkgew0KCQkJCWlmICggIWxvY2tlZCApIHsNCgkJCQkJYXJncyA9IGFyZ3MgfHwgW107DQoJCQkJCWFyZ3MgPSBbIGNvbnRleHQsIGFyZ3Muc2xpY2UgPyBhcmdzLnNsaWNlKCkgOiBhcmdzIF07DQoJCQkJCXF1ZXVlLnB1c2goIGFyZ3MgKTsNCgkJCQkJaWYgKCAhZmlyaW5nICkgew0KCQkJCQkJZmlyZSgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCXJldHVybiB0aGlzOw0KCQkJfSwNCg0KCQkJLy8gQ2FsbCBhbGwgdGhlIGNhbGxiYWNrcyB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMNCgkJCWZpcmU6IGZ1bmN0aW9uKCkgew0KCQkJCXNlbGYuZmlyZVdpdGgoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJCXJldHVybiB0aGlzOw0KCQkJfSwNCg0KCQkJLy8gVG8ga25vdyBpZiB0aGUgY2FsbGJhY2tzIGhhdmUgYWxyZWFkeSBiZWVuIGNhbGxlZCBhdCBsZWFzdCBvbmNlDQoJCQlmaXJlZDogZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICEhZmlyZWQ7DQoJCQl9DQoJCX07DQoNCglyZXR1cm4gc2VsZjsNCn07DQoNCg0KZnVuY3Rpb24gSWRlbnRpdHkoIHYgKSB7DQoJcmV0dXJuIHY7DQp9DQpmdW5jdGlvbiBUaHJvd2VyKCBleCApIHsNCgl0aHJvdyBleDsNCn0NCg0KZnVuY3Rpb24gYWRvcHRWYWx1ZSggdmFsdWUsIHJlc29sdmUsIHJlamVjdCwgbm9WYWx1ZSApIHsNCgl2YXIgbWV0aG9kOw0KDQoJdHJ5IHsNCg0KCQkvLyBDaGVjayBmb3IgcHJvbWlzZSBhc3BlY3QgZmlyc3QgdG8gcHJpdmlsZWdlIHN5bmNocm9ub3VzIGJlaGF2aW9yDQoJCWlmICggdmFsdWUgJiYgalF1ZXJ5LmlzRnVuY3Rpb24oICggbWV0aG9kID0gdmFsdWUucHJvbWlzZSApICkgKSB7DQoJCQltZXRob2QuY2FsbCggdmFsdWUgKS5kb25lKCByZXNvbHZlICkuZmFpbCggcmVqZWN0ICk7DQoNCgkJLy8gT3RoZXIgdGhlbmFibGVzDQoJCX0gZWxzZSBpZiAoIHZhbHVlICYmIGpRdWVyeS5pc0Z1bmN0aW9uKCAoIG1ldGhvZCA9IHZhbHVlLnRoZW4gKSApICkgew0KCQkJbWV0aG9kLmNhbGwoIHZhbHVlLCByZXNvbHZlLCByZWplY3QgKTsNCg0KCQkvLyBPdGhlciBub24tdGhlbmFibGVzDQoJCX0gZWxzZSB7DQoNCgkJCS8vIENvbnRyb2wgYHJlc29sdmVgIGFyZ3VtZW50cyBieSBsZXR0aW5nIEFycmF5I3NsaWNlIGNhc3QgYm9vbGVhbiBgbm9WYWx1ZWAgdG8gaW50ZWdlcjoNCgkJCS8vICogZmFsc2U6IFsgdmFsdWUgXS5zbGljZSggMCApID0-IHJlc29sdmUoIHZhbHVlICkNCgkJCS8vICogdHJ1ZTogWyB2YWx1ZSBdLnNsaWNlKCAxICkgPT4gcmVzb2x2ZSgpDQoJCQlyZXNvbHZlLmFwcGx5KCB1bmRlZmluZWQsIFsgdmFsdWUgXS5zbGljZSggbm9WYWx1ZSApICk7DQoJCX0NCg0KCS8vIEZvciBQcm9taXNlcy9BKywgY29udmVydCBleGNlcHRpb25zIGludG8gcmVqZWN0aW9ucw0KCS8vIFNpbmNlIGpRdWVyeS53aGVuIGRvZXNuJ3QgdW53cmFwIHRoZW5hYmxlcywgd2UgY2FuIHNraXAgdGhlIGV4dHJhIGNoZWNrcyBhcHBlYXJpbmcgaW4NCgkvLyBEZWZlcnJlZCN0aGVuIHRvIGNvbmRpdGlvbmFsbHkgc3VwcHJlc3MgcmVqZWN0aW9uLg0KCX0gY2F0Y2ggKCB2YWx1ZSApIHsNCg0KCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCBvbmx5DQoJCS8vIFN0cmljdCBtb2RlIGZ1bmN0aW9ucyBpbnZva2VkIHdpdGhvdXQgLmNhbGwvLmFwcGx5IGdldCBnbG9iYWwtb2JqZWN0IGNvbnRleHQNCgkJcmVqZWN0LmFwcGx5KCB1bmRlZmluZWQsIFsgdmFsdWUgXSApOw0KCX0NCn0NCg0KalF1ZXJ5LmV4dGVuZCggew0KDQoJRGVmZXJyZWQ6IGZ1bmN0aW9uKCBmdW5jICkgew0KCQl2YXIgdHVwbGVzID0gWw0KDQoJCQkJLy8gYWN0aW9uLCBhZGQgbGlzdGVuZXIsIGNhbGxiYWNrcywNCgkJCQkvLyAuLi4gLnRoZW4gaGFuZGxlcnMsIGFyZ3VtZW50IGluZGV4LCBbZmluYWwgc3RhdGVdDQoJCQkJWyAibm90aWZ5IiwgInByb2dyZXNzIiwgalF1ZXJ5LkNhbGxiYWNrcyggIm1lbW9yeSIgKSwNCgkJCQkJalF1ZXJ5LkNhbGxiYWNrcyggIm1lbW9yeSIgKSwgMiBdLA0KCQkJCVsgInJlc29sdmUiLCAiZG9uZSIsIGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwNCgkJCQkJalF1ZXJ5LkNhbGxiYWNrcyggIm9uY2UgbWVtb3J5IiApLCAwLCAicmVzb2x2ZWQiIF0sDQoJCQkJWyAicmVqZWN0IiwgImZhaWwiLCBqUXVlcnkuQ2FsbGJhY2tzKCAib25jZSBtZW1vcnkiICksDQoJCQkJCWpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwgMSwgInJlamVjdGVkIiBdDQoJCQldLA0KCQkJc3RhdGUgPSAicGVuZGluZyIsDQoJCQlwcm9taXNlID0gew0KCQkJCXN0YXRlOiBmdW5jdGlvbigpIHsNCgkJCQkJcmV0dXJuIHN0YXRlOw0KCQkJCX0sDQoJCQkJYWx3YXlzOiBmdW5jdGlvbigpIHsNCgkJCQkJZGVmZXJyZWQuZG9uZSggYXJndW1lbnRzICkuZmFpbCggYXJndW1lbnRzICk7DQoJCQkJCXJldHVybiB0aGlzOw0KCQkJCX0sDQoJCQkJImNhdGNoIjogZnVuY3Rpb24oIGZuICkgew0KCQkJCQlyZXR1cm4gcHJvbWlzZS50aGVuKCBudWxsLCBmbiApOw0KCQkJCX0sDQoNCgkJCQkvLyBLZWVwIHBpcGUgZm9yIGJhY2stY29tcGF0DQoJCQkJcGlwZTogZnVuY3Rpb24oIC8qIGZuRG9uZSwgZm5GYWlsLCBmblByb2dyZXNzICovICkgew0KCQkJCQl2YXIgZm5zID0gYXJndW1lbnRzOw0KDQoJCQkJCXJldHVybiBqUXVlcnkuRGVmZXJyZWQoIGZ1bmN0aW9uKCBuZXdEZWZlciApIHsNCgkJCQkJCWpRdWVyeS5lYWNoKCB0dXBsZXMsIGZ1bmN0aW9uKCBpLCB0dXBsZSApIHsNCg0KCQkJCQkJCS8vIE1hcCB0dXBsZXMgKHByb2dyZXNzLCBkb25lLCBmYWlsKSB0byBhcmd1bWVudHMgKGRvbmUsIGZhaWwsIHByb2dyZXNzKQ0KCQkJCQkJCXZhciBmbiA9IGpRdWVyeS5pc0Z1bmN0aW9uKCBmbnNbIHR1cGxlWyA0IF0gXSApICYmIGZuc1sgdHVwbGVbIDQgXSBdOw0KDQoJCQkJCQkJLy8gZGVmZXJyZWQucHJvZ3Jlc3MoZnVuY3Rpb24oKSB7IGJpbmQgdG8gbmV3RGVmZXIgb3IgbmV3RGVmZXIubm90aWZ5IH0pDQoJCQkJCQkJLy8gZGVmZXJyZWQuZG9uZShmdW5jdGlvbigpIHsgYmluZCB0byBuZXdEZWZlciBvciBuZXdEZWZlci5yZXNvbHZlIH0pDQoJCQkJCQkJLy8gZGVmZXJyZWQuZmFpbChmdW5jdGlvbigpIHsgYmluZCB0byBuZXdEZWZlciBvciBuZXdEZWZlci5yZWplY3QgfSkNCgkJCQkJCQlkZWZlcnJlZFsgdHVwbGVbIDEgXSBdKCBmdW5jdGlvbigpIHsNCgkJCQkJCQkJdmFyIHJldHVybmVkID0gZm4gJiYgZm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJCQkJCQlpZiAoIHJldHVybmVkICYmIGpRdWVyeS5pc0Z1bmN0aW9uKCByZXR1cm5lZC5wcm9taXNlICkgKSB7DQoJCQkJCQkJCQlyZXR1cm5lZC5wcm9taXNlKCkNCgkJCQkJCQkJCQkucHJvZ3Jlc3MoIG5ld0RlZmVyLm5vdGlmeSApDQoJCQkJCQkJCQkJLmRvbmUoIG5ld0RlZmVyLnJlc29sdmUgKQ0KCQkJCQkJCQkJCS5mYWlsKCBuZXdEZWZlci5yZWplY3QgKTsNCgkJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJCW5ld0RlZmVyWyB0dXBsZVsgMCBdICsgIldpdGgiIF0oDQoJCQkJCQkJCQkJdGhpcywNCgkJCQkJCQkJCQlmbiA_IFsgcmV0dXJuZWQgXSA6IGFyZ3VtZW50cw0KCQkJCQkJCQkJKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCX0gKTsNCgkJCQkJCX0gKTsNCgkJCQkJCWZucyA9IG51bGw7DQoJCQkJCX0gKS5wcm9taXNlKCk7DQoJCQkJfSwNCgkJCQl0aGVuOiBmdW5jdGlvbiggb25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQsIG9uUHJvZ3Jlc3MgKSB7DQoJCQkJCXZhciBtYXhEZXB0aCA9IDA7DQoJCQkJCWZ1bmN0aW9uIHJlc29sdmUoIGRlcHRoLCBkZWZlcnJlZCwgaGFuZGxlciwgc3BlY2lhbCApIHsNCgkJCQkJCXJldHVybiBmdW5jdGlvbigpIHsNCgkJCQkJCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQkJCQkJCWFyZ3MgPSBhcmd1bWVudHMsDQoJCQkJCQkJCW1pZ2h0VGhyb3cgPSBmdW5jdGlvbigpIHsNCgkJCQkJCQkJCXZhciByZXR1cm5lZCwgdGhlbjsNCg0KCQkJCQkJCQkJLy8gU3VwcG9ydDogUHJvbWlzZXMvQSsgc2VjdGlvbiAyLjMuMy4zLjMNCgkJCQkJCQkJCS8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTU5DQoJCQkJCQkJCQkvLyBJZ25vcmUgZG91YmxlLXJlc29sdXRpb24gYXR0ZW1wdHMNCgkJCQkJCQkJCWlmICggZGVwdGggPCBtYXhEZXB0aCApIHsNCgkJCQkJCQkJCQlyZXR1cm47DQoJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCXJldHVybmVkID0gaGFuZGxlci5hcHBseSggdGhhdCwgYXJncyApOw0KDQoJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy4xDQoJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC00OA0KCQkJCQkJCQkJaWYgKCByZXR1cm5lZCA9PT0gZGVmZXJyZWQucHJvbWlzZSgpICkgew0KCQkJCQkJCQkJCXRocm93IG5ldyBUeXBlRXJyb3IoICJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb24iICk7DQoJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb25zIDIuMy4zLjEsIDMuNQ0KCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTQNCgkJCQkJCQkJCS8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTc1DQoJCQkJCQkJCQkvLyBSZXRyaWV2ZSBgdGhlbmAgb25seSBvbmNlDQoJCQkJCQkJCQl0aGVuID0gcmV0dXJuZWQgJiYNCg0KCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjQNCgkJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC02NA0KCQkJCQkJCQkJCS8vIE9ubHkgY2hlY2sgb2JqZWN0cyBhbmQgZnVuY3Rpb25zIGZvciB0aGVuYWJpbGl0eQ0KCQkJCQkJCQkJCSggdHlwZW9mIHJldHVybmVkID09PSAib2JqZWN0IiB8fA0KCQkJCQkJCQkJCQl0eXBlb2YgcmV0dXJuZWQgPT09ICJmdW5jdGlvbiIgKSAmJg0KCQkJCQkJCQkJCXJldHVybmVkLnRoZW47DQoNCgkJCQkJCQkJCS8vIEhhbmRsZSBhIHJldHVybmVkIHRoZW5hYmxlDQoJCQkJCQkJCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCB0aGVuICkgKSB7DQoNCgkJCQkJCQkJCQkvLyBTcGVjaWFsIHByb2Nlc3NvcnMgKG5vdGlmeSkganVzdCB3YWl0IGZvciByZXNvbHV0aW9uDQoJCQkJCQkJCQkJaWYgKCBzcGVjaWFsICkgew0KCQkJCQkJCQkJCQl0aGVuLmNhbGwoDQoJCQkJCQkJCQkJCQlyZXR1cm5lZCwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgSWRlbnRpdHksIHNwZWNpYWwgKSwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgVGhyb3dlciwgc3BlY2lhbCApDQoJCQkJCQkJCQkJCSk7DQoNCgkJCQkJCQkJCQkvLyBOb3JtYWwgcHJvY2Vzc29ycyAocmVzb2x2ZSkgYWxzbyBob29rIGludG8gcHJvZ3Jlc3MNCgkJCQkJCQkJCQl9IGVsc2Ugew0KDQoJCQkJCQkJCQkJCS8vIC4uLmFuZCBkaXNyZWdhcmQgb2xkZXIgcmVzb2x1dGlvbiB2YWx1ZXMNCgkJCQkJCQkJCQkJbWF4RGVwdGgrKzsNCg0KCQkJCQkJCQkJCQl0aGVuLmNhbGwoDQoJCQkJCQkJCQkJCQlyZXR1cm5lZCwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgSWRlbnRpdHksIHNwZWNpYWwgKSwNCgkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgVGhyb3dlciwgc3BlY2lhbCApLA0KCQkJCQkJCQkJCQkJcmVzb2x2ZSggbWF4RGVwdGgsIGRlZmVycmVkLCBJZGVudGl0eSwNCgkJCQkJCQkJCQkJCQlkZWZlcnJlZC5ub3RpZnlXaXRoICkNCgkJCQkJCQkJCQkJKTsNCgkJCQkJCQkJCQl9DQoNCgkJCQkJCQkJCS8vIEhhbmRsZSBhbGwgb3RoZXIgcmV0dXJuZWQgdmFsdWVzDQoJCQkJCQkJCQl9IGVsc2Ugew0KDQoJCQkJCQkJCQkJLy8gT25seSBzdWJzdGl0dXRlIGhhbmRsZXJzIHBhc3Mgb24gY29udGV4dA0KCQkJCQkJCQkJCS8vIGFuZCBtdWx0aXBsZSB2YWx1ZXMgKG5vbi1zcGVjIGJlaGF2aW9yKQ0KCQkJCQkJCQkJCWlmICggaGFuZGxlciAhPT0gSWRlbnRpdHkgKSB7DQoJCQkJCQkJCQkJCXRoYXQgPSB1bmRlZmluZWQ7DQoJCQkJCQkJCQkJCWFyZ3MgPSBbIHJldHVybmVkIF07DQoJCQkJCQkJCQkJfQ0KDQoJCQkJCQkJCQkJLy8gUHJvY2VzcyB0aGUgdmFsdWUocykNCgkJCQkJCQkJCQkvLyBEZWZhdWx0IHByb2Nlc3MgaXMgcmVzb2x2ZQ0KCQkJCQkJCQkJCSggc3BlY2lhbCB8fCBkZWZlcnJlZC5yZXNvbHZlV2l0aCApKCB0aGF0LCBhcmdzICk7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCX0sDQoNCgkJCQkJCQkJLy8gT25seSBub3JtYWwgcHJvY2Vzc29ycyAocmVzb2x2ZSkgY2F0Y2ggYW5kIHJlamVjdCBleGNlcHRpb25zDQoJCQkJCQkJCXByb2Nlc3MgPSBzcGVjaWFsID8NCgkJCQkJCQkJCW1pZ2h0VGhyb3cgOg0KCQkJCQkJCQkJZnVuY3Rpb24oKSB7DQoJCQkJCQkJCQkJdHJ5IHsNCgkJCQkJCQkJCQkJbWlnaHRUaHJvdygpOw0KCQkJCQkJCQkJCX0gY2F0Y2ggKCBlICkgew0KDQoJCQkJCQkJCQkJCWlmICggalF1ZXJ5LkRlZmVycmVkLmV4Y2VwdGlvbkhvb2sgKSB7DQoJCQkJCQkJCQkJCQlqUXVlcnkuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayggZSwNCgkJCQkJCQkJCQkJCQlwcm9jZXNzLnN0YWNrVHJhY2UgKTsNCgkJCQkJCQkJCQkJfQ0KDQoJCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy40LjENCgkJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNjENCgkJCQkJCQkJCQkJLy8gSWdub3JlIHBvc3QtcmVzb2x1dGlvbiBleGNlcHRpb25zDQoJCQkJCQkJCQkJCWlmICggZGVwdGggKyAxID49IG1heERlcHRoICkgew0KDQoJCQkJCQkJCQkJCQkvLyBPbmx5IHN1YnN0aXR1dGUgaGFuZGxlcnMgcGFzcyBvbiBjb250ZXh0DQoJCQkJCQkJCQkJCQkvLyBhbmQgbXVsdGlwbGUgdmFsdWVzIChub24tc3BlYyBiZWhhdmlvcikNCgkJCQkJCQkJCQkJCWlmICggaGFuZGxlciAhPT0gVGhyb3dlciApIHsNCgkJCQkJCQkJCQkJCQl0aGF0ID0gdW5kZWZpbmVkOw0KCQkJCQkJCQkJCQkJCWFyZ3MgPSBbIGUgXTsNCgkJCQkJCQkJCQkJCX0NCg0KCQkJCQkJCQkJCQkJZGVmZXJyZWQucmVqZWN0V2l0aCggdGhhdCwgYXJncyApOw0KCQkJCQkJCQkJCQl9DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJfTsNCg0KCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy4xDQoJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTcNCgkJCQkJCQkvLyBSZS1yZXNvbHZlIHByb21pc2VzIGltbWVkaWF0ZWx5IHRvIGRvZGdlIGZhbHNlIHJlamVjdGlvbiBmcm9tDQoJCQkJCQkJLy8gc3Vic2VxdWVudCBlcnJvcnMNCgkJCQkJCQlpZiAoIGRlcHRoICkgew0KCQkJCQkJCQlwcm9jZXNzKCk7DQoJCQkJCQkJfSBlbHNlIHsNCg0KCQkJCQkJCQkvLyBDYWxsIGFuIG9wdGlvbmFsIGhvb2sgdG8gcmVjb3JkIHRoZSBzdGFjaywgaW4gY2FzZSBvZiBleGNlcHRpb24NCgkJCQkJCQkJLy8gc2luY2UgaXQncyBvdGhlcndpc2UgbG9zdCB3aGVuIGV4ZWN1dGlvbiBnb2VzIGFzeW5jDQoJCQkJCQkJCWlmICggalF1ZXJ5LkRlZmVycmVkLmdldFN0YWNrSG9vayApIHsNCgkJCQkJCQkJCXByb2Nlc3Muc3RhY2tUcmFjZSA9IGpRdWVyeS5EZWZlcnJlZC5nZXRTdGFja0hvb2soKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCQl3aW5kb3cuc2V0VGltZW91dCggcHJvY2VzcyApOw0KCQkJCQkJCX0NCgkJCQkJCX07DQoJCQkJCX0NCg0KCQkJCQlyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCBmdW5jdGlvbiggbmV3RGVmZXIgKSB7DQoNCgkJCQkJCS8vIHByb2dyZXNzX2hhbmRsZXJzLmFkZCggLi4uICkNCgkJCQkJCXR1cGxlc1sgMCBdWyAzIF0uYWRkKA0KCQkJCQkJCXJlc29sdmUoDQoJCQkJCQkJCTAsDQoJCQkJCQkJCW5ld0RlZmVyLA0KCQkJCQkJCQlqUXVlcnkuaXNGdW5jdGlvbiggb25Qcm9ncmVzcyApID8NCgkJCQkJCQkJCW9uUHJvZ3Jlc3MgOg0KCQkJCQkJCQkJSWRlbnRpdHksDQoJCQkJCQkJCW5ld0RlZmVyLm5vdGlmeVdpdGgNCgkJCQkJCQkpDQoJCQkJCQkpOw0KDQoJCQkJCQkvLyBmdWxmaWxsZWRfaGFuZGxlcnMuYWRkKCAuLi4gKQ0KCQkJCQkJdHVwbGVzWyAxIF1bIDMgXS5hZGQoDQoJCQkJCQkJcmVzb2x2ZSgNCgkJCQkJCQkJMCwNCgkJCQkJCQkJbmV3RGVmZXIsDQoJCQkJCQkJCWpRdWVyeS5pc0Z1bmN0aW9uKCBvbkZ1bGZpbGxlZCApID8NCgkJCQkJCQkJCW9uRnVsZmlsbGVkIDoNCgkJCQkJCQkJCUlkZW50aXR5DQoJCQkJCQkJKQ0KCQkJCQkJKTsNCg0KCQkJCQkJLy8gcmVqZWN0ZWRfaGFuZGxlcnMuYWRkKCAuLi4gKQ0KCQkJCQkJdHVwbGVzWyAyIF1bIDMgXS5hZGQoDQoJCQkJCQkJcmVzb2x2ZSgNCgkJCQkJCQkJMCwNCgkJCQkJCQkJbmV3RGVmZXIsDQoJCQkJCQkJCWpRdWVyeS5pc0Z1bmN0aW9uKCBvblJlamVjdGVkICkgPw0KCQkJCQkJCQkJb25SZWplY3RlZCA6DQoJCQkJCQkJCQlUaHJvd2VyDQoJCQkJCQkJKQ0KCQkJCQkJKTsNCgkJCQkJfSApLnByb21pc2UoKTsNCgkJCQl9LA0KDQoJCQkJLy8gR2V0IGEgcHJvbWlzZSBmb3IgdGhpcyBkZWZlcnJlZA0KCQkJCS8vIElmIG9iaiBpcyBwcm92aWRlZCwgdGhlIHByb21pc2UgYXNwZWN0IGlzIGFkZGVkIHRvIHRoZSBvYmplY3QNCgkJCQlwcm9taXNlOiBmdW5jdGlvbiggb2JqICkgew0KCQkJCQlyZXR1cm4gb2JqICE9IG51bGwgPyBqUXVlcnkuZXh0ZW5kKCBvYmosIHByb21pc2UgKSA6IHByb21pc2U7DQoJCQkJfQ0KCQkJfSwNCgkJCWRlZmVycmVkID0ge307DQoNCgkJLy8gQWRkIGxpc3Qtc3BlY2lmaWMgbWV0aG9kcw0KCQlqUXVlcnkuZWFjaCggdHVwbGVzLCBmdW5jdGlvbiggaSwgdHVwbGUgKSB7DQoJCQl2YXIgbGlzdCA9IHR1cGxlWyAyIF0sDQoJCQkJc3RhdGVTdHJpbmcgPSB0dXBsZVsgNSBdOw0KDQoJCQkvLyBwcm9taXNlLnByb2dyZXNzID0gbGlzdC5hZGQNCgkJCS8vIHByb21pc2UuZG9uZSA9IGxpc3QuYWRkDQoJCQkvLyBwcm9taXNlLmZhaWwgPSBsaXN0LmFkZA0KCQkJcHJvbWlzZVsgdHVwbGVbIDEgXSBdID0gbGlzdC5hZGQ7DQoNCgkJCS8vIEhhbmRsZSBzdGF0ZQ0KCQkJaWYgKCBzdGF0ZVN0cmluZyApIHsNCgkJCQlsaXN0LmFkZCgNCgkJCQkJZnVuY3Rpb24oKSB7DQoNCgkJCQkJCS8vIHN0YXRlID0gInJlc29sdmVkIiAoaS5lLiwgZnVsZmlsbGVkKQ0KCQkJCQkJLy8gc3RhdGUgPSAicmVqZWN0ZWQiDQoJCQkJCQlzdGF0ZSA9IHN0YXRlU3RyaW5nOw0KCQkJCQl9LA0KDQoJCQkJCS8vIHJlamVjdGVkX2NhbGxiYWNrcy5kaXNhYmxlDQoJCQkJCS8vIGZ1bGZpbGxlZF9jYWxsYmFja3MuZGlzYWJsZQ0KCQkJCQl0dXBsZXNbIDMgLSBpIF1bIDIgXS5kaXNhYmxlLA0KDQoJCQkJCS8vIHByb2dyZXNzX2NhbGxiYWNrcy5sb2NrDQoJCQkJCXR1cGxlc1sgMCBdWyAyIF0ubG9jaw0KCQkJCSk7DQoJCQl9DQoNCgkJCS8vIHByb2dyZXNzX2hhbmRsZXJzLmZpcmUNCgkJCS8vIGZ1bGZpbGxlZF9oYW5kbGVycy5maXJlDQoJCQkvLyByZWplY3RlZF9oYW5kbGVycy5maXJlDQoJCQlsaXN0LmFkZCggdHVwbGVbIDMgXS5maXJlICk7DQoNCgkJCS8vIGRlZmVycmVkLm5vdGlmeSA9IGZ1bmN0aW9uKCkgeyBkZWZlcnJlZC5ub3RpZnlXaXRoKC4uLikgfQ0KCQkJLy8gZGVmZXJyZWQucmVzb2x2ZSA9IGZ1bmN0aW9uKCkgeyBkZWZlcnJlZC5yZXNvbHZlV2l0aCguLi4pIH0NCgkJCS8vIGRlZmVycmVkLnJlamVjdCA9IGZ1bmN0aW9uKCkgeyBkZWZlcnJlZC5yZWplY3RXaXRoKC4uLikgfQ0KCQkJZGVmZXJyZWRbIHR1cGxlWyAwIF0gXSA9IGZ1bmN0aW9uKCkgew0KCQkJCWRlZmVycmVkWyB0dXBsZVsgMCBdICsgIldpdGgiIF0oIHRoaXMgPT09IGRlZmVycmVkID8gdW5kZWZpbmVkIDogdGhpcywgYXJndW1lbnRzICk7DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9Ow0KDQoJCQkvLyBkZWZlcnJlZC5ub3RpZnlXaXRoID0gbGlzdC5maXJlV2l0aA0KCQkJLy8gZGVmZXJyZWQucmVzb2x2ZVdpdGggPSBsaXN0LmZpcmVXaXRoDQoJCQkvLyBkZWZlcnJlZC5yZWplY3RXaXRoID0gbGlzdC5maXJlV2l0aA0KCQkJZGVmZXJyZWRbIHR1cGxlWyAwIF0gKyAiV2l0aCIgXSA9IGxpc3QuZmlyZVdpdGg7DQoJCX0gKTsNCg0KCQkvLyBNYWtlIHRoZSBkZWZlcnJlZCBhIHByb21pc2UNCgkJcHJvbWlzZS5wcm9taXNlKCBkZWZlcnJlZCApOw0KDQoJCS8vIENhbGwgZ2l2ZW4gZnVuYyBpZiBhbnkNCgkJaWYgKCBmdW5jICkgew0KCQkJZnVuYy5jYWxsKCBkZWZlcnJlZCwgZGVmZXJyZWQgKTsNCgkJfQ0KDQoJCS8vIEFsbCBkb25lIQ0KCQlyZXR1cm4gZGVmZXJyZWQ7DQoJfSwNCg0KCS8vIERlZmVycmVkIGhlbHBlcg0KCXdoZW46IGZ1bmN0aW9uKCBzaW5nbGVWYWx1ZSApIHsNCgkJdmFyDQoNCgkJCS8vIGNvdW50IG9mIHVuY29tcGxldGVkIHN1Ym9yZGluYXRlcw0KCQkJcmVtYWluaW5nID0gYXJndW1lbnRzLmxlbmd0aCwNCg0KCQkJLy8gY291bnQgb2YgdW5wcm9jZXNzZWQgYXJndW1lbnRzDQoJCQlpID0gcmVtYWluaW5nLA0KDQoJCQkvLyBzdWJvcmRpbmF0ZSBmdWxmaWxsbWVudCBkYXRhDQoJCQlyZXNvbHZlQ29udGV4dHMgPSBBcnJheSggaSApLA0KCQkJcmVzb2x2ZVZhbHVlcyA9IHNsaWNlLmNhbGwoIGFyZ3VtZW50cyApLA0KDQoJCQkvLyB0aGUgbWFzdGVyIERlZmVycmVkDQoJCQltYXN0ZXIgPSBqUXVlcnkuRGVmZXJyZWQoKSwNCg0KCQkJLy8gc3Vib3JkaW5hdGUgY2FsbGJhY2sgZmFjdG9yeQ0KCQkJdXBkYXRlRnVuYyA9IGZ1bmN0aW9uKCBpICkgew0KCQkJCXJldHVybiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQkJCXJlc29sdmVDb250ZXh0c1sgaSBdID0gdGhpczsNCgkJCQkJcmVzb2x2ZVZhbHVlc1sgaSBdID0gYXJndW1lbnRzLmxlbmd0aCA-IDEgPyBzbGljZS5jYWxsKCBhcmd1bWVudHMgKSA6IHZhbHVlOw0KCQkJCQlpZiAoICEoIC0tcmVtYWluaW5nICkgKSB7DQoJCQkJCQltYXN0ZXIucmVzb2x2ZVdpdGgoIHJlc29sdmVDb250ZXh0cywgcmVzb2x2ZVZhbHVlcyApOw0KCQkJCQl9DQoJCQkJfTsNCgkJCX07DQoNCgkJLy8gU2luZ2xlLSBhbmQgZW1wdHkgYXJndW1lbnRzIGFyZSBhZG9wdGVkIGxpa2UgUHJvbWlzZS5yZXNvbHZlDQoJCWlmICggcmVtYWluaW5nIDw9IDEgKSB7DQoJCQlhZG9wdFZhbHVlKCBzaW5nbGVWYWx1ZSwgbWFzdGVyLmRvbmUoIHVwZGF0ZUZ1bmMoIGkgKSApLnJlc29sdmUsIG1hc3Rlci5yZWplY3QsDQoJCQkJIXJlbWFpbmluZyApOw0KDQoJCQkvLyBVc2UgLnRoZW4oKSB0byB1bndyYXAgc2Vjb25kYXJ5IHRoZW5hYmxlcyAoY2YuIGdoLTMwMDApDQoJCQlpZiAoIG1hc3Rlci5zdGF0ZSgpID09PSAicGVuZGluZyIgfHwNCgkJCQlqUXVlcnkuaXNGdW5jdGlvbiggcmVzb2x2ZVZhbHVlc1sgaSBdICYmIHJlc29sdmVWYWx1ZXNbIGkgXS50aGVuICkgKSB7DQoNCgkJCQlyZXR1cm4gbWFzdGVyLnRoZW4oKTsNCgkJCX0NCgkJfQ0KDQoJCS8vIE11bHRpcGxlIGFyZ3VtZW50cyBhcmUgYWdncmVnYXRlZCBsaWtlIFByb21pc2UuYWxsIGFycmF5IGVsZW1lbnRzDQoJCXdoaWxlICggaS0tICkgew0KCQkJYWRvcHRWYWx1ZSggcmVzb2x2ZVZhbHVlc1sgaSBdLCB1cGRhdGVGdW5jKCBpICksIG1hc3Rlci5yZWplY3QgKTsNCgkJfQ0KDQoJCXJldHVybiBtYXN0ZXIucHJvbWlzZSgpOw0KCX0NCn0gKTsNCg0KDQovLyBUaGVzZSB1c3VhbGx5IGluZGljYXRlIGEgcHJvZ3JhbW1lciBtaXN0YWtlIGR1cmluZyBkZXZlbG9wbWVudCwNCi8vIHdhcm4gYWJvdXQgdGhlbSBBU0FQIHJhdGhlciB0aGFuIHN3YWxsb3dpbmcgdGhlbSBieSBkZWZhdWx0Lg0KdmFyIHJlcnJvck5hbWVzID0gL14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87DQoNCmpRdWVyeS5EZWZlcnJlZC5leGNlcHRpb25Ib29rID0gZnVuY3Rpb24oIGVycm9yLCBzdGFjayApIHsNCg0KCS8vIFN1cHBvcnQ6IElFIDggLSA5IG9ubHkNCgkvLyBDb25zb2xlIGV4aXN0cyB3aGVuIGRldiB0b29scyBhcmUgb3Blbiwgd2hpY2ggY2FuIGhhcHBlbiBhdCBhbnkgdGltZQ0KCWlmICggd2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUud2FybiAmJiBlcnJvciAmJiByZXJyb3JOYW1lcy50ZXN0KCBlcnJvci5uYW1lICkgKSB7DQoJCXdpbmRvdy5jb25zb2xlLndhcm4oICJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiAiICsgZXJyb3IubWVzc2FnZSwgZXJyb3Iuc3RhY2ssIHN0YWNrICk7DQoJfQ0KfTsNCg0KDQoNCg0KalF1ZXJ5LnJlYWR5RXhjZXB0aW9uID0gZnVuY3Rpb24oIGVycm9yICkgew0KCXdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsNCgkJdGhyb3cgZXJyb3I7DQoJfSApOw0KfTsNCg0KDQoNCg0KLy8gVGhlIGRlZmVycmVkIHVzZWQgb24gRE9NIHJlYWR5DQp2YXIgcmVhZHlMaXN0ID0galF1ZXJ5LkRlZmVycmVkKCk7DQoNCmpRdWVyeS5mbi5yZWFkeSA9IGZ1bmN0aW9uKCBmbiApIHsNCg0KCXJlYWR5TGlzdA0KCQkudGhlbiggZm4gKQ0KDQoJCS8vIFdyYXAgalF1ZXJ5LnJlYWR5RXhjZXB0aW9uIGluIGEgZnVuY3Rpb24gc28gdGhhdCB0aGUgbG9va3VwDQoJCS8vIGhhcHBlbnMgYXQgdGhlIHRpbWUgb2YgZXJyb3IgaGFuZGxpbmcgaW5zdGVhZCBvZiBjYWxsYmFjaw0KCQkvLyByZWdpc3RyYXRpb24uDQoJCS5jYXRjaCggZnVuY3Rpb24oIGVycm9yICkgew0KCQkJalF1ZXJ5LnJlYWR5RXhjZXB0aW9uKCBlcnJvciApOw0KCQl9ICk7DQoNCglyZXR1cm4gdGhpczsNCn07DQoNCmpRdWVyeS5leHRlbmQoIHsNCg0KCS8vIElzIHRoZSBET00gcmVhZHkgdG8gYmUgdXNlZD8gU2V0IHRvIHRydWUgb25jZSBpdCBvY2N1cnMuDQoJaXNSZWFkeTogZmFsc2UsDQoNCgkvLyBBIGNvdW50ZXIgdG8gdHJhY2sgaG93IG1hbnkgaXRlbXMgdG8gd2FpdCBmb3IgYmVmb3JlDQoJLy8gdGhlIHJlYWR5IGV2ZW50IGZpcmVzLiBTZWUgIzY3ODENCglyZWFkeVdhaXQ6IDEsDQoNCgkvLyBIYW5kbGUgd2hlbiB0aGUgRE9NIGlzIHJlYWR5DQoJcmVhZHk6IGZ1bmN0aW9uKCB3YWl0ICkgew0KDQoJCS8vIEFib3J0IGlmIHRoZXJlIGFyZSBwZW5kaW5nIGhvbGRzIG9yIHdlJ3JlIGFscmVhZHkgcmVhZHkNCgkJaWYgKCB3YWl0ID09PSB0cnVlID8gLS1qUXVlcnkucmVhZHlXYWl0IDogalF1ZXJ5LmlzUmVhZHkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBSZW1lbWJlciB0aGF0IHRoZSBET00gaXMgcmVhZHkNCgkJalF1ZXJ5LmlzUmVhZHkgPSB0cnVlOw0KDQoJCS8vIElmIGEgbm9ybWFsIERPTSBSZWFkeSBldmVudCBmaXJlZCwgZGVjcmVtZW50LCBhbmQgd2FpdCBpZiBuZWVkIGJlDQoJCWlmICggd2FpdCAhPT0gdHJ1ZSAmJiAtLWpRdWVyeS5yZWFkeVdhaXQgPiAwICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gSWYgdGhlcmUgYXJlIGZ1bmN0aW9ucyBib3VuZCwgdG8gZXhlY3V0ZQ0KCQlyZWFkeUxpc3QucmVzb2x2ZVdpdGgoIGRvY3VtZW50LCBbIGpRdWVyeSBdICk7DQoJfQ0KfSApOw0KDQpqUXVlcnkucmVhZHkudGhlbiA9IHJlYWR5TGlzdC50aGVuOw0KDQovLyBUaGUgcmVhZHkgZXZlbnQgaGFuZGxlciBhbmQgc2VsZiBjbGVhbnVwIG1ldGhvZA0KZnVuY3Rpb24gY29tcGxldGVkKCkgew0KCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoICJET01Db250ZW50TG9hZGVkIiwgY29tcGxldGVkICk7DQoJd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoICJsb2FkIiwgY29tcGxldGVkICk7DQoJalF1ZXJ5LnJlYWR5KCk7DQp9DQoNCi8vIENhdGNoIGNhc2VzIHdoZXJlICQoZG9jdW1lbnQpLnJlYWR5KCkgaXMgY2FsbGVkDQovLyBhZnRlciB0aGUgYnJvd3NlciBldmVudCBoYXMgYWxyZWFkeSBvY2N1cnJlZC4NCi8vIFN1cHBvcnQ6IElFIDw9OSAtIDEwIG9ubHkNCi8vIE9sZGVyIElFIHNvbWV0aW1lcyBzaWduYWxzICJpbnRlcmFjdGl2ZSIgdG9vIHNvb24NCmlmICggZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImNvbXBsZXRlIiB8fA0KCSggZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gImxvYWRpbmciICYmICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwgKSApIHsNCg0KCS8vIEhhbmRsZSBpdCBhc3luY2hyb25vdXNseSB0byBhbGxvdyBzY3JpcHRzIHRoZSBvcHBvcnR1bml0eSB0byBkZWxheSByZWFkeQ0KCXdpbmRvdy5zZXRUaW1lb3V0KCBqUXVlcnkucmVhZHkgKTsNCg0KfSBlbHNlIHsNCg0KCS8vIFVzZSB0aGUgaGFuZHkgZXZlbnQgY2FsbGJhY2sNCglkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCAiRE9NQ29udGVudExvYWRlZCIsIGNvbXBsZXRlZCApOw0KDQoJLy8gQSBmYWxsYmFjayB0byB3aW5kb3cub25sb2FkLCB0aGF0IHdpbGwgYWx3YXlzIHdvcmsNCgl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggImxvYWQiLCBjb21wbGV0ZWQgKTsNCn0NCg0KDQoNCg0KLy8gTXVsdGlmdW5jdGlvbmFsIG1ldGhvZCB0byBnZXQgYW5kIHNldCB2YWx1ZXMgb2YgYSBjb2xsZWN0aW9uDQovLyBUaGUgdmFsdWUvcyBjYW4gb3B0aW9uYWxseSBiZSBleGVjdXRlZCBpZiBpdCdzIGEgZnVuY3Rpb24NCnZhciBhY2Nlc3MgPSBmdW5jdGlvbiggZWxlbXMsIGZuLCBrZXksIHZhbHVlLCBjaGFpbmFibGUsIGVtcHR5R2V0LCByYXcgKSB7DQoJdmFyIGkgPSAwLA0KCQlsZW4gPSBlbGVtcy5sZW5ndGgsDQoJCWJ1bGsgPSBrZXkgPT0gbnVsbDsNCg0KCS8vIFNldHMgbWFueSB2YWx1ZXMNCglpZiAoIGpRdWVyeS50eXBlKCBrZXkgKSA9PT0gIm9iamVjdCIgKSB7DQoJCWNoYWluYWJsZSA9IHRydWU7DQoJCWZvciAoIGkgaW4ga2V5ICkgew0KCQkJYWNjZXNzKCBlbGVtcywgZm4sIGksIGtleVsgaSBdLCB0cnVlLCBlbXB0eUdldCwgcmF3ICk7DQoJCX0NCg0KCS8vIFNldHMgb25lIHZhbHVlDQoJfSBlbHNlIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCApIHsNCgkJY2hhaW5hYmxlID0gdHJ1ZTsNCg0KCQlpZiAoICFqUXVlcnkuaXNGdW5jdGlvbiggdmFsdWUgKSApIHsNCgkJCXJhdyA9IHRydWU7DQoJCX0NCg0KCQlpZiAoIGJ1bGsgKSB7DQoNCgkJCS8vIEJ1bGsgb3BlcmF0aW9ucyBydW4gYWdhaW5zdCB0aGUgZW50aXJlIHNldA0KCQkJaWYgKCByYXcgKSB7DQoJCQkJZm4uY2FsbCggZWxlbXMsIHZhbHVlICk7DQoJCQkJZm4gPSBudWxsOw0KDQoJCQkvLyAuLi5leGNlcHQgd2hlbiBleGVjdXRpbmcgZnVuY3Rpb24gdmFsdWVzDQoJCQl9IGVsc2Ugew0KCQkJCWJ1bGsgPSBmbjsNCgkJCQlmbiA9IGZ1bmN0aW9uKCBlbGVtLCBrZXksIHZhbHVlICkgew0KCQkJCQlyZXR1cm4gYnVsay5jYWxsKCBqUXVlcnkoIGVsZW0gKSwgdmFsdWUgKTsNCgkJCQl9Ow0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBmbiApIHsNCgkJCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgew0KCQkJCWZuKA0KCQkJCQllbGVtc1sgaSBdLCBrZXksIHJhdyA_DQoJCQkJCXZhbHVlIDoNCgkJCQkJdmFsdWUuY2FsbCggZWxlbXNbIGkgXSwgaSwgZm4oIGVsZW1zWyBpIF0sIGtleSApICkNCgkJCQkpOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJaWYgKCBjaGFpbmFibGUgKSB7DQoJCXJldHVybiBlbGVtczsNCgl9DQoNCgkvLyBHZXRzDQoJaWYgKCBidWxrICkgew0KCQlyZXR1cm4gZm4uY2FsbCggZWxlbXMgKTsNCgl9DQoNCglyZXR1cm4gbGVuID8gZm4oIGVsZW1zWyAwIF0sIGtleSApIDogZW1wdHlHZXQ7DQp9Ow0KdmFyIGFjY2VwdERhdGEgPSBmdW5jdGlvbiggb3duZXIgKSB7DQoNCgkvLyBBY2NlcHRzIG9ubHk6DQoJLy8gIC0gTm9kZQ0KCS8vICAgIC0gTm9kZS5FTEVNRU5UX05PREUNCgkvLyAgICAtIE5vZGUuRE9DVU1FTlRfTk9ERQ0KCS8vICAtIE9iamVjdA0KCS8vICAgIC0gQW55DQoJcmV0dXJuIG93bmVyLm5vZGVUeXBlID09PSAxIHx8IG93bmVyLm5vZGVUeXBlID09PSA5IHx8ICEoICtvd25lci5ub2RlVHlwZSApOw0KfTsNCg0KDQoNCg0KZnVuY3Rpb24gRGF0YSgpIHsNCgl0aGlzLmV4cGFuZG8gPSBqUXVlcnkuZXhwYW5kbyArIERhdGEudWlkKys7DQp9DQoNCkRhdGEudWlkID0gMTsNCg0KRGF0YS5wcm90b3R5cGUgPSB7DQoNCgljYWNoZTogZnVuY3Rpb24oIG93bmVyICkgew0KDQoJCS8vIENoZWNrIGlmIHRoZSBvd25lciBvYmplY3QgYWxyZWFkeSBoYXMgYSBjYWNoZQ0KCQl2YXIgdmFsdWUgPSBvd25lclsgdGhpcy5leHBhbmRvIF07DQoNCgkJLy8gSWYgbm90LCBjcmVhdGUgb25lDQoJCWlmICggIXZhbHVlICkgew0KCQkJdmFsdWUgPSB7fTsNCg0KCQkJLy8gV2UgY2FuIGFjY2VwdCBkYXRhIGZvciBub24tZWxlbWVudCBub2RlcyBpbiBtb2Rlcm4gYnJvd3NlcnMsDQoJCQkvLyBidXQgd2Ugc2hvdWxkIG5vdCwgc2VlICM4MzM1Lg0KCQkJLy8gQWx3YXlzIHJldHVybiBhbiBlbXB0eSBvYmplY3QuDQoJCQlpZiAoIGFjY2VwdERhdGEoIG93bmVyICkgKSB7DQoNCgkJCQkvLyBJZiBpdCBpcyBhIG5vZGUgdW5saWtlbHkgdG8gYmUgc3RyaW5naWZ5LWVkIG9yIGxvb3BlZCBvdmVyDQoJCQkJLy8gdXNlIHBsYWluIGFzc2lnbm1lbnQNCgkJCQlpZiAoIG93bmVyLm5vZGVUeXBlICkgew0KCQkJCQlvd25lclsgdGhpcy5leHBhbmRvIF0gPSB2YWx1ZTsNCg0KCQkJCS8vIE90aGVyd2lzZSBzZWN1cmUgaXQgaW4gYSBub24tZW51bWVyYWJsZSBwcm9wZXJ0eQ0KCQkJCS8vIGNvbmZpZ3VyYWJsZSBtdXN0IGJlIHRydWUgdG8gYWxsb3cgdGhlIHByb3BlcnR5IHRvIGJlDQoJCQkJLy8gZGVsZXRlZCB3aGVuIGRhdGEgaXMgcmVtb3ZlZA0KCQkJCX0gZWxzZSB7DQoJCQkJCU9iamVjdC5kZWZpbmVQcm9wZXJ0eSggb3duZXIsIHRoaXMuZXhwYW5kbywgew0KCQkJCQkJdmFsdWU6IHZhbHVlLA0KCQkJCQkJY29uZmlndXJhYmxlOiB0cnVlDQoJCQkJCX0gKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gdmFsdWU7DQoJfSwNCglzZXQ6IGZ1bmN0aW9uKCBvd25lciwgZGF0YSwgdmFsdWUgKSB7DQoJCXZhciBwcm9wLA0KCQkJY2FjaGUgPSB0aGlzLmNhY2hlKCBvd25lciApOw0KDQoJCS8vIEhhbmRsZTogWyBvd25lciwga2V5LCB2YWx1ZSBdIGFyZ3MNCgkJLy8gQWx3YXlzIHVzZSBjYW1lbENhc2Uga2V5IChnaC0yMjU3KQ0KCQlpZiAoIHR5cGVvZiBkYXRhID09PSAic3RyaW5nIiApIHsNCgkJCWNhY2hlWyBqUXVlcnkuY2FtZWxDYXNlKCBkYXRhICkgXSA9IHZhbHVlOw0KDQoJCS8vIEhhbmRsZTogWyBvd25lciwgeyBwcm9wZXJ0aWVzIH0gXSBhcmdzDQoJCX0gZWxzZSB7DQoNCgkJCS8vIENvcHkgdGhlIHByb3BlcnRpZXMgb25lLWJ5LW9uZSB0byB0aGUgY2FjaGUgb2JqZWN0DQoJCQlmb3IgKCBwcm9wIGluIGRhdGEgKSB7DQoJCQkJY2FjaGVbIGpRdWVyeS5jYW1lbENhc2UoIHByb3AgKSBdID0gZGF0YVsgcHJvcCBdOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBjYWNoZTsNCgl9LA0KCWdldDogZnVuY3Rpb24oIG93bmVyLCBrZXkgKSB7DQoJCXJldHVybiBrZXkgPT09IHVuZGVmaW5lZCA_DQoJCQl0aGlzLmNhY2hlKCBvd25lciApIDoNCg0KCQkJLy8gQWx3YXlzIHVzZSBjYW1lbENhc2Uga2V5IChnaC0yMjU3KQ0KCQkJb3duZXJbIHRoaXMuZXhwYW5kbyBdICYmIG93bmVyWyB0aGlzLmV4cGFuZG8gXVsgalF1ZXJ5LmNhbWVsQ2FzZSgga2V5ICkgXTsNCgl9LA0KCWFjY2VzczogZnVuY3Rpb24oIG93bmVyLCBrZXksIHZhbHVlICkgew0KDQoJCS8vIEluIGNhc2VzIHdoZXJlIGVpdGhlcjoNCgkJLy8NCgkJLy8gICAxLiBObyBrZXkgd2FzIHNwZWNpZmllZA0KCQkvLyAgIDIuIEEgc3RyaW5nIGtleSB3YXMgc3BlY2lmaWVkLCBidXQgbm8gdmFsdWUgcHJvdmlkZWQNCgkJLy8NCgkJLy8gVGFrZSB0aGUgInJlYWQiIHBhdGggYW5kIGFsbG93IHRoZSBnZXQgbWV0aG9kIHRvIGRldGVybWluZQ0KCQkvLyB3aGljaCB2YWx1ZSB0byByZXR1cm4sIHJlc3BlY3RpdmVseSBlaXRoZXI6DQoJCS8vDQoJCS8vICAgMS4gVGhlIGVudGlyZSBjYWNoZSBvYmplY3QNCgkJLy8gICAyLiBUaGUgZGF0YSBzdG9yZWQgYXQgdGhlIGtleQ0KCQkvLw0KCQlpZiAoIGtleSA9PT0gdW5kZWZpbmVkIHx8DQoJCQkJKCAoIGtleSAmJiB0eXBlb2Yga2V5ID09PSAic3RyaW5nIiApICYmIHZhbHVlID09PSB1bmRlZmluZWQgKSApIHsNCg0KCQkJcmV0dXJuIHRoaXMuZ2V0KCBvd25lciwga2V5ICk7DQoJCX0NCg0KCQkvLyBXaGVuIHRoZSBrZXkgaXMgbm90IGEgc3RyaW5nLCBvciBib3RoIGEga2V5IGFuZCB2YWx1ZQ0KCQkvLyBhcmUgc3BlY2lmaWVkLCBzZXQgb3IgZXh0ZW5kIChleGlzdGluZyBvYmplY3RzKSB3aXRoIGVpdGhlcjoNCgkJLy8NCgkJLy8gICAxLiBBbiBvYmplY3Qgb2YgcHJvcGVydGllcw0KCQkvLyAgIDIuIEEga2V5IGFuZCB2YWx1ZQ0KCQkvLw0KCQl0aGlzLnNldCggb3duZXIsIGtleSwgdmFsdWUgKTsNCg0KCQkvLyBTaW5jZSB0aGUgInNldCIgcGF0aCBjYW4gaGF2ZSB0d28gcG9zc2libGUgZW50cnkgcG9pbnRzDQoJCS8vIHJldHVybiB0aGUgZXhwZWN0ZWQgZGF0YSBiYXNlZCBvbiB3aGljaCBwYXRoIHdhcyB0YWtlblsqXQ0KCQlyZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA_IHZhbHVlIDoga2V5Ow0KCX0sDQoJcmVtb3ZlOiBmdW5jdGlvbiggb3duZXIsIGtleSApIHsNCgkJdmFyIGksDQoJCQljYWNoZSA9IG93bmVyWyB0aGlzLmV4cGFuZG8gXTsNCg0KCQlpZiAoIGNhY2hlID09PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGtleSAhPT0gdW5kZWZpbmVkICkgew0KDQoJCQkvLyBTdXBwb3J0IGFycmF5IG9yIHNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2Yga2V5cw0KCQkJaWYgKCBBcnJheS5pc0FycmF5KCBrZXkgKSApIHsNCg0KCQkJCS8vIElmIGtleSBpcyBhbiBhcnJheSBvZiBrZXlzLi4uDQoJCQkJLy8gV2UgYWx3YXlzIHNldCBjYW1lbENhc2Uga2V5cywgc28gcmVtb3ZlIHRoYXQuDQoJCQkJa2V5ID0ga2V5Lm1hcCggalF1ZXJ5LmNhbWVsQ2FzZSApOw0KCQkJfSBlbHNlIHsNCgkJCQlrZXkgPSBqUXVlcnkuY2FtZWxDYXNlKCBrZXkgKTsNCg0KCQkJCS8vIElmIGEga2V5IHdpdGggdGhlIHNwYWNlcyBleGlzdHMsIHVzZSBpdC4NCgkJCQkvLyBPdGhlcndpc2UsIGNyZWF0ZSBhbiBhcnJheSBieSBtYXRjaGluZyBub24td2hpdGVzcGFjZQ0KCQkJCWtleSA9IGtleSBpbiBjYWNoZSA_DQoJCQkJCVsga2V5IF0gOg0KCQkJCQkoIGtleS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdICk7DQoJCQl9DQoNCgkJCWkgPSBrZXkubGVuZ3RoOw0KDQoJCQl3aGlsZSAoIGktLSApIHsNCgkJCQlkZWxldGUgY2FjaGVbIGtleVsgaSBdIF07DQoJCQl9DQoJCX0NCg0KCQkvLyBSZW1vdmUgdGhlIGV4cGFuZG8gaWYgdGhlcmUncyBubyBtb3JlIGRhdGENCgkJaWYgKCBrZXkgPT09IHVuZGVmaW5lZCB8fCBqUXVlcnkuaXNFbXB0eU9iamVjdCggY2FjaGUgKSApIHsNCg0KCQkJLy8gU3VwcG9ydDogQ2hyb21lIDw9MzUgLSA0NQ0KCQkJLy8gV2Via2l0ICYgQmxpbmsgcGVyZm9ybWFuY2Ugc3VmZmVycyB3aGVuIGRlbGV0aW5nIHByb3BlcnRpZXMNCgkJCS8vIGZyb20gRE9NIG5vZGVzLCBzbyBzZXQgdG8gdW5kZWZpbmVkIGluc3RlYWQNCgkJCS8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTM3ODYwNyAoYnVnIHJlc3RyaWN0ZWQpDQoJCQlpZiAoIG93bmVyLm5vZGVUeXBlICkgew0KCQkJCW93bmVyWyB0aGlzLmV4cGFuZG8gXSA9IHVuZGVmaW5lZDsNCgkJCX0gZWxzZSB7DQoJCQkJZGVsZXRlIG93bmVyWyB0aGlzLmV4cGFuZG8gXTsNCgkJCX0NCgkJfQ0KCX0sDQoJaGFzRGF0YTogZnVuY3Rpb24oIG93bmVyICkgew0KCQl2YXIgY2FjaGUgPSBvd25lclsgdGhpcy5leHBhbmRvIF07DQoJCXJldHVybiBjYWNoZSAhPT0gdW5kZWZpbmVkICYmICFqUXVlcnkuaXNFbXB0eU9iamVjdCggY2FjaGUgKTsNCgl9DQp9Ow0KdmFyIGRhdGFQcml2ID0gbmV3IERhdGEoKTsNCg0KdmFyIGRhdGFVc2VyID0gbmV3IERhdGEoKTsNCg0KDQoNCi8vCUltcGxlbWVudGF0aW9uIFN1bW1hcnkNCi8vDQovLwkxLiBFbmZvcmNlIEFQSSBzdXJmYWNlIGFuZCBzZW1hbnRpYyBjb21wYXRpYmlsaXR5IHdpdGggMS45LnggYnJhbmNoDQovLwkyLiBJbXByb3ZlIHRoZSBtb2R1bGUncyBtYWludGFpbmFiaWxpdHkgYnkgcmVkdWNpbmcgdGhlIHN0b3JhZ2UNCi8vCQlwYXRocyB0byBhIHNpbmdsZSBtZWNoYW5pc20uDQovLwkzLiBVc2UgdGhlIHNhbWUgc2luZ2xlIG1lY2hhbmlzbSB0byBzdXBwb3J0ICJwcml2YXRlIiBhbmQgInVzZXIiIGRhdGEuDQovLwk0LiBfTmV2ZXJfIGV4cG9zZSAicHJpdmF0ZSIgZGF0YSB0byB1c2VyIGNvZGUgKFRPRE86IERyb3AgX2RhdGEsIF9yZW1vdmVEYXRhKQ0KLy8JNS4gQXZvaWQgZXhwb3NpbmcgaW1wbGVtZW50YXRpb24gZGV0YWlscyBvbiB1c2VyIG9iamVjdHMgKGVnLiBleHBhbmRvIHByb3BlcnRpZXMpDQovLwk2LiBQcm92aWRlIGEgY2xlYXIgcGF0aCBmb3IgaW1wbGVtZW50YXRpb24gdXBncmFkZSB0byBXZWFrTWFwIGluIDIwMTQNCg0KdmFyIHJicmFjZSA9IC9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sDQoJcm11bHRpRGFzaCA9IC9bQS1aXS9nOw0KDQpmdW5jdGlvbiBnZXREYXRhKCBkYXRhICkgew0KCWlmICggZGF0YSA9PT0gInRydWUiICkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCglpZiAoIGRhdGEgPT09ICJmYWxzZSIgKSB7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCglpZiAoIGRhdGEgPT09ICJudWxsIiApIHsNCgkJcmV0dXJuIG51bGw7DQoJfQ0KDQoJLy8gT25seSBjb252ZXJ0IHRvIGEgbnVtYmVyIGlmIGl0IGRvZXNuJ3QgY2hhbmdlIHRoZSBzdHJpbmcNCglpZiAoIGRhdGEgPT09ICtkYXRhICsgIiIgKSB7DQoJCXJldHVybiArZGF0YTsNCgl9DQoNCglpZiAoIHJicmFjZS50ZXN0KCBkYXRhICkgKSB7DQoJCXJldHVybiBKU09OLnBhcnNlKCBkYXRhICk7DQoJfQ0KDQoJcmV0dXJuIGRhdGE7DQp9DQoNCmZ1bmN0aW9uIGRhdGFBdHRyKCBlbGVtLCBrZXksIGRhdGEgKSB7DQoJdmFyIG5hbWU7DQoNCgkvLyBJZiBub3RoaW5nIHdhcyBmb3VuZCBpbnRlcm5hbGx5LCB0cnkgdG8gZmV0Y2ggYW55DQoJLy8gZGF0YSBmcm9tIHRoZSBIVE1MNSBkYXRhLSogYXR0cmlidXRlDQoJaWYgKCBkYXRhID09PSB1bmRlZmluZWQgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsNCgkJbmFtZSA9ICJkYXRhLSIgKyBrZXkucmVwbGFjZSggcm11bHRpRGFzaCwgIi0kJiIgKS50b0xvd2VyQ2FzZSgpOw0KCQlkYXRhID0gZWxlbS5nZXRBdHRyaWJ1dGUoIG5hbWUgKTsNCg0KCQlpZiAoIHR5cGVvZiBkYXRhID09PSAic3RyaW5nIiApIHsNCgkJCXRyeSB7DQoJCQkJZGF0YSA9IGdldERhdGEoIGRhdGEgKTsNCgkJCX0gY2F0Y2ggKCBlICkge30NCg0KCQkJLy8gTWFrZSBzdXJlIHdlIHNldCB0aGUgZGF0YSBzbyBpdCBpc24ndCBjaGFuZ2VkIGxhdGVyDQoJCQlkYXRhVXNlci5zZXQoIGVsZW0sIGtleSwgZGF0YSApOw0KCQl9IGVsc2Ugew0KCQkJZGF0YSA9IHVuZGVmaW5lZDsNCgkJfQ0KCX0NCglyZXR1cm4gZGF0YTsNCn0NCg0KalF1ZXJ5LmV4dGVuZCggew0KCWhhc0RhdGE6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQlyZXR1cm4gZGF0YVVzZXIuaGFzRGF0YSggZWxlbSApIHx8IGRhdGFQcml2Lmhhc0RhdGEoIGVsZW0gKTsNCgl9LA0KDQoJZGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGRhdGEgKSB7DQoJCXJldHVybiBkYXRhVXNlci5hY2Nlc3MoIGVsZW0sIG5hbWUsIGRhdGEgKTsNCgl9LA0KDQoJcmVtb3ZlRGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUgKSB7DQoJCWRhdGFVc2VyLnJlbW92ZSggZWxlbSwgbmFtZSApOw0KCX0sDQoNCgkvLyBUT0RPOiBOb3cgdGhhdCBhbGwgY2FsbHMgdG8gX2RhdGEgYW5kIF9yZW1vdmVEYXRhIGhhdmUgYmVlbiByZXBsYWNlZA0KCS8vIHdpdGggZGlyZWN0IGNhbGxzIHRvIGRhdGFQcml2IG1ldGhvZHMsIHRoZXNlIGNhbiBiZSBkZXByZWNhdGVkLg0KCV9kYXRhOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgZGF0YSApIHsNCgkJcmV0dXJuIGRhdGFQcml2LmFjY2VzcyggZWxlbSwgbmFtZSwgZGF0YSApOw0KCX0sDQoNCglfcmVtb3ZlRGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUgKSB7DQoJCWRhdGFQcml2LnJlbW92ZSggZWxlbSwgbmFtZSApOw0KCX0NCn0gKTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWRhdGE6IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQl2YXIgaSwgbmFtZSwgZGF0YSwNCgkJCWVsZW0gPSB0aGlzWyAwIF0sDQoJCQlhdHRycyA9IGVsZW0gJiYgZWxlbS5hdHRyaWJ1dGVzOw0KDQoJCS8vIEdldHMgYWxsIHZhbHVlcw0KCQlpZiAoIGtleSA9PT0gdW5kZWZpbmVkICkgew0KCQkJaWYgKCB0aGlzLmxlbmd0aCApIHsNCgkJCQlkYXRhID0gZGF0YVVzZXIuZ2V0KCBlbGVtICk7DQoNCgkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgJiYgIWRhdGFQcml2LmdldCggZWxlbSwgImhhc0RhdGFBdHRycyIgKSApIHsNCgkJCQkJaSA9IGF0dHJzLmxlbmd0aDsNCgkJCQkJd2hpbGUgKCBpLS0gKSB7DQoNCgkJCQkJCS8vIFN1cHBvcnQ6IElFIDExIG9ubHkNCgkJCQkJCS8vIFRoZSBhdHRycyBlbGVtZW50cyBjYW4gYmUgbnVsbCAoIzE0ODk0KQ0KCQkJCQkJaWYgKCBhdHRyc1sgaSBdICkgew0KCQkJCQkJCW5hbWUgPSBhdHRyc1sgaSBdLm5hbWU7DQoJCQkJCQkJaWYgKCBuYW1lLmluZGV4T2YoICJkYXRhLSIgKSA9PT0gMCApIHsNCgkJCQkJCQkJbmFtZSA9IGpRdWVyeS5jYW1lbENhc2UoIG5hbWUuc2xpY2UoIDUgKSApOw0KCQkJCQkJCQlkYXRhQXR0ciggZWxlbSwgbmFtZSwgZGF0YVsgbmFtZSBdICk7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWRhdGFQcml2LnNldCggZWxlbSwgImhhc0RhdGFBdHRycyIsIHRydWUgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCXJldHVybiBkYXRhOw0KCQl9DQoNCgkJLy8gU2V0cyBtdWx0aXBsZSB2YWx1ZXMNCgkJaWYgKCB0eXBlb2Yga2V5ID09PSAib2JqZWN0IiApIHsNCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWRhdGFVc2VyLnNldCggdGhpcywga2V5ICk7DQoJCQl9ICk7DQoJCX0NCg0KCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQl2YXIgZGF0YTsNCg0KCQkJLy8gVGhlIGNhbGxpbmcgalF1ZXJ5IG9iamVjdCAoZWxlbWVudCBtYXRjaGVzKSBpcyBub3QgZW1wdHkNCgkJCS8vIChhbmQgdGhlcmVmb3JlIGhhcyBhbiBlbGVtZW50IGFwcGVhcnMgYXQgdGhpc1sgMCBdKSBhbmQgdGhlDQoJCQkvLyBgdmFsdWVgIHBhcmFtZXRlciB3YXMgbm90IHVuZGVmaW5lZC4gQW4gZW1wdHkgalF1ZXJ5IG9iamVjdA0KCQkJLy8gd2lsbCByZXN1bHQgaW4gYHVuZGVmaW5lZGAgZm9yIGVsZW0gPSB0aGlzWyAwIF0gd2hpY2ggd2lsbA0KCQkJLy8gdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFuIGF0dGVtcHQgdG8gcmVhZCBhIGRhdGEgY2FjaGUgaXMgbWFkZS4NCgkJCWlmICggZWxlbSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgew0KDQoJCQkJLy8gQXR0ZW1wdCB0byBnZXQgZGF0YSBmcm9tIHRoZSBjYWNoZQ0KCQkJCS8vIFRoZSBrZXkgd2lsbCBhbHdheXMgYmUgY2FtZWxDYXNlZCBpbiBEYXRhDQoJCQkJZGF0YSA9IGRhdGFVc2VyLmdldCggZWxlbSwga2V5ICk7DQoJCQkJaWYgKCBkYXRhICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJCXJldHVybiBkYXRhOw0KCQkJCX0NCg0KCQkJCS8vIEF0dGVtcHQgdG8gImRpc2NvdmVyIiB0aGUgZGF0YSBpbg0KCQkJCS8vIEhUTUw1IGN1c3RvbSBkYXRhLSogYXR0cnMNCgkJCQlkYXRhID0gZGF0YUF0dHIoIGVsZW0sIGtleSApOw0KCQkJCWlmICggZGF0YSAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQlyZXR1cm4gZGF0YTsNCgkJCQl9DQoNCgkJCQkvLyBXZSB0cmllZCByZWFsbHkgaGFyZCwgYnV0IHRoZSBkYXRhIGRvZXNuJ3QgZXhpc3QuDQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBTZXQgdGhlIGRhdGEuLi4NCgkJCXRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoNCgkJCQkvLyBXZSBhbHdheXMgc3RvcmUgdGhlIGNhbWVsQ2FzZWQga2V5DQoJCQkJZGF0YVVzZXIuc2V0KCB0aGlzLCBrZXksIHZhbHVlICk7DQoJCQl9ICk7DQoJCX0sIG51bGwsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoID4gMSwgbnVsbCwgdHJ1ZSApOw0KCX0sDQoNCglyZW1vdmVEYXRhOiBmdW5jdGlvbigga2V5ICkgew0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCWRhdGFVc2VyLnJlbW92ZSggdGhpcywga2V5ICk7DQoJCX0gKTsNCgl9DQp9ICk7DQoNCg0KalF1ZXJ5LmV4dGVuZCggew0KCXF1ZXVlOiBmdW5jdGlvbiggZWxlbSwgdHlwZSwgZGF0YSApIHsNCgkJdmFyIHF1ZXVlOw0KDQoJCWlmICggZWxlbSApIHsNCgkJCXR5cGUgPSAoIHR5cGUgfHwgImZ4IiApICsgInF1ZXVlIjsNCgkJCXF1ZXVlID0gZGF0YVByaXYuZ2V0KCBlbGVtLCB0eXBlICk7DQoNCgkJCS8vIFNwZWVkIHVwIGRlcXVldWUgYnkgZ2V0dGluZyBvdXQgcXVpY2tseSBpZiB0aGlzIGlzIGp1c3QgYSBsb29rdXANCgkJCWlmICggZGF0YSApIHsNCgkJCQlpZiAoICFxdWV1ZSB8fCBBcnJheS5pc0FycmF5KCBkYXRhICkgKSB7DQoJCQkJCXF1ZXVlID0gZGF0YVByaXYuYWNjZXNzKCBlbGVtLCB0eXBlLCBqUXVlcnkubWFrZUFycmF5KCBkYXRhICkgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlxdWV1ZS5wdXNoKCBkYXRhICk7DQoJCQkJfQ0KCQkJfQ0KCQkJcmV0dXJuIHF1ZXVlIHx8IFtdOw0KCQl9DQoJfSwNCg0KCWRlcXVldWU6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlICkgew0KCQl0eXBlID0gdHlwZSB8fCAiZngiOw0KDQoJCXZhciBxdWV1ZSA9IGpRdWVyeS5xdWV1ZSggZWxlbSwgdHlwZSApLA0KCQkJc3RhcnRMZW5ndGggPSBxdWV1ZS5sZW5ndGgsDQoJCQlmbiA9IHF1ZXVlLnNoaWZ0KCksDQoJCQlob29rcyA9IGpRdWVyeS5fcXVldWVIb29rcyggZWxlbSwgdHlwZSApLA0KCQkJbmV4dCA9IGZ1bmN0aW9uKCkgew0KCQkJCWpRdWVyeS5kZXF1ZXVlKCBlbGVtLCB0eXBlICk7DQoJCQl9Ow0KDQoJCS8vIElmIHRoZSBmeCBxdWV1ZSBpcyBkZXF1ZXVlZCwgYWx3YXlzIHJlbW92ZSB0aGUgcHJvZ3Jlc3Mgc2VudGluZWwNCgkJaWYgKCBmbiA9PT0gImlucHJvZ3Jlc3MiICkgew0KCQkJZm4gPSBxdWV1ZS5zaGlmdCgpOw0KCQkJc3RhcnRMZW5ndGgtLTsNCgkJfQ0KDQoJCWlmICggZm4gKSB7DQoNCgkJCS8vIEFkZCBhIHByb2dyZXNzIHNlbnRpbmVsIHRvIHByZXZlbnQgdGhlIGZ4IHF1ZXVlIGZyb20gYmVpbmcNCgkJCS8vIGF1dG9tYXRpY2FsbHkgZGVxdWV1ZWQNCgkJCWlmICggdHlwZSA9PT0gImZ4IiApIHsNCgkJCQlxdWV1ZS51bnNoaWZ0KCAiaW5wcm9ncmVzcyIgKTsNCgkJCX0NCg0KCQkJLy8gQ2xlYXIgdXAgdGhlIGxhc3QgcXVldWUgc3RvcCBmdW5jdGlvbg0KCQkJZGVsZXRlIGhvb2tzLnN0b3A7DQoJCQlmbi5jYWxsKCBlbGVtLCBuZXh0LCBob29rcyApOw0KCQl9DQoNCgkJaWYgKCAhc3RhcnRMZW5ndGggJiYgaG9va3MgKSB7DQoJCQlob29rcy5lbXB0eS5maXJlKCk7DQoJCX0NCgl9LA0KDQoJLy8gTm90IHB1YmxpYyAtIGdlbmVyYXRlIGEgcXVldWVIb29rcyBvYmplY3QsIG9yIHJldHVybiB0aGUgY3VycmVudCBvbmUNCglfcXVldWVIb29rczogZnVuY3Rpb24oIGVsZW0sIHR5cGUgKSB7DQoJCXZhciBrZXkgPSB0eXBlICsgInF1ZXVlSG9va3MiOw0KCQlyZXR1cm4gZGF0YVByaXYuZ2V0KCBlbGVtLCBrZXkgKSB8fCBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIGtleSwgew0KCQkJZW1wdHk6IGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKS5hZGQoIGZ1bmN0aW9uKCkgew0KCQkJCWRhdGFQcml2LnJlbW92ZSggZWxlbSwgWyB0eXBlICsgInF1ZXVlIiwga2V5IF0gKTsNCgkJCX0gKQ0KCQl9ICk7DQoJfQ0KfSApOw0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJcXVldWU6IGZ1bmN0aW9uKCB0eXBlLCBkYXRhICkgew0KCQl2YXIgc2V0dGVyID0gMjsNCg0KCQlpZiAoIHR5cGVvZiB0eXBlICE9PSAic3RyaW5nIiApIHsNCgkJCWRhdGEgPSB0eXBlOw0KCQkJdHlwZSA9ICJmeCI7DQoJCQlzZXR0ZXItLTsNCgkJfQ0KDQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCA8IHNldHRlciApIHsNCgkJCXJldHVybiBqUXVlcnkucXVldWUoIHRoaXNbIDAgXSwgdHlwZSApOw0KCQl9DQoNCgkJcmV0dXJuIGRhdGEgPT09IHVuZGVmaW5lZCA_DQoJCQl0aGlzIDoNCgkJCXRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIHF1ZXVlID0galF1ZXJ5LnF1ZXVlKCB0aGlzLCB0eXBlLCBkYXRhICk7DQoNCgkJCQkvLyBFbnN1cmUgYSBob29rcyBmb3IgdGhpcyBxdWV1ZQ0KCQkJCWpRdWVyeS5fcXVldWVIb29rcyggdGhpcywgdHlwZSApOw0KDQoJCQkJaWYgKCB0eXBlID09PSAiZngiICYmIHF1ZXVlWyAwIF0gIT09ICJpbnByb2dyZXNzIiApIHsNCgkJCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIHR5cGUgKTsNCgkJCQl9DQoJCQl9ICk7DQoJfSwNCglkZXF1ZXVlOiBmdW5jdGlvbiggdHlwZSApIHsNCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlqUXVlcnkuZGVxdWV1ZSggdGhpcywgdHlwZSApOw0KCQl9ICk7DQoJfSwNCgljbGVhclF1ZXVlOiBmdW5jdGlvbiggdHlwZSApIHsNCgkJcmV0dXJuIHRoaXMucXVldWUoIHR5cGUgfHwgImZ4IiwgW10gKTsNCgl9LA0KDQoJLy8gR2V0IGEgcHJvbWlzZSByZXNvbHZlZCB3aGVuIHF1ZXVlcyBvZiBhIGNlcnRhaW4gdHlwZQ0KCS8vIGFyZSBlbXB0aWVkIChmeCBpcyB0aGUgdHlwZSBieSBkZWZhdWx0KQ0KCXByb21pc2U6IGZ1bmN0aW9uKCB0eXBlLCBvYmogKSB7DQoJCXZhciB0bXAsDQoJCQljb3VudCA9IDEsDQoJCQlkZWZlciA9IGpRdWVyeS5EZWZlcnJlZCgpLA0KCQkJZWxlbWVudHMgPSB0aGlzLA0KCQkJaSA9IHRoaXMubGVuZ3RoLA0KCQkJcmVzb2x2ZSA9IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggISggLS1jb3VudCApICkgew0KCQkJCQlkZWZlci5yZXNvbHZlV2l0aCggZWxlbWVudHMsIFsgZWxlbWVudHMgXSApOw0KCQkJCX0NCgkJCX07DQoNCgkJaWYgKCB0eXBlb2YgdHlwZSAhPT0gInN0cmluZyIgKSB7DQoJCQlvYmogPSB0eXBlOw0KCQkJdHlwZSA9IHVuZGVmaW5lZDsNCgkJfQ0KCQl0eXBlID0gdHlwZSB8fCAiZngiOw0KDQoJCXdoaWxlICggaS0tICkgew0KCQkJdG1wID0gZGF0YVByaXYuZ2V0KCBlbGVtZW50c1sgaSBdLCB0eXBlICsgInF1ZXVlSG9va3MiICk7DQoJCQlpZiAoIHRtcCAmJiB0bXAuZW1wdHkgKSB7DQoJCQkJY291bnQrKzsNCgkJCQl0bXAuZW1wdHkuYWRkKCByZXNvbHZlICk7DQoJCQl9DQoJCX0NCgkJcmVzb2x2ZSgpOw0KCQlyZXR1cm4gZGVmZXIucHJvbWlzZSggb2JqICk7DQoJfQ0KfSApOw0KdmFyIHBudW0gPSAoIC9bKy1dPyg_OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8gKS5zb3VyY2U7DQoNCnZhciByY3NzTnVtID0gbmV3IFJlZ0V4cCggIl4oPzooWystXSk9fCkoIiArIHBudW0gKyAiKShbYS16JV0qKSQiLCAiaSIgKTsNCg0KDQp2YXIgY3NzRXhwYW5kID0gWyAiVG9wIiwgIlJpZ2h0IiwgIkJvdHRvbSIsICJMZWZ0IiBdOw0KDQp2YXIgaXNIaWRkZW5XaXRoaW5UcmVlID0gZnVuY3Rpb24oIGVsZW0sIGVsICkgew0KDQoJCS8vIGlzSGlkZGVuV2l0aGluVHJlZSBtaWdodCBiZSBjYWxsZWQgZnJvbSBqUXVlcnkjZmlsdGVyIGZ1bmN0aW9uOw0KCQkvLyBpbiB0aGF0IGNhc2UsIGVsZW1lbnQgd2lsbCBiZSBzZWNvbmQgYXJndW1lbnQNCgkJZWxlbSA9IGVsIHx8IGVsZW07DQoNCgkJLy8gSW5saW5lIHN0eWxlIHRydW1wcyBhbGwNCgkJcmV0dXJuIGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gIm5vbmUiIHx8DQoJCQllbGVtLnN0eWxlLmRpc3BsYXkgPT09ICIiICYmDQoNCgkJCS8vIE90aGVyd2lzZSwgY2hlY2sgY29tcHV0ZWQgc3R5bGUNCgkJCS8vIFN1cHBvcnQ6IEZpcmVmb3ggPD00MyAtIDQ1DQoJCQkvLyBEaXNjb25uZWN0ZWQgZWxlbWVudHMgY2FuIGhhdmUgY29tcHV0ZWQgZGlzcGxheTogbm9uZSwgc28gZmlyc3QgY29uZmlybSB0aGF0IGVsZW0gaXMNCgkJCS8vIGluIHRoZSBkb2N1bWVudC4NCgkJCWpRdWVyeS5jb250YWlucyggZWxlbS5vd25lckRvY3VtZW50LCBlbGVtICkgJiYNCg0KCQkJalF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICkgPT09ICJub25lIjsNCgl9Ow0KDQp2YXIgc3dhcCA9IGZ1bmN0aW9uKCBlbGVtLCBvcHRpb25zLCBjYWxsYmFjaywgYXJncyApIHsNCgl2YXIgcmV0LCBuYW1lLA0KCQlvbGQgPSB7fTsNCg0KCS8vIFJlbWVtYmVyIHRoZSBvbGQgdmFsdWVzLCBhbmQgaW5zZXJ0IHRoZSBuZXcgb25lcw0KCWZvciAoIG5hbWUgaW4gb3B0aW9ucyApIHsNCgkJb2xkWyBuYW1lIF0gPSBlbGVtLnN0eWxlWyBuYW1lIF07DQoJCWVsZW0uc3R5bGVbIG5hbWUgXSA9IG9wdGlvbnNbIG5hbWUgXTsNCgl9DQoNCglyZXQgPSBjYWxsYmFjay5hcHBseSggZWxlbSwgYXJncyB8fCBbXSApOw0KDQoJLy8gUmV2ZXJ0IHRoZSBvbGQgdmFsdWVzDQoJZm9yICggbmFtZSBpbiBvcHRpb25zICkgew0KCQllbGVtLnN0eWxlWyBuYW1lIF0gPSBvbGRbIG5hbWUgXTsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfTsNCg0KDQoNCg0KZnVuY3Rpb24gYWRqdXN0Q1NTKCBlbGVtLCBwcm9wLCB2YWx1ZVBhcnRzLCB0d2VlbiApIHsNCgl2YXIgYWRqdXN0ZWQsDQoJCXNjYWxlID0gMSwNCgkJbWF4SXRlcmF0aW9ucyA9IDIwLA0KCQljdXJyZW50VmFsdWUgPSB0d2VlbiA_DQoJCQlmdW5jdGlvbigpIHsNCgkJCQlyZXR1cm4gdHdlZW4uY3VyKCk7DQoJCQl9IDoNCgkJCWZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiBqUXVlcnkuY3NzKCBlbGVtLCBwcm9wLCAiIiApOw0KCQkJfSwNCgkJaW5pdGlhbCA9IGN1cnJlbnRWYWx1ZSgpLA0KCQl1bml0ID0gdmFsdWVQYXJ0cyAmJiB2YWx1ZVBhcnRzWyAzIF0gfHwgKCBqUXVlcnkuY3NzTnVtYmVyWyBwcm9wIF0gPyAiIiA6ICJweCIgKSwNCg0KCQkvLyBTdGFydGluZyB2YWx1ZSBjb21wdXRhdGlvbiBpcyByZXF1aXJlZCBmb3IgcG90ZW50aWFsIHVuaXQgbWlzbWF0Y2hlcw0KCQlpbml0aWFsSW5Vbml0ID0gKCBqUXVlcnkuY3NzTnVtYmVyWyBwcm9wIF0gfHwgdW5pdCAhPT0gInB4IiAmJiAraW5pdGlhbCApICYmDQoJCQlyY3NzTnVtLmV4ZWMoIGpRdWVyeS5jc3MoIGVsZW0sIHByb3AgKSApOw0KDQoJaWYgKCBpbml0aWFsSW5Vbml0ICYmIGluaXRpYWxJblVuaXRbIDMgXSAhPT0gdW5pdCApIHsNCg0KCQkvLyBUcnVzdCB1bml0cyByZXBvcnRlZCBieSBqUXVlcnkuY3NzDQoJCXVuaXQgPSB1bml0IHx8IGluaXRpYWxJblVuaXRbIDMgXTsNCg0KCQkvLyBNYWtlIHN1cmUgd2UgdXBkYXRlIHRoZSB0d2VlbiBwcm9wZXJ0aWVzIGxhdGVyIG9uDQoJCXZhbHVlUGFydHMgPSB2YWx1ZVBhcnRzIHx8IFtdOw0KDQoJCS8vIEl0ZXJhdGl2ZWx5IGFwcHJveGltYXRlIGZyb20gYSBub256ZXJvIHN0YXJ0aW5nIHBvaW50DQoJCWluaXRpYWxJblVuaXQgPSAraW5pdGlhbCB8fCAxOw0KDQoJCWRvIHsNCg0KCQkJLy8gSWYgcHJldmlvdXMgaXRlcmF0aW9uIHplcm9lZCBvdXQsIGRvdWJsZSB1bnRpbCB3ZSBnZXQgKnNvbWV0aGluZyouDQoJCQkvLyBVc2Ugc3RyaW5nIGZvciBkb3VibGluZyBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHkgc2VlIHNjYWxlIGFzIHVuY2hhbmdlZCBiZWxvdw0KCQkJc2NhbGUgPSBzY2FsZSB8fCAiLjUiOw0KDQoJCQkvLyBBZGp1c3QgYW5kIGFwcGx5DQoJCQlpbml0aWFsSW5Vbml0ID0gaW5pdGlhbEluVW5pdCAvIHNjYWxlOw0KCQkJalF1ZXJ5LnN0eWxlKCBlbGVtLCBwcm9wLCBpbml0aWFsSW5Vbml0ICsgdW5pdCApOw0KDQoJCS8vIFVwZGF0ZSBzY2FsZSwgdG9sZXJhdGluZyB6ZXJvIG9yIE5hTiBmcm9tIHR3ZWVuLmN1cigpDQoJCS8vIEJyZWFrIHRoZSBsb29wIGlmIHNjYWxlIGlzIHVuY2hhbmdlZCBvciBwZXJmZWN0LCBvciBpZiB3ZSd2ZSBqdXN0IGhhZCBlbm91Z2guDQoJCX0gd2hpbGUgKA0KCQkJc2NhbGUgIT09ICggc2NhbGUgPSBjdXJyZW50VmFsdWUoKSAvIGluaXRpYWwgKSAmJiBzY2FsZSAhPT0gMSAmJiAtLW1heEl0ZXJhdGlvbnMNCgkJKTsNCgl9DQoNCglpZiAoIHZhbHVlUGFydHMgKSB7DQoJCWluaXRpYWxJblVuaXQgPSAraW5pdGlhbEluVW5pdCB8fCAraW5pdGlhbCB8fCAwOw0KDQoJCS8vIEFwcGx5IHJlbGF0aXZlIG9mZnNldCAoKz0vLT0pIGlmIHNwZWNpZmllZA0KCQlhZGp1c3RlZCA9IHZhbHVlUGFydHNbIDEgXSA_DQoJCQlpbml0aWFsSW5Vbml0ICsgKCB2YWx1ZVBhcnRzWyAxIF0gKyAxICkgKiB2YWx1ZVBhcnRzWyAyIF0gOg0KCQkJK3ZhbHVlUGFydHNbIDIgXTsNCgkJaWYgKCB0d2VlbiApIHsNCgkJCXR3ZWVuLnVuaXQgPSB1bml0Ow0KCQkJdHdlZW4uc3RhcnQgPSBpbml0aWFsSW5Vbml0Ow0KCQkJdHdlZW4uZW5kID0gYWRqdXN0ZWQ7DQoJCX0NCgl9DQoJcmV0dXJuIGFkanVzdGVkOw0KfQ0KDQoNCnZhciBkZWZhdWx0RGlzcGxheU1hcCA9IHt9Ow0KDQpmdW5jdGlvbiBnZXREZWZhdWx0RGlzcGxheSggZWxlbSApIHsNCgl2YXIgdGVtcCwNCgkJZG9jID0gZWxlbS5vd25lckRvY3VtZW50LA0KCQlub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUsDQoJCWRpc3BsYXkgPSBkZWZhdWx0RGlzcGxheU1hcFsgbm9kZU5hbWUgXTsNCg0KCWlmICggZGlzcGxheSApIHsNCgkJcmV0dXJuIGRpc3BsYXk7DQoJfQ0KDQoJdGVtcCA9IGRvYy5ib2R5LmFwcGVuZENoaWxkKCBkb2MuY3JlYXRlRWxlbWVudCggbm9kZU5hbWUgKSApOw0KCWRpc3BsYXkgPSBqUXVlcnkuY3NzKCB0ZW1wLCAiZGlzcGxheSIgKTsNCg0KCXRlbXAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggdGVtcCApOw0KDQoJaWYgKCBkaXNwbGF5ID09PSAibm9uZSIgKSB7DQoJCWRpc3BsYXkgPSAiYmxvY2siOw0KCX0NCglkZWZhdWx0RGlzcGxheU1hcFsgbm9kZU5hbWUgXSA9IGRpc3BsYXk7DQoNCglyZXR1cm4gZGlzcGxheTsNCn0NCg0KZnVuY3Rpb24gc2hvd0hpZGUoIGVsZW1lbnRzLCBzaG93ICkgew0KCXZhciBkaXNwbGF5LCBlbGVtLA0KCQl2YWx1ZXMgPSBbXSwNCgkJaW5kZXggPSAwLA0KCQlsZW5ndGggPSBlbGVtZW50cy5sZW5ndGg7DQoNCgkvLyBEZXRlcm1pbmUgbmV3IGRpc3BsYXkgdmFsdWUgZm9yIGVsZW1lbnRzIHRoYXQgbmVlZCB0byBjaGFuZ2UNCglmb3IgKCA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgew0KCQllbGVtID0gZWxlbWVudHNbIGluZGV4IF07DQoJCWlmICggIWVsZW0uc3R5bGUgKSB7DQoJCQljb250aW51ZTsNCgkJfQ0KDQoJCWRpc3BsYXkgPSBlbGVtLnN0eWxlLmRpc3BsYXk7DQoJCWlmICggc2hvdyApIHsNCg0KCQkJLy8gU2luY2Ugd2UgZm9yY2UgdmlzaWJpbGl0eSB1cG9uIGNhc2NhZGUtaGlkZGVuIGVsZW1lbnRzLCBhbiBpbW1lZGlhdGUgKGFuZCBzbG93KQ0KCQkJLy8gY2hlY2sgaXMgcmVxdWlyZWQgaW4gdGhpcyBmaXJzdCBsb29wIHVubGVzcyB3ZSBoYXZlIGEgbm9uZW1wdHkgZGlzcGxheSB2YWx1ZSAoZWl0aGVyDQoJCQkvLyBpbmxpbmUgb3IgYWJvdXQtdG8tYmUtcmVzdG9yZWQpDQoJCQlpZiAoIGRpc3BsYXkgPT09ICJub25lIiApIHsNCgkJCQl2YWx1ZXNbIGluZGV4IF0gPSBkYXRhUHJpdi5nZXQoIGVsZW0sICJkaXNwbGF5IiApIHx8IG51bGw7DQoJCQkJaWYgKCAhdmFsdWVzWyBpbmRleCBdICkgew0KCQkJCQllbGVtLnN0eWxlLmRpc3BsYXkgPSAiIjsNCgkJCQl9DQoJCQl9DQoJCQlpZiAoIGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gIiIgJiYgaXNIaWRkZW5XaXRoaW5UcmVlKCBlbGVtICkgKSB7DQoJCQkJdmFsdWVzWyBpbmRleCBdID0gZ2V0RGVmYXVsdERpc3BsYXkoIGVsZW0gKTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWlmICggZGlzcGxheSAhPT0gIm5vbmUiICkgew0KCQkJCXZhbHVlc1sgaW5kZXggXSA9ICJub25lIjsNCg0KCQkJCS8vIFJlbWVtYmVyIHdoYXQgd2UncmUgb3ZlcndyaXRpbmcNCgkJCQlkYXRhUHJpdi5zZXQoIGVsZW0sICJkaXNwbGF5IiwgZGlzcGxheSApOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gU2V0IHRoZSBkaXNwbGF5IG9mIHRoZSBlbGVtZW50cyBpbiBhIHNlY29uZCBsb29wIHRvIGF2b2lkIGNvbnN0YW50IHJlZmxvdw0KCWZvciAoIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7DQoJCWlmICggdmFsdWVzWyBpbmRleCBdICE9IG51bGwgKSB7DQoJCQllbGVtZW50c1sgaW5kZXggXS5zdHlsZS5kaXNwbGF5ID0gdmFsdWVzWyBpbmRleCBdOw0KCQl9DQoJfQ0KDQoJcmV0dXJuIGVsZW1lbnRzOw0KfQ0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJc2hvdzogZnVuY3Rpb24oKSB7DQoJCXJldHVybiBzaG93SGlkZSggdGhpcywgdHJ1ZSApOw0KCX0sDQoJaGlkZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiBzaG93SGlkZSggdGhpcyApOw0KCX0sDQoJdG9nZ2xlOiBmdW5jdGlvbiggc3RhdGUgKSB7DQoJCWlmICggdHlwZW9mIHN0YXRlID09PSAiYm9vbGVhbiIgKSB7DQoJCQlyZXR1cm4gc3RhdGUgPyB0aGlzLnNob3coKSA6IHRoaXMuaGlkZSgpOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlpZiAoIGlzSGlkZGVuV2l0aGluVHJlZSggdGhpcyApICkgew0KCQkJCWpRdWVyeSggdGhpcyApLnNob3coKTsNCgkJCX0gZWxzZSB7DQoJCQkJalF1ZXJ5KCB0aGlzICkuaGlkZSgpOw0KCQkJfQ0KCQl9ICk7DQoJfQ0KfSApOw0KdmFyIHJjaGVja2FibGVUeXBlID0gKCAvXig_OmNoZWNrYm94fHJhZGlvKSQvaSApOw0KDQp2YXIgcnRhZ05hbWUgPSAoIC88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0rKS9pICk7DQoNCnZhciByc2NyaXB0VHlwZSA9ICggL14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pICk7DQoNCg0KDQovLyBXZSBoYXZlIHRvIGNsb3NlIHRoZXNlIHRhZ3MgdG8gc3VwcG9ydCBYSFRNTCAoIzEzMjAwKQ0KdmFyIHdyYXBNYXAgPSB7DQoNCgkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQ0KCW9wdGlvbjogWyAxLCAiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsICI8L3NlbGVjdD4iIF0sDQoNCgkvLyBYSFRNTCBwYXJzZXJzIGRvIG5vdCBtYWdpY2FsbHkgaW5zZXJ0IGVsZW1lbnRzIGluIHRoZQ0KCS8vIHNhbWUgd2F5IHRoYXQgdGFnIHNvdXAgcGFyc2VycyBkby4gU28gd2UgY2Fubm90IHNob3J0ZW4NCgkvLyB0aGlzIGJ5IG9taXR0aW5nIDx0Ym9keT4gb3Igb3RoZXIgcmVxdWlyZWQgZWxlbWVudHMuDQoJdGhlYWQ6IFsgMSwgIjx0YWJsZT4iLCAiPC90YWJsZT4iIF0sDQoJY29sOiBbIDIsICI8dGFibGU-PGNvbGdyb3VwPiIsICI8L2NvbGdyb3VwPjwvdGFibGU-IiBdLA0KCXRyOiBbIDIsICI8dGFibGU-PHRib2R5PiIsICI8L3Rib2R5PjwvdGFibGU-IiBdLA0KCXRkOiBbIDMsICI8dGFibGU-PHRib2R5Pjx0cj4iLCAiPC90cj48L3Rib2R5PjwvdGFibGU-IiBdLA0KDQoJX2RlZmF1bHQ6IFsgMCwgIiIsICIiIF0NCn07DQoNCi8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQp3cmFwTWFwLm9wdGdyb3VwID0gd3JhcE1hcC5vcHRpb247DQoNCndyYXBNYXAudGJvZHkgPSB3cmFwTWFwLnRmb290ID0gd3JhcE1hcC5jb2xncm91cCA9IHdyYXBNYXAuY2FwdGlvbiA9IHdyYXBNYXAudGhlYWQ7DQp3cmFwTWFwLnRoID0gd3JhcE1hcC50ZDsNCg0KDQpmdW5jdGlvbiBnZXRBbGwoIGNvbnRleHQsIHRhZyApIHsNCg0KCS8vIFN1cHBvcnQ6IElFIDw9OSAtIDExIG9ubHkNCgkvLyBVc2UgdHlwZW9mIHRvIGF2b2lkIHplcm8tYXJndW1lbnQgbWV0aG9kIGludm9jYXRpb24gb24gaG9zdCBvYmplY3RzICgjMTUxNTEpDQoJdmFyIHJldDsNCg0KCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgIT09ICJ1bmRlZmluZWQiICkgew0KCQlyZXQgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCB0YWcgfHwgIioiICk7DQoNCgl9IGVsc2UgaWYgKCB0eXBlb2YgY29udGV4dC5xdWVyeVNlbGVjdG9yQWxsICE9PSAidW5kZWZpbmVkIiApIHsNCgkJcmV0ID0gY29udGV4dC5xdWVyeVNlbGVjdG9yQWxsKCB0YWcgfHwgIioiICk7DQoNCgl9IGVsc2Ugew0KCQlyZXQgPSBbXTsNCgl9DQoNCglpZiAoIHRhZyA9PT0gdW5kZWZpbmVkIHx8IHRhZyAmJiBub2RlTmFtZSggY29udGV4dCwgdGFnICkgKSB7DQoJCXJldHVybiBqUXVlcnkubWVyZ2UoIFsgY29udGV4dCBdLCByZXQgKTsNCgl9DQoNCglyZXR1cm4gcmV0Ow0KfQ0KDQoNCi8vIE1hcmsgc2NyaXB0cyBhcyBoYXZpbmcgYWxyZWFkeSBiZWVuIGV2YWx1YXRlZA0KZnVuY3Rpb24gc2V0R2xvYmFsRXZhbCggZWxlbXMsIHJlZkVsZW1lbnRzICkgew0KCXZhciBpID0gMCwNCgkJbCA9IGVsZW1zLmxlbmd0aDsNCg0KCWZvciAoIDsgaSA8IGw7IGkrKyApIHsNCgkJZGF0YVByaXYuc2V0KA0KCQkJZWxlbXNbIGkgXSwNCgkJCSJnbG9iYWxFdmFsIiwNCgkJCSFyZWZFbGVtZW50cyB8fCBkYXRhUHJpdi5nZXQoIHJlZkVsZW1lbnRzWyBpIF0sICJnbG9iYWxFdmFsIiApDQoJCSk7DQoJfQ0KfQ0KDQoNCnZhciByaHRtbCA9IC88fCYjP1x3KzsvOw0KDQpmdW5jdGlvbiBidWlsZEZyYWdtZW50KCBlbGVtcywgY29udGV4dCwgc2NyaXB0cywgc2VsZWN0aW9uLCBpZ25vcmVkICkgew0KCXZhciBlbGVtLCB0bXAsIHRhZywgd3JhcCwgY29udGFpbnMsIGosDQoJCWZyYWdtZW50ID0gY29udGV4dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksDQoJCW5vZGVzID0gW10sDQoJCWkgPSAwLA0KCQlsID0gZWxlbXMubGVuZ3RoOw0KDQoJZm9yICggOyBpIDwgbDsgaSsrICkgew0KCQllbGVtID0gZWxlbXNbIGkgXTsNCg0KCQlpZiAoIGVsZW0gfHwgZWxlbSA9PT0gMCApIHsNCg0KCQkJLy8gQWRkIG5vZGVzIGRpcmVjdGx5DQoJCQlpZiAoIGpRdWVyeS50eXBlKCBlbGVtICkgPT09ICJvYmplY3QiICkgew0KDQoJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5DQoJCQkJLy8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdA0KCQkJCWpRdWVyeS5tZXJnZSggbm9kZXMsIGVsZW0ubm9kZVR5cGUgPyBbIGVsZW0gXSA6IGVsZW0gKTsNCg0KCQkJLy8gQ29udmVydCBub24taHRtbCBpbnRvIGEgdGV4dCBub2RlDQoJCQl9IGVsc2UgaWYgKCAhcmh0bWwudGVzdCggZWxlbSApICkgew0KCQkJCW5vZGVzLnB1c2goIGNvbnRleHQuY3JlYXRlVGV4dE5vZGUoIGVsZW0gKSApOw0KDQoJCQkvLyBDb252ZXJ0IGh0bWwgaW50byBET00gbm9kZXMNCgkJCX0gZWxzZSB7DQoJCQkJdG1wID0gdG1wIHx8IGZyYWdtZW50LmFwcGVuZENoaWxkKCBjb250ZXh0LmNyZWF0ZUVsZW1lbnQoICJkaXYiICkgKTsNCg0KCQkJCS8vIERlc2VyaWFsaXplIGEgc3RhbmRhcmQgcmVwcmVzZW50YXRpb24NCgkJCQl0YWcgPSAoIHJ0YWdOYW1lLmV4ZWMoIGVsZW0gKSB8fCBbICIiLCAiIiBdIClbIDEgXS50b0xvd2VyQ2FzZSgpOw0KCQkJCXdyYXAgPSB3cmFwTWFwWyB0YWcgXSB8fCB3cmFwTWFwLl9kZWZhdWx0Ow0KCQkJCXRtcC5pbm5lckhUTUwgPSB3cmFwWyAxIF0gKyBqUXVlcnkuaHRtbFByZWZpbHRlciggZWxlbSApICsgd3JhcFsgMiBdOw0KDQoJCQkJLy8gRGVzY2VuZCB0aHJvdWdoIHdyYXBwZXJzIHRvIHRoZSByaWdodCBjb250ZW50DQoJCQkJaiA9IHdyYXBbIDAgXTsNCgkJCQl3aGlsZSAoIGotLSApIHsNCgkJCQkJdG1wID0gdG1wLmxhc3RDaGlsZDsNCgkJCQl9DQoNCgkJCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHkNCgkJCQkvLyBwdXNoLmFwcGx5KF8sIGFycmF5bGlrZSkgdGhyb3dzIG9uIGFuY2llbnQgV2ViS2l0DQoJCQkJalF1ZXJ5Lm1lcmdlKCBub2RlcywgdG1wLmNoaWxkTm9kZXMgKTsNCg0KCQkJCS8vIFJlbWVtYmVyIHRoZSB0b3AtbGV2ZWwgY29udGFpbmVyDQoJCQkJdG1wID0gZnJhZ21lbnQuZmlyc3RDaGlsZDsNCg0KCQkJCS8vIEVuc3VyZSB0aGUgY3JlYXRlZCBub2RlcyBhcmUgb3JwaGFuZWQgKCMxMjM5MikNCgkJCQl0bXAudGV4dENvbnRlbnQgPSAiIjsNCgkJCX0NCgkJfQ0KCX0NCg0KCS8vIFJlbW92ZSB3cmFwcGVyIGZyb20gZnJhZ21lbnQNCglmcmFnbWVudC50ZXh0Q29udGVudCA9ICIiOw0KDQoJaSA9IDA7DQoJd2hpbGUgKCAoIGVsZW0gPSBub2Rlc1sgaSsrIF0gKSApIHsNCg0KCQkvLyBTa2lwIGVsZW1lbnRzIGFscmVhZHkgaW4gdGhlIGNvbnRleHQgY29sbGVjdGlvbiAodHJhYy00MDg3KQ0KCQlpZiAoIHNlbGVjdGlvbiAmJiBqUXVlcnkuaW5BcnJheSggZWxlbSwgc2VsZWN0aW9uICkgPiAtMSApIHsNCgkJCWlmICggaWdub3JlZCApIHsNCgkJCQlpZ25vcmVkLnB1c2goIGVsZW0gKTsNCgkJCX0NCgkJCWNvbnRpbnVlOw0KCQl9DQoNCgkJY29udGFpbnMgPSBqUXVlcnkuY29udGFpbnMoIGVsZW0ub3duZXJEb2N1bWVudCwgZWxlbSApOw0KDQoJCS8vIEFwcGVuZCB0byBmcmFnbWVudA0KCQl0bXAgPSBnZXRBbGwoIGZyYWdtZW50LmFwcGVuZENoaWxkKCBlbGVtICksICJzY3JpcHQiICk7DQoNCgkJLy8gUHJlc2VydmUgc2NyaXB0IGV2YWx1YXRpb24gaGlzdG9yeQ0KCQlpZiAoIGNvbnRhaW5zICkgew0KCQkJc2V0R2xvYmFsRXZhbCggdG1wICk7DQoJCX0NCg0KCQkvLyBDYXB0dXJlIGV4ZWN1dGFibGVzDQoJCWlmICggc2NyaXB0cyApIHsNCgkJCWogPSAwOw0KCQkJd2hpbGUgKCAoIGVsZW0gPSB0bXBbIGorKyBdICkgKSB7DQoJCQkJaWYgKCByc2NyaXB0VHlwZS50ZXN0KCBlbGVtLnR5cGUgfHwgIiIgKSApIHsNCgkJCQkJc2NyaXB0cy5wdXNoKCBlbGVtICk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KDQoJcmV0dXJuIGZyYWdtZW50Ow0KfQ0KDQoNCiggZnVuY3Rpb24oKSB7DQoJdmFyIGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLA0KCQlkaXYgPSBmcmFnbWVudC5hcHBlbmRDaGlsZCggZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImRpdiIgKSApLA0KCQlpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJpbnB1dCIgKTsNCg0KCS8vIFN1cHBvcnQ6IEFuZHJvaWQgNC4wIC0gNC4zIG9ubHkNCgkvLyBDaGVjayBzdGF0ZSBsb3N0IGlmIHRoZSBuYW1lIGlzIHNldCAoIzExMjE3KQ0KCS8vIFN1cHBvcnQ6IFdpbmRvd3MgV2ViIEFwcHMgKFdXQSkNCgkvLyBgbmFtZWAgYW5kIGB0eXBlYCBtdXN0IHVzZSAuc2V0QXR0cmlidXRlIGZvciBXV0EgKCMxNDkwMSkNCglpbnB1dC5zZXRBdHRyaWJ1dGUoICJ0eXBlIiwgInJhZGlvIiApOw0KCWlucHV0LnNldEF0dHJpYnV0ZSggImNoZWNrZWQiLCAiY2hlY2tlZCIgKTsNCglpbnB1dC5zZXRBdHRyaWJ1dGUoICJuYW1lIiwgInQiICk7DQoNCglkaXYuYXBwZW5kQ2hpbGQoIGlucHV0ICk7DQoNCgkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4xIG9ubHkNCgkvLyBPbGRlciBXZWJLaXQgZG9lc24ndCBjbG9uZSBjaGVja2VkIHN0YXRlIGNvcnJlY3RseSBpbiBmcmFnbWVudHMNCglzdXBwb3J0LmNoZWNrQ2xvbmUgPSBkaXYuY2xvbmVOb2RlKCB0cnVlICkuY2xvbmVOb2RlKCB0cnVlICkubGFzdENoaWxkLmNoZWNrZWQ7DQoNCgkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkNCgkvLyBNYWtlIHN1cmUgdGV4dGFyZWEgKGFuZCBjaGVja2JveCkgZGVmYXVsdFZhbHVlIGlzIHByb3Blcmx5IGNsb25lZA0KCWRpdi5pbm5lckhUTUwgPSAiPHRleHRhcmVhPng8L3RleHRhcmVhPiI7DQoJc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZCA9ICEhZGl2LmNsb25lTm9kZSggdHJ1ZSApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWU7DQp9ICkoKTsNCnZhciBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQoNCg0KDQp2YXINCglya2V5RXZlbnQgPSAvXmtleS8sDQoJcm1vdXNlRXZlbnQgPSAvXig_Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnV8ZHJhZ3xkcm9wKXxjbGljay8sDQoJcnR5cGVuYW1lc3BhY2UgPSAvXihbXi5dKikoPzpcLiguKyl8KS87DQoNCmZ1bmN0aW9uIHJldHVyblRydWUoKSB7DQoJcmV0dXJuIHRydWU7DQp9DQoNCmZ1bmN0aW9uIHJldHVybkZhbHNlKCkgew0KCXJldHVybiBmYWxzZTsNCn0NCg0KLy8gU3VwcG9ydDogSUUgPD05IG9ubHkNCi8vIFNlZSAjMTMzOTMgZm9yIG1vcmUgaW5mbw0KZnVuY3Rpb24gc2FmZUFjdGl2ZUVsZW1lbnQoKSB7DQoJdHJ5IHsNCgkJcmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7DQoJfSBjYXRjaCAoIGVyciApIHsgfQ0KfQ0KDQpmdW5jdGlvbiBvbiggZWxlbSwgdHlwZXMsIHNlbGVjdG9yLCBkYXRhLCBmbiwgb25lICkgew0KCXZhciBvcmlnRm4sIHR5cGU7DQoNCgkvLyBUeXBlcyBjYW4gYmUgYSBtYXAgb2YgdHlwZXMvaGFuZGxlcnMNCglpZiAoIHR5cGVvZiB0eXBlcyA9PT0gIm9iamVjdCIgKSB7DQoNCgkJLy8gKCB0eXBlcy1PYmplY3QsIHNlbGVjdG9yLCBkYXRhICkNCgkJaWYgKCB0eXBlb2Ygc2VsZWN0b3IgIT09ICJzdHJpbmciICkgew0KDQoJCQkvLyAoIHR5cGVzLU9iamVjdCwgZGF0YSApDQoJCQlkYXRhID0gZGF0YSB8fCBzZWxlY3RvcjsNCgkJCXNlbGVjdG9yID0gdW5kZWZpbmVkOw0KCQl9DQoJCWZvciAoIHR5cGUgaW4gdHlwZXMgKSB7DQoJCQlvbiggZWxlbSwgdHlwZSwgc2VsZWN0b3IsIGRhdGEsIHR5cGVzWyB0eXBlIF0sIG9uZSApOw0KCQl9DQoJCXJldHVybiBlbGVtOw0KCX0NCg0KCWlmICggZGF0YSA9PSBudWxsICYmIGZuID09IG51bGwgKSB7DQoNCgkJLy8gKCB0eXBlcywgZm4gKQ0KCQlmbiA9IHNlbGVjdG9yOw0KCQlkYXRhID0gc2VsZWN0b3IgPSB1bmRlZmluZWQ7DQoJfSBlbHNlIGlmICggZm4gPT0gbnVsbCApIHsNCgkJaWYgKCB0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciICkgew0KDQoJCQkvLyAoIHR5cGVzLCBzZWxlY3RvciwgZm4gKQ0KCQkJZm4gPSBkYXRhOw0KCQkJZGF0YSA9IHVuZGVmaW5lZDsNCgkJfSBlbHNlIHsNCg0KCQkJLy8gKCB0eXBlcywgZGF0YSwgZm4gKQ0KCQkJZm4gPSBkYXRhOw0KCQkJZGF0YSA9IHNlbGVjdG9yOw0KCQkJc2VsZWN0b3IgPSB1bmRlZmluZWQ7DQoJCX0NCgl9DQoJaWYgKCBmbiA9PT0gZmFsc2UgKSB7DQoJCWZuID0gcmV0dXJuRmFsc2U7DQoJfSBlbHNlIGlmICggIWZuICkgew0KCQlyZXR1cm4gZWxlbTsNCgl9DQoNCglpZiAoIG9uZSA9PT0gMSApIHsNCgkJb3JpZ0ZuID0gZm47DQoJCWZuID0gZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCQkvLyBDYW4gdXNlIGFuIGVtcHR5IHNldCwgc2luY2UgZXZlbnQgY29udGFpbnMgdGhlIGluZm8NCgkJCWpRdWVyeSgpLm9mZiggZXZlbnQgKTsNCgkJCXJldHVybiBvcmlnRm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQl9Ow0KDQoJCS8vIFVzZSBzYW1lIGd1aWQgc28gY2FsbGVyIGNhbiByZW1vdmUgdXNpbmcgb3JpZ0ZuDQoJCWZuLmd1aWQgPSBvcmlnRm4uZ3VpZCB8fCAoIG9yaWdGbi5ndWlkID0galF1ZXJ5Lmd1aWQrKyApOw0KCX0NCglyZXR1cm4gZWxlbS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJalF1ZXJ5LmV2ZW50LmFkZCggdGhpcywgdHlwZXMsIGZuLCBkYXRhLCBzZWxlY3RvciApOw0KCX0gKTsNCn0NCg0KLyoNCiAqIEhlbHBlciBmdW5jdGlvbnMgZm9yIG1hbmFnaW5nIGV2ZW50cyAtLSBub3QgcGFydCBvZiB0aGUgcHVibGljIGludGVyZmFjZS4NCiAqIFByb3BzIHRvIERlYW4gRWR3YXJkcycgYWRkRXZlbnQgbGlicmFyeSBmb3IgbWFueSBvZiB0aGUgaWRlYXMuDQogKi8NCmpRdWVyeS5ldmVudCA9IHsNCg0KCWdsb2JhbDoge30sDQoNCglhZGQ6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlcywgaGFuZGxlciwgZGF0YSwgc2VsZWN0b3IgKSB7DQoNCgkJdmFyIGhhbmRsZU9iakluLCBldmVudEhhbmRsZSwgdG1wLA0KCQkJZXZlbnRzLCB0LCBoYW5kbGVPYmosDQoJCQlzcGVjaWFsLCBoYW5kbGVycywgdHlwZSwgbmFtZXNwYWNlcywgb3JpZ1R5cGUsDQoJCQllbGVtRGF0YSA9IGRhdGFQcml2LmdldCggZWxlbSApOw0KDQoJCS8vIERvbid0IGF0dGFjaCBldmVudHMgdG8gbm9EYXRhIG9yIHRleHQvY29tbWVudCBub2RlcyAoYnV0IGFsbG93IHBsYWluIG9iamVjdHMpDQoJCWlmICggIWVsZW1EYXRhICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gQ2FsbGVyIGNhbiBwYXNzIGluIGFuIG9iamVjdCBvZiBjdXN0b20gZGF0YSBpbiBsaWV1IG9mIHRoZSBoYW5kbGVyDQoJCWlmICggaGFuZGxlci5oYW5kbGVyICkgew0KCQkJaGFuZGxlT2JqSW4gPSBoYW5kbGVyOw0KCQkJaGFuZGxlciA9IGhhbmRsZU9iakluLmhhbmRsZXI7DQoJCQlzZWxlY3RvciA9IGhhbmRsZU9iakluLnNlbGVjdG9yOw0KCQl9DQoNCgkJLy8gRW5zdXJlIHRoYXQgaW52YWxpZCBzZWxlY3RvcnMgdGhyb3cgZXhjZXB0aW9ucyBhdCBhdHRhY2ggdGltZQ0KCQkvLyBFdmFsdWF0ZSBhZ2FpbnN0IGRvY3VtZW50RWxlbWVudCBpbiBjYXNlIGVsZW0gaXMgYSBub24tZWxlbWVudCBub2RlIChlLmcuLCBkb2N1bWVudCkNCgkJaWYgKCBzZWxlY3RvciApIHsNCgkJCWpRdWVyeS5maW5kLm1hdGNoZXNTZWxlY3RvciggZG9jdW1lbnRFbGVtZW50LCBzZWxlY3RvciApOw0KCQl9DQoNCgkJLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGhhbmRsZXIgaGFzIGEgdW5pcXVlIElELCB1c2VkIHRvIGZpbmQvcmVtb3ZlIGl0IGxhdGVyDQoJCWlmICggIWhhbmRsZXIuZ3VpZCApIHsNCgkJCWhhbmRsZXIuZ3VpZCA9IGpRdWVyeS5ndWlkKys7DQoJCX0NCg0KCQkvLyBJbml0IHRoZSBlbGVtZW50J3MgZXZlbnQgc3RydWN0dXJlIGFuZCBtYWluIGhhbmRsZXIsIGlmIHRoaXMgaXMgdGhlIGZpcnN0DQoJCWlmICggISggZXZlbnRzID0gZWxlbURhdGEuZXZlbnRzICkgKSB7DQoJCQlldmVudHMgPSBlbGVtRGF0YS5ldmVudHMgPSB7fTsNCgkJfQ0KCQlpZiAoICEoIGV2ZW50SGFuZGxlID0gZWxlbURhdGEuaGFuZGxlICkgKSB7DQoJCQlldmVudEhhbmRsZSA9IGVsZW1EYXRhLmhhbmRsZSA9IGZ1bmN0aW9uKCBlICkgew0KDQoJCQkJLy8gRGlzY2FyZCB0aGUgc2Vjb25kIGV2ZW50IG9mIGEgalF1ZXJ5LmV2ZW50LnRyaWdnZXIoKSBhbmQNCgkJCQkvLyB3aGVuIGFuIGV2ZW50IGlzIGNhbGxlZCBhZnRlciBhIHBhZ2UgaGFzIHVubG9hZGVkDQoJCQkJcmV0dXJuIHR5cGVvZiBqUXVlcnkgIT09ICJ1bmRlZmluZWQiICYmIGpRdWVyeS5ldmVudC50cmlnZ2VyZWQgIT09IGUudHlwZSA_DQoJCQkJCWpRdWVyeS5ldmVudC5kaXNwYXRjaC5hcHBseSggZWxlbSwgYXJndW1lbnRzICkgOiB1bmRlZmluZWQ7DQoJCQl9Ow0KCQl9DQoNCgkJLy8gSGFuZGxlIG11bHRpcGxlIGV2ZW50cyBzZXBhcmF0ZWQgYnkgYSBzcGFjZQ0KCQl0eXBlcyA9ICggdHlwZXMgfHwgIiIgKS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFsgIiIgXTsNCgkJdCA9IHR5cGVzLmxlbmd0aDsNCgkJd2hpbGUgKCB0LS0gKSB7DQoJCQl0bXAgPSBydHlwZW5hbWVzcGFjZS5leGVjKCB0eXBlc1sgdCBdICkgfHwgW107DQoJCQl0eXBlID0gb3JpZ1R5cGUgPSB0bXBbIDEgXTsNCgkJCW5hbWVzcGFjZXMgPSAoIHRtcFsgMiBdIHx8ICIiICkuc3BsaXQoICIuIiApLnNvcnQoKTsNCg0KCQkJLy8gVGhlcmUgKm11c3QqIGJlIGEgdHlwZSwgbm8gYXR0YWNoaW5nIG5hbWVzcGFjZS1vbmx5IGhhbmRsZXJzDQoJCQlpZiAoICF0eXBlICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBJZiBldmVudCBjaGFuZ2VzIGl0cyB0eXBlLCB1c2UgdGhlIHNwZWNpYWwgZXZlbnQgaGFuZGxlcnMgZm9yIHRoZSBjaGFuZ2VkIHR5cGUNCgkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgdHlwZSBdIHx8IHt9Ow0KDQoJCQkvLyBJZiBzZWxlY3RvciBkZWZpbmVkLCBkZXRlcm1pbmUgc3BlY2lhbCBldmVudCBhcGkgdHlwZSwgb3RoZXJ3aXNlIGdpdmVuIHR5cGUNCgkJCXR5cGUgPSAoIHNlbGVjdG9yID8gc3BlY2lhbC5kZWxlZ2F0ZVR5cGUgOiBzcGVjaWFsLmJpbmRUeXBlICkgfHwgdHlwZTsNCg0KCQkJLy8gVXBkYXRlIHNwZWNpYWwgYmFzZWQgb24gbmV3bHkgcmVzZXQgdHlwZQ0KCQkJc3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyB0eXBlIF0gfHwge307DQoNCgkJCS8vIGhhbmRsZU9iaiBpcyBwYXNzZWQgdG8gYWxsIGV2ZW50IGhhbmRsZXJzDQoJCQloYW5kbGVPYmogPSBqUXVlcnkuZXh0ZW5kKCB7DQoJCQkJdHlwZTogdHlwZSwNCgkJCQlvcmlnVHlwZTogb3JpZ1R5cGUsDQoJCQkJZGF0YTogZGF0YSwNCgkJCQloYW5kbGVyOiBoYW5kbGVyLA0KCQkJCWd1aWQ6IGhhbmRsZXIuZ3VpZCwNCgkJCQlzZWxlY3Rvcjogc2VsZWN0b3IsDQoJCQkJbmVlZHNDb250ZXh0OiBzZWxlY3RvciAmJiBqUXVlcnkuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdCggc2VsZWN0b3IgKSwNCgkJCQluYW1lc3BhY2U6IG5hbWVzcGFjZXMuam9pbiggIi4iICkNCgkJCX0sIGhhbmRsZU9iakluICk7DQoNCgkJCS8vIEluaXQgdGhlIGV2ZW50IGhhbmRsZXIgcXVldWUgaWYgd2UncmUgdGhlIGZpcnN0DQoJCQlpZiAoICEoIGhhbmRsZXJzID0gZXZlbnRzWyB0eXBlIF0gKSApIHsNCgkJCQloYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdID0gW107DQoJCQkJaGFuZGxlcnMuZGVsZWdhdGVDb3VudCA9IDA7DQoNCgkJCQkvLyBPbmx5IHVzZSBhZGRFdmVudExpc3RlbmVyIGlmIHRoZSBzcGVjaWFsIGV2ZW50cyBoYW5kbGVyIHJldHVybnMgZmFsc2UNCgkJCQlpZiAoICFzcGVjaWFsLnNldHVwIHx8DQoJCQkJCXNwZWNpYWwuc2V0dXAuY2FsbCggZWxlbSwgZGF0YSwgbmFtZXNwYWNlcywgZXZlbnRIYW5kbGUgKSA9PT0gZmFsc2UgKSB7DQoNCgkJCQkJaWYgKCBlbGVtLmFkZEV2ZW50TGlzdGVuZXIgKSB7DQoJCQkJCQllbGVtLmFkZEV2ZW50TGlzdGVuZXIoIHR5cGUsIGV2ZW50SGFuZGxlICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggc3BlY2lhbC5hZGQgKSB7DQoJCQkJc3BlY2lhbC5hZGQuY2FsbCggZWxlbSwgaGFuZGxlT2JqICk7DQoNCgkJCQlpZiAoICFoYW5kbGVPYmouaGFuZGxlci5ndWlkICkgew0KCQkJCQloYW5kbGVPYmouaGFuZGxlci5ndWlkID0gaGFuZGxlci5ndWlkOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gQWRkIHRvIHRoZSBlbGVtZW50J3MgaGFuZGxlciBsaXN0LCBkZWxlZ2F0ZXMgaW4gZnJvbnQNCgkJCWlmICggc2VsZWN0b3IgKSB7DQoJCQkJaGFuZGxlcnMuc3BsaWNlKCBoYW5kbGVycy5kZWxlZ2F0ZUNvdW50KyssIDAsIGhhbmRsZU9iaiApOw0KCQkJfSBlbHNlIHsNCgkJCQloYW5kbGVycy5wdXNoKCBoYW5kbGVPYmogKTsNCgkJCX0NCg0KCQkJLy8gS2VlcCB0cmFjayBvZiB3aGljaCBldmVudHMgaGF2ZSBldmVyIGJlZW4gdXNlZCwgZm9yIGV2ZW50IG9wdGltaXphdGlvbg0KCQkJalF1ZXJ5LmV2ZW50Lmdsb2JhbFsgdHlwZSBdID0gdHJ1ZTsNCgkJfQ0KDQoJfSwNCg0KCS8vIERldGFjaCBhbiBldmVudCBvciBzZXQgb2YgZXZlbnRzIGZyb20gYW4gZWxlbWVudA0KCXJlbW92ZTogZnVuY3Rpb24oIGVsZW0sIHR5cGVzLCBoYW5kbGVyLCBzZWxlY3RvciwgbWFwcGVkVHlwZXMgKSB7DQoNCgkJdmFyIGosIG9yaWdDb3VudCwgdG1wLA0KCQkJZXZlbnRzLCB0LCBoYW5kbGVPYmosDQoJCQlzcGVjaWFsLCBoYW5kbGVycywgdHlwZSwgbmFtZXNwYWNlcywgb3JpZ1R5cGUsDQoJCQllbGVtRGF0YSA9IGRhdGFQcml2Lmhhc0RhdGEoIGVsZW0gKSAmJiBkYXRhUHJpdi5nZXQoIGVsZW0gKTsNCg0KCQlpZiAoICFlbGVtRGF0YSB8fCAhKCBldmVudHMgPSBlbGVtRGF0YS5ldmVudHMgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIE9uY2UgZm9yIGVhY2ggdHlwZS5uYW1lc3BhY2UgaW4gdHlwZXM7IHR5cGUgbWF5IGJlIG9taXR0ZWQNCgkJdHlwZXMgPSAoIHR5cGVzIHx8ICIiICkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbICIiIF07DQoJCXQgPSB0eXBlcy5sZW5ndGg7DQoJCXdoaWxlICggdC0tICkgew0KCQkJdG1wID0gcnR5cGVuYW1lc3BhY2UuZXhlYyggdHlwZXNbIHQgXSApIHx8IFtdOw0KCQkJdHlwZSA9IG9yaWdUeXBlID0gdG1wWyAxIF07DQoJCQluYW1lc3BhY2VzID0gKCB0bXBbIDIgXSB8fCAiIiApLnNwbGl0KCAiLiIgKS5zb3J0KCk7DQoNCgkJCS8vIFVuYmluZCBhbGwgZXZlbnRzIChvbiB0aGlzIG5hbWVzcGFjZSwgaWYgcHJvdmlkZWQpIGZvciB0aGUgZWxlbWVudA0KCQkJaWYgKCAhdHlwZSApIHsNCgkJCQlmb3IgKCB0eXBlIGluIGV2ZW50cyApIHsNCgkJCQkJalF1ZXJ5LmV2ZW50LnJlbW92ZSggZWxlbSwgdHlwZSArIHR5cGVzWyB0IF0sIGhhbmRsZXIsIHNlbGVjdG9yLCB0cnVlICk7DQoJCQkJfQ0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSB8fCB7fTsNCgkJCXR5cGUgPSAoIHNlbGVjdG9yID8gc3BlY2lhbC5kZWxlZ2F0ZVR5cGUgOiBzcGVjaWFsLmJpbmRUeXBlICkgfHwgdHlwZTsNCgkJCWhhbmRsZXJzID0gZXZlbnRzWyB0eXBlIF0gfHwgW107DQoJCQl0bXAgPSB0bXBbIDIgXSAmJg0KCQkJCW5ldyBSZWdFeHAoICIoXnxcXC4pIiArIG5hbWVzcGFjZXMuam9pbiggIlxcLig_Oi4qXFwufCkiICkgKyAiKFxcLnwkKSIgKTsNCg0KCQkJLy8gUmVtb3ZlIG1hdGNoaW5nIGV2ZW50cw0KCQkJb3JpZ0NvdW50ID0gaiA9IGhhbmRsZXJzLmxlbmd0aDsNCgkJCXdoaWxlICggai0tICkgew0KCQkJCWhhbmRsZU9iaiA9IGhhbmRsZXJzWyBqIF07DQoNCgkJCQlpZiAoICggbWFwcGVkVHlwZXMgfHwgb3JpZ1R5cGUgPT09IGhhbmRsZU9iai5vcmlnVHlwZSApICYmDQoJCQkJCSggIWhhbmRsZXIgfHwgaGFuZGxlci5ndWlkID09PSBoYW5kbGVPYmouZ3VpZCApICYmDQoJCQkJCSggIXRtcCB8fCB0bXAudGVzdCggaGFuZGxlT2JqLm5hbWVzcGFjZSApICkgJiYNCgkJCQkJKCAhc2VsZWN0b3IgfHwgc2VsZWN0b3IgPT09IGhhbmRsZU9iai5zZWxlY3RvciB8fA0KCQkJCQkJc2VsZWN0b3IgPT09ICIqKiIgJiYgaGFuZGxlT2JqLnNlbGVjdG9yICkgKSB7DQoJCQkJCWhhbmRsZXJzLnNwbGljZSggaiwgMSApOw0KDQoJCQkJCWlmICggaGFuZGxlT2JqLnNlbGVjdG9yICkgew0KCQkJCQkJaGFuZGxlcnMuZGVsZWdhdGVDb3VudC0tOw0KCQkJCQl9DQoJCQkJCWlmICggc3BlY2lhbC5yZW1vdmUgKSB7DQoJCQkJCQlzcGVjaWFsLnJlbW92ZS5jYWxsKCBlbGVtLCBoYW5kbGVPYmogKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gUmVtb3ZlIGdlbmVyaWMgZXZlbnQgaGFuZGxlciBpZiB3ZSByZW1vdmVkIHNvbWV0aGluZyBhbmQgbm8gbW9yZSBoYW5kbGVycyBleGlzdA0KCQkJLy8gKGF2b2lkcyBwb3RlbnRpYWwgZm9yIGVuZGxlc3MgcmVjdXJzaW9uIGR1cmluZyByZW1vdmFsIG9mIHNwZWNpYWwgZXZlbnQgaGFuZGxlcnMpDQoJCQlpZiAoIG9yaWdDb3VudCAmJiAhaGFuZGxlcnMubGVuZ3RoICkgew0KCQkJCWlmICggIXNwZWNpYWwudGVhcmRvd24gfHwNCgkJCQkJc3BlY2lhbC50ZWFyZG93bi5jYWxsKCBlbGVtLCBuYW1lc3BhY2VzLCBlbGVtRGF0YS5oYW5kbGUgKSA9PT0gZmFsc2UgKSB7DQoNCgkJCQkJalF1ZXJ5LnJlbW92ZUV2ZW50KCBlbGVtLCB0eXBlLCBlbGVtRGF0YS5oYW5kbGUgKTsNCgkJCQl9DQoNCgkJCQlkZWxldGUgZXZlbnRzWyB0eXBlIF07DQoJCQl9DQoJCX0NCg0KCQkvLyBSZW1vdmUgZGF0YSBhbmQgdGhlIGV4cGFuZG8gaWYgaXQncyBubyBsb25nZXIgdXNlZA0KCQlpZiAoIGpRdWVyeS5pc0VtcHR5T2JqZWN0KCBldmVudHMgKSApIHsNCgkJCWRhdGFQcml2LnJlbW92ZSggZWxlbSwgImhhbmRsZSBldmVudHMiICk7DQoJCX0NCgl9LA0KDQoJZGlzcGF0Y2g6IGZ1bmN0aW9uKCBuYXRpdmVFdmVudCApIHsNCg0KCQkvLyBNYWtlIGEgd3JpdGFibGUgalF1ZXJ5LkV2ZW50IGZyb20gdGhlIG5hdGl2ZSBldmVudCBvYmplY3QNCgkJdmFyIGV2ZW50ID0galF1ZXJ5LmV2ZW50LmZpeCggbmF0aXZlRXZlbnQgKTsNCg0KCQl2YXIgaSwgaiwgcmV0LCBtYXRjaGVkLCBoYW5kbGVPYmosIGhhbmRsZXJRdWV1ZSwNCgkJCWFyZ3MgPSBuZXcgQXJyYXkoIGFyZ3VtZW50cy5sZW5ndGggKSwNCgkJCWhhbmRsZXJzID0gKCBkYXRhUHJpdi5nZXQoIHRoaXMsICJldmVudHMiICkgfHwge30gKVsgZXZlbnQudHlwZSBdIHx8IFtdLA0KCQkJc3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyBldmVudC50eXBlIF0gfHwge307DQoNCgkJLy8gVXNlIHRoZSBmaXgtZWQgalF1ZXJ5LkV2ZW50IHJhdGhlciB0aGFuIHRoZSAocmVhZC1vbmx5KSBuYXRpdmUgZXZlbnQNCgkJYXJnc1sgMCBdID0gZXZlbnQ7DQoNCgkJZm9yICggaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKysgKSB7DQoJCQlhcmdzWyBpIF0gPSBhcmd1bWVudHNbIGkgXTsNCgkJfQ0KDQoJCWV2ZW50LmRlbGVnYXRlVGFyZ2V0ID0gdGhpczsNCg0KCQkvLyBDYWxsIHRoZSBwcmVEaXNwYXRjaCBob29rIGZvciB0aGUgbWFwcGVkIHR5cGUsIGFuZCBsZXQgaXQgYmFpbCBpZiBkZXNpcmVkDQoJCWlmICggc3BlY2lhbC5wcmVEaXNwYXRjaCAmJiBzcGVjaWFsLnByZURpc3BhdGNoLmNhbGwoIHRoaXMsIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gRGV0ZXJtaW5lIGhhbmRsZXJzDQoJCWhhbmRsZXJRdWV1ZSA9IGpRdWVyeS5ldmVudC5oYW5kbGVycy5jYWxsKCB0aGlzLCBldmVudCwgaGFuZGxlcnMgKTsNCg0KCQkvLyBSdW4gZGVsZWdhdGVzIGZpcnN0OyB0aGV5IG1heSB3YW50IHRvIHN0b3AgcHJvcGFnYXRpb24gYmVuZWF0aCB1cw0KCQlpID0gMDsNCgkJd2hpbGUgKCAoIG1hdGNoZWQgPSBoYW5kbGVyUXVldWVbIGkrKyBdICkgJiYgIWV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkgKSB7DQoJCQlldmVudC5jdXJyZW50VGFyZ2V0ID0gbWF0Y2hlZC5lbGVtOw0KDQoJCQlqID0gMDsNCgkJCXdoaWxlICggKCBoYW5kbGVPYmogPSBtYXRjaGVkLmhhbmRsZXJzWyBqKysgXSApICYmDQoJCQkJIWV2ZW50LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkgKSB7DQoNCgkJCQkvLyBUcmlnZ2VyZWQgZXZlbnQgbXVzdCBlaXRoZXIgMSkgaGF2ZSBubyBuYW1lc3BhY2UsIG9yIDIpIGhhdmUgbmFtZXNwYWNlKHMpDQoJCQkJLy8gYSBzdWJzZXQgb3IgZXF1YWwgdG8gdGhvc2UgaW4gdGhlIGJvdW5kIGV2ZW50IChib3RoIGNhbiBoYXZlIG5vIG5hbWVzcGFjZSkuDQoJCQkJaWYgKCAhZXZlbnQucm5hbWVzcGFjZSB8fCBldmVudC5ybmFtZXNwYWNlLnRlc3QoIGhhbmRsZU9iai5uYW1lc3BhY2UgKSApIHsNCg0KCQkJCQlldmVudC5oYW5kbGVPYmogPSBoYW5kbGVPYmo7DQoJCQkJCWV2ZW50LmRhdGEgPSBoYW5kbGVPYmouZGF0YTsNCg0KCQkJCQlyZXQgPSAoICggalF1ZXJ5LmV2ZW50LnNwZWNpYWxbIGhhbmRsZU9iai5vcmlnVHlwZSBdIHx8IHt9ICkuaGFuZGxlIHx8DQoJCQkJCQloYW5kbGVPYmouaGFuZGxlciApLmFwcGx5KCBtYXRjaGVkLmVsZW0sIGFyZ3MgKTsNCg0KCQkJCQlpZiAoIHJldCAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQkJaWYgKCAoIGV2ZW50LnJlc3VsdCA9IHJldCApID09PSBmYWxzZSApIHsNCgkJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQkJCWV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJLy8gQ2FsbCB0aGUgcG9zdERpc3BhdGNoIGhvb2sgZm9yIHRoZSBtYXBwZWQgdHlwZQ0KCQlpZiAoIHNwZWNpYWwucG9zdERpc3BhdGNoICkgew0KCQkJc3BlY2lhbC5wb3N0RGlzcGF0Y2guY2FsbCggdGhpcywgZXZlbnQgKTsNCgkJfQ0KDQoJCXJldHVybiBldmVudC5yZXN1bHQ7DQoJfSwNCg0KCWhhbmRsZXJzOiBmdW5jdGlvbiggZXZlbnQsIGhhbmRsZXJzICkgew0KCQl2YXIgaSwgaGFuZGxlT2JqLCBzZWwsIG1hdGNoZWRIYW5kbGVycywgbWF0Y2hlZFNlbGVjdG9ycywNCgkJCWhhbmRsZXJRdWV1ZSA9IFtdLA0KCQkJZGVsZWdhdGVDb3VudCA9IGhhbmRsZXJzLmRlbGVnYXRlQ291bnQsDQoJCQljdXIgPSBldmVudC50YXJnZXQ7DQoNCgkJLy8gRmluZCBkZWxlZ2F0ZSBoYW5kbGVycw0KCQlpZiAoIGRlbGVnYXRlQ291bnQgJiYNCg0KCQkJLy8gU3VwcG9ydDogSUUgPD05DQoJCQkvLyBCbGFjay1ob2xlIFNWRyA8dXNlPiBpbnN0YW5jZSB0cmVlcyAodHJhYy0xMzE4MCkNCgkJCWN1ci5ub2RlVHlwZSAmJg0KDQoJCQkvLyBTdXBwb3J0OiBGaXJlZm94IDw9NDINCgkJCS8vIFN1cHByZXNzIHNwZWMtdmlvbGF0aW5nIGNsaWNrcyBpbmRpY2F0aW5nIGEgbm9uLXByaW1hcnkgcG9pbnRlciBidXR0b24gKHRyYWMtMzg2MSkNCgkJCS8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50LXR5cGUtY2xpY2sNCgkJCS8vIFN1cHBvcnQ6IElFIDExIG9ubHkNCgkJCS8vIC4uLmJ1dCBub3QgYXJyb3cga2V5ICJjbGlja3MiIG9mIHJhZGlvIGlucHV0cywgd2hpY2ggY2FuIGhhdmUgYGJ1dHRvbmAgLTEgKGdoLTIzNDMpDQoJCQkhKCBldmVudC50eXBlID09PSAiY2xpY2siICYmIGV2ZW50LmJ1dHRvbiA-PSAxICkgKSB7DQoNCgkJCWZvciAoIDsgY3VyICE9PSB0aGlzOyBjdXIgPSBjdXIucGFyZW50Tm9kZSB8fCB0aGlzICkgew0KDQoJCQkJLy8gRG9uJ3QgY2hlY2sgbm9uLWVsZW1lbnRzICgjMTMyMDgpDQoJCQkJLy8gRG9uJ3QgcHJvY2VzcyBjbGlja3Mgb24gZGlzYWJsZWQgZWxlbWVudHMgKCM2OTExLCAjODE2NSwgIzExMzgyLCAjMTE3NjQpDQoJCQkJaWYgKCBjdXIubm9kZVR5cGUgPT09IDEgJiYgISggZXZlbnQudHlwZSA9PT0gImNsaWNrIiAmJiBjdXIuZGlzYWJsZWQgPT09IHRydWUgKSApIHsNCgkJCQkJbWF0Y2hlZEhhbmRsZXJzID0gW107DQoJCQkJCW1hdGNoZWRTZWxlY3RvcnMgPSB7fTsNCgkJCQkJZm9yICggaSA9IDA7IGkgPCBkZWxlZ2F0ZUNvdW50OyBpKysgKSB7DQoJCQkJCQloYW5kbGVPYmogPSBoYW5kbGVyc1sgaSBdOw0KDQoJCQkJCQkvLyBEb24ndCBjb25mbGljdCB3aXRoIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydGllcyAoIzEzMjAzKQ0KCQkJCQkJc2VsID0gaGFuZGxlT2JqLnNlbGVjdG9yICsgIiAiOw0KDQoJCQkJCQlpZiAoIG1hdGNoZWRTZWxlY3RvcnNbIHNlbCBdID09PSB1bmRlZmluZWQgKSB7DQoJCQkJCQkJbWF0Y2hlZFNlbGVjdG9yc1sgc2VsIF0gPSBoYW5kbGVPYmoubmVlZHNDb250ZXh0ID8NCgkJCQkJCQkJalF1ZXJ5KCBzZWwsIHRoaXMgKS5pbmRleCggY3VyICkgPiAtMSA6DQoJCQkJCQkJCWpRdWVyeS5maW5kKCBzZWwsIHRoaXMsIG51bGwsIFsgY3VyIF0gKS5sZW5ndGg7DQoJCQkJCQl9DQoJCQkJCQlpZiAoIG1hdGNoZWRTZWxlY3RvcnNbIHNlbCBdICkgew0KCQkJCQkJCW1hdGNoZWRIYW5kbGVycy5wdXNoKCBoYW5kbGVPYmogKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQlpZiAoIG1hdGNoZWRIYW5kbGVycy5sZW5ndGggKSB7DQoJCQkJCQloYW5kbGVyUXVldWUucHVzaCggeyBlbGVtOiBjdXIsIGhhbmRsZXJzOiBtYXRjaGVkSGFuZGxlcnMgfSApOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJLy8gQWRkIHRoZSByZW1haW5pbmcgKGRpcmVjdGx5LWJvdW5kKSBoYW5kbGVycw0KCQljdXIgPSB0aGlzOw0KCQlpZiAoIGRlbGVnYXRlQ291bnQgPCBoYW5kbGVycy5sZW5ndGggKSB7DQoJCQloYW5kbGVyUXVldWUucHVzaCggeyBlbGVtOiBjdXIsIGhhbmRsZXJzOiBoYW5kbGVycy5zbGljZSggZGVsZWdhdGVDb3VudCApIH0gKTsNCgkJfQ0KDQoJCXJldHVybiBoYW5kbGVyUXVldWU7DQoJfSwNCg0KCWFkZFByb3A6IGZ1bmN0aW9uKCBuYW1lLCBob29rICkgew0KCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoIGpRdWVyeS5FdmVudC5wcm90b3R5cGUsIG5hbWUsIHsNCgkJCWVudW1lcmFibGU6IHRydWUsDQoJCQljb25maWd1cmFibGU6IHRydWUsDQoNCgkJCWdldDogalF1ZXJ5LmlzRnVuY3Rpb24oIGhvb2sgKSA_DQoJCQkJZnVuY3Rpb24oKSB7DQoJCQkJCWlmICggdGhpcy5vcmlnaW5hbEV2ZW50ICkgew0KCQkJCQkJCXJldHVybiBob29rKCB0aGlzLm9yaWdpbmFsRXZlbnQgKTsNCgkJCQkJfQ0KCQkJCX0gOg0KCQkJCWZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIHRoaXMub3JpZ2luYWxFdmVudCApIHsNCgkJCQkJCQlyZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50WyBuYW1lIF07DQoJCQkJCX0NCgkJCQl9LA0KDQoJCQlzZXQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoIHRoaXMsIG5hbWUsIHsNCgkJCQkJZW51bWVyYWJsZTogdHJ1ZSwNCgkJCQkJY29uZmlndXJhYmxlOiB0cnVlLA0KCQkJCQl3cml0YWJsZTogdHJ1ZSwNCgkJCQkJdmFsdWU6IHZhbHVlDQoJCQkJfSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCWZpeDogZnVuY3Rpb24oIG9yaWdpbmFsRXZlbnQgKSB7DQoJCXJldHVybiBvcmlnaW5hbEV2ZW50WyBqUXVlcnkuZXhwYW5kbyBdID8NCgkJCW9yaWdpbmFsRXZlbnQgOg0KCQkJbmV3IGpRdWVyeS5FdmVudCggb3JpZ2luYWxFdmVudCApOw0KCX0sDQoNCglzcGVjaWFsOiB7DQoJCWxvYWQ6IHsNCg0KCQkJLy8gUHJldmVudCB0cmlnZ2VyZWQgaW1hZ2UubG9hZCBldmVudHMgZnJvbSBidWJibGluZyB0byB3aW5kb3cubG9hZA0KCQkJbm9CdWJibGU6IHRydWUNCgkJfSwNCgkJZm9jdXM6IHsNCg0KCQkJLy8gRmlyZSBuYXRpdmUgZXZlbnQgaWYgcG9zc2libGUgc28gYmx1ci9mb2N1cyBzZXF1ZW5jZSBpcyBjb3JyZWN0DQoJCQl0cmlnZ2VyOiBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHRoaXMgIT09IHNhZmVBY3RpdmVFbGVtZW50KCkgJiYgdGhpcy5mb2N1cyApIHsNCgkJCQkJdGhpcy5mb2N1cygpOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfSwNCgkJCWRlbGVnYXRlVHlwZTogImZvY3VzaW4iDQoJCX0sDQoJCWJsdXI6IHsNCgkJCXRyaWdnZXI6IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggdGhpcyA9PT0gc2FmZUFjdGl2ZUVsZW1lbnQoKSAmJiB0aGlzLmJsdXIgKSB7DQoJCQkJCXRoaXMuYmx1cigpOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJfSwNCgkJCWRlbGVnYXRlVHlwZTogImZvY3Vzb3V0Ig0KCQl9LA0KCQljbGljazogew0KDQoJCQkvLyBGb3IgY2hlY2tib3gsIGZpcmUgbmF0aXZlIGV2ZW50IHNvIGNoZWNrZWQgc3RhdGUgd2lsbCBiZSByaWdodA0KCQkJdHJpZ2dlcjogZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCB0aGlzLnR5cGUgPT09ICJjaGVja2JveCIgJiYgdGhpcy5jbGljayAmJiBub2RlTmFtZSggdGhpcywgImlucHV0IiApICkgew0KCQkJCQl0aGlzLmNsaWNrKCk7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9LA0KDQoJCQkvLyBGb3IgY3Jvc3MtYnJvd3NlciBjb25zaXN0ZW5jeSwgZG9uJ3QgZmlyZSBuYXRpdmUgLmNsaWNrKCkgb24gbGlua3MNCgkJCV9kZWZhdWx0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJcmV0dXJuIG5vZGVOYW1lKCBldmVudC50YXJnZXQsICJhIiApOw0KCQkJfQ0KCQl9LA0KDQoJCWJlZm9yZXVubG9hZDogew0KCQkJcG9zdERpc3BhdGNoOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJCQkvLyBTdXBwb3J0OiBGaXJlZm94IDIwKw0KCQkJCS8vIEZpcmVmb3ggZG9lc24ndCBhbGVydCBpZiB0aGUgcmV0dXJuVmFsdWUgZmllbGQgaXMgbm90IHNldC4NCgkJCQlpZiAoIGV2ZW50LnJlc3VsdCAhPT0gdW5kZWZpbmVkICYmIGV2ZW50Lm9yaWdpbmFsRXZlbnQgKSB7DQoJCQkJCWV2ZW50Lm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWUgPSBldmVudC5yZXN1bHQ7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KfTsNCg0KalF1ZXJ5LnJlbW92ZUV2ZW50ID0gZnVuY3Rpb24oIGVsZW0sIHR5cGUsIGhhbmRsZSApIHsNCg0KCS8vIFRoaXMgImlmIiBpcyBuZWVkZWQgZm9yIHBsYWluIG9iamVjdHMNCglpZiAoIGVsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lciApIHsNCgkJZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCB0eXBlLCBoYW5kbGUgKTsNCgl9DQp9Ow0KDQpqUXVlcnkuRXZlbnQgPSBmdW5jdGlvbiggc3JjLCBwcm9wcyApIHsNCg0KCS8vIEFsbG93IGluc3RhbnRpYXRpb24gd2l0aG91dCB0aGUgJ25ldycga2V5d29yZA0KCWlmICggISggdGhpcyBpbnN0YW5jZW9mIGpRdWVyeS5FdmVudCApICkgew0KCQlyZXR1cm4gbmV3IGpRdWVyeS5FdmVudCggc3JjLCBwcm9wcyApOw0KCX0NCg0KCS8vIEV2ZW50IG9iamVjdA0KCWlmICggc3JjICYmIHNyYy50eXBlICkgew0KCQl0aGlzLm9yaWdpbmFsRXZlbnQgPSBzcmM7DQoJCXRoaXMudHlwZSA9IHNyYy50eXBlOw0KDQoJCS8vIEV2ZW50cyBidWJibGluZyB1cCB0aGUgZG9jdW1lbnQgbWF5IGhhdmUgYmVlbiBtYXJrZWQgYXMgcHJldmVudGVkDQoJCS8vIGJ5IGEgaGFuZGxlciBsb3dlciBkb3duIHRoZSB0cmVlOyByZWZsZWN0IHRoZSBjb3JyZWN0IHZhbHVlLg0KCQl0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IHNyYy5kZWZhdWx0UHJldmVudGVkIHx8DQoJCQkJc3JjLmRlZmF1bHRQcmV2ZW50ZWQgPT09IHVuZGVmaW5lZCAmJg0KDQoJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTIuMyBvbmx5DQoJCQkJc3JjLnJldHVyblZhbHVlID09PSBmYWxzZSA_DQoJCQlyZXR1cm5UcnVlIDoNCgkJCXJldHVybkZhbHNlOw0KDQoJCS8vIENyZWF0ZSB0YXJnZXQgcHJvcGVydGllcw0KCQkvLyBTdXBwb3J0OiBTYWZhcmkgPD02IC0gNyBvbmx5DQoJCS8vIFRhcmdldCBzaG91bGQgbm90IGJlIGEgdGV4dCBub2RlICgjNTA0LCAjMTMxNDMpDQoJCXRoaXMudGFyZ2V0ID0gKCBzcmMudGFyZ2V0ICYmIHNyYy50YXJnZXQubm9kZVR5cGUgPT09IDMgKSA_DQoJCQlzcmMudGFyZ2V0LnBhcmVudE5vZGUgOg0KCQkJc3JjLnRhcmdldDsNCg0KCQl0aGlzLmN1cnJlbnRUYXJnZXQgPSBzcmMuY3VycmVudFRhcmdldDsNCgkJdGhpcy5yZWxhdGVkVGFyZ2V0ID0gc3JjLnJlbGF0ZWRUYXJnZXQ7DQoNCgkvLyBFdmVudCB0eXBlDQoJfSBlbHNlIHsNCgkJdGhpcy50eXBlID0gc3JjOw0KCX0NCg0KCS8vIFB1dCBleHBsaWNpdGx5IHByb3ZpZGVkIHByb3BlcnRpZXMgb250byB0aGUgZXZlbnQgb2JqZWN0DQoJaWYgKCBwcm9wcyApIHsNCgkJalF1ZXJ5LmV4dGVuZCggdGhpcywgcHJvcHMgKTsNCgl9DQoNCgkvLyBDcmVhdGUgYSB0aW1lc3RhbXAgaWYgaW5jb21pbmcgZXZlbnQgZG9lc24ndCBoYXZlIG9uZQ0KCXRoaXMudGltZVN0YW1wID0gc3JjICYmIHNyYy50aW1lU3RhbXAgfHwgalF1ZXJ5Lm5vdygpOw0KDQoJLy8gTWFyayBpdCBhcyBmaXhlZA0KCXRoaXNbIGpRdWVyeS5leHBhbmRvIF0gPSB0cnVlOw0KfTsNCg0KLy8galF1ZXJ5LkV2ZW50IGlzIGJhc2VkIG9uIERPTTMgRXZlbnRzIGFzIHNwZWNpZmllZCBieSB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBCaW5kaW5nDQovLyBodHRwczovL3d3dy53My5vcmcvVFIvMjAwMy9XRC1ET00tTGV2ZWwtMy1FdmVudHMtMjAwMzAzMzEvZWNtYS1zY3JpcHQtYmluZGluZy5odG1sDQpqUXVlcnkuRXZlbnQucHJvdG90eXBlID0gew0KCWNvbnN0cnVjdG9yOiBqUXVlcnkuRXZlbnQsDQoJaXNEZWZhdWx0UHJldmVudGVkOiByZXR1cm5GYWxzZSwNCglpc1Byb3BhZ2F0aW9uU3RvcHBlZDogcmV0dXJuRmFsc2UsDQoJaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6IHJldHVybkZhbHNlLA0KCWlzU2ltdWxhdGVkOiBmYWxzZSwNCg0KCXByZXZlbnREZWZhdWx0OiBmdW5jdGlvbigpIHsNCgkJdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7DQoNCgkJdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSByZXR1cm5UcnVlOw0KDQoJCWlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHsNCgkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJfQ0KCX0sDQoJc3RvcFByb3BhZ2F0aW9uOiBmdW5jdGlvbigpIHsNCgkJdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7DQoNCgkJdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IHJldHVyblRydWU7DQoNCgkJaWYgKCBlICYmICF0aGlzLmlzU2ltdWxhdGVkICkgew0KCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsNCgkJfQ0KCX0sDQoJc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOiBmdW5jdGlvbigpIHsNCgkJdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7DQoNCgkJdGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCA9IHJldHVyblRydWU7DQoNCgkJaWYgKCBlICYmICF0aGlzLmlzU2ltdWxhdGVkICkgew0KCQkJZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsNCgkJfQ0KDQoJCXRoaXMuc3RvcFByb3BhZ2F0aW9uKCk7DQoJfQ0KfTsNCg0KLy8gSW5jbHVkZXMgYWxsIGNvbW1vbiBldmVudCBwcm9wcyBpbmNsdWRpbmcgS2V5RXZlbnQgYW5kIE1vdXNlRXZlbnQgc3BlY2lmaWMgcHJvcHMNCmpRdWVyeS5lYWNoKCB7DQoJYWx0S2V5OiB0cnVlLA0KCWJ1YmJsZXM6IHRydWUsDQoJY2FuY2VsYWJsZTogdHJ1ZSwNCgljaGFuZ2VkVG91Y2hlczogdHJ1ZSwNCgljdHJsS2V5OiB0cnVlLA0KCWRldGFpbDogdHJ1ZSwNCglldmVudFBoYXNlOiB0cnVlLA0KCW1ldGFLZXk6IHRydWUsDQoJcGFnZVg6IHRydWUsDQoJcGFnZVk6IHRydWUsDQoJc2hpZnRLZXk6IHRydWUsDQoJdmlldzogdHJ1ZSwNCgkiY2hhciI6IHRydWUsDQoJY2hhckNvZGU6IHRydWUsDQoJa2V5OiB0cnVlLA0KCWtleUNvZGU6IHRydWUsDQoJYnV0dG9uOiB0cnVlLA0KCWJ1dHRvbnM6IHRydWUsDQoJY2xpZW50WDogdHJ1ZSwNCgljbGllbnRZOiB0cnVlLA0KCW9mZnNldFg6IHRydWUsDQoJb2Zmc2V0WTogdHJ1ZSwNCglwb2ludGVySWQ6IHRydWUsDQoJcG9pbnRlclR5cGU6IHRydWUsDQoJc2NyZWVuWDogdHJ1ZSwNCglzY3JlZW5ZOiB0cnVlLA0KCXRhcmdldFRvdWNoZXM6IHRydWUsDQoJdG9FbGVtZW50OiB0cnVlLA0KCXRvdWNoZXM6IHRydWUsDQoNCgl3aGljaDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgYnV0dG9uID0gZXZlbnQuYnV0dG9uOw0KDQoJCS8vIEFkZCB3aGljaCBmb3Iga2V5IGV2ZW50cw0KCQlpZiAoIGV2ZW50LndoaWNoID09IG51bGwgJiYgcmtleUV2ZW50LnRlc3QoIGV2ZW50LnR5cGUgKSApIHsNCgkJCXJldHVybiBldmVudC5jaGFyQ29kZSAhPSBudWxsID8gZXZlbnQuY2hhckNvZGUgOiBldmVudC5rZXlDb2RlOw0KCQl9DQoNCgkJLy8gQWRkIHdoaWNoIGZvciBjbGljazogMSA9PT0gbGVmdDsgMiA9PT0gbWlkZGxlOyAzID09PSByaWdodA0KCQlpZiAoICFldmVudC53aGljaCAmJiBidXR0b24gIT09IHVuZGVmaW5lZCAmJiBybW91c2VFdmVudC50ZXN0KCBldmVudC50eXBlICkgKSB7DQoJCQlpZiAoIGJ1dHRvbiAmIDEgKSB7DQoJCQkJcmV0dXJuIDE7DQoJCQl9DQoNCgkJCWlmICggYnV0dG9uICYgMiApIHsNCgkJCQlyZXR1cm4gMzsNCgkJCX0NCg0KCQkJaWYgKCBidXR0b24gJiA0ICkgew0KCQkJCXJldHVybiAyOw0KCQkJfQ0KDQoJCQlyZXR1cm4gMDsNCgkJfQ0KDQoJCXJldHVybiBldmVudC53aGljaDsNCgl9DQp9LCBqUXVlcnkuZXZlbnQuYWRkUHJvcCApOw0KDQovLyBDcmVhdGUgbW91c2VlbnRlci9sZWF2ZSBldmVudHMgdXNpbmcgbW91c2VvdmVyL291dCBhbmQgZXZlbnQtdGltZSBjaGVja3MNCi8vIHNvIHRoYXQgZXZlbnQgZGVsZWdhdGlvbiB3b3JrcyBpbiBqUXVlcnkuDQovLyBEbyB0aGUgc2FtZSBmb3IgcG9pbnRlcmVudGVyL3BvaW50ZXJsZWF2ZSBhbmQgcG9pbnRlcm92ZXIvcG9pbnRlcm91dA0KLy8NCi8vIFN1cHBvcnQ6IFNhZmFyaSA3IG9ubHkNCi8vIFNhZmFyaSBzZW5kcyBtb3VzZWVudGVyIHRvbyBvZnRlbjsgc2VlOg0KLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw_aWQ9NDcwMjU4DQovLyBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBidWcgKGl0IGV4aXN0ZWQgaW4gb2xkZXIgQ2hyb21lIHZlcnNpb25zIGFzIHdlbGwpLg0KalF1ZXJ5LmVhY2goIHsNCgltb3VzZWVudGVyOiAibW91c2VvdmVyIiwNCgltb3VzZWxlYXZlOiAibW91c2VvdXQiLA0KCXBvaW50ZXJlbnRlcjogInBvaW50ZXJvdmVyIiwNCglwb2ludGVybGVhdmU6ICJwb2ludGVyb3V0Ig0KfSwgZnVuY3Rpb24oIG9yaWcsIGZpeCApIHsNCglqUXVlcnkuZXZlbnQuc3BlY2lhbFsgb3JpZyBdID0gew0KCQlkZWxlZ2F0ZVR5cGU6IGZpeCwNCgkJYmluZFR5cGU6IGZpeCwNCg0KCQloYW5kbGU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciByZXQsDQoJCQkJdGFyZ2V0ID0gdGhpcywNCgkJCQlyZWxhdGVkID0gZXZlbnQucmVsYXRlZFRhcmdldCwNCgkJCQloYW5kbGVPYmogPSBldmVudC5oYW5kbGVPYmo7DQoNCgkJCS8vIEZvciBtb3VzZWVudGVyL2xlYXZlIGNhbGwgdGhlIGhhbmRsZXIgaWYgcmVsYXRlZCBpcyBvdXRzaWRlIHRoZSB0YXJnZXQuDQoJCQkvLyBOQjogTm8gcmVsYXRlZFRhcmdldCBpZiB0aGUgbW91c2UgbGVmdC9lbnRlcmVkIHRoZSBicm93c2VyIHdpbmRvdw0KCQkJaWYgKCAhcmVsYXRlZCB8fCAoIHJlbGF0ZWQgIT09IHRhcmdldCAmJiAhalF1ZXJ5LmNvbnRhaW5zKCB0YXJnZXQsIHJlbGF0ZWQgKSApICkgew0KCQkJCWV2ZW50LnR5cGUgPSBoYW5kbGVPYmoub3JpZ1R5cGU7DQoJCQkJcmV0ID0gaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJCWV2ZW50LnR5cGUgPSBmaXg7DQoJCQl9DQoJCQlyZXR1cm4gcmV0Ow0KCQl9DQoJfTsNCn0gKTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KDQoJb246IGZ1bmN0aW9uKCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICkgew0KCQlyZXR1cm4gb24oIHRoaXMsIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKTsNCgl9LA0KCW9uZTogZnVuY3Rpb24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKSB7DQoJCXJldHVybiBvbiggdGhpcywgdHlwZXMsIHNlbGVjdG9yLCBkYXRhLCBmbiwgMSApOw0KCX0sDQoJb2ZmOiBmdW5jdGlvbiggdHlwZXMsIHNlbGVjdG9yLCBmbiApIHsNCgkJdmFyIGhhbmRsZU9iaiwgdHlwZTsNCgkJaWYgKCB0eXBlcyAmJiB0eXBlcy5wcmV2ZW50RGVmYXVsdCAmJiB0eXBlcy5oYW5kbGVPYmogKSB7DQoNCgkJCS8vICggZXZlbnQgKSAgZGlzcGF0Y2hlZCBqUXVlcnkuRXZlbnQNCgkJCWhhbmRsZU9iaiA9IHR5cGVzLmhhbmRsZU9iajsNCgkJCWpRdWVyeSggdHlwZXMuZGVsZWdhdGVUYXJnZXQgKS5vZmYoDQoJCQkJaGFuZGxlT2JqLm5hbWVzcGFjZSA_DQoJCQkJCWhhbmRsZU9iai5vcmlnVHlwZSArICIuIiArIGhhbmRsZU9iai5uYW1lc3BhY2UgOg0KCQkJCQloYW5kbGVPYmoub3JpZ1R5cGUsDQoJCQkJaGFuZGxlT2JqLnNlbGVjdG9yLA0KCQkJCWhhbmRsZU9iai5oYW5kbGVyDQoJCQkpOw0KCQkJcmV0dXJuIHRoaXM7DQoJCX0NCgkJaWYgKCB0eXBlb2YgdHlwZXMgPT09ICJvYmplY3QiICkgew0KDQoJCQkvLyAoIHR5cGVzLW9iamVjdCBbLCBzZWxlY3Rvcl0gKQ0KCQkJZm9yICggdHlwZSBpbiB0eXBlcyApIHsNCgkJCQl0aGlzLm9mZiggdHlwZSwgc2VsZWN0b3IsIHR5cGVzWyB0eXBlIF0gKTsNCgkJCX0NCgkJCXJldHVybiB0aGlzOw0KCQl9DQoJCWlmICggc2VsZWN0b3IgPT09IGZhbHNlIHx8IHR5cGVvZiBzZWxlY3RvciA9PT0gImZ1bmN0aW9uIiApIHsNCg0KCQkJLy8gKCB0eXBlcyBbLCBmbl0gKQ0KCQkJZm4gPSBzZWxlY3RvcjsNCgkJCXNlbGVjdG9yID0gdW5kZWZpbmVkOw0KCQl9DQoJCWlmICggZm4gPT09IGZhbHNlICkgew0KCQkJZm4gPSByZXR1cm5GYWxzZTsNCgkJfQ0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCWpRdWVyeS5ldmVudC5yZW1vdmUoIHRoaXMsIHR5cGVzLCBmbiwgc2VsZWN0b3IgKTsNCgkJfSApOw0KCX0NCn0gKTsNCg0KDQp2YXINCg0KCS8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi8NCg0KCS8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZXNsaW50L2VzbGludC9pc3N1ZXMvMzIyOQ0KCXJ4aHRtbFRhZyA9IC88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKVtePl0qKVwvPi9naSwNCg0KCS8qIGVzbGludC1lbmFibGUgKi8NCg0KCS8vIFN1cHBvcnQ6IElFIDw9MTAgLSAxMSwgRWRnZSAxMiAtIDEzDQoJLy8gSW4gSUUvRWRnZSB1c2luZyByZWdleCBncm91cHMgaGVyZSBjYXVzZXMgc2V2ZXJlIHNsb3dkb3ducy4NCgkvLyBTZWUgaHR0cHM6Ly9jb25uZWN0Lm1pY3Jvc29mdC5jb20vSUUvZmVlZGJhY2svZGV0YWlscy8xNzM2NTEyLw0KCXJub0lubmVyaHRtbCA9IC88c2NyaXB0fDxzdHlsZXw8bGluay9pLA0KDQoJLy8gY2hlY2tlZD0iY2hlY2tlZCIgb3IgY2hlY2tlZA0KCXJjaGVja2VkID0gL2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksDQoJcnNjcmlwdFR5cGVNYXNrZWQgPSAvXnRydWVcLyguKikvLA0KCXJjbGVhblNjcmlwdCA9IC9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg_OlxdXF18LS0pPlxzKiQvZzsNCg0KLy8gUHJlZmVyIGEgdGJvZHkgb3ZlciBpdHMgcGFyZW50IHRhYmxlIGZvciBjb250YWluaW5nIG5ldyByb3dzDQpmdW5jdGlvbiBtYW5pcHVsYXRpb25UYXJnZXQoIGVsZW0sIGNvbnRlbnQgKSB7DQoJaWYgKCBub2RlTmFtZSggZWxlbSwgInRhYmxlIiApICYmDQoJCW5vZGVOYW1lKCBjb250ZW50Lm5vZGVUeXBlICE9PSAxMSA_IGNvbnRlbnQgOiBjb250ZW50LmZpcnN0Q2hpbGQsICJ0ciIgKSApIHsNCg0KCQlyZXR1cm4galF1ZXJ5KCAiPnRib2R5IiwgZWxlbSApWyAwIF0gfHwgZWxlbTsNCgl9DQoNCglyZXR1cm4gZWxlbTsNCn0NCg0KLy8gUmVwbGFjZS9yZXN0b3JlIHRoZSB0eXBlIGF0dHJpYnV0ZSBvZiBzY3JpcHQgZWxlbWVudHMgZm9yIHNhZmUgRE9NIG1hbmlwdWxhdGlvbg0KZnVuY3Rpb24gZGlzYWJsZVNjcmlwdCggZWxlbSApIHsNCgllbGVtLnR5cGUgPSAoIGVsZW0uZ2V0QXR0cmlidXRlKCAidHlwZSIgKSAhPT0gbnVsbCApICsgIi8iICsgZWxlbS50eXBlOw0KCXJldHVybiBlbGVtOw0KfQ0KZnVuY3Rpb24gcmVzdG9yZVNjcmlwdCggZWxlbSApIHsNCgl2YXIgbWF0Y2ggPSByc2NyaXB0VHlwZU1hc2tlZC5leGVjKCBlbGVtLnR5cGUgKTsNCg0KCWlmICggbWF0Y2ggKSB7DQoJCWVsZW0udHlwZSA9IG1hdGNoWyAxIF07DQoJfSBlbHNlIHsNCgkJZWxlbS5yZW1vdmVBdHRyaWJ1dGUoICJ0eXBlIiApOw0KCX0NCg0KCXJldHVybiBlbGVtOw0KfQ0KDQpmdW5jdGlvbiBjbG9uZUNvcHlFdmVudCggc3JjLCBkZXN0ICkgew0KCXZhciBpLCBsLCB0eXBlLCBwZGF0YU9sZCwgcGRhdGFDdXIsIHVkYXRhT2xkLCB1ZGF0YUN1ciwgZXZlbnRzOw0KDQoJaWYgKCBkZXN0Lm5vZGVUeXBlICE9PSAxICkgew0KCQlyZXR1cm47DQoJfQ0KDQoJLy8gMS4gQ29weSBwcml2YXRlIGRhdGE6IGV2ZW50cywgaGFuZGxlcnMsIGV0Yy4NCglpZiAoIGRhdGFQcml2Lmhhc0RhdGEoIHNyYyApICkgew0KCQlwZGF0YU9sZCA9IGRhdGFQcml2LmFjY2Vzcyggc3JjICk7DQoJCXBkYXRhQ3VyID0gZGF0YVByaXYuc2V0KCBkZXN0LCBwZGF0YU9sZCApOw0KCQlldmVudHMgPSBwZGF0YU9sZC5ldmVudHM7DQoNCgkJaWYgKCBldmVudHMgKSB7DQoJCQlkZWxldGUgcGRhdGFDdXIuaGFuZGxlOw0KCQkJcGRhdGFDdXIuZXZlbnRzID0ge307DQoNCgkJCWZvciAoIHR5cGUgaW4gZXZlbnRzICkgew0KCQkJCWZvciAoIGkgPSAwLCBsID0gZXZlbnRzWyB0eXBlIF0ubGVuZ3RoOyBpIDwgbDsgaSsrICkgew0KCQkJCQlqUXVlcnkuZXZlbnQuYWRkKCBkZXN0LCB0eXBlLCBldmVudHNbIHR5cGUgXVsgaSBdICk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gMi4gQ29weSB1c2VyIGRhdGENCglpZiAoIGRhdGFVc2VyLmhhc0RhdGEoIHNyYyApICkgew0KCQl1ZGF0YU9sZCA9IGRhdGFVc2VyLmFjY2Vzcyggc3JjICk7DQoJCXVkYXRhQ3VyID0galF1ZXJ5LmV4dGVuZCgge30sIHVkYXRhT2xkICk7DQoNCgkJZGF0YVVzZXIuc2V0KCBkZXN0LCB1ZGF0YUN1ciApOw0KCX0NCn0NCg0KLy8gRml4IElFIGJ1Z3MsIHNlZSBzdXBwb3J0IHRlc3RzDQpmdW5jdGlvbiBmaXhJbnB1dCggc3JjLCBkZXN0ICkgew0KCXZhciBub2RlTmFtZSA9IGRlc3Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCg0KCS8vIEZhaWxzIHRvIHBlcnNpc3QgdGhlIGNoZWNrZWQgc3RhdGUgb2YgYSBjbG9uZWQgY2hlY2tib3ggb3IgcmFkaW8gYnV0dG9uLg0KCWlmICggbm9kZU5hbWUgPT09ICJpbnB1dCIgJiYgcmNoZWNrYWJsZVR5cGUudGVzdCggc3JjLnR5cGUgKSApIHsNCgkJZGVzdC5jaGVja2VkID0gc3JjLmNoZWNrZWQ7DQoNCgkvLyBGYWlscyB0byByZXR1cm4gdGhlIHNlbGVjdGVkIG9wdGlvbiB0byB0aGUgZGVmYXVsdCBzZWxlY3RlZCBzdGF0ZSB3aGVuIGNsb25pbmcgb3B0aW9ucw0KCX0gZWxzZSBpZiAoIG5vZGVOYW1lID09PSAiaW5wdXQiIHx8IG5vZGVOYW1lID09PSAidGV4dGFyZWEiICkgew0KCQlkZXN0LmRlZmF1bHRWYWx1ZSA9IHNyYy5kZWZhdWx0VmFsdWU7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBkb21NYW5pcCggY29sbGVjdGlvbiwgYXJncywgY2FsbGJhY2ssIGlnbm9yZWQgKSB7DQoNCgkvLyBGbGF0dGVuIGFueSBuZXN0ZWQgYXJyYXlzDQoJYXJncyA9IGNvbmNhdC5hcHBseSggW10sIGFyZ3MgKTsNCg0KCXZhciBmcmFnbWVudCwgZmlyc3QsIHNjcmlwdHMsIGhhc1NjcmlwdHMsIG5vZGUsIGRvYywNCgkJaSA9IDAsDQoJCWwgPSBjb2xsZWN0aW9uLmxlbmd0aCwNCgkJaU5vQ2xvbmUgPSBsIC0gMSwNCgkJdmFsdWUgPSBhcmdzWyAwIF0sDQoJCWlzRnVuY3Rpb24gPSBqUXVlcnkuaXNGdW5jdGlvbiggdmFsdWUgKTsNCg0KCS8vIFdlIGNhbid0IGNsb25lTm9kZSBmcmFnbWVudHMgdGhhdCBjb250YWluIGNoZWNrZWQsIGluIFdlYktpdA0KCWlmICggaXNGdW5jdGlvbiB8fA0KCQkJKCBsID4gMSAmJiB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICYmDQoJCQkJIXN1cHBvcnQuY2hlY2tDbG9uZSAmJiByY2hlY2tlZC50ZXN0KCB2YWx1ZSApICkgKSB7DQoJCXJldHVybiBjb2xsZWN0aW9uLmVhY2goIGZ1bmN0aW9uKCBpbmRleCApIHsNCgkJCXZhciBzZWxmID0gY29sbGVjdGlvbi5lcSggaW5kZXggKTsNCgkJCWlmICggaXNGdW5jdGlvbiApIHsNCgkJCQlhcmdzWyAwIF0gPSB2YWx1ZS5jYWxsKCB0aGlzLCBpbmRleCwgc2VsZi5odG1sKCkgKTsNCgkJCX0NCgkJCWRvbU1hbmlwKCBzZWxmLCBhcmdzLCBjYWxsYmFjaywgaWdub3JlZCApOw0KCQl9ICk7DQoJfQ0KDQoJaWYgKCBsICkgew0KCQlmcmFnbWVudCA9IGJ1aWxkRnJhZ21lbnQoIGFyZ3MsIGNvbGxlY3Rpb25bIDAgXS5vd25lckRvY3VtZW50LCBmYWxzZSwgY29sbGVjdGlvbiwgaWdub3JlZCApOw0KCQlmaXJzdCA9IGZyYWdtZW50LmZpcnN0Q2hpbGQ7DQoNCgkJaWYgKCBmcmFnbWVudC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMSApIHsNCgkJCWZyYWdtZW50ID0gZmlyc3Q7DQoJCX0NCg0KCQkvLyBSZXF1aXJlIGVpdGhlciBuZXcgY29udGVudCBvciBhbiBpbnRlcmVzdCBpbiBpZ25vcmVkIGVsZW1lbnRzIHRvIGludm9rZSB0aGUgY2FsbGJhY2sNCgkJaWYgKCBmaXJzdCB8fCBpZ25vcmVkICkgew0KCQkJc2NyaXB0cyA9IGpRdWVyeS5tYXAoIGdldEFsbCggZnJhZ21lbnQsICJzY3JpcHQiICksIGRpc2FibGVTY3JpcHQgKTsNCgkJCWhhc1NjcmlwdHMgPSBzY3JpcHRzLmxlbmd0aDsNCg0KCQkJLy8gVXNlIHRoZSBvcmlnaW5hbCBmcmFnbWVudCBmb3IgdGhlIGxhc3QgaXRlbQ0KCQkJLy8gaW5zdGVhZCBvZiB0aGUgZmlyc3QgYmVjYXVzZSBpdCBjYW4gZW5kIHVwDQoJCQkvLyBiZWluZyBlbXB0aWVkIGluY29ycmVjdGx5IGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoIzgwNzApLg0KCQkJZm9yICggOyBpIDwgbDsgaSsrICkgew0KCQkJCW5vZGUgPSBmcmFnbWVudDsNCg0KCQkJCWlmICggaSAhPT0gaU5vQ2xvbmUgKSB7DQoJCQkJCW5vZGUgPSBqUXVlcnkuY2xvbmUoIG5vZGUsIHRydWUsIHRydWUgKTsNCg0KCQkJCQkvLyBLZWVwIHJlZmVyZW5jZXMgdG8gY2xvbmVkIHNjcmlwdHMgZm9yIGxhdGVyIHJlc3RvcmF0aW9uDQoJCQkJCWlmICggaGFzU2NyaXB0cyApIHsNCg0KCQkJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5DQoJCQkJCQkvLyBwdXNoLmFwcGx5KF8sIGFycmF5bGlrZSkgdGhyb3dzIG9uIGFuY2llbnQgV2ViS2l0DQoJCQkJCQlqUXVlcnkubWVyZ2UoIHNjcmlwdHMsIGdldEFsbCggbm9kZSwgInNjcmlwdCIgKSApOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJY2FsbGJhY2suY2FsbCggY29sbGVjdGlvblsgaSBdLCBub2RlLCBpICk7DQoJCQl9DQoNCgkJCWlmICggaGFzU2NyaXB0cyApIHsNCgkJCQlkb2MgPSBzY3JpcHRzWyBzY3JpcHRzLmxlbmd0aCAtIDEgXS5vd25lckRvY3VtZW50Ow0KDQoJCQkJLy8gUmVlbmFibGUgc2NyaXB0cw0KCQkJCWpRdWVyeS5tYXAoIHNjcmlwdHMsIHJlc3RvcmVTY3JpcHQgKTsNCg0KCQkJCS8vIEV2YWx1YXRlIGV4ZWN1dGFibGUgc2NyaXB0cyBvbiBmaXJzdCBkb2N1bWVudCBpbnNlcnRpb24NCgkJCQlmb3IgKCBpID0gMDsgaSA8IGhhc1NjcmlwdHM7IGkrKyApIHsNCgkJCQkJbm9kZSA9IHNjcmlwdHNbIGkgXTsNCgkJCQkJaWYgKCByc2NyaXB0VHlwZS50ZXN0KCBub2RlLnR5cGUgfHwgIiIgKSAmJg0KCQkJCQkJIWRhdGFQcml2LmFjY2Vzcyggbm9kZSwgImdsb2JhbEV2YWwiICkgJiYNCgkJCQkJCWpRdWVyeS5jb250YWlucyggZG9jLCBub2RlICkgKSB7DQoNCgkJCQkJCWlmICggbm9kZS5zcmMgKSB7DQoNCgkJCQkJCQkvLyBPcHRpb25hbCBBSkFYIGRlcGVuZGVuY3ksIGJ1dCB3b24ndCBydW4gc2NyaXB0cyBpZiBub3QgcHJlc2VudA0KCQkJCQkJCWlmICggalF1ZXJ5Ll9ldmFsVXJsICkgew0KCQkJCQkJCQlqUXVlcnkuX2V2YWxVcmwoIG5vZGUuc3JjICk7DQoJCQkJCQkJfQ0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlET01FdmFsKCBub2RlLnRleHRDb250ZW50LnJlcGxhY2UoIHJjbGVhblNjcmlwdCwgIiIgKSwgZG9jICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglyZXR1cm4gY29sbGVjdGlvbjsNCn0NCg0KZnVuY3Rpb24gcmVtb3ZlKCBlbGVtLCBzZWxlY3Rvciwga2VlcERhdGEgKSB7DQoJdmFyIG5vZGUsDQoJCW5vZGVzID0gc2VsZWN0b3IgPyBqUXVlcnkuZmlsdGVyKCBzZWxlY3RvciwgZWxlbSApIDogZWxlbSwNCgkJaSA9IDA7DQoNCglmb3IgKCA7ICggbm9kZSA9IG5vZGVzWyBpIF0gKSAhPSBudWxsOyBpKysgKSB7DQoJCWlmICggIWtlZXBEYXRhICYmIG5vZGUubm9kZVR5cGUgPT09IDEgKSB7DQoJCQlqUXVlcnkuY2xlYW5EYXRhKCBnZXRBbGwoIG5vZGUgKSApOw0KCQl9DQoNCgkJaWYgKCBub2RlLnBhcmVudE5vZGUgKSB7DQoJCQlpZiAoIGtlZXBEYXRhICYmIGpRdWVyeS5jb250YWlucyggbm9kZS5vd25lckRvY3VtZW50LCBub2RlICkgKSB7DQoJCQkJc2V0R2xvYmFsRXZhbCggZ2V0QWxsKCBub2RlLCAic2NyaXB0IiApICk7DQoJCQl9DQoJCQlub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIG5vZGUgKTsNCgkJfQ0KCX0NCg0KCXJldHVybiBlbGVtOw0KfQ0KDQpqUXVlcnkuZXh0ZW5kKCB7DQoJaHRtbFByZWZpbHRlcjogZnVuY3Rpb24oIGh0bWwgKSB7DQoJCXJldHVybiBodG1sLnJlcGxhY2UoIHJ4aHRtbFRhZywgIjwkMT48LyQyPiIgKTsNCgl9LA0KDQoJY2xvbmU6IGZ1bmN0aW9uKCBlbGVtLCBkYXRhQW5kRXZlbnRzLCBkZWVwRGF0YUFuZEV2ZW50cyApIHsNCgkJdmFyIGksIGwsIHNyY0VsZW1lbnRzLCBkZXN0RWxlbWVudHMsDQoJCQljbG9uZSA9IGVsZW0uY2xvbmVOb2RlKCB0cnVlICksDQoJCQlpblBhZ2UgPSBqUXVlcnkuY29udGFpbnMoIGVsZW0ub3duZXJEb2N1bWVudCwgZWxlbSApOw0KDQoJCS8vIEZpeCBJRSBjbG9uaW5nIGlzc3Vlcw0KCQlpZiAoICFzdXBwb3J0Lm5vQ2xvbmVDaGVja2VkICYmICggZWxlbS5ub2RlVHlwZSA9PT0gMSB8fCBlbGVtLm5vZGVUeXBlID09PSAxMSApICYmDQoJCQkJIWpRdWVyeS5pc1hNTERvYyggZWxlbSApICkgew0KDQoJCQkvLyBXZSBlc2NoZXcgU2l6emxlIGhlcmUgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnM6IGh0dHBzOi8vanNwZXJmLmNvbS9nZXRhbGwtdnMtc2l6emxlLzINCgkJCWRlc3RFbGVtZW50cyA9IGdldEFsbCggY2xvbmUgKTsNCgkJCXNyY0VsZW1lbnRzID0gZ2V0QWxsKCBlbGVtICk7DQoNCgkJCWZvciAoIGkgPSAwLCBsID0gc3JjRWxlbWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrICkgew0KCQkJCWZpeElucHV0KCBzcmNFbGVtZW50c1sgaSBdLCBkZXN0RWxlbWVudHNbIGkgXSApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gQ29weSB0aGUgZXZlbnRzIGZyb20gdGhlIG9yaWdpbmFsIHRvIHRoZSBjbG9uZQ0KCQlpZiAoIGRhdGFBbmRFdmVudHMgKSB7DQoJCQlpZiAoIGRlZXBEYXRhQW5kRXZlbnRzICkgew0KCQkJCXNyY0VsZW1lbnRzID0gc3JjRWxlbWVudHMgfHwgZ2V0QWxsKCBlbGVtICk7DQoJCQkJZGVzdEVsZW1lbnRzID0gZGVzdEVsZW1lbnRzIHx8IGdldEFsbCggY2xvbmUgKTsNCg0KCQkJCWZvciAoIGkgPSAwLCBsID0gc3JjRWxlbWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrICkgew0KCQkJCQljbG9uZUNvcHlFdmVudCggc3JjRWxlbWVudHNbIGkgXSwgZGVzdEVsZW1lbnRzWyBpIF0gKTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KCQkJCWNsb25lQ29weUV2ZW50KCBlbGVtLCBjbG9uZSApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gUHJlc2VydmUgc2NyaXB0IGV2YWx1YXRpb24gaGlzdG9yeQ0KCQlkZXN0RWxlbWVudHMgPSBnZXRBbGwoIGNsb25lLCAic2NyaXB0IiApOw0KCQlpZiAoIGRlc3RFbGVtZW50cy5sZW5ndGggPiAwICkgew0KCQkJc2V0R2xvYmFsRXZhbCggZGVzdEVsZW1lbnRzLCAhaW5QYWdlICYmIGdldEFsbCggZWxlbSwgInNjcmlwdCIgKSApOw0KCQl9DQoNCgkJLy8gUmV0dXJuIHRoZSBjbG9uZWQgc2V0DQoJCXJldHVybiBjbG9uZTsNCgl9LA0KDQoJY2xlYW5EYXRhOiBmdW5jdGlvbiggZWxlbXMgKSB7DQoJCXZhciBkYXRhLCBlbGVtLCB0eXBlLA0KCQkJc3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsLA0KCQkJaSA9IDA7DQoNCgkJZm9yICggOyAoIGVsZW0gPSBlbGVtc1sgaSBdICkgIT09IHVuZGVmaW5lZDsgaSsrICkgew0KCQkJaWYgKCBhY2NlcHREYXRhKCBlbGVtICkgKSB7DQoJCQkJaWYgKCAoIGRhdGEgPSBlbGVtWyBkYXRhUHJpdi5leHBhbmRvIF0gKSApIHsNCgkJCQkJaWYgKCBkYXRhLmV2ZW50cyApIHsNCgkJCQkJCWZvciAoIHR5cGUgaW4gZGF0YS5ldmVudHMgKSB7DQoJCQkJCQkJaWYgKCBzcGVjaWFsWyB0eXBlIF0gKSB7DQoJCQkJCQkJCWpRdWVyeS5ldmVudC5yZW1vdmUoIGVsZW0sIHR5cGUgKTsNCg0KCQkJCQkJCS8vIFRoaXMgaXMgYSBzaG9ydGN1dCB0byBhdm9pZCBqUXVlcnkuZXZlbnQucmVtb3ZlJ3Mgb3ZlcmhlYWQNCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQlqUXVlcnkucmVtb3ZlRXZlbnQoIGVsZW0sIHR5cGUsIGRhdGEuaGFuZGxlICk7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJLy8gU3VwcG9ydDogQ2hyb21lIDw9MzUgLSA0NSsNCgkJCQkJLy8gQXNzaWduIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIHVzaW5nIGRlbGV0ZSwgc2VlIERhdGEjcmVtb3ZlDQoJCQkJCWVsZW1bIGRhdGFQcml2LmV4cGFuZG8gXSA9IHVuZGVmaW5lZDsNCgkJCQl9DQoJCQkJaWYgKCBlbGVtWyBkYXRhVXNlci5leHBhbmRvIF0gKSB7DQoNCgkJCQkJLy8gU3VwcG9ydDogQ2hyb21lIDw9MzUgLSA0NSsNCgkJCQkJLy8gQXNzaWduIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIHVzaW5nIGRlbGV0ZSwgc2VlIERhdGEjcmVtb3ZlDQoJCQkJCWVsZW1bIGRhdGFVc2VyLmV4cGFuZG8gXSA9IHVuZGVmaW5lZDsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQp9ICk7DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCglkZXRhY2g6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJcmV0dXJuIHJlbW92ZSggdGhpcywgc2VsZWN0b3IsIHRydWUgKTsNCgl9LA0KDQoJcmVtb3ZlOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiByZW1vdmUoIHRoaXMsIHNlbGVjdG9yICk7DQoJfSwNCg0KCXRleHQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIHZhbHVlICkgew0KCQkJcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPw0KCQkJCWpRdWVyeS50ZXh0KCB0aGlzICkgOg0KCQkJCXRoaXMuZW1wdHkoKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkJaWYgKCB0aGlzLm5vZGVUeXBlID09PSAxIHx8IHRoaXMubm9kZVR5cGUgPT09IDExIHx8IHRoaXMubm9kZVR5cGUgPT09IDkgKSB7DQoJCQkJCQl0aGlzLnRleHRDb250ZW50ID0gdmFsdWU7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCX0sIG51bGwsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoICk7DQoJfSwNCg0KCWFwcGVuZDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiBkb21NYW5pcCggdGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsNCgkJCWlmICggdGhpcy5ub2RlVHlwZSA9PT0gMSB8fCB0aGlzLm5vZGVUeXBlID09PSAxMSB8fCB0aGlzLm5vZGVUeXBlID09PSA5ICkgew0KCQkJCXZhciB0YXJnZXQgPSBtYW5pcHVsYXRpb25UYXJnZXQoIHRoaXMsIGVsZW0gKTsNCgkJCQl0YXJnZXQuYXBwZW5kQ2hpbGQoIGVsZW0gKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoNCglwcmVwZW5kOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJaWYgKCB0aGlzLm5vZGVUeXBlID09PSAxIHx8IHRoaXMubm9kZVR5cGUgPT09IDExIHx8IHRoaXMubm9kZVR5cGUgPT09IDkgKSB7DQoJCQkJdmFyIHRhcmdldCA9IG1hbmlwdWxhdGlvblRhcmdldCggdGhpcywgZWxlbSApOw0KCQkJCXRhcmdldC5pbnNlcnRCZWZvcmUoIGVsZW0sIHRhcmdldC5maXJzdENoaWxkICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJYmVmb3JlOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJaWYgKCB0aGlzLnBhcmVudE5vZGUgKSB7DQoJCQkJdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSggZWxlbSwgdGhpcyApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCWFmdGVyOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJaWYgKCB0aGlzLnBhcmVudE5vZGUgKSB7DQoJCQkJdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSggZWxlbSwgdGhpcy5uZXh0U2libGluZyApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCWVtcHR5OiBmdW5jdGlvbigpIHsNCgkJdmFyIGVsZW0sDQoJCQlpID0gMDsNCg0KCQlmb3IgKCA7ICggZWxlbSA9IHRoaXNbIGkgXSApICE9IG51bGw7IGkrKyApIHsNCgkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsNCg0KCQkJCS8vIFByZXZlbnQgbWVtb3J5IGxlYWtzDQoJCQkJalF1ZXJ5LmNsZWFuRGF0YSggZ2V0QWxsKCBlbGVtLCBmYWxzZSApICk7DQoNCgkJCQkvLyBSZW1vdmUgYW55IHJlbWFpbmluZyBub2Rlcw0KCQkJCWVsZW0udGV4dENvbnRlbnQgPSAiIjsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCgljbG9uZTogZnVuY3Rpb24oIGRhdGFBbmRFdmVudHMsIGRlZXBEYXRhQW5kRXZlbnRzICkgew0KCQlkYXRhQW5kRXZlbnRzID0gZGF0YUFuZEV2ZW50cyA9PSBudWxsID8gZmFsc2UgOiBkYXRhQW5kRXZlbnRzOw0KCQlkZWVwRGF0YUFuZEV2ZW50cyA9IGRlZXBEYXRhQW5kRXZlbnRzID09IG51bGwgPyBkYXRhQW5kRXZlbnRzIDogZGVlcERhdGFBbmRFdmVudHM7DQoNCgkJcmV0dXJuIHRoaXMubWFwKCBmdW5jdGlvbigpIHsNCgkJCXJldHVybiBqUXVlcnkuY2xvbmUoIHRoaXMsIGRhdGFBbmRFdmVudHMsIGRlZXBEYXRhQW5kRXZlbnRzICk7DQoJCX0gKTsNCgl9LA0KDQoJaHRtbDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQl2YXIgZWxlbSA9IHRoaXNbIDAgXSB8fCB7fSwNCgkJCQlpID0gMCwNCgkJCQlsID0gdGhpcy5sZW5ndGg7DQoNCgkJCWlmICggdmFsdWUgPT09IHVuZGVmaW5lZCAmJiBlbGVtLm5vZGVUeXBlID09PSAxICkgew0KCQkJCXJldHVybiBlbGVtLmlubmVySFRNTDsNCgkJCX0NCg0KCQkJLy8gU2VlIGlmIHdlIGNhbiB0YWtlIGEgc2hvcnRjdXQgYW5kIGp1c3QgdXNlIGlubmVySFRNTA0KCQkJaWYgKCB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICYmICFybm9Jbm5lcmh0bWwudGVzdCggdmFsdWUgKSAmJg0KCQkJCSF3cmFwTWFwWyAoIHJ0YWdOYW1lLmV4ZWMoIHZhbHVlICkgfHwgWyAiIiwgIiIgXSApWyAxIF0udG9Mb3dlckNhc2UoKSBdICkgew0KDQoJCQkJdmFsdWUgPSBqUXVlcnkuaHRtbFByZWZpbHRlciggdmFsdWUgKTsNCg0KCQkJCXRyeSB7DQoJCQkJCWZvciAoIDsgaSA8IGw7IGkrKyApIHsNCgkJCQkJCWVsZW0gPSB0aGlzWyBpIF0gfHwge307DQoNCgkJCQkJCS8vIFJlbW92ZSBlbGVtZW50IG5vZGVzIGFuZCBwcmV2ZW50IG1lbW9yeSBsZWFrcw0KCQkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICkgew0KCQkJCQkJCWpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggZWxlbSwgZmFsc2UgKSApOw0KCQkJCQkJCWVsZW0uaW5uZXJIVE1MID0gdmFsdWU7DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQllbGVtID0gMDsNCg0KCQkJCS8vIElmIHVzaW5nIGlubmVySFRNTCB0aHJvd3MgYW4gZXhjZXB0aW9uLCB1c2UgdGhlIGZhbGxiYWNrIG1ldGhvZA0KCQkJCX0gY2F0Y2ggKCBlICkge30NCgkJCX0NCg0KCQkJaWYgKCBlbGVtICkgew0KCQkJCXRoaXMuZW1wdHkoKS5hcHBlbmQoIHZhbHVlICk7DQoJCQl9DQoJCX0sIG51bGwsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoICk7DQoJfSwNCg0KCXJlcGxhY2VXaXRoOiBmdW5jdGlvbigpIHsNCgkJdmFyIGlnbm9yZWQgPSBbXTsNCg0KCQkvLyBNYWtlIHRoZSBjaGFuZ2VzLCByZXBsYWNpbmcgZWFjaCBub24taWdub3JlZCBjb250ZXh0IGVsZW1lbnQgd2l0aCB0aGUgbmV3IGNvbnRlbnQNCgkJcmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJdmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTsNCg0KCQkJaWYgKCBqUXVlcnkuaW5BcnJheSggdGhpcywgaWdub3JlZCApIDwgMCApIHsNCgkJCQlqUXVlcnkuY2xlYW5EYXRhKCBnZXRBbGwoIHRoaXMgKSApOw0KCQkJCWlmICggcGFyZW50ICkgew0KCQkJCQlwYXJlbnQucmVwbGFjZUNoaWxkKCBlbGVtLCB0aGlzICk7DQoJCQkJfQ0KCQkJfQ0KDQoJCS8vIEZvcmNlIGNhbGxiYWNrIGludm9jYXRpb24NCgkJfSwgaWdub3JlZCApOw0KCX0NCn0gKTsNCg0KalF1ZXJ5LmVhY2goIHsNCglhcHBlbmRUbzogImFwcGVuZCIsDQoJcHJlcGVuZFRvOiAicHJlcGVuZCIsDQoJaW5zZXJ0QmVmb3JlOiAiYmVmb3JlIiwNCglpbnNlcnRBZnRlcjogImFmdGVyIiwNCglyZXBsYWNlQWxsOiAicmVwbGFjZVdpdGgiDQp9LCBmdW5jdGlvbiggbmFtZSwgb3JpZ2luYWwgKSB7DQoJalF1ZXJ5LmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXZhciBlbGVtcywNCgkJCXJldCA9IFtdLA0KCQkJaW5zZXJ0ID0galF1ZXJ5KCBzZWxlY3RvciApLA0KCQkJbGFzdCA9IGluc2VydC5sZW5ndGggLSAxLA0KCQkJaSA9IDA7DQoNCgkJZm9yICggOyBpIDw9IGxhc3Q7IGkrKyApIHsNCgkJCWVsZW1zID0gaSA9PT0gbGFzdCA_IHRoaXMgOiB0aGlzLmNsb25lKCB0cnVlICk7DQoJCQlqUXVlcnkoIGluc2VydFsgaSBdIClbIG9yaWdpbmFsIF0oIGVsZW1zICk7DQoNCgkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seSwgUGhhbnRvbUpTIDEgb25seQ0KCQkJLy8gLmdldCgpIGJlY2F1c2UgcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdA0KCQkJcHVzaC5hcHBseSggcmV0LCBlbGVtcy5nZXQoKSApOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCByZXQgKTsNCgl9Ow0KfSApOw0KdmFyIHJtYXJnaW4gPSAoIC9ebWFyZ2luLyApOw0KDQp2YXIgcm51bW5vbnB4ID0gbmV3IFJlZ0V4cCggIl4oIiArIHBudW0gKyAiKSg_IXB4KVthLXolXSskIiwgImkiICk7DQoNCnZhciBnZXRTdHlsZXMgPSBmdW5jdGlvbiggZWxlbSApIHsNCg0KCQkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHksIEZpcmVmb3ggPD0zMCAoIzE1MDk4LCAjMTQxNTApDQoJCS8vIElFIHRocm93cyBvbiBlbGVtZW50cyBjcmVhdGVkIGluIHBvcHVwcw0KCQkvLyBGRiBtZWFud2hpbGUgdGhyb3dzIG9uIGZyYW1lIGVsZW1lbnRzIHRocm91Z2ggImRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUiDQoJCXZhciB2aWV3ID0gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Ow0KDQoJCWlmICggIXZpZXcgfHwgIXZpZXcub3BlbmVyICkgew0KCQkJdmlldyA9IHdpbmRvdzsNCgkJfQ0KDQoJCXJldHVybiB2aWV3LmdldENvbXB1dGVkU3R5bGUoIGVsZW0gKTsNCgl9Ow0KDQoNCg0KKCBmdW5jdGlvbigpIHsNCg0KCS8vIEV4ZWN1dGluZyBib3RoIHBpeGVsUG9zaXRpb24gJiBib3hTaXppbmdSZWxpYWJsZSB0ZXN0cyByZXF1aXJlIG9ubHkgb25lIGxheW91dA0KCS8vIHNvIHRoZXkncmUgZXhlY3V0ZWQgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHRoZSBzZWNvbmQgY29tcHV0YXRpb24uDQoJZnVuY3Rpb24gY29tcHV0ZVN0eWxlVGVzdHMoKSB7DQoNCgkJLy8gVGhpcyBpcyBhIHNpbmdsZXRvbiwgd2UgbmVlZCB0byBleGVjdXRlIGl0IG9ubHkgb25jZQ0KCQlpZiAoICFkaXYgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlkaXYuc3R5bGUuY3NzVGV4dCA9DQoJCQkiYm94LXNpemluZzpib3JkZXItYm94OyIgKw0KCQkJInBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7IiArDQoJCQkibWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDsiICsNCgkJCSJ0b3A6MSU7d2lkdGg6NTAlIjsNCgkJZGl2LmlubmVySFRNTCA9ICIiOw0KCQlkb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoIGNvbnRhaW5lciApOw0KDQoJCXZhciBkaXZTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCBkaXYgKTsNCgkJcGl4ZWxQb3NpdGlvblZhbCA9IGRpdlN0eWxlLnRvcCAhPT0gIjElIjsNCg0KCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCAtIDQuMyBvbmx5LCBGaXJlZm94IDw9MyAtIDQ0DQoJCXJlbGlhYmxlTWFyZ2luTGVmdFZhbCA9IGRpdlN0eWxlLm1hcmdpbkxlZnQgPT09ICIycHgiOw0KCQlib3hTaXppbmdSZWxpYWJsZVZhbCA9IGRpdlN0eWxlLndpZHRoID09PSAiNHB4IjsNCg0KCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCAtIDQuMyBvbmx5DQoJCS8vIFNvbWUgc3R5bGVzIGNvbWUgYmFjayB3aXRoIHBlcmNlbnRhZ2UgdmFsdWVzLCBldmVuIHRob3VnaCB0aGV5IHNob3VsZG4ndA0KCQlkaXYuc3R5bGUubWFyZ2luUmlnaHQgPSAiNTAlIjsNCgkJcGl4ZWxNYXJnaW5SaWdodFZhbCA9IGRpdlN0eWxlLm1hcmdpblJpZ2h0ID09PSAiNHB4IjsNCg0KCQlkb2N1bWVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoIGNvbnRhaW5lciApOw0KDQoJCS8vIE51bGxpZnkgdGhlIGRpdiBzbyBpdCB3b3VsZG4ndCBiZSBzdG9yZWQgaW4gdGhlIG1lbW9yeSBhbmQNCgkJLy8gaXQgd2lsbCBhbHNvIGJlIGEgc2lnbiB0aGF0IGNoZWNrcyBhbHJlYWR5IHBlcmZvcm1lZA0KCQlkaXYgPSBudWxsOw0KCX0NCg0KCXZhciBwaXhlbFBvc2l0aW9uVmFsLCBib3hTaXppbmdSZWxpYWJsZVZhbCwgcGl4ZWxNYXJnaW5SaWdodFZhbCwgcmVsaWFibGVNYXJnaW5MZWZ0VmFsLA0KCQljb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiZGl2IiApLA0KCQlkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiZGl2IiApOw0KDQoJLy8gRmluaXNoIGVhcmx5IGluIGxpbWl0ZWQgKG5vbi1icm93c2VyKSBlbnZpcm9ubWVudHMNCglpZiAoICFkaXYuc3R5bGUgKSB7DQoJCXJldHVybjsNCgl9DQoNCgkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5DQoJLy8gU3R5bGUgb2YgY2xvbmVkIGVsZW1lbnQgYWZmZWN0cyBzb3VyY2UgZWxlbWVudCBjbG9uZWQgKCM4OTA4KQ0KCWRpdi5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICJjb250ZW50LWJveCI7DQoJZGl2LmNsb25lTm9kZSggdHJ1ZSApLnN0eWxlLmJhY2tncm91bmRDbGlwID0gIiI7DQoJc3VwcG9ydC5jbGVhckNsb25lU3R5bGUgPSBkaXYuc3R5bGUuYmFja2dyb3VuZENsaXAgPT09ICJjb250ZW50LWJveCI7DQoNCgljb250YWluZXIuc3R5bGUuY3NzVGV4dCA9ICJib3JkZXI6MDt3aWR0aDo4cHg7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4OyIgKw0KCQkicGFkZGluZzowO21hcmdpbi10b3A6MXB4O3Bvc2l0aW9uOmFic29sdXRlIjsNCgljb250YWluZXIuYXBwZW5kQ2hpbGQoIGRpdiApOw0KDQoJalF1ZXJ5LmV4dGVuZCggc3VwcG9ydCwgew0KCQlwaXhlbFBvc2l0aW9uOiBmdW5jdGlvbigpIHsNCgkJCWNvbXB1dGVTdHlsZVRlc3RzKCk7DQoJCQlyZXR1cm4gcGl4ZWxQb3NpdGlvblZhbDsNCgkJfSwNCgkJYm94U2l6aW5nUmVsaWFibGU6IGZ1bmN0aW9uKCkgew0KCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsNCgkJCXJldHVybiBib3hTaXppbmdSZWxpYWJsZVZhbDsNCgkJfSwNCgkJcGl4ZWxNYXJnaW5SaWdodDogZnVuY3Rpb24oKSB7DQoJCQljb21wdXRlU3R5bGVUZXN0cygpOw0KCQkJcmV0dXJuIHBpeGVsTWFyZ2luUmlnaHRWYWw7DQoJCX0sDQoJCXJlbGlhYmxlTWFyZ2luTGVmdDogZnVuY3Rpb24oKSB7DQoJCQljb21wdXRlU3R5bGVUZXN0cygpOw0KCQkJcmV0dXJuIHJlbGlhYmxlTWFyZ2luTGVmdFZhbDsNCgkJfQ0KCX0gKTsNCn0gKSgpOw0KDQoNCmZ1bmN0aW9uIGN1ckNTUyggZWxlbSwgbmFtZSwgY29tcHV0ZWQgKSB7DQoJdmFyIHdpZHRoLCBtaW5XaWR0aCwgbWF4V2lkdGgsIHJldCwNCg0KCQkvLyBTdXBwb3J0OiBGaXJlZm94IDUxKw0KCQkvLyBSZXRyaWV2aW5nIHN0eWxlIGJlZm9yZSBjb21wdXRlZCBzb21laG93DQoJCS8vIGZpeGVzIGFuIGlzc3VlIHdpdGggZ2V0dGluZyB3cm9uZyB2YWx1ZXMNCgkJLy8gb24gZGV0YWNoZWQgZWxlbWVudHMNCgkJc3R5bGUgPSBlbGVtLnN0eWxlOw0KDQoJY29tcHV0ZWQgPSBjb21wdXRlZCB8fCBnZXRTdHlsZXMoIGVsZW0gKTsNCg0KCS8vIGdldFByb3BlcnR5VmFsdWUgaXMgbmVlZGVkIGZvcjoNCgkvLyAgIC5jc3MoJ2ZpbHRlcicpIChJRSA5IG9ubHksICMxMjUzNykNCgkvLyAgIC5jc3MoJy0tY3VzdG9tUHJvcGVydHkpICgjMzE0NCkNCglpZiAoIGNvbXB1dGVkICkgew0KCQlyZXQgPSBjb21wdXRlZC5nZXRQcm9wZXJ0eVZhbHVlKCBuYW1lICkgfHwgY29tcHV0ZWRbIG5hbWUgXTsNCg0KCQlpZiAoIHJldCA9PT0gIiIgJiYgIWpRdWVyeS5jb250YWlucyggZWxlbS5vd25lckRvY3VtZW50LCBlbGVtICkgKSB7DQoJCQlyZXQgPSBqUXVlcnkuc3R5bGUoIGVsZW0sIG5hbWUgKTsNCgkJfQ0KDQoJCS8vIEEgdHJpYnV0ZSB0byB0aGUgImF3ZXNvbWUgaGFjayBieSBEZWFuIEVkd2FyZHMiDQoJCS8vIEFuZHJvaWQgQnJvd3NlciByZXR1cm5zIHBlcmNlbnRhZ2UgZm9yIHNvbWUgdmFsdWVzLA0KCQkvLyBidXQgd2lkdGggc2VlbXMgdG8gYmUgcmVsaWFibHkgcGl4ZWxzLg0KCQkvLyBUaGlzIGlzIGFnYWluc3QgdGhlIENTU09NIGRyYWZ0IHNwZWM6DQoJCS8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS8jcmVzb2x2ZWQtdmFsdWVzDQoJCWlmICggIXN1cHBvcnQucGl4ZWxNYXJnaW5SaWdodCgpICYmIHJudW1ub25weC50ZXN0KCByZXQgKSAmJiBybWFyZ2luLnRlc3QoIG5hbWUgKSApIHsNCg0KCQkJLy8gUmVtZW1iZXIgdGhlIG9yaWdpbmFsIHZhbHVlcw0KCQkJd2lkdGggPSBzdHlsZS53aWR0aDsNCgkJCW1pbldpZHRoID0gc3R5bGUubWluV2lkdGg7DQoJCQltYXhXaWR0aCA9IHN0eWxlLm1heFdpZHRoOw0KDQoJCQkvLyBQdXQgaW4gdGhlIG5ldyB2YWx1ZXMgdG8gZ2V0IGEgY29tcHV0ZWQgdmFsdWUgb3V0DQoJCQlzdHlsZS5taW5XaWR0aCA9IHN0eWxlLm1heFdpZHRoID0gc3R5bGUud2lkdGggPSByZXQ7DQoJCQlyZXQgPSBjb21wdXRlZC53aWR0aDsNCg0KCQkJLy8gUmV2ZXJ0IHRoZSBjaGFuZ2VkIHZhbHVlcw0KCQkJc3R5bGUud2lkdGggPSB3aWR0aDsNCgkJCXN0eWxlLm1pbldpZHRoID0gbWluV2lkdGg7DQoJCQlzdHlsZS5tYXhXaWR0aCA9IG1heFdpZHRoOw0KCQl9DQoJfQ0KDQoJcmV0dXJuIHJldCAhPT0gdW5kZWZpbmVkID8NCg0KCQkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5DQoJCS8vIElFIHJldHVybnMgekluZGV4IHZhbHVlIGFzIGFuIGludGVnZXIuDQoJCXJldCArICIiIDoNCgkJcmV0Ow0KfQ0KDQoNCmZ1bmN0aW9uIGFkZEdldEhvb2tJZiggY29uZGl0aW9uRm4sIGhvb2tGbiApIHsNCg0KCS8vIERlZmluZSB0aGUgaG9vaywgd2UnbGwgY2hlY2sgb24gdGhlIGZpcnN0IHJ1biBpZiBpdCdzIHJlYWxseSBuZWVkZWQuDQoJcmV0dXJuIHsNCgkJZ2V0OiBmdW5jdGlvbigpIHsNCgkJCWlmICggY29uZGl0aW9uRm4oKSApIHsNCg0KCQkJCS8vIEhvb2sgbm90IG5lZWRlZCAob3IgaXQncyBub3QgcG9zc2libGUgdG8gdXNlIGl0IGR1ZQ0KCQkJCS8vIHRvIG1pc3NpbmcgZGVwZW5kZW5jeSksIHJlbW92ZSBpdC4NCgkJCQlkZWxldGUgdGhpcy5nZXQ7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBIb29rIG5lZWRlZDsgcmVkZWZpbmUgaXQgc28gdGhhdCB0aGUgc3VwcG9ydCB0ZXN0IGlzIG5vdCBleGVjdXRlZCBhZ2Fpbi4NCgkJCXJldHVybiAoIHRoaXMuZ2V0ID0gaG9va0ZuICkuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQl9DQoJfTsNCn0NCg0KDQp2YXINCg0KCS8vIFN3YXBwYWJsZSBpZiBkaXNwbGF5IGlzIG5vbmUgb3Igc3RhcnRzIHdpdGggdGFibGUNCgkvLyBleGNlcHQgInRhYmxlIiwgInRhYmxlLWNlbGwiLCBvciAidGFibGUtY2FwdGlvbiINCgkvLyBTZWUgaGVyZSBmb3IgZGlzcGxheSB2YWx1ZXM6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvQ1NTL2Rpc3BsYXkNCglyZGlzcGxheXN3YXAgPSAvXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sDQoJcmN1c3RvbVByb3AgPSAvXi0tLywNCgljc3NTaG93ID0geyBwb3NpdGlvbjogImFic29sdXRlIiwgdmlzaWJpbGl0eTogImhpZGRlbiIsIGRpc3BsYXk6ICJibG9jayIgfSwNCgljc3NOb3JtYWxUcmFuc2Zvcm0gPSB7DQoJCWxldHRlclNwYWNpbmc6ICIwIiwNCgkJZm9udFdlaWdodDogIjQwMCINCgl9LA0KDQoJY3NzUHJlZml4ZXMgPSBbICJXZWJraXQiLCAiTW96IiwgIm1zIiBdLA0KCWVtcHR5U3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiZGl2IiApLnN0eWxlOw0KDQovLyBSZXR1cm4gYSBjc3MgcHJvcGVydHkgbWFwcGVkIHRvIGEgcG90ZW50aWFsbHkgdmVuZG9yIHByZWZpeGVkIHByb3BlcnR5DQpmdW5jdGlvbiB2ZW5kb3JQcm9wTmFtZSggbmFtZSApIHsNCg0KCS8vIFNob3J0Y3V0IGZvciBuYW1lcyB0aGF0IGFyZSBub3QgdmVuZG9yIHByZWZpeGVkDQoJaWYgKCBuYW1lIGluIGVtcHR5U3R5bGUgKSB7DQoJCXJldHVybiBuYW1lOw0KCX0NCg0KCS8vIENoZWNrIGZvciB2ZW5kb3IgcHJlZml4ZWQgbmFtZXMNCgl2YXIgY2FwTmFtZSA9IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpICsgbmFtZS5zbGljZSggMSApLA0KCQlpID0gY3NzUHJlZml4ZXMubGVuZ3RoOw0KDQoJd2hpbGUgKCBpLS0gKSB7DQoJCW5hbWUgPSBjc3NQcmVmaXhlc1sgaSBdICsgY2FwTmFtZTsNCgkJaWYgKCBuYW1lIGluIGVtcHR5U3R5bGUgKSB7DQoJCQlyZXR1cm4gbmFtZTsNCgkJfQ0KCX0NCn0NCg0KLy8gUmV0dXJuIGEgcHJvcGVydHkgbWFwcGVkIGFsb25nIHdoYXQgalF1ZXJ5LmNzc1Byb3BzIHN1Z2dlc3RzIG9yIHRvDQovLyBhIHZlbmRvciBwcmVmaXhlZCBwcm9wZXJ0eS4NCmZ1bmN0aW9uIGZpbmFsUHJvcE5hbWUoIG5hbWUgKSB7DQoJdmFyIHJldCA9IGpRdWVyeS5jc3NQcm9wc1sgbmFtZSBdOw0KCWlmICggIXJldCApIHsNCgkJcmV0ID0galF1ZXJ5LmNzc1Byb3BzWyBuYW1lIF0gPSB2ZW5kb3JQcm9wTmFtZSggbmFtZSApIHx8IG5hbWU7DQoJfQ0KCXJldHVybiByZXQ7DQp9DQoNCmZ1bmN0aW9uIHNldFBvc2l0aXZlTnVtYmVyKCBlbGVtLCB2YWx1ZSwgc3VidHJhY3QgKSB7DQoNCgkvLyBBbnkgcmVsYXRpdmUgKCsvLSkgdmFsdWVzIGhhdmUgYWxyZWFkeSBiZWVuDQoJLy8gbm9ybWFsaXplZCBhdCB0aGlzIHBvaW50DQoJdmFyIG1hdGNoZXMgPSByY3NzTnVtLmV4ZWMoIHZhbHVlICk7DQoJcmV0dXJuIG1hdGNoZXMgPw0KDQoJCS8vIEd1YXJkIGFnYWluc3QgdW5kZWZpbmVkICJzdWJ0cmFjdCIsIGUuZy4sIHdoZW4gdXNlZCBhcyBpbiBjc3NIb29rcw0KCQlNYXRoLm1heCggMCwgbWF0Y2hlc1sgMiBdIC0gKCBzdWJ0cmFjdCB8fCAwICkgKSArICggbWF0Y2hlc1sgMyBdIHx8ICJweCIgKSA6DQoJCXZhbHVlOw0KfQ0KDQpmdW5jdGlvbiBhdWdtZW50V2lkdGhPckhlaWdodCggZWxlbSwgbmFtZSwgZXh0cmEsIGlzQm9yZGVyQm94LCBzdHlsZXMgKSB7DQoJdmFyIGksDQoJCXZhbCA9IDA7DQoNCgkvLyBJZiB3ZSBhbHJlYWR5IGhhdmUgdGhlIHJpZ2h0IG1lYXN1cmVtZW50LCBhdm9pZCBhdWdtZW50YXRpb24NCglpZiAoIGV4dHJhID09PSAoIGlzQm9yZGVyQm94ID8gImJvcmRlciIgOiAiY29udGVudCIgKSApIHsNCgkJaSA9IDQ7DQoNCgkvLyBPdGhlcndpc2UgaW5pdGlhbGl6ZSBmb3IgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBwcm9wZXJ0aWVzDQoJfSBlbHNlIHsNCgkJaSA9IG5hbWUgPT09ICJ3aWR0aCIgPyAxIDogMDsNCgl9DQoNCglmb3IgKCA7IGkgPCA0OyBpICs9IDIgKSB7DQoNCgkJLy8gQm90aCBib3ggbW9kZWxzIGV4Y2x1ZGUgbWFyZ2luLCBzbyBhZGQgaXQgaWYgd2Ugd2FudCBpdA0KCQlpZiAoIGV4dHJhID09PSAibWFyZ2luIiApIHsNCgkJCXZhbCArPSBqUXVlcnkuY3NzKCBlbGVtLCBleHRyYSArIGNzc0V4cGFuZFsgaSBdLCB0cnVlLCBzdHlsZXMgKTsNCgkJfQ0KDQoJCWlmICggaXNCb3JkZXJCb3ggKSB7DQoNCgkJCS8vIGJvcmRlci1ib3ggaW5jbHVkZXMgcGFkZGluZywgc28gcmVtb3ZlIGl0IGlmIHdlIHdhbnQgY29udGVudA0KCQkJaWYgKCBleHRyYSA9PT0gImNvbnRlbnQiICkgew0KCQkJCXZhbCAtPSBqUXVlcnkuY3NzKCBlbGVtLCAicGFkZGluZyIgKyBjc3NFeHBhbmRbIGkgXSwgdHJ1ZSwgc3R5bGVzICk7DQoJCQl9DQoNCgkJCS8vIEF0IHRoaXMgcG9pbnQsIGV4dHJhIGlzbid0IGJvcmRlciBub3IgbWFyZ2luLCBzbyByZW1vdmUgYm9yZGVyDQoJCQlpZiAoIGV4dHJhICE9PSAibWFyZ2luIiApIHsNCgkJCQl2YWwgLT0galF1ZXJ5LmNzcyggZWxlbSwgImJvcmRlciIgKyBjc3NFeHBhbmRbIGkgXSArICJXaWR0aCIsIHRydWUsIHN0eWxlcyApOw0KCQkJfQ0KCQl9IGVsc2Ugew0KDQoJCQkvLyBBdCB0aGlzIHBvaW50LCBleHRyYSBpc24ndCBjb250ZW50LCBzbyBhZGQgcGFkZGluZw0KCQkJdmFsICs9IGpRdWVyeS5jc3MoIGVsZW0sICJwYWRkaW5nIiArIGNzc0V4cGFuZFsgaSBdLCB0cnVlLCBzdHlsZXMgKTsNCg0KCQkJLy8gQXQgdGhpcyBwb2ludCwgZXh0cmEgaXNuJ3QgY29udGVudCBub3IgcGFkZGluZywgc28gYWRkIGJvcmRlcg0KCQkJaWYgKCBleHRyYSAhPT0gInBhZGRpbmciICkgew0KCQkJCXZhbCArPSBqUXVlcnkuY3NzKCBlbGVtLCAiYm9yZGVyIiArIGNzc0V4cGFuZFsgaSBdICsgIldpZHRoIiwgdHJ1ZSwgc3R5bGVzICk7DQoJCQl9DQoJCX0NCgl9DQoNCglyZXR1cm4gdmFsOw0KfQ0KDQpmdW5jdGlvbiBnZXRXaWR0aE9ySGVpZ2h0KCBlbGVtLCBuYW1lLCBleHRyYSApIHsNCg0KCS8vIFN0YXJ0IHdpdGggY29tcHV0ZWQgc3R5bGUNCgl2YXIgdmFsdWVJc0JvcmRlckJveCwNCgkJc3R5bGVzID0gZ2V0U3R5bGVzKCBlbGVtICksDQoJCXZhbCA9IGN1ckNTUyggZWxlbSwgbmFtZSwgc3R5bGVzICksDQoJCWlzQm9yZGVyQm94ID0galF1ZXJ5LmNzcyggZWxlbSwgImJveFNpemluZyIsIGZhbHNlLCBzdHlsZXMgKSA9PT0gImJvcmRlci1ib3giOw0KDQoJLy8gQ29tcHV0ZWQgdW5pdCBpcyBub3QgcGl4ZWxzLiBTdG9wIGhlcmUgYW5kIHJldHVybi4NCglpZiAoIHJudW1ub25weC50ZXN0KCB2YWwgKSApIHsNCgkJcmV0dXJuIHZhbDsNCgl9DQoNCgkvLyBDaGVjayBmb3Igc3R5bGUgaW4gY2FzZSBhIGJyb3dzZXIgd2hpY2ggcmV0dXJucyB1bnJlbGlhYmxlIHZhbHVlcw0KCS8vIGZvciBnZXRDb21wdXRlZFN0eWxlIHNpbGVudGx5IGZhbGxzIGJhY2sgdG8gdGhlIHJlbGlhYmxlIGVsZW0uc3R5bGUNCgl2YWx1ZUlzQm9yZGVyQm94ID0gaXNCb3JkZXJCb3ggJiYNCgkJKCBzdXBwb3J0LmJveFNpemluZ1JlbGlhYmxlKCkgfHwgdmFsID09PSBlbGVtLnN0eWxlWyBuYW1lIF0gKTsNCg0KCS8vIEZhbGwgYmFjayB0byBvZmZzZXRXaWR0aC9IZWlnaHQgd2hlbiB2YWx1ZSBpcyAiYXV0byINCgkvLyBUaGlzIGhhcHBlbnMgZm9yIGlubGluZSBlbGVtZW50cyB3aXRoIG5vIGV4cGxpY2l0IHNldHRpbmcgKGdoLTM1NzEpDQoJaWYgKCB2YWwgPT09ICJhdXRvIiApIHsNCgkJdmFsID0gZWxlbVsgIm9mZnNldCIgKyBuYW1lWyAwIF0udG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoIDEgKSBdOw0KCX0NCg0KCS8vIE5vcm1hbGl6ZSAiIiwgYXV0bywgYW5kIHByZXBhcmUgZm9yIGV4dHJhDQoJdmFsID0gcGFyc2VGbG9hdCggdmFsICkgfHwgMDsNCg0KCS8vIFVzZSB0aGUgYWN0aXZlIGJveC1zaXppbmcgbW9kZWwgdG8gYWRkL3N1YnRyYWN0IGlycmVsZXZhbnQgc3R5bGVzDQoJcmV0dXJuICggdmFsICsNCgkJYXVnbWVudFdpZHRoT3JIZWlnaHQoDQoJCQllbGVtLA0KCQkJbmFtZSwNCgkJCWV4dHJhIHx8ICggaXNCb3JkZXJCb3ggPyAiYm9yZGVyIiA6ICJjb250ZW50IiApLA0KCQkJdmFsdWVJc0JvcmRlckJveCwNCgkJCXN0eWxlcw0KCQkpDQoJKSArICJweCI7DQp9DQoNCmpRdWVyeS5leHRlbmQoIHsNCg0KCS8vIEFkZCBpbiBzdHlsZSBwcm9wZXJ0eSBob29rcyBmb3Igb3ZlcnJpZGluZyB0aGUgZGVmYXVsdA0KCS8vIGJlaGF2aW9yIG9mIGdldHRpbmcgYW5kIHNldHRpbmcgYSBzdHlsZSBwcm9wZXJ0eQ0KCWNzc0hvb2tzOiB7DQoJCW9wYWNpdHk6IHsNCgkJCWdldDogZnVuY3Rpb24oIGVsZW0sIGNvbXB1dGVkICkgew0KCQkJCWlmICggY29tcHV0ZWQgKSB7DQoNCgkJCQkJLy8gV2Ugc2hvdWxkIGFsd2F5cyBnZXQgYSBudW1iZXIgYmFjayBmcm9tIG9wYWNpdHkNCgkJCQkJdmFyIHJldCA9IGN1ckNTUyggZWxlbSwgIm9wYWNpdHkiICk7DQoJCQkJCXJldHVybiByZXQgPT09ICIiID8gIjEiIDogcmV0Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0sDQoNCgkvLyBEb24ndCBhdXRvbWF0aWNhbGx5IGFkZCAicHgiIHRvIHRoZXNlIHBvc3NpYmx5LXVuaXRsZXNzIHByb3BlcnRpZXMNCgljc3NOdW1iZXI6IHsNCgkJImFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IjogdHJ1ZSwNCgkJImNvbHVtbkNvdW50IjogdHJ1ZSwNCgkJImZpbGxPcGFjaXR5IjogdHJ1ZSwNCgkJImZsZXhHcm93IjogdHJ1ZSwNCgkJImZsZXhTaHJpbmsiOiB0cnVlLA0KCQkiZm9udFdlaWdodCI6IHRydWUsDQoJCSJsaW5lSGVpZ2h0IjogdHJ1ZSwNCgkJIm9wYWNpdHkiOiB0cnVlLA0KCQkib3JkZXIiOiB0cnVlLA0KCQkib3JwaGFucyI6IHRydWUsDQoJCSJ3aWRvd3MiOiB0cnVlLA0KCQkiekluZGV4IjogdHJ1ZSwNCgkJInpvb20iOiB0cnVlDQoJfSwNCg0KCS8vIEFkZCBpbiBwcm9wZXJ0aWVzIHdob3NlIG5hbWVzIHlvdSB3aXNoIHRvIGZpeCBiZWZvcmUNCgkvLyBzZXR0aW5nIG9yIGdldHRpbmcgdGhlIHZhbHVlDQoJY3NzUHJvcHM6IHsNCgkJImZsb2F0IjogImNzc0Zsb2F0Ig0KCX0sDQoNCgkvLyBHZXQgYW5kIHNldCB0aGUgc3R5bGUgcHJvcGVydHkgb24gYSBET00gTm9kZQ0KCXN0eWxlOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUsIGV4dHJhICkgew0KDQoJCS8vIERvbid0IHNldCBzdHlsZXMgb24gdGV4dCBhbmQgY29tbWVudCBub2Rlcw0KCQlpZiAoICFlbGVtIHx8IGVsZW0ubm9kZVR5cGUgPT09IDMgfHwgZWxlbS5ub2RlVHlwZSA9PT0gOCB8fCAhZWxlbS5zdHlsZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIE1ha2Ugc3VyZSB0aGF0IHdlJ3JlIHdvcmtpbmcgd2l0aCB0aGUgcmlnaHQgbmFtZQ0KCQl2YXIgcmV0LCB0eXBlLCBob29rcywNCgkJCW9yaWdOYW1lID0galF1ZXJ5LmNhbWVsQ2FzZSggbmFtZSApLA0KCQkJaXNDdXN0b21Qcm9wID0gcmN1c3RvbVByb3AudGVzdCggbmFtZSApLA0KCQkJc3R5bGUgPSBlbGVtLnN0eWxlOw0KDQoJCS8vIE1ha2Ugc3VyZSB0aGF0IHdlJ3JlIHdvcmtpbmcgd2l0aCB0aGUgcmlnaHQgbmFtZS4gV2UgZG9uJ3QNCgkJLy8gd2FudCB0byBxdWVyeSB0aGUgdmFsdWUgaWYgaXQgaXMgYSBDU1MgY3VzdG9tIHByb3BlcnR5DQoJCS8vIHNpbmNlIHRoZXkgYXJlIHVzZXItZGVmaW5lZC4NCgkJaWYgKCAhaXNDdXN0b21Qcm9wICkgew0KCQkJbmFtZSA9IGZpbmFsUHJvcE5hbWUoIG9yaWdOYW1lICk7DQoJCX0NCg0KCQkvLyBHZXRzIGhvb2sgZm9yIHRoZSBwcmVmaXhlZCB2ZXJzaW9uLCB0aGVuIHVucHJlZml4ZWQgdmVyc2lvbg0KCQlob29rcyA9IGpRdWVyeS5jc3NIb29rc1sgbmFtZSBdIHx8IGpRdWVyeS5jc3NIb29rc1sgb3JpZ05hbWUgXTsNCg0KCQkvLyBDaGVjayBpZiB3ZSdyZSBzZXR0aW5nIGEgdmFsdWUNCgkJaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICkgew0KCQkJdHlwZSA9IHR5cGVvZiB2YWx1ZTsNCg0KCQkJLy8gQ29udmVydCAiKz0iIG9yICItPSIgdG8gcmVsYXRpdmUgbnVtYmVycyAoIzczNDUpDQoJCQlpZiAoIHR5cGUgPT09ICJzdHJpbmciICYmICggcmV0ID0gcmNzc051bS5leGVjKCB2YWx1ZSApICkgJiYgcmV0WyAxIF0gKSB7DQoJCQkJdmFsdWUgPSBhZGp1c3RDU1MoIGVsZW0sIG5hbWUsIHJldCApOw0KDQoJCQkJLy8gRml4ZXMgYnVnICM5MjM3DQoJCQkJdHlwZSA9ICJudW1iZXIiOw0KCQkJfQ0KDQoJCQkvLyBNYWtlIHN1cmUgdGhhdCBudWxsIGFuZCBOYU4gdmFsdWVzIGFyZW4ndCBzZXQgKCM3MTE2KQ0KCQkJaWYgKCB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlICE9PSB2YWx1ZSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCS8vIElmIGEgbnVtYmVyIHdhcyBwYXNzZWQgaW4sIGFkZCB0aGUgdW5pdCAoZXhjZXB0IGZvciBjZXJ0YWluIENTUyBwcm9wZXJ0aWVzKQ0KCQkJaWYgKCB0eXBlID09PSAibnVtYmVyIiApIHsNCgkJCQl2YWx1ZSArPSByZXQgJiYgcmV0WyAzIF0gfHwgKCBqUXVlcnkuY3NzTnVtYmVyWyBvcmlnTmFtZSBdID8gIiIgOiAicHgiICk7DQoJCQl9DQoNCgkJCS8vIGJhY2tncm91bmQtKiBwcm9wcyBhZmZlY3Qgb3JpZ2luYWwgY2xvbmUncyB2YWx1ZXMNCgkJCWlmICggIXN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlICYmIHZhbHVlID09PSAiIiAmJiBuYW1lLmluZGV4T2YoICJiYWNrZ3JvdW5kIiApID09PSAwICkgew0KCQkJCXN0eWxlWyBuYW1lIF0gPSAiaW5oZXJpdCI7DQoJCQl9DQoNCgkJCS8vIElmIGEgaG9vayB3YXMgcHJvdmlkZWQsIHVzZSB0aGF0IHZhbHVlLCBvdGhlcndpc2UganVzdCBzZXQgdGhlIHNwZWNpZmllZCB2YWx1ZQ0KCQkJaWYgKCAhaG9va3MgfHwgISggInNldCIgaW4gaG9va3MgKSB8fA0KCQkJCSggdmFsdWUgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBleHRyYSApICkgIT09IHVuZGVmaW5lZCApIHsNCg0KCQkJCWlmICggaXNDdXN0b21Qcm9wICkgew0KCQkJCQlzdHlsZS5zZXRQcm9wZXJ0eSggbmFtZSwgdmFsdWUgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlzdHlsZVsgbmFtZSBdID0gdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KDQoJCX0gZWxzZSB7DQoNCgkJCS8vIElmIGEgaG9vayB3YXMgcHJvdmlkZWQgZ2V0IHRoZSBub24tY29tcHV0ZWQgdmFsdWUgZnJvbSB0aGVyZQ0KCQkJaWYgKCBob29rcyAmJiAiZ2V0IiBpbiBob29rcyAmJg0KCQkJCSggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCBmYWxzZSwgZXh0cmEgKSApICE9PSB1bmRlZmluZWQgKSB7DQoNCgkJCQlyZXR1cm4gcmV0Ow0KCQkJfQ0KDQoJCQkvLyBPdGhlcndpc2UganVzdCBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIHN0eWxlIG9iamVjdA0KCQkJcmV0dXJuIHN0eWxlWyBuYW1lIF07DQoJCX0NCgl9LA0KDQoJY3NzOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgZXh0cmEsIHN0eWxlcyApIHsNCgkJdmFyIHZhbCwgbnVtLCBob29rcywNCgkJCW9yaWdOYW1lID0galF1ZXJ5LmNhbWVsQ2FzZSggbmFtZSApLA0KCQkJaXNDdXN0b21Qcm9wID0gcmN1c3RvbVByb3AudGVzdCggbmFtZSApOw0KDQoJCS8vIE1ha2Ugc3VyZSB0aGF0IHdlJ3JlIHdvcmtpbmcgd2l0aCB0aGUgcmlnaHQgbmFtZS4gV2UgZG9uJ3QNCgkJLy8gd2FudCB0byBtb2RpZnkgdGhlIHZhbHVlIGlmIGl0IGlzIGEgQ1NTIGN1c3RvbSBwcm9wZXJ0eQ0KCQkvLyBzaW5jZSB0aGV5IGFyZSB1c2VyLWRlZmluZWQuDQoJCWlmICggIWlzQ3VzdG9tUHJvcCApIHsNCgkJCW5hbWUgPSBmaW5hbFByb3BOYW1lKCBvcmlnTmFtZSApOw0KCQl9DQoNCgkJLy8gVHJ5IHByZWZpeGVkIG5hbWUgZm9sbG93ZWQgYnkgdGhlIHVucHJlZml4ZWQgbmFtZQ0KCQlob29rcyA9IGpRdWVyeS5jc3NIb29rc1sgbmFtZSBdIHx8IGpRdWVyeS5jc3NIb29rc1sgb3JpZ05hbWUgXTsNCg0KCQkvLyBJZiBhIGhvb2sgd2FzIHByb3ZpZGVkIGdldCB0aGUgY29tcHV0ZWQgdmFsdWUgZnJvbSB0aGVyZQ0KCQlpZiAoIGhvb2tzICYmICJnZXQiIGluIGhvb2tzICkgew0KCQkJdmFsID0gaG9va3MuZ2V0KCBlbGVtLCB0cnVlLCBleHRyYSApOw0KCQl9DQoNCgkJLy8gT3RoZXJ3aXNlLCBpZiBhIHdheSB0byBnZXQgdGhlIGNvbXB1dGVkIHZhbHVlIGV4aXN0cywgdXNlIHRoYXQNCgkJaWYgKCB2YWwgPT09IHVuZGVmaW5lZCApIHsNCgkJCXZhbCA9IGN1ckNTUyggZWxlbSwgbmFtZSwgc3R5bGVzICk7DQoJCX0NCg0KCQkvLyBDb252ZXJ0ICJub3JtYWwiIHRvIGNvbXB1dGVkIHZhbHVlDQoJCWlmICggdmFsID09PSAibm9ybWFsIiAmJiBuYW1lIGluIGNzc05vcm1hbFRyYW5zZm9ybSApIHsNCgkJCXZhbCA9IGNzc05vcm1hbFRyYW5zZm9ybVsgbmFtZSBdOw0KCQl9DQoNCgkJLy8gTWFrZSBudW1lcmljIGlmIGZvcmNlZCBvciBhIHF1YWxpZmllciB3YXMgcHJvdmlkZWQgYW5kIHZhbCBsb29rcyBudW1lcmljDQoJCWlmICggZXh0cmEgPT09ICIiIHx8IGV4dHJhICkgew0KCQkJbnVtID0gcGFyc2VGbG9hdCggdmFsICk7DQoJCQlyZXR1cm4gZXh0cmEgPT09IHRydWUgfHwgaXNGaW5pdGUoIG51bSApID8gbnVtIHx8IDAgOiB2YWw7DQoJCX0NCg0KCQlyZXR1cm4gdmFsOw0KCX0NCn0gKTsNCg0KalF1ZXJ5LmVhY2goIFsgImhlaWdodCIsICJ3aWR0aCIgXSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7DQoJalF1ZXJ5LmNzc0hvb2tzWyBuYW1lIF0gPSB7DQoJCWdldDogZnVuY3Rpb24oIGVsZW0sIGNvbXB1dGVkLCBleHRyYSApIHsNCgkJCWlmICggY29tcHV0ZWQgKSB7DQoNCgkJCQkvLyBDZXJ0YWluIGVsZW1lbnRzIGNhbiBoYXZlIGRpbWVuc2lvbiBpbmZvIGlmIHdlIGludmlzaWJseSBzaG93IHRoZW0NCgkJCQkvLyBidXQgaXQgbXVzdCBoYXZlIGEgY3VycmVudCBkaXNwbGF5IHN0eWxlIHRoYXQgd291bGQgYmVuZWZpdA0KCQkJCXJldHVybiByZGlzcGxheXN3YXAudGVzdCggalF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICkgKSAmJg0KDQoJCQkJCS8vIFN1cHBvcnQ6IFNhZmFyaSA4Kw0KCQkJCQkvLyBUYWJsZSBjb2x1bW5zIGluIFNhZmFyaSBoYXZlIG5vbi16ZXJvIG9mZnNldFdpZHRoICYgemVybw0KCQkJCQkvLyBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCB1bmxlc3MgZGlzcGxheSBpcyBjaGFuZ2VkLg0KCQkJCQkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkNCgkJCQkJLy8gUnVubmluZyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qgb24gYSBkaXNjb25uZWN0ZWQgbm9kZQ0KCQkJCQkvLyBpbiBJRSB0aHJvd3MgYW4gZXJyb3IuDQoJCQkJCSggIWVsZW0uZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggfHwgIWVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKSA_DQoJCQkJCQlzd2FwKCBlbGVtLCBjc3NTaG93LCBmdW5jdGlvbigpIHsNCgkJCQkJCQlyZXR1cm4gZ2V0V2lkdGhPckhlaWdodCggZWxlbSwgbmFtZSwgZXh0cmEgKTsNCgkJCQkJCX0gKSA6DQoJCQkJCQlnZXRXaWR0aE9ySGVpZ2h0KCBlbGVtLCBuYW1lLCBleHRyYSApOw0KCQkJfQ0KCQl9LA0KDQoJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlLCBleHRyYSApIHsNCgkJCXZhciBtYXRjaGVzLA0KCQkJCXN0eWxlcyA9IGV4dHJhICYmIGdldFN0eWxlcyggZWxlbSApLA0KCQkJCXN1YnRyYWN0ID0gZXh0cmEgJiYgYXVnbWVudFdpZHRoT3JIZWlnaHQoDQoJCQkJCWVsZW0sDQoJCQkJCW5hbWUsDQoJCQkJCWV4dHJhLA0KCQkJCQlqUXVlcnkuY3NzKCBlbGVtLCAiYm94U2l6aW5nIiwgZmFsc2UsIHN0eWxlcyApID09PSAiYm9yZGVyLWJveCIsDQoJCQkJCXN0eWxlcw0KCQkJCSk7DQoNCgkJCS8vIENvbnZlcnQgdG8gcGl4ZWxzIGlmIHZhbHVlIGFkanVzdG1lbnQgaXMgbmVlZGVkDQoJCQlpZiAoIHN1YnRyYWN0ICYmICggbWF0Y2hlcyA9IHJjc3NOdW0uZXhlYyggdmFsdWUgKSApICYmDQoJCQkJKCBtYXRjaGVzWyAzIF0gfHwgInB4IiApICE9PSAicHgiICkgew0KDQoJCQkJZWxlbS5zdHlsZVsgbmFtZSBdID0gdmFsdWU7DQoJCQkJdmFsdWUgPSBqUXVlcnkuY3NzKCBlbGVtLCBuYW1lICk7DQoJCQl9DQoNCgkJCXJldHVybiBzZXRQb3NpdGl2ZU51bWJlciggZWxlbSwgdmFsdWUsIHN1YnRyYWN0ICk7DQoJCX0NCgl9Ow0KfSApOw0KDQpqUXVlcnkuY3NzSG9va3MubWFyZ2luTGVmdCA9IGFkZEdldEhvb2tJZiggc3VwcG9ydC5yZWxpYWJsZU1hcmdpbkxlZnQsDQoJZnVuY3Rpb24oIGVsZW0sIGNvbXB1dGVkICkgew0KCQlpZiAoIGNvbXB1dGVkICkgew0KCQkJcmV0dXJuICggcGFyc2VGbG9hdCggY3VyQ1NTKCBlbGVtLCAibWFyZ2luTGVmdCIgKSApIHx8DQoJCQkJZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC0NCgkJCQkJc3dhcCggZWxlbSwgeyBtYXJnaW5MZWZ0OiAwIH0sIGZ1bmN0aW9uKCkgew0KCQkJCQkJcmV0dXJuIGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDsNCgkJCQkJfSApDQoJCQkJKSArICJweCI7DQoJCX0NCgl9DQopOw0KDQovLyBUaGVzZSBob29rcyBhcmUgdXNlZCBieSBhbmltYXRlIHRvIGV4cGFuZCBwcm9wZXJ0aWVzDQpqUXVlcnkuZWFjaCggew0KCW1hcmdpbjogIiIsDQoJcGFkZGluZzogIiIsDQoJYm9yZGVyOiAiV2lkdGgiDQp9LCBmdW5jdGlvbiggcHJlZml4LCBzdWZmaXggKSB7DQoJalF1ZXJ5LmNzc0hvb2tzWyBwcmVmaXggKyBzdWZmaXggXSA9IHsNCgkJZXhwYW5kOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCQl2YXIgaSA9IDAsDQoJCQkJZXhwYW5kZWQgPSB7fSwNCg0KCQkJCS8vIEFzc3VtZXMgYSBzaW5nbGUgbnVtYmVyIGlmIG5vdCBhIHN0cmluZw0KCQkJCXBhcnRzID0gdHlwZW9mIHZhbHVlID09PSAic3RyaW5nIiA_IHZhbHVlLnNwbGl0KCAiICIgKSA6IFsgdmFsdWUgXTsNCg0KCQkJZm9yICggOyBpIDwgNDsgaSsrICkgew0KCQkJCWV4cGFuZGVkWyBwcmVmaXggKyBjc3NFeHBhbmRbIGkgXSArIHN1ZmZpeCBdID0NCgkJCQkJcGFydHNbIGkgXSB8fCBwYXJ0c1sgaSAtIDIgXSB8fCBwYXJ0c1sgMCBdOw0KCQkJfQ0KDQoJCQlyZXR1cm4gZXhwYW5kZWQ7DQoJCX0NCgl9Ow0KDQoJaWYgKCAhcm1hcmdpbi50ZXN0KCBwcmVmaXggKSApIHsNCgkJalF1ZXJ5LmNzc0hvb2tzWyBwcmVmaXggKyBzdWZmaXggXS5zZXQgPSBzZXRQb3NpdGl2ZU51bWJlcjsNCgl9DQp9ICk7DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCgljc3M6IGZ1bmN0aW9uKCBuYW1lLCB2YWx1ZSApIHsNCgkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIGVsZW0sIG5hbWUsIHZhbHVlICkgew0KCQkJdmFyIHN0eWxlcywgbGVuLA0KCQkJCW1hcCA9IHt9LA0KCQkJCWkgPSAwOw0KDQoJCQlpZiAoIEFycmF5LmlzQXJyYXkoIG5hbWUgKSApIHsNCgkJCQlzdHlsZXMgPSBnZXRTdHlsZXMoIGVsZW0gKTsNCgkJCQlsZW4gPSBuYW1lLmxlbmd0aDsNCg0KCQkJCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgew0KCQkJCQltYXBbIG5hbWVbIGkgXSBdID0galF1ZXJ5LmNzcyggZWxlbSwgbmFtZVsgaSBdLCBmYWxzZSwgc3R5bGVzICk7DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIG1hcDsNCgkJCX0NCg0KCQkJcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPw0KCQkJCWpRdWVyeS5zdHlsZSggZWxlbSwgbmFtZSwgdmFsdWUgKSA6DQoJCQkJalF1ZXJ5LmNzcyggZWxlbSwgbmFtZSApOw0KCQl9LCBuYW1lLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCA-IDEgKTsNCgl9DQp9ICk7DQoNCg0KZnVuY3Rpb24gVHdlZW4oIGVsZW0sIG9wdGlvbnMsIHByb3AsIGVuZCwgZWFzaW5nICkgew0KCXJldHVybiBuZXcgVHdlZW4ucHJvdG90eXBlLmluaXQoIGVsZW0sIG9wdGlvbnMsIHByb3AsIGVuZCwgZWFzaW5nICk7DQp9DQpqUXVlcnkuVHdlZW4gPSBUd2VlbjsNCg0KVHdlZW4ucHJvdG90eXBlID0gew0KCWNvbnN0cnVjdG9yOiBUd2VlbiwNCglpbml0OiBmdW5jdGlvbiggZWxlbSwgb3B0aW9ucywgcHJvcCwgZW5kLCBlYXNpbmcsIHVuaXQgKSB7DQoJCXRoaXMuZWxlbSA9IGVsZW07DQoJCXRoaXMucHJvcCA9IHByb3A7DQoJCXRoaXMuZWFzaW5nID0gZWFzaW5nIHx8IGpRdWVyeS5lYXNpbmcuX2RlZmF1bHQ7DQoJCXRoaXMub3B0aW9ucyA9IG9wdGlvbnM7DQoJCXRoaXMuc3RhcnQgPSB0aGlzLm5vdyA9IHRoaXMuY3VyKCk7DQoJCXRoaXMuZW5kID0gZW5kOw0KCQl0aGlzLnVuaXQgPSB1bml0IHx8ICggalF1ZXJ5LmNzc051bWJlclsgcHJvcCBdID8gIiIgOiAicHgiICk7DQoJfSwNCgljdXI6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaG9va3MgPSBUd2Vlbi5wcm9wSG9va3NbIHRoaXMucHJvcCBdOw0KDQoJCXJldHVybiBob29rcyAmJiBob29rcy5nZXQgPw0KCQkJaG9va3MuZ2V0KCB0aGlzICkgOg0KCQkJVHdlZW4ucHJvcEhvb2tzLl9kZWZhdWx0LmdldCggdGhpcyApOw0KCX0sDQoJcnVuOiBmdW5jdGlvbiggcGVyY2VudCApIHsNCgkJdmFyIGVhc2VkLA0KCQkJaG9va3MgPSBUd2Vlbi5wcm9wSG9va3NbIHRoaXMucHJvcCBdOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmR1cmF0aW9uICkgew0KCQkJdGhpcy5wb3MgPSBlYXNlZCA9IGpRdWVyeS5lYXNpbmdbIHRoaXMuZWFzaW5nIF0oDQoJCQkJcGVyY2VudCwgdGhpcy5vcHRpb25zLmR1cmF0aW9uICogcGVyY2VudCwgMCwgMSwgdGhpcy5vcHRpb25zLmR1cmF0aW9uDQoJCQkpOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5wb3MgPSBlYXNlZCA9IHBlcmNlbnQ7DQoJCX0NCgkJdGhpcy5ub3cgPSAoIHRoaXMuZW5kIC0gdGhpcy5zdGFydCApICogZWFzZWQgKyB0aGlzLnN0YXJ0Ow0KDQoJCWlmICggdGhpcy5vcHRpb25zLnN0ZXAgKSB7DQoJCQl0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKCB0aGlzLmVsZW0sIHRoaXMubm93LCB0aGlzICk7DQoJCX0NCg0KCQlpZiAoIGhvb2tzICYmIGhvb2tzLnNldCApIHsNCgkJCWhvb2tzLnNldCggdGhpcyApOw0KCQl9IGVsc2Ugew0KCQkJVHdlZW4ucHJvcEhvb2tzLl9kZWZhdWx0LnNldCggdGhpcyApOw0KCQl9DQoJCXJldHVybiB0aGlzOw0KCX0NCn07DQoNClR3ZWVuLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZSA9IFR3ZWVuLnByb3RvdHlwZTsNCg0KVHdlZW4ucHJvcEhvb2tzID0gew0KCV9kZWZhdWx0OiB7DQoJCWdldDogZnVuY3Rpb24oIHR3ZWVuICkgew0KCQkJdmFyIHJlc3VsdDsNCg0KCQkJLy8gVXNlIGEgcHJvcGVydHkgb24gdGhlIGVsZW1lbnQgZGlyZWN0bHkgd2hlbiBpdCBpcyBub3QgYSBET00gZWxlbWVudCwNCgkJCS8vIG9yIHdoZW4gdGhlcmUgaXMgbm8gbWF0Y2hpbmcgc3R5bGUgcHJvcGVydHkgdGhhdCBleGlzdHMuDQoJCQlpZiAoIHR3ZWVuLmVsZW0ubm9kZVR5cGUgIT09IDEgfHwNCgkJCQl0d2Vlbi5lbGVtWyB0d2Vlbi5wcm9wIF0gIT0gbnVsbCAmJiB0d2Vlbi5lbGVtLnN0eWxlWyB0d2Vlbi5wcm9wIF0gPT0gbnVsbCApIHsNCgkJCQlyZXR1cm4gdHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdOw0KCQkJfQ0KDQoJCQkvLyBQYXNzaW5nIGFuIGVtcHR5IHN0cmluZyBhcyBhIDNyZCBwYXJhbWV0ZXIgdG8gLmNzcyB3aWxsIGF1dG9tYXRpY2FsbHkNCgkJCS8vIGF0dGVtcHQgYSBwYXJzZUZsb2F0IGFuZCBmYWxsYmFjayB0byBhIHN0cmluZyBpZiB0aGUgcGFyc2UgZmFpbHMuDQoJCQkvLyBTaW1wbGUgdmFsdWVzIHN1Y2ggYXMgIjEwcHgiIGFyZSBwYXJzZWQgdG8gRmxvYXQ7DQoJCQkvLyBjb21wbGV4IHZhbHVlcyBzdWNoIGFzICJyb3RhdGUoMXJhZCkiIGFyZSByZXR1cm5lZCBhcy1pcy4NCgkJCXJlc3VsdCA9IGpRdWVyeS5jc3MoIHR3ZWVuLmVsZW0sIHR3ZWVuLnByb3AsICIiICk7DQoNCgkJCS8vIEVtcHR5IHN0cmluZ3MsIG51bGwsIHVuZGVmaW5lZCBhbmQgImF1dG8iIGFyZSBjb252ZXJ0ZWQgdG8gMC4NCgkJCXJldHVybiAhcmVzdWx0IHx8IHJlc3VsdCA9PT0gImF1dG8iID8gMCA6IHJlc3VsdDsNCgkJfSwNCgkJc2V0OiBmdW5jdGlvbiggdHdlZW4gKSB7DQoNCgkJCS8vIFVzZSBzdGVwIGhvb2sgZm9yIGJhY2sgY29tcGF0Lg0KCQkJLy8gVXNlIGNzc0hvb2sgaWYgaXRzIHRoZXJlLg0KCQkJLy8gVXNlIC5zdHlsZSBpZiBhdmFpbGFibGUgYW5kIHVzZSBwbGFpbiBwcm9wZXJ0aWVzIHdoZXJlIGF2YWlsYWJsZS4NCgkJCWlmICggalF1ZXJ5LmZ4LnN0ZXBbIHR3ZWVuLnByb3AgXSApIHsNCgkJCQlqUXVlcnkuZnguc3RlcFsgdHdlZW4ucHJvcCBdKCB0d2VlbiApOw0KCQkJfSBlbHNlIGlmICggdHdlZW4uZWxlbS5ub2RlVHlwZSA9PT0gMSAmJg0KCQkJCSggdHdlZW4uZWxlbS5zdHlsZVsgalF1ZXJ5LmNzc1Byb3BzWyB0d2Vlbi5wcm9wIF0gXSAhPSBudWxsIHx8DQoJCQkJCWpRdWVyeS5jc3NIb29rc1sgdHdlZW4ucHJvcCBdICkgKSB7DQoJCQkJalF1ZXJ5LnN0eWxlKCB0d2Vlbi5lbGVtLCB0d2Vlbi5wcm9wLCB0d2Vlbi5ub3cgKyB0d2Vlbi51bml0ICk7DQoJCQl9IGVsc2Ugew0KCQkJCXR3ZWVuLmVsZW1bIHR3ZWVuLnByb3AgXSA9IHR3ZWVuLm5vdzsNCgkJCX0NCgkJfQ0KCX0NCn07DQoNCi8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQovLyBQYW5pYyBiYXNlZCBhcHByb2FjaCB0byBzZXR0aW5nIHRoaW5ncyBvbiBkaXNjb25uZWN0ZWQgbm9kZXMNClR3ZWVuLnByb3BIb29rcy5zY3JvbGxUb3AgPSBUd2Vlbi5wcm9wSG9va3Muc2Nyb2xsTGVmdCA9IHsNCglzZXQ6IGZ1bmN0aW9uKCB0d2VlbiApIHsNCgkJaWYgKCB0d2Vlbi5lbGVtLm5vZGVUeXBlICYmIHR3ZWVuLmVsZW0ucGFyZW50Tm9kZSApIHsNCgkJCXR3ZWVuLmVsZW1bIHR3ZWVuLnByb3AgXSA9IHR3ZWVuLm5vdzsNCgkJfQ0KCX0NCn07DQoNCmpRdWVyeS5lYXNpbmcgPSB7DQoJbGluZWFyOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIHA7DQoJfSwNCglzd2luZzogZnVuY3Rpb24oIHAgKSB7DQoJCXJldHVybiAwLjUgLSBNYXRoLmNvcyggcCAqIE1hdGguUEkgKSAvIDI7DQoJfSwNCglfZGVmYXVsdDogInN3aW5nIg0KfTsNCg0KalF1ZXJ5LmZ4ID0gVHdlZW4ucHJvdG90eXBlLmluaXQ7DQoNCi8vIEJhY2sgY29tcGF0IDwxLjggZXh0ZW5zaW9uIHBvaW50DQpqUXVlcnkuZnguc3RlcCA9IHt9Ow0KDQoNCg0KDQp2YXINCglmeE5vdywgaW5Qcm9ncmVzcywNCglyZnh0eXBlcyA9IC9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLywNCglycnVuID0gL3F1ZXVlSG9va3MkLzsNCg0KZnVuY3Rpb24gc2NoZWR1bGUoKSB7DQoJaWYgKCBpblByb2dyZXNzICkgew0KCQlpZiAoIGRvY3VtZW50LmhpZGRlbiA9PT0gZmFsc2UgJiYgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSApIHsNCgkJCXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoIHNjaGVkdWxlICk7DQoJCX0gZWxzZSB7DQoJCQl3aW5kb3cuc2V0VGltZW91dCggc2NoZWR1bGUsIGpRdWVyeS5meC5pbnRlcnZhbCApOw0KCQl9DQoNCgkJalF1ZXJ5LmZ4LnRpY2soKTsNCgl9DQp9DQoNCi8vIEFuaW1hdGlvbnMgY3JlYXRlZCBzeW5jaHJvbm91c2x5IHdpbGwgcnVuIHN5bmNocm9ub3VzbHkNCmZ1bmN0aW9uIGNyZWF0ZUZ4Tm93KCkgew0KCXdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsNCgkJZnhOb3cgPSB1bmRlZmluZWQ7DQoJfSApOw0KCXJldHVybiAoIGZ4Tm93ID0galF1ZXJ5Lm5vdygpICk7DQp9DQoNCi8vIEdlbmVyYXRlIHBhcmFtZXRlcnMgdG8gY3JlYXRlIGEgc3RhbmRhcmQgYW5pbWF0aW9uDQpmdW5jdGlvbiBnZW5GeCggdHlwZSwgaW5jbHVkZVdpZHRoICkgew0KCXZhciB3aGljaCwNCgkJaSA9IDAsDQoJCWF0dHJzID0geyBoZWlnaHQ6IHR5cGUgfTsNCg0KCS8vIElmIHdlIGluY2x1ZGUgd2lkdGgsIHN0ZXAgdmFsdWUgaXMgMSB0byBkbyBhbGwgY3NzRXhwYW5kIHZhbHVlcywNCgkvLyBvdGhlcndpc2Ugc3RlcCB2YWx1ZSBpcyAyIHRvIHNraXAgb3ZlciBMZWZ0IGFuZCBSaWdodA0KCWluY2x1ZGVXaWR0aCA9IGluY2x1ZGVXaWR0aCA_IDEgOiAwOw0KCWZvciAoIDsgaSA8IDQ7IGkgKz0gMiAtIGluY2x1ZGVXaWR0aCApIHsNCgkJd2hpY2ggPSBjc3NFeHBhbmRbIGkgXTsNCgkJYXR0cnNbICJtYXJnaW4iICsgd2hpY2ggXSA9IGF0dHJzWyAicGFkZGluZyIgKyB3aGljaCBdID0gdHlwZTsNCgl9DQoNCglpZiAoIGluY2x1ZGVXaWR0aCApIHsNCgkJYXR0cnMub3BhY2l0eSA9IGF0dHJzLndpZHRoID0gdHlwZTsNCgl9DQoNCglyZXR1cm4gYXR0cnM7DQp9DQoNCmZ1bmN0aW9uIGNyZWF0ZVR3ZWVuKCB2YWx1ZSwgcHJvcCwgYW5pbWF0aW9uICkgew0KCXZhciB0d2VlbiwNCgkJY29sbGVjdGlvbiA9ICggQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0gfHwgW10gKS5jb25jYXQoIEFuaW1hdGlvbi50d2VlbmVyc1sgIioiIF0gKSwNCgkJaW5kZXggPSAwLA0KCQlsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aDsNCglmb3IgKCA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgew0KCQlpZiAoICggdHdlZW4gPSBjb2xsZWN0aW9uWyBpbmRleCBdLmNhbGwoIGFuaW1hdGlvbiwgcHJvcCwgdmFsdWUgKSApICkgew0KDQoJCQkvLyBXZSdyZSBkb25lIHdpdGggdGhpcyBwcm9wZXJ0eQ0KCQkJcmV0dXJuIHR3ZWVuOw0KCQl9DQoJfQ0KfQ0KDQpmdW5jdGlvbiBkZWZhdWx0UHJlZmlsdGVyKCBlbGVtLCBwcm9wcywgb3B0cyApIHsNCgl2YXIgcHJvcCwgdmFsdWUsIHRvZ2dsZSwgaG9va3MsIG9sZGZpcmUsIHByb3BUd2VlbiwgcmVzdG9yZURpc3BsYXksIGRpc3BsYXksDQoJCWlzQm94ID0gIndpZHRoIiBpbiBwcm9wcyB8fCAiaGVpZ2h0IiBpbiBwcm9wcywNCgkJYW5pbSA9IHRoaXMsDQoJCW9yaWcgPSB7fSwNCgkJc3R5bGUgPSBlbGVtLnN0eWxlLA0KCQloaWRkZW4gPSBlbGVtLm5vZGVUeXBlICYmIGlzSGlkZGVuV2l0aGluVHJlZSggZWxlbSApLA0KCQlkYXRhU2hvdyA9IGRhdGFQcml2LmdldCggZWxlbSwgImZ4c2hvdyIgKTsNCg0KCS8vIFF1ZXVlLXNraXBwaW5nIGFuaW1hdGlvbnMgaGlqYWNrIHRoZSBmeCBob29rcw0KCWlmICggIW9wdHMucXVldWUgKSB7DQoJCWhvb2tzID0galF1ZXJ5Ll9xdWV1ZUhvb2tzKCBlbGVtLCAiZngiICk7DQoJCWlmICggaG9va3MudW5xdWV1ZWQgPT0gbnVsbCApIHsNCgkJCWhvb2tzLnVucXVldWVkID0gMDsNCgkJCW9sZGZpcmUgPSBob29rcy5lbXB0eS5maXJlOw0KCQkJaG9va3MuZW1wdHkuZmlyZSA9IGZ1bmN0aW9uKCkgew0KCQkJCWlmICggIWhvb2tzLnVucXVldWVkICkgew0KCQkJCQlvbGRmaXJlKCk7DQoJCQkJfQ0KCQkJfTsNCgkJfQ0KCQlob29rcy51bnF1ZXVlZCsrOw0KDQoJCWFuaW0uYWx3YXlzKCBmdW5jdGlvbigpIHsNCg0KCQkJLy8gRW5zdXJlIHRoZSBjb21wbGV0ZSBoYW5kbGVyIGlzIGNhbGxlZCBiZWZvcmUgdGhpcyBjb21wbGV0ZXMNCgkJCWFuaW0uYWx3YXlzKCBmdW5jdGlvbigpIHsNCgkJCQlob29rcy51bnF1ZXVlZC0tOw0KCQkJCWlmICggIWpRdWVyeS5xdWV1ZSggZWxlbSwgImZ4IiApLmxlbmd0aCApIHsNCgkJCQkJaG9va3MuZW1wdHkuZmlyZSgpOw0KCQkJCX0NCgkJCX0gKTsNCgkJfSApOw0KCX0NCg0KCS8vIERldGVjdCBzaG93L2hpZGUgYW5pbWF0aW9ucw0KCWZvciAoIHByb3AgaW4gcHJvcHMgKSB7DQoJCXZhbHVlID0gcHJvcHNbIHByb3AgXTsNCgkJaWYgKCByZnh0eXBlcy50ZXN0KCB2YWx1ZSApICkgew0KCQkJZGVsZXRlIHByb3BzWyBwcm9wIF07DQoJCQl0b2dnbGUgPSB0b2dnbGUgfHwgdmFsdWUgPT09ICJ0b2dnbGUiOw0KCQkJaWYgKCB2YWx1ZSA9PT0gKCBoaWRkZW4gPyAiaGlkZSIgOiAic2hvdyIgKSApIHsNCg0KCQkJCS8vIFByZXRlbmQgdG8gYmUgaGlkZGVuIGlmIHRoaXMgaXMgYSAic2hvdyIgYW5kDQoJCQkJLy8gdGhlcmUgaXMgc3RpbGwgZGF0YSBmcm9tIGEgc3RvcHBlZCBzaG93L2hpZGUNCgkJCQlpZiAoIHZhbHVlID09PSAic2hvdyIgJiYgZGF0YVNob3cgJiYgZGF0YVNob3dbIHByb3AgXSAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQloaWRkZW4gPSB0cnVlOw0KDQoJCQkJLy8gSWdub3JlIGFsbCBvdGhlciBuby1vcCBzaG93L2hpZGUgZGF0YQ0KCQkJCX0gZWxzZSB7DQoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCgkJCX0NCgkJCW9yaWdbIHByb3AgXSA9IGRhdGFTaG93ICYmIGRhdGFTaG93WyBwcm9wIF0gfHwgalF1ZXJ5LnN0eWxlKCBlbGVtLCBwcm9wICk7DQoJCX0NCgl9DQoNCgkvLyBCYWlsIG91dCBpZiB0aGlzIGlzIGEgbm8tb3AgbGlrZSAuaGlkZSgpLmhpZGUoKQ0KCXByb3BUd2VlbiA9ICFqUXVlcnkuaXNFbXB0eU9iamVjdCggcHJvcHMgKTsNCglpZiAoICFwcm9wVHdlZW4gJiYgalF1ZXJ5LmlzRW1wdHlPYmplY3QoIG9yaWcgKSApIHsNCgkJcmV0dXJuOw0KCX0NCg0KCS8vIFJlc3RyaWN0ICJvdmVyZmxvdyIgYW5kICJkaXNwbGF5IiBzdHlsZXMgZHVyaW5nIGJveCBhbmltYXRpb25zDQoJaWYgKCBpc0JveCAmJiBlbGVtLm5vZGVUeXBlID09PSAxICkgew0KDQoJCS8vIFN1cHBvcnQ6IElFIDw9OSAtIDExLCBFZGdlIDEyIC0gMTMNCgkJLy8gUmVjb3JkIGFsbCAzIG92ZXJmbG93IGF0dHJpYnV0ZXMgYmVjYXVzZSBJRSBkb2VzIG5vdCBpbmZlciB0aGUgc2hvcnRoYW5kDQoJCS8vIGZyb20gaWRlbnRpY2FsbHktdmFsdWVkIG92ZXJmbG93WCBhbmQgb3ZlcmZsb3dZDQoJCW9wdHMub3ZlcmZsb3cgPSBbIHN0eWxlLm92ZXJmbG93LCBzdHlsZS5vdmVyZmxvd1gsIHN0eWxlLm92ZXJmbG93WSBdOw0KDQoJCS8vIElkZW50aWZ5IGEgZGlzcGxheSB0eXBlLCBwcmVmZXJyaW5nIG9sZCBzaG93L2hpZGUgZGF0YSBvdmVyIHRoZSBDU1MgY2FzY2FkZQ0KCQlyZXN0b3JlRGlzcGxheSA9IGRhdGFTaG93ICYmIGRhdGFTaG93LmRpc3BsYXk7DQoJCWlmICggcmVzdG9yZURpc3BsYXkgPT0gbnVsbCApIHsNCgkJCXJlc3RvcmVEaXNwbGF5ID0gZGF0YVByaXYuZ2V0KCBlbGVtLCAiZGlzcGxheSIgKTsNCgkJfQ0KCQlkaXNwbGF5ID0galF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICk7DQoJCWlmICggZGlzcGxheSA9PT0gIm5vbmUiICkgew0KCQkJaWYgKCByZXN0b3JlRGlzcGxheSApIHsNCgkJCQlkaXNwbGF5ID0gcmVzdG9yZURpc3BsYXk7DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gR2V0IG5vbmVtcHR5IHZhbHVlKHMpIGJ5IHRlbXBvcmFyaWx5IGZvcmNpbmcgdmlzaWJpbGl0eQ0KCQkJCXNob3dIaWRlKCBbIGVsZW0gXSwgdHJ1ZSApOw0KCQkJCXJlc3RvcmVEaXNwbGF5ID0gZWxlbS5zdHlsZS5kaXNwbGF5IHx8IHJlc3RvcmVEaXNwbGF5Ow0KCQkJCWRpc3BsYXkgPSBqUXVlcnkuY3NzKCBlbGVtLCAiZGlzcGxheSIgKTsNCgkJCQlzaG93SGlkZSggWyBlbGVtIF0gKTsNCgkJCX0NCgkJfQ0KDQoJCS8vIEFuaW1hdGUgaW5saW5lIGVsZW1lbnRzIGFzIGlubGluZS1ibG9jaw0KCQlpZiAoIGRpc3BsYXkgPT09ICJpbmxpbmUiIHx8IGRpc3BsYXkgPT09ICJpbmxpbmUtYmxvY2siICYmIHJlc3RvcmVEaXNwbGF5ICE9IG51bGwgKSB7DQoJCQlpZiAoIGpRdWVyeS5jc3MoIGVsZW0sICJmbG9hdCIgKSA9PT0gIm5vbmUiICkgew0KDQoJCQkJLy8gUmVzdG9yZSB0aGUgb3JpZ2luYWwgZGlzcGxheSB2YWx1ZSBhdCB0aGUgZW5kIG9mIHB1cmUgc2hvdy9oaWRlIGFuaW1hdGlvbnMNCgkJCQlpZiAoICFwcm9wVHdlZW4gKSB7DQoJCQkJCWFuaW0uZG9uZSggZnVuY3Rpb24oKSB7DQoJCQkJCQlzdHlsZS5kaXNwbGF5ID0gcmVzdG9yZURpc3BsYXk7DQoJCQkJCX0gKTsNCgkJCQkJaWYgKCByZXN0b3JlRGlzcGxheSA9PSBudWxsICkgew0KCQkJCQkJZGlzcGxheSA9IHN0eWxlLmRpc3BsYXk7DQoJCQkJCQlyZXN0b3JlRGlzcGxheSA9IGRpc3BsYXkgPT09ICJub25lIiA_ICIiIDogZGlzcGxheTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlzdHlsZS5kaXNwbGF5ID0gImlubGluZS1ibG9jayI7DQoJCQl9DQoJCX0NCgl9DQoNCglpZiAoIG9wdHMub3ZlcmZsb3cgKSB7DQoJCXN0eWxlLm92ZXJmbG93ID0gImhpZGRlbiI7DQoJCWFuaW0uYWx3YXlzKCBmdW5jdGlvbigpIHsNCgkJCXN0eWxlLm92ZXJmbG93ID0gb3B0cy5vdmVyZmxvd1sgMCBdOw0KCQkJc3R5bGUub3ZlcmZsb3dYID0gb3B0cy5vdmVyZmxvd1sgMSBdOw0KCQkJc3R5bGUub3ZlcmZsb3dZID0gb3B0cy5vdmVyZmxvd1sgMiBdOw0KCQl9ICk7DQoJfQ0KDQoJLy8gSW1wbGVtZW50IHNob3cvaGlkZSBhbmltYXRpb25zDQoJcHJvcFR3ZWVuID0gZmFsc2U7DQoJZm9yICggcHJvcCBpbiBvcmlnICkgew0KDQoJCS8vIEdlbmVyYWwgc2hvdy9oaWRlIHNldHVwIGZvciB0aGlzIGVsZW1lbnQgYW5pbWF0aW9uDQoJCWlmICggIXByb3BUd2VlbiApIHsNCgkJCWlmICggZGF0YVNob3cgKSB7DQoJCQkJaWYgKCAiaGlkZGVuIiBpbiBkYXRhU2hvdyApIHsNCgkJCQkJaGlkZGVuID0gZGF0YVNob3cuaGlkZGVuOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJZGF0YVNob3cgPSBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sICJmeHNob3ciLCB7IGRpc3BsYXk6IHJlc3RvcmVEaXNwbGF5IH0gKTsNCgkJCX0NCg0KCQkJLy8gU3RvcmUgaGlkZGVuL3Zpc2libGUgZm9yIHRvZ2dsZSBzbyBgLnN0b3AoKS50b2dnbGUoKWAgInJldmVyc2VzIg0KCQkJaWYgKCB0b2dnbGUgKSB7DQoJCQkJZGF0YVNob3cuaGlkZGVuID0gIWhpZGRlbjsNCgkJCX0NCg0KCQkJLy8gU2hvdyBlbGVtZW50cyBiZWZvcmUgYW5pbWF0aW5nIHRoZW0NCgkJCWlmICggaGlkZGVuICkgew0KCQkJCXNob3dIaWRlKCBbIGVsZW0gXSwgdHJ1ZSApOw0KCQkJfQ0KDQoJCQkvKiBlc2xpbnQtZGlzYWJsZSBuby1sb29wLWZ1bmMgKi8NCg0KCQkJYW5pbS5kb25lKCBmdW5jdGlvbigpIHsNCg0KCQkJLyogZXNsaW50LWVuYWJsZSBuby1sb29wLWZ1bmMgKi8NCg0KCQkJCS8vIFRoZSBmaW5hbCBzdGVwIG9mIGEgImhpZGUiIGFuaW1hdGlvbiBpcyBhY3R1YWxseSBoaWRpbmcgdGhlIGVsZW1lbnQNCgkJCQlpZiAoICFoaWRkZW4gKSB7DQoJCQkJCXNob3dIaWRlKCBbIGVsZW0gXSApOw0KCQkJCX0NCgkJCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sICJmeHNob3ciICk7DQoJCQkJZm9yICggcHJvcCBpbiBvcmlnICkgew0KCQkJCQlqUXVlcnkuc3R5bGUoIGVsZW0sIHByb3AsIG9yaWdbIHByb3AgXSApOw0KCQkJCX0NCgkJCX0gKTsNCgkJfQ0KDQoJCS8vIFBlci1wcm9wZXJ0eSBzZXR1cA0KCQlwcm9wVHdlZW4gPSBjcmVhdGVUd2VlbiggaGlkZGVuID8gZGF0YVNob3dbIHByb3AgXSA6IDAsIHByb3AsIGFuaW0gKTsNCgkJaWYgKCAhKCBwcm9wIGluIGRhdGFTaG93ICkgKSB7DQoJCQlkYXRhU2hvd1sgcHJvcCBdID0gcHJvcFR3ZWVuLnN0YXJ0Ow0KCQkJaWYgKCBoaWRkZW4gKSB7DQoJCQkJcHJvcFR3ZWVuLmVuZCA9IHByb3BUd2Vlbi5zdGFydDsNCgkJCQlwcm9wVHdlZW4uc3RhcnQgPSAwOw0KCQkJfQ0KCQl9DQoJfQ0KfQ0KDQpmdW5jdGlvbiBwcm9wRmlsdGVyKCBwcm9wcywgc3BlY2lhbEVhc2luZyApIHsNCgl2YXIgaW5kZXgsIG5hbWUsIGVhc2luZywgdmFsdWUsIGhvb2tzOw0KDQoJLy8gY2FtZWxDYXNlLCBzcGVjaWFsRWFzaW5nIGFuZCBleHBhbmQgY3NzSG9vayBwYXNzDQoJZm9yICggaW5kZXggaW4gcHJvcHMgKSB7DQoJCW5hbWUgPSBqUXVlcnkuY2FtZWxDYXNlKCBpbmRleCApOw0KCQllYXNpbmcgPSBzcGVjaWFsRWFzaW5nWyBuYW1lIF07DQoJCXZhbHVlID0gcHJvcHNbIGluZGV4IF07DQoJCWlmICggQXJyYXkuaXNBcnJheSggdmFsdWUgKSApIHsNCgkJCWVhc2luZyA9IHZhbHVlWyAxIF07DQoJCQl2YWx1ZSA9IHByb3BzWyBpbmRleCBdID0gdmFsdWVbIDAgXTsNCgkJfQ0KDQoJCWlmICggaW5kZXggIT09IG5hbWUgKSB7DQoJCQlwcm9wc1sgbmFtZSBdID0gdmFsdWU7DQoJCQlkZWxldGUgcHJvcHNbIGluZGV4IF07DQoJCX0NCg0KCQlob29rcyA9IGpRdWVyeS5jc3NIb29rc1sgbmFtZSBdOw0KCQlpZiAoIGhvb2tzICYmICJleHBhbmQiIGluIGhvb2tzICkgew0KCQkJdmFsdWUgPSBob29rcy5leHBhbmQoIHZhbHVlICk7DQoJCQlkZWxldGUgcHJvcHNbIG5hbWUgXTsNCg0KCQkJLy8gTm90IHF1aXRlICQuZXh0ZW5kLCB0aGlzIHdvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBrZXlzLg0KCQkJLy8gUmV1c2luZyAnaW5kZXgnIGJlY2F1c2Ugd2UgaGF2ZSB0aGUgY29ycmVjdCAibmFtZSINCgkJCWZvciAoIGluZGV4IGluIHZhbHVlICkgew0KCQkJCWlmICggISggaW5kZXggaW4gcHJvcHMgKSApIHsNCgkJCQkJcHJvcHNbIGluZGV4IF0gPSB2YWx1ZVsgaW5kZXggXTsNCgkJCQkJc3BlY2lhbEVhc2luZ1sgaW5kZXggXSA9IGVhc2luZzsNCgkJCQl9DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlzcGVjaWFsRWFzaW5nWyBuYW1lIF0gPSBlYXNpbmc7DQoJCX0NCgl9DQp9DQoNCmZ1bmN0aW9uIEFuaW1hdGlvbiggZWxlbSwgcHJvcGVydGllcywgb3B0aW9ucyApIHsNCgl2YXIgcmVzdWx0LA0KCQlzdG9wcGVkLA0KCQlpbmRleCA9IDAsDQoJCWxlbmd0aCA9IEFuaW1hdGlvbi5wcmVmaWx0ZXJzLmxlbmd0aCwNCgkJZGVmZXJyZWQgPSBqUXVlcnkuRGVmZXJyZWQoKS5hbHdheXMoIGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBEb24ndCBtYXRjaCBlbGVtIGluIHRoZSA6YW5pbWF0ZWQgc2VsZWN0b3INCgkJCWRlbGV0ZSB0aWNrLmVsZW07DQoJCX0gKSwNCgkJdGljayA9IGZ1bmN0aW9uKCkgew0KCQkJaWYgKCBzdG9wcGVkICkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXZhciBjdXJyZW50VGltZSA9IGZ4Tm93IHx8IGNyZWF0ZUZ4Tm93KCksDQoJCQkJcmVtYWluaW5nID0gTWF0aC5tYXgoIDAsIGFuaW1hdGlvbi5zdGFydFRpbWUgKyBhbmltYXRpb24uZHVyYXRpb24gLSBjdXJyZW50VGltZSApLA0KDQoJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCAyLjMgb25seQ0KCQkJCS8vIEFyY2hhaWMgY3Jhc2ggYnVnIHdvbid0IGFsbG93IHVzIHRvIHVzZSBgMSAtICggMC41IHx8IDAgKWAgKCMxMjQ5NykNCgkJCQl0ZW1wID0gcmVtYWluaW5nIC8gYW5pbWF0aW9uLmR1cmF0aW9uIHx8IDAsDQoJCQkJcGVyY2VudCA9IDEgLSB0ZW1wLA0KCQkJCWluZGV4ID0gMCwNCgkJCQlsZW5ndGggPSBhbmltYXRpb24udHdlZW5zLmxlbmd0aDsNCg0KCQkJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCQlhbmltYXRpb24udHdlZW5zWyBpbmRleCBdLnJ1biggcGVyY2VudCApOw0KCQkJfQ0KDQoJCQlkZWZlcnJlZC5ub3RpZnlXaXRoKCBlbGVtLCBbIGFuaW1hdGlvbiwgcGVyY2VudCwgcmVtYWluaW5nIF0gKTsNCg0KCQkJLy8gSWYgdGhlcmUncyBtb3JlIHRvIGRvLCB5aWVsZA0KCQkJaWYgKCBwZXJjZW50IDwgMSAmJiBsZW5ndGggKSB7DQoJCQkJcmV0dXJuIHJlbWFpbmluZzsNCgkJCX0NCg0KCQkJLy8gSWYgdGhpcyB3YXMgYW4gZW1wdHkgYW5pbWF0aW9uLCBzeW50aGVzaXplIGEgZmluYWwgcHJvZ3Jlc3Mgbm90aWZpY2F0aW9uDQoJCQlpZiAoICFsZW5ndGggKSB7DQoJCQkJZGVmZXJyZWQubm90aWZ5V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIDEsIDAgXSApOw0KCQkJfQ0KDQoJCQkvLyBSZXNvbHZlIHRoZSBhbmltYXRpb24gYW5kIHJlcG9ydCBpdHMgY29uY2x1c2lvbg0KCQkJZGVmZXJyZWQucmVzb2x2ZVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uIF0gKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfSwNCgkJYW5pbWF0aW9uID0gZGVmZXJyZWQucHJvbWlzZSggew0KCQkJZWxlbTogZWxlbSwNCgkJCXByb3BzOiBqUXVlcnkuZXh0ZW5kKCB7fSwgcHJvcGVydGllcyApLA0KCQkJb3B0czogalF1ZXJ5LmV4dGVuZCggdHJ1ZSwgew0KCQkJCXNwZWNpYWxFYXNpbmc6IHt9LA0KCQkJCWVhc2luZzogalF1ZXJ5LmVhc2luZy5fZGVmYXVsdA0KCQkJfSwgb3B0aW9ucyApLA0KCQkJb3JpZ2luYWxQcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLA0KCQkJb3JpZ2luYWxPcHRpb25zOiBvcHRpb25zLA0KCQkJc3RhcnRUaW1lOiBmeE5vdyB8fCBjcmVhdGVGeE5vdygpLA0KCQkJZHVyYXRpb246IG9wdGlvbnMuZHVyYXRpb24sDQoJCQl0d2VlbnM6IFtdLA0KCQkJY3JlYXRlVHdlZW46IGZ1bmN0aW9uKCBwcm9wLCBlbmQgKSB7DQoJCQkJdmFyIHR3ZWVuID0galF1ZXJ5LlR3ZWVuKCBlbGVtLCBhbmltYXRpb24ub3B0cywgcHJvcCwgZW5kLA0KCQkJCQkJYW5pbWF0aW9uLm9wdHMuc3BlY2lhbEVhc2luZ1sgcHJvcCBdIHx8IGFuaW1hdGlvbi5vcHRzLmVhc2luZyApOw0KCQkJCWFuaW1hdGlvbi50d2VlbnMucHVzaCggdHdlZW4gKTsNCgkJCQlyZXR1cm4gdHdlZW47DQoJCQl9LA0KCQkJc3RvcDogZnVuY3Rpb24oIGdvdG9FbmQgKSB7DQoJCQkJdmFyIGluZGV4ID0gMCwNCg0KCQkJCQkvLyBJZiB3ZSBhcmUgZ29pbmcgdG8gdGhlIGVuZCwgd2Ugd2FudCB0byBydW4gYWxsIHRoZSB0d2VlbnMNCgkJCQkJLy8gb3RoZXJ3aXNlIHdlIHNraXAgdGhpcyBwYXJ0DQoJCQkJCWxlbmd0aCA9IGdvdG9FbmQgPyBhbmltYXRpb24udHdlZW5zLmxlbmd0aCA6IDA7DQoJCQkJaWYgKCBzdG9wcGVkICkgew0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9DQoJCQkJc3RvcHBlZCA9IHRydWU7DQoJCQkJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCQkJYW5pbWF0aW9uLnR3ZWVuc1sgaW5kZXggXS5ydW4oIDEgKTsNCgkJCQl9DQoNCgkJCQkvLyBSZXNvbHZlIHdoZW4gd2UgcGxheWVkIHRoZSBsYXN0IGZyYW1lOyBvdGhlcndpc2UsIHJlamVjdA0KCQkJCWlmICggZ290b0VuZCApIHsNCgkJCQkJZGVmZXJyZWQubm90aWZ5V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIDEsIDAgXSApOw0KCQkJCQlkZWZlcnJlZC5yZXNvbHZlV2l0aCggZWxlbSwgWyBhbmltYXRpb24sIGdvdG9FbmQgXSApOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWRlZmVycmVkLnJlamVjdFdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCBnb3RvRW5kIF0gKTsNCgkJCQl9DQoJCQkJcmV0dXJuIHRoaXM7DQoJCQl9DQoJCX0gKSwNCgkJcHJvcHMgPSBhbmltYXRpb24ucHJvcHM7DQoNCglwcm9wRmlsdGVyKCBwcm9wcywgYW5pbWF0aW9uLm9wdHMuc3BlY2lhbEVhc2luZyApOw0KDQoJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJcmVzdWx0ID0gQW5pbWF0aW9uLnByZWZpbHRlcnNbIGluZGV4IF0uY2FsbCggYW5pbWF0aW9uLCBlbGVtLCBwcm9wcywgYW5pbWF0aW9uLm9wdHMgKTsNCgkJaWYgKCByZXN1bHQgKSB7DQoJCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCByZXN1bHQuc3RvcCApICkgew0KCQkJCWpRdWVyeS5fcXVldWVIb29rcyggYW5pbWF0aW9uLmVsZW0sIGFuaW1hdGlvbi5vcHRzLnF1ZXVlICkuc3RvcCA9DQoJCQkJCWpRdWVyeS5wcm94eSggcmVzdWx0LnN0b3AsIHJlc3VsdCApOw0KCQkJfQ0KCQkJcmV0dXJuIHJlc3VsdDsNCgkJfQ0KCX0NCg0KCWpRdWVyeS5tYXAoIHByb3BzLCBjcmVhdGVUd2VlbiwgYW5pbWF0aW9uICk7DQoNCglpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBhbmltYXRpb24ub3B0cy5zdGFydCApICkgew0KCQlhbmltYXRpb24ub3B0cy5zdGFydC5jYWxsKCBlbGVtLCBhbmltYXRpb24gKTsNCgl9DQoNCgkvLyBBdHRhY2ggY2FsbGJhY2tzIGZyb20gb3B0aW9ucw0KCWFuaW1hdGlvbg0KCQkucHJvZ3Jlc3MoIGFuaW1hdGlvbi5vcHRzLnByb2dyZXNzICkNCgkJLmRvbmUoIGFuaW1hdGlvbi5vcHRzLmRvbmUsIGFuaW1hdGlvbi5vcHRzLmNvbXBsZXRlICkNCgkJLmZhaWwoIGFuaW1hdGlvbi5vcHRzLmZhaWwgKQ0KCQkuYWx3YXlzKCBhbmltYXRpb24ub3B0cy5hbHdheXMgKTsNCg0KCWpRdWVyeS5meC50aW1lcigNCgkJalF1ZXJ5LmV4dGVuZCggdGljaywgew0KCQkJZWxlbTogZWxlbSwNCgkJCWFuaW06IGFuaW1hdGlvbiwNCgkJCXF1ZXVlOiBhbmltYXRpb24ub3B0cy5xdWV1ZQ0KCQl9ICkNCgkpOw0KDQoJcmV0dXJuIGFuaW1hdGlvbjsNCn0NCg0KalF1ZXJ5LkFuaW1hdGlvbiA9IGpRdWVyeS5leHRlbmQoIEFuaW1hdGlvbiwgew0KDQoJdHdlZW5lcnM6IHsNCgkJIioiOiBbIGZ1bmN0aW9uKCBwcm9wLCB2YWx1ZSApIHsNCgkJCXZhciB0d2VlbiA9IHRoaXMuY3JlYXRlVHdlZW4oIHByb3AsIHZhbHVlICk7DQoJCQlhZGp1c3RDU1MoIHR3ZWVuLmVsZW0sIHByb3AsIHJjc3NOdW0uZXhlYyggdmFsdWUgKSwgdHdlZW4gKTsNCgkJCXJldHVybiB0d2VlbjsNCgkJfSBdDQoJfSwNCg0KCXR3ZWVuZXI6IGZ1bmN0aW9uKCBwcm9wcywgY2FsbGJhY2sgKSB7DQoJCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIHByb3BzICkgKSB7DQoJCQljYWxsYmFjayA9IHByb3BzOw0KCQkJcHJvcHMgPSBbICIqIiBdOw0KCQl9IGVsc2Ugew0KCQkJcHJvcHMgPSBwcm9wcy5tYXRjaCggcm5vdGh0bWx3aGl0ZSApOw0KCQl9DQoNCgkJdmFyIHByb3AsDQoJCQlpbmRleCA9IDAsDQoJCQlsZW5ndGggPSBwcm9wcy5sZW5ndGg7DQoNCgkJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCXByb3AgPSBwcm9wc1sgaW5kZXggXTsNCgkJCUFuaW1hdGlvbi50d2VlbmVyc1sgcHJvcCBdID0gQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0gfHwgW107DQoJCQlBbmltYXRpb24udHdlZW5lcnNbIHByb3AgXS51bnNoaWZ0KCBjYWxsYmFjayApOw0KCQl9DQoJfSwNCg0KCXByZWZpbHRlcnM6IFsgZGVmYXVsdFByZWZpbHRlciBdLA0KDQoJcHJlZmlsdGVyOiBmdW5jdGlvbiggY2FsbGJhY2ssIHByZXBlbmQgKSB7DQoJCWlmICggcHJlcGVuZCApIHsNCgkJCUFuaW1hdGlvbi5wcmVmaWx0ZXJzLnVuc2hpZnQoIGNhbGxiYWNrICk7DQoJCX0gZWxzZSB7DQoJCQlBbmltYXRpb24ucHJlZmlsdGVycy5wdXNoKCBjYWxsYmFjayApOw0KCQl9DQoJfQ0KfSApOw0KDQpqUXVlcnkuc3BlZWQgPSBmdW5jdGlvbiggc3BlZWQsIGVhc2luZywgZm4gKSB7DQoJdmFyIG9wdCA9IHNwZWVkICYmIHR5cGVvZiBzcGVlZCA9PT0gIm9iamVjdCIgPyBqUXVlcnkuZXh0ZW5kKCB7fSwgc3BlZWQgKSA6IHsNCgkJY29tcGxldGU6IGZuIHx8ICFmbiAmJiBlYXNpbmcgfHwNCgkJCWpRdWVyeS5pc0Z1bmN0aW9uKCBzcGVlZCApICYmIHNwZWVkLA0KCQlkdXJhdGlvbjogc3BlZWQsDQoJCWVhc2luZzogZm4gJiYgZWFzaW5nIHx8IGVhc2luZyAmJiAhalF1ZXJ5LmlzRnVuY3Rpb24oIGVhc2luZyApICYmIGVhc2luZw0KCX07DQoNCgkvLyBHbyB0byB0aGUgZW5kIHN0YXRlIGlmIGZ4IGFyZSBvZmYNCglpZiAoIGpRdWVyeS5meC5vZmYgKSB7DQoJCW9wdC5kdXJhdGlvbiA9IDA7DQoNCgl9IGVsc2Ugew0KCQlpZiAoIHR5cGVvZiBvcHQuZHVyYXRpb24gIT09ICJudW1iZXIiICkgew0KCQkJaWYgKCBvcHQuZHVyYXRpb24gaW4galF1ZXJ5LmZ4LnNwZWVkcyApIHsNCgkJCQlvcHQuZHVyYXRpb24gPSBqUXVlcnkuZnguc3BlZWRzWyBvcHQuZHVyYXRpb24gXTsNCg0KCQkJfSBlbHNlIHsNCgkJCQlvcHQuZHVyYXRpb24gPSBqUXVlcnkuZnguc3BlZWRzLl9kZWZhdWx0Ow0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gTm9ybWFsaXplIG9wdC5xdWV1ZSAtIHRydWUvdW5kZWZpbmVkL251bGwgLT4gImZ4Ig0KCWlmICggb3B0LnF1ZXVlID09IG51bGwgfHwgb3B0LnF1ZXVlID09PSB0cnVlICkgew0KCQlvcHQucXVldWUgPSAiZngiOw0KCX0NCg0KCS8vIFF1ZXVlaW5nDQoJb3B0Lm9sZCA9IG9wdC5jb21wbGV0ZTsNCg0KCW9wdC5jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgew0KCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBvcHQub2xkICkgKSB7DQoJCQlvcHQub2xkLmNhbGwoIHRoaXMgKTsNCgkJfQ0KDQoJCWlmICggb3B0LnF1ZXVlICkgew0KCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIG9wdC5xdWV1ZSApOw0KCQl9DQoJfTsNCg0KCXJldHVybiBvcHQ7DQp9Ow0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJZmFkZVRvOiBmdW5jdGlvbiggc3BlZWQsIHRvLCBlYXNpbmcsIGNhbGxiYWNrICkgew0KDQoJCS8vIFNob3cgYW55IGhpZGRlbiBlbGVtZW50cyBhZnRlciBzZXR0aW5nIG9wYWNpdHkgdG8gMA0KCQlyZXR1cm4gdGhpcy5maWx0ZXIoIGlzSGlkZGVuV2l0aGluVHJlZSApLmNzcyggIm9wYWNpdHkiLCAwICkuc2hvdygpDQoNCgkJCS8vIEFuaW1hdGUgdG8gdGhlIHZhbHVlIHNwZWNpZmllZA0KCQkJLmVuZCgpLmFuaW1hdGUoIHsgb3BhY2l0eTogdG8gfSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgl9LA0KCWFuaW1hdGU6IGZ1bmN0aW9uKCBwcm9wLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJdmFyIGVtcHR5ID0galF1ZXJ5LmlzRW1wdHlPYmplY3QoIHByb3AgKSwNCgkJCW9wdGFsbCA9IGpRdWVyeS5zcGVlZCggc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSwNCgkJCWRvQW5pbWF0aW9uID0gZnVuY3Rpb24oKSB7DQoNCgkJCQkvLyBPcGVyYXRlIG9uIGEgY29weSBvZiBwcm9wIHNvIHBlci1wcm9wZXJ0eSBlYXNpbmcgd29uJ3QgYmUgbG9zdA0KCQkJCXZhciBhbmltID0gQW5pbWF0aW9uKCB0aGlzLCBqUXVlcnkuZXh0ZW5kKCB7fSwgcHJvcCApLCBvcHRhbGwgKTsNCg0KCQkJCS8vIEVtcHR5IGFuaW1hdGlvbnMsIG9yIGZpbmlzaGluZyByZXNvbHZlcyBpbW1lZGlhdGVseQ0KCQkJCWlmICggZW1wdHkgfHwgZGF0YVByaXYuZ2V0KCB0aGlzLCAiZmluaXNoIiApICkgew0KCQkJCQlhbmltLnN0b3AoIHRydWUgKTsNCgkJCQl9DQoJCQl9Ow0KCQkJZG9BbmltYXRpb24uZmluaXNoID0gZG9BbmltYXRpb247DQoNCgkJcmV0dXJuIGVtcHR5IHx8IG9wdGFsbC5xdWV1ZSA9PT0gZmFsc2UgPw0KCQkJdGhpcy5lYWNoKCBkb0FuaW1hdGlvbiApIDoNCgkJCXRoaXMucXVldWUoIG9wdGFsbC5xdWV1ZSwgZG9BbmltYXRpb24gKTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCB0eXBlLCBjbGVhclF1ZXVlLCBnb3RvRW5kICkgew0KCQl2YXIgc3RvcFF1ZXVlID0gZnVuY3Rpb24oIGhvb2tzICkgew0KCQkJdmFyIHN0b3AgPSBob29rcy5zdG9wOw0KCQkJZGVsZXRlIGhvb2tzLnN0b3A7DQoJCQlzdG9wKCBnb3RvRW5kICk7DQoJCX07DQoNCgkJaWYgKCB0eXBlb2YgdHlwZSAhPT0gInN0cmluZyIgKSB7DQoJCQlnb3RvRW5kID0gY2xlYXJRdWV1ZTsNCgkJCWNsZWFyUXVldWUgPSB0eXBlOw0KCQkJdHlwZSA9IHVuZGVmaW5lZDsNCgkJfQ0KCQlpZiAoIGNsZWFyUXVldWUgJiYgdHlwZSAhPT0gZmFsc2UgKSB7DQoJCQl0aGlzLnF1ZXVlKCB0eXBlIHx8ICJmeCIsIFtdICk7DQoJCX0NCg0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBkZXF1ZXVlID0gdHJ1ZSwNCgkJCQlpbmRleCA9IHR5cGUgIT0gbnVsbCAmJiB0eXBlICsgInF1ZXVlSG9va3MiLA0KCQkJCXRpbWVycyA9IGpRdWVyeS50aW1lcnMsDQoJCQkJZGF0YSA9IGRhdGFQcml2LmdldCggdGhpcyApOw0KDQoJCQlpZiAoIGluZGV4ICkgew0KCQkJCWlmICggZGF0YVsgaW5kZXggXSAmJiBkYXRhWyBpbmRleCBdLnN0b3AgKSB7DQoJCQkJCXN0b3BRdWV1ZSggZGF0YVsgaW5kZXggXSApOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJZm9yICggaW5kZXggaW4gZGF0YSApIHsNCgkJCQkJaWYgKCBkYXRhWyBpbmRleCBdICYmIGRhdGFbIGluZGV4IF0uc3RvcCAmJiBycnVuLnRlc3QoIGluZGV4ICkgKSB7DQoJCQkJCQlzdG9wUXVldWUoIGRhdGFbIGluZGV4IF0gKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCg0KCQkJZm9yICggaW5kZXggPSB0aW1lcnMubGVuZ3RoOyBpbmRleC0tOyApIHsNCgkJCQlpZiAoIHRpbWVyc1sgaW5kZXggXS5lbGVtID09PSB0aGlzICYmDQoJCQkJCSggdHlwZSA9PSBudWxsIHx8IHRpbWVyc1sgaW5kZXggXS5xdWV1ZSA9PT0gdHlwZSApICkgew0KDQoJCQkJCXRpbWVyc1sgaW5kZXggXS5hbmltLnN0b3AoIGdvdG9FbmQgKTsNCgkJCQkJZGVxdWV1ZSA9IGZhbHNlOw0KCQkJCQl0aW1lcnMuc3BsaWNlKCBpbmRleCwgMSApOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gU3RhcnQgdGhlIG5leHQgaW4gdGhlIHF1ZXVlIGlmIHRoZSBsYXN0IHN0ZXAgd2Fzbid0IGZvcmNlZC4NCgkJCS8vIFRpbWVycyBjdXJyZW50bHkgd2lsbCBjYWxsIHRoZWlyIGNvbXBsZXRlIGNhbGxiYWNrcywgd2hpY2gNCgkJCS8vIHdpbGwgZGVxdWV1ZSBidXQgb25seSBpZiB0aGV5IHdlcmUgZ290b0VuZC4NCgkJCWlmICggZGVxdWV1ZSB8fCAhZ290b0VuZCApIHsNCgkJCQlqUXVlcnkuZGVxdWV1ZSggdGhpcywgdHlwZSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCglmaW5pc2g6IGZ1bmN0aW9uKCB0eXBlICkgew0KCQlpZiAoIHR5cGUgIT09IGZhbHNlICkgew0KCQkJdHlwZSA9IHR5cGUgfHwgImZ4IjsNCgkJfQ0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBpbmRleCwNCgkJCQlkYXRhID0gZGF0YVByaXYuZ2V0KCB0aGlzICksDQoJCQkJcXVldWUgPSBkYXRhWyB0eXBlICsgInF1ZXVlIiBdLA0KCQkJCWhvb2tzID0gZGF0YVsgdHlwZSArICJxdWV1ZUhvb2tzIiBdLA0KCQkJCXRpbWVycyA9IGpRdWVyeS50aW1lcnMsDQoJCQkJbGVuZ3RoID0gcXVldWUgPyBxdWV1ZS5sZW5ndGggOiAwOw0KDQoJCQkvLyBFbmFibGUgZmluaXNoaW5nIGZsYWcgb24gcHJpdmF0ZSBkYXRhDQoJCQlkYXRhLmZpbmlzaCA9IHRydWU7DQoNCgkJCS8vIEVtcHR5IHRoZSBxdWV1ZSBmaXJzdA0KCQkJalF1ZXJ5LnF1ZXVlKCB0aGlzLCB0eXBlLCBbXSApOw0KDQoJCQlpZiAoIGhvb2tzICYmIGhvb2tzLnN0b3AgKSB7DQoJCQkJaG9va3Muc3RvcC5jYWxsKCB0aGlzLCB0cnVlICk7DQoJCQl9DQoNCgkJCS8vIExvb2sgZm9yIGFueSBhY3RpdmUgYW5pbWF0aW9ucywgYW5kIGZpbmlzaCB0aGVtDQoJCQlmb3IgKCBpbmRleCA9IHRpbWVycy5sZW5ndGg7IGluZGV4LS07ICkgew0KCQkJCWlmICggdGltZXJzWyBpbmRleCBdLmVsZW0gPT09IHRoaXMgJiYgdGltZXJzWyBpbmRleCBdLnF1ZXVlID09PSB0eXBlICkgew0KCQkJCQl0aW1lcnNbIGluZGV4IF0uYW5pbS5zdG9wKCB0cnVlICk7DQoJCQkJCXRpbWVycy5zcGxpY2UoIGluZGV4LCAxICk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBMb29rIGZvciBhbnkgYW5pbWF0aW9ucyBpbiB0aGUgb2xkIHF1ZXVlIGFuZCBmaW5pc2ggdGhlbQ0KCQkJZm9yICggaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsNCgkJCQlpZiAoIHF1ZXVlWyBpbmRleCBdICYmIHF1ZXVlWyBpbmRleCBdLmZpbmlzaCApIHsNCgkJCQkJcXVldWVbIGluZGV4IF0uZmluaXNoLmNhbGwoIHRoaXMgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCS8vIFR1cm4gb2ZmIGZpbmlzaGluZyBmbGFnDQoJCQlkZWxldGUgZGF0YS5maW5pc2g7DQoJCX0gKTsNCgl9DQp9ICk7DQoNCmpRdWVyeS5lYWNoKCBbICJ0b2dnbGUiLCAic2hvdyIsICJoaWRlIiBdLCBmdW5jdGlvbiggaSwgbmFtZSApIHsNCgl2YXIgY3NzRm4gPSBqUXVlcnkuZm5bIG5hbWUgXTsNCglqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJcmV0dXJuIHNwZWVkID09IG51bGwgfHwgdHlwZW9mIHNwZWVkID09PSAiYm9vbGVhbiIgPw0KCQkJY3NzRm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApIDoNCgkJCXRoaXMuYW5pbWF0ZSggZ2VuRngoIG5hbWUsIHRydWUgKSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgl9Ow0KfSApOw0KDQovLyBHZW5lcmF0ZSBzaG9ydGN1dHMgZm9yIGN1c3RvbSBhbmltYXRpb25zDQpqUXVlcnkuZWFjaCggew0KCXNsaWRlRG93bjogZ2VuRngoICJzaG93IiApLA0KCXNsaWRlVXA6IGdlbkZ4KCAiaGlkZSIgKSwNCglzbGlkZVRvZ2dsZTogZ2VuRngoICJ0b2dnbGUiICksDQoJZmFkZUluOiB7IG9wYWNpdHk6ICJzaG93IiB9LA0KCWZhZGVPdXQ6IHsgb3BhY2l0eTogImhpZGUiIH0sDQoJZmFkZVRvZ2dsZTogeyBvcGFjaXR5OiAidG9nZ2xlIiB9DQp9LCBmdW5jdGlvbiggbmFtZSwgcHJvcHMgKSB7DQoJalF1ZXJ5LmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJCXJldHVybiB0aGlzLmFuaW1hdGUoIHByb3BzLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApOw0KCX07DQp9ICk7DQoNCmpRdWVyeS50aW1lcnMgPSBbXTsNCmpRdWVyeS5meC50aWNrID0gZnVuY3Rpb24oKSB7DQoJdmFyIHRpbWVyLA0KCQlpID0gMCwNCgkJdGltZXJzID0galF1ZXJ5LnRpbWVyczsNCg0KCWZ4Tm93ID0galF1ZXJ5Lm5vdygpOw0KDQoJZm9yICggOyBpIDwgdGltZXJzLmxlbmd0aDsgaSsrICkgew0KCQl0aW1lciA9IHRpbWVyc1sgaSBdOw0KDQoJCS8vIFJ1biB0aGUgdGltZXIgYW5kIHNhZmVseSByZW1vdmUgaXQgd2hlbiBkb25lIChhbGxvd2luZyBmb3IgZXh0ZXJuYWwgcmVtb3ZhbCkNCgkJaWYgKCAhdGltZXIoKSAmJiB0aW1lcnNbIGkgXSA9PT0gdGltZXIgKSB7DQoJCQl0aW1lcnMuc3BsaWNlKCBpLS0sIDEgKTsNCgkJfQ0KCX0NCg0KCWlmICggIXRpbWVycy5sZW5ndGggKSB7DQoJCWpRdWVyeS5meC5zdG9wKCk7DQoJfQ0KCWZ4Tm93ID0gdW5kZWZpbmVkOw0KfTsNCg0KalF1ZXJ5LmZ4LnRpbWVyID0gZnVuY3Rpb24oIHRpbWVyICkgew0KCWpRdWVyeS50aW1lcnMucHVzaCggdGltZXIgKTsNCglqUXVlcnkuZnguc3RhcnQoKTsNCn07DQoNCmpRdWVyeS5meC5pbnRlcnZhbCA9IDEzOw0KalF1ZXJ5LmZ4LnN0YXJ0ID0gZnVuY3Rpb24oKSB7DQoJaWYgKCBpblByb2dyZXNzICkgew0KCQlyZXR1cm47DQoJfQ0KDQoJaW5Qcm9ncmVzcyA9IHRydWU7DQoJc2NoZWR1bGUoKTsNCn07DQoNCmpRdWVyeS5meC5zdG9wID0gZnVuY3Rpb24oKSB7DQoJaW5Qcm9ncmVzcyA9IG51bGw7DQp9Ow0KDQpqUXVlcnkuZnguc3BlZWRzID0gew0KCXNsb3c6IDYwMCwNCglmYXN0OiAyMDAsDQoNCgkvLyBEZWZhdWx0IHNwZWVkDQoJX2RlZmF1bHQ6IDQwMA0KfTsNCg0KDQovLyBCYXNlZCBvZmYgb2YgdGhlIHBsdWdpbiBieSBDbGludCBIZWxmZXJzLCB3aXRoIHBlcm1pc3Npb24uDQovLyBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxMDAzMjQwMTQ3NDcvaHR0cDovL2JsaW5kc2lnbmFscy5jb20vaW5kZXgucGhwLzIwMDkvMDcvanF1ZXJ5LWRlbGF5Lw0KalF1ZXJ5LmZuLmRlbGF5ID0gZnVuY3Rpb24oIHRpbWUsIHR5cGUgKSB7DQoJdGltZSA9IGpRdWVyeS5meCA_IGpRdWVyeS5meC5zcGVlZHNbIHRpbWUgXSB8fCB0aW1lIDogdGltZTsNCgl0eXBlID0gdHlwZSB8fCAiZngiOw0KDQoJcmV0dXJuIHRoaXMucXVldWUoIHR5cGUsIGZ1bmN0aW9uKCBuZXh0LCBob29rcyApIHsNCgkJdmFyIHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCggbmV4dCwgdGltZSApOw0KCQlob29rcy5zdG9wID0gZnVuY3Rpb24oKSB7DQoJCQl3aW5kb3cuY2xlYXJUaW1lb3V0KCB0aW1lb3V0ICk7DQoJCX07DQoJfSApOw0KfTsNCg0KDQooIGZ1bmN0aW9uKCkgew0KCXZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJpbnB1dCIgKSwNCgkJc2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggInNlbGVjdCIgKSwNCgkJb3B0ID0gc2VsZWN0LmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAib3B0aW9uIiApICk7DQoNCglpbnB1dC50eXBlID0gImNoZWNrYm94IjsNCg0KCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjMgb25seQ0KCS8vIERlZmF1bHQgdmFsdWUgZm9yIGEgY2hlY2tib3ggc2hvdWxkIGJlICJvbiINCglzdXBwb3J0LmNoZWNrT24gPSBpbnB1dC52YWx1ZSAhPT0gIiI7DQoNCgkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkNCgkvLyBNdXN0IGFjY2VzcyBzZWxlY3RlZEluZGV4IHRvIG1ha2UgZGVmYXVsdCBvcHRpb25zIHNlbGVjdA0KCXN1cHBvcnQub3B0U2VsZWN0ZWQgPSBvcHQuc2VsZWN0ZWQ7DQoNCgkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkNCgkvLyBBbiBpbnB1dCBsb3NlcyBpdHMgdmFsdWUgYWZ0ZXIgYmVjb21pbmcgYSByYWRpbw0KCWlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImlucHV0IiApOw0KCWlucHV0LnZhbHVlID0gInQiOw0KCWlucHV0LnR5cGUgPSAicmFkaW8iOw0KCXN1cHBvcnQucmFkaW9WYWx1ZSA9IGlucHV0LnZhbHVlID09PSAidCI7DQp9ICkoKTsNCg0KDQp2YXIgYm9vbEhvb2ssDQoJYXR0ckhhbmRsZSA9IGpRdWVyeS5leHByLmF0dHJIYW5kbGU7DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCglhdHRyOiBmdW5jdGlvbiggbmFtZSwgdmFsdWUgKSB7DQoJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGpRdWVyeS5hdHRyLCBuYW1lLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCA-IDEgKTsNCgl9LA0KDQoJcmVtb3ZlQXR0cjogZnVuY3Rpb24oIG5hbWUgKSB7DQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJalF1ZXJ5LnJlbW92ZUF0dHIoIHRoaXMsIG5hbWUgKTsNCgkJfSApOw0KCX0NCn0gKTsNCg0KalF1ZXJ5LmV4dGVuZCggew0KCWF0dHI6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCB2YWx1ZSApIHsNCgkJdmFyIHJldCwgaG9va3MsDQoJCQluVHlwZSA9IGVsZW0ubm9kZVR5cGU7DQoNCgkJLy8gRG9uJ3QgZ2V0L3NldCBhdHRyaWJ1dGVzIG9uIHRleHQsIGNvbW1lbnQgYW5kIGF0dHJpYnV0ZSBub2Rlcw0KCQlpZiAoIG5UeXBlID09PSAzIHx8IG5UeXBlID09PSA4IHx8IG5UeXBlID09PSAyICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gRmFsbGJhY2sgdG8gcHJvcCB3aGVuIGF0dHJpYnV0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQNCgkJaWYgKCB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGUgPT09ICJ1bmRlZmluZWQiICkgew0KCQkJcmV0dXJuIGpRdWVyeS5wcm9wKCBlbGVtLCBuYW1lLCB2YWx1ZSApOw0KCQl9DQoNCgkJLy8gQXR0cmlidXRlIGhvb2tzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBsb3dlcmNhc2UgdmVyc2lvbg0KCQkvLyBHcmFiIG5lY2Vzc2FyeSBob29rIGlmIG9uZSBpcyBkZWZpbmVkDQoJCWlmICggblR5cGUgIT09IDEgfHwgIWpRdWVyeS5pc1hNTERvYyggZWxlbSApICkgew0KCQkJaG9va3MgPSBqUXVlcnkuYXR0ckhvb2tzWyBuYW1lLnRvTG93ZXJDYXNlKCkgXSB8fA0KCQkJCSggalF1ZXJ5LmV4cHIubWF0Y2guYm9vbC50ZXN0KCBuYW1lICkgPyBib29sSG9vayA6IHVuZGVmaW5lZCApOw0KCQl9DQoNCgkJaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICkgew0KCQkJaWYgKCB2YWx1ZSA9PT0gbnVsbCApIHsNCgkJCQlqUXVlcnkucmVtb3ZlQXR0ciggZWxlbSwgbmFtZSApOw0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKCBob29rcyAmJiAic2V0IiBpbiBob29rcyAmJg0KCQkJCSggcmV0ID0gaG9va3Muc2V0KCBlbGVtLCB2YWx1ZSwgbmFtZSApICkgIT09IHVuZGVmaW5lZCApIHsNCgkJCQlyZXR1cm4gcmV0Ow0KCQkJfQ0KDQoJCQllbGVtLnNldEF0dHJpYnV0ZSggbmFtZSwgdmFsdWUgKyAiIiApOw0KCQkJcmV0dXJuIHZhbHVlOw0KCQl9DQoNCgkJaWYgKCBob29rcyAmJiAiZ2V0IiBpbiBob29rcyAmJiAoIHJldCA9IGhvb2tzLmdldCggZWxlbSwgbmFtZSApICkgIT09IG51bGwgKSB7DQoJCQlyZXR1cm4gcmV0Ow0KCQl9DQoNCgkJcmV0ID0galF1ZXJ5LmZpbmQuYXR0ciggZWxlbSwgbmFtZSApOw0KDQoJCS8vIE5vbi1leGlzdGVudCBhdHRyaWJ1dGVzIHJldHVybiBudWxsLCB3ZSBub3JtYWxpemUgdG8gdW5kZWZpbmVkDQoJCXJldHVybiByZXQgPT0gbnVsbCA_IHVuZGVmaW5lZCA6IHJldDsNCgl9LA0KDQoJYXR0ckhvb2tzOiB7DQoJCXR5cGU6IHsNCgkJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlICkgew0KCQkJCWlmICggIXN1cHBvcnQucmFkaW9WYWx1ZSAmJiB2YWx1ZSA9PT0gInJhZGlvIiAmJg0KCQkJCQlub2RlTmFtZSggZWxlbSwgImlucHV0IiApICkgew0KCQkJCQl2YXIgdmFsID0gZWxlbS52YWx1ZTsNCgkJCQkJZWxlbS5zZXRBdHRyaWJ1dGUoICJ0eXBlIiwgdmFsdWUgKTsNCgkJCQkJaWYgKCB2YWwgKSB7DQoJCQkJCQllbGVtLnZhbHVlID0gdmFsOw0KCQkJCQl9DQoJCQkJCXJldHVybiB2YWx1ZTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9LA0KDQoJcmVtb3ZlQXR0cjogZnVuY3Rpb24oIGVsZW0sIHZhbHVlICkgew0KCQl2YXIgbmFtZSwNCgkJCWkgPSAwLA0KDQoJCQkvLyBBdHRyaWJ1dGUgbmFtZXMgY2FuIGNvbnRhaW4gbm9uLUhUTUwgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzDQoJCQkvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNhdHRyaWJ1dGVzLTINCgkJCWF0dHJOYW1lcyA9IHZhbHVlICYmIHZhbHVlLm1hdGNoKCBybm90aHRtbHdoaXRlICk7DQoNCgkJaWYgKCBhdHRyTmFtZXMgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsNCgkJCXdoaWxlICggKCBuYW1lID0gYXR0ck5hbWVzWyBpKysgXSApICkgew0KCQkJCWVsZW0ucmVtb3ZlQXR0cmlidXRlKCBuYW1lICk7DQoJCQl9DQoJCX0NCgl9DQp9ICk7DQoNCi8vIEhvb2tzIGZvciBib29sZWFuIGF0dHJpYnV0ZXMNCmJvb2xIb29rID0gew0KCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlLCBuYW1lICkgew0KCQlpZiAoIHZhbHVlID09PSBmYWxzZSApIHsNCg0KCQkJLy8gUmVtb3ZlIGJvb2xlYW4gYXR0cmlidXRlcyB3aGVuIHNldCB0byBmYWxzZQ0KCQkJalF1ZXJ5LnJlbW92ZUF0dHIoIGVsZW0sIG5hbWUgKTsNCgkJfSBlbHNlIHsNCgkJCWVsZW0uc2V0QXR0cmlidXRlKCBuYW1lLCBuYW1lICk7DQoJCX0NCgkJcmV0dXJuIG5hbWU7DQoJfQ0KfTsNCg0KalF1ZXJ5LmVhY2goIGpRdWVyeS5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKCAvXHcrL2cgKSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7DQoJdmFyIGdldHRlciA9IGF0dHJIYW5kbGVbIG5hbWUgXSB8fCBqUXVlcnkuZmluZC5hdHRyOw0KDQoJYXR0ckhhbmRsZVsgbmFtZSBdID0gZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGlzWE1MICkgew0KCQl2YXIgcmV0LCBoYW5kbGUsDQoJCQlsb3dlcmNhc2VOYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpOw0KDQoJCWlmICggIWlzWE1MICkgew0KDQoJCQkvLyBBdm9pZCBhbiBpbmZpbml0ZSBsb29wIGJ5IHRlbXBvcmFyaWx5IHJlbW92aW5nIHRoaXMgZnVuY3Rpb24gZnJvbSB0aGUgZ2V0dGVyDQoJCQloYW5kbGUgPSBhdHRySGFuZGxlWyBsb3dlcmNhc2VOYW1lIF07DQoJCQlhdHRySGFuZGxlWyBsb3dlcmNhc2VOYW1lIF0gPSByZXQ7DQoJCQlyZXQgPSBnZXR0ZXIoIGVsZW0sIG5hbWUsIGlzWE1MICkgIT0gbnVsbCA_DQoJCQkJbG93ZXJjYXNlTmFtZSA6DQoJCQkJbnVsbDsNCgkJCWF0dHJIYW5kbGVbIGxvd2VyY2FzZU5hbWUgXSA9IGhhbmRsZTsNCgkJfQ0KCQlyZXR1cm4gcmV0Ow0KCX07DQp9ICk7DQoNCg0KDQoNCnZhciByZm9jdXNhYmxlID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSwNCglyY2xpY2thYmxlID0gL14oPzphfGFyZWEpJC9pOw0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJcHJvcDogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkgew0KCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBqUXVlcnkucHJvcCwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7DQoJfSwNCg0KCXJlbW92ZVByb3A6IGZ1bmN0aW9uKCBuYW1lICkgew0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCWRlbGV0ZSB0aGlzWyBqUXVlcnkucHJvcEZpeFsgbmFtZSBdIHx8IG5hbWUgXTsNCgkJfSApOw0KCX0NCn0gKTsNCg0KalF1ZXJ5LmV4dGVuZCggew0KCXByb3A6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCB2YWx1ZSApIHsNCgkJdmFyIHJldCwgaG9va3MsDQoJCQluVHlwZSA9IGVsZW0ubm9kZVR5cGU7DQoNCgkJLy8gRG9uJ3QgZ2V0L3NldCBwcm9wZXJ0aWVzIG9uIHRleHQsIGNvbW1lbnQgYW5kIGF0dHJpYnV0ZSBub2Rlcw0KCQlpZiAoIG5UeXBlID09PSAzIHx8IG5UeXBlID09PSA4IHx8IG5UeXBlID09PSAyICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBuVHlwZSAhPT0gMSB8fCAhalF1ZXJ5LmlzWE1MRG9jKCBlbGVtICkgKSB7DQoNCgkJCS8vIEZpeCBuYW1lIGFuZCBhdHRhY2ggaG9va3MNCgkJCW5hbWUgPSBqUXVlcnkucHJvcEZpeFsgbmFtZSBdIHx8IG5hbWU7DQoJCQlob29rcyA9IGpRdWVyeS5wcm9wSG9va3NbIG5hbWUgXTsNCgkJfQ0KDQoJCWlmICggdmFsdWUgIT09IHVuZGVmaW5lZCApIHsNCgkJCWlmICggaG9va3MgJiYgInNldCIgaW4gaG9va3MgJiYNCgkJCQkoIHJldCA9IGhvb2tzLnNldCggZWxlbSwgdmFsdWUsIG5hbWUgKSApICE9PSB1bmRlZmluZWQgKSB7DQoJCQkJcmV0dXJuIHJldDsNCgkJCX0NCg0KCQkJcmV0dXJuICggZWxlbVsgbmFtZSBdID0gdmFsdWUgKTsNCgkJfQ0KDQoJCWlmICggaG9va3MgJiYgImdldCIgaW4gaG9va3MgJiYgKCByZXQgPSBob29rcy5nZXQoIGVsZW0sIG5hbWUgKSApICE9PSBudWxsICkgew0KCQkJcmV0dXJuIHJldDsNCgkJfQ0KDQoJCXJldHVybiBlbGVtWyBuYW1lIF07DQoJfSwNCg0KCXByb3BIb29rczogew0KCQl0YWJJbmRleDogew0KCQkJZ2V0OiBmdW5jdGlvbiggZWxlbSApIHsNCg0KCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSAtIDExIG9ubHkNCgkJCQkvLyBlbGVtLnRhYkluZGV4IGRvZXNuJ3QgYWx3YXlzIHJldHVybiB0aGUNCgkJCQkvLyBjb3JyZWN0IHZhbHVlIHdoZW4gaXQgaGFzbid0IGJlZW4gZXhwbGljaXRseSBzZXQNCgkJCQkvLyBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxNDExMTYyMzMzNDcvaHR0cDovL2ZsdWlkcHJvamVjdC5vcmcvYmxvZy8yMDA4LzAxLzA5L2dldHRpbmctc2V0dGluZy1hbmQtcmVtb3ZpbmctdGFiaW5kZXgtdmFsdWVzLXdpdGgtamF2YXNjcmlwdC8NCgkJCQkvLyBVc2UgcHJvcGVyIGF0dHJpYnV0ZSByZXRyaWV2YWwoIzEyMDcyKQ0KCQkJCXZhciB0YWJpbmRleCA9IGpRdWVyeS5maW5kLmF0dHIoIGVsZW0sICJ0YWJpbmRleCIgKTsNCg0KCQkJCWlmICggdGFiaW5kZXggKSB7DQoJCQkJCXJldHVybiBwYXJzZUludCggdGFiaW5kZXgsIDEwICk7DQoJCQkJfQ0KDQoJCQkJaWYgKA0KCQkJCQlyZm9jdXNhYmxlLnRlc3QoIGVsZW0ubm9kZU5hbWUgKSB8fA0KCQkJCQlyY2xpY2thYmxlLnRlc3QoIGVsZW0ubm9kZU5hbWUgKSAmJg0KCQkJCQllbGVtLmhyZWYNCgkJCQkpIHsNCgkJCQkJcmV0dXJuIDA7DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIC0xOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCXByb3BGaXg6IHsNCgkJImZvciI6ICJodG1sRm9yIiwNCgkJImNsYXNzIjogImNsYXNzTmFtZSINCgl9DQp9ICk7DQoNCi8vIFN1cHBvcnQ6IElFIDw9MTEgb25seQ0KLy8gQWNjZXNzaW5nIHRoZSBzZWxlY3RlZEluZGV4IHByb3BlcnR5DQovLyBmb3JjZXMgdGhlIGJyb3dzZXIgdG8gcmVzcGVjdCBzZXR0aW5nIHNlbGVjdGVkDQovLyBvbiB0aGUgb3B0aW9uDQovLyBUaGUgZ2V0dGVyIGVuc3VyZXMgYSBkZWZhdWx0IG9wdGlvbiBpcyBzZWxlY3RlZA0KLy8gd2hlbiBpbiBhbiBvcHRncm91cA0KLy8gZXNsaW50IHJ1bGUgIm5vLXVudXNlZC1leHByZXNzaW9ucyIgaXMgZGlzYWJsZWQgZm9yIHRoaXMgY29kZQ0KLy8gc2luY2UgaXQgY29uc2lkZXJzIHN1Y2ggYWNjZXNzaW9ucyBub29wDQppZiAoICFzdXBwb3J0Lm9wdFNlbGVjdGVkICkgew0KCWpRdWVyeS5wcm9wSG9va3Muc2VsZWN0ZWQgPSB7DQoJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7DQoNCgkJCS8qIGVzbGludCBuby11bnVzZWQtZXhwcmVzc2lvbnM6ICJvZmYiICovDQoNCgkJCXZhciBwYXJlbnQgPSBlbGVtLnBhcmVudE5vZGU7DQoJCQlpZiAoIHBhcmVudCAmJiBwYXJlbnQucGFyZW50Tm9kZSApIHsNCgkJCQlwYXJlbnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4Ow0KCQkJfQ0KCQkJcmV0dXJuIG51bGw7DQoJCX0sDQoJCXNldDogZnVuY3Rpb24oIGVsZW0gKSB7DQoNCgkJCS8qIGVzbGludCBuby11bnVzZWQtZXhwcmVzc2lvbnM6ICJvZmYiICovDQoNCgkJCXZhciBwYXJlbnQgPSBlbGVtLnBhcmVudE5vZGU7DQoJCQlpZiAoIHBhcmVudCApIHsNCgkJCQlwYXJlbnQuc2VsZWN0ZWRJbmRleDsNCg0KCQkJCWlmICggcGFyZW50LnBhcmVudE5vZGUgKSB7DQoJCQkJCXBhcmVudC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfTsNCn0NCg0KalF1ZXJ5LmVhY2goIFsNCgkidGFiSW5kZXgiLA0KCSJyZWFkT25seSIsDQoJIm1heExlbmd0aCIsDQoJImNlbGxTcGFjaW5nIiwNCgkiY2VsbFBhZGRpbmciLA0KCSJyb3dTcGFuIiwNCgkiY29sU3BhbiIsDQoJInVzZU1hcCIsDQoJImZyYW1lQm9yZGVyIiwNCgkiY29udGVudEVkaXRhYmxlIg0KXSwgZnVuY3Rpb24oKSB7DQoJalF1ZXJ5LnByb3BGaXhbIHRoaXMudG9Mb3dlckNhc2UoKSBdID0gdGhpczsNCn0gKTsNCg0KDQoNCg0KCS8vIFN0cmlwIGFuZCBjb2xsYXBzZSB3aGl0ZXNwYWNlIGFjY29yZGluZyB0byBIVE1MIHNwZWMNCgkvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbmZyYXN0cnVjdHVyZS5odG1sI3N0cmlwLWFuZC1jb2xsYXBzZS13aGl0ZXNwYWNlDQoJZnVuY3Rpb24gc3RyaXBBbmRDb2xsYXBzZSggdmFsdWUgKSB7DQoJCXZhciB0b2tlbnMgPSB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdOw0KCQlyZXR1cm4gdG9rZW5zLmpvaW4oICIgIiApOw0KCX0NCg0KDQpmdW5jdGlvbiBnZXRDbGFzcyggZWxlbSApIHsNCglyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUgJiYgZWxlbS5nZXRBdHRyaWJ1dGUoICJjbGFzcyIgKSB8fCAiIjsNCn0NCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWFkZENsYXNzOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXZhciBjbGFzc2VzLCBlbGVtLCBjdXIsIGN1clZhbHVlLCBjbGF6eiwgaiwgZmluYWxWYWx1ZSwNCgkJCWkgPSAwOw0KDQoJCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIHZhbHVlICkgKSB7DQoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaiApIHsNCgkJCQlqUXVlcnkoIHRoaXMgKS5hZGRDbGFzcyggdmFsdWUuY2FsbCggdGhpcywgaiwgZ2V0Q2xhc3MoIHRoaXMgKSApICk7DQoJCQl9ICk7DQoJCX0NCg0KCQlpZiAoIHR5cGVvZiB2YWx1ZSA9PT0gInN0cmluZyIgJiYgdmFsdWUgKSB7DQoJCQljbGFzc2VzID0gdmFsdWUubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXTsNCg0KCQkJd2hpbGUgKCAoIGVsZW0gPSB0aGlzWyBpKysgXSApICkgew0KCQkJCWN1clZhbHVlID0gZ2V0Q2xhc3MoIGVsZW0gKTsNCgkJCQljdXIgPSBlbGVtLm5vZGVUeXBlID09PSAxICYmICggIiAiICsgc3RyaXBBbmRDb2xsYXBzZSggY3VyVmFsdWUgKSArICIgIiApOw0KDQoJCQkJaWYgKCBjdXIgKSB7DQoJCQkJCWogPSAwOw0KCQkJCQl3aGlsZSAoICggY2xhenogPSBjbGFzc2VzWyBqKysgXSApICkgew0KCQkJCQkJaWYgKCBjdXIuaW5kZXhPZiggIiAiICsgY2xhenogKyAiICIgKSA8IDAgKSB7DQoJCQkJCQkJY3VyICs9IGNsYXp6ICsgIiAiOw0KCQkJCQkJfQ0KCQkJCQl9DQoNCgkJCQkJLy8gT25seSBhc3NpZ24gaWYgZGlmZmVyZW50IHRvIGF2b2lkIHVubmVlZGVkIHJlbmRlcmluZy4NCgkJCQkJZmluYWxWYWx1ZSA9IHN0cmlwQW5kQ29sbGFwc2UoIGN1ciApOw0KCQkJCQlpZiAoIGN1clZhbHVlICE9PSBmaW5hbFZhbHVlICkgew0KCQkJCQkJZWxlbS5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsIGZpbmFsVmFsdWUgKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglyZW1vdmVDbGFzczogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl2YXIgY2xhc3NlcywgZWxlbSwgY3VyLCBjdXJWYWx1ZSwgY2xhenosIGosIGZpbmFsVmFsdWUsDQoJCQlpID0gMDsNCg0KCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCB2YWx1ZSApICkgew0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oIGogKSB7DQoJCQkJalF1ZXJ5KCB0aGlzICkucmVtb3ZlQ2xhc3MoIHZhbHVlLmNhbGwoIHRoaXMsIGosIGdldENsYXNzKCB0aGlzICkgKSApOw0KCQkJfSApOw0KCQl9DQoNCgkJaWYgKCAhYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCXJldHVybiB0aGlzLmF0dHIoICJjbGFzcyIsICIiICk7DQoJCX0NCg0KCQlpZiAoIHR5cGVvZiB2YWx1ZSA9PT0gInN0cmluZyIgJiYgdmFsdWUgKSB7DQoJCQljbGFzc2VzID0gdmFsdWUubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXTsNCg0KCQkJd2hpbGUgKCAoIGVsZW0gPSB0aGlzWyBpKysgXSApICkgew0KCQkJCWN1clZhbHVlID0gZ2V0Q2xhc3MoIGVsZW0gKTsNCg0KCQkJCS8vIFRoaXMgZXhwcmVzc2lvbiBpcyBoZXJlIGZvciBiZXR0ZXIgY29tcHJlc3NpYmlsaXR5IChzZWUgYWRkQ2xhc3MpDQoJCQkJY3VyID0gZWxlbS5ub2RlVHlwZSA9PT0gMSAmJiAoICIgIiArIHN0cmlwQW5kQ29sbGFwc2UoIGN1clZhbHVlICkgKyAiICIgKTsNCg0KCQkJCWlmICggY3VyICkgew0KCQkJCQlqID0gMDsNCgkJCQkJd2hpbGUgKCAoIGNsYXp6ID0gY2xhc3Nlc1sgaisrIF0gKSApIHsNCg0KCQkJCQkJLy8gUmVtb3ZlICphbGwqIGluc3RhbmNlcw0KCQkJCQkJd2hpbGUgKCBjdXIuaW5kZXhPZiggIiAiICsgY2xhenogKyAiICIgKSA-IC0xICkgew0KCQkJCQkJCWN1ciA9IGN1ci5yZXBsYWNlKCAiICIgKyBjbGF6eiArICIgIiwgIiAiICk7DQoJCQkJCQl9DQoJCQkJCX0NCg0KCQkJCQkvLyBPbmx5IGFzc2lnbiBpZiBkaWZmZXJlbnQgdG8gYXZvaWQgdW5uZWVkZWQgcmVuZGVyaW5nLg0KCQkJCQlmaW5hbFZhbHVlID0gc3RyaXBBbmRDb2xsYXBzZSggY3VyICk7DQoJCQkJCWlmICggY3VyVmFsdWUgIT09IGZpbmFsVmFsdWUgKSB7DQoJCQkJCQllbGVtLnNldEF0dHJpYnV0ZSggImNsYXNzIiwgZmluYWxWYWx1ZSApOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCXRvZ2dsZUNsYXNzOiBmdW5jdGlvbiggdmFsdWUsIHN0YXRlVmFsICkgew0KCQl2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTsNCg0KCQlpZiAoIHR5cGVvZiBzdGF0ZVZhbCA9PT0gImJvb2xlYW4iICYmIHR5cGUgPT09ICJzdHJpbmciICkgew0KCQkJcmV0dXJuIHN0YXRlVmFsID8gdGhpcy5hZGRDbGFzcyggdmFsdWUgKSA6IHRoaXMucmVtb3ZlQ2xhc3MoIHZhbHVlICk7DQoJCX0NCg0KCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCB2YWx1ZSApICkgew0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oIGkgKSB7DQoJCQkJalF1ZXJ5KCB0aGlzICkudG9nZ2xlQ2xhc3MoDQoJCQkJCXZhbHVlLmNhbGwoIHRoaXMsIGksIGdldENsYXNzKCB0aGlzICksIHN0YXRlVmFsICksDQoJCQkJCXN0YXRlVmFsDQoJCQkJKTsNCgkJCX0gKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGNsYXNzTmFtZSwgaSwgc2VsZiwgY2xhc3NOYW1lczsNCg0KCQkJaWYgKCB0eXBlID09PSAic3RyaW5nIiApIHsNCg0KCQkJCS8vIFRvZ2dsZSBpbmRpdmlkdWFsIGNsYXNzIG5hbWVzDQoJCQkJaSA9IDA7DQoJCQkJc2VsZiA9IGpRdWVyeSggdGhpcyApOw0KCQkJCWNsYXNzTmFtZXMgPSB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdOw0KDQoJCQkJd2hpbGUgKCAoIGNsYXNzTmFtZSA9IGNsYXNzTmFtZXNbIGkrKyBdICkgKSB7DQoNCgkJCQkJLy8gQ2hlY2sgZWFjaCBjbGFzc05hbWUgZ2l2ZW4sIHNwYWNlIHNlcGFyYXRlZCBsaXN0DQoJCQkJCWlmICggc2VsZi5oYXNDbGFzcyggY2xhc3NOYW1lICkgKSB7DQoJCQkJCQlzZWxmLnJlbW92ZUNsYXNzKCBjbGFzc05hbWUgKTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCXNlbGYuYWRkQ2xhc3MoIGNsYXNzTmFtZSApOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkvLyBUb2dnbGUgd2hvbGUgY2xhc3MgbmFtZQ0KCQkJfSBlbHNlIGlmICggdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0eXBlID09PSAiYm9vbGVhbiIgKSB7DQoJCQkJY2xhc3NOYW1lID0gZ2V0Q2xhc3MoIHRoaXMgKTsNCgkJCQlpZiAoIGNsYXNzTmFtZSApIHsNCg0KCQkJCQkvLyBTdG9yZSBjbGFzc05hbWUgaWYgc2V0DQoJCQkJCWRhdGFQcml2LnNldCggdGhpcywgIl9fY2xhc3NOYW1lX18iLCBjbGFzc05hbWUgKTsNCgkJCQl9DQoNCgkJCQkvLyBJZiB0aGUgZWxlbWVudCBoYXMgYSBjbGFzcyBuYW1lIG9yIGlmIHdlJ3JlIHBhc3NlZCBgZmFsc2VgLA0KCQkJCS8vIHRoZW4gcmVtb3ZlIHRoZSB3aG9sZSBjbGFzc25hbWUgKGlmIHRoZXJlIHdhcyBvbmUsIHRoZSBhYm92ZSBzYXZlZCBpdCkuDQoJCQkJLy8gT3RoZXJ3aXNlIGJyaW5nIGJhY2sgd2hhdGV2ZXIgd2FzIHByZXZpb3VzbHkgc2F2ZWQgKGlmIGFueXRoaW5nKSwNCgkJCQkvLyBmYWxsaW5nIGJhY2sgdG8gdGhlIGVtcHR5IHN0cmluZyBpZiBub3RoaW5nIHdhcyBzdG9yZWQuDQoJCQkJaWYgKCB0aGlzLnNldEF0dHJpYnV0ZSApIHsNCgkJCQkJdGhpcy5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsDQoJCQkJCQljbGFzc05hbWUgfHwgdmFsdWUgPT09IGZhbHNlID8NCgkJCQkJCSIiIDoNCgkJCQkJCWRhdGFQcml2LmdldCggdGhpcywgIl9fY2xhc3NOYW1lX18iICkgfHwgIiINCgkJCQkJKTsNCgkJCQl9DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJaGFzQ2xhc3M6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJdmFyIGNsYXNzTmFtZSwgZWxlbSwNCgkJCWkgPSAwOw0KDQoJCWNsYXNzTmFtZSA9ICIgIiArIHNlbGVjdG9yICsgIiAiOw0KCQl3aGlsZSAoICggZWxlbSA9IHRoaXNbIGkrKyBdICkgKSB7DQoJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgJiYNCgkJCQkoICIgIiArIHN0cmlwQW5kQ29sbGFwc2UoIGdldENsYXNzKCBlbGVtICkgKSArICIgIiApLmluZGV4T2YoIGNsYXNzTmFtZSApID4gLTEgKSB7DQoJCQkJCXJldHVybiB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCn0gKTsNCg0KDQoNCg0KdmFyIHJyZXR1cm4gPSAvXHIvZzsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCXZhbDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl2YXIgaG9va3MsIHJldCwgaXNGdW5jdGlvbiwNCgkJCWVsZW0gPSB0aGlzWyAwIF07DQoNCgkJaWYgKCAhYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCWlmICggZWxlbSApIHsNCgkJCQlob29rcyA9IGpRdWVyeS52YWxIb29rc1sgZWxlbS50eXBlIF0gfHwNCgkJCQkJalF1ZXJ5LnZhbEhvb2tzWyBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgXTsNCg0KCQkJCWlmICggaG9va3MgJiYNCgkJCQkJImdldCIgaW4gaG9va3MgJiYNCgkJCQkJKCByZXQgPSBob29rcy5nZXQoIGVsZW0sICJ2YWx1ZSIgKSApICE9PSB1bmRlZmluZWQNCgkJCQkpIHsNCgkJCQkJcmV0dXJuIHJldDsNCgkJCQl9DQoNCgkJCQlyZXQgPSBlbGVtLnZhbHVlOw0KDQoJCQkJLy8gSGFuZGxlIG1vc3QgY29tbW9uIHN0cmluZyBjYXNlcw0KCQkJCWlmICggdHlwZW9mIHJldCA9PT0gInN0cmluZyIgKSB7DQoJCQkJCXJldHVybiByZXQucmVwbGFjZSggcnJldHVybiwgIiIgKTsNCgkJCQl9DQoNCgkJCQkvLyBIYW5kbGUgY2FzZXMgd2hlcmUgdmFsdWUgaXMgbnVsbC91bmRlZiBvciBudW1iZXINCgkJCQlyZXR1cm4gcmV0ID09IG51bGwgPyAiIiA6IHJldDsNCgkJCX0NCg0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaXNGdW5jdGlvbiA9IGpRdWVyeS5pc0Z1bmN0aW9uKCB2YWx1ZSApOw0KDQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJdmFyIHZhbDsNCg0KCQkJaWYgKCB0aGlzLm5vZGVUeXBlICE9PSAxICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKCBpc0Z1bmN0aW9uICkgew0KCQkJCXZhbCA9IHZhbHVlLmNhbGwoIHRoaXMsIGksIGpRdWVyeSggdGhpcyApLnZhbCgpICk7DQoJCQl9IGVsc2Ugew0KCQkJCXZhbCA9IHZhbHVlOw0KCQkJfQ0KDQoJCQkvLyBUcmVhdCBudWxsL3VuZGVmaW5lZCBhcyAiIjsgY29udmVydCBudW1iZXJzIHRvIHN0cmluZw0KCQkJaWYgKCB2YWwgPT0gbnVsbCApIHsNCgkJCQl2YWwgPSAiIjsNCg0KCQkJfSBlbHNlIGlmICggdHlwZW9mIHZhbCA9PT0gIm51bWJlciIgKSB7DQoJCQkJdmFsICs9ICIiOw0KDQoJCQl9IGVsc2UgaWYgKCBBcnJheS5pc0FycmF5KCB2YWwgKSApIHsNCgkJCQl2YWwgPSBqUXVlcnkubWFwKCB2YWwsIGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCQkJcmV0dXJuIHZhbHVlID09IG51bGwgPyAiIiA6IHZhbHVlICsgIiI7DQoJCQkJfSApOw0KCQkJfQ0KDQoJCQlob29rcyA9IGpRdWVyeS52YWxIb29rc1sgdGhpcy50eXBlIF0gfHwgalF1ZXJ5LnZhbEhvb2tzWyB0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgXTsNCg0KCQkJLy8gSWYgc2V0IHJldHVybnMgdW5kZWZpbmVkLCBmYWxsIGJhY2sgdG8gbm9ybWFsIHNldHRpbmcNCgkJCWlmICggIWhvb2tzIHx8ICEoICJzZXQiIGluIGhvb2tzICkgfHwgaG9va3Muc2V0KCB0aGlzLCB2YWwsICJ2YWx1ZSIgKSA9PT0gdW5kZWZpbmVkICkgew0KCQkJCXRoaXMudmFsdWUgPSB2YWw7DQoJCQl9DQoJCX0gKTsNCgl9DQp9ICk7DQoNCmpRdWVyeS5leHRlbmQoIHsNCgl2YWxIb29rczogew0KCQlvcHRpb246IHsNCgkJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7DQoNCgkJCQl2YXIgdmFsID0galF1ZXJ5LmZpbmQuYXR0ciggZWxlbSwgInZhbHVlIiApOw0KCQkJCXJldHVybiB2YWwgIT0gbnVsbCA_DQoJCQkJCXZhbCA6DQoNCgkJCQkJLy8gU3VwcG9ydDogSUUgPD0xMCAtIDExIG9ubHkNCgkJCQkJLy8gb3B0aW9uLnRleHQgdGhyb3dzIGV4Y2VwdGlvbnMgKCMxNDY4NiwgIzE0ODU4KQ0KCQkJCQkvLyBTdHJpcCBhbmQgY29sbGFwc2Ugd2hpdGVzcGFjZQ0KCQkJCQkvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNzdHJpcC1hbmQtY29sbGFwc2Utd2hpdGVzcGFjZQ0KCQkJCQlzdHJpcEFuZENvbGxhcHNlKCBqUXVlcnkudGV4dCggZWxlbSApICk7DQoJCQl9DQoJCX0sDQoJCXNlbGVjdDogew0KCQkJZ2V0OiBmdW5jdGlvbiggZWxlbSApIHsNCgkJCQl2YXIgdmFsdWUsIG9wdGlvbiwgaSwNCgkJCQkJb3B0aW9ucyA9IGVsZW0ub3B0aW9ucywNCgkJCQkJaW5kZXggPSBlbGVtLnNlbGVjdGVkSW5kZXgsDQoJCQkJCW9uZSA9IGVsZW0udHlwZSA9PT0gInNlbGVjdC1vbmUiLA0KCQkJCQl2YWx1ZXMgPSBvbmUgPyBudWxsIDogW10sDQoJCQkJCW1heCA9IG9uZSA_IGluZGV4ICsgMSA6IG9wdGlvbnMubGVuZ3RoOw0KDQoJCQkJaWYgKCBpbmRleCA8IDAgKSB7DQoJCQkJCWkgPSBtYXg7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQlpID0gb25lID8gaW5kZXggOiAwOw0KCQkJCX0NCg0KCQkJCS8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIHNlbGVjdGVkIG9wdGlvbnMNCgkJCQlmb3IgKCA7IGkgPCBtYXg7IGkrKyApIHsNCgkJCQkJb3B0aW9uID0gb3B0aW9uc1sgaSBdOw0KDQoJCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQoJCQkJCS8vIElFOC05IGRvZXNuJ3QgdXBkYXRlIHNlbGVjdGVkIGFmdGVyIGZvcm0gcmVzZXQgKCMyNTUxKQ0KCQkJCQlpZiAoICggb3B0aW9uLnNlbGVjdGVkIHx8IGkgPT09IGluZGV4ICkgJiYNCg0KCQkJCQkJCS8vIERvbid0IHJldHVybiBvcHRpb25zIHRoYXQgYXJlIGRpc2FibGVkIG9yIGluIGEgZGlzYWJsZWQgb3B0Z3JvdXANCgkJCQkJCQkhb3B0aW9uLmRpc2FibGVkICYmDQoJCQkJCQkJKCAhb3B0aW9uLnBhcmVudE5vZGUuZGlzYWJsZWQgfHwNCgkJCQkJCQkJIW5vZGVOYW1lKCBvcHRpb24ucGFyZW50Tm9kZSwgIm9wdGdyb3VwIiApICkgKSB7DQoNCgkJCQkJCS8vIEdldCB0aGUgc3BlY2lmaWMgdmFsdWUgZm9yIHRoZSBvcHRpb24NCgkJCQkJCXZhbHVlID0galF1ZXJ5KCBvcHRpb24gKS52YWwoKTsNCg0KCQkJCQkJLy8gV2UgZG9uJ3QgbmVlZCBhbiBhcnJheSBmb3Igb25lIHNlbGVjdHMNCgkJCQkJCWlmICggb25lICkgew0KCQkJCQkJCXJldHVybiB2YWx1ZTsNCgkJCQkJCX0NCg0KCQkJCQkJLy8gTXVsdGktU2VsZWN0cyByZXR1cm4gYW4gYXJyYXkNCgkJCQkJCXZhbHVlcy5wdXNoKCB2YWx1ZSApOw0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkJcmV0dXJuIHZhbHVlczsNCgkJCX0sDQoNCgkJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlICkgew0KCQkJCXZhciBvcHRpb25TZXQsIG9wdGlvbiwNCgkJCQkJb3B0aW9ucyA9IGVsZW0ub3B0aW9ucywNCgkJCQkJdmFsdWVzID0galF1ZXJ5Lm1ha2VBcnJheSggdmFsdWUgKSwNCgkJCQkJaSA9IG9wdGlvbnMubGVuZ3RoOw0KDQoJCQkJd2hpbGUgKCBpLS0gKSB7DQoJCQkJCW9wdGlvbiA9IG9wdGlvbnNbIGkgXTsNCg0KCQkJCQkvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25kLWFzc2lnbiAqLw0KDQoJCQkJCWlmICggb3B0aW9uLnNlbGVjdGVkID0NCgkJCQkJCWpRdWVyeS5pbkFycmF5KCBqUXVlcnkudmFsSG9va3Mub3B0aW9uLmdldCggb3B0aW9uICksIHZhbHVlcyApID4gLTENCgkJCQkJKSB7DQoJCQkJCQlvcHRpb25TZXQgPSB0cnVlOw0KCQkJCQl9DQoNCgkJCQkJLyogZXNsaW50LWVuYWJsZSBuby1jb25kLWFzc2lnbiAqLw0KCQkJCX0NCg0KCQkJCS8vIEZvcmNlIGJyb3dzZXJzIHRvIGJlaGF2ZSBjb25zaXN0ZW50bHkgd2hlbiBub24tbWF0Y2hpbmcgdmFsdWUgaXMgc2V0DQoJCQkJaWYgKCAhb3B0aW9uU2V0ICkgew0KCQkJCQllbGVtLnNlbGVjdGVkSW5kZXggPSAtMTsNCgkJCQl9DQoJCQkJcmV0dXJuIHZhbHVlczsNCgkJCX0NCgkJfQ0KCX0NCn0gKTsNCg0KLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIGdldHRlci9zZXR0ZXINCmpRdWVyeS5lYWNoKCBbICJyYWRpbyIsICJjaGVja2JveCIgXSwgZnVuY3Rpb24oKSB7DQoJalF1ZXJ5LnZhbEhvb2tzWyB0aGlzIF0gPSB7DQoJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlICkgew0KCQkJaWYgKCBBcnJheS5pc0FycmF5KCB2YWx1ZSApICkgew0KCQkJCXJldHVybiAoIGVsZW0uY2hlY2tlZCA9IGpRdWVyeS5pbkFycmF5KCBqUXVlcnkoIGVsZW0gKS52YWwoKSwgdmFsdWUgKSA-IC0xICk7DQoJCQl9DQoJCX0NCgl9Ow0KCWlmICggIXN1cHBvcnQuY2hlY2tPbiApIHsNCgkJalF1ZXJ5LnZhbEhvb2tzWyB0aGlzIF0uZ2V0ID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoICJ2YWx1ZSIgKSA9PT0gbnVsbCA_ICJvbiIgOiBlbGVtLnZhbHVlOw0KCQl9Ow0KCX0NCn0gKTsNCg0KDQoNCg0KLy8gUmV0dXJuIGpRdWVyeSBmb3IgYXR0cmlidXRlcy1vbmx5IGluY2x1c2lvbg0KDQoNCnZhciByZm9jdXNNb3JwaCA9IC9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLzsNCg0KalF1ZXJ5LmV4dGVuZCggalF1ZXJ5LmV2ZW50LCB7DQoNCgl0cmlnZ2VyOiBmdW5jdGlvbiggZXZlbnQsIGRhdGEsIGVsZW0sIG9ubHlIYW5kbGVycyApIHsNCg0KCQl2YXIgaSwgY3VyLCB0bXAsIGJ1YmJsZVR5cGUsIG9udHlwZSwgaGFuZGxlLCBzcGVjaWFsLA0KCQkJZXZlbnRQYXRoID0gWyBlbGVtIHx8IGRvY3VtZW50IF0sDQoJCQl0eXBlID0gaGFzT3duLmNhbGwoIGV2ZW50LCAidHlwZSIgKSA_IGV2ZW50LnR5cGUgOiBldmVudCwNCgkJCW5hbWVzcGFjZXMgPSBoYXNPd24uY2FsbCggZXZlbnQsICJuYW1lc3BhY2UiICkgPyBldmVudC5uYW1lc3BhY2Uuc3BsaXQoICIuIiApIDogW107DQoNCgkJY3VyID0gdG1wID0gZWxlbSA9IGVsZW0gfHwgZG9jdW1lbnQ7DQoNCgkJLy8gRG9uJ3QgZG8gZXZlbnRzIG9uIHRleHQgYW5kIGNvbW1lbnQgbm9kZXMNCgkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAzIHx8IGVsZW0ubm9kZVR5cGUgPT09IDggKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBmb2N1cy9ibHVyIG1vcnBocyB0byBmb2N1c2luL291dDsgZW5zdXJlIHdlJ3JlIG5vdCBmaXJpbmcgdGhlbSByaWdodCBub3cNCgkJaWYgKCByZm9jdXNNb3JwaC50ZXN0KCB0eXBlICsgalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZCApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0eXBlLmluZGV4T2YoICIuIiApID4gLTEgKSB7DQoNCgkJCS8vIE5hbWVzcGFjZWQgdHJpZ2dlcjsgY3JlYXRlIGEgcmVnZXhwIHRvIG1hdGNoIGV2ZW50IHR5cGUgaW4gaGFuZGxlKCkNCgkJCW5hbWVzcGFjZXMgPSB0eXBlLnNwbGl0KCAiLiIgKTsNCgkJCXR5cGUgPSBuYW1lc3BhY2VzLnNoaWZ0KCk7DQoJCQluYW1lc3BhY2VzLnNvcnQoKTsNCgkJfQ0KCQlvbnR5cGUgPSB0eXBlLmluZGV4T2YoICI6IiApIDwgMCAmJiAib24iICsgdHlwZTsNCg0KCQkvLyBDYWxsZXIgY2FuIHBhc3MgaW4gYSBqUXVlcnkuRXZlbnQgb2JqZWN0LCBPYmplY3QsIG9yIGp1c3QgYW4gZXZlbnQgdHlwZSBzdHJpbmcNCgkJZXZlbnQgPSBldmVudFsgalF1ZXJ5LmV4cGFuZG8gXSA_DQoJCQlldmVudCA6DQoJCQluZXcgalF1ZXJ5LkV2ZW50KCB0eXBlLCB0eXBlb2YgZXZlbnQgPT09ICJvYmplY3QiICYmIGV2ZW50ICk7DQoNCgkJLy8gVHJpZ2dlciBiaXRtYXNrOiAmIDEgZm9yIG5hdGl2ZSBoYW5kbGVyczsgJiAyIGZvciBqUXVlcnkgKGFsd2F5cyB0cnVlKQ0KCQlldmVudC5pc1RyaWdnZXIgPSBvbmx5SGFuZGxlcnMgPyAyIDogMzsNCgkJZXZlbnQubmFtZXNwYWNlID0gbmFtZXNwYWNlcy5qb2luKCAiLiIgKTsNCgkJZXZlbnQucm5hbWVzcGFjZSA9IGV2ZW50Lm5hbWVzcGFjZSA_DQoJCQluZXcgUmVnRXhwKCAiKF58XFwuKSIgKyBuYW1lc3BhY2VzLmpvaW4oICJcXC4oPzouKlxcLnwpIiApICsgIihcXC58JCkiICkgOg0KCQkJbnVsbDsNCg0KCQkvLyBDbGVhbiB1cCB0aGUgZXZlbnQgaW4gY2FzZSBpdCBpcyBiZWluZyByZXVzZWQNCgkJZXZlbnQucmVzdWx0ID0gdW5kZWZpbmVkOw0KCQlpZiAoICFldmVudC50YXJnZXQgKSB7DQoJCQlldmVudC50YXJnZXQgPSBlbGVtOw0KCQl9DQoNCgkJLy8gQ2xvbmUgYW55IGluY29taW5nIGRhdGEgYW5kIHByZXBlbmQgdGhlIGV2ZW50LCBjcmVhdGluZyB0aGUgaGFuZGxlciBhcmcgbGlzdA0KCQlkYXRhID0gZGF0YSA9PSBudWxsID8NCgkJCVsgZXZlbnQgXSA6DQoJCQlqUXVlcnkubWFrZUFycmF5KCBkYXRhLCBbIGV2ZW50IF0gKTsNCg0KCQkvLyBBbGxvdyBzcGVjaWFsIGV2ZW50cyB0byBkcmF3IG91dHNpZGUgdGhlIGxpbmVzDQoJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgdHlwZSBdIHx8IHt9Ow0KCQlpZiAoICFvbmx5SGFuZGxlcnMgJiYgc3BlY2lhbC50cmlnZ2VyICYmIHNwZWNpYWwudHJpZ2dlci5hcHBseSggZWxlbSwgZGF0YSApID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIERldGVybWluZSBldmVudCBwcm9wYWdhdGlvbiBwYXRoIGluIGFkdmFuY2UsIHBlciBXM0MgZXZlbnRzIHNwZWMgKCM5OTUxKQ0KCQkvLyBCdWJibGUgdXAgdG8gZG9jdW1lbnQsIHRoZW4gdG8gd2luZG93OyB3YXRjaCBmb3IgYSBnbG9iYWwgb3duZXJEb2N1bWVudCB2YXIgKCM5NzI0KQ0KCQlpZiAoICFvbmx5SGFuZGxlcnMgJiYgIXNwZWNpYWwubm9CdWJibGUgJiYgIWpRdWVyeS5pc1dpbmRvdyggZWxlbSApICkgew0KDQoJCQlidWJibGVUeXBlID0gc3BlY2lhbC5kZWxlZ2F0ZVR5cGUgfHwgdHlwZTsNCgkJCWlmICggIXJmb2N1c01vcnBoLnRlc3QoIGJ1YmJsZVR5cGUgKyB0eXBlICkgKSB7DQoJCQkJY3VyID0gY3VyLnBhcmVudE5vZGU7DQoJCQl9DQoJCQlmb3IgKCA7IGN1cjsgY3VyID0gY3VyLnBhcmVudE5vZGUgKSB7DQoJCQkJZXZlbnRQYXRoLnB1c2goIGN1ciApOw0KCQkJCXRtcCA9IGN1cjsNCgkJCX0NCg0KCQkJLy8gT25seSBhZGQgd2luZG93IGlmIHdlIGdvdCB0byBkb2N1bWVudCAoZS5nLiwgbm90IHBsYWluIG9iaiBvciBkZXRhY2hlZCBET00pDQoJCQlpZiAoIHRtcCA9PT0gKCBlbGVtLm93bmVyRG9jdW1lbnQgfHwgZG9jdW1lbnQgKSApIHsNCgkJCQlldmVudFBhdGgucHVzaCggdG1wLmRlZmF1bHRWaWV3IHx8IHRtcC5wYXJlbnRXaW5kb3cgfHwgd2luZG93ICk7DQoJCQl9DQoJCX0NCg0KCQkvLyBGaXJlIGhhbmRsZXJzIG9uIHRoZSBldmVudCBwYXRoDQoJCWkgPSAwOw0KCQl3aGlsZSAoICggY3VyID0gZXZlbnRQYXRoWyBpKysgXSApICYmICFldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpICkgew0KDQoJCQlldmVudC50eXBlID0gaSA-IDEgPw0KCQkJCWJ1YmJsZVR5cGUgOg0KCQkJCXNwZWNpYWwuYmluZFR5cGUgfHwgdHlwZTsNCg0KCQkJLy8galF1ZXJ5IGhhbmRsZXINCgkJCWhhbmRsZSA9ICggZGF0YVByaXYuZ2V0KCBjdXIsICJldmVudHMiICkgfHwge30gKVsgZXZlbnQudHlwZSBdICYmDQoJCQkJZGF0YVByaXYuZ2V0KCBjdXIsICJoYW5kbGUiICk7DQoJCQlpZiAoIGhhbmRsZSApIHsNCgkJCQloYW5kbGUuYXBwbHkoIGN1ciwgZGF0YSApOw0KCQkJfQ0KDQoJCQkvLyBOYXRpdmUgaGFuZGxlcg0KCQkJaGFuZGxlID0gb250eXBlICYmIGN1clsgb250eXBlIF07DQoJCQlpZiAoIGhhbmRsZSAmJiBoYW5kbGUuYXBwbHkgJiYgYWNjZXB0RGF0YSggY3VyICkgKSB7DQoJCQkJZXZlbnQucmVzdWx0ID0gaGFuZGxlLmFwcGx5KCBjdXIsIGRhdGEgKTsNCgkJCQlpZiAoIGV2ZW50LnJlc3VsdCA9PT0gZmFsc2UgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCWV2ZW50LnR5cGUgPSB0eXBlOw0KDQoJCS8vIElmIG5vYm9keSBwcmV2ZW50ZWQgdGhlIGRlZmF1bHQgYWN0aW9uLCBkbyBpdCBub3cNCgkJaWYgKCAhb25seUhhbmRsZXJzICYmICFldmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSApIHsNCg0KCQkJaWYgKCAoICFzcGVjaWFsLl9kZWZhdWx0IHx8DQoJCQkJc3BlY2lhbC5fZGVmYXVsdC5hcHBseSggZXZlbnRQYXRoLnBvcCgpLCBkYXRhICkgPT09IGZhbHNlICkgJiYNCgkJCQlhY2NlcHREYXRhKCBlbGVtICkgKSB7DQoNCgkJCQkvLyBDYWxsIGEgbmF0aXZlIERPTSBtZXRob2Qgb24gdGhlIHRhcmdldCB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGV2ZW50Lg0KCQkJCS8vIERvbid0IGRvIGRlZmF1bHQgYWN0aW9ucyBvbiB3aW5kb3csIHRoYXQncyB3aGVyZSBnbG9iYWwgdmFyaWFibGVzIGJlICgjNjE3MCkNCgkJCQlpZiAoIG9udHlwZSAmJiBqUXVlcnkuaXNGdW5jdGlvbiggZWxlbVsgdHlwZSBdICkgJiYgIWpRdWVyeS5pc1dpbmRvdyggZWxlbSApICkgew0KDQoJCQkJCS8vIERvbid0IHJlLXRyaWdnZXIgYW4gb25GT08gZXZlbnQgd2hlbiB3ZSBjYWxsIGl0cyBGT08oKSBtZXRob2QNCgkJCQkJdG1wID0gZWxlbVsgb250eXBlIF07DQoNCgkJCQkJaWYgKCB0bXAgKSB7DQoJCQkJCQllbGVtWyBvbnR5cGUgXSA9IG51bGw7DQoJCQkJCX0NCg0KCQkJCQkvLyBQcmV2ZW50IHJlLXRyaWdnZXJpbmcgb2YgdGhlIHNhbWUgZXZlbnQsIHNpbmNlIHdlIGFscmVhZHkgYnViYmxlZCBpdCBhYm92ZQ0KCQkJCQlqUXVlcnkuZXZlbnQudHJpZ2dlcmVkID0gdHlwZTsNCgkJCQkJZWxlbVsgdHlwZSBdKCk7DQoJCQkJCWpRdWVyeS5ldmVudC50cmlnZ2VyZWQgPSB1bmRlZmluZWQ7DQoNCgkJCQkJaWYgKCB0bXAgKSB7DQoJCQkJCQllbGVtWyBvbnR5cGUgXSA9IHRtcDsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXJldHVybiBldmVudC5yZXN1bHQ7DQoJfSwNCg0KCS8vIFBpZ2d5YmFjayBvbiBhIGRvbm9yIGV2ZW50IHRvIHNpbXVsYXRlIGEgZGlmZmVyZW50IG9uZQ0KCS8vIFVzZWQgb25seSBmb3IgYGZvY3VzKGluIHwgb3V0KWAgZXZlbnRzDQoJc2ltdWxhdGU6IGZ1bmN0aW9uKCB0eXBlLCBlbGVtLCBldmVudCApIHsNCgkJdmFyIGUgPSBqUXVlcnkuZXh0ZW5kKA0KCQkJbmV3IGpRdWVyeS5FdmVudCgpLA0KCQkJZXZlbnQsDQoJCQl7DQoJCQkJdHlwZTogdHlwZSwNCgkJCQlpc1NpbXVsYXRlZDogdHJ1ZQ0KCQkJfQ0KCQkpOw0KDQoJCWpRdWVyeS5ldmVudC50cmlnZ2VyKCBlLCBudWxsLCBlbGVtICk7DQoJfQ0KDQp9ICk7DQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCg0KCXRyaWdnZXI6IGZ1bmN0aW9uKCB0eXBlLCBkYXRhICkgew0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCWpRdWVyeS5ldmVudC50cmlnZ2VyKCB0eXBlLCBkYXRhLCB0aGlzICk7DQoJCX0gKTsNCgl9LA0KCXRyaWdnZXJIYW5kbGVyOiBmdW5jdGlvbiggdHlwZSwgZGF0YSApIHsNCgkJdmFyIGVsZW0gPSB0aGlzWyAwIF07DQoJCWlmICggZWxlbSApIHsNCgkJCXJldHVybiBqUXVlcnkuZXZlbnQudHJpZ2dlciggdHlwZSwgZGF0YSwgZWxlbSwgdHJ1ZSApOw0KCQl9DQoJfQ0KfSApOw0KDQoNCmpRdWVyeS5lYWNoKCAoICJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayAiICsNCgkibW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgIiArDQoJImNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgY29udGV4dG1lbnUiICkuc3BsaXQoICIgIiApLA0KCWZ1bmN0aW9uKCBpLCBuYW1lICkgew0KDQoJLy8gSGFuZGxlIGV2ZW50IGJpbmRpbmcNCglqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBkYXRhLCBmbiApIHsNCgkJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPiAwID8NCgkJCXRoaXMub24oIG5hbWUsIG51bGwsIGRhdGEsIGZuICkgOg0KCQkJdGhpcy50cmlnZ2VyKCBuYW1lICk7DQoJfTsNCn0gKTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCWhvdmVyOiBmdW5jdGlvbiggZm5PdmVyLCBmbk91dCApIHsNCgkJcmV0dXJuIHRoaXMubW91c2VlbnRlciggZm5PdmVyICkubW91c2VsZWF2ZSggZm5PdXQgfHwgZm5PdmVyICk7DQoJfQ0KfSApOw0KDQoNCg0KDQpzdXBwb3J0LmZvY3VzaW4gPSAib25mb2N1c2luIiBpbiB3aW5kb3c7DQoNCg0KLy8gU3VwcG9ydDogRmlyZWZveCA8PTQ0DQovLyBGaXJlZm94IGRvZXNuJ3QgaGF2ZSBmb2N1cyhpbiB8IG91dCkgZXZlbnRzDQovLyBSZWxhdGVkIHRpY2tldCAtIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Nzc4Nw0KLy8NCi8vIFN1cHBvcnQ6IENocm9tZSA8PTQ4IC0gNDksIFNhZmFyaSA8PTkuMCAtIDkuMQ0KLy8gZm9jdXMoaW4gfCBvdXQpIGV2ZW50cyBmaXJlIGFmdGVyIGZvY3VzICYgYmx1ciBldmVudHMsDQovLyB3aGljaCBpcyBzcGVjIHZpb2xhdGlvbiAtIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLWZvY3VzZXZlbnQtZXZlbnQtb3JkZXINCi8vIFJlbGF0ZWQgdGlja2V0IC0gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw_aWQ9NDQ5ODU3DQppZiAoICFzdXBwb3J0LmZvY3VzaW4gKSB7DQoJalF1ZXJ5LmVhY2goIHsgZm9jdXM6ICJmb2N1c2luIiwgYmx1cjogImZvY3Vzb3V0IiB9LCBmdW5jdGlvbiggb3JpZywgZml4ICkgew0KDQoJCS8vIEF0dGFjaCBhIHNpbmdsZSBjYXB0dXJpbmcgaGFuZGxlciBvbiB0aGUgZG9jdW1lbnQgd2hpbGUgc29tZW9uZSB3YW50cyBmb2N1c2luL2ZvY3Vzb3V0DQoJCXZhciBoYW5kbGVyID0gZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJalF1ZXJ5LmV2ZW50LnNpbXVsYXRlKCBmaXgsIGV2ZW50LnRhcmdldCwgalF1ZXJ5LmV2ZW50LmZpeCggZXZlbnQgKSApOw0KCQl9Ow0KDQoJCWpRdWVyeS5ldmVudC5zcGVjaWFsWyBmaXggXSA9IHsNCgkJCXNldHVwOiBmdW5jdGlvbigpIHsNCgkJCQl2YXIgZG9jID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsDQoJCQkJCWF0dGFjaGVzID0gZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCApOw0KDQoJCQkJaWYgKCAhYXR0YWNoZXMgKSB7DQoJCQkJCWRvYy5hZGRFdmVudExpc3RlbmVyKCBvcmlnLCBoYW5kbGVyLCB0cnVlICk7DQoJCQkJfQ0KCQkJCWRhdGFQcml2LmFjY2VzcyggZG9jLCBmaXgsICggYXR0YWNoZXMgfHwgMCApICsgMSApOw0KCQkJfSwNCgkJCXRlYXJkb3duOiBmdW5jdGlvbigpIHsNCgkJCQl2YXIgZG9jID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsDQoJCQkJCWF0dGFjaGVzID0gZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCApIC0gMTsNCg0KCQkJCWlmICggIWF0dGFjaGVzICkgew0KCQkJCQlkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lciggb3JpZywgaGFuZGxlciwgdHJ1ZSApOw0KCQkJCQlkYXRhUHJpdi5yZW1vdmUoIGRvYywgZml4ICk7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQlkYXRhUHJpdi5hY2Nlc3MoIGRvYywgZml4LCBhdHRhY2hlcyApOw0KCQkJCX0NCgkJCX0NCgkJfTsNCgl9ICk7DQp9DQp2YXIgbG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247DQoNCnZhciBub25jZSA9IGpRdWVyeS5ub3coKTsNCg0KdmFyIHJxdWVyeSA9ICggL1w_LyApOw0KDQoNCg0KLy8gQ3Jvc3MtYnJvd3NlciB4bWwgcGFyc2luZw0KalF1ZXJ5LnBhcnNlWE1MID0gZnVuY3Rpb24oIGRhdGEgKSB7DQoJdmFyIHhtbDsNCglpZiAoICFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAic3RyaW5nIiApIHsNCgkJcmV0dXJuIG51bGw7DQoJfQ0KDQoJLy8gU3VwcG9ydDogSUUgOSAtIDExIG9ubHkNCgkvLyBJRSB0aHJvd3Mgb24gcGFyc2VGcm9tU3RyaW5nIHdpdGggaW52YWxpZCBpbnB1dC4NCgl0cnkgew0KCQl4bWwgPSAoIG5ldyB3aW5kb3cuRE9NUGFyc2VyKCkgKS5wYXJzZUZyb21TdHJpbmcoIGRhdGEsICJ0ZXh0L3htbCIgKTsNCgl9IGNhdGNoICggZSApIHsNCgkJeG1sID0gdW5kZWZpbmVkOw0KCX0NCg0KCWlmICggIXhtbCB8fCB4bWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoICJwYXJzZXJlcnJvciIgKS5sZW5ndGggKSB7DQoJCWpRdWVyeS5lcnJvciggIkludmFsaWQgWE1MOiAiICsgZGF0YSApOw0KCX0NCglyZXR1cm4geG1sOw0KfTsNCg0KDQp2YXINCglyYnJhY2tldCA9IC9cW1xdJC8sDQoJckNSTEYgPSAvXHI_XG4vZywNCglyc3VibWl0dGVyVHlwZXMgPSAvXig_OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksDQoJcnN1Ym1pdHRhYmxlID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pOw0KDQpmdW5jdGlvbiBidWlsZFBhcmFtcyggcHJlZml4LCBvYmosIHRyYWRpdGlvbmFsLCBhZGQgKSB7DQoJdmFyIG5hbWU7DQoNCglpZiAoIEFycmF5LmlzQXJyYXkoIG9iaiApICkgew0KDQoJCS8vIFNlcmlhbGl6ZSBhcnJheSBpdGVtLg0KCQlqUXVlcnkuZWFjaCggb2JqLCBmdW5jdGlvbiggaSwgdiApIHsNCgkJCWlmICggdHJhZGl0aW9uYWwgfHwgcmJyYWNrZXQudGVzdCggcHJlZml4ICkgKSB7DQoNCgkJCQkvLyBUcmVhdCBlYWNoIGFycmF5IGl0ZW0gYXMgYSBzY2FsYXIuDQoJCQkJYWRkKCBwcmVmaXgsIHYgKTsNCg0KCQkJfSBlbHNlIHsNCg0KCQkJCS8vIEl0ZW0gaXMgbm9uLXNjYWxhciAoYXJyYXkgb3Igb2JqZWN0KSwgZW5jb2RlIGl0cyBudW1lcmljIGluZGV4Lg0KCQkJCWJ1aWxkUGFyYW1zKA0KCQkJCQlwcmVmaXggKyAiWyIgKyAoIHR5cGVvZiB2ID09PSAib2JqZWN0IiAmJiB2ICE9IG51bGwgPyBpIDogIiIgKSArICJdIiwNCgkJCQkJdiwNCgkJCQkJdHJhZGl0aW9uYWwsDQoJCQkJCWFkZA0KCQkJCSk7DQoJCQl9DQoJCX0gKTsNCg0KCX0gZWxzZSBpZiAoICF0cmFkaXRpb25hbCAmJiBqUXVlcnkudHlwZSggb2JqICkgPT09ICJvYmplY3QiICkgew0KDQoJCS8vIFNlcmlhbGl6ZSBvYmplY3QgaXRlbS4NCgkJZm9yICggbmFtZSBpbiBvYmogKSB7DQoJCQlidWlsZFBhcmFtcyggcHJlZml4ICsgIlsiICsgbmFtZSArICJdIiwgb2JqWyBuYW1lIF0sIHRyYWRpdGlvbmFsLCBhZGQgKTsNCgkJfQ0KDQoJfSBlbHNlIHsNCg0KCQkvLyBTZXJpYWxpemUgc2NhbGFyIGl0ZW0uDQoJCWFkZCggcHJlZml4LCBvYmogKTsNCgl9DQp9DQoNCi8vIFNlcmlhbGl6ZSBhbiBhcnJheSBvZiBmb3JtIGVsZW1lbnRzIG9yIGEgc2V0IG9mDQovLyBrZXkvdmFsdWVzIGludG8gYSBxdWVyeSBzdHJpbmcNCmpRdWVyeS5wYXJhbSA9IGZ1bmN0aW9uKCBhLCB0cmFkaXRpb25hbCApIHsNCgl2YXIgcHJlZml4LA0KCQlzID0gW10sDQoJCWFkZCA9IGZ1bmN0aW9uKCBrZXksIHZhbHVlT3JGdW5jdGlvbiApIHsNCg0KCQkJLy8gSWYgdmFsdWUgaXMgYSBmdW5jdGlvbiwgaW52b2tlIGl0IGFuZCB1c2UgaXRzIHJldHVybiB2YWx1ZQ0KCQkJdmFyIHZhbHVlID0galF1ZXJ5LmlzRnVuY3Rpb24oIHZhbHVlT3JGdW5jdGlvbiApID8NCgkJCQl2YWx1ZU9yRnVuY3Rpb24oKSA6DQoJCQkJdmFsdWVPckZ1bmN0aW9uOw0KDQoJCQlzWyBzLmxlbmd0aCBdID0gZW5jb2RlVVJJQ29tcG9uZW50KCBrZXkgKSArICI9IiArDQoJCQkJZW5jb2RlVVJJQ29tcG9uZW50KCB2YWx1ZSA9PSBudWxsID8gIiIgOiB2YWx1ZSApOw0KCQl9Ow0KDQoJLy8gSWYgYW4gYXJyYXkgd2FzIHBhc3NlZCBpbiwgYXNzdW1lIHRoYXQgaXQgaXMgYW4gYXJyYXkgb2YgZm9ybSBlbGVtZW50cy4NCglpZiAoIEFycmF5LmlzQXJyYXkoIGEgKSB8fCAoIGEuanF1ZXJ5ICYmICFqUXVlcnkuaXNQbGFpbk9iamVjdCggYSApICkgKSB7DQoNCgkJLy8gU2VyaWFsaXplIHRoZSBmb3JtIGVsZW1lbnRzDQoJCWpRdWVyeS5lYWNoKCBhLCBmdW5jdGlvbigpIHsNCgkJCWFkZCggdGhpcy5uYW1lLCB0aGlzLnZhbHVlICk7DQoJCX0gKTsNCg0KCX0gZWxzZSB7DQoNCgkJLy8gSWYgdHJhZGl0aW9uYWwsIGVuY29kZSB0aGUgIm9sZCIgd2F5ICh0aGUgd2F5IDEuMy4yIG9yIG9sZGVyDQoJCS8vIGRpZCBpdCksIG90aGVyd2lzZSBlbmNvZGUgcGFyYW1zIHJlY3Vyc2l2ZWx5Lg0KCQlmb3IgKCBwcmVmaXggaW4gYSApIHsNCgkJCWJ1aWxkUGFyYW1zKCBwcmVmaXgsIGFbIHByZWZpeCBdLCB0cmFkaXRpb25hbCwgYWRkICk7DQoJCX0NCgl9DQoNCgkvLyBSZXR1cm4gdGhlIHJlc3VsdGluZyBzZXJpYWxpemF0aW9uDQoJcmV0dXJuIHMuam9pbiggIiYiICk7DQp9Ow0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoJc2VyaWFsaXplOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIGpRdWVyeS5wYXJhbSggdGhpcy5zZXJpYWxpemVBcnJheSgpICk7DQoJfSwNCglzZXJpYWxpemVBcnJheTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLm1hcCggZnVuY3Rpb24oKSB7DQoNCgkJCS8vIENhbiBhZGQgcHJvcEhvb2sgZm9yICJlbGVtZW50cyIgdG8gZmlsdGVyIG9yIGFkZCBmb3JtIGVsZW1lbnRzDQoJCQl2YXIgZWxlbWVudHMgPSBqUXVlcnkucHJvcCggdGhpcywgImVsZW1lbnRzIiApOw0KCQkJcmV0dXJuIGVsZW1lbnRzID8galF1ZXJ5Lm1ha2VBcnJheSggZWxlbWVudHMgKSA6IHRoaXM7DQoJCX0gKQ0KCQkuZmlsdGVyKCBmdW5jdGlvbigpIHsNCgkJCXZhciB0eXBlID0gdGhpcy50eXBlOw0KDQoJCQkvLyBVc2UgLmlzKCAiOmRpc2FibGVkIiApIHNvIHRoYXQgZmllbGRzZXRbZGlzYWJsZWRdIHdvcmtzDQoJCQlyZXR1cm4gdGhpcy5uYW1lICYmICFqUXVlcnkoIHRoaXMgKS5pcyggIjpkaXNhYmxlZCIgKSAmJg0KCQkJCXJzdWJtaXR0YWJsZS50ZXN0KCB0aGlzLm5vZGVOYW1lICkgJiYgIXJzdWJtaXR0ZXJUeXBlcy50ZXN0KCB0eXBlICkgJiYNCgkJCQkoIHRoaXMuY2hlY2tlZCB8fCAhcmNoZWNrYWJsZVR5cGUudGVzdCggdHlwZSApICk7DQoJCX0gKQ0KCQkubWFwKCBmdW5jdGlvbiggaSwgZWxlbSApIHsNCgkJCXZhciB2YWwgPSBqUXVlcnkoIHRoaXMgKS52YWwoKTsNCg0KCQkJaWYgKCB2YWwgPT0gbnVsbCApIHsNCgkJCQlyZXR1cm4gbnVsbDsNCgkJCX0NCg0KCQkJaWYgKCBBcnJheS5pc0FycmF5KCB2YWwgKSApIHsNCgkJCQlyZXR1cm4galF1ZXJ5Lm1hcCggdmFsLCBmdW5jdGlvbiggdmFsICkgew0KCQkJCQlyZXR1cm4geyBuYW1lOiBlbGVtLm5hbWUsIHZhbHVlOiB2YWwucmVwbGFjZSggckNSTEYsICJcclxuIiApIH07DQoJCQkJfSApOw0KCQkJfQ0KDQoJCQlyZXR1cm4geyBuYW1lOiBlbGVtLm5hbWUsIHZhbHVlOiB2YWwucmVwbGFjZSggckNSTEYsICJcclxuIiApIH07DQoJCX0gKS5nZXQoKTsNCgl9DQp9ICk7DQoNCg0KdmFyDQoJcjIwID0gLyUyMC9nLA0KCXJoYXNoID0gLyMuKiQvLA0KCXJhbnRpQ2FjaGUgPSAvKFs_Jl0pXz1bXiZdKi8sDQoJcmhlYWRlcnMgPSAvXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL21nLA0KDQoJLy8gIzc2NTMsICM4MTI1LCAjODE1MjogbG9jYWwgcHJvdG9jb2wgZGV0ZWN0aW9uDQoJcmxvY2FsUHJvdG9jb2wgPSAvXig_OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLywNCglybm9Db250ZW50ID0gL14oPzpHRVR8SEVBRCkkLywNCglycHJvdG9jb2wgPSAvXlwvXC8vLA0KDQoJLyogUHJlZmlsdGVycw0KCSAqIDEpIFRoZXkgYXJlIHVzZWZ1bCB0byBpbnRyb2R1Y2UgY3VzdG9tIGRhdGFUeXBlcyAoc2VlIGFqYXgvanNvbnAuanMgZm9yIGFuIGV4YW1wbGUpDQoJICogMikgVGhlc2UgYXJlIGNhbGxlZDoNCgkgKiAgICAtIEJFRk9SRSBhc2tpbmcgZm9yIGEgdHJhbnNwb3J0DQoJICogICAgLSBBRlRFUiBwYXJhbSBzZXJpYWxpemF0aW9uIChzLmRhdGEgaXMgYSBzdHJpbmcgaWYgcy5wcm9jZXNzRGF0YSBpcyB0cnVlKQ0KCSAqIDMpIGtleSBpcyB0aGUgZGF0YVR5cGUNCgkgKiA0KSB0aGUgY2F0Y2hhbGwgc3ltYm9sICIqIiBjYW4gYmUgdXNlZA0KCSAqIDUpIGV4ZWN1dGlvbiB3aWxsIHN0YXJ0IHdpdGggdHJhbnNwb3J0IGRhdGFUeXBlIGFuZCBUSEVOIGNvbnRpbnVlIGRvd24gdG8gIioiIGlmIG5lZWRlZA0KCSAqLw0KCXByZWZpbHRlcnMgPSB7fSwNCg0KCS8qIFRyYW5zcG9ydHMgYmluZGluZ3MNCgkgKiAxKSBrZXkgaXMgdGhlIGRhdGFUeXBlDQoJICogMikgdGhlIGNhdGNoYWxsIHN5bWJvbCAiKiIgY2FuIGJlIHVzZWQNCgkgKiAzKSBzZWxlY3Rpb24gd2lsbCBzdGFydCB3aXRoIHRyYW5zcG9ydCBkYXRhVHlwZSBhbmQgVEhFTiBnbyB0byAiKiIgaWYgbmVlZGVkDQoJICovDQoJdHJhbnNwb3J0cyA9IHt9LA0KDQoJLy8gQXZvaWQgY29tbWVudC1wcm9sb2cgY2hhciBzZXF1ZW5jZSAoIzEwMDk4KTsgbXVzdCBhcHBlYXNlIGxpbnQgYW5kIGV2YWRlIGNvbXByZXNzaW9uDQoJYWxsVHlwZXMgPSAiKi8iLmNvbmNhdCggIioiICksDQoNCgkvLyBBbmNob3IgdGFnIGZvciBwYXJzaW5nIHRoZSBkb2N1bWVudCBvcmlnaW4NCglvcmlnaW5BbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiYSIgKTsNCglvcmlnaW5BbmNob3IuaHJlZiA9IGxvY2F0aW9uLmhyZWY7DQoNCi8vIEJhc2UgImNvbnN0cnVjdG9yIiBmb3IgalF1ZXJ5LmFqYXhQcmVmaWx0ZXIgYW5kIGpRdWVyeS5hamF4VHJhbnNwb3J0DQpmdW5jdGlvbiBhZGRUb1ByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHN0cnVjdHVyZSApIHsNCg0KCS8vIGRhdGFUeXBlRXhwcmVzc2lvbiBpcyBvcHRpb25hbCBhbmQgZGVmYXVsdHMgdG8gIioiDQoJcmV0dXJuIGZ1bmN0aW9uKCBkYXRhVHlwZUV4cHJlc3Npb24sIGZ1bmMgKSB7DQoNCgkJaWYgKCB0eXBlb2YgZGF0YVR5cGVFeHByZXNzaW9uICE9PSAic3RyaW5nIiApIHsNCgkJCWZ1bmMgPSBkYXRhVHlwZUV4cHJlc3Npb247DQoJCQlkYXRhVHlwZUV4cHJlc3Npb24gPSAiKiI7DQoJCX0NCg0KCQl2YXIgZGF0YVR5cGUsDQoJCQlpID0gMCwNCgkJCWRhdGFUeXBlcyA9IGRhdGFUeXBlRXhwcmVzc2lvbi50b0xvd2VyQ2FzZSgpLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW107DQoNCgkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggZnVuYyApICkgew0KDQoJCQkvLyBGb3IgZWFjaCBkYXRhVHlwZSBpbiB0aGUgZGF0YVR5cGVFeHByZXNzaW9uDQoJCQl3aGlsZSAoICggZGF0YVR5cGUgPSBkYXRhVHlwZXNbIGkrKyBdICkgKSB7DQoNCgkJCQkvLyBQcmVwZW5kIGlmIHJlcXVlc3RlZA0KCQkJCWlmICggZGF0YVR5cGVbIDAgXSA9PT0gIisiICkgew0KCQkJCQlkYXRhVHlwZSA9IGRhdGFUeXBlLnNsaWNlKCAxICkgfHwgIioiOw0KCQkJCQkoIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSA9IHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSApLnVuc2hpZnQoIGZ1bmMgKTsNCg0KCQkJCS8vIE90aGVyd2lzZSBhcHBlbmQNCgkJCQl9IGVsc2Ugew0KCQkJCQkoIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSA9IHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSApLnB1c2goIGZ1bmMgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9Ow0KfQ0KDQovLyBCYXNlIGluc3BlY3Rpb24gZnVuY3Rpb24gZm9yIHByZWZpbHRlcnMgYW5kIHRyYW5zcG9ydHMNCmZ1bmN0aW9uIGluc3BlY3RQcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCBzdHJ1Y3R1cmUsIG9wdGlvbnMsIG9yaWdpbmFsT3B0aW9ucywganFYSFIgKSB7DQoNCgl2YXIgaW5zcGVjdGVkID0ge30sDQoJCXNlZWtpbmdUcmFuc3BvcnQgPSAoIHN0cnVjdHVyZSA9PT0gdHJhbnNwb3J0cyApOw0KDQoJZnVuY3Rpb24gaW5zcGVjdCggZGF0YVR5cGUgKSB7DQoJCXZhciBzZWxlY3RlZDsNCgkJaW5zcGVjdGVkWyBkYXRhVHlwZSBdID0gdHJ1ZTsNCgkJalF1ZXJ5LmVhY2goIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSwgZnVuY3Rpb24oIF8sIHByZWZpbHRlck9yRmFjdG9yeSApIHsNCgkJCXZhciBkYXRhVHlwZU9yVHJhbnNwb3J0ID0gcHJlZmlsdGVyT3JGYWN0b3J5KCBvcHRpb25zLCBvcmlnaW5hbE9wdGlvbnMsIGpxWEhSICk7DQoJCQlpZiAoIHR5cGVvZiBkYXRhVHlwZU9yVHJhbnNwb3J0ID09PSAic3RyaW5nIiAmJg0KCQkJCSFzZWVraW5nVHJhbnNwb3J0ICYmICFpbnNwZWN0ZWRbIGRhdGFUeXBlT3JUcmFuc3BvcnQgXSApIHsNCg0KCQkJCW9wdGlvbnMuZGF0YVR5cGVzLnVuc2hpZnQoIGRhdGFUeXBlT3JUcmFuc3BvcnQgKTsNCgkJCQlpbnNwZWN0KCBkYXRhVHlwZU9yVHJhbnNwb3J0ICk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfSBlbHNlIGlmICggc2Vla2luZ1RyYW5zcG9ydCApIHsNCgkJCQlyZXR1cm4gISggc2VsZWN0ZWQgPSBkYXRhVHlwZU9yVHJhbnNwb3J0ICk7DQoJCQl9DQoJCX0gKTsNCgkJcmV0dXJuIHNlbGVjdGVkOw0KCX0NCg0KCXJldHVybiBpbnNwZWN0KCBvcHRpb25zLmRhdGFUeXBlc1sgMCBdICkgfHwgIWluc3BlY3RlZFsgIioiIF0gJiYgaW5zcGVjdCggIioiICk7DQp9DQoNCi8vIEEgc3BlY2lhbCBleHRlbmQgZm9yIGFqYXggb3B0aW9ucw0KLy8gdGhhdCB0YWtlcyAiZmxhdCIgb3B0aW9ucyAobm90IHRvIGJlIGRlZXAgZXh0ZW5kZWQpDQovLyBGaXhlcyAjOTg4Nw0KZnVuY3Rpb24gYWpheEV4dGVuZCggdGFyZ2V0LCBzcmMgKSB7DQoJdmFyIGtleSwgZGVlcCwNCgkJZmxhdE9wdGlvbnMgPSBqUXVlcnkuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zIHx8IHt9Ow0KDQoJZm9yICgga2V5IGluIHNyYyApIHsNCgkJaWYgKCBzcmNbIGtleSBdICE9PSB1bmRlZmluZWQgKSB7DQoJCQkoIGZsYXRPcHRpb25zWyBrZXkgXSA_IHRhcmdldCA6ICggZGVlcCB8fCAoIGRlZXAgPSB7fSApICkgKVsga2V5IF0gPSBzcmNbIGtleSBdOw0KCQl9DQoJfQ0KCWlmICggZGVlcCApIHsNCgkJalF1ZXJ5LmV4dGVuZCggdHJ1ZSwgdGFyZ2V0LCBkZWVwICk7DQoJfQ0KDQoJcmV0dXJuIHRhcmdldDsNCn0NCg0KLyogSGFuZGxlcyByZXNwb25zZXMgdG8gYW4gYWpheCByZXF1ZXN0Og0KICogLSBmaW5kcyB0aGUgcmlnaHQgZGF0YVR5cGUgKG1lZGlhdGVzIGJldHdlZW4gY29udGVudC10eXBlIGFuZCBleHBlY3RlZCBkYXRhVHlwZSkNCiAqIC0gcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyByZXNwb25zZQ0KICovDQpmdW5jdGlvbiBhamF4SGFuZGxlUmVzcG9uc2VzKCBzLCBqcVhIUiwgcmVzcG9uc2VzICkgew0KDQoJdmFyIGN0LCB0eXBlLCBmaW5hbERhdGFUeXBlLCBmaXJzdERhdGFUeXBlLA0KCQljb250ZW50cyA9IHMuY29udGVudHMsDQoJCWRhdGFUeXBlcyA9IHMuZGF0YVR5cGVzOw0KDQoJLy8gUmVtb3ZlIGF1dG8gZGF0YVR5cGUgYW5kIGdldCBjb250ZW50LXR5cGUgaW4gdGhlIHByb2Nlc3MNCgl3aGlsZSAoIGRhdGFUeXBlc1sgMCBdID09PSAiKiIgKSB7DQoJCWRhdGFUeXBlcy5zaGlmdCgpOw0KCQlpZiAoIGN0ID09PSB1bmRlZmluZWQgKSB7DQoJCQljdCA9IHMubWltZVR5cGUgfHwganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoICJDb250ZW50LVR5cGUiICk7DQoJCX0NCgl9DQoNCgkvLyBDaGVjayBpZiB3ZSdyZSBkZWFsaW5nIHdpdGggYSBrbm93biBjb250ZW50LXR5cGUNCglpZiAoIGN0ICkgew0KCQlmb3IgKCB0eXBlIGluIGNvbnRlbnRzICkgew0KCQkJaWYgKCBjb250ZW50c1sgdHlwZSBdICYmIGNvbnRlbnRzWyB0eXBlIF0udGVzdCggY3QgKSApIHsNCgkJCQlkYXRhVHlwZXMudW5zaGlmdCggdHlwZSApOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIGhhdmUgYSByZXNwb25zZSBmb3IgdGhlIGV4cGVjdGVkIGRhdGFUeXBlDQoJaWYgKCBkYXRhVHlwZXNbIDAgXSBpbiByZXNwb25zZXMgKSB7DQoJCWZpbmFsRGF0YVR5cGUgPSBkYXRhVHlwZXNbIDAgXTsNCgl9IGVsc2Ugew0KDQoJCS8vIFRyeSBjb252ZXJ0aWJsZSBkYXRhVHlwZXMNCgkJZm9yICggdHlwZSBpbiByZXNwb25zZXMgKSB7DQoJCQlpZiAoICFkYXRhVHlwZXNbIDAgXSB8fCBzLmNvbnZlcnRlcnNbIHR5cGUgKyAiICIgKyBkYXRhVHlwZXNbIDAgXSBdICkgew0KCQkJCWZpbmFsRGF0YVR5cGUgPSB0eXBlOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQkJaWYgKCAhZmlyc3REYXRhVHlwZSApIHsNCgkJCQlmaXJzdERhdGFUeXBlID0gdHlwZTsNCgkJCX0NCgkJfQ0KDQoJCS8vIE9yIGp1c3QgdXNlIGZpcnN0IG9uZQ0KCQlmaW5hbERhdGFUeXBlID0gZmluYWxEYXRhVHlwZSB8fCBmaXJzdERhdGFUeXBlOw0KCX0NCg0KCS8vIElmIHdlIGZvdW5kIGEgZGF0YVR5cGUNCgkvLyBXZSBhZGQgdGhlIGRhdGFUeXBlIHRvIHRoZSBsaXN0IGlmIG5lZWRlZA0KCS8vIGFuZCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmcgcmVzcG9uc2UNCglpZiAoIGZpbmFsRGF0YVR5cGUgKSB7DQoJCWlmICggZmluYWxEYXRhVHlwZSAhPT0gZGF0YVR5cGVzWyAwIF0gKSB7DQoJCQlkYXRhVHlwZXMudW5zaGlmdCggZmluYWxEYXRhVHlwZSApOw0KCQl9DQoJCXJldHVybiByZXNwb25zZXNbIGZpbmFsRGF0YVR5cGUgXTsNCgl9DQp9DQoNCi8qIENoYWluIGNvbnZlcnNpb25zIGdpdmVuIHRoZSByZXF1ZXN0IGFuZCB0aGUgb3JpZ2luYWwgcmVzcG9uc2UNCiAqIEFsc28gc2V0cyB0aGUgcmVzcG9uc2VYWFggZmllbGRzIG9uIHRoZSBqcVhIUiBpbnN0YW5jZQ0KICovDQpmdW5jdGlvbiBhamF4Q29udmVydCggcywgcmVzcG9uc2UsIGpxWEhSLCBpc1N1Y2Nlc3MgKSB7DQoJdmFyIGNvbnYyLCBjdXJyZW50LCBjb252LCB0bXAsIHByZXYsDQoJCWNvbnZlcnRlcnMgPSB7fSwNCg0KCQkvLyBXb3JrIHdpdGggYSBjb3B5IG9mIGRhdGFUeXBlcyBpbiBjYXNlIHdlIG5lZWQgdG8gbW9kaWZ5IGl0IGZvciBjb252ZXJzaW9uDQoJCWRhdGFUeXBlcyA9IHMuZGF0YVR5cGVzLnNsaWNlKCk7DQoNCgkvLyBDcmVhdGUgY29udmVydGVycyBtYXAgd2l0aCBsb3dlcmNhc2VkIGtleXMNCglpZiAoIGRhdGFUeXBlc1sgMSBdICkgew0KCQlmb3IgKCBjb252IGluIHMuY29udmVydGVycyApIHsNCgkJCWNvbnZlcnRlcnNbIGNvbnYudG9Mb3dlckNhc2UoKSBdID0gcy5jb252ZXJ0ZXJzWyBjb252IF07DQoJCX0NCgl9DQoNCgljdXJyZW50ID0gZGF0YVR5cGVzLnNoaWZ0KCk7DQoNCgkvLyBDb252ZXJ0IHRvIGVhY2ggc2VxdWVudGlhbCBkYXRhVHlwZQ0KCXdoaWxlICggY3VycmVudCApIHsNCg0KCQlpZiAoIHMucmVzcG9uc2VGaWVsZHNbIGN1cnJlbnQgXSApIHsNCgkJCWpxWEhSWyBzLnJlc3BvbnNlRmllbGRzWyBjdXJyZW50IF0gXSA9IHJlc3BvbnNlOw0KCQl9DQoNCgkJLy8gQXBwbHkgdGhlIGRhdGFGaWx0ZXIgaWYgcHJvdmlkZWQNCgkJaWYgKCAhcHJldiAmJiBpc1N1Y2Nlc3MgJiYgcy5kYXRhRmlsdGVyICkgew0KCQkJcmVzcG9uc2UgPSBzLmRhdGFGaWx0ZXIoIHJlc3BvbnNlLCBzLmRhdGFUeXBlICk7DQoJCX0NCg0KCQlwcmV2ID0gY3VycmVudDsNCgkJY3VycmVudCA9IGRhdGFUeXBlcy5zaGlmdCgpOw0KDQoJCWlmICggY3VycmVudCApIHsNCg0KCQkJLy8gVGhlcmUncyBvbmx5IHdvcmsgdG8gZG8gaWYgY3VycmVudCBkYXRhVHlwZSBpcyBub24tYXV0bw0KCQkJaWYgKCBjdXJyZW50ID09PSAiKiIgKSB7DQoNCgkJCQljdXJyZW50ID0gcHJldjsNCg0KCQkJLy8gQ29udmVydCByZXNwb25zZSBpZiBwcmV2IGRhdGFUeXBlIGlzIG5vbi1hdXRvIGFuZCBkaWZmZXJzIGZyb20gY3VycmVudA0KCQkJfSBlbHNlIGlmICggcHJldiAhPT0gIioiICYmIHByZXYgIT09IGN1cnJlbnQgKSB7DQoNCgkJCQkvLyBTZWVrIGEgZGlyZWN0IGNvbnZlcnRlcg0KCQkJCWNvbnYgPSBjb252ZXJ0ZXJzWyBwcmV2ICsgIiAiICsgY3VycmVudCBdIHx8IGNvbnZlcnRlcnNbICIqICIgKyBjdXJyZW50IF07DQoNCgkJCQkvLyBJZiBub25lIGZvdW5kLCBzZWVrIGEgcGFpcg0KCQkJCWlmICggIWNvbnYgKSB7DQoJCQkJCWZvciAoIGNvbnYyIGluIGNvbnZlcnRlcnMgKSB7DQoNCgkJCQkJCS8vIElmIGNvbnYyIG91dHB1dHMgY3VycmVudA0KCQkJCQkJdG1wID0gY29udjIuc3BsaXQoICIgIiApOw0KCQkJCQkJaWYgKCB0bXBbIDEgXSA9PT0gY3VycmVudCApIHsNCg0KCQkJCQkJCS8vIElmIHByZXYgY2FuIGJlIGNvbnZlcnRlZCB0byBhY2NlcHRlZCBpbnB1dA0KCQkJCQkJCWNvbnYgPSBjb252ZXJ0ZXJzWyBwcmV2ICsgIiAiICsgdG1wWyAwIF0gXSB8fA0KCQkJCQkJCQljb252ZXJ0ZXJzWyAiKiAiICsgdG1wWyAwIF0gXTsNCgkJCQkJCQlpZiAoIGNvbnYgKSB7DQoNCgkJCQkJCQkJLy8gQ29uZGVuc2UgZXF1aXZhbGVuY2UgY29udmVydGVycw0KCQkJCQkJCQlpZiAoIGNvbnYgPT09IHRydWUgKSB7DQoJCQkJCQkJCQljb252ID0gY29udmVydGVyc1sgY29udjIgXTsNCg0KCQkJCQkJCQkvLyBPdGhlcndpc2UsIGluc2VydCB0aGUgaW50ZXJtZWRpYXRlIGRhdGFUeXBlDQoJCQkJCQkJCX0gZWxzZSBpZiAoIGNvbnZlcnRlcnNbIGNvbnYyIF0gIT09IHRydWUgKSB7DQoJCQkJCQkJCQljdXJyZW50ID0gdG1wWyAwIF07DQoJCQkJCQkJCQlkYXRhVHlwZXMudW5zaGlmdCggdG1wWyAxIF0gKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCQlicmVhazsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQkvLyBBcHBseSBjb252ZXJ0ZXIgKGlmIG5vdCBhbiBlcXVpdmFsZW5jZSkNCgkJCQlpZiAoIGNvbnYgIT09IHRydWUgKSB7DQoNCgkJCQkJLy8gVW5sZXNzIGVycm9ycyBhcmUgYWxsb3dlZCB0byBidWJibGUsIGNhdGNoIGFuZCByZXR1cm4gdGhlbQ0KCQkJCQlpZiAoIGNvbnYgJiYgcy50aHJvd3MgKSB7DQoJCQkJCQlyZXNwb25zZSA9IGNvbnYoIHJlc3BvbnNlICk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQl0cnkgew0KCQkJCQkJCXJlc3BvbnNlID0gY29udiggcmVzcG9uc2UgKTsNCgkJCQkJCX0gY2F0Y2ggKCBlICkgew0KCQkJCQkJCXJldHVybiB7DQoJCQkJCQkJCXN0YXRlOiAicGFyc2VyZXJyb3IiLA0KCQkJCQkJCQllcnJvcjogY29udiA_IGUgOiAiTm8gY29udmVyc2lvbiBmcm9tICIgKyBwcmV2ICsgIiB0byAiICsgY3VycmVudA0KCQkJCQkJCX07DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglyZXR1cm4geyBzdGF0ZTogInN1Y2Nlc3MiLCBkYXRhOiByZXNwb25zZSB9Ow0KfQ0KDQpqUXVlcnkuZXh0ZW5kKCB7DQoNCgkvLyBDb3VudGVyIGZvciBob2xkaW5nIHRoZSBudW1iZXIgb2YgYWN0aXZlIHF1ZXJpZXMNCglhY3RpdmU6IDAsDQoNCgkvLyBMYXN0LU1vZGlmaWVkIGhlYWRlciBjYWNoZSBmb3IgbmV4dCByZXF1ZXN0DQoJbGFzdE1vZGlmaWVkOiB7fSwNCglldGFnOiB7fSwNCg0KCWFqYXhTZXR0aW5nczogew0KCQl1cmw6IGxvY2F0aW9uLmhyZWYsDQoJCXR5cGU6ICJHRVQiLA0KCQlpc0xvY2FsOiBybG9jYWxQcm90b2NvbC50ZXN0KCBsb2NhdGlvbi5wcm90b2NvbCApLA0KCQlnbG9iYWw6IHRydWUsDQoJCXByb2Nlc3NEYXRhOiB0cnVlLA0KCQlhc3luYzogdHJ1ZSwNCgkJY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLA0KDQoJCS8qDQoJCXRpbWVvdXQ6IDAsDQoJCWRhdGE6IG51bGwsDQoJCWRhdGFUeXBlOiBudWxsLA0KCQl1c2VybmFtZTogbnVsbCwNCgkJcGFzc3dvcmQ6IG51bGwsDQoJCWNhY2hlOiBudWxsLA0KCQl0aHJvd3M6IGZhbHNlLA0KCQl0cmFkaXRpb25hbDogZmFsc2UsDQoJCWhlYWRlcnM6IHt9LA0KCQkqLw0KDQoJCWFjY2VwdHM6IHsNCgkJCSIqIjogYWxsVHlwZXMsDQoJCQl0ZXh0OiAidGV4dC9wbGFpbiIsDQoJCQlodG1sOiAidGV4dC9odG1sIiwNCgkJCXhtbDogImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLA0KCQkJanNvbjogImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCINCgkJfSwNCg0KCQljb250ZW50czogew0KCQkJeG1sOiAvXGJ4bWxcYi8sDQoJCQlodG1sOiAvXGJodG1sLywNCgkJCWpzb246IC9cYmpzb25cYi8NCgkJfSwNCg0KCQlyZXNwb25zZUZpZWxkczogew0KCQkJeG1sOiAicmVzcG9uc2VYTUwiLA0KCQkJdGV4dDogInJlc3BvbnNlVGV4dCIsDQoJCQlqc29uOiAicmVzcG9uc2VKU09OIg0KCQl9LA0KDQoJCS8vIERhdGEgY29udmVydGVycw0KCQkvLyBLZXlzIHNlcGFyYXRlIHNvdXJjZSAob3IgY2F0Y2hhbGwgIioiKSBhbmQgZGVzdGluYXRpb24gdHlwZXMgd2l0aCBhIHNpbmdsZSBzcGFjZQ0KCQljb252ZXJ0ZXJzOiB7DQoNCgkJCS8vIENvbnZlcnQgYW55dGhpbmcgdG8gdGV4dA0KCQkJIiogdGV4dCI6IFN0cmluZywNCg0KCQkJLy8gVGV4dCB0byBodG1sICh0cnVlID0gbm8gdHJhbnNmb3JtYXRpb24pDQoJCQkidGV4dCBodG1sIjogdHJ1ZSwNCg0KCQkJLy8gRXZhbHVhdGUgdGV4dCBhcyBhIGpzb24gZXhwcmVzc2lvbg0KCQkJInRleHQganNvbiI6IEpTT04ucGFyc2UsDQoNCgkJCS8vIFBhcnNlIHRleHQgYXMgeG1sDQoJCQkidGV4dCB4bWwiOiBqUXVlcnkucGFyc2VYTUwNCgkJfSwNCg0KCQkvLyBGb3Igb3B0aW9ucyB0aGF0IHNob3VsZG4ndCBiZSBkZWVwIGV4dGVuZGVkOg0KCQkvLyB5b3UgY2FuIGFkZCB5b3VyIG93biBjdXN0b20gb3B0aW9ucyBoZXJlIGlmDQoJCS8vIGFuZCB3aGVuIHlvdSBjcmVhdGUgb25lIHRoYXQgc2hvdWxkbid0IGJlDQoJCS8vIGRlZXAgZXh0ZW5kZWQgKHNlZSBhamF4RXh0ZW5kKQ0KCQlmbGF0T3B0aW9uczogew0KCQkJdXJsOiB0cnVlLA0KCQkJY29udGV4dDogdHJ1ZQ0KCQl9DQoJfSwNCg0KCS8vIENyZWF0ZXMgYSBmdWxsIGZsZWRnZWQgc2V0dGluZ3Mgb2JqZWN0IGludG8gdGFyZ2V0DQoJLy8gd2l0aCBib3RoIGFqYXhTZXR0aW5ncyBhbmQgc2V0dGluZ3MgZmllbGRzLg0KCS8vIElmIHRhcmdldCBpcyBvbWl0dGVkLCB3cml0ZXMgaW50byBhamF4U2V0dGluZ3MuDQoJYWpheFNldHVwOiBmdW5jdGlvbiggdGFyZ2V0LCBzZXR0aW5ncyApIHsNCgkJcmV0dXJuIHNldHRpbmdzID8NCg0KCQkJLy8gQnVpbGRpbmcgYSBzZXR0aW5ncyBvYmplY3QNCgkJCWFqYXhFeHRlbmQoIGFqYXhFeHRlbmQoIHRhcmdldCwgalF1ZXJ5LmFqYXhTZXR0aW5ncyApLCBzZXR0aW5ncyApIDoNCg0KCQkJLy8gRXh0ZW5kaW5nIGFqYXhTZXR0aW5ncw0KCQkJYWpheEV4dGVuZCggalF1ZXJ5LmFqYXhTZXR0aW5ncywgdGFyZ2V0ICk7DQoJfSwNCg0KCWFqYXhQcmVmaWx0ZXI6IGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyggcHJlZmlsdGVycyApLA0KCWFqYXhUcmFuc3BvcnQ6IGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyggdHJhbnNwb3J0cyApLA0KDQoJLy8gTWFpbiBtZXRob2QNCglhamF4OiBmdW5jdGlvbiggdXJsLCBvcHRpb25zICkgew0KDQoJCS8vIElmIHVybCBpcyBhbiBvYmplY3QsIHNpbXVsYXRlIHByZS0xLjUgc2lnbmF0dXJlDQoJCWlmICggdHlwZW9mIHVybCA9PT0gIm9iamVjdCIgKSB7DQoJCQlvcHRpb25zID0gdXJsOw0KCQkJdXJsID0gdW5kZWZpbmVkOw0KCQl9DQoNCgkJLy8gRm9yY2Ugb3B0aW9ucyB0byBiZSBhbiBvYmplY3QNCgkJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307DQoNCgkJdmFyIHRyYW5zcG9ydCwNCg0KCQkJLy8gVVJMIHdpdGhvdXQgYW50aS1jYWNoZSBwYXJhbQ0KCQkJY2FjaGVVUkwsDQoNCgkJCS8vIFJlc3BvbnNlIGhlYWRlcnMNCgkJCXJlc3BvbnNlSGVhZGVyc1N0cmluZywNCgkJCXJlc3BvbnNlSGVhZGVycywNCg0KCQkJLy8gdGltZW91dCBoYW5kbGUNCgkJCXRpbWVvdXRUaW1lciwNCg0KCQkJLy8gVXJsIGNsZWFudXAgdmFyDQoJCQl1cmxBbmNob3IsDQoNCgkJCS8vIFJlcXVlc3Qgc3RhdGUgKGJlY29tZXMgZmFsc2UgdXBvbiBzZW5kIGFuZCB0cnVlIHVwb24gY29tcGxldGlvbikNCgkJCWNvbXBsZXRlZCwNCg0KCQkJLy8gVG8ga25vdyBpZiBnbG9iYWwgZXZlbnRzIGFyZSB0byBiZSBkaXNwYXRjaGVkDQoJCQlmaXJlR2xvYmFscywNCg0KCQkJLy8gTG9vcCB2YXJpYWJsZQ0KCQkJaSwNCg0KCQkJLy8gdW5jYWNoZWQgcGFydCBvZiB0aGUgdXJsDQoJCQl1bmNhY2hlZCwNCg0KCQkJLy8gQ3JlYXRlIHRoZSBmaW5hbCBvcHRpb25zIG9iamVjdA0KCQkJcyA9IGpRdWVyeS5hamF4U2V0dXAoIHt9LCBvcHRpb25zICksDQoNCgkJCS8vIENhbGxiYWNrcyBjb250ZXh0DQoJCQljYWxsYmFja0NvbnRleHQgPSBzLmNvbnRleHQgfHwgcywNCg0KCQkJLy8gQ29udGV4dCBmb3IgZ2xvYmFsIGV2ZW50cyBpcyBjYWxsYmFja0NvbnRleHQgaWYgaXQgaXMgYSBET00gbm9kZSBvciBqUXVlcnkgY29sbGVjdGlvbg0KCQkJZ2xvYmFsRXZlbnRDb250ZXh0ID0gcy5jb250ZXh0ICYmDQoJCQkJKCBjYWxsYmFja0NvbnRleHQubm9kZVR5cGUgfHwgY2FsbGJhY2tDb250ZXh0LmpxdWVyeSApID8NCgkJCQkJalF1ZXJ5KCBjYWxsYmFja0NvbnRleHQgKSA6DQoJCQkJCWpRdWVyeS5ldmVudCwNCg0KCQkJLy8gRGVmZXJyZWRzDQoJCQlkZWZlcnJlZCA9IGpRdWVyeS5EZWZlcnJlZCgpLA0KCQkJY29tcGxldGVEZWZlcnJlZCA9IGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwNCg0KCQkJLy8gU3RhdHVzLWRlcGVuZGVudCBjYWxsYmFja3MNCgkJCXN0YXR1c0NvZGUgPSBzLnN0YXR1c0NvZGUgfHwge30sDQoNCgkJCS8vIEhlYWRlcnMgKHRoZXkgYXJlIHNlbnQgYWxsIGF0IG9uY2UpDQoJCQlyZXF1ZXN0SGVhZGVycyA9IHt9LA0KCQkJcmVxdWVzdEhlYWRlcnNOYW1lcyA9IHt9LA0KDQoJCQkvLyBEZWZhdWx0IGFib3J0IG1lc3NhZ2UNCgkJCXN0ckFib3J0ID0gImNhbmNlbGVkIiwNCg0KCQkJLy8gRmFrZSB4aHINCgkJCWpxWEhSID0gew0KCQkJCXJlYWR5U3RhdGU6IDAsDQoNCgkJCQkvLyBCdWlsZHMgaGVhZGVycyBoYXNodGFibGUgaWYgbmVlZGVkDQoJCQkJZ2V0UmVzcG9uc2VIZWFkZXI6IGZ1bmN0aW9uKCBrZXkgKSB7DQoJCQkJCXZhciBtYXRjaDsNCgkJCQkJaWYgKCBjb21wbGV0ZWQgKSB7DQoJCQkJCQlpZiAoICFyZXNwb25zZUhlYWRlcnMgKSB7DQoJCQkJCQkJcmVzcG9uc2VIZWFkZXJzID0ge307DQoJCQkJCQkJd2hpbGUgKCAoIG1hdGNoID0gcmhlYWRlcnMuZXhlYyggcmVzcG9uc2VIZWFkZXJzU3RyaW5nICkgKSApIHsNCgkJCQkJCQkJcmVzcG9uc2VIZWFkZXJzWyBtYXRjaFsgMSBdLnRvTG93ZXJDYXNlKCkgXSA9IG1hdGNoWyAyIF07DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQkJbWF0Y2ggPSByZXNwb25zZUhlYWRlcnNbIGtleS50b0xvd2VyQ2FzZSgpIF07DQoJCQkJCX0NCgkJCQkJcmV0dXJuIG1hdGNoID09IG51bGwgPyBudWxsIDogbWF0Y2g7DQoJCQkJfSwNCg0KCQkJCS8vIFJhdyBzdHJpbmcNCgkJCQlnZXRBbGxSZXNwb25zZUhlYWRlcnM6IGZ1bmN0aW9uKCkgew0KCQkJCQlyZXR1cm4gY29tcGxldGVkID8gcmVzcG9uc2VIZWFkZXJzU3RyaW5nIDogbnVsbDsNCgkJCQl9LA0KDQoJCQkJLy8gQ2FjaGVzIHRoZSBoZWFkZXINCgkJCQlzZXRSZXF1ZXN0SGVhZGVyOiBmdW5jdGlvbiggbmFtZSwgdmFsdWUgKSB7DQoJCQkJCWlmICggY29tcGxldGVkID09IG51bGwgKSB7DQoJCQkJCQluYW1lID0gcmVxdWVzdEhlYWRlcnNOYW1lc1sgbmFtZS50b0xvd2VyQ2FzZSgpIF0gPQ0KCQkJCQkJCXJlcXVlc3RIZWFkZXJzTmFtZXNbIG5hbWUudG9Mb3dlckNhc2UoKSBdIHx8IG5hbWU7DQoJCQkJCQlyZXF1ZXN0SGVhZGVyc1sgbmFtZSBdID0gdmFsdWU7DQoJCQkJCX0NCgkJCQkJcmV0dXJuIHRoaXM7DQoJCQkJfSwNCg0KCQkJCS8vIE92ZXJyaWRlcyByZXNwb25zZSBjb250ZW50LXR5cGUgaGVhZGVyDQoJCQkJb3ZlcnJpZGVNaW1lVHlwZTogZnVuY3Rpb24oIHR5cGUgKSB7DQoJCQkJCWlmICggY29tcGxldGVkID09IG51bGwgKSB7DQoJCQkJCQlzLm1pbWVUeXBlID0gdHlwZTsNCgkJCQkJfQ0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9LA0KDQoJCQkJLy8gU3RhdHVzLWRlcGVuZGVudCBjYWxsYmFja3MNCgkJCQlzdGF0dXNDb2RlOiBmdW5jdGlvbiggbWFwICkgew0KCQkJCQl2YXIgY29kZTsNCgkJCQkJaWYgKCBtYXAgKSB7DQoJCQkJCQlpZiAoIGNvbXBsZXRlZCApIHsNCg0KCQkJCQkJCS8vIEV4ZWN1dGUgdGhlIGFwcHJvcHJpYXRlIGNhbGxiYWNrcw0KCQkJCQkJCWpxWEhSLmFsd2F5cyggbWFwWyBqcVhIUi5zdGF0dXMgXSApOw0KCQkJCQkJfSBlbHNlIHsNCg0KCQkJCQkJCS8vIExhenktYWRkIHRoZSBuZXcgY2FsbGJhY2tzIGluIGEgd2F5IHRoYXQgcHJlc2VydmVzIG9sZCBvbmVzDQoJCQkJCQkJZm9yICggY29kZSBpbiBtYXAgKSB7DQoJCQkJCQkJCXN0YXR1c0NvZGVbIGNvZGUgXSA9IFsgc3RhdHVzQ29kZVsgY29kZSBdLCBtYXBbIGNvZGUgXSBdOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9LA0KDQoJCQkJLy8gQ2FuY2VsIHRoZSByZXF1ZXN0DQoJCQkJYWJvcnQ6IGZ1bmN0aW9uKCBzdGF0dXNUZXh0ICkgew0KCQkJCQl2YXIgZmluYWxUZXh0ID0gc3RhdHVzVGV4dCB8fCBzdHJBYm9ydDsNCgkJCQkJaWYgKCB0cmFuc3BvcnQgKSB7DQoJCQkJCQl0cmFuc3BvcnQuYWJvcnQoIGZpbmFsVGV4dCApOw0KCQkJCQl9DQoJCQkJCWRvbmUoIDAsIGZpbmFsVGV4dCApOw0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9DQoJCQl9Ow0KDQoJCS8vIEF0dGFjaCBkZWZlcnJlZHMNCgkJZGVmZXJyZWQucHJvbWlzZSgganFYSFIgKTsNCg0KCQkvLyBBZGQgcHJvdG9jb2wgaWYgbm90IHByb3ZpZGVkIChwcmVmaWx0ZXJzIG1pZ2h0IGV4cGVjdCBpdCkNCgkJLy8gSGFuZGxlIGZhbHN5IHVybCBpbiB0aGUgc2V0dGluZ3Mgb2JqZWN0ICgjMTAwOTM6IGNvbnNpc3RlbmN5IHdpdGggb2xkIHNpZ25hdHVyZSkNCgkJLy8gV2UgYWxzbyB1c2UgdGhlIHVybCBwYXJhbWV0ZXIgaWYgYXZhaWxhYmxlDQoJCXMudXJsID0gKCAoIHVybCB8fCBzLnVybCB8fCBsb2NhdGlvbi5ocmVmICkgKyAiIiApDQoJCQkucmVwbGFjZSggcnByb3RvY29sLCBsb2NhdGlvbi5wcm90b2NvbCArICIvLyIgKTsNCg0KCQkvLyBBbGlhcyBtZXRob2Qgb3B0aW9uIHRvIHR5cGUgYXMgcGVyIHRpY2tldCAjMTIwMDQNCgkJcy50eXBlID0gb3B0aW9ucy5tZXRob2QgfHwgb3B0aW9ucy50eXBlIHx8IHMubWV0aG9kIHx8IHMudHlwZTsNCg0KCQkvLyBFeHRyYWN0IGRhdGFUeXBlcyBsaXN0DQoJCXMuZGF0YVR5cGVzID0gKCBzLmRhdGFUeXBlIHx8ICIqIiApLnRvTG93ZXJDYXNlKCkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbICIiIF07DQoNCgkJLy8gQSBjcm9zcy1kb21haW4gcmVxdWVzdCBpcyBpbiBvcmRlciB3aGVuIHRoZSBvcmlnaW4gZG9lc24ndCBtYXRjaCB0aGUgY3VycmVudCBvcmlnaW4uDQoJCWlmICggcy5jcm9zc0RvbWFpbiA9PSBudWxsICkgew0KCQkJdXJsQW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImEiICk7DQoNCgkJCS8vIFN1cHBvcnQ6IElFIDw9OCAtIDExLCBFZGdlIDEyIC0gMTMNCgkJCS8vIElFIHRocm93cyBleGNlcHRpb24gb24gYWNjZXNzaW5nIHRoZSBocmVmIHByb3BlcnR5IGlmIHVybCBpcyBtYWxmb3JtZWQsDQoJCQkvLyBlLmcuIGh0dHA6Ly9leGFtcGxlLmNvbTo4MHgvDQoJCQl0cnkgew0KCQkJCXVybEFuY2hvci5ocmVmID0gcy51cmw7DQoNCgkJCQkvLyBTdXBwb3J0OiBJRSA8PTggLSAxMSBvbmx5DQoJCQkJLy8gQW5jaG9yJ3MgaG9zdCBwcm9wZXJ0eSBpc24ndCBjb3JyZWN0bHkgc2V0IHdoZW4gcy51cmwgaXMgcmVsYXRpdmUNCgkJCQl1cmxBbmNob3IuaHJlZiA9IHVybEFuY2hvci5ocmVmOw0KCQkJCXMuY3Jvc3NEb21haW4gPSBvcmlnaW5BbmNob3IucHJvdG9jb2wgKyAiLy8iICsgb3JpZ2luQW5jaG9yLmhvc3QgIT09DQoJCQkJCXVybEFuY2hvci5wcm90b2NvbCArICIvLyIgKyB1cmxBbmNob3IuaG9zdDsNCgkJCX0gY2F0Y2ggKCBlICkgew0KDQoJCQkJLy8gSWYgdGhlcmUgaXMgYW4gZXJyb3IgcGFyc2luZyB0aGUgVVJMLCBhc3N1bWUgaXQgaXMgY3Jvc3NEb21haW4sDQoJCQkJLy8gaXQgY2FuIGJlIHJlamVjdGVkIGJ5IHRoZSB0cmFuc3BvcnQgaWYgaXQgaXMgaW52YWxpZA0KCQkJCXMuY3Jvc3NEb21haW4gPSB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJLy8gQ29udmVydCBkYXRhIGlmIG5vdCBhbHJlYWR5IGEgc3RyaW5nDQoJCWlmICggcy5kYXRhICYmIHMucHJvY2Vzc0RhdGEgJiYgdHlwZW9mIHMuZGF0YSAhPT0gInN0cmluZyIgKSB7DQoJCQlzLmRhdGEgPSBqUXVlcnkucGFyYW0oIHMuZGF0YSwgcy50cmFkaXRpb25hbCApOw0KCQl9DQoNCgkJLy8gQXBwbHkgcHJlZmlsdGVycw0KCQlpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyggcHJlZmlsdGVycywgcywgb3B0aW9ucywganFYSFIgKTsNCg0KCQkvLyBJZiByZXF1ZXN0IHdhcyBhYm9ydGVkIGluc2lkZSBhIHByZWZpbHRlciwgc3RvcCB0aGVyZQ0KCQlpZiAoIGNvbXBsZXRlZCApIHsNCgkJCXJldHVybiBqcVhIUjsNCgkJfQ0KDQoJCS8vIFdlIGNhbiBmaXJlIGdsb2JhbCBldmVudHMgYXMgb2Ygbm93IGlmIGFza2VkIHRvDQoJCS8vIERvbid0IGZpcmUgZXZlbnRzIGlmIGpRdWVyeS5ldmVudCBpcyB1bmRlZmluZWQgaW4gYW4gQU1ELXVzYWdlIHNjZW5hcmlvICgjMTUxMTgpDQoJCWZpcmVHbG9iYWxzID0galF1ZXJ5LmV2ZW50ICYmIHMuZ2xvYmFsOw0KDQoJCS8vIFdhdGNoIGZvciBhIG5ldyBzZXQgb2YgcmVxdWVzdHMNCgkJaWYgKCBmaXJlR2xvYmFscyAmJiBqUXVlcnkuYWN0aXZlKysgPT09IDAgKSB7DQoJCQlqUXVlcnkuZXZlbnQudHJpZ2dlciggImFqYXhTdGFydCIgKTsNCgkJfQ0KDQoJCS8vIFVwcGVyY2FzZSB0aGUgdHlwZQ0KCQlzLnR5cGUgPSBzLnR5cGUudG9VcHBlckNhc2UoKTsNCg0KCQkvLyBEZXRlcm1pbmUgaWYgcmVxdWVzdCBoYXMgY29udGVudA0KCQlzLmhhc0NvbnRlbnQgPSAhcm5vQ29udGVudC50ZXN0KCBzLnR5cGUgKTsNCg0KCQkvLyBTYXZlIHRoZSBVUkwgaW4gY2FzZSB3ZSdyZSB0b3lpbmcgd2l0aCB0aGUgSWYtTW9kaWZpZWQtU2luY2UNCgkJLy8gYW5kL29yIElmLU5vbmUtTWF0Y2ggaGVhZGVyIGxhdGVyIG9uDQoJCS8vIFJlbW92ZSBoYXNoIHRvIHNpbXBsaWZ5IHVybCBtYW5pcHVsYXRpb24NCgkJY2FjaGVVUkwgPSBzLnVybC5yZXBsYWNlKCByaGFzaCwgIiIgKTsNCg0KCQkvLyBNb3JlIG9wdGlvbnMgaGFuZGxpbmcgZm9yIHJlcXVlc3RzIHdpdGggbm8gY29udGVudA0KCQlpZiAoICFzLmhhc0NvbnRlbnQgKSB7DQoNCgkJCS8vIFJlbWVtYmVyIHRoZSBoYXNoIHNvIHdlIGNhbiBwdXQgaXQgYmFjaw0KCQkJdW5jYWNoZWQgPSBzLnVybC5zbGljZSggY2FjaGVVUkwubGVuZ3RoICk7DQoNCgkJCS8vIElmIGRhdGEgaXMgYXZhaWxhYmxlLCBhcHBlbmQgZGF0YSB0byB1cmwNCgkJCWlmICggcy5kYXRhICkgew0KCQkJCWNhY2hlVVJMICs9ICggcnF1ZXJ5LnRlc3QoIGNhY2hlVVJMICkgPyAiJiIgOiAiPyIgKSArIHMuZGF0YTsNCg0KCQkJCS8vICM5NjgyOiByZW1vdmUgZGF0YSBzbyB0aGF0IGl0J3Mgbm90IHVzZWQgaW4gYW4gZXZlbnR1YWwgcmV0cnkNCgkJCQlkZWxldGUgcy5kYXRhOw0KCQkJfQ0KDQoJCQkvLyBBZGQgb3IgdXBkYXRlIGFudGktY2FjaGUgcGFyYW0gaWYgbmVlZGVkDQoJCQlpZiAoIHMuY2FjaGUgPT09IGZhbHNlICkgew0KCQkJCWNhY2hlVVJMID0gY2FjaGVVUkwucmVwbGFjZSggcmFudGlDYWNoZSwgIiQxIiApOw0KCQkJCXVuY2FjaGVkID0gKCBycXVlcnkudGVzdCggY2FjaGVVUkwgKSA_ICImIiA6ICI_IiApICsgIl89IiArICggbm9uY2UrKyApICsgdW5jYWNoZWQ7DQoJCQl9DQoNCgkJCS8vIFB1dCBoYXNoIGFuZCBhbnRpLWNhY2hlIG9uIHRoZSBVUkwgdGhhdCB3aWxsIGJlIHJlcXVlc3RlZCAoZ2gtMTczMikNCgkJCXMudXJsID0gY2FjaGVVUkwgKyB1bmNhY2hlZDsNCg0KCQkvLyBDaGFuZ2UgJyUyMCcgdG8gJysnIGlmIHRoaXMgaXMgZW5jb2RlZCBmb3JtIGJvZHkgY29udGVudCAoZ2gtMjY1OCkNCgkJfSBlbHNlIGlmICggcy5kYXRhICYmIHMucHJvY2Vzc0RhdGEgJiYNCgkJCSggcy5jb250ZW50VHlwZSB8fCAiIiApLmluZGV4T2YoICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiICkgPT09IDAgKSB7DQoJCQlzLmRhdGEgPSBzLmRhdGEucmVwbGFjZSggcjIwLCAiKyIgKTsNCgkJfQ0KDQoJCS8vIFNldCB0aGUgSWYtTW9kaWZpZWQtU2luY2UgYW5kL29yIElmLU5vbmUtTWF0Y2ggaGVhZGVyLCBpZiBpbiBpZk1vZGlmaWVkIG1vZGUuDQoJCWlmICggcy5pZk1vZGlmaWVkICkgew0KCQkJaWYgKCBqUXVlcnkubGFzdE1vZGlmaWVkWyBjYWNoZVVSTCBdICkgew0KCQkJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoICJJZi1Nb2RpZmllZC1TaW5jZSIsIGpRdWVyeS5sYXN0TW9kaWZpZWRbIGNhY2hlVVJMIF0gKTsNCgkJCX0NCgkJCWlmICggalF1ZXJ5LmV0YWdbIGNhY2hlVVJMIF0gKSB7DQoJCQkJanFYSFIuc2V0UmVxdWVzdEhlYWRlciggIklmLU5vbmUtTWF0Y2giLCBqUXVlcnkuZXRhZ1sgY2FjaGVVUkwgXSApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gU2V0IHRoZSBjb3JyZWN0IGhlYWRlciwgaWYgZGF0YSBpcyBiZWluZyBzZW50DQoJCWlmICggcy5kYXRhICYmIHMuaGFzQ29udGVudCAmJiBzLmNvbnRlbnRUeXBlICE9PSBmYWxzZSB8fCBvcHRpb25zLmNvbnRlbnRUeXBlICkgew0KCQkJanFYSFIuc2V0UmVxdWVzdEhlYWRlciggIkNvbnRlbnQtVHlwZSIsIHMuY29udGVudFR5cGUgKTsNCgkJfQ0KDQoJCS8vIFNldCB0aGUgQWNjZXB0cyBoZWFkZXIgZm9yIHRoZSBzZXJ2ZXIsIGRlcGVuZGluZyBvbiB0aGUgZGF0YVR5cGUNCgkJanFYSFIuc2V0UmVxdWVzdEhlYWRlcigNCgkJCSJBY2NlcHQiLA0KCQkJcy5kYXRhVHlwZXNbIDAgXSAmJiBzLmFjY2VwdHNbIHMuZGF0YVR5cGVzWyAwIF0gXSA_DQoJCQkJcy5hY2NlcHRzWyBzLmRhdGFUeXBlc1sgMCBdIF0gKw0KCQkJCQkoIHMuZGF0YVR5cGVzWyAwIF0gIT09ICIqIiA_ICIsICIgKyBhbGxUeXBlcyArICI7IHE9MC4wMSIgOiAiIiApIDoNCgkJCQlzLmFjY2VwdHNbICIqIiBdDQoJCSk7DQoNCgkJLy8gQ2hlY2sgZm9yIGhlYWRlcnMgb3B0aW9uDQoJCWZvciAoIGkgaW4gcy5oZWFkZXJzICkgew0KCQkJanFYSFIuc2V0UmVxdWVzdEhlYWRlciggaSwgcy5oZWFkZXJzWyBpIF0gKTsNCgkJfQ0KDQoJCS8vIEFsbG93IGN1c3RvbSBoZWFkZXJzL21pbWV0eXBlcyBhbmQgZWFybHkgYWJvcnQNCgkJaWYgKCBzLmJlZm9yZVNlbmQgJiYNCgkJCSggcy5iZWZvcmVTZW5kLmNhbGwoIGNhbGxiYWNrQ29udGV4dCwganFYSFIsIHMgKSA9PT0gZmFsc2UgfHwgY29tcGxldGVkICkgKSB7DQoNCgkJCS8vIEFib3J0IGlmIG5vdCBkb25lIGFscmVhZHkgYW5kIHJldHVybg0KCQkJcmV0dXJuIGpxWEhSLmFib3J0KCk7DQoJCX0NCg0KCQkvLyBBYm9ydGluZyBpcyBubyBsb25nZXIgYSBjYW5jZWxsYXRpb24NCgkJc3RyQWJvcnQgPSAiYWJvcnQiOw0KDQoJCS8vIEluc3RhbGwgY2FsbGJhY2tzIG9uIGRlZmVycmVkcw0KCQljb21wbGV0ZURlZmVycmVkLmFkZCggcy5jb21wbGV0ZSApOw0KCQlqcVhIUi5kb25lKCBzLnN1Y2Nlc3MgKTsNCgkJanFYSFIuZmFpbCggcy5lcnJvciApOw0KDQoJCS8vIEdldCB0cmFuc3BvcnQNCgkJdHJhbnNwb3J0ID0gaW5zcGVjdFByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHRyYW5zcG9ydHMsIHMsIG9wdGlvbnMsIGpxWEhSICk7DQoNCgkJLy8gSWYgbm8gdHJhbnNwb3J0LCB3ZSBhdXRvLWFib3J0DQoJCWlmICggIXRyYW5zcG9ydCApIHsNCgkJCWRvbmUoIC0xLCAiTm8gVHJhbnNwb3J0IiApOw0KCQl9IGVsc2Ugew0KCQkJanFYSFIucmVhZHlTdGF0ZSA9IDE7DQoNCgkJCS8vIFNlbmQgZ2xvYmFsIGV2ZW50DQoJCQlpZiAoIGZpcmVHbG9iYWxzICkgew0KCQkJCWdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKCAiYWpheFNlbmQiLCBbIGpxWEhSLCBzIF0gKTsNCgkJCX0NCg0KCQkJLy8gSWYgcmVxdWVzdCB3YXMgYWJvcnRlZCBpbnNpZGUgYWpheFNlbmQsIHN0b3AgdGhlcmUNCgkJCWlmICggY29tcGxldGVkICkgew0KCQkJCXJldHVybiBqcVhIUjsNCgkJCX0NCg0KCQkJLy8gVGltZW91dA0KCQkJaWYgKCBzLmFzeW5jICYmIHMudGltZW91dCA-IDAgKSB7DQoJCQkJdGltZW91dFRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgew0KCQkJCQlqcVhIUi5hYm9ydCggInRpbWVvdXQiICk7DQoJCQkJfSwgcy50aW1lb3V0ICk7DQoJCQl9DQoNCgkJCXRyeSB7DQoJCQkJY29tcGxldGVkID0gZmFsc2U7DQoJCQkJdHJhbnNwb3J0LnNlbmQoIHJlcXVlc3RIZWFkZXJzLCBkb25lICk7DQoJCQl9IGNhdGNoICggZSApIHsNCg0KCQkJCS8vIFJldGhyb3cgcG9zdC1jb21wbGV0aW9uIGV4Y2VwdGlvbnMNCgkJCQlpZiAoIGNvbXBsZXRlZCApIHsNCgkJCQkJdGhyb3cgZTsNCgkJCQl9DQoNCgkJCQkvLyBQcm9wYWdhdGUgb3RoZXJzIGFzIHJlc3VsdHMNCgkJCQlkb25lKCAtMSwgZSApOw0KCQkJfQ0KCQl9DQoNCgkJLy8gQ2FsbGJhY2sgZm9yIHdoZW4gZXZlcnl0aGluZyBpcyBkb25lDQoJCWZ1bmN0aW9uIGRvbmUoIHN0YXR1cywgbmF0aXZlU3RhdHVzVGV4dCwgcmVzcG9uc2VzLCBoZWFkZXJzICkgew0KCQkJdmFyIGlzU3VjY2Vzcywgc3VjY2VzcywgZXJyb3IsIHJlc3BvbnNlLCBtb2RpZmllZCwNCgkJCQlzdGF0dXNUZXh0ID0gbmF0aXZlU3RhdHVzVGV4dDsNCg0KCQkJLy8gSWdub3JlIHJlcGVhdCBpbnZvY2F0aW9ucw0KCQkJaWYgKCBjb21wbGV0ZWQgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQljb21wbGV0ZWQgPSB0cnVlOw0KDQoJCQkvLyBDbGVhciB0aW1lb3V0IGlmIGl0IGV4aXN0cw0KCQkJaWYgKCB0aW1lb3V0VGltZXIgKSB7DQoJCQkJd2luZG93LmNsZWFyVGltZW91dCggdGltZW91dFRpbWVyICk7DQoJCQl9DQoNCgkJCS8vIERlcmVmZXJlbmNlIHRyYW5zcG9ydCBmb3IgZWFybHkgZ2FyYmFnZSBjb2xsZWN0aW9uDQoJCQkvLyAobm8gbWF0dGVyIGhvdyBsb25nIHRoZSBqcVhIUiBvYmplY3Qgd2lsbCBiZSB1c2VkKQ0KCQkJdHJhbnNwb3J0ID0gdW5kZWZpbmVkOw0KDQoJCQkvLyBDYWNoZSByZXNwb25zZSBoZWFkZXJzDQoJCQlyZXNwb25zZUhlYWRlcnNTdHJpbmcgPSBoZWFkZXJzIHx8ICIiOw0KDQoJCQkvLyBTZXQgcmVhZHlTdGF0ZQ0KCQkJanFYSFIucmVhZHlTdGF0ZSA9IHN0YXR1cyA-IDAgPyA0IDogMDsNCg0KCQkJLy8gRGV0ZXJtaW5lIGlmIHN1Y2Nlc3NmdWwNCgkJCWlzU3VjY2VzcyA9IHN0YXR1cyA-PSAyMDAgJiYgc3RhdHVzIDwgMzAwIHx8IHN0YXR1cyA9PT0gMzA0Ow0KDQoJCQkvLyBHZXQgcmVzcG9uc2UgZGF0YQ0KCQkJaWYgKCByZXNwb25zZXMgKSB7DQoJCQkJcmVzcG9uc2UgPSBhamF4SGFuZGxlUmVzcG9uc2VzKCBzLCBqcVhIUiwgcmVzcG9uc2VzICk7DQoJCQl9DQoNCgkJCS8vIENvbnZlcnQgbm8gbWF0dGVyIHdoYXQgKHRoYXQgd2F5IHJlc3BvbnNlWFhYIGZpZWxkcyBhcmUgYWx3YXlzIHNldCkNCgkJCXJlc3BvbnNlID0gYWpheENvbnZlcnQoIHMsIHJlc3BvbnNlLCBqcVhIUiwgaXNTdWNjZXNzICk7DQoNCgkJCS8vIElmIHN1Y2Nlc3NmdWwsIGhhbmRsZSB0eXBlIGNoYWluaW5nDQoJCQlpZiAoIGlzU3VjY2VzcyApIHsNCg0KCQkJCS8vIFNldCB0aGUgSWYtTW9kaWZpZWQtU2luY2UgYW5kL29yIElmLU5vbmUtTWF0Y2ggaGVhZGVyLCBpZiBpbiBpZk1vZGlmaWVkIG1vZGUuDQoJCQkJaWYgKCBzLmlmTW9kaWZpZWQgKSB7DQoJCQkJCW1vZGlmaWVkID0ganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoICJMYXN0LU1vZGlmaWVkIiApOw0KCQkJCQlpZiAoIG1vZGlmaWVkICkgew0KCQkJCQkJalF1ZXJ5Lmxhc3RNb2RpZmllZFsgY2FjaGVVUkwgXSA9IG1vZGlmaWVkOw0KCQkJCQl9DQoJCQkJCW1vZGlmaWVkID0ganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoICJldGFnIiApOw0KCQkJCQlpZiAoIG1vZGlmaWVkICkgew0KCQkJCQkJalF1ZXJ5LmV0YWdbIGNhY2hlVVJMIF0gPSBtb2RpZmllZDsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCS8vIGlmIG5vIGNvbnRlbnQNCgkJCQlpZiAoIHN0YXR1cyA9PT0gMjA0IHx8IHMudHlwZSA9PT0gIkhFQUQiICkgew0KCQkJCQlzdGF0dXNUZXh0ID0gIm5vY29udGVudCI7DQoNCgkJCQkvLyBpZiBub3QgbW9kaWZpZWQNCgkJCQl9IGVsc2UgaWYgKCBzdGF0dXMgPT09IDMwNCApIHsNCgkJCQkJc3RhdHVzVGV4dCA9ICJub3Rtb2RpZmllZCI7DQoNCgkJCQkvLyBJZiB3ZSBoYXZlIGRhdGEsIGxldCdzIGNvbnZlcnQgaXQNCgkJCQl9IGVsc2Ugew0KCQkJCQlzdGF0dXNUZXh0ID0gcmVzcG9uc2Uuc3RhdGU7DQoJCQkJCXN1Y2Nlc3MgPSByZXNwb25zZS5kYXRhOw0KCQkJCQllcnJvciA9IHJlc3BvbnNlLmVycm9yOw0KCQkJCQlpc1N1Y2Nlc3MgPSAhZXJyb3I7DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCg0KCQkJCS8vIEV4dHJhY3QgZXJyb3IgZnJvbSBzdGF0dXNUZXh0IGFuZCBub3JtYWxpemUgZm9yIG5vbi1hYm9ydHMNCgkJCQllcnJvciA9IHN0YXR1c1RleHQ7DQoJCQkJaWYgKCBzdGF0dXMgfHwgIXN0YXR1c1RleHQgKSB7DQoJCQkJCXN0YXR1c1RleHQgPSAiZXJyb3IiOw0KCQkJCQlpZiAoIHN0YXR1cyA8IDAgKSB7DQoJCQkJCQlzdGF0dXMgPSAwOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBTZXQgZGF0YSBmb3IgdGhlIGZha2UgeGhyIG9iamVjdA0KCQkJanFYSFIuc3RhdHVzID0gc3RhdHVzOw0KCQkJanFYSFIuc3RhdHVzVGV4dCA9ICggbmF0aXZlU3RhdHVzVGV4dCB8fCBzdGF0dXNUZXh0ICkgKyAiIjsNCg0KCQkJLy8gU3VjY2Vzcy9FcnJvcg0KCQkJaWYgKCBpc1N1Y2Nlc3MgKSB7DQoJCQkJZGVmZXJyZWQucmVzb2x2ZVdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBzdWNjZXNzLCBzdGF0dXNUZXh0LCBqcVhIUiBdICk7DQoJCQl9IGVsc2Ugew0KCQkJCWRlZmVycmVkLnJlamVjdFdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBqcVhIUiwgc3RhdHVzVGV4dCwgZXJyb3IgXSApOw0KCQkJfQ0KDQoJCQkvLyBTdGF0dXMtZGVwZW5kZW50IGNhbGxiYWNrcw0KCQkJanFYSFIuc3RhdHVzQ29kZSggc3RhdHVzQ29kZSApOw0KCQkJc3RhdHVzQ29kZSA9IHVuZGVmaW5lZDsNCg0KCQkJaWYgKCBmaXJlR2xvYmFscyApIHsNCgkJCQlnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlciggaXNTdWNjZXNzID8gImFqYXhTdWNjZXNzIiA6ICJhamF4RXJyb3IiLA0KCQkJCQlbIGpxWEhSLCBzLCBpc1N1Y2Nlc3MgPyBzdWNjZXNzIDogZXJyb3IgXSApOw0KCQkJfQ0KDQoJCQkvLyBDb21wbGV0ZQ0KCQkJY29tcGxldGVEZWZlcnJlZC5maXJlV2l0aCggY2FsbGJhY2tDb250ZXh0LCBbIGpxWEhSLCBzdGF0dXNUZXh0IF0gKTsNCg0KCQkJaWYgKCBmaXJlR2xvYmFscyApIHsNCgkJCQlnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlciggImFqYXhDb21wbGV0ZSIsIFsganFYSFIsIHMgXSApOw0KDQoJCQkJLy8gSGFuZGxlIHRoZSBnbG9iYWwgQUpBWCBjb3VudGVyDQoJCQkJaWYgKCAhKCAtLWpRdWVyeS5hY3RpdmUgKSApIHsNCgkJCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoICJhamF4U3RvcCIgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4ganFYSFI7DQoJfSwNCg0KCWdldEpTT046IGZ1bmN0aW9uKCB1cmwsIGRhdGEsIGNhbGxiYWNrICkgew0KCQlyZXR1cm4galF1ZXJ5LmdldCggdXJsLCBkYXRhLCBjYWxsYmFjaywgImpzb24iICk7DQoJfSwNCg0KCWdldFNjcmlwdDogZnVuY3Rpb24oIHVybCwgY2FsbGJhY2sgKSB7DQoJCXJldHVybiBqUXVlcnkuZ2V0KCB1cmwsIHVuZGVmaW5lZCwgY2FsbGJhY2ssICJzY3JpcHQiICk7DQoJfQ0KfSApOw0KDQpqUXVlcnkuZWFjaCggWyAiZ2V0IiwgInBvc3QiIF0sIGZ1bmN0aW9uKCBpLCBtZXRob2QgKSB7DQoJalF1ZXJ5WyBtZXRob2QgXSA9IGZ1bmN0aW9uKCB1cmwsIGRhdGEsIGNhbGxiYWNrLCB0eXBlICkgew0KDQoJCS8vIFNoaWZ0IGFyZ3VtZW50cyBpZiBkYXRhIGFyZ3VtZW50IHdhcyBvbWl0dGVkDQoJCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIGRhdGEgKSApIHsNCgkJCXR5cGUgPSB0eXBlIHx8IGNhbGxiYWNrOw0KCQkJY2FsbGJhY2sgPSBkYXRhOw0KCQkJZGF0YSA9IHVuZGVmaW5lZDsNCgkJfQ0KDQoJCS8vIFRoZSB1cmwgY2FuIGJlIGFuIG9wdGlvbnMgb2JqZWN0ICh3aGljaCB0aGVuIG11c3QgaGF2ZSAudXJsKQ0KCQlyZXR1cm4galF1ZXJ5LmFqYXgoIGpRdWVyeS5leHRlbmQoIHsNCgkJCXVybDogdXJsLA0KCQkJdHlwZTogbWV0aG9kLA0KCQkJZGF0YVR5cGU6IHR5cGUsDQoJCQlkYXRhOiBkYXRhLA0KCQkJc3VjY2VzczogY2FsbGJhY2sNCgkJfSwgalF1ZXJ5LmlzUGxhaW5PYmplY3QoIHVybCApICYmIHVybCApICk7DQoJfTsNCn0gKTsNCg0KDQpqUXVlcnkuX2V2YWxVcmwgPSBmdW5jdGlvbiggdXJsICkgew0KCXJldHVybiBqUXVlcnkuYWpheCggew0KCQl1cmw6IHVybCwNCg0KCQkvLyBNYWtlIHRoaXMgZXhwbGljaXQsIHNpbmNlIHVzZXIgY2FuIG92ZXJyaWRlIHRoaXMgdGhyb3VnaCBhamF4U2V0dXAgKCMxMTI2NCkNCgkJdHlwZTogIkdFVCIsDQoJCWRhdGFUeXBlOiAic2NyaXB0IiwNCgkJY2FjaGU6IHRydWUsDQoJCWFzeW5jOiBmYWxzZSwNCgkJZ2xvYmFsOiBmYWxzZSwNCgkJInRocm93cyI6IHRydWUNCgl9ICk7DQp9Ow0KDQoNCmpRdWVyeS5mbi5leHRlbmQoIHsNCgl3cmFwQWxsOiBmdW5jdGlvbiggaHRtbCApIHsNCgkJdmFyIHdyYXA7DQoNCgkJaWYgKCB0aGlzWyAwIF0gKSB7DQoJCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBodG1sICkgKSB7DQoJCQkJaHRtbCA9IGh0bWwuY2FsbCggdGhpc1sgMCBdICk7DQoJCQl9DQoNCgkJCS8vIFRoZSBlbGVtZW50cyB0byB3cmFwIHRoZSB0YXJnZXQgYXJvdW5kDQoJCQl3cmFwID0galF1ZXJ5KCBodG1sLCB0aGlzWyAwIF0ub3duZXJEb2N1bWVudCApLmVxKCAwICkuY2xvbmUoIHRydWUgKTsNCg0KCQkJaWYgKCB0aGlzWyAwIF0ucGFyZW50Tm9kZSApIHsNCgkJCQl3cmFwLmluc2VydEJlZm9yZSggdGhpc1sgMCBdICk7DQoJCQl9DQoNCgkJCXdyYXAubWFwKCBmdW5jdGlvbigpIHsNCgkJCQl2YXIgZWxlbSA9IHRoaXM7DQoNCgkJCQl3aGlsZSAoIGVsZW0uZmlyc3RFbGVtZW50Q2hpbGQgKSB7DQoJCQkJCWVsZW0gPSBlbGVtLmZpcnN0RWxlbWVudENoaWxkOw0KCQkJCX0NCg0KCQkJCXJldHVybiBlbGVtOw0KCQkJfSApLmFwcGVuZCggdGhpcyApOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCXdyYXBJbm5lcjogZnVuY3Rpb24oIGh0bWwgKSB7DQoJCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIGh0bWwgKSApIHsNCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJCWpRdWVyeSggdGhpcyApLndyYXBJbm5lciggaHRtbC5jYWxsKCB0aGlzLCBpICkgKTsNCgkJCX0gKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNlbGYgPSBqUXVlcnkoIHRoaXMgKSwNCgkJCQljb250ZW50cyA9IHNlbGYuY29udGVudHMoKTsNCg0KCQkJaWYgKCBjb250ZW50cy5sZW5ndGggKSB7DQoJCQkJY29udGVudHMud3JhcEFsbCggaHRtbCApOw0KDQoJCQl9IGVsc2Ugew0KCQkJCXNlbGYuYXBwZW5kKCBodG1sICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJd3JhcDogZnVuY3Rpb24oIGh0bWwgKSB7DQoJCXZhciBpc0Z1bmN0aW9uID0galF1ZXJ5LmlzRnVuY3Rpb24oIGh0bWwgKTsNCg0KCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCWpRdWVyeSggdGhpcyApLndyYXBBbGwoIGlzRnVuY3Rpb24gPyBodG1sLmNhbGwoIHRoaXMsIGkgKSA6IGh0bWwgKTsNCgkJfSApOw0KCX0sDQoNCgl1bndyYXA6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJdGhpcy5wYXJlbnQoIHNlbGVjdG9yICkubm90KCAiYm9keSIgKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCWpRdWVyeSggdGhpcyApLnJlcGxhY2VXaXRoKCB0aGlzLmNoaWxkTm9kZXMgKTsNCgkJfSApOw0KCQlyZXR1cm4gdGhpczsNCgl9DQp9ICk7DQoNCg0KalF1ZXJ5LmV4cHIucHNldWRvcy5oaWRkZW4gPSBmdW5jdGlvbiggZWxlbSApIHsNCglyZXR1cm4gIWpRdWVyeS5leHByLnBzZXVkb3MudmlzaWJsZSggZWxlbSApOw0KfTsNCmpRdWVyeS5leHByLnBzZXVkb3MudmlzaWJsZSA9IGZ1bmN0aW9uKCBlbGVtICkgew0KCXJldHVybiAhISggZWxlbS5vZmZzZXRXaWR0aCB8fCBlbGVtLm9mZnNldEhlaWdodCB8fCBlbGVtLmdldENsaWVudFJlY3RzKCkubGVuZ3RoICk7DQp9Ow0KDQoNCg0KDQpqUXVlcnkuYWpheFNldHRpbmdzLnhociA9IGZ1bmN0aW9uKCkgew0KCXRyeSB7DQoJCXJldHVybiBuZXcgd2luZG93LlhNTEh0dHBSZXF1ZXN0KCk7DQoJfSBjYXRjaCAoIGUgKSB7fQ0KfTsNCg0KdmFyIHhoclN1Y2Nlc3NTdGF0dXMgPSB7DQoNCgkJLy8gRmlsZSBwcm90b2NvbCBhbHdheXMgeWllbGRzIHN0YXR1cyBjb2RlIDAsIGFzc3VtZSAyMDANCgkJMDogMjAwLA0KDQoJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQoJCS8vICMxNDUwOiBzb21ldGltZXMgSUUgcmV0dXJucyAxMjIzIHdoZW4gaXQgc2hvdWxkIGJlIDIwNA0KCQkxMjIzOiAyMDQNCgl9LA0KCXhoclN1cHBvcnRlZCA9IGpRdWVyeS5hamF4U2V0dGluZ3MueGhyKCk7DQoNCnN1cHBvcnQuY29ycyA9ICEheGhyU3VwcG9ydGVkICYmICggIndpdGhDcmVkZW50aWFscyIgaW4geGhyU3VwcG9ydGVkICk7DQpzdXBwb3J0LmFqYXggPSB4aHJTdXBwb3J0ZWQgPSAhIXhoclN1cHBvcnRlZDsNCg0KalF1ZXJ5LmFqYXhUcmFuc3BvcnQoIGZ1bmN0aW9uKCBvcHRpb25zICkgew0KCXZhciBjYWxsYmFjaywgZXJyb3JDYWxsYmFjazsNCg0KCS8vIENyb3NzIGRvbWFpbiBvbmx5IGFsbG93ZWQgaWYgc3VwcG9ydGVkIHRocm91Z2ggWE1MSHR0cFJlcXVlc3QNCglpZiAoIHN1cHBvcnQuY29ycyB8fCB4aHJTdXBwb3J0ZWQgJiYgIW9wdGlvbnMuY3Jvc3NEb21haW4gKSB7DQoJCXJldHVybiB7DQoJCQlzZW5kOiBmdW5jdGlvbiggaGVhZGVycywgY29tcGxldGUgKSB7DQoJCQkJdmFyIGksDQoJCQkJCXhociA9IG9wdGlvbnMueGhyKCk7DQoNCgkJCQl4aHIub3BlbigNCgkJCQkJb3B0aW9ucy50eXBlLA0KCQkJCQlvcHRpb25zLnVybCwNCgkJCQkJb3B0aW9ucy5hc3luYywNCgkJCQkJb3B0aW9ucy51c2VybmFtZSwNCgkJCQkJb3B0aW9ucy5wYXNzd29yZA0KCQkJCSk7DQoNCgkJCQkvLyBBcHBseSBjdXN0b20gZmllbGRzIGlmIHByb3ZpZGVkDQoJCQkJaWYgKCBvcHRpb25zLnhockZpZWxkcyApIHsNCgkJCQkJZm9yICggaSBpbiBvcHRpb25zLnhockZpZWxkcyApIHsNCgkJCQkJCXhoclsgaSBdID0gb3B0aW9ucy54aHJGaWVsZHNbIGkgXTsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCS8vIE92ZXJyaWRlIG1pbWUgdHlwZSBpZiBuZWVkZWQNCgkJCQlpZiAoIG9wdGlvbnMubWltZVR5cGUgJiYgeGhyLm92ZXJyaWRlTWltZVR5cGUgKSB7DQoJCQkJCXhoci5vdmVycmlkZU1pbWVUeXBlKCBvcHRpb25zLm1pbWVUeXBlICk7DQoJCQkJfQ0KDQoJCQkJLy8gWC1SZXF1ZXN0ZWQtV2l0aCBoZWFkZXINCgkJCQkvLyBGb3IgY3Jvc3MtZG9tYWluIHJlcXVlc3RzLCBzZWVpbmcgYXMgY29uZGl0aW9ucyBmb3IgYSBwcmVmbGlnaHQgYXJlDQoJCQkJLy8gYWtpbiB0byBhIGppZ3NhdyBwdXp6bGUsIHdlIHNpbXBseSBuZXZlciBzZXQgaXQgdG8gYmUgc3VyZS4NCgkJCQkvLyAoaXQgY2FuIGFsd2F5cyBiZSBzZXQgb24gYSBwZXItcmVxdWVzdCBiYXNpcyBvciBldmVuIHVzaW5nIGFqYXhTZXR1cCkNCgkJCQkvLyBGb3Igc2FtZS1kb21haW4gcmVxdWVzdHMsIHdvbid0IGNoYW5nZSBoZWFkZXIgaWYgYWxyZWFkeSBwcm92aWRlZC4NCgkJCQlpZiAoICFvcHRpb25zLmNyb3NzRG9tYWluICYmICFoZWFkZXJzWyAiWC1SZXF1ZXN0ZWQtV2l0aCIgXSApIHsNCgkJCQkJaGVhZGVyc1sgIlgtUmVxdWVzdGVkLVdpdGgiIF0gPSAiWE1MSHR0cFJlcXVlc3QiOw0KCQkJCX0NCg0KCQkJCS8vIFNldCBoZWFkZXJzDQoJCQkJZm9yICggaSBpbiBoZWFkZXJzICkgew0KCQkJCQl4aHIuc2V0UmVxdWVzdEhlYWRlciggaSwgaGVhZGVyc1sgaSBdICk7DQoJCQkJfQ0KDQoJCQkJLy8gQ2FsbGJhY2sNCgkJCQljYWxsYmFjayA9IGZ1bmN0aW9uKCB0eXBlICkgew0KCQkJCQlyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCQkJCQlpZiAoIGNhbGxiYWNrICkgew0KCQkJCQkJCWNhbGxiYWNrID0gZXJyb3JDYWxsYmFjayA9IHhoci5vbmxvYWQgPQ0KCQkJCQkJCQl4aHIub25lcnJvciA9IHhoci5vbmFib3J0ID0geGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7DQoNCgkJCQkJCQlpZiAoIHR5cGUgPT09ICJhYm9ydCIgKSB7DQoJCQkJCQkJCXhoci5hYm9ydCgpOw0KCQkJCQkJCX0gZWxzZSBpZiAoIHR5cGUgPT09ICJlcnJvciIgKSB7DQoNCgkJCQkJCQkJLy8gU3VwcG9ydDogSUUgPD05IG9ubHkNCgkJCQkJCQkJLy8gT24gYSBtYW51YWwgbmF0aXZlIGFib3J0LCBJRTkgdGhyb3dzDQoJCQkJCQkJCS8vIGVycm9ycyBvbiBhbnkgcHJvcGVydHkgYWNjZXNzIHRoYXQgaXMgbm90IHJlYWR5U3RhdGUNCgkJCQkJCQkJaWYgKCB0eXBlb2YgeGhyLnN0YXR1cyAhPT0gIm51bWJlciIgKSB7DQoJCQkJCQkJCQljb21wbGV0ZSggMCwgImVycm9yIiApOw0KCQkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQkJY29tcGxldGUoDQoNCgkJCQkJCQkJCQkvLyBGaWxlOiBwcm90b2NvbCBhbHdheXMgeWllbGRzIHN0YXR1cyAwOyBzZWUgIzg2MDUsICMxNDIwNw0KCQkJCQkJCQkJCXhoci5zdGF0dXMsDQoJCQkJCQkJCQkJeGhyLnN0YXR1c1RleHQNCgkJCQkJCQkJCSk7DQoJCQkJCQkJCX0NCgkJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCQljb21wbGV0ZSgNCgkJCQkJCQkJCXhoclN1Y2Nlc3NTdGF0dXNbIHhoci5zdGF0dXMgXSB8fCB4aHIuc3RhdHVzLA0KCQkJCQkJCQkJeGhyLnN0YXR1c1RleHQsDQoNCgkJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5DQoJCQkJCQkJCQkvLyBJRTkgaGFzIG5vIFhIUjIgYnV0IHRocm93cyBvbiBiaW5hcnkgKHRyYWMtMTE0MjYpDQoJCQkJCQkJCQkvLyBGb3IgWEhSMiBub24tdGV4dCwgbGV0IHRoZSBjYWxsZXIgaGFuZGxlIGl0IChnaC0yNDk4KQ0KCQkJCQkJCQkJKCB4aHIucmVzcG9uc2VUeXBlIHx8ICJ0ZXh0IiApICE9PSAidGV4dCIgIHx8DQoJCQkJCQkJCQl0eXBlb2YgeGhyLnJlc3BvbnNlVGV4dCAhPT0gInN0cmluZyIgPw0KCQkJCQkJCQkJCXsgYmluYXJ5OiB4aHIucmVzcG9uc2UgfSA6DQoJCQkJCQkJCQkJeyB0ZXh0OiB4aHIucmVzcG9uc2VUZXh0IH0sDQoJCQkJCQkJCQl4aHIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkNCgkJCQkJCQkJKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX07DQoJCQkJfTsNCg0KCQkJCS8vIExpc3RlbiB0byBldmVudHMNCgkJCQl4aHIub25sb2FkID0gY2FsbGJhY2soKTsNCgkJCQllcnJvckNhbGxiYWNrID0geGhyLm9uZXJyb3IgPSBjYWxsYmFjayggImVycm9yIiApOw0KDQoJCQkJLy8gU3VwcG9ydDogSUUgOSBvbmx5DQoJCQkJLy8gVXNlIG9ucmVhZHlzdGF0ZWNoYW5nZSB0byByZXBsYWNlIG9uYWJvcnQNCgkJCQkvLyB0byBoYW5kbGUgdW5jYXVnaHQgYWJvcnRzDQoJCQkJaWYgKCB4aHIub25hYm9ydCAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQl4aHIub25hYm9ydCA9IGVycm9yQ2FsbGJhY2s7DQoJCQkJfSBlbHNlIHsNCgkJCQkJeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgew0KDQoJCQkJCQkvLyBDaGVjayByZWFkeVN0YXRlIGJlZm9yZSB0aW1lb3V0IGFzIGl0IGNoYW5nZXMNCgkJCQkJCWlmICggeGhyLnJlYWR5U3RhdGUgPT09IDQgKSB7DQoNCgkJCQkJCQkvLyBBbGxvdyBvbmVycm9yIHRvIGJlIGNhbGxlZCBmaXJzdCwNCgkJCQkJCQkvLyBidXQgdGhhdCB3aWxsIG5vdCBoYW5kbGUgYSBuYXRpdmUgYWJvcnQNCgkJCQkJCQkvLyBBbHNvLCBzYXZlIGVycm9yQ2FsbGJhY2sgdG8gYSB2YXJpYWJsZQ0KCQkJCQkJCS8vIGFzIHhoci5vbmVycm9yIGNhbm5vdCBiZSBhY2Nlc3NlZA0KCQkJCQkJCXdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsNCgkJCQkJCQkJaWYgKCBjYWxsYmFjayApIHsNCgkJCQkJCQkJCWVycm9yQ2FsbGJhY2soKTsNCgkJCQkJCQkJfQ0KCQkJCQkJCX0gKTsNCgkJCQkJCX0NCgkJCQkJfTsNCgkJCQl9DQoNCgkJCQkvLyBDcmVhdGUgdGhlIGFib3J0IGNhbGxiYWNrDQoJCQkJY2FsbGJhY2sgPSBjYWxsYmFjayggImFib3J0IiApOw0KDQoJCQkJdHJ5IHsNCg0KCQkJCQkvLyBEbyBzZW5kIHRoZSByZXF1ZXN0ICh0aGlzIG1heSByYWlzZSBhbiBleGNlcHRpb24pDQoJCQkJCXhoci5zZW5kKCBvcHRpb25zLmhhc0NvbnRlbnQgJiYgb3B0aW9ucy5kYXRhIHx8IG51bGwgKTsNCgkJCQl9IGNhdGNoICggZSApIHsNCg0KCQkJCQkvLyAjMTQ2ODM6IE9ubHkgcmV0aHJvdyBpZiB0aGlzIGhhc24ndCBiZWVuIG5vdGlmaWVkIGFzIGFuIGVycm9yIHlldA0KCQkJCQlpZiAoIGNhbGxiYWNrICkgew0KCQkJCQkJdGhyb3cgZTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0sDQoNCgkJCWFib3J0OiBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIGNhbGxiYWNrICkgew0KCQkJCQljYWxsYmFjaygpOw0KCQkJCX0NCgkJCX0NCgkJfTsNCgl9DQp9ICk7DQoNCg0KDQoNCi8vIFByZXZlbnQgYXV0by1leGVjdXRpb24gb2Ygc2NyaXB0cyB3aGVuIG5vIGV4cGxpY2l0IGRhdGFUeXBlIHdhcyBwcm92aWRlZCAoU2VlIGdoLTI0MzIpDQpqUXVlcnkuYWpheFByZWZpbHRlciggZnVuY3Rpb24oIHMgKSB7DQoJaWYgKCBzLmNyb3NzRG9tYWluICkgew0KCQlzLmNvbnRlbnRzLnNjcmlwdCA9IGZhbHNlOw0KCX0NCn0gKTsNCg0KLy8gSW5zdGFsbCBzY3JpcHQgZGF0YVR5cGUNCmpRdWVyeS5hamF4U2V0dXAoIHsNCglhY2NlcHRzOiB7DQoJCXNjcmlwdDogInRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgIiArDQoJCQkiYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0Ig0KCX0sDQoJY29udGVudHM6IHsNCgkJc2NyaXB0OiAvXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvDQoJfSwNCgljb252ZXJ0ZXJzOiB7DQoJCSJ0ZXh0IHNjcmlwdCI6IGZ1bmN0aW9uKCB0ZXh0ICkgew0KCQkJalF1ZXJ5Lmdsb2JhbEV2YWwoIHRleHQgKTsNCgkJCXJldHVybiB0ZXh0Ow0KCQl9DQoJfQ0KfSApOw0KDQovLyBIYW5kbGUgY2FjaGUncyBzcGVjaWFsIGNhc2UgYW5kIGNyb3NzRG9tYWluDQpqUXVlcnkuYWpheFByZWZpbHRlciggInNjcmlwdCIsIGZ1bmN0aW9uKCBzICkgew0KCWlmICggcy5jYWNoZSA9PT0gdW5kZWZpbmVkICkgew0KCQlzLmNhY2hlID0gZmFsc2U7DQoJfQ0KCWlmICggcy5jcm9zc0RvbWFpbiApIHsNCgkJcy50eXBlID0gIkdFVCI7DQoJfQ0KfSApOw0KDQovLyBCaW5kIHNjcmlwdCB0YWcgaGFjayB0cmFuc3BvcnQNCmpRdWVyeS5hamF4VHJhbnNwb3J0KCAic2NyaXB0IiwgZnVuY3Rpb24oIHMgKSB7DQoNCgkvLyBUaGlzIHRyYW5zcG9ydCBvbmx5IGRlYWxzIHdpdGggY3Jvc3MgZG9tYWluIHJlcXVlc3RzDQoJaWYgKCBzLmNyb3NzRG9tYWluICkgew0KCQl2YXIgc2NyaXB0LCBjYWxsYmFjazsNCgkJcmV0dXJuIHsNCgkJCXNlbmQ6IGZ1bmN0aW9uKCBfLCBjb21wbGV0ZSApIHsNCgkJCQlzY3JpcHQgPSBqUXVlcnkoICI8c2NyaXB0PiIgKS5wcm9wKCB7DQoJCQkJCWNoYXJzZXQ6IHMuc2NyaXB0Q2hhcnNldCwNCgkJCQkJc3JjOiBzLnVybA0KCQkJCX0gKS5vbigNCgkJCQkJImxvYWQgZXJyb3IiLA0KCQkJCQljYWxsYmFjayA9IGZ1bmN0aW9uKCBldnQgKSB7DQoJCQkJCQlzY3JpcHQucmVtb3ZlKCk7DQoJCQkJCQljYWxsYmFjayA9IG51bGw7DQoJCQkJCQlpZiAoIGV2dCApIHsNCgkJCQkJCQljb21wbGV0ZSggZXZ0LnR5cGUgPT09ICJlcnJvciIgPyA0MDQgOiAyMDAsIGV2dC50eXBlICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkpOw0KDQoJCQkJLy8gVXNlIG5hdGl2ZSBET00gbWFuaXB1bGF0aW9uIHRvIGF2b2lkIG91ciBkb21NYW5pcCBBSkFYIHRyaWNrZXJ5DQoJCQkJZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCggc2NyaXB0WyAwIF0gKTsNCgkJCX0sDQoJCQlhYm9ydDogZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCBjYWxsYmFjayApIHsNCgkJCQkJY2FsbGJhY2soKTsNCgkJCQl9DQoJCQl9DQoJCX07DQoJfQ0KfSApOw0KDQoNCg0KDQp2YXIgb2xkQ2FsbGJhY2tzID0gW10sDQoJcmpzb25wID0gLyg9KVw_KD89JnwkKXxcP1w_LzsNCg0KLy8gRGVmYXVsdCBqc29ucCBzZXR0aW5ncw0KalF1ZXJ5LmFqYXhTZXR1cCggew0KCWpzb25wOiAiY2FsbGJhY2siLA0KCWpzb25wQ2FsbGJhY2s6IGZ1bmN0aW9uKCkgew0KCQl2YXIgY2FsbGJhY2sgPSBvbGRDYWxsYmFja3MucG9wKCkgfHwgKCBqUXVlcnkuZXhwYW5kbyArICJfIiArICggbm9uY2UrKyApICk7DQoJCXRoaXNbIGNhbGxiYWNrIF0gPSB0cnVlOw0KCQlyZXR1cm4gY2FsbGJhY2s7DQoJfQ0KfSApOw0KDQovLyBEZXRlY3QsIG5vcm1hbGl6ZSBvcHRpb25zIGFuZCBpbnN0YWxsIGNhbGxiYWNrcyBmb3IganNvbnAgcmVxdWVzdHMNCmpRdWVyeS5hamF4UHJlZmlsdGVyKCAianNvbiBqc29ucCIsIGZ1bmN0aW9uKCBzLCBvcmlnaW5hbFNldHRpbmdzLCBqcVhIUiApIHsNCg0KCXZhciBjYWxsYmFja05hbWUsIG92ZXJ3cml0dGVuLCByZXNwb25zZUNvbnRhaW5lciwNCgkJanNvblByb3AgPSBzLmpzb25wICE9PSBmYWxzZSAmJiAoIHJqc29ucC50ZXN0KCBzLnVybCApID8NCgkJCSJ1cmwiIDoNCgkJCXR5cGVvZiBzLmRhdGEgPT09ICJzdHJpbmciICYmDQoJCQkJKCBzLmNvbnRlbnRUeXBlIHx8ICIiICkNCgkJCQkJLmluZGV4T2YoICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiICkgPT09IDAgJiYNCgkJCQlyanNvbnAudGVzdCggcy5kYXRhICkgJiYgImRhdGEiDQoJCSk7DQoNCgkvLyBIYW5kbGUgaWZmIHRoZSBleHBlY3RlZCBkYXRhIHR5cGUgaXMgImpzb25wIiBvciB3ZSBoYXZlIGEgcGFyYW1ldGVyIHRvIHNldA0KCWlmICgganNvblByb3AgfHwgcy5kYXRhVHlwZXNbIDAgXSA9PT0gImpzb25wIiApIHsNCg0KCQkvLyBHZXQgY2FsbGJhY2sgbmFtZSwgcmVtZW1iZXJpbmcgcHJlZXhpc3RpbmcgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGl0DQoJCWNhbGxiYWNrTmFtZSA9IHMuanNvbnBDYWxsYmFjayA9IGpRdWVyeS5pc0Z1bmN0aW9uKCBzLmpzb25wQ2FsbGJhY2sgKSA_DQoJCQlzLmpzb25wQ2FsbGJhY2soKSA6DQoJCQlzLmpzb25wQ2FsbGJhY2s7DQoNCgkJLy8gSW5zZXJ0IGNhbGxiYWNrIGludG8gdXJsIG9yIGZvcm0gZGF0YQ0KCQlpZiAoIGpzb25Qcm9wICkgew0KCQkJc1sganNvblByb3AgXSA9IHNbIGpzb25Qcm9wIF0ucmVwbGFjZSggcmpzb25wLCAiJDEiICsgY2FsbGJhY2tOYW1lICk7DQoJCX0gZWxzZSBpZiAoIHMuanNvbnAgIT09IGZhbHNlICkgew0KCQkJcy51cmwgKz0gKCBycXVlcnkudGVzdCggcy51cmwgKSA_ICImIiA6ICI_IiApICsgcy5qc29ucCArICI9IiArIGNhbGxiYWNrTmFtZTsNCgkJfQ0KDQoJCS8vIFVzZSBkYXRhIGNvbnZlcnRlciB0byByZXRyaWV2ZSBqc29uIGFmdGVyIHNjcmlwdCBleGVjdXRpb24NCgkJcy5jb252ZXJ0ZXJzWyAic2NyaXB0IGpzb24iIF0gPSBmdW5jdGlvbigpIHsNCgkJCWlmICggIXJlc3BvbnNlQ29udGFpbmVyICkgew0KCQkJCWpRdWVyeS5lcnJvciggY2FsbGJhY2tOYW1lICsgIiB3YXMgbm90IGNhbGxlZCIgKTsNCgkJCX0NCgkJCXJldHVybiByZXNwb25zZUNvbnRhaW5lclsgMCBdOw0KCQl9Ow0KDQoJCS8vIEZvcmNlIGpzb24gZGF0YVR5cGUNCgkJcy5kYXRhVHlwZXNbIDAgXSA9ICJqc29uIjsNCg0KCQkvLyBJbnN0YWxsIGNhbGxiYWNrDQoJCW92ZXJ3cml0dGVuID0gd2luZG93WyBjYWxsYmFja05hbWUgXTsNCgkJd2luZG93WyBjYWxsYmFja05hbWUgXSA9IGZ1bmN0aW9uKCkgew0KCQkJcmVzcG9uc2VDb250YWluZXIgPSBhcmd1bWVudHM7DQoJCX07DQoNCgkJLy8gQ2xlYW4tdXAgZnVuY3Rpb24gKGZpcmVzIGFmdGVyIGNvbnZlcnRlcnMpDQoJCWpxWEhSLmFsd2F5cyggZnVuY3Rpb24oKSB7DQoNCgkJCS8vIElmIHByZXZpb3VzIHZhbHVlIGRpZG4ndCBleGlzdCAtIHJlbW92ZSBpdA0KCQkJaWYgKCBvdmVyd3JpdHRlbiA9PT0gdW5kZWZpbmVkICkgew0KCQkJCWpRdWVyeSggd2luZG93ICkucmVtb3ZlUHJvcCggY2FsbGJhY2tOYW1lICk7DQoNCgkJCS8vIE90aGVyd2lzZSByZXN0b3JlIHByZWV4aXN0aW5nIHZhbHVlDQoJCQl9IGVsc2Ugew0KCQkJCXdpbmRvd1sgY2FsbGJhY2tOYW1lIF0gPSBvdmVyd3JpdHRlbjsNCgkJCX0NCg0KCQkJLy8gU2F2ZSBiYWNrIGFzIGZyZWUNCgkJCWlmICggc1sgY2FsbGJhY2tOYW1lIF0gKSB7DQoNCgkJCQkvLyBNYWtlIHN1cmUgdGhhdCByZS11c2luZyB0aGUgb3B0aW9ucyBkb2Vzbid0IHNjcmV3IHRoaW5ncyBhcm91bmQNCgkJCQlzLmpzb25wQ2FsbGJhY2sgPSBvcmlnaW5hbFNldHRpbmdzLmpzb25wQ2FsbGJhY2s7DQoNCgkJCQkvLyBTYXZlIHRoZSBjYWxsYmFjayBuYW1lIGZvciBmdXR1cmUgdXNlDQoJCQkJb2xkQ2FsbGJhY2tzLnB1c2goIGNhbGxiYWNrTmFtZSApOw0KCQkJfQ0KDQoJCQkvLyBDYWxsIGlmIGl0IHdhcyBhIGZ1bmN0aW9uIGFuZCB3ZSBoYXZlIGEgcmVzcG9uc2UNCgkJCWlmICggcmVzcG9uc2VDb250YWluZXIgJiYgalF1ZXJ5LmlzRnVuY3Rpb24oIG92ZXJ3cml0dGVuICkgKSB7DQoJCQkJb3ZlcndyaXR0ZW4oIHJlc3BvbnNlQ29udGFpbmVyWyAwIF0gKTsNCgkJCX0NCg0KCQkJcmVzcG9uc2VDb250YWluZXIgPSBvdmVyd3JpdHRlbiA9IHVuZGVmaW5lZDsNCgkJfSApOw0KDQoJCS8vIERlbGVnYXRlIHRvIHNjcmlwdA0KCQlyZXR1cm4gInNjcmlwdCI7DQoJfQ0KfSApOw0KDQoNCg0KDQovLyBTdXBwb3J0OiBTYWZhcmkgOCBvbmx5DQovLyBJbiBTYWZhcmkgOCBkb2N1bWVudHMgY3JlYXRlZCB2aWEgZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50DQovLyBjb2xsYXBzZSBzaWJsaW5nIGZvcm1zOiB0aGUgc2Vjb25kIG9uZSBiZWNvbWVzIGEgY2hpbGQgb2YgdGhlIGZpcnN0IG9uZS4NCi8vIEJlY2F1c2Ugb2YgdGhhdCwgdGhpcyBzZWN1cml0eSBtZWFzdXJlIGhhcyB0byBiZSBkaXNhYmxlZCBpbiBTYWZhcmkgOC4NCi8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzczMzcNCnN1cHBvcnQuY3JlYXRlSFRNTERvY3VtZW50ID0gKCBmdW5jdGlvbigpIHsNCgl2YXIgYm9keSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCggIiIgKS5ib2R5Ow0KCWJvZHkuaW5uZXJIVE1MID0gIjxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0-IjsNCglyZXR1cm4gYm9keS5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMjsNCn0gKSgpOw0KDQoNCi8vIEFyZ3VtZW50ICJkYXRhIiBzaG91bGQgYmUgc3RyaW5nIG9mIGh0bWwNCi8vIGNvbnRleHQgKG9wdGlvbmFsKTogSWYgc3BlY2lmaWVkLCB0aGUgZnJhZ21lbnQgd2lsbCBiZSBjcmVhdGVkIGluIHRoaXMgY29udGV4dCwNCi8vIGRlZmF1bHRzIHRvIGRvY3VtZW50DQovLyBrZWVwU2NyaXB0cyAob3B0aW9uYWwpOiBJZiB0cnVlLCB3aWxsIGluY2x1ZGUgc2NyaXB0cyBwYXNzZWQgaW4gdGhlIGh0bWwgc3RyaW5nDQpqUXVlcnkucGFyc2VIVE1MID0gZnVuY3Rpb24oIGRhdGEsIGNvbnRleHQsIGtlZXBTY3JpcHRzICkgew0KCWlmICggdHlwZW9mIGRhdGEgIT09ICJzdHJpbmciICkgew0KCQlyZXR1cm4gW107DQoJfQ0KCWlmICggdHlwZW9mIGNvbnRleHQgPT09ICJib29sZWFuIiApIHsNCgkJa2VlcFNjcmlwdHMgPSBjb250ZXh0Ow0KCQljb250ZXh0ID0gZmFsc2U7DQoJfQ0KDQoJdmFyIGJhc2UsIHBhcnNlZCwgc2NyaXB0czsNCg0KCWlmICggIWNvbnRleHQgKSB7DQoNCgkJLy8gU3RvcCBzY3JpcHRzIG9yIGlubGluZSBldmVudCBoYW5kbGVycyBmcm9tIGJlaW5nIGV4ZWN1dGVkIGltbWVkaWF0ZWx5DQoJCS8vIGJ5IHVzaW5nIGRvY3VtZW50LmltcGxlbWVudGF0aW9uDQoJCWlmICggc3VwcG9ydC5jcmVhdGVIVE1MRG9jdW1lbnQgKSB7DQoJCQljb250ZXh0ID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCAiIiApOw0KDQoJCQkvLyBTZXQgdGhlIGJhc2UgaHJlZiBmb3IgdGhlIGNyZWF0ZWQgZG9jdW1lbnQNCgkJCS8vIHNvIGFueSBwYXJzZWQgZWxlbWVudHMgd2l0aCBVUkxzDQoJCQkvLyBhcmUgYmFzZWQgb24gdGhlIGRvY3VtZW50J3MgVVJMIChnaC0yOTY1KQ0KCQkJYmFzZSA9IGNvbnRleHQuY3JlYXRlRWxlbWVudCggImJhc2UiICk7DQoJCQliYXNlLmhyZWYgPSBkb2N1bWVudC5sb2NhdGlvbi5ocmVmOw0KCQkJY29udGV4dC5oZWFkLmFwcGVuZENoaWxkKCBiYXNlICk7DQoJCX0gZWxzZSB7DQoJCQljb250ZXh0ID0gZG9jdW1lbnQ7DQoJCX0NCgl9DQoNCglwYXJzZWQgPSByc2luZ2xlVGFnLmV4ZWMoIGRhdGEgKTsNCglzY3JpcHRzID0gIWtlZXBTY3JpcHRzICYmIFtdOw0KDQoJLy8gU2luZ2xlIHRhZw0KCWlmICggcGFyc2VkICkgew0KCQlyZXR1cm4gWyBjb250ZXh0LmNyZWF0ZUVsZW1lbnQoIHBhcnNlZFsgMSBdICkgXTsNCgl9DQoNCglwYXJzZWQgPSBidWlsZEZyYWdtZW50KCBbIGRhdGEgXSwgY29udGV4dCwgc2NyaXB0cyApOw0KDQoJaWYgKCBzY3JpcHRzICYmIHNjcmlwdHMubGVuZ3RoICkgew0KCQlqUXVlcnkoIHNjcmlwdHMgKS5yZW1vdmUoKTsNCgl9DQoNCglyZXR1cm4galF1ZXJ5Lm1lcmdlKCBbXSwgcGFyc2VkLmNoaWxkTm9kZXMgKTsNCn07DQoNCg0KLyoqDQogKiBMb2FkIGEgdXJsIGludG8gYSBwYWdlDQogKi8NCmpRdWVyeS5mbi5sb2FkID0gZnVuY3Rpb24oIHVybCwgcGFyYW1zLCBjYWxsYmFjayApIHsNCgl2YXIgc2VsZWN0b3IsIHR5cGUsIHJlc3BvbnNlLA0KCQlzZWxmID0gdGhpcywNCgkJb2ZmID0gdXJsLmluZGV4T2YoICIgIiApOw0KDQoJaWYgKCBvZmYgPiAtMSApIHsNCgkJc2VsZWN0b3IgPSBzdHJpcEFuZENvbGxhcHNlKCB1cmwuc2xpY2UoIG9mZiApICk7DQoJCXVybCA9IHVybC5zbGljZSggMCwgb2ZmICk7DQoJfQ0KDQoJLy8gSWYgaXQncyBhIGZ1bmN0aW9uDQoJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggcGFyYW1zICkgKSB7DQoNCgkJLy8gV2UgYXNzdW1lIHRoYXQgaXQncyB0aGUgY2FsbGJhY2sNCgkJY2FsbGJhY2sgPSBwYXJhbXM7DQoJCXBhcmFtcyA9IHVuZGVmaW5lZDsNCg0KCS8vIE90aGVyd2lzZSwgYnVpbGQgYSBwYXJhbSBzdHJpbmcNCgl9IGVsc2UgaWYgKCBwYXJhbXMgJiYgdHlwZW9mIHBhcmFtcyA9PT0gIm9iamVjdCIgKSB7DQoJCXR5cGUgPSAiUE9TVCI7DQoJfQ0KDQoJLy8gSWYgd2UgaGF2ZSBlbGVtZW50cyB0byBtb2RpZnksIG1ha2UgdGhlIHJlcXVlc3QNCglpZiAoIHNlbGYubGVuZ3RoID4gMCApIHsNCgkJalF1ZXJ5LmFqYXgoIHsNCgkJCXVybDogdXJsLA0KDQoJCQkvLyBJZiAidHlwZSIgdmFyaWFibGUgaXMgdW5kZWZpbmVkLCB0aGVuICJHRVQiIG1ldGhvZCB3aWxsIGJlIHVzZWQuDQoJCQkvLyBNYWtlIHZhbHVlIG9mIHRoaXMgZmllbGQgZXhwbGljaXQgc2luY2UNCgkJCS8vIHVzZXIgY2FuIG92ZXJyaWRlIGl0IHRocm91Z2ggYWpheFNldHVwIG1ldGhvZA0KCQkJdHlwZTogdHlwZSB8fCAiR0VUIiwNCgkJCWRhdGFUeXBlOiAiaHRtbCIsDQoJCQlkYXRhOiBwYXJhbXMNCgkJfSApLmRvbmUoIGZ1bmN0aW9uKCByZXNwb25zZVRleHQgKSB7DQoNCgkJCS8vIFNhdmUgcmVzcG9uc2UgZm9yIHVzZSBpbiBjb21wbGV0ZSBjYWxsYmFjaw0KCQkJcmVzcG9uc2UgPSBhcmd1bWVudHM7DQoNCgkJCXNlbGYuaHRtbCggc2VsZWN0b3IgPw0KDQoJCQkJLy8gSWYgYSBzZWxlY3RvciB3YXMgc3BlY2lmaWVkLCBsb2NhdGUgdGhlIHJpZ2h0IGVsZW1lbnRzIGluIGEgZHVtbXkgZGl2DQoJCQkJLy8gRXhjbHVkZSBzY3JpcHRzIHRvIGF2b2lkIElFICdQZXJtaXNzaW9uIERlbmllZCcgZXJyb3JzDQoJCQkJalF1ZXJ5KCAiPGRpdj4iICkuYXBwZW5kKCBqUXVlcnkucGFyc2VIVE1MKCByZXNwb25zZVRleHQgKSApLmZpbmQoIHNlbGVjdG9yICkgOg0KDQoJCQkJLy8gT3RoZXJ3aXNlIHVzZSB0aGUgZnVsbCByZXN1bHQNCgkJCQlyZXNwb25zZVRleHQgKTsNCg0KCQkvLyBJZiB0aGUgcmVxdWVzdCBzdWNjZWVkcywgdGhpcyBmdW5jdGlvbiBnZXRzICJkYXRhIiwgInN0YXR1cyIsICJqcVhIUiINCgkJLy8gYnV0IHRoZXkgYXJlIGlnbm9yZWQgYmVjYXVzZSByZXNwb25zZSB3YXMgc2V0IGFib3ZlLg0KCQkvLyBJZiBpdCBmYWlscywgdGhpcyBmdW5jdGlvbiBnZXRzICJqcVhIUiIsICJzdGF0dXMiLCAiZXJyb3IiDQoJCX0gKS5hbHdheXMoIGNhbGxiYWNrICYmIGZ1bmN0aW9uKCBqcVhIUiwgc3RhdHVzICkgew0KCQkJc2VsZi5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQljYWxsYmFjay5hcHBseSggdGhpcywgcmVzcG9uc2UgfHwgWyBqcVhIUi5yZXNwb25zZVRleHQsIHN0YXR1cywganFYSFIgXSApOw0KCQkJfSApOw0KCQl9ICk7DQoJfQ0KDQoJcmV0dXJuIHRoaXM7DQp9Ow0KDQoNCg0KDQovLyBBdHRhY2ggYSBidW5jaCBvZiBmdW5jdGlvbnMgZm9yIGhhbmRsaW5nIGNvbW1vbiBBSkFYIGV2ZW50cw0KalF1ZXJ5LmVhY2goIFsNCgkiYWpheFN0YXJ0IiwNCgkiYWpheFN0b3AiLA0KCSJhamF4Q29tcGxldGUiLA0KCSJhamF4RXJyb3IiLA0KCSJhamF4U3VjY2VzcyIsDQoJImFqYXhTZW5kIg0KXSwgZnVuY3Rpb24oIGksIHR5cGUgKSB7DQoJalF1ZXJ5LmZuWyB0eXBlIF0gPSBmdW5jdGlvbiggZm4gKSB7DQoJCXJldHVybiB0aGlzLm9uKCB0eXBlLCBmbiApOw0KCX07DQp9ICk7DQoNCg0KDQoNCmpRdWVyeS5leHByLnBzZXVkb3MuYW5pbWF0ZWQgPSBmdW5jdGlvbiggZWxlbSApIHsNCglyZXR1cm4galF1ZXJ5LmdyZXAoIGpRdWVyeS50aW1lcnMsIGZ1bmN0aW9uKCBmbiApIHsNCgkJcmV0dXJuIGVsZW0gPT09IGZuLmVsZW07DQoJfSApLmxlbmd0aDsNCn07DQoNCg0KDQoNCmpRdWVyeS5vZmZzZXQgPSB7DQoJc2V0T2Zmc2V0OiBmdW5jdGlvbiggZWxlbSwgb3B0aW9ucywgaSApIHsNCgkJdmFyIGN1clBvc2l0aW9uLCBjdXJMZWZ0LCBjdXJDU1NUb3AsIGN1clRvcCwgY3VyT2Zmc2V0LCBjdXJDU1NMZWZ0LCBjYWxjdWxhdGVQb3NpdGlvbiwNCgkJCXBvc2l0aW9uID0galF1ZXJ5LmNzcyggZWxlbSwgInBvc2l0aW9uIiApLA0KCQkJY3VyRWxlbSA9IGpRdWVyeSggZWxlbSApLA0KCQkJcHJvcHMgPSB7fTsNCg0KCQkvLyBTZXQgcG9zaXRpb24gZmlyc3QsIGluLWNhc2UgdG9wL2xlZnQgYXJlIHNldCBldmVuIG9uIHN0YXRpYyBlbGVtDQoJCWlmICggcG9zaXRpb24gPT09ICJzdGF0aWMiICkgew0KCQkJZWxlbS5zdHlsZS5wb3NpdGlvbiA9ICJyZWxhdGl2ZSI7DQoJCX0NCg0KCQljdXJPZmZzZXQgPSBjdXJFbGVtLm9mZnNldCgpOw0KCQljdXJDU1NUb3AgPSBqUXVlcnkuY3NzKCBlbGVtLCAidG9wIiApOw0KCQljdXJDU1NMZWZ0ID0galF1ZXJ5LmNzcyggZWxlbSwgImxlZnQiICk7DQoJCWNhbGN1bGF0ZVBvc2l0aW9uID0gKCBwb3NpdGlvbiA9PT0gImFic29sdXRlIiB8fCBwb3NpdGlvbiA9PT0gImZpeGVkIiApICYmDQoJCQkoIGN1ckNTU1RvcCArIGN1ckNTU0xlZnQgKS5pbmRleE9mKCAiYXV0byIgKSA-IC0xOw0KDQoJCS8vIE5lZWQgdG8gYmUgYWJsZSB0byBjYWxjdWxhdGUgcG9zaXRpb24gaWYgZWl0aGVyDQoJCS8vIHRvcCBvciBsZWZ0IGlzIGF1dG8gYW5kIHBvc2l0aW9uIGlzIGVpdGhlciBhYnNvbHV0ZSBvciBmaXhlZA0KCQlpZiAoIGNhbGN1bGF0ZVBvc2l0aW9uICkgew0KCQkJY3VyUG9zaXRpb24gPSBjdXJFbGVtLnBvc2l0aW9uKCk7DQoJCQljdXJUb3AgPSBjdXJQb3NpdGlvbi50b3A7DQoJCQljdXJMZWZ0ID0gY3VyUG9zaXRpb24ubGVmdDsNCg0KCQl9IGVsc2Ugew0KCQkJY3VyVG9wID0gcGFyc2VGbG9hdCggY3VyQ1NTVG9wICkgfHwgMDsNCgkJCWN1ckxlZnQgPSBwYXJzZUZsb2F0KCBjdXJDU1NMZWZ0ICkgfHwgMDsNCgkJfQ0KDQoJCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIG9wdGlvbnMgKSApIHsNCg0KCQkJLy8gVXNlIGpRdWVyeS5leHRlbmQgaGVyZSB0byBhbGxvdyBtb2RpZmljYXRpb24gb2YgY29vcmRpbmF0ZXMgYXJndW1lbnQgKGdoLTE4NDgpDQoJCQlvcHRpb25zID0gb3B0aW9ucy5jYWxsKCBlbGVtLCBpLCBqUXVlcnkuZXh0ZW5kKCB7fSwgY3VyT2Zmc2V0ICkgKTsNCgkJfQ0KDQoJCWlmICggb3B0aW9ucy50b3AgIT0gbnVsbCApIHsNCgkJCXByb3BzLnRvcCA9ICggb3B0aW9ucy50b3AgLSBjdXJPZmZzZXQudG9wICkgKyBjdXJUb3A7DQoJCX0NCgkJaWYgKCBvcHRpb25zLmxlZnQgIT0gbnVsbCApIHsNCgkJCXByb3BzLmxlZnQgPSAoIG9wdGlvbnMubGVmdCAtIGN1ck9mZnNldC5sZWZ0ICkgKyBjdXJMZWZ0Ow0KCQl9DQoNCgkJaWYgKCAidXNpbmciIGluIG9wdGlvbnMgKSB7DQoJCQlvcHRpb25zLnVzaW5nLmNhbGwoIGVsZW0sIHByb3BzICk7DQoNCgkJfSBlbHNlIHsNCgkJCWN1ckVsZW0uY3NzKCBwcm9wcyApOw0KCQl9DQoJfQ0KfTsNCg0KalF1ZXJ5LmZuLmV4dGVuZCggew0KCW9mZnNldDogZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoNCgkJLy8gUHJlc2VydmUgY2hhaW5pbmcgZm9yIHNldHRlcg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQlyZXR1cm4gb3B0aW9ucyA9PT0gdW5kZWZpbmVkID8NCgkJCQl0aGlzIDoNCgkJCQl0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJCQlqUXVlcnkub2Zmc2V0LnNldE9mZnNldCggdGhpcywgb3B0aW9ucywgaSApOw0KCQkJCX0gKTsNCgkJfQ0KDQoJCXZhciBkb2MsIGRvY0VsZW0sIHJlY3QsIHdpbiwNCgkJCWVsZW0gPSB0aGlzWyAwIF07DQoNCgkJaWYgKCAhZWxlbSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIFJldHVybiB6ZXJvcyBmb3IgZGlzY29ubmVjdGVkIGFuZCBoaWRkZW4gKGRpc3BsYXk6IG5vbmUpIGVsZW1lbnRzIChnaC0yMzEwKQ0KCQkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkNCgkJLy8gUnVubmluZyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qgb24gYQ0KCQkvLyBkaXNjb25uZWN0ZWQgbm9kZSBpbiBJRSB0aHJvd3MgYW4gZXJyb3INCgkJaWYgKCAhZWxlbS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCApIHsNCgkJCXJldHVybiB7IHRvcDogMCwgbGVmdDogMCB9Ow0KCQl9DQoNCgkJcmVjdCA9IGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7DQoNCgkJZG9jID0gZWxlbS5vd25lckRvY3VtZW50Ow0KCQlkb2NFbGVtID0gZG9jLmRvY3VtZW50RWxlbWVudDsNCgkJd2luID0gZG9jLmRlZmF1bHRWaWV3Ow0KDQoJCXJldHVybiB7DQoJCQl0b3A6IHJlY3QudG9wICsgd2luLnBhZ2VZT2Zmc2V0IC0gZG9jRWxlbS5jbGllbnRUb3AsDQoJCQlsZWZ0OiByZWN0LmxlZnQgKyB3aW4ucGFnZVhPZmZzZXQgLSBkb2NFbGVtLmNsaWVudExlZnQNCgkJfTsNCgl9LA0KDQoJcG9zaXRpb246IGZ1bmN0aW9uKCkgew0KCQlpZiAoICF0aGlzWyAwIF0gKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgb2Zmc2V0UGFyZW50LCBvZmZzZXQsDQoJCQllbGVtID0gdGhpc1sgMCBdLA0KCQkJcGFyZW50T2Zmc2V0ID0geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCg0KCQkvLyBGaXhlZCBlbGVtZW50cyBhcmUgb2Zmc2V0IGZyb20gd2luZG93IChwYXJlbnRPZmZzZXQgPSB7dG9wOjAsIGxlZnQ6IDB9LA0KCQkvLyBiZWNhdXNlIGl0IGlzIGl0cyBvbmx5IG9mZnNldCBwYXJlbnQNCgkJaWYgKCBqUXVlcnkuY3NzKCBlbGVtLCAicG9zaXRpb24iICkgPT09ICJmaXhlZCIgKSB7DQoNCgkJCS8vIEFzc3VtZSBnZXRCb3VuZGluZ0NsaWVudFJlY3QgaXMgdGhlcmUgd2hlbiBjb21wdXRlZCBwb3NpdGlvbiBpcyBmaXhlZA0KCQkJb2Zmc2V0ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsNCg0KCQl9IGVsc2Ugew0KDQoJCQkvLyBHZXQgKnJlYWwqIG9mZnNldFBhcmVudA0KCQkJb2Zmc2V0UGFyZW50ID0gdGhpcy5vZmZzZXRQYXJlbnQoKTsNCg0KCQkJLy8gR2V0IGNvcnJlY3Qgb2Zmc2V0cw0KCQkJb2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTsNCgkJCWlmICggIW5vZGVOYW1lKCBvZmZzZXRQYXJlbnRbIDAgXSwgImh0bWwiICkgKSB7DQoJCQkJcGFyZW50T2Zmc2V0ID0gb2Zmc2V0UGFyZW50Lm9mZnNldCgpOw0KCQkJfQ0KDQoJCQkvLyBBZGQgb2Zmc2V0UGFyZW50IGJvcmRlcnMNCgkJCXBhcmVudE9mZnNldCA9IHsNCgkJCQl0b3A6IHBhcmVudE9mZnNldC50b3AgKyBqUXVlcnkuY3NzKCBvZmZzZXRQYXJlbnRbIDAgXSwgImJvcmRlclRvcFdpZHRoIiwgdHJ1ZSApLA0KCQkJCWxlZnQ6IHBhcmVudE9mZnNldC5sZWZ0ICsgalF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50WyAwIF0sICJib3JkZXJMZWZ0V2lkdGgiLCB0cnVlICkNCgkJCX07DQoJCX0NCg0KCQkvLyBTdWJ0cmFjdCBwYXJlbnQgb2Zmc2V0cyBhbmQgZWxlbWVudCBtYXJnaW5zDQoJCXJldHVybiB7DQoJCQl0b3A6IG9mZnNldC50b3AgLSBwYXJlbnRPZmZzZXQudG9wIC0galF1ZXJ5LmNzcyggZWxlbSwgIm1hcmdpblRvcCIsIHRydWUgKSwNCgkJCWxlZnQ6IG9mZnNldC5sZWZ0IC0gcGFyZW50T2Zmc2V0LmxlZnQgLSBqUXVlcnkuY3NzKCBlbGVtLCAibWFyZ2luTGVmdCIsIHRydWUgKQ0KCQl9Ow0KCX0sDQoNCgkvLyBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBkb2N1bWVudEVsZW1lbnQgaW4gdGhlIGZvbGxvd2luZyBjYXNlczoNCgkvLyAxKSBGb3IgdGhlIGVsZW1lbnQgaW5zaWRlIHRoZSBpZnJhbWUgd2l0aG91dCBvZmZzZXRQYXJlbnQsIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuDQoJLy8gICAgZG9jdW1lbnRFbGVtZW50IG9mIHRoZSBwYXJlbnQgd2luZG93DQoJLy8gMikgRm9yIHRoZSBoaWRkZW4gb3IgZGV0YWNoZWQgZWxlbWVudA0KCS8vIDMpIEZvciBib2R5IG9yIGh0bWwgZWxlbWVudCwgaS5lLiBpbiBjYXNlIG9mIHRoZSBodG1sIG5vZGUgLSBpdCB3aWxsIHJldHVybiBpdHNlbGYNCgkvLw0KCS8vIGJ1dCB0aG9zZSBleGNlcHRpb25zIHdlcmUgbmV2ZXIgcHJlc2VudGVkIGFzIGEgcmVhbCBsaWZlIHVzZS1jYXNlcw0KCS8vIGFuZCBtaWdodCBiZSBjb25zaWRlcmVkIGFzIG1vcmUgcHJlZmVyYWJsZSByZXN1bHRzLg0KCS8vDQoJLy8gVGhpcyBsb2dpYywgaG93ZXZlciwgaXMgbm90IGd1YXJhbnRlZWQgYW5kIGNhbiBjaGFuZ2UgYXQgYW55IHBvaW50IGluIHRoZSBmdXR1cmUNCglvZmZzZXRQYXJlbnQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tYXAoIGZ1bmN0aW9uKCkgew0KCQkJdmFyIG9mZnNldFBhcmVudCA9IHRoaXMub2Zmc2V0UGFyZW50Ow0KDQoJCQl3aGlsZSAoIG9mZnNldFBhcmVudCAmJiBqUXVlcnkuY3NzKCBvZmZzZXRQYXJlbnQsICJwb3NpdGlvbiIgKSA9PT0gInN0YXRpYyIgKSB7DQoJCQkJb2Zmc2V0UGFyZW50ID0gb2Zmc2V0UGFyZW50Lm9mZnNldFBhcmVudDsNCgkJCX0NCg0KCQkJcmV0dXJuIG9mZnNldFBhcmVudCB8fCBkb2N1bWVudEVsZW1lbnQ7DQoJCX0gKTsNCgl9DQp9ICk7DQoNCi8vIENyZWF0ZSBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgbWV0aG9kcw0KalF1ZXJ5LmVhY2goIHsgc2Nyb2xsTGVmdDogInBhZ2VYT2Zmc2V0Iiwgc2Nyb2xsVG9wOiAicGFnZVlPZmZzZXQiIH0sIGZ1bmN0aW9uKCBtZXRob2QsIHByb3AgKSB7DQoJdmFyIHRvcCA9ICJwYWdlWU9mZnNldCIgPT09IHByb3A7DQoNCglqUXVlcnkuZm5bIG1ldGhvZCBdID0gZnVuY3Rpb24oIHZhbCApIHsNCgkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIGVsZW0sIG1ldGhvZCwgdmFsICkgew0KDQoJCQkvLyBDb2FsZXNjZSBkb2N1bWVudHMgYW5kIHdpbmRvd3MNCgkJCXZhciB3aW47DQoJCQlpZiAoIGpRdWVyeS5pc1dpbmRvdyggZWxlbSApICkgew0KCQkJCXdpbiA9IGVsZW07DQoJCQl9IGVsc2UgaWYgKCBlbGVtLm5vZGVUeXBlID09PSA5ICkgew0KCQkJCXdpbiA9IGVsZW0uZGVmYXVsdFZpZXc7DQoJCQl9DQoNCgkJCWlmICggdmFsID09PSB1bmRlZmluZWQgKSB7DQoJCQkJcmV0dXJuIHdpbiA_IHdpblsgcHJvcCBdIDogZWxlbVsgbWV0aG9kIF07DQoJCQl9DQoNCgkJCWlmICggd2luICkgew0KCQkJCXdpbi5zY3JvbGxUbygNCgkJCQkJIXRvcCA_IHZhbCA6IHdpbi5wYWdlWE9mZnNldCwNCgkJCQkJdG9wID8gdmFsIDogd2luLnBhZ2VZT2Zmc2V0DQoJCQkJKTsNCg0KCQkJfSBlbHNlIHsNCgkJCQllbGVtWyBtZXRob2QgXSA9IHZhbDsNCgkJCX0NCgkJfSwgbWV0aG9kLCB2YWwsIGFyZ3VtZW50cy5sZW5ndGggKTsNCgl9Ow0KfSApOw0KDQovLyBTdXBwb3J0OiBTYWZhcmkgPD03IC0gOS4xLCBDaHJvbWUgPD0zNyAtIDQ5DQovLyBBZGQgdGhlIHRvcC9sZWZ0IGNzc0hvb2tzIHVzaW5nIGpRdWVyeS5mbi5wb3NpdGlvbg0KLy8gV2Via2l0IGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDg0DQovLyBCbGluayBidWc6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTU4OTM0Nw0KLy8gZ2V0Q29tcHV0ZWRTdHlsZSByZXR1cm5zIHBlcmNlbnQgd2hlbiBzcGVjaWZpZWQgZm9yIHRvcC9sZWZ0L2JvdHRvbS9yaWdodDsNCi8vIHJhdGhlciB0aGFuIG1ha2UgdGhlIGNzcyBtb2R1bGUgZGVwZW5kIG9uIHRoZSBvZmZzZXQgbW9kdWxlLCBqdXN0IGNoZWNrIGZvciBpdCBoZXJlDQpqUXVlcnkuZWFjaCggWyAidG9wIiwgImxlZnQiIF0sIGZ1bmN0aW9uKCBpLCBwcm9wICkgew0KCWpRdWVyeS5jc3NIb29rc1sgcHJvcCBdID0gYWRkR2V0SG9va0lmKCBzdXBwb3J0LnBpeGVsUG9zaXRpb24sDQoJCWZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCApIHsNCgkJCWlmICggY29tcHV0ZWQgKSB7DQoJCQkJY29tcHV0ZWQgPSBjdXJDU1MoIGVsZW0sIHByb3AgKTsNCg0KCQkJCS8vIElmIGN1ckNTUyByZXR1cm5zIHBlcmNlbnRhZ2UsIGZhbGxiYWNrIHRvIG9mZnNldA0KCQkJCXJldHVybiBybnVtbm9ucHgudGVzdCggY29tcHV0ZWQgKSA_DQoJCQkJCWpRdWVyeSggZWxlbSApLnBvc2l0aW9uKClbIHByb3AgXSArICJweCIgOg0KCQkJCQljb21wdXRlZDsNCgkJCX0NCgkJfQ0KCSk7DQp9ICk7DQoNCg0KLy8gQ3JlYXRlIGlubmVySGVpZ2h0LCBpbm5lcldpZHRoLCBoZWlnaHQsIHdpZHRoLCBvdXRlckhlaWdodCBhbmQgb3V0ZXJXaWR0aCBtZXRob2RzDQpqUXVlcnkuZWFjaCggeyBIZWlnaHQ6ICJoZWlnaHQiLCBXaWR0aDogIndpZHRoIiB9LCBmdW5jdGlvbiggbmFtZSwgdHlwZSApIHsNCglqUXVlcnkuZWFjaCggeyBwYWRkaW5nOiAiaW5uZXIiICsgbmFtZSwgY29udGVudDogdHlwZSwgIiI6ICJvdXRlciIgKyBuYW1lIH0sDQoJCWZ1bmN0aW9uKCBkZWZhdWx0RXh0cmEsIGZ1bmNOYW1lICkgew0KDQoJCS8vIE1hcmdpbiBpcyBvbmx5IGZvciBvdXRlckhlaWdodCwgb3V0ZXJXaWR0aA0KCQlqUXVlcnkuZm5bIGZ1bmNOYW1lIF0gPSBmdW5jdGlvbiggbWFyZ2luLCB2YWx1ZSApIHsNCgkJCXZhciBjaGFpbmFibGUgPSBhcmd1bWVudHMubGVuZ3RoICYmICggZGVmYXVsdEV4dHJhIHx8IHR5cGVvZiBtYXJnaW4gIT09ICJib29sZWFuIiApLA0KCQkJCWV4dHJhID0gZGVmYXVsdEV4dHJhIHx8ICggbWFyZ2luID09PSB0cnVlIHx8IHZhbHVlID09PSB0cnVlID8gIm1hcmdpbiIgOiAiYm9yZGVyIiApOw0KDQoJCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggZWxlbSwgdHlwZSwgdmFsdWUgKSB7DQoJCQkJdmFyIGRvYzsNCg0KCQkJCWlmICggalF1ZXJ5LmlzV2luZG93KCBlbGVtICkgKSB7DQoNCgkJCQkJLy8gJCggd2luZG93ICkub3V0ZXJXaWR0aC9IZWlnaHQgcmV0dXJuIHcvaCBpbmNsdWRpbmcgc2Nyb2xsYmFycyAoZ2gtMTcyOSkNCgkJCQkJcmV0dXJuIGZ1bmNOYW1lLmluZGV4T2YoICJvdXRlciIgKSA9PT0gMCA_DQoJCQkJCQllbGVtWyAiaW5uZXIiICsgbmFtZSBdIDoNCgkJCQkJCWVsZW0uZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyAiY2xpZW50IiArIG5hbWUgXTsNCgkJCQl9DQoNCgkJCQkvLyBHZXQgZG9jdW1lbnQgd2lkdGggb3IgaGVpZ2h0DQoJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSA5ICkgew0KCQkJCQlkb2MgPSBlbGVtLmRvY3VtZW50RWxlbWVudDsNCg0KCQkJCQkvLyBFaXRoZXIgc2Nyb2xsW1dpZHRoL0hlaWdodF0gb3Igb2Zmc2V0W1dpZHRoL0hlaWdodF0gb3IgY2xpZW50W1dpZHRoL0hlaWdodF0sDQoJCQkJCS8vIHdoaWNoZXZlciBpcyBncmVhdGVzdA0KCQkJCQlyZXR1cm4gTWF0aC5tYXgoDQoJCQkJCQllbGVtLmJvZHlbICJzY3JvbGwiICsgbmFtZSBdLCBkb2NbICJzY3JvbGwiICsgbmFtZSBdLA0KCQkJCQkJZWxlbS5ib2R5WyAib2Zmc2V0IiArIG5hbWUgXSwgZG9jWyAib2Zmc2V0IiArIG5hbWUgXSwNCgkJCQkJCWRvY1sgImNsaWVudCIgKyBuYW1lIF0NCgkJCQkJKTsNCgkJCQl9DQoNCgkJCQlyZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA_DQoNCgkJCQkJLy8gR2V0IHdpZHRoIG9yIGhlaWdodCBvbiB0aGUgZWxlbWVudCwgcmVxdWVzdGluZyBidXQgbm90IGZvcmNpbmcgcGFyc2VGbG9hdA0KCQkJCQlqUXVlcnkuY3NzKCBlbGVtLCB0eXBlLCBleHRyYSApIDoNCg0KCQkJCQkvLyBTZXQgd2lkdGggb3IgaGVpZ2h0IG9uIHRoZSBlbGVtZW50DQoJCQkJCWpRdWVyeS5zdHlsZSggZWxlbSwgdHlwZSwgdmFsdWUsIGV4dHJhICk7DQoJCQl9LCB0eXBlLCBjaGFpbmFibGUgPyBtYXJnaW4gOiB1bmRlZmluZWQsIGNoYWluYWJsZSApOw0KCQl9Ow0KCX0gKTsNCn0gKTsNCg0KDQpqUXVlcnkuZm4uZXh0ZW5kKCB7DQoNCgliaW5kOiBmdW5jdGlvbiggdHlwZXMsIGRhdGEsIGZuICkgew0KCQlyZXR1cm4gdGhpcy5vbiggdHlwZXMsIG51bGwsIGRhdGEsIGZuICk7DQoJfSwNCgl1bmJpbmQ6IGZ1bmN0aW9uKCB0eXBlcywgZm4gKSB7DQoJCXJldHVybiB0aGlzLm9mZiggdHlwZXMsIG51bGwsIGZuICk7DQoJfSwNCg0KCWRlbGVnYXRlOiBmdW5jdGlvbiggc2VsZWN0b3IsIHR5cGVzLCBkYXRhLCBmbiApIHsNCgkJcmV0dXJuIHRoaXMub24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKTsNCgl9LA0KCXVuZGVsZWdhdGU6IGZ1bmN0aW9uKCBzZWxlY3RvciwgdHlwZXMsIGZuICkgew0KDQoJCS8vICggbmFtZXNwYWNlICkgb3IgKCBzZWxlY3RvciwgdHlwZXMgWywgZm5dICkNCgkJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPw0KCQkJdGhpcy5vZmYoIHNlbGVjdG9yLCAiKioiICkgOg0KCQkJdGhpcy5vZmYoIHR5cGVzLCBzZWxlY3RvciB8fCAiKioiLCBmbiApOw0KCX0NCn0gKTsNCg0KalF1ZXJ5LmhvbGRSZWFkeSA9IGZ1bmN0aW9uKCBob2xkICkgew0KCWlmICggaG9sZCApIHsNCgkJalF1ZXJ5LnJlYWR5V2FpdCsrOw0KCX0gZWxzZSB7DQoJCWpRdWVyeS5yZWFkeSggdHJ1ZSApOw0KCX0NCn07DQpqUXVlcnkuaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7DQpqUXVlcnkucGFyc2VKU09OID0gSlNPTi5wYXJzZTsNCmpRdWVyeS5ub2RlTmFtZSA9IG5vZGVOYW1lOw0KDQoNCg0KDQovLyBSZWdpc3RlciBhcyBhIG5hbWVkIEFNRCBtb2R1bGUsIHNpbmNlIGpRdWVyeSBjYW4gYmUgY29uY2F0ZW5hdGVkIHdpdGggb3RoZXINCi8vIGZpbGVzIHRoYXQgbWF5IHVzZSBkZWZpbmUsIGJ1dCBub3QgdmlhIGEgcHJvcGVyIGNvbmNhdGVuYXRpb24gc2NyaXB0IHRoYXQNCi8vIHVuZGVyc3RhbmRzIGFub255bW91cyBBTUQgbW9kdWxlcy4gQSBuYW1lZCBBTUQgaXMgc2FmZXN0IGFuZCBtb3N0IHJvYnVzdA0KLy8gd2F5IHRvIHJlZ2lzdGVyLiBMb3dlcmNhc2UganF1ZXJ5IGlzIHVzZWQgYmVjYXVzZSBBTUQgbW9kdWxlIG5hbWVzIGFyZQ0KLy8gZGVyaXZlZCBmcm9tIGZpbGUgbmFtZXMsIGFuZCBqUXVlcnkgaXMgbm9ybWFsbHkgZGVsaXZlcmVkIGluIGEgbG93ZXJjYXNlDQovLyBmaWxlIG5hbWUuIERvIHRoaXMgYWZ0ZXIgY3JlYXRpbmcgdGhlIGdsb2JhbCBzbyB0aGF0IGlmIGFuIEFNRCBtb2R1bGUgd2FudHMNCi8vIHRvIGNhbGwgbm9Db25mbGljdCB0byBoaWRlIHRoaXMgdmVyc2lvbiBvZiBqUXVlcnksIGl0IHdpbGwgd29yay4NCg0KLy8gTm90ZSB0aGF0IGZvciBtYXhpbXVtIHBvcnRhYmlsaXR5LCBsaWJyYXJpZXMgdGhhdCBhcmUgbm90IGpRdWVyeSBzaG91bGQNCi8vIGRlY2xhcmUgdGhlbXNlbHZlcyBhcyBhbm9ueW1vdXMgbW9kdWxlcywgYW5kIGF2b2lkIHNldHRpbmcgYSBnbG9iYWwgaWYgYW4NCi8vIEFNRCBsb2FkZXIgaXMgcHJlc2VudC4galF1ZXJ5IGlzIGEgc3BlY2lhbCBjYXNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlDQovLyBodHRwczovL2dpdGh1Yi5jb20vanJidXJrZS9yZXF1aXJlanMvd2lraS9VcGRhdGluZy1leGlzdGluZy1saWJyYXJpZXMjd2lraS1hbm9uDQoNCmlmICggdHlwZW9mIGRlZmluZSA9PT0gImZ1bmN0aW9uIiAmJiBkZWZpbmUuYW1kICkgew0KCWRlZmluZSggImpxdWVyeSIsIFtdLCBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIGpRdWVyeTsNCgl9ICk7DQp9DQoNCg0KDQoNCnZhcg0KDQoJLy8gTWFwIG92ZXIgalF1ZXJ5IGluIGNhc2Ugb2Ygb3ZlcndyaXRlDQoJX2pRdWVyeSA9IHdpbmRvdy5qUXVlcnksDQoNCgkvLyBNYXAgb3ZlciB0aGUgJCBpbiBjYXNlIG9mIG92ZXJ3cml0ZQ0KCV8kID0gd2luZG93LiQ7DQoNCmpRdWVyeS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oIGRlZXAgKSB7DQoJaWYgKCB3aW5kb3cuJCA9PT0galF1ZXJ5ICkgew0KCQl3aW5kb3cuJCA9IF8kOw0KCX0NCg0KCWlmICggZGVlcCAmJiB3aW5kb3cualF1ZXJ5ID09PSBqUXVlcnkgKSB7DQoJCXdpbmRvdy5qUXVlcnkgPSBfalF1ZXJ5Ow0KCX0NCg0KCXJldHVybiBqUXVlcnk7DQp9Ow0KDQovLyBFeHBvc2UgalF1ZXJ5IGFuZCAkIGlkZW50aWZpZXJzLCBldmVuIGluIEFNRA0KLy8gKCM3MTAyI2NvbW1lbnQ6MTAsIGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvanF1ZXJ5L3B1bGwvNTU3KQ0KLy8gYW5kIENvbW1vbkpTIGZvciBicm93c2VyIGVtdWxhdG9ycyAoIzEzNTY2KQ0KaWYgKCAhbm9HbG9iYWwgKSB7DQoJd2luZG93LmpRdWVyeSA9IHdpbmRvdy4kID0galF1ZXJ5Ow0KfQ0KDQoNCg0KDQpyZXR1cm4galF1ZXJ5Ow0KfSApOw","jquery-3.2.1.slim.min.js":"LyohIGpRdWVyeSB2My4yLjEgLWFqYXgsLWFqYXgvanNvbnAsLWFqYXgvbG9hZCwtYWpheC9wYXJzZVhNTCwtYWpheC9zY3JpcHQsLWFqYXgvdmFyL2xvY2F0aW9uLC1hamF4L3Zhci9ub25jZSwtYWpheC92YXIvcnF1ZXJ5LC1hamF4L3hociwtbWFuaXB1bGF0aW9uL19ldmFsVXJsLC1ldmVudC9hamF4LC1lZmZlY3RzLC1lZmZlY3RzL1R3ZWVuLC1lZmZlY3RzL2FuaW1hdGVkU2VsZWN0b3IgfCAoYykgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovDQohZnVuY3Rpb24oYSxiKXsidXNlIHN0cmljdCI7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM_bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpeyJ1c2Ugc3RyaWN0Ijt2YXIgYz1bXSxkPWEuZG9jdW1lbnQsZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZj1jLnNsaWNlLGc9Yy5jb25jYXQsaD1jLnB1c2gsaT1jLmluZGV4T2Ysaj17fSxrPWoudG9TdHJpbmcsbD1qLmhhc093blByb3BlcnR5LG09bC50b1N0cmluZyxuPW0uY2FsbChPYmplY3QpLG89e307ZnVuY3Rpb24gcChhLGIpe2I9Ynx8ZDt2YXIgYz1iLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2MudGV4dD1hLGIuaGVhZC5hcHBlbmRDaGlsZChjKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpfXZhciBxPSIzLjIuMSAtYWpheCwtYWpheC9qc29ucCwtYWpheC9sb2FkLC1hamF4L3BhcnNlWE1MLC1hamF4L3NjcmlwdCwtYWpheC92YXIvbG9jYXRpb24sLWFqYXgvdmFyL25vbmNlLC1hamF4L3Zhci9ycXVlcnksLWFqYXgveGhyLC1tYW5pcHVsYXRpb24vX2V2YWxVcmwsLWV2ZW50L2FqYXgsLWVmZmVjdHMsLWVmZmVjdHMvVHdlZW4sLWVmZmVjdHMvYW5pbWF0ZWRTZWxlY3RvciIscj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgci5mbi5pbml0KGEsYil9LHM9L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLHQ9L14tbXMtLyx1PS8tKFthLXpdKS9nLHY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtyLmZuPXIucHJvdG90eXBlPXtqcXVlcnk6cSxjb25zdHJ1Y3RvcjpyLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZi5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE_Zi5jYWxsKHRoaXMpOmE8MD90aGlzW2ErdGhpcy5sZW5ndGhdOnRoaXNbYV19LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1yLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYn0sZWFjaDpmdW5jdGlvbihhKXtyZXR1cm4gci5lYWNoKHRoaXMsYSl9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soci5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhmLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKGE8MD9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZjPGI_W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcigpfSxwdXNoOmgsc29ydDpjLnNvcnQsc3BsaWNlOmMuc3BsaWNlfSxyLmV4dGVuZD1yLmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZixnPWFyZ3VtZW50c1swXXx8e30saD0xLGk9YXJndW1lbnRzLmxlbmd0aCxqPSExO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBnJiYoaj1nLGc9YXJndW1lbnRzW2hdfHx7fSxoKyspLCJvYmplY3QiPT10eXBlb2YgZ3x8ci5pc0Z1bmN0aW9uKGcpfHwoZz17fSksaD09PWkmJihnPXRoaXMsaC0tKTtoPGk7aCsrKWlmKG51bGwhPShhPWFyZ3VtZW50c1toXSkpZm9yKGIgaW4gYSljPWdbYl0sZD1hW2JdLGchPT1kJiYoaiYmZCYmKHIuaXNQbGFpbk9iamVjdChkKXx8KGU9QXJyYXkuaXNBcnJheShkKSkpPyhlPyhlPSExLGY9YyYmQXJyYXkuaXNBcnJheShjKT9jOltdKTpmPWMmJnIuaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09ci5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LHIuZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhxK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1yLnR5cGUoYSl9LGlzV2luZG93OmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hJiZhPT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXt2YXIgYj1yLnR5cGUoYSk7cmV0dXJuKCJudW1iZXIiPT09Ynx8InN0cmluZyI9PT1iKSYmIWlzTmFOKGEtcGFyc2VGbG9hdChhKSl9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGIsYztyZXR1cm4hKCFhfHwiW29iamVjdCBPYmplY3RdIiE9PWsuY2FsbChhKSkmJighKGI9ZShhKSl8fChjPWwuY2FsbChiLCJjb25zdHJ1Y3RvciIpJiZiLmNvbnN0cnVjdG9yLCJmdW5jdGlvbiI9PXR5cGVvZiBjJiZtLmNhbGwoYyk9PT1uKSl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7Zm9yKGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE_altrLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXtwKGEpfSxjYW1lbENhc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSh0LCJtcy0iKS5yZXBsYWNlKHUsdil9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYodyhhKSl7Zm9yKGM9YS5sZW5ndGg7ZDxjO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShzLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJih3KE9iamVjdChhKSk_ci5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6aC5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsPT1iPy0xOmkuY2FsbChiLGEsYyl9LG1lcmdlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPStiLmxlbmd0aCxkPTAsZT1hLmxlbmd0aDtkPGM7ZCsrKWFbZSsrXT1iW2RdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7ZjxnO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9MCxoPVtdO2lmKHcoYSkpZm9yKGQ9YS5sZW5ndGg7ZjxkO2YrKyllPWIoYVtmXSxmLGMpLG51bGwhPWUmJmgucHVzaChlKTtlbHNlIGZvcihmIGluIGEpZT1iKGFbZl0sZixjKSxudWxsIT1lJiZoLnB1c2goZSk7cmV0dXJuIGcuYXBwbHkoW10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZTtpZigic3RyaW5nIj09dHlwZW9mIGImJihjPWFbYl0sYj1hLGE9Yyksci5pc0Z1bmN0aW9uKGEpKXJldHVybiBkPWYuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsZC5jb25jYXQoZi5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fHIuZ3VpZCsrLGV9LG5vdzpEYXRlLm5vdyxzdXBwb3J0Om99KSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoci5mbltTeW1ib2wuaXRlcmF0b3JdPWNbU3ltYm9sLml0ZXJhdG9yXSksci5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2pbIltvYmplY3QgIitiKyJdIl09Yi50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gdyhhKXt2YXIgYj0hIWEmJiJsZW5ndGgiaW4gYSYmYS5sZW5ndGgsYz1yLnR5cGUoYSk7cmV0dXJuImZ1bmN0aW9uIiE9PWMmJiFyLmlzV2luZG93KGEpJiYoImFycmF5Ij09PWN8fDA9PT1ifHwibnVtYmVyIj09dHlwZW9mIGImJmI-MCYmYi0xIGluIGEpfXZhciB4PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxuLG8scCxxLHIscyx0LHU9InNpenpsZSIrMSpuZXcgRGF0ZSx2PWEuZG9jdW1lbnQsdz0wLHg9MCx5PWhhKCksej1oYSgpLEE9aGEoKSxCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iJiYobD0hMCksMH0sQz17fS5oYXNPd25Qcm9wZXJ0eSxEPVtdLEU9RC5wb3AsRj1ELnB1c2gsRz1ELnB1c2gsSD1ELnNsaWNlLEk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDtjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEo9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixLPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixMPSIoPzpcXFxcLnxbXFx3LV18W15cMC1cXHhhMF0pKyIsTT0iXFxbIitLKyIqKCIrTCsiKSg_OiIrSysiKihbKl4kfCF-XT89KSIrSysiKig_OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg_OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK0wrIikpfCkiK0srIipcXF0iLE49IjooIitMKyIpKD86XFwoKCgnKCg_OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg_OlxcXFwufFteXFxcXCgpW1xcXV18IitNKyIpKil8LiopXFwpfCkiLE89bmV3IFJlZ0V4cChLKyIrIiwiZyIpLFA9bmV3IFJlZ0V4cCgiXiIrSysiK3woKD86XnxbXlxcXFxdKSg_OlxcXFwuKSopIitLKyIrJCIsImciKSxRPW5ldyBSZWdFeHAoIl4iK0srIiosIitLKyIqIiksUj1uZXcgUmVnRXhwKCJeIitLKyIqKFs-K35dfCIrSysiKSIrSysiKiIpLFM9bmV3IFJlZ0V4cCgiPSIrSysiKihbXlxcXSdcIl0qPykiK0srIipcXF0iLCJnIiksVD1uZXcgUmVnRXhwKE4pLFU9bmV3IFJlZ0V4cCgiXiIrTCsiJCIpLFY9e0lEOm5ldyBSZWdFeHAoIl4jKCIrTCsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitMKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitMKyJ8WypdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTSksUFNFVURPOm5ldyBSZWdFeHAoIl4iK04pLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg_OlxcKCIrSysiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrSysiKig_OihbKy1dfCkiK0srIiooXFxkKyl8KSkiK0srIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0orIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitLKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0srIiooKD86LVxcZCk_XFxkKikiK0srIipcXCl8KSg_PVteLV18JCkiLCJpIil9LFc9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxYPS9eaFxkJC9pLFk9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLFo9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLywkPS9bK35dLyxfPW5ldyBSZWdFeHAoIlxcXFwoW1xcZGEtZl17MSw2fSIrSysiP3woIitLKyIpfC4pIiwiaWciKSxhYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IjB4IitiLTY1NTM2O3JldHVybiBkIT09ZHx8Yz9iOmQ8MD9TdHJpbmcuZnJvbUNoYXJDb2RlKGQrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoZD4-MTB8NTUyOTYsMTAyMyZkfDU2MzIwKX0sYmE9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15cMC1ceDFmXHg3Zi1cdUZGRkZcdy1dL2csY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iXDAiPT09YT8iXHVmZmZkIjphLnNsaWNlKDAsLTEpKyJcXCIrYS5jaGFyQ29kZUF0KGEubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIithfSxkYT1mdW5jdGlvbigpe20oKX0sZWE9dGEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMCYmKCJmb3JtImluIGF8fCJsYWJlbCJpbiBhKX0se2RpcjoicGFyZW50Tm9kZSIsbmV4dDoibGVnZW5kIn0pO3RyeXtHLmFwcGx5KEQ9SC5jYWxsKHYuY2hpbGROb2Rlcyksdi5jaGlsZE5vZGVzKSxEW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGZhKXtHPXthcHBseTpELmxlbmd0aD9mdW5jdGlvbihhLGIpe0YuYXBwbHkoYSxILmNhbGwoYikpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MDt3aGlsZShhW2MrK109YltkKytdKTthLmxlbmd0aD1jLTF9fX1mdW5jdGlvbiBnYShhLGIsZCxlKXt2YXIgZixoLGosayxsLG8scixzPWImJmIub3duZXJEb2N1bWVudCx3PWI_Yi5ub2RlVHlwZTo5O2lmKGQ9ZHx8W10sInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PXcmJjkhPT13JiYxMSE9PXcpcmV0dXJuIGQ7aWYoIWUmJigoYj9iLm93bmVyRG9jdW1lbnR8fGI6dikhPT1uJiZtKGIpLGI9Ynx8bixwKSl7aWYoMTEhPT13JiYobD1aLmV4ZWMoYSkpKWlmKGY9bFsxXSl7aWYoOT09PXcpe2lmKCEoaj1iLmdldEVsZW1lbnRCeUlkKGYpKSlyZXR1cm4gZDtpZihqLmlkPT09ZilyZXR1cm4gZC5wdXNoKGopLGR9ZWxzZSBpZihzJiYoaj1zLmdldEVsZW1lbnRCeUlkKGYpKSYmdChiLGopJiZqLmlkPT09ZilyZXR1cm4gZC5wdXNoKGopLGR9ZWxzZXtpZihsWzJdKXJldHVybiBHLmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKSksZDtpZigoZj1sWzNdKSYmYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEcuYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZikpLGR9aWYoYy5xc2EmJiFBW2ErIiAiXSYmKCFxfHwhcS50ZXN0KGEpKSl7aWYoMSE9PXcpcz1iLHI9YTtlbHNlIGlmKCJvYmplY3QiIT09Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXsoaz1iLmdldEF0dHJpYnV0ZSgiaWQiKSk_az1rLnJlcGxhY2UoYmEsY2EpOmIuc2V0QXR0cmlidXRlKCJpZCIsaz11KSxvPWcoYSksaD1vLmxlbmd0aDt3aGlsZShoLS0pb1toXT0iIyIraysiICIrc2Eob1toXSk7cj1vLmpvaW4oIiwiKSxzPSQudGVzdChhKSYmcWEoYi5wYXJlbnROb2RlKXx8Yn1pZihyKXRyeXtyZXR1cm4gRy5hcHBseShkLHMucXVlcnlTZWxlY3RvckFsbChyKSksZH1jYXRjaCh4KXt9ZmluYWxseXtrPT09dSYmYi5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gaShhLnJlcGxhY2UoUCwiJDEiKSxiLGQsZSl9ZnVuY3Rpb24gaGEoKXt2YXIgYT1bXTtmdW5jdGlvbiBiKGMsZSl7cmV0dXJuIGEucHVzaChjKyIgIik-ZC5jYWNoZUxlbmd0aCYmZGVsZXRlIGJbYS5zaGlmdCgpXSxiW2MrIiAiXT1lfXJldHVybiBifWZ1bmN0aW9uIGlhKGEpe3JldHVybiBhW3VdPSEwLGF9ZnVuY3Rpb24gamEoYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpO3RyeXtyZXR1cm4hIWEoYil9Y2F0Y2goYyl7cmV0dXJuITF9ZmluYWxseXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxiPW51bGx9fWZ1bmN0aW9uIGthKGEsYil7dmFyIGM9YS5zcGxpdCgifCIpLGU9Yy5sZW5ndGg7d2hpbGUoZS0tKWQuYXR0ckhhbmRsZVtjW2VdXT1ifWZ1bmN0aW9uIGxhKGEsYil7dmFyIGM9YiYmYSxkPWMmJjE9PT1hLm5vZGVUeXBlJiYxPT09Yi5ub2RlVHlwZSYmYS5zb3VyY2VJbmRleC1iLnNvdXJjZUluZGV4O2lmKGQpcmV0dXJuIGQ7aWYoYyl3aGlsZShjPWMubmV4dFNpYmxpbmcpaWYoYz09PWIpcmV0dXJuLTE7cmV0dXJuIGE_MTotMX1mdW5jdGlvbiBtYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1jJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBuYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09Y3x8ImJ1dHRvbiI9PT1jKSYmYi50eXBlPT09YX19ZnVuY3Rpb24gb2EoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiJmb3JtImluIGI_Yi5wYXJlbnROb2RlJiZiLmRpc2FibGVkPT09ITE_ImxhYmVsImluIGI_ImxhYmVsImluIGIucGFyZW50Tm9kZT9iLnBhcmVudE5vZGUuZGlzYWJsZWQ9PT1hOmIuZGlzYWJsZWQ9PT1hOmIuaXNEaXNhYmxlZD09PWF8fGIuaXNEaXNhYmxlZCE9PSFhJiZlYShiKT09PWE6Yi5kaXNhYmxlZD09PWE6ImxhYmVsImluIGImJmIuZGlzYWJsZWQ9PT1hfX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBxYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIWImJiJIVE1MIiE9PWIubm9kZU5hbWV9LG09Z2Euc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZSxnPWE_YS5vd25lckRvY3VtZW50fHxhOnY7cmV0dXJuIGchPT1uJiY5PT09Zy5ub2RlVHlwZSYmZy5kb2N1bWVudEVsZW1lbnQ_KG49ZyxvPW4uZG9jdW1lbnRFbGVtZW50LHA9IWYobiksdiE9PW4mJihlPW4uZGVmYXVsdFZpZXcpJiZlLnRvcCE9PWUmJihlLmFkZEV2ZW50TGlzdGVuZXI_ZS5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGRhLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZGEpKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1ZLnRlc3Qobi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhbi5nZXRFbGVtZW50c0J5TmFtZXx8IW4uZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoXyxhYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgiaWQiKT09PWJ9fSxkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGM_W2NdOltdfX0pOihkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoXyxhYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0sZC5maW5kLklEPWZ1bmN0aW9uKGEsYil7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRCeUlkJiZwKXt2YXIgYyxkLGUsZj1iLmdldEVsZW1lbnRCeUlkKGEpO2lmKGYpe2lmKGM9Zi5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpLGMmJmMudmFsdWU9PT1hKXJldHVybltmXTtlPWIuZ2V0RWxlbWVudHNCeU5hbWUoYSksZD0wO3doaWxlKGY9ZVtkKytdKWlmKGM9Zi5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpLGMmJmMudmFsdWU9PT1hKXJldHVybltmXX1yZXR1cm5bXX19KSxkLmZpbmQuVEFHPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWU_ZnVuY3Rpb24oYSxiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWU_Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTpjLnFzYT9iLnF1ZXJ5U2VsZWN0b3JBbGwoYSk6dm9pZCAwfTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT0wLGY9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTtpZigiKiI9PT1hKXt3aGlsZShjPWZbZSsrXSkxPT09Yy5ub2RlVHlwZSYmZC5wdXNoKGMpO3JldHVybiBkfXJldHVybiBmfSxkLmZpbmQuQ0xBU1M9Yy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihhLGIpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZwKXJldHVybiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSl9LHI9W10scT1bXSwoYy5xc2E9WS50ZXN0KG4ucXVlcnlTZWxlY3RvckFsbCkpJiYoamEoZnVuY3Rpb24oYSl7by5hcHBlbmRDaGlsZChhKS5pbm5lckhUTUw9IjxhIGlkPSciK3UrIic-PC9hPjxzZWxlY3QgaWQ9JyIrdSsiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc-PC9vcHRpb24-PC9zZWxlY3Q-IixhLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoJiZxLnB1c2goIlsqXiRdPSIrSysiKig_OicnfFwiXCIpIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxxLnB1c2goIlxcWyIrSysiKig_OnZhbHVlfCIrSisiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iK3UrIi1dIikubGVuZ3RofHxxLnB1c2goIn49IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8cS5wdXNoKCI6Y2hlY2tlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiYSMiK3UrIisqIikubGVuZ3RofHxxLnB1c2goIi4jLitbK35dIil9KSxqYShmdW5jdGlvbihhKXthLmlubmVySFRNTD0iPGEgaHJlZj0nJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjwvYT48c2VsZWN0IGRpc2FibGVkPSdkaXNhYmxlZCc-PG9wdGlvbi8-PC9zZWxlY3Q-Ijt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Yi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKSxhLmFwcGVuZENoaWxkKGIpLnNldEF0dHJpYnV0ZSgibmFtZSIsIkQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoJiZxLnB1c2goIm5hbWUiK0srIipbKl4kfCF-XT89IiksMiE9PWEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGgmJnEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxvLmFwcGVuZENoaWxkKGEpLmRpc2FibGVkPSEwLDIhPT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIjpkaXNhYmxlZCIpLmxlbmd0aCYmcS5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLHEucHVzaCgiLC4qOiIpfSkpLChjLm1hdGNoZXNTZWxlY3Rvcj1ZLnRlc3Qocz1vLm1hdGNoZXN8fG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxvLm1vek1hdGNoZXNTZWxlY3Rvcnx8by5vTWF0Y2hlc1NlbGVjdG9yfHxvLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmphKGZ1bmN0aW9uKGEpe2MuZGlzY29ubmVjdGVkTWF0Y2g9cy5jYWxsKGEsIioiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsTil9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPVkudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fFkudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ_ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ_YT09PW58fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09bnx8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9JKGssYSktSShrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGc9W2FdLGg9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PW4_LTE6Yj09PW4_MTplPy0xOmY_MTprP0koayxhKS1JKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpZy51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSloLnVuc2hpZnQoYyk7d2hpbGUoZ1tkXT09PWhbZF0pZCsrO3JldHVybiBkP2xhKGdbZF0saFtkXSk6Z1tkXT09PXY_LTE6aFtkXT09PXY_MTowfSxuKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoUywiPSckMSddIiksYy5tYXRjaGVzU2VsZWN0b3ImJnAmJiFBW2IrIiAiXSYmKCFyfHwhci50ZXN0KGIpKSYmKCFxfHwhcS50ZXN0KGIpKSl0cnl7dmFyIGQ9cy5jYWxsKGEsYik7aWYoZHx8Yy5kaXNjb25uZWN0ZWRNYXRjaHx8YS5kb2N1bWVudCYmMTEhPT1hLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBkfWNhdGNoKGUpe31yZXR1cm4gZ2EoYixuLG51bGwsW2FdKS5sZW5ndGg-MH0sZ2EuY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksdChhLGIpfSxnYS5hdHRyPWZ1bmN0aW9uKGEsYil7KGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpO3ZhciBlPWQuYXR0ckhhbmRsZVtiLnRvTG93ZXJDYXNlKCldLGY9ZSYmQy5jYWxsKGQuYXR0ckhhbmRsZSxiLnRvTG93ZXJDYXNlKCkpP2UoYSxiLCFwKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PWY_ZjpjLmF0dHJpYnV0ZXN8fCFwP2EuZ2V0QXR0cmlidXRlKGIpOihmPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmYuc3BlY2lmaWVkP2YudmFsdWU6bnVsbH0sZ2EuZXNjYXBlPWZ1bmN0aW9uKGEpe3JldHVybihhKyIiKS5yZXBsYWNlKGJhLGNhKX0sZ2EuZXJyb3I9ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK2EpfSxnYS51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe3ZhciBiLGQ9W10sZT0wLGY9MDtpZihsPSFjLmRldGVjdER1cGxpY2F0ZXMsaz0hYy5zb3J0U3RhYmxlJiZhLnNsaWNlKDApLGEuc29ydChCKSxsKXt3aGlsZShiPWFbZisrXSliPT09YVtmXSYmKGU9ZC5wdXNoKGYpKTt3aGlsZShlLS0pYS5zcGxpY2UoZFtlXSwxKX1yZXR1cm4gaz1udWxsLGF9LGU9Z2EuZ2V0VGV4dD1mdW5jdGlvbihhKXt2YXIgYixjPSIiLGQ9MCxmPWEubm9kZVR5cGU7aWYoZil7aWYoMT09PWZ8fDk9PT1mfHwxMT09PWYpe2lmKCJzdHJpbmciPT10eXBlb2YgYS50ZXh0Q29udGVudClyZXR1cm4gYS50ZXh0Q29udGVudDtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpYys9ZShhKX1lbHNlIGlmKDM9PT1mfHw0PT09ZilyZXR1cm4gYS5ub2RlVmFsdWV9ZWxzZSB3aGlsZShiPWFbZCsrXSljKz1lKGIpO3JldHVybiBjfSxkPWdhLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmlhLG1hdGNoOlYsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ-Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0ucmVwbGFjZShfLGFhKSxhWzNdPShhWzNdfHxhWzRdfHxhWzVdfHwiIikucmVwbGFjZShfLGFhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0_YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFYuQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVC50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShfLGFhKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWE_ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJ9fSxDTEFTUzpmdW5jdGlvbihhKXt2YXIgYj15W2ErIiAiXTtyZXR1cm4gYnx8KGI9bmV3IFJlZ0V4cCgiKF58IitLKyIpIithKyIoIitLKyJ8JCkiKSkmJnkoYSxmdW5jdGlvbihhKXtyZXR1cm4gYi50ZXN0KCJzdHJpbmciPT10eXBlb2YgYS5jbGFzc05hbWUmJmEuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXt2YXIgZT1nYS5hdHRyKGQsYSk7cmV0dXJuIG51bGw9PWU_IiE9Ij09PWI6IWJ8fChlKz0iIiwiPSI9PT1iP2U9PT1jOiIhPSI9PT1iP2UhPT1jOiJePSI9PT1iP2MmJjA9PT1lLmluZGV4T2YoYyk6Iio9Ij09PWI_YyYmZS5pbmRleE9mKGMpPi0xOiIkPSI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6In49Ij09PWI_KCIgIitlLnJlcGxhY2UoTywiICIpKyIgIikuaW5kZXhPZihjKT4tMToifD0iPT09YiYmKGU9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0ibnRoIiE9PWEuc2xpY2UoMCwzKSxnPSJsYXN0IiE9PWEuc2xpY2UoLTQpLGg9Im9mLXR5cGUiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc_Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixxPWIucGFyZW50Tm9kZSxyPWgmJmIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxzPSFpJiYhaCx0PSExO2lmKHEpe2lmKGYpe3doaWxlKHApe209Yjt3aGlsZShtPW1bcF0paWYoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7bT1xLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4mJmpbMl0sbT1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoMT09PW0ubm9kZVR5cGUmJisrdCYmbT09PWIpe2tbYV09W3csbix0XTticmVha319ZWxzZSBpZihzJiYobT1iLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4pLHQ9PT0hMSl3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKSYmKyt0JiYocyYmKGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGtbYV09W3csdF0pLG09PT1iKSlicmVhaztyZXR1cm4gdC09ZSx0PT09ZHx8dCVkPT09MCYmdC9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE_KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SShhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUCwiJDEiKSk7cmV0dXJuIGRbdV0_aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKF8sYWEpLGZ1bmN0aW9uKGIpe3JldHVybihiLnRleHRDb250ZW50fHxiLmlubmVyVGV4dHx8ZShiKSkuaW5kZXhPZihhKT4tMX19KSxsYW5nOmlhKGZ1bmN0aW9uKGEpe3JldHVybiBVLnRlc3QoYXx8IiIpfHxnYS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIithKSxhPWEucmVwbGFjZShfLGFhKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGIpe3ZhciBjO2RvIGlmKGM9cD9iLmxhbmc6Yi5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fGIuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuIGM9Yy50b0xvd2VyQ2FzZSgpLGM9PT1hfHwwPT09Yy5pbmRleE9mKGErIi0iKTt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiYxPT09Yi5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGIpe3ZhciBjPWEubG9jYXRpb24mJmEubG9jYXRpb24uaGFzaDtyZXR1cm4gYyYmYy5zbGljZSgxKT09PWIuaWR9LHJvb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1vfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW4uYWN0aXZlRWxlbWVudCYmKCFuLmhhc0ZvY3VzfHxuLmhhc0ZvY3VzKCkpJiYhIShhLnR5cGV8fGEuaHJlZnx8fmEudGFiSW5kZXgpfSxlbmFibGVkOm9hKCExKSxkaXNhYmxlZDpvYSghMCksY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBYLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBXLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnBhKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpwYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6cGEoZnVuY3Rpb24oYSxiLGMpe3JldHVybltjPDA_YytiOmNdfSksZXZlbjpwYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8YjtjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpwYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YjtjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0OnBhKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YzwwP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6cGEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1jPDA_YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHJhKCl7fXJhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcmEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXtjJiYhKGU9US5leGVjKGgpKXx8KGUmJihoPWguc2xpY2UoZVswXS5sZW5ndGgpfHxoKSxpLnB1c2goZj1bXSkpLGM9ITEsKGU9Ui5leGVjKGgpKSYmKGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmVbMF0ucmVwbGFjZShQLCIgIil9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtmb3IoZyBpbiBkLmZpbHRlcikhKGU9VltnXS5leGVjKGgpKXx8altnXSYmIShlPWpbZ10oZSkpfHwoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZyxtYXRjaGVzOmV9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtpZighYylicmVha31yZXR1cm4gYj9oLmxlbmd0aDpoP2dhLmVycm9yKGEpOnooYSxpKS5zbGljZSgwKX07ZnVuY3Rpb24gc2EoYSl7Zm9yKHZhciBiPTAsYz1hLmxlbmd0aCxkPSIiO2I8YztiKyspZCs9YVtiXS52YWx1ZTtyZXR1cm4gZH1mdW5jdGlvbiB0YShhLGIsYyl7dmFyIGQ9Yi5kaXIsZT1iLm5leHQsZj1lfHxkLGc9YyYmInBhcmVudE5vZGUiPT09ZixoPXgrKztyZXR1cm4gYi5maXJzdD9mdW5jdGlvbihiLGMsZSl7d2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxnKXJldHVybiBhKGIsYyxlKTtyZXR1cm4hMX06ZnVuY3Rpb24oYixjLGkpe3ZhciBqLGssbCxtPVt3LGhdO2lmKGkpe3doaWxlKGI9YltkXSlpZigoMT09PWIubm9kZVR5cGV8fGcpJiZhKGIsYyxpKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZylpZihsPWJbdV18fChiW3VdPXt9KSxrPWxbYi51bmlxdWVJRF18fChsW2IudW5pcXVlSURdPXt9KSxlJiZlPT09Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKWI9YltkXXx8YjtlbHNle2lmKChqPWtbZl0pJiZqWzBdPT09dyYmalsxXT09PWgpcmV0dXJuIG1bMl09alsyXTtpZihrW2ZdPW0sbVsyXT1hKGIsYyxpKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gdWEoYSl7cmV0dXJuIGEubGVuZ3RoPjE_ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEubGVuZ3RoO3doaWxlKGUtLSlpZighYVtlXShiLGMsZCkpcmV0dXJuITE7cmV0dXJuITB9OmFbMF19ZnVuY3Rpb24gdmEoYSxiLGMpe2Zvcih2YXIgZD0wLGU9Yi5sZW5ndGg7ZDxlO2QrKylnYShhLGJbZF0sYyk7cmV0dXJuIGN9ZnVuY3Rpb24gd2EoYSxiLGMsZCxlKXtmb3IodmFyIGYsZz1bXSxoPTAsaT1hLmxlbmd0aCxqPW51bGwhPWI7aDxpO2grKykoZj1hW2hdKSYmKGMmJiFjKGYsZCxlKXx8KGcucHVzaChmKSxqJiZiLnB1c2goaCkpKTtyZXR1cm4gZ31mdW5jdGlvbiB4YShhLGIsYyxkLGUsZil7cmV0dXJuIGQmJiFkW3VdJiYoZD14YShkKSksZSYmIWVbdV0mJihlPXhhKGUsZikpLGlhKGZ1bmN0aW9uKGYsZyxoLGkpe3ZhciBqLGssbCxtPVtdLG49W10sbz1nLmxlbmd0aCxwPWZ8fHZhKGJ8fCIqIixoLm5vZGVUeXBlP1toXTpoLFtdKSxxPSFhfHwhZiYmYj9wOndhKHAsbSxhLGgsaSkscj1jP2V8fChmP2E6b3x8ZCk_W106ZzpxO2lmKGMmJmMocSxyLGgsaSksZCl7aj13YShyLG4pLGQoaixbXSxoLGkpLGs9ai5sZW5ndGg7d2hpbGUoay0tKShsPWpba10pJiYocltuW2tdXT0hKHFbbltrXV09bCkpfWlmKGYpe2lmKGV8fGEpe2lmKGUpe2o9W10saz1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJmoucHVzaChxW2tdPWwpO2UobnVsbCxyPVtdLGosaSl9az1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJihqPWU_SShmLGwpOm1ba10pPi0xJiYoZltqXT0hKGdbal09bCkpfX1lbHNlIHI9d2Eocj09PWc_ci5zcGxpY2UobyxyLmxlbmd0aCk6ciksZT9lKG51bGwsZyxyLGkpOkcuYXBwbHkoZyxyKX0pfWZ1bmN0aW9uIHlhKGEpe2Zvcih2YXIgYixjLGUsZj1hLmxlbmd0aCxnPWQucmVsYXRpdmVbYVswXS50eXBlXSxoPWd8fGQucmVsYXRpdmVbIiAiXSxpPWc_MTowLGs9dGEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1ifSxoLCEwKSxsPXRhKGZ1bmN0aW9uKGEpe3JldHVybiBJKGIsYSk-LTF9LGgsITApLG09W2Z1bmN0aW9uKGEsYyxkKXt2YXIgZT0hZyYmKGR8fGMhPT1qKXx8KChiPWMpLm5vZGVUeXBlP2soYSxjLGQpOmwoYSxjLGQpKTtyZXR1cm4gYj1udWxsLGV9XTtpPGY7aSsrKWlmKGM9ZC5yZWxhdGl2ZVthW2ldLnR5cGVdKW09W3RhKHVhKG0pLGMpXTtlbHNle2lmKGM9ZC5maWx0ZXJbYVtpXS50eXBlXS5hcHBseShudWxsLGFbaV0ubWF0Y2hlcyksY1t1XSl7Zm9yKGU9KytpO2U8ZjtlKyspaWYoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKWJyZWFrO3JldHVybiB4YShpPjEmJnVhKG0pLGk-MSYmc2EoYS5zbGljZSgwLGktMSkuY29uY2F0KHt2YWx1ZToiICI9PT1hW2ktMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShQLCIkMSIpLGMsaTxlJiZ5YShhLnNsaWNlKGksZSkpLGU8ZiYmeWEoYT1hLnNsaWNlKGUpKSxlPGYmJnNhKGEpKX1tLnB1c2goYyl9cmV0dXJuIHVhKG0pfWZ1bmN0aW9uIHphKGEsYil7dmFyIGM9Yi5sZW5ndGg-MCxlPWEubGVuZ3RoPjAsZj1mdW5jdGlvbihmLGcsaCxpLGspe3ZhciBsLG8scSxyPTAscz0iMCIsdD1mJiZbXSx1PVtdLHY9aix4PWZ8fGUmJmQuZmluZC5UQUcoIioiLGspLHk9dys9bnVsbD09dj8xOk1hdGgucmFuZG9tKCl8fC4xLHo9eC5sZW5ndGg7Zm9yKGsmJihqPWc9PT1ufHxnfHxrKTtzIT09eiYmbnVsbCE9KGw9eFtzXSk7cysrKXtpZihlJiZsKXtvPTAsZ3x8bC5vd25lckRvY3VtZW50PT09bnx8KG0obCksaD0hcCk7d2hpbGUocT1hW28rK10paWYocShsLGd8fG4saCkpe2kucHVzaChsKTticmVha31rJiYodz15KX1jJiYoKGw9IXEmJmwpJiZyLS0sZiYmdC5wdXNoKGwpKX1pZihyKz1zLGMmJnMhPT1yKXtvPTA7d2hpbGUocT1iW28rK10pcSh0LHUsZyxoKTtpZihmKXtpZihyPjApd2hpbGUocy0tKXRbc118fHVbc118fCh1W3NdPUUuY2FsbChpKSk7dT13YSh1KX1HLmFwcGx5KGksdSksayYmIWYmJnUubGVuZ3RoPjAmJnIrYi5sZW5ndGg-MSYmZ2EudW5pcXVlU29ydChpKX1yZXR1cm4gayYmKHc9eSxqPXYpLHR9O3JldHVybiBjP2lhKGYpOmZ9cmV0dXJuIGg9Z2EuY29tcGlsZT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1bXSxmPUFbYSsiICJdO2lmKCFmKXtifHwoYj1nKGEpKSxjPWIubGVuZ3RoO3doaWxlKGMtLSlmPXlhKGJbY10pLGZbdV0_ZC5wdXNoKGYpOmUucHVzaChmKTtmPUEoYSx6YShlLGQpKSxmLnNlbGVjdG9yPWF9cmV0dXJuIGZ9LGk9Z2Euc2VsZWN0PWZ1bmN0aW9uKGEsYixjLGUpe3ZhciBmLGksaixrLGwsbT0iZnVuY3Rpb24iPT10eXBlb2YgYSYmYSxuPSFlJiZnKGE9bS5zZWxlY3Rvcnx8YSk7aWYoYz1jfHxbXSwxPT09bi5sZW5ndGgpe2lmKGk9blswXT1uWzBdLnNsaWNlKDApLGkubGVuZ3RoPjImJiJJRCI9PT0oaj1pWzBdKS50eXBlJiY5PT09Yi5ub2RlVHlwZSYmcCYmZC5yZWxhdGl2ZVtpWzFdLnR5cGVdKXtpZihiPShkLmZpbmQuSUQoai5tYXRjaGVzWzBdLnJlcGxhY2UoXyxhYSksYil8fFtdKVswXSwhYilyZXR1cm4gYzttJiYoYj1iLnBhcmVudE5vZGUpLGE9YS5zbGljZShpLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mPVYubmVlZHNDb250ZXh0LnRlc3QoYSk_MDppLmxlbmd0aDt3aGlsZShmLS0pe2lmKGo9aVtmXSxkLnJlbGF0aXZlW2s9ai50eXBlXSlicmVhaztpZigobD1kLmZpbmRba10pJiYoZT1sKGoubWF0Y2hlc1swXS5yZXBsYWNlKF8sYWEpLCQudGVzdChpWzBdLnR5cGUpJiZxYShiLnBhcmVudE5vZGUpfHxiKSkpe2lmKGkuc3BsaWNlKGYsMSksYT1lLmxlbmd0aCYmc2EoaSksIWEpcmV0dXJuIEcuYXBwbHkoYyxlKSxjO2JyZWFrfX19cmV0dXJuKG18fGgoYSxuKSkoZSxiLCFwLGMsIWJ8fCQudGVzdChhKSYmcWEoYi5wYXJlbnROb2RlKXx8YiksY30sYy5zb3J0U3RhYmxlPXUuc3BsaXQoIiIpLnNvcnQoQikuam9pbigiIik9PT11LGMuZGV0ZWN0RHVwbGljYXRlcz0hIWwsbSgpLGMuc29ydERldGFjaGVkPWphKGZ1bmN0aW9uKGEpe3JldHVybiAxJmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24obi5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpKX0pLGphKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGEgaHJlZj0nIyc-PC9hPiIsIiMiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGthKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihhLGIsYyl7aWYoIWMpcmV0dXJuIGEuZ2V0QXR0cmlidXRlKGIsInR5cGUiPT09Yi50b0xvd2VyQ2FzZSgpPzE6Mil9KSxjLmF0dHJpYnV0ZXMmJmphKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGlucHV0Lz4iLGEuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksIiI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGthKCJ2YWx1ZSIsZnVuY3Rpb24oYSxiLGMpe2lmKCFjJiYiaW5wdXQiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiBhLmRlZmF1bHRWYWx1ZX0pLGphKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pfHxrYShKLGZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZighYylyZXR1cm4gYVtiXT09PSEwP2IudG9Mb3dlckNhc2UoKTooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZkLnNwZWNpZmllZD9kLnZhbHVlOm51bGx9KSxnYX0oYSk7ci5maW5kPXgsci5leHByPXguc2VsZWN0b3JzLHIuZXhwclsiOiJdPXIuZXhwci5wc2V1ZG9zLHIudW5pcXVlU29ydD1yLnVuaXF1ZT14LnVuaXF1ZVNvcnQsci50ZXh0PXguZ2V0VGV4dCxyLmlzWE1MRG9jPXguaXNYTUwsci5jb250YWlucz14LmNvbnRhaW5zLHIuZXNjYXBlU2VsZWN0b3I9eC5lc2NhcGU7dmFyIHk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9dm9pZCAwIT09Yzt3aGlsZSgoYT1hW2JdKSYmOSE9PWEubm9kZVR5cGUpaWYoMT09PWEubm9kZVR5cGUpe2lmKGUmJnIoYSkuaXMoYykpYnJlYWs7ZC5wdXNoKGEpfXJldHVybiBkfSx6PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdO2E7YT1hLm5leHRTaWJsaW5nKTE9PT1hLm5vZGVUeXBlJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfSxBPXIuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7ZnVuY3Rpb24gQihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9dmFyIEM9L148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8-KD86PFwvXDE-fCkkL2ksRD0vXi5bXjojXFtcLixdKiQvO2Z1bmN0aW9uIEUoYSxiLGMpe3JldHVybiByLmlzRnVuY3Rpb24oYik_ci5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4hIWIuY2FsbChhLGQsYSkhPT1jfSk6Yi5ub2RlVHlwZT9yLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk6InN0cmluZyIhPXR5cGVvZiBiP3IuZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBpLmNhbGwoYixhKT4tMSE9PWN9KTpELnRlc3QoYik_ci5maWx0ZXIoYixhLGMpOihiPXIuZmlsdGVyKGIsYSksci5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGkuY2FsbChiLGEpPi0xIT09YyYmMT09PWEubm9kZVR5cGV9KSl9ci5maWx0ZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbMF07cmV0dXJuIGMmJihhPSI6bm90KCIrYSsiKSIpLDE9PT1iLmxlbmd0aCYmMT09PWQubm9kZVR5cGU_ci5maW5kLm1hdGNoZXNTZWxlY3RvcihkLGEpP1tkXTpbXTpyLmZpbmQubWF0Y2hlcyhhLHIuZ3JlcChiLGZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZX0pKX0sci5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMubGVuZ3RoLGU9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIHRoaXMucHVzaFN0YWNrKHIoYSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGI9MDtiPGQ7YisrKWlmKHIuY29udGFpbnMoZVtiXSx0aGlzKSlyZXR1cm4hMH0pKTtmb3IoYz10aGlzLnB1c2hTdGFjayhbXSksYj0wO2I8ZDtiKyspci5maW5kKGEsZVtiXSxjKTtyZXR1cm4gZD4xP3IudW5pcXVlU29ydChjKTpjfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKEUodGhpcyxhfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKEUodGhpcyxhfHxbXSwhMCkpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIUUodGhpcywic3RyaW5nIj09dHlwZW9mIGEmJkEudGVzdChhKT9yKGEpOmF8fFtdLCExKS5sZW5ndGh9fSk7dmFyIEYsRz0vXig_OlxzKig8W1x3XFddKz4pW14-XSp8IyhbXHctXSspKSQvLEg9ci5mbi5pbml0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZSxmO2lmKCFhKXJldHVybiB0aGlzO2lmKGM9Y3x8Riwic3RyaW5nIj09dHlwZW9mIGEpe2lmKGU9IjwiPT09YVswXSYmIj4iPT09YVthLmxlbmd0aC0xXSYmYS5sZW5ndGg-PTM_W251bGwsYSxudWxsXTpHLmV4ZWMoYSksIWV8fCFlWzFdJiZiKXJldHVybiFifHxiLmpxdWVyeT8oYnx8YykuZmluZChhKTp0aGlzLmNvbnN0cnVjdG9yKGIpLmZpbmQoYSk7aWYoZVsxXSl7aWYoYj1iIGluc3RhbmNlb2Ygcj9iWzBdOmIsci5tZXJnZSh0aGlzLHIucGFyc2VIVE1MKGVbMV0sYiYmYi5ub2RlVHlwZT9iLm93bmVyRG9jdW1lbnR8fGI6ZCwhMCkpLEMudGVzdChlWzFdKSYmci5pc1BsYWluT2JqZWN0KGIpKWZvcihlIGluIGIpci5pc0Z1bmN0aW9uKHRoaXNbZV0pP3RoaXNbZV0oYltlXSk6dGhpcy5hdHRyKGUsYltlXSk7cmV0dXJuIHRoaXN9cmV0dXJuIGY9ZC5nZXRFbGVtZW50QnlJZChlWzJdKSxmJiYodGhpc1swXT1mLHRoaXMubGVuZ3RoPTEpLHRoaXN9cmV0dXJuIGEubm9kZVR5cGU_KHRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOnIuaXNGdW5jdGlvbihhKT92b2lkIDAhPT1jLnJlYWR5P2MucmVhZHkoYSk6YShyKTpyLm1ha2VBcnJheShhLHRoaXMpfTtILnByb3RvdHlwZT1yLmZuLEY9cihkKTt2YXIgST0vXig_OnBhcmVudHN8cHJldig_OlVudGlsfEFsbCkpLyxKPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O3IuZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oYSl7dmFyIGI9cihhLHRoaXMpLGM9Yi5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7YTxjO2ErKylpZihyLmNvbnRhaW5zKHRoaXMsYlthXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9MCxlPXRoaXMubGVuZ3RoLGY9W10sZz0ic3RyaW5nIiE9dHlwZW9mIGEmJnIoYSk7aWYoIUEudGVzdChhKSlmb3IoO2Q8ZTtkKyspZm9yKGM9dGhpc1tkXTtjJiZjIT09YjtjPWMucGFyZW50Tm9kZSlpZihjLm5vZGVUeXBlPDExJiYoZz9nLmluZGV4KGMpPi0xOjE9PT1jLm5vZGVUeXBlJiZyLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGMsYSkpKXtmLnB1c2goYyk7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKGYubGVuZ3RoPjE_ci51bmlxdWVTb3J0KGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE_aS5jYWxsKHIoYSksdGhpc1swXSk6aS5jYWxsKHRoaXMsYS5qcXVlcnk_YVswXTphKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU_dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhyLnVuaXF1ZVNvcnQoci5tZXJnZSh0aGlzLmdldCgpLHIoYSxiKSkpKX0sYWRkQmFjazpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09YT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihhKSl9fSk7ZnVuY3Rpb24gSyhhLGIpe3doaWxlKChhPWFbYl0pJiYxIT09YS5ub2RlVHlwZSk7cmV0dXJuIGF9ci5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5wYXJlbnROb2RlO3JldHVybiBiJiYxMSE9PWIubm9kZVR5cGU_YjpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiB5KGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geShhLCJwYXJlbnROb2RlIixjKX0sbmV4dDpmdW5jdGlvbihhKXtyZXR1cm4gSyhhLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVybiBLKGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB5KGEsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIHkoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHkoYSwibmV4dFNpYmxpbmciLGMpfSxwcmV2VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB5KGEsInByZXZpb3VzU2libGluZyIsYyl9LHNpYmxpbmdzOmZ1bmN0aW9uKGEpe3JldHVybiB6KChhLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGEpfSxjaGlsZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4geihhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gQihhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudDooQihhLCJ0ZW1wbGF0ZSIpJiYoYT1hLmNvbnRlbnR8fGEpLHIubWVyZ2UoW10sYS5jaGlsZE5vZGVzKSl9fSxmdW5jdGlvbihhLGIpe3IuZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1yLm1hcCh0aGlzLGIsYyk7cmV0dXJuIlVudGlsIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiYic3RyaW5nIj09dHlwZW9mIGQmJihlPXIuZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihKW2FdfHxyLnVuaXF1ZVNvcnQoZSksSS50ZXN0KGEpJiZlLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEw9L1teXHgyMFx0XHJcblxmXSsvZztmdW5jdGlvbiBNKGEpe3ZhciBiPXt9O3JldHVybiByLmVhY2goYS5tYXRjaChMKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1yLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9NKGEpOnIuZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGY9W10sZz1bXSxoPS0xLGk9ZnVuY3Rpb24oKXtmb3IoZT1lfHxhLm9uY2UsZD1iPSEwO2cubGVuZ3RoO2g9LTEpe2M9Zy5zaGlmdCgpO3doaWxlKCsraDxmLmxlbmd0aClmW2hdLmFwcGx5KGNbMF0sY1sxXSk9PT0hMSYmYS5zdG9wT25GYWxzZSYmKGg9Zi5sZW5ndGgsYz0hMSl9YS5tZW1vcnl8fChjPSExKSxiPSExLGUmJihmPWM_W106IiIpfSxqPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGMmJiFiJiYoaD1mLmxlbmd0aC0xLGcucHVzaChjKSksZnVuY3Rpb24gZChiKXtyLmVhY2goYixmdW5jdGlvbihiLGMpe3IuaXNGdW5jdGlvbihjKT9hLnVuaXF1ZSYmai5oYXMoYyl8fGYucHVzaChjKTpjJiZjLmxlbmd0aCYmInN0cmluZyIhPT1yLnR5cGUoYykmJmQoYyl9KX0oYXJndW1lbnRzKSxjJiYhYiYmaSgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gci5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihhLGIpe3ZhciBjO3doaWxlKChjPXIuaW5BcnJheShiLGYsYykpPi0xKWYuc3BsaWNlKGMsMSksYzw9aCYmaC0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGEpe3JldHVybiBhP3IuaW5BcnJheShhLGYpPi0xOmYubGVuZ3RoPjB9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIGYmJihmPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGU9Zz1bXSxmPWM9IiIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hZn0sbG9jazpmdW5jdGlvbigpe3JldHVybiBlPWc9W10sY3x8Ynx8KGY9Yz0iIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFlfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiBlfHwoYz1jfHxbXSxjPVthLGMuc2xpY2U_Yy5zbGljZSgpOmNdLGcucHVzaChjKSxifHxpKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gai5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWR9fTtyZXR1cm4gan07ZnVuY3Rpb24gTihhKXtyZXR1cm4gYX1mdW5jdGlvbiBPKGEpe3Rocm93IGF9ZnVuY3Rpb24gUChhLGIsYyxkKXt2YXIgZTt0cnl7YSYmci5pc0Z1bmN0aW9uKGU9YS5wcm9taXNlKT9lLmNhbGwoYSkuZG9uZShiKS5mYWlsKGMpOmEmJnIuaXNGdW5jdGlvbihlPWEudGhlbik_ZS5jYWxsKGEsYixjKTpiLmFwcGx5KHZvaWQgMCxbYV0uc2xpY2UoZCkpfWNhdGNoKGEpe2MuYXBwbHkodm9pZCAwLFthXSl9fXIuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihiKXt2YXIgYz1bWyJub3RpZnkiLCJwcm9ncmVzcyIsci5DYWxsYmFja3MoIm1lbW9yeSIpLHIuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIixyLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxyLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsci5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksci5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0sZD0icGVuZGluZyIsZT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSwiY2F0Y2giOmZ1bmN0aW9uKGEpe3JldHVybiBlLnRoZW4obnVsbCxhKX0scGlwZTpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztyZXR1cm4gci5EZWZlcnJlZChmdW5jdGlvbihiKXtyLmVhY2goYyxmdW5jdGlvbihjLGQpe3ZhciBlPXIuaXNGdW5jdGlvbihhW2RbNF1dKSYmYVtkWzRdXTtmW2RbMV1dKGZ1bmN0aW9uKCl7dmFyIGE9ZSYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YSYmci5pc0Z1bmN0aW9uKGEucHJvbWlzZSk_YS5wcm9taXNlKCkucHJvZ3Jlc3MoYi5ub3RpZnkpLmRvbmUoYi5yZXNvbHZlKS5mYWlsKGIucmVqZWN0KTpiW2RbMF0rIldpdGgiXSh0aGlzLGU_W2FdOmFyZ3VtZW50cyl9KX0pLGE9bnVsbH0pLnByb21pc2UoKX0sdGhlbjpmdW5jdGlvbihiLGQsZSl7dmFyIGY9MDtmdW5jdGlvbiBnKGIsYyxkLGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBoPXRoaXMsaT1hcmd1bWVudHMsaj1mdW5jdGlvbigpe3ZhciBhLGo7aWYoIShiPGYpKXtpZihhPWQuYXBwbHkoaCxpKSxhPT09Yy5wcm9taXNlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uIik7aj1hJiYoIm9iamVjdCI9PXR5cGVvZiBhfHwiZnVuY3Rpb24iPT10eXBlb2YgYSkmJmEudGhlbixyLmlzRnVuY3Rpb24oaik_ZT9qLmNhbGwoYSxnKGYsYyxOLGUpLGcoZixjLE8sZSkpOihmKyssai5jYWxsKGEsZyhmLGMsTixlKSxnKGYsYyxPLGUpLGcoZixjLE4sYy5ub3RpZnlXaXRoKSkpOihkIT09TiYmKGg9dm9pZCAwLGk9W2FdKSwoZXx8Yy5yZXNvbHZlV2l0aCkoaCxpKSl9fSxrPWU_ajpmdW5jdGlvbigpe3RyeXtqKCl9Y2F0Y2goYSl7ci5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZyLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soYSxrLnN0YWNrVHJhY2UpLGIrMT49ZiYmKGQhPT1PJiYoaD12b2lkIDAsaT1bYV0pLGMucmVqZWN0V2l0aChoLGkpKX19O2I_aygpOihyLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKGsuc3RhY2tUcmFjZT1yLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxhLnNldFRpbWVvdXQoaykpfX1yZXR1cm4gci5EZWZlcnJlZChmdW5jdGlvbihhKXtjWzBdWzNdLmFkZChnKDAsYSxyLmlzRnVuY3Rpb24oZSk_ZTpOLGEubm90aWZ5V2l0aCkpLGNbMV1bM10uYWRkKGcoMCxhLHIuaXNGdW5jdGlvbihiKT9iOk4pKSxjWzJdWzNdLmFkZChnKDAsYSxyLmlzRnVuY3Rpb24oZCk_ZDpPKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE_ci5leHRlbmQoYSxlKTplfX0sZj17fTtyZXR1cm4gci5lYWNoKGMsZnVuY3Rpb24oYSxiKXt2YXIgZz1iWzJdLGg9Yls1XTtlW2JbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7ZD1ofSxjWzMtYV1bMl0uZGlzYWJsZSxjWzBdWzJdLmxvY2spLGcuYWRkKGJbM10uZmlyZSksZltiWzBdXT1mdW5jdGlvbigpe3JldHVybiBmW2JbMF0rIldpdGgiXSh0aGlzPT09Zj92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGZbYlswXSsiV2l0aCJdPWcuZmlyZVdpdGh9KSxlLnByb21pc2UoZiksYiYmYi5jYWxsKGYsZiksZn0sd2hlbjpmdW5jdGlvbihhKXt2YXIgYj1hcmd1bWVudHMubGVuZ3RoLGM9YixkPUFycmF5KGMpLGU9Zi5jYWxsKGFyZ3VtZW50cyksZz1yLkRlZmVycmVkKCksaD1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYyl7ZFthXT10aGlzLGVbYV09YXJndW1lbnRzLmxlbmd0aD4xP2YuY2FsbChhcmd1bWVudHMpOmMsLS1ifHxnLnJlc29sdmVXaXRoKGQsZSl9fTtpZihiPD0xJiYoUChhLGcuZG9uZShoKGMpKS5yZXNvbHZlLGcucmVqZWN0LCFiKSwicGVuZGluZyI9PT1nLnN0YXRlKCl8fHIuaXNGdW5jdGlvbihlW2NdJiZlW2NdLnRoZW4pKSlyZXR1cm4gZy50aGVuKCk7d2hpbGUoYy0tKVAoZVtjXSxoKGMpLGcucmVqZWN0KTtyZXR1cm4gZy5wcm9taXNlKCl9fSk7dmFyIFE9L14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87ci5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKGIsYyl7YS5jb25zb2xlJiZhLmNvbnNvbGUud2FybiYmYiYmUS50ZXN0KGIubmFtZSkmJmEuY29uc29sZS53YXJuKCJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiAiK2IubWVzc2FnZSxiLnN0YWNrLGMpfSxyLnJlYWR5RXhjZXB0aW9uPWZ1bmN0aW9uKGIpe2Euc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGJ9KX07dmFyIFI9ci5EZWZlcnJlZCgpO3IuZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIFIudGhlbihhKVsiY2F0Y2giXShmdW5jdGlvbihhKXtyLnJlYWR5RXhjZXB0aW9uKGEpOw0KfSksdGhpc30sci5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEscmVhZHk6ZnVuY3Rpb24oYSl7KGE9PT0hMD8tLXIucmVhZHlXYWl0OnIuaXNSZWFkeSl8fChyLmlzUmVhZHk9ITAsYSE9PSEwJiYtLXIucmVhZHlXYWl0PjB8fFIucmVzb2x2ZVdpdGgoZCxbcl0pKX19KSxyLnJlYWR5LnRoZW49Ui50aGVuO2Z1bmN0aW9uIFMoKXtkLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLFMpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsUyksci5yZWFkeSgpfSJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWQucmVhZHlTdGF0ZSYmIWQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2Euc2V0VGltZW91dChyLnJlYWR5KTooZC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTKSxhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMpKTt2YXIgVD1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0wLGk9YS5sZW5ndGgsaj1udWxsPT1jO2lmKCJvYmplY3QiPT09ci50eXBlKGMpKXtlPSEwO2ZvcihoIGluIGMpVChhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxyLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwocihhKSxjKX0pKSxiKSlmb3IoO2g8aTtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU_YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxVPWZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZXx8OT09PWEubm9kZVR5cGV8fCErYS5ub2RlVHlwZX07ZnVuY3Rpb24gVigpe3RoaXMuZXhwYW5kbz1yLmV4cGFuZG8rVi51aWQrK31WLnVpZD0xLFYucHJvdG90eXBlPXtjYWNoZTpmdW5jdGlvbihhKXt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIGJ8fChiPXt9LFUoYSkmJihhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT1iOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yixjb25maWd1cmFibGU6ITB9KSkpLGJ9LHNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZT10aGlzLmNhY2hlKGEpO2lmKCJzdHJpbmciPT10eXBlb2YgYillW3IuY2FtZWxDYXNlKGIpXT1jO2Vsc2UgZm9yKGQgaW4gYillW3IuY2FtZWxDYXNlKGQpXT1iW2RdO3JldHVybiBlfSxnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj90aGlzLmNhY2hlKGEpOmFbdGhpcy5leHBhbmRvXSYmYVt0aGlzLmV4cGFuZG9dW3IuY2FtZWxDYXNlKGIpXX0sYWNjZXNzOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmInN0cmluZyI9PXR5cGVvZiBiJiZ2b2lkIDA9PT1jP3RoaXMuZ2V0KGEsYik6KHRoaXMuc2V0KGEsYixjKSx2b2lkIDAhPT1jP2M6Yil9LHJlbW92ZTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9YVt0aGlzLmV4cGFuZG9dO2lmKHZvaWQgMCE9PWQpe2lmKHZvaWQgMCE9PWIpe0FycmF5LmlzQXJyYXkoYik_Yj1iLm1hcChyLmNhbWVsQ2FzZSk6KGI9ci5jYW1lbENhc2UoYiksYj1iIGluIGQ_W2JdOmIubWF0Y2goTCl8fFtdKSxjPWIubGVuZ3RoO3doaWxlKGMtLSlkZWxldGUgZFtiW2NdXX0odm9pZCAwPT09Ynx8ci5pc0VtcHR5T2JqZWN0KGQpKSYmKGEubm9kZVR5cGU_YVt0aGlzLmV4cGFuZG9dPXZvaWQgMDpkZWxldGUgYVt0aGlzLmV4cGFuZG9dKX19LGhhc0RhdGE6ZnVuY3Rpb24oYSl7dmFyIGI9YVt0aGlzLmV4cGFuZG9dO3JldHVybiB2b2lkIDAhPT1iJiYhci5pc0VtcHR5T2JqZWN0KGIpfX07dmFyIFc9bmV3IFYsWD1uZXcgVixZPS9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sWj0vW0EtWl0vZztmdW5jdGlvbiAkKGEpe3JldHVybiJ0cnVlIj09PWF8fCJmYWxzZSIhPT1hJiYoIm51bGwiPT09YT9udWxsOmE9PT0rYSsiIj8rYTpZLnRlc3QoYSk_SlNPTi5wYXJzZShhKTphKX1mdW5jdGlvbiBfKGEsYixjKXt2YXIgZDtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSlpZihkPSJkYXRhLSIrYi5yZXBsYWNlKFosIi0kJiIpLnRvTG93ZXJDYXNlKCksYz1hLmdldEF0dHJpYnV0ZShkKSwic3RyaW5nIj09dHlwZW9mIGMpe3RyeXtjPSQoYyl9Y2F0Y2goZSl7fVguc2V0KGEsYixjKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfXIuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiBYLmhhc0RhdGEoYSl8fFcuaGFzRGF0YShhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFguYWNjZXNzKGEsYixjKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe1gucmVtb3ZlKGEsYil9LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gVy5hY2Nlc3MoYSxiLGMpfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe1cucmVtb3ZlKGEsYil9fSksci5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzWzBdLGc9ZiYmZi5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWEpe2lmKHRoaXMubGVuZ3RoJiYoZT1YLmdldChmKSwxPT09Zi5ub2RlVHlwZSYmIVcuZ2V0KGYsImhhc0RhdGFBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPXIuY2FtZWxDYXNlKGQuc2xpY2UoNSkpLF8oZixkLGVbZF0pKSk7Vy5zZXQoZiwiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGV9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBhP3RoaXMuZWFjaChmdW5jdGlvbigpe1guc2V0KHRoaXMsYSl9KTpUKHRoaXMsZnVuY3Rpb24oYil7dmFyIGM7aWYoZiYmdm9pZCAwPT09Yil7aWYoYz1YLmdldChmLGEpLHZvaWQgMCE9PWMpcmV0dXJuIGM7aWYoYz1fKGYsYSksdm9pZCAwIT09YylyZXR1cm4gY31lbHNlIHRoaXMuZWFjaChmdW5jdGlvbigpe1guc2V0KHRoaXMsYSxiKX0pfSxudWxsLGIsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtYLnJlbW92ZSh0aGlzLGEpfSl9fSksci5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZihhKXJldHVybiBiPShifHwiZngiKSsicXVldWUiLGQ9Vy5nZXQoYSxiKSxjJiYoIWR8fEFycmF5LmlzQXJyYXkoYyk_ZD1XLmFjY2VzcyhhLGIsci5tYWtlQXJyYXkoYykpOmQucHVzaChjKSksZHx8W119LGRlcXVldWU6ZnVuY3Rpb24oYSxiKXtiPWJ8fCJmeCI7dmFyIGM9ci5xdWV1ZShhLGIpLGQ9Yy5sZW5ndGgsZT1jLnNoaWZ0KCksZj1yLl9xdWV1ZUhvb2tzKGEsYiksZz1mdW5jdGlvbigpe3IuZGVxdWV1ZShhLGIpfTsiaW5wcm9ncmVzcyI9PT1lJiYoZT1jLnNoaWZ0KCksZC0tKSxlJiYoImZ4Ij09PWImJmMudW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBmLnN0b3AsZS5jYWxsKGEsZyxmKSksIWQmJmYmJmYuZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihhLGIpe3ZhciBjPWIrInF1ZXVlSG9va3MiO3JldHVybiBXLmdldChhLGMpfHxXLmFjY2VzcyhhLGMse2VtcHR5OnIuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLmFkZChmdW5jdGlvbigpe1cucmVtb3ZlKGEsW2IrInF1ZXVlIixjXSl9KX0pfX0pLHIuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIpe3ZhciBjPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYj1hLGE9ImZ4IixjLS0pLGFyZ3VtZW50cy5sZW5ndGg8Yz9yLnF1ZXVlKHRoaXNbMF0sYSk6dm9pZCAwPT09Yj90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPXIucXVldWUodGhpcyxhLGIpO3IuX3F1ZXVlSG9va3ModGhpcyxhKSwiZngiPT09YSYmImlucHJvZ3Jlc3MiIT09Y1swXSYmci5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ci5kZXF1ZXVlKHRoaXMsYSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShhfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9MSxlPXIuRGVmZXJyZWQoKSxmPXRoaXMsZz10aGlzLmxlbmd0aCxoPWZ1bmN0aW9uKCl7LS1kfHxlLnJlc29sdmVXaXRoKGYsW2ZdKX07InN0cmluZyIhPXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxhPWF8fCJmeCI7d2hpbGUoZy0tKWM9Vy5nZXQoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIGFhPS9bKy1dPyg_OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLGJhPW5ldyBSZWdFeHAoIl4oPzooWystXSk9fCkoIithYSsiKShbYS16JV0qKSQiLCJpIiksY2E9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxkYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPWJ8fGEsIm5vbmUiPT09YS5zdHlsZS5kaXNwbGF5fHwiIj09PWEuc3R5bGUuZGlzcGxheSYmci5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSkmJiJub25lIj09PXIuY3NzKGEsImRpc3BsYXkiKX0sZWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O2Z1bmN0aW9uIGZhKGEsYixjLGQpe3ZhciBlLGY9MSxnPTIwLGg9ZD9mdW5jdGlvbigpe3JldHVybiBkLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiByLmNzcyhhLGIsIiIpfSxpPWgoKSxqPWMmJmNbM118fChyLmNzc051bWJlcltiXT8iIjoicHgiKSxrPShyLmNzc051bWJlcltiXXx8InB4IiE9PWomJitpKSYmYmEuZXhlYyhyLmNzcyhhLGIpKTtpZihrJiZrWzNdIT09ail7aj1qfHxrWzNdLGM9Y3x8W10saz0raXx8MTtkbyBmPWZ8fCIuNSIsay89ZixyLnN0eWxlKGEsYixrK2opO3doaWxlKGYhPT0oZj1oKCkvaSkmJjEhPT1mJiYtLWcpfXJldHVybiBjJiYoaz0ra3x8K2l8fDAsZT1jWzFdP2srKGNbMV0rMSkqY1syXTorY1syXSxkJiYoZC51bml0PWosZC5zdGFydD1rLGQuZW5kPWUpKSxlfXZhciBnYT17fTtmdW5jdGlvbiBoYShhKXt2YXIgYixjPWEub3duZXJEb2N1bWVudCxkPWEubm9kZU5hbWUsZT1nYVtkXTtyZXR1cm4gZT9lOihiPWMuYm9keS5hcHBlbmRDaGlsZChjLmNyZWF0ZUVsZW1lbnQoZCkpLGU9ci5jc3MoYiwiZGlzcGxheSIpLGIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSwibm9uZSI9PT1lJiYoZT0iYmxvY2siKSxnYVtkXT1lLGUpfWZ1bmN0aW9uIGlhKGEsYil7Zm9yKHZhciBjLGQsZT1bXSxmPTAsZz1hLmxlbmd0aDtmPGc7ZisrKWQ9YVtmXSxkLnN0eWxlJiYoYz1kLnN0eWxlLmRpc3BsYXksYj8oIm5vbmUiPT09YyYmKGVbZl09Vy5nZXQoZCwiZGlzcGxheSIpfHxudWxsLGVbZl18fChkLnN0eWxlLmRpc3BsYXk9IiIpKSwiIj09PWQuc3R5bGUuZGlzcGxheSYmZGEoZCkmJihlW2ZdPWhhKGQpKSk6Im5vbmUiIT09YyYmKGVbZl09Im5vbmUiLFcuc2V0KGQsImRpc3BsYXkiLGMpKSk7Zm9yKGY9MDtmPGc7ZisrKW51bGwhPWVbZl0mJihhW2ZdLnN0eWxlLmRpc3BsYXk9ZVtmXSk7cmV0dXJuIGF9ci5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oKXtyZXR1cm4gaWEodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gaWEodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihhKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBhP2E_dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZGEodGhpcyk_cih0aGlzKS5zaG93KCk6cih0aGlzKS5oaWRlKCl9KX19KTt2YXIgamE9L14oPzpjaGVja2JveHxyYWRpbykkL2ksa2E9LzwoW2Etel1bXlwvXDA-XHgyMFx0XHJcblxmXSspL2ksbGE9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLG1hPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSx0aGVhZDpbMSwiPHRhYmxlPiIsIjwvdGFibGU-Il0sY29sOlsyLCI8dGFibGU-PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA-PC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU-Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk-PHRyPiIsIjwvdHI-PC90Ym9keT48L3RhYmxlPiJdLF9kZWZhdWx0OlswLCIiLCIiXX07bWEub3B0Z3JvdXA9bWEub3B0aW9uLG1hLnRib2R5PW1hLnRmb290PW1hLmNvbGdyb3VwPW1hLmNhcHRpb249bWEudGhlYWQsbWEudGg9bWEudGQ7ZnVuY3Rpb24gbmEoYSxiKXt2YXIgYztyZXR1cm4gYz0idW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWU_YS5nZXRFbGVtZW50c0J5VGFnTmFtZShifHwiKiIpOiJ1bmRlZmluZWQiIT10eXBlb2YgYS5xdWVyeVNlbGVjdG9yQWxsP2EucXVlcnlTZWxlY3RvckFsbChifHwiKiIpOltdLHZvaWQgMD09PWJ8fGImJkIoYSxiKT9yLm1lcmdlKFthXSxjKTpjfWZ1bmN0aW9uIG9hKGEsYil7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtjPGQ7YysrKVcuc2V0KGFbY10sImdsb2JhbEV2YWwiLCFifHxXLmdldChiW2NdLCJnbG9iYWxFdmFsIikpfXZhciBwYT0vPHwmIz9cdys7LztmdW5jdGlvbiBxYShhLGIsYyxkLGUpe2Zvcih2YXIgZixnLGgsaSxqLGssbD1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxtPVtdLG49MCxvPWEubGVuZ3RoO248bztuKyspaWYoZj1hW25dLGZ8fDA9PT1mKWlmKCJvYmplY3QiPT09ci50eXBlKGYpKXIubWVyZ2UobSxmLm5vZGVUeXBlP1tmXTpmKTtlbHNlIGlmKHBhLnRlc3QoZikpe2c9Z3x8bC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxoPShrYS5leGVjKGYpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLGk9bWFbaF18fG1hLl9kZWZhdWx0LGcuaW5uZXJIVE1MPWlbMV0rci5odG1sUHJlZmlsdGVyKGYpK2lbMl0saz1pWzBdO3doaWxlKGstLSlnPWcubGFzdENoaWxkO3IubWVyZ2UobSxnLmNoaWxkTm9kZXMpLGc9bC5maXJzdENoaWxkLGcudGV4dENvbnRlbnQ9IiJ9ZWxzZSBtLnB1c2goYi5jcmVhdGVUZXh0Tm9kZShmKSk7bC50ZXh0Q29udGVudD0iIixuPTA7d2hpbGUoZj1tW24rK10paWYoZCYmci5pbkFycmF5KGYsZCk-LTEpZSYmZS5wdXNoKGYpO2Vsc2UgaWYoaj1yLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxnPW5hKGwuYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGomJm9hKGcpLGMpe2s9MDt3aGlsZShmPWdbaysrXSlsYS50ZXN0KGYudHlwZXx8IiIpJiZjLnB1c2goZil9cmV0dXJuIGx9IWZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksYj1hLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Muc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxjLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxjLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxiLmFwcGVuZENoaWxkKGMpLG8uY2hlY2tDbG9uZT1iLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxiLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIsby5ub0Nsb25lQ2hlY2tlZD0hIWIuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlfSgpO3ZhciByYT1kLmRvY3VtZW50RWxlbWVudCxzYT0vXmtleS8sdGE9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLHVhPS9eKFteLl0qKSg_OlwuKC4rKXwpLztmdW5jdGlvbiB2YSgpe3JldHVybiEwfWZ1bmN0aW9uIHdhKCl7cmV0dXJuITF9ZnVuY3Rpb24geGEoKXt0cnl7cmV0dXJuIGQuYWN0aXZlRWxlbWVudH1jYXRjaChhKXt9fWZ1bmN0aW9uIHlhKGEsYixjLGQsZSxmKXt2YXIgZyxoO2lmKCJvYmplY3QiPT10eXBlb2YgYil7InN0cmluZyIhPXR5cGVvZiBjJiYoZD1kfHxjLGM9dm9pZCAwKTtmb3IoaCBpbiBiKXlhKGEsaCxjLGQsYltoXSxmKTtyZXR1cm4gYX1pZihudWxsPT1kJiZudWxsPT1lPyhlPWMsZD1jPXZvaWQgMCk6bnVsbD09ZSYmKCJzdHJpbmciPT10eXBlb2YgYz8oZT1kLGQ9dm9pZCAwKTooZT1kLGQ9YyxjPXZvaWQgMCkpLGU9PT0hMSllPXdhO2Vsc2UgaWYoIWUpcmV0dXJuIGE7cmV0dXJuIDE9PT1mJiYoZz1lLGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHIoKS5vZmYoYSksZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZ3VpZD1nLmd1aWR8fChnLmd1aWQ9ci5ndWlkKyspKSxhLmVhY2goZnVuY3Rpb24oKXtyLmV2ZW50LmFkZCh0aGlzLGIsZSxkLGMpfSl9ci5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbixvLHAscT1XLmdldChhKTtpZihxKXtjLmhhbmRsZXImJihmPWMsYz1mLmhhbmRsZXIsZT1mLnNlbGVjdG9yKSxlJiZyLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHJhLGUpLGMuZ3VpZHx8KGMuZ3VpZD1yLmd1aWQrKyksKGk9cS5ldmVudHMpfHwoaT1xLmV2ZW50cz17fSksKGc9cS5oYW5kbGUpfHwoZz1xLmhhbmRsZT1mdW5jdGlvbihiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHImJnIuZXZlbnQudHJpZ2dlcmVkIT09Yi50eXBlP3IuZXZlbnQuZGlzcGF0Y2guYXBwbHkoYSxhcmd1bWVudHMpOnZvaWQgMH0pLGI9KGJ8fCIiKS5tYXRjaChMKXx8WyIiXSxqPWIubGVuZ3RoO3doaWxlKGotLSloPXVhLmV4ZWMoYltqXSl8fFtdLG49cD1oWzFdLG89KGhbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxuJiYobD1yLmV2ZW50LnNwZWNpYWxbbl18fHt9LG49KGU_bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG4sbD1yLmV2ZW50LnNwZWNpYWxbbl18fHt9LGs9ci5leHRlbmQoe3R5cGU6bixvcmlnVHlwZTpwLGRhdGE6ZCxoYW5kbGVyOmMsZ3VpZDpjLmd1aWQsc2VsZWN0b3I6ZSxuZWVkc0NvbnRleHQ6ZSYmci5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGUpLG5hbWVzcGFjZTpvLmpvaW4oIi4iKX0sZiksKG09aVtuXSl8fChtPWlbbl09W10sbS5kZWxlZ2F0ZUNvdW50PTAsbC5zZXR1cCYmbC5zZXR1cC5jYWxsKGEsZCxvLGcpIT09ITF8fGEuYWRkRXZlbnRMaXN0ZW5lciYmYS5hZGRFdmVudExpc3RlbmVyKG4sZykpLGwuYWRkJiYobC5hZGQuY2FsbChhLGspLGsuaGFuZGxlci5ndWlkfHwoay5oYW5kbGVyLmd1aWQ9Yy5ndWlkKSksZT9tLnNwbGljZShtLmRlbGVnYXRlQ291bnQrKywwLGspOm0ucHVzaChrKSxyLmV2ZW50Lmdsb2JhbFtuXT0hMCl9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG4sbyxwLHE9Vy5oYXNEYXRhKGEpJiZXLmdldChhKTtpZihxJiYoaT1xLmV2ZW50cykpe2I9KGJ8fCIiKS5tYXRjaChMKXx8WyIiXSxqPWIubGVuZ3RoO3doaWxlKGotLSlpZihoPXVhLmV4ZWMoYltqXSl8fFtdLG49cD1oWzFdLG89KGhbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxuKXtsPXIuZXZlbnQuc3BlY2lhbFtuXXx8e30sbj0oZD9sLmRlbGVnYXRlVHlwZTpsLmJpbmRUeXBlKXx8bixtPWlbbl18fFtdLGg9aFsyXSYmbmV3IFJlZ0V4cCgiKF58XFwuKSIrby5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKSxnPWY9bS5sZW5ndGg7d2hpbGUoZi0tKWs9bVtmXSwhZSYmcCE9PWsub3JpZ1R5cGV8fGMmJmMuZ3VpZCE9PWsuZ3VpZHx8aCYmIWgudGVzdChrLm5hbWVzcGFjZSl8fGQmJmQhPT1rLnNlbGVjdG9yJiYoIioqIiE9PWR8fCFrLnNlbGVjdG9yKXx8KG0uc3BsaWNlKGYsMSksay5zZWxlY3RvciYmbS5kZWxlZ2F0ZUNvdW50LS0sbC5yZW1vdmUmJmwucmVtb3ZlLmNhbGwoYSxrKSk7ZyYmIW0ubGVuZ3RoJiYobC50ZWFyZG93biYmbC50ZWFyZG93bi5jYWxsKGEsbyxxLmhhbmRsZSkhPT0hMXx8ci5yZW1vdmVFdmVudChhLG4scS5oYW5kbGUpLGRlbGV0ZSBpW25dKX1lbHNlIGZvcihuIGluIGkpci5ldmVudC5yZW1vdmUoYSxuK2Jbal0sYyxkLCEwKTtyLmlzRW1wdHlPYmplY3QoaSkmJlcucmVtb3ZlKGEsImhhbmRsZSBldmVudHMiKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGEpe3ZhciBiPXIuZXZlbnQuZml4KGEpLGMsZCxlLGYsZyxoLGk9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLGo9KFcuZ2V0KHRoaXMsImV2ZW50cyIpfHx7fSlbYi50eXBlXXx8W10saz1yLmV2ZW50LnNwZWNpYWxbYi50eXBlXXx8e307Zm9yKGlbMF09YixjPTE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKylpW2NdPWFyZ3VtZW50c1tjXTtpZihiLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWsucHJlRGlzcGF0Y2h8fGsucHJlRGlzcGF0Y2guY2FsbCh0aGlzLGIpIT09ITEpe2g9ci5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsYixqKSxjPTA7d2hpbGUoKGY9aFtjKytdKSYmIWIuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSl7Yi5jdXJyZW50VGFyZ2V0PWYuZWxlbSxkPTA7d2hpbGUoKGc9Zi5oYW5kbGVyc1tkKytdKSYmIWIuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSliLnJuYW1lc3BhY2UmJiFiLnJuYW1lc3BhY2UudGVzdChnLm5hbWVzcGFjZSl8fChiLmhhbmRsZU9iaj1nLGIuZGF0YT1nLmRhdGEsZT0oKHIuZXZlbnQuc3BlY2lhbFtnLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8Zy5oYW5kbGVyKS5hcHBseShmLmVsZW0saSksdm9pZCAwIT09ZSYmKGIucmVzdWx0PWUpPT09ITEmJihiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSkpfXJldHVybiBrLnBvc3REaXNwYXRjaCYmay5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGIpLGIucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnLGg9W10saT1iLmRlbGVnYXRlQ291bnQsaj1hLnRhcmdldDtpZihpJiZqLm5vZGVUeXBlJiYhKCJjbGljayI9PT1hLnR5cGUmJmEuYnV0dG9uPj0xKSlmb3IoO2ohPT10aGlzO2o9ai5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1qLm5vZGVUeXBlJiYoImNsaWNrIiE9PWEudHlwZXx8ai5kaXNhYmxlZCE9PSEwKSl7Zm9yKGY9W10sZz17fSxjPTA7YzxpO2MrKylkPWJbY10sZT1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1nW2VdJiYoZ1tlXT1kLm5lZWRzQ29udGV4dD9yKGUsdGhpcykuaW5kZXgoaik-LTE6ci5maW5kKGUsdGhpcyxudWxsLFtqXSkubGVuZ3RoKSxnW2VdJiZmLnB1c2goZCk7Zi5sZW5ndGgmJmgucHVzaCh7ZWxlbTpqLGhhbmRsZXJzOmZ9KX1yZXR1cm4gaj10aGlzLGk8Yi5sZW5ndGgmJmgucHVzaCh7ZWxlbTpqLGhhbmRsZXJzOmIuc2xpY2UoaSl9KSxofSxhZGRQcm9wOmZ1bmN0aW9uKGEsYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIuRXZlbnQucHJvdG90eXBlLGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpyLmlzRnVuY3Rpb24oYik_ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIGIodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFthXX0sc2V0OmZ1bmN0aW9uKGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19KX0sZml4OmZ1bmN0aW9uKGEpe3JldHVybiBhW3IuZXhwYW5kb10_YTpuZXcgci5FdmVudChhKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7aWYodGhpcyE9PXhhKCkmJnRoaXMuZm9jdXMpcmV0dXJuIHRoaXMuZm9jdXMoKSwhMX0sZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXM9PT14YSgpJiZ0aGlzLmJsdXIpcmV0dXJuIHRoaXMuYmx1cigpLCExfSxkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sY2xpY2s6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZigiY2hlY2tib3giPT09dGhpcy50eXBlJiZ0aGlzLmNsaWNrJiZCKHRoaXMsImlucHV0IikpcmV0dXJuIHRoaXMuY2xpY2soKSwhMX0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEIoYS50YXJnZXQsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGEpe3ZvaWQgMCE9PWEucmVzdWx0JiZhLm9yaWdpbmFsRXZlbnQmJihhLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9YS5yZXN1bHQpfX19fSxyLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMpfSxyLkV2ZW50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiByLkV2ZW50PyhhJiZhLnR5cGU_KHRoaXMub3JpZ2luYWxFdmVudD1hLHRoaXMudHlwZT1hLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9YS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1hLmRlZmF1bHRQcmV2ZW50ZWQmJmEucmV0dXJuVmFsdWU9PT0hMT92YTp3YSx0aGlzLnRhcmdldD1hLnRhcmdldCYmMz09PWEudGFyZ2V0Lm5vZGVUeXBlP2EudGFyZ2V0LnBhcmVudE5vZGU6YS50YXJnZXQsdGhpcy5jdXJyZW50VGFyZ2V0PWEuY3VycmVudFRhcmdldCx0aGlzLnJlbGF0ZWRUYXJnZXQ9YS5yZWxhdGVkVGFyZ2V0KTp0aGlzLnR5cGU9YSxiJiZyLmV4dGVuZCh0aGlzLGIpLHRoaXMudGltZVN0YW1wPWEmJmEudGltZVN0YW1wfHxyLm5vdygpLHZvaWQodGhpc1tyLmV4cGFuZG9dPSEwKSk6bmV3IHIuRXZlbnQoYSxiKX0sci5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnIuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOndhLGlzUHJvcGFnYXRpb25TdG9wcGVkOndhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOndhLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXZhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXZhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD12YSxhJiYhdGhpcy5pc1NpbXVsYXRlZCYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sci5lYWNoKHthbHRLZXk6ITAsYnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNoYW5nZWRUb3VjaGVzOiEwLGN0cmxLZXk6ITAsZGV0YWlsOiEwLGV2ZW50UGhhc2U6ITAsbWV0YUtleTohMCxwYWdlWDohMCxwYWdlWTohMCxzaGlmdEtleTohMCx2aWV3OiEwLCJjaGFyIjohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDpmdW5jdGlvbihhKXt2YXIgYj1hLmJ1dHRvbjtyZXR1cm4gbnVsbD09YS53aGljaCYmc2EudGVzdChhLnR5cGUpP251bGwhPWEuY2hhckNvZGU_YS5jaGFyQ29kZTphLmtleUNvZGU6IWEud2hpY2gmJnZvaWQgMCE9PWImJnRhLnRlc3QoYS50eXBlKT8xJmI_MToyJmI_Mzo0JmI_MjowOmEud2hpY2h9fSxyLmV2ZW50LmFkZFByb3ApLHIuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXtyLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybiBlJiYoZT09PWR8fHIuY29udGFpbnMoZCxlKSl8fChhLnR5cGU9Zi5vcmlnVHlwZSxjPWYuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksYS50eXBlPWIpLGN9fX0pLHIuZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4geWEodGhpcyxhLGIsYyxkKX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB5YSh0aGlzLGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixyKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuIGIhPT0hMSYmImZ1bmN0aW9uIiE9dHlwZW9mIGJ8fChjPWIsYj12b2lkIDApLGM9PT0hMSYmKGM9d2EpLHRoaXMuZWFjaChmdW5jdGlvbigpe3IuZXZlbnQucmVtb3ZlKHRoaXMsYSxjLGIpfSl9fSk7dmFyIHphPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKVtePl0qKVwvPi9naSxBYT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxCYT0vY2hlY2tlZFxzKig_OltePV18PVxzKi5jaGVja2VkLikvaSxDYT0vXnRydWVcLyguKikvLERhPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg_OlxdXF18LS0pPlxzKiQvZztmdW5jdGlvbiBFYShhLGIpe3JldHVybiBCKGEsInRhYmxlIikmJkIoMTEhPT1iLm5vZGVUeXBlP2I6Yi5maXJzdENoaWxkLCJ0ciIpP3IoIj50Ym9keSIsYSlbMF18fGE6YX1mdW5jdGlvbiBGYShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkrIi8iK2EudHlwZSxhfWZ1bmN0aW9uIEdhKGEpe3ZhciBiPUNhLmV4ZWMoYS50eXBlKTtyZXR1cm4gYj9hLnR5cGU9YlsxXTphLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLGF9ZnVuY3Rpb24gSGEoYSxiKXt2YXIgYyxkLGUsZixnLGgsaSxqO2lmKDE9PT1iLm5vZGVUeXBlKXtpZihXLmhhc0RhdGEoYSkmJihmPVcuYWNjZXNzKGEpLGc9Vy5zZXQoYixmKSxqPWYuZXZlbnRzKSl7ZGVsZXRlIGcuaGFuZGxlLGcuZXZlbnRzPXt9O2ZvcihlIGluIGopZm9yKGM9MCxkPWpbZV0ubGVuZ3RoO2M8ZDtjKyspci5ldmVudC5hZGQoYixlLGpbZV1bY10pfVguaGFzRGF0YShhKSYmKGg9WC5hY2Nlc3MoYSksaT1yLmV4dGVuZCh7fSxoKSxYLnNldChiLGkpKX19ZnVuY3Rpb24gSWEoYSxiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PWMmJmphLnRlc3QoYS50eXBlKT9iLmNoZWNrZWQ9YS5jaGVja2VkOiJpbnB1dCIhPT1jJiYidGV4dGFyZWEiIT09Y3x8KGIuZGVmYXVsdFZhbHVlPWEuZGVmYXVsdFZhbHVlKX1mdW5jdGlvbiBKYShhLGIsYyxkKXtiPWcuYXBwbHkoW10sYik7dmFyIGUsZixoLGksaixrLGw9MCxtPWEubGVuZ3RoLG49bS0xLHE9YlswXSxzPXIuaXNGdW5jdGlvbihxKTtpZihzfHxtPjEmJiJzdHJpbmciPT10eXBlb2YgcSYmIW8uY2hlY2tDbG9uZSYmQmEudGVzdChxKSlyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWEuZXEoZSk7cyYmKGJbMF09cS5jYWxsKHRoaXMsZSxmLmh0bWwoKSkpLEphKGYsYixjLGQpfSk7aWYobSYmKGU9cWEoYixhWzBdLm93bmVyRG9jdW1lbnQsITEsYSxkKSxmPWUuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9ZiksZnx8ZCkpe2ZvcihoPXIubWFwKG5hKGUsInNjcmlwdCIpLEZhKSxpPWgubGVuZ3RoO2w8bTtsKyspaj1lLGwhPT1uJiYoaj1yLmNsb25lKGosITAsITApLGkmJnIubWVyZ2UoaCxuYShqLCJzY3JpcHQiKSkpLGMuY2FsbChhW2xdLGosbCk7aWYoaSlmb3Ioaz1oW2gubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsci5tYXAoaCxHYSksbD0wO2w8aTtsKyspaj1oW2xdLGxhLnRlc3Qoai50eXBlfHwiIikmJiFXLmFjY2VzcyhqLCJnbG9iYWxFdmFsIikmJnIuY29udGFpbnMoayxqKSYmKGouc3JjP3IuX2V2YWxVcmwmJnIuX2V2YWxVcmwoai5zcmMpOnAoai50ZXh0Q29udGVudC5yZXBsYWNlKERhLCIiKSxrKSl9cmV0dXJuIGF9ZnVuY3Rpb24gS2EoYSxiLGMpe2Zvcih2YXIgZCxlPWI_ci5maWx0ZXIoYixhKTphLGY9MDtudWxsIT0oZD1lW2ZdKTtmKyspY3x8MSE9PWQubm9kZVR5cGV8fHIuY2xlYW5EYXRhKG5hKGQpKSxkLnBhcmVudE5vZGUmJihjJiZyLmNvbnRhaW5zKGQub3duZXJEb2N1bWVudCxkKSYmb2EobmEoZCwic2NyaXB0IikpLGQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkKSk7cmV0dXJuIGF9ci5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSh6YSwiPCQxPjwvJDI-Iil9LGNsb25lOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuY2xvbmVOb2RlKCEwKSxpPXIuY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpO2lmKCEoby5ub0Nsb25lQ2hlY2tlZHx8MSE9PWEubm9kZVR5cGUmJjExIT09YS5ub2RlVHlwZXx8ci5pc1hNTERvYyhhKSkpZm9yKGc9bmEoaCksZj1uYShhKSxkPTAsZT1mLmxlbmd0aDtkPGU7ZCsrKUlhKGZbZF0sZ1tkXSk7aWYoYilpZihjKWZvcihmPWZ8fG5hKGEpLGc9Z3x8bmEoaCksZD0wLGU9Zi5sZW5ndGg7ZDxlO2QrKylIYShmW2RdLGdbZF0pO2Vsc2UgSGEoYSxoKTtyZXR1cm4gZz1uYShoLCJzY3JpcHQiKSxnLmxlbmd0aD4wJiZvYShnLCFpJiZuYShhLCJzY3JpcHQiKSksaH0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQsZT1yLmV2ZW50LnNwZWNpYWwsZj0wO3ZvaWQgMCE9PShjPWFbZl0pO2YrKylpZihVKGMpKXtpZihiPWNbVy5leHBhbmRvXSl7aWYoYi5ldmVudHMpZm9yKGQgaW4gYi5ldmVudHMpZVtkXT9yLmV2ZW50LnJlbW92ZShjLGQpOnIucmVtb3ZlRXZlbnQoYyxkLGIuaGFuZGxlKTtjW1cuZXhwYW5kb109dm9pZCAwfWNbWC5leHBhbmRvXSYmKGNbWC5leHBhbmRvXT12b2lkIDApfX19KSxyLmZuLmV4dGVuZCh7ZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiBLYSh0aGlzLGEsITApfSxyZW1vdmU6ZnVuY3Rpb24oYSl7cmV0dXJuIEthKHRoaXMsYSl9LHRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFQodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9yLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENvbnRlbnQ9YSl9KX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSmEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPUVhKHRoaXMsYSk7Yi5hcHBlbmRDaGlsZChhKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBKYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9RWEodGhpcyxhKTtiLmluc2VydEJlZm9yZShhLGIuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBKYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBKYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYSxiPTA7bnVsbCE9KGE9dGhpc1tiXSk7YisrKTE9PT1hLm5vZGVUeXBlJiYoci5jbGVhbkRhdGEobmEoYSwhMSkpLGEudGV4dENvbnRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe3JldHVybiBhPW51bGwhPWEmJmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiByLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBUKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSYmMT09PWIubm9kZVR5cGUpcmV0dXJuIGIuaW5uZXJIVE1MO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIUFhLnRlc3QoYSkmJiFtYVsoa2EuZXhlYyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9ci5odG1sUHJlZmlsdGVyKGEpO3RyeXtmb3IoO2M8ZDtjKyspYj10aGlzW2NdfHx7fSwxPT09Yi5ub2RlVHlwZSYmKHIuY2xlYW5EYXRhKG5hKGIsITEpKSxiLmlubmVySFRNTD1hKTtiPTB9Y2F0Y2goZSl7fX1iJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGE9W107cmV0dXJuIEphKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucGFyZW50Tm9kZTtyLmluQXJyYXkodGhpcyxhKTwwJiYoci5jbGVhbkRhdGEobmEodGhpcykpLGMmJmMucmVwbGFjZUNoaWxkKGIsdGhpcykpfSxhKX19KSxyLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihhLGIpe3IuZm5bYV09ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGQ9W10sZT1yKGEpLGY9ZS5sZW5ndGgtMSxnPTA7Zzw9ZjtnKyspYz1nPT09Zj90aGlzOnRoaXMuY2xvbmUoITApLHIoZVtnXSlbYl0oYyksaC5hcHBseShkLGMuZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhkKX19KTt2YXIgTGE9L15tYXJnaW4vLE1hPW5ldyBSZWdFeHAoIl4oIithYSsiKSg_IXB4KVthLXolXSskIiwiaSIpLE5hPWZ1bmN0aW9uKGIpe3ZhciBjPWIub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gYyYmYy5vcGVuZXJ8fChjPWEpLGMuZ2V0Q29tcHV0ZWRTdHlsZShiKX07IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYigpe2lmKGkpe2kuc3R5bGUuY3NzVGV4dD0iYm94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt0b3A6MSU7d2lkdGg6NTAlIixpLmlubmVySFRNTD0iIixyYS5hcHBlbmRDaGlsZChoKTt2YXIgYj1hLmdldENvbXB1dGVkU3R5bGUoaSk7Yz0iMSUiIT09Yi50b3AsZz0iMnB4Ij09PWIubWFyZ2luTGVmdCxlPSI0cHgiPT09Yi53aWR0aCxpLnN0eWxlLm1hcmdpblJpZ2h0PSI1MCUiLGY9IjRweCI9PT1iLm1hcmdpblJpZ2h0LHJhLnJlbW92ZUNoaWxkKGgpLGk9bnVsbH19dmFyIGMsZSxmLGcsaD1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLnN0eWxlJiYoaS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLGkuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIixvLmNsZWFyQ2xvbmVTdHlsZT0iY29udGVudC1ib3giPT09aS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxoLnN0eWxlLmNzc1RleHQ9ImJvcmRlcjowO3dpZHRoOjhweDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHg7cGFkZGluZzowO21hcmdpbi10b3A6MXB4O3Bvc2l0aW9uOmFic29sdXRlIixoLmFwcGVuZENoaWxkKGkpLHIuZXh0ZW5kKG8se3BpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gYigpLGN9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGIoKSxlfSxwaXhlbE1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIGIoKSxmfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYigpLGd9fSkpfSgpO2Z1bmN0aW9uIE9hKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuc3R5bGU7cmV0dXJuIGM9Y3x8TmEoYSksYyYmKGc9Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdLCIiIT09Z3x8ci5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSl8fChnPXIuc3R5bGUoYSxiKSksIW8ucGl4ZWxNYXJnaW5SaWdodCgpJiZNYS50ZXN0KGcpJiZMYS50ZXN0KGIpJiYoZD1oLndpZHRoLGU9aC5taW5XaWR0aCxmPWgubWF4V2lkdGgsaC5taW5XaWR0aD1oLm1heFdpZHRoPWgud2lkdGg9ZyxnPWMud2lkdGgsaC53aWR0aD1kLGgubWluV2lkdGg9ZSxoLm1heFdpZHRoPWYpKSx2b2lkIDAhPT1nP2crIiI6Z31mdW5jdGlvbiBQYShhLGIpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYSgpP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX12YXIgUWE9L14obm9uZXx0YWJsZSg_IS1jW2VhXSkuKykvLFJhPS9eLS0vLFNhPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxUYT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn0sVWE9WyJXZWJraXQiLCJNb3oiLCJtcyJdLFZhPWQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGU7ZnVuY3Rpb24gV2EoYSl7aWYoYSBpbiBWYSlyZXR1cm4gYTt2YXIgYj1hWzBdLnRvVXBwZXJDYXNlKCkrYS5zbGljZSgxKSxjPVVhLmxlbmd0aDt3aGlsZShjLS0paWYoYT1VYVtjXStiLGEgaW4gVmEpcmV0dXJuIGF9ZnVuY3Rpb24gWGEoYSl7dmFyIGI9ci5jc3NQcm9wc1thXTtyZXR1cm4gYnx8KGI9ci5jc3NQcm9wc1thXT1XYShhKXx8YSksYn1mdW5jdGlvbiBZYShhLGIsYyl7dmFyIGQ9YmEuZXhlYyhiKTtyZXR1cm4gZD9NYXRoLm1heCgwLGRbMl0tKGN8fDApKSsoZFszXXx8InB4Iik6Yn1mdW5jdGlvbiBaYShhLGIsYyxkLGUpe3ZhciBmLGc9MDtmb3IoZj1jPT09KGQ_ImJvcmRlciI6ImNvbnRlbnQiKT80OiJ3aWR0aCI9PT1iPzE6MDtmPDQ7Zis9MikibWFyZ2luIj09PWMmJihnKz1yLmNzcyhhLGMrY2FbZl0sITAsZSkpLGQ_KCJjb250ZW50Ij09PWMmJihnLT1yLmNzcyhhLCJwYWRkaW5nIitjYVtmXSwhMCxlKSksIm1hcmdpbiIhPT1jJiYoZy09ci5jc3MoYSwiYm9yZGVyIitjYVtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPXIuY3NzKGEsInBhZGRpbmciK2NhW2ZdLCEwLGUpLCJwYWRkaW5nIiE9PWMmJihnKz1yLmNzcyhhLCJib3JkZXIiK2NhW2ZdKyJXaWR0aCIsITAsZSkpKTtyZXR1cm4gZ31mdW5jdGlvbiAkYShhLGIsYyl7dmFyIGQsZT1OYShhKSxmPU9hKGEsYixlKSxnPSJib3JkZXItYm94Ij09PXIuY3NzKGEsImJveFNpemluZyIsITEsZSk7cmV0dXJuIE1hLnRlc3QoZik_ZjooZD1nJiYoby5ib3hTaXppbmdSZWxpYWJsZSgpfHxmPT09YS5zdHlsZVtiXSksImF1dG8iPT09ZiYmKGY9YVsib2Zmc2V0IitiWzBdLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKV0pLGY9cGFyc2VGbG9hdChmKXx8MCxmK1phKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZSkrInB4Iil9ci5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oYSxiKXtpZihiKXt2YXIgYz1PYShhLCJvcGFjaXR5Iik7cmV0dXJuIiI9PT1jPyIxIjpjfX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnsiZmxvYXQiOiJjc3NGbG9hdCJ9LHN0eWxlOmZ1bmN0aW9uKGEsYixjLGQpe2lmKGEmJjMhPT1hLm5vZGVUeXBlJiY4IT09YS5ub2RlVHlwZSYmYS5zdHlsZSl7dmFyIGUsZixnLGg9ci5jYW1lbENhc2UoYiksaT1SYS50ZXN0KGIpLGo9YS5zdHlsZTtyZXR1cm4gaXx8KGI9WGEoaCkpLGc9ci5jc3NIb29rc1tiXXx8ci5jc3NIb29rc1toXSx2b2lkIDA9PT1jP2cmJiJnZXQiaW4gZyYmdm9pZCAwIT09KGU9Zy5nZXQoYSwhMSxkKSk_ZTpqW2JdOihmPXR5cGVvZiBjLCJzdHJpbmciPT09ZiYmKGU9YmEuZXhlYyhjKSkmJmVbMV0mJihjPWZhKGEsYixlKSxmPSJudW1iZXIiKSxudWxsIT1jJiZjPT09YyYmKCJudW1iZXIiPT09ZiYmKGMrPWUmJmVbM118fChyLmNzc051bWJlcltoXT8iIjoicHgiKSksby5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaltiXT0iaW5oZXJpdCIpLGcmJiJzZXQiaW4gZyYmdm9pZCAwPT09KGM9Zy5zZXQoYSxjLGQpKXx8KGk_ai5zZXRQcm9wZXJ0eShiLGMpOmpbYl09YykpLHZvaWQgMCl9fSxjc3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGg9ci5jYW1lbENhc2UoYiksaT1SYS50ZXN0KGIpO3JldHVybiBpfHwoYj1YYShoKSksZz1yLmNzc0hvb2tzW2JdfHxyLmNzc0hvb2tzW2hdLGcmJiJnZXQiaW4gZyYmKGU9Zy5nZXQoYSwhMCxjKSksdm9pZCAwPT09ZSYmKGU9T2EoYSxiLGQpKSwibm9ybWFsIj09PWUmJmIgaW4gVGEmJihlPVRhW2JdKSwiIj09PWN8fGM_KGY9cGFyc2VGbG9hdChlKSxjPT09ITB8fGlzRmluaXRlKGYpP2Z8fDA6ZSk6ZX19KSxyLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGEsYil7ci5jc3NIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEsYyxkKXtpZihjKXJldHVybiFRYS50ZXN0KHIuY3NzKGEsImRpc3BsYXkiKSl8fGEuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJmEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg_JGEoYSxiLGQpOmVhKGEsU2EsZnVuY3Rpb24oKXtyZXR1cm4gJGEoYSxiLGQpfSl9LHNldDpmdW5jdGlvbihhLGMsZCl7dmFyIGUsZj1kJiZOYShhKSxnPWQmJlphKGEsYixkLCJib3JkZXItYm94Ij09PXIuY3NzKGEsImJveFNpemluZyIsITEsZiksZik7cmV0dXJuIGcmJihlPWJhLmV4ZWMoYykpJiYicHgiIT09KGVbM118fCJweCIpJiYoYS5zdHlsZVtiXT1jLGM9ci5jc3MoYSxiKSksWWEoYSxjLGcpfX19KSxyLmNzc0hvb2tzLm1hcmdpbkxlZnQ9UGEoby5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oYSxiKXtpZihiKXJldHVybihwYXJzZUZsb2F0KE9hKGEsIm1hcmdpbkxlZnQiKSl8fGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1lYShhLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgifSksci5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtyLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXtmb3IodmFyIGQ9MCxlPXt9LGY9InN0cmluZyI9PXR5cGVvZiBjP2Muc3BsaXQoIiAiKTpbY107ZDw0O2QrKyllW2ErY2FbZF0rYl09ZltkXXx8ZltkLTJdfHxmWzBdO3JldHVybiBlfX0sTGEudGVzdChhKXx8KHIuY3NzSG9va3NbYStiXS5zZXQ9WWEpfSksci5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihhLGIpe3JldHVybiBUKHRoaXMsZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj17fSxnPTA7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKGQ9TmEoYSksZT1iLmxlbmd0aDtnPGU7ZysrKWZbYltnXV09ci5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP3Iuc3R5bGUoYSxiLGMpOnIuY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfX0pLHIuZm4uZGVsYXk9ZnVuY3Rpb24oYixjKXtyZXR1cm4gYj1yLmZ4P3IuZnguc3BlZWRzW2JdfHxiOmIsYz1jfHwiZngiLHRoaXMucXVldWUoYyxmdW5jdGlvbihjLGQpe3ZhciBlPWEuc2V0VGltZW91dChjLGIpO2Quc3RvcD1mdW5jdGlvbigpe2EuY2xlYXJUaW1lb3V0KGUpfX0pfSxmdW5jdGlvbigpe3ZhciBhPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPWQuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksYz1iLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpO2EudHlwZT0iY2hlY2tib3giLG8uY2hlY2tPbj0iIiE9PWEudmFsdWUsby5vcHRTZWxlY3RlZD1jLnNlbGVjdGVkLGE9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGEudmFsdWU9InQiLGEudHlwZT0icmFkaW8iLG8ucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBfYSxhYj1yLmV4cHIuYXR0ckhhbmRsZTtyLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBUKHRoaXMsci5hdHRyLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtyLnJlbW92ZUF0dHIodGhpcyxhKX0pfX0pLHIuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU_ci5wcm9wKGEsYixjKTooMT09PWYmJnIuaXNYTUxEb2MoYSl8fChlPXIuYXR0ckhvb2tzW2IudG9Mb3dlckNhc2UoKV18fChyLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP19hOnZvaWQgMCkpLHZvaWQgMCE9PWM_bnVsbD09PWM_dm9pZCByLnJlbW92ZUF0dHIoYSxiKTplJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk_ZDooYS5zZXRBdHRyaWJ1dGUoYixjKyIiKSxjKTplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOihkPXIuZmluZC5hdHRyKGEsYiksbnVsbD09ZD92b2lkIDA6ZCkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihhLGIpe2lmKCFvLnJhZGlvVmFsdWUmJiJyYWRpbyI9PT1iJiZCKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7cmV0dXJuIGEuc2V0QXR0cmlidXRlKCJ0eXBlIixiKSxjJiYoYS52YWx1ZT1jKSxifX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0wLGU9YiYmYi5tYXRjaChMKTtpZihlJiYxPT09YS5ub2RlVHlwZSl3aGlsZShjPWVbZCsrXSlhLnJlbW92ZUF0dHJpYnV0ZShjKX19KSxfYT17c2V0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj09PSExP3IucmVtb3ZlQXR0cihhLGMpOmEuc2V0QXR0cmlidXRlKGMsYyksY319LHIuZWFjaChyLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPWFiW2JdfHxyLmZpbmQuYXR0cjthYltiXT1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZixnPWIudG9Mb3dlckNhc2UoKTtyZXR1cm4gZHx8KGY9YWJbZ10sYWJbZ109ZSxlPW51bGwhPWMoYSxiLGQpP2c6bnVsbCxhYltnXT1mKSxlfX0pO3ZhciBiYj0vXig_OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGNiPS9eKD86YXxhcmVhKSQvaTtyLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihhLGIpe3JldHVybiBUKHRoaXMsci5wcm9wLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tyLnByb3BGaXhbYV18fGFdfSl9fSksci5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIDE9PT1mJiZyLmlzWE1MRG9jKGEpfHwoYj1yLnByb3BGaXhbYl18fGIsZT1yLnByb3BIb29rc1tiXSksdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk_ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk_ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9ci5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTpiYi50ZXN0KGEubm9kZU5hbWUpfHxjYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY_MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxvLm9wdFNlbGVjdGVkfHwoci5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLHIuZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7ci5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pO2Z1bmN0aW9uIGRiKGEpe3ZhciBiPWEubWF0Y2goTCl8fFtdO3JldHVybiBiLmpvaW4oIiAiKX1mdW5jdGlvbiBlYihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn1yLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaT0wO2lmKHIuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3IodGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYixlYih0aGlzKSkpfSk7aWYoInN0cmluZyI9PXR5cGVvZiBhJiZhKXtiPWEubWF0Y2goTCl8fFtdO3doaWxlKGM9dGhpc1tpKytdKWlmKGU9ZWIoYyksZD0xPT09Yy5ub2RlVHlwZSYmIiAiK2RiKGUpKyIgIil7Zz0wO3doaWxlKGY9YltnKytdKWQuaW5kZXhPZigiICIrZisiICIpPDAmJihkKz1mKyIgIik7aD1kYihkKSxlIT09aCYmYy5zZXRBdHRyaWJ1dGUoImNsYXNzIixoKX19cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk9MDtpZihyLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtyKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsZWIodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwiIik7aWYoInN0cmluZyI9PXR5cGVvZiBhJiZhKXtiPWEubWF0Y2goTCl8fFtdO3doaWxlKGM9dGhpc1tpKytdKWlmKGU9ZWIoYyksZD0xPT09Yy5ub2RlVHlwZSYmIiAiK2RiKGUpKyIgIil7Zz0wO3doaWxlKGY9YltnKytdKXdoaWxlKGQuaW5kZXhPZigiICIrZisiICIpPi0xKWQ9ZC5yZXBsYWNlKCIgIitmKyIgIiwiICIpO2g9ZGIoZCksZSE9PWgmJmMuc2V0QXR0cmlidXRlKCJjbGFzcyIsaCl9fXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBhO3JldHVybiJib29sZWFuIj09dHlwZW9mIGImJiJzdHJpbmciPT09Yz9iP3RoaXMuYWRkQ2xhc3MoYSk6dGhpcy5yZW1vdmVDbGFzcyhhKTpyLmlzRnVuY3Rpb24oYSk_dGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3IodGhpcykudG9nZ2xlQ2xhc3MoYS5jYWxsKHRoaXMsYyxlYih0aGlzKSxiKSxiKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiLGQsZSxmO2lmKCJzdHJpbmciPT09Yyl7ZD0wLGU9cih0aGlzKSxmPWEubWF0Y2goTCl8fFtdO3doaWxlKGI9ZltkKytdKWUuaGFzQ2xhc3MoYik_ZS5yZW1vdmVDbGFzcyhiKTplLmFkZENsYXNzKGIpfWVsc2Ugdm9pZCAwIT09YSYmImJvb2xlYW4iIT09Y3x8KGI9ZWIodGhpcyksYiYmVy5zZXQodGhpcywiX19jbGFzc05hbWVfXyIsYiksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsYnx8YT09PSExPyIiOlcuZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQ9MDtiPSIgIithKyIgIjt3aGlsZShjPXRoaXNbZCsrXSlpZigxPT09Yy5ub2RlVHlwZSYmKCIgIitkYihlYihjKSkrIiAiKS5pbmRleE9mKGIpPi0xKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBmYj0vXHIvZztyLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9ci5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLHIodGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjpBcnJheS5pc0FycmF5KGUpJiYoZT1yLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hPyIiOmErIiJ9KSksYj1yLnZhbEhvb2tzW3RoaXMudHlwZV18fHIudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYic2V0ImluIGImJnZvaWQgMCE9PWIuc2V0KHRoaXMsZSwidmFsdWUiKXx8KHRoaXMudmFsdWU9ZSkpfSk7aWYoZSlyZXR1cm4gYj1yLnZhbEhvb2tzW2UudHlwZV18fHIudmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYiZ2V0ImluIGImJnZvaWQgMCE9PShjPWIuZ2V0KGUsInZhbHVlIikpP2M6KGM9ZS52YWx1ZSwic3RyaW5nIj09dHlwZW9mIGM_Yy5yZXBsYWNlKGZiLCIiKTpudWxsPT1jPyIiOmMpfX19KSxyLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPXIuZmluZC5hdHRyKGEsInZhbHVlIik7cmV0dXJuIG51bGwhPWI_YjpkYihyLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9YS5vcHRpb25zLGY9YS5zZWxlY3RlZEluZGV4LGc9InNlbGVjdC1vbmUiPT09YS50eXBlLGg9Zz9udWxsOltdLGk9Zz9mKzE6ZS5sZW5ndGg7Zm9yKGQ9ZjwwP2k6Zz9mOjA7ZDxpO2QrKylpZihjPWVbZF0sKGMuc2VsZWN0ZWR8fGQ9PT1mKSYmIWMuZGlzYWJsZWQmJighYy5wYXJlbnROb2RlLmRpc2FibGVkfHwhQihjLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZihiPXIoYykudmFsKCksZylyZXR1cm4gYjtoLnB1c2goYil9cmV0dXJuIGh9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1hLm9wdGlvbnMsZj1yLm1ha2VBcnJheShiKSxnPWUubGVuZ3RoO3doaWxlKGctLSlkPWVbZ10sKGQuc2VsZWN0ZWQ9ci5pbkFycmF5KHIudmFsSG9va3Mub3B0aW9uLmdldChkKSxmKT4tMSkmJihjPSEwKTtyZXR1cm4gY3x8KGEuc2VsZWN0ZWRJbmRleD0tMSksZn19fX0pLHIuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe3IudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihhLGIpe2lmKEFycmF5LmlzQXJyYXkoYikpcmV0dXJuIGEuY2hlY2tlZD1yLmluQXJyYXkocihhKS52YWwoKSxiKT4tMX19LG8uY2hlY2tPbnx8KHIudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIik_Im9uIjphLnZhbHVlfSl9KTt2YXIgZ2I9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvO3IuZXh0ZW5kKHIuZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oYixjLGUsZil7dmFyIGcsaCxpLGosayxtLG4sbz1bZXx8ZF0scD1sLmNhbGwoYiwidHlwZSIpP2IudHlwZTpiLHE9bC5jYWxsKGIsIm5hbWVzcGFjZSIpP2IubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoaD1pPWU9ZXx8ZCwzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJiFnYi50ZXN0KHArci5ldmVudC50cmlnZ2VyZWQpJiYocC5pbmRleE9mKCIuIik-LTEmJihxPXAuc3BsaXQoIi4iKSxwPXEuc2hpZnQoKSxxLnNvcnQoKSksaz1wLmluZGV4T2YoIjoiKTwwJiYib24iK3AsYj1iW3IuZXhwYW5kb10_YjpuZXcgci5FdmVudChwLCJvYmplY3QiPT10eXBlb2YgYiYmYiksYi5pc1RyaWdnZXI9Zj8yOjMsYi5uYW1lc3BhY2U9cS5qb2luKCIuIiksYi5ybmFtZXNwYWNlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1lKSxjPW51bGw9PWM_W2JdOnIubWFrZUFycmF5KGMsW2JdKSxuPXIuZXZlbnQuc3BlY2lhbFtwXXx8e30sZnx8IW4udHJpZ2dlcnx8bi50cmlnZ2VyLmFwcGx5KGUsYykhPT0hMSkpe2lmKCFmJiYhbi5ub0J1YmJsZSYmIXIuaXNXaW5kb3coZSkpe2ZvcihqPW4uZGVsZWdhdGVUeXBlfHxwLGdiLnRlc3QoaitwKXx8KGg9aC5wYXJlbnROb2RlKTtoO2g9aC5wYXJlbnROb2RlKW8ucHVzaChoKSxpPWg7aT09PShlLm93bmVyRG9jdW1lbnR8fGQpJiZvLnB1c2goaS5kZWZhdWx0Vmlld3x8aS5wYXJlbnRXaW5kb3d8fGEpfWc9MDt3aGlsZSgoaD1vW2crK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1nPjE_ajpuLmJpbmRUeXBlfHxwLG09KFcuZ2V0KGgsImV2ZW50cyIpfHx7fSlbYi50eXBlXSYmVy5nZXQoaCwiaGFuZGxlIiksbSYmbS5hcHBseShoLGMpLG09ayYmaFtrXSxtJiZtLmFwcGx5JiZVKGgpJiYoYi5yZXN1bHQ9bS5hcHBseShoLGMpLGIucmVzdWx0PT09ITEmJmIucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGIudHlwZT1wLGZ8fGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fG4uX2RlZmF1bHQmJm4uX2RlZmF1bHQuYXBwbHkoby5wb3AoKSxjKSE9PSExfHwhVShlKXx8ayYmci5pc0Z1bmN0aW9uKGVbcF0pJiYhci5pc1dpbmRvdyhlKSYmKGk9ZVtrXSxpJiYoZVtrXT1udWxsKSxyLmV2ZW50LnRyaWdnZXJlZD1wLGVbcF0oKSxyLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsaSYmKGVba109aSkpLGIucmVzdWx0fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXIuZXh0ZW5kKG5ldyByLkV2ZW50LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMH0pO3IuZXZlbnQudHJpZ2dlcihkLG51bGwsYil9fSksci5mbi5leHRlbmQoe3RyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ci5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXNbMF07aWYoYylyZXR1cm4gci5ldmVudC50cmlnZ2VyKGEsYixjLCEwKX19KSxyLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCByZXNpemUgc2Nyb2xsIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtyLmZuW2JdPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg-MD90aGlzLm9uKGIsbnVsbCxhLGMpOnRoaXMudHJpZ2dlcihiKX19KSxyLmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSksby5mb2N1c2luPSJvbmZvY3VzaW4iaW4gYSxvLmZvY3VzaW58fHIuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbihhKXtyLmV2ZW50LnNpbXVsYXRlKGIsYS50YXJnZXQsci5ldmVudC5maXgoYSkpfTtyLmV2ZW50LnNwZWNpYWxbYl09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGU9Vy5hY2Nlc3MoZCxiKTtlfHxkLmFkZEV2ZW50TGlzdGVuZXIoYSxjLCEwKSxXLmFjY2VzcyhkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPVcuYWNjZXNzKGQsYiktMTtlP1cuYWNjZXNzKGQsYixlKTooZC5yZW1vdmVFdmVudExpc3RlbmVyKGEsYywhMCksVy5yZW1vdmUoZCxiKSl9fX0pO3ZhciBoYj0vXFtcXSQvLGliPS9ccj9cbi9nLGpiPS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxrYj0vXig_OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnVuY3Rpb24gbGIoYSxiLGMsZCl7dmFyIGU7aWYoQXJyYXkuaXNBcnJheShiKSlyLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fGhiLnRlc3QoYSk_ZChhLGUpOmxiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPWU_YjoiIikrIl0iLGUsYyxkKTsNCn0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1yLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilsYihhKyJbIitlKyJdIixiW2VdLGMsZCl9ci5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe3ZhciBjPXIuaXNGdW5jdGlvbihiKT9iKCk6YjtkW2QubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoYSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1jPyIiOmMpfTtpZihBcnJheS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIXIuaXNQbGFpbk9iamVjdChhKSlyLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKWxiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKX0sci5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiByLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9ci5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGE_ci5tYWtlQXJyYXkoYSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBhPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhcih0aGlzKS5pcygiOmRpc2FibGVkIikmJmtiLnRlc3QodGhpcy5ub2RlTmFtZSkmJiFqYi50ZXN0KGEpJiYodGhpcy5jaGVja2VkfHwhamEudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1yKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6QXJyYXkuaXNBcnJheShjKT9yLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoaWIsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKGliLCJcclxuIil9fSkuZ2V0KCl9fSksci5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIHRoaXNbMF0mJihyLmlzRnVuY3Rpb24oYSkmJihhPWEuY2FsbCh0aGlzWzBdKSksYj1yKGEsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZiLmluc2VydEJlZm9yZSh0aGlzWzBdKSxiLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXM7d2hpbGUoYS5maXJzdEVsZW1lbnRDaGlsZClhPWEuZmlyc3RFbGVtZW50Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcykpLHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gci5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihiKXtyKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1yKHRoaXMpLGM9Yi5jb250ZW50cygpO2MubGVuZ3RoP2Mud3JhcEFsbChhKTpiLmFwcGVuZChhKX0pfSx3cmFwOmZ1bmN0aW9uKGEpe3ZhciBiPXIuaXNGdW5jdGlvbihhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe3IodGhpcykud3JhcEFsbChiP2EuY2FsbCh0aGlzLGMpOmEpfSl9LHVud3JhcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wYXJlbnQoYSkubm90KCJib2R5IikuZWFjaChmdW5jdGlvbigpe3IodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLHRoaXN9fSksci5leHByLnBzZXVkb3MuaGlkZGVuPWZ1bmN0aW9uKGEpe3JldHVybiFyLmV4cHIucHNldWRvcy52aXNpYmxlKGEpfSxyLmV4cHIucHNldWRvcy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiEhKGEub2Zmc2V0V2lkdGh8fGEub2Zmc2V0SGVpZ2h0fHxhLmdldENsaWVudFJlY3RzKCkubGVuZ3RoKX0sby5jcmVhdGVIVE1MRG9jdW1lbnQ9ZnVuY3Rpb24oKXt2YXIgYT1kLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIikuYm9keTtyZXR1cm4gYS5pbm5lckhUTUw9Ijxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0-IiwyPT09YS5jaGlsZE5vZGVzLmxlbmd0aH0oKSxyLnBhcnNlSFRNTD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhKXJldHVybltdOyJib29sZWFuIj09dHlwZW9mIGImJihjPWIsYj0hMSk7dmFyIGUsZixnO3JldHVybiBifHwoby5jcmVhdGVIVE1MRG9jdW1lbnQ_KGI9ZC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGU9Yi5jcmVhdGVFbGVtZW50KCJiYXNlIiksZS5ocmVmPWQubG9jYXRpb24uaHJlZixiLmhlYWQuYXBwZW5kQ2hpbGQoZSkpOmI9ZCksZj1DLmV4ZWMoYSksZz0hYyYmW10sZj9bYi5jcmVhdGVFbGVtZW50KGZbMV0pXTooZj1xYShbYV0sYixnKSxnJiZnLmxlbmd0aCYmcihnKS5yZW1vdmUoKSxyLm1lcmdlKFtdLGYuY2hpbGROb2RlcykpfSxyLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPXIuY3NzKGEsInBvc2l0aW9uIiksbD1yKGEpLG09e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1yLmNzcyhhLCJ0b3AiKSxpPXIuY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiYoZitpKS5pbmRleE9mKCJhdXRvIik-LTEsaj8oZD1sLnBvc2l0aW9uKCksZz1kLnRvcCxlPWQubGVmdCk6KGc9cGFyc2VGbG9hdChmKXx8MCxlPXBhcnNlRmxvYXQoaSl8fDApLHIuaXNGdW5jdGlvbihiKSYmKGI9Yi5jYWxsKGEsYyxyLmV4dGVuZCh7fSxoKSkpLG51bGwhPWIudG9wJiYobS50b3A9Yi50b3AtaC50b3ArZyksbnVsbCE9Yi5sZWZ0JiYobS5sZWZ0PWIubGVmdC1oLmxlZnQrZSksInVzaW5nImluIGI_Yi51c2luZy5jYWxsKGEsbSk6bC5jc3MobSl9fSxyLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKGEpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PWE_dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oYil7ci5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYSxiKX0pO3ZhciBiLGMsZCxlLGY9dGhpc1swXTtpZihmKXJldHVybiBmLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyhkPWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYj1mLm93bmVyRG9jdW1lbnQsYz1iLmRvY3VtZW50RWxlbWVudCxlPWIuZGVmYXVsdFZpZXcse3RvcDpkLnRvcCtlLnBhZ2VZT2Zmc2V0LWMuY2xpZW50VG9wLGxlZnQ6ZC5sZWZ0K2UucGFnZVhPZmZzZXQtYy5jbGllbnRMZWZ0fSk6e3RvcDowLGxlZnQ6MH19LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGEsYixjPXRoaXNbMF0sZD17dG9wOjAsbGVmdDowfTtyZXR1cm4iZml4ZWQiPT09ci5jc3MoYywicG9zaXRpb24iKT9iPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGE9dGhpcy5vZmZzZXRQYXJlbnQoKSxiPXRoaXMub2Zmc2V0KCksQihhWzBdLCJodG1sIil8fChkPWEub2Zmc2V0KCkpLGQ9e3RvcDpkLnRvcCtyLmNzcyhhWzBdLCJib3JkZXJUb3BXaWR0aCIsITApLGxlZnQ6ZC5sZWZ0K3IuY3NzKGFbMF0sImJvcmRlckxlZnRXaWR0aCIsITApfSkse3RvcDpiLnRvcC1kLnRvcC1yLmNzcyhjLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1kLmxlZnQtci5jc3MoYywibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50O3doaWxlKGEmJiJzdGF0aWMiPT09ci5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxyYX0pfX0pLHIuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPSJwYWdlWU9mZnNldCI9PT1iO3IuZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFQodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY7cmV0dXJuIHIuaXNXaW5kb3coYSk_Zj1hOjk9PT1hLm5vZGVUeXBlJiYoZj1hLmRlZmF1bHRWaWV3KSx2b2lkIDA9PT1lP2Y_ZltiXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM_Zi5wYWdlWE9mZnNldDplLGM_ZTpmLnBhZ2VZT2Zmc2V0KTphW2RdPWUpfSxhLGQsYXJndW1lbnRzLmxlbmd0aCl9fSksci5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7ci5jc3NIb29rc1tiXT1QYShvLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtpZihjKXJldHVybiBjPU9hKGEsYiksTWEudGVzdChjKT9yKGEpLnBvc2l0aW9uKClbYl0rInB4IjpjfSl9KSxyLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe3IuZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXtyLmZuW2RdPWZ1bmN0aW9uKGUsZil7dmFyIGc9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGUpLGg9Y3x8KGU9PT0hMHx8Zj09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVCh0aGlzLGZ1bmN0aW9uKGIsYyxlKXt2YXIgZjtyZXR1cm4gci5pc1dpbmRvdyhiKT8wPT09ZC5pbmRleE9mKCJvdXRlciIpP2JbImlubmVyIithXTpiLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZj1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZlsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZlsib2Zmc2V0IithXSxmWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZT9yLmNzcyhiLGMsaCk6ci5zdHlsZShiLGMsZSxoKX0sYixnP2U6dm9pZCAwLGcpfX0pfSksci5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhfHwiKioiLGMpfX0pLHIuaG9sZFJlYWR5PWZ1bmN0aW9uKGEpe2E_ci5yZWFkeVdhaXQrKzpyLnJlYWR5KCEwKX0sci5pc0FycmF5PUFycmF5LmlzQXJyYXksci5wYXJzZUpTT049SlNPTi5wYXJzZSxyLm5vZGVOYW1lPUIsImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KTt2YXIgbWI9YS5qUXVlcnksbmI9YS4kO3JldHVybiByLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PXImJihhLiQ9bmIpLGImJmEualF1ZXJ5PT09ciYmKGEualF1ZXJ5PW1iKSxyfSxifHwoYS5qUXVlcnk9YS4kPXIpLHJ9KTsNCg","popper.min.js":"DQovKg0KIENvcHlyaWdodCAoQykgRmVkZXJpY28gWml2b2xvIDIwMTcNCiBEaXN0cmlidXRlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKGxpY2Vuc2UgdGVybXMgYXJlIGF0IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQpLg0KICovKGZ1bmN0aW9uKGUsdCl7J29iamVjdCc9PXR5cGVvZiBleHBvcnRzJiYndW5kZWZpbmVkJyE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6J2Z1bmN0aW9uJz09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6ZS5Qb3BwZXI9dCgpfSkodGhpcyxmdW5jdGlvbigpeyd1c2Ugc3RyaWN0JztmdW5jdGlvbiBlKGUpe3JldHVybiBlJiYnW29iamVjdCBGdW5jdGlvbl0nPT09e30udG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiB0KGUsdCl7aWYoMSE9PWUubm9kZVR5cGUpcmV0dXJuW107dmFyIG89Z2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpO3JldHVybiB0P29bdF06b31mdW5jdGlvbiBvKGUpe3JldHVybidIVE1MJz09PWUubm9kZU5hbWU_ZTplLnBhcmVudE5vZGV8fGUuaG9zdH1mdW5jdGlvbiBuKGUpe2lmKCFlKXJldHVybiBkb2N1bWVudC5ib2R5O3N3aXRjaChlLm5vZGVOYW1lKXtjYXNlJ0hUTUwnOmNhc2UnQk9EWSc6cmV0dXJuIGUub3duZXJEb2N1bWVudC5ib2R5O2Nhc2UnI2RvY3VtZW50JzpyZXR1cm4gZS5ib2R5O312YXIgaT10KGUpLHI9aS5vdmVyZmxvdyxwPWkub3ZlcmZsb3dYLHM9aS5vdmVyZmxvd1k7cmV0dXJuIC8oYXV0b3xzY3JvbGwpLy50ZXN0KHIrcytwKT9lOm4obyhlKSl9ZnVuY3Rpb24gcihlKXt2YXIgbz1lJiZlLm9mZnNldFBhcmVudCxpPW8mJm8ubm9kZU5hbWU7cmV0dXJuIGkmJidCT0RZJyE9PWkmJidIVE1MJyE9PWk_LTEhPT1bJ1REJywnVEFCTEUnXS5pbmRleE9mKG8ubm9kZU5hbWUpJiYnc3RhdGljJz09PXQobywncG9zaXRpb24nKT9yKG8pOm86ZT9lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBwKGUpe3ZhciB0PWUubm9kZU5hbWU7cmV0dXJuJ0JPRFknIT09dCYmKCdIVE1MJz09PXR8fHIoZS5maXJzdEVsZW1lbnRDaGlsZCk9PT1lKX1mdW5jdGlvbiBzKGUpe3JldHVybiBudWxsPT09ZS5wYXJlbnROb2RlP2U6cyhlLnBhcmVudE5vZGUpfWZ1bmN0aW9uIGQoZSx0KXtpZighZXx8IWUubm9kZVR5cGV8fCF0fHwhdC5ub2RlVHlwZSlyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBvPWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcsaT1vP2U6dCxuPW8_dDplLGE9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTthLnNldFN0YXJ0KGksMCksYS5zZXRFbmQobiwwKTt2YXIgbD1hLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyO2lmKGUhPT1sJiZ0IT09bHx8aS5jb250YWlucyhuKSlyZXR1cm4gcChsKT9sOnIobCk7dmFyIGY9cyhlKTtyZXR1cm4gZi5ob3N0P2QoZi5ob3N0LHQpOmQoZSxzKHQpLmhvc3QpfWZ1bmN0aW9uIGEoZSl7dmFyIHQ9MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0_YXJndW1lbnRzWzFdOid0b3AnLG89J3RvcCc9PT10PydzY3JvbGxUb3AnOidzY3JvbGxMZWZ0JyxpPWUubm9kZU5hbWU7aWYoJ0JPRFknPT09aXx8J0hUTUwnPT09aSl7dmFyIG49ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxyPWUub3duZXJEb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50fHxuO3JldHVybiByW29dfXJldHVybiBlW29dfWZ1bmN0aW9uIGwoZSx0KXt2YXIgbz0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXSYmYXJndW1lbnRzWzJdLGk9YSh0LCd0b3AnKSxuPWEodCwnbGVmdCcpLHI9bz8tMToxO3JldHVybiBlLnRvcCs9aSpyLGUuYm90dG9tKz1pKnIsZS5sZWZ0Kz1uKnIsZS5yaWdodCs9bipyLGV9ZnVuY3Rpb24gZihlLHQpe3ZhciBvPSd4Jz09PXQ_J0xlZnQnOidUb3AnLGk9J0xlZnQnPT1vPydSaWdodCc6J0JvdHRvbSc7cmV0dXJuIHBhcnNlRmxvYXQoZVsnYm9yZGVyJytvKydXaWR0aCddLDEwKStwYXJzZUZsb2F0KGVbJ2JvcmRlcicraSsnV2lkdGgnXSwxMCl9ZnVuY3Rpb24gbShlLHQsbyxpKXtyZXR1cm4gSih0WydvZmZzZXQnK2VdLHRbJ3Njcm9sbCcrZV0sb1snY2xpZW50JytlXSxvWydvZmZzZXQnK2VdLG9bJ3Njcm9sbCcrZV0saWUoKT9vWydvZmZzZXQnK2VdK2lbJ21hcmdpbicrKCdIZWlnaHQnPT09ZT8nVG9wJzonTGVmdCcpXStpWydtYXJnaW4nKygnSGVpZ2h0Jz09PWU_J0JvdHRvbSc6J1JpZ2h0JyldOjApfWZ1bmN0aW9uIGgoKXt2YXIgZT1kb2N1bWVudC5ib2R5LHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG89aWUoKSYmZ2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm57aGVpZ2h0Om0oJ0hlaWdodCcsZSx0LG8pLHdpZHRoOm0oJ1dpZHRoJyxlLHQsbyl9fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHNlKHt9LGUse3JpZ2h0OmUubGVmdCtlLndpZHRoLGJvdHRvbTplLnRvcCtlLmhlaWdodH0pfWZ1bmN0aW9uIGcoZSl7dmFyIG89e307aWYoaWUoKSl0cnl7bz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBpPWEoZSwndG9wJyksbj1hKGUsJ2xlZnQnKTtvLnRvcCs9aSxvLmxlZnQrPW4sby5ib3R0b20rPWksby5yaWdodCs9bn1jYXRjaChlKXt9ZWxzZSBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dmFyIHI9e2xlZnQ6by5sZWZ0LHRvcDpvLnRvcCx3aWR0aDpvLnJpZ2h0LW8ubGVmdCxoZWlnaHQ6by5ib3R0b20tby50b3B9LHA9J0hUTUwnPT09ZS5ub2RlTmFtZT9oKCk6e30scz1wLndpZHRofHxlLmNsaWVudFdpZHRofHxyLnJpZ2h0LXIubGVmdCxkPXAuaGVpZ2h0fHxlLmNsaWVudEhlaWdodHx8ci5ib3R0b20tci50b3AsbD1lLm9mZnNldFdpZHRoLXMsbT1lLm9mZnNldEhlaWdodC1kO2lmKGx8fG0pe3ZhciBnPXQoZSk7bC09ZihnLCd4JyksbS09ZihnLCd5Jyksci53aWR0aC09bCxyLmhlaWdodC09bX1yZXR1cm4gYyhyKX1mdW5jdGlvbiB1KGUsbyl7dmFyIGk9aWUoKSxyPSdIVE1MJz09PW8ubm9kZU5hbWUscD1nKGUpLHM9ZyhvKSxkPW4oZSksYT10KG8pLGY9cGFyc2VGbG9hdChhLmJvcmRlclRvcFdpZHRoLDEwKSxtPXBhcnNlRmxvYXQoYS5ib3JkZXJMZWZ0V2lkdGgsMTApLGg9Yyh7dG9wOnAudG9wLXMudG9wLWYsbGVmdDpwLmxlZnQtcy5sZWZ0LW0sd2lkdGg6cC53aWR0aCxoZWlnaHQ6cC5oZWlnaHR9KTtpZihoLm1hcmdpblRvcD0wLGgubWFyZ2luTGVmdD0wLCFpJiZyKXt2YXIgdT1wYXJzZUZsb2F0KGEubWFyZ2luVG9wLDEwKSxiPXBhcnNlRmxvYXQoYS5tYXJnaW5MZWZ0LDEwKTtoLnRvcC09Zi11LGguYm90dG9tLT1mLXUsaC5sZWZ0LT1tLWIsaC5yaWdodC09bS1iLGgubWFyZ2luVG9wPXUsaC5tYXJnaW5MZWZ0PWJ9cmV0dXJuKGk_by5jb250YWlucyhkKTpvPT09ZCYmJ0JPRFknIT09ZC5ub2RlTmFtZSkmJihoPWwoaCxvKSksaH1mdW5jdGlvbiBiKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbz11KGUsdCksaT1KKHQuY2xpZW50V2lkdGgsd2luZG93LmlubmVyV2lkdGh8fDApLG49Sih0LmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApLHI9YSh0KSxwPWEodCwnbGVmdCcpLHM9e3RvcDpyLW8udG9wK28ubWFyZ2luVG9wLGxlZnQ6cC1vLmxlZnQrby5tYXJnaW5MZWZ0LHdpZHRoOmksaGVpZ2h0Om59O3JldHVybiBjKHMpfWZ1bmN0aW9uIHcoZSl7dmFyIGk9ZS5ub2RlTmFtZTtyZXR1cm4nQk9EWSc9PT1pfHwnSFRNTCc9PT1pPyExOidmaXhlZCc9PT10KGUsJ3Bvc2l0aW9uJyl8fHcobyhlKSl9ZnVuY3Rpb24geShlLHQsaSxyKXt2YXIgcD17dG9wOjAsbGVmdDowfSxzPWQoZSx0KTtpZigndmlld3BvcnQnPT09cilwPWIocyk7ZWxzZXt2YXIgYTsnc2Nyb2xsUGFyZW50Jz09PXI_KGE9bihvKHQpKSwnQk9EWSc9PT1hLm5vZGVOYW1lJiYoYT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSk6J3dpbmRvdyc9PT1yP2E9ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDphPXI7dmFyIGw9dShhLHMpO2lmKCdIVE1MJz09PWEubm9kZU5hbWUmJiF3KHMpKXt2YXIgZj1oKCksbT1mLmhlaWdodCxjPWYud2lkdGg7cC50b3ArPWwudG9wLWwubWFyZ2luVG9wLHAuYm90dG9tPW0rbC50b3AscC5sZWZ0Kz1sLmxlZnQtbC5tYXJnaW5MZWZ0LHAucmlnaHQ9YytsLmxlZnR9ZWxzZSBwPWx9cmV0dXJuIHAubGVmdCs9aSxwLnRvcCs9aSxwLnJpZ2h0LT1pLHAuYm90dG9tLT1pLHB9ZnVuY3Rpb24gRShlKXt2YXIgdD1lLndpZHRoLG89ZS5oZWlnaHQ7cmV0dXJuIHQqb31mdW5jdGlvbiB2KGUsdCxvLGksbil7dmFyIHI9NTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0_YXJndW1lbnRzWzVdOjA7aWYoLTE9PT1lLmluZGV4T2YoJ2F1dG8nKSlyZXR1cm4gZTt2YXIgcD15KG8saSxyLG4pLHM9e3RvcDp7d2lkdGg6cC53aWR0aCxoZWlnaHQ6dC50b3AtcC50b3B9LHJpZ2h0Ont3aWR0aDpwLnJpZ2h0LXQucmlnaHQsaGVpZ2h0OnAuaGVpZ2h0fSxib3R0b206e3dpZHRoOnAud2lkdGgsaGVpZ2h0OnAuYm90dG9tLXQuYm90dG9tfSxsZWZ0Ont3aWR0aDp0LmxlZnQtcC5sZWZ0LGhlaWdodDpwLmhlaWdodH19LGQ9T2JqZWN0LmtleXMocykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBzZSh7a2V5OmV9LHNbZV0se2FyZWE6RShzW2VdKX0pfSkuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiB0LmFyZWEtZS5hcmVhfSksYT1kLmZpbHRlcihmdW5jdGlvbihlKXt2YXIgdD1lLndpZHRoLGk9ZS5oZWlnaHQ7cmV0dXJuIHQ-PW8uY2xpZW50V2lkdGgmJmk-PW8uY2xpZW50SGVpZ2h0fSksbD0wPGEubGVuZ3RoP2FbMF0ua2V5OmRbMF0ua2V5LGY9ZS5zcGxpdCgnLScpWzFdO3JldHVybiBsKyhmPyctJytmOicnKX1mdW5jdGlvbiBPKGUsdCxvKXt2YXIgaT1kKHQsbyk7cmV0dXJuIHUobyxpKX1mdW5jdGlvbiBMKGUpe3ZhciB0PWdldENvbXB1dGVkU3R5bGUoZSksbz1wYXJzZUZsb2F0KHQubWFyZ2luVG9wKStwYXJzZUZsb2F0KHQubWFyZ2luQm90dG9tKSxpPXBhcnNlRmxvYXQodC5tYXJnaW5MZWZ0KStwYXJzZUZsb2F0KHQubWFyZ2luUmlnaHQpLG49e3dpZHRoOmUub2Zmc2V0V2lkdGgraSxoZWlnaHQ6ZS5vZmZzZXRIZWlnaHQrb307cmV0dXJuIG59ZnVuY3Rpb24geChlKXt2YXIgdD17bGVmdDoncmlnaHQnLHJpZ2h0OidsZWZ0Jyxib3R0b206J3RvcCcsdG9wOidib3R0b20nfTtyZXR1cm4gZS5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZyxmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pfWZ1bmN0aW9uIFMoZSx0LG8pe289by5zcGxpdCgnLScpWzBdO3ZhciBpPUwoZSksbj17d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9LHI9LTEhPT1bJ3JpZ2h0JywnbGVmdCddLmluZGV4T2YobykscD1yPyd0b3AnOidsZWZ0JyxzPXI_J2xlZnQnOid0b3AnLGQ9cj8naGVpZ2h0Jzond2lkdGgnLGE9cj8nd2lkdGgnOidoZWlnaHQnO3JldHVybiBuW3BdPXRbcF0rdFtkXS8yLWlbZF0vMixuW3NdPW89PT1zP3Rbc10taVthXTp0W3gocyldLG59ZnVuY3Rpb24gVChlLHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmluZD9lLmZpbmQodCk6ZS5maWx0ZXIodClbMF19ZnVuY3Rpb24gRChlLHQsbyl7aWYoQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleClyZXR1cm4gZS5maW5kSW5kZXgoZnVuY3Rpb24oZSl7cmV0dXJuIGVbdF09PT1vfSk7dmFyIGk9VChlLGZ1bmN0aW9uKGUpe3JldHVybiBlW3RdPT09b30pO3JldHVybiBlLmluZGV4T2YoaSl9ZnVuY3Rpb24gQyh0LG8saSl7dmFyIG49dm9pZCAwPT09aT90OnQuc2xpY2UoMCxEKHQsJ25hbWUnLGkpKTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe3RbJ2Z1bmN0aW9uJ10mJmNvbnNvbGUud2FybignYG1vZGlmaWVyLmZ1bmN0aW9uYCBpcyBkZXByZWNhdGVkLCB1c2UgYG1vZGlmaWVyLmZuYCEnKTt2YXIgaT10WydmdW5jdGlvbiddfHx0LmZuO3QuZW5hYmxlZCYmZShpKSYmKG8ub2Zmc2V0cy5wb3BwZXI9YyhvLm9mZnNldHMucG9wcGVyKSxvLm9mZnNldHMucmVmZXJlbmNlPWMoby5vZmZzZXRzLnJlZmVyZW5jZSksbz1pKG8sdCkpfSksb31mdW5jdGlvbiBOKCl7aWYoIXRoaXMuc3RhdGUuaXNEZXN0cm95ZWQpe3ZhciBlPXtpbnN0YW5jZTp0aGlzLHN0eWxlczp7fSxhcnJvd1N0eWxlczp7fSxhdHRyaWJ1dGVzOnt9LGZsaXBwZWQ6ITEsb2Zmc2V0czp7fX07ZS5vZmZzZXRzLnJlZmVyZW5jZT1PKHRoaXMuc3RhdGUsdGhpcy5wb3BwZXIsdGhpcy5yZWZlcmVuY2UpLGUucGxhY2VtZW50PXYodGhpcy5vcHRpb25zLnBsYWNlbWVudCxlLm9mZnNldHMucmVmZXJlbmNlLHRoaXMucG9wcGVyLHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCx0aGlzLm9wdGlvbnMubW9kaWZpZXJzLmZsaXAucGFkZGluZyksZS5vcmlnaW5hbFBsYWNlbWVudD1lLnBsYWNlbWVudCxlLm9mZnNldHMucG9wcGVyPVModGhpcy5wb3BwZXIsZS5vZmZzZXRzLnJlZmVyZW5jZSxlLnBsYWNlbWVudCksZS5vZmZzZXRzLnBvcHBlci5wb3NpdGlvbj0nYWJzb2x1dGUnLGU9Qyh0aGlzLm1vZGlmaWVycyxlKSx0aGlzLnN0YXRlLmlzQ3JlYXRlZD90aGlzLm9wdGlvbnMub25VcGRhdGUoZSk6KHRoaXMuc3RhdGUuaXNDcmVhdGVkPSEwLHRoaXMub3B0aW9ucy5vbkNyZWF0ZShlKSl9fWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5zb21lKGZ1bmN0aW9uKGUpe3ZhciBvPWUubmFtZSxpPWUuZW5hYmxlZDtyZXR1cm4gaSYmbz09PXR9KX1mdW5jdGlvbiBXKGUpe2Zvcih2YXIgdD1bITEsJ21zJywnV2Via2l0JywnTW96JywnTyddLG89ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49MDtuPHQubGVuZ3RoLTE7bisrKXt2YXIgaT10W25dLHI9aT8nJytpK286ZTtpZigndW5kZWZpbmVkJyE9dHlwZW9mIGRvY3VtZW50LmJvZHkuc3R5bGVbcl0pcmV0dXJuIHJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUCgpe3JldHVybiB0aGlzLnN0YXRlLmlzRGVzdHJveWVkPSEwLGsodGhpcy5tb2RpZmllcnMsJ2FwcGx5U3R5bGUnKSYmKHRoaXMucG9wcGVyLnJlbW92ZUF0dHJpYnV0ZSgneC1wbGFjZW1lbnQnKSx0aGlzLnBvcHBlci5zdHlsZS5sZWZ0PScnLHRoaXMucG9wcGVyLnN0eWxlLnBvc2l0aW9uPScnLHRoaXMucG9wcGVyLnN0eWxlLnRvcD0nJyx0aGlzLnBvcHBlci5zdHlsZVtXKCd0cmFuc2Zvcm0nKV09JycpLHRoaXMuZGlzYWJsZUV2ZW50TGlzdGVuZXJzKCksdGhpcy5vcHRpb25zLnJlbW92ZU9uRGVzdHJveSYmdGhpcy5wb3BwZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBvcHBlciksdGhpc31mdW5jdGlvbiBCKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudDtyZXR1cm4gdD90LmRlZmF1bHRWaWV3OndpbmRvd31mdW5jdGlvbiBIKGUsdCxvLGkpe3ZhciByPSdCT0RZJz09PWUubm9kZU5hbWUscD1yP2Uub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldzplO3AuYWRkRXZlbnRMaXN0ZW5lcih0LG8se3Bhc3NpdmU6ITB9KSxyfHxIKG4ocC5wYXJlbnROb2RlKSx0LG8saSksaS5wdXNoKHApfWZ1bmN0aW9uIEEoZSx0LG8saSl7by51cGRhdGVCb3VuZD1pLEIoZSkuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJyxvLnVwZGF0ZUJvdW5kLHtwYXNzaXZlOiEwfSk7dmFyIHI9bihlKTtyZXR1cm4gSChyLCdzY3JvbGwnLG8udXBkYXRlQm91bmQsby5zY3JvbGxQYXJlbnRzKSxvLnNjcm9sbEVsZW1lbnQ9cixvLmV2ZW50c0VuYWJsZWQ9ITAsb31mdW5jdGlvbiBJKCl7dGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkfHwodGhpcy5zdGF0ZT1BKHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucyx0aGlzLnN0YXRlLHRoaXMuc2NoZWR1bGVVcGRhdGUpKX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuIEIoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJyx0LnVwZGF0ZUJvdW5kKSx0LnNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsdC51cGRhdGVCb3VuZCl9KSx0LnVwZGF0ZUJvdW5kPW51bGwsdC5zY3JvbGxQYXJlbnRzPVtdLHQuc2Nyb2xsRWxlbWVudD1udWxsLHQuZXZlbnRzRW5hYmxlZD0hMSx0fWZ1bmN0aW9uIFIoKXt0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnNjaGVkdWxlVXBkYXRlKSx0aGlzLnN0YXRlPU0odGhpcy5yZWZlcmVuY2UsdGhpcy5zdGF0ZSkpfWZ1bmN0aW9uIFUoZSl7cmV0dXJuJychPT1lJiYhaXNOYU4ocGFyc2VGbG9hdChlKSkmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIFkoZSx0KXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBpPScnOy0xIT09Wyd3aWR0aCcsJ2hlaWdodCcsJ3RvcCcsJ3JpZ2h0JywnYm90dG9tJywnbGVmdCddLmluZGV4T2YobykmJlUodFtvXSkmJihpPSdweCcpLGUuc3R5bGVbb109dFtvXStpfSl9ZnVuY3Rpb24gaihlLHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24obyl7dmFyIGk9dFtvXTshMT09PWk_ZS5yZW1vdmVBdHRyaWJ1dGUobyk6ZS5zZXRBdHRyaWJ1dGUobyx0W29dKX0pfWZ1bmN0aW9uIEYoZSx0LG8pe3ZhciBpPVQoZSxmdW5jdGlvbihlKXt2YXIgbz1lLm5hbWU7cmV0dXJuIG89PT10fSksbj0hIWkmJmUuc29tZShmdW5jdGlvbihlKXtyZXR1cm4gZS5uYW1lPT09byYmZS5lbmFibGVkJiZlLm9yZGVyPGkub3JkZXJ9KTtpZighbil7dmFyIHI9J2AnK3QrJ2AnO2NvbnNvbGUud2FybignYCcrbysnYCcrJyBtb2RpZmllciBpcyByZXF1aXJlZCBieSAnK3IrJyBtb2RpZmllciBpbiBvcmRlciB0byB3b3JrLCBiZSBzdXJlIHRvIGluY2x1ZGUgaXQgYmVmb3JlICcrcisnIScpfXJldHVybiBufWZ1bmN0aW9uIEsoZSl7cmV0dXJuJ2VuZCc9PT1lPydzdGFydCc6J3N0YXJ0Jz09PWU_J2VuZCc6ZX1mdW5jdGlvbiBxKGUpe3ZhciB0PTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0sbz1hZS5pbmRleE9mKGUpLGk9YWUuc2xpY2UobysxKS5jb25jYXQoYWUuc2xpY2UoMCxvKSk7cmV0dXJuIHQ_aS5yZXZlcnNlKCk6aX1mdW5jdGlvbiBWKGUsdCxvLGkpe3ZhciBuPWUubWF0Y2goLygoPzpcLXxcKyk_XGQqXC4_XGQqKSguKikvKSxyPStuWzFdLHA9blsyXTtpZighcilyZXR1cm4gZTtpZigwPT09cC5pbmRleE9mKCclJykpe3ZhciBzO3N3aXRjaChwKXtjYXNlJyVwJzpzPW87YnJlYWs7Y2FzZSclJzpjYXNlJyVyJzpkZWZhdWx0OnM9aTt9dmFyIGQ9YyhzKTtyZXR1cm4gZFt0XS8xMDAqcn1pZigndmgnPT09cHx8J3Z3Jz09PXApe3ZhciBhO3JldHVybiBhPSd2aCc9PT1wP0ooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApOkooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLHdpbmRvdy5pbm5lcldpZHRofHwwKSxhLzEwMCpyfXJldHVybiByfWZ1bmN0aW9uIHooZSx0LG8saSl7dmFyIG49WzAsMF0scj0tMSE9PVsncmlnaHQnLCdsZWZ0J10uaW5kZXhPZihpKSxwPWUuc3BsaXQoLyhcK3xcLSkvKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbSgpfSkscz1wLmluZGV4T2YoVChwLGZ1bmN0aW9uKGUpe3JldHVybi0xIT09ZS5zZWFyY2goLyx8XHMvKX0pKTtwW3NdJiYtMT09PXBbc10uaW5kZXhPZignLCcpJiZjb25zb2xlLndhcm4oJ09mZnNldHMgc2VwYXJhdGVkIGJ5IHdoaXRlIHNwYWNlKHMpIGFyZSBkZXByZWNhdGVkLCB1c2UgYSBjb21tYSAoLCkgaW5zdGVhZC4nKTt2YXIgZD0vXHMqLFxzKnxccysvLGE9LTE9PT1zP1twXTpbcC5zbGljZSgwLHMpLmNvbmNhdChbcFtzXS5zcGxpdChkKVswXV0pLFtwW3NdLnNwbGl0KGQpWzFdXS5jb25jYXQocC5zbGljZShzKzEpKV07cmV0dXJuIGE9YS5tYXAoZnVuY3Rpb24oZSxpKXt2YXIgbj0oMT09PWk_IXI6cik_J2hlaWdodCc6J3dpZHRoJyxwPSExO3JldHVybiBlLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybicnPT09ZVtlLmxlbmd0aC0xXSYmLTEhPT1bJysnLCctJ10uaW5kZXhPZih0KT8oZVtlLmxlbmd0aC0xXT10LHA9ITAsZSk6cD8oZVtlLmxlbmd0aC0xXSs9dCxwPSExLGUpOmUuY29uY2F0KHQpfSxbXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBWKGUsbix0LG8pfSl9KSxhLmZvckVhY2goZnVuY3Rpb24oZSx0KXtlLmZvckVhY2goZnVuY3Rpb24obyxpKXtVKG8pJiYoblt0XSs9byooJy0nPT09ZVtpLTFdPy0xOjEpKX0pfSksbn1mdW5jdGlvbiBHKGUsdCl7dmFyIG8saT10Lm9mZnNldCxuPWUucGxhY2VtZW50LHI9ZS5vZmZzZXRzLHA9ci5wb3BwZXIscz1yLnJlZmVyZW5jZSxkPW4uc3BsaXQoJy0nKVswXTtyZXR1cm4gbz1VKCtpKT9bK2ksMF06eihpLHAscyxkKSwnbGVmdCc9PT1kPyhwLnRvcCs9b1swXSxwLmxlZnQtPW9bMV0pOidyaWdodCc9PT1kPyhwLnRvcCs9b1swXSxwLmxlZnQrPW9bMV0pOid0b3AnPT09ZD8ocC5sZWZ0Kz1vWzBdLHAudG9wLT1vWzFdKTonYm90dG9tJz09PWQmJihwLmxlZnQrPW9bMF0scC50b3ArPW9bMV0pLGUucG9wcGVyPXAsZX1mb3IodmFyIF89TWF0aC5taW4sWD1NYXRoLmZsb29yLEo9TWF0aC5tYXgsUT0ndW5kZWZpbmVkJyE9dHlwZW9mIHdpbmRvdyYmJ3VuZGVmaW5lZCchPXR5cGVvZiBkb2N1bWVudCxaPVsnRWRnZScsJ1RyaWRlbnQnLCdGaXJlZm94J10sJD0wLGVlPTA7ZWU8Wi5sZW5ndGg7ZWUrPTEpaWYoUSYmMDw9bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFpbZWVdKSl7JD0xO2JyZWFrfXZhciBpLHRlPVEmJndpbmRvdy5Qcm9taXNlLG9lPXRlP2Z1bmN0aW9uKGUpe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe3R8fCh0PSEwLHdpbmRvdy5Qcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7dD0hMSxlKCl9KSl9fTpmdW5jdGlvbihlKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dD0hMSxlKCl9LCQpKX19LGllPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09aSYmKGk9LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCdNU0lFIDEwJykpLGl9LG5lPWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uJyl9LHJlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe2Zvcih2YXIgbyxuPTA7bjx0Lmxlbmd0aDtuKyspbz10W25dLG8uZW51bWVyYWJsZT1vLmVudW1lcmFibGV8fCExLG8uY29uZmlndXJhYmxlPSEwLCd2YWx1ZSdpbiBvJiYoby53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsby5rZXksbyl9cmV0dXJuIGZ1bmN0aW9uKHQsbyxpKXtyZXR1cm4gbyYmZSh0LnByb3RvdHlwZSxvKSxpJiZlKHQsaSksdH19KCkscGU9ZnVuY3Rpb24oZSx0LG8pe3JldHVybiB0IGluIGU_T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6byxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09byxlfSxzZT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQsbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW29dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxkZT1bJ2F1dG8tc3RhcnQnLCdhdXRvJywnYXV0by1lbmQnLCd0b3Atc3RhcnQnLCd0b3AnLCd0b3AtZW5kJywncmlnaHQtc3RhcnQnLCdyaWdodCcsJ3JpZ2h0LWVuZCcsJ2JvdHRvbS1lbmQnLCdib3R0b20nLCdib3R0b20tc3RhcnQnLCdsZWZ0LWVuZCcsJ2xlZnQnLCdsZWZ0LXN0YXJ0J10sYWU9ZGUuc2xpY2UoMyksbGU9e0ZMSVA6J2ZsaXAnLENMT0NLV0lTRTonY2xvY2t3aXNlJyxDT1VOVEVSQ0xPQ0tXSVNFOidjb3VudGVyY2xvY2t3aXNlJ30sZmU9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KG8saSl7dmFyIG49dGhpcyxyPTI8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtuZSh0aGlzLHQpLHRoaXMuc2NoZWR1bGVVcGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG4udXBkYXRlKX0sdGhpcy51cGRhdGU9b2UodGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5vcHRpb25zPXNlKHt9LHQuRGVmYXVsdHMsciksdGhpcy5zdGF0ZT17aXNEZXN0cm95ZWQ6ITEsaXNDcmVhdGVkOiExLHNjcm9sbFBhcmVudHM6W119LHRoaXMucmVmZXJlbmNlPW8mJm8uanF1ZXJ5P29bMF06byx0aGlzLnBvcHBlcj1pJiZpLmpxdWVyeT9pWzBdOmksdGhpcy5vcHRpb25zLm1vZGlmaWVycz17fSxPYmplY3Qua2V5cyhzZSh7fSx0LkRlZmF1bHRzLm1vZGlmaWVycyxyLm1vZGlmaWVycykpLmZvckVhY2goZnVuY3Rpb24oZSl7bi5vcHRpb25zLm1vZGlmaWVyc1tlXT1zZSh7fSx0LkRlZmF1bHRzLm1vZGlmaWVyc1tlXXx8e30sci5tb2RpZmllcnM_ci5tb2RpZmllcnNbZV06e30pfSksdGhpcy5tb2RpZmllcnM9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLm1vZGlmaWVycykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBzZSh7bmFtZTplfSxuLm9wdGlvbnMubW9kaWZpZXJzW2VdKX0pLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5vcmRlci10Lm9yZGVyfSksdGhpcy5tb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmVuYWJsZWQmJmUodC5vbkxvYWQpJiZ0Lm9uTG9hZChuLnJlZmVyZW5jZSxuLnBvcHBlcixuLm9wdGlvbnMsdCxuLnN0YXRlKX0pLHRoaXMudXBkYXRlKCk7dmFyIHA9dGhpcy5vcHRpb25zLmV2ZW50c0VuYWJsZWQ7cCYmdGhpcy5lbmFibGVFdmVudExpc3RlbmVycygpLHRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZD1wfXJldHVybiByZSh0LFt7a2V5Oid1cGRhdGUnLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIE4uY2FsbCh0aGlzKX19LHtrZXk6J2Rlc3Ryb3knLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIFAuY2FsbCh0aGlzKX19LHtrZXk6J2VuYWJsZUV2ZW50TGlzdGVuZXJzJyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBJLmNhbGwodGhpcyl9fSx7a2V5OidkaXNhYmxlRXZlbnRMaXN0ZW5lcnMnLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIFIuY2FsbCh0aGlzKX19XSksdH0oKTtyZXR1cm4gZmUuVXRpbHM9KCd1bmRlZmluZWQnPT10eXBlb2Ygd2luZG93P2dsb2JhbDp3aW5kb3cpLlBvcHBlclV0aWxzLGZlLnBsYWNlbWVudHM9ZGUsZmUuRGVmYXVsdHM9e3BsYWNlbWVudDonYm90dG9tJyxldmVudHNFbmFibGVkOiEwLHJlbW92ZU9uRGVzdHJveTohMSxvbkNyZWF0ZTpmdW5jdGlvbigpe30sb25VcGRhdGU6ZnVuY3Rpb24oKXt9LG1vZGlmaWVyczp7c2hpZnQ6e29yZGVyOjEwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe3ZhciB0PWUucGxhY2VtZW50LG89dC5zcGxpdCgnLScpWzBdLGk9dC5zcGxpdCgnLScpWzFdO2lmKGkpe3ZhciBuPWUub2Zmc2V0cyxyPW4ucmVmZXJlbmNlLHA9bi5wb3BwZXIscz0tMSE9PVsnYm90dG9tJywndG9wJ10uaW5kZXhPZihvKSxkPXM_J2xlZnQnOid0b3AnLGE9cz8nd2lkdGgnOidoZWlnaHQnLGw9e3N0YXJ0OnBlKHt9LGQscltkXSksZW5kOnBlKHt9LGQscltkXStyW2FdLXBbYV0pfTtlLm9mZnNldHMucG9wcGVyPXNlKHt9LHAsbFtpXSl9cmV0dXJuIGV9fSxvZmZzZXQ6e29yZGVyOjIwMCxlbmFibGVkOiEwLGZuOkcsb2Zmc2V0OjB9LHByZXZlbnRPdmVyZmxvdzp7b3JkZXI6MzAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSx0KXt2YXIgbz10LmJvdW5kYXJpZXNFbGVtZW50fHxyKGUuaW5zdGFuY2UucG9wcGVyKTtlLmluc3RhbmNlLnJlZmVyZW5jZT09PW8mJihvPXIobykpO3ZhciBpPXkoZS5pbnN0YW5jZS5wb3BwZXIsZS5pbnN0YW5jZS5yZWZlcmVuY2UsdC5wYWRkaW5nLG8pO3QuYm91bmRhcmllcz1pO3ZhciBuPXQucHJpb3JpdHkscD1lLm9mZnNldHMucG9wcGVyLHM9e3ByaW1hcnk6ZnVuY3Rpb24oZSl7dmFyIG89cFtlXTtyZXR1cm4gcFtlXTxpW2VdJiYhdC5lc2NhcGVXaXRoUmVmZXJlbmNlJiYobz1KKHBbZV0saVtlXSkpLHBlKHt9LGUsbyl9LHNlY29uZGFyeTpmdW5jdGlvbihlKXt2YXIgbz0ncmlnaHQnPT09ZT8nbGVmdCc6J3RvcCcsbj1wW29dO3JldHVybiBwW2VdPmlbZV0mJiF0LmVzY2FwZVdpdGhSZWZlcmVuY2UmJihuPV8ocFtvXSxpW2VdLSgncmlnaHQnPT09ZT9wLndpZHRoOnAuaGVpZ2h0KSkpLHBlKHt9LG8sbil9fTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PS0xPT09WydsZWZ0JywndG9wJ10uaW5kZXhPZihlKT8nc2Vjb25kYXJ5JzoncHJpbWFyeSc7cD1zZSh7fSxwLHNbdF0oZSkpfSksZS5vZmZzZXRzLnBvcHBlcj1wLGV9LHByaW9yaXR5OlsnbGVmdCcsJ3JpZ2h0JywndG9wJywnYm90dG9tJ10scGFkZGluZzo1LGJvdW5kYXJpZXNFbGVtZW50OidzY3JvbGxQYXJlbnQnfSxrZWVwVG9nZXRoZXI6e29yZGVyOjQwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0cyxvPXQucG9wcGVyLGk9dC5yZWZlcmVuY2Usbj1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLHI9WCxwPS0xIT09Wyd0b3AnLCdib3R0b20nXS5pbmRleE9mKG4pLHM9cD8ncmlnaHQnOidib3R0b20nLGQ9cD8nbGVmdCc6J3RvcCcsYT1wPyd3aWR0aCc6J2hlaWdodCc7cmV0dXJuIG9bc108cihpW2RdKSYmKGUub2Zmc2V0cy5wb3BwZXJbZF09cihpW2RdKS1vW2FdKSxvW2RdPnIoaVtzXSkmJihlLm9mZnNldHMucG9wcGVyW2RdPXIoaVtzXSkpLGV9fSxhcnJvdzp7b3JkZXI6NTAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSxvKXt2YXIgaTtpZighRihlLmluc3RhbmNlLm1vZGlmaWVycywnYXJyb3cnLCdrZWVwVG9nZXRoZXInKSlyZXR1cm4gZTt2YXIgbj1vLmVsZW1lbnQ7aWYoJ3N0cmluZyc9PXR5cGVvZiBuKXtpZihuPWUuaW5zdGFuY2UucG9wcGVyLnF1ZXJ5U2VsZWN0b3IobiksIW4pcmV0dXJuIGU7fWVsc2UgaWYoIWUuaW5zdGFuY2UucG9wcGVyLmNvbnRhaW5zKG4pKXJldHVybiBjb25zb2xlLndhcm4oJ1dBUk5JTkc6IGBhcnJvdy5lbGVtZW50YCBtdXN0IGJlIGNoaWxkIG9mIGl0cyBwb3BwZXIgZWxlbWVudCEnKSxlO3ZhciByPWUucGxhY2VtZW50LnNwbGl0KCctJylbMF0scD1lLm9mZnNldHMscz1wLnBvcHBlcixkPXAucmVmZXJlbmNlLGE9LTEhPT1bJ2xlZnQnLCdyaWdodCddLmluZGV4T2YociksbD1hPydoZWlnaHQnOid3aWR0aCcsZj1hPydUb3AnOidMZWZ0JyxtPWYudG9Mb3dlckNhc2UoKSxoPWE_J2xlZnQnOid0b3AnLGc9YT8nYm90dG9tJzoncmlnaHQnLHU9TChuKVtsXTtkW2ddLXU8c1ttXSYmKGUub2Zmc2V0cy5wb3BwZXJbbV0tPXNbbV0tKGRbZ10tdSkpLGRbbV0rdT5zW2ddJiYoZS5vZmZzZXRzLnBvcHBlclttXSs9ZFttXSt1LXNbZ10pLGUub2Zmc2V0cy5wb3BwZXI9YyhlLm9mZnNldHMucG9wcGVyKTt2YXIgYj1kW21dK2RbbF0vMi11LzIsdz10KGUuaW5zdGFuY2UucG9wcGVyKSx5PXBhcnNlRmxvYXQod1snbWFyZ2luJytmXSwxMCksRT1wYXJzZUZsb2F0KHdbJ2JvcmRlcicrZisnV2lkdGgnXSwxMCksdj1iLWUub2Zmc2V0cy5wb3BwZXJbbV0teS1FO3JldHVybiB2PUooXyhzW2xdLXUsdiksMCksZS5hcnJvd0VsZW1lbnQ9bixlLm9mZnNldHMuYXJyb3c9KGk9e30scGUoaSxtLE1hdGgucm91bmQodikpLHBlKGksaCwnJyksaSksZX0sZWxlbWVudDonW3gtYXJyb3ddJ30sZmxpcDp7b3JkZXI6NjAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSx0KXtpZihrKGUuaW5zdGFuY2UubW9kaWZpZXJzLCdpbm5lcicpKXJldHVybiBlO2lmKGUuZmxpcHBlZCYmZS5wbGFjZW1lbnQ9PT1lLm9yaWdpbmFsUGxhY2VtZW50KXJldHVybiBlO3ZhciBvPXkoZS5pbnN0YW5jZS5wb3BwZXIsZS5pbnN0YW5jZS5yZWZlcmVuY2UsdC5wYWRkaW5nLHQuYm91bmRhcmllc0VsZW1lbnQpLGk9ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSxuPXgoaSkscj1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzFdfHwnJyxwPVtdO3N3aXRjaCh0LmJlaGF2aW9yKXtjYXNlIGxlLkZMSVA6cD1baSxuXTticmVhaztjYXNlIGxlLkNMT0NLV0lTRTpwPXEoaSk7YnJlYWs7Y2FzZSBsZS5DT1VOVEVSQ0xPQ0tXSVNFOnA9cShpLCEwKTticmVhaztkZWZhdWx0OnA9dC5iZWhhdmlvcjt9cmV0dXJuIHAuZm9yRWFjaChmdW5jdGlvbihzLGQpe2lmKGkhPT1zfHxwLmxlbmd0aD09PWQrMSlyZXR1cm4gZTtpPWUucGxhY2VtZW50LnNwbGl0KCctJylbMF0sbj14KGkpO3ZhciBhPWUub2Zmc2V0cy5wb3BwZXIsbD1lLm9mZnNldHMucmVmZXJlbmNlLGY9WCxtPSdsZWZ0Jz09PWkmJmYoYS5yaWdodCk-ZihsLmxlZnQpfHwncmlnaHQnPT09aSYmZihhLmxlZnQpPGYobC5yaWdodCl8fCd0b3AnPT09aSYmZihhLmJvdHRvbSk-ZihsLnRvcCl8fCdib3R0b20nPT09aSYmZihhLnRvcCk8ZihsLmJvdHRvbSksaD1mKGEubGVmdCk8ZihvLmxlZnQpLGM9ZihhLnJpZ2h0KT5mKG8ucmlnaHQpLGc9ZihhLnRvcCk8ZihvLnRvcCksdT1mKGEuYm90dG9tKT5mKG8uYm90dG9tKSxiPSdsZWZ0Jz09PWkmJmh8fCdyaWdodCc9PT1pJiZjfHwndG9wJz09PWkmJmd8fCdib3R0b20nPT09aSYmdSx3PS0xIT09Wyd0b3AnLCdib3R0b20nXS5pbmRleE9mKGkpLHk9ISF0LmZsaXBWYXJpYXRpb25zJiYodyYmJ3N0YXJ0Jz09PXImJmh8fHcmJidlbmQnPT09ciYmY3x8IXcmJidzdGFydCc9PT1yJiZnfHwhdyYmJ2VuZCc9PT1yJiZ1KTsobXx8Ynx8eSkmJihlLmZsaXBwZWQ9ITAsKG18fGIpJiYoaT1wW2QrMV0pLHkmJihyPUsocikpLGUucGxhY2VtZW50PWkrKHI_Jy0nK3I6JycpLGUub2Zmc2V0cy5wb3BwZXI9c2Uoe30sZS5vZmZzZXRzLnBvcHBlcixTKGUuaW5zdGFuY2UucG9wcGVyLGUub2Zmc2V0cy5yZWZlcmVuY2UsZS5wbGFjZW1lbnQpKSxlPUMoZS5pbnN0YW5jZS5tb2RpZmllcnMsZSwnZmxpcCcpKX0pLGV9LGJlaGF2aW9yOidmbGlwJyxwYWRkaW5nOjUsYm91bmRhcmllc0VsZW1lbnQ6J3ZpZXdwb3J0J30saW5uZXI6e29yZGVyOjcwMCxlbmFibGVkOiExLGZuOmZ1bmN0aW9uKGUpe3ZhciB0PWUucGxhY2VtZW50LG89dC5zcGxpdCgnLScpWzBdLGk9ZS5vZmZzZXRzLG49aS5wb3BwZXIscj1pLnJlZmVyZW5jZSxwPS0xIT09WydsZWZ0JywncmlnaHQnXS5pbmRleE9mKG8pLHM9LTE9PT1bJ3RvcCcsJ2xlZnQnXS5pbmRleE9mKG8pO3JldHVybiBuW3A_J2xlZnQnOid0b3AnXT1yW29dLShzP25bcD8nd2lkdGgnOidoZWlnaHQnXTowKSxlLnBsYWNlbWVudD14KHQpLGUub2Zmc2V0cy5wb3BwZXI9YyhuKSxlfX0saGlkZTp7b3JkZXI6ODAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSl7aWYoIUYoZS5pbnN0YW5jZS5tb2RpZmllcnMsJ2hpZGUnLCdwcmV2ZW50T3ZlcmZsb3cnKSlyZXR1cm4gZTt2YXIgdD1lLm9mZnNldHMucmVmZXJlbmNlLG89VChlLmluc3RhbmNlLm1vZGlmaWVycyxmdW5jdGlvbihlKXtyZXR1cm4ncHJldmVudE92ZXJmbG93Jz09PWUubmFtZX0pLmJvdW5kYXJpZXM7aWYodC5ib3R0b208by50b3B8fHQubGVmdD5vLnJpZ2h0fHx0LnRvcD5vLmJvdHRvbXx8dC5yaWdodDxvLmxlZnQpe2lmKCEwPT09ZS5oaWRlKXJldHVybiBlO2UuaGlkZT0hMCxlLmF0dHJpYnV0ZXNbJ3gtb3V0LW9mLWJvdW5kYXJpZXMnXT0nJ31lbHNle2lmKCExPT09ZS5oaWRlKXJldHVybiBlO2UuaGlkZT0hMSxlLmF0dHJpYnV0ZXNbJ3gtb3V0LW9mLWJvdW5kYXJpZXMnXT0hMX1yZXR1cm4gZX19LGNvbXB1dGVTdHlsZTp7b3JkZXI6ODUwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSx0KXt2YXIgbz10LngsaT10Lnksbj1lLm9mZnNldHMucG9wcGVyLHA9VChlLmluc3RhbmNlLm1vZGlmaWVycyxmdW5jdGlvbihlKXtyZXR1cm4nYXBwbHlTdHlsZSc9PT1lLm5hbWV9KS5ncHVBY2NlbGVyYXRpb247dm9pZCAwIT09cCYmY29uc29sZS53YXJuKCdXQVJOSU5HOiBgZ3B1QWNjZWxlcmF0aW9uYCBvcHRpb24gbW92ZWQgdG8gYGNvbXB1dGVTdHlsZWAgbW9kaWZpZXIgYW5kIHdpbGwgbm90IGJlIHN1cHBvcnRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgUG9wcGVyLmpzIScpO3ZhciBzLGQsYT12b2lkIDA9PT1wP3QuZ3B1QWNjZWxlcmF0aW9uOnAsbD1yKGUuaW5zdGFuY2UucG9wcGVyKSxmPWcobCksbT17cG9zaXRpb246bi5wb3NpdGlvbn0saD17bGVmdDpYKG4ubGVmdCksdG9wOlgobi50b3ApLGJvdHRvbTpYKG4uYm90dG9tKSxyaWdodDpYKG4ucmlnaHQpfSxjPSdib3R0b20nPT09bz8ndG9wJzonYm90dG9tJyx1PSdyaWdodCc9PT1pPydsZWZ0JzoncmlnaHQnLGI9VygndHJhbnNmb3JtJyk7aWYoZD0nYm90dG9tJz09Yz8tZi5oZWlnaHQraC5ib3R0b206aC50b3Ascz0ncmlnaHQnPT11Py1mLndpZHRoK2gucmlnaHQ6aC5sZWZ0LGEmJmIpbVtiXT0ndHJhbnNsYXRlM2QoJytzKydweCwgJytkKydweCwgMCknLG1bY109MCxtW3VdPTAsbS53aWxsQ2hhbmdlPSd0cmFuc2Zvcm0nO2Vsc2V7dmFyIHc9J2JvdHRvbSc9PWM_LTE6MSx5PSdyaWdodCc9PXU_LTE6MTttW2NdPWQqdyxtW3VdPXMqeSxtLndpbGxDaGFuZ2U9YysnLCAnK3V9dmFyIEU9eyJ4LXBsYWNlbWVudCI6ZS5wbGFjZW1lbnR9O3JldHVybiBlLmF0dHJpYnV0ZXM9c2Uoe30sRSxlLmF0dHJpYnV0ZXMpLGUuc3R5bGVzPXNlKHt9LG0sZS5zdHlsZXMpLGUuYXJyb3dTdHlsZXM9c2Uoe30sZS5vZmZzZXRzLmFycm93LGUuYXJyb3dTdHlsZXMpLGV9LGdwdUFjY2VsZXJhdGlvbjohMCx4Oidib3R0b20nLHk6J3JpZ2h0J30sYXBwbHlTdHlsZTp7b3JkZXI6OTAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSl7cmV0dXJuIFkoZS5pbnN0YW5jZS5wb3BwZXIsZS5zdHlsZXMpLGooZS5pbnN0YW5jZS5wb3BwZXIsZS5hdHRyaWJ1dGVzKSxlLmFycm93RWxlbWVudCYmT2JqZWN0LmtleXMoZS5hcnJvd1N0eWxlcykubGVuZ3RoJiZZKGUuYXJyb3dFbGVtZW50LGUuYXJyb3dTdHlsZXMpLGV9LG9uTG9hZDpmdW5jdGlvbihlLHQsbyxpLG4pe3ZhciByPU8obix0LGUpLHA9dihvLnBsYWNlbWVudCxyLHQsZSxvLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LG8ubW9kaWZpZXJzLmZsaXAucGFkZGluZyk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCd4LXBsYWNlbWVudCcscCksWSh0LHtwb3NpdGlvbjonYWJzb2x1dGUnfSksb30sZ3B1QWNjZWxlcmF0aW9uOnZvaWQgMH19fSxmZX0pOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9cG9wcGVyLm1pbi5qcy5tYXANCg"},"web/css":{"bootstrap-formhelpers.css":"LyoqDQoqIGJvb3RzdHJhcC1mb3JtaGVscGVycy5qcyB2Mi4zLjAgYnkgQHZpbmNlbnRsYW1hbm5hDQoqIENvcHlyaWdodCAyMDEzIFZpbmNlbnQgTGFtYW5uYQ0KKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiovDQouYmZoLWZsYWctQUQsDQouYmZoLWZsYWctQUUsDQouYmZoLWZsYWctQUYsDQouYmZoLWZsYWctQUcsDQouYmZoLWZsYWctQUksDQouYmZoLWZsYWctQUwsDQouYmZoLWZsYWctQU0sDQouYmZoLWZsYWctQU4sDQouYmZoLWZsYWctQU8sDQouYmZoLWZsYWctQVEsDQouYmZoLWZsYWctQVIsDQouYmZoLWZsYWctQVMsDQouYmZoLWZsYWctQVQsDQouYmZoLWZsYWctQVUsDQouYmZoLWZsYWctQVcsDQouYmZoLWZsYWctQVgsDQouYmZoLWZsYWctQVosDQouYmZoLWZsYWctQkEsDQouYmZoLWZsYWctQkIsDQouYmZoLWZsYWctQkQsDQouYmZoLWZsYWctQkUsDQouYmZoLWZsYWctQkcsDQouYmZoLWZsYWctQkgsDQouYmZoLWZsYWctQkksDQouYmZoLWZsYWctQkosDQouYmZoLWZsYWctQkwsDQouYmZoLWZsYWctQk0sDQouYmZoLWZsYWctQk4sDQouYmZoLWZsYWctQk8sDQouYmZoLWZsYWctQlIsDQouYmZoLWZsYWctQlMsDQouYmZoLWZsYWctQlQsDQouYmZoLWZsYWctQlcsDQouYmZoLWZsYWctQlksDQouYmZoLWZsYWctQlosDQouYmZoLWZsYWctQ0EsDQouYmZoLWZsYWctQ0QsDQouYmZoLWZsYWctQ0YsDQouYmZoLWZsYWctQ0csDQouYmZoLWZsYWctQ0gsDQouYmZoLWZsYWctQ0ksDQouYmZoLWZsYWctQ0wsDQouYmZoLWZsYWctQ00sDQouYmZoLWZsYWctQ04sDQouYmZoLWZsYWctQ08sDQouYmZoLWZsYWctQ1IsDQouYmZoLWZsYWctQ1YsDQouYmZoLWZsYWctQ1ksDQouYmZoLWZsYWctQ1osDQouYmZoLWZsYWctREosDQouYmZoLWZsYWctREssDQouYmZoLWZsYWctRE0sDQouYmZoLWZsYWctRE8sDQouYmZoLWZsYWctRFosDQouYmZoLWZsYWctRUMsDQouYmZoLWZsYWctRUUsDQouYmZoLWZsYWctRUcsDQouYmZoLWZsYWctRUgsDQouYmZoLWZsYWctRVIsDQouYmZoLWZsYWctRVMsDQouYmZoLWZsYWctRVQsDQouYmZoLWZsYWctRVUsDQouYmZoLWZsYWctRkksDQouYmZoLWZsYWctRkosDQouYmZoLWZsYWctRkssDQouYmZoLWZsYWctRk0sDQouYmZoLWZsYWctRk8sDQouYmZoLWZsYWctRlIsDQouYmZoLWZsYWctRlgsDQouYmZoLWZsYWctR0YsDQouYmZoLWZsYWctR1AsDQouYmZoLWZsYWctTVEsDQouYmZoLWZsYWctTkMsDQouYmZoLWZsYWctUEYsDQouYmZoLWZsYWctUE0sDQouYmZoLWZsYWctUkUsDQouYmZoLWZsYWctVEYsDQouYmZoLWZsYWctV0YsDQouYmZoLWZsYWctR0EsDQouYmZoLWZsYWctR0IsDQouYmZoLWZsYWctR0QsDQouYmZoLWZsYWctR0UsDQouYmZoLWZsYWctR0csDQouYmZoLWZsYWctR0gsDQouYmZoLWZsYWctR0wsDQouYmZoLWZsYWctR00sDQouYmZoLWZsYWctR04sDQouYmZoLWZsYWctR1EsDQouYmZoLWZsYWctR1IsDQouYmZoLWZsYWctR1MsDQouYmZoLWZsYWctR1QsDQouYmZoLWZsYWctR1UsDQouYmZoLWZsYWctR1csDQouYmZoLWZsYWctR1ksDQouYmZoLWZsYWctSEssDQouYmZoLWZsYWctSE4sDQouYmZoLWZsYWctSFIsDQouYmZoLWZsYWctSFQsDQouYmZoLWZsYWctSFUsDQouYmZoLWZsYWctSUQsDQouYmZoLWZsYWctSUUsDQouYmZoLWZsYWctSUwsDQouYmZoLWZsYWctSU0sDQouYmZoLWZsYWctSU4sDQouYmZoLWZsYWctSVEsDQouYmZoLWZsYWctSVMsDQouYmZoLWZsYWctSVQsDQouYmZoLWZsYWctSkUsDQouYmZoLWZsYWctSk0sDQouYmZoLWZsYWctSk8sDQouYmZoLWZsYWctSlAsDQouYmZoLWZsYWctS0UsDQouYmZoLWZsYWctS0csDQouYmZoLWZsYWctS0gsDQouYmZoLWZsYWctS0ksDQouYmZoLWZsYWctS00sDQouYmZoLWZsYWctS04sDQouYmZoLWZsYWctS1AsDQouYmZoLWZsYWctS1IsDQouYmZoLWZsYWctS1YsDQouYmZoLWZsYWctS1csDQouYmZoLWZsYWctS1ksDQouYmZoLWZsYWctTEEsDQouYmZoLWZsYWctTEMsDQouYmZoLWZsYWctTEssDQouYmZoLWZsYWctTFIsDQouYmZoLWZsYWctTFMsDQouYmZoLWZsYWctTFQsDQouYmZoLWZsYWctTFUsDQouYmZoLWZsYWctTFYsDQouYmZoLWZsYWctTFksDQouYmZoLWZsYWctTUEsDQouYmZoLWZsYWctTUUsDQouYmZoLWZsYWctTUcsDQouYmZoLWZsYWctTUgsDQouYmZoLWZsYWctTUwsDQouYmZoLWZsYWctTU0sDQouYmZoLWZsYWctTVAsDQouYmZoLWZsYWctTVIsDQouYmZoLWZsYWctTVMsDQouYmZoLWZsYWctTVQsDQouYmZoLWZsYWctTVUsDQouYmZoLWZsYWctTVYsDQouYmZoLWZsYWctTVcsDQouYmZoLWZsYWctTVosDQouYmZoLWZsYWctTkEsDQouYmZoLWZsYWctTkUsDQouYmZoLWZsYWctTkYsDQouYmZoLWZsYWctTkcsDQouYmZoLWZsYWctTkksDQouYmZoLWZsYWctTkwsDQouYmZoLWZsYWctTk8sDQouYmZoLWZsYWctTlAsDQouYmZoLWZsYWctTlIsDQouYmZoLWZsYWctTlosDQouYmZoLWZsYWctT00sDQouYmZoLWZsYWctUEEsDQouYmZoLWZsYWctUEUsDQouYmZoLWZsYWctUEcsDQouYmZoLWZsYWctUEgsDQouYmZoLWZsYWctUEssDQouYmZoLWZsYWctUEwsDQouYmZoLWZsYWctUE4sDQouYmZoLWZsYWctUFMsDQouYmZoLWZsYWctUFQsDQouYmZoLWZsYWctUFcsDQouYmZoLWZsYWctUFksDQouYmZoLWZsYWctUUEsDQouYmZoLWZsYWctUlMsDQouYmZoLWZsYWctUlUsDQouYmZoLWZsYWctUlcsDQouYmZoLWZsYWctU0EsDQouYmZoLWZsYWctU0IsDQouYmZoLWZsYWctU0MsDQouYmZoLWZsYWctU0QsDQouYmZoLWZsYWctU0UsDQouYmZoLWZsYWctU0csDQouYmZoLWZsYWctU0gsDQouYmZoLWZsYWctU0ksDQouYmZoLWZsYWctU0ssDQouYmZoLWZsYWctU00sDQouYmZoLWZsYWctU04sDQouYmZoLWZsYWctU08sDQouYmZoLWZsYWctU1IsDQouYmZoLWZsYWctU1MsDQouYmZoLWZsYWctU1QsDQouYmZoLWZsYWctU1YsDQouYmZoLWZsYWctU1ksDQouYmZoLWZsYWctU1osDQouYmZoLWZsYWctVEMsDQouYmZoLWZsYWctVEQsDQouYmZoLWZsYWctVEcsDQouYmZoLWZsYWctVEgsDQouYmZoLWZsYWctVEosDQouYmZoLWZsYWctVE0sDQouYmZoLWZsYWctVE4sDQouYmZoLWZsYWctVFAsDQouYmZoLWZsYWctVFIsDQouYmZoLWZsYWctVFQsDQouYmZoLWZsYWctVFYsDQouYmZoLWZsYWctVFcsDQouYmZoLWZsYWctVFosDQouYmZoLWZsYWctVUEsDQouYmZoLWZsYWctVUcsDQouYmZoLWZsYWctVVMsDQouYmZoLWZsYWctVVksDQouYmZoLWZsYWctVVosDQouYmZoLWZsYWctVkMsDQouYmZoLWZsYWctVkUsDQouYmZoLWZsYWctVkcsDQouYmZoLWZsYWctVkksDQouYmZoLWZsYWctVk4sDQouYmZoLWZsYWctVlUsDQouYmZoLWZsYWctV1MsDQouYmZoLWZsYWctWUUsDQouYmZoLWZsYWctWkEsDQouYmZoLWZsYWctWk0sDQouYmZoLWZsYWctQkYsDQouYmZoLWZsYWctQ1UsDQouYmZoLWZsYWctREUsDQouYmZoLWZsYWctSVIsDQouYmZoLWZsYWctS1osDQouYmZoLWZsYWctTEIsDQouYmZoLWZsYWctTEksDQouYmZoLWZsYWctTUMsDQouYmZoLWZsYWctTUQsDQouYmZoLWZsYWctTUssDQouYmZoLWZsYWctTU4sDQouYmZoLWZsYWctTU8sDQouYmZoLWZsYWctTVgsDQouYmZoLWZsYWctTVksDQouYmZoLWZsYWctUFIsDQouYmZoLWZsYWctUk8sDQouYmZoLWZsYWctU0wsDQouYmZoLWZsYWctVE8sDQouYmZoLWZsYWctVkEsDQouYmZoLWZsYWctWlcgew0KICB3aWR0aDogMTZweDsNCiAgaGVpZ2h0OiAxNHB4Ow0KICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Jvb3RzdHJhcC1mb3JtaGVscGVycy1jb3VudHJpZXMuZmxhZ3MucG5nKSBuby1yZXBlYXQ7DQp9DQoNCi5iZmgtZmxhZy1BRDplbXB0eSwNCi5iZmgtZmxhZy1BRTplbXB0eSwNCi5iZmgtZmxhZy1BRjplbXB0eSwNCi5iZmgtZmxhZy1BRzplbXB0eSwNCi5iZmgtZmxhZy1BSTplbXB0eSwNCi5iZmgtZmxhZy1BTDplbXB0eSwNCi5iZmgtZmxhZy1BTTplbXB0eSwNCi5iZmgtZmxhZy1BTjplbXB0eSwNCi5iZmgtZmxhZy1BTzplbXB0eSwNCi5iZmgtZmxhZy1BUTplbXB0eSwNCi5iZmgtZmxhZy1BUjplbXB0eSwNCi5iZmgtZmxhZy1BUzplbXB0eSwNCi5iZmgtZmxhZy1BVDplbXB0eSwNCi5iZmgtZmxhZy1BVTplbXB0eSwNCi5iZmgtZmxhZy1BVzplbXB0eSwNCi5iZmgtZmxhZy1BWDplbXB0eSwNCi5iZmgtZmxhZy1BWjplbXB0eSwNCi5iZmgtZmxhZy1CQTplbXB0eSwNCi5iZmgtZmxhZy1CQjplbXB0eSwNCi5iZmgtZmxhZy1CRDplbXB0eSwNCi5iZmgtZmxhZy1CRTplbXB0eSwNCi5iZmgtZmxhZy1CRzplbXB0eSwNCi5iZmgtZmxhZy1CSDplbXB0eSwNCi5iZmgtZmxhZy1CSTplbXB0eSwNCi5iZmgtZmxhZy1CSjplbXB0eSwNCi5iZmgtZmxhZy1CTDplbXB0eSwNCi5iZmgtZmxhZy1CTTplbXB0eSwNCi5iZmgtZmxhZy1CTjplbXB0eSwNCi5iZmgtZmxhZy1CTzplbXB0eSwNCi5iZmgtZmxhZy1CUjplbXB0eSwNCi5iZmgtZmxhZy1CUzplbXB0eSwNCi5iZmgtZmxhZy1CVDplbXB0eSwNCi5iZmgtZmxhZy1CVzplbXB0eSwNCi5iZmgtZmxhZy1CWTplbXB0eSwNCi5iZmgtZmxhZy1CWjplbXB0eSwNCi5iZmgtZmxhZy1DQTplbXB0eSwNCi5iZmgtZmxhZy1DRDplbXB0eSwNCi5iZmgtZmxhZy1DRjplbXB0eSwNCi5iZmgtZmxhZy1DRzplbXB0eSwNCi5iZmgtZmxhZy1DSDplbXB0eSwNCi5iZmgtZmxhZy1DSTplbXB0eSwNCi5iZmgtZmxhZy1DTDplbXB0eSwNCi5iZmgtZmxhZy1DTTplbXB0eSwNCi5iZmgtZmxhZy1DTjplbXB0eSwNCi5iZmgtZmxhZy1DTzplbXB0eSwNCi5iZmgtZmxhZy1DUjplbXB0eSwNCi5iZmgtZmxhZy1DVjplbXB0eSwNCi5iZmgtZmxhZy1DWTplbXB0eSwNCi5iZmgtZmxhZy1DWjplbXB0eSwNCi5iZmgtZmxhZy1ESjplbXB0eSwNCi5iZmgtZmxhZy1ESzplbXB0eSwNCi5iZmgtZmxhZy1ETTplbXB0eSwNCi5iZmgtZmxhZy1ETzplbXB0eSwNCi5iZmgtZmxhZy1EWjplbXB0eSwNCi5iZmgtZmxhZy1FQzplbXB0eSwNCi5iZmgtZmxhZy1FRTplbXB0eSwNCi5iZmgtZmxhZy1FRzplbXB0eSwNCi5iZmgtZmxhZy1FSDplbXB0eSwNCi5iZmgtZmxhZy1FUjplbXB0eSwNCi5iZmgtZmxhZy1FUzplbXB0eSwNCi5iZmgtZmxhZy1FVDplbXB0eSwNCi5iZmgtZmxhZy1FVTplbXB0eSwNCi5iZmgtZmxhZy1GSTplbXB0eSwNCi5iZmgtZmxhZy1GSjplbXB0eSwNCi5iZmgtZmxhZy1GSzplbXB0eSwNCi5iZmgtZmxhZy1GTTplbXB0eSwNCi5iZmgtZmxhZy1GTzplbXB0eSwNCi5iZmgtZmxhZy1GUjplbXB0eSwNCi5iZmgtZmxhZy1GWDplbXB0eSwNCi5iZmgtZmxhZy1HRjplbXB0eSwNCi5iZmgtZmxhZy1HUDplbXB0eSwNCi5iZmgtZmxhZy1NUTplbXB0eSwNCi5iZmgtZmxhZy1OQzplbXB0eSwNCi5iZmgtZmxhZy1QRjplbXB0eSwNCi5iZmgtZmxhZy1QTTplbXB0eSwNCi5iZmgtZmxhZy1SRTplbXB0eSwNCi5iZmgtZmxhZy1URjplbXB0eSwNCi5iZmgtZmxhZy1XRjplbXB0eSwNCi5iZmgtZmxhZy1HQTplbXB0eSwNCi5iZmgtZmxhZy1HQjplbXB0eSwNCi5iZmgtZmxhZy1HRDplbXB0eSwNCi5iZmgtZmxhZy1HRTplbXB0eSwNCi5iZmgtZmxhZy1HRzplbXB0eSwNCi5iZmgtZmxhZy1HSDplbXB0eSwNCi5iZmgtZmxhZy1HTDplbXB0eSwNCi5iZmgtZmxhZy1HTTplbXB0eSwNCi5iZmgtZmxhZy1HTjplbXB0eSwNCi5iZmgtZmxhZy1HUTplbXB0eSwNCi5iZmgtZmxhZy1HUjplbXB0eSwNCi5iZmgtZmxhZy1HUzplbXB0eSwNCi5iZmgtZmxhZy1HVDplbXB0eSwNCi5iZmgtZmxhZy1HVTplbXB0eSwNCi5iZmgtZmxhZy1HVzplbXB0eSwNCi5iZmgtZmxhZy1HWTplbXB0eSwNCi5iZmgtZmxhZy1ISzplbXB0eSwNCi5iZmgtZmxhZy1ITjplbXB0eSwNCi5iZmgtZmxhZy1IUjplbXB0eSwNCi5iZmgtZmxhZy1IVDplbXB0eSwNCi5iZmgtZmxhZy1IVTplbXB0eSwNCi5iZmgtZmxhZy1JRDplbXB0eSwNCi5iZmgtZmxhZy1JRTplbXB0eSwNCi5iZmgtZmxhZy1JTDplbXB0eSwNCi5iZmgtZmxhZy1JTTplbXB0eSwNCi5iZmgtZmxhZy1JTjplbXB0eSwNCi5iZmgtZmxhZy1JUTplbXB0eSwNCi5iZmgtZmxhZy1JUzplbXB0eSwNCi5iZmgtZmxhZy1JVDplbXB0eSwNCi5iZmgtZmxhZy1KRTplbXB0eSwNCi5iZmgtZmxhZy1KTTplbXB0eSwNCi5iZmgtZmxhZy1KTzplbXB0eSwNCi5iZmgtZmxhZy1KUDplbXB0eSwNCi5iZmgtZmxhZy1LRTplbXB0eSwNCi5iZmgtZmxhZy1LRzplbXB0eSwNCi5iZmgtZmxhZy1LSDplbXB0eSwNCi5iZmgtZmxhZy1LSTplbXB0eSwNCi5iZmgtZmxhZy1LTTplbXB0eSwNCi5iZmgtZmxhZy1LTjplbXB0eSwNCi5iZmgtZmxhZy1LUDplbXB0eSwNCi5iZmgtZmxhZy1LUjplbXB0eSwNCi5iZmgtZmxhZy1LVjplbXB0eSwNCi5iZmgtZmxhZy1LVzplbXB0eSwNCi5iZmgtZmxhZy1LWTplbXB0eSwNCi5iZmgtZmxhZy1MQTplbXB0eSwNCi5iZmgtZmxhZy1MQzplbXB0eSwNCi5iZmgtZmxhZy1MSzplbXB0eSwNCi5iZmgtZmxhZy1MUjplbXB0eSwNCi5iZmgtZmxhZy1MUzplbXB0eSwNCi5iZmgtZmxhZy1MVDplbXB0eSwNCi5iZmgtZmxhZy1MVTplbXB0eSwNCi5iZmgtZmxhZy1MVjplbXB0eSwNCi5iZmgtZmxhZy1MWTplbXB0eSwNCi5iZmgtZmxhZy1NQTplbXB0eSwNCi5iZmgtZmxhZy1NRTplbXB0eSwNCi5iZmgtZmxhZy1NRzplbXB0eSwNCi5iZmgtZmxhZy1NSDplbXB0eSwNCi5iZmgtZmxhZy1NTDplbXB0eSwNCi5iZmgtZmxhZy1NTTplbXB0eSwNCi5iZmgtZmxhZy1NUDplbXB0eSwNCi5iZmgtZmxhZy1NUjplbXB0eSwNCi5iZmgtZmxhZy1NUzplbXB0eSwNCi5iZmgtZmxhZy1NVDplbXB0eSwNCi5iZmgtZmxhZy1NVTplbXB0eSwNCi5iZmgtZmxhZy1NVjplbXB0eSwNCi5iZmgtZmxhZy1NVzplbXB0eSwNCi5iZmgtZmxhZy1NWjplbXB0eSwNCi5iZmgtZmxhZy1OQTplbXB0eSwNCi5iZmgtZmxhZy1ORTplbXB0eSwNCi5iZmgtZmxhZy1ORjplbXB0eSwNCi5iZmgtZmxhZy1ORzplbXB0eSwNCi5iZmgtZmxhZy1OSTplbXB0eSwNCi5iZmgtZmxhZy1OTDplbXB0eSwNCi5iZmgtZmxhZy1OTzplbXB0eSwNCi5iZmgtZmxhZy1OUDplbXB0eSwNCi5iZmgtZmxhZy1OUjplbXB0eSwNCi5iZmgtZmxhZy1OWjplbXB0eSwNCi5iZmgtZmxhZy1PTTplbXB0eSwNCi5iZmgtZmxhZy1QQTplbXB0eSwNCi5iZmgtZmxhZy1QRTplbXB0eSwNCi5iZmgtZmxhZy1QRzplbXB0eSwNCi5iZmgtZmxhZy1QSDplbXB0eSwNCi5iZmgtZmxhZy1QSzplbXB0eSwNCi5iZmgtZmxhZy1QTDplbXB0eSwNCi5iZmgtZmxhZy1QTjplbXB0eSwNCi5iZmgtZmxhZy1QUzplbXB0eSwNCi5iZmgtZmxhZy1QVDplbXB0eSwNCi5iZmgtZmxhZy1QVzplbXB0eSwNCi5iZmgtZmxhZy1QWTplbXB0eSwNCi5iZmgtZmxhZy1RQTplbXB0eSwNCi5iZmgtZmxhZy1SUzplbXB0eSwNCi5iZmgtZmxhZy1SVTplbXB0eSwNCi5iZmgtZmxhZy1SVzplbXB0eSwNCi5iZmgtZmxhZy1TQTplbXB0eSwNCi5iZmgtZmxhZy1TQjplbXB0eSwNCi5iZmgtZmxhZy1TQzplbXB0eSwNCi5iZmgtZmxhZy1TRDplbXB0eSwNCi5iZmgtZmxhZy1TRTplbXB0eSwNCi5iZmgtZmxhZy1TRzplbXB0eSwNCi5iZmgtZmxhZy1TSDplbXB0eSwNCi5iZmgtZmxhZy1TSTplbXB0eSwNCi5iZmgtZmxhZy1TSzplbXB0eSwNCi5iZmgtZmxhZy1TTTplbXB0eSwNCi5iZmgtZmxhZy1TTjplbXB0eSwNCi5iZmgtZmxhZy1TTzplbXB0eSwNCi5iZmgtZmxhZy1TUjplbXB0eSwNCi5iZmgtZmxhZy1TUzplbXB0eSwNCi5iZmgtZmxhZy1TVDplbXB0eSwNCi5iZmgtZmxhZy1TVjplbXB0eSwNCi5iZmgtZmxhZy1TWTplbXB0eSwNCi5iZmgtZmxhZy1TWjplbXB0eSwNCi5iZmgtZmxhZy1UQzplbXB0eSwNCi5iZmgtZmxhZy1URDplbXB0eSwNCi5iZmgtZmxhZy1URzplbXB0eSwNCi5iZmgtZmxhZy1USDplbXB0eSwNCi5iZmgtZmxhZy1USjplbXB0eSwNCi5iZmgtZmxhZy1UTTplbXB0eSwNCi5iZmgtZmxhZy1UTjplbXB0eSwNCi5iZmgtZmxhZy1UUDplbXB0eSwNCi5iZmgtZmxhZy1UUjplbXB0eSwNCi5iZmgtZmxhZy1UVDplbXB0eSwNCi5iZmgtZmxhZy1UVjplbXB0eSwNCi5iZmgtZmxhZy1UVzplbXB0eSwNCi5iZmgtZmxhZy1UWjplbXB0eSwNCi5iZmgtZmxhZy1VQTplbXB0eSwNCi5iZmgtZmxhZy1VRzplbXB0eSwNCi5iZmgtZmxhZy1VUzplbXB0eSwNCi5iZmgtZmxhZy1VWTplbXB0eSwNCi5iZmgtZmxhZy1VWjplbXB0eSwNCi5iZmgtZmxhZy1WQzplbXB0eSwNCi5iZmgtZmxhZy1WRTplbXB0eSwNCi5iZmgtZmxhZy1WRzplbXB0eSwNCi5iZmgtZmxhZy1WSTplbXB0eSwNCi5iZmgtZmxhZy1WTjplbXB0eSwNCi5iZmgtZmxhZy1WVTplbXB0eSwNCi5iZmgtZmxhZy1XUzplbXB0eSwNCi5iZmgtZmxhZy1ZRTplbXB0eSwNCi5iZmgtZmxhZy1aQTplbXB0eSwNCi5iZmgtZmxhZy1aTTplbXB0eSwNCi5iZmgtZmxhZy1CRjplbXB0eSwNCi5iZmgtZmxhZy1DVTplbXB0eSwNCi5iZmgtZmxhZy1ERTplbXB0eSwNCi5iZmgtZmxhZy1JUjplbXB0eSwNCi5iZmgtZmxhZy1LWjplbXB0eSwNCi5iZmgtZmxhZy1MQjplbXB0eSwNCi5iZmgtZmxhZy1MSTplbXB0eSwNCi5iZmgtZmxhZy1NQzplbXB0eSwNCi5iZmgtZmxhZy1NRDplbXB0eSwNCi5iZmgtZmxhZy1NSzplbXB0eSwNCi5iZmgtZmxhZy1NTjplbXB0eSwNCi5iZmgtZmxhZy1NTzplbXB0eSwNCi5iZmgtZmxhZy1NWDplbXB0eSwNCi5iZmgtZmxhZy1NWTplbXB0eSwNCi5iZmgtZmxhZy1QUjplbXB0eSwNCi5iZmgtZmxhZy1STzplbXB0eSwNCi5iZmgtZmxhZy1TTDplbXB0eSwNCi5iZmgtZmxhZy1UTzplbXB0eSwNCi5iZmgtZmxhZy1WQTplbXB0eSwNCi5iZmgtZmxhZy1aVzplbXB0eSB7DQogIHdpZHRoOiAxNnB4Ow0KfQ0KDQouYmZoLWZsYWctQUQsDQouYmZoLWZsYWctQUUsDQouYmZoLWZsYWctQUYsDQouYmZoLWZsYWctQUcsDQouYmZoLWZsYWctQUksDQouYmZoLWZsYWctQUwsDQouYmZoLWZsYWctQU0sDQouYmZoLWZsYWctQU4sDQouYmZoLWZsYWctQU8sDQouYmZoLWZsYWctQVEsDQouYmZoLWZsYWctQVIsDQouYmZoLWZsYWctQVMsDQouYmZoLWZsYWctQVQsDQouYmZoLWZsYWctQVUsDQouYmZoLWZsYWctQVcsDQouYmZoLWZsYWctQVgsDQouYmZoLWZsYWctQVosDQouYmZoLWZsYWctQkEsDQouYmZoLWZsYWctQkIsDQouYmZoLWZsYWctQkQsDQouYmZoLWZsYWctQkUsDQouYmZoLWZsYWctQkcsDQouYmZoLWZsYWctQkgsDQouYmZoLWZsYWctQkksDQouYmZoLWZsYWctQkosDQouYmZoLWZsYWctQkwsDQouYmZoLWZsYWctQk0sDQouYmZoLWZsYWctQk4sDQouYmZoLWZsYWctQk8sDQouYmZoLWZsYWctQlIsDQouYmZoLWZsYWctQlMsDQouYmZoLWZsYWctQlQsDQouYmZoLWZsYWctQlcsDQouYmZoLWZsYWctQlksDQouYmZoLWZsYWctQlosDQouYmZoLWZsYWctQ0EsDQouYmZoLWZsYWctQ0QsDQouYmZoLWZsYWctQ0YsDQouYmZoLWZsYWctQ0csDQouYmZoLWZsYWctQ0gsDQouYmZoLWZsYWctQ0ksDQouYmZoLWZsYWctQ0wsDQouYmZoLWZsYWctQ00sDQouYmZoLWZsYWctQ04sDQouYmZoLWZsYWctQ08sDQouYmZoLWZsYWctQ1IsDQouYmZoLWZsYWctQ1YsDQouYmZoLWZsYWctQ1ksDQouYmZoLWZsYWctQ1osDQouYmZoLWZsYWctREosDQouYmZoLWZsYWctREssDQouYmZoLWZsYWctRE0sDQouYmZoLWZsYWctRE8sDQouYmZoLWZsYWctRFosDQouYmZoLWZsYWctRUMsDQouYmZoLWZsYWctRUUsDQouYmZoLWZsYWctRUcsDQouYmZoLWZsYWctRUgsDQouYmZoLWZsYWctRVIsDQouYmZoLWZsYWctRVMsDQouYmZoLWZsYWctRVQsDQouYmZoLWZsYWctRVUsDQouYmZoLWZsYWctRkksDQouYmZoLWZsYWctRkosDQouYmZoLWZsYWctRkssDQouYmZoLWZsYWctRk0sDQouYmZoLWZsYWctRk8sDQouYmZoLWZsYWctRlIsDQouYmZoLWZsYWctRlgsDQouYmZoLWZsYWctR0YsDQouYmZoLWZsYWctR1AsDQouYmZoLWZsYWctTVEsDQouYmZoLWZsYWctTkMsDQouYmZoLWZsYWctUEYsDQouYmZoLWZsYWctUE0sDQouYmZoLWZsYWctUkUsDQouYmZoLWZsYWctVEYsDQouYmZoLWZsYWctV0YsDQouYmZoLWZsYWctR0EsDQouYmZoLWZsYWctR0IsDQouYmZoLWZsYWctR0QsDQouYmZoLWZsYWctR0UsDQouYmZoLWZsYWctR0csDQouYmZoLWZsYWctR0gsDQouYmZoLWZsYWctR0wsDQouYmZoLWZsYWctR00sDQouYmZoLWZsYWctR04sDQouYmZoLWZsYWctR1EsDQouYmZoLWZsYWctR1IsDQouYmZoLWZsYWctR1MsDQouYmZoLWZsYWctR1QsDQouYmZoLWZsYWctR1UsDQouYmZoLWZsYWctR1csDQouYmZoLWZsYWctR1ksDQouYmZoLWZsYWctSEssDQouYmZoLWZsYWctSE4sDQouYmZoLWZsYWctSFIsDQouYmZoLWZsYWctSFQsDQouYmZoLWZsYWctSFUsDQouYmZoLWZsYWctSUQsDQouYmZoLWZsYWctSUUsDQouYmZoLWZsYWctSUwsDQouYmZoLWZsYWctSU0sDQouYmZoLWZsYWctSU4sDQouYmZoLWZsYWctSVEsDQouYmZoLWZsYWctSVMsDQouYmZoLWZsYWctSVQsDQouYmZoLWZsYWctSkUsDQouYmZoLWZsYWctSk0sDQouYmZoLWZsYWctSk8sDQouYmZoLWZsYWctSlAsDQouYmZoLWZsYWctS0UsDQouYmZoLWZsYWctS0csDQouYmZoLWZsYWctS0gsDQouYmZoLWZsYWctS0ksDQouYmZoLWZsYWctS00sDQouYmZoLWZsYWctS04sDQouYmZoLWZsYWctS1AsDQouYmZoLWZsYWctS1IsDQouYmZoLWZsYWctS1YsDQouYmZoLWZsYWctS1csDQouYmZoLWZsYWctS1ksDQouYmZoLWZsYWctTEEsDQouYmZoLWZsYWctTEMsDQouYmZoLWZsYWctTEssDQouYmZoLWZsYWctTFIsDQouYmZoLWZsYWctTFMsDQouYmZoLWZsYWctTFQsDQouYmZoLWZsYWctTFUsDQouYmZoLWZsYWctTFYsDQouYmZoLWZsYWctTFksDQouYmZoLWZsYWctTUEsDQouYmZoLWZsYWctTUUsDQouYmZoLWZsYWctTUcsDQouYmZoLWZsYWctTUgsDQouYmZoLWZsYWctTUwsDQouYmZoLWZsYWctTU0sDQouYmZoLWZsYWctTVAsDQouYmZoLWZsYWctTVIsDQouYmZoLWZsYWctTVMsDQouYmZoLWZsYWctTVQsDQouYmZoLWZsYWctTVUsDQouYmZoLWZsYWctTVYsDQouYmZoLWZsYWctTVcsDQouYmZoLWZsYWctTVosDQouYmZoLWZsYWctTkEsDQouYmZoLWZsYWctTkUsDQouYmZoLWZsYWctTkYsDQouYmZoLWZsYWctTkcsDQouYmZoLWZsYWctTkksDQouYmZoLWZsYWctTkwsDQouYmZoLWZsYWctTk8sDQouYmZoLWZsYWctTlAsDQouYmZoLWZsYWctTlIsDQouYmZoLWZsYWctTlosDQouYmZoLWZsYWctT00sDQouYmZoLWZsYWctUEEsDQouYmZoLWZsYWctUEUsDQouYmZoLWZsYWctUEcsDQouYmZoLWZsYWctUEgsDQouYmZoLWZsYWctUEssDQouYmZoLWZsYWctUEwsDQouYmZoLWZsYWctUE4sDQouYmZoLWZsYWctUFMsDQouYmZoLWZsYWctUFQsDQouYmZoLWZsYWctUFcsDQouYmZoLWZsYWctUFksDQouYmZoLWZsYWctUUEsDQouYmZoLWZsYWctUlMsDQouYmZoLWZsYWctUlUsDQouYmZoLWZsYWctUlcsDQouYmZoLWZsYWctU0EsDQouYmZoLWZsYWctU0IsDQouYmZoLWZsYWctU0MsDQouYmZoLWZsYWctU0QsDQouYmZoLWZsYWctU0UsDQouYmZoLWZsYWctU0csDQouYmZoLWZsYWctU0gsDQouYmZoLWZsYWctU0ksDQouYmZoLWZsYWctU0ssDQouYmZoLWZsYWctU00sDQouYmZoLWZsYWctU04sDQouYmZoLWZsYWctU08sDQouYmZoLWZsYWctU1IsDQouYmZoLWZsYWctU1MsDQouYmZoLWZsYWctU1QsDQouYmZoLWZsYWctU1YsDQouYmZoLWZsYWctU1ksDQouYmZoLWZsYWctU1osDQouYmZoLWZsYWctVEMsDQouYmZoLWZsYWctVEQsDQouYmZoLWZsYWctVEcsDQouYmZoLWZsYWctVEgsDQouYmZoLWZsYWctVEosDQouYmZoLWZsYWctVE0sDQouYmZoLWZsYWctVE4sDQouYmZoLWZsYWctVFAsDQouYmZoLWZsYWctVFIsDQouYmZoLWZsYWctVFQsDQouYmZoLWZsYWctVFYsDQouYmZoLWZsYWctVFcsDQouYmZoLWZsYWctVFosDQouYmZoLWZsYWctVUEsDQouYmZoLWZsYWctVUcsDQouYmZoLWZsYWctVVMsDQouYmZoLWZsYWctVVksDQouYmZoLWZsYWctVVosDQouYmZoLWZsYWctVkMsDQouYmZoLWZsYWctVkUsDQouYmZoLWZsYWctVkcsDQouYmZoLWZsYWctVkksDQouYmZoLWZsYWctVk4sDQouYmZoLWZsYWctVlUsDQouYmZoLWZsYWctV1MsDQouYmZoLWZsYWctWUUsDQouYmZoLWZsYWctWkEsDQouYmZoLWZsYWctWk0sDQouYmZoLWZsYWctQkYsDQouYmZoLWZsYWctQ1UsDQouYmZoLWZsYWctREUsDQouYmZoLWZsYWctSVIsDQouYmZoLWZsYWctS1osDQouYmZoLWZsYWctTEIsDQouYmZoLWZsYWctTEksDQouYmZoLWZsYWctTUMsDQouYmZoLWZsYWctTUQsDQouYmZoLWZsYWctTUssDQouYmZoLWZsYWctTU4sDQouYmZoLWZsYWctTU8sDQouYmZoLWZsYWctTVgsDQouYmZoLWZsYWctTVksDQouYmZoLWZsYWctUFIsDQouYmZoLWZsYWctUk8sDQouYmZoLWZsYWctU0wsDQouYmZoLWZsYWctVE8sDQouYmZoLWZsYWctVkEsDQouYmZoLWZsYWctWlcsDQouYmZoLWZsYWctRVVSLA0KLmJmaC1mbGFnLVhDRCB7DQogIG1hcmdpbi1yaWdodDogNXB4Ow0KfQ0KDQouYmZoLWZsYWctQUQgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkyMXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1BRSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTA0cHggMDsNCn0NCg0KLmJmaC1mbGFnLUFGIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2ODlweCAwOw0KfQ0KDQouYmZoLWZsYWctQUcgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzRweCAwOw0KfQ0KDQouYmZoLWZsYWctQUkgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTFweCAwOw0KfQ0KDQouYmZoLWZsYWctQUwgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjhweCAwOw0KfQ0KDQouYmZoLWZsYWctQU0gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODVweCAwOw0KfQ0KDQouYmZoLWZsYWctQU4gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAycHggMDsNCn0NCg0KLmJmaC1mbGFnLUFPIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExOXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1BUSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzZweCAwOw0KfQ0KDQouYmZoLWZsYWctQVIgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUzcHggMDsNCn0NCg0KLmJmaC1mbGFnLUFTIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3MHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1BVCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xODdweCAwOw0KfQ0KDQouYmZoLWZsYWctQVUgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA0cHggMDsNCn0NCg0KLmJmaC1mbGFnLUFXIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyMXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1BWCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzhweCAwOw0KfQ0KDQouYmZoLWZsYWctQVogew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU1cHggMDsNCn0NCg0KLmJmaC1mbGFnLUJBIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI3MnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1CQiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yODlweCAwOw0KfQ0KDQouYmZoLWZsYWctQkQgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA2cHggMDsNCn0NCg0KLmJmaC1mbGFnLUJFIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyM3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1CRyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDBweCAwOw0KfQ0KDQouYmZoLWZsYWctQkggew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzU3cHggMDsNCn0NCg0KLmJmaC1mbGFnLUJJIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM3NHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1CSiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zOTFweCAwOw0KfQ0KDQouYmZoLWZsYWctQkwgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA4cHggMDsNCn0NCg0KLmJmaC1mbGFnLUJNIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyNXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1CTiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC00NDJweCAwOw0KfQ0KDQouYmZoLWZsYWctQk8gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDU5cHggMDsNCn0NCg0KLmJmaC1mbGFnLUJSIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ3NnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1CUyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC00OTNweCAwOw0KfQ0KDQouYmZoLWZsYWctQlQgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTEwcHggMDsNCn0NCg0KLmJmaC1mbGFnLUJXIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUyN3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1CWSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC01NDRweCAwOw0KfQ0KDQouYmZoLWZsYWctQlogew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTYxcHggMDsNCn0NCg0KLmJmaC1mbGFnLUNBIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU3OHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1DRCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC01OTVweCAwOw0KfQ0KDQouYmZoLWZsYWctQ0Ygew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjEycHggMDsNCn0NCg0KLmJmaC1mbGFnLUNHIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyOXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1DSCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC02NDZweCAwOw0KfQ0KDQouYmZoLWZsYWctQ0kgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjYzcHggMDsNCn0NCg0KLmJmaC1mbGFnLUNMIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY4MHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1DTSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC02OTdweCAwOw0KfQ0KDQouYmZoLWZsYWctQ04gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzE0cHggMDsNCn0NCg0KLmJmaC1mbGFnLUNPIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTczMXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1DUiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC03NDhweCAwOw0KfQ0KDQouYmZoLWZsYWctQ1Ygew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzY1cHggMDsNCn0NCg0KLmJmaC1mbGFnLUNZIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc4MnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1DWiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC03OTlweCAwOw0KfQ0KDQouYmZoLWZsYWctREogew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODE2cHggMDsNCn0NCg0KLmJmaC1mbGFnLURLIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgzM3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1ETSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC04NTBweCAwOw0KfQ0KDQouYmZoLWZsYWctRE8gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODY3cHggMDsNCn0NCg0KLmJmaC1mbGFnLURaIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg4NHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1FQyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC05MDFweCAwOw0KfQ0KDQouYmZoLWZsYWctRUUgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTE4cHggMDsNCn0NCg0KLmJmaC1mbGFnLUVHIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkzNXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1FSCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC05NTJweCAwOw0KfQ0KDQouYmZoLWZsYWctRVIgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTY5cHggMDsNCn0NCg0KLmJmaC1mbGFnLUVTIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk4NnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1FVCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDAzcHggMDsNCn0NCg0KLmJmaC1mbGFnLUVVIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMjBweCAwOw0KfQ0KDQouYmZoLWZsYWctRkkgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAzN3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1GSiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDU0cHggMDsNCn0NCg0KLmJmaC1mbGFnLUZLIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwNzFweCAwOw0KfQ0KDQouYmZoLWZsYWctRk0gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4OHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1GTyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTA1cHggMDsNCn0NCg0KLmJmaC1mbGFnLUZSLA0KLmJmaC1mbGFnLUZYLA0KLmJmaC1mbGFnLUdGLA0KLmJmaC1mbGFnLUdQLA0KLmJmaC1mbGFnLU1RLA0KLmJmaC1mbGFnLU5DLA0KLmJmaC1mbGFnLVBGLA0KLmJmaC1mbGFnLVBNLA0KLmJmaC1mbGFnLVJFLA0KLmJmaC1mbGFnLVRGLA0KLmJmaC1mbGFnLVdGIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMjJweCAwOw0KfQ0KDQouYmZoLWZsYWctR0Egew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEzOXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1HQiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTU2cHggMDsNCn0NCg0KLmJmaC1mbGFnLUdEIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExNzNweCAwOw0KfQ0KDQouYmZoLWZsYWctR0Ugew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTE5MHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1HRyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjA3cHggMDsNCn0NCg0KLmJmaC1mbGFnLUdIIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMjRweCAwOw0KfQ0KDQouYmZoLWZsYWctR0wgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI0MXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1HTSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjU4cHggMDsNCn0NCg0KLmJmaC1mbGFnLUdOIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyNzVweCAwOw0KfQ0KDQouYmZoLWZsYWctR1Egew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI5MnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1HUiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzA5cHggMDsNCn0NCg0KLmJmaC1mbGFnLUdTIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMjZweCAwOw0KfQ0KDQouYmZoLWZsYWctR1Qgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM0M3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1HVSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzYwcHggMDsNCn0NCg0KLmJmaC1mbGFnLUdXIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzNzdweCAwOw0KfQ0KDQouYmZoLWZsYWctR1kgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM5NHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1ISyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDExcHggMDsNCn0NCg0KLmJmaC1mbGFnLUhOIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0MjhweCAwOw0KfQ0KDQouYmZoLWZsYWctSFIgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0NXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1IVCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDYycHggMDsNCn0NCg0KLmJmaC1mbGFnLUhVIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NzlweCAwOw0KfQ0KDQouYmZoLWZsYWctSUQgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ5NnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1JRSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTEzcHggMDsNCn0NCg0KLmJmaC1mbGFnLUlMIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MzBweCAwOw0KfQ0KDQouYmZoLWZsYWctSU0gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU0N3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1JTiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTY0cHggMDsNCn0NCg0KLmJmaC1mbGFnLUlRIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1ODFweCAwOw0KfQ0KDQouYmZoLWZsYWctSVMgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU5OHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1JVCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjE1cHggMDsNCn0NCg0KLmJmaC1mbGFnLUpFIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MzJweCAwOw0KfQ0KDQouYmZoLWZsYWctSk0gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY0OXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1KTyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjY2cHggMDsNCn0NCg0KLmJmaC1mbGFnLUpQIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2ODNweCAwOw0KfQ0KDQouYmZoLWZsYWctS0Ugew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTcwMHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1LRyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzE3cHggMDsNCn0NCg0KLmJmaC1mbGFnLUtIIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3MzRweCAwOw0KfQ0KDQouYmZoLWZsYWctS0kgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc1MXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1LTSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzY4cHggMDsNCn0NCg0KLmJmaC1mbGFnLUtOIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3ODVweCAwOw0KfQ0KDQouYmZoLWZsYWctS1Agew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwMnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1LUiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xODE5cHggMDsNCn0NCg0KLmJmaC1mbGFnLUtWIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MzZweCAwOw0KfQ0KDQouYmZoLWZsYWctS1cgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTg1M3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1LWSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xODcwcHggMDsNCn0NCg0KLmJmaC1mbGFnLUxBIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4ODdweCAwOw0KfQ0KDQouYmZoLWZsYWctTEMgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQp9DQoNCi5iZmgtZmxhZy1MSyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xN3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1MUiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTM4cHggMDsNCn0NCg0KLmJmaC1mbGFnLUxTIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5NTVweCAwOw0KfQ0KDQouYmZoLWZsYWctTFQgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk3MnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1MVSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTg5cHggMDsNCn0NCg0KLmJmaC1mbGFnLUxWIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMDZweCAwOw0KfQ0KDQouYmZoLWZsYWctTFkgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAyM3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1NQSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDQwcHggMDsNCn0NCg0KLmJmaC1mbGFnLU1FIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwNTdweCAwOw0KfQ0KDQouYmZoLWZsYWctTUcgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA3NHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1NSCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDkxcHggMDsNCn0NCg0KLmJmaC1mbGFnLU1MIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxMDhweCAwOw0KfQ0KDQouYmZoLWZsYWctTU0gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEyNXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1NUCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTQycHggMDsNCn0NCg0KLmJmaC1mbGFnLU1SIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNTlweCAwOw0KfQ0KDQouYmZoLWZsYWctTVMgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjE3NnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1NVCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTkzcHggMDsNCn0NCg0KLmJmaC1mbGFnLU1VIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyMTBweCAwOw0KfQ0KDQouYmZoLWZsYWctTVYgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjIyN3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1NVyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjQ0cHggMDsNCn0NCg0KLmJmaC1mbGFnLU1aIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNjFweCAwOw0KfQ0KDQouYmZoLWZsYWctTkEgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI3OHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1ORSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjk1cHggMDsNCn0NCg0KLmJmaC1mbGFnLU5GIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzMTJweCAwOw0KfQ0KDQouYmZoLWZsYWctTkcgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMyOXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1OSSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzQ2cHggMDsNCn0NCg0KLmJmaC1mbGFnLU5MIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzNjNweCAwOw0KfQ0KDQouYmZoLWZsYWctTk8gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjM4MHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1OUCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzk3cHggMDsNCn0NCg0KLmJmaC1mbGFnLU5SIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MTRweCAwOw0KfQ0KDQouYmZoLWZsYWctTlogew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQzMXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1PTSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDQ4cHggMDsNCn0NCg0KLmJmaC1mbGFnLVBBIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NjVweCAwOw0KfQ0KDQouYmZoLWZsYWctUEUgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQ4MnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1QRyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDk5cHggMDsNCn0NCg0KLmJmaC1mbGFnLVBIIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1MTZweCAwOw0KfQ0KDQouYmZoLWZsYWctUEsgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUzM3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1QTCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTUwcHggMDsNCn0NCg0KLmJmaC1mbGFnLVBOIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1NjdweCAwOw0KfQ0KDQouYmZoLWZsYWctUFMgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjU4NHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1QVCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjAxcHggMDsNCn0NCg0KLmJmaC1mbGFnLVBXIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2MThweCAwOw0KfQ0KDQouYmZoLWZsYWctUFkgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjYzNXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1RQSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yNjUycHggMDsNCn0NCg0KLmJmaC1mbGFnLVJTIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI2NjlweCAwOw0KfQ0KDQouYmZoLWZsYWctUlUgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY4NnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1SVyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzAzcHggMDsNCn0NCg0KLmJmaC1mbGFnLVNBIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI3MjBweCAwOw0KfQ0KDQouYmZoLWZsYWctU0Igew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjczN3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1TQyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzU0cHggMDsNCn0NCg0KLmJmaC1mbGFnLVNEIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI3NzFweCAwOw0KfQ0KDQouYmZoLWZsYWctU0Ugew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjc4OHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1TRyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yODA1cHggMDsNCn0NCg0KLmJmaC1mbGFnLVNIIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4MjJweCAwOw0KfQ0KDQouYmZoLWZsYWctU0kgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjgzOXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1TSyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yODU2cHggMDsNCn0NCg0KLmJmaC1mbGFnLVNNIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4NzNweCAwOw0KfQ0KDQouYmZoLWZsYWctU04gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg5MHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1TTyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTA3cHggMDsNCn0NCg0KLmJmaC1mbGFnLVNSIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI5MjRweCAwOw0KfQ0KDQouYmZoLWZsYWctU1Mgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk0MXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1TVCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTU4cHggMDsNCn0NCg0KLmJmaC1mbGFnLVNWIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI5NzVweCAwOw0KfQ0KDQouYmZoLWZsYWctU1kgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjk5MnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1TWiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDA5cHggMDsNCn0NCg0KLmJmaC1mbGFnLVRDIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwMjZweCAwOw0KfQ0KDQouYmZoLWZsYWctVEQgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0M3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1URyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDYwcHggMDsNCn0NCg0KLmJmaC1mbGFnLVRIIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNzdweCAwOw0KfQ0KDQouYmZoLWZsYWctVEogew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA5NHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1UTSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMTExcHggMDsNCn0NCg0KLmJmaC1mbGFnLVROIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxMjhweCAwOw0KfQ0KDQouYmZoLWZsYWctVFAgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzE0NXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1UUiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMTYycHggMDsNCn0NCg0KLmJmaC1mbGFnLVRUIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxNzlweCAwOw0KfQ0KDQouYmZoLWZsYWctVFYgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzE5NnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1UVyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjEzcHggMDsNCn0NCg0KLmJmaC1mbGFnLVRaIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyMzBweCAwOw0KfQ0KDQouYmZoLWZsYWctVUEgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI0N3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1VRyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMjY0cHggMDsNCn0NCg0KLmJmaC1mbGFnLVVTIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyODFweCAwOw0KfQ0KDQouYmZoLWZsYWctVVkgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzI5OHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1VWiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMzE1cHggMDsNCn0NCg0KLmJmaC1mbGFnLVZDIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzMzJweCAwOw0KfQ0KDQouYmZoLWZsYWctVkUgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM0OXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1WRyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMzY2cHggMDsNCn0NCg0KLmJmaC1mbGFnLVZJIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzODNweCAwOw0KfQ0KDQouYmZoLWZsYWctVk4gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQwMHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1WVSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDE3cHggMDsNCn0NCg0KLmJmaC1mbGFnLVdTIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM0MzRweCAwOw0KfQ0KDQouYmZoLWZsYWctWUUgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzQ1MXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1aQSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNDY4cHggMDsNCn0NCg0KLmJmaC1mbGFnLVpNIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM0ODVweCAwOw0KfQ0KDQouYmZoLWZsYWctQkYgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzUwMnB4IDA7DQp9DQoNCi5iZmgtZmxhZy1DVSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTE5cHggMDsNCn0NCg0KLmJmaC1mbGFnLURFIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM1MzZweCAwOw0KfQ0KDQouYmZoLWZsYWctSVIgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzU1M3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1LWiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNTcwcHggMDsNCn0NCg0KLmJmaC1mbGFnLUxCIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM1ODdweCAwOw0KfQ0KDQouYmZoLWZsYWctTEkgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYwNHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1NQyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjIxcHggMDsNCn0NCg0KLmJmaC1mbGFnLU1EIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MzhweCAwOw0KfQ0KDQouYmZoLWZsYWctTUsgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzY1NXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1NTiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNjcycHggMDsNCn0NCg0KLmJmaC1mbGFnLU1PIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM3MDZweCAwOw0KfQ0KDQouYmZoLWZsYWctTVggew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzcyM3B4IDA7DQp9DQoNCi5iZmgtZmxhZy1NWSB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzQwcHggMDsNCn0NCg0KLmJmaC1mbGFnLVBSIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM3NTdweCAwOw0KfQ0KDQouYmZoLWZsYWctUk8gew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc3NHB4IDA7DQp9DQoNCi5iZmgtZmxhZy1TTCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzkxcHggMDsNCn0NCg0KLmJmaC1mbGFnLVRPIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4MDhweCAwOw0KfQ0KDQouYmZoLWZsYWctVkEgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzgyNXB4IDA7DQp9DQoNCi5iZmgtZmxhZy1aVyB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0zODQycHggMDsNCn0NCg0KLmJmaC1mbGFnLUVVUiB7DQogIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZXUucG5nKSBuby1yZXBlYXQ7DQp9DQoNCi5iZmgtZmxhZy1YQ0Qgew0KICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3hjZC5wbmcpIG5vLXJlcGVhdDsNCn0NCg0KLmJmaC1mbGFnLUFVRCwNCi5iZmgtZmxhZy1DSEYsDQouYmZoLWZsYWctREtLLA0KLmJmaC1mbGFnLUVVUiwNCi5iZmgtZmxhZy1YQUYsDQouYmZoLWZsYWctWENELA0KLmJmaC1mbGFnLVhPRiwNCi5iZmgtZmxhZy1YUEYsDQouYmZoLWZsYWctWkFSIHsNCiAgd2lkdGg6IDE2cHg7DQogIGhlaWdodDogMTRweDsNCiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ib290c3RyYXAtZm9ybWhlbHBlcnMtY3VycmVuY2llcy5mbGFncy5wbmcpIG5vLXJlcGVhdDsNCn0NCg0KLmJmaC1mbGFnLUFVRDplbXB0eSwNCi5iZmgtZmxhZy1DSEY6ZW1wdHksDQouYmZoLWZsYWctREtLOmVtcHR5LA0KLmJmaC1mbGFnLUVVUjplbXB0eSwNCi5iZmgtZmxhZy1YQUY6ZW1wdHksDQouYmZoLWZsYWctWENEOmVtcHR5LA0KLmJmaC1mbGFnLVhPRjplbXB0eSwNCi5iZmgtZmxhZy1YUEY6ZW1wdHksDQouYmZoLWZsYWctWkFSOmVtcHR5IHsNCiAgd2lkdGg6IDE2cHg7DQp9DQoNCi5iZmgtZmxhZy1BVUQsDQouYmZoLWZsYWctQ0hGLA0KLmJmaC1mbGFnLURLSywNCi5iZmgtZmxhZy1FVVIsDQouYmZoLWZsYWctWEFGLA0KLmJmaC1mbGFnLVhDRCwNCi5iZmgtZmxhZy1YT0YsDQouYmZoLWZsYWctWFBGLA0KLmJmaC1mbGFnLVpBUiB7DQogIG1hcmdpbi1yaWdodDogNXB4Ow0KfQ0KDQouYmZoLWZsYWctQVVEIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsNCn0NCg0KLmJmaC1mbGFnLUNIRiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAwOw0KfQ0KDQouYmZoLWZsYWctREtLIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2cHg7DQp9DQoNCi5iZmgtZmxhZy1FVVIgew0KICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsNCn0NCg0KLmJmaC1mbGFnLVhBRiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtODBweDsNCn0NCg0KLmJmaC1mbGFnLVhDRCB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtODBweDsNCn0NCg0KLmJmaC1mbGFnLVhPRiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtODBweDsNCn0NCg0KLmJmaC1mbGFnLVhQRiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtODBweDsNCn0NCg0KLmJmaC1mbGFnLVpBUiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtODBweDsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5iZmgtc2VsZWN0Ym94IC5iZmgtc2VsZWN0Ym94LXRvZ2dsZSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgcGFkZGluZzogNnB4IDI0cHggNnB4IDEycHg7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtdG9nZ2xlOmZvY3VzIHsNCiAgb3V0bGluZTogMDsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtdG9nZ2xlIC5iZmgtc2VsZWN0Ym94LW9wdGlvbiB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgZmxvYXQ6IGxlZnQ7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDIwcHg7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KfQ0KDQouYmZoLXNlbGVjdGJveCAuYmZoLXNlbGVjdGJveC10b2dnbGUgLnNlbGVjdGJveC1jYXJldCB7DQogIGZsb2F0OiByaWdodDsNCiAgbWFyZ2luLXRvcDogOHB4Ow0KICBtYXJnaW4tcmlnaHQ6IC0xNnB4Ow0KICBtYXJnaW4tbGVmdDogLTEwcHg7DQp9DQoNCi5iZmgtc2VsZWN0Ym94IC5iZmgtc2VsZWN0Ym94LW9wdGlvbnMgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogMDsNCiAgei1pbmRleDogMTAwMDsNCiAgZGlzcGxheTogbm9uZTsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1pbi13aWR0aDogOTBweDsNCiAgcGFkZGluZzogNXB4IDA7DQogIG1hcmdpbjogLTFweCAwIDA7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7DQogICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsNCiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtb3B0aW9ucy5wdWxsLXJpZ2h0IHsNCiAgcmlnaHQ6IDA7DQogIGxlZnQ6IGF1dG87DQp9DQoNCi5iZmgtc2VsZWN0Ym94IC5iZmgtc2VsZWN0Ym94LW9wdGlvbnMgLmRpdmlkZXIgew0KICBoZWlnaHQ6IDFweDsNCiAgbWFyZ2luOiA5cHggMDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyAuYmZoLXNlbGVjdGJveC1maWx0ZXItY29udGFpbmVyIHsNCiAgd2lkdGg6IDEwMCU7DQogIHBhZGRpbmc6IDVweDsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyB1bCB7DQogIG1heC13aWR0aDogNTAwcHg7DQogIG1heC1oZWlnaHQ6IDIwMHB4Ow0KICBwYWRkaW5nOiAwOw0KICBtYXJnaW46IDVweCAwIDAgMDsNCiAgb3ZlcmZsb3cteDogaGlkZGVuOw0KICBvdmVyZmxvdy15OiBhdXRvOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQouYmZoLXNlbGVjdGJveCAuYmZoLXNlbGVjdGJveC1vcHRpb25zIHVsIGxpID4gYSB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMTAwJTsNCiAgbWluLWhlaWdodDogMjZweDsNCiAgcGFkZGluZzogM3B4IDIwcHg7DQogIG92ZXJmbG93LXg6IGhpZGRlbjsNCiAgY2xlYXI6IGJvdGg7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyOTsNCiAgY29sb3I6ICMzMzMzMzM7DQogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOw0KICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQouYmZoLXNlbGVjdGJveCAuYmZoLXNlbGVjdGJveC1vcHRpb25zIHVsIGxpID4gYTpob3ZlciwNCi5iZmgtc2VsZWN0Ym94IC5iZmgtc2VsZWN0Ym94LW9wdGlvbnMgdWwgbGkgPiBhOmZvY3VzIHsNCiAgY29sb3I6ICMyNjI2MjY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyB1bCAuYmZoLXNlbGVjdGJveC1vcHRpb25zLWhlYWRlciB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBwYWRkaW5nOiAzcHggMjBweDsNCiAgZm9udC1zaXplOiAxMnB4Ow0KICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7DQogIGNvbG9yOiAjOTk5OTk5Ow0KfQ0KDQouYmZoLXNlbGVjdGJveCAuYmZoLXNlbGVjdGJveC1vcHRpb25zIHVsIC5kaXNhYmxlZCA-IGEgew0KICBjb2xvcjogIzk5OTk5OTsNCn0NCg0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyB1bCAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KLmJmaC1zZWxlY3Rib3ggLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyB1bCAuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgY29sb3I6ICM5OTk5OTk7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpOw0KfQ0KDQouYmZoLXNlbGVjdGJveC5vcGVuID4gLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyB7DQogIGRpc3BsYXk6IGJsb2NrOw0KfQ0KDQouYmZoLXNlbGVjdGJveC5vcGVuIGEgew0KICBvdXRsaW5lOiAwOw0KfQ0KDQoucHVsbC1yaWdodCA-IC5iZmgtc2VsZWN0Ym94LW9wdGlvbnMgew0KICByaWdodDogMDsNCiAgbGVmdDogYXV0bzsNCn0NCg0KLmJmaC1zZWxlY3Rib3gtdXAgLmNhcmV0LA0KLm5hdmJhci1maXhlZC1ib3R0b20gLmJmaC1zZWxlY3Rib3ggLmNhcmV0IHsNCiAgYm9yZGVyLXRvcDogMCBkb3R0ZWQ7DQogIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMDAwMDAwOw0KICBjb250ZW50OiAiIjsNCn0NCg0KLmJmaC1zZWxlY3Rib3gtdXAgLmJmaC1zZWxlY3Rib3gtb3B0aW9ucywNCi5uYXZiYXItZml4ZWQtYm90dG9tIC5iZmgtc2VsZWN0Ym94IC5iZmgtc2VsZWN0Ym94LW9wdGlvbnMgew0KICB0b3A6IGF1dG87DQogIGJvdHRvbTogMTAwJTsNCiAgbWFyZ2luLWJvdHRvbTogMXB4Ow0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgLm5hdmJhci1yaWdodCAuYmZoLXNlbGVjdGJveC1vcHRpb25zIHsNCiAgICByaWdodDogMDsNCiAgICBsZWZ0OiBhdXRvOw0KICB9DQp9DQoNCi5iZmgtZ29vZ2xlZm9udHMgLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyBhIHsNCiAgd2lkdGg6IDIzMHB4Ow0KICBoZWlnaHQ6IDMwcHg7DQogIHRleHQtaW5kZW50OiAtOTk5OXB4Ow0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Jvb3RzdHJhcC1mb3JtaGVscGVycy1nb29nbGVmb250cy5wbmcpOw0KfQ0KDQouYmZoLWdvb2dsZWZvbnRzIC5iZmgtc2VsZWN0Ym94LW9wdGlvbnMgYTpmb2N1cyB7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmaWx0ZXI6IG5vbmU7DQp9DQoNCi5iZmgtZ29vZ2xlZm9udHMgLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyAuYWN0aXZlID4gYSwNCi5iZmgtZ29vZ2xlZm9udHMgLmJmaC1zZWxlY3Rib3gtb3B0aW9ucyAuYWN0aXZlID4gYTpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Jvb3RzdHJhcC1mb3JtaGVscGVycy1nb29nbGVmb250cy5wbmcpOw0KICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmaWx0ZXI6IG5vbmU7DQp9DQoNCi5iZmgtZGF0ZXBpY2tlci1jYWxlbmRhciB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAxMDAlOw0KICBsZWZ0OiAwOw0KICB6LWluZGV4OiAxMDAwOw0KICBkaXNwbGF5OiBub25lOw0KICBmbG9hdDogbGVmdDsNCiAgbWluLXdpZHRoOiAyOTZweDsNCn0NCg0KLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyID4gdGFibGUuY2FsZW5kYXIgew0KICB3aWR0aDogMzc2cHg7DQogIGJhY2tncm91bmQ6ICNmZmZmZmY7DQp9DQoNCi5iZmgtZGF0ZXBpY2tlci1jYWxlbmRhciA-IHRhYmxlLmNhbGVuZGFyIC5tb250aHMtaGVhZGVyID4gdGggew0KICBmb250LXNpemU6IDEycHg7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyID4gdGFibGUuY2FsZW5kYXIgLm1vbnRocy1oZWFkZXIgPiB0aC5tb250aCA-IHNwYW4gew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAxMDBweDsNCn0NCg0KLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyID4gdGFibGUuY2FsZW5kYXIgLm1vbnRocy1oZWFkZXIgPiB0aC55ZWFyID4gc3BhbiB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgd2lkdGg6IDUwcHg7DQp9DQoNCi5iZmgtZGF0ZXBpY2tlci1jYWxlbmRhciA-IHRhYmxlLmNhbGVuZGFyIC5kYXlzLWhlYWRlciA-IHRoIHsNCiAgd2lkdGg6IDMwcHg7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgbGluZS1oZWlnaHQ6IDEycHg7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyID4gdGFibGUuY2FsZW5kYXIgPiB0Ym9keSA-IHRyID4gdGQgew0KICB3aWR0aDogMzBweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBsaW5lLWhlaWdodDogMTJweDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouYmZoLWRhdGVwaWNrZXItY2FsZW5kYXIgPiB0YWJsZS5jYWxlbmRhciA-IHRib2R5ID4gdHIgPiB0ZC50b2RheSB7DQogIGNvbG9yOiAjZmZmZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhOw0KfQ0KDQouYmZoLWRhdGVwaWNrZXItY2FsZW5kYXIgPiB0YWJsZS5jYWxlbmRhciA-IHRib2R5ID4gdHIgPiB0ZC5vZmYgew0KICBjb2xvcjogIzk5OTk5OTsNCn0NCg0KLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyID4gdGFibGUuY2FsZW5kYXIgPiB0Ym9keSA-IHRyID4gdGQ6bm90KC5vZmYpOmhvdmVyIHsNCiAgY29sb3I6ICMyNjI2MjY7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCn0NCg0KLmJmaC1kYXRlcGlja2VyIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouYmZoLWRhdGVwaWNrZXItdG9nZ2xlIHsNCiAgKm1hcmdpbi1ib3R0b206IC0zcHg7DQp9DQoNCi5iZmgtZGF0ZXBpY2tlci10b2dnbGUgPiBpbnB1dFtyZWFkb25seV0gew0KICBjdXJzb3I6IGluaGVyaXQ7DQogIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7DQp9DQoNCi5vcGVuID4gLmJmaC1kYXRlcGlja2VyLWNhbGVuZGFyIHsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoNCi5iZmgtdGltZXBpY2tlci1wb3BvdmVyIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDEwMCU7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDEwMDA7DQogIGRpc3BsYXk6IG5vbmU7DQogIGZsb2F0OiBsZWZ0Ow0KICBtaW4td2lkdGg6IDEwMHB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjOw0KICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpOw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsNCiAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpOw0KICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KfQ0KDQouYmZoLXRpbWVwaWNrZXItcG9wb3ZlciA-IHRhYmxlIHsNCiAgd2lkdGg6IDE4MHB4Ow0KICBtYXJnaW46IDA7DQp9DQoNCi5iZmgtdGltZXBpY2tlci1wb3BvdmVyID4gdGFibGUgPiB0Ym9keSA-IHRyID4gdGQgew0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGJvcmRlcjogMDsNCn0NCg0KLmJmaC10aW1lcGlja2VyLXBvcG92ZXIgPiB0YWJsZSA-IHRib2R5ID4gdHIgPiB0ZC5zZXBhcmF0b3Igew0KICBmb250LXNpemU6IDIwcHg7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBsaW5lLWhlaWdodDogMjhweDsNCn0NCg0KLmJmaC10aW1lcGlja2VyLXBvcG92ZXIgPiB0YWJsZSA-IHRib2R5ID4gdHIgPiB0ZCA-IGRpdiA-IGlucHV0IHsNCiAgd2lkdGg6IDQycHggIWltcG9ydGFudDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouYmZoLXRpbWVwaWNrZXIgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5iZmgtdGltZXBpY2tlci10b2dnbGUgew0KICAqbWFyZ2luLWJvdHRvbTogLTNweDsNCn0NCg0KLmJmaC10aW1lcGlja2VyLXRvZ2dsZSA-IGlucHV0W3JlYWRvbmx5XSB7DQogIGN1cnNvcjogaW5oZXJpdDsNCiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsNCn0NCg0KLm9wZW4gPiAuYmZoLXRpbWVwaWNrZXItcG9wb3ZlciB7DQogIGRpc3BsYXk6IGJsb2NrOw0KfQ0KDQouYmZoLXNsaWRlciB7DQogIGhlaWdodDogMjBweDsNCiAgbWFyZ2luLXRvcDogOHB4Ow0KICBtYXJnaW4tYm90dG9tOiAyM3B4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjOw0KICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpOw0KICBib3JkZXItcmFkaXVzOiA0cHg7DQogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7DQp9DQoNCi5iZmgtc2xpZGVyID4gLmJmaC1zbGlkZXItaGFuZGxlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB3aWR0aDogMjBweDsNCiAgaGVpZ2h0OiAzNHB4Ow0KICBtYXJnaW4tdG9wOiAtN3B4Ow0KICBjdXJzb3I6IGNvbC1yZXNpemU7DQogIGJhY2tncm91bmQ6ICNlZmVmZWY7DQogIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7DQogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogIGJvcmRlci1yYWRpdXM6IDRweDsNCn0NCg0KLmJmaC1zbGlkZXIgPiAuYmZoLXNsaWRlci1oYW5kbGUgPiAuYmZoLXNsaWRlci12YWx1ZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgd2lkdGg6IDQ4cHg7DQogIGhlaWdodDogMjBweDsNCiAgbWFyZ2luLXRvcDogNXB4Ow0KICBtYXJnaW4tbGVmdDogLTE1cHg7DQogIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGN1cnNvcjogY29sLXJlc2l6ZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KfQ0KDQouYmZoLXNsaWRlciA-IC5iZmgtc2xpZGVyLWhhbmRsZSA-IC5iZmgtc2xpZGVyLXZhbHVlIC5kaXNhYmxlZCB7DQogIGNvbG9yOiAjOTk5OTk5Ow0KfQ0KDQouYmZoLXNsaWRlci5kaXNhYmxlZCAuYmZoLXNsaWRlci12YWx1ZSB7DQogIGNvbG9yOiAjOTk5OTk5Ow0KfQ0KDQouYmZoLWNvbG9ycGlja2VyLXBvcG92ZXIgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogMDsNCiAgei1pbmRleDogMTAwMDsNCiAgZGlzcGxheTogbm9uZTsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1pbi13aWR0aDogMTAwcHg7DQogIHBhZGRpbmc6IDIwcHg7DQogIGN1cnNvcjogZGVmYXVsdDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7DQogICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsNCiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCn0NCg0KLmJmaC1jb2xvcnBpY2tlci1wb3BvdmVyID4gY2FudmFzIHsNCiAgd2lkdGg6IDM4NHB4Ow0KICBoZWlnaHQ6IDI1NnB4Ow0KfQ0KDQouYmZoLWNvbG9ycGlja2VyIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouYmZoLWNvbG9ycGlja2VyLXRvZ2dsZSB7DQogICptYXJnaW4tYm90dG9tOiAtM3B4Ow0KfQ0KDQouYmZoLWNvbG9ycGlja2VyLXRvZ2dsZSA-IGlucHV0W3JlYWRvbmx5XSB7DQogIGN1cnNvcjogaW5oZXJpdDsNCiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsNCn0NCg0KLmJmaC1jb2xvcnBpY2tlci10b2dnbGUgLmJmaC1jb2xvcnBpY2tlci1pY29uIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiAxNnB4Ow0KICBoZWlnaHQ6IDE2cHg7DQp9DQoNCi5vcGVuID4gLmJmaC1jb2xvcnBpY2tlci1wb3BvdmVyIHsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoNCi5pbnB1dC1ncm91cCA-IC5iZmgtbnVtYmVyIHsNCiAgYm9yZGVyLXJpZ2h0OiAwOw0KfQ0KDQouaW5wdXQtZ3JvdXAgPiAuYmZoLW51bWJlci1idG46aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjOw0KfQ","bootstrap.css":"LyohDQogKiBCb290c3RyYXAgdjQuMC4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pDQogKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9ycw0KICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuDQogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQ0KICovDQo6cm9vdCB7DQogIC0tYmx1ZTogIzAwN2JmZjsNCiAgLS1pbmRpZ286ICM2NjEwZjI7DQogIC0tcHVycGxlOiAjNmY0MmMxOw0KICAtLXBpbms6ICNlODNlOGM7DQogIC0tcmVkOiAjZGMzNTQ1Ow0KICAtLW9yYW5nZTogI2ZkN2UxNDsNCiAgLS15ZWxsb3c6ICNmZmMxMDc7DQogIC0tZ3JlZW46ICMyOGE3NDU7DQogIC0tdGVhbDogIzIwYzk5NzsNCiAgLS1jeWFuOiAjMTdhMmI4Ow0KICAtLXdoaXRlOiAjZmZmOw0KICAtLWdyYXk6ICM2Yzc1N2Q7DQogIC0tZ3JheS1kYXJrOiAjMzQzYTQwOw0KICAtLXByaW1hcnk6ICMwMDdiZmY7DQogIC0tc2Vjb25kYXJ5OiAjNmM3NTdkOw0KICAtLXN1Y2Nlc3M6ICMyOGE3NDU7DQogIC0taW5mbzogIzE3YTJiODsNCiAgLS13YXJuaW5nOiAjZmZjMTA3Ow0KICAtLWRhbmdlcjogI2RjMzU0NTsNCiAgLS1saWdodDogI2Y4ZjlmYTsNCiAgLS1kYXJrOiAjMzQzYTQwOw0KICAtLWJyZWFrcG9pbnQteHM6IDA7DQogIC0tYnJlYWtwb2ludC1zbTogNTc2cHg7DQogIC0tYnJlYWtwb2ludC1tZDogNzY4cHg7DQogIC0tYnJlYWtwb2ludC1sZzogOTkycHg7DQogIC0tYnJlYWtwb2ludC14bDogMTIwMHB4Ow0KICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgc2Fucy1zZXJpZiwgIkFwcGxlIENvbG9yIEVtb2ppIiwgIlNlZ29lIFVJIEVtb2ppIiwgIlNlZ29lIFVJIFN5bWJvbCI7DQogIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICJMaWJlcmF0aW9uIE1vbm8iLCAiQ291cmllciBOZXciLCBtb25vc3BhY2U7DQp9DQoNCiosDQoqOjpiZWZvcmUsDQoqOjphZnRlciB7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCmh0bWwgew0KICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsNCiAgbGluZS1oZWlnaHQ6IDEuMTU7DQogIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsNCiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7DQogIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOw0KICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KDQpALW1zLXZpZXdwb3J0IHsNCiAgd2lkdGg6IGRldmljZS13aWR0aDsNCn0NCg0KYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24gew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KYm9keSB7DQogIG1hcmdpbjogMDsNCiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgc2Fucy1zZXJpZiwgIkFwcGxlIENvbG9yIEVtb2ppIiwgIlNlZ29lIFVJIEVtb2ppIiwgIlNlZ29lIFVJIFN5bWJvbCI7DQogIGZvbnQtc2l6ZTogMXJlbTsNCiAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQp9DQoNClt0YWJpbmRleD0iLTEiXTpmb2N1cyB7DQogIG91dGxpbmU6IDAgIWltcG9ydGFudDsNCn0NCg0KaHIgew0KICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogdmlzaWJsZTsNCn0NCg0KaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7DQogIG1hcmdpbi10b3A6IDA7DQogIG1hcmdpbi1ib3R0b206IDAuNXJlbTsNCn0NCg0KcCB7DQogIG1hcmdpbi10b3A6IDA7DQogIG1hcmdpbi1ib3R0b206IDFyZW07DQp9DQoNCmFiYnJbdGl0bGVdLA0KYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7DQogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsNCiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOw0KICBjdXJzb3I6IGhlbHA7DQogIGJvcmRlci1ib3R0b206IDA7DQp9DQoNCmFkZHJlc3Mgew0KICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICBmb250LXN0eWxlOiBub3JtYWw7DQogIGxpbmUtaGVpZ2h0OiBpbmhlcml0Ow0KfQ0KDQpvbCwNCnVsLA0KZGwgew0KICBtYXJnaW4tdG9wOiAwOw0KICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KfQ0KDQpvbCBvbCwNCnVsIHVsLA0Kb2wgdWwsDQp1bCBvbCB7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCmR0IHsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KZGQgew0KICBtYXJnaW4tYm90dG9tOiAuNXJlbTsNCiAgbWFyZ2luLWxlZnQ6IDA7DQp9DQoNCmJsb2NrcXVvdGUgew0KICBtYXJnaW46IDAgMCAxcmVtOw0KfQ0KDQpkZm4gew0KICBmb250LXN0eWxlOiBpdGFsaWM7DQp9DQoNCmIsDQpzdHJvbmcgew0KICBmb250LXdlaWdodDogYm9sZGVyOw0KfQ0KDQpzbWFsbCB7DQogIGZvbnQtc2l6ZTogODAlOw0KfQ0KDQpzdWIsDQpzdXAgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGZvbnQtc2l6ZTogNzUlOw0KICBsaW5lLWhlaWdodDogMDsNCiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOw0KfQ0KDQpzdWIgew0KICBib3R0b206IC0uMjVlbTsNCn0NCg0Kc3VwIHsNCiAgdG9wOiAtLjVlbTsNCn0NCg0KYSB7DQogIGNvbG9yOiAjMDA3YmZmOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOw0KfQ0KDQphOmhvdmVyIHsNCiAgY29sb3I6ICMwMDU2YjM7DQogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KfQ0KDQphOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7DQogIGNvbG9yOiBpbmhlcml0Ow0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmhvdmVyLCBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7DQogIGNvbG9yOiBpbmhlcml0Ow0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHsNCiAgb3V0bGluZTogMDsNCn0NCg0KcHJlLA0KY29kZSwNCmtiZCwNCnNhbXAgew0KICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7DQogIGZvbnQtc2l6ZTogMWVtOw0KfQ0KDQpwcmUgew0KICBtYXJnaW4tdG9wOiAwOw0KICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICBvdmVyZmxvdzogYXV0bzsNCiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7DQp9DQoNCmZpZ3VyZSB7DQogIG1hcmdpbjogMCAwIDFyZW07DQp9DQoNCmltZyB7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIGJvcmRlci1zdHlsZTogbm9uZTsNCn0NCg0Kc3ZnOm5vdCg6cm9vdCkgew0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQp0YWJsZSB7DQogIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7DQp9DQoNCmNhcHRpb24gew0KICBwYWRkaW5nLXRvcDogMC43NXJlbTsNCiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07DQogIGNvbG9yOiAjNmM3NTdkOw0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsNCn0NCg0KdGggew0KICB0ZXh0LWFsaWduOiBpbmhlcml0Ow0KfQ0KDQpsYWJlbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgbWFyZ2luLWJvdHRvbTogLjVyZW07DQp9DQoNCmJ1dHRvbiB7DQogIGJvcmRlci1yYWRpdXM6IDA7DQp9DQoNCmJ1dHRvbjpmb2N1cyB7DQogIG91dGxpbmU6IDFweCBkb3R0ZWQ7DQogIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsNCn0NCg0KaW5wdXQsDQpidXR0b24sDQpzZWxlY3QsDQpvcHRncm91cCwNCnRleHRhcmVhIHsNCiAgbWFyZ2luOiAwOw0KICBmb250LWZhbWlseTogaW5oZXJpdDsNCiAgZm9udC1zaXplOiBpbmhlcml0Ow0KICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCn0NCg0KYnV0dG9uLA0KaW5wdXQgew0KICBvdmVyZmxvdzogdmlzaWJsZTsNCn0NCg0KYnV0dG9uLA0Kc2VsZWN0IHsNCiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7DQp9DQoNCmJ1dHRvbiwNCmh0bWwgW3R5cGU9ImJ1dHRvbiJdLA0KW3R5cGU9InJlc2V0Il0sDQpbdHlwZT0ic3VibWl0Il0gew0KICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsNCn0NCg0KYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLA0KW3R5cGU9ImJ1dHRvbiJdOjotbW96LWZvY3VzLWlubmVyLA0KW3R5cGU9InJlc2V0Il06Oi1tb3otZm9jdXMtaW5uZXIsDQpbdHlwZT0ic3VibWl0Il06Oi1tb3otZm9jdXMtaW5uZXIgew0KICBwYWRkaW5nOiAwOw0KICBib3JkZXItc3R5bGU6IG5vbmU7DQp9DQoNCmlucHV0W3R5cGU9InJhZGlvIl0sDQppbnB1dFt0eXBlPSJjaGVja2JveCJdIHsNCiAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgcGFkZGluZzogMDsNCn0NCg0KaW5wdXRbdHlwZT0iZGF0ZSJdLA0KaW5wdXRbdHlwZT0idGltZSJdLA0KaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSwNCmlucHV0W3R5cGU9Im1vbnRoIl0gew0KICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7DQp9DQoNCnRleHRhcmVhIHsNCiAgb3ZlcmZsb3c6IGF1dG87DQogIHJlc2l6ZTogdmVydGljYWw7DQp9DQoNCmZpZWxkc2V0IHsNCiAgbWluLXdpZHRoOiAwOw0KICBwYWRkaW5nOiAwOw0KICBtYXJnaW46IDA7DQogIGJvcmRlcjogMDsNCn0NCg0KbGVnZW5kIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiAxMDAlOw0KICBtYXgtd2lkdGg6IDEwMCU7DQogIHBhZGRpbmc6IDA7DQogIG1hcmdpbi1ib3R0b206IC41cmVtOw0KICBmb250LXNpemU6IDEuNXJlbTsNCiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQogIGNvbG9yOiBpbmhlcml0Ow0KICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KfQ0KDQpwcm9ncmVzcyB7DQogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsNCn0NCg0KW3R5cGU9Im51bWJlciJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLA0KW3R5cGU9Im51bWJlciJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsNCiAgaGVpZ2h0OiBhdXRvOw0KfQ0KDQpbdHlwZT0ic2VhcmNoIl0gew0KICBvdXRsaW5lLW9mZnNldDogLTJweDsNCiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOw0KfQ0KDQpbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sDQpbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24gew0KICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQp9DQoNCjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24gew0KICBmb250OiBpbmhlcml0Ow0KICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsNCn0NCg0Kb3V0cHV0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KfQ0KDQpzdW1tYXJ5IHsNCiAgZGlzcGxheTogbGlzdC1pdGVtOw0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoNCnRlbXBsYXRlIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCg0KW2hpZGRlbl0gew0KICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQp9DQoNCmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsDQouaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHsNCiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOw0KICBmb250LWZhbWlseTogaW5oZXJpdDsNCiAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgbGluZS1oZWlnaHQ6IDEuMjsNCiAgY29sb3I6IGluaGVyaXQ7DQp9DQoNCmgxLCAuaDEgew0KICBmb250LXNpemU6IDIuNXJlbTsNCn0NCg0KaDIsIC5oMiB7DQogIGZvbnQtc2l6ZTogMnJlbTsNCn0NCg0KaDMsIC5oMyB7DQogIGZvbnQtc2l6ZTogMS43NXJlbTsNCn0NCg0KaDQsIC5oNCB7DQogIGZvbnQtc2l6ZTogMS41cmVtOw0KfQ0KDQpoNSwgLmg1IHsNCiAgZm9udC1zaXplOiAxLjI1cmVtOw0KfQ0KDQpoNiwgLmg2IHsNCiAgZm9udC1zaXplOiAxcmVtOw0KfQ0KDQoubGVhZCB7DQogIGZvbnQtc2l6ZTogMS4yNXJlbTsNCiAgZm9udC13ZWlnaHQ6IDMwMDsNCn0NCg0KLmRpc3BsYXktMSB7DQogIGZvbnQtc2l6ZTogNnJlbTsNCiAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgbGluZS1oZWlnaHQ6IDEuMjsNCn0NCg0KLmRpc3BsYXktMiB7DQogIGZvbnQtc2l6ZTogNS41cmVtOw0KICBmb250LXdlaWdodDogMzAwOw0KICBsaW5lLWhlaWdodDogMS4yOw0KfQ0KDQouZGlzcGxheS0zIHsNCiAgZm9udC1zaXplOiA0LjVyZW07DQogIGZvbnQtd2VpZ2h0OiAzMDA7DQogIGxpbmUtaGVpZ2h0OiAxLjI7DQp9DQoNCi5kaXNwbGF5LTQgew0KICBmb250LXNpemU6IDMuNXJlbTsNCiAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgbGluZS1oZWlnaHQ6IDEuMjsNCn0NCg0KaHIgew0KICBtYXJnaW4tdG9wOiAxcmVtOw0KICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICBib3JkZXI6IDA7DQogIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7DQp9DQoNCnNtYWxsLA0KLnNtYWxsIHsNCiAgZm9udC1zaXplOiA4MCU7DQogIGZvbnQtd2VpZ2h0OiA0MDA7DQp9DQoNCm1hcmssDQoubWFyayB7DQogIHBhZGRpbmc6IDAuMmVtOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KfQ0KDQoubGlzdC11bnN0eWxlZCB7DQogIHBhZGRpbmctbGVmdDogMDsNCiAgbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLmxpc3QtaW5saW5lIHsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQoubGlzdC1pbmxpbmUtaXRlbSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCg0KLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7DQogIG1hcmdpbi1yaWdodDogMC41cmVtOw0KfQ0KDQouaW5pdGlhbGlzbSB7DQogIGZvbnQtc2l6ZTogOTAlOw0KICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KfQ0KDQouYmxvY2txdW90ZSB7DQogIG1hcmdpbi1ib3R0b206IDFyZW07DQogIGZvbnQtc2l6ZTogMS4yNXJlbTsNCn0NCg0KLmJsb2NrcXVvdGUtZm9vdGVyIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIGZvbnQtc2l6ZTogODAlOw0KICBjb2xvcjogIzZjNzU3ZDsNCn0NCg0KLmJsb2NrcXVvdGUtZm9vdGVyOjpiZWZvcmUgew0KICBjb250ZW50OiAiXDIwMTQgXDAwQTAiOw0KfQ0KDQouaW1nLWZsdWlkIHsNCiAgbWF4LXdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IGF1dG87DQp9DQoNCi5pbWctdGh1bWJuYWlsIHsNCiAgcGFkZGluZzogMC4yNXJlbTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCiAgbWF4LXdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IGF1dG87DQp9DQoNCi5maWd1cmUgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQoNCi5maWd1cmUtaW1nIHsNCiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOw0KICBsaW5lLWhlaWdodDogMTsNCn0NCg0KLmZpZ3VyZS1jYXB0aW9uIHsNCiAgZm9udC1zaXplOiA5MCU7DQogIGNvbG9yOiAjNmM3NTdkOw0KfQ0KDQpjb2RlLA0Ka2JkLA0KcHJlLA0Kc2FtcCB7DQogIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICJMaWJlcmF0aW9uIE1vbm8iLCAiQ291cmllciBOZXciLCBtb25vc3BhY2U7DQp9DQoNCmNvZGUgew0KICBmb250LXNpemU6IDg3LjUlOw0KICBjb2xvcjogI2U4M2U4YzsNCiAgd29yZC1icmVhazogYnJlYWstd29yZDsNCn0NCg0KYSA-IGNvZGUgew0KICBjb2xvcjogaW5oZXJpdDsNCn0NCg0Ka2JkIHsNCiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTsNCiAgZm9udC1zaXplOiA4Ny41JTsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7DQogIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsNCn0NCg0Ka2JkIGtiZCB7DQogIHBhZGRpbmc6IDA7DQogIGZvbnQtc2l6ZTogMTAwJTsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KcHJlIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIGZvbnQtc2l6ZTogODcuNSU7DQogIGNvbG9yOiAjMjEyNTI5Ow0KfQ0KDQpwcmUgY29kZSB7DQogIGZvbnQtc2l6ZTogaW5oZXJpdDsNCiAgY29sb3I6IGluaGVyaXQ7DQogIHdvcmQtYnJlYWs6IG5vcm1hbDsNCn0NCg0KLnByZS1zY3JvbGxhYmxlIHsNCiAgbWF4LWhlaWdodDogMzQwcHg7DQogIG92ZXJmbG93LXk6IHNjcm9sbDsNCn0NCg0KLmNvbnRhaW5lciB7DQogIHdpZHRoOiAxMDAlOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogIG1hcmdpbi1yaWdodDogYXV0bzsNCiAgbWFyZ2luLWxlZnQ6IGF1dG87DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgew0KICAuY29udGFpbmVyIHsNCiAgICBtYXgtd2lkdGg6IDU0MHB4Ow0KICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAuY29udGFpbmVyIHsNCiAgICBtYXgtd2lkdGg6IDcyMHB4Ow0KICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAuY29udGFpbmVyIHsNCiAgICBtYXgtd2lkdGg6IDk2MHB4Ow0KICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgLmNvbnRhaW5lciB7DQogICAgbWF4LXdpZHRoOiAxMTQwcHg7DQogIH0NCn0NCg0KLmNvbnRhaW5lci1mbHVpZCB7DQogIHdpZHRoOiAxMDAlOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogIG1hcmdpbi1yaWdodDogYXV0bzsNCiAgbWFyZ2luLWxlZnQ6IGF1dG87DQp9DQoNCi5yb3cgew0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC1tcy1mbGV4LXdyYXA6IHdyYXA7DQogIGZsZXgtd3JhcDogd3JhcDsNCiAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgbWFyZ2luLWxlZnQ6IC0xNXB4Ow0KfQ0KDQoubm8tZ3V0dGVycyB7DQogIG1hcmdpbi1yaWdodDogMDsNCiAgbWFyZ2luLWxlZnQ6IDA7DQp9DQoNCi5uby1ndXR0ZXJzID4gLmNvbCwNCi5uby1ndXR0ZXJzID4gW2NsYXNzKj0iY29sLSJdIHsNCiAgcGFkZGluZy1yaWdodDogMDsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KfQ0KDQouY29sLTEsIC5jb2wtMiwgLmNvbC0zLCAuY29sLTQsIC5jb2wtNSwgLmNvbC02LCAuY29sLTcsIC5jb2wtOCwgLmNvbC05LCAuY29sLTEwLCAuY29sLTExLCAuY29sLTEyLCAuY29sLA0KLmNvbC1hdXRvLCAuY29sLXNtLTEsIC5jb2wtc20tMiwgLmNvbC1zbS0zLCAuY29sLXNtLTQsIC5jb2wtc20tNSwgLmNvbC1zbS02LCAuY29sLXNtLTcsIC5jb2wtc20tOCwgLmNvbC1zbS05LCAuY29sLXNtLTEwLCAuY29sLXNtLTExLCAuY29sLXNtLTEyLCAuY29sLXNtLA0KLmNvbC1zbS1hdXRvLCAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyLCAuY29sLW1kLA0KLmNvbC1tZC1hdXRvLCAuY29sLWxnLTEsIC5jb2wtbGctMiwgLmNvbC1sZy0zLCAuY29sLWxnLTQsIC5jb2wtbGctNSwgLmNvbC1sZy02LCAuY29sLWxnLTcsIC5jb2wtbGctOCwgLmNvbC1sZy05LCAuY29sLWxnLTEwLCAuY29sLWxnLTExLCAuY29sLWxnLTEyLCAuY29sLWxnLA0KLmNvbC1sZy1hdXRvLCAuY29sLXhsLTEsIC5jb2wteGwtMiwgLmNvbC14bC0zLCAuY29sLXhsLTQsIC5jb2wteGwtNSwgLmNvbC14bC02LCAuY29sLXhsLTcsIC5jb2wteGwtOCwgLmNvbC14bC05LCAuY29sLXhsLTEwLCAuY29sLXhsLTExLCAuY29sLXhsLTEyLCAuY29sLXhsLA0KLmNvbC14bC1hdXRvIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB3aWR0aDogMTAwJTsNCiAgbWluLWhlaWdodDogMXB4Ow0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQp9DQoNCi5jb2wgew0KICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsNCiAgZmxleC1iYXNpczogMDsNCiAgLXdlYmtpdC1ib3gtZmxleDogMTsNCiAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7DQogIGZsZXgtZ3JvdzogMTsNCiAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQouY29sLWF1dG8gew0KICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAtbXMtZmxleDogMCAwIGF1dG87DQogIGZsZXg6IDAgMCBhdXRvOw0KICB3aWR0aDogYXV0bzsNCiAgbWF4LXdpZHRoOiBub25lOw0KfQ0KDQouY29sLTEgew0KICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTsNCiAgZmxleDogMCAwIDguMzMzMzMzJTsNCiAgbWF4LXdpZHRoOiA4LjMzMzMzMyU7DQp9DQoNCi5jb2wtMiB7DQogIC13ZWJraXQtYm94LWZsZXg6IDA7DQogIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjY3JTsNCiAgZmxleDogMCAwIDE2LjY2NjY2NyU7DQogIG1heC13aWR0aDogMTYuNjY2NjY3JTsNCn0NCg0KLmNvbC0zIHsNCiAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgLW1zLWZsZXg6IDAgMCAyNSU7DQogIGZsZXg6IDAgMCAyNSU7DQogIG1heC13aWR0aDogMjUlOw0KfQ0KDQouY29sLTQgew0KICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7DQogIGZsZXg6IDAgMCAzMy4zMzMzMzMlOw0KICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7DQp9DQoNCi5jb2wtNSB7DQogIC13ZWJraXQtYm94LWZsZXg6IDA7DQogIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjY3JTsNCiAgZmxleDogMCAwIDQxLjY2NjY2NyU7DQogIG1heC13aWR0aDogNDEuNjY2NjY3JTsNCn0NCg0KLmNvbC02IHsNCiAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgLW1zLWZsZXg6IDAgMCA1MCU7DQogIGZsZXg6IDAgMCA1MCU7DQogIG1heC13aWR0aDogNTAlOw0KfQ0KDQouY29sLTcgew0KICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7DQogIGZsZXg6IDAgMCA1OC4zMzMzMzMlOw0KICBtYXgtd2lkdGg6IDU4LjMzMzMzMyU7DQp9DQoNCi5jb2wtOCB7DQogIC13ZWJraXQtYm94LWZsZXg6IDA7DQogIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjY3JTsNCiAgZmxleDogMCAwIDY2LjY2NjY2NyU7DQogIG1heC13aWR0aDogNjYuNjY2NjY3JTsNCn0NCg0KLmNvbC05IHsNCiAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgLW1zLWZsZXg6IDAgMCA3NSU7DQogIGZsZXg6IDAgMCA3NSU7DQogIG1heC13aWR0aDogNzUlOw0KfQ0KDQouY29sLTEwIHsNCiAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICBmbGV4OiAwIDAgODMuMzMzMzMzJTsNCiAgbWF4LXdpZHRoOiA4My4zMzMzMzMlOw0KfQ0KDQouY29sLTExIHsNCiAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NjclOw0KICBmbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgbWF4LXdpZHRoOiA5MS42NjY2NjclOw0KfQ0KDQouY29sLTEyIHsNCiAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgLW1zLWZsZXg6IDAgMCAxMDAlOw0KICBmbGV4OiAwIDAgMTAwJTsNCiAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQoub3JkZXItZmlyc3Qgew0KICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwOw0KICAtbXMtZmxleC1vcmRlcjogLTE7DQogIG9yZGVyOiAtMTsNCn0NCg0KLm9yZGVyLWxhc3Qgew0KICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDsNCiAgLW1zLWZsZXgtb3JkZXI6IDEzOw0KICBvcmRlcjogMTM7DQp9DQoNCi5vcmRlci0wIHsNCiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTsNCiAgLW1zLWZsZXgtb3JkZXI6IDA7DQogIG9yZGVyOiAwOw0KfQ0KDQoub3JkZXItMSB7DQogIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7DQogIC1tcy1mbGV4LW9yZGVyOiAxOw0KICBvcmRlcjogMTsNCn0NCg0KLm9yZGVyLTIgew0KICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzOw0KICAtbXMtZmxleC1vcmRlcjogMjsNCiAgb3JkZXI6IDI7DQp9DQoNCi5vcmRlci0zIHsNCiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDsNCiAgLW1zLWZsZXgtb3JkZXI6IDM7DQogIG9yZGVyOiAzOw0KfQ0KDQoub3JkZXItNCB7DQogIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDU7DQogIC1tcy1mbGV4LW9yZGVyOiA0Ow0KICBvcmRlcjogNDsNCn0NCg0KLm9yZGVyLTUgew0KICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA2Ow0KICAtbXMtZmxleC1vcmRlcjogNTsNCiAgb3JkZXI6IDU7DQp9DQoNCi5vcmRlci02IHsNCiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNzsNCiAgLW1zLWZsZXgtb3JkZXI6IDY7DQogIG9yZGVyOiA2Ow0KfQ0KDQoub3JkZXItNyB7DQogIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDg7DQogIC1tcy1mbGV4LW9yZGVyOiA3Ow0KICBvcmRlcjogNzsNCn0NCg0KLm9yZGVyLTggew0KICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA5Ow0KICAtbXMtZmxleC1vcmRlcjogODsNCiAgb3JkZXI6IDg7DQp9DQoNCi5vcmRlci05IHsNCiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTA7DQogIC1tcy1mbGV4LW9yZGVyOiA5Ow0KICBvcmRlcjogOTsNCn0NCg0KLm9yZGVyLTEwIHsNCiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTE7DQogIC1tcy1mbGV4LW9yZGVyOiAxMDsNCiAgb3JkZXI6IDEwOw0KfQ0KDQoub3JkZXItMTEgew0KICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjsNCiAgLW1zLWZsZXgtb3JkZXI6IDExOw0KICBvcmRlcjogMTE7DQp9DQoNCi5vcmRlci0xMiB7DQogIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEzOw0KICAtbXMtZmxleC1vcmRlcjogMTI7DQogIG9yZGVyOiAxMjsNCn0NCg0KLm9mZnNldC0xIHsNCiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTsNCn0NCg0KLm9mZnNldC0yIHsNCiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7DQp9DQoNCi5vZmZzZXQtMyB7DQogIG1hcmdpbi1sZWZ0OiAyNSU7DQp9DQoNCi5vZmZzZXQtNCB7DQogIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlOw0KfQ0KDQoub2Zmc2V0LTUgew0KICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTsNCn0NCg0KLm9mZnNldC02IHsNCiAgbWFyZ2luLWxlZnQ6IDUwJTsNCn0NCg0KLm9mZnNldC03IHsNCiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7DQp9DQoNCi5vZmZzZXQtOCB7DQogIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclOw0KfQ0KDQoub2Zmc2V0LTkgew0KICBtYXJnaW4tbGVmdDogNzUlOw0KfQ0KDQoub2Zmc2V0LTEwIHsNCiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7DQp9DQoNCi5vZmZzZXQtMTEgew0KICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7DQogIC5jb2wtc20gew0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOw0KICAgIGZsZXgtYmFzaXM6IDA7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMTsNCiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsNCiAgICBmbGV4LWdyb3c6IDE7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5jb2wtc20tYXV0byB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIGF1dG87DQogICAgZmxleDogMCAwIGF1dG87DQogICAgd2lkdGg6IGF1dG87DQogICAgbWF4LXdpZHRoOiBub25lOw0KICB9DQogIC5jb2wtc20tMSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTsNCiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogOC4zMzMzMzMlOw0KICB9DQogIC5jb2wtc20tMiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiAxNi42NjY2NjclOw0KICB9DQogIC5jb2wtc20tMyB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDI1JTsNCiAgICBmbGV4OiAwIDAgMjUlOw0KICAgIG1heC13aWR0aDogMjUlOw0KICB9DQogIC5jb2wtc20tNCB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlOw0KICB9DQogIC5jb2wtc20tNSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiA0MS42NjY2NjclOw0KICB9DQogIC5jb2wtc20tNiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDUwJTsNCiAgICBmbGV4OiAwIDAgNTAlOw0KICAgIG1heC13aWR0aDogNTAlOw0KICB9DQogIC5jb2wtc20tNyB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlOw0KICB9DQogIC5jb2wtc20tOCB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclOw0KICB9DQogIC5jb2wtc20tOSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDc1JTsNCiAgICBmbGV4OiAwIDAgNzUlOw0KICAgIG1heC13aWR0aDogNzUlOw0KICB9DQogIC5jb2wtc20tMTAgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogODMuMzMzMzMzJTsNCiAgfQ0KICAuY29sLXNtLTExIHsNCiAgICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7DQogIH0NCiAgLmNvbC1zbS0xMiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDEwMCU7DQogICAgZmxleDogMCAwIDEwMCU7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5vcmRlci1zbS1maXJzdCB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDsNCiAgICAtbXMtZmxleC1vcmRlcjogLTE7DQogICAgb3JkZXI6IC0xOw0KICB9DQogIC5vcmRlci1zbS1sYXN0IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDsNCiAgICAtbXMtZmxleC1vcmRlcjogMTM7DQogICAgb3JkZXI6IDEzOw0KICB9DQogIC5vcmRlci1zbS0wIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAwOw0KICAgIG9yZGVyOiAwOw0KICB9DQogIC5vcmRlci1zbS0xIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAxOw0KICAgIG9yZGVyOiAxOw0KICB9DQogIC5vcmRlci1zbS0yIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAyOw0KICAgIG9yZGVyOiAyOw0KICB9DQogIC5vcmRlci1zbS0zIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiAzOw0KICAgIG9yZGVyOiAzOw0KICB9DQogIC5vcmRlci1zbS00IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA0Ow0KICAgIG9yZGVyOiA0Ow0KICB9DQogIC5vcmRlci1zbS01IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA2Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA1Ow0KICAgIG9yZGVyOiA1Ow0KICB9DQogIC5vcmRlci1zbS02IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA2Ow0KICAgIG9yZGVyOiA2Ow0KICB9DQogIC5vcmRlci1zbS03IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA3Ow0KICAgIG9yZGVyOiA3Ow0KICB9DQogIC5vcmRlci1zbS04IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA5Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA4Ow0KICAgIG9yZGVyOiA4Ow0KICB9DQogIC5vcmRlci1zbS05IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDsNCiAgICAtbXMtZmxleC1vcmRlcjogOTsNCiAgICBvcmRlcjogOTsNCiAgfQ0KICAub3JkZXItc20tMTAgew0KICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAxMDsNCiAgICBvcmRlcjogMTA7DQogIH0NCiAgLm9yZGVyLXNtLTExIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjsNCiAgICAtbXMtZmxleC1vcmRlcjogMTE7DQogICAgb3JkZXI6IDExOw0KICB9DQogIC5vcmRlci1zbS0xMiB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7DQogICAgLW1zLWZsZXgtb3JkZXI6IDEyOw0KICAgIG9yZGVyOiAxMjsNCiAgfQ0KICAub2Zmc2V0LXNtLTAgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5vZmZzZXQtc20tMSB7DQogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTsNCiAgfQ0KICAub2Zmc2V0LXNtLTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjclOw0KICB9DQogIC5vZmZzZXQtc20tMyB7DQogICAgbWFyZ2luLWxlZnQ6IDI1JTsNCiAgfQ0KICAub2Zmc2V0LXNtLTQgew0KICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlOw0KICB9DQogIC5vZmZzZXQtc20tNSB7DQogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NyU7DQogIH0NCiAgLm9mZnNldC1zbS02IHsNCiAgICBtYXJnaW4tbGVmdDogNTAlOw0KICB9DQogIC5vZmZzZXQtc20tNyB7DQogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7DQogIH0NCiAgLm9mZnNldC1zbS04IHsNCiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY3JTsNCiAgfQ0KICAub2Zmc2V0LXNtLTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogIH0NCiAgLm9mZnNldC1zbS0xMCB7DQogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7DQogIH0NCiAgLm9mZnNldC1zbS0xMSB7DQogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NyU7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogIC5jb2wtbWQgew0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOw0KICAgIGZsZXgtYmFzaXM6IDA7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMTsNCiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsNCiAgICBmbGV4LWdyb3c6IDE7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5jb2wtbWQtYXV0byB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIGF1dG87DQogICAgZmxleDogMCAwIGF1dG87DQogICAgd2lkdGg6IGF1dG87DQogICAgbWF4LXdpZHRoOiBub25lOw0KICB9DQogIC5jb2wtbWQtMSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTsNCiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogOC4zMzMzMzMlOw0KICB9DQogIC5jb2wtbWQtMiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiAxNi42NjY2NjclOw0KICB9DQogIC5jb2wtbWQtMyB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDI1JTsNCiAgICBmbGV4OiAwIDAgMjUlOw0KICAgIG1heC13aWR0aDogMjUlOw0KICB9DQogIC5jb2wtbWQtNCB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlOw0KICB9DQogIC5jb2wtbWQtNSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiA0MS42NjY2NjclOw0KICB9DQogIC5jb2wtbWQtNiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDUwJTsNCiAgICBmbGV4OiAwIDAgNTAlOw0KICAgIG1heC13aWR0aDogNTAlOw0KICB9DQogIC5jb2wtbWQtNyB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlOw0KICB9DQogIC5jb2wtbWQtOCB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclOw0KICB9DQogIC5jb2wtbWQtOSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDc1JTsNCiAgICBmbGV4OiAwIDAgNzUlOw0KICAgIG1heC13aWR0aDogNzUlOw0KICB9DQogIC5jb2wtbWQtMTAgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogODMuMzMzMzMzJTsNCiAgfQ0KICAuY29sLW1kLTExIHsNCiAgICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7DQogIH0NCiAgLmNvbC1tZC0xMiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDEwMCU7DQogICAgZmxleDogMCAwIDEwMCU7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5vcmRlci1tZC1maXJzdCB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDsNCiAgICAtbXMtZmxleC1vcmRlcjogLTE7DQogICAgb3JkZXI6IC0xOw0KICB9DQogIC5vcmRlci1tZC1sYXN0IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDsNCiAgICAtbXMtZmxleC1vcmRlcjogMTM7DQogICAgb3JkZXI6IDEzOw0KICB9DQogIC5vcmRlci1tZC0wIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAwOw0KICAgIG9yZGVyOiAwOw0KICB9DQogIC5vcmRlci1tZC0xIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAxOw0KICAgIG9yZGVyOiAxOw0KICB9DQogIC5vcmRlci1tZC0yIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAyOw0KICAgIG9yZGVyOiAyOw0KICB9DQogIC5vcmRlci1tZC0zIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiAzOw0KICAgIG9yZGVyOiAzOw0KICB9DQogIC5vcmRlci1tZC00IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA0Ow0KICAgIG9yZGVyOiA0Ow0KICB9DQogIC5vcmRlci1tZC01IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA2Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA1Ow0KICAgIG9yZGVyOiA1Ow0KICB9DQogIC5vcmRlci1tZC02IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA2Ow0KICAgIG9yZGVyOiA2Ow0KICB9DQogIC5vcmRlci1tZC03IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA3Ow0KICAgIG9yZGVyOiA3Ow0KICB9DQogIC5vcmRlci1tZC04IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA5Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA4Ow0KICAgIG9yZGVyOiA4Ow0KICB9DQogIC5vcmRlci1tZC05IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDsNCiAgICAtbXMtZmxleC1vcmRlcjogOTsNCiAgICBvcmRlcjogOTsNCiAgfQ0KICAub3JkZXItbWQtMTAgew0KICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAxMDsNCiAgICBvcmRlcjogMTA7DQogIH0NCiAgLm9yZGVyLW1kLTExIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjsNCiAgICAtbXMtZmxleC1vcmRlcjogMTE7DQogICAgb3JkZXI6IDExOw0KICB9DQogIC5vcmRlci1tZC0xMiB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7DQogICAgLW1zLWZsZXgtb3JkZXI6IDEyOw0KICAgIG9yZGVyOiAxMjsNCiAgfQ0KICAub2Zmc2V0LW1kLTAgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5vZmZzZXQtbWQtMSB7DQogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTsNCiAgfQ0KICAub2Zmc2V0LW1kLTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjclOw0KICB9DQogIC5vZmZzZXQtbWQtMyB7DQogICAgbWFyZ2luLWxlZnQ6IDI1JTsNCiAgfQ0KICAub2Zmc2V0LW1kLTQgew0KICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlOw0KICB9DQogIC5vZmZzZXQtbWQtNSB7DQogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NyU7DQogIH0NCiAgLm9mZnNldC1tZC02IHsNCiAgICBtYXJnaW4tbGVmdDogNTAlOw0KICB9DQogIC5vZmZzZXQtbWQtNyB7DQogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7DQogIH0NCiAgLm9mZnNldC1tZC04IHsNCiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY3JTsNCiAgfQ0KICAub2Zmc2V0LW1kLTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogIH0NCiAgLm9mZnNldC1tZC0xMCB7DQogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7DQogIH0NCiAgLm9mZnNldC1tZC0xMSB7DQogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NyU7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogIC5jb2wtbGcgew0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOw0KICAgIGZsZXgtYmFzaXM6IDA7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMTsNCiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsNCiAgICBmbGV4LWdyb3c6IDE7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5jb2wtbGctYXV0byB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIGF1dG87DQogICAgZmxleDogMCAwIGF1dG87DQogICAgd2lkdGg6IGF1dG87DQogICAgbWF4LXdpZHRoOiBub25lOw0KICB9DQogIC5jb2wtbGctMSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTsNCiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogOC4zMzMzMzMlOw0KICB9DQogIC5jb2wtbGctMiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiAxNi42NjY2NjclOw0KICB9DQogIC5jb2wtbGctMyB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDI1JTsNCiAgICBmbGV4OiAwIDAgMjUlOw0KICAgIG1heC13aWR0aDogMjUlOw0KICB9DQogIC5jb2wtbGctNCB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlOw0KICB9DQogIC5jb2wtbGctNSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiA0MS42NjY2NjclOw0KICB9DQogIC5jb2wtbGctNiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDUwJTsNCiAgICBmbGV4OiAwIDAgNTAlOw0KICAgIG1heC13aWR0aDogNTAlOw0KICB9DQogIC5jb2wtbGctNyB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlOw0KICB9DQogIC5jb2wtbGctOCB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclOw0KICB9DQogIC5jb2wtbGctOSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDc1JTsNCiAgICBmbGV4OiAwIDAgNzUlOw0KICAgIG1heC13aWR0aDogNzUlOw0KICB9DQogIC5jb2wtbGctMTAgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogODMuMzMzMzMzJTsNCiAgfQ0KICAuY29sLWxnLTExIHsNCiAgICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7DQogIH0NCiAgLmNvbC1sZy0xMiB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDEwMCU7DQogICAgZmxleDogMCAwIDEwMCU7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5vcmRlci1sZy1maXJzdCB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDsNCiAgICAtbXMtZmxleC1vcmRlcjogLTE7DQogICAgb3JkZXI6IC0xOw0KICB9DQogIC5vcmRlci1sZy1sYXN0IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDsNCiAgICAtbXMtZmxleC1vcmRlcjogMTM7DQogICAgb3JkZXI6IDEzOw0KICB9DQogIC5vcmRlci1sZy0wIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAwOw0KICAgIG9yZGVyOiAwOw0KICB9DQogIC5vcmRlci1sZy0xIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAxOw0KICAgIG9yZGVyOiAxOw0KICB9DQogIC5vcmRlci1sZy0yIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAyOw0KICAgIG9yZGVyOiAyOw0KICB9DQogIC5vcmRlci1sZy0zIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiAzOw0KICAgIG9yZGVyOiAzOw0KICB9DQogIC5vcmRlci1sZy00IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA0Ow0KICAgIG9yZGVyOiA0Ow0KICB9DQogIC5vcmRlci1sZy01IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA2Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA1Ow0KICAgIG9yZGVyOiA1Ow0KICB9DQogIC5vcmRlci1sZy02IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA2Ow0KICAgIG9yZGVyOiA2Ow0KICB9DQogIC5vcmRlci1sZy03IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA3Ow0KICAgIG9yZGVyOiA3Ow0KICB9DQogIC5vcmRlci1sZy04IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA5Ow0KICAgIC1tcy1mbGV4LW9yZGVyOiA4Ow0KICAgIG9yZGVyOiA4Ow0KICB9DQogIC5vcmRlci1sZy05IHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDsNCiAgICAtbXMtZmxleC1vcmRlcjogOTsNCiAgICBvcmRlcjogOTsNCiAgfQ0KICAub3JkZXItbGctMTAgew0KICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAxMDsNCiAgICBvcmRlcjogMTA7DQogIH0NCiAgLm9yZGVyLWxnLTExIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjsNCiAgICAtbXMtZmxleC1vcmRlcjogMTE7DQogICAgb3JkZXI6IDExOw0KICB9DQogIC5vcmRlci1sZy0xMiB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7DQogICAgLW1zLWZsZXgtb3JkZXI6IDEyOw0KICAgIG9yZGVyOiAxMjsNCiAgfQ0KICAub2Zmc2V0LWxnLTAgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5vZmZzZXQtbGctMSB7DQogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTsNCiAgfQ0KICAub2Zmc2V0LWxnLTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjclOw0KICB9DQogIC5vZmZzZXQtbGctMyB7DQogICAgbWFyZ2luLWxlZnQ6IDI1JTsNCiAgfQ0KICAub2Zmc2V0LWxnLTQgew0KICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlOw0KICB9DQogIC5vZmZzZXQtbGctNSB7DQogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NyU7DQogIH0NCiAgLm9mZnNldC1sZy02IHsNCiAgICBtYXJnaW4tbGVmdDogNTAlOw0KICB9DQogIC5vZmZzZXQtbGctNyB7DQogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7DQogIH0NCiAgLm9mZnNldC1sZy04IHsNCiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY3JTsNCiAgfQ0KICAub2Zmc2V0LWxnLTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogIH0NCiAgLm9mZnNldC1sZy0xMCB7DQogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7DQogIH0NCiAgLm9mZnNldC1sZy0xMSB7DQogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NyU7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAuY29sLXhsIHsNCiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsNCiAgICBmbGV4LWJhc2lzOiAwOw0KICAgIC13ZWJraXQtYm94LWZsZXg6IDE7DQogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7DQogICAgZmxleC1ncm93OiAxOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgfQ0KICAuY29sLXhsLWF1dG8gew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCBhdXRvOw0KICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIG1heC13aWR0aDogbm9uZTsNCiAgfQ0KICAuY29sLXhsLTEgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7DQogICAgZmxleDogMCAwIDguMzMzMzMzJTsNCiAgICBtYXgtd2lkdGg6IDguMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhsLTIgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NjclOw0KICAgIGZsZXg6IDAgMCAxNi42NjY2NjclOw0KICAgIG1heC13aWR0aDogMTYuNjY2NjY3JTsNCiAgfQ0KICAuY29sLXhsLTMgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCAyNSU7DQogICAgZmxleDogMCAwIDI1JTsNCiAgICBtYXgtd2lkdGg6IDI1JTsNCiAgfQ0KICAuY29sLXhsLTQgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlOw0KICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogMzMuMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhsLTUgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NjclOw0KICAgIGZsZXg6IDAgMCA0MS42NjY2NjclOw0KICAgIG1heC13aWR0aDogNDEuNjY2NjY3JTsNCiAgfQ0KICAuY29sLXhsLTYgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA1MCU7DQogICAgZmxleDogMCAwIDUwJTsNCiAgICBtYXgtd2lkdGg6IDUwJTsNCiAgfQ0KICAuY29sLXhsLTcgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlOw0KICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogNTguMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhsLTggew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NjclOw0KICAgIGZsZXg6IDAgMCA2Ni42NjY2NjclOw0KICAgIG1heC13aWR0aDogNjYuNjY2NjY3JTsNCiAgfQ0KICAuY29sLXhsLTkgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCA3NSU7DQogICAgZmxleDogMCAwIDc1JTsNCiAgICBtYXgtd2lkdGg6IDc1JTsNCiAgfQ0KICAuY29sLXhsLTEwIHsNCiAgICAtd2Via2l0LWJveC1mbGV4OiAwOw0KICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTsNCiAgICBmbGV4OiAwIDAgODMuMzMzMzMzJTsNCiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyU7DQogIH0NCiAgLmNvbC14bC0xMSB7DQogICAgLXdlYmtpdC1ib3gtZmxleDogMDsNCiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY2NyU7DQogICAgZmxleDogMCAwIDkxLjY2NjY2NyU7DQogICAgbWF4LXdpZHRoOiA5MS42NjY2NjclOw0KICB9DQogIC5jb2wteGwtMTIgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCAxMDAlOw0KICAgIGZsZXg6IDAgMCAxMDAlOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgfQ0KICAub3JkZXIteGwtZmlyc3Qgew0KICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7DQogICAgLW1zLWZsZXgtb3JkZXI6IC0xOw0KICAgIG9yZGVyOiAtMTsNCiAgfQ0KICAub3JkZXIteGwtbGFzdCB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7DQogICAgLW1zLWZsZXgtb3JkZXI6IDEzOw0KICAgIG9yZGVyOiAxMzsNCiAgfQ0KICAub3JkZXIteGwtMCB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTsNCiAgICAtbXMtZmxleC1vcmRlcjogMDsNCiAgICBvcmRlcjogMDsNCiAgfQ0KICAub3JkZXIteGwtMSB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjsNCiAgICAtbXMtZmxleC1vcmRlcjogMTsNCiAgICBvcmRlcjogMTsNCiAgfQ0KICAub3JkZXIteGwtMiB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMzsNCiAgICAtbXMtZmxleC1vcmRlcjogMjsNCiAgICBvcmRlcjogMjsNCiAgfQ0KICAub3JkZXIteGwtMyB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDsNCiAgICAtbXMtZmxleC1vcmRlcjogMzsNCiAgICBvcmRlcjogMzsNCiAgfQ0KICAub3JkZXIteGwtNCB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNTsNCiAgICAtbXMtZmxleC1vcmRlcjogNDsNCiAgICBvcmRlcjogNDsNCiAgfQ0KICAub3JkZXIteGwtNSB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjsNCiAgICAtbXMtZmxleC1vcmRlcjogNTsNCiAgICBvcmRlcjogNTsNCiAgfQ0KICAub3JkZXIteGwtNiB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNzsNCiAgICAtbXMtZmxleC1vcmRlcjogNjsNCiAgICBvcmRlcjogNjsNCiAgfQ0KICAub3JkZXIteGwtNyB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogODsNCiAgICAtbXMtZmxleC1vcmRlcjogNzsNCiAgICBvcmRlcjogNzsNCiAgfQ0KICAub3JkZXIteGwtOCB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTsNCiAgICAtbXMtZmxleC1vcmRlcjogODsNCiAgICBvcmRlcjogODsNCiAgfQ0KICAub3JkZXIteGwtOSB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTA7DQogICAgLW1zLWZsZXgtb3JkZXI6IDk7DQogICAgb3JkZXI6IDk7DQogIH0NCiAgLm9yZGVyLXhsLTEwIHsNCiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMTsNCiAgICAtbXMtZmxleC1vcmRlcjogMTA7DQogICAgb3JkZXI6IDEwOw0KICB9DQogIC5vcmRlci14bC0xMSB7DQogICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7DQogICAgLW1zLWZsZXgtb3JkZXI6IDExOw0KICAgIG9yZGVyOiAxMTsNCiAgfQ0KICAub3JkZXIteGwtMTIgew0KICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEzOw0KICAgIC1tcy1mbGV4LW9yZGVyOiAxMjsNCiAgICBvcmRlcjogMTI7DQogIH0NCiAgLm9mZnNldC14bC0wIHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAub2Zmc2V0LXhsLTEgew0KICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyU7DQogIH0NCiAgLm9mZnNldC14bC0yIHsNCiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JTsNCiAgfQ0KICAub2Zmc2V0LXhsLTMgew0KICAgIG1hcmdpbi1sZWZ0OiAyNSU7DQogIH0NCiAgLm9mZnNldC14bC00IHsNCiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJTsNCiAgfQ0KICAub2Zmc2V0LXhsLTUgew0KICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclOw0KICB9DQogIC5vZmZzZXQteGwtNiB7DQogICAgbWFyZ2luLWxlZnQ6IDUwJTsNCiAgfQ0KICAub2Zmc2V0LXhsLTcgew0KICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlOw0KICB9DQogIC5vZmZzZXQteGwtOCB7DQogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyU7DQogIH0NCiAgLm9mZnNldC14bC05IHsNCiAgICBtYXJnaW4tbGVmdDogNzUlOw0KICB9DQogIC5vZmZzZXQteGwtMTAgew0KICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlOw0KICB9DQogIC5vZmZzZXQteGwtMTEgew0KICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclOw0KICB9DQp9DQoNCi50YWJsZSB7DQogIHdpZHRoOiAxMDAlOw0KICBtYXgtd2lkdGg6IDEwMCU7DQogIG1hcmdpbi1ib3R0b206IDFyZW07DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KDQoudGFibGUgdGgsDQoudGFibGUgdGQgew0KICBwYWRkaW5nOiAwLjc1cmVtOw0KICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjsNCn0NCg0KLnRhYmxlIHRoZWFkIHRoIHsNCiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsNCiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTY7DQp9DQoNCi50YWJsZSB0Ym9keSArIHRib2R5IHsNCiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZWUyZTY7DQp9DQoNCi50YWJsZSAudGFibGUgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KfQ0KDQoudGFibGUtc20gdGgsDQoudGFibGUtc20gdGQgew0KICBwYWRkaW5nOiAwLjNyZW07DQp9DQoNCi50YWJsZS1ib3JkZXJlZCB7DQogIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7DQp9DQoNCi50YWJsZS1ib3JkZXJlZCB0aCwNCi50YWJsZS1ib3JkZXJlZCB0ZCB7DQogIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7DQp9DQoNCi50YWJsZS1ib3JkZXJlZCB0aGVhZCB0aCwNCi50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCB7DQogIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsNCn0NCg0KLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7DQp9DQoNCi50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOw0KfQ0KDQoudGFibGUtcHJpbWFyeSwNCi50YWJsZS1wcmltYXJ5ID4gdGgsDQoudGFibGUtcHJpbWFyeSA-IHRkIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZjsNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZjsNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyID4gdGQsDQoudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0aCB7DQogIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7DQp9DQoNCi50YWJsZS1zZWNvbmRhcnksDQoudGFibGUtc2Vjb25kYXJ5ID4gdGgsDQoudGFibGUtc2Vjb25kYXJ5ID4gdGQgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiOw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7DQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGQsDQoudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA-IHRoIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjsNCn0NCg0KLnRhYmxlLXN1Y2Nlc3MsDQoudGFibGUtc3VjY2VzcyA-IHRoLA0KLnRhYmxlLXN1Y2Nlc3MgPiB0ZCB7DQogIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2I7DQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7DQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA-IHRkLA0KLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGggew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiOw0KfQ0KDQoudGFibGUtaW5mbywNCi50YWJsZS1pbmZvID4gdGgsDQoudGFibGUtaW5mbyA-IHRkIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2JlZTVlYjsNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTsNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGQsDQoudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7DQogIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7DQp9DQoNCi50YWJsZS13YXJuaW5nLA0KLnRhYmxlLXdhcm5pbmcgPiB0aCwNCi50YWJsZS13YXJuaW5nID4gdGQgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWJhOw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExOw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0ZCwNCi50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA-IHRoIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTsNCn0NCg0KLnRhYmxlLWRhbmdlciwNCi50YWJsZS1kYW5nZXIgPiB0aCwNCi50YWJsZS1kYW5nZXIgPiB0ZCB7DQogIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7DQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNzsNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0ZCwNCi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGggew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFiMGI3Ow0KfQ0KDQoudGFibGUtbGlnaHQsDQoudGFibGUtbGlnaHQgPiB0aCwNCi50YWJsZS1saWdodCA-IHRkIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTsNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7DQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0ZCwNCi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0aCB7DQogIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7DQp9DQoNCi50YWJsZS1kYXJrLA0KLnRhYmxlLWRhcmsgPiB0aCwNCi50YWJsZS1kYXJrID4gdGQgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhOw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlOw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0ZCwNCi50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA-IHRoIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTsNCn0NCg0KLnRhYmxlLWFjdGl2ZSwNCi50YWJsZS1hY3RpdmUgPiB0aCwNCi50YWJsZS1hY3RpdmUgPiB0ZCB7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA-IHRkLA0KLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpOw0KfQ0KDQoudGFibGUgLnRoZWFkLWRhcmsgdGggew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTsNCiAgYm9yZGVyLWNvbG9yOiAjMzIzODNlOw0KfQ0KDQoudGFibGUgLnRoZWFkLWxpZ2h0IHRoIHsNCiAgY29sb3I6ICM0OTUwNTc7DQogIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7DQogIGJvcmRlci1jb2xvcjogI2RlZTJlNjsNCn0NCg0KLnRhYmxlLWRhcmsgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTsNCn0NCg0KLnRhYmxlLWRhcmsgdGgsDQoudGFibGUtZGFyayB0ZCwNCi50YWJsZS1kYXJrIHRoZWFkIHRoIHsNCiAgYm9yZGVyLWNvbG9yOiAjMzIzODNlOw0KfQ0KDQoudGFibGUtZGFyay50YWJsZS1ib3JkZXJlZCB7DQogIGJvcmRlcjogMDsNCn0NCg0KLnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsNCn0NCg0KLnRhYmxlLWRhcmsudGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KTsNCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7DQogIC50YWJsZS1yZXNwb25zaXZlLXNtIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBvdmVyZmxvdy14OiBhdXRvOw0KICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsNCiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsNCiAgfQ0KICAudGFibGUtcmVzcG9uc2l2ZS1zbSA-IC50YWJsZS1ib3JkZXJlZCB7DQogICAgYm9yZGVyOiAwOw0KICB9DQp9DQoNCkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkgew0KICAudGFibGUtcmVzcG9uc2l2ZS1tZCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQogICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7DQogIH0NCiAgLnRhYmxlLXJlc3BvbnNpdmUtbWQgPiAudGFibGUtYm9yZGVyZWQgew0KICAgIGJvcmRlcjogMDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHsNCiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG92ZXJmbG93LXg6IGF1dG87DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOw0KICB9DQogIC50YWJsZS1yZXNwb25zaXZlLWxnID4gLnRhYmxlLWJvcmRlcmVkIHsNCiAgICBib3JkZXI6IDA7DQogIH0NCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkgew0KICAudGFibGUtcmVzcG9uc2l2ZS14bCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQogICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7DQogIH0NCiAgLnRhYmxlLXJlc3BvbnNpdmUteGwgPiAudGFibGUtYm9yZGVyZWQgew0KICAgIGJvcmRlcjogMDsNCiAgfQ0KfQ0KDQoudGFibGUtcmVzcG9uc2l2ZSB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMTAwJTsNCiAgb3ZlcmZsb3cteDogYXV0bzsNCiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsNCn0NCg0KLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgew0KICBib3JkZXI6IDA7DQp9DQoNCi5mb3JtLWNvbnRyb2wgew0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDEwMCU7DQogIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07DQogIGZvbnQtc2l6ZTogMXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgY29sb3I6ICM0OTUwNTc7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7DQogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07DQogIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsNCn0NCg0KLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBib3JkZXI6IDA7DQp9DQoNCi5mb3JtLWNvbnRyb2w6Zm9jdXMgew0KICBjb2xvcjogIzQ5NTA1NzsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgYm9yZGVyLWNvbG9yOiAjODBiZGZmOw0KICBvdXRsaW5lOiAwOw0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7DQp9DQoNCi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KICBjb2xvcjogIzZjNzU3ZDsNCiAgb3BhY2l0eTogMTsNCn0NCg0KLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7DQogIGNvbG9yOiAjNmM3NTdkOw0KICBvcGFjaXR5OiAxOw0KfQ0KDQouZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7DQogIGNvbG9yOiAjNmM3NTdkOw0KICBvcGFjaXR5OiAxOw0KfQ0KDQouZm9ybS1jb250cm9sOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KICBjb2xvcjogIzZjNzU3ZDsNCiAgb3BhY2l0eTogMTsNCn0NCg0KLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIgew0KICBjb2xvcjogIzZjNzU3ZDsNCiAgb3BhY2l0eTogMTsNCn0NCg0KLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmZvcm0tY29udHJvbFtyZWFkb25seV0gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KICBvcGFjaXR5OiAxOw0KfQ0KDQpzZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7DQogIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTsNCn0NCg0Kc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHsNCiAgY29sb3I6ICM0OTUwNTc7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQp9DQoNCi5mb3JtLWNvbnRyb2wtZmlsZSwNCi5mb3JtLWNvbnRyb2wtcmFuZ2Ugew0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDEwMCU7DQp9DQoNCi5jb2wtZm9ybS1sYWJlbCB7DQogIHBhZGRpbmctdG9wOiBjYWxjKDAuMzc1cmVtICsgMXB4KTsNCiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4zNzVyZW0gKyAxcHgpOw0KICBtYXJnaW4tYm90dG9tOiAwOw0KICBmb250LXNpemU6IGluaGVyaXQ7DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQp9DQoNCi5jb2wtZm9ybS1sYWJlbC1sZyB7DQogIHBhZGRpbmctdG9wOiBjYWxjKDAuNXJlbSArIDFweCk7DQogIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSArIDFweCk7DQogIGZvbnQtc2l6ZTogMS4yNXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCn0NCg0KLmNvbC1mb3JtLWxhYmVsLXNtIHsNCiAgcGFkZGluZy10b3A6IGNhbGMoMC4yNXJlbSArIDFweCk7DQogIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKyAxcHgpOw0KICBmb250LXNpemU6IDAuODc1cmVtOw0KICBsaW5lLWhlaWdodDogMS41Ow0KfQ0KDQouZm9ybS1jb250cm9sLXBsYWludGV4dCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMTAwJTsNCiAgcGFkZGluZy10b3A6IDAuMzc1cmVtOw0KICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07DQogIG1hcmdpbi1ib3R0b206IDA7DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50Ow0KICBib3JkZXItd2lkdGg6IDFweCAwOw0KfQ0KDQouZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20sIC5pbnB1dC1ncm91cC1zbSA-IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwNCi5pbnB1dC1ncm91cC1zbSA-IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1zbSA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LA0KLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sDQouaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLCAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcsIC5pbnB1dC1ncm91cC1sZyA-IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwNCi5pbnB1dC1ncm91cC1sZyA-IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1sZyA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LA0KLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sDQouaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuIHsNCiAgcGFkZGluZy1yaWdodDogMDsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KfQ0KDQouZm9ybS1jb250cm9sLXNtLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLA0KLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1zbSA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1zbSA-IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0biwNCi5pbnB1dC1ncm91cC1zbSA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHsNCiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07DQogIGZvbnQtc2l6ZTogMC44NzVyZW07DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQogIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsNCn0NCg0Kc2VsZWN0LmZvcm0tY29udHJvbC1zbTpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1zbSA-IHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLA0KLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksDQouaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gc2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLA0KLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwNCi5pbnB1dC1ncm91cC1zbSA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7DQogIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpOw0KfQ0KDQouZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLA0KLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1sZyA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1sZyA-IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0biwNCi5pbnB1dC1ncm91cC1sZyA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHsNCiAgcGFkZGluZzogMC41cmVtIDFyZW07DQogIGZvbnQtc2l6ZTogMS4yNXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOw0KfQ0KDQpzZWxlY3QuZm9ybS1jb250cm9sLWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLWxnID4gc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksDQouaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA-IHNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwNCi5pbnB1dC1ncm91cC1sZyA-IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksDQouaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA-IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLA0KLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA-IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHsNCiAgaGVpZ2h0OiBjYWxjKDIuODc1cmVtICsgMnB4KTsNCn0NCg0KLmZvcm0tZ3JvdXAgew0KICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KfQ0KDQouZm9ybS10ZXh0IHsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1hcmdpbi10b3A6IDAuMjVyZW07DQp9DQoNCi5mb3JtLXJvdyB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICBtYXJnaW4tcmlnaHQ6IC01cHg7DQogIG1hcmdpbi1sZWZ0OiAtNXB4Ow0KfQ0KDQouZm9ybS1yb3cgPiAuY29sLA0KLmZvcm0tcm93ID4gW2NsYXNzKj0iY29sLSJdIHsNCiAgcGFkZGluZy1yaWdodDogNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDVweDsNCn0NCg0KLmZvcm0tY2hlY2sgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07DQp9DQoNCi5mb3JtLWNoZWNrLWlucHV0IHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBtYXJnaW4tdG9wOiAwLjNyZW07DQogIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsNCn0NCg0KLmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7DQogIGNvbG9yOiAjNmM3NTdkOw0KfQ0KDQouZm9ybS1jaGVjay1sYWJlbCB7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCi5mb3JtLWNoZWNrLWlubGluZSB7DQogIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsNCiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94Ow0KICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07DQp9DQoNCi5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7DQogIHBvc2l0aW9uOiBzdGF0aWM7DQogIG1hcmdpbi10b3A6IDA7DQogIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOw0KICBtYXJnaW4tbGVmdDogMDsNCn0NCg0KLnZhbGlkLWZlZWRiYWNrIHsNCiAgZGlzcGxheTogbm9uZTsNCiAgd2lkdGg6IDEwMCU7DQogIG1hcmdpbi10b3A6IDAuMjVyZW07DQogIGZvbnQtc2l6ZTogODAlOw0KICBjb2xvcjogIzI4YTc0NTsNCn0NCg0KLnZhbGlkLXRvb2x0aXAgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMTAwJTsNCiAgei1pbmRleDogNTsNCiAgZGlzcGxheTogbm9uZTsNCiAgbWF4LXdpZHRoOiAxMDAlOw0KICBwYWRkaW5nOiAuNXJlbTsNCiAgbWFyZ2luLXRvcDogLjFyZW07DQogIGZvbnQtc2l6ZTogLjg3NXJlbTsNCiAgbGluZS1oZWlnaHQ6IDE7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQwLCAxNjcsIDY5LCAwLjgpOw0KICBib3JkZXItcmFkaXVzOiAuMnJlbTsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCwgLmZvcm0tY29udHJvbC5pcy12YWxpZCwgLndhcy12YWxpZGF0ZWQNCi5jdXN0b20tc2VsZWN0OnZhbGlkLA0KLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQgew0KICBib3JkZXItY29sb3I6ICMyOGE3NDU7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMsIC53YXMtdmFsaWRhdGVkDQouY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1cywNCi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkOmZvY3VzIHsNCiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1Ow0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssDQouZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC53YXMtdmFsaWRhdGVkDQouY3VzdG9tLXNlbGVjdDp2YWxpZCB-IC52YWxpZC1mZWVkYmFjaywNCi53YXMtdmFsaWRhdGVkDQouY3VzdG9tLXNlbGVjdDp2YWxpZCB-IC52YWxpZC10b29sdGlwLA0KLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssDQouY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB-IC52YWxpZC10b29sdGlwIHsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwgew0KICBjb2xvcjogIzI4YTc0NTsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB-IC52YWxpZC10b29sdGlwLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB-IC52YWxpZC1mZWVkYmFjaywNCi5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAgew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwgew0KICBjb2xvcjogIzI4YTc0NTsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzcxZGQ4YTsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB-IC52YWxpZC1mZWVkYmFjaywNCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB-IC52YWxpZC10b29sdGlwIHsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzRjZTU3Ow0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpOw0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB-IC5jdXN0b20tZmlsZS1sYWJlbCB7DQogIGJvcmRlci1jb2xvcjogIzI4YTc0NTsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB-IC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHsNCiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0Ow0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLA0KLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAgew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7DQp9DQoNCi5pbnZhbGlkLWZlZWRiYWNrIHsNCiAgZGlzcGxheTogbm9uZTsNCiAgd2lkdGg6IDEwMCU7DQogIG1hcmdpbi10b3A6IDAuMjVyZW07DQogIGZvbnQtc2l6ZTogODAlOw0KICBjb2xvcjogI2RjMzU0NTsNCn0NCg0KLmludmFsaWQtdG9vbHRpcCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAxMDAlOw0KICB6LWluZGV4OiA1Ow0KICBkaXNwbGF5OiBub25lOw0KICBtYXgtd2lkdGg6IDEwMCU7DQogIHBhZGRpbmc6IC41cmVtOw0KICBtYXJnaW4tdG9wOiAuMXJlbTsNCiAgZm9udC1zaXplOiAuODc1cmVtOw0KICBsaW5lLWhlaWdodDogMTsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCA1MywgNjksIDAuOCk7DQogIGJvcmRlci1yYWRpdXM6IC4ycmVtOw0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCwgLndhcy12YWxpZGF0ZWQNCi5jdXN0b20tc2VsZWN0OmludmFsaWQsDQouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIHsNCiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1Ow0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cywgLndhcy12YWxpZGF0ZWQNCi5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsDQouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkOmZvY3VzIHsNCiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1Ow0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCB-IC5pbnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssDQouZm9ybS1jb250cm9sLmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAud2FzLXZhbGlkYXRlZA0KLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCB-IC5pbnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQNCi5jdXN0b20tc2VsZWN0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLA0KLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB-IC5pbnZhbGlkLWZlZWRiYWNrLA0KLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB-IC5pbnZhbGlkLXRvb2x0aXAgew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB-IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwgew0KICBjb2xvcjogI2RjMzU0NTsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB-IC5pbnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB-IC5pbnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywNCi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbCB7DQogIGNvbG9yOiAjZGMzNTQ1Ow0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2VmYTJhOTsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywNCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7DQogIGRpc3BsYXk6IGJsb2NrOw0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogIGJhY2tncm91bmQtY29sb3I6ICNlNDYwNmQ7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpOw0KfQ0KDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB-IC5jdXN0b20tZmlsZS1sYWJlbCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwgew0KICBib3JkZXItY29sb3I6ICNkYzM1NDU7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUgew0KICBib3JkZXItY29sb3I6IGluaGVyaXQ7DQp9DQoNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB-IC5pbnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssDQouY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB-IC5pbnZhbGlkLXRvb2x0aXAgew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpOw0KfQ0KDQouZm9ybS1pbmxpbmUgew0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7DQogIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwOw0KICBmbGV4LWZsb3c6IHJvdyB3cmFwOw0KICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOw0KICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQouZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7DQogIC5mb3JtLWlubGluZSBsYWJlbCB7DQogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOw0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7DQogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogIH0NCiAgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC13ZWJraXQtYm94LWZsZXg6IDA7DQogICAgLW1zLWZsZXg6IDAgMCBhdXRvOw0KICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDsNCiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOw0KICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7DQogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogIH0NCiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogYXV0bzsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICB9DQogIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB9DQogIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgew0KICAgIHdpZHRoOiBhdXRvOw0KICB9DQogIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjayB7DQogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOw0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7DQogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgfQ0KICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sIHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOw0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7DQogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICB9DQogIC5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wtbGFiZWwgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogIH0NCn0NCg0KLmJ0biB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogIHVzZXItc2VsZWN0OiBub25lOw0KICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsNCiAgZm9udC1zaXplOiAxcmVtOw0KICBsaW5lLWhlaWdodDogMS41Ow0KICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOw0KICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0Ow0KfQ0KDQouYnRuOmhvdmVyLCAuYnRuOmZvY3VzIHsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQouYnRuOmZvY3VzLCAuYnRuLmZvY3VzIHsNCiAgb3V0bGluZTogMDsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOw0KfQ0KDQouYnRuLmRpc2FibGVkLCAuYnRuOmRpc2FibGVkIHsNCiAgb3BhY2l0eTogMC42NTsNCn0NCg0KLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7DQogIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCg0KYS5idG4uZGlzYWJsZWQsDQpmaWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7DQogIHBvaW50ZXItZXZlbnRzOiBub25lOw0KfQ0KDQouYnRuLXByaW1hcnkgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOw0KfQ0KDQouYnRuLXByaW1hcnk6aG92ZXIgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjlkOTsNCiAgYm9yZGVyLWNvbG9yOiAjMDA2MmNjOw0KfQ0KDQouYnRuLXByaW1hcnk6Zm9jdXMsIC5idG4tcHJpbWFyeS5mb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOw0KfQ0KDQouYnRuLXByaW1hcnkuZGlzYWJsZWQsIC5idG4tcHJpbWFyeTpkaXNhYmxlZCB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOw0KICBib3JkZXItY29sb3I6ICMwMDdiZmY7DQp9DQoNCi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouc2hvdyA-IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYzsNCiAgYm9yZGVyLWNvbG9yOiAjMDA1Y2JmOw0KfQ0KDQouYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7DQp9DQoNCi5idG4tc2Vjb25kYXJ5IHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7DQogIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsNCn0NCg0KLmJ0bi1zZWNvbmRhcnk6aG92ZXIgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODsNCiAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyOw0KfQ0KDQouYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuZm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOw0KfQ0KDQouYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDsNCiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOw0KfQ0KDQouYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7DQogIGJvcmRlci1jb2xvcjogIzRlNTU1YjsNCn0NCg0KLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouc2hvdyA-IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7DQp9DQoNCi5idG4tc3VjY2VzcyB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1Ow0KICBib3JkZXItY29sb3I6ICMyOGE3NDU7DQp9DQoNCi5idG4tc3VjY2Vzczpob3ZlciB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4ODM4Ow0KICBib3JkZXItY29sb3I6ICMxZTdlMzQ7DQp9DQoNCi5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzIHsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7DQp9DQoNCi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7DQogIGJvcmRlci1jb2xvcjogIzI4YTc0NTsNCn0NCg0KLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0Ow0KICBib3JkZXItY29sb3I6ICMxYzc0MzA7DQp9DQoNCi5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouc2hvdyA-IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTsNCn0NCg0KLmJ0bi1pbmZvIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7DQogIGJvcmRlci1jb2xvcjogIzE3YTJiODsNCn0NCg0KLmJ0bi1pbmZvOmhvdmVyIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMxMzg0OTY7DQogIGJvcmRlci1jb2xvcjogIzExN2E4YjsNCn0NCg0KLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm8uZm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7DQp9DQoNCi5idG4taW5mby5kaXNhYmxlZCwgLmJ0bi1pbmZvOmRpc2FibGVkIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7DQogIGJvcmRlci1jb2xvcjogIzE3YTJiODsNCn0NCg0KLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiOw0KICBib3JkZXItY29sb3I6ICMxMDcwN2Y7DQp9DQoNCi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouc2hvdyA-IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7DQp9DQoNCi5idG4td2FybmluZyB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3Ow0KICBib3JkZXItY29sb3I6ICNmZmMxMDc7DQp9DQoNCi5idG4td2FybmluZzpob3ZlciB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBhODAwOw0KICBib3JkZXItY29sb3I6ICNkMzllMDA7DQp9DQoNCi5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7DQp9DQoNCi5idG4td2FybmluZy5kaXNhYmxlZCwgLmJ0bi13YXJuaW5nOmRpc2FibGVkIHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7DQogIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsNCn0NCg0KLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5zaG93ID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwOw0KICBib3JkZXItY29sb3I6ICNjNjk1MDA7DQp9DQoNCi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouc2hvdyA-IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTsNCn0NCg0KLmJ0bi1kYW5nZXIgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTsNCiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1Ow0KfQ0KDQouYnRuLWRhbmdlcjpob3ZlciB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzgyMzMzOw0KICBib3JkZXItY29sb3I6ICNiZDIxMzA7DQp9DQoNCi5idG4tZGFuZ2VyOmZvY3VzLCAuYnRuLWRhbmdlci5mb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOw0KfQ0KDQouYnRuLWRhbmdlci5kaXNhYmxlZCwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTsNCiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1Ow0KfQ0KDQouYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5zaG93ID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICNiZDIxMzA7DQogIGJvcmRlci1jb2xvcjogI2IyMWYyZDsNCn0NCg0KLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouc2hvdyA-IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOw0KfQ0KDQouYnRuLWxpZ2h0IHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7DQogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsNCn0NCg0KLmJ0bi1saWdodDpob3ZlciB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlNmVhOw0KICBib3JkZXItY29sb3I6ICNkYWUwZTU7DQp9DQoNCi5idG4tbGlnaHQ6Zm9jdXMsIC5idG4tbGlnaHQuZm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOw0KfQ0KDQouYnRuLWxpZ2h0LmRpc2FibGVkLCAuYnRuLWxpZ2h0OmRpc2FibGVkIHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7DQogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsNCn0NCg0KLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLA0KLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1Ow0KICBib3JkZXItY29sb3I6ICNkM2Q5ZGY7DQp9DQoNCi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywNCi5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOw0KfQ0KDQouYnRuLWRhcmsgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsNCiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwOw0KfQ0KDQouYnRuLWRhcms6aG92ZXIgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjcyYjsNCiAgYm9yZGVyLWNvbG9yOiAjMWQyMTI0Ow0KfQ0KDQouYnRuLWRhcms6Zm9jdXMsIC5idG4tZGFyay5mb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7DQp9DQoNCi5idG4tZGFyay5kaXNhYmxlZCwgLmJ0bi1kYXJrOmRpc2FibGVkIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7DQogIGJvcmRlci1jb2xvcjogIzM0M2E0MDsNCn0NCg0KLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0Ow0KICBib3JkZXItY29sb3I6ICMxNzFhMWQ7DQp9DQoNCi5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouc2hvdyA-IC5idG4tZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOw0KfQ0KDQouYnRuLW91dGxpbmUtcHJpbWFyeSB7DQogIGNvbG9yOiAjMDA3YmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOw0KfQ0KDQouYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOw0KICBib3JkZXItY29sb3I6ICMwMDdiZmY7DQp9DQoNCi5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOw0KfQ0KDQouYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQgew0KICBjb2xvcjogIzAwN2JmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLA0KLnNob3cgPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOw0KfQ0KDQouYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywNCi5zaG93ID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7DQp9DQoNCi5idG4tb3V0bGluZS1zZWNvbmRhcnkgew0KICBjb2xvcjogIzZjNzU3ZDsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsNCn0NCg0KLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOw0KICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7DQp9DQoNCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOw0KfQ0KDQouYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkIHsNCiAgY29sb3I6ICM2Yzc1N2Q7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KDQouYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouc2hvdyA-IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7DQogIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsNCn0NCg0KLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7DQp9DQoNCi5idG4tb3V0bGluZS1zdWNjZXNzIHsNCiAgY29sb3I6ICMyOGE3NDU7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICBib3JkZXItY29sb3I6ICMyOGE3NDU7DQp9DQoNCi5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7DQogIGJvcmRlci1jb2xvcjogIzI4YTc0NTsNCn0NCg0KLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzIHsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7DQp9DQoNCi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZCB7DQogIGNvbG9yOiAjMjhhNzQ1Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCg0KLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouc2hvdyA-IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1Ow0KICBib3JkZXItY29sb3I6ICMyOGE3NDU7DQp9DQoNCi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTsNCn0NCg0KLmJ0bi1vdXRsaW5lLWluZm8gew0KICBjb2xvcjogIzE3YTJiODsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIGJvcmRlci1jb2xvcjogIzE3YTJiODsNCn0NCg0KLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODsNCiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4Ow0KfQ0KDQouYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7DQp9DQoNCi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7DQogIGNvbG9yOiAjMTdhMmI4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCg0KLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouc2hvdyA-IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4Ow0KICBib3JkZXItY29sb3I6ICMxN2EyYjg7DQp9DQoNCi5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLnNob3cgPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMywgMTYyLCAxODQsIDAuNSk7DQp9DQoNCi5idG4tb3V0bGluZS13YXJuaW5nIHsNCiAgY29sb3I6ICNmZmMxMDc7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICBib3JkZXItY29sb3I6ICNmZmMxMDc7DQp9DQoNCi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyIHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7DQogIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsNCn0NCg0KLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzIHsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7DQp9DQoNCi5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZCB7DQogIGNvbG9yOiAjZmZjMTA3Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCg0KLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouc2hvdyA-IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3Ow0KICBib3JkZXItY29sb3I6ICNmZmMxMDc7DQp9DQoNCi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTsNCn0NCg0KLmJ0bi1vdXRsaW5lLWRhbmdlciB7DQogIGNvbG9yOiAjZGMzNTQ1Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1Ow0KfQ0KDQouYnRuLW91dGxpbmUtZGFuZ2VyOmhvdmVyIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7DQogIGJvcmRlci1jb2xvcjogI2RjMzU0NTsNCn0NCg0KLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOw0KfQ0KDQouYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkIHsNCiAgY29sb3I6ICNkYzM1NDU7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KDQouYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouc2hvdyA-IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7DQogIGJvcmRlci1jb2xvcjogI2RjMzU0NTsNCn0NCg0KLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLnNob3cgPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOw0KfQ0KDQouYnRuLW91dGxpbmUtbGlnaHQgew0KICBjb2xvcjogI2Y4ZjlmYTsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsNCn0NCg0KLmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVyIHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7DQogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsNCn0NCg0KLmJ0bi1vdXRsaW5lLWxpZ2h0OmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQuZm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOw0KfQ0KDQouYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1saWdodDpkaXNhYmxlZCB7DQogIGNvbG9yOiAjZjhmOWZhOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCg0KLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5zaG93ID4gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOw0KICBib3JkZXItY29sb3I6ICNmOGY5ZmE7DQp9DQoNCi5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouc2hvdyA-IC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpOw0KfQ0KDQouYnRuLW91dGxpbmUtZGFyayB7DQogIGNvbG9yOiAjMzQzYTQwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwOw0KfQ0KDQouYnRuLW91dGxpbmUtZGFyazpob3ZlciB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOw0KICBib3JkZXItY29sb3I6ICMzNDNhNDA7DQp9DQoNCi5idG4tb3V0bGluZS1kYXJrOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5mb2N1cyB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7DQp9DQoNCi5idG4tb3V0bGluZS1kYXJrLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFyazpkaXNhYmxlZCB7DQogIGNvbG9yOiAjMzQzYTQwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCg0KLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouc2hvdyA-IC5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOw0KICBib3JkZXItY29sb3I6ICMzNDNhNDA7DQp9DQoNCi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOw0KfQ0KDQouYnRuLWxpbmsgew0KICBmb250LXdlaWdodDogNDAwOw0KICBjb2xvcjogIzAwN2JmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi5idG4tbGluazpob3ZlciB7DQogIGNvbG9yOiAjMDA1NmIzOw0KICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi5idG4tbGluazpmb2N1cywgLmJ0bi1saW5rLmZvY3VzIHsNCiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIGJveC1zaGFkb3c6IG5vbmU7DQp9DQoNCi5idG4tbGluazpkaXNhYmxlZCwgLmJ0bi1saW5rLmRpc2FibGVkIHsNCiAgY29sb3I6ICM2Yzc1N2Q7DQp9DQoNCi5idG4tbGcsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIHsNCiAgcGFkZGluZzogMC41cmVtIDFyZW07DQogIGZvbnQtc2l6ZTogMS4yNXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOw0KfQ0KDQouYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0biB7DQogIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtOw0KICBmb250LXNpemU6IDAuODc1cmVtOw0KICBsaW5lLWhlaWdodDogMS41Ow0KICBib3JkZXItcmFkaXVzOiAwLjJyZW07DQp9DQoNCi5idG4tYmxvY2sgew0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDEwMCU7DQp9DQoNCi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHsNCiAgbWFyZ2luLXRvcDogMC41cmVtOw0KfQ0KDQppbnB1dFt0eXBlPSJzdWJtaXQiXS5idG4tYmxvY2ssDQppbnB1dFt0eXBlPSJyZXNldCJdLmJ0bi1ibG9jaywNCmlucHV0W3R5cGU9ImJ1dHRvbiJdLmJ0bi1ibG9jayB7DQogIHdpZHRoOiAxMDAlOw0KfQ0KDQouZmFkZSB7DQogIG9wYWNpdHk6IDA7DQogIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOw0KfQ0KDQouZmFkZS5zaG93IHsNCiAgb3BhY2l0eTogMTsNCn0NCg0KLmNvbGxhcHNlIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCg0KLmNvbGxhcHNlLnNob3cgew0KICBkaXNwbGF5OiBibG9jazsNCn0NCg0KdHIuY29sbGFwc2Uuc2hvdyB7DQogIGRpc3BsYXk6IHRhYmxlLXJvdzsNCn0NCg0KdGJvZHkuY29sbGFwc2Uuc2hvdyB7DQogIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsNCn0NCg0KLmNvbGxhcHNpbmcgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGhlaWdodDogMDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGVhc2U7DQp9DQoNCi5kcm9wdXAsDQouZHJvcGRvd24gew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB3aWR0aDogMDsNCiAgaGVpZ2h0OiAwOw0KICBtYXJnaW4tbGVmdDogMC4yNTVlbTsNCiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07DQogIGNvbnRlbnQ6ICIiOw0KICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZDsNCiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsNCiAgYm9yZGVyLWJvdHRvbTogMDsNCiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50Ow0KfQ0KDQouZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7DQogIG1hcmdpbi1sZWZ0OiAwOw0KfQ0KDQouZHJvcGRvd24tbWVudSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAxMDAlOw0KICBsZWZ0OiAwOw0KICB6LWluZGV4OiAxMDAwOw0KICBkaXNwbGF5OiBub25lOw0KICBmbG9hdDogbGVmdDsNCiAgbWluLXdpZHRoOiAxMHJlbTsNCiAgcGFkZGluZzogMC41cmVtIDA7DQogIG1hcmdpbjogMC4xMjVyZW0gMCAwOw0KICBmb250LXNpemU6IDFyZW07DQogIGNvbG9yOiAjMjEyNTI5Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBsaXN0LXN0eWxlOiBub25lOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpOw0KICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQouZHJvcHVwIC5kcm9wZG93bi1tZW51IHsNCiAgbWFyZ2luLXRvcDogMDsNCiAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07DQp9DQoNCi5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAwOw0KICBoZWlnaHQ6IDA7DQogIG1hcmdpbi1sZWZ0OiAwLjI1NWVtOw0KICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTsNCiAgY29udGVudDogIiI7DQogIGJvcmRlci10b3A6IDA7DQogIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7DQogIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkOw0KICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7DQp9DQoNCi5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIgew0KICBtYXJnaW4tbGVmdDogMDsNCn0NCg0KLmRyb3ByaWdodCAuZHJvcGRvd24tbWVudSB7DQogIG1hcmdpbi10b3A6IDA7DQogIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTsNCn0NCg0KLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgd2lkdGg6IDA7DQogIGhlaWdodDogMDsNCiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07DQogIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtOw0KICBjb250ZW50OiAiIjsNCiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7DQogIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50Ow0KICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7DQp9DQoNCi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIgew0KICBtYXJnaW4tbGVmdDogMDsNCn0NCg0KLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7DQogIHZlcnRpY2FsLWFsaWduOiAwOw0KfQ0KDQouZHJvcGxlZnQgLmRyb3Bkb3duLW1lbnUgew0KICBtYXJnaW4tdG9wOiAwOw0KICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtOw0KfQ0KDQouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAwOw0KICBoZWlnaHQ6IDA7DQogIG1hcmdpbi1sZWZ0OiAwLjI1NWVtOw0KICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTsNCiAgY29udGVudDogIiI7DQp9DQoNCi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAwOw0KICBoZWlnaHQ6IDA7DQogIG1hcmdpbi1yaWdodDogMC4yNTVlbTsNCiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07DQogIGNvbnRlbnQ6ICIiOw0KICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsNCiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZDsNCiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7DQp9DQoNCi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7DQogIG1hcmdpbi1sZWZ0OiAwOw0KfQ0KDQouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHsNCiAgdmVydGljYWwtYWxpZ246IDA7DQp9DQoNCi5kcm9wZG93bi1kaXZpZGVyIHsNCiAgaGVpZ2h0OiAwOw0KICBtYXJnaW46IDAuNXJlbSAwOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjsNCn0NCg0KLmRyb3Bkb3duLWl0ZW0gew0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDEwMCU7DQogIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtOw0KICBjbGVhcjogYm90aDsNCiAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIHRleHQtYWxpZ246IGluaGVyaXQ7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBib3JkZXI6IDA7DQp9DQoNCi5kcm9wZG93bi1pdGVtOmhvdmVyLCAuZHJvcGRvd24taXRlbTpmb2N1cyB7DQogIGNvbG9yOiAjMTYxODFiOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7DQp9DQoNCi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCn0NCg0KLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsIC5kcm9wZG93bi1pdGVtOmRpc2FibGVkIHsNCiAgY29sb3I6ICM2Yzc1N2Q7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KDQouZHJvcGRvd24tbWVudS5zaG93IHsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoNCi5kcm9wZG93bi1oZWFkZXIgew0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMC41cmVtIDEuNXJlbTsNCiAgbWFyZ2luLWJvdHRvbTogMDsNCiAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgY29sb3I6ICM2Yzc1N2Q7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi5idG4tZ3JvdXAsDQouYnRuLWdyb3VwLXZlcnRpY2FsIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7DQogIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsNCiAgZGlzcGxheTogaW5saW5lLWZsZXg7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5idG4tZ3JvdXAgPiAuYnRuLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG4gew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIC13ZWJraXQtYm94LWZsZXg6IDA7DQogIC1tcy1mbGV4OiAwIDEgYXV0bzsNCiAgZmxleDogMCAxIGF1dG87DQp9DQoNCi5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG46aG92ZXIgew0KICB6LWluZGV4OiAxOw0KfQ0KDQouYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywgLmJ0bi1ncm91cCA-IC5idG46YWN0aXZlLCAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsDQouYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cywNCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSwNCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7DQogIHotaW5kZXg6IDE7DQp9DQoNCi5idG4tZ3JvdXAgLmJ0biArIC5idG4sDQouYnRuLWdyb3VwIC5idG4gKyAuYnRuLWdyb3VwLA0KLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0biwNCi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAsDQouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuYnRuLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuICsgLmJ0bi1ncm91cCwNCi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCArIC5idG4sDQouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHsNCiAgbWFyZ2luLWxlZnQ6IC0xcHg7DQp9DQoNCi5idG4tdG9vbGJhciB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsNCiAgLW1zLWZsZXgtcGFjazogc3RhcnQ7DQogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7DQogIHdpZHRoOiBhdXRvOw0KfQ0KDQouYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7DQogIG1hcmdpbi1sZWZ0OiAwOw0KfQ0KDQouYnRuLWdyb3VwID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSwNCi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHsNCiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KfQ0KDQouYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwNCi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQp9DQoNCi5kcm9wZG93bi10b2dnbGUtc3BsaXQgew0KICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07DQogIHBhZGRpbmctbGVmdDogMC41NjI1cmVtOw0KfQ0KDQouZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciB7DQogIG1hcmdpbi1sZWZ0OiAwOw0KfQ0KDQouYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1zbSA-IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHsNCiAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07DQogIHBhZGRpbmctbGVmdDogMC4zNzVyZW07DQp9DQoNCi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQgew0KICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOw0KICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07DQp9DQoNCi5idG4tZ3JvdXAtdmVydGljYWwgew0KICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOw0KICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDsNCiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0Ow0KICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsNCiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOw0KICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KfQ0KDQouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4sDQouYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4tZ3JvdXAgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG4gKyAuYnRuLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG4gKyAuYnRuLWdyb3VwLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG4tZ3JvdXAgKyAuYnRuLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHsNCiAgbWFyZ2luLXRvcDogLTFweDsNCiAgbWFyZ2luLWxlZnQ6IDA7DQp9DQoNCi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA-IC5idG4gew0KICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCn0NCg0KLmJ0bi1ncm91cC12ZXJ0aWNhbCA-IC5idG46bm90KDpmaXJzdC1jaGlsZCksDQouYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA-IC5idG4gew0KICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCn0NCg0KLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLA0KLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biB7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuIGlucHV0W3R5cGU9ImNoZWNrYm94Il0sDQouYnRuLWdyb3VwLXRvZ2dsZSA-IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9InJhZGlvIl0sDQouYnRuLWdyb3VwLXRvZ2dsZSA-IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogIHBvaW50ZXItZXZlbnRzOiBub25lOw0KfQ0KDQouaW5wdXQtZ3JvdXAgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDsNCiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7DQogIGFsaWduLWl0ZW1zOiBzdHJldGNoOw0KICB3aWR0aDogMTAwJTsNCn0NCg0KLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCwNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tc2VsZWN0LA0KLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAtd2Via2l0LWJveC1mbGV4OiAxOw0KICAtbXMtZmxleDogMSAxIGF1dG87DQogIGZsZXg6IDEgMSBhdXRvOw0KICB3aWR0aDogMSU7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCi5pbnB1dC1ncm91cCA-IC5mb3JtLWNvbnRyb2w6Zm9jdXMsDQouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cywNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tZmlsZTpmb2N1cyB7DQogIHotaW5kZXg6IDM7DQp9DQoNCi5pbnB1dC1ncm91cCA-IC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLA0KLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tc2VsZWN0LA0KLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tZmlsZSwNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tc2VsZWN0ICsgLmZvcm0tY29udHJvbCwNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1zZWxlY3QsDQouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tZmlsZSwNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tZmlsZSArIC5mb3JtLWNvbnRyb2wsDQouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLXNlbGVjdCwNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tZmlsZSArIC5jdXN0b20tZmlsZSB7DQogIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KfQ0KDQouaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksDQouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpIHsNCiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KfQ0KDQouaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLA0KLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkgew0KICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KfQ0KDQouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgew0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7DQogIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQp9DQoNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwNCi5pbnB1dC1ncm91cCA-IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHsNCiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KfQ0KDQouaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLA0KLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHsNCiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCn0NCg0KLmlucHV0LWdyb3VwLXByZXBlbmQsDQouaW5wdXQtZ3JvdXAtYXBwZW5kIHsNCiAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICBkaXNwbGF5OiBmbGV4Ow0KfQ0KDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuLA0KLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB6LWluZGV4OiAyOw0KfQ0KDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuICsgLmJ0biwNCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4sDQouaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4gKyAuYnRuLA0KLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7DQogIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KfQ0KDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCB7DQogIG1hcmdpbi1yaWdodDogLTFweDsNCn0NCg0KLmlucHV0LWdyb3VwLWFwcGVuZCB7DQogIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KfQ0KDQouaW5wdXQtZ3JvdXAtdGV4dCB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsNCiAgbWFyZ2luLWJvdHRvbTogMDsNCiAgZm9udC1zaXplOiAxcmVtOw0KICBmb250LXdlaWdodDogNDAwOw0KICBsaW5lLWhlaWdodDogMS41Ow0KICBjb2xvcjogIzQ5NTA1NzsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhOw0KICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQouaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7DQogIG1hcmdpbi10b3A6IDA7DQp9DQoNCi5pbnB1dC1ncm91cCA-IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0biwNCi5pbnB1dC1ncm91cCA-IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLA0KLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLA0KLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCn0NCg0KLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA-IC5idG4sDQouaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA-IC5idG4sDQouaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA-IC5pbnB1dC1ncm91cC10ZXh0LA0KLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLA0KLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQp9DQoNCi5jdXN0b20tY29udHJvbCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1pbi1oZWlnaHQ6IDEuNXJlbTsNCiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07DQp9DQoNCi5jdXN0b20tY29udHJvbC1pbmxpbmUgew0KICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7DQogIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsNCiAgZGlzcGxheTogaW5saW5lLWZsZXg7DQogIG1hcmdpbi1yaWdodDogMXJlbTsNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0IHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgb3BhY2l0eTogMDsNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOw0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7DQp9DQoNCi5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmOw0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwgew0KICBjb2xvcjogIzZjNzU3ZDsNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtbGFiZWwgew0KICBtYXJnaW4tYm90dG9tOiAwOw0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwLjI1cmVtOw0KICBsZWZ0OiAwOw0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDFyZW07DQogIGhlaWdodDogMXJlbTsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIGNvbnRlbnQ6ICIiOw0KICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogIHVzZXItc2VsZWN0OiBub25lOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2Ow0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDAuMjVyZW07DQogIGxlZnQ6IDA7DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogMXJlbTsNCiAgaGVpZ2h0OiAxcmVtOw0KICBjb250ZW50OiAiIjsNCiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsNCiAgYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlOw0KfQ0KDQouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0UiKTsNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0UiKTsNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsNCn0NCg0KLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogIGJvcmRlci1yYWRpdXM6IDUwJTsNCn0NCg0KLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCn0NCg0KLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0UiKTsNCn0NCg0KLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB-IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsNCn0NCg0KLmN1c3RvbS1zZWxlY3Qgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7DQogIHBhZGRpbmc6IDAuMzc1cmVtIDEuNzVyZW0gMC4zNzVyZW0gMC43NXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgY29sb3I6ICM0OTUwNTc7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIGJhY2tncm91bmQ6ICNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0UiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXI7DQogIGJhY2tncm91bmQtc2l6ZTogOHB4IDEwcHg7DQogIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7DQogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07DQogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgLW1vei1hcHBlYXJhbmNlOiBub25lOw0KICBhcHBlYXJhbmNlOiBub25lOw0KfQ0KDQouY3VzdG9tLXNlbGVjdDpmb2N1cyB7DQogIGJvcmRlci1jb2xvcjogIzgwYmRmZjsNCiAgb3V0bGluZTogMDsNCiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNXB4IHJnYmEoMTI4LCAxODksIDI1NSwgMC41KTsNCn0NCg0KLmN1c3RvbS1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7DQogIGNvbG9yOiAjNDk1MDU3Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KfQ0KDQouY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sIC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT0iMSJdKSB7DQogIGhlaWdodDogYXV0bzsNCiAgcGFkZGluZy1yaWdodDogMC43NXJlbTsNCiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCg0KLmN1c3RvbS1zZWxlY3Q6ZGlzYWJsZWQgew0KICBjb2xvcjogIzZjNzU3ZDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsNCn0NCg0KLmN1c3RvbS1zZWxlY3Q6Oi1tcy1leHBhbmQgew0KICBvcGFjaXR5OiAwOw0KfQ0KDQouY3VzdG9tLXNlbGVjdC1zbSB7DQogIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpOw0KICBwYWRkaW5nLXRvcDogMC4zNzVyZW07DQogIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTsNCiAgZm9udC1zaXplOiA3NSU7DQp9DQoNCi5jdXN0b20tc2VsZWN0LWxnIHsNCiAgaGVpZ2h0OiBjYWxjKDIuODc1cmVtICsgMnB4KTsNCiAgcGFkZGluZy10b3A6IDAuMzc1cmVtOw0KICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07DQogIGZvbnQtc2l6ZTogMTI1JTsNCn0NCg0KLmN1c3RvbS1maWxlIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7DQogIG1hcmdpbi1ib3R0b206IDA7DQp9DQoNCi5jdXN0b20tZmlsZS1pbnB1dCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgei1pbmRleDogMjsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTsNCiAgbWFyZ2luOiAwOw0KICBvcGFjaXR5OiAwOw0KfQ0KDQouY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbCB7DQogIGJvcmRlci1jb2xvcjogIzgwYmRmZjsNCiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOw0KfQ0KDQouY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHsNCiAgYm9yZGVyLWNvbG9yOiAjODBiZGZmOw0KfQ0KDQouY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbikgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsNCiAgY29udGVudDogIkJyb3dzZSI7DQp9DQoNCi5jdXN0b20tZmlsZS1sYWJlbCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgbGVmdDogMDsNCiAgei1pbmRleDogMTsNCiAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpOw0KICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOw0KICBsaW5lLWhlaWdodDogMS41Ow0KICBjb2xvcjogIzQ5NTA1NzsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICB6LWluZGV4OiAzOw0KICBkaXNwbGF5OiBibG9jazsNCiAgaGVpZ2h0OiBjYWxjKGNhbGMoMi4yNXJlbSArIDJweCkgLSAxcHggKiAyKTsNCiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgY29sb3I6ICM0OTUwNTc7DQogIGNvbnRlbnQ6ICJCcm93c2UiOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjZWQ0ZGE7DQogIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7DQp9DQoNCi5uYXYgew0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC1tcy1mbGV4LXdyYXA6IHdyYXA7DQogIGZsZXgtd3JhcDogd3JhcDsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBtYXJnaW4tYm90dG9tOiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQoubmF2LWxpbmsgew0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMC41cmVtIDFyZW07DQp9DQoNCi5uYXYtbGluazpob3ZlciwgLm5hdi1saW5rOmZvY3VzIHsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQoubmF2LWxpbmsuZGlzYWJsZWQgew0KICBjb2xvcjogIzZjNzU3ZDsNCn0NCg0KLm5hdi10YWJzIHsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTY7DQp9DQoNCi5uYXYtdGFicyAubmF2LWl0ZW0gew0KICBtYXJnaW4tYm90dG9tOiAtMXB4Ow0KfQ0KDQoubmF2LXRhYnMgLm5hdi1saW5rIHsNCiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQoubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCAubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzIHsNCiAgYm9yZGVyLWNvbG9yOiAjZTllY2VmICNlOWVjZWYgI2RlZTJlNjsNCn0NCg0KLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCB7DQogIGNvbG9yOiAjNmM3NTdkOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCg0KLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsDQoubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHsNCiAgY29sb3I6ICM0OTUwNTc7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIGJvcmRlci1jb2xvcjogI2RlZTJlNiAjZGVlMmU2ICNmZmY7DQp9DQoNCi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7DQogIG1hcmdpbi10b3A6IC0xcHg7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KfQ0KDQoubmF2LXBpbGxzIC5uYXYtbGluayB7DQogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07DQp9DQoNCi5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZSwNCi5uYXYtcGlsbHMgLnNob3cgPiAubmF2LWxpbmsgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCn0NCg0KLm5hdi1maWxsIC5uYXYtaXRlbSB7DQogIC13ZWJraXQtYm94LWZsZXg6IDE7DQogIC1tcy1mbGV4OiAxIDEgYXV0bzsNCiAgZmxleDogMSAxIGF1dG87DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtIHsNCiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7DQogIGZsZXgtYmFzaXM6IDA7DQogIC13ZWJraXQtYm94LWZsZXg6IDE7DQogIC1tcy1mbGV4LXBvc2l0aXZlOiAxOw0KICBmbGV4LWdyb3c6IDE7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCg0KLnRhYi1jb250ZW50ID4gLmFjdGl2ZSB7DQogIGRpc3BsYXk6IGJsb2NrOw0KfQ0KDQoubmF2YmFyIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC1tcy1mbGV4LXdyYXA6IHdyYXA7DQogIGZsZXgtd3JhcDogd3JhcDsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsNCiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsNCiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsNCn0NCg0KLm5hdmJhciA-IC5jb250YWluZXIsDQoubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOw0KICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5Ow0KICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQp9DQoNCi5uYXZiYXItYnJhbmQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07DQogIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07DQogIG1hcmdpbi1yaWdodDogMXJlbTsNCiAgZm9udC1zaXplOiAxLjI1cmVtOw0KICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCn0NCg0KLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLm5hdmJhci1uYXYgew0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7DQogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOw0KICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBtYXJnaW4tYm90dG9tOiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQoubmF2YmFyLW5hdiAubmF2LWxpbmsgew0KICBwYWRkaW5nLXJpZ2h0OiAwOw0KICBwYWRkaW5nLWxlZnQ6IDA7DQp9DQoNCi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsNCiAgcG9zaXRpb246IHN0YXRpYzsNCiAgZmxvYXQ6IG5vbmU7DQp9DQoNCi5uYXZiYXItdGV4dCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgcGFkZGluZy10b3A6IDAuNXJlbTsNCiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsNCn0NCg0KLm5hdmJhci1jb2xsYXBzZSB7DQogIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlOw0KICBmbGV4LWJhc2lzOiAxMDAlOw0KICAtd2Via2l0LWJveC1mbGV4OiAxOw0KICAtbXMtZmxleC1wb3NpdGl2ZTogMTsNCiAgZmxleC1ncm93OiAxOw0KICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOw0KICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQoubmF2YmFyLXRvZ2dsZXIgew0KICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07DQogIGZvbnQtc2l6ZTogMS4yNXJlbTsNCiAgbGluZS1oZWlnaHQ6IDE7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLm5hdmJhci10b2dnbGVyOmhvdmVyLCAubmF2YmFyLXRvZ2dsZXI6Zm9jdXMgew0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7DQogIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLm5hdmJhci10b2dnbGVyLWljb24gew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAxLjVlbTsNCiAgaGVpZ2h0OiAxLjVlbTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgY29udGVudDogIiI7DQogIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOw0KICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsNCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7DQogIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lciwNCiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgLm5hdmJhci1leHBhbmQtc20gew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1mbG93OiByb3cgbm93cmFwOw0KICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsNCiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7DQogIH0NCiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICBmbGV4LWRpcmVjdGlvbjogcm93Ow0KICB9DQogIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIH0NCiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHQgew0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07DQogIH0NCiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLA0KICAubmF2YmFyLWV4cGFuZC1zbSA-IC5jb250YWluZXItZmx1aWQgew0KICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsNCiAgICBmbGV4LXdyYXA6IG5vd3JhcDsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOw0KICAgIGZsZXgtYmFzaXM6IGF1dG87DQogIH0NCiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogIC5uYXZiYXItZXhwYW5kLXNtIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnUgew0KICAgIHRvcDogYXV0bzsNCiAgICBib3R0b206IDEwMCU7DQogIH0NCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7DQogIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lciwNCiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLWZsdWlkIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgLm5hdmJhci1leHBhbmQtbWQgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1mbG93OiByb3cgbm93cmFwOw0KICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsNCiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICBmbGV4LWRpcmVjdGlvbjogcm93Ow0KICB9DQogIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHQgew0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLA0KICAubmF2YmFyLWV4cGFuZC1tZCA-IC5jb250YWluZXItZmx1aWQgew0KICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsNCiAgICBmbGV4LXdyYXA6IG5vd3JhcDsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOw0KICAgIGZsZXgtYmFzaXM6IGF1dG87DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogIC5uYXZiYXItZXhwYW5kLW1kIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnUgew0KICAgIHRvcDogYXV0bzsNCiAgICBib3R0b206IDEwMCU7DQogIH0NCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7DQogIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lciwNCiAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLWZsdWlkIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgLm5hdmJhci1leHBhbmQtbGcgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1mbG93OiByb3cgbm93cmFwOw0KICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsNCiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICBmbGV4LWRpcmVjdGlvbjogcm93Ow0KICB9DQogIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHQgew0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLA0KICAubmF2YmFyLWV4cGFuZC1sZyA-IC5jb250YWluZXItZmx1aWQgew0KICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsNCiAgICBmbGV4LXdyYXA6IG5vd3JhcDsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOw0KICAgIGZsZXgtYmFzaXM6IGF1dG87DQogIH0NCiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci10b2dnbGVyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogIC5uYXZiYXItZXhwYW5kLWxnIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnUgew0KICAgIHRvcDogYXV0bzsNCiAgICBib3R0b206IDEwMCU7DQogIH0NCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkgew0KICAubmF2YmFyLWV4cGFuZC14bCA-IC5jb250YWluZXIsDQogIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1mbHVpZCB7DQogICAgcGFkZGluZy1yaWdodDogMDsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAubmF2YmFyLWV4cGFuZC14bCB7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOw0KICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOw0KICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7DQogICAgZmxleC1mbG93OiByb3cgbm93cmFwOw0KICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0Ow0KICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0Ow0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOw0KICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOw0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7DQogIH0NCiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmsgew0KICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC14bCA-IC5jb250YWluZXIsDQogIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1mbHVpZCB7DQogICAgLW1zLWZsZXgtd3JhcDogbm93cmFwOw0KICAgIGZsZXgtd3JhcDogbm93cmFwOw0KICB9DQogIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItY29sbGFwc2Ugew0KICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87DQogICAgZmxleC1iYXNpczogYXV0bzsNCiAgfQ0KICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgLm5hdmJhci1leHBhbmQteGwgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7DQogICAgdG9wOiBhdXRvOw0KICAgIGJvdHRvbTogMTAwJTsNCiAgfQ0KfQ0KDQoubmF2YmFyLWV4cGFuZCB7DQogIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7DQogIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7DQogIGZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7DQogIC1tcy1mbGV4LXBhY2s6IHN0YXJ0Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7DQp9DQoNCi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lciwNCi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1mbHVpZCB7DQogIHBhZGRpbmctcmlnaHQ6IDA7DQogIHBhZGRpbmctbGVmdDogMDsNCn0NCg0KLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgew0KICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7DQogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOw0KICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgZmxleC1kaXJlY3Rpb246IHJvdzsNCn0NCg0KLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQp9DQoNCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LXJpZ2h0IHsNCiAgcmlnaHQ6IDA7DQogIGxlZnQ6IGF1dG87DQp9DQoNCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7DQogIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsNCiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07DQp9DQoNCi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lciwNCi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1mbHVpZCB7DQogIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsNCiAgZmxleC13cmFwOiBub3dyYXA7DQp9DQoNCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Ugew0KICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50Ow0KICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7DQogIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOw0KICBmbGV4LWJhc2lzOiBhdXRvOw0KfQ0KDQoubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIgew0KICBkaXNwbGF5OiBub25lOw0KfQ0KDQoubmF2YmFyLWV4cGFuZCAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHsNCiAgdG9wOiBhdXRvOw0KICBib3R0b206IDEwMCU7DQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZCB7DQogIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7DQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzIHsNCiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsNCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsgew0KICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOw0KfQ0KDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMgew0KICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOw0KfQ0KDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7DQogIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7DQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LA0KLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHsNCiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsNCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXIgew0KICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOw0KICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsNCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXItaWNvbiB7DQogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMCwgMCwgMCwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0UiKTsNCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgew0KICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOw0KfQ0KDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhIHsNCiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsNCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cyB7DQogIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7DQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHsNCiAgY29sb3I6ICNmZmY7DQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpmb2N1cyB7DQogIGNvbG9yOiAjZmZmOw0KfQ0KDQoubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsNCn0NCg0KLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cyB7DQogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOw0KfQ0KDQoubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHsNCiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7DQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuc2hvdyA-IC5uYXYtbGluaywNCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLA0KLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LA0KLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUgew0KICBjb2xvcjogI2ZmZjsNCn0NCg0KLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7DQogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7DQogIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOw0KfQ0KDQoubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24gew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFIik7DQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgew0KICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOw0KfQ0KDQoubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGEgew0KICBjb2xvcjogI2ZmZjsNCn0NCg0KLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmhvdmVyLCAubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6Zm9jdXMgew0KICBjb2xvcjogI2ZmZjsNCn0NCg0KLmNhcmQgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsNCiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7DQogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICBtaW4td2lkdGg6IDA7DQogIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94Ow0KICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLmNhcmQgPiBociB7DQogIG1hcmdpbi1yaWdodDogMDsNCiAgbWFyZ2luLWxlZnQ6IDA7DQp9DQoNCi5jYXJkID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQouY2FyZCA-IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07DQogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07DQp9DQoNCi5jYXJkLWJvZHkgew0KICAtd2Via2l0LWJveC1mbGV4OiAxOw0KICAtbXMtZmxleDogMSAxIGF1dG87DQogIGZsZXg6IDEgMSBhdXRvOw0KICBwYWRkaW5nOiAxLjI1cmVtOw0KfQ0KDQouY2FyZC10aXRsZSB7DQogIG1hcmdpbi1ib3R0b206IDAuNzVyZW07DQp9DQoNCi5jYXJkLXN1YnRpdGxlIHsNCiAgbWFyZ2luLXRvcDogLTAuMzc1cmVtOw0KICBtYXJnaW4tYm90dG9tOiAwOw0KfQ0KDQouY2FyZC10ZXh0Omxhc3QtY2hpbGQgew0KICBtYXJnaW4tYm90dG9tOiAwOw0KfQ0KDQouY2FyZC1saW5rOmhvdmVyIHsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQouY2FyZC1saW5rICsgLmNhcmQtbGluayB7DQogIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOw0KfQ0KDQouY2FyZC1oZWFkZXIgew0KICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07DQogIG1hcmdpbi1ib3R0b206IDA7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7DQogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsNCn0NCg0KLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHsNCiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KSBjYWxjKDAuMjVyZW0gLSAxcHgpIDAgMDsNCn0NCg0KLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogIGJvcmRlci10b3A6IDA7DQp9DQoNCi5jYXJkLWZvb3RlciB7DQogIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTsNCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTsNCiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpOw0KfQ0KDQouY2FyZC1mb290ZXI6bGFzdC1jaGlsZCB7DQogIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCk7DQp9DQoNCi5jYXJkLWhlYWRlci10YWJzIHsNCiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07DQogIG1hcmdpbi1ib3R0b206IC0wLjc1cmVtOw0KICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOw0KICBib3JkZXItYm90dG9tOiAwOw0KfQ0KDQouY2FyZC1oZWFkZXItcGlsbHMgew0KICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsNCiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsNCn0NCg0KLmNhcmQtaW1nLW92ZXJsYXkgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMDsNCiAgcmlnaHQ6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgcGFkZGluZzogMS4yNXJlbTsNCn0NCg0KLmNhcmQtaW1nIHsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7DQp9DQoNCi5jYXJkLWltZy10b3Agew0KICB3aWR0aDogMTAwJTsNCiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTsNCiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7DQp9DQoNCi5jYXJkLWltZy1ib3R0b20gew0KICB3aWR0aDogMTAwJTsNCiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7DQogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7DQp9DQoNCi5jYXJkLWRlY2sgew0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7DQogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOw0KICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCn0NCg0KLmNhcmQtZGVjayAuY2FyZCB7DQogIG1hcmdpbi1ib3R0b206IDE1cHg7DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgew0KICAuY2FyZC1kZWNrIHsNCiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7DQogICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7DQogICAgZmxleC1mbG93OiByb3cgd3JhcDsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsNCiAgfQ0KICAuY2FyZC1kZWNrIC5jYXJkIHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC13ZWJraXQtYm94LWZsZXg6IDE7DQogICAgLW1zLWZsZXg6IDEgMCAwJTsNCiAgICBmbGV4OiAxIDAgMCU7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIG1hcmdpbi1yaWdodDogMTVweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KICB9DQp9DQoNCi5jYXJkLWdyb3VwIHsNCiAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICBkaXNwbGF5OiBmbGV4Ow0KICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOw0KICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQp9DQoNCi5jYXJkLWdyb3VwID4gLmNhcmQgew0KICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgLmNhcmQtZ3JvdXAgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDsNCiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQgew0KICAgIC13ZWJraXQtYm94LWZsZXg6IDE7DQogICAgLW1zLWZsZXg6IDEgMCAwJTsNCiAgICBmbGV4OiAxIDAgMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICAuY2FyZC1ncm91cCA-IC5jYXJkICsgLmNhcmQgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIGJvcmRlci1sZWZ0OiAwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaW1nLXRvcCwNCiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1oZWFkZXIgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbSwNCiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1mb290ZXIgew0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctdG9wLA0KICAuY2FyZC1ncm91cCA-IC5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaGVhZGVyIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctYm90dG9tLA0KICAuY2FyZC1ncm91cCA-IC5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtZm9vdGVyIHsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCB7DQogICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCiAgfQ0KICAuY2FyZC1ncm91cCA-IC5jYXJkOm9ubHktY2hpbGQgLmNhcmQtaW1nLXRvcCwNCiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWhlYWRlciB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsNCiAgfQ0KICAuY2FyZC1ncm91cCA-IC5jYXJkOm9ubHktY2hpbGQgLmNhcmQtaW1nLWJvdHRvbSwNCiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWZvb3RlciB7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTsNCiAgfQ0KICAuY2FyZC1ncm91cCA-IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSB7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAuY2FyZC1ncm91cCA-IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctdG9wLA0KICAuY2FyZC1ncm91cCA-IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLA0KICAuY2FyZC1ncm91cCA-IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1oZWFkZXIsDQogIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWZvb3RlciB7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KfQ0KDQouY2FyZC1jb2x1bW5zIC5jYXJkIHsNCiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7DQogIC5jYXJkLWNvbHVtbnMgew0KICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzOw0KICAgIC1tb3otY29sdW1uLWNvdW50OiAzOw0KICAgIGNvbHVtbi1jb3VudDogMzsNCiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDEuMjVyZW07DQogICAgLW1vei1jb2x1bW4tZ2FwOiAxLjI1cmVtOw0KICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07DQogIH0NCiAgLmNhcmQtY29sdW1ucyAuY2FyZCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQp9DQoNCi5icmVhZGNydW1iIHsNCiAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICBkaXNwbGF5OiBmbGV4Ow0KICAtbXMtZmxleC13cmFwOiB3cmFwOw0KICBmbGV4LXdyYXA6IHdyYXA7DQogIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTsNCiAgbWFyZ2luLWJvdHRvbTogMXJlbTsNCiAgbGlzdC1zdHlsZTogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgcGFkZGluZy1yaWdodDogMC41cmVtOw0KICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsNCiAgY29sb3I6ICM2Yzc1N2Q7DQogIGNvbnRlbnQ6ICIvIjsNCn0NCg0KLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7DQogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KfQ0KDQouYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQouYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7DQogIGNvbG9yOiAjNmM3NTdkOw0KfQ0KDQoucGFnaW5hdGlvbiB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBsaXN0LXN0eWxlOiBub25lOw0KICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQoucGFnZS1saW5rIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07DQogIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KICBsaW5lLWhlaWdodDogMS4yNTsNCiAgY29sb3I6ICMwMDdiZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7DQp9DQoNCi5wYWdlLWxpbms6aG92ZXIgew0KICBjb2xvcjogIzAwNTZiMzsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KICBib3JkZXItY29sb3I6ICNkZWUyZTY7DQp9DQoNCi5wYWdlLWxpbms6Zm9jdXMgew0KICB6LWluZGV4OiAyOw0KICBvdXRsaW5lOiAwOw0KICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7DQp9DQoNCi5wYWdlLWxpbms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkgew0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoNCi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7DQogIG1hcmdpbi1sZWZ0OiAwOw0KICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtOw0KICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQoucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOw0KICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7DQogIHotaW5kZXg6IDE7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOw0KICBib3JkZXItY29sb3I6ICMwMDdiZmY7DQp9DQoNCi5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluayB7DQogIGNvbG9yOiAjNmM3NTdkOw0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgY3Vyc29yOiBhdXRvOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICBib3JkZXItY29sb3I6ICNkZWUyZTY7DQp9DQoNCi5wYWdpbmF0aW9uLWxnIC5wYWdlLWxpbmsgew0KICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTsNCiAgZm9udC1zaXplOiAxLjI1cmVtOw0KICBsaW5lLWhlaWdodDogMS41Ow0KfQ0KDQoucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsgew0KICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07DQogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuM3JlbTsNCn0NCg0KLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgew0KICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtOw0KICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtOw0KfQ0KDQoucGFnaW5hdGlvbi1zbSAucGFnZS1saW5rIHsNCiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07DQogIGZvbnQtc2l6ZTogMC44NzVyZW07DQogIGxpbmUtaGVpZ2h0OiAxLjU7DQp9DQoNCi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMnJlbTsNCiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4ycmVtOw0KfQ0KDQoucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjJyZW07DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjJyZW07DQp9DQoNCi5iYWRnZSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgcGFkZGluZzogMC4yNWVtIDAuNGVtOw0KICBmb250LXNpemU6IDc1JTsNCiAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgbGluZS1oZWlnaHQ6IDE7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOw0KICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQouYmFkZ2U6ZW1wdHkgew0KICBkaXNwbGF5OiBub25lOw0KfQ0KDQouYnRuIC5iYWRnZSB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgdG9wOiAtMXB4Ow0KfQ0KDQouYmFkZ2UtcGlsbCB7DQogIHBhZGRpbmctcmlnaHQ6IDAuNmVtOw0KICBwYWRkaW5nLWxlZnQ6IDAuNmVtOw0KICBib3JkZXItcmFkaXVzOiAxMHJlbTsNCn0NCg0KLmJhZGdlLXByaW1hcnkgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCn0NCg0KLmJhZGdlLXByaW1hcnlbaHJlZl06aG92ZXIsIC5iYWRnZS1wcmltYXJ5W2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYzsNCn0NCg0KLmJhZGdlLXNlY29uZGFyeSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOw0KfQ0KDQouYmFkZ2Utc2Vjb25kYXJ5W2hyZWZdOmhvdmVyLCAuYmFkZ2Utc2Vjb25kYXJ5W2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2MjsNCn0NCg0KLmJhZGdlLXN1Y2Nlc3Mgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTsNCn0NCg0KLmJhZGdlLXN1Y2Nlc3NbaHJlZl06aG92ZXIsIC5iYWRnZS1zdWNjZXNzW2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzFlN2UzNDsNCn0NCg0KLmJhZGdlLWluZm8gew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODsNCn0NCg0KLmJhZGdlLWluZm9baHJlZl06aG92ZXIsIC5iYWRnZS1pbmZvW2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YjsNCn0NCg0KLmJhZGdlLXdhcm5pbmcgew0KICBjb2xvcjogIzIxMjUyOTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsNCn0NCg0KLmJhZGdlLXdhcm5pbmdbaHJlZl06aG92ZXIsIC5iYWRnZS13YXJuaW5nW2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDsNCn0NCg0KLmJhZGdlLWRhbmdlciB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1Ow0KfQ0KDQouYmFkZ2UtZGFuZ2VyW2hyZWZdOmhvdmVyLCAuYmFkZ2UtZGFuZ2VyW2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMDsNCn0NCg0KLmJhZGdlLWxpZ2h0IHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7DQp9DQoNCi5iYWRnZS1saWdodFtocmVmXTpob3ZlciwgLmJhZGdlLWxpZ2h0W2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICMyMTI1Mjk7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTsNCn0NCg0KLmJhZGdlLWRhcmsgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsNCn0NCg0KLmJhZGdlLWRhcmtbaHJlZl06aG92ZXIsIC5iYWRnZS1kYXJrW2hyZWZdOmZvY3VzIHsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNDsNCn0NCg0KLmp1bWJvdHJvbiB7DQogIHBhZGRpbmc6IDJyZW0gMXJlbTsNCiAgLyogbWFyZ2luLWJvdHRvbTogMnJlbTsgKi8NCiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsNCiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOw0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgLmp1bWJvdHJvbiB7DQogICAgLyogcGFkZGluZzogNHJlbSAycmVtOyAqLw0KICB9DQp9DQoNCi5qdW1ib3Ryb24tZmx1aWQgew0KICBwYWRkaW5nLXJpZ2h0OiAwOw0KICBwYWRkaW5nLWxlZnQ6IDA7DQogIGJvcmRlci1yYWRpdXM6IDA7DQp9DQoNCi5hbGVydCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtOw0KICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLmFsZXJ0LWhlYWRpbmcgew0KICBjb2xvcjogaW5oZXJpdDsNCn0NCg0KLmFsZXJ0LWxpbmsgew0KICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouYWxlcnQtZGlzbWlzc2libGUgew0KICBwYWRkaW5nLXJpZ2h0OiA0cmVtOw0KfQ0KDQouYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQogIHJpZ2h0OiAwOw0KICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07DQogIGNvbG9yOiBpbmhlcml0Ow0KfQ0KDQouYWxlcnQtcHJpbWFyeSB7DQogIGNvbG9yOiAjMDA0MDg1Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlNWZmOw0KICBib3JkZXItY29sb3I6ICNiOGRhZmY7DQp9DQoNCi5hbGVydC1wcmltYXJ5IGhyIHsNCiAgYm9yZGVyLXRvcC1jb2xvcjogIzlmY2RmZjsNCn0NCg0KLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmsgew0KICBjb2xvcjogIzAwMjc1MjsNCn0NCg0KLmFsZXJ0LXNlY29uZGFyeSB7DQogIGNvbG9yOiAjMzgzZDQxOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlM2U1Ow0KICBib3JkZXItY29sb3I6ICNkNmQ4ZGI7DQp9DQoNCi5hbGVydC1zZWNvbmRhcnkgaHIgew0KICBib3JkZXItdG9wLWNvbG9yOiAjYzhjYmNmOw0KfQ0KDQouYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5rIHsNCiAgY29sb3I6ICMyMDIzMjY7DQp9DQoNCi5hbGVydC1zdWNjZXNzIHsNCiAgY29sb3I6ICMxNTU3MjQ7DQogIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7DQogIGJvcmRlci1jb2xvcjogI2MzZTZjYjsNCn0NCg0KLmFsZXJ0LXN1Y2Nlc3MgaHIgew0KICBib3JkZXItdG9wLWNvbG9yOiAjYjFkZmJiOw0KfQ0KDQouYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7DQogIGNvbG9yOiAjMGIyZTEzOw0KfQ0KDQouYWxlcnQtaW5mbyB7DQogIGNvbG9yOiAjMGM1NDYwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlY2YxOw0KICBib3JkZXItY29sb3I6ICNiZWU1ZWI7DQp9DQoNCi5hbGVydC1pbmZvIGhyIHsNCiAgYm9yZGVyLXRvcC1jb2xvcjogI2FiZGRlNTsNCn0NCg0KLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsgew0KICBjb2xvcjogIzA2MmMzMzsNCn0NCg0KLmFsZXJ0LXdhcm5pbmcgew0KICBjb2xvcjogIzg1NjQwNDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDsNCiAgYm9yZGVyLWNvbG9yOiAjZmZlZWJhOw0KfQ0KDQouYWxlcnQtd2FybmluZyBociB7DQogIGJvcmRlci10b3AtY29sb3I6ICNmZmU4YTE7DQp9DQoNCi5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHsNCiAgY29sb3I6ICM1MzNmMDM7DQp9DQoNCi5hbGVydC1kYW5nZXIgew0KICBjb2xvcjogIzcyMWMyNDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTsNCiAgYm9yZGVyLWNvbG9yOiAjZjVjNmNiOw0KfQ0KDQouYWxlcnQtZGFuZ2VyIGhyIHsNCiAgYm9yZGVyLXRvcC1jb2xvcjogI2YxYjBiNzsNCn0NCg0KLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7DQogIGNvbG9yOiAjNDkxMjE3Ow0KfQ0KDQouYWxlcnQtbGlnaHQgew0KICBjb2xvcjogIzgxODE4MjsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsNCiAgYm9yZGVyLWNvbG9yOiAjZmRmZGZlOw0KfQ0KDQouYWxlcnQtbGlnaHQgaHIgew0KICBib3JkZXItdG9wLWNvbG9yOiAjZWNlY2Y2Ow0KfQ0KDQouYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmsgew0KICBjb2xvcjogIzY4Njg2ODsNCn0NCg0KLmFsZXJ0LWRhcmsgew0KICBjb2xvcjogIzFiMWUyMTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkOTsNCiAgYm9yZGVyLWNvbG9yOiAjYzZjOGNhOw0KfQ0KDQouYWxlcnQtZGFyayBociB7DQogIGJvcmRlci10b3AtY29sb3I6ICNiOWJiYmU7DQp9DQoNCi5hbGVydC1kYXJrIC5hbGVydC1saW5rIHsNCiAgY29sb3I6ICMwNDA1MDU7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7DQogIGZyb20gew0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDsNCiAgfQ0KICB0byB7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgew0KICBmcm9tIHsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcmVtIDA7DQogIH0NCiAgdG8gew0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsNCiAgfQ0KfQ0KDQoucHJvZ3Jlc3Mgew0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIGhlaWdodDogMXJlbTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgZm9udC1zaXplOiAwLjc1cmVtOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQoucHJvZ3Jlc3MtYmFyIHsNCiAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICBkaXNwbGF5OiBmbGV4Ow0KICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOw0KICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsNCiAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgY29sb3I6ICNmZmY7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlOw0KfQ0KDQoucHJvZ3Jlc3MtYmFyLXN0cmlwZWQgew0KICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07DQp9DQoNCi5wcm9ncmVzcy1iYXItYW5pbWF0ZWQgew0KICAtd2Via2l0LWFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlOw0KICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZTsNCn0NCg0KLm1lZGlhIHsNCiAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICBkaXNwbGF5OiBmbGV4Ow0KICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7DQogIC1tcy1mbGV4LWFsaWduOiBzdGFydDsNCiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7DQp9DQoNCi5tZWRpYS1ib2R5IHsNCiAgLXdlYmtpdC1ib3gtZmxleDogMTsNCiAgLW1zLWZsZXg6IDE7DQogIGZsZXg6IDE7DQp9DQoNCi5saXN0LWdyb3VwIHsNCiAgZGlzcGxheTogLXdlYmtpdC1ib3g7DQogIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICBkaXNwbGF5OiBmbGV4Ow0KICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOw0KICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsNCiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIHBhZGRpbmctbGVmdDogMDsNCiAgbWFyZ2luLWJvdHRvbTogMDsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gew0KICB3aWR0aDogMTAwJTsNCiAgY29sb3I6ICM0OTUwNTc7DQogIHRleHQtYWxpZ246IGluaGVyaXQ7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7DQogIGNvbG9yOiAjNDk1MDU3Ow0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmFjdGl2ZSB7DQogIGNvbG9yOiAjMjEyNTI5Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBkaXNwbGF5OiBibG9jazsNCiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtOw0KICBtYXJnaW4tYm90dG9tOiAtMXB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgew0KICBtYXJnaW4tYm90dG9tOiAwOw0KICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsNCiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyB7DQogIHotaW5kZXg6IDE7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwgLmxpc3QtZ3JvdXAtaXRlbTpkaXNhYmxlZCB7DQogIGNvbG9yOiAjNmM3NTdkOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7DQogIHotaW5kZXg6IDI7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOw0KICBib3JkZXItY29sb3I6ICMwMDdiZmY7DQp9DQoNCi5saXN0LWdyb3VwLWZsdXNoIC5saXN0LWdyb3VwLWl0ZW0gew0KICBib3JkZXItcmlnaHQ6IDA7DQogIGJvcmRlci1sZWZ0OiAwOw0KICBib3JkZXItcmFkaXVzOiAwOw0KfQ0KDQoubGlzdC1ncm91cC1mbHVzaDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgYm9yZGVyLXRvcDogMDsNCn0NCg0KLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgew0KICBib3JkZXItYm90dG9tOiAwOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLXByaW1hcnkgew0KICBjb2xvcjogIzAwNDA4NTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZjsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHsNCiAgY29sb3I6ICMwMDQwODU7DQogIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MDg1Ow0KICBib3JkZXItY29sb3I6ICMwMDQwODU7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5IHsNCiAgY29sb3I6ICMzODNkNDE7DQogIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMgew0KICBjb2xvcjogIzM4M2Q0MTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzM4M2Q0MTsNCiAgYm9yZGVyLWNvbG9yOiAjMzgzZDQxOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mgew0KICBjb2xvcjogIzE1NTcyNDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYjsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHsNCiAgY29sb3I6ICMxNTU3MjQ7DQogIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7DQogIGNvbG9yOiAjZmZmOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU1NzI0Ow0KICBib3JkZXItY29sb3I6ICMxNTU3MjQ7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7DQogIGNvbG9yOiAjMGM1NDYwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVlNWViOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMgew0KICBjb2xvcjogIzBjNTQ2MDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICMwYzU0NjA7DQogIGJvcmRlci1jb2xvcjogIzBjNTQ2MDsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHsNCiAgY29sb3I6ICM4NTY0MDQ7DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7DQogIGNvbG9yOiAjODU2NDA0Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzg1NjQwNDsNCiAgYm9yZGVyLWNvbG9yOiAjODU2NDA0Ow0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7DQogIGNvbG9yOiAjNzIxYzI0Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjNmNiOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHsNCiAgY29sb3I6ICM3MjFjMjQ7DQogIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICM3MjFjMjQ7DQogIGJvcmRlci1jb2xvcjogIzcyMWMyNDsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7DQogIGNvbG9yOiAjODE4MTgyOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7DQogIGNvbG9yOiAjODE4MTgyOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2Ow0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsNCiAgY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY29sb3I6ICM4MTgxODI7DQogIGJvcmRlci1jb2xvcjogIzgxODE4MjsNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHsNCiAgY29sb3I6ICMxYjFlMjE7DQogIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7DQogIGNvbG9yOiAjMWIxZTIxOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlOw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgew0KICBjb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWUyMTsNCiAgYm9yZGVyLWNvbG9yOiAjMWIxZTIxOw0KfQ0KDQouY2xvc2Ugew0KICBmbG9hdDogcmlnaHQ7DQogIGZvbnQtc2l6ZTogMS41cmVtOw0KICBmb250LXdlaWdodDogNzAwOw0KICBsaW5lLWhlaWdodDogMTsNCiAgY29sb3I6ICMwMDA7DQogIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7DQogIG9wYWNpdHk6IC41Ow0KfQ0KDQouY2xvc2U6aG92ZXIsIC5jbG9zZTpmb2N1cyB7DQogIGNvbG9yOiAjMDAwOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIG9wYWNpdHk6IC43NTsNCn0NCg0KLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHsNCiAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KDQpidXR0b24uY2xvc2Ugew0KICBwYWRkaW5nOiAwOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYm9yZGVyOiAwOw0KICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQp9DQoNCi5tb2RhbC1vcGVuIHsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLm1vZGFsIHsNCiAgcG9zaXRpb246IGZpeGVkOw0KICB0b3A6IDA7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDA7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDEwNTA7DQogIGRpc3BsYXk6IG5vbmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIG91dGxpbmU6IDA7DQp9DQoNCi5tb2RhbC1vcGVuIC5tb2RhbCB7DQogIG92ZXJmbG93LXg6IGhpZGRlbjsNCiAgb3ZlcmZsb3cteTogYXV0bzsNCn0NCg0KLm1vZGFsLWRpYWxvZyB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgd2lkdGg6IGF1dG87DQogIG1hcmdpbjogMC41cmVtOw0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCn0NCg0KLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7DQogIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7DQogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7DQp9DQoNCi5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2cgew0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCn0NCg0KLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDAuNXJlbSAqIDIpKTsNCn0NCg0KLm1vZGFsLWNvbnRlbnQgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsNCiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7DQogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICB3aWR0aDogMTAwJTsNCiAgcG9pbnRlci1ldmVudHM6IGF1dG87DQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTsNCiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOw0KICBvdXRsaW5lOiAwOw0KfQ0KDQoubW9kYWwtYmFja2Ryb3Agew0KICBwb3NpdGlvbjogZml4ZWQ7DQogIHRvcDogMDsNCiAgcmlnaHQ6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgei1pbmRleDogMTA0MDsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsNCn0NCg0KLm1vZGFsLWJhY2tkcm9wLmZhZGUgew0KICBvcGFjaXR5OiAwOw0KfQ0KDQoubW9kYWwtYmFja2Ryb3Auc2hvdyB7DQogIG9wYWNpdHk6IDAuNTsNCn0NCg0KLm1vZGFsLWhlYWRlciB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0Ow0KICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7DQogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Ow0KICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5Ow0KICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogIHBhZGRpbmc6IDFyZW07DQogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllY2VmOw0KICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjNyZW07DQp9DQoNCi5tb2RhbC1oZWFkZXIgLmNsb3NlIHsNCiAgcGFkZGluZzogMXJlbTsNCiAgbWFyZ2luOiAtMXJlbSAtMXJlbSAtMXJlbSBhdXRvOw0KfQ0KDQoubW9kYWwtdGl0bGUgew0KICBtYXJnaW4tYm90dG9tOiAwOw0KICBsaW5lLWhlaWdodDogMS41Ow0KfQ0KDQoubW9kYWwtYm9keSB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgLXdlYmtpdC1ib3gtZmxleDogMTsNCiAgLW1zLWZsZXg6IDEgMSBhdXRvOw0KICBmbGV4OiAxIDEgYXV0bzsNCiAgcGFkZGluZzogMXJlbTsNCn0NCg0KLm1vZGFsLWZvb3RlciB7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgLXdlYmtpdC1ib3gtcGFjazogZW5kOw0KICAtbXMtZmxleC1wYWNrOiBlbmQ7DQogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQogIHBhZGRpbmc6IDFyZW07DQogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmOw0KfQ0KDQoubW9kYWwtZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgbWFyZ2luLWxlZnQ6IC4yNXJlbTsNCn0NCg0KLm1vZGFsLWZvb3RlciA-IDpub3QoOmxhc3QtY2hpbGQpIHsNCiAgbWFyZ2luLXJpZ2h0OiAuMjVyZW07DQp9DQoNCi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAtOTk5OXB4Ow0KICB3aWR0aDogNTBweDsNCiAgaGVpZ2h0OiA1MHB4Ow0KICBvdmVyZmxvdzogc2Nyb2xsOw0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgLm1vZGFsLWRpYWxvZyB7DQogICAgbWF4LXdpZHRoOiA1MDBweDsNCiAgICBtYXJnaW46IDEuNzVyZW0gYXV0bzsNCiAgfQ0KICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHsNCiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAoMS43NXJlbSAqIDIpKTsNCiAgfQ0KICAubW9kYWwtc20gew0KICAgIG1heC13aWR0aDogMzAwcHg7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogIC5tb2RhbC1sZyB7DQogICAgbWF4LXdpZHRoOiA4MDBweDsNCiAgfQ0KfQ0KDQoudG9vbHRpcCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogMTA3MDsNCiAgZGlzcGxheTogYmxvY2s7DQogIG1hcmdpbjogMDsNCiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgc2Fucy1zZXJpZiwgIkFwcGxlIENvbG9yIEVtb2ppIiwgIlNlZ29lIFVJIEVtb2ppIiwgIlNlZ29lIFVJIFN5bWJvbCI7DQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgdGV4dC1hbGlnbjogc3RhcnQ7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgdGV4dC1zaGFkb3c6IG5vbmU7DQogIHRleHQtdHJhbnNmb3JtOiBub25lOw0KICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOw0KICB3b3JkLWJyZWFrOiBub3JtYWw7DQogIHdvcmQtc3BhY2luZzogbm9ybWFsOw0KICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KICBsaW5lLWJyZWFrOiBhdXRvOw0KICBmb250LXNpemU6IDAuODc1cmVtOw0KICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7DQogIG9wYWNpdHk6IDA7DQp9DQoNCi50b29sdGlwLnNob3cgew0KICBvcGFjaXR5OiAwLjk7DQp9DQoNCi50b29sdGlwIC5hcnJvdyB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiAwLjhyZW07DQogIGhlaWdodDogMC40cmVtOw0KfQ0KDQoudG9vbHRpcCAuYXJyb3c6OmJlZm9yZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgY29udGVudDogIiI7DQogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQp9DQoNCi5icy10b29sdGlwLXRvcCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49InRvcCJdIHsNCiAgcGFkZGluZzogMC40cmVtIDA7DQp9DQoNCi5icy10b29sdGlwLXRvcCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSAuYXJyb3cgew0KICBib3R0b206IDA7DQp9DQoNCi5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49InRvcCJdIC5hcnJvdzo6YmVmb3JlIHsNCiAgdG9wOiAwOw0KICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMDsNCiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsNCn0NCg0KLmJzLXRvb2x0aXAtcmlnaHQsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePSJyaWdodCJdIHsNCiAgcGFkZGluZzogMCAwLjRyZW07DQp9DQoNCi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gLmFycm93IHsNCiAgbGVmdDogMDsNCiAgd2lkdGg6IDAuNHJlbTsNCiAgaGVpZ2h0OiAwLjhyZW07DQp9DQoNCi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj0icmlnaHQiXSAuYXJyb3c6OmJlZm9yZSB7DQogIHJpZ2h0OiAwOw0KICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMC40cmVtIDA7DQogIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsNCn0NCg0KLmJzLXRvb2x0aXAtYm90dG9tLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj0iYm90dG9tIl0gew0KICBwYWRkaW5nOiAwLjRyZW0gMDsNCn0NCg0KLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdyB7DQogIHRvcDogMDsNCn0NCg0KLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj0iYm90dG9tIl0gLmFycm93OjpiZWZvcmUgew0KICBib3R0b206IDA7DQogIGJvcmRlci13aWR0aDogMCAwLjRyZW0gMC40cmVtOw0KICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOw0KfQ0KDQouYnMtdG9vbHRpcC1sZWZ0LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj0ibGVmdCJdIHsNCiAgcGFkZGluZzogMCAwLjRyZW07DQp9DQoNCi5icy10b29sdGlwLWxlZnQgLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj0ibGVmdCJdIC5hcnJvdyB7DQogIHJpZ2h0OiAwOw0KICB3aWR0aDogMC40cmVtOw0KICBoZWlnaHQ6IDAuOHJlbTsNCn0NCg0KLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49ImxlZnQiXSAuYXJyb3c6OmJlZm9yZSB7DQogIGxlZnQ6IDA7DQogIGJvcmRlci13aWR0aDogMC40cmVtIDAgMC40cmVtIDAuNHJlbTsNCiAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7DQp9DQoNCi50b29sdGlwLWlubmVyIHsNCiAgbWF4LXdpZHRoOiAyMDBweDsNCiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07DQogIGNvbG9yOiAjZmZmOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDA7DQogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07DQp9DQoNCi5wb3BvdmVyIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDEwNjA7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBtYXgtd2lkdGg6IDI3NnB4Ow0KICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIEFyaWFsLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIjsNCiAgZm9udC1zdHlsZTogbm9ybWFsOw0KICBmb250LXdlaWdodDogNDAwOw0KICBsaW5lLWhlaWdodDogMS41Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICB0ZXh0LWFsaWduOiBzdGFydDsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7DQogIGxldHRlci1zcGFjaW5nOiBub3JtYWw7DQogIHdvcmQtYnJlYWs6IG5vcm1hbDsNCiAgd29yZC1zcGFjaW5nOiBub3JtYWw7DQogIHdoaXRlLXNwYWNlOiBub3JtYWw7DQogIGxpbmUtYnJlYWs6IGF1dG87DQogIGZvbnQtc2l6ZTogMC44NzVyZW07DQogIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpOw0KICBib3JkZXItcmFkaXVzOiAwLjNyZW07DQp9DQoNCi5wb3BvdmVyIC5hcnJvdyB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiAxcmVtOw0KICBoZWlnaHQ6IDAuNXJlbTsNCiAgbWFyZ2luOiAwIDAuM3JlbTsNCn0NCg0KLnBvcG92ZXIgLmFycm93OjpiZWZvcmUsIC5wb3BvdmVyIC5hcnJvdzo6YWZ0ZXIgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBjb250ZW50OiAiIjsNCiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCn0NCg0KLmJzLXBvcG92ZXItdG9wLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0idG9wIl0gew0KICBtYXJnaW4tYm90dG9tOiAwLjVyZW07DQp9DQoNCi5icy1wb3BvdmVyLXRvcCAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSAuYXJyb3cgew0KICBib3R0b206IGNhbGMoKDAuNXJlbSArIDFweCkgKiAtMSk7DQp9DQoNCi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InRvcCJdIC5hcnJvdzo6YmVmb3JlLA0KLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJ0b3AiXSAuYXJyb3c6OmFmdGVyIHsNCiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7DQp9DQoNCi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InRvcCJdIC5hcnJvdzo6YmVmb3JlIHsNCiAgYm90dG9tOiAwOw0KICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KfQ0KDQouYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InRvcCJdIC5hcnJvdzo6YWZ0ZXIgew0KICBib3R0b206IDFweDsNCiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsNCn0NCg0KLmJzLXBvcG92ZXItcmlnaHQsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJyaWdodCJdIHsNCiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsNCn0NCg0KLmJzLXBvcG92ZXItcmlnaHQgLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0icmlnaHQiXSAuYXJyb3cgew0KICBsZWZ0OiBjYWxjKCgwLjVyZW0gKyAxcHgpICogLTEpOw0KICB3aWR0aDogMC41cmVtOw0KICBoZWlnaHQ6IDFyZW07DQogIG1hcmdpbjogMC4zcmVtIDA7DQp9DQoNCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0icmlnaHQiXSAuYXJyb3c6OmJlZm9yZSwNCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJyaWdodCJdIC5hcnJvdzo6YWZ0ZXIgew0KICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7DQp9DQoNCi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0icmlnaHQiXSAuYXJyb3c6OmJlZm9yZSB7DQogIGxlZnQ6IDA7DQogIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsNCn0NCg0KLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49InJpZ2h0Il0gLmFycm93OjphZnRlciB7DQogIGxlZnQ6IDFweDsNCiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOw0KfQ0KDQouYnMtcG9wb3Zlci1ib3R0b20sIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJib3R0b20iXSB7DQogIG1hcmdpbi10b3A6IDAuNXJlbTsNCn0NCg0KLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdyB7DQogIHRvcDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTsNCn0NCg0KLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0iYm90dG9tIl0gLmFycm93OjpiZWZvcmUsDQouYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdzo6YWZ0ZXIgew0KICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07DQp9DQoNCi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdzo6YmVmb3JlIHsNCiAgdG9wOiAwOw0KICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KfQ0KDQouYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImJvdHRvbSJdIC5hcnJvdzo6YWZ0ZXIgew0KICB0b3A6IDFweDsNCiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsNCn0NCg0KLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0iYm90dG9tIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMDsNCiAgbGVmdDogNTAlOw0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDFyZW07DQogIG1hcmdpbi1sZWZ0OiAtMC41cmVtOw0KICBjb250ZW50OiAiIjsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7DQp9DQoNCi5icy1wb3BvdmVyLWxlZnQsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJsZWZ0Il0gew0KICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsNCn0NCg0KLmJzLXBvcG92ZXItbGVmdCAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJsZWZ0Il0gLmFycm93IHsNCiAgcmlnaHQ6IGNhbGMoKDAuNXJlbSArIDFweCkgKiAtMSk7DQogIHdpZHRoOiAwLjVyZW07DQogIGhlaWdodDogMXJlbTsNCiAgbWFyZ2luOiAwLjNyZW0gMDsNCn0NCg0KLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImxlZnQiXSAuYXJyb3c6OmJlZm9yZSwNCi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49ImxlZnQiXSAuYXJyb3c6OmFmdGVyIHsNCiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMCAwLjVyZW0gMC41cmVtOw0KfQ0KDQouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj0ibGVmdCJdIC5hcnJvdzo6YmVmb3JlIHsNCiAgcmlnaHQ6IDA7DQogIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KfQ0KDQouYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePSJsZWZ0Il0gLmFycm93OjphZnRlciB7DQogIHJpZ2h0OiAxcHg7DQogIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmOw0KfQ0KDQoucG9wb3Zlci1oZWFkZXIgew0KICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTsNCiAgbWFyZ2luLWJvdHRvbTogMDsNCiAgZm9udC1zaXplOiAxcmVtOw0KICBjb2xvcjogaW5oZXJpdDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTsNCiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTsNCn0NCg0KLnBvcG92ZXItaGVhZGVyOmVtcHR5IHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCg0KLnBvcG92ZXItYm9keSB7DQogIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtOw0KICBjb2xvcjogIzIxMjUyOTsNCn0NCg0KLmNhcm91c2VsIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouY2Fyb3VzZWwtaW5uZXIgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHdpZHRoOiAxMDAlOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KDQouY2Fyb3VzZWwtaXRlbSB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZGlzcGxheTogbm9uZTsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgd2lkdGg6IDEwMCU7DQogIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNnMgZWFzZTsNCiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTsNCiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7DQogIHBlcnNwZWN0aXZlOiAxMDAwcHg7DQp9DQoNCi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSwNCi5jYXJvdXNlbC1pdGVtLW5leHQsDQouY2Fyb3VzZWwtaXRlbS1wcmV2IHsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQoNCi5jYXJvdXNlbC1pdGVtLW5leHQsDQouY2Fyb3VzZWwtaXRlbS1wcmV2IHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQp9DQoNCi5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LA0KLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCn0NCg0KQHN1cHBvcnRzICgoLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkpIHsNCiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsDQogIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KLmNhcm91c2VsLWl0ZW0tbmV4dCwNCi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7DQp9DQoNCkBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpKSB7DQogIC5jYXJvdXNlbC1pdGVtLW5leHQsDQogIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KLmNhcm91c2VsLWl0ZW0tcHJldiwNCi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOw0KfQ0KDQpAc3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIG9yICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSkgew0KICAuY2Fyb3VzZWwtaXRlbS1wcmV2LA0KICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgfQ0KfQ0KDQouY2Fyb3VzZWwtY29udHJvbC1wcmV2LA0KLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwOw0KICBib3R0b206IDA7DQogIGRpc3BsYXk6IC13ZWJraXQtYm94Ow0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOw0KICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICB3aWR0aDogMTUlOw0KICBjb2xvcjogI2ZmZjsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBvcGFjaXR5OiAwLjU7DQp9DQoNCi5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXIsIC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsDQouY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLA0KLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cyB7DQogIGNvbG9yOiAjZmZmOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIG91dGxpbmU6IDA7DQogIG9wYWNpdHk6IC45Ow0KfQ0KDQouY2Fyb3VzZWwtY29udHJvbC1wcmV2IHsNCiAgbGVmdDogMDsNCn0NCg0KLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7DQogIHJpZ2h0OiAwOw0KfQ0KDQouY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sDQouY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24gew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAyMHB4Ow0KICBoZWlnaHQ6IDIwcHg7DQogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOw0KICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsNCn0NCg0KLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0UiKTsNCn0NCg0KLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0UiKTsNCn0NCg0KLmNhcm91c2VsLWluZGljYXRvcnMgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDEwcHg7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDE1Ow0KICBkaXNwbGF5OiAtd2Via2l0LWJveDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IGZsZXg7DQogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsNCiAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBtYXJnaW4tcmlnaHQ6IDE1JTsNCiAgbWFyZ2luLWxlZnQ6IDE1JTsNCiAgbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLmNhcm91c2VsLWluZGljYXRvcnMgbGkgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIC13ZWJraXQtYm94LWZsZXg6IDA7DQogIC1tcy1mbGV4OiAwIDEgYXV0bzsNCiAgZmxleDogMCAxIGF1dG87DQogIHdpZHRoOiAzMHB4Ow0KICBoZWlnaHQ6IDNweDsNCiAgbWFyZ2luLXJpZ2h0OiAzcHg7DQogIG1hcmdpbi1sZWZ0OiAzcHg7DQogIHRleHQtaW5kZW50OiAtOTk5cHg7DQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsNCn0NCg0KLmNhcm91c2VsLWluZGljYXRvcnMgbGk6OmJlZm9yZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAtMTBweDsNCiAgbGVmdDogMDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiAxMHB4Ow0KICBjb250ZW50OiAiIjsNCn0NCg0KLmNhcm91c2VsLWluZGljYXRvcnMgbGk6OmFmdGVyIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBib3R0b206IC0xMHB4Ow0KICBsZWZ0OiAwOw0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwcHg7DQogIGNvbnRlbnQ6ICIiOw0KfQ0KDQouY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCn0NCg0KLmNhcm91c2VsLWNhcHRpb24gew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxNSU7DQogIGJvdHRvbTogMjBweDsNCiAgbGVmdDogMTUlOw0KICB6LWluZGV4OiAxMDsNCiAgcGFkZGluZy10b3A6IDIwcHg7DQogIHBhZGRpbmctYm90dG9tOiAyMHB4Ow0KICBjb2xvcjogI2ZmZjsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouYWxpZ24tYmFzZWxpbmUgew0KICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLXRvcCB7DQogIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLW1pZGRsZSB7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLWJvdHRvbSB7DQogIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLXRleHQtYm90dG9tIHsNCiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi10ZXh0LXRvcCB7DQogIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50Ow0KfQ0KDQouYmctcHJpbWFyeSB7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsNCn0NCg0KYS5iZy1wcmltYXJ5OmhvdmVyLCBhLmJnLXByaW1hcnk6Zm9jdXMsDQpidXR0b24uYmctcHJpbWFyeTpob3ZlciwNCmJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYyAhaW1wb3J0YW50Ow0KfQ0KDQouYmctc2Vjb25kYXJ5IHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50Ow0KfQ0KDQphLmJnLXNlY29uZGFyeTpob3ZlciwgYS5iZy1zZWNvbmRhcnk6Zm9jdXMsDQpidXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyLA0KYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7DQogIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjIgIWltcG9ydGFudDsNCn0NCg0KLmJnLXN1Y2Nlc3Mgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7DQp9DQoNCmEuYmctc3VjY2Vzczpob3ZlciwgYS5iZy1zdWNjZXNzOmZvY3VzLA0KYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIsDQpidXR0b24uYmctc3VjY2Vzczpmb2N1cyB7DQogIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDsNCn0NCg0KLmJnLWluZm8gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7DQp9DQoNCmEuYmctaW5mbzpob3ZlciwgYS5iZy1pbmZvOmZvY3VzLA0KYnV0dG9uLmJnLWluZm86aG92ZXIsDQpidXR0b24uYmctaW5mbzpmb2N1cyB7DQogIGJhY2tncm91bmQtY29sb3I6ICMxMTdhOGIgIWltcG9ydGFudDsNCn0NCg0KLmJnLXdhcm5pbmcgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3ICFpbXBvcnRhbnQ7DQp9DQoNCmEuYmctd2FybmluZzpob3ZlciwgYS5iZy13YXJuaW5nOmZvY3VzLA0KYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXIsDQpidXR0b24uYmctd2FybmluZzpmb2N1cyB7DQogIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDAgIWltcG9ydGFudDsNCn0NCg0KLmJnLWRhbmdlciB7DQogIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsNCn0NCg0KYS5iZy1kYW5nZXI6aG92ZXIsIGEuYmctZGFuZ2VyOmZvY3VzLA0KYnV0dG9uLmJnLWRhbmdlcjpob3ZlciwNCmJ1dHRvbi5iZy1kYW5nZXI6Zm9jdXMgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7DQp9DQoNCi5iZy1saWdodCB7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDsNCn0NCg0KYS5iZy1saWdodDpob3ZlciwgYS5iZy1saWdodDpmb2N1cywNCmJ1dHRvbi5iZy1saWdodDpob3ZlciwNCmJ1dHRvbi5iZy1saWdodDpmb2N1cyB7DQogIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTUgIWltcG9ydGFudDsNCn0NCg0KLmJnLWRhcmsgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7DQp9DQoNCmEuYmctZGFyazpob3ZlciwgYS5iZy1kYXJrOmZvY3VzLA0KYnV0dG9uLmJnLWRhcms6aG92ZXIsDQpidXR0b24uYmctZGFyazpmb2N1cyB7DQogIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQgIWltcG9ydGFudDsNCn0NCg0KLmJnLXdoaXRlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50Ow0KfQ0KDQouYmctdHJhbnNwYXJlbnQgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KfQ0KDQouYm9yZGVyIHsNCiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50Ow0KfQ0KDQouYm9yZGVyLXRvcCB7DQogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7DQp9DQoNCi5ib3JkZXItcmlnaHQgew0KICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7DQp9DQoNCi5ib3JkZXItYm90dG9tIHsNCiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1sZWZ0IHsNCiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7DQp9DQoNCi5ib3JkZXItMCB7DQogIGJvcmRlcjogMCAhaW1wb3J0YW50Ow0KfQ0KDQouYm9yZGVyLXRvcC0wIHsNCiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50Ow0KfQ0KDQouYm9yZGVyLXJpZ2h0LTAgew0KICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1ib3R0b20tMCB7DQogIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1sZWZ0LTAgew0KICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50Ow0KfQ0KDQouYm9yZGVyLXByaW1hcnkgew0KICBib3JkZXItY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1zZWNvbmRhcnkgew0KICBib3JkZXItY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1zdWNjZXNzIHsNCiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7DQp9DQoNCi5ib3JkZXItaW5mbyB7DQogIGJvcmRlci1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50Ow0KfQ0KDQouYm9yZGVyLXdhcm5pbmcgew0KICBib3JkZXItY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1kYW5nZXIgew0KICBib3JkZXItY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci1saWdodCB7DQogIGJvcmRlci1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50Ow0KfQ0KDQouYm9yZGVyLWRhcmsgew0KICBib3JkZXItY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDsNCn0NCg0KLmJvcmRlci13aGl0ZSB7DQogIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50Ow0KfQ0KDQoucm91bmRlZCB7DQogIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnJvdW5kZWQtdG9wIHsNCiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucm91bmRlZC1yaWdodCB7DQogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5yb3VuZGVkLWJvdHRvbSB7DQogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnJvdW5kZWQtbGVmdCB7DQogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucm91bmRlZC1jaXJjbGUgew0KICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsNCn0NCg0KLnJvdW5kZWQtMCB7DQogIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsNCn0NCg0KLmNsZWFyZml4OjphZnRlciB7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBjbGVhcjogYm90aDsNCiAgY29udGVudDogIiI7DQp9DQoNCi5kLW5vbmUgew0KICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQp9DQoNCi5kLWlubGluZSB7DQogIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KfQ0KDQouZC1pbmxpbmUtYmxvY2sgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCn0NCg0KLmQtYmxvY2sgew0KICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KfQ0KDQouZC10YWJsZSB7DQogIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7DQp9DQoNCi5kLXRhYmxlLXJvdyB7DQogIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KfQ0KDQouZC10YWJsZS1jZWxsIHsNCiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KfQ0KDQouZC1mbGV4IHsNCiAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsNCiAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KfQ0KDQouZC1pbmxpbmUtZmxleCB7DQogIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50Ow0KICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsNCiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7DQogIC5kLXNtLW5vbmUgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1zbS1pbmxpbmUgew0KICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXNtLWlubGluZS1ibG9jayB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtc20tYmxvY2sgew0KICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtc20tdGFibGUgew0KICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtc20tdGFibGUtcm93IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1zbS10YWJsZS1jZWxsIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtc20tZmxleCB7DQogICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsNCiAgfQ0KICAuZC1zbS1pbmxpbmUtZmxleCB7DQogICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgLmQtbWQtbm9uZSB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIC5kLW1kLWlubGluZSB7DQogICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtbWQtaW5saW5lLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1tZC1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1tZC10YWJsZSB7DQogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1tZC10YWJsZS1yb3cgew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICB9DQogIC5kLW1kLXRhYmxlLWNlbGwgew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1tZC1mbGV4IHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICB9DQogIC5kLW1kLWlubGluZS1mbGV4IHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50Ow0KICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAuZC1sZy1ub25lIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtbGctaW5saW5lIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1sZy1pbmxpbmUtYmxvY2sgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICB9DQogIC5kLWxnLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICB9DQogIC5kLWxnLXRhYmxlIHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICB9DQogIC5kLWxnLXRhYmxlLXJvdyB7DQogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtbGctdGFibGUtY2VsbCB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICB9DQogIC5kLWxnLWZsZXggew0KICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtbGctaW5saW5lLWZsZXggew0KICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAuZC14bC1ub25lIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQteGwtaW5saW5lIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuZC14bC1pbmxpbmUtYmxvY2sgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXhsLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXhsLXRhYmxlIHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXhsLXRhYmxlLXJvdyB7DQogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQteGwtdGFibGUtY2VsbCB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXhsLWZsZXggew0KICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQteGwtaW5saW5lLWZsZXggew0KICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KQG1lZGlhIHByaW50IHsNCiAgLmQtcHJpbnQtbm9uZSB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXByaW50LWlubGluZSB7DQogICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1wcmludC1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1wcmludC10YWJsZSB7DQogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1wcmludC10YWJsZS1yb3cgew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXByaW50LXRhYmxlLWNlbGwgew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgfQ0KICAuZC1wcmludC1mbGV4IHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50Ow0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICB9DQogIC5kLXByaW50LWlubGluZS1mbGV4IHsNCiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50Ow0KICB9DQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDEwMCU7DQogIHBhZGRpbmc6IDA7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlOjpiZWZvcmUgew0KICBkaXNwbGF5OiBibG9jazsNCiAgY29udGVudDogIiI7DQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sDQouZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsDQouZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwNCi5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwNCi5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCiAgYm9yZGVyOiAwOw0KfQ0KDQouZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3JlIHsNCiAgcGFkZGluZy10b3A6IDQyLjg1NzE0MyU7DQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5OjpiZWZvcmUgew0KICBwYWRkaW5nLXRvcDogNTYuMjUlOw0KfQ0KDQouZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUgew0KICBwYWRkaW5nLXRvcDogNzUlOw0KfQ0KDQouZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmUgew0KICBwYWRkaW5nLXRvcDogMTAwJTsNCn0NCg0KLmZsZXgtcm93IHsNCiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7DQogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7DQogIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7DQogIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsNCn0NCg0KLmZsZXgtY29sdW1uIHsNCiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50Ow0KICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50Ow0KICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Ow0KICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7DQp9DQoNCi5mbGV4LXJvdy1yZXZlcnNlIHsNCiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7DQogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7DQogIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50Ow0KfQ0KDQouZmxleC1jb2x1bW4tcmV2ZXJzZSB7DQogIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7DQogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsNCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7DQp9DQoNCi5mbGV4LXdyYXAgew0KICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7DQogIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50Ow0KfQ0KDQouZmxleC1ub3dyYXAgew0KICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsNCiAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsNCn0NCg0KLmZsZXgtd3JhcC1yZXZlcnNlIHsNCiAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7DQogIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7DQp9DQoNCi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQgew0KICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50Ow0KICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCn0NCg0KLmp1c3RpZnktY29udGVudC1lbmQgew0KICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsNCn0NCg0KLmp1c3RpZnktY29udGVudC1jZW50ZXIgew0KICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQoNCi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7DQogIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsNCn0NCg0KLmp1c3RpZnktY29udGVudC1hcm91bmQgew0KICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7DQogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1pdGVtcy1zdGFydCB7DQogIC13ZWJraXQtYm94LWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLWl0ZW1zLWVuZCB7DQogIC13ZWJraXQtYm94LWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLWl0ZW1zLWNlbnRlciB7DQogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1pdGVtcy1iYXNlbGluZSB7DQogIC13ZWJraXQtYm94LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1pdGVtcy1zdHJldGNoIHsNCiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLWNvbnRlbnQtc3RhcnQgew0KICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLWNvbnRlbnQtZW5kIHsNCiAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLWNvbnRlbnQtY2VudGVyIHsNCiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1jb250ZW50LWJldHdlZW4gew0KICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Ow0KfQ0KDQouYWxpZ24tY29udGVudC1hcm91bmQgew0KICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsNCiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1jb250ZW50LXN0cmV0Y2ggew0KICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50Ow0KfQ0KDQouYWxpZ24tc2VsZi1hdXRvIHsNCiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50Ow0KICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1zZWxmLXN0YXJ0IHsNCiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50Ow0KfQ0KDQouYWxpZ24tc2VsZi1lbmQgew0KICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsNCn0NCg0KLmFsaWduLXNlbGYtY2VudGVyIHsNCiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50Ow0KfQ0KDQouYWxpZ24tc2VsZi1iYXNlbGluZSB7DQogIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQp9DQoNCi5hbGlnbi1zZWxmLXN0cmV0Y2ggew0KICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7DQogIC5mbGV4LXNtLXJvdyB7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC1zbS1jb2x1bW4gew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHsNCiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgtc20tY29sdW1uLXJldmVyc2Ugew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgtc20td3JhcCB7DQogICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50Ow0KICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LXNtLW5vd3JhcCB7DQogICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7DQogICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC1zbS13cmFwLXJldmVyc2Ugew0KICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7DQogIH0NCiAgLmp1c3RpZnktY29udGVudC1zbS1zdGFydCB7DQogICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQtc20tZW5kIHsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmp1c3RpZnktY29udGVudC1zbS1jZW50ZXIgew0KICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCiAgLmp1c3RpZnktY29udGVudC1zbS1iZXR3ZWVuIHsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIHsNCiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24taXRlbXMtc20tc3RhcnQgew0KICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLXNtLWVuZCB7DQogICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24taXRlbXMtc20tY2VudGVyIHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUgew0KICAgIC13ZWJraXQtYm94LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1pdGVtcy1zbS1zdHJldGNoIHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tY29udGVudC1zbS1zdGFydCB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tY29udGVudC1zbS1lbmQgew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tY29udGVudC1zbS1jZW50ZXIgew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbiB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaCB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLXNtLWF1dG8gew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLXNlbGYtc20tc3RhcnQgew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLXNtLWVuZCB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi1zbS1jZW50ZXIgew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLXNlbGYtc20tc3RyZXRjaCB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgLmZsZXgtbWQtcm93IHsNCiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDsNCiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7DQogICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LW1kLWNvbHVtbiB7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50Ow0KICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgtbWQtcm93LXJldmVyc2Ugew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50Ow0KICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsNCiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50Ow0KICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC1tZC13cmFwIHsNCiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7DQogICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgtbWQtbm93cmFwIHsNCiAgICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsNCiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LW1kLXdyYXAtcmV2ZXJzZSB7DQogICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsNCiAgfQ0KICAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0IHsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQgew0KICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50Ow0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsNCiAgfQ0KICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7DQogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KICAuanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW4gew0KICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7DQogIH0NCiAgLmp1c3RpZnktY29udGVudC1tZC1hcm91bmQgew0KICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7DQogICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24taXRlbXMtbWQtZW5kIHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1pdGVtcy1tZC1jZW50ZXIgew0KICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1pdGVtcy1tZC1iYXNlbGluZSB7DQogICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2ggew0KICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LW1kLXN0YXJ0IHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LW1kLWNlbnRlciB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tY29udGVudC1tZC1iZXR3ZWVuIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQtbWQtYXJvdW5kIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tY29udGVudC1tZC1zdHJldGNoIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLXNlbGYtbWQtYXV0byB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi1tZC1zdGFydCB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLXNlbGYtbWQtZW5kIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLW1kLWNlbnRlciB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLXNlbGYtbWQtYmFzZWxpbmUgew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAuZmxleC1sZy1yb3cgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50Ow0KICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsNCiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgtbGctY29sdW1uIHsNCiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LWxnLWNvbHVtbi1yZXZlcnNlIHsNCiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LWxnLXdyYXAgew0KICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsNCiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC1sZy1ub3dyYXAgew0KICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50Ow0KICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgtbGctd3JhcC1yZXZlcnNlIHsNCiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsNCiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQgew0KICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCiAgfQ0KICAuanVzdGlmeS1jb250ZW50LWxnLWVuZCB7DQogICAgLXdlYmtpdC1ib3gtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIHsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7DQogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsNCiAgfQ0KICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7DQogICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50Ow0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLWxnLXN0YXJ0IHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1pdGVtcy1sZy1lbmQgew0KICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7DQogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5lIHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24taXRlbXMtbGctc3RyZXRjaCB7DQogICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQgew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQtbGctZW5kIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LWxnLWJldHdlZW4gew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tY29udGVudC1sZy1hcm91bmQgew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LWxnLXN0cmV0Y2ggew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi1sZy1hdXRvIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLWxnLXN0YXJ0IHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi1sZy1lbmQgew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLXNlbGYtbGctY2VudGVyIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi1sZy1iYXNlbGluZSB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2ggew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAuZmxleC14bC1yb3cgew0KICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50Ow0KICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsNCiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgteGwtY29sdW1uIHsNCiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7DQogICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LXhsLWNvbHVtbi1yZXZlcnNlIHsNCiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICB9DQogIC5mbGV4LXhsLXdyYXAgew0KICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsNCiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxleC14bC1ub3dyYXAgew0KICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50Ow0KICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsZXgteGwtd3JhcC1yZXZlcnNlIHsNCiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsNCiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnQgew0KICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCiAgfQ0KICAuanVzdGlmeS1jb250ZW50LXhsLWVuZCB7DQogICAgLXdlYmtpdC1ib3gtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyIHsNCiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQogIC5qdXN0aWZ5LWNvbnRlbnQteGwtYmV0d2VlbiB7DQogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsNCiAgfQ0KICAuanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZCB7DQogICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50Ow0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLXhsLXN0YXJ0IHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1pdGVtcy14bC1lbmQgew0KICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLXhsLWNlbnRlciB7DQogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHsNCiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24taXRlbXMteGwtc3RyZXRjaCB7DQogICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQteGwtc3RhcnQgew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQteGwtZW5kIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLWNvbnRlbnQteGwtY2VudGVyIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LXhsLWJldHdlZW4gew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tY29udGVudC14bC1hcm91bmQgew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2ggew0KICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi14bC1hdXRvIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi14bC1lbmQgew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFsaWduLXNlbGYteGwtY2VudGVyIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICB9DQogIC5hbGlnbi1zZWxmLXhsLXN0cmV0Y2ggew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KLmZsb2F0LWxlZnQgew0KICBmbG9hdDogbGVmdCAhaW1wb3J0YW50Ow0KfQ0KDQouZmxvYXQtcmlnaHQgew0KICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsNCn0NCg0KLmZsb2F0LW5vbmUgew0KICBmbG9hdDogbm9uZSAhaW1wb3J0YW50Ow0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgLmZsb2F0LXNtLWxlZnQgew0KICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsb2F0LXNtLXJpZ2h0IHsNCiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxvYXQtc20tbm9uZSB7DQogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgLmZsb2F0LW1kLWxlZnQgew0KICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsb2F0LW1kLXJpZ2h0IHsNCiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxvYXQtbWQtbm9uZSB7DQogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgLmZsb2F0LWxnLWxlZnQgew0KICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsb2F0LWxnLXJpZ2h0IHsNCiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsNCiAgfQ0KICAuZmxvYXQtbGctbm9uZSB7DQogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogIC5mbG9hdC14bC1sZWZ0IHsNCiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50Ow0KICB9DQogIC5mbG9hdC14bC1yaWdodCB7DQogICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmZsb2F0LXhsLW5vbmUgew0KICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KLnBvc2l0aW9uLXN0YXRpYyB7DQogIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsNCn0NCg0KLnBvc2l0aW9uLXJlbGF0aXZlIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7DQp9DQoNCi5wb3NpdGlvbi1hYnNvbHV0ZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Ow0KfQ0KDQoucG9zaXRpb24tZml4ZWQgew0KICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsNCn0NCg0KLnBvc2l0aW9uLXN0aWNreSB7DQogIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50Ow0KICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7DQp9DQoNCi5maXhlZC10b3Agew0KICBwb3NpdGlvbjogZml4ZWQ7DQogIHRvcDogMDsNCiAgcmlnaHQ6IDA7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDEwMzA7DQp9DQoNCi5maXhlZC1ib3R0b20gew0KICBwb3NpdGlvbjogZml4ZWQ7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDA7DQogIGxlZnQ6IDA7DQogIHotaW5kZXg6IDEwMzA7DQp9DQoNCkBzdXBwb3J0cyAoKHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSkgb3IgKHBvc2l0aW9uOiBzdGlja3kpKSB7DQogIC5zdGlja3ktdG9wIHsNCiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7DQogICAgcG9zaXRpb246IHN0aWNreTsNCiAgICB0b3A6IDA7DQogICAgei1pbmRleDogMTAyMDsNCiAgfQ0KfQ0KDQouc3Itb25seSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgd2lkdGg6IDFweDsNCiAgaGVpZ2h0OiAxcHg7DQogIHBhZGRpbmc6IDA7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpOw0KICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7DQogIGJvcmRlcjogMDsNCn0NCg0KLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHsNCiAgcG9zaXRpb246IHN0YXRpYzsNCiAgd2lkdGg6IGF1dG87DQogIGhlaWdodDogYXV0bzsNCiAgb3ZlcmZsb3c6IHZpc2libGU7DQogIGNsaXA6IGF1dG87DQogIHdoaXRlLXNwYWNlOiBub3JtYWw7DQogIC13ZWJraXQtY2xpcC1wYXRoOiBub25lOw0KICBjbGlwLXBhdGg6IG5vbmU7DQp9DQoNCi53LTI1IHsNCiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50Ow0KfQ0KDQoudy01MCB7DQogIHdpZHRoOiA1MCUgIWltcG9ydGFudDsNCn0NCg0KLnctNzUgew0KICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7DQp9DQoNCi53LTEwMCB7DQogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQp9DQoNCi5oLTI1IHsNCiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDsNCn0NCg0KLmgtNTAgew0KICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50Ow0KfQ0KDQouaC03NSB7DQogIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7DQp9DQoNCi5oLTEwMCB7DQogIGhlaWdodDogMTAwJSAhaW1wb3J0YW50Ow0KfQ0KDQoubXctMTAwIHsNCiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQp9DQoNCi5taC0xMDAgew0KICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7DQp9DQoNCi5tLTAgew0KICBtYXJnaW46IDAgIWltcG9ydGFudDsNCn0NCg0KLm10LTAsDQoubXktMCB7DQogIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsNCn0NCg0KLm1yLTAsDQoubXgtMCB7DQogIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50Ow0KfQ0KDQoubWItMCwNCi5teS0wIHsNCiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50Ow0KfQ0KDQoubWwtMCwNCi5teC0wIHsNCiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsNCn0NCg0KLm0tMSB7DQogIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubXQtMSwNCi5teS0xIHsNCiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubXItMSwNCi5teC0xIHsNCiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tYi0xLA0KLm15LTEgew0KICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tbC0xLA0KLm14LTEgew0KICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubS0yIHsNCiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLm10LTIsDQoubXktMiB7DQogIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubXItMiwNCi5teC0yIHsNCiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1iLTIsDQoubXktMiB7DQogIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubWwtMiwNCi5teC0yIHsNCiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubS0zIHsNCiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tdC0zLA0KLm15LTMgew0KICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tci0zLA0KLm14LTMgew0KICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1iLTMsDQoubXktMyB7DQogIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1sLTMsDQoubXgtMyB7DQogIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tLTQgew0KICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubXQtNCwNCi5teS00IHsNCiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tci00LA0KLm14LTQgew0KICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubWItNCwNCi5teS00IHsNCiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tbC00LA0KLm14LTQgew0KICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5tLTUgew0KICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsNCn0NCg0KLm10LTUsDQoubXktNSB7DQogIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsNCn0NCg0KLm1yLTUsDQoubXgtNSB7DQogIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubWItNSwNCi5teS01IHsNCiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50Ow0KfQ0KDQoubWwtNSwNCi5teC01IHsNCiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsNCn0NCg0KLnAtMCB7DQogIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCn0NCg0KLnB0LTAsDQoucHktMCB7DQogIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7DQp9DQoNCi5wci0wLA0KLnB4LTAgew0KICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQp9DQoNCi5wYi0wLA0KLnB5LTAgew0KICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50Ow0KfQ0KDQoucGwtMCwNCi5weC0wIHsNCiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7DQp9DQoNCi5wLTEgew0KICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wdC0xLA0KLnB5LTEgew0KICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucHItMSwNCi5weC0xIHsNCiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucGItMSwNCi5weS0xIHsNCiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnBsLTEsDQoucHgtMSB7DQogIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucC0yIHsNCiAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wdC0yLA0KLnB5LTIgew0KICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wci0yLA0KLnB4LTIgew0KICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnBiLTIsDQoucHktMiB7DQogIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnBsLTIsDQoucHgtMiB7DQogIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wLTMgew0KICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wdC0zLA0KLnB5LTMgew0KICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucHItMywNCi5weC0zIHsNCiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucGItMywNCi5weS0zIHsNCiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsNCn0NCg0KLnBsLTMsDQoucHgtMyB7DQogIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucC00IHsNCiAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wdC00LA0KLnB5LTQgew0KICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wci00LA0KLnB4LTQgew0KICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnBiLTQsDQoucHktNCB7DQogIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsNCn0NCg0KLnBsLTQsDQoucHgtNCB7DQogIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wLTUgew0KICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wdC01LA0KLnB5LTUgew0KICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucHItNSwgLnB4LTEgew0KICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7DQp9DQoNCi5wYi01LA0KLnB5LTUgew0KICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50Ow0KfQ0KDQoucGwtNSwgLnB4LTEgew0KICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsNCn0NCg0KLm0tYXV0byB7DQogIG1hcmdpbjogYXV0byAhaW1wb3J0YW50Ow0KfQ0KDQoubXQtYXV0bywNCi5teS1hdXRvIHsNCiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50Ow0KfQ0KDQoubXItYXV0bywNCi5teC1hdXRvIHsNCiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQp9DQoNCi5tYi1hdXRvLA0KLm15LWF1dG8gew0KICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7DQp9DQoNCi5tbC1hdXRvLA0KLm14LWF1dG8gew0KICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgLm0tc20tMCB7DQogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LXNtLTAsDQogIC5teS1zbS0wIHsNCiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLXNtLTAsDQogIC5teC1zbS0wIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAubWItc20tMCwNCiAgLm15LXNtLTAgew0KICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsNCiAgfQ0KICAubWwtc20tMCwNCiAgLm14LXNtLTAgew0KICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLm0tc20tMSB7DQogICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LXNtLTEsDQogIC5teS1zbS0xIHsNCiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLXNtLTEsDQogIC5teC1zbS0xIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWItc20tMSwNCiAgLm15LXNtLTEgew0KICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWwtc20tMSwNCiAgLm14LXNtLTEgew0KICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm0tc20tMiB7DQogICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXQtc20tMiwNCiAgLm15LXNtLTIgew0KICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tci1zbS0yLA0KICAubXgtc20tMiB7DQogICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWItc20tMiwNCiAgLm15LXNtLTIgew0KICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC1zbS0yLA0KICAubXgtc20tMiB7DQogICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tLXNtLTMgew0KICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC1zbS0zLA0KICAubXktc20tMyB7DQogICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tci1zbS0zLA0KICAubXgtc20tMyB7DQogICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLXNtLTMsDQogIC5teS1zbS0zIHsNCiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLXNtLTMsDQogIC5teC1zbS0zIHsNCiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tLXNtLTQgew0KICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LXNtLTQsDQogIC5teS1zbS00IHsNCiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXItc20tNCwNCiAgLm14LXNtLTQgew0KICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLXNtLTQsDQogIC5teS1zbS00IHsNCiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWwtc20tNCwNCiAgLm14LXNtLTQgew0KICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS1zbS01IHsNCiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXQtc20tNSwNCiAgLm15LXNtLTUgew0KICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXItc20tNSwNCiAgLm14LXNtLTUgew0KICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi1zbS01LA0KICAubXktc20tNSB7DQogICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC1zbS01LA0KICAubXgtc20tNSB7DQogICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucC1zbS0wIHsNCiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LXNtLTAsDQogIC5weS1zbS0wIHsNCiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5wci1zbS0wLA0KICAucHgtc20tMCB7DQogICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5wYi1zbS0wLA0KICAucHktc20tMCB7DQogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucGwtc20tMCwNCiAgLnB4LXNtLTAgew0KICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5wLXNtLTEgew0KICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHQtc20tMSwNCiAgLnB5LXNtLTEgew0KICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLXNtLTEsDQogIC5weC1zbS0xIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLXNtLTEsDQogIC5weS1zbS0xIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wbC1zbS0xLA0KICAucHgtc20tMSB7DQogICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAtc20tMiB7DQogICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LXNtLTIsDQogIC5weS1zbS0yIHsNCiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLXNtLTIsDQogIC5weC1zbS0yIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGItc20tMiwNCiAgLnB5LXNtLTIgew0KICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGwtc20tMiwNCiAgLnB4LXNtLTIgew0KICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAtc20tMyB7DQogICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC1zbS0zLA0KICAucHktc20tMyB7DQogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHItc20tMywNCiAgLnB4LXNtLTMgew0KICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGItc20tMywNCiAgLnB5LXNtLTMgew0KICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLXNtLTMsDQogIC5weC1zbS0zIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucC1zbS00IHsNCiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHQtc20tNCwNCiAgLnB5LXNtLTQgew0KICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHItc20tNCwNCiAgLnB4LXNtLTQgew0KICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wYi1zbS00LA0KICAucHktc20tNCB7DQogICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wbC1zbS00LA0KICAucHgtc20tNCB7DQogICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucC1zbS01IHsNCiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LXNtLTUsDQogIC5weS1zbS01IHsNCiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wci1zbS01LA0KICAucHgtc20tNSB7DQogICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wYi1zbS01LA0KICAucHktc20tNSB7DQogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGwtc20tNSwNCiAgLnB4LXNtLTUgew0KICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tLXNtLWF1dG8gew0KICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC1zbS1hdXRvLA0KICAubXktc20tYXV0byB7DQogICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5tci1zbS1hdXRvLA0KICAubXgtc20tYXV0byB7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLXNtLWF1dG8sDQogIC5teS1zbS1hdXRvIHsNCiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLXNtLWF1dG8sDQogIC5teC1zbS1hdXRvIHsNCiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAubS1tZC0wIHsNCiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsNCiAgfQ0KICAubXQtbWQtMCwNCiAgLm15LW1kLTAgew0KICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAubXItbWQtMCwNCiAgLm14LW1kLTAgew0KICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi1tZC0wLA0KICAubXktbWQtMCB7DQogICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC1tZC0wLA0KICAubXgtbWQtMCB7DQogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAubS1tZC0xIHsNCiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXQtbWQtMSwNCiAgLm15LW1kLTEgew0KICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXItbWQtMSwNCiAgLm14LW1kLTEgew0KICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi1tZC0xLA0KICAubXktbWQtMSB7DQogICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC1tZC0xLA0KICAubXgtbWQtMSB7DQogICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS1tZC0yIHsNCiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC1tZC0yLA0KICAubXktbWQtMiB7DQogICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLW1kLTIsDQogIC5teC1tZC0yIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi1tZC0yLA0KICAubXktbWQtMiB7DQogICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLW1kLTIsDQogIC5teC1tZC0yIHsNCiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm0tbWQtMyB7DQogICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LW1kLTMsDQogIC5teS1tZC0zIHsNCiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLW1kLTMsDQogIC5teC1tZC0zIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWItbWQtMywNCiAgLm15LW1kLTMgew0KICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWwtbWQtMywNCiAgLm14LW1kLTMgew0KICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm0tbWQtNCB7DQogICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXQtbWQtNCwNCiAgLm15LW1kLTQgew0KICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tci1tZC00LA0KICAubXgtbWQtNCB7DQogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWItbWQtNCwNCiAgLm15LW1kLTQgew0KICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC1tZC00LA0KICAubXgtbWQtNCB7DQogICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tLW1kLTUgew0KICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC1tZC01LA0KICAubXktbWQtNSB7DQogICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tci1tZC01LA0KICAubXgtbWQtNSB7DQogICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLW1kLTUsDQogIC5teS1tZC01IHsNCiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLW1kLTUsDQogIC5teC1tZC01IHsNCiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wLW1kLTAgew0KICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucHQtbWQtMCwNCiAgLnB5LW1kLTAgew0KICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLW1kLTAsDQogIC5weC1tZC0wIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLW1kLTAsDQogIC5weS1tZC0wIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5wbC1tZC0wLA0KICAucHgtbWQtMCB7DQogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAtbWQtMSB7DQogICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC1tZC0xLA0KICAucHktbWQtMSB7DQogICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHItbWQtMSwNCiAgLnB4LW1kLTEgew0KICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGItbWQtMSwNCiAgLnB5LW1kLTEgew0KICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLW1kLTEsDQogIC5weC1tZC0xIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucC1tZC0yIHsNCiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHQtbWQtMiwNCiAgLnB5LW1kLTIgew0KICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHItbWQtMiwNCiAgLnB4LW1kLTIgew0KICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wYi1tZC0yLA0KICAucHktbWQtMiB7DQogICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wbC1tZC0yLA0KICAucHgtbWQtMiB7DQogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucC1tZC0zIHsNCiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LW1kLTMsDQogIC5weS1tZC0zIHsNCiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wci1tZC0zLA0KICAucHgtbWQtMyB7DQogICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wYi1tZC0zLA0KICAucHktbWQtMyB7DQogICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGwtbWQtMywNCiAgLnB4LW1kLTMgew0KICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wLW1kLTQgew0KICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC1tZC00LA0KICAucHktbWQtNCB7DQogICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wci1tZC00LA0KICAucHgtbWQtNCB7DQogICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLW1kLTQsDQogIC5weS1tZC00IHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLW1kLTQsDQogIC5weC1tZC00IHsNCiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wLW1kLTUgew0KICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHQtbWQtNSwNCiAgLnB5LW1kLTUgew0KICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLW1kLTUsDQogIC5weC1tZC01IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLW1kLTUsDQogIC5weS1tZC01IHsNCiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wbC1tZC01LA0KICAucHgtbWQtNSB7DQogICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm0tbWQtYXV0byB7DQogICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LW1kLWF1dG8sDQogIC5teS1tZC1hdXRvIHsNCiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLW1kLWF1dG8sDQogIC5teC1tZC1hdXRvIHsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KICAubWItbWQtYXV0bywNCiAgLm15LW1kLWF1dG8gew0KICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KICAubWwtbWQtYXV0bywNCiAgLm14LW1kLWF1dG8gew0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogIC5tLWxnLTAgew0KICAgIG1hcmdpbjogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC1sZy0wLA0KICAubXktbGctMCB7DQogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tci1sZy0wLA0KICAubXgtbGctMCB7DQogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLWxnLTAsDQogIC5teS1sZy0wIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLWxnLTAsDQogIC5teC1sZy0wIHsNCiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tLWxnLTEgew0KICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC1sZy0xLA0KICAubXktbGctMSB7DQogICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tci1sZy0xLA0KICAubXgtbGctMSB7DQogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLWxnLTEsDQogIC5teS1sZy0xIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLWxnLTEsDQogIC5teC1sZy0xIHsNCiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tLWxnLTIgew0KICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LWxnLTIsDQogIC5teS1sZy0yIHsNCiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXItbGctMiwNCiAgLm14LWxnLTIgew0KICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLWxnLTIsDQogIC5teS1sZy0yIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWwtbGctMiwNCiAgLm14LWxnLTIgew0KICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS1sZy0zIHsNCiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXQtbGctMywNCiAgLm15LWxnLTMgew0KICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXItbGctMywNCiAgLm14LWxnLTMgew0KICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi1sZy0zLA0KICAubXktbGctMyB7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC1sZy0zLA0KICAubXgtbGctMyB7DQogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS1sZy00IHsNCiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC1sZy00LA0KICAubXktbGctNCB7DQogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLWxnLTQsDQogIC5teC1sZy00IHsNCiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi1sZy00LA0KICAubXktbGctNCB7DQogICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLWxnLTQsDQogIC5teC1sZy00IHsNCiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm0tbGctNSB7DQogICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LWxnLTUsDQogIC5teS1sZy01IHsNCiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLWxnLTUsDQogIC5teC1sZy01IHsNCiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWItbGctNSwNCiAgLm15LWxnLTUgew0KICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWwtbGctNSwNCiAgLm14LWxnLTUgew0KICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAtbGctMCB7DQogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC1sZy0wLA0KICAucHktbGctMCB7DQogICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucHItbGctMCwNCiAgLnB4LWxnLTAgew0KICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucGItbGctMCwNCiAgLnB5LWxnLTAgew0KICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLWxnLTAsDQogIC5weC1sZy0wIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucC1sZy0xIHsNCiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LWxnLTEsDQogIC5weS1sZy0xIHsNCiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wci1sZy0xLA0KICAucHgtbGctMSB7DQogICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wYi1sZy0xLA0KICAucHktbGctMSB7DQogICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGwtbGctMSwNCiAgLnB4LWxnLTEgew0KICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wLWxnLTIgew0KICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC1sZy0yLA0KICAucHktbGctMiB7DQogICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wci1sZy0yLA0KICAucHgtbGctMiB7DQogICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLWxnLTIsDQogIC5weS1sZy0yIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLWxnLTIsDQogIC5weC1sZy0yIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wLWxnLTMgew0KICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHQtbGctMywNCiAgLnB5LWxnLTMgew0KICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLWxnLTMsDQogIC5weC1sZy0zIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLWxnLTMsDQogIC5weS1sZy0zIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wbC1sZy0zLA0KICAucHgtbGctMyB7DQogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAtbGctNCB7DQogICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LWxnLTQsDQogIC5weS1sZy00IHsNCiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLWxnLTQsDQogIC5weC1sZy00IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGItbGctNCwNCiAgLnB5LWxnLTQgew0KICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGwtbGctNCwNCiAgLnB4LWxnLTQgew0KICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAtbGctNSB7DQogICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC1sZy01LA0KICAucHktbGctNSB7DQogICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHItbGctNSwNCiAgLnB4LWxnLTUgew0KICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGItbGctNSwNCiAgLnB5LWxnLTUgew0KICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLWxnLTUsDQogIC5weC1sZy01IHsNCiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS1sZy1hdXRvIHsNCiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KICAubXQtbGctYXV0bywNCiAgLm15LWxnLWF1dG8gew0KICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KICAubXItbGctYXV0bywNCiAgLm14LWxnLWF1dG8gew0KICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi1sZy1hdXRvLA0KICAubXktbGctYXV0byB7DQogICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC1sZy1hdXRvLA0KICAubXgtbGctYXV0byB7DQogICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogIC5tLXhsLTAgew0KICAgIG1hcmdpbjogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC14bC0wLA0KICAubXkteGwtMCB7DQogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tci14bC0wLA0KICAubXgteGwtMCB7DQogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLXhsLTAsDQogIC5teS14bC0wIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLXhsLTAsDQogIC5teC14bC0wIHsNCiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5tLXhsLTEgew0KICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC14bC0xLA0KICAubXkteGwtMSB7DQogICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tci14bC0xLA0KICAubXgteGwtMSB7DQogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLXhsLTEsDQogIC5teS14bC0xIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLXhsLTEsDQogIC5teC14bC0xIHsNCiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tLXhsLTIgew0KICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LXhsLTIsDQogIC5teS14bC0yIHsNCiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXIteGwtMiwNCiAgLm14LXhsLTIgew0KICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1iLXhsLTIsDQogIC5teS14bC0yIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWwteGwtMiwNCiAgLm14LXhsLTIgew0KICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS14bC0zIHsNCiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXQteGwtMywNCiAgLm15LXhsLTMgew0KICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubXIteGwtMywNCiAgLm14LXhsLTMgew0KICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi14bC0zLA0KICAubXkteGwtMyB7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC14bC0zLA0KICAubXgteGwtMyB7DQogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS14bC00IHsNCiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tdC14bC00LA0KICAubXkteGwtNCB7DQogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLXhsLTQsDQogIC5teC14bC00IHsNCiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi14bC00LA0KICAubXkteGwtNCB7DQogICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1sLXhsLTQsDQogIC5teC14bC00IHsNCiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm0teGwtNSB7DQogICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm10LXhsLTUsDQogIC5teS14bC01IHsNCiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLm1yLXhsLTUsDQogIC5teC14bC01IHsNCiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWIteGwtNSwNCiAgLm15LXhsLTUgew0KICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubWwteGwtNSwNCiAgLm14LXhsLTUgew0KICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAteGwtMCB7DQogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC14bC0wLA0KICAucHkteGwtMCB7DQogICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucHIteGwtMCwNCiAgLnB4LXhsLTAgew0KICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucGIteGwtMCwNCiAgLnB5LXhsLTAgew0KICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLXhsLTAsDQogIC5weC14bC0wIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsNCiAgfQ0KICAucC14bC0xIHsNCiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LXhsLTEsDQogIC5weS14bC0xIHsNCiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wci14bC0xLA0KICAucHgteGwtMSB7DQogICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wYi14bC0xLA0KICAucHkteGwtMSB7DQogICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGwteGwtMSwNCiAgLnB4LXhsLTEgew0KICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wLXhsLTIgew0KICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC14bC0yLA0KICAucHkteGwtMiB7DQogICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wci14bC0yLA0KICAucHgteGwtMiB7DQogICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLXhsLTIsDQogIC5weS14bC0yIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLXhsLTIsDQogIC5weC14bC0yIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wLXhsLTMgew0KICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHQteGwtMywNCiAgLnB5LXhsLTMgew0KICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLXhsLTMsDQogIC5weC14bC0zIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBiLXhsLTMsDQogIC5weS14bC0zIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wbC14bC0zLA0KICAucHgteGwtMyB7DQogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAteGwtNCB7DQogICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnB0LXhsLTQsDQogIC5weS14bC00IHsNCiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnByLXhsLTQsDQogIC5weC14bC00IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGIteGwtNCwNCiAgLnB5LXhsLTQgew0KICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGwteGwtNCwNCiAgLnB4LXhsLTQgew0KICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnAteGwtNSB7DQogICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50Ow0KICB9DQogIC5wdC14bC01LA0KICAucHkteGwtNSB7DQogICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucHIteGwtNSwNCiAgLnB4LXhsLTUgew0KICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAucGIteGwtNSwNCiAgLnB5LXhsLTUgew0KICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7DQogIH0NCiAgLnBsLXhsLTUsDQogIC5weC14bC01IHsNCiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsNCiAgfQ0KICAubS14bC1hdXRvIHsNCiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KICAubXQteGwtYXV0bywNCiAgLm15LXhsLWF1dG8gew0KICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KICAubXIteGwtYXV0bywNCiAgLm14LXhsLWF1dG8gew0KICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5tYi14bC1hdXRvLA0KICAubXkteGwtYXV0byB7DQogICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50Ow0KICB9DQogIC5tbC14bC1hdXRvLA0KICAubXgteGwtYXV0byB7DQogICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQoudGV4dC1qdXN0aWZ5IHsNCiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1ub3dyYXAgew0KICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LXRydW5jYXRlIHsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi50ZXh0LWxlZnQgew0KICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LXJpZ2h0IHsNCiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtY2VudGVyIHsNCiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgew0KICAudGV4dC1zbS1sZWZ0IHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLnRleHQtc20tcmlnaHQgew0KICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLnRleHQtc20tY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgLnRleHQtbWQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50Ow0KICB9DQogIC50ZXh0LW1kLXJpZ2h0IHsNCiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50Ow0KICB9DQogIC50ZXh0LW1kLWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogIC50ZXh0LWxnLWxlZnQgew0KICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsNCiAgfQ0KICAudGV4dC1sZy1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsNCiAgfQ0KICAudGV4dC1sZy1jZW50ZXIgew0KICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgLnRleHQteGwtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50Ow0KICB9DQogIC50ZXh0LXhsLXJpZ2h0IHsNCiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50Ow0KICB9DQogIC50ZXh0LXhsLWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCn0NCg0KLnRleHQtbG93ZXJjYXNlIHsNCiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC11cHBlcmNhc2Ugew0KICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LWNhcGl0YWxpemUgew0KICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50Ow0KfQ0KDQouZm9udC13ZWlnaHQtbGlnaHQgew0KICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7DQp9DQoNCi5mb250LXdlaWdodC1ub3JtYWwgew0KICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7DQp9DQoNCi5mb250LXdlaWdodC1ib2xkIHsNCiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50Ow0KfQ0KDQouZm9udC1pdGFsaWMgew0KICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtd2hpdGUgew0KICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1wcmltYXJ5IHsNCiAgY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsNCn0NCg0KYS50ZXh0LXByaW1hcnk6aG92ZXIsIGEudGV4dC1wcmltYXJ5OmZvY3VzIHsNCiAgY29sb3I6ICMwMDYyY2MgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtc2Vjb25kYXJ5IHsNCiAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsNCn0NCg0KYS50ZXh0LXNlY29uZGFyeTpob3ZlciwgYS50ZXh0LXNlY29uZGFyeTpmb2N1cyB7DQogIGNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LXN1Y2Nlc3Mgew0KICBjb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50Ow0KfQ0KDQphLnRleHQtc3VjY2Vzczpob3ZlciwgYS50ZXh0LXN1Y2Nlc3M6Zm9jdXMgew0KICBjb2xvcjogIzFlN2UzNCAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1pbmZvIHsNCiAgY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDsNCn0NCg0KYS50ZXh0LWluZm86aG92ZXIsIGEudGV4dC1pbmZvOmZvY3VzIHsNCiAgY29sb3I6ICMxMTdhOGIgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtd2FybmluZyB7DQogIGNvbG9yOiAjZmZjMTA3ICFpbXBvcnRhbnQ7DQp9DQoNCmEudGV4dC13YXJuaW5nOmhvdmVyLCBhLnRleHQtd2FybmluZzpmb2N1cyB7DQogIGNvbG9yOiAjZDM5ZTAwICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LWRhbmdlciB7DQogIGNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7DQp9DQoNCmEudGV4dC1kYW5nZXI6aG92ZXIsIGEudGV4dC1kYW5nZXI6Zm9jdXMgew0KICBjb2xvcjogI2JkMjEzMCAhaW1wb3J0YW50Ow0KfQ0KDQoudGV4dC1saWdodCB7DQogIGNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7DQp9DQoNCmEudGV4dC1saWdodDpob3ZlciwgYS50ZXh0LWxpZ2h0OmZvY3VzIHsNCiAgY29sb3I6ICNkYWUwZTUgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtZGFyayB7DQogIGNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7DQp9DQoNCmEudGV4dC1kYXJrOmhvdmVyLCBhLnRleHQtZGFyazpmb2N1cyB7DQogIGNvbG9yOiAjMWQyMTI0ICFpbXBvcnRhbnQ7DQp9DQoNCi50ZXh0LW11dGVkIHsNCiAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsNCn0NCg0KLnRleHQtaGlkZSB7DQogIGZvbnQ6IDAvMCBhOw0KICBjb2xvcjogdHJhbnNwYXJlbnQ7DQogIHRleHQtc2hhZG93OiBub25lOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgYm9yZGVyOiAwOw0KfQ0KDQoudmlzaWJsZSB7DQogIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCn0NCg0KLmludmlzaWJsZSB7DQogIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50Ow0KfQ0KDQpAbWVkaWEgcHJpbnQgew0KICAqLA0KICAqOjpiZWZvcmUsDQogICo6OmFmdGVyIHsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Ow0KICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICBhOm5vdCguYnRuKSB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQogIH0NCiAgYWJiclt0aXRsZV06OmFmdGVyIHsNCiAgICBjb250ZW50OiAiICgiIGF0dHIodGl0bGUpICIpIjsNCiAgfQ0KICBwcmUgew0KICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50Ow0KICB9DQogIHByZSwNCiAgYmxvY2txdW90ZSB7DQogICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTsNCiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7DQogIH0NCiAgdGhlYWQgew0KICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsNCiAgfQ0KICB0ciwNCiAgaW1nIHsNCiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7DQogIH0NCiAgcCwNCiAgaDIsDQogIGgzIHsNCiAgICBvcnBoYW5zOiAzOw0KICAgIHdpZG93czogMzsNCiAgfQ0KICBoMiwNCiAgaDMgew0KICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOw0KICB9DQogIEBwYWdlIHsNCiAgICBzaXplOiBhMzsNCiAgfQ0KICBib2R5IHsNCiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmNvbnRhaW5lciB7DQogICAgbWluLXdpZHRoOiA5OTJweCAhaW1wb3J0YW50Ow0KICB9DQogIC5uYXZiYXIgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgLmJhZGdlIHsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOw0KICB9DQogIC50YWJsZSB7DQogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50Ow0KICB9DQogIC50YWJsZSB0ZCwNCiAgLnRhYmxlIHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7DQogIH0NCiAgLnRhYmxlLWJvcmRlcmVkIHRoLA0KICAudGFibGUtYm9yZGVyZWQgdGQgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDsNCiAgfQ0KfQ0KLyojIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLmNzcy5tYXAgKi8","bootstrap.min.css":"LyohDQogKiBCb290c3RyYXAgdjQuMC4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pDQogKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9ycw0KICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuDQogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQ0KICovOnJvb3R7LS1ibHVlOiMwMDdiZmY7LS1pbmRpZ286IzY2MTBmMjstLXB1cnBsZTojNmY0MmMxOy0tcGluazojZTgzZThjOy0tcmVkOiNkYzM1NDU7LS1vcmFuZ2U6I2ZkN2UxNDstLXllbGxvdzojZmZjMTA3Oy0tZ3JlZW46IzI4YTc0NTstLXRlYWw6IzIwYzk5NzstLWN5YW46IzE3YTJiODstLXdoaXRlOiNmZmY7LS1ncmF5OiM2Yzc1N2Q7LS1ncmF5LWRhcms6IzM0M2E0MDstLXByaW1hcnk6IzAwN2JmZjstLXNlY29uZGFyeTojNmM3NTdkOy0tc3VjY2VzczojMjhhNzQ1Oy0taW5mbzojMTdhMmI4Oy0td2FybmluZzojZmZjMTA3Oy0tZGFuZ2VyOiNkYzM1NDU7LS1saWdodDojZjhmOWZhOy0tZGFyazojMzQzYTQwOy0tYnJlYWtwb2ludC14czowOy0tYnJlYWtwb2ludC1zbTo1NzZweDstLWJyZWFrcG9pbnQtbWQ6NzY4cHg7LS1icmVha3BvaW50LWxnOjk5MnB4Oy0tYnJlYWtwb2ludC14bDoxMjAwcHg7LS1mb250LWZhbWlseS1zYW5zLXNlcmlmOi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCI7LS1mb250LWZhbWlseS1tb25vc3BhY2U6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlfSosOjphZnRlciw6OmJlZm9yZXtib3gtc2l6aW5nOmJvcmRlci1ib3h9aHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuMTU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbXMtb3ZlcmZsb3ctc3R5bGU6c2Nyb2xsYmFyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ALW1zLXZpZXdwb3J0e3dpZHRoOmRldmljZS13aWR0aH1hcnRpY2xlLGFzaWRlLGRpYWxvZyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtYWluLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9Ym9keXttYXJnaW46MDtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiO2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzIxMjUyOTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmfVt0YWJpbmRleD0iLTEiXTpmb2N1c3tvdXRsaW5lOjAhaW1wb3J0YW50fWhye2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjA7b3ZlcmZsb3c6dmlzaWJsZX1oMSxoMixoMyxoNCxoNSxoNnttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouNXJlbX1we21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19YWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSxhYmJyW3RpdGxlXXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7Y3Vyc29yOmhlbHA7Ym9yZGVyLWJvdHRvbTowfWFkZHJlc3N7bWFyZ2luLWJvdHRvbToxcmVtO2ZvbnQtc3R5bGU6bm9ybWFsO2xpbmUtaGVpZ2h0OmluaGVyaXR9ZGwsb2wsdWx7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MXJlbX1vbCBvbCxvbCB1bCx1bCBvbCx1bCB1bHttYXJnaW4tYm90dG9tOjB9ZHR7Zm9udC13ZWlnaHQ6NzAwfWRke21hcmdpbi1ib3R0b206LjVyZW07bWFyZ2luLWxlZnQ6MH1ibG9ja3F1b3Rle21hcmdpbjowIDAgMXJlbX1kZm57Zm9udC1zdHlsZTppdGFsaWN9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vie2JvdHRvbTotLjI1ZW19c3Vwe3RvcDotLjVlbX1he2NvbG9yOiMwMDdiZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOm9iamVjdHN9YTpob3Zlcntjb2xvcjojMDA1NmIzO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSl7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX1hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyxhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfWE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3Vze291dGxpbmU6MH1jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19cHJle21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW07b3ZlcmZsb3c6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6c2Nyb2xsYmFyfWZpZ3VyZXttYXJnaW46MCAwIDFyZW19aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItc3R5bGU6bm9uZX1zdmc6bm90KDpyb290KXtvdmVyZmxvdzpoaWRkZW59dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWNhcHRpb257cGFkZGluZy10b3A6Ljc1cmVtO3BhZGRpbmctYm90dG9tOi43NXJlbTtjb2xvcjojNmM3NTdkO3RleHQtYWxpZ246bGVmdDtjYXB0aW9uLXNpZGU6Ym90dG9tfXRoe3RleHQtYWxpZ246aW5oZXJpdH1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOi41cmVtfWJ1dHRvbntib3JkZXItcmFkaXVzOjB9YnV0dG9uOmZvY3Vze291dGxpbmU6MXB4IGRvdHRlZDtvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcn1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe21hcmdpbjowO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdH1idXR0b24saW5wdXR7b3ZlcmZsb3c6dmlzaWJsZX1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9W3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF0sYnV0dG9uLGh0bWwgW3R5cGU9YnV0dG9uXXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9ufVt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIsYnV0dG9uOjotbW96LWZvY3VzLWlubmVye3BhZGRpbmc6MDtib3JkZXItc3R5bGU6bm9uZX1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWlucHV0W3R5cGU9ZGF0ZV0saW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0saW5wdXRbdHlwZT1tb250aF0saW5wdXRbdHlwZT10aW1lXXstd2Via2l0LWFwcGVhcmFuY2U6bGlzdGJveH10ZXh0YXJlYXtvdmVyZmxvdzphdXRvO3Jlc2l6ZTp2ZXJ0aWNhbH1maWVsZHNldHttaW4td2lkdGg6MDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjB9bGVnZW5ke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LXNpemU6MS41cmVtO2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3JtYWx9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPXNlYXJjaF17b3V0bGluZS1vZmZzZXQ6LTJweDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntmb250OmluaGVyaXQ7LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1vdXRwdXR7ZGlzcGxheTppbmxpbmUtYmxvY2t9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbTtjdXJzb3I6cG9pbnRlcn10ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9W2hpZGRlbl17ZGlzcGxheTpub25lIWltcG9ydGFudH0uaDEsLmgyLC5oMywuaDQsLmg1LC5oNixoMSxoMixoMyxoNCxoNSxoNnttYXJnaW4tYm90dG9tOi41cmVtO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjtjb2xvcjppbmhlcml0fS5oMSxoMXtmb250LXNpemU6Mi41cmVtfS5oMixoMntmb250LXNpemU6MnJlbX0uaDMsaDN7Zm9udC1zaXplOjEuNzVyZW19Lmg0LGg0e2ZvbnQtc2l6ZToxLjVyZW19Lmg1LGg1e2ZvbnQtc2l6ZToxLjI1cmVtfS5oNixoNntmb250LXNpemU6MXJlbX0ubGVhZHtmb250LXNpemU6MS4yNXJlbTtmb250LXdlaWdodDozMDB9LmRpc3BsYXktMXtmb250LXNpemU6NnJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTJ7Zm9udC1zaXplOjUuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTN7Zm9udC1zaXplOjQuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTR7Zm9udC1zaXplOjMuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfWhye21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW07Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMSl9LnNtYWxsLHNtYWxse2ZvbnQtc2l6ZTo4MCU7Zm9udC13ZWlnaHQ6NDAwfS5tYXJrLG1hcmt7cGFkZGluZzouMmVtO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30ubGlzdC11bnN0eWxlZHtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5le3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1pbmxpbmUtaXRlbXtkaXNwbGF5OmlubGluZS1ibG9ja30ubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDouNXJlbX0uaW5pdGlhbGlzbXtmb250LXNpemU6OTAlO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uYmxvY2txdW90ZXttYXJnaW4tYm90dG9tOjFyZW07Zm9udC1zaXplOjEuMjVyZW19LmJsb2NrcXVvdGUtZm9vdGVye2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjgwJTtjb2xvcjojNmM3NTdkfS5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3Jle2NvbnRlbnQ6IlwyMDE0IFwwMEEwIn0uaW1nLWZsdWlke21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5pbWctdGh1bWJuYWlse3BhZGRpbmc6LjI1cmVtO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXJhZGl1czouMjVyZW07bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99LmZpZ3VyZXtkaXNwbGF5OmlubGluZS1ibG9ja30uZmlndXJlLWltZ3ttYXJnaW4tYm90dG9tOi41cmVtO2xpbmUtaGVpZ2h0OjF9LmZpZ3VyZS1jYXB0aW9ue2ZvbnQtc2l6ZTo5MCU7Y29sb3I6IzZjNzU3ZH1jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTpTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsIkxpYmVyYXRpb24gTW9ubyIsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2V9Y29kZXtmb250LXNpemU6ODcuNSU7Y29sb3I6I2U4M2U4Yzt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9YT5jb2Rle2NvbG9yOmluaGVyaXR9a2Jke3BhZGRpbmc6LjJyZW0gLjRyZW07Zm9udC1zaXplOjg3LjUlO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5O2JvcmRlci1yYWRpdXM6LjJyZW19a2JkIGtiZHtwYWRkaW5nOjA7Zm9udC1zaXplOjEwMCU7Zm9udC13ZWlnaHQ6NzAwfXByZXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTo4Ny41JTtjb2xvcjojMjEyNTI5fXByZSBjb2Rle2ZvbnQtc2l6ZTppbmhlcml0O2NvbG9yOmluaGVyaXQ7d29yZC1icmVhazpub3JtYWx9LnByZS1zY3JvbGxhYmxle21heC1oZWlnaHQ6MzQwcHg7b3ZlcmZsb3cteTpzY3JvbGx9LmNvbnRhaW5lcnt3aWR0aDoxMDAlO3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY29udGFpbmVye21heC13aWR0aDo1NDBweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjcyMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTYwcHh9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6MTE0MHB4fX0uY29udGFpbmVyLWZsdWlke3dpZHRoOjEwMCU7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99LnJvd3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9Lm5vLWd1dHRlcnN7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ubm8tZ3V0dGVycz4uY29sLC5uby1ndXR0ZXJzPltjbGFzcyo9Y29sLV17cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5jb2wsLmNvbC0xLC5jb2wtMTAsLmNvbC0xMSwuY29sLTEyLC5jb2wtMiwuY29sLTMsLmNvbC00LC5jb2wtNSwuY29sLTYsLmNvbC03LC5jb2wtOCwuY29sLTksLmNvbC1hdXRvLC5jb2wtbGcsLmNvbC1sZy0xLC5jb2wtbGctMTAsLmNvbC1sZy0xMSwuY29sLWxnLTEyLC5jb2wtbGctMiwuY29sLWxnLTMsLmNvbC1sZy00LC5jb2wtbGctNSwuY29sLWxnLTYsLmNvbC1sZy03LC5jb2wtbGctOCwuY29sLWxnLTksLmNvbC1sZy1hdXRvLC5jb2wtbWQsLmNvbC1tZC0xLC5jb2wtbWQtMTAsLmNvbC1tZC0xMSwuY29sLW1kLTEyLC5jb2wtbWQtMiwuY29sLW1kLTMsLmNvbC1tZC00LC5jb2wtbWQtNSwuY29sLW1kLTYsLmNvbC1tZC03LC5jb2wtbWQtOCwuY29sLW1kLTksLmNvbC1tZC1hdXRvLC5jb2wtc20sLmNvbC1zbS0xLC5jb2wtc20tMTAsLmNvbC1zbS0xMSwuY29sLXNtLTEyLC5jb2wtc20tMiwuY29sLXNtLTMsLmNvbC1zbS00LC5jb2wtc20tNSwuY29sLXNtLTYsLmNvbC1zbS03LC5jb2wtc20tOCwuY29sLXNtLTksLmNvbC1zbS1hdXRvLC5jb2wteGwsLmNvbC14bC0xLC5jb2wteGwtMTAsLmNvbC14bC0xMSwuY29sLXhsLTEyLC5jb2wteGwtMiwuY29sLXhsLTMsLmNvbC14bC00LC5jb2wteGwtNSwuY29sLXhsLTYsLmNvbC14bC03LC5jb2wteGwtOCwuY29sLXhsLTksLmNvbC14bC1hdXRve3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxcHg7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4fS5jb2x7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNvbC1zbXstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uY29sLXNtLWF1dG97LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6bm9uZX0uY29sLXNtLTF7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA4LjMzMzMzMyU7ZmxleDowIDAgOC4zMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMyV9LmNvbC1zbS0yey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtc20tM3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDI1JTtmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uY29sLXNtLTR7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LmNvbC1zbS01ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNDEuNjY2NjY3JTtmbGV4OjAgMCA0MS42NjY2NjclO21heC13aWR0aDo0MS42NjY2NjclfS5jb2wtc20tNnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDUwJTtmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uY29sLXNtLTd7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1OC4zMzMzMzMlO2ZsZXg6MCAwIDU4LjMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMyV9LmNvbC1zbS04ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNjYuNjY2NjY3JTtmbGV4OjAgMCA2Ni42NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjclfS5jb2wtc20tOXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDc1JTtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uY29sLXNtLTEwey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgODMuMzMzMzMzJTtmbGV4OjAgMCA4My4zMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMlfS5jb2wtc20tMTF7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA5MS42NjY2NjclO2ZsZXg6MCAwIDkxLjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NyV9LmNvbC1zbS0xMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDEwMCU7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ub3JkZXItc20tZmlyc3R7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDowOy1tcy1mbGV4LW9yZGVyOi0xO29yZGVyOi0xfS5vcmRlci1zbS1sYXN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTQ7LW1zLWZsZXgtb3JkZXI6MTM7b3JkZXI6MTN9Lm9yZGVyLXNtLTB7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxOy1tcy1mbGV4LW9yZGVyOjA7b3JkZXI6MH0ub3JkZXItc20tMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjI7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5vcmRlci1zbS0yey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MzstbXMtZmxleC1vcmRlcjoyO29yZGVyOjJ9Lm9yZGVyLXNtLTN7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo0Oy1tcy1mbGV4LW9yZGVyOjM7b3JkZXI6M30ub3JkZXItc20tNHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjU7LW1zLWZsZXgtb3JkZXI6NDtvcmRlcjo0fS5vcmRlci1zbS01ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NjstbXMtZmxleC1vcmRlcjo1O29yZGVyOjV9Lm9yZGVyLXNtLTZ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo3Oy1tcy1mbGV4LW9yZGVyOjY7b3JkZXI6Nn0ub3JkZXItc20tN3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjg7LW1zLWZsZXgtb3JkZXI6NztvcmRlcjo3fS5vcmRlci1zbS04ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6OTstbXMtZmxleC1vcmRlcjo4O29yZGVyOjh9Lm9yZGVyLXNtLTl7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMDstbXMtZmxleC1vcmRlcjo5O29yZGVyOjl9Lm9yZGVyLXNtLTEwey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTE7LW1zLWZsZXgtb3JkZXI6MTA7b3JkZXI6MTB9Lm9yZGVyLXNtLTExey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTI7LW1zLWZsZXgtb3JkZXI6MTE7b3JkZXI6MTF9Lm9yZGVyLXNtLTEyey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTM7LW1zLWZsZXgtb3JkZXI6MTI7b3JkZXI6MTJ9Lm9mZnNldC1zbS0we21hcmdpbi1sZWZ0OjB9Lm9mZnNldC1zbS0xe21hcmdpbi1sZWZ0OjguMzMzMzMzJX0ub2Zmc2V0LXNtLTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY3JX0ub2Zmc2V0LXNtLTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtc20tNHttYXJnaW4tbGVmdDozMy4zMzMzMzMlfS5vZmZzZXQtc20tNXttYXJnaW4tbGVmdDo0MS42NjY2NjclfS5vZmZzZXQtc20tNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC1zbS03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMyV9Lm9mZnNldC1zbS04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NyV9Lm9mZnNldC1zbS05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LXNtLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMyV9Lm9mZnNldC1zbS0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbC1tZHstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uY29sLW1kLWF1dG97LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6bm9uZX0uY29sLW1kLTF7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA4LjMzMzMzMyU7ZmxleDowIDAgOC4zMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMyV9LmNvbC1tZC0yey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtbWQtM3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDI1JTtmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uY29sLW1kLTR7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LmNvbC1tZC01ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNDEuNjY2NjY3JTtmbGV4OjAgMCA0MS42NjY2NjclO21heC13aWR0aDo0MS42NjY2NjclfS5jb2wtbWQtNnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDUwJTtmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uY29sLW1kLTd7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1OC4zMzMzMzMlO2ZsZXg6MCAwIDU4LjMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMyV9LmNvbC1tZC04ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNjYuNjY2NjY3JTtmbGV4OjAgMCA2Ni42NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjclfS5jb2wtbWQtOXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDc1JTtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uY29sLW1kLTEwey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgODMuMzMzMzMzJTtmbGV4OjAgMCA4My4zMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMlfS5jb2wtbWQtMTF7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA5MS42NjY2NjclO2ZsZXg6MCAwIDkxLjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NyV9LmNvbC1tZC0xMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDEwMCU7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ub3JkZXItbWQtZmlyc3R7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDowOy1tcy1mbGV4LW9yZGVyOi0xO29yZGVyOi0xfS5vcmRlci1tZC1sYXN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTQ7LW1zLWZsZXgtb3JkZXI6MTM7b3JkZXI6MTN9Lm9yZGVyLW1kLTB7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxOy1tcy1mbGV4LW9yZGVyOjA7b3JkZXI6MH0ub3JkZXItbWQtMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjI7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5vcmRlci1tZC0yey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MzstbXMtZmxleC1vcmRlcjoyO29yZGVyOjJ9Lm9yZGVyLW1kLTN7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo0Oy1tcy1mbGV4LW9yZGVyOjM7b3JkZXI6M30ub3JkZXItbWQtNHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjU7LW1zLWZsZXgtb3JkZXI6NDtvcmRlcjo0fS5vcmRlci1tZC01ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NjstbXMtZmxleC1vcmRlcjo1O29yZGVyOjV9Lm9yZGVyLW1kLTZ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo3Oy1tcy1mbGV4LW9yZGVyOjY7b3JkZXI6Nn0ub3JkZXItbWQtN3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjg7LW1zLWZsZXgtb3JkZXI6NztvcmRlcjo3fS5vcmRlci1tZC04ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6OTstbXMtZmxleC1vcmRlcjo4O29yZGVyOjh9Lm9yZGVyLW1kLTl7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMDstbXMtZmxleC1vcmRlcjo5O29yZGVyOjl9Lm9yZGVyLW1kLTEwey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTE7LW1zLWZsZXgtb3JkZXI6MTA7b3JkZXI6MTB9Lm9yZGVyLW1kLTExey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTI7LW1zLWZsZXgtb3JkZXI6MTE7b3JkZXI6MTF9Lm9yZGVyLW1kLTEyey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTM7LW1zLWZsZXgtb3JkZXI6MTI7b3JkZXI6MTJ9Lm9mZnNldC1tZC0we21hcmdpbi1sZWZ0OjB9Lm9mZnNldC1tZC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzJX0ub2Zmc2V0LW1kLTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY3JX0ub2Zmc2V0LW1kLTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtbWQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMlfS5vZmZzZXQtbWQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjclfS5vZmZzZXQtbWQtNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC1tZC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMyV9Lm9mZnNldC1tZC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NyV9Lm9mZnNldC1tZC05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LW1kLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMyV9Lm9mZnNldC1tZC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbC1sZ3stbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uY29sLWxnLWF1dG97LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6bm9uZX0uY29sLWxnLTF7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA4LjMzMzMzMyU7ZmxleDowIDAgOC4zMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMyV9LmNvbC1sZy0yey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtbGctM3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDI1JTtmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uY29sLWxnLTR7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LmNvbC1sZy01ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNDEuNjY2NjY3JTtmbGV4OjAgMCA0MS42NjY2NjclO21heC13aWR0aDo0MS42NjY2NjclfS5jb2wtbGctNnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDUwJTtmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uY29sLWxnLTd7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1OC4zMzMzMzMlO2ZsZXg6MCAwIDU4LjMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMyV9LmNvbC1sZy04ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNjYuNjY2NjY3JTtmbGV4OjAgMCA2Ni42NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjclfS5jb2wtbGctOXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDc1JTtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uY29sLWxnLTEwey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgODMuMzMzMzMzJTtmbGV4OjAgMCA4My4zMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMlfS5jb2wtbGctMTF7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA5MS42NjY2NjclO2ZsZXg6MCAwIDkxLjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NyV9LmNvbC1sZy0xMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDEwMCU7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ub3JkZXItbGctZmlyc3R7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDowOy1tcy1mbGV4LW9yZGVyOi0xO29yZGVyOi0xfS5vcmRlci1sZy1sYXN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTQ7LW1zLWZsZXgtb3JkZXI6MTM7b3JkZXI6MTN9Lm9yZGVyLWxnLTB7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxOy1tcy1mbGV4LW9yZGVyOjA7b3JkZXI6MH0ub3JkZXItbGctMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjI7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5vcmRlci1sZy0yey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MzstbXMtZmxleC1vcmRlcjoyO29yZGVyOjJ9Lm9yZGVyLWxnLTN7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo0Oy1tcy1mbGV4LW9yZGVyOjM7b3JkZXI6M30ub3JkZXItbGctNHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjU7LW1zLWZsZXgtb3JkZXI6NDtvcmRlcjo0fS5vcmRlci1sZy01ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NjstbXMtZmxleC1vcmRlcjo1O29yZGVyOjV9Lm9yZGVyLWxnLTZ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo3Oy1tcy1mbGV4LW9yZGVyOjY7b3JkZXI6Nn0ub3JkZXItbGctN3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjg7LW1zLWZsZXgtb3JkZXI6NztvcmRlcjo3fS5vcmRlci1sZy04ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6OTstbXMtZmxleC1vcmRlcjo4O29yZGVyOjh9Lm9yZGVyLWxnLTl7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMDstbXMtZmxleC1vcmRlcjo5O29yZGVyOjl9Lm9yZGVyLWxnLTEwey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTE7LW1zLWZsZXgtb3JkZXI6MTA7b3JkZXI6MTB9Lm9yZGVyLWxnLTExey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTI7LW1zLWZsZXgtb3JkZXI6MTE7b3JkZXI6MTF9Lm9yZGVyLWxnLTEyey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTM7LW1zLWZsZXgtb3JkZXI6MTI7b3JkZXI6MTJ9Lm9mZnNldC1sZy0we21hcmdpbi1sZWZ0OjB9Lm9mZnNldC1sZy0xe21hcmdpbi1sZWZ0OjguMzMzMzMzJX0ub2Zmc2V0LWxnLTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY3JX0ub2Zmc2V0LWxnLTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtbGctNHttYXJnaW4tbGVmdDozMy4zMzMzMzMlfS5vZmZzZXQtbGctNXttYXJnaW4tbGVmdDo0MS42NjY2NjclfS5vZmZzZXQtbGctNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC1sZy03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMyV9Lm9mZnNldC1sZy04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NyV9Lm9mZnNldC1sZy05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LWxnLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMyV9Lm9mZnNldC1sZy0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb2wteGx7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC14bC1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC14bC0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wteGwtMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLXhsLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC14bC00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wteGwtNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLXhsLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC14bC03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wteGwtOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLXhsLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC14bC0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLXhsLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wteGwtMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLXhsLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXIteGwtbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci14bC0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLXhsLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXIteGwtMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci14bC0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLXhsLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXIteGwtNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci14bC02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLXhsLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXIteGwtOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci14bC05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci14bC0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci14bC0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci14bC0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQteGwtMHttYXJnaW4tbGVmdDowfS5vZmZzZXQteGwtMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC14bC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC14bC0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LXhsLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LXhsLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LXhsLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQteGwtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQteGwtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQteGwtOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC14bC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQteGwtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19LnRhYmxle3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToxcmVtO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtwYWRkaW5nOi43NXJlbTt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RlZTJlNn0udGFibGUgdGhlYWQgdGh7dmVydGljYWwtYWxpZ246Ym90dG9tO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlIHRib2R5K3Rib2R5e2JvcmRlci10b3A6MnB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlIC50YWJsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnRhYmxlLXNtIHRkLC50YWJsZS1zbSB0aHtwYWRkaW5nOi4zcmVtfS50YWJsZS1ib3JkZXJlZHtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlLWJvcmRlcmVkIHRkLC50YWJsZS1ib3JkZXJlZCB0aHtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRkLC50YWJsZS1ib3JkZXJlZCB0aGVhZCB0aHtib3JkZXItYm90dG9tLXdpZHRoOjJweH0udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpfS50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlLXByaW1hcnksLnRhYmxlLXByaW1hcnk-dGQsLnRhYmxlLXByaW1hcnk-dGh7YmFja2dyb3VuZC1jb2xvcjojYjhkYWZmfS50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5ZmNkZmZ9LnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiM5ZmNkZmZ9LnRhYmxlLXNlY29uZGFyeSwudGFibGUtc2Vjb25kYXJ5PnRkLC50YWJsZS1zZWNvbmRhcnk-dGh7YmFja2dyb3VuZC1jb2xvcjojZDZkOGRifS50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2M4Y2JjZn0udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNjOGNiY2Z9LnRhYmxlLXN1Y2Nlc3MsLnRhYmxlLXN1Y2Nlc3M-dGQsLnRhYmxlLXN1Y2Nlc3M-dGh7YmFja2dyb3VuZC1jb2xvcjojYzNlNmNifS50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNiMWRmYmJ9LnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNiMWRmYmJ9LnRhYmxlLWluZm8sLnRhYmxlLWluZm8-dGQsLnRhYmxlLWluZm8-dGh7YmFja2dyb3VuZC1jb2xvcjojYmVlNWVifS50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNhYmRkZTV9LnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNhYmRkZTV9LnRhYmxlLXdhcm5pbmcsLnRhYmxlLXdhcm5pbmc-dGQsLnRhYmxlLXdhcm5pbmc-dGh7YmFja2dyb3VuZC1jb2xvcjojZmZlZWJhfS50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmU4YTF9LnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmU4YTF9LnRhYmxlLWRhbmdlciwudGFibGUtZGFuZ2VyPnRkLC50YWJsZS1kYW5nZXI-dGh7YmFja2dyb3VuZC1jb2xvcjojZjVjNmNifS50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2YxYjBiN30udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNmMWIwYjd9LnRhYmxlLWxpZ2h0LC50YWJsZS1saWdodD50ZCwudGFibGUtbGlnaHQ-dGh7YmFja2dyb3VuZC1jb2xvcjojZmRmZGZlfS50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWNlY2Y2fS50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXI-dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZjZ9LnRhYmxlLWRhcmssLnRhYmxlLWRhcms-dGQsLnRhYmxlLWRhcms-dGh7YmFja2dyb3VuZC1jb2xvcjojYzZjOGNhfS50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNiOWJiYmV9LnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNiOWJiYmV9LnRhYmxlLWFjdGl2ZSwudGFibGUtYWN0aXZlPnRkLC50YWJsZS1hY3RpdmU-dGh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDc1KX0udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlIC50aGVhZC1kYXJrIHRoe2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5O2JvcmRlci1jb2xvcjojMzIzODNlfS50YWJsZSAudGhlYWQtbGlnaHQgdGh7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLWNvbG9yOiNkZWUyZTZ9LnRhYmxlLWRhcmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMTI1Mjl9LnRhYmxlLWRhcmsgdGQsLnRhYmxlLWRhcmsgdGgsLnRhYmxlLWRhcmsgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiMzMjM4M2V9LnRhYmxlLWRhcmsudGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMDUpfS50YWJsZS1kYXJrLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMDc1KX1AbWVkaWEgKG1heC13aWR0aDo1NzUuOThweCl7LnRhYmxlLXJlc3BvbnNpdmUtc217ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDstbXMtb3ZlcmZsb3ctc3R5bGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyfS50YWJsZS1yZXNwb25zaXZlLXNtPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19QG1lZGlhIChtYXgtd2lkdGg6NzY3Ljk4cHgpey50YWJsZS1yZXNwb25zaXZlLW1ke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0udGFibGUtcmVzcG9uc2l2ZS1tZD4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9fUBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS1sZ3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmUtbGc-LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX1AbWVkaWEgKG1heC13aWR0aDoxMTk5Ljk4cHgpey50YWJsZS1yZXNwb25zaXZlLXhse2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0udGFibGUtcmVzcG9uc2l2ZS14bD4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9fS50YWJsZS1yZXNwb25zaXZle2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LmZvcm0tY29udHJvbHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzouMzc1cmVtIC43NXJlbTtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOi4yNXJlbTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dH0uZm9ybS1jb250cm9sOjotbXMtZXhwYW5ke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LmZvcm0tY29udHJvbDpmb2N1c3tjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6IzgwYmRmZjtvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNmM3NTdkO29wYWNpdHk6MX0uZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojNmM3NTdkO29wYWNpdHk6MX0uZm9ybS1jb250cm9sOjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDpkaXNhYmxlZCwuZm9ybS1jb250cm9sW3JlYWRvbmx5XXtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7b3BhY2l0eToxfXNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pe2hlaWdodDpjYWxjKDIuMjVyZW0gKyAycHgpfXNlbGVjdC5mb3JtLWNvbnRyb2w6Zm9jdXM6Oi1tcy12YWx1ZXtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uZm9ybS1jb250cm9sLWZpbGUsLmZvcm0tY29udHJvbC1yYW5nZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9LmNvbC1mb3JtLWxhYmVse3BhZGRpbmctdG9wOmNhbGMoLjM3NXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguMzc1cmVtICsgMXB4KTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6MS41fS5jb2wtZm9ybS1sYWJlbC1sZ3twYWRkaW5nLXRvcDpjYWxjKC41cmVtICsgMXB4KTtwYWRkaW5nLWJvdHRvbTpjYWxjKC41cmVtICsgMXB4KTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjV9LmNvbC1mb3JtLWxhYmVsLXNte3BhZGRpbmctdG9wOmNhbGMoLjI1cmVtICsgMXB4KTtwYWRkaW5nLWJvdHRvbTpjYWxjKC4yNXJlbSArIDFweCk7Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS41fS5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0e2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nLXRvcDouMzc1cmVtO3BhZGRpbmctYm90dG9tOi4zNzVyZW07bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjEuNTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MXB4IDB9LmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLWxnLC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1zbSwuaW5wdXQtZ3JvdXAtbGc-LmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biwuaW5wdXQtZ3JvdXAtbGc-LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtc20-LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ-LmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtc20-LmlucHV0LWdyb3VwLXByZXBlbmQ-LmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0e3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uZm9ybS1jb250cm9sLXNtLC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ-LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e3BhZGRpbmc6LjI1cmVtIC41cmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4ycmVtfS5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPnNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPnNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtc20-LmlucHV0LWdyb3VwLXByZXBlbmQ-c2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPnNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtc20-c2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksc2VsZWN0LmZvcm0tY29udHJvbC1zbTpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSl7aGVpZ2h0OmNhbGMoMS44MTI1cmVtICsgMnB4KX0uZm9ybS1jb250cm9sLWxnLC5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ-LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e3BhZGRpbmc6LjVyZW0gMXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouM3JlbX0uaW5wdXQtZ3JvdXAtbGc-LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtbGc-LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPnNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLWxnPnNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLHNlbGVjdC5mb3JtLWNvbnRyb2wtbGc6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pe2hlaWdodDpjYWxjKDIuODc1cmVtICsgMnB4KX0uZm9ybS1ncm91cHttYXJnaW4tYm90dG9tOjFyZW19LmZvcm0tdGV4dHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LjI1cmVtfS5mb3JtLXJvd3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tcmlnaHQ6LTVweDttYXJnaW4tbGVmdDotNXB4fS5mb3JtLXJvdz4uY29sLC5mb3JtLXJvdz5bY2xhc3MqPWNvbC1de3BhZGRpbmctcmlnaHQ6NXB4O3BhZGRpbmctbGVmdDo1cHh9LmZvcm0tY2hlY2t7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nLWxlZnQ6MS4yNXJlbX0uZm9ybS1jaGVjay1pbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tdG9wOi4zcmVtO21hcmdpbi1sZWZ0Oi0xLjI1cmVtfS5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkfi5mb3JtLWNoZWNrLWxhYmVse2NvbG9yOiM2Yzc1N2R9LmZvcm0tY2hlY2stbGFiZWx7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWNoZWNrLWlubGluZXtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDowO21hcmdpbi1yaWdodDouNzVyZW19LmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0e3Bvc2l0aW9uOnN0YXRpYzttYXJnaW4tdG9wOjA7bWFyZ2luLXJpZ2h0Oi4zMTI1cmVtO21hcmdpbi1sZWZ0OjB9LnZhbGlkLWZlZWRiYWNre2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO21hcmdpbi10b3A6LjI1cmVtO2ZvbnQtc2l6ZTo4MCU7Y29sb3I6IzI4YTc0NX0udmFsaWQtdG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTt6LWluZGV4OjU7ZGlzcGxheTpub25lO21heC13aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07bWFyZ2luLXRvcDouMXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDE2Nyw2OSwuOCk7Ym9yZGVyLXJhZGl1czouMnJlbX0uY3VzdG9tLXNlbGVjdC5pcy12YWxpZCwuZm9ybS1jb250cm9sLmlzLXZhbGlkLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQ6Zm9jdXMsLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3Vze2JvcmRlci1jb2xvcjojMjhhNzQ1O2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjI1KX0uY3VzdG9tLXNlbGVjdC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWR-LnZhbGlkLXRvb2x0aXAsLmZvcm0tY29udHJvbC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmZvcm0tY29udHJvbC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR-LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZH4udmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVse2NvbG9yOiMyOGE3NDV9LmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR-LnZhbGlkLWZlZWRiYWNrLC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4udmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbHtjb2xvcjojMjhhNzQ1fS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR-LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojNzFkZDhhfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkfi52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmNoZWNrZWR-LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWR-LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMzRjZTU3fS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXN-LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym94LXNoYWRvdzowIDAgMCAxcHggI2ZmZiwwIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuMjUpfS5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6IzI4YTc0NX0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWR-LmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3Jle2JvcmRlci1jb2xvcjppbmhlcml0fS5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQ6Zm9jdXN-LmN1c3RvbS1maWxlLWxhYmVse2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjI1KX0uaW52YWxpZC1mZWVkYmFja3tkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTttYXJnaW4tdG9wOi4yNXJlbTtmb250LXNpemU6ODAlO2NvbG9yOiNkYzM1NDV9LmludmFsaWQtdG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTt6LWluZGV4OjU7ZGlzcGxheTpub25lO21heC13aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07bWFyZ2luLXRvcDouMXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIyMCw1Myw2OSwuOCk7Ym9yZGVyLXJhZGl1czouMnJlbX0uY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkLC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZHtib3JkZXItY29sb3I6I2RjMzU0NX0uY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkOmZvY3VzLC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkOmZvY3VzLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZDpmb2N1c3tib3JkZXItY29sb3I6I2RjMzU0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9LmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWR-LmludmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZH4uaW52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWR-LmludmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR-LmZvcm0tY2hlY2stbGFiZWwsLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZH4uZm9ybS1jaGVjay1sYWJlbHtjb2xvcjojZGMzNTQ1fS5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR-LmludmFsaWQtZmVlZGJhY2ssLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR-LmludmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZH4uaW52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR-LmN1c3RvbS1jb250cm9sLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbHtjb2xvcjojZGMzNTQ1fS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6I2VmYTJhOX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmNoZWNrZWR-LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojZTQ2MDZkfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjI1KX0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWR-LmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci1jb2xvcjojZGMzNTQ1fS5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3Jle2JvcmRlci1jb2xvcjppbmhlcml0fS5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWR-LmludmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWR-LmludmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWx7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuMjUpfS5mb3JtLWlubGluZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmZvcm0taW5saW5lIC5mb3JtLWNoZWNre3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mb3JtLWlubGluZSBsYWJlbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWlubGluZSAuZm9ybS1ncm91cHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30uZm9ybS1pbmxpbmUgLmlucHV0LWdyb3Vwe3dpZHRoOmF1dG99LmZvcm0taW5saW5lIC5mb3JtLWNoZWNre2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDphdXRvO3BhZGRpbmctbGVmdDowfS5mb3JtLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjA7bWFyZ2luLXJpZ2h0Oi4yNXJlbTttYXJnaW4tbGVmdDowfS5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2x7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVse21hcmdpbi1ib3R0b206MH19LmJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXdlaWdodDo0MDA7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4yNXJlbTt0cmFuc2l0aW9uOmNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dH0uYnRuOmZvY3VzLC5idG46aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJ0bi5mb2N1cywuYnRuOmZvY3Vze291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC4yNSl9LmJ0bi5kaXNhYmxlZCwuYnRuOmRpc2FibGVke29wYWNpdHk6LjY1fS5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCl7Y3Vyc29yOnBvaW50ZXJ9LmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmV7YmFja2dyb3VuZC1pbWFnZTpub25lfWEuYnRuLmRpc2FibGVkLGZpZWxkc2V0OmRpc2FibGVkIGEuYnRue3BvaW50ZXItZXZlbnRzOm5vbmV9LmJ0bi1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tcHJpbWFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwNjlkOTtib3JkZXItY29sb3I6IzAwNjJjY30uYnRuLXByaW1hcnkuZm9jdXMsLmJ0bi1wcmltYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjUpfS5idG4tcHJpbWFyeS5kaXNhYmxlZCwuYnRuLXByaW1hcnk6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDYyY2M7Ym9yZGVyLWNvbG9yOiMwMDVjYmZ9LmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuNSl9LmJ0bi1zZWNvbmRhcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1zZWNvbmRhcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1YTYyNjg7Ym9yZGVyLWNvbG9yOiM1NDViNjJ9LmJ0bi1zZWNvbmRhcnkuZm9jdXMsLmJ0bi1zZWNvbmRhcnk6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwuYnRuLXNlY29uZGFyeTpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzU0NWI2Mjtib3JkZXItY29sb3I6IzRlNTU1Yn0uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMTA4LDExNywxMjUsLjUpfS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMTg4Mzg7Ym9yZGVyLWNvbG9yOiMxZTdlMzR9LmJ0bi1zdWNjZXNzLmZvY3VzLC5idG4tc3VjY2Vzczpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC41KX0uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsLmJ0bi1zdWNjZXNzOmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1O2JvcmRlci1jb2xvcjojMjhhNzQ1fS5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0O2JvcmRlci1jb2xvcjojMWM3NDMwfS5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjUpfS5idG4taW5mb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxMzg0OTY7Ym9yZGVyLWNvbG9yOiMxMTdhOGJ9LmJ0bi1pbmZvLmZvY3VzLC5idG4taW5mbzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi1pbmZvLmRpc2FibGVkLC5idG4taW5mbzpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c-LmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzExN2E4Yjtib3JkZXItY29sb3I6IzEwNzA3Zn0uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c-LmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi13YXJuaW5ne2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4td2FybmluZzpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2UwYTgwMDtib3JkZXItY29sb3I6I2QzOWUwMH0uYnRuLXdhcm5pbmcuZm9jdXMsLmJ0bi13YXJuaW5nOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTUsMTkzLDcsLjUpfS5idG4td2FybmluZy5kaXNhYmxlZCwuYnRuLXdhcm5pbmc6ZGlzYWJsZWR7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDc7Ym9yZGVyLWNvbG9yOiNmZmMxMDd9LmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNkMzllMDA7Ym9yZGVyLWNvbG9yOiNjNjk1MDB9LmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1NSwxOTMsNywuNSl9LmJ0bi1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1kYW5nZXI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNjODIzMzM7Ym9yZGVyLWNvbG9yOiNiZDIxMzB9LmJ0bi1kYW5nZXIuZm9jdXMsLmJ0bi1kYW5nZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1kYW5nZXIuZGlzYWJsZWQsLmJ0bi1kYW5nZXI6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNiZDIxMzA7Ym9yZGVyLWNvbG9yOiNiMjFmMmR9LmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1saWdodHtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLWxpZ2h0OmhvdmVye2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZTJlNmVhO2JvcmRlci1jb2xvcjojZGFlMGU1fS5idG4tbGlnaHQuZm9jdXMsLmJ0bi1saWdodDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tbGlnaHQuZGlzYWJsZWQsLmJ0bi1saWdodDpkaXNhYmxlZHtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2RhZTBlNTtib3JkZXItY29sb3I6I2QzZDlkZn0uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tZGFya3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLWRhcms6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMzI3MmI7Ym9yZGVyLWNvbG9yOiMxZDIxMjR9LmJ0bi1kYXJrLmZvY3VzLC5idG4tZGFyazpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTIsNTgsNjQsLjUpfS5idG4tZGFyay5kaXNhYmxlZCwuYnRuLWRhcms6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tZGFyay5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxZDIxMjQ7Ym9yZGVyLWNvbG9yOiMxNzFhMWR9LmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLW91dGxpbmUtcHJpbWFyeXtjb2xvcjojMDA3YmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjUpfS5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVke2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC41KX0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5e2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmZvY3VzLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkO2JvcmRlci1jb2xvcjojNmM3NTdkfS5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgxMDgsMTE3LDEyNSwuNSl9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3N7Y29sb3I6IzI4YTc0NTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLW91dGxpbmUtc3VjY2Vzczpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywuYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC41KX0uYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZHtjb2xvcjojMjhhNzQ1O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuNSl9LmJ0bi1vdXRsaW5lLWluZm97Y29sb3I6IzE3YTJiODtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLW91dGxpbmUtaW5mbzpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLW91dGxpbmUtaW5mby5mb2N1cywuYnRuLW91dGxpbmUtaW5mbzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWR7Y29sb3I6IzE3YTJiODtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c-LmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4O2JvcmRlci1jb2xvcjojMTdhMmI4fS5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c-LmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMywxNjIsMTg0LC41KX0uYnRuLW91dGxpbmUtd2FybmluZ3tjb2xvcjojZmZjMTA3O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVye2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTUsMTkzLDcsLjUpfS5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVke2NvbG9yOiNmZmMxMDc7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2ZmYzEwNztib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjU1LDE5Myw3LC41KX0uYnRuLW91dGxpbmUtZGFuZ2Vye2NvbG9yOiNkYzM1NDU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1vdXRsaW5lLWRhbmdlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NTtib3JkZXItY29sb3I6I2RjMzU0NX0uYnRuLW91dGxpbmUtZGFuZ2VyLmZvY3VzLC5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCwuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVke2NvbG9yOiNkYzM1NDU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NTtib3JkZXItY29sb3I6I2RjMzU0NX0uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC41KX0uYnRuLW91dGxpbmUtbGlnaHR7Y29sb3I6I2Y4ZjlmYTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzLC5idG4tb3V0bGluZS1saWdodDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwuYnRuLW91dGxpbmUtbGlnaHQ6ZGlzYWJsZWR7Y29sb3I6I2Y4ZjlmYTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlci1jb2xvcjojZjhmOWZhfS5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNDgsMjQ5LDI1MCwuNSl9LmJ0bi1vdXRsaW5lLWRhcmt7Y29sb3I6IzM0M2E0MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLW91dGxpbmUtZGFyazpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLW91dGxpbmUtZGFyay5mb2N1cywuYnRuLW91dGxpbmUtZGFyazpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTIsNTgsNjQsLjUpfS5idG4tb3V0bGluZS1kYXJrLmRpc2FibGVkLC5idG4tb3V0bGluZS1kYXJrOmRpc2FibGVke2NvbG9yOiMzNDNhNDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTIsNTgsNjQsLjUpfS5idG4tbGlua3tmb250LXdlaWdodDo0MDA7Y29sb3I6IzAwN2JmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGluazpob3Zlcntjb2xvcjojMDA1NmIzO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1saW5rLmZvY3VzLC5idG4tbGluazpmb2N1c3t0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9LmJ0bi1saW5rLmRpc2FibGVkLC5idG4tbGluazpkaXNhYmxlZHtjb2xvcjojNmM3NTdkfS5idG4tZ3JvdXAtbGc-LmJ0biwuYnRuLWxne3BhZGRpbmc6LjVyZW0gMXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouM3JlbX0uYnRuLWdyb3VwLXNtPi5idG4sLmJ0bi1zbXtwYWRkaW5nOi4yNXJlbSAuNXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouMnJlbX0uYnRuLWJsb2Nre2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0uYnRuLWJsb2NrKy5idG4tYmxvY2t7bWFyZ2luLXRvcDouNXJlbX1pbnB1dFt0eXBlPWJ1dHRvbl0uYnRuLWJsb2NrLGlucHV0W3R5cGU9cmVzZXRdLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLWJsb2Nre3dpZHRoOjEwMCV9LmZhZGV7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcn0uZmFkZS5zaG93e29wYWNpdHk6MX0uY29sbGFwc2V7ZGlzcGxheTpub25lfS5jb2xsYXBzZS5zaG93e2Rpc3BsYXk6YmxvY2t9dHIuY29sbGFwc2Uuc2hvd3tkaXNwbGF5OnRhYmxlLXJvd310Ym9keS5jb2xsYXBzZS5zaG93e2Rpc3BsYXk6dGFibGUtcm93LWdyb3VwfS5jb2xsYXBzaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmhlaWdodCAuMzVzIGVhc2V9LmRyb3Bkb3duLC5kcm9wdXB7cG9zaXRpb246cmVsYXRpdmV9LmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDouM2VtIHNvbGlkO2JvcmRlci1yaWdodDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206MDtib3JkZXItbGVmdDouM2VtIHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO3otaW5kZXg6MTAwMDtkaXNwbGF5Om5vbmU7ZmxvYXQ6bGVmdDttaW4td2lkdGg6MTByZW07cGFkZGluZzouNXJlbSAwO21hcmdpbjouMTI1cmVtIDAgMDtmb250LXNpemU6MXJlbTtjb2xvcjojMjEyNTI5O3RleHQtYWxpZ246bGVmdDtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItcmFkaXVzOi4yNXJlbX0uZHJvcHVwIC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi4xMjVyZW19LmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDowO2hlaWdodDowO21hcmdpbi1sZWZ0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW07Y29udGVudDoiIjtib3JkZXItdG9wOjA7Ym9yZGVyLXJpZ2h0Oi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTouM2VtIHNvbGlkO2JvcmRlci1sZWZ0Oi4zZW0gc29saWQgdHJhbnNwYXJlbnR9LmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wcmlnaHQgLmRyb3Bkb3duLW1lbnV7bWFyZ2luLXRvcDowO21hcmdpbi1sZWZ0Oi4xMjVyZW19LmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDowO2hlaWdodDowO21hcmdpbi1sZWZ0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW07Y29udGVudDoiIjtib3JkZXItdG9wOi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0Oi4zZW0gc29saWR9LmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7dmVydGljYWwtYWxpZ246MH0uZHJvcGxlZnQgLmRyb3Bkb3duLW1lbnV7bWFyZ2luLXRvcDowO21hcmdpbi1yaWdodDouMTI1cmVtfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDowO2hlaWdodDowO21hcmdpbi1sZWZ0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW07Y29udGVudDoiIn0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTpub25lfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tcmlnaHQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbTtjb250ZW50OiIiO2JvcmRlci10b3A6LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6LjNlbSBzb2xpZDtib3JkZXItYm90dG9tOi4zZW0gc29saWQgdHJhbnNwYXJlbnR9LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZXt2ZXJ0aWNhbC1hbGlnbjowfS5kcm9wZG93bi1kaXZpZGVye2hlaWdodDowO21hcmdpbjouNXJlbSAwO292ZXJmbG93OmhpZGRlbjtib3JkZXItdG9wOjFweCBzb2xpZCAjZTllY2VmfS5kcm9wZG93bi1pdGVte2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nOi4yNXJlbSAxLjVyZW07Y2xlYXI6Ym90aDtmb250LXdlaWdodDo0MDA7Y29sb3I6IzIxMjUyOTt0ZXh0LWFsaWduOmluaGVyaXQ7d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LmRyb3Bkb3duLWl0ZW06Zm9jdXMsLmRyb3Bkb3duLWl0ZW06aG92ZXJ7Y29sb3I6IzE2MTgxYjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmF9LmRyb3Bkb3duLWl0ZW0uYWN0aXZlLC5kcm9wZG93bi1pdGVtOmFjdGl2ZXtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZn0uZHJvcGRvd24taXRlbS5kaXNhYmxlZCwuZHJvcGRvd24taXRlbTpkaXNhYmxlZHtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmRyb3Bkb3duLW1lbnUuc2hvd3tkaXNwbGF5OmJsb2NrfS5kcm9wZG93bi1oZWFkZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOi41cmVtIDEuNXJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOi44NzVyZW07Y29sb3I6IzZjNzU3ZDt3aGl0ZS1zcGFjZTpub3dyYXB9LmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2Fse3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5idG4tZ3JvdXAtdmVydGljYWw-LmJ0biwuYnRuLWdyb3VwPi5idG57cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMSBhdXRvO2ZsZXg6MCAxIGF1dG99LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmhvdmVyLC5idG4tZ3JvdXA-LmJ0bjpob3Zlcnt6LWluZGV4OjF9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46YWN0aXZlLC5idG4tZ3JvdXAtdmVydGljYWw-LmJ0bjpmb2N1cywuYnRuLWdyb3VwPi5idG4uYWN0aXZlLC5idG4tZ3JvdXA-LmJ0bjphY3RpdmUsLmJ0bi1ncm91cD4uYnRuOmZvY3Vze3otaW5kZXg6MX0uYnRuLWdyb3VwIC5idG4rLmJ0biwuYnRuLWdyb3VwIC5idG4rLmJ0bi1ncm91cCwuYnRuLWdyb3VwIC5idG4tZ3JvdXArLmJ0biwuYnRuLWdyb3VwIC5idG4tZ3JvdXArLmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4rLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4rLmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4tZ3JvdXArLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4tZ3JvdXArLmJ0bi1ncm91cHttYXJnaW4tbGVmdDotMXB4fS5idG4tdG9vbGJhcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5idG4tZ3JvdXA-LmJ0bjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXA-LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk-LmJ0biwuYnRuLWdyb3VwPi5idG46bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctcmlnaHQ6LjU2MjVyZW07cGFkZGluZy1sZWZ0Oi41NjI1cmVtfS5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVye21hcmdpbi1sZWZ0OjB9LmJ0bi1ncm91cC1zbT4uYnRuKy5kcm9wZG93bi10b2dnbGUtc3BsaXQsLmJ0bi1zbSsuZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctcmlnaHQ6LjM3NXJlbTtwYWRkaW5nLWxlZnQ6LjM3NXJlbX0uYnRuLWdyb3VwLWxnPi5idG4rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwuYnRuLWxnKy5kcm9wZG93bi10b2dnbGUtc3BsaXR7cGFkZGluZy1yaWdodDouNzVyZW07cGFkZGluZy1sZWZ0Oi43NXJlbX0uYnRuLWdyb3VwLXZlcnRpY2Fsey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3Vwe3dpZHRoOjEwMCV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLXRvcDotMXB4O21hcmdpbi1sZWZ0OjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCk-LmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXAtdG9nZ2xlPi5idG4sLmJ0bi1ncm91cC10b2dnbGU-LmJ0bi1ncm91cD4uYnRue21hcmdpbi1ib3R0b206MH0uYnRuLWdyb3VwLXRvZ2dsZT4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4gaW5wdXRbdHlwZT1yYWRpb10sLmJ0bi1ncm91cC10b2dnbGU-LmJ0bi1ncm91cD4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA-LmJ0biBpbnB1dFt0eXBlPXJhZGlvXXtwb3NpdGlvbjphYnNvbHV0ZTtjbGlwOnJlY3QoMCwwLDAsMCk7cG9pbnRlci1ldmVudHM6bm9uZX0uaW5wdXQtZ3JvdXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaDstbXMtZmxleC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7d2lkdGg6MTAwJX0uaW5wdXQtZ3JvdXA-LmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA-LmZvcm0tY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bzt3aWR0aDoxJTttYXJnaW4tYm90dG9tOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpmb2N1cywuaW5wdXQtZ3JvdXA-LmN1c3RvbS1zZWxlY3Q6Zm9jdXMsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2w6Zm9jdXN7ei1pbmRleDozfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUrLmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUrLmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Ky5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sKy5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA-LmZvcm0tY29udHJvbCsuY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA-LmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9se21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3Jle2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXA-LmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwuaW5wdXQtZ3JvdXA-LmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3Jle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmlucHV0LWdyb3VwLWFwcGVuZCwuaW5wdXQtZ3JvdXAtcHJlcGVuZHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRue3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mn0uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4rLmJ0biwuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4rLmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bisuYnRuLC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4rLmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmJ0biwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuaW5wdXQtZ3JvdXAtdGV4dHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cC1wcmVwZW5ke21hcmdpbi1yaWdodDotMXB4fS5pbnB1dC1ncm91cC1hcHBlbmR7bWFyZ2luLWxlZnQ6LTFweH0uaW5wdXQtZ3JvdXAtdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1Nzt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlcjoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOi4yNXJlbX0uaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPWNoZWNrYm94XSwuaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPXJhZGlvXXttYXJnaW4tdG9wOjB9LmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQ-LmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA-LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKT4uaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXA-LmlucHV0LWdyb3VwLXByZXBlbmQ-LmJ0biwuaW5wdXQtZ3JvdXA-LmlucHV0LWdyb3VwLXByZXBlbmQ-LmlucHV0LWdyb3VwLXRleHR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ-LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkPi5idG46bm90KDpmaXJzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkPi5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKT4uaW5wdXQtZ3JvdXAtdGV4dHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5jdXN0b20tY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21pbi1oZWlnaHQ6MS41cmVtO3BhZGRpbmctbGVmdDoxLjVyZW19LmN1c3RvbS1jb250cm9sLWlubGluZXtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1yaWdodDoxcmVtfS5jdXN0b20tY29udHJvbC1pbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO29wYWNpdHk6MH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZn0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXN-LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym94LXNoYWRvdzowIDAgMCAxcHggI2ZmZiwwIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmV-LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNiM2Q3ZmZ9LmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkfi5jdXN0b20tY29udHJvbC1sYWJlbHtjb2xvcjojNmM3NTdkfS5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWZ9LmN1c3RvbS1jb250cm9sLWxhYmVse21hcmdpbi1ib3R0b206MH0uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1cmVtO2xlZnQ6MDtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07cG9pbnRlci1ldmVudHM6bm9uZTtjb250ZW50OiIiOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNkZWUyZTZ9LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1cmVtO2xlZnQ6MDtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07Y29udGVudDoiIjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtc2l6ZTo1MCUgNTAlfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym9yZGVyLXJhZGl1czouMjVyZW19LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFIil9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFIil9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMjMsMjU1LC41KX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDppbmRldGVybWluYXRlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDEyMywyNTUsLjUpfS5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCV9LmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFIil9LmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMjMsMjU1LC41KX0uY3VzdG9tLXNlbGVjdHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO2hlaWdodDpjYWxjKDIuMjVyZW0gKyAycHgpO3BhZGRpbmc6LjM3NXJlbSAxLjc1cmVtIC4zNzVyZW0gLjc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNDk1MDU3O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0UiKSBuby1yZXBlYXQgcmlnaHQgLjc1cmVtIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6OHB4IDEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uY3VzdG9tLXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6IzgwYmRmZjtvdXRsaW5lOjA7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNXB4IHJnYmEoMTI4LDE4OSwyNTUsLjUpfS5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmN1c3RvbS1zZWxlY3RbbXVsdGlwbGVdLC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT0iMSJdKXtoZWlnaHQ6YXV0bztwYWRkaW5nLXJpZ2h0Oi43NXJlbTtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmN1c3RvbS1zZWxlY3Q6ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWZ9LmN1c3RvbS1zZWxlY3Q6Oi1tcy1leHBhbmR7b3BhY2l0eTowfS5jdXN0b20tc2VsZWN0LXNte2hlaWdodDpjYWxjKDEuODEyNXJlbSArIDJweCk7cGFkZGluZy10b3A6LjM3NXJlbTtwYWRkaW5nLWJvdHRvbTouMzc1cmVtO2ZvbnQtc2l6ZTo3NSV9LmN1c3RvbS1zZWxlY3QtbGd7aGVpZ2h0OmNhbGMoMi44NzVyZW0gKyAycHgpO3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbTtmb250LXNpemU6MTI1JX0uY3VzdG9tLWZpbGV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KTttYXJnaW4tYm90dG9tOjB9LmN1c3RvbS1maWxlLWlucHV0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDoxMDAlO2hlaWdodDpjYWxjKDIuMjVyZW0gKyAycHgpO21hcmdpbjowO29wYWNpdHk6MH0uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXN-LmN1c3RvbS1maWxlLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c34uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3Jle2JvcmRlci1jb2xvcjojODBiZGZmfS5jdXN0b20tZmlsZS1pbnB1dDpsYW5nKGVuKX4uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVye2NvbnRlbnQ6IkJyb3dzZSJ9LmN1c3RvbS1maWxlLWxhYmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7bGVmdDowO3otaW5kZXg6MTtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KTtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW19LmN1c3RvbS1maWxlLWxhYmVsOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MztkaXNwbGF5OmJsb2NrO2hlaWdodDpjYWxjKGNhbGMoMi4yNXJlbSArIDJweCkgLSAxcHggKiAyKTtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNDk1MDU3O2NvbnRlbnQ6IkJyb3dzZSI7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6MCAuMjVyZW0gLjI1cmVtIDB9Lm5hdntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZTpub25lfS5uYXYtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjVyZW0gMXJlbX0ubmF2LWxpbms6Zm9jdXMsLm5hdi1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjojNmM3NTdkfS5uYXYtdGFic3tib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2fS5uYXYtdGFicyAubmF2LWl0ZW17bWFyZ2luLWJvdHRvbTotMXB4fS5uYXYtdGFicyAubmF2LWxpbmt7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW19Lm5hdi10YWJzIC5uYXYtbGluazpmb2N1cywubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVye2JvcmRlci1jb2xvcjojZTllY2VmICNlOWVjZWYgI2RlZTJlNn0ubmF2LXRhYnMgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Lm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluaywubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZXtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2RlZTJlNiAjZGVlMmU2ICNmZmZ9Lm5hdi10YWJzIC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6LTFweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubmF2LXBpbGxzIC5uYXYtbGlua3tib3JkZXItcmFkaXVzOi4yNXJlbX0ubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUsLm5hdi1waWxscyAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9Lm5hdi1maWxsIC5uYXYtaXRlbXstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bzt0ZXh0LWFsaWduOmNlbnRlcn0ubmF2LWp1c3RpZmllZCAubmF2LWl0ZW17LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7dGV4dC1hbGlnbjpjZW50ZXJ9LnRhYi1jb250ZW50Pi50YWItcGFuZXtkaXNwbGF5Om5vbmV9LnRhYi1jb250ZW50Pi5hY3RpdmV7ZGlzcGxheTpibG9ja30ubmF2YmFye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzouNXJlbSAxcmVtfS5uYXZiYXI-LmNvbnRhaW5lciwubmF2YmFyPi5jb250YWluZXItZmx1aWR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy1tcy1mbGV4LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ubmF2YmFyLWJyYW5ke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOi4zMTI1cmVtO3BhZGRpbmctYm90dG9tOi4zMTI1cmVtO21hcmdpbi1yaWdodDoxcmVtO2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OmluaGVyaXQ7d2hpdGUtc3BhY2U6bm93cmFwfS5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1icmFuZDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2YmFyLW5hdntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctbGVmdDowO21hcmdpbi1ib3R0b206MDtsaXN0LXN0eWxlOm5vbmV9Lm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0ubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjpzdGF0aWM7ZmxvYXQ6bm9uZX0ubmF2YmFyLXRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6LjVyZW07cGFkZGluZy1ib3R0b206LjVyZW19Lm5hdmJhci1jb2xsYXBzZXstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZToxMDAlO2ZsZXgtYmFzaXM6MTAwJTstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ubmF2YmFyLXRvZ2dsZXJ7cGFkZGluZzouMjVyZW0gLjc1cmVtO2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjE7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6LjI1cmVtfS5uYXZiYXItdG9nZ2xlcjpmb2N1cywubmF2YmFyLXRvZ2dsZXI6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdmJhci10b2dnbGVyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpe2N1cnNvcjpwb2ludGVyfS5uYXZiYXItdG9nZ2xlci1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEuNWVtO2hlaWdodDoxLjVlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y29udGVudDoiIjtiYWNrZ3JvdW5kOm5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NTc1Ljk4cHgpey5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtc20-LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsubmF2YmFyLWV4cGFuZC1zbXstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXZ7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQtc20-LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9Lm5hdmJhci1leHBhbmQtc20gLmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NzY3Ljk4cHgpey5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbWQ-LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWV4cGFuZC1tZHstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXZ7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQtbWQ-LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9Lm5hdmJhci1leHBhbmQtbWQgLmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6OTkxLjk4cHgpey5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbGc-LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubmF2YmFyLWV4cGFuZC1sZ3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXZ7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQtbGc-LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9Lm5hdmJhci1leHBhbmQtbGcgLmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KXsubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5uYXZiYXItZXhwYW5kLXhsey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgbm93cmFwO2ZsZXgtZmxvdzpyb3cgbm93cmFwOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LW1zLWZsZXgtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdnstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlfS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLXJpZ2h0Oi41cmVtO3BhZGRpbmctbGVmdDouNXJlbX0ubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItZmx1aWR7LW1zLWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcH0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNle2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztmbGV4LWJhc2lzOmF1dG99Lm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVye2Rpc3BsYXk6bm9uZX0ubmF2YmFyLWV4cGFuZC14bCAuZHJvcHVwIC5kcm9wZG93bi1tZW51e3RvcDphdXRvO2JvdHRvbToxMDAlfX0ubmF2YmFyLWV4cGFuZHstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQ-LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdnstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLXJpZ2h0Oi41cmVtO3BhZGRpbmctbGVmdDouNXJlbX0ubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kPi5jb250YWluZXItZmx1aWR7LW1zLWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcH0ubmF2YmFyLWV4cGFuZCAubmF2YmFyLWNvbGxhcHNle2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztmbGV4LWJhc2lzOmF1dG99Lm5hdmJhci1leHBhbmQgLm5hdmJhci10b2dnbGVye2Rpc3BsYXk6bm9uZX0ubmF2YmFyLWV4cGFuZCAuZHJvcHVwIC5kcm9wZG93bi1tZW51e3RvcDphdXRvO2JvdHRvbToxMDAlfS5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZHtjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjcpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjMpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDAsIDAsIDAsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFIil9Lm5hdmJhci1saWdodCAubmF2YmFyLXRleHR7Y29sb3I6cmdiYSgwLDAsMCwuNSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYXtjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXJ7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmR7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjojZmZmfS5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmt7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KX0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KX0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFIil9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGF7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6Zm9jdXMsLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmhvdmVye2NvbG9yOiNmZmZ9LmNhcmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDt3b3JkLXdyYXA6YnJlYWstd29yZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOmJvcmRlci1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5jYXJkPmhye21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9LmNhcmQ-Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW19LmNhcmQ-Lmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtfS5jYXJkLWJvZHl7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG87cGFkZGluZzoxLjI1cmVtfS5jYXJkLXRpdGxle21hcmdpbi1ib3R0b206Ljc1cmVtfS5jYXJkLXN1YnRpdGxle21hcmdpbi10b3A6LS4zNzVyZW07bWFyZ2luLWJvdHRvbTowfS5jYXJkLXRleHQ6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmNhcmQtbGluazpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0uY2FyZC1saW5rKy5jYXJkLWxpbmt7bWFyZ2luLWxlZnQ6MS4yNXJlbX0uY2FyZC1oZWFkZXJ7cGFkZGluZzouNzVyZW0gMS4yNXJlbTttYXJnaW4tYm90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMyk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KX0uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpIDAgMH0uY2FyZC1oZWFkZXIrLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjB9LmNhcmQtZm9vdGVye3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMyk7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KX0uY2FyZC1mb290ZXI6bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgMCBjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkLWhlYWRlci10YWJze21hcmdpbi1yaWdodDotLjYyNXJlbTttYXJnaW4tYm90dG9tOi0uNzVyZW07bWFyZ2luLWxlZnQ6LS42MjVyZW07Ym9yZGVyLWJvdHRvbTowfS5jYXJkLWhlYWRlci1waWxsc3ttYXJnaW4tcmlnaHQ6LS42MjVyZW07bWFyZ2luLWxlZnQ6LS42MjVyZW19LmNhcmQtaW1nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzoxLjI1cmVtfS5jYXJkLWltZ3t3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkLWltZy10b3B7d2lkdGg6MTAwJTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQtaW1nLWJvdHRvbXt3aWR0aDoxMDAlO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1kZWNre2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNhcmQtZGVjayAuY2FyZHttYXJnaW4tYm90dG9tOjE1cHh9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5jYXJkLWRlY2t7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcDttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9LmNhcmQtZGVjayAuY2FyZHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDAgMCU7ZmxleDoxIDAgMCU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLXJpZ2h0OjE1cHg7bWFyZ2luLWJvdHRvbTowO21hcmdpbi1sZWZ0OjE1cHh9fS5jYXJkLWdyb3Vwe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNhcmQtZ3JvdXA-LmNhcmR7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1ncm91cHstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS5jYXJkLWdyb3VwPi5jYXJkey13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDAgMCU7ZmxleDoxIDAgMCU7bWFyZ2luLWJvdHRvbTowfS5jYXJkLWdyb3VwPi5jYXJkKy5jYXJke21hcmdpbi1sZWZ0OjA7Ym9yZGVyLWxlZnQ6MH0uY2FyZC1ncm91cD4uY2FyZDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA-LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1mb290ZXIsLmNhcmQtZ3JvdXA-LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOmxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWhlYWRlciwuY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA-LmNhcmQ6b25seS1jaGlsZHtib3JkZXItcmFkaXVzOi4yNXJlbX0uY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWhlYWRlciwuY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGQgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGQgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW19LmNhcmQtZ3JvdXA-LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpe2JvcmRlci1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1oZWFkZXIsLmNhcmQtZ3JvdXA-LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sLmNhcmQtZ3JvdXA-LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWltZy10b3B7Ym9yZGVyLXJhZGl1czowfX0uY2FyZC1jb2x1bW5zIC5jYXJke21hcmdpbi1ib3R0b206Ljc1cmVtfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1jb2x1bW5zey13ZWJraXQtY29sdW1uLWNvdW50OjM7LW1vei1jb2x1bW4tY291bnQ6Mztjb2x1bW4tY291bnQ6Mzstd2Via2l0LWNvbHVtbi1nYXA6MS4yNXJlbTstbW96LWNvbHVtbi1nYXA6MS4yNXJlbTtjb2x1bW4tZ2FwOjEuMjVyZW19LmNhcmQtY29sdW1ucyAuY2FyZHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlfX0uYnJlYWRjcnVtYntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOi43NXJlbSAxcmVtO21hcmdpbi1ib3R0b206MXJlbTtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtO2NvbG9yOiM2Yzc1N2Q7Y29udGVudDoiLyJ9LmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZXt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZXtjb2xvcjojNmM3NTdkfS5wYWdpbmF0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7cGFkZGluZy1sZWZ0OjA7bGlzdC1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5wYWdlLWxpbmt7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOi41cmVtIC43NXJlbTttYXJnaW4tbGVmdDotMXB4O2xpbmUtaGVpZ2h0OjEuMjU7Y29sb3I6IzAwN2JmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS5wYWdlLWxpbms6aG92ZXJ7Y29sb3I6IzAwNTZiMzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLWNvbG9yOiNkZWUyZTZ9LnBhZ2UtbGluazpmb2N1c3t6LWluZGV4OjI7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0ucGFnZS1saW5rOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpe2N1cnNvcjpwb2ludGVyfS5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGlua3ttYXJnaW4tbGVmdDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtfS5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGlua3t6LWluZGV4OjE7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5re2NvbG9yOiM2Yzc1N2Q7cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZWUyZTZ9LnBhZ2luYXRpb24tbGcgLnBhZ2UtbGlua3twYWRkaW5nOi43NXJlbSAxLjVyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41fS5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4zcmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjNyZW19LnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjNyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjNyZW19LnBhZ2luYXRpb24tc20gLnBhZ2UtbGlua3twYWRkaW5nOi4yNXJlbSAuNXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjV9LnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjJyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMnJlbX0ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMnJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMnJlbX0uYmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouMjVlbSAuNGVtO2ZvbnQtc2l6ZTo3NSU7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5iYWRnZTplbXB0eXtkaXNwbGF5Om5vbmV9LmJ0biAuYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0xcHh9LmJhZGdlLXBpbGx7cGFkZGluZy1yaWdodDouNmVtO3BhZGRpbmctbGVmdDouNmVtO2JvcmRlci1yYWRpdXM6MTByZW19LmJhZGdlLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmJhZGdlLXByaW1hcnlbaHJlZl06Zm9jdXMsLmJhZGdlLXByaW1hcnlbaHJlZl06aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDYyY2N9LmJhZGdlLXNlY29uZGFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZH0uYmFkZ2Utc2Vjb25kYXJ5W2hyZWZdOmZvY3VzLC5iYWRnZS1zZWNvbmRhcnlbaHJlZl06aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiM1NDViNjJ9LmJhZGdlLXN1Y2Nlc3N7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDV9LmJhZGdlLXN1Y2Nlc3NbaHJlZl06Zm9jdXMsLmJhZGdlLXN1Y2Nlc3NbaHJlZl06aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMxZTdlMzR9LmJhZGdlLWluZm97Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjh9LmJhZGdlLWluZm9baHJlZl06Zm9jdXMsLmJhZGdlLWluZm9baHJlZl06aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMxMTdhOGJ9LmJhZGdlLXdhcm5pbmd7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDd9LmJhZGdlLXdhcm5pbmdbaHJlZl06Zm9jdXMsLmJhZGdlLXdhcm5pbmdbaHJlZl06aG92ZXJ7Y29sb3I6IzIxMjUyOTt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNkMzllMDB9LmJhZGdlLWRhbmdlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NX0uYmFkZ2UtZGFuZ2VyW2hyZWZdOmZvY3VzLC5iYWRnZS1kYW5nZXJbaHJlZl06aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNiZDIxMzB9LmJhZGdlLWxpZ2h0e2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfS5iYWRnZS1saWdodFtocmVmXTpmb2N1cywuYmFkZ2UtbGlnaHRbaHJlZl06aG92ZXJ7Y29sb3I6IzIxMjUyOTt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNkYWUwZTV9LmJhZGdlLWRhcmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDB9LmJhZGdlLWRhcmtbaHJlZl06Zm9jdXMsLmJhZGdlLWRhcmtbaHJlZl06aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMxZDIxMjR9Lmp1bWJvdHJvbntwYWRkaW5nOjJyZW0gMXJlbTttYXJnaW4tYm90dG9tOjJyZW07YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1yYWRpdXM6LjNyZW19QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5qdW1ib3Ryb257cGFkZGluZzo0cmVtIDJyZW19fS5qdW1ib3Ryb24tZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowO2JvcmRlci1yYWRpdXM6MH0uYWxlcnR7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzouNzVyZW0gMS4yNXJlbTttYXJnaW4tYm90dG9tOjFyZW07Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOi4yNXJlbX0uYWxlcnQtaGVhZGluZ3tjb2xvcjppbmhlcml0fS5hbGVydC1saW5re2ZvbnQtd2VpZ2h0OjcwMH0uYWxlcnQtZGlzbWlzc2libGV7cGFkZGluZy1yaWdodDo0cmVtfS5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOi43NXJlbSAxLjI1cmVtO2NvbG9yOmluaGVyaXR9LmFsZXJ0LXByaW1hcnl7Y29sb3I6IzAwNDA4NTtiYWNrZ3JvdW5kLWNvbG9yOiNjY2U1ZmY7Ym9yZGVyLWNvbG9yOiNiOGRhZmZ9LmFsZXJ0LXByaW1hcnkgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojOWZjZGZmfS5hbGVydC1wcmltYXJ5IC5hbGVydC1saW5re2NvbG9yOiMwMDI3NTJ9LmFsZXJ0LXNlY29uZGFyeXtjb2xvcjojMzgzZDQxO2JhY2tncm91bmQtY29sb3I6I2UyZTNlNTtib3JkZXItY29sb3I6I2Q2ZDhkYn0uYWxlcnQtc2Vjb25kYXJ5IGhye2JvcmRlci10b3AtY29sb3I6I2M4Y2JjZn0uYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5re2NvbG9yOiMyMDIzMjZ9LmFsZXJ0LXN1Y2Nlc3N7Y29sb3I6IzE1NTcyNDtiYWNrZ3JvdW5kLWNvbG9yOiNkNGVkZGE7Ym9yZGVyLWNvbG9yOiNjM2U2Y2J9LmFsZXJ0LXN1Y2Nlc3MgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYjFkZmJifS5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5re2NvbG9yOiMwYjJlMTN9LmFsZXJ0LWluZm97Y29sb3I6IzBjNTQ2MDtiYWNrZ3JvdW5kLWNvbG9yOiNkMWVjZjE7Ym9yZGVyLWNvbG9yOiNiZWU1ZWJ9LmFsZXJ0LWluZm8gaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYWJkZGU1fS5hbGVydC1pbmZvIC5hbGVydC1saW5re2NvbG9yOiMwNjJjMzN9LmFsZXJ0LXdhcm5pbmd7Y29sb3I6Izg1NjQwNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYzY2Q7Ym9yZGVyLWNvbG9yOiNmZmVlYmF9LmFsZXJ0LXdhcm5pbmcgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZmZlOGExfS5hbGVydC13YXJuaW5nIC5hbGVydC1saW5re2NvbG9yOiM1MzNmMDN9LmFsZXJ0LWRhbmdlcntjb2xvcjojNzIxYzI0O2JhY2tncm91bmQtY29sb3I6I2Y4ZDdkYTtib3JkZXItY29sb3I6I2Y1YzZjYn0uYWxlcnQtZGFuZ2VyIGhye2JvcmRlci10b3AtY29sb3I6I2YxYjBiN30uYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5re2NvbG9yOiM0OTEyMTd9LmFsZXJ0LWxpZ2h0e2NvbG9yOiM4MTgxODI7YmFja2dyb3VuZC1jb2xvcjojZmVmZWZlO2JvcmRlci1jb2xvcjojZmRmZGZlfS5hbGVydC1saWdodCBocntib3JkZXItdG9wLWNvbG9yOiNlY2VjZjZ9LmFsZXJ0LWxpZ2h0IC5hbGVydC1saW5re2NvbG9yOiM2ODY4Njh9LmFsZXJ0LWRhcmt7Y29sb3I6IzFiMWUyMTtiYWNrZ3JvdW5kLWNvbG9yOiNkNmQ4ZDk7Ym9yZGVyLWNvbG9yOiNjNmM4Y2F9LmFsZXJ0LWRhcmsgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYjliYmJlfS5hbGVydC1kYXJrIC5hbGVydC1saW5re2NvbG9yOiMwNDA1MDV9QC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjoxcmVtIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fUBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjFyZW0gMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19LnByb2dyZXNze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjFyZW07b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTouNzVyZW07YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5wcm9ncmVzcy1iYXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO3RyYW5zaXRpb246d2lkdGggLjZzIGVhc2V9LnByb2dyZXNzLWJhci1zdHJpcGVke2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLXNpemU6MXJlbSAxcmVtfS5wcm9ncmVzcy1iYXItYW5pbWF0ZWR7LXdlYmtpdC1hbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGV9Lm1lZGlhe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ubWVkaWEtYm9keXstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjF9Lmxpc3QtZ3JvdXB7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjB9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb257d2lkdGg6MTAwJTtjb2xvcjojNDk1MDU3O3RleHQtYWxpZ246aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojNDk1MDU3O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYX0ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWZ9Lmxpc3QtZ3JvdXAtaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07bWFyZ2luLWJvdHRvbTotMXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW19Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW19Lmxpc3QtZ3JvdXAtaXRlbTpmb2N1cywubGlzdC1ncm91cC1pdGVtOmhvdmVye3otaW5kZXg6MTt0ZXh0LWRlY29yYXRpb246bm9uZX0ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLC5saXN0LWdyb3VwLWl0ZW06ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7ei1pbmRleDoyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5saXN0LWdyb3VwLWZsdXNoIC5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWxlZnQ6MDtib3JkZXItcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtZmx1c2g6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjB9Lmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTowfS5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeXtjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6I2I4ZGFmZn0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6IzlmY2RmZn0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDQwODU7Ym9yZGVyLWNvbG9yOiMwMDQwODV9Lmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnl7Y29sb3I6IzM4M2Q0MTtiYWNrZ3JvdW5kLWNvbG9yOiNkNmQ4ZGJ9Lmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMzODNkNDE7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmfS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzgzZDQxO2JvcmRlci1jb2xvcjojMzgzZDQxfS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzc3tjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2MzZTZjYn0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2IxZGZiYn0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxNTU3MjQ7Ym9yZGVyLWNvbG9yOiMxNTU3MjR9Lmxpc3QtZ3JvdXAtaXRlbS1pbmZve2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojYmVlNWVifS5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBjNTQ2MDtib3JkZXItY29sb3I6IzBjNTQ2MH0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6Izg1NjQwNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmVlYmF9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6Izg1NjQwNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmU4YTF9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojODU2NDA0O2JvcmRlci1jb2xvcjojODU2NDA0fS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2Vye2NvbG9yOiM3MjFjMjQ7YmFja2dyb3VuZC1jb2xvcjojZjVjNmNifS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojNzIxYzI0O2JhY2tncm91bmQtY29sb3I6I2YxYjBiN30ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzcyMWMyNDtib3JkZXItY29sb3I6IzcyMWMyNH0ubGlzdC1ncm91cC1pdGVtLWxpZ2h0e2NvbG9yOiM4MTgxODI7YmFja2dyb3VuZC1jb2xvcjojZmRmZGZlfS5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzgxODE4MjtiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZjZ9Lmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzgxODE4Mjtib3JkZXItY29sb3I6IzgxODE4Mn0ubGlzdC1ncm91cC1pdGVtLWRhcmt7Y29sb3I6IzFiMWUyMTtiYWNrZ3JvdW5kLWNvbG9yOiNjNmM4Y2F9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzFiMWUyMTtiYWNrZ3JvdW5kLWNvbG9yOiNiOWJiYmV9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWIxZTIxO2JvcmRlci1jb2xvcjojMWIxZTIxfS5jbG9zZXtmbG9hdDpyaWdodDtmb250LXNpemU6MS41cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiMwMDA7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO29wYWNpdHk6LjV9LmNsb3NlOmZvY3VzLC5jbG9zZTpob3Zlcntjb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6Ljc1fS5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1idXR0b24uY2xvc2V7cGFkZGluZzowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Lm1vZGFsLW9wZW57b3ZlcmZsb3c6aGlkZGVufS5tb2RhbHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjEwNTA7ZGlzcGxheTpub25lO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lm1vZGFsLW9wZW4gLm1vZGFse292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0b30ubW9kYWwtZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87bWFyZ2luOi41cmVtO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZ3t0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0LC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSl9Lm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6Y2FsYygxMDAlIC0gKC41cmVtICogMikpfS5tb2RhbC1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOi4zcmVtO291dGxpbmU6MH0ubW9kYWwtYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDQwO2JhY2tncm91bmQtY29sb3I6IzAwMH0ubW9kYWwtYmFja2Ryb3AuZmFkZXtvcGFjaXR5OjB9Lm1vZGFsLWJhY2tkcm9wLnNob3d7b3BhY2l0eTouNX0ubW9kYWwtaGVhZGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MXJlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTllY2VmO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjNyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjNyZW19Lm1vZGFsLWhlYWRlciAuY2xvc2V7cGFkZGluZzoxcmVtO21hcmdpbjotMXJlbSAtMXJlbSAtMXJlbSBhdXRvfS5tb2RhbC10aXRsZXttYXJnaW4tYm90dG9tOjA7bGluZS1oZWlnaHQ6MS41fS5tb2RhbC1ib2R5e3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDEgYXV0bztmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MXJlbX0ubW9kYWwtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazplbmQ7LW1zLWZsZXgtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3BhZGRpbmc6MXJlbTtib3JkZXItdG9wOjFweCBzb2xpZCAjZTllY2VmfS5tb2RhbC1mb290ZXI-Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0ubW9kYWwtZm9vdGVyPjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDouMjVyZW19Lm1vZGFsLXNjcm9sbGJhci1tZWFzdXJle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOTk5OXB4O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6c2Nyb2xsfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsubW9kYWwtZGlhbG9ne21heC13aWR0aDo1MDBweDttYXJnaW46MS43NXJlbSBhdXRvfS5tb2RhbC1kaWFsb2ctY2VudGVyZWR7bWluLWhlaWdodDpjYWxjKDEwMCUgLSAoMS43NXJlbSAqIDIpKX0ubW9kYWwtc217bWF4LXdpZHRoOjMwMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm1vZGFsLWxne21heC13aWR0aDo4MDBweH19LnRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDcwO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1icmVhazphdXRvO2ZvbnQtc2l6ZTouODc1cmVtO3dvcmQtd3JhcDpicmVhay13b3JkO29wYWNpdHk6MH0udG9vbHRpcC5zaG93e29wYWNpdHk6Ljl9LnRvb2x0aXAgLmFycm93e3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6LjhyZW07aGVpZ2h0Oi40cmVtfS50b29sdGlwIC5hcnJvdzo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdLC5icy10b29sdGlwLXRvcHtwYWRkaW5nOi40cmVtIDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3csLmJzLXRvb2x0aXAtdG9wIC5hcnJvd3tib3R0b206MH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdzo6YmVmb3JlLC5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZXt0b3A6MDtib3JkZXItd2lkdGg6LjRyZW0gLjRyZW0gMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdLC5icy10b29sdGlwLXJpZ2h0e3BhZGRpbmc6MCAuNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LC5icy10b29sdGlwLXJpZ2h0IC5hcnJvd3tsZWZ0OjA7d2lkdGg6LjRyZW07aGVpZ2h0Oi44cmVtfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6OmJlZm9yZSwuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZXtyaWdodDowO2JvcmRlci13aWR0aDouNHJlbSAuNHJlbSAuNHJlbSAwO2JvcmRlci1yaWdodC1jb2xvcjojMDAwfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0sLmJzLXRvb2x0aXAtYm90dG9te3BhZGRpbmc6LjRyZW0gMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdywuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93e3RvcDowfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3Jle2JvdHRvbTowO2JvcmRlci13aWR0aDowIC40cmVtIC40cmVtO2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSwuYnMtdG9vbHRpcC1sZWZ0e3BhZGRpbmc6MCAuNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3csLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3d7cmlnaHQ6MDt3aWR0aDouNHJlbTtoZWlnaHQ6LjhyZW19LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZXtsZWZ0OjA7Ym9yZGVyLXdpZHRoOi40cmVtIDAgLjRyZW0gLjRyZW07Ym9yZGVyLWxlZnQtY29sb3I6IzAwMH0udG9vbHRpcC1pbm5lcnttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzouMjVyZW0gLjVyZW07Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czouMjVyZW19LnBvcG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6MTA2MDtkaXNwbGF5OmJsb2NrO21heC13aWR0aDoyNzZweDtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7dGV4dC1hbGlnbjpsZWZ0O3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1zaGFkb3c6bm9uZTt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLWJyZWFrOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3doaXRlLXNwYWNlOm5vcm1hbDtsaW5lLWJyZWFrOmF1dG87Zm9udC1zaXplOi44NzVyZW07d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6LjNyZW19LnBvcG92ZXIgLmFycm93e3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MXJlbTtoZWlnaHQ6LjVyZW07bWFyZ2luOjAgLjNyZW19LnBvcG92ZXIgLmFycm93OjphZnRlciwucG9wb3ZlciAuYXJyb3c6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiI7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdLC5icy1wb3BvdmVyLXRvcHttYXJnaW4tYm90dG9tOi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93LC5icy1wb3BvdmVyLXRvcCAuYXJyb3d7Ym90dG9tOmNhbGMoKC41cmVtICsgMXB4KSAqIC0xKX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci10b3AgLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOi41cmVtIC41cmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci10b3AgLmFycm93OjpiZWZvcmV7Ym90dG9tOjA7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVye2JvdHRvbToxcHg7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwuYnMtcG9wb3Zlci1yaWdodHttYXJnaW4tbGVmdDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvd3tsZWZ0OmNhbGMoKC41cmVtICsgMXB4KSAqIC0xKTt3aWR0aDouNXJlbTtoZWlnaHQ6MXJlbTttYXJnaW46LjNyZW0gMH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmJlZm9yZXtib3JkZXItd2lkdGg6LjVyZW0gLjVyZW0gLjVyZW0gMH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmV7bGVmdDowO2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlcntsZWZ0OjFweDtib3JkZXItcmlnaHQtY29sb3I6I2ZmZn0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dLC5icy1wb3BvdmVyLWJvdHRvbXttYXJnaW4tdG9wOi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93LC5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3d7dG9wOmNhbGMoKC41cmVtICsgMXB4KSAqIC0xKX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOjAgLjVyZW0gLjVyZW0gLjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjpiZWZvcmV7dG9wOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVye3RvcDoxcHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUsLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6NTAlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MXJlbTttYXJnaW4tbGVmdDotLjVyZW07Y29udGVudDoiIjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjdmN2Y3fS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdLC5icy1wb3BvdmVyLWxlZnR7bWFyZ2luLXJpZ2h0Oi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdywuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvd3tyaWdodDpjYWxjKCguNXJlbSArIDFweCkgKiAtMSk7d2lkdGg6LjVyZW07aGVpZ2h0OjFyZW07bWFyZ2luOi4zcmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmJlZm9yZXtib3JkZXItd2lkdGg6LjVyZW0gMCAuNXJlbSAuNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YmVmb3Jle3JpZ2h0OjA7Ym9yZGVyLWxlZnQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmFmdGVye3JpZ2h0OjFweDtib3JkZXItbGVmdC1jb2xvcjojZmZmfS5wb3BvdmVyLWhlYWRlcntwYWRkaW5nOi41cmVtIC43NXJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjFyZW07Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGMoLjNyZW0gLSAxcHgpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGMoLjNyZW0gLSAxcHgpfS5wb3BvdmVyLWhlYWRlcjplbXB0eXtkaXNwbGF5Om5vbmV9LnBvcG92ZXItYm9keXtwYWRkaW5nOi41cmVtIC43NXJlbTtjb2xvcjojMjEyNTI5fS5jYXJvdXNlbHtwb3NpdGlvbjpyZWxhdGl2ZX0uY2Fyb3VzZWwtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LmNhcm91c2VsLWl0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpub25lOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNnMgZWFzZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNnMgZWFzZSwtd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtcGVyc3BlY3RpdmU6MTAwMHB4O3BlcnNwZWN0aXZlOjEwMDBweH0uY2Fyb3VzZWwtaXRlbS1uZXh0LC5jYXJvdXNlbC1pdGVtLXByZXYsLmNhcm91c2VsLWl0ZW0uYWN0aXZle2Rpc3BsYXk6YmxvY2t9LmNhcm91c2VsLWl0ZW0tbmV4dCwuY2Fyb3VzZWwtaXRlbS1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfUBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSl7LmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX0uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQsLmNhcm91c2VsLWl0ZW0tbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfUBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSl7LmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0LC5jYXJvdXNlbC1pdGVtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9fS5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXZ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfUBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSl7LmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWl0ZW0tcHJldnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfX0uY2Fyb3VzZWwtY29udHJvbC1uZXh0LC5jYXJvdXNlbC1jb250cm9sLXByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE1JTtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO29wYWNpdHk6LjV9LmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cywuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2wtcHJldjpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO291dGxpbmU6MDtvcGFjaXR5Oi45fS5jYXJvdXNlbC1jb250cm9sLXByZXZ7bGVmdDowfS5jYXJvdXNlbC1jb250cm9sLW5leHR7cmlnaHQ6MH0uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfS5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM0UlM0Mvc3ZnJTNFIil9LmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0UiKX0uY2Fyb3VzZWwtaW5kaWNhdG9yc3twb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbToxMHB4O2xlZnQ6MDt6LWluZGV4OjE1O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MTUlO21hcmdpbi1sZWZ0OjE1JTtsaXN0LXN0eWxlOm5vbmV9LmNhcm91c2VsLWluZGljYXRvcnMgbGl7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMSBhdXRvO2ZsZXg6MCAxIGF1dG87d2lkdGg6MzBweDtoZWlnaHQ6M3B4O21hcmdpbi1yaWdodDozcHg7bWFyZ2luLWxlZnQ6M3B4O3RleHQtaW5kZW50Oi05OTlweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpOjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMHB4O2xlZnQ6MDtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMHB4O2NvbnRlbnQ6IiJ9LmNhcm91c2VsLWluZGljYXRvcnMgbGk6OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotMTBweDtsZWZ0OjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTBweDtjb250ZW50OiIifS5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5jYXJvdXNlbC1jYXB0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE1JTtib3R0b206MjBweDtsZWZ0OjE1JTt6LWluZGV4OjEwO3BhZGRpbmctdG9wOjIwcHg7cGFkZGluZy1ib3R0b206MjBweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyfS5hbGlnbi1iYXNlbGluZXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXRvcHt2ZXJ0aWNhbC1hbGlnbjp0b3AhaW1wb3J0YW50fS5hbGlnbi1taWRkbGV7dmVydGljYWwtYWxpZ246bWlkZGxlIWltcG9ydGFudH0uYWxpZ24tYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbSFpbXBvcnRhbnR9LmFsaWduLXRleHQtYm90dG9te3ZlcnRpY2FsLWFsaWduOnRleHQtYm90dG9tIWltcG9ydGFudH0uYWxpZ24tdGV4dC10b3B7dmVydGljYWwtYWxpZ246dGV4dC10b3AhaW1wb3J0YW50fS5iZy1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6IzAwN2JmZiFpbXBvcnRhbnR9YS5iZy1wcmltYXJ5OmZvY3VzLGEuYmctcHJpbWFyeTpob3ZlcixidXR0b24uYmctcHJpbWFyeTpmb2N1cyxidXR0b24uYmctcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDYyY2MhaW1wb3J0YW50fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkIWltcG9ydGFudH1hLmJnLXNlY29uZGFyeTpmb2N1cyxhLmJnLXNlY29uZGFyeTpob3ZlcixidXR0b24uYmctc2Vjb25kYXJ5OmZvY3VzLGJ1dHRvbi5iZy1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNTQ1YjYyIWltcG9ydGFudH0uYmctc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDUhaW1wb3J0YW50fWEuYmctc3VjY2Vzczpmb2N1cyxhLmJnLXN1Y2Nlc3M6aG92ZXIsYnV0dG9uLmJnLXN1Y2Nlc3M6Zm9jdXMsYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0IWltcG9ydGFudH0uYmctaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjghaW1wb3J0YW50fWEuYmctaW5mbzpmb2N1cyxhLmJnLWluZm86aG92ZXIsYnV0dG9uLmJnLWluZm86Zm9jdXMsYnV0dG9uLmJnLWluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMTE3YThiIWltcG9ydGFudH0uYmctd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDchaW1wb3J0YW50fWEuYmctd2FybmluZzpmb2N1cyxhLmJnLXdhcm5pbmc6aG92ZXIsYnV0dG9uLmJnLXdhcm5pbmc6Zm9jdXMsYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZDM5ZTAwIWltcG9ydGFudH0uYmctZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9YS5iZy1kYW5nZXI6Zm9jdXMsYS5iZy1kYW5nZXI6aG92ZXIsYnV0dG9uLmJnLWRhbmdlcjpmb2N1cyxidXR0b24uYmctZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2JkMjEzMCFpbXBvcnRhbnR9LmJnLWxpZ2h0e2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnR9YS5iZy1saWdodDpmb2N1cyxhLmJnLWxpZ2h0OmhvdmVyLGJ1dHRvbi5iZy1saWdodDpmb2N1cyxidXR0b24uYmctbGlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZGFlMGU1IWltcG9ydGFudH0uYmctZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDAhaW1wb3J0YW50fWEuYmctZGFyazpmb2N1cyxhLmJnLWRhcms6aG92ZXIsYnV0dG9uLmJnLWRhcms6Zm9jdXMsYnV0dG9uLmJnLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMWQyMTI0IWltcG9ydGFudH0uYmctd2hpdGV7YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudH0uYmctdHJhbnNwYXJlbnR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnR9LmJvcmRlcntib3JkZXI6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItdG9we2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItcmlnaHR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLWJvdHRvbXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLWxlZnR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItMHtib3JkZXI6MCFpbXBvcnRhbnR9LmJvcmRlci10b3AtMHtib3JkZXItdG9wOjAhaW1wb3J0YW50fS5ib3JkZXItcmlnaHQtMHtib3JkZXItcmlnaHQ6MCFpbXBvcnRhbnR9LmJvcmRlci1ib3R0b20tMHtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50fS5ib3JkZXItbGVmdC0we2JvcmRlci1sZWZ0OjAhaW1wb3J0YW50fS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6IzAwN2JmZiFpbXBvcnRhbnR9LmJvcmRlci1zZWNvbmRhcnl7Ym9yZGVyLWNvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fS5ib3JkZXItc3VjY2Vzc3tib3JkZXItY29sb3I6IzI4YTc0NSFpbXBvcnRhbnR9LmJvcmRlci1pbmZve2JvcmRlci1jb2xvcjojMTdhMmI4IWltcG9ydGFudH0uYm9yZGVyLXdhcm5pbmd7Ym9yZGVyLWNvbG9yOiNmZmMxMDchaW1wb3J0YW50fS5ib3JkZXItZGFuZ2Vye2JvcmRlci1jb2xvcjojZGMzNTQ1IWltcG9ydGFudH0uYm9yZGVyLWxpZ2h0e2JvcmRlci1jb2xvcjojZjhmOWZhIWltcG9ydGFudH0uYm9yZGVyLWRhcmt7Ym9yZGVyLWNvbG9yOiMzNDNhNDAhaW1wb3J0YW50fS5ib3JkZXItd2hpdGV7Ym9yZGVyLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5yb3VuZGVke2JvcmRlci1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW0haW1wb3J0YW50O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtcmlnaHR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW0haW1wb3J0YW50O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1sZWZ0e2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtY2lyY2xle2JvcmRlci1yYWRpdXM6NTAlIWltcG9ydGFudH0ucm91bmRlZC0we2JvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnR9LmNsZWFyZml4OjphZnRlcntkaXNwbGF5OmJsb2NrO2NsZWFyOmJvdGg7Y29udGVudDoiIn0uZC1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLWZsZXh7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1pbmxpbmUtZmxleHtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZC1zbS1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtc20taW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1zbS1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLXNtLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLXNtLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLXNtLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtc20tdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLXNtLWZsZXh7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1zbS1pbmxpbmUtZmxleHtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmQtbWQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLW1kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtbWQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1tZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1tZC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1tZC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLW1kLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1tZC1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtbWQtaW5saW5lLWZsZXh7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5kLWxnLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1sZy1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLWxnLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtbGctYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtbGctdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtbGctdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC1sZy10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtbGctZmxleHtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLWxnLWlubGluZS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmQteGwtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLXhsLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQteGwtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC14bC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC14bC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC14bC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXhsLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC14bC1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQteGwtaW5saW5lLWZsZXh7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19QG1lZGlhIHByaW50ey5kLXByaW50LW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1wcmludC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLXByaW50LWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtcHJpbnQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC1wcmludC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtcHJpbnQtZmxleHtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLXByaW50LWlubGluZS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fS5lbWJlZC1yZXNwb25zaXZle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5lbWJlZC1yZXNwb25zaXZlOjpiZWZvcmV7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwuZW1iZWQtcmVzcG9uc2l2ZSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MH0uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjQyLjg1NzE0MyV9LmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZXtwYWRkaW5nLXRvcDo1Ni4yNSV9LmVtYmVkLXJlc3BvbnNpdmUtNGJ5Mzo6YmVmb3Jle3BhZGRpbmctdG9wOjc1JX0uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmV7cGFkZGluZy10b3A6MTAwJX0uZmxleC1yb3d7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgtY29sdW1uey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC1yb3ctcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LWNvbHVtbi1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXdyYXB7LW1zLWZsZXgtd3JhcDp3cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtbm93cmFwey1tcy1mbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC13cmFwLXJldmVyc2V7LW1zLWZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc3RhcnR7LXdlYmtpdC1ib3gtcGFjazpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtZW5key13ZWJraXQtYm94LXBhY2s6ZW5kIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmVuZCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWNlbnRlcnstd2Via2l0LWJveC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbnstd2Via2l0LWJveC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5key1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXN0YXJ0ey13ZWJraXQtYm94LWFsaWduOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWVuZHstd2Via2l0LWJveC1hbGlnbjplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1jZW50ZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWJhc2VsaW5ley13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zdHJldGNoey13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXN0YXJ0ey1tcy1mbGV4LWxpbmUtcGFjazpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tY29udGVudC1lbmR7LW1zLWZsZXgtbGluZS1wYWNrOmVuZCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtY2VudGVyey1tcy1mbGV4LWxpbmUtcGFjazpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1iZXR3ZWVuey1tcy1mbGV4LWxpbmUtcGFjazpqdXN0aWZ5IWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWFyb3VuZHstbXMtZmxleC1saW5lLXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXN0cmV0Y2h7LW1zLWZsZXgtbGluZS1wYWNrOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtYXV0b3stbXMtZmxleC1pdGVtLWFsaWduOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc3RhcnR7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1lbmR7LW1zLWZsZXgtaXRlbS1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWNlbnRlcnstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWJhc2VsaW5ley1tcy1mbGV4LWl0ZW0tYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXN0cmV0Y2h7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZmxleC1zbS1yb3d7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgtc20tY29sdW1uey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC1zbS1yb3ctcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXNtLWNvbHVtbi1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXNtLXdyYXB7LW1zLWZsZXgtd3JhcDp3cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtc20tbm93cmFwey1tcy1mbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC1zbS13cmFwLXJldmVyc2V7LW1zLWZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tc3RhcnR7LXdlYmtpdC1ib3gtcGFjazpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tZW5key13ZWJraXQtYm94LXBhY2s6ZW5kIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmVuZCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWNlbnRlcnstd2Via2l0LWJveC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2Vlbnstd2Via2l0LWJveC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5key1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXNtLXN0YXJ0ey13ZWJraXQtYm94LWFsaWduOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXNtLWVuZHstd2Via2l0LWJveC1hbGlnbjplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1jZW50ZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXNtLWJhc2VsaW5ley13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1zdHJldGNoey13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLXN0YXJ0ey1tcy1mbGV4LWxpbmUtcGFjazpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1lbmR7LW1zLWZsZXgtbGluZS1wYWNrOmVuZCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tY2VudGVyey1tcy1mbGV4LWxpbmUtcGFjazpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuey1tcy1mbGV4LWxpbmUtcGFjazpqdXN0aWZ5IWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLWFyb3VuZHstbXMtZmxleC1saW5lLXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2h7LW1zLWZsZXgtbGluZS1wYWNrOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc20tYXV0b3stbXMtZmxleC1pdGVtLWFsaWduOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc20tc3RhcnR7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1lbmR7LW1zLWZsZXgtaXRlbS1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWNlbnRlcnstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWJhc2VsaW5ley1tcy1mbGV4LWl0ZW0tYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLXN0cmV0Y2h7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmZsZXgtbWQtcm93ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LW1kLWNvbHVtbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtbWQtcm93LXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1tZC1jb2x1bW4tcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1tZC13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LW1kLW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgtbWQtd3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0ey13ZWJraXQtYm94LXBhY2s6c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLWVuZHstd2Via2l0LWJveC1wYWNrOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1jZW50ZXJ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW57LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5IWltcG9ydGFudDstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1zdGFydHstd2Via2l0LWJveC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1lbmR7LXdlYmtpdC1ib3gtYWxpZ246ZW5kIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtY2VudGVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1iYXNlbGluZXstd2Via2l0LWJveC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtc3RyZXRjaHstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5mbGV4LWxnLXJvd3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC1sZy1jb2x1bW57LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LWxnLXJvdy1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbGctY29sdW1uLXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbGctd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC1sZy1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LWxnLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1zdGFydHstd2Via2l0LWJveC1wYWNrOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1lbmR7LXdlYmtpdC1ib3gtcGFjazplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyey13ZWJraXQtYm94LXBhY2s6Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1iZXR3ZWVuey13ZWJraXQtYm94LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctc3RhcnR7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctZW5key13ZWJraXQtYm94LWFsaWduOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWNlbnRlcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctYmFzZWxpbmV7LXdlYmtpdC1ib3gtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2h7LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmZsZXgteGwtcm93ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LXhsLWNvbHVtbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgteGwtcm93LXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC14bC1jb2x1bW4tcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC14bC13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LXhsLW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgteGwtd3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLXN0YXJ0ey13ZWJraXQtYm94LXBhY2s6c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLWVuZHstd2Via2l0LWJveC1wYWNrOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1jZW50ZXJ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW57LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5IWltcG9ydGFudDstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy14bC1zdGFydHstd2Via2l0LWJveC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy14bC1lbmR7LXdlYmtpdC1ib3gtYWxpZ246ZW5kIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtY2VudGVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy14bC1iYXNlbGluZXstd2Via2l0LWJveC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtc3RyZXRjaHstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLXhsLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLXhsLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19LmZsb2F0LWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmZsb2F0LXNtLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LXNtLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtc20tbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mbG9hdC1tZC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1tZC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LW1kLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZmxvYXQtbGctbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQtbGctcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC1sZy1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5mbG9hdC14bC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC14bC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LXhsLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fS5wb3NpdGlvbi1zdGF0aWN7cG9zaXRpb246c3RhdGljIWltcG9ydGFudH0ucG9zaXRpb24tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fS5wb3NpdGlvbi1hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnR9LnBvc2l0aW9uLWZpeGVke3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudH0ucG9zaXRpb24tc3RpY2t5e3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5IWltcG9ydGFudDtwb3NpdGlvbjpzdGlja3khaW1wb3J0YW50fS5maXhlZC10b3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtsZWZ0OjA7ei1pbmRleDoxMDMwfS5maXhlZC1ib3R0b217cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDMwfUBzdXBwb3J0cyAoKHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246c3RpY2t5KSl7LnN0aWNreS10b3B7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MTAyMH19LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwOy13ZWJraXQtY2xpcC1wYXRoOmluc2V0KDUwJSk7Y2xpcC1wYXRoOmluc2V0KDUwJSk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG87d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtY2xpcC1wYXRoOm5vbmU7Y2xpcC1wYXRoOm5vbmV9LnctMjV7d2lkdGg6MjUlIWltcG9ydGFudH0udy01MHt3aWR0aDo1MCUhaW1wb3J0YW50fS53LTc1e3dpZHRoOjc1JSFpbXBvcnRhbnR9LnctMTAwe3dpZHRoOjEwMCUhaW1wb3J0YW50fS5oLTI1e2hlaWdodDoyNSUhaW1wb3J0YW50fS5oLTUwe2hlaWdodDo1MCUhaW1wb3J0YW50fS5oLTc1e2hlaWdodDo3NSUhaW1wb3J0YW50fS5oLTEwMHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9Lm13LTEwMHttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnR9Lm1oLTEwMHttYXgtaGVpZ2h0OjEwMCUhaW1wb3J0YW50fS5tLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC0wLC5teS0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLTAsLm14LTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi0wLC5teS0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLTAsLm14LTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtMSwubXktMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLTEsLm14LTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLTEsLm15LTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC0xLC5teC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC0yLC5teS0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci0yLC5teC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLTIsLm15LTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLTIsLm14LTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC0zLC5teS0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLTMsLm14LTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi0zLC5teS0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLTMsLm14LTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtNCwubXktNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLTQsLm14LTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLTQsLm15LTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC00LC5teC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LTUsLm15LTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItNSwubXgtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLTUsLm15LTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtNSwubXgtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LTAsLnB5LTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLTAsLnB4LTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItMCwucHktMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtMCwucHgtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LTEsLnB5LTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItMSwucHgtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLTEsLnB5LTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtMSwucHgtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC0yLC5weS0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItMiwucHgtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItMiwucHktMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLTIsLnB4LTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LTMsLnB5LTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLTMsLnB4LTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItMywucHktM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtMywucHgtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LTQsLnB5LTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItNCwucHgtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLTQsLnB5LTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtNCwucHgtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LTUsLnB5LTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLTUsLnB4LTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItNSwucHktNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtNSwucHgtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LWF1dG8sLm15LWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItYXV0bywubXgtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLWF1dG8sLm15LWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtYXV0bywubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm0tc20tMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LXNtLTAsLm15LXNtLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItc20tMCwubXgtc20tMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLXNtLTAsLm15LXNtLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtc20tMCwubXgtc20tMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1zbS0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1zbS0xLC5teS1zbS0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItc20tMSwubXgtc20tMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItc20tMSwubXktc20tMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTEsLm14LXNtLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1zbS0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LXNtLTIsLm15LXNtLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTIsLm14LXNtLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItc20tMiwubXktc20tMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtc20tMiwubXgtc20tMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tc20tM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LXNtLTMsLm15LXNtLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItc20tMywubXgtc20tM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTMsLm15LXNtLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtc20tMywubXgtc20tM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1zbS00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1zbS00LC5teS1zbS00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItc20tNCwubXgtc20tNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItc20tNCwubXktc20tNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTQsLm14LXNtLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1zbS01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtc20tNSwubXktc20tNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1zbS01LC5teC1zbS01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItc20tNSwubXktc20tNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1zbS01LC5teC1zbS01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLXNtLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtc20tMCwucHktc20tMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItc20tMCwucHgtc20tMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1zbS0wLC5weS1zbS0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1zbS0wLC5weC1zbS0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1zbS0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtc20tMSwucHktc20tMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1zbS0xLC5weC1zbS0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItc20tMSwucHktc20tMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1zbS0xLC5weC1zbS0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLXNtLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTIsLnB5LXNtLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1zbS0yLC5weC1zbS0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1zbS0yLC5weS1zbS0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtc20tMiwucHgtc20tMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLXNtLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtc20tMywucHktc20tM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItc20tMywucHgtc20tM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1zbS0zLC5weS1zbS0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1zbS0zLC5weC1zbS0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1zbS00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtc20tNCwucHktc20tNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1zbS00LC5weC1zbS00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItc20tNCwucHktc20tNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1zbS00LC5weC1zbS00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLXNtLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtc20tNSwucHktc20tNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItc20tNSwucHgtc20tNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1zbS01LC5weS1zbS01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1zbS01LC5weC1zbS01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1zbS1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm0tbWQtMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LW1kLTAsLm15LW1kLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbWQtMCwubXgtbWQtMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLW1kLTAsLm15LW1kLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbWQtMCwubXgtbWQtMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1tZC0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1tZC0xLC5teS1tZC0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbWQtMSwubXgtbWQtMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbWQtMSwubXktbWQtMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTEsLm14LW1kLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1tZC0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LW1kLTIsLm15LW1kLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTIsLm14LW1kLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbWQtMiwubXktbWQtMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbWQtMiwubXgtbWQtMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbWQtM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LW1kLTMsLm15LW1kLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbWQtMywubXgtbWQtM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTMsLm15LW1kLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbWQtMywubXgtbWQtM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1tZC00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1tZC00LC5teS1tZC00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbWQtNCwubXgtbWQtNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbWQtNCwubXktbWQtNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTQsLm14LW1kLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1tZC01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbWQtNSwubXktbWQtNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1tZC01LC5teC1tZC01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbWQtNSwubXktbWQtNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1tZC01LC5teC1tZC01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLW1kLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtbWQtMCwucHktbWQtMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItbWQtMCwucHgtbWQtMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1tZC0wLC5weS1tZC0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1tZC0wLC5weC1tZC0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1tZC0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtbWQtMSwucHktbWQtMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1tZC0xLC5weC1tZC0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItbWQtMSwucHktbWQtMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1tZC0xLC5weC1tZC0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLW1kLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTIsLnB5LW1kLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1tZC0yLC5weC1tZC0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1tZC0yLC5weS1tZC0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtbWQtMiwucHgtbWQtMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLW1kLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtbWQtMywucHktbWQtM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItbWQtMywucHgtbWQtM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1tZC0zLC5weS1tZC0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1tZC0zLC5weC1tZC0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1tZC00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtbWQtNCwucHktbWQtNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1tZC00LC5weC1tZC00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItbWQtNCwucHktbWQtNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1tZC00LC5weC1tZC00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLW1kLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtbWQtNSwucHktbWQtNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItbWQtNSwucHgtbWQtNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1tZC01LC5weS1tZC01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1tZC01LC5weC1tZC01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1tZC1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm0tbGctMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LWxnLTAsLm15LWxnLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbGctMCwubXgtbGctMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLWxnLTAsLm15LWxnLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbGctMCwubXgtbGctMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1sZy0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1sZy0xLC5teS1sZy0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbGctMSwubXgtbGctMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbGctMSwubXktbGctMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTEsLm14LWxnLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1sZy0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LWxnLTIsLm15LWxnLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTIsLm14LWxnLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbGctMiwubXktbGctMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbGctMiwubXgtbGctMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbGctM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LWxnLTMsLm15LWxnLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbGctMywubXgtbGctM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTMsLm15LWxnLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbGctMywubXgtbGctM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1sZy00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1sZy00LC5teS1sZy00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbGctNCwubXgtbGctNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbGctNCwubXktbGctNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTQsLm14LWxnLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1sZy01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbGctNSwubXktbGctNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1sZy01LC5teC1sZy01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbGctNSwubXktbGctNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1sZy01LC5teC1sZy01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLWxnLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtbGctMCwucHktbGctMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItbGctMCwucHgtbGctMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1sZy0wLC5weS1sZy0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1sZy0wLC5weC1sZy0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1sZy0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtbGctMSwucHktbGctMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1sZy0xLC5weC1sZy0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItbGctMSwucHktbGctMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1sZy0xLC5weC1sZy0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLWxnLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTIsLnB5LWxnLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1sZy0yLC5weC1sZy0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1sZy0yLC5weS1sZy0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtbGctMiwucHgtbGctMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLWxnLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtbGctMywucHktbGctM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItbGctMywucHgtbGctM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1sZy0zLC5weS1sZy0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1sZy0zLC5weC1sZy0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1sZy00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtbGctNCwucHktbGctNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1sZy00LC5weC1sZy00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItbGctNCwucHktbGctNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1sZy00LC5weC1sZy00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLWxnLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtbGctNSwucHktbGctNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItbGctNSwucHgtbGctNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1sZy01LC5weS1sZy01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1sZy01LC5weC1sZy01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1sZy1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5tLXhsLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC14bC0wLC5teS14bC0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLXhsLTAsLm14LXhsLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi14bC0wLC5teS14bC0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLXhsLTAsLm14LXhsLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0teGwtMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQteGwtMSwubXkteGwtMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTEsLm14LXhsLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTEsLm15LXhsLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC14bC0xLC5teC14bC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0teGwtMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC14bC0yLC5teS14bC0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci14bC0yLC5teC14bC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTIsLm15LXhsLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTIsLm14LXhsLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLXhsLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC14bC0zLC5teS14bC0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTMsLm14LXhsLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi14bC0zLC5teS14bC0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTMsLm14LXhsLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0teGwtNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQteGwtNCwubXkteGwtNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTQsLm14LXhsLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTQsLm15LXhsLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC14bC00LC5teC14bC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0teGwtNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LXhsLTUsLm15LXhsLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXIteGwtNSwubXgteGwtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLXhsLTUsLm15LXhsLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwteGwtNSwubXgteGwtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC14bC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LXhsLTAsLnB5LXhsLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLXhsLTAsLnB4LXhsLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGIteGwtMCwucHkteGwtMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwteGwtMCwucHgteGwtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAteGwtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LXhsLTEsLnB5LXhsLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHIteGwtMSwucHgteGwtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTEsLnB5LXhsLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwteGwtMSwucHgteGwtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC14bC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC14bC0yLC5weS14bC0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHIteGwtMiwucHgteGwtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGIteGwtMiwucHkteGwtMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTIsLnB4LXhsLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC14bC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LXhsLTMsLnB5LXhsLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLXhsLTMsLnB4LXhsLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGIteGwtMywucHkteGwtM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwteGwtMywucHgteGwtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAteGwtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LXhsLTQsLnB5LXhsLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHIteGwtNCwucHgteGwtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTQsLnB5LXhsLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwteGwtNCwucHgteGwtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC14bC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LXhsLTUsLnB5LXhsLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLXhsLTUsLnB4LXhsLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGIteGwtNSwucHkteGwtNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwteGwtNSwucHgteGwtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0teGwtYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXIteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19LnRleHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnkhaW1wb3J0YW50fS50ZXh0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXAhaW1wb3J0YW50fS50ZXh0LXRydW5jYXRle292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LnRleHQtc20tbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LXNtLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LXNtLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsudGV4dC1tZC1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtbWQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtbWQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey50ZXh0LWxnLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1sZy1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1sZy1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey50ZXh0LXhsLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC14bC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC14bC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX0udGV4dC1sb3dlcmNhc2V7dGV4dC10cmFuc2Zvcm06bG93ZXJjYXNlIWltcG9ydGFudH0udGV4dC11cHBlcmNhc2V7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIWltcG9ydGFudH0udGV4dC1jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemUhaW1wb3J0YW50fS5mb250LXdlaWdodC1saWdodHtmb250LXdlaWdodDozMDAhaW1wb3J0YW50fS5mb250LXdlaWdodC1ub3JtYWx7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uZm9udC13ZWlnaHQtYm9sZHtmb250LXdlaWdodDo3MDAhaW1wb3J0YW50fS5mb250LWl0YWxpY3tmb250LXN0eWxlOml0YWxpYyFpbXBvcnRhbnR9LnRleHQtd2hpdGV7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtcHJpbWFyeXtjb2xvcjojMDA3YmZmIWltcG9ydGFudH1hLnRleHQtcHJpbWFyeTpmb2N1cyxhLnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjojMDA2MmNjIWltcG9ydGFudH0udGV4dC1zZWNvbmRhcnl7Y29sb3I6IzZjNzU3ZCFpbXBvcnRhbnR9YS50ZXh0LXNlY29uZGFyeTpmb2N1cyxhLnRleHQtc2Vjb25kYXJ5OmhvdmVye2NvbG9yOiM1NDViNjIhaW1wb3J0YW50fS50ZXh0LXN1Y2Nlc3N7Y29sb3I6IzI4YTc0NSFpbXBvcnRhbnR9YS50ZXh0LXN1Y2Nlc3M6Zm9jdXMsYS50ZXh0LXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6IzFlN2UzNCFpbXBvcnRhbnR9LnRleHQtaW5mb3tjb2xvcjojMTdhMmI4IWltcG9ydGFudH1hLnRleHQtaW5mbzpmb2N1cyxhLnRleHQtaW5mbzpob3Zlcntjb2xvcjojMTE3YThiIWltcG9ydGFudH0udGV4dC13YXJuaW5ne2NvbG9yOiNmZmMxMDchaW1wb3J0YW50fWEudGV4dC13YXJuaW5nOmZvY3VzLGEudGV4dC13YXJuaW5nOmhvdmVye2NvbG9yOiNkMzllMDAhaW1wb3J0YW50fS50ZXh0LWRhbmdlcntjb2xvcjojZGMzNTQ1IWltcG9ydGFudH1hLnRleHQtZGFuZ2VyOmZvY3VzLGEudGV4dC1kYW5nZXI6aG92ZXJ7Y29sb3I6I2JkMjEzMCFpbXBvcnRhbnR9LnRleHQtbGlnaHR7Y29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnR9YS50ZXh0LWxpZ2h0OmZvY3VzLGEudGV4dC1saWdodDpob3Zlcntjb2xvcjojZGFlMGU1IWltcG9ydGFudH0udGV4dC1kYXJre2NvbG9yOiMzNDNhNDAhaW1wb3J0YW50fWEudGV4dC1kYXJrOmZvY3VzLGEudGV4dC1kYXJrOmhvdmVye2NvbG9yOiMxZDIxMjQhaW1wb3J0YW50fS50ZXh0LW11dGVke2NvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fS50ZXh0LWhpZGV7Zm9udDowLzAgYTtjb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudH0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7Kiw6OmFmdGVyLDo6YmVmb3Jle3RleHQtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9YTpub3QoLmJ0bil7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hYmJyW3RpdGxlXTo6YWZ0ZXJ7Y29udGVudDoiICgiIGF0dHIodGl0bGUpICIpIn1wcmV7d2hpdGUtc3BhY2U6cHJlLXdyYXAhaW1wb3J0YW50fWJsb2NrcXVvdGUscHJle2JvcmRlcjoxcHggc29saWQgIzk5OTtwYWdlLWJyZWFrLWluc2lkZTphdm9pZH10aGVhZHtkaXNwbGF5OnRhYmxlLWhlYWRlci1ncm91cH1pbWcsdHJ7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9aDIsaDMscHtvcnBoYW5zOjM7d2lkb3dzOjN9aDIsaDN7cGFnZS1icmVhay1hZnRlcjphdm9pZH1AcGFnZXtzaXplOmEzfWJvZHl7bWluLXdpZHRoOjk5MnB4IWltcG9ydGFudH0uY29udGFpbmVye21pbi13aWR0aDo5OTJweCFpbXBvcnRhbnR9Lm5hdmJhcntkaXNwbGF5Om5vbmV9LmJhZGdle2JvcmRlcjoxcHggc29saWQgIzAwMH0udGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIWltcG9ydGFudH0udGFibGUgdGQsLnRhYmxlIHRoe2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRhYmxlLWJvcmRlcmVkIHRkLC50YWJsZS1ib3JkZXJlZCB0aHtib3JkZXI6MXB4IHNvbGlkICNkZGQhaW1wb3J0YW50fX0NCi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5taW4uY3NzLm1hcCAqLw","form-validation.css":"LmNvbnRhaW5lciB7DQogIG1heC13aWR0aDogOTYwcHg7DQp9DQoNCi5ib3JkZXItdG9wIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH0NCi5ib3JkZXItYm90dG9tIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH0NCi5ib3JkZXItdG9wLWdyYXkgeyBib3JkZXItdG9wLWNvbG9yOiAjYWRiNWJkOyB9DQoNCi5ib3gtc2hhZG93IHsgYm94LXNoYWRvdzogMCAuMjVyZW0gLjc1cmVtIHJnYmEoMCwgMCwgMCwgLjA1KTsgfQ0KDQoubGgtY29uZGVuc2VkIHsgbGluZS1oZWlnaHQ6IDEuMjU7IH0NCg","personal.css":"DQouY2FyZHBpYyB7aGVpZ2h0OiA1MHB4O3dpZHRoOjUwcHg7fQ0KLnBpY2ZyYW1lIHsNCiAgbWFyZ2luOiAxMHB4Ow0KICBoZWlnaHQ6IDUwcHg7DQogIHdpZHRoOiA1MHB4Ow0KICBib3JkZXItcmFkaXVzOiAyNXB4Ow0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KLmNhcmRjb2wge3BhZGRpbmc6IDE1cHg7IHdpZHRoOiAzMDBweDt9DQouY2FyZC1zZWxlY3RlZCB7YmFja2dyb3VuZC1jb2xvcjogI0UxRTFFMTt9DQoNCmRpdiNjYXJkXzh2ZmdsNllYbmtCNVJGLUxGMkE5SWg0TFlsbHNrajVoZWZNSWNvSGZXMkkge30NCi5jYXJkLWJvZHktaWQge3BhZGRpbmc6IC41cmVtO30NCi5jbG1zXzAge2Rpc3BsYXk6IG5vbmU7fQ0KLmNsbXNfMSB7ZGlzcGxheTogYmxvY2s7fQ0KLmZsZXgtY29udGFpbmVyIHsNCiAgZGlzcGxheTogZmxleDsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQouY29udGFpbmVyLWNlbnRlci1vdXRlciB7DQogIGRpc3BsYXk6IHRhYmxlOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGhlaWdodDogMTAwJTsNCiAgd2lkdGg6IDEwMCU7DQp9DQoNCi5jb250YWluZXItY2VudGVyLW1pZGRsZSB7DQogIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5jb250YWluZXItY2VudGVyLWlubmVyIHsNCiAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIG1hcmdpbi1yaWdodDogYXV0bzsNCiAgd2lkdGg6IDY2JTsNCn0NCg0KLmNvbnRhaW5lci1jZW50ZXItaW5uZXItNTAgew0KICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICB3aWR0aDogNTAlOw0KfQ0KDQouY29udGFpbmVyLWNlbnRlci1pbm5lci03NSB7DQogIG1hcmdpbi1sZWZ0OiBhdXRvOw0KICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogIHdpZHRoOiA3NSU7DQp9DQoNCi52ZXJ0aWNhbC1jZW50ZXIgew0KICBtaW4taGVpZ2h0OiAxMDAlOyAgLyogRmFsbGJhY2sgZm9yIGJyb3dzZXJzIGRvIE5PVCBzdXBwb3J0IHZoIHVuaXQgKi8NCiAgbWluLWhlaWdodDogMTAwdmg7IC8qIFRoZXNlIHR3byBsaW5lcyBhcmUgY291bnRlZCBhcyBvbmUgOi0pICAgICAgICovDQoNCiAgZGlzcGxheTogZmxleDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCn0NCg0KLmlmcmFtZS1jb250YWluZXIgew0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBwYWRkaW5nLXRvcDogMjAwJTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouaWZyYW1lLWNvbnRhaW5lciBpZnJhbWUgew0KICAgYm9yZGVyOiAwOw0KICAgaGVpZ2h0OiAxMDAlOw0KICAgbGVmdDogMDsNCiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgIHRvcDogMDsNCiAgIHdpZHRoOiAxMDAlOw0KfQ0KDQovKiA0eDMgQXNwZWN0IFJhdGlvICovDQouaWZyYW1lLWNvbnRhaW5lci00eDMgew0KICBwYWRkaW5nLXRvcDogNzUlOw0KfQ0KDQouY2FyZC1zZXQgew0KICBkaXNwbGF5OiBmbGV4Ow0KICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KfQ0KDQouY2FyZC1zZXQgPiBkaXYgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4Ow0KICBtYXJnaW46IDBweDsNCiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogcmlkZ2U7DQp9DQoNCi5wY2FyZC1pbmZvIHsNCiAgbWFyZ2luLXRvcDogLjdlbTsNCiAgbWFyZ2luLWJvdHRvbTogLjNlbTsNCn0NCg0KLnBjYXJkLXRpdGxlIHsNCiAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgZm9udC1zaXplOiAuOWVtOw0KICBsaW5lLWhlaWdodDogLjllbTsNCn0NCg0KLnBjYXJkLWRlc2Mgew0KICBmb250LXdlaWdodDogMzAwOw0KICBmb250LXNpemU6IC45ZW07DQogIGxpbmUtaGVpZ2h0OiAuOWVtOyINCiAgZm9udC1zdHlsZTogaXRhbGljOw0KfQ0KDQouZmlndXJlew0KICAgIHdpZHRoOjM1MHB4Ow0KICAgIGhlaWdodDoyMDZweDsNCiAgICBib3JkZXItcmFkaXVzOjUlOw0KICAgIG92ZXJmbG93OmhpZGRlbjsNCn0NCi5jYXJkX2dyb3VwIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQp9DQouY2dfY2FyZCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KfQ0KLmNnX2RldGFpbHMgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMTYwcHg7DQogIGxlZnQ6IDI0MHB4Ow0KfQ0KDQoudmlkZW8tZmxpcHBlZCB7DQogIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgIA0KfQ0KDQouaGMyIHsNCiAgZm9udC1zaXplOiAycmVtOw0KICBtYXJnaW4tYm90dG9tOiAwLjVyZW07DQogIGZvbnQtd2VpZ2h0OiA1MDA7DQogIGxpbmUtaGVpZ2h0OiAxLjI7DQogIG1hcmdpbi10b3A6IDA7DQogIG1heC13aWR0aDogNzUlOw0KfQ0KDQouaGM0IHsNCiAgZm9udC1zaXplOiAxLjVyZW07DQogIG1hcmdpbi1ib3R0b206IDAuNXJlbTsNCiAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgbGluZS1oZWlnaHQ6IDEuMjsNCiAgbWFyZ2luLXRvcDogMDsNCn0NCg0K"},"views":{"layouts":{"main.handlebars":"PCFET0NUWVBFIGh0bWw-DQo8aHRtbD4NCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCiAgICA8dGl0bGU-e3t0aXRsZX19PC90aXRsZT4NCg0KICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgPg0KDQoNCjwvaGVhZD4NCjxib2R5Pg0KDQogICAge3t7Ym9keX19fQ0KDQo8L2JvZHk-DQo8L2h0bWw-","main_bootstrap.handlebars":"PCFET0NUWVBFIGh0bWw-DQo8aHRtbCBsYW5nPSJlbiI-DQogIDxoZWFkPg0KICAgIDwhLS0gUmVxdWlyZWQgbWV0YSB0YWdzIC0tPg0KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iPg0KDQogICAgPCEtLSBCb290c3RyYXAgQ1NTIC0tPg0KICAgIDxsaW5rIGhyZWY9Ii9jc3MvYm9vdHN0cmFwLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4NCiAgICA8bGluayBocmVmPSIvY3NzL2Zvcm0tdmFsaWRhdGlvbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI-DQogICAgPGxpbmsgaHJlZj0iL2Nzcy9ib290c3RyYXAtZm9ybWhlbHBlcnMuY3NzIiByZWw9InN0eWxlc2hlZXQiPg0KICAgIDxsaW5rIGhyZWY9Ii9jc3MvcGVyc29uYWwuY3NzIiByZWw9InN0eWxlc2hlZXQiPg0KICAgIDx0aXRsZT57e3RpdGxlfX08L3RpdGxlPg0KICA8L2hlYWQ-DQogIDxib2R5IGNsYXNzPSJiZy1saWdodCI-DQogICAge3t7Ym9keX19fQ0KDQogICAgPHNjcmlwdCBzcmM9Ii9qcy9qcXVlcnktMy4yLjEuc2xpbS5taW4uanMiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSIvanMvcG9wcGVyLm1pbi5qcyI-PC9zY3JpcHQ-DQogICAgPHNjcmlwdCBzcmM9Ii9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0iL2pzL2Jvb3RzdHJhcC1mb3JtaGVscGVycy5qcyI-PC9zY3JpcHQ-DQogIDwvYm9keT4NCjwvaHRtbD4"}}}