# an7_img v0.4 # Set of tags for image display and integration of the Litebox script # Iaian7 - John Einselen # http://iaian7.com/txp/an7_img # ...................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ...................................................................... YTo5OntzOjQ6Im5hbWUiO3M6NzoiYW43X2ltZyI7czo3OiJ2ZXJzaW9uIjtzOjM6IjAuNCI7 czo2OiJhdXRob3IiO3M6MjI6IklhaWFuNyAtIEpvaG4gRWluc2VsZW4iO3M6MTA6ImF1dGhv cl91cmkiO3M6Mjk6Imh0dHA6Ly9pYWlhbjcuY29tL3R4cC9hbjdfaW1nIjtzOjExOiJkZXNj cmlwdGlvbiI7czo2NzoiU2V0IG9mIHRhZ3MgZm9yIGltYWdlIGRpc3BsYXkgYW5kIGludGVn cmF0aW9uIG9mIHRoZSBMaXRlYm94IHNjcmlwdCI7czo0OiJ0eXBlIjtpOjA7czo0OiJoZWxw IjtzOjYxMzI6Igk8cD48Yj48c3BhbiBjbGFzcz0iY2FwcyI+SU5UUk9EVUNUSU9OPC9zcGFu PiAmIzgyMTE7IDwvYj48YnIgLz4KVGhpcyBpcyBhIHNldCBvZiB0aHJlZSBUZXh0cGF0dGVy biB0YWdzIHRvIG1ha2UgaW1hZ2UgaGFuZGxpbmcgYSBsaXR0bGUgZWFzaWVyLjxiciAvPgo8 aT5hbjdfZGlyPC9pPiByZWFkcyBhIGRpcmVjdG9yeSBhbmQgaW5zZXJ0cyBhbGwgZm91bmQg aW1hZ2VzIGluIGEgTGl0ZWJveCBzY3JpcHQuPGJyIC8+CjxpPmFuN19pbWdib3g8L2k+IGlu c2VydHMgYSBzaW5nbGUgaW1hZ2Ugd2l0aCB0aGUgTGl0ZWJveCBzY3JpcHQuPGJyIC8+Cjxp PmFuN19pbWc8L2k+IGluc2VydHMgYSBzaW5nbGUgaW1hZ2Ugd2l0aCBhIGxpdHRsZSA8c3Bh biBjbGFzcz0iY2FwcyI+Q1NTPC9zcGFuPiBmb3JtYXR0aW5nIChhcmd1YWJseSB1bm5lZWRl ZCwgYnV0IGhlbHBzIGtlZXAgZm9ybWF0cyBjb25zaXN0ZW50LCBhbmQgdGh1cyBlYXNpbHkg c3dpdGNoYWJsZSB0byA8ZW0+aW1nYm94PC9lbT4pLjwvcD4KCgk8cD5EbyBub3RlIHRoYXQg dGhlc2Ugd2lsbCBvbmx5IG9wZXJhdGUgd2l0aGluIGFuIDxlbT5pbWFnZXMvPC9lbT4gZm9s ZGVyIGluIHRoZSBiYXNlIGRpcmVjdG9yeSBmb3IgVGV4dHBhdHRlcm4sIGFuZCB0aGF0IHRo dW1ibmFpbHMgbXVzdCBiZSBwbGFjZWQgKG1hbnVhbGx5KSBpbiBhIDxlbT50aHVtYnMvPC9l bT4gc3ViZm9sZGVyLiAgU29ycnksIHRoZSBwbHVnaW4gaXNuJiM4MjE3O3QgdGhhdCBzb3Bo aXN0aWNhdGVkLjwvcD4KCgk8cD48Yj48c3BhbiBjbGFzcz0iY2FwcyI+UExVR0lOPC9zcGFu PiA8c3BhbiBjbGFzcz0iY2FwcyI+U0VUVVA8L3NwYW4+ICYjODIxMTsgPC9iPjxiciAvPgpZ b3UmIzgyMTc7bGwgbmVlZCB0byBkb3dubG9hZCBhbmQgaW5zdGFsbCBUeWxlciBNdWxsaWdh biYjODIxNztzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZG9rbm93ZXZpbC5uZXQvbGl0ZWJveC8i PkxpdGVib3g8L2E+LCBtYWtpbmcgc3VyZSB0byBsaW5rIHRoZSBuZWVkZWQgPHNwYW4gY2xh c3M9ImNhcHMiPkNTUzwvc3Bhbj4gYW5kIEpTIGZpbGVzIGluIGVhY2ggcGFnZSBoZWFkZXIg KGZvbGxvdyB0aGUgaGVhZGVyIGluc3RydWN0aW9ucyBmcm9tIHRoZSBMaXRlYm94IHBhZ2Up LiAgVGhlIEpTIGZpbGVzIGFyZSA8ZW0+cXVpdGUgc21hbGw8L2VtPiwgc28gaW5jbHVkaW5n IHRoZW0gaW4gZXZlcnkgVGV4dFBhdHRlcm4gaGVhZGVyIHNob3VsZG4mIzgyMTc7dCBzbG93 IHBhZ2UgbG9hZHMuPC9wPgoKCTxwPkl0JiM4MjE3O3MgcHJldHR5IHNpbXBsZSwgc28gbG9u ZyBhcyB0aGUgYWJvdmUgcGx1Z2luIGlzIGluc3RhbGxlZCBhbmQgdGhlIGZpbGVzIGFyZSBh ZGRlZCB0byB0aGUgcGFnZSBoZWFkZXIuICBGb3IgdGh1bWJuYWlscywgeW91JiM4MjE3O2xs IG5lZWQgdG8gc2F2ZSBhIHRodW1ibmFpbCBvZiBlYWNoIGltYWdlLiAgVGhlIHRodW1ibmFp bCBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZSBhcyB0aGUgb3JpZ2luYWwsIGFuZCBtdXN0IHJl c2lkZSBpbnNpZGUgYSAmIzgyMjA7dGh1bWJzJiM4MjIxOyBmb2xkZXIgcGxhY2VkIGluIHRo ZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUgY29ycmVzcG9uZGluZyBpbWFnZSBmaWxlLjwvcD4K Cgk8cD5UaGVyZSBhcmUgc29tZXRpbWVzIGlzc3VlcyB3aXRoIGltYWdlIGxpbmtzIHdoZW4g dXNpbmcgc2l0ZXMgd2l0aCBjbGVhbiBVUkxzIHZzLiBtZXNzeS4gIFRoZSBkZWZhdWx0IHBs dWdpbiBzZXR1cCBpcyBmb3IgY2xlYW4gVVJMcywgYW5kIHByZXBlbmRzICYjODIyMDsvJiM4 MjIxOyB0byBlYWNoIGxpbmsuICBJZiB5b3UmIzgyMTc7cmUgdXNpbmcgbWVzc3kgcGx1Z2lu cyBvciB0aGluZ3MgYXJlbiYjODIxNzt0IHdvcmtpbmcgY29ycmVjdGx5LCBlaXRoZXIgZGVs ZXRlIHRoZSBmb3J3YXJkIHNsYXNoIG9yIGFkZCB5b3VyIG93biBzdHJpbmcgKHlvdSBjb3Vs ZCBldmVuIHNwZWNpZnkgYSBkaWZmZXJlbnQgc2VydmVyIHRvIHB1bGwgaW1hZ2VzIGZyb20h KS4gIEtlZXAgaW4gbWluZCB0aGF0IHlvdSBtYXkgbmVlZCB0byB0d2VhayB0aGUgbGlua3Mg dXNlZCBpbiB0aGUgbGl0ZWJveCBqYXZhc2NyaXB0IGFzIHdlbGwuPC9wPgoKCTxwPjxzdHJv bmc+PHNwYW4gY2xhc3M9ImNhcHMiPlVTRTwvc3Bhbj4gJiM4MjExOyA8L3N0cm9uZz48YnIg Lz4KPGI+PCB0eHA6YW43X2ltZ2RpciBkaXI9IjIwMDYvMTAvMjUvIiAvPjwvYj48YnIgLz4K PGVtPmRpcj0mIzgyMjE7ICYjODIyMDs8L2VtPiAmIzgyMTI7IHRoaXMgaXMgdGhlIGZvbGRl ciBwYXRoIHRoYXQgY29udGFpbnMgdGhlIGRlc2lyZWQgaW1hZ2VzLCBhbmQgaXMgdGhlIG9u bHkgcmVxdWlyZWQgdmFsdWUgKHRodW1ibmFpbHMgYXJlIGF1dG9tYXRpY2FsbHkgZHJhd24g ZnJvbSB0aGUgJiM4MjIwO3RodW1icyYjODIyMTsgc3ViZm9sZGVyIGluIHRoZSBzYW1lIHBh dGgpLjwvcD4KCgk8cD48ZW0+c2V0PSYjODIyMTsgJiM4MjIwOzwvZW0+ICYjODIxMjsgZGVm aW5lcyB0aGUgaW1hZ2Ugc2V0LCB1c2VkIGZvciBuYXZpZ2F0aW5nIHByZXYvbmV4dC4gIEJ5 IGRlZmF1bHQsIGl0IHVzZXMgdGhlICYjODIyMDtkaXImIzgyMjE7IHZhbHVlLCBtYWtpbmcg ZWFjaCBmb2xkZXIgYXV0b21hdGljYWxseSBncm91cGVkLjwvcD4KCgk8cD48ZW0+YWx0PSYj ODIyMTsgJiM4MjIwOzwvZW0+ICYjODIxMjsgc2V0cyBhbHQgdGV4dCBmb3IgYWxsIGltYWdl cywgdGhlIGRlZmF1bHQgaXMgYmxhbmsuPC9wPgoKCTxwPjxlbT5jbGFzcz0mIzgyMjE7ICYj ODIyMDs8L2VtPiAmIzgyMTI7IHRoZSBkaXYgY2xhc3MgdGhhdCBjb250YWlucyB0aGUgZ3Jv dXAgb2YgdGh1bWJuYWlscywgZGVmYXVsdCBpcyAmIzgyMjA7bGl0ZWJveCYjODIyMTsuPC9w PgoKCTxwPjxlbT5jbGFzc3RodW1iPSYjODIyMTsgJiM4MjIwOzwvZW0+ICYjODIxMjsgdGhl IGNsYXNzIGZvciBlYWNoIHRodW1ibmFpbCwgZGVmYXVsdCBpcyAmIzgyMjA7bGl0ZWJveHRo dW1iJiM4MjIxOy48L3A+CgoJPHA+PGVtPmZsb2F0PSYjODIyMTsgJiM4MjIwOzwvZW0+ICYj ODIxMjsgPHNwYW4gY2xhc3M9ImNhcHMiPkNTUzwvc3Bhbj4gc2V0dGluZyBmb3IgaW5saW5l IGZsb2F0aW5nIChhcHBsaWVkIHRvIHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+RElWPC9zcGFu PiBjb250YWluaW5nIHRoZSB0aHVtYm5haWxzKS4gIFNldCB0aGlzIHRvICYjODIyMDtsZWZ0 JiM4MjIxOywgJiM4MjIwO3JpZ2h0JiM4MjIxOywgb3IgJiM4MjIwO25vbmUmIzgyMjE7LiAg RGVmYXVsdCBpcyAmIzgyMjA7bm9uZSYjODIyMTsuPC9wPgoKCTxwPjxiPjwgdHhwOmFuN19p bWdib3ggZGlyPSIyMDA2LzEwLzI1LyIgLz48L2I+PGJyIC8+CjxlbT5kaXI9JiM4MjIxOyAm IzgyMjA7PC9lbT4gJiM4MjEyOyB0aGlzIGlzIHRoZSBwYXRoIHRvIHRoZSBpbWFnZS48L3A+ CgoJPHA+PGVtPmltZz0mIzgyMjE7ICYjODIyMDs8L2VtPiAmIzgyMTI7IHRoaXMgaXMgdGhl IGltYWdlIGZpbGUsIHRoZXNlIGZpcnN0IHR3byBhcmUgdGhlIG9ubHkgb25lcyByZXF1aXJl ZC48L3A+CgoJPHA+PGVtPnNldD0mIzgyMjE7ICYjODIyMDs8L2VtPiAmIzgyMTI7IGRlZmlu ZXMgdGhlIGltYWdlIHNldCwgdXNlZCBmb3IgbmF2aWdhdGluZyBwcmV2L25leHQuICBieSBk ZWZhdWx0LCBpdCB1c2VzIHRoZSAmIzgyMjA7ZGlyJiM4MjIxOyB2YWx1ZSwgbWFraW5nIGVh Y2ggdXNlIHVuaXF1ZSAodW5sZXNzIHlvdSYjODIxNztyZSBsb2FkaW5nIHRoZSBzYW1lIGlt YWdlIG11bHRpcGxlIHRpbWVzLCBpbiB3aGljaCBjYXNlIHRoZSBkZWZhdWx0IHdpbGwgcHV0 IHRoZW0gYWxsIHNpbiB0aGUgc2FtZSBzZXQpPC9wPgoKCTxwPjxlbT5hbHQ9JiM4MjIxOyAm IzgyMjA7PC9lbT4gJiM4MjEyOyBzZXRzIGFsdCB0ZXh0IGZvciBhbGwgaW1hZ2VzLCB0aGUg ZGVmYXVsdCBpcyBibGFuay48L3A+CgoJPHA+PGVtPmNsYXNzdGh1bWI9JiM4MjIxOyAmIzgy MjA7PC9lbT4gJiM4MjEyOyB0aGUgdGh1bWJuYWlsIGNsYXNzLCBkZWZhdWx0IGlzICYjODIy MDtsaXRlYm94dGh1bWImIzgyMjE7LjwvcD4KCgk8cD48ZW0+ZmxvYXQ9JiM4MjIxOyAmIzgy MjA7PC9lbT4gPHNwYW4gY2xhc3M9ImNhcHMiPkNTUzwvc3Bhbj4gc2V0dGluZyBmb3IgaW5s aW5lIGZsb2F0aW5nLiAgU2V0IHRoaXMgdG8gJiM4MjIwO2xlZnQmIzgyMjE7LCAmIzgyMjA7 cmlnaHQmIzgyMjE7LCBvciAmIzgyMjA7bm9uZSYjODIyMTsuICBEZWZhdWx0IGlzICYjODIy MDtub25lJiM4MjIxOy48L3A+CgoJPHA+PGI+PCB0eHA6YW43X2ltZyBkaXI9IjIwMDYvMTAv MjUvaW1hZ2UwMDEuanBnIiAvPjwvYj48YnIgLz4KPGVtPmRpcj0mIzgyMjE7ICYjODIyMDs8 L2VtPiAmIzgyMTI7IHRoaXMgaXMgdGhlIHBhdGggdG8gdGhlIGltYWdlLjwvcD4KCgk8cD48 ZW0+aW1nPSYjODIyMTsgJiM4MjIwOzwvZW0+ICYjODIxMjsgdGhpcyBpcyB0aGUgaW1hZ2Ug ZmlsZSwgdGhlc2UgZmlyc3QgdHdvIGFyZSB0aGUgb25seSBvbmVzIHJlcXVpcmVkLjwvcD4K Cgk8cD48ZW0+YWx0PSYjODIyMTsgJiM4MjIwOzwvZW0+ICYjODIxMjsgc2V0cyBhbHQgdGV4 dCBmb3IgYWxsIGltYWdlcywgdGhlIGRlZmF1bHQgaXMgYmxhbmsuPC9wPgoKCTxwPjxlbT5j bGFzcz0mIzgyMjE7ICYjODIyMDs8L2VtPiAmIzgyMTI7IDxzcGFuIGNsYXNzPSJjYXBzIj5D U1M8L3NwYW4+IGNsYXNzIGZvciB0aGUgaW1hZ2UsIGRlZmF1bHQgaXMgJiM4MjIwO2ltZyYj ODIyMTsuPC9wPgoKCTxwPjxlbT5mbG9hdD0mIzgyMjE7ICYjODIyMDs8L2VtPiAmIzgyMTI7 IDxzcGFuIGNsYXNzPSJjYXBzIj5DU1M8L3NwYW4+IHNldHRpbmcgZm9yIGlubGluZSBmbG9h dGluZy4gIFNldCB0aGlzIHRvICYjODIyMDtsZWZ0JiM4MjIxOywgJiM4MjIwO3JpZ2h0JiM4 MjIxOywgb3IgJiM4MjIwO25vbmUmIzgyMjE7LiAgRGVmYXVsdCBpcyAmIzgyMjA7bm9uZSYj ODIyMTsuPC9wPgoKCTxwPjxzdHJvbmc+PHNwYW4gY2xhc3M9ImNhcHMiPklNUE9SVEFOVDwv c3Bhbj4gPHNwYW4gY2xhc3M9ImNhcHMiPk5PVEVTPC9zcGFuPiAmIzgyMTE7IDwvc3Ryb25n PjxiciAvPgpJZiB5b3UgdXNlIGEgYmFzZSBkaXJlY3Rvcnkgb3RoZXIgdGhhbiA8ZW0+aW1h Z2VzLzwvZW0+LCB5b3UmIzgyMTc7bGwgbmVlZCB0byBjaGFuZ2UgdGhlIDxlbT4kaW1nZGly ID0gJiM4MjE2O2ltYWdlcy8mIzgyMTc7Li4uPC9lbT4gc2V0dGluZyBmb3IgZWFjaCB0YWcu PC9wPgoKCTxwPlRoZSB0aHVtYm5haWxzIGhhdmUgdG8gYmUgdGhlIHNhbWUgbmFtZSBhcyB0 aGUgb3JpZ2luYWwgaW1hZ2UsIGFuZCBwbGFjZWQgd2l0aGluIGEgJiM4MjIwO3RodW1icyYj ODIyMTsgc3ViZGlyZWN0b3J5LiAgVGhlcmUgd291bGQgYmUgb3RoZXIgc29sdXRpb25zLCBi dXQgdGhleSB3b3VsZCBpbnZvbHZlIHNvcnRpbmcgdGhlIGFycmF5IGludG8gdGh1bWJuYWls cyBhbmQgbm9uLXRodW1ibmFpbHMsIGFuZCB0aGF0JiM4MjE3O3MgYSBiaXQgYmV5b25kIG1l LiAgVGhpcyB3b3JrcywgYW5kIGtlZXBzIHRoaW5ncyB3ZWxsIGVub3VnaCBvcmdhbml6ZWQs IHNvIEkgZ3Vlc3MgSSYjODIxNzttIG5vdCB0ZXJyaWJseSB3b3JyaWVkIHlldC48L3A+CgoJ PHA+PHN0cm9uZz48c3BhbiBjbGFzcz0iY2FwcyI+Q1JFRElUUzwvc3Bhbj4gJiM4MjExOyA8 L3N0cm9uZz48YnIgLz4KdGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5QSFA8L3NwYW4+IGNvZGUg aXMgYnVpbHQgZnJvbSA8YSBocmVmPSJodHRwOi8vZnVuZGlzb20uY29tL3BocHNuaXBwZXRz L3NuaXAvaW1hZ2VfbGlzdGluZy9saXN0X2ltYWdlX2ZvbGRlci8iPmxpeGxwaXhlbDwvYT4g PHNwYW4gY2xhc3M9ImNhcHMiPlBIUDwvc3Bhbj4gc25pcHBldHMgYW5kIHRoZSBleGNlbGxl bnQgdHV0b3JpYWxzIGF0IDxhIGhyZWY9Imh0dHA6Ly90aHJlc2hvbGRzdGF0ZS5jb20vYXJ0 aWNsZXMvMzk3NS9hbmF0b215LW9mLWEtdGV4dHBhdHRlcm4tcGx1Z2luLXBhcnQtMSI+dGhy ZXNob2xkc3RhdGUuY29tPC9hPjxiciAvPgo8YSBocmVmPSJodHRwOi8vd3d3LnN0ZWVsc25v d2ZsYWtlLmNvbS8iPkVsaWh1IElobXM8L2E+IHdhcyBvZiBpbnZhbHVhYmxlIGhlbHAgaW4g ZmluaXNoaW5nIHRoZSBkaXJlY3RvcnkgY29kZSBjb3JyZWN0aW9ucyBuZWVkZWQgdG8gd29y ayBpbiBUZXhwYXR0ZXJuLiAgVGhhbmsgeW91IHNvIG11Y2ghPC9wPiI7czo0OiJjb2RlIjtz OjM1ODU6IgpmdW5jdGlvbiBhbjdfaW1nZGlyKCRhdHRzKSB7CglnbG9iYWwgJHRoaXNhcnRp Y2xlOwoJZXh0cmFjdChsQXR0cyhhcnJheSgKCQknZGlyJwk9PiAnJywJCQkJLy8gdGhlIGRp cmVjdG9yeSB3aGVyZSB5b3VyIGltYWdlcyBhcmUgc3RvcmVkCgkJJ3NldCcJPT4gJ2lkJywJ CQkvLyBnYWxsZXJ5IHNldCwgZGVmYXVsdCBpcyAiaWQiLCB3aGljaCBsaW5rcyB0byBBcnRp Y2xlIElEIG51bWJlcgoJCSdhbHQnCT0+ICcnLAkJCQkvLyBzdWJ0aXRsZSBmb3IgdGhlIGlt YWdlcywgZGVmYXVsdCBpcyBibGFuawoJCSdjbGFzcycJPT4gJ2xpdGVib3gnLAkJCQkvLyBj bGFzcyBmb3IgdGhlIERJViBjb250YWluZXIKCQknY2xhc3N0aHVtYicJPT4gJ2xpdGVib3h0 aHVtYicsCQkvLyBjbGFzcyBmb3IgdGhlIERJViBjb250YWluZXIKCQknZmxvYXQnCT0+ICdu b25lJywJCQkvLyBvcHRpb25zIGFyZSBsZWZ0LCByaWdodCwgbm9uZSwgYW5kIGluaGVyaXQK CQkncHJlJwk9PiAnLycsCQkJCS8vIHByZXBlbmRlZCB0byB0aGUgaW1hZ2UgbGlua3MgKHVz ZSAnLycgZm9yIGEgY2xlYW4gVVJMIHNldHVwKQoJKSwkYXR0cykpOwoKCSRpbWdkaXIgPSAn aW1hZ2VzLycuJGRpcjsJCS8vIGFkZHMgaW1hZ2VzLyB0byB0aGUgZGlyIHBhdGgKCSR0aHVt YmRpciA9ICRpbWdkaXIuJ3RodW1icy8nOwkvLyB0aGUgc3ViZGlyZWN0b3J5IHdoZXJlIHRo dW1ibmFpbHMgYXJlIHN0b3JlZAoJJGFsbG93ZWRfdHlwZXMgPSBhcnJheSgncG5nJywnanBn JywnanBlZycsJ2dpZicpOyAvLyBsaXN0IG9mIGZpbGV0eXBlcyB5b3Ugd2FudCB0byBzaG93 CgkkZGltZyA9IG9wZW5kaXIoJGltZ2Rpcik7IAkJLy8gb3BlbnMgdGhlIGRlZmluZWQgZGly ZWN0b3J5CgppZiAoJHNldCAhPT0gJ2lkJykKCSRzZXRpZCA9ICRzZXQ7CmVsc2UKCSRzZXRp ZCA9ICR0aGlzYXJ0aWNsZVsndGhpc2lkJ107CgoJd2hpbGUoJGltZ2ZpbGUgPSByZWFkZGly KCRkaW1nKSkKCXsKCQlpZihpbl9hcnJheShzdHJ0b2xvd2VyKHN1YnN0cigkaW1nZmlsZSwt MykpLCRhbGxvd2VkX3R5cGVzKSkKCQl7CgkJCSRhX2ltZ1tdID0gJGltZ2ZpbGU7CgkJCXNv cnQoJGFfaW1nKTsKCQkJcmVzZXQgKCRhX2ltZyk7CgkJfQoJfQoKCSR0b3RpbWcgPSBjb3Vu dCgkYV9pbWcpOwkJLy8gdG90YWwgaW1hZ2UgbnVtYmVyCgoJJHRodW1iX3JldHVybl9zdHJp bmcgPSAnJzsKCWZvcigkeD0wOyAkeCA8ICR0b3RpbWc7ICR4KyspCgl7CgkJCQkJCQkJCS8v IGRlZmluZSBpbWFnZSBzaXplcyBmb3IgdGh1bWJuYWlscwoJJHNpemUgPSBnZXRpbWFnZXNp emUoJHRodW1iZGlyLicnLiRhX2ltZ1skeF0pOwoJCQkJCQkJCQkvLyB3cml0ZSB0aGUgTGl0 ZWJveCBzY3JpcHQgZm9yIGVhY2ggaW1hZ2UKCSR0aHVtYl9yZXR1cm5fc3RyaW5nID0gJHRo dW1iX3JldHVybl9zdHJpbmcgLiAnPGEgaHJlZj0iJy4kcHJlLiRpbWdkaXIuJycuICRhX2lt Z1skeF0uJyIgcmVsPSJsaWdodGJveFsnLiRzZXRpZC4nXSI+PGltZyBzcmM9IicuJHByZS4k dGh1bWJkaXIuJycuJGFfaW1nWyR4XS4nIiB3aWR0aD0iJy4kc2l6ZVswXS4nIiBoZWlnaHQ9 IicuJHNpemVbMV0uJyIgYWx0PSInLiRhbHQuJyIgY2xhc3M9IicuJGNsYXNzdGh1bWIuJyIg Lz48L2E+JzsKCX0KCglyZXR1cm4gJzxkaXYgY2xhc3M9IicuJGNsYXNzLiciIHN0eWxlPSJm bG9hdDogJy4kZmxvYXQuJzsgIj4nLiR0aHVtYl9yZXR1cm5fc3RyaW5nLic8L2Rpdj4nOwp9 CgoKCmZ1bmN0aW9uIGFuN19pbWdib3goJGF0dHMpIHsKCWdsb2JhbCAkdGhpc2FydGljbGU7 CglleHRyYWN0KGxBdHRzKGFycmF5KAoJCSdkaXInCT0+ICcnLAkJCQkvLyB0aGUgZGlyZWN0 b3J5IHdoZXJlIHlvdXIgaW1hZ2UgaXMgc3RvcmVkCgkJJ2ltZycJPT4gJycsCQkJCS8vIHRo ZSBpbWFnZSBmaWxlCgkJJ3NldCcJPT4gJ2lkJywJCQkvLyBnYWxsZXJ5IHNldCwgZGVmYXVs dCBpcyAiaWQiLCB3aGljaCBsaW5rcyB0byBBcnRpY2xlIElEIG51bWJlcgoJCSdhbHQnCT0+ ICcnLAkJCQkvLyBzdWJ0aXRsZSBmb3IgdGhlIGltYWdlcywgZGVmYXVsdCBpcyBibGFuawoJ CSdjbGFzc3RodW1iJwk9PiAnbGl0ZWJveHRodW1iJywJCQkvLyBjbGFzcyBmb3IgdGhlIHRo dW1ibmFpbAoJCSdmbG9hdCcJPT4gJ25vbmUnLAkJCS8vIG9wdGlvbnMgYXJlIGxlZnQsIHJp Z2h0LCBub25lLCBhbmQgaW5oZXJpdAoJCSdwcmUnCT0+ICcvJywJCQkJLy8gcHJlcGVuZGVk IHRvIHRoZSBpbWFnZSBsaW5rcyAodXNlICcvJyBmb3IgYSBjbGVhbiBVUkwgc2V0dXApCgkp LCRhdHRzKSk7CgoJJGltZ2RpciA9ICdpbWFnZXMvJy4kZGlyLiRpbWc7CQkvLyBhZGRzIGlt YWdlcy8gdG8gdGhlIGRpciBwYXRoCgkkdGh1bWJkaXIgPSAnaW1hZ2VzLycuJGRpci4ndGh1 bWJzLycuJGltZzsJLy8gdGhlIHN1YmRpcmVjdG9yeSB3aGVyZSB0aHVtYm5haWxzIGFyZSBz dG9yZWQKCmlmICgkc2V0ICE9PSAnaWQnKQoJJHNldGlkID0gJHNldDsKZWxzZQoJJHNldGlk ID0gJHRoaXNhcnRpY2xlWyd0aGlzaWQnXTsKCgkkc2l6ZSA9IGdldGltYWdlc2l6ZSgkdGh1 bWJkaXIpOwoKCS8vIHNpbmdsZSBpbWFnZSwgd2l0aCB0aHVtYm5haWwsIHBsYWNlZCBpbnRv IHRoZSBMaXRlYm94IGNvZGUgYW5kIHJldHVybmVkCglyZXR1cm4gJzxhIGhyZWY9IicuJHBy ZS4kaW1nZGlyLiciIHJlbD0ibGlnaHRib3hbJy4kc2V0aWQuJ10iPjxpbWcgc3JjPSInLiRw cmUuJHRodW1iZGlyLiciIHdpZHRoPSInLiRzaXplWzBdLiciIGhlaWdodD0iJy4kc2l6ZVsx XS4nIiBhbHQ9IicuJGFsdC4nIiBjbGFzcz0iJy4kY2xhc3N0aHVtYi4nIiBzdHlsZT0iZmxv YXQ6ICcuJGZsb2F0Lic7ICIvPjwvYT4nOwp9CgoKCmZ1bmN0aW9uIGFuN19pbWcoJGF0dHMp IHsKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ2RpcicJPT4gJycsCQkJCS8vIHRoZSBkaXJl Y3Rvcnkgd2hlcmUgeW91ciBpbWFnZSBpcyBzdG9yZWQKCQknaW1nJwk9PiAnJywJCQkJLy8g dGhlIGltYWdlIGZpbGUKCQknYWx0Jwk9PiAnJywJCQkJLy8gc3VidGl0bGUgZm9yIHRoZSBp bWFnZXMsIGRlZmF1bHQgaXMgYmxhbmsKCQknY2xhc3MnCT0+ICdpbWcnLAkJCS8vIGNsYXNz IGZvciB0aGUgaW1hZ2UgZGl2IGNvbnRhaW5lcgoJCSdmbG9hdCcJPT4gJ25vbmUnLAkJCS8v IHN0eWxlIHNldHRpbmdzIGFyZSBsZWZ0LCByaWdodCwgbm9uZSwgYW5kIGluaGVyaXQKCQkn cHJlJwk9PiAnLycsCQkJCS8vIHByZXBlbmRlZCB0byB0aGUgaW1hZ2UgbGlua3MgKHVzZSAn LycgZm9yIGEgY2xlYW4gVVJMIHNldHVwKQoJKSwkYXR0cykpOwoKCSRpbWdkaXIgPSAnaW1h Z2VzLycuJGRpci4kaW1nOwkJCS8vIGFkZHMgaW1hZ2VzLyB0byB0aGUgZGlyIHBhdGgKCgkk c2l6ZSA9IGdldGltYWdlc2l6ZSgkaW1nZGlyKTsKCgkvLyBzaW5nbGUgaW1hZ2UsIHdpdGgg Zm9ybWF0dGluZywgcGxhY2VkIGludG8gcGFnZQoJcmV0dXJuICc8ZGl2IGNsYXNzPSInLiRj bGFzcy4nIj48aW1nIHNyYz0iJy4kcHJlLiRpbWdkaXIuJyIgd2lkdGg9IicuJHNpemVbMF0u JyIgaGVpZ2h0PSInLiRzaXplWzFdLiciIGFsdD0iJy4kYWx0LiciIHN0eWxlPSJmbG9hdDog Jy4kZmxvYXQuJyIvPjwvYT48L2Rpdj4nOwp9CiI7czozOiJtZDUiO3M6MzI6IjMzMjNhZTc5 YWYyYWExMzhlNTFlNWIwNDY1YWI4OTIwIjt9