WOL Photo Vault V1 Assets Data TEST (do not delete)

eyJjc3MiOiAiLyogV09MIFBob3RvIFZhdWx0IC0gd2lkZ2V0IHN0eWxlcyAoY2FtcHMud29sLm9yZylcbiAgIFBvcnRlZCBmcm9tIHRoZSBDbGF1ZGUgQXJ0aWZhY3QgcHJvdG90eXBlIChyZXNvdXJjZXMvc2NyaXB0cy9idWlsZF93b2xfcGhvdG9fdmF1bHQucHkpLFxuICAgd2l0aCBvbmUga2V5IGNoYW5nZTogLnRodW1iIGltZyBub3cgcG9pbnRzIGF0IGEgcmVhbCBGbGlja3ItaG9zdGVkIFVSTCAoZmV0Y2hlZFxuICAgZHluYW1pY2FsbHkpLCBub3QgYW4gZW1iZWRkZWQgYmFzZTY0IGRhdGEgVVJJIC0gdGhhdCdzIHdoYXQgcmVtb3ZlcyB0aGUgMTZNQiBzaXplXG4gICBjZWlsaW5nIHRoZSBBcnRpZmFjdCB2ZXJzaW9uIGhpdC4gQnJhbmQgdG9rZW5zIHBlciBjb250ZXh0L2JyYW5kLm1kLiAqL1xuI3dwdi1yb290IHtcbiAgLS13b2wtZGFyay1ibHVlOiAjMDA0ZjY4OyAtLXdvbC1saWdodC1ibHVlOiAjNzNEMUY1O1xuICAtLXdvbC1ibGFjay05MDogIzQxNDA0MjsgLS13b2wtYmxhY2stNTA6ICM5Mzk1OTg7IC0td29sLWJsYWNrLTEwOiAjZTZlN2U4O1xuICAtLWJnOiAjZjdmOWZhOyAtLXN1cmZhY2U6ICNmZmZmZmY7IC0taW5rOiB2YXIoLS13b2wtYmxhY2stOTApOyAtLW11dGVkOiB2YXIoLS13b2wtYmxhY2stNTApO1xuICAtLWhhaXJsaW5lOiB2YXIoLS13b2wtYmxhY2stMTApOyAtLWFjY2VudDogdmFyKC0td29sLWRhcmstYmx1ZSk7IC0tYWNjZW50LXNvZnQ6ICNlM2YwZjU7IC0tYWNjZW50LWluazogdmFyKC0td29sLWRhcmstYmx1ZSk7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1pbmspO1xufVxuI3dwdi1yb290ICogeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4jd3B2LXJvb3QgLndwdi1oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IHotaW5kZXg6IDU7IGJhY2tncm91bmQ6IHZhcigtLXdvbC1kYXJrLWJsdWUpO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0td29sLWxpZ2h0LWJsdWUpOyBwYWRkaW5nOiAxOHB4IDIwcHggMTZweDsgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG59XG4jd3B2LXJvb3QgLndwdi1icmFuZC1yb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiN3cHYtcm9vdCAud3B2LWxvZ28geyBoZWlnaHQ6IDI2cHg7IH1cbiN3cHYtcm9vdCAud3B2LXRpdGxlIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAyMHB4OyBtYXJnaW46IDA7IGNvbG9yOiAjZmZmOyB9XG4jd3B2LXJvb3QgLndwdi1zdWJ0aXRsZSB7IGNvbG9yOiB2YXIoLS13b2wtbGlnaHQtYmx1ZSk7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luOiAwIDAgMTJweDsgfVxuI3dwdi1yb290IC53cHYtc3VidGl0bGUgLndwdi1jb3VudCB7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogNzAwOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB9XG4jd3B2LXJvb3QgLndwdi1jYW1wLXRhYnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4OyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4jd3B2LXJvb3QgLndwdi1jYW1wLXRhYiB7XG4gIGZvbnQtc2l6ZTogMTIuNXB4OyBmb250LXdlaWdodDogNjAwOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7IGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yNSk7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiA2cHggMTJweDsgY3Vyc29yOiBwb2ludGVyO1xufVxuI3dwdi1yb290IC53cHYtY2FtcC10YWIuYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0td29sLWxpZ2h0LWJsdWUpOyBib3JkZXItY29sb3I6IHZhcigtLXdvbC1saWdodC1ibHVlKTsgY29sb3I6IHZhcigtLXdvbC1kYXJrLWJsdWUpOyB9XG4jd3B2LXJvb3QgLndwdi1jYW1wLWNvdW50IHsgb3BhY2l0eTogLjg7IGZvbnQtc2l6ZTogMTFweDsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfVxuI3dwdi1yb290IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA0MjBweDsgcGFkZGluZzogOXB4IDEycHg7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjk1KTsgY29sb3I6IHZhcigtLXdvbC1ibGFjay05MCk7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbiN3cHYtcm9vdCAud3B2LWZpbHRlcnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfVxuI3dwdi1yb290IC53cHYtZmlsdGVyLWdyb3VwIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgfVxuI3dwdi1yb290IC53cHYtZmlsdGVyLWxhYmVsIHsgZm9udC1zaXplOiAxMC41cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsgY29sb3I6IHZhcigtLXdvbC1saWdodC1ibHVlKTsgd2lkdGg6IDY0cHg7IGZsZXgtc2hyaW5rOiAwOyB9XG4jd3B2LXJvb3QgLndwdi1jaGlwIHtcbiAgZm9udC1zaXplOiAxMS41cHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA4KTsgY29sb3I6ICNmZmY7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDRweCAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7XG59XG4jd3B2LXJvb3QgLndwdi1jaGlwLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLXdvbC1saWdodC1ibHVlKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS13b2wtbGlnaHQtYmx1ZSk7IGNvbG9yOiB2YXIoLS13b2wtZGFyay1ibHVlKTsgfVxuI3dwdi1yb290IC53cHYtY2hpcC1jb3VudCB7IG9wYWNpdHk6IC43NTsgZm9udC1zaXplOiAxMHB4OyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB9XG4jd3B2LXJvb3QgLndwdi1jbGVhci1idG4geyBmb250LXNpemU6IDExLjVweDsgY29sb3I6IHZhcigtLXdvbC1saWdodC1ibHVlKTsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiA0cHggMnB4OyB9XG4jd3B2LXJvb3QgLndwdi1tYWluIHsgcGFkZGluZzogMjBweDsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyB9XG4jd3B2LXJvb3QgLndwdi1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpOyBnYXA6IDE0cHg7IH1cbiN3cHYtcm9vdCAud3B2LWNhcmQgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDEycHg7IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1oYWlybGluZSk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDEwcHg7IH1cbiN3cHYtcm9vdCAud3B2LXRodW1iIHsgZGlzcGxheTogYmxvY2s7IGZsZXgtc2hyaW5rOiAwOyB3aWR0aDogOTZweDsgaGVpZ2h0OiA5NnB4OyBib3JkZXItcmFkaXVzOiA2cHg7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQ6IHZhcigtLWhhaXJsaW5lKTsgfVxuI3dwdi1yb290IC53cHYtdGh1bWIgaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IGRpc3BsYXk6IGJsb2NrOyB9XG4jd3B2LXJvb3QgLndwdi1ub2ltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBmb250LXNpemU6IDEwcHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNHB4OyB9XG4jd3B2LXJvb3QgLndwdi1tZXRhIHsgbWluLXdpZHRoOiAwOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDVweDsgfVxuI3dwdi1yb290IC53cHYtcGlkLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyBmbGV4LXdyYXA6IHdyYXA7IH1cbiN3cHYtcm9vdCAud3B2LXBpZCB7IGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgbW9ub3NwYWNlOyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuI3dwdi1yb290IC53cHYtY2FtcC1iYWRnZSB7IGZvbnQtc2l6ZTogMTBweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IC4wM2VtOyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTsgYm9yZGVyLXJhZGl1czogNHB4OyBwYWRkaW5nOiAxcHggNnB4OyB9XG4jd3B2LXJvb3QgLndwdi1jYXB0aW9uIHsgbWFyZ2luOiAwOyBmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxLjQ1OyBjb2xvcjogdmFyKC0taW5rKTsgfVxuI3dwdi1yb290IC53cHYtdGFncyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA0cHg7IH1cbiN3cHYtcm9vdCAud3B2LXRhZyB7IGZvbnQtc2l6ZTogMTAuNXB4OyBsZXR0ZXItc3BhY2luZzogLjAyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspOyBib3JkZXItcmFkaXVzOiA0cHg7IHBhZGRpbmc6IDJweCA2cHg7IH1cbiN3cHYtcm9vdCAud3B2LWVtcHR5IHsgZGlzcGxheTogbm9uZTsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAxM3B4OyBwYWRkaW5nOiA0MHB4IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuI3dwdi1yb290IC53cHYtZm9vdGVyIHsgcGFkZGluZzogMTRweCAyMHB4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDExLjVweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWhhaXJsaW5lKTsgfVxuIiwgImpzIjogIi8qIFdPTCBQaG90byBWYXVsdCAtIHdpZGdldCBsb2dpYyAoY2FtcHMud29sLm9yZylcbiAgIFBvcnRlZCBmcm9tIHJlc291cmNlcy9zY3JpcHRzL2J1aWxkX3dvbF9waG90b192YXVsdC5weSdzIEFydGlmYWN0IHByb3RvdHlwZS5cbiAgIEZldGNoZXMgdGhlIHBob3RvIGRhdGFzZXQgKGNhcHRpb25zL3RhZ3MvYWN0aXZpdGllcy9jYW1wL3RodW1iIFVSTCAtIG5vIGltYWdlXG4gICBieXRlcykgZnJvbSBhIHNlcGFyYXRlIFdQIGRhdGEgcGFnZSwgYW5kIHBvaW50cyBldmVyeSA8aW1nPiBhdCB0aGUgcmVhbFxuICAgRmxpY2tyLWhvc3RlZCB0aHVtYm5haWwgVVJMIGFscmVhZHkgcmVzb2x2ZWQgaW50byB0aGF0IGRhdGFzZXQgYnlcbiAgIHBob3RvX3ZhdWx0X3N5bmMucHkuIFRoaXMgaXMgd2hhdCByZW1vdmVzIHRoZSBBcnRpZmFjdCB2ZXJzaW9uJ3MgMTZNQiBzaXplXG4gICBjZWlsaW5nIC0gcmVhbCB0aHVtYm5haWwgaG9zdGluZyB2aWEgRmxpY2tyJ3Mgb3duIENETiwgbm90IGVtYmVkZGVkIGJhc2U2NC5cblxuICAgSW5qZWN0ZWQgaW50byB0aGUgcGFnZSBieSBwaG90by12YXVsdC12MS1zdHViLmh0bWwsIHdoaWNoIGZldGNoZXMgdGhpcyBmaWxlXG4gICAoYW5kIHRoZSBDU1MpIGZyb20gdGhlIFwiYXNzZXRzXCIgV1AgZGF0YSBwYWdlLiBUaGlzIGZpbGUgdGhlbiBkb2VzIGl0cyBvd25cbiAgIGZldGNoIG9mIHRoZSBcImRhdGFcIiBXUCBwYWdlIGZvciB0aGUgYWN0dWFsIHBob3RvIGRhdGFzZXQuICovXG4oZnVuY3Rpb24gKCkge1xuICB2YXIgU0lURV9VUkwgPSBcImh0dHBzOi8vY2FtcHMud29sLm9yZ1wiO1xuICB2YXIgREFUQV9QQUdFX0lEID0gXCIxMjc0MlwiOyAvLyBXT0wgUGhvdG8gVmF1bHQgVjEgUGhvdG8gRGF0YSBURVNUXG5cbiAgLy8gU2FtZSB0YXhvbm9teSBhcyBDQVRFR09SWV9NQVAgLyBBQ1RJVklUWV9UQUdTIGluIGJ1aWxkX3dvbF9waG90b192YXVsdC5weSAtXG4gIC8vIGtlZXAgdGhlc2UgdHdvIGZpbGVzIGluIHN5bmMgaWYgdGhlIGFjdGl2aXR5IGxpc3QgZXZlciBjaGFuZ2VzLlxuICB2YXIgQ0FURUdPUllfTUFQID0ge1xuICAgIFwicG9ydHJhaXRcIjogXCJTdWJqZWN0XCIsIFwic21hbGwtZ3JvdXBcIjogXCJTdWJqZWN0XCIsIFwid2lkZS1ncm91cFwiOiBcIlN1YmplY3RcIixcbiAgICBcImluZG9vclwiOiBcIlNldHRpbmdcIiwgXCJvdXRkb29yXCI6IFwiU2V0dGluZ1wiLFxuICAgIFwiam95ZnVsXCI6IFwiTW9vZFwiLCBcImNhbmRpZFwiOiBcIk1vb2RcIiwgXCJwb3NlZFwiOiBcIk1vb2RcIixcbiAgICBcImZlbGxvd3NoaXBcIjogXCJUeXBlXCIsIFwid29yc2hpcFwiOiBcIlR5cGVcIiwgXCJzZXJ2aWNlXCI6IFwiVHlwZVwiLCBcInJlY3JlYXRpb25cIjogXCJUeXBlXCIsIFwiZGluaW5nXCI6IFwiVHlwZVwiXG4gIH07XG4gIHZhciBBQ1RJVklUWV9UQUdTID0gW1xuICAgIFwiS2F5YWtpbmdcIiwgXCJDYW5vZWluZ1wiLCBcIlN3aW1taW5nXCIsIFwiV2F0ZXIgU2xpZGVcIiwgXCJUdWJpbmdcIiwgXCJGaXNoaW5nXCIsIFwiWmlwIExpbmVcIixcbiAgICBcIkNsaW1iaW5nIFRvd2VyXCIsIFwiTW91bnRhaW4vVHJhaWwgQmlraW5nXCIsIFwiQXJjaGVyeVwiLCBcIkRpc2MgR29sZlwiLCBcIkhpZ2ggUm9wZXMgQ291cnNlXCIsXG4gICAgXCJMb3cgUm9wZXMgQ291cnNlXCIsIFwiTmluamEgV2FycmlvciBDb3Vyc2VcIiwgXCJBeGUgVGhyb3dpbmdcIiwgXCJHbyBLYXJ0cyAvIFBlZGFsIEthcnRzXCIsXG4gICAgXCJGYXQgQmlrZXNcIiwgXCJQZW5ndWluIFNsaWRlXCIsIFwiVm9sbGV5YmFsbFwiLCBcIkJhc2tldGJhbGxcIiwgXCJEb2RnZWJhbGxcIiwgXCJTb2NjZXJcIixcbiAgICBcIkdhR2EgQmFsbFwiLCBcIlBhaW50YmFsbFwiLCBcIkxhc2VyIFRhZ1wiLCBcIkNvbG9yIFdhclwiLCBcIlRlbm5pc1wiLCBcIlBpY2tsZWJhbGxcIixcbiAgICBcIlNodWZmbGVib2FyZFwiLCBcIkJlYWNoIFZvbGxleWJhbGxcIiwgXCJTaWxlbnQgRGlzY29cIiwgXCJDYW1wZmlyZVwiLCBcIkNvbWVkeSBOaWdodFwiLFxuICAgIFwiQ3Jvc3MgVHlpbmdcIiwgXCJCZWxsIFJpbmdpbmdcIiwgXCJXb3JzaGlwIFNlcnZpY2VcIiwgXCJEZWNpc2lvbiBUaW1lXCIsIFwiUXVpZXQgVGltZVwiLFxuICAgIFwiUmVnaXN0cmF0aW9uXCIsIFwiR3JvdXAgUGljdHVyZXNcIiwgXCJQb3RsdWNrXCIsXG4gICAgXCJBcnRzICYgQ3JhZnRzXCIsIFwiUGV0dGluZyBab29cIiwgXCJQb255IFJpZGVzXCIsIFwiUkMgVmVoaWNsZXNcIiwgXCJTcG9ydHMgQ29tcGV0aXRpb25zXCIsXG4gICAgXCJCZWFjaCBBY3Rpdml0aWVzXCIsIFwiTXVkIFBpdFwiLCBcIkNhcnBldCBCYWxsXCIsIFwiUm9kZW9cIiwgXCJUcmFpbCBSaWRlc1wiLCBcIlJpZmxlIFJhbmdlXCIsXG4gICAgXCJIb3JzZW1hbnNoaXBcIiwgXCJQYWRkbGVib2FyZGluZ1wiLCBcIlJvcGVzIENvdXJzZVwiLCBcIlF1YWQgUGFydHlcIiwgXCJQYXJ0eSBCYXJnZVwiLFxuICAgIFwiQmFja3N0YWdlIFBhc3NcIiwgXCJIYW1tb2Nrc1wiLCBcIkNhbm9weSBUb3VyXCIsIFwiV2FrZSBDYW1wXCIsIFwiTWluaSBHb2xmXCIsIFwiQmFkbWludG9uXCIsXG4gICAgXCJIb3JzZXNob2VzXCIsIFwiU29mdGJhbGxcIiwgXCJKZXQgU2tpaW5nXCIsIFwiV2F0ZXIgU2tpaW5nXCIsIFwiQ2Fub2VpbmcgLyBSb3cgQm9hdGluZ1wiLFxuICAgIFwiQ29ybmhvbGVcIiwgXCJQb2xhciBQbHVuZ2VcIiwgXCJTbm93bW9iaWxlXCIsIFwiTWVnYSBUdWJlIEhpbGxcIiwgXCJBcmNoZXJ5IFRhZ1wiLFxuICAgIFwiQ2FyZGJvYXJkIFNsZWQgUmFjZVwiLCBcIkJyb29tYmFsbFwiLCBcIlJ1bWJsZSBCYWxsXCJcbiAgXTtcbiAgQUNUSVZJVFlfVEFHUy5mb3JFYWNoKGZ1bmN0aW9uICh0KSB7IENBVEVHT1JZX01BUFt0XSA9IFwiQWN0aXZpdHlcIjsgfSk7XG4gIHZhciBDQVRFR09SWV9PUkRFUiA9IFtcIlN1YmplY3RcIiwgXCJTZXR0aW5nXCIsIFwiTW9vZFwiLCBcIkFjdGl2aXR5XCIsIFwiVHlwZVwiLCBcIk90aGVyXCJdO1xuICB2YXIgVE9QX04gPSAyMDtcblxuICBmdW5jdGlvbiBjYXRlZ29yaXplKHRhZykgeyByZXR1cm4gQ0FURUdPUllfTUFQW3RhZ10gfHwgXCJPdGhlclwiOyB9XG4gIGZ1bmN0aW9uIGVzY2FwZUh0bWwocykge1xuICAgIHJldHVybiBTdHJpbmcocykucmVwbGFjZSgvWyY8PlwiJ10vZywgZnVuY3Rpb24gKGNoKSB7XG4gICAgICByZXR1cm4geyBcIiZcIjogXCImYW1wO1wiLCBcIjxcIjogXCImbHQ7XCIsIFwiPlwiOiBcIiZndDtcIiwgJ1wiJzogXCImcXVvdDtcIiwgXCInXCI6IFwiJiMzOTtcIiB9W2NoXTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRlY29kZUJhc2U2NFBhZ2UoYm9keSkge1xuICAgIHZhciByYXcgPSAoYm9keS5jb250ZW50ICYmIGJvZHkuY29udGVudC5yZW5kZXJlZCkgfHwgXCJcIjtcbiAgICB2YXIgc3RyaXBwZWQgPSByYXcucmVwbGFjZSgvPFtePl0rPi9nLCBcIlwiKS50cmltKCk7XG4gICAgdmFyIHRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRleHRhcmVhXCIpO1xuICAgIHRhLmlubmVySFRNTCA9IHN0cmlwcGVkO1xuICAgIHZhciBiNjQgPSB0YS52YWx1ZS50cmltKCk7XG4gICAgdmFyIGJpbmFyeSA9IGF0b2IoYjY0KTtcbiAgICB2YXIgYnl0ZXMgPSBuZXcgVWludDhBcnJheShiaW5hcnkubGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkrKykgYnl0ZXNbaV0gPSBiaW5hcnkuY2hhckNvZGVBdChpKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShuZXcgVGV4dERlY29kZXIoXCJ1dGYtOFwiKS5kZWNvZGUoYnl0ZXMpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZldGNoRGF0YSgpIHtcbiAgICB2YXIgdXJsID0gU0lURV9VUkwgKyBcIi93cC1qc29uL3dwL3YyL3BhZ2VzL1wiICsgREFUQV9QQUdFX0lEICsgXCI/Xz1cIiArIERhdGUubm93KCk7XG4gICAgcmV0dXJuIGZldGNoKHVybCkudGhlbihmdW5jdGlvbiAocikge1xuICAgICAgaWYgKCFyLm9rKSB0aHJvdyBuZXcgRXJyb3IoXCJIVFRQIFwiICsgci5zdGF0dXMpO1xuICAgICAgcmV0dXJuIHIuanNvbigpO1xuICAgIH0pLnRoZW4oZGVjb2RlQmFzZTY0UGFnZSk7XG4gIH1cblxuICBmdW5jdGlvbiByZW5kZXIoZGF0YXNldCkge1xuICAgIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ3cHYtcm9vdFwiKTtcbiAgICBpZiAoIXJvb3QpIHJldHVybjtcbiAgICB2YXIgcGhvdG9zID0gZGF0YXNldC5waG90b3MgfHwgW107XG4gICAgdmFyIGNhbXBzID0gT2JqZWN0LmtleXMoZGF0YXNldC5jYW1wX2NvdW50cyB8fCB7fSkuc29ydCgpO1xuICAgIHZhciB0b3RhbCA9IHBob3Rvcy5sZW5ndGg7XG5cbiAgICB2YXIgdGFnQ291bnRzR2xvYmFsID0ge307XG4gICAgdmFyIHRhZ0NvdW50c0J5Q2FtcCA9IHt9O1xuICAgIHBob3Rvcy5mb3JFYWNoKGZ1bmN0aW9uIChwKSB7XG4gICAgICB2YXIgYnVja2V0ID0gdGFnQ291bnRzQnlDYW1wW3AuY2FtcF0gfHwgKHRhZ0NvdW50c0J5Q2FtcFtwLmNhbXBdID0ge30pO1xuICAgICAgKHAudGFncyB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbiAodCkge1xuICAgICAgICB0YWdDb3VudHNHbG9iYWxbdF0gPSAodGFnQ291bnRzR2xvYmFsW3RdIHx8IDApICsgMTtcbiAgICAgICAgYnVja2V0W3RdID0gKGJ1Y2tldFt0XSB8fCAwKSArIDE7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHZhciBsb2dvU3JjID0gU0lURV9VUkwgKyBcIi93cC1jb250ZW50L3VwbG9hZHMvd29sLWZlbGxvd3NoaXAtbG9nby13aGl0ZS5wbmdcIjsgLy8gVE9ETzogY29uZmlybSByZWFsIHVwbG9hZGVkIGxvZ28gcGF0aCBvbiBjYW1wcy53b2wub3JnXG5cbiAgICByb290LmlubmVySFRNTCA9XG4gICAgICAnPGRpdiBjbGFzcz1cIndwdi1oZWFkZXJcIj4nICtcbiAgICAgICAgJzxkaXYgY2xhc3M9XCJ3cHYtYnJhbmQtcm93XCI+PGltZyBjbGFzcz1cIndwdi1sb2dvXCIgc3JjPVwiJyArIGxvZ29TcmMgKyAnXCIgYWx0PVwiV29yZCBvZiBMaWZlIEZlbGxvd3NoaXBcIiBvbmVycm9yPVwidGhpcy5zdHlsZS5kaXNwbGF5PVxcJ25vbmVcXCdcIj4nICtcbiAgICAgICAgICAnPGgyIGNsYXNzPVwid3B2LXRpdGxlXCI+V09MIFBob3RvIFZhdWx0PC9oMj48L2Rpdj4nICtcbiAgICAgICAgJzxwIGNsYXNzPVwid3B2LXN1YnRpdGxlXCI+PHNwYW4gY2xhc3M9XCJ3cHYtY291bnRcIiBpZD1cIndwdi12aXNpYmxlLWNvdW50XCI+JyArIHRvdGFsICsgJzwvc3Bhbj4gb2YgJyArIHRvdGFsICsgJyBwaG90b3MgLSBzZWFyY2gsIGZpbHRlciwgb3IgcGljayBvbmUgb3IgbW9yZSBjYW1wcy48L3A+JyArXG4gICAgICAgICc8ZGl2IGNsYXNzPVwid3B2LWNhbXAtdGFic1wiIGlkPVwid3B2LWNhbXAtdGFic1wiPjwvZGl2PicgK1xuICAgICAgICAnPGlucHV0IHR5cGU9XCJzZWFyY2hcIiBpZD1cIndwdi1zZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBjYXB0aW9ucyBvciB0YWdzLi4uXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+JyArXG4gICAgICAgICc8ZGl2IGNsYXNzPVwid3B2LWZpbHRlcnNcIiBpZD1cIndwdi1maWx0ZXJzXCI+PC9kaXY+JyArXG4gICAgICAnPC9kaXY+JyArXG4gICAgICAnPGRpdiBjbGFzcz1cIndwdi1tYWluXCI+PGRpdiBjbGFzcz1cIndwdi1ncmlkXCIgaWQ9XCJ3cHYtZ3JpZFwiPjwvZGl2PjxwIGNsYXNzPVwid3B2LWVtcHR5XCIgaWQ9XCJ3cHYtZW1wdHlcIj5ObyBwaG90b3MgbWF0Y2ggeW91ciBmaWx0ZXJzLjwvcD48L2Rpdj4nICtcbiAgICAgICc8ZGl2IGNsYXNzPVwid3B2LWZvb3RlclwiPldvcmQgb2YgTGlmZSBGZWxsb3dzaGlwIC0gaW50ZXJuYWwgcGhvdG8gc2VhcmNoLiBNZXRhZGF0YSBnZW5lcmF0ZWQgYnkgR2VtaW5pIHZpc2lvbiwgcmV2aWV3ZWQgZm9yIHByaXZhY3kgYmVmb3JlIHB1Ymxpc2hpbmcuPC9kaXY+JztcblxuICAgIHZhciBjYW1wVGFic0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ3cHYtY2FtcC10YWJzXCIpO1xuICAgIHZhciBmaWx0ZXJzRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIndwdi1maWx0ZXJzXCIpO1xuICAgIHZhciBncmlkRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIndwdi1ncmlkXCIpO1xuICAgIHZhciBzZWFyY2hFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwid3B2LXNlYXJjaFwiKTtcbiAgICB2YXIgY291bnRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwid3B2LXZpc2libGUtY291bnRcIik7XG4gICAgdmFyIGVtcHR5RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIndwdi1lbXB0eVwiKTtcblxuICAgIHZhciBhY3RpdmVDYW1wcyA9IHt9OyAvLyB7fSA9IEFsbCBDYW1wcyAoYW55IGtleSBwcmVzZW50ID0gc2VsZWN0ZWQpXG4gICAgdmFyIGFjdGl2ZVRhZ3MgPSB7fTtcblxuICAgIGZ1bmN0aW9uIGFjdGl2ZUNhbXBzU2l6ZSgpIHsgcmV0dXJuIE9iamVjdC5rZXlzKGFjdGl2ZUNhbXBzKS5sZW5ndGg7IH1cblxuICAgIGZ1bmN0aW9uIHJlbmRlckNhbXBUYWJzKCkge1xuICAgICAgdmFyIGh0bWwgPSAnPGJ1dHRvbiBjbGFzcz1cIndwdi1jYW1wLXRhYicgKyAoYWN0aXZlQ2FtcHNTaXplKCkgPT09IDAgPyAnIGFjdGl2ZScgOiAnJykgKyAnXCIgZGF0YS1jYW1wPVwiX19hbGxfX1wiIHR5cGU9XCJidXR0b25cIj5BbGwgQ2FtcHMgPHNwYW4gY2xhc3M9XCJ3cHYtY2FtcC1jb3VudFwiPicgKyB0b3RhbCArICc8L3NwYW4+PC9idXR0b24+JztcbiAgICAgIGNhbXBzLmZvckVhY2goZnVuY3Rpb24gKGMpIHtcbiAgICAgICAgaHRtbCArPSAnPGJ1dHRvbiBjbGFzcz1cIndwdi1jYW1wLXRhYicgKyAoYWN0aXZlQ2FtcHNbY10gPyAnIGFjdGl2ZScgOiAnJykgKyAnXCIgZGF0YS1jYW1wPVwiJyArIGVzY2FwZUh0bWwoYykgKyAnXCIgdHlwZT1cImJ1dHRvblwiPicgKyBlc2NhcGVIdG1sKGMpICsgJyA8c3BhbiBjbGFzcz1cIndwdi1jYW1wLWNvdW50XCI+JyArIGRhdGFzZXQuY2FtcF9jb3VudHNbY10gKyAnPC9zcGFuPjwvYnV0dG9uPic7XG4gICAgICB9KTtcbiAgICAgIGNhbXBUYWJzRWwuaW5uZXJIVE1MID0gaHRtbDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW5kZXJGaWx0ZXJzKCkge1xuICAgICAgdmFyIGNvdW50cztcbiAgICAgIGlmIChhY3RpdmVDYW1wc1NpemUoKSA9PT0gMCkge1xuICAgICAgICBjb3VudHMgPSB0YWdDb3VudHNHbG9iYWw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb3VudHMgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoYWN0aXZlQ2FtcHMpLmZvckVhY2goZnVuY3Rpb24gKGNhbXApIHtcbiAgICAgICAgICB2YXIgYnVja2V0ID0gdGFnQ291bnRzQnlDYW1wW2NhbXBdIHx8IHt9O1xuICAgICAgICAgIE9iamVjdC5rZXlzKGJ1Y2tldCkuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7IGNvdW50c1t0YWddID0gKGNvdW50c1t0YWddIHx8IDApICsgYnVja2V0W3RhZ107IH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHZhciBieUNhdGVnb3J5ID0ge307XG4gICAgICBDQVRFR09SWV9PUkRFUi5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7IGJ5Q2F0ZWdvcnlbY10gPSBbXTsgfSk7XG4gICAgICBPYmplY3Qua2V5cyhjb3VudHMpLmZvckVhY2goZnVuY3Rpb24gKHRhZykge1xuICAgICAgICBpZiAoY291bnRzW3RhZ10gPj0gMikgYnlDYXRlZ29yeVtjYXRlZ29yaXplKHRhZyldLnB1c2goW3RhZywgY291bnRzW3RhZ11dKTtcbiAgICAgIH0pO1xuICAgICAgdmFyIGh0bWwgPSBcIlwiO1xuICAgICAgQ0FURUdPUllfT1JERVIuZm9yRWFjaChmdW5jdGlvbiAoY2F0KSB7XG4gICAgICAgIHZhciB0YWdzID0gYnlDYXRlZ29yeVtjYXRdLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGJbMV0gLSBhWzFdIHx8IGFbMF0ubG9jYWxlQ29tcGFyZShiWzBdKTsgfSkuc2xpY2UoMCwgVE9QX04pO1xuICAgICAgICBpZiAoIXRhZ3MubGVuZ3RoKSByZXR1cm47XG4gICAgICAgIHZhciBjaGlwcyA9IHRhZ3MubWFwKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgcmV0dXJuICc8YnV0dG9uIGNsYXNzPVwid3B2LWNoaXAnICsgKGFjdGl2ZVRhZ3NbdFswXV0gPyAnIGFjdGl2ZScgOiAnJykgKyAnXCIgZGF0YS10YWc9XCInICsgZXNjYXBlSHRtbCh0WzBdKSArICdcIiB0eXBlPVwiYnV0dG9uXCI+JyArIGVzY2FwZUh0bWwodFswXSkgKyAnIDxzcGFuIGNsYXNzPVwid3B2LWNoaXAtY291bnRcIj4nICsgdFsxXSArICc8L3NwYW4+PC9idXR0b24+JztcbiAgICAgICAgfSkuam9pbihcIiBcIik7XG4gICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9XCJ3cHYtZmlsdGVyLWdyb3VwXCI+PHNwYW4gY2xhc3M9XCJ3cHYtZmlsdGVyLWxhYmVsXCI+JyArIGNhdCArICc8L3NwYW4+JyArIGNoaXBzICsgJzwvZGl2Pic7XG4gICAgICB9KTtcbiAgICAgIGh0bWwgKz0gJzxidXR0b24gY2xhc3M9XCJ3cHYtY2xlYXItYnRuXCIgaWQ9XCJ3cHYtY2xlYXItYnRuXCIgdHlwZT1cImJ1dHRvblwiPkNsZWFyIGZpbHRlcnM8L2J1dHRvbj4nO1xuICAgICAgZmlsdGVyc0VsLmlubmVySFRNTCA9IGh0bWw7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVuZGVyR3JpZCgpIHtcbiAgICAgIGdyaWRFbC5pbm5lckhUTUwgPSBwaG90b3MubWFwKGZ1bmN0aW9uIChwKSB7XG4gICAgICAgIHZhciBpbWcgPSBwLnRodW1iXG4gICAgICAgICAgPyAnPGltZyBzcmM9XCInICsgZXNjYXBlSHRtbChwLnRodW1iKSArICdcIiBhbHQ9XCJcIiBsb2FkaW5nPVwibGF6eVwiPidcbiAgICAgICAgICA6ICc8ZGl2IGNsYXNzPVwid3B2LW5vaW1nXCI+bm8gdGh1bWJuYWlsPC9kaXY+JztcbiAgICAgICAgdmFyIHRhZ3NIdG1sID0gKHAudGFncyB8fCBbXSkubWFwKGZ1bmN0aW9uICh0KSB7IHJldHVybiAnPHNwYW4gY2xhc3M9XCJ3cHYtdGFnXCI+JyArIGVzY2FwZUh0bWwodCkgKyAnPC9zcGFuPic7IH0pLmpvaW4oXCIgXCIpO1xuICAgICAgICByZXR1cm4gJzxhcnRpY2xlIGNsYXNzPVwid3B2LWNhcmRcIiBkYXRhLWlkPVwiJyArIHAuaWQgKyAnXCIgZGF0YS1jYW1wPVwiJyArIGVzY2FwZUh0bWwocC5jYW1wKSArICdcIiBkYXRhLXRhZ3M9XCInICsgKHAudGFncyB8fCBbXSkubWFwKGVzY2FwZUh0bWwpLmpvaW4oXCIgXCIpICsgJ1wiPicgK1xuICAgICAgICAgICc8YSBjbGFzcz1cIndwdi10aHVtYlwiIGhyZWY9XCInICsgZXNjYXBlSHRtbChwLnVybCkgKyAnXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj4nICsgaW1nICsgJzwvYT4nICtcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cIndwdi1tZXRhXCI+PGRpdiBjbGFzcz1cIndwdi1waWQtcm93XCI+PGEgY2xhc3M9XCJ3cHYtcGlkXCIgaHJlZj1cIicgKyBlc2NhcGVIdG1sKHAudXJsKSArICdcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPicgKyBwLmlkICsgJzwvYT48c3BhbiBjbGFzcz1cIndwdi1jYW1wLWJhZGdlXCI+JyArIGVzY2FwZUh0bWwocC5jYW1wKSArICc8L3NwYW4+PC9kaXY+JyArXG4gICAgICAgICAgJzxwIGNsYXNzPVwid3B2LWNhcHRpb25cIj4nICsgZXNjYXBlSHRtbChwLmNhcHRpb24pICsgJzwvcD48ZGl2IGNsYXNzPVwid3B2LXRhZ3NcIj4nICsgdGFnc0h0bWwgKyAnPC9kaXY+PC9kaXY+PC9hcnRpY2xlPic7XG4gICAgICB9KS5qb2luKFwiXCIpO1xuICAgIH1cblxuICAgIHZhciBzZWFyY2hJbmRleCA9IHBob3Rvcy5tYXAoZnVuY3Rpb24gKHApIHtcbiAgICAgIHJldHVybiAoKHAuY2FwdGlvbiB8fCBcIlwiKSArIFwiIFwiICsgKHAudGFncyB8fCBbXSkuam9pbihcIiBcIikgKyBcIiBcIiArIHAuaWQgKyBcIiBcIiArIHAuY2FtcCkudG9Mb3dlckNhc2UoKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGFwcGx5RmlsdGVycygpIHtcbiAgICAgIHZhciBxID0gc2VhcmNoRWwudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgY2FyZHMgPSBncmlkRWwucXVlcnlTZWxlY3RvckFsbChcIi53cHYtY2FyZFwiKTtcbiAgICAgIHZhciB2aXNpYmxlID0gMDtcbiAgICAgIGNhcmRzLmZvckVhY2goZnVuY3Rpb24gKGMsIGkpIHtcbiAgICAgICAgdmFyIHNlYXJjaE9rID0gIXEgfHwgc2VhcmNoSW5kZXhbaV0uaW5kZXhPZihxKSAhPT0gLTE7XG4gICAgICAgIHZhciBjYXJkVGFncyA9IChjLmRhdGFzZXQudGFncyB8fCBcIlwiKS5zcGxpdChcIiBcIik7XG4gICAgICAgIHZhciB0YWdzT2sgPSBPYmplY3Qua2V5cyhhY3RpdmVUYWdzKS5ldmVyeShmdW5jdGlvbiAodCkgeyByZXR1cm4gY2FyZFRhZ3MuaW5kZXhPZih0KSAhPT0gLTE7IH0pO1xuICAgICAgICB2YXIgY2FtcE9rID0gYWN0aXZlQ2FtcHNTaXplKCkgPT09IDAgfHwgISFhY3RpdmVDYW1wc1tjLmRhdGFzZXQuY2FtcF07XG4gICAgICAgIHZhciBtYXRjaCA9IHNlYXJjaE9rICYmIHRhZ3NPayAmJiBjYW1wT2s7XG4gICAgICAgIGMuc3R5bGUuZGlzcGxheSA9IG1hdGNoID8gXCJcIiA6IFwibm9uZVwiO1xuICAgICAgICBpZiAobWF0Y2gpIHZpc2libGUrKztcbiAgICAgIH0pO1xuICAgICAgY291bnRFbC50ZXh0Q29udGVudCA9IHZpc2libGU7XG4gICAgICBlbXB0eUVsLnN0eWxlLmRpc3BsYXkgPSB2aXNpYmxlID09PSAwID8gXCJibG9ja1wiIDogXCJub25lXCI7XG4gICAgfVxuXG4gICAgcmVuZGVyQ2FtcFRhYnMoKTtcbiAgICByZW5kZXJGaWx0ZXJzKCk7XG4gICAgcmVuZGVyR3JpZCgpO1xuICAgIGFwcGx5RmlsdGVycygpO1xuXG4gICAgc2VhcmNoRWwuYWRkRXZlbnRMaXN0ZW5lcihcImlucHV0XCIsIGFwcGx5RmlsdGVycyk7XG4gICAgZmlsdGVyc0VsLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIGNoaXAgPSBlLnRhcmdldC5jbG9zZXN0KFwiLndwdi1jaGlwXCIpO1xuICAgICAgaWYgKGNoaXApIHtcbiAgICAgICAgdmFyIHRhZyA9IGNoaXAuZGF0YXNldC50YWc7XG4gICAgICAgIGlmIChhY3RpdmVUYWdzW3RhZ10pIGRlbGV0ZSBhY3RpdmVUYWdzW3RhZ107IGVsc2UgYWN0aXZlVGFnc1t0YWddID0gdHJ1ZTtcbiAgICAgICAgY2hpcC5jbGFzc0xpc3QudG9nZ2xlKFwiYWN0aXZlXCIpO1xuICAgICAgICBhcHBseUZpbHRlcnMoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGUudGFyZ2V0LmlkID09PSBcIndwdi1jbGVhci1idG5cIikge1xuICAgICAgICBhY3RpdmVUYWdzID0ge307IGFjdGl2ZUNhbXBzID0ge307XG4gICAgICAgIHNlYXJjaEVsLnZhbHVlID0gXCJcIjtcbiAgICAgICAgcmVuZGVyQ2FtcFRhYnMoKTsgcmVuZGVyRmlsdGVycygpOyBhcHBseUZpbHRlcnMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjYW1wVGFic0VsLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHRhYiA9IGUudGFyZ2V0LmNsb3Nlc3QoXCIud3B2LWNhbXAtdGFiXCIpO1xuICAgICAgaWYgKCF0YWIpIHJldHVybjtcbiAgICAgIGlmICh0YWIuZGF0YXNldC5jYW1wID09PSBcIl9fYWxsX19cIikge1xuICAgICAgICBhY3RpdmVDYW1wcyA9IHt9O1xuICAgICAgfSBlbHNlIGlmIChhY3RpdmVDYW1wc1t0YWIuZGF0YXNldC5jYW1wXSkge1xuICAgICAgICBkZWxldGUgYWN0aXZlQ2FtcHNbdGFiLmRhdGFzZXQuY2FtcF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY3RpdmVDYW1wc1t0YWIuZGF0YXNldC5jYW1wXSA9IHRydWU7XG4gICAgICB9XG4gICAgICBhY3RpdmVUYWdzID0ge307XG4gICAgICByZW5kZXJDYW1wVGFicygpOyByZW5kZXJGaWx0ZXJzKCk7IGFwcGx5RmlsdGVycygpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gc2hvd0Vycm9yKCkge1xuICAgIHZhciByb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ3cHYtcm9vdFwiKTtcbiAgICBpZiAocm9vdCkgcm9vdC5pbm5lckhUTUwgPSAnPHAgc3R5bGU9XCJwYWRkaW5nOjQwcHg7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6Izc2NzY3NjtcIj5VbmFibGUgdG8gbG9hZCB0aGUgcGhvdG8gdmF1bHQgcmlnaHQgbm93LiBQbGVhc2UgdHJ5IGFnYWluIHNob3J0bHkuPC9wPic7XG4gIH1cblxuICBmZXRjaERhdGEoKS50aGVuKHJlbmRlcikuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJXT0wgUGhvdG8gVmF1bHQ6IGRhdGEgZmV0Y2ggZmFpbGVkXCIsIGVycik7XG4gICAgc2hvd0Vycm9yKCk7XG4gIH0pO1xufSkoKTtcbiJ9