-
Notifications
You must be signed in to change notification settings - Fork 3
/
tom_image_grid_v0.4.2.txt
184 lines (182 loc) · 12.8 KB
/
tom_image_grid_v0.4.2.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# Name: tom_image_grid v0.4.2
# Type: Admin plugin
# An optionnal grid display for images tab
# Author: Thomas Jund
# URL: http://sacripant.fr
# Recommended load order: 5
# .....................................................................
# This is a plugin for Textpattern CMS - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# .....................................................................
YToxNTp7czo0OiJuYW1lIjtzOjE0OiJ0b21faW1hZ2VfZ3JpZCI7czo3OiJ2ZXJzaW9uIjtz
OjU6IjAuNC4yIjtzOjg6InJldmlzaW9uIjtzOjA6IiI7czo2OiJhdXRob3IiO3M6MTE6IlRo
b21hcyBKdW5kIjtzOjEwOiJhdXRob3JfdXJpIjtzOjE5OiJodHRwOi8vc2FjcmlwYW50LmZy
IjtzOjExOiJkZXNjcmlwdGlvbiI7czo0MDoiQW4gb3B0aW9ubmFsIGdyaWQgZGlzcGxheSBm
b3IgaW1hZ2VzIHRhYiI7czo1OiJvcmRlciI7czoxOiI1IjtzOjQ6InR5cGUiO3M6MToiMyI7
czo1OiJmbGFncyI7czowOiIiO3M6ODoidGV4dHBhY2siO3M6MDoiIjtzOjEwOiJsb2FkX29y
ZGVyIjtzOjE6IjUiO3M6NDoiaGVscCI7czoyMDE1OiI8aDE+dG9tX2ltYWdlX2dyaWQgMC40
PC9oMT4KCjxwPjxlbT50b21faW1hZ2VfZ3JpZDwvZW0+IGlzIGEgcGx1Z2luIGZvciBUZXh0
cGF0dGVybiA0LjYuKiA8c3BhbiBjbGFzcz0iY2FwcyI+Q01TPC9zcGFuPi4gSXQgYWxsb3dz
IGEgbW9yZSBjb21wYWN0IGRpc3BsYXkgKGFzIGEgZ3JpZCkgb2YgdGhlIGltYWdlcyBsaXN0
LjwvcD4KCjxwPlRoZSBwbHVnaW4gYWRkcyB0d28gYnV0dG9uczxiciAvPgo8aW1nIGFsdD0i
IiBzcmM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlN
UzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hSRTlEVkZsUVJTQnpkbWNnVUZW
Q1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNk
M2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJ
K0RRbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vk
ek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1
M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpSUhkcFpIUm9Q
U0l5TUhCNElpQm9aV2xuYUhROUlqSXdjSGdpSUhacFpYZENiM2c5SWpBZ01DQXlNQ0F5TUNJ
K0RRbzhaeUJwWkQwaVozSnBaQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJ
Q016TXpNaVBnMEtJQ0FnSUR4eVpXTjBJSGc5SWpNaUlDQjVQU0l6SWlBZ2QybGtkR2c5SWpZ
aUlHaGxhV2RvZEQwaU5pSXZQZzBLSUNBZ0lEeHlaV04wSUhnOUlqTWlJQ0I1UFNJeE1pSWdk
MmxrZEdnOUlqWWlJR2hsYVdkb2REMGlOaUl2UGcwS0lDQWdJRHh5WldOMElIZzlJakV5SWlC
NVBTSXhNaUlnZDJsa2RHZzlJallpSUdobGFXZG9kRDBpTmlJdlBnMEtJQ0FnSUR4eVpXTjBJ
SGc5SWpFeUlpQjVQU0l6SWlBZ2QybGtkR2c5SWpZaUlHaGxhV2RvZEQwaU5pSXZQZzBLUEM5
blBnMEtQQzl6ZG1jK0RRbz0iIC8+IDxpbWcgYWx0PSIiIHNyYz0iZGF0YTppbWFnZS9zdmcr
eG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhS
bUxUZ2lQejROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVS
Q0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdO
ekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJ
akV1TVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlC
NGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVh
eUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSXlNSEI0SWlCb1pXbG5hSFE5SWpJ
d2NIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBeU1DQXlNQ0krRFFvOFp5QnBaRDBpYkdsdVpTSStE
UW9nSUNBZ1BISmxZM1FnZUQwaU1TSWdlVDBpTVRVaUlIZHBaSFJvUFNJeklpQm9aV2xuYUhR
OUlqTWlMejROQ2lBZ0lDQThjbVZqZENCNFBTSXhJaUI1UFNJNUlpQWdkMmxrZEdnOUlqTWlJ
R2hsYVdkb2REMGlNeUl2UGcwS0lDQWdJRHh5WldOMElIZzlJakVpSUhrOUlqTWlJQ0IzYVdS
MGFEMGlNeUlnYUdWcFoyaDBQU0l6SWk4K0RRb2dJQ0FnUEhKbFkzUWdlRDBpTmlJZ2VUMGlN
VFVpSUhkcFpIUm9QU0l4TXlJZ2FHVnBaMmgwUFNJeklpOCtEUW9nSUNBZ1BISmxZM1FnZUQw
aU5pSWdlVDBpT1NJZ0lIZHBaSFJvUFNJeE15SWdhR1ZwWjJoMFBTSXpJaTgrRFFvZ0lDQWdQ
SEpsWTNRZ2VEMGlOaUlnZVQwaU15SWdJSGRwWkhSb1BTSXhNeUlnYUdWcFoyaDBQU0l6SWk4
K0RRbzhMMmMrRFFvOEwzTjJaejROQ2c9PSIgLz48YnIgLz4KaW4gdGhlIEltYWdlIFRhYiBv
ZiB5b3VyIGJhY2stb2ZmaWNlIGFsbG93aW5nIHlvdSB0byBzd2l0Y2ggZnJvbSB0aGUgc3Rh
bmRhcmQgZGlzcGxheSB0byBhIG1vcmUgY29tcGFjdCBncmlkIGRpc3BsYXkuPC9wPiI7czoz
OiJjc3MiO3M6MDoiIjtzOjQ6ImNvZGUiO3M6Njc2MjoiaWYgKEB0eHBpbnRlcmZhY2UgPT0g
J2FkbWluJykgewogICAgcmVnaXN0ZXJfY2FsbGJhY2soICd0b21faW1hZ2VfZ3JpZF9tYXJr
dXAnLCAnaW1hZ2VfdWknLCAnZXh0ZW5kX2NvbnRyb2xzJyk7CiAgICByZWdpc3Rlcl9jYWxs
YmFjayggJ3RvbV9pbWFnZV9ncmlkX2NzcycsICJpbWFnZSIpOwogICAgcmVnaXN0ZXJfY2Fs
bGJhY2soICd0b21faW1hZ2VfZ3JpZF9qcycsICJpbWFnZSIpOwp9CgpmdW5jdGlvbiB0b21f
aW1hZ2VfZ3JpZF9tYXJrdXAoJGV2ZW50LCAkc3RlcCwgJGRlZmF1bHQpCnsKICAgICRvdXQg
PSA8PDxIVE1MCgo8Zm9ybSBpZD0idG9tX2lnX29wdGlvbnMiPgogICAgPGxhYmVsPjxpbnB1
dCB0eXBlPSJyYWRpbyIgbmFtZT0idG9tX2lnX29wdGlvbiIgaWQ9InRvbV9pZ19vcHRpb24t
LWdyaWQiIC8+PHNwYW4gY2xhc3M9InRvbV9pZ19pY29uLWdyaWQiPkdyaWQ8L3NwYW4+PC9s
YWJlbD4KICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InRvbV9pZ19vcHRp
b24iIGlkPSJ0b21faWdfb3B0aW9uLS1saW5lIiAvPjxzcGFuIGNsYXNzPSJ0b21faWdfaWNv
bi1saW5lIj5MaW5lPC9zcGFuPjwvbGFiZWw+CjwvZm9ybT4KSFRNTDsKICAgIGVjaG8gJGRl
ZmF1bHQuJG91dDsKfQoKZnVuY3Rpb24gdG9tX2ltYWdlX2dyaWRfY3NzKCkKewogICAgJHNv
cnRieSA9IGdUeHQoJ3NvcnRfYnknKTsKICAgICRvdXQgPSA8PDxDU1MKCjxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CgovKgoqKiBDU1MgZm9yIHRvbV9pbWFnZV9ncmlkIHBsdWdpbgoqKiBC
eSBTYWNyaXBhbnQg4oCUIFRob21hcyBKdW5kCioqIGh0dHA6Ly9zYWNyaXBhbnQuZnIKKi8K
Ci50b21faWcgLnR4cC1saXN0ICogewogICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94
OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoudG9tX2lnIC50eHAtbGlzdHRhYmxl
cyB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLnRvbV9pZyNwYWdlLWltYWdlIC50eHAtbGlz
dCB0aGVhZCB0aCB7CiAgICAvKmRpc3BsYXk6IG5vbmU7Ki8KICAgIGRpc3BsYXk6IGlubGlu
ZS1ibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiBhdXRvOwoKfQou
dG9tX2lnI3BhZ2UtaW1hZ2UgLnR4cC1saXN0IHRoZWFkIHRoLmltYWdlc19kZXRhaWwgewog
ICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9Ci50b21faWcjcGFnZS1pbWFnZSAudHhw
LWxpc3QgdGhlYWQgdGgudHhwLWxpc3QtY29sLW11bHRpLWVkaXQgewogICAgbWFyZ2luLXJp
Z2h0OiAxZW07Cn0KLnRvbV9pZyNwYWdlLWltYWdlIC50eHAtbGlzdCB0aGVhZCB0aC50eHAt
bGlzdC1jb2wtbXVsdGktZWRpdDphZnRlciB7CiAgICBjb250ZW50OiBhdHRyKHRpdGxlKTsK
ICAgIHBhZGRpbmctbGVmdDogLjMzZW07Cn0KCi50b21faWcjcGFnZS1pbWFnZSAudHhwLWxp
c3QgdGhlYWQgdGgudHhwLWxpc3QtY29sLWlkIHsKICAgIG1hcmdpbi1sZWZ0OiAzLjZlbTsK
fQoudG9tX2lnI3BhZ2UtaW1hZ2UgLnR4cC1saXN0IHRoZWFkIHRoLnR4cC1saXN0LWNvbC1p
ZDpiZWZvcmUgewogICAgY29udGVudDogIlNvcnQgYnkiOwogICAgZGlzcGxheTogYmxvY2s7
CiAgICBwYWRkaW5nOiBpbmhlcml0OwogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgcGFkZGlu
Zy1yaWdodDogLjMzZW07CgogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDMu
NmVtOwogICAgcmlnaHQ6IDEwMCU7CiAgICB0b3A6IDA7CgogICAgdGV4dC1hbGlnbjogcmln
aHQ7CgogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKfQoKCi50b21faWcjcGFnZS1pbWFnZSAu
dHhwLWxpc3QgdGJvZHkgdHIgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgLyp2
ZXJ0aWNhbC1hbGlnbjogbWlkOyovCiAgICB3aWR0aDogMTVlbTsKICAgIG1hcmdpbjogLjY2
ZW0gMWVtIDAgMAp9CgoudG9tX2lnI3BhZ2UtaW1hZ2UgLnR4cC1saXN0IHRib2R5IHRkLAou
dG9tX2lnI3BhZ2UtaW1hZ2UgLnR4cC1saXN0IHRib2R5IHRoIHsKICAgIGRpc3BsYXk6IGJs
b2NrOwogICAgcGFkZGluZzogMC4xNmVtIDAuMzNlbTsKICAgIHRleHQtb3ZlcmZsb3c6IGVs
bGlwc2lzOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7
Cn0KCi50b21faWcjcGFnZS1pbWFnZSAudHhwLWxpc3QgdGQudHhwLWxpc3QtY29sLW11bHRp
LWVkaXQgewogICAgZmxvYXQ6IHJpZ2h0OwogICAgd2lkdGg6IGF1dG87Cn0KLnRvbV9pZyNw
YWdlLWltYWdlIC50eHAtbGlzdCB0ZC50eHAtbGlzdC1jb2wtbXVsdGktZWRpdCBpbnB1dCB7
CiAgICBtYXJnaW4tYm90dG9tOiAwOwp9CgoudG9tX2lnI3BhZ2UtaW1hZ2UgLnR4cC1saXN0
IHRkLnR4cC1saXN0LWNvbC10aHVtYm5haWwgewogICAgaGVpZ2h0OiAxMmVtOwp9CgoudG9t
X2lnI3BhZ2UtaW1hZ2UgLnR4cC1saXN0IHRkLnR4cC1saXN0LWNvbC10aHVtYm5haWwgaW1n
IHsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG1heC1oZWlnaHQ6IDEwMCU7CiAgICBoZWln
aHQ6IGF1dG87CiAgICB3aWR0aDogYXV0bzsKfQoKLyogTm8gdGh1bWJuYWlsIGRpc3BsYXkg
Ki8KLnRvbV9pZyNwYWdlLWltYWdlIC50eHAtbGlzdCB0ZC50eHAtbGlzdC1jb2wtdGh1bWJu
YWlsOm5vdCguaGFzLXRodW1ibmFpbCkgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBiYWNr
Z3JvdW5kLWNvbG9yOiAjZWVlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwoKICAgIGhlaWdo
dDogMTAwJTsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLXdpZHRoOiA1LjI1ZW0gNS41
ZW07CiAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgYm9yZGVyLXRvcC1jb2xvcjogI2Vl
ZTsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNlZWU7CiAgICBib3JkZXItbGVmdC1jb2xv
cjogI2RkZDsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2RkZDsKfQoKCgpAbWVkaWEgb25s
eSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAudG9tX2lnI3BhZ2UtaW1h
Z2UgLnR4cC1saXN0IHRib2R5IHRyIHsKICAgICAgICB3aWR0aDogMTQwcHg7CiAgICAgICAg
bWFyZ2luOiAuNjZlbSAuMzNlbSAwIDA7CiAgICB9CgogICAgLnRvbV9pZyNwYWdlLWltYWdl
IC50eHAtbGlzdCB0ZC50aHVtYm5haWwgewogICAgICAgIGhlaWdodDogMTEycHg7CiAgICB9
CgogICAgLnRvbV9pZyAudG9tX2lnLS1ub1RodW1iIHsKICAgICAgICBib3JkZXItd2lkdGg6
IDQ1cHggNDBweDsKICAgIH0KCgp9CgovKmJ1dHRvbnMKLS0tLS0tLS0tLSovCgojdG9tX2ln
X29wdGlvbnMgaW5wdXQgewogICAgZGlzcGxheTogbm9uZTsKfQoKI3RvbV9pZ19vcHRpb25z
IGxhYmVsIHsKICAgIHBhZGRpbmc6IC4xNmVtOwogICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OwogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICB3aWR0aDogMjBweDsK
ICAgIGhlaWdodDogMjBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KI3RvbV9pZ19vcHRp
b25zIGxhYmVsLnNlbGVjdGVkIHsKICAgIGJvcmRlci1jb2xvcjogI2FhYTsKfQojdG9tX2ln
X29wdGlvbnMgbGFiZWw6bm90KC5zZWxlY3RlZCk6aG92ZXIgewogICAgY3Vyc29yOiBwb2lu
dGVyOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsKfQoudG9tX2lnX2ljb24tZ3JpZDpi
ZWZvcmUgewogICAgY29udGVudDogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBE
OTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5Dando
UkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5
OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2
UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnZUcxc2Ju
TTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1
YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElp
QjVQU0l3Y0hnaUlIZHBaSFJvUFNJeU1IQjRJaUJvWldsbmFIUTlJakl3Y0hnaUlIWnBaWGRD
YjNnOUlqQWdNQ0F5TUNBeU1DSStEUW84WnlCcFpEMGlaM0pwWkNJZ2MzUjViR1U5SW1KaFky
dG5jbTkxYm1RdFkyOXNiM0k2SUNNek16TWlQZzBLSUNBZ0lEeHlaV04wSUhnOUlqTWlJQ0I1
UFNJeklpQWdkMmxrZEdnOUlqWWlJR2hsYVdkb2REMGlOaUl2UGcwS0lDQWdJRHh5WldOMElI
ZzlJak1pSUNCNVBTSXhNaUlnZDJsa2RHZzlJallpSUdobGFXZG9kRDBpTmlJdlBnMEtJQ0Fn
SUR4eVpXTjBJSGc5SWpFeUlpQjVQU0l4TWlJZ2QybGtkR2c5SWpZaUlHaGxhV2RvZEQwaU5p
SXZQZzBLSUNBZ0lEeHlaV04wSUhnOUlqRXlJaUI1UFNJeklpQWdkMmxrZEdnOUlqWWlJR2hs
YVdkb2REMGlOaUl2UGcwS1BDOW5QZzBLUEM5emRtYytEUW89Iik7Cn0KLnRvbV9pZ19pY29u
LWxpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2Jh
c2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQ
ejROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtj
Z01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldS
eTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJ
Z2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVj
enA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQw
aU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSXlNSEI0SWlCb1pXbG5hSFE5SWpJd2NIZ2lJ
SFpwWlhkQ2IzZzlJakFnTUNBeU1DQXlNQ0krRFFvOFp5QnBaRDBpYkdsdVpTSStEUW9nSUNB
Z1BISmxZM1FnZUQwaU1TSWdlVDBpTVRVaUlIZHBaSFJvUFNJeklpQm9aV2xuYUhROUlqTWlM
ejROQ2lBZ0lDQThjbVZqZENCNFBTSXhJaUI1UFNJNUlpQWdkMmxrZEdnOUlqTWlJR2hsYVdk
b2REMGlNeUl2UGcwS0lDQWdJRHh5WldOMElIZzlJakVpSUhrOUlqTWlJQ0IzYVdSMGFEMGlN
eUlnYUdWcFoyaDBQU0l6SWk4K0RRb2dJQ0FnUEhKbFkzUWdlRDBpTmlJZ2VUMGlNVFVpSUhk
cFpIUm9QU0l4TXlJZ2FHVnBaMmgwUFNJeklpOCtEUW9nSUNBZ1BISmxZM1FnZUQwaU5pSWdl
VDBpT1NJZ0lIZHBaSFJvUFNJeE15SWdhR1ZwWjJoMFBTSXpJaTgrRFFvZ0lDQWdQSEpsWTNR
Z2VEMGlOaUlnZVQwaU15SWdJSGRwWkhSb1BTSXhNeUlnYUdWcFoyaDBQU0l6SWk4K0RRbzhM
MmMrRFFvOEwzTjJaejROQ2c9PSIpOwp9Cgo8L3N0eWxlPgpDU1M7CiAgICBlY2hvICRvdXQ7
Cn0KCmZ1bmN0aW9uIHRvbV9pbWFnZV9ncmlkX2pzKCkKewogICAgJG91dCA9IDw8PEpTCgo8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8qCioqIEpTIGZvciB0b21faW1hZ2Vf
Z3JpZCBwbHVnaW4KKiogQnkgU2FjcmlwYW50IOKAlCBUaG9tYXMgSnVuZAoqKiBodHRwOi8v
c2FjcmlwYW50LmZyCiovCgokKGZ1bmN0aW9uKCkgewogICAgdmFyIGltYWdlRGlzcGxheU9w
dGlvbiA9ICQoIiN0b21faWdfb3B0aW9ucyIpCiAgICAsICAgcmFkaW9zID0gJCgnaW5wdXQn
LCBpbWFnZURpc3BsYXlPcHRpb24pCiAgICAsICAgbGlzdHRhYmxlcyA9ICQoJyNpbWFnZXNf
Zm9ybSAudHhwLWxpc3R0YWJsZXMnKQogICAgLyosICAgaW1hZ2VzVHIgPSAkKCd0cicsIGxp
c3R0YWJsZXMpKi8KICAgICwgICBjb29raWUgPSAndG9tX2ltYWdlX2dyaWQnCiAgICAsICAg
Y29va2llVmFsdWUgPSBnZXRDb29raWUoY29va2llKQogICAgOwoKCiAgICAvLyBBZGQgcmFk
aW9zIGluIHRhYgogICAgaW1hZ2VEaXNwbGF5T3B0aW9uLnByZXBlbmRUbyhsaXN0dGFibGVz
KTsKCgogICAgLy8gQ2hhbmdlIExheW91dCB3aGVuIHJhZGlvIGNoZWNrZWQKICAgIHJhZGlv
cy5jaGFuZ2UoZnVuY3Rpb24oZXZlbnQpCiAgICB7CiAgICAgICAgaWYgKCB0aGlzLmlkID09
PSAidG9tX2lnX29wdGlvbi0tZ3JpZCIpCiAgICAgICAgewogICAgICAgICAgICAkKCdib2R5
JykuYWRkQ2xhc3MoJ3RvbV9pZycpOwogICAgICAgICAgICBzZXRDb29raWUoY29va2llLCAn
dG9tX2lnX29wdGlvbi0tZ3JpZCcpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAg
ewogICAgICAgICAgICAkKCdib2R5JykucmVtb3ZlQ2xhc3MoJ3RvbV9pZycpOwogICAgICAg
ICAgICBzZXRDb29raWUoY29va2llLCAndG9tX2lnX29wdGlvbi0tbGluZScpCiAgICAgICAg
fQoKICAgICAgICByYWRpb3MucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7CiAg
ICAgICAgJCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTsKICAgIH0pOwoK
ICAgIC8vIENoZWNrICYgY3JlYXRlIGNvb2tpZQogICAgaWYgKCBjb29raWVWYWx1ZSApCiAg
ICB7CiAgICAgICAgdmFyIHRhcmdldFJhZGlvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Y29va2llVmFsdWUpOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHZhciB0YXJnZXRS
YWRpbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b21faWdfb3B0aW9uLS1saW5lJyk7
CiAgICAgICAgc2V0Q29va2llKGNvb2tpZSwgJ3RvbV9pZ19vcHRpb24tLWxpbmUnKQogICAg
fTsKCiAgICAkKHRhcmdldFJhZGlvKS5wcm9wKCdjaGVja2VkJywgdHJ1ZSkudHJpZ2dlcigi
Y2hhbmdlIik7Cn0pOwo8L3NjcmlwdD4KCkpTOwogICAgZWNobyAkb3V0Owp9IjtzOjM6Im1k
NSI7czozMjoiYjFlNmE5M2FjNTUxN2YwOGE3NGMwZmUxNWE5ZTQ2ZDMiO30=