Just paste
Create new paste
Pastes Archive
2022-05-20 13:22:45
copy
raw
download
eyJTT1VSQ0UiOiJSZXBvcnRNYXN0ZXI6IFViaWxsaW5nIDEuMi44IHJldiA4NDcyIiwiUkVQT1JUSUQiOiJybTE2NTI5NjU5OTUiLCJSRVBPUlRDT0RFIjoiUkVQT1JUX05BTUU9XCJcdTA0MWZcdTA0M2VcdTA0NDhcdTA0NDNcdTA0M2EgXHUwNDNlXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDQyIFx1MDQzMiBcdTA0MzFcdTA0NDNcdTA0MzRcdTA0MzhcdTA0M2RcdTA0M2FcdTA0NDNcIlxuUkVQT1JUX1RZUEU9XCJPTkVQVU5DSFwiXG5SRVBPUlRfQUxMT1dBRE1JTlM9XCJcIlxuUkVQT1JUX1FVRVJZPVwicGF5c2VhcmNoYnVpbGRcIlxuUkVQT1JUX09OVEI9XCIxXCJcblJFUE9SVF9BT1REPVwiMVwiXG5SRVBPUlRfSUNPTj1cInJtcGlnLnBuZ1wiXG4iLCJPUFNDUklQVCI6eyJpZCI6IjczIiwiYWxpYXMiOiJwYXlzZWFyY2hidWlsZCIsIm5hbWUiOiJcdTA0MWZcdTA0M2VcdTA0NDhcdTA0NDNcdTA0M2EgXHUwNDNlXHUwNDNmXHUwNDNiXHUwNDMwXHUwNDQyIFx1MDQzMiBcdTA0MzFcdTA0NDNcdTA0MzRcdTA0MzhcdTA0M2RcdTA0M2FcdTA0NDMgKFJNKSIsImNvbnRlbnQiOiIgICAgaWYgKGNmcignUEFZRklORCcpKSB7XHJcblxyXG4gICAgICAgIFwvKipcclxuICAgICAgICAgKiBSZXR1cm5zIGFsbCBvZiBrbm93biBwYXltZW50IHN5c3RlbXMgcGVyY2VudHNcclxuICAgICAgICAgKiBcclxuICAgICAgICAgKiBAcmV0dXJuIGFycmF5XHJcbiAgICAgICAgICpcL1xyXG4gICAgICAgIGZ1bmN0aW9uIHpiX1BheVN5c1BlcmNlbnRHZXRBbGxDdXN0b20oKSB7XHJcbiAgICAgICAgICAgICRyZXN1bHQgPSBhcnJheSgpO1xyXG4gICAgICAgICAgICAkZGF0YV9yYXcgPSB6Yl9TdG9yYWdlR2V0KCdQQVlTWVNQQycpO1xyXG4gICAgICAgICAgICBpZiAoIWVtcHR5KCRkYXRhX3JhdykpIHtcclxuICAgICAgICAgICAgICAgIFwvXC91bnBhY2sgZGF0YVxyXG4gICAgICAgICAgICAgICAgJGRhdGFfcmF3ID0gYmFzZTY0X2RlY29kZSgkZGF0YV9yYXcpO1xyXG4gICAgICAgICAgICAgICAgJHJlc3VsdCA9IHVuc2VyaWFsaXplKCRkYXRhX3Jhdyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBcL1wvZmlyc3QgdXNhZ2VcclxuICAgICAgICAgICAgICAgICRuZXdkYXRhID0gc2VyaWFsaXplKCRyZXN1bHQpO1xyXG4gICAgICAgICAgICAgICAgJG5ld2RhdGEgPSBiYXNlNjRfZW5jb2RlKCRuZXdkYXRhKTtcclxuICAgICAgICAgICAgICAgIHpiX1N0b3JhZ2VTZXQoJ1BBWVNZU1BDJywgJG5ld2RhdGEpO1xyXG4gICAgICAgICAgICAgICAgbG9nX3JlZ2lzdGVyKFwiUEFZU1lTUEMgQ1JFQVRFIEVNUFRZXCIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gKCRyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgXC8qKlxyXG4gICAgICAgICAqIEV4ZWN1dGUgc2VhcmNoIHdpdGggcHJlcGFyZWQgb3B0aW9ucyBhbmQgc2hvd3Mgc2VhcmNoIHJlc3VsdHNcclxuICAgICAgICAgKiBcclxuICAgICAgICAgKiBAcmV0dXJuIHZvaWRcclxuICAgICAgICAgKlwvXHJcbiAgICAgICAgZnVuY3Rpb24gd2ViX1BheW1lbnRTZWFyY2hDdXN0b20oJG1hcmtlcnMsICRqb2lucyA9ICcnKSB7XHJcbiAgICAgICAgICAgIGdsb2JhbCAkdWJpbGxpbmdDb25maWc7XHJcbiAgICAgICAgICAgICRhbHRlcmNmZyA9ICR1YmlsbGluZ0NvbmZpZy0+Z2V0QWx0ZXIoKTtcclxuICAgICAgICAgICAgaWYgKHdmX0NoZWNrUG9zdChhcnJheSgnc2VhcmNodGFibGUnKSkpIHtcclxuICAgICAgICAgICAgICAgIGlmICgkX1BPU1RbJ3NlYXJjaHRhYmxlJ10gPT0gJ3BheW1lbnRzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICR0YWJsZSA9ICdwYXltZW50cyc7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCRfUE9TVFsnc2VhcmNodGFibGUnXSA9PSAnY29ycmVjdGlvbnMnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJHRhYmxlID0gJ3BheW1lbnRzY29ycic7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkdGFibGUgPSAncGF5bWVudHMnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICRxdWVyeSA9IFwiU0VMRUNUICogZnJvbSBgXCIgLiAkdGFibGUgLiBcImBcIjtcclxuXHJcbiAgICAgICAgICAgICRxdWVyeSAuPSAkam9pbnMgLiAkbWFya2VycztcclxuXHJcbiAgICAgICAgICAgICRjc3ZkYXRhID0gJyc7XHJcbiAgICAgICAgICAgICRhbGxwYXltZW50cyA9IHNpbXBsZV9xdWVyeWFsbCgkcXVlcnkpO1xyXG4gICAgICAgICAgICBpZiAoJGFsdGVyY2ZnWydGSU5SRVBfQ09OVFJBQ1QnXSkge1xyXG4gICAgICAgICAgICAgICAgJGFsbGNvbnRyYWN0cyA9IHpiX1VzZXJHZXRBbGxDb250cmFjdHMoKTtcclxuICAgICAgICAgICAgICAgICRhbGxjb250cmFjdHMgPSBhcnJheV9mbGlwKCRhbGxjb250cmFjdHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICgkYWx0ZXJjZmdbJ0ZJTlJFUF9UQVJJRkYnXSkge1xyXG4gICAgICAgICAgICAgICAgJGFsbHRhcmlmZnMgPSB6Yl9UYXJpZmZzR2V0QWxsVXNlcnMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAkYWxscmVhbG5hbWVzID0gemJfVXNlckdldEFsbFJlYWxuYW1lcygpO1xyXG4gICAgICAgICAgICAkYWxsYWRkcmVzcyA9IHpiX0FkZHJlc3NHZXRGdWxsQ2l0eWFkZHJlc3NsaXN0KCk7XHJcbiAgICAgICAgICAgICRhbGx0eXBlcyA9IHpiX0Nhc2hHZXRBbGxDYXNoVHlwZXMoKTtcclxuICAgICAgICAgICAgJGFsbHNlcnZpY2VuYW1lcyA9IHpiX1ZzZXJ2aWNlc0dldEFsbE5hbWVzTGFiZWxlZCgpO1xyXG4gICAgICAgICAgICAkYWxscGF5c3lzcGVyY2VudHMgPSB6Yl9QYXlTeXNQZXJjZW50R2V0QWxsQ3VzdG9tKCk7XHJcblxyXG4gICAgICAgICAgICAkdG90YWxzdW1tID0gMDtcclxuICAgICAgICAgICAgJHBheXN5c3N1bW0gPSAwO1xyXG4gICAgICAgICAgICAkcHJvZml0c3VtbSA9IDA7XHJcbiAgICAgICAgICAgICR0b3RhbGNvdW50ID0gMDtcclxuXHJcbiAgICAgICAgICAgICRjZWxscyA9IHdmX1RhYmxlQ2VsbChfXygnSUQnKSk7XHJcbiAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoX18oJ0RhdGUnKSk7XHJcbiAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoX18oJ0Nhc2gnKSk7XHJcbiAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoX18oJ1BTJScpKTtcclxuICAgICAgICAgICAgJGNlbGxzIC49IHdmX1RhYmxlQ2VsbChfXygnUHJvZml0JykpO1xyXG4gICAgICAgICAgICAkY2VsbHMgLj0gd2ZfVGFibGVDZWxsKF9fKCdMb2dpbicpKTtcclxuICAgICAgICAgICAgaWYgKCRhbHRlcmNmZ1snRklOUkVQX0NPTlRSQUNUJ10pIHtcclxuICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoX18oJ0NvbnRyYWN0JykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoX18oJ0Z1bGwgYWRkcmVzcycpKTtcclxuICAgICAgICAgICAgJGNlbGxzIC49IHdmX1RhYmxlQ2VsbChfXygnUmVhbCBOYW1lJykpO1xyXG4gICAgICAgICAgICBpZiAoJGFsdGVyY2ZnWydGSU5SRVBfVEFSSUZGJ10pIHtcclxuICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoX18oJ1RhcmlmZicpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAkY2VsbHMgLj0gd2ZfVGFibGVDZWxsKF9fKCdQYXltZW50IHR5cGUnKSk7XHJcbiAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoX18oJ05vdGVzJykpO1xyXG4gICAgICAgICAgICAkY2VsbHMgLj0gd2ZfVGFibGVDZWxsKF9fKCdBZG1pbicpKTtcclxuICAgICAgICAgICAgJHJvd3MgPSB3Zl9UYWJsZVJvdygkY2VsbHMsICdyb3cxJyk7XHJcblxyXG5cclxuICAgICAgICAgICAgXC9cL2FkZHJlc3MgY29udGFpbnMgcGF5bWVudHMgcHJlZmlsdGVyXHJcbiAgICAgICAgICAgIGlmICh1YlJvdXRpbmc6OmNoZWNrUG9zdCgndHlwZV9hZGRyZXNzJywgJ3BheWFkZHJjb250YWlucycpKSB7XHJcbiAgICAgICAgICAgICAgICAkYWRkcmVzc0ZpbHRlciA9IHViUm91dGluZzo6cG9zdCgncGF5YWRkcmNvbnRhaW5zJywgJ21yZXMnKTtcclxuICAgICAgICAgICAgICAgIGlmICghZW1wdHkoJGFsbHBheW1lbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRhbGxwYXltZW50cyBhcyAkaW8gPT4gJGVhY2gpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGVhY2hVc2VyQWRkcmVzcyA9IChpc3NldCgkYWxsYWRkcmVzc1skZWFjaFsnbG9naW4nXV0pKSA/ICRhbGxhZGRyZXNzWyRlYWNoWydsb2dpbiddXSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzcG9zKCRlYWNoVXNlckFkZHJlc3MsICRhZGRyZXNzRmlsdGVyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJGFsbHBheW1lbnRzWyRpb10pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWVtcHR5KCRhbGxwYXltZW50cykpIHtcclxuICAgICAgICAgICAgICAgIGlmICgkYWx0ZXJjZmdbJ0ZJTlJFUF9UQVJJRkYnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICRjc3ZUYXJpZmZDb2x1bW4gPSAnOycgLiBfXygnVGFyaWZmJyk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICRjc3ZUYXJpZmZDb2x1bW4gPSAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICRjc3ZkYXRhIC49IF9fKCdJRCcpIC4gJzsnIC4gX18oJ0RhdGUnKSAuICc7JyAuIF9fKCdDYXNoJykgLiAnOycgLiBfXygnUFMlJykgLiAnOycgLiBfXygnUHJvZml0JykgLiAnOycgLiBfXygnTG9naW4nKSAuICc7JyAuIF9fKCdGdWxsIGFkZHJlc3MnKSAuICc7JyAuIF9fKCdSZWFsIE5hbWUnKSAuICRjc3ZUYXJpZmZDb2x1bW4gLiAnOycgLiBfXygnUGF5bWVudCB0eXBlJykgLiAnOycgLiBfXygnTm90ZXMnKSAuICc7JyAuIF9fKCdBZG1pbicpIC4gXCJcXG5cIjtcclxuICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRhbGxwYXltZW50cyBhcyAkaW8gPT4gJGVhY2gpIHtcclxuICAgICAgICAgICAgICAgICAgICAkY2VsbHMgPSB3Zl9UYWJsZUNlbGwoJGVhY2hbJ2lkJ10pO1xyXG4gICAgICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoJGVhY2hbJ2RhdGUnXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJGNlbGxzIC49IHdmX1RhYmxlQ2VsbCgkZWFjaFsnc3VtbSddKTtcclxuICAgICAgICAgICAgICAgICAgICBcL1wvZGV0ZWN0aW5nIHBheW1lbnRzeXN0ZW0gYW5kIGNhbGMgcGVyY2VudFxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkYWxscGF5c3lzcGVyY2VudHNbJGVhY2hbJ25vdGUnXV0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyUGMgPSAkYWxscGF5c3lzcGVyY2VudHNbJGVhY2hbJ25vdGUnXV1bJ3BlcmNlbnQnXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHJhd1N1bW0gPSAkZWFjaFsnc3VtbSddO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkcGF5U3lzUGMgPSAoJHJhd1N1bW0gXC8gMTAwKSAqICRjdXJyUGM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRvdXJQcm9maXQgPSAkcmF3U3VtbSAtICRwYXlTeXNQYztcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkcGF5U3lzUGMgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkb3VyUHJvZml0ID0gJGVhY2hbJ3N1bW0nXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJGNlbGxzIC49IHdmX1RhYmxlQ2VsbCgkcGF5U3lzUGMpO1xyXG4gICAgICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoJG91clByb2ZpdCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwod2ZfTGluaygnP21vZHVsZT11c2VycHJvZmlsZSZ1c2VybmFtZT0nIC4gJGVhY2hbJ2xvZ2luJ10sIHdlYl9wcm9maWxlX2ljb24oKSAuICcgJyAuICRlYWNoWydsb2dpbiddLCBmYWxzZSwgJycpKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoJGFsdGVyY2ZnWydGSU5SRVBfQ09OVFJBQ1QnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY2VsbHMgLj0gd2ZfVGFibGVDZWxsKEAkYWxsY29udHJhY3RzWyRlYWNoWydsb2dpbiddXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEAkcGF5bWVudFJlYWxuYW1lID0gJGFsbHJlYWxuYW1lc1skZWFjaFsnbG9naW4nXV07XHJcbiAgICAgICAgICAgICAgICAgICAgQCRwYXltZW50Q2FzaFR5cGUgPSBfXygkYWxsdHlwZXNbJGVhY2hbJ2Nhc2h0eXBlaWQnXV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIEAkcGF5bWVudEFkZHJlc3MgPSAkYWxsYWRkcmVzc1skZWFjaFsnbG9naW4nXV07XHJcbiAgICAgICAgICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoJHBheW1lbnRBZGRyZXNzKTtcclxuICAgICAgICAgICAgICAgICAgICAkY2VsbHMgLj0gd2ZfVGFibGVDZWxsKCRwYXltZW50UmVhbG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgkYWx0ZXJjZmdbJ0ZJTlJFUF9UQVJJRkYnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAJHVzZXJUYXJpZmYgPSAkYWxsdGFyaWZmc1skZWFjaFsnbG9naW4nXV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoJHVzZXJUYXJpZmYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY3N2VGFyaWZmID0gJzsnIC4gJHVzZXJUYXJpZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGNzdlRhcmlmZiA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAkY2VsbHMgLj0gd2ZfVGFibGVDZWxsKCRwYXltZW50Q2FzaFR5cGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIFwvXC9wYXltZW50IG5vdGVzIHRyYW5zbGF0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRhbHRlcmNmZ1snVFJBTlNMQVRFX1BBWU1FTlRTX05PVEVTJ10pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHBheW5vdGUgPSB6Yl9UcmFuc2xhdGVQYXltZW50Tm90ZSgkZWFjaFsnbm90ZSddLCAkYWxsc2VydmljZW5hbWVzKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkcGF5bm90ZSA9ICRlYWNoWydub3RlJ107XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoJHBheW5vdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICRjZWxscyAuPSB3Zl9UYWJsZUNlbGwoJGVhY2hbJ2FkbWluJ10pO1xyXG4gICAgICAgICAgICAgICAgICAgICRyb3dzIC49IHdmX1RhYmxlUm93KCRjZWxscywgJ3JvdzMnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgXC9cL2NhbGN1bGF0aW5nIHRvdGFsc1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICgkZWFjaFsnc3VtbSddID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkdG90YWxzdW1tID0gJHRvdGFsc3VtbSArICRlYWNoWydzdW1tJ107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICR0b3RhbGNvdW50Kys7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoJHBheVN5c1BjID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkcGF5c3lzc3VtbSA9ICRwYXlzeXNzdW1tICsgJHBheVN5c1BjO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRvdXJQcm9maXQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9maXRzdW1tID0gJHByb2ZpdHN1bW0gKyAkb3VyUHJvZml0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAkY3N2U3VtbSA9IHN0cl9yZXBsYWNlKCcuJywgJywnLCAkZWFjaFsnc3VtbSddKTtcclxuICAgICAgICAgICAgICAgICAgICAkY3N2ZGF0YSAuPSAkZWFjaFsnaWQnXSAuICc7JyAuICRlYWNoWydkYXRlJ10gLiAnOycgLiAkY3N2U3VtbSAuICc7JyAuICRwYXlTeXNQYyAuICc7JyAuICRvdXJQcm9maXQgLiAnOycgLiAkZWFjaFsnbG9naW4nXSAuICc7JyAuICRwYXltZW50QWRkcmVzcyAuICc7JyAuICRwYXltZW50UmVhbG5hbWUgLiAkY3N2VGFyaWZmIC4gJzsnIC4gJHBheW1lbnRDYXNoVHlwZSAuICc7JyAuICRwYXlub3RlIC4gJzsnIC4gJGVhY2hbJ2FkbWluJ10gLiBcIlxcblwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwvXC9zYXZpbmcgcmVwb3J0IGZvciBmdXR1cmUgZG93bmxvYWRcclxuICAgICAgICAgICAgaWYgKCFlbXB0eSgkY3N2ZGF0YSkpIHtcclxuICAgICAgICAgICAgICAgICRjc3ZTYXZlTmFtZSA9ICdleHBvcnRzXC9wYXlmaW5kXycgLiBkYXRlKFwiWS1tLWRfSF9pX3NcIikgLiAnLmNzdic7XHJcbiAgICAgICAgICAgICAgICAkY3N2U2F2ZU5hbWVFbmMgPSBiYXNlNjRfZW5jb2RlKCRjc3ZTYXZlTmFtZSk7XHJcbiAgICAgICAgICAgICAgICBmaWxlX3B1dF9jb250ZW50cygkY3N2U2F2ZU5hbWUsICRjc3ZkYXRhKTtcclxuICAgICAgICAgICAgICAgICRjc3ZEb3dubG9hZExpbmsgPSB3Zl9MaW5rKCc/bW9kdWxlPXJlcG9ydG1hc3RlciZ2aWV3PXJtMTY1Mjk2NTk5NSZkb3dubG9hZGNzdj0nIC4gJGNzdlNhdmVOYW1lRW5jLCB3Zl9pbWcoJ3NraW5zXC9leGNlbC5naWYnLCBfXygnRXhwb3J0JykpLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkY3N2RG93bmxvYWRMaW5rID0gJyc7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICRyZXN1bHQgPSB3Zl9UYWJsZUJvZHkoJHJvd3MsICcxMDAlJywgJzAnLCAnc29ydGFibGUnKTtcclxuXHJcbiAgICAgICAgICAgIFwvXC9hZGRpdGlvbmFsIHRvdGFsIGNvdW50ZXJzXHJcbiAgICAgICAgICAgICRyZXN1bHQgLj0gd2ZfdGFnKCdkaXYnLCBmYWxzZSwgJ2dsYW1vdXInKSAuIF9fKCdDb3VudCcpIC4gJzogJyAuICR0b3RhbGNvdW50IC4gd2ZfdGFnKCdkaXYnLCB0cnVlKTtcclxuICAgICAgICAgICAgJHJlc3VsdCAuPSB3Zl90YWcoJ2RpdicsIGZhbHNlLCAnZ2xhbW91cicpIC4gX18oJ1RvdGFsIHBheW1lbnRzJykgLiAnOiAnIC4gJHRvdGFsc3VtbSAuIHdmX3RhZygnZGl2JywgdHJ1ZSk7XHJcbiAgICAgICAgICAgICRyZXN1bHQgLj0gd2ZfdGFnKCdkaXYnLCBmYWxzZSwgJ2dsYW1vdXInKSAuIF9fKCdQYXltZW50IHN5c3RlbXMgJScpIC4gJzogJyAuICRwYXlzeXNzdW1tIC4gd2ZfdGFnKCdkaXYnLCB0cnVlKTtcclxuICAgICAgICAgICAgJHJlc3VsdCAuPSB3Zl90YWcoJ2RpdicsIGZhbHNlLCAnZ2xhbW91cicpIC4gX18oJ091ciBmaW5hbCBwcm9maXQnKSAuICc6ICcgLiAkcHJvZml0c3VtbSAuIHdmX3RhZygnZGl2JywgdHJ1ZSk7XHJcbiAgICAgICAgICAgICRyZXN1bHQgLj0gd2ZfQ2xlYW5EaXYoKTtcclxuXHJcbiAgICAgICAgICAgIHNob3dfd2luZG93KF9fKCdQYXltZW50cyBmb3VuZCcpIC4gJyAnIC4gJGNzdkRvd25sb2FkTGluaywgJHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBcLyoqXHJcbiAgICAgICAgICogUmV0dXJucyBjdXN0b20gcGF5bWVudHMgc2VhcmNoIGZvcm0gd2l0aCBidWlsZC1zZWxlY3Rpb24gd2l6YXJkXHJcbiAgICAgICAgICogXHJcbiAgICAgICAgICogQHJldHVybiBzdHJpbmdcclxuICAgICAgICAgKlwvXHJcbiAgICAgICAgZnVuY3Rpb24gd2ViX1BheW1lbnRTZWFyY2hGb3JtQ3VzdG9tKCkge1xyXG4gICAgICAgICAgICAkcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgICAgIGlmICh1YlJvdXRpbmc6OmNoZWNrUG9zdChhcnJheSgnZGF0ZWZyb20nLCAnZGF0ZXRvJykpKSB7XHJcbiAgICAgICAgICAgICAgICAkY3VyZGF0ZSA9IHViUm91dGluZzo6cG9zdCgnZGF0ZXRvJyk7XHJcbiAgICAgICAgICAgICAgICAkeWVzdGVyZGF5ID0gdWJSb3V0aW5nOjpwb3N0KCdkYXRlZnJvbScpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJGN1cmRhdGUgPSBkYXRlKFwiWS1tLWRcIiwgdGltZSgpICsgNjAgKiA2MCAqIDI0KTtcclxuICAgICAgICAgICAgICAgICR5ZXN0ZXJkYXkgPSBjdXJkYXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAkaW5wdXRzID0gJyc7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXViUm91dGluZzo6Y2hlY2tQb3N0KCdjaXR5c2VsJykpIHtcclxuICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ViX0NpdHlTZWxlY3RvckFjKCkgLiAnICcgLiBfXygnQ2l0eScpIC4gd2ZfZGVsaW1pdGVyKDApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJGNpdHlJZCA9IHViUm91dGluZzo6cG9zdCgnY2l0eXNlbCcsICdpbnQnKTtcclxuICAgICAgICAgICAgICAgICRjaXR5RGF0YSA9IHpiX0FkZHJlc3NHZXRDaXR5RGF0YSgkY2l0eUlkKTtcclxuICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ZfSGlkZGVuSW5wdXQoJ2NpdHlzZWwnLCAkY2l0eUlkKTtcclxuICAgICAgICAgICAgICAgIGlmICghdWJSb3V0aW5nOjpwb3N0KCdzdHJlZXRzZWwnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gJGNpdHlEYXRhWydjaXR5bmFtZSddIC4gJyAnOyBcL1wvYWRkcmVzcyBzdHJpbmcgbGFiZWxcclxuICAgICAgICAgICAgICAgICAgICAkaW5wdXRzIC49IHdlYl9TdHJlZXRTZWxlY3RvckFjKCRjaXR5SWQpIC4gJyAnIC4gX18oJ1N0cmVldCcpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAkc3RyZWV0SWQgPSB1YlJvdXRpbmc6OnBvc3QoJ3N0cmVldHNlbCcsICdpbnQnKTtcclxuICAgICAgICAgICAgICAgICAgICAkYWxsU3RyZWV0c0RhdGEgPSB6Yl9BZGRyZXNzR2V0U3RyZWV0c0RhdGFBc3NvYygpO1xyXG4gICAgICAgICAgICAgICAgICAgICRzdHJlZXREYXRhID0gJGFsbFN0cmVldHNEYXRhWyRzdHJlZXRJZF07XHJcbiAgICAgICAgICAgICAgICAgICAgJGlucHV0cyAuPSAkY2l0eURhdGFbJ2NpdHluYW1lJ10gLiAnICcgLiAkc3RyZWV0RGF0YVsnc3RyZWV0bmFtZSddIC4gJyAnOyBcL1wvYWRkcmVzcyBzdHJpbmcgbGFiZWxcclxuICAgICAgICAgICAgICAgICAgICAkaW5wdXRzIC49IHdmX0hpZGRlbklucHV0KCdzdHJlZXRzZWwnLCAkc3RyZWV0SWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdWJSb3V0aW5nOjpjaGVja1Bvc3QoJ2J1aWxkc2VsJykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0cyAuPSB3ZWJfQnVpbGRTZWxlY3RvckFjKCRzdHJlZXRJZCkgLiAnICcgLiBfXygnQnVpbGQnKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkYnVpbGRJZCA9IHViUm91dGluZzo6cG9zdCgnYnVpbGRzZWwnLCAnaW50Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRidWlsZERhdGEgPSB6Yl9BZGRyZXNzR2V0QnVpbGREYXRhKCRidWlsZElkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0cyAuPSAkYnVpbGREYXRhWydidWlsZG51bSddIC4gJyAnIC4gd2ZfaW1nKCdza2luc1wvaWNvbl9vay5naWYnKTsgXC9cL2FkZHJlc3Mgc3RyaW5nIGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ZfSGlkZGVuSW5wdXQoJ2J1aWxkc2VsJywgJGJ1aWxkSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkYWRkcmVzc01hc2sgPSB0cmltKCRjaXR5RGF0YVsnY2l0eW5hbWUnXSkgLiAnICcgLiB0cmltKCRzdHJlZXREYXRhWydzdHJlZXRuYW1lJ10pIC4gJyAnIC4gdHJpbSgkYnVpbGREYXRhWydidWlsZG51bSddKSAuICdcLyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ZfSGlkZGVuSW5wdXQoJ3R5cGVfYWRkcmVzcycsICd0cnVlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ZfSGlkZGVuSW5wdXQoJ3BheWFkZHJjb250YWlucycsICRhZGRyZXNzTWFzayk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXRzIC49IHdmX2RlbGltaXRlcigxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0cyAuPSBfXygnRGF0ZScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXRzIC49IHdmX0RhdGVQaWNrZXJQcmVzZXQoJ2RhdGVmcm9tJywgJHllc3RlcmRheSkgLiAnICcgLiBfXygnRnJvbScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXRzIC49IHdmX0RhdGVQaWNrZXJQcmVzZXQoJ2RhdGV0bycsICRjdXJkYXRlKSAuICcgJyAuIF9fKCdUbycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXRzIC49IHdmX2RlbGltaXRlcigwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ZfSGlkZGVuSW5wdXQoJ2Rvc2VhcmNoJywgJ3RydWUnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0cyAuPSB3Zl9kZWxpbWl0ZXIoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ZfU3VibWl0KF9fKCdTZWFyY2gnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwvXC9jbGVhbiBmb3JtIGNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0cyAuPSB3Zl9kZWxpbWl0ZXIoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dHMgLj0gd2ZfTGluaygnP21vZHVsZT1yZXBvcnRtYXN0ZXImdmlldz1ybTE2NTI5NjU5OTUnLCB3Zl9pbWcoJ3NraW5zXC9pY29uX2NsZWFudXAucG5nJykgLiAnICcgLiBfXygnQ2xlYW51cCcpLCBmYWxzZSwgJ3ViQnV0dG9uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgJHJlc3VsdCAuPSB3Zl9Gb3JtKCcnLCAnUE9TVCcsICRpbnB1dHMsICdnbGFtb3VyJyk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4oJHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBcL1wvZG93bmxvYWRpbmcgcmVwb3J0IGFzIGNzdlxyXG4gICAgICAgIGlmICh1YlJvdXRpbmc6OmNoZWNrR2V0KCdkb3dubG9hZGNzdicpKSB7XHJcbiAgICAgICAgICAgIHpiX0Rvd25sb2FkRmlsZShiYXNlNjRfZGVjb2RlKHViUm91dGluZzo6Z2V0KCdkb3dubG9hZGNzdicpLCAnZXhjZWwnKSk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgIFwvXC9yZW5kZXIgb3B0aW9ucyBmb3JtXHJcbiAgICAgICAgc2hvd193aW5kb3coX18oJ1BheW1lbnQgc2VhcmNoJyksIHdlYl9QYXltZW50U2VhcmNoRm9ybUN1c3RvbSgpKTtcclxuXHJcbiAgICAgICAgXC9cL2ZpbHRlcmluZyBzb21lIHJlc3VsdHNcclxuICAgICAgICBpZiAodWJSb3V0aW5nOjpjaGVja1Bvc3QoJ2Rvc2VhcmNoJykpIHtcclxuICAgICAgICAgICAgJG1hcmtlcnMgPSAnJztcclxuICAgICAgICAgICAgJGpvaW5zID0gJyc7XHJcblxyXG4gICAgICAgICAgICBcL1wvZGF0ZSBzZWFyY2hcclxuICAgICAgICAgICAgaWYgKHViUm91dGluZzo6Y2hlY2tQb3N0KGFycmF5KCdkYXRlZnJvbScsICdkYXRldG8nLCAndHlwZV9hZGRyZXNzJywgJ3BheWFkZHJjb250YWlucycpKSkge1xyXG4gICAgICAgICAgICAgICAgJGRhdGVmcm9tID0gdWJSb3V0aW5nOjpwb3N0KCdkYXRlZnJvbScsICdtcmVzJyk7XHJcbiAgICAgICAgICAgICAgICAkZGF0ZXRvID0gdWJSb3V0aW5nOjpwb3N0KCdkYXRldG8nLCAnbXJlcycpO1xyXG4gICAgICAgICAgICAgICAgJG1hcmtlcnMgLj0gXCJXSEVSRSBgZGF0ZWAgQkVUV0VFTiAnXCIgLiAkZGF0ZWZyb20gLiBcIicgQU5EICdcIiAuICRkYXRldG8gLiBcIicgXCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIFwvXC9vbmx5IHBvc2l0aXZlIHBheW1lbnRzXHJcbiAgICAgICAgICAgICRtYXJrZXJzIC49IFwiQU5EIGBzdW1tYCA+JzAnIFwiO1xyXG5cclxuICAgICAgICAgICAgXC9cL3JlbmRlcmluZyByZXN1bHRzXHJcbiAgICAgICAgICAgIHdlYl9QYXltZW50U2VhcmNoQ3VzdG9tKCRtYXJrZXJzLCAkam9pbnMpO1xyXG4gICAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2hvd19lcnJvcihfXygnQWNjZXNzIGRlbmllZCcpKTtcclxuICAgIH0ifX0=
↑