İzmir Sınav Okulları
Teklif
TEKLİF
Her öğrenci için gerekli malzemelerin toplam teklifidir. Sepete Ekle’ye basınca öğrenci sayısı sorulur; tüm adetler o sayıyla çarpılarak sepete eklenir.
Bu kategoride ürün bulunamadı.
Bu teklif fiyatları geçerli olup, stok durumuna bağlıdır.
0
SEÇİLEN: 0 ADET
TOPLAM: 0,00 TL
| Kategori | |
| Önerilen Adet | |
| Stok Durumu | Mevcut |
1
Kaç öğrenciye sipariş geçilecek?
Listedeki ürün adetleri girdiğiniz öğrenci sayısıyla çarpılarak sepete eklenecektir.
Sepete Ekleniyor...
Lütfen bekleyiniz
0 / 0
CihmdW5jdGlvbigpIHsKICAgIHRyeSB7CiAgICAgICAgY29uc3QgYWt0aWZPa3VsQWRpID0gIlRla2xpZiI7CiAgICAgICAgY29uc3QgYWt0aWZPa3VsTGlu a2kgPSB3aW5kb3cubG9jYXRpb24uaHJlZjsKICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgna2F5aXRsaU9rdWxBZGknLCBha3RpZk9rdWxBZGkpOwog ICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdrYXlpdGxpT2t1bExpbmtpJywgYWt0aWZPa3VsTGlua2kpOwogICAgfSBjYXRjaChlKSB7IGNvbnNvbGUu d2FybigiTG9jYWwgc3RvcmFnZSBlcmnFn2ltIGhhdGFzxLEiLCBlKTsgfQogICAgY29uc3QgS1VQT04gPSAnJzsKCiAgICBjb25zdCBza3VNYXAgPSB7CiAg ICAiODY4MTI0MTQzMTM2OSI6ICI5NDQ0OCIsCiAgICAiODY4MTI0MTQzMTMyMSI6ICI5NDQ0OSIsCiAgICAiOTU1NTY4NDY3MjEyNCI6ICI5NDQ1MCIKfTsK CiAgICBjb25zdCBrYXRVcmwgPSB7CiAgICAiU2lsZ2kiOiAiL2thdGVnb3JpL3NpbGdpIgp9OwoKICAgIGxldCBQID0gWwogICAgewogICAgICAgICJza3Ui OiAiODY4MTI0MTQzMTM2OSIsCiAgICAgICAgInNsdWciOiAiZmFiZXItY2FzdGVsbC1rZWxlYmVrLXNpbGdpLXBhc3RlbCIsCiAgICAgICAgImlzaW0iOiAi RmFiZXIgQ2FzdGVsbCDFnsO2dmFseWUgTWluaSBQYXN0ZWwgU2lsZ2kgNCdsw7wiLAogICAgICAgICJpZCI6ICI5NDQ0OCIsCiAgICAgICAgImZpeWF0Ijog NTUsCiAgICAgICAgImRldGF5IjogIjxoMj5GYWJlci1DYXN0ZWxsIMWew7Z2YWx5ZSBNaW5pIFBhc3RlbCBTaWxnaSA0J2zDvCBTZXQ8L2gyPlxuPHA+S8Sx cnRhc2l5ZSBkw7xueWFzxLFuxLFuIGfDvHZlbmlsaXIgbGlkZXJpIEZhYmVyLUNhc3RlbGwgdGFyYWbEsW5kYW4gw7xyZXRpbGVuIDxzdHJvbmc+RmFiZXIg Q2FzdGVsbCDFnsO2dmFseWUgTWluaSBQYXN0ZWwgU2lsZ2kgNCdsw7w8L3N0cm9uZz4gc2V0aSwgaGVtIG9rdWxkYSBoZW0gZGUgZXZkZWtpIHJlc2ltIGFr dGl2aXRlbGVyaW5kZSDDp29jdWtsYXLEsW4gZW4gYsO8ecO8ayB5YXJkxLFtY8Sxc8SxIG9sdXlvci4gUGFrZXQgacOnZXJpc2luZGUgeWVyIGFsYW4gPHN0 cm9uZz40IGZhcmtsxLEgcGFzdGVsIHJlbmsgc2XDp2VuZcSfaXlsZTwvc3Ryb25nPiAoeXVtdcWfYWsgcGVtYmUsIHllxZ9pbCwgbWF2aSB2ZSBtb3IgdG9u bGFyxLEpIG1pbmlrbGVyaW4gw6dhbMSxxZ9tYSBtYXNhbGFyxLFuYSBuZcWfZSB2ZSBlc3RldGlrIGthdMSxeW9yLjwvcD5cbjxwPkZhYmVyLUNhc3RlbGwn aW4gaWtvbmlrIMWfw7Z2YWx5ZSBsb2dvc3V5bGEgdGFzYXJsYW5hbiBidSBtaW5pIHNpbGdpbGVyLCBlcmdvbm9taWsgYm95dXRsYXLEsSBzYXllc2luZGUg w6dvY3VrbGFyxLFuIGVsIGthc2xhcsSxbsSxIHlvcm1hZGFuIGtvbGF5Y2Ega2F2cmFuxLFyLiBLdXLFn3VuIGthbGVtIGl6bGVyaW5pIGthxJ/EsWTEsSB5 xLFydG1hZGFuLCBww7xyw7x6c8O8emNlIHZlIGFya2FzxLFuZGEgaGnDp2JpciBsZWtlIGLEsXJha21hZGFuIHRlbWl6bGV5ZW4gPHN0cm9uZz5GYWJlciBD YXN0ZWxsIMWew7Z2YWx5ZSBNaW5pIFBhc3RlbCBTaWxnaSA0J2zDvDwvc3Ryb25nPiBwYWtldGluaW4gdMO8bSB0ZWtuaWsgdmUgcHJhdGlrIGRldGF5bGFy xLEgxZ91IMWfZWtpbGRlZGlyOjwvcD5cbjx0YWJsZSBzdHlsZT1cIndpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBmb250LWZhbWls eTogQXJpYWwsIHNhbnMtc2VyaWY7IG1hcmdpbjogMTBweCAwO1wiPlxuPHRib2R5PlxuPHRyIHN0eWxlPVwiYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNl ZWVlZWU7XCI+XG48dGggc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB3aWR0aDog MzUlOyBjb2xvcjogIzMzMztcIj5NYXJrYSAvIMOccsO8biBTZXJpc2k8L3RoPlxuPHRkIHN0eWxlPVwicGFkZGluZzogMTBweDsgY29sb3I6ICM2NjY7XCI+ RmFiZXItQ2FzdGVsbCAvIMWew7Z2YWx5ZSBTZXJpc2k8L3RkPlxuPC90cj5cbjx0ciBzdHlsZT1cImJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVl O1wiPlxuPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgY29sb3I6ICMzMzM7 XCI+UGFrZXQgxLDDp2VyacSfaSAvIEFkZXQ8L3RoPlxuPHRkIHN0eWxlPVwicGFkZGluZzogMTBweDsgY29sb3I6ICM2NjY7XCI+PHN0cm9uZz40J2zDvCBT ZXQgKE5ldCA0IEFkZXQgTWluaSBTaWxnaSDEsMOnZXJpcik8L3N0cm9uZz48L3RkPlxuPC90cj5cbjx0ciBzdHlsZT1cImJvcmRlci1ib3R0b206IDFweCBz b2xpZCAjZWVlZWVlO1wiPlxuPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsg Y29sb3I6ICMzMzM7XCI+UmVuayBLb21iaW5hc3lvbnU8L3RoPlxuPHRkIHN0eWxlPVwicGFkZGluZzogMTBweDsgY29sb3I6ICM2NjY7XCI+S2FyxLHFn8Sx ayBTb2Z0IFBhc3RlbCBSZW5rbGVyIChQZW1iZSwgTWF2aSwgWWXFn2lsLCBNb3IpPC90ZD5cbjwvdHI+XG48dHI+XG48dGggc3R5bGU9XCJ0ZXh0LWFsaWdu OiBsZWZ0OyBwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyBjb2xvcjogIzMzMztcIj7Dlm5lIMOHxLFrYW4gw5Z6ZWxsaWs8L3Ro PlxuPHRkIHN0eWxlPVwicGFkZGluZzogMTBweDsgY29sb3I6ICM2NjY7XCI+UFZDLUZyZWUgKEZ0YWxhdCB2ZSBaYXJhcmzEsSBQbGFzdGlrIMSww6dlcm1l eWVuIEfDvHZlbmxpIEZvcm3DvGwpPC90ZD5cbjwvdHI+XG48L3Rib2R5PlxuPC90YWJsZT5cbjxoMz5TxLFrw6dhIFNvcnVsYW4gU29ydWxhcjwvaDM+XG48 cD48c3Ryb25nPkJ1IG1pbmkgcGFzdGVsIHNpbGdpbGVyIGFuYSBzxLFuxLFmxLEgcmVzaW0gZGVyc2xlcmkgdmUgw6dpemltIGV0a2lubGlrbGVyaSBpw6dp biBrdWxsYW7EsW1hIHV5Z3VuIG11ZHVyPzwvc3Ryb25nPiA8YnIgLz5FdmV0LCBrZXNpbmxpa2xlIMOnb2sgdXlndW5kdXIuIFNpbGdpbGVyaW4gbWluaSBi b3l1dGx1IHRhc2FyxLFtxLEsIG9rdWwgw7ZuY2VzaSB2ZSBpbGtva3VsIMOnYcSfxLFuZGFraSDDp29jdWtsYXLEsW4ga8O8w6fDvGsgZWwgYW5hdG9taXNp bmUgdGFtIHV5dW0gc2HEn2xhci4gw4dvY3VrbGFyIHN0YW5kYXJ0IGLDvHnDvGsgc2lsZ2lsZXJpIGthdnJhbWFrdGEgem9ybGFuxLFya2VuLCBidSBtaW5p IHNpbGdpbGVyaSBwYXJtYWtsYXLEsXlsYSDDp29rIGRhaGEgcmFoYXQga29udHJvbCBlZGVyZWsgw6dpemdpIHZlIGJveWFtYSBldGtpbmxpa2xlcmluZGUg ZGV0YXlsxLEgc2lsbWUgacWfbGVtbGVyaW5pIMO2emfDvHJjZSB5YXBhYmlsaXJsZXIuPC9wPlxuPHA+PHN0cm9uZz5TaWxnaWxlciBrdWxsYW7EsW0gZXNu YXPEsW5kYSDDp29rIGZhemxhIHV2YWxhbsSxcCBtYXNhecSxIGtpcmxldGlyIG1pLCB0b3ogYsSxcmFrbWEgZHVydW11IG5hc8SxbGTEsXI/PC9zdHJvbmc+ IDxiciAvPkZhYmVyLUNhc3RlbGzigJlpbiBidSBzZXJpc2kgXCJEdXN0LUZyZWVcIiAoYXogYXTEsWsgw7xyZXRlbikgdGVrbm9sb2ppc2luZSB5YWvEsW4s IHnDvGtzZWsga2FsaXRlbGkgYmlsZcWfZW5sZXJkZW4gw7xyZXRpbG1pxZ90aXIuIFNpbG1lIGnFn2xlbWkgc8SxcmFzxLFuZGEga2HEn8SxdCDDvHplcmlu ZGUgYcWfxLFyxLEgdWZhbGFubWEsIHBhcsOnYSBwYXLDp2EgZMO2a8O8bG1lIHZleWEgZXRyYWZhIHRveiBzYcOnbWEgeWFwbWF6LiDDh8Sxa2FuIHNpbGdp IGF0xLFrbGFyxLEgZ2VuZWxsaWtsZSB0ZWsgYmlyIMWfZXJpdCBoYWxpbmRlIHRvcGxhbsSxcjsgYnUgc2F5ZWRlIMOnb2N1xJ91bnV6dW4gw6dhbMSxxZ9t YSBtYXNhc8SxIHZlIGRlZnRlcmxlcmkgaGVyIHphbWFuIHRlbWl6IHZlIGTDvHplbmxpIGthbMSxci48L3A+XG48cD48c3Ryb25nPlBha2V0IGnDp2VyacSf aW5kZSBrYcOnIGFkZXQgc2lsZ2kgYnVsdW51eW9yIHZlIHJlbmtsZXJpIGNhbmzEsSBtxLFkxLFyPzwvc3Ryb25nPiA8YnIgLz7DnHLDvG4gYmHFn2zEscSf xLFuZGEgdmUgdGVrbmlrIHRhYmxvbXV6ZGEgZGEgYmVsaXJ0aWxkacSfaSDDvHplcmUgcGFrZXQgacOnZXJpxJ9pbmRlIDxzdHJvbmc+dGFtIDQgYWRldCBz aWxnaTwvc3Ryb25nPiB5ZXIgYWxtYWt0YWTEsXIuIFNpbGdpbGVyaW4gcmVuayB0b25sYXLEsSBnw7Z6w7wgeW9ybWF5YW4sIMOnb2N1a2xhcsSxbiDDp29r IHNldmRpxJ9pIHNvZnQgdmUgbW9kZXJuIHBhc3RlbCB0b25sYXLEsW5kYWTEsXIuIFRlayBiaXIgcGFrZXQgYWxhcmFrIMOnb2N1xJ91bnV6YSBva3VsIGTD tm5lbWkgYm95dW5jYSB5ZXRlY2VrLCBmYXJrbMSxIHJlbmtsZXJkZSBoYXJpa2EgYmlyIHNpbGdpIHNldGkgc3VubXXFnyBvbHVyc3VudXouPC9wPlxuPHA+ PHN0cm9uZz7DnHLDvG7DvG4gaGFtbWFkZGVzaW5kZSDDp29jdWsgc2HEn2zEscSfxLFuYSB6YXJhcmzEsSBtYWRkZWxlciB2ZXlhIGHEn8SxciBraW15YXNh bGxhciB5ZXIgYWzEsXlvciBtdT88L3N0cm9uZz4gPGJyIC8+SGF5xLFyLCBrZXNpbmxpa2xlIGnDp2VybWV6LiBGYWJlci1DYXN0ZWxsIMOnb2N1ayBzYcSf bMSxxJ/EsW7EsSBlbiDDvHN0IGTDvHpleWRlIHR1dGFuIFwiUFZDLUZyZWVcIiBzdGFuZGFyZMSxeWxhIMO8cmV0aW0geWFwbWFrdGFkxLFyLiDDnHLDvG7D vG4gZm9ybcO8bMO8bmRlIGthbnNlcm9qZW4gZXRraXNpIGthbsSxdGxhbm3EscWfIG9sYW4gZnRhbGF0IHZleWEgemFyYXJsxLEgcGxhc3Rpa2xlxZ90aXJp Y2lsZXIga2VzaW5saWtsZSB5ZXIgYWxtYXouIMOHb2N1a2xhcsSxbiBjaWxkaW5lIGRvxJ9ydWRhbiB0ZW1hcyBlZGVuIGJ1IHNpbGdpbGVyaSBlYmV2ZXlu bGVyIHRhbWFtZW4gacOnIGh1enVydXlsYSBzZXBldGxlcmluZSBla2xleWViaWxpcmxlci48L3A+XG48cD48L3A+IiwKICAgICAgICAiaW1nIjogImh0dHBz Oi8vd3d3Lm1hdmlrYWxlbS50ci9pZGVhL3JmLzg2L215YXNzZXRzL3Byb2R1Y3RzLzQ0OC8zNy5wbmciLAogICAgICAgICJhZGV0IjogMSwKICAgICAgICAi c2VsIjogdHJ1ZSwKICAgICAgICAia2F0IjogIlNpbGdpIgogICAgfSwKICAgIHsKICAgICAgICAic2t1IjogIjg2ODEyNDE0MzEzMjEiLAogICAgICAgICJz bHVnIjogImZhYmVyLWNhc3RlbGwtc2FmYXJpLXNpbGdpLXBhc3RlbCIsCiAgICAgICAgImlzaW0iOiAiRmFiZXIgQ2FzdGVsbCBTYWZhcmkgUGFzdGVsIE1p bmkgU2lsZ2kgNCdsw7wiLAogICAgICAgICJpZCI6ICI5NDQ0OSIsCiAgICAgICAgImZpeWF0IjogNTUsCiAgICAgICAgImRldGF5IjogIjxoMj5GYWJlciBD YXN0ZWxsIFNhZmFyaSBQYXN0ZWwgTWluaSBTaWxnaSA0J2zDvDwvaDI+XG48dWw+XG48bGk+PHN0cm9uZz7DnHLDvG4gUGVyZm9ybWFuc8SxOjwvc3Ryb25n PiBLYcSfxLF0IMO8emVyaW5kZSBpeiBixLFyYWttYWRhbiB2ZSBhxZ/EsW5kxLFybWEgeWFwbWFkYW4gdGVtaXogYmlyIHNpbG1lIGRlbmV5aW1pIHNhxJ9s YXI7IG1pbmltdW0gYXTEsWsgKGR1c3QtZnJlZSkgYsSxcmFrYWNhayDFn2VraWxkZSBmb3Jtw7xsZSBlZGlsbWnFn3Rpci48L2xpPlxuPGxpPjxzdHJvbmc+ xLDDp2VyaWs6PC9zdHJvbmc+IEVyZ29ub21payDDvMOnZ2VuIHR1dHXFnyBhbGFuxLFuYSBzYWhpcCwgeXVtdcWfYWsgZG9rdWx1IHZlIMWfxLFrIHBhc3Rl bCByZW5rIHNlw6dlbmVrbGkgKE1hdmksIFBlbWJlLCBZZcWfaWwsIE1vcikgU2FmYXJpIHNlcmlzaSBzaWxnaS48L2xpPlxuPGxpPjxzdHJvbmc+RGF5YW7E sWtsxLFsxLFrOjwvc3Ryb25nPiBQYXLDp2FsYW5tYXlhIGthcsWfxLEgZGlyZW7Dp2xpLCBQVkMgacOnZXJtZXllbiBzYcSfbMSxa2zEsSB5YXDEsXPEsSBz YXllc2luZGUgdXp1biDDtm3DvHJsw7wgdmUgZm9ybXVudSBrYXliZXRtZXllbiBrdWxsYW7EsW0gc3VuYXIuPC9saT5cbjxsaT48c3Ryb25nPk1hdmlLYWxl bSBHw7x2ZW5jZXNpOjwvc3Ryb25nPiAlMTAwIG9yaWppbmFsIMO8csO8biBnYXJhbnRpc2ksIGfDvHZlbmxpIMO2ZGVtZSBzaXN0ZW1pIHZlIGjEsXpsxLEg a2FyZ28uPC9saT5cbjxsaT48c3Ryb25nPkhlZGVmOjwvc3Ryb25nPiBIZW0ga29uZm9ybHUgYmlyIHR1dHXFnyBoZW0gZGUgZXN0ZXRpayBiaXIgZ8O2csO8 bsO8bSBhcmF5YW4gw7bEn3JlbmNpbGVyLCBvZmlzIGt1bGxhbsSxY8SxbGFyxLEgdmUga8SxcnRhc2l5ZSB0dXRrdW5sYXLEsSBpw6dpbiBpZGVhbGRpci48 L2xpPlxuPC91bD4iLAogICAgICAgICJpbWciOiAiaHR0cHM6Ly93d3cubWF2aWthbGVtLnRyL2lkZWEvcmYvODYvbXlhc3NldHMvcHJvZHVjdHMvNDQ5LzM2 LnBuZyIsCiAgICAgICAgImFkZXQiOiAxLAogICAgICAgICJzZWwiOiB0cnVlLAogICAgICAgICJrYXQiOiAiU2lsZ2kiCiAgICB9LAogICAgewogICAgICAg ICJza3UiOiAiOTU1NTY4NDY3MjEyNCIsCiAgICAgICAgInNsdWciOiAiZmFiZXItc2luYXYtc2lsZ2lzaS0xODcyMTQiLAogICAgICAgICJpc2ltIjogIkZh YmVyIFPEsW5hdiBTaWxnaXNpIDE4NzIxNCIsCiAgICAgICAgImlkIjogIjk0NDUwIiwKICAgICAgICAiZml5YXQiOiAyNCwKICAgICAgICAiZGV0YXkiOiAi PGgzPkZhYmVyLUNhc3RlbGwgU8SxbmF2IFNpbGdpwqA8L2gzPlxuPHVsPlxuPGxpPjxzdHJvbmc+w5xyw7xuIFBlcmZvcm1hbnPEsTo8L3N0cm9uZz4gS2HE n8SxdCDDvHplcmluZGUgaXogYsSxcmFrbWFkYW4gdmUgYcWfxLFuZMSxcm1hIHlhcG1hZGFuIHRlbWl6IGJpciBzaWxtZSBkZW5leWltaSBzYcSfbGFyOyBt aW5pbXVtIGF0xLFrIChkdXN0LWZyZWUpIGLEsXJha2FjYWsgxZ9la2lsZGUgZm9ybcO8bGUgZWRpbG1pxZ90aXIuPC9saT5cbjxsaT48c3Ryb25nPsSww6dl cmlrOjwvc3Ryb25nPiBFcmdvbm9taWsgw7zDp2dlbiB0dXR1xZ8gYWxhbsSxbmEgc2FoaXAsIHl1bXXFn2FrIGRva3VsdSB2ZSDFn8SxayBwYXN0ZWwgcmVu ayBzZcOnZW5la2xpIChNYXZpLCBQZW1iZSwgWWXFn2lsLCBNb3IpIMWew7Z2YWx5ZSBzZXJpc2kgc2lsZ2kuPC9saT5cbjxsaT48c3Ryb25nPkRheWFuxLFr bMSxbMSxazo8L3N0cm9uZz4gUGFyw6dhbGFubWF5YSBrYXLFn8SxIGRpcmVuw6dsaSwgUFZDIGnDp2VybWV5ZW4gc2HEn2zEsWtsxLEgeWFwxLFzxLEgc2F5 ZXNpbmRlIHV6dW4gw7Ztw7xybMO8IHZlIGZvcm11bnUga2F5YmV0bWV5ZW4ga3VsbGFuxLFtIHN1bmFyLjwvbGk+XG48bGk+PHN0cm9uZz5NYXZpS2FsZW0g R8O8dmVuY2VzaTo8L3N0cm9uZz4gJTEwMCBvcmlqaW5hbCDDvHLDvG4gZ2FyYW50aXNpLCBnw7x2ZW5saSDDtmRlbWUgc2lzdGVtaSB2ZSBoxLF6bMSxIGth cmdvLjwvbGk+XG48bGk+PHN0cm9uZz5IZWRlZjo8L3N0cm9uZz4gSGVtIGtvbmZvcmx1IGJpciB0dXR1xZ8gaGVtIGRlIGVzdGV0aWsgYmlyIGfDtnLDvG7D vG0gYXJheWFuIMO2xJ9yZW5jaWxlciwgb2ZpcyBrdWxsYW7EsWPEsWxhcsSxIHZlIGvEsXJ0YXNpeWUgdHV0a3VubGFyxLEgacOnaW4gaWRlYWxkaXIuPC9s aT5cbjwvdWw+IiwKICAgICAgICAiaW1nIjogImh0dHBzOi8vd3d3Lm1hdmlrYWxlbS50ci9pZGVhL3JmLzg2L215YXNzZXRzL3Byb2R1Y3RzLzQ1MC9va3Vs LXNldGxlcmktMy5wbmciLAogICAgICAgICJhZGV0IjogMSwKICAgICAgICAic2VsIjogdHJ1ZSwKICAgICAgICAia2F0IjogIlNpbGdpIgogICAgfQpdOwoK ICAgIC8vIMOWxJ9yZW5jaSBiYXpsxLEgdGVrbGlmIG1vZHU6IMO8csO8biBhZGV0bGVyaSBraWxpdGxpLCBzYWRlY2Ugw7bEn3JlbmNpIHNhecSxc8SxIGdp cmlsaXIKICAgIC8vIHZlIHTDvG0gYWRldGxlciBidW51bmxhIMOnYXJwxLFsxLFyLiBOb3JtYWwvZ8O8bmNlbGxlbWUgc2F5ZmFsYXLEsW5kYSBmYWxzZSBv bHVyLgogICAgY29uc3QgVEVLTElGX01PRFUgPSB0cnVlOwogICAgZnVuY3Rpb24gb2dyZW5jaVNheWlzaSgpIHsKICAgICAgICBjb25zdCBlbCA9IGRvY3Vt ZW50LmdldEVsZW1lbnRCeUlkKCdzdHVkZW50LWNvdW50Jyk7CiAgICAgICAgaWYgKCFURUtMSUZfTU9EVSB8fCAhZWwpIHJldHVybiAxOwogICAgICAgIGNv bnN0IG4gPSBNYXRoLmZsb29yKE51bWJlcihlbC52YWx1ZSkpOwogICAgICAgIHJldHVybiAoIW4gfHwgbiA8IDEpID8gMSA6IG47CiAgICB9CgogICAgbGV0 IGFjdGl2ZUthdCA9ICd0dW11JzsKICAgIGxldCBtb2RhbElkeCA9IC0xOwogICAgZnVuY3Rpb24gdXBkYXRlRm9vdGVyKCkgewogICAgICAgIGNvbnN0IGNh cnBhbiA9IG9ncmVuY2lTYXlpc2koKTsKICAgICAgICBjb25zdCBzdGF0cyA9IFAucmVkdWNlKChhY2MsIHApID0+IHsKICAgICAgICAgICAgaWYgKHAuc2Vs KSB7IGFjYy5jb3VudCsrOyBhY2MuaXRlbXMgKz0gcC5hZGV0ICogY2FycGFuOyBhY2MudG90YWwgKz0gcC5maXlhdCAqIHAuYWRldCAqIGNhcnBhbjsgfQog ICAgICAgICAgICByZXR1cm4gYWNjOwogICAgICAgIH0sIHsgY291bnQ6IDAsIGl0ZW1zOiAwLCB0b3RhbDogMCB9KTsKICAgICAgICBkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgnZHNsLWJhZGdlJykudGV4dENvbnRlbnQgPSBzdGF0cy5jb3VudDsKICAgICAgICBpZiAoVEVLTElGX01PRFUpIHsKICAgICAgICAgICAg Ly8gVGVrbGlmIG1vZHU6IHNlw6dpbSB5b2ssIHRvcGxhbSBmaXlhdCBnw7ZzdGVyaWxtZXoKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo J2RzbC1jb3VudCcpLnRleHRDb250ZW50ID0gYEzEsFNURURFICR7c3RhdHMuY291bnR9IMOcUsOcTmA7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l bnRCeUlkKCdkc2wtcHJpY2UnKS50ZXh0Q29udGVudCA9ICdTZXBldGUgZWtsZXJrZW4gw7bEn3JlbmNpIHNhecSxc8SxIHNvcnVsdXInOwogICAgICAgIH0g ZWxzZSB7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtY291bnQnKS50ZXh0Q29udGVudCA9IGBTRcOHxLBMRU46ICR7c3RhdHMu aXRlbXN9IEFERVRgOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLXByaWNlJykudGV4dENvbnRlbnQgPSBgVE9QTEFNOiAke3N0 YXRzLnRvdGFsLnRvTG9jYWxlU3RyaW5nKCd0ci1UUicsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6Mn0pfSBUTGA7CiAgICAgICAgfQogICAgfQogICAgZnVu Y3Rpb24gcmVuZGVyUGlsbHMoKSB7CiAgICAgICAgY29uc3QgY2F0cyA9IFsuLi5uZXcgU2V0KFAubWFwKHAgPT4gcC5rYXQpKV07CiAgICAgICAgY29uc3Qg ZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLXBpbGxzJyk7CiAgICAgICAgZWwuaW5uZXJIVE1MID0gJyc7CiAgICAgICAgY29uc3QgbWFrZUJ0 biA9IChsYWJlbCwga2F0KSA9PiB7CiAgICAgICAgICAgIGNvbnN0IGIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICAgICAg Yi5jbGFzc05hbWUgPSBgcGlsbCAke2FjdGl2ZUthdCA9PT0ga2F0ID8gJ2FjdGl2ZScgOiAnJ31gOwogICAgICAgICAgICBiLnRleHRDb250ZW50ID0gbGFi ZWw7CiAgICAgICAgICAgIGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7CiAgICAgICAgICAgICAgICBhY3RpdmVLYXQgPSBrYXQ7CiAgICAg ICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjZHNsLXBpbGxzIC5waWxsJykuZm9yRWFjaChwID0+IHAuY2xhc3NMaXN0LnJlbW92ZSgn YWN0aXZlJykpOwogICAgICAgICAgICAgICAgYi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTsKICAgICAgICAgICAgICAgIHJlbmRlckdyaWQoKTsKICAgICAg ICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybiBiOwogICAgICAgIH07CiAgICAgICAgZWwuYXBwZW5kQ2hpbGQobWFrZUJ0bignVMO8bcO8JywgJ3R1bXUn KSk7CiAgICAgICAgY2F0cy5mb3JFYWNoKGMgPT4gZWwuYXBwZW5kQ2hpbGQobWFrZUJ0bihjLCBjKSkpOwogICAgfQogICAgZnVuY3Rpb24gcmVuZGVyR3Jp ZCgpIHsKICAgICAgICBjb25zdCBncmlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1ncmlkJyk7CiAgICAgICAgZ3JpZC5pbm5lckhUTUwgPSAn JzsKICAgICAgICBsZXQgc2hvd24gPSAwOwogICAgICAgIFAuZm9yRWFjaCgocCwgaWR4KSA9PiB7CiAgICAgICAgICAgIGlmIChhY3RpdmVLYXQgIT09ICd0 dW11JyAmJiBwLmthdCAhPT0gYWN0aXZlS2F0KSByZXR1cm47CiAgICAgICAgICAgIHNob3duKys7CgogICAgICAgICAgICBjb25zdCBjYXJkID0gZG9jdW1l bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICAgIGlmIChURUtMSUZfTU9EVSkgewogICAgICAgICAgICAgICAgLy8gw5xyw7xuIMOnxLFrYXJt YS9la2xlbWUgeW9rOiBzZcOnaW0ga3V0dXN1IHlvaywga2FydCB0xLFrbGFtYXPEsSBiaXIgxZ9leQogICAgICAgICAgICAgICAgLy8geWFwbWF6LiBHw7Zy c2VsIC8gRGV0YXkgxLBuY2VsZSBpbGUgYcOnxLFrbGFtYSBtb2RhbMSxIGHDp8SxbMSxcjsgYWRldCBraWxpdGxpLgogICAgICAgICAgICAgICAgY2FyZC5j bGFzc05hbWUgPSAncGMnOwogICAgICAgICAgICAgICAgY2FyZC5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCc7CiAgICAgICAgICAgICAgICBjYXJkLmlubmVy SFRNTCA9IGAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYy1pbWctd3JhcCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9 InBjLWltZyIgc3JjPSIke3AuaW1nfSIgYWx0PSIke3AuaXNpbX0iIG9uZXJyb3I9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSciPgogICAgICAgICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJwYy1jYXQiIGhyZWY9IiR7a2F0VXJsW3Aua2F0XSB8fCAnL2thdGVnb3JpJ30i IHRhcmdldD0iX2JsYW5rIj4ke3Aua2F0fTwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtbmFtZSIgaHJlZj0iL3VydW4vJHtwLnNsdWd9 IiB0YXJnZXQ9Il9ibGFuayI+JHtwLmlzaW19PC9hPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBjLXByaWNlLXJvdyI+CiAgICAgICAgICAg ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYy1wcmljZSI+JHtwLmZpeWF0LnRvTG9jYWxlU3RyaW5nKCd0ci1UUicsIHttaW5pbXVtRnJhY3Rpb25EaWdp dHM6Mn0pfSBUTDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA7CiAgICAgICAgICAgICAgICBjb25zdCBpbSA9 IGNhcmQucXVlcnlTZWxlY3RvcignLnBjLWltZycpOwogICAgICAgICAgICAgICAgaW0uc3R5bGUuY3Vyc29yID0gJ3pvb20taW4nOwogICAgICAgICAgICAg ICAgaW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBvcGVuTW9kYWxEaXJlY3QoaWR4KSk7CiAgICAgICAgICAgICAgICBjb25zdCBkYiA9IGRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICAgICAgICAgZGIuY2xhc3NOYW1lID0gJ2J0bi1kZXQnOwogICAgICAgICAgICAgICAg ZGIudGV4dENvbnRlbnQgPSAnRGV0YXkgxLBuY2VsZSc7CiAgICAgICAgICAgICAgICBkYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IG9wZW5N b2RhbERpcmVjdChpZHgpKTsKICAgICAgICAgICAgICAgIGNhcmQuYXBwZW5kQ2hpbGQoZGIpOwogICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IGRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICAgICAgICAgaW5mby5jbGFzc05hbWUgPSAndGVrbGlmLWFkZXQnOwogICAgICAgICAgICAgICAg aW5mby5pbm5lckhUTUwgPSBgPHNwYW4+w5bEn3JlbmNpIGJhxZ/EsW5hIDxiPiR7cC5hZGV0fTwvYj4gYWRldDwvc3Bhbj5gOwogICAgICAgICAgICAgICAg Y2FyZC5hcHBlbmRDaGlsZChpbmZvKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNhcmQuY2xhc3NOYW1lID0gYHBjICR7cC5zZWwg PyAnc2VsJyA6ICdwYXMnfWA7CiAgICAgICAgICAgICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdG9nZ2xlUChpZHgpKTsKICAg ICAgICAgICAgICAgIGNhcmQuaW5uZXJIVE1MID0gYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtY2hrIj4KICAgICAgICAgICAgICAgICAgICA8 aW5wdXQgdHlwZT0iY2hlY2tib3giICR7cC5zZWwgPyAnY2hlY2tlZCcgOiAnJ30gb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4KICAgICAg ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW9iLWMiPiR7cC5zZWwgPyAn4pyTJyA6ICcnfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAg ICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtaW1nLXdyYXAiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9InBjLWltZyIgc3JjPSIke3AuaW1n fSIgYWx0PSIke3AuaXNpbX0iIG9uZXJyb3I9InRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSciPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAg ICAgICA8YSBjbGFzcz0icGMtY2F0IiBocmVmPSIke2thdFVybFtwLmthdF0gfHwgJy9rYXRlZ29yaSd9IiB0YXJnZXQ9Il9ibGFuayIgb25jbGljaz0iZXZl bnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4ke3Aua2F0fTwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJwYy1uYW1lIiBocmVmPSIvdXJ1bi8ke3Auc2x1 Z30iIHRhcmdldD0iX2JsYW5rIiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsiPiR7cC5pc2ltfTwvYT4KICAgICAgICAgICAgICAgIDxkaXYg Y2xhc3M9InBjLXByaWNlLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjLXByaWNlIj4ke3AuZml5YXQudG9Mb2NhbGVTdHJpbmco J3RyLVRSJywge21pbmltdW1GcmFjdGlvbkRpZ2l0czoyfSl9IFRMPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA7CiAgICAg ICAgICAgICAgICBjb25zdCBkYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAgICAgICAgICAgZGIuY2xhc3NOYW1lID0gJ2J0 bi1kZXQnOyBkYi50ZXh0Q29udGVudCA9ICdEZXRheSDEsG5jZWxlJzsKICAgICAgICAgICAgICAgIGRiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9 PiB7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IG9wZW5Nb2RhbERpcmVjdChpZHgpOyB9KTsKICAgICAgICAgICAgICAgIGNhcmQucXVlcnlTZWxlY3RvcignLnBj LWltZycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IG9wZW5Nb2RhbERpcmVjdChpZHgpOyB9KTsKICAg ICAgICAgICAgICAgIGNhcmQuYXBwZW5kQ2hpbGQoZGIpOwogICAgICAgICAgICAgICAgY29uc3QgcXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn KTsKICAgICAgICAgICAgICAgIHFyLmNsYXNzTmFtZSA9ICdxdHktcm93JzsKICAgICAgICAgICAgICAgIHFyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg ZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKTsKICAgICAgICAgICAgICAgIHFyLmlubmVySFRNTCA9IGAKICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNs YXNzPSJxdHktYnRuIiAkeyFwLnNlbCA/ICdkaXNhYmxlZCcgOiAnJ30+LTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJxdHkt bnVtIj4ke3AuYWRldH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icXR5LWJ0biI+KzwvYnV0dG9uPgogICAgICAgICAgICAg ICAgYDsKICAgICAgICAgICAgICAgIHFyLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbjpmaXJzdC1jaGlsZCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkg PT4gY2hhbmdlUXR5KGlkeCwgLTEpKTsKICAgICAgICAgICAgICAgIHFyLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbjpsYXN0LWNoaWxkJykuYWRkRXZlbnRMaXN0 ZW5lcignY2xpY2snLCAoKSA9PiBjaGFuZ2VRdHkoaWR4LCAxKSk7CiAgICAgICAgICAgICAgICBjYXJkLmFwcGVuZENoaWxkKHFyKTsKICAgICAgICAgICAg fQogICAgICAgICAgICBncmlkLmFwcGVuZENoaWxkKGNhcmQpOwogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtZW1w dHknKS5zdHlsZS5kaXNwbGF5ID0gc2hvd24gPT09IDAgPyAnYmxvY2snIDogJ25vbmUnOwogICAgICAgIHVwZGF0ZUZvb3RlcigpOwogICAgfQogICAgZnVu Y3Rpb24gdG9nZ2xlUChpKSB7IFBbaV0uc2VsID0gIVBbaV0uc2VsOyByZW5kZXJHcmlkKCk7IH0KICAgIGZ1bmN0aW9uIGNoYW5nZVF0eShpLCBkKSB7CiAg ICAgICAgY29uc3QgbiA9IFBbaV0uYWRldCArIGQ7CiAgICAgICAgaWYgKG4gPD0gMCkgeyBQW2ldLmFkZXQgPSAxOyBQW2ldLnNlbCA9IGZhbHNlOyB9CiAg ICAgICAgZWxzZSB7IFBbaV0uYWRldCA9IG47IGlmIChkID4gMCkgUFtpXS5zZWwgPSB0cnVlOyB9CiAgICAgICAgcmVuZGVyR3JpZCgpOwogICAgICAgIGlm IChtb2RhbElkeCA9PT0gaSkgdXBkYXRlTW9kYWxVSSgpOwogICAgfQogICAgZnVuY3Rpb24gb3Blbk1vZGFsRGlyZWN0KGkpIHsKICAgICAgICBtb2RhbElk eCA9IGk7CiAgICAgICAgY29uc3QgcCA9IFBbaV07CgogICAgICAgIHVwZGF0ZU1vZGFsVUkoKTsKCiAgICAgICAgY29uc3QgZGVzY0VsID0gZG9jdW1lbnQu Z2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWRlc2MnKTsKICAgICAgICBkZXNjRWwuaW5uZXJIVE1MID0gKHAuZGV0YXkgfHwgJ0RldGF5IGJ1bHVuYW1hZMSxLicp ICsgYAogICAgICAgICAgICA8YnI+CiAgICAgICAgICAgIDxhIGhyZWY9Ii91cnVuLyR7cC5zbHVnfSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJtLWxpbmst bW9yZSI+CiAgICAgICAgICAgICAgICBUw7xtIMOWemVsbGlrbGVyaSDEsG5jZWxlCiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIg ZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49 InJvdW5kIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAy LTJoNiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDMgMjEgMyAyMSA5Ij48L3BvbHlsaW5lPgogICAgICAgICAg ICAgICAgICAgIDxsaW5lIHgxPSIxMCIgeTE9IjE0IiB4Mj0iMjEiIHkyPSIzIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAg PC9hPgogICAgICAgIGA7CgogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tLXNjcm9sbC1hcmVhJykuc2Nyb2xsVG9wID0gMDsKICAgICAgICBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW1vZGFsJykuY2xhc3NMaXN0LmFkZCgnb3BlbicpOwogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3Zl cmZsb3cgPSAnaGlkZGVuJzsKICAgIH0KICAgIGZ1bmN0aW9uIHVwZGF0ZU1vZGFsVUkoKSB7CiAgICAgICAgaWYobW9kYWxJZHggPT09IC0xKSByZXR1cm47 CiAgICAgICAgY29uc3QgcCA9IFBbbW9kYWxJZHhdOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1pbWcnKS5zcmMgPSBwLmltZzsK ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tc2t1JykudGV4dENvbnRlbnQgPSBgw5xyw7xuIEtvZHUgwrcgJHtwLnNrdX1gOwogICAg ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS10aXRsZScpLnRleHRDb250ZW50ID0gcC5pc2ltOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1l bnRCeUlkKCdkc2wtbS1jYXQnKS50ZXh0Q29udGVudCA9IHAua2F0OwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1yZWMnKS50ZXh0 Q29udGVudCA9IFRFS0xJRl9NT0RVCiAgICAgICAgICAgID8gYMOWxJ9yZW5jaSBiYcWfxLFuYSAke3AuYWRldH0gYWRldGAKICAgICAgICAgICAgOiBgJHtw LmFkZXR9IEFkZXRgOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1wcmljZScpLnRleHRDb250ZW50ID0gYCR7cC5maXlhdC50b0xv Y2FsZVN0cmluZygndHItVFInLCB7bWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9KX0gVExgOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wt bS1xdHknKS50ZXh0Q29udGVudCA9IHAuYWRldDsKCiAgICAgICAgLy8gVGVrbGlmIG1vZHVuZGEgbW9kYWwgc2FkZWNlIGJpbGdpIGFtYcOnbMSxOiBsaXN0 ZSBla2xlL8OnxLFrYXIgYnV0b251IHlvawogICAgICAgIGlmICghVEVLTElGX01PRFUpIHsKICAgICAgICAgICAgY29uc3QgYnRuID0gZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ2RzbC1tLWJ0bicpOwogICAgICAgICAgICBidG4udGV4dENvbnRlbnQgPSBwLnNlbCA/ICdMaXN0ZWRlIOKckycgOiAnTGlzdGV5ZSBF a2xlJzsKICAgICAgICAgICAgYnRuLmNsYXNzTmFtZSA9IHAuc2VsID8gJ21idG4gaW5sJyA6ICdtYnRuIGFkZCc7CiAgICAgICAgfQogICAgfQogICAgZnVu Y3Rpb24gY2xvc2VNb2RhbCgpIHsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW1vZGFsJykuY2xhc3NMaXN0LnJlbW92ZSgnb3Blbicp OwogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsKICAgICAgICBtb2RhbElkeCA9IC0xOwogICAgfQogICAgZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ2RzbC1tY2xzJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZU1vZGFsKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCdkc2wtbW9kYWwnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsgaWYgKGUudGFyZ2V0ID09PSB0aGlzKSBjbG9zZU1vZGFsKCk7 IH0pOwoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1taW51cycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4geyBpZiAobW9k YWxJZHggPiAtMSkgY2hhbmdlUXR5KG1vZGFsSWR4LCAtMSk7IH0pOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLXBsdXMnKS5hZGRFdmVu dExpc3RlbmVyKCdjbGljaycsICgpID0+IHsgaWYgKG1vZGFsSWR4ID4gLTEpIGNoYW5nZVF0eShtb2RhbElkeCwgMSk7IH0pOwogICAgZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ2RzbC1tLWJ0bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgICAgIGlmIChtb2RhbElkeCA9PT0gLTEpIHJl dHVybjsKICAgICAgICB0b2dnbGVQKG1vZGFsSWR4KTsKICAgICAgICB1cGRhdGVNb2RhbFVJKCk7CiAgICB9KTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRC eUlkKCdkc2wtYnRuLWFsbCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgICAgIGNvbnN0IHZpcyA9IFAuZmlsdGVyKHAgPT4gYWN0 aXZlS2F0ID09PSAndHVtdScgfHwgcC5rYXQgPT09IGFjdGl2ZUthdCk7CiAgICAgICAgY29uc3QgYWxsID0gdmlzLmV2ZXJ5KHAgPT4gcC5zZWwpOwogICAg ICAgIHZpcy5mb3JFYWNoKHAgPT4gcC5zZWwgPSAhYWxsKTsKICAgICAgICByZW5kZXJHcmlkKCk7CiAgICB9KTsKCiAgICBmdW5jdGlvbiBhc2tPZ3JlbmNp U2F5aXNpKCkgewogICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgICAgICAgICBjb25zdCBhc2sgPSBkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgnZHNsLWFzaycpOwogICAgICAgICAgICBjb25zdCBpbnAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzay1pbnB1dCcpOwog ICAgICAgICAgICBjb25zdCBlcnIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzay1lcnInKTsKICAgICAgICAgICAgY29uc3QgYnRuT2sgPSBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzay1vaycpOwogICAgICAgICAgICBjb25zdCBidG5DYW5jZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCgnZHNsLWFzay1jYW5jZWwnKTsKICAgICAgICAgICAgZXJyLnRleHRDb250ZW50ID0gJyc7CiAgICAgICAgICAgIGlucC52YWx1ZSA9ICcxJzsKICAgICAg ICAgICAgYXNrLmNsYXNzTGlzdC5hZGQoJ29wZW4nKTsKICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nOwogICAg ICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgaW5wLmZvY3VzKCk7IGlucC5zZWxlY3QoKTsgfSwgNTApOwoKICAgICAgICAgICAgZnVuY3Rpb24ga2FwYXQo dmFsKSB7CiAgICAgICAgICAgICAgICBhc2suY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpOwogICAgICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgnZHNsLW1vZGFsJykuY2xhc3NMaXN0LmNvbnRhaW5zKCdvcGVuJykpIHsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxl Lm92ZXJmbG93ID0gJyc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBidG5Pay5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIG9uT2sp OwogICAgICAgICAgICAgICAgYnRuQ2FuY2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25DYW5jZWwpOwogICAgICAgICAgICAgICAgYXNrLnJl bW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25CYWNrZHJvcCk7CiAgICAgICAgICAgICAgICBpbnAucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bics IG9uS2V5KTsKICAgICAgICAgICAgICAgIHJlc29sdmUodmFsKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmdW5jdGlvbiBvbk9rKCkgewogICAgICAg ICAgICAgICAgY29uc3QgbiA9IE1hdGguZmxvb3IoTnVtYmVyKGlucC52YWx1ZSkpOwogICAgICAgICAgICAgICAgaWYgKCFuIHx8IG4gPCAxKSB7CiAgICAg ICAgICAgICAgICAgICAgZXJyLnRleHRDb250ZW50ID0gJ0zDvHRmZW4gZ2XDp2VybGkgYmlyIMO2xJ9yZW5jaSBzYXnEsXPEsSBnaXJpbiAoZW4gYXogMSku JzsKICAgICAgICAgICAgICAgICAgICBpbnAuZm9jdXMoKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICBrYXBhdChuKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmdW5jdGlvbiBvbkNhbmNlbCgpIHsga2FwYXQobnVsbCk7IH0KICAgICAgICAg ICAgZnVuY3Rpb24gb25CYWNrZHJvcChlKSB7IGlmIChlLnRhcmdldCA9PT0gYXNrKSBrYXBhdChudWxsKTsgfQogICAgICAgICAgICBmdW5jdGlvbiBvbktl eShlKSB7CiAgICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBvbk9rKCk7IH0KICAgICAgICAgICAg ICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBvbkNhbmNlbCgpOyB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAg YnRuT2suYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBvbk9rKTsKICAgICAgICAgICAgYnRuQ2FuY2VsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25D YW5jZWwpOwogICAgICAgICAgICBhc2suYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBvbkJhY2tkcm9wKTsKICAgICAgICAgICAgaW5wLmFkZEV2ZW50TGlz dGVuZXIoJ2tleWRvd24nLCBvbktleSk7CiAgICAgICAgfSk7CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gc2VwZXRlRWtsZShzZWwsIHN0dWRlbnRDb3Vu dCkgewogICAgICAgIGNvbnN0IG92ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1vdicpOwogICAgICAgIGNvbnN0IGJhciA9IGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCdkc2wtYmFyJyk7CgogICAgICAgIGZ1bmN0aW9uIGFudGljc3JmQWwoKSB7CiAgICAgICAgICAgIGNvbnN0IG1ldGEgPSBkb2N1bWVu dC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9ImFudGljc3JmIl0nKTsKICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5hbnRpY3NyZiB8fCAodHlwZW9mIGFu dGljc3JmICE9PSAndW5kZWZpbmVkJyA/IGFudGljc3JmIDogJycpIHx8IChtZXRhICYmIG1ldGEuY29udGVudCkgfHwgJyc7CiAgICAgICAgfQoKICAgICAg ICBjb25zdCBla3Npa0lkID0gc2VsLmZpbHRlcihwID0+ICEocC5pZCB8fCBza3VNYXBbcC5za3VdKSk7CiAgICAgICAgaWYgKGVrc2lrSWQubGVuZ3RoKSB7 CiAgICAgICAgICAgIGFsZXJ0KCfFnnUgw7xyw7xubGVyIHNpc3RlbSBJRCBla3NpayBvbGR1xJ91IGnDp2luIHNlcGV0ZSBla2xlbmVtZXo6XG5cbicgKwog ICAgICAgICAgICAgICAgZWtzaWtJZC5tYXAocCA9PiAn4oCiICcgKyBwLmlzaW0pLmpvaW4oJ1xuJykgKwogICAgICAgICAgICAgICAgJ1xuXG5TYXlmYXnE sSBFbGVjdHJvblwnZGFuIHNpc3RlbSDDvHLDvG5sZXJpeWxlIHllbmlkZW4gw7xyZXRpbi4nKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAg ICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNwaW4nKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub2ttYXJr Jykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtdGl0bGUnKS50ZXh0Q29udGVudCA9ICdTZXBldGUgRWts ZW5peW9yLi4uJzsKICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtZGV0YWlsJykudGV4dENvbnRlbnQgPSAnTMO8dGZlbiBiZWtsZXlpbml6JzsKICAg ICAgICBiYXIuc3R5bGUud2lkdGggPSAnMCUnOwogICAgICAgIG92LnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7CgogICAgICAgIGNvbnN0IGhhdGFsYXIgPSBb XTsKICAgICAgICB0cnkgewogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgY29uc3Qg cCA9IHNlbFtpXTsKICAgICAgICAgICAgICAgIGNvbnN0IHBpZCA9IFN0cmluZyhwLmlkIHx8IHNrdU1hcFtwLnNrdV0gfHwgJycpOwogICAgICAgICAgICAg ICAgY29uc3QgcXR5ID0gTWF0aC5tYXgoMSwgTWF0aC5mbG9vcihOdW1iZXIocC5hZGV0KSB8fCAxKSAqIE1hdGguZmxvb3IoTnVtYmVyKHN0dWRlbnRDb3Vu dCkgfHwgMSkpOwoKICAgICAgICAgICAgICAgIGJhci5zdHlsZS53aWR0aCA9IGAke01hdGgucm91bmQoKGkgLyBzZWwubGVuZ3RoKSAqIDkwKX0lYDsKICAg ICAgICAgICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1jbnQnKS50ZXh0Q29udGVudCA9IGAke2kgKyAxfSAvICR7c2VsLmxlbmd0aH1gOwogICAgICAg ICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLm92LWRldGFpbCcpLnRleHRDb250ZW50ID0gcC5pc2ltOwoKICAgICAgICAgICAgICAgIGNvbnN0IGZkID0g bmV3IFVSTFNlYXJjaFBhcmFtcyh7CiAgICAgICAgICAgICAgICAgICAgYW50aWNzcmY6IGFudGljc3JmQWwoKSwKICAgICAgICAgICAgICAgICAgICBwcm9k dWN0SWQ6IHBpZCwKICAgICAgICAgICAgICAgICAgICBxdWFudGl0eTogU3RyaW5nKHF0eSkKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAg Y29uc3QgcmVzID0gYXdhaXQgZmV0Y2goJy9jYXJ0L2FkZF9pdGVtJywgewogICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLCBib2R5OiBmZCwg Y3JlZGVudGlhbHM6ICdpbmNsdWRlJywKICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5 cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJywKICAgICAgICAgICAgICAgICAgICAgICAgJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1M SHR0cFJlcXVlc3QnCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0gYXdhaXQg cmVzLnRleHQoKTsKICAgICAgICAgICAgICAgIGxldCBvayA9IHJlcy5vazsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgY29u c3QgaiA9IEpTT04ucGFyc2UoYm9keSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGogJiYgKGouc3RhdHVzID09PSAnZXJyb3InIHx8IGouc3VjY2VzcyA9 PT0gZmFsc2UgfHwgai5lcnJvcikpIG9rID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChfKSB7IC8qIEhUTUwgY2V2YXAgb2xhYmlsaXI7IHN0 YXR1cy5jb2RlIHlldGVybGkgKi8gfQogICAgICAgICAgICAgICAgaWYgKCFvaykgewogICAgICAgICAgICAgICAgICAgIGhhdGFsYXIucHVzaChwLmlzaW0g KyAocmVzLnN0YXR1cyA/IGAgKEhUVFAgJHtyZXMuc3RhdHVzfSlgIDogJycpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChpIDwg c2VsLmxlbmd0aCAtIDEpIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCAxMDAwKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYg KGhhdGFsYXIubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBvdi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgYWxlcnQoJ0JhesSx IMO8csO8bmxlciBzZXBldGUgZWtsZW5lbWVkaTpcblxuJyArCiAgICAgICAgICAgICAgICAgICAgaGF0YWxhci5tYXAoaCA9PiAn4oCiICcgKyBoKS5qb2lu KCdcbicpICsKICAgICAgICAgICAgICAgICAgICAnXG5cblNlcGV0aSBrb250cm9sIGVkaXAga2FsYW4gw7xyw7xubGVyIGnDp2luIHRla3JhciBkZW5leWlu LicpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChLVVBPTikgewogICAgICAgICAgICAgICAgYmFyLnN0 eWxlLndpZHRoID0gJzkyJSc7CiAgICAgICAgICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtdGl0bGUnKS50ZXh0Q29udGVudCA9ICdLdXBvbiBVeWd1 bGFuxLF5b3IuLi4nOwogICAgICAgICAgICAgICAgYXdhaXQgZmV0Y2goJy9oZWRpeWUtY2VraS1rdWxsYW4nLCB7CiAgICAgICAgICAgICAgICAgICAgbWV0 aG9kOiAnUE9TVCcsCiAgICAgICAgICAgICAgICAgICAgYm9keTogbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGFudGljc3JmOiBhbnRpY3NyZkFsKCksIGNvZGU6 IEtVUE9OIH0pLAogICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsCiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogewogICAg ICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsCiAgICAgICAgICAgICAgICAg ICAgICAgICdYLVJlcXVlc3RlZC1XaXRoJzogJ1hNTEh0dHBSZXF1ZXN0JwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAg ICAgICAgICB9CiAgICAgICAgICAgIGJhci5zdHlsZS53aWR0aCA9ICcxMDAlJzsKICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNwaW4nKS5zdHls ZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub2ttYXJrJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAg ICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi10aXRsZScpLnRleHRDb250ZW50ID0gJ1RhbWFtbGFuZMSxISc7CiAgICAgICAgICAgIG92LnF1ZXJ5U2Vs ZWN0b3IoJy5vdi1kZXRhaWwnKS50ZXh0Q29udGVudCA9ICdZw7ZubGVuZGlyaWxpeW9yc3VudXouLi4nOwoKICAgICAgICAgICAgYXdhaXQgbmV3IFByb21p c2UociA9PiBzZXRUaW1lb3V0KHIsIDgwMCkpOwogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VwZXQnOwogICAgICAgIH0gY2F0Y2go ZSkgewogICAgICAgICAgICBvdi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICBhbGVydChgSGF0YTogJHtlLm1lc3NhZ2V9YCk7CiAgICAg ICAgfQogICAgfQoKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYnRuLWNhcnQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgp ID0+IHsKICAgICAgICBjb25zdCBzZWwgPSBQLmZpbHRlcihwID0+IHAuc2VsICYmIHAuYWRldCA+IDApOwogICAgICAgIGlmICghc2VsLmxlbmd0aCkgcmV0 dXJuIGFsZXJ0KCdMw7x0ZmVuIGVuIGF6IGJpciDDvHLDvG4gc2XDp2luLicpOwoKICAgICAgICBsZXQgc3R1ZGVudENvdW50ID0gMTsKICAgICAgICBpZiAo VEVLTElGX01PRFUpIHsKICAgICAgICAgICAgY29uc3QgY2V2YXAgPSBhd2FpdCBhc2tPZ3JlbmNpU2F5aXNpKCk7CiAgICAgICAgICAgIGlmIChjZXZhcCA9 PT0gbnVsbCkgcmV0dXJuOwogICAgICAgICAgICBzdHVkZW50Q291bnQgPSBjZXZhcDsKICAgICAgICB9CiAgICAgICAgYXdhaXQgc2VwZXRlRWtsZShzZWws IHN0dWRlbnRDb3VudCk7CiAgICB9KTsKICAgIC8vIFRla2xpZiBtb2R1OiDDvHLDvG4gc2XDp21lL8OnxLFrYXJtYSB5b2sg4oaSICJUw7xtw7xuw7wgc2XD py9rYWxkxLFyIiBnaXpsaTsgbW9kYWwKICAgIC8vIHNhZGVjZSBhw6fEsWtsYW1hIGfDtnN0ZXJpciDihpIgYWRldCArLy0gdmUgIkxpc3RleWUgRWtsZSIg Z2l6bGkuCiAgICBpZiAoVEVLTElGX01PRFUpIHsKICAgICAgICBjb25zdCBidG5BbGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWJ0bi1hbGwn KTsKICAgICAgICBpZiAoYnRuQWxsKSBidG5BbGwuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICBjb25zdCBtcSA9IGRvY3VtZW50LnF1ZXJ5U2Vs ZWN0b3IoJyNkc2wtbW9kYWwgLm1xdHknKTsKICAgICAgICBpZiAobXEpIG1xLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgY29uc3QgbUJ0biA9 IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1idG4nKTsKICAgICAgICBpZiAobUJ0bikgbUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAg fQogICAgcmVuZGVyUGlsbHMoKTsKICAgIHJlbmRlckdyaWQoKTsKfSkoKTsK