Вы находитесь на странице: 1из 284

Content-Type: multipart/related; start=<op.mhtml.1284993006452.

ebe10b157943a788@
182.0.26.129>; boundary=----------GfdSMDX50mzoEhukionbD3
Content-Location: http://en.wikipedia.org/wiki/Heart_failure
Subject: =?utf-8?Q?Heart=20failure=20-=20Wikipedia,=20the=20free=20encyclopedia?
=
MIME-Version: 1.0
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=Heart_failure.htm
Content-Type: text/html; charset=UTF-8; name=Heart_failure.htm
Content-ID: <op.mhtml.1284993006452.ebe10b157943a788@182.0.26.129>
Content-Location: http://en.wikipedia.org/wiki/Heart_failure
Content-Transfer-Encoding: Base64
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJh
bnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQv
eGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCIgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+
Cjx0aXRsZT5IZWFydCBmYWlsdXJlIC0gV2lraXBlZGlhLCB0aGUgZnJlZSBlbmN5
Y2xvcGVkaWE8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1TdHlsZS1UeXBlIiBjb250ZW50PSJ0ZXh0L2NzcyIg
Lz4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJNZWRpYVdpa2kgMS4x
NndtZjQiIC8+CjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlv
bi94LXdpa2kiIHRpdGxlPSJFZGl0IHRoaXMgcGFnZSIgaHJlZj0iL3cvaW5kZXgu
cGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0IiAvPgo8bGlu
ayByZWw9ImVkaXQiIHRpdGxlPSJFZGl0IHRoaXMgcGFnZSIgaHJlZj0iL3cvaW5k
ZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0IiAvPgo8
bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Imh0dHA6Ly9lbi53aWtp
cGVkaWEub3JnL2FwcGxlLXRvdWNoLWljb24ucG5nIiAvPgo8bGluayByZWw9InNo
b3J0Y3V0IGljb24iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz4KPGxpbmsgcmVsPSJz
ZWFyY2giIHR5cGU9ImFwcGxpY2F0aW9uL29wZW5zZWFyY2hkZXNjcmlwdGlvbit4
bWwiIGhyZWY9Ii93L29wZW5zZWFyY2hfZGVzYy5waHAiIHRpdGxlPSJXaWtpcGVk
aWEgKGVuKSIgLz4KPGxpbmsgcmVsPSJjb3B5cmlnaHQiIGhyZWY9Imh0dHA6Ly9j
cmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzMuMC8iIC8+CjxsaW5r
IHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlvbi9hdG9tK3htbCIgdGl0
bGU9Ildpa2lwZWRpYSBBdG9tIGZlZWQiIGhyZWY9Ii93L2luZGV4LnBocD90aXRs
ZT1TcGVjaWFsOlJlY2VudENoYW5nZXMmYW1wO2ZlZWQ9YXRvbSIgLz4KPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vYml0cy53aWtpbWVkaWEub3Jn
L3NraW5zLTEuNS92ZWN0b3IvbWFpbi1sdHIuY3NzPzI4M3MiIHR5cGU9InRleHQv
Y3NzIiBtZWRpYT0ic2NyZWVuIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Imh0dHA6Ly9iaXRzLndpa2ltZWRpYS5vcmcvc2tpbnMtMS41L2NvbW1vbi9z
aGFyZWQuY3NzPzI4M3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiAv
Pgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly9iaXRzLndpa2lt
ZWRpYS5vcmcvc2tpbnMtMS41L2NvbW1vbi9jb21tb25QcmludC5jc3M/MjgzcyIg
dHlwZT0idGV4dC9jc3MiIG1lZGlhPSJwcmludCIgLz4KPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSJodHRwOi8vYml0cy53aWtpbWVkaWEub3JnL3cvZXh0ZW5z
aW9ucy9Vc2FiaWxpdHlJbml0aWF0aXZlL2Nzcy9jb21iaW5lZC5taW4uY3NzPzEx
NyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iaHR0cDovL2JpdHMud2lraW1lZGlhLm9yZy93L2V4dGVu
c2lvbnMvVXNhYmlsaXR5SW5pdGlhdGl2ZS9jc3MvdmVjdG9yL2pxdWVyeS11aS0x
LjcuMi5jc3M/MS43LjJ5IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4K
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9
TWVkaWFXaWtpOkNvbW1vbi5jc3MmYW1wO3VzZW1zZ2NhY2hlPXllcyZhbXA7Y3R5
cGU9dGV4dCUyRmNzcyZhbXA7c21heGFnZT0yNjc4NDAwJmFtcDthY3Rpb249cmF3
JmFtcDttYXhhZ2U9MjY3ODQwMCIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJhbGwi
IC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3cvaW5kZXgucGhwP3Rp
dGxlPU1lZGlhV2lraTpQcmludC5jc3MmYW1wO3VzZW1zZ2NhY2hlPXllcyZhbXA7
Y3R5cGU9dGV4dCUyRmNzcyZhbXA7c21heGFnZT0yNjc4NDAwJmFtcDthY3Rpb249
cmF3JmFtcDttYXhhZ2U9MjY3ODQwMCIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJw
cmludCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvdy9pbmRleC5w
aHA/dGl0bGU9TWVkaWFXaWtpOkhhbmRoZWxkLmNzcyZhbXA7dXNlbXNnY2FjaGU9
eWVzJmFtcDtjdHlwZT10ZXh0JTJGY3NzJmFtcDtzbWF4YWdlPTI2Nzg0MDAmYW1w
O2FjdGlvbj1yYXcmYW1wO21heGFnZT0yNjc4NDAwIiB0eXBlPSJ0ZXh0L2NzcyIg
bWVkaWE9ImhhbmRoZWxkIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii93L2luZGV4LnBocD90aXRsZT1NZWRpYVdpa2k6VmVjdG9yLmNzcyZhbXA7dXNl
bXNnY2FjaGU9eWVzJmFtcDtjdHlwZT10ZXh0JTJGY3NzJmFtcDtzbWF4YWdlPTI2
Nzg0MDAmYW1wO2FjdGlvbj1yYXcmYW1wO21heGFnZT0yNjc4NDAwIiB0eXBlPSJ0
ZXh0L2NzcyIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIvdy9pbmRleC5waHA/dGl0bGU9LSZhbXA7YWN0aW9uPXJhdyZhbXA7bWF4
YWdlPTI2Nzg0MDAmYW1wO2dlbj1jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0i
YWxsIiAvPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBza2lu
PSJ2ZWN0b3IiLApzdHlsZXBhdGg9Imh0dHA6Ly9iaXRzLndpa2ltZWRpYS5vcmcv
c2tpbnMtMS41IiwKd2dVcmxQcm90b2NvbHM9Imh0dHBcXDpcXC9cXC98aHR0cHNc
XDpcXC9cXC98ZnRwXFw6XFwvXFwvfGlyY1xcOlxcL1xcL3xnb3BoZXJcXDpcXC9c
XC98dGVsbmV0XFw6XFwvXFwvfG5udHBcXDpcXC9cXC98d29ybGR3aW5kXFw6XFwv
XFwvfG1haWx0b1xcOnxuZXdzXFw6fHN2blxcOlxcL1xcLyIsCndnQXJ0aWNsZVBh
dGg9Ii93aWtpLyQxIiwKd2dTY3JpcHRQYXRoPSIvdyIsCndnU2NyaXB0RXh0ZW5z
aW9uPSIucGhwIiwKd2dTY3JpcHQ9Ii93L2luZGV4LnBocCIsCndnVmFyaWFudEFy
dGljbGVQYXRoPWZhbHNlLAp3Z0FjdGlvblBhdGhzPXt9LAp3Z1NlcnZlcj0iaHR0
cDovL2VuLndpa2lwZWRpYS5vcmciLAp3Z0Nhbm9uaWNhbE5hbWVzcGFjZT0iIiwK
d2dDYW5vbmljYWxTcGVjaWFsUGFnZU5hbWU9ZmFsc2UsCndnTmFtZXNwYWNlTnVt
YmVyPTAsCndnUGFnZU5hbWU9IkhlYXJ0X2ZhaWx1cmUiLAp3Z1RpdGxlPSJIZWFy
dCBmYWlsdXJlIiwKd2dBY3Rpb249InZpZXciLAp3Z0FydGljbGVJZD0yNDk5MzAs
CndnSXNBcnRpY2xlPXRydWUsCndnVXNlck5hbWU9bnVsbCwKd2dVc2VyR3JvdXBz
PW51bGwsCndnVXNlckxhbmd1YWdlPSJlbiIsCndnQ29udGVudExhbmd1YWdlPSJl
biIsCndnQnJlYWtGcmFtZXM9ZmFsc2UsCndnQ3VyUmV2aXNpb25JZD0zODUyODc4
NTksCndnVmVyc2lvbj0iMS4xNndtZjQiLAp3Z0VuYWJsZUFQST10cnVlLAp3Z0Vu
YWJsZVdyaXRlQVBJPXRydWUsCndnU2VwYXJhdG9yVHJhbnNmb3JtVGFibGU9WyIi
LCAiIl0sCndnRGlnaXRUcmFuc2Zvcm1UYWJsZT1bIiIsICIiXSwKd2dNYWluUGFn
ZVRpdGxlPSJNYWluIFBhZ2UiLAp3Z0Zvcm1hdHRlZE5hbWVzcGFjZXM9eyItMiI6
ICJNZWRpYSIsICItMSI6ICJTcGVjaWFsIiwgIjAiOiAiIiwgIjEiOiAiVGFsayIs
ICIyIjogIlVzZXIiLCAiMyI6ICJVc2VyIHRhbGsiLCAiNCI6ICJXaWtpcGVkaWEi
LCAiNSI6ICJXaWtpcGVkaWEgdGFsayIsICI2IjogIkZpbGUiLCAiNyI6ICJGaWxl
IHRhbGsiLCAiOCI6ICJNZWRpYVdpa2kiLCAiOSI6ICJNZWRpYVdpa2kgdGFsayIs
ICIxMCI6ICJUZW1wbGF0ZSIsICIxMSI6ICJUZW1wbGF0ZSB0YWxrIiwgIjEyIjog
IkhlbHAiLCAiMTMiOiAiSGVscCB0YWxrIiwgIjE0IjogIkNhdGVnb3J5IiwgIjE1
IjogIkNhdGVnb3J5IHRhbGsiLCAiMTAwIjogIlBvcnRhbCIsICIxMDEiOiAiUG9y
dGFsIHRhbGsiLCAiMTA4IjogIkJvb2siLCAiMTA5IjogIkJvb2sgdGFsayJ9LAp3
Z05hbWVzcGFjZUlkcz17Im1lZGlhIjogLTIsICJzcGVjaWFsIjogLTEsICIiOiAw
LCAidGFsayI6IDEsICJ1c2VyIjogMiwgInVzZXJfdGFsayI6IDMsICJ3aWtpcGVk
aWEiOiA0LCAid2lraXBlZGlhX3RhbGsiOiA1LCAiZmlsZSI6IDYsICJmaWxlX3Rh
bGsiOiA3LCAibWVkaWF3aWtpIjogOCwgIm1lZGlhd2lraV90YWxrIjogOSwgInRl
bXBsYXRlIjogMTAsICJ0ZW1wbGF0ZV90YWxrIjogMTEsICJoZWxwIjogMTIsICJo
ZWxwX3RhbGsiOiAxMywgImNhdGVnb3J5IjogMTQsICJjYXRlZ29yeV90YWxrIjog
MTUsICJwb3J0YWwiOiAxMDAsICJwb3J0YWxfdGFsayI6IDEwMSwgImJvb2siOiAx
MDgsICJib29rX3RhbGsiOiAxMDksICJ3cCI6IDQsICJ3dCI6IDUsICJpbWFnZSI6
IDYsICJpbWFnZV90YWxrIjogN30sCndnU2l0ZU5hbWU9Ildpa2lwZWRpYSIsCndn
Q2F0ZWdvcmllcz1bIkFsbCBhcnRpY2xlcyB3aXRoIGRlYWQgZXh0ZXJuYWwgbGlu
a3MiLCAiQXJ0aWNsZXMgd2l0aCBkZWFkIGV4dGVybmFsIGxpbmtzIGZyb20gSnVu
ZSAyMDA4IiwgIkFydGljbGVzIHdpdGggaEF1ZGlvIG1pY3JvZm9ybWF0cyIsICJB
cnRpY2xlcyBuZWVkaW5nIGFkZGl0aW9uYWwgcmVmZXJlbmNlcyBmcm9tIERlY2Vt
YmVyIDIwMDciLCAiQWxsIGFydGljbGVzIG5lZWRpbmcgYWRkaXRpb25hbCByZWZl
cmVuY2VzIiwgIkFydGljbGVzIHRvIGJlIGV4cGFuZGVkIGZyb20gTm92ZW1iZXIg
MjAwOCIsICJBbGwgYXJ0aWNsZXMgdG8gYmUgZXhwYW5kZWQiLCAiQWdpbmctYXNz
b2NpYXRlZCBkaXNlYXNlcyIsICJDYXJkaW9sb2d5IiwgIkNhcmRpb3Zhc2N1bGFy
IGRpc2Vhc2VzIiwgIkNhdXNlcyBvZiBkZWF0aCIsICJPcmdhbiBmYWlsdXJlIl0s
CndnTVdTdWdnZXN0VGVtcGxhdGU9Imh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3cv
YXBpLnBocD9hY3Rpb249b3BlbnNlYXJjaFx4MjZzZWFyY2g9e3NlYXJjaFRlcm1z
fVx4MjZuYW1lc3BhY2U9e25hbWVzcGFjZXN9XHgyNnN1Z2dlc3QiLAp3Z0RCbmFt
ZT0iZW53aWtpIiwKd2dTZWFyY2hOYW1lc3BhY2VzPVswXSwKd2dNV1N1Z2dlc3RN
ZXNzYWdlcz1bIndpdGggc3VnZ2VzdGlvbnMiLCAibm8gc3VnZ2VzdGlvbnMiXSwK
d2dSZXN0cmljdGlvbkVkaXQ9W10sCndnUmVzdHJpY3Rpb25Nb3ZlPVtdLAp3Z0Zs
YWdnZWRSZXZzUGFyYW1zPXsidGFncyI6IHsic3RhdHVzIjogeyJsZXZlbHMiOiAx
LCAicXVhbGl0eSI6IDIsICJwcmlzdGluZSI6IDN9fX0sCndnU3RhYmxlUmV2aXNp
b25JZD0wLAp3Z1dpa2ltZWRpYU1vYmlsZVVybD0iaHR0cDovL2VuLm0ud2lraXBl
ZGlhLm9yZy93aWtpIiwKd2dDb2xsYXBzaWJsZU5hdkJ1Y2tldFRlc3Q9ZmFsc2Us
CndnQ29sbGFwc2libGVOYXZGb3JjZU5ld1ZlcnNpb249ZmFsc2UsCndnVmVjdG9y
UHJlZmVyZW5jZXM9eyJjb2xsYXBzaWJsZW5hdiI6IHsiZW5hYmxlIjogMX0sICJl
ZGl0d2FybmluZyI6IHsiZW5hYmxlIjogMX0sICJzaW1wbGVzZWFyY2giOiB7ImVu
YWJsZSI6IDEsICJkaXNhYmxlc3VnZ2VzdCI6IDB9fSwKd2dWZWN0b3JFbmFibGVk
TW9kdWxlcz17ImNvbGxhcHNpYmxlbmF2IjogdHJ1ZSwgImNvbGxhcHNpYmxldGFi
cyI6IHRydWUsICJlZGl0d2FybmluZyI6IHRydWUsICJleHBhbmRhYmxlc2VhcmNo
IjogZmFsc2UsICJmb290ZXJjbGVhbnVwIjogZmFsc2UsICJzaW1wbGVzZWFyY2gi
OiB0cnVlfSwKd2dOb3RpY2U9IiI7Cjwvc2NyaXB0PjxzY3JpcHQgc3JjPSJodHRw
Oi8vYml0cy53aWtpbWVkaWEub3JnL3NraW5zLTEuNS9jb21tb24vd2lraWJpdHMu
anM/MjgzcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL2JpdHMud2lraW1l
ZGlhLm9yZy9za2lucy0xLjUvY29tbW9uL2pxdWVyeS5taW4uanM/MjgzcyI+PC9z
Y3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwOi8vYml0cy53aWtpbWVkaWEub3JnL3Nr
aW5zLTEuNS9jb21tb24vYWpheC5qcz8yODNzIiB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cDovL2JpdHMud2lraW1lZGlh
Lm9yZy9za2lucy0xLjUvY29tbW9uL213c3VnZ2VzdC5qcz8yODNzIiB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cDovL2Jp
dHMud2lraW1lZGlhLm9yZy93L2V4dGVuc2lvbnMvV2lraW1lZGlhTW9iaWxlL01v
YmlsZVJlZGlyZWN0LmpzPzIuMiIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3Nj
cmlwdD4KPHNjcmlwdCBzcmM9Imh0dHA6Ly9iaXRzLndpa2ltZWRpYS5vcmcvdy9l
eHRlbnNpb25zL1VzYWJpbGl0eUluaXRpYXRpdmUvanMvcGx1Z2lucy5jb21iaW5l
ZC5taW4uanM/MjgzcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4K
PHNjcmlwdCBzcmM9Imh0dHA6Ly9iaXRzLndpa2ltZWRpYS5vcmcvdy9leHRlbnNp
b25zL1VzYWJpbGl0eUluaXRpYXRpdmUvVmVjdG9yL1ZlY3Rvci5jb21iaW5lZC5t
aW4uanM/MjgzcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPm13LnVzYWJpbGl0eS5hZGRNZXNz
YWdlcyh7J3ZlY3Rvci1jb2xsYXBzaWJsZW5hdi1tb3JlJzonTW9yZSBsYW5ndWFn
ZXMnLCd2ZWN0b3ItZWRpdHdhcm5pbmctd2FybmluZyc6J0xlYXZpbmcgdGhpcyBw
YWdlIG1heSBjYXVzZSB5b3UgdG8gbG9zZSBhbnkgY2hhbmdlcyB5b3UgaGF2ZSBt
YWRlLlxuSWYgeW91IGFyZSBsb2dnZWQgaW4sIHlvdSBjYW4gZGlzYWJsZSB0aGlz
IHdhcm5pbmcgaW4gdGhlIFwiRWRpdGluZ1wiIHNlY3Rpb24gb2YgeW91ciBwcmVm
ZXJlbmNlcy4nLCd2ZWN0b3Itc2ltcGxlc2VhcmNoLXNlYXJjaCc6J1NlYXJjaCcs
J3ZlY3Rvci1zaW1wbGVzZWFyY2gtY29udGFpbmluZyc6J2NvbnRhaW5pbmcuLi4n
fSk7PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwOi8vdXBsb2FkLndpa2ltZWRp
YS5vcmcvY2VudHJhbG5vdGljZS93aWtpcGVkaWEvZW4vY2VudHJhbG5vdGljZS5q
cz8yODNzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0Pgo8IS0tW2lm
IGx0IElFIDddPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ym9keXtiZWhhdmlvcjp1
cmwoIi93L3NraW5zLTEuNS92ZWN0b3IvY3NzaG92ZXIuaHRjIil9PC9zdHlsZT48
IVtlbmRpZl0tLT4KPHNjcmlwdCBzcmM9Ii93L2luZGV4LnBocD90aXRsZT0tJmFt
cDthY3Rpb249cmF3JmFtcDtnZW49anMmYW1wO3VzZXNraW49dmVjdG9yJmFtcDsy
ODNzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PgoKPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL3cvZXh0ZW5zaW9ucy9PZ2dIYW5k
bGVyL09nZ1BsYXllci5qcz8xMSI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4Kd2dPZ2dQbGF5ZXIubXNnID0geyJvZ2ctcGxheSI6ICJQ
bGF5IiwgIm9nZy1wYXVzZSI6ICJQYXVzZSIsICJvZ2ctc3RvcCI6ICJTdG9wIiwg
Im9nZy1uby1wbGF5ZXIiOiAiU29ycnksIHlvdXIgc3lzdGVtIGRvZXMgbm90IGFw
cGVhciB0byBoYXZlIGFueSBzdXBwb3J0ZWQgcGxheWVyIHNvZnR3YXJlLlxuUGxl
YXNlIFx4M2NhIGhyZWY9XCJodHRwOi8vd3d3Lm1lZGlhd2lraS5vcmcvd2lraS9F
eHRlbnNpb246T2dnSGFuZGxlci9DbGllbnRfZG93bmxvYWRcIlx4M2Vkb3dubG9h
ZCBhIHBsYXllclx4M2MvYVx4M2UuIiwgIm9nZy1wbGF5ZXItdmlkZW9FbGVtZW50
IjogIk5hdGl2ZSBicm93c2VyIHN1cHBvcnQiLCAib2dnLXBsYXllci1vZ2dQbHVn
aW4iOiAiQnJvd3NlciBwbHVnaW4iLCAib2dnLXBsYXllci1jb3J0YWRvIjogIkNv
cnRhZG8gKEphdmEpIiwgIm9nZy1wbGF5ZXItdmxjLW1vemlsbGEiOiAiVkxDIiwg
Im9nZy1wbGF5ZXItdmxjLWFjdGl2ZXgiOiAiVkxDIChBY3RpdmVYKSIsICJvZ2ct
cGxheWVyLXF1aWNrdGltZS1tb3ppbGxhIjogIlF1aWNrVGltZSIsICJvZ2ctcGxh
eWVyLXF1aWNrdGltZS1hY3RpdmV4IjogIlF1aWNrVGltZSAoQWN0aXZlWCkiLCAi
b2dnLXBsYXllci10b3RlbSI6ICJUb3RlbSIsICJvZ2ctcGxheWVyLWthZmZlaW5l
IjogIkthZmZlaW5lIiwgIm9nZy1wbGF5ZXIta21wbGF5ZXIiOiAiS01QbGF5ZXIi
LCAib2dnLXBsYXllci1tcGxheWVycGx1Zy1pbiI6ICJtcGxheWVycGx1Zy1pbiIs
ICJvZ2ctcGxheWVyLXRodW1ibmFpbCI6ICJTdGlsbCBpbWFnZSBvbmx5IiwgIm9n
Zy1wbGF5ZXItc2VsZWN0ZWQiOiAiKHNlbGVjdGVkKSIsICJvZ2ctdXNlLXBsYXll
ciI6ICJVc2UgcGxheWVyOiIsICJvZ2ctbW9yZSI6ICJNb3Jl4oCmIiwgIm9nZy1k
b3dubG9hZCI6ICJEb3dubG9hZCBmaWxlIiwgIm9nZy1kZXNjLWxpbmsiOiAiQWJv
dXQgdGhpcyBmaWxlIiwgIm9nZy1kaXNtaXNzIjogIkNsb3NlIiwgIm9nZy1wbGF5
ZXItc291bmR0aHVtYiI6ICJObyBwbGF5ZXIiLCAib2dnLW5vLXhpcGhxdCI6ICJZ
b3UgZG8gbm90IGFwcGVhciB0byBoYXZlIHRoZSBYaXBoUVQgY29tcG9uZW50IGZv
ciBRdWlja1RpbWUuXG5RdWlja1RpbWUgY2Fubm90IHBsYXkgT2dnIGZpbGVzIHdp
dGhvdXQgdGhpcyBjb21wb25lbnQuXG5QbGVhc2UgXHgzY2EgaHJlZj1cImh0dHA6
Ly93d3cubWVkaWF3aWtpLm9yZy93aWtpL0V4dGVuc2lvbjpPZ2dIYW5kbGVyL0Ns
aWVudF9kb3dubG9hZFwiXHgzZWRvd25sb2FkIFhpcGhRVFx4M2MvYVx4M2Ugb3Ig
Y2hvb3NlIGFub3RoZXIgcGxheWVyLiJ9Owp3Z09nZ1BsYXllci5jb3J0YWRvVXJs
ID0gImh0dHA6Ly91cGxvYWQud2lraW1lZGlhLm9yZy9qYXJzL2NvcnRhZG8uamFy
IjsKd2dPZ2dQbGF5ZXIuZXh0UGF0aFVybCA9ICIvdy9leHRlbnNpb25zL09nZ0hh
bmRsZXIiOwo8L3NjcmlwdD4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm9nZy1w
bGF5ZXItb3B0aW9ucyB7Cglib3JkZXI6IHNvbGlkIDFweCAjY2NjOwoJcGFkZGlu
ZzogMnB0OwoJdGV4dC1hbGlnbjogbGVmdDsKCWZvbnQtc2l6ZTogMTBwdDsKfQo8
L3N0eWxlPjwvaGVhZD4KPGJvZHkgY2xhc3M9Im1lZGlhd2lraSBsdHIgbnMtMCBu
cy1zdWJqZWN0IHBhZ2UtSGVhcnRfZmFpbHVyZSBza2luLXZlY3RvciI+CgkJPGRp
diBpZD0ibXctcGFnZS1iYXNlIiBjbGFzcz0ibm9wcmludCI+PC9kaXY+CgkJPGRp
diBpZD0ibXctaGVhZC1iYXNlIiBjbGFzcz0ibm9wcmludCI+PC9kaXY+CgkJPCEt
LSBjb250ZW50IC0tPgoJCTxkaXYgaWQ9ImNvbnRlbnQiPgoJCQk8YSBpZD0idG9w
Ij48L2E+CgkJCTxkaXYgaWQ9Im13LWpzLW1lc3NhZ2UiIHN0eWxlPSJkaXNwbGF5
Om5vbmU7Ij48L2Rpdj4KCQkJCQkJPCEtLSBzaXRlbm90aWNlIC0tPgoJCQk8ZGl2
IGlkPSJzaXRlTm90aWNlIj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
aWYgKHdnTm90aWNlICE9ICcnKSBkb2N1bWVudC53cml0ZWxuKHdnTm90aWNlKTs8
L3NjcmlwdD48L2Rpdj4KCQkJPCEtLSAvc2l0ZW5vdGljZSAtLT4KCQkJCQkJPCEt
LSBmaXJzdEhlYWRpbmcgLS0+CgkJCTxoMSBpZD0iZmlyc3RIZWFkaW5nIiBjbGFz
cz0iZmlyc3RIZWFkaW5nIj5IZWFydCBmYWlsdXJlPC9oMT4KCQkJPCEtLSAvZmly
c3RIZWFkaW5nIC0tPgoJCQk8IS0tIGJvZHlDb250ZW50IC0tPgoJCQk8ZGl2IGlk
PSJib2R5Q29udGVudCI+CgkJCQk8IS0tIHRhZ2xpbmUgLS0+CgkJCQk8ZGl2IGlk
PSJzaXRlU3ViIj5Gcm9tIFdpa2lwZWRpYSwgdGhlIGZyZWUgZW5jeWNsb3BlZGlh
PC9kaXY+CgkJCQk8IS0tIC90YWdsaW5lIC0tPgoJCQkJPCEtLSBzdWJ0aXRsZSAt
LT4KCQkJCTxkaXYgaWQ9ImNvbnRlbnRTdWIiPjwvZGl2PgoJCQkJPCEtLSAvc3Vi
dGl0bGUgLS0+CgkJCQkJCQkJCQkJCQkJCQk8IS0tIGp1bXB0byAtLT4KCQkJCTxk
aXYgaWQ9Imp1bXAtdG8tbmF2Ij4KCQkJCQlKdW1wIHRvOiA8YSBocmVmPSIjbXct
aGVhZCI+bmF2aWdhdGlvbjwvYT4sCgkJCQkJPGEgaHJlZj0iI3Atc2VhcmNoIj5z
ZWFyY2g8L2E+CgkJCQk8L2Rpdj4KCQkJCTwhLS0gL2p1bXB0byAtLT4KCQkJCQkJ
CQk8IS0tIGJvZHl0ZXh0IC0tPgoJCQkJPHRhYmxlIGNsYXNzPSJpbmZvYm94IiBj
ZWxsc3BhY2luZz0iNSIgc3R5bGU9IndpZHRoOjIyZW07IHRleHQtYWxpZ246bGVm
dDsgZm9udC1zaXplOjg4JTsgbGluZS1oZWlnaHQ6MS41ZW07Ij4KPHRyPgo8dGgg
Y29sc3Bhbj0iMiIgY2xhc3M9IiIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyB0
ZXh0LWFsaWduOmNlbnRlcjsgZm9udC1zaXplOjEyNSU7IGZvbnQtd2VpZ2h0OmJv
bGQ7IGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleSI+SGVhcnQgZmFpbHVyZTwv
dGg+CjwvdHI+Cjx0ciBjbGFzcz0iIj4KPHRkIGNvbHNwYW49IjIiIGNsYXNzPSIi
IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsiPjxpPkNsYXNzaWZpY2F0aW9uIGFu
ZCBleHRlcm5hbCByZXNvdXJjZXM8L2k+PC90ZD4KPC90cj4KPHRyIGNsYXNzPSIi
Pgo8dGQgY29sc3Bhbj0iMiIgY2xhc3M9IiIgc3R5bGU9InRleHQtYWxpZ246Y2Vu
dGVyOyI+PGEgaHJlZj0iL3dpa2kvRmlsZTpIZWFydGZhaWx1cmUuanBnIiBjbGFz
cz0iaW1hZ2UiPjxpbWcgYWx0PSIiIHNyYz0iaHR0cDovL3VwbG9hZC53aWtpbWVk
aWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzkvOTkvSGVhcnRmYWlsdXJl
LmpwZy8yMzBweC1IZWFydGZhaWx1cmUuanBnIiB3aWR0aD0iMjMwIiBoZWlnaHQ9
IjMwNSIgLz48L2E+PGJyIC8+CjxzcGFuIHN0eWxlPSIiPlRoZSBtYWpvciBzaWdu
cyBhbmQgc3ltcHRvbXMgb2YgaGVhcnQgZmFpbHVyZS48L3NwYW4+PC90ZD4KPC90
cj4KPHRyIGNsYXNzPSIiPgo8dGggc3R5bGU9InRleHQtYWxpZ246bGVmdDsiPjxh
IGhyZWY9Ii93aWtpL0lDRCIgdGl0bGU9IklDRCIgY2xhc3M9Im13LXJlZGlyZWN0
Ij5JQ0Q8L2E+LTxhIGhyZWY9Ii93aWtpL0xpc3Rfb2ZfSUNELTEwX2NvZGVzIiB0
aXRsZT0iTGlzdCBvZiBJQ0QtMTAgY29kZXMiIGNsYXNzPSJtdy1yZWRpcmVjdCI+
MTA8L2E+PC90aD4KPHRkIGNsYXNzPSIiIHN0eWxlPSIiPjxhIGhyZWY9Ii93aWtp
L0lDRC0xMF9DaGFwdGVyX0kiIHRpdGxlPSJJQ0QtMTAgQ2hhcHRlciBJIiBjbGFz
cz0ibXctcmVkaXJlY3QiPkk8L2E+PGEgaHJlZj0iaHR0cDovL2FwcHMud2hvLmlu
dC9jbGFzc2lmaWNhdGlvbnMvYXBwcy9pY2QvaWNkMTBvbmxpbmUvP2dpMzAuaHRt
K2k1MCIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjUwLjwv
YT48L3RkPgo8L3RyPgo8dHIgY2xhc3M9IiI+Cjx0aCBzdHlsZT0idGV4dC1hbGln
bjpsZWZ0OyI+PGEgaHJlZj0iL3dpa2kvSUNEIiB0aXRsZT0iSUNEIiBjbGFzcz0i
bXctcmVkaXJlY3QiPklDRDwvYT4tPGEgaHJlZj0iL3dpa2kvTGlzdF9vZl9JQ0Qt
OV9jb2RlcyIgdGl0bGU9Ikxpc3Qgb2YgSUNELTkgY29kZXMiPjk8L2E+PC90aD4K
PHRkIGNsYXNzPSIiIHN0eWxlPSIiPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWNkOWRh
dGEuY29tL2dldElDRDlDb2RlLmFzaHg/aWNkOT00MjguMCIgY2xhc3M9ImV4dGVy
bmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjQyOC4wPC9hPjwvdGQ+CjwvdHI+Cjx0
ciBjbGFzcz0iIj4KPHRoIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij48YSBocmVm
PSIvd2lraS9EaXNlYXNlc19EYXRhYmFzZSIgdGl0bGU9IkRpc2Vhc2VzIERhdGFi
YXNlIj5EaXNlYXNlc0RCPC9hPjwvdGg+Cjx0ZCBjbGFzcz0iIiBzdHlsZT0iIj48
YSBocmVmPSJodHRwOi8vd3d3LmRpc2Vhc2VzZGF0YWJhc2UuY29tL2RkYjE2MjA5
Lmh0bSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjE2MjA5
PC9hPjwvdGQ+CjwvdHI+Cjx0ciBjbGFzcz0iIj4KPHRoIHN0eWxlPSJ0ZXh0LWFs
aWduOmxlZnQ7Ij48YSBocmVmPSIvd2lraS9NZWRsaW5lUGx1cyIgdGl0bGU9Ik1l
ZGxpbmVQbHVzIj5NZWRsaW5lUGx1czwvYT48L3RoPgo8dGQgY2xhc3M9IiIgc3R5
bGU9IiI+PGEgaHJlZj0iaHR0cDovL3d3dy5ubG0ubmloLmdvdi9tZWRsaW5lcGx1
cy9lbmN5L2FydGljbGUvMDAwMTU4Lmh0bSIgY2xhc3M9ImV4dGVybmFsIHRleHQi
IHJlbD0ibm9mb2xsb3ciPjAwMDE1ODwvYT48L3RkPgo8L3RyPgo8dHIgY2xhc3M9
IiI+Cjx0aCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0OyI+PGEgaHJlZj0iL3dpa2kv
RU1lZGljaW5lIiB0aXRsZT0iRU1lZGljaW5lIj5lTWVkaWNpbmU8L2E+PC90aD4K
PHRkIGNsYXNzPSIiIHN0eWxlPSIiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZW1lZGlj
aW5lLmNvbS9tZWQvdG9waWMzNTUyLmh0bSIgY2xhc3M9ImV4dGVybmFsIHRleHQi
IHJlbD0ibm9mb2xsb3ciPm1lZC8zNTUyPC9hPiA8YSBocmVmPSJodHRwOi8vd3d3
LmVtZWRpY2luZS5jb20vZW1lcmcvdG9waWMxMDguaHRtIyIgY2xhc3M9ImV4dGVy
bmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPmVtZXJnLzEwODwvYT4gPGEgaHJlZj0i
aHR0cDovL3d3dy5lbWVkaWNpbmUuY29tL3JhZGlvL3RvcGljMTg5Lmh0bSMiIGNs
YXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5yYWRpby8xODk8L2E+
IDxhIGhyZWY9Imh0dHA6Ly93d3cuZW1lZGljaW5lLmNvbS9tZWQvdG9waWMxMzY3
MTUwLmh0bSMiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5t
ZWQvMTM2NzE1MDwvYT4gPGEgaHJlZj0iaHR0cDovL3d3dy5lbWVkaWNpbmUuY29t
L3BlZC90b3BpYzI2MzYuaHRtIyIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0i
bm9mb2xsb3ciPnBlZC8yNjM2PC9hPjwvdGQ+CjwvdHI+Cjx0ciBjbGFzcz0iIj4K
PHRoIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ij48YSBocmVmPSIvd2lraS9NZWRp
Y2FsX1N1YmplY3RfSGVhZGluZ3MiIHRpdGxlPSJNZWRpY2FsIFN1YmplY3QgSGVh
ZGluZ3MiPk1lU0g8L2E+PC90aD4KPHRkIGNsYXNzPSIiIHN0eWxlPSIiPjxhIGhy
ZWY9Imh0dHA6Ly93d3cubmxtLm5paC5nb3YvY2dpL21lc2gvMjAxMC9NQl9jZ2k/
ZmllbGQ9dWlkJmFtcDt0ZXJtPUQwMDYzMzMiIGNsYXNzPSJleHRlcm5hbCB0ZXh0
IiByZWw9Im5vZm9sbG93Ij5EMDA2MzMzPC9hPjwvdGQ+CjwvdHI+CjwvdGFibGU+
CjxwPjxiPkhlYXJ0IGZhaWx1cmU8L2I+IChIRikgaXMgZ2VuZXJhbGx5IGRlZmlu
ZWQgYXMgaW5hYmlsaXR5IG9mIHRoZSA8YSBocmVmPSIvd2lraS9IZWFydCIgdGl0
bGU9IkhlYXJ0Ij5oZWFydDwvYT4gdG8gc3VwcGx5IHN1ZmZpY2llbnQgPGEgaHJl
Zj0iL3dpa2kvQmxvb2RfZmxvdyIgdGl0bGU9IkJsb29kIGZsb3ciPmJsb29kIGZs
b3c8L2E+IHRvIG1lZXQgdGhlIGJvZHkncyBuZWVkcy48c3VwIGlkPSJjaXRlX3Jl
Zi0wIiBjbGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTAiPjxz
cGFuPls8L3NwYW4+MTxzcGFuPl08L3NwYW4+PC9hPjwvc3VwPjxzdXAgaWQ9ImNp
dGVfcmVmLTEiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUt
MSI+PHNwYW4+Wzwvc3Bhbj4yPHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+PHN1cCBp
ZD0iY2l0ZV9yZWYtMiIgY2xhc3M9InJlZmVyZW5jZSI+PGEgaHJlZj0iI2NpdGVf
bm90ZS0yIj48c3Bhbj5bPC9zcGFuPjM8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD4g
SXQgaGFzIHZhcmlvdXMgZGlhZ25vc3RpYyBjcml0ZXJpYSwgYW5kIHRoZSB0ZXJt
IDxpPmhlYXJ0IGZhaWx1cmU8L2k+IGlzIG9mdGVuIGluY29ycmVjdGx5IHVzZWQg
dG8gZGVzY3JpYmUgb3RoZXIgY2FyZGlhYy1yZWxhdGVkIGlsbG5lc3Nlcywgc3Vj
aCBhcyA8YSBocmVmPSIvd2lraS9NeW9jYXJkaWFsX2luZmFyY3Rpb24iIHRpdGxl
PSJNeW9jYXJkaWFsIGluZmFyY3Rpb24iPm15b2NhcmRpYWwgaW5mYXJjdGlvbjwv
YT4gKGhlYXJ0IGF0dGFjaykgb3IgPGEgaHJlZj0iL3dpa2kvQ2FyZGlhY19hcnJl
c3QiIHRpdGxlPSJDYXJkaWFjIGFycmVzdCI+Y2FyZGlhYyBhcnJlc3Q8L2E+Ljwv
cD4KPHA+Q29tbW9uIGNhdXNlcyBvZiBoZWFydCBmYWlsdXJlIGluY2x1ZGUgPGEg
aHJlZj0iL3dpa2kvTXlvY2FyZGlhbF9pbmZhcmN0aW9uIiB0aXRsZT0iTXlvY2Fy
ZGlhbCBpbmZhcmN0aW9uIj5teW9jYXJkaWFsIGluZmFyY3Rpb248L2E+IChoZWFy
dCBhdHRhY2tzKSBhbmQgb3RoZXIgZm9ybXMgb2YgPGEgaHJlZj0iL3dpa2kvSXNj
aGVtaWNfaGVhcnRfZGlzZWFzZSIgdGl0bGU9IklzY2hlbWljIGhlYXJ0IGRpc2Vh
c2UiIGNsYXNzPSJtdy1yZWRpcmVjdCI+aXNjaGVtaWMgaGVhcnQgZGlzZWFzZTwv
YT4sIDxhIGhyZWY9Ii93aWtpL0h5cGVydGVuc2lvbiIgdGl0bGU9Ikh5cGVydGVu
c2lvbiI+aHlwZXJ0ZW5zaW9uPC9hPiwgPGEgaHJlZj0iL3dpa2kvVmFsdnVsYXJf
aGVhcnRfZGlzZWFzZSIgdGl0bGU9IlZhbHZ1bGFyIGhlYXJ0IGRpc2Vhc2UiPnZh
bHZ1bGFyIGhlYXJ0IGRpc2Vhc2U8L2E+LCBhbmQgPGEgaHJlZj0iL3dpa2kvQ2Fy
ZGlvbXlvcGF0aHkiIHRpdGxlPSJDYXJkaW9teW9wYXRoeSI+Y2FyZGlvbXlvcGF0
aHk8L2E+LjxzdXAgaWQ9ImNpdGVfcmVmLUxhbmNldDIwMDVfMy0wIiBjbGFzcz0i
cmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLUxhbmNldDIwMDUtMyI+PHNw
YW4+Wzwvc3Bhbj40PHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+IEhlYXJ0IGZhaWx1
cmUgY2FuIGNhdXNlIGEgbnVtYmVyIG9mIHN5bXB0b21zIGluY2x1ZGluZyA8YSBo
cmVmPSIvd2lraS9TaG9ydG5lc3Nfb2ZfYnJlYXRoIiB0aXRsZT0iU2hvcnRuZXNz
IG9mIGJyZWF0aCIgY2xhc3M9Im13LXJlZGlyZWN0Ij5zaG9ydG5lc3Mgb2YgYnJl
YXRoPC9hPiAodHlwaWNhbGx5IHdvcnNlIHdoZW4gbHlpbmcgZmxhdCwgd2hpY2gg
aXMgY2FsbGVkIDxhIGhyZWY9Ii93aWtpL09ydGhvcG5lYSIgdGl0bGU9Ik9ydGhv
cG5lYSI+b3J0aG9wbmVhPC9hPiksIDxhIGhyZWY9Ii93aWtpL0NvdWdoaW5nIiB0
aXRsZT0iQ291Z2hpbmciIGNsYXNzPSJtdy1yZWRpcmVjdCI+Y291Z2hpbmc8L2E+
LCA8YSBocmVmPSIvd2lraS9DaHJvbmljX3Zlbm91c19jb25nZXN0aW9uIiB0aXRs
ZT0iQ2hyb25pYyB2ZW5vdXMgY29uZ2VzdGlvbiI+Y2hyb25pYyB2ZW5vdXMgY29u
Z2VzdGlvbjwvYT4sIGFua2xlIHN3ZWxsaW5nLCBhbmQgPGEgaHJlZj0iL3dpa2kv
RXhlcmNpc2VfaW50b2xlcmFuY2UiIHRpdGxlPSJFeGVyY2lzZSBpbnRvbGVyYW5j
ZSI+ZXhlcmNpc2UgaW50b2xlcmFuY2U8L2E+LiBIZWFydCBmYWlsdXJlIGlzIG9m
dGVuIHVuZGlhZ25vc2VkIGR1ZSB0byBhIGxhY2sgb2YgYSB1bml2ZXJzYWxseSBh
Z3JlZWQgZGVmaW5pdGlvbiBhbmQgY2hhbGxlbmdlcyBpbiBkZWZpbml0aXZlIGRp
YWdub3Npcy4gVHJlYXRtZW50IGNvbW1vbmx5IGNvbnNpc3RzIG9mIGxpZmVzdHls
ZSBtZWFzdXJlcyAoc3VjaCBhcyBkZWNyZWFzZWQgc2FsdCBpbnRha2UpIGFuZCBt
ZWRpY2F0aW9ucywgYW5kIHNvbWV0aW1lcyBkZXZpY2VzIG9yIGV2ZW4gc3VyZ2Vy
eS48L3A+CjxwPkhlYXJ0IGZhaWx1cmUgaXMgYSBjb21tb24sIGNvc3RseSwgZGlz
YWJsaW5nLCBhbmQgcG90ZW50aWFsbHkgZGVhZGx5IGNvbmRpdGlvbi48c3VwIGlk
PSJjaXRlX3JlZi1MYW5jZXQyMDA1XzMtMSIgY2xhc3M9InJlZmVyZW5jZSI+PGEg
aHJlZj0iI2NpdGVfbm90ZS1MYW5jZXQyMDA1LTMiPjxzcGFuPls8L3NwYW4+NDxz
cGFuPl08L3NwYW4+PC9hPjwvc3VwPiBJbiBkZXZlbG9waW5nIGNvdW50cmllcywg
YXJvdW5kIDIlIG9mIGFkdWx0cyBzdWZmZXIgZnJvbSBoZWFydCBmYWlsdXJlLCBi
dXQgaW4gdGhvc2Ugb3ZlciB0aGUgYWdlIG9mIDY1LCB0aGlzIGluY3JlYXNlcyB0
byA24oCTMTAlLjxzdXAgaWQ9ImNpdGVfcmVmLUxhbmNldDIwMDVfMy0yIiBjbGFz
cz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLUxhbmNldDIwMDUtMyI+
PHNwYW4+Wzwvc3Bhbj40PHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+PHN1cCBpZD0i
Y2l0ZV9yZWYtcG1pZDE4Nzk5NTIyXzQtMCIgY2xhc3M9InJlZmVyZW5jZSI+PGEg
aHJlZj0iI2NpdGVfbm90ZS1wbWlkMTg3OTk1MjItNCI+PHNwYW4+Wzwvc3Bhbj41
PHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+IE1vc3RseSBkdWUgdG8gY29zdHMgb2Yg
aG9zcGl0YWxpemF0aW9uIGl0IGlzIGFzc29jaWF0ZWQgd2l0aCBhIGhpZ2ggaGVh
bHRoIGV4cGVuZGl0dXJlOyBjb3N0cyBoYXZlIGJlZW4gZXN0aW1hdGVkIHRvIGFt
b3VudCB0byAyJSBvZiB0aGUgdG90YWwgYnVkZ2V0IG9mIHRoZSA8YSBocmVmPSIv
d2lraS9OYXRpb25hbF9IZWFsdGhfU2VydmljZSIgdGl0bGU9Ik5hdGlvbmFsIEhl
YWx0aCBTZXJ2aWNlIj5OYXRpb25hbCBIZWFsdGggU2VydmljZTwvYT4gaW4gdGhl
IFVuaXRlZCBLaW5nZG9tLCBhbmQgbW9yZSB0aGFuICQzNSBiaWxsaW9uIGluIHRo
ZSBVbml0ZWQgU3RhdGVzLjxzdXAgaWQ9ImNpdGVfcmVmLXBtaWQxMjAzNDE2M181
LTAiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtcG1pZDEy
MDM0MTYzLTUiPjxzcGFuPls8L3NwYW4+NjxzcGFuPl08L3NwYW4+PC9hPjwvc3Vw
PjxzdXAgaWQ9ImNpdGVfcmVmLXBtaWQxODA4NjkyNl82LTAiIGNsYXNzPSJyZWZl
cmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtcG1pZDE4MDg2OTI2LTYiPjxzcGFu
Pls8L3NwYW4+NzxzcGFuPl08L3NwYW4+PC9hPjwvc3VwPiBIZWFydCBmYWlsdXJl
IGlzIGFzc29jaWF0ZWQgd2l0aCBzaWduaWZpY2FudGx5IHJlZHVjZWQgcGh5c2lj
YWwgYW5kIG1lbnRhbCBoZWFsdGgsIHJlc3VsdGluZyBpbiBhIG1hcmtlZGx5IGRl
Y3JlYXNlZCA8YSBocmVmPSIvd2lraS9RdWFsaXR5X29mX2xpZmUiIHRpdGxlPSJR
dWFsaXR5IG9mIGxpZmUiPnF1YWxpdHkgb2YgbGlmZTwvYT4uPHN1cCBpZD0iY2l0
ZV9yZWYtcG1pZDExODQ3MTYxXzctMCIgY2xhc3M9InJlZmVyZW5jZSI+PGEgaHJl
Zj0iI2NpdGVfbm90ZS1wbWlkMTE4NDcxNjEtNyI+PHNwYW4+Wzwvc3Bhbj44PHNw
YW4+XTwvc3Bhbj48L2E+PC9zdXA+PHN1cCBpZD0iY2l0ZV9yZWYtcG1pZDEyNDQ1
NTM2XzgtMCIgY2xhc3M9InJlZmVyZW5jZSI+PGEgaHJlZj0iI2NpdGVfbm90ZS1w
bWlkMTI0NDU1MzYtOCI+PHNwYW4+Wzwvc3Bhbj45PHNwYW4+XTwvc3Bhbj48L2E+
PC9zdXA+IFdpdGggdGhlIGV4Y2VwdGlvbiBvZiBoZWFydCBmYWlsdXJlIGNhdXNl
ZCBieSByZXZlcnNpYmxlIGNvbmRpdGlvbnMsIHRoZSBjb25kaXRpb24gdXN1YWxs
eSB3b3JzZW5zIHdpdGggdGltZS4gQWx0aG91Z2ggc29tZSBwYXRpZW50cyBzdXJ2
aXZlIG1hbnkgeWVhcnMsIHByb2dyZXNzaXZlIGRpc2Vhc2UgaXMgYXNzb2NpYXRl
ZCB3aXRoIGFuIG92ZXJhbGwgYW5udWFsIG1vcnRhbGl0eSByYXRlIG9mIDEwJS48
c3VwIGlkPSJjaXRlX3JlZi1uZXViYXVlci0yMDA3XzktMCIgY2xhc3M9InJlZmVy
ZW5jZSI+PGEgaHJlZj0iI2NpdGVfbm90ZS1uZXViYXVlci0yMDA3LTkiPjxzcGFu
Pls8L3NwYW4+MTA8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD48L3A+Cjx0YWJsZSBp
ZD0idG9jIiBjbGFzcz0idG9jIj4KPHRyPgo8dGQ+CjxkaXYgaWQ9InRvY3RpdGxl
Ij4KPGgyPkNvbnRlbnRzPC9oMj4KPC9kaXY+Cjx1bD4KPGxpIGNsYXNzPSJ0b2Ns
ZXZlbC0xIHRvY3NlY3Rpb24tMSI+PGEgaHJlZj0iI1Rlcm1pbm9sb2d5Ij48c3Bh
biBjbGFzcz0idG9jbnVtYmVyIj4xPC9zcGFuPiA8c3BhbiBjbGFzcz0idG9jdGV4
dCI+VGVybWlub2xvZ3k8L3NwYW4+PC9hPjwvbGk+CjxsaSBjbGFzcz0idG9jbGV2
ZWwtMSB0b2NzZWN0aW9uLTIiPjxhIGhyZWY9IiNDbGFzc2lmaWNhdGlvbiI+PHNw
YW4gY2xhc3M9InRvY251bWJlciI+Mjwvc3Bhbj4gPHNwYW4gY2xhc3M9InRvY3Rl
eHQiPkNsYXNzaWZpY2F0aW9uPC9zcGFuPjwvYT48L2xpPgo8bGkgY2xhc3M9InRv
Y2xldmVsLTEgdG9jc2VjdGlvbi0zIj48YSBocmVmPSIjU2lnbnNfYW5kX3N5bXB0
b21zIj48c3BhbiBjbGFzcz0idG9jbnVtYmVyIj4zPC9zcGFuPiA8c3BhbiBjbGFz
cz0idG9jdGV4dCI+U2lnbnMgYW5kIHN5bXB0b21zPC9zcGFuPjwvYT4KPHVsPgo8
bGkgY2xhc3M9InRvY2xldmVsLTIgdG9jc2VjdGlvbi00Ij48YSBocmVmPSIjU3lt
cHRvbXMiPjxzcGFuIGNsYXNzPSJ0b2NudW1iZXIiPjMuMTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9InRvY3RleHQiPlN5bXB0b21zPC9zcGFuPjwvYT4KPHVsPgo8bGkgY2xh
c3M9InRvY2xldmVsLTMgdG9jc2VjdGlvbi01Ij48YSBocmVmPSIjTGVmdC1zaWRl
ZF9mYWlsdXJlIj48c3BhbiBjbGFzcz0idG9jbnVtYmVyIj4zLjEuMTwvc3Bhbj4g
PHNwYW4gY2xhc3M9InRvY3RleHQiPkxlZnQtc2lkZWQgZmFpbHVyZTwvc3Bhbj48
L2E+PC9saT4KPGxpIGNsYXNzPSJ0b2NsZXZlbC0zIHRvY3NlY3Rpb24tNiI+PGEg
aHJlZj0iI1JpZ2h0LXNpZGVkX2ZhaWx1cmUiPjxzcGFuIGNsYXNzPSJ0b2NudW1i
ZXIiPjMuMS4yPC9zcGFuPiA8c3BhbiBjbGFzcz0idG9jdGV4dCI+UmlnaHQtc2lk
ZWQgZmFpbHVyZTwvc3Bhbj48L2E+PC9saT4KPC91bD4KPC9saT4KPGxpIGNsYXNz
PSJ0b2NsZXZlbC0yIHRvY3NlY3Rpb24tNyI+PGEgaHJlZj0iI1NpZ25zIj48c3Bh
biBjbGFzcz0idG9jbnVtYmVyIj4zLjI8L3NwYW4+IDxzcGFuIGNsYXNzPSJ0b2N0
ZXh0Ij5TaWduczwvc3Bhbj48L2E+Cjx1bD4KPGxpIGNsYXNzPSJ0b2NsZXZlbC0z
IHRvY3NlY3Rpb24tOCI+PGEgaHJlZj0iI0xlZnQtc2lkZWRfZmFpbHVyZV8yIj48
c3BhbiBjbGFzcz0idG9jbnVtYmVyIj4zLjIuMTwvc3Bhbj4gPHNwYW4gY2xhc3M9
InRvY3RleHQiPkxlZnQtc2lkZWQgZmFpbHVyZTwvc3Bhbj48L2E+PC9saT4KPGxp
IGNsYXNzPSJ0b2NsZXZlbC0zIHRvY3NlY3Rpb24tOSI+PGEgaHJlZj0iI1JpZ2h0
LXNpZGVkX2ZhaWx1cmVfMiI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+My4yLjI8
L3NwYW4+IDxzcGFuIGNsYXNzPSJ0b2N0ZXh0Ij5SaWdodC1zaWRlZCBmYWlsdXJl
PC9zcGFuPjwvYT48L2xpPgo8bGkgY2xhc3M9InRvY2xldmVsLTMgdG9jc2VjdGlv
bi0xMCI+PGEgaHJlZj0iI0JpdmVudHJpY3VsYXJfZmFpbHVyZSI+PHNwYW4gY2xh
c3M9InRvY251bWJlciI+My4yLjM8L3NwYW4+IDxzcGFuIGNsYXNzPSJ0b2N0ZXh0
Ij5CaXZlbnRyaWN1bGFyIGZhaWx1cmU8L3NwYW4+PC9hPjwvbGk+CjwvdWw+Cjwv
bGk+CjwvdWw+CjwvbGk+CjxsaSBjbGFzcz0idG9jbGV2ZWwtMSB0b2NzZWN0aW9u
LTExIj48YSBocmVmPSIjQ2F1c2VzIj48c3BhbiBjbGFzcz0idG9jbnVtYmVyIj40
PC9zcGFuPiA8c3BhbiBjbGFzcz0idG9jdGV4dCI+Q2F1c2VzPC9zcGFuPjwvYT4K
PHVsPgo8bGkgY2xhc3M9InRvY2xldmVsLTIgdG9jc2VjdGlvbi0xMiI+PGEgaHJl
Zj0iI0Nocm9uaWNfaGVhcnRfZmFpbHVyZSI+PHNwYW4gY2xhc3M9InRvY251bWJl
ciI+NC4xPC9zcGFuPiA8c3BhbiBjbGFzcz0idG9jdGV4dCI+Q2hyb25pYyBoZWFy
dCBmYWlsdXJlPC9zcGFuPjwvYT48L2xpPgo8bGkgY2xhc3M9InRvY2xldmVsLTIg
dG9jc2VjdGlvbi0xMyI+PGEgaHJlZj0iI0FjdXRlX2RlY29tcGVuc2F0ZWRfaGVh
cnRfZmFpbHVyZSI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+NC4yPC9zcGFuPiA8
c3BhbiBjbGFzcz0idG9jdGV4dCI+QWN1dGUgZGVjb21wZW5zYXRlZCBoZWFydCBm
YWlsdXJlPC9zcGFuPjwvYT48L2xpPgo8L3VsPgo8L2xpPgo8bGkgY2xhc3M9InRv
Y2xldmVsLTEgdG9jc2VjdGlvbi0xNCI+PGEgaHJlZj0iI1BhdGhvcGh5c2lvbG9n
eSI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+NTwvc3Bhbj4gPHNwYW4gY2xhc3M9
InRvY3RleHQiPlBhdGhvcGh5c2lvbG9neTwvc3Bhbj48L2E+Cjx1bD4KPGxpIGNs
YXNzPSJ0b2NsZXZlbC0yIHRvY3NlY3Rpb24tMTUiPjxhIGhyZWY9IiNTeXN0b2xp
Y19keXNmdW5jdGlvbiI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+NS4xPC9zcGFu
PiA8c3BhbiBjbGFzcz0idG9jdGV4dCI+U3lzdG9saWMgZHlzZnVuY3Rpb248L3Nw
YW4+PC9hPjwvbGk+CjxsaSBjbGFzcz0idG9jbGV2ZWwtMiB0b2NzZWN0aW9uLTE2
Ij48YSBocmVmPSIjRGlhc3RvbGljX2R5c2Z1bmN0aW9uIj48c3BhbiBjbGFzcz0i
dG9jbnVtYmVyIj41LjI8L3NwYW4+IDxzcGFuIGNsYXNzPSJ0b2N0ZXh0Ij5EaWFz
dG9saWMgZHlzZnVuY3Rpb248L3NwYW4+PC9hPjwvbGk+CjwvdWw+CjwvbGk+Cjxs
aSBjbGFzcz0idG9jbGV2ZWwtMSB0b2NzZWN0aW9uLTE3Ij48YSBocmVmPSIjRGlh
Z25vc2lzIj48c3BhbiBjbGFzcz0idG9jbnVtYmVyIj42PC9zcGFuPiA8c3BhbiBj
bGFzcz0idG9jdGV4dCI+RGlhZ25vc2lzPC9zcGFuPjwvYT4KPHVsPgo8bGkgY2xh
c3M9InRvY2xldmVsLTIgdG9jc2VjdGlvbi0xOCI+PGEgaHJlZj0iI0ltYWdpbmci
PjxzcGFuIGNsYXNzPSJ0b2NudW1iZXIiPjYuMTwvc3Bhbj4gPHNwYW4gY2xhc3M9
InRvY3RleHQiPkltYWdpbmc8L3NwYW4+PC9hPjwvbGk+CjxsaSBjbGFzcz0idG9j
bGV2ZWwtMiB0b2NzZWN0aW9uLTE5Ij48YSBocmVmPSIjRWxlY3Ryb3BoeXNpb2xv
Z3kiPjxzcGFuIGNsYXNzPSJ0b2NudW1iZXIiPjYuMjwvc3Bhbj4gPHNwYW4gY2xh
c3M9InRvY3RleHQiPkVsZWN0cm9waHlzaW9sb2d5PC9zcGFuPjwvYT48L2xpPgo8
bGkgY2xhc3M9InRvY2xldmVsLTIgdG9jc2VjdGlvbi0yMCI+PGEgaHJlZj0iI0Js
b29kX3Rlc3RzIj48c3BhbiBjbGFzcz0idG9jbnVtYmVyIj42LjM8L3NwYW4+IDxz
cGFuIGNsYXNzPSJ0b2N0ZXh0Ij5CbG9vZCB0ZXN0czwvc3Bhbj48L2E+PC9saT4K
PGxpIGNsYXNzPSJ0b2NsZXZlbC0yIHRvY3NlY3Rpb24tMjEiPjxhIGhyZWY9IiNB
bmdpb2dyYXBoeSI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+Ni40PC9zcGFuPiA8
c3BhbiBjbGFzcz0idG9jdGV4dCI+QW5naW9ncmFwaHk8L3NwYW4+PC9hPjwvbGk+
CjxsaSBjbGFzcz0idG9jbGV2ZWwtMiB0b2NzZWN0aW9uLTIyIj48YSBocmVmPSIj
TW9uaXRvcmluZyI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+Ni41PC9zcGFuPiA8
c3BhbiBjbGFzcz0idG9jdGV4dCI+TW9uaXRvcmluZzwvc3Bhbj48L2E+PC9saT4K
PGxpIGNsYXNzPSJ0b2NsZXZlbC0yIHRvY3NlY3Rpb24tMjMiPjxhIGhyZWY9IiND
cml0ZXJpYSI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+Ni42PC9zcGFuPiA8c3Bh
biBjbGFzcz0idG9jdGV4dCI+Q3JpdGVyaWE8L3NwYW4+PC9hPjwvbGk+CjwvdWw+
CjwvbGk+CjxsaSBjbGFzcz0idG9jbGV2ZWwtMSB0b2NzZWN0aW9uLTI0Ij48YSBo
cmVmPSIjTWFuYWdlbWVudCI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+Nzwvc3Bh
bj4gPHNwYW4gY2xhc3M9InRvY3RleHQiPk1hbmFnZW1lbnQ8L3NwYW4+PC9hPgo8
dWw+CjxsaSBjbGFzcz0idG9jbGV2ZWwtMiB0b2NzZWN0aW9uLTI1Ij48YSBocmVm
PSIjQWN1dGVfZGVjb21wZW5zYXRpb24iPjxzcGFuIGNsYXNzPSJ0b2NudW1iZXIi
PjcuMTwvc3Bhbj4gPHNwYW4gY2xhc3M9InRvY3RleHQiPkFjdXRlIGRlY29tcGVu
c2F0aW9uPC9zcGFuPjwvYT48L2xpPgo8bGkgY2xhc3M9InRvY2xldmVsLTIgdG9j
c2VjdGlvbi0yNiI+PGEgaHJlZj0iI0Nocm9uaWNfbWFuYWdlbWVudCI+PHNwYW4g
Y2xhc3M9InRvY251bWJlciI+Ny4yPC9zcGFuPiA8c3BhbiBjbGFzcz0idG9jdGV4
dCI+Q2hyb25pYyBtYW5hZ2VtZW50PC9zcGFuPjwvYT48L2xpPgo8bGkgY2xhc3M9
InRvY2xldmVsLTIgdG9jc2VjdGlvbi0yNyI+PGEgaHJlZj0iI1BhbGxpYXRpdmVf
Y2FyZV9hbmRfaG9zcGljZSI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+Ny4zPC9z
cGFuPiA8c3BhbiBjbGFzcz0idG9jdGV4dCI+UGFsbGlhdGl2ZSBjYXJlIGFuZCBo
b3NwaWNlPC9zcGFuPjwvYT48L2xpPgo8L3VsPgo8L2xpPgo8bGkgY2xhc3M9InRv
Y2xldmVsLTEgdG9jc2VjdGlvbi0yOCI+PGEgaHJlZj0iI1Byb2dub3NpcyI+PHNw
YW4gY2xhc3M9InRvY251bWJlciI+ODwvc3Bhbj4gPHNwYW4gY2xhc3M9InRvY3Rl
eHQiPlByb2dub3Npczwvc3Bhbj48L2E+PC9saT4KPGxpIGNsYXNzPSJ0b2NsZXZl
bC0xIHRvY3NlY3Rpb24tMjkiPjxhIGhyZWY9IiNFcGlkZW1pb2xvZ3kiPjxzcGFu
IGNsYXNzPSJ0b2NudW1iZXIiPjk8L3NwYW4+IDxzcGFuIGNsYXNzPSJ0b2N0ZXh0
Ij5FcGlkZW1pb2xvZ3k8L3NwYW4+PC9hPgo8dWw+CjxsaSBjbGFzcz0idG9jbGV2
ZWwtMiB0b2NzZWN0aW9uLTMwIj48YSBocmVmPSIjR2VuZGVyIj48c3BhbiBjbGFz
cz0idG9jbnVtYmVyIj45LjE8L3NwYW4+IDxzcGFuIGNsYXNzPSJ0b2N0ZXh0Ij5H
ZW5kZXI8L3NwYW4+PC9hPjwvbGk+CjxsaSBjbGFzcz0idG9jbGV2ZWwtMiB0b2Nz
ZWN0aW9uLTMxIj48YSBocmVmPSIjUmFjZSI+PHNwYW4gY2xhc3M9InRvY251bWJl
ciI+OS4yPC9zcGFuPiA8c3BhbiBjbGFzcz0idG9jdGV4dCI+UmFjZTwvc3Bhbj48
L2E+PC9saT4KPGxpIGNsYXNzPSJ0b2NsZXZlbC0yIHRvY3NlY3Rpb24tMzIiPjxh
IGhyZWY9IiNBZ2UiPjxzcGFuIGNsYXNzPSJ0b2NudW1iZXIiPjkuMzwvc3Bhbj4g
PHNwYW4gY2xhc3M9InRvY3RleHQiPkFnZTwvc3Bhbj48L2E+PC9saT4KPC91bD4K
PC9saT4KPGxpIGNsYXNzPSJ0b2NsZXZlbC0xIHRvY3NlY3Rpb24tMzMiPjxhIGhy
ZWY9IiNTZWVfYWxzbyI+PHNwYW4gY2xhc3M9InRvY251bWJlciI+MTA8L3NwYW4+
IDxzcGFuIGNsYXNzPSJ0b2N0ZXh0Ij5TZWUgYWxzbzwvc3Bhbj48L2E+PC9saT4K
PGxpIGNsYXNzPSJ0b2NsZXZlbC0xIHRvY3NlY3Rpb24tMzQiPjxhIGhyZWY9IiNS
ZWZlcmVuY2VzIj48c3BhbiBjbGFzcz0idG9jbnVtYmVyIj4xMTwvc3Bhbj4gPHNw
YW4gY2xhc3M9InRvY3RleHQiPlJlZmVyZW5jZXM8L3NwYW4+PC9hPjwvbGk+Cjxs
aSBjbGFzcz0idG9jbGV2ZWwtMSB0b2NzZWN0aW9uLTM1Ij48YSBocmVmPSIjRXh0
ZXJuYWxfbGlua3MiPjxzcGFuIGNsYXNzPSJ0b2NudW1iZXIiPjEyPC9zcGFuPiA8
c3BhbiBjbGFzcz0idG9jdGV4dCI+RXh0ZXJuYWwgbGlua3M8L3NwYW4+PC9hPjwv
bGk+CjwvdWw+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKaWYgKHdpbmRvdy5zaG93VG9jVG9n
Z2xlKSB7IHZhciB0b2NTaG93VGV4dCA9ICJzaG93IjsgdmFyIHRvY0hpZGVUZXh0
ID0gImhpZGUiOyBzaG93VG9jVG9nZ2xlKCk7IH0gCi8vXV0+Cjwvc2NyaXB0Pgo8
aDI+PHNwYW4gY2xhc3M9ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgu
cGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0
aW9uPTEiIHRpdGxlPSJFZGl0IHNlY3Rpb246IFRlcm1pbm9sb2d5Ij5lZGl0PC9h
Pl08L3NwYW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFkbGluZSIgaWQ9IlRlcm1pbm9s
b2d5Ij5UZXJtaW5vbG9neTwvc3Bhbj48L2gyPgo8cD48Yj5IZWFydCBmYWlsdXJl
PC9iPiBpcyBhIGdsb2JhbCB0ZXJtIGZvciB0aGUgcGh5c2lvbG9naWNhbCBzdGF0
ZSBpbiB3aGljaCBjYXJkaWFjIG91dHB1dCBpcyBpbnN1ZmZpY2llbnQgZm9yIHRo
ZSBib2R5J3MgbmVlZHMuPC9wPgo8cD5UaGlzIG9jY3VycyBtb3N0IGNvbW1vbmx5
IHdoZW4gdGhlIGNhcmRpYWMgb3V0cHV0IGlzIGxvdyAob2Z0ZW4gdGVybWVkICJj
b25nZXN0aXZlIGhlYXJ0IGZhaWx1cmUiIGJlY2F1c2UgdGhlIGJvZHkgYmVjb21l
cyBjb25nZXN0ZWQgd2l0aCBmbHVpZCkuPHN1cCBpZD0iY2l0ZV9yZWYtZG9ybGFu
ZHNOaW5lXzEwLTAiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25v
dGUtZG9ybGFuZHNOaW5lLTEwIj48c3Bhbj5bPC9zcGFuPjExPHNwYW4+XTwvc3Bh
bj48L2E+PC9zdXA+PC9wPgo8cD5JdCBtYXkgYWxzbyBvY2N1ciB3aGVuIHRoZSBi
b2R5J3MgcmVxdWlyZW1lbnRzIGZvciBveHlnZW4gYW5kIG51dHJpZW50cyBhcmUg
aW5jcmVhc2VkIGFuZCBkZW1hbmQgb3V0c3RyaXBzIHdoYXQgdGhlIGhlYXJ0IGNh
biBwcm92aWRlLCAodGVybWVkICJoaWdoIG91dHB1dCBjYXJkaWFjIGZhaWx1cmUi
KSA8c3VwIGlkPSJjaXRlX3JlZi0xMSIgY2xhc3M9InJlZmVyZW5jZSI+PGEgaHJl
Zj0iI2NpdGVfbm90ZS0xMSI+PHNwYW4+Wzwvc3Bhbj4xMjxzcGFuPl08L3NwYW4+
PC9hPjwvc3VwPi4gVGhpcyBjYW4gb2NjdXIgZnJvbSBzZXZlcmUgPGEgaHJlZj0i
L3dpa2kvQW5lbWlhIiB0aXRsZT0iQW5lbWlhIj5hbmVtaWE8L2E+LCBHcmFtIG5l
Z2F0aXZlIDxhIGhyZWY9Ii93aWtpL1NlcHRpY2FlbWlhIiB0aXRsZT0iU2VwdGlj
YWVtaWEiIGNsYXNzPSJtdy1yZWRpcmVjdCI+c2VwdGljYWVtaWE8L2E+LCA8YSBo
cmVmPSIvd2lraS9CZXJpYmVyaSIgdGl0bGU9IkJlcmliZXJpIj5iZXJpYmVyaTwv
YT4gKHZpdGFtaW4gQjxzdWI+MTwvc3ViPi90aGlhbWluZSBkZWZpY2llbmN5KSwg
PGEgaHJlZj0iL3dpa2kvVGh5cm90b3hpY29zaXMiIHRpdGxlPSJUaHlyb3RveGlj
b3NpcyIgY2xhc3M9Im13LXJlZGlyZWN0Ij50aHlyb3RveGljb3NpczwvYT4sIDxh
IGhyZWY9Ii93aWtpL1BhZ2V0X2Rpc2Vhc2UiIHRpdGxlPSJQYWdldCBkaXNlYXNl
IiBjbGFzcz0ibXctcmVkaXJlY3QiPlBhZ2V0J3MgZGlzZWFzZTwvYT4sIDxhIGhy
ZWY9Ii93aWtpL0FydGVyaW92ZW5vdXNfZmlzdHVsYSIgdGl0bGU9IkFydGVyaW92
ZW5vdXMgZmlzdHVsYSI+YXJ0ZXJpb3Zlbm91cyBmaXN0dWxhZTwvYT4sIG9yIDxh
IGhyZWY9Ii93aWtpL0FydGVyaW92ZW5vdXNfbWFsZm9ybWF0aW9uIiB0aXRsZT0i
QXJ0ZXJpb3Zlbm91cyBtYWxmb3JtYXRpb24iPmFydGVyaW92ZW5vdXMgbWFsZm9y
bWF0aW9uczwvYT4uPC9wPgo8cD5GbHVpZCBvdmVybG9hZCBpcyBhIGNvbW1vbiBw
cm9ibGVtIGZvciBwZW9wbGUgd2l0aCBoZWFydCBmYWlsdXJlIGJ1dCBpcyBub3Qg
c3lub255bW91cyB3aXRoIGl0LiBQYXRpZW50cyB3aXRoIHRyZWF0ZWQgaGVhcnQg
ZmFpbHVyZSB3aWxsIG9mdGVuIGJlIGV1dm9sYWVtaWMgKGEgdGVybSBmb3Igbm9y
bWFsIGZsdWlkIHN0YXR1cyksIG9yIG1vcmUgcmFyZWx5LCA8YSBocmVmPSIvd2lr
aS9EZWh5ZHJhdGlvbiIgdGl0bGU9IkRlaHlkcmF0aW9uIj5kZWh5ZHJhdGVkPC9h
Pi48L3A+CjxwPkRvY3RvcnMgdXNlIHRoZSB3b3JkcyAiYWN1dGUiIHRvIG1lYW4g
b2YgcmFwaWQgb25zZXQgYW5kICJjaHJvbmljIiBvZiBsb25nIGR1cmF0aW9uLiBD
aHJvbmljIGhlYXJ0IGZhaWx1cmUgaXMgdGhlcmVmb3JlIGEgbG9uZyB0ZXJtIHNp
dHVhdGlvbiwgdXN1YWxseSB3aXRoIHN0YWJsZSB0cmVhdGVkIHN5bXB0b21hdG9s
b2d5LjwvcD4KPHA+PGEgaHJlZj0iL3dpa2kvQWN1dGVfZGVjb21wZW5zYXRlZF9o
ZWFydF9mYWlsdXJlIiB0aXRsZT0iQWN1dGUgZGVjb21wZW5zYXRlZCBoZWFydCBm
YWlsdXJlIj5BY3V0ZSBkZWNvbXBlbnNhdGVkIGhlYXJ0IGZhaWx1cmU8L2E+IGlz
IGEgdGVybSB1c2VkIHRvIGRlc2NyaWJlIGV4YWNlcmJhdGVkIG9yIGRlY29tcGVu
c2F0ZWQgaGVhcnQgZmFpbHVyZSwgcmVmZXJyaW5nIHRvIGVwaXNvZGVzIGluIHdo
aWNoIGEgcGF0aWVudCBjYW4gYmUgY2hhcmFjdGVyaXplZCBhcyBoYXZpbmcgYSBj
aGFuZ2UgaW4gaGVhcnQgZmFpbHVyZSBzaWducyBhbmQgc3ltcHRvbXMgcmVzdWx0
aW5nIGluIGEgbmVlZCBmb3IgdXJnZW50IHRoZXJhcHkgb3IgaG9zcGl0YWxpemF0
aW9uLjxzdXAgaWQ9ImNpdGVfcmVmLUplc3N1cDIwMDlfMTItMCIgY2xhc3M9InJl
ZmVyZW5jZSI+PGEgaHJlZj0iI2NpdGVfbm90ZS1KZXNzdXAyMDA5LTEyIj48c3Bh
bj5bPC9zcGFuPjEzPHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+PC9wPgo8cD5UaGVy
ZSBhcmUgc2V2ZXJhbCB0ZXJtcyB3aGljaCBhcmUgY2xvc2VseSByZWxhdGVkIHRv
IGhlYXJ0IGZhaWx1cmUsIGFuZCBtYXkgYmUgdGhlIGNhdXNlIG9mIGhlYXJ0IGZh
aWx1cmUsIGJ1dCBzaG91bGQgbm90IGJlIGNvbmZ1c2VkIHdpdGggaXQ6PC9wPgo8
dWw+CjxsaT48YSBocmVmPSIvd2lraS9DYXJkaWFjX2FycmVzdCIgdGl0bGU9IkNh
cmRpYWMgYXJyZXN0Ij5DYXJkaWFjIGFycmVzdDwvYT4gYW5kIDxhIGhyZWY9Ii93
aWtpL0FzeXN0b2xlIiB0aXRsZT0iQXN5c3RvbGUiPmFzeXN0b2xlPC9hPiByZWZl
ciB0byBzaXR1YXRpb25zIGluIHdoaWNoIHRoZXJlIGlzIDxpPm5vPC9pPiBjYXJk
aWFjIG91dHB1dCBhdCBhbGwuIFdpdGhvdXQgdXJnZW50IHRyZWF0bWVudCB0aGVz
ZSByZXN1bHQgaW4gc3VkZGVuIGRlYXRoLjwvbGk+CjxsaT48YSBocmVmPSIvd2lr
aS9NeW9jYXJkaWFsX2luZmFyY3Rpb24iIHRpdGxlPSJNeW9jYXJkaWFsIGluZmFy
Y3Rpb24iPk15b2NhcmRpYWwgaW5mYXJjdGlvbjwvYT4gKCJIZWFydCBhdHRhY2si
KSByZWZlcnMgdG8gaGVhcnQgbXVzY2xlIGRhbWFnZSBkdWUgdG8gaW5zdWZmaWNp
ZW50IGJsb29kIHN1cHBseSwgdXN1YWxseSBhcyBhIHJlc3VsdCBvZiBhIGJsb2Nr
ZWQgPGEgaHJlZj0iL3dpa2kvQ29yb25hcnlfYXJ0ZXJ5IiB0aXRsZT0iQ29yb25h
cnkgYXJ0ZXJ5IiBjbGFzcz0ibXctcmVkaXJlY3QiPmNvcm9uYXJ5IGFydGVyeTwv
YT4uPC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL0NhcmRpb215b3BhdGh5IiB0aXRs
ZT0iQ2FyZGlvbXlvcGF0aHkiPkNhcmRpb215b3BhdGh5PC9hPiByZWZlcnMgc3Bl
Y2lmaWNhbGx5IHRvIHByb2JsZW1zIHdpdGhpbiB0aGUgaGVhcnQgbXVzY2xlLCBh
bmQgdGhlc2UgcHJvYmxlbXMgdXN1YWxseSByZXN1bHQgaW4gaGVhcnQgZmFpbHVy
ZS4gPGI+SXNjaGVtaWMgY2FyZGlvbXlvcGF0aHk8L2I+IGltcGxpZXMgdGhhdCB0
aGUgY2F1c2Ugb2YgbXVzY2xlIGRhbWFnZSBpcyA8YSBocmVmPSIvd2lraS9Db3Jv
bmFyeV9hcnRlcnlfZGlzZWFzZSIgdGl0bGU9IkNvcm9uYXJ5IGFydGVyeSBkaXNl
YXNlIj5jb3JvbmFyeSBhcnRlcnkgZGlzZWFzZTwvYT4uIDxhIGhyZWY9Ii93aWtp
L0RpbGF0ZWRfY2FyZGlvbXlvcGF0aHkiIHRpdGxlPSJEaWxhdGVkIGNhcmRpb215
b3BhdGh5Ij5EaWxhdGVkIGNhcmRpb215b3BhdGh5PC9hPiBpbXBsaWVzIHRoYXQg
dGhlIG11c2NsZSBkYW1hZ2UgaGFzIHJlc3VsdGVkIGluIGVubGFyZ2VtZW50IG9m
IHRoZSBoZWFydC4gPGEgaHJlZj0iL3dpa2kvSHlwZXJ0cm9waGljX2NhcmRpb215
b3BhdGh5IiB0aXRsZT0iSHlwZXJ0cm9waGljIGNhcmRpb215b3BhdGh5Ij5IeXBl
cnRyb3BoaWMgY2FyZGlvbXlvcGF0aHk8L2E+IGludm9sdmVzIGVubGFyZ2VtZW50
IGFuZCA8aT50aGlja2VuaW5nPC9pPiBvZiB0aGUgaGVhcnQgbXVzY2xlLjwvbGk+
CjwvdWw+CjxoMj48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIv
dy9pbmRleC5waHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQm
YW1wO3NlY3Rpb249MiIgdGl0bGU9IkVkaXQgc2VjdGlvbjogQ2xhc3NpZmljYXRp
b24iPmVkaXQ8L2E+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBp
ZD0iQ2xhc3NpZmljYXRpb24iPkNsYXNzaWZpY2F0aW9uPC9zcGFuPjwvaDI+Cjxw
PlRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCB3YXlzIHRvIGNhdGVnb3JpemUgaGVh
cnQgZmFpbHVyZSwgaW5jbHVkaW5nOjwvcD4KPHVsPgo8bGk+dGhlIHNpZGUgb2Yg
dGhlIGhlYXJ0IGludm9sdmVkLCAobGVmdCBoZWFydCBmYWlsdXJlIHZlcnN1cyBy
aWdodCBoZWFydCBmYWlsdXJlKTwvbGk+CjxsaT53aGV0aGVyIHRoZSBhYm5vcm1h
bGl0eSBpcyBkdWUgdG8gPGEgaHJlZj0iL3dpa2kvTXVzY2xlX2NvbnRyYWN0aW9u
IiB0aXRsZT0iTXVzY2xlIGNvbnRyYWN0aW9uIj5jb250cmFjdGlvbjwvYT4gb3Ig
cmVsYXhhdGlvbiBvZiB0aGUgaGVhcnQgKDxhIGhyZWY9Ii93aWtpL1N5c3RvbGlj
X2R5c2Z1bmN0aW9uIiB0aXRsZT0iU3lzdG9saWMgZHlzZnVuY3Rpb24iIGNsYXNz
PSJtdy1yZWRpcmVjdCI+c3lzdG9saWMgZHlzZnVuY3Rpb248L2E+IHZzLiA8YSBo
cmVmPSIvd2lraS9EaWFzdG9saWNfZHlzZnVuY3Rpb24iIHRpdGxlPSJEaWFzdG9s
aWMgZHlzZnVuY3Rpb24iPmRpYXN0b2xpYyBkeXNmdW5jdGlvbjwvYT4pPC9saT4K
PGxpPndoZXRoZXIgdGhlIHByb2JsZW0gaXMgcHJpbWFyaWx5IGluY3JlYXNlZCB2
ZW5vdXMgYmFjayBwcmVzc3VyZSAoYmVoaW5kKSB0aGUgaGVhcnQsIG9yIGZhaWx1
cmUgdG8gc3VwcGx5IGFkZXF1YXRlIGFydGVyaWFsIHBlcmZ1c2lvbiAoaW4gZnJv
bnQgb2YpIHRoZSBoZWFydCAoYmFja3dhcmQgdnMuIGZvcndhcmQgZmFpbHVyZSk8
L2xpPgo8bGk+d2hldGhlciB0aGUgYWJub3JtYWxpdHkgaXMgZHVlIHRvIGxvdyBj
YXJkaWFjIG91dHB1dCB3aXRoIGhpZ2ggPGEgaHJlZj0iL3dpa2kvU3lzdGVtaWNf
dmFzY3VsYXJfcmVzaXN0YW5jZSIgdGl0bGU9IlN5c3RlbWljIHZhc2N1bGFyIHJl
c2lzdGFuY2UiIGNsYXNzPSJtdy1yZWRpcmVjdCI+c3lzdGVtaWMgdmFzY3VsYXIg
cmVzaXN0YW5jZTwvYT4gb3IgaGlnaCBjYXJkaWFjIG91dHB1dCB3aXRoIGxvdyB2
YXNjdWxhciByZXNpc3RhbmNlIChsb3ctb3V0cHV0IGhlYXJ0IGZhaWx1cmUgdnMu
IGhpZ2gtb3V0cHV0IGhlYXJ0IGZhaWx1cmUpPC9saT4KPGxpPnRoZSBkZWdyZWUg
b2YgZnVuY3Rpb25hbCBpbXBhaXJtZW50IGNvbmZlcnJlZCBieSB0aGUgYWJub3Jt
YWxpdHkgKGFzIGluIHRoZSBOWUhBIGZ1bmN0aW9uYWwgY2xhc3NpZmljYXRpb24p
PC9saT4KPC91bD4KPHA+PGk+RnVuY3Rpb25hbDwvaT4gY2xhc3NpZmljYXRpb24g
Z2VuZXJhbGx5IHJlbGllcyBvbiB0aGUgPGEgaHJlZj0iL3dpa2kvTmV3X1lvcmtf
SGVhcnRfQXNzb2NpYXRpb25fRnVuY3Rpb25hbF9DbGFzc2lmaWNhdGlvbiIgdGl0
bGU9Ik5ldyBZb3JrIEhlYXJ0IEFzc29jaWF0aW9uIEZ1bmN0aW9uYWwgQ2xhc3Np
ZmljYXRpb24iPk5ldyBZb3JrIEhlYXJ0IEFzc29jaWF0aW9uIEZ1bmN0aW9uYWwg
Q2xhc3NpZmljYXRpb248L2E+LjxzdXAgaWQ9ImNpdGVfcmVmLTEzIiBjbGFzcz0i
cmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTEzIj48c3Bhbj5bPC9zcGFu
PjE0PHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+IFRoZSBjbGFzc2VzIChJLUlWKSBh
cmU6PC9wPgo8dWw+CjxsaT5DbGFzcyBJOiBubyBsaW1pdGF0aW9uIGlzIGV4cGVy
aWVuY2VkIGluIGFueSBhY3Rpdml0aWVzOyB0aGVyZSBhcmUgbm8gc3ltcHRvbXMg
ZnJvbSBvcmRpbmFyeSBhY3Rpdml0aWVzLjwvbGk+CjxsaT5DbGFzcyBJSTogc2xp
Z2h0LCBtaWxkIGxpbWl0YXRpb24gb2YgYWN0aXZpdHk7IHRoZSBwYXRpZW50IGlz
IGNvbWZvcnRhYmxlIGF0IHJlc3Qgb3Igd2l0aCBtaWxkIGV4ZXJ0aW9uLjwvbGk+
CjxsaT5DbGFzcyBJSUk6IG1hcmtlZCBsaW1pdGF0aW9uIG9mIGFueSBhY3Rpdml0
eTsgdGhlIHBhdGllbnQgaXMgY29tZm9ydGFibGUgb25seSBhdCByZXN0LjwvbGk+
CjxsaT5DbGFzcyBJVjogYW55IHBoeXNpY2FsIGFjdGl2aXR5IGJyaW5ncyBvbiBk
aXNjb21mb3J0IGFuZCBzeW1wdG9tcyBvY2N1ciBhdCByZXN0LjwvbGk+CjwvdWw+
CjxwPlRoaXMgc2NvcmUgZG9jdW1lbnRzIHNldmVyaXR5IG9mIHN5bXB0b21zLCBh
bmQgY2FuIGJlIHVzZWQgdG8gYXNzZXNzIHJlc3BvbnNlIHRvIHRyZWF0bWVudC4g
V2hpbGUgaXRzIHVzZSBpcyB3aWRlc3ByZWFkLCB0aGUgTllIQSBzY29yZSBpcyBu
b3QgdmVyeSByZXByb2R1Y2libGUgYW5kIGRvZXNuJ3QgcmVsaWFibHkgcHJlZGlj
dCB0aGUgd2Fsa2luZyBkaXN0YW5jZSBvciBleGVyY2lzZSB0b2xlcmFuY2Ugb24g
Zm9ybWFsIHRlc3RpbmcuPHN1cCBpZD0iY2l0ZV9yZWYtMTQiIGNsYXNzPSJyZWZl
cmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtMTQiPjxzcGFuPls8L3NwYW4+MTU8
c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD48L3A+CjxwPkluIGl0cyAyMDAxIGd1aWRl
bGluZXMgdGhlIDxhIGhyZWY9Ii93aWtpL0FtZXJpY2FuX0NvbGxlZ2Vfb2ZfQ2Fy
ZGlvbG9neSIgdGl0bGU9IkFtZXJpY2FuIENvbGxlZ2Ugb2YgQ2FyZGlvbG9neSI+
QW1lcmljYW4gQ29sbGVnZSBvZiBDYXJkaW9sb2d5PC9hPi88YSBocmVmPSIvd2lr
aS9BbWVyaWNhbl9IZWFydF9Bc3NvY2lhdGlvbiIgdGl0bGU9IkFtZXJpY2FuIEhl
YXJ0IEFzc29jaWF0aW9uIj5BbWVyaWNhbiBIZWFydCBBc3NvY2lhdGlvbjwvYT4g
d29ya2luZyBncm91cCBpbnRyb2R1Y2VkIGZvdXIgc3RhZ2VzIG9mIGhlYXJ0IGZh
aWx1cmU6PHN1cCBpZD0iY2l0ZV9yZWYtSHVudC0yMDA1XzE1LTAiIGNsYXNzPSJy
ZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtSHVudC0yMDA1LTE1Ij48c3Bh
bj5bPC9zcGFuPjE2PHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+PC9wPgo8dWw+Cjxs
aT5TdGFnZSBBOiBQYXRpZW50cyBhdCBoaWdoIHJpc2sgZm9yIGRldmVsb3Bpbmcg
SEYgaW4gdGhlIGZ1dHVyZSBidXQgbm8gZnVuY3Rpb25hbCBvciBzdHJ1Y3R1cmFs
IGhlYXJ0IGRpc29yZGVyOzwvbGk+CjxsaT5TdGFnZSBCOiBhIHN0cnVjdHVyYWwg
aGVhcnQgZGlzb3JkZXIgYnV0IG5vIHN5bXB0b21zIGF0IGFueSBzdGFnZTs8L2xp
Pgo8bGk+U3RhZ2UgQzogcHJldmlvdXMgb3IgY3VycmVudCBzeW1wdG9tcyBvZiBo
ZWFydCBmYWlsdXJlIGluIHRoZSBjb250ZXh0IG9mIGFuIHVuZGVybHlpbmcgc3Ry
dWN0dXJhbCBoZWFydCBwcm9ibGVtLCBidXQgbWFuYWdlZCB3aXRoIG1lZGljYWwg
dHJlYXRtZW50OzwvbGk+CjxsaT5TdGFnZSBEOiBhZHZhbmNlZCBkaXNlYXNlIHJl
cXVpcmluZyBob3NwaXRhbC1iYXNlZCBzdXBwb3J0LCBhIGhlYXJ0IHRyYW5zcGxh
bnQgb3IgPGEgaHJlZj0iL3dpa2kvUGFsbGlhdGl2ZV9jYXJlIiB0aXRsZT0iUGFs
bGlhdGl2ZSBjYXJlIj5wYWxsaWF0aXZlIGNhcmU8L2E+LjwvbGk+CjwvdWw+Cjxw
PlRoZSBBQ0Mgc3RhZ2luZyBzeXN0ZW0gaXMgdXNlZnVsIGluIHRoYXQgU3RhZ2Ug
QSBlbmNvbXBhc3NlcyAicHJlLWhlYXJ0IGZhaWx1cmUiIC0gYSBzdGFnZSB3aGVy
ZSBpbnRlcnZlbnRpb24gd2l0aCB0cmVhdG1lbnQgY2FuIHByZXN1bWFibHkgcHJl
dmVudCBwcm9ncmVzc2lvbiB0byBvdmVydCBzeW1wdG9tcy4gQUNDIHN0YWdlIEEg
ZG9lcyBub3QgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgTllIQSBjbGFzcy4gQUNDIFN0
YWdlIEIgd291bGQgY29ycmVzcG9uZCB0byBOWUhBIENsYXNzIEkuIEFDQyBTdGFn
ZSBDIGNvcnJlc3BvbmRzIHRvIE5ZSEEgQ2xhc3MgSUkgYW5kIElJSSwgd2hpbGUg
QUNDIFN0YWdlIEQgb3ZlcmxhcHMgd2l0aCBOWUhBIENsYXNzIElWLjwvcD4KPGgy
PjxzcGFuIGNsYXNzPSJlZGl0c2VjdGlvbiI+WzxhIGhyZWY9Ii93L2luZGV4LnBo
cD90aXRsZT1IZWFydF9mYWlsdXJlJmFtcDthY3Rpb249ZWRpdCZhbXA7c2VjdGlv
bj0zIiB0aXRsZT0iRWRpdCBzZWN0aW9uOiBTaWducyBhbmQgc3ltcHRvbXMiPmVk
aXQ8L2E+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iU2ln
bnNfYW5kX3N5bXB0b21zIj5TaWducyBhbmQgc3ltcHRvbXM8L3NwYW4+PC9oMj4K
PGRpdiBjbGFzcz0idGh1bWIgdHJpZ2h0Ij4KPGRpdiBjbGFzcz0idGh1bWJpbm5l
ciIgc3R5bGU9IndpZHRoOjIyMnB4OyI+PGEgaHJlZj0iL3dpa2kvRmlsZTpFbGV2
YXRlZF9KVlAuSlBHIiBjbGFzcz0iaW1hZ2UiPjxpbWcgYWx0PSIiIHNyYz0iaHR0
cDovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1i
LzQvNGQvRWxldmF0ZWRfSlZQLkpQRy8yMjBweC1FbGV2YXRlZF9KVlAuSlBHIiB3
aWR0aD0iMjIwIiBoZWlnaHQ9IjI4OCIgY2xhc3M9InRodW1iaW1hZ2UiIC8+PC9h
Pgo8ZGl2IGNsYXNzPSJ0aHVtYmNhcHRpb24iPgo8ZGl2IGNsYXNzPSJtYWduaWZ5
Ij48YSBocmVmPSIvd2lraS9GaWxlOkVsZXZhdGVkX0pWUC5KUEciIGNsYXNzPSJp
bnRlcm5hbCIgdGl0bGU9IkVubGFyZ2UiPjxpbWcgc3JjPSJodHRwOi8vYml0cy53
aWtpbWVkaWEub3JnL3NraW5zLTEuNS9jb21tb24vaW1hZ2VzL21hZ25pZnktY2xp
cC5wbmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxMSIgYWx0PSIiIC8+PC9hPjwvZGl2
PgpBIG1hbiB3aXRoIGNvbmdlc3RpdmUgaGVhcnQgZmFpbHVyZSBhbmQgbWFya2Vk
IDxhIGhyZWY9Ii93aWtpL0p1Z3VsYXJfdmVub3VzX2Rpc3RlbnNpb24iIHRpdGxl
PSJKdWd1bGFyIHZlbm91cyBkaXN0ZW5zaW9uIiBjbGFzcz0ibXctcmVkaXJlY3Qi
Pmp1Z3VsYXIgdmVub3VzIGRpc3RlbnNpb248L2E+LiBFeHRlcm5hbCBqdWd1bGFy
IHZlaW4gbWFya2VkIGJ5IGFuIGFycm93LjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cjxo
Mz48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9pbmRleC5w
aHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1wO3NlY3Rp
b249NCIgdGl0bGU9IkVkaXQgc2VjdGlvbjogU3ltcHRvbXMiPmVkaXQ8L2E+XTwv
c3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iU3ltcHRvbXMiPlN5
bXB0b21zPC9zcGFuPjwvaDM+CjxwPkhlYXJ0IGZhaWx1cmUgc3ltcHRvbXMgYXJl
IHRyYWRpdGlvbmFsbHkgYW5kIHNvbWV3aGF0IGFyYml0cmFyaWx5IGRpdmlkZWQg
aW50byAibGVmdCIgYW5kICJyaWdodCIgc2lkZWQsIHJlY29nbml6aW5nIHRoYXQg
dGhlIGxlZnQgYW5kIHJpZ2h0IHZlbnRyaWNsZXMgb2YgdGhlIGhlYXJ0IHN1cHBs
eSBkaWZmZXJlbnQgcG9ydGlvbnMgb2YgdGhlIGNpcmN1bGF0aW9uLiBIb3dldmVy
LCBoZWFydCBmYWlsdXJlIGlzIG5vdCBleGNsdXNpdmVseSA8aT5iYWNrd2FyZCBm
YWlsdXJlPC9pPiAoaW4gdGhlIHBhcnQgb2YgdGhlIGNpcmN1bGF0aW9uIHdoaWNo
IGRyYWlucyB0byB0aGUgdmVudHJpY2xlKS48L3A+CjxwPlRoZXJlIGFyZSBzZXZl
cmFsIG90aGVyIGV4Y2VwdGlvbnMgdG8gYSBzaW1wbGUgbGVmdC1yaWdodCBkaXZp
c2lvbiBvZiBoZWFydCBmYWlsdXJlIHN5bXB0b21zLiBMZWZ0IHNpZGVkIDxpPmZv
cndhcmQ8L2k+IGZhaWx1cmUgb3ZlcmxhcHMgd2l0aCByaWdodCBzaWRlZCA8aT5i
YWNrd2FyZDwvaT4gZmFpbHVyZS4gQWRkaXRpb25hbGx5LCB0aGUgbW9zdCBjb21t
b24gY2F1c2Ugb2YgcmlnaHQtc2lkZWQgaGVhcnQgZmFpbHVyZSBpcyBsZWZ0LXNp
ZGVkIGhlYXJ0IGZhaWx1cmUuIFRoZSByZXN1bHQgaXMgdGhhdCBwYXRpZW50cyBj
b21tb25seSBwcmVzZW50IHdpdGggYm90aCBzZXRzIG9mIHNpZ25zIGFuZCBzeW1w
dG9tcy48L3A+CjxoND48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVm
PSIvdy9pbmRleC5waHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVk
aXQmYW1wO3NlY3Rpb249NSIgdGl0bGU9IkVkaXQgc2VjdGlvbjogTGVmdC1zaWRl
ZCBmYWlsdXJlIj5lZGl0PC9hPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFk
bGluZSIgaWQ9IkxlZnQtc2lkZWRfZmFpbHVyZSI+TGVmdC1zaWRlZCBmYWlsdXJl
PC9zcGFuPjwvaDQ+Cjx0YWJsZSBjbGFzcz0ibWV0YWRhdGEgbWJveC1zbWFsbCIg
c3R5bGU9ImJvcmRlcjoxcHggc29saWQgI2FhYTsgYmFja2dyb3VuZC1jb2xvcjoj
ZjlmOWY5OyI+Cjx0cj4KPHRkIGNsYXNzPSJtYm94LWltYWdlIj4KPGRpdiBjbGFz
cz0iY2VudGVyIj4KPGRpdiBjbGFzcz0iZmxvYXRub25lIj48aW1nIGFsdD0iIiBz
cmM9Imh0dHA6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9u
cy90aHVtYi9jL2NiL0dub21lLW1pbWUtYXVkaW8tb3BlbmNsaXBhcnQuc3ZnLzUw
cHgtR25vbWUtbWltZS1hdWRpby1vcGVuY2xpcGFydC5zdmcucG5nIiB3aWR0aD0i
NTAiIGhlaWdodD0iNTAiIC8+PC9kaXY+CjwvZGl2Pgo8L3RkPgo8dGQgY2xhc3M9
Im1ib3gtdGV4dCIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMWVtOyI+CjxkaXYgY2xh
c3M9ImhhdWRpbyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MnB4IDA7IiBjbGFzcz0i
Zm4iPjxhIGhyZWY9Ii93aWtpL0ZpbGU6V2hlZXplMk8ub2dnIiB0aXRsZT0iRmls
ZTpXaGVlemUyTy5vZ2ciPldoZWV6aW5nPC9hPjwvZGl2Pgo8ZGl2Pgo8ZGl2IGlk
PSJvZ2dfcGxheWVyXzEiIHN0eWxlPSJ3aWR0aDogMjIwcHg7Ij4KPGRpdj48YnV0
dG9uIG9uY2xpY2s9ImlmICh0eXBlb2Yod2dPZ2dQbGF5ZXIpJiMxNjA7IT0gJ3Vu
ZGVmaW5lZCcpIHdnT2dnUGxheWVyLmluaXQoZmFsc2UsIHsmcXVvdDtpZCZxdW90
OzogJnF1b3Q7b2dnX3BsYXllcl8xJnF1b3Q7LCAmcXVvdDt2aWRlb1VybCZxdW90
OzogJnF1b3Q7aHR0cDovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9j
b21tb25zLzQvNDcvV2hlZXplMk8ub2dnJnF1b3Q7LCAmcXVvdDt3aWR0aCZxdW90
OzogMjIwLCAmcXVvdDtoZWlnaHQmcXVvdDs6IDM1LCAmcXVvdDtsZW5ndGgmcXVv
dDs6ICZxdW90OzgmcXVvdDssICZxdW90O2xpbmtVcmwmcXVvdDs6ICZxdW90Oy93
aWtpL0ZpbGU6V2hlZXplMk8ub2dnJnF1b3Q7LCAmcXVvdDtpc1ZpZGVvJnF1b3Q7
OiBmYWxzZX0pOyIgc3R5bGU9IndpZHRoOiAyMjBweDsgdGV4dC1hbGlnbjogY2Vu
dGVyIiB0aXRsZT0iUGxheSBzb3VuZCI+PGltZyBzcmM9Ii93L2V4dGVuc2lvbnMv
T2dnSGFuZGxlci9wbGF5LnBuZyIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiBhbHQ9
IlBsYXkgc291bmQiIC8+PC9idXR0b24+PC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRp
diBzdHlsZT0icGFkZGluZzowOyIgY2xhc3M9ImRlc2NyaXB0aW9uIj5UaGUgc291
bmQgb2Ygd2hlZXppbmcgYXMgaGVhcmQgd2l0aCBhIHN0ZXRob3Njb3BlLjwvZGl2
Pgo8L2Rpdj4KPGhyIC8+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iMiIg
Y2xhc3M9Im1ib3gtdGV4dCIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMWVtOyI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZTpzbWFsbGVyOyI+PGk+UHJvYmxlbXMgbGlzdGVu
aW5nIHRvIHRoaXMgZmlsZT8gU2VlIDxhIGhyZWY9Ii93aWtpL1dpa2lwZWRpYTpN
ZWRpYV9oZWxwIiB0aXRsZT0iV2lraXBlZGlhOk1lZGlhIGhlbHAiPm1lZGlhIGhl
bHA8L2E+LjwvaT48L3NwYW4+PC90ZD4KPC90cj4KPC90YWJsZT4KPHA+PGk+QmFj
a3dhcmQ8L2k+IGZhaWx1cmUgb2YgdGhlIGxlZnQgdmVudHJpY2xlIGNhdXNlcyBj
b25nZXN0aW9uIG9mIHRoZSBwdWxtb25hcnkgdmFzY3VsYXR1cmUsIGFuZCBzbyB0
aGUgc3ltcHRvbXMgYXJlIHByZWRvbWluYW50bHkgcmVzcGlyYXRvcnkgaW4gbmF0
dXJlLiBCYWNrd2FyZCBmYWlsdXJlIGNhbiBiZSBzdWJkaXZpZGVkIGludG8gZmFp
bHVyZSBvZiB0aGUgbGVmdCBhdHJpdW0sIHRoZSBsZWZ0IHZlbnRyaWNsZSBvciBi
b3RoIHdpdGhpbiB0aGUgbGVmdCBjaXJjdWl0LiBUaGUgcGF0aWVudCB3aWxsIGhh
dmUgPGEgaHJlZj0iL3dpa2kvRHlzcG5lYSIgdGl0bGU9IkR5c3BuZWEiPmR5c3Bu
ZWE8L2E+IChzaG9ydG5lc3Mgb2YgYnJlYXRoKSBvbiBleGVydGlvbiAoPGk+ZHlz
cG7DqWUgZCdlZmZvcnQ8L2k+KSBhbmQgaW4gc2V2ZXJlIGNhc2VzLCBkeXNwbmVh
IGF0IHJlc3QuIEluY3JlYXNpbmcgYnJlYXRobGVzc25lc3Mgb24gbHlpbmcgZmxh
dCwgY2FsbGVkIDxhIGhyZWY9Ii93aWtpL09ydGhvcG5lYSIgdGl0bGU9Ik9ydGhv
cG5lYSI+b3J0aG9wbmVhPC9hPiwgb2NjdXJzLiBJdCBpcyBvZnRlbiBtZWFzdXJl
ZCBpbiB0aGUgbnVtYmVyIG9mIHBpbGxvd3MgcmVxdWlyZWQgdG8gbGllIGNvbWZv
cnRhYmx5LCBhbmQgaW4gc2V2ZXJlIGNhc2VzLCB0aGUgcGF0aWVudCBtYXkgcmVz
b3J0IHRvIHNsZWVwaW5nIHdoaWxlIHNpdHRpbmcgdXAuIEFub3RoZXIgc3ltcHRv
bSBvZiBoZWFydCBmYWlsdXJlIGlzIDxhIGhyZWY9Ii93aWtpL1Bhcm94eXNtYWxf
bm9jdHVybmFsX2R5c3BuZWEiIHRpdGxlPSJQYXJveHlzbWFsIG5vY3R1cm5hbCBk
eXNwbmVhIiBjbGFzcz0ibXctcmVkaXJlY3QiPnBhcm94eXNtYWwgbm9jdHVybmFs
IGR5c3BuZWE8L2E+IGEgc3VkZGVuIG5pZ2h0dGltZSBhdHRhY2sgb2Ygc2V2ZXJl
IGJyZWF0aGxlc3NuZXNzLCB1c3VhbGx5IHNldmVyYWwgaG91cnMgYWZ0ZXIgZ29p
bmcgdG8gc2xlZXAuIEVhc3kgZmF0aWd1ZWFiaWxpdHkgYW5kIGV4ZXJjaXNlIGlu
dG9sZXJhbmNlIGFyZSBhbHNvIGNvbW1vbiBjb21wbGFpbnRzIHJlbGF0ZWQgdG8g
cmVzcGlyYXRvcnkgY29tcHJvbWlzZS48L3A+CjxwPiJDYXJkaWFjIGFzdGhtYSIg
b3IgPGEgaHJlZj0iL3dpa2kvV2hlZXppbmciIHRpdGxlPSJXaGVlemluZyIgY2xh
c3M9Im13LXJlZGlyZWN0Ij53aGVlemluZzwvYT4gbWF5IG9jY3VyLjwvcD4KPHA+
Q29tcHJvbWlzZSBvZiBsZWZ0IHZlbnRyaWN1bGFyIDxpPmZvcndhcmQ8L2k+IGZ1
bmN0aW9uIG1heSByZXN1bHQgaW4gc3ltcHRvbXMgb2YgcG9vciBzeXN0ZW1pYyBj
aXJjdWxhdGlvbiBzdWNoIGFzIDxhIGhyZWY9Ii93aWtpL0RpenppbmVzcyIgdGl0
bGU9IkRpenppbmVzcyI+ZGl6emluZXNzPC9hPiwgPGEgaHJlZj0iL3dpa2kvQ29u
ZnVzaW9uIiB0aXRsZT0iQ29uZnVzaW9uIiBjbGFzcz0ibXctcmVkaXJlY3QiPmNv
bmZ1c2lvbjwvYT4gYW5kIGNvb2wgZXh0cmVtaXRpZXMgYXQgcmVzdC48L3A+Cjxo
ND48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9pbmRleC5w
aHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1wO3NlY3Rp
b249NiIgdGl0bGU9IkVkaXQgc2VjdGlvbjogUmlnaHQtc2lkZWQgZmFpbHVyZSI+
ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUiIGlkPSJS
aWdodC1zaWRlZF9mYWlsdXJlIj5SaWdodC1zaWRlZCBmYWlsdXJlPC9zcGFuPjwv
aDQ+CjxwPjxpPkJhY2t3YXJkPC9pPiBmYWlsdXJlIG9mIHRoZSByaWdodCB2ZW50
cmljbGUgbGVhZHMgdG8gY29uZ2VzdGlvbiBvZiBzeXN0ZW1pYyBjYXBpbGxhcmll
cy4gVGhpcyBnZW5lcmF0ZXMgZXhjZXNzIGZsdWlkIGFjY3VtdWxhdGlvbiBpbiB0
aGUgYm9keS4gVGhpcyBjYXVzZXMgc3dlbGxpbmcgdW5kZXIgdGhlIHNraW4gKHRl
cm1lZCA8YSBocmVmPSIvd2lraS9QZXJpcGhlcmFsX2VkZW1hIiB0aXRsZT0iUGVy
aXBoZXJhbCBlZGVtYSI+cGVyaXBoZXJhbCBlZGVtYTwvYT4gb3IgPGEgaHJlZj0i
L3dpa2kvQW5hc2FyY2EiIHRpdGxlPSJBbmFzYXJjYSI+YW5hc2FyY2E8L2E+KSBh
bmQgdXN1YWxseSBhZmZlY3RzIHRoZSBkZXBlbmRlbnQgcGFydHMgb2YgdGhlIGJv
ZHkgZmlyc3QgKGNhdXNpbmcgZm9vdCBhbmQgYW5rbGUgc3dlbGxpbmcgaW4gcGVv
cGxlIHdobyBhcmUgc3RhbmRpbmcgdXAsIGFuZCBzYWNyYWwgZWRlbWEgaW4gcGVv
cGxlIHdobyBhcmUgcHJlZG9taW5hbnRseSBseWluZyBkb3duKS4gPGEgaHJlZj0i
L3dpa2kvTm9jdHVyaWEiIHRpdGxlPSJOb2N0dXJpYSI+Tm9jdHVyaWE8L2E+IChm
cmVxdWVudCBuaWdodHRpbWUgdXJpbmF0aW9uKSBtYXkgb2NjdXIgd2hlbiBmbHVp
ZCBmcm9tIHRoZSBsZWdzIGlzIHJldHVybmVkIHRvIHRoZSBibG9vZHN0cmVhbSB3
aGlsZSBseWluZyBkb3duIGF0IG5pZ2h0LiBJbiBwcm9ncmVzc2l2ZWx5IHNldmVy
ZSBjYXNlcywgPGEgaHJlZj0iL3dpa2kvQXNjaXRlcyIgdGl0bGU9IkFzY2l0ZXMi
PmFzY2l0ZXM8L2E+IChmbHVpZCBhY2N1bXVsYXRpb24gaW4gdGhlIGFiZG9taW5h
bCBjYXZpdHkgY2F1c2luZyBzd2VsbGluZykgYW5kIDxhIGhyZWY9Ii93aWtpL0hl
cGF0b21lZ2FseSIgdGl0bGU9IkhlcGF0b21lZ2FseSI+aGVwYXRvbWVnYWx5PC9h
PiAoZW5sYXJnZW1lbnQgb2YgdGhlIDxhIGhyZWY9Ii93aWtpL0xpdmVyIiB0aXRs
ZT0iTGl2ZXIiPmxpdmVyPC9hPikgbWF5IGRldmVsb3AuIFNpZ25pZmljYW50IGxp
dmVyIGNvbmdlc3Rpb24gbWF5IHJlc3VsdCBpbiBpbXBhaXJlZCBsaXZlciBmdW5j
dGlvbiwgYW5kIGphdW5kaWNlIGFuZCBldmVuIDxhIGhyZWY9Ii93aWtpL0NvYWd1
bG9wYXRoeSIgdGl0bGU9IkNvYWd1bG9wYXRoeSI+Y29hZ3Vsb3BhdGh5PC9hPiAo
cHJvYmxlbXMgb2YgZGVjcmVhc2VkIGJsb29kIGNsb3R0aW5nKSBtYXkgb2NjdXIu
PC9wPgo8aDM+PHNwYW4gY2xhc3M9ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cv
aW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFt
cDtzZWN0aW9uPTciIHRpdGxlPSJFZGl0IHNlY3Rpb246IFNpZ25zIj5lZGl0PC9h
Pl08L3NwYW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFkbGluZSIgaWQ9IlNpZ25zIj5T
aWduczwvc3Bhbj48L2gzPgo8aDQ+PHNwYW4gY2xhc3M9ImVkaXRzZWN0aW9uIj5b
PGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2Fj
dGlvbj1lZGl0JmFtcDtzZWN0aW9uPTgiIHRpdGxlPSJFZGl0IHNlY3Rpb246IExl
ZnQtc2lkZWQgZmFpbHVyZSI+ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0i
bXctaGVhZGxpbmUiIGlkPSJMZWZ0LXNpZGVkX2ZhaWx1cmVfMiI+TGVmdC1zaWRl
ZCBmYWlsdXJlPC9zcGFuPjwvaDQ+CjxwPkNvbW1vbiByZXNwaXJhdG9yeSBzaWdu
cyBhcmUgdGFjaHlwbmVhIChpbmNyZWFzZWQgPGk+cmF0ZTwvaT4gb2YgYnJlYXRo
aW5nKSBhbmQgaW5jcmVhc2VkIDxpPndvcms8L2k+IG9mIGJyZWF0aGluZyAobm9u
LXNwZWNpZmljIHNpZ25zIG9mIHJlc3BpcmF0b3J5IGRpc3RyZXNzKS4gPGEgaHJl
Zj0iL3dpa2kvUmFsZXMiIHRpdGxlPSJSYWxlcyIgY2xhc3M9Im13LXJlZGlyZWN0
Ij5SYWxlczwvYT4gb3IgY3JhY2tsZXMsIGhlYXJkIGluaXRpYWxseSBpbiB0aGUg
bHVuZyBiYXNlcywgYW5kIHdoZW4gc2V2ZXJlLCB0aHJvdWdob3V0IHRoZSBsdW5n
IGZpZWxkcyBzdWdnZXN0IHRoZSBkZXZlbG9wbWVudCBvZiA8YSBocmVmPSIvd2lr
aS9QdWxtb25hcnlfZWRlbWEiIHRpdGxlPSJQdWxtb25hcnkgZWRlbWEiPnB1bG1v
bmFyeSBlZGVtYTwvYT4gKGZsdWlkIGluIHRoZSA8YSBocmVmPSIvd2lraS9BbHZl
b2xpIiB0aXRsZT0iQWx2ZW9saSIgY2xhc3M9Im13LXJlZGlyZWN0Ij5hbHZlb2xp
PC9hPikuIDxhIGhyZWY9Ii93aWtpL0N5YW5vc2lzIiB0aXRsZT0iQ3lhbm9zaXMi
PkN5YW5vc2lzPC9hPiB3aGljaCBzdWdnZXN0cyBzZXZlcmUgaHlwb3hlbWlhLCBp
cyBhIGxhdGUgc2lnbiBvZiBleHRyZW1lbHkgc2V2ZXJlIHB1bG1vbmFyeSBlZGVt
YS48L3A+CjxwPkFkZGl0aW9uYWwgc2lnbnMgaW5kaWNhdGluZyBsZWZ0IHZlbnRy
aWN1bGFyIGZhaWx1cmUgaW5jbHVkZSBhIGxhdGVyYWxseSBkaXNwbGFjZWQgPGEg
aHJlZj0iL3dpa2kvQXBleF9iZWF0IiB0aXRsZT0iQXBleCBiZWF0Ij5hcGV4IGJl
YXQ8L2E+ICh3aGljaCBvY2N1cnMgaWYgdGhlIGhlYXJ0IGlzIGVubGFyZ2VkKSBh
bmQgYSA8YSBocmVmPSIvd2lraS9HYWxsb3Bfcmh5dGhtIiB0aXRsZT0iR2FsbG9w
IHJoeXRobSI+Z2FsbG9wIHJoeXRobTwvYT4gKGFkZGl0aW9uYWwgaGVhcnQgc291
bmRzKSBtYXkgYmUgaGVhcmQgYXMgYSBtYXJrZXIgb2YgaW5jcmVhc2VkIGJsb29k
IGZsb3csIG9yIGluY3JlYXNlZCBpbnRyYS1jYXJkaWFjIHByZXNzdXJlLiA8YSBo
cmVmPSIvd2lraS9IZWFydF9tdXJtdXIiIHRpdGxlPSJIZWFydCBtdXJtdXIiPkhl
YXJ0IG11cm11cnM8L2E+IG1heSBpbmRpY2F0ZSB0aGUgcHJlc2VuY2Ugb2YgdmFs
dnVsYXIgaGVhcnQgZGlzZWFzZSwgZWl0aGVyIGFzIGEgY2F1c2UgKGUuZy4gPGEg
aHJlZj0iL3dpa2kvQW9ydGljX3N0ZW5vc2lzIiB0aXRsZT0iQW9ydGljIHN0ZW5v
c2lzIiBjbGFzcz0ibXctcmVkaXJlY3QiPmFvcnRpYyBzdGVub3NpczwvYT4pIG9y
IGFzIGEgcmVzdWx0IChlLmcuLCA8YSBocmVmPSIvd2lraS9NaXRyYWxfcmVndXJn
aXRhdGlvbiIgdGl0bGU9Ik1pdHJhbCByZWd1cmdpdGF0aW9uIj5taXRyYWwgcmVn
dXJnaXRhdGlvbjwvYT4pIG9mIHRoZSBoZWFydCBmYWlsdXJlLjwvcD4KPGg0Pjxz
cGFuIGNsYXNzPSJlZGl0c2VjdGlvbiI+WzxhIGhyZWY9Ii93L2luZGV4LnBocD90
aXRsZT1IZWFydF9mYWlsdXJlJmFtcDthY3Rpb249ZWRpdCZhbXA7c2VjdGlvbj05
IiB0aXRsZT0iRWRpdCBzZWN0aW9uOiBSaWdodC1zaWRlZCBmYWlsdXJlIj5lZGl0
PC9hPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFkbGluZSIgaWQ9IlJpZ2h0
LXNpZGVkX2ZhaWx1cmVfMiI+UmlnaHQtc2lkZWQgZmFpbHVyZTwvc3Bhbj48L2g0
Pgo8cD5QaHlzaWNhbCBleGFtaW5hdGlvbiBjYW4gcmV2ZWFsIHBpdHRpbmcgcGVy
aXBoZXJhbCA8YSBocmVmPSIvd2lraS9FZGVtYSIgdGl0bGU9IkVkZW1hIj5lZGVt
YTwvYT4sIGFzY2l0ZXMsIGFuZCBoZXBhdG9tZWdhbHkuIDxhIGhyZWY9Ii93aWtp
L0p1Z3VsYXJfdmVub3VzX3ByZXNzdXJlIiB0aXRsZT0iSnVndWxhciB2ZW5vdXMg
cHJlc3N1cmUiPkp1Z3VsYXIgdmVub3VzIHByZXNzdXJlPC9hPiBpcyBmcmVxdWVu
dGx5IGFzc2Vzc2VkIGFzIGEgbWFya2VyIG9mIGZsdWlkIHN0YXR1cywgd2hpY2gg
Y2FuIGJlIGFjY2VudHVhdGVkIGJ5IHRoZSA8YSBocmVmPSIvd2lraS9BYmRvbWlu
b2p1Z3VsYXJfdGVzdCIgdGl0bGU9IkFiZG9taW5vanVndWxhciB0ZXN0Ij5oZXBh
dG9qdWd1bGFyIHJlZmx1eDwvYT4uIElmIHRoZSByaWdodCB2ZW50cmljbGFyIHBy
ZXNzdXJlIGlzIGluY3JlYXNlZCwgYSA8YSBocmVmPSIvd2lraS9QYXJhc3Rlcm5h
bF9oZWF2ZSIgdGl0bGU9IlBhcmFzdGVybmFsIGhlYXZlIj5wYXJhc3Rlcm5hbCBo
ZWF2ZTwvYT4gbWF5IGJlIHByZXNlbnQsIHNpZ25pZnlpbmcgdGhlIGNvbXBlbnNh
dG9yeSBpbmNyZWFzZSBpbiBjb250cmFjdGlvbiBzdHJlbmd0aC48L3A+CjxoND48
c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9pbmRleC5waHA/
dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1wO3NlY3Rpb249
MTAiIHRpdGxlPSJFZGl0IHNlY3Rpb246IEJpdmVudHJpY3VsYXIgZmFpbHVyZSI+
ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUiIGlkPSJC
aXZlbnRyaWN1bGFyX2ZhaWx1cmUiPkJpdmVudHJpY3VsYXIgZmFpbHVyZTwvc3Bh
bj48L2g0Pgo8cD5EdWxsbmVzcyBvZiB0aGUgbHVuZyBmaWVsZHMgdG8gZmluZ2Vy
IHBlcmN1c3Npb24gYW5kIHJlZHVjZWQgYnJlYXRoIHNvdW5kcyBhdCB0aGUgYmFz
ZXMgb2YgdGhlIGx1bmcgbWF5IHN1Z2dlc3QgdGhlIGRldmVsb3BtZW50IG9mIGEg
PGEgaHJlZj0iL3dpa2kvUGxldXJhbF9lZmZ1c2lvbiIgdGl0bGU9IlBsZXVyYWwg
ZWZmdXNpb24iPnBsZXVyYWwgZWZmdXNpb248L2E+IChmbHVpZCBjb2xsZWN0aW9u
IGluIGJldHdlZW4gdGhlIGx1bmcgYW5kIHRoZSBjaGVzdCB3YWxsKS4gVGhvdWdo
IGl0IGNhbiBvY2N1ciBpbiBpc29sYXRlZCBsZWZ0LSBvciByaWdodC1zaWRlZCBo
ZWFydCBmYWlsdXJlLCBpdCBpcyBtb3JlIGNvbW1vbiBpbiBiaXZlbnRyaWN1bGFy
IGZhaWx1cmUgYmVjYXVzZSBwbGV1cmFsIHZlaW5zIGRyYWluIGJvdGggaW50byB0
aGUgc3lzdGVtaWMgYW5kIHB1bG1vbmFyeSB2ZW5vdXMgc3lzdGVtLiBXaGVuIHVu
aWxhdGVyYWwsIGVmZnVzaW9ucyBhcmUgb2Z0ZW4gcmlnaHQtc2lkZWQsIHByZXN1
bWFibHkgYmVjYXVzZSBvZiB0aGUgbGFyZ2VyIHN1cmZhY2UgYXJlYSBvZiB0aGUg
cmlnaHQgbHVuZy48L3A+CjxoMj48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8
YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0
aW9uPWVkaXQmYW1wO3NlY3Rpb249MTEiIHRpdGxlPSJFZGl0IHNlY3Rpb246IENh
dXNlcyI+ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUi
IGlkPSJDYXVzZXMiPkNhdXNlczwvc3Bhbj48L2gyPgo8aDM+PHNwYW4gY2xhc3M9
ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0
X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTEyIiB0aXRsZT0i
RWRpdCBzZWN0aW9uOiBDaHJvbmljIGhlYXJ0IGZhaWx1cmUiPmVkaXQ8L2E+XTwv
c3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iQ2hyb25pY19oZWFy
dF9mYWlsdXJlIj5DaHJvbmljIGhlYXJ0IGZhaWx1cmU8L3NwYW4+PC9oMz4KPHA+
VGhlIHByZWRvbWluYW5jZSBvZiBjYXVzZXMgb2YgaGVhcnQgZmFpbHVyZSBhcmUg
ZGlmZmljdWx0IHRvIGFuYWx5emUgZHVlIHRvIGNoYWxsZW5nZXMgaW4gZGlhZ25v
c2lzLCBkaWZmZXJlbmNlcyBpbiBwb3B1bGF0aW9ucywgYW5kIGNoYW5naW5nIHBy
ZXZhbGVuY2Ugb2YgY2F1c2VzIHdpdGggYWdlLjwvcD4KPHA+QSAxOSB5ZWFyIHN0
dWR5IG9mIDEzMDAwIGhlYWx0aHkgYWR1bHRzIGluIHRoZSBVbml0ZWQgU3RhdGVz
ICh0aGUgPGEgaHJlZj0iL3dpa2kvTmF0aW9uYWxfSGVhbHRoX2FuZF9OdXRyaXRp
b25fRXhhbWluYXRpb25fU3VydmV5IiB0aXRsZT0iTmF0aW9uYWwgSGVhbHRoIGFu
ZCBOdXRyaXRpb24gRXhhbWluYXRpb24gU3VydmV5Ij5OYXRpb25hbCBIZWFsdGgg
YW5kIE51dHJpdGlvbiBFeGFtaW5hdGlvbiBTdXJ2ZXk8L2E+IChOSEFORVMgSSkg
Zm91bmQgdGhlIGZvbGxvd2luZyBjYXVzZXMgcmFua2VkIGJ5IFBvcHVsYXRpb24g
QXR0cmlidXRhYmxlIFJpc2sgc2NvcmU6PHN1cCBpZD0iY2l0ZV9yZWYtMTYiIGNs
YXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtMTYiPjxzcGFuPls8
L3NwYW4+MTc8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD48L3A+CjxvbD4KPGxpPjxh
IGhyZWY9Ii93aWtpL0lzY2hhZW1pY19oZWFydF9kaXNlYXNlIiB0aXRsZT0iSXNj
aGFlbWljIGhlYXJ0IGRpc2Vhc2UiPklzY2hhZW1pYyBoZWFydCBkaXNlYXNlPC9h
PiA2MiU8L2xpPgo8bGk+Q2lnYXJldHRlIHNtb2tpbmcgMTYlPC9saT4KPGxpPjxh
IGhyZWY9Ii93aWtpL0h5cGVydGVuc2lvbiIgdGl0bGU9Ikh5cGVydGVuc2lvbiI+
SHlwZXJ0ZW5zaW9uPC9hPiAoaGlnaCBibG9vZCBwcmVzc3VyZSkxMCU8L2xpPgo8
bGk+PGEgaHJlZj0iL3dpa2kvT2Jlc2l0eSIgdGl0bGU9Ik9iZXNpdHkiPk9iZXNp
dHk8L2E+IDglPC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL0RpYWJldGVzIiB0aXRs
ZT0iRGlhYmV0ZXMiIGNsYXNzPSJtdy1yZWRpcmVjdCI+RGlhYmV0ZXM8L2E+IDMl
PC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL1ZhbHZ1bGFyX2hlYXJ0X2Rpc2Vhc2Ui
IHRpdGxlPSJWYWx2dWxhciBoZWFydCBkaXNlYXNlIj5WYWx2dWxhciBoZWFydCBk
aXNlYXNlPC9hPiAyJSAobXVjaCBoaWdoZXIgaW4gb2xkZXIgcG9wdWxhdGlvbnMp
PC9saT4KPC9vbD4KPHA+QW4gSXRhbGlhbiByZWdpc3RyeSBvZiBvdmVyIDYyMDAg
cGF0aWVudHMgd2l0aCBoZWFydCBmYWlsdXJlIHNob3dlZCB0aGUgZm9sbG93aW5n
IHVuZGVybHlpbmcgY2F1c2VzOjxzdXAgaWQ9ImNpdGVfcmVmLTE3IiBjbGFzcz0i
cmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTE3Ij48c3Bhbj5bPC9zcGFu
PjE4PHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+PC9wPgo8b2w+CjxsaT5Jc2NoYWVt
aWMgaGVhcnQgZGlzZWFzZSA0MCU8L2xpPgo8bGk+RGlsYXRlZCBjYXJkaW9teW9w
YXRoeSAzMiU8L2xpPgo8bGk+VmFsdnVsYXIgaGVhcnQgZGlzZWFzZSAxMiU8L2xp
Pgo8bGk+SHlwZXJ0ZW5zaW9uIDExJTwvbGk+CjxsaT5PdGhlciA1JTwvbGk+Cjwv
b2w+CjxwPlJhcmVyIGNhdXNlcyBvZiBoZWFydCBmYWlsdXJlIGluY2x1ZGU6PC9w
Pgo8dWw+CjxsaT5WaXJhbCA8YSBocmVmPSIvd2lraS9NeW9jYXJkaXRpcyIgdGl0
bGU9Ik15b2NhcmRpdGlzIj5teW9jYXJkaXRpczwvYT4gKGFuIGluZmVjdGlvbiBv
ZiB0aGUgaGVhcnQgbXVzY2xlKTwvbGk+CjxsaT5JbmZpbHRyYXRpb25zIG9mIHRo
ZSBtdXNjbGUgc3VjaCBhcyA8YSBocmVmPSIvd2lraS9BbXlsb2lkb3NpcyIgdGl0
bGU9IkFteWxvaWRvc2lzIj5hbXlsb2lkb3NpczwvYT48L2xpPgo8bGk+SElWIGNh
cmRpb215b3BhdGh5IChjYXVzZWQgYnkgPGEgaHJlZj0iL3dpa2kvSHVtYW5faW1t
dW5vZGVmaWNpZW5jeV92aXJ1cyIgdGl0bGU9Ikh1bWFuIGltbXVub2RlZmljaWVu
Y3kgdmlydXMiIGNsYXNzPSJtdy1yZWRpcmVjdCI+aHVtYW4gaW1tdW5vZGVmaWNp
ZW5jeSB2aXJ1czwvYT4pPC9saT4KPGxpPkNvbm5lY3RpdmUgdGlzc3VlIGRpc2Vh
c2VzIHN1Y2ggYXMgPGEgaHJlZj0iL3dpa2kvU3lzdGVtaWNfbHVwdXNfZXJ5dGhl
bWF0b3N1cyIgdGl0bGU9IlN5c3RlbWljIGx1cHVzIGVyeXRoZW1hdG9zdXMiPnN5
c3RlbWljIGx1cHVzIGVyeXRoZW1hdG9zdXM8L2E+PC9saT4KPGxpPkFidXNlIG9m
IGRydWdzIHN1Y2ggYXMgYWxjb2hvbCBhbmQgY29jYWluZTwvbGk+CjxsaT5QaGFy
bWFjZXV0aWNhbCBkcnVncyBzdWNoIGFzIGNoZW1vdGhlcmFwZXV0aWMgYWdlbnRz
PC9saT4KPGxpPkFycmh5dGhtaWFzPC9saT4KPC91bD4KPHA+PGEgaHJlZj0iL3dp
a2kvT2JzdHJ1Y3RpdmVfc2xlZXBfYXBuZWEiIHRpdGxlPSJPYnN0cnVjdGl2ZSBz
bGVlcCBhcG5lYSI+T2JzdHJ1Y3RpdmUgc2xlZXAgYXBuZWE8L2E+IGEgY29uZGl0
aW9uIG9mIHNsZWVwIGRpc29yZGVyZWQgYnJlYXRoaW5nIG92ZXJsYXBzIHdpdGgg
b2Jlc2l0eSwgaHlwZXJ0ZW5zaW9uLCBhbmQgZGlhYmV0ZXMgYW5kIGlzIHJlZ2Fy
ZGVkIGFzIGFuIGluZGVwZW5kZW50IGNhdXNlIG9mIGhlYXJ0IGZhaWx1cmUuPC9w
Pgo8aDM+PHNwYW4gY2xhc3M9ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5k
ZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtz
ZWN0aW9uPTEzIiB0aXRsZT0iRWRpdCBzZWN0aW9uOiBBY3V0ZSBkZWNvbXBlbnNh
dGVkIGhlYXJ0IGZhaWx1cmUiPmVkaXQ8L2E+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9
Im13LWhlYWRsaW5lIiBpZD0iQWN1dGVfZGVjb21wZW5zYXRlZF9oZWFydF9mYWls
dXJlIj5BY3V0ZSBkZWNvbXBlbnNhdGVkIGhlYXJ0IGZhaWx1cmU8L3NwYW4+PC9o
Mz4KPGRpdiBjbGFzcz0icmVsbGluayByZWxhcnRpY2xlIG1haW5hcnRpY2xlIj5N
YWluIGFydGljbGU6IDxhIGhyZWY9Ii93aWtpL0FjdXRlX2RlY29tcGVuc2F0ZWRf
aGVhcnRfZmFpbHVyZSIgdGl0bGU9IkFjdXRlIGRlY29tcGVuc2F0ZWQgaGVhcnQg
ZmFpbHVyZSI+QWN1dGUgZGVjb21wZW5zYXRlZCBoZWFydCBmYWlsdXJlPC9hPjwv
ZGl2Pgo8cD5DaHJvbmljIHN0YWJsZSBoZWFydCBmYWlsdXJlIG1heSBlYXNpbHkg
PGEgaHJlZj0iL3dpa2kvRGVjb21wZW5zYXRpb24iIHRpdGxlPSJEZWNvbXBlbnNh
dGlvbiI+ZGVjb21wZW5zYXRlPC9hPi4gVGhpcyBtb3N0IGNvbW1vbmx5IHJlc3Vs
dHMgZnJvbSBhbiBpbnRlcmN1cnJlbnQgaWxsbmVzcyAoc3VjaCBhcyA8YSBocmVm
PSIvd2lraS9QbmV1bW9uaWEiIHRpdGxlPSJQbmV1bW9uaWEiPnBuZXVtb25pYTwv
YT4pLCA8YSBocmVmPSIvd2lraS9NeW9jYXJkaWFsX2luZmFyY3Rpb24iIHRpdGxl
PSJNeW9jYXJkaWFsIGluZmFyY3Rpb24iPm15b2NhcmRpYWwgaW5mYXJjdGlvbjwv
YT4gKGEgaGVhcnQgYXR0YWNrKSwgPGEgaHJlZj0iL3dpa2kvQ2FyZGlhY19hcnJo
eXRobWlhIiB0aXRsZT0iQ2FyZGlhYyBhcnJoeXRobWlhIiBjbGFzcz0ibXctcmVk
aXJlY3QiPmFycmh5dGhtaWFzPC9hPiwgdW5jb250cm9sbGVkIDxhIGhyZWY9Ii93
aWtpL0h5cGVydGVuc2lvbiIgdGl0bGU9Ikh5cGVydGVuc2lvbiI+aHlwZXJ0ZW5z
aW9uPC9hPiwgb3IgYSBwYXRpZW50J3MgZmFpbHVyZSB0byBtYWludGFpbiBhIGZs
dWlkIHJlc3RyaWN0aW9uLCBkaWV0LCBvciBtZWRpY2F0aW9uLjxzdXAgaWQ9ImNp
dGVfcmVmLU9QVElNSVpFLUhGXzE4LTAiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhy
ZWY9IiNjaXRlX25vdGUtT1BUSU1JWkUtSEYtMTgiPjxzcGFuPls8L3NwYW4+MTk8
c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD4gT3RoZXIgd2VsbCByZWNvZ25pemVkIHBy
ZWNpcGl0YXRpbmcgZmFjdG9ycyBpbmNsdWRlIDxhIGhyZWY9Ii93aWtpL0FuYWVt
aWEiIHRpdGxlPSJBbmFlbWlhIiBjbGFzcz0ibXctcmVkaXJlY3QiPmFuYWVtaWE8
L2E+IGFuZCA8YSBocmVmPSIvd2lraS9IeXBlcnRoeXJvaWRpc20iIHRpdGxlPSJI
eXBlcnRoeXJvaWRpc20iPmh5cGVydGh5cm9pZGlzbTwvYT4gd2hpY2ggcGxhY2Ug
YWRkaXRpb25hbCBzdHJhaW4gb24gdGhlIGhlYXJ0IG11c2NsZS4gRXhjZXNzaXZl
IGZsdWlkIG9yIHNhbHQgaW50YWtlLCBhbmQgbWVkaWNhdGlvbiB0aGF0IGNhdXNl
cyBmbHVpZCByZXRlbnRpb24gc3VjaCBhcyA8YSBocmVmPSIvd2lraS9Ob24tc3Rl
cm9pZGFsX2FudGktaW5mbGFtbWF0b3J5X2RydWciIHRpdGxlPSJOb24tc3Rlcm9p
ZGFsIGFudGktaW5mbGFtbWF0b3J5IGRydWciPk5TQUlEczwvYT4gYW5kIDxhIGhy
ZWY9Ii93aWtpL1RoaWF6b2xpZGluZWRpb25lIiB0aXRsZT0iVGhpYXpvbGlkaW5l
ZGlvbmUiPnRoaWF6b2xpZGluZWRpb25lczwvYT4sIG1heSBhbHNvIHByZWNpcGl0
YXRlIGRlY29tcGVuc2F0aW9uLjxzdXAgaWQ9ImNpdGVfcmVmLTE5IiBjbGFzcz0i
cmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTE5Ij48c3Bhbj5bPC9zcGFu
PjIwPHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+PC9wPgo8aDI+PHNwYW4gY2xhc3M9
ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0
X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTE0IiB0aXRsZT0i
RWRpdCBzZWN0aW9uOiBQYXRob3BoeXNpb2xvZ3kiPmVkaXQ8L2E+XTwvc3Bhbj4g
PHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iUGF0aG9waHlzaW9sb2d5Ij5Q
YXRob3BoeXNpb2xvZ3k8L3NwYW4+PC9oMj4KPHRhYmxlIGNsYXNzPSJtZXRhZGF0
YSBwbGFpbmxpbmtzIGFtYm94IGFtYm94LWNvbnRlbnQiIHN0eWxlPSIiPgo8dHI+
Cjx0ZCBjbGFzcz0ibWJveC1pbWFnZSI+CjxkaXYgc3R5bGU9IndpZHRoOiA1MnB4
OyI+PGltZyBhbHQ9IiIgc3JjPSJodHRwOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcv
d2lraXBlZGlhL2VuL3RodW1iLzkvOTkvUXVlc3Rpb25fYm9vay1uZXcuc3ZnLzUw
cHgtUXVlc3Rpb25fYm9vay1uZXcuc3ZnLnBuZyIgd2lkdGg9IjUwIiBoZWlnaHQ9
IjM5IiAvPjwvZGl2Pgo8L3RkPgo8dGQgY2xhc3M9Im1ib3gtdGV4dCIgc3R5bGU9
IiI+VGhpcyBzZWN0aW9uIDxiPmRvZXMgbm90IDxhIGhyZWY9Ii93aWtpL1dpa2lw
ZWRpYTpDaXRpbmdfc291cmNlcyIgdGl0bGU9Ildpa2lwZWRpYTpDaXRpbmcgc291
cmNlcyI+Y2l0ZTwvYT4gYW55IDxhIGhyZWY9Ii93aWtpL1dpa2lwZWRpYTpWZXJp
ZmlhYmlsaXR5IiB0aXRsZT0iV2lraXBlZGlhOlZlcmlmaWFiaWxpdHkiPnJlZmVy
ZW5jZXMgb3Igc291cmNlczwvYT48L2I+LjxiciAvPgo8c21hbGw+UGxlYXNlIGhl
bHAgPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvdy9pbmRleC5waHA/
dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQiIGNsYXNzPSJleHRl
cm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5pbXByb3ZlIHRoaXMgYXJ0aWNsZTwv
YT4gYnkgYWRkaW5nIGNpdGF0aW9ucyB0byA8YSBocmVmPSIvd2lraS9XaWtpcGVk
aWE6UmVsaWFibGVfc291cmNlcyIgdGl0bGU9Ildpa2lwZWRpYTpSZWxpYWJsZSBz
b3VyY2VzIiBjbGFzcz0ibXctcmVkaXJlY3QiPnJlbGlhYmxlIHNvdXJjZXM8L2E+
LiBVbnNvdXJjZWQgbWF0ZXJpYWwgbWF5IGJlIDxhIGhyZWY9Ii93aWtpL1RlbXBs
YXRlOkNpdGF0aW9uX25lZWRlZCIgdGl0bGU9IlRlbXBsYXRlOkNpdGF0aW9uIG5l
ZWRlZCI+Y2hhbGxlbmdlZDwvYT4gYW5kIDxhIGhyZWY9Ii93aWtpL1dpa2lwZWRp
YTpWZXJpZmlhYmlsaXR5I0J1cmRlbl9vZl9ldmlkZW5jZSIgdGl0bGU9Ildpa2lw
ZWRpYTpWZXJpZmlhYmlsaXR5Ij5yZW1vdmVkPC9hPi4gPGk+KERlY2VtYmVyIDIw
MDcpPC9pPjwvc21hbGw+PC90ZD4KPC90cj4KPC90YWJsZT4KPHA+SGVhcnQgZmFp
bHVyZSBpcyBjYXVzZWQgYnkgYW55IGNvbmRpdGlvbiB3aGljaCByZWR1Y2VzIHRo
ZSBlZmZpY2llbmN5IG9mIHRoZSBteW9jYXJkaXVtLCBvciBoZWFydCBtdXNjbGUs
IHRocm91Z2ggZGFtYWdlIG9yIG92ZXJsb2FkaW5nLiBBcyBzdWNoLCBpdCBjYW4g
YmUgY2F1c2VkIGJ5IGFzIGRpdmVyc2UgYW4gYXJyYXkgb2YgY29uZGl0aW9ucyBh
cyBteW9jYXJkaWFsIGluZmFyY3Rpb24gKGluIHdoaWNoIHRoZSBoZWFydCBtdXNj
bGUgaXMgc3RhcnZlZCBvZiBveHlnZW4gYW5kIGRpZXMpLCBoeXBlcnRlbnNpb24g
KHdoaWNoIGluY3JlYXNlcyB0aGUgZm9yY2Ugb2YgY29udHJhY3Rpb24gbmVlZGVk
IHRvIHB1bXAgYmxvb2QpIGFuZCA8YSBocmVmPSIvd2lraS9BbXlsb2lkb3NpcyIg
dGl0bGU9IkFteWxvaWRvc2lzIj5hbXlsb2lkb3NpczwvYT4gKGluIHdoaWNoIHBy
b3RlaW4gaXMgZGVwb3NpdGVkIGluIHRoZSBoZWFydCBtdXNjbGUsIGNhdXNpbmcg
aXQgdG8gc3RpZmZlbikuIE92ZXIgdGltZSB0aGVzZSBpbmNyZWFzZXMgaW4gd29y
a2xvYWQgd2lsbCBwcm9kdWNlIGNoYW5nZXMgdG8gdGhlIGhlYXJ0IGl0c2VsZjo8
L3A+Cjx1bD4KPGxpPlJlZHVjZWQgY29udHJhY3RpbGl0eSwgb3IgZm9yY2Ugb2Yg
Y29udHJhY3Rpb24sIGR1ZSB0byBvdmVybG9hZGluZyBvZiB0aGUgPGEgaHJlZj0i
L3dpa2kvVmVudHJpY2xlXyhoZWFydCkiIHRpdGxlPSJWZW50cmljbGUgKGhlYXJ0
KSI+dmVudHJpY2xlPC9hPi4gSW4gaGVhbHRoLCBpbmNyZWFzZWQgZmlsbGluZyBv
ZiB0aGUgdmVudHJpY2xlIHJlc3VsdHMgaW4gaW5jcmVhc2VkIGNvbnRyYWN0aWxp
dHkgKGJ5IHRoZSA8YSBocmVmPSIvd2lraS9GcmFuayVFMiU4MCU5M1N0YXJsaW5n
X2xhd19vZl90aGVfaGVhcnQiIHRpdGxlPSJGcmFua+KAk1N0YXJsaW5nIGxhdyBv
ZiB0aGUgaGVhcnQiPkZyYW5r4oCTU3RhcmxpbmcgbGF3IG9mIHRoZSBoZWFydDwv
YT4pIGFuZCB0aHVzIGEgcmlzZSBpbiBjYXJkaWFjIG91dHB1dC4gSW4gaGVhcnQg
ZmFpbHVyZSB0aGlzIG1lY2hhbmlzbSBmYWlscywgYXMgdGhlIHZlbnRyaWNsZSBp
cyBsb2FkZWQgd2l0aCBibG9vZCB0byB0aGUgcG9pbnQgd2hlcmUgaGVhcnQgbXVz
Y2xlIGNvbnRyYWN0aW9uIGJlY29tZXMgbGVzcyBlZmZpY2llbnQuIFRoaXMgaXMg
ZHVlIHRvIHJlZHVjZWQgYWJpbGl0eSB0byBjcm9zcy1saW5rIDxhIGhyZWY9Ii93
aWtpL0FjdGluIiB0aXRsZT0iQWN0aW4iPmFjdGluPC9hPiBhbmQgPGEgaHJlZj0i
L3dpa2kvTXlvc2luIiB0aXRsZT0iTXlvc2luIj5teW9zaW48L2E+IGZpbGFtZW50
cyBpbiBvdmVyLXN0cmV0Y2hlZCBoZWFydCBtdXNjbGUuPHN1cCBpZD0iY2l0ZV9y
ZWYtMjAiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtMjAi
PjxzcGFuPls8L3NwYW4+MjE8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD48L2xpPgo8
bGk+QSByZWR1Y2VkIHN0cm9rZSB2b2x1bWUsIGFzIGEgcmVzdWx0IG9mIGEgZmFp
bHVyZSBvZiA8YSBocmVmPSIvd2lraS9TeXN0b2xlXyhtZWRpY2luZSkiIHRpdGxl
PSJTeXN0b2xlIChtZWRpY2luZSkiPnN5c3RvbGU8L2E+LCA8YSBocmVmPSIvd2lr
aS9EaWFzdG9sZSIgdGl0bGU9IkRpYXN0b2xlIj5kaWFzdG9sZTwvYT4gb3IgYm90
aC4gSW5jcmVhc2VkIDxhIGhyZWY9Ii93aWtpL0VuZF9zeXN0b2xpY192b2x1bWUi
IHRpdGxlPSJFbmQgc3lzdG9saWMgdm9sdW1lIiBjbGFzcz0ibXctcmVkaXJlY3Qi
PmVuZCBzeXN0b2xpYyB2b2x1bWU8L2E+IGlzIHVzdWFsbHkgY2F1c2VkIGJ5IHJl
ZHVjZWQgY29udHJhY3RpbGl0eS4gRGVjcmVhc2VkIDxhIGhyZWY9Ii93aWtpL0Vu
ZF9kaWFzdG9saWNfdm9sdW1lIiB0aXRsZT0iRW5kIGRpYXN0b2xpYyB2b2x1bWUi
IGNsYXNzPSJtdy1yZWRpcmVjdCI+ZW5kIGRpYXN0b2xpYyB2b2x1bWU8L2E+IHJl
c3VsdHMgZnJvbSBpbXBhaXJlZCB2ZW50cmljdWxhciBmaWxsaW5nIOKAkyBhcyBv
Y2N1cnMgd2hlbiB0aGUgY29tcGxpYW5jZSBvZiB0aGUgdmVudHJpY2xlIGZhbGxz
IChpLmUuIHdoZW4gdGhlIHdhbGxzIHN0aWZmZW4pLjwvbGk+CjxsaT5SZWR1Y2Vk
IHNwYXJlIGNhcGFjaXR5LiBBcyB0aGUgaGVhcnQgd29ya3MgaGFyZGVyIHRvIG1l
ZXQgbm9ybWFsIG1ldGFib2xpYyBkZW1hbmRzLCB0aGUgYW1vdW50IGNhcmRpYWMg
b3V0cHV0IGNhbiBpbmNyZWFzZSBpbiB0aW1lcyBvZiBpbmNyZWFzZWQgb3h5Z2Vu
IGRlbWFuZCAoZS5nLiBleGVyY2lzZSkgaXMgcmVkdWNlZC4gVGhpcyBjb250cmli
dXRlcyB0byB0aGUgZXhlcmNpc2UgaW50b2xlcmFuY2UgY29tbW9ubHkgc2VlbiBp
biBoZWFydCBmYWlsdXJlLiBUaGlzIHRyYW5zbGF0ZXMgdG8gdGhlIGxvc3Mgb2Yg
b25lJ3MgY2FyZGlhYyByZXNlcnZlLiBUaGUgY2FyZGlhYyByZXNlcnZlIHJlZmVy
cyB0byB0aGUgYWJpbGl0eSBvZiB0aGUgaGVhcnQgdG8gd29yayBoYXJkZXIgZHVy
aW5nIGV4ZXJjaXNlIG9yIHN0cmVudW91cyBhY3Rpdml0eS4gU2luY2UgdGhlIGhl
YXJ0IGhhcyB0byB3b3JrIGhhcmRlciB0byBtZWV0IHRoZSBub3JtYWwgbWV0YWJv
bGljIGRlbWFuZHMsIGl0IGlzIGluY2FwYWJsZSBvZiBtZWV0aW5nIHRoZSBtZXRh
Ym9saWMgZGVtYW5kcyBvZiB0aGUgYm9keSBkdXJpbmcgZXhlcmNpc2UuPC9saT4K
PGxpPkluY3JlYXNlZCBoZWFydCByYXRlLCBzdGltdWxhdGVkIGJ5IGluY3JlYXNl
ZCBzeW1wYXRoZXRpYyBhY3Rpdml0eSBpbiBvcmRlciB0byBtYWludGFpbiBjYXJk
aWFjIG91dHB1dC4gSW5pdGlhbGx5LCB0aGlzIGhlbHBzIGNvbXBlbnNhdGUgZm9y
IGhlYXJ0IGZhaWx1cmUgYnkgbWFpbnRhaW5pbmcgYmxvb2QgcHJlc3N1cmUgYW5k
IHBlcmZ1c2lvbiwgYnV0IHBsYWNlcyBmdXJ0aGVyIHN0cmFpbiBvbiB0aGUgbXlv
Y2FyZGl1bSwgaW5jcmVhc2luZyBjb3JvbmFyeSBwZXJmdXNpb24gcmVxdWlyZW1l
bnRzLCB3aGljaCBjYW4gbGVhZCB0byB3b3JzZW5pbmcgb2YgaXNjaGVtaWMgaGVh
cnQgZGlzZWFzZS4gU3ltcGF0aGV0aWMgYWN0aXZpdHkgbWF5IGFsc28gY2F1c2Ug
cG90ZW50aWFsbHkgZmF0YWwgPGEgaHJlZj0iL3dpa2kvQXJyaHl0aG1pYXMiIHRp
dGxlPSJBcnJoeXRobWlhcyIgY2xhc3M9Im13LXJlZGlyZWN0Ij5hcnJoeXRobWlh
czwvYT4uPC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL0h5cGVydHJvcGh5IiB0aXRs
ZT0iSHlwZXJ0cm9waHkiPkh5cGVydHJvcGh5PC9hPiAoYW4gaW5jcmVhc2UgaW4g
cGh5c2ljYWwgc2l6ZSkgb2YgdGhlIG15b2NhcmRpdW0sIGNhdXNlZCBieSB0aGUg
dGVybWluYWxseSBkaWZmZXJlbnRpYXRlZCBoZWFydCBtdXNjbGUgZmlicmVzIGlu
Y3JlYXNpbmcgaW4gc2l6ZSBpbiBhbiBhdHRlbXB0IHRvIGltcHJvdmUgY29udHJh
Y3RpbGl0eS4gVGhpcyBtYXkgY29udHJpYnV0ZSB0byB0aGUgaW5jcmVhc2VkIHN0
aWZmbmVzcyBhbmQgZGVjcmVhc2VkIGFiaWxpdHkgdG8gcmVsYXggZHVyaW5nIGRp
YXN0b2xlLjwvbGk+CjxsaT5FbmxhcmdlbWVudCBvZiB0aGUgdmVudHJpY2xlcywg
Y29udHJpYnV0aW5nIHRvIHRoZSBlbmxhcmdlbWVudCBhbmQgc3BoZXJpY2FsIHNo
YXBlIG9mIHRoZSBmYWlsaW5nIGhlYXJ0LiBUaGUgaW5jcmVhc2UgaW4gdmVudHJp
Y3VsYXIgdm9sdW1lIGFsc28gY2F1c2VzIGEgcmVkdWN0aW9uIGluIHN0cm9rZSB2
b2x1bWUgZHVlIHRvIG1lY2hhbmljYWwgYW5kIGNvbnRyYWN0aWxlIGluZWZmaWNp
ZW5jeS48c3VwIGlkPSJjaXRlX3JlZi0yMSIgY2xhc3M9InJlZmVyZW5jZSI+PGEg
aHJlZj0iI2NpdGVfbm90ZS0yMSI+PHNwYW4+Wzwvc3Bhbj4yMjxzcGFuPl08L3Nw
YW4+PC9hPjwvc3VwPjwvbGk+CjwvdWw+CjxwPlRoZSBnZW5lcmFsIGVmZmVjdCBp
cyBvbmUgb2YgcmVkdWNlZCBjYXJkaWFjIG91dHB1dCBhbmQgaW5jcmVhc2VkIHN0
cmFpbiBvbiB0aGUgaGVhcnQuIFRoaXMgaW5jcmVhc2VzIHRoZSByaXNrIG9mIGNh
cmRpYWMgYXJyZXN0IChzcGVjaWZpY2FsbHkgZHVlIHRvIHZlbnRyaWN1bGFyIGR5
c3JoeXRobWlhcyksIGFuZCByZWR1Y2VzIGJsb29kIHN1cHBseSB0byB0aGUgcmVz
dCBvZiB0aGUgYm9keS4gSW4gY2hyb25pYyBkaXNlYXNlIHRoZSByZWR1Y2VkIGNh
cmRpYWMgb3V0cHV0IGNhdXNlcyBhIG51bWJlciBvZiBjaGFuZ2VzIGluIHRoZSBy
ZXN0IG9mIHRoZSBib2R5LCBzb21lIG9mIHdoaWNoIGFyZSBwaHlzaW9sb2dpY2Fs
IGNvbXBlbnNhdGlvbnMsIHNvbWUgb2Ygd2hpY2ggYXJlIHBhcnQgb2YgdGhlIGRp
c2Vhc2UgcHJvY2Vzczo8L3A+Cjx1bD4KPGxpPkFydGVyaWFsIGJsb29kIHByZXNz
dXJlIGZhbGxzLiBUaGlzIGRlc3RpbXVsYXRlcyA8YSBocmVmPSIvd2lraS9CYXJv
cmVjZXB0b3JzIiB0aXRsZT0iQmFyb3JlY2VwdG9ycyIgY2xhc3M9Im13LXJlZGly
ZWN0Ij5iYXJvcmVjZXB0b3JzPC9hPiBpbiB0aGUgPGEgaHJlZj0iL3dpa2kvQ2Fy
b3RpZF9zaW51cyIgdGl0bGU9IkNhcm90aWQgc2ludXMiPmNhcm90aWQgc2ludXM8
L2E+IGFuZCA8YSBocmVmPSIvd2lraS9Bb3J0aWNfYXJjaCIgdGl0bGU9IkFvcnRp
YyBhcmNoIj5hb3J0aWMgYXJjaDwvYT4gd2hpY2ggbGluayB0byB0aGUgbnVjbGV1
cyB0cmFjdHVzIHNvbGl0YXJpdXMuIFRoaXMgY2VudGVyIGluIHRoZSBicmFpbiBp
bmNyZWFzZXMgc3ltcGF0aGV0aWMgYWN0aXZpdHksIHJlbGVhc2luZyBjYXRlY2hv
bGFtaW5lcyBpbnRvIHRoZSBibG9vZCBzdHJlYW0uIEJpbmRpbmcgdG8gYWxwaGEt
MSByZWNlcHRvcnMgcmVzdWx0cyBpbiBzeXN0ZW1pYyBhcnRlcmlhbCA8YSBocmVm
PSIvd2lraS9WYXNvY29uc3RyaWN0aW9uIiB0aXRsZT0iVmFzb2NvbnN0cmljdGlv
biI+dmFzb2NvbnN0cmljdGlvbjwvYT4uIFRoaXMgaGVscHMgcmVzdG9yZSBibG9v
ZCBwcmVzc3VyZSBidXQgYWxzbyBpbmNyZWFzZXMgdGhlIHRvdGFsIHBlcmlwaGVy
YWwgcmVzaXN0YW5jZSwgaW5jcmVhc2luZyB0aGUgd29ya2xvYWQgb2YgdGhlIGhl
YXJ0LiBCaW5kaW5nIHRvIGJldGEtMSByZWNlcHRvcnMgaW4gdGhlIG15b2NhcmRp
dW0gaW5jcmVhc2VzIHRoZSBoZWFydCByYXRlIGFuZCBtYWtlIGNvbnRyYWN0aW9u
cyBtb3JlIGZvcmNlZnVsLCBpbiBhbiBhdHRlbXB0IHRvIGluY3JlYXNlIGNhcmRp
YWMgb3V0cHV0LiBUaGlzIGFsc28sIGhvd2V2ZXIsIGluY3JlYXNlcyB0aGUgYW1v
dW50IG9mIHdvcmsgdGhlIGhlYXJ0IGhhcyB0byBwZXJmb3JtLjwvbGk+CjxsaT5J
bmNyZWFzZWQgc3ltcGF0aGV0aWMgc3RpbXVsYXRpb24gYWxzbyBjYXVzZXMgdGhl
IDxhIGhyZWY9Ii93aWtpL0h5cG90aGFsYW11cyIgdGl0bGU9Ikh5cG90aGFsYW11
cyI+aHlwb3RoYWxhbXVzPC9hPiB0byBzZWNyZXRlIDxhIGhyZWY9Ii93aWtpL1Zh
c29wcmVzc2luIiB0aXRsZT0iVmFzb3ByZXNzaW4iPnZhc29wcmVzc2luPC9hPiAo
YWxzbyBrbm93biBhcyBhbnRpZGl1cmV0aWMgaG9ybW9uZSBvciBBREgpLCB3aGlj
aCBjYXVzZXMgZmx1aWQgcmV0ZW50aW9uIGF0IHRoZSBraWRuZXlzLiBUaGlzIGlu
Y3JlYXNlcyB0aGUgYmxvb2Qgdm9sdW1lIGFuZCBibG9vZCBwcmVzc3VyZS48L2xp
Pgo8bGk+UmVkdWNlZCA8YSBocmVmPSIvd2lraS9QZXJmdXNpb24iIHRpdGxlPSJQ
ZXJmdXNpb24iPnBlcmZ1c2lvbjwvYT4gKGJsb29kIGZsb3cpIHRvIHRoZSBraWRu
ZXlzIHN0aW11bGF0ZXMgdGhlIHJlbGVhc2Ugb2YgPGEgaHJlZj0iL3dpa2kvUmVu
aW4iIHRpdGxlPSJSZW5pbiI+cmVuaW48L2E+IOKAkyBhbiBlbnp5bWUgd2hpY2gg
Y2F0YWx5c2VzIHRoZSBwcm9kdWN0aW9uIG9mIHRoZSBwb3RlbnQgdmFzb3ByZXNz
b3IgPGEgaHJlZj0iL3dpa2kvQW5naW90ZW5zaW4iIHRpdGxlPSJBbmdpb3RlbnNp
biI+YW5naW90ZW5zaW48L2E+LiBBbmdpb3RlbnNpbiBhbmQgaXRzIG1ldGFib2xp
dGVzIGNhdXNlIGZ1cnRoZXIgdmFzb2NvbnRyaWN0aW9uLCBhbmQgc3RpbXVsYXRl
IGluY3JlYXNlZCBzZWNyZXRpb24gb2YgdGhlIHN0ZXJvaWQgPGEgaHJlZj0iL3dp
a2kvQWxkb3N0ZXJvbmUiIHRpdGxlPSJBbGRvc3Rlcm9uZSI+YWxkb3N0ZXJvbmU8
L2E+IGZyb20gdGhlIDxhIGhyZWY9Ii93aWtpL0FkcmVuYWxfZ2xhbmRzIiB0aXRs
ZT0iQWRyZW5hbCBnbGFuZHMiIGNsYXNzPSJtdy1yZWRpcmVjdCI+YWRyZW5hbCBn
bGFuZHM8L2E+LiBUaGlzIHByb21vdGVzIHNhbHQgYW5kIGZsdWlkIHJldGVudGlv
biBhdCB0aGUga2lkbmV5cywgYWxzbyBpbmNyZWFzaW5nIHRoZSBibG9vZCB2b2x1
bWUuPC9saT4KPGxpPlRoZSBjaHJvbmljYWxseSBoaWdoIGxldmVscyBvZiBjaXJj
dWxhdGluZyBuZXVyb2VuZG9jcmluZSBob3Jtb25lcyBzdWNoIGFzIDxhIGhyZWY9
Ii93aWtpL0NhdGVjaG9sYW1pbmVzIiB0aXRsZT0iQ2F0ZWNob2xhbWluZXMiIGNs
YXNzPSJtdy1yZWRpcmVjdCI+Y2F0ZWNob2xhbWluZXM8L2E+LCByZW5pbiwgYW5n
aW90ZW5zaW4sIGFuZCBhbGRvc3Rlcm9uZSBhZmZlY3RzIHRoZSBteW9jYXJkaXVt
IGRpcmVjdGx5LCBjYXVzaW5nIHN0cnVjdHVyYWwgcmVtb2RlbGxpbmcgb2YgdGhl
IGhlYXJ0IG92ZXIgdGhlIGxvbmcgdGVybS4gTWFueSBvZiB0aGVzZSByZW1vZGVs
bGluZyBlZmZlY3RzIHNlZW0gdG8gYmUgbWVkaWF0ZWQgYnkgdHJhbnNmb3JtaW5n
IGdyb3d0aCBmYWN0b3IgYmV0YSAoVEdGLWJldGEpLCB3aGljaCBpcyBhIGNvbW1v
biBkb3duc3RyZWFtIHRhcmdldCBvZiB0aGUgc2lnbmFsIHRyYW5zZHVjdGlvbiBj
YXNjYWRlIGluaXRpYXRlZCBieSBjYXRlY2hvbGFtaW5lczxzdXAgaWQ9ImNpdGVf
cmVmLTIyIiBjbGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTIy
Ij48c3Bhbj5bPC9zcGFuPjIzPHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+IGFuZCBh
bmdpb3RlbnNpbiBJSTxzdXAgaWQ9ImNpdGVfcmVmLTIzIiBjbGFzcz0icmVmZXJl
bmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTIzIj48c3Bhbj5bPC9zcGFuPjI0PHNw
YW4+XTwvc3Bhbj48L2E+PC9zdXA+LCBhbmQgYWxzbyBieSBlcGlkZXJtYWwgZ3Jv
d3RoIGZhY3RvciAoRUdGKSwgd2hpY2ggaXMgYSB0YXJnZXQgb2YgdGhlIHNpZ25h
bGluZyBwYXRod2F5IGFjdGl2YXRlZCBieSBhbGRvc3Rlcm9uZTxzdXAgaWQ9ImNp
dGVfcmVmLTI0IiBjbGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3Rl
LTI0Ij48c3Bhbj5bPC9zcGFuPjI1PHNwYW4+XTwvc3Bhbj48L2E+PC9zdXA+PC9s
aT4KPGxpPlJlZHVjZWQgcGVyZnVzaW9uIG9mIHNrZWxldGFsIG11c2NsZSBjYXVz
ZXMgYXRyb3BoeSBvZiB0aGUgbXVzY2xlIGZpYnJlcy4gVGhpcyBjYW4gcmVzdWx0
IGluIHdlYWtuZXNzLCBpbmNyZWFzZWQgZmF0aWd1ZWFiaWxpdHkgYW5kIGRlY3Jl
YXNlZCBwZWFrIHN0cmVuZ3RoIC0gYWxsIGNvbnRyaWJ1dGluZyB0byBleGVyY2lz
ZSBpbnRvbGVyYW5jZS48c3VwIGlkPSJjaXRlX3JlZi0yNSIgY2xhc3M9InJlZmVy
ZW5jZSI+PGEgaHJlZj0iI2NpdGVfbm90ZS0yNSI+PHNwYW4+Wzwvc3Bhbj4yNjxz
cGFuPl08L3NwYW4+PC9hPjwvc3VwPjwvbGk+CjwvdWw+CjxwPlRoZSBpbmNyZWFz
ZWQgcGVyaXBoZXJhbCByZXNpc3RhbmNlIGFuZCBncmVhdGVyIGJsb29kIHZvbHVt
ZSBwbGFjZSBmdXJ0aGVyIHN0cmFpbiBvbiB0aGUgaGVhcnQgYW5kIGFjY2VsZXJh
dGVzIHRoZSBwcm9jZXNzIG9mIGRhbWFnZSB0byB0aGUgbXlvY2FyZGl1bS4gVmFz
b2NvbnN0cmljdGlvbiBhbmQgZmx1aWQgcmV0ZW50aW9uIHByb2R1Y2UgYW4gaW5j
cmVhc2VkIGh5ZHJvc3RhdGljIHByZXNzdXJlIGluIHRoZSBjYXBpbGxhcmllcy4g
VGhpcyBzaGlmdHMgdGhlIGJhbGFuY2Ugb2YgZm9yY2VzIGluIGZhdm91ciBvZiA8
YSBocmVmPSIvd2lraS9JbnRlcnN0aXRpYWxfZmx1aWQiIHRpdGxlPSJJbnRlcnN0
aXRpYWwgZmx1aWQiPmludGVyc3RpdGlhbCBmbHVpZDwvYT4gZm9ybWF0aW9uIGFz
IHRoZSBpbmNyZWFzZWQgcHJlc3N1cmUgZm9yY2VzIGFkZGl0aW9uYWwgZmx1aWQg
b3V0IG9mIHRoZSBibG9vZCwgaW50byB0aGUgdGlzc3VlLiBUaGlzIHJlc3VsdHMg
aW4gPGEgaHJlZj0iL3dpa2kvRWRlbWEiIHRpdGxlPSJFZGVtYSI+ZWRlbWE8L2E+
IChmbHVpZCBidWlsZC11cCkgaW4gdGhlIHRpc3N1ZXMuIEluIHJpZ2h0LXNpZGVk
IGhlYXJ0IGZhaWx1cmUgdGhpcyBjb21tb25seSBzdGFydHMgaW4gdGhlIGFua2xl
cyB3aGVyZSB2ZW5vdXMgcHJlc3N1cmUgaXMgaGlnaCBkdWUgdG8gdGhlIGVmZmVj
dHMgb2YgZ3Jhdml0eSAoYWx0aG91Z2ggaWYgdGhlIHBhdGllbnQgaXMgYmVkLXJp
ZGRlbiwgZmx1aWQgYWNjdW11bGF0aW9uIG1heSBiZWdpbiBpbiB0aGUgc2FjcmFs
IHJlZ2lvbi4pIEl0IG1heSBhbHNvIG9jY3VyIGluIHRoZSBhYmRvbWluYWwgY2F2
aXR5LCB3aGVyZSB0aGUgZmx1aWQgYnVpbGQtdXAgaXMgY2FsbGVkIGFzY2l0ZXMu
IEluIGxlZnQtc2lkZWQgaGVhcnQgZmFpbHVyZSA8YSBocmVmPSIvd2lraS9FZGVt
YSIgdGl0bGU9IkVkZW1hIj5lZGVtYTwvYT4gY2FuIG9jY3VyIGluIHRoZSBsdW5n
cyAtIHRoaXMgaXMgY2FsbGVkIGNhcmRpb2dlbmljIDxhIGhyZWY9Ii93aWtpL1B1
bG1vbmFyeV9lZGVtYSIgdGl0bGU9IlB1bG1vbmFyeSBlZGVtYSI+cHVsbW9uYXJ5
IGVkZW1hPC9hPi4gVGhpcyByZWR1Y2VzIHNwYXJlIGNhcGFjaXR5IGZvciB2ZW50
aWxhdGlvbiwgY2F1c2VzIHN0aWZmZW5pbmcgb2YgdGhlIGx1bmdzIGFuZCByZWR1
Y2VzIHRoZSBlZmZpY2llbmN5IG9mIGdhcyBleGNoYW5nZSBieSBpbmNyZWFzaW5n
IHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBhaXIgYW5kIHRoZSBibG9vZC4gVGhl
IGNvbnNlcXVlbmNlcyBvZiB0aGlzIGFyZSBzaG9ydG5lc3Mgb2YgYnJlYXRoLCA8
YSBocmVmPSIvd2lraS9PcnRob3BuZWEiIHRpdGxlPSJPcnRob3BuZWEiPm9ydGhv
cG5lYTwvYT4gYW5kIDxhIGhyZWY9Ii93aWtpL1Bhcm94eXNtYWxfbm9jdHVybmFs
X2R5c3BuZWEiIHRpdGxlPSJQYXJveHlzbWFsIG5vY3R1cm5hbCBkeXNwbmVhIiBj
bGFzcz0ibXctcmVkaXJlY3QiPnBhcm94eXNtYWwgbm9jdHVybmFsIGR5c3BuZWE8
L2E+LjwvcD4KPHA+VGhlIHN5bXB0b21zIG9mIGhlYXJ0IGZhaWx1cmUgYXJlIGxh
cmdlbHkgZGV0ZXJtaW5lZCBieSB3aGljaCBzaWRlIG9mIHRoZSBoZWFydCBmYWls
cy4gVGhlIGxlZnQgc2lkZSBwdW1wcyBibG9vZCBpbnRvIHRoZSBzeXN0ZW1pYyBj
aXJjdWxhdGlvbiwgd2hpbHN0IHRoZSByaWdodCBzaWRlIHB1bXBzIGJsb29kIGlu
dG8gdGhlIDxhIGhyZWY9Ii93aWtpL1B1bG1vbmFyeV9jaXJjdWxhdGlvbiIgdGl0
bGU9IlB1bG1vbmFyeSBjaXJjdWxhdGlvbiI+cHVsbW9uYXJ5IGNpcmN1bGF0aW9u
PC9hPi4gV2hpbHN0IGxlZnQtc2lkZWQgaGVhcnQgZmFpbHVyZSB3aWxsIHJlZHVj
ZSBjYXJkaWFjIG91dHB1dCB0byB0aGUgc3lzdGVtaWMgY2lyY3VsYXRpb24sIHRo
ZSBpbml0aWFsIHN5bXB0b21zIG9mdGVuIG1hbmlmZXN0IGR1ZSB0byBlZmZlY3Rz
IG9uIHRoZSBwdWxtb25hcnkgY2lyY3VsYXRpb24uIEluIHN5c3RvbGljIGR5c2Z1
bmN0aW9uLCB0aGUgZWplY3Rpb24gZnJhY3Rpb24gaXMgZGVjcmVhc2VkLCBsZWF2
aW5nIGFuIGFibm9ybWFsbHkgZWxldmF0ZWQgdm9sdW1lIG9mIGJsb29kIGluIHRo
ZSBsZWZ0IHZlbnRyaWNsZS4gSW4gZGlhc3RvbGljIGR5c2Z1bmN0aW9uLCBlbmQt
ZGlhc3RvbGljIHZlbnRyaWN1bGFyIHByZXNzdXJlIHdpbGwgYmUgaGlnaC4gVGhp
cyBpbmNyZWFzZSBpbiB2b2x1bWUgb3IgcHJlc3N1cmUgYmFja3MgdXAgdG8gdGhl
IGxlZnQgYXRyaXVtIGFuZCB0aGVuIHRvIHRoZSBwdWxtb25hcnkgdmVpbnMuIElu
Y3JlYXNlZCB2b2x1bWUgb3IgcHJlc3N1cmUgaW4gdGhlIHB1bG1vbmFyeSB2ZWlu
cyBpbXBhaXJzIHRoZSBub3JtYWwgZHJhaW5hZ2Ugb2YgdGhlIGFsdmVvbGkgYW5k
IGZhdm9ycyB0aGUgZmxvdyBvZiBmbHVpZCBmcm9tIHRoZSBjYXBpbGxhcmllcyB0
byB0aGUgbHVuZyBwYXJlbmNoeW1hLCBjYXVzaW5nIHB1bG1vbmFyeSBlZGVtYS4g
VGhpcyBpbXBhaXJzIGdhcyBleGNoYW5nZS4gVGh1cywgbGVmdC1zaWRlZCBoZWFy
dCBmYWlsdXJlIG9mdGVuIHByZXNlbnRzIHdpdGggcmVzcGlyYXRvcnkgc3ltcHRv
bXM6IHNob3J0bmVzcyBvZiBicmVhdGgsIG9ydGhvcG5lYSBhbmQgcGFyb3h5c21h
bCBub2N0dXJuYWwgZHlzcG5lYS48L3A+CjxwPkluIHNldmVyZSBjYXJkaW9teW9w
YXRoeSwgdGhlIGVmZmVjdHMgb2YgZGVjcmVhc2VkIGNhcmRpYWMgb3V0cHV0IGFu
ZCBwb29yIHBlcmZ1c2lvbiBiZWNvbWUgbW9yZSBhcHBhcmVudCwgYW5kIHBhdGll
bnRzIHdpbGwgbWFuaWZlc3Qgd2l0aCBjb2xkIGFuZCBjbGFtbXkgZXh0cmVtaXRp
ZXMsIGN5YW5vc2lzLCBjbGF1ZGljYXRpb24sIGdlbmVyYWxpemVkIHdlYWtuZXNz
LCBkaXp6aW5lc3MsIGFuZCA8YSBocmVmPSIvd2lraS9TeW5jb3BlXyhtZWRpY2lu
ZSkiIHRpdGxlPSJTeW5jb3BlIChtZWRpY2luZSkiPnN5bmNvcGU8L2E+PC9wPgo8
cD5UaGUgcmVzdWx0YW50IGh5cG94aWEgY2F1c2VkIGJ5IHB1bG1vbmFyeSBlZGVt
YSBjYXVzZXMgdmFzb2NvbnN0cmljdGlvbiBpbiB0aGUgcHVsbW9uYXJ5IGNpcmN1
bGF0aW9uLCB3aGljaCByZXN1bHRzIGluIHB1bG1vbmFyeSBoeXBlcnRlbnNpb24u
IFNpbmNlIHRoZSByaWdodCB2ZW50cmljbGUgZ2VuZXJhdGVzIGZhciBsb3dlciBw
cmVzc3VyZXMgdGhhbiB0aGUgbGVmdCB2ZW50cmljbGUgKGFwcHJveGltYXRlbHkg
MjAgbW1IZyB2ZXJzdXMgYXJvdW5kIDEyMCBtbUhnLCByZXNwZWN0aXZlbHksIGlu
IHRoZSBoZWFsdGh5IGluZGl2aWR1YWwpIGJ1dCBub25ldGhlbGVzcyBnZW5lcmF0
ZXMgY2FyZGlhYyBvdXRwdXQgZXhhY3RseSBlcXVhbCB0byB0aGUgbGVmdCB2ZW50
cmljbGUsIHRoaXMgbWVhbnMgdGhhdCBhIHNtYWxsIGluY3JlYXNlIGluIHB1bG1v
bmFyeSB2YXNjdWxhciByZXNpc3RhbmNlIGNhdXNlcyBhIGxhcmdlIGluY3JlYXNl
IGluIGFtb3VudCBvZiB3b3JrIHRoZSByaWdodCB2ZW50cmljbGUgbXVzdCBwZXJm
b3JtLiBIb3dldmVyLCB0aGUgbWFpbiBtZWNoYW5pc20gYnkgd2hpY2ggbGVmdC1z
aWRlZCBoZWFydCBmYWlsdXJlIGNhdXNlcyByaWdodC1zaWRlZCBoZWFydCBmYWls
dXJlIGlzIGFjdHVhbGx5IG5vdCB3ZWxsIHVuZGVyc3Rvb2QuIFNvbWUgdGhlb3Jp
ZXMgaW52b2tlIG1lY2hhbmlzbXMgdGhhdCBhcmUgbWVkaWF0ZWQgYnkgbmV1cm9o
b3Jtb25hbCBhY3RpdmF0aW9uLiBNZWNoYW5pY2FsIGVmZmVjdHMgbWF5IGFsc28g
Y29udHJpYnV0ZS4gQXMgdGhlIGxlZnQgdmVudHJpY2xlIGRpc3RlbmRzLCB0aGUg
aW50cmF2ZW50cmljdWxhciBzZXB0dW0gYm93cyBpbnRvIHRoZSByaWdodCB2ZW50
cmljbGUsIGRlY3JlYXNpbmcgdGhlIGNhcGFjaXR5IG9mIHRoZSByaWdodCB2ZW50
cmljbGUuPC9wPgo8aDM+PHNwYW4gY2xhc3M9ImVkaXRzZWN0aW9uIj5bPGEgaHJl
Zj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1l
ZGl0JmFtcDtzZWN0aW9uPTE1IiB0aXRsZT0iRWRpdCBzZWN0aW9uOiBTeXN0b2xp
YyBkeXNmdW5jdGlvbiI+ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibXct
aGVhZGxpbmUiIGlkPSJTeXN0b2xpY19keXNmdW5jdGlvbiI+U3lzdG9saWMgZHlz
ZnVuY3Rpb248L3NwYW4+PC9oMz4KPHA+SGVhcnQgZmFpbHVyZSBjYXVzZWQgYnkg
c3lzdG9saWMgZHlzZnVuY3Rpb24gaXMgbW9yZSByZWFkaWx5IHJlY29nbml6ZWQu
IEl0IGNhbiBiZSBzaW1wbGlzdGljYWxseSBkZXNjcmliZWQgYXMgZmFpbHVyZSBv
ZiB0aGUgcHVtcCBmdW5jdGlvbiBvZiB0aGUgaGVhcnQuIEl0IGlzIGNoYXJhY3Rl
cml6ZWQgYnkgYSBkZWNyZWFzZWQgZWplY3Rpb24gZnJhY3Rpb24gKGxlc3MgdGhh
biA0NSUpLiBUaGUgc3RyZW5ndGggb2YgdmVudHJpY3VsYXIgY29udHJhY3Rpb24g
aXMgYXR0ZW51YXRlZCBhbmQgaW5hZGVxdWF0ZSBmb3IgY3JlYXRpbmcgYW4gYWRl
cXVhdGUgc3Ryb2tlIHZvbHVtZSwgcmVzdWx0aW5nIGluIGluYWRlcXVhdGUgY2Fy
ZGlhYyBvdXRwdXQuIEluIGdlbmVyYWwsIHRoaXMgaXMgY2F1c2VkIGJ5IGR5c2Z1
bmN0aW9uIG9yIGRlc3RydWN0aW9uIG9mIGNhcmRpYWMgbXlvY3l0ZXMgb3IgdGhl
aXIgbW9sZWN1bGFyIGNvbXBvbmVudHMuIEluIGNvbmdlbml0YWwgZGlzZWFzZXMg
c3VjaCBhcyA8YSBocmVmPSIvd2lraS9EdWNoZW5uZV9tdXNjdWxhcl9keXN0cm9w
aHkiIHRpdGxlPSJEdWNoZW5uZSBtdXNjdWxhciBkeXN0cm9waHkiPkR1Y2hlbm5l
IG11c2N1bGFyIGR5c3Ryb3BoeTwvYT4sIHRoZSBtb2xlY3VsYXIgc3RydWN0dXJl
IG9mIGluZGl2aWR1YWwgbXlvY3l0ZXMgaXMgYWZmZWN0ZWQuIE15b2N5dGVzIGFu
ZCB0aGVpciBjb21wb25lbnRzIGNhbiBiZSBkYW1hZ2VkIGJ5IGluZmxhbW1hdGlv
biAoc3VjaCBhcyBpbiA8YSBocmVmPSIvd2lraS9NeW9jYXJkaXRpcyIgdGl0bGU9
Ik15b2NhcmRpdGlzIj5teW9jYXJkaXRpczwvYT4pIG9yIGJ5IGluZmlsdHJhdGlv
biAoc3VjaCBhcyBpbiBhbXlsb2lkb3NpcykuIFRveGlucyBhbmQgcGhhcm1hY29s
b2dpY2FsIGFnZW50cyAoc3VjaCBhcyA8YSBocmVmPSIvd2lraS9FdGhhbm9sIiB0
aXRsZT0iRXRoYW5vbCI+ZXRoYW5vbDwvYT4sIDxhIGhyZWY9Ii93aWtpL0NvY2Fp
bmUiIHRpdGxlPSJDb2NhaW5lIj5jb2NhaW5lPC9hPiwgYW5kIDxhIGhyZWY9Ii93
aWtpL0FtcGhldGFtaW5lcyIgdGl0bGU9IkFtcGhldGFtaW5lcyIgY2xhc3M9Im13
LXJlZGlyZWN0Ij5hbXBoZXRhbWluZXM8L2E+KSBjYXVzZSBpbnRyYWNlbGx1bGFy
IGRhbWFnZSBhbmQgb3hpZGF0aXZlIHN0cmVzcy4gVGhlIG1vc3QgY29tbW9uIG1l
Y2hhbmlzbSBvZiBkYW1hZ2UgaXMgaXNjaGVtaWEgY2F1c2luZyBpbmZhcmN0aW9u
IGFuZCA8YSBocmVmPSIvd2lraS9NeW9jYXJkaWFsX3NjYXJyaW5nIiB0aXRsZT0i
TXlvY2FyZGlhbCBzY2FycmluZyI+c2NhciBmb3JtYXRpb248L2E+LiBBZnRlciBt
eW9jYXJkaWFsIGluZmFyY3Rpb24sIGRlYWQgbXlvY3l0ZXMgYXJlIHJlcGxhY2Vk
IGJ5IHNjYXIgdGlzc3VlLCBkZWxldGVyaW91c2x5IGFmZmVjdGluZyB0aGUgZnVu
Y3Rpb24gb2YgdGhlIG15b2NhcmRpdW0uIE9uIGVjaG9jYXJkaW9ncmFtLCB0aGlz
IGlzIG1hbmlmZXN0IGJ5IGFibm9ybWFsIG9yIGFic2VudCB3YWxsIG1vdGlvbi48
L3A+CjxwPkJlY2F1c2UgdGhlIHZlbnRyaWNsZSBpcyBpbmFkZXF1YXRlbHkgZW1w
dGllZCwgdmVudHJpY3VsYXIgZW5kLWRpYXN0b2xpYyBwcmVzc3VyZSBhbmQgdm9s
dW1lcyBpbmNyZWFzZS4gVGhpcyBpcyB0cmFuc21pdHRlZCB0byB0aGUgYXRyaXVt
LiBPbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBoZWFydCwgdGhlIGluY3JlYXNlZCBw
cmVzc3VyZSBpcyB0cmFuc21pdHRlZCB0byB0aGUgcHVsbW9uYXJ5IHZhc2N1bGF0
dXJlLCBhbmQgdGhlIHJlc3VsdGFudCBoeWRyb3N0YXRpYyBwcmVzc3VyZSBmYXZv
cnMgZXh0cmF2YXNzYXRpb24gb2YgZmx1aWQgaW50byB0aGUgbHVuZyBwYXJlbmNo
eW1hLCBjYXVzaW5nIHB1bG1vbmFyeSBlZGVtYS4gT24gdGhlIHJpZ2h0IHNpZGUg
b2YgdGhlIGhlYXJ0LCB0aGUgaW5jcmVhc2VkIHByZXNzdXJlIGlzIHRyYW5zbWl0
dGVkIHRvIHRoZSBzeXN0ZW1pYyB2ZW5vdXMgY2lyY3VsYXRpb24gYW5kIHN5c3Rl
bWljIGNhcGlsbGFyeSBiZWRzLCBmYXZvcmluZyBleHRyYXZhc3NhdGlvbiBvZiBm
bHVpZCBpbnRvIHRoZSB0aXNzdWVzIG9mIHRhcmdldCBvcmdhbnMgYW5kIGV4dHJl
bWl0aWVzLCByZXN1bHRpbmcgaW4gPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxl
PURlcGVuZGVudF9wZXJpcGhlcmFsX2VkZW1hJmFtcDthY3Rpb249ZWRpdCZhbXA7
cmVkbGluaz0xIiBjbGFzcz0ibmV3IiB0aXRsZT0iRGVwZW5kZW50IHBlcmlwaGVy
YWwgZWRlbWEgKHBhZ2UgZG9lcyBub3QgZXhpc3QpIj5kZXBlbmRlbnQgcGVyaXBo
ZXJhbCBlZGVtYTwvYT4uPC9wPgo8aDM+PHNwYW4gY2xhc3M9ImVkaXRzZWN0aW9u
Ij5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1w
O2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTE2IiB0aXRsZT0iRWRpdCBzZWN0aW9u
OiBEaWFzdG9saWMgZHlzZnVuY3Rpb24iPmVkaXQ8L2E+XTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iRGlhc3RvbGljX2R5c2Z1bmN0aW9uIj5E
aWFzdG9saWMgZHlzZnVuY3Rpb248L3NwYW4+PC9oMz4KPHA+SGVhcnQgZmFpbHVy
ZSBjYXVzZWQgYnkgZGlhc3RvbGljIGR5c2Z1bmN0aW9uIGlzIGdlbmVyYWxseSBk
ZXNjcmliZWQgYXMgdGhlIGZhaWx1cmUgb2YgdGhlIHZlbnRyaWNsZSB0byBhZGVx
dWF0ZWx5IHJlbGF4IGFuZCB0eXBpY2FsbHkgZGVub3RlcyBhIHN0aWZmZXIgdmVu
dHJpY3VsYXIgd2FsbC4gVGhpcyBjYXVzZXMgaW5hZGVxdWF0ZSBmaWxsaW5nIG9m
IHRoZSB2ZW50cmljbGUsIGFuZCB0aGVyZWZvcmUgcmVzdWx0cyBpbiBhbiBpbmFk
ZXF1YXRlIHN0cm9rZSB2b2x1bWUuIFRoZSBmYWlsdXJlIG9mIHZlbnRyaWN1bGFy
IHJlbGF4YXRpb24gYWxzbyByZXN1bHRzIGluIGVsZXZhdGVkIGVuZC1kaWFzdG9s
aWMgcHJlc3N1cmVzLCBhbmQgdGhlIGVuZCByZXN1bHQgaXMgaWRlbnRpY2FsIHRv
IHRoZSBjYXNlIG9mIHN5c3RvbGljIGR5c2Z1bmN0aW9uIChwdWxtb25hcnkgZWRl
bWEgaW4gbGVmdCBoZWFydCBmYWlsdXJlLCBwZXJpcGhlcmFsIGVkZW1hIGluIHJp
Z2h0IGhlYXJ0IGZhaWx1cmUuKTwvcD4KPHA+RGlhc3RvbGljIGR5c2Z1bmN0aW9u
IGNhbiBiZSBjYXVzZWQgYnkgcHJvY2Vzc2VzIHNpbWlsYXIgdG8gdGhvc2UgdGhh
dCBjYXVzZSBzeXN0b2xpYyBkeXNmdW5jdGlvbiwgcGFydGljdWxhcmx5IGNhdXNl
cyB0aGF0IGFmZmVjdCBjYXJkaWFjIHJlbW9kZWxpbmcuPC9wPgo8cD5EaWFzdG9s
aWMgZHlzZnVuY3Rpb24gbWF5IG5vdCBtYW5pZmVzdCBpdHNlbGYgZXhjZXB0IGlu
IHBoeXNpb2xvZ2ljIGV4dHJlbWVzIGlmIHN5c3RvbGljIGZ1bmN0aW9uIGlzIHBy
ZXNlcnZlZC4gVGhlIHBhdGllbnQgbWF5IGJlIGNvbXBsZXRlbHkgYXN5bXB0b21h
dGljIGF0IHJlc3QuIEhvd2V2ZXIsIHRoZXkgYXJlIGV4cXVpc2l0ZWx5IHNlbnNp
dGl2ZSB0byBpbmNyZWFzZXMgaW4gaGVhcnQgcmF0ZSwgYW5kIHN1ZGRlbiBib3V0
cyBvZiB0YWNoeWNhcmRpYSAod2hpY2ggY2FuIGJlIGNhdXNlZCBzaW1wbHkgYnkg
cGh5c2lvbG9naWNhbCByZXNwb25zZXMgdG8gZXhlcnRpb24sIGZldmVyLCBvciBk
ZWh5ZHJhdGlvbiwgb3IgYnkgcGF0aG9sb2dpY2FsIHRhY2h5YXJyaHl0aG1pYXMg
c3VjaCBhcyA8YSBocmVmPSIvd2lraS9BdHJpYWxfZmlicmlsbGF0aW9uX3dpdGhf
cmFwaWRfdmVudHJpY3VsYXJfcmVzcG9uc2UiIHRpdGxlPSJBdHJpYWwgZmlicmls
bGF0aW9uIHdpdGggcmFwaWQgdmVudHJpY3VsYXIgcmVzcG9uc2UiIGNsYXNzPSJt
dy1yZWRpcmVjdCI+YXRyaWFsIGZpYnJpbGxhdGlvbiB3aXRoIHJhcGlkIHZlbnRy
aWN1bGFyIHJlc3BvbnNlPC9hPikgbWF5IHJlc3VsdCBpbiA8YSBocmVmPSIvd2lr
aS9GbGFzaF9wdWxtb25hcnlfZWRlbWEiIHRpdGxlPSJGbGFzaCBwdWxtb25hcnkg
ZWRlbWEiPmZsYXNoIHB1bG1vbmFyeSBlZGVtYTwvYT4uIEFkZXF1YXRlIHJhdGUg
Y29udHJvbCAodXN1YWxseSB3aXRoIGEgcGhhcm1hY29sb2dpY2FsIGFnZW50IHRo
YXQgc2xvd3MgZG93biBBViBjb25kdWN0aW9uIHN1Y2ggYXMgYSBjYWxjaXVtIGNo
YW5uZWwgYmxvY2tlciBvciBhIGJldGEtYmxvY2tlcikgaXMgdGhlcmVmb3JlIGtl
eSB0byBwcmV2ZW50aW5nIGRlY29tcGVuc2F0aW9uLjwvcD4KPHA+TGVmdCB2ZW50
cmljdWxhciBkaWFzdG9saWMgZnVuY3Rpb24gY2FuIGJlIGRldGVybWluZWQgdGhy
b3VnaCBlY2hvY2FyZGlvZ3JhcGh5IGJ5IG1lYXN1cmVtZW50IG9mIHZhcmlvdXMg
cGFyYW1ldGVycyBzdWNoIGFzIHRoZSA8YSBocmVmPSIvd2lraS9FL0FfcmF0aW8i
IHRpdGxlPSJFL0EgcmF0aW8iPkUvQSByYXRpbzwvYT4gKGVhcmx5LXRvLWF0cmlh
bCBsZWZ0IHZlbnRyaWN1bGFyIGZpbGxpbmcgcmF0aW8pLCB0aGUgRSAoZWFybHkg
bGVmdCB2ZW50cmljdWxhciBmaWxsaW5nKSBkZWNlbGVyYXRpb24gdGltZSwgYW5k
IHRoZSA8YSBocmVmPSIvd2lraS9Jc292b2x1bWljX3JlbGF4YXRpb25fdGltZSIg
dGl0bGU9Iklzb3ZvbHVtaWMgcmVsYXhhdGlvbiB0aW1lIj5pc292b2x1bWljIHJl
bGF4YXRpb24gdGltZTwvYT4uPC9wPgo8aDI+PHNwYW4gY2xhc3M9ImVkaXRzZWN0
aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUm
YW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTE3IiB0aXRsZT0iRWRpdCBzZWN0
aW9uOiBEaWFnbm9zaXMiPmVkaXQ8L2E+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im13
LWhlYWRsaW5lIiBpZD0iRGlhZ25vc2lzIj5EaWFnbm9zaXM8L3NwYW4+PC9oMj4K
PGRpdiBjbGFzcz0idGh1bWIgdHJpZ2h0Ij4KPGRpdiBjbGFzcz0idGh1bWJpbm5l
ciIgc3R5bGU9IndpZHRoOjIyMnB4OyI+PGEgaHJlZj0iL3dpa2kvRmlsZTpQdWxt
b25hcnllZGVtYTA5LkpQRyIgY2xhc3M9ImltYWdlIj48aW1nIGFsdD0iIiBzcmM9
Imh0dHA6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90
aHVtYi9mL2Y0L1B1bG1vbmFyeWVkZW1hMDkuSlBHLzIyMHB4LVB1bG1vbmFyeWVk
ZW1hMDkuSlBHIiB3aWR0aD0iMjIwIiBoZWlnaHQ9IjE4MSIgY2xhc3M9InRodW1i
aW1hZ2UiIC8+PC9hPgo8ZGl2IGNsYXNzPSJ0aHVtYmNhcHRpb24iPgo8ZGl2IGNs
YXNzPSJtYWduaWZ5Ij48YSBocmVmPSIvd2lraS9GaWxlOlB1bG1vbmFyeWVkZW1h
MDkuSlBHIiBjbGFzcz0iaW50ZXJuYWwiIHRpdGxlPSJFbmxhcmdlIj48aW1nIHNy
Yz0iaHR0cDovL2JpdHMud2lraW1lZGlhLm9yZy9za2lucy0xLjUvY29tbW9uL2lt
YWdlcy9tYWduaWZ5LWNsaXAucG5nIiB3aWR0aD0iMTUiIGhlaWdodD0iMTEiIGFs
dD0iIiAvPjwvYT48L2Rpdj4KQWN1dGUgcHVsbW9uYXJ5IGVkZW1hLiBOb3RlIGVu
bGFyZ2VkIGhlYXJ0IHNpemUsIGFwaWNhbCB2YXNjdWxhciByZWRpc3RyaWJ1dGlv
biAoIGNpcmNsZSApLCBhbmQgc21hbGwgYmlsYXRlcmFsIHBsZXVyYWwgZWZmdXNp
b25zICggYXJyb3cgKS48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8cD5ObyBzeXN0ZW0g
b2YgZGlhZ25vc3RpYyBjcml0ZXJpYSBoYXMgYmVlbiBhZ3JlZWQgYXMgdGhlIDxh
IGhyZWY9Ii93aWtpL0dvbGRfc3RhbmRhcmRfKHRlc3QpIiB0aXRsZT0iR29sZCBz
dGFuZGFyZCAodGVzdCkiPmdvbGQgc3RhbmRhcmQ8L2E+IGZvciBoZWFydCBmYWls
dXJlLiBDb21tb25seSB1c2VkIHN5c3RlbXMgYXJlIHRoZSAiRnJhbWluZ2hhbSBj
cml0ZXJpYSI8c3VwIGlkPSJjaXRlX3JlZi0yNiIgY2xhc3M9InJlZmVyZW5jZSI+
PGEgaHJlZj0iI2NpdGVfbm90ZS0yNiI+PHNwYW4+Wzwvc3Bhbj4yNzxzcGFuPl08
L3NwYW4+PC9hPjwvc3VwPiAoZGVyaXZlZCBmcm9tIHRoZSA8YSBocmVmPSIvd2lr
aS9GcmFtaW5naGFtX0hlYXJ0X1N0dWR5IiB0aXRsZT0iRnJhbWluZ2hhbSBIZWFy
dCBTdHVkeSI+RnJhbWluZ2hhbSBIZWFydCBTdHVkeTwvYT4pLCB0aGUgIkJvc3Rv
biBjcml0ZXJpYSIsPHN1cCBpZD0iY2l0ZV9yZWYtMjciIGNsYXNzPSJyZWZlcmVu
Y2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtMjciPjxzcGFuPls8L3NwYW4+Mjg8c3Bh
bj5dPC9zcGFuPjwvYT48L3N1cD4gdGhlICJEdWtlIGNyaXRlcmlhIiw8c3VwIGlk
PSJjaXRlX3JlZi0yOCIgY2xhc3M9InJlZmVyZW5jZSI+PGEgaHJlZj0iI2NpdGVf
bm90ZS0yOCI+PHNwYW4+Wzwvc3Bhbj4yOTxzcGFuPl08L3NwYW4+PC9hPjwvc3Vw
PiBhbmQgKGluIHRoZSBzZXR0aW5nIG9mIDxhIGhyZWY9Ii93aWtpL0FjdXRlX215
b2NhcmRpYWxfaW5mYXJjdGlvbiIgdGl0bGU9IkFjdXRlIG15b2NhcmRpYWwgaW5m
YXJjdGlvbiIgY2xhc3M9Im13LXJlZGlyZWN0Ij5hY3V0ZSBteW9jYXJkaWFsIGlu
ZmFyY3Rpb248L2E+KSB0aGUgIjxhIGhyZWY9Ii93aWtpL0tpbGxpcF9jbGFzcyIg
dGl0bGU9IktpbGxpcCBjbGFzcyI+S2lsbGlwIGNsYXNzPC9hPiIuPHN1cCBpZD0i
Y2l0ZV9yZWYtMjkiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25v
dGUtMjkiPjxzcGFuPls8L3NwYW4+MzA8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD48
L3A+CjxoMz48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9p
bmRleC5waHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1w
O3NlY3Rpb249MTgiIHRpdGxlPSJFZGl0IHNlY3Rpb246IEltYWdpbmciPmVkaXQ8
L2E+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iSW1hZ2lu
ZyI+SW1hZ2luZzwvc3Bhbj48L2gzPgo8cD48YSBocmVmPSIvd2lraS9FY2hvY2Fy
ZGlvZ3JhcGh5IiB0aXRsZT0iRWNob2NhcmRpb2dyYXBoeSI+RWNob2NhcmRpb2dy
YXBoeTwvYT4gaXMgY29tbW9ubHkgdXNlZCB0byBzdXBwb3J0IGEgY2xpbmljYWwg
ZGlhZ25vc2lzIG9mIGhlYXJ0IGZhaWx1cmUuIFRoaXMgbW9kYWxpdHkgdXNlcyA8
YSBocmVmPSIvd2lraS9VbHRyYXNvdW5kIiB0aXRsZT0iVWx0cmFzb3VuZCI+dWx0
cmFzb3VuZDwvYT4gdG8gZGV0ZXJtaW5lIHRoZSA8YSBocmVmPSIvd2lraS9TdHJv
a2Vfdm9sdW1lIiB0aXRsZT0iU3Ryb2tlIHZvbHVtZSI+c3Ryb2tlIHZvbHVtZTwv
YT4gKFNWLCB0aGUgYW1vdW50IG9mIGJsb29kIGluIHRoZSBoZWFydCB0aGF0IGV4
aXRzIHRoZSB2ZW50cmljbGVzIHdpdGggZWFjaCBiZWF0KSwgdGhlIDxhIGhyZWY9
Ii93aWtpL0VuZC1kaWFzdG9saWNfdm9sdW1lIiB0aXRsZT0iRW5kLWRpYXN0b2xp
YyB2b2x1bWUiPmVuZC1kaWFzdG9saWMgdm9sdW1lPC9hPiAoRURWLCB0aGUgdG90
YWwgYW1vdW50IG9mIGJsb29kIGF0IHRoZSBlbmQgb2YgZGlhc3RvbGUpLCBhbmQg
dGhlIFNWIGluIHByb3BvcnRpb24gdG8gdGhlIEVEViwgYSB2YWx1ZSBrbm93biBh
cyB0aGUgPGk+PGEgaHJlZj0iL3dpa2kvRWplY3Rpb25fZnJhY3Rpb24iIHRpdGxl
PSJFamVjdGlvbiBmcmFjdGlvbiI+ZWplY3Rpb24gZnJhY3Rpb248L2E+PC9pPiAo
RUYpLiBJbiBwZWRpYXRyaWNzLCB0aGUgPGEgaHJlZj0iL3dpa2kvU2hvcnRlbmlu
Z19mcmFjdGlvbiIgdGl0bGU9IlNob3J0ZW5pbmcgZnJhY3Rpb24iIGNsYXNzPSJt
dy1yZWRpcmVjdCI+c2hvcnRlbmluZyBmcmFjdGlvbjwvYT4gaXMgdGhlIHByZWZl
cnJlZCBtZWFzdXJlIG9mIHN5c3RvbGljIGZ1bmN0aW9uLiBOb3JtYWxseSwgdGhl
IEVGIHNob3VsZCBiZSBiZXR3ZWVuIDUwJSBhbmQgNzAlOyBpbiBzeXN0b2xpYyBo
ZWFydCBmYWlsdXJlLCBpdCBkcm9wcyBiZWxvdyA0MCUuIEVjaG9jYXJkaW9ncmFw
aHkgY2FuIGFsc28gaWRlbnRpZnkgdmFsdnVsYXIgaGVhcnQgZGlzZWFzZSBhbmQg
YXNzZXNzIHRoZSBzdGF0ZSBvZiB0aGUgPGEgaHJlZj0iL3dpa2kvUGVyaWNhcmRp
dW0iIHRpdGxlPSJQZXJpY2FyZGl1bSI+cGVyaWNhcmRpdW08L2E+ICh0aGUgY29u
bmVjdGl2ZSB0aXNzdWUgc2FjIHN1cnJvdW5kaW5nIHRoZSBoZWFydCkuIEVjaG9j
YXJkaW9ncmFwaHkgbWF5IGFsc28gYWlkIGluIGRlY2lkaW5nIHdoYXQgdHJlYXRt
ZW50cyB3aWxsIGhlbHAgdGhlIHBhdGllbnQsIHN1Y2ggYXMgbWVkaWNhdGlvbiwg
aW5zZXJ0aW9uIG9mIGFuIDxhIGhyZWY9Ii93aWtpL0ltcGxhbnRhYmxlX2NhcmRp
b3ZlcnRlci1kZWZpYnJpbGxhdG9yIiB0aXRsZT0iSW1wbGFudGFibGUgY2FyZGlv
dmVydGVyLWRlZmlicmlsbGF0b3IiPmltcGxhbnRhYmxlIGNhcmRpb3ZlcnRlci1k
ZWZpYnJpbGxhdG9yPC9hPiBvciA8YSBocmVmPSIvd2lraS9DYXJkaWFjX3Jlc3lu
Y2hyb25pemF0aW9uX3RoZXJhcHkiIHRpdGxlPSJDYXJkaWFjIHJlc3luY2hyb25p
emF0aW9uIHRoZXJhcHkiIGNsYXNzPSJtdy1yZWRpcmVjdCI+Y2FyZGlhYyByZXN5
bmNocm9uaXphdGlvbiB0aGVyYXB5PC9hPi4gRWNob2NhcmRpb2dyYXBoeSBjYW4g
YWxzbyBoZWxwIGRldGVybWluZSBpZiBhY3V0ZSBteW9jYXJkaWFsIGlzY2hlbWlh
IGlzIHRoZSBwcmVjaXBpdGF0aW5nIGNhdXNlLCBhbmQgbWF5IG1hbmlmZXN0IGFz
IHJlZ2lvbmFsIHdhbGwgbW90aW9uIGFibm9ybWFsaXRpZXMgb24gZWNoby48L3A+
CjxwPjxhIGhyZWY9Ii93aWtpL0NoZXN0X1gtcmF5IiB0aXRsZT0iQ2hlc3QgWC1y
YXkiIGNsYXNzPSJtdy1yZWRpcmVjdCI+Q2hlc3QgWC1yYXlzPC9hPiBhcmUgZnJl
cXVlbnRseSB1c2VkIHRvIGFpZCBpbiB0aGUgZGlhZ25vc2lzIG9mIENIRi4gSW4g
dGhlIGNvbXBlbnNhdGVkIHBhdGllbnQsIHRoaXMgbWF5IHNob3cgPGEgaHJlZj0i
L3dpa2kvQ2FyZGlvbWVnYWx5IiB0aXRsZT0iQ2FyZGlvbWVnYWx5Ij5jYXJkaW9t
ZWdhbHk8L2E+ICh2aXNpYmxlIGVubGFyZ2VtZW50IG9mIHRoZSBoZWFydCksIHF1
YW50aWZpZWQgYXMgdGhlIDxpPmNhcmRpb3Rob3JhY2ljIHJhdGlvPC9pPiAocHJv
cG9ydGlvbiBvZiB0aGUgaGVhcnQgc2l6ZSB0byB0aGUgY2hlc3QpLiBJbiBsZWZ0
IHZlbnRyaWN1bGFyIGZhaWx1cmUsIHRoZXJlIG1heSBiZSBldmlkZW5jZSBvZiB2
YXNjdWxhciByZWRpc3RyaWJ1dGlvbiAoInVwcGVyIGxvYmUgYmxvb2QgZGl2ZXJz
aW9uIiBvciAiY2VwaGFsaXphdGlvbiIpLCA8YSBocmVmPSIvd2lraS9LZXJsZXlf
bGluZXMiIHRpdGxlPSJLZXJsZXkgbGluZXMiPktlcmxleSBsaW5lczwvYT4sIGN1
ZmZpbmcgb2YgdGhlIGFyZWFzIGFyb3VuZCB0aGUgPGEgaHJlZj0iL3dpa2kvQnJv
bmNoaSIgdGl0bGU9IkJyb25jaGkiIGNsYXNzPSJtdy1yZWRpcmVjdCI+YnJvbmNo
aTwvYT4sIGFuZCBpbnRlcnN0aXRpYWwgZWRlbWEuPC9wPgo8aDM+PHNwYW4gY2xh
c3M9ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhl
YXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTE5IiB0aXRs
ZT0iRWRpdCBzZWN0aW9uOiBFbGVjdHJvcGh5c2lvbG9neSI+ZWRpdDwvYT5dPC9z
cGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUiIGlkPSJFbGVjdHJvcGh5c2lv
bG9neSI+RWxlY3Ryb3BoeXNpb2xvZ3k8L3NwYW4+PC9oMz4KPHA+QW4gPGEgaHJl
Zj0iL3dpa2kvRWxlY3Ryb2NhcmRpb2dyYW0iIHRpdGxlPSJFbGVjdHJvY2FyZGlv
Z3JhbSIgY2xhc3M9Im13LXJlZGlyZWN0Ij5lbGVjdHJvY2FyZGlvZ3JhbTwvYT4g
KEVDRy9FS0cpIG1heSBiZSB1c2VkIHRvIGlkZW50aWZ5IGFycmh5dGhtaWFzLCA8
YSBocmVmPSIvd2lraS9Jc2NoZW1pY19oZWFydF9kaXNlYXNlIiB0aXRsZT0iSXNj
aGVtaWMgaGVhcnQgZGlzZWFzZSIgY2xhc3M9Im13LXJlZGlyZWN0Ij5pc2NoZW1p
YyBoZWFydCBkaXNlYXNlPC9hPiwgPGEgaHJlZj0iL3dpa2kvUmlnaHRfdmVudHJp
Y3VsYXJfaHlwZXJ0cm9waHkiIHRpdGxlPSJSaWdodCB2ZW50cmljdWxhciBoeXBl
cnRyb3BoeSI+cmlnaHQ8L2E+IGFuZCA8YSBocmVmPSIvd2lraS9MZWZ0X3ZlbnRy
aWN1bGFyX2h5cGVydHJvcGh5IiB0aXRsZT0iTGVmdCB2ZW50cmljdWxhciBoeXBl
cnRyb3BoeSI+bGVmdCB2ZW50cmljdWxhciBoeXBlcnRyb3BoeTwvYT4sIGFuZCBw
cmVzZW5jZSBvZiBjb25kdWN0aW9uIGRlbGF5IG9yIGFibm9ybWFsaXRpZXMgKGUu
Zy4gPGEgaHJlZj0iL3dpa2kvTGVmdF9idW5kbGVfYnJhbmNoX2Jsb2NrIiB0aXRs
ZT0iTGVmdCBidW5kbGUgYnJhbmNoIGJsb2NrIj5sZWZ0IGJ1bmRsZSBicmFuY2gg
YmxvY2s8L2E+KS4gQWx0aG91Z2ggdGhlc2UgZmluZGluZ3MgYXJlIG5vdCBzcGVj
aWZpYyB0byB0aGUgZGlhZ25vc2lzIG9mIGhlYXJ0IGZhaWx1cmUgYSBub3JtYWwg
RUNHIHZpcnR1YWxseSBleGNsdWRlcyBsZWZ0IHZlbnRyaWN1bGFyIHN5c3RvbGlj
IGR5c2Z1bmN0aW9uLjxzdXAgaWQ9ImNpdGVfcmVmLTMwIiBjbGFzcz0icmVmZXJl
bmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLTMwIj48c3Bhbj5bPC9zcGFuPjMxPHNw
YW4+XTwvc3Bhbj48L2E+PC9zdXA+PC9wPgo8aDM+PHNwYW4gY2xhc3M9ImVkaXRz
ZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1
cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTIwIiB0aXRsZT0iRWRpdCBz
ZWN0aW9uOiBCbG9vZCB0ZXN0cyI+ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFz
cz0ibXctaGVhZGxpbmUiIGlkPSJCbG9vZF90ZXN0cyI+Qmxvb2QgdGVzdHM8L3Nw
YW4+PC9oMz4KPHA+PGEgaHJlZj0iL3dpa2kvQmxvb2RfdGVzdCIgdGl0bGU9IkJs
b29kIHRlc3QiPkJsb29kIHRlc3RzPC9hPiByb3V0aW5lbHkgcGVyZm9ybWVkIGlu
Y2x1ZGUgPGEgaHJlZj0iL3dpa2kvRWxlY3Ryb2x5dGUiIHRpdGxlPSJFbGVjdHJv
bHl0ZSI+ZWxlY3Ryb2x5dGVzPC9hPiAoPGEgaHJlZj0iL3dpa2kvU29kaXVtIiB0
aXRsZT0iU29kaXVtIj5zb2RpdW08L2E+LCA8YSBocmVmPSIvd2lraS9Qb3Rhc3Np
dW0iIHRpdGxlPSJQb3Rhc3NpdW0iPnBvdGFzc2l1bTwvYT4pLCBtZWFzdXJlcyBv
ZiA8YSBocmVmPSIvd2lraS9SZW5hbF9mdW5jdGlvbiIgdGl0bGU9IlJlbmFsIGZ1
bmN0aW9uIj5yZW5hbCBmdW5jdGlvbjwvYT4sIDxhIGhyZWY9Ii93aWtpL0xpdmVy
X2Z1bmN0aW9uX3Rlc3RzIiB0aXRsZT0iTGl2ZXIgZnVuY3Rpb24gdGVzdHMiPmxp
dmVyIGZ1bmN0aW9uIHRlc3RzPC9hPiwgPGEgaHJlZj0iL3dpa2kvVGh5cm9pZF9m
dW5jdGlvbl90ZXN0IiB0aXRsZT0iVGh5cm9pZCBmdW5jdGlvbiB0ZXN0IiBjbGFz
cz0ibXctcmVkaXJlY3QiPnRoeXJvaWQgZnVuY3Rpb24gdGVzdHM8L2E+LCBhIDxh
IGhyZWY9Ii93aWtpL0NvbXBsZXRlX2Jsb29kX2NvdW50IiB0aXRsZT0iQ29tcGxl
dGUgYmxvb2QgY291bnQiPmNvbXBsZXRlIGJsb29kIGNvdW50PC9hPiwgYW5kIG9m
dGVuIDxhIGhyZWY9Ii93aWtpL0MtcmVhY3RpdmVfcHJvdGVpbiIgdGl0bGU9IkMt
cmVhY3RpdmUgcHJvdGVpbiI+Qy1yZWFjdGl2ZSBwcm90ZWluPC9hPiBpZiBpbmZl
Y3Rpb24gaXMgc3VzcGVjdGVkLiBBbiBlbGV2YXRlZCA8YSBocmVmPSIvd2lraS9C
cmFpbl9uYXRyaXVyZXRpY19wZXB0aWRlIiB0aXRsZT0iQnJhaW4gbmF0cml1cmV0
aWMgcGVwdGlkZSI+Qi10eXBlIG5hdHJpdXJldGljIHBlcHRpZGU8L2E+IChCTlAp
IGlzIGEgc3BlY2lmaWMgdGVzdCBpbmRpY2F0aXZlIG9mIGhlYXJ0IGZhaWx1cmUu
IEFkZGl0aW9uYWxseSwgQk5QIGNhbiBiZSB1c2VkIHRvIGRpZmZlcmVudGlhdGUg
YmV0d2VlbiBjYXVzZXMgb2YgZHlzcG5lYSBkdWUgdG8gaGVhcnQgZmFpbHVyZSBm
cm9tIG90aGVyIGNhdXNlcyBvZiBkeXNwbmVhLiBJZiBteW9jYXJkaWFsIGluZmFy
Y3Rpb24gaXMgc3VzcGVjdGVkLCB2YXJpb3VzIDxhIGhyZWY9Ii93aWtpL0NhcmRp
YWNfbWFya2VyIiB0aXRsZT0iQ2FyZGlhYyBtYXJrZXIiPmNhcmRpYWMgbWFya2Vy
czwvYT4gbWF5IGJlIHVzZWQuPC9wPgo8cD5BY2NvcmRpbmcgdG8gYSA8YSBocmVm
PSIvd2lraS9NZXRhLWFuYWx5c2lzIiB0aXRsZT0iTWV0YS1hbmFseXNpcyI+bWV0
YS1hbmFseXNpczwvYT4gY29tcGFyaW5nIEJOUCBhbmQgTi10ZXJtaW5hbCBwcm8t
Qk5QIChOVHByb0JOUCkgaW4gdGhlIGRpYWdub3NpcyBvZiBoZWFydCBmYWlsdXJl
LCBCTlAgaXMgYSBiZXR0ZXIgaW5kaWNhdG9yIGZvciBoZWFydCBmYWlsdXJlIGFu
ZCBsZWZ0IHZlbnRyaWN1bGFyIHN5c3RvbGljIGR5c2Z1bmN0aW9uLiBJbiBncm91
cHMgb2Ygc3ltcHRvbWF0aWMgcGF0aWVudHMsIGEgZGlhZ25vc3RpYyA8YSBocmVm
PSIvd2lraS9PZGRzX3JhdGlvIiB0aXRsZT0iT2RkcyByYXRpbyI+b2RkcyByYXRp
bzwvYT4gb2YgMjcgZm9yIEJOUCBjb21wYXJlcyB3aXRoIGEgPGEgaHJlZj0iL3dp
a2kvU2Vuc2l0aXZpdHkiIHRpdGxlPSJTZW5zaXRpdml0eSI+c2Vuc2l0aXZpdHk8
L2E+IG9mIDg1JSBhbmQgPGEgaHJlZj0iL3dpa2kvU3BlY2lmaWNpdHkiIHRpdGxl
PSJTcGVjaWZpY2l0eSI+c3BlY2lmaWNpdHk8L2E+IG9mIDg0JSBpbiBkZXRlY3Rp
bmcgaGVhcnQgZmFpbHVyZS48c3VwIGlkPSJjaXRlX3JlZi1wbWlkMTgyOTA4MjZf
MzEtMCIgY2xhc3M9InJlZmVyZW5jZSI+PGEgaHJlZj0iI2NpdGVfbm90ZS1wbWlk
MTgyOTA4MjYtMzEiPjxzcGFuPls8L3NwYW4+MzI8c3Bhbj5dPC9zcGFuPjwvYT48
L3N1cD48L3A+CjxoMz48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVm
PSIvdy9pbmRleC5waHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVk
aXQmYW1wO3NlY3Rpb249MjEiIHRpdGxlPSJFZGl0IHNlY3Rpb246IEFuZ2lvZ3Jh
cGh5Ij5lZGl0PC9hPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFkbGluZSIg
aWQ9IkFuZ2lvZ3JhcGh5Ij5Bbmdpb2dyYXBoeTwvc3Bhbj48L2gzPgo8cD5IZWFy
dCBmYWlsdXJlIG1heSBiZSB0aGUgcmVzdWx0IG9mIGNvcm9uYXJ5IGFydGVyeSBk
aXNlYXNlLCBhbmQgaXRzIHByb2dub3NpcyBkZXBlbmRzIGluIHBhcnQgb24gdGhl
IGFiaWxpdHkgb2YgdGhlIDxhIGhyZWY9Ii93aWtpL0Nvcm9uYXJ5X2FydGVyeSIg
dGl0bGU9IkNvcm9uYXJ5IGFydGVyeSIgY2xhc3M9Im13LXJlZGlyZWN0Ij5jb3Jv
bmFyeSBhcnRlcmllczwvYT4gdG8gc3VwcGx5IGJsb29kIHRvIHRoZSA8YSBocmVm
PSIvd2lraS9NeW9jYXJkaXVtIiB0aXRsZT0iTXlvY2FyZGl1bSIgY2xhc3M9Im13
LXJlZGlyZWN0Ij5teW9jYXJkaXVtPC9hPiAoaGVhcnQgbXVzY2xlKS4gQXMgYSBy
ZXN1bHQsIDxhIGhyZWY9Ii93aWtpL0Nvcm9uYXJ5X2NhdGhldGVyaXphdGlvbiIg
dGl0bGU9IkNvcm9uYXJ5IGNhdGhldGVyaXphdGlvbiI+Y29yb25hcnkgY2F0aGV0
ZXJpemF0aW9uPC9hPiBtYXkgYmUgdXNlZCB0byBpZGVudGlmeSBwb3NzaWJpbGl0
aWVzIGZvciByZXZhc2N1bGFyaXNhdGlvbiB0aHJvdWdoIDxhIGhyZWY9Ii93aWtp
L1BlcmN1dGFuZW91c19jb3JvbmFyeV9pbnRlcnZlbnRpb24iIHRpdGxlPSJQZXJj
dXRhbmVvdXMgY29yb25hcnkgaW50ZXJ2ZW50aW9uIj5wZXJjdXRhbmVvdXMgY29y
b25hcnkgaW50ZXJ2ZW50aW9uPC9hPiBvciA8YSBocmVmPSIvd2lraS9Db3JvbmFy
eV9hcnRlcnlfYnlwYXNzX3N1cmdlcnkiIHRpdGxlPSJDb3JvbmFyeSBhcnRlcnkg
YnlwYXNzIHN1cmdlcnkiPmJ5cGFzcyBzdXJnZXJ5PC9hPi48L3A+CjxoMz48c3Bh
biBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9pbmRleC5waHA/dGl0
bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1wO3NlY3Rpb249MjIi
IHRpdGxlPSJFZGl0IHNlY3Rpb246IE1vbml0b3JpbmciPmVkaXQ8L2E+XTwvc3Bh
bj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iTW9uaXRvcmluZyI+TW9u
aXRvcmluZzwvc3Bhbj48L2gzPgo8cD5WYXJpb3VzIG1lYXN1cmVzIGFyZSBvZnRl
biB1c2VkIHRvIGFzc2VzcyB0aGUgcHJvZ3Jlc3Mgb2YgcGF0aWVudHMgYmVpbmcg
dHJlYXRlZCBmb3IgaGVhcnQgZmFpbHVyZS4gVGhlc2UgaW5jbHVkZSA8YSBocmVm
PSIvd2lraS9GbHVpZF9iYWxhbmNlIiB0aXRsZT0iRmx1aWQgYmFsYW5jZSI+Zmx1
aWQgYmFsYW5jZTwvYT4gKGNhbGN1bGF0aW9uIG9mIGZsdWlkIGludGFrZSBhbmQg
ZXhjcmV0aW9uKSwgbW9uaXRvcmluZyA8YSBocmVmPSIvd2lraS9Cb2R5X3dlaWdo
dCIgdGl0bGU9IkJvZHkgd2VpZ2h0Ij5ib2R5IHdlaWdodDwvYT4gKHdoaWNoIGlu
IHRoZSBzaG9ydGVyIHRlcm0gcmVmbGVjdHMgZmx1aWQgc2hpZnRzKS48L3A+Cjxo
Mz48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9pbmRleC5w
aHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1wO3NlY3Rp
b249MjMiIHRpdGxlPSJFZGl0IHNlY3Rpb246IENyaXRlcmlhIj5lZGl0PC9hPl08
L3NwYW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFkbGluZSIgaWQ9IkNyaXRlcmlhIj5D
cml0ZXJpYTwvc3Bhbj48L2gzPgo8cD5CeSB0aGUgRnJhbWluZ2hhbSBjcml0ZXJp
YSwgZGlhZ25vc2lzIG9mIGNvbmdlc3RpdmUgaGVhcnQgZmFpbHVyZSAoaGVhcnQg
ZmFpbHVyZSB3aXRoIGltcGFpcmVkIHB1bXBpbmcgY2FwYWJpbGl0eSk8c3VwIGlk
PSJjaXRlX3JlZi1kb3JsYW5kc05pbmVfMTAtMSIgY2xhc3M9InJlZmVyZW5jZSI+
PGEgaHJlZj0iI2NpdGVfbm90ZS1kb3JsYW5kc05pbmUtMTAiPjxzcGFuPls8L3Nw
YW4+MTE8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD4gcmVxdWlyZXMgdGhlIHNpbXVs
dGFuZW91cyBwcmVzZW5jZSBvZiBhdCBsZWFzdCAyIG9mIHRoZSBmb2xsb3dpbmcg
bWFqb3IgY3JpdGVyaWEgb3IgMSBtYWpvciBjcml0ZXJpb24gaW4gY29uanVuY3Rp
b24gd2l0aCAyIG9mIHRoZSBmb2xsb3dpbmcgbWlub3IgY3JpdGVyaWE6PC9wPgo8
cD5NYWpvciBjcml0ZXJpYTo8c3VwIGlkPSJjaXRlX3JlZi1tZWRpY2FsY3JpdGVy
aWFfMzItMCIgY2xhc3M9InJlZmVyZW5jZSI+PGEgaHJlZj0iI2NpdGVfbm90ZS1t
ZWRpY2FsY3JpdGVyaWEtMzIiPjxzcGFuPls8L3NwYW4+MzM8c3Bhbj5dPC9zcGFu
PjwvYT48L3N1cD48L3A+Cjx1bD4KPGxpPjxhIGhyZWY9Ii93aWtpL0NhcmRpb21l
Z2FseSIgdGl0bGU9IkNhcmRpb21lZ2FseSI+Q2FyZGlvbWVnYWx5PC9hPiBvbiA8
YSBocmVmPSIvd2lraS9DaGVzdF9yYWRpb2dyYXBoeSIgdGl0bGU9IkNoZXN0IHJh
ZGlvZ3JhcGh5IiBjbGFzcz0ibXctcmVkaXJlY3QiPmNoZXN0IHJhZGlvZ3JhcGh5
PC9hPjwvbGk+CjxsaT5TMyBnYWxsb3AgKGEgPGEgaHJlZj0iL3dpa2kvVGhpcmRf
aGVhcnRfc291bmQiIHRpdGxlPSJUaGlyZCBoZWFydCBzb3VuZCI+dGhpcmQgaGVh
cnQgc291bmQ8L2E+KTwvbGk+CjxsaT48YSBocmVmPSIvd2lraS9BY3V0ZV9wdWxt
b25hcnlfZWRlbWEiIHRpdGxlPSJBY3V0ZSBwdWxtb25hcnkgZWRlbWEiIGNsYXNz
PSJtdy1yZWRpcmVjdCI+QWN1dGUgcHVsbW9uYXJ5IGVkZW1hPC9hPjwvbGk+Cjxs
aT48YSBocmVmPSIvd2lraS9QYXJveHlzbWFsX25vY3R1cm5hbF9keXNwbmVhIiB0
aXRsZT0iUGFyb3h5c21hbCBub2N0dXJuYWwgZHlzcG5lYSIgY2xhc3M9Im13LXJl
ZGlyZWN0Ij5QYXJveHlzbWFsIG5vY3R1cm5hbCBkeXNwbmVhPC9hPjwvbGk+Cjxs
aT48YSBocmVmPSIvd2lraS9DcmFja2xlcyIgdGl0bGU9IkNyYWNrbGVzIj5DcmFj
a2xlczwvYT4gb24gbHVuZyA8YSBocmVmPSIvd2lraS9BdXNjdWx0YXRpb24iIHRp
dGxlPSJBdXNjdWx0YXRpb24iPmF1c2N1bHRhdGlvbjwvYT48L2xpPgo8bGk+PGEg
aHJlZj0iL3dpa2kvQ2VudHJhbF92ZW5vdXNfcHJlc3N1cmUiIHRpdGxlPSJDZW50
cmFsIHZlbm91cyBwcmVzc3VyZSI+Q2VudHJhbCB2ZW5vdXMgcHJlc3N1cmU8L2E+
IG9mIG1vcmUgdGhhbiAxNiYjMTYwO2NtIEgyTyBhdCB0aGUgcmlnaHQgYXRyaXVt
PC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL0p1Z3VsYXJfdmVpbl9kaXN0ZW5zaW9u
IiB0aXRsZT0iSnVndWxhciB2ZWluIGRpc3RlbnNpb24iIGNsYXNzPSJtdy1yZWRp
cmVjdCI+SnVndWxhciB2ZWluIGRpc3RlbnNpb248L2E+PC9saT4KPGxpPlBvc2l0
aXZlIDxhIGhyZWY9Ii93aWtpL0FiZG9taW5vanVndWxhcl90ZXN0IiB0aXRsZT0i
QWJkb21pbm9qdWd1bGFyIHRlc3QiPmFiZG9taW5vanVndWxhciB0ZXN0PC9hPjwv
bGk+CjxsaT48YSBocmVmPSIvd2lraS9XZWlnaHRfbG9zcyIgdGl0bGU9IldlaWdo
dCBsb3NzIj5XZWlnaHQgbG9zczwvYT4gb2YgbW9yZSB0aGFuIDQuNSYjMTYwO2tn
IGluIDUgZGF5cyBpbiByZXNwb25zZSB0byB0cmVhdG1lbnQgKHNvbWV0aW1lcyBj
bGFzc2lmaWVkIGFzIGEgbWlub3IgY3JpdGVyaXVtPHN1cCBpZD0iY2l0ZV9yZWYt
MzMiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtMzMiPjxz
cGFuPls8L3NwYW4+MzQ8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD4pPC9saT4KPC91
bD4KPHA+TWlub3IgY3JpdGVyaWE6PHN1cCBpZD0iY2l0ZV9yZWYtbWVkaWNhbGNy
aXRlcmlhXzMyLTEiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25v
dGUtbWVkaWNhbGNyaXRlcmlhLTMyIj48c3Bhbj5bPC9zcGFuPjMzPHNwYW4+XTwv
c3Bhbj48L2E+PC9zdXA+PC9wPgo8dWw+CjxsaT48YSBocmVmPSIvd2lraS9UYWNo
eWNhcmRpYSIgdGl0bGU9IlRhY2h5Y2FyZGlhIj5UYWNoeWNhcmRpYTwvYT4gb2Yg
bW9yZSB0aGFuIDEyMCBiZWF0cyBwZXIgbWludXRlPC9saT4KPGxpPjxhIGhyZWY9
Ii93L2luZGV4LnBocD90aXRsZT1Ob2N0dXJuYWxfY291Z2gmYW1wO2FjdGlvbj1l
ZGl0JmFtcDtyZWRsaW5rPTEiIGNsYXNzPSJuZXciIHRpdGxlPSJOb2N0dXJuYWwg
Y291Z2ggKHBhZ2UgZG9lcyBub3QgZXhpc3QpIj5Ob2N0dXJuYWwgY291Z2g8L2E+
PC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL0R5c3BuZWEiIHRpdGxlPSJEeXNwbmVh
Ij5EeXNwbmVhPC9hPiBvbiBvcmRpbmFyeSBleGVydGlvbjwvbGk+CjxsaT48YSBo
cmVmPSIvd2lraS9QbGV1cmFsX2VmZnVzaW9uIiB0aXRsZT0iUGxldXJhbCBlZmZ1
c2lvbiI+UGxldXJhbCBlZmZ1c2lvbjwvYT48L2xpPgo8bGk+RGVjcmVhc2UgaW4g
PGEgaHJlZj0iL3dpa2kvVml0YWxfY2FwYWNpdHkiIHRpdGxlPSJWaXRhbCBjYXBh
Y2l0eSI+dml0YWwgY2FwYWNpdHk8L2E+IGJ5IG9uZSB0aGlyZCBmcm9tIG1heGlt
dW0gcmVjb3JkZWQ8L2xpPgo8bGk+PGEgaHJlZj0iL3dpa2kvSGVwYXRvbWVnYWx5
IiB0aXRsZT0iSGVwYXRvbWVnYWx5Ij5IZXBhdG9tZWdhbHk8L2E+PC9saT4KPGxp
PkJpbGF0ZXJhbCA8YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9QW5rbGVfZWRl
bWEmYW1wO2FjdGlvbj1lZGl0JmFtcDtyZWRsaW5rPTEiIGNsYXNzPSJuZXciIHRp
dGxlPSJBbmtsZSBlZGVtYSAocGFnZSBkb2VzIG5vdCBleGlzdCkiPmFua2xlIGVk
ZW1hPC9hPjwvbGk+CjwvdWw+CjxwPk1pbm9yIGNyaXRlcmlhIGFyZSBhY2NlcHRh
YmxlIG9ubHkgaWYgdGhleSBjYW4gbm90IGJlIGF0dHJpYnV0ZWQgdG8gYW5vdGhl
ciBtZWRpY2FsIGNvbmRpdGlvbiBzdWNoIGFzIHB1bG1vbmFyeSBoeXBlcnRlbnNp
b24sIGNocm9uaWMgbHVuZyBkaXNlYXNlLCBjaXJyaG9zaXMsIGFzY2l0ZXMsIG9y
IHRoZSBuZXBocm90aWMgc3luZHJvbWUuPHN1cCBpZD0iY2l0ZV9yZWYtbWVkaWNh
bGNyaXRlcmlhXzMyLTIiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRl
X25vdGUtbWVkaWNhbGNyaXRlcmlhLTMyIj48c3Bhbj5bPC9zcGFuPjMzPHNwYW4+
XTwvc3Bhbj48L2E+PC9zdXA+IFRoZSBGcmFtaW5naGFtIEhlYXJ0IFN0dWR5IGNy
aXRlcmlhIGFyZSAxMDAlIHNlbnNpdGl2ZSBhbmQgNzglIHNwZWNpZmljIGZvciBp
ZGVudGlmeWluZyBwZXJzb25zIHdpdGggZGVmaW5pdGUgY29uZ2VzdGl2ZSBoZWFy
dCBmYWlsdXJlLjxzdXAgaWQ9ImNpdGVfcmVmLW1lZGljYWxjcml0ZXJpYV8zMi0z
IiBjbGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLW1lZGljYWxj
cml0ZXJpYS0zMiI+PHNwYW4+Wzwvc3Bhbj4zMzxzcGFuPl08L3NwYW4+PC9hPjwv
c3VwPjwvcD4KPGgyPjxzcGFuIGNsYXNzPSJlZGl0c2VjdGlvbiI+WzxhIGhyZWY9
Ii93L2luZGV4LnBocD90aXRsZT1IZWFydF9mYWlsdXJlJmFtcDthY3Rpb249ZWRp
dCZhbXA7c2VjdGlvbj0yNCIgdGl0bGU9IkVkaXQgc2VjdGlvbjogTWFuYWdlbWVu
dCI+ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUiIGlk
PSJNYW5hZ2VtZW50Ij5NYW5hZ2VtZW50PC9zcGFuPjwvaDI+CjxkaXYgY2xhc3M9
InJlbGxpbmsgcmVsYXJ0aWNsZSBtYWluYXJ0aWNsZSI+TWFpbiBhcnRpY2xlOiA8
YSBocmVmPSIvd2lraS9NYW5hZ2VtZW50X29mX2hlYXJ0X2ZhaWx1cmUiIHRpdGxl
PSJNYW5hZ2VtZW50IG9mIGhlYXJ0IGZhaWx1cmUiPk1hbmFnZW1lbnQgb2YgaGVh
cnQgZmFpbHVyZTwvYT48L2Rpdj4KPHA+VHJlYXRtZW50IGZvY3VzZXMgb24gaW1w
cm92aW5nIHRoZSBzeW1wdG9tcyBhbmQgcHJldmVudGluZyB0aGUgcHJvZ3Jlc3Np
b24gb2YgdGhlIGRpc2Vhc2UuIFJldmVyc2libGUgY2F1c2VzIG9mIHRoZSBoZWFy
dCBmYWlsdXJlIGFsc28gbmVlZCB0byBiZSBhZGRyZXNzZWQ6IChlLmcuIDxhIGhy
ZWY9Ii93aWtpL0luZmVjdGlvbiIgdGl0bGU9IkluZmVjdGlvbiI+aW5mZWN0aW9u
PC9hPiwgPGEgaHJlZj0iL3dpa2kvQWxjb2hvbCIgdGl0bGU9IkFsY29ob2wiPmFs
Y29ob2w8L2E+IGluZ2VzdGlvbiwgYW5lbWlhLCA8YSBocmVmPSIvd2lraS9UaHly
b3RveGljb3NpcyIgdGl0bGU9IlRoeXJvdG94aWNvc2lzIiBjbGFzcz0ibXctcmVk
aXJlY3QiPnRoeXJvdG94aWNvc2lzPC9hPiwgPGEgaHJlZj0iL3dpa2kvQXJyaHl0
aG1pYSIgdGl0bGU9IkFycmh5dGhtaWEiIGNsYXNzPSJtdy1yZWRpcmVjdCI+YXJy
aHl0aG1pYTwvYT4sIGh5cGVydGVuc2lvbikuIFRyZWF0bWVudHMgaW5jbHVkZSBs
aWZlc3R5bGUgYW5kIHBoYXJtYWNvbG9naWNhbCBtb2RhbGl0aWVzLjwvcD4KPGgz
PjxzcGFuIGNsYXNzPSJlZGl0c2VjdGlvbiI+WzxhIGhyZWY9Ii93L2luZGV4LnBo
cD90aXRsZT1IZWFydF9mYWlsdXJlJmFtcDthY3Rpb249ZWRpdCZhbXA7c2VjdGlv
bj0yNSIgdGl0bGU9IkVkaXQgc2VjdGlvbjogQWN1dGUgZGVjb21wZW5zYXRpb24i
PmVkaXQ8L2E+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0i
QWN1dGVfZGVjb21wZW5zYXRpb24iPkFjdXRlIGRlY29tcGVuc2F0aW9uPC9zcGFu
PjwvaDM+CjxkaXYgY2xhc3M9InJlbGxpbmsgcmVsYXJ0aWNsZSBtYWluYXJ0aWNs
ZSI+TWFpbiBhcnRpY2xlOiA8YSBocmVmPSIvd2lraS9BY3V0ZV9kZWNvbXBlbnNh
dGVkX2hlYXJ0X2ZhaWx1cmUiIHRpdGxlPSJBY3V0ZSBkZWNvbXBlbnNhdGVkIGhl
YXJ0IGZhaWx1cmUiPkFjdXRlIGRlY29tcGVuc2F0ZWQgaGVhcnQgZmFpbHVyZTwv
YT48L2Rpdj4KPHA+SW4gPGEgaHJlZj0iL3dpa2kvQWN1dGVfZGVjb21wZW5zYXRl
ZF9oZWFydF9mYWlsdXJlIiB0aXRsZT0iQWN1dGUgZGVjb21wZW5zYXRlZCBoZWFy
dCBmYWlsdXJlIj5hY3V0ZSBkZWNvbXBlbnNhdGVkIGhlYXJ0IGZhaWx1cmU8L2E+
IChBREhGKSwgdGhlIGltbWVkaWF0ZSBnb2FsIGlzIHRvIHJlLWVzdGFibGlzaCBh
ZGVxdWF0ZSBwZXJmdXNpb24gYW5kIG94eWdlbiBkZWxpdmVyeSB0byBlbmQgb3Jn
YW5zLiBUaGlzIGVudGFpbHMgZW5zdXJpbmcgdGhhdCA8YSBocmVmPSIvd2lraS9B
QkNfKG1lZGljaW5lKSIgdGl0bGU9IkFCQyAobWVkaWNpbmUpIj5haXJ3YXksIGJy
ZWF0aGluZywgYW5kIGNpcmN1bGF0aW9uPC9hPiBhcmUgYWRlcXVhdGUuIEltbWVk
aWF0ZWQgdHJlYXRtZW50cyB1c3VhbGx5IGludm9sdmUgc29tZSBjb21iaW5hdGlv
biBvZiB2YXNvZGlsYXRvcnMgc3VjaCBhcyBuaXRyb2dseWNlcmluLCBkaXVyZXRp
Y3Mgc3VjaCBhcyBmdXJvc2VtaWRlLCBhbmQgcG9zc2libHkgPGEgaHJlZj0iL3dp
a2kvTm9uX2ludmFzaXZlX3Bvc2l0aXZlX3ByZXNzdXJlX3ZlbnRpbGF0aW9uIiB0
aXRsZT0iTm9uIGludmFzaXZlIHBvc2l0aXZlIHByZXNzdXJlIHZlbnRpbGF0aW9u
IiBjbGFzcz0ibXctcmVkaXJlY3QiPm5vbiBpbnZhc2l2ZSBwb3NpdGl2ZSBwcmVz
c3VyZSB2ZW50aWxhdGlvbjwvYT4gKE5JUFBWKS48L3A+CjxoMz48c3BhbiBjbGFz
cz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9SGVh
cnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1wO3NlY3Rpb249MjYiIHRpdGxl
PSJFZGl0IHNlY3Rpb246IENocm9uaWMgbWFuYWdlbWVudCI+ZWRpdDwvYT5dPC9z
cGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUiIGlkPSJDaHJvbmljX21hbmFn
ZW1lbnQiPkNocm9uaWMgbWFuYWdlbWVudDwvc3Bhbj48L2gzPgo8cD5UaGUgZ29h
bCBpcyB0byBwcmV2ZW50IHRoZSBkZXZlbG9wbWVudCBvZiBhY3V0ZSBkZWNvbXBl
bnNhdGVkIGhlYXJ0IGZhaWx1cmUsIHRvIGNvdW50ZXJhY3QgdGhlIGRlbGV0ZXJp
b3VzIGVmZmVjdHMgb2YgY2FyZGlhYyByZW1vZGVsaW5nLCBhbmQgdG8gbWluaW1p
emUgdGhlIHN5bXB0b21zIHRoYXQgdGhlIHBhdGllbnQgc3VmZmVycy4gRmlyc3Qt
bGluZSB0aGVyYXB5IGZvciBhbGwgaGVhcnQgZmFpbHVyZSBwYXRpZW50cyBpcyBh
bmdpb3RlbnNpbi1jb252ZXJ0aW5nIGVuenltZSAoQUNFKSBpbmhpYml0aW9uLiA8
YSBocmVmPSIvd2lraS9BQ0VfaW5oaWJpdG9yIiB0aXRsZT0iQUNFIGluaGliaXRv
ciI+QUNFIGluaGliaXRvcnM8L2E+IChpLmUuLCA8YSBocmVmPSIvd2lraS9FbmFs
YXByaWwiIHRpdGxlPSJFbmFsYXByaWwiPmVuYWxhcHJpbDwvYT4sIDxhIGhyZWY9
Ii93aWtpL0NhcHRvcHJpbCIgdGl0bGU9IkNhcHRvcHJpbCI+Y2FwdG9wcmlsPC9h
PiwgPGEgaHJlZj0iL3dpa2kvTGlzaW5vcHJpbCIgdGl0bGU9Ikxpc2lub3ByaWwi
Pmxpc2lub3ByaWw8L2E+LCA8YSBocmVmPSIvd2lraS9SYW1pcHJpbCIgdGl0bGU9
IlJhbWlwcmlsIj5yYW1pcHJpbDwvYT4pIGltcHJvdmUgc3Vydml2YWwgYW5kIHF1
YWxpdHkgb2YgbGlmZSBpbiBoZWFydCBmYWlsdXJlIHBhdGllbnRzLCBhbmQgaGF2
ZSBiZWVuIHNob3duIHRvIHJlZHVjZSBtb3J0YWxpdHkgaW4gcGF0aWVudHMgd2l0
aCBsZWZ0IHZlbnRyaWN1bGFyIGR5c2Z1bmN0aW9uIGluIG51bWVyb3VzIHJhbmRv
bWl6ZWQgdHJpYWxzLjxzdXAgaWQ9ImNpdGVfcmVmLUNPTlNFTlNVU18zNC0wIiBj
bGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLUNPTlNFTlNVUy0z
NCI+PHNwYW4+Wzwvc3Bhbj4zNTxzcGFuPl08L3NwYW4+PC9hPjwvc3VwPjxzdXAg
aWQ9ImNpdGVfcmVmLVNPTFZEXzM1LTAiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhy
ZWY9IiNjaXRlX25vdGUtU09MVkQtMzUiPjxzcGFuPls8L3NwYW4+MzY8c3Bhbj5d
PC9zcGFuPjwvYT48L3N1cD4gSW4gYWRkaXRpb24gdG8gcGhhcm1hY29sb2dpYyBh
Z2VudHMgKG9yYWwgbG9vcCBkaXVyZXRpY3MsIDxhIGhyZWY9Ii93aWtpL0JldGEt
YmxvY2tlcnMiIHRpdGxlPSJCZXRhLWJsb2NrZXJzIiBjbGFzcz0ibXctcmVkaXJl
Y3QiPmJldGEtYmxvY2tlcnM8L2E+LCBBQ0UgaW5oaWJpdG9ycyBvciA8YSBocmVm
PSIvd2lraS9Bbmdpb3RlbnNpbiIgdGl0bGU9IkFuZ2lvdGVuc2luIj5hbmdpb3Rl
bnNpbjwvYT4gcmVjZXB0b3IgYmxvY2tlcnMsIHZhc29kaWxhdG9ycywgYW5kIGlu
IHNldmVyZSBjYXJkaW9teW9wYXRoeSA8YSBocmVmPSIvd2lraS9BbGRvc3Rlcm9u
ZV9hbnRhZ29uaXN0IiB0aXRsZT0iQWxkb3N0ZXJvbmUgYW50YWdvbmlzdCI+YWxk
b3N0ZXJvbmUgcmVjZXB0b3IgYW50YWdvbmlzdHM8L2E+KSwgYmVoYXZpb3JhbCBt
b2RpZmljYXRpb24gc2hvdWxkIGJlIHB1cnN1ZWQsIHNwZWNpZmljYWxseSB3aXRo
IHJlZ2FyZHMgdG8gZGlldGFyeSBndWlkZWxpbmVzIHJlZ2FyZGluZyBzYWx0IGFu
ZCBmbHVpZCBpbnRha2UuIEV4ZXJjaXNlIHNob3VsZCBiZSBlbmNvdXJhZ2VkIGFz
IHRvbGVyYXRlZCwgYXMgc3VmZmljaWVudCBjb25kaXRpb25pbmcgY2FuIHNpZ25p
ZmljYW50bHkgaW1wcm92ZSBxdWFsaXR5LW9mLWxpZmUuPC9wPgo8cD5JbiBwYXRp
ZW50cyB3aXRoIHNldmVyZSBjYXJkaW9teW9wYXRoeSwgaW1wbGFudGF0aW9uIG9m
IGFuIDxhIGhyZWY9Ii93aWtpL0ltcGxhbnRhYmxlX2NhcmRpb3ZlcnRlci1kZWZp
YnJpbGxhdG9yIiB0aXRsZT0iSW1wbGFudGFibGUgY2FyZGlvdmVydGVyLWRlZmli
cmlsbGF0b3IiPmF1dG9tYXRpYyBpbXBsYW50YWJsZSBjYXJkaW92ZXJ0ZXIgZGVm
aWJyaWxsYXRvcjwvYT4oQUlDRCkgc2hvdWxkIGJlIGNvbnNpZGVyZWQuIEEgc2Vs
ZWN0IHBvcHVsYXRpb24gd2lsbCBhbHNvIHByb2JhYmx5IGJlbmVmaXQgZnJvbSA8
YSBocmVmPSIvd2lraS9BcnRpZmljaWFsX3BhY2VtYWtlciNCaXZlbnRyaWN1bGFy
X1BhY2luZ18uMjhCVlAuMjkiIHRpdGxlPSJBcnRpZmljaWFsIHBhY2VtYWtlciI+
dmVudHJpY3VsYXIgcmVzeW5jaHJvbml6YXRpb248L2E+LjwvcD4KPHA+SW4gc2Vs
ZWN0IGNhc2VzLCA8YSBocmVmPSIvd2lraS9DYXJkaWFjX3RyYW5zcGxhbnRhdGlv
biIgdGl0bGU9IkNhcmRpYWMgdHJhbnNwbGFudGF0aW9uIiBjbGFzcz0ibXctcmVk
aXJlY3QiPmNhcmRpYWMgdHJhbnNwbGFudGF0aW9uPC9hPiBjYW4gYmUgY29uc2lk
ZXJlZC4gV2hpbGUgdGhpcyBtYXkgcmVzb2x2ZSB0aGUgcHJvYmxlbXMgYXNzb2Np
YXRlZCB3aXRoIGhlYXJ0IGZhaWx1cmUsIHRoZSBwYXRpZW50IGdlbmVyYWxseSBt
dXN0IHJlbWFpbiBvbiBhbiBpbW11bm9zdXBwcmVzc2l2ZSByZWdpbWVuIHRvIHBy
ZXZlbnQgcmVqZWN0aW9uLCB3aGljaCBoYXMgaXRzIG93biBzaWduaWZpY2FudCBk
b3duc2lkZXMuPC9wPgo8aDM+PHNwYW4gY2xhc3M9ImVkaXRzZWN0aW9uIj5bPGEg
aHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlv
bj1lZGl0JmFtcDtzZWN0aW9uPTI3IiB0aXRsZT0iRWRpdCBzZWN0aW9uOiBQYWxs
aWF0aXZlIGNhcmUgYW5kIGhvc3BpY2UiPmVkaXQ8L2E+XTwvc3Bhbj4gPHNwYW4g
Y2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iUGFsbGlhdGl2ZV9jYXJlX2FuZF9ob3Nw
aWNlIj5QYWxsaWF0aXZlIGNhcmUgYW5kIGhvc3BpY2U8L3NwYW4+PC9oMz4KPHA+
V2l0aG91dCB0cmFuc3BsYW50YXRpb24sIGhlYXJ0IGZhaWx1cmUgY2F1c2VkIGJ5
IGlzY2hlbWljIGhlYXJ0IGRpc2Vhc2UgaXMgbm90IHJldmVyc2libGUsIGFuZCBj
YXJkaWFjIGZ1bmN0aW9uIHR5cGljYWxseSBkZXRlcmlvcmF0ZXMgd2l0aCB0aW1l
LiAoSW4gcGFydGljdWxhciwgZGlhc3RvbGljIGZ1bmN0aW9uIHdvcnNlbnMgYXMg
YSBmdW5jdGlvbiBvZiBhZ2UgZXZlbiBpbiBpbmRpdmlkdWFscyB3aXRob3V0IGlz
Y2hlbWljIGhlYXJ0IGRpc2Vhc2UuKSBUaGUgZ3Jvd2luZyBudW1iZXIgb2YgcGF0
aWVudHMgd2l0aCBTdGFnZSBEIGhlYXJ0IGZhaWx1cmUgKGludHJhY3RhYmxlIHN5
bXB0b21zIG9mIGZhdGlndWUsIHNob3J0bmVzcyBvZiBicmVhdGggb3IgY2hlc3Qg
cGFpbiBhdCByZXN0IGRlc3BpdGUgb3B0aW1hbCBtZWRpY2FsIHRoZXJhcHkpIHNo
b3VsZCBiZSBjb25zaWRlcmVkIGZvciBwYWxsaWF0aXZlIGNhcmUgb3IgaG9zcGlj
ZSwgYWNjb3JkaW5nIHRvIEFtZXJpY2FuIENvbGxlZ2Ugb2YgQ2FyZGlvbG9neS9B
bWVyaWNhbiBIZWFydCBBc3NvY2lhdGlvbiBndWlkZWxpbmVzLjwvcD4KPGgyPjxz
cGFuIGNsYXNzPSJlZGl0c2VjdGlvbiI+WzxhIGhyZWY9Ii93L2luZGV4LnBocD90
aXRsZT1IZWFydF9mYWlsdXJlJmFtcDthY3Rpb249ZWRpdCZhbXA7c2VjdGlvbj0y
OCIgdGl0bGU9IkVkaXQgc2VjdGlvbjogUHJvZ25vc2lzIj5lZGl0PC9hPl08L3Nw
YW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFkbGluZSIgaWQ9IlByb2dub3NpcyI+UHJv
Z25vc2lzPC9zcGFuPjwvaDI+CjxwPlByb2dub3NpcyBpbiBoZWFydCBmYWlsdXJl
IGNhbiBiZSBhc3Nlc3NlZCBpbiBtdWx0aXBsZSB3YXlzIGluY2x1ZGluZyBjbGlu
aWNhbCBwcmVkaWN0aW9uIHJ1bGVzIGFuZCBjYXJkaW9wdWxtb25hcnkgZXhlcmNp
c2UgdGVzdGluZy4gQ2xpbmljYWwgcHJlZGljdGlvbiBydWxlcyB1c2UgYSBjb21w
b3NpdGUgb2YgY2xpbmljYWwgZmFjdG9ycyBzdWNoIGFzIGxhYiB0ZXN0cyBhbmQg
Ymxvb2QgcHJlc3N1cmUgdG8gZXN0aW1hdGUgcHJvZ25vc2lzLiBBbW9uZyBzZXZl
cmFsIDxhIGhyZWY9Ii93aWtpL0NsaW5pY2FsX3ByZWRpY3Rpb25fcnVsZSIgdGl0
bGU9IkNsaW5pY2FsIHByZWRpY3Rpb24gcnVsZSI+Y2xpbmljYWwgcHJlZGljdGlv
biBydWxlczwvYT4gZm9yIHByb2dub3NpbmcgYWN1dGUgaGVhcnQgZmFpbHVyZSwg
dGhlICdFRkZFQ1QgcnVsZScgc2xpZ2h0bHkgb3V0cGVyZm9ybWVkIG90aGVyIHJ1
bGVzIGluIHN0cmF0aWZ5aW5nIHBhdGllbnRzIGFuZCBpZGVudGlmeWluZyB0aG9z
ZSBhdCBsb3cgcmlzayBvZiBkZWF0aCBkdXJpbmcgaG9zcGl0YWxpemF0aW9uIG9y
IHdpdGhpbiAzMCBkYXlzLjxzdXAgaWQ9ImNpdGVfcmVmLXBtaWQxNzQ0OTE0MV8z
Ni0wIiBjbGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLXBtaWQx
NzQ0OTE0MS0zNiI+PHNwYW4+Wzwvc3Bhbj4zNzxzcGFuPl08L3NwYW4+PC9hPjwv
c3VwPiBFYXN5IG1ldGhvZHMgZm9yIGlkZW50aWZ5aW5nIGxvdyByaXNrIHBhdGll
bnRzIGFyZTo8L3A+Cjx1bD4KPGxpPkFESEVSRSBUcmVlIHJ1bGUgaW5kaWNhdGVz
IHRoYXQgcGF0aWVudHMgd2l0aCA8YSBocmVmPSIvd2lraS9CbG9vZF91cmVhX25p
dHJvZ2VuIiB0aXRsZT0iQmxvb2QgdXJlYSBuaXRyb2dlbiI+Ymxvb2QgdXJlYSBu
aXRyb2dlbjwvYT4gJmx0OyA0MyYjMTYwO21nL2RsIGFuZCA8YSBocmVmPSIvd2lr
aS9TeXN0b2xpY19ibG9vZF9wcmVzc3VyZSIgdGl0bGU9IlN5c3RvbGljIGJsb29k
IHByZXNzdXJlIiBjbGFzcz0ibXctcmVkaXJlY3QiPnN5c3RvbGljIGJsb29kIHBy
ZXNzdXJlPC9hPiBhdCBsZWFzdCAxMTUmIzE2MDttbSBIZyBoYXZlIGxlc3MgdGhh
biAxMCUgY2hhbmNlIG9mIGlucGF0aWVudCBkZWF0aCBvciBjb21wbGljYXRpb25z
LjwvbGk+CjxsaT5CV0ggcnVsZSBpbmRpY2F0ZXMgdGhhdCBwYXRpZW50cyB3aXRo
IHN5c3RvbGljIGJsb29kIHByZXNzdXJlIG92ZXIgOTAmIzE2MDttbSBIZywgcmVz
cGlyYXRvcnkgcmF0ZSBvZiAzMCBvciBsZXNzIGJyZWF0aHMgcGVyIG1pbnV0ZSwg
c2VydW0gc29kaXVtIG92ZXIgMTM1JiMxNjA7bW1vbC9MLCBubyBuZXcgU1QtVCB3
YXZlIGNoYW5nZXMgaGF2ZSBsZXNzIHRoYW4gMTAlIGNoYW5jZSBvZiBpbnBhdGll
bnQgZGVhdGggb3IgY29tcGxpY2F0aW9ucy48L2xpPgo8L3VsPgo8cD5BIHZlcnkg
aW1wb3J0YW50IG1ldGhvZCBmb3IgYXNzZXNzaW5nIHByb2dub3NpcyBpbiBhZHZh
bmNlZCBoZWFydCBmYWlsdXJlIHBhdGllbnRzIGlzIGNhcmRpb3B1bG1vbmFyeSBl
eGVyY2lzZSB0ZXN0aW5nIChDUFggdGVzdGluZykuIENQWCB0ZXN0aW5nIGlzIHVz
dWFsbHkgcmVxdWlyZWQgcHJpb3IgdG8gaGVhcnQgdHJhbnNwbGFudGF0aW9uIGFz
IGFuIGluZGljYXRvciBvZiBwcm9nbm9zaXMuIENhcmRpb3B1bG1vbmFyeSBleGVy
Y2lzZSB0ZXN0aW5nIGludm9sdmVzIG1lYXN1cmVtZW50IG9mIGV4aGFsZWQgb3h5
Z2VuIGFuZCBjYXJib24gZGlveGlkZSBkdXJpbmcgZXhlcmNpc2UuIFRoZSBwZWFr
IG94eWdlbiBjb25zdW1wdGlvbiAoVk8yIG1heCkgaXMgdXNlZCBhcyBhbiBpbmRp
Y2F0b3Igb2YgcHJvZ25vc2lzLiBBcyBhIGdlbmVyYWwgcnVsZSwgYSBWTzIgbWF4
IGxlc3MgdGhhbiAxMi0xNCBjYy9rZy9taW4gaW5kaWNhdGVzIGEgcG9vciBzdXJ2
aXZhbCBhbmQgc3VnZ2VzdHMgdGhhdCB0aGUgcGF0aWVudCBtYXkgYmUgYSBjYW5k
aWRhdGUgZm9yIGEgaGVhcnQgdHJhbnNwbGFudC4gUGF0aWVudHMgd2l0aCBhIFZP
MiBtYXgmbHQ7MTAgY2Mva2cvbWluIGhhdmUgY2xlYXJseSBwb29yZXIgcHJvZ25v
c2lzLiBUaGUgbW9zdCByZWNlbnQgSW50ZXJuYXRpb25hbCBTb2NpZXR5IGZvciBI
ZWFydCBhbmQgTHVuZyBUcmFuc3BsYW50YXRpb24gKElTSExUKSBndWlkZWxpbmVz
PHN1cCBpZD0iY2l0ZV9yZWYtMzciIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9
IiNjaXRlX25vdGUtMzciPjxzcGFuPls8L3NwYW4+Mzg8c3Bhbj5dPC9zcGFuPjwv
YT48L3N1cD4gYWxzbyBzdWdnZXN0IHR3byBvdGhlciBwYXJhbWV0ZXJzIHRoYXQg
Y2FuIGJlIHVzZWQgZm9yIGV2YWx1YXRpb24gb2YgcHJvZ25vc2lzIGluIGFkdmFu
Y2VkIGhlYXJ0IGZhaWx1cmUsIHRoZSBoZWFydCBmYWlsdXJlIHN1cnZpdmFsIHNj
b3JlIGFuZCB0aGUgdXNlIG9mIGEgY3JpdGVyaW9uIG9mIFZFL1ZDTzIgc2xvcGUg
Jmd0OyAzNSBmcm9tIHRoZSBDUFggdGVzdC4gVGhlIGhlYXJ0IGZhaWx1cmUgc3Vy
dml2YWwgc2NvcmUgaXMgYSBzY29yZSBjYWxjdWxhdGVkIHVzaW5nIGEgY29tYmlu
YXRpb24gb2YgY2xpbmljYWwgcHJlZGljdG9ycyBhbmQgdGhlIFZPMiBtYXggZnJv
bSB0aGUgY2FyZGlvcHVsbW9uYXJ5IGV4ZXJjaXNlIHRlc3QuPC9wPgo8aDI+PHNw
YW4gY2xhc3M9ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3Rp
dGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTI5
IiB0aXRsZT0iRWRpdCBzZWN0aW9uOiBFcGlkZW1pb2xvZ3kiPmVkaXQ8L2E+XTwv
c3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iRXBpZGVtaW9sb2d5
Ij5FcGlkZW1pb2xvZ3k8L3NwYW4+PC9oMj4KPHRhYmxlIGNsYXNzPSJtZXRhZGF0
YSBwbGFpbmxpbmtzIGFtYm94IG1ib3gtc21hbGwtbGVmdCBhbWJveC1ub3RpY2Ui
IHN0eWxlPSIiPgo8dHI+Cjx0ZCBjbGFzcz0ibWJveC1pbWFnZSI+PGEgaHJlZj0i
L3dpa2kvRmlsZTpXaWtpX2xldHRlcl93LnN2ZyIgY2xhc3M9ImltYWdlIj48aW1n
IGFsdD0iV2lraSBsZXR0ZXIgdy5zdmciIHNyYz0iaHR0cDovL3VwbG9hZC53aWtp
bWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzYvNmMvV2lraV9sZXR0
ZXJfdy5zdmcvMjBweC1XaWtpX2xldHRlcl93LnN2Zy5wbmciIHdpZHRoPSIyMCIg
aGVpZ2h0PSIyMCIgLz48L2E+PC90ZD4KPHRkIGNsYXNzPSJtYm94LXRleHQiIHN0
eWxlPSIiPlRoaXMgc2VjdGlvbiByZXF1aXJlcyA8YSBocmVmPSJodHRwOi8vZW4u
d2lraXBlZGlhLm9yZy93L2luZGV4LnBocD90aXRsZT1IZWFydF9mYWlsdXJlJmFt
cDthY3Rpb249ZWRpdCIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xs
b3ciPmV4cGFuc2lvbjwvYT4uPC90ZD4KPC90cj4KPC90YWJsZT4KPHA+SGVhcnQg
ZmFpbHVyZSBpcyB0aGUgbGVhZGluZyBjYXVzZSBvZiBob3NwaXRhbGl6YXRpb24g
aW4gcGVvcGxlIG9sZGVyIHRoYW4gNjUuPHN1cCBpZD0iY2l0ZV9yZWYtMzgiIGNs
YXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNjaXRlX25vdGUtMzgiPjxzcGFuPls8
L3NwYW4+Mzk8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD4gSW4gZGV2ZWxvcGVkIGNv
dW50cmllcywgdGhlIG1lYW4gYWdlIG9mIHBhdGllbnRzIHdpdGggaGVhcnQgZmFp
bHVyZSBpcyA3NSB5ZWFycyBvbGQuIEluIGRldmVsb3BpbmcgY291bnRyaWVzLCB0
d28gdG8gdGhyZWUgcGVyY2VudCBvZiB0aGUgcG9wdWxhdGlvbiBzdWZmZXJzIGZy
b20gaGVhcnQgZmFpbHVyZSwgYnV0IGluIHRob3NlIDcwIHRvIDgwIHllYXJzIG9s
ZCwgaXQgb2NjdXJzIGluIDIw4oCUMzAgcGVyY2VudC48L3A+CjxwPkhlYXJ0IGZh
aWx1cmUgYWZmZWN0cyBjbG9zZSB0byA1IG1pbGxpb24gcGVvcGxlIGluIHRoZSBV
U0EgYW5kIGVhY2ggeWVhciBjbG9zZSB0byA1MDAsMDAwIG5ldyBjYXNlcyBhcmUg
ZGlhZ25vc2VkLiBXaGF0IGlzIG9mIG1vcmUgY29uY2VybiBpcyB0aGF0IG1vcmUg
dGhhbiA1MCUgb2YgcGF0aWVudHMgc2VlayByZS1hZG1pc3Npb24gd2l0aGluIDYg
bW9udGhzIGFmdGVyIHRyZWF0bWVudCBhbmQgdGhlIGF2ZXJhZ2UgZHVyYXRpb24g
b2YgaG9zcGl0YWwgc3RheSBpcyA2IGRheXMuPC9wPgo8cD5JbiB0cm9waWNhbCBj
b3VudHJpZXMsIHRoZSBtb3N0IGNvbW1vbiBjYXVzZSBvZiBIRiBpcyA8YSBocmVm
PSIvd2lraS9WYWx2dWxhcl9oZWFydF9kaXNlYXNlIiB0aXRsZT0iVmFsdnVsYXIg
aGVhcnQgZGlzZWFzZSI+dmFsdnVsYXIgaGVhcnQgZGlzZWFzZTwvYT4gb3Igc29t
ZSB0eXBlIG9mIDxhIGhyZWY9Ii93aWtpL0NhcmRpb215b3BhdGh5IiB0aXRsZT0i
Q2FyZGlvbXlvcGF0aHkiPmNhcmRpb215b3BhdGh5PC9hPi4gTW9yZW92ZXIgYXMg
dW5kZXJkZXZlbG9wZWQgY291bnRyaWVzIGJlY29tZSBtb3JlIGFmZmx1ZW50LCB0
aGVyZSBoYXMgYWxzbyBiZWVuIGFuIGluY3JlYXNlIGluIDxhIGhyZWY9Ii93aWtp
L0RpYWJldGVzIiB0aXRsZT0iRGlhYmV0ZXMiIGNsYXNzPSJtdy1yZWRpcmVjdCI+
ZGlhYmV0ZXM8L2E+LCA8YSBocmVmPSIvd2lraS9IeXBlcnRlbnNpb24iIHRpdGxl
PSJIeXBlcnRlbnNpb24iPmh5cGVydGVuc2lvbjwvYT4gYW5kIDxhIGhyZWY9Ii93
aWtpL09iZXNpdHkiIHRpdGxlPSJPYmVzaXR5Ij5vYmVzaXR5PC9hPiB3aGljaCBo
YXMgcmVzdWx0ZWQgaW4gaGVhcnQgZmFpbHVyZS48L3A+CjxwPkluIFVTQSwgSEYg
aXMgbXVjaCBoaWdoZXIgaW4gQWZyaWNhbiBBbWVyaWNhbnMsIEhpc3Bhbmljcywg
TmF0aXZlIEFtZXJpY2FucyBhbmQgcmVjZW50IGltbWlncmFudHMgZnJvbSB0aGUg
ZWFzdGVybiBibG9jIGNvdW50cmllcyBsaWtlIFJ1c3NpYS4gVGhpcyBoaWdoIHBy
ZXZhbGVuY2UgaW4gdGhlc2UgZXRobmljIHBvcHVsYXRpb25zIGhhcyBiZWVuIGxp
bmtlZCB0byBoaWdoIGluY2lkZW5jZSBvZiBkaWFiZXRlcyBhbmQgaHlwZXJ0ZW5z
aW9uLiBJbiBtYW55IG5ldyBpbW1pZ3JhbnRzIHRvIHRoZSBVU0EgdGhlIGhpZ2gg
cHJldmFsZW5jZSBvZiBoZWFydCBmYWlsdXJlIGhhcyBsYXJnZWx5IGJlZW4gYXR0
cmlidXRlZCB0byBsYWNrIG9mIDxhIGhyZWY9Ii93aWtpL1ByZXZlbnRpdmVfaGVh
bHRoX2NhcmUiIHRpdGxlPSJQcmV2ZW50aXZlIGhlYWx0aCBjYXJlIiBjbGFzcz0i
bXctcmVkaXJlY3QiPnByZXZlbnRpdmUgaGVhbHRoIGNhcmU8L2E+IG9yIHN1YnN0
YW5kYXJkIHRyZWF0bWVudC48c3VwIGlkPSJjaXRlX3JlZi1IZWFydF9GYWlsdXJl
X0luZm9ybWF0aW9uXzM5LTAiIGNsYXNzPSJyZWZlcmVuY2UiPjxhIGhyZWY9IiNj
aXRlX25vdGUtSGVhcnRfRmFpbHVyZV9JbmZvcm1hdGlvbi0zOSI+PHNwYW4+Wzwv
c3Bhbj40MDxzcGFuPl08L3NwYW4+PC9hPjwvc3VwPjwvcD4KPGgzPjxzcGFuIGNs
YXNzPSJlZGl0c2VjdGlvbiI+WzxhIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT1I
ZWFydF9mYWlsdXJlJmFtcDthY3Rpb249ZWRpdCZhbXA7c2VjdGlvbj0zMCIgdGl0
bGU9IkVkaXQgc2VjdGlvbjogR2VuZGVyIj5lZGl0PC9hPl08L3NwYW4+IDxzcGFu
IGNsYXNzPSJtdy1oZWFkbGluZSIgaWQ9IkdlbmRlciI+R2VuZGVyPC9zcGFuPjwv
aDM+CjxwPkJvdGggbWVuIGFuZCB3b21lbiBoYXZlIHNpbWlsYXIgaW5jaWRlbmNl
IG9mIEhGLiBIb3dldmVyLCB0aGVyZSBhcmUgZGlzdGluY3QgZGlmZmVyZW5jZXMg
YmV0d2VlbiB0aGUgdHdvIGdlbmRlcnMuPC9wPgo8dWw+CjxsaT5Xb21lbiBnZW5l
cmFsbHkgZGV2ZWxvcCBoZWFydCBmYWlsdXJlIGFmdGVyIDxhIGhyZWY9Ii93aWtp
L01lbm9wYXVzZSIgdGl0bGU9Ik1lbm9wYXVzZSI+bWVub3BhdXNlPC9hPi48L2xp
Pgo8bGk+V29tZW4gdGVuZCB0byBiZWNvbWUgbW9yZSBkZXByZXNzZWQgdGhhbiBt
ZW48L2xpPgo8bGk+V29tZW4gaGF2ZSBzaW1pbGFyIHN5bXB0b21zIGJ1dCB0aGUg
aW50ZW5zaXR5IGlzIG1vcmUgcHJvbm91bmNlZC48L2xpPgo8bGk+V29tZW4gdXN1
YWxseSBzdXJ2aXZlIGEgbG90IGxvbmdlciB3aXRoIGhlYXJ0IGZhaWx1cmUgdGhh
biBtZW4uPC9saT4KPC91bD4KPGgzPjxzcGFuIGNsYXNzPSJlZGl0c2VjdGlvbiI+
WzxhIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT1IZWFydF9mYWlsdXJlJmFtcDth
Y3Rpb249ZWRpdCZhbXA7c2VjdGlvbj0zMSIgdGl0bGU9IkVkaXQgc2VjdGlvbjog
UmFjZSI+ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUi
IGlkPSJSYWNlIj5SYWNlPC9zcGFuPjwvaDM+CjxwPk5ldyBpbmZvcm1hdGlvbiBz
dWdnZXN0cyB0aGF0IGVsZW1lbnRzIG9mIGhlYXJ0IGZhaWx1cmUgaW4gQWZyaWNh
biBBbWVyaWNhbnMgYW5kIENhdWNhc2lhbnMgbWF5IGJlIGRpZmZlcmVudDxzdXAg
aWQ9ImNpdGVfcmVmLTQwIiBjbGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0
ZV9ub3RlLTQwIj48c3Bhbj5bPC9zcGFuPjQxPHNwYW4+XTwvc3Bhbj48L2E+PC9z
dXA+IGFuZCB0aGVyYXB5IGZvciBoZWFydCBmYWlsdXJlIGhhcyBkaWZmZXJlbnQg
ZWZmaWNhY2llcyBkZXBlbmRpbmcgb24gcmFjaWFsLCBldGhuaWMsIGFuZCBnZW5l
dGljIGJhY2tncm91bmRzLjwvcD4KPGgzPjxzcGFuIGNsYXNzPSJlZGl0c2VjdGlv
biI+WzxhIGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT1IZWFydF9mYWlsdXJlJmFt
cDthY3Rpb249ZWRpdCZhbXA7c2VjdGlvbj0zMiIgdGl0bGU9IkVkaXQgc2VjdGlv
bjogQWdlIj5lZGl0PC9hPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJtdy1oZWFkbGlu
ZSIgaWQ9IkFnZSI+QWdlPC9zcGFuPjwvaDM+CjxwPkhlYXJ0IGZhaWx1cmUgYmFz
aWNhbGx5IG1lYW5zIHRoYXQgdGhlIGhlYXJ0IG11c2NsZXMgaGF2ZSBiZWNvbWUg
d2VhayBhbmQgZG8gbm90IGZ1bmN0aW9uIGFzIG5vcm1hbC48c3VwIGlkPSJjaXRl
X3JlZi1DYXJkaWFjX0ZhaWx1cmVfRmFjdHNfNDEtMCIgY2xhc3M9InJlZmVyZW5j
ZSI+PGEgaHJlZj0iI2NpdGVfbm90ZS1DYXJkaWFjX0ZhaWx1cmVfRmFjdHMtNDEi
PjxzcGFuPls8L3NwYW4+NDI8c3Bhbj5dPC9zcGFuPjwvYT48L3N1cD4gSGVhcnQg
ZmFpbHVyZSBpcyBhIHByb2dyZXNzaXZlIG1lZGljYWwgZGlzb3JkZXIuIEFzIHRo
ZSBoZWFydCBnZXRzIHdlYWtlciwgc3ltcHRvbXMgYW5kIHNpZ25zIGJlY29tZSBw
cm9taW5lbnQuIEhlYXJ0IGZhaWx1cmUgY2FuIGFmZmVjdCB0aGUgZW50aXJlIGhl
YXJ0IG9yIG9ubHkgdGhlIHJpZ2h0IG9yIGxlZnQgc2lkZS4gSW4gdGhlIG1ham9y
aXR5IG9mIGNhc2VzLCBib3RoIHNpZGVzIG9mIHRoZSBoZWFydCBhcmUgYWZmZWN0
ZWQuPHN1cCBpZD0iY2l0ZV9yZWYtSGVhcnRfRmFpbHVyZTpfUHJldmVudGlvbl80
Mi0wIiBjbGFzcz0icmVmZXJlbmNlIj48YSBocmVmPSIjY2l0ZV9ub3RlLUhlYXJ0
X0ZhaWx1cmU6X1ByZXZlbnRpb24tNDIiPjxzcGFuPls8L3NwYW4+NDM8c3Bhbj5d
PC9zcGFuPjwvYT48L3N1cD4gSEYgY2FuIG9jY3VyIGF0IGFueSBhZ2UgZGVwZW5k
aW5nIG9uIHRoZSBjYXVzZS4gSW4gZ2VuZXJhbCBoZWFydCBmYWlsdXJlIGRvZXMg
aW5jcmVhc2Ugd2l0aCBhZ2UuPC9wPgo8aDI+PHNwYW4gY2xhc3M9ImVkaXRzZWN0
aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUm
YW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTMzIiB0aXRsZT0iRWRpdCBzZWN0
aW9uOiBTZWUgYWxzbyI+ZWRpdDwvYT5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibXct
aGVhZGxpbmUiIGlkPSJTZWVfYWxzbyI+U2VlIGFsc288L3NwYW4+PC9oMj4KPHVs
Pgo8bGk+PGEgaHJlZj0iL3dpa2kvQ2FyZGlvZ2VuaWNfc2hvY2siIHRpdGxlPSJD
YXJkaW9nZW5pYyBzaG9jayI+Q2FyZGlvZ2VuaWMgc2hvY2s8L2E+PC9saT4KPGxp
PjxhIGhyZWY9Ii93aWtpL0hlYXJ0X3RyYW5zcGxhbnQiIHRpdGxlPSJIZWFydCB0
cmFuc3BsYW50IiBjbGFzcz0ibXctcmVkaXJlY3QiPkhlYXJ0IHRyYW5zcGxhbnQ8
L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL0Rvcl9wcm9jZWR1cmUiIHRpdGxl
PSJEb3IgcHJvY2VkdXJlIj5Eb3IgcHJvY2VkdXJlPC9hPjwvbGk+CjxsaT48YSBo
cmVmPSIvd2lraS9BQ0VfaW5oaWJpdG9yIiB0aXRsZT0iQUNFIGluaGliaXRvciI+
QUNFIGluaGliaXRvcjwvYT48L2xpPgo8bGk+PGEgaHJlZj0iL3dpa2kvSXNvc29y
YmlkZV9kaW5pdHJhdGUvaHlkcmFsYXppbmUiIHRpdGxlPSJJc29zb3JiaWRlIGRp
bml0cmF0ZS9oeWRyYWxhemluZSI+SXNvc29yYmlkZSBkaW5pdHJhdGUvaHlkcmFs
YXppbmU8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii93aWtpL0tpbGxpcF9jbGFzcyIg
dGl0bGU9IktpbGxpcCBjbGFzcyI+S2lsbGlwIGNsYXNzPC9hPjwvbGk+CjxsaT48
YSBocmVmPSIvd2lraS9WZW50cmljdWxhcl9yZW1vZGVsaW5nIiB0aXRsZT0iVmVu
dHJpY3VsYXIgcmVtb2RlbGluZyI+VmVudHJpY3VsYXIgcmVtb2RlbGluZzwvYT48
L2xpPgo8bGk+PGEgaHJlZj0iL3dpa2kvRmx1aWRfb3ZlcmxvYWQiIHRpdGxlPSJG
bHVpZCBvdmVybG9hZCIgY2xhc3M9Im13LXJlZGlyZWN0Ij5GbHVpZCBvdmVybG9h
ZDwvYT48L2xpPgo8bGk+PGEgaHJlZj0iL3dpa2kvRnJhbWluZ2hhbV9jcml0ZXJp
YSIgdGl0bGU9IkZyYW1pbmdoYW0gY3JpdGVyaWEiIGNsYXNzPSJtdy1yZWRpcmVj
dCI+RnJhbWluZ2hhbSBjcml0ZXJpYTwvYT48L2xpPgo8bGk+PGEgaHJlZj0iL3dp
a2kvQ29uZ2VzdGl2ZV9oZXBhdG9wYXRoeSIgdGl0bGU9IkNvbmdlc3RpdmUgaGVw
YXRvcGF0aHkiPkNvbmdlc3RpdmUgaGVwYXRvcGF0aHk8L2E+IC0gYSBjb21wbGlj
YXRpb24gb2YgY2hyb25pYyByaWdodCBoZWFydCBmYWlsdXJlLjwvbGk+CjwvdWw+
CjxoMj48c3BhbiBjbGFzcz0iZWRpdHNlY3Rpb24iPls8YSBocmVmPSIvdy9pbmRl
eC5waHA/dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWVkaXQmYW1wO3Nl
Y3Rpb249MzQiIHRpdGxlPSJFZGl0IHNlY3Rpb246IFJlZmVyZW5jZXMiPmVkaXQ8
L2E+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im13LWhlYWRsaW5lIiBpZD0iUmVmZXJl
bmNlcyI+UmVmZXJlbmNlczwvc3Bhbj48L2gyPgo8ZGl2IGNsYXNzPSJyZWZlcmVu
Y2VzLXNtYWxsIHJlZmVyZW5jZXMtY29sdW1uLWNvdW50IHJlZmVyZW5jZXMtY29s
dW1uLWNvdW50LTIiIHN0eWxlPSItbW96LWNvbHVtbi1jb3VudDoyOyBjb2x1bW4t
Y291bnQ6MjsiPgo8b2wgY2xhc3M9InJlZmVyZW5jZXMiPgo8bGkgaWQ9ImNpdGVf
bm90ZS0wIj48Yj48YSBocmVmPSIjY2l0ZV9yZWYtMCI+XjwvYT48L2I+IDxpPjxh
IGhyZWY9Imh0dHA6Ly93d3cubWVyY2tzb3VyY2UuY29tL3BwL3VzL2Nucy9jbnNf
aGxfZG9ybGFuZHNfc3BsaXQuanNwP3BnPS9wcGRvY3MvdXMvY29tbW9uL2Rvcmxh
bmRzL2RvcmxhbmQvZm91ci8wMDAwNDc1MDEuaHRtIiBjbGFzcz0iZXh0ZXJuYWwg
dGV4dCIgcmVsPSJub2ZvbGxvdyI+aGVhcnQgZmFpbHVyZTwvYT48L2k+IGF0IDxh
IGhyZWY9Ii93aWtpL0RvcmxhbmQlMjdzX01lZGljYWxfRGljdGlvbmFyeSIgdGl0
bGU9IkRvcmxhbmQncyBNZWRpY2FsIERpY3Rpb25hcnkiIGNsYXNzPSJtdy1yZWRp
cmVjdCI+RG9ybGFuZCdzIE1lZGljYWwgRGljdGlvbmFyeTwvYT48L2xpPgo8bGkg
aWQ9ImNpdGVfbm90ZS0xIj48Yj48YSBocmVmPSIjY2l0ZV9yZWYtMSI+XjwvYT48
L2I+IDxhIGhyZWY9Imh0dHA6Ly93d3cubWF5b2NsaW5pYy5jb20vaGVhbHRoL2hl
YXJ0LWZhaWx1cmUvRFMwMDA2MSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0i
bm9mb2xsb3ciPm1heW9jbGluaWMuY29tICZndDsgSGVhcnQgZmFpbHVyZTwvYT4g
RGVjLiAyMywgMjAwOTwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLTIiPjxiPjxhIGhy
ZWY9IiNjaXRlX3JlZi0yIj5ePC9hPjwvYj4gPGEgaHJlZj0iaHR0cDovL3d3dy5t
ZWR0ZXJtcy5jb20vc2NyaXB0L21haW4vYXJ0LmFzcD9hcnRpY2xla2V5PTM2NzIi
IGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5tZWR0ZXJtcy5j
b20gJmd0OyBEZWZpbml0aW9uIG9mIEhlYXJ0IGZhaWx1cmU8L2E+IExhc3QgRWRp
dG9yaWFsIFJldmlldzogNi8xOC8yMDAyPC9saT4KPGxpIGlkPSJjaXRlX25vdGUt
TGFuY2V0MjAwNS0zIj5eIDxhIGhyZWY9IiNjaXRlX3JlZi1MYW5jZXQyMDA1XzMt
MCI+PHN1cD48aT48Yj5hPC9iPjwvaT48L3N1cD48L2E+IDxhIGhyZWY9IiNjaXRl
X3JlZi1MYW5jZXQyMDA1XzMtMSI+PHN1cD48aT48Yj5iPC9iPjwvaT48L3N1cD48
L2E+IDxhIGhyZWY9IiNjaXRlX3JlZi1MYW5jZXQyMDA1XzMtMiI+PHN1cD48aT48
Yj5jPC9iPjwvaT48L3N1cD48L2E+IDxzcGFuIGNsYXNzPSJjaXRhdGlvbiBKb3Vy
bmFsIj5NY011cnJheSBKSiwgUGZlZmZlciBNQSAoMjAwNSkuICJIZWFydCBmYWls
dXJlIi4gPGk+TGFuY2V0PC9pPiA8Yj4zNjU8L2I+ICg5NDc0KTogMTg3N+KAkzg5
LiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9pZGVudGlmaWVyIiB0aXRs
ZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9pPC9hPjo8YSBocmVmPSJo
dHRwOi8vZHguZG9pLm9yZy8xMC4xMDE2JTJGUzAxNDAtNjczNiUyODA1JTI5NjY2
MjEtNCIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjEwLjEw
MTYvUzAxNDAtNjczNigwNSk2NjYyMS00PC9hPi4gPGEgaHJlZj0iL3dpa2kvUHVi
TWVkX0lkZW50aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRlbnRpZmllciIgY2xhc3M9
Im13LXJlZGlyZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly93d3cu
bmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMTU5MjQ5ODYiIGNsYXNzPSJleHRlcm5h
bCB0ZXh0IiByZWw9Im5vZm9sbG93Ij4xNTkyNDk4NjwvYT4uPC9zcGFuPjxzcGFu
IGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3Jm
dF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fqb3VybmFs
JmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1IZWFydCtmYWls
dXJlJmFtcDtyZnQuanRpdGxlPUxhbmNldCZhbXA7cmZ0LmF1bGFzdD1NY011cnJh
eStKSiUyQytQZmVmZmVyK01BJmFtcDtyZnQuYXU9TWNNdXJyYXkrSkolMkMrUGZl
ZmZlcitNQSZhbXA7cmZ0LmRhdGU9MjAwNSZhbXA7cmZ0LnZvbHVtZT0zNjUmYW1w
O3JmdC5pc3N1ZT05NDc0JmFtcDtyZnQucGFnZXM9MTg3NyVFMiU4MCU5Mzg5JmFt
cDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTAxNiUyRlMwMTQwLTY3MzYlMjgwNSUyOTY2
NjIxLTQmYW1wO3JmdF9pZD1pbmZvOnBtaWQvMTU5MjQ5ODYmYW1wO3Jmcl9pZD1p
bmZvOnNpZC9lbi53aWtpcGVkaWEub3JnOkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0
eWxlPSJkaXNwbGF5OiBub25lOyI+JiMxNjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8
bGkgaWQ9ImNpdGVfbm90ZS1wbWlkMTg3OTk1MjItNCI+PGI+PGEgaHJlZj0iI2Np
dGVfcmVmLXBtaWQxODc5OTUyMl80LTAiPl48L2E+PC9iPiA8c3BhbiBjbGFzcz0i
Y2l0YXRpb24gSm91cm5hbCI+RGlja3N0ZWluIEssIENvaGVuLVNvbGFsIEEsIEZp
bGlwcGF0b3MgRywgPGk+ZXQgYWwuPC9pPiAoT2N0b2JlciAyMDA4KS4gPGEgaHJl
Zj0iaHR0cDovL2V1cmhlYXJ0ai5veGZvcmRqb3VybmFscy5vcmcvY2dpL3BtaWRs
b29rdXA/dmlldz1sb25nJmFtcDtwbWlkPTE4Nzk5NTIyIiBjbGFzcz0iZXh0ZXJu
YWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+IkVTQyBHdWlkZWxpbmVzIGZvciB0aGUg
ZGlhZ25vc2lzIGFuZCB0cmVhdG1lbnQgb2YgYWN1dGUgYW5kIGNocm9uaWMgaGVh
cnQgZmFpbHVyZSAyMDA4OiB0aGUgVGFzayBGb3JjZSBmb3IgdGhlIERpYWdub3Np
cyBhbmQgVHJlYXRtZW50IG9mIEFjdXRlIGFuZCBDaHJvbmljIEhlYXJ0IEZhaWx1
cmUgMjAwOCBvZiB0aGUgRXVyb3BlYW4gU29jaWV0eSBvZiBDYXJkaW9sb2d5LiBE
ZXZlbG9wZWQgaW4gY29sbGFib3JhdGlvbiB3aXRoIHRoZSBIZWFydCBGYWlsdXJl
IEFzc29jaWF0aW9uIG9mIHRoZSBFU0MgKEhGQSkgYW5kIGVuZG9yc2VkIGJ5IHRo
ZSBFdXJvcGVhbiBTb2NpZXR5IG9mIEludGVuc2l2ZSBDYXJlIE1lZGljaW5lIChF
U0lDTSkiPC9hPi4gPGk+RXVyLiBIZWFydCBKLjwvaT4gPGI+Mjk8L2I+ICgxOSk6
IDIzODjigJM0NDIuIDxhIGhyZWY9Ii93aWtpL0RpZ2l0YWxfb2JqZWN0X2lkZW50
aWZpZXIiIHRpdGxlPSJEaWdpdGFsIG9iamVjdCBpZGVudGlmaWVyIj5kb2k8L2E+
OjxhIGhyZWY9Imh0dHA6Ly9keC5kb2kub3JnLzEwLjEwOTMlMkZldXJoZWFydGol
MkZlaG4zMDkiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij4x
MC4xMDkzL2V1cmhlYXJ0ai9laG4zMDk8L2E+LiA8YSBocmVmPSIvd2lraS9QdWJN
ZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1Yk1lZCBJZGVudGlmaWVyIiBjbGFzcz0i
bXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMxNjA7PGEgaHJlZj0iaHR0cDovL3d3dy5u
Y2JpLm5sbS5uaWguZ292L3B1Ym1lZC8xODc5OTUyMiIgY2xhc3M9ImV4dGVybmFs
IHRleHQiIHJlbD0ibm9mb2xsb3ciPjE4Nzk5NTIyPC9hPjxzcGFuIGNsYXNzPSJw
cmludG9ubHkiPi4gPGEgaHJlZj0iaHR0cDovL2V1cmhlYXJ0ai5veGZvcmRqb3Vy
bmFscy5vcmcvY2dpL3BtaWRsb29rdXA/dmlldz1sb25nJmFtcDtwbWlkPTE4Nzk5
NTIyIiBjbGFzcz0iZXh0ZXJuYWwgZnJlZSIgcmVsPSJub2ZvbGxvdyI+aHR0cDov
L2V1cmhlYXJ0ai5veGZvcmRqb3VybmFscy5vcmcvY2dpL3BtaWRsb29rdXA/dmll
dz1sb25nJmFtcDtwbWlkPTE4Nzk5NTIyPC9hPjwvc3Bhbj4uPC9zcGFuPjxzcGFu
IGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3Jm
dF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fqb3VybmFs
JmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1FU0MrR3VpZGVs
aW5lcytmb3IrdGhlK2RpYWdub3NpcythbmQrdHJlYXRtZW50K29mK2FjdXRlK2Fu
ZCtjaHJvbmljK2hlYXJ0K2ZhaWx1cmUrMjAwOCUzQSt0aGUrVGFzaytGb3JjZStm
b3IrdGhlK0RpYWdub3NpcythbmQrVHJlYXRtZW50K29mK0FjdXRlK2FuZCtDaHJv
bmljK0hlYXJ0K0ZhaWx1cmUrMjAwOCtvZit0aGUrRXVyb3BlYW4rU29jaWV0eStv
ZitDYXJkaW9sb2d5LitEZXZlbG9wZWQraW4rY29sbGFib3JhdGlvbit3aXRoK3Ro
ZStIZWFydCtGYWlsdXJlK0Fzc29jaWF0aW9uK29mK3RoZStFU0MrJTI4SEZBJTI5
K2FuZCtlbmRvcnNlZCtieSt0aGUrRXVyb3BlYW4rU29jaWV0eStvZitJbnRlbnNp
dmUrQ2FyZStNZWRpY2luZSslMjhFU0lDTSUyOSZhbXA7cmZ0Lmp0aXRsZT1FdXIu
K0hlYXJ0K0ouJmFtcDtyZnQuYXVsYXN0PURpY2tzdGVpbitLJTJDK0NvaGVuLVNv
bGFsK0ElMkMrRmlsaXBwYXRvcytHJTJDKyUyNyUyN2V0K2FsLiUyNyUyNyZhbXA7
cmZ0LmF1PURpY2tzdGVpbitLJTJDK0NvaGVuLVNvbGFsK0ElMkMrRmlsaXBwYXRv
cytHJTJDKyUyNyUyN2V0K2FsLiUyNyUyNyZhbXA7cmZ0LmRhdGU9T2N0b2Jlcisy
MDA4JmFtcDtyZnQudm9sdW1lPTI5JmFtcDtyZnQuaXNzdWU9MTkmYW1wO3JmdC5w
YWdlcz0yMzg4JUUyJTgwJTkzNDQyJmFtcDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTA5
MyUyRmV1cmhlYXJ0aiUyRmVobjMwOSZhbXA7cmZ0X2lkPWluZm86cG1pZC8xODc5
OTUyMiZhbXA7cmZ0X2lkPWh0dHAlM0ElMkYlMkZldXJoZWFydGoub3hmb3Jkam91
cm5hbHMub3JnJTJGY2dpJTJGcG1pZGxvb2t1cCUzRnZpZXclM0Rsb25nJTI2cG1p
ZCUzRDE4Nzk5NTIyJmFtcDtyZnJfaWQ9aW5mbzpzaWQvZW4ud2lraXBlZGlhLm9y
ZzpIZWFydF9mYWlsdXJlIj48c3BhbiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPiYj
MTYwOzwvc3Bhbj48L3NwYW4+PC9saT4KPGxpIGlkPSJjaXRlX25vdGUtcG1pZDEy
MDM0MTYzLTUiPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi1wbWlkMTIwMzQxNjNfNS0w
Ij5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIEpvdXJuYWwiPlN0ZXdh
cnQgUywgSmVua2lucyBBLCBCdWNoYW4gUywgTWNHdWlyZSBBLCBDYXBld2VsbCBT
LCBNY011cnJheSBKSiAoSnVuZSAyMDAyKS4gPGEgaHJlZj0iaHR0cDovL2xpbmtp
bmdodWIuZWxzZXZpZXIuY29tL3JldHJpZXZlL3BpaS9TMTM4ODk4NDIwMTAwMTk4
MiIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPiJUaGUgY3Vy
cmVudCBjb3N0IG9mIGhlYXJ0IGZhaWx1cmUgdG8gdGhlIE5hdGlvbmFsIEhlYWx0
aCBTZXJ2aWNlIGluIHRoZSBVSyI8L2E+LiA8aT5FdXIuIEouIEhlYXJ0IEZhaWwu
PC9pPiA8Yj40PC9iPiAoMyk6IDM2MeKAkzcxLiA8YSBocmVmPSIvd2lraS9EaWdp
dGFsX29iamVjdF9pZGVudGlmaWVyIiB0aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRl
bnRpZmllciI+ZG9pPC9hPjo8YSBocmVmPSJodHRwOi8vZHguZG9pLm9yZy8xMC4x
MDE2JTJGUzEzODgtOTg0MiUyODAxJTI5MDAxOTgtMiIgY2xhc3M9ImV4dGVybmFs
IHRleHQiIHJlbD0ibm9mb2xsb3ciPjEwLjEwMTYvUzEzODgtOTg0MigwMSkwMDE5
OC0yPC9hPi4gPGEgaHJlZj0iL3dpa2kvUHViTWVkX0lkZW50aWZpZXIiIHRpdGxl
PSJQdWJNZWQgSWRlbnRpZmllciIgY2xhc3M9Im13LXJlZGlyZWN0Ij5QTUlEPC9h
PiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJt
ZWQvMTIwMzQxNjMiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93
Ij4xMjAzNDE2MzwvYT48c3BhbiBjbGFzcz0icHJpbnRvbmx5Ij4uIDxhIGhyZWY9
Imh0dHA6Ly9saW5raW5naHViLmVsc2V2aWVyLmNvbS9yZXRyaWV2ZS9waWkvUzEz
ODg5ODQyMDEwMDE5ODIiIGNsYXNzPSJleHRlcm5hbCBmcmVlIiByZWw9Im5vZm9s
bG93Ij5odHRwOi8vbGlua2luZ2h1Yi5lbHNldmllci5jb20vcmV0cmlldmUvcGlp
L1MxMzg4OTg0MjAxMDAxOTgyPC9hPjwvc3Bhbj4uPC9zcGFuPjxzcGFuIGNsYXNz
PSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3JmdF92YWxf
Zm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fqb3VybmFsJmFtcDty
ZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1UaGUrY3VycmVudCtjb3N0
K29mK2hlYXJ0K2ZhaWx1cmUrdG8rdGhlK05hdGlvbmFsK0hlYWx0aCtTZXJ2aWNl
K2luK3RoZStVSyZhbXA7cmZ0Lmp0aXRsZT1FdXIuK0ouK0hlYXJ0K0ZhaWwuJmFt
cDtyZnQuYXVsYXN0PVN0ZXdhcnQrUyUyQytKZW5raW5zK0ElMkMrQnVjaGFuK1Ml
MkMrTWNHdWlyZStBJTJDK0NhcGV3ZWxsK1MlMkMrTWNNdXJyYXkrSkomYW1wO3Jm
dC5hdT1TdGV3YXJ0K1MlMkMrSmVua2lucytBJTJDK0J1Y2hhbitTJTJDK01jR3Vp
cmUrQSUyQytDYXBld2VsbCtTJTJDK01jTXVycmF5K0pKJmFtcDtyZnQuZGF0ZT1K
dW5lKzIwMDImYW1wO3JmdC52b2x1bWU9NCZhbXA7cmZ0Lmlzc3VlPTMmYW1wO3Jm
dC5wYWdlcz0zNjElRTIlODAlOTM3MSZhbXA7cmZ0X2lkPWluZm86ZG9pLzEwLjEw
MTYlMkZTMTM4OC05ODQyJTI4MDElMjkwMDE5OC0yJmFtcDtyZnRfaWQ9aW5mbzpw
bWlkLzEyMDM0MTYzJmFtcDtyZnRfaWQ9aHR0cCUzQSUyRiUyRmxpbmtpbmdodWIu
ZWxzZXZpZXIuY29tJTJGcmV0cmlldmUlMkZwaWklMkZTMTM4ODk4NDIwMTAwMTk4
MiZhbXA7cmZyX2lkPWluZm86c2lkL2VuLndpa2lwZWRpYS5vcmc6SGVhcnRfZmFp
bHVyZSI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4mIzE2MDs8L3NwYW4+
PC9zcGFuPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLXBtaWQxODA4NjkyNi02Ij48
Yj48YSBocmVmPSIjY2l0ZV9yZWYtcG1pZDE4MDg2OTI2XzYtMCI+XjwvYT48L2I+
IDxzcGFuIGNsYXNzPSJjaXRhdGlvbiBKb3VybmFsIj5Sb3NhbW9uZCBXLCBGbGVn
YWwgSywgRnVyaWUgSywgPGk+ZXQgYWwuPC9pPiAoSmFudWFyeSAyMDA4KS4gPGEg
aHJlZj0iaHR0cDovL2NpcmMuYWhham91cm5hbHMub3JnL2NnaS9wbWlkbG9va3Vw
P3ZpZXc9bG9uZyZhbXA7cG1pZD0xODA4NjkyNiIgY2xhc3M9ImV4dGVybmFsIHRl
eHQiIHJlbD0ibm9mb2xsb3ciPiJIZWFydCBkaXNlYXNlIGFuZCBzdHJva2Ugc3Rh
dGlzdGljcy0tMjAwOCB1cGRhdGU6IGEgcmVwb3J0IGZyb20gdGhlIEFtZXJpY2Fu
IEhlYXJ0IEFzc29jaWF0aW9uIFN0YXRpc3RpY3MgQ29tbWl0dGVlIGFuZCBTdHJv
a2UgU3RhdGlzdGljcyBTdWJjb21taXR0ZWUiPC9hPi4gPGk+Q2lyY3VsYXRpb248
L2k+IDxiPjExNzwvYj4gKDQpOiBlMjXigJMxNDYuIDxhIGhyZWY9Ii93aWtpL0Rp
Z2l0YWxfb2JqZWN0X2lkZW50aWZpZXIiIHRpdGxlPSJEaWdpdGFsIG9iamVjdCBp
ZGVudGlmaWVyIj5kb2k8L2E+OjxhIGhyZWY9Imh0dHA6Ly9keC5kb2kub3JnLzEw
LjExNjElMkZDSVJDVUxBVElPTkFIQS4xMDcuMTg3OTk4IiBjbGFzcz0iZXh0ZXJu
YWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+MTAuMTE2MS9DSVJDVUxBVElPTkFIQS4x
MDcuMTg3OTk4PC9hPi4gPGEgaHJlZj0iL3dpa2kvUHViTWVkX0lkZW50aWZpZXIi
IHRpdGxlPSJQdWJNZWQgSWRlbnRpZmllciIgY2xhc3M9Im13LXJlZGlyZWN0Ij5Q
TUlEPC9hPiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdv
di9wdWJtZWQvMTgwODY5MjYiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5v
Zm9sbG93Ij4xODA4NjkyNjwvYT48c3BhbiBjbGFzcz0icHJpbnRvbmx5Ij4uIDxh
IGhyZWY9Imh0dHA6Ly9jaXJjLmFoYWpvdXJuYWxzLm9yZy9jZ2kvcG1pZGxvb2t1
cD92aWV3PWxvbmcmYW1wO3BtaWQ9MTgwODY5MjYiIGNsYXNzPSJleHRlcm5hbCBm
cmVlIiByZWw9Im5vZm9sbG93Ij5odHRwOi8vY2lyYy5haGFqb3VybmFscy5vcmcv
Y2dpL3BtaWRsb29rdXA/dmlldz1sb25nJmFtcDtwbWlkPTE4MDg2OTI2PC9hPjwv
c3Bhbj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9
WjM5Ljg4LTIwMDQmYW1wO3JmdF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0Fr
ZXYlM0FtdHglM0Fqb3VybmFsJmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0
LmF0aXRsZT1IZWFydCtkaXNlYXNlK2FuZCtzdHJva2Urc3RhdGlzdGljcy0tMjAw
OCt1cGRhdGUlM0ErYStyZXBvcnQrZnJvbSt0aGUrQW1lcmljYW4rSGVhcnQrQXNz
b2NpYXRpb24rU3RhdGlzdGljcytDb21taXR0ZWUrYW5kK1N0cm9rZStTdGF0aXN0
aWNzK1N1YmNvbW1pdHRlZSZhbXA7cmZ0Lmp0aXRsZT1DaXJjdWxhdGlvbiZhbXA7
cmZ0LmF1bGFzdD1Sb3NhbW9uZCtXJTJDK0ZsZWdhbCtLJTJDK0Z1cmllK0slMkMr
JTI3JTI3ZXQrYWwuJTI3JTI3JmFtcDtyZnQuYXU9Um9zYW1vbmQrVyUyQytGbGVn
YWwrSyUyQytGdXJpZStLJTJDKyUyNyUyN2V0K2FsLiUyNyUyNyZhbXA7cmZ0LmRh
dGU9SmFudWFyeSsyMDA4JmFtcDtyZnQudm9sdW1lPTExNyZhbXA7cmZ0Lmlzc3Vl
PTQmYW1wO3JmdC5wYWdlcz1lMjUlRTIlODAlOTMxNDYmYW1wO3JmdF9pZD1pbmZv
OmRvaS8xMC4xMTYxJTJGQ0lSQ1VMQVRJT05BSEEuMTA3LjE4Nzk5OCZhbXA7cmZ0
X2lkPWluZm86cG1pZC8xODA4NjkyNiZhbXA7cmZ0X2lkPWh0dHAlM0ElMkYlMkZj
aXJjLmFoYWpvdXJuYWxzLm9yZyUyRmNnaSUyRnBtaWRsb29rdXAlM0Z2aWV3JTNE
bG9uZyUyNnBtaWQlM0QxODA4NjkyNiZhbXA7cmZyX2lkPWluZm86c2lkL2VuLndp
a2lwZWRpYS5vcmc6SGVhcnRfZmFpbHVyZSI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6
IG5vbmU7Ij4mIzE2MDs8L3NwYW4+PC9zcGFuPjwvbGk+CjxsaSBpZD0iY2l0ZV9u
b3RlLXBtaWQxMTg0NzE2MS03Ij48Yj48YSBocmVmPSIjY2l0ZV9yZWYtcG1pZDEx
ODQ3MTYxXzctMCI+XjwvYT48L2I+IDxzcGFuIGNsYXNzPSJjaXRhdGlvbiBKb3Vy
bmFsIj5KdWVuZ2VyIEosIFNjaGVsbGJlcmcgRCwgS3JhZW1lciBTLCA8aT5ldCBh
bC48L2k+IChNYXJjaCAyMDAyKS4gPGEgaHJlZj0iaHR0cDovL2hlYXJ0LmJtai5j
b20vY2dpL3BtaWRsb29rdXA/dmlldz1sb25nJmFtcDtwbWlkPTExODQ3MTYxIiBj
bGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+IkhlYWx0aCByZWxh
dGVkIHF1YWxpdHkgb2YgbGlmZSBpbiBwYXRpZW50cyB3aXRoIGNvbmdlc3RpdmUg
aGVhcnQgZmFpbHVyZTogY29tcGFyaXNvbiB3aXRoIG90aGVyIGNocm9uaWMgZGlz
ZWFzZXMgYW5kIHJlbGF0aW9uIHRvIGZ1bmN0aW9uYWwgdmFyaWFibGVzIjwvYT4u
IDxpPkhlYXJ0PC9pPiA8Yj44NzwvYj4gKDMpOiAyMzXigJM0MS4gPGEgaHJlZj0i
L3dpa2kvRGlnaXRhbF9vYmplY3RfaWRlbnRpZmllciIgdGl0bGU9IkRpZ2l0YWwg
b2JqZWN0IGlkZW50aWZpZXIiPmRvaTwvYT46PGEgaHJlZj0iaHR0cDovL2R4LmRv
aS5vcmcvMTAuMTEzNiUyRmhlYXJ0Ljg3LjMuMjM1IiBjbGFzcz0iZXh0ZXJuYWwg
dGV4dCIgcmVsPSJub2ZvbGxvdyI+MTAuMTEzNi9oZWFydC44Ny4zLjIzNTwvYT4u
IDxhIGhyZWY9Ii93aWtpL1B1Yk1lZF9JZGVudGlmaWVyIiB0aXRsZT0iUHViTWVk
IElkZW50aWZpZXIiIGNsYXNzPSJtdy1yZWRpcmVjdCI+UE1JRDwvYT4mIzE2MDs8
YSBocmVmPSJodHRwOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzExODQ3
MTYxIiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+MTE4NDcx
NjE8L2E+LiA8YSBocmVmPSIvd2lraS9QdWJNZWRfQ2VudHJhbCIgdGl0bGU9IlB1
Yk1lZCBDZW50cmFsIj5QTUM8L2E+JiMxNjA7PGEgaHJlZj0iaHR0cDovL3d3dy5w
dWJtZWRjZW50cmFsLmdvdi9hcnRpY2xlcmVuZGVyLmZjZ2k/dG9vbD1wbWNlbnRy
ZXomYW1wO2FydGlkPTE3NjcwMzYiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9
Im5vZm9sbG93Ij4xNzY3MDM2PC9hPjxzcGFuIGNsYXNzPSJwcmludG9ubHkiPi4g
PGEgaHJlZj0iaHR0cDovL2hlYXJ0LmJtai5jb20vY2dpL3BtaWRsb29rdXA/dmll
dz1sb25nJmFtcDtwbWlkPTExODQ3MTYxIiBjbGFzcz0iZXh0ZXJuYWwgZnJlZSIg
cmVsPSJub2ZvbGxvdyI+aHR0cDovL2hlYXJ0LmJtai5jb20vY2dpL3BtaWRsb29r
dXA/dmlldz1sb25nJmFtcDtwbWlkPTExODQ3MTYxPC9hPjwvc3Bhbj4uPC9zcGFu
PjxzcGFuIGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQm
YW1wO3JmdF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fq
b3VybmFsJmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1IZWFs
dGgrcmVsYXRlZCtxdWFsaXR5K29mK2xpZmUraW4rcGF0aWVudHMrd2l0aCtjb25n
ZXN0aXZlK2hlYXJ0K2ZhaWx1cmUlM0ErY29tcGFyaXNvbit3aXRoK290aGVyK2No
cm9uaWMrZGlzZWFzZXMrYW5kK3JlbGF0aW9uK3RvK2Z1bmN0aW9uYWwrdmFyaWFi
bGVzJmFtcDtyZnQuanRpdGxlPUhlYXJ0JmFtcDtyZnQuYXVsYXN0PUp1ZW5nZXIr
SiUyQytTY2hlbGxiZXJnK0QlMkMrS3JhZW1lcitTJTJDKyUyNyUyN2V0K2FsLiUy
NyUyNyZhbXA7cmZ0LmF1PUp1ZW5nZXIrSiUyQytTY2hlbGxiZXJnK0QlMkMrS3Jh
ZW1lcitTJTJDKyUyNyUyN2V0K2FsLiUyNyUyNyZhbXA7cmZ0LmRhdGU9TWFyY2gr
MjAwMiZhbXA7cmZ0LnZvbHVtZT04NyZhbXA7cmZ0Lmlzc3VlPTMmYW1wO3JmdC5w
YWdlcz0yMzUlRTIlODAlOTM0MSZhbXA7cmZ0X2lkPWluZm86ZG9pLzEwLjExMzYl
MkZoZWFydC44Ny4zLjIzNSZhbXA7cmZ0X2lkPWluZm86cG1pZC8xMTg0NzE2MSZh
bXA7cmZ0X2lkPWh0dHAlM0ElMkYlMkZoZWFydC5ibWouY29tJTJGY2dpJTJGcG1p
ZGxvb2t1cCUzRnZpZXclM0Rsb25nJTI2cG1pZCUzRDExODQ3MTYxJmFtcDtyZnJf
aWQ9aW5mbzpzaWQvZW4ud2lraXBlZGlhLm9yZzpIZWFydF9mYWlsdXJlIj48c3Bh
biBzdHlsZT0iZGlzcGxheTogbm9uZTsiPiYjMTYwOzwvc3Bhbj48L3NwYW4+PC9s
aT4KPGxpIGlkPSJjaXRlX25vdGUtcG1pZDEyNDQ1NTM2LTgiPjxiPjxhIGhyZWY9
IiNjaXRlX3JlZi1wbWlkMTI0NDU1MzZfOC0wIj5ePC9hPjwvYj4gPHNwYW4gY2xh
c3M9ImNpdGF0aW9uIEpvdXJuYWwiPkhvYmJzIEZELCBLZW5rcmUgSkUsIFJvYWxm
ZSBBSywgRGF2aXMgUkMsIEhhcmUgUiwgRGF2aWVzIE1LIChEZWNlbWJlciAyMDAy
KS4gPGEgaHJlZj0iaHR0cDovL2V1cmhlYXJ0ai5veGZvcmRqb3VybmFscy5vcmcv
Y2dpL3BtaWRsb29rdXA/dmlldz1sb25nJmFtcDtwbWlkPTEyNDQ1NTM2IiBjbGFz
cz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+IkltcGFjdCBvZiBoZWFy
dCBmYWlsdXJlIGFuZCBsZWZ0IHZlbnRyaWN1bGFyIHN5c3RvbGljIGR5c2Z1bmN0
aW9uIG9uIHF1YWxpdHkgb2YgbGlmZTogYSBjcm9zcy1zZWN0aW9uYWwgc3R1ZHkg
Y29tcGFyaW5nIGNvbW1vbiBjaHJvbmljIGNhcmRpYWMgYW5kIG1lZGljYWwgZGlz
b3JkZXJzIGFuZCBhIHJlcHJlc2VudGF0aXZlIGFkdWx0IHBvcHVsYXRpb24iPC9h
Pi4gPGk+RXVyLiBIZWFydCBKLjwvaT4gPGI+MjM8L2I+ICgyMyk6IDE4NjfigJM3
Ni4gPGEgaHJlZj0iL3dpa2kvRGlnaXRhbF9vYmplY3RfaWRlbnRpZmllciIgdGl0
bGU9IkRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiPmRvaTwvYT46PGEgaHJlZj0i
aHR0cDovL2R4LmRvaS5vcmcvMTAuMTA1MyUyRmV1aGouMjAwMi4zMjU1IiBjbGFz
cz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+MTAuMTA1My9ldWhqLjIw
MDIuMzI1NTwvYT4uIDxhIGhyZWY9Ii93aWtpL1B1Yk1lZF9JZGVudGlmaWVyIiB0
aXRsZT0iUHViTWVkIElkZW50aWZpZXIiIGNsYXNzPSJtdy1yZWRpcmVjdCI+UE1J
RDwvYT4mIzE2MDs8YSBocmVmPSJodHRwOi8vd3d3Lm5jYmkubmxtLm5paC5nb3Yv
cHVibWVkLzEyNDQ1NTM2IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2Zv
bGxvdyI+MTI0NDU1MzY8L2E+PHNwYW4gY2xhc3M9InByaW50b25seSI+LiA8YSBo
cmVmPSJodHRwOi8vZXVyaGVhcnRqLm94Zm9yZGpvdXJuYWxzLm9yZy9jZ2kvcG1p
ZGxvb2t1cD92aWV3PWxvbmcmYW1wO3BtaWQ9MTI0NDU1MzYiIGNsYXNzPSJleHRl
cm5hbCBmcmVlIiByZWw9Im5vZm9sbG93Ij5odHRwOi8vZXVyaGVhcnRqLm94Zm9y
ZGpvdXJuYWxzLm9yZy9jZ2kvcG1pZGxvb2t1cD92aWV3PWxvbmcmYW1wO3BtaWQ9
MTI0NDU1MzY8L2E+PC9zcGFuPi48L3NwYW4+PHNwYW4gY2xhc3M9IlozOTg4IiB0
aXRsZT0iY3R4X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0X3ZhbF9mbXQ9aW5mbyUz
QW9maSUyRmZtdCUzQWtldiUzQW10eCUzQWpvdXJuYWwmYW1wO3JmdC5nZW5yZT1h
cnRpY2xlJmFtcDtyZnQuYXRpdGxlPUltcGFjdCtvZitoZWFydCtmYWlsdXJlK2Fu
ZCtsZWZ0K3ZlbnRyaWN1bGFyK3N5c3RvbGljK2R5c2Z1bmN0aW9uK29uK3F1YWxp
dHkrb2YrbGlmZSUzQSthK2Nyb3NzLXNlY3Rpb25hbCtzdHVkeStjb21wYXJpbmcr
Y29tbW9uK2Nocm9uaWMrY2FyZGlhYythbmQrbWVkaWNhbCtkaXNvcmRlcnMrYW5k
K2ErcmVwcmVzZW50YXRpdmUrYWR1bHQrcG9wdWxhdGlvbiZhbXA7cmZ0Lmp0aXRs
ZT1FdXIuK0hlYXJ0K0ouJmFtcDtyZnQuYXVsYXN0PUhvYmJzK0ZEJTJDK0tlbmty
ZStKRSUyQytSb2FsZmUrQUslMkMrRGF2aXMrUkMlMkMrSGFyZStSJTJDK0Rhdmll
cytNSyZhbXA7cmZ0LmF1PUhvYmJzK0ZEJTJDK0tlbmtyZStKRSUyQytSb2FsZmUr
QUslMkMrRGF2aXMrUkMlMkMrSGFyZStSJTJDK0RhdmllcytNSyZhbXA7cmZ0LmRh
dGU9RGVjZW1iZXIrMjAwMiZhbXA7cmZ0LnZvbHVtZT0yMyZhbXA7cmZ0Lmlzc3Vl
PTIzJmFtcDtyZnQucGFnZXM9MTg2NyVFMiU4MCU5Mzc2JmFtcDtyZnRfaWQ9aW5m
bzpkb2kvMTAuMTA1MyUyRmV1aGouMjAwMi4zMjU1JmFtcDtyZnRfaWQ9aW5mbzpw
bWlkLzEyNDQ1NTM2JmFtcDtyZnRfaWQ9aHR0cCUzQSUyRiUyRmV1cmhlYXJ0ai5v
eGZvcmRqb3VybmFscy5vcmclMkZjZ2klMkZwbWlkbG9va3VwJTNGdmlldyUzRGxv
bmclMjZwbWlkJTNEMTI0NDU1MzYmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtp
cGVkaWEub3JnOkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBu
b25lOyI+JiMxNjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90
ZS1uZXViYXVlci0yMDA3LTkiPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi1uZXViYXVl
ci0yMDA3XzktMCI+XjwvYT48L2I+IDxzcGFuIGNsYXNzPSJjaXRhdGlvbiBKb3Vy
bmFsIj5OZXViYXVlciBTICgyMDA3KS4gIlRoZSBmYWlsaW5nIGhlYXJ0IOKAlCBh
biBlbmdpbmUgb3V0IG9mIGZ1ZWwiLiA8aT5OIEVuZ2wgSiBNZWQ8L2k+IDxiPjM1
NjwvYj4gKDExKTogMTE0MOKAkzUxLiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29i
amVjdF9pZGVudGlmaWVyIiB0aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmll
ciI+ZG9pPC9hPjo8YSBocmVmPSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMDU2JTJG
TkVKTXJhMDYzMDUyIiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxv
dyI+MTAuMTA1Ni9ORUpNcmEwNjMwNTI8L2E+LiA8YSBocmVmPSIvd2lraS9QdWJN
ZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1Yk1lZCBJZGVudGlmaWVyIiBjbGFzcz0i
bXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMxNjA7PGEgaHJlZj0iaHR0cDovL3d3dy5u
Y2JpLm5sbS5uaWguZ292L3B1Ym1lZC8xNzM2MDk5MiIgY2xhc3M9ImV4dGVybmFs
IHRleHQiIHJlbD0ibm9mb2xsb3ciPjE3MzYwOTkyPC9hPi48L3NwYW4+PHNwYW4g
Y2xhc3M9IlozOTg4IiB0aXRsZT0iY3R4X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0
X3ZhbF9mbXQ9aW5mbyUzQW9maSUyRmZtdCUzQWtldiUzQW10eCUzQWpvdXJuYWwm
YW1wO3JmdC5nZW5yZT1hcnRpY2xlJmFtcDtyZnQuYXRpdGxlPVRoZStmYWlsaW5n
K2hlYXJ0KyVFMiU4MCU5NCthbitlbmdpbmUrb3V0K29mK2Z1ZWwmYW1wO3JmdC5q
dGl0bGU9TitFbmdsK0orTWVkJmFtcDtyZnQuYXVsYXN0PU5ldWJhdWVyK1MmYW1w
O3JmdC5hdT1OZXViYXVlcitTJmFtcDtyZnQuZGF0ZT0yMDA3JmFtcDtyZnQudm9s
dW1lPTM1NiZhbXA7cmZ0Lmlzc3VlPTExJmFtcDtyZnQucGFnZXM9MTE0MCVFMiU4
MCU5MzUxJmFtcDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTA1NiUyRk5FSk1yYTA2MzA1
MiZhbXA7cmZ0X2lkPWluZm86cG1pZC8xNzM2MDk5MiZhbXA7cmZyX2lkPWluZm86
c2lkL2VuLndpa2lwZWRpYS5vcmc6SGVhcnRfZmFpbHVyZSI+PHNwYW4gc3R5bGU9
ImRpc3BsYXk6IG5vbmU7Ij4mIzE2MDs8L3NwYW4+PC9zcGFuPjwvbGk+CjxsaSBp
ZD0iY2l0ZV9ub3RlLWRvcmxhbmRzTmluZS0xMCI+XiA8YSBocmVmPSIjY2l0ZV9y
ZWYtZG9ybGFuZHNOaW5lXzEwLTAiPjxzdXA+PGk+PGI+YTwvYj48L2k+PC9zdXA+
PC9hPiA8YSBocmVmPSIjY2l0ZV9yZWYtZG9ybGFuZHNOaW5lXzEwLTEiPjxzdXA+
PGk+PGI+YjwvYj48L2k+PC9zdXA+PC9hPiA8aT48YSBocmVmPSJodHRwOi8vd3d3
Lm1lcmNrc291cmNlLmNvbS9wcC91cy9jbnMvY25zX2hsX2RvcmxhbmRzX3NwbGl0
LmpzcD9wZz0vcHBkb2NzL3VzL2NvbW1vbi9kb3JsYW5kcy9kb3JsYW5kL25pbmUv
MDAwOTUzNDQ4Lmh0bSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xs
b3ciPmNvbmdlc3RpdmUgaGVhcnQgZmFpbHVyZTwvYT48L2k+IGF0IDxhIGhyZWY9
Ii93aWtpL0RvcmxhbmQlMjdzX01lZGljYWxfRGljdGlvbmFyeSIgdGl0bGU9IkRv
cmxhbmQncyBNZWRpY2FsIERpY3Rpb25hcnkiIGNsYXNzPSJtdy1yZWRpcmVjdCI+
RG9ybGFuZCdzIE1lZGljYWwgRGljdGlvbmFyeTwvYT48L2xpPgo8bGkgaWQ9ImNp
dGVfbm90ZS0xMSI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLTExIj5ePC9hPjwvYj4g
PGk+PGEgaHJlZj0iaHR0cDovL3d3dy5tZXJja3NvdXJjZS5jb20vcHAvdXMvY25z
L2Nuc19obF9kb3JsYW5kc19zcGxpdC5qc3A/cGc9L3BwZG9jcy91cy9jb21tb24v
ZG9ybGFuZHMvZG9ybGFuZC9uaW5lLzAwMDk1MzQ1MC5odG0iIGNsYXNzPSJleHRl
cm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5oaWdoLW91dHB1dCBoZWFydCBmYWls
dXJlPC9hPjwvaT4gYXQgPGEgaHJlZj0iL3dpa2kvRG9ybGFuZCUyN3NfTWVkaWNh
bF9EaWN0aW9uYXJ5IiB0aXRsZT0iRG9ybGFuZCdzIE1lZGljYWwgRGljdGlvbmFy
eSIgY2xhc3M9Im13LXJlZGlyZWN0Ij5Eb3JsYW5kJ3MgTWVkaWNhbCBEaWN0aW9u
YXJ5PC9hPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLUplc3N1cDIwMDktMTIiPjxi
PjxhIGhyZWY9IiNjaXRlX3JlZi1KZXNzdXAyMDA5XzEyLTAiPl48L2E+PC9iPiBK
ZXNzdXAuIE0sIGV0IGFsLiAyMDA5IEZvY3VzZWQgVXBkYXRlOiBBQ0NGL0FIQSBH
dWlkZWxpbmVzIGZvciB0aGUgRGlhZ25vc2lzIGFuZCBNYW5hZ2VtZW50IG9mIEhl
YXJ0IEZhaWx1cmUgaW4gQWR1bHRzLiBDaXJjdWxhdGlvbi4gMjAwOSBBcHIgMTQ7
MTE5KDE0KToxOTc3LTIwMTYuIDxhIGhyZWY9Imh0dHA6Ly93d3cubmNiaS5ubG0u
bmloLmdvdi9wdWJtZWQvMTkzMjQ5NjciIGNsYXNzPSJleHRlcm5hbCBtdy1tYWdp
Y2xpbmstcG1pZCI+UE1JRCAxOTMyNDk2NzwvYT48L2xpPgo8bGkgaWQ9ImNpdGVf
bm90ZS0xMyI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLTEzIj5ePC9hPjwvYj4gQ3Jp
dGVyaWEgQ29tbWl0dGVlLCBOZXcgWW9yayBIZWFydCBBc3NvY2lhdGlvbi4gPGk+
RGlzZWFzZXMgb2YgdGhlIGhlYXJ0IGFuZCBibG9vZCB2ZXNzZWxzLiBOb21lbmNs
YXR1cmUgYW5kIGNyaXRlcmlhIGZvciBkaWFnbm9zaXMsIDZ0aCBlZC48L2k+IEJv
c3RvbjogTGl0dGxlLCBCcm93biBhbmQgY28sIDE5NjQ7MTE0LjwvbGk+CjxsaSBp
ZD0iY2l0ZV9ub3RlLTE0Ij48Yj48YSBocmVmPSIjY2l0ZV9yZWYtMTQiPl48L2E+
PC9iPiA8c3BhbiBjbGFzcz0iY2l0YXRpb24gSm91cm5hbCI+UmFwaGFlbCBDLCBC
cmlzY29lIEMsIERhdmllcyBKLCA8aT5ldCBhbC48L2k+ICgyMDA3KS4gPGEgaHJl
Zj0iaHR0cDovL3d3dy5wdWJtZWRjZW50cmFsLm5paC5nb3YvYXJ0aWNsZXJlbmRl
ci5mY2dpP3Rvb2w9cG1jZW50cmV6JmFtcDthcnRpZD0xODYxNTAxIiBjbGFzcz0i
ZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+IkxpbWl0YXRpb25zIG9mIHRo
ZSBOZXcgWW9yayBIZWFydCBBc3NvY2lhdGlvbiBmdW5jdGlvbmFsIGNsYXNzaWZp
Y2F0aW9uIHN5c3RlbSBhbmQgc2VsZi1yZXBvcnRlZCB3YWxraW5nIGRpc3RhbmNl
cyBpbiBjaHJvbmljIGhlYXJ0IGZhaWx1cmUiPC9hPi4gPGk+SGVhcnQ8L2k+IDxi
PjkzPC9iPiAoNCk6IDQ3NuKAkzgyLiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29i
amVjdF9pZGVudGlmaWVyIiB0aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmll
ciI+ZG9pPC9hPjo8YSBocmVmPSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMTM2JTJG
aHJ0LjIwMDYuMDg5NjU2IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2Zv
bGxvdyI+MTAuMTEzNi9ocnQuMjAwNi4wODk2NTY8L2E+LiA8YSBocmVmPSIvd2lr
aS9QdWJNZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1Yk1lZCBJZGVudGlmaWVyIiBj
bGFzcz0ibXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMxNjA7PGEgaHJlZj0iaHR0cDov
L3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8xNzAwNTcxNSIgY2xhc3M9ImV4
dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjE3MDA1NzE1PC9hPi48L3NwYW4+
PHNwYW4gY2xhc3M9IlozOTg4IiB0aXRsZT0iY3R4X3Zlcj1aMzkuODgtMjAwNCZh
bXA7cmZ0X3ZhbF9mbXQ9aW5mbyUzQW9maSUyRmZtdCUzQWtldiUzQW10eCUzQWpv
dXJuYWwmYW1wO3JmdC5nZW5yZT1hcnRpY2xlJmFtcDtyZnQuYXRpdGxlPUxpbWl0
YXRpb25zK29mK3RoZStOZXcrWW9yaytIZWFydCtBc3NvY2lhdGlvbitmdW5jdGlv
bmFsK2NsYXNzaWZpY2F0aW9uK3N5c3RlbSthbmQrc2VsZi1yZXBvcnRlZCt3YWxr
aW5nK2Rpc3RhbmNlcytpbitjaHJvbmljK2hlYXJ0K2ZhaWx1cmUmYW1wO3JmdC5q
dGl0bGU9SGVhcnQmYW1wO3JmdC5hdWxhc3Q9UmFwaGFlbCtDJTJDK0JyaXNjb2Ur
QyUyQytEYXZpZXMrSiUyQyslMjclMjdldCthbC4lMjclMjcmYW1wO3JmdC5hdT1S
YXBoYWVsK0MlMkMrQnJpc2NvZStDJTJDK0RhdmllcytKJTJDKyUyNyUyN2V0K2Fs
LiUyNyUyNyZhbXA7cmZ0LmRhdGU9MjAwNyZhbXA7cmZ0LnZvbHVtZT05MyZhbXA7
cmZ0Lmlzc3VlPTQmYW1wO3JmdC5wYWdlcz00NzYlRTIlODAlOTM4MiZhbXA7cmZ0
X2lkPWluZm86ZG9pLzEwLjExMzYlMkZocnQuMjAwNi4wODk2NTYmYW1wO3JmdF9p
ZD1pbmZvOnBtaWQvMTcwMDU3MTUmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtp
cGVkaWEub3JnOkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBu
b25lOyI+JiMxNjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90
ZS1IdW50LTIwMDUtMTUiPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi1IdW50LTIwMDVf
MTUtMCI+XjwvYT48L2I+IDxzcGFuIGNsYXNzPSJjaXRhdGlvbiBKb3VybmFsIj5I
dW50IFNBLCBBYnJhaGFtIFdULCBDaGluIE1ILCA8aT5ldCBhbC48L2k+ICgyMDA1
KS4gPGEgaHJlZj0iaHR0cDovL2NpcmMuYWhham91cm5hbHMub3JnL2NnaS9yZXBy
aW50LzExMi8xMi9lMTU0LnBkZiIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0i
bm9mb2xsb3ciPiJBQ0MvQUhBIDIwMDUgR3VpZGVsaW5lIFVwZGF0ZSBmb3IgdGhl
IERpYWdub3NpcyBhbmQgTWFuYWdlbWVudCBvZiBDaHJvbmljIEhlYXJ0IEZhaWx1
cmUgaW4gdGhlIEFkdWx0IjwvYT4gKFBERikuIDxpPkNpcmN1bGF0aW9uPC9pPiA8
Yj4xMTI8L2I+ICgxMik6IGUxNTTigJMyMzUuIDxhIGhyZWY9Ii93aWtpL0RpZ2l0
YWxfb2JqZWN0X2lkZW50aWZpZXIiIHRpdGxlPSJEaWdpdGFsIG9iamVjdCBpZGVu
dGlmaWVyIj5kb2k8L2E+OjxhIGhyZWY9Imh0dHA6Ly9keC5kb2kub3JnLzEwLjEx
NjElMkZDSVJDVUxBVElPTkFIQS4xMDUuMTY3NTg2IiBjbGFzcz0iZXh0ZXJuYWwg
dGV4dCIgcmVsPSJub2ZvbGxvdyI+MTAuMTE2MS9DSVJDVUxBVElPTkFIQS4xMDUu
MTY3NTg2PC9hPi4gPGEgaHJlZj0iL3dpa2kvUHViTWVkX0lkZW50aWZpZXIiIHRp
dGxlPSJQdWJNZWQgSWRlbnRpZmllciIgY2xhc3M9Im13LXJlZGlyZWN0Ij5QTUlE
PC9hPiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9w
dWJtZWQvMTYxNjAyMDIiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9s
bG93Ij4xNjE2MDIwMjwvYT48c3BhbiBjbGFzcz0icHJpbnRvbmx5Ij4uIDxhIGhy
ZWY9Imh0dHA6Ly9jaXJjLmFoYWpvdXJuYWxzLm9yZy9jZ2kvcmVwcmludC8xMTIv
MTIvZTE1NC5wZGYiIGNsYXNzPSJleHRlcm5hbCBmcmVlIiByZWw9Im5vZm9sbG93
Ij5odHRwOi8vY2lyYy5haGFqb3VybmFscy5vcmcvY2dpL3JlcHJpbnQvMTEyLzEy
L2UxNTQucGRmPC9hPjwvc3Bhbj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJaMzk4OCIg
dGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3JmdF92YWxfZm10PWluZm8l
M0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fqb3VybmFsJmFtcDtyZnQuZ2VucmU9
YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1BQ0MlMkZBSEErMjAwNStHdWlkZWxpbmUr
VXBkYXRlK2Zvcit0aGUrRGlhZ25vc2lzK2FuZCtNYW5hZ2VtZW50K29mK0Nocm9u
aWMrSGVhcnQrRmFpbHVyZStpbit0aGUrQWR1bHQmYW1wO3JmdC5qdGl0bGU9Q2ly
Y3VsYXRpb24mYW1wO3JmdC5hdWxhc3Q9SHVudCtTQSUyQytBYnJhaGFtK1dUJTJD
K0NoaW4rTUglMkMrJTI3JTI3ZXQrYWwuJTI3JTI3JmFtcDtyZnQuYXU9SHVudCtT
QSUyQytBYnJhaGFtK1dUJTJDK0NoaW4rTUglMkMrJTI3JTI3ZXQrYWwuJTI3JTI3
JmFtcDtyZnQuZGF0ZT0yMDA1JmFtcDtyZnQudm9sdW1lPTExMiZhbXA7cmZ0Lmlz
c3VlPTEyJmFtcDtyZnQucGFnZXM9ZTE1NCVFMiU4MCU5MzIzNSZhbXA7cmZ0X2lk
PWluZm86ZG9pLzEwLjExNjElMkZDSVJDVUxBVElPTkFIQS4xMDUuMTY3NTg2JmFt
cDtyZnRfaWQ9aW5mbzpwbWlkLzE2MTYwMjAyJmFtcDtyZnRfaWQ9aHR0cCUzQSUy
RiUyRmNpcmMuYWhham91cm5hbHMub3JnJTJGY2dpJTJGcmVwcmludCUyRjExMiUy
RjEyJTJGZTE1NC5wZGYmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtpcGVkaWEu
b3JnOkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+
JiMxNjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS0xNiI+
PGI+PGEgaHJlZj0iI2NpdGVfcmVmLTE2Ij5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9
ImNpdGF0aW9uIEpvdXJuYWwiPkhlIEo7IE9nZGVuIExHOyBCYXp6YW5vIExBOyBW
dXBwdXR1cmkgUywgPGk+ZXQgYWwuPC9pPiAoMjAwMSkuICJSaXNrIGZhY3RvcnMg
Zm9yIGNvbmdlc3RpdmUgaGVhcnQgZmFpbHVyZSBpbiBVUyBtZW4gYW5kIHdvbWVu
OiBOSEFORVMgSSBlcGlkZW1pb2xvZ2ljIGZvbGxvdy11cCBzdHVkeS4iLiA8aT5B
cmNoLiBJbnRlcm4uIE1lZC48L2k+IDxiPjE2MTwvYj4gKDcpOiA5OTbigJMxMDAy
LiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9pZGVudGlmaWVyIiB0aXRs
ZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9pPC9hPjo8YSBocmVmPSJo
dHRwOi8vZHguZG9pLm9yZy8xMC4xMDAxJTJGYXJjaGludGUuMTYxLjcuOTk2IiBj
bGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+MTAuMTAwMS9hcmNo
aW50ZS4xNjEuNy45OTY8L2E+LiA8YSBocmVmPSIvd2lraS9QdWJNZWRfSWRlbnRp
ZmllciIgdGl0bGU9IlB1Yk1lZCBJZGVudGlmaWVyIiBjbGFzcz0ibXctcmVkaXJl
Y3QiPlBNSUQ8L2E+JiMxNjA7PGEgaHJlZj0iaHR0cDovL3d3dy5uY2JpLm5sbS5u
aWguZ292L3B1Ym1lZC8xMTI5NTk2MyIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJl
bD0ibm9mb2xsb3ciPjExMjk1OTYzPC9hPi48L3NwYW4+PHNwYW4gY2xhc3M9Iloz
OTg4IiB0aXRsZT0iY3R4X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0X3ZhbF9mbXQ9
aW5mbyUzQW9maSUyRmZtdCUzQWtldiUzQW10eCUzQWpvdXJuYWwmYW1wO3JmdC5n
ZW5yZT1hcnRpY2xlJmFtcDtyZnQuYXRpdGxlPVJpc2srZmFjdG9ycytmb3IrY29u
Z2VzdGl2ZStoZWFydCtmYWlsdXJlK2luK1VTK21lbithbmQrd29tZW4lM0ErTkhB
TkVTK0krZXBpZGVtaW9sb2dpYytmb2xsb3ctdXArc3R1ZHkuJmFtcDtyZnQuanRp
dGxlPUFyY2guK0ludGVybi4rTWVkLiZhbXA7cmZ0LmF1bGFzdD1IZStKJTNCK09n
ZGVuK0xHJTNCK0Jhenphbm8rTEElM0IrVnVwcHV0dXJpK1MlMkMrJTI3JTI3ZXQr
YWwuJTI3JTI3JmFtcDtyZnQuYXU9SGUrSiUzQitPZ2RlbitMRyUzQitCYXp6YW5v
K0xBJTNCK1Z1cHB1dHVyaStTJTJDKyUyNyUyN2V0K2FsLiUyNyUyNyZhbXA7cmZ0
LmRhdGU9MjAwMSZhbXA7cmZ0LnZvbHVtZT0xNjEmYW1wO3JmdC5pc3N1ZT03JmFt
cDtyZnQucGFnZXM9OTk2JUUyJTgwJTkzMTAwMiZhbXA7cmZ0X2lkPWluZm86ZG9p
LzEwLjEwMDElMkZhcmNoaW50ZS4xNjEuNy45OTYmYW1wO3JmdF9pZD1pbmZvOnBt
aWQvMTEyOTU5NjMmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtpcGVkaWEub3Jn
OkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+JiMx
NjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS0xNyI+PGI+
PGEgaHJlZj0iI2NpdGVfcmVmLTE3Ij5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNp
dGF0aW9uIEpvdXJuYWwiPkJhbGRhc3Nlcm9uaSBTOyBPcGFzaWNoIEM7IEdvcmlu
aSBNOyBMdWNjaSBELCA8aT5ldCBhbC48L2k+ICgyMDAyKS4gIkxlZnQgYnVuZGxl
LWJyYW5jaCBibG9jayBpcyBhc3NvY2lhdGVkIHdpdGggaW5jcmVhc2VkIDEteWVh
ciBzdWRkZW4gYW5kIHRvdGFsIG1vcnRhbGl0eSByYXRlIGluIDU1MTcgb3V0cGF0
aWVudHMgd2l0aCBjb25nZXN0aXZlIGhlYXJ0IGZhaWx1cmU6IGEgcmVwb3J0IGZy
b20gdGhlIEl0YWxpYW4gbmV0d29yayBvbiBjb25nZXN0aXZlIGhlYXJ0IGZhaWx1
cmUuIi4gPGk+QW1lcmljYW4gSGVhcnQgSm91cm5hbDwvaT4gPGI+MTQzPC9iPiAo
Myk6IDM5OOKAkzQwNS4gPGEgaHJlZj0iL3dpa2kvRGlnaXRhbF9vYmplY3RfaWRl
bnRpZmllciIgdGl0bGU9IkRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiPmRvaTwv
YT46PGEgaHJlZj0iaHR0cDovL2R4LmRvaS5vcmcvMTAuMTA2NyUyRm1oai4yMDAy
LjEyMTI2NCIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjEw
LjEwNjcvbWhqLjIwMDIuMTIxMjY0PC9hPi4gPGEgaHJlZj0iL3dpa2kvUHViTWVk
X0lkZW50aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRlbnRpZmllciIgY2xhc3M9Im13
LXJlZGlyZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly93d3cubmNi
aS5ubG0ubmloLmdvdi9wdWJtZWQvMTE4NjgwNDMiIGNsYXNzPSJleHRlcm5hbCB0
ZXh0IiByZWw9Im5vZm9sbG93Ij4xMTg2ODA0MzwvYT4uPC9zcGFuPjxzcGFuIGNs
YXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3JmdF92
YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fqb3VybmFsJmFt
cDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1MZWZ0K2J1bmRsZS1i
cmFuY2grYmxvY2sraXMrYXNzb2NpYXRlZCt3aXRoK2luY3JlYXNlZCsxLXllYXIr
c3VkZGVuK2FuZCt0b3RhbCttb3J0YWxpdHkrcmF0ZStpbis1NTE3K291dHBhdGll
bnRzK3dpdGgrY29uZ2VzdGl2ZStoZWFydCtmYWlsdXJlJTNBK2ErcmVwb3J0K2Zy
b20rdGhlK0l0YWxpYW4rbmV0d29yaytvbitjb25nZXN0aXZlK2hlYXJ0K2ZhaWx1
cmUuJmFtcDtyZnQuanRpdGxlPUFtZXJpY2FuK0hlYXJ0K0pvdXJuYWwmYW1wO3Jm
dC5hdWxhc3Q9QmFsZGFzc2Vyb25pK1MlM0IrT3Bhc2ljaCtDJTNCK0dvcmluaStN
JTNCK0x1Y2NpK0QlMkMrJTI3JTI3ZXQrYWwuJTI3JTI3JmFtcDtyZnQuYXU9QmFs
ZGFzc2Vyb25pK1MlM0IrT3Bhc2ljaCtDJTNCK0dvcmluaStNJTNCK0x1Y2NpK0Ql
MkMrJTI3JTI3ZXQrYWwuJTI3JTI3JmFtcDtyZnQuZGF0ZT0yMDAyJmFtcDtyZnQu
dm9sdW1lPTE0MyZhbXA7cmZ0Lmlzc3VlPTMmYW1wO3JmdC5wYWdlcz0zOTglRTIl
ODAlOTM0MDUmYW1wO3JmdF9pZD1pbmZvOmRvaS8xMC4xMDY3JTJGbWhqLjIwMDIu
MTIxMjY0JmFtcDtyZnRfaWQ9aW5mbzpwbWlkLzExODY4MDQzJmFtcDtyZnJfaWQ9
aW5mbzpzaWQvZW4ud2lraXBlZGlhLm9yZzpIZWFydF9mYWlsdXJlIj48c3BhbiBz
dHlsZT0iZGlzcGxheTogbm9uZTsiPiYjMTYwOzwvc3Bhbj48L3NwYW4+PC9saT4K
PGxpIGlkPSJjaXRlX25vdGUtT1BUSU1JWkUtSEYtMTgiPjxiPjxhIGhyZWY9IiNj
aXRlX3JlZi1PUFRJTUlaRS1IRl8xOC0wIj5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9
ImNpdGF0aW9uIEpvdXJuYWwiPkZvbmFyb3cgR0MsIEFicmFoYW0gV1QsIEFsYmVy
dCBOTSwgPGk+ZXQgYWwuPC9pPiAoQXByaWwgMjAwOCkuICJGYWN0b3JzIElkZW50
aWZpZWQgYXMgUHJlY2lwaXRhdGluZyBIb3NwaXRhbCBBZG1pc3Npb25zIGZvciBI
ZWFydCBGYWlsdXJlIGFuZCBDbGluaWNhbCBPdXRjb21lczogRmluZGluZ3MgRnJv
bSBPUFRJTUlaRS1IRiIuIDxpPkFyY2guIEludGVybi4gTWVkLjwvaT4gPGI+MTY4
PC9iPiAoOCk6IDg0N+KAkzg1NC4gPGEgaHJlZj0iL3dpa2kvRGlnaXRhbF9vYmpl
Y3RfaWRlbnRpZmllciIgdGl0bGU9IkRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIi
PmRvaTwvYT46PGEgaHJlZj0iaHR0cDovL2R4LmRvaS5vcmcvMTAuMTAwMSUyRmFy
Y2hpbnRlLjE2OC44Ljg0NyIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9m
b2xsb3ciPjEwLjEwMDEvYXJjaGludGUuMTY4LjguODQ3PC9hPi4gPGEgaHJlZj0i
L3dpa2kvUHViTWVkX0lkZW50aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRlbnRpZmll
ciIgY2xhc3M9Im13LXJlZGlyZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhyZWY9Imh0
dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMTg0NDMyNjAiIGNsYXNz
PSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij4xODQ0MzI2MDwvYT4uPC9z
cGFuPjxzcGFuIGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIw
MDQmYW1wO3JmdF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHgl
M0Fqb3VybmFsJmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1G
YWN0b3JzK0lkZW50aWZpZWQrYXMrUHJlY2lwaXRhdGluZytIb3NwaXRhbCtBZG1p
c3Npb25zK2ZvcitIZWFydCtGYWlsdXJlK2FuZCtDbGluaWNhbCtPdXRjb21lcyUz
QStGaW5kaW5ncytGcm9tK09QVElNSVpFLUhGJmFtcDtyZnQuanRpdGxlPUFyY2gu
K0ludGVybi4rTWVkLiZhbXA7cmZ0LmF1bGFzdD1Gb25hcm93K0dDJTJDK0FicmFo
YW0rV1QlMkMrQWxiZXJ0K05NJTJDKyUyNyUyN2V0K2FsLiUyNyUyNyZhbXA7cmZ0
LmF1PUZvbmFyb3crR0MlMkMrQWJyYWhhbStXVCUyQytBbGJlcnQrTk0lMkMrJTI3
JTI3ZXQrYWwuJTI3JTI3JmFtcDtyZnQuZGF0ZT1BcHJpbCsyMDA4JmFtcDtyZnQu
dm9sdW1lPTE2OCZhbXA7cmZ0Lmlzc3VlPTgmYW1wO3JmdC5wYWdlcz04NDclRTIl
ODAlOTM4NTQmYW1wO3JmdF9pZD1pbmZvOmRvaS8xMC4xMDAxJTJGYXJjaGludGUu
MTY4LjguODQ3JmFtcDtyZnRfaWQ9aW5mbzpwbWlkLzE4NDQzMjYwJmFtcDtyZnJf
aWQ9aW5mbzpzaWQvZW4ud2lraXBlZGlhLm9yZzpIZWFydF9mYWlsdXJlIj48c3Bh
biBzdHlsZT0iZGlzcGxheTogbm9uZTsiPiYjMTYwOzwvc3Bhbj48L3NwYW4+PC9s
aT4KPGxpIGlkPSJjaXRlX25vdGUtMTkiPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi0x
OSI+XjwvYT48L2I+IDxzcGFuIGNsYXNzPSJjaXRhdGlvbiBKb3VybmFsIj5OaWVt
aW5lbiBNUywgQsO2aG0gTSwgQ293aWUgTVIsIDxpPmV0IGFsLjwvaT4gKEZlYnJ1
YXJ5IDIwMDUpLiA8YSBocmVmPSJodHRwOi8vZXVyaGVhcnRqLm94Zm9yZGpvdXJu
YWxzLm9yZy9jZ2kvY29udGVudC9mdWxsLzI2LzQvMzg0IiBjbGFzcz0iZXh0ZXJu
YWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+IkV4ZWN1dGl2ZSBzdW1tYXJ5IG9mIHRo
ZSBndWlkZWxpbmVzIG9uIHRoZSBkaWFnbm9zaXMgYW5kIHRyZWF0bWVudCBvZiBh
Y3V0ZSBoZWFydCBmYWlsdXJlOiB0aGUgVGFzayBGb3JjZSBvbiBBY3V0ZSBIZWFy
dCBGYWlsdXJlIG9mIHRoZSBFdXJvcGVhbiBTb2NpZXR5IG9mIENhcmRpb2xvZ3ki
PC9hPi4gPGk+RXVyLiBIZWFydCBKLjwvaT4gPGI+MjY8L2I+ICg0KTogMzg04oCT
NDE2LiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9pZGVudGlmaWVyIiB0
aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9pPC9hPjo8YSBocmVm
PSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMDkzJTJGZXVyaGVhcnRqJTJGZWhpMDQ0
IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+MTAuMTA5My9l
dXJoZWFydGovZWhpMDQ0PC9hPi4gPGEgaHJlZj0iL3dpa2kvUHViTWVkX0lkZW50
aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRlbnRpZmllciIgY2xhc3M9Im13LXJlZGly
ZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly93d3cubmNiaS5ubG0u
bmloLmdvdi9wdWJtZWQvMTU2ODE1NzciIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiBy
ZWw9Im5vZm9sbG93Ij4xNTY4MTU3NzwvYT48c3BhbiBjbGFzcz0icHJpbnRvbmx5
Ij4uIDxhIGhyZWY9Imh0dHA6Ly9ldXJoZWFydGoub3hmb3Jkam91cm5hbHMub3Jn
L2NnaS9jb250ZW50L2Z1bGwvMjYvNC8zODQiIGNsYXNzPSJleHRlcm5hbCBmcmVl
IiByZWw9Im5vZm9sbG93Ij5odHRwOi8vZXVyaGVhcnRqLm94Zm9yZGpvdXJuYWxz
Lm9yZy9jZ2kvY29udGVudC9mdWxsLzI2LzQvMzg0PC9hPjwvc3Bhbj4uPC9zcGFu
PjxzcGFuIGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQm
YW1wO3JmdF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fq
b3VybmFsJmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1FeGVj
dXRpdmUrc3VtbWFyeStvZit0aGUrZ3VpZGVsaW5lcytvbit0aGUrZGlhZ25vc2lz
K2FuZCt0cmVhdG1lbnQrb2YrYWN1dGUraGVhcnQrZmFpbHVyZSUzQSt0aGUrVGFz
aytGb3JjZStvbitBY3V0ZStIZWFydCtGYWlsdXJlK29mK3RoZStFdXJvcGVhbitT
b2NpZXR5K29mK0NhcmRpb2xvZ3kmYW1wO3JmdC5qdGl0bGU9RXVyLitIZWFydCtK
LiZhbXA7cmZ0LmF1bGFzdD1OaWVtaW5lbitNUyUyQytCJUMzJUI2aG0rTSUyQytD
b3dpZStNUiUyQyslMjclMjdldCthbC4lMjclMjcmYW1wO3JmdC5hdT1OaWVtaW5l
bitNUyUyQytCJUMzJUI2aG0rTSUyQytDb3dpZStNUiUyQyslMjclMjdldCthbC4l
MjclMjcmYW1wO3JmdC5kYXRlPUZlYnJ1YXJ5KzIwMDUmYW1wO3JmdC52b2x1bWU9
MjYmYW1wO3JmdC5pc3N1ZT00JmFtcDtyZnQucGFnZXM9Mzg0JUUyJTgwJTkzNDE2
JmFtcDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTA5MyUyRmV1cmhlYXJ0aiUyRmVoaTA0
NCZhbXA7cmZ0X2lkPWluZm86cG1pZC8xNTY4MTU3NyZhbXA7cmZ0X2lkPWh0dHAl
M0ElMkYlMkZldXJoZWFydGoub3hmb3Jkam91cm5hbHMub3JnJTJGY2dpJTJGY29u
dGVudCUyRmZ1bGwlMkYyNiUyRjQlMkYzODQmYW1wO3Jmcl9pZD1pbmZvOnNpZC9l
bi53aWtpcGVkaWEub3JnOkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNw
bGF5OiBub25lOyI+JiMxNjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNp
dGVfbm90ZS0yMCI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLTIwIj5ePC9hPjwvYj4g
PGk+Qm9yb24gYW5kIEJvdWxwYWVwPC9pPiAyMDA1IE1lZGljYWwgUGh5c2lvbG9n
eSBVcGRhdGVkIEVkaXRpb24gcDUzMyA8YSBocmVmPSIvd2lraS9TcGVjaWFsOkJv
b2tTb3VyY2VzLzA3MjE2MzI1NjQiIGNsYXNzPSJpbnRlcm5hbCBtdy1tYWdpY2xp
bmstaXNibiI+SVNCTiAwLTcyMTYtMzI1Ni00PC9hPjwvbGk+CjxsaSBpZD0iY2l0
ZV9ub3RlLTIxIj48Yj48YSBocmVmPSIjY2l0ZV9yZWYtMjEiPl48L2E+PC9iPiA8
aT48YSBocmVmPSJodHRwOi8vd3d3Lmdwbm90ZWJvb2suY28udWsvc2ltcGxlcGFn
ZS5jZm0/SUQ9NjE3NjExMzE2IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJu
b2ZvbGxvdyI+Y2FyZGlhYyBwYXRob3BoeXNpb2xvZ3kgaW4gaGVhcnQgZmFpbHVy
ZTwvYT48L2k+IGF0IDxhIGhyZWY9Ii93aWtpL0dQbm90ZWJvb2siIHRpdGxlPSJH
UG5vdGVib29rIj5HUG5vdGVib29rPC9hPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3Rl
LTIyIj48Yj48YSBocmVmPSIjY2l0ZV9yZWYtMjIiPl48L2E+PC9iPiA8c3BhbiBj
bGFzcz0iY2l0YXRpb24gSm91cm5hbCI+U2hpZ2V5YW1hIEosIFlhc3VtdXJhIFks
IFNha2Ftb3RvIEEsIDxpPmV0IGFsLjwvaT4gKERlY2VtYmVyIDIwMDUpLiAiSW5j
cmVhc2VkIGdlbmUgZXhwcmVzc2lvbiBvZiBjb2xsYWdlbiBUeXBlcyBJIGFuZCBJ
SUkgaXMgaW5oaWJpdGVkIGJ5IGJldGEtcmVjZXB0b3IgYmxvY2thZGUgaW4gcGF0
aWVudHMgd2l0aCBkaWxhdGVkIGNhcmRpb215b3BhdGh5Ii4gPGk+RXVyLiBIZWFy
dCBKLjwvaT4gPGI+MjY8L2I+ICgyNCk6IDI2OTjigJM3MDUuIDxhIGhyZWY9Ii93
aWtpL0RpZ2l0YWxfb2JqZWN0X2lkZW50aWZpZXIiIHRpdGxlPSJEaWdpdGFsIG9i
amVjdCBpZGVudGlmaWVyIj5kb2k8L2E+OjxhIGhyZWY9Imh0dHA6Ly9keC5kb2ku
b3JnLzEwLjEwOTMlMkZldXJoZWFydGolMkZlaGk0OTIiIGNsYXNzPSJleHRlcm5h
bCB0ZXh0IiByZWw9Im5vZm9sbG93Ij4xMC4xMDkzL2V1cmhlYXJ0ai9laGk0OTI8
L2E+LiA8YSBocmVmPSIvd2lraS9QdWJNZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1
Yk1lZCBJZGVudGlmaWVyIiBjbGFzcz0ibXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMx
NjA7PGEgaHJlZj0iaHR0cDovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8x
NjIwNDI2OCIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjE2
MjA0MjY4PC9hPi48L3NwYW4+PHNwYW4gY2xhc3M9IlozOTg4IiB0aXRsZT0iY3R4
X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0X3ZhbF9mbXQ9aW5mbyUzQW9maSUyRmZt
dCUzQWtldiUzQW10eCUzQWpvdXJuYWwmYW1wO3JmdC5nZW5yZT1hcnRpY2xlJmFt
cDtyZnQuYXRpdGxlPUluY3JlYXNlZCtnZW5lK2V4cHJlc3Npb24rb2YrY29sbGFn
ZW4rVHlwZXMrSSthbmQrSUlJK2lzK2luaGliaXRlZCtieStiZXRhLXJlY2VwdG9y
K2Jsb2NrYWRlK2luK3BhdGllbnRzK3dpdGgrZGlsYXRlZCtjYXJkaW9teW9wYXRo
eSZhbXA7cmZ0Lmp0aXRsZT1FdXIuK0hlYXJ0K0ouJmFtcDtyZnQuYXVsYXN0PVNo
aWdleWFtYStKJTJDK1lhc3VtdXJhK1klMkMrU2FrYW1vdG8rQSUyQyslMjclMjdl
dCthbC4lMjclMjcmYW1wO3JmdC5hdT1TaGlnZXlhbWErSiUyQytZYXN1bXVyYStZ
JTJDK1Nha2Ftb3RvK0ElMkMrJTI3JTI3ZXQrYWwuJTI3JTI3JmFtcDtyZnQuZGF0
ZT1EZWNlbWJlcisyMDA1JmFtcDtyZnQudm9sdW1lPTI2JmFtcDtyZnQuaXNzdWU9
MjQmYW1wO3JmdC5wYWdlcz0yNjk4JUUyJTgwJTkzNzA1JmFtcDtyZnRfaWQ9aW5m
bzpkb2kvMTAuMTA5MyUyRmV1cmhlYXJ0aiUyRmVoaTQ5MiZhbXA7cmZ0X2lkPWlu
Zm86cG1pZC8xNjIwNDI2OCZhbXA7cmZyX2lkPWluZm86c2lkL2VuLndpa2lwZWRp
YS5vcmc6SGVhcnRfZmFpbHVyZSI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7
Ij4mIzE2MDs8L3NwYW4+PC9zcGFuPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLTIz
Ij48Yj48YSBocmVmPSIjY2l0ZV9yZWYtMjMiPl48L2E+PC9iPiA8c3BhbiBjbGFz
cz0iY2l0YXRpb24gSm91cm5hbCI+VHN1dHN1aSBILCBNYXRzdXNoaW1hIFMsIEtp
bnVnYXdhIFMsIDxpPmV0IGFsLjwvaT4gKE1heSAyMDA3KS4gPGEgaHJlZj0iaHR0
cDovL2pvaS5qbGMuanN0LmdvLmpwL0pTVC5KU1RBR0UvaHlwcmVzLzMwLjQzOT9m
cm9tPVB1Yk1lZCIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ci
PiJBbmdpb3RlbnNpbiBJSSB0eXBlIDEgcmVjZXB0b3IgYmxvY2tlciBhdHRlbnVh
dGVzIG15b2NhcmRpYWwgcmVtb2RlbGluZyBhbmQgcHJlc2VydmVzIGRpYXN0b2xp
YyBmdW5jdGlvbiBpbiBkaWFiZXRpYyBoZWFydCI8L2E+ICg8c3VwIGNsYXNzPSJu
b3ByaW50IElubGluZS1UZW1wbGF0ZSI+PHNwYW4gdGl0bGU9IiYjMTYwO3NpbmNl
IEp1bmUgMjAwOCIgc3R5bGU9IndoaXRlLXNwYWNlOiBub3dyYXA7Ij5bPGk+PGEg
aHJlZj0iL3dpa2kvV2lraXBlZGlhOkxpbmtfcm90IiB0aXRsZT0iV2lraXBlZGlh
Okxpbmsgcm90Ij5kZWFkIGxpbms8L2E+PC9pPl08L3NwYW4+PC9zdXA+IOKAkyA8
c3VwPjxhIGhyZWY9Imh0dHA6Ly9zY2hvbGFyLmdvb2dsZS5jby51ay9zY2hvbGFy
P2hsPWVuJmFtcDtscj0mYW1wO3E9aW50aXRsZSUzQUFuZ2lvdGVuc2luK0lJK3R5
cGUrMStyZWNlcHRvcitibG9ja2VyK2F0dGVudWF0ZXMrbXlvY2FyZGlhbCtyZW1v
ZGVsaW5nK2FuZCtwcmVzZXJ2ZXMrZGlhc3RvbGljK2Z1bmN0aW9uK2luK2RpYWJl
dGljK2hlYXJ0JmFtcDthc19wdWJsaWNhdGlvbj1IeXBlcnRlbnMuK1Jlcy4mYW1w
O2FzX3lsbz0yMDA3JmFtcDthc195aGk9MjAwNyZhbXA7YnRuRz1TZWFyY2giIGNs
YXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5TY2hvbGFyIHNlYXJj
aDwvYT48L3N1cD4pLiA8aT5IeXBlcnRlbnMuIFJlcy48L2k+IDxiPjMwPC9iPiAo
NSk6IDQzOeKAkzQ5LiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9pZGVu
dGlmaWVyIiB0aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9pPC9h
Pjo8YSBocmVmPSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMjkxJTJGaHlwcmVzLjMw
LjQzOSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjEwLjEy
OTEvaHlwcmVzLjMwLjQzOTwvYT4uIDxhIGhyZWY9Ii93aWtpL1B1Yk1lZF9JZGVu
dGlmaWVyIiB0aXRsZT0iUHViTWVkIElkZW50aWZpZXIiIGNsYXNzPSJtdy1yZWRp
cmVjdCI+UE1JRDwvYT4mIzE2MDs8YSBocmVmPSJodHRwOi8vd3d3Lm5jYmkubmxt
Lm5paC5nb3YvcHVibWVkLzE3NTg3NzU2IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIg
cmVsPSJub2ZvbGxvdyI+MTc1ODc3NTY8L2E+PHNwYW4gY2xhc3M9InByaW50b25s
eSI+LiA8YSBocmVmPSJodHRwOi8vam9pLmpsYy5qc3QuZ28uanAvSlNULkpTVEFH
RS9oeXByZXMvMzAuNDM5P2Zyb209UHViTWVkIiBjbGFzcz0iZXh0ZXJuYWwgZnJl
ZSIgcmVsPSJub2ZvbGxvdyI+aHR0cDovL2pvaS5qbGMuanN0LmdvLmpwL0pTVC5K
U1RBR0UvaHlwcmVzLzMwLjQzOT9mcm9tPVB1Yk1lZDwvYT48L3NwYW4+Ljwvc3Bh
bj48c3BhbiBjbGFzcz0iWjM5ODgiIHRpdGxlPSJjdHhfdmVyPVozOS44OC0yMDA0
JmFtcDtyZnRfdmFsX2ZtdD1pbmZvJTNBb2ZpJTJGZm10JTNBa2V2JTNBbXR4JTNB
am91cm5hbCZhbXA7cmZ0LmdlbnJlPWFydGljbGUmYW1wO3JmdC5hdGl0bGU9QW5n
aW90ZW5zaW4rSUkrdHlwZSsxK3JlY2VwdG9yK2Jsb2NrZXIrYXR0ZW51YXRlcytt
eW9jYXJkaWFsK3JlbW9kZWxpbmcrYW5kK3ByZXNlcnZlcytkaWFzdG9saWMrZnVu
Y3Rpb24raW4rZGlhYmV0aWMraGVhcnQmYW1wO3JmdC5qdGl0bGU9SHlwZXJ0ZW5z
LitSZXMuJmFtcDtyZnQuYXVsYXN0PVRzdXRzdWkrSCUyQytNYXRzdXNoaW1hK1Ml
MkMrS2ludWdhd2ErUyUyQyslMjclMjdldCthbC4lMjclMjcmYW1wO3JmdC5hdT1U
c3V0c3VpK0glMkMrTWF0c3VzaGltYStTJTJDK0tpbnVnYXdhK1MlMkMrJTI3JTI3
ZXQrYWwuJTI3JTI3JmFtcDtyZnQuZGF0ZT1NYXkrMjAwNyZhbXA7cmZ0LnZvbHVt
ZT0zMCZhbXA7cmZ0Lmlzc3VlPTUmYW1wO3JmdC5wYWdlcz00MzklRTIlODAlOTM0
OSZhbXA7cmZ0X2lkPWluZm86ZG9pLzEwLjEyOTElMkZoeXByZXMuMzAuNDM5JmFt
cDtyZnRfaWQ9aW5mbzpwbWlkLzE3NTg3NzU2JmFtcDtyZnRfaWQ9aHR0cCUzQSUy
RiUyRmpvaS5qbGMuanN0LmdvLmpwJTJGSlNULkpTVEFHRSUyRmh5cHJlcyUyRjMw
LjQzOSUzRmZyb20lM0RQdWJNZWQmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtp
cGVkaWEub3JnOkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBu
b25lOyI+JiMxNjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90
ZS0yNCI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLTI0Ij5ePC9hPjwvYj4gPHNwYW4g
Y2xhc3M9ImNpdGF0aW9uIEpvdXJuYWwiPktydWcgQVcsIEdyb3NzbWFubiBDLCBT
Y2h1c3RlciBDLCA8aT5ldCBhbC48L2k+IChPY3RvYmVyIDIwMDMpLiAiQWxkb3N0
ZXJvbmUgc3RpbXVsYXRlcyBlcGlkZXJtYWwgZ3Jvd3RoIGZhY3RvciByZWNlcHRv
ciBleHByZXNzaW9uIi4gPGk+Si4gQmlvbC4gQ2hlbS48L2k+IDxiPjI3ODwvYj4g
KDQ0KTogNDMwNjDigJM2LiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9p
ZGVudGlmaWVyIiB0aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9p
PC9hPjo8YSBocmVmPSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMDc0JTJGamJjLk0z
MDgxMzQyMDAiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij4x
MC4xMDc0L2piYy5NMzA4MTM0MjAwPC9hPi4gPGEgaHJlZj0iL3dpa2kvUHViTWVk
X0lkZW50aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRlbnRpZmllciIgY2xhc3M9Im13
LXJlZGlyZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly93d3cubmNi
aS5ubG0ubmloLmdvdi9wdWJtZWQvMTI5MzkyNjMiIGNsYXNzPSJleHRlcm5hbCB0
ZXh0IiByZWw9Im5vZm9sbG93Ij4xMjkzOTI2MzwvYT4uPC9zcGFuPjxzcGFuIGNs
YXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3JmdF92
YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fqb3VybmFsJmFt
cDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1BbGRvc3Rlcm9uZStz
dGltdWxhdGVzK2VwaWRlcm1hbCtncm93dGgrZmFjdG9yK3JlY2VwdG9yK2V4cHJl
c3Npb24mYW1wO3JmdC5qdGl0bGU9Si4rQmlvbC4rQ2hlbS4mYW1wO3JmdC5hdWxh
c3Q9S3J1ZytBVyUyQytHcm9zc21hbm4rQyUyQytTY2h1c3RlcitDJTJDKyUyNyUy
N2V0K2FsLiUyNyUyNyZhbXA7cmZ0LmF1PUtydWcrQVclMkMrR3Jvc3NtYW5uK0Ml
MkMrU2NodXN0ZXIrQyUyQyslMjclMjdldCthbC4lMjclMjcmYW1wO3JmdC5kYXRl
PU9jdG9iZXIrMjAwMyZhbXA7cmZ0LnZvbHVtZT0yNzgmYW1wO3JmdC5pc3N1ZT00
NCZhbXA7cmZ0LnBhZ2VzPTQzMDYwJUUyJTgwJTkzNiZhbXA7cmZ0X2lkPWluZm86
ZG9pLzEwLjEwNzQlMkZqYmMuTTMwODEzNDIwMCZhbXA7cmZ0X2lkPWluZm86cG1p
ZC8xMjkzOTI2MyZhbXA7cmZyX2lkPWluZm86c2lkL2VuLndpa2lwZWRpYS5vcmc6
SGVhcnRfZmFpbHVyZSI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4mIzE2
MDs8L3NwYW4+PC9zcGFuPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLTI1Ij48Yj48
YSBocmVmPSIjY2l0ZV9yZWYtMjUiPl48L2E+PC9iPiA8aT48YSBocmVmPSJodHRw
Oi8vd3d3Lmdwbm90ZWJvb2suY28udWsvc2ltcGxlcGFnZS5jZm0/SUQ9OTE5NjAx
MjA0IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+c3lzdGVt
aWMgcGF0aG9waHlzaW9sb2d5IGluIGhlYXJ0IGZhaWx1cmU8L2E+PC9pPiBhdCA8
YSBocmVmPSIvd2lraS9HUG5vdGVib29rIiB0aXRsZT0iR1Bub3RlYm9vayI+R1Bu
b3RlYm9vazwvYT48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS0yNiI+PGI+PGEgaHJl
Zj0iI2NpdGVfcmVmLTI2Ij5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNpdGF0aW9u
IEpvdXJuYWwiPk1jS2VlIFBBLCBDYXN0ZWxsaSBXUCwgTWNOYW1hcmEgUE0sIEth
bm5lbCBXQiAoMTk3MSkuICJUaGUgbmF0dXJhbCBoaXN0b3J5IG9mIGNvbmdlc3Rp
dmUgaGVhcnQgZmFpbHVyZTogdGhlIEZyYW1pbmdoYW0gc3R1ZHkiLiA8aT5OLiBF
bmdsLiBKLiBNZWQuPC9pPiA8Yj4yODU8L2I+ICgyNik6IDE0NDHigJM2LiA8YSBo
cmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9pZGVudGlmaWVyIiB0aXRsZT0iRGln
aXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9pPC9hPjo8YSBocmVmPSJodHRwOi8v
ZHguZG9pLm9yZy8xMC4xMDU2JTJGTkVKTTE5NzExMjIzMjg1MjYwMSIgY2xhc3M9
ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjEwLjEwNTYvTkVKTTE5NzEx
MjIzMjg1MjYwMTwvYT4uIDxhIGhyZWY9Ii93aWtpL1B1Yk1lZF9JZGVudGlmaWVy
IiB0aXRsZT0iUHViTWVkIElkZW50aWZpZXIiIGNsYXNzPSJtdy1yZWRpcmVjdCI+
UE1JRDwvYT4mIzE2MDs8YSBocmVmPSJodHRwOi8vd3d3Lm5jYmkubmxtLm5paC5n
b3YvcHVibWVkLzUxMjI4OTQiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5v
Zm9sbG93Ij41MTIyODk0PC9hPi48L3NwYW4+PHNwYW4gY2xhc3M9IlozOTg4IiB0
aXRsZT0iY3R4X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0X3ZhbF9mbXQ9aW5mbyUz
QW9maSUyRmZtdCUzQWtldiUzQW10eCUzQWpvdXJuYWwmYW1wO3JmdC5nZW5yZT1h
cnRpY2xlJmFtcDtyZnQuYXRpdGxlPVRoZStuYXR1cmFsK2hpc3Rvcnkrb2YrY29u
Z2VzdGl2ZStoZWFydCtmYWlsdXJlJTNBK3RoZStGcmFtaW5naGFtK3N0dWR5JmFt
cDtyZnQuanRpdGxlPU4uK0VuZ2wuK0ouK01lZC4mYW1wO3JmdC5hdWxhc3Q9TWNL
ZWUrUEElMkMrQ2FzdGVsbGkrV1AlMkMrTWNOYW1hcmErUE0lMkMrS2FubmVsK1dC
JmFtcDtyZnQuYXU9TWNLZWUrUEElMkMrQ2FzdGVsbGkrV1AlMkMrTWNOYW1hcmEr
UE0lMkMrS2FubmVsK1dCJmFtcDtyZnQuZGF0ZT0xOTcxJmFtcDtyZnQudm9sdW1l
PTI4NSZhbXA7cmZ0Lmlzc3VlPTI2JmFtcDtyZnQucGFnZXM9MTQ0MSVFMiU4MCU5
MzYmYW1wO3JmdF9pZD1pbmZvOmRvaS8xMC4xMDU2JTJGTkVKTTE5NzExMjIzMjg1
MjYwMSZhbXA7cmZ0X2lkPWluZm86cG1pZC81MTIyODk0JmFtcDtyZnJfaWQ9aW5m
bzpzaWQvZW4ud2lraXBlZGlhLm9yZzpIZWFydF9mYWlsdXJlIj48c3BhbiBzdHls
ZT0iZGlzcGxheTogbm9uZTsiPiYjMTYwOzwvc3Bhbj48L3NwYW4+PC9saT4KPGxp
IGlkPSJjaXRlX25vdGUtMjciPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi0yNyI+Xjwv
YT48L2I+IDxzcGFuIGNsYXNzPSJjaXRhdGlvbiBKb3VybmFsIj5DYXJsc29uIEtK
LCBMZWUgREMsIEdvcm9sbCBBSCwgTGVhaHkgTSwgSm9obnNvbiBSQSAoMTk4NSku
ICJBbiBhbmFseXNpcyBvZiBwaHlzaWNpYW5zJyByZWFzb25zIGZvciBwcmVzY3Jp
YmluZyBsb25nLXRlcm0gZGlnaXRhbGlzIHRoZXJhcHkgaW4gb3V0cGF0aWVudHMi
LiA8aT5Kb3VybmFsIG9mIGNocm9uaWMgZGlzZWFzZXM8L2k+IDxiPjM4PC9iPiAo
OSk6IDczM+KAkzkuIDxhIGhyZWY9Ii93aWtpL0RpZ2l0YWxfb2JqZWN0X2lkZW50
aWZpZXIiIHRpdGxlPSJEaWdpdGFsIG9iamVjdCBpZGVudGlmaWVyIj5kb2k8L2E+
OjxhIGhyZWY9Imh0dHA6Ly9keC5kb2kub3JnLzEwLjEwMTYlMkYwMDIxLTk2ODEl
Mjg4NSUyOTkwMTE1LTgiIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9s
bG93Ij4xMC4xMDE2LzAwMjEtOTY4MSg4NSk5MDExNS04PC9hPi4gPGEgaHJlZj0i
L3dpa2kvUHViTWVkX0lkZW50aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRlbnRpZmll
ciIgY2xhc3M9Im13LXJlZGlyZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhyZWY9Imh0
dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvNDAzMDk5OSIgY2xhc3M9
ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjQwMzA5OTk8L2E+Ljwvc3Bh
bj48c3BhbiBjbGFzcz0iWjM5ODgiIHRpdGxlPSJjdHhfdmVyPVozOS44OC0yMDA0
JmFtcDtyZnRfdmFsX2ZtdD1pbmZvJTNBb2ZpJTJGZm10JTNBa2V2JTNBbXR4JTNB
am91cm5hbCZhbXA7cmZ0LmdlbnJlPWFydGljbGUmYW1wO3JmdC5hdGl0bGU9QW4r
YW5hbHlzaXMrb2YrcGh5c2ljaWFucyUyNytyZWFzb25zK2ZvcitwcmVzY3JpYmlu
Zytsb25nLXRlcm0rZGlnaXRhbGlzK3RoZXJhcHkraW4rb3V0cGF0aWVudHMmYW1w
O3JmdC5qdGl0bGU9Sm91cm5hbCtvZitjaHJvbmljK2Rpc2Vhc2VzJmFtcDtyZnQu
YXVsYXN0PUNhcmxzb24rS0olMkMrTGVlK0RDJTJDK0dvcm9sbCtBSCUyQytMZWFo
eStNJTJDK0pvaG5zb24rUkEmYW1wO3JmdC5hdT1DYXJsc29uK0tKJTJDK0xlZStE
QyUyQytHb3JvbGwrQUglMkMrTGVhaHkrTSUyQytKb2huc29uK1JBJmFtcDtyZnQu
ZGF0ZT0xOTg1JmFtcDtyZnQudm9sdW1lPTM4JmFtcDtyZnQuaXNzdWU9OSZhbXA7
cmZ0LnBhZ2VzPTczMyVFMiU4MCU5MzkmYW1wO3JmdF9pZD1pbmZvOmRvaS8xMC4x
MDE2JTJGMDAyMS05NjgxJTI4ODUlMjk5MDExNS04JmFtcDtyZnRfaWQ9aW5mbzpw
bWlkLzQwMzA5OTkmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtpcGVkaWEub3Jn
OkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+JiMx
NjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS0yOCI+PGI+
PGEgaHJlZj0iI2NpdGVfcmVmLTI4Ij5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNp
dGF0aW9uIEpvdXJuYWwiPkhhcmxhbiBXUiwgb2Jlcm1hbiBBLCBHcmltbSBSLCBS
b3NhdGkgUkEgKDE5NzcpLiAiQ2hyb25pYyBjb25nZXN0aXZlIGhlYXJ0IGZhaWx1
cmUgaW4gY29yb25hcnkgYXJ0ZXJ5IGRpc2Vhc2U6IGNsaW5pY2FsIGNyaXRlcmlh
Ii4gPGk+QW5uLiBJbnRlcm4uIE1lZC48L2k+IDxiPjg2PC9iPiAoMik6IDEzM+KA
kzguIDxhIGhyZWY9Ii93aWtpL1B1Yk1lZF9JZGVudGlmaWVyIiB0aXRsZT0iUHVi
TWVkIElkZW50aWZpZXIiIGNsYXNzPSJtdy1yZWRpcmVjdCI+UE1JRDwvYT4mIzE2
MDs8YSBocmVmPSJodHRwOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcHVibWVkLzgz
NTkzNCIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjgzNTkz
NDwvYT4uPC9zcGFuPjxzcGFuIGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9
WjM5Ljg4LTIwMDQmYW1wO3JmdF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0Fr
ZXYlM0FtdHglM0Fqb3VybmFsJmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0
LmF0aXRsZT1DaHJvbmljK2Nvbmdlc3RpdmUraGVhcnQrZmFpbHVyZStpbitjb3Jv
bmFyeSthcnRlcnkrZGlzZWFzZSUzQStjbGluaWNhbCtjcml0ZXJpYSZhbXA7cmZ0
Lmp0aXRsZT1Bbm4uK0ludGVybi4rTWVkLiZhbXA7cmZ0LmF1bGFzdD1IYXJsYW4r
V1IlMkMrb2Jlcm1hbitBJTJDK0dyaW1tK1IlMkMrUm9zYXRpK1JBJmFtcDtyZnQu
YXU9SGFybGFuK1dSJTJDK29iZXJtYW4rQSUyQytHcmltbStSJTJDK1Jvc2F0aStS
QSZhbXA7cmZ0LmRhdGU9MTk3NyZhbXA7cmZ0LnZvbHVtZT04NiZhbXA7cmZ0Lmlz
c3VlPTImYW1wO3JmdC5wYWdlcz0xMzMlRTIlODAlOTM4JmFtcDtyZnRfaWQ9aW5m
bzpwbWlkLzgzNTkzNCZhbXA7cmZyX2lkPWluZm86c2lkL2VuLndpa2lwZWRpYS5v
cmc6SGVhcnRfZmFpbHVyZSI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4m
IzE2MDs8L3NwYW4+PC9zcGFuPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLTI5Ij48
Yj48YSBocmVmPSIjY2l0ZV9yZWYtMjkiPl48L2E+PC9iPiA8c3BhbiBjbGFzcz0i
Y2l0YXRpb24gSm91cm5hbCI+S2lsbGlwIFQsIEtpbWJhbGwgSlQgKDE5NjcpLiAi
VHJlYXRtZW50IG9mIG15b2NhcmRpYWwgaW5mYXJjdGlvbiBpbiBhIGNvcm9uYXJ5
IGNhcmUgdW5pdC4gQSB0d28geWVhciBleHBlcmllbmNlIHdpdGggMjUwIHBhdGll
bnRzIi4gPGk+QW0uIEouIENhcmRpb2wuPC9pPiA8Yj4yMDwvYj4gKDQpOiA0NTfi
gJM2NC4gPGEgaHJlZj0iL3dpa2kvRGlnaXRhbF9vYmplY3RfaWRlbnRpZmllciIg
dGl0bGU9IkRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiPmRvaTwvYT46PGEgaHJl
Zj0iaHR0cDovL2R4LmRvaS5vcmcvMTAuMTAxNiUyRjAwMDItOTE0OSUyODY3JTI5
OTAwMjMtOSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjEw
LjEwMTYvMDAwMi05MTQ5KDY3KTkwMDIzLTk8L2E+LiA8YSBocmVmPSIvd2lraS9Q
dWJNZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1Yk1lZCBJZGVudGlmaWVyIiBjbGFz
cz0ibXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMxNjA7PGEgaHJlZj0iaHR0cDovL3d3
dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC82MDU5MTgzIiBjbGFzcz0iZXh0ZXJu
YWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+NjA1OTE4MzwvYT4uPC9zcGFuPjxzcGFu
IGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3Jm
dF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fqb3VybmFs
JmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0aXRsZT1UcmVhdG1lbnQr
b2YrbXlvY2FyZGlhbCtpbmZhcmN0aW9uK2luK2ErY29yb25hcnkrY2FyZSt1bml0
LitBK3R3byt5ZWFyK2V4cGVyaWVuY2Urd2l0aCsyNTArcGF0aWVudHMmYW1wO3Jm
dC5qdGl0bGU9QW0uK0ouK0NhcmRpb2wuJmFtcDtyZnQuYXVsYXN0PUtpbGxpcCtU
JTJDK0tpbWJhbGwrSlQmYW1wO3JmdC5hdT1LaWxsaXArVCUyQytLaW1iYWxsK0pU
JmFtcDtyZnQuZGF0ZT0xOTY3JmFtcDtyZnQudm9sdW1lPTIwJmFtcDtyZnQuaXNz
dWU9NCZhbXA7cmZ0LnBhZ2VzPTQ1NyVFMiU4MCU5MzY0JmFtcDtyZnRfaWQ9aW5m
bzpkb2kvMTAuMTAxNiUyRjAwMDItOTE0OSUyODY3JTI5OTAwMjMtOSZhbXA7cmZ0
X2lkPWluZm86cG1pZC82MDU5MTgzJmFtcDtyZnJfaWQ9aW5mbzpzaWQvZW4ud2lr
aXBlZGlhLm9yZzpIZWFydF9mYWlsdXJlIj48c3BhbiBzdHlsZT0iZGlzcGxheTog
bm9uZTsiPiYjMTYwOzwvc3Bhbj48L3NwYW4+PC9saT4KPGxpIGlkPSJjaXRlX25v
dGUtMzAiPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi0zMCI+XjwvYT48L2I+IDxzcGFu
IGNsYXNzPSJjaXRhdGlvbiBib29rIj5Mb3NjYWx6bywgSm9zZXBoOyBGYXVjaSwg
QW50aG9ueSBTLjsgQnJhdW53YWxkLCBFdWdlbmU7IERlbm5pcyBMLiBLYXNwZXI7
IEhhdXNlciwgU3RlcGhlbiBMOyBMb25nbywgRGFuIEwuICgyMDA4KS4gPGk+SGFy
cmlzb24ncyBQcmluY2lwbGVzIG9mIEludGVybmFsIE1lZGljaW5lPC9pPiAoMTcg
ZWQuKS4gTWNHcmF3LUhpbGwgTWVkaWNhbC4gcHAuJiMxNjA7MTQ0Ny4gPGEgaHJl
Zj0iL3dpa2kvSW50ZXJuYXRpb25hbF9TdGFuZGFyZF9Cb29rX051bWJlciIgdGl0
bGU9IkludGVybmF0aW9uYWwgU3RhbmRhcmQgQm9vayBOdW1iZXIiPklTQk48L2E+
JiMxNjA7PGEgaHJlZj0iL3dpa2kvU3BlY2lhbDpCb29rU291cmNlcy85NzgtMC0w
Ny0xNDc2OTMtNSIgdGl0bGU9IlNwZWNpYWw6Qm9va1NvdXJjZXMvOTc4LTAtMDct
MTQ3NjkzLTUiPjk3OC0wLTA3LTE0NzY5My01PC9hPi48L3NwYW4+PHNwYW4gY2xh
c3M9IlozOTg4IiB0aXRsZT0iY3R4X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0X3Zh
bF9mbXQ9aW5mbyUzQW9maSUyRmZtdCUzQWtldiUzQW10eCUzQWJvb2smYW1wO3Jm
dC5nZW5yZT1ib29rJmFtcDtyZnQuYnRpdGxlPUhhcnJpc29uJTI3cytQcmluY2lw
bGVzK29mK0ludGVybmFsK01lZGljaW5lJmFtcDtyZnQuYXVsYXN0PUxvc2NhbHpv
JTJDK0pvc2VwaCUzQitGYXVjaSUyQytBbnRob255K1MuJTNCK0JyYXVud2FsZCUy
QytFdWdlbmUlM0IrRGVubmlzK0wuK0thc3BlciUzQitIYXVzZXIlMkMrU3RlcGhl
bitMJTNCK0xvbmdvJTJDK0RhbitMLiZhbXA7cmZ0LmF1PUxvc2NhbHpvJTJDK0pv
c2VwaCUzQitGYXVjaSUyQytBbnRob255K1MuJTNCK0JyYXVud2FsZCUyQytFdWdl
bmUlM0IrRGVubmlzK0wuK0thc3BlciUzQitIYXVzZXIlMkMrU3RlcGhlbitMJTNC
K0xvbmdvJTJDK0RhbitMLiZhbXA7cmZ0LmRhdGU9MjAwOCZhbXA7cmZ0LnBhZ2Vz
PXBwLiUyNm5ic3AlM0IxNDQ3JmFtcDtyZnQuZWRpdGlvbj0xNyZhbXA7cmZ0LnB1
Yj1NY0dyYXctSGlsbCtNZWRpY2FsJmFtcDtyZnQuaXNibj05NzgtMC0wNy0xNDc2
OTMtNSZhbXA7cmZyX2lkPWluZm86c2lkL2VuLndpa2lwZWRpYS5vcmc6SGVhcnRf
ZmFpbHVyZSI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4mIzE2MDs8L3Nw
YW4+PC9zcGFuPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLXBtaWQxODI5MDgyNi0z
MSI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLXBtaWQxODI5MDgyNl8zMS0wIj5ePC9h
PjwvYj4gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIEpvdXJuYWwiPkV3YWxkIEIsIEV3
YWxkIEQsIFRoYWtraW5zdGlhbiBBLCBBdHRpYSBKICgyMDA4KS4gPGEgaHJlZj0i
aHR0cDovL3d3dy5ibGFja3dlbGwtc3luZXJneS5jb20vZG9pL2Ficy8xMC4xMTEx
L2ouMTQ0NS01OTk0LjIwMDcuMDE0NTQueCIgY2xhc3M9ImV4dGVybmFsIHRleHQi
IHJlbD0ibm9mb2xsb3ciPiJNZXRhLWFuYWx5c2lzIG9mIEIgdHlwZSBuYXRyaXVy
ZXRpYyBwZXB0aWRlIGFuZCBOLXRlcm1pbmFsIHBybyBCIG5hdHJpdXJldGljIHBl
cHRpZGUgaW4gdGhlIGRpYWdub3NpcyBvZiBjbGluaWNhbCBoZWFydCBmYWlsdXJl
IGFuZCBwb3B1bGF0aW9uIHNjcmVlbmluZyBmb3IgbGVmdCB2ZW50cmljdWxhciBz
eXN0b2xpYyBkeXNmdW5jdGlvbiI8L2E+LiA8aT5JbnRlcm4gTWVkIEo8L2k+IDxi
PjM4PC9iPiAoMik6IDEwMeKAkzEzLiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29i
amVjdF9pZGVudGlmaWVyIiB0aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmll
ciI+ZG9pPC9hPjo8YSBocmVmPSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMTExJTJG
ai4xNDQ1LTU5OTQuMjAwNy4wMTQ1NC54IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIg
cmVsPSJub2ZvbGxvdyI+MTAuMTExMS9qLjE0NDUtNTk5NC4yMDA3LjAxNDU0Lng8
L2E+LiA8YSBocmVmPSIvd2lraS9QdWJNZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1
Yk1lZCBJZGVudGlmaWVyIiBjbGFzcz0ibXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMx
NjA7PGEgaHJlZj0iaHR0cDovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8x
ODI5MDgyNiIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjE4
MjkwODI2PC9hPjxzcGFuIGNsYXNzPSJwcmludG9ubHkiPi4gPGEgaHJlZj0iaHR0
cDovL3d3dy5ibGFja3dlbGwtc3luZXJneS5jb20vZG9pL2Ficy8xMC4xMTExL2ou
MTQ0NS01OTk0LjIwMDcuMDE0NTQueCIgY2xhc3M9ImV4dGVybmFsIGZyZWUiIHJl
bD0ibm9mb2xsb3ciPmh0dHA6Ly93d3cuYmxhY2t3ZWxsLXN5bmVyZ3kuY29tL2Rv
aS9hYnMvMTAuMTExMS9qLjE0NDUtNTk5NC4yMDA3LjAxNDU0Lng8L2E+PC9zcGFu
Pi48L3NwYW4+PHNwYW4gY2xhc3M9IlozOTg4IiB0aXRsZT0iY3R4X3Zlcj1aMzku
ODgtMjAwNCZhbXA7cmZ0X3ZhbF9mbXQ9aW5mbyUzQW9maSUyRmZtdCUzQWtldiUz
QW10eCUzQWpvdXJuYWwmYW1wO3JmdC5nZW5yZT1hcnRpY2xlJmFtcDtyZnQuYXRp
dGxlPU1ldGEtYW5hbHlzaXMrb2YrQit0eXBlK25hdHJpdXJldGljK3BlcHRpZGUr
YW5kK04tdGVybWluYWwrcHJvK0IrbmF0cml1cmV0aWMrcGVwdGlkZStpbit0aGUr
ZGlhZ25vc2lzK29mK2NsaW5pY2FsK2hlYXJ0K2ZhaWx1cmUrYW5kK3BvcHVsYXRp
b24rc2NyZWVuaW5nK2ZvcitsZWZ0K3ZlbnRyaWN1bGFyK3N5c3RvbGljK2R5c2Z1
bmN0aW9uJmFtcDtyZnQuanRpdGxlPUludGVybitNZWQrSiZhbXA7cmZ0LmF1bGFz
dD1Fd2FsZCtCJTJDK0V3YWxkK0QlMkMrVGhha2tpbnN0aWFuK0ElMkMrQXR0aWEr
SiZhbXA7cmZ0LmF1PUV3YWxkK0IlMkMrRXdhbGQrRCUyQytUaGFra2luc3RpYW4r
QSUyQytBdHRpYStKJmFtcDtyZnQuZGF0ZT0yMDA4JmFtcDtyZnQudm9sdW1lPTM4
JmFtcDtyZnQuaXNzdWU9MiZhbXA7cmZ0LnBhZ2VzPTEwMSVFMiU4MCU5MzEzJmFt
cDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTExMSUyRmouMTQ0NS01OTk0LjIwMDcuMDE0
NTQueCZhbXA7cmZ0X2lkPWluZm86cG1pZC8xODI5MDgyNiZhbXA7cmZ0X2lkPWh0
dHAlM0ElMkYlMkZ3d3cuYmxhY2t3ZWxsLXN5bmVyZ3kuY29tJTJGZG9pJTJGYWJz
JTJGMTAuMTExMSUyRmouMTQ0NS01OTk0LjIwMDcuMDE0NTQueCZhbXA7cmZyX2lk
PWluZm86c2lkL2VuLndpa2lwZWRpYS5vcmc6SGVhcnRfZmFpbHVyZSI+PHNwYW4g
c3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4mIzE2MDs8L3NwYW4+PC9zcGFuPjwvbGk+
CjxsaSBpZD0iY2l0ZV9ub3RlLW1lZGljYWxjcml0ZXJpYS0zMiI+XiA8YSBocmVm
PSIjY2l0ZV9yZWYtbWVkaWNhbGNyaXRlcmlhXzMyLTAiPjxzdXA+PGk+PGI+YTwv
Yj48L2k+PC9zdXA+PC9hPiA8YSBocmVmPSIjY2l0ZV9yZWYtbWVkaWNhbGNyaXRl
cmlhXzMyLTEiPjxzdXA+PGk+PGI+YjwvYj48L2k+PC9zdXA+PC9hPiA8YSBocmVm
PSIjY2l0ZV9yZWYtbWVkaWNhbGNyaXRlcmlhXzMyLTIiPjxzdXA+PGk+PGI+Yzwv
Yj48L2k+PC9zdXA+PC9hPiA8YSBocmVmPSIjY2l0ZV9yZWYtbWVkaWNhbGNyaXRl
cmlhXzMyLTMiPjxzdXA+PGk+PGI+ZDwvYj48L2k+PC9zdXA+PC9hPiA8YSBocmVm
PSJodHRwOi8vd3d3Lm1lZGljYWxjcml0ZXJpYS5jb20vY3JpdGVyaWEvZnJhbWlu
Z2hhbS5odG0iIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5t
ZWRpY2FsY3JpdGVyaWEuY29tICZndDsgRnJhbWluZ2hhbSBDcml0ZXJpYSBmb3Ig
Q29uZ2VzdGl2ZSBIZWFydCBGYWlsdXJlPC9hPiBJbiB0dXJuIGNpdGluZzogTWNL
ZWUgUEEsIENhc3RlbGxpIFdQLCBNY05hbWFyYSBQTSwgS2FubmVsIFdCLiBUaGUg
bmF0dXJhbCBoaXN0b3J5IG9mIGNvbmdlc3RpdmUgaGVhcnQgZmFpbHVyZTogdGhl
IEZyYW1pbmdoYW0gc3R1ZHkuIE4gRW5nbCBKIE1lZC4gMTk3MSBEZWMgMjM7Mjg1
KDI2KToxNDQxLTYuPC9saT4KPGxpIGlkPSJjaXRlX25vdGUtMzMiPjxiPjxhIGhy
ZWY9IiNjaXRlX3JlZi0zMyI+XjwvYT48L2I+IDxhIGhyZWY9Imh0dHA6Ly93d3cu
YW1jLmVkdS9hbXIvYXJjaGl2ZXMvMjAwMjAxL3JldmlldzAxLmh0bWwiIGNsYXNz
PSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5Ub3BpYyBSZXZpZXcgLSBI
ZWFydCBGYWlsdXJlPC9hPiBCeSBPc2FtYSBHdXNiaSwgTUQuIEFsYmFueSBNZWRp
Y2FsIFJldmlldyAtIEphbnVhcnkgMjAwMjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3Rl
LUNPTlNFTlNVUy0zNCI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLUNPTlNFTlNVU18z
NC0wIj5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIEpvdXJuYWwiPlRo
ZSBDT05TRU5TVVMgVHJpYWwgU3R1ZHkgR3JvdXAuICgxOTg3KS4gIkVmZmVjdHMg
b2YgZW5hbGFwcmlsIG9uIG1vcnRhbGl0eSBpbiBzZXZlcmUgY29uZ2VzdGl2ZSBo
ZWFydCBmYWlsdXJlLiBSZXN1bHRzIG9mIHRoZSBDb29wZXJhdGl2ZSBOb3J0aCBT
Y2FuZGFuYXZpYW4gRW5hbGFwcmlsIFN1cnZpdmFsIFN0dWR5IChDT05TRU5TVVMp
LiIuIDxpPk4gRW5nbCBKIE1lZC48L2k+IDxiPjMxNjwvYj4gKDIzKTogMTQyOeKA
kzM1LiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9pZGVudGlmaWVyIiB0
aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9pPC9hPjo8YSBocmVm
PSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMDU2JTJGTkVKTTE5ODcwNjA0MzE2MjMw
MSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjEwLjEwNTYv
TkVKTTE5ODcwNjA0MzE2MjMwMTwvYT4uIDxhIGhyZWY9Ii93aWtpL1B1Yk1lZF9J
ZGVudGlmaWVyIiB0aXRsZT0iUHViTWVkIElkZW50aWZpZXIiIGNsYXNzPSJtdy1y
ZWRpcmVjdCI+UE1JRDwvYT4mIzE2MDs8YSBocmVmPSJodHRwOi8vd3d3Lm5jYmku
bmxtLm5paC5nb3YvcHVibWVkLzI4ODM1NzUiIGNsYXNzPSJleHRlcm5hbCB0ZXh0
IiByZWw9Im5vZm9sbG93Ij4yODgzNTc1PC9hPi48L3NwYW4+PHNwYW4gY2xhc3M9
IlozOTg4IiB0aXRsZT0iY3R4X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0X3ZhbF9m
bXQ9aW5mbyUzQW9maSUyRmZtdCUzQWtldiUzQW10eCUzQWpvdXJuYWwmYW1wO3Jm
dC5nZW5yZT1hcnRpY2xlJmFtcDtyZnQuYXRpdGxlPUVmZmVjdHMrb2YrZW5hbGFw
cmlsK29uK21vcnRhbGl0eStpbitzZXZlcmUrY29uZ2VzdGl2ZStoZWFydCtmYWls
dXJlLitSZXN1bHRzK29mK3RoZStDb29wZXJhdGl2ZStOb3J0aCtTY2FuZGFuYXZp
YW4rRW5hbGFwcmlsK1N1cnZpdmFsK1N0dWR5KyUyOENPTlNFTlNVUyUyOS4mYW1w
O3JmdC5qdGl0bGU9TitFbmdsK0orTWVkLiZhbXA7cmZ0LmF1bGFzdD1UaGUrQ09O
U0VOU1VTK1RyaWFsK1N0dWR5K0dyb3VwLiZhbXA7cmZ0LmF1PVRoZStDT05TRU5T
VVMrVHJpYWwrU3R1ZHkrR3JvdXAuJmFtcDtyZnQuZGF0ZT0xOTg3JmFtcDtyZnQu
dm9sdW1lPTMxNiZhbXA7cmZ0Lmlzc3VlPTIzJmFtcDtyZnQucGFnZXM9MTQyOSVF
MiU4MCU5MzM1JmFtcDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTA1NiUyRk5FSk0xOTg3
MDYwNDMxNjIzMDEmYW1wO3JmdF9pZD1pbmZvOnBtaWQvMjg4MzU3NSZhbXA7cmZy
X2lkPWluZm86c2lkL2VuLndpa2lwZWRpYS5vcmc6SGVhcnRfZmFpbHVyZSI+PHNw
YW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4mIzE2MDs8L3NwYW4+PC9zcGFuPjwv
bGk+CjxsaSBpZD0iY2l0ZV9ub3RlLVNPTFZELTM1Ij48Yj48YSBocmVmPSIjY2l0
ZV9yZWYtU09MVkRfMzUtMCI+XjwvYT48L2I+IDxzcGFuIGNsYXNzPSJjaXRhdGlv
biBKb3VybmFsIj5UaGUgU09MVkQgSW52ZXN0aWdhdG9ycy4gKDE5OTEpLiAiRWZm
ZWN0IG9mIGVuYWxhcHJpbCBvbiBzdXJ2aXZhbCBpbiBwYXRpZW50cyB3aXRoIHJl
ZHVjZWQgbGVmdCB2ZW50cmljdWxhciBlamVjdGlvbiBmcmFjdGlvbnMgYW5kIGNv
bmdlc3RpdmUgaGVhcnQgZmFpbHVyZS4iLiA8aT5OIEVuZ2wgSiBNZWQ8L2k+IDxi
PjMyNTwvYj4gKDUpOiAyOTPigJMzMDIuIDxhIGhyZWY9Ii93aWtpL0RpZ2l0YWxf
b2JqZWN0X2lkZW50aWZpZXIiIHRpdGxlPSJEaWdpdGFsIG9iamVjdCBpZGVudGlm
aWVyIj5kb2k8L2E+OjxhIGhyZWY9Imh0dHA6Ly9keC5kb2kub3JnLzEwLjEwNTYl
MkZORUpNMTk5MTA4MDEzMjUwNTAxIiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVs
PSJub2ZvbGxvdyI+MTAuMTA1Ni9ORUpNMTk5MTA4MDEzMjUwNTAxPC9hPi4gPGEg
aHJlZj0iL3dpa2kvUHViTWVkX0lkZW50aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRl
bnRpZmllciIgY2xhc3M9Im13LXJlZGlyZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhy
ZWY9Imh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMjA1NzAzNCIg
Y2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjIwNTcwMzQ8L2E+
Ljwvc3Bhbj48c3BhbiBjbGFzcz0iWjM5ODgiIHRpdGxlPSJjdHhfdmVyPVozOS44
OC0yMDA0JmFtcDtyZnRfdmFsX2ZtdD1pbmZvJTNBb2ZpJTJGZm10JTNBa2V2JTNB
bXR4JTNBam91cm5hbCZhbXA7cmZ0LmdlbnJlPWFydGljbGUmYW1wO3JmdC5hdGl0
bGU9RWZmZWN0K29mK2VuYWxhcHJpbCtvbitzdXJ2aXZhbCtpbitwYXRpZW50cyt3
aXRoK3JlZHVjZWQrbGVmdCt2ZW50cmljdWxhcitlamVjdGlvbitmcmFjdGlvbnMr
YW5kK2Nvbmdlc3RpdmUraGVhcnQrZmFpbHVyZS4mYW1wO3JmdC5qdGl0bGU9TitF
bmdsK0orTWVkJmFtcDtyZnQuYXVsYXN0PVRoZStTT0xWRCtJbnZlc3RpZ2F0b3Jz
LiZhbXA7cmZ0LmF1PVRoZStTT0xWRCtJbnZlc3RpZ2F0b3JzLiZhbXA7cmZ0LmRh
dGU9MTk5MSZhbXA7cmZ0LnZvbHVtZT0zMjUmYW1wO3JmdC5pc3N1ZT01JmFtcDty
ZnQucGFnZXM9MjkzJUUyJTgwJTkzMzAyJmFtcDtyZnRfaWQ9aW5mbzpkb2kvMTAu
MTA1NiUyRk5FSk0xOTkxMDgwMTMyNTA1MDEmYW1wO3JmdF9pZD1pbmZvOnBtaWQv
MjA1NzAzNCZhbXA7cmZyX2lkPWluZm86c2lkL2VuLndpa2lwZWRpYS5vcmc6SGVh
cnRfZmFpbHVyZSI+PHNwYW4gc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4mIzE2MDs8
L3NwYW4+PC9zcGFuPjwvbGk+CjxsaSBpZD0iY2l0ZV9ub3RlLXBtaWQxNzQ0OTE0
MS0zNiI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLXBtaWQxNzQ0OTE0MV8zNi0wIj5e
PC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIEpvdXJuYWwiPkF1YmxlIFRF
LCBIc2llaCBNLCBNY0NhdXNsYW5kIEpCLCBZZWFseSBETSAoMjAwNykuICJDb21w
YXJpc29uIG9mIGZvdXIgY2xpbmljYWwgcHJlZGljdGlvbiBydWxlcyBmb3IgZXN0
aW1hdGluZyByaXNrIGluIGhlYXJ0IGZhaWx1cmUiLiA8aT5Bbm5hbHMgb2YgZW1l
cmdlbmN5IG1lZGljaW5lPC9pPiA8Yj41MDwvYj4gKDIpOiAxMjfigJMzNSwgMTM1
LmUx4oCTMi4gPGEgaHJlZj0iL3dpa2kvRGlnaXRhbF9vYmplY3RfaWRlbnRpZmll
ciIgdGl0bGU9IkRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiPmRvaTwvYT46PGEg
aHJlZj0iaHR0cDovL2R4LmRvaS5vcmcvMTAuMTAxNiUyRmouYW5uZW1lcmdtZWQu
MjAwNy4wMi4wMTciIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93
Ij4xMC4xMDE2L2ouYW5uZW1lcmdtZWQuMjAwNy4wMi4wMTc8L2E+LiA8YSBocmVm
PSIvd2lraS9QdWJNZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1Yk1lZCBJZGVudGlm
aWVyIiBjbGFzcz0ibXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMxNjA7PGEgaHJlZj0i
aHR0cDovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8xNzQ0OTE0MSIgY2xh
c3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjE3NDQ5MTQxPC9hPi48
L3NwYW4+PHNwYW4gY2xhc3M9IlozOTg4IiB0aXRsZT0iY3R4X3Zlcj1aMzkuODgt
MjAwNCZhbXA7cmZ0X3ZhbF9mbXQ9aW5mbyUzQW9maSUyRmZtdCUzQWtldiUzQW10
eCUzQWpvdXJuYWwmYW1wO3JmdC5nZW5yZT1hcnRpY2xlJmFtcDtyZnQuYXRpdGxl
PUNvbXBhcmlzb24rb2YrZm91citjbGluaWNhbCtwcmVkaWN0aW9uK3J1bGVzK2Zv
citlc3RpbWF0aW5nK3Jpc2sraW4raGVhcnQrZmFpbHVyZSZhbXA7cmZ0Lmp0aXRs
ZT1Bbm5hbHMrb2YrZW1lcmdlbmN5K21lZGljaW5lJmFtcDtyZnQuYXVsYXN0PUF1
YmxlK1RFJTJDK0hzaWVoK00lMkMrTWNDYXVzbGFuZCtKQiUyQytZZWFseStETSZh
bXA7cmZ0LmF1PUF1YmxlK1RFJTJDK0hzaWVoK00lMkMrTWNDYXVzbGFuZCtKQiUy
QytZZWFseStETSZhbXA7cmZ0LmRhdGU9MjAwNyZhbXA7cmZ0LnZvbHVtZT01MCZh
bXA7cmZ0Lmlzc3VlPTImYW1wO3JmdC5wYWdlcz0xMjclRTIlODAlOTMzNSUyQysx
MzUuZTElRTIlODAlOTMyJmFtcDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTAxNiUyRmou
YW5uZW1lcmdtZWQuMjAwNy4wMi4wMTcmYW1wO3JmdF9pZD1pbmZvOnBtaWQvMTc0
NDkxNDEmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtpcGVkaWEub3JnOkhlYXJ0
X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+JiMxNjA7PC9z
cGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS0zNyI+PGI+PGEgaHJl
Zj0iI2NpdGVfcmVmLTM3Ij5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNpdGF0aW9u
IHdlYiI+TWFuZGVlcCBSLiBNZWhyYSA8aT5ldCBhbDwvaT4uIDxhIGhyZWY9Imh0
dHA6Ly93d3cuamhsdG9ubGluZS5vcmcvYXJ0aWNsZS9QSUlTMTA1MzI0OTgwNjAw
NDYwOC9mdWxsdGV4dCNzZWMxIiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJu
b2ZvbGxvdyI+IkV2YWx1YXRpb24gb2YgbGlzdGluZyBjcml0ZXJpYSBmb3IgY2Fy
ZGlhYyB0cmFuc3BsYW50YXRpb24iPC9hPi4gPGk+Sm91cm5hbCBvZiBIZWFydCBh
bmQgTHVuZyBUcmFuc3BsYW50YXRpb248L2k+PHNwYW4gY2xhc3M9InByaW50b25s
eSI+LiA8YSBocmVmPSJodHRwOi8vd3d3LmpobHRvbmxpbmUub3JnL2FydGljbGUv
UElJUzEwNTMyNDk4MDYwMDQ2MDgvZnVsbHRleHQjc2VjMSIgY2xhc3M9ImV4dGVy
bmFsIGZyZWUiIHJlbD0ibm9mb2xsb3ciPmh0dHA6Ly93d3cuamhsdG9ubGluZS5v
cmcvYXJ0aWNsZS9QSUlTMTA1MzI0OTgwNjAwNDYwOC9mdWxsdGV4dCNzZWMxPC9h
Pjwvc3Bhbj48c3BhbiBjbGFzcz0icmVmZXJlbmNlLWFjY2Vzc2RhdGUiPi4gUmV0
cmlldmVkIDggQXByaWwgMjAxMDwvc3Bhbj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJa
Mzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5Ljg4LTIwMDQmYW1wO3JmdF92YWxfZm10
PWluZm8lM0FvZmklMkZmbXQlM0FrZXYlM0FtdHglM0Fib29rJmFtcDtyZnQuZ2Vu
cmU9Ym9va2l0ZW0mYW1wO3JmdC5idGl0bGU9RXZhbHVhdGlvbitvZitsaXN0aW5n
K2NyaXRlcmlhK2ZvcitjYXJkaWFjK3RyYW5zcGxhbnRhdGlvbiZhbXA7cmZ0LmF0
aXRsZT1Kb3VybmFsK29mK0hlYXJ0K2FuZCtMdW5nK1RyYW5zcGxhbnRhdGlvbiZh
bXA7cmZ0LmF1bGFzdD1NYW5kZWVwK1IuK01laHJhKyUyNyUyN2V0K2FsJTI3JTI3
JmFtcDtyZnQuYXU9TWFuZGVlcCtSLitNZWhyYSslMjclMjdldCthbCUyNyUyNyZh
bXA7cmZ0X2lkPWh0dHAlM0ElMkYlMkZ3d3cuamhsdG9ubGluZS5vcmclMkZhcnRp
Y2xlJTJGUElJUzEwNTMyNDk4MDYwMDQ2MDglMkZmdWxsdGV4dCUyM3NlYzEmYW1w
O3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtpcGVkaWEub3JnOkhlYXJ0X2ZhaWx1cmUi
PjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+JiMxNjA7PC9zcGFuPjwvc3Bh
bj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS0zOCI+PGI+PGEgaHJlZj0iI2NpdGVf
cmVmLTM4Ij5ePC9hPjwvYj4gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIEpvdXJuYWwi
PktydW1ob2x6IEhNLCBDaGVuIFlULCBXYW5nIFksIFZhY2NhcmlubyBWLCBSYWRm
b3JkIE1KLCBIb3J3aXR6IFJJICgyMDAwKS4gIlByZWRpY3RvcnMgb2YgcmVhZG1p
c3Npb24gYW1vbmcgZWxkZXJseSBzdXJ2aXZvcnMgb2YgYWRtaXNzaW9uIHdpdGgg
aGVhcnQgZmFpbHVyZSIuIDxpPkFtLiBIZWFydCBKLjwvaT4gPGI+MTM5PC9iPiAo
MSBQdCAxKTogNzLigJM3LiA8YSBocmVmPSIvd2lraS9EaWdpdGFsX29iamVjdF9p
ZGVudGlmaWVyIiB0aXRsZT0iRGlnaXRhbCBvYmplY3QgaWRlbnRpZmllciI+ZG9p
PC9hPjo8YSBocmVmPSJodHRwOi8vZHguZG9pLm9yZy8xMC4xMDE2JTJGUzAwMDIt
ODcwMyUyODAwJTI5OTAzMTEtOSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0i
bm9mb2xsb3ciPjEwLjEwMTYvUzAwMDItODcwMygwMCk5MDMxMS05PC9hPi4gPGEg
aHJlZj0iL3dpa2kvUHViTWVkX0lkZW50aWZpZXIiIHRpdGxlPSJQdWJNZWQgSWRl
bnRpZmllciIgY2xhc3M9Im13LXJlZGlyZWN0Ij5QTUlEPC9hPiYjMTYwOzxhIGhy
ZWY9Imh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9wdWJtZWQvMTA2MTg1NjUi
IGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij4xMDYxODU2NTwv
YT4uPC9zcGFuPjxzcGFuIGNsYXNzPSJaMzk4OCIgdGl0bGU9ImN0eF92ZXI9WjM5
Ljg4LTIwMDQmYW1wO3JmdF92YWxfZm10PWluZm8lM0FvZmklMkZmbXQlM0FrZXYl
M0FtdHglM0Fqb3VybmFsJmFtcDtyZnQuZ2VucmU9YXJ0aWNsZSZhbXA7cmZ0LmF0
aXRsZT1QcmVkaWN0b3JzK29mK3JlYWRtaXNzaW9uK2Ftb25nK2VsZGVybHkrc3Vy
dml2b3JzK29mK2FkbWlzc2lvbit3aXRoK2hlYXJ0K2ZhaWx1cmUmYW1wO3JmdC5q
dGl0bGU9QW0uK0hlYXJ0K0ouJmFtcDtyZnQuYXVsYXN0PUtydW1ob2x6K0hNJTJD
K0NoZW4rWVQlMkMrV2FuZytZJTJDK1ZhY2NhcmlubytWJTJDK1JhZGZvcmQrTUol
MkMrSG9yd2l0eitSSSZhbXA7cmZ0LmF1PUtydW1ob2x6K0hNJTJDK0NoZW4rWVQl
MkMrV2FuZytZJTJDK1ZhY2NhcmlubytWJTJDK1JhZGZvcmQrTUolMkMrSG9yd2l0
eitSSSZhbXA7cmZ0LmRhdGU9MjAwMCZhbXA7cmZ0LnZvbHVtZT0xMzkmYW1wO3Jm
dC5pc3N1ZT0xK1B0KzEmYW1wO3JmdC5wYWdlcz03MiVFMiU4MCU5MzcmYW1wO3Jm
dF9pZD1pbmZvOmRvaS8xMC4xMDE2JTJGUzAwMDItODcwMyUyODAwJTI5OTAzMTEt
OSZhbXA7cmZ0X2lkPWluZm86cG1pZC8xMDYxODU2NSZhbXA7cmZyX2lkPWluZm86
c2lkL2VuLndpa2lwZWRpYS5vcmc6SGVhcnRfZmFpbHVyZSI+PHNwYW4gc3R5bGU9
ImRpc3BsYXk6IG5vbmU7Ij4mIzE2MDs8L3NwYW4+PC9zcGFuPjwvbGk+CjxsaSBp
ZD0iY2l0ZV9ub3RlLUhlYXJ0X0ZhaWx1cmVfSW5mb3JtYXRpb24tMzkiPjxiPjxh
IGhyZWY9IiNjaXRlX3JlZi1IZWFydF9GYWlsdXJlX0luZm9ybWF0aW9uXzM5LTAi
Pl48L2E+PC9iPiA8YSBocmVmPSJodHRwOi8vd3d3LmhlYWx0aGxpbmUuY29tL2Fk
YW1jb250ZW50L2hlYXJ0LWZhaWx1cmUvMyIgY2xhc3M9ImV4dGVybmFsIHRleHQi
IHJlbD0ibm9mb2xsb3ciPkhlYXJ0IEZhaWx1cmUgSW5mb3JtYXRpb248L2E+LCBS
ZXRyaWV2ZWQgb24gMjAxMC0wMS0yMS48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS00
MCI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLTQwIj5ePC9hPjwvYj4gPHNwYW4gY2xh
c3M9ImNpdGF0aW9uIEpvdXJuYWwiPkFyb25vdywgV1M7IEFobiBDLCBLcm9uem9u
LCBJICgxOTk5KS4gIkNvbXBhcmlzb24gb2YgaW5jaWRlbmNlIG9mIGNvbmdlc3Rp
dmUgaGVhcnQgZmFpbHVyZSBpbiBvbGRlciBBZnJpY2FuLUFtZXJpY2FucywgSGlz
cGFuaWNzLCBhbmQgQ2F1Y2FzaWFucy4iLiA8aT5BbSBKIG9mIENhcmRpb2w8L2k+
IDxiPjg0PC9iPiAoNSk6IDYxMeKAkzIuIDxhIGhyZWY9Ii93aWtpL0RpZ2l0YWxf
b2JqZWN0X2lkZW50aWZpZXIiIHRpdGxlPSJEaWdpdGFsIG9iamVjdCBpZGVudGlm
aWVyIj5kb2k8L2E+OjxhIGhyZWY9Imh0dHA6Ly9keC5kb2kub3JnLzEwLjEwMTYl
MkZTMDAwMi05MTQ5JTI4OTklMjkwMDM5Mi02IiBjbGFzcz0iZXh0ZXJuYWwgdGV4
dCIgcmVsPSJub2ZvbGxvdyI+MTAuMTAxNi9TMDAwMi05MTQ5KDk5KTAwMzkyLTY8
L2E+LiA8YSBocmVmPSIvd2lraS9QdWJNZWRfSWRlbnRpZmllciIgdGl0bGU9IlB1
Yk1lZCBJZGVudGlmaWVyIiBjbGFzcz0ibXctcmVkaXJlY3QiPlBNSUQ8L2E+JiMx
NjA7PGEgaHJlZj0iaHR0cDovL3d3dy5uY2JpLm5sbS5uaWguZ292L3B1Ym1lZC8x
MDQ4MjE2OSIgY2xhc3M9ImV4dGVybmFsIHRleHQiIHJlbD0ibm9mb2xsb3ciPjEw
NDgyMTY5PC9hPi48L3NwYW4+PHNwYW4gY2xhc3M9IlozOTg4IiB0aXRsZT0iY3R4
X3Zlcj1aMzkuODgtMjAwNCZhbXA7cmZ0X3ZhbF9mbXQ9aW5mbyUzQW9maSUyRmZt
dCUzQWtldiUzQW10eCUzQWpvdXJuYWwmYW1wO3JmdC5nZW5yZT1hcnRpY2xlJmFt
cDtyZnQuYXRpdGxlPUNvbXBhcmlzb24rb2YraW5jaWRlbmNlK29mK2Nvbmdlc3Rp
dmUraGVhcnQrZmFpbHVyZStpbitvbGRlcitBZnJpY2FuLUFtZXJpY2FucyUyQytI
aXNwYW5pY3MlMkMrYW5kK0NhdWNhc2lhbnMuJmFtcDtyZnQuanRpdGxlPUFtK0or
b2YrQ2FyZGlvbCZhbXA7cmZ0LmF1bGFzdD1Bcm9ub3cmYW1wO3JmdC5hdWZpcnN0
PVdTJmFtcDtyZnQuYXU9QXJvbm93JTJDJTI2JTIzMzIlM0JXUyZhbXA7cmZ0LmRh
dGU9MTk5OSZhbXA7cmZ0LnZvbHVtZT04NCZhbXA7cmZ0Lmlzc3VlPTUmYW1wO3Jm
dC5wYWdlcz02MTElRTIlODAlOTMyJmFtcDtyZnRfaWQ9aW5mbzpkb2kvMTAuMTAx
NiUyRlMwMDAyLTkxNDklMjg5OSUyOTAwMzkyLTYmYW1wO3JmdF9pZD1pbmZvOnBt
aWQvMTA0ODIxNjkmYW1wO3Jmcl9pZD1pbmZvOnNpZC9lbi53aWtpcGVkaWEub3Jn
OkhlYXJ0X2ZhaWx1cmUiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+JiMx
NjA7PC9zcGFuPjwvc3Bhbj48L2xpPgo8bGkgaWQ9ImNpdGVfbm90ZS1DYXJkaWFj
X0ZhaWx1cmVfRmFjdHMtNDEiPjxiPjxhIGhyZWY9IiNjaXRlX3JlZi1DYXJkaWFj
X0ZhaWx1cmVfRmFjdHNfNDEtMCI+XjwvYT48L2I+IDxhIGhyZWY9Imh0dHA6Ly9j
YXJkaWFjZmFpbHVyZS5uZXQvIiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJu
b2ZvbGxvdyI+Q2FyZGlhYyBGYWlsdXJlIEZhY3RzPC9hPiwgUmV0cmlldmVkIG9u
IDIwMTAtMDEtMjEuPC9saT4KPGxpIGlkPSJjaXRlX25vdGUtSGVhcnRfRmFpbHVy
ZTpfUHJldmVudGlvbi00MiI+PGI+PGEgaHJlZj0iI2NpdGVfcmVmLUhlYXJ0X0Zh
aWx1cmU6X1ByZXZlbnRpb25fNDItMCI+XjwvYT48L2I+IDxhIGhyZWY9Imh0dHA6
Ly93d3cubWF5b2NsaW5pYy5jb20vaGVhbHRoL2hlYXJ0LWZhaWx1cmUvRFMwMDA2
MS9EU0VDVElPTj1wcmV2ZW50aW9uIiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVs
PSJub2ZvbGxvdyI+SGVhcnQgRmFpbHVyZTogUHJldmVudGlvbjwvYT4sIFJldHJp
ZXZlZCBvbiAyMDEwLTAxLTIxLjwvbGk+Cjwvb2w+CjwvZGl2Pgo8aDI+PHNwYW4g
Y2xhc3M9ImVkaXRzZWN0aW9uIj5bPGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxl
PUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0JmFtcDtzZWN0aW9uPTM1IiB0
aXRsZT0iRWRpdCBzZWN0aW9uOiBFeHRlcm5hbCBsaW5rcyI+ZWRpdDwvYT5dPC9z
cGFuPiA8c3BhbiBjbGFzcz0ibXctaGVhZGxpbmUiIGlkPSJFeHRlcm5hbF9saW5r
cyI+RXh0ZXJuYWwgbGlua3M8L3NwYW4+PC9oMj4KPHVsPgo8bGk+PGEgaHJlZj0i
aHR0cDovL3d3dy5hbWVyaWNhbmhlYXJ0Lm9yZy9oZWFydGZhaWx1cmUiIGNsYXNz
PSJleHRlcm5hbCB0ZXh0IiByZWw9Im5vZm9sbG93Ij5BbWVyaWNhbiBIZWFydCBB
c3NvY2lhdGlvbidzIEhlYXJ0IEZhaWx1cmUgd2ViIHNpdGU8L2E+IC0gaW5mb3Jt
YXRpb24gYW5kIHJlc291cmNlcyBmb3IgdHJlYXRpbmcgYW5kIGxpdmluZyB3aXRo
IGhlYXJ0IGZhaWx1cmUuPC9saT4KPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuaGVh
cnRmYWlsdXJlbWF0dGVycy5vcmciIGNsYXNzPSJleHRlcm5hbCB0ZXh0IiByZWw9
Im5vZm9sbG93Ij5IZWFydCBGYWlsdXJlIE1hdHRlcnM8L2E+IOKAkyBwYXRpZW50
IGluZm9ybWF0aW9uIHdlYnNpdGUgb2YgdGhlIEhlYXJ0IEZhaWx1cmUgQXNzb2Np
YXRpb24gb2YgdGhlIEV1cm9wZWFuIFNvY2lldHkgb2YgQ2FyZGlvbG9neTwvbGk+
CjwvdWw+CjxwPjxiciAvPjwvcD4KPHRhYmxlIGNsYXNzPSJuYXZib3giIGNlbGxz
cGFjaW5nPSIwIiBzdHlsZT0iOyI+Cjx0cj4KPHRkIHN0eWxlPSJwYWRkaW5nOjJw
eDsiPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJub3dyYXBsaW5rcyBj
b2xsYXBzaWJsZSBjb2xsYXBzZWQiIHN0eWxlPSJ3aWR0aDoxMDAlO2JhY2tncm91
bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6aW5oZXJpdDs7Ij4KPHRyPgo8dGggc3R5bGU9
IjtiYWNrZ3JvdW5kOlNpbHZlciIgY29sc3Bhbj0iMiIgY2xhc3M9Im5hdmJveC10
aXRsZSI+CjxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjZlbTt0ZXh0LWFs
aWduOmxlZnQ7Ij4KPGRpdiBjbGFzcz0ibm9wcmludCBwbGFpbmxpbmtzIG5hdmJh
ciIgc3R5bGU9ImJhY2tncm91bmQ6bm9uZTsgcGFkZGluZzowOyBmb250LXdlaWdo
dDpub3JtYWw7O2JhY2tncm91bmQ6U2lsdmVyO2JvcmRlcjpub25lOzsgZm9udC1z
aXplOnh4LXNtYWxsOyI+PGEgaHJlZj0iL3dpa2kvVGVtcGxhdGU6SGVhcnRfZGlz
ZWFzZXMiIHRpdGxlPSJUZW1wbGF0ZTpIZWFydCBkaXNlYXNlcyI+PHNwYW4gdGl0
bGU9IlZpZXcgdGhpcyB0ZW1wbGF0ZSIgc3R5bGU9IjtiYWNrZ3JvdW5kOlNpbHZl
cjtib3JkZXI6bm9uZTsiPnY8L3NwYW4+PC9hPiYjMTYwOzxzcGFuIHN0eWxlPSJm
b250LXNpemU6ODAlOyI+4oCiPC9zcGFuPiYjMTYwOzxhIGhyZWY9Ii93aWtpL1Rl
bXBsYXRlX3RhbGs6SGVhcnRfZGlzZWFzZXMiIHRpdGxlPSJUZW1wbGF0ZSB0YWxr
OkhlYXJ0IGRpc2Vhc2VzIj48c3BhbiB0aXRsZT0iRGlzY3VzcyB0aGlzIHRlbXBs
YXRlIiBzdHlsZT0iO2JhY2tncm91bmQ6U2lsdmVyO2JvcmRlcjpub25lOyI+ZDwv
c3Bhbj48L2E+JiMxNjA7PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo4MCU7Ij7igKI8
L3NwYW4+JiMxNjA7PGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvdy9p
bmRleC5waHA/dGl0bGU9VGVtcGxhdGU6SGVhcnRfZGlzZWFzZXMmYW1wO2FjdGlv
bj1lZGl0IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2ZvbGxvdyI+PHNw
YW4gdGl0bGU9IkVkaXQgdGhpcyB0ZW1wbGF0ZSIgc3R5bGU9IjtiYWNrZ3JvdW5k
OlNpbHZlcjtib3JkZXI6bm9uZTs7Ij5lPC9zcGFuPjwvYT48L2Rpdj4KPC9kaXY+
CjxzcGFuIGNsYXNzPSIiIHN0eWxlPSJmb250LXNpemU6MTEwJTsiPjxhIGhyZWY9
Ii93aWtpL0NhcmRpb3Zhc2N1bGFyX2Rpc2Vhc2UiIHRpdGxlPSJDYXJkaW92YXNj
dWxhciBkaXNlYXNlIj5DYXJkaW92YXNjdWxhciBkaXNlYXNlPC9hPjogPGEgaHJl
Zj0iL3dpa2kvSGVhcnRfZGlzZWFzZSIgdGl0bGU9IkhlYXJ0IGRpc2Vhc2UiPmhl
YXJ0IGRpc2Vhc2U8L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4m
IzE2MDvCtzwvc3Bhbj4gIDxhIGhyZWY9Ii93aWtpL0NpcmN1bGF0b3J5X3N5c3Rl
bSIgdGl0bGU9IkNpcmN1bGF0b3J5IHN5c3RlbSI+Q2lyY3VsYXRvcnkgc3lzdGVt
PC9hPiA8YSBocmVmPSIvd2lraS9QYXRob2xvZ3kiIHRpdGxlPSJQYXRob2xvZ3ki
PnBhdGhvbG9neTwvYT4gKDxhIGhyZWY9Ii93aWtpL0lDRC0xMF9DaGFwdGVyX0lY
Ol9EaXNlYXNlc19vZl90aGVfY2lyY3VsYXRvcnlfc3lzdGVtIiB0aXRsZT0iSUNE
LTEwIENoYXB0ZXIgSVg6IERpc2Vhc2VzIG9mIHRoZSBjaXJjdWxhdG9yeSBzeXN0
ZW0iPkkwMC1JNTI8L2E+LCA8YSBocmVmPSIvd2lraS9MaXN0X29mX0lDRC05X2Nv
ZGVzXzM5MC00NTk6X0Rpc2Vhc2VzX29mX3RoZV9jaXJjdWxhdG9yeV9zeXN0ZW0i
IHRpdGxlPSJMaXN0IG9mIElDRC05IGNvZGVzIDM5MC00NTk6IERpc2Vhc2VzIG9m
IHRoZSBjaXJjdWxhdG9yeSBzeXN0ZW0iIGNsYXNzPSJtdy1yZWRpcmVjdCI+Mzkw
LTQyOTwvYT4pPC9zcGFuPjwvdGg+CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJw
eCI+Cjx0ZD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3Vw
IiBzdHlsZT0iO2JhY2tncm91bmQ6TWlzdHlSb3NlOzsiPjxhIGhyZWY9Ii93aWtp
L0lzY2hlbWljX2hlYXJ0X2Rpc2Vhc2UiIHRpdGxlPSJJc2NoZW1pYyBoZWFydCBk
aXNlYXNlIiBjbGFzcz0ibXctcmVkaXJlY3QiPklzY2hhZW1pYzwvYT48L3RkPgo8
dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0aDoycHg7
Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBweDs7
OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJveC1ldmVuIj4KPGRpdiBzdHlsZT0i
cGFkZGluZzowZW0gMC4yNWVtIj48L2Rpdj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIw
IiBjbGFzcz0ibm93cmFwbGlua3MgbmF2Ym94LXN1Ymdyb3VwIiBzdHlsZT0id2lk
dGg6MTAwJTs7OzsiPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHls
ZT0iO3BhZGRpbmctbGVmdDowZW07cGFkZGluZy1yaWdodDowZW07YmFja2dyb3Vu
ZDpNaXN0eVJvc2U7OyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAuNzVlbTsi
PjxhIGhyZWY9Ii93aWtpL0Nvcm9uYXJ5X2Rpc2Vhc2UiIHRpdGxlPSJDb3JvbmFy
eSBkaXNlYXNlIj5DRC9DSEQ8L2E+PC9kaXY+CjwvdGQ+Cjx0ZCBzdHlsZT0idGV4
dC1hbGlnbjpsZWZ0O2JvcmRlci1sZWZ0LXdpZHRoOjJweDtib3JkZXItbGVmdC1z
dHlsZTpzb2xpZDt3aWR0aDoxMDAlO3BhZGRpbmc6MHB4Ozs7IiBjbGFzcz0ibmF2
Ym94LWxpc3QgbmF2Ym94LW9kZCI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAu
MjVlbSI+PGEgaHJlZj0iL3dpa2kvQ29yb25hcnlfYXJ0ZXJ5X2Rpc2Vhc2UiIHRp
dGxlPSJDb3JvbmFyeSBhcnRlcnkgZGlzZWFzZSI+Q0FEPC9hPjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIv
d2lraS9Db3JvbmFyeV90aHJvbWJvc2lzIiB0aXRsZT0iQ29yb25hcnkgdGhyb21i
b3NpcyI+Q29yb25hcnkgdGhyb21ib3NpczwvYT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAgPGEgaHJlZj0iL3dpa2kvQ29y
b25hcnlfdmFzb3NwYXNtIiB0aXRsZT0iQ29yb25hcnkgdmFzb3NwYXNtIj5Db3Jv
bmFyeSB2YXNvc3Bhc208L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7
Ij4mIzE2MDvCtzwvc3Bhbj4gIDxhIGhyZWY9Ii93aWtpL0Nvcm9uYXJ5X2FydGVy
eV9hbmV1cnlzbSIgdGl0bGU9IkNvcm9uYXJ5IGFydGVyeSBhbmV1cnlzbSI+Q29y
b25hcnkgYXJ0ZXJ5IGFuZXVyeXNtPC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9Db3JvbmFy
eV9hcnRlcnlfZGlzc2VjdGlvbiIgdGl0bGU9IkNvcm9uYXJ5IGFydGVyeSBkaXNz
ZWN0aW9uIj5Db3JvbmFyeSBhcnRlcnkgZGlzc2VjdGlvbjwvYT48c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAgPGEgaHJlZj0i
L3dpa2kvTXlvY2FyZGlhbF9CcmlkZ2UiIHRpdGxlPSJNeW9jYXJkaWFsIEJyaWRn
ZSIgY2xhc3M9Im13LXJlZGlyZWN0Ij5NeW9jYXJkaWFsIEJyaWRnZTwvYT48L2Rp
dj4KPC90ZD4KPC90cj4KPHRyIHN0eWxlPSJoZWlnaHQ6MnB4Ij4KPHRkPjwvdGQ+
CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJuYXZib3gtZ3JvdXAiIHN0eWxlPSI7cGFk
ZGluZy1sZWZ0OjBlbTtwYWRkaW5nLXJpZ2h0OjBlbTtiYWNrZ3JvdW5kOk1pc3R5
Um9zZTs7Ij4KPGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC43NWVtOyI+QWN0aXZl
IDxhIGhyZWY9Ii93aWtpL0lzY2hlbWlhIiB0aXRsZT0iSXNjaGVtaWEiPmlzY2hl
bWlhPC9hPjwvZGl2Pgo8L3RkPgo8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDti
b3JkZXItbGVmdC13aWR0aDoycHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lk
dGg6MTAwJTtwYWRkaW5nOjBweDs7OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJv
eC1ldmVuIj4KPGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC4yNWVtIj48YSBocmVm
PSIvd2lraS9BbmdpbmFfcGVjdG9yaXMiIHRpdGxlPSJBbmdpbmEgcGVjdG9yaXMi
PkFuZ2luYSBwZWN0b3JpczwvYT4gKDxhIGhyZWY9Ii93aWtpL1ByaW56bWV0YWwl
MjdzX2FuZ2luYSIgdGl0bGU9IlByaW56bWV0YWwncyBhbmdpbmEiPlByaW56bWV0
YWwncyBhbmdpbmE8L2E+LCA8YSBocmVmPSIvd2lraS9TdGFibGVfYW5naW5hIiB0
aXRsZT0iU3RhYmxlIGFuZ2luYSIgY2xhc3M9Im13LXJlZGlyZWN0Ij5TdGFibGUg
YW5naW5hPC9hPik8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYw
O8K3PC9zcGFuPiAgPGEgaHJlZj0iL3dpa2kvQWN1dGVfY29yb25hcnlfc3luZHJv
bWUiIHRpdGxlPSJBY3V0ZSBjb3JvbmFyeSBzeW5kcm9tZSI+QWN1dGUgY29yb25h
cnk8L2E+ICg8YSBocmVmPSIvd2lraS9VbnN0YWJsZV9hbmdpbmEiIHRpdGxlPSJV
bnN0YWJsZSBhbmdpbmEiPlVuc3RhYmxlIGFuZ2luYTwvYT4sIDxhIGhyZWY9Ii93
aWtpL015b2NhcmRpYWxfaW5mYXJjdGlvbiIgdGl0bGU9Ik15b2NhcmRpYWwgaW5m
YXJjdGlvbiI+TXlvY2FyZGlhbCBpbmZhcmN0aW9uIC8gaGVhcnQgYXR0YWNrPC9h
Pik8L2Rpdj4KPC90ZD4KPC90cj4KPHRyIHN0eWxlPSJoZWlnaHQ6MnB4Ij4KPHRk
PjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJuYXZib3gtZ3JvdXAiIHN0eWxl
PSI7cGFkZGluZy1sZWZ0OjBlbTtwYWRkaW5nLXJpZ2h0OjBlbTtiYWNrZ3JvdW5k
Ok1pc3R5Um9zZTs7Ij4KPGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC43NWVtOyI+
PGEgaHJlZj0iL3dpa2kvTXlvY2FyZGlhbF9pbmZhcmN0aW9uI0NvbXBsaWNhdGlv
bnMiIHRpdGxlPSJNeW9jYXJkaWFsIGluZmFyY3Rpb24iPlNlcXVlbGFlPC9hPjwv
ZGl2Pgo8L3RkPgo8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVm
dC13aWR0aDoycHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtw
YWRkaW5nOjBweDs7OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJveC1vZGQiPgo8
ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjxpPmhvdXJzPC9pPiAoPGEg
aHJlZj0iL3dpa2kvTXlvY2FyZGlhbF9zdHVubmluZyIgdGl0bGU9Ik15b2NhcmRp
YWwgc3R1bm5pbmciPk15b2NhcmRpYWwgc3R1bm5pbmc8L2E+LCA8YSBocmVmPSIv
d2lraS9IaWJlcm5hdGluZ19teW9jYXJkaXVtIiB0aXRsZT0iSGliZXJuYXRpbmcg
bXlvY2FyZGl1bSI+SGliZXJuYXRpbmcgbXlvY2FyZGl1bTwvYT4pPHNwYW4gc3R5
bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bhbj4gIDxpPmRheXM8
L2k+ICg8YSBocmVmPSIvd2lraS9NeW9jYXJkaWFsX3J1cHR1cmUiIHRpdGxlPSJN
eW9jYXJkaWFsIHJ1cHR1cmUiPk15b2NhcmRpYWwgcnVwdHVyZTwvYT4pPHNwYW4g
c3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bhbj4gIDxpPndl
ZWtzPC9pPiAoPGEgaHJlZj0iL3dpa2kvQW5ldXJ5c21fb2ZfaGVhcnQiIHRpdGxl
PSJBbmV1cnlzbSBvZiBoZWFydCI+QW5ldXJ5c20gb2YgaGVhcnQ8L2E+LzxhIGhy
ZWY9Ii93aWtpL1ZlbnRyaWN1bGFyX2FuZXVyeXNtIiB0aXRsZT0iVmVudHJpY3Vs
YXIgYW5ldXJ5c20iPlZlbnRyaWN1bGFyIGFuZXVyeXNtPC9hPiwgPGEgaHJlZj0i
L3dpa2kvRHJlc3NsZXIlMjdzX3N5bmRyb21lIiB0aXRsZT0iRHJlc3NsZXIncyBz
eW5kcm9tZSI+RHJlc3NsZXIncyBzeW5kcm9tZTwvYT4pPC9kaXY+CjwvdGQ+Cjwv
dHI+CjwvdGFibGU+CjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+
Cjx0ZD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBz
dHlsZT0iO2JhY2tncm91bmQ6TWlzdHlSb3NlOzsiPkxheWVyczwvdGQ+Cjx0ZCBz
dHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1sZWZ0LXdpZHRoOjJweDtib3Jk
ZXItbGVmdC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlO3BhZGRpbmc6MHB4Ozs7IiBj
bGFzcz0ibmF2Ym94LWxpc3QgbmF2Ym94LW9kZCI+CjxkaXYgc3R5bGU9InBhZGRp
bmc6MGVtIDAuMjVlbSI+PC9kaXY+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xh
c3M9Im5vd3JhcGxpbmtzIG5hdmJveC1zdWJncm91cCIgc3R5bGU9IndpZHRoOjEw
MCU7Ozs7Ij4KPHRyPgo8dGQgY2xhc3M9Im5hdmJveC1ncm91cCIgc3R5bGU9Ijtw
YWRkaW5nLWxlZnQ6MGVtO3BhZGRpbmctcmlnaHQ6MGVtO2JhY2tncm91bmQtY29s
b3I6IE1pc3R5Um9zZTsiPgo8ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjc1ZW07
Ij48YSBocmVmPSIvd2lraS9QZXJpY2FyZGl1bSIgdGl0bGU9IlBlcmljYXJkaXVt
Ij5QZXJpY2FyZGl1bTwvYT48L2Rpdj4KPC90ZD4KPHRkIHN0eWxlPSJ0ZXh0LWFs
aWduOmxlZnQ7Ym9yZGVyLWxlZnQtd2lkdGg6MnB4O2JvcmRlci1sZWZ0LXN0eWxl
OnNvbGlkO3dpZHRoOjEwMCU7cGFkZGluZzowcHg7OzsiIGNsYXNzPSJuYXZib3gt
bGlzdCBuYXZib3gtb2RkIj4KPGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC4yNWVt
Ij48YSBocmVmPSIvd2lraS9QZXJpY2FyZGl0aXMiIHRpdGxlPSJQZXJpY2FyZGl0
aXMiPlBlcmljYXJkaXRpczwvYT4gKDxhIGhyZWY9Ii93aWtpL0FjdXRlX3Blcmlj
YXJkaXRpcyIgdGl0bGU9IkFjdXRlIHBlcmljYXJkaXRpcyI+QWN1dGU8L2E+LCA8
YSBocmVmPSIvd2lraS9QZXJpY2FyZGl0aXMjQWN1dGVfdnMuX2Nocm9uaWMiIHRp
dGxlPSJQZXJpY2FyZGl0aXMiPkNocm9uaWM8L2E+LzxhIGhyZWY9Ii93aWtpL0Nv
bnN0cmljdGl2ZV9wZXJpY2FyZGl0aXMiIHRpdGxlPSJDb25zdHJpY3RpdmUgcGVy
aWNhcmRpdGlzIj5Db25zdHJpY3RpdmU8L2E+KTxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9QZXJp
Y2FyZGlhbF9lZmZ1c2lvbiIgdGl0bGU9IlBlcmljYXJkaWFsIGVmZnVzaW9uIj5Q
ZXJpY2FyZGlhbCBlZmZ1c2lvbjwvYT4gKDxhIGhyZWY9Ii93aWtpL0hlbW9wZXJp
Y2FyZGl1bSIgdGl0bGU9IkhlbW9wZXJpY2FyZGl1bSI+SGVtb3BlcmljYXJkaXVt
PC9hPiwgPGEgaHJlZj0iL3dpa2kvQ2FyZGlhY190YW1wb25hZGUiIHRpdGxlPSJD
YXJkaWFjIHRhbXBvbmFkZSI+Q2FyZGlhYyB0YW1wb25hZGU8L2E+KTwvZGl2Pgo8
L3RkPgo8L3RyPgo8dHIgc3R5bGU9ImhlaWdodDoycHgiPgo8dGQ+PC90ZD4KPC90
cj4KPHRyPgo8dGQgY2xhc3M9Im5hdmJveC1ncm91cCIgc3R5bGU9IjtwYWRkaW5n
LWxlZnQ6MGVtO3BhZGRpbmctcmlnaHQ6MGVtO2JhY2tncm91bmQtY29sb3I6IE1p
c3R5Um9zZTsiPgo8ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjc1ZW07Ij48YSBo
cmVmPSIvd2lraS9NeW9jYXJkaXVtIiB0aXRsZT0iTXlvY2FyZGl1bSIgY2xhc3M9
Im13LXJlZGlyZWN0Ij5NeW9jYXJkaXVtPC9hPjwvZGl2Pgo8L3RkPgo8dGQgc3R5
bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0aDoycHg7Ym9yZGVy
LWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBweDs7OyIgY2xh
c3M9Im5hdmJveC1saXN0IG5hdmJveC1ldmVuIj4KPGRpdiBzdHlsZT0icGFkZGlu
ZzowZW0gMC4yNWVtIj4KPHA+PGEgaHJlZj0iL3dpa2kvTXlvY2FyZGl0aXMiIHRp
dGxlPSJNeW9jYXJkaXRpcyI+TXlvY2FyZGl0aXM8L2E+ICg8YSBocmVmPSIvd2lr
aS9DaGFnYXNfZGlzZWFzZSIgdGl0bGU9IkNoYWdhcyBkaXNlYXNlIj5DaGFnYXMg
ZGlzZWFzZTwvYT4pPC9wPgo8cD48YSBocmVmPSIvd2lraS9DYXJkaW9teW9wYXRo
eSIgdGl0bGU9IkNhcmRpb215b3BhdGh5Ij5DYXJkaW9teW9wYXRoeTwvYT46IDxh
IGhyZWY9Ii93aWtpL0RpbGF0ZWRfY2FyZGlvbXlvcGF0aHkiIHRpdGxlPSJEaWxh
dGVkIGNhcmRpb215b3BhdGh5Ij5EaWxhdGVkPC9hPiAoPGEgaHJlZj0iL3dpa2kv
QWxjb2hvbGljX2NhcmRpb215b3BhdGh5IiB0aXRsZT0iQWxjb2hvbGljIGNhcmRp
b215b3BhdGh5Ij5BbGNvaG9saWM8L2E+KTxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9IeXBlcnRy
b3BoaWNfY2FyZGlvbXlvcGF0aHkiIHRpdGxlPSJIeXBlcnRyb3BoaWMgY2FyZGlv
bXlvcGF0aHkiPkh5cGVydHJvcGhpYzwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWln
aHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAgPGEgaHJlZj0iL3dpa2kvUmVzdHJp
Y3RpdmVfY2FyZGlvbXlvcGF0aHkiIHRpdGxlPSJSZXN0cmljdGl2ZSBjYXJkaW9t
eW9wYXRoeSI+UmVzdHJpY3RpdmU8L2E+ICg8YSBocmVmPSIvd2lraS9Mb2VmZmxl
cl9lbmRvY2FyZGl0aXMiIHRpdGxlPSJMb2VmZmxlciBlbmRvY2FyZGl0aXMiPkxv
ZWZmbGVyIGVuZG9jYXJkaXRpczwvYT4sIDxhIGhyZWY9Ii93aWtpL0NhcmRpYWNf
YW15bG9pZG9zaXMiIHRpdGxlPSJDYXJkaWFjIGFteWxvaWRvc2lzIj5DYXJkaWFj
IGFteWxvaWRvc2lzPC9hPiwgPGEgaHJlZj0iL3dpa2kvRW5kb2NhcmRpYWxfZmli
cm9lbGFzdG9zaXMiIHRpdGxlPSJFbmRvY2FyZGlhbCBmaWJyb2VsYXN0b3NpcyI+
RW5kb2NhcmRpYWwgZmlicm9lbGFzdG9zaXM8L2E+KTwvcD4KPGEgaHJlZj0iL3dp
a2kvQXJyaHl0aG1vZ2VuaWNfcmlnaHRfdmVudHJpY3VsYXJfZHlzcGxhc2lhIiB0
aXRsZT0iQXJyaHl0aG1vZ2VuaWMgcmlnaHQgdmVudHJpY3VsYXIgZHlzcGxhc2lh
Ij5BcnJoeXRobW9nZW5pYyByaWdodCB2ZW50cmljdWxhciBkeXNwbGFzaWE8L2E+
PC9kaXY+CjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+Cjx0ZD48
L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHlsZT0i
O3BhZGRpbmctbGVmdDowZW07cGFkZGluZy1yaWdodDowZW07YmFja2dyb3VuZC1j
b2xvcjogTWlzdHlSb3NlOyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAuNzVl
bTsiPjxhIGhyZWY9Ii93aWtpL0VuZG9jYXJkaXVtIiB0aXRsZT0iRW5kb2NhcmRp
dW0iPkVuZG9jYXJkaXVtPC9hPi88YnIgLz4KPGEgaHJlZj0iL3dpa2kvVmFsdnVs
YXJfaGVhcnRfZGlzZWFzZSIgdGl0bGU9IlZhbHZ1bGFyIGhlYXJ0IGRpc2Vhc2Ui
PnZhbHZlczwvYT48L2Rpdj4KPC90ZD4KPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmxl
ZnQ7Ym9yZGVyLWxlZnQtd2lkdGg6MnB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlk
O3dpZHRoOjEwMCU7cGFkZGluZzowcHg7OzsiIGNsYXNzPSJuYXZib3gtbGlzdCBu
YXZib3gtb2RkIj4KPGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC4yNWVtIj48L2Rp
dj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0ibm93cmFwbGlua3MgbmF2
Ym94LXN1Ymdyb3VwIiBzdHlsZT0id2lkdGg6MTAwJTs7OzsiPgo8dHI+Cjx0ZCBj
bGFzcz0ibmF2Ym94LWdyb3VwIiBzdHlsZT0iO3BhZGRpbmctbGVmdDowZW07cGFk
ZGluZy1yaWdodDowZW07YmFja2dyb3VuZC1jb2xvcjogTWlzdHlSb3NlOyI+Cjxk
aXYgc3R5bGU9InBhZGRpbmc6MGVtIDAuNzVlbTsiPjxhIGhyZWY9Ii93aWtpL0Vu
ZG9jYXJkaXRpcyIgdGl0bGU9IkVuZG9jYXJkaXRpcyI+RW5kb2NhcmRpdGlzPC9h
PjwvZGl2Pgo8L3RkPgo8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXIt
bGVmdC13aWR0aDoycHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAw
JTtwYWRkaW5nOjBweDs7OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJveC1vZGQi
Pgo8ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjxhIGhyZWY9Ii93aWtp
L0luZmVjdGl2ZV9lbmRvY2FyZGl0aXMiIHRpdGxlPSJJbmZlY3RpdmUgZW5kb2Nh
cmRpdGlzIj5JbmZlY3RpdmUgZW5kb2NhcmRpdGlzPC9hPiAoPGEgaHJlZj0iL3dp
a2kvU3ViYWN1dGVfYmFjdGVyaWFsX2VuZG9jYXJkaXRpcyIgdGl0bGU9IlN1YmFj
dXRlIGJhY3RlcmlhbCBlbmRvY2FyZGl0aXMiPlN1YmFjdXRlIGJhY3RlcmlhbCBl
bmRvY2FyZGl0aXM8L2E+KTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+
JiMxNjA7wrc8L3NwYW4+ICA8aT5ub25pbmZlY3RpdmUgZW5kb2NhcmRpdGlzPC9p
PiAoPGEgaHJlZj0iL3dpa2kvTm9uYmFjdGVyaWFsX3Rocm9tYm90aWNfZW5kb2Nh
cmRpdGlzIiB0aXRsZT0iTm9uYmFjdGVyaWFsIHRocm9tYm90aWMgZW5kb2NhcmRp
dGlzIj5Ob25iYWN0ZXJpYWwgdGhyb21ib3RpYyBlbmRvY2FyZGl0aXM8L2E+LCA8
YSBocmVmPSIvd2lraS9MaWJtYW4tU2Fja3NfZW5kb2NhcmRpdGlzIiB0aXRsZT0i
TGlibWFuLVNhY2tzIGVuZG9jYXJkaXRpcyIgY2xhc3M9Im13LXJlZGlyZWN0Ij5M
aWJtYW4tU2Fja3MgZW5kb2NhcmRpdGlzPC9hPik8YnIgLz48L2Rpdj4KPC90ZD4K
PC90cj4KPHRyIHN0eWxlPSJoZWlnaHQ6MnB4Ij4KPHRkPjwvdGQ+CjwvdHI+Cjx0
cj4KPHRkIGNsYXNzPSJuYXZib3gtZ3JvdXAiIHN0eWxlPSI7cGFkZGluZy1sZWZ0
OjBlbTtwYWRkaW5nLXJpZ2h0OjBlbTtiYWNrZ3JvdW5kLWNvbG9yOiBNaXN0eVJv
c2U7Ij4KPGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC43NWVtOyI+VmFsdmVzPC9k
aXY+CjwvdGQ+Cjx0ZCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1sZWZ0
LXdpZHRoOjJweDtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlO3Bh
ZGRpbmc6MHB4Ozs7IiBjbGFzcz0ibmF2Ym94LWxpc3QgbmF2Ym94LWV2ZW4iPgo8
ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjxpPjxhIGhyZWY9Ii93aWtp
L01pdHJhbF92YWx2ZSIgdGl0bGU9Ik1pdHJhbCB2YWx2ZSI+bWl0cmFsPC9hPjwv
aT4gKDxhIGhyZWY9Ii93aWtpL01pdHJhbF9yZWd1cmdpdGF0aW9uIiB0aXRsZT0i
TWl0cmFsIHJlZ3VyZ2l0YXRpb24iPnJlZ3VyZ2l0YXRpb248L2E+LCA8YSBocmVm
PSIvd2lraS9NaXRyYWxfdmFsdmVfcHJvbGFwc2UiIHRpdGxlPSJNaXRyYWwgdmFs
dmUgcHJvbGFwc2UiPnByb2xhcHNlPC9hPiwgPGEgaHJlZj0iL3dpa2kvTWl0cmFs
X3N0ZW5vc2lzIiB0aXRsZT0iTWl0cmFsIHN0ZW5vc2lzIj5zdGVub3NpczwvYT4p
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bhbj4g
IDxpPjxhIGhyZWY9Ii93aWtpL0FvcnRpY192YWx2ZSIgdGl0bGU9IkFvcnRpYyB2
YWx2ZSI+YW9ydGljPC9hPjwvaT4gKDxhIGhyZWY9Ii93aWtpL0FvcnRpY192YWx2
ZV9zdGVub3NpcyIgdGl0bGU9IkFvcnRpYyB2YWx2ZSBzdGVub3NpcyI+c3Rlbm9z
aXM8L2E+LCA8YSBocmVmPSIvd2lraS9Bb3J0aWNfaW5zdWZmaWNpZW5jeSIgdGl0
bGU9IkFvcnRpYyBpbnN1ZmZpY2llbmN5Ij5pbnN1ZmZpY2llbmN5PC9hPik8c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAgPGk+
PGEgaHJlZj0iL3dpa2kvVHJpY3VzcGlkX3ZhbHZlIiB0aXRsZT0iVHJpY3VzcGlk
IHZhbHZlIj50cmljdXNwaWQ8L2E+PC9pPiAoPGEgaHJlZj0iL3dpa2kvVHJpY3Vz
cGlkX3ZhbHZlX3N0ZW5vc2lzIiB0aXRsZT0iVHJpY3VzcGlkIHZhbHZlIHN0ZW5v
c2lzIj5zdGVub3NpczwvYT4sIDxhIGhyZWY9Ii93aWtpL1RyaWN1c3BpZF9pbnN1
ZmZpY2llbmN5IiB0aXRsZT0iVHJpY3VzcGlkIGluc3VmZmljaWVuY3kiPmluc3Vm
ZmljaWVuY3k8L2E+KTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+JiMx
NjA7wrc8L3NwYW4+ICA8aT48YSBocmVmPSIvd2lraS9QdWxtb25hcnlfdmFsdmUi
IHRpdGxlPSJQdWxtb25hcnkgdmFsdmUiPnB1bG1vbmFyeTwvYT48L2k+ICg8YSBo
cmVmPSIvd2lraS9QdWxtb25hcnlfdmFsdmVfc3Rlbm9zaXMiIHRpdGxlPSJQdWxt
b25hcnkgdmFsdmUgc3Rlbm9zaXMiPnN0ZW5vc2lzPC9hPiwgPGEgaHJlZj0iL3dp
a2kvUHVsbW9uYXJ5X3ZhbHZlX2luc3VmZmljaWVuY3kiIHRpdGxlPSJQdWxtb25h
cnkgdmFsdmUgaW5zdWZmaWNpZW5jeSI+aW5zdWZmaWNpZW5jeTwvYT4pPC9kaXY+
CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvdGQ+
CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+Cjx0ZD48L3RkPgo8L3RyPgo8
dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHlsZT0iO2JhY2tncm91bmQ6
TWlzdHlSb3NlOzsiPjxhIGhyZWY9Ii93aWtpL0VsZWN0cmljYWxfY29uZHVjdGlv
bl9zeXN0ZW1fb2ZfdGhlX2hlYXJ0IiB0aXRsZT0iRWxlY3RyaWNhbCBjb25kdWN0
aW9uIHN5c3RlbSBvZiB0aGUgaGVhcnQiPkNvbmR1Y3Rpb248L2E+LzxiciAvPgo8
YSBocmVmPSIvd2lraS9DYXJkaWFjX2Fycmh5dGhtaWEiIHRpdGxlPSJDYXJkaWFj
IGFycmh5dGhtaWEiIGNsYXNzPSJtdy1yZWRpcmVjdCI+YXJyaHl0aG1pYTwvYT48
L3RkPgo8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0
aDoycHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5n
OjBweDs7OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJveC1ldmVuIj4KPGRpdiBz
dHlsZT0icGFkZGluZzowZW0gMC4yNWVtIj48L2Rpdj4KPHRhYmxlIGNlbGxzcGFj
aW5nPSIwIiBjbGFzcz0ibm93cmFwbGlua3MgbmF2Ym94LXN1Ymdyb3VwIiBzdHls
ZT0id2lkdGg6MTAwJTs7OzsiPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3Vw
IiBzdHlsZT0iO3BhZGRpbmctbGVmdDowZW07cGFkZGluZy1yaWdodDowZW07YmFj
a2dyb3VuZC1jb2xvcjogTWlzdHlSb3NlOyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6
MGVtIDAuNzVlbTsiPjxhIGhyZWY9Ii93aWtpL0JyYWR5Y2FyZGlhIiB0aXRsZT0i
QnJhZHljYXJkaWEiPkJyYWR5Y2FyZGlhPC9hPjwvZGl2Pgo8L3RkPgo8dGQgc3R5
bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0aDoycHg7Ym9yZGVy
LWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBweDs7OyIgY2xh
c3M9Im5hdmJveC1saXN0IG5hdmJveC1vZGQiPgo8ZGl2IHN0eWxlPSJwYWRkaW5n
OjBlbSAwLjI1ZW0iPgo8cD48YSBocmVmPSIvd2lraS9TaW51c19icmFkeWNhcmRp
YSIgdGl0bGU9IlNpbnVzIGJyYWR5Y2FyZGlhIj5TaW51cyBicmFkeWNhcmRpYTwv
YT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFu
PiAgPGEgaHJlZj0iL3dpa2kvU2lja19zaW51c19zeW5kcm9tZSIgdGl0bGU9IlNp
Y2sgc2ludXMgc3luZHJvbWUiPlNpY2sgc2ludXMgc3luZHJvbWU8L2E+PGJyIC8+
PC9wPgo8YSBocmVmPSIvd2lraS9IZWFydF9ibG9jayIgdGl0bGU9IkhlYXJ0IGJs
b2NrIj5IZWFydCBibG9jazwvYT46IDxhIGhyZWY9Ii93aWtpL1Npbm9hdHJpYWxf
YmxvY2siIHRpdGxlPSJTaW5vYXRyaWFsIGJsb2NrIj5TaW5vYXRyaWFsPC9hPjxz
cGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8
YSBocmVmPSIvd2lraS9BdHJpb3ZlbnRyaWN1bGFyX2Jsb2NrIiB0aXRsZT0iQXRy
aW92ZW50cmljdWxhciBibG9jayI+QVY8L2E+ICg8YSBocmVmPSIvd2lraS9GaXJz
dF9kZWdyZWVfQVZfYmxvY2siIHRpdGxlPSJGaXJzdCBkZWdyZWUgQVYgYmxvY2si
IGNsYXNzPSJtdy1yZWRpcmVjdCI+McKwPC9hPiwgPGEgaHJlZj0iL3dpa2kvU2Vj
b25kX2RlZ3JlZV9BVl9ibG9jayIgdGl0bGU9IlNlY29uZCBkZWdyZWUgQVYgYmxv
Y2siIGNsYXNzPSJtdy1yZWRpcmVjdCI+MsKwPC9hPiwgPGEgaHJlZj0iL3dpa2kv
VGhpcmRfZGVncmVlX0FWX2Jsb2NrIiB0aXRsZT0iVGhpcmQgZGVncmVlIEFWIGJs
b2NrIiBjbGFzcz0ibXctcmVkaXJlY3QiPjPCsDwvYT4pPHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bhbj4gIDxhIGhyZWY9Ii93aWtp
L0ludHJhdmVudHJpY3VsYXJfYmxvY2siIHRpdGxlPSJJbnRyYXZlbnRyaWN1bGFy
IGJsb2NrIj5JbnRyYXZlbnRyaWN1bGFyPC9hPiAoPGEgaHJlZj0iL3dpa2kvQnVu
ZGxlX2JyYW5jaF9ibG9jayIgdGl0bGU9IkJ1bmRsZSBicmFuY2ggYmxvY2siPkJ1
bmRsZSBicmFuY2g8L2E+LzxhIGhyZWY9Ii93aWtpL1JpZ2h0X2J1bmRsZV9icmFu
Y2hfYmxvY2siIHRpdGxlPSJSaWdodCBidW5kbGUgYnJhbmNoIGJsb2NrIj5SaWdo
dDwvYT4vPGEgaHJlZj0iL3dpa2kvTGVmdF9idW5kbGVfYnJhbmNoX2Jsb2NrIiB0
aXRsZT0iTGVmdCBidW5kbGUgYnJhbmNoIGJsb2NrIj5MZWZ0PC9hPiwgPGEgaHJl
Zj0iL3dpa2kvTGVmdF9hbnRlcmlvcl9mYXNjaWN1bGFyX2Jsb2NrIiB0aXRsZT0i
TGVmdCBhbnRlcmlvciBmYXNjaWN1bGFyIGJsb2NrIj5MZWZ0IGFudGVyaW9yIGZh
c2NpY3VsYXI8L2E+LzxhIGhyZWY9Ii93aWtpL0xlZnRfcG9zdGVyaW9yX2Zhc2Np
Y3VsYXJfYmxvY2siIHRpdGxlPSJMZWZ0IHBvc3RlcmlvciBmYXNjaWN1bGFyIGJs
b2NrIj5MZWZ0IHBvc3RlcmlvciBmYXNjaWN1bGFyPC9hPiwgPGEgaHJlZj0iL3dp
a2kvQmlmYXNjaWN1bGFyX2Jsb2NrIiB0aXRsZT0iQmlmYXNjaWN1bGFyIGJsb2Nr
Ij5CaWZhc2NpY3VsYXI8L2E+LzxhIGhyZWY9Ii93aWtpL1RyaWZhc2NpY3VsYXJf
YmxvY2siIHRpdGxlPSJUcmlmYXNjaWN1bGFyIGJsb2NrIj5UcmlmYXNjaWN1bGFy
PC9hPik8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9z
cGFuPiAgPGEgaHJlZj0iL3dpa2kvQWRhbXMtU3Rva2VzX3N5bmRyb21lIiB0aXRs
ZT0iQWRhbXMtU3Rva2VzIHN5bmRyb21lIj5BZGFtcy1TdG9rZXMgc3luZHJvbWU8
L2E+PC9kaXY+CjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+Cjx0
ZD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHls
ZT0iO3BhZGRpbmctbGVmdDowZW07cGFkZGluZy1yaWdodDowZW07YmFja2dyb3Vu
ZC1jb2xvcjogTWlzdHlSb3NlOyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAu
NzVlbTsiPjxhIGhyZWY9Ii93aWtpL1RhY2h5Y2FyZGlhIiB0aXRsZT0iVGFjaHlj
YXJkaWEiPlRhY2h5Y2FyZGlhPC9hPjxiciAvPgooPGEgaHJlZj0iL3dpa2kvUGFy
b3h5c21hbF90YWNoeWNhcmRpYSIgdGl0bGU9IlBhcm94eXNtYWwgdGFjaHljYXJk
aWEiPnBhcm94eXNtYWw8L2E+IGFuZCA8YSBocmVmPSIvd2lraS9TaW51c190YWNo
eWNhcmRpYSIgdGl0bGU9IlNpbnVzIHRhY2h5Y2FyZGlhIj5zaW51czwvYT4pPC9k
aXY+CjwvdGQ+Cjx0ZCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1sZWZ0
LXdpZHRoOjJweDtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlO3Bh
ZGRpbmc6MHB4Ozs7IiBjbGFzcz0ibmF2Ym94LWxpc3QgbmF2Ym94LWV2ZW4iPgo8
ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjwvZGl2Pgo8dGFibGUgY2Vs
bHNwYWNpbmc9IjAiIGNsYXNzPSJub3dyYXBsaW5rcyBuYXZib3gtc3ViZ3JvdXAi
IHN0eWxlPSJ3aWR0aDoxMDAlOzs7OyI+Cjx0cj4KPHRkIGNsYXNzPSJuYXZib3gt
Z3JvdXAiIHN0eWxlPSI7cGFkZGluZy1sZWZ0OjBlbTtwYWRkaW5nLXJpZ2h0OjBl
bTtiYWNrZ3JvdW5kLWNvbG9yOiBNaXN0eVJvc2U7Ij4KPGRpdiBzdHlsZT0icGFk
ZGluZzowZW0gMC43NWVtOyI+PGEgaHJlZj0iL3dpa2kvU3VwcmF2ZW50cmljdWxh
cl90YWNoeWNhcmRpYSIgdGl0bGU9IlN1cHJhdmVudHJpY3VsYXIgdGFjaHljYXJk
aWEiPlN1cHJhdmVudHJpY3VsYXI8L2E+PC9kaXY+CjwvdGQ+Cjx0ZCBzdHlsZT0i
dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1sZWZ0LXdpZHRoOjJweDtib3JkZXItbGVm
dC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlO3BhZGRpbmc6MHB4Ozs7IiBjbGFzcz0i
bmF2Ym94LWxpc3QgbmF2Ym94LW9kZCI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVt
IDAuMjVlbSI+PGEgaHJlZj0iL3dpa2kvQXRyaWFsX3RhY2h5Y2FyZGlhIiB0aXRs
ZT0iQXRyaWFsIHRhY2h5Y2FyZGlhIj5BdHJpYWw8L2E+ICg8YSBocmVmPSIvd2lr
aS9NdWx0aWZvY2FsX2F0cmlhbF90YWNoeWNhcmRpYSIgdGl0bGU9Ik11bHRpZm9j
YWwgYXRyaWFsIHRhY2h5Y2FyZGlhIj5NdWx0aWZvY2FsPC9hPik8c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAgPGEgaHJlZj0i
L3dpa2kvSnVuY3Rpb25hbF90YWNoeWNhcmRpYSIgdGl0bGU9Ikp1bmN0aW9uYWwg
dGFjaHljYXJkaWEiPkp1bmN0aW9uYWw8L2E+ICg8YSBocmVmPSIvd2lraS9BVl9u
b2RhbF9yZWVudHJhbnRfdGFjaHljYXJkaWEiIHRpdGxlPSJBViBub2RhbCByZWVu
dHJhbnQgdGFjaHljYXJkaWEiPkFWIG5vZGFsIHJlZW50cmFudDwvYT4sIDxhIGhy
ZWY9Ii93aWtpL0p1bmN0aW9uYWxfZWN0b3BpY190YWNoeWNhcmRpYSIgdGl0bGU9
Ikp1bmN0aW9uYWwgZWN0b3BpYyB0YWNoeWNhcmRpYSI+SnVuY3Rpb25hbCBlY3Rv
cGljPC9hPik8L2Rpdj4KPC90ZD4KPC90cj4KPHRyIHN0eWxlPSJoZWlnaHQ6MnB4
Ij4KPHRkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJuYXZib3gtZ3JvdXAi
IHN0eWxlPSI7cGFkZGluZy1sZWZ0OjBlbTtwYWRkaW5nLXJpZ2h0OjBlbTtiYWNr
Z3JvdW5kLWNvbG9yOiBNaXN0eVJvc2U7Ij4KPGRpdiBzdHlsZT0icGFkZGluZzow
ZW0gMC43NWVtOyI+PGEgaHJlZj0iL3dpa2kvVmVudHJpY3VsYXJfdGFjaHljYXJk
aWEiIHRpdGxlPSJWZW50cmljdWxhciB0YWNoeWNhcmRpYSI+VmVudHJpY3VsYXI8
L2E+PC9kaXY+CjwvdGQ+Cjx0ZCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JvcmRl
ci1sZWZ0LXdpZHRoOjJweDtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDt3aWR0aDox
MDAlO3BhZGRpbmc6MHB4Ozs7IiBjbGFzcz0ibmF2Ym94LWxpc3QgbmF2Ym94LWV2
ZW4iPgo8ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjxhIGhyZWY9Ii93
aWtpL1RvcnNhZGVzX2RlX3BvaW50ZXMiIHRpdGxlPSJUb3JzYWRlcyBkZSBwb2lu
dGVzIj5Ub3JzYWRlcyBkZSBwb2ludGVzPC9hPjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9DYXRl
Y2hvbGFtaW5lcmdpY19wb2x5bW9ycGhpY192ZW50cmljdWxhcl90YWNoeWNhcmRp
YSIgdGl0bGU9IkNhdGVjaG9sYW1pbmVyZ2ljIHBvbHltb3JwaGljIHZlbnRyaWN1
bGFyIHRhY2h5Y2FyZGlhIj5DYXRlY2hvbGFtaW5lcmdpYyBwb2x5bW9ycGhpYzwv
YT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFu
PiAgPGEgaHJlZj0iL3dpa2kvQWNjZWxlcmF0ZWRfaWRpb3ZlbnRyaWN1bGFyX3Jo
eXRobSIgdGl0bGU9IkFjY2VsZXJhdGVkIGlkaW92ZW50cmljdWxhciByaHl0aG0i
PkFjY2VsZXJhdGVkIGlkaW92ZW50cmljdWxhciByaHl0aG08L2E+PC9kaXY+Cjwv
dGQ+CjwvdHI+CjwvdGFibGU+CjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0
OjJweCI+Cjx0ZD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdy
b3VwIiBzdHlsZT0iO3BhZGRpbmctbGVmdDowZW07cGFkZGluZy1yaWdodDowZW07
YmFja2dyb3VuZC1jb2xvcjogTWlzdHlSb3NlOyI+CjxkaXYgc3R5bGU9InBhZGRp
bmc6MGVtIDAuNzVlbTsiPlByZW1hdHVyZSBjb250cmFjdGlvbjwvZGl2Pgo8L3Rk
Pgo8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0aDoy
cHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBw
eDs7OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJveC1vZGQiPgo8ZGl2IHN0eWxl
PSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjxhIGhyZWY9Ii93aWtpL1ByZW1hdHVyZV9h
dHJpYWxfY29udHJhY3Rpb24iIHRpdGxlPSJQcmVtYXR1cmUgYXRyaWFsIGNvbnRy
YWN0aW9uIj5BdHJpYWw8L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7
Ij4mIzE2MDvCtzwvc3Bhbj4gIDxhIGhyZWY9Ii93aWtpL1ByZW1hdHVyZV92ZW50
cmljdWxhcl9jb250cmFjdGlvbiIgdGl0bGU9IlByZW1hdHVyZSB2ZW50cmljdWxh
ciBjb250cmFjdGlvbiI+VmVudHJpY3VsYXI8L2E+PC9kaXY+CjwvdGQ+CjwvdHI+
Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+Cjx0ZD48L3RkPgo8L3RyPgo8dHI+Cjx0
ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHlsZT0iO3BhZGRpbmctbGVmdDowZW07
cGFkZGluZy1yaWdodDowZW07YmFja2dyb3VuZC1jb2xvcjogTWlzdHlSb3NlOyI+
CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAuNzVlbTsiPjxhIGhyZWY9Ii93aWtp
L1ByZS1leGNpdGF0aW9uX3N5bmRyb21lIiB0aXRsZT0iUHJlLWV4Y2l0YXRpb24g
c3luZHJvbWUiPlByZS1leGNpdGF0aW9uIHN5bmRyb21lPC9hPjwvZGl2Pgo8L3Rk
Pgo8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0aDoy
cHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBw
eDs7OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJveC1ldmVuIj4KPGRpdiBzdHls
ZT0icGFkZGluZzowZW0gMC4yNWVtIj48YSBocmVmPSIvd2lraS9Xb2xmZi1QYXJr
aW5zb24tV2hpdGVfc3luZHJvbWUiIHRpdGxlPSJXb2xmZi1QYXJraW5zb24tV2hp
dGUgc3luZHJvbWUiIGNsYXNzPSJtdy1yZWRpcmVjdCI+V29sZmYtUGFya2luc29u
LVdoaXRlPC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+JiMxNjA7
wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9Mb3duLUdhbm9uZy1MZXZpbmVfc3lu
ZHJvbWUiIHRpdGxlPSJMb3duLUdhbm9uZy1MZXZpbmUgc3luZHJvbWUiPkxvd24t
R2Fub25nLUxldmluZTwvYT48L2Rpdj4KPC90ZD4KPC90cj4KPHRyIHN0eWxlPSJo
ZWlnaHQ6MnB4Ij4KPHRkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNzPSJuYXZi
b3gtZ3JvdXAiIHN0eWxlPSI7cGFkZGluZy1sZWZ0OjBlbTtwYWRkaW5nLXJpZ2h0
OjBlbTtiYWNrZ3JvdW5kLWNvbG9yOiBNaXN0eVJvc2U7Ij4KPGRpdiBzdHlsZT0i
cGFkZGluZzowZW0gMC43NWVtOyI+Rmx1dHRlci88YSBocmVmPSIvd2lraS9GaWJy
aWxsYXRpb24iIHRpdGxlPSJGaWJyaWxsYXRpb24iPmZpYnJpbGxhdGlvbjwvYT48
L2Rpdj4KPC90ZD4KPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyLWxl
ZnQtd2lkdGg6MnB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO3dpZHRoOjEwMCU7
cGFkZGluZzowcHg7OzsiIGNsYXNzPSJuYXZib3gtbGlzdCBuYXZib3gtb2RkIj4K
PGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC4yNWVtIj48YSBocmVmPSIvd2lraS9B
dHJpYWxfZmx1dHRlciIgdGl0bGU9IkF0cmlhbCBmbHV0dGVyIj5BdHJpYWwgZmx1
dHRlcjwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3
PC9zcGFuPiAgPGEgaHJlZj0iL3dpa2kvVmVudHJpY3VsYXJfZmx1dHRlciIgdGl0
bGU9IlZlbnRyaWN1bGFyIGZsdXR0ZXIiPlZlbnRyaWN1bGFyIGZsdXR0ZXI8L2E+
PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bhbj4g
IDxhIGhyZWY9Ii93aWtpL0F0cmlhbF9maWJyaWxsYXRpb24iIHRpdGxlPSJBdHJp
YWwgZmlicmlsbGF0aW9uIj5BdHJpYWwgZmlicmlsbGF0aW9uPC9hPiAoPGEgaHJl
Zj0iL3dpa2kvRmFtaWxpYWxfYXRyaWFsX2ZpYnJpbGxhdGlvbiIgdGl0bGU9IkZh
bWlsaWFsIGF0cmlhbCBmaWJyaWxsYXRpb24iPkZhbWlsaWFsPC9hPik8c3BhbiBz
dHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAgPGEgaHJl
Zj0iL3dpa2kvVmVudHJpY3VsYXJfZmlicmlsbGF0aW9uIiB0aXRsZT0iVmVudHJp
Y3VsYXIgZmlicmlsbGF0aW9uIj5WZW50cmljdWxhciBmaWJyaWxsYXRpb248L2E+
PC9kaXY+CjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+Cjx0ZD48
L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHlsZT0i
O3BhZGRpbmctbGVmdDowZW07cGFkZGluZy1yaWdodDowZW07YmFja2dyb3VuZC1j
b2xvcjogTWlzdHlSb3NlOyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAuNzVl
bTsiPjxhIGhyZWY9Ii93aWtpL1BhY2VtYWtlciIgdGl0bGU9IlBhY2VtYWtlciIg
Y2xhc3M9Im13LXJlZGlyZWN0Ij5QYWNlbWFrZXI8L2E+PC9kaXY+CjwvdGQ+Cjx0
ZCBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1sZWZ0LXdpZHRoOjJweDti
b3JkZXItbGVmdC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlO3BhZGRpbmc6MHB4Ozs7
IiBjbGFzcz0ibmF2Ym94LWxpc3QgbmF2Ym94LWV2ZW4iPgo8ZGl2IHN0eWxlPSJw
YWRkaW5nOjBlbSAwLjI1ZW0iPjxhIGhyZWY9Ii93aWtpL1dhbmRlcmluZ19wYWNl
bWFrZXIiIHRpdGxlPSJXYW5kZXJpbmcgcGFjZW1ha2VyIj5XYW5kZXJpbmcgcGFj
ZW1ha2VyPC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+JiMxNjA7
wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9FY3RvcGljX3BhY2VtYWtlciIgdGl0
bGU9IkVjdG9waWMgcGFjZW1ha2VyIj5FY3RvcGljIHBhY2VtYWtlcjwvYT4vPGEg
aHJlZj0iL3dpa2kvRWN0b3BpY19iZWF0IiB0aXRsZT0iRWN0b3BpYyBiZWF0Ij5F
Y3RvcGljIGJlYXQ8L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4m
IzE2MDvCtzwvc3Bhbj4gIDxhIGhyZWY9Ii93aWtpL1BhcmFzeXN0b2xlIiB0aXRs
ZT0iUGFyYXN5c3RvbGUiPlBhcmFzeXN0b2xlPC9hPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9N
dWx0aWZvY2FsX2F0cmlhbF90YWNoeWNhcmRpYSIgdGl0bGU9Ik11bHRpZm9jYWwg
YXRyaWFsIHRhY2h5Y2FyZGlhIj5NdWx0aWZvY2FsIGF0cmlhbCB0YWNoeWNhcmRp
YTwvYT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9z
cGFuPiAgPGEgaHJlZj0iL3dpa2kvUGFjZW1ha2VyX3N5bmRyb21lIiB0aXRsZT0i
UGFjZW1ha2VyIHN5bmRyb21lIj5QYWNlbWFrZXIgc3luZHJvbWU8L2E+PC9kaXY+
CjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+Cjx0ZD48L3RkPgo8
L3RyPgo8dHI+Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHlsZT0iO3BhZGRp
bmctbGVmdDowZW07cGFkZGluZy1yaWdodDowZW07YmFja2dyb3VuZC1jb2xvcjog
TWlzdHlSb3NlOyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAuNzVlbTsiPjxh
IGhyZWY9Ii93aWtpL0xvbmdfUVRfc3luZHJvbWUiIHRpdGxlPSJMb25nIFFUIHN5
bmRyb21lIj5Mb25nIFFUIHN5bmRyb21lPC9hPjwvZGl2Pgo8L3RkPgo8dGQgc3R5
bGU9InRleHQtYWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0aDoycHg7Ym9yZGVy
LWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBweDs7OyIgY2xh
c3M9Im5hdmJveC1saXN0IG5hdmJveC1vZGQiPgo8ZGl2IHN0eWxlPSJwYWRkaW5n
OjBlbSAwLjI1ZW0iPjxhIGhyZWY9Ii93aWtpL1JvbWFuby1XYXJkX3N5bmRyb21l
IiB0aXRsZT0iUm9tYW5vLVdhcmQgc3luZHJvbWUiPlJvbWFuby1XYXJkIHN5bmRy
b21lPC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+JiMxNjA7wrc8
L3NwYW4+ICA8YSBocmVmPSIvd2lraS9BbmRlcnNlbiVFMiU4MCU5M1Rhd2lsX3N5
bmRyb21lIiB0aXRsZT0iQW5kZXJzZW7igJNUYXdpbCBzeW5kcm9tZSI+QW5kZXJz
ZW4tVGF3aWwgc3luZHJvbWU8L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJv
bGQ7Ij4mIzE2MDvCtzwvc3Bhbj4gIDxhIGhyZWY9Ii93aWtpL0plcnZlbGxfYW5k
X0xhbmdlLU5pZWxzZW5fc3luZHJvbWUiIHRpdGxlPSJKZXJ2ZWxsIGFuZCBMYW5n
ZS1OaWVsc2VuIHN5bmRyb21lIj5KZXJ2ZWxsIGFuZCBMYW5nZS1OaWVsc2VuIHN5
bmRyb21lPC9hPjwvZGl2Pgo8L3RkPgo8L3RyPgo8dHIgc3R5bGU9ImhlaWdodDoy
cHgiPgo8dGQ+PC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Im5hdmJveC1ncm91
cCIgc3R5bGU9IjtwYWRkaW5nLWxlZnQ6MGVtO3BhZGRpbmctcmlnaHQ6MGVtO2Jh
Y2tncm91bmQtY29sb3I6IE1pc3R5Um9zZTsiPgo8ZGl2IHN0eWxlPSJwYWRkaW5n
OjBlbSAwLjc1ZW07Ij48YSBocmVmPSIvd2lraS9DYXJkaWFjX2FycmVzdCIgdGl0
bGU9IkNhcmRpYWMgYXJyZXN0Ij5DYXJkaWFjIGFycmVzdDwvYT48L2Rpdj4KPC90
ZD4KPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyLWxlZnQtd2lkdGg6
MnB4O2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO3dpZHRoOjEwMCU7cGFkZGluZzow
cHg7OzsiIGNsYXNzPSJuYXZib3gtbGlzdCBuYXZib3gtZXZlbiI+CjxkaXYgc3R5
bGU9InBhZGRpbmc6MGVtIDAuMjVlbSI+PGEgaHJlZj0iL3dpa2kvU3VkZGVuX2Nh
cmRpYWNfZGVhdGgiIHRpdGxlPSJTdWRkZW4gY2FyZGlhYyBkZWF0aCI+U3VkZGVu
IGNhcmRpYWMgZGVhdGg8L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7
Ij4mIzE2MDvCtzwvc3Bhbj4gIDxhIGhyZWY9Ii93aWtpL0FzeXN0b2xlIiB0aXRs
ZT0iQXN5c3RvbGUiPkFzeXN0b2xlPC9hPjxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9QdWxzZWxl
c3NfZWxlY3RyaWNhbF9hY3Rpdml0eSIgdGl0bGU9IlB1bHNlbGVzcyBlbGVjdHJp
Y2FsIGFjdGl2aXR5Ij5QdWxzZWxlc3MgZWxlY3RyaWNhbCBhY3Rpdml0eTwvYT48
c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAg
PGEgaHJlZj0iL3dpa2kvU2lub2F0cmlhbF9hcnJlc3QiIHRpdGxlPSJTaW5vYXRy
aWFsIGFycmVzdCI+U2lub2F0cmlhbCBhcnJlc3Q8L2E+PC9kaXY+CjwvdGQ+Cjwv
dHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweCI+Cjx0ZD48L3RkPgo8L3RyPgo8dHI+
Cjx0ZCBjbGFzcz0ibmF2Ym94LWdyb3VwIiBzdHlsZT0iO3BhZGRpbmctbGVmdDow
ZW07cGFkZGluZy1yaWdodDowZW07YmFja2dyb3VuZC1jb2xvcjogTWlzdHlSb3Nl
OyI+CjxkaXYgc3R5bGU9InBhZGRpbmc6MGVtIDAuNzVlbTsiPk90aGVyL3VuZ3Jv
dXBlZDwvZGl2Pgo8L3RkPgo8dGQgc3R5bGU9InRleHQtYWxpZ246bGVmdDtib3Jk
ZXItbGVmdC13aWR0aDoycHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7d2lkdGg6
MTAwJTtwYWRkaW5nOjBweDs7OyIgY2xhc3M9Im5hdmJveC1saXN0IG5hdmJveC1v
ZGQiPgo8ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjxpPjxhIGhyZWY9
Ii93aWtpL0hleGF4aWFsX3JlZmVyZW5jZV9zeXN0ZW0iIHRpdGxlPSJIZXhheGlh
bCByZWZlcmVuY2Ugc3lzdGVtIj5oZXhheGlhbCByZWZlcmVuY2Ugc3lzdGVtPC9h
PjwvaT4gKDxhIGhyZWY9Ii93aWtpL1JpZ2h0X2F4aXNfZGV2aWF0aW9uIiB0aXRs
ZT0iUmlnaHQgYXhpcyBkZXZpYXRpb24iPlJpZ2h0IGF4aXMgZGV2aWF0aW9uPC9h
PiwgPGEgaHJlZj0iL3dpa2kvTGVmdF9heGlzX2RldmlhdGlvbiIgdGl0bGU9Ikxl
ZnQgYXhpcyBkZXZpYXRpb24iPkxlZnQgYXhpcyBkZXZpYXRpb248L2E+KTxzcGFu
IHN0eWxlPSJmb250LXdlaWdodDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8aT48
YSBocmVmPSIvd2lraS9RVF9pbnRlcnZhbCIgdGl0bGU9IlFUIGludGVydmFsIj5R
VDwvYT48L2k+ICg8YSBocmVmPSIvd2lraS9TaG9ydF9RVF9zeW5kcm9tZSIgdGl0
bGU9IlNob3J0IFFUIHN5bmRyb21lIj5TaG9ydCBRVCBzeW5kcm9tZTwvYT4pPHNw
YW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bhbj4gIDxp
PjxhIGhyZWY9Ii93aWtpL1Rfd2F2ZSIgdGl0bGU9IlQgd2F2ZSI+VDwvYT48L2k+
ICg8YSBocmVmPSIvd2lraS9UX3dhdmVfYWx0ZXJuYW5zIiB0aXRsZT0iVCB3YXZl
IGFsdGVybmFucyI+VCB3YXZlIGFsdGVybmFuczwvYT4pPHNwYW4gc3R5bGU9ImZv
bnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bhbj4gIDxpPjxhIGhyZWY9Ii93
aWtpL1NUX3NlZ21lbnQiIHRpdGxlPSJTVCBzZWdtZW50Ij5TVDwvYT48L2k+ICg8
YSBocmVmPSIvd2lraS9Pc2Jvcm5fd2F2ZSIgdGl0bGU9Ik9zYm9ybiB3YXZlIj5P
c2Jvcm4gd2F2ZTwvYT4sIDxhIGhyZWY9Ii93aWtpL1NUX2VsZXZhdGlvbiIgdGl0
bGU9IlNUIGVsZXZhdGlvbiI+U1QgZWxldmF0aW9uPC9hPiwgPGEgaHJlZj0iL3dp
a2kvU1RfZGVwcmVzc2lvbiIgdGl0bGU9IlNUIGRlcHJlc3Npb24iPlNUIGRlcHJl
c3Npb248L2E+KTwvZGl2Pgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8L3RkPgo8L3Ry
Pgo8dHIgc3R5bGU9ImhlaWdodDoycHgiPgo8dGQ+PC90ZD4KPC90cj4KPHRyPgo8
dGQgY2xhc3M9Im5hdmJveC1ncm91cCIgc3R5bGU9IjtiYWNrZ3JvdW5kOk1pc3R5
Um9zZTs7Ij48YSBocmVmPSIvd2lraS9DYXJkaW9tZWdhbHkiIHRpdGxlPSJDYXJk
aW9tZWdhbHkiPkNhcmRpb21lZ2FseTwvYT48L3RkPgo8dGQgc3R5bGU9InRleHQt
YWxpZ246bGVmdDtib3JkZXItbGVmdC13aWR0aDoycHg7Ym9yZGVyLWxlZnQtc3R5
bGU6c29saWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBweDs7OyIgY2xhc3M9Im5hdmJv
eC1saXN0IG5hdmJveC1vZGQiPgo8ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1
ZW0iPjxhIGhyZWY9Ii93aWtpL1ZlbnRyaWN1bGFyX2h5cGVydHJvcGh5IiB0aXRs
ZT0iVmVudHJpY3VsYXIgaHlwZXJ0cm9waHkiPlZlbnRyaWN1bGFyIGh5cGVydHJv
cGh5PC9hPiAoPGEgaHJlZj0iL3dpa2kvTGVmdF92ZW50cmljdWxhcl9oeXBlcnRy
b3BoeSIgdGl0bGU9IkxlZnQgdmVudHJpY3VsYXIgaHlwZXJ0cm9waHkiPkxlZnQ8
L2E+LCA8YSBocmVmPSIvd2lraS9SaWdodF92ZW50cmljdWxhcl9oeXBlcnRyb3Bo
eSIgdGl0bGU9IlJpZ2h0IHZlbnRyaWN1bGFyIGh5cGVydHJvcGh5Ij5SaWdodDwv
YT4vPGEgaHJlZj0iL3dpa2kvQ29yX3B1bG1vbmFsZSIgdGl0bGU9IkNvciBwdWxt
b25hbGUiPkNvciBwdWxtb25hbGU8L2E+KTxzcGFuIHN0eWxlPSJmb250LXdlaWdo
dDpib2xkOyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9BdHJpYWxf
ZW5sYXJnZW1lbnQiIHRpdGxlPSJBdHJpYWwgZW5sYXJnZW1lbnQiPkF0cmlhbCBl
bmxhcmdlbWVudDwvYT4gKDxhIGhyZWY9Ii93aWtpL0xlZnRfYXRyaWFsX2VubGFy
Z2VtZW50IiB0aXRsZT0iTGVmdCBhdHJpYWwgZW5sYXJnZW1lbnQiPkxlZnQ8L2E+
LCA8YSBocmVmPSIvd2lraS9SaWdodF9hdHJpYWxfZW5sYXJnZW1lbnQiIHRpdGxl
PSJSaWdodCBhdHJpYWwgZW5sYXJnZW1lbnQiPlJpZ2h0PC9hPik8L2Rpdj4KPC90
ZD4KPC90cj4KPHRyIHN0eWxlPSJoZWlnaHQ6MnB4Ij4KPHRkPjwvdGQ+CjwvdHI+
Cjx0cj4KPHRkIGNsYXNzPSJuYXZib3gtZ3JvdXAiIHN0eWxlPSI7YmFja2dyb3Vu
ZDpNaXN0eVJvc2U7OyI+T3RoZXI8L3RkPgo8dGQgc3R5bGU9InRleHQtYWxpZ246
bGVmdDtib3JkZXItbGVmdC13aWR0aDoycHg7Ym9yZGVyLWxlZnQtc3R5bGU6c29s
aWQ7d2lkdGg6MTAwJTtwYWRkaW5nOjBweDs7OyIgY2xhc3M9Im5hdmJveC1saXN0
IG5hdmJveC1ldmVuIj4KPGRpdiBzdHlsZT0icGFkZGluZzowZW0gMC4yNWVtIj48
YSBocmVmPSIvd2lraS9DYXJkaWFjX2ZpYnJvc2lzIiB0aXRsZT0iQ2FyZGlhYyBm
aWJyb3NpcyI+Q2FyZGlhYyBmaWJyb3NpczwvYT48c3BhbiBzdHlsZT0iZm9udC13
ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3PC9zcGFuPiAgPHN0cm9uZyBjbGFzcz0ic2Vs
ZmxpbmsiPkhlYXJ0IGZhaWx1cmU8L3N0cm9uZz4gKDxhIGhyZWY9Ii93aWtpL0Nh
cmRpYWNfYXN0aG1hIiB0aXRsZT0iQ2FyZGlhYyBhc3RobWEiPkNhcmRpYWMgYXN0
aG1hPC9hPik8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYwO8K3
PC9zcGFuPiAgPGEgaHJlZj0iL3dpa2kvUmhldW1hdGljX2ZldmVyIiB0aXRsZT0i
UmhldW1hdGljIGZldmVyIj5SaGV1bWF0aWMgZmV2ZXI8L2E+PC9kaXY+CjwvdGQ+
CjwvdHI+Cjx0ciBzdHlsZT0iaGVpZ2h0OjJweDsiPgo8dGQ+PC90ZD4KPC90cj4K
PHRyPgo8dGQgY2xhc3M9Im5hdmJveC1hYm92ZWJlbG93IiBzdHlsZT0iO2JhY2tn
cm91bmQ6TWlzdHlSb3NlOyIgY29sc3Bhbj0iMiI+Cjx0YWJsZSBjZWxsc3BhY2lu
Zz0iMCIgY2xhc3M9Im5vd3JhcGxpbmtzIG5hdmJveC1zdWJncm91cCIgc3R5bGU9
IndpZHRoOjEwMCU7Ozs7Ij4KPHRyPgo8dGQgY29sc3Bhbj0iMiIgc3R5bGU9Indp
ZHRoOjEwMCU7cGFkZGluZzowcHg7OztiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Nv
bG9yOmluaGVyaXQ7IiBjbGFzcz0ibmF2Ym94LWxpc3QgbmF2Ym94LW9kZCI+Cjxk
aXYgc3R5bGU9InBhZGRpbmc6MHB4OyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIg
Y2xhc3M9Im5hdmJveC1jb2x1bW5zLXRhYmxlIiBzdHlsZT0idGV4dC1hbGlnbjps
ZWZ0O3dpZHRoOjEwMCU7Ij4KPHRyIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7
Ij4KPHRkIHN0eWxlPSJwYWRkaW5nOjBweDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNr
Z3JvdW5kOiNlZmVmZWY7Ozt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOk1p
c3R5Um9zZTs7d2lkdGg6MTBlbTsiPgo8ZGl2Pgo8cD48YSBocmVmPSIvd2lraS9U
ZW1wbGF0ZTpNZWRpY2luZV9uYXZzIiB0aXRsZT0iVGVtcGxhdGU6TWVkaWNpbmUg
bmF2cyI+TTwvYT46IDxhIGhyZWY9Ii93aWtpL0hlYXJ0IiB0aXRsZT0iSGVhcnQi
PkhSVDwvYT48L3A+CjwvZGl2Pgo8L3RkPgo8dGQgc3R5bGU9ImJvcmRlci1sZWZ0
OjJweCBzb2xpZCAjZmRmZGZkO3BhZGRpbmc6MHB4O3RleHQtYWxpZ246Y2VudGVy
O2JhY2tncm91bmQ6I2VmZWZlZjs7O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91
bmQ6d2hpdGU7O3dpZHRoOjEwZW07Ij4KPGRpdj4KPHA+PGEgaHJlZj0iL3dpa2kv
VGVtcGxhdGU6SGVhcnQiIHRpdGxlPSJUZW1wbGF0ZTpIZWFydCI+YW5hdDwvYT4v
PGEgaHJlZj0iL3dpa2kvVGVtcGxhdGU6Q2FyZGlvdmFzY3VsYXJfcGh5c2lvbG9n
eSIgdGl0bGU9IlRlbXBsYXRlOkNhcmRpb3Zhc2N1bGFyIHBoeXNpb2xvZ3kiPnBo
eXM8L2E+LzxhIGhyZWY9Ii93aWtpL1RlbXBsYXRlOkRldmVsb3BtZW50X29mX2Np
cmN1bGF0b3J5X3N5c3RlbSIgdGl0bGU9IlRlbXBsYXRlOkRldmVsb3BtZW50IG9m
IGNpcmN1bGF0b3J5IHN5c3RlbSI+ZGV2cDwvYT48L3A+CjwvZGl2Pgo8L3RkPgo8
dGQgc3R5bGU9ImJvcmRlci1sZWZ0OjJweCBzb2xpZCAjZmRmZGZkO3BhZGRpbmc6
MHB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2VmZWZlZjs7O3RleHQt
YWxpZ246Y2VudGVyO2JhY2tncm91bmQ6c2lsdmVyOzt3aWR0aDoxMGVtOyI+Cjxk
aXY+CjxwPjxhIGhyZWY9Ii93aWtpL1RlbXBsYXRlOkhlYXJ0X2Rpc2Vhc2VzIiB0
aXRsZT0iVGVtcGxhdGU6SGVhcnQgZGlzZWFzZXMiPm5vY288L2E+LzxhIGhyZWY9
Ii93aWtpL1RlbXBsYXRlOkNvbmdlbml0YWxfaGVhcnRfZGVmZWN0cyIgdGl0bGU9
IlRlbXBsYXRlOkNvbmdlbml0YWwgaGVhcnQgZGVmZWN0cyI+Y29uZzwvYT4vPGEg
aHJlZj0iL3dpa2kvVGVtcGxhdGU6SGVhcnRfbmVvcGxhc2lhIiB0aXRsZT0iVGVt
cGxhdGU6SGVhcnQgbmVvcGxhc2lhIj50dW1yPC9hPiwgPGEgaHJlZj0iL3dpa2kv
VGVtcGxhdGU6Q2FyZGlvdmFzY3VsYXJfc3lzdGVtX3N5bXB0b21zX2FuZF9zaWdu
cyIgdGl0bGU9IlRlbXBsYXRlOkNhcmRpb3Zhc2N1bGFyIHN5c3RlbSBzeW1wdG9t
cyBhbmQgc2lnbnMiPnN5c2k8L2E+LzxhIGhyZWY9Ii93aWtpL1RlbXBsYXRlOkVw
b255bW91c19tZWRpY2FsX3NpZ25zX2Zvcl9jYXJkaW92YXNjdWxhcl9zeXN0ZW0i
IHRpdGxlPSJUZW1wbGF0ZTpFcG9ueW1vdXMgbWVkaWNhbCBzaWducyBmb3IgY2Fy
ZGlvdmFzY3VsYXIgc3lzdGVtIj5lcG9uPC9hPjwvcD4KPC9kaXY+CjwvdGQ+Cjx0
ZCBzdHlsZT0iYm9yZGVyLWxlZnQ6MnB4IHNvbGlkICNmZGZkZmQ7cGFkZGluZzow
cHg7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDojZWZlZmVmOzs7dGV4dC1h
bGlnbjpjZW50ZXI7YmFja2dyb3VuZDojY2NmOzt3aWR0aDoxMGVtOyI+CjxkaXY+
CjxwPjxhIGhyZWY9Ii93aWtpL1RlbXBsYXRlOkNhcmRpYWNfcHJvY2VkdXJlcyIg
dGl0bGU9IlRlbXBsYXRlOkNhcmRpYWMgcHJvY2VkdXJlcyI+cHJvYzwvYT4sIDxh
IGhyZWY9Ii93aWtpL0FUQ19jb2RlX0MiIHRpdGxlPSJBVEMgY29kZSBDIj5kcnVn
PC9hPiAoPGEgaHJlZj0iL3dpa2kvVGVtcGxhdGU6Q2FyZGlhY19nbHljb3NpZGVz
IiB0aXRsZT0iVGVtcGxhdGU6Q2FyZGlhYyBnbHljb3NpZGVzIj5DMUE8L2E+Lzxh
IGhyZWY9Ii93aWtpL1RlbXBsYXRlOkFudGlhcnJoeXRobWljX2FnZW50cyIgdGl0
bGU9IlRlbXBsYXRlOkFudGlhcnJoeXRobWljIGFnZW50cyI+MUI8L2E+LzxhIGhy
ZWY9Ii93aWtpL1RlbXBsYXRlOkNhcmRpYWNfc3RpbXVsYW50c19leGNsdWRpbmdf
Y2FyZGlhY19nbHljb3NpZGVzIiB0aXRsZT0iVGVtcGxhdGU6Q2FyZGlhYyBzdGlt
dWxhbnRzIGV4Y2x1ZGluZyBjYXJkaWFjIGdseWNvc2lkZXMiPjFDPC9hPi88YSBo
cmVmPSIvd2lraS9UZW1wbGF0ZTpWYXNvZGlsYXRvcnNfdXNlZF9pbl9jYXJkaWFj
X2Rpc2Vhc2VzIiB0aXRsZT0iVGVtcGxhdGU6VmFzb2RpbGF0b3JzIHVzZWQgaW4g
Y2FyZGlhYyBkaXNlYXNlcyI+MUQ8L2E+KTwvcD4KPC9kaXY+CjwvdGQ+CjwvdHI+
CjwvdGFibGU+CjwvZGl2Pgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8L3RkPgo8L3Ry
Pgo8L3RhYmxlPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8dGFibGUgY2xhc3M9Im5h
dmJveCIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSI7Ij4KPHRyPgo8dGQgc3R5bGU9
InBhZGRpbmc6MnB4OyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9Im5v
d3JhcGxpbmtzIGNvbGxhcHNpYmxlIGF1dG9jb2xsYXBzZSIgc3R5bGU9IndpZHRo
OjEwMCU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjppbmhlcml0OzsiPgo8
dHI+Cjx0aCBzdHlsZT0iO2JhY2tncm91bmQ6U2lsdmVyIiBjb2xzcGFuPSIyIiBj
bGFzcz0ibmF2Ym94LXRpdGxlIj4KPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6NmVtO3RleHQtYWxpZ246bGVmdDsiPgo8ZGl2IGNsYXNzPSJub3ByaW50IHBs
YWlubGlua3MgbmF2YmFyIiBzdHlsZT0iYmFja2dyb3VuZDpub25lOyBwYWRkaW5n
OjA7IGZvbnQtd2VpZ2h0Om5vcm1hbDs7YmFja2dyb3VuZDpTaWx2ZXI7Ym9yZGVy
Om5vbmU7OyBmb250LXNpemU6eHgtc21hbGw7Ij48YSBocmVmPSIvd2lraS9UZW1w
bGF0ZTpPcmdhbl9mYWlsdXJlIiB0aXRsZT0iVGVtcGxhdGU6T3JnYW4gZmFpbHVy
ZSI+PHNwYW4gdGl0bGU9IlZpZXcgdGhpcyB0ZW1wbGF0ZSIgc3R5bGU9IjtiYWNr
Z3JvdW5kOlNpbHZlcjtib3JkZXI6bm9uZTsiPnY8L3NwYW4+PC9hPiYjMTYwOzxz
cGFuIHN0eWxlPSJmb250LXNpemU6ODAlOyI+4oCiPC9zcGFuPiYjMTYwOzxhIGhy
ZWY9Ii93aWtpL1RlbXBsYXRlX3RhbGs6T3JnYW5fZmFpbHVyZSIgdGl0bGU9IlRl
bXBsYXRlIHRhbGs6T3JnYW4gZmFpbHVyZSI+PHNwYW4gdGl0bGU9IkRpc2N1c3Mg
dGhpcyB0ZW1wbGF0ZSIgc3R5bGU9IjtiYWNrZ3JvdW5kOlNpbHZlcjtib3JkZXI6
bm9uZTsiPmQ8L3NwYW4+PC9hPiYjMTYwOzxzcGFuIHN0eWxlPSJmb250LXNpemU6
ODAlOyI+4oCiPC9zcGFuPiYjMTYwOzxhIGhyZWY9Imh0dHA6Ly9lbi53aWtpcGVk
aWEub3JnL3cvaW5kZXgucGhwP3RpdGxlPVRlbXBsYXRlOk9yZ2FuX2ZhaWx1cmUm
YW1wO2FjdGlvbj1lZGl0IiBjbGFzcz0iZXh0ZXJuYWwgdGV4dCIgcmVsPSJub2Zv
bGxvdyI+PHNwYW4gdGl0bGU9IkVkaXQgdGhpcyB0ZW1wbGF0ZSIgc3R5bGU9Ijti
YWNrZ3JvdW5kOlNpbHZlcjtib3JkZXI6bm9uZTs7Ij5lPC9zcGFuPjwvYT48L2Rp
dj4KPC9kaXY+CjxzcGFuIGNsYXNzPSIiIHN0eWxlPSJmb250LXNpemU6MTEwJTsi
PjxhIGhyZWY9Ii93aWtpL09yZ2FuX2ZhaWx1cmUiIHRpdGxlPSJPcmdhbiBmYWls
dXJlIj5PcmdhbiBmYWlsdXJlPC9hPjwvc3Bhbj48L3RoPgo8L3RyPgo8dHIgc3R5
bGU9ImhlaWdodDoycHg7Ij4KPHRkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNsYXNz
PSJuYXZib3gtZ3JvdXAiIHN0eWxlPSI7OyI+R2VuZXJhbDwvdGQ+Cjx0ZCBzdHls
ZT0idGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1sZWZ0LXdpZHRoOjJweDtib3JkZXIt
bGVmdC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlO3BhZGRpbmc6MHB4Ozs7IiBjbGFz
cz0ibmF2Ym94LWxpc3QgbmF2Ym94LW9kZCI+CjxkaXYgc3R5bGU9InBhZGRpbmc6
MGVtIDAuMjVlbSI+PHN0cm9uZyBjbGFzcz0ic2VsZmxpbmsiPkhlYXJ0IGZhaWx1
cmU8L3N0cm9uZz48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPiYjMTYw
O8K3PC9zcGFuPiAgPGEgaHJlZj0iL3dpa2kvUmVzcGlyYXRvcnlfZmFpbHVyZSIg
dGl0bGU9IlJlc3BpcmF0b3J5IGZhaWx1cmUiPlJlc3BpcmF0b3J5IGZhaWx1cmU8
L2E+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij4mIzE2MDvCtzwvc3Bh
bj4gIDxhIGhyZWY9Ii93aWtpL0xpdmVyX2ZhaWx1cmUiIHRpdGxlPSJMaXZlciBm
YWlsdXJlIj5MaXZlciBmYWlsdXJlPC9hPiAoPGEgaHJlZj0iL3dpa2kvQWN1dGVf
bGl2ZXJfZmFpbHVyZSIgdGl0bGU9IkFjdXRlIGxpdmVyIGZhaWx1cmUiPkFjdXRl
IGxpdmVyIGZhaWx1cmU8L2E+KTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xk
OyI+JiMxNjA7wrc8L3NwYW4+ICA8YSBocmVmPSIvd2lraS9SZW5hbF9mYWlsdXJl
IiB0aXRsZT0iUmVuYWwgZmFpbHVyZSI+UmVuYWwgZmFpbHVyZTwvYT4gKDxhIGhy
ZWY9Ii93aWtpL0FjdXRlX2tpZG5leV9pbmp1cnkiIHRpdGxlPSJBY3V0ZSBraWRu
ZXkgaW5qdXJ5Ij5BY3V0ZSByZW5hbCBmYWlsdXJlPC9hPiwgPGEgaHJlZj0iL3dp
a2kvQ2hyb25pY19yZW5hbF9mYWlsdXJlIiB0aXRsZT0iQ2hyb25pYyByZW5hbCBm
YWlsdXJlIiBjbGFzcz0ibXctcmVkaXJlY3QiPkNocm9uaWMgcmVuYWwgZmFpbHVy
ZTwvYT4gKTwvZGl2Pgo8L3RkPgo8L3RyPgo8dHIgc3R5bGU9ImhlaWdodDoycHgi
Pgo8dGQ+PC90ZD4KPC90cj4KPHRyPgo8dGQgY2xhc3M9Im5hdmJveC1ncm91cCIg
c3R5bGU9Ijs7Ij5NdWx0aXBsZTwvdGQ+Cjx0ZCBzdHlsZT0idGV4dC1hbGlnbjps
ZWZ0O2JvcmRlci1sZWZ0LXdpZHRoOjJweDtib3JkZXItbGVmdC1zdHlsZTpzb2xp
ZDt3aWR0aDoxMDAlO3BhZGRpbmc6MHB4Ozs7IiBjbGFzcz0ibmF2Ym94LWxpc3Qg
bmF2Ym94LWV2ZW4iPgo8ZGl2IHN0eWxlPSJwYWRkaW5nOjBlbSAwLjI1ZW0iPjxh
IGhyZWY9Ii93aWtpL011bHRpcGxlX29yZ2FuX2R5c2Z1bmN0aW9uX3N5bmRyb21l
IiB0aXRsZT0iTXVsdGlwbGUgb3JnYW4gZHlzZnVuY3Rpb24gc3luZHJvbWUiPk11
bHRpcGxlIG9yZ2FuIGR5c2Z1bmN0aW9uIHN5bmRyb21lPC9hPjwvZGl2Pgo8L3Rk
Pgo8L3RyPgo8L3RhYmxlPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8cD48c3BhbiBp
ZD0iaW50ZXJ3aWtpLWVzLWdhIj48L3NwYW4+PC9wPgoKCjwhLS0gCk5ld1BQIGxp
bWl0IHJlcG9ydApQcmVwcm9jZXNzb3Igbm9kZSBjb3VudDogMjUyNTAvMTAwMDAw
MApQb3N0LWV4cGFuZCBpbmNsdWRlIHNpemU6IDM0MDc1NC8yMDQ4MDAwIGJ5dGVz
ClRlbXBsYXRlIGFyZ3VtZW50IHNpemU6IDE1NDM0Ni8yMDQ4MDAwIGJ5dGVzCkV4
cGVuc2l2ZSBwYXJzZXIgZnVuY3Rpb24gY291bnQ6IDMvNTAwCi0tPgoKPCEtLSBT
YXZlZCBpbiBwYXJzZXIgY2FjaGUgd2l0aCBrZXkgZW53aWtpOnBjYWNoZTppZGhh
c2g6MjQ5OTMwLTAhMSEwIWRlZmF1bHQhIWVuITQgYW5kIHRpbWVzdGFtcCAyMDEw
MDkxNzAzMDIyOCAtLT4KPGRpdiBjbGFzcz0icHJpbnRmb290ZXIiPgpSZXRyaWV2
ZWQgZnJvbSAiPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9I
ZWFydF9mYWlsdXJlIj5odHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hlYXJ0
X2ZhaWx1cmU8L2E+IjwvZGl2PgoJCQkJPCEtLSAvYm9keXRleHQgLS0+CgkJCQkJ
CQkJPCEtLSBjYXRsaW5rcyAtLT4KCQkJCTxkaXYgaWQ9J2NhdGxpbmtzJyBjbGFz
cz0nY2F0bGlua3MnPjxkaXYgaWQ9Im13LW5vcm1hbC1jYXRsaW5rcyI+PGEgaHJl
Zj0iL3dpa2kvU3BlY2lhbDpDYXRlZ29yaWVzIiB0aXRsZT0iU3BlY2lhbDpDYXRl
Z29yaWVzIj5DYXRlZ29yaWVzPC9hPjogPHNwYW4gZGlyPSdsdHInPjxhIGhyZWY9
Ii93aWtpL0NhdGVnb3J5OkFnaW5nLWFzc29jaWF0ZWRfZGlzZWFzZXMiIHRpdGxl
PSJDYXRlZ29yeTpBZ2luZy1hc3NvY2lhdGVkIGRpc2Vhc2VzIj5BZ2luZy1hc3Nv
Y2lhdGVkIGRpc2Vhc2VzPC9hPjwvc3Bhbj4gfCA8c3BhbiBkaXI9J2x0cic+PGEg
aHJlZj0iL3dpa2kvQ2F0ZWdvcnk6Q2FyZGlvbG9neSIgdGl0bGU9IkNhdGVnb3J5
OkNhcmRpb2xvZ3kiPkNhcmRpb2xvZ3k8L2E+PC9zcGFuPiB8IDxzcGFuIGRpcj0n
bHRyJz48YSBocmVmPSIvd2lraS9DYXRlZ29yeTpDYXJkaW92YXNjdWxhcl9kaXNl
YXNlcyIgdGl0bGU9IkNhdGVnb3J5OkNhcmRpb3Zhc2N1bGFyIGRpc2Vhc2VzIj5D
YXJkaW92YXNjdWxhciBkaXNlYXNlczwvYT48L3NwYW4+IHwgPHNwYW4gZGlyPSds
dHInPjxhIGhyZWY9Ii93aWtpL0NhdGVnb3J5OkNhdXNlc19vZl9kZWF0aCIgdGl0
bGU9IkNhdGVnb3J5OkNhdXNlcyBvZiBkZWF0aCI+Q2F1c2VzIG9mIGRlYXRoPC9h
Pjwvc3Bhbj4gfCA8c3BhbiBkaXI9J2x0cic+PGEgaHJlZj0iL3dpa2kvQ2F0ZWdv
cnk6T3JnYW5fZmFpbHVyZSIgdGl0bGU9IkNhdGVnb3J5Ok9yZ2FuIGZhaWx1cmUi
Pk9yZ2FuIGZhaWx1cmU8L2E+PC9zcGFuPjwvZGl2PjxkaXYgaWQ9Im13LWhpZGRl
bi1jYXRsaW5rcyIgY2xhc3M9Im13LWhpZGRlbi1jYXRzLWhpZGRlbiI+SGlkZGVu
IGNhdGVnb3JpZXM6IDxzcGFuIGRpcj0nbHRyJz48YSBocmVmPSIvd2lraS9DYXRl
Z29yeTpBbGxfYXJ0aWNsZXNfd2l0aF9kZWFkX2V4dGVybmFsX2xpbmtzIiB0aXRs
ZT0iQ2F0ZWdvcnk6QWxsIGFydGljbGVzIHdpdGggZGVhZCBleHRlcm5hbCBsaW5r
cyI+QWxsIGFydGljbGVzIHdpdGggZGVhZCBleHRlcm5hbCBsaW5rczwvYT48L3Nw
YW4+IHwgPHNwYW4gZGlyPSdsdHInPjxhIGhyZWY9Ii93aWtpL0NhdGVnb3J5OkFy
dGljbGVzX3dpdGhfZGVhZF9leHRlcm5hbF9saW5rc19mcm9tX0p1bmVfMjAwOCIg
dGl0bGU9IkNhdGVnb3J5OkFydGljbGVzIHdpdGggZGVhZCBleHRlcm5hbCBsaW5r
cyBmcm9tIEp1bmUgMjAwOCI+QXJ0aWNsZXMgd2l0aCBkZWFkIGV4dGVybmFsIGxp
bmtzIGZyb20gSnVuZSAyMDA4PC9hPjwvc3Bhbj4gfCA8c3BhbiBkaXI9J2x0cic+
PGEgaHJlZj0iL3dpa2kvQ2F0ZWdvcnk6QXJ0aWNsZXNfd2l0aF9oQXVkaW9fbWlj
cm9mb3JtYXRzIiB0aXRsZT0iQ2F0ZWdvcnk6QXJ0aWNsZXMgd2l0aCBoQXVkaW8g
bWljcm9mb3JtYXRzIj5BcnRpY2xlcyB3aXRoIGhBdWRpbyBtaWNyb2Zvcm1hdHM8
L2E+PC9zcGFuPiB8IDxzcGFuIGRpcj0nbHRyJz48YSBocmVmPSIvd2lraS9DYXRl
Z29yeTpBcnRpY2xlc19uZWVkaW5nX2FkZGl0aW9uYWxfcmVmZXJlbmNlc19mcm9t
X0RlY2VtYmVyXzIwMDciIHRpdGxlPSJDYXRlZ29yeTpBcnRpY2xlcyBuZWVkaW5n
IGFkZGl0aW9uYWwgcmVmZXJlbmNlcyBmcm9tIERlY2VtYmVyIDIwMDciPkFydGlj
bGVzIG5lZWRpbmcgYWRkaXRpb25hbCByZWZlcmVuY2VzIGZyb20gRGVjZW1iZXIg
MjAwNzwvYT48L3NwYW4+IHwgPHNwYW4gZGlyPSdsdHInPjxhIGhyZWY9Ii93aWtp
L0NhdGVnb3J5OkFsbF9hcnRpY2xlc19uZWVkaW5nX2FkZGl0aW9uYWxfcmVmZXJl
bmNlcyIgdGl0bGU9IkNhdGVnb3J5OkFsbCBhcnRpY2xlcyBuZWVkaW5nIGFkZGl0
aW9uYWwgcmVmZXJlbmNlcyI+QWxsIGFydGljbGVzIG5lZWRpbmcgYWRkaXRpb25h
bCByZWZlcmVuY2VzPC9hPjwvc3Bhbj4gfCA8c3BhbiBkaXI9J2x0cic+PGEgaHJl
Zj0iL3dpa2kvQ2F0ZWdvcnk6QXJ0aWNsZXNfdG9fYmVfZXhwYW5kZWRfZnJvbV9O
b3ZlbWJlcl8yMDA4IiB0aXRsZT0iQ2F0ZWdvcnk6QXJ0aWNsZXMgdG8gYmUgZXhw
YW5kZWQgZnJvbSBOb3ZlbWJlciAyMDA4Ij5BcnRpY2xlcyB0byBiZSBleHBhbmRl
ZCBmcm9tIE5vdmVtYmVyIDIwMDg8L2E+PC9zcGFuPiB8IDxzcGFuIGRpcj0nbHRy
Jz48YSBocmVmPSIvd2lraS9DYXRlZ29yeTpBbGxfYXJ0aWNsZXNfdG9fYmVfZXhw
YW5kZWQiIHRpdGxlPSJDYXRlZ29yeTpBbGwgYXJ0aWNsZXMgdG8gYmUgZXhwYW5k
ZWQiPkFsbCBhcnRpY2xlcyB0byBiZSBleHBhbmRlZDwvYT48L3NwYW4+PC9kaXY+
PC9kaXY+CQkJCTwhLS0gL2NhdGxpbmtzIC0tPgoJCQkJCQkJCQkJCQk8ZGl2IGNs
YXNzPSJ2aXN1YWxDbGVhciI+PC9kaXY+CgkJCTwvZGl2PgoJCQk8IS0tIC9ib2R5
Q29udGVudCAtLT4KCQk8L2Rpdj4KCQk8IS0tIC9jb250ZW50IC0tPgoJCTwhLS0g
aGVhZGVyIC0tPgoJCTxkaXYgaWQ9Im13LWhlYWQiIGNsYXNzPSJub3ByaW50Ij4K
CQkJCjwhLS0gMCAtLT4KPGRpdiBpZD0icC1wZXJzb25hbCIgY2xhc3M9IiI+Cgk8
aDU+UGVyc29uYWwgdG9vbHM8L2g1PgoJPHVsPgoJCQkJCTxsaSAgaWQ9InB0LXBy
ZWZzd2l0Y2gtbGluay1hbm9uIj48YSBocmVmPSJodHRwOi8vZW4ud2lraXBlZGlh
Lm9yZy93L2luZGV4LnBocD90aXRsZT1TcGVjaWFsOlVzYWJpbGl0eUluaXRpYXRp
dmVQcmVmU3dpdGNoJmFtcDtmcm9tPUhlYXJ0X2ZhaWx1cmUiIHRpdGxlPSJMZWFy
biBhYm91dCBuZXcgZmVhdHVyZXMiIGNsYXNzPSJuby10ZXh0LXRyYW5zZm9ybSI+
TmV3IGZlYXR1cmVzPC9hPjwvbGk+CgkJCQkJPGxpICBpZD0icHQtbG9naW4iPjxh
IGhyZWY9Ii93L2luZGV4LnBocD90aXRsZT1TcGVjaWFsOlVzZXJMb2dpbiZhbXA7
cmV0dXJudG89SGVhcnRfZmFpbHVyZSIgdGl0bGU9IllvdSBhcmUgZW5jb3VyYWdl
ZCB0byBsb2cgaW47IGhvd2V2ZXIsIGl0IGlzIG5vdCBtYW5kYXRvcnkuIFtvXSIg
YWNjZXNza2V5PSJvIj5Mb2cgaW4gLyBjcmVhdGUgYWNjb3VudDwvYT48L2xpPgoJ
CQk8L3VsPgo8L2Rpdj4KCjwhLS0gLzAgLS0+CgkJCTxkaXYgaWQ9ImxlZnQtbmF2
aWdhdGlvbiI+CgkJCQkKPCEtLSAwIC0tPgo8ZGl2IGlkPSJwLW5hbWVzcGFjZXMi
IGNsYXNzPSJ2ZWN0b3JUYWJzIj4KCTxoNT5OYW1lc3BhY2VzPC9oNT4KCTx1bD4K
CQkJCQk8bGkgIGlkPSJjYS1uc3RhYi1tYWluIiBjbGFzcz0ic2VsZWN0ZWQiPjxh
IGhyZWY9Ii93aWtpL0hlYXJ0X2ZhaWx1cmUiICB0aXRsZT0iVmlldyB0aGUgY29u
dGVudCBwYWdlIFtjXSIgYWNjZXNza2V5PSJjIj48c3Bhbj5BcnRpY2xlPC9zcGFu
PjwvYT48L2xpPgoJCQkJCTxsaSAgaWQ9ImNhLXRhbGsiPjxhIGhyZWY9Ii93aWtp
L1RhbGs6SGVhcnRfZmFpbHVyZSIgIHRpdGxlPSJEaXNjdXNzaW9uIGFib3V0IHRo
ZSBjb250ZW50IHBhZ2UgW3RdIiBhY2Nlc3NrZXk9InQiPjxzcGFuPkRpc2N1c3Np
b248L3NwYW4+PC9hPjwvbGk+CgkJCTwvdWw+CjwvZGl2PgoKPCEtLSAvMCAtLT4K
CjwhLS0gMSAtLT4KPGRpdiBpZD0icC12YXJpYW50cyIgY2xhc3M9InZlY3Rvck1l
bnUgZW1wdHlQb3J0bGV0Ij4KCQk8aDU+PHNwYW4+VmFyaWFudHM8L3NwYW4+PGEg
aHJlZj0iIyI+PC9hPjwvaDU+Cgk8ZGl2IGNsYXNzPSJtZW51Ij4KCQk8dWw+CgkJ
CQkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjwhLS0gLzEgLS0+CgkJCTwvZGl2PgoJ
CQk8ZGl2IGlkPSJyaWdodC1uYXZpZ2F0aW9uIj4KCQkJCQo8IS0tIDAgLS0+Cjxk
aXYgaWQ9InAtdmlld3MiIGNsYXNzPSJ2ZWN0b3JUYWJzIj4KCTxoNT5WaWV3czwv
aDU+Cgk8dWw+CgkJCQkJPGxpIGlkPSJjYS12aWV3IiBjbGFzcz0ic2VsZWN0ZWQi
PjxhIGhyZWY9Ii93aWtpL0hlYXJ0X2ZhaWx1cmUiID48c3Bhbj5SZWFkPC9zcGFu
PjwvYT48L2xpPgoJCQkJCTxsaSBpZD0iY2EtZWRpdCI+PGEgaHJlZj0iL3cvaW5k
ZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO2FjdGlvbj1lZGl0IiAgdGl0
bGU9IllvdSBjYW4gZWRpdCB0aGlzIHBhZ2UuICYjMTA7UGxlYXNlIHVzZSB0aGUg
cHJldmlldyBidXR0b24gYmVmb3JlIHNhdmluZy4gW2VdIiBhY2Nlc3NrZXk9ImUi
PjxzcGFuPkVkaXQ8L3NwYW4+PC9hPjwvbGk+CgkJCQkJPGxpIGlkPSJjYS1oaXN0
b3J5IiBjbGFzcz0iY29sbGFwc2libGUgIj48YSBocmVmPSIvdy9pbmRleC5waHA/
dGl0bGU9SGVhcnRfZmFpbHVyZSZhbXA7YWN0aW9uPWhpc3RvcnkiICB0aXRsZT0i
UGFzdCB2ZXJzaW9ucyBvZiB0aGlzIHBhZ2UgW2hdIiBhY2Nlc3NrZXk9ImgiPjxz
cGFuPlZpZXcgaGlzdG9yeTwvc3Bhbj48L2E+PC9saT4KCQkJPC91bD4KPC9kaXY+
Cgo8IS0tIC8wIC0tPgoKPCEtLSAxIC0tPgo8ZGl2IGlkPSJwLWNhY3Rpb25zIiBj
bGFzcz0idmVjdG9yTWVudSBlbXB0eVBvcnRsZXQiPgoJPGg1PjxzcGFuPkFjdGlv
bnM8L3NwYW4+PGEgaHJlZj0iIyI+PC9hPjwvaDU+Cgk8ZGl2IGNsYXNzPSJtZW51
Ij4KCQk8dWw+CgkJCQkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjwhLS0gLzEgLS0+
Cgo8IS0tIDIgLS0+CjxkaXYgaWQ9InAtc2VhcmNoIj4KCTxoNT48bGFiZWwgZm9y
PSJzZWFyY2hJbnB1dCI+U2VhcmNoPC9sYWJlbD48L2g1PgoJPGZvcm0gYWN0aW9u
PSIvdy9pbmRleC5waHAiIGlkPSJzZWFyY2hmb3JtIj4KCQk8aW5wdXQgdHlwZT0n
aGlkZGVuJyBuYW1lPSJ0aXRsZSIgdmFsdWU9IlNwZWNpYWw6U2VhcmNoIi8+CgkJ
CQk8ZGl2IGlkPSJzaW1wbGVTZWFyY2giPgoJCQk8aW5wdXQgaWQ9InNlYXJjaElu
cHV0IiBuYW1lPSJzZWFyY2giIHR5cGU9InRleHQiICB0aXRsZT0iU2VhcmNoIFdp
a2lwZWRpYSBbZl0iIGFjY2Vzc2tleT0iZiIgIHZhbHVlPSIiIC8+CgkJCTxidXR0
b24gaWQ9InNlYXJjaEJ1dHRvbiIgdHlwZT0nc3VibWl0JyBuYW1lPSdidXR0b24n
ICB0aXRsZT0iU2VhcmNoIFdpa2lwZWRpYSBmb3IgdGhpcyB0ZXh0Ij48aW1nIHNy
Yz0iaHR0cDovL2JpdHMud2lraW1lZGlhLm9yZy9za2lucy0xLjUvdmVjdG9yL2lt
YWdlcy9zZWFyY2gtbHRyLnBuZz8yODNzIiBhbHQ9IlNlYXJjaCIgLz48L2J1dHRv
bj4KCQk8L2Rpdj4KCQkJPC9mb3JtPgo8L2Rpdj4KCjwhLS0gLzIgLS0+CgkJCTwv
ZGl2PgoJCTwvZGl2PgoJCTwhLS0gL2hlYWRlciAtLT4KCQk8IS0tIHBhbmVsIC0t
PgoJCQk8ZGl2IGlkPSJtdy1wYW5lbCIgY2xhc3M9Im5vcHJpbnQiPgoJCQkJPCEt
LSBsb2dvIC0tPgoJCQkJCTxkaXYgaWQ9InAtbG9nbyI+PGEgc3R5bGU9ImJhY2tn
cm91bmQtaW1hZ2U6IHVybChodHRwOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lr
aXBlZGlhL2NvbW1vbnMvZC9kNi9XaWtpcGVkaWEtbG9nby12Mi1lbi5wbmcpOyIg
aHJlZj0iL3dpa2kvTWFpbl9QYWdlIiAgdGl0bGU9IlZpc2l0IHRoZSBtYWluIHBh
Z2UiPjwvYT48L2Rpdj4KCQkJCTwhLS0gL2xvZ28gLS0+CgkJCQkKPCEtLSBuYXZp
Z2F0aW9uIC0tPgo8ZGl2IGNsYXNzPSJwb3J0YWwiIGlkPSdwLW5hdmlnYXRpb24n
PgoJPGg1Pk5hdmlnYXRpb248L2g1PgoJPGRpdiBjbGFzcz0iYm9keSI+CgkJCQk8
dWw+CgkJCQkJPGxpIGlkPSJuLW1haW5wYWdlLWRlc2NyaXB0aW9uIj48YSBocmVm
PSIvd2lraS9NYWluX1BhZ2UiIHRpdGxlPSJWaXNpdCB0aGUgbWFpbiBwYWdlIFt6
XSIgYWNjZXNza2V5PSJ6Ij5NYWluIHBhZ2U8L2E+PC9saT4KCQkJCQk8bGkgaWQ9
Im4tY29udGVudHMiPjxhIGhyZWY9Ii93aWtpL1BvcnRhbDpDb250ZW50cyIgdGl0
bGU9Ikd1aWRlcyB0byBicm93c2luZyBXaWtpcGVkaWEiPkNvbnRlbnRzPC9hPjwv
bGk+CgkJCQkJPGxpIGlkPSJuLWZlYXR1cmVkY29udGVudCI+PGEgaHJlZj0iL3dp
a2kvUG9ydGFsOkZlYXR1cmVkX2NvbnRlbnQiIHRpdGxlPSJGZWF0dXJlZCBjb250
ZW50IOKAlCB0aGUgYmVzdCBvZiBXaWtpcGVkaWEiPkZlYXR1cmVkIGNvbnRlbnQ8
L2E+PC9saT4KCQkJCQk8bGkgaWQ9Im4tY3VycmVudGV2ZW50cyI+PGEgaHJlZj0i
L3dpa2kvUG9ydGFsOkN1cnJlbnRfZXZlbnRzIiB0aXRsZT0iRmluZCBiYWNrZ3Jv
dW5kIGluZm9ybWF0aW9uIG9uIGN1cnJlbnQgZXZlbnRzIj5DdXJyZW50IGV2ZW50
czwvYT48L2xpPgoJCQkJCTxsaSBpZD0ibi1yYW5kb21wYWdlIj48YSBocmVmPSIv
d2lraS9TcGVjaWFsOlJhbmRvbSIgdGl0bGU9IkxvYWQgYSByYW5kb20gYXJ0aWNs
ZSBbeF0iIGFjY2Vzc2tleT0ieCI+UmFuZG9tIGFydGljbGU8L2E+PC9saT4KCQkJ
CTwvdWw+CgkJCTwvZGl2Pgo8L2Rpdj4KCjwhLS0gL25hdmlnYXRpb24gLS0+Cgo8
IS0tIFNFQVJDSCAtLT4KCjwhLS0gL1NFQVJDSCAtLT4KCjwhLS0gaW50ZXJhY3Rp
b24gLS0+CjxkaXYgY2xhc3M9InBvcnRhbCIgaWQ9J3AtaW50ZXJhY3Rpb24nPgoJ
PGg1PkludGVyYWN0aW9uPC9oNT4KCTxkaXYgY2xhc3M9ImJvZHkiPgoJCQkJPHVs
PgoJCQkJCTxsaSBpZD0ibi1hYm91dHNpdGUiPjxhIGhyZWY9Ii93aWtpL1dpa2lw
ZWRpYTpBYm91dCIgdGl0bGU9IkZpbmQgb3V0IGFib3V0IFdpa2lwZWRpYSI+QWJv
dXQgV2lraXBlZGlhPC9hPjwvbGk+CgkJCQkJPGxpIGlkPSJuLXBvcnRhbCI+PGEg
aHJlZj0iL3dpa2kvV2lraXBlZGlhOkNvbW11bml0eV9wb3J0YWwiIHRpdGxlPSJB
Ym91dCB0aGUgcHJvamVjdCwgd2hhdCB5b3UgY2FuIGRvLCB3aGVyZSB0byBmaW5k
IHRoaW5ncyI+Q29tbXVuaXR5IHBvcnRhbDwvYT48L2xpPgoJCQkJCTxsaSBpZD0i
bi1yZWNlbnRjaGFuZ2VzIj48YSBocmVmPSIvd2lraS9TcGVjaWFsOlJlY2VudENo
YW5nZXMiIHRpdGxlPSJUaGUgbGlzdCBvZiByZWNlbnQgY2hhbmdlcyBpbiB0aGUg
d2lraSBbcl0iIGFjY2Vzc2tleT0iciI+UmVjZW50IGNoYW5nZXM8L2E+PC9saT4K
CQkJCQk8bGkgaWQ9Im4tY29udGFjdCI+PGEgaHJlZj0iL3dpa2kvV2lraXBlZGlh
OkNvbnRhY3RfdXMiIHRpdGxlPSJIb3cgdG8gY29udGFjdCBXaWtpcGVkaWEiPkNv
bnRhY3QgV2lraXBlZGlhPC9hPjwvbGk+CgkJCQkJPGxpIGlkPSJuLURvbmF0ZS10
by1XaWtpcGVkaWEiPjxhIGhyZWY9Ii93aWtpL1NwZWNpYWw6VmFyaWFibGVQYWdl
Ij5Eb25hdGUgdG8gV2lraXBlZGlhPC9hPjwvbGk+CgkJCQkJPGxpIGlkPSJuLWhl
bHAiPjxhIGhyZWY9Ii93aWtpL0hlbHA6Q29udGVudHMiIHRpdGxlPSJHdWlkYW5j
ZSBvbiBob3cgdG8gdXNlIGFuZCBlZGl0IFdpa2lwZWRpYSI+SGVscDwvYT48L2xp
PgoJCQkJPC91bD4KCQkJPC9kaXY+CjwvZGl2PgoKPCEtLSAvaW50ZXJhY3Rpb24g
LS0+Cgo8IS0tIFRPT0xCT1ggLS0+CjxkaXYgY2xhc3M9InBvcnRhbCIgaWQ9InAt
dGIiPgoJPGg1PlRvb2xib3g8L2g1PgoJPGRpdiBjbGFzcz0iYm9keSI+CgkJPHVs
PgoJCQkJCTxsaSBpZD0idC13aGF0bGlua3NoZXJlIj48YSBocmVmPSIvd2lraS9T
cGVjaWFsOldoYXRMaW5rc0hlcmUvSGVhcnRfZmFpbHVyZSIgdGl0bGU9Ikxpc3Qg
b2YgYWxsIEVuZ2xpc2ggV2lraXBlZGlhIHBhZ2VzIGNvbnRhaW5pbmcgbGlua3Mg
dG8gdGhpcyBwYWdlIFtqXSIgYWNjZXNza2V5PSJqIj5XaGF0IGxpbmtzIGhlcmU8
L2E+PC9saT4KCQkJCQkJPGxpIGlkPSJ0LXJlY2VudGNoYW5nZXNsaW5rZWQiPjxh
IGhyZWY9Ii93aWtpL1NwZWNpYWw6UmVjZW50Q2hhbmdlc0xpbmtlZC9IZWFydF9m
YWlsdXJlIiB0aXRsZT0iUmVjZW50IGNoYW5nZXMgaW4gcGFnZXMgbGlua2VkIGZy
b20gdGhpcyBwYWdlIFtrXSIgYWNjZXNza2V5PSJrIj5SZWxhdGVkIGNoYW5nZXM8
L2E+PC9saT4KCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCTxs
aSBpZD0idC11cGxvYWQiPjxhIGhyZWY9Ii93aWtpL1dpa2lwZWRpYTpVcGxvYWQi
IHRpdGxlPSJVcGxvYWQgZmlsZXMgW3VdIiBhY2Nlc3NrZXk9InUiPlVwbG9hZCBm
aWxlPC9hPjwvbGk+CgkJCQkJCQkJCQkJPGxpIGlkPSJ0LXNwZWNpYWxwYWdlcyI+
PGEgaHJlZj0iL3dpa2kvU3BlY2lhbDpTcGVjaWFsUGFnZXMiIHRpdGxlPSJMaXN0
IG9mIGFsbCBzcGVjaWFsIHBhZ2VzIFtxXSIgYWNjZXNza2V5PSJxIj5TcGVjaWFs
IHBhZ2VzPC9hPjwvbGk+CgkJCQkJCQkJCQkJPGxpIGlkPSJ0LXBlcm1hbGluayI+
PGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUmYW1wO29s
ZGlkPTM4NTI4Nzg1OSIgdGl0bGU9IlBlcm1hbmVudCBsaW5rIHRvIHRoaXMgcmV2
aXNpb24gb2YgdGhlIHBhZ2UiPlBlcm1hbmVudCBsaW5rPC9hPjwvbGk+CgkJCQk8
bGkgaWQ9InQtY2l0ZSI+PGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPVNwZWNp
YWw6Q2l0ZSZhbXA7cGFnZT1IZWFydF9mYWlsdXJlJmFtcDtpZD0zODUyODc4NTki
IHRpdGxlPSJJbmZvcm1hdGlvbiBvbiBob3cgdG8gY2l0ZSB0aGlzIHBhZ2UiPkNp
dGUgdGhpcyBwYWdlPC9hPjwvbGk+CQk8L3VsPgoJPC9kaXY+CjwvZGl2PgoKPCEt
LSAvVE9PTEJPWCAtLT4KCjwhLS0gY29sbC1wcmludF9leHBvcnQgLS0+CjxkaXYg
Y2xhc3M9InBvcnRhbCIgaWQ9J3AtY29sbC1wcmludF9leHBvcnQnPgoJPGg1PlBy
aW50L2V4cG9ydDwvaDU+Cgk8ZGl2IGNsYXNzPSJib2R5Ij4KCQkJCTx1bCBpZD0i
Y29sbGVjdGlvblBvcnRsZXRMaXN0Ij48bGkgaWQ9ImNvbGwtY3JlYXRlX2FfYm9v
ayI+PGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPVNwZWNpYWw6Qm9vayZhbXA7
Ym9va2NtZD1ib29rX2NyZWF0b3ImYW1wO3JlZmVyZXI9SGVhcnQrZmFpbHVyZSIg
dGl0bGU9IkNyZWF0ZSBhIGJvb2sgb3IgcGFnZSBjb2xsZWN0aW9uIiByZWw9Im5v
Zm9sbG93Ij5DcmVhdGUgYSBib29rPC9hPjwvbGk+PGxpIGlkPSJjb2xsLWRvd25s
b2FkLWFzLXJsIj48YSBocmVmPSIvdy9pbmRleC5waHA/dGl0bGU9U3BlY2lhbDpC
b29rJmFtcDtib29rY21kPXJlbmRlcl9hcnRpY2xlJmFtcDthcnR0aXRsZT1IZWFy
dCtmYWlsdXJlJmFtcDtvbGRpZD0zODUyODc4NTkmYW1wO3dyaXRlcj1ybCIgdGl0
bGU9IkRvd25sb2FkIGEgUERGIHZlcnNpb24gb2YgdGhpcyB3aWtpIHBhZ2UiIHJl
bD0ibm9mb2xsb3ciPkRvd25sb2FkIGFzIFBERjwvYT48L2xpPjxsaSBpZD0idC1w
cmludCI+PGEgaHJlZj0iL3cvaW5kZXgucGhwP3RpdGxlPUhlYXJ0X2ZhaWx1cmUm
YW1wO3ByaW50YWJsZT15ZXMiIHRpdGxlPSJQcmludGFibGUgdmVyc2lvbiBvZiB0
aGlzIHBhZ2UgW3BdIiBhY2Nlc3NrZXk9InAiPlByaW50YWJsZSB2ZXJzaW9uPC9h
PjwvbGk+PC91bD4JCQk8L2Rpdj4KPC9kaXY+Cgo8IS0tIC9jb2xsLXByaW50X2V4
cG9ydCAtLT4KCjwhLS0gTEFOR1VBR0VTIC0tPgo8ZGl2IGNsYXNzPSJwb3J0YWwi
IGlkPSJwLWxhbmciPgoJPGg1Pkxhbmd1YWdlczwvaDU+Cgk8ZGl2IGNsYXNzPSJi
b2R5Ij4KCQk8dWw+CgkJCQkJPGxpIGNsYXNzPSJpbnRlcndpa2ktYXIiPjxhIGhy
ZWY9Imh0dHA6Ly9hci53aWtpcGVkaWEub3JnL3dpa2kvJUQ5JTgyJUQ4JUI1JUQ5
JTg4JUQ4JUIxXyVEOCVBNyVEOSU4NCVEOSU4MiVEOSU4NCVEOCVBOCIgdGl0bGU9
ItmC2LXZiNixINin2YTZgtmE2KgiPtin2YTYudix2KjZitipPC9hPjwvbGk+CgkJ
CQkJPGxpIGNsYXNzPSJpbnRlcndpa2ktYmciPjxhIGhyZWY9Imh0dHA6Ly9iZy53
aWtpcGVkaWEub3JnL3dpa2kvJUQwJUExJUQxJThBJUQxJTgwJUQwJUI0JUQwJUI1
JUQxJTg3JUQwJUJEJUQwJUIwXyVEMCVCRCVEMCVCNSVEMCVCNCVEMCVCRSVEMSU4
MSVEMSU4MiVEMCVCMCVEMSU4MiVEMSU4QSVEMSU4NyVEMCVCRCVEMCVCRSVEMSU4
MSVEMSU4MiIgdGl0bGU9ItCh0YrRgNC00LXRh9C90LAg0L3QtdC00L7RgdGC0LDR
gtGK0YfQvdC+0YHRgiI+0JHRitC70LPQsNGA0YHQutC4PC9hPjwvbGk+CgkJCQkJ
PGxpIGNsYXNzPSJpbnRlcndpa2ktY2EiPjxhIGhyZWY9Imh0dHA6Ly9jYS53aWtp
cGVkaWEub3JnL3dpa2kvSW5zdWZpY2klQzMlQThuY2lhX2NhcmQlQzMlQURhY2Ei
IHRpdGxlPSJJbnN1ZmljacOobmNpYSBjYXJkw61hY2EiPkNhdGFsw6A8L2E+PC9s
aT4KCQkJCQk8bGkgY2xhc3M9ImludGVyd2lraS1kZSI+PGEgaHJlZj0iaHR0cDov
L2RlLndpa2lwZWRpYS5vcmcvd2lraS9IZXJ6aW5zdWZmaXppZW56IiB0aXRsZT0i
SGVyemluc3VmZml6aWVueiI+RGV1dHNjaDwvYT48L2xpPgoJCQkJCTxsaSBjbGFz
cz0iaW50ZXJ3aWtpLWR2Ij48YSBocmVmPSJodHRwOi8vZHYud2lraXBlZGlhLm9y
Zy93aWtpLyVERSU4MCVERSVBOCVERSU4QyVERSVCMF8lREUlOEElREUlQUQlREUl
OEQlREUlQjAlREUlODglREUlQUElREUlODIlREUlQjAiIHRpdGxlPSLegN6o3oze
sCDeit6t3o3esN6I3qregt6wIj7ei96o3ojerN6A3qjehN6m3pDesDwvYT48L2xp
PgoJCQkJCTxsaSBjbGFzcz0iaW50ZXJ3aWtpLWVzIj48YSBocmVmPSJodHRwOi8v
ZXMud2lraXBlZGlhLm9yZy93aWtpL0luc3VmaWNpZW5jaWFfY2FyZCVDMyVBRGFj
YSIgdGl0bGU9Ikluc3VmaWNpZW5jaWEgY2FyZMOtYWNhIj5Fc3Bhw7FvbDwvYT48
L2xpPgoJCQkJCTxsaSBjbGFzcz0iaW50ZXJ3aWtpLWV1Ij48YSBocmVmPSJodHRw
Oi8vZXUud2lraXBlZGlhLm9yZy93aWtpL0JpaG90ei1ndXR4aWVnaXRhc3VuIiB0
aXRsZT0iQmlob3R6LWd1dHhpZWdpdGFzdW4iPkV1c2thcmE8L2E+PC9saT4KCQkJ
CQk8bGkgY2xhc3M9ImludGVyd2lraS1mYSI+PGEgaHJlZj0iaHR0cDovL2ZhLndp
a2lwZWRpYS5vcmcvd2lraS8lRDklODYlRDglQTclRDglQjElRDglQjMlRDglQTcl
REIlOEMlREIlOENfJUQ5JTgyJUQ5JTg0JUQ4JUE4IiB0aXRsZT0i2YbYp9ix2LPY
p9uM24wg2YLZhNioIj7Zgdin2LHYs9uMPC9hPjwvbGk+CgkJCQkJPGxpIGNsYXNz
PSJpbnRlcndpa2ktZnIiPjxhIGhyZWY9Imh0dHA6Ly9mci53aWtpcGVkaWEub3Jn
L3dpa2kvSW5zdWZmaXNhbmNlX2NhcmRpYXF1ZSIgdGl0bGU9Ikluc3VmZmlzYW5j
ZSBjYXJkaWFxdWUiPkZyYW7Dp2FpczwvYT48L2xpPgoJCQkJCTxsaSBjbGFzcz0i
aW50ZXJ3aWtpLWhpIj48YSBocmVmPSJodHRwOi8vaGkud2lraXBlZGlhLm9yZy93
aWtpLyVFMCVBNCVCOSVFMCVBNSU4MyVFMCVBNCVBNiVFMCVBNCVBRiVFMCVBNCVC
RSVFMCVBNCU5OCVFMCVBNCVCRSVFMCVBNCVBNCIgdGl0bGU9IuCkueClg+CkpuCk
r+CkvuCkmOCkvuCkpCI+4KS54KS/4KSo4KWN4KSm4KWAPC9hPjwvbGk+CgkJCQkJ
PGxpIGNsYXNzPSJpbnRlcndpa2ktaXQiPjxhIGhyZWY9Imh0dHA6Ly9pdC53aWtp
cGVkaWEub3JnL3dpa2kvSW5zdWZmaWNpZW56YV9jYXJkaWFjYSIgdGl0bGU9Iklu
c3VmZmljaWVuemEgY2FyZGlhY2EiPkl0YWxpYW5vPC9hPjwvbGk+CgkJCQkJPGxp
IGNsYXNzPSJpbnRlcndpa2ktaGUiPjxhIGhyZWY9Imh0dHA6Ly9oZS53aWtpcGVk
aWEub3JnL3dpa2kvJUQ3JTkwJUQ3JTk5XyVENyVBMSVENyVBNCVENyU5OSVENyVB
NyVENyVBQV8lRDclOUMlRDclOTEiIHRpdGxlPSLXkNeZINeh16TXmden16og15zX
kSI+16LXkdeo15nXqjwvYT48L2xpPgoJCQkJCTxsaSBjbGFzcz0iaW50ZXJ3aWtp
LXBhbSI+PGEgaHJlZj0iaHR0cDovL3BhbS53aWtpcGVkaWEub3JnL3dpa2kvUGFt
YWdwYWx5YV9uaW5nX3B1c3UiIHRpdGxlPSJQYW1hZ3BhbHlhIG5pbmcgcHVzdSI+
S2FwYW1wYW5nYW48L2E+PC9saT4KCQkJCQk8bGkgY2xhc3M9ImludGVyd2lraS1o
dSI+PGEgaHJlZj0iaHR0cDovL2h1Lndpa2lwZWRpYS5vcmcvd2lraS9TeiVDMyVB
RHZlbCVDMyVBOWd0ZWxlbnMlQzMlQTlnIiB0aXRsZT0iU3rDrXZlbMOpZ3RlbGVu
c8OpZyI+TWFneWFyPC9hPjwvbGk+CgkJCQkJPGxpIGNsYXNzPSJpbnRlcndpa2kt
bmwiPjxhIGhyZWY9Imh0dHA6Ly9ubC53aWtpcGVkaWEub3JnL3dpa2kvSGFydGZh
bGVuIiB0aXRsZT0iSGFydGZhbGVuIj5OZWRlcmxhbmRzPC9hPjwvbGk+CgkJCQkJ
PGxpIGNsYXNzPSJpbnRlcndpa2ktamEiPjxhIGhyZWY9Imh0dHA6Ly9qYS53aWtp
cGVkaWEub3JnL3dpa2kvJUU1JUJGJTgzJUU0JUI4JThEJUU1JTg1JUE4IiB0aXRs
ZT0i5b+D5LiN5YWoIj7ml6XmnKzoqp48L2E+PC9saT4KCQkJCQk8bGkgY2xhc3M9
ImludGVyd2lraS1ubyI+PGEgaHJlZj0iaHR0cDovL25vLndpa2lwZWRpYS5vcmcv
d2lraS9IamVydGVzdmlrdCIgdGl0bGU9IkhqZXJ0ZXN2aWt0Ij7igKpOb3JzayAo
Ym9rbcOlbCnigKw8L2E+PC9saT4KCQkJCQk8bGkgY2xhc3M9ImludGVyd2lraS1u
biI+PGEgaHJlZj0iaHR0cDovL25uLndpa2lwZWRpYS5vcmcvd2lraS9IamFydGVz
dmlrdCIgdGl0bGU9IkhqYXJ0ZXN2aWt0Ij7igKpOb3JzayAobnlub3JzaynigKw8
L2E+PC9saT4KCQkJCQk8bGkgY2xhc3M9ImludGVyd2lraS1wbCI+PGEgaHJlZj0i
aHR0cDovL3BsLndpa2lwZWRpYS5vcmcvd2lraS9OaWV3eWRvbG5vJUM1JTlCJUM0
JTg3X3NlcmNhIiB0aXRsZT0iTmlld3lkb2xub8WbxIcgc2VyY2EiPlBvbHNraTwv
YT48L2xpPgoJCQkJCTxsaSBjbGFzcz0iaW50ZXJ3aWtpLXB0Ij48YSBocmVmPSJo
dHRwOi8vcHQud2lraXBlZGlhLm9yZy93aWtpL0luc3VmaWNpJUMzJUFBbmNpYV9j
YXJkJUMzJUFEYWNhIiB0aXRsZT0iSW5zdWZpY2nDqm5jaWEgY2FyZMOtYWNhIj5Q
b3J0dWd1w6pzPC9hPjwvbGk+CgkJCQkJPGxpIGNsYXNzPSJpbnRlcndpa2ktcm8i
PjxhIGhyZWY9Imh0dHA6Ly9yby53aWtpcGVkaWEub3JnL3dpa2kvSW5zdWZpY2ll
biVDNSVBMyVDNCU4M19jYXJkaWFjJUM0JTgzIiB0aXRsZT0iSW5zdWZpY2llbsWj
xIMgY2FyZGlhY8SDIj5Sb23Dom7EgzwvYT48L2xpPgoJCQkJCTxsaSBjbGFzcz0i
aW50ZXJ3aWtpLXJ1Ij48YSBocmVmPSJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93
aWtpLyVEMCVBMSVEMCVCNSVEMSU4MCVEMCVCNCVEMCVCNSVEMSU4NyVEMCVCRCVE
MCVCMCVEMSU4Rl8lRDAlQkQlRDAlQjUlRDAlQjQlRDAlQkUlRDElODElRDElODIl
RDAlQjAlRDElODIlRDAlQkUlRDElODclRDAlQkQlRDAlQkUlRDElODElRDElODIl
RDElOEMiIHRpdGxlPSLQodC10YDQtNC10YfQvdCw0Y8g0L3QtdC00L7RgdGC0LDR
gtC+0YfQvdC+0YHRgtGMIj7QoNGD0YHRgdC60LjQuTwvYT48L2xpPgoJCQkJCTxs
aSBjbGFzcz0iaW50ZXJ3aWtpLXNpbXBsZSI+PGEgaHJlZj0iaHR0cDovL3NpbXBs
ZS53aWtpcGVkaWEub3JnL3dpa2kvSGVhcnRfZmFpbHVyZSIgdGl0bGU9IkhlYXJ0
IGZhaWx1cmUiPlNpbXBsZSBFbmdsaXNoPC9hPjwvbGk+CgkJCQkJPGxpIGNsYXNz
PSJpbnRlcndpa2ktc2wiPjxhIGhyZWY9Imh0dHA6Ly9zbC53aWtpcGVkaWEub3Jn
L3dpa2kvU3IlQzQlOERuYV9pbnN1ZmljaWVuY2EiIHRpdGxlPSJTcsSNbmEgaW5z
dWZpY2llbmNhIj5TbG92ZW7FocSNaW5hPC9hPjwvbGk+CgkJCQkJPGxpIGNsYXNz
PSJpbnRlcndpa2ktZmkiPjxhIGhyZWY9Imh0dHA6Ly9maS53aWtpcGVkaWEub3Jn
L3dpa2kvU3lkJUMzJUE0bWVuX3ZhamFhdG9pbWludGEiIHRpdGxlPSJTeWTDpG1l
biB2YWphYXRvaW1pbnRhIj5TdW9taTwvYT48L2xpPgoJCQkJCTxsaSBjbGFzcz0i
aW50ZXJ3aWtpLXN2Ij48YSBocmVmPSJodHRwOi8vc3Yud2lraXBlZGlhLm9yZy93
aWtpL0hqJUMzJUE0cnRzdmlrdCIgdGl0bGU9Ikhqw6RydHN2aWt0Ij5TdmVuc2th
PC9hPjwvbGk+CgkJCQkJPGxpIGNsYXNzPSJpbnRlcndpa2ktdGgiPjxhIGhyZWY9
Imh0dHA6Ly90aC53aWtpcGVkaWEub3JnL3dpa2kvJUUwJUI4JUEwJUUwJUI4JUIy
JUUwJUI4JUE3JUUwJUI4JUIwJUUwJUI4JUFCJUUwJUI4JUIxJUUwJUI4JUE3JUUw
JUI5JTgzJUUwJUI4JTg4JUUwJUI4JUE3JUUwJUI4JUIyJUUwJUI4JUEyIiB0aXRs
ZT0i4Lig4Liy4Lin4Liw4Lir4Lix4Lin4LmD4LiI4Lin4Liy4LiiIj7guYTguJfg
uKI8L2E+PC9saT4KCQkJCQk8bGkgY2xhc3M9ImludGVyd2lraS10ciI+PGEgaHJl
Zj0iaHR0cDovL3RyLndpa2lwZWRpYS5vcmcvd2lraS9LYWxwX3lldG1lemxpJUM0
JTlGaSIgdGl0bGU9IkthbHAgeWV0bWV6bGnEn2kiPlTDvHJrw6dlPC9hPjwvbGk+
CgkJCQkJPGxpIGNsYXNzPSJpbnRlcndpa2ktdWsiPjxhIGhyZWY9Imh0dHA6Ly91
ay53aWtpcGVkaWEub3JnL3dpa2kvJUQwJUExJUQwJUI1JUQxJTgwJUQxJTg2JUQw
JUI1JUQwJUIyJUQwJUIwXyVEMCVCRCVEMCVCNSVEMCVCNCVEMCVCRSVEMSU4MSVE
MSU4MiVEMCVCMCVEMSU4MiVEMCVCRCVEMSU5NiVEMSU4MSVEMSU4MiVEMSU4QyIg
dGl0bGU9ItCh0LXRgNGG0LXQstCwINC90LXQtNC+0YHRgtCw0YLQvdGW0YHRgtGM
Ij7Qo9C60YDQsNGX0L3RgdGM0LrQsDwvYT48L2xpPgoJCQkJCTxsaSBjbGFzcz0i
aW50ZXJ3aWtpLXVyIj48YSBocmVmPSJodHRwOi8vdXIud2lraXBlZGlhLm9yZy93
aWtpLyVEOCVCOSVEOSU4RSVEOCVBQyVEOCVCMiVEOSU5MF8lRDklODIlRDklODQl
RDglQTgiIHRpdGxlPSLYudmO2KzYstmQINmC2YTYqCI+2KfYsdiv2Yg8L2E+PC9s
aT4KCQkJCQk8bGkgY2xhc3M9ImludGVyd2lraS12aSI+PGEgaHJlZj0iaHR0cDov
L3ZpLndpa2lwZWRpYS5vcmcvd2lraS9TdXlfdGltIiB0aXRsZT0iU3V5IHRpbSI+
VGnhur9uZyBWaeG7h3Q8L2E+PC9saT4KCQkJCQk8bGkgY2xhc3M9ImludGVyd2lr
aS16aCI+PGEgaHJlZj0iaHR0cDovL3poLndpa2lwZWRpYS5vcmcvd2lraS8lRTUl
QkYlODMlRTglQTElQjAlRTclQUIlQUQiIHRpdGxlPSLlv4PoobDnq60iPuS4reaW
hzwvYT48L2xpPgoJCQkJPC91bD4KCTwvZGl2Pgo8L2Rpdj4KCjwhLS0gL0xBTkdV
QUdFUyAtLT4KCQkJPC9kaXY+CgkJPCEtLSAvcGFuZWwgLS0+CgkJPCEtLSBmb290
ZXIgLS0+CgkJPGRpdiBpZD0iZm9vdGVyIj4KCQkJCQkJCQkJCQk8dWwgaWQ9ImZv
b3Rlci1pbmZvIj4KCQkJCQkJCQkJCQkJCQkJCQk8bGkgaWQ9ImZvb3Rlci1pbmZv
LWxhc3Rtb2QiPiBUaGlzIHBhZ2Ugd2FzIGxhc3QgbW9kaWZpZWQgb24gMTcgU2Vw
dGVtYmVyIDIwMTAgYXQgMDM6MDIuPGJyIC8+PC9saT4KCQkJCQkJCQkJCQkJCQkJ
CQkJCQkJCQk8bGkgaWQ9ImZvb3Rlci1pbmZvLWNvcHlyaWdodCI+VGV4dCBpcyBh
dmFpbGFibGUgdW5kZXIgdGhlIDxhIHJlbD0ibGljZW5zZSIgaHJlZj0iaHR0cDov
L2VuLndpa2lwZWRpYS5vcmcvd2lraS9XaWtpcGVkaWE6VGV4dF9vZl9DcmVhdGl2
ZV9Db21tb25zX0F0dHJpYnV0aW9uLVNoYXJlQWxpa2VfMy4wX1VucG9ydGVkX0xp
Y2Vuc2UiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSBM
aWNlbnNlPC9hPjxhIHJlbD0ibGljZW5zZSIgaHJlZj0iaHR0cDovL2NyZWF0aXZl
Y29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLyIgc3R5bGU9ImRpc3BsYXk6
bm9uZTsiPjwvYT47CmFkZGl0aW9uYWwgdGVybXMgbWF5IGFwcGx5LgpTZWUgPGEg
aHJlZj0iaHR0cDovL3dpa2ltZWRpYWZvdW5kYXRpb24ub3JnL3dpa2kvVGVybXNf
b2ZfVXNlIj5UZXJtcyBvZiBVc2U8L2E+IGZvciBkZXRhaWxzLjxici8+Cldpa2lw
ZWRpYSZyZWc7IGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgdGhlIDxhIGhy
ZWY9Imh0dHA6Ly93d3cud2lraW1lZGlhZm91bmRhdGlvbi5vcmcvIj5XaWtpbWVk
aWEgRm91bmRhdGlvbiwgSW5jLjwvYT4sIGEgbm9uLXByb2ZpdCBvcmdhbml6YXRp
b24uPGJyIC8+PC9saT48bGkgY2xhc3M9Im5vcHJpbnQiPjxhIGNsYXNzPSdpbnRl
cm5hbCcgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9XaWtpcGVk
aWE6Q29udGFjdF91cyI+Q29udGFjdCB1czwvYT48L2xpPgoJCQkJCQkJCQkJCQkJ
CQk8L3VsPgoJCQkJCQkJCQkJCQkJCQk8dWwgaWQ9ImZvb3Rlci1wbGFjZXMiPgoJ
CQkJCQkJCQkJCQkJCQkJCTxsaSBpZD0iZm9vdGVyLXBsYWNlcy1wcml2YWN5Ij48
YSBocmVmPSJodHRwOi8vd2lraW1lZGlhZm91bmRhdGlvbi5vcmcvd2lraS9Qcml2
YWN5X3BvbGljeSIgdGl0bGU9Indpa2ltZWRpYTpQcml2YWN5IHBvbGljeSI+UHJp
dmFjeSBwb2xpY3k8L2E+PC9saT4KCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk8bGkg
aWQ9ImZvb3Rlci1wbGFjZXMtYWJvdXQiPjxhIGhyZWY9Ii93aWtpL1dpa2lwZWRp
YTpBYm91dCIgdGl0bGU9Ildpa2lwZWRpYTpBYm91dCI+QWJvdXQgV2lraXBlZGlh
PC9hPjwvbGk+CgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJPGxpIGlkPSJmb290ZXIt
cGxhY2VzLWRpc2NsYWltZXIiPjxhIGhyZWY9Ii93aWtpL1dpa2lwZWRpYTpHZW5l
cmFsX2Rpc2NsYWltZXIiIHRpdGxlPSJXaWtpcGVkaWE6R2VuZXJhbCBkaXNjbGFp
bWVyIj5EaXNjbGFpbWVyczwvYT48L2xpPgoJCQkJCQkJCQkJCQkJCQk8L3VsPgoJ
CQkJCQkJCQkJPHVsIGlkPSJmb290ZXItaWNvbnMiIGNsYXNzPSJub3ByaW50Ij4K
CQkJCQkJCQk8bGkgaWQ9ImZvb3Rlci1pY29uLXBvd2VyZWRieSI+PGEgaHJlZj0i
aHR0cDovL3d3dy5tZWRpYXdpa2kub3JnLyI+PGltZyBzcmM9Imh0dHA6Ly9iaXRz
Lndpa2ltZWRpYS5vcmcvc2tpbnMtMS41L2NvbW1vbi9pbWFnZXMvcG93ZXJlZGJ5
X21lZGlhd2lraV84OHgzMS5wbmciIGhlaWdodD0iMzEiIHdpZHRoPSI4OCIgYWx0
PSJQb3dlcmVkIGJ5IE1lZGlhV2lraSIgLz48L2E+PC9saT4KCQkJCQkJCQkJCQkJ
PGxpIGlkPSJmb290ZXItaWNvbi1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHA6Ly93
aWtpbWVkaWFmb3VuZGF0aW9uLm9yZy8iPjxpbWcgc3JjPSIvaW1hZ2VzL3dpa2lt
ZWRpYS1idXR0b24ucG5nIiB3aWR0aD0iODgiIGhlaWdodD0iMzEiIGFsdD0iV2lr
aW1lZGlhIEZvdW5kYXRpb24iLz48L2E+PC9saT4KCQkJCQkJCTwvdWw+CgkJCTxk
aXYgc3R5bGU9ImNsZWFyOmJvdGgiPjwvZGl2PgoJCTwvZGl2PgoJCTwhLS0gL2Zv
b3RlciAtLT4KCQk8IS0tIGZpeGFscGhhIC0tPgoJCTxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4gaWYgKCB3aW5kb3cuaXNNU0lFNTUgKSBmaXhhbHBoYSgp
OyA8L3NjcmlwdD4KCQk8IS0tIC9maXhhbHBoYSAtLT4KCQkKPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPmlmICh3aW5kb3cucnVuT25sb2FkSG9vaykgcnVu
T25sb2FkSG9vaygpOzwvc2NyaXB0PgoJCTwhLS0gU2VydmVkIGJ5IHNydjE1NSBp
biAwLjA3MiBzZWNzLiAtLT4JCQk8L2JvZHk+CjwvaHRtbD4K
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=favicon.ico
Content-Type: image/x-icon; name=favicon.ico
Content-Location: http://en.wikipedia.org/favicon.ico
Content-Transfer-Encoding: Base64
AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAA
AAAAAAAAEAAAAAAAAAAEAgQAhIOEAMjHyABIR0gA6ejpAGlqaQCpqKkAKCgoAPz9
/AAZGBkAmJiYANjZ2ABXWFcAent6ALm6uQA8OjwAiIiIiIiIiIiIiI4oiL6IiIiI
gzuIV4iIiIhndo53KIiIiB/WvXoYiIiIfEZfWBSIiIEGi/foqoiIgzuL84i9iIjp
GIoMiEHoiMkos3FojmiLlUipYliEWIF+iDe0GoRa7D6GPbjcu1yIiIiIiIiIiIiI
iIiIiIiIiIiIiIiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/page-base.pn
g?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAANQTFRF9vb2AAsjqgAAAApJREFUCB1j
YAAAAAIAAc/INeUAAAAASUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/border.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAANQTFRFp9f5cVVvXwAAAApJREFUCB1j
YAAAAAIAAc/INeUAAAAASUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/page-fade.pn
g?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAAAsCAMAAACT+SJTAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFdQTFRF+fn49/f2+/v89vf3/v79/v3+
/v/++fj4/fz89/f4+fr5/f79/Pv8+Pn59/b2+/v7/f38+Pj4+vr5+vr7/Pz8+fn5
9vb29/j4+vr6/v7+/f399/f3////vR8U6wAAADxJREFUeNotwgcOgCAURMEnKnaw
Yr3/Od38kBm+zHObmoqBx8y07OIYiWxyyUrPITDRsHBKx2tKCgKJ9AOMswMINl/f
OQAAAABJRU5ErkJggg==
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/tab-break.pn
g?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAAAuCAMAAADeMYNYAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGBQTFRFyuf7xeX6vuL6td76qtn5+vv7
9/n7rtr5/Pz84vH7sNv6weP60en7qNf56vX74PD77fb7zuj77/b8stz65/P78/j8
8ff83e/7uuD61ev79Pj75PL72Oz72+370+v7uN/6UiPZnwAAAD1JREFUeNpNwccB
gCAABMFFMaMIZkz9d+k9naH+LbTUxMJKZGRg1pMGz8bNxcGDI4AY7cjY9SVn0pZK
rfYfcHYCb27V9m8AAAAASUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/tab-normal-f
ade.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFpQTFRF/P3++fv9+vz+6vT46vP49/r9
+Pv9p9f57PT6+/z+7PT59vr98/j77vb69Pn89Pn76vL48ff67fT68ff77vX6/v//
9fr86PL4+/3+7/b68vf7/f7+/v7/////unDFUAAAADpJREFUeNrFwoURg0AAALDg
Li3SYvuvyR9LcInrZYvzcTzgrxIHUZDLNFa9QWs3+dh0Zl+lWiI1+iluKncJSLF7
CNkAAAAASUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/tab-current-
fade.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAABkAQMAAAB94sgjAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAANQTFRF////p8QbyAAAAAxJREFUCB1j
YBgeAAAAyAABP2UdiQAAAABJRU5ErkJggg==
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/arrow-down-i
con.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAMAAAAlM38UAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA9QTFRFeXl53d3dmpqasbGx////GU0i
EgAAAAV0Uk5T/////wD7tg5TAAAAMklEQVR42mJgwQoYBkqYkYkBApgYUVRDxWGi
cEPA4nBRhNlAcYQokpWMzIwD6kuAAAMAo5gFEkscG/MAAAAASUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/search-fade.
png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAAAQBAMAAAAlsQiEAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACpQTFRF9vf3/v/++fr5/Pv8+/v7/f38
+Pj4+fn59vb2+vr6/v7+/f399/f3////Hp8+5gAAACVJREFUCNdjaGBoYDjAkACE
BQwKDBMYHBgMGAIYNgDhAoYLDBcAdIAIAfO0JnYAAAAASUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/portal-break
.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAIwAAAABCAMAAAA7MLYKAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEtQTFRF29vb2tra4ODg6urq5OTk4uLi
6+vr7e3t7Ozs8PDw5+fn4+Pj4eHh3d3d39/f6Ojo5eXl6enp8fHx8/Pz8vLy7+/v
3Nzc2dnZ2NjYnErj7QAAAD1JREFUeNq0wQUBACAMALDj7hf6JyUFGxzEnYhC9GaN
PG1xVffGDErk/iCigLl1XV2xM49lfAxEaSM+AQYA9HMKuv4liFQAAAAASUVORK5C
YII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/bullet-icon.
png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAUAAAANCAMAAABW4lS6AAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFAFKM////QIUK9QAAAAJ0Uk5T
/wDltzBKAAAAGklEQVR42mJgBAEGokgGBjBGBxBxsBqAAAMACHwALd5r8ygAAAAA
SUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/external-lin
k-ltr-icon.png?2
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGBQTFRF////AGb/AGbMmcz/M5nMZpnM
////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7feQVwAAAAd0Uk5T////////
ABpLA0YAAAA6SURBVHjaJMtBDgBABARBs4P/P3kbfZCKEE3aAmUFLVu5fCQfGQ7n
ciTV0GW9zp4Ds+B5SMcLfgEGADSKAPVZzedhAAAAAElFTkSuQmCC
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/images/user-icon.pn
g?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAMAAABxsOwqAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGBQTFRF78mOboqv0K93R2uZ4a1a5rp2
N2mnMmGd/Pr4k6zMMFySTXWr2Jg157Vn4Zst9unUl6a836ZMr7CwooVQPXGwpLnW
5KQ/vMne+O/gXXiV6+zt5Orx1t7n7/Dwgpm5////xZOJMQAAACB0Uk5T////////
/////////////////////////////////wBcXBvtAAAAY0lEQVR42hzKSQKAIAwE
wWAMQUBBQdzN/38p0pepw4DI3vVzH0RADBCNpTOVYaZAxYefZaQyNZplqrXDeiTv
07EJ3C67uGR0F7yo9bAyYwSFrJ1iywoi19HW2gjPiy11fgIMAJ51Bh79zDO4AAAA
AElFTkSuQmCC
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=main-ltr.css
Content-Type: text/css; name=main-ltr.css
Content-Location: http://bits.wikimedia.org/skins-1.5/vector/main-ltr.css?283s
Content-Transfer-Encoding: 8bit
/*
* main-rtl.css is automatically generated using CSSJanus, a python script for
* creating RTL versions of otherwise LTR stylesheets.
*
* You may download the tool to rebuild this stylesheet
* http://code.google.com/p/cssjanus/
*
* An online version of this tool can be used at:
* http://cssjanus.commoner.com/
*
* The following command is used to generate the RTL version of this file
* ./cssjanus.py --swap_ltr_rtl_in_url < main-ltr.css > main-rtl.css
*
* Any rules which should not be flipped should be prepended with @noflip in
* a comment block.
*/
/* Framework */
html,
body {
height: 100%;
margin: 0;
padding: 0;
font-family: sans-serif;
font-size: 1em;
}
body {
background-color: #f3f3f3;
background-image: url(images/page-base.png?1);
}
/* Content */
#content {
margin-left: 10em;
padding: 1em;
background-image: url(images/border.png?1);
background-position: top left;
background-repeat: repeat-y;
background-color: white;
color: black;
}
/* Head */
#mw-page-base {
height: 5em;
background-color: white;
background-image: url(images/page-fade.png?1);
background-position: bottom left;
background-repeat: repeat-x;
}
#mw-head-base {
margin-top: -5em;
margin-left: 10em;
height: 5em;
background-image: url(images/border.png?1);
background-position: bottom left;
background-repeat: repeat-x;
}
div#mw-head {
position: absolute;
top: 0;
right: 0;
width: 100%;
}
div#mw-head h5 {
margin: 0;
padding: 0;
}
/* Hide empty portlets */
div.emptyPortlet {
display: none;
}
/* Personal */
#p-personal {
position: absolute;
top: 0;
padding-left: 10em;
right: 0.75em;
}
#p-personal h5 {
display: none;
}
#p-personal ul {
list-style: none;
margin: 0;
padding: 0;
}
/* @noflip */
#p-personal li {
line-height: 1.125em;
float: left;
}
/* This one flips! */
#p-personal li {
margin-left: 0.75em;
margin-top: 0.5em;
font-size: 0.75em;
white-space: nowrap;
}
/* Navigation Containers */
#left-navigation {
position: absolute;
left: 10em;
top: 2.5em;
}
#right-navigation {
float: right;
margin-top: 2.5em;
}
/* Navigation Labels */
div.vectorTabs h5,
div.vectorMenu h5 span {
display: none;
}
/* Namespaces and Views */
/* @noflip */
div.vectorTabs {
float: left;
height: 2.5em;
}
div.vectorTabs {
background-image: url(images/tab-break.png?1);
background-position: bottom left;
background-repeat: no-repeat;
padding-left: 1px;
}
/* @noflip */
div.vectorTabs ul {
float: left;
}
div.vectorTabs ul {
height: 100%;
list-style: none;
margin: 0;
padding: 0;
}
/* @noflip */
div.vectorTabs ul li {
float: left;
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
div.vectorTabs ul li {
line-height: 1.125em;
display: inline-block;
height: 100%;
margin: 0;
padding: 0;
background-color: #f3f3f3;
background-image: url(images/tab-normal-fade.png?1);
background-position: bottom left;
background-repeat: repeat-x;
white-space:nowrap;
}
/* IGNORED BY IE6 */
div.vectorTabs ul > li {
display: block;
}
div.vectorTabs li.selected {
background-image: url(images/tab-current-fade.png?1);
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
div.vectorTabs li a {
display: inline-block;
height: 2.5em;
padding-left: 0.4em;
padding-right: 0.4em;
background-image: url(images/tab-break.png?1);
background-position: bottom right;
background-repeat: no-repeat;
}
div.vectorTabs li a,
div.vectorTabs li a span {
color: #0645ad;
cursor: pointer;
}
div.vectorTabs li a span {
font-size: 0.8em;
}
/* IGNORED BY IE6 */
div.vectorTabs li > a {
display: block;
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
div.vectorTabs a span {
display: inline-block;
padding-top: 1.25em;
}
/* IGNORED BY IE6 */
/* @noflip */
div.vectorTabs a > span {
float: left;
display: block;
}
div.vectorTabs li.selected a,
div.vectorTabs li.selected a span,
div.vectorTabs li.selected a:visited
div.vectorTabs li.selected a:visited span {
color: #333333;
text-decoration: none;
}
div.vectorTabs li.new a,
div.vectorTabs li.new a span,
div.vectorTabs li.new a:visited,
div.vectorTabs li.new a:visited span {
color: #a55858;
}
/* Variants and Actions */
/* @noflip */
div.vectorMenu {
direction: ltr;
float: left;
background-image: url(images/arrow-down-icon.png?1);
background-position: 100% 60%;
background-repeat: no-repeat;
cursor: pointer;
}
/* @noflip */
body.rtl div.vectorMenu {
direction: rtl;
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
/* @noflip */
div#mw-head div.vectorMenu h5 {
float: left;
background-image: url(images/tab-break.png?1);
background-repeat: no-repeat;
}
/* IGNORED BY IE6 */
div#mw-head div.vectorMenu > h5 {
background-image: none;
}
div#mw-head div.vectorMenu h5 {
background-position: bottom left;
margin-left: -1px;
}
div#mw-head div.vectorMenu h4 {
display: inline-block;
float: left;
font-size: 0.8em;
padding-left: 0.5em;
padding-top: 1.375em;
font-weight: normal;
border: none;
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
/* @noflip */
div.vectorMenu h5 a {
display: inline-block;
width: 24px;
height: 2.5em;
text-decoration: none;
background-image: url(images/tab-break.png?1);
background-repeat: no-repeat;
}
div.vectorMenu h5 a{
background-position: bottom right;
}
/* IGNORED BY IE6 */
div.vectorMenu h5 > a {
display: block;
}
div.vectorMenu div.menu {
position: relative;
display: none;
clear: both;
text-align: left;
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
/* @noflip */
body.rtl div.vectorMenu div.menu {
margin-left: 24px;
}
/* IGNORED BY IE6 */
/* @noflip */
body.rtl div.vectorMenu > div.menu {
margin-left: auto;
}
/* Fixes old versions of FireFox */
/* @noflip */
body.rtl div.vectorMenu > div.menu,
x:-moz-any-link {
margin-left: 23px;
}
div.vectorMenu:hover div.menu {
display: block;
}
div.vectorMenu ul {
position: absolute;
background-color: white;
border: solid 1px silver;
border-top-width: 0;
list-style: none;
list-style-image: none;
list-style-type: none;
padding: 0;
margin: 0;
margin-left: -1px;
text-align: left;
}
/* Fixes old versions of FireFox */
div.vectorMenu ul,
x:-moz-any-link {
min-width: 5em;
}
/* Returns things back to normal in modern versions of FireFox */
div.vectorMenu ul,
x:-moz-any-link,
x:default {
min-width: 0;
}
div.vectorMenu li {
padding: 0;
margin: 0;
text-align: left;
line-height: 1em;
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
div.vectorMenu li a {
display: inline-block;
padding: 0.5em;
white-space: nowrap;
}
/* IGNORED BY IE6 */
div.vectorMenu li > a {
display: block;
}
div.vectorMenu li a {
color: #0645ad;
cursor: pointer;
font-size: 0.8em;
}
div.vectorMenu li.selected a,
div.vectorMenu li.selected a:visited {
color: #333333;
text-decoration: none;
}
/* Search */
#p-search h5 {
display: none;
}
/* @noflip */
#p-search {
float: left;
}
#p-search {
margin-right: 0.5em;
margin-left: 0.5em;
}
#p-search form,
#p-search input {
margin: 0;
margin-top: 0.4em;
}
#simpleSearch {
margin-top: 0.65em;
position: relative;
min-height: 1px; /* Gotta trigger hasLayout for IE7 */
border: solid 1px #AAAAAA;
background-color: white;
background-image: url(images/search-fade.png?1);
background-position: top left;
background-repeat: repeat-x;
}
#simpleSearch label {
font-size: 13px;
top: 0.25em;
}
div#simpleSearch .placeholder {
color: #999999;
}
div#simpleSearch input::-webkit-input-placeholder {
color: #999999;
}
div#simpleSearch input#searchInput {
margin: 0;
border-width: 0;
padding: 3px;
vertical-align: top;
font-size: 13px;
width: 14em;
background-color: transparent;
}
/* OVERRIDDEN BY COMPLIANT BROWSERS */
#simpleSearch button#searchButton {
padding: 0;
margin: 0 5px;
border: none;
cursor: pointer;
background-color: transparent;
font-size: x-small;
}
div#simpleSearch button#searchButton img {
border: none;
margin: 0;
padding: 0;
vertical-align: middle;
}
/* Panel */
div#mw-panel {
position: absolute;
top: 160px;
padding-top: 1em;
width: 10em;
left: 0;
}
div#mw-panel div.portal {
padding-bottom: 1.5em;
}
div#mw-panel div.portal h5 {
font-weight: normal;
color: #444444;
padding: 0.25em;
padding-top: 0;
padding-left: 1.75em;
cursor: default;
border: none;
font-size: 0.75em;
}
div#mw-panel div.portal div.body {
margin: 0;
padding-top: 0.5em;
margin-left: 1.25em;
background-image: url(images/portal-break.png?1);
background-repeat: no-repeat;
background-position: top left;
}
div#mw-panel div.portal div.body ul {
list-style: none;
list-style-image: none;
list-style-type: none;
padding: 0;
margin: 0;
}
div#mw-panel div.portal div.body ul li {
line-height: 1.125em;
padding: 0;
padding-bottom: 0.5em;
margin: 0;
overflow: hidden;
font-size: 0.75em;
}
div#mw-panel div.portal div.body ul li a {
color: #0645ad;
}
div#mw-panel div.portal div.body ul li a:visited {
color: #0b0080;
}
/* Footer */
#footer {
margin-left: 10em;
margin-top: 0;
padding: 0.75em;
background-image: url(images/border.png?1);
background-position: top left;
background-repeat: repeat-x;
}
#footer ul {
list-style: none;
list-style-image: none;
list-style-type: none;
margin: 0;
padding: 0;
}
#footer ul li {
margin: 0;
padding: 0;
padding-top: 0.5em;
padding-bottom: 0.5em;
color: #333333;
font-size: 0.7em;
}
#footer #footer-icons {
float: right;
}
/* @noflip */
body.ltr #footer #footer-places {
float: left;
}
#footer #footer-info li {
line-height: 1.4em;
}
#footer #footer-icons li {
float: left;
margin-left: 0.5em;
line-height: 2em;
}
#footer #footer-places li {
float: left;
margin-right: 1em;
line-height: 2em;
}
/* Logo */
#p-logo {
position: absolute;
top: -160px;
left: 0;
width: 10em;
height: 160px;
}
#p-logo a {
display: block;
width: 10em;
height: 160px;
background-repeat: no-repeat;
background-position: center center;
text-decoration: none;
}
/*
*
* The following code is highly modified from monobook. It would be nice if the
* preftoc id was more human readable like preferences-toc for instance,
* howerver this would require backporting the other skins.
*/
/* Preferences */
#preftoc {
/* Tabs */
width: 100%;
float: left;
clear: both;
margin: 0 !important;
padding: 0 !important;
background-image: url(images/preferences-break.png?1);
background-position: bottom left;
background-repeat: no-repeat;
}
#preftoc li {
/* Tab */
float: left;
margin: 0;
padding: 0;
padding-right: 1px;
height: 2.25em;
white-space: nowrap;
list-style-type: none;
list-style-image: none;
background-image: url(images/preferences-break.png?1);
background-position: bottom right;
background-repeat: no-repeat;
}
/* IGNORED BY IE6 */
#preftoc li:first-child {
margin-left: 1px;
}
#preftoc a,
#preftoc a:active {
display: inline-block;
position: relative;
color: #0645ad;
padding: 0.5em;
text-decoration: none;
background-image: none;
font-size: 0.9em;
}
#preftoc a:hover {
text-decoration: underline;
}
#preftoc li.selected a {
background-image: url(images/preferences-fade.png?1);
background-position: bottom;
background-repeat: repeat-x;
color: #333333;
text-decoration: none;
}
#preferences {
float: left;
width: 100%;
margin: 0;
margin-top: -2px;
clear: both;
border: solid 1px #cccccc;
background-color: #f9f9f9;
background-image: url(images/preferences-base.png?1);
}
#preferences fieldset.prefsection {
border: none;
padding: 0;
margin: 1em;
}
#preferences fieldset.prefsection fieldset {
border: none;
border-top: solid 1px #cccccc;
}
#preferences legend {
color: #666666;
}
#preferences fieldset.prefsection legend.mainLegend {
display: none;
}
#preferences td {
padding-left: 0.5em;
padding-right: 0.5em;
}
#preferences td.htmlform-tip {
font-size: x-small;
padding: .2em 2em;
color: #666666;
}
#preferences div.mw-prefs-buttons {
padding: 1em;
}
#preferences div.mw-prefs-buttons input {
margin-right: 0.25em;
}
/*
* Styles for the user login and create account forms
*/
#userlogin, #userloginForm {
border: solid 1px #cccccc;
padding: 1.2em;
margin: .5em;
float: left;
}
#userlogin {
min-width: 20em;
max-width: 90%;
width: 40em;
}
/*
*
* The following code is slightly modified from monobook
*
*/
#content {
line-height: 1.5em;
}
#bodyContent {
font-size: 0.8em;
}
/* Links */
a {
text-decoration: none;
color: #0645ad;
background: none;
}
a:visited {
color: #0b0080;
}
a:active {
color: #faa700;
}
a:hover {
text-decoration: underline;
}
a.stub {
color: #772233;
}
a.new, #p-personal a.new {
color: #ba0000;
}
a.new:visited, #p-personal a.new:visited {
color: #a55858;
}
/* Inline Elements */
img {
border: none;
vertical-align: middle;
}
hr {
height: 1px;
color: #aaa;
background-color: #aaa;
border: 0;
margin: .2em 0 .2em 0;
}
/* Structural Elements */
h1,
h2,
h3,
h4,
h5,
h6 {
color: black;
background: none;
font-weight: normal;
margin: 0;
padding-top: .5em;
padding-bottom: .17em;
border-bottom: 1px solid #aaa;
width: auto;
}
h1 { font-size: 188%; }
h1 .editsection { font-size: 53%; }
h2 { font-size: 150%; }
h2 .editsection { font-size: 67%; }
h3,
h4,
h5,
h6 {
border-bottom: none;
font-weight: bold;
}
h3 { font-size: 132%; }
h3 .editsection { font-size: 76%; font-weight: normal; }
h4 { font-size: 116%; }
h4 .editsection { font-size: 86%; font-weight: normal; }
h5 { font-size: 100%; }
h5 .editsection { font-weight: normal; }
h6 { font-size: 80%; }
h6 .editsection { font-size: 125%; font-weight: normal; }
p {
margin: .4em 0 .5em 0;
line-height: 1.5em;
}
p img {
margin: 0;
}
abbr,
acronym,
.explain {
border-bottom: 1px dotted black;
color: black;
background: none;
cursor: help;
}
q {
font-family: Times, "Times New Roman", serif;
font-style: italic;
}
/* Disabled for now
blockquote {
font-family: Times, "Times New Roman", serif;
font-style: italic;
}*/
pre, code, tt {
/*
* It's important for this rule to first reference an actual font name,
some browsers will render the monospace text
* too small otherwise, namely Firefox, Chrome and Safari
*/
font-family: monospace, "Courier New";
}
code {
background-color: #f9f9f9;
}
pre {
padding: 1em;
border: 1px dashed #2f6fab;
color: black;
background-color: #f9f9f9;
line-height: 1.1em;
}
ul {
line-height: 1.5em;
list-style-type: square;
margin: .3em 0 0 1.5em;
padding: 0;
list-style-image: url(images/bullet-icon.png?1);
}
ol {
line-height: 1.5em;
margin: .3em 0 0 3.2em;
padding: 0;
list-style-image: none;
}
li {
margin-bottom: .1em;
}
dt {
font-weight: bold;
margin-bottom: .1em;
}
dl {
margin-top: .2em;
margin-bottom: .5em;
}
dd {
line-height: 1.5em;
margin-left: 2em;
margin-bottom: .1em;
}
/* Tables */
table {
font-size: 100%;
color: black;
/* we don't want the bottom borders of <h2>s to be visible through
* floated tables */
background-color: white;
}
fieldset table {
/* but keep table layouts in forms clean... */
background: none;
}
/* Forms */
fieldset {
border: 1px solid #2f6fab;
margin: 1em 0 1em 0;
padding: 0 1em 1em;
line-height: 1.5em;
}
fieldset.nested {
margin: 0 0 0.5em 0;
padding: 0 0.5em 0.5em;
}
legend {
padding: .5em;
font-size: 95%;
}
form {
border: none;
margin: 0;
}
textarea {
width: 100%;
padding: .1em;
}
select {
vertical-align: top;
}
/* Table of Contents */
#toc,
.toc,
.mw-warning {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
}
#toc h2,
.toc h2 {
display: inline;
border: none;
padding: 0;
font-size: 100%;
font-weight: bold;
}
#toc #toctitle,
.toc #toctitle,
#toc .toctitle,
.toc .toctitle {
text-align: center;
}
#toc ul,
.toc ul {
list-style-type: none;
list-style-image: none;
margin-left: 0;
padding-left: 0;
text-align: left;
}
#toc ul ul,
.toc ul ul {
margin: 0 0 0 2em;
}
#toc .toctoggle,
.toc .toctoggle {
font-size: 94%;
}
/* Images */
div.floatright, table.floatright {
clear: right;
float: right;
position: relative;
margin: 0 0 .5em .5em;
border: 0;
}
div.floatright p { font-style: italic; }
div.floatleft, table.floatleft {
float: left;
clear: left;
position: relative;
margin: 0 .5em .5em 0;
border: 0;
}
div.floatleft p { font-style: italic; }
/* Thumbnails */
div.thumb {
margin-bottom: .5em;
border-style: solid;
border-color: white;
width: auto;
background-color: transparent;
}
div.thumbinner {
border: 1px solid #ccc;
padding: 3px !important;
background-color: #f9f9f9;
font-size: 94%;
text-align: center;
overflow: hidden;
}
html .thumbimage {
border: 1px solid #ccc;
}
html .thumbcaption {
border: none;
text-align: left;
line-height: 1.4em;
padding: 3px !important;
font-size: 94%;
}
div.magnify {
float: right;
border: none !important;
background: none !important;
}
div.magnify a, div.magnify img {
display: block;
border: none !important;
background: none !important;
}
/* @noflip */
div.tright {
clear: right;
float: right;
border-width: .5em 0 .8em 1.4em;
}
/* @noflip */
div.tleft {
float: left;
clear: left;
margin-right: .5em;
border-width: .5em 1.4em .8em 0;
}
img.thumbborder {
border: 1px solid #dddddd;
}
.hiddenStructure {
display: none;
}
/* Warning */
.mw-warning {
margin-left: 50px;
margin-right: 50px;
text-align: center;
}
/* User Message */
.usermessage {
background-color: #ffce7b;
border: 1px solid #ffa500;
color: black;
font-weight: bold;
margin: 2em 0 1em;
padding: .5em 1em;
vertical-align: middle;
}
/* Site Notice (includes notices from CentralNotice extension) */
#siteNotice {
text-align: center;
font-size: 0.8em;
margin: 0;
}
#localNotice {
margin-bottom: 0.9em;
}
/* Categories */
.catlinks {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
margin-top: 1em;
clear: both;
}
/* Sub-navigation */
#siteSub {
display: none;
}
#jump-to-nav {
display: none;
}
#contentSub, #contentSub2 {
font-size: 84%;
line-height: 1.2em;
margin: 0 0 1.4em 1em;
color: #7d7d7d;
width: auto;
}
span.subpages {
display: block;
}
/* Emulate Center */
.center {
width: 100%;
text-align: center;
}
*.center * {
margin-left: auto;
margin-right: auto;
}
/* Small for tables and similar */
.small, .small * {
font-size: 94%;
}
table.small {
font-size: 100%;
}
/* Edge Cases for Content */
h1, h2 {
margin-bottom: .6em;
}
h3, h4, h5 {
margin-bottom: .3em;
}
#firstHeading {
padding-top: 0;
margin-top: 0;
padding-top: 0;
margin-bottom: 0.1em;
line-height: 1.2em;
font-size: 1.6em;
padding-bottom: 0;
}
#content a.external,
#content a[href ^="gopher://"] {
background: url(images/external-link-ltr-icon.png?2) center right no-rep
eat;
padding: 0 13px 0 0;
}
#content a[href ^="https://"],
.link-https {
background: url(images/lock-icon.png?2) center right no-repeat;
padding: 0 13px 0 0;
}
#content a[href ^="mailto:"],
.link-mailto {
background: url(images/mail-icon.png?2) center right no-repeat;
padding: 0 13px 0 0;
}
#content a[href ^="news://"] {
background: url(images/news-icon.png?2) center right no-repeat;
padding: 0 13px 0 0;
}
#content a[href ^="ftp://"],
.link-ftp {
background: url(images/file-icon.png?2) center right no-repeat;
padding: 0 13px 0 0;
}
#content a[href ^="irc://"],
#content a.extiw[href ^="irc://"],
.link-irc {
background: url(images/talk-icon.png?2) center right no-repeat;
padding: 0 13px 0 0;
}
#content a.external[href $=".ogg"], #content a.external[href $=".OGG"],
#content a.external[href $=".mid"], #content a.external[href $=".MID"],
#content a.external[href $=".midi"], #content a.external[href $=".MIDI"],
#content a.external[href $=".mp3"], #content a.external[href $=".MP3"],
#content a.external[href $=".wav"], #content a.external[href $=".WAV"],
#content a.external[href $=".wma"], #content a.external[href $=".WMA"],
.link-audio {
background: url("images/audio-icon.png?2") center right no-repeat;
padding: 0 13px 0 0;
}
#content a.external[href $=".ogm"], #content a.external[href $=".OGM"],
#content a.external[href $=".avi"], #content a.external[href $=".AVI"],
#content a.external[href $=".mpeg"], #content a.external[href $=".MPEG"],
#content a.external[href $=".mpg"], #content a.external[href $=".MPG"],
.link-video {
background: url("images/video-icon.png?2") center right no-repeat;
padding: 0 13px 0 0;
}
#content a.external[href $=".pdf"], #content a.external[href $=".PDF"],
#content a.external[href *=".pdf#"], #content a.external[href *=".PDF#"],
#content a.external[href *=".pdf?"], #content a.external[href *=".PDF?"],
.link-document {
background: url("images/document-icon.png?2") center right no-repeat;
padding: 0 13px 0 0;
}
/* Interwiki Styling (Disabled) */
#content a.extiw,
#content a.extiw:active {
color: #36b;
background: none;
padding: 0;
}
#content a.external {
color: #36b;
}
#content .printfooter {
display: none;
}
/* Icon for Usernames */
#pt-userpage,
#pt-anonuserpage,
#pt-login {
background: url(images/user-icon.png?1) left top no-repeat;
padding-left: 15px !important;
text-transform: none;
}
.toccolours {
border: 1px solid #aaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
}
#bodyContent {
position: relative;
width: 100%;
}
#mw-js-message {
font-size: 0.8em;
}
div#bodyContent {
line-height: 1.5em;
}
/* Watch/Unwatch Icon Styling */
#ca-unwatch.icon,
#ca-watch.icon {
margin-right:1px;
}
#ca-unwatch.icon a,
#ca-watch.icon a {
margin: 0;
padding: 0;
outline: none;
display: block;
width: 26px;
height: 2.5em;
}
#ca-unwatch.icon a {
background-image: url(images/watch-icons.png?1);
background-position: -43px 60%;
}
#ca-watch.icon a {
background-image: url(images/watch-icons.png?1);
background-position: 5px 60%;
}
#ca-unwatch.icon a:hover {
background-image: url(images/watch-icons.png?1);
background-position: -67px 60%;
}
#ca-watch.icon a:hover {
background-image: url(images/watch-icons.png?1);
background-position: -19px 60%;
}
#ca-unwatch.icon a.loading,
#ca-watch.icon a.loading {
background-image: url(images/watch-icon-loading.gif?1);
background-position: center 60%;
}
#ca-unwatch.icon a span,
#ca-watch.icon a span {
display: none;
}
div.vectorTabs ul {
background-image:url(images/tab-break.png?1);
background-position:right bottom;
background-repeat:no-repeat;
}
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=shared.css
Content-Type: text/css; name=shared.css
Content-Location: http://bits.wikimedia.org/skins-1.5/common/shared.css?283s
Content-Transfer-Encoding: 8bit
/**
* CSS in this file is used by *all* skins (that have any CSS at all). Be
* careful what you put in here, since what looks good in one skin may not in
* another, but don't ignore the poor non-Monobook users either.
*/
/* Colored watchlist and recent changes numbers */
.mw-plusminus-pos { color: #006400; } /* dark green */
.mw-plusminus-neg { color: #8b0000; } /* dark red */
.mw-plusminus-null { color: #aaa; } /* gray */
/* Comment and username portions of RC entries */
span.comment {
font-style: italic;
}
span.changedby {
font-size: 95%;
}
/* Math */
.texvc { direction: ltr; unicode-bidi: embed; }
img.tex { vertical-align: middle; }
span.texhtml { font-family: serif; }
/* add a bit of margin space between the preview and the toolbar */
/* this replaces the ugly <p><br /></p> we used to insert into the page source *
/
#wikiPreview.ontop { margin-bottom: 1em; }
/* Stop floats from intruding into edit area in previews */
#editform, #toolbar, #wpTextbox1 { clear: both; }
div#mw-js-message {
margin: 1em 5%;
padding: 0.5em 2.5%;
border: solid 1px #ddd;
background-color: #fcfcfc;
}
/* Edit section links */
.editsection {
float: right;
margin-left: 5px;
}
/**
* File histories
*/
h2#filehistory {
clear: both;
}
table.filehistory th,
table.filehistory td {
vertical-align:top;
}
table.filehistory th {
text-align: left;
}
table.filehistory td.mw-imagepage-filesize,
table.filehistory th.mw-imagepage-filesize {
white-space:nowrap;
}
table.filehistory td.filehistory-selected {
font-weight: bold;
}
/*
* rev_deleted stuff
*/
li span.deleted, span.history-deleted {
text-decoration: line-through;
color: #888;
font-style: italic;
}
/**
* Patrol stuff
*/
.not-patrolled {
background-color: #ffa;
}
.unpatrolled {
font-weight: bold;
color: red;
}
div.patrollink {
font-size: 75%;
text-align: right;
}
/**
* Forms
*/
body.ltr td.mw-label { text-align: right; }
body.ltr td.mw-input { text-align: left; }
body.ltr td.mw-submit { text-align: left; }
body.rtl td.mw-label { text-align: left; }
body.rtl td.mw-input { text-align: right; }
body.rtl td.mw-submit { text-align: right; }
td.mw-label { vertical-align: top; }
.prefsection td.mw-label { width: 20%; }
.prefsection table { width: 100%; }
td.mw-submit { white-space: nowrap; }
table.mw-htmlform-nolabel td.mw-label { width: 0 !important; }
tr.mw-htmlform-vertical-label td.mw-label {
text-align: left !important;
}
input#wpSummary {
width: 80%;
}
/**
* Image captions
*/
body.rtl .thumbcaption { text-align:right; }
body.rtl .magnify { float:left; }
body.ltr .thumbcaption { text-align:left; }
body.ltr .magnify { float:right; }
/**
* Hidden categories
*/
.mw-hidden-cats-hidden { display: none; }
.catlinks-allhidden { display: none; }
/* Convenience links to edit block, delete and protect reasons */
p.mw-ipb-conveniencelinks, p.mw-protect-editreasons,
p.mw-filedelete-editreasons, p.mw-delete-editreasons,
p.mw-revdel-editreasons {
font-size: 90%;
float: right;
}
/* Search results */
.searchresults {
}
.searchresults p {
margin-left: 0.4em;
margin-top: 1em;
margin-bottom: 1.2em;
}
div.searchresult {
font-size: 95%;
width:38em;
}
.mw-search-results {
margin-left: 0.4em;
}
.mw-search-results li {
padding-bottom: 1em;
list-style:none;
list-style-image:none;
}
.mw-search-results li a {
font-size: 108%;
}
.mw-search-result-data {
color: green;
font-size: 97%;
}
.mw-search-formheader {
background-color: #f3f3f3;
margin-top: 1em;
border: 1px solid silver;
}
.mw-search-formheader div.search-types {
float:left;
padding-left: 0.25em;
}
.rtl .mw-search-formheader div.search-types {
float: right;
}
.mw-search-formheader div.search-types ul {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
.mw-search-formheader div.search-types ul li {
float: left;
margin: 0;
padding: 0;
}
.mw-search-formheader div.search-types ul li a {
display: block;
padding: 0.5em;
}
.mw-search-formheader div.search-types ul li.current a {
color: #333333;
cursor: default;
}
.mw-search-formheader div.search-types ul li.current a:hover {
text-decoration: none;
}
.mw-search-formheader div.results-info {
float: right;
padding: 0.5em;
padding-right: 0.75em;
}
.mw-search-formheader div.results-info ul {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
.mw-search-formheader div.results-info ul li {
float: right;
margin: 0;
padding: 0;
}
fieldset#mw-searchoptions {
margin: 0;
padding-left: 0.75em !important;
padding-right: 0.75em !important;
padding-bottom: 0.5em !important;
padding-top: 0.5em !important;
border: none;
background-color: #f9f9f9;
border: 1px solid silver !important;
border-top-width: 0 !important;
}
fieldset#mw-searchoptions legend {
display: none;
}
fieldset#mw-searchoptions h4 {
padding: 0;
margin: 0;
float: left;
}
.rtl fieldset#mw-searchoptions h4 {
float: right;
}
fieldset#mw-searchoptions div#mw-search-togglebox {
float: right;
}
.rtl fieldset#mw-searchoptions div#mw-search-togglebox {
float: left;
}
fieldset#mw-searchoptions div#mw-search-togglebox label {
margin-right: 0.25em;
}
fieldset#mw-searchoptions div#mw-search-togglebox input {
margin-left: 0.25em;
}
fieldset#mw-searchoptions table {
float: left;
margin-right: 3em;
}
fieldset#mw-searchoptions table td {
padding-right: 1em;
}
.rtl fieldset#mw-searchoptions table td {
padding-left: 1em;
padding-right: 0;
}
body.rtl fieldset#mw-searchoptions table {
margin-right: 0;
margin-left: 3em;
float: right;
}
fieldset#mw-searchoptions div.divider {
clear: both;
border-bottom: 1px solid #DDDDDD;
padding-top: 0.5em;
margin-bottom: 0.5em;
}
td#mw-search-menu {
padding-left:6em;
font-size:85%;
}
div#mw-search-interwiki {
float: right;
width: 18em;
border-style: solid;
border-color: #AAAAAA;
border-width: 1px;
margin-top: 2ex;
}
.rtl div#mw-search-interwiki {
float: left;
}
div#mw-search-interwiki li {
font-size: 95%;
}
.mw-search-interwiki-more {
float: right;
font-size: 90%;
}
.rtl .mw-search-interwiki-more {
float: left;
}
div#mw-search-interwiki-caption {
text-align: center;
font-weight: bold;
font-size: 95%;
}
.mw-search-interwiki-project {
font-size: 97%;
text-align: left;
padding-left: 0.2em;
padding-right: 0.15em;
padding-bottom: 0.2em;
padding-top: 0.15em;
background-color:#ececec;
border-top:1px solid #BBBBBB;
}
.rtl .mw-search-interwiki-project {
text-align: right;
}
span.searchalttitle {
font-size: 95%;
}
div.searchdidyoumean {
font-size: 127%;
margin-top: 0.8em;
/* Note that this color won't affect the link, as desired. */
color: #c00;
}
div.searchdidyoumean em {
font-weight: bold;
}
.searchmatch {
font-weight: bold;
}
table#mw-search-top-table {
background-color: transparent;
}

/*
* Advanced PowerSearch box
*/
td#mw-search-togglebox {
text-align: right;
}
table#mw-search-powertable {
width:100%;
}
form#powersearch {
clear: both;
}

/*
* UserRights stuff
*/
.mw-userrights-disabled {
color: #888;
}
table.mw-userrights-groups * td,table.mw-userrights-groups * th {
padding-right: 1.5em;
}
/*
* OpenSearch ajax suggestions
*/
.os-suggest {
overflow: auto;
overflow-x: hidden;
position: absolute;
top: 0px;
left: 0px;
width: 0px;
background-color: white;
background-color: Window;
border-style: solid;
border-color: #AAAAAA;
border-width: 1px;
z-index:99;
font-size:95%;
}
table.os-suggest-results {
font-size: 95%;
cursor: pointer;
border: 0;
border-collapse: collapse;
width: 100%;
}
.os-suggest-result, .os-suggest-result-hl {
white-space: nowrap;
background-color: white;
background-color: Window;
color: black;
color: WindowText;
padding: 2px;
}
.os-suggest-result-hl,
.os-suggest-result-hl-webkit {
background-color: #4C59A6;
color: white;
}
.os-suggest-result-hl {
/* System colors are misimplemented in Safari 3.0 and earlier,
making highlighted text illegible... */
background-color: Highlight;
color: HighlightText;
}
.os-suggest-toggle {
position: relative;
left: 1ex;
font-size: 65%;
}
.os-suggest-toggle-def {
position: absolute;
top: 0px;
left: 0px;
font-size: 65%;
visibility: hidden;
}
/* Page history styling */
/* the auto-generated edit comments */
.autocomment { color: gray; }
#pagehistory .history-user {
margin-left: 0.4em;
margin-right: 0.2em;
}
#pagehistory span.minor { font-weight: bold; }
#pagehistory li { border: 1px solid white; }
#pagehistory li.selected {
background-color: #f9f9f9;
border: 1px dashed #aaa;
}
/** Generic minor/bot/newpage styling */
.newpage, .minor, .bot {
font-weight: bold;
}
/* Special:Contributions styling */
.mw-uctop {
font-weight: bold;
}
/* Special:ListGroupRights styling */
table.mw-listgrouprights-table tr {
vertical-align: top;
}
.listgrouprights-revoked { text-decoration: line-through; }
/* Special:Statistics styling */
td.mw-statistics-numbers {
text-align: right;
}
/* Special:SpecialPages styling */
h4.mw-specialpagesgroup {
background-color: #dcdcdc;
padding: 2px;
margin: .3em 0em 0em 0em;
}
.mw-specialpagerestricted {
font-weight: bold;
}
#shared-image-dup, #shared-image-conflict {
font-style: italic;
}
/* Special:EmailUser styling */
table.mw-emailuser-table {
width: 98%;
}
td#mw-emailuser-sender, td#mw-emailuser-recipient {
font-weight: bold;
}
/* Special:Allpages styling */
table.allpageslist {
background-color: transparent;
}
table.mw-allpages-table-form, table.mw-allpages-table-chunk {
background-color: transparent;
width: 100%;
}
td.mw-allpages-alphaindexline {
text-align: right;
}
td.mw-allpages-nav, p.mw-allpages-nav {
text-align: right;
font-size: smaller;
margin-bottom: 1em;
}
table.mw-allpages-table-form tr {
vertical-align: top;
}
/* Special:Prefixindex styling */
table#mw-prefixindex-list-table,
table#mw-prefixindex-nav-table {
width: 98%;
background-color: transparent;
}
td#mw-prefixindex-nav-form {
font-size: smaller;
margin-bottom: 1em;
text-align: right;
vertical-align: top;
}
/*
* Recreating deleted page warning
* Reupload file warning
* Page protection warning
* incl. log entries for these warnings
*/
div.mw-warning-with-logexcerpt {
padding: 3px;
margin-bottom: 3px;
border: 2px solid #2F6FAB;
clear: both;
}
div.mw-warning-with-logexcerpt ul li {
font-size: 90%;
}
/* (show/hide) revision deletion links */
span.mw-revdelundel-link,
strong.mw-revdelundel-link {
font-size: 90%;
}
span.mw-revdelundel-hidden,
input.mw-revdelundel-hidden {
visibility: hidden;
}
td.mw-revdel-checkbox, th.mw-revdel-checkbox {
padding-right: 10px;
text-align: center;
}
/* feed links */
a.feedlink {
background: url("images/feed-icon.png") center left no-repeat;
padding-left: 16px;
}
/* Plainlinks - this can be used to switch
* off special external link styling */
.plainlinks a {
background: none !important;
padding: 0 !important;
}
/* wikitable class for skinning normal tables */
table.wikitable {
margin: 1em 1em 1em 0;
background: #f9f9f9;
border: 1px #aaa solid;
border-collapse: collapse;
}
.wikitable th, .wikitable td {
border: 1px #aaa solid;
padding: 0.2em;
}
.wikitable th {
background: #f2f2f2;
text-align: center;
}
.wikitable caption {
font-weight: bold;
}
/* hide initially collapsed collapsable tables */
table.collapsed tr.collapsable {
display: none;
}
/* success and error messages */
.success {
color: green;
font-size: larger;
}
.error {
color: red;
font-size: larger;
}
.errorbox, .successbox {
font-size: larger;
border: 2px solid;
padding: .5em 1em;
float: left;
margin-bottom: 2em;
color: #000;
}
.errorbox {
border-color: red;
background-color: #fff2f2;
}
.successbox {
border-color: green;
background-color: #dfd;
}
.errorbox h2, .successbox h2 {
font-size: 1em;
font-weight: bold;
display: inline;
margin: 0 .5em 0 0;
border: none;
}
/* Note on preview page */
.previewnote {
color: #c00;
margin-bottom: 1em;
}
.previewnote p {
text-indent: 3em;
margin: 0.8em 0;
}
.visualClear {
clear: both;
}
#mw_trackbacks {
border: solid 1px #bbbbff;
background-color: #eeeeff;
padding: 0.2em;
}
/*
Table pager (e.g. Special:Imagelist)
- remove underlines from the navigation link
- collapse borders
- set the borders to outsets (similar to Special:Allmessages)
- remove line wrapping for all td and th, set background color
- restore line wrapping for the last two table cells (description and size)
*/
.TablePager { min-width: 80%; }
.TablePager_nav a { text-decoration: none; }
.TablePager { border-collapse: collapse; }
.TablePager, .TablePager td, .TablePager th {
border: 1px solid #aaaaaa;
padding: 0 0.15em 0 0.15em;
}
.TablePager th { background-color: #eeeeff }
.TablePager td { background-color: #ffffff }
.TablePager tr:hover td { background-color: #eeeeff }
.imagelist td, .imagelist th { white-space: nowrap }
.imagelist .TablePager_col_links { background-color: #eeeeff }
.imagelist .TablePager_col_img_description { white-space: normal }
.imagelist th.TablePager_sort { background-color: #ccccff }
/* Allmessages table */
#mw-allmessagestable .allmessages-customised td.am_default {
background-color: #fcffc4;
}
#mw-allmessagestable tr.allmessages-customised:hover td.am_default {
background-color: #faff90;
}
#mw-allmessagestable td.am_actual {
background-color: #e2ffe2;
}
#mw-allmessagestable tr.allmessages-customised:hover + tr.allmessages-customised
td.am_actual {
background-color: #b1ffb1;
}
/* filetoc */
ul#filetoc {
text-align: center;
border: 1px solid #aaaaaa;
background-color: #f9f9f9;
padding: 5px;
font-size: 95%;
margin-bottom: 0.5em;
margin-left: 0;
margin-right: 0;
}
#filetoc li {
display: inline;
list-style-type: none;
padding-right: 2em;
}
/* Classes for EXIF data display */
table.mw_metadata {
font-size: 0.8em;
margin-left: 0.5em;
margin-bottom: 0.5em;
width: 300px;
}
table.mw_metadata caption {
font-weight: bold;
}
table.mw_metadata th {
font-weight: normal;
}
table.mw_metadata td {
padding: 0.1em;
}
table.mw_metadata {
border: none;
border-collapse: collapse;
}
table.mw_metadata td, table.mw_metadata th {
text-align: center;
border: 1px solid #aaaaaa;
padding-left: 0.1em;
padding-right: 0.1em;
}
table.mw_metadata th {
background-color: #f9f9f9;
}
table.mw_metadata td {
background-color: #fcfcfc;
}
/* Galleries */
table.gallery {
border: 1px solid #ccc;
margin: 2px;
padding: 2px;
background-color: white;
}
table.gallery tr {
vertical-align: top;
}
table.gallery td {
vertical-align: top;
background-color: #f9f9f9;
border: solid 2px white;
}
table.gallery caption {
font-weight: bold;
}
div.gallerybox {
margin: 2px;
}
div.gallerybox div.thumb {
text-align: center;
border: 1px solid #ccc;
margin: 2px;
}
div.gallerytext {
overflow: hidden;
font-size: 94%;
padding: 2px 4px;
}
table.mw-enhanced-rc {
background: none;
border:0;
border-spacing:0;
}
td.mw-enhanced-rc {
white-space:nowrap;
padding:0;
vertical-align:top;
font-family:monospace
}
#mw-addcategory-prompt {
display: inline;
margin-left: 1em;
}
#mw-addcategory-prompt input {
margin-left: 0.5em;
margin-right: 0.5em;
}
.mw-remove-category {
padding: 8px;
background-image: url(images/remove.png);
background-position: center center;
background-repeat: no-repeat;
}

.mw-ajax-addcategory {
padding-left: 20px;
background-image: url(images/add.png);
background-position: left center;
background-repeat: no-repeat;
}
.mw-ajax-loader {
background-image: url(images/ajax-loader.gif);
background-position: center center;
background-repeat: no-repeat;
padding: 16px;
position: relative;
top: -16px;
}
.mw-small-spinner {
padding: 10px !important;
margin-right: 0.6em;
background-image: url(images/spinner.gif);
background-position: center center;
background-repeat: no-repeat;
}
/* Sort arrows added by SortableTables */
a.sortheader {
margin: 0 0.3em;
}
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=commonPrint.css
Content-Type: text/css; name=commonPrint.css
Content-Location: http://bits.wikimedia.org/skins-1.5/common/commonPrint.css?283
s
Content-Transfer-Encoding: 8bit
/*
** MediaWiki Print style sheet for CSS2-capable browsers.
** Copyright Gabriel Wicke, http://www.aulinx.de/
**
** Derived from the plone (http://plone.org/) styles
** Copyright Alexander Limi
*/
/* Thanks to A List Apart (http://alistapart.com/) for useful extras */
a.stub,
a.new{ color:#ba0000; text-decoration:none; }
#toc {
/*border:1px solid #2f6fab;*/
border:1px solid #aaaaaa;
background-color:#f9f9f9;
padding:5px;
}
.tocindent {
margin-left: 2em;
}
.tocline {
margin-bottom: 0px;
}
/* images */
div.floatright {
float: right;
clear: right;
margin: 0;
position:relative;
border: 0.5em solid White;
border-width: 0.5em 0 0.8em 1.4em;
}
div.floatright p { font-style: italic;}
div.floatleft {
float: left;
margin: 0.3em 0.5em 0.5em 0;
position:relative;
border: 0.5em solid White;
border-width: 0.5em 1.4em 0.8em 0;
}
div.floatleft p { font-style: italic; }
/* thumbnails */
div.thumb {
margin-bottom: 0.5em;
border-style: solid; border-color: White;
width: auto;
overflow: hidden;
}
div.thumbinner {
border:1px solid #cccccc;
padding: 3px !important;
background-color:#f9f9f9;
font-size: 94%;
text-align: center;
}
html .thumbimage {
border:1px solid #cccccc;
}
html .thumbcaption {
border: none;
padding: 0.3em 0 0.1em 0;
}
div.magnify { display: none; }
div.tright {
float: right;
clear: right;
border-width: 0.5em 0 0.8em 1.4em;
}
div.tleft {
float: left;
margin-right:0.5em;
border-width: 0.5em 1.4em 0.8em 0;
}
img.thumbborder {
border: 1px solid #dddddd;
}
/* table standards */
table.rimage {
float:right;
width:1pt;
position:relative;
margin-left:1em;
margin-bottom:1em;
text-align:center;
}
body {
background: White;
/*font-size: 11pt !important;*/
color: Black;
margin: 0;
padding: 0;
}
.noprint,
div#jump-to-nav,
div.top,
div#column-one,
#colophon,
.editsection,
.toctoggle,
.tochidden,
div#f-poweredbyico,
div#f-copyrightico,
li#viewcount,
li#about,
li#disclaimer,
li#privacy,
#mw-hidden-catlinks {
/* Hides all the elements irrelevant for printing */
display: none;
}
ul {
list-style-type: square;
}
#content {
background: none;
border: none ! important;
padding: 0 ! important;
margin: 0 ! important;
}
#footer {
background : white;
color : black;
border-top: 1px solid black;
}
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
}
p, .documentDescription {
margin: 1em 0 ! important;
line-height: 1.2em;
}
.tocindent p {
margin: 0 0 0 0 ! important;
}
pre {
border: 1pt dashed black;
white-space: pre;
font-size: 8pt;
overflow: auto;
padding: 1em 0;
background : white;
color : black;
}
table.listing,
table.listing td {
border: 1pt solid black;
border-collapse: collapse;
}
a {
color: Black !important;
background: none !important;
padding: 0 !important;
}
a:link, a:visited {
color: #520;
background: transparent;
text-decoration: underline;
}
#content a.external.text:after, #content a.external.autonumber:after {
/* Expand URLs for printing */
content: " (" attr(href) ") ";
}
#globalWrapper {
width: 100% !important;
min-width: 0 !important;
}
#content {
background : white;
color : black;
}
#column-content {
margin: 0 !important;
}
#column-content #content {
padding: 1em;
margin: 0 !important;
}
/* MSIE/Win doesn't understand 'inherit' */
a, a.external, a.new, a.stub {
color: black ! important;
text-decoration: none ! important;
}
/* Continue ... */
a, a.external, a.new, a.stub {
color: inherit ! important;
text-decoration: inherit ! important;
}
img { border: none; }
img.tex { vertical-align: middle; }
span.texhtml { font-family: serif; }
#siteNotice { display: none; }
div.gallerybox {
border: 1px solid #cccccc;
background-color:#f9f9f9;
width: 150px;
}
div.gallerytext {
overflow: visible;
}
/*
** Diff rendering
*/
table.diff { background:white; }
td.diff-otitle { background:#ffffff; }
td.diff-ntitle { background:#ffffff; }
td.diff-addedline {
background:#ccffcc;
font-size: smaller;
border: solid 2px black;
}
td.diff-deletedline {
background:#ffffaa;
font-size: smaller;
border: dotted 2px black;
}
td.diff-context {
background:#eeeeee;
font-size: smaller;
}
.diffchange {
color: silver;
font-weight: bold;
text-decoration: underline;
}
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/w/extensions/UsabilityInitiative/ima
ges/vector/collapsibleNav/portal-break.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAIwAAAABCAMAAAA7MLYKAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEtQTFRF29vb2tra4ODg6urq5OTk4uLi
6+vr7e3t7Ozs8PDw5+fn4+Pj4eHh3d3d39/f6Ojo5eXl6enp8fHx8/Pz8vLy7+/v
3Nzc2dnZ2NjYnErj7QAAAD1JREFUeNq0wQUBACAMALDj7hf6JyUFGxzEnYhC9GaN
PG1xVffGDErk/iCigLl1XV2xM49lfAxEaSM+AQYA9HMKuv4liFQAAAAASUVORK5C
YII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/w/extensions/UsabilityInitiative/ima
ges/vector/collapsibleNav/arrow-down.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA9QTFRFeXl53d3dmpqasbGx////GU0i
EgAAAAV0Uk5T/////wD7tg5TAAAAK0lEQVQI12NwgQIG0hhCDAwMTCJAhqMCA4Mi
WEoIJABiOCooQhULi5BqMgB2bh4svs8t+QAAAABJRU5ErkJggg==
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://bits.wikimedia.org/w/extensions/UsabilityInitiative/ima
ges/vector/collapsibleNav/arrow-right.png?1
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2Fy
ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAxQTFRF3d3deXl5////nZ2dQA6SoAAA
AAN0Uk5T//8A18oNQQAAADNJREFUeNpiYEIDDMQKMKALMDOgCTDCRWACcBG4AEwE
IcDITEAFuhnotmC4g4EEzwEEGAADqgHmQSPJKgAAAABJRU5ErkJggg==
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=combined.min.css
Content-Type: text/css; name=combined.min.css
Content-Location: http://bits.wikimedia.org/w/extensions/UsabilityInitiative/css
/combined.min.css?117
Content-Transfer-Encoding: 8bit
.suggestions{
overflow:hidden;
position:absolute;
top:0px;
left:0px;
width:0px;
border:none;
z-index:99;
padding:0;
margin:-1px 0 0 0;
}
.suggestions-special{
position:relative;
background-color:Window;
font-size:0.8em;
cursor:pointer;
border:solid 1px #aaaaaa;
padding:0;
margin:0;
margin-top:-2px;
display:none;
padding:0.25em 0.25em;
line-height:1.25em;
}
.suggestions-results{
background-color:white;
background-color:Window;
font-size:0.8em;
cursor:pointer;
border:solid 1px #aaaaaa;
padding:0;
margin:0;
}
.suggestions-result{
color:black;
color:WindowText;
margin:0;
line-height:1.5em;
padding:0.01em 0.25em;
}
.suggestions-result-current{
background-color:#4C59A6;
background-color:Highlight;
color:white;
color:HighlightText;
}
.suggestions-special .special-label{
font-size:0.8em;
color:gray;
}
.suggestions-special .special-query{
color:black;
font-style:italic;
}
.suggestions-special .special-hover{
background-color:silver;
}
.suggestions-result-current .special-label,
.suggestions-result-current .special-query{
color:white;
color:HighlightText;
}
.autoellipsis-matched,
.highlight{
font-weight:bold;
}
#mw-panel.collapsible-nav div.portal{
background-image:url(../images/vector/collapsibleNav/portal-break.png?1);
background-position:left top;
background-repeat:no-repeat;
padding:0.25em 0 !important;
margin:-11px 9px 10px 11px;
}
body.rtl #mw-panel.collapsible-nav div.portal{
background-position:right top;
margin:-11px 11px 10px 9px;
}
#mw-panel.collapsible-nav div.portal h5{
color:#4D4D4D;
font-weight:normal;
background:url(../images/vector/collapsibleNav/arrow-down.png?1) 0 50% no-repeat
;
padding:4px 0 3px 1.5em;
margin-bottom:0px;
}
body.rtl #mw-panel.collapsible-nav div.portal h5{
background:url(../images/vector/collapsibleNav/arrow-down.png?1) 100% 50% no-rep
eat;
padding:4px 1.5em 3px 0;
}
#mw-panel.collapsible-nav div.collapsed h5{
color:#0645AD;
background:url(../images/vector/collapsibleNav/arrow-right.png?1) 0 50% no-repea
t;
margin-bottom:0px;
}
body.rtl #mw-panel.collapsible-nav div.collapsed h5{
background:url(../images/vector/collapsibleNav/arrow-left.png?1) 100% 50% no-rep
eat;
}
#mw-panel.collapsible-nav div h5:hover{
cursor:pointer;
text-decoration:none;
}
#mw-panel.collapsible-nav div.collapsed h5:hover{
text-decoration:underline;
}
#mw-panel.collapsible-nav div.portal div.body{
background:none !important;
padding-top:0px;
display:none;
}
#mw-panel.collapsible-nav div.persistent div.body{
display:block;
}
#mw-panel.collapsible-nav div.first h5{
display:none;
}
#mw-panel.collapsible-nav div.persistent h5{
background:none !important;
padding-left:0.7em;
cursor:default;
}
#mw-panel.collapsible-nav div.portal div.body ul li{
padding:0.25em 0;
}
#mw-panel.collapsible-nav div.first{
background-image:none;
margin-top:0px;
}
#mw-panel.collapsible-nav div.persistent div.body{
margin-left:0.5em;
}
body.rtl #mw-panel.collapsible-nav div.persistent div.body{
margin-left:0;
margin-right:0.5em;
}
form#editform{
margin:0;
padding:0;
}
#wpSummary,#wpSummaryLabel{
margin-bottom:1em;
}
.wikiEditor-ui textarea#wpTextbox1{
border:none;
padding:0;
margin:-1px;
line-height:1.5em;
}
.wikiEditor-ui .wikiEditor-ui-text > textarea#wpTextbox1{
margin:0;
}
.wikiEditor-ui{
float:left;
position:relative;
clear:both;
width:100%;
background-color:#E0EEf7;
border:solid silver 1px;
}
body.rtl .wikiEditor-ui{
float:right;
}
.wikiEditor-ui .wikiEditor-ui-bottom{
}
.wikiEditor-ui .wikiEditor-ui-text{
line-height:0;
}
.wikiEditor-ui .wikiEditor-ui-top{
position:relative;
border-bottom:solid silver 1px;
}
.wikiEditor-ui .wikiEditor-ui-left{
float:left;
width:100%;
}
body.rtl .wikiEditor-ui .wikiEditor-ui-left{
float:right;
}
.wikiEditor-ui .wikiEditor-ui-right{
float:right;
background:#F3F3F3;
overflow:hidden;
}
body.rtl .wikiEditor-ui .wikiEditor-ui-right{
float:left;
}
.wikiEditor-wikitext{
float:left;
width:100%;
}
.wikiEditor-ui-controls{
float:left;
width:100%;
background-color:white;
margin-top:-1px;
border-bottom:solid 1px silver;
}
.wikiEditor-ui-tabs{
float:left;
height:2.5em;
margin-left:-1px;
background-color:white;
border-left:solid 1px silver;
border-top:solid 1px silver;
}
.wikiEditor-ui-buttons{
float:right;
height:2.5em;
margin-right:-1px;
background-color:white;
padding-left:1em;
border-top:solid 1px white;
}
.wikiEditor-ui-buttons button{
margin-left:0.5em;
}
.wikiEditor-ui-tabs div{
float:left;
height:2.5em;
background-color:#f3f3f3;
border-right:solid 1px silver;
border-bottom:solid 1px silver;
}
.wikiEditor-ui-tabs div.current{
border-bottom:solid 1px white;
background-color:white;
}
.wikiEditor-ui-tabs div a{
display:inline-block;
padding:0 0.75em;
line-height:2.5em;
color:#0645AD;
}
.wikiEditor-ui-tabs div.current a{
color:#333333;
}
.wikiEditor-ui-tabs div.current a:hover{
text-decoration:none;
}
.wikiEditor-view-wikitext{
line-height:1em;
}
.wikiEditor-ui-loading{
background:#f3f3f3;
z-index:10;
position:absolute;
top:0;
left:0;
text-align:center;
height:100%;
width:100%;
border:1px solid silver;
margin:-1px;
}
.wikiEditor-ui-loading span{
display:block;
height:24px;
width:24px;
background:url( ../images/wikiEditor/toolbar/loading.gif ) 0 0 no-repeat;
text-indent:-9999px;
margin:0 auto;
}
.wikiEditor-toolbar-dialog table{
margin-top:0.75em;
}
.wikiEditor-toolbar-dialog table td{
padding:0.5em;
height:3em;
overflow:visible;
}
div.suggestions{
z-index:1099;
}
.wikiEditor-toolbar-dialog .ui-dialog-titlebar-close:hover{
text-decoration:none;
}
.wikiEditor-toolbar-dialog .ui-dialog-content .status-invalid input{
border:2px solid red;
padding:2px 1px;
}
.wikiEditor-toolbar-dialog .ui-dialog-titlebar{
padding:0.9em 1.4em 0.6em !important;
}
.wikiEditor-toolbar-dialog table td{
padding:0 !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane button{
-moz-border-radius:4px;
-webkit-border-radius:4px;
padding:0.2em 0.6em 0.15em !important;
margin:0.5em 0 0.5em 0.4em !important;
border:1px solid #a6a6a6 !important;
background:#f2f2f2 url( ../images/wikiEditor/dialogs/button_off.png?1) repeat-x
scroll 50% 100% !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane button:hover{
border-color:#6e7273;
background:#e1e1e1 url( ../images/wikiEditor/dialogs/button_over.png?1) repeat-x
scroll 50% 100% !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane button:active,
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane button:focus{
border-color:#707271;
background:#bfbfbf url( ../images/wikiEditor/dialogs/button_down.png?1) repeat-x
scroll 50% 100% !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane button.disabled{
color:#7f7f7f;
border-color:#cccccc;
background:#f2f2f2 url( ../images/wikiEditor/dialogs/button_disabled.png?1) repe
at-x scroll 50% 100% !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane button::-moz-focus-inner{
border:0;
}
.wikiEditor-toolbar-dialog .ui-widget-header{
background:#f0f0f0 url( ../images/wikiEditor/dialogs/titlebar_fade.png?1) repeat
-x scroll 50% 100% !important;
}
.wikiEditor-toolbar-dialog .ui-icon-closethick{
background:url( ../images/wikiEditor/dialogs/close_x.png?1) no-repeat 50% 50% !i
mportant;
}
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane{
margin-top:0 !important;
padding:0.3em 1.4em 0.5em 1.4em !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-content fieldset{
border:none !important;
margin:0 !important;
padding:0 !important;
}
.wikiEditor-toolbar-dialog .ui-widget-header{
border-bottom:1px solid #6bc8f3 !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-content input[type=text]{
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
-webkit-box-sizing:border-box;
-khtml-box-sizing:border-box;
}
.wikiEditor-toolbar-dialog .ui-dialog-content input[type="radio"],
.wikiEditor-toolbar-dialog .ui-dialog-content input[type="checkbox"]{
margin-left:0;
}
.wikiEditor-toolbar-dialog .ui-dialog-titlebar-close{
padding:0;
}
body.ltr .wikiEditor-toolbar-dialog .ui-dialog-titlebar-close{
right:0.9em;
}
.wikieditor-toolbar-field-wrapper{
padding:0 0 25px 0;
}
.wikieditor-toolbar-floated-field-wrapper{
float:left;
margin-right:2em;
}
.wikieditor-toolbar-dialog-hint{
color:#999999;
}
.wikiEditor-toolbar-dialog,
.wikiEditor-toolbar-dialog .ui-widget-content{
border:none !important;
}
#wikieditor-toolbar-table-dialog fieldset{
width:218px;
padding:0;
float:left;
}
body.rtl #wikieditor-toolbar-table-dialog fieldset{
float:right;
}
#wikieditor-toolbar-table-dialog .wikieditor-toolbar-table-preview-wrapper{
width:330px;
padding:0;
float:right;
}
body.rtl #wikieditor-toolbar-table-dialog .wikieditor-toolbar-table-preview-wrap
per{
float:left;
}
body.rtl .wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-wrapper ta
ble{
margin-left:1em;
margin-right:0;
}
.wikieditor-toolbar-table-preview-content *{
cursor:default;
}
.wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-wrapper table{
width:100% !important;
}
.wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-content table td{
padding:10px 4px !important;
height:auto !important;
}
.wikiEditor-toolbar-dialog .wikieditor-toolbar-table-preview-content table th{
padding:7px 3px !important;
}
.wikieditor-toolbar-table-dimension-fields .wikieditor-toolbar-field-wrapper{
float:left;
margin-right:20px;
vertical-align:bottom;
}
body.rtl .wikieditor-toolbar-table-dimension-fields .wikieditor-toolbar-field-wr
apper{
float:right;
margin-right:0px;
margin-left:20px;
}
.wikiEditor-toolbar-dialog .ui-dialog-content{
padding:30px 20px 0 !important;
}
.wikieditor-toolbar-dialog-wrapper{
width:100%;
}
#wikieditor-toolbar-link-int-target-status{
float:right;
}
#wikieditor-toolbar-link-int-target,
#wikieditor-toolbar-link-int-text{
width:100%;
}
#wikieditor-toolbar-tool-link-int-target-label{
float:left;
line-height:1.7em;
}
#wikieditor-toolbar-link-int-target-status-loading{
line-height:1.7em;
}
#wikieditor-toolbar-link-int-target-status-exists,
#wikieditor-toolbar-link-int-target-status-notexists,
#wikieditor-toolbar-link-int-target-status-invalid,
#wikieditor-toolbar-link-int-target-status-external{
padding-left:30px;
background-position:0 50%;
background-repeat:no-repeat;
}
#wikieditor-toolbar-link-int-target-status-exists{
background-image:url( ../images/wikiEditor/dialogs/insert-link-exists.png?1);
}
#wikieditor-toolbar-link-int-target-status-notexists{
background-image:url( ../images/wikiEditor/dialogs/insert-link-notexists.png?1);
}
#wikieditor-toolbar-link-int-target-status-invalid{
background-image:url( ../images/wikiEditor/dialogs/insert-link-invalid.png?1);
}
#wikieditor-toolbar-link-int-target-status-external{
background-image:url( ../images/wikiEditor/dialogs/insert-link-external.png?1);
}
#wikieditor-toolbar-reference-dialog label{
float:left;
line-height:1.7em;
}
#wikieditor-toolbar-reference-text{
width:100%;
}
body.rtl .wikiEditor-toolbar-dialog .ui-dialog-buttonpane button{
float:left;
margin:0.5em 0.4em 0.5em 0 !important;
}
body.rtl .wikiEditor-toolbar-dialog .ui-dialog-titlebar-close{
left:0.9em;
right:auto;
}
body.rtl .wikiEditor-toolbar-dialog .ui-dialog-title{
float:right;
}
body.rtl #wikieditor-toolbar-link-int-target-status{
float:left;
}
body.rtl #wikieditor-toolbar-tool-link-int-target-label{
float:right;
}
body.rtl .wikieditor-toolbar-floated-field-wrapper{
float:right;
margin-right:0;
margin-left:2em;
}
body.rtl #wikieditor-toolbar-link-int-target-status-exists,
body.rtl #wikieditor-toolbar-link-int-target-status-notexists,
body.rtl #wikieditor-toolbar-link-int-target-status-invalid,
body.rtl #wikieditor-toolbar-link-int-target-status-external{
padding-left:0;
padding-right:30px;
background-position:100% 50%;
}
body.rtl #wikieditor-toolbar-link-int-target-status-external{
background-image:url( ../images/wikiEditor/dialogs/insert-link-external-rtl.png?
1);
}
body.rtl #wikieditor-toolbar-reference-dialog label{
float:right;
}
.wikiEditor-template-dialog-fields label{
text-transform:capitalize;
float:left;
width:25%;
line-height:2.25em;
}
.wikiEditor-template-dialog-fields textarea{
float:right;
width:70%;
line-height:1.5em;
height:1.5em;
}
.wikiEditor-template-dialog-fields .wikiEditor-template-dialog-field-wrapper{
padding:0.75em 0.33em;
border-bottom:dashed 1px silver;
clear:both;
}
.wikiEditor-template-dialog-fields .wikiEditor-template-dialog-field-wrapper:fir
st-child{
padding-top:0;
}
.wikiEditor-template-dialog-fields .wikiEditor-template-dialog-field-wrapper:las
t-child{
border-bottom:none;
}
.wikieditor-toolbar-table-dimension-fields:after,
.wikieditor-toolbar-dialog-wrapper:after{
visibility:hidden;
display:block;
font-size:0;
content:" ";
clear:both;
height:0;
}
.wikieditor-toolbar-table-dimension-fields,
.wikieditor-toolbar-dialog-wrapper{
display:inline-table;
}
* html .wikieditor-toolbar-table-dimension-fields,
* html .wikieditor-toolbar-dialog-wrapper{
height:1%;
}
.wikieditor-toolbar-table-dimension-fields,
.wikieditor-toolbar-dialog-wrapper{
display:block;
}
.wikiEditor-toolbar-dialog .ui-dialog-buttonpane{
border-top:1px solid #cccccc !important;
}
.wikiEditor-toolbar-dialog .ui-dialog-content{
padding-bottom:1em !important;
}
.wikiEditor-dialog-editoptions{
margin-top:15px;
}
.wikiEditor-publish-dialog-copywarn{
margin-top:0.5em;
}
.wikiEditor-publish-dialog-summary{
margin-top:1.5em;
}
.wikiEditor-publish-dialog-options{
margin-top:1.5em;
}
.wikiEditor-ui-toolbar{
position:relative;
width:100%;
}
.wikiEditor-ui-toolbar .sections{
float:left;
width:100%;
clear:both;
height:0;
}
body.rtl .wikiEditor-ui-toolbar .sections{
float:right;
}
.wikiEditor-ui-toolbar .sections .section{
display:none;
float:left;
width:100%;
border-top:solid 1px #DDDDDD;
background-color:#E0EEf7;
}
.wikiEditor-ui-toolbar{
background-image:url(../images/wikiEditor/toolbar/base.png?1);
background-position:left top;
background-repeat:repeat-x;
}
/*
.wikiEditor-ui-toolbar .toolbar{
background-image:url(../images/wikiEditor/toolbar/base.png?1);
background-position:left top;
}
*/
body.rtl .wikiEditor-ui-toolbar .sections .section{
float:right;
}
.wikiEditor-ui-toolbar .sections div .spinner{
display:none;
}
.wikiEditor-ui-toolbar .sections .loading .spinner{
display:block;
background-image:url(../images/wikiEditor/toolbar/loading.gif?2);
background-position:left center;
background-repeat:no-repeat;
padding-left:32px;
margin-left:0.5em;
height:32px;
float:left;
color:#666666;
}
body.rtl .wikiEditor-ui-toolbar .sections .loading .spinner{
background-position:right center;
padding-left:0;
padding-right:32px;
margin-left:0;
margin-right:0.5em;
float:right;
}
.wikiEditor-ui-toolbar .tabs,
.wikiEditor-ui-toolbar .section-main{
position:relative;
float:left;
height:26px;
}
body.rtl .wikiEditor-ui-toolbar .tabs,
body.rtl .wikiEditor-ui-toolbar .section-main{
float:right;
}
.wikiEditor-ui-toolbar .group{
float:left;
height:26px;
padding-right:6px;
border-right:solid 1px #DDDDDD;
margin:3px;
}
body.rtl .wikiEditor-ui-toolbar .group{
float:right;
padding-right:0;
padding-left:6px;
border-right:none;
border-left:solid 1px #DDDDDD;
}
.wikiEditor-ui-toolbar .group-search{
float:right;
padding:0 0 0 6px;
border-right:none;
border-left:1px solid #DDDDDD;
}
.wikiEditor-ui-toolbar .group-insert{
border-right:none;
}
body.rtl .wikiEditor-ui-toolbar .group-search{
float:left;
padding:0 6px 0 0;
border-left:none;
border-right:1px solid #DDDDDD;
}
body.rtl .wikiEditor-ui-toolbar .group-insert{
border-left:none;
}
.wikiEditor-toolbar-spritedButton{
background:url(../images/wikiEditor/toolbar/button-sprite.png?1) 0 0 no-repeat;
display:block;
float:left;
height:22px;
text-indent:-9999px;
width:22px;
padding:2px;
cursor:pointer;
overflow:hidden;
}
.wikiEditor-ui-toolbar .tabs{
list-style:none;
margin:3px;
}
.wikiEditor-ui-toolbar .tabs span.tab{
display:inline-block;
float:left;
line-height:26px;
}
.wikiEditor-ui-toolbar .tabs > span.tab{
display:block;
}
body.rtl .wikiEditor-ui-toolbar .tabs > span.tab{
float:right;
}
.wikiEditor-ui-toolbar .tabs span.tab a,
.wikiEditor-ui-toolbar .tabs span.tab a:visited{
display:inline-block;
float:left;
padding-left:18px;
padding-right:12px;
height:26px;
cursor:pointer;
color:#0645ad;
background-image:url(../images/wikiEditor/toolbar/arrow-right.png?1);
background-position:left center;
background-repeat:no-repeat;
}
body.rtl .wikiEditor-ui-toolbar .tabs span.tab a,
body.rtl .wikiEditor-ui-toolbar .tabs span.tab a:visited{
padding-left:12px;
padding-right:18px;
background-image:url(../images/wikiEditor/toolbar/arrow-left.png?1);
background-position:right center;
}
body.rtl .wikiEditor-ui-toolbar .tabs > span.tab > a,
body.rtl .wikiEditor-ui-toolbar .tabs > pan.tab > a:visited{
float:right;
}
.wikiEditor-ui-toolbar .tabs span.tab a.current,
.wikiEditor-ui-toolbar .tabs span.tab a.current:visited{
color:#333333;
background-image:url(../images/wikiEditor/toolbar/arrow-down.png?1);
}
body.rtl .wikiEditor-ui-toolbar .tabs span.tab a.current,
body.rtl .wikiEditor-ui-toolbar .tabs span.tab a.current:visited{
background-image:url(../images/wikiEditor/toolbar/arrow-down.png?1);
}
.wikiEditor-ui-toolbar .tabs span.tab a.current:hover{
text-decoration:none;
}
.wikiEditor-ui-toolbar .tabs span.tab a.loading{
background-image:url(../images/wikiEditor/toolbar/loading-small.gif?1) !importan
t;
}
.wikiEditor-ui-toolbar .group .label{
float:left;
border:0px;
height:22px;
line-height:22px;
margin:2px;
margin-left:5px;
margin-right:8px;
color:#777777;
cursor:default;
}
body.rtl .wikiEditor-ui-toolbar .group > .label{
float:right;
margin-left:8px;
margin-right:5px;
}
.wikiEditor-ui-toolbar .group img.tool{
float:left;
border:0px;
height:22px;
width:22px;
padding:2px;
cursor:pointer;
}
body.rtl .wikiEditor-ui-toolbar .group > img.tool{
float:right;
}
.wikiEditor-ui-toolbar .group .tool-select{
float:left;
margin:2px;
height:22px;
cursor:pointer;
border:solid 1px silver;
padding:0;
margin-right:0;
cursor:pointer;
background-color:#ffffff;
}
body.rtl .wikiEditor-ui-toolbar .group > .tool-select{
float:right;
}
.wikiEditor-ui-toolbar .group .tool-select .label{
background-image:url(../images/wikiEditor/toolbar/arrow-down.png?1);
background-position:center right;
background-repeat:no-repeat;
padding:0;
margin:0;
padding-left:4px;
padding-right:22px;
margin-right:4px;
cursor:pointer;
text-decoration:none;
color:#333333;
}
body.rtl .wikiEditor-ui-toolbar .group .tool-select .label{
background-position:center left;
padding-right:4px;
padding-left:22px;
margin-left:4px;
margin-right:0;
}
body.rtl .wikiEditor-ui-toolbar .group .tool-select .menu{
clear:both;
}
.wikiEditor-ui-toolbar .group .tool-select .menu .options{
position:absolute;
display:none;
margin-left:-1px;
border:solid 1px silver;
background-color:#ffffff;
}
body.rtl .wikiEditor-ui-toolbar .group .tool-select .menu{
margin-left:-1px;
margin-right:-1px;
}
.wikiEditor-ui-toolbar .group .tool-select .options {
margin-top:22px;
}
.wikiEditor-ui-toolbar .group .tool-select .options .option{
display:block;
padding:0.5em;
text-decoration:none;
color:black;
white-space:nowrap;
}
.wikiEditor-ui-toolbar .group .tool-select .options .option:hover{
background-color:#E0EEf7;
}
.wikiEditor-ui-toolbar .group .tool-select .options .option[rel=heading-2]{
font-size:150%;
font-weight:normal;
}
.wikiEditor-ui-toolbar .group .tool-select .options .option[rel=heading-3]{
font-size:132%;
font-weight:normal;
}
.wikiEditor-ui-toolbar .group .tool-select .options .option[rel=heading-4]{
font-size:116%;
font-weight:normal;
}
.wikiEditor-ui-toolbar .group .tool-select .options .option[rel=heading-5]{
font-size:100%;
font-weight:bold;
}
.wikiEditor-ui-toolbar .booklet .index{
float:left;
width:20%;
height:125px;
overflow:auto;
}
body.rtl .wikiEditor-ui-toolbar .booklet .index{
float:right;
}
.wikiEditor-ui-toolbar .booklet .index div{
padding:4px;
padding-left:6px;
cursor:pointer;
color:#0645ad;
}
body.rtl .wikiEditor-ui-toolbar .booklet .index div{
padding-left:4px;
padding-right:6px;
}
.wikiEditor-ui-toolbar .booklet .index .current{
background-color:#FAFAFA;
color:#333333;
cursor:default;
}
.wikiEditor-ui-toolbar .booklet .pages{
float:right;
width:80%;
height:125px;
overflow:auto;
background-color:#FAFAFA;
}
body.rtl .wikiEditor-ui-toolbar .booklet .pages{
float:left;
}
.wikiEditor-ui-toolbar .page-table table{
padding-left:5px;
padding-right:5px;
background:none;
}
.wikiEditor-ui-toolbar .page-table th{
color:#999999;
}
.wikiEditor-ui-toolbar .page-table td{
color:black;
border-top:solid 1px #EEEEEE;
}
.wikiEditor-ui-toolbar .page-table th,
.wikiEditor-ui-toolbar .page-table td{
text-align:left;
padding:5px;
margin:0px;
}
body.rtl .wikiEditor-ui-toolbar .page-table th,
body.rtl .wikiEditor-ui-toolbar .page-table td{
text-align:right;
}
.wikiEditor-ui-toolbar .section-help .page-table td.cell-syntax,
.wikiEditor-ui-toolbar .section-help .page-table td.syntax{
font-family:monospace;
}
.wikiEditor-ui-toolbar .section-help .page-table td.syntax,
.wikiEditor-ui-toolbar .section-help .page-table td.cell-syntax,
.wikiEditor-ui-toolbar .section-help .page-table td.cell-result,
.wikiEditor-ui-toolbar .section-help .page-table td.result{
width:40%;
}
.wikiEditor-ui-toolbar .section-help .page-table td.description,
.wikiEditor-ui-toolbar .section-help .page-table td.description{
width:20%;
}
.wikiEditor-ui-toolbar .page-characters div span{
border:solid 1px #DDDDDD;
padding:5px;
padding-left:8px;
padding-right:8px;
margin-left:5px;
margin-top:5px;
height:1em;
float:left;
display:block;
color:black;
text-decoration:none;
cursor:pointer;
font-family:monospace;
font-size:1.25em;
}
body.rtl .wikiEditor-ui-toolbar .page-characters > div > span,
.wikiEditor-ui-toolbar .page-characters div[dir=rtl] span{
direction:rtl;
float:right;
margin-left:0;
margin-right:5px;
}
.wikiEditor-ui-toolbar .page-characters div span:hover{
background-color:white;
text-decoration:none;
border-color:#a8d7f9;
}
.ui-widget table td.wikieditor-toolbar-table-preview-wrapper span{
padding:4px 6px 0px;
display:block;
}
.ui-widget table .wikieditor-toolbar-table-preview-frame{
width:340px;
background:#fff;
padding:10px;
overflow:hidden;
display:block;
position:relative;
}
.ui-widget table .wikieditor-toolbar-table-preview-content{
width:375px;
display:block;
}
.ui-widget table .wikieditor-toolbar-table-preview{
width:340px;
}
.ui-widget table td.wikieditor-toolbar-table-preview-wrapper{
background:#e5e5e5;
padding:10px;
}
.wikiEditor-preview-loading{
padding:1em;
background-color:white;
}
.wikiEditor-preview-loading span{
color:#666666;
}
.wikiEditor-preview-spinner{
padding-right:1em;
}
.wikiEditor-preview-contents{
padding:1em;
background-color:white;
}
#wikiEditor-0-preview-dialog .wikiEditor-ui-loading{
overflow:hidden;
border:none;
}
.ui-dialog .ui-dialog-buttonpane{
margin:0 !important;
}
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=jquery-ui-1.7.2.css
Content-Type: text/css; name=jquery-ui-1.7.2.css
Content-Location: http://bits.wikimedia.org/w/extensions/UsabilityInitiative/css
/vector/jquery-ui-1.7.2.css?1.7.2y
Content-Transfer-Encoding: Quoted-Printable
/*
* jQuery UI CSS Framework
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt=
) licenses.
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-he=
ight: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; cle=
ar: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: =
absolute; opacity: 0; filter:Alpha(Opacity=3D0); }

/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; back=
ground-repeat: no-repeat; }

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; h=
eight: 100%; }

/*
* jQuery UI CSS Framework
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt=
) licenses.
* To view and modify this theme, visit http://jqueryui.com/themeroller/?=
ffDefault=3Dsans-serif&fwDefault=3Dnormal&fsDefault=3D1em&cornerRadius=3D=
0&bgColorHeader=3De2eef6&bgTextureHeader=3D04_highlight_hard.png&bgImgOp=
acityHeader=3D100&borderColorHeader=3Dc0c0c0&fcHeader=3D333333&iconColor=
Header=3D333333&bgColorContent=3Dffffff&bgTextureContent=3D01_flat.png&b=
gImgOpacityContent=3D100&borderColorContent=3Dc0c0c0&fcContent=3D000000&=
iconColorContent=3D000000&bgColorDefault=3De2eef6&bgTextureDefault=3D04_=
highlight_hard.png&bgImgOpacityDefault=3D100&borderColorDefault=3Dc0c0c0=
&fcDefault=3D333333&iconColorDefault=3D333333&bgColorHover=3Dffffff&bgTe=
xtureHover=3D04_highlight_hard.png&bgImgOpacityHover=3D100&borderColorHo=
ver=3Dc0c0c0&fcHover=3D333333&iconColorHover=3D333333&bgColorActive=3Dff=
ffff&bgTextureActive=3D01_flat.png&bgImgOpacityActive=3D100&borderColorA=
ctive=3Dc0c0c0&fcActive=3D333333&iconColorActive=3D333333&bgColorHighlig=
ht=3Dfbf9ee&bgTextureHighlight=3D04_highlight_hard.png&bgImgOpacityHighl=
ight=3D55&borderColorHighlight=3Dfcefa1&fcHighlight=3D363636&iconColorHi=
ghlight=3D2e83ff&bgColorError=3Dfef1ec&bgTextureError=3D05_inset_soft.pn=
g&bgImgOpacityError=3D95&borderColorError=3Dcd0a0a&fcError=3Dcd0a0a&icon=
ColorError=3Dcd0a0a&bgColorOverlay=3D000000&bgTextureOverlay=3D01_flat.p=
ng&bgImgOpacityOverlay=3D0&opacityOverlay=3D75&bgColorShadow=3D000000&bg=
TextureShadow=3D01_flat.png&bgImgOpacityShadow=3D0&opacityShadow=3D30&th=
icknessShadow=3D8px&offsetTopShadow=3D-8px&offsetLeftShadow=3D-8px&corne=
rRadiusShadow=3D8px
*/

/* Component containers
----------------------------------*/
.ui-widget { font-family: sans-serif; font-size: 0.9em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget but=
ton { font-family: sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #c0c0c0; background: #ffffff url(=
images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x; color: #00000=
0; }
.ui-widget-content a { color: #000000; }
.ui-widget-header { border-bottom: 1px solid #c0c0c0; line-height: 1em; =
background: #e2eef6 url(images/ui-bg_highlight-hard_100_e2eef6_1x100.png=
) 50% 50% repeat-x; color: #333333; font-weight: bold; }
.ui-widget-header a { color: #333333; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px so=
lid #c0c0c0; background: #e2eef6 url(images/ui-bg_highlight-hard_100_e2e=
ef6_1x100.png) 50% 50% repeat-x; font-weight: normal; color: #333333; ou=
tline: none; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visit=
ed { color: #333333; text-decoration: none; outline: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .u=
i-widget-content .ui-state-focus { border: 1px solid #c0c0c0; background=
: #ffffff url(images/ui-bg_highlight-hard_100_ffffff_1x100.png) 50% 50% =
repeat-x; font-weight: normal; color: #333333; outline: none; }
.ui-state-hover a, .ui-state-hover a:hover { color: #333333; text-decora=
tion: none; outline: none; }
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px soli=
d #c0c0c0; background: #ffffff url(images/ui-bg_flat_100_ffffff_40x100.p=
ng) 50% 50% repeat-x; font-weight: normal; color: #333333; outline: none=
; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited =
{ color: #333333; outline: none; text-decoration: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px=
solid #fcefa1; background: #fbf9ee url(images/ui-bg_highlight-hard_55_f=
bf9ee_1x100.png) 50% top repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color:=
#363636; }
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #=
cd0a0a; background: #fef1ec url(images/ui-bg_inset-soft_95_fef1ec_1x100.=
png) 50% bottom repeat-x; color: #cd0a0a; }
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a=
; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #=
cd0a0a; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35=
; filter:Alpha(Opacity=3D35); background-image: none; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-wei=
ght: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opac=
ity: .7; filter:Alpha(Opacity=3D70); font-weight: normal; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-ic=
ons_000000_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_00000=
0_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_333333=
_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_33333=
3_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: ur=
l(images/ui-icons_333333_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_333333_=
256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83=
ff_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-imag=
e: url(images/ui-icons_cd0a0a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-tl { -moz-border-radius-topleft: 0; -webkit-border-top-left-r=
adius: 0; }
.ui-corner-tr { -moz-border-radius-topright: 0; -webkit-border-top-right=
-radius: 0; }
.ui-corner-bl { -moz-border-radius-bottomleft: 0; -webkit-border-bottom-=
left-radius: 0; }
.ui-corner-br { -moz-border-radius-bottomright: 0; -webkit-border-bottom=
-right-radius: 0; }
.ui-corner-top { -moz-border-radius-topleft: 0; -webkit-border-top-left-=
radius: 0; -moz-border-radius-topright: 0; -webkit-border-top-right-radi=
us: 0; }
.ui-corner-bottom { -moz-border-radius-bottomleft: 0; -webkit-border-bot=
tom-left-radius: 0; -moz-border-radius-bottomright: 0; -webkit-border-bo=
ttom-right-radius: 0; }
.ui-corner-right { -moz-border-radius-topright: 0; -webkit-border-top-r=
ight-radius: 0; -moz-border-radius-bottomright: 0; -webkit-border-bottom=
-right-radius: 0; }
.ui-corner-left { -moz-border-radius-topleft: 0; -webkit-border-top-left=
-radius: 0; -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left=
-radius: 0; }
.ui-corner-all { -moz-border-radius: 0; -webkit-border-radius: 0; }
/* Overlays */
.ui-widget-overlay { background: #000000 url(images/ui-bg_flat_0_000000_=
40x100.png) 50% 50% repeat-x; opacity: .75;filter:Alpha(Opacity=3D75); }=
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #00=
0000 url(images/ui-bg_flat_0_000000_40x100.png) 50% 50% repeat-x; opacit=
y: .30;filter:Alpha(Opacity=3D30); -moz-border-radius: 8px; -webkit-bord=
er-radius: 8px; }/* Accordion
----------------------------------*/
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative=
; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important;=
}
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; p=
adding: .5em .5em .5em 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: =
.5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0;=
margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; ove=
rflow: auto; display: none; }
.ui-accordion .ui-accordion-content-active { display: block; }/* Datepic=
ker
----------------------------------*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0=
; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {=
position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-=
next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-n=
ext span { display: block; position: absolute; left: 50%; margin-left: -=
8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8e=
m; text-align: center; }
.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; =
margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month, =
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: r=
ight; }
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: col=
lapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight:=
bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .=
2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margi=
n: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-b=
ottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: =
.5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:aut=
o; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { =
float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 au=
to .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { b=
order-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {=
border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }=
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }=
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-curren=
t { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { bor=
der-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { b=
order-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/* Dialog
----------------------------------*/
.ui-dialog { position: relative; padding: 0; width: 300px; }
.ui-dialog .ui-dialog-titlebar { padding: .75em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: 0; } =
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .75em;=
top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px;=
}
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px;=
}
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titleb=
ar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background=
: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0=
0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em=
.4em; }
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4e=
m .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.=
4em; width:auto; overflow:visible; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bot=
tom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/* Progressbar
----------------------------------*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Re=
sizable
----------------------------------*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 9999=
9; display: block;}
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-=
resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px;=
left: 0px; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5=
px; left: 0px; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; h=
eight: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; he=
ight: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: =
1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5p=
x; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5p=
x; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5=
px; top: -5px;}/* Slider
----------------------------------*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.=
2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size:=
.7em; display: block; border: 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em=
; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; mar=
gin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
----------------------------------*/
.ui-tabs { padding: .2em; zoom: 1; }
.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .=
2em .2em 0; }
.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-botto=
m-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding=
: .5em 1em; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-=
bottom-width: 0; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui=
-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { curs=
or: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li=
.ui-tabs-selected a { cursor: pointer; } /* first selector in group seem=
s obsolete, but required to overcome bug in Opera applying cursor: text =
overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-wid=
th: 0; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-
file_acrobat.gif
Content-Transfer-Encoding: Base64
R0lGODlhEAAQAMQfAOmNjMfHx9UqJ3Fvb9hoZqmpqbe3t96pqPn4+IeHh9ra2qRS
UOXl5dtFQ9i2turq6uDg4NTT0+7u7uzMy/DX15OTk9/Ew99+fa89PN+Yl/Hp6eLi
4vPz8/v7+////////yH5BAEAAB8ALAAAAAAQABAAAAWgoCeO5PidHhOtQWC8Reyh
EdLdOB5Usxd1HARnSOy0eD4gkUO5UHAJUaAjqVYBl8zjgYh6pg/J9mFpZBiMrsjQ
GaMZDQsEovYYEI/3hiEQWBQcA2scaBtzBxkZcRoDCB4FhBuGEBcOCg19GBePHJJz
CgQEDQQZBxgAjwiTChcNlSuBIhVpHBMNDRRiDxwKgo8JFQkCGAsJA8fHXiQAuCUj
IQA7
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=UTF-8; name=index.css
Content-Location: http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.css
&usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
/* <source lang="css"> */
/* Main page fixes */
#interwiki-completelist {
font-weight: bold;
}
body.page-Main_Page #ca-delete {
display: none !important;
}
body.page-Main_Page #mp-topbanner {
clear: both;
}
/* Edit window toolbar */
#toolbar {
height: 22px;
margin-bottom: 6px;
}
/* Margins for <ol> and <ul> */
#content ol, #content ul,
#mw_content ol, #mw_content ul {
margin-bottom: 0.5em;
}
/* Make the list of references in [[Template:Reflist]] smaller */
.references-small {
font-size: 90%;
}
/* Highlight clicked reference in blue to help navigation */
ol.references > li:target,
sup.reference:target,
span.citation:target {
background-color: #DEF;
}
/* Ensure refs in table headers and the like aren't bold or italic */
sup.reference {
font-weight: normal;
font-style: normal;
}

/* Styling for citations */


span.citation, cite {
font-style: normal;
word-wrap: break-word;
}
/* For linked citation numbers and document IDs, where
the number need not be shown on a screen or a handheld,
but should be included in the printed version
*/
@media screen, handheld {
span.citation *.printonly {
display: none;
}
}
/* Default skin for navigation boxes */
table.navbox { /* Navbox container style */
border: 1px solid #aaa;
width: 100%;
margin: auto;
clear: both;
font-size: 88%;
text-align: center;
padding: 1px;
}
table.navbox + table.navbox { /* Single pixel border between adjacent navboxes
*/
margin-top: -1px; /* (doesn't work for IE6, but that's okay)
*/
}
.navbox-title,
.navbox-abovebelow,
table.navbox th {
text-align: center; /* Title and above/below styles */
padding-left: 1em;
padding-right: 1em;
}
.navbox-group { /* Group style */
white-space: nowrap;
text-align: right;
font-weight: bold;
padding-left: 1em;
padding-right: 1em;
}
.navbox, .navbox-subgroup {
background: #fdfdfd; /* Background color */
}
.navbox-list {
border-color: #fdfdfd; /* Must match background color */
}
.navbox-title,
table.navbox th {
background: #ccccff; /* Level 1 color */
}
.navbox-abovebelow,
.navbox-group,
.navbox-subgroup .navbox-title {
background: #ddddff; /* Level 2 color */
}
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow {
background: #e6e6ff; /* Level 3 color */
}
.navbox-even {
background: #f7f7f7; /* Even row striping */
}
.navbox-odd {
background: transparent; /* Odd row striping */
}
.collapseButton { /* 'show'/'hide' buttons created dynamically */
float: right; /* by the CollapsibleTables javascript in */
font-weight: normal; /* [[MediaWiki:Common.js]]are styled here */
text-align: right; /* so they can be customised. */
width: auto;
}
.navbox .collapseButton { /* In navboxes, the show/hide button balances */
width: 6em; /* the vde links from [[Template:Tnavbar]], */
} /* so they need to be the same width. */

/* Infobox template style */


.infobox {
border: 1px solid #aaa;
background-color: #f9f9f9;
color: black;
margin: 0.5em 0 0.5em 1em;
padding: 0.2em;
float: right;
clear: right;
}
.infobox td,
.infobox th {
vertical-align: top;
}
.infobox caption {
font-size: larger;
}
.infobox.bordered {
border-collapse: collapse;
}
.infobox.bordered td,
.infobox.bordered th {
border: 1px solid #aaa;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
border: 0;
}
.infobox.sisterproject {
width: 20em;
font-size: 90%;
}
.infobox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
}
.infobox.standard-talk.bordered td,
.infobox.standard-talk.bordered th {
border: 1px solid #c0c090;
}
/* styles for bordered infobox with merged rows */
.infobox.bordered .mergedtoprow td,
.infobox.bordered .mergedtoprow th {
border: 0;
border-top: 1px solid #aaa;
border-right: 1px solid #aaa;
}
.infobox.bordered .mergedrow td,
.infobox.bordered .mergedrow th {
border: 0;
border-right: 1px solid #aaa;
}
/* Styles for geography infoboxes, eg countries,
country subdivisions, cities, etc. */
.infobox.geography {
text-align: left;
border-collapse: collapse;
line-height: 1.2em;
font-size: 90%;
}
.infobox.geography td,
.infobox.geography th {
border-top: solid 1px #aaa;
padding: 0.4em 0.6em 0.4em 0.6em;
}
.infobox.geography .mergedtoprow td,
.infobox.geography .mergedtoprow th {
border-top: solid 1px #aaa;
padding: 0.4em 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedrow td,
.infobox.geography .mergedrow th {
border: 0;
padding: 0 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedbottomrow td,
.infobox.geography .mergedbottomrow th {
border-top: 0;
border-bottom: solid 1px #aaa;
padding: 0 0.6em 0.4em 0.6em;
}
.infobox.geography .maptable td,
.infobox.geography .maptable th {
border: 0;
padding: 0;
}
/* Makes redirects appear in italics in categories and on [[Special:Allpages]] *
/
.redirect-in-category, .allpagesredirect {
font-style: italic;
}
/* Icons for medialist templates [[Template:Listen]],
[[Template:Multi-listen_start]], [[Template:Video]],
[[Template:Multi-video_start]]
*/
div.listenlist {
background:
url("http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gnome-spea
kernotes.png/30px-Gnome-speakernotes.png");
padding-left: 40px;
}
/* Style rules for media list templates */
div.medialist {
min-height: 50px;
margin: 1em;
background-position: top left;
background-repeat: no-repeat;
}
div.medialist ul {
list-style-type: none;
list-style-image: none;
margin: 0;
}
div.medialist ul li {
padding-bottom: 0.5em;
}
div.medialist ul li li {
font-size: 91%;
padding-bottom: 0;
}
/* Change the external link icon to an Adobe icon for all PDF files
in browsers that support these CSS selectors, like Mozilla and Opera */
#content a[href$=".pdf"].external,
#content a[href*=".pdf?"].external,
#content a[href*=".pdf#"].external,
#content a[href$=".PDF"].external,
#content a[href*=".PDF?"].external,
#content a[href*=".PDF#"].external,
#mw_content a[href$=".pdf"].external,
#mw_content a[href*=".pdf?"].external,
#mw_content a[href*=".pdf#"].external,
#mw_content a[href$=".PDF"].external,
#mw_content a[href*=".PDF?"].external,
#mw_content a[href*=".PDF#"].external {
background: url("http://upload.wikimedia.org/wikipedia/commons/2/23/Icons-mi
ni-file_acrobat.gif") center right no-repeat;
padding-right: 16px;
}
/* Change the external link icon to an Adobe icon anywhere the PDFlink class
is used (notably Template:PDFlink). This works in IE, unlike the above. */
#content span.PDFlink a,
#mw_content span.PDFlink a {
background: url("http://upload.wikimedia.org/wikipedia/commons/2/23/Icons-mi
ni-file_acrobat.gif") center right no-repeat;
padding-right: 17px;
}
/* Content in columns with CSS instead of tables [[Template:Columns]] */
div.columns-2 div.column {
float: left;
width: 50%;
min-width: 300px;
}
div.columns-3 div.column {
float: left;
width: 33.3%;
min-width: 200px;
}
div.columns-4 div.column {
float: left;
width: 25%;
min-width: 150px;
}
div.columns-5 div.column {
float: left;
width: 20%;
min-width: 120px;
}
/* Messagebox templates */
.messagebox {
border: 1px solid #aaa;
background-color: #f9f9f9;
width: 80%;
margin: 0 auto 1em auto;
padding: .2em;
}
.messagebox.merge {
border: 1px solid #c0b8cc;
background-color: #f0e5ff;
text-align: center;
}
.messagebox.cleanup {
border: 1px solid #9f9fff;
background-color: #efefff;
text-align: center;
}
.messagebox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
margin: 4px auto;
}
/* For old WikiProject banners inside banner shells. */
.mbox-inside .standard-talk,
.messagebox.nested-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
width: 100%;
margin: 2px 0;
padding: 2px;
}
.messagebox.small {
width: 238px;
font-size: 85%;
float: right;
clear: both;
margin: 0 0 1em 1em;
line-height: 1.25em;
}
.messagebox.small-talk {
width: 238px;
font-size: 85%;
float: right;
clear: both;
margin: 0 0 1em 1em;
line-height: 1.25em;
background: #F8EABA;
}

/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */


th.mbox-text, td.mbox-text { /* The message body cell(s) */
border: none;
padding: 0.25em 0.9em; /* 0.9em left/right */
width: 100%; /* Make all mboxes the same width regardless of text length
*/
}
td.mbox-image { /* The left image cell */
border: none;
padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */
text-align: center;
}
td.mbox-imageright { /* The right image cell */
border: none;
padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */
text-align: center;
}
td.mbox-empty-cell { /* An empty narrow cell */
border: none;
padding: 0px;
width: 1px;
}
/* Article message box styles */
table.ambox {
margin: 0px 10%; /* 10% = Will not overlap with other elements */
border: 1px solid #aaa;
border-left: 10px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
table.ambox + table.ambox { /* Single border between stacked boxes. */
margin-top: -1px;
}
.ambox th.mbox-text,
.ambox td.mbox-text { /* The message body cell(s) */
padding: 0.25em 0.5em; /* 0.5em left/right */
}
.ambox td.mbox-image { /* The left image cell */
padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */
}
.ambox td.mbox-imageright { /* The right image cell */
padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */
}
table.ambox-notice {
border-left: 10px solid #1e90ff; /* Blue */
}
table.ambox-speedy {
border-left: 10px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ambox-delete {
border-left: 10px solid #b22222; /* Red */
}
table.ambox-content {
border-left: 10px solid #f28500; /* Orange */
}
table.ambox-style {
border-left: 10px solid #f4c430; /* Yellow */
}
table.ambox-move {
border-left: 10px solid #9932cc; /* Purple */
}
table.ambox-protection {
border-left: 10px solid #bba; /* Gray-gold */
}
/* Image message box styles */
table.imbox {
margin: 4px 10%;
border-collapse: collapse;
border: 3px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
.imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */
margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */
}
.mbox-inside .imbox { /* For imboxes inside other templates. */
margin: 4px;
}
table.imbox-notice {
border: 3px solid #1e90ff; /* Blue */
}
table.imbox-speedy {
border: 3px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.imbox-delete {
border: 3px solid #b22222; /* Red */
}
table.imbox-content {
border: 3px solid #f28500; /* Orange */
}
table.imbox-style {
border: 3px solid #f4c430; /* Yellow */
}
table.imbox-move {
border: 3px solid #9932cc; /* Purple */
}
table.imbox-protection {
border: 3px solid #bba; /* Gray-gold */
}
table.imbox-license {
border: 3px solid #88a; /* Dark gray */
background: #f7f8ff; /* Light gray */
}
table.imbox-featured {
border: 3px solid #cba135; /* Brown-gold */
}
/* Category message box styles */
table.cmbox {
margin: 3px 10%;
border-collapse: collapse;
border: 1px solid #aaa;
background: #DFE8FF; /* Default "notice" blue */
}
table.cmbox-notice {
background: #D8E8FF; /* Blue */
}
table.cmbox-speedy {
margin-top: 4px;
margin-bottom: 4px;
border: 4px solid #b22222; /* Red */
background: #FFDBDB; /* Pink */
}
table.cmbox-delete {
background: #FFDBDB; /* Red */
}
table.cmbox-content {
background: #FFE7CE; /* Orange */
}
table.cmbox-style {
background: #FFF9DB; /* Yellow */
}
table.cmbox-move {
background: #E4D8FF; /* Purple */
}
table.cmbox-protection {
background: #EFEFE1; /* Gray-gold */
}
/* Other pages message box styles */
table.ombox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #aaa; /* Default "notice" gray */
background: #f9f9f9;
}
table.ombox-notice {
border: 1px solid #aaa; /* Gray */
}
table.ombox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ombox-delete {
border: 2px solid #b22222; /* Red */
}
table.ombox-content {
border: 1px solid #f28500; /* Orange */
}
table.ombox-style {
border: 1px solid #f4c430; /* Yellow */
}
table.ombox-move {
border: 1px solid #9932cc; /* Purple */
}
table.ombox-protection {
border: 2px solid #bba; /* Gray-gold */
}

/* Talk page message box styles */


table.tmbox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #c0c090; /* Default "notice" gray-brown */
background: #f8eaba;
}
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "med
iawiki" */
margin: 2px 0; /* class ensures that this declaration override
s other */
width: 100%; /* For Safari and Opera */ /* styles (including mbox-small
above) */
}
.mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */
line-height: 1.5em; /* also "nested", so reset styles that are */
font-size: 100%; /* set in "mbox-small" above. */
}
table.tmbox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.tmbox-delete {
border: 2px solid #b22222; /* Red */
}
table.tmbox-content {
border: 2px solid #f28500; /* Orange */
}
table.tmbox-style {
border: 2px solid #f4c430; /* Yellow */
}
table.tmbox-move {
border: 2px solid #9932cc; /* Purple */
}
table.tmbox-protection,
table.tmbox-notice {
border: 1px solid #c0c090; /* Gray-brown */
}
/* Disambig and set index box styles */
table.dmbox {
clear: both;
margin: 0.9em 1em;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
background: transparent;
}
/* Footer and header message box styles */
table.fmbox {
clear: both;
margin: 0.2em 0;
width: 100%;
border: 1px solid #aaa;
background: #f9f9f9; /* Default "system" gray */
}
table.fmbox-system {
background: #f9f9f9;
}
table.fmbox-warning {
border: 1px solid #bb7070; /* Dark pink */
background: #ffdbdb; /* Pink */
}
table.fmbox-editnotice {
background: transparent;
}
/* Div based "warning" style fmbox messages. */
div.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning,
div#mw-protect-cascadeon {
clear: both;
margin: 0.2em 0;
border: 1px solid #bb7070;
background: #ffdbdb;
padding: 0.25em 0.9em;
}
/* Div based "system" style fmbox messages.
Used in [[MediaWiki:Readonly lag]]. */
div.mw-lag-warn-normal,
div.fmbox-system {
clear: both;
margin: 0.2em 0;
border: 1px solid #aaa;
background: #f9f9f9;
padding: 0.25em 0.9em;
}
/* These mbox-small classes must be placed after all other
ambox/tmbox/ombox etc classes. "body.mediawiki" is so
they override "table.ambox + table.ambox" above. */
body.mediawiki table.mbox-small { /* For the "small=yes" option. */
clear: right;
float: right;
margin: 4px 0 4px 1em;
width: 238px;
font-size: 88%;
line-height: 1.25em;
}
body.mediawiki table.mbox-small-left { /* For the "small=left" option. */
margin: 4px 1em 4px 0;
width: 238px;
border-collapse: collapse;
font-size: 88%;
line-height: 1.25em;
}

/* Remove default styles for [[MediaWiki:Noarticletext]]. */


div.noarticletext {
border: none;
background: transparent;
padding: 0;
}
#wpSave {
font-weight: bold;
}
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */
.hiddenStructure {
display: inline ! important;
color: #f00;
background-color: #0f0;
}
/* suppress missing interwiki image links where #ifexist cannot
be used due to high number of requests see .hidden-redlink on
http://meta.wikimedia.org/wiki/MediaWiki:Common.css
*/
.check-icon a.new {
display: none;
speak: none;
}
/* Removes underlines from links */
.nounderlines a {
text-decoration: none;
}
/* Remove underline from IPA links */
.IPA a:link, .IPA a:visited {
text-decoration: none;
}
/* Standard Navigationsleisten, aka box hiding thingy
from .de. Documentation at [[Wikipedia:NavFrame]]. */
div.NavFrame {
margin: 0;
padding: 4px;
border: 1px solid #aaa;
text-align: center;
border-collapse: collapse;
font-size: 95%;
}
div.NavFrame + div.NavFrame {
border-top-style: none;
border-top-style: hidden;
}
div.NavPic {
background-color: #fff;
margin: 0;
padding: 2px;
float: left;
}
div.NavFrame div.NavHead {
height: 1.6em;
font-weight: bold;
background-color: #ccf;
position: relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
font-size: 100%;
}
div.NavEnd {
margin: 0;
padding: 0;
line-height: 1px;
clear: both;
}
a.NavToggle {
position: absolute;
top: 0;
right: 3px;
font-weight: normal;
font-size: 90%;
}
/* Hatnotes and disambiguation notices */
.rellink,
.dablink {
font-style: italic;
padding-left: 2em;
margin-bottom: 0.5em;
}
.rellink i,
.dablink i {
font-style: normal;
}
/* Style for horizontal UL lists */
.horizontal ul {
padding: 0;
margin: 0;
}
.horizontal li {
padding: 0 0.6em 0 0.4em;
display: inline;
border-right: 1px solid;
}
.horizontal li:last-child {
border-right: none;
padding-right: 0;
}
/* Allow transcluded pages to display in lists rather than a table.
Compatible in Firefox; incompatible in IE6. */
.listify td { display: list-item; }
.listify tr { display: block; }
.listify table { display: block; }
/* Geographical coordinates defaults. See [[Template:Coord/link]]
for how these are used. The classes "geo", "longitude", and
"latitude" are used by the [[Geo microformat]].
*/
.geo-default, .geo-dms, .geo-dec { display: inline; }
.geo-nondefault, .geo-multi-punct { display: none; }
.longitude, .latitude { white-space: nowrap; }
/* When <div class="nonumtoc"> is used on the table of contents,
the ToC will display without numbers */
.nonumtoc .tocnumber { display: none; }
.nonumtoc #toc ul,
.nonumtoc .toc ul {
line-height: 1.5em;
list-style: none;
margin: .3em 0 0;
padding: 0;
}
.nonumtoc #toc ul ul,
.nonumtoc .toc ul ul {
margin: 0 0 0 2em;
}
/* Allow limiting of which header levels are shown in a TOC;
<div class="toclimit-3">, for instance, will limit to
showing ==headings== and ===headings=== but no further
(as long as there are no =headings= on the page, which
there shouldn't be according to the MoS).
*/
.toclimit-2 .toclevel-1 ul,
.toclimit-3 .toclevel-2 ul,
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul { display: none; }
/* Styling for Template:Quote */
blockquote.templatequote {
margin-top: 0;
}
blockquote.templatequote div.templatequotecite {
line-height: 1em;
text-align: left;
padding-left: 2em;
margin-top: 0;
}
blockquote.templatequote div.templatequotecite cite {
font-size: 85%;
}
div.user-block {
padding: 5px;
border: 1px solid #A9A9A9;
background-color: #FFEFD5;
}
/* Prevent line breaks in silly places:
1) Links when we don't want them to
2) Bold "links" to the page itself
2) HTML formulae
3) Ref tags with group names <ref group="Note"> --> "[Note 1]"
*/
.nowraplinks a,
.nowraplinks .selflink,
span.texhtml,
sup.reference a {
white-space: nowrap;
}
/* For template documentation */
.template-documentation {
clear: both;
margin: 1em 0 0 0;
border: 1px solid #aaa;
background-color: #ecfcf4;
padding: 1em;
}
.thumbinner {
min-width: 100px;
}
/* Inline divs in ImageMaps (code borrowed from de.wiki) */
.imagemap-inline div {
display: inline;
}
/* Increase the height of the image upload box */
#wpUploadDescription {
height: 13em;
}
/* Reduce line-height for <sup> and <sub> */
sup, sub {
line-height: 1em;
}
/* Remove white border from thumbnails */
div.thumb {
border: none;
}
div.tright {
border: none;
margin: 0.5em 0 0.8em 1.4em;
}
div.tleft {
border: none;
margin: 0.5em 1.4em 0.8em 0;
}
/* Makes the background of a framed image white instead of gray. */
/* Only visible with transparent images. */
div.thumb img.thumbimage {
background-color: #fff;
}
/* The backgrounds for galleries. */
#content .gallerybox div.thumb {
background-color: #F9F9F9; /* Light gray padding */
}
/* Put a chequered background behind images, only visible if they have transpare
ncy */
.gallerybox .thumb img,
#file img {
background: white url("http://upload.wikimedia.org/wikipedia/commons/5/5d/Ch
ecker-16x16.png") repeat;
}
/* But not on articles, user pages, portals or with opt-out. */
.ns-0 .gallerybox .thumb img,
.ns-2 .gallerybox .thumb img,
.ns-100 .gallerybox .thumb img,
.nochecker .gallerybox .thumb img {
background: white;
}
/* Prevent floating boxes from overlapping any category listings,
file histories, edit previews, and edit [Show changes] views */
#mw-subcategories, #mw-pages, #mw-category-media,
#filehistory, #wikiPreview, #wikiDiff {
clear: both;
}
/* Selectively hide headers in WikiProject banners */
.wpb .wpb-header { display: none; }
.wpbs-inner .wpb .wpb-header { display: block; } /* for IE */
.wpbs-inner .wpb .wpb-header { display: table-row; } /* for real browsers */
.wpbs-inner .wpb-outside { display: none; } /* hide things that should
only display outside shells */
/* Styling for Abuse Filter tags */
.mw-tag-markers {
font-family:sans-serif;
font-style:italic;
font-size:90%;
}
/* Fix so <tt>, <code> and <pre> tags get normal text size also in
some versions of Firefox, Safari, Konqueror, Chrome etc.
Remove once r65391 is live. */
tt, code, pre {
font-family: monospace, sans-serif;
}
/* Remove bullets when there are multiple edit page warnings */
ul.permissions-errors > li {
list-style: none;
}
ul.permissions-errors {
margin: 0;
}
/* No linewrap on the labels of the login/signup page */
body.page-Special_UserLogin .mw-label label,
body.page-Special_UserLogin_signup .mw-label label { white-space : nowrap; }
/* Fix an alignment issue with oggplayer when rendered as center */
.center .ogg-player-options ul {
margin: 0.3em 0px 0px 1.5em;
}
/* </source> */
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=UTF-8; name=index.css
Content-Location: http://en.wikipedia.org/w/index.php?title=MediaWiki:Print.css&
usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
/* <source lang="css"> */
/* Do not print:
1: When in mainspace: Article message boxes,
navboxes, sister project boxes, disambig links,
and items marked as metadata.
2: Privacy, about, disclaimer, redirect and section edit links.
3: Show/hide toggles for collapsible items.
4: Items marked as noprint.
*/
.ns-0 .ambox,
.ns-0 .navbox,
.ns-0 .infobox.sisterproject,
.ns-0 .dablink,
.ns-0 .metadata,
#footer-places,
.editlink,
span.collapseButton, a.NavToggle,
.noprint {
display: none;
}
/* Add formatting to make sure that "external references" from templates
like [[Template:Ref]] do not get URL expansion, not even when printed.
The anchor itself has class "external autonumber" and the url expansion
is inserted when printing (see the common printing style sheet at
http://en.wikipedia.org/skins-1.5/common/commonPrint.css) using the
":after" pseudo-element of CSS. Also hide in <cite> elements.
*/
#content cite a.external.text:after,
.nourlexpansion a.external.text:after,
.nourlexpansion a.external.autonumber:after {
display: none !important;
}
/* Uncollapse collapsible tables/divs.
The proper way to do this for tables is to use display:table-row,
but this is not supported by all browsers, so use display:block as fallback.
*/
table.collapsible tr, div.NavPic, div.NavContent {
display: block !important;
}
table.collapsible tr {
display: table-row !important;
}
/* Hiding some items when printing with Simple skin */
.skin-simple div#column-one,
.skin-simple div#f-poweredbyico,
.skin-simple div#f-copyrightico,
.skin-simple .editsection {
display: none;
}
/* wikitable class for skinning normal tables */
table.wikitable {
margin: 1em 1em 1em 0;
border: 1px #aaa solid;
border-collapse: collapse;
}
.wikitable th, .wikitable td {
border: 1px #aaa solid;
padding: 0.2em;
}
.wikitable th {
text-align: center;
background: #F2F2F2;
font-weight: bold;
}
.wikitable caption {
font-weight: bold;
}
/* </source> */
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=UTF-8; name=index.css
Content-Location: http://en.wikipedia.org/w/index.php?title=MediaWiki:Handheld.c
ss&usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
/* Flatten the main page table layout */
table.layout,
table.layout tbody,
table.layout tr,
table.layout th,
table.layout td,
#mp-topbanner,
#mp-topbanner tbody,
#mp-topbanner tr,
#mp-topbanner th,
#mp-topbanner td,
#mp-upper,
#mp-upper tbody,
#mp-upper tr,
#mp-upper th,
#mp-upper td,
#mp-tfp,
#mp-tfp tbody,
#mp-tfp tr,
#mp-tfp th,
#mp-tfp td {
display: block !important;
width: 100% !important;
}
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://upload.wikimedia.org/wikipedia/commons/4/42/Monobook-bu
llet-ga.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAkAAAANCAYAAAB7AEQGAAAAAXNSR0IArs4c6QAA
AAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oG
GQ87H2fG3awAAAFaSURBVBjTY2AYfIARzvIQkWOXF05iY2Oz+8/w/+OP3z8X//n6
cSvD4lc/IYqc+K0l9NWWhZh7yNmpmTB8+fmNYcP5vQx7rh2f/+3Tm2wGBhVOIaF0
ve29e2f+f/Xtxb+aTd3/H318+O/e+3v/o+bm/WfPUk9mYvjzT0ZJXsHDR9+RgYWJ
meHOq0cMLz69YeTj4Pmf4xTNwMbCVsrEwMchIsQjwPD5x1eG7p3zGC8/ucngPzmL
wXtiGiMHGzsDFyuHOgvD55+fv/78xvD95w8GdXFFhjirAIb33z4yVHmlM3z68ZXh
198/P5gY/v5//uDxozPPPr5i8NS1/e+oac7w5cc3hn////9fe3YXw88/P7cwM/z6
9/Uz189vN7899ZQTkWI1lNNkUJdQYth34yRj1445X159fhcFCydWBi+JAC45wVZ+
Xl5VRkam/++/fjz74/evzP+z7p4BADsGlKVg5dbfAAAAAElFTkSuQmCC
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline
Content-Type: image/png
Content-Location: http://upload.wikimedia.org/wikipedia/commons/d/d4/Monobook-bu
llet-star.png
Content-Transfer-Encoding: Base64
iVBORw0KGgoAAAANSUhEUgAAAAkAAAANCAYAAAB7AEQGAAAABmJLR0QA/wD/AP+g
vaeTAAAAxUlEQVQY07VQOwrCUBCcfQSJQmy08XXiFbyBJxCCB/IOFnoJT+ANLBPQ
Siy00gQSMJLPG4ug8WGhjQPLMrvDMIyQxDco/IA/isxx9RmS5GtMEjDfjGiSgO93
Zbssrf2EVIcFzWUD3g5AmTQfpwvpDKH6EygZ+EAR2wKg5kUMGfgQkuD9zHI7BfJr
I2r14IzXEFeLAgBxtYhq2zlUG+JqaSqoMvB+AhwPSs8Ax6t5lTUVmHTHcj8n8ygk
CeZRWO7nNOmOJPEAfbJw/sF2Eh8AAAAASUVORK5CYII=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=UTF-8; name=index.css
Content-Location: http://en.wikipedia.org/w/index.php?title=MediaWiki:Vector.css
&usemsgcache=yes&ctype=text%2Fcss&smaxage=2678400&action=raw&maxage=2678400
Content-Transfer-Encoding: 8bit
/* <source lang="css"> */
/* The following are Vector bugfixes */
/* Temporary fix until [[bugzilla:19567]] is addressed */
#siteNotice div { margin: 0; }
#siteNotice div.expanded table.siteNoticeUser { margin-bottom: 1em; }
/* [[bugzilla:20276]] */
input#wpSummary {
width:100%;
}
/* end bugfixes */
/* Don't display some stuff on the main page */
body.page-Main_Page #deleteconfirm,
body.page-Main_Page #t-cite,
body.page-Main_Page #footer-info-lastmod,
body.page-Main_Page #siteSub,
body.page-Main_Page #contentSub,
body.page-Main_Page h1.firstHeading {
display: none !important;
}
body.page-Main_Page #mp-topbanner {
margin-top: 0 !important;
}
#coordinates {
position: absolute;
top: 0em;
right: 0em;
float: right;
margin: 0.0em;
padding: 0.0em;
line-height: 1.5em;
text-align: right;
text-indent: 0;
font-size: 85%;
text-transform: none;
white-space: nowrap;
}
/* For positioning icons at top-right, used in Templates
"Spoken Article" and "Featured Article" */
div.topicon {
position: absolute;
top: -2em;
margin-right: -10px;
display: block !important;
}
/* FR topicon position */
div.flaggedrevs_short {
position: absolute;
top: -3em;
right: 55px;
z-index: 1;
margin-left: 0;
/* Because this is not yet a topicon, we emulate it's behavior, this ensure com
patibility with edit lead section gadget */
margin-right: -10px;
}
/* Menu over FR box */
div.vectorMenu div {
z-index: 2;
}
/* Display "From Wikipedia, the free encyclopedia" */
#siteSub {
display: inline;
font-size: 92%;
font-weight: normal;
}
/* {{tl|Link GA}} */
#mw-panel div.portal div.body ul li.GA {
background: url("http://upload.wikimedia.org/wikipedia/commons/4/42/Monobook-b
ullet-ga.png") no-repeat 0% 0%;
margin-left: -10px;
padding-left: 10px;
}
/* {{tl|Link FA}} */
#mw-panel div.portal div.body ul li.FA {
background: url("http://upload.wikimedia.org/wikipedia/commons/d/d4/Monobook-b
ullet-star.png") no-repeat 0% 0%;
margin-left: -10px;
padding-left: 10px;
}
#siteNotice .notice-all {
margin-bottom: 1em !important;
margin-right: 2px !important;
}
/* Adjust font-size for inline HTML generated TeX formulae */
.texhtml {
font-size: 125%;
line-height: 1.5em;
}
/* Blue instead of yellow padlock for secure links. */
#bodyContent a.external[href ^="https://"],
.link-https {
background: url("http://upload.wikimedia.org/wikipedia/en/0/00/Lock_icon_blue.
gif") center right no-repeat;
padding-right: 16px;
}
/* </source> */
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=index.css
Content-Type: text/css; charset=UTF-8; name=index.css
Content-Location: http://en.wikipedia.org/w/index.php?title=-&action=raw&maxage=
2678400&gen=css
Content-Transfer-Encoding: 8bit
/* generated user stylesheet */
a.new, #quickbar a.new { color: #CC2200; }
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=wikibits.js
Content-Type: application/x-javascript; name=wikibits.js
Content-Location: http://bits.wikimedia.org/skins-1.5/common/wikibits.js?283s
Content-Transfer-Encoding: Base64
Ly8gTWVkaWFXaWtpIEphdmFTY3JpcHQgc3VwcG9ydCBmdW5jdGlvbnMKCnZhciBj
bGllbnRQQyA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsgLy8g
R2V0IGNsaWVudCBpbmZvCnZhciBpc19nZWNrbyA9IC9nZWNrby8udGVzdCggY2xp
ZW50UEMgKSAmJgoJIS9raHRtbHxzcG9vZmVyfG5ldHNjYXBlXC83XC4wLy50ZXN0
KGNsaWVudFBDKTsKdmFyIHdlYmtpdF9tYXRjaCA9IGNsaWVudFBDLm1hdGNoKC9h
cHBsZXdlYmtpdFwvKFxkKykvKTsKaWYgKHdlYmtpdF9tYXRjaCkgewoJdmFyIGlz
X3NhZmFyaSA9IGNsaWVudFBDLmluZGV4T2YoJ2FwcGxld2Via2l0JykgIT0gLTEg
JiYKCQljbGllbnRQQy5pbmRleE9mKCdzcG9vZmVyJykgPT0gLTE7Cgl2YXIgaXNf
c2FmYXJpX3dpbiA9IGlzX3NhZmFyaSAmJiBjbGllbnRQQy5pbmRleE9mKCd3aW5k
b3dzJykgIT0gLTE7Cgl2YXIgd2Via2l0X3ZlcnNpb24gPSBwYXJzZUludCh3ZWJr
aXRfbWF0Y2hbMV0pOwp9Ci8vIEZvciBhY2Nlc3NrZXlzOyBub3RlIHRoYXQgRkYz
KyBpcyBpbmNsdWRlZCBoZXJlIQp2YXIgaXNfZmYyID0gL2ZpcmVmb3hcL1syLTld
fG1pbmVmaWVsZFwvMy8udGVzdCggY2xpZW50UEMgKTsKdmFyIGZmMl9idWdzID0g
L2ZpcmVmb3hcLzIvLnRlc3QoIGNsaWVudFBDICk7Ci8vIFRoZXNlIGFyZW4ndCB1
c2VkIGhlcmUsIGJ1dCBzb21lIGN1c3RvbSBzY3JpcHRzIHJlbHkgb24gdGhlbQp2
YXIgaXNfZmYyX3dpbiA9IGlzX2ZmMiAmJiBjbGllbnRQQy5pbmRleE9mKCd3aW5k
b3dzJykgIT0gLTE7CnZhciBpc19mZjJfeDExID0gaXNfZmYyICYmIGNsaWVudFBD
LmluZGV4T2YoJ3gxMScpICE9IC0xOwppZiAoY2xpZW50UEMuaW5kZXhPZignb3Bl
cmEnKSAhPSAtMSkgewoJdmFyIGlzX29wZXJhID0gdHJ1ZTsKCXZhciBpc19vcGVy
YV9wcmVzZXZlbiA9IHdpbmRvdy5vcGVyYSAmJiAhZG9jdW1lbnQuY2hpbGROb2Rl
czsKCXZhciBpc19vcGVyYV9zZXZlbiA9IHdpbmRvdy5vcGVyYSAmJiBkb2N1bWVu
dC5jaGlsZE5vZGVzOwoJdmFyIGlzX29wZXJhXzk1ID0gL29wZXJhXC8oOVwuWzUt
OV18WzEtOV1bMC05XSkvLnRlc3QoIGNsaWVudFBDICk7Cgl2YXIgb3BlcmE2X2J1
Z3MgPSBpc19vcGVyYV9wcmVzZXZlbjsKCXZhciBvcGVyYTdfYnVncyA9IGlzX29w
ZXJhX3NldmVuICYmICFpc19vcGVyYV85NTsKCXZhciBvcGVyYTk1X2J1Z3MgPSAv
b3BlcmFcLyg5XC41KS8udGVzdCggY2xpZW50UEMgKTsKfQovLyBBcyByZWNvbW1l
bmRlZCBieSA8aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5
L21zNTM3NTA5LmFzcHg+LAovLyBhdm9pZGluZyBmYWxzZSBwb3NpdGl2ZXMgZnJv
bSBtb3JvbmljIGV4dGVuc2lvbnMgdGhhdCBhcHBlbmQgdG8gdGhlIElFIFVBCi8v
IHN0cmluZyAoYnVnIDIzMTcxKQp2YXIgaWU2X2J1Z3MgPSBmYWxzZTsKaWYgKCAv
TVNJRSAoWzAtOV17MSx9W1wuMC05XXswLH0pLy5leGVjKCBjbGllbnRQQyApICE9
IG51bGwKJiYgcGFyc2VGbG9hdCggUmVnRXhwLiQxICkgPD0gNi4wICkgewoJaWU2
X2J1Z3MgPSB0cnVlOwp9CgovLyBHbG9iYWwgZXh0ZXJuYWwgb2JqZWN0cyB1c2Vk
IGJ5IHRoaXMgc2NyaXB0LgovKmV4dGVybiB0YSwgc3R5bGVwYXRoLCBza2luICov
CgovLyBhZGQgYW55IG9ubG9hZCBmdW5jdGlvbnMgaW4gdGhpcyBob29rIChwbGVh
c2UgZG9uJ3QgaGFyZC1jb2RlIGFueSBldmVudHMgaW4gdGhlIHhodG1sIHNvdXJj
ZSkKdmFyIGRvbmVPbmxvYWRIb29rOwoKaWYgKCF3aW5kb3cub25sb2FkRnVuY3Rz
KSB7Cgl2YXIgb25sb2FkRnVuY3RzID0gW107Cn0KCmZ1bmN0aW9uIGFkZE9ubG9h
ZEhvb2soIGhvb2tGdW5jdCApIHsKCS8vIEFsbG93cyBhZGQtb24gc2NyaXB0cyB0
byBhZGQgb25sb2FkIGZ1bmN0aW9ucwoJaWYoICFkb25lT25sb2FkSG9vayApIHsK
CQlvbmxvYWRGdW5jdHNbb25sb2FkRnVuY3RzLmxlbmd0aF0gPSBob29rRnVuY3Q7
Cgl9IGVsc2UgewoJCWhvb2tGdW5jdCgpOyAgLy8gYnVnIGluIE1TSUUgc2NyaXB0
IGxvYWRpbmcKCX0KfQoKZnVuY3Rpb24gaG9va0V2ZW50KCBob29rTmFtZSwgaG9v
a0Z1bmN0ICkgewoJYWRkSGFuZGxlciggd2luZG93LCBob29rTmFtZSwgaG9va0Z1
bmN0ICk7Cn0KCmZ1bmN0aW9uIGltcG9ydFNjcmlwdCggcGFnZSApIHsKCS8vIFRP
RE86IG1pZ2h0IHdhbnQgdG8gaW50cm9kdWNlIGEgdXRpbGl0eSBmdW5jdGlvbiB0
byBtYXRjaCB3ZlVybGVuY29kZSgpIGluIFBIUAoJdmFyIHVyaSA9IHdnU2NyaXB0
ICsgJz90aXRsZT0nICsKCQllbmNvZGVVUklDb21wb25lbnQocGFnZS5yZXBsYWNl
KC8gL2csJ18nKSkucmVwbGFjZSgvJTJGL2lnLCcvJykucmVwbGFjZSgvJTNBL2ln
LCc6JykgKwoJCScmYWN0aW9uPXJhdyZjdHlwZT10ZXh0L2phdmFzY3JpcHQnOwoJ
cmV0dXJuIGltcG9ydFNjcmlwdFVSSSggdXJpICk7Cn0KCnZhciBsb2FkZWRTY3Jp
cHRzID0ge307IC8vIGluY2x1ZGVkLXNjcmlwdHMgdHJhY2tlcgpmdW5jdGlvbiBp
bXBvcnRTY3JpcHRVUkkoIHVybCApIHsKCWlmICggbG9hZGVkU2NyaXB0c1t1cmxd
ICkgewoJCXJldHVybiBudWxsOwoJfQoJbG9hZGVkU2NyaXB0c1t1cmxdID0gdHJ1
ZTsKCXZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ3NjcmlwdCcgKTsK
CXMuc2V0QXR0cmlidXRlKCAnc3JjJywgdXJsICk7CglzLnNldEF0dHJpYnV0ZSgg
J3R5cGUnLCAndGV4dC9qYXZhc2NyaXB0JyApOwoJZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZCggcyApOwoJcmV0dXJu
IHM7Cn0KCmZ1bmN0aW9uIGltcG9ydFN0eWxlc2hlZXQoIHBhZ2UgKSB7CglyZXR1
cm4gaW1wb3J0U3R5bGVzaGVldFVSSSggd2dTY3JpcHQgKyAnP2FjdGlvbj1yYXcm
Y3R5cGU9dGV4dC9jc3MmdGl0bGU9JyArIGVuY29kZVVSSUNvbXBvbmVudCggcGFn
ZS5yZXBsYWNlKC8gL2csJ18nKSApICk7Cn0KCmZ1bmN0aW9uIGltcG9ydFN0eWxl
c2hlZXRVUkkoIHVybCwgbWVkaWEgKSB7Cgl2YXIgbCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoICdsaW5rJyApOwoJbC50eXBlID0gJ3RleHQvY3NzJzsKCWwucmVs
ID0gJ3N0eWxlc2hlZXQnOwoJbC5ocmVmID0gdXJsOwoJaWYoIG1lZGlhICkgewoJ
CWwubWVkaWEgPSBtZWRpYTsKCX0KCWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoIGwgKTsKCXJldHVybiBsOwp9Cgpm
dW5jdGlvbiBhcHBlbmRDU1MoIHRleHQgKSB7Cgl2YXIgcyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoICdzdHlsZScgKTsKCXMudHlwZSA9ICd0ZXh0L2Nzcyc7Cglz
LnJlbCA9ICdzdHlsZXNoZWV0JzsKCWlmICggcy5zdHlsZVNoZWV0ICkgewoJCXMu
c3R5bGVTaGVldC5jc3NUZXh0ID0gdGV4dDsgLy8gSUUKCX0gZWxzZSB7CgkJcy5h
cHBlbmRDaGlsZCggZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIHRleHQgKyAnJyAp
ICk7IC8vIFNhZmFyaSBzb21ldGltZXMgYm9ya3Mgb24gbnVsbAoJfQoJZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZCgg
cyApOwoJcmV0dXJuIHM7Cn0KCi8vIFNwZWNpYWwgc3R5bGVzaGVldCBsaW5rcyBm
b3IgTW9ub2Jvb2sgb25seSAoc2VlIGJ1ZyAxNDcxNykKaWYgKCB0eXBlb2Ygc3R5
bGVwYXRoICE9ICd1bmRlZmluZWQnICYmIHNraW4gPT0gJ21vbm9ib29rJyApIHsK
CWlmICggb3BlcmE2X2J1Z3MgKSB7CgkJaW1wb3J0U3R5bGVzaGVldFVSSSggc3R5
bGVwYXRoICsgJy8nICsgc2tpbiArICcvT3BlcmE2Rml4ZXMuY3NzJyApOwoJfSBl
bHNlIGlmICggb3BlcmE3X2J1Z3MgKSB7CgkJaW1wb3J0U3R5bGVzaGVldFVSSSgg
c3R5bGVwYXRoICsgJy8nICsgc2tpbiArICcvT3BlcmE3Rml4ZXMuY3NzJyApOwoJ
fSBlbHNlIGlmICggb3BlcmE5NV9idWdzICkgewoJCWltcG9ydFN0eWxlc2hlZXRV
UkkoIHN0eWxlcGF0aCArICcvJyArIHNraW4gKyAnL09wZXJhOUZpeGVzLmNzcycg
KTsKCX0gZWxzZSBpZiAoIGZmMl9idWdzICkgewoJCWltcG9ydFN0eWxlc2hlZXRV
UkkoIHN0eWxlcGF0aCArICcvJyArIHNraW4gKyAnL0ZGMkZpeGVzLmNzcycgKTsK
CX0KfQoKCmlmICggd2dCcmVha0ZyYW1lcyApIHsKCS8vIFVuLXRyYXAgdXMgZnJv
bSBmcmFtZXNldHMKCWlmICggd2luZG93LnRvcCAhPSB3aW5kb3cgKSB7CgkJd2lu
ZG93LnRvcC5sb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbjsKCX0KfQoKZnVuY3Rp
b24gc2hvd1RvY1RvZ2dsZSgpIHsKCWlmICggZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUgKSB7CgkJLy8gVXNlcyBET00gY2FsbHMgdG8gYXZvaWQgZG9jdW1lbnQud3Jp
dGUgKyBYSFRNTCBpc3N1ZXMKCgkJdmFyIGxpbmtIb2xkZXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCggJ3RvY3RpdGxlJyApOwoJCXZhciBleGlzdGluZ0xpbmsg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggJ3RvZ2dsZWxpbmsnICk7CgkJaWYg
KCAhbGlua0hvbGRlciB8fCBleGlzdGluZ0xpbmsgKSB7CgkJCS8vIERvbid0IGFk
ZCB0aGUgdG9nZ2xlIGxpbmsgdHdpY2UKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIG91
dGVyU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdzcGFuJyApOwoJCW91
dGVyU3Bhbi5jbGFzc05hbWUgPSAndG9jdG9nZ2xlJzsKCgkJdmFyIHRvZ2dsZUxp
bmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnYScgKTsKCQl0b2dnbGVMaW5r
LmlkID0gJ3RvZ2dsZWxpbmsnOwoJCXRvZ2dsZUxpbmsuY2xhc3NOYW1lID0gJ2lu
dGVybmFsJzsKCQl0b2dnbGVMaW5rLmhyZWYgPSAnIyc7CgkJYWRkQ2xpY2tIYW5k
bGVyKCB0b2dnbGVMaW5rLCBmdW5jdGlvbiggZXZ0ICkgeyB0b2dnbGVUb2MoKTsg
cmV0dXJuIGtpbGxFdnQoIGV2dCApOyB9ICk7CgkJCgkJdG9nZ2xlTGluay5hcHBl
bmRDaGlsZCggZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIHRvY0hpZGVUZXh0ICkg
KTsKCgkJb3V0ZXJTcGFuLmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSggJ1snICkgKTsKCQlvdXRlclNwYW4uYXBwZW5kQ2hpbGQoIHRvZ2dsZUxp
bmsgKTsKCQlvdXRlclNwYW4uYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCAnXScgKSApOwoKCQlsaW5rSG9sZGVyLmFwcGVuZENoaWxkKCBkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZSggJyAnICkgKTsKCQlsaW5rSG9sZGVyLmFwcGVu
ZENoaWxkKCBvdXRlclNwYW4gKTsKCgkJdmFyIGNvb2tpZVBvcyA9IGRvY3VtZW50
LmNvb2tpZS5pbmRleE9mKCAiaGlkZXRvYz0iICk7CgkJaWYgKCBjb29raWVQb3Mg
PiAtMSAmJiBkb2N1bWVudC5jb29raWUuY2hhckF0KCBjb29raWVQb3MgKyA4ICkg
PT0gMSApIHsKCQkJdG9nZ2xlVG9jKCk7CgkJfQoJfQp9CgpmdW5jdGlvbiBjaGFu
Z2VUZXh0KCBlbCwgbmV3VGV4dCApIHsKCS8vIFNhZmFyaSB3b3JrIGFyb3VuZAoJ
aWYgKCBlbC5pbm5lclRleHQgKSB7CgkJZWwuaW5uZXJUZXh0ID0gbmV3VGV4dDsK
CX0gZWxzZSBpZiAoIGVsLmZpcnN0Q2hpbGQgJiYgZWwuZmlyc3RDaGlsZC5ub2Rl
VmFsdWUgKSB7CgkJZWwuZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSBuZXdUZXh0OwoJ
fQp9CgpmdW5jdGlvbiBraWxsRXZ0KCBldnQgKSB7CglldnQgPSBldnQgfHwgd2lu
ZG93LmV2ZW50IHx8IHdpbmRvdy5FdmVudDsgLy8gVzNDLCBJRSwgTmV0c2NhcGUK
CWlmICggdHlwZW9mICggZXZ0LnByZXZlbnREZWZhdWx0ICkgIT0gJ3VuZGVmaW5l
ZCcgKSB7CgkJZXZ0LnByZXZlbnREZWZhdWx0KCk7IC8vIERvbid0IGZvbGxvdyB0
aGUgbGluawoJCWV2dC5zdG9wUHJvcGFnYXRpb24oKTsKCX0gZWxzZSB7CgkJZXZ0
LmNhbmNlbEJ1YmJsZSA9IHRydWU7IC8vIElFCgl9CglyZXR1cm4gZmFsc2U7IC8v
IERvbid0IGZvbGxvdyB0aGUgbGluayAoSUUpCn0KCmZ1bmN0aW9uIHRvZ2dsZVRv
YygpIHsKCXZhciB0b2NtYWluID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICd0
b2MnICk7Cgl2YXIgdG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvYycp
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd1bCcpWzBdOwoJdmFyIHRvZ2dsZUxpbmsg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggJ3RvZ2dsZWxpbmsnICk7CgoJaWYg
KCB0b2MgJiYgdG9nZ2xlTGluayAmJiB0b2Muc3R5bGUuZGlzcGxheSA9PSAnbm9u
ZScgKSB7CgkJY2hhbmdlVGV4dCggdG9nZ2xlTGluaywgdG9jSGlkZVRleHQgKTsK
CQl0b2Muc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CgkJZG9jdW1lbnQuY29va2ll
ID0gImhpZGV0b2M9MCI7CgkJdG9jbWFpbi5jbGFzc05hbWUgPSAndG9jJzsKCX0g
ZWxzZSB7CgkJY2hhbmdlVGV4dCggdG9nZ2xlTGluaywgdG9jU2hvd1RleHQgKTsK
CQl0b2Muc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQlkb2N1bWVudC5jb29raWUg
PSAiaGlkZXRvYz0xIjsKCQl0b2NtYWluLmNsYXNzTmFtZSA9ICd0b2MgdG9jaGlk
ZGVuJzsKCX0KfQoKdmFyIG13RWRpdEJ1dHRvbnMgPSBbXTsKdmFyIG13Q3VzdG9t
RWRpdEJ1dHRvbnMgPSBbXTsgLy8gZWcgdG8gYWRkIGluIE1lZGlhV2lraTpDb21t
b24uanMKCmZ1bmN0aW9uIGVzY2FwZVF1b3RlcyggdGV4dCApIHsKCXZhciByZSA9
IG5ldyBSZWdFeHAoICInIiwgImciICk7Cgl0ZXh0ID0gdGV4dC5yZXBsYWNlKCBy
ZSwgIlxcJyIgKTsKCXJlID0gbmV3IFJlZ0V4cCggIlxcbiIsICJnIiApOwoJdGV4
dCA9IHRleHQucmVwbGFjZSggcmUsICJcXG4iICk7CglyZXR1cm4gZXNjYXBlUXVv
dGVzSFRNTCggdGV4dCApOwp9CgpmdW5jdGlvbiBlc2NhcGVRdW90ZXNIVE1MKCB0
ZXh0ICkgewoJdmFyIHJlID0gbmV3IFJlZ0V4cCggJyYnLCAiZyIgKTsKCXRleHQg
PSB0ZXh0LnJlcGxhY2UoIHJlLCAiJmFtcDsiICk7CglyZSA9IG5ldyBSZWdFeHAo
ICciJywgImciICk7Cgl0ZXh0ID0gdGV4dC5yZXBsYWNlKCByZSwgIiZxdW90OyIg
KTsKCXJlID0gbmV3IFJlZ0V4cCggJzwnLCAiZyIgKTsKCXRleHQgPSB0ZXh0LnJl
cGxhY2UoIHJlLCAiJmx0OyIgKTsKCXJlID0gbmV3IFJlZ0V4cCggJz4nLCAiZyIg
KTsKCXRleHQgPSB0ZXh0LnJlcGxhY2UoIHJlLCAiJmd0OyIgKTsKCXJldHVybiB0
ZXh0Owp9CgovKioKICogU2V0IHRoZSBhY2Nlc3NrZXkgcHJlZml4IGJhc2VkIG9u
IGJyb3dzZXIgZGV0ZWN0aW9uLgogKi8KdmFyIHRvb2x0aXBBY2Nlc3NLZXlQcmVm
aXggPSAnYWx0LSc7CmlmICggaXNfb3BlcmEgKSB7Cgl0b29sdGlwQWNjZXNzS2V5
UHJlZml4ID0gJ3NoaWZ0LWVzYy0nOwp9IGVsc2UgaWYgKCAhaXNfc2FmYXJpX3dp
biAmJiBpc19zYWZhcmkgJiYgd2Via2l0X3ZlcnNpb24gPiA1MjYgKSB7Cgl0b29s
dGlwQWNjZXNzS2V5UHJlZml4ID0gJ2N0cmwtYWx0LSc7Cn0gZWxzZSBpZiAoICFp
c19zYWZhcmlfd2luICYmICggaXNfc2FmYXJpCgkJfHwgY2xpZW50UEMuaW5kZXhP
ZignbWFjJykgIT0gLTEKCQl8fCBjbGllbnRQQy5pbmRleE9mKCdrb25xdWVyb3In
KSAhPSAtMSApICkgewoJdG9vbHRpcEFjY2Vzc0tleVByZWZpeCA9ICdjdHJsLSc7
Cn0gZWxzZSBpZiAoIGlzX2ZmMiApIHsKCXRvb2x0aXBBY2Nlc3NLZXlQcmVmaXgg
PSAnYWx0LXNoaWZ0LSc7Cn0KdmFyIHRvb2x0aXBBY2Nlc3NLZXlSZWdleHAgPSAv
XFsoY3RybC0pPyhhbHQtKT8oc2hpZnQtKT8oZXNjLSk/KC4pXF0kLzsKCi8qKgog
KiBBZGQgdGhlIGFwcHJvcHJpYXRlIHByZWZpeCB0byB0aGUgYWNjZXNza2V5IHNo
b3duIGluIHRoZSB0b29sdGlwLgogKiBJZiB0aGUgbm9kZUxpc3QgcGFyYW1ldGVy
IGlzIGdpdmVuLCBvbmx5IHRob3NlIG5vZGVzIGFyZSB1cGRhdGVkOwogKiBvdGhl
cndpc2UsIGFsbCB0aGUgbm9kZXMgdGhhdCB3aWxsIHByb2JhYmx5IGhhdmUgYWNj
ZXNza2V5cyBieQogKiBkZWZhdWx0IGFyZSB1cGRhdGVkLgogKgogKiBAcGFyYW0g
QXJyYXkgbm9kZUxpc3QgLS0gbGlzdCBvZiBlbGVtZW50cyB0byB1cGRhdGUKICov
CmZ1bmN0aW9uIHVwZGF0ZVRvb2x0aXBBY2Nlc3NLZXlzKCBub2RlTGlzdCApIHsK
CWlmICggIW5vZGVMaXN0ICkgewoJCS8vIFJhdGhlciB0aGFuIHNjYW4gYWxsIGxp
bmtzIG9uIHRoZSB3aG9sZSBwYWdlLCB3ZSBjYW4ganVzdCBzY2FuIHRoZXNlCgkJ
Ly8gY29udGFpbmVycyB3aGljaCBjb250YWluIHRoZSByZWxldmFudCBsaW5rcy4g
VGhpcyBpcyByZWFsbHkganVzdCBhbgoJCS8vIG9wdGltaXphdGlvbiB0ZWNobmlx
dWUuCgkJdmFyIGxpbmtDb250YWluZXJzID0gWwoJCQknY29sdW1uLW9uZScsIC8v
IE1vbm9ib29rIGFuZCBNb2Rlcm4KCQkJJ213LWhlYWQnLCAnbXctcGFuZWwnLCAn
cC1sb2dvJyAvLyBWZWN0b3IKCQldOwoJCWZvciAoIHZhciBpIGluIGxpbmtDb250
YWluZXJzICkgewoJCQl2YXIgbGlua0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCBsaW5rQ29udGFpbmVyc1tpXSApOwoJCQlpZiAoIGxpbmtDb250
YWluZXIgKSB7CgkJCQl1cGRhdGVUb29sdGlwQWNjZXNzS2V5cyggbGlua0NvbnRh
aW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ2EnICkgKTsKCQkJfQoJCX0KCQkv
LyB0aGVzZSBhcmUgcmFyZSBlbm91Z2ggdGhhdCBubyBzdWNoIG9wdGltaXphdGlv
biBpcyBuZWVkZWQKCQl1cGRhdGVUb29sdGlwQWNjZXNzS2V5cyggZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoICdpbnB1dCcgKSApOwoJCXVwZGF0ZVRvb2x0
aXBBY2Nlc3NLZXlzKCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ2xh
YmVsJyApICk7CgkJcmV0dXJuOwoJfQoKCWZvciAoIHZhciBpID0gMDsgaSA8IG5v
ZGVMaXN0Lmxlbmd0aDsgaSsrICkgewoJCXZhciBlbGVtZW50ID0gbm9kZUxpc3Rb
aV07CgkJdmFyIHRpcCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCAndGl0bGUnICk7
CgkJaWYgKCB0aXAgJiYgdG9vbHRpcEFjY2Vzc0tleVJlZ2V4cC5leGVjKCB0aXAg
KSApIHsKCQkJdGlwID0gdGlwLnJlcGxhY2UodG9vbHRpcEFjY2Vzc0tleVJlZ2V4
cCwKCQkJCQkgICdbJyArIHRvb2x0aXBBY2Nlc3NLZXlQcmVmaXggKyAiJDVdIik7
CgkJCWVsZW1lbnQuc2V0QXR0cmlidXRlKCAndGl0bGUnLCB0aXAgKTsKCQl9Cgl9
Cn0KCi8qKgogKiBBZGQgYSBsaW5rIHRvIG9uZSBvZiB0aGUgcG9ydGxldCBtZW51
cyBvbiB0aGUgcGFnZSwgaW5jbHVkaW5nOgogKgogKiBwLWNhY3Rpb25zOiBDb250
ZW50IGFjdGlvbnMgKHNob3duIGFzIHRhYnMgYWJvdmUgdGhlIG1haW4gY29udGVu
dCBpbiBNb25vYm9vaykKICogcC1wZXJzb25hbDogUGVyc29uYWwgdG9vbHMgKHNo
b3duIGF0IHRoZSB0b3AgcmlnaHQgb2YgdGhlIHBhZ2UgaW4gTW9ub2Jvb2spCiAq
IHAtbmF2aWdhdGlvbjogTmF2aWdhdGlvbgogKiBwLXRiOiBUb29sYm94CiAqCiAq
IFRoaXMgZnVuY3Rpb24gZXhpc3RzIGZvciB0aGUgY29udmVuaWVuY2Ugb2YgY3Vz
dG9tIEpTIGF1dGhvcnMuICBBbGwKICogYnV0IHRoZSBmaXJzdCB0aHJlZSBwYXJh
bWV0ZXJzIGFyZSBvcHRpb25hbCwgdGhvdWdoIHByb3ZpZGluZyBhdAogKiBsZWFz
dCBhbiBpZCBhbmQgYSB0b29sdGlwIGlzIHJlY29tbWVuZGVkLgogKgogKiBCeSBk
ZWZhdWx0IHRoZSBuZXcgbGluayB3aWxsIGJlIGFkZGVkIHRvIHRoZSBlbmQgb2Yg
dGhlIGxpc3QuICBUbwogKiBhZGQgdGhlIGxpbmsgYmVmb3JlIGEgZ2l2ZW4gZXhp
c3RpbmcgaXRlbSwgcGFzcyB0aGUgRE9NIG5vZGUgb2YKICogdGhhdCBpdGVtIChl
YXNpbHkgb2J0YWluZWQgd2l0aCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgpKSBh
cyB0aGUKICogbmV4dG5vZGUgcGFyYW1ldGVyOyB0byBhZGQgdGhlIGxpbmsgX2Fm
dGVyXyBhbiBleGlzdGluZyBpdGVtLCBwYXNzCiAqIHRoZSBub2RlJ3MgbmV4dFNp
YmxpbmcgaW5zdGVhZC4KICoKICogQHBhcmFtIFN0cmluZyBwb3J0bGV0IC0tIGlk
IG9mIHRoZSB0YXJnZXQgcG9ydGxldCAoInAtY2FjdGlvbnMiLCAicC1wZXJzb25h
bCIsICJwLW5hdmlnYXRpb24iIG9yICJwLXRiIikKICogQHBhcmFtIFN0cmluZyBo
cmVmIC0tIGxpbmsgVVJMCiAqIEBwYXJhbSBTdHJpbmcgdGV4dCAtLSBsaW5rIHRl
eHQgKHdpbGwgYmUgYXV0b21hdGljYWxseSBsb3dlcmNhc2VkIGJ5IENTUyBmb3Ig
cC1jYWN0aW9ucyBpbiBNb25vYm9vaykKICogQHBhcmFtIFN0cmluZyBpZCAtLSBp
ZCBvZiB0aGUgbmV3IGl0ZW0sIHNob3VsZCBiZSB1bmlxdWUgYW5kIHByZWZlcmFi
bHkgaGF2ZSB0aGUgYXBwcm9wcmlhdGUgcHJlZml4ICgiY2EtIiwgInB0LSIsICJu
LSIgb3IgInQtIikKICogQHBhcmFtIFN0cmluZyB0b29sdGlwIC0tIHRleHQgdG8g
c2hvdyB3aGVuIGhvdmVyaW5nIG92ZXIgdGhlIGxpbmssIHdpdGhvdXQgYWNjZXNz
a2V5IHN1ZmZpeAogKiBAcGFyYW0gU3RyaW5nIGFjY2Vzc2tleSAtLSBhY2Nlc3Nr
ZXkgdG8gYWN0aXZhdGUgdGhpcyBsaW5rIChvbmUgY2hhcmFjdGVyLCB0cnkgdG8g
YXZvaWQgY29uZmxpY3RzKQogKiBAcGFyYW0gTm9kZSBuZXh0bm9kZSAtLSB0aGUg
RE9NIG5vZGUgYmVmb3JlIHdoaWNoIHRoZSBuZXcgaXRlbSBzaG91bGQgYmUgYWRk
ZWQsIHNob3VsZCBiZSBhbm90aGVyIGl0ZW0gaW4gdGhlIHNhbWUgbGlzdAogKgog
KiBAcmV0dXJuIE5vZGUgLS0gdGhlIERPTSBub2RlIG9mIHRoZSBuZXcgaXRlbSAo
YW4gTEkgZWxlbWVudCkgb3IgbnVsbAogKi8KZnVuY3Rpb24gYWRkUG9ydGxldExp
bmsoIHBvcnRsZXQsIGhyZWYsIHRleHQsIGlkLCB0b29sdGlwLCBhY2Nlc3NrZXks
IG5leHRub2RlICkgewoJdmFyIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCggcG9ydGxldCApOwoJaWYgKCAhcm9vdCApIHsKCQlyZXR1cm4gbnVsbDsKCX0K
CXZhciBub2RlID0gcm9vdC5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ3VsJyApWzBd
OwoJaWYgKCAhbm9kZSApIHsKCQlyZXR1cm4gbnVsbDsKCX0KCgkvLyB1bmhpZGUg
cG9ydGxldCBpZiBpdCB3YXMgaGlkZGVuIGJlZm9yZQoJcm9vdC5jbGFzc05hbWUg
PSByb290LmNsYXNzTmFtZS5yZXBsYWNlKCAvKF58ICllbXB0eVBvcnRsZXQoIHwk
KS8sICIkMiIgKTsKCgl2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ICdzcGFuJyApOwoJc3Bhbi5hcHBlbmRDaGlsZCggZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIHRleHQgKSApOwoKCXZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCggJ2EnICk7CglsaW5rLmFwcGVuZENoaWxkKCBzcGFuICk7CglsaW5rLmhy
ZWYgPSBocmVmOwoKCXZhciBpdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgg
J2xpJyApOwoJaXRlbS5hcHBlbmRDaGlsZCggbGluayApOwoJaWYgKCBpZCApIHsK
CQlpdGVtLmlkID0gaWQ7Cgl9CgoJaWYgKCBhY2Nlc3NrZXkgKSB7CgkJbGluay5z
ZXRBdHRyaWJ1dGUoICdhY2Nlc3NrZXknLCBhY2Nlc3NrZXkgKTsKCQl0b29sdGlw
ICs9ICcgWycgKyBhY2Nlc3NrZXkgKyAnXSc7Cgl9CglpZiAoIHRvb2x0aXAgKSB7
CgkJbGluay5zZXRBdHRyaWJ1dGUoICd0aXRsZScsIHRvb2x0aXAgKTsKCX0KCWlm
ICggYWNjZXNza2V5ICYmIHRvb2x0aXAgKSB7CgkJdXBkYXRlVG9vbHRpcEFjY2Vz
c0tleXMoIG5ldyBBcnJheSggbGluayApICk7Cgl9CgoJaWYgKCBuZXh0bm9kZSAm
JiBuZXh0bm9kZS5wYXJlbnROb2RlID09IG5vZGUgKSB7CgkJbm9kZS5pbnNlcnRC
ZWZvcmUoIGl0ZW0sIG5leHRub2RlICk7Cgl9IGVsc2UgewoJCW5vZGUuYXBwZW5k
Q2hpbGQoIGl0ZW0gKTsgIC8vIElFIGNvbXBhdGliaWxpdHkgKD8pCgl9CgoJcmV0
dXJuIGl0ZW07Cn0KCmZ1bmN0aW9uIGdldElubmVyVGV4dCggZWwgKSB7CglpZiAo
IHR5cGVvZiBlbCA9PSAnc3RyaW5nJyApIHsKCQlyZXR1cm4gZWw7Cgl9CglpZiAo
IHR5cGVvZiBlbCA9PSAndW5kZWZpbmVkJyApIHsKCQlyZXR1cm4gZWw7Cgl9Cglp
ZiAoIGVsLnRleHRDb250ZW50ICkgewoJCXJldHVybiBlbC50ZXh0Q29udGVudDsg
Ly8gbm90IG5lZWRlZCBidXQgaXQgaXMgZmFzdGVyCgl9CglpZiAoIGVsLmlubmVy
VGV4dCApIHsKCQlyZXR1cm4gZWwuaW5uZXJUZXh0OyAvLyBJRSBkb2Vzbid0IGhh
dmUgdGV4dENvbnRlbnQKCX0KCXZhciBzdHIgPSAnJzsKCgl2YXIgY3MgPSBlbC5j
aGlsZE5vZGVzOwoJdmFyIGwgPSBjcy5sZW5ndGg7Cglmb3IgKCB2YXIgaSA9IDA7
IGkgPCBsOyBpKysgKSB7CgkJc3dpdGNoICggY3NbaV0ubm9kZVR5cGUgKSB7CgkJ
CWNhc2UgMTogLy8gRUxFTUVOVF9OT0RFCgkJCQlzdHIgKz0gdHNfZ2V0SW5uZXJU
ZXh0KCBjc1tpXSApOwoJCQkJYnJlYWs7CgkJCWNhc2UgMzoJLy8gVEVYVF9OT0RF
CgkJCQlzdHIgKz0gY3NbaV0ubm9kZVZhbHVlOwoJCQkJYnJlYWs7CgkJfQoJfQoJ
cmV0dXJuIHN0cjsKfQoKLyogRHVtbXkgZm9yIGRlcHJlY2F0ZWQgZnVuY3Rpb24g
Ki8KZnVuY3Rpb24gYWtleXR0KCBkb0lkICkgewp9Cgp2YXIgY2hlY2tib3hlczsK
dmFyIGxhc3RDaGVja2JveDsKCmZ1bmN0aW9uIHNldHVwQ2hlY2tib3hTaGlmdENs
aWNrKCkgewoJY2hlY2tib3hlcyA9IFtdOwoJbGFzdENoZWNrYm94ID0gbnVsbDsK
CXZhciBpbnB1dHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSggJ2lu
cHV0JyApOwoJYWRkQ2hlY2tib3hDbGlja0hhbmRsZXJzKCBpbnB1dHMgKTsKfQoK
ZnVuY3Rpb24gYWRkQ2hlY2tib3hDbGlja0hhbmRsZXJzKCBpbnB1dHMsIHN0YXJ0
ICkgewoJaWYgKCAhc3RhcnQgKSB7CgkJc3RhcnQgPSAwOwoJfQoKCXZhciBmaW5p
c2ggPSBzdGFydCArIDI1MDsKCWlmICggZmluaXNoID4gaW5wdXRzLmxlbmd0aCAp
IHsKCQlmaW5pc2ggPSBpbnB1dHMubGVuZ3RoOwoJfQoKCWZvciAoIHZhciBpID0g
c3RhcnQ7IGkgPCBmaW5pc2g7IGkrKyApIHsKCQl2YXIgY2IgPSBpbnB1dHNbaV07
CgkJaWYgKCAhY2IudHlwZSB8fCBjYi50eXBlLnRvTG93ZXJDYXNlKCkgIT0gJ2No
ZWNrYm94JyB8fCAoICcgJyArIGNiLmNsYXNzTmFtZSArICcgJyApLmluZGV4T2Yo
ICcgbm9zaGlmdHNlbGVjdCAnICkgICE9IC0xICkgewoJCQljb250aW51ZTsKCQl9
CgkJdmFyIGVuZCA9IGNoZWNrYm94ZXMubGVuZ3RoOwoJCWNoZWNrYm94ZXNbZW5k
XSA9IGNiOwoJCWNiLmluZGV4ID0gZW5kOwoJCWNiLm9uY2xpY2sgPSBjaGVja2Jv
eENsaWNrSGFuZGxlcjsKCX0KCglpZiAoIGZpbmlzaCA8IGlucHV0cy5sZW5ndGgg
KSB7CgkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCWFkZENoZWNrYm94Q2xp
Y2tIYW5kbGVycyggaW5wdXRzLCBmaW5pc2ggKTsKCQl9LCAyMDAgKTsKCX0KfQoK
ZnVuY3Rpb24gY2hlY2tib3hDbGlja0hhbmRsZXIoIGUgKSB7CglpZiAoIHR5cGVv
ZiBlID09ICd1bmRlZmluZWQnICkgewoJCWUgPSB3aW5kb3cuZXZlbnQ7Cgl9Cglp
ZiAoICFlLnNoaWZ0S2V5IHx8IGxhc3RDaGVja2JveCA9PT0gbnVsbCApIHsKCQls
YXN0Q2hlY2tib3ggPSB0aGlzLmluZGV4OwoJCXJldHVybiB0cnVlOwoJfQoJdmFy
IGVuZFN0YXRlID0gdGhpcy5jaGVja2VkOwoJdmFyIHN0YXJ0LCBmaW5pc2g7Cglp
ZiAoIHRoaXMuaW5kZXggPCBsYXN0Q2hlY2tib3ggKSB7CgkJc3RhcnQgPSB0aGlz
LmluZGV4ICsgMTsKCQlmaW5pc2ggPSBsYXN0Q2hlY2tib3g7Cgl9IGVsc2UgewoJ
CXN0YXJ0ID0gbGFzdENoZWNrYm94OwoJCWZpbmlzaCA9IHRoaXMuaW5kZXggLSAx
OwoJfQoJZm9yICggdmFyIGkgPSBzdGFydDsgaSA8PSBmaW5pc2g7ICsraSApIHsK
CQljaGVja2JveGVzW2ldLmNoZWNrZWQgPSBlbmRTdGF0ZTsKCQlpZiggaSA+IHN0
YXJ0ICYmIHR5cGVvZiBjaGVja2JveGVzW2ldLm9uY2hhbmdlID09ICdmdW5jdGlv
bicgKSB7CgkJCWNoZWNrYm94ZXNbaV0ub25jaGFuZ2UoKTsgLy8gZmlyZSB0cmln
Z2VycwoJCX0KCX0KCWxhc3RDaGVja2JveCA9IHRoaXMuaW5kZXg7CglyZXR1cm4g
dHJ1ZTsKfQoKCi8qCglXcml0dGVuIGJ5IEpvbmF0aGFuIFNub29rLCBodHRwOi8v
d3d3LnNub29rLmNhL2pvbmF0aGFuCglBZGQtb25zIGJ5IFJvYmVydCBOeW1hbiwg
aHR0cDovL3d3dy5yb2JlcnRueW1hbi5jb20KCUF1dGhvciBzYXlzICJUaGUgY3Jl
ZGl0IGNvbW1lbnQgaXMgYWxsIGl0IHRha2VzLCBubyBsaWNlbnNlLiBHbyBjcmF6
eSB3aXRoIGl0ITotKSIKCUZyb20gaHR0cDovL3d3dy5yb2JlcnRueW1hbi5jb20v
MjAwNS8xMS8wNy90aGUtdWx0aW1hdGUtZ2V0ZWxlbWVudHNieWNsYXNzbmFtZS8K
Ki8KZnVuY3Rpb24gZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSggb0VsbSwgc3RyVGFn
TmFtZSwgb0NsYXNzTmFtZXMgKSB7Cgl2YXIgYXJyUmV0dXJuRWxlbWVudHMgPSBu
ZXcgQXJyYXkoKTsKCWlmICggdHlwZW9mKCBvRWxtLmdldEVsZW1lbnRzQnlDbGFz
c05hbWUgKSA9PSAnZnVuY3Rpb24nICkgewoJCS8qIFVzZSBhIG5hdGl2ZSBpbXBs
ZW1lbnRhdGlvbiB3aGVyZSBwb3NzaWJsZSBGRjMsIFNhZjMuMiwgT3BlcmEgOS41
ICovCgkJdmFyIGFyck5hdGl2ZVJldHVybiA9IG9FbG0uZ2V0RWxlbWVudHNCeUNs
YXNzTmFtZSggb0NsYXNzTmFtZXMgKTsKCQlpZiAoIHN0clRhZ05hbWUgPT0gJyon
ICkgewoJCQlyZXR1cm4gYXJyTmF0aXZlUmV0dXJuOwoJCX0KCQlmb3IgKCB2YXIg
aCA9IDA7IGggPCBhcnJOYXRpdmVSZXR1cm4ubGVuZ3RoOyBoKysgKSB7CgkJCWlm
KCBhcnJOYXRpdmVSZXR1cm5baF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09IHN0
clRhZ05hbWUudG9Mb3dlckNhc2UoKSApIHsKCQkJCWFyclJldHVybkVsZW1lbnRz
W2FyclJldHVybkVsZW1lbnRzLmxlbmd0aF0gPSBhcnJOYXRpdmVSZXR1cm5baF07
CgkJCX0KCQl9CgkJcmV0dXJuIGFyclJldHVybkVsZW1lbnRzOwoJfQoJdmFyIGFy
ckVsZW1lbnRzID0gKCBzdHJUYWdOYW1lID09ICcqJyAmJiBvRWxtLmFsbCApID8g
b0VsbS5hbGwgOiBvRWxtLmdldEVsZW1lbnRzQnlUYWdOYW1lKCBzdHJUYWdOYW1l
ICk7Cgl2YXIgYXJyUmVnRXhwQ2xhc3NOYW1lcyA9IG5ldyBBcnJheSgpOwoJaWYo
IHR5cGVvZiBvQ2xhc3NOYW1lcyA9PSAnb2JqZWN0JyApIHsKCQlmb3IoIHZhciBp
ID0gMDsgaSA8IG9DbGFzc05hbWVzLmxlbmd0aDsgaSsrICkgewoJCQlhcnJSZWdF
eHBDbGFzc05hbWVzW2FyclJlZ0V4cENsYXNzTmFtZXMubGVuZ3RoXSA9CgkJCQlu
ZXcgUmVnRXhwKCIoXnxcXHMpIiArIG9DbGFzc05hbWVzW2ldLnJlcGxhY2UoL1wt
L2csICJcXC0iKSArICIoXFxzfCQpIik7CgkJfQoJfSBlbHNlIHsKCQlhcnJSZWdF
eHBDbGFzc05hbWVzW2FyclJlZ0V4cENsYXNzTmFtZXMubGVuZ3RoXSA9CgkJCW5l
dyBSZWdFeHAoIihefFxccykiICsgb0NsYXNzTmFtZXMucmVwbGFjZSgvXC0vZywg
IlxcLSIpICsgIihcXHN8JCkiKTsKCX0KCXZhciBvRWxlbWVudDsKCXZhciBiTWF0
Y2hlc0FsbDsKCWZvciggdmFyIGogPSAwOyBqIDwgYXJyRWxlbWVudHMubGVuZ3Ro
OyBqKysgKSB7CgkJb0VsZW1lbnQgPSBhcnJFbGVtZW50c1tqXTsKCQliTWF0Y2hl
c0FsbCA9IHRydWU7CgkJZm9yKCB2YXIgayA9IDA7IGsgPCBhcnJSZWdFeHBDbGFz
c05hbWVzLmxlbmd0aDsgaysrICkgewoJCQlpZiggIWFyclJlZ0V4cENsYXNzTmFt
ZXNba10udGVzdCggb0VsZW1lbnQuY2xhc3NOYW1lICkgKSB7CgkJCQliTWF0Y2hl
c0FsbCA9IGZhbHNlOwoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJaWYoIGJNYXRjaGVz
QWxsICkgewoJCQlhcnJSZXR1cm5FbGVtZW50c1thcnJSZXR1cm5FbGVtZW50cy5s
ZW5ndGhdID0gb0VsZW1lbnQ7CgkJfQoJfQoJcmV0dXJuICggYXJyUmV0dXJuRWxl
bWVudHMgKTsKfQoKZnVuY3Rpb24gcmVkaXJlY3RUb0ZyYWdtZW50KCBmcmFnbWVu
dCApIHsKCXZhciBtYXRjaCA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0Fw
cGxlV2ViS2l0XC8oXGQrKS8pOwoJaWYgKCBtYXRjaCApIHsKCQl2YXIgd2ViS2l0
VmVyc2lvbiA9IHBhcnNlSW50KCBtYXRjaFsxXSApOwoJCWlmICggd2ViS2l0VmVy
c2lvbiA8IDQyMCApIHsKCQkJLy8gUmVsZWFzZWQgU2FmYXJpIHcvIFdlYktpdCA0
MTguOS4xIG1lc3NlcyB1cCBob3JyaWJseQoJCQkvLyBOaWdodGxpZXMgb2YgNDIw
KyBhcmUgb2sKCQkJcmV0dXJuOwoJCX0KCX0KCWlmICggaXNfZ2Vja28gKSB7CgkJ
Ly8gTW96aWxsYSBuZWVkcyB0byB3YWl0IHVudGlsIGFmdGVyIGxvYWQsIG90aGVy
d2lzZSB0aGUgd2luZG93IGRvZXNuJ3Qgc2Nyb2xsCgkJYWRkT25sb2FkSG9vayhm
dW5jdGlvbigpIHsKCQkJaWYgKCB3aW5kb3cubG9jYXRpb24uaGFzaCA9PSAnJyAp
IHsKCQkJCXdpbmRvdy5sb2NhdGlvbi5oYXNoID0gZnJhZ21lbnQ7CgkJCX0KCQl9
KTsKCX0gZWxzZSB7CgkJaWYgKCB3aW5kb3cubG9jYXRpb24uaGFzaCA9PSAnJyAp
IHsKCQkJd2luZG93LmxvY2F0aW9uLmhhc2ggPSBmcmFnbWVudDsKCQl9Cgl9Cn0K
Ci8qCiAqIFRhYmxlIHNvcnRpbmcgc2NyaXB0IGJhc2VkIG9uIG9uZSAoYykgMTk5
Ny0yMDA2IFN0dWFydCBMYW5ncmlkZ2UgYW5kIEpvb3N0CiAqIGRlIFZhbGs6CiAq
IGh0dHA6Ly93d3cuam9vc3RkZXZhbGsubmwvY29kZS9zb3J0YWJsZS10YWJsZS8K
ICogaHR0cDovL3d3dy5rcnlvZ2VuaXgub3JnL2NvZGUvYnJvd3Nlci9zb3J0dGFi
bGUvCiAqCiAqIEB0b2RvIGRvbid0IGJyZWFrIG9uIGNvbHNwYW5zL3Jvd3NwYW5z
IChidWcgODAyOCkKICogQHRvZG8gbGFuZ3VhZ2Utc3BlY2lmaWMgZGlnaXQgZ3Jv
dXBpbmcvZGVjaW1hbHMgKGJ1ZyA4MDYzKQogKiBAdG9kbyBzdXBwb3J0IGFsbCBh
Y2NlcHRlZCBkYXRlIGZvcm1hdHMgKGJ1ZyA4MjI2KQogKi8KCnZhciB0c19pbWFn
ZV9wYXRoID0gc3R5bGVwYXRoICsgJy9jb21tb24vaW1hZ2VzLyc7CnZhciB0c19p
bWFnZV91cCA9ICdzb3J0X3VwLmdpZic7CnZhciB0c19pbWFnZV9kb3duID0gJ3Nv
cnRfZG93bi5naWYnOwp2YXIgdHNfaW1hZ2Vfbm9uZSA9ICdzb3J0X25vbmUuZ2lm
JzsKdmFyIHRzX2V1cm9wZWFuZGF0ZSA9IHdnQ29udGVudExhbmd1YWdlICE9ICdl
bic7IC8vIFRoZSBub24tQW1lcmljYW4taW5jbGluZWQgY2FuIGNoYW5nZSB0byAi
dHJ1ZSIKdmFyIHRzX2FsdGVybmF0ZV9yb3dfY29sb3JzID0gZmFsc2U7CnZhciB0
c19udW1iZXJfdHJhbnNmb3JtX3RhYmxlID0gbnVsbDsKdmFyIHRzX251bWJlcl9y
ZWdleCA9IG51bGw7CgpmdW5jdGlvbiBzb3J0YWJsZXNfaW5pdCgpIHsKCXZhciBp
ZG51bSA9IDA7CgkvLyBGaW5kIGFsbCB0YWJsZXMgd2l0aCBjbGFzcyBzb3J0YWJs
ZSBhbmQgbWFrZSB0aGVtIHNvcnRhYmxlCgl2YXIgdGFibGVzID0gZ2V0RWxlbWVu
dHNCeUNsYXNzTmFtZSggZG9jdW1lbnQsICd0YWJsZScsICdzb3J0YWJsZScgKTsK
CWZvciAoIHZhciB0aSA9IDA7IHRpIDwgdGFibGVzLmxlbmd0aCA7IHRpKysgKSB7
CgkJaWYgKCAhdGFibGVzW3RpXS5pZCApIHsKCQkJdGFibGVzW3RpXS5zZXRBdHRy
aWJ1dGUoICdpZCcsICdzb3J0YWJsZV90YWJsZV9pZF8nICsgaWRudW0gKTsKCQkJ
KytpZG51bTsKCQl9CgkJdHNfbWFrZVNvcnRhYmxlKCB0YWJsZXNbdGldICk7Cgl9
Cn0KCmZ1bmN0aW9uIHRzX21ha2VTb3J0YWJsZSggdGFibGUgKSB7Cgl2YXIgZmly
c3RSb3c7CglpZiAoIHRhYmxlLnJvd3MgJiYgdGFibGUucm93cy5sZW5ndGggPiAw
ICkgewoJCWlmICggdGFibGUudEhlYWQgJiYgdGFibGUudEhlYWQucm93cy5sZW5n
dGggPiAwICkgewoJCQlmaXJzdFJvdyA9IHRhYmxlLnRIZWFkLnJvd3NbdGFibGUu
dEhlYWQucm93cy5sZW5ndGgtMV07CgkJfSBlbHNlIHsKCQkJZmlyc3RSb3cgPSB0
YWJsZS5yb3dzWzBdOwoJCX0KCX0KCWlmICggIWZpcnN0Um93ICkgewoJCXJldHVy
bjsKCX0KCgkvLyBXZSBoYXZlIGEgZmlyc3Qgcm93OiBhc3N1bWUgaXQncyB0aGUg
aGVhZGVyLCBhbmQgbWFrZSBpdHMgY29udGVudHMgY2xpY2thYmxlIGxpbmtzCglm
b3IgKCB2YXIgaSA9IDA7IGkgPCBmaXJzdFJvdy5jZWxscy5sZW5ndGg7IGkrKyAp
IHsKCQl2YXIgY2VsbCA9IGZpcnN0Um93LmNlbGxzW2ldOwoJCWlmICggKCcgJyAr
IGNlbGwuY2xhc3NOYW1lICsgJyAnKS5pbmRleE9mKCcgdW5zb3J0YWJsZSAnKSA9
PSAtMSApIHsKCQkJY2VsbC5pbm5lckhUTUwgKz0gJzxhIGhyZWY9IiMiIGNsYXNz
PSJzb3J0aGVhZGVyIiAnCgkJCQkrICdvbmNsaWNrPSJ0c19yZXNvcnRUYWJsZSh0
aGlzKTtyZXR1cm4gZmFsc2U7Ij4nCgkJCQkrICc8c3BhbiBjbGFzcz0ic29ydGFy
cm93Ij4nCgkJCQkrICc8aW1nIHNyYz0iJwoJCQkJKyB0c19pbWFnZV9wYXRoCgkJ
CQkrIHRzX2ltYWdlX25vbmUKCQkJCSsgJyIgYWx0PSImZGFycjsiLz48L3NwYW4+
PC9hPic7CgkJfQoJfQoJaWYgKCB0c19hbHRlcm5hdGVfcm93X2NvbG9ycyApIHsK
CQl0c19hbHRlcm5hdGUoIHRhYmxlICk7Cgl9Cn0KCmZ1bmN0aW9uIHRzX2dldElu
bmVyVGV4dCggZWwgKSB7CglyZXR1cm4gZ2V0SW5uZXJUZXh0KCBlbCApOwp9Cgpm
dW5jdGlvbiB0c19yZXNvcnRUYWJsZSggbG5rICkgewoJLy8gZ2V0IHRoZSBzcGFu
Cgl2YXIgc3BhbiA9IGxuay5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc3BhbicpWzBd
OwoKCXZhciB0ZCA9IGxuay5wYXJlbnROb2RlOwoJdmFyIHRyID0gdGQucGFyZW50
Tm9kZTsKCXZhciBjb2x1bW4gPSB0ZC5jZWxsSW5kZXg7CgoJdmFyIHRhYmxlID0g
dHIucGFyZW50Tm9kZTsKCXdoaWxlICggdGFibGUgJiYgISggdGFibGUudGFnTmFt
ZSAmJiB0YWJsZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ3RhYmxlJyApICkg
ewoJCXRhYmxlID0gdGFibGUucGFyZW50Tm9kZTsKCX0KCWlmICggIXRhYmxlICkg
ewoJCXJldHVybjsKCX0KCglpZiAoIHRhYmxlLnJvd3MubGVuZ3RoIDw9IDEgKSB7
CgkJcmV0dXJuOwoJfQoKCS8vIEdlbmVyYXRlIHRoZSBudW1iZXIgdHJhbnNmb3Jt
IHRhYmxlIGlmIGl0J3Mgbm90IGRvbmUgYWxyZWFkeQoJaWYgKCB0c19udW1iZXJf
dHJhbnNmb3JtX3RhYmxlID09PSBudWxsICkgewoJCXRzX2luaXRUcmFuc2Zvcm1U
YWJsZSgpOwoJfQoKCS8vIFdvcmsgb3V0IGEgdHlwZSBmb3IgdGhlIGNvbHVtbgoJ
Ly8gU2tpcCB0aGUgZmlyc3Qgcm93IGlmIHRoYXQncyB3aGVyZSB0aGUgaGVhZGlu
Z3MgYXJlCgl2YXIgcm93U3RhcnQgPSAoIHRhYmxlLnRIZWFkICYmIHRhYmxlLnRI
ZWFkLnJvd3MubGVuZ3RoID4gMCA/IDAgOiAxICk7CgoJdmFyIGl0bSA9ICcnOwoJ
Zm9yICggdmFyIGkgPSByb3dTdGFydDsgaSA8IHRhYmxlLnJvd3MubGVuZ3RoOyBp
KysgKSB7CgkJaWYgKCB0YWJsZS5yb3dzW2ldLmNlbGxzLmxlbmd0aCA+IGNvbHVt
biApIHsKCQkJaXRtID0gdHNfZ2V0SW5uZXJUZXh0KHRhYmxlLnJvd3NbaV0uY2Vs
bHNbY29sdW1uXSk7CgkJCWl0bSA9IGl0bS5yZXBsYWNlKC9eW1xzXHhhMF0rLywg
JycpLnJlcGxhY2UoL1tcc1x4YTBdKyQvLCAnJyk7CgkJCWlmICggaXRtICE9ICcn
ICkgewoJCQkJYnJlYWs7CgkJCX0KCQl9Cgl9CgoJLy8gVE9ETzogYnVnIDgyMjYs
IGxvY2FsaXNlZCBkYXRlIGZvcm1hdHMKCXZhciBzb3J0Zm4gPSB0c19zb3J0X2dl
bmVyaWM7Cgl2YXIgcHJlcHJvY2Vzc29yID0gdHNfdG9Mb3dlckNhc2U7CglpZiAo
IC9eXGRcZFtcLy4gLV1bYS16QS1aXXszfVtcLy4gLV1cZFxkXGRcZCQvLnRlc3Qo
IGl0bSApICkgewoJCXByZXByb2Nlc3NvciA9IHRzX2RhdGVUb1NvcnRLZXk7Cgl9
IGVsc2UgaWYgKCAvXlxkXGRbXC8uLV1cZFxkW1wvLi1dXGRcZFxkXGQkLy50ZXN0
KCBpdG0gKSApIHsKCQlwcmVwcm9jZXNzb3IgPSB0c19kYXRlVG9Tb3J0S2V5OwoJ
fSBlbHNlIGlmICggL15cZFxkW1wvLi1dXGRcZFtcLy4tXVxkXGQkLy50ZXN0KCBp
dG0gKSApIHsKCQlwcmVwcm9jZXNzb3IgPSB0c19kYXRlVG9Tb3J0S2V5OwoJCS8v
IChtaW51cyBzaWduKShbcG91bmQgZG9sbGFyIGV1cm8geWVuIGN1cnJlbmN5XXxj
ZW50cykKCX0gZWxzZSBpZiAoIC8oXihbLVx1MjIxMl0gKik/W1x1MDBhMyRcdTIw
YWNcdTAwYTRcdTAwYTVdfFx1MDBhMiQpLy50ZXN0KCBpdG0gKSApIHsKCQlwcmVw
cm9jZXNzb3IgPSB0c19jdXJyZW5jeVRvU29ydEtleTsKCX0gZWxzZSBpZiAoIHRz
X251bWJlcl9yZWdleC50ZXN0KCBpdG0gKSApIHsKCQlwcmVwcm9jZXNzb3IgPSB0
c19wYXJzZUZsb2F0OwoJfQoKCXZhciByZXZlcnNlID0gKCBzcGFuLmdldEF0dHJp
YnV0ZSggJ3NvcnRkaXInICkgPT0gJ2Rvd24nICk7CgoJdmFyIG5ld1Jvd3MgPSBu
ZXcgQXJyYXkoKTsKCXZhciBzdGF0aWNSb3dzID0gbmV3IEFycmF5KCk7Cglmb3Ig
KCB2YXIgaiA9IHJvd1N0YXJ0OyBqIDwgdGFibGUucm93cy5sZW5ndGg7IGorKyAp
IHsKCQl2YXIgcm93ID0gdGFibGUucm93c1tqXTsKCQlpZiggKCcgJyArIHJvdy5j
bGFzc05hbWUgKyAnICcpLmluZGV4T2YoJyB1bnNvcnRhYmxlICcpIDwgMCApIHsK
CQkJdmFyIGtleVRleHQgPSB0c19nZXRJbm5lclRleHQoIHJvdy5jZWxsc1tjb2x1
bW5dICk7CgkJCWlmKCBrZXlUZXh0ID09PSB1bmRlZmluZWQgKSB7CgkJCQlrZXlU
ZXh0ID0gJyc7IAoJCQl9CgkJCXZhciBvbGRJbmRleCA9ICggcmV2ZXJzZSA/IC1q
IDogaiApOwoJCQl2YXIgcHJlcHJvY2Vzc2VkID0gcHJlcHJvY2Vzc29yKCBrZXlU
ZXh0LnJlcGxhY2UoL15bXHNceGEwXSsvLCAnJykucmVwbGFjZSgvW1xzXHhhMF0r
JC8sICcnKSApOwoKCQkJbmV3Um93c1tuZXdSb3dzLmxlbmd0aF0gPSBuZXcgQXJy
YXkoIHJvdywgcHJlcHJvY2Vzc2VkLCBvbGRJbmRleCApOwoJCX0gZWxzZSB7CgkJ
CXN0YXRpY1Jvd3Nbc3RhdGljUm93cy5sZW5ndGhdID0gbmV3IEFycmF5KCByb3cs
IGZhbHNlLCBqLXJvd1N0YXJ0ICk7CgkJfQoJfQoKCW5ld1Jvd3Muc29ydCggc29y
dGZuICk7CgoJdmFyIGFycm93SFRNTDsKCWlmICggcmV2ZXJzZSApIHsKCQlhcnJv
d0hUTUwgPSAnPGltZyBzcmM9IicgKyB0c19pbWFnZV9wYXRoICsgdHNfaW1hZ2Vf
ZG93biArICciIGFsdD0iJmRhcnI7Ii8+JzsKCQluZXdSb3dzLnJldmVyc2UoKTsK
CQlzcGFuLnNldEF0dHJpYnV0ZSggJ3NvcnRkaXInLCAndXAnICk7Cgl9IGVsc2Ug
ewoJCWFycm93SFRNTCA9ICc8aW1nIHNyYz0iJyArIHRzX2ltYWdlX3BhdGggKyB0
c19pbWFnZV91cCArICciIGFsdD0iJnVhcnI7Ii8+JzsKCQlzcGFuLnNldEF0dHJp
YnV0ZSggJ3NvcnRkaXInLCAnZG93bicgKTsKCX0KCglmb3IgKCB2YXIgaSA9IDA7
IGkgPCBzdGF0aWNSb3dzLmxlbmd0aDsgaSsrICkgewoJCXZhciByb3cgPSBzdGF0
aWNSb3dzW2ldOwoJCW5ld1Jvd3Muc3BsaWNlKCByb3dbMl0sIDAsIHJvdyApOwoJ
fQoKCS8vIFdlIGFwcGVuZENoaWxkIHJvd3MgdGhhdCBhbHJlYWR5IGV4aXN0IHRv
IHRoZSB0Ym9keSwgc28gaXQgbW92ZXMgdGhlbSByYXRoZXIgdGhhbiBjcmVhdGlu
ZyBuZXcgb25lcwoJLy8gZG9uJ3QgZG8gc29ydGJvdHRvbSByb3dzCglmb3IgKCB2
YXIgaSA9IDA7IGkgPCBuZXdSb3dzLmxlbmd0aDsgaSsrICkgewoJCWlmICggKCAn
ICcgKyBuZXdSb3dzW2ldWzBdLmNsYXNzTmFtZSArICcgJykuaW5kZXhPZignIHNv
cnRib3R0b20gJykgPT0gLTEgKSB7CgkJCXRhYmxlLnRCb2RpZXNbMF0uYXBwZW5k
Q2hpbGQoIG5ld1Jvd3NbaV1bMF0gKTsKCQl9Cgl9CgkvLyBkbyBzb3J0Ym90dG9t
IHJvd3Mgb25seQoJZm9yICggdmFyIGkgPSAwOyBpIDwgbmV3Um93cy5sZW5ndGg7
IGkrKyApIHsKCQlpZiAoICggJyAnICsgbmV3Um93c1tpXVswXS5jbGFzc05hbWUg
KyAnICcpLmluZGV4T2YoJyBzb3J0Ym90dG9tICcpICE9IC0xICkgewoJCQl0YWJs
ZS50Qm9kaWVzWzBdLmFwcGVuZENoaWxkKCBuZXdSb3dzW2ldWzBdICk7CgkJfQoJ
fQoKCS8vIERlbGV0ZSBhbnkgb3RoZXIgYXJyb3dzIHRoZXJlIG1heSBiZSBzaG93
aW5nCgl2YXIgc3BhbnMgPSBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCB0ciwgJ3Nw
YW4nLCAnc29ydGFycm93JyApOwoJZm9yICggdmFyIGkgPSAwOyBpIDwgc3BhbnMu
bGVuZ3RoOyBpKysgKSB7CgkJc3BhbnNbaV0uaW5uZXJIVE1MID0gJzxpbWcgc3Jj
PSInICsgdHNfaW1hZ2VfcGF0aCArIHRzX2ltYWdlX25vbmUgKyAnIiBhbHQ9IiZk
YXJyOyIvPic7Cgl9CglzcGFuLmlubmVySFRNTCA9IGFycm93SFRNTDsKCglpZiAo
IHRzX2FsdGVybmF0ZV9yb3dfY29sb3JzICkgewoJCXRzX2FsdGVybmF0ZSggdGFi
bGUgKTsKCX0KfQoKZnVuY3Rpb24gdHNfaW5pdFRyYW5zZm9ybVRhYmxlKCkgewoJ
aWYgKCB0eXBlb2Ygd2dTZXBhcmF0b3JUcmFuc2Zvcm1UYWJsZSA9PSAndW5kZWZp
bmVkJwoJCQl8fCAoIHdnU2VwYXJhdG9yVHJhbnNmb3JtVGFibGVbMF0gPT0gJycg
JiYgd2dEaWdpdFRyYW5zZm9ybVRhYmxlWzJdID09ICcnICkgKQoJewoJCWRpZ2l0
Q2xhc3MgPSAiWzAtOSwuXSI7CgkJdHNfbnVtYmVyX3RyYW5zZm9ybV90YWJsZSA9
IGZhbHNlOwoJfSBlbHNlIHsKCQl0c19udW1iZXJfdHJhbnNmb3JtX3RhYmxlID0g
e307CgkJLy8gVW5wYWNrIHRoZSB0cmFuc2Zvcm0gdGFibGUKCQkvLyBTZXBhcmF0
b3JzCgkJYXNjaWkgPSB3Z1NlcGFyYXRvclRyYW5zZm9ybVRhYmxlWzBdLnNwbGl0
KCJcdCIpOwoJCWxvY2FsaXNlZCA9IHdnU2VwYXJhdG9yVHJhbnNmb3JtVGFibGVb
MV0uc3BsaXQoIlx0Iik7CgkJZm9yICggdmFyIGkgPSAwOyBpIDwgYXNjaWkubGVu
Z3RoOyBpKysgKSB7CgkJCXRzX251bWJlcl90cmFuc2Zvcm1fdGFibGVbbG9jYWxp
c2VkW2ldXSA9IGFzY2lpW2ldOwoJCX0KCQkvLyBEaWdpdHMKCQlhc2NpaSA9IHdn
RGlnaXRUcmFuc2Zvcm1UYWJsZVswXS5zcGxpdCgiXHQiKTsKCQlsb2NhbGlzZWQg
PSB3Z0RpZ2l0VHJhbnNmb3JtVGFibGVbMV0uc3BsaXQoIlx0Iik7CgkJZm9yICgg
dmFyIGkgPSAwOyBpIDwgYXNjaWkubGVuZ3RoOyBpKysgKSB7CgkJCXRzX251bWJl
cl90cmFuc2Zvcm1fdGFibGVbbG9jYWxpc2VkW2ldXSA9IGFzY2lpW2ldOwoJCX0K
CgkJLy8gQ29uc3RydWN0IHJlZ2V4IGZvciBudW1iZXIgaWRlbnRpZmljYXRpb24K
CQlkaWdpdHMgPSBbJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAn
NycsICc4JywgJzknLCAnLCcsICdcXC4nXTsKCQltYXhEaWdpdExlbmd0aCA9IDE7
CgkJZm9yICggdmFyIGRpZ2l0IGluIHRzX251bWJlcl90cmFuc2Zvcm1fdGFibGUg
KSB7CgkJCS8vIEVzY2FwZSByZWdleCBtZXRhY2hhcmFjdGVycwoJCQlkaWdpdHMu
cHVzaCgKCQkJCWRpZ2l0LnJlcGxhY2UoIC9bXFxcXCRcKlwrXD9cLlwoXClcfFx7
XH1cW1xdXC1dLywKCQkJCQlmdW5jdGlvbiggcyApIHsgcmV0dXJuICdcXCcgKyBz
OyB9ICkKCQkJKTsKCQkJaWYgKCBkaWdpdC5sZW5ndGggPiBtYXhEaWdpdExlbmd0
aCApIHsKCQkJCW1heERpZ2l0TGVuZ3RoID0gZGlnaXQubGVuZ3RoOwoJCQl9CgkJ
fQoJCWlmICggbWF4RGlnaXRMZW5ndGggPiAxICkgewoJCQlkaWdpdENsYXNzID0g
J1snICsgZGlnaXRzLmpvaW4oICcnLCBkaWdpdHMgKSArICddJzsKCQl9IGVsc2Ug
ewoJCQlkaWdpdENsYXNzID0gJygnICsgZGlnaXRzLmpvaW4oICd8JywgZGlnaXRz
ICkgKyAnKSc7CgkJfQoJfQoKCS8vIFdlIGFsbG93IGEgdHJhaWxpbmcgcGVyY2Vu
dCBzaWduLCB3aGljaCB3ZSBqdXN0IHN0cmlwLiAgVGhpcyB3b3JrcyBmaW5lCgkv
LyBpZiBwZXJjZW50cyBhbmQgcmVndWxhciBudW1iZXJzIGFyZW4ndCBiZWluZyBt
aXhlZC4KCXRzX251bWJlcl9yZWdleCA9IG5ldyBSZWdFeHAoCgkJIl4oIiArCgkJ
CSJbLStcdTIyMTJdP1swLTldWzAtOSxdKihcXC5bMC05LF0qKT8oRVstK1x1MjIx
Ml0/WzAtOV1bMC05LF0qKT8iICsgLy8gRm9ydHJhbi1zdHlsZSBzY2llbnRpZmlj
CgkJCSJ8IiArCgkJCSJbLStcdTIyMTJdPyIgKyBkaWdpdENsYXNzICsgIislPyIg
KyAvLyBHZW5lcmljIGxvY2FsaXNlZAoJCSIpJCIsICJpIgoJKTsKfQoKZnVuY3Rp
b24gdHNfdG9Mb3dlckNhc2UoIHMgKSB7CglyZXR1cm4gcy50b0xvd2VyQ2FzZSgp
Owp9CgpmdW5jdGlvbiB0c19kYXRlVG9Tb3J0S2V5KCBkYXRlICkgewoJLy8geTJr
IG5vdGVzOiB0d28gZGlnaXQgeWVhcnMgbGVzcyB0aGFuIDUwIGFyZSB0cmVhdGVk
IGFzIDIwWFgsIGdyZWF0ZXIgdGhhbiA1MCBhcmUgdHJlYXRlZCBhcyAxOVhYCglp
ZiAoIGRhdGUubGVuZ3RoID09IDExICkgewoJCXN3aXRjaCAoIGRhdGUuc3Vic3Ry
KCAzLCAzICkudG9Mb3dlckNhc2UoKSApIHsKCQkJY2FzZSAnamFuJzoKCQkJCXZh
ciBtb250aCA9ICcwMSc7CgkJCQlicmVhazsKCQkJY2FzZSAnZmViJzoKCQkJCXZh
ciBtb250aCA9ICcwMic7CgkJCQlicmVhazsKCQkJY2FzZSAnbWFyJzoKCQkJCXZh
ciBtb250aCA9ICcwMyc7CgkJCQlicmVhazsKCQkJY2FzZSAnYXByJzoKCQkJCXZh
ciBtb250aCA9ICcwNCc7CgkJCQlicmVhazsKCQkJY2FzZSAnbWF5JzoKCQkJCXZh
ciBtb250aCA9ICcwNSc7CgkJCQlicmVhazsKCQkJY2FzZSAnanVuJzoKCQkJCXZh
ciBtb250aCA9ICcwNic7CgkJCQlicmVhazsKCQkJY2FzZSAnanVsJzoKCQkJCXZh
ciBtb250aCA9ICcwNyc7CgkJCQlicmVhazsKCQkJY2FzZSAnYXVnJzoKCQkJCXZh
ciBtb250aCA9ICcwOCc7CgkJCQlicmVhazsKCQkJY2FzZSAnc2VwJzoKCQkJCXZh
ciBtb250aCA9ICcwOSc7CgkJCQlicmVhazsKCQkJY2FzZSAnb2N0JzoKCQkJCXZh
ciBtb250aCA9ICcxMCc7CgkJCQlicmVhazsKCQkJY2FzZSAnbm92JzoKCQkJCXZh
ciBtb250aCA9ICcxMSc7CgkJCQlicmVhazsKCQkJY2FzZSAnZGVjJzoKCQkJCXZh
ciBtb250aCA9ICcxMic7CgkJCQlicmVhazsKCQkJLy8gZGVmYXVsdDogdmFyIG1v
bnRoID0gJzAwJzsKCQl9CgkJcmV0dXJuIGRhdGUuc3Vic3RyKCA3LCA0ICkgKyBt
b250aCArIGRhdGUuc3Vic3RyKCAwLCAyICk7Cgl9IGVsc2UgaWYgKCBkYXRlLmxl
bmd0aCA9PSAxMCApIHsKCQlpZiAoIHRzX2V1cm9wZWFuZGF0ZSA9PSBmYWxzZSAp
IHsKCQkJcmV0dXJuIGRhdGUuc3Vic3RyKCA2LCA0ICkgKyBkYXRlLnN1YnN0cigg
MCwgMiApICsgZGF0ZS5zdWJzdHIoIDMsIDIgKTsKCQl9IGVsc2UgewoJCQlyZXR1
cm4gZGF0ZS5zdWJzdHIoIDYsIDQgKSArIGRhdGUuc3Vic3RyKCAzLCAyICkgKyBk
YXRlLnN1YnN0ciggMCwgMiApOwoJCX0KCX0gZWxzZSBpZiAoIGRhdGUubGVuZ3Ro
ID09IDggKSB7CgkJeXIgPSBkYXRlLnN1YnN0ciggNiwgMiApOwoJCWlmICggcGFy
c2VJbnQoIHlyICkgPCA1MCApIHsKCQkJeXIgPSAnMjAnICsgeXI7CgkJfSBlbHNl
IHsKCQkJeXIgPSAnMTknICsgeXI7CgkJfQoJCWlmICggdHNfZXVyb3BlYW5kYXRl
ID09IHRydWUgKSB7CgkJCXJldHVybiB5ciArIGRhdGUuc3Vic3RyKCAzLCAyICkg
KyBkYXRlLnN1YnN0ciggMCwgMiApOwoJCX0gZWxzZSB7CgkJCXJldHVybiB5ciAr
IGRhdGUuc3Vic3RyKCAwLCAyICkgKyBkYXRlLnN1YnN0ciggMywgMiApOwoJCX0K
CX0KCXJldHVybiAnMDAwMDAwMDAnOwp9CgpmdW5jdGlvbiB0c19wYXJzZUZsb2F0
KCBzICkgewoJaWYgKCAhcyApIHsKCQlyZXR1cm4gMDsKCX0KCWlmICggdHNfbnVt
YmVyX3RyYW5zZm9ybV90YWJsZSAhPSBmYWxzZSApIHsKCQl2YXIgbmV3TnVtID0g
JycsIGM7CgoJCWZvciAoIHZhciBwID0gMDsgcCA8IHMubGVuZ3RoOyBwKysgKSB7
CgkJCWMgPSBzLmNoYXJBdCggcCApOwoJCQlpZiAoIGMgaW4gdHNfbnVtYmVyX3Ry
YW5zZm9ybV90YWJsZSApIHsKCQkJCW5ld051bSArPSB0c19udW1iZXJfdHJhbnNm
b3JtX3RhYmxlW2NdOwoJCQl9IGVsc2UgewoJCQkJbmV3TnVtICs9IGM7CgkJCX0K
CQl9CgkJcyA9IG5ld051bTsKCX0KCW51bSA9IHBhcnNlRmxvYXQoIHMucmVwbGFj
ZSgvWywgXS9nLCAnJykucmVwbGFjZSgiXHUyMjEyIiwgJy0nKSApOwoJcmV0dXJu
ICggaXNOYU4oIG51bSApID8gLUluZmluaXR5IDogbnVtICk7Cn0KCmZ1bmN0aW9u
IHRzX2N1cnJlbmN5VG9Tb3J0S2V5KCBzICkgewoJcmV0dXJuIHRzX3BhcnNlRmxv
YXQocy5yZXBsYWNlKC9bXi1cdTIyMTIwLTkuLF0vZywnJykpOwp9CgpmdW5jdGlv
biB0c19zb3J0X2dlbmVyaWMoIGEsIGIgKSB7CglyZXR1cm4gYVsxXSA8IGJbMV0g
PyAtMSA6IGFbMV0gPiBiWzFdID8gMSA6IGFbMl0gLSBiWzJdOwp9CgpmdW5jdGlv
biB0c19hbHRlcm5hdGUoIHRhYmxlICkgewoJLy8gVGFrZSBvYmplY3QgdGFibGUg
YW5kIGdldCBhbGwgaXQncyB0Ym9kaWVzLgoJdmFyIHRhYmxlQm9kaWVzID0gdGFi
bGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoICd0Ym9keScgKTsKCS8vIExvb3AgdGhy
b3VnaCB0aGVzZSB0Ym9kaWVzCglmb3IgKCB2YXIgaSA9IDA7IGkgPCB0YWJsZUJv
ZGllcy5sZW5ndGg7IGkrKyApIHsKCQkvLyBUYWtlIHRoZSB0Ym9keSwgYW5kIGdl
dCBhbGwgaXQncyByb3dzCgkJdmFyIHRhYmxlUm93cyA9IHRhYmxlQm9kaWVzW2ld
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCAndHInICk7CgkJLy8gTG9vcCB0aHJvdWdo
IHRoZXNlIHJvd3MKCQkvLyBTdGFydCBhdCAxIGJlY2F1c2Ugd2Ugd2FudCB0byBs
ZWF2ZSB0aGUgaGVhZGluZyByb3cgdW50b3VjaGVkCgkJZm9yICggdmFyIGogPSAw
OyBqIDwgdGFibGVSb3dzLmxlbmd0aDsgaisrICkgewoJCQkvLyBDaGVjayBpZiBq
IGlzIGV2ZW4sIGFuZCBhcHBseSBjbGFzc2VzIGZvciBib3RoIHBvc3NpYmxlIHJl
c3VsdHMKCQkJdmFyIG9sZENsYXNzZXMgPSB0YWJsZVJvd3Nbal0uY2xhc3NOYW1l
LnNwbGl0KCcgJyk7CgkJCXZhciBuZXdDbGFzc05hbWUgPSAnJzsKCQkJZm9yICgg
dmFyIGsgPSAwOyBrIDwgb2xkQ2xhc3Nlcy5sZW5ndGg7IGsrKyApIHsKCQkJCWlm
ICggb2xkQ2xhc3Nlc1trXSAhPSAnJyAmJiBvbGRDbGFzc2VzW2tdICE9ICdldmVu
JyAmJiBvbGRDbGFzc2VzW2tdICE9ICdvZGQnICkgewoJCQkJCW5ld0NsYXNzTmFt
ZSArPSBvbGRDbGFzc2VzW2tdICsgJyAnOwoJCQkJfQoJCQl9CgkJCXRhYmxlUm93
c1tqXS5jbGFzc05hbWUgPSBuZXdDbGFzc05hbWUgKyAoIGogJSAyID09IDAgPyAn
ZXZlbicgOiAnb2RkJyApOwoJCX0KCX0KfQoKLyoKICogRW5kIG9mIHRhYmxlIHNv
cnRpbmcgY29kZQogKi8KCgovKioKICogQWRkIGEgY3V0ZSBsaXR0bGUgYm94IGF0
IHRoZSB0b3Agb2YgdGhlIHNjcmVlbiB0byBpbmZvcm0gdGhlIHVzZXIgb2YKICog
c29tZXRoaW5nLCByZXBsYWNpbmcgYW55IHByZWV4aXN0aW5nIG1lc3NhZ2UuCiAq
CiAqIEBwYXJhbSBTdHJpbmcgLW9yLSBEb20gT2JqZWN0IG1lc3NhZ2UgSFRNTCB0
byBiZSBwdXQgaW5zaWRlIHRoZSByaWdodCBkaXYKICogQHBhcmFtIFN0cmluZyBj
bGFzc05hbWUgICBVc2VkIGluIGFkZGluZyBhIGNsYXNzOyBzaG91bGQgYmUgZGlm
ZmVyZW50IGZvciBlYWNoCiAqICAgY2FsbCB0byBhbGxvdyBDU1MvSlMgdG8gaGlk
ZSBkaWZmZXJlbnQgYm94ZXMuICBudWxsID0gbm8gY2xhc3MgdXNlZC4KICogQHJl
dHVybiBCb29sZWFuICAgICAgIFRydWUgb24gc3VjY2VzcywgZmFsc2Ugb24gZmFp
bHVyZQogKi8KZnVuY3Rpb24ganNNc2coIG1lc3NhZ2UsIGNsYXNzTmFtZSApIHsK
CWlmICggIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkICkgewoJCXJldHVybiBmYWxz
ZTsKCX0KCS8vIFdlIHNwZWNpYWwtY2FzZSBza2luIHN0cnVjdHVyZXMgcHJvdmlk
ZWQgYnkgdGhlIHNvZnR3YXJlLiAgU2tpbnMgdGhhdAoJLy8gY2hvb3NlIHRvIGFi
YW5kb24gb3Igc2lnbmlmaWNhbnRseSBtb2RpZnkgb3VyIGZvcm1hdHRpbmcgY2Fu
IGp1c3QgZGVmaW5lCgkvLyBhbiBtdy1qcy1tZXNzYWdlIGRpdiB0byBzdGFydCB3
aXRoLgoJdmFyIG1lc3NhZ2VEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgg
J213LWpzLW1lc3NhZ2UnICk7CglpZiAoICFtZXNzYWdlRGl2ICkgewoJCW1lc3Nh
Z2VEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnZGl2JyApOwoJCWlmICgg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICdjb2x1bW4tY29udGVudCcgKQoJCSYm
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAnY29udGVudCcgKSApIHsKCQkJLy8g
TW9ub0Jvb2ssIHByZXN1bWFibHkKCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ICdjb250ZW50JyApLmluc2VydEJlZm9yZSgKCQkJCW1lc3NhZ2VEaXYsCgkJCQlk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCggJ2NvbnRlbnQnICkuZmlyc3RDaGlsZAoJ
CQkpOwoJCX0gZWxzZSBpZiAoIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAnY29u
dGVudCcgKQoJCSYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAnYXJ0aWNsZScg
KSApIHsKCQkJLy8gTm9uLU1vbm9ib29rIGJ1dCBzdGlsbCByZWNvZ25pemFibGUg
KG9sZC1zdHlsZSkKCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICdhcnRpY2xl
JykuaW5zZXJ0QmVmb3JlKAoJCQkJbWVzc2FnZURpdiwKCQkJCWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCAnYXJ0aWNsZScgKS5maXJzdENoaWxkCgkJCSk7CgkJfSBl
bHNlIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCgltZXNzYWdlRGl2LnNldEF0
dHJpYnV0ZSggJ2lkJywgJ213LWpzLW1lc3NhZ2UnICk7CgltZXNzYWdlRGl2LnN0
eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoJaWYoIGNsYXNzTmFtZSApIHsKCQltZXNz
YWdlRGl2LnNldEF0dHJpYnV0ZSggJ2NsYXNzJywgJ213LWpzLW1lc3NhZ2UtJyAr
IGNsYXNzTmFtZSApOwoJfQoKCWlmICggdHlwZW9mIG1lc3NhZ2UgPT09ICdvYmpl
Y3QnICkgewoJCXdoaWxlICggbWVzc2FnZURpdi5oYXNDaGlsZE5vZGVzKCkgKSB7
IC8vIFJlbW92ZSBvbGQgY29udGVudAoJCQltZXNzYWdlRGl2LnJlbW92ZUNoaWxk
KCBtZXNzYWdlRGl2LmZpcnN0Q2hpbGQgKTsKCQl9CgkJbWVzc2FnZURpdi5hcHBl
bmRDaGlsZCggbWVzc2FnZSApOyAvLyBBcHBlbmQgbmV3IGNvbnRlbnQKCX0gZWxz
ZSB7CgkJbWVzc2FnZURpdi5pbm5lckhUTUwgPSBtZXNzYWdlOwoJfQoJcmV0dXJu
IHRydWU7Cn0KCi8qKgogKiBJbmplY3QgYSBjdXRlIGxpdHRsZSBwcm9ncmVzcyBz
cGlubmVyIGFmdGVyIHRoZSBzcGVjaWZpZWQgZWxlbWVudAogKgogKiBAcGFyYW0g
ZWxlbWVudCBFbGVtZW50IHRvIGluamVjdCBhZnRlcgogKiBAcGFyYW0gaWQgSWRl
bnRpZmllciBzdHJpbmcgKGZvciB1c2Ugd2l0aCByZW1vdmVTcGlubmVyKCksIGJl
bG93KQogKi8KZnVuY3Rpb24gaW5qZWN0U3Bpbm5lciggZWxlbWVudCwgaWQgKSB7
Cgl2YXIgc3Bpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdpbWcnICk7
CglzcGlubmVyLmlkID0gJ213LXNwaW5uZXItJyArIGlkOwoJc3Bpbm5lci5zcmMg
PSBzdHlsZXBhdGggKyAnL2NvbW1vbi9pbWFnZXMvc3Bpbm5lci5naWYnOwoJc3Bp
bm5lci5hbHQgPSBzcGlubmVyLnRpdGxlID0gJy4uLic7CglpZiggZWxlbWVudC5u
ZXh0U2libGluZyApIHsKCQllbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3Jl
KCBzcGlubmVyLCBlbGVtZW50Lm5leHRTaWJsaW5nICk7Cgl9IGVsc2UgewoJCWVs
ZW1lbnQucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCggc3Bpbm5lciApOwoJfQp9Cgov
KioKICogUmVtb3ZlIGEgcHJvZ3Jlc3Mgc3Bpbm5lciBhZGRlZCB3aXRoIGluamVj
dFNwaW5uZXIoKQogKgogKiBAcGFyYW0gaWQgSWRlbnRpZmllciBzdHJpbmcKICov
CmZ1bmN0aW9uIHJlbW92ZVNwaW5uZXIoIGlkICkgewoJdmFyIHNwaW5uZXIgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCggJ213LXNwaW5uZXItJyArIGlkICk7Cglp
Ziggc3Bpbm5lciApIHsKCQlzcGlubmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo
IHNwaW5uZXIgKTsKCX0KfQoKZnVuY3Rpb24gcnVuT25sb2FkSG9vaygpIHsKCS8v
IGRvbid0IHJ1biBhbnl0aGluZyBiZWxvdyB0aGlzIGZvciBub24tZG9tIGJyb3dz
ZXJzCglpZiAoIGRvbmVPbmxvYWRIb29rIHx8ICEoIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkICYmIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lICkgKSB7CgkJ
cmV0dXJuOwoJfQoKCS8vIHNldCB0aGlzIGJlZm9yZSBydW5uaW5nIGFueSBob29r
cywgc2luY2UgYW55IGVycm9ycyBiZWxvdwoJLy8gbWlnaHQgY2F1c2UgdGhlIGZ1
bmN0aW9uIHRvIHRlcm1pbmF0ZSBwcmVtYXR1cmVseQoJZG9uZU9ubG9hZEhvb2sg
PSB0cnVlOwoKCXVwZGF0ZVRvb2x0aXBBY2Nlc3NLZXlzKCBudWxsICk7CglzZXR1
cENoZWNrYm94U2hpZnRDbGljaygpOwoJc29ydGFibGVzX2luaXQoKTsKCgkvLyBS
dW4gYW55IGFkZGVkLW9uIGZ1bmN0aW9ucwoJZm9yICggdmFyIGkgPSAwOyBpIDwg
b25sb2FkRnVuY3RzLmxlbmd0aDsgaSsrICkgewoJCW9ubG9hZEZ1bmN0c1tpXSgp
OwoJfQp9CgovKioKICogQWRkIGFuIGV2ZW50IGhhbmRsZXIgdG8gYW4gZWxlbWVu
dAogKgogKiBAcGFyYW0gRWxlbWVudCBlbGVtZW50IEVsZW1lbnQgdG8gYWRkIGhh
bmRsZXIgdG8KICogQHBhcmFtIFN0cmluZyBhdHRhY2ggRXZlbnQgdG8gYXR0YWNo
IHRvCiAqIEBwYXJhbSBjYWxsYWJsZSBoYW5kbGVyIEV2ZW50IGhhbmRsZXIgY2Fs
bGJhY2sKICovCmZ1bmN0aW9uIGFkZEhhbmRsZXIoIGVsZW1lbnQsIGF0dGFjaCwg
aGFuZGxlciApIHsKCWlmKCB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciApIHsKCQll
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIGF0dGFjaCwgaGFuZGxlciwgZmFsc2Ug
KTsKCX0gZWxzZSBpZiggd2luZG93LmF0dGFjaEV2ZW50ICkgewoJCWVsZW1lbnQu
YXR0YWNoRXZlbnQoICdvbicgKyBhdHRhY2gsIGhhbmRsZXIgKTsKCX0KfQoKLyoq
CiAqIEFkZCBhIGNsaWNrIGV2ZW50IGhhbmRsZXIgdG8gYW4gZWxlbWVudAogKgog
KiBAcGFyYW0gRWxlbWVudCBlbGVtZW50IEVsZW1lbnQgdG8gYWRkIGhhbmRsZXIg
dG8KICogQHBhcmFtIGNhbGxhYmxlIGhhbmRsZXIgRXZlbnQgaGFuZGxlciBjYWxs
YmFjawogKi8KZnVuY3Rpb24gYWRkQ2xpY2tIYW5kbGVyKCBlbGVtZW50LCBoYW5k
bGVyICkgewoJYWRkSGFuZGxlciggZWxlbWVudCwgJ2NsaWNrJywgaGFuZGxlciAp
Owp9CgovKioKICogUmVtb3ZlcyBhbiBldmVudCBoYW5kbGVyIGZyb20gYW4gZWxl
bWVudAogKgogKiBAcGFyYW0gRWxlbWVudCBlbGVtZW50IEVsZW1lbnQgdG8gcmVt
b3ZlIGhhbmRsZXIgZnJvbQogKiBAcGFyYW0gU3RyaW5nIHJlbW92ZSBFdmVudCB0
byByZW1vdmUKICogQHBhcmFtIGNhbGxhYmxlIGhhbmRsZXIgRXZlbnQgaGFuZGxl
ciBjYWxsYmFjayB0byByZW1vdmUKICovCmZ1bmN0aW9uIHJlbW92ZUhhbmRsZXIo
IGVsZW1lbnQsIHJlbW92ZSwgaGFuZGxlciApIHsKCWlmKCB3aW5kb3cucmVtb3Zl
RXZlbnRMaXN0ZW5lciApIHsKCQllbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIo
IHJlbW92ZSwgaGFuZGxlciwgZmFsc2UgKTsKCX0gZWxzZSBpZiggd2luZG93LmRl
dGFjaEV2ZW50ICkgewoJCWVsZW1lbnQuZGV0YWNoRXZlbnQoICdvbicgKyByZW1v
dmUsIGhhbmRsZXIgKTsKCX0KfQovLyBub3RlOiBhbGwgc2tpbnMgc2hvdWxkIGNh
bGwgcnVuT25sb2FkSG9vaygpIGF0IHRoZSBlbmQgb2YgaHRtbCBvdXRwdXQsCi8v
ICAgICAgc28gdGhlIGJlbG93IHNob3VsZCBiZSByZWR1bmRhbnQuIEl0J3MgdGhl
cmUganVzdCBpbiBjYXNlLgpob29rRXZlbnQoICdsb2FkJywgcnVuT25sb2FkSG9v
ayApOwoKaWYgKCBpZTZfYnVncyApIHsKCWltcG9ydFNjcmlwdFVSSSggc3R5bGVw
YXRoICsgJy9jb21tb24vSUVGaXhlcy5qcycgKTsKfQoKLy8gRm9yIGZ1dHVyZSB1
c2UuCm13ID0ge307CgoK
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=jquery.min.js
Content-Type: application/x-javascript; name=jquery.min.js
Content-Location: http://bits.wikimedia.org/skins-1.5/common/jquery.min.js?283s
Content-Transfer-Encoding: Base64
CihmdW5jdGlvbigpe3Zhcgp3aW5kb3c9dGhpcyx1bmRlZmluZWQsX2pRdWVyeT13
aW5kb3cualF1ZXJ5LF8kPXdpbmRvdy4kLGpRdWVyeT13aW5kb3cualF1ZXJ5PXdp
bmRvdy4kPWZ1bmN0aW9uKHNlbGVjdG9yLGNvbnRleHQpe3JldHVybiBuZXcgalF1
ZXJ5LmZuLmluaXQoc2VsZWN0b3IsY29udGV4dCk7fSxxdWlja0V4cHI9L15bXjxd
Kig8KC58XHMpKz4pW14+XSokfF4jKFtcdy1dKykkLyxpc1NpbXBsZT0vXi5bXjoj
XFtcLixdKiQvO2pRdWVyeS5mbj1qUXVlcnkucHJvdG90eXBlPXtpbml0OmZ1bmN0
aW9uKHNlbGVjdG9yLGNvbnRleHQpe3NlbGVjdG9yPXNlbGVjdG9yfHxkb2N1bWVu
dDtpZihzZWxlY3Rvci5ub2RlVHlwZSl7dGhpc1swXT1zZWxlY3Rvcjt0aGlzLmxl
bmd0aD0xO3RoaXMuY29udGV4dD1zZWxlY3RvcjtyZXR1cm4gdGhpczt9CmlmKHR5
cGVvZiBzZWxlY3Rvcj09PSJzdHJpbmciKXt2YXIgbWF0Y2g9cXVpY2tFeHByLmV4
ZWMoc2VsZWN0b3IpO2lmKG1hdGNoJiYobWF0Y2hbMV18fCFjb250ZXh0KSl7aWYo
bWF0Y2hbMV0pCnNlbGVjdG9yPWpRdWVyeS5jbGVhbihbbWF0Y2hbMV1dLGNvbnRl
eHQpO2Vsc2V7dmFyIGVsZW09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWF0Y2hb
M10pO2lmKGVsZW0mJmVsZW0uaWQhPW1hdGNoWzNdKQpyZXR1cm4galF1ZXJ5KCku
ZmluZChzZWxlY3Rvcik7dmFyIHJldD1qUXVlcnkoZWxlbXx8W10pO3JldC5jb250
ZXh0PWRvY3VtZW50O3JldC5zZWxlY3Rvcj1zZWxlY3RvcjtyZXR1cm4gcmV0O319
ZWxzZQpyZXR1cm4galF1ZXJ5KGNvbnRleHQpLmZpbmQoc2VsZWN0b3IpO31lbHNl
IGlmKGpRdWVyeS5pc0Z1bmN0aW9uKHNlbGVjdG9yKSkKcmV0dXJuIGpRdWVyeShk
b2N1bWVudCkucmVhZHkoc2VsZWN0b3IpO2lmKHNlbGVjdG9yLnNlbGVjdG9yJiZz
ZWxlY3Rvci5jb250ZXh0KXt0aGlzLnNlbGVjdG9yPXNlbGVjdG9yLnNlbGVjdG9y
O3RoaXMuY29udGV4dD1zZWxlY3Rvci5jb250ZXh0O30KcmV0dXJuIHRoaXMuc2V0
QXJyYXkoalF1ZXJ5LmlzQXJyYXkoc2VsZWN0b3IpP3NlbGVjdG9yOmpRdWVyeS5t
YWtlQXJyYXkoc2VsZWN0b3IpKTt9LHNlbGVjdG9yOiIiLGpxdWVyeToiMS4zLjIi
LHNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGg7fSxnZXQ6ZnVuY3Rp
b24obnVtKXtyZXR1cm4gbnVtPT09dW5kZWZpbmVkP0FycmF5LnByb3RvdHlwZS5z
bGljZS5jYWxsKHRoaXMpOnRoaXNbbnVtXTt9LHB1c2hTdGFjazpmdW5jdGlvbihl
bGVtcyxuYW1lLHNlbGVjdG9yKXt2YXIgcmV0PWpRdWVyeShlbGVtcyk7cmV0LnBy
ZXZPYmplY3Q9dGhpcztyZXQuY29udGV4dD10aGlzLmNvbnRleHQ7aWYobmFtZT09
PSJmaW5kIikKcmV0LnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2VsZWN0
b3I/IiAiOiIiKStzZWxlY3RvcjtlbHNlIGlmKG5hbWUpCnJldC5zZWxlY3Rvcj10
aGlzLnNlbGVjdG9yKyIuIituYW1lKyIoIitzZWxlY3RvcisiKSI7cmV0dXJuIHJl
dDt9LHNldEFycmF5OmZ1bmN0aW9uKGVsZW1zKXt0aGlzLmxlbmd0aD0wO0FycmF5
LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMsZWxlbXMpO3JldHVybiB0aGlzO30s
ZWFjaDpmdW5jdGlvbihjYWxsYmFjayxhcmdzKXtyZXR1cm4galF1ZXJ5LmVhY2go
dGhpcyxjYWxsYmFjayxhcmdzKTt9LGluZGV4OmZ1bmN0aW9uKGVsZW0pe3JldHVy
biBqUXVlcnkuaW5BcnJheShlbGVtJiZlbGVtLmpxdWVyeT9lbGVtWzBdOmVsZW0s
dGhpcyk7fSxhdHRyOmZ1bmN0aW9uKG5hbWUsdmFsdWUsdHlwZSl7dmFyIG9wdGlv
bnM9bmFtZTtpZih0eXBlb2YgbmFtZT09PSJzdHJpbmciKQppZih2YWx1ZT09PXVu
ZGVmaW5lZCkKcmV0dXJuIHRoaXNbMF0mJmpRdWVyeVt0eXBlfHwiYXR0ciJdKHRo
aXNbMF0sbmFtZSk7ZWxzZXtvcHRpb25zPXt9O29wdGlvbnNbbmFtZV09dmFsdWU7
fQpyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2ZvcihuYW1lIGluIG9wdGlv
bnMpCmpRdWVyeS5hdHRyKHR5cGU/dGhpcy5zdHlsZTp0aGlzLG5hbWUsalF1ZXJ5
LnByb3AodGhpcyxvcHRpb25zW25hbWVdLHR5cGUsaSxuYW1lKSk7fSk7fSxjc3M6
ZnVuY3Rpb24oa2V5LHZhbHVlKXtpZigoa2V5PT0nd2lkdGgnfHxrZXk9PSdoZWln
aHQnKSYmcGFyc2VGbG9hdCh2YWx1ZSk8MCkKdmFsdWU9dW5kZWZpbmVkO3JldHVy
biB0aGlzLmF0dHIoa2V5LHZhbHVlLCJjdXJDU1MiKTt9LHRleHQ6ZnVuY3Rpb24o
dGV4dCl7aWYodHlwZW9mIHRleHQhPT0ib2JqZWN0IiYmdGV4dCE9bnVsbCkKcmV0
dXJuIHRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJE
b2N1bWVudHx8ZG9jdW1lbnQpLmNyZWF0ZVRleHROb2RlKHRleHQpKTt2YXIgcmV0
PSIiO2pRdWVyeS5lYWNoKHRleHR8fHRoaXMsZnVuY3Rpb24oKXtqUXVlcnkuZWFj
aCh0aGlzLmNoaWxkTm9kZXMsZnVuY3Rpb24oKXtpZih0aGlzLm5vZGVUeXBlIT04
KQpyZXQrPXRoaXMubm9kZVR5cGUhPTE/dGhpcy5ub2RlVmFsdWU6alF1ZXJ5LmZu
LnRleHQoW3RoaXNdKTt9KTt9KTtyZXR1cm4gcmV0O30sd3JhcEFsbDpmdW5jdGlv
bihodG1sKXtpZih0aGlzWzBdKXt2YXIgd3JhcD1qUXVlcnkoaHRtbCx0aGlzWzBd
Lm93bmVyRG9jdW1lbnQpLmNsb25lKCk7aWYodGhpc1swXS5wYXJlbnROb2RlKQp3
cmFwLmluc2VydEJlZm9yZSh0aGlzWzBdKTt3cmFwLm1hcChmdW5jdGlvbigpe3Zh
ciBlbGVtPXRoaXM7d2hpbGUoZWxlbS5maXJzdENoaWxkKQplbGVtPWVsZW0uZmly
c3RDaGlsZDtyZXR1cm4gZWxlbTt9KS5hcHBlbmQodGhpcyk7fQpyZXR1cm4gdGhp
czt9LHdyYXBJbm5lcjpmdW5jdGlvbihodG1sKXtyZXR1cm4gdGhpcy5lYWNoKGZ1
bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkud3JhcEFsbChodG1sKTt9
KTt9LHdyYXA6ZnVuY3Rpb24oaHRtbCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlv
bigpe2pRdWVyeSh0aGlzKS53cmFwQWxsKGh0bWwpO30pO30sYXBwZW5kOmZ1bmN0
aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLHRydWUsZnVuY3Rp
b24oZWxlbSl7aWYodGhpcy5ub2RlVHlwZT09MSkKdGhpcy5hcHBlbmRDaGlsZChl
bGVtKTt9KTt9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5p
cChhcmd1bWVudHMsdHJ1ZSxmdW5jdGlvbihlbGVtKXtpZih0aGlzLm5vZGVUeXBl
PT0xKQp0aGlzLmluc2VydEJlZm9yZShlbGVtLHRoaXMuZmlyc3RDaGlsZCk7fSk7
fSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVu
dHMsZmFsc2UsZnVuY3Rpb24oZWxlbSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJl
Zm9yZShlbGVtLHRoaXMpO30pO30sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp
cy5kb21NYW5pcChhcmd1bWVudHMsZmFsc2UsZnVuY3Rpb24oZWxlbSl7dGhpcy5w
YXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtLHRoaXMubmV4dFNpYmxpbmcpO30p
O30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8alF1ZXJ5
KFtdKTt9LHB1c2g6W10ucHVzaCxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGlj
ZSxmaW5kOmZ1bmN0aW9uKHNlbGVjdG9yKXtpZih0aGlzLmxlbmd0aD09PTEpe3Zh
ciByZXQ9dGhpcy5wdXNoU3RhY2soW10sImZpbmQiLHNlbGVjdG9yKTtyZXQubGVu
Z3RoPTA7alF1ZXJ5LmZpbmQoc2VsZWN0b3IsdGhpc1swXSxyZXQpO3JldHVybiBy
ZXQ7fWVsc2V7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGpRdWVyeS51bmlxdWUoalF1
ZXJ5Lm1hcCh0aGlzLGZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuZmluZChz
ZWxlY3RvcixlbGVtKTt9KSksImZpbmQiLHNlbGVjdG9yKTt9fSxjbG9uZTpmdW5j
dGlvbihldmVudHMpe3ZhciByZXQ9dGhpcy5tYXAoZnVuY3Rpb24oKXtpZighalF1
ZXJ5LnN1cHBvcnQubm9DbG9uZUV2ZW50JiYhalF1ZXJ5LmlzWE1MRG9jKHRoaXMp
KXt2YXIgaHRtbD10aGlzLm91dGVySFRNTDtpZighaHRtbCl7dmFyIGRpdj10aGlz
Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZGl2LmFwcGVuZENo
aWxkKHRoaXMuY2xvbmVOb2RlKHRydWUpKTtodG1sPWRpdi5pbm5lckhUTUw7fQpy
ZXR1cm4galF1ZXJ5LmNsZWFuKFtodG1sLnJlcGxhY2UoLyBqUXVlcnlcZCs9Iig/
OlxkK3xudWxsKSIvZywiIikucmVwbGFjZSgvXlxzKi8sIiIpXSlbMF07fWVsc2UK
cmV0dXJuIHRoaXMuY2xvbmVOb2RlKHRydWUpO30pO2lmKGV2ZW50cz09PXRydWUp
e3ZhciBvcmlnPXRoaXMuZmluZCgiKiIpLmFuZFNlbGYoKSxpPTA7cmV0LmZpbmQo
IioiKS5hbmRTZWxmKCkuZWFjaChmdW5jdGlvbigpe2lmKHRoaXMubm9kZU5hbWUh
PT1vcmlnW2ldLm5vZGVOYW1lKQpyZXR1cm47dmFyIGV2ZW50cz1qUXVlcnkuZGF0
YShvcmlnW2ldLCJldmVudHMiKTtmb3IodmFyIHR5cGUgaW4gZXZlbnRzKXtmb3Io
dmFyIGhhbmRsZXIgaW4gZXZlbnRzW3R5cGVdKXtqUXVlcnkuZXZlbnQuYWRkKHRo
aXMsdHlwZSxldmVudHNbdHlwZV1baGFuZGxlcl0sZXZlbnRzW3R5cGVdW2hhbmRs
ZXJdLmRhdGEpO319CmkrKzt9KTt9CnJldHVybiByZXQ7fSxmaWx0ZXI6ZnVuY3Rp
b24oc2VsZWN0b3Ipe3JldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkuaXNGdW5j
dGlvbihzZWxlY3RvcikmJmpRdWVyeS5ncmVwKHRoaXMsZnVuY3Rpb24oZWxlbSxp
KXtyZXR1cm4gc2VsZWN0b3IuY2FsbChlbGVtLGkpO30pfHxqUXVlcnkubXVsdGlG
aWx0ZXIoc2VsZWN0b3IsalF1ZXJ5LmdyZXAodGhpcyxmdW5jdGlvbihlbGVtKXty
ZXR1cm4gZWxlbS5ub2RlVHlwZT09PTE7fSkpLCJmaWx0ZXIiLHNlbGVjdG9yKTt9
LGNsb3Nlc3Q6ZnVuY3Rpb24oc2VsZWN0b3Ipe3ZhciBwb3M9alF1ZXJ5LmV4cHIu
bWF0Y2guUE9TLnRlc3Qoc2VsZWN0b3IpP2pRdWVyeShzZWxlY3Rvcik6bnVsbCxj
bG9zZXI9MDtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgY3VyPXRoaXM7
d2hpbGUoY3VyJiZjdXIub3duZXJEb2N1bWVudCl7aWYocG9zP3Bvcy5pbmRleChj
dXIpPi0xOmpRdWVyeShjdXIpLmlzKHNlbGVjdG9yKSl7alF1ZXJ5LmRhdGEoY3Vy
LCJjbG9zZXN0IixjbG9zZXIpO3JldHVybiBjdXI7fQpjdXI9Y3VyLnBhcmVudE5v
ZGU7Y2xvc2VyKys7fX0pO30sbm90OmZ1bmN0aW9uKHNlbGVjdG9yKXtpZih0eXBl
b2Ygc2VsZWN0b3I9PT0ic3RyaW5nIikKaWYoaXNTaW1wbGUudGVzdChzZWxlY3Rv
cikpCnJldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkubXVsdGlGaWx0ZXIoc2Vs
ZWN0b3IsdGhpcyx0cnVlKSwibm90IixzZWxlY3Rvcik7ZWxzZQpzZWxlY3Rvcj1q
UXVlcnkubXVsdGlGaWx0ZXIoc2VsZWN0b3IsdGhpcyk7dmFyIGlzQXJyYXlMaWtl
PXNlbGVjdG9yLmxlbmd0aCYmc2VsZWN0b3Jbc2VsZWN0b3IubGVuZ3RoLTFdIT09
dW5kZWZpbmVkJiYhc2VsZWN0b3Iubm9kZVR5cGU7cmV0dXJuIHRoaXMuZmlsdGVy
KGZ1bmN0aW9uKCl7cmV0dXJuIGlzQXJyYXlMaWtlP2pRdWVyeS5pbkFycmF5KHRo
aXMsc2VsZWN0b3IpPDA6dGhpcyE9c2VsZWN0b3I7fSk7fSxhZGQ6ZnVuY3Rpb24o
c2VsZWN0b3Ipe3JldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkudW5pcXVlKGpR
dWVyeS5tZXJnZSh0aGlzLmdldCgpLHR5cGVvZiBzZWxlY3Rvcj09PSJzdHJpbmci
P2pRdWVyeShzZWxlY3Rvcik6alF1ZXJ5Lm1ha2VBcnJheShzZWxlY3RvcikpKSk7
fSxpczpmdW5jdGlvbihzZWxlY3Rvcil7cmV0dXJuISFzZWxlY3RvciYmalF1ZXJ5
Lm11bHRpRmlsdGVyKHNlbGVjdG9yLHRoaXMpLmxlbmd0aD4wO30saGFzQ2xhc3M6
ZnVuY3Rpb24oc2VsZWN0b3Ipe3JldHVybiEhc2VsZWN0b3ImJnRoaXMuaXMoIi4i
K3NlbGVjdG9yKTt9LHZhbDpmdW5jdGlvbih2YWx1ZSl7aWYodmFsdWU9PT11bmRl
ZmluZWQpe3ZhciBlbGVtPXRoaXNbMF07aWYoZWxlbSl7aWYoalF1ZXJ5Lm5vZGVO
YW1lKGVsZW0sJ29wdGlvbicpKQpyZXR1cm4oZWxlbS5hdHRyaWJ1dGVzLnZhbHVl
fHx7fSkuc3BlY2lmaWVkP2VsZW0udmFsdWU6ZWxlbS50ZXh0O2lmKGpRdWVyeS5u
b2RlTmFtZShlbGVtLCJzZWxlY3QiKSl7dmFyIGluZGV4PWVsZW0uc2VsZWN0ZWRJ
bmRleCx2YWx1ZXM9W10sb3B0aW9ucz1lbGVtLm9wdGlvbnMsb25lPWVsZW0udHlw
ZT09InNlbGVjdC1vbmUiO2lmKGluZGV4PDApCnJldHVybiBudWxsO2Zvcih2YXIg
aT1vbmU/aW5kZXg6MCxtYXg9b25lP2luZGV4KzE6b3B0aW9ucy5sZW5ndGg7aTxt
YXg7aSsrKXt2YXIgb3B0aW9uPW9wdGlvbnNbaV07aWYob3B0aW9uLnNlbGVjdGVk
KXt2YWx1ZT1qUXVlcnkob3B0aW9uKS52YWwoKTtpZihvbmUpCnJldHVybiB2YWx1
ZTt2YWx1ZXMucHVzaCh2YWx1ZSk7fX0KcmV0dXJuIHZhbHVlczt9CnJldHVybihl
bGVtLnZhbHVlfHwiIikucmVwbGFjZSgvXHIvZywiIik7fQpyZXR1cm4gdW5kZWZp
bmVkO30KaWYodHlwZW9mIHZhbHVlPT09Im51bWJlciIpCnZhbHVlKz0nJztyZXR1
cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcy5ub2RlVHlwZSE9MSkKcmV0
dXJuO2lmKGpRdWVyeS5pc0FycmF5KHZhbHVlKSYmL3JhZGlvfGNoZWNrYm94Ly50
ZXN0KHRoaXMudHlwZSkpCnRoaXMuY2hlY2tlZD0oalF1ZXJ5LmluQXJyYXkodGhp
cy52YWx1ZSx2YWx1ZSk+PTB8fGpRdWVyeS5pbkFycmF5KHRoaXMubmFtZSx2YWx1
ZSk+PTApO2Vsc2UgaWYoalF1ZXJ5Lm5vZGVOYW1lKHRoaXMsInNlbGVjdCIpKXt2
YXIgdmFsdWVzPWpRdWVyeS5tYWtlQXJyYXkodmFsdWUpO2pRdWVyeSgib3B0aW9u
Iix0aGlzKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD0oalF1ZXJ5Lmlu
QXJyYXkodGhpcy52YWx1ZSx2YWx1ZXMpPj0wfHxqUXVlcnkuaW5BcnJheSh0aGlz
LnRleHQsdmFsdWVzKT49MCk7fSk7aWYoIXZhbHVlcy5sZW5ndGgpCnRoaXMuc2Vs
ZWN0ZWRJbmRleD0tMTt9ZWxzZQp0aGlzLnZhbHVlPXZhbHVlO30pO30saHRtbDpm
dW5jdGlvbih2YWx1ZSl7cmV0dXJuIHZhbHVlPT09dW5kZWZpbmVkPyh0aGlzWzBd
P3RoaXNbMF0uaW5uZXJIVE1MLnJlcGxhY2UoLyBqUXVlcnlcZCs9Iig/OlxkK3xu
dWxsKSIvZywiIik6bnVsbCk6dGhpcy5lbXB0eSgpLmFwcGVuZCh2YWx1ZSk7fSxy
ZXBsYWNlV2l0aDpmdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHRoaXMuYWZ0ZXIodmFs
dWUpLnJlbW92ZSgpO30sZXE6ZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMuc2xpY2Uo
aSwraSsxKTt9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNr
KEFycmF5LnByb3RvdHlwZS5zbGljZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksInNs
aWNlIixBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLmpvaW4o
IiwiKSk7fSxtYXA6ZnVuY3Rpb24oY2FsbGJhY2spe3JldHVybiB0aGlzLnB1c2hT
dGFjayhqUXVlcnkubWFwKHRoaXMsZnVuY3Rpb24oZWxlbSxpKXtyZXR1cm4gY2Fs
bGJhY2suY2FsbChlbGVtLGksZWxlbSk7fSkpO30sYW5kU2VsZjpmdW5jdGlvbigp
e3JldHVybiB0aGlzLmFkZCh0aGlzLnByZXZPYmplY3QpO30sZG9tTWFuaXA6ZnVu
Y3Rpb24oYXJncyx0YWJsZSxjYWxsYmFjayl7aWYodGhpc1swXSl7dmFyIGZyYWdt
ZW50PSh0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHRoaXNbMF0pLmNyZWF0ZURvY3Vt
ZW50RnJhZ21lbnQoKSxzY3JpcHRzPWpRdWVyeS5jbGVhbihhcmdzLCh0aGlzWzBd
Lm93bmVyRG9jdW1lbnR8fHRoaXNbMF0pLGZyYWdtZW50KSxmaXJzdD1mcmFnbWVu
dC5maXJzdENoaWxkO2lmKGZpcnN0KQpmb3IodmFyIGk9MCxsPXRoaXMubGVuZ3Ro
O2k8bDtpKyspCmNhbGxiYWNrLmNhbGwocm9vdCh0aGlzW2ldLGZpcnN0KSx0aGlz
Lmxlbmd0aD4xfHxpPjA/ZnJhZ21lbnQuY2xvbmVOb2RlKHRydWUpOmZyYWdtZW50
KTtpZihzY3JpcHRzKQpqUXVlcnkuZWFjaChzY3JpcHRzLGV2YWxTY3JpcHQpO30K
cmV0dXJuIHRoaXM7ZnVuY3Rpb24gcm9vdChlbGVtLGN1cil7cmV0dXJuIHRhYmxl
JiZqUXVlcnkubm9kZU5hbWUoZWxlbSwidGFibGUiKSYmalF1ZXJ5Lm5vZGVOYW1l
KGN1ciwidHIiKT8oZWxlbS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVsw
XXx8ZWxlbS5hcHBlbmRDaGlsZChlbGVtLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgidGJvZHkiKSkpOmVsZW07fX19O2pRdWVyeS5mbi5pbml0LnByb3RvdHlw
ZT1qUXVlcnkuZm47ZnVuY3Rpb24gZXZhbFNjcmlwdChpLGVsZW0pe2lmKGVsZW0u
c3JjKQpqUXVlcnkuYWpheCh7dXJsOmVsZW0uc3JjLGFzeW5jOmZhbHNlLGRhdGFU
eXBlOiJzY3JpcHQifSk7ZWxzZQpqUXVlcnkuZ2xvYmFsRXZhbChlbGVtLnRleHR8
fGVsZW0udGV4dENvbnRlbnR8fGVsZW0uaW5uZXJIVE1MfHwiIik7aWYoZWxlbS5w
YXJlbnROb2RlKQplbGVtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbSk7fQpm
dW5jdGlvbiBub3coKXtyZXR1cm4rbmV3IERhdGU7fQpqUXVlcnkuZXh0ZW5kPWpR
dWVyeS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgdGFyZ2V0PWFyZ3VtZW50c1sw
XXx8e30saT0xLGxlbmd0aD1hcmd1bWVudHMubGVuZ3RoLGRlZXA9ZmFsc2Usb3B0
aW9ucztpZih0eXBlb2YgdGFyZ2V0PT09ImJvb2xlYW4iKXtkZWVwPXRhcmdldDt0
YXJnZXQ9YXJndW1lbnRzWzFdfHx7fTtpPTI7fQppZih0eXBlb2YgdGFyZ2V0IT09
Im9iamVjdCImJiFqUXVlcnkuaXNGdW5jdGlvbih0YXJnZXQpKQp0YXJnZXQ9e307
aWYobGVuZ3RoPT1pKXt0YXJnZXQ9dGhpczstLWk7fQpmb3IoO2k8bGVuZ3RoO2kr
KykKaWYoKG9wdGlvbnM9YXJndW1lbnRzW2ldKSE9bnVsbCkKZm9yKHZhciBuYW1l
IGluIG9wdGlvbnMpe3ZhciBzcmM9dGFyZ2V0W25hbWVdLGNvcHk9b3B0aW9uc1tu
YW1lXTtpZih0YXJnZXQ9PT1jb3B5KQpjb250aW51ZTtpZihkZWVwJiZjb3B5JiZ0
eXBlb2YgY29weT09PSJvYmplY3QiJiYhY29weS5ub2RlVHlwZSkKdGFyZ2V0W25h
bWVdPWpRdWVyeS5leHRlbmQoZGVlcCxzcmN8fChjb3B5Lmxlbmd0aCE9bnVsbD9b
XTp7fSksY29weSk7ZWxzZSBpZihjb3B5IT09dW5kZWZpbmVkKQp0YXJnZXRbbmFt
ZV09Y29weTt9CnJldHVybiB0YXJnZXQ7fTt2YXIgZXhjbHVkZT0vei0/aW5kZXh8
Zm9udC0/d2VpZ2h0fG9wYWNpdHl8em9vbXxsaW5lLT9oZWlnaHQvaSxkZWZhdWx0
Vmlldz1kb2N1bWVudC5kZWZhdWx0Vmlld3x8e30sdG9TdHJpbmc9T2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZztqUXVlcnkuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0
aW9uKGRlZXApe3dpbmRvdy4kPV8kO2lmKGRlZXApCndpbmRvdy5qUXVlcnk9X2pR
dWVyeTtyZXR1cm4galF1ZXJ5O30saXNGdW5jdGlvbjpmdW5jdGlvbihvYmope3Jl
dHVybiB0b1N0cmluZy5jYWxsKG9iaik9PT0iW29iamVjdCBGdW5jdGlvbl0iO30s
aXNBcnJheTpmdW5jdGlvbihvYmope3JldHVybiB0b1N0cmluZy5jYWxsKG9iaik9
PT0iW29iamVjdCBBcnJheV0iO30saXNYTUxEb2M6ZnVuY3Rpb24oZWxlbSl7cmV0
dXJuIGVsZW0ubm9kZVR5cGU9PT05JiZlbGVtLmRvY3VtZW50RWxlbWVudC5ub2Rl
TmFtZSE9PSJIVE1MInx8ISFlbGVtLm93bmVyRG9jdW1lbnQmJmpRdWVyeS5pc1hN
TERvYyhlbGVtLm93bmVyRG9jdW1lbnQpO30sZ2xvYmFsRXZhbDpmdW5jdGlvbihk
YXRhKXtpZihkYXRhJiYvXFMvLnRlc3QoZGF0YSkpe3ZhciBoZWFkPWRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCxzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0
Iik7c2NyaXB0LnR5cGU9InRleHQvamF2YXNjcmlwdCI7aWYoalF1ZXJ5LnN1cHBv
cnQuc2NyaXB0RXZhbCkKc2NyaXB0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKGRhdGEpKTtlbHNlCnNjcmlwdC50ZXh0PWRhdGE7aGVhZC5pbnNl
cnRCZWZvcmUoc2NyaXB0LGhlYWQuZmlyc3RDaGlsZCk7aGVhZC5yZW1vdmVDaGls
ZChzY3JpcHQpO319LG5vZGVOYW1lOmZ1bmN0aW9uKGVsZW0sbmFtZSl7cmV0dXJu
IGVsZW0ubm9kZU5hbWUmJmVsZW0ubm9kZU5hbWUudG9VcHBlckNhc2UoKT09bmFt
ZS50b1VwcGVyQ2FzZSgpO30sZWFjaDpmdW5jdGlvbihvYmplY3QsY2FsbGJhY2ss
YXJncyl7dmFyIG5hbWUsaT0wLGxlbmd0aD1vYmplY3QubGVuZ3RoO2lmKGFyZ3Mp
e2lmKGxlbmd0aD09PXVuZGVmaW5lZCl7Zm9yKG5hbWUgaW4gb2JqZWN0KQppZihj
YWxsYmFjay5hcHBseShvYmplY3RbbmFtZV0sYXJncyk9PT1mYWxzZSkKYnJlYWs7
fWVsc2UKZm9yKDtpPGxlbmd0aDspCmlmKGNhbGxiYWNrLmFwcGx5KG9iamVjdFtp
KytdLGFyZ3MpPT09ZmFsc2UpCmJyZWFrO31lbHNle2lmKGxlbmd0aD09PXVuZGVm
aW5lZCl7Zm9yKG5hbWUgaW4gb2JqZWN0KQppZihjYWxsYmFjay5jYWxsKG9iamVj
dFtuYW1lXSxuYW1lLG9iamVjdFtuYW1lXSk9PT1mYWxzZSkKYnJlYWs7fWVsc2UK
Zm9yKHZhciB2YWx1ZT1vYmplY3RbMF07aTxsZW5ndGgmJmNhbGxiYWNrLmNhbGwo
dmFsdWUsaSx2YWx1ZSkhPT1mYWxzZTt2YWx1ZT1vYmplY3RbKytpXSl7fX0KcmV0
dXJuIG9iamVjdDt9LHByb3A6ZnVuY3Rpb24oZWxlbSx2YWx1ZSx0eXBlLGksbmFt
ZSl7aWYoalF1ZXJ5LmlzRnVuY3Rpb24odmFsdWUpKQp2YWx1ZT12YWx1ZS5jYWxs
KGVsZW0saSk7cmV0dXJuIHR5cGVvZiB2YWx1ZT09PSJudW1iZXIiJiZ0eXBlPT0i
Y3VyQ1NTIiYmIWV4Y2x1ZGUudGVzdChuYW1lKT92YWx1ZSsicHgiOnZhbHVlO30s
Y2xhc3NOYW1lOnthZGQ6ZnVuY3Rpb24oZWxlbSxjbGFzc05hbWVzKXtqUXVlcnku
ZWFjaCgoY2xhc3NOYW1lc3x8IiIpLnNwbGl0KC9ccysvKSxmdW5jdGlvbihpLGNs
YXNzTmFtZSl7aWYoZWxlbS5ub2RlVHlwZT09MSYmIWpRdWVyeS5jbGFzc05hbWUu
aGFzKGVsZW0uY2xhc3NOYW1lLGNsYXNzTmFtZSkpCmVsZW0uY2xhc3NOYW1lKz0o
ZWxlbS5jbGFzc05hbWU/IiAiOiIiKStjbGFzc05hbWU7fSk7fSxyZW1vdmU6ZnVu
Y3Rpb24oZWxlbSxjbGFzc05hbWVzKXtpZihlbGVtLm5vZGVUeXBlPT0xKQplbGVt
LmNsYXNzTmFtZT1jbGFzc05hbWVzIT09dW5kZWZpbmVkP2pRdWVyeS5ncmVwKGVs
ZW0uY2xhc3NOYW1lLnNwbGl0KC9ccysvKSxmdW5jdGlvbihjbGFzc05hbWUpe3Jl
dHVybiFqUXVlcnkuY2xhc3NOYW1lLmhhcyhjbGFzc05hbWVzLGNsYXNzTmFtZSk7
fSkuam9pbigiICIpOiIiO30saGFzOmZ1bmN0aW9uKGVsZW0sY2xhc3NOYW1lKXty
ZXR1cm4gZWxlbSYmalF1ZXJ5LmluQXJyYXkoY2xhc3NOYW1lLChlbGVtLmNsYXNz
TmFtZXx8ZWxlbSkudG9TdHJpbmcoKS5zcGxpdCgvXHMrLykpPi0xO319LHN3YXA6
ZnVuY3Rpb24oZWxlbSxvcHRpb25zLGNhbGxiYWNrKXt2YXIgb2xkPXt9O2Zvcih2
YXIgbmFtZSBpbiBvcHRpb25zKXtvbGRbbmFtZV09ZWxlbS5zdHlsZVtuYW1lXTtl
bGVtLnN0eWxlW25hbWVdPW9wdGlvbnNbbmFtZV07fQpjYWxsYmFjay5jYWxsKGVs
ZW0pO2Zvcih2YXIgbmFtZSBpbiBvcHRpb25zKQplbGVtLnN0eWxlW25hbWVdPW9s
ZFtuYW1lXTt9LGNzczpmdW5jdGlvbihlbGVtLG5hbWUsZm9yY2UsZXh0cmEpe2lm
KG5hbWU9PSJ3aWR0aCJ8fG5hbWU9PSJoZWlnaHQiKXt2YXIgdmFsLHByb3BzPXtw
b3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToi
YmxvY2sifSx3aGljaD1uYW1lPT0id2lkdGgiP1siTGVmdCIsIlJpZ2h0Il06WyJU
b3AiLCJCb3R0b20iXTtmdW5jdGlvbiBnZXRXSCgpe3ZhbD1uYW1lPT0id2lkdGgi
P2VsZW0ub2Zmc2V0V2lkdGg6ZWxlbS5vZmZzZXRIZWlnaHQ7aWYoZXh0cmE9PT0i
Ym9yZGVyIikKcmV0dXJuO2pRdWVyeS5lYWNoKHdoaWNoLGZ1bmN0aW9uKCl7aWYo
IWV4dHJhKQp2YWwtPXBhcnNlRmxvYXQoalF1ZXJ5LmN1ckNTUyhlbGVtLCJwYWRk
aW5nIit0aGlzLHRydWUpKXx8MDtpZihleHRyYT09PSJtYXJnaW4iKQp2YWwrPXBh
cnNlRmxvYXQoalF1ZXJ5LmN1ckNTUyhlbGVtLCJtYXJnaW4iK3RoaXMsdHJ1ZSkp
fHwwO2Vsc2UKdmFsLT1wYXJzZUZsb2F0KGpRdWVyeS5jdXJDU1MoZWxlbSwiYm9y
ZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHwwO30pO30KaWYoZWxlbS5vZmZzZXRX
aWR0aCE9PTApCmdldFdIKCk7ZWxzZQpqUXVlcnkuc3dhcChlbGVtLHByb3BzLGdl
dFdIKTtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLnJvdW5kKHZhbCkpO30KcmV0dXJu
IGpRdWVyeS5jdXJDU1MoZWxlbSxuYW1lLGZvcmNlKTt9LGN1ckNTUzpmdW5jdGlv
bihlbGVtLG5hbWUsZm9yY2Upe3ZhciByZXQsc3R5bGU9ZWxlbS5zdHlsZTtpZihu
YW1lPT0ib3BhY2l0eSImJiFqUXVlcnkuc3VwcG9ydC5vcGFjaXR5KXtyZXQ9alF1
ZXJ5LmF0dHIoc3R5bGUsIm9wYWNpdHkiKTtyZXR1cm4gcmV0PT0iIj8iMSI6cmV0
O30KaWYobmFtZS5tYXRjaCgvZmxvYXQvaSkpCm5hbWU9c3R5bGVGbG9hdDtpZigh
Zm9yY2UmJnN0eWxlJiZzdHlsZVtuYW1lXSkKcmV0PXN0eWxlW25hbWVdO2Vsc2Ug
aWYoZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSl7aWYobmFtZS5tYXRjaCgv
ZmxvYXQvaSkpCm5hbWU9ImZsb2F0IjtuYW1lPW5hbWUucmVwbGFjZSgvKFtBLVpd
KS9nLCItJDEiKS50b0xvd2VyQ2FzZSgpO3RyeXt2YXIgY29tcHV0ZWRTdHlsZT1k
ZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW0sbnVsbCk7fWNhdGNoKGUp
e30KaWYoY29tcHV0ZWRTdHlsZSkKcmV0PWNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZShuYW1lKTtpZihuYW1lPT0ib3BhY2l0eSImJnJldD09IiIpCnJldD0i
MSI7fWVsc2UgaWYoZWxlbS5jdXJyZW50U3R5bGUpe3ZhciBjYW1lbENhc2U9bmFt
ZS5yZXBsYWNlKC9cLShcdykvZyxmdW5jdGlvbihhbGwsbGV0dGVyKXtyZXR1cm4g
bGV0dGVyLnRvVXBwZXJDYXNlKCk7fSk7cmV0PWVsZW0uY3VycmVudFN0eWxlW25h
bWVdfHxlbGVtLmN1cnJlbnRTdHlsZVtjYW1lbENhc2VdO2lmKCEvXlxkKyhweCk/
JC9pLnRlc3QocmV0KSYmL15cZC8udGVzdChyZXQpKXt2YXIgbGVmdD1zdHlsZS5s
ZWZ0LHJzTGVmdD1lbGVtLnJ1bnRpbWVTdHlsZS5sZWZ0O2VsZW0ucnVudGltZVN0
eWxlLmxlZnQ9ZWxlbS5jdXJyZW50U3R5bGUubGVmdDtzdHlsZS5sZWZ0PXJldHx8
MDtyZXQ9c3R5bGUucGl4ZWxMZWZ0KyJweCI7c3R5bGUubGVmdD1sZWZ0O2VsZW0u
cnVudGltZVN0eWxlLmxlZnQ9cnNMZWZ0O319CnJldHVybiByZXQ7fSxjbGVhbjpm
dW5jdGlvbihlbGVtcyxjb250ZXh0LGZyYWdtZW50KXtjb250ZXh0PWNvbnRleHR8
fGRvY3VtZW50O2lmKHR5cGVvZiBjb250ZXh0LmNyZWF0ZUVsZW1lbnQ9PT0idW5k
ZWZpbmVkIikKY29udGV4dD1jb250ZXh0Lm93bmVyRG9jdW1lbnR8fGNvbnRleHRb
MF0mJmNvbnRleHRbMF0ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQ7aWYoIWZyYWdt
ZW50JiZlbGVtcy5sZW5ndGg9PT0xJiZ0eXBlb2YgZWxlbXNbMF09PT0ic3RyaW5n
Iil7dmFyIG1hdGNoPS9ePChcdyspXHMqXC8/PiQvLmV4ZWMoZWxlbXNbMF0pO2lm
KG1hdGNoKQpyZXR1cm5bY29udGV4dC5jcmVhdGVFbGVtZW50KG1hdGNoWzFdKV07
fQp2YXIgcmV0PVtdLHNjcmlwdHM9W10sZGl2PWNvbnRleHQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7alF1ZXJ5LmVhY2goZWxlbXMsZnVuY3Rpb24oaSxlbGVtKXtpZih0
eXBlb2YgZWxlbT09PSJudW1iZXIiKQplbGVtKz0nJztpZighZWxlbSkKcmV0dXJu
O2lmKHR5cGVvZiBlbGVtPT09InN0cmluZyIpe2VsZW09ZWxlbS5yZXBsYWNlKC8o
PChcdyspW14+XSo/KVwvPi9nLGZ1bmN0aW9uKGFsbCxmcm9udCx0YWcpe3JldHVy
biB0YWcubWF0Y2goL14oYWJicnxicnxjb2x8aW1nfGlucHV0fGxpbmt8bWV0YXxw
YXJhbXxocnxhcmVhfGVtYmVkKSQvaSk/YWxsOmZyb250KyI+PC8iK3RhZysiPiI7
fSk7dmFyIHRhZ3M9ZWxlbS5yZXBsYWNlKC9eXHMrLywiIikuc3Vic3RyaW5nKDAs
MTApLnRvTG93ZXJDYXNlKCk7dmFyIHdyYXA9IXRhZ3MuaW5kZXhPZigiPG9wdCIp
JiZbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJd
fHwhdGFncy5pbmRleE9mKCI8bGVnIikmJlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVs
ZHNldD4iXXx8dGFncy5tYXRjaCgvXjwodGhlYWR8dGJvZHl8dGZvb3R8Y29sZ3xj
YXApLykmJlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXXx8IXRhZ3MuaW5kZXhPZigi
PHRyIikmJlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXXx8
KCF0YWdzLmluZGV4T2YoIjx0ZCIpfHwhdGFncy5pbmRleE9mKCI8dGgiKSkmJlsz
LCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXXx8
IXRhZ3MuaW5kZXhPZigiPGNvbCIpJiZbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5
Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il18fCFqUXVlcnkuc3Vw
cG9ydC5odG1sU2VyaWFsaXplJiZbMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXXx8WzAs
IiIsIiJdO2Rpdi5pbm5lckhUTUw9d3JhcFsxXStlbGVtK3dyYXBbMl07d2hpbGUo
d3JhcFswXS0tKQpkaXY9ZGl2Lmxhc3RDaGlsZDtpZighalF1ZXJ5LnN1cHBvcnQu
dGJvZHkpe3ZhciBoYXNCb2R5PS88dGJvZHkvaS50ZXN0KGVsZW0pLHRib2R5PSF0
YWdzLmluZGV4T2YoIjx0YWJsZSIpJiYhaGFzQm9keT9kaXYuZmlyc3RDaGlsZCYm
ZGl2LmZpcnN0Q2hpbGQuY2hpbGROb2Rlczp3cmFwWzFdPT0iPHRhYmxlPiImJiFo
YXNCb2R5P2Rpdi5jaGlsZE5vZGVzOltdO2Zvcih2YXIgaj10Ym9keS5sZW5ndGgt
MTtqPj0wOy0taikKaWYoalF1ZXJ5Lm5vZGVOYW1lKHRib2R5W2pdLCJ0Ym9keSIp
JiYhdGJvZHlbal0uY2hpbGROb2Rlcy5sZW5ndGgpCnRib2R5W2pdLnBhcmVudE5v
ZGUucmVtb3ZlQ2hpbGQodGJvZHlbal0pO30KaWYoIWpRdWVyeS5zdXBwb3J0Lmxl
YWRpbmdXaGl0ZXNwYWNlJiYvXlxzLy50ZXN0KGVsZW0pKQpkaXYuaW5zZXJ0QmVm
b3JlKGNvbnRleHQuY3JlYXRlVGV4dE5vZGUoZWxlbS5tYXRjaCgvXlxzKi8pWzBd
KSxkaXYuZmlyc3RDaGlsZCk7ZWxlbT1qUXVlcnkubWFrZUFycmF5KGRpdi5jaGls
ZE5vZGVzKTt9CmlmKGVsZW0ubm9kZVR5cGUpCnJldC5wdXNoKGVsZW0pO2Vsc2UK
cmV0PWpRdWVyeS5tZXJnZShyZXQsZWxlbSk7fSk7aWYoZnJhZ21lbnQpe2Zvcih2
YXIgaT0wO3JldFtpXTtpKyspe2lmKGpRdWVyeS5ub2RlTmFtZShyZXRbaV0sInNj
cmlwdCIpJiYoIXJldFtpXS50eXBlfHxyZXRbaV0udHlwZS50b0xvd2VyQ2FzZSgp
PT09InRleHQvamF2YXNjcmlwdCIpKXtzY3JpcHRzLnB1c2gocmV0W2ldLnBhcmVu
dE5vZGU/cmV0W2ldLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocmV0W2ldKTpyZXRb
aV0pO31lbHNle2lmKHJldFtpXS5ub2RlVHlwZT09PTEpCnJldC5zcGxpY2UuYXBw
bHkocmV0LFtpKzEsMF0uY29uY2F0KGpRdWVyeS5tYWtlQXJyYXkocmV0W2ldLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSkpKTtmcmFnbWVudC5hcHBlbmRD
aGlsZChyZXRbaV0pO319CnJldHVybiBzY3JpcHRzO30KcmV0dXJuIHJldDt9LGF0
dHI6ZnVuY3Rpb24oZWxlbSxuYW1lLHZhbHVlKXtpZighZWxlbXx8ZWxlbS5ub2Rl
VHlwZT09M3x8ZWxlbS5ub2RlVHlwZT09OCkKcmV0dXJuIHVuZGVmaW5lZDt2YXIg
bm90eG1sPSFqUXVlcnkuaXNYTUxEb2MoZWxlbSksc2V0PXZhbHVlIT09dW5kZWZp
bmVkO25hbWU9bm90eG1sJiZqUXVlcnkucHJvcHNbbmFtZV18fG5hbWU7aWYoZWxl
bS50YWdOYW1lKXt2YXIgc3BlY2lhbD0vaHJlZnxzcmN8c3R5bGUvLnRlc3QobmFt
ZSk7aWYobmFtZT09InNlbGVjdGVkIiYmZWxlbS5wYXJlbnROb2RlKQplbGVtLnBh
cmVudE5vZGUuc2VsZWN0ZWRJbmRleDtpZihuYW1lIGluIGVsZW0mJm5vdHhtbCYm
IXNwZWNpYWwpe2lmKHNldCl7aWYobmFtZT09InR5cGUiJiZqUXVlcnkubm9kZU5h
bWUoZWxlbSwiaW5wdXQiKSYmZWxlbS5wYXJlbnROb2RlKQp0aHJvdyJ0eXBlIHBy
b3BlcnR5IGNhbid0IGJlIGNoYW5nZWQiO2VsZW1bbmFtZV09dmFsdWU7fQppZihq
UXVlcnkubm9kZU5hbWUoZWxlbSwiZm9ybSIpJiZlbGVtLmdldEF0dHJpYnV0ZU5v
ZGUobmFtZSkpCnJldHVybiBlbGVtLmdldEF0dHJpYnV0ZU5vZGUobmFtZSkubm9k
ZVZhbHVlO2lmKG5hbWU9PSJ0YWJJbmRleCIpe3ZhciBhdHRyaWJ1dGVOb2RlPWVs
ZW0uZ2V0QXR0cmlidXRlTm9kZSgidGFiSW5kZXgiKTtyZXR1cm4gYXR0cmlidXRl
Tm9kZSYmYXR0cmlidXRlTm9kZS5zcGVjaWZpZWQ/YXR0cmlidXRlTm9kZS52YWx1
ZTplbGVtLm5vZGVOYW1lLm1hdGNoKC8oYnV0dG9ufGlucHV0fG9iamVjdHxzZWxl
Y3R8dGV4dGFyZWEpL2kpPzA6ZWxlbS5ub2RlTmFtZS5tYXRjaCgvXihhfGFyZWEp
JC9pKSYmZWxlbS5ocmVmPzA6dW5kZWZpbmVkO30KcmV0dXJuIGVsZW1bbmFtZV07
fQppZighalF1ZXJ5LnN1cHBvcnQuc3R5bGUmJm5vdHhtbCYmbmFtZT09InN0eWxl
IikKcmV0dXJuIGpRdWVyeS5hdHRyKGVsZW0uc3R5bGUsImNzc1RleHQiLHZhbHVl
KTtpZihzZXQpCmVsZW0uc2V0QXR0cmlidXRlKG5hbWUsIiIrdmFsdWUpO3ZhciBh
dHRyPSFqUXVlcnkuc3VwcG9ydC5ocmVmTm9ybWFsaXplZCYmbm90eG1sJiZzcGVj
aWFsP2VsZW0uZ2V0QXR0cmlidXRlKG5hbWUsMik6ZWxlbS5nZXRBdHRyaWJ1dGUo
bmFtZSk7cmV0dXJuIGF0dHI9PT1udWxsP3VuZGVmaW5lZDphdHRyO30KaWYoIWpR
dWVyeS5zdXBwb3J0Lm9wYWNpdHkmJm5hbWU9PSJvcGFjaXR5Iil7aWYoc2V0KXtl
bGVtLnpvb209MTtlbGVtLmZpbHRlcj0oZWxlbS5maWx0ZXJ8fCIiKS5yZXBsYWNl
KC9hbHBoYVwoW14pXSpcKS8sIiIpKwoocGFyc2VJbnQodmFsdWUpKycnPT0iTmFO
Ij8iIjoiYWxwaGEob3BhY2l0eT0iK3ZhbHVlKjEwMCsiKSIpO30KcmV0dXJuIGVs
ZW0uZmlsdGVyJiZlbGVtLmZpbHRlci5pbmRleE9mKCJvcGFjaXR5PSIpPj0wPyhw
YXJzZUZsb2F0KGVsZW0uZmlsdGVyLm1hdGNoKC9vcGFjaXR5PShbXildKikvKVsx
XSkvMTAwKSsnJzoiIjt9Cm5hbWU9bmFtZS5yZXBsYWNlKC8tKFthLXpdKS9pZyxm
dW5jdGlvbihhbGwsbGV0dGVyKXtyZXR1cm4gbGV0dGVyLnRvVXBwZXJDYXNlKCk7
fSk7aWYoc2V0JiZ2YWx1ZSE9J05hTnB4JyYmdmFsdWUhPSdudWxscHgnKQplbGVt
W25hbWVdPXZhbHVlO3JldHVybiBlbGVtW25hbWVdO30sdHJpbTpmdW5jdGlvbih0
ZXh0KXtyZXR1cm4odGV4dHx8IiIpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKTt9
LG1ha2VBcnJheTpmdW5jdGlvbihhcnJheSl7dmFyIHJldD1bXTtpZihhcnJheSE9
bnVsbCl7dmFyIGk9YXJyYXkubGVuZ3RoO2lmKGk9PW51bGx8fHR5cGVvZiBhcnJh
eT09PSJzdHJpbmcifHxqUXVlcnkuaXNGdW5jdGlvbihhcnJheSl8fGFycmF5LnNl
dEludGVydmFsKQpyZXRbMF09YXJyYXk7ZWxzZQp3aGlsZShpKQpyZXRbLS1pXT1h
cnJheVtpXTt9CnJldHVybiByZXQ7fSxpbkFycmF5OmZ1bmN0aW9uKGVsZW0sYXJy
YXkpe2Zvcih2YXIgaT0wLGxlbmd0aD1hcnJheS5sZW5ndGg7aTxsZW5ndGg7aSsr
KQppZihhcnJheVtpXT09PWVsZW0pCnJldHVybiBpO3JldHVybi0xO30sbWVyZ2U6
ZnVuY3Rpb24oZmlyc3Qsc2Vjb25kKXt2YXIgaT0wLGVsZW0scG9zPWZpcnN0Lmxl
bmd0aDtpZighalF1ZXJ5LnN1cHBvcnQuZ2V0QWxsKXt3aGlsZSgoZWxlbT1zZWNv
bmRbaSsrXSkhPW51bGwpCmlmKGVsZW0ubm9kZVR5cGUhPTgpCmZpcnN0W3Bvcysr
XT1lbGVtO31lbHNlCndoaWxlKChlbGVtPXNlY29uZFtpKytdKSE9bnVsbCkKZmly
c3RbcG9zKytdPWVsZW07cmV0dXJuIGZpcnN0O30sdW5pcXVlOmZ1bmN0aW9uKGFy
cmF5KXt2YXIgcmV0PVtdLGRvbmU9e307dHJ5e2Zvcih2YXIgaT0wLGxlbmd0aD1h
cnJheS5sZW5ndGg7aTxsZW5ndGg7aSsrKXt2YXIgaWQ9alF1ZXJ5LmRhdGEoYXJy
YXlbaV0pO2lmKCFkb25lW2lkXSl7ZG9uZVtpZF09dHJ1ZTtyZXQucHVzaChhcnJh
eVtpXSk7fX19Y2F0Y2goZSl7cmV0PWFycmF5O30KcmV0dXJuIHJldDt9LGdyZXA6
ZnVuY3Rpb24oZWxlbXMsY2FsbGJhY2ssaW52KXt2YXIgcmV0PVtdO2Zvcih2YXIg
aT0wLGxlbmd0aD1lbGVtcy5sZW5ndGg7aTxsZW5ndGg7aSsrKQppZighaW52IT0h
Y2FsbGJhY2soZWxlbXNbaV0saSkpCnJldC5wdXNoKGVsZW1zW2ldKTtyZXR1cm4g
cmV0O30sbWFwOmZ1bmN0aW9uKGVsZW1zLGNhbGxiYWNrKXt2YXIgcmV0PVtdO2Zv
cih2YXIgaT0wLGxlbmd0aD1lbGVtcy5sZW5ndGg7aTxsZW5ndGg7aSsrKXt2YXIg
dmFsdWU9Y2FsbGJhY2soZWxlbXNbaV0saSk7aWYodmFsdWUhPW51bGwpCnJldFty
ZXQubGVuZ3RoXT12YWx1ZTt9CnJldHVybiByZXQuY29uY2F0LmFwcGx5KFtdLHJl
dCk7fX0pO3ZhciB1c2VyQWdlbnQ9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2Vy
Q2FzZSgpO2pRdWVyeS5icm93c2VyPXt2ZXJzaW9uOih1c2VyQWdlbnQubWF0Y2go
Ly4rKD86cnZ8aXR8cmF8aWUpW1wvOiBdKFtcZC5dKykvKXx8WzAsJzAnXSlbMV0s
c2FmYXJpOi93ZWJraXQvLnRlc3QodXNlckFnZW50KSxvcGVyYTovb3BlcmEvLnRl
c3QodXNlckFnZW50KSxtc2llOi9tc2llLy50ZXN0KHVzZXJBZ2VudCkmJiEvb3Bl
cmEvLnRlc3QodXNlckFnZW50KSxtb3ppbGxhOi9tb3ppbGxhLy50ZXN0KHVzZXJB
Z2VudCkmJiEvKGNvbXBhdGlibGV8d2Via2l0KS8udGVzdCh1c2VyQWdlbnQpfTtq
UXVlcnkuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLnBh
cmVudE5vZGU7fSxwYXJlbnRzOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnku
ZGlyKGVsZW0sInBhcmVudE5vZGUiKTt9LG5leHQ6ZnVuY3Rpb24oZWxlbSl7cmV0
dXJuIGpRdWVyeS5udGgoZWxlbSwyLCJuZXh0U2libGluZyIpO30scHJldjpmdW5j
dGlvbihlbGVtKXtyZXR1cm4galF1ZXJ5Lm50aChlbGVtLDIsInByZXZpb3VzU2li
bGluZyIpO30sbmV4dEFsbDpmdW5jdGlvbihlbGVtKXtyZXR1cm4galF1ZXJ5LmRp
cihlbGVtLCJuZXh0U2libGluZyIpO30scHJldkFsbDpmdW5jdGlvbihlbGVtKXty
ZXR1cm4galF1ZXJ5LmRpcihlbGVtLCJwcmV2aW91c1NpYmxpbmciKTt9LHNpYmxp
bmdzOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuc2libGluZyhlbGVtLnBh
cmVudE5vZGUuZmlyc3RDaGlsZCxlbGVtKTt9LGNoaWxkcmVuOmZ1bmN0aW9uKGVs
ZW0pe3JldHVybiBqUXVlcnkuc2libGluZyhlbGVtLmZpcnN0Q2hpbGQpO30sY29u
dGVudHM6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGpRdWVyeS5ub2RlTmFtZShlbGVt
LCJpZnJhbWUiKT9lbGVtLmNvbnRlbnREb2N1bWVudHx8ZWxlbS5jb250ZW50V2lu
ZG93LmRvY3VtZW50OmpRdWVyeS5tYWtlQXJyYXkoZWxlbS5jaGlsZE5vZGVzKTt9
fSxmdW5jdGlvbihuYW1lLGZuKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oc2Vs
ZWN0b3Ipe3ZhciByZXQ9alF1ZXJ5Lm1hcCh0aGlzLGZuKTtpZihzZWxlY3RvciYm
dHlwZW9mIHNlbGVjdG9yPT0ic3RyaW5nIikKcmV0PWpRdWVyeS5tdWx0aUZpbHRl
cihzZWxlY3RvcixyZXQpO3JldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkudW5p
cXVlKHJldCksbmFtZSxzZWxlY3Rvcik7fTt9KTtqUXVlcnkuZWFjaCh7YXBwZW5k
VG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJl
Zm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0
aCJ9LGZ1bmN0aW9uKG5hbWUsb3JpZ2luYWwpe2pRdWVyeS5mbltuYW1lXT1mdW5j
dGlvbihzZWxlY3Rvcil7dmFyIHJldD1bXSxpbnNlcnQ9alF1ZXJ5KHNlbGVjdG9y
KTtmb3IodmFyIGk9MCxsPWluc2VydC5sZW5ndGg7aTxsO2krKyl7dmFyIGVsZW1z
PShpPjA/dGhpcy5jbG9uZSh0cnVlKTp0aGlzKS5nZXQoKTtqUXVlcnkuZm5bb3Jp
Z2luYWxdLmFwcGx5KGpRdWVyeShpbnNlcnRbaV0pLGVsZW1zKTtyZXQ9cmV0LmNv
bmNhdChlbGVtcyk7fQpyZXR1cm4gdGhpcy5wdXNoU3RhY2socmV0LG5hbWUsc2Vs
ZWN0b3IpO307fSk7alF1ZXJ5LmVhY2goe3JlbW92ZUF0dHI6ZnVuY3Rpb24obmFt
ZSl7alF1ZXJ5LmF0dHIodGhpcyxuYW1lLCIiKTtpZih0aGlzLm5vZGVUeXBlPT0x
KQp0aGlzLnJlbW92ZUF0dHJpYnV0ZShuYW1lKTt9LGFkZENsYXNzOmZ1bmN0aW9u
KGNsYXNzTmFtZXMpe2pRdWVyeS5jbGFzc05hbWUuYWRkKHRoaXMsY2xhc3NOYW1l
cyk7fSxyZW1vdmVDbGFzczpmdW5jdGlvbihjbGFzc05hbWVzKXtqUXVlcnkuY2xh
c3NOYW1lLnJlbW92ZSh0aGlzLGNsYXNzTmFtZXMpO30sdG9nZ2xlQ2xhc3M6ZnVu
Y3Rpb24oY2xhc3NOYW1lcyxzdGF0ZSl7aWYodHlwZW9mIHN0YXRlIT09ImJvb2xl
YW4iKQpzdGF0ZT0halF1ZXJ5LmNsYXNzTmFtZS5oYXModGhpcyxjbGFzc05hbWVz
KTtqUXVlcnkuY2xhc3NOYW1lW3N0YXRlPyJhZGQiOiJyZW1vdmUiXSh0aGlzLGNs
YXNzTmFtZXMpO30scmVtb3ZlOmZ1bmN0aW9uKHNlbGVjdG9yKXtpZighc2VsZWN0
b3J8fGpRdWVyeS5maWx0ZXIoc2VsZWN0b3IsW3RoaXNdKS5sZW5ndGgpe2pRdWVy
eSgiKiIsdGhpcykuYWRkKFt0aGlzXSkuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5l
dmVudC5yZW1vdmUodGhpcyk7alF1ZXJ5LnJlbW92ZURhdGEodGhpcyk7fSk7aWYo
dGhpcy5wYXJlbnROb2RlKQp0aGlzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhp
cyk7fX0sZW1wdHk6ZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuY2hpbGRyZW4oKS5y
ZW1vdmUoKTt3aGlsZSh0aGlzLmZpcnN0Q2hpbGQpCnRoaXMucmVtb3ZlQ2hpbGQo
dGhpcy5maXJzdENoaWxkKTt9fSxmdW5jdGlvbihuYW1lLGZuKXtqUXVlcnkuZm5b
bmFtZV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZuLGFyZ3VtZW50cyk7
fTt9KTtmdW5jdGlvbiBudW0oZWxlbSxwcm9wKXtyZXR1cm4gZWxlbVswXSYmcGFy
c2VJbnQoalF1ZXJ5LmN1ckNTUyhlbGVtWzBdLHByb3AsdHJ1ZSksMTApfHwwO30K
dmFyIGV4cGFuZG89ImpRdWVyeSIrbm93KCksdXVpZD0wLHdpbmRvd0RhdGE9e307
alF1ZXJ5LmV4dGVuZCh7Y2FjaGU6e30sZGF0YTpmdW5jdGlvbihlbGVtLG5hbWUs
ZGF0YSl7ZWxlbT1lbGVtPT13aW5kb3c/d2luZG93RGF0YTplbGVtO3ZhciBpZD1l
bGVtW2V4cGFuZG9dO2lmKCFpZCkKaWQ9ZWxlbVtleHBhbmRvXT0rK3V1aWQ7aWYo
bmFtZSYmIWpRdWVyeS5jYWNoZVtpZF0pCmpRdWVyeS5jYWNoZVtpZF09e307aWYo
ZGF0YSE9PXVuZGVmaW5lZCkKalF1ZXJ5LmNhY2hlW2lkXVtuYW1lXT1kYXRhO3Jl
dHVybiBuYW1lP2pRdWVyeS5jYWNoZVtpZF1bbmFtZV06aWQ7fSxyZW1vdmVEYXRh
OmZ1bmN0aW9uKGVsZW0sbmFtZSl7ZWxlbT1lbGVtPT13aW5kb3c/d2luZG93RGF0
YTplbGVtO3ZhciBpZD1lbGVtW2V4cGFuZG9dO2lmKG5hbWUpe2lmKGpRdWVyeS5j
YWNoZVtpZF0pe2RlbGV0ZSBqUXVlcnkuY2FjaGVbaWRdW25hbWVdO25hbWU9IiI7
Zm9yKG5hbWUgaW4galF1ZXJ5LmNhY2hlW2lkXSkKYnJlYWs7aWYoIW5hbWUpCmpR
dWVyeS5yZW1vdmVEYXRhKGVsZW0pO319ZWxzZXt0cnl7ZGVsZXRlIGVsZW1bZXhw
YW5kb107fWNhdGNoKGUpe2lmKGVsZW0ucmVtb3ZlQXR0cmlidXRlKQplbGVtLnJl
bW92ZUF0dHJpYnV0ZShleHBhbmRvKTt9CmRlbGV0ZSBqUXVlcnkuY2FjaGVbaWRd
O319LHF1ZXVlOmZ1bmN0aW9uKGVsZW0sdHlwZSxkYXRhKXtpZihlbGVtKXt0eXBl
PSh0eXBlfHwiZngiKSsicXVldWUiO3ZhciBxPWpRdWVyeS5kYXRhKGVsZW0sdHlw
ZSk7aWYoIXF8fGpRdWVyeS5pc0FycmF5KGRhdGEpKQpxPWpRdWVyeS5kYXRhKGVs
ZW0sdHlwZSxqUXVlcnkubWFrZUFycmF5KGRhdGEpKTtlbHNlIGlmKGRhdGEpCnEu
cHVzaChkYXRhKTt9CnJldHVybiBxO30sZGVxdWV1ZTpmdW5jdGlvbihlbGVtLHR5
cGUpe3ZhciBxdWV1ZT1qUXVlcnkucXVldWUoZWxlbSx0eXBlKSxmbj1xdWV1ZS5z
aGlmdCgpO2lmKCF0eXBlfHx0eXBlPT09ImZ4IikKZm49cXVldWVbMF07aWYoZm4h
PT11bmRlZmluZWQpCmZuLmNhbGwoZWxlbSk7fX0pO2pRdWVyeS5mbi5leHRlbmQo
e2RhdGE6ZnVuY3Rpb24oa2V5LHZhbHVlKXt2YXIgcGFydHM9a2V5LnNwbGl0KCIu
Iik7cGFydHNbMV09cGFydHNbMV0/Ii4iK3BhcnRzWzFdOiIiO2lmKHZhbHVlPT09
dW5kZWZpbmVkKXt2YXIgZGF0YT10aGlzLnRyaWdnZXJIYW5kbGVyKCJnZXREYXRh
IitwYXJ0c1sxXSsiISIsW3BhcnRzWzBdXSk7aWYoZGF0YT09PXVuZGVmaW5lZCYm
dGhpcy5sZW5ndGgpCmRhdGE9alF1ZXJ5LmRhdGEodGhpc1swXSxrZXkpO3JldHVy
biBkYXRhPT09dW5kZWZpbmVkJiZwYXJ0c1sxXT90aGlzLmRhdGEocGFydHNbMF0p
OmRhdGE7fWVsc2UKcmV0dXJuIHRoaXMudHJpZ2dlcigic2V0RGF0YSIrcGFydHNb
MV0rIiEiLFtwYXJ0c1swXSx2YWx1ZV0pLmVhY2goZnVuY3Rpb24oKXtqUXVlcnku
ZGF0YSh0aGlzLGtleSx2YWx1ZSk7fSk7fSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGtl
eSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5yZW1vdmVEYXRh
KHRoaXMsa2V5KTt9KTt9LHF1ZXVlOmZ1bmN0aW9uKHR5cGUsZGF0YSl7aWYodHlw
ZW9mIHR5cGUhPT0ic3RyaW5nIil7ZGF0YT10eXBlO3R5cGU9ImZ4Ijt9CmlmKGRh
dGE9PT11bmRlZmluZWQpCnJldHVybiBqUXVlcnkucXVldWUodGhpc1swXSx0eXBl
KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHF1ZXVlPWpRdWVyeS5x
dWV1ZSh0aGlzLHR5cGUsZGF0YSk7aWYodHlwZT09ImZ4IiYmcXVldWUubGVuZ3Ro
PT0xKQpxdWV1ZVswXS5jYWxsKHRoaXMpO30pO30sZGVxdWV1ZTpmdW5jdGlvbih0
eXBlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmRlcXVldWUo
dGhpcyx0eXBlKTt9KTt9fSk7KGZ1bmN0aW9uKCl7dmFyIGNodW5rZXI9LygoPzpc
KCg/OlwoW14oKV0rXCl8W14oKV0rKStcKXxcWyg/OlxbW15bXF1dKlxdfFsnIl1b
XiciXSpbJyJdfFteW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4r
fl0pKFxzKixccyopPy9nLGRvbmU9MCx0b1N0cmluZz1PYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nO3ZhciBTaXp6bGU9ZnVuY3Rpb24oc2VsZWN0b3IsY29udGV4dCxy
ZXN1bHRzLHNlZWQpe3Jlc3VsdHM9cmVzdWx0c3x8W107Y29udGV4dD1jb250ZXh0
fHxkb2N1bWVudDtpZihjb250ZXh0Lm5vZGVUeXBlIT09MSYmY29udGV4dC5ub2Rl
VHlwZSE9PTkpCnJldHVybltdO2lmKCFzZWxlY3Rvcnx8dHlwZW9mIHNlbGVjdG9y
IT09InN0cmluZyIpe3JldHVybiByZXN1bHRzO30KdmFyIHBhcnRzPVtdLG0sc2V0
LGNoZWNrU2V0LGNoZWNrLG1vZGUsZXh0cmEscHJ1bmU9dHJ1ZTtjaHVua2VyLmxh
c3RJbmRleD0wO3doaWxlKChtPWNodW5rZXIuZXhlYyhzZWxlY3RvcikpIT09bnVs
bCl7cGFydHMucHVzaChtWzFdKTtpZihtWzJdKXtleHRyYT1SZWdFeHAucmlnaHRD
b250ZXh0O2JyZWFrO319CmlmKHBhcnRzLmxlbmd0aD4xJiZvcmlnUE9TLmV4ZWMo
c2VsZWN0b3IpKXtpZihwYXJ0cy5sZW5ndGg9PT0yJiZFeHByLnJlbGF0aXZlW3Bh
cnRzWzBdXSl7c2V0PXBvc1Byb2Nlc3MocGFydHNbMF0rcGFydHNbMV0sY29udGV4
dCk7fWVsc2V7c2V0PUV4cHIucmVsYXRpdmVbcGFydHNbMF1dP1tjb250ZXh0XTpT
aXp6bGUocGFydHMuc2hpZnQoKSxjb250ZXh0KTt3aGlsZShwYXJ0cy5sZW5ndGgp
e3NlbGVjdG9yPXBhcnRzLnNoaWZ0KCk7aWYoRXhwci5yZWxhdGl2ZVtzZWxlY3Rv
cl0pCnNlbGVjdG9yKz1wYXJ0cy5zaGlmdCgpO3NldD1wb3NQcm9jZXNzKHNlbGVj
dG9yLHNldCk7fX19ZWxzZXt2YXIgcmV0PXNlZWQ/e2V4cHI6cGFydHMucG9wKCks
c2V0Om1ha2VBcnJheShzZWVkKX06U2l6emxlLmZpbmQocGFydHMucG9wKCkscGFy
dHMubGVuZ3RoPT09MSYmY29udGV4dC5wYXJlbnROb2RlP2NvbnRleHQucGFyZW50
Tm9kZTpjb250ZXh0LGlzWE1MKGNvbnRleHQpKTtzZXQ9U2l6emxlLmZpbHRlcihy
ZXQuZXhwcixyZXQuc2V0KTtpZihwYXJ0cy5sZW5ndGg+MCl7Y2hlY2tTZXQ9bWFr
ZUFycmF5KHNldCk7fWVsc2V7cHJ1bmU9ZmFsc2U7fQp3aGlsZShwYXJ0cy5sZW5n
dGgpe3ZhciBjdXI9cGFydHMucG9wKCkscG9wPWN1cjtpZighRXhwci5yZWxhdGl2
ZVtjdXJdKXtjdXI9IiI7fWVsc2V7cG9wPXBhcnRzLnBvcCgpO30KaWYocG9wPT1u
dWxsKXtwb3A9Y29udGV4dDt9CkV4cHIucmVsYXRpdmVbY3VyXShjaGVja1NldCxw
b3AsaXNYTUwoY29udGV4dCkpO319CmlmKCFjaGVja1NldCl7Y2hlY2tTZXQ9c2V0
O30KaWYoIWNoZWNrU2V0KXt0aHJvdyJTeW50YXggZXJyb3IsIHVucmVjb2duaXpl
ZCBleHByZXNzaW9uOiAiKyhjdXJ8fHNlbGVjdG9yKTt9CmlmKHRvU3RyaW5nLmNh
bGwoY2hlY2tTZXQpPT09IltvYmplY3QgQXJyYXldIil7aWYoIXBydW5lKXtyZXN1
bHRzLnB1c2guYXBwbHkocmVzdWx0cyxjaGVja1NldCk7fWVsc2UgaWYoY29udGV4
dC5ub2RlVHlwZT09PTEpe2Zvcih2YXIgaT0wO2NoZWNrU2V0W2ldIT1udWxsO2kr
Kyl7aWYoY2hlY2tTZXRbaV0mJihjaGVja1NldFtpXT09PXRydWV8fGNoZWNrU2V0
W2ldLm5vZGVUeXBlPT09MSYmY29udGFpbnMoY29udGV4dCxjaGVja1NldFtpXSkp
KXtyZXN1bHRzLnB1c2goc2V0W2ldKTt9fX1lbHNle2Zvcih2YXIgaT0wO2NoZWNr
U2V0W2ldIT1udWxsO2krKyl7aWYoY2hlY2tTZXRbaV0mJmNoZWNrU2V0W2ldLm5v
ZGVUeXBlPT09MSl7cmVzdWx0cy5wdXNoKHNldFtpXSk7fX19fWVsc2V7bWFrZUFy
cmF5KGNoZWNrU2V0LHJlc3VsdHMpO30KaWYoZXh0cmEpe1NpenpsZShleHRyYSxj
b250ZXh0LHJlc3VsdHMsc2VlZCk7aWYoc29ydE9yZGVyKXtoYXNEdXBsaWNhdGU9
ZmFsc2U7cmVzdWx0cy5zb3J0KHNvcnRPcmRlcik7aWYoaGFzRHVwbGljYXRlKXtm
b3IodmFyIGk9MTtpPHJlc3VsdHMubGVuZ3RoO2krKyl7aWYocmVzdWx0c1tpXT09
PXJlc3VsdHNbaS0xXSl7cmVzdWx0cy5zcGxpY2UoaS0tLDEpO319fX19CnJldHVy
biByZXN1bHRzO307U2l6emxlLm1hdGNoZXM9ZnVuY3Rpb24oZXhwcixzZXQpe3Jl
dHVybiBTaXp6bGUoZXhwcixudWxsLG51bGwsc2V0KTt9O1NpenpsZS5maW5kPWZ1
bmN0aW9uKGV4cHIsY29udGV4dCxpc1hNTCl7dmFyIHNldCxtYXRjaDtpZighZXhw
cil7cmV0dXJuW107fQpmb3IodmFyIGk9MCxsPUV4cHIub3JkZXIubGVuZ3RoO2k8
bDtpKyspe3ZhciB0eXBlPUV4cHIub3JkZXJbaV0sbWF0Y2g7aWYoKG1hdGNoPUV4
cHIubWF0Y2hbdHlwZV0uZXhlYyhleHByKSkpe3ZhciBsZWZ0PVJlZ0V4cC5sZWZ0
Q29udGV4dDtpZihsZWZ0LnN1YnN0cihsZWZ0Lmxlbmd0aC0xKSE9PSJcXCIpe21h
dGNoWzFdPShtYXRjaFsxXXx8IiIpLnJlcGxhY2UoL1xcL2csIiIpO3NldD1FeHBy
LmZpbmRbdHlwZV0obWF0Y2gsY29udGV4dCxpc1hNTCk7aWYoc2V0IT1udWxsKXtl
eHByPWV4cHIucmVwbGFjZShFeHByLm1hdGNoW3R5cGVdLCIiKTticmVhazt9fX19
CmlmKCFzZXQpe3NldD1jb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik7
fQpyZXR1cm57c2V0OnNldCxleHByOmV4cHJ9O307U2l6emxlLmZpbHRlcj1mdW5j
dGlvbihleHByLHNldCxpbnBsYWNlLG5vdCl7dmFyIG9sZD1leHByLHJlc3VsdD1b
XSxjdXJMb29wPXNldCxtYXRjaCxhbnlGb3VuZCxpc1hNTEZpbHRlcj1zZXQmJnNl
dFswXSYmaXNYTUwoc2V0WzBdKTt3aGlsZShleHByJiZzZXQubGVuZ3RoKXtmb3Io
dmFyIHR5cGUgaW4gRXhwci5maWx0ZXIpe2lmKChtYXRjaD1FeHByLm1hdGNoW3R5
cGVdLmV4ZWMoZXhwcikpIT1udWxsKXt2YXIgZmlsdGVyPUV4cHIuZmlsdGVyW3R5
cGVdLGZvdW5kLGl0ZW07YW55Rm91bmQ9ZmFsc2U7aWYoY3VyTG9vcD09cmVzdWx0
KXtyZXN1bHQ9W107fQppZihFeHByLnByZUZpbHRlclt0eXBlXSl7bWF0Y2g9RXhw
ci5wcmVGaWx0ZXJbdHlwZV0obWF0Y2gsY3VyTG9vcCxpbnBsYWNlLHJlc3VsdCxu
b3QsaXNYTUxGaWx0ZXIpO2lmKCFtYXRjaCl7YW55Rm91bmQ9Zm91bmQ9dHJ1ZTt9
ZWxzZSBpZihtYXRjaD09PXRydWUpe2NvbnRpbnVlO319CmlmKG1hdGNoKXtmb3Io
dmFyIGk9MDsoaXRlbT1jdXJMb29wW2ldKSE9bnVsbDtpKyspe2lmKGl0ZW0pe2Zv
dW5kPWZpbHRlcihpdGVtLG1hdGNoLGksY3VyTG9vcCk7dmFyIHBhc3M9bm90XiEh
Zm91bmQ7aWYoaW5wbGFjZSYmZm91bmQhPW51bGwpe2lmKHBhc3Mpe2FueUZvdW5k
PXRydWU7fWVsc2V7Y3VyTG9vcFtpXT1mYWxzZTt9fWVsc2UgaWYocGFzcyl7cmVz
dWx0LnB1c2goaXRlbSk7YW55Rm91bmQ9dHJ1ZTt9fX19CmlmKGZvdW5kIT09dW5k
ZWZpbmVkKXtpZighaW5wbGFjZSl7Y3VyTG9vcD1yZXN1bHQ7fQpleHByPWV4cHIu
cmVwbGFjZShFeHByLm1hdGNoW3R5cGVdLCIiKTtpZighYW55Rm91bmQpe3JldHVy
bltdO30KYnJlYWs7fX19CmlmKGV4cHI9PW9sZCl7aWYoYW55Rm91bmQ9PW51bGwp
e3Rocm93IlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIr
ZXhwcjt9ZWxzZXticmVhazt9fQpvbGQ9ZXhwcjt9CnJldHVybiBjdXJMb29wO307
dmFyIEV4cHI9U2l6emxlLnNlbGVjdG9ycz17b3JkZXI6WyJJRCIsIk5BTUUiLCJU
QUciXSxtYXRjaDp7SUQ6LyMoKD86W1x3XHUwMGMwLVx1RkZGRl8tXXxcXC4pKykv
LENMQVNTOi9cLigoPzpbXHdcdTAwYzAtXHVGRkZGXy1dfFxcLikrKS8sTkFNRTov
XFtuYW1lPVsnIl0qKCg/Oltcd1x1MDBjMC1cdUZGRkZfLV18XFwuKSspWyciXSpc
XS8sQVRUUjovXFtccyooKD86W1x3XHUwMGMwLVx1RkZGRl8tXXxcXC4pKylccyoo
PzooXFM/PSlccyooWyciXSopKC4qPylcM3wpXHMqXF0vLFRBRzovXigoPzpbXHdc
dTAwYzAtXHVGRkZGXCpfLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50aHxsYXN0
fGZpcnN0KS1jaGlsZCg/OlwoKGV2ZW58b2RkfFtcZG4rLV0qKVwpKT8vLFBPUzov
OihudGh8ZXF8Z3R8bHR8Zmlyc3R8bGFzdHxldmVufG9kZCkoPzpcKChcZCopXCkp
Pyg/PVteLV18JCkvLFBTRVVETzovOigoPzpbXHdcdTAwYzAtXHVGRkZGXy1dfFxc
LikrKSg/OlwoKFsnIl0qKSgoPzpcKFteXCldK1wpfFteXDJcKFwpXSopKylcMlwp
KT8vfSxhdHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9y
In0sYXR0ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5n
ZXRBdHRyaWJ1dGUoImhyZWYiKTt9fSxyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGNo
ZWNrU2V0LHBhcnQsaXNYTUwpe3ZhciBpc1BhcnRTdHI9dHlwZW9mIHBhcnQ9PT0i
c3RyaW5nIixpc1RhZz1pc1BhcnRTdHImJiEvXFcvLnRlc3QocGFydCksaXNQYXJ0
U3RyTm90VGFnPWlzUGFydFN0ciYmIWlzVGFnO2lmKGlzVGFnJiYhaXNYTUwpe3Bh
cnQ9cGFydC50b1VwcGVyQ2FzZSgpO30KZm9yKHZhciBpPTAsbD1jaGVja1NldC5s
ZW5ndGgsZWxlbTtpPGw7aSsrKXtpZigoZWxlbT1jaGVja1NldFtpXSkpe3doaWxl
KChlbGVtPWVsZW0ucHJldmlvdXNTaWJsaW5nKSYmZWxlbS5ub2RlVHlwZSE9PTEp
e30KY2hlY2tTZXRbaV09aXNQYXJ0U3RyTm90VGFnfHxlbGVtJiZlbGVtLm5vZGVO
YW1lPT09cGFydD9lbGVtfHxmYWxzZTplbGVtPT09cGFydDt9fQppZihpc1BhcnRT
dHJOb3RUYWcpe1NpenpsZS5maWx0ZXIocGFydCxjaGVja1NldCx0cnVlKTt9fSwi
PiI6ZnVuY3Rpb24oY2hlY2tTZXQscGFydCxpc1hNTCl7dmFyIGlzUGFydFN0cj10
eXBlb2YgcGFydD09PSJzdHJpbmciO2lmKGlzUGFydFN0ciYmIS9cVy8udGVzdChw
YXJ0KSl7cGFydD1pc1hNTD9wYXJ0OnBhcnQudG9VcHBlckNhc2UoKTtmb3IodmFy
IGk9MCxsPWNoZWNrU2V0Lmxlbmd0aDtpPGw7aSsrKXt2YXIgZWxlbT1jaGVja1Nl
dFtpXTtpZihlbGVtKXt2YXIgcGFyZW50PWVsZW0ucGFyZW50Tm9kZTtjaGVja1Nl
dFtpXT1wYXJlbnQubm9kZU5hbWU9PT1wYXJ0P3BhcmVudDpmYWxzZTt9fX1lbHNl
e2Zvcih2YXIgaT0wLGw9Y2hlY2tTZXQubGVuZ3RoO2k8bDtpKyspe3ZhciBlbGVt
PWNoZWNrU2V0W2ldO2lmKGVsZW0pe2NoZWNrU2V0W2ldPWlzUGFydFN0cj9lbGVt
LnBhcmVudE5vZGU6ZWxlbS5wYXJlbnROb2RlPT09cGFydDt9fQppZihpc1BhcnRT
dHIpe1NpenpsZS5maWx0ZXIocGFydCxjaGVja1NldCx0cnVlKTt9fX0sIiI6ZnVu
Y3Rpb24oY2hlY2tTZXQscGFydCxpc1hNTCl7dmFyIGRvbmVOYW1lPWRvbmUrKyxj
aGVja0ZuPWRpckNoZWNrO2lmKCFwYXJ0Lm1hdGNoKC9cVy8pKXt2YXIgbm9kZUNo
ZWNrPXBhcnQ9aXNYTUw/cGFydDpwYXJ0LnRvVXBwZXJDYXNlKCk7Y2hlY2tGbj1k
aXJOb2RlQ2hlY2s7fQpjaGVja0ZuKCJwYXJlbnROb2RlIixwYXJ0LGRvbmVOYW1l
LGNoZWNrU2V0LG5vZGVDaGVjayxpc1hNTCk7fSwifiI6ZnVuY3Rpb24oY2hlY2tT
ZXQscGFydCxpc1hNTCl7dmFyIGRvbmVOYW1lPWRvbmUrKyxjaGVja0ZuPWRpckNo
ZWNrO2lmKHR5cGVvZiBwYXJ0PT09InN0cmluZyImJiFwYXJ0Lm1hdGNoKC9cVy8p
KXt2YXIgbm9kZUNoZWNrPXBhcnQ9aXNYTUw/cGFydDpwYXJ0LnRvVXBwZXJDYXNl
KCk7Y2hlY2tGbj1kaXJOb2RlQ2hlY2s7fQpjaGVja0ZuKCJwcmV2aW91c1NpYmxp
bmciLHBhcnQsZG9uZU5hbWUsY2hlY2tTZXQsbm9kZUNoZWNrLGlzWE1MKTt9fSxm
aW5kOntJRDpmdW5jdGlvbihtYXRjaCxjb250ZXh0LGlzWE1MKXtpZih0eXBlb2Yg
Y29udGV4dC5nZXRFbGVtZW50QnlJZCE9PSJ1bmRlZmluZWQiJiYhaXNYTUwpe3Zh
ciBtPWNvbnRleHQuZ2V0RWxlbWVudEJ5SWQobWF0Y2hbMV0pO3JldHVybiBtP1tt
XTpbXTt9fSxOQU1FOmZ1bmN0aW9uKG1hdGNoLGNvbnRleHQsaXNYTUwpe2lmKHR5
cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlOYW1lIT09InVuZGVmaW5lZCIpe3Zh
ciByZXQ9W10scmVzdWx0cz1jb250ZXh0LmdldEVsZW1lbnRzQnlOYW1lKG1hdGNo
WzFdKTtmb3IodmFyIGk9MCxsPXJlc3VsdHMubGVuZ3RoO2k8bDtpKyspe2lmKHJl
c3VsdHNbaV0uZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1tYXRjaFsxXSl7cmV0LnB1
c2gocmVzdWx0c1tpXSk7fX0KcmV0dXJuIHJldC5sZW5ndGg9PT0wP251bGw6cmV0
O319LFRBRzpmdW5jdGlvbihtYXRjaCxjb250ZXh0KXtyZXR1cm4gY29udGV4dC5n
ZXRFbGVtZW50c0J5VGFnTmFtZShtYXRjaFsxXSk7fX0scHJlRmlsdGVyOntDTEFT
UzpmdW5jdGlvbihtYXRjaCxjdXJMb29wLGlucGxhY2UscmVzdWx0LG5vdCxpc1hN
TCl7bWF0Y2g9IiAiK21hdGNoWzFdLnJlcGxhY2UoL1xcL2csIiIpKyIgIjtpZihp
c1hNTCl7cmV0dXJuIG1hdGNoO30KZm9yKHZhciBpPTAsZWxlbTsoZWxlbT1jdXJM
b29wW2ldKSE9bnVsbDtpKyspe2lmKGVsZW0pe2lmKG5vdF4oZWxlbS5jbGFzc05h
bWUmJigiICIrZWxlbS5jbGFzc05hbWUrIiAiKS5pbmRleE9mKG1hdGNoKT49MCkp
e2lmKCFpbnBsYWNlKQpyZXN1bHQucHVzaChlbGVtKTt9ZWxzZSBpZihpbnBsYWNl
KXtjdXJMb29wW2ldPWZhbHNlO319fQpyZXR1cm4gZmFsc2U7fSxJRDpmdW5jdGlv
bihtYXRjaCl7cmV0dXJuIG1hdGNoWzFdLnJlcGxhY2UoL1xcL2csIiIpO30sVEFH
OmZ1bmN0aW9uKG1hdGNoLGN1ckxvb3Ape2Zvcih2YXIgaT0wO2N1ckxvb3BbaV09
PT1mYWxzZTtpKyspe30KcmV0dXJuIGN1ckxvb3BbaV0mJmlzWE1MKGN1ckxvb3Bb
aV0pP21hdGNoWzFdOm1hdGNoWzFdLnRvVXBwZXJDYXNlKCk7fSxDSElMRDpmdW5j
dGlvbihtYXRjaCl7aWYobWF0Y2hbMV09PSJudGgiKXt2YXIgdGVzdD0vKC0/KShc
ZCopbigoPzpcK3wtKT9cZCopLy5leGVjKG1hdGNoWzJdPT0iZXZlbiImJiIybiJ8
fG1hdGNoWzJdPT0ib2RkIiYmIjJuKzEifHwhL1xELy50ZXN0KG1hdGNoWzJdKSYm
IjBuKyIrbWF0Y2hbMl18fG1hdGNoWzJdKTttYXRjaFsyXT0odGVzdFsxXSsodGVz
dFsyXXx8MSkpLTA7bWF0Y2hbM109dGVzdFszXS0wO30KbWF0Y2hbMF09ZG9uZSsr
O3JldHVybiBtYXRjaDt9LEFUVFI6ZnVuY3Rpb24obWF0Y2gsY3VyTG9vcCxpbnBs
YWNlLHJlc3VsdCxub3QsaXNYTUwpe3ZhciBuYW1lPW1hdGNoWzFdLnJlcGxhY2Uo
L1xcL2csIiIpO2lmKCFpc1hNTCYmRXhwci5hdHRyTWFwW25hbWVdKXttYXRjaFsx
XT1FeHByLmF0dHJNYXBbbmFtZV07fQppZihtYXRjaFsyXT09PSJ+PSIpe21hdGNo
WzRdPSIgIittYXRjaFs0XSsiICI7fQpyZXR1cm4gbWF0Y2g7fSxQU0VVRE86ZnVu
Y3Rpb24obWF0Y2gsY3VyTG9vcCxpbnBsYWNlLHJlc3VsdCxub3Qpe2lmKG1hdGNo
WzFdPT09Im5vdCIpe2lmKG1hdGNoWzNdLm1hdGNoKGNodW5rZXIpLmxlbmd0aD4x
fHwvXlx3Ly50ZXN0KG1hdGNoWzNdKSl7bWF0Y2hbM109U2l6emxlKG1hdGNoWzNd
LG51bGwsbnVsbCxjdXJMb29wKTt9ZWxzZXt2YXIgcmV0PVNpenpsZS5maWx0ZXIo
bWF0Y2hbM10sY3VyTG9vcCxpbnBsYWNlLHRydWVebm90KTtpZighaW5wbGFjZSl7
cmVzdWx0LnB1c2guYXBwbHkocmVzdWx0LHJldCk7fQpyZXR1cm4gZmFsc2U7fX1l
bHNlIGlmKEV4cHIubWF0Y2guUE9TLnRlc3QobWF0Y2hbMF0pfHxFeHByLm1hdGNo
LkNISUxELnRlc3QobWF0Y2hbMF0pKXtyZXR1cm4gdHJ1ZTt9CnJldHVybiBtYXRj
aDt9LFBPUzpmdW5jdGlvbihtYXRjaCl7bWF0Y2gudW5zaGlmdCh0cnVlKTtyZXR1
cm4gbWF0Y2g7fX0sZmlsdGVyczp7ZW5hYmxlZDpmdW5jdGlvbihlbGVtKXtyZXR1
cm4gZWxlbS5kaXNhYmxlZD09PWZhbHNlJiZlbGVtLnR5cGUhPT0iaGlkZGVuIjt9
LGRpc2FibGVkOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLmRpc2FibGVkPT09
dHJ1ZTt9LGNoZWNrZWQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0uY2hlY2tl
ZD09PXRydWU7fSxzZWxlY3RlZDpmdW5jdGlvbihlbGVtKXtlbGVtLnBhcmVudE5v
ZGUuc2VsZWN0ZWRJbmRleDtyZXR1cm4gZWxlbS5zZWxlY3RlZD09PXRydWU7fSxw
YXJlbnQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuISFlbGVtLmZpcnN0Q2hpbGQ7fSxl
bXB0eTpmdW5jdGlvbihlbGVtKXtyZXR1cm4hZWxlbS5maXJzdENoaWxkO30saGFz
OmZ1bmN0aW9uKGVsZW0saSxtYXRjaCl7cmV0dXJuISFTaXp6bGUobWF0Y2hbM10s
ZWxlbSkubGVuZ3RoO30saGVhZGVyOmZ1bmN0aW9uKGVsZW0pe3JldHVybi9oXGQv
aS50ZXN0KGVsZW0ubm9kZU5hbWUpO30sdGV4dDpmdW5jdGlvbihlbGVtKXtyZXR1
cm4idGV4dCI9PT1lbGVtLnR5cGU7fSxyYWRpbzpmdW5jdGlvbihlbGVtKXtyZXR1
cm4icmFkaW8iPT09ZWxlbS50eXBlO30sY2hlY2tib3g6ZnVuY3Rpb24oZWxlbSl7
cmV0dXJuImNoZWNrYm94Ij09PWVsZW0udHlwZTt9LGZpbGU6ZnVuY3Rpb24oZWxl
bSl7cmV0dXJuImZpbGUiPT09ZWxlbS50eXBlO30scGFzc3dvcmQ6ZnVuY3Rpb24o
ZWxlbSl7cmV0dXJuInBhc3N3b3JkIj09PWVsZW0udHlwZTt9LHN1Ym1pdDpmdW5j
dGlvbihlbGVtKXtyZXR1cm4ic3VibWl0Ij09PWVsZW0udHlwZTt9LGltYWdlOmZ1
bmN0aW9uKGVsZW0pe3JldHVybiJpbWFnZSI9PT1lbGVtLnR5cGU7fSxyZXNldDpm
dW5jdGlvbihlbGVtKXtyZXR1cm4icmVzZXQiPT09ZWxlbS50eXBlO30sYnV0dG9u
OmZ1bmN0aW9uKGVsZW0pe3JldHVybiJidXR0b24iPT09ZWxlbS50eXBlfHxlbGVt
Lm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT0iQlVUVE9OIjt9LGlucHV0OmZ1bmN0
aW9uKGVsZW0pe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2ku
dGVzdChlbGVtLm5vZGVOYW1lKTt9fSxzZXRGaWx0ZXJzOntmaXJzdDpmdW5jdGlv
bihlbGVtLGkpe3JldHVybiBpPT09MDt9LGxhc3Q6ZnVuY3Rpb24oZWxlbSxpLG1h
dGNoLGFycmF5KXtyZXR1cm4gaT09PWFycmF5Lmxlbmd0aC0xO30sZXZlbjpmdW5j
dGlvbihlbGVtLGkpe3JldHVybiBpJTI9PT0wO30sb2RkOmZ1bmN0aW9uKGVsZW0s
aSl7cmV0dXJuIGklMj09PTE7fSxsdDpmdW5jdGlvbihlbGVtLGksbWF0Y2gpe3Jl
dHVybiBpPG1hdGNoWzNdLTA7fSxndDpmdW5jdGlvbihlbGVtLGksbWF0Y2gpe3Jl
dHVybiBpPm1hdGNoWzNdLTA7fSxudGg6ZnVuY3Rpb24oZWxlbSxpLG1hdGNoKXty
ZXR1cm4gbWF0Y2hbM10tMD09aTt9LGVxOmZ1bmN0aW9uKGVsZW0saSxtYXRjaCl7
cmV0dXJuIG1hdGNoWzNdLTA9PWk7fX0sZmlsdGVyOntQU0VVRE86ZnVuY3Rpb24o
ZWxlbSxtYXRjaCxpLGFycmF5KXt2YXIgbmFtZT1tYXRjaFsxXSxmaWx0ZXI9RXhw
ci5maWx0ZXJzW25hbWVdO2lmKGZpbHRlcil7cmV0dXJuIGZpbHRlcihlbGVtLGks
bWF0Y2gsYXJyYXkpO31lbHNlIGlmKG5hbWU9PT0iY29udGFpbnMiKXtyZXR1cm4o
ZWxlbS50ZXh0Q29udGVudHx8ZWxlbS5pbm5lclRleHR8fCIiKS5pbmRleE9mKG1h
dGNoWzNdKT49MDt9ZWxzZSBpZihuYW1lPT09Im5vdCIpe3ZhciBub3Q9bWF0Y2hb
M107Zm9yKHZhciBpPTAsbD1ub3QubGVuZ3RoO2k8bDtpKyspe2lmKG5vdFtpXT09
PWVsZW0pe3JldHVybiBmYWxzZTt9fQpyZXR1cm4gdHJ1ZTt9fSxDSElMRDpmdW5j
dGlvbihlbGVtLG1hdGNoKXt2YXIgdHlwZT1tYXRjaFsxXSxub2RlPWVsZW07c3dp
dGNoKHR5cGUpe2Nhc2Unb25seSc6Y2FzZSdmaXJzdCc6d2hpbGUobm9kZT1ub2Rl
LnByZXZpb3VzU2libGluZyl7aWYobm9kZS5ub2RlVHlwZT09PTEpcmV0dXJuIGZh
bHNlO30KaWYodHlwZT09J2ZpcnN0JylyZXR1cm4gdHJ1ZTtub2RlPWVsZW07Y2Fz
ZSdsYXN0Jzp3aGlsZShub2RlPW5vZGUubmV4dFNpYmxpbmcpe2lmKG5vZGUubm9k
ZVR5cGU9PT0xKXJldHVybiBmYWxzZTt9CnJldHVybiB0cnVlO2Nhc2UnbnRoJzp2
YXIgZmlyc3Q9bWF0Y2hbMl0sbGFzdD1tYXRjaFszXTtpZihmaXJzdD09MSYmbGFz
dD09MCl7cmV0dXJuIHRydWU7fQp2YXIgZG9uZU5hbWU9bWF0Y2hbMF0scGFyZW50
PWVsZW0ucGFyZW50Tm9kZTtpZihwYXJlbnQmJihwYXJlbnQuc2l6Y2FjaGUhPT1k
b25lTmFtZXx8IWVsZW0ubm9kZUluZGV4KSl7dmFyIGNvdW50PTA7Zm9yKG5vZGU9
cGFyZW50LmZpcnN0Q2hpbGQ7bm9kZTtub2RlPW5vZGUubmV4dFNpYmxpbmcpe2lm
KG5vZGUubm9kZVR5cGU9PT0xKXtub2RlLm5vZGVJbmRleD0rK2NvdW50O319CnBh
cmVudC5zaXpjYWNoZT1kb25lTmFtZTt9CnZhciBkaWZmPWVsZW0ubm9kZUluZGV4
LWxhc3Q7aWYoZmlyc3Q9PTApe3JldHVybiBkaWZmPT0wO31lbHNle3JldHVybihk
aWZmJWZpcnN0PT0wJiZkaWZmL2ZpcnN0Pj0wKTt9fX0sSUQ6ZnVuY3Rpb24oZWxl
bSxtYXRjaCl7cmV0dXJuIGVsZW0ubm9kZVR5cGU9PT0xJiZlbGVtLmdldEF0dHJp
YnV0ZSgiaWQiKT09PW1hdGNoO30sVEFHOmZ1bmN0aW9uKGVsZW0sbWF0Y2gpe3Jl
dHVybihtYXRjaD09PSIqIiYmZWxlbS5ub2RlVHlwZT09PTEpfHxlbGVtLm5vZGVO
YW1lPT09bWF0Y2g7fSxDTEFTUzpmdW5jdGlvbihlbGVtLG1hdGNoKXtyZXR1cm4o
IiAiKyhlbGVtLmNsYXNzTmFtZXx8ZWxlbS5nZXRBdHRyaWJ1dGUoImNsYXNzIikp
KyIgIikuaW5kZXhPZihtYXRjaCk+LTE7fSxBVFRSOmZ1bmN0aW9uKGVsZW0sbWF0
Y2gpe3ZhciBuYW1lPW1hdGNoWzFdLHJlc3VsdD1FeHByLmF0dHJIYW5kbGVbbmFt
ZV0/RXhwci5hdHRySGFuZGxlW25hbWVdKGVsZW0pOmVsZW1bbmFtZV0hPW51bGw/
ZWxlbVtuYW1lXTplbGVtLmdldEF0dHJpYnV0ZShuYW1lKSx2YWx1ZT1yZXN1bHQr
IiIsdHlwZT1tYXRjaFsyXSxjaGVjaz1tYXRjaFs0XTtyZXR1cm4gcmVzdWx0PT1u
dWxsP3R5cGU9PT0iIT0iOnR5cGU9PT0iPSI/dmFsdWU9PT1jaGVjazp0eXBlPT09
Iio9Ij92YWx1ZS5pbmRleE9mKGNoZWNrKT49MDp0eXBlPT09In49Ij8oIiAiK3Zh
bHVlKyIgIikuaW5kZXhPZihjaGVjayk+PTA6IWNoZWNrP3ZhbHVlJiZyZXN1bHQh
PT1mYWxzZTp0eXBlPT09IiE9Ij92YWx1ZSE9Y2hlY2s6dHlwZT09PSJePSI/dmFs
dWUuaW5kZXhPZihjaGVjayk9PT0wOnR5cGU9PT0iJD0iP3ZhbHVlLnN1YnN0cih2
YWx1ZS5sZW5ndGgtY2hlY2subGVuZ3RoKT09PWNoZWNrOnR5cGU9PT0ifD0iP3Zh
bHVlPT09Y2hlY2t8fHZhbHVlLnN1YnN0cigwLGNoZWNrLmxlbmd0aCsxKT09PWNo
ZWNrKyItIjpmYWxzZTt9LFBPUzpmdW5jdGlvbihlbGVtLG1hdGNoLGksYXJyYXkp
e3ZhciBuYW1lPW1hdGNoWzJdLGZpbHRlcj1FeHByLnNldEZpbHRlcnNbbmFtZV07
aWYoZmlsdGVyKXtyZXR1cm4gZmlsdGVyKGVsZW0saSxtYXRjaCxhcnJheSk7fX19
fTt2YXIgb3JpZ1BPUz1FeHByLm1hdGNoLlBPUztmb3IodmFyIHR5cGUgaW4gRXhw
ci5tYXRjaCl7RXhwci5tYXRjaFt0eXBlXT1SZWdFeHAoRXhwci5tYXRjaFt0eXBl
XS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKTt9CnZh
ciBtYWtlQXJyYXk9ZnVuY3Rpb24oYXJyYXkscmVzdWx0cyl7YXJyYXk9QXJyYXku
cHJvdG90eXBlLnNsaWNlLmNhbGwoYXJyYXkpO2lmKHJlc3VsdHMpe3Jlc3VsdHMu
cHVzaC5hcHBseShyZXN1bHRzLGFycmF5KTtyZXR1cm4gcmVzdWx0czt9CnJldHVy
biBhcnJheTt9O3RyeXtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2Rlcyk7fWNhdGNoKGUpe21ha2VBcnJh
eT1mdW5jdGlvbihhcnJheSxyZXN1bHRzKXt2YXIgcmV0PXJlc3VsdHN8fFtdO2lm
KHRvU3RyaW5nLmNhbGwoYXJyYXkpPT09IltvYmplY3QgQXJyYXldIil7QXJyYXku
cHJvdG90eXBlLnB1c2guYXBwbHkocmV0LGFycmF5KTt9ZWxzZXtpZih0eXBlb2Yg
YXJyYXkubGVuZ3RoPT09Im51bWJlciIpe2Zvcih2YXIgaT0wLGw9YXJyYXkubGVu
Z3RoO2k8bDtpKyspe3JldC5wdXNoKGFycmF5W2ldKTt9fWVsc2V7Zm9yKHZhciBp
PTA7YXJyYXlbaV07aSsrKXtyZXQucHVzaChhcnJheVtpXSk7fX19CnJldHVybiBy
ZXQ7fTt9CnZhciBzb3J0T3JkZXI7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXtzb3J0T3JkZXI9ZnVuY3Rpb24oYSxi
KXt2YXIgcmV0PWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYikmND8tMTphPT09
Yj8wOjE7aWYocmV0PT09MCl7aGFzRHVwbGljYXRlPXRydWU7fQpyZXR1cm4gcmV0
O307fWVsc2UgaWYoInNvdXJjZUluZGV4ImluIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCl7c29ydE9yZGVyPWZ1bmN0aW9uKGEsYil7dmFyIHJldD1hLnNvdXJjZUlu
ZGV4LWIuc291cmNlSW5kZXg7aWYocmV0PT09MCl7aGFzRHVwbGljYXRlPXRydWU7
fQpyZXR1cm4gcmV0O307fWVsc2UgaWYoZG9jdW1lbnQuY3JlYXRlUmFuZ2Upe3Nv
cnRPcmRlcj1mdW5jdGlvbihhLGIpe3ZhciBhUmFuZ2U9YS5vd25lckRvY3VtZW50
LmNyZWF0ZVJhbmdlKCksYlJhbmdlPWIub3duZXJEb2N1bWVudC5jcmVhdGVSYW5n
ZSgpO2FSYW5nZS5zZWxlY3ROb2RlKGEpO2FSYW5nZS5jb2xsYXBzZSh0cnVlKTti
UmFuZ2Uuc2VsZWN0Tm9kZShiKTtiUmFuZ2UuY29sbGFwc2UodHJ1ZSk7dmFyIHJl
dD1hUmFuZ2UuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJUX1RPX0VO
RCxiUmFuZ2UpO2lmKHJldD09PTApe2hhc0R1cGxpY2F0ZT10cnVlO30KcmV0dXJu
IHJldDt9O30KKGZ1bmN0aW9uKCl7dmFyIGZvcm09ZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZm9ybSIpLGlkPSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO2Zv
cm0uaW5uZXJIVE1MPSI8aW5wdXQgbmFtZT0nIitpZCsiJy8+Ijt2YXIgcm9vdD1k
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7cm9vdC5pbnNlcnRCZWZvcmUoZm9ybSxy
b290LmZpcnN0Q2hpbGQpO2lmKCEhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQp
KXtFeHByLmZpbmQuSUQ9ZnVuY3Rpb24obWF0Y2gsY29udGV4dCxpc1hNTCl7aWYo
dHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudEJ5SWQhPT0idW5kZWZpbmVkIiYmIWlz
WE1MKXt2YXIgbT1jb250ZXh0LmdldEVsZW1lbnRCeUlkKG1hdGNoWzFdKTtyZXR1
cm4gbT9tLmlkPT09bWF0Y2hbMV18fHR5cGVvZiBtLmdldEF0dHJpYnV0ZU5vZGUh
PT0idW5kZWZpbmVkIiYmbS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpLm5vZGVWYWx1
ZT09PW1hdGNoWzFdP1ttXTp1bmRlZmluZWQ6W107fX07RXhwci5maWx0ZXIuSUQ9
ZnVuY3Rpb24oZWxlbSxtYXRjaCl7dmFyIG5vZGU9dHlwZW9mIGVsZW0uZ2V0QXR0
cmlidXRlTm9kZSE9PSJ1bmRlZmluZWQiJiZlbGVtLmdldEF0dHJpYnV0ZU5vZGUo
ImlkIik7cmV0dXJuIGVsZW0ubm9kZVR5cGU9PT0xJiZub2RlJiZub2RlLm5vZGVW
YWx1ZT09PW1hdGNoO307fQpyb290LnJlbW92ZUNoaWxkKGZvcm0pO30pKCk7KGZ1
bmN0aW9uKCl7dmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtk
aXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIikpO2lmKGRp
di5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wKXtFeHByLmZpbmQu
VEFHPWZ1bmN0aW9uKG1hdGNoLGNvbnRleHQpe3ZhciByZXN1bHRzPWNvbnRleHQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUobWF0Y2hbMV0pO2lmKG1hdGNoWzFdPT09Iioi
KXt2YXIgdG1wPVtdO2Zvcih2YXIgaT0wO3Jlc3VsdHNbaV07aSsrKXtpZihyZXN1
bHRzW2ldLm5vZGVUeXBlPT09MSl7dG1wLnB1c2gocmVzdWx0c1tpXSk7fX0KcmVz
dWx0cz10bXA7fQpyZXR1cm4gcmVzdWx0czt9O30KZGl2LmlubmVySFRNTD0iPGEg
aHJlZj0nIyc+PC9hPiI7aWYoZGl2LmZpcnN0Q2hpbGQmJnR5cGVvZiBkaXYuZmly
c3RDaGlsZC5nZXRBdHRyaWJ1dGUhPT0idW5kZWZpbmVkIiYmZGl2LmZpcnN0Q2hp
bGQuZ2V0QXR0cmlidXRlKCJocmVmIikhPT0iIyIpe0V4cHIuYXR0ckhhbmRsZS5o
cmVmPWZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLmdldEF0dHJpYnV0ZSgiaHJl
ZiIsMik7fTt9fSkoKTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKShmdW5j
dGlvbigpe3ZhciBvbGRTaXp6bGU9U2l6emxlLGRpdj1kb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTtkaXYuaW5uZXJIVE1MPSI8cCBjbGFzcz0nVEVTVCc+PC9w
PiI7aWYoZGl2LnF1ZXJ5U2VsZWN0b3JBbGwmJmRpdi5xdWVyeVNlbGVjdG9yQWxs
KCIuVEVTVCIpLmxlbmd0aD09PTApe3JldHVybjt9ClNpenpsZT1mdW5jdGlvbihx
dWVyeSxjb250ZXh0LGV4dHJhLHNlZWQpe2NvbnRleHQ9Y29udGV4dHx8ZG9jdW1l
bnQ7aWYoIXNlZWQmJmNvbnRleHQubm9kZVR5cGU9PT05JiYhaXNYTUwoY29udGV4
dCkpe3RyeXtyZXR1cm4gbWFrZUFycmF5KGNvbnRleHQucXVlcnlTZWxlY3RvckFs
bChxdWVyeSksZXh0cmEpO31jYXRjaChlKXt9fQpyZXR1cm4gb2xkU2l6emxlKHF1
ZXJ5LGNvbnRleHQsZXh0cmEsc2VlZCk7fTtTaXp6bGUuZmluZD1vbGRTaXp6bGUu
ZmluZDtTaXp6bGUuZmlsdGVyPW9sZFNpenpsZS5maWx0ZXI7U2l6emxlLnNlbGVj
dG9ycz1vbGRTaXp6bGUuc2VsZWN0b3JzO1NpenpsZS5tYXRjaGVzPW9sZFNpenps
ZS5tYXRjaGVzO30pKCk7aWYoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFt
ZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUpKGZ1bmN0aW9uKCl7dmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTtkaXYuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSd0ZXN0IGUnPjwvZGl2Pjxk
aXYgY2xhc3M9J3Rlc3QnPjwvZGl2PiI7aWYoZGl2LmdldEVsZW1lbnRzQnlDbGFz
c05hbWUoImUiKS5sZW5ndGg9PT0wKQpyZXR1cm47ZGl2Lmxhc3RDaGlsZC5jbGFz
c05hbWU9ImUiO2lmKGRpdi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVu
Z3RoPT09MSkKcmV0dXJuO0V4cHIub3JkZXIuc3BsaWNlKDEsMCwiQ0xBU1MiKTtF
eHByLmZpbmQuQ0xBU1M9ZnVuY3Rpb24obWF0Y2gsY29udGV4dCxpc1hNTCl7aWYo
dHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9PSJ1bmRlZmlu
ZWQiJiYhaXNYTUwpe3JldHVybiBjb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUobWF0Y2hbMV0pO319O30pKCk7ZnVuY3Rpb24gZGlyTm9kZUNoZWNrKGRpcixj
dXIsZG9uZU5hbWUsY2hlY2tTZXQsbm9kZUNoZWNrLGlzWE1MKXt2YXIgc2liRGly
PWRpcj09InByZXZpb3VzU2libGluZyImJiFpc1hNTDtmb3IodmFyIGk9MCxsPWNo
ZWNrU2V0Lmxlbmd0aDtpPGw7aSsrKXt2YXIgZWxlbT1jaGVja1NldFtpXTtpZihl
bGVtKXtpZihzaWJEaXImJmVsZW0ubm9kZVR5cGU9PT0xKXtlbGVtLnNpemNhY2hl
PWRvbmVOYW1lO2VsZW0uc2l6c2V0PWk7fQplbGVtPWVsZW1bZGlyXTt2YXIgbWF0
Y2g9ZmFsc2U7d2hpbGUoZWxlbSl7aWYoZWxlbS5zaXpjYWNoZT09PWRvbmVOYW1l
KXttYXRjaD1jaGVja1NldFtlbGVtLnNpenNldF07YnJlYWs7fQppZihlbGVtLm5v
ZGVUeXBlPT09MSYmIWlzWE1MKXtlbGVtLnNpemNhY2hlPWRvbmVOYW1lO2VsZW0u
c2l6c2V0PWk7fQppZihlbGVtLm5vZGVOYW1lPT09Y3VyKXttYXRjaD1lbGVtO2Jy
ZWFrO30KZWxlbT1lbGVtW2Rpcl07fQpjaGVja1NldFtpXT1tYXRjaDt9fX0KZnVu
Y3Rpb24gZGlyQ2hlY2soZGlyLGN1cixkb25lTmFtZSxjaGVja1NldCxub2RlQ2hl
Y2ssaXNYTUwpe3ZhciBzaWJEaXI9ZGlyPT0icHJldmlvdXNTaWJsaW5nIiYmIWlz
WE1MO2Zvcih2YXIgaT0wLGw9Y2hlY2tTZXQubGVuZ3RoO2k8bDtpKyspe3ZhciBl
bGVtPWNoZWNrU2V0W2ldO2lmKGVsZW0pe2lmKHNpYkRpciYmZWxlbS5ub2RlVHlw
ZT09PTEpe2VsZW0uc2l6Y2FjaGU9ZG9uZU5hbWU7ZWxlbS5zaXpzZXQ9aTt9CmVs
ZW09ZWxlbVtkaXJdO3ZhciBtYXRjaD1mYWxzZTt3aGlsZShlbGVtKXtpZihlbGVt
LnNpemNhY2hlPT09ZG9uZU5hbWUpe21hdGNoPWNoZWNrU2V0W2VsZW0uc2l6c2V0
XTticmVhazt9CmlmKGVsZW0ubm9kZVR5cGU9PT0xKXtpZighaXNYTUwpe2VsZW0u
c2l6Y2FjaGU9ZG9uZU5hbWU7ZWxlbS5zaXpzZXQ9aTt9CmlmKHR5cGVvZiBjdXIh
PT0ic3RyaW5nIil7aWYoZWxlbT09PWN1cil7bWF0Y2g9dHJ1ZTticmVhazt9fWVs
c2UgaWYoU2l6emxlLmZpbHRlcihjdXIsW2VsZW1dKS5sZW5ndGg+MCl7bWF0Y2g9
ZWxlbTticmVhazt9fQplbGVtPWVsZW1bZGlyXTt9CmNoZWNrU2V0W2ldPW1hdGNo
O319fQp2YXIgY29udGFpbnM9ZG9jdW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRp
b24/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihiKSYxNjt9OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPT1iJiYoYS5jb250YWlu
cz9hLmNvbnRhaW5zKGIpOnRydWUpO307dmFyIGlzWE1MPWZ1bmN0aW9uKGVsZW0p
e3JldHVybiBlbGVtLm5vZGVUeXBlPT09OSYmZWxlbS5kb2N1bWVudEVsZW1lbnQu
bm9kZU5hbWUhPT0iSFRNTCJ8fCEhZWxlbS5vd25lckRvY3VtZW50JiZpc1hNTChl
bGVtLm93bmVyRG9jdW1lbnQpO307dmFyIHBvc1Byb2Nlc3M9ZnVuY3Rpb24oc2Vs
ZWN0b3IsY29udGV4dCl7dmFyIHRtcFNldD1bXSxsYXRlcj0iIixtYXRjaCxyb290
PWNvbnRleHQubm9kZVR5cGU/W2NvbnRleHRdOmNvbnRleHQ7d2hpbGUoKG1hdGNo
PUV4cHIubWF0Y2guUFNFVURPLmV4ZWMoc2VsZWN0b3IpKSl7bGF0ZXIrPW1hdGNo
WzBdO3NlbGVjdG9yPXNlbGVjdG9yLnJlcGxhY2UoRXhwci5tYXRjaC5QU0VVRE8s
IiIpO30Kc2VsZWN0b3I9RXhwci5yZWxhdGl2ZVtzZWxlY3Rvcl0/c2VsZWN0b3Ir
IioiOnNlbGVjdG9yO2Zvcih2YXIgaT0wLGw9cm9vdC5sZW5ndGg7aTxsO2krKyl7
U2l6emxlKHNlbGVjdG9yLHJvb3RbaV0sdG1wU2V0KTt9CnJldHVybiBTaXp6bGUu
ZmlsdGVyKGxhdGVyLHRtcFNldCk7fTtqUXVlcnkuZmluZD1TaXp6bGU7alF1ZXJ5
LmZpbHRlcj1TaXp6bGUuZmlsdGVyO2pRdWVyeS5leHByPVNpenpsZS5zZWxlY3Rv
cnM7alF1ZXJ5LmV4cHJbIjoiXT1qUXVlcnkuZXhwci5maWx0ZXJzO1NpenpsZS5z
ZWxlY3RvcnMuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVs
ZW0ub2Zmc2V0V2lkdGg9PT0wfHxlbGVtLm9mZnNldEhlaWdodD09PTA7fTtTaXp6
bGUuc2VsZWN0b3JzLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihlbGVtKXtyZXR1
cm4gZWxlbS5vZmZzZXRXaWR0aD4wfHxlbGVtLm9mZnNldEhlaWdodD4wO307U2l6
emxlLnNlbGVjdG9ycy5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGVsZW0pe3Jl
dHVybiBqUXVlcnkuZ3JlcChqUXVlcnkudGltZXJzLGZ1bmN0aW9uKGZuKXtyZXR1
cm4gZWxlbT09PWZuLmVsZW07fSkubGVuZ3RoO307alF1ZXJ5Lm11bHRpRmlsdGVy
PWZ1bmN0aW9uKGV4cHIsZWxlbXMsbm90KXtpZihub3Qpe2V4cHI9Ijpub3QoIitl
eHByKyIpIjt9CnJldHVybiBTaXp6bGUubWF0Y2hlcyhleHByLGVsZW1zKTt9O2pR
dWVyeS5kaXI9ZnVuY3Rpb24oZWxlbSxkaXIpe3ZhciBtYXRjaGVkPVtdLGN1cj1l
bGVtW2Rpcl07d2hpbGUoY3VyJiZjdXIhPWRvY3VtZW50KXtpZihjdXIubm9kZVR5
cGU9PTEpCm1hdGNoZWQucHVzaChjdXIpO2N1cj1jdXJbZGlyXTt9CnJldHVybiBt
YXRjaGVkO307alF1ZXJ5Lm50aD1mdW5jdGlvbihjdXIscmVzdWx0LGRpcixlbGVt
KXtyZXN1bHQ9cmVzdWx0fHwxO3ZhciBudW09MDtmb3IoO2N1cjtjdXI9Y3VyW2Rp
cl0pCmlmKGN1ci5ub2RlVHlwZT09MSYmKytudW09PXJlc3VsdCkKYnJlYWs7cmV0
dXJuIGN1cjt9O2pRdWVyeS5zaWJsaW5nPWZ1bmN0aW9uKG4sZWxlbSl7dmFyIHI9
W107Zm9yKDtuO249bi5uZXh0U2libGluZyl7aWYobi5ub2RlVHlwZT09MSYmbiE9
ZWxlbSkKci5wdXNoKG4pO30KcmV0dXJuIHI7fTtyZXR1cm47d2luZG93LlNpenps
ZT1TaXp6bGU7fSkoKTtqUXVlcnkuZXZlbnQ9e2FkZDpmdW5jdGlvbihlbGVtLHR5
cGVzLGhhbmRsZXIsZGF0YSl7aWYoZWxlbS5ub2RlVHlwZT09M3x8ZWxlbS5ub2Rl
VHlwZT09OCkKcmV0dXJuO2lmKGVsZW0uc2V0SW50ZXJ2YWwmJmVsZW0hPXdpbmRv
dykKZWxlbT13aW5kb3c7aWYoIWhhbmRsZXIuZ3VpZCkKaGFuZGxlci5ndWlkPXRo
aXMuZ3VpZCsrO2lmKGRhdGEhPT11bmRlZmluZWQpe3ZhciBmbj1oYW5kbGVyO2hh
bmRsZXI9dGhpcy5wcm94eShmbik7aGFuZGxlci5kYXRhPWRhdGE7fQp2YXIgZXZl
bnRzPWpRdWVyeS5kYXRhKGVsZW0sImV2ZW50cyIpfHxqUXVlcnkuZGF0YShlbGVt
LCJldmVudHMiLHt9KSxoYW5kbGU9alF1ZXJ5LmRhdGEoZWxlbSwiaGFuZGxlIil8
fGpRdWVyeS5kYXRhKGVsZW0sImhhbmRsZSIsZnVuY3Rpb24oKXtyZXR1cm4gdHlw
ZW9mIGpRdWVyeSE9PSJ1bmRlZmluZWQiJiYhalF1ZXJ5LmV2ZW50LnRyaWdnZXJl
ZD9qUXVlcnkuZXZlbnQuaGFuZGxlLmFwcGx5KGFyZ3VtZW50cy5jYWxsZWUuZWxl
bSxhcmd1bWVudHMpOnVuZGVmaW5lZDt9KTtoYW5kbGUuZWxlbT1lbGVtO2pRdWVy
eS5lYWNoKHR5cGVzLnNwbGl0KC9ccysvKSxmdW5jdGlvbihpbmRleCx0eXBlKXt2
YXIgbmFtZXNwYWNlcz10eXBlLnNwbGl0KCIuIik7dHlwZT1uYW1lc3BhY2VzLnNo
aWZ0KCk7aGFuZGxlci50eXBlPW5hbWVzcGFjZXMuc2xpY2UoKS5zb3J0KCkuam9p
bigiLiIpO3ZhciBoYW5kbGVycz1ldmVudHNbdHlwZV07aWYoalF1ZXJ5LmV2ZW50
LnNwZWNpYWxBbGxbdHlwZV0pCmpRdWVyeS5ldmVudC5zcGVjaWFsQWxsW3R5cGVd
LnNldHVwLmNhbGwoZWxlbSxkYXRhLG5hbWVzcGFjZXMpO2lmKCFoYW5kbGVycyl7
aGFuZGxlcnM9ZXZlbnRzW3R5cGVdPXt9O2lmKCFqUXVlcnkuZXZlbnQuc3BlY2lh
bFt0eXBlXXx8alF1ZXJ5LmV2ZW50LnNwZWNpYWxbdHlwZV0uc2V0dXAuY2FsbChl
bGVtLGRhdGEsbmFtZXNwYWNlcyk9PT1mYWxzZSl7aWYoZWxlbS5hZGRFdmVudExp
c3RlbmVyKQplbGVtLmFkZEV2ZW50TGlzdGVuZXIodHlwZSxoYW5kbGUsZmFsc2Up
O2Vsc2UgaWYoZWxlbS5hdHRhY2hFdmVudCkKZWxlbS5hdHRhY2hFdmVudCgib24i
K3R5cGUsaGFuZGxlKTt9fQpoYW5kbGVyc1toYW5kbGVyLmd1aWRdPWhhbmRsZXI7
alF1ZXJ5LmV2ZW50Lmdsb2JhbFt0eXBlXT10cnVlO30pO2VsZW09bnVsbDt9LGd1
aWQ6MSxnbG9iYWw6e30scmVtb3ZlOmZ1bmN0aW9uKGVsZW0sdHlwZXMsaGFuZGxl
cil7aWYoZWxlbS5ub2RlVHlwZT09M3x8ZWxlbS5ub2RlVHlwZT09OCkKcmV0dXJu
O3ZhciBldmVudHM9alF1ZXJ5LmRhdGEoZWxlbSwiZXZlbnRzIikscmV0LGluZGV4
O2lmKGV2ZW50cyl7aWYodHlwZXM9PT11bmRlZmluZWR8fCh0eXBlb2YgdHlwZXM9
PT0ic3RyaW5nIiYmdHlwZXMuY2hhckF0KDApPT0iLiIpKQpmb3IodmFyIHR5cGUg
aW4gZXZlbnRzKQp0aGlzLnJlbW92ZShlbGVtLHR5cGUrKHR5cGVzfHwiIikpO2Vs
c2V7aWYodHlwZXMudHlwZSl7aGFuZGxlcj10eXBlcy5oYW5kbGVyO3R5cGVzPXR5
cGVzLnR5cGU7fQpqUXVlcnkuZWFjaCh0eXBlcy5zcGxpdCgvXHMrLyksZnVuY3Rp
b24oaW5kZXgsdHlwZSl7dmFyIG5hbWVzcGFjZXM9dHlwZS5zcGxpdCgiLiIpO3R5
cGU9bmFtZXNwYWNlcy5zaGlmdCgpO3ZhciBuYW1lc3BhY2U9UmVnRXhwKCIoXnxc
XC4pIituYW1lc3BhY2VzLnNsaWNlKCkuc29ydCgpLmpvaW4oIi4qXFwuIikrIihc
XC58JCkiKTtpZihldmVudHNbdHlwZV0pe2lmKGhhbmRsZXIpCmRlbGV0ZSBldmVu
dHNbdHlwZV1baGFuZGxlci5ndWlkXTtlbHNlCmZvcih2YXIgaGFuZGxlIGluIGV2
ZW50c1t0eXBlXSkKaWYobmFtZXNwYWNlLnRlc3QoZXZlbnRzW3R5cGVdW2hhbmRs
ZV0udHlwZSkpCmRlbGV0ZSBldmVudHNbdHlwZV1baGFuZGxlXTtpZihqUXVlcnku
ZXZlbnQuc3BlY2lhbEFsbFt0eXBlXSkKalF1ZXJ5LmV2ZW50LnNwZWNpYWxBbGxb
dHlwZV0udGVhcmRvd24uY2FsbChlbGVtLG5hbWVzcGFjZXMpO2ZvcihyZXQgaW4g
ZXZlbnRzW3R5cGVdKWJyZWFrO2lmKCFyZXQpe2lmKCFqUXVlcnkuZXZlbnQuc3Bl
Y2lhbFt0eXBlXXx8alF1ZXJ5LmV2ZW50LnNwZWNpYWxbdHlwZV0udGVhcmRvd24u
Y2FsbChlbGVtLG5hbWVzcGFjZXMpPT09ZmFsc2Upe2lmKGVsZW0ucmVtb3ZlRXZl
bnRMaXN0ZW5lcikKZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsalF1ZXJ5
LmRhdGEoZWxlbSwiaGFuZGxlIiksZmFsc2UpO2Vsc2UgaWYoZWxlbS5kZXRhY2hF
dmVudCkKZWxlbS5kZXRhY2hFdmVudCgib24iK3R5cGUsalF1ZXJ5LmRhdGEoZWxl
bSwiaGFuZGxlIikpO30KcmV0PW51bGw7ZGVsZXRlIGV2ZW50c1t0eXBlXTt9fX0p
O30KZm9yKHJldCBpbiBldmVudHMpYnJlYWs7aWYoIXJldCl7dmFyIGhhbmRsZT1q
UXVlcnkuZGF0YShlbGVtLCJoYW5kbGUiKTtpZihoYW5kbGUpaGFuZGxlLmVsZW09
bnVsbDtqUXVlcnkucmVtb3ZlRGF0YShlbGVtLCJldmVudHMiKTtqUXVlcnkucmVt
b3ZlRGF0YShlbGVtLCJoYW5kbGUiKTt9fX0sdHJpZ2dlcjpmdW5jdGlvbihldmVu
dCxkYXRhLGVsZW0sYnViYmxpbmcpe3ZhciB0eXBlPWV2ZW50LnR5cGV8fGV2ZW50
O2lmKCFidWJibGluZyl7ZXZlbnQ9dHlwZW9mIGV2ZW50PT09Im9iamVjdCI/ZXZl
bnRbZXhwYW5kb10/ZXZlbnQ6alF1ZXJ5LmV4dGVuZChqUXVlcnkuRXZlbnQodHlw
ZSksZXZlbnQpOmpRdWVyeS5FdmVudCh0eXBlKTtpZih0eXBlLmluZGV4T2YoIiEi
KT49MCl7ZXZlbnQudHlwZT10eXBlPXR5cGUuc2xpY2UoMCwtMSk7ZXZlbnQuZXhj
bHVzaXZlPXRydWU7fQppZighZWxlbSl7ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7
aWYodGhpcy5nbG9iYWxbdHlwZV0pCmpRdWVyeS5lYWNoKGpRdWVyeS5jYWNoZSxm
dW5jdGlvbigpe2lmKHRoaXMuZXZlbnRzJiZ0aGlzLmV2ZW50c1t0eXBlXSkKalF1
ZXJ5LmV2ZW50LnRyaWdnZXIoZXZlbnQsZGF0YSx0aGlzLmhhbmRsZS5lbGVtKTt9
KTt9CmlmKCFlbGVtfHxlbGVtLm5vZGVUeXBlPT0zfHxlbGVtLm5vZGVUeXBlPT04
KQpyZXR1cm4gdW5kZWZpbmVkO2V2ZW50LnJlc3VsdD11bmRlZmluZWQ7ZXZlbnQu
dGFyZ2V0PWVsZW07ZGF0YT1qUXVlcnkubWFrZUFycmF5KGRhdGEpO2RhdGEudW5z
aGlmdChldmVudCk7fQpldmVudC5jdXJyZW50VGFyZ2V0PWVsZW07dmFyIGhhbmRs
ZT1qUXVlcnkuZGF0YShlbGVtLCJoYW5kbGUiKTtpZihoYW5kbGUpCmhhbmRsZS5h
cHBseShlbGVtLGRhdGEpO2lmKCghZWxlbVt0eXBlXXx8KGpRdWVyeS5ub2RlTmFt
ZShlbGVtLCdhJykmJnR5cGU9PSJjbGljayIpKSYmZWxlbVsib24iK3R5cGVdJiZl
bGVtWyJvbiIrdHlwZV0uYXBwbHkoZWxlbSxkYXRhKT09PWZhbHNlKQpldmVudC5y
ZXN1bHQ9ZmFsc2U7aWYoIWJ1YmJsaW5nJiZlbGVtW3R5cGVdJiYhZXZlbnQuaXNE
ZWZhdWx0UHJldmVudGVkKCkmJiEoalF1ZXJ5Lm5vZGVOYW1lKGVsZW0sJ2EnKSYm
dHlwZT09ImNsaWNrIikpe3RoaXMudHJpZ2dlcmVkPXRydWU7dHJ5e2VsZW1bdHlw
ZV0oKTt9Y2F0Y2goZSl7fX0KdGhpcy50cmlnZ2VyZWQ9ZmFsc2U7aWYoIWV2ZW50
LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe3ZhciBwYXJlbnQ9ZWxlbS5wYXJlbnRO
b2RlfHxlbGVtLm93bmVyRG9jdW1lbnQ7aWYocGFyZW50KQpqUXVlcnkuZXZlbnQu
dHJpZ2dlcihldmVudCxkYXRhLHBhcmVudCx0cnVlKTt9fSxoYW5kbGU6ZnVuY3Rp
b24oZXZlbnQpe3ZhciBhbGwsaGFuZGxlcnM7ZXZlbnQ9YXJndW1lbnRzWzBdPWpR
dWVyeS5ldmVudC5maXgoZXZlbnR8fHdpbmRvdy5ldmVudCk7ZXZlbnQuY3VycmVu
dFRhcmdldD10aGlzO3ZhciBuYW1lc3BhY2VzPWV2ZW50LnR5cGUuc3BsaXQoIi4i
KTtldmVudC50eXBlPW5hbWVzcGFjZXMuc2hpZnQoKTthbGw9IW5hbWVzcGFjZXMu
bGVuZ3RoJiYhZXZlbnQuZXhjbHVzaXZlO3ZhciBuYW1lc3BhY2U9UmVnRXhwKCIo
XnxcXC4pIituYW1lc3BhY2VzLnNsaWNlKCkuc29ydCgpLmpvaW4oIi4qXFwuIikr
IihcXC58JCkiKTtoYW5kbGVycz0oalF1ZXJ5LmRhdGEodGhpcywiZXZlbnRzIil8
fHt9KVtldmVudC50eXBlXTtmb3IodmFyIGogaW4gaGFuZGxlcnMpe3ZhciBoYW5k
bGVyPWhhbmRsZXJzW2pdO2lmKGFsbHx8bmFtZXNwYWNlLnRlc3QoaGFuZGxlci50
eXBlKSl7ZXZlbnQuaGFuZGxlcj1oYW5kbGVyO2V2ZW50LmRhdGE9aGFuZGxlci5k
YXRhO3ZhciByZXQ9aGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYocmV0
IT09dW5kZWZpbmVkKXtldmVudC5yZXN1bHQ9cmV0O2lmKHJldD09PWZhbHNlKXtl
dmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpO319
CmlmKGV2ZW50LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpCmJyZWFr
O319fSxwcm9wczoiYWx0S2V5IGF0dHJDaGFuZ2UgYXR0ck5hbWUgYnViYmxlcyBi
dXR0b24gY2FuY2VsYWJsZSBjaGFyQ29kZSBjbGllbnRYIGNsaWVudFkgY3RybEtl
eSBjdXJyZW50VGFyZ2V0IGRhdGEgZGV0YWlsIGV2ZW50UGhhc2UgZnJvbUVsZW1l
bnQgaGFuZGxlciBrZXlDb2RlIG1ldGFLZXkgbmV3VmFsdWUgb3JpZ2luYWxUYXJn
ZXQgcGFnZVggcGFnZVkgcHJldlZhbHVlIHJlbGF0ZWROb2RlIHJlbGF0ZWRUYXJn
ZXQgc2NyZWVuWCBzY3JlZW5ZIHNoaWZ0S2V5IHNyY0VsZW1lbnQgdGFyZ2V0IHRv
RWxlbWVudCB2aWV3IHdoZWVsRGVsdGEgd2hpY2giLnNwbGl0KCIgIiksZml4OmZ1
bmN0aW9uKGV2ZW50KXtpZihldmVudFtleHBhbmRvXSkKcmV0dXJuIGV2ZW50O3Zh
ciBvcmlnaW5hbEV2ZW50PWV2ZW50O2V2ZW50PWpRdWVyeS5FdmVudChvcmlnaW5h
bEV2ZW50KTtmb3IodmFyIGk9dGhpcy5wcm9wcy5sZW5ndGgscHJvcDtpOyl7cHJv
cD10aGlzLnByb3BzWy0taV07ZXZlbnRbcHJvcF09b3JpZ2luYWxFdmVudFtwcm9w
XTt9CmlmKCFldmVudC50YXJnZXQpCmV2ZW50LnRhcmdldD1ldmVudC5zcmNFbGVt
ZW50fHxkb2N1bWVudDtpZihldmVudC50YXJnZXQubm9kZVR5cGU9PTMpCmV2ZW50
LnRhcmdldD1ldmVudC50YXJnZXQucGFyZW50Tm9kZTtpZighZXZlbnQucmVsYXRl
ZFRhcmdldCYmZXZlbnQuZnJvbUVsZW1lbnQpCmV2ZW50LnJlbGF0ZWRUYXJnZXQ9
ZXZlbnQuZnJvbUVsZW1lbnQ9PWV2ZW50LnRhcmdldD9ldmVudC50b0VsZW1lbnQ6
ZXZlbnQuZnJvbUVsZW1lbnQ7aWYoZXZlbnQucGFnZVg9PW51bGwmJmV2ZW50LmNs
aWVudFghPW51bGwpe3ZhciBkb2M9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGJv
ZHk9ZG9jdW1lbnQuYm9keTtldmVudC5wYWdlWD1ldmVudC5jbGllbnRYKyhkb2Mm
JmRvYy5zY3JvbGxMZWZ0fHxib2R5JiZib2R5LnNjcm9sbExlZnR8fDApLShkb2Mu
Y2xpZW50TGVmdHx8MCk7ZXZlbnQucGFnZVk9ZXZlbnQuY2xpZW50WSsoZG9jJiZk
b2Muc2Nyb2xsVG9wfHxib2R5JiZib2R5LnNjcm9sbFRvcHx8MCktKGRvYy5jbGll
bnRUb3B8fDApO30KaWYoIWV2ZW50LndoaWNoJiYoKGV2ZW50LmNoYXJDb2RlfHxl
dmVudC5jaGFyQ29kZT09PTApP2V2ZW50LmNoYXJDb2RlOmV2ZW50LmtleUNvZGUp
KQpldmVudC53aGljaD1ldmVudC5jaGFyQ29kZXx8ZXZlbnQua2V5Q29kZTtpZigh
ZXZlbnQubWV0YUtleSYmZXZlbnQuY3RybEtleSkKZXZlbnQubWV0YUtleT1ldmVu
dC5jdHJsS2V5O2lmKCFldmVudC53aGljaCYmZXZlbnQuYnV0dG9uKQpldmVudC53
aGljaD0oZXZlbnQuYnV0dG9uJjE/MTooZXZlbnQuYnV0dG9uJjI/MzooZXZlbnQu
YnV0dG9uJjQ/MjowKSkpO3JldHVybiBldmVudDt9LHByb3h5OmZ1bmN0aW9uKGZu
LHByb3h5KXtwcm94eT1wcm94eXx8ZnVuY3Rpb24oKXtyZXR1cm4gZm4uYXBwbHko
dGhpcyxhcmd1bWVudHMpO307cHJveHkuZ3VpZD1mbi5ndWlkPWZuLmd1aWR8fHBy
b3h5Lmd1aWR8fHRoaXMuZ3VpZCsrO3JldHVybiBwcm94eTt9LHNwZWNpYWw6e3Jl
YWR5OntzZXR1cDpiaW5kUmVhZHksdGVhcmRvd246ZnVuY3Rpb24oKXt9fX0sc3Bl
Y2lhbEFsbDp7bGl2ZTp7c2V0dXA6ZnVuY3Rpb24oc2VsZWN0b3IsbmFtZXNwYWNl
cyl7alF1ZXJ5LmV2ZW50LmFkZCh0aGlzLG5hbWVzcGFjZXNbMF0sbGl2ZUhhbmRs
ZXIpO30sdGVhcmRvd246ZnVuY3Rpb24obmFtZXNwYWNlcyl7aWYobmFtZXNwYWNl
cy5sZW5ndGgpe3ZhciByZW1vdmU9MCxuYW1lPVJlZ0V4cCgiKF58XFwuKSIrbmFt
ZXNwYWNlc1swXSsiKFxcLnwkKSIpO2pRdWVyeS5lYWNoKChqUXVlcnkuZGF0YSh0
aGlzLCJldmVudHMiKS5saXZlfHx7fSksZnVuY3Rpb24oKXtpZihuYW1lLnRlc3Qo
dGhpcy50eXBlKSkKcmVtb3ZlKys7fSk7aWYocmVtb3ZlPDEpCmpRdWVyeS5ldmVu
dC5yZW1vdmUodGhpcyxuYW1lc3BhY2VzWzBdLGxpdmVIYW5kbGVyKTt9fX19fTtq
UXVlcnkuRXZlbnQ9ZnVuY3Rpb24oc3JjKXtpZighdGhpcy5wcmV2ZW50RGVmYXVs
dCkKcmV0dXJuIG5ldyBqUXVlcnkuRXZlbnQoc3JjKTtpZihzcmMmJnNyYy50eXBl
KXt0aGlzLm9yaWdpbmFsRXZlbnQ9c3JjO3RoaXMudHlwZT1zcmMudHlwZTt9ZWxz
ZQp0aGlzLnR5cGU9c3JjO3RoaXMudGltZVN0YW1wPW5vdygpO3RoaXNbZXhwYW5k
b109dHJ1ZTt9O2Z1bmN0aW9uIHJldHVybkZhbHNlKCl7cmV0dXJuIGZhbHNlO30K
ZnVuY3Rpb24gcmV0dXJuVHJ1ZSgpe3JldHVybiB0cnVlO30KalF1ZXJ5LkV2ZW50
LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVm
YXVsdFByZXZlbnRlZD1yZXR1cm5UcnVlO3ZhciBlPXRoaXMub3JpZ2luYWxFdmVu
dDtpZighZSkKcmV0dXJuO2lmKGUucHJldmVudERlZmF1bHQpCmUucHJldmVudERl
ZmF1bHQoKTtlLnJldHVyblZhbHVlPWZhbHNlO30sc3RvcFByb3BhZ2F0aW9uOmZ1
bmN0aW9uKCl7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1yZXR1cm5UcnVlO3Zh
ciBlPXRoaXMub3JpZ2luYWxFdmVudDtpZighZSkKcmV0dXJuO2lmKGUuc3RvcFBy
b3BhZ2F0aW9uKQplLnN0b3BQcm9wYWdhdGlvbigpO2UuY2FuY2VsQnViYmxlPXRy
dWU7fSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt0aGlzLmlz
SW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPXJldHVyblRydWU7dGhpcy5zdG9w
UHJvcGFnYXRpb24oKTt9LGlzRGVmYXVsdFByZXZlbnRlZDpyZXR1cm5GYWxzZSxp
c1Byb3BhZ2F0aW9uU3RvcHBlZDpyZXR1cm5GYWxzZSxpc0ltbWVkaWF0ZVByb3Bh
Z2F0aW9uU3RvcHBlZDpyZXR1cm5GYWxzZX07dmFyIHdpdGhpbkVsZW1lbnQ9ZnVu
Y3Rpb24oZXZlbnQpe3ZhciBwYXJlbnQ9ZXZlbnQucmVsYXRlZFRhcmdldDt3aGls
ZShwYXJlbnQmJnBhcmVudCE9dGhpcykKdHJ5e3BhcmVudD1wYXJlbnQucGFyZW50
Tm9kZTt9CmNhdGNoKGUpe3BhcmVudD10aGlzO30KaWYocGFyZW50IT10aGlzKXtl
dmVudC50eXBlPWV2ZW50LmRhdGE7alF1ZXJ5LmV2ZW50LmhhbmRsZS5hcHBseSh0
aGlzLGFyZ3VtZW50cyk7fX07alF1ZXJ5LmVhY2goe21vdXNlb3ZlcjonbW91c2Vl
bnRlcicsbW91c2VvdXQ6J21vdXNlbGVhdmUnfSxmdW5jdGlvbihvcmlnLGZpeCl7
alF1ZXJ5LmV2ZW50LnNwZWNpYWxbZml4XT17c2V0dXA6ZnVuY3Rpb24oKXtqUXVl
cnkuZXZlbnQuYWRkKHRoaXMsb3JpZyx3aXRoaW5FbGVtZW50LGZpeCk7fSx0ZWFy
ZG93bjpmdW5jdGlvbigpe2pRdWVyeS5ldmVudC5yZW1vdmUodGhpcyxvcmlnLHdp
dGhpbkVsZW1lbnQpO319O30pO2pRdWVyeS5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rp
b24odHlwZSxkYXRhLGZuKXtyZXR1cm4gdHlwZT09InVubG9hZCI/dGhpcy5vbmUo
dHlwZSxkYXRhLGZuKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZXZlbnQu
YWRkKHRoaXMsdHlwZSxmbnx8ZGF0YSxmbiYmZGF0YSk7fSk7fSxvbmU6ZnVuY3Rp
b24odHlwZSxkYXRhLGZuKXt2YXIgb25lPWpRdWVyeS5ldmVudC5wcm94eShmbnx8
ZGF0YSxmdW5jdGlvbihldmVudCl7alF1ZXJ5KHRoaXMpLnVuYmluZChldmVudCxv
bmUpO3JldHVybihmbnx8ZGF0YSkuYXBwbHkodGhpcyxhcmd1bWVudHMpO30pO3Jl
dHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZXZlbnQuYWRkKHRoaXMs
dHlwZSxvbmUsZm4mJmRhdGEpO30pO30sdW5iaW5kOmZ1bmN0aW9uKHR5cGUsZm4p
e3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZXZlbnQucmVtb3Zl
KHRoaXMsdHlwZSxmbik7fSk7fSx0cmlnZ2VyOmZ1bmN0aW9uKHR5cGUsZGF0YSl7
cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5ldmVudC50cmlnZ2Vy
KHR5cGUsZGF0YSx0aGlzKTt9KTt9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKHR5
cGUsZGF0YSl7aWYodGhpc1swXSl7dmFyIGV2ZW50PWpRdWVyeS5FdmVudCh0eXBl
KTtldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdhdGlvbigp
O2pRdWVyeS5ldmVudC50cmlnZ2VyKGV2ZW50LGRhdGEsdGhpc1swXSk7cmV0dXJu
IGV2ZW50LnJlc3VsdDt9fSx0b2dnbGU6ZnVuY3Rpb24oZm4pe3ZhciBhcmdzPWFy
Z3VtZW50cyxpPTE7d2hpbGUoaTxhcmdzLmxlbmd0aCkKalF1ZXJ5LmV2ZW50LnBy
b3h5KGZuLGFyZ3NbaSsrXSk7cmV0dXJuIHRoaXMuY2xpY2soalF1ZXJ5LmV2ZW50
LnByb3h5KGZuLGZ1bmN0aW9uKGV2ZW50KXt0aGlzLmxhc3RUb2dnbGU9KHRoaXMu
bGFzdFRvZ2dsZXx8MCklaTtldmVudC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBh
cmdzW3RoaXMubGFzdFRvZ2dsZSsrXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fGZh
bHNlO30pKTt9LGhvdmVyOmZ1bmN0aW9uKGZuT3Zlcixmbk91dCl7cmV0dXJuIHRo
aXMubW91c2VlbnRlcihmbk92ZXIpLm1vdXNlbGVhdmUoZm5PdXQpO30scmVhZHk6
ZnVuY3Rpb24oZm4pe2JpbmRSZWFkeSgpO2lmKGpRdWVyeS5pc1JlYWR5KQpmbi5j
YWxsKGRvY3VtZW50LGpRdWVyeSk7ZWxzZQpqUXVlcnkucmVhZHlMaXN0LnB1c2go
Zm4pO3JldHVybiB0aGlzO30sbGl2ZTpmdW5jdGlvbih0eXBlLGZuKXt2YXIgcHJv
eHk9alF1ZXJ5LmV2ZW50LnByb3h5KGZuKTtwcm94eS5ndWlkKz10aGlzLnNlbGVj
dG9yK3R5cGU7alF1ZXJ5KGRvY3VtZW50KS5iaW5kKGxpdmVDb252ZXJ0KHR5cGUs
dGhpcy5zZWxlY3RvciksdGhpcy5zZWxlY3Rvcixwcm94eSk7cmV0dXJuIHRoaXM7
fSxkaWU6ZnVuY3Rpb24odHlwZSxmbil7alF1ZXJ5KGRvY3VtZW50KS51bmJpbmQo
bGl2ZUNvbnZlcnQodHlwZSx0aGlzLnNlbGVjdG9yKSxmbj97Z3VpZDpmbi5ndWlk
K3RoaXMuc2VsZWN0b3IrdHlwZX06bnVsbCk7cmV0dXJuIHRoaXM7fX0pO2Z1bmN0
aW9uIGxpdmVIYW5kbGVyKGV2ZW50KXt2YXIgY2hlY2s9UmVnRXhwKCIoXnxcXC4p
IitldmVudC50eXBlKyIoXFwufCQpIiksc3RvcD10cnVlLGVsZW1zPVtdO2pRdWVy
eS5lYWNoKGpRdWVyeS5kYXRhKHRoaXMsImV2ZW50cyIpLmxpdmV8fFtdLGZ1bmN0
aW9uKGksZm4pe2lmKGNoZWNrLnRlc3QoZm4udHlwZSkpe3ZhciBlbGVtPWpRdWVy
eShldmVudC50YXJnZXQpLmNsb3Nlc3QoZm4uZGF0YSlbMF07aWYoZWxlbSkKZWxl
bXMucHVzaCh7ZWxlbTplbGVtLGZuOmZufSk7fX0pO2VsZW1zLnNvcnQoZnVuY3Rp
b24oYSxiKXtyZXR1cm4galF1ZXJ5LmRhdGEoYS5lbGVtLCJjbG9zZXN0IiktalF1
ZXJ5LmRhdGEoYi5lbGVtLCJjbG9zZXN0Iik7fSk7alF1ZXJ5LmVhY2goZWxlbXMs
ZnVuY3Rpb24oKXtpZih0aGlzLmZuLmNhbGwodGhpcy5lbGVtLGV2ZW50LHRoaXMu
Zm4uZGF0YSk9PT1mYWxzZSkKcmV0dXJuKHN0b3A9ZmFsc2UpO30pO3JldHVybiBz
dG9wO30KZnVuY3Rpb24gbGl2ZUNvbnZlcnQodHlwZSxzZWxlY3Rvcil7cmV0dXJu
WyJsaXZlIix0eXBlLHNlbGVjdG9yLnJlcGxhY2UoL1wuL2csImAiKS5yZXBsYWNl
KC8gL2csInwiKV0uam9pbigiLiIpO30KalF1ZXJ5LmV4dGVuZCh7aXNSZWFkeTpm
YWxzZSxyZWFkeUxpc3Q6W10scmVhZHk6ZnVuY3Rpb24oKXtpZighalF1ZXJ5Lmlz
UmVhZHkpe2pRdWVyeS5pc1JlYWR5PXRydWU7aWYoalF1ZXJ5LnJlYWR5TGlzdCl7
alF1ZXJ5LmVhY2goalF1ZXJ5LnJlYWR5TGlzdCxmdW5jdGlvbigpe3RoaXMuY2Fs
bChkb2N1bWVudCxqUXVlcnkpO30pO2pRdWVyeS5yZWFkeUxpc3Q9bnVsbDt9CmpR
dWVyeShkb2N1bWVudCkudHJpZ2dlckhhbmRsZXIoInJlYWR5Iik7fX19KTt2YXIg
cmVhZHlCb3VuZD1mYWxzZTtmdW5jdGlvbiBiaW5kUmVhZHkoKXtpZihyZWFkeUJv
dW5kKXJldHVybjtyZWFkeUJvdW5kPXRydWU7aWYoZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcil7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExv
YWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJE
T01Db250ZW50TG9hZGVkIixhcmd1bWVudHMuY2FsbGVlLGZhbHNlKTtqUXVlcnku
cmVhZHkoKTt9LGZhbHNlKTt9ZWxzZSBpZihkb2N1bWVudC5hdHRhY2hFdmVudCl7
ZG9jdW1lbnQuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rp
b24oKXtpZihkb2N1bWVudC5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIil7ZG9jdW1l
bnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsYXJndW1lbnRzLmNh
bGxlZSk7alF1ZXJ5LnJlYWR5KCk7fX0pO2lmKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5kb1Njcm9sbCYmd2luZG93PT13aW5kb3cudG9wKShmdW5jdGlvbigpe2lm
KGpRdWVyeS5pc1JlYWR5KXJldHVybjt0cnl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LmRvU2Nyb2xsKCJsZWZ0Iik7fWNhdGNoKGVycm9yKXtzZXRUaW1lb3V0KGFy
Z3VtZW50cy5jYWxsZWUsMCk7cmV0dXJuO30KalF1ZXJ5LnJlYWR5KCk7fSkoKTt9
CmpRdWVyeS5ldmVudC5hZGQod2luZG93LCJsb2FkIixqUXVlcnkucmVhZHkpO30K
alF1ZXJ5LmVhY2goKCJibHVyLGZvY3VzLGxvYWQscmVzaXplLHNjcm9sbCx1bmxv
YWQsY2xpY2ssZGJsY2xpY2ssIisibW91c2Vkb3duLG1vdXNldXAsbW91c2Vtb3Zl
LG1vdXNlb3Zlcixtb3VzZW91dCxtb3VzZWVudGVyLG1vdXNlbGVhdmUsIisiY2hh
bmdlLHNlbGVjdCxzdWJtaXQsa2V5ZG93bixrZXlwcmVzcyxrZXl1cCxlcnJvciIp
LnNwbGl0KCIsIiksZnVuY3Rpb24oaSxuYW1lKXtqUXVlcnkuZm5bbmFtZV09ZnVu
Y3Rpb24oZm4pe3JldHVybiBmbj90aGlzLmJpbmQobmFtZSxmbik6dGhpcy50cmln
Z2VyKG5hbWUpO307fSk7alF1ZXJ5KHdpbmRvdykuYmluZCgndW5sb2FkJyxmdW5j
dGlvbigpe2Zvcih2YXIgaWQgaW4galF1ZXJ5LmNhY2hlKQppZihpZCE9MSYmalF1
ZXJ5LmNhY2hlW2lkXS5oYW5kbGUpCmpRdWVyeS5ldmVudC5yZW1vdmUoalF1ZXJ5
LmNhY2hlW2lkXS5oYW5kbGUuZWxlbSk7fSk7KGZ1bmN0aW9uKCl7alF1ZXJ5LnN1
cHBvcnQ9e307dmFyIHJvb3Q9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHNjcmlw
dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxkaXY9ZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2IiksaWQ9InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRU
aW1lKCk7ZGl2LnN0eWxlLmRpc3BsYXk9Im5vbmUiO2Rpdi5pbm5lckhUTUw9JyAg
IDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPSIvYSIgc3R5bGU9ImNvbG9y
OnJlZDtmbG9hdDpsZWZ0O29wYWNpdHk6LjU7Ij5hPC9hPjxzZWxlY3Q+PG9wdGlv
bj50ZXh0PC9vcHRpb24+PC9zZWxlY3Q+PG9iamVjdD48cGFyYW0vPjwvb2JqZWN0
Pic7dmFyIGFsbD1kaXYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxhPWRpdi5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdO2lmKCFhbGx8fCFhbGwubGVuZ3Ro
fHwhYSl7cmV0dXJuO30KalF1ZXJ5LnN1cHBvcnQ9e2xlYWRpbmdXaGl0ZXNwYWNl
OmRpdi5maXJzdENoaWxkLm5vZGVUeXBlPT0zLHRib2R5OiFkaXYuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoInRib2R5IikubGVuZ3RoLG9iamVjdEFsbDohIWRpdi5nZXRF
bGVtZW50c0J5VGFnTmFtZSgib2JqZWN0IilbMF0uZ2V0RWxlbWVudHNCeVRhZ05h
bWUoIioiKS5sZW5ndGgsaHRtbFNlcmlhbGl6ZTohIWRpdi5nZXRFbGVtZW50c0J5
VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovcmVkLy50ZXN0KGEuZ2V0QXR0
cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDphLmdldEF0dHJpYnV0ZSgi
aHJlZiIpPT09Ii9hIixvcGFjaXR5OmEuc3R5bGUub3BhY2l0eT09PSIwLjUiLGNz
c0Zsb2F0OiEhYS5zdHlsZS5jc3NGbG9hdCxzY3JpcHRFdmFsOmZhbHNlLG5vQ2xv
bmVFdmVudDp0cnVlLGJveE1vZGVsOm51bGx9O3NjcmlwdC50eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiO3RyeXtzY3JpcHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUoIndpbmRvdy4iK2lkKyI9MTsiKSk7fWNhdGNoKGUpe30Kcm9vdC5p
bnNlcnRCZWZvcmUoc2NyaXB0LHJvb3QuZmlyc3RDaGlsZCk7aWYod2luZG93W2lk
XSl7alF1ZXJ5LnN1cHBvcnQuc2NyaXB0RXZhbD10cnVlO2RlbGV0ZSB3aW5kb3db
aWRdO30Kcm9vdC5yZW1vdmVDaGlsZChzY3JpcHQpO2lmKGRpdi5hdHRhY2hFdmVu
dCYmZGl2LmZpcmVFdmVudCl7ZGl2LmF0dGFjaEV2ZW50KCJvbmNsaWNrIixmdW5j
dGlvbigpe2pRdWVyeS5zdXBwb3J0Lm5vQ2xvbmVFdmVudD1mYWxzZTtkaXYuZGV0
YWNoRXZlbnQoIm9uY2xpY2siLGFyZ3VtZW50cy5jYWxsZWUpO30pO2Rpdi5jbG9u
ZU5vZGUodHJ1ZSkuZmlyZUV2ZW50KCJvbmNsaWNrIik7fQpqUXVlcnkoZnVuY3Rp
b24oKXt2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Rpdi5z
dHlsZS53aWR0aD1kaXYuc3R5bGUucGFkZGluZ0xlZnQ9IjFweCI7ZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkaXYpO2pRdWVyeS5ib3hNb2RlbD1qUXVlcnkuc3Vw
cG9ydC5ib3hNb2RlbD1kaXYub2Zmc2V0V2lkdGg9PT0yO2RvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQoZGl2KS5zdHlsZS5kaXNwbGF5PSdub25lJzt9KTt9KSgpO3Zh
ciBzdHlsZUZsb2F0PWpRdWVyeS5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6
InN0eWxlRmxvYXQiO2pRdWVyeS5wcm9wcz17ImZvciI6Imh0bWxGb3IiLCJjbGFz
cyI6ImNsYXNzTmFtZSIsImZsb2F0IjpzdHlsZUZsb2F0LGNzc0Zsb2F0OnN0eWxl
RmxvYXQsc3R5bGVGbG9hdDpzdHlsZUZsb2F0LHJlYWRvbmx5OiJyZWFkT25seSIs
bWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIs
cm93c3Bhbjoicm93U3BhbiIsdGFiaW5kZXg6InRhYkluZGV4In07alF1ZXJ5LmZu
LmV4dGVuZCh7X2xvYWQ6alF1ZXJ5LmZuLmxvYWQsbG9hZDpmdW5jdGlvbih1cmws
cGFyYW1zLGNhbGxiYWNrKXtpZih0eXBlb2YgdXJsIT09InN0cmluZyIpCnJldHVy
biB0aGlzLl9sb2FkKHVybCk7dmFyIG9mZj11cmwuaW5kZXhPZigiICIpO2lmKG9m
Zj49MCl7dmFyIHNlbGVjdG9yPXVybC5zbGljZShvZmYsdXJsLmxlbmd0aCk7dXJs
PXVybC5zbGljZSgwLG9mZik7fQp2YXIgdHlwZT0iR0VUIjtpZihwYXJhbXMpCmlm
KGpRdWVyeS5pc0Z1bmN0aW9uKHBhcmFtcykpe2NhbGxiYWNrPXBhcmFtcztwYXJh
bXM9bnVsbDt9ZWxzZSBpZih0eXBlb2YgcGFyYW1zPT09Im9iamVjdCIpe3BhcmFt
cz1qUXVlcnkucGFyYW0ocGFyYW1zKTt0eXBlPSJQT1NUIjt9CnZhciBzZWxmPXRo
aXM7alF1ZXJ5LmFqYXgoe3VybDp1cmwsdHlwZTp0eXBlLGRhdGFUeXBlOiJodG1s
IixkYXRhOnBhcmFtcyxjb21wbGV0ZTpmdW5jdGlvbihyZXMsc3RhdHVzKXtpZihz
dGF0dXM9PSJzdWNjZXNzInx8c3RhdHVzPT0ibm90bW9kaWZpZWQiKQpzZWxmLmh0
bWwoc2VsZWN0b3I/alF1ZXJ5KCI8ZGl2Lz4iKS5hcHBlbmQocmVzLnJlc3BvbnNl
VGV4dC5yZXBsYWNlKC88c2NyaXB0KC58XHMpKj9cL3NjcmlwdD4vZywiIikpLmZp
bmQoc2VsZWN0b3IpOnJlcy5yZXNwb25zZVRleHQpO2lmKGNhbGxiYWNrKQpzZWxm
LmVhY2goY2FsbGJhY2ssW3Jlcy5yZXNwb25zZVRleHQsc3RhdHVzLHJlc10pO319
KTtyZXR1cm4gdGhpczt9LHNlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBqUXVl
cnkucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKTt9LHNlcmlhbGl6ZUFycmF5
OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHRo
aXMuZWxlbWVudHM/alF1ZXJ5Lm1ha2VBcnJheSh0aGlzLmVsZW1lbnRzKTp0aGlz
O30pLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWUmJiF0aGlzLmRp
c2FibGVkJiYodGhpcy5jaGVja2VkfHwvc2VsZWN0fHRleHRhcmVhL2kudGVzdCh0
aGlzLm5vZGVOYW1lKXx8L3RleHR8aGlkZGVufHBhc3N3b3JkfHNlYXJjaC9pLnRl
c3QodGhpcy50eXBlKSk7fSkubWFwKGZ1bmN0aW9uKGksZWxlbSl7dmFyIHZhbD1q
UXVlcnkodGhpcykudmFsKCk7cmV0dXJuIHZhbD09bnVsbD9udWxsOmpRdWVyeS5p
c0FycmF5KHZhbCk/alF1ZXJ5Lm1hcCh2YWwsZnVuY3Rpb24odmFsLGkpe3JldHVy
bntuYW1lOmVsZW0ubmFtZSx2YWx1ZTp2YWx9O30pOntuYW1lOmVsZW0ubmFtZSx2
YWx1ZTp2YWx9O30pLmdldCgpO319KTtqUXVlcnkuZWFjaCgiYWpheFN0YXJ0LGFq
YXhTdG9wLGFqYXhDb21wbGV0ZSxhamF4RXJyb3IsYWpheFN1Y2Nlc3MsYWpheFNl
bmQiLnNwbGl0KCIsIiksZnVuY3Rpb24oaSxvKXtqUXVlcnkuZm5bb109ZnVuY3Rp
b24oZil7cmV0dXJuIHRoaXMuYmluZChvLGYpO307fSk7dmFyIGpzYz1ub3coKTtq
UXVlcnkuZXh0ZW5kKHtnZXQ6ZnVuY3Rpb24odXJsLGRhdGEsY2FsbGJhY2ssdHlw
ZSl7aWYoalF1ZXJ5LmlzRnVuY3Rpb24oZGF0YSkpe2NhbGxiYWNrPWRhdGE7ZGF0
YT1udWxsO30KcmV0dXJuIGpRdWVyeS5hamF4KHt0eXBlOiJHRVQiLHVybDp1cmws
ZGF0YTpkYXRhLHN1Y2Nlc3M6Y2FsbGJhY2ssZGF0YVR5cGU6dHlwZX0pO30sZ2V0
U2NyaXB0OmZ1bmN0aW9uKHVybCxjYWxsYmFjayl7cmV0dXJuIGpRdWVyeS5nZXQo
dXJsLG51bGwsY2FsbGJhY2ssInNjcmlwdCIpO30sZ2V0SlNPTjpmdW5jdGlvbih1
cmwsZGF0YSxjYWxsYmFjayl7cmV0dXJuIGpRdWVyeS5nZXQodXJsLGRhdGEsY2Fs
bGJhY2ssImpzb24iKTt9LHBvc3Q6ZnVuY3Rpb24odXJsLGRhdGEsY2FsbGJhY2ss
dHlwZSl7aWYoalF1ZXJ5LmlzRnVuY3Rpb24oZGF0YSkpe2NhbGxiYWNrPWRhdGE7
ZGF0YT17fTt9CnJldHVybiBqUXVlcnkuYWpheCh7dHlwZToiUE9TVCIsdXJsOnVy
bCxkYXRhOmRhdGEsc3VjY2VzczpjYWxsYmFjayxkYXRhVHlwZTp0eXBlfSk7fSxh
amF4U2V0dXA6ZnVuY3Rpb24oc2V0dGluZ3Mpe2pRdWVyeS5leHRlbmQoalF1ZXJ5
LmFqYXhTZXR0aW5ncyxzZXR0aW5ncyk7fSxhamF4U2V0dGluZ3M6e3VybDpsb2Nh
dGlvbi5ocmVmLGdsb2JhbDp0cnVlLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFw
cGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIscHJvY2Vzc0RhdGE6dHJ1
ZSxhc3luYzp0cnVlLHhocjpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuQWN0aXZl
WE9iamVjdD9uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKTpu
ZXcgWE1MSHR0cFJlcXVlc3QoKTt9LGFjY2VwdHM6e3htbDoiYXBwbGljYXRpb24v
eG1sLCB0ZXh0L3htbCIsaHRtbDoidGV4dC9odG1sIixzY3JpcHQ6InRleHQvamF2
YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCIsanNvbjoiYXBwbGljYXRp
b24vanNvbiwgdGV4dC9qYXZhc2NyaXB0Iix0ZXh0OiJ0ZXh0L3BsYWluIixfZGVm
YXVsdDoiKi8qIn19LGxhc3RNb2RpZmllZDp7fSxhamF4OmZ1bmN0aW9uKHMpe3M9
alF1ZXJ5LmV4dGVuZCh0cnVlLHMsalF1ZXJ5LmV4dGVuZCh0cnVlLHt9LGpRdWVy
eS5hamF4U2V0dGluZ3MscykpO3ZhciBqc29ucCxqc3JlPS89XD8oJnwkKS9nLHN0
YXR1cyxkYXRhLHR5cGU9cy50eXBlLnRvVXBwZXJDYXNlKCk7aWYocy5kYXRhJiZz
LnByb2Nlc3NEYXRhJiZ0eXBlb2Ygcy5kYXRhIT09InN0cmluZyIpCnMuZGF0YT1q
UXVlcnkucGFyYW0ocy5kYXRhKTtpZihzLmRhdGFUeXBlPT0ianNvbnAiKXtpZih0
eXBlPT0iR0VUIil7aWYoIXMudXJsLm1hdGNoKGpzcmUpKQpzLnVybCs9KHMudXJs
Lm1hdGNoKC9cPy8pPyImIjoiPyIpKyhzLmpzb25wfHwiY2FsbGJhY2siKSsiPT8i
O31lbHNlIGlmKCFzLmRhdGF8fCFzLmRhdGEubWF0Y2goanNyZSkpCnMuZGF0YT0o
cy5kYXRhP3MuZGF0YSsiJiI6IiIpKyhzLmpzb25wfHwiY2FsbGJhY2siKSsiPT8i
O3MuZGF0YVR5cGU9Impzb24iO30KaWYocy5kYXRhVHlwZT09Impzb24iJiYocy5k
YXRhJiZzLmRhdGEubWF0Y2goanNyZSl8fHMudXJsLm1hdGNoKGpzcmUpKSl7anNv
bnA9Impzb25wIitqc2MrKztpZihzLmRhdGEpCnMuZGF0YT0ocy5kYXRhKyIiKS5y
ZXBsYWNlKGpzcmUsIj0iK2pzb25wKyIkMSIpO3MudXJsPXMudXJsLnJlcGxhY2Uo
anNyZSwiPSIranNvbnArIiQxIik7cy5kYXRhVHlwZT0ic2NyaXB0Ijt3aW5kb3db
anNvbnBdPWZ1bmN0aW9uKHRtcCl7ZGF0YT10bXA7c3VjY2VzcygpO2NvbXBsZXRl
KCk7d2luZG93W2pzb25wXT11bmRlZmluZWQ7dHJ5e2RlbGV0ZSB3aW5kb3dbanNv
bnBdO31jYXRjaChlKXt9CmlmKGhlYWQpCmhlYWQucmVtb3ZlQ2hpbGQoc2NyaXB0
KTt9O30KaWYocy5kYXRhVHlwZT09InNjcmlwdCImJnMuY2FjaGU9PW51bGwpCnMu
Y2FjaGU9ZmFsc2U7aWYocy5jYWNoZT09PWZhbHNlJiZ0eXBlPT0iR0VUIil7dmFy
IHRzPW5vdygpO3ZhciByZXQ9cy51cmwucmVwbGFjZSgvKFw/fCYpXz0uKj8oJnwk
KS8sIiQxXz0iK3RzKyIkMiIpO3MudXJsPXJldCsoKHJldD09cy51cmwpPyhzLnVy
bC5tYXRjaCgvXD8vKT8iJiI6Ij8iKSsiXz0iK3RzOiIiKTt9CmlmKHMuZGF0YSYm
dHlwZT09IkdFVCIpe3MudXJsKz0ocy51cmwubWF0Y2goL1w/Lyk/IiYiOiI/Iikr
cy5kYXRhO3MuZGF0YT1udWxsO30KaWYocy5nbG9iYWwmJiFqUXVlcnkuYWN0aXZl
KyspCmpRdWVyeS5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKTt2YXIgcGFydHM9
L14oXHcrOik/XC9cLyhbXlwvPyNdKykvLmV4ZWMocy51cmwpO2lmKHMuZGF0YVR5
cGU9PSJzY3JpcHQiJiZ0eXBlPT0iR0VUIiYmcGFydHMmJihwYXJ0c1sxXSYmcGFy
dHNbMV0hPWxvY2F0aW9uLnByb3RvY29sfHxwYXJ0c1syXSE9bG9jYXRpb24uaG9z
dCkpe3ZhciBoZWFkPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFk
IilbMF07dmFyIHNjcmlwdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQi
KTtzY3JpcHQuc3JjPXMudXJsO2lmKHMuc2NyaXB0Q2hhcnNldCkKc2NyaXB0LmNo
YXJzZXQ9cy5zY3JpcHRDaGFyc2V0O2lmKCFqc29ucCl7dmFyIGRvbmU9ZmFsc2U7
c2NyaXB0Lm9ubG9hZD1zY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9u
KCl7aWYoIWRvbmUmJighdGhpcy5yZWFkeVN0YXRlfHx0aGlzLnJlYWR5U3RhdGU9
PSJsb2FkZWQifHx0aGlzLnJlYWR5U3RhdGU9PSJjb21wbGV0ZSIpKXtkb25lPXRy
dWU7c3VjY2VzcygpO2NvbXBsZXRlKCk7c2NyaXB0Lm9ubG9hZD1zY3JpcHQub25y
ZWFkeXN0YXRlY2hhbmdlPW51bGw7aGVhZC5yZW1vdmVDaGlsZChzY3JpcHQpO319
O30KaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO3JldHVybiB1bmRlZmluZWQ7fQp2
YXIgcmVxdWVzdERvbmU9ZmFsc2U7dmFyIHhocj1zLnhocigpO2lmKHMudXNlcm5h
bWUpCnhoci5vcGVuKHR5cGUscy51cmwscy5hc3luYyxzLnVzZXJuYW1lLHMucGFz
c3dvcmQpO2Vsc2UKeGhyLm9wZW4odHlwZSxzLnVybCxzLmFzeW5jKTt0cnl7aWYo
cy5kYXRhKQp4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixzLmNv
bnRlbnRUeXBlKTtpZihzLmlmTW9kaWZpZWQpCnhoci5zZXRSZXF1ZXN0SGVhZGVy
KCJJZi1Nb2RpZmllZC1TaW5jZSIsalF1ZXJ5Lmxhc3RNb2RpZmllZFtzLnVybF18
fCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpO3hoci5zZXRSZXF1ZXN0
SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKTt4aHIu
c2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixzLmRhdGFUeXBlJiZzLmFjY2VwdHNb
cy5kYXRhVHlwZV0/cy5hY2NlcHRzW3MuZGF0YVR5cGVdKyIsICovKiI6cy5hY2Nl
cHRzLl9kZWZhdWx0KTt9Y2F0Y2goZSl7fQppZihzLmJlZm9yZVNlbmQmJnMuYmVm
b3JlU2VuZCh4aHIscyk9PT1mYWxzZSl7aWYocy5nbG9iYWwmJiEtLWpRdWVyeS5h
Y3RpdmUpCmpRdWVyeS5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpO3hoci5hYm9y
dCgpO3JldHVybiBmYWxzZTt9CmlmKHMuZ2xvYmFsKQpqUXVlcnkuZXZlbnQudHJp
Z2dlcigiYWpheFNlbmQiLFt4aHIsc10pO3ZhciBvbnJlYWR5c3RhdGVjaGFuZ2U9
ZnVuY3Rpb24oaXNUaW1lb3V0KXtpZih4aHIucmVhZHlTdGF0ZT09MCl7aWYoaXZh
bCl7Y2xlYXJJbnRlcnZhbChpdmFsKTtpdmFsPW51bGw7aWYocy5nbG9iYWwmJiEt
LWpRdWVyeS5hY3RpdmUpCmpRdWVyeS5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIp
O319ZWxzZSBpZighcmVxdWVzdERvbmUmJnhociYmKHhoci5yZWFkeVN0YXRlPT00
fHxpc1RpbWVvdXQ9PSJ0aW1lb3V0Iikpe3JlcXVlc3REb25lPXRydWU7aWYoaXZh
bCl7Y2xlYXJJbnRlcnZhbChpdmFsKTtpdmFsPW51bGw7fQpzdGF0dXM9aXNUaW1l
b3V0PT0idGltZW91dCI/InRpbWVvdXQiOiFqUXVlcnkuaHR0cFN1Y2Nlc3MoeGhy
KT8iZXJyb3IiOnMuaWZNb2RpZmllZCYmalF1ZXJ5Lmh0dHBOb3RNb2RpZmllZCh4
aHIscy51cmwpPyJub3Rtb2RpZmllZCI6InN1Y2Nlc3MiO2lmKHN0YXR1cz09InN1
Y2Nlc3MiKXt0cnl7ZGF0YT1qUXVlcnkuaHR0cERhdGEoeGhyLHMuZGF0YVR5cGUs
cyk7fWNhdGNoKGUpe3N0YXR1cz0icGFyc2VyZXJyb3IiO319CmlmKHN0YXR1cz09
InN1Y2Nlc3MiKXt2YXIgbW9kUmVzO3RyeXttb2RSZXM9eGhyLmdldFJlc3BvbnNl
SGVhZGVyKCJMYXN0LU1vZGlmaWVkIik7fWNhdGNoKGUpe30KaWYocy5pZk1vZGlm
aWVkJiZtb2RSZXMpCmpRdWVyeS5sYXN0TW9kaWZpZWRbcy51cmxdPW1vZFJlcztp
ZighanNvbnApCnN1Y2Nlc3MoKTt9ZWxzZQpqUXVlcnkuaGFuZGxlRXJyb3Iocyx4
aHIsc3RhdHVzKTtjb21wbGV0ZSgpO2lmKGlzVGltZW91dCkKeGhyLmFib3J0KCk7
aWYocy5hc3luYykKeGhyPW51bGw7fX07aWYocy5hc3luYyl7dmFyIGl2YWw9c2V0
SW50ZXJ2YWwob25yZWFkeXN0YXRlY2hhbmdlLDEzKTtpZihzLnRpbWVvdXQ+MCkK
c2V0VGltZW91dChmdW5jdGlvbigpe2lmKHhociYmIXJlcXVlc3REb25lKQpvbnJl
YWR5c3RhdGVjaGFuZ2UoInRpbWVvdXQiKTt9LHMudGltZW91dCk7fQp0cnl7eGhy
LnNlbmQocy5kYXRhKTt9Y2F0Y2goZSl7alF1ZXJ5LmhhbmRsZUVycm9yKHMseGhy
LG51bGwsZSk7fQppZighcy5hc3luYykKb25yZWFkeXN0YXRlY2hhbmdlKCk7ZnVu
Y3Rpb24gc3VjY2Vzcygpe2lmKHMuc3VjY2VzcykKcy5zdWNjZXNzKGRhdGEsc3Rh
dHVzKTtpZihzLmdsb2JhbCkKalF1ZXJ5LmV2ZW50LnRyaWdnZXIoImFqYXhTdWNj
ZXNzIixbeGhyLHNdKTt9CmZ1bmN0aW9uIGNvbXBsZXRlKCl7aWYocy5jb21wbGV0
ZSkKcy5jb21wbGV0ZSh4aHIsc3RhdHVzKTtpZihzLmdsb2JhbCkKalF1ZXJ5LmV2
ZW50LnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3hocixzXSk7aWYocy5nbG9iYWwm
JiEtLWpRdWVyeS5hY3RpdmUpCmpRdWVyeS5ldmVudC50cmlnZ2VyKCJhamF4U3Rv
cCIpO30KcmV0dXJuIHhocjt9LGhhbmRsZUVycm9yOmZ1bmN0aW9uKHMseGhyLHN0
YXR1cyxlKXtpZihzLmVycm9yKXMuZXJyb3IoeGhyLHN0YXR1cyxlKTtpZihzLmds
b2JhbCkKalF1ZXJ5LmV2ZW50LnRyaWdnZXIoImFqYXhFcnJvciIsW3hocixzLGVd
KTt9LGFjdGl2ZTowLGh0dHBTdWNjZXNzOmZ1bmN0aW9uKHhocil7dHJ5e3JldHVy
biF4aHIuc3RhdHVzJiZsb2NhdGlvbi5wcm90b2NvbD09ImZpbGU6Inx8KHhoci5z
dGF0dXM+PTIwMCYmeGhyLnN0YXR1czwzMDApfHx4aHIuc3RhdHVzPT0zMDR8fHho
ci5zdGF0dXM9PTEyMjM7fWNhdGNoKGUpe30KcmV0dXJuIGZhbHNlO30saHR0cE5v
dE1vZGlmaWVkOmZ1bmN0aW9uKHhocix1cmwpe3RyeXt2YXIgeGhyUmVzPXhoci5n
ZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpO3JldHVybiB4aHIuc3Rh
dHVzPT0zMDR8fHhoclJlcz09alF1ZXJ5Lmxhc3RNb2RpZmllZFt1cmxdO31jYXRj
aChlKXt9CnJldHVybiBmYWxzZTt9LGh0dHBEYXRhOmZ1bmN0aW9uKHhocix0eXBl
LHMpe3ZhciBjdD14aHIuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIp
LHhtbD10eXBlPT0ieG1sInx8IXR5cGUmJmN0JiZjdC5pbmRleE9mKCJ4bWwiKT49
MCxkYXRhPXhtbD94aHIucmVzcG9uc2VYTUw6eGhyLnJlc3BvbnNlVGV4dDtpZih4
bWwmJmRhdGEuZG9jdW1lbnRFbGVtZW50LnRhZ05hbWU9PSJwYXJzZXJlcnJvciIp
CnRocm93InBhcnNlcmVycm9yIjtpZihzJiZzLmRhdGFGaWx0ZXIpCmRhdGE9cy5k
YXRhRmlsdGVyKGRhdGEsdHlwZSk7aWYodHlwZW9mIGRhdGE9PT0ic3RyaW5nIil7
aWYodHlwZT09InNjcmlwdCIpCmpRdWVyeS5nbG9iYWxFdmFsKGRhdGEpO2lmKHR5
cGU9PSJqc29uIikKZGF0YT13aW5kb3dbImV2YWwiXSgiKCIrZGF0YSsiKSIpO30K
cmV0dXJuIGRhdGE7fSxwYXJhbTpmdW5jdGlvbihhKXt2YXIgcz1bXTtmdW5jdGlv
biBhZGQoa2V5LHZhbHVlKXtzW3MubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQo
a2V5KSsnPScrZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKTt9O2lmKGpRdWVyeS5p
c0FycmF5KGEpfHxhLmpxdWVyeSkKalF1ZXJ5LmVhY2goYSxmdW5jdGlvbigpe2Fk
ZCh0aGlzLm5hbWUsdGhpcy52YWx1ZSk7fSk7ZWxzZQpmb3IodmFyIGogaW4gYSkK
aWYoalF1ZXJ5LmlzQXJyYXkoYVtqXSkpCmpRdWVyeS5lYWNoKGFbal0sZnVuY3Rp
b24oKXthZGQoaix0aGlzKTt9KTtlbHNlCmFkZChqLGpRdWVyeS5pc0Z1bmN0aW9u
KGFbal0pP2Fbal0oKTphW2pdKTtyZXR1cm4gcy5qb2luKCImIikucmVwbGFjZSgv
JTIwL2csIisiKTt9fSk7dmFyIGVsZW1kaXNwbGF5PXt9LHRpbWVySWQsZnhBdHRy
cz1bWyJoZWlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5n
VG9wIiwicGFkZGluZ0JvdHRvbSJdLFsid2lkdGgiLCJtYXJnaW5MZWZ0IiwibWFy
Z2luUmlnaHQiLCJwYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCJdLFsib3BhY2l0
eSJdXTtmdW5jdGlvbiBnZW5GeCh0eXBlLG51bSl7dmFyIG9iaj17fTtqUXVlcnku
ZWFjaChmeEF0dHJzLmNvbmNhdC5hcHBseShbXSxmeEF0dHJzLnNsaWNlKDAsbnVt
KSksZnVuY3Rpb24oKXtvYmpbdGhpc109dHlwZTt9KTtyZXR1cm4gb2JqO30KalF1
ZXJ5LmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihzcGVlZCxjYWxsYmFjayl7aWYo
c3BlZWQpe3JldHVybiB0aGlzLmFuaW1hdGUoZ2VuRngoInNob3ciLDMpLHNwZWVk
LGNhbGxiYWNrKTt9ZWxzZXtmb3IodmFyIGk9MCxsPXRoaXMubGVuZ3RoO2k8bDtp
Kyspe3ZhciBvbGQ9alF1ZXJ5LmRhdGEodGhpc1tpXSwib2xkZGlzcGxheSIpO3Ro
aXNbaV0uc3R5bGUuZGlzcGxheT1vbGR8fCIiO2lmKGpRdWVyeS5jc3ModGhpc1tp
XSwiZGlzcGxheSIpPT09Im5vbmUiKXt2YXIgdGFnTmFtZT10aGlzW2ldLnRhZ05h
bWUsZGlzcGxheTtpZihlbGVtZGlzcGxheVt0YWdOYW1lXSl7ZGlzcGxheT1lbGVt
ZGlzcGxheVt0YWdOYW1lXTt9ZWxzZXt2YXIgZWxlbT1qUXVlcnkoIjwiK3RhZ05h
bWUrIiAvPiIpLmFwcGVuZFRvKCJib2R5Iik7ZGlzcGxheT1lbGVtLmNzcygiZGlz
cGxheSIpO2lmKGRpc3BsYXk9PT0ibm9uZSIpCmRpc3BsYXk9ImJsb2NrIjtlbGVt
LnJlbW92ZSgpO2VsZW1kaXNwbGF5W3RhZ05hbWVdPWRpc3BsYXk7fQpqUXVlcnku
ZGF0YSh0aGlzW2ldLCJvbGRkaXNwbGF5IixkaXNwbGF5KTt9fQpmb3IodmFyIGk9
MCxsPXRoaXMubGVuZ3RoO2k8bDtpKyspe3RoaXNbaV0uc3R5bGUuZGlzcGxheT1q
UXVlcnkuZGF0YSh0aGlzW2ldLCJvbGRkaXNwbGF5Iil8fCIiO30KcmV0dXJuIHRo
aXM7fX0saGlkZTpmdW5jdGlvbihzcGVlZCxjYWxsYmFjayl7aWYoc3BlZWQpe3Jl
dHVybiB0aGlzLmFuaW1hdGUoZ2VuRngoImhpZGUiLDMpLHNwZWVkLGNhbGxiYWNr
KTt9ZWxzZXtmb3IodmFyIGk9MCxsPXRoaXMubGVuZ3RoO2k8bDtpKyspe3ZhciBv
bGQ9alF1ZXJ5LmRhdGEodGhpc1tpXSwib2xkZGlzcGxheSIpO2lmKCFvbGQmJm9s
ZCE9PSJub25lIikKalF1ZXJ5LmRhdGEodGhpc1tpXSwib2xkZGlzcGxheSIsalF1
ZXJ5LmNzcyh0aGlzW2ldLCJkaXNwbGF5IikpO30KZm9yKHZhciBpPTAsbD10aGlz
Lmxlbmd0aDtpPGw7aSsrKXt0aGlzW2ldLnN0eWxlLmRpc3BsYXk9Im5vbmUiO30K
cmV0dXJuIHRoaXM7fX0sX3RvZ2dsZTpqUXVlcnkuZm4udG9nZ2xlLHRvZ2dsZTpm
dW5jdGlvbihmbixmbjIpe3ZhciBib29sPXR5cGVvZiBmbj09PSJib29sZWFuIjty
ZXR1cm4galF1ZXJ5LmlzRnVuY3Rpb24oZm4pJiZqUXVlcnkuaXNGdW5jdGlvbihm
bjIpP3RoaXMuX3RvZ2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6Zm49PW51bGx8
fGJvb2w/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHN0YXRlPWJvb2w/Zm46alF1
ZXJ5KHRoaXMpLmlzKCI6aGlkZGVuIik7alF1ZXJ5KHRoaXMpW3N0YXRlPyJzaG93
IjoiaGlkZSJdKCk7fSk6dGhpcy5hbmltYXRlKGdlbkZ4KCJ0b2dnbGUiLDMpLGZu
LGZuMik7fSxmYWRlVG86ZnVuY3Rpb24oc3BlZWQsdG8sY2FsbGJhY2spe3JldHVy
biB0aGlzLmFuaW1hdGUoe29wYWNpdHk6dG99LHNwZWVkLGNhbGxiYWNrKTt9LGFu
aW1hdGU6ZnVuY3Rpb24ocHJvcCxzcGVlZCxlYXNpbmcsY2FsbGJhY2spe3ZhciBv
cHRhbGw9alF1ZXJ5LnNwZWVkKHNwZWVkLGVhc2luZyxjYWxsYmFjayk7cmV0dXJu
IHRoaXNbb3B0YWxsLnF1ZXVlPT09ZmFsc2U/ImVhY2giOiJxdWV1ZSJdKGZ1bmN0
aW9uKCl7dmFyIG9wdD1qUXVlcnkuZXh0ZW5kKHt9LG9wdGFsbCkscCxoaWRkZW49
dGhpcy5ub2RlVHlwZT09MSYmalF1ZXJ5KHRoaXMpLmlzKCI6aGlkZGVuIiksc2Vs
Zj10aGlzO2ZvcihwIGluIHByb3Ape2lmKHByb3BbcF09PSJoaWRlIiYmaGlkZGVu
fHxwcm9wW3BdPT0ic2hvdyImJiFoaWRkZW4pCnJldHVybiBvcHQuY29tcGxldGUu
Y2FsbCh0aGlzKTtpZigocD09ImhlaWdodCJ8fHA9PSJ3aWR0aCIpJiZ0aGlzLnN0
eWxlKXtvcHQuZGlzcGxheT1qUXVlcnkuY3NzKHRoaXMsImRpc3BsYXkiKTtvcHQu
b3ZlcmZsb3c9dGhpcy5zdHlsZS5vdmVyZmxvdzt9fQppZihvcHQub3ZlcmZsb3ch
PW51bGwpCnRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7b3B0LmN1ckFuaW09
alF1ZXJ5LmV4dGVuZCh7fSxwcm9wKTtqUXVlcnkuZWFjaChwcm9wLGZ1bmN0aW9u
KG5hbWUsdmFsKXt2YXIgZT1uZXcgalF1ZXJ5LmZ4KHNlbGYsb3B0LG5hbWUpO2lm
KC90b2dnbGV8c2hvd3xoaWRlLy50ZXN0KHZhbCkpCmVbdmFsPT0idG9nZ2xlIj9o
aWRkZW4/InNob3ciOiJoaWRlIjp2YWxdKHByb3ApO2Vsc2V7dmFyIHBhcnRzPXZh
bC50b1N0cmluZygpLm1hdGNoKC9eKFsrLV09KT8oW1xkKy0uXSspKC4qKSQvKSxz
dGFydD1lLmN1cih0cnVlKXx8MDtpZihwYXJ0cyl7dmFyIGVuZD1wYXJzZUZsb2F0
KHBhcnRzWzJdKSx1bml0PXBhcnRzWzNdfHwicHgiO2lmKHVuaXQhPSJweCIpe3Nl
bGYuc3R5bGVbbmFtZV09KGVuZHx8MSkrdW5pdDtzdGFydD0oKGVuZHx8MSkvZS5j
dXIodHJ1ZSkpKnN0YXJ0O3NlbGYuc3R5bGVbbmFtZV09c3RhcnQrdW5pdDt9Cmlm
KHBhcnRzWzFdKQplbmQ9KChwYXJ0c1sxXT09Ii09Ij8tMToxKSplbmQpK3N0YXJ0
O2UuY3VzdG9tKHN0YXJ0LGVuZCx1bml0KTt9ZWxzZQplLmN1c3RvbShzdGFydCx2
YWwsIiIpO319KTtyZXR1cm4gdHJ1ZTt9KTt9LHN0b3A6ZnVuY3Rpb24oY2xlYXJR
dWV1ZSxnb3RvRW5kKXt2YXIgdGltZXJzPWpRdWVyeS50aW1lcnM7aWYoY2xlYXJR
dWV1ZSkKdGhpcy5xdWV1ZShbXSk7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zm9yKHZh
ciBpPXRpbWVycy5sZW5ndGgtMTtpPj0wO2ktLSkKaWYodGltZXJzW2ldLmVsZW09
PXRoaXMpe2lmKGdvdG9FbmQpCnRpbWVyc1tpXSh0cnVlKTt0aW1lcnMuc3BsaWNl
KGksMSk7fX0pO2lmKCFnb3RvRW5kKQp0aGlzLmRlcXVldWUoKTtyZXR1cm4gdGhp
czt9fSk7alF1ZXJ5LmVhY2goe3NsaWRlRG93bjpnZW5GeCgic2hvdyIsMSksc2xp
ZGVVcDpnZW5GeCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6Z2VuRngoInRvZ2dsZSIs
MSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlk
ZSJ9fSxmdW5jdGlvbihuYW1lLHByb3BzKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rp
b24oc3BlZWQsY2FsbGJhY2spe3JldHVybiB0aGlzLmFuaW1hdGUocHJvcHMsc3Bl
ZWQsY2FsbGJhY2spO307fSk7alF1ZXJ5LmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24o
c3BlZWQsZWFzaW5nLGZuKXt2YXIgb3B0PXR5cGVvZiBzcGVlZD09PSJvYmplY3Qi
P3NwZWVkOntjb21wbGV0ZTpmbnx8IWZuJiZlYXNpbmd8fGpRdWVyeS5pc0Z1bmN0
aW9uKHNwZWVkKSYmc3BlZWQsZHVyYXRpb246c3BlZWQsZWFzaW5nOmZuJiZlYXNp
bmd8fGVhc2luZyYmIWpRdWVyeS5pc0Z1bmN0aW9uKGVhc2luZykmJmVhc2luZ307
b3B0LmR1cmF0aW9uPWpRdWVyeS5meC5vZmY/MDp0eXBlb2Ygb3B0LmR1cmF0aW9u
PT09Im51bWJlciI/b3B0LmR1cmF0aW9uOmpRdWVyeS5meC5zcGVlZHNbb3B0LmR1
cmF0aW9uXXx8alF1ZXJ5LmZ4LnNwZWVkcy5fZGVmYXVsdDtvcHQub2xkPW9wdC5j
b21wbGV0ZTtvcHQuY29tcGxldGU9ZnVuY3Rpb24oKXtpZihvcHQucXVldWUhPT1m
YWxzZSkKalF1ZXJ5KHRoaXMpLmRlcXVldWUoKTtpZihqUXVlcnkuaXNGdW5jdGlv
bihvcHQub2xkKSkKb3B0Lm9sZC5jYWxsKHRoaXMpO307cmV0dXJuIG9wdDt9LGVh
c2luZzp7bGluZWFyOmZ1bmN0aW9uKHAsbixmaXJzdE51bSxkaWZmKXtyZXR1cm4g
Zmlyc3ROdW0rZGlmZipwO30sc3dpbmc6ZnVuY3Rpb24ocCxuLGZpcnN0TnVtLGRp
ZmYpe3JldHVybigoLU1hdGguY29zKHAqTWF0aC5QSSkvMikrMC41KSpkaWZmK2Zp
cnN0TnVtO319LHRpbWVyczpbXSxmeDpmdW5jdGlvbihlbGVtLG9wdGlvbnMscHJv
cCl7dGhpcy5vcHRpb25zPW9wdGlvbnM7dGhpcy5lbGVtPWVsZW07dGhpcy5wcm9w
PXByb3A7aWYoIW9wdGlvbnMub3JpZykKb3B0aW9ucy5vcmlnPXt9O319KTtqUXVl
cnkuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlv
bnMuc3RlcCkKdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5u
b3csdGhpcyk7KGpRdWVyeS5meC5zdGVwW3RoaXMucHJvcF18fGpRdWVyeS5meC5z
dGVwLl9kZWZhdWx0KSh0aGlzKTtpZigodGhpcy5wcm9wPT0iaGVpZ2h0Inx8dGhp
cy5wcm9wPT0id2lkdGgiKSYmdGhpcy5lbGVtLnN0eWxlKQp0aGlzLmVsZW0uc3R5
bGUuZGlzcGxheT0iYmxvY2siO30sY3VyOmZ1bmN0aW9uKGZvcmNlKXtpZih0aGlz
LmVsZW1bdGhpcy5wcm9wXSE9bnVsbCYmKCF0aGlzLmVsZW0uc3R5bGV8fHRoaXMu
ZWxlbS5zdHlsZVt0aGlzLnByb3BdPT1udWxsKSkKcmV0dXJuIHRoaXMuZWxlbVt0
aGlzLnByb3BdO3ZhciByPXBhcnNlRmxvYXQoalF1ZXJ5LmNzcyh0aGlzLmVsZW0s
dGhpcy5wcm9wLGZvcmNlKSk7cmV0dXJuIHImJnI+LTEwMDAwP3I6cGFyc2VGbG9h
dChqUXVlcnkuY3VyQ1NTKHRoaXMuZWxlbSx0aGlzLnByb3ApKXx8MDt9LGN1c3Rv
bTpmdW5jdGlvbihmcm9tLHRvLHVuaXQpe3RoaXMuc3RhcnRUaW1lPW5vdygpO3Ro
aXMuc3RhcnQ9ZnJvbTt0aGlzLmVuZD10bzt0aGlzLnVuaXQ9dW5pdHx8dGhpcy51
bml0fHwicHgiO3RoaXMubm93PXRoaXMuc3RhcnQ7dGhpcy5wb3M9dGhpcy5zdGF0
ZT0wO3ZhciBzZWxmPXRoaXM7ZnVuY3Rpb24gdChnb3RvRW5kKXtyZXR1cm4gc2Vs
Zi5zdGVwKGdvdG9FbmQpO30KdC5lbGVtPXRoaXMuZWxlbTtpZih0KCkmJmpRdWVy
eS50aW1lcnMucHVzaCh0KSYmIXRpbWVySWQpe3RpbWVySWQ9c2V0SW50ZXJ2YWwo
ZnVuY3Rpb24oKXt2YXIgdGltZXJzPWpRdWVyeS50aW1lcnM7Zm9yKHZhciBpPTA7
aTx0aW1lcnMubGVuZ3RoO2krKykKaWYoIXRpbWVyc1tpXSgpKQp0aW1lcnMuc3Bs
aWNlKGktLSwxKTtpZighdGltZXJzLmxlbmd0aCl7Y2xlYXJJbnRlcnZhbCh0aW1l
cklkKTt0aW1lcklkPXVuZGVmaW5lZDt9fSwxMyk7fX0sc2hvdzpmdW5jdGlvbigp
e3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09alF1ZXJ5LmF0dHIodGhpcy5l
bGVtLnN0eWxlLHRoaXMucHJvcCk7dGhpcy5vcHRpb25zLnNob3c9dHJ1ZTt0aGlz
LmN1c3RvbSh0aGlzLnByb3A9PSJ3aWR0aCJ8fHRoaXMucHJvcD09ImhlaWdodCI/
MTowLHRoaXMuY3VyKCkpO2pRdWVyeSh0aGlzLmVsZW0pLnNob3coKTt9LGhpZGU6
ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWpRdWVyeS5h
dHRyKHRoaXMuZWxlbS5zdHlsZSx0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5oaWRl
PXRydWU7dGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKTt9LHN0ZXA6ZnVuY3Rpb24o
Z290b0VuZCl7dmFyIHQ9bm93KCk7aWYoZ290b0VuZHx8dD49dGhpcy5vcHRpb25z
LmR1cmF0aW9uK3RoaXMuc3RhcnRUaW1lKXt0aGlzLm5vdz10aGlzLmVuZDt0aGlz
LnBvcz10aGlzLnN0YXRlPTE7dGhpcy51cGRhdGUoKTt0aGlzLm9wdGlvbnMuY3Vy
QW5pbVt0aGlzLnByb3BdPXRydWU7dmFyIGRvbmU9dHJ1ZTtmb3IodmFyIGkgaW4g
dGhpcy5vcHRpb25zLmN1ckFuaW0pCmlmKHRoaXMub3B0aW9ucy5jdXJBbmltW2ld
IT09dHJ1ZSkKZG9uZT1mYWxzZTtpZihkb25lKXtpZih0aGlzLm9wdGlvbnMuZGlz
cGxheSE9bnVsbCl7dGhpcy5lbGVtLnN0eWxlLm92ZXJmbG93PXRoaXMub3B0aW9u
cy5vdmVyZmxvdzt0aGlzLmVsZW0uc3R5bGUuZGlzcGxheT10aGlzLm9wdGlvbnMu
ZGlzcGxheTtpZihqUXVlcnkuY3NzKHRoaXMuZWxlbSwiZGlzcGxheSIpPT0ibm9u
ZSIpCnRoaXMuZWxlbS5zdHlsZS5kaXNwbGF5PSJibG9jayI7fQppZih0aGlzLm9w
dGlvbnMuaGlkZSkKalF1ZXJ5KHRoaXMuZWxlbSkuaGlkZSgpO2lmKHRoaXMub3B0
aW9ucy5oaWRlfHx0aGlzLm9wdGlvbnMuc2hvdykKZm9yKHZhciBwIGluIHRoaXMu
b3B0aW9ucy5jdXJBbmltKQpqUXVlcnkuYXR0cih0aGlzLmVsZW0uc3R5bGUscCx0
aGlzLm9wdGlvbnMub3JpZ1twXSk7dGhpcy5vcHRpb25zLmNvbXBsZXRlLmNhbGwo
dGhpcy5lbGVtKTt9CnJldHVybiBmYWxzZTt9ZWxzZXt2YXIgbj10LXRoaXMuc3Rh
cnRUaW1lO3RoaXMuc3RhdGU9bi90aGlzLm9wdGlvbnMuZHVyYXRpb247dGhpcy5w
b3M9alF1ZXJ5LmVhc2luZ1t0aGlzLm9wdGlvbnMuZWFzaW5nfHwoalF1ZXJ5LmVh
c2luZy5zd2luZz8ic3dpbmciOiJsaW5lYXIiKV0odGhpcy5zdGF0ZSxuLDAsMSx0
aGlzLm9wdGlvbnMuZHVyYXRpb24pO3RoaXMubm93PXRoaXMuc3RhcnQrKCh0aGlz
LmVuZC10aGlzLnN0YXJ0KSp0aGlzLnBvcyk7dGhpcy51cGRhdGUoKTt9CnJldHVy
biB0cnVlO319O2pRdWVyeS5leHRlbmQoalF1ZXJ5LmZ4LHtzcGVlZHM6e3Nsb3c6
NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sc3RlcDp7b3BhY2l0eTpmdW5jdGlv
bihmeCl7alF1ZXJ5LmF0dHIoZnguZWxlbS5zdHlsZSwib3BhY2l0eSIsZngubm93
KTt9LF9kZWZhdWx0OmZ1bmN0aW9uKGZ4KXtpZihmeC5lbGVtLnN0eWxlJiZmeC5l
bGVtLnN0eWxlW2Z4LnByb3BdIT1udWxsKQpmeC5lbGVtLnN0eWxlW2Z4LnByb3Bd
PWZ4Lm5vdytmeC51bml0O2Vsc2UKZnguZWxlbVtmeC5wcm9wXT1meC5ub3c7fX19
KTtpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImdldEJvdW5kaW5nQ2xpZW50
UmVjdCJdKQpqUXVlcnkuZm4ub2Zmc2V0PWZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0p
cmV0dXJue3RvcDowLGxlZnQ6MH07aWYodGhpc1swXT09PXRoaXNbMF0ub3duZXJE
b2N1bWVudC5ib2R5KXJldHVybiBqUXVlcnkub2Zmc2V0LmJvZHlPZmZzZXQodGhp
c1swXSk7dmFyIGJveD10aGlzWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGRv
Yz10aGlzWzBdLm93bmVyRG9jdW1lbnQsYm9keT1kb2MuYm9keSxkb2NFbGVtPWRv
Yy5kb2N1bWVudEVsZW1lbnQsY2xpZW50VG9wPWRvY0VsZW0uY2xpZW50VG9wfHxi
b2R5LmNsaWVudFRvcHx8MCxjbGllbnRMZWZ0PWRvY0VsZW0uY2xpZW50TGVmdHx8
Ym9keS5jbGllbnRMZWZ0fHwwLHRvcD1ib3gudG9wKyhzZWxmLnBhZ2VZT2Zmc2V0
fHxqUXVlcnkuYm94TW9kZWwmJmRvY0VsZW0uc2Nyb2xsVG9wfHxib2R5LnNjcm9s
bFRvcCktY2xpZW50VG9wLGxlZnQ9Ym94LmxlZnQrKHNlbGYucGFnZVhPZmZzZXR8
fGpRdWVyeS5ib3hNb2RlbCYmZG9jRWxlbS5zY3JvbGxMZWZ0fHxib2R5LnNjcm9s
bExlZnQpLWNsaWVudExlZnQ7cmV0dXJue3RvcDp0b3AsbGVmdDpsZWZ0fTt9O2Vs
c2UKalF1ZXJ5LmZuLm9mZnNldD1mdW5jdGlvbigpe2lmKCF0aGlzWzBdKXJldHVy
bnt0b3A6MCxsZWZ0OjB9O2lmKHRoaXNbMF09PT10aGlzWzBdLm93bmVyRG9jdW1l
bnQuYm9keSlyZXR1cm4galF1ZXJ5Lm9mZnNldC5ib2R5T2Zmc2V0KHRoaXNbMF0p
O2pRdWVyeS5vZmZzZXQuaW5pdGlhbGl6ZWR8fGpRdWVyeS5vZmZzZXQuaW5pdGlh
bGl6ZSgpO3ZhciBlbGVtPXRoaXNbMF0sb2Zmc2V0UGFyZW50PWVsZW0ub2Zmc2V0
UGFyZW50LHByZXZPZmZzZXRQYXJlbnQ9ZWxlbSxkb2M9ZWxlbS5vd25lckRvY3Vt
ZW50LGNvbXB1dGVkU3R5bGUsZG9jRWxlbT1kb2MuZG9jdW1lbnRFbGVtZW50LGJv
ZHk9ZG9jLmJvZHksZGVmYXVsdFZpZXc9ZG9jLmRlZmF1bHRWaWV3LHByZXZDb21w
dXRlZFN0eWxlPWRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoZWxlbSxudWxs
KSx0b3A9ZWxlbS5vZmZzZXRUb3AsbGVmdD1lbGVtLm9mZnNldExlZnQ7d2hpbGUo
KGVsZW09ZWxlbS5wYXJlbnROb2RlKSYmZWxlbSE9PWJvZHkmJmVsZW0hPT1kb2NF
bGVtKXtjb21wdXRlZFN0eWxlPWRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
ZWxlbSxudWxsKTt0b3AtPWVsZW0uc2Nyb2xsVG9wLGxlZnQtPWVsZW0uc2Nyb2xs
TGVmdDtpZihlbGVtPT09b2Zmc2V0UGFyZW50KXt0b3ArPWVsZW0ub2Zmc2V0VG9w
LGxlZnQrPWVsZW0ub2Zmc2V0TGVmdDtpZihqUXVlcnkub2Zmc2V0LmRvZXNOb3RB
ZGRCb3JkZXImJiEoalF1ZXJ5Lm9mZnNldC5kb2VzQWRkQm9yZGVyRm9yVGFibGVB
bmRDZWxscyYmL150KGFibGV8ZHxoKSQvaS50ZXN0KGVsZW0udGFnTmFtZSkpKQp0
b3ArPXBhcnNlSW50KGNvbXB1dGVkU3R5bGUuYm9yZGVyVG9wV2lkdGgsMTApfHww
LGxlZnQrPXBhcnNlSW50KGNvbXB1dGVkU3R5bGUuYm9yZGVyTGVmdFdpZHRoLDEw
KXx8MDtwcmV2T2Zmc2V0UGFyZW50PW9mZnNldFBhcmVudCxvZmZzZXRQYXJlbnQ9
ZWxlbS5vZmZzZXRQYXJlbnQ7fQppZihqUXVlcnkub2Zmc2V0LnN1YnRyYWN0c0Jv
cmRlckZvck92ZXJmbG93Tm90VmlzaWJsZSYmY29tcHV0ZWRTdHlsZS5vdmVyZmxv
dyE9PSJ2aXNpYmxlIikKdG9wKz1wYXJzZUludChjb21wdXRlZFN0eWxlLmJvcmRl
clRvcFdpZHRoLDEwKXx8MCxsZWZ0Kz1wYXJzZUludChjb21wdXRlZFN0eWxlLmJv
cmRlckxlZnRXaWR0aCwxMCl8fDA7cHJldkNvbXB1dGVkU3R5bGU9Y29tcHV0ZWRT
dHlsZTt9CmlmKHByZXZDb21wdXRlZFN0eWxlLnBvc2l0aW9uPT09InJlbGF0aXZl
Inx8cHJldkNvbXB1dGVkU3R5bGUucG9zaXRpb249PT0ic3RhdGljIikKdG9wKz1i
b2R5Lm9mZnNldFRvcCxsZWZ0Kz1ib2R5Lm9mZnNldExlZnQ7aWYocHJldkNvbXB1
dGVkU3R5bGUucG9zaXRpb249PT0iZml4ZWQiKQp0b3ArPU1hdGgubWF4KGRvY0Vs
ZW0uc2Nyb2xsVG9wLGJvZHkuc2Nyb2xsVG9wKSxsZWZ0Kz1NYXRoLm1heChkb2NF
bGVtLnNjcm9sbExlZnQsYm9keS5zY3JvbGxMZWZ0KTtyZXR1cm57dG9wOnRvcCxs
ZWZ0OmxlZnR9O307alF1ZXJ5Lm9mZnNldD17aW5pdGlhbGl6ZTpmdW5jdGlvbigp
e2lmKHRoaXMuaW5pdGlhbGl6ZWQpcmV0dXJuO3ZhciBib2R5PWRvY3VtZW50LmJv
ZHksY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLGlubmVy
RGl2LGNoZWNrRGl2LHRhYmxlLHRkLHJ1bGVzLHByb3AsYm9keU1hcmdpblRvcD1i
b2R5LnN0eWxlLm1hcmdpblRvcCxodG1sPSc8ZGl2IHN0eWxlPSJwb3NpdGlvbjph
YnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWFyZ2luOjA7Ym9yZGVyOjVweCBzb2xpZCAj
MDAwO3BhZGRpbmc6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDsiPjxkaXY+PC9kaXY+
PC9kaXY+PHRhYmxlIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0
OjA7bWFyZ2luOjA7Ym9yZGVyOjVweCBzb2xpZCAjMDAwO3BhZGRpbmc6MDt3aWR0
aDoxcHg7aGVpZ2h0OjFweDsiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i
MCI+PHRyPjx0ZD48L3RkPjwvdHI+PC90YWJsZT4nO3J1bGVzPXtwb3NpdGlvbjon
YWJzb2x1dGUnLHRvcDowLGxlZnQ6MCxtYXJnaW46MCxib3JkZXI6MCx3aWR0aDon
MXB4JyxoZWlnaHQ6JzFweCcsdmlzaWJpbGl0eTonaGlkZGVuJ307Zm9yKHByb3Ag
aW4gcnVsZXMpY29udGFpbmVyLnN0eWxlW3Byb3BdPXJ1bGVzW3Byb3BdO2NvbnRh
aW5lci5pbm5lckhUTUw9aHRtbDtib2R5Lmluc2VydEJlZm9yZShjb250YWluZXIs
Ym9keS5maXJzdENoaWxkKTtpbm5lckRpdj1jb250YWluZXIuZmlyc3RDaGlsZCxj
aGVja0Rpdj1pbm5lckRpdi5maXJzdENoaWxkLHRkPWlubmVyRGl2Lm5leHRTaWJs
aW5nLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZDt0aGlzLmRvZXNOb3RBZGRCb3JkZXI9
KGNoZWNrRGl2Lm9mZnNldFRvcCE9PTUpO3RoaXMuZG9lc0FkZEJvcmRlckZvclRh
YmxlQW5kQ2VsbHM9KHRkLm9mZnNldFRvcD09PTUpO2lubmVyRGl2LnN0eWxlLm92
ZXJmbG93PSdoaWRkZW4nLGlubmVyRGl2LnN0eWxlLnBvc2l0aW9uPSdyZWxhdGl2
ZSc7dGhpcy5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU9KGNo
ZWNrRGl2Lm9mZnNldFRvcD09PS01KTtib2R5LnN0eWxlLm1hcmdpblRvcD0nMXB4
Jzt0aGlzLmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0PShib2R5Lm9m
ZnNldFRvcD09PTApO2JvZHkuc3R5bGUubWFyZ2luVG9wPWJvZHlNYXJnaW5Ub3A7
Ym9keS5yZW1vdmVDaGlsZChjb250YWluZXIpO3RoaXMuaW5pdGlhbGl6ZWQ9dHJ1
ZTt9LGJvZHlPZmZzZXQ6ZnVuY3Rpb24oYm9keSl7alF1ZXJ5Lm9mZnNldC5pbml0
aWFsaXplZHx8alF1ZXJ5Lm9mZnNldC5pbml0aWFsaXplKCk7dmFyIHRvcD1ib2R5
Lm9mZnNldFRvcCxsZWZ0PWJvZHkub2Zmc2V0TGVmdDtpZihqUXVlcnkub2Zmc2V0
LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5Cb2R5T2Zmc2V0KQp0b3ArPXBhcnNlSW50
KGpRdWVyeS5jdXJDU1MoYm9keSwnbWFyZ2luVG9wJyx0cnVlKSwxMCl8fDAsbGVm
dCs9cGFyc2VJbnQoalF1ZXJ5LmN1ckNTUyhib2R5LCdtYXJnaW5MZWZ0Jyx0cnVl
KSwxMCl8fDA7cmV0dXJue3RvcDp0b3AsbGVmdDpsZWZ0fTt9fTtqUXVlcnkuZm4u
ZXh0ZW5kKHtwb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBsZWZ0PTAsdG9wPTAscmVz
dWx0cztpZih0aGlzWzBdKXt2YXIgb2Zmc2V0UGFyZW50PXRoaXMub2Zmc2V0UGFy
ZW50KCksb2Zmc2V0PXRoaXMub2Zmc2V0KCkscGFyZW50T2Zmc2V0PS9eYm9keXxo
dG1sJC9pLnRlc3Qob2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUpP3t0b3A6MCxsZWZ0
OjB9Om9mZnNldFBhcmVudC5vZmZzZXQoKTtvZmZzZXQudG9wLT1udW0odGhpcywn
bWFyZ2luVG9wJyk7b2Zmc2V0LmxlZnQtPW51bSh0aGlzLCdtYXJnaW5MZWZ0Jyk7
cGFyZW50T2Zmc2V0LnRvcCs9bnVtKG9mZnNldFBhcmVudCwnYm9yZGVyVG9wV2lk
dGgnKTtwYXJlbnRPZmZzZXQubGVmdCs9bnVtKG9mZnNldFBhcmVudCwnYm9yZGVy
TGVmdFdpZHRoJyk7cmVzdWx0cz17dG9wOm9mZnNldC50b3AtcGFyZW50T2Zmc2V0
LnRvcCxsZWZ0Om9mZnNldC5sZWZ0LXBhcmVudE9mZnNldC5sZWZ0fTt9CnJldHVy
biByZXN1bHRzO30sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7dmFyIG9mZnNldFBh
cmVudD10aGlzWzBdLm9mZnNldFBhcmVudHx8ZG9jdW1lbnQuYm9keTt3aGlsZShv
ZmZzZXRQYXJlbnQmJighL15ib2R5fGh0bWwkL2kudGVzdChvZmZzZXRQYXJlbnQu
dGFnTmFtZSkmJmpRdWVyeS5jc3Mob2Zmc2V0UGFyZW50LCdwb3NpdGlvbicpPT0n
c3RhdGljJykpCm9mZnNldFBhcmVudD1vZmZzZXRQYXJlbnQub2Zmc2V0UGFyZW50
O3JldHVybiBqUXVlcnkob2Zmc2V0UGFyZW50KTt9fSk7alF1ZXJ5LmVhY2goWydM
ZWZ0JywnVG9wJ10sZnVuY3Rpb24oaSxuYW1lKXt2YXIgbWV0aG9kPSdzY3JvbGwn
K25hbWU7alF1ZXJ5LmZuW21ldGhvZF09ZnVuY3Rpb24odmFsKXtpZighdGhpc1sw
XSlyZXR1cm4gbnVsbDtyZXR1cm4gdmFsIT09dW5kZWZpbmVkP3RoaXMuZWFjaChm
dW5jdGlvbigpe3RoaXM9PXdpbmRvd3x8dGhpcz09ZG9jdW1lbnQ/d2luZG93LnNj
cm9sbFRvKCFpP3ZhbDpqUXVlcnkod2luZG93KS5zY3JvbGxMZWZ0KCksaT92YWw6
alF1ZXJ5KHdpbmRvdykuc2Nyb2xsVG9wKCkpOnRoaXNbbWV0aG9kXT12YWw7fSk6
dGhpc1swXT09d2luZG93fHx0aGlzWzBdPT1kb2N1bWVudD9zZWxmW2k/J3BhZ2VZ
T2Zmc2V0JzoncGFnZVhPZmZzZXQnXXx8alF1ZXJ5LmJveE1vZGVsJiZkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnRbbWV0aG9kXXx8ZG9jdW1lbnQuYm9keVttZXRob2Rd
OnRoaXNbMF1bbWV0aG9kXTt9O30pO2pRdWVyeS5lYWNoKFsiSGVpZ2h0IiwiV2lk
dGgiXSxmdW5jdGlvbihpLG5hbWUpe3ZhciB0bD1pPyJMZWZ0IjoiVG9wIixicj1p
PyJSaWdodCI6IkJvdHRvbSIsbG93ZXI9bmFtZS50b0xvd2VyQ2FzZSgpO2pRdWVy
eS5mblsiaW5uZXIiK25hbWVdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbMF0/alF1
ZXJ5LmNzcyh0aGlzWzBdLGxvd2VyLGZhbHNlLCJwYWRkaW5nIik6bnVsbDt9O2pR
dWVyeS5mblsib3V0ZXIiK25hbWVdPWZ1bmN0aW9uKG1hcmdpbil7cmV0dXJuIHRo
aXNbMF0/alF1ZXJ5LmNzcyh0aGlzWzBdLGxvd2VyLGZhbHNlLG1hcmdpbj8ibWFy
Z2luIjoiYm9yZGVyIik6bnVsbDt9O3ZhciB0eXBlPW5hbWUudG9Mb3dlckNhc2Uo
KTtqUXVlcnkuZm5bdHlwZV09ZnVuY3Rpb24oc2l6ZSl7cmV0dXJuIHRoaXNbMF09
PXdpbmRvdz9kb2N1bWVudC5jb21wYXRNb2RlPT0iQ1NTMUNvbXBhdCImJmRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IituYW1lXXx8ZG9jdW1lbnQuYm9k
eVsiY2xpZW50IituYW1lXTp0aGlzWzBdPT1kb2N1bWVudD9NYXRoLm1heChkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrbmFtZV0sZG9jdW1lbnQuYm9k
eVsic2Nyb2xsIituYW1lXSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbInNjcm9s
bCIrbmFtZV0sZG9jdW1lbnQuYm9keVsib2Zmc2V0IituYW1lXSxkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnRbIm9mZnNldCIrbmFtZV0pOnNpemU9PT11bmRlZmluZWQ/
KHRoaXMubGVuZ3RoP2pRdWVyeS5jc3ModGhpc1swXSx0eXBlKTpudWxsKTp0aGlz
LmNzcyh0eXBlLHR5cGVvZiBzaXplPT09InN0cmluZyI/c2l6ZTpzaXplKyJweCIp
O307fSk7fSkoKTskaj1qUXVlcnkubm9Db25mbGljdCgpOw==
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=ajax.js
Content-Type: application/x-javascript; name=ajax.js
Content-Location: http://bits.wikimedia.org/skins-1.5/common/ajax.js?283s
Content-Transfer-Encoding: Base64
Ly8gcmVtb3RlIHNjcmlwdGluZyBsaWJyYXJ5Ci8vIChjKSBjb3B5cmlnaHQgMjAw
NSBtb2Rlcm5tZXRob2QsIGluYwp2YXIgc2FqYXhfZGVidWdfbW9kZSA9IGZhbHNl
Owp2YXIgc2FqYXhfcmVxdWVzdF90eXBlID0gIkdFVCI7CgovKioKKiBpZiBzYWph
eF9kZWJ1Z19tb2RlIGlzIHRydWUsIHRoaXMgZnVuY3Rpb24gb3V0cHV0cyBnaXZl
biB0aGUgbWVzc2FnZSBpbnRvIAoqIHRoZSBlbGVtZW50IHdpdGggaWQgPSBzYWph
eF9kZWJ1ZzsgaWYgbm8gc3VjaCBlbGVtZW50IGV4aXN0cyBpbiB0aGUgZG9jdW1l
bnQsIAoqIGl0IGlzIGluamVjdGVkLgoqLwpmdW5jdGlvbiBzYWpheF9kZWJ1Zyh0
ZXh0KSB7CglpZiAoIXNhamF4X2RlYnVnX21vZGUpIHJldHVybiBmYWxzZTsKCgl2
YXIgZT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhamF4X2RlYnVnJyk7CgoJ
aWYgKCFlKSB7CgkJZT0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOwoJCWUu
Y2xhc3NOYW1lPSAnc2FqYXhfZGVidWcnOwoJCWUuaWQ9ICdzYWpheF9kZWJ1Zyc7
CgoJCXZhciBiPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIp
WzBdOwoKCQlpZiAoYi5maXJzdENoaWxkKSBiLmluc2VydEJlZm9yZShlLCBiLmZp
cnN0Q2hpbGQpOwoJCWVsc2UgYi5hcHBlbmRDaGlsZChlKTsKCX0KCgl2YXIgbT0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgltLmFwcGVuZENoaWxkKCBk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSggdGV4dCApICk7CgoJZS5hcHBlbmRDaGls
ZCggbSApOwoKCXJldHVybiB0cnVlOwp9CgovKioKKiBjb21wYXRpYmlsaXR5IHdy
YXBwZXIgZm9yIGNyZWF0aW5nIGEgbmV3IFhNTEh0dHBSZXF1ZXN0IG9iamVjdC4K
Ki8KZnVuY3Rpb24gc2FqYXhfaW5pdF9vYmplY3QoKSB7CglzYWpheF9kZWJ1Zygi
c2FqYXhfaW5pdF9vYmplY3QoKSBjYWxsZWQuLiIpCgl2YXIgQTsKCXRyeSB7CgkJ
Ly8gVHJ5IHRoZSBuZXcgc3R5bGUgYmVmb3JlIEFjdGl2ZVggc28gd2UgZG9uJ3QK
CQkvLyB1bm5lY2Vzc2FyaWx5IHRyaWdnZXIgd2FybmluZ3MgaW4gSUUgNyB3aGVu
CgkJLy8gc2V0IHRvIHByb21wdCBhYm91dCBBY3RpdmVYIHVzYWdlCgkJQSA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOwoJfSBjYXRjaCAoZSkgewoJCXRyeSB7CgkJCUE9
bmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIik7CgkJfSBjYXRjaCAo
ZSkgewoJCQl0cnkgewoJCQkJQT1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0
LlhNTEhUVFAiKTsKCQkJfSBjYXRjaCAob2MpIHsKCQkJCUE9bnVsbDsKCQkJfQoJ
CX0KCX0KCWlmICghQSkKCQlzYWpheF9kZWJ1ZygiQ291bGQgbm90IGNyZWF0ZSBj
b25uZWN0aW9uIG9iamVjdC4iKTsKCglyZXR1cm4gQTsKfQoKLyoqCiogUGVyZm9y
bSBhbiBhamF4IGNhbGwgdG8gbWVkaWF3aWtpLiBDYWxscyBhcmUgaGFuZGVsZWQg
YnkgQWpheERpc3BhdGNoZXIucGhwCiogICBmdW5jX25hbWUgLSB0aGUgbmFtZSBv
ZiB0aGUgZnVuY3Rpb24gdG8gY2FsbC4gTXVzdCBiZSByZWdpc3RlcmVkIGluICR3
Z0FqYXhFeHBvcnRMaXN0CiogICBhcmdzIC0gYW4gYXJyYXkgb2YgYXJndW1lbnRz
IHRvIHRoYXQgZnVuY3Rpb24KKiAgIHRhcmdldCAtIHRoZSB0YXJnZXQgdGhhdCB3
aWxsIGhhbmRsZSB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsLiBJZiB0aGlzIGlzIGEg
ZnVuY3Rpb24sCiogICAgICAgICAgICBpZiB3aWxsIGJlIGNhbGxlZCB3aXRoIHRo
ZSBYTUxIdHRwUmVxdWVzdCBhcyBhIHBhcmFtZXRlcjsgaWYgaXQncyBhbiBpbnB1
dAoqICAgICAgICAgICAgZWxlbWVudCwgaXRzIHZhbHVlIHdpbGwgYmUgc2V0IHRv
IHRoZSByZXN1bHRUZXh0OyBpZiBpdCdzIGFub3RoZXIgdHlwZSBvZgoqICAgICAg
ICAgICAgZWxlbWVudCwgaXRzIGlubmVySFRNTCB3aWxsIGJlIHNldCB0byB0aGUg
cmVzdWx0VGV4dC4KKgoqIEV4YW1wbGU6CiogICAgc2FqYXhfZG9fY2FsbCgnZG9G
b28nLCBbMSwgMiwgM10sIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaG93Rm9v
IikpOwoqCiogVGhpcyB3aWxsIGNhbGwgdGhlIGRvRm9vIGZ1bmN0aW9uIHZpYSBN
ZWRpYVdpa2kncyBBamF4RGlzcGF0Y2hlciwgd2l0aAoqICgxLCAyLCAzKSBhcyB0
aGUgcGFyYW1ldGVyIGxpc3QsIGFuZCB3aWxsIHNob3cgdGhlIHJlc3VsdCBpbiB0
aGUgZWxlbWVudAoqIHdpdGggaWQgPSBzaG93Rm9vCiovCmZ1bmN0aW9uIHNhamF4
X2RvX2NhbGwoZnVuY19uYW1lLCBhcmdzLCB0YXJnZXQpIHsKCXZhciBpLCB4LCBu
OwoJdmFyIHVyaTsKCXZhciBwb3N0X2RhdGE7Cgl1cmkgPSB3Z1NlcnZlciArCgkJ
KCh3Z1NjcmlwdCA9PSBudWxsKSA/ICh3Z1NjcmlwdFBhdGggKyAiL2luZGV4LnBo
cCIpIDogd2dTY3JpcHQpICsKCQkiP2FjdGlvbj1hamF4IjsKCWlmIChzYWpheF9y
ZXF1ZXN0X3R5cGUgPT0gIkdFVCIpIHsKCQlpZiAodXJpLmluZGV4T2YoIj8iKSA9
PSAtMSkKCQkJdXJpID0gdXJpICsgIj9ycz0iICsgZW5jb2RlVVJJQ29tcG9uZW50
KGZ1bmNfbmFtZSk7CgkJZWxzZQoJCQl1cmkgPSB1cmkgKyAiJnJzPSIgKyBlbmNv
ZGVVUklDb21wb25lbnQoZnVuY19uYW1lKTsKCQlmb3IgKGkgPSAwOyBpIDwgYXJn
cy5sZW5ndGg7IGkrKykKCQkJdXJpID0gdXJpICsgIiZyc2FyZ3NbXT0iICsgZW5j
b2RlVVJJQ29tcG9uZW50KGFyZ3NbaV0pOwoJCS8vdXJpID0gdXJpICsgIiZyc3Ju
ZD0iICsgbmV3IERhdGUoKS5nZXRUaW1lKCk7CgkJcG9zdF9kYXRhID0gbnVsbDsK
CX0gZWxzZSB7CgkJcG9zdF9kYXRhID0gInJzPSIgKyBlbmNvZGVVUklDb21wb25l
bnQoZnVuY19uYW1lKTsKCQlmb3IgKGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkr
KykKCQkJcG9zdF9kYXRhID0gcG9zdF9kYXRhICsgIiZyc2FyZ3NbXT0iICsgZW5j
b2RlVVJJQ29tcG9uZW50KGFyZ3NbaV0pOwoJfQoJeCA9IHNhamF4X2luaXRfb2Jq
ZWN0KCk7CglpZiAoIXgpIHsKCQlhbGVydCgiQUpBWCBub3Qgc3VwcG9ydGVkIik7
CgkJcmV0dXJuIGZhbHNlOwoJfQoKCXRyeSB7CgkJeC5vcGVuKHNhamF4X3JlcXVl
c3RfdHlwZSwgdXJpLCB0cnVlKTsKCX0gY2F0Y2ggKGUpIHsKCQlpZiAod2luZG93
LmxvY2F0aW9uLmhvc3RuYW1lID09ICJsb2NhbGhvc3QiKSB7CgkJCWFsZXJ0KCJZ
b3VyIGJyb3dzZXIgYmxvY2tzIFhNTEh0dHBSZXF1ZXN0IHRvICdsb2NhbGhvc3Qn
LCB0cnkgdXNpbmcgYSByZWFsIGhvc3RuYW1lIGZvciBkZXZlbG9wbWVudC90ZXN0
aW5nLiIpOwoJCX0KCQl0aHJvdyBlOwoJfQoJaWYgKHNhamF4X3JlcXVlc3RfdHlw
ZSA9PSAiUE9TVCIpIHsKCQl4LnNldFJlcXVlc3RIZWFkZXIoIk1ldGhvZCIsICJQ
T1NUICIgKyB1cmkgKyAiIEhUVFAvMS4xIik7CgkJeC5zZXRSZXF1ZXN0SGVhZGVy
KCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNv
ZGVkIik7Cgl9Cgl4LnNldFJlcXVlc3RIZWFkZXIoIlByYWdtYSIsICJjYWNoZT15
ZXMiKTsKCXguc2V0UmVxdWVzdEhlYWRlcigiQ2FjaGUtQ29udHJvbCIsICJuby10
cmFuc2Zvcm0iKTsKCXgub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7
CgkJaWYgKHgucmVhZHlTdGF0ZSAhPSA0KQoJCQlyZXR1cm47CgoJCXNhamF4X2Rl
YnVnKCJyZWNlaXZlZCAoIiArIHguc3RhdHVzICsgIiAiICsgeC5zdGF0dXNUZXh0
ICsgIikgIiArIHgucmVzcG9uc2VUZXh0KTsKCgkJLy9pZiAoeC5zdGF0dXMgIT0g
MjAwKQoJCS8vCWFsZXJ0KCJFcnJvcjogIiArIHguc3RhdHVzICsgIiAiICsgeC5z
dGF0dXNUZXh0ICsgIjogIiArIHgucmVzcG9uc2VUZXh0KTsKCQkvL2Vsc2UKCgkJ
aWYgKCB0eXBlb2YoIHRhcmdldCApID09ICdmdW5jdGlvbicgKSB7CgkJCXRhcmdl
dCggeCApOwoJCX0KCQllbHNlIGlmICggdHlwZW9mKCB0YXJnZXQgKSA9PSAnb2Jq
ZWN0JyApIHsKCQkJaWYgKCB0YXJnZXQudGFnTmFtZSA9PSAnSU5QVVQnICkgewoJ
CQkJaWYgKHguc3RhdHVzID09IDIwMCkgdGFyZ2V0LnZhbHVlPSB4LnJlc3BvbnNl
VGV4dDsKCQkJCS8vZWxzZSBhbGVydCgiRXJyb3I6ICIgKyB4LnN0YXR1cyArICIg
IiArIHguc3RhdHVzVGV4dCArICIgKCIgKyB4LnJlc3BvbnNlVGV4dCArICIpIik7
CgkJCX0KCQkJZWxzZSB7CgkJCQlpZiAoeC5zdGF0dXMgPT0gMjAwKSB0YXJnZXQu
aW5uZXJIVE1MID0geC5yZXNwb25zZVRleHQ7CgkJCQllbHNlIHRhcmdldC5pbm5l
ckhUTUw9ICI8ZGl2IGNsYXNzPSdlcnJvcic+RXJyb3I6ICIgKyB4LnN0YXR1cyAr
ICIgIiArIHguc3RhdHVzVGV4dCArICIgKCIgKyB4LnJlc3BvbnNlVGV4dCArICIp
PC9kaXY+IjsKCQkJfQoJCX0KCQllbHNlIHsKCQkJYWxlcnQoImJhZCB0YXJnZXQg
Zm9yIHNhamF4X2RvX2NhbGw6IG5vdCBhIGZ1bmN0aW9uIG9yIG9iamVjdDogIiAr
IHRhcmdldCk7CgkJfQoKCQlyZXR1cm47Cgl9CgoJc2FqYXhfZGVidWcoZnVuY19u
YW1lICsgIiB1cmkgPSAiICsgdXJpICsgIiAvIHBvc3QgPSAiICsgcG9zdF9kYXRh
KTsKCXguc2VuZChwb3N0X2RhdGEpOwoJc2FqYXhfZGVidWcoZnVuY19uYW1lICsg
IiB3YWl0aW5nLi4iKTsKCWRlbGV0ZSB4OwoKCXJldHVybiB0cnVlOwp9CgovKioK
ICogQHJldHVybiBib29sZWFuIHdoZXRoZXIgdGhlIGJyb3dzZXIgc3VwcG9ydHMg
WE1MSHR0cFJlcXVlc3QKICovCmZ1bmN0aW9uIHdmU3VwcG9ydHNBamF4KCkgewoJ
dmFyIHJlcXVlc3QgPSBzYWpheF9pbml0X29iamVjdCgpOwoJdmFyIHN1cHBvcnRz
QWpheCA9IHJlcXVlc3QgPyB0cnVlIDogZmFsc2U7CglkZWxldGUgcmVxdWVzdDsK
CXJldHVybiBzdXBwb3J0c0FqYXg7Cn0KCg==
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=mwsuggest.js
Content-Type: application/x-javascript; name=mwsuggest.js
Content-Location: http://bits.wikimedia.org/skins-1.5/common/mwsuggest.js?283s
Content-Transfer-Encoding: Base64
LyoKICogT3BlblNlYXJjaCBhamF4IHN1Z2dlc3Rpb24gZW5naW5lIGZvciBNZWRp
YVdpa2kKICoKICogdXNlcyBjb3JlIE1lZGlhV2lraSBvcGVuIHNlYXJjaCBzdXBw
b3J0IHRvIGZldGNoIHN1Z2dlc3Rpb25zCiAqIGFuZCBzaG93IHRoZW0gYmVsb3cg
c2VhcmNoIGJveGVzIGFuZCBvdGhlciBpbnB1dHMKICoKICogYnkgUm9iZXJ0IFN0
b2puaWMgKEFwcmlsIDIwMDgpCiAqLwoKLy8gc2VhcmNoX2JveF9pZCAtPiBSZXN1
bHRzIG9iamVjdAp2YXIgb3NfbWFwID0ge307Ci8vIGNhY2hlZCBkYXRhLCB1cmwg
LT4ganNvbl90ZXh0CnZhciBvc19jYWNoZSA9IHt9OwovLyBnbG9iYWwgdmFyaWFi
bGVzIGZvciBzdWdnZXN0X2tleXByZXNzCnZhciBvc19jdXJfa2V5cHJlc3NlZCA9
IDA7CnZhciBvc19rZXlwcmVzc2VkX2NvdW50ID0gMDsKLy8gdHlwZTogVGltZXIK
dmFyIG9zX3RpbWVyID0gbnVsbDsKLy8gdGllIG1vdXNlZG93bi91cCBldmVudHMK
dmFyIG9zX21vdXNlX3ByZXNzZWQgPSBmYWxzZTsKdmFyIG9zX21vdXNlX251bSA9
IC0xOwovLyBpZiB0cnVlLCB0aGUgbGFzdCBjaGFuZ2Ugd2FzIG1hZGUgYnkgbW91
c2UgKGFuZCBub3Qga2V5Ym9hcmQpCnZhciBvc19tb3VzZV9tb3ZlZCA9IGZhbHNl
OwovLyBkZWxheSBiZXR3ZWVuIGtleXByZXNzIGFuZCBzdWdnZXN0aW9uIChpbiBt
cykKdmFyIG9zX3NlYXJjaF90aW1lb3V0ID0gMjUwOwovLyB0aGVzZSBwYWlycyBv
ZiBpbnB1dHMvZm9ybXMgd2lsbCBiZSBhdXRvbG9hZGVkIGF0IHN0YXJ0dXAKdmFy
IG9zX2F1dG9sb2FkX2lucHV0cyA9IG5ldyBBcnJheSgnc2VhcmNoSW5wdXQnLCAn
c2VhcmNoSW5wdXQyJywgJ3Bvd2VyU2VhcmNoVGV4dCcsICdzZWFyY2hUZXh0Jyk7
CnZhciBvc19hdXRvbG9hZF9mb3JtcyA9IG5ldyBBcnJheSgnc2VhcmNoZm9ybScs
ICdzZWFyY2hmb3JtMicsICdwb3dlcnNlYXJjaCcsICdzZWFyY2gnICk7Ci8vIGlm
IHdlIHN0b3BwZWQgdGhlIHNlcnZpY2UKdmFyIG9zX2lzX3N0b3BwZWQgPSBmYWxz
ZTsKLy8gbWF4IGxpbmVzIHRvIHNob3cgaW4gc3VnZ2VzdCB0YWJsZQp2YXIgb3Nf
bWF4X2xpbmVzX3Blcl9zdWdnZXN0ID0gNzsKLy8gbnVtYmVyIG9mIHN0ZXBzIHRv
IGFuaW1hdGUgZXhwYW5zaW9uL2NvbnRyYWN0aW9uIG9mIGNvbnRhaW5lciB3aWR0
aAp2YXIgb3NfYW5pbWF0aW9uX3N0ZXBzID0gNjsKLy8gbnVtIG9mIHBpeGVscyBv
ZiBzbWFsbGVzdCBzdGVwCnZhciBvc19hbmltYXRpb25fbWluX3N0ZXAgPSAyOwov
LyBkZWxheSBiZXR3ZWVuIHN0ZXBzIChpbiBtcykKdmFyIG9zX2FuaW1hdGlvbl9k
ZWxheSA9IDMwOwovLyBtYXggd2lkdGggb2YgY29udGFpbmVyIGluIHBlcmNlbnQg
b2Ygbm9ybWFsIHNpemUgKDEgPT0gMTAwJSkKdmFyIG9zX2NvbnRhaW5lcl9tYXhf
d2lkdGggPSAyOwovLyBjdXJyZW50bHkgYWN0aXZlIGFuaW1hdGlvbiB0aW1lcgp2
YXIgb3NfYW5pbWF0aW9uX3RpbWVyID0gbnVsbDsKLyoqCiAqIDxkYXRhbGlzdD4g
aXMgYSBuZXcgSFRNTDUgZWxlbWVudCB0aGF0IGFsbG93cyB5b3UgdG8gbWFudWFs
bHkgc3VwcGx5CiAqIHN1Z2dlc3Rpb24gbGlzdHMgYW5kIGhhdmUgdGhlbSByZW5k
ZXJlZCBhY2NvcmRpbmcgdG8gdGhlIHJpZ2h0IHBsYXRmb3JtCiAqIGNvbnZlbnRp
b25zLiAgSG93ZXZlciwgdGhlIG9ubHkgc2hpcHBpbmcgYnJvd3NlciBhcyBvZiBl
YXJseSAyMDEwIGlzIE9wZXJhLAogKiBhbmQgdGhhdCBoYXMgYSBmYXRhbCBwcm9i
bGVtOiB0aGUgc3VnZ2VzdGlvbiBsYWdzIGJlaGluZCB3aGF0IHRoZSB1c2VyIHR5
cGVzCiAqIGJ5IG9uZSBrZXlwcmVzcy4gIChSZXBvcnRlZCBhcyBEU0stMjc2ODcw
IHRvIE9wZXJhJ3Mgc2VjcmV0IGJ1ZyB0cmFja2VyLikKICogVGhlIGNvZGUgaGVy
ZSBvdGhlcndpc2Ugc2VlbXMgdG8gd29yaywgdGhvdWdoLCBzbyB0aGlzIGNhbiBi
ZSBmbGlwcGVkIG9uCiAqIChtYXliZSB3aXRoIGEgVUEgY2hlY2spIHdoZW4gc29t
ZSBicm93c2VyIGhhcyBhIGJldHRlciBpbXBsZW1lbnRhdGlvbi4KICovCi8vIHZh
ciBvc191c2VfZGF0YWxpc3QgPSAnbGlzdCcgaW4gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCggJ2lucHV0JyApOwp2YXIgb3NfdXNlX2RhdGFsaXN0ID0gZmFsc2U7Cgov
KiogVGltZW91dCB0aW1lciBjbGFzcyB0aGF0IHdpbGwgZmV0Y2ggdGhlIHJlc3Vs
dHMgKi8KZnVuY3Rpb24gb3NfVGltZXIoIGlkLCByLCBxdWVyeSApIHsKCXRoaXMu
aWQgPSBpZDsKCXRoaXMuciA9IHI7Cgl0aGlzLnF1ZXJ5ID0gcXVlcnk7Cn0KCi8q
KiBQcm9wZXJ0eSBjbGFzcyBmb3Igc2luZ2xlIHNlYXJjaCBib3ggKi8KZnVuY3Rp
b24gb3NfUmVzdWx0cyggbmFtZSwgZm9ybW5hbWUgKSB7Cgl0aGlzLnNlYXJjaGZv
cm0gPSBmb3JtbmFtZTsgLy8gaWQgb2YgdGhlIHNlYXJjaGZvcm0KCXRoaXMuc2Vh
cmNoYm94ID0gbmFtZTsgLy8gaWQgb2YgdGhlIHNlYXJjaGJveAoJdGhpcy5jb250
YWluZXIgPSBuYW1lICsgJ1N1Z2dlc3QnOyAvLyBkaXYgdGhhdCBob2xkcyByZXN1
bHRzCgl0aGlzLnJlc3VsdFRhYmxlID0gbmFtZSArICdSZXN1bHQnOyAvLyBpZCBi
YXNlIGZvciB0aGUgcmVzdWx0IHRhYmxlICgrbnVtID0gdGFibGUgcm93KQoJdGhp
cy5yZXN1bHRUZXh0ID0gbmFtZSArICdSZXN1bHRUZXh0JzsgLy8gaWQgYmFzZSBm
b3IgdGhlIHNwYW5zIHdpdGhpbiByZXN1bHQgdGFibGVzICgrbnVtKQoJdGhpcy50
b2dnbGUgPSBuYW1lICsgJ1RvZ2dsZSc7IC8vIGRpdiB0aGF0IGhhcyB0aGUgdG9n
Z2xlIChlbmFibGUvZGlzYWJsZSkgbGluawoJdGhpcy5xdWVyeSA9IG51bGw7IC8v
IGxhc3QgcHJvY2Vzc2VkIHF1ZXJ5Cgl0aGlzLnJlc3VsdHMgPSBudWxsOyAgLy8g
cGFyc2VkIHRpdGxlcwoJdGhpcy5yZXN1bHRDb3VudCA9IDA7IC8vIG51bWJlciBv
ZiByZXN1bHRzCgl0aGlzLm9yaWdpbmFsID0gbnVsbDsgLy8gcXVlcnkgdGhhdCB1
c2VyIGVudGVyZWQKCXRoaXMuc2VsZWN0ZWQgPSAtMTsgLy8gd2hpY2ggcmVzdWx0
IGlzIHNlbGVjdGVkCgl0aGlzLmNvbnRhaW5lckNvdW50ID0gMDsgLy8gbnVtYmVy
IG9mIHJlc3VsdHMgdmlzaWJsZSBpbiBjb250YWluZXIKCXRoaXMuY29udGFpbmVy
Um93ID0gMDsgLy8gaGVpZ2h0IG9mIHJlc3VsdCBmaWVsZCBpbiB0aGUgY29udGFp
bmVyCgl0aGlzLmNvbnRhaW5lclRvdGFsID0gMDsgLy8gdG90YWwgaGVpZ2h0IG9m
IHRoZSBjb250YWluZXIgd2lsbCBhbGwgcmVzdWx0cwoJdGhpcy52aXNpYmxlID0g
ZmFsc2U7IC8vIGlmIGNvbnRhaW5lciBpcyB2aXNpYmxlCgl0aGlzLnN0YXlIaWRk
ZW4gPSBmYWxzZTsgLy8gZG9uJ3QgdHJ5IHRvIHNob3cgaWYgbG9zdCBmb2N1cwp9
CgovKiogVGltZXIgdXNlciB0byBhbmltYXRlIGV4cGFuc2lvbi9jb250cmFjdGlv
biBvZiBjb250YWluZXIgd2lkdGggKi8KZnVuY3Rpb24gb3NfQW5pbWF0aW9uVGlt
ZXIoIHIsIHRhcmdldCApIHsKCXRoaXMuciA9IHI7Cgl2YXIgY3VycmVudCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKHIuY29udGFpbmVyKS5vZmZzZXRXaWR0aDsK
CXRoaXMuaW5jID0gTWF0aC5yb3VuZCggKCB0YXJnZXQgLSBjdXJyZW50ICkgLyBv
c19hbmltYXRpb25fc3RlcHMgKTsKCWlmKCB0aGlzLmluYyA8IG9zX2FuaW1hdGlv
bl9taW5fc3RlcCAmJiB0aGlzLmluYyA+PTAgKSB7CgkJdGhpcy5pbmMgPSBvc19h
bmltYXRpb25fbWluX3N0ZXA7IC8vIG1pbmltYWwgYW5pbWF0aW9uIHN0ZXAKCX0K
CWlmKCB0aGlzLmluYyA+IC1vc19hbmltYXRpb25fbWluX3N0ZXAgJiYgdGhpcy5p
bmMgPCAwICkgewoJCXRoaXMuaW5jID0gLW9zX2FuaW1hdGlvbl9taW5fc3RlcDsK
CX0KCXRoaXMudGFyZ2V0ID0gdGFyZ2V0Owp9CgovKioqKioqKioqKioqKioqKioq
CiAqIEluaXRpYWxpemF0aW9uCiAqKioqKioqKioqKioqKioqKiovCgovKiogSW5p
dGlhbGl6YXRpb24sIGNhbGwgdXBvbiBwYWdlIG9ubG9hZCAqLwpmdW5jdGlvbiBv
c19NV1N1Z2dlc3RJbml0KCkgewoJZm9yKCBpID0gMDsgaSA8IG9zX2F1dG9sb2Fk
X2lucHV0cy5sZW5ndGg7IGkrKyApIHsKCQl2YXIgaWQgPSBvc19hdXRvbG9hZF9p
bnB1dHNbaV07CgkJdmFyIGZvcm0gPSBvc19hdXRvbG9hZF9mb3Jtc1tpXTsKCQll
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIGlkICk7CgkJaWYoIGVs
ZW1lbnQgIT0gbnVsbCApIHsKCQkJb3NfaW5pdEhhbmRsZXJzKCBpZCwgZm9ybSwg
ZWxlbWVudCApOwoJCX0KCX0KfQoKLyoqIEluaXQgUmVzdWx0IG9iamVjdHMgYW5k
IGV2ZW50IGhhbmRsZXJzICovCmZ1bmN0aW9uIG9zX2luaXRIYW5kbGVycyggbmFt
ZSwgZm9ybW5hbWUsIGVsZW1lbnQgKSB7Cgl2YXIgciA9IG5ldyBvc19SZXN1bHRz
KCBuYW1lLCBmb3JtbmFtZSApOwoJLy8gZXZlbnQgaGFuZGxlcgoJb3NfaG9va0V2
ZW50KCBlbGVtZW50LCAna2V5dXAnLCBmdW5jdGlvbiggZXZlbnQgKSB7IG9zX2V2
ZW50S2V5dXAoIGV2ZW50ICk7IH0gKTsKCW9zX2hvb2tFdmVudCggZWxlbWVudCwg
J2tleWRvd24nLCBmdW5jdGlvbiggZXZlbnQgKSB7IG9zX2V2ZW50S2V5ZG93bigg
ZXZlbnQgKTsgfSApOwoJb3NfaG9va0V2ZW50KCBlbGVtZW50LCAna2V5cHJlc3Mn
LCBmdW5jdGlvbiggZXZlbnQgKSB7IG9zX2V2ZW50S2V5cHJlc3MoIGV2ZW50ICk7
IH0gKTsKCWlmICggIW9zX3VzZV9kYXRhbGlzdCApIHsKCQkvLyBUaGVzZSBhcmUg
bmVlZGVkIGZvciB0aGUgZGl2IGhhY2sgdG8gaGlkZSBpdCBpZiB0aGUgdXNlciBi
bHVycy4KCQlvc19ob29rRXZlbnQoIGVsZW1lbnQsICdibHVyJywgZnVuY3Rpb24o
IGV2ZW50ICkgeyBvc19ldmVudEJsdXIoIGV2ZW50ICk7IH0gKTsKCQlvc19ob29r
RXZlbnQoIGVsZW1lbnQsICdmb2N1cycsIGZ1bmN0aW9uKCBldmVudCApIHsgb3Nf
ZXZlbnRGb2N1cyggZXZlbnQgKTsgfSApOwoJCS8vIFdlIGRvbid0IHdhbnQgYnJv
d3NlciBhdXRvLXN1Z2dlc3Rpb25zIGludGVyZmVyaW5nIHdpdGggb3VyIGRpdiwg
YnV0CgkJLy8gYXV0b2NvbXBsZXRlIG11c3QgYmUgb24gZm9yIGRhdGFsaXN0IHRv
IHdvcmsgKGF0IGxlYXN0IGluIE9wZXJhCgkJLy8gMTAuMTApLgoJCWVsZW1lbnQu
c2V0QXR0cmlidXRlKCAnYXV0b2NvbXBsZXRlJywgJ29mZicgKTsKCX0KCS8vIHN0
b3BwaW5nIGhhbmRsZXIKCW9zX2hvb2tFdmVudCggZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIGZvcm1uYW1lICksICdzdWJtaXQnLCBmdW5jdGlvbiggZXZlbnQgKSB7
IHJldHVybiBvc19ldmVudE9uc3VibWl0KCBldmVudCApOyB9ICk7Cglvc19tYXBb
bmFtZV0gPSByOwoJLy8gdG9nZ2xlIGxpbmsKCWlmKCBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCggci50b2dnbGUgKSA9PSBudWxsICkgewoJCS8vIFRPRE86IGRpc2Fi
bGUgdGhpcyB3aGlsZSB3ZSBmaWd1cmUgb3V0IGEgd2F5IGZvciB0aGlzIHRvIHdv
cmsgaW4gYWxsIGJyb3dzZXJzCgkJLyogaWYoIG5hbWUgPT0gJ3NlYXJjaElucHV0
JyApIHsKCQkJLy8gc3BlY2lhbCBjYXNlOiBwbGFjZSBhYm92ZSB0aGUgbWFpbiBz
ZWFyY2ggYm94CgkJCXZhciB0ID0gb3NfY3JlYXRlVG9nZ2xlKCByLCAnb3Mtc3Vn
Z2VzdC10b2dnbGUnICk7CgkJCXZhciBzZWFyY2hCb2R5ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoICdzZWFyY2hCb2R5JyApOwoJCQl2YXIgZmlyc3QgPSBzZWFy
Y2hCb2R5LnBhcmVudE5vZGUuZmlyc3RDaGlsZC5uZXh0U2libGluZy5hcHBlbmRD
aGlsZCh0KTsKCQl9IGVsc2UgewoJCQkvLyBkZWZhdWx0OiBwbGFjZSBiZWxvdyBz
ZWFyY2ggYm94IHRvIHRoZSByaWdodAoJCQl2YXIgdCA9IG9zX2NyZWF0ZVRvZ2ds
ZSggciwgJ29zLXN1Z2dlc3QtdG9nZ2xlLWRlZicgKTsKCQkJdmFyIHRvcCA9IGVs
ZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQ7CgkJCXZhciBs
ZWZ0ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aDsK
CQkJdC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CgkJCXQuc3R5bGUudG9w
ID0gdG9wICsgJ3B4JzsKCQkJdC5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7CgkJ
CWVsZW1lbnQucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCggdCApOwoJCQkvLyBvbmx5
IG5vdyB3aWR0aCBnZXRzIGNhbGN1bGF0ZWQsIHNoaWZ0IHJpZ2h0CgkJCWxlZnQg
LT0gdC5vZmZzZXRXaWR0aDsKCQkJdC5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7
CgkJCXQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJzsKCQl9ICovCgl9Cgp9
CgpmdW5jdGlvbiBvc19ob29rRXZlbnQoIGVsZW1lbnQsIGhvb2tOYW1lLCBob29r
RnVuY3QgKSB7CglpZiAoIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lciApIHsKCQll
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIGhvb2tOYW1lLCBob29rRnVuY3QsIGZh
bHNlICk7Cgl9IGVsc2UgaWYgKCB3aW5kb3cuYXR0YWNoRXZlbnQgKSB7CgkJZWxl
bWVudC5hdHRhY2hFdmVudCggJ29uJyArIGhvb2tOYW1lLCBob29rRnVuY3QgKTsK
CX0KfQoKLyoqKioqKioqKioqKioqKioqKioqCiAqICBLZXlib2FyZCBldmVudHMK
ICoqKioqKioqKioqKioqKioqKioqLwoKLyoqIEV2ZW50IGhhbmRsZXIgdGhhdCB3
aWxsIGZldGNoIHJlc3VsdHMgb24ga2V5dXAgKi8KZnVuY3Rpb24gb3NfZXZlbnRL
ZXl1cCggZSApIHsKCXZhciB0YXJnID0gb3NfZ2V0VGFyZ2V0KCBlICk7Cgl2YXIg
ciA9IG9zX21hcFt0YXJnLmlkXTsKCWlmKCByID09IG51bGwgKSB7CgkJcmV0dXJu
OyAvLyBub3Qgb3VyIGV2ZW50Cgl9CgoJLy8gc29tZSBicm93c2VycyB3b24ndCBn
ZW5lcmF0ZSBrZXlwcmVzc2VkIGZvciBhcnJvdyBrZXlzLCBjYXRjaCBpdAoJaWYo
IG9zX2tleXByZXNzZWRfY291bnQgPT0gMCApIHsKCQlvc19wcm9jZXNzS2V5KCBy
LCBvc19jdXJfa2V5cHJlc3NlZCwgdGFyZyApOwoJfQoJdmFyIHF1ZXJ5ID0gdGFy
Zy52YWx1ZTsKCW9zX2ZldGNoUmVzdWx0cyggciwgcXVlcnksIG9zX3NlYXJjaF90
aW1lb3V0ICk7Cn0KCi8qKiBjYXRjaCBhcnJvd3MgdXAvZG93biBhbmQgZXNjYXBl
IHRvIGhpZGUgdGhlIHN1Z2dlc3Rpb25zICovCmZ1bmN0aW9uIG9zX3Byb2Nlc3NL
ZXkoIHIsIGtleXByZXNzZWQsIHRhcmcgKSB7CglpZiAoIGtleXByZXNzZWQgPT0g
NDAgJiYgIXIudmlzaWJsZSAmJiBvc190aW1lciA9PSBudWxsICkgewoJCS8vIElm
IHRoZSB1c2VyIGhpdHMgdGhlIGRvd24gYXJyb3csIGZldGNoIHJlc3VsdHMgaW1t
ZWRpYXRlbHkgaWYgbm9uZQoJCS8vIGFyZSBhbHJlYWR5IGRpc3BsYXllZC4KCQly
LnF1ZXJ5ID0gJyc7CgkJb3NfZmV0Y2hSZXN1bHRzKCByLCB0YXJnLnZhbHVlLCAw
ICk7Cgl9CgkvLyBPdGhlcndpc2UsIGlmIHdlJ3JlIG5vdCB1c2luZyBkYXRhbGlz
dCwgd2UgbmVlZCB0byBoYW5kbGUgc2Nyb2xsaW5nIGFuZAoJLy8gc28gb24uCglp
ZiAoIG9zX3VzZV9kYXRhbGlzdCApIHsKCQlyZXR1cm47Cgl9CglpZiAoIGtleXBy
ZXNzZWQgPT0gNDAgKSB7IC8vIEFycm93IERvd24KCQlpZiAoIHIudmlzaWJsZSAp
IHsKCQkJb3NfY2hhbmdlSGlnaGxpZ2h0KCByLCByLnNlbGVjdGVkLCByLnNlbGVj
dGVkICsgMSwgdHJ1ZSApOwoJCX0KCX0gZWxzZSBpZiAoIGtleXByZXNzZWQgPT0g
MzggKSB7IC8vIEFycm93IFVwCgkJaWYgKCByLnZpc2libGUgKSB7CgkJCW9zX2No
YW5nZUhpZ2hsaWdodCggciwgci5zZWxlY3RlZCwgci5zZWxlY3RlZCAtIDEsIHRy
dWUgKTsKCQl9Cgl9IGVsc2UgaWYoIGtleXByZXNzZWQgPT0gMjcgKSB7IC8vIEVz
Y2FwZQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLnNlYXJjaGJveCApLnZh
bHVlID0gci5vcmlnaW5hbDsKCQlyLnF1ZXJ5ID0gci5vcmlnaW5hbDsKCQlvc19o
aWRlUmVzdWx0cyggciApOwoJfSBlbHNlIGlmKCByLnF1ZXJ5ICE9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCByLnNlYXJjaGJveCApLnZhbHVlICkgewoJCS8vIG9z
X2hpZGVSZXN1bHRzKCByICk7IC8vIGRvbid0IHNob3cgb2xkIHN1Z2dlc3Rpb25z
Cgl9Cn0KCi8qKiBXaGVuIGtleXMgaXMgaGVsZCBkb3duIHVzZSBhIHRpbWVyIHRv
IG91dHB1dCByZWd1bGFyIGV2ZW50cyAqLwpmdW5jdGlvbiBvc19ldmVudEtleXBy
ZXNzKCBlICkgewoJdmFyIHRhcmcgPSBvc19nZXRUYXJnZXQoIGUgKTsKCXZhciBy
ID0gb3NfbWFwW3RhcmcuaWRdOwoJaWYoIHIgPT0gbnVsbCApIHsKCQlyZXR1cm47
IC8vIG5vdCBvdXIgZXZlbnQKCX0KCgl2YXIga2V5cHJlc3NlZCA9IG9zX2N1cl9r
ZXlwcmVzc2VkOwoKCW9zX2tleXByZXNzZWRfY291bnQrKzsKCW9zX3Byb2Nlc3NL
ZXkoIHIsIGtleXByZXNzZWQsIHRhcmcgKTsKfQoKLyoqIENhdGNoIHRoZSBrZXkg
Y29kZSAoRmlyZWZveCBidWcpICovCmZ1bmN0aW9uIG9zX2V2ZW50S2V5ZG93bigg
ZSApIHsKCWlmICggIWUgKSB7CgkJZSA9IHdpbmRvdy5ldmVudDsKCX0KCXZhciB0
YXJnID0gb3NfZ2V0VGFyZ2V0KCBlICk7Cgl2YXIgciA9IG9zX21hcFt0YXJnLmlk
XTsKCWlmKCByID09IG51bGwgKSB7CgkJcmV0dXJuOyAvLyBub3Qgb3VyIGV2ZW50
Cgl9CgoJb3NfbW91c2VfbW92ZWQgPSBmYWxzZTsKCglvc19jdXJfa2V5cHJlc3Nl
ZCA9ICggZS5rZXlDb2RlID09IHVuZGVmaW5lZCApID8gZS53aGljaCA6IGUua2V5
Q29kZTsKCW9zX2tleXByZXNzZWRfY291bnQgPSAwOwp9CgoKLyoqIFdoZW4gdGhl
IGZvcm0gaXMgc3VibWl0dGVkIGhpZGUgZXZlcnl0aGluZywgY2FuY2VsIHVwZGF0
ZXMuLi4gKi8KZnVuY3Rpb24gb3NfZXZlbnRPbnN1Ym1pdCggZSApIHsKCXZhciB0
YXJnID0gb3NfZ2V0VGFyZ2V0KCBlICk7CgoJb3NfaXNfc3RvcHBlZCA9IHRydWU7
CgkvLyBraWxsIHRpbWVkIHJlcXVlc3RzCglpZiggb3NfdGltZXIgIT0gbnVsbCAm
JiBvc190aW1lci5pZCAhPSBudWxsICkgewoJCWNsZWFyVGltZW91dCggb3NfdGlt
ZXIuaWQgKTsKCQlvc190aW1lciA9IG51bGw7Cgl9CgkvLyBIaWRlIGFsbCBzdWdn
ZXN0aW9ucwoJZm9yKCBpID0gMDsgaSA8IG9zX2F1dG9sb2FkX2lucHV0cy5sZW5n
dGg7IGkrKyApIHsKCQl2YXIgciA9IG9zX21hcFtvc19hdXRvbG9hZF9pbnB1dHNb
aV1dOwoJCWlmKCByICE9IG51bGwgKSB7CgkJCXZhciBiID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIHIuc2VhcmNoZm9ybSApOwoJCQlpZiggYiAhPSBudWxsICYm
IGIgPT0gdGFyZyApIHsKCQkJCS8vIHNldCBxdWVyeSB2YWx1ZSBzbyB0aGUgaGFu
ZGxlciB3b24ndCB0cnkgdG8gZmV0Y2ggYWRkaXRpb25hbCByZXN1bHRzCgkJCQly
LnF1ZXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIHIuc2VhcmNoYm94ICku
dmFsdWU7CgkJCX0KCQkJb3NfaGlkZVJlc3VsdHMoIHIgKTsKCQl9Cgl9CglyZXR1
cm4gdHJ1ZTsKfQoKCgovKiogSGlkZSByZXN1bHRzIGZyb20gdGhlIHVzZXIsIGVp
dGhlciBtYWtpbmcgdGhlIGRpdiB2aXNpYmlsaXR5PWhpZGRlbiBvcgogKiBkZXRh
Y2hpbmcgdGhlIGRhdGFsaXN0IGZyb20gdGhlIGlucHV0LiAqLwpmdW5jdGlvbiBv
c19oaWRlUmVzdWx0cyggciApIHsKCWlmICggb3NfdXNlX2RhdGFsaXN0ICkgewoJ
CWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLnNlYXJjaGJveCApLnNldEF0dHJp
YnV0ZSggJ2xpc3QnLCAnJyApOwoJfSBlbHNlIHsKCQl2YXIgYyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCByLmNvbnRhaW5lciApOwoJCWlmICggYyAhPSBudWxs
ICkgewoJCQljLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJzsKCQl9Cgl9Cgly
LnZpc2libGUgPSBmYWxzZTsKCXIuc2VsZWN0ZWQgPSAtMTsKfQoKZnVuY3Rpb24g
b3NfZGVjb2RlVmFsdWUoIHZhbHVlICkgewoJaWYgKCBkZWNvZGVVUklDb21wb25l
bnQgKSB7CgkJcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCggdmFsdWUgKTsKCX0K
CWlmKCB1bmVzY2FwZSApIHsKCQlyZXR1cm4gdW5lc2NhcGUoIHZhbHVlICk7Cgl9
CglyZXR1cm4gbnVsbDsKfQoKZnVuY3Rpb24gb3NfZW5jb2RlUXVlcnkoIHZhbHVl
ICkgewoJaWYgKCBlbmNvZGVVUklDb21wb25lbnQgKSB7CgkJcmV0dXJuIGVuY29k
ZVVSSUNvbXBvbmVudCggdmFsdWUgKTsKCX0KCWlmKCBlc2NhcGUgKSB7CgkJcmV0
dXJuIGVzY2FwZSggdmFsdWUgKTsKCX0KCXJldHVybiBudWxsOwp9CgovKiogSGFu
ZGxlcyBkYXRhIGZyb20gWE1MSHR0cFJlcXVlc3QsIGFuZCB1cGRhdGVzIHRoZSBz
dWdnZXN0IHJlc3VsdHMgKi8KZnVuY3Rpb24gb3NfdXBkYXRlUmVzdWx0cyggciwg
cXVlcnksIHRleHQsIGNhY2hlS2V5ICkgewoJb3NfY2FjaGVbY2FjaGVLZXldID0g
dGV4dDsKCXIucXVlcnkgPSBxdWVyeTsKCXIub3JpZ2luYWwgPSBxdWVyeTsKCWlm
KCB0ZXh0ID09ICcnICkgewoJCXIucmVzdWx0cyA9IG51bGw7CgkJci5yZXN1bHRD
b3VudCA9IDA7CgkJb3NfaGlkZVJlc3VsdHMoIHIgKTsKCX0gZWxzZSB7CgkJdHJ5
IHsKCQkJdmFyIHAgPSBldmFsKCAnKCcgKyB0ZXh0ICsgJyknICk7IC8vIHNpbXBs
ZSBqc29uIHBhcnNlLCBjb3VsZCBkbyBhIHNhZmVyIG9uZQoJCQlpZiggcC5sZW5n
dGggPCAyIHx8IHBbMV0ubGVuZ3RoID09IDAgKSB7CgkJCQlyLnJlc3VsdHMgPSBu
dWxsOwoJCQkJci5yZXN1bHRDb3VudCA9IDA7CgkJCQlvc19oaWRlUmVzdWx0cygg
ciApOwoJCQkJcmV0dXJuOwoJCQl9CgkJCWlmICggb3NfdXNlX2RhdGFsaXN0ICkg
ewoJCQkJb3Nfc2V0dXBEYXRhbGlzdCggciwgcFsxXSApOwoJCQl9IGVsc2UgewoJ
CQkJb3Nfc2V0dXBEaXYoIHIsIHBbMV0gKTsKCQkJfQoJCX0gY2F0Y2goIGUgKSB7
CgkJCS8vIGJhZCByZXNwb25zZSBmcm9tIHNlcnZlciBvciBzdWNoCgkJCW9zX2hp
ZGVSZXN1bHRzKCByICk7CgkJCW9zX2NhY2hlW2NhY2hlS2V5XSA9IG51bGw7CgkJ
fQoJfQp9CgovKioKICogQ3JlYXRlIGFuZCBwb3B1bGF0ZSBhIDxkYXRhbGlzdD4u
CiAqCiAqIEBwYXJhbSByICAgICAgIG9zX1Jlc3VsdCBvYmplY3QKICogQHBhcmFt
IHJlc3VsdHMgQXJyYXkgb2YgdGhlIG5ldyByZXN1bHRzIHRvIHJlcGxhY2UgZXhp
c3Rpbmcgb25lcwogKi8KZnVuY3Rpb24gb3Nfc2V0dXBEYXRhbGlzdCggciwgcmVz
dWx0cyApIHsKCXZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIHIuc2Vh
cmNoYm94ICk7Cgl2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLmNv
bnRhaW5lciApOwoJaWYgKCBjID09IG51bGwgKSB7CgkJYyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoICdkYXRhbGlzdCcgKTsKCQljLnNldEF0dHJpYnV0ZSggJ2lk
Jywgci5jb250YWluZXIgKTsKCQlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKCBj
ICk7Cgl9IGVsc2UgewoJCWMuaW5uZXJIVE1MID0gJyc7Cgl9CglzLnNldEF0dHJp
YnV0ZSggJ2xpc3QnLCByLmNvbnRhaW5lciApOwoKCXIucmVzdWx0cyA9IG5ldyBB
cnJheSgpOwoJci5yZXN1bHRDb3VudCA9IHJlc3VsdHMubGVuZ3RoOwoJci52aXNp
YmxlID0gdHJ1ZTsKCWZvciAoIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkr
KyApIHsKCQl2YXIgdGl0bGUgPSBvc19kZWNvZGVWYWx1ZSggcmVzdWx0c1tpXSAp
OwoJCXZhciBvcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnb3B0aW9uJyAp
OwoJCW9wdC52YWx1ZSA9IHRpdGxlOwoJCXIucmVzdWx0c1tpXSA9IHRpdGxlOwoJ
CWMuYXBwZW5kQ2hpbGQoIG9wdCApOwoJfQp9CgovKiogRmV0Y2ggbmFtZXNwYWNl
cyBmcm9tIGNoZWNrYm94ZXMgb3IgaGlkZGVuIGZpZWxkcyBpbiB0aGUgc2VhcmNo
IGZvcm0sCiAgICBpZiBub25lIGRlZmluZWQgdXNlIHdnU2VhcmNoTmFtZXNwYWNl
cyBnbG9iYWwgKi8KZnVuY3Rpb24gb3NfZ2V0TmFtZXNwYWNlcyggciApIHsKCXZh
ciBuYW1lc3BhY2VzID0gJyc7Cgl2YXIgZWxlbWVudHMgPSBkb2N1bWVudC5mb3Jt
c1tyLnNlYXJjaGZvcm1dLmVsZW1lbnRzOwoJZm9yKCBpID0gMDsgaSA8IGVsZW1l
bnRzLmxlbmd0aDsgaSsrICkgewoJCXZhciBuYW1lID0gZWxlbWVudHNbaV0ubmFt
ZTsKCQlpZiggdHlwZW9mIG5hbWUgIT0gJ3VuZGVmaW5lZCcgJiYgbmFtZS5sZW5n
dGggPiAyICYmIG5hbWVbMF0gPT0gJ24nICYmCgkJCW5hbWVbMV0gPT0gJ3MnICYm
ICgKCQkJCSggZWxlbWVudHNbaV0udHlwZSA9PSAnY2hlY2tib3gnICYmIGVsZW1l
bnRzW2ldLmNoZWNrZWQgKSB8fAoJCQkJKCBlbGVtZW50c1tpXS50eXBlID09ICdo
aWRkZW4nICYmIGVsZW1lbnRzW2ldLnZhbHVlID09ICcxJyApCgkJCSkKCQkpIHsK
CQkJaWYoIG5hbWVzcGFjZXMgIT0gJycgKSB7CgkJCQluYW1lc3BhY2VzICs9ICd8
JzsKCQkJfQoJCQluYW1lc3BhY2VzICs9IG5hbWUuc3Vic3RyaW5nKCAyICk7CgkJ
fQoJfQoJaWYoIG5hbWVzcGFjZXMgPT0gJycgKSB7CgkJbmFtZXNwYWNlcyA9IHdn
U2VhcmNoTmFtZXNwYWNlcy5qb2luKCd8Jyk7Cgl9CglyZXR1cm4gbmFtZXNwYWNl
czsKfQoKLyoqIFVwZGF0ZSByZXN1bHRzIGlmIHVzZXIgaGFzbid0IGFscmVhZHkg
dHlwZWQgc29tZXRoaW5nIGVsc2UgKi8KZnVuY3Rpb24gb3NfdXBkYXRlSWZSZWxl
dmFudCggciwgcXVlcnksIHRleHQsIGNhY2hlS2V5ICkgewoJdmFyIHQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCggci5zZWFyY2hib3ggKTsKCWlmKCB0ICE9IG51
bGwgJiYgdC52YWx1ZSA9PSBxdWVyeSApIHsgLy8gY2hlY2sgaWYgcmVzcG9uc2Ug
aXMgc3RpbGwgcmVsZXZhbnQKCQlvc191cGRhdGVSZXN1bHRzKCByLCBxdWVyeSwg
dGV4dCwgY2FjaGVLZXkgKTsKCX0KCXIucXVlcnkgPSBxdWVyeTsKfQoKLyoqIEZl
dGNoIHJlc3VsdHMgYWZ0ZXIgc29tZSB0aW1lb3V0ICovCmZ1bmN0aW9uIG9zX2Rl
bGF5ZWRGZXRjaCgpIHsKCWlmKCBvc190aW1lciA9PSBudWxsICkgewoJCXJldHVy
bjsKCX0KCXZhciByID0gb3NfdGltZXIucjsKCXZhciBxdWVyeSA9IG9zX3RpbWVy
LnF1ZXJ5OwoJb3NfdGltZXIgPSBudWxsOwoJdmFyIHBhdGggPSB3Z01XU3VnZ2Vz
dFRlbXBsYXRlLnJlcGxhY2UoICJ7bmFtZXNwYWNlc30iLCBvc19nZXROYW1lc3Bh
Y2VzKCByICkgKQoJCQkJCQkJCQkucmVwbGFjZSggIntkYm5hbWV9Iiwgd2dEQm5h
bWUgKQoJCQkJCQkJCQkucmVwbGFjZSggIntzZWFyY2hUZXJtc30iLCBvc19lbmNv
ZGVRdWVyeSggcXVlcnkgKSApOwoKCS8vIHRyeSB0byBnZXQgZnJvbSBjYWNoZSwg
aWYgbm90IGZldGNoIHVzaW5nIGFqYXgKCXZhciBjYWNoZWQgPSBvc19jYWNoZVtw
YXRoXTsKCWlmKCBjYWNoZWQgIT0gbnVsbCAmJiBjYWNoZWQgIT0gdW5kZWZpbmVk
ICkgewoJCW9zX3VwZGF0ZUlmUmVsZXZhbnQoIHIsIHF1ZXJ5LCBjYWNoZWQsIHBh
dGggKTsKCX0gZWxzZSB7CgkJdmFyIHhtbGh0dHAgPSBzYWpheF9pbml0X29iamVj
dCgpOwoJCWlmKCB4bWxodHRwICkgewoJCQl0cnkgewoJCQkJeG1saHR0cC5vcGVu
KCAnR0VUJywgcGF0aCwgdHJ1ZSApOwoJCQkJeG1saHR0cC5vbnJlYWR5c3RhdGVj
aGFuZ2UgPSBmdW5jdGlvbigpIHsKCQkJCQlpZiAoIHhtbGh0dHAucmVhZHlTdGF0
ZSA9PSA0ICYmIHR5cGVvZiBvc191cGRhdGVJZlJlbGV2YW50ID09ICdmdW5jdGlv
bicgKSB7CgkJCQkJCW9zX3VwZGF0ZUlmUmVsZXZhbnQoIHIsIHF1ZXJ5LCB4bWxo
dHRwLnJlc3BvbnNlVGV4dCwgcGF0aCApOwoJCQkJCX0KCQkJCX07CgkJCQl4bWxo
dHRwLnNlbmQoIG51bGwgKTsKCQkJfSBjYXRjaCAoIGUgKSB7CgkJCQlpZiAoIHdp
bmRvdy5sb2NhdGlvbi5ob3N0bmFtZSA9PSAnbG9jYWxob3N0JyApIHsKCQkJCQlh
bGVydCggIllvdXIgYnJvd3NlciBibG9ja3MgWE1MSHR0cFJlcXVlc3QgdG8gJ2xv
Y2FsaG9zdCcsIHRyeSB1c2luZyBhIHJlYWwgaG9zdG5hbWUgZm9yIGRldmVsb3Bt
ZW50L3Rlc3RpbmcuIiApOwoJCQkJfQoJCQkJdGhyb3cgZTsKCQkJfQoJCX0KCX0K
fQoKLyoqIEluaXQgdGltZWQgdXBkYXRlIHZpYSBvc19kZWxheWVkVXBkYXRlKCkg
Ki8KZnVuY3Rpb24gb3NfZmV0Y2hSZXN1bHRzKCByLCBxdWVyeSwgdGltZW91dCAp
IHsKCWlmKCBxdWVyeSA9PSAnJyApIHsKCQlyLnF1ZXJ5ID0gJyc7CgkJb3NfaGlk
ZVJlc3VsdHMoIHIgKTsKCQlyZXR1cm47Cgl9IGVsc2UgaWYoIHF1ZXJ5ID09IHIu
cXVlcnkgKSB7CgkJcmV0dXJuOyAvLyBubyBjaGFuZ2UKCX0KCglvc19pc19zdG9w
cGVkID0gZmFsc2U7IC8vIG1ha2Ugc3VyZSB3ZSdyZSBydW5uaW5nCgoJLy8gY2Fu
Y2VsIGFueSBwZW5kaW5nIGZldGNoZXMKCWlmKCBvc190aW1lciAhPSBudWxsICYm
IG9zX3RpbWVyLmlkICE9IG51bGwgKSB7CgkJY2xlYXJUaW1lb3V0KCBvc190aW1l
ci5pZCApOwoJfQoJLy8gc2NoZWR1bGUgZGVsYXllZCBmZXRjaGluZyBvZiByZXN1
bHRzCglpZiggdGltZW91dCAhPSAwICkgewoJCW9zX3RpbWVyID0gbmV3IG9zX1Rp
bWVyKCBzZXRUaW1lb3V0KCAib3NfZGVsYXllZEZldGNoKCkiLCB0aW1lb3V0ICks
IHIsIHF1ZXJ5ICk7Cgl9IGVsc2UgewoJCW9zX3RpbWVyID0gbmV3IG9zX1RpbWVy
KCBudWxsLCByLCBxdWVyeSApOwoJCW9zX2RlbGF5ZWRGZXRjaCgpOyAvLyBkbyBp
dCBub3chCgl9Cn0KCi8qKiBGaW5kIGV2ZW50IHRhcmdldCAqLwpmdW5jdGlvbiBv
c19nZXRUYXJnZXQoIGUgKSB7CglpZiAoICFlICkgewoJCWUgPSB3aW5kb3cuZXZl
bnQ7Cgl9CglpZiAoIGUudGFyZ2V0ICkgewoJCXJldHVybiBlLnRhcmdldDsKCX0g
ZWxzZSBpZiAoIGUuc3JjRWxlbWVudCApIHsKCQlyZXR1cm4gZS5zcmNFbGVtZW50
OwoJfSBlbHNlIHsKCQlyZXR1cm4gbnVsbDsKCX0KfQoKLyoqIENoZWNrIGlmIHgg
aXMgYSB2YWxpZCBpbnRlZ2VyICovCmZ1bmN0aW9uIG9zX2lzTnVtYmVyKCB4ICkg
ewoJaWYoIHggPT0gJycgfHwgaXNOYU4oIHggKSApIHsKCQlyZXR1cm4gZmFsc2U7
Cgl9Cglmb3IoIHZhciBpID0gMDsgaSA8IHgubGVuZ3RoOyBpKysgKSB7CgkJdmFy
IGMgPSB4LmNoYXJBdCggaSApOwoJCWlmKCAhKCBjID49ICcwJyAmJiBjIDw9ICc5
JyApICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoJcmV0dXJuIHRydWU7Cn0K
Ci8qKiBDYWxsIHRoaXMgdG8gZW5hYmxlIHN1Z2dlc3Rpb25zIG9uIGlucHV0IChp
ZD1pbnB1dElkKSwgb24gYSBmb3JtIChuYW1lPWZvcm1OYW1lKSAqLwpmdW5jdGlv
biBvc19lbmFibGVTdWdnZXN0aW9uc09uKCBpbnB1dElkLCBmb3JtTmFtZSApIHsK
CW9zX2luaXRIYW5kbGVycyggaW5wdXRJZCwgZm9ybU5hbWUsIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCBpbnB1dElkICkgKTsKfQoKLyoqIENhbGwgdGhpcyB0byBk
aXNhYmxlIHN1Z2dlc3Rpb3Mgb24gaW5wdXQgYm94IChpZD1pbnB1dElkKSAqLwpm
dW5jdGlvbiBvc19kaXNhYmxlU3VnZ2VzdGlvbnNPbiggaW5wdXRJZCApIHsKCXIg
PSBvc19tYXBbaW5wdXRJZF07CglpZiggciAhPSBudWxsICkgewoJCS8vIGNhbmNl
bC9oaWRlIHJlc3VsdHMKCQlvc190aW1lciA9IG51bGw7CgkJb3NfaGlkZVJlc3Vs
dHMoIHIgKTsKCQkvLyB0dXJuIGF1dG9jb21wbGV0ZSBvbiAhCgkJZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIGlucHV0SWQgKS5zZXRBdHRyaWJ1dGUoICdhdXRvY29t
cGxldGUnLCAnb24nICk7CgkJLy8gcmVtb3ZlIGRlc2NyaXB0b3IKCQlvc19tYXBb
aW5wdXRJZF0gPSBudWxsOwoJfQoKCS8vIFJlbW92ZSB0aGUgZWxlbWVudCBmcm9t
IHRoZSBvc19hdXRvbG9hZF8qIGFycmF5cwoJdmFyIGluZGV4ID0gb3NfYXV0b2xv
YWRfaW5wdXRzLmluZGV4T2YoIGlucHV0SWQgKTsKCWlmICggaW5kZXggPj0gMCAp
IHsKCQlvc19hdXRvbG9hZF9pbnB1dHNbaW5kZXhdID0gb3NfYXV0b2xvYWRfZm9y
bXNbaW5kZXhdID0gJyc7Cgl9Cn0KCi8qKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioKICogRGl2LW9ubHkgZnVuY3Rpb25zIChp
cnJlbGV2YW50IGZvciBkYXRhbGlzdCkKICoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKi8KCi8qKiBFdmVudDogbG9zcyBvZiBm
b2N1cyBvZiBpbnB1dCBib3ggKi8KZnVuY3Rpb24gb3NfZXZlbnRCbHVyKCBlICkg
ewoJdmFyIHRhcmcgPSBvc19nZXRUYXJnZXQoIGUgKTsKCXZhciByID0gb3NfbWFw
W3RhcmcuaWRdOwoJaWYoIHIgPT0gbnVsbCApIHsKCQlyZXR1cm47IC8vIG5vdCBv
dXIgZXZlbnQKCX0KCWlmKCAhb3NfbW91c2VfcHJlc3NlZCApIHsKCQlvc19oaWRl
UmVzdWx0cyggciApOwoJCS8vIGZvcmNlIGNhbnZhcyB0byBzdGF5IGhpZGRlbgoJ
CXIuc3RheUhpZGRlbiA9IHRydWU7CgkJLy8gY2FuY2VsIGFueSBwZW5kaW5nIGZl
dGNoZXMKCQlpZiggb3NfdGltZXIgIT0gbnVsbCAmJiBvc190aW1lci5pZCAhPSBu
dWxsICkgewoJCQljbGVhclRpbWVvdXQoIG9zX3RpbWVyLmlkICk7CgkJfQoJCW9z
X3RpbWVyID0gbnVsbDsKCX0KfQoKLyoqIEV2ZW50OiBmb2N1cyAoY2F0Y2ggb25s
eSB3aGVuIHN0b3BwZWQpICovCmZ1bmN0aW9uIG9zX2V2ZW50Rm9jdXMoIGUgKSB7
Cgl2YXIgdGFyZyA9IG9zX2dldFRhcmdldCggZSApOwoJdmFyIHIgPSBvc19tYXBb
dGFyZy5pZF07CglpZiggciA9PSBudWxsICkgewoJCXJldHVybjsgLy8gbm90IG91
ciBldmVudAoJfQoJci5zdGF5SGlkZGVuID0gZmFsc2U7Cn0KCi8qKgogKiBDcmVh
dGUgYW5kIHBvcHVsYXRlIGEgPGRpdj4sIGZvciBub24tPGRhdGFsaXN0Pi1zdXBw
b3J0aW5nIGJyb3dzZXJzLgogKgogKiBAcGFyYW0gciAgICAgICBvc19SZXN1bHQg
b2JqZWN0CiAqIEBwYXJhbSByZXN1bHRzIEFycmF5IG9mIHRoZSBuZXcgcmVzdWx0
cyB0byByZXBsYWNlIGV4aXN0aW5nIG9uZXMKICovCmZ1bmN0aW9uIG9zX3NldHVw
RGl2KCByLCByZXN1bHRzICkgewoJdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCggci5jb250YWluZXIgKTsKCWlmICggYyA9PSBudWxsICkgewoJCWMgPSBv
c19jcmVhdGVDb250YWluZXIoIHIgKTsKCX0KCWMuaW5uZXJIVE1MID0gb3NfY3Jl
YXRlUmVzdWx0VGFibGUoIHIsIHJlc3VsdHMgKTsKCS8vIGluaXQgY29udGFpbmVy
IHRhYmxlIHNpemVzCgl2YXIgdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCBy
LnJlc3VsdFRhYmxlICk7CglyLmNvbnRhaW5lclRvdGFsID0gdC5vZmZzZXRIZWln
aHQ7CglyLmNvbnRhaW5lclJvdyA9IHQub2Zmc2V0SGVpZ2h0IC8gci5yZXN1bHRD
b3VudDsKCW9zX2ZpdENvbnRhaW5lciggciApOwoJb3NfdHJpbVJlc3VsdFRleHQo
IHIgKTsKCW9zX3Nob3dSZXN1bHRzKCByICk7Cn0KCi8qKiBDcmVhdGUgdGhlIHJl
c3VsdCB0YWJsZSB0byBiZSBwbGFjZWQgaW4gdGhlIGNvbnRhaW5lciBkaXYgKi8K
ZnVuY3Rpb24gb3NfY3JlYXRlUmVzdWx0VGFibGUoIHIsIHJlc3VsdHMgKSB7Cgl2
YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLmNvbnRhaW5lciApOwoJ
dmFyIHdpZHRoID0gYy5vZmZzZXRXaWR0aCAtIG9zX29wZXJhV2lkdGhGaXgoIGMu
b2Zmc2V0V2lkdGggKTsKCXZhciBodG1sID0gJzx0YWJsZSBjbGFzcz0ib3Mtc3Vn
Z2VzdC1yZXN1bHRzIiBpZD0iJyArIHIucmVzdWx0VGFibGUgKyAnIiBzdHlsZT0i
d2lkdGg6ICcgKyB3aWR0aCArICdweDsiPic7CglyLnJlc3VsdHMgPSBuZXcgQXJy
YXkoKTsKCXIucmVzdWx0Q291bnQgPSByZXN1bHRzLmxlbmd0aDsKCWZvciggaSA9
IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrICkgewoJCXZhciB0aXRsZSA9IG9z
X2RlY29kZVZhbHVlKCByZXN1bHRzW2ldICk7CgkJci5yZXN1bHRzW2ldID0gdGl0
bGU7CgkJaHRtbCArPSAnPHRyPjx0ZCBjbGFzcz0ib3Mtc3VnZ2VzdC1yZXN1bHQi
IGlkPSInICsgci5yZXN1bHRUYWJsZSArIGkgKyAnIj48c3BhbiBpZD0iJyArIHIu
cmVzdWx0VGV4dCArIGkgKyAnIj4nICsgdGl0bGUgKyAnPC9zcGFuPjwvdGQ+PC90
cj4nOwoJfQoJaHRtbCArPSAnPC90YWJsZT4nOwoJcmV0dXJuIGh0bWw7Cn0KCi8q
KiBTaG93IHJlc3VsdHMgZGl2ICovCmZ1bmN0aW9uIG9zX3Nob3dSZXN1bHRzKCBy
ICkgewoJaWYoIG9zX2lzX3N0b3BwZWQgKSB7CgkJcmV0dXJuOwoJfQoJaWYoIHIu
c3RheUhpZGRlbiApIHsKCQlyZXR1cm47Cgl9Cglvc19maXRDb250YWluZXIoIHIg
KTsKCXZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIHIuY29udGFpbmVy
ICk7CglyLnNlbGVjdGVkID0gLTE7CglpZiggYyAhPSBudWxsICkgewoJCWMuc2Ny
b2xsVG9wID0gMDsKCQljLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7CgkJ
ci52aXNpYmxlID0gdHJ1ZTsKCX0KfQoKZnVuY3Rpb24gb3Nfb3BlcmFXaWR0aEZp
eCggeCApIHsKCS8vIEZvciBicm93c2VycyB0aGF0IGRvbid0IHVuZGVyc3RhbmQg
b3ZlcmZsb3cteCwgZXN0aW1hdGUgc2Nyb2xsYmFyIHdpZHRoCglpZiggdHlwZW9m
IGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3dYICE9ICdzdHJpbmcnICkgewoJ
CXJldHVybiAzMDsKCX0KCXJldHVybiAwOwp9CgovKiogQnJvd2VyLWRlcGVuZGVu
dCBmdW5jdGlvbnMgdG8gZmluZCB3aW5kb3cgaW5uZXIgc2l6ZSwgYW5kIHNjcm9s
bCBzdGF0dXMgKi8KZnVuY3Rpb24gZl9jbGllbnRXaWR0aCgpIHsKCXJldHVybiBm
X2ZpbHRlclJlc3VsdHMoCgkJd2luZG93LmlubmVyV2lkdGggPyB3aW5kb3cuaW5u
ZXJXaWR0aCA6IDAsCgkJZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1l
bnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDogMCwKCQlkb2N1bWVudC5i
b2R5ID8gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCA6IDAKCSk7Cn0KCmZ1bmN0
aW9uIGZfY2xpZW50SGVpZ2h0KCkgewoJcmV0dXJuIGZfZmlsdGVyUmVzdWx0cygK
CQl3aW5kb3cuaW5uZXJIZWlnaHQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiAwLAoJ
CWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5jbGllbnRIZWlnaHQgOiAwLAoJCWRvY3VtZW50LmJvZHkgPyBkb2N1bWVu
dC5ib2R5LmNsaWVudEhlaWdodCA6IDAKCSk7Cn0KCmZ1bmN0aW9uIGZfc2Nyb2xs
TGVmdCgpIHsKCXJldHVybiBmX2ZpbHRlclJlc3VsdHMoCgkJd2luZG93LnBhZ2VY
T2Zmc2V0ID8gd2luZG93LnBhZ2VYT2Zmc2V0IDogMCwKCQlkb2N1bWVudC5kb2N1
bWVudEVsZW1lbnQgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVm
dCA6IDAsCgkJZG9jdW1lbnQuYm9keSA/IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVm
dCA6IDAKCSk7Cn0KCmZ1bmN0aW9uIGZfc2Nyb2xsVG9wKCkgewoJcmV0dXJuIGZf
ZmlsdGVyUmVzdWx0cygKCQl3aW5kb3cucGFnZVlPZmZzZXQgPyB3aW5kb3cucGFn
ZVlPZmZzZXQgOiAwLAoJCWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA/IGRvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgOiAwLAoJCWRvY3VtZW50LmJv
ZHkgPyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA6IDAKCSk7Cn0KCmZ1bmN0aW9u
IGZfZmlsdGVyUmVzdWx0cyggbl93aW4sIG5fZG9jZWwsIG5fYm9keSApIHsKCXZh
ciBuX3Jlc3VsdCA9IG5fd2luID8gbl93aW4gOiAwOwoJaWYgKCBuX2RvY2VsICYm
ICggIW5fcmVzdWx0IHx8ICggbl9yZXN1bHQgPiBuX2RvY2VsICkgKSApIHsKCQlu
X3Jlc3VsdCA9IG5fZG9jZWw7Cgl9CglyZXR1cm4gbl9ib2R5ICYmICggIW5fcmVz
dWx0IHx8ICggbl9yZXN1bHQgPiBuX2JvZHkgKSApID8gbl9ib2R5IDogbl9yZXN1
bHQ7Cn0KCi8qKiBHZXQgdGhlIGhlaWdodCBhdmFpbGFibGUgZm9yIHRoZSByZXN1
bHRzIGNvbnRhaW5lciAqLwpmdW5jdGlvbiBvc19hdmFpbGFibGVIZWlnaHQoIHIg
KSB7Cgl2YXIgYWJzVG9wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIHIuY29u
dGFpbmVyICkuc3R5bGUudG9wOwoJdmFyIHB4ID0gYWJzVG9wLmxhc3RJbmRleE9m
KCAncHgnICk7CglpZiggcHggPiAwICkgewoJCWFic1RvcCA9IGFic1RvcC5zdWJz
dHJpbmcoIDAsIHB4ICk7Cgl9CglyZXR1cm4gZl9jbGllbnRIZWlnaHQoKSAtICgg
YWJzVG9wIC0gZl9zY3JvbGxUb3AoKSApOwp9CgovKiogR2V0IGVsZW1lbnQgYWJz
b2x1dGUgcG9zaXRpb24ge2xlZnQsdG9wfSAqLwpmdW5jdGlvbiBvc19nZXRFbGVt
ZW50UG9zaXRpb24oIGVsZW1JRCApIHsKCXZhciBvZmZzZXRUcmFpbCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCBlbGVtSUQgKTsKCXZhciBvZmZzZXRMZWZ0ID0g
MDsKCXZhciBvZmZzZXRUb3AgPSAwOwoJd2hpbGUgKCBvZmZzZXRUcmFpbCApIHsK
CQlvZmZzZXRMZWZ0ICs9IG9mZnNldFRyYWlsLm9mZnNldExlZnQ7CgkJb2Zmc2V0
VG9wICs9IG9mZnNldFRyYWlsLm9mZnNldFRvcDsKCQlvZmZzZXRUcmFpbCA9IG9m
ZnNldFRyYWlsLm9mZnNldFBhcmVudDsKCX0KCWlmICggbmF2aWdhdG9yLnVzZXJB
Z2VudC5pbmRleE9mKCdNYWMnKSAhPSAtMSAmJiB0eXBlb2YgZG9jdW1lbnQuYm9k
eS5sZWZ0TWFyZ2luICE9ICd1bmRlZmluZWQnICkgewoJCW9mZnNldExlZnQgKz0g
ZG9jdW1lbnQuYm9keS5sZWZ0TWFyZ2luOwoJCW9mZnNldFRvcCArPSBkb2N1bWVu
dC5ib2R5LnRvcE1hcmdpbjsKCX0KCXJldHVybiB7IGxlZnQ6b2Zmc2V0TGVmdCwg
dG9wOm9mZnNldFRvcCB9Owp9CgovKiogQ3JlYXRlIHRoZSBjb250YWluZXIgZGl2
IHRoYXQgd2lsbCBob2xkIHRoZSBzdWdnZXN0ZWQgdGl0bGVzICovCmZ1bmN0aW9u
IG9zX2NyZWF0ZUNvbnRhaW5lciggciApIHsKCXZhciBjID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCggJ2RpdicgKTsKCXZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIHIuc2VhcmNoYm94ICk7Cgl2YXIgcG9zID0gb3NfZ2V0RWxlbWVudFBv
c2l0aW9uKCByLnNlYXJjaGJveCApOwoJdmFyIGxlZnQgPSBwb3MubGVmdDsKCXZh
ciB0b3AgPSBwb3MudG9wICsgcy5vZmZzZXRIZWlnaHQ7CgljLmNsYXNzTmFtZSA9
ICdvcy1zdWdnZXN0JzsKCWMuc2V0QXR0cmlidXRlKCAnaWQnLCByLmNvbnRhaW5l
ciApOwoJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCggYyApOwoKCS8vIGR5bmFt
aWNhbGx5IGdlbmVyYXRlZCBzdHlsZSBwYXJhbXMKCS8vIElFIHdvcmthcm91bmQs
IGNhbm5vdCBleHBsaWNpdGVseSBzZXQgInN0eWxlIiBhdHRyaWJ1dGUKCWMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCggci5jb250YWluZXIgKTsKCWMuc3R5bGUu
dG9wID0gdG9wICsgJ3B4JzsKCWMuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOwoJ
Yy5zdHlsZS53aWR0aCA9IHMub2Zmc2V0V2lkdGggKyAncHgnOwoKCS8vIG1vdXNl
IGV2ZW50IGhhbmRsZXJzCgljLm9ubW91c2VvdmVyID0gZnVuY3Rpb24oIGV2ZW50
ICkgeyBvc19ldmVudE1vdXNlb3Zlciggci5zZWFyY2hib3gsIGV2ZW50ICk7IH07
CgljLm9ubW91c2Vtb3ZlID0gZnVuY3Rpb24oIGV2ZW50ICkgeyBvc19ldmVudE1v
dXNlbW92ZSggci5zZWFyY2hib3gsIGV2ZW50ICk7IH07CgljLm9ubW91c2Vkb3du
ID0gZnVuY3Rpb24oIGV2ZW50ICkgeyByZXR1cm4gb3NfZXZlbnRNb3VzZWRvd24o
IHIuc2VhcmNoYm94LCBldmVudCApOyB9OwoJYy5vbm1vdXNldXAgPSBmdW5jdGlv
biggZXZlbnQgKSB7IG9zX2V2ZW50TW91c2V1cCggci5zZWFyY2hib3gsIGV2ZW50
ICk7IH07CglyZXR1cm4gYzsKfQoKLyoqIGNoYW5nZSBjb250YWluZXIgaGVpZ2h0
IHRvIGZpdCB0byBzY3JlZW4gKi8KZnVuY3Rpb24gb3NfZml0Q29udGFpbmVyKCBy
ICkgewoJdmFyIGMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggci5jb250YWlu
ZXIgKTsKCXZhciBoID0gb3NfYXZhaWxhYmxlSGVpZ2h0KCByICkgLSAyMDsKCXZh
ciBpbmMgPSByLmNvbnRhaW5lclJvdzsKCWggPSBwYXJzZUludCggaCAvIGluYyAp
ICogaW5jOwoJaWYoIGggPCAoIDIgKiBpbmMgKSAmJiByLnJlc3VsdENvdW50ID4g
MSApIHsgLy8gbWluOiB0d28gcmVzdWx0cwoJCWggPSAyICogaW5jOwoJfQoJaWYo
ICggaCAvIGluYyApID4gb3NfbWF4X2xpbmVzX3Blcl9zdWdnZXN0ICkgewoJCWgg
PSBpbmMgKiBvc19tYXhfbGluZXNfcGVyX3N1Z2dlc3Q7Cgl9CglpZiggaCA8IHIu
Y29udGFpbmVyVG90YWwgKSB7CgkJYy5zdHlsZS5oZWlnaHQgPSBoICsgJ3B4JzsK
CQlyLmNvbnRhaW5lckNvdW50ID0gcGFyc2VJbnQoIE1hdGgucm91bmQoIGggLyBp
bmMgKSApOwoJfSBlbHNlIHsKCQljLnN0eWxlLmhlaWdodCA9IHIuY29udGFpbmVy
VG90YWwgKyAncHgnOwoJCXIuY29udGFpbmVyQ291bnQgPSByLnJlc3VsdENvdW50
OwoJfQp9CgovKiogSWYgc29tZSBlbnRyaWVzIGFyZSBsb25nZXIgdGhhbiB0aGUg
Ym94LCByZXBsYWNlIHRleHQgd2l0aCAiLi4uIiAqLwpmdW5jdGlvbiBvc190cmlt
UmVzdWx0VGV4dCggciApIHsKCS8vIGZpbmQgbWF4IHdpZHRoLCBmaXJzdCBzZWUg
aWYgd2UgY291bGQgZXhwYW5kIHRoZSBjb250YWluZXIgdG8gZml0IGl0Cgl2YXIg
bWF4VyA9IDA7Cglmb3IoIHZhciBpID0gMDsgaSA8IHIucmVzdWx0Q291bnQ7IGkr
KyApIHsKCQl2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLnJlc3Vs
dFRleHQgKyBpICk7CgkJaWYoIGUub2Zmc2V0V2lkdGggPiBtYXhXICkgewoJCQlt
YXhXID0gZS5vZmZzZXRXaWR0aDsKCQl9Cgl9Cgl2YXIgdyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCByLmNvbnRhaW5lciApLm9mZnNldFdpZHRoOwoJdmFyIGZp
eCA9IDA7CglpZiggci5jb250YWluZXJDb3VudCA8IHIucmVzdWx0Q291bnQgKSB7
CgkJZml4ID0gMjA7IC8vIGdpdmUgMjBweCBmb3Igc2Nyb2xsYmFyCgl9IGVsc2Ug
ewoJCWZpeCA9IG9zX29wZXJhV2lkdGhGaXgoIHcgKTsKCX0KCWlmKCBmaXggPCA0
ICkgewoJCWZpeCA9IDQ7IC8vIGJhc2ljIHBhZGRpbmcKCX0KCW1heFcgKz0gZml4
OwoKCS8vIHJlc2l6ZSBjb250YWluZXIgdG8gZml0IG1vcmUgZGF0YSBpZiBwZXJt
aXR0ZWQKCXZhciBub3JtVyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLnNl
YXJjaGJveCApLm9mZnNldFdpZHRoOwoJdmFyIHByb3AgPSBtYXhXIC8gbm9ybVc7
CglpZiggcHJvcCA+IG9zX2NvbnRhaW5lcl9tYXhfd2lkdGggKSB7CgkJcHJvcCA9
IG9zX2NvbnRhaW5lcl9tYXhfd2lkdGg7Cgl9IGVsc2UgaWYoIHByb3AgPCAxICkg
ewoJCXByb3AgPSAxOwoJfQoJdmFyIG5ld1cgPSBNYXRoLnJvdW5kKCBub3JtVyAq
IHByb3AgKTsKCWlmKCB3ICE9IG5ld1cgKSB7CgkJdyA9IG5ld1c7CgkJaWYoIG9z
X2FuaW1hdGlvbl90aW1lciAhPSBudWxsICkgewoJCQljbGVhckludGVydmFsKCBv
c19hbmltYXRpb25fdGltZXIuaWQgKTsKCQl9CgkJb3NfYW5pbWF0aW9uX3RpbWVy
ID0gbmV3IG9zX0FuaW1hdGlvblRpbWVyKCByLCB3ICk7CgkJb3NfYW5pbWF0aW9u
X3RpbWVyLmlkID0gc2V0SW50ZXJ2YWwoICJvc19hbmltYXRlQ2hhbmdlV2lkdGgo
KSIsIG9zX2FuaW1hdGlvbl9kZWxheSApOwoJCXcgLT0gZml4OyAvLyB0aGlzIG11
Y2ggaXMgcmVzZXJ2ZWQKCX0KCgkvLyB0cmltIHJlc3VsdHMKCWlmKCB3IDwgMTAg
KSB7CgkJcmV0dXJuOwoJfQoJZm9yKCB2YXIgaSA9IDA7IGkgPCByLnJlc3VsdENv
dW50OyBpKysgKSB7CgkJdmFyIGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgg
ci5yZXN1bHRUZXh0ICsgaSApOwoJCXZhciByZXBsYWNlID0gMTsKCQl2YXIgbGFz
dFcgPSBlLm9mZnNldFdpZHRoICsgMTsKCQl2YXIgaXRlcmF0aW9uID0gMDsKCQl2
YXIgY2hhbmdlZFRleHQgPSBmYWxzZTsKCQl3aGlsZSggZS5vZmZzZXRXaWR0aCA+
IHcgJiYgKCBlLm9mZnNldFdpZHRoIDwgbGFzdFcgfHwgaXRlcmF0aW9uIDwgMiAp
ICkgewoJCQljaGFuZ2VkVGV4dCA9IHRydWU7CgkJCWxhc3RXID0gZS5vZmZzZXRX
aWR0aDsKCQkJdmFyIGwgPSBlLmlubmVySFRNTDsKCQkJZS5pbm5lckhUTUwgPSBs
LnN1YnN0cmluZyggMCwgbC5sZW5ndGggLSByZXBsYWNlICkgKyAnLi4uJzsKCQkJ
aXRlcmF0aW9uKys7CgkJCXJlcGxhY2UgPSA0OyAvLyBob3cgbWFueSBjaGFycyB0
byByZXBsYWNlCgkJfQoJCWlmKCBjaGFuZ2VkVGV4dCApIHsKCQkJLy8gc2hvdyBo
aW50IGZvciB0cmltbWVkIHRpdGxlcwoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCggci5yZXN1bHRUYWJsZSArIGkgKS5zZXRBdHRyaWJ1dGUoICd0aXRsZScsIHIu
cmVzdWx0c1tpXSApOwoJCX0KCX0KfQoKLyoqIEludm9rZWQgb24gdGltZXIgdG8g
YW5pbWF0ZSBjaGFuZ2UgaW4gY29udGFpbmVyIHdpZHRoICovCmZ1bmN0aW9uIG9z
X2FuaW1hdGVDaGFuZ2VXaWR0aCgpIHsKCXZhciByID0gb3NfYW5pbWF0aW9uX3Rp
bWVyLnI7Cgl2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLmNvbnRh
aW5lciApOwoJdmFyIHcgPSBjLm9mZnNldFdpZHRoOwoJdmFyIG5vcm1XID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIHIuc2VhcmNoYm94ICkub2Zmc2V0V2lkdGg7
Cgl2YXIgbm9ybUwgPSBvc19nZXRFbGVtZW50UG9zaXRpb24oIHIuc2VhcmNoYm94
ICkubGVmdDsKCXZhciBpbmMgPSBvc19hbmltYXRpb25fdGltZXIuaW5jOwoJdmFy
IHRhcmdldCA9IG9zX2FuaW1hdGlvbl90aW1lci50YXJnZXQ7Cgl2YXIgbncgPSB3
ICsgaW5jOwoJaWYoICggaW5jID4gMCAmJiBudyA+PSB0YXJnZXQgKSB8fCAoIGlu
YyA8PSAwICYmIG53IDw9IHRhcmdldCApICkgewoJCS8vIGZpbmlzaGVkICEKCQlj
LnN0eWxlLndpZHRoID0gdGFyZ2V0ICsgJ3B4JzsKCQljbGVhckludGVydmFsKCBv
c19hbmltYXRpb25fdGltZXIuaWQgKTsKCQlvc19hbmltYXRpb25fdGltZXIgPSBu
dWxsOwoJfSBlbHNlIHsKCQkvLyBpbi1wcm9ncmVzcwoJCWMuc3R5bGUud2lkdGgg
PSBudyArICdweCc7CgkJaWYoIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kaXIg
PT0gJ3J0bCcgKSB7CgkJCWMuc3R5bGUubGVmdCA9ICggbm9ybUwgKyBub3JtVyAr
ICggdGFyZ2V0IC0gbncgKSAtIG9zX2FuaW1hdGlvbl90aW1lci50YXJnZXQgLSAx
ICkgKyAncHgnOwoJCX0KCX0KfQoKLyoqIENoYW5nZSB0aGUgaGlnaGxpZ2h0ZWQg
cm93IChpLmUuIHN1Z2dlc3Rpb24pLCBmcm9tIHBvc2l0aW9uIGN1ciB0byBuZXh0
ICovCmZ1bmN0aW9uIG9zX2NoYW5nZUhpZ2hsaWdodCggciwgY3VyLCBuZXh0LCB1
cGRhdGVTZWFyY2hCb3ggKSB7CglpZiAoIG5leHQgPj0gci5yZXN1bHRDb3VudCAp
IHsKCQluZXh0ID0gci5yZXN1bHRDb3VudCAtIDE7Cgl9CglpZiAoIG5leHQgPCAt
MSApIHsKCQluZXh0ID0gLTE7Cgl9CglyLnNlbGVjdGVkID0gbmV4dDsKCWlmICgg
Y3VyID09IG5leHQgKSB7CgkJcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgoJfQoK
CWlmKCBjdXIgPj0gMCApIHsKCQl2YXIgY3VyUm93ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIHIucmVzdWx0VGFibGUgKyBjdXIgKTsKCQlpZiggY3VyUm93ICE9
IG51bGwgKSB7CgkJCWN1clJvdy5jbGFzc05hbWUgPSAnb3Mtc3VnZ2VzdC1yZXN1
bHQnOwoJCX0KCX0KCXZhciBuZXdUZXh0OwoJaWYoIG5leHQgPj0gMCApIHsKCQl2
YXIgbmV4dFJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLnJlc3VsdFRh
YmxlICsgbmV4dCApOwoJCWlmKCBuZXh0Um93ICE9IG51bGwgKSB7CgkJCW5leHRS
b3cuY2xhc3NOYW1lID0gb3NfSGlnaGxpZ2h0Q2xhc3MoKTsKCQl9CgkJbmV3VGV4
dCA9IHIucmVzdWx0c1tuZXh0XTsKCX0gZWxzZSB7CgkJbmV3VGV4dCA9IHIub3Jp
Z2luYWw7Cgl9CgoJLy8gYWRqdXN0IHRoZSBzY3JvbGxiYXIgaWYgYW55CglpZigg
ci5jb250YWluZXJDb3VudCA8IHIucmVzdWx0Q291bnQgKSB7CgkJdmFyIGMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCggci5jb250YWluZXIgKTsKCQl2YXIgdlN0
YXJ0ID0gYy5zY3JvbGxUb3AgLyByLmNvbnRhaW5lclJvdzsKCQl2YXIgdkVuZCA9
IHZTdGFydCArIHIuY29udGFpbmVyQ291bnQ7CgkJaWYoIG5leHQgPCB2U3RhcnQg
KSB7CgkJCWMuc2Nyb2xsVG9wID0gbmV4dCAqIHIuY29udGFpbmVyUm93OwoJCX0g
ZWxzZSBpZiggbmV4dCA+PSB2RW5kICkgewoJCQljLnNjcm9sbFRvcCA9ICggbmV4
dCAtIHIuY29udGFpbmVyQ291bnQgKyAxICkgKiByLmNvbnRhaW5lclJvdzsKCQl9
Cgl9CgoJLy8gdXBkYXRlIHRoZSBjb250ZW50cyBvZiB0aGUgc2VhcmNoIGJveAoJ
aWYoIHVwZGF0ZVNlYXJjaEJveCApIHsKCQlvc191cGRhdGVTZWFyY2hRdWVyeSgg
ciwgbmV3VGV4dCApOwoJfQp9CgpmdW5jdGlvbiBvc19IaWdobGlnaHRDbGFzcygp
IHsKCXZhciBtYXRjaCA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FwcGxl
V2ViS2l0XC8oXGQrKS8pOwoJaWYgKCBtYXRjaCApIHsKCQl2YXIgd2ViS2l0VmVy
c2lvbiA9IHBhcnNlSW50KCBtYXRjaFsxXSApOwoJCWlmICggd2ViS2l0VmVyc2lv
biA8IDUyMyApIHsKCQkJLy8gQ1NTIHN5c3RlbSBoaWdobGlnaHQgY29sb3JzIGJy
b2tlbiBvbiBvbGQgU2FmYXJpCgkJCS8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MTI5CgkJCS8vIFNhZmFyaSAzLjAuNCwgMy4xIGtu
b3duIG9rCgkJCXJldHVybiAnb3Mtc3VnZ2VzdC1yZXN1bHQtaGwtd2Via2l0JzsK
CQl9Cgl9CglyZXR1cm4gJ29zLXN1Z2dlc3QtcmVzdWx0LWhsJzsKfQoKZnVuY3Rp
b24gb3NfdXBkYXRlU2VhcmNoUXVlcnkoIHIsIG5ld1RleHQgKSB7Cglkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCggci5zZWFyY2hib3ggKS52YWx1ZSA9IG5ld1RleHQ7
CglyLnF1ZXJ5ID0gbmV3VGV4dDsKfQoKCi8qKioqKioqKioqKioqKioqKioqKgog
KiAgTW91c2UgZXZlbnRzCiAqKioqKioqKioqKioqKioqKioqKi8KCi8qKiBNb3Vz
ZSBvdmVyIHRoZSBjb250YWluZXIgKi8KZnVuY3Rpb24gb3NfZXZlbnRNb3VzZW92
ZXIoIHNyY0lkLCBlICkgewoJdmFyIHRhcmcgPSBvc19nZXRUYXJnZXQoIGUgKTsK
CXZhciByID0gb3NfbWFwW3NyY0lkXTsKCWlmKCByID09IG51bGwgfHwgIW9zX21v
dXNlX21vdmVkICkgewoJCXJldHVybjsgLy8gbm90IG91ciBldmVudAoJfQoJdmFy
IG51bSA9IG9zX2dldE51bWJlclN1ZmZpeCggdGFyZy5pZCApOwoJaWYoIG51bSA+
PSAwICkgewoJCW9zX2NoYW5nZUhpZ2hsaWdodCggciwgci5zZWxlY3RlZCwgbnVt
LCBmYWxzZSApOwoJfQp9CgovKiBHZXQgcm93IHdoZXJlIHRoZSBldmVudCBvY2N1
cmVkIChmcm9tIGl0cyBpZCkgKi8KZnVuY3Rpb24gb3NfZ2V0TnVtYmVyU3VmZml4
KCBpZCApIHsKCXZhciBudW0gPSBpZC5zdWJzdHJpbmcoIGlkLmxlbmd0aCAtIDIg
KTsKCWlmKCAhKCBudW0uY2hhckF0KCAwICkgPj0gJzAnICYmIG51bS5jaGFyQXQo
IDAgKSA8PSAnOScgKSApIHsKCQludW0gPSBudW0uc3Vic3RyaW5nKCAxICk7Cgl9
CglpZiggb3NfaXNOdW1iZXIoIG51bSApICkgewoJCXJldHVybiBwYXJzZUludCgg
bnVtICk7Cgl9IGVsc2UgewoJCXJldHVybiAtMTsKCX0KfQoKLyoqIFNhdmUgbW91
c2UgbW92ZSBhcyBsYXN0IGFjdGlvbiAqLwpmdW5jdGlvbiBvc19ldmVudE1vdXNl
bW92ZSggc3JjSWQsIGUgKSB7Cglvc19tb3VzZV9tb3ZlZCA9IHRydWU7Cn0KCi8q
KiBNb3VzZSBidXR0b24gaGVsZCBkb3duLCByZWdpc3RlciBwb3NzaWJsZSBjbGlj
ayAqLwpmdW5jdGlvbiBvc19ldmVudE1vdXNlZG93biggc3JjSWQsIGUgKSB7Cgl2
YXIgdGFyZyA9IG9zX2dldFRhcmdldCggZSApOwoJdmFyIHIgPSBvc19tYXBbc3Jj
SWRdOwoJaWYoIHIgPT0gbnVsbCApIHsKCQlyZXR1cm47IC8vIG5vdCBvdXIgZXZl
bnQKCX0KCXZhciBudW0gPSBvc19nZXROdW1iZXJTdWZmaXgoIHRhcmcuaWQgKTsK
Cglvc19tb3VzZV9wcmVzc2VkID0gdHJ1ZTsKCWlmKCBudW0gPj0gMCApIHsKCQlv
c19tb3VzZV9udW0gPSBudW07CgkJLy8gb3NfdXBkYXRlU2VhcmNoUXVlcnkoIHIs
IHIucmVzdWx0c1tudW1dICk7Cgl9CgkvLyBrZWVwIHRoZSBmb2N1cyBvbiB0aGUg
c2VhcmNoIGZpZWxkCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggci5zZWFyY2hi
b3ggKS5mb2N1cygpOwoKCXJldHVybiBmYWxzZTsgLy8gcHJldmVudHMgc2VsZWN0
aW9uCn0KCi8qKiBNb3VzZSBidXR0b24gcmVsZWFzZWQsIGNoZWNrIGZvciBjbGlj
ayBvbiBzb21lIHJvdyAqLwpmdW5jdGlvbiBvc19ldmVudE1vdXNldXAoIHNyY0lk
LCBlICkgewoJdmFyIHRhcmcgPSBvc19nZXRUYXJnZXQoIGUgKTsKCXZhciByID0g
b3NfbWFwW3NyY0lkXTsKCWlmKCByID09IG51bGwgKSB7CgkJcmV0dXJuOyAvLyBu
b3Qgb3VyIGV2ZW50Cgl9Cgl2YXIgbnVtID0gb3NfZ2V0TnVtYmVyU3VmZml4KCB0
YXJnLmlkICk7CgoJaWYoIG51bSA+PSAwICYmIG9zX21vdXNlX251bSA9PSBudW0g
KSB7CgkJb3NfdXBkYXRlU2VhcmNoUXVlcnkoIHIsIHIucmVzdWx0c1tudW1dICk7
CgkJb3NfaGlkZVJlc3VsdHMoIHIgKTsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCggci5zZWFyY2hmb3JtICkuc3VibWl0KCk7Cgl9Cglvc19tb3VzZV9wcmVzc2Vk
ID0gZmFsc2U7CgkvLyBrZWVwIHRoZSBmb2N1cyBvbiB0aGUgc2VhcmNoIGZpZWxk
Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggci5zZWFyY2hib3ggKS5mb2N1cygp
Owp9CgovKiogVG9nZ2xlIHN0dWZmIHNlZW1zIHRvIGJlIGRlYWQgY29kZT8gKi8K
Ci8qKiBSZXR1cm4gdGhlIHNwYW4gZWxlbWVudCB0aGF0IGNvbnRhaW5zIHRoZSB0
b2dnbGUgbGluayAqLwpmdW5jdGlvbiBvc19jcmVhdGVUb2dnbGUoIHIsIGNsYXNz
TmFtZSApIHsKCXZhciB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ3NwYW4n
ICk7Cgl0LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKCXQuc2V0QXR0cmlidXRlKCAn
aWQnLCByLnRvZ2dsZSApOwoJdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCAnYScgKTsKCWxpbmsuc2V0QXR0cmlidXRlKCAnaHJlZicsICdqYXZhc2Ny
aXB0OnZvaWQoMCk7JyApOwoJbGluay5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IG9z
X3RvZ2dsZSggci5zZWFyY2hib3gsIHIuc2VhcmNoZm9ybSApOyB9OwoJdmFyIG1z
ZyA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCB3Z01XU3VnZ2VzdE1lc3NhZ2Vz
WzBdICk7CglsaW5rLmFwcGVuZENoaWxkKCBtc2cgKTsKCXQuYXBwZW5kQ2hpbGQo
IGxpbmsgKTsKCXJldHVybiB0Owp9CgovKiogQ2FsbCB3aGVuIHVzZXIgY2xpY2tz
IG9uIHNvbWUgb2YgdGhlIHRvZ2dsZSBsaW5rcyAqLwpmdW5jdGlvbiBvc190b2dn
bGUoIGlucHV0SWQsIGZvcm1OYW1lICkgewoJciA9IG9zX21hcFtpbnB1dElkXTsK
CXZhciBtc2cgPSAnJzsKCWlmKCByID09IG51bGwgKSB7CgkJb3NfZW5hYmxlU3Vn
Z2VzdGlvbnNPbiggaW5wdXRJZCwgZm9ybU5hbWUgKTsKCQlyID0gb3NfbWFwW2lu
cHV0SWRdOwoJCW1zZyA9IHdnTVdTdWdnZXN0TWVzc2FnZXNbMF07Cgl9IGVsc2V7
CgkJb3NfZGlzYWJsZVN1Z2dlc3Rpb25zT24oIGlucHV0SWQsIGZvcm1OYW1lICk7
CgkJbXNnID0gd2dNV1N1Z2dlc3RNZXNzYWdlc1sxXTsKCX0KCS8vIGNoYW5nZSBt
ZXNzYWdlCgl2YXIgbGluayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCByLnRv
Z2dsZSApLmZpcnN0Q2hpbGQ7CglsaW5rLnJlcGxhY2VDaGlsZCggZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoIG1zZyApLCBsaW5rLmZpcnN0Q2hpbGQgKTsKfQoKaG9v
a0V2ZW50KCAnbG9hZCcsIG9zX01XU3VnZ2VzdEluaXQgKTsK
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=MobileRedirect.js
Content-Type: application/x-javascript; name=MobileRedirect.js
Content-Location: http://bits.wikimedia.org/w/extensions/WikimediaMobile/MobileR
edirect.js?2.2
Content-Transfer-Encoding: Base64
LyoqIE1vYmlsZSBSZWRpcmVjdCBIZWxwZXIKICoKICogIFJlZGlyZWN0cyB0byBh
IHdpa2ltZWRpYS1tb2JpbGUgaW5zdGFsbGF0aW9uIGZvciB2aWV3ZXJzIG9uIGlQ
aG9uZSwgaVBvZCAKICogIFRvdWNoLCBQYWxtIFByZSwgYW5kIEFuZHJvaWQgZGV2
aWNlcy4KICoKICogIFlvdSBjYW4gdHVybiBvZmYgdGhlIHJlZGlyZWN0IGJ5IHNl
dHRpbmcgdGhlIGNvb2tpZSAic3RvcE1vYmlsZVJlZGlyZWN0PXRydWUiCiAqLwpp
ZiAoIC8oQW5kcm9pZHxpUGhvbmV8aVBvZHx3ZWJPU3xOZXRGcm9udHxPcGVyYSBN
aW5pfFNFTUMtQnJvd3NlcnxQbGF5U3RhdGlvbiBQb3J0YWJsZXxOaW50ZW5kbyBX
aWl8QmxhY2tCZXJyeSkvCgkudGVzdCggbmF2aWdhdG9yLnVzZXJBZ2VudCApICkK
ewoJKGZ1bmN0aW9uICgpIHsKCQlmdW5jdGlvbiBoYXZlU3RvcENvb2tpZSgpIHsK
CQkJcmV0dXJuIChkb2N1bWVudC5jb29raWUuaW5kZXhPZigic3RvcE1vYmlsZVJl
ZGlyZWN0PXRydWUiKSA+PSAwKTsKCQl9CgoJCWZ1bmN0aW9uIGdldE1vYmlsZVVy
bCgpIHsKCQkJdmFyIG1haW5QYWdlID0gd2dNYWluUGFnZVRpdGxlLnJlcGxhY2Uo
LyAvZywgJ18nKTsKCQkJdmFyIHVybCA9IHdnV2lraW1lZGlhTW9iaWxlVXJsICsg
Jy8nOwoJCQlpZiAod2dQYWdlTmFtZSA9PSBtYWluUGFnZSkgewoJCQkJdXJsICs9
ICc6OkhvbWUnOyAvLyBTcGVjaWFsIGNhc2UKCQkJfSBlbHNlIHsKCQkJCXVybCAr
PSBlbmNvZGVVUklDb21wb25lbnQod2dQYWdlTmFtZSkucmVwbGFjZSgnJTJGJywn
LycpLnJlcGxhY2UoJyUzQScsJzonKTsKCQkJfQoJCQl1cmwgKz0gJz93YXNSZWRp
cmVjdGVkPXRydWUnOwoJCQlyZXR1cm4gdXJsOwoJCX0KCgkJLy8gRG9uJ3QgcmVk
aXJlY3QgaWYgd2UgaGF2ZSB0aGUgc3RvcCBjb29raWUKCQlpZiAoaGF2ZVN0b3BD
b29raWUoKSkgcmV0dXJuOwoKCQkvLyBEb24ndCByZWRpcmVjdCBzcGVjaWFsIHBh
Z2VzCgkJaWYgKHdnTmFtZXNwYWNlTnVtYmVyIDwgMCkgcmV0dXJuOwoKCQkvLyBE
b24ndCByZWRpcmVjdCBVUkxzIHRoYXQgYXJlbid0IHNpbXBsZSBwYWdlIHZpZXdz
CgkJaWYgKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCAmJiBkb2N1bWVudC5sb2Nh
dGlvbi5zZWFyY2gubGVuZ3RoID4gMCkgewoJCQl2YXIgcGFyYW1zID0gZG9jdW1l
bnQubG9jYXRpb24uc2VhcmNoLnN1YnN0cigxKS5zcGxpdCgnJicpOwoJCQlmb3Ig
KHZhciBpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGg7IGkrKykgewoJCQkJdmFyIHBh
cmFtUGFydHMgPSBwYXJhbXNbaV0uc3BsaXQoJz0nKTsKCQkJCWlmIChwYXJhbVBh
cnRzLmxlbmd0aCAmJiBwYXJhbVBhcnRzWzBdICE9ICd0aXRsZScpIHsKCQkJCQly
ZXR1cm47CgkJCQl9CgkJCX0KCQl9CgoJCWRvY3VtZW50LmxvY2F0aW9uID0gZ2V0
TW9iaWxlVXJsKCk7Cgl9KSgpOwp9Cg==
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=plugins.combined.min.js
Content-Type: application/x-javascript; name=plugins.combined.min.js
Content-Location: http://bits.wikimedia.org/w/extensions/UsabilityInitiative/js/
plugins.combined.min.js?283s
Content-Transfer-Encoding: Base64
CmlmKHR5cGVvZiBtdz09J3VuZGVmaW5lZCcpe213PXt9O30KbXcudXNhYmlsaXR5
PXsnbWVzc2FnZXMnOnt9fQptdy51c2FiaWxpdHkubG9hZD1mdW5jdGlvbihkZXBz
LGNhbGxiYWNrKXt2YXIgbmVlZEpVST1mYWxzZTtmb3IodmFyIGk9MDtpPGRlcHMu
bGVuZ3RoJiYhbmVlZEpVSTtpKyspe2lmKGRlcHNbaV09PSckai51aScpe25lZWRK
VUk9dHJ1ZTt9fQppZihuZWVkSlVJJiZ0eXBlb2YgJGoudWk9PSd1bmRlZmluZWQn
KXskai5nZXRTY3JpcHQod2dTY3JpcHRQYXRoKycvZXh0ZW5zaW9ucy9Vc2FiaWxp
dHlJbml0aWF0aXZlL2pzL2pzMnN0b3BnYXAvanVpLmNvbWJpbmVkLm1pbi5qcycs
Y2FsbGJhY2spO31lbHNle2NhbGxiYWNrKCk7fX07bXcudXNhYmlsaXR5LmFkZE1l
c3NhZ2VzPWZ1bmN0aW9uKG1lc3NhZ2VzKXtmb3IodmFyIGtleSBpbiBtZXNzYWdl
cyl7dGhpcy5tZXNzYWdlc1trZXldPW1lc3NhZ2VzW2tleV07fX07bXcudXNhYmls
aXR5LmdldE1zZz1mdW5jdGlvbihrZXksYXJncyl7aWYoIShrZXkgaW4gdGhpcy5t
ZXNzYWdlcykpe3JldHVybidbJytrZXkrJ10nO30KdmFyIG1zZz10aGlzLm1lc3Nh
Z2VzW2tleV07aWYodHlwZW9mIGFyZ3M9PSdvYmplY3QnfHx0eXBlb2YgYXJncz09
J2FycmF5Jyl7Zm9yKHZhciBhcmdLZXkgaW4gYXJncyl7bXNnPW1zZy5yZXBsYWNl
KCdcJCcrKHBhcnNlSW50KGFyZ0tleSkrMSksYXJnc1thcmdLZXldKTt9fWVsc2Ug
aWYodHlwZW9mIGFyZ3M9PSdzdHJpbmcnfHx0eXBlb2YgYXJncz09J251bWJlcicp
e21zZz1tc2cucmVwbGFjZSgnJDEnLGFyZ3MpO30KcmV0dXJuIG1zZzt9O213LnVz
YWJpbGl0eS50ZXN0QnJvd3Nlcj1mdW5jdGlvbihtYXApe3ZhciBicm93c2VyPW1h
cFskaignYm9keScpLmlzKCcucnRsJyk/J3J0bCc6J2x0ciddWyRqLmJyb3dzZXIu
bmFtZV07aWYodHlwZW9mIGJyb3dzZXI9PSdib29sZWFuJyl7cmV0dXJuIGJyb3dz
ZXI7fQppZih0eXBlb2YgYnJvd3NlciE9PSdvYmplY3QnKXtyZXR1cm4gdHJ1ZTt9
CmZvcih2YXIgY29uZGl0aW9uIGluIGJyb3dzZXIpe3ZhciBvcD1icm93c2VyW2Nv
bmRpdGlvbl1bMF07dmFyIHZhbD1icm93c2VyW2NvbmRpdGlvbl1bMV07aWYodmFs
PT09ZmFsc2Upe3JldHVybiBmYWxzZTt9ZWxzZSBpZih0eXBlb2YgdmFsPT0nc3Ry
aW5nJyl7aWYoIShldmFsKCckai5icm93c2VyLnZlcnNpb24nK29wKyciJyt2YWwr
JyInKSkpe3JldHVybiBmYWxzZTt9fWVsc2UgaWYodHlwZW9mIHZhbD09J251bWJl
cicpe2lmKCEoZXZhbCgnJGouYnJvd3Nlci52ZXJzaW9uTnVtYmVyJytvcCt2YWwp
KSl7cmV0dXJuIGZhbHNlO319fQpyZXR1cm4gdHJ1ZTt9O213LnVzYWJpbGl0eS5n
ZXRNYXhUYWJJbmRleD1mdW5jdGlvbigpe3ZhciBtYXhUST0wOyRqKCdbdGFiaW5k
ZXhdJykuZWFjaChmdW5jdGlvbigpe3ZhciB0aT1wYXJzZUludCgkaih0aGlzKS5h
dHRyKCd0YWJpbmRleCcpKTtpZih0aT5tYXhUSSl7bWF4VEk9dGk7fX0pO3JldHVy
biBtYXhUSTt9OyhmdW5jdGlvbigkKXskLndoaWxlQXN5bmM9ZnVuY3Rpb24ob3B0
cykKe3ZhciBkZWxheT1NYXRoLmFicyhvcHRzLmRlbGF5KXx8MTAsYnVsaz1pc05h
TihvcHRzLmJ1bGspPzUwMDpNYXRoLmFicyhvcHRzLmJ1bGspLHRlc3Q9b3B0cy50
ZXN0fHxmdW5jdGlvbigpe3JldHVybiB0cnVlO30sbG9vcD1vcHRzLmxvb3B8fGZ1
bmN0aW9uKCl7fSxlbmQ9b3B0cy5lbmR8fGZ1bmN0aW9uKCl7fTsoZnVuY3Rpb24o
KXt2YXIgdD1mYWxzZSxiZWdpbj1uZXcgRGF0ZSgpO3doaWxlKHQ9dGVzdCgpKQp7
bG9vcCgpO2lmKGJ1bGs9PT0wfHwobmV3IERhdGUoKS1iZWdpbik+YnVsaykKe2Jy
ZWFrO319CmlmKHQpCntzZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxsZWUsZGVsYXkp
O30KZWxzZQp7ZW5kKCk7fX0pKCk7fQokLmVhY2hBc3luYz1mdW5jdGlvbihhcnJh
eSxvcHRzKQp7dmFyIGk9MCxsPWFycmF5Lmxlbmd0aCxsb29wPW9wdHMubG9vcHx8
ZnVuY3Rpb24oKXt9OyQud2hpbGVBc3luYygkLmV4dGVuZChvcHRzLHt0ZXN0OmZ1
bmN0aW9uKCl7cmV0dXJuIGk8bDt9LGxvb3A6ZnVuY3Rpb24oKQp7dmFyIHZhbD1h
cnJheVtpXTtyZXR1cm4gbG9vcC5jYWxsKHZhbCxpKyssdmFsKTt9fSkpO30KJC5m
bi5lYWNoQXN5bmM9ZnVuY3Rpb24ob3B0cykKeyQuZWFjaEFzeW5jKHRoaXMsb3B0
cyk7cmV0dXJuIHRoaXM7fX0pKGpRdWVyeSk7KGZ1bmN0aW9uKCQpe3ZhciBjYWNo
ZT17fTt2YXIgbWF0Y2hUZXh0Q2FjaGU9e307JC5mbi5hdXRvRWxsaXBzaXM9ZnVu
Y3Rpb24ob3B0aW9ucyl7b3B0aW9ucz0kLmV4dGVuZCh7J3Bvc2l0aW9uJzonY2Vu
dGVyJywndG9vbHRpcCc6ZmFsc2UsJ3Jlc3RvcmVUZXh0JzpmYWxzZSwnaGFzU3Bh
bic6ZmFsc2UsJ21hdGNoVGV4dCc6bnVsbH0sb3B0aW9ucyk7JCh0aGlzKS5lYWNo
KGZ1bmN0aW9uKCl7dmFyICR0aGlzPSQodGhpcyk7aWYob3B0aW9ucy5yZXN0b3Jl
VGV4dCl7aWYoISR0aGlzLmRhdGEoJ2F1dG9FbGxpcHNpcy5vcmlnaW5hbFRleHQn
KSl7JHRoaXMuZGF0YSgnYXV0b0VsbGlwc2lzLm9yaWdpbmFsVGV4dCcsJHRoaXMu
dGV4dCgpKTt9ZWxzZXskdGhpcy50ZXh0KCR0aGlzLmRhdGEoJ2F1dG9FbGxpcHNp
cy5vcmlnaW5hbFRleHQnKSk7fX0KdmFyICRjb250YWluZXI9JHRoaXM7dmFyICR0
cmltbWFibGVUZXh0PW51bGw7dmFyICRwcm90ZWN0ZWRUZXh0PW51bGw7aWYob3B0
aW9ucy5oYXNTcGFuKXskdHJpbW1hYmxlVGV4dD0kdGhpcy5jaGlsZHJlbihvcHRp
b25zLnNlbGVjdG9yKTt9ZWxzZXskdHJpbW1hYmxlVGV4dD0kKCc8c3BhbiAvPicp
LmNzcygnd2hpdGVTcGFjZScsJ25vd3JhcCcpLnRleHQoJHRoaXMudGV4dCgpKTsk
dGhpcy5lbXB0eSgpLmFwcGVuZCgkdHJpbW1hYmxlVGV4dCk7fQp2YXIgdGV4dD0k
Y29udGFpbmVyLnRleHQoKTt2YXIgdHJpbW1hYmxlVGV4dD0kdHJpbW1hYmxlVGV4
dC50ZXh0KCk7dmFyIHc9JGNvbnRhaW5lci53aWR0aCgpO3ZhciBwdz0kcHJvdGVj
dGVkVGV4dD8kcHJvdGVjdGVkVGV4dC53aWR0aCgpOjA7aWYoISh0ZXh0IGluIGNh
Y2hlKSl7Y2FjaGVbdGV4dF09e307fQppZihvcHRpb25zLm1hdGNoVGV4dCYmISh0
ZXh0IGluIG1hdGNoVGV4dENhY2hlKSl7bWF0Y2hUZXh0Q2FjaGVbdGV4dF09e307
fQppZihvcHRpb25zLm1hdGNoVGV4dCYmIShvcHRpb25zLm1hdGNoVGV4dCBpbiBt
YXRjaFRleHRDYWNoZVt0ZXh0XSkpe21hdGNoVGV4dENhY2hlW3RleHRdW29wdGlv
bnMubWF0Y2hUZXh0XT17fTt9CmlmKCFvcHRpb25zLm1hdGNoVGV4dCYmdyBpbiBj
YWNoZVt0ZXh0XSl7JGNvbnRhaW5lci5odG1sKGNhY2hlW3RleHRdW3ddKTtpZihv
cHRpb25zLnRvb2x0aXApCiRjb250YWluZXIuYXR0cigndGl0bGUnLHRleHQpO3Jl
dHVybjt9CmlmKG9wdGlvbnMubWF0Y2hUZXh0JiZvcHRpb25zLm1hdGNoVGV4dCBp
biBtYXRjaFRleHRDYWNoZVt0ZXh0XSYmdyBpbiBtYXRjaFRleHRDYWNoZVt0ZXh0
XVtvcHRpb25zLm1hdGNoVGV4dF0peyRjb250YWluZXIuaHRtbChtYXRjaFRleHRD
YWNoZVt0ZXh0XVtvcHRpb25zLm1hdGNoVGV4dF1bd10pO2lmKG9wdGlvbnMudG9v
bHRpcCkKJGNvbnRhaW5lci5hdHRyKCd0aXRsZScsdGV4dCk7cmV0dXJuO30KaWYo
JHRyaW1tYWJsZVRleHQud2lkdGgoKStwdz53KXtzd2l0Y2gob3B0aW9ucy5wb3Np
dGlvbil7Y2FzZSdyaWdodCc6dmFyIGw9MCxyPXRyaW1tYWJsZVRleHQubGVuZ3Ro
O2Rve3ZhciBtPU1hdGguY2VpbCgobCtyKS8yKTskdHJpbW1hYmxlVGV4dC50ZXh0
KHRyaW1tYWJsZVRleHQuc3Vic3RyKDAsbSkrJy4uLicpO2lmKCR0cmltbWFibGVU
ZXh0LndpZHRoKCkrcHc+dyl7cj1tLTE7fWVsc2V7bD1tO319d2hpbGUobDxyKTsk
dHJpbW1hYmxlVGV4dC50ZXh0KHRyaW1tYWJsZVRleHQuc3Vic3RyKDAsbCkrJy4u
LicpO2JyZWFrO2Nhc2UnY2VudGVyJzp2YXIgaT1bTWF0aC5yb3VuZCh0cmltbWFi
bGVUZXh0Lmxlbmd0aC8yKSxNYXRoLnJvdW5kKHRyaW1tYWJsZVRleHQubGVuZ3Ro
LzIpXTt2YXIgc2lkZT0xO3doaWxlKCR0cmltbWFibGVUZXh0Lm91dGVyV2lkdGgo
KStwdz53JiZpWzBdPjApeyR0cmltbWFibGVUZXh0LnRleHQodHJpbW1hYmxlVGV4
dC5zdWJzdHIoMCxpWzBdKSsnLi4uJyt0cmltbWFibGVUZXh0LnN1YnN0cihpWzFd
KSk7aWYoc2lkZT09MCl7aVswXS0tO3NpZGU9MTt9ZWxzZXtpWzFdKys7c2lkZT0w
O319CmJyZWFrO2Nhc2UnbGVmdCc6dmFyIHI9MDt3aGlsZSgkdHJpbW1hYmxlVGV4
dC5vdXRlcldpZHRoKCkrcHc+dyYmcjx0cmltbWFibGVUZXh0Lmxlbmd0aCl7JHRy
aW1tYWJsZVRleHQudGV4dCgnLi4uJyt0cmltbWFibGVUZXh0LnN1YnN0cihyKSk7
cisrO30KYnJlYWs7fX0KaWYob3B0aW9ucy50b29sdGlwKXskY29udGFpbmVyLmF0
dHIoJ3RpdGxlJyx0ZXh0KTt9CmlmKG9wdGlvbnMubWF0Y2hUZXh0KXskY29udGFp
bmVyLmhpZ2hsaWdodFRleHQob3B0aW9ucy5tYXRjaFRleHQpO21hdGNoVGV4dENh
Y2hlW3RleHRdW29wdGlvbnMubWF0Y2hUZXh0XVt3XT0kY29udGFpbmVyLmh0bWwo
KTt9ZWxzZXtjYWNoZVt0ZXh0XVt3XT0kY29udGFpbmVyLmh0bWwoKTt9fSk7fTt9
KShqUXVlcnkpOyhmdW5jdGlvbigkKXskLmJyb3dzZXJUZXN0PWZ1bmN0aW9uKGEs
eil7dmFyIHU9J3Vua25vd24nLHg9J1gnLG09ZnVuY3Rpb24ocixoKXtmb3IodmFy
IGk9MDtpPGgubGVuZ3RoO2k9aSsxKXtyPXIucmVwbGFjZShoW2ldWzBdLGhbaV1b
MV0pO30KcmV0dXJuIHI7fSxjPWZ1bmN0aW9uKGksYSxiLGMpe3ZhciByPXtuYW1l
Om0oKGEuZXhlYyhpKXx8W3UsdV0pWzFdLGIpfTtyW3IubmFtZV09dHJ1ZTtyLnZl
cnNpb249KGMuZXhlYyhpKXx8W3gseCx4LHhdKVszXTtpZihyLm5hbWUubWF0Y2go
L3NhZmFyaS8pJiZyLnZlcnNpb24+NDAwKXtyLnZlcnNpb249JzIuMCc7fQppZihy
Lm5hbWU9PT0ncHJlc3RvJyl7ci52ZXJzaW9uPSgkLmJyb3dzZXIudmVyc2lvbj45
LjI3KT8nZnV0aGFyayc6J2xpbmVhcl9iJzt9CmlmKHIubmFtZT09PSdvcGVyYScm
JiQuYnJvd3Nlci52ZXJzaW9uPj05Ljgpe3IudmVyc2lvbj1pLm1hdGNoKC92ZXJz
aW9uXC8oWzAtOVwuXSopL2kpWzFdfHwxMDt9CnIudmVyc2lvbk51bWJlcj1wYXJz
ZUZsb2F0KHIudmVyc2lvbiwxMCl8fDA7ci52ZXJzaW9uWD0oci52ZXJzaW9uIT09
eCk/KHIudmVyc2lvbisnJykuc3Vic3RyKDAsMSk6eDtyLmNsYXNzTmFtZT1yLm5h
bWUrci52ZXJzaW9uWDtyZXR1cm4gcjt9O2E9KGEubWF0Y2goL09wZXJhfE5hdmln
YXRvcnxNaW5lZmllbGR8S0hUTUx8Q2hyb21lfFBMQVlTVEFUSU9OIDMvKT9tKGEs
W1svKEZpcmVmb3h8TVNJRXxLSFRNTCxcc2xpa2Vcc0dlY2tvfEtvbnF1ZXJvcikv
LCcnXSxbJ0Nocm9tZSBTYWZhcmknLCdDaHJvbWUnXSxbJ0tIVE1MJywnS29ucXVl
cm9yJ10sWydNaW5lZmllbGQnLCdGaXJlZm94J10sWydOYXZpZ2F0b3InLCdOZXRz
Y2FwZSddLFsnUExBWVNUQVRJT04gMycsJ1BTMyddXSk6YSkudG9Mb3dlckNhc2Uo
KTskLmJyb3dzZXI9JC5leHRlbmQoKCF6KT8kLmJyb3dzZXI6e30sYyhhLC8oY2Ft
aW5vfGNocm9tZXxmaXJlZm94fG5ldHNjYXBlfGtvbnF1ZXJvcnxseW54fG1zaWV8
b3BlcmF8c2FmYXJpfGlwb2R8aXBob25lfGJsYWNrYmVycnl8cHMzfGRvY29tbykv
LFtdLC8oY2FtaW5vfGNocm9tZXxmaXJlZm94fG5ldHNjYXBlfG5ldHNjYXBlNnxv
cGVyYXx2ZXJzaW9ufGtvbnF1ZXJvcnxseW54fG1zaWV8c2FmYXJpfHBzMykoXC98
XDs/XHN8KShbYS16MC05XC5cK10qPykoXDt8ZGV2fHJlbHxcKXxcc3wkKS8pKTsk
LmxheW91dD1jKGEsLyhnZWNrb3xrb25xdWVyb3J8bXNpZXxvcGVyYXx3ZWJraXQp
LyxbWydrb25xdWVyb3InLCdraHRtbCddLFsnbXNpZScsJ3RyaWRlbnQnXSxbJ29w
ZXJhJywncHJlc3RvJ11dLC8oYXBwbGV3ZWJraXR8cnZ8a29ucXVlcm9yfG1zaWUp
KFw6fFwvfFxzKShbYS16MC05XC5dKj8pKFw7fFwpfFxzKS8pOyQub3M9e25hbWU6
KC8od2lufG1hY3xsaW51eHxzdW5vc3xzb2xhcmlzfGlwaG9uZSkvLmV4ZWMobmF2
aWdhdG9yLnBsYXRmb3JtLnRvTG93ZXJDYXNlKCkpfHxbdV0pWzBdLnJlcGxhY2Uo
J3N1bm9zJywnc29sYXJpcycpfTtpZigheil7JCgnaHRtbCcpLmFkZENsYXNzKFsk
Lm9zLm5hbWUsJC5icm93c2VyLm5hbWUsJC5icm93c2VyLmNsYXNzTmFtZSwkLmxh
eW91dC5uYW1lLCQubGF5b3V0LmNsYXNzTmFtZV0uam9pbignICcpKTt9fTskLmJy
b3dzZXJUZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO30pKGpRdWVyeSk7KGZ1bmN0
aW9uKCQpeyQuZm4uY29sbGFwc2libGVUYWJzPWZ1bmN0aW9uKCQkb3B0aW9ucyl7
aWYoIXRoaXMubGVuZ3RoKXJldHVybiB0aGlzO3ZhciAkc2V0dGluZ3M9JC5leHRl
bmQoe30sJC5jb2xsYXBzaWJsZVRhYnMuZGVmYXVsdHMsJCRvcHRpb25zKTt0aGlz
LmVhY2goZnVuY3Rpb24oKXt2YXIgJHRoaXM9JCh0aGlzKTskLmNvbGxhcHNpYmxl
VGFicy5pbnN0YW5jZXM9KCQuY29sbGFwc2libGVUYWJzLmluc3RhbmNlcy5sZW5n
dGg9PTA/JHRoaXM6JC5jb2xsYXBzaWJsZVRhYnMuaW5zdGFuY2VzLmFkZCgkdGhp
cykpOyR0aGlzLmRhdGEoJ2NvbGxhcHNpYmxlVGFic1NldHRpbmdzJywkc2V0dGlu
Z3MpOyR0aGlzLmNoaWxkcmVuKCRzZXR0aW5ncy5jb2xsYXBzaWJsZSkuZWFjaChm
dW5jdGlvbigpeyQuY29sbGFwc2libGVUYWJzLmFkZERhdGEoJCh0aGlzKSk7fSk7
fSk7aWYoISQuY29sbGFwc2libGVUYWJzLmJvdW5kRXZlbnQpeyQod2luZG93KS5k
ZWxheWVkQmluZCgnNTAwJywncmVzaXplJyxmdW5jdGlvbigpeyQuY29sbGFwc2li
bGVUYWJzLmhhbmRsZVJlc2l6ZSgpO30pO30KJC5jb2xsYXBzaWJsZVRhYnMuaGFu
ZGxlUmVzaXplKCk7cmV0dXJuIHRoaXM7fTskLmNvbGxhcHNpYmxlVGFicz17aW5z
dGFuY2VzOltdLGJvdW5kRXZlbnQ6bnVsbCxkZWZhdWx0czp7ZXhwYW5kZWRDb250
YWluZXI6JyNwLXZpZXdzIHVsJyxjb2xsYXBzZWRDb250YWluZXI6JyNwLWNhY3Rp
b25zIHVsJyxjb2xsYXBzaWJsZTonbGkuY29sbGFwc2libGUnLHNoaWZ0aW5nOmZh
bHNlLGV4cGFuZENvbmRpdGlvbjpmdW5jdGlvbihlbGVXaWR0aCl7cmV0dXJuKCQo
JyNsZWZ0LW5hdmlnYXRpb24nKS5wb3NpdGlvbigpLmxlZnQrJCgnI2xlZnQtbmF2
aWdhdGlvbicpLndpZHRoKCkpPCgkKCcjcmlnaHQtbmF2aWdhdGlvbicpLnBvc2l0
aW9uKCkubGVmdC1lbGVXaWR0aCk7fSxjb2xsYXBzZUNvbmRpdGlvbjpmdW5jdGlv
bigpe3JldHVybigkKCcjbGVmdC1uYXZpZ2F0aW9uJykucG9zaXRpb24oKS5sZWZ0
KyQoJyNsZWZ0LW5hdmlnYXRpb24nKS53aWR0aCgpKT4kKCcjcmlnaHQtbmF2aWdh
dGlvbicpLnBvc2l0aW9uKCkubGVmdDt9fSxhZGREYXRhOmZ1bmN0aW9uKCRjb2xs
YXBzaWJsZSl7dmFyICRzZXR0aW5ncz0kY29sbGFwc2libGUucGFyZW50KCkuZGF0
YSgnY29sbGFwc2libGVUYWJzU2V0dGluZ3MnKTskY29sbGFwc2libGUuZGF0YSgn
Y29sbGFwc2libGVUYWJzU2V0dGluZ3MnLHsnZXhwYW5kZWRDb250YWluZXInOiRz
ZXR0aW5ncy5leHBhbmRlZENvbnRhaW5lciwnY29sbGFwc2VkQ29udGFpbmVyJzok
c2V0dGluZ3MuY29sbGFwc2VkQ29udGFpbmVyLCdleHBhbmRlZFdpZHRoJzokY29s
bGFwc2libGUud2lkdGgoKSwncHJldkVsZW1lbnQnOiRjb2xsYXBzaWJsZS5wcmV2
KCl9KTt9LGdldFNldHRpbmdzOmZ1bmN0aW9uKCRjb2xsYXBzaWJsZSl7dmFyICRz
ZXR0aW5ncz0kY29sbGFwc2libGUuZGF0YSgnY29sbGFwc2libGVUYWJzU2V0dGlu
Z3MnKTtpZih0eXBlb2YgJHNldHRpbmdzPT0ndW5kZWZpbmVkJyl7JC5jb2xsYXBz
aWJsZVRhYnMuYWRkRGF0YSgkY29sbGFwc2libGUpOyRzZXR0aW5ncz0kY29sbGFw
c2libGUuZGF0YSgnY29sbGFwc2libGVUYWJzU2V0dGluZ3MnKTt9CnJldHVybiAk
c2V0dGluZ3M7fSxoYW5kbGVSZXNpemU6ZnVuY3Rpb24oZSl7JC5jb2xsYXBzaWJs
ZVRhYnMuaW5zdGFuY2VzLmVhY2goZnVuY3Rpb24oKXt2YXIgJHRoaXM9JCh0aGlz
KSxkYXRhPSQuY29sbGFwc2libGVUYWJzLmdldFNldHRpbmdzKCR0aGlzKTtpZihk
YXRhLnNoaWZ0aW5nKXJldHVybjtpZigkdGhpcy5jaGlsZHJlbihkYXRhLmNvbGxh
cHNpYmxlKS5sZW5ndGg+MCYmZGF0YS5jb2xsYXBzZUNvbmRpdGlvbigpKXskdGhp
cy50cmlnZ2VyKCJiZWZvcmVUYWJDb2xsYXBzZSIpOyQuY29sbGFwc2libGVUYWJz
Lm1vdmVUb0NvbGxhcHNlZCgkdGhpcy5jaGlsZHJlbihkYXRhLmNvbGxhcHNpYmxl
Kyc6bGFzdCcpKTt9CmlmKCQoZGF0YS5jb2xsYXBzZWRDb250YWluZXIrJyAnK2Rh
dGEuY29sbGFwc2libGUpLmxlbmd0aD4wJiZkYXRhLmV4cGFuZENvbmRpdGlvbigk
LmNvbGxhcHNpYmxlVGFicy5nZXRTZXR0aW5ncygkKGRhdGEuY29sbGFwc2VkQ29u
dGFpbmVyKS5jaGlsZHJlbihkYXRhLmNvbGxhcHNpYmxlKyI6Zmlyc3QiKSkuZXhw
YW5kZWRXaWR0aCkpeyR0aGlzLnRyaWdnZXIoImJlZm9yZVRhYkV4cGFuZCIpOyQu
Y29sbGFwc2libGVUYWJzLm1vdmVUb0V4cGFuZGVkKGRhdGEuY29sbGFwc2VkQ29u
dGFpbmVyKyIgIitkYXRhLmNvbGxhcHNpYmxlKyc6Zmlyc3QnKTt9fSk7fSxtb3Zl
VG9Db2xsYXBzZWQ6ZnVuY3Rpb24oZWxlKXt2YXIgJG1vdmluZz0kKGVsZSk7dmFy
IGRhdGE9JC5jb2xsYXBzaWJsZVRhYnMuZ2V0U2V0dGluZ3MoJG1vdmluZyk7dmFy
IGRhdGFFeHA9JC5jb2xsYXBzaWJsZVRhYnMuZ2V0U2V0dGluZ3MoZGF0YS5leHBh
bmRlZENvbnRhaW5lcik7ZGF0YUV4cC5zaGlmdGluZz10cnVlOyRtb3ZpbmcucmVt
b3ZlKCkucHJlcGVuZFRvKGRhdGEuY29sbGFwc2VkQ29udGFpbmVyKS5kYXRhKCdj
b2xsYXBzaWJsZVRhYnNTZXR0aW5ncycsZGF0YSk7ZGF0YUV4cC5zaGlmdGluZz1m
YWxzZTskLmNvbGxhcHNpYmxlVGFicy5oYW5kbGVSZXNpemUoKTt9LG1vdmVUb0V4
cGFuZGVkOmZ1bmN0aW9uKGVsZSl7dmFyICRtb3Zpbmc9JChlbGUpO3ZhciBkYXRh
PSQuY29sbGFwc2libGVUYWJzLmdldFNldHRpbmdzKCRtb3ZpbmcpO3ZhciBkYXRh
RXhwPSQuY29sbGFwc2libGVUYWJzLmdldFNldHRpbmdzKGRhdGEuZXhwYW5kZWRD
b250YWluZXIpO2RhdGFFeHAuc2hpZnRpbmc9dHJ1ZTskbW92aW5nLnJlbW92ZSgp
Lmluc2VydEFmdGVyKGRhdGEucHJldkVsZW1lbnQpLmRhdGEoJ2NvbGxhcHNpYmxl
VGFic1NldHRpbmdzJyxkYXRhKTtkYXRhRXhwLnNoaWZ0aW5nPWZhbHNlOyQuY29s
bGFwc2libGVUYWJzLmhhbmRsZVJlc2l6ZSgpO319O30pKGpRdWVyeSk7KGZ1bmN0
aW9uKGpRdWVyeSl7alF1ZXJ5LmVhY2goWydiYWNrZ3JvdW5kQ29sb3InLCdib3Jk
ZXJCb3R0b21Db2xvcicsJ2JvcmRlckxlZnRDb2xvcicsJ2JvcmRlclJpZ2h0Q29s
b3InLCdib3JkZXJUb3BDb2xvcicsJ2NvbG9yJywnb3V0bGluZUNvbG9yJ10sZnVu
Y3Rpb24oaSxhdHRyKXtqUXVlcnkuZnguc3RlcFthdHRyXT1mdW5jdGlvbihmeCl7
aWYoZnguc3RhdGU9PTApe2Z4LnN0YXJ0PWdldENvbG9yKGZ4LmVsZW0sYXR0cik7
ZnguZW5kPWdldFJHQihmeC5lbmQpO30KZnguZWxlbS5zdHlsZVthdHRyXT0icmdi
KCIrW01hdGgubWF4KE1hdGgubWluKHBhcnNlSW50KChmeC5wb3MqKGZ4LmVuZFsw
XS1meC5zdGFydFswXSkpK2Z4LnN0YXJ0WzBdKSwyNTUpLDApLE1hdGgubWF4KE1h
dGgubWluKHBhcnNlSW50KChmeC5wb3MqKGZ4LmVuZFsxXS1meC5zdGFydFsxXSkp
K2Z4LnN0YXJ0WzFdKSwyNTUpLDApLE1hdGgubWF4KE1hdGgubWluKHBhcnNlSW50
KChmeC5wb3MqKGZ4LmVuZFsyXS1meC5zdGFydFsyXSkpK2Z4LnN0YXJ0WzJdKSwy
NTUpLDApXS5qb2luKCIsIikrIikiO319KTtmdW5jdGlvbiBnZXRSR0IoY29sb3Ip
e3ZhciByZXN1bHQ7aWYoY29sb3ImJmNvbG9yLmNvbnN0cnVjdG9yPT1BcnJheSYm
Y29sb3IubGVuZ3RoPT0zKQpyZXR1cm4gY29sb3I7aWYocmVzdWx0PS9yZ2JcKFxz
KihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEs
M30pXHMqXCkvLmV4ZWMoY29sb3IpKQpyZXR1cm5bcGFyc2VJbnQocmVzdWx0WzFd
KSxwYXJzZUludChyZXN1bHRbMl0pLHBhcnNlSW50KHJlc3VsdFszXSldO2lmKHJl
c3VsdD0vcmdiXChccyooWzAtOV0rKD86XC5bMC05XSspPylcJVxzKixccyooWzAt
OV0rKD86XC5bMC05XSspPylcJVxzKixccyooWzAtOV0rKD86XC5bMC05XSspPylc
JVxzKlwpLy5leGVjKGNvbG9yKSkKcmV0dXJuW3BhcnNlRmxvYXQocmVzdWx0WzFd
KSoyLjU1LHBhcnNlRmxvYXQocmVzdWx0WzJdKSoyLjU1LHBhcnNlRmxvYXQocmVz
dWx0WzNdKSoyLjU1XTtpZihyZXN1bHQ9LyMoW2EtZkEtRjAtOV17Mn0pKFthLWZB
LUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkvLmV4ZWMoY29sb3IpKQpyZXR1cm5b
cGFyc2VJbnQocmVzdWx0WzFdLDE2KSxwYXJzZUludChyZXN1bHRbMl0sMTYpLHBh
cnNlSW50KHJlc3VsdFszXSwxNildO2lmKHJlc3VsdD0vIyhbYS1mQS1GMC05XSko
W2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKS8uZXhlYyhjb2xvcikpCnJldHVybltw
YXJzZUludChyZXN1bHRbMV0rcmVzdWx0WzFdLDE2KSxwYXJzZUludChyZXN1bHRb
Ml0rcmVzdWx0WzJdLDE2KSxwYXJzZUludChyZXN1bHRbM10rcmVzdWx0WzNdLDE2
KV07cmV0dXJuIGNvbG9yc1tqUXVlcnkudHJpbShjb2xvcikudG9Mb3dlckNhc2Uo
KV07fQpmdW5jdGlvbiBnZXRDb2xvcihlbGVtLGF0dHIpe3ZhciBjb2xvcjtkb3tj
b2xvcj1qUXVlcnkuY3VyQ1NTKGVsZW0sYXR0cik7aWYoY29sb3IhPScnJiZjb2xv
ciE9J3RyYW5zcGFyZW50J3x8alF1ZXJ5Lm5vZGVOYW1lKGVsZW0sImJvZHkiKSkK
YnJlYWs7YXR0cj0iYmFja2dyb3VuZENvbG9yIjt9d2hpbGUoZWxlbT1lbGVtLnBh
cmVudE5vZGUpO3JldHVybiBnZXRSR0IoY29sb3IpO307dmFyIGNvbG9ycz17YXF1
YTpbMCwyNTUsMjU1XSxhenVyZTpbMjQwLDI1NSwyNTVdLGJlaWdlOlsyNDUsMjQ1
LDIyMF0sYmxhY2s6WzAsMCwwXSxibHVlOlswLDAsMjU1XSxicm93bjpbMTY1LDQy
LDQyXSxjeWFuOlswLDI1NSwyNTVdLGRhcmtibHVlOlswLDAsMTM5XSxkYXJrY3lh
bjpbMCwxMzksMTM5XSxkYXJrZ3JleTpbMTY5LDE2OSwxNjldLGRhcmtncmVlbjpb
MCwxMDAsMF0sZGFya2toYWtpOlsxODksMTgzLDEwN10sZGFya21hZ2VudGE6WzEz
OSwwLDEzOV0sZGFya29saXZlZ3JlZW46Wzg1LDEwNyw0N10sZGFya29yYW5nZTpb
MjU1LDE0MCwwXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0XSxkYXJrcmVkOlsxMzks
MCwwXSxkYXJrc2FsbW9uOlsyMzMsMTUwLDEyMl0sZGFya3Zpb2xldDpbMTQ4LDAs
MjExXSxmdWNoc2lhOlsyNTUsMCwyNTVdLGdvbGQ6WzI1NSwyMTUsMF0sZ3JlZW46
WzAsMTI4LDBdLGluZGlnbzpbNzUsMCwxMzBdLGtoYWtpOlsyNDAsMjMwLDE0MF0s
bGlnaHRibHVlOlsxNzMsMjE2LDIzMF0sbGlnaHRjeWFuOlsyMjQsMjU1LDI1NV0s
bGlnaHRncmVlbjpbMTQ0LDIzOCwxNDRdLGxpZ2h0Z3JleTpbMjExLDIxMSwyMTFd
LGxpZ2h0cGluazpbMjU1LDE4MiwxOTNdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIy
NF0sbGltZTpbMCwyNTUsMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEy
OCwwLDBdLG5hdnk6WzAsMCwxMjhdLG9saXZlOlsxMjgsMTI4LDBdLG9yYW5nZTpb
MjU1LDE2NSwwXSxwaW5rOlsyNTUsMTkyLDIwM10scHVycGxlOlsxMjgsMCwxMjhd
LHZpb2xldDpbMTI4LDAsMTI4XSxyZWQ6WzI1NSwwLDBdLHNpbHZlcjpbMTkyLDE5
MiwxOTJdLHdoaXRlOlsyNTUsMjU1LDI1NV0seWVsbG93OlsyNTUsMjU1LDBdfTt9
KShqUXVlcnkpO2pRdWVyeS5jb29raWU9ZnVuY3Rpb24obmFtZSx2YWx1ZSxvcHRp
b25zKXtpZih0eXBlb2YgdmFsdWUhPSd1bmRlZmluZWQnKXtvcHRpb25zPW9wdGlv
bnN8fHt9O2lmKHZhbHVlPT09bnVsbCl7dmFsdWU9Jyc7b3B0aW9ucy5leHBpcmVz
PS0xO30KdmFyIGV4cGlyZXM9Jyc7aWYob3B0aW9ucy5leHBpcmVzJiYodHlwZW9m
IG9wdGlvbnMuZXhwaXJlcz09J251bWJlcid8fG9wdGlvbnMuZXhwaXJlcy50b1VU
Q1N0cmluZykpe3ZhciBkYXRlO2lmKHR5cGVvZiBvcHRpb25zLmV4cGlyZXM9PSdu
dW1iZXInKXtkYXRlPW5ldyBEYXRlKCk7ZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGlt
ZSgpKyhvcHRpb25zLmV4cGlyZXMqMjQqNjAqNjAqMTAwMCkpO31lbHNle2RhdGU9
b3B0aW9ucy5leHBpcmVzO30KZXhwaXJlcz0nOyBleHBpcmVzPScrZGF0ZS50b1VU
Q1N0cmluZygpO30KdmFyIHBhdGg9b3B0aW9ucy5wYXRoPyc7IHBhdGg9Jysob3B0
aW9ucy5wYXRoKTonJzt2YXIgZG9tYWluPW9wdGlvbnMuZG9tYWluPyc7IGRvbWFp
bj0nKyhvcHRpb25zLmRvbWFpbik6Jyc7dmFyIHNlY3VyZT1vcHRpb25zLnNlY3Vy
ZT8nOyBzZWN1cmUnOicnO2RvY3VtZW50LmNvb2tpZT1bbmFtZSwnPScsZW5jb2Rl
VVJJQ29tcG9uZW50KHZhbHVlKSxleHBpcmVzLHBhdGgsZG9tYWluLHNlY3VyZV0u
am9pbignJyk7fWVsc2V7dmFyIGNvb2tpZVZhbHVlPW51bGw7aWYoZG9jdW1lbnQu
Y29va2llJiZkb2N1bWVudC5jb29raWUhPScnKXt2YXIgY29va2llcz1kb2N1bWVu
dC5jb29raWUuc3BsaXQoJzsnKTtmb3IodmFyIGk9MDtpPGNvb2tpZXMubGVuZ3Ro
O2krKyl7dmFyIGNvb2tpZT1qUXVlcnkudHJpbShjb29raWVzW2ldKTtpZihjb29r
aWUuc3Vic3RyaW5nKDAsbmFtZS5sZW5ndGgrMSk9PShuYW1lKyc9Jykpe2Nvb2tp
ZVZhbHVlPWRlY29kZVVSSUNvbXBvbmVudChjb29raWUuc3Vic3RyaW5nKG5hbWUu
bGVuZ3RoKzEpKTticmVhazt9fX0KcmV0dXJuIGNvb2tpZVZhbHVlO319OyhmdW5j
dGlvbigkKXtmdW5jdGlvbiBlbmNvZGVFdmVudChldmVudCl7cmV0dXJuIGV2ZW50
LnJlcGxhY2UoLy0vZywnLS0nKS5yZXBsYWNlKC8gL2csJy0nKTt9CiQuZm4uZXh0
ZW5kKHtkZWxheWVkQmluZDpmdW5jdGlvbih0aW1lb3V0LGV2ZW50LGRhdGEsY2Fs
bGJhY2spe3ZhciBlbmNFdmVudD1lbmNvZGVFdmVudChldmVudCk7cmV0dXJuIHRo
aXMuZWFjaChmdW5jdGlvbigpe3ZhciB0aGF0PXRoaXM7aWYoISgkKHRoaXMpLmRh
dGEoJ19kZWxheWVkQmluZEJvdW5kLScrZW5jRXZlbnQrJy0nK3RpbWVvdXQpKSl7
JCh0aGlzKS5kYXRhKCdfZGVsYXllZEJpbmRCb3VuZC0nK2VuY0V2ZW50KyctJyt0
aW1lb3V0LHRydWUpOyQodGhpcykuYmluZChldmVudCxmdW5jdGlvbigpe3ZhciB0
aW1lcklEPSQodGhpcykuZGF0YSgnX2RlbGF5ZWRCaW5kVGltZXJJRC0nK2VuY0V2
ZW50KyctJyt0aW1lb3V0KTtpZih0eXBlb2YgdGltZXJJRCE9J3VuZGVmaW5lZCcp
CmNsZWFyVGltZW91dCh0aW1lcklEKTt0aW1lcklEPXNldFRpbWVvdXQoZnVuY3Rp
b24oKXskKHRoYXQpLnRyaWdnZXIoJ19kZWxheWVkQmluZC0nK2VuY0V2ZW50Kyct
Jyt0aW1lb3V0KTt9LHRpbWVvdXQpOyQodGhpcykuZGF0YSgnX2RlbGF5ZWRCaW5k
VGltZXJJRC0nK2VuY0V2ZW50KyctJyt0aW1lb3V0LHRpbWVySUQpO30pO30KJCh0
aGlzKS5iaW5kKCdfZGVsYXllZEJpbmQtJytlbmNFdmVudCsnLScrdGltZW91dCxk
YXRhLGNhbGxiYWNrKTt9KTt9LGRlbGF5ZWRCaW5kQ2FuY2VsOmZ1bmN0aW9uKHRp
bWVvdXQsZXZlbnQpe3ZhciBlbmNFdmVudD1lbmNvZGVFdmVudChldmVudCk7cmV0
dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0aW1lcklEPSQodGhpcykuZGF0
YSgnX2RlbGF5ZWRCaW5kVGltZXJJRC0nK2VuY0V2ZW50KyctJyt0aW1lb3V0KTtp
Zih0eXBlb2YgdGltZXJJRCE9J3VuZGVmaW5lZCcpCmNsZWFyVGltZW91dCh0aW1l
cklEKTt9KTt9LGRlbGF5ZWRCaW5kVW5iaW5kOmZ1bmN0aW9uKHRpbWVvdXQsZXZl
bnQsY2FsbGJhY2spe3ZhciBlbmNFdmVudD1lbmNvZGVFdmVudChldmVudCk7cmV0
dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpeyQodGhpcykudW5iaW5kKCdfZGVsYXll
ZEJpbmQtJytlbmNFdmVudCsnLScrdGltZW91dCxjYWxsYmFjayk7fSk7fX0pO30p
KGpRdWVyeSk7KGZ1bmN0aW9uKCQpeyQuaGlnaGxpZ2h0VGV4dD17c3BsaXRBbmRI
aWdobGlnaHQ6ZnVuY3Rpb24obm9kZSxwYXQpe3ZhciBwYXRBcnJheT1wYXQuc3Bs
aXQoIiAiKTtmb3IodmFyIGk9MDtpPHBhdEFycmF5Lmxlbmd0aDtpKyspe2lmKHBh
dEFycmF5W2ldLmxlbmd0aD09MCljb250aW51ZTskLmhpZ2hsaWdodFRleHQuaW5u
ZXJIaWdobGlnaHQobm9kZSxwYXRBcnJheVtpXSk7fQpyZXR1cm4gbm9kZTt9LGlu
bmVySGlnaGxpZ2h0OmZ1bmN0aW9uKG5vZGUscGF0KXtpZihub2RlLm5vZGVUeXBl
PT0zKXt2YXIgcG9zPW5vZGUuZGF0YS5zZWFyY2gobmV3IFJlZ0V4cCgiXFxiIitS
ZWdFeHAuZXNjYXBlKHBhdCksImkiKSk7aWYocG9zPj0wKXt2YXIgc3Bhbm5vZGU9
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO3NwYW5ub2RlLmNsYXNzTmFt
ZT0naGlnaGxpZ2h0Jzt2YXIgbWlkZGxlYml0PW5vZGUuc3BsaXRUZXh0KHBvcyk7
bWlkZGxlYml0LnNwbGl0VGV4dChwYXQubGVuZ3RoKTt2YXIgbWlkZGxlY2xvbmU9
bWlkZGxlYml0LmNsb25lTm9kZSh0cnVlKTtzcGFubm9kZS5hcHBlbmRDaGlsZCht
aWRkbGVjbG9uZSk7bWlkZGxlYml0LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHNw
YW5ub2RlLG1pZGRsZWJpdCk7fX1lbHNlIGlmKG5vZGUubm9kZVR5cGU9PTEmJm5v
ZGUuY2hpbGROb2RlcyYmIS8oc2NyaXB0fHN0eWxlKS9pLnRlc3Qobm9kZS50YWdO
YW1lKSYmIShub2RlLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09J3NwYW4nJiZub2Rl
LmNsYXNzTmFtZS5tYXRjaCgvXGJoaWdobGlnaHQvKSkpe2Zvcih2YXIgaT0wO2k8
bm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsrK2kpeyQuaGlnaGxpZ2h0VGV4dC5pbm5l
ckhpZ2hsaWdodChub2RlLmNoaWxkTm9kZXNbaV0scGF0KTt9fX19OyQuZm4uaGln
aGxpZ2h0VGV4dD1mdW5jdGlvbihtYXRjaFN0cmluZyl7cmV0dXJuICQodGhpcyku
ZWFjaChmdW5jdGlvbigpe3ZhciAkdGhpcz0kKHRoaXMpOyR0aGlzLmRhdGEoJ2hp
Z2hsaWdodFRleHQnLHtvcmlnaW5hbFRleHQ6JHRoaXMudGV4dCgpfSk7JC5oaWdo
bGlnaHRUZXh0LnNwbGl0QW5kSGlnaGxpZ2h0KHRoaXMsbWF0Y2hTdHJpbmcpO30p
O307fSkoalF1ZXJ5KTsoZnVuY3Rpb24oJCl7JC5zdWdnZXN0aW9ucz17Y2FuY2Vs
OmZ1bmN0aW9uKGNvbnRleHQpe2lmKGNvbnRleHQuZGF0YS50aW1lcklEIT1udWxs
KXtjbGVhclRpbWVvdXQoY29udGV4dC5kYXRhLnRpbWVySUQpO30KaWYodHlwZW9m
IGNvbnRleHQuY29uZmlnLmNhbmNlbD09J2Z1bmN0aW9uJyl7Y29udGV4dC5jb25m
aWcuY2FuY2VsLmNhbGwoY29udGV4dC5kYXRhLiR0ZXh0Ym94KTt9fSxyZXN0b3Jl
OmZ1bmN0aW9uKGNvbnRleHQpe2NvbnRleHQuZGF0YS4kdGV4dGJveC52YWwoY29u
dGV4dC5kYXRhLnByZXZUZXh0KTt9LHVwZGF0ZTpmdW5jdGlvbihjb250ZXh0LGRl
bGF5ZWQpe2Z1bmN0aW9uIG1heWJlRmV0Y2goKXtpZihjb250ZXh0LmRhdGEuJHRl
eHRib3gudmFsKCkhPT1jb250ZXh0LmRhdGEucHJldlRleHQpe2NvbnRleHQuZGF0
YS5wcmV2VGV4dD1jb250ZXh0LmRhdGEuJHRleHRib3gudmFsKCk7aWYodHlwZW9m
IGNvbnRleHQuY29uZmlnLmZldGNoPT0nZnVuY3Rpb24nKXtjb250ZXh0LmNvbmZp
Zy5mZXRjaC5jYWxsKGNvbnRleHQuZGF0YS4kdGV4dGJveCxjb250ZXh0LmRhdGEu
JHRleHRib3gudmFsKCkpO319fQppZihjb250ZXh0LmRhdGEudGltZXJJRCE9bnVs
bCl7Y2xlYXJUaW1lb3V0KGNvbnRleHQuZGF0YS50aW1lcklEKTt9CmlmKGRlbGF5
ZWQpe2NvbnRleHQuZGF0YS50aW1lcklEPXNldFRpbWVvdXQobWF5YmVGZXRjaCxj
b250ZXh0LmNvbmZpZy5kZWxheSk7fWVsc2V7bWF5YmVGZXRjaCgpO30KJC5zdWdn
ZXN0aW9ucy5zcGVjaWFsKGNvbnRleHQpO30sc3BlY2lhbDpmdW5jdGlvbihjb250
ZXh0KXtpZih0eXBlb2YgY29udGV4dC5jb25maWcuc3BlY2lhbC5yZW5kZXI9PSdm
dW5jdGlvbicpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXskc3BlY2lhbD1jb250ZXh0
LmRhdGEuJGNvbnRhaW5lci5maW5kKCcuc3VnZ2VzdGlvbnMtc3BlY2lhbCcpO2Nv
bnRleHQuY29uZmlnLnNwZWNpYWwucmVuZGVyLmNhbGwoJHNwZWNpYWwsY29udGV4
dC5kYXRhLiR0ZXh0Ym94LnZhbCgpKTt9LDEpO319LGNvbmZpZ3VyZTpmdW5jdGlv
bihjb250ZXh0LHByb3BlcnR5LHZhbHVlKXtzd2l0Y2gocHJvcGVydHkpe2Nhc2Un
ZmV0Y2gnOmNhc2UnY2FuY2VsJzpjYXNlJ3NwZWNpYWwnOmNhc2UncmVzdWx0Jzpj
YXNlJyRyZWdpb24nOmNvbnRleHQuY29uZmlnW3Byb3BlcnR5XT12YWx1ZTticmVh
aztjYXNlJ3N1Z2dlc3Rpb25zJzpjb250ZXh0LmNvbmZpZ1twcm9wZXJ0eV09dmFs
dWU7aWYodHlwZW9mIGNvbnRleHQuZGF0YSE9PSd1bmRlZmluZWQnKXtpZihjb250
ZXh0LmRhdGEuJHRleHRib3gudmFsKCkubGVuZ3RoPT0wKXtjb250ZXh0LmRhdGEu
JGNvbnRhaW5lci5oaWRlKCk7fWVsc2V7Y29udGV4dC5kYXRhLiRjb250YWluZXIu
c2hvdygpO3ZhciBuZXdDU1M9eyd0b3AnOmNvbnRleHQuY29uZmlnLiRyZWdpb24u
b2Zmc2V0KCkudG9wK2NvbnRleHQuY29uZmlnLiRyZWdpb24ub3V0ZXJIZWlnaHQo
KSwnYm90dG9tJzonYXV0bycsJ3dpZHRoJzpjb250ZXh0LmNvbmZpZy4kcmVnaW9u
Lm91dGVyV2lkdGgoKSwnaGVpZ2h0JzonYXV0byd9CmlmKGNvbnRleHQuY29uZmln
LnBvc2l0aW9uRnJvbUxlZnQpe25ld0NTU1snbGVmdCddPWNvbnRleHQuY29uZmln
LiRyZWdpb24ub2Zmc2V0KCkubGVmdDtuZXdDU1NbJ3JpZ2h0J109J2F1dG8nO31l
bHNle25ld0NTU1snbGVmdCddPSdhdXRvJztuZXdDU1NbJ3JpZ2h0J109JCgnYm9k
eScpLndpZHRoKCktKGNvbnRleHQuY29uZmlnLiRyZWdpb24ub2Zmc2V0KCkubGVm
dCtjb250ZXh0LmNvbmZpZy4kcmVnaW9uLm91dGVyV2lkdGgoKSk7fQpjb250ZXh0
LmRhdGEuJGNvbnRhaW5lci5jc3MobmV3Q1NTKTt2YXIgJHJlc3VsdHM9Y29udGV4
dC5kYXRhLiRjb250YWluZXIuY2hpbGRyZW4oJy5zdWdnZXN0aW9ucy1yZXN1bHRz
Jyk7JHJlc3VsdHMuZW1wdHkoKTt2YXIgZXhwV2lkdGg9LTE7dmFyICRhdXRvRWxs
aXBzZU1lPSQoW10pO3ZhciBtYXRjaGVkVGV4dD1udWxsO2Zvcih2YXIgaT0wO2k8
Y29udGV4dC5jb25maWcuc3VnZ2VzdGlvbnMubGVuZ3RoO2krKyl7dmFyIHRleHQ9
Y29udGV4dC5jb25maWcuc3VnZ2VzdGlvbnNbaV07dmFyICRyZXN1bHQ9JCgnPGRp
diAvPicpLmFkZENsYXNzKCdzdWdnZXN0aW9ucy1yZXN1bHQnKS5hdHRyKCdyZWwn
LGkpLmRhdGEoJ3RleHQnLGNvbnRleHQuY29uZmlnLnN1Z2dlc3Rpb25zW2ldKS5t
b3VzZW1vdmUoZnVuY3Rpb24oZSl7Y29udGV4dC5kYXRhLnNlbGVjdGVkV2l0aE1v
dXNlPXRydWU7JC5zdWdnZXN0aW9ucy5oaWdobGlnaHQoY29udGV4dCwkKHRoaXMp
LmNsb3Nlc3QoJy5zdWdnZXN0aW9ucy1yZXN1bHRzIGRpdicpLGZhbHNlKTt9KS5h
cHBlbmRUbygkcmVzdWx0cyk7aWYodHlwZW9mIGNvbnRleHQuY29uZmlnLnJlc3Vs
dC5yZW5kZXI9PSdmdW5jdGlvbicpe2NvbnRleHQuY29uZmlnLnJlc3VsdC5yZW5k
ZXIuY2FsbCgkcmVzdWx0LGNvbnRleHQuY29uZmlnLnN1Z2dlc3Rpb25zW2ldKTt9
ZWxzZXtpZihjb250ZXh0LmNvbmZpZy5oaWdobGlnaHRJbnB1dCl7bWF0Y2hlZFRl
eHQ9Y29udGV4dC5kYXRhLnByZXZUZXh0O30KJHJlc3VsdC5hcHBlbmQoJCgnPHNw
YW4gLz4nKS5jc3MoJ3doaXRlU3BhY2UnLCdub3dyYXAnKS50ZXh0KHRleHQpKTt2
YXIgJHNwYW49JHJlc3VsdC5jaGlsZHJlbignc3BhbicpO2lmKCRzcGFuLm91dGVy
V2lkdGgoKT4kcmVzdWx0LndpZHRoKCkmJiRzcGFuLm91dGVyV2lkdGgoKT5leHBX
aWR0aCl7ZXhwV2lkdGg9JHNwYW4ub3V0ZXJXaWR0aCgpKyhjb250ZXh0LmRhdGEu
JGNvbnRhaW5lci53aWR0aCgpLSRzcGFuLnBhcmVudCgpLndpZHRoKCkpO30KJGF1
dG9FbGxpcHNlTWU9JGF1dG9FbGxpcHNlTWUuYWRkKCRyZXN1bHQpO319CmlmKGV4
cFdpZHRoPmNvbnRleHQuZGF0YS4kY29udGFpbmVyLndpZHRoKCkpe3ZhciBtYXhX
aWR0aD1jb250ZXh0LmNvbmZpZy5tYXhFeHBhbmRGYWN0b3IqY29udGV4dC5kYXRh
LiR0ZXh0Ym94LndpZHRoKCk7Y29udGV4dC5kYXRhLiRjb250YWluZXIud2lkdGgo
TWF0aC5taW4oZXhwV2lkdGgsbWF4V2lkdGgpKTt9CiRhdXRvRWxsaXBzZU1lLmF1
dG9FbGxpcHNpcyh7aGFzU3Bhbjp0cnVlLHRvb2x0aXA6dHJ1ZSxtYXRjaFRleHQ6
bWF0Y2hlZFRleHR9KTt9fQpicmVhaztjYXNlJ21heFJvd3MnOmNvbnRleHQuY29u
ZmlnW3Byb3BlcnR5XT1NYXRoLm1heCgxLE1hdGgubWluKDEwMCx2YWx1ZSkpO2Jy
ZWFrO2Nhc2UnZGVsYXknOmNvbnRleHQuY29uZmlnW3Byb3BlcnR5XT1NYXRoLm1h
eCgwLE1hdGgubWluKDEyMDAsdmFsdWUpKTticmVhaztjYXNlJ21heEV4cGFuZEZh
Y3Rvcic6Y29udGV4dC5jb25maWdbcHJvcGVydHldPU1hdGgubWF4KDEsdmFsdWUp
O2JyZWFrO2Nhc2Unc3VibWl0T25DbGljayc6Y2FzZSdwb3NpdGlvbkZyb21MZWZ0
JzpjYXNlJ2hpZ2hsaWdodElucHV0Jzpjb250ZXh0LmNvbmZpZ1twcm9wZXJ0eV09
dmFsdWU/dHJ1ZTpmYWxzZTticmVhazt9fSxoaWdobGlnaHQ6ZnVuY3Rpb24oY29u
dGV4dCxyZXN1bHQsdXBkYXRlVGV4dGJveCl7dmFyIHNlbGVjdGVkPWNvbnRleHQu
ZGF0YS4kY29udGFpbmVyLmZpbmQoJy5zdWdnZXN0aW9ucy1yZXN1bHQtY3VycmVu
dCcpO2lmKCFyZXN1bHQuZ2V0fHxzZWxlY3RlZC5nZXQoMCkhPXJlc3VsdC5nZXQo
MCkpe2lmKHJlc3VsdD09J3ByZXYnKXtpZihzZWxlY3RlZC5pcygnLnN1Z2dlc3Rp
b25zLXNwZWNpYWwnKSl7cmVzdWx0PWNvbnRleHQuZGF0YS4kY29udGFpbmVyLmZp
bmQoJy5zdWdnZXN0aW9ucy1yZXN1bHQ6bGFzdCcpfWVsc2V7cmVzdWx0PXNlbGVj
dGVkLnByZXYoKTtpZihzZWxlY3RlZC5sZW5ndGg9PTApe2lmKGNvbnRleHQuZGF0
YS4kY29udGFpbmVyLmZpbmQoJy5zdWdnZXN0aW9ucy1zcGVjaWFsJykuaHRtbCgp
IT0iIil7cmVzdWx0PWNvbnRleHQuZGF0YS4kY29udGFpbmVyLmZpbmQoJy5zdWdn
ZXN0aW9ucy1zcGVjaWFsJyk7fWVsc2V7cmVzdWx0PWNvbnRleHQuZGF0YS4kY29u
dGFpbmVyLmZpbmQoJy5zdWdnZXN0aW9ucy1yZXN1bHRzIGRpdjpsYXN0Jyk7fX19
fWVsc2UgaWYocmVzdWx0PT0nbmV4dCcpe2lmKHNlbGVjdGVkLmxlbmd0aD09MCl7
cmVzdWx0PWNvbnRleHQuZGF0YS4kY29udGFpbmVyLmZpbmQoJy5zdWdnZXN0aW9u
cy1yZXN1bHRzIGRpdjpmaXJzdCcpO2lmKHJlc3VsdC5sZW5ndGg9PTAmJmNvbnRl
eHQuZGF0YS4kY29udGFpbmVyLmZpbmQoJy5zdWdnZXN0aW9ucy1zcGVjaWFsJyku
aHRtbCgpIT0iIil7cmVzdWx0PWNvbnRleHQuZGF0YS4kY29udGFpbmVyLmZpbmQo
Jy5zdWdnZXN0aW9ucy1zcGVjaWFsJyk7fX1lbHNle3Jlc3VsdD1zZWxlY3RlZC5u
ZXh0KCk7aWYoc2VsZWN0ZWQuaXMoJy5zdWdnZXN0aW9ucy1zcGVjaWFsJykpe3Jl
c3VsdD0kKFtdKTt9ZWxzZSBpZihyZXN1bHQubGVuZ3RoPT0wJiZjb250ZXh0LmRh
dGEuJGNvbnRhaW5lci5maW5kKCcuc3VnZ2VzdGlvbnMtc3BlY2lhbCcpLmh0bWwo
KSE9IiIpe3Jlc3VsdD1jb250ZXh0LmRhdGEuJGNvbnRhaW5lci5maW5kKCcuc3Vn
Z2VzdGlvbnMtc3BlY2lhbCcpO319fQpzZWxlY3RlZC5yZW1vdmVDbGFzcygnc3Vn
Z2VzdGlvbnMtcmVzdWx0LWN1cnJlbnQnKTtyZXN1bHQuYWRkQ2xhc3MoJ3N1Z2dl
c3Rpb25zLXJlc3VsdC1jdXJyZW50Jyk7fQppZih1cGRhdGVUZXh0Ym94KXtpZihy
ZXN1bHQubGVuZ3RoPT0wfHxyZXN1bHQuaXMoJy5zdWdnZXN0aW9ucy1zcGVjaWFs
JykpeyQuc3VnZ2VzdGlvbnMucmVzdG9yZShjb250ZXh0KTt9ZWxzZXtjb250ZXh0
LmRhdGEuJHRleHRib3gudmFsKHJlc3VsdC5kYXRhKCd0ZXh0JykpO2NvbnRleHQu
ZGF0YS4kdGV4dGJveC5jaGFuZ2UoKTt9CmNvbnRleHQuZGF0YS4kdGV4dGJveC50
cmlnZ2VyKCdjaGFuZ2UnKTt9fSxrZXlwcmVzczpmdW5jdGlvbihlLGNvbnRleHQs
a2V5KXt2YXIgd2FzVmlzaWJsZT1jb250ZXh0LmRhdGEuJGNvbnRhaW5lci5pcygn
OnZpc2libGUnKTt2YXIgcHJldmVudERlZmF1bHQ9ZmFsc2U7c3dpdGNoKGtleSl7
Y2FzZSA0MDppZih3YXNWaXNpYmxlKXskLnN1Z2dlc3Rpb25zLmhpZ2hsaWdodChj
b250ZXh0LCduZXh0Jyx0cnVlKTtjb250ZXh0LmRhdGEuc2VsZWN0ZWRXaXRoTW91
c2U9ZmFsc2U7fWVsc2V7JC5zdWdnZXN0aW9ucy51cGRhdGUoY29udGV4dCxmYWxz
ZSk7fQpwcmV2ZW50RGVmYXVsdD10cnVlO2JyZWFrO2Nhc2UgMzg6aWYod2FzVmlz
aWJsZSl7JC5zdWdnZXN0aW9ucy5oaWdobGlnaHQoY29udGV4dCwncHJldicsdHJ1
ZSk7Y29udGV4dC5kYXRhLnNlbGVjdGVkV2l0aE1vdXNlPWZhbHNlO30KcHJldmVu
dERlZmF1bHQ9d2FzVmlzaWJsZTticmVhaztjYXNlIDI3OmNvbnRleHQuZGF0YS4k
Y29udGFpbmVyLmhpZGUoKTskLnN1Z2dlc3Rpb25zLnJlc3RvcmUoY29udGV4dCk7
JC5zdWdnZXN0aW9ucy5jYW5jZWwoY29udGV4dCk7Y29udGV4dC5kYXRhLiR0ZXh0
Ym94LnRyaWdnZXIoJ2NoYW5nZScpO3ByZXZlbnREZWZhdWx0PXdhc1Zpc2libGU7
YnJlYWs7Y2FzZSAxMzpjb250ZXh0LmRhdGEuJGNvbnRhaW5lci5oaWRlKCk7cHJl
dmVudERlZmF1bHQ9d2FzVmlzaWJsZTtzZWxlY3RlZD1jb250ZXh0LmRhdGEuJGNv
bnRhaW5lci5maW5kKCcuc3VnZ2VzdGlvbnMtcmVzdWx0LWN1cnJlbnQnKTtpZihz
ZWxlY3RlZC5zaXplKCk9PTB8fGNvbnRleHQuZGF0YS5zZWxlY3RlZFdpdGhNb3Vz
ZSl7JC5zdWdnZXN0aW9ucy5jYW5jZWwoY29udGV4dCk7Y29udGV4dC5jb25maWcu
JHJlZ2lvbi5jbG9zZXN0KCdmb3JtJykuc3VibWl0KCk7fWVsc2UgaWYoc2VsZWN0
ZWQuaXMoJy5zdWdnZXN0aW9ucy1zcGVjaWFsJykpe2lmKHR5cGVvZiBjb250ZXh0
LmNvbmZpZy5zcGVjaWFsLnNlbGVjdD09J2Z1bmN0aW9uJyl7Y29udGV4dC5jb25m
aWcuc3BlY2lhbC5zZWxlY3QuY2FsbChzZWxlY3RlZCxjb250ZXh0LmRhdGEuJHRl
eHRib3gpO319ZWxzZXtpZih0eXBlb2YgY29udGV4dC5jb25maWcucmVzdWx0LnNl
bGVjdD09J2Z1bmN0aW9uJyl7JC5zdWdnZXN0aW9ucy5oaWdobGlnaHQoY29udGV4
dCxzZWxlY3RlZCx0cnVlKTtjb250ZXh0LmNvbmZpZy5yZXN1bHQuc2VsZWN0LmNh
bGwoc2VsZWN0ZWQsY29udGV4dC5kYXRhLiR0ZXh0Ym94KTt9ZWxzZXskLnN1Z2dl
c3Rpb25zLmhpZ2hsaWdodChjb250ZXh0LHNlbGVjdGVkLHRydWUpO319CmJyZWFr
O2RlZmF1bHQ6JC5zdWdnZXN0aW9ucy51cGRhdGUoY29udGV4dCx0cnVlKTticmVh
azt9CmlmKHByZXZlbnREZWZhdWx0KXtlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9w
SW1tZWRpYXRlUHJvcGFnYXRpb24oKTt9fX07JC5mbi5zdWdnZXN0aW9ucz1mdW5j
dGlvbigpe3ZhciByZXR1cm5WYWx1ZT1udWxsO3ZhciBhcmdzPWFyZ3VtZW50czsk
KHRoaXMpLmVhY2goZnVuY3Rpb24oKXt2YXIgY29udGV4dD0kKHRoaXMpLmRhdGEo
J3N1Z2dlc3Rpb25zLWNvbnRleHQnKTtpZih0eXBlb2YgY29udGV4dD09J3VuZGVm
aW5lZCd8fGNvbnRleHQ9PW51bGwpe2NvbnRleHQ9e2NvbmZpZzp7J2ZldGNoJzpm
dW5jdGlvbigpe30sJ2NhbmNlbCc6ZnVuY3Rpb24oKXt9LCdzcGVjaWFsJzp7fSwn
cmVzdWx0Jzp7fSwnJHJlZ2lvbic6JCh0aGlzKSwnc3VnZ2VzdGlvbnMnOltdLCdt
YXhSb3dzJzo3LCdkZWxheSc6MTIwLCdzdWJtaXRPbkNsaWNrJzpmYWxzZSwnbWF4
RXhwYW5kRmFjdG9yJzozLCdwb3NpdGlvbkZyb21MZWZ0Jzp0cnVlLCdoaWdobGln
aHRJbnB1dCc6ZmFsc2V9fTt9CmlmKGFyZ3MubGVuZ3RoPjApe2lmKHR5cGVvZiBh
cmdzWzBdPT0nb2JqZWN0Jyl7Zm9yKHZhciBrZXkgaW4gYXJnc1swXSl7JC5zdWdn
ZXN0aW9ucy5jb25maWd1cmUoY29udGV4dCxrZXksYXJnc1swXVtrZXldKTt9fWVs
c2UgaWYodHlwZW9mIGFyZ3NbMF09PSdzdHJpbmcnKXtpZihhcmdzLmxlbmd0aD4x
KXskLnN1Z2dlc3Rpb25zLmNvbmZpZ3VyZShjb250ZXh0LGFyZ3NbMF0sYXJnc1sx
XSk7fWVsc2UgaWYocmV0dXJuVmFsdWU9PW51bGwpe3JldHVyblZhbHVlPShhcmdz
WzBdaW4gY29udGV4dC5jb25maWc/dW5kZWZpbmVkOmNvbnRleHQuY29uZmlnW2Fy
Z3NbMF1dKTt9fX0KaWYodHlwZW9mIGNvbnRleHQuZGF0YT09J3VuZGVmaW5lZCcp
e2NvbnRleHQuZGF0YT17J3RpbWVySUQnOm51bGwsJ3ByZXZUZXh0JzpudWxsLCd2
aXNpYmxlUmVzdWx0cyc6MCwnbW91c2VEb3duT24nOiQoW10pLCckdGV4dGJveCc6
JCh0aGlzKSwnc2VsZWN0ZWRXaXRoTW91c2UnOmZhbHNlfTt2YXIgbmV3Q1NTPXsn
dG9wJzpNYXRoLnJvdW5kKGNvbnRleHQuZGF0YS4kdGV4dGJveC5vZmZzZXQoKS50
b3ArY29udGV4dC5kYXRhLiR0ZXh0Ym94Lm91dGVySGVpZ2h0KCkpLCd3aWR0aCc6
Y29udGV4dC5kYXRhLiR0ZXh0Ym94Lm91dGVyV2lkdGgoKSwnZGlzcGxheSc6J25v
bmUnfQppZihjb250ZXh0LmNvbmZpZy5wb3NpdGlvbkZyb21MZWZ0KXtuZXdDU1Nb
J2xlZnQnXT1jb250ZXh0LmNvbmZpZy4kcmVnaW9uLm9mZnNldCgpLmxlZnQ7bmV3
Q1NTWydyaWdodCddPSdhdXRvJzt9ZWxzZXtuZXdDU1NbJ2xlZnQnXT0nYXV0byc7
bmV3Q1NTWydyaWdodCddPSQoJ2JvZHknKS53aWR0aCgpLShjb250ZXh0LmNvbmZp
Zy4kcmVnaW9uLm9mZnNldCgpLmxlZnQrY29udGV4dC5jb25maWcuJHJlZ2lvbi5v
dXRlcldpZHRoKCkpO30KY29udGV4dC5kYXRhLiRjb250YWluZXI9JCgnPGRpdiAv
PicpLmNzcyhuZXdDU1MpLmFkZENsYXNzKCdzdWdnZXN0aW9ucycpLmFwcGVuZCgk
KCc8ZGl2IC8+JykuYWRkQ2xhc3MoJ3N1Z2dlc3Rpb25zLXJlc3VsdHMnKS5tb3Vz
ZWRvd24oZnVuY3Rpb24oZSl7Y29udGV4dC5kYXRhLm1vdXNlRG93bk9uPSQoZS50
YXJnZXQpLmNsb3Nlc3QoJy5zdWdnZXN0aW9ucy1yZXN1bHRzIGRpdicpO30pLm1v
dXNldXAoZnVuY3Rpb24oZSl7dmFyICRyZXN1bHQ9JChlLnRhcmdldCkuY2xvc2Vz
dCgnLnN1Z2dlc3Rpb25zLXJlc3VsdHMgZGl2Jyk7dmFyICRvdGhlcj1jb250ZXh0
LmRhdGEubW91c2VEb3duT247Y29udGV4dC5kYXRhLm1vdXNlRG93bk9uPSQoW10p
O2lmKCRyZXN1bHQuZ2V0KDApIT0kb3RoZXIuZ2V0KDApKXtyZXR1cm47fQokLnN1
Z2dlc3Rpb25zLmhpZ2hsaWdodChjb250ZXh0LCRyZXN1bHQsdHJ1ZSk7Y29udGV4
dC5kYXRhLiRjb250YWluZXIuaGlkZSgpO2lmKHR5cGVvZiBjb250ZXh0LmNvbmZp
Zy5yZXN1bHQuc2VsZWN0PT0nZnVuY3Rpb24nKXtjb250ZXh0LmNvbmZpZy5yZXN1
bHQuc2VsZWN0LmNhbGwoJHJlc3VsdCxjb250ZXh0LmRhdGEuJHRleHRib3gpO30K
Y29udGV4dC5kYXRhLiR0ZXh0Ym94LmZvY3VzKCk7fSkpLmFwcGVuZCgkKCc8ZGl2
IC8+JykuYWRkQ2xhc3MoJ3N1Z2dlc3Rpb25zLXNwZWNpYWwnKS5tb3VzZWRvd24o
ZnVuY3Rpb24oZSl7Y29udGV4dC5kYXRhLm1vdXNlRG93bk9uPSQoZS50YXJnZXQp
LmNsb3Nlc3QoJy5zdWdnZXN0aW9ucy1zcGVjaWFsJyk7fSkubW91c2V1cChmdW5j
dGlvbihlKXt2YXIgJHNwZWNpYWw9JChlLnRhcmdldCkuY2xvc2VzdCgnLnN1Z2dl
c3Rpb25zLXNwZWNpYWwnKTt2YXIgJG90aGVyPWNvbnRleHQuZGF0YS5tb3VzZURv
d25Pbjtjb250ZXh0LmRhdGEubW91c2VEb3duT249JChbXSk7aWYoJHNwZWNpYWwu
Z2V0KDApIT0kb3RoZXIuZ2V0KDApKXtyZXR1cm47fQpjb250ZXh0LmRhdGEuJGNv
bnRhaW5lci5oaWRlKCk7aWYodHlwZW9mIGNvbnRleHQuY29uZmlnLnNwZWNpYWwu
c2VsZWN0PT0nZnVuY3Rpb24nKXtjb250ZXh0LmNvbmZpZy5zcGVjaWFsLnNlbGVj
dC5jYWxsKCRzcGVjaWFsLGNvbnRleHQuZGF0YS4kdGV4dGJveCk7fQpjb250ZXh0
LmRhdGEuJHRleHRib3guZm9jdXMoKTt9KS5tb3VzZW1vdmUoZnVuY3Rpb24oZSl7
Y29udGV4dC5kYXRhLnNlbGVjdGVkV2l0aE1vdXNlPXRydWU7JC5zdWdnZXN0aW9u
cy5oaWdobGlnaHQoY29udGV4dCwkKGUudGFyZ2V0KS5jbG9zZXN0KCcuc3VnZ2Vz
dGlvbnMtc3BlY2lhbCcpLGZhbHNlKTt9KSkuYXBwZW5kVG8oJCgnYm9keScpKTsk
KHRoaXMpLmF0dHIoJ2F1dG9jb21wbGV0ZScsJ29mZicpLmtleWRvd24oZnVuY3Rp
b24oZSl7Y29udGV4dC5kYXRhLmtleXByZXNzZWQ9KGUua2V5Q29kZT09dW5kZWZp
bmVkKT9lLndoaWNoOmUua2V5Q29kZTtjb250ZXh0LmRhdGEua2V5cHJlc3NlZENv
dW50PTA7c3dpdGNoKGNvbnRleHQuZGF0YS5rZXlwcmVzc2VkKXtjYXNlIDQwOmUu
cHJldmVudERlZmF1bHQoKTtlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO2Jy
ZWFrO2Nhc2UgMzg6Y2FzZSAyNzpjYXNlIDEzOmlmKGNvbnRleHQuZGF0YS4kY29u
dGFpbmVyLmlzKCc6dmlzaWJsZScpKXtlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9w
SW1tZWRpYXRlUHJvcGFnYXRpb24oKTt9fX0pLmtleXByZXNzKGZ1bmN0aW9uKGUp
e2NvbnRleHQuZGF0YS5rZXlwcmVzc2VkQ291bnQrKzskLnN1Z2dlc3Rpb25zLmtl
eXByZXNzKGUsY29udGV4dCxjb250ZXh0LmRhdGEua2V5cHJlc3NlZCk7fSkua2V5
dXAoZnVuY3Rpb24oZSl7aWYoY29udGV4dC5kYXRhLmtleXByZXNzZWRDb3VudD09
MCl7JC5zdWdnZXN0aW9ucy5rZXlwcmVzcyhlLGNvbnRleHQsY29udGV4dC5kYXRh
LmtleXByZXNzZWQpO319KS5ibHVyKGZ1bmN0aW9uKCl7aWYoY29udGV4dC5kYXRh
Lm1vdXNlRG93bk9uLmxlbmd0aD4wKXtyZXR1cm47fQpjb250ZXh0LmRhdGEuJGNv
bnRhaW5lci5oaWRlKCk7JC5zdWdnZXN0aW9ucy5jYW5jZWwoY29udGV4dCk7fSk7
fQokKHRoaXMpLmRhdGEoJ3N1Z2dlc3Rpb25zLWNvbnRleHQnLGNvbnRleHQpO30p
O3JldHVybiByZXR1cm5WYWx1ZSE9PW51bGw/cmV0dXJuVmFsdWU6JCh0aGlzKTt9
O30pKGpRdWVyeSk7KGZ1bmN0aW9uKCQpeyQuZm4udGV4dFNlbGVjdGlvbj1mdW5j
dGlvbihjb21tYW5kLG9wdGlvbnMpe3ZhciBmbj17Z2V0Q29udGVudHM6ZnVuY3Rp
b24oKXtyZXR1cm4gdGhpcy52YWwoKTt9LGdldFNlbGVjdGlvbjpmdW5jdGlvbigp
e3ZhciBlPXRoaXMuZ2V0KDApO3ZhciByZXR2YWw9Jyc7aWYoJChlKS5pcygnOmhp
ZGRlbicpKXt9ZWxzZSBpZihkb2N1bWVudC5zZWxlY3Rpb24mJmRvY3VtZW50LnNl
bGVjdGlvbi5jcmVhdGVSYW5nZSl7ZS5mb2N1cygpO3ZhciByYW5nZT1kb2N1bWVu
dC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTtyZXR2YWw9cmFuZ2UudGV4dDt9ZWxz
ZSBpZihlLnNlbGVjdGlvblN0YXJ0fHxlLnNlbGVjdGlvblN0YXJ0PT0nMCcpe3Jl
dHZhbD1lLnZhbHVlLnN1YnN0cmluZyhlLnNlbGVjdGlvblN0YXJ0LGUuc2VsZWN0
aW9uRW5kKTt9CnJldHVybiByZXR2YWw7fSxlbmNhcHN1bGF0ZVNlbGVjdGlvbjpm
dW5jdGlvbihvcHRpb25zKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZnVu
Y3Rpb24gY2hlY2tTZWxlY3RlZFRleHQoKXtpZighc2VsVGV4dCl7c2VsVGV4dD1v
cHRpb25zLnBlcmk7aXNTYW1wbGU9dHJ1ZTt9ZWxzZSBpZihvcHRpb25zLnJlcGxh
Y2Upe3NlbFRleHQ9b3B0aW9ucy5wZXJpO31lbHNlIGlmKHNlbFRleHQuY2hhckF0
KHNlbFRleHQubGVuZ3RoLTEpPT0nICcpe3NlbFRleHQ9c2VsVGV4dC5zdWJzdHJp
bmcoMCxzZWxUZXh0Lmxlbmd0aC0xKTtvcHRpb25zLnBvc3QrPScgJzt9fQp2YXIg
aXNTYW1wbGU9ZmFsc2U7aWYodGhpcy5zdHlsZS5kaXNwbGF5PT0nbm9uZScpe31l
bHNlIGlmKHRoaXMuc2VsZWN0aW9uU3RhcnR8fHRoaXMuc2VsZWN0aW9uU3RhcnQ9
PScwJyl7JCh0aGlzKS5mb2N1cygpO3ZhciBzZWxUZXh0PSQodGhpcykudGV4dFNl
bGVjdGlvbignZ2V0U2VsZWN0aW9uJyk7dmFyIHN0YXJ0UG9zPXRoaXMuc2VsZWN0
aW9uU3RhcnQ7dmFyIGVuZFBvcz10aGlzLnNlbGVjdGlvbkVuZDt2YXIgc2Nyb2xs
VG9wPXRoaXMuc2Nyb2xsVG9wO2NoZWNrU2VsZWN0ZWRUZXh0KCk7aWYob3B0aW9u
cy5vd25saW5lKXtpZihzdGFydFBvcyE9MCYmdGhpcy52YWx1ZS5jaGFyQXQoc3Rh
cnRQb3MtMSkhPSJcbiIpe29wdGlvbnMucHJlPSJcbiIrb3B0aW9ucy5wcmU7fQpp
Zih0aGlzLnZhbHVlLmNoYXJBdChlbmRQb3MpIT0iXG4iKXtvcHRpb25zLnBvc3Qr
PSJcbiI7fX0KdGhpcy52YWx1ZT10aGlzLnZhbHVlLnN1YnN0cmluZygwLHN0YXJ0
UG9zKStvcHRpb25zLnByZStzZWxUZXh0K29wdGlvbnMucG9zdCsKdGhpcy52YWx1
ZS5zdWJzdHJpbmcoZW5kUG9zLHRoaXMudmFsdWUubGVuZ3RoKTt0aGlzLnNjcm9s
bFRvcD1zY3JvbGxUb3A7aWYod2luZG93Lm9wZXJhKXtvcHRpb25zLnByZT1vcHRp
b25zLnByZS5yZXBsYWNlKC9ccj9cbi9nLCJcclxuIik7c2VsVGV4dD1zZWxUZXh0
LnJlcGxhY2UoL1xyP1xuL2csIlxyXG4iKTtvcHRpb25zLnBvc3Q9b3B0aW9ucy5w
b3N0LnJlcGxhY2UoL1xyP1xuL2csIlxyXG4iKTt9CmlmKGlzU2FtcGxlJiZvcHRp
b25zLnNlbGVjdFBlcmkpe3RoaXMuc2VsZWN0aW9uU3RhcnQ9c3RhcnRQb3Mrb3B0
aW9ucy5wcmUubGVuZ3RoO3RoaXMuc2VsZWN0aW9uRW5kPXN0YXJ0UG9zK29wdGlv
bnMucHJlLmxlbmd0aCtzZWxUZXh0Lmxlbmd0aDt9ZWxzZXt0aGlzLnNlbGVjdGlv
blN0YXJ0PXN0YXJ0UG9zK29wdGlvbnMucHJlLmxlbmd0aCtzZWxUZXh0Lmxlbmd0
aCsKb3B0aW9ucy5wb3N0Lmxlbmd0aDt0aGlzLnNlbGVjdGlvbkVuZD10aGlzLnNl
bGVjdGlvblN0YXJ0O319ZWxzZSBpZihkb2N1bWVudC5zZWxlY3Rpb24mJmRvY3Vt
ZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSl7JCh0aGlzKS5mb2N1cygpO2lmKGNv
bnRleHQpe2NvbnRleHQuZm4ucmVzdG9yZVN0dWZmRm9ySUUoKTt9CnZhciBzZWxU
ZXh0PSQodGhpcykudGV4dFNlbGVjdGlvbignZ2V0U2VsZWN0aW9uJyk7dmFyIHNj
cm9sbFRvcD10aGlzLnNjcm9sbFRvcDt2YXIgcmFuZ2U9ZG9jdW1lbnQuc2VsZWN0
aW9uLmNyZWF0ZVJhbmdlKCk7aWYob3B0aW9ucy5vd25saW5lJiZyYW5nZS5tb3Zl
U3RhcnQpe3ZhciByYW5nZTI9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdl
KCk7cmFuZ2UyLmNvbGxhcHNlKCk7cmFuZ2UyLm1vdmVTdGFydCgnY2hhcmFjdGVy
JywtMSk7aWYocmFuZ2UyLnRleHQhPSJcciImJnJhbmdlMi50ZXh0IT0iXG4iJiZy
YW5nZTIudGV4dCE9IiIpe29wdGlvbnMucHJlPSJcbiIrb3B0aW9ucy5wcmU7fQp2
YXIgcmFuZ2UzPWRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO3Jhbmdl
My5jb2xsYXBzZShmYWxzZSk7cmFuZ2UzLm1vdmVFbmQoJ2NoYXJhY3RlcicsMSk7
aWYocmFuZ2UzLnRleHQhPSJcciImJnJhbmdlMy50ZXh0IT0iXG4iJiZyYW5nZTMu
dGV4dCE9IiIpe29wdGlvbnMucG9zdCs9IlxuIjt9fQpjaGVja1NlbGVjdGVkVGV4
dCgpO3JhbmdlLnRleHQ9b3B0aW9ucy5wcmUrc2VsVGV4dCtvcHRpb25zLnBvc3Q7
aWYoaXNTYW1wbGUmJm9wdGlvbnMuc2VsZWN0UGVyaSYmcmFuZ2UubW92ZVN0YXJ0
KXtyYW5nZS5tb3ZlU3RhcnQoJ2NoYXJhY3RlcicsLW9wdGlvbnMucG9zdC5sZW5n
dGgtc2VsVGV4dC5sZW5ndGgpO3JhbmdlLm1vdmVFbmQoJ2NoYXJhY3RlcicsLW9w
dGlvbnMucG9zdC5sZW5ndGgpO30KcmFuZ2Uuc2VsZWN0KCk7dGhpcy5zY3JvbGxU
b3A9c2Nyb2xsVG9wO30KJCh0aGlzKS50cmlnZ2VyKCdlbmNhcHN1bGF0ZVNlbGVj
dGlvbicsW29wdGlvbnMucHJlLG9wdGlvbnMucGVyaSxvcHRpb25zLnBvc3Qsb3B0
aW9ucy5vd25saW5lLG9wdGlvbnMucmVwbGFjZV0pO30pO30sZ2V0Q2FyZXRQb3Np
dGlvbjpmdW5jdGlvbihvcHRpb25zKXtmdW5jdGlvbiBnZXRDYXJldChlKXt2YXIg
Y2FyZXRQb3M9MCxlbmRQb3M9MDtpZigkLmJyb3dzZXIubXNpZSl7dmFyIHByZUZp
bmlzaGVkPWZhbHNlO3ZhciBwZXJpRmluaXNoZWQ9ZmFsc2U7dmFyIHBvc3RGaW5p
c2hlZD1mYWxzZTt2YXIgcHJlVGV4dCxyYXdQcmVUZXh0LHBlcmlUZXh0O3ZhciBy
YXdQZXJpVGV4dCxwb3N0VGV4dCxyYXdQb3N0VGV4dDt2YXIgcGVyaVJhbmdlPWRv
Y3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLmR1cGxpY2F0ZSgpO3ZhciBw
cmVSYW5nZT1kb2N1bWVudC5ib2R5LmNyZWF0ZVRleHRSYW5nZSgpO3ByZVJhbmdl
Lm1vdmVUb0VsZW1lbnRUZXh0KGUpO3ByZVJhbmdlLnNldEVuZFBvaW50KCJFbmRU
b1N0YXJ0IixwZXJpUmFuZ2UpO3ZhciBwb3N0UmFuZ2U9ZG9jdW1lbnQuYm9keS5j
cmVhdGVUZXh0UmFuZ2UoKTtwb3N0UmFuZ2UubW92ZVRvRWxlbWVudFRleHQoZSk7
cG9zdFJhbmdlLnNldEVuZFBvaW50KCJTdGFydFRvRW5kIixwZXJpUmFuZ2UpO3By
ZVRleHQ9cmF3UHJlVGV4dD1wcmVSYW5nZS50ZXh0O3BlcmlUZXh0PXJhd1BlcmlU
ZXh0PXBlcmlSYW5nZS50ZXh0O3Bvc3RUZXh0PXJhd1Bvc3RUZXh0PXBvc3RSYW5n
ZS50ZXh0O2Rve2lmKCFwcmVGaW5pc2hlZCl7aWYocHJlUmFuZ2UuY29tcGFyZUVu
ZFBvaW50cygiU3RhcnRUb0VuZCIscHJlUmFuZ2UpPT0wKXtwcmVGaW5pc2hlZD10
cnVlO31lbHNle3ByZVJhbmdlLm1vdmVFbmQoImNoYXJhY3RlciIsLTEpCmlmKHBy
ZVJhbmdlLnRleHQ9PXByZVRleHQpe3Jhd1ByZVRleHQrPSJcclxuIjt9ZWxzZXtw
cmVGaW5pc2hlZD10cnVlO319fQppZighcGVyaUZpbmlzaGVkKXtpZihwZXJpUmFu
Z2UuY29tcGFyZUVuZFBvaW50cygiU3RhcnRUb0VuZCIscGVyaVJhbmdlKT09MCl7
cGVyaUZpbmlzaGVkPXRydWU7fWVsc2V7cGVyaVJhbmdlLm1vdmVFbmQoImNoYXJh
Y3RlciIsLTEpCmlmKHBlcmlSYW5nZS50ZXh0PT1wZXJpVGV4dCl7cmF3UGVyaVRl
eHQrPSJcclxuIjt9ZWxzZXtwZXJpRmluaXNoZWQ9dHJ1ZTt9fX0KaWYoIXBvc3RG
aW5pc2hlZCl7aWYocG9zdFJhbmdlLmNvbXBhcmVFbmRQb2ludHMoIlN0YXJ0VG9F
bmQiLHBvc3RSYW5nZSk9PTApe3Bvc3RGaW5pc2hlZD10cnVlO31lbHNle3Bvc3RS
YW5nZS5tb3ZlRW5kKCJjaGFyYWN0ZXIiLC0xKQppZihwb3N0UmFuZ2UudGV4dD09
cG9zdFRleHQpe3Jhd1Bvc3RUZXh0Kz0iXHJcbiI7fWVsc2V7cG9zdEZpbmlzaGVk
PXRydWU7fX19fXdoaWxlKCghcHJlRmluaXNoZWR8fCFwZXJpRmluaXNoZWR8fCFw
b3N0RmluaXNoZWQpKTtjYXJldFBvcz1yYXdQcmVUZXh0LnJlcGxhY2UoL1xyXG4v
ZywiXG4iKS5sZW5ndGg7ZW5kUG9zPWNhcmV0UG9zK3Jhd1BlcmlUZXh0LnJlcGxh
Y2UoL1xyXG4vZywiXG4iKS5sZW5ndGg7fWVsc2UgaWYoZS5zZWxlY3Rpb25TdGFy
dHx8ZS5zZWxlY3Rpb25TdGFydD09JzAnKXtjYXJldFBvcz1lLnNlbGVjdGlvblN0
YXJ0O2VuZFBvcz1lLnNlbGVjdGlvbkVuZDt9CnJldHVybiBvcHRpb25zLnN0YXJ0
QW5kRW5kP1tjYXJldFBvcyxlbmRQb3NdOmNhcmV0UG9zO30KcmV0dXJuIGdldENh
cmV0KHRoaXMuZ2V0KDApKTt9LHNldFNlbGVjdGlvbjpmdW5jdGlvbihvcHRpb25z
KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoJCh0aGlzKS5pcygnOmhp
ZGRlbicpKXt9ZWxzZSBpZih0aGlzLnNlbGVjdGlvblN0YXJ0fHx0aGlzLnNlbGVj
dGlvblN0YXJ0PT0nMCcpe2lmKG9wdGlvbnMuc3RhcnQ+dGhpcy5zZWxlY3Rpb25F
bmQpe3RoaXMuc2VsZWN0aW9uRW5kPW9wdGlvbnMuZW5kO3RoaXMuc2VsZWN0aW9u
U3RhcnQ9b3B0aW9ucy5zdGFydDt9ZWxzZXt0aGlzLnNlbGVjdGlvblN0YXJ0PW9w
dGlvbnMuc3RhcnQ7dGhpcy5zZWxlY3Rpb25FbmQ9b3B0aW9ucy5lbmQ7fX1lbHNl
IGlmKGRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdlKXt2YXIgc2VsZWN0aW9u
PWRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk7c2VsZWN0aW9uLm1vdmVU
b0VsZW1lbnRUZXh0KHRoaXMpO3ZhciBsZW5ndGg9dGhpcy52YWx1ZS5sZW5ndGg7
dmFyIG5ld0xpbmVzPXRoaXMudmFsdWUubWF0Y2goL1xuL2cpO2lmKG5ld0xpbmVz
KWxlbmd0aD1sZW5ndGgtbmV3TGluZXMubGVuZ3RoO3NlbGVjdGlvbi5tb3ZlU3Rh
cnQoJ2NoYXJhY3Rlcicsb3B0aW9ucy5zdGFydCk7c2VsZWN0aW9uLm1vdmVFbmQo
J2NoYXJhY3RlcicsLWxlbmd0aCtvcHRpb25zLmVuZCk7dHJ5e3NlbGVjdGlvbi5z
ZWxlY3QoKTt9Y2F0Y2goZSl7fX19KTt9LHNjcm9sbFRvQ2FyZXRQb3NpdGlvbjpm
dW5jdGlvbihvcHRpb25zKXtmdW5jdGlvbiBnZXRMaW5lTGVuZ3RoKGUpe3JldHVy
biBNYXRoLmZsb29yKGUuc2Nyb2xsV2lkdGgvKCQub3MubmFtZT09J2xpbnV4Jz83
OjgpKTt9CmZ1bmN0aW9uIGdldENhcmV0U2Nyb2xsUG9zaXRpb24oZSl7dmFyIHRl
eHQ9ZS52YWx1ZS5yZXBsYWNlKC9cci9nLCIiKTt2YXIgY2FyZXQ9JChlKS50ZXh0
U2VsZWN0aW9uKCdnZXRDYXJldFBvc2l0aW9uJyk7dmFyIGxpbmVMZW5ndGg9Z2V0
TGluZUxlbmd0aChlKTt2YXIgcm93PTA7dmFyIGNoYXJJbkxpbmU9MDt2YXIgbGFz
dFNwYWNlSW5MaW5lPTA7Zm9yKGk9MDtpPGNhcmV0O2krKyl7Y2hhckluTGluZSsr
O2lmKHRleHQuY2hhckF0KGkpPT0iICIpe2xhc3RTcGFjZUluTGluZT1jaGFySW5M
aW5lO31lbHNlIGlmKHRleHQuY2hhckF0KGkpPT0iXG4iKXtsYXN0U3BhY2VJbkxp
bmU9MDtjaGFySW5MaW5lPTA7cm93Kys7fQppZihjaGFySW5MaW5lPmxpbmVMZW5n
dGgpe2lmKGxhc3RTcGFjZUluTGluZT4wKXtjaGFySW5MaW5lPWNoYXJJbkxpbmUt
bGFzdFNwYWNlSW5MaW5lO2xhc3RTcGFjZUluTGluZT0wO3JvdysrO319fQp2YXIg
bmV4dFNwYWNlPTA7Zm9yKGo9Y2FyZXQ7ajxjYXJldCtsaW5lTGVuZ3RoO2orKyl7
aWYodGV4dC5jaGFyQXQoaik9PSIgInx8dGV4dC5jaGFyQXQoaik9PSJcbiJ8fGNh
cmV0PT10ZXh0Lmxlbmd0aCl7bmV4dFNwYWNlPWo7YnJlYWs7fX0KaWYobmV4dFNw
YWNlPmxpbmVMZW5ndGgmJmNhcmV0PD1saW5lTGVuZ3RoKXtjaGFySW5MaW5lPWNh
cmV0LWxhc3RTcGFjZUluTGluZTtyb3crKzt9CnJldHVybigkLm9zLm5hbWU9PSdt
YWMnPzEzOigkLm9zLm5hbWU9PSdsaW51eCc/MTU6MTYpKSpyb3c7fQpyZXR1cm4g
dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoJCh0aGlzKS5pcygnOmhpZGRlbicpKXt9
ZWxzZSBpZih0aGlzLnNlbGVjdGlvblN0YXJ0fHx0aGlzLnNlbGVjdGlvblN0YXJ0
PT0nMCcpe3ZhciBzY3JvbGw9Z2V0Q2FyZXRTY3JvbGxQb3NpdGlvbih0aGlzKTtp
ZihvcHRpb25zLmZvcmNlfHxzY3JvbGw8JCh0aGlzKS5zY3JvbGxUb3AoKXx8c2Ny
b2xsPiQodGhpcykuc2Nyb2xsVG9wKCkrJCh0aGlzKS5oZWlnaHQoKSkKJCh0aGlz
KS5zY3JvbGxUb3Aoc2Nyb2xsKTt9ZWxzZSBpZihkb2N1bWVudC5zZWxlY3Rpb24m
JmRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSl7dmFyIHJhbmdlPWRvY3Vt
ZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk7dmFyIHNhdmVkUmFuZ2U9ZG9jdW1l
bnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7dmFyIHBvcz0kKHRoaXMpLnRleHRT
ZWxlY3Rpb24oJ2dldENhcmV0UG9zaXRpb24nKTt2YXIgb2xkU2Nyb2xsVG9wPXRo
aXMuc2Nyb2xsVG9wO3JhbmdlLm1vdmVUb0VsZW1lbnRUZXh0KHRoaXMpO3Jhbmdl
LmNvbGxhcHNlKCk7cmFuZ2UubW92ZSgnY2hhcmFjdGVyJyxwb3MrMSk7cmFuZ2Uu
c2VsZWN0KCk7aWYodGhpcy5zY3JvbGxUb3AhPW9sZFNjcm9sbFRvcCkKdGhpcy5z
Y3JvbGxUb3ArPXJhbmdlLm9mZnNldFRvcDtlbHNlIGlmKG9wdGlvbnMuZm9yY2Up
e3JhbmdlLm1vdmUoJ2NoYXJhY3RlcicsLTEpO3JhbmdlLnNlbGVjdCgpO30Kc2F2
ZWRSYW5nZS5zZWxlY3QoKTt9CiQodGhpcykudHJpZ2dlcignc2Nyb2xsVG9Qb3Np
dGlvbicpO30pO319O3N3aXRjaChjb21tYW5kKXtjYXNlJ2VuY2Fwc3VsYXRlU2Vs
ZWN0aW9uJzpvcHRpb25zPSQuZXh0ZW5kKHsncHJlJzonJywncGVyaSc6JycsJ3Bv
c3QnOicnLCdvd25saW5lJzpmYWxzZSwncmVwbGFjZSc6ZmFsc2UsJ3NlbGVjdFBl
cmknOnRydWV9LG9wdGlvbnMpO2JyZWFrO2Nhc2UnZ2V0Q2FyZXRQb3NpdGlvbic6
b3B0aW9ucz0kLmV4dGVuZCh7J3N0YXJ0QW5kRW5kJzpmYWxzZX0sb3B0aW9ucyk7
YnJlYWs7Y2FzZSdzZXRTZWxlY3Rpb24nOm9wdGlvbnM9JC5leHRlbmQoeydzdGFy
dCc6dW5kZWZpbmVkLCdlbmQnOnVuZGVmaW5lZCwnc3RhcnRDb250YWluZXInOnVu
ZGVmaW5lZCwnZW5kQ29udGFpbmVyJzp1bmRlZmluZWR9LG9wdGlvbnMpO2lmKG9w
dGlvbnMuZW5kPT09dW5kZWZpbmVkKQpvcHRpb25zLmVuZD1vcHRpb25zLnN0YXJ0
O2lmKG9wdGlvbnMuZW5kQ29udGFpbmVyPT11bmRlZmluZWQpCm9wdGlvbnMuZW5k
Q29udGFpbmVyPW9wdGlvbnMuc3RhcnRDb250YWluZXI7YnJlYWs7Y2FzZSdzY3Jv
bGxUb0NhcmV0UG9zaXRpb24nOm9wdGlvbnM9JC5leHRlbmQoeydmb3JjZSc6ZmFs
c2V9LG9wdGlvbnMpO2JyZWFrO30KdmFyIGNvbnRleHQ9JCh0aGlzKS5kYXRhKCd3
aWtpRWRpdG9yLWNvbnRleHQnKTt2YXIgaGFzSWZyYW1lPWNvbnRleHQhPT11bmRl
ZmluZWQmJmNvbnRleHQuJGlmcmFtZSE9PXVuZGVmaW5lZDt2YXIgbmVlZFNhdmU9
ZmFsc2U7aWYoaGFzSWZyYW1lJiZjb250ZXh0LnNhdmVkU2VsZWN0aW9uIT09bnVs
bCl7Y29udGV4dC5mbi5yZXN0b3JlU2VsZWN0aW9uKCk7bmVlZFNhdmU9dHJ1ZTt9
CnJldHZhbD0oaGFzSWZyYW1lP2NvbnRleHQuZm46Zm4pW2NvbW1hbmRdLmNhbGwo
dGhpcyxvcHRpb25zKTtpZihoYXNJZnJhbWUmJm5lZWRTYXZlKXtjb250ZXh0LmZu
LnNhdmVTZWxlY3Rpb24oKTt9CnJldHVybiByZXR2YWw7fTt9KShqUXVlcnkpOyhm
dW5jdGlvbigkKXskLndpa2lFZGl0b3I9eydtb2R1bGVzJzp7fSwnaW5zdGFuY2Vz
JzpbXSwnYnJvd3NlcnMnOnsnbHRyJzp7J21zaWUnOltbJz49Jyw3XV0sJ2ZpcmVm
b3gnOltbJz49JywyXV0sJ29wZXJhJzpbWyc+PScsOS42XV0sJ3NhZmFyaSc6W1sn
Pj0nLDNdXSwnY2hyb21lJzpbWyc+PScsM11dLCduZXRzY2FwZSc6W1snPj0nLDld
XSwnYmxhY2tiZXJyeSc6ZmFsc2UsJ2lwb2QnOmZhbHNlLCdpcGhvbmUnOmZhbHNl
fSwncnRsJzp7J21zaWUnOltbJz49Jyw4XV0sJ2ZpcmVmb3gnOltbJz49JywyXV0s
J29wZXJhJzpbWyc+PScsOS42XV0sJ3NhZmFyaSc6W1snPj0nLDNdXSwnY2hyb21l
JzpbWyc+PScsM11dLCduZXRzY2FwZSc6W1snPj0nLDldXSwnYmxhY2tiZXJyeSc6
ZmFsc2UsJ2lwb2QnOmZhbHNlLCdpcGhvbmUnOmZhbHNlfX0sJ2ltZ1BhdGgnOndn
U2NyaXB0UGF0aCsnL2V4dGVuc2lvbnMvVXNhYmlsaXR5SW5pdGlhdGl2ZS9pbWFn
ZXMvd2lraUVkaXRvci8nLCdpc1N1cHBvcnRlZCc6ZnVuY3Rpb24obW9kdWxlKXtp
Zihtb2R1bGUmJnR5cGVvZiBtb2R1bGUubmFtZSE9J3VuZGVmaW5lZCcmJihtb2R1
bGUubmFtZT09J3RvYyd8fG1vZHVsZS5uYW1lPT0naGlnaGxpZ2h0JykmJnR5cGVv
ZiB3Z1JlYWxseUdpdmVNZVRPQz09J3VuZGVmaW5lZCcpe3JldHVybiBtb2R1bGUu
c3VwcG9ydGVkPWZhbHNlO30KdmFyIG1vZD1tb2R1bGUmJidicm93c2VycydpbiBt
b2R1bGU/bW9kdWxlOiQud2lraUVkaXRvcjtpZih0eXBlb2YgbW9kLnN1cHBvcnRl
ZCE9PSd1bmRlZmluZWQnKXtyZXR1cm4gbW9kLnN1cHBvcnRlZDt9CnJldHVybiBt
b2Quc3VwcG9ydGVkPW13LnVzYWJpbGl0eS50ZXN0QnJvd3Nlcihtb2QuYnJvd3Nl
cnMpO30sJ2lzUmVxdWlyZWQnOmZ1bmN0aW9uKG1vZHVsZSxyZXF1aXJlbWVudCl7
aWYodHlwZW9mIG1vZHVsZVsncmVxJ10hPT0ndW5kZWZpbmVkJyl7Zm9yKHJlcSBp
biBtb2R1bGVbJ3JlcSddKXtpZihtb2R1bGVbJ3JlcSddW3JlcV09PXJlcXVpcmVt
ZW50KXtyZXR1cm4gdHJ1ZTt9fX0KcmV0dXJuIGZhbHNlO30sJ2F1dG9Nc2cnOmZ1
bmN0aW9uKG9iamVjdCxwcm9wZXJ0eSl7aWYodHlwZW9mIHByb3BlcnR5PT0nb2Jq
ZWN0Jyl7Zm9yKHZhciBpIGluIHByb3BlcnR5KXtpZihwcm9wZXJ0eVtpXWluIG9i
amVjdHx8cHJvcGVydHlbaV0rJ01zZydpbiBvYmplY3Qpe3Byb3BlcnR5PXByb3Bl
cnR5W2ldO2JyZWFrO319fQppZihwcm9wZXJ0eSBpbiBvYmplY3Qpe3JldHVybiBv
YmplY3RbcHJvcGVydHldO31lbHNlIGlmKHByb3BlcnR5KydNc2cnaW4gb2JqZWN0
KXtpZih0eXBlb2Ygb2JqZWN0W3Byb3BlcnR5KydNc2cnXT09J29iamVjdCcpe3Jl
dHVybiBtdy51c2FiaWxpdHkuZ2V0TXNnLmFwcGx5KG13LnVzYWJpbGl0eSxvYmpl
Y3RbcHJvcGVydHkrJ01zZyddKTt9ZWxzZXtyZXR1cm4gbXcudXNhYmlsaXR5Lmdl
dE1zZyhvYmplY3RbcHJvcGVydHkrJ01zZyddKTt9fWVsc2V7cmV0dXJuJyc7fX0s
J2F1dG9MYW5nJzpmdW5jdGlvbihvYmplY3QsbGFuZyl7cmV0dXJuIG9iamVjdFts
YW5nfHx3Z1VzZXJMYW5ndWFnZV18fG9iamVjdFsnZGVmYXVsdCddfHxvYmplY3Q7
fSwnYXV0b0ljb24nOmZ1bmN0aW9uKGljb24scGF0aCxsYW5nKXt2YXIgc3JjPSQu
d2lraUVkaXRvci5hdXRvTGFuZyhpY29uLGxhbmcpO3BhdGg9cGF0aHx8JC53aWtp
RWRpdG9yLmltZ1BhdGg7aWYoc3JjLnN1YnN0cigwLDcpIT0naHR0cDovLycmJnNy
Yy5zdWJzdHIoMCw4KSE9J2h0dHBzOi8vJyYmc3JjWzBdIT0nLycpe3NyYz1wYXRo
K3NyYzt9CnJldHVybiBzcmMrJz8nK3dnV2lraUVkaXRvckljb25WZXJzaW9uO30s
J2F1dG9JY29uT3JPZmZzZXQnOmZ1bmN0aW9uKGljb24sb2Zmc2V0LHBhdGgsbGFu
Zyl7bGFuZz1sYW5nfHx3Z1VzZXJMYW5ndWFnZTtpZih0eXBlb2Ygb2Zmc2V0PT0n
b2JqZWN0JyYmbGFuZyBpbiBvZmZzZXQpe3JldHVybiBvZmZzZXRbbGFuZ107fWVs
c2UgaWYodHlwZW9mIGljb249PSdvYmplY3QnJiZsYW5nIGluIGljb24pe3JldHVy
biAkLndpa2lFZGl0b3IuYXV0b0ljb24oaWNvbix1bmRlZmluZWQsbGFuZyk7fWVs
c2V7cmV0dXJuICQud2lraUVkaXRvci5hdXRvTGFuZyhvZmZzZXQsbGFuZyk7fX19
OyQuZm4ud2lraUVkaXRvcj1mdW5jdGlvbigpe2lmKCEkai53aWtpRWRpdG9yLmlz
U3VwcG9ydGVkKCkpe3JldHVybiAkKHRoaXMpO30KdmFyIGNvbnRleHQ9JCh0aGlz
KS5kYXRhKCd3aWtpRWRpdG9yLWNvbnRleHQnKTtpZighY29udGV4dHx8dHlwZW9m
IGNvbnRleHQ9PSd1bmRlZmluZWQnKXtjb250ZXh0PXsnJHRleHRhcmVhJzokKHRo
aXMpLCd2aWV3cyc6e30sJ21vZHVsZXMnOnt9LCdkYXRhJzp7fSwnaW5zdGFuY2Un
OiQud2lraUVkaXRvci5pbnN0YW5jZXMucHVzaCgkKHRoaXMpKS0xLCdvZmZzZXRz
JzpudWxsLCdodG1sVG9UZXh0TWFwJzp7fSwnb2xkSFRNTCc6bnVsbCwnb2xkRGVs
YXllZEhUTUwnOm51bGwsJ29sZERlbGF5ZWRTZWwnOm51bGwsJ3NhdmVkU2VsZWN0
aW9uJzpudWxsLCdoaXN0b3J5JzpbXSwnaGlzdG9yeVBvc2l0aW9uJzotMSwnb2xk
RGVsYXllZEhpc3RvcnlQb3NpdGlvbic6LTF9O2NvbnRleHQuYXBpPXsnYWRkTW9k
dWxlJzpmdW5jdGlvbihjb250ZXh0LGRhdGEpe3ZhciBtb2R1bGVzPXt9O2lmKHR5
cGVvZiBkYXRhPT0nc3RyaW5nJyl7bW9kdWxlc1tkYXRhXT17fTt9ZWxzZSBpZih0
eXBlb2YgZGF0YT09J29iamVjdCcpe21vZHVsZXM9ZGF0YTt9CmZvcih2YXIgbW9k
dWxlIGluIG1vZHVsZXMpe2lmKHR5cGVvZiBtb2R1bGU9PSdzdHJpbmcnJiYkLndp
a2lFZGl0b3IuaXNTdXBwb3J0ZWQoJC53aWtpRWRpdG9yLm1vZHVsZXNbbW9kdWxl
XSkpe2lmKCdhcGknaW4gJC53aWtpRWRpdG9yLm1vZHVsZXNbbW9kdWxlXSl7Zm9y
KHZhciBjYWxsIGluICQud2lraUVkaXRvci5tb2R1bGVzW21vZHVsZV0uYXBpKXtp
ZighKGNhbGwgaW4gY29udGV4dC5hcGkpKXtjb250ZXh0LmFwaVtjYWxsXT0kLndp
a2lFZGl0b3IubW9kdWxlc1ttb2R1bGVdLmFwaVtjYWxsXTt9fX0KaWYoJ2ZuJ2lu
ICQud2lraUVkaXRvci5tb2R1bGVzW21vZHVsZV0mJidjcmVhdGUnaW4gJC53aWtp
RWRpdG9yLm1vZHVsZXNbbW9kdWxlXS5mbil7Y29udGV4dC5tb2R1bGVzW21vZHVs
ZV09e307JC53aWtpRWRpdG9yLm1vZHVsZXNbbW9kdWxlXS5mbi5jcmVhdGUoY29u
dGV4dCxtb2R1bGVzW21vZHVsZV0pO319fX19O2NvbnRleHQuZXZ0PXsna2V5ZG93
bic6ZnVuY3Rpb24oZXZlbnQpe3N3aXRjaChldmVudC53aGljaCl7Y2FzZSA5Omlm
KGV2ZW50LmN0cmxLZXl8fGV2ZW50LmFsdEtleXx8ZXZlbnQuc2hpZnRLZXkpe3Jl
dHVybiB0cnVlO31lbHNle3ZhciAkdGFiaW5kZXhMaXN0PSRqKCdbdGFiaW5kZXhd
OnZpc2libGUnKS5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEudGFiSW5kZXgt
Yi50YWJJbmRleDt9KTtmb3IodmFyIGk9MDtpPCR0YWJpbmRleExpc3QubGVuZ3Ro
O2krKyl7aWYoJHRhYmluZGV4TGlzdC5lcShpKS5hdHRyKCdpZCcpPT1jb250ZXh0
LiRpZnJhbWUuYXR0cignaWQnKSl7JHRhYmluZGV4TGlzdC5nZXQoaSsxKS5mb2N1
cygpO2JyZWFrO319CnJldHVybiBmYWxzZTt9CmJyZWFrO2Nhc2UgODY6aWYoZXZl
bnQuY3RybEtleSYmJC5icm93c2VyLm1zaWUpe2NvbnRleHQuZXZ0LnBhc3RlKGV2
ZW50KTt9CmJyZWFrO30KcmV0dXJuIHRydWU7fSwnY2hhbmdlJzpmdW5jdGlvbihl
dmVudCl7ZXZlbnQuZGF0YS5zY29wZT0nZGl2aXNpb24nO3ZhciBuZXdIVE1MPWNv
bnRleHQuJGNvbnRlbnQuaHRtbCgpO2lmKGNvbnRleHQub2xkSFRNTCE9bmV3SFRN
TCl7Y29udGV4dC5mbi5wdXJnZU9mZnNldHMoKTtjb250ZXh0Lm9sZEhUTUw9bmV3
SFRNTDtldmVudC5kYXRhLnNjb3BlPSdyZWFsY2hhbmdlJzt9CmlmKGNvbnRleHQu
JGNvbnRlbnQuY2hpbGRyZW4oKS5sZW5ndGg9PTApe2NvbnRleHQuJGNvbnRlbnQu
YXBwZW5kKCc8cD48L3A+Jyk7fQpyZXR1cm4gdHJ1ZTt9LCdkZWxheWVkQ2hhbmdl
JzpmdW5jdGlvbihldmVudCl7ZXZlbnQuZGF0YS5zY29wZT0nZGl2aXNpb24nO3Zh
ciBuZXdIVE1MPWNvbnRleHQuJGNvbnRlbnQuaHRtbCgpO2lmKGNvbnRleHQub2xk
RGVsYXllZEhUTUwhPW5ld0hUTUwpe2NvbnRleHQub2xkRGVsYXllZEhUTUw9bmV3
SFRNTDtldmVudC5kYXRhLnNjb3BlPSdyZWFsY2hhbmdlJzt2YXIgY3Vyc29yUG9z
PWNvbnRleHQuZm4uZ2V0Q2FyZXRQb3NpdGlvbigpO3ZhciB0PWNvbnRleHQuZm4u
Z2V0T2Zmc2V0KGN1cnNvclBvc1swXSk7aWYoISQuYnJvd3Nlci5tc2llJiZ0JiZ0
Lm5vZGUubm9kZU5hbWU9PScjdGV4dCcmJnQubm9kZS5wYXJlbnROb2RlLm5vZGVO
YW1lLnRvTG93ZXJDYXNlKCk9PSdib2R5Jyl7JCh0Lm5vZGUpLndyYXAoIjxwPjwv
cD4iKTtjb250ZXh0LmZuLnB1cmdlT2Zmc2V0cygpO2NvbnRleHQuZm4uc2V0U2Vs
ZWN0aW9uKHtzdGFydDpjdXJzb3JQb3NbMF0sZW5kOmN1cnNvclBvc1sxXX0pO319
CmNvbnRleHQuZm4udXBkYXRlSGlzdG9yeShldmVudC5kYXRhLnNjb3BlPT0ncmVh
bGNoYW5nZScpO3JldHVybiB0cnVlO30sJ2N1dCc6ZnVuY3Rpb24oZXZlbnQpe3Nl
dFRpbWVvdXQoZnVuY3Rpb24oKXtjb250ZXh0LiRjb250ZW50LmZpbmQoJ2JyJyku
ZWFjaChmdW5jdGlvbigpe2lmKCQodGhpcykucGFyZW50KCkuaXMoJ2JvZHknKSl7
JCh0aGlzKS53cmFwKCQoJzxwPjwvcD4nKSk7fX0pO30sMTAwKTtyZXR1cm4gdHJ1
ZTt9LCdwYXN0ZSc6ZnVuY3Rpb24oZXZlbnQpe3ZhciBjdXJzb3JQb3M9Y29udGV4
dC5mbi5nZXRDYXJldFBvc2l0aW9uKCk7dmFyIG9mZnNldD0wO3ZhciBvbGRMZW5n
dGg9Y29udGV4dC5mbi5nZXRDb250ZW50cygpLmxlbmd0aDtjb250ZXh0LiRjb250
ZW50LmZpbmQoJyonKS5hZGRDbGFzcygnd2lraUVkaXRvcicpO2lmKCQubGF5b3V0
Lm5hbWUhPT0nd2Via2l0Jyl7Y29udGV4dC4kY29udGVudC5hZGRDbGFzcygncGFz
dGluZycpO30Kc2V0VGltZW91dChmdW5jdGlvbigpe2NvbnRleHQuJGNvbnRlbnQu
ZmluZCgnc2NyaXB0LHN0eWxlLGltZyxpbnB1dCxzZWxlY3QsdGV4dGFyZWEsaHIs
YnV0dG9uLGxpbmssbWV0YScpLnJlbW92ZSgpO3ZhciAkc2VsZWN0aW9uPWNvbnRl
eHQuJGNvbnRlbnQuZmluZCgnOm5vdCgud2lraUVkaXRvciknKTt2YXIgbm9kZVRv
RGVsZXRlPVtdO3ZhciBmaXJzdERpcnR5Tm9kZTtpZigkc2VsZWN0aW9uLmxlbmd0
aD09MCl7Zmlyc3REaXJ0eU5vZGU9Y29udGV4dC5mbi5nZXRPZmZzZXQoY3Vyc29y
UG9zWzBdKS5ub2RlO31lbHNle2ZpcnN0RGlydHlOb2RlPSRzZWxlY3Rpb24uZXEo
MClbMF07fQp3aGlsZShmaXJzdERpcnR5Tm9kZSE9bnVsbCl7d2hpbGUoZmlyc3RE
aXJ0eU5vZGUucGFyZW50Tm9kZS5ub2RlTmFtZSE9J0JPRFknJiYhJChmaXJzdERp
cnR5Tm9kZS5wYXJlbnROb2RlKS5oYXNDbGFzcygnd2lraUVkaXRvcicpKXtmaXJz
dERpcnR5Tm9kZT1maXJzdERpcnR5Tm9kZS5wYXJlbnROb2RlO30Kd2hpbGUoZmly
c3REaXJ0eU5vZGUucHJldmlvdXNTaWJsaW5nIT1udWxsJiYhJChmaXJzdERpcnR5
Tm9kZS5wcmV2aW91c1NpYmxpbmcpLmhhc0NsYXNzKCd3aWtpRWRpdG9yJykpe2lm
KCQoZmlyc3REaXJ0eU5vZGUucHJldmlvdXNTaWJsaW5nKS5oYXNDbGFzcygnI2Nv
bW1lbnQnKSl7JChmaXJzdERpcnR5Tm9kZSkucmVtb3ZlKCk7fWVsc2V7Zmlyc3RE
aXJ0eU5vZGU9Zmlyc3REaXJ0eU5vZGUucHJldmlvdXNTaWJsaW5nO319CnZhciAk
bGFzdERpcnR5Tm9kZT0kKGZpcnN0RGlydHlOb2RlKTt2YXIgY2M9bWFrZUNvbnRl
bnRDb2xsZWN0b3IoJC5icm93c2VyLG51bGwpO3doaWxlKGZpcnN0RGlydHlOb2Rl
IT1udWxsJiYhJChmaXJzdERpcnR5Tm9kZSkuaGFzQ2xhc3MoJ3dpa2lFZGl0b3In
KSl7Y2MuY29sbGVjdENvbnRlbnQoZmlyc3REaXJ0eU5vZGUpO2NjLm5vdGlmeU5l
eHROb2RlKGZpcnN0RGlydHlOb2RlLm5leHRTaWJsaW5nKTtwYXN0ZWRDb250ZW50
PWNjLmdldExpbmVzKCk7aWYoKHBhc3RlZENvbnRlbnQubGVuZ3RoPD0xfHxwYXN0
ZWRDb250ZW50W3Bhc3RlZENvbnRlbnQubGVuZ3RoLTFdIT09IiIpJiZmaXJzdERp
cnR5Tm9kZS5uZXh0U2libGluZyl7bm9kZVRvRGVsZXRlLnB1c2goZmlyc3REaXJ0
eU5vZGUpO2ZpcnN0RGlydHlOb2RlPWZpcnN0RGlydHlOb2RlLm5leHRTaWJsaW5n
O2NjLmNvbGxlY3RDb250ZW50KGZpcnN0RGlydHlOb2RlKTtjYy5ub3RpZnlOZXh0
Tm9kZShmaXJzdERpcnR5Tm9kZS5uZXh0U2libGluZyk7fQpub2RlVG9EZWxldGUu
cHVzaChmaXJzdERpcnR5Tm9kZSk7Zmlyc3REaXJ0eU5vZGU9Zmlyc3REaXJ0eU5v
ZGUubmV4dFNpYmxpbmc7fQp2YXIgY2NEYXRhPWNjLmZpbmlzaCgpO3ZhciBwYXN0
ZWRDb250ZW50PWNjRGF0YS5saW5lcztpZihwYXN0ZWRDb250ZW50Lmxlbmd0aD09
MCYmZmlyc3REaXJ0eU5vZGUpe29mZnNldCs9JChmaXJzdERpcnR5Tm9kZSkudGV4
dCgpLmxlbmd0aDt9CmlmKG5vZGVUb0RlbGV0ZS5sZW5ndGg+MCl7JGxhc3REaXJ0
eU5vZGU9JChub2RlVG9EZWxldGVbbm9kZVRvRGVsZXRlLmxlbmd0aC0xXSk7fQp2
YXIgdGVzdFZhbD0nJzt0ZXN0VmFsPSQobm9kZVRvRGVsZXRlWzBdKS50ZXh0KCk7
dmFyIHBhc3RlZFByZXR0eT0nJztmb3IodmFyIGk9MDtpPHBhc3RlZENvbnRlbnQu
bGVuZ3RoO2krKyl7cGFzdGVkUHJldHR5PXBhc3RlZENvbnRlbnRbaV0ucmVwbGFj
ZSgvJi9nLCcmYW1wOycpLnJlcGxhY2UoLzwvZywnJmx0OycpLnJlcGxhY2UoLz4v
ZywnJmd0OycpLnJlcGxhY2UoL1xyP1xuL2csJ1xcbicpO21hdGNoPXBhc3RlZENv
bnRlbnRbaV0ubWF0Y2goL15bXHNdK1teXHNdLyk7aWYobWF0Y2ghPW51bGwmJm1h
dGNoLmxlbmd0aD4wKXtpbmRleD1tYXRjaFswXS5sZW5ndGg7bGVhZGluZ1NwYWNl
PW1hdGNoWzBdLnJlcGxhY2UoL1tcc10vZywnJm5ic3A7Jyk7cGFzdGVkUHJldHR5
PWxlYWRpbmdTcGFjZStwYXN0ZWRQcmV0dHkuc3Vic3RyaW5nKGluZGV4LHBhc3Rl
ZFByZXR0eS5sZW5ndGgpO30KJG5ld0VsZW1lbnQ9JCgnPHAgY2xhc3M9Indpa2lF
ZGl0b3IiID48L3A+Jyk7aWYocGFzdGVkUHJldHR5KXskbmV3RWxlbWVudC5odG1s
KCc8c3BhbiBjbGFzcyA9ICJ3aWtpRWRpdG9yIj4nK3Bhc3RlZFByZXR0eSsnPC9z
cGFuPicpO31lbHNleyRuZXdFbGVtZW50Lmh0bWwoJzxiciBjbGFzcz0id2lraUVk
aXRvciI+Jyk7fQokbmV3RWxlbWVudC5pbnNlcnRBZnRlcigkbGFzdERpcnR5Tm9k
ZSk7b2Zmc2V0Kz1wYXN0ZWRQcmV0dHkubGVuZ3RoOyRsYXN0RGlydHlOb2RlPSRu
ZXdFbGVtZW50O30Kd2hpbGUobm9kZVRvRGVsZXRlLmxlbmd0aD4wKXskKG5vZGVU
b0RlbGV0ZS5wb3AoKSkucmVtb3ZlKCk7fQokc2VsZWN0aW9uPWNvbnRleHQuJGNv
bnRlbnQuZmluZCgnOm5vdCgud2lraUVkaXRvciknKTtpZigkc2VsZWN0aW9uLmxl
bmd0aD09MCl7Zmlyc3REaXJ0eU5vZGU9bnVsbDt9ZWxzZXtmaXJzdERpcnR5Tm9k
ZT0kc2VsZWN0aW9uLmVxKDApWzBdO319CmNvbnRleHQuJGNvbnRlbnQuZmluZCgn
Lndpa2lFZGl0b3InKS5yZW1vdmVDbGFzcygnd2lraUVkaXRvcicpO3ZhciByZXN0
b3JlVG89Y3Vyc29yUG9zWzFdK29mZnNldDtjb250ZXh0LmZuLnNldFNlbGVjdGlv
bih7c3RhcnQ6cmVzdG9yZVRvLGVuZDpyZXN0b3JlVG99KTt9LDApO3JldHVybiB0
cnVlO30sJ3JlYWR5JzpmdW5jdGlvbihldmVudCl7Y29udGV4dC5oaXN0b3J5LnB1
c2goeydodG1sJzpjb250ZXh0LiRjb250ZW50Lmh0bWwoKSwnc2VsJzpjb250ZXh0
LmZuLmdldENhcmV0UG9zaXRpb24oKX0pO3JldHVybiB0cnVlO319O2NvbnRleHQu
Zm49eyd0cmlnZ2VyJzpmdW5jdGlvbihuYW1lLGV2ZW50KXtpZih0eXBlb2YgZXZl
bnQ9PSd1bmRlZmluZWQnKXtldmVudD17J3R5cGUnOidjdXN0b20nfTt9CmlmKHR5
cGVvZiBldmVudC5kYXRhPT0ndW5kZWZpbmVkJyl7ZXZlbnQuZGF0YT17fTt9Cmlm
KG5hbWUgaW4gY29udGV4dC5ldnQpe2lmKCFjb250ZXh0LmV2dFtuYW1lXShldmVu
dCkpe3JldHVybiBmYWxzZTt9fQp2YXIgcmV0dXJuRnJvbU1vZHVsZXM9bnVsbDtm
b3IodmFyIG1vZHVsZSBpbiBjb250ZXh0Lm1vZHVsZXMpe2lmKG1vZHVsZSBpbiAk
Lndpa2lFZGl0b3IubW9kdWxlcyYmJ2V2dCdpbiAkLndpa2lFZGl0b3IubW9kdWxl
c1ttb2R1bGVdJiZuYW1lIGluICQud2lraUVkaXRvci5tb2R1bGVzW21vZHVsZV0u
ZXZ0KXt2YXIgcmV0PSQud2lraUVkaXRvci5tb2R1bGVzW21vZHVsZV0uZXZ0W25h
bWVdKGNvbnRleHQsZXZlbnQpO2lmKHJldCE9bnVsbCl7aWYocmV0dXJuRnJvbU1v
ZHVsZXM9PW51bGwpe3JldHVybkZyb21Nb2R1bGVzPXJldDt9ZWxzZXtyZXR1cm5G
cm9tTW9kdWxlcz1yZXR1cm5Gcm9tTW9kdWxlcyYmcmV0O319fX0KaWYocmV0dXJu
RnJvbU1vZHVsZXMhPW51bGwpe3JldHVybiByZXR1cm5Gcm9tTW9kdWxlczt9ZWxz
ZXtyZXR1cm4gdHJ1ZTt9fSwnYWRkQnV0dG9uJzpmdW5jdGlvbihvcHRpb25zKXtj
b250ZXh0LiRjb250cm9scy5zaG93KCk7Y29udGV4dC4kYnV0dG9ucy5zaG93KCk7
cmV0dXJuICQoJzxidXR0b24gLz4nKS50ZXh0KCQud2lraUVkaXRvci5hdXRvTXNn
KG9wdGlvbnMsJ2NhcHRpb24nKSkuY2xpY2sob3B0aW9ucy5hY3Rpb24pLmFwcGVu
ZFRvKGNvbnRleHQuJGJ1dHRvbnMpO30sJ2FkZFZpZXcnOmZ1bmN0aW9uKG9wdGlv
bnMpe2Z1bmN0aW9uIGFkZFRhYihvcHRpb25zKXtjb250ZXh0LiRjb250cm9scy5z
aG93KCk7Y29udGV4dC4kdGFicy5zaG93KCk7cmV0dXJuICQoJzxkaXY+PC9kaXY+
JykuYXR0cigncmVsJywnd2lraUVkaXRvci11aS12aWV3LScrb3B0aW9ucy5uYW1l
KS5hZGRDbGFzcyhjb250ZXh0LnZpZXc9PW9wdGlvbnMubmFtZT8nY3VycmVudCc6
bnVsbCkuYXBwZW5kKCQoJzxhPjwvYT4nKS5hdHRyKCdocmVmJywnIycpLm1vdXNl
ZG93bihmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KS5jbGljayhmdW5jdGlvbihl
dmVudCl7Y29udGV4dC4kdWkuZmluZCgnLndpa2lFZGl0b3ItdWktdmlldycpLmhp
ZGUoKTtjb250ZXh0LiR1aS5maW5kKCcuJyskKHRoaXMpLnBhcmVudCgpLmF0dHIo
J3JlbCcpKS5zaG93KCk7Y29udGV4dC4kdGFicy5maW5kKCdkaXYnKS5yZW1vdmVD
bGFzcygnY3VycmVudCcpOyQodGhpcykucGFyZW50KCkuYWRkQ2xhc3MoJ2N1cnJl
bnQnKTskKHRoaXMpLmJsdXIoKTtpZignaW5pdCdpbiBvcHRpb25zJiZ0eXBlb2Yg
b3B0aW9ucy5pbml0PT0nZnVuY3Rpb24nKXtvcHRpb25zLmluaXQoY29udGV4dCk7
fQpldmVudC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBmYWxzZTt9KS50ZXh0KCQu
d2lraUVkaXRvci5hdXRvTXNnKG9wdGlvbnMsJ3RpdGxlJykpKS5hcHBlbmRUbyhj
b250ZXh0LiR0YWJzKTt9CmlmKCFjb250ZXh0LiR0YWJzLmNoaWxkcmVuKCkuc2l6
ZSgpKXthZGRUYWIoeyduYW1lJzond2lraXRleHQnLCd0aXRsZU1zZyc6J3dpa2ll
ZGl0b3Itd2lraXRleHQtdGFiJ30pO30KYWRkVGFiKG9wdGlvbnMpO3JldHVybiAk
KCc8ZGl2PjwvZGl2PicpLmFkZENsYXNzKCd3aWtpRWRpdG9yLXVpLXZpZXcgd2lr
aUVkaXRvci11aS12aWV3LScrb3B0aW9ucy5uYW1lKS5oaWRlKCkuYXBwZW5kVG8o
Y29udGV4dC4kdWkpO30sJ2hpZ2hsaWdodExpbmUnOmZ1bmN0aW9uKCRlbGVtZW50
LG1vZGUpe2lmKCEkZWxlbWVudC5pcygncCcpKXskZWxlbWVudD0kZWxlbWVudC5j
bG9zZXN0KCdwJyk7fQokZWxlbWVudC5jc3MoJ2JhY2tncm91bmRDb2xvcicsJyNB
QUNDRkYnKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGVsZW1lbnQuYW5pbWF0ZSh7
J2JhY2tncm91bmRDb2xvcic6J3doaXRlJ30sJ3Nsb3cnKTt9LDEwMCk7c2V0VGlt
ZW91dChmdW5jdGlvbigpeyRlbGVtZW50LmNzcygnYmFja2dyb3VuZENvbG9yJywn
d2hpdGUnKTt9LDEwMDApO30sJ2h0bWxUb1RleHQnOmZ1bmN0aW9uKGh0bWwpe2lm
KGh0bWwgaW4gY29udGV4dC5odG1sVG9UZXh0TWFwKXtyZXR1cm4gY29udGV4dC5o
dG1sVG9UZXh0TWFwW2h0bWxdO30KdmFyIG9yaWdIVE1MPWh0bWw7aHRtbD1odG1s
LnJlcGxhY2UoL1xyP1xuL2csIiIpLnJlcGxhY2UoLyZuYnNwOy9nLCIgIikucmVw
bGFjZSgvXDxiclteXD5dKlw+XDxcL3BcPi9naSwnPC9wPicpLnJlcGxhY2UoL1w8
XC9wXD5ccypcPHBbXlw+XSpcPi9naSwiXG4iKS5yZXBsYWNlKC9cPGJyW15cPl0q
XD4vZ2ksIlxuIikucmVwbGFjZSgvXDxcL3BcPihcbiopXDxwW15cPl0qXD4vZ2ks
IiQxXG4iKS5yZXBsYWNlKC9cPHBbXlw+XSpcPjxwW15cPl0qXD4vZ2ksJzxwPicp
LnJlcGxhY2UoL1w8XC9wXD48XC9wXD4vZ2ksJzwvcD4nKTt2YXIgbGVhZGluZz1o
dG1sLm1hdGNoKC9eXHMqLylbMF07dmFyIHRyYWlsaW5nPWh0bWwubWF0Y2goL1xz
KiQvKVswXTtodG1sPWh0bWwuc3Vic3RyKGxlYWRpbmcubGVuZ3RoLGh0bWwubGVu
Z3RoLWxlYWRpbmcubGVuZ3RoLXRyYWlsaW5nLmxlbmd0aCk7dmFyICRwcmU9JCgn
PHByZT4nK2h0bWwrJzwvcHJlPicpOyRwcmUuZmluZCgnLndpa2lFZGl0b3Itbm9p
bmNsdWRlJykuZWFjaChmdW5jdGlvbigpeyQodGhpcykucmVtb3ZlKCk7fSk7JHBy
ZS5maW5kKCcud2lraUVkaXRvci10YWInKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlz
KS50ZXh0KCJcdCIpO30pOyRwcmUuZmluZCgnYnInKS5lYWNoKGZ1bmN0aW9uKCl7
JCh0aGlzKS5yZXBsYWNlV2l0aCgiXG4iKTt9KTskcHJlLmZpbmQoJ3AnKS5lYWNo
KGZ1bmN0aW9uKCl7dmFyIHRleHQ9JCh0aGlzKS50ZXh0KCk7dmFyIHQ9bmV3IGNv
bnRleHQuZm4ucmF3VHJhdmVyc2VyKHRoaXMuZmlyc3RDaGlsZCx0aGlzLCRwcmUu
Z2V0KDApLHRydWUpLnByZXYoKTt3aGlsZSh0JiZ0Lm5vZGUubm9kZU5hbWUhPScj
dGV4dCcmJnQubm9kZS5ub2RlTmFtZSE9J0JSJyYmdC5ub2RlLm5vZGVOYW1lIT0n
UCcpe3Q9dC5wcmV2KCk7fQppZih0KXt0ZXh0PSJcbiIrdGV4dDt9CnQ9bmV3IGNv
bnRleHQuZm4ucmF3VHJhdmVyc2VyKHRoaXMubGFzdENoaWxkLHRoaXMsJHByZS5n
ZXQoMCksdHJ1ZSkubmV4dCgpO3doaWxlKHQmJnQubm9kZS5ub2RlTmFtZSE9JyN0
ZXh0JyYmdC5ub2RlLm5vZGVOYW1lIT0nQlInJiZ0Lm5vZGUubm9kZU5hbWUhPSdQ
Jyl7dD10Lm5leHQoKTt9CmlmKHQmJiF0LmluUCYmdC5ub2RlLm5vZGVOYW1lPT0n
I3RleHQnJiZ0Lm5vZGUubm9kZVZhbHVlLmNoYXJBdCgwKSE9J1xuJyYmdC5ub2Rl
Lm5vZGVWYWx1ZS5jaGFyQXQoMCkhPSdccicpe3RleHQrPSJcbiI7fQokKHRoaXMp
LnRleHQodGV4dCk7fSk7dmFyIHJldHZhbDtpZigkLmJyb3dzZXIubXNpZSl7cmV0
dmFsPSQoJzxwcmU+JyskcHJlLmh0bWwoKSsnPC9wcmU+JykudGV4dCgpLnJlcGxh
Y2UoL1xyL2csJ1xuJyk7fWVsc2V7cmV0dmFsPSRwcmUudGV4dCgpO30KcmV0dXJu
IGNvbnRleHQuaHRtbFRvVGV4dE1hcFtvcmlnSFRNTF09bGVhZGluZytyZXR2YWwr
dHJhaWxpbmc7fSwnYmVmb3JlU2VsZWN0aW9uJzpmdW5jdGlvbihjbGFzc25hbWUs
c3RyaWN0KXtpZih0eXBlb2YgY2xhc3NuYW1lPT0ndW5kZWZpbmVkJyl7Y2xhc3Nu
YW1lPScnO30KdmFyIGU9bnVsbCxvZmZzZXQ9bnVsbDtpZihjb250ZXh0LiRpZnJh
bWVbMF0uY29udGVudFdpbmRvdy5nZXRTZWxlY3Rpb24pe3ZhciBzZWxlY3Rpb249
Y29udGV4dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0aW9uKCk7
aWYoc2VsZWN0aW9uLmJhc2VOb2RlIT09bnVsbCl7ZT1zZWxlY3Rpb24uZ2V0UmFu
Z2VBdCgwKS5zdGFydENvbnRhaW5lcjtvZmZzZXQ9c2VsZWN0aW9uLmdldFJhbmdl
QXQoMCkuc3RhcnRPZmZzZXQ7fWVsc2V7cmV0dXJuIG51bGw7fQp2YXIgYm9keT1j
b250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVudC5ib2R5O2lm
KCQuYnJvd3Nlci5vcGVyYSYmZT09Ym9keSYmb2Zmc2V0PT0xKXtyZXR1cm4gbnVs
bDt9fQppZighZSYmY29udGV4dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZG9j
dW1lbnQuc2VsZWN0aW9uKXt2YXIgcmFuZ2U9Y29udGV4dC4kaWZyYW1lWzBdLmNv
bnRlbnRXaW5kb3cuZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7dmFy
IHJhbmdlMj1jb250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVu
dC5ib2R5LmNyZWF0ZVRleHRSYW5nZSgpO3RyeXtyYW5nZTIuc2V0RW5kUG9pbnQo
J0VuZFRvU3RhcnQnLHJhbmdlKTt9Y2F0Y2goZXgpe3JldHVybiBudWxsO30KdmFy
IHNlZWtQb3M9Y29udGV4dC5mbi5odG1sVG9UZXh0KHJhbmdlMi5odG1sVGV4dCku
bGVuZ3RoO3ZhciBvZmZzZXQ9Y29udGV4dC5mbi5nZXRPZmZzZXQoc2Vla1Bvcyk7
ZT1vZmZzZXQ/b2Zmc2V0Lm5vZGU6bnVsbDtvZmZzZXQ9b2Zmc2V0P29mZnNldC5v
ZmZzZXQ6bnVsbDtpZighZSl7cmV0dXJuIG51bGw7fX0KaWYoZS5ub2RlTmFtZSE9
JyN0ZXh0Jyl7dmFyIG5ld0U9ZS5maXJzdENoaWxkO2Zvcih2YXIgaT0wO2k8b2Zm
c2V0LTEmJm5ld0U7aSsrKXtuZXdFPW5ld0UubmV4dFNpYmxpbmc7fQp3aGlsZShu
ZXdFJiZuZXdFLmxhc3RDaGlsZCl7bmV3RT1uZXdFLmxhc3RDaGlsZDt9CmU9bmV3
RXx8ZTt9CnZhciBjbGFzc1N0cj0nICcrY2xhc3NuYW1lKycgJzt3aGlsZShlKXtp
Zighc3RyaWN0JiYoIWNsYXNzbmFtZXx8KCcgJytlLmNsYXNzTmFtZSsnICcpLmlu
ZGV4T2YoY2xhc3NTdHIpIT0tMSkpe3JldHVybiAkKGUpO30KdmFyIG5leHQ9ZS5w
cmV2aW91c1NpYmxpbmc7d2hpbGUobmV4dCYmbmV4dC5sYXN0Q2hpbGQpe25leHQ9
bmV4dC5sYXN0Q2hpbGQ7fQplPW5leHR8fGUucGFyZW50Tm9kZTtzdHJpY3Q9ZmFs
c2U7fQpyZXR1cm4gJChbXSk7fSwncmF3VHJhdmVyc2VyJzpmdW5jdGlvbihub2Rl
LGluUCxhbmNlc3Rvcixza2lwTm9pbmNsdWRlKXt0aGlzLm5vZGU9bm9kZTt0aGlz
LmluUD1pblA7dGhpcy5hbmNlc3Rvcj1hbmNlc3Rvcjt0aGlzLnNraXBOb2luY2x1
ZGU9c2tpcE5vaW5jbHVkZTt0aGlzLm5leHQ9ZnVuY3Rpb24oKXt2YXIgcD10aGlz
Lm5vZGU7dmFyIG5leHRJblA9dGhpcy5pblA7d2hpbGUocCYmIXAubmV4dFNpYmxp
bmcpe3A9cC5wYXJlbnROb2RlO2lmKHA9PXRoaXMuYW5jZXN0b3Ipe3A9bnVsbDt9
CmlmKHAmJnAubm9kZU5hbWU9PSJQIil7bmV4dEluUD1udWxsO319CnA9cD9wLm5l
eHRTaWJsaW5nOm51bGw7aWYocCYmcC5ub2RlTmFtZT09IlAiKXtuZXh0SW5QPXA7
fQpkb3tpZih0aGlzLnNraXBOb2luY2x1ZGUpe3doaWxlKHAmJignICcrcC5jbGFz
c05hbWUrJyAnKS5pbmRleE9mKCcgd2lraUVkaXRvci1ub2luY2x1ZGUgJykhPS0x
KXtwPXAubmV4dFNpYmxpbmc7fX0KaWYocCYmcC5maXJzdENoaWxkKXtwPXAuZmly
c3RDaGlsZDtpZihwLm5vZGVOYW1lPT0iUCIpe25leHRJblA9cDt9fX13aGlsZShw
JiZwLmZpcnN0Q2hpbGQpO3JldHVybiBwP3snbm9kZSc6cCwnaW5QJzpuZXh0SW5Q
LCdhbmNlc3Rvcic6dGhpcy5hbmNlc3Rvciwnc2tpcE5vaW5jbHVkZSc6dGhpcy5z
a2lwTm9pbmNsdWRlLCduZXh0Jzp0aGlzLm5leHQsJ3ByZXYnOnRoaXMucHJldn06
bnVsbDt9O3RoaXMucHJldj1mdW5jdGlvbigpe3ZhciBwPXRoaXMubm9kZTt2YXIg
cHJldkluUD10aGlzLmluUDt3aGlsZShwJiYhcC5wcmV2aW91c1NpYmxpbmcpe3A9
cC5wYXJlbnROb2RlO2lmKHA9PXRoaXMuYW5jZXN0b3Ipe3A9bnVsbDt9CmlmKHAm
JnAubm9kZU5hbWU9PSJQIil7cHJldkluUD1udWxsO319CnA9cD9wLnByZXZpb3Vz
U2libGluZzpudWxsO2lmKHAmJnAubm9kZU5hbWU9PSJQIil7cHJldkluUD1wO30K
ZG97aWYodGhpcy5za2lwTm9pbmNsdWRlKXt3aGlsZShwJiYoJyAnK3AuY2xhc3NO
YW1lKycgJykuaW5kZXhPZignIHdpa2lFZGl0b3Itbm9pbmNsdWRlICcpIT0tMSl7
cD1wLnByZXZpb3VzU2libGluZzt9fQppZihwJiZwLmxhc3RDaGlsZCl7cD1wLmxh
c3RDaGlsZDtpZihwLm5vZGVOYW1lPT0iUCIpe3ByZXZJblA9cDt9fX13aGlsZShw
JiZwLmxhc3RDaGlsZCk7cmV0dXJuIHA/eydub2RlJzpwLCdpblAnOnByZXZJblAs
J2FuY2VzdG9yJzp0aGlzLmFuY2VzdG9yLCdza2lwTm9pbmNsdWRlJzp0aGlzLnNr
aXBOb2luY2x1ZGUsJ25leHQnOnRoaXMubmV4dCwncHJldic6dGhpcy5wcmV2fTpu
dWxsO307fSwndHJhdmVyc2VyJzpmdW5jdGlvbihzdGFydCl7dmFyIHN0YXJ0Tm9k
ZT1zdGFydC5qcXVlcnk/c3RhcnQuZ2V0KDApOnN0YXJ0O3ZhciBub2RlPXN0YXJ0
Tm9kZTt2YXIgaW5QPW5vZGUubm9kZU5hbWU9PSJQIj9ub2RlOm51bGw7ZG97d2hp
bGUobm9kZSYmKCcgJytub2RlLmNsYXNzTmFtZSsnICcpLmluZGV4T2YoJyB3aWtp
RWRpdG9yLW5vaW5jbHVkZSAnKSE9LTEpe25vZGU9bm9kZS5uZXh0U2libGluZzt9
CmlmKG5vZGUmJm5vZGUuZmlyc3RDaGlsZCl7bm9kZT1ub2RlLmZpcnN0Q2hpbGQ7
aWYobm9kZS5ub2RlTmFtZT09IlAiKXtpblA9bm9kZTt9fX13aGlsZShub2RlJiZu
b2RlLmZpcnN0Q2hpbGQpO3JldHVybiBuZXcgY29udGV4dC5mbi5yYXdUcmF2ZXJz
ZXIobm9kZSxpblAsc3RhcnROb2RlLHRydWUpO30sJ2dldE9mZnNldCc6ZnVuY3Rp
b24ob2Zmc2V0KXtpZighY29udGV4dC5vZmZzZXRzKXtjb250ZXh0LmZuLnJlZnJl
c2hPZmZzZXRzKCk7fQppZihvZmZzZXQgaW4gY29udGV4dC5vZmZzZXRzKXtyZXR1
cm4gY29udGV4dC5vZmZzZXRzW29mZnNldF07fQp2YXIgbG93ZXJCb3VuZD0tMTtm
b3IodmFyIG8gaW4gY29udGV4dC5vZmZzZXRzKXt2YXIgcmVhbE89cGFyc2VJbnQo
byk7aWYocmVhbE88b2Zmc2V0JiZyZWFsTz5sb3dlckJvdW5kKXtsb3dlckJvdW5k
PXJlYWxPO319CmlmKCEobG93ZXJCb3VuZCBpbiBjb250ZXh0Lm9mZnNldHMpKXty
ZXR1cm4gbnVsbDt9CnZhciBiYXNlPWNvbnRleHQub2Zmc2V0c1tsb3dlckJvdW5k
XTtyZXR1cm4gY29udGV4dC5vZmZzZXRzW29mZnNldF09eydub2RlJzpiYXNlLm5v
ZGUsJ29mZnNldCc6YmFzZS5vZmZzZXQrb2Zmc2V0LWxvd2VyQm91bmQsJ2xlbmd0
aCc6YmFzZS5sZW5ndGgsJ2xhc3RUZXh0Tm9kZSc6YmFzZS5sYXN0VGV4dE5vZGV9
O30sJ3B1cmdlT2Zmc2V0cyc6ZnVuY3Rpb24oKXtjb250ZXh0Lm9mZnNldHM9bnVs
bDt9LCdyZWZyZXNoT2Zmc2V0cyc6ZnVuY3Rpb24oKXtjb250ZXh0Lm9mZnNldHM9
W107dmFyIHQ9Y29udGV4dC5mbi50cmF2ZXJzZXIoY29udGV4dC4kY29udGVudCk7
dmFyIHBvcz0wLGxhc3RUZXh0Tm9kZT1udWxsO3doaWxlKHQpe2lmKHQubm9kZS5u
b2RlTmFtZSE9JyN0ZXh0JyYmdC5ub2RlLm5vZGVOYW1lIT0nQlInKXt0PXQubmV4
dCgpO2NvbnRpbnVlO30KdmFyIG5leHRQb3M9dC5ub2RlLm5vZGVOYW1lPT0nI3Rl
eHQnP3Bvcyt0Lm5vZGUubm9kZVZhbHVlLmxlbmd0aDpwb3MrMTt2YXIgbmV4dFQ9
dC5uZXh0KCk7dmFyIGxlYXZpbmdQPXQubm9kZS5ub2RlTmFtZT09JyN0ZXh0JyYm
dC5pblAmJm5leHRUJiYoIW5leHRULmluUHx8bmV4dFQuaW5QIT10LmluUCk7Y29u
dGV4dC5vZmZzZXRzW3Bvc109eydub2RlJzp0Lm5vZGUsJ29mZnNldCc6MCwnbGVu
Z3RoJzpuZXh0UG9zLXBvcysobGVhdmluZ1A/MTowKSwnbGFzdFRleHROb2RlJzps
YXN0VGV4dE5vZGV9O2lmKGxlYXZpbmdQKXtjb250ZXh0Lm9mZnNldHNbbmV4dFBv
c109eydub2RlJzp0Lm5vZGUsJ29mZnNldCc6bmV4dFBvcy1wb3MsJ2xlbmd0aCc6
bmV4dFBvcy1wb3MrMSwnbGFzdFRleHROb2RlJzpsYXN0VGV4dE5vZGV9O30KcG9z
PW5leHRQb3MrKGxlYXZpbmdQPzE6MCk7aWYodC5ub2RlLm5vZGVOYW1lPT0nI3Rl
eHQnKXtsYXN0VGV4dE5vZGU9dC5ub2RlO30KdD1uZXh0VDt9fSwnc2F2ZVNlbGVj
dGlvbic6ZnVuY3Rpb24oKXtpZighJC5icm93c2VyLm1zaWUpe3JldHVybjt9Cmlm
KHR5cGVvZiBjb250ZXh0LiRpZnJhbWUhPSd1bmRlZmluZWQnKXtjb250ZXh0LiRp
ZnJhbWVbMF0uY29udGVudFdpbmRvdy5mb2N1cygpO2NvbnRleHQuc2F2ZWRTZWxl
Y3Rpb249Y29udGV4dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQu
c2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7fWVsc2V7Y29udGV4dC4kdGV4dGFyZWEu
Zm9jdXMoKTtjb250ZXh0LnNhdmVkU2VsZWN0aW9uPWRvY3VtZW50LnNlbGVjdGlv
bi5jcmVhdGVSYW5nZSgpO319LCdyZXN0b3JlU2VsZWN0aW9uJzpmdW5jdGlvbigp
e2lmKCEkLmJyb3dzZXIubXNpZXx8Y29udGV4dC5zYXZlZFNlbGVjdGlvbj09PW51
bGwpe3JldHVybjt9CmlmKHR5cGVvZiBjb250ZXh0LiRpZnJhbWUhPSd1bmRlZmlu
ZWQnKXtjb250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5mb2N1cygpO31l
bHNle2NvbnRleHQuJHRleHRhcmVhLmZvY3VzKCk7fQpjb250ZXh0LnNhdmVkU2Vs
ZWN0aW9uLnNlbGVjdCgpO2NvbnRleHQuc2F2ZWRTZWxlY3Rpb249bnVsbDt9LCd1
cGRhdGVIaXN0b3J5JzpmdW5jdGlvbihodG1sQ2hhbmdlKXt2YXIgbmV3SFRNTD1j
b250ZXh0LiRjb250ZW50Lmh0bWwoKTt2YXIgbmV3U2VsPWNvbnRleHQuZm4uZ2V0
Q2FyZXRQb3NpdGlvbigpO2lmKGNvbnRleHQuaGlzdG9yeS5sZW5ndGg9PTB8fCho
dG1sQ2hhbmdlJiZjb250ZXh0Lm9sZERlbGF5ZWRIaXN0b3J5UG9zaXRpb249PWNv
bnRleHQuaGlzdG9yeVBvc2l0aW9uKSl7Y29udGV4dC5vbGREZWxheWVkU2VsPW5l
d1NlbDtpZihjb250ZXh0Lmhpc3RvcnlQb3NpdGlvbjwtMSl7Y29udGV4dC5oaXN0
b3J5LnNwbGljZShjb250ZXh0Lmhpc3RvcnkubGVuZ3RoK2NvbnRleHQuaGlzdG9y
eVBvc2l0aW9uKzEpO2NvbnRleHQuaGlzdG9yeVBvc2l0aW9uPS0xO30KY29udGV4
dC5oaXN0b3J5LnB1c2goeydodG1sJzpuZXdIVE1MLCdzZWwnOm5ld1NlbH0pO3do
aWxlKGNvbnRleHQuaGlzdG9yeS5sZW5ndGg+MTApe2NvbnRleHQuaGlzdG9yeS5z
aGlmdCgpO319ZWxzZSBpZihjb250ZXh0Lm9sZERlbGF5ZWRTZWwhPW5ld1NlbCl7
Y29udGV4dC5vbGREZWxheWVkU2VsPW5ld1NlbDtjb250ZXh0Lmhpc3RvcnlbY29u
dGV4dC5oaXN0b3J5Lmxlbmd0aCtjb250ZXh0Lmhpc3RvcnlQb3NpdGlvbl0uc2Vs
PW5ld1NlbDt9CmNvbnRleHQub2xkRGVsYXllZEhpc3RvcnlQb3NpdGlvbj1jb250
ZXh0Lmhpc3RvcnlQb3NpdGlvbjt9LCdzZXR1cElmcmFtZSc6ZnVuY3Rpb24oKXtj
b250ZXh0LiRpZnJhbWU9JCgnPGlmcmFtZT48L2lmcmFtZT4nKS5hdHRyKHsnZnJh
bWVCb3JkZXInOjAsJ2JvcmRlcic6MCwndGFiaW5kZXgnOjEsJ3NyYyc6d2dTY3Jp
cHRQYXRoKycvZXh0ZW5zaW9ucy9Vc2FiaWxpdHlJbml0aWF0aXZlL2pzL3BsdWdp
bnMvanF1ZXJ5Lndpa2lFZGl0b3IuaHRtbD8nKydpbnN0YW5jZT0nK2NvbnRleHQu
aW5zdGFuY2UrJyZ0cz0nKyhuZXcgRGF0ZSgpKS5nZXRUaW1lKCkrJyZpcz1jb250
ZW50JywnaWQnOid3aWtpRWRpdG9yLWlmcmFtZS0nK2NvbnRleHQuaW5zdGFuY2V9
KS5jc3MoeydiYWNrZ3JvdW5kQ29sb3InOid3aGl0ZScsJ3dpZHRoJzonMTAwJScs
J2hlaWdodCc6Y29udGV4dC4kdGV4dGFyZWEuaGVpZ2h0KCksJ2Rpc3BsYXknOidu
b25lJywnb3ZlcmZsb3cteSc6J3Njcm9sbCcsJ292ZXJmbG93LXgnOidoaWRkZW4n
fSkuaW5zZXJ0QWZ0ZXIoY29udGV4dC4kdGV4dGFyZWEpLmxvYWQoZnVuY3Rpb24o
KXtpZighdGhpcy5pc1NlY29uZFJ1bil7Y29udGV4dC4kaWZyYW1lWzBdLmNvbnRl
bnRXaW5kb3cuZG9jdW1lbnQuZGVzaWduTW9kZT0nb24nO2lmKCQuYnJvd3Nlci5t
c2llKXt0aGlzLmlzU2Vjb25kUnVuPXRydWU7cmV0dXJuO319CmNvbnRleHQuJGNv
bnRlbnQ9JChjb250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVu
dC5ib2R5KTtmb3IobW9kdWxlIGluIGNvbnRleHQubW9kdWxlcyl7Y29udGV4dC4k
Y29udGVudC5hZGRDbGFzcygnd2lraUVkaXRvci0nK21vZHVsZSk7fQp2YXIgaHRt
bD1jb250ZXh0LiR0ZXh0YXJlYS52YWwoKS5yZXBsYWNlKC8mZXNjOy9nLCcmZXNj
O2VzYzsnKS5yZXBsYWNlKC9cPHBcPi9nLCcmZXNjOyZsdDtwJmd0OycpLnJlcGxh
Y2UoL1w8XC9wXD4vZywnJmVzYzsmbHQ7L3AmZ3Q7JykucmVwbGFjZSgvXDxzcGFu
IGNsYXNzPSJ3aWtpRWRpdG9yLXRhYiJcPlw8XC9zcGFuXD4vZywnJmVzYzsmbHQ7
c3BhbiZuYnNwO2NsYXNzPSZxdW90O3dpa2lFZGl0b3ItdGFiJnF1b3Q7Jmd0OyZs
dDsvc3BhbiZndDsnKS5yZXBsYWNlKC8mbmJzcDsvZywnJmVzYzsmYW1wO25ic3A7
Jyk7aWYoJC5icm93c2VyLm1zaWUpe2h0bWw9aHRtbC5yZXBsYWNlKC9cdC9nLCc8
c3BhbiBjbGFzcz0id2lraUVkaXRvci10YWIiPjwvc3Bhbj4nKTtpZigkLmJyb3dz
ZXIudmVyc2lvbk51bWJlcjw9Nyl7aHRtbD1odG1sLnJlcGxhY2UoLyAvZywiJm5i
c3A7Iik7fWVsc2V7aHRtbD1odG1sLnJlcGxhY2UoLyhefFxuKSAvZywiJDEmbmJz
cDsiKTt9fQpodG1sPSQoJzxkaXYgLz4nKS50ZXh0KCc8cD4nK2h0bWwucmVwbGFj
ZSgvXHI/XG4vZywnPC9wPjxwPicpKyc8L3A+JykuaHRtbCgpLnJlcGxhY2UoLyZh
bXA7bmJzcDsvZywnJm5ic3A7JykucmVwbGFjZSgvJmx0O3AmZ3Q7L2csJzxwPicp
LnJlcGxhY2UoLyZsdDtcL3AmZ3Q7L2csJzwvcD4nKS5yZXBsYWNlKC8mbHQ7c3Bh
biggfCZuYnNwOyljbGFzcz0oInwmcXVvdDspd2lraUVkaXRvci10YWIoInwmcXVv
dDspJmd0OyZsdDtcL3NwYW4mZ3Q7L2csJzxzcGFuIGNsYXNzPSJ3aWtpRWRpdG9y
LXRhYiI+PC9zcGFuPicpLnJlcGxhY2UoLzxwPjxcL3A+L2csJzxwPjxicj48L3A+
JykucmVwbGFjZSgvJmFtcDtlc2M7JmFtcDthbXA7bmJzcDsvZywnJmFtcDtuYnNw
OycpLnJlcGxhY2UoLyZhbXA7ZXNjOyZhbXA7bHQ7cCZhbXA7Z3Q7L2csJyZsdDtw
Jmd0OycpLnJlcGxhY2UoLyZhbXA7ZXNjOyZhbXA7bHQ7XC9wJmFtcDtndDsvZywn
Jmx0Oy9wJmd0OycpLnJlcGxhY2UoLyZhbXA7ZXNjOyZhbXA7bHQ7c3BhbiZhbXA7
bmJzcDtjbGFzcz0mYW1wO3F1b3Q7d2lraUVkaXRvci10YWImYW1wO3F1b3Q7JmFt
cDtndDsmYW1wO2x0O1wvc3BhbiZhbXA7Z3Q7L2csJyZsdDtzcGFuIGNsYXNzPSJ3
aWtpRWRpdG9yLXRhYiImZ3Q7Jmx0O1wvc3BhbiZndDsnKS5yZXBsYWNlKC8mYW1w
O2VzYztlc2M7L2csJyZhbXA7ZXNjOycpO2NvbnRleHQuJGNvbnRlbnQuaHRtbCho
dG1sKTtpZigkKCdib2R5JykuaXMoJy5ydGwnKSl7Y29udGV4dC4kY29udGVudC5h
ZGRDbGFzcygncnRsJykuYXR0cignZGlyJywncnRsJyk7fQpjb250ZXh0LiR0ZXh0
YXJlYS5hdHRyKCdkaXNhYmxlZCcsdHJ1ZSk7Y29udGV4dC4kdGV4dGFyZWEuaGlk
ZSgpO2NvbnRleHQuJGlmcmFtZS5zaG93KCk7Y29udGV4dC5mbi50cmlnZ2VyKCdy
ZWFkeScpO2NvbnRleHQub2xkSFRNTD1jb250ZXh0Lm9sZERlbGF5ZWRIVE1MPWNv
bnRleHQuJGNvbnRlbnQuaHRtbCgpOyQoY29udGV4dC4kaWZyYW1lWzBdLmNvbnRl
bnRXaW5kb3cuZG9jdW1lbnQpLmJpbmQoJ2tleWRvd24nLGZ1bmN0aW9uKGV2ZW50
KXtldmVudC5qUXVlcnlOb2RlPWNvbnRleHQuZm4uZ2V0RWxlbWVudEF0Q3Vyc29y
KCk7cmV0dXJuIGNvbnRleHQuZm4udHJpZ2dlcigna2V5ZG93bicsZXZlbnQpO30p
LmJpbmQoJ2tleXVwJyxmdW5jdGlvbihldmVudCl7ZXZlbnQualF1ZXJ5Tm9kZT1j
b250ZXh0LmZuLmdldEVsZW1lbnRBdEN1cnNvcigpO3JldHVybiBjb250ZXh0LmZu
LnRyaWdnZXIoJ2tleXVwJyxldmVudCk7fSkuYmluZCgna2V5cHJlc3MnLGZ1bmN0
aW9uKGV2ZW50KXtldmVudC5qUXVlcnlOb2RlPWNvbnRleHQuZm4uZ2V0RWxlbWVu
dEF0Q3Vyc29yKCk7cmV0dXJuIGNvbnRleHQuZm4udHJpZ2dlcigna2V5cHJlc3Mn
LGV2ZW50KTt9KS5iaW5kKCdwYXN0ZScsZnVuY3Rpb24oZXZlbnQpe3JldHVybiBj
b250ZXh0LmZuLnRyaWdnZXIoJ3Bhc3RlJyxldmVudCk7fSkuYmluZCgnY3V0Jyxm
dW5jdGlvbihldmVudCl7cmV0dXJuIGNvbnRleHQuZm4udHJpZ2dlcignY3V0Jyxl
dmVudCk7fSkuYmluZCgna2V5dXAgcGFzdGUgbW91c2V1cCBjdXQgZW5jYXBzdWxh
dGVTZWxlY3Rpb24nLGZ1bmN0aW9uKGV2ZW50KXtyZXR1cm4gY29udGV4dC5mbi50
cmlnZ2VyKCdjaGFuZ2UnLGV2ZW50KTt9KS5kZWxheWVkQmluZCgyNTAsJ2tleXVw
IHBhc3RlIG1vdXNldXAgY3V0IGVuY2Fwc3VsYXRlU2VsZWN0aW9uJyxmdW5jdGlv
bihldmVudCl7Y29udGV4dC5mbi50cmlnZ2VyKCdkZWxheWVkQ2hhbmdlJyxldmVu
dCk7fSk7fSk7Y29udGV4dC4kdGV4dGFyZWEuY2xvc2VzdCgnZm9ybScpLnN1Ym1p
dChmdW5jdGlvbigpe2NvbnRleHQuJHRleHRhcmVhLmF0dHIoJ2Rpc2FibGVkJyxm
YWxzZSk7Y29udGV4dC4kdGV4dGFyZWEudmFsKGNvbnRleHQuJHRleHRhcmVhLnRl
eHRTZWxlY3Rpb24oJ2dldENvbnRlbnRzJykpO30pO2NvbnRleHQuZmFsbGJhY2tX
aW5kb3dPbkJlZm9yZVVubG9hZD13aW5kb3cub25iZWZvcmV1bmxvYWQ7d2luZG93
Lm9uYmVmb3JldW5sb2FkPWZ1bmN0aW9uKCl7Y29udGV4dC4kdGV4dGFyZWEudmFs
KGNvbnRleHQuJHRleHRhcmVhLnRleHRTZWxlY3Rpb24oJ2dldENvbnRlbnRzJykp
O2lmKGNvbnRleHQuZmFsbGJhY2tXaW5kb3dPbkJlZm9yZVVubG9hZCl7cmV0dXJu
IGNvbnRleHQuZmFsbGJhY2tXaW5kb3dPbkJlZm9yZVVubG9hZCgpO319O30sJ2dl
dEVsZW1lbnRBdEN1cnNvcic6ZnVuY3Rpb24oKXtpZihjb250ZXh0LiRpZnJhbWVb
MF0uY29udGVudFdpbmRvdy5nZXRTZWxlY3Rpb24pe3ZhciBzZWxlY3Rpb249Y29u
dGV4dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYo
c2VsZWN0aW9uLnJhbmdlQ291bnQ9PTApe3JldHVybiAkKFtdKTt9CnZhciBzYz1z
ZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5zdGFydENvbnRhaW5lcjtpZihzYy5ub2Rl
TmFtZT09IiN0ZXh0IilzYz1zYy5wYXJlbnROb2RlO3JldHVybiAkKHNjKTt9ZWxz
ZSBpZihjb250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVudC5z
ZWxlY3Rpb24pe3ZhciBzZWxlY3Rpb249Y29udGV4dC4kaWZyYW1lWzBdLmNvbnRl
bnRXaW5kb3cuZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7cmV0dXJu
ICQoc2VsZWN0aW9uLnBhcmVudEVsZW1lbnQoKSk7fX0sJ2dldENvbnRlbnRzJzpm
dW5jdGlvbigpe3ZhciBodG1sO2lmKCQuYnJvd3Nlci5tc2llKXt2YXIgJGM9JChj
b250ZXh0LiRjb250ZW50LmdldCgwKS5jbG9uZU5vZGUodHJ1ZSkpOyRjLmZpbmQo
J3AnKS5lYWNoKGZ1bmN0aW9uKCl7aWYoJCh0aGlzKS5odG1sKCk9PScnKXskKHRo
aXMpLnJlcGxhY2VXaXRoKCc8cD48L3A+Jyk7fX0pO2h0bWw9JGMuaHRtbCgpO31l
bHNle2h0bWw9Y29udGV4dC4kY29udGVudC5odG1sKCk7fQpyZXR1cm4gY29udGV4
dC5mbi5odG1sVG9UZXh0KGh0bWwpO30sJ2dldFNlbGVjdGlvbic6ZnVuY3Rpb24o
KXt2YXIgcmV0dmFsO2lmKGNvbnRleHQuJGlmcmFtZVswXS5jb250ZW50V2luZG93
LmdldFNlbGVjdGlvbil7cmV0dmFsPWNvbnRleHQuJGlmcmFtZVswXS5jb250ZW50
V2luZG93LmdldFNlbGVjdGlvbigpO2lmKCQuYnJvd3Nlci5vcGVyYSl7aWYocmV0
dmFsLnJhbmdlQ291bnQ+MCl7cmV0dmFsPWNvbnRleHQuZm4uaHRtbFRvVGV4dCgk
KCc8cHJlIC8+JykuYXBwZW5kKHJldHZhbC5nZXRSYW5nZUF0KDApLmNsb25lQ29u
dGVudHMoKSkuaHRtbCgpKTt9ZWxzZXtyZXR2YWw9Jyc7fX19ZWxzZSBpZihjb250
ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVudC5zZWxlY3Rpb24p
e3JldHZhbD1jb250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVu
dC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTt9CmlmKHR5cGVvZiByZXR2YWwudGV4
dCE9J3VuZGVmaW5lZCcpe3JldHZhbD1jb250ZXh0LmZuLmh0bWxUb1RleHQocmV0
dmFsLmh0bWxUZXh0KTt9ZWxzZSBpZih0eXBlb2YgcmV0dmFsLnRvU3RyaW5nIT0n
dW5kZWZpbmVkJyl7cmV0dmFsPXJldHZhbC50b1N0cmluZygpO30KcmV0dXJuIHJl
dHZhbDt9LCdlbmNhcHN1bGF0ZVNlbGVjdGlvbic6ZnVuY3Rpb24ob3B0aW9ucyl7
dmFyIHNlbFRleHQ9JCh0aGlzKS50ZXh0U2VsZWN0aW9uKCdnZXRTZWxlY3Rpb24n
KTt2YXIgc2VsVGV4dEFycjt2YXIgY29sbGFwc2VUb0VuZD1mYWxzZTt2YXIgc2Vs
ZWN0QWZ0ZXI9ZmFsc2U7dmFyIHNldFNlbGVjdGlvblRvPW51bGw7dmFyIHByZT1v
cHRpb25zLnByZSxwb3N0PW9wdGlvbnMucG9zdDtpZighc2VsVGV4dCl7c2VsVGV4
dD1vcHRpb25zLnBlcmk7c2VsZWN0QWZ0ZXI9dHJ1ZTt9ZWxzZSBpZihvcHRpb25z
LnBlcmk9PXNlbFRleHQucmVwbGFjZSgvXHMrJC8sJycpKXtzZWxUZXh0PXNlbFRl
eHQucmVwbGFjZSgvXHMrJC8sJycpO2NvbGxhcHNlVG9FbmQ9dHJ1ZTtzZWxlY3RB
ZnRlcj10cnVlO31lbHNlIGlmKG9wdGlvbnMucmVwbGFjZSl7c2VsVGV4dD1vcHRp
b25zLnBlcmk7fWVsc2UgaWYoc2VsVGV4dC5jaGFyQXQoc2VsVGV4dC5sZW5ndGgt
MSk9PScgJyl7c2VsVGV4dD1zZWxUZXh0LnN1YnN0cmluZygwLHNlbFRleHQubGVu
Z3RoLTEpO3Bvc3QrPScgJzt9CmlmKG9wdGlvbnMuc3BsaXRsaW5lcyl7c2VsVGV4
dEFycj1zZWxUZXh0LnNwbGl0KC9cbi8pO30KaWYoY29udGV4dC4kaWZyYW1lWzBd
LmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0aW9uKXt2YXIgcmFuZ2U9Y29udGV4dC4k
aWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VB
dCgwKTtpZihjb2xsYXBzZVRvRW5kKXtpZihyYW5nZS5lbmRDb250YWluZXIubm9k
ZU5hbWU9PSdCUicpe3JhbmdlLnNldEVuZEJlZm9yZShyYW5nZS5lbmRDb250YWlu
ZXIpO30KcmFuZ2UuY29sbGFwc2UoZmFsc2UpO30KaWYob3B0aW9ucy5vd25saW5l
KXt2YXIgYXRTdGFydD1mYWxzZSxhdEVuZD1mYWxzZTt2YXIgYm9keT1jb250ZXh0
LiRjb250ZW50LmdldCgwKTtpZihyYW5nZS5zdGFydE9mZnNldD09MCl7YXRTdGFy
dD10cnVlO31lbHNlIGlmKHJhbmdlLnN0YXJ0Q29udGFpbmVyPT1ib2R5KXt2YXIg
bj1ib2R5LmZpcnN0Q2hpbGQ7Zm9yKHZhciBpPTA7aTxyYW5nZS5zdGFydE9mZnNl
dC0xJiZuO2krKyl7bj1uLm5leHRTaWJsaW5nO30KaWYobiYmbi5ub2RlTmFtZT09
J0JSJyl7YXRTdGFydD10cnVlO31lbHNle2F0RW5kPXRydWU7fX0KaWYoKHJhbmdl
LmVuZE9mZnNldD09MCYmcmFuZ2UuZW5kQ29udGFpbmVyLm5vZGVWYWx1ZT09bnVs
bCl8fChyYW5nZS5lbmRDb250YWluZXIubm9kZU5hbWU9PScjdGV4dCcmJnJhbmdl
LmVuZE9mZnNldD09cmFuZ2UuZW5kQ29udGFpbmVyLm5vZGVWYWx1ZS5sZW5ndGgp
fHwocmFuZ2UuZW5kQ29udGFpbmVyLm5vZGVOYW1lPT0nUCcmJnJhbmdlLmVuZENv
bnRhaW5lci5ub2RlVmFsdWU9PW51bGwpKXthdEVuZD10cnVlO30KaWYoIWF0U3Rh
cnQpe3ByZT0iXG4iK29wdGlvbnMucHJlO30KaWYoIWF0RW5kKXtwb3N0Kz0iXG4i
O319CnZhciBpbnNlcnRUZXh0PSIiO2lmKG9wdGlvbnMuc3BsaXRsaW5lcyl7Zm9y
KHZhciBqPTA7ajxzZWxUZXh0QXJyLmxlbmd0aDtqKyspe2luc2VydFRleHQ9aW5z
ZXJ0VGV4dCtwcmUrc2VsVGV4dEFycltqXStwb3N0O2lmKGohPXNlbFRleHRBcnIu
bGVuZ3RoLTEpe2luc2VydFRleHQrPSJcbiI7fX19ZWxzZXtpbnNlcnRUZXh0PXBy
ZStzZWxUZXh0K3Bvc3Q7fQp2YXIgaW5zZXJ0TGluZXM9aW5zZXJ0VGV4dC5zcGxp
dCgiXG4iKTtyYW5nZS5leHRyYWN0Q29udGVudHMoKTt2YXIgZmlyc3ROb2RlPW51
bGwsbGFzdE5vZGU9bnVsbDt2YXIgc2VsU0M9bnVsbCxzZWxFQz1udWxsLHNlbFNP
PW51bGwsc2VsRU89bnVsbCxvZmZzZXQ9MDtmb3IodmFyIGk9aW5zZXJ0TGluZXMu
bGVuZ3RoLTE7aT49MDtpLS0pe2ZpcnN0Tm9kZT1jb250ZXh0LiRpZnJhbWVbMF0u
Y29udGVudFdpbmRvdy5kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpbnNlcnRMaW5l
c1tpXSk7cmFuZ2UuaW5zZXJ0Tm9kZShmaXJzdE5vZGUpO2xhc3ROb2RlPWxhc3RO
b2RlfHxmaXJzdE5vZGU7dmFyIG5ld09mZnNldD1vZmZzZXQraW5zZXJ0TGluZXNb
aV0ubGVuZ3RoO2lmKCFzZWxFQyYmcG9zdC5sZW5ndGg8PW5ld09mZnNldCl7c2Vs
RUM9Zmlyc3ROb2RlO3NlbEVPPXNlbEVDLm5vZGVWYWx1ZS5sZW5ndGgtKHBvc3Qu
bGVuZ3RoLW9mZnNldCk7fQppZihzZWxFQyYmIXNlbFNDJiZwcmUubGVuZ3RoPj1p
bnNlcnRUZXh0Lmxlbmd0aC1uZXdPZmZzZXQpe3NlbFNDPWZpcnN0Tm9kZTtzZWxT
Tz1wcmUubGVuZ3RoLShpbnNlcnRUZXh0Lmxlbmd0aC1uZXdPZmZzZXQpO30Kb2Zm
c2V0PW5ld09mZnNldDtpZihpPjApe2ZpcnN0Tm9kZT1jb250ZXh0LiRpZnJhbWVb
MF0uY29udGVudFdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdicicpO3Jh
bmdlLmluc2VydE5vZGUoZmlyc3ROb2RlKTtuZXdPZmZzZXQ9b2Zmc2V0KzE7aWYo
IXNlbEVDJiZwb3N0Lmxlbmd0aDw9bmV3T2Zmc2V0KXtzZWxFQz1maXJzdE5vZGU7
c2VsRU89MS0ocG9zdC5sZW5ndGgtb2Zmc2V0KTt9CmlmKHNlbEVDJiYhc2VsU0Mm
JnByZS5sZW5ndGg+PWluc2VydFRleHQubGVuZ3RoLW5ld09mZnNldCl7c2VsU0M9
Zmlyc3ROb2RlO3NlbFNPPXByZS5sZW5ndGgtKGluc2VydFRleHQubGVuZ3RoLW5l
d09mZnNldCk7fQpvZmZzZXQ9bmV3T2Zmc2V0O319CmlmKGZpcnN0Tm9kZSl7Y29u
dGV4dC5mbi5zY3JvbGxUb1RvcCgkKGZpcnN0Tm9kZS5wYXJlbnROb2RlKSk7fQpp
ZihzZWxlY3RBZnRlcil7c2V0U2VsZWN0aW9uVG89e3N0YXJ0Q29udGFpbmVyOnNl
bFNDLGVuZENvbnRhaW5lcjpzZWxFQyxzdGFydDpzZWxTTyxlbmQ6c2VsRU99O31l
bHNlIGlmKGxhc3ROb2RlKXtzZXRTZWxlY3Rpb25Ubz17c3RhcnRDb250YWluZXI6
bGFzdE5vZGUsZW5kQ29udGFpbmVyOmxhc3ROb2RlLHN0YXJ0Omxhc3ROb2RlLm5v
ZGVWYWx1ZS5sZW5ndGgsZW5kOmxhc3ROb2RlLm5vZGVWYWx1ZS5sZW5ndGh9O319
ZWxzZSBpZihjb250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVu
dC5zZWxlY3Rpb24pe2NvbnRleHQuJGlmcmFtZVswXS5jb250ZW50V2luZG93LmZv
Y3VzKCk7dmFyIHJhbmdlPWNvbnRleHQuJGlmcmFtZVswXS5jb250ZW50V2luZG93
LmRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO2lmKG9wdGlvbnMub3du
bGluZSYmcmFuZ2UubW92ZVN0YXJ0KXt2YXIgcmFuZ2UyPWNvbnRleHQuJGlmcmFt
ZVswXS5jb250ZW50V2luZG93LmRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5n
ZSgpO3JhbmdlMi5jb2xsYXBzZSgpO3JhbmdlMi5tb3ZlU3RhcnQoJ2NoYXJhY3Rl
cicsLTEpO2lmKHJhbmdlMi50ZXh0IT0iXHIiJiZyYW5nZTIudGV4dCE9IlxuIiYm
cmFuZ2UyLnRleHQhPSIiKXtwcmU9IlxuIitwcmU7fQp2YXIgcmFuZ2UzPWNvbnRl
eHQuJGlmcmFtZVswXS5jb250ZW50V2luZG93LmRvY3VtZW50LnNlbGVjdGlvbi5j
cmVhdGVSYW5nZSgpO3JhbmdlMy5jb2xsYXBzZShmYWxzZSk7cmFuZ2UzLm1vdmVF
bmQoJ2NoYXJhY3RlcicsMSk7aWYocmFuZ2UzLnRleHQhPSJcciImJnJhbmdlMy50
ZXh0IT0iXG4iJiZyYW5nZTMudGV4dCE9IiIpe3Bvc3QrPSJcbiI7fX0KaWYoY29s
bGFwc2VUb0VuZCl7cmFuZ2UuY29sbGFwc2UoZmFsc2UpO30KdmFyIGluc2VydFRl
eHQ9IiI7aWYob3B0aW9ucy5zcGxpdGxpbmVzKXtmb3IodmFyIGo9MDtqPHNlbFRl
eHRBcnIubGVuZ3RoO2orKyl7aW5zZXJ0VGV4dD1pbnNlcnRUZXh0K3ByZStzZWxU
ZXh0QXJyW2pdK3Bvc3Q7aWYoaiE9c2VsVGV4dEFyci5sZW5ndGgtMSl7aW5zZXJ0
VGV4dCs9IlxuIjt9fX1lbHNle2luc2VydFRleHQ9cHJlK3NlbFRleHQrcG9zdDt9
CnJhbmdlLnBhc3RlSFRNTChpbnNlcnRUZXh0LnJlcGxhY2UoL1w8L2csJyZsdDsn
KS5yZXBsYWNlKC8+L2csJyZndDsnKS5yZXBsYWNlKC9ccj9cbi9nLCc8YnIgLz4n
KSk7aWYoc2VsZWN0QWZ0ZXIpe3JhbmdlLm1vdmVTdGFydCgnY2hhcmFjdGVyJywt
cG9zdC5sZW5ndGgtc2VsVGV4dC5sZW5ndGgpO3JhbmdlLm1vdmVFbmQoJ2NoYXJh
Y3RlcicsLXBvc3QubGVuZ3RoKTtyYW5nZS5zZWxlY3QoKTt9fQppZihzZXRTZWxl
Y3Rpb25Ubyl7Y29udGV4dC5mbi5zZXRTZWxlY3Rpb24oc2V0U2VsZWN0aW9uVG8p
O30KJChjb250ZXh0LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5kb2N1bWVudCku
dHJpZ2dlcignZW5jYXBzdWxhdGVTZWxlY3Rpb24nLFtwcmUsb3B0aW9ucy5wZXJp
LHBvc3Qsb3B0aW9ucy5vd25saW5lLG9wdGlvbnMucmVwbGFjZV0pO3JldHVybiBj
b250ZXh0LiR0ZXh0YXJlYTt9LCdnZXRDYXJldFBvc2l0aW9uJzpmdW5jdGlvbihv
cHRpb25zKXt2YXIgc3RhcnRQb3M9bnVsbCxlbmRQb3M9bnVsbDtpZihjb250ZXh0
LiRpZnJhbWVbMF0uY29udGVudFdpbmRvdy5nZXRTZWxlY3Rpb24pe3ZhciBzZWxl
Y3Rpb249Y29udGV4dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0
aW9uKCk7aWYoc2VsZWN0aW9uLnJhbmdlQ291bnQ9PTApe3JldHVyblswLDBdO30K
dmFyIHNjPXNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLnN0YXJ0Q29udGFpbmVyLGVj
PXNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmVuZENvbnRhaW5lcjt2YXIgc289c2Vs
ZWN0aW9uLmdldFJhbmdlQXQoMCkuc3RhcnRPZmZzZXQsZW89c2VsZWN0aW9uLmdl
dFJhbmdlQXQoMCkuZW5kT2Zmc2V0O2lmKHNjLm5vZGVOYW1lPT0nQk9EWScpe3Zh
ciBuPXNjLmZpcnN0Q2hpbGQ7Zm9yKHZhciBpPTA7aTxzby0xJiZuO2krKyl7bj1u
Lm5leHRTaWJsaW5nO30Kc2M9bjtzbz0wO30KaWYoZWMubm9kZU5hbWU9PSdCT0RZ
Jyl7dmFyIG49ZWMuZmlyc3RDaGlsZDtmb3IodmFyIGk9MDtpPGVvLTEmJm47aSsr
KXtuPW4ubmV4dFNpYmxpbmc7fQplYz1uO2VvPTA7fQp3aGlsZShzYy5maXJzdENo
aWxkKXtzYz1zYy5maXJzdENoaWxkO30Kd2hpbGUoZWMuZmlyc3RDaGlsZCl7ZWM9
ZWMuZmlyc3RDaGlsZDt9CmNvbnRleHQuZm4uZ2V0T2Zmc2V0KDApO3ZhciBvO2Zv
cihvIGluIGNvbnRleHQub2Zmc2V0cyl7aWYoc3RhcnRQb3M9PT1udWxsJiZjb250
ZXh0Lm9mZnNldHNbb10ubm9kZT09c2Mpe3N0YXJ0UG9zPX5+bytzby1jb250ZXh0
Lm9mZnNldHNbb10ub2Zmc2V0O30KaWYoc3RhcnRQb3MhPT1udWxsJiZjb250ZXh0
Lm9mZnNldHNbb10ubm9kZT09ZWMpe2VuZFBvcz1+fm8rZW8tY29udGV4dC5vZmZz
ZXRzW29dLm9mZnNldDticmVhazt9fX1lbHNlIGlmKGNvbnRleHQuJGlmcmFtZVsw
XS5jb250ZW50V2luZG93LmRvY3VtZW50LnNlbGVjdGlvbil7dmFyIGQ9Y29udGV4
dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7dmFyIHBvc3RGaW5p
c2hlZD1mYWxzZTt2YXIgcGVyaUZpbmlzaGVkPWZhbHNlO3ZhciBwb3N0RmluaXNo
ZWQ9ZmFsc2U7dmFyIHByZVRleHQscmF3UHJlVGV4dCxwZXJpVGV4dDt2YXIgcmF3
UGVyaVRleHQscG9zdFRleHQscmF3UG9zdFRleHQ7dHJ5e3ZhciBwZXJpUmFuZ2U9
ZC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKS5kdXBsaWNhdGUoKTt2YXIgcHJlUmFu
Z2U9ZC5ib2R5LmNyZWF0ZVRleHRSYW5nZSgpO3ByZVJhbmdlLnNldEVuZFBvaW50
KCJFbmRUb1N0YXJ0IixwZXJpUmFuZ2UpO3ZhciBwb3N0UmFuZ2U9ZC5ib2R5LmNy
ZWF0ZVRleHRSYW5nZSgpO3Bvc3RSYW5nZS5zZXRFbmRQb2ludCgiU3RhcnRUb0Vu
ZCIscGVyaVJhbmdlKTtwcmVUZXh0PXJhd1ByZVRleHQ9cHJlUmFuZ2UudGV4dDtw
ZXJpVGV4dD1yYXdQZXJpVGV4dD1wZXJpUmFuZ2UudGV4dDtwb3N0VGV4dD1yYXdQ
b3N0VGV4dD1wb3N0UmFuZ2UudGV4dDtkb3tpZighcG9zdEZpbmlzaGVkKXtpZihw
cmVSYW5nZS5jb21wYXJlRW5kUG9pbnRzKCJTdGFydFRvRW5kIixwcmVSYW5nZSk9
PTApe3Bvc3RGaW5pc2hlZD10cnVlO31lbHNle3ByZVJhbmdlLm1vdmVFbmQoImNo
YXJhY3RlciIsLTEpCmlmKHByZVJhbmdlLnRleHQ9PXByZVRleHQpe3Jhd1ByZVRl
eHQrPSJcclxuIjt9ZWxzZXtwb3N0RmluaXNoZWQ9dHJ1ZTt9fX0KaWYoIXBlcmlG
aW5pc2hlZCl7aWYocGVyaVJhbmdlLmNvbXBhcmVFbmRQb2ludHMoIlN0YXJ0VG9F
bmQiLHBlcmlSYW5nZSk9PTApe3BlcmlGaW5pc2hlZD10cnVlO31lbHNle3BlcmlS
YW5nZS5tb3ZlRW5kKCJjaGFyYWN0ZXIiLC0xKQppZihwZXJpUmFuZ2UudGV4dD09
cGVyaVRleHQpe3Jhd1BlcmlUZXh0Kz0iXHJcbiI7fWVsc2V7cGVyaUZpbmlzaGVk
PXRydWU7fX19CmlmKCFwb3N0RmluaXNoZWQpe2lmKHBvc3RSYW5nZS5jb21wYXJl
RW5kUG9pbnRzKCJTdGFydFRvRW5kIixwb3N0UmFuZ2UpPT0wKXtwb3N0RmluaXNo
ZWQ9dHJ1ZTt9ZWxzZXtwb3N0UmFuZ2UubW92ZUVuZCgiY2hhcmFjdGVyIiwtMSkK
aWYocG9zdFJhbmdlLnRleHQ9PXBvc3RUZXh0KXtyYXdQb3N0VGV4dCs9IlxyXG4i
O31lbHNle3Bvc3RGaW5pc2hlZD10cnVlO319fX13aGlsZSgoIXBvc3RGaW5pc2hl
ZHx8IXBlcmlGaW5pc2hlZHx8IXBvc3RGaW5pc2hlZCkpO3N0YXJ0UG9zPXJhd1By
ZVRleHQucmVwbGFjZSgvXHJcbi9nLCJcbiIpLmxlbmd0aDtlbmRQb3M9c3RhcnRQ
b3MrcmF3UGVyaVRleHQucmVwbGFjZSgvXHJcbi9nLCJcbiIpLmxlbmd0aDt9Y2F0
Y2goZSl7c3RhcnRQb3M9ZW5kUG9zPTA7fX0KcmV0dXJuW3N0YXJ0UG9zLGVuZFBv
c107fSwnc2V0U2VsZWN0aW9uJzpmdW5jdGlvbihvcHRpb25zKXt2YXIgc2M9b3B0
aW9ucy5zdGFydENvbnRhaW5lcixlYz1vcHRpb25zLmVuZENvbnRhaW5lcjtzYz1z
YyYmc2MuanF1ZXJ5P3NjWzBdOnNjO2VjPWVjJiZlYy5qcXVlcnk/ZWNbMF06ZWM7
aWYoY29udGV4dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0aW9u
KXt2YXIgc3RhcnQ9b3B0aW9ucy5zdGFydCxlbmQ9b3B0aW9ucy5lbmQ7aWYoIXNj
fHwhZWMpe3ZhciBzPWNvbnRleHQuZm4uZ2V0T2Zmc2V0KHN0YXJ0KTt2YXIgZT1j
b250ZXh0LmZuLmdldE9mZnNldChlbmQpO3NjPXM/cy5ub2RlOm51bGw7ZWM9ZT9l
Lm5vZGU6bnVsbDtzdGFydD1zP3Mub2Zmc2V0Om51bGw7ZW5kPWU/ZS5vZmZzZXQ6
bnVsbDtpZihzYyE9bnVsbCYmc2Mubm9kZU5hbWU9PScjdGV4dCcmJnN0YXJ0PnNj
Lm5vZGVWYWx1ZS5sZW5ndGgpe3N0YXJ0PXNjLm5vZGVWYWx1ZS5sZW5ndGgtMTt9
CmlmKGVjIT1udWxsJiZlYy5ub2RlTmFtZT09JyN0ZXh0JyYmZW5kPmVjLm5vZGVW
YWx1ZS5sZW5ndGgpe2VuZD1lYy5ub2RlVmFsdWUubGVuZ3RoLTE7fX0KaWYoIXNj
fHwhZWMpe3JldHVybiBjb250ZXh0LiR0ZXh0YXJlYTt9CnZhciBzZWw9Y29udGV4
dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZ2V0U2VsZWN0aW9uKCk7d2hpbGUo
c2MuZmlyc3RDaGlsZCYmc2Mubm9kZU5hbWUhPScjdGV4dCcpe3NjPXNjLmZpcnN0
Q2hpbGQ7fQp3aGlsZShlYy5maXJzdENoaWxkJiZlYy5ub2RlTmFtZSE9JyN0ZXh0
Jyl7ZWM9ZWMuZmlyc3RDaGlsZDt9CnZhciByYW5nZT1jb250ZXh0LiRpZnJhbWVb
MF0uY29udGVudFdpbmRvdy5kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JhbmdlLnNl
dFN0YXJ0KHNjLHN0YXJ0KTtyYW5nZS5zZXRFbmQoZWMsZW5kKTtzZWwucmVtb3Zl
QWxsUmFuZ2VzKCk7c2VsLmFkZFJhbmdlKHJhbmdlKTtjb250ZXh0LiRpZnJhbWVb
MF0uY29udGVudFdpbmRvdy5mb2N1cygpO31lbHNlIGlmKGNvbnRleHQuJGlmcmFt
ZVswXS5jb250ZW50V2luZG93LmRvY3VtZW50LmJvZHkuY3JlYXRlVGV4dFJhbmdl
KXt2YXIgcmFuZ2U9Y29udGV4dC4kaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZG9j
dW1lbnQuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKTtpZihzYyl7cmFuZ2UubW92ZVRv
RWxlbWVudFRleHQoc2MpO30KcmFuZ2UuY29sbGFwc2UoKTtyYW5nZS5tb3ZlRW5k
KCdjaGFyYWN0ZXInLG9wdGlvbnMuc3RhcnQpO3ZhciByYW5nZTI9Y29udGV4dC4k
aWZyYW1lWzBdLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQuYm9keS5jcmVhdGVUZXh0
UmFuZ2UoKTtpZihlYyl7cmFuZ2UyLm1vdmVUb0VsZW1lbnRUZXh0KGVjKTt9CnJh
bmdlMi5jb2xsYXBzZSgpO3JhbmdlMi5tb3ZlRW5kKCdjaGFyYWN0ZXInLG9wdGlv
bnMuZW5kKTt2YXIgbWF0Y2hlcyxjb3VudGVkPTA7d2hpbGUobWF0Y2hlcz1yYW5n
ZS5odG1sVGV4dC5tYXRjaCgvXDxcL3BcPihcPGJyW15cPl0qXD4pK1w8cFw+L2dp
KSl7aWYobWF0Y2hlcy5sZW5ndGg8PWNvdW50ZWQpCmJyZWFrO3JhbmdlLm1vdmVF
bmQoJ2NoYXJhY3RlcicsbWF0Y2hlcy5sZW5ndGgpO2NvdW50ZWQrPW1hdGNoZXMu
bGVuZ3RoO30KcmFuZ2UyLm1vdmVFbmQoJ2NoYXJhY3RlcicsY291bnRlZCk7d2hp
bGUobWF0Y2hlcz1yYW5nZTIuaHRtbFRleHQubWF0Y2goL1w8XC9wXD4oXDxiclte
XD5dKlw+KStcPHBcPi9naSkpe2lmKG1hdGNoZXMubGVuZ3RoPD1jb3VudGVkKQpi
cmVhaztyYW5nZTIubW92ZUVuZCgnY2hhcmFjdGVyJyxtYXRjaGVzLmxlbmd0aCk7
Y291bnRlZCs9bWF0Y2hlcy5sZW5ndGg7fQpyYW5nZTIuc2V0RW5kUG9pbnQoJ1N0
YXJ0VG9FbmQnLHJhbmdlKTtyYW5nZTIuc2VsZWN0KCk7fQpyZXR1cm4gY29udGV4
dC4kdGV4dGFyZWE7fSwnc2Nyb2xsVG9DYXJldFBvc2l0aW9uJzpmdW5jdGlvbihv
cHRpb25zKXtjb250ZXh0LmZuLnNjcm9sbFRvVG9wKGNvbnRleHQuZm4uZ2V0RWxl
bWVudEF0Q3Vyc29yKCksdHJ1ZSk7fSwnc2Nyb2xsVG9Ub3AnOmZ1bmN0aW9uKCRl
bGVtZW50LGZvcmNlKXt2YXIgaHRtbD1jb250ZXh0LiRjb250ZW50LmNsb3Nlc3Qo
J2h0bWwnKSxib2R5PWNvbnRleHQuJGNvbnRlbnQuY2xvc2VzdCgnYm9keScpLHBh
cmVudEh0bWw9JCgnaHRtbCcpLHBhcmVudEJvZHk9JCgnYm9keScpO3ZhciB5PSRl
bGVtZW50Lm9mZnNldCgpLnRvcDtpZighJC5icm93c2VyLm1zaWUmJiEkZWxlbWVu
dC5pcygnYm9keScpKXt5PXBhcmVudEh0bWwuc2Nyb2xsVG9wKCk+MD95K2h0bWwu
c2Nyb2xsVG9wKCktcGFyZW50SHRtbC5zY3JvbGxUb3AoKTp5O3k9cGFyZW50Qm9k
eS5zY3JvbGxUb3AoKT4wP3krYm9keS5zY3JvbGxUb3AoKS1wYXJlbnRCb2R5LnNj
cm9sbFRvcCgpOnk7fQp2YXIgdG9wQm91bmQ9aHRtbC5zY3JvbGxUb3AoKT5ib2R5
LnNjcm9sbFRvcCgpP2h0bWwuc2Nyb2xsVG9wKCk6Ym9keS5zY3JvbGxUb3AoKSxi
b3R0b21Cb3VuZD10b3BCb3VuZCtjb250ZXh0LiRpZnJhbWUuaGVpZ2h0KCk7aWYo
Zm9yY2V8fHk8dG9wQm91bmR8fHk+Ym90dG9tQm91bmQpe2h0bWwuc2Nyb2xsVG9w
KHkpO2JvZHkuc2Nyb2xsVG9wKHkpO30KJGVsZW1lbnQudHJpZ2dlcignc2Nyb2xs
VG9Ub3AnKTt9LCdzYXZlU3R1ZmZGb3JJRSc6ZnVuY3Rpb24oKXtpZighJC5icm93
c2VyLm1zaWV8fGNvbnRleHQuJGlmcmFtZSkKcmV0dXJuO3ZhciBJSGF0ZUlFPXsn
c2Nyb2xsVG9wJzpjb250ZXh0LiR0ZXh0YXJlYS5zY3JvbGxUb3AoKSwncG9zJzpj
b250ZXh0LiR0ZXh0YXJlYS50ZXh0U2VsZWN0aW9uKCdnZXRDYXJldFBvc2l0aW9u
Jyx7c3RhcnRBbmRFbmQ6dHJ1ZX0pfTtjb250ZXh0LiR0ZXh0YXJlYS5kYXRhKCdJ
SGF0ZUlFJyxJSGF0ZUlFKTt9LCdyZXN0b3JlU3R1ZmZGb3JJRSc6ZnVuY3Rpb24o
KXtpZighJC5icm93c2VyLm1zaWV8fGNvbnRleHQuJGlmcmFtZSkKcmV0dXJuO3Zh
ciBJSGF0ZUlFPWNvbnRleHQuJHRleHRhcmVhLmRhdGEoJ0lIYXRlSUUnKTtpZigh
SUhhdGVJRSkKcmV0dXJuO2NvbnRleHQuJHRleHRhcmVhLnNjcm9sbFRvcChJSGF0
ZUlFLnNjcm9sbFRvcCk7Y29udGV4dC4kdGV4dGFyZWEudGV4dFNlbGVjdGlvbign
c2V0U2VsZWN0aW9uJyx7c3RhcnQ6SUhhdGVJRS5wb3NbMF0sZW5kOklIYXRlSUUu
cG9zWzFdfSk7Y29udGV4dC4kdGV4dGFyZWEuZGF0YSgnSUhhdGVJRScsbnVsbCk7
fX07Y29udGV4dC4kdGV4dGFyZWEud3JhcEFsbCgkKCc8ZGl2PjwvZGl2PicpLmFk
ZENsYXNzKCd3aWtpRWRpdG9yLXVpJykpLndyYXBBbGwoJCgnPGRpdj48L2Rpdj4n
KS5hZGRDbGFzcygnd2lraUVkaXRvci11aS12aWV3IHdpa2lFZGl0b3ItdWktdmll
dy13aWtpdGV4dCcpKS53cmFwQWxsKCQoJzxkaXY+PC9kaXY+JykuYWRkQ2xhc3Mo
J3dpa2lFZGl0b3ItdWktbGVmdCcpKS53cmFwQWxsKCQoJzxkaXY+PC9kaXY+Jyku
YWRkQ2xhc3MoJ3dpa2lFZGl0b3ItdWktYm90dG9tJykpLndyYXBBbGwoJCgnPGRp
dj48L2Rpdj4nKS5hZGRDbGFzcygnd2lraUVkaXRvci11aS10ZXh0JykpO2NvbnRl
eHQuJHVpPWNvbnRleHQuJHRleHRhcmVhLnBhcmVudCgpLnBhcmVudCgpLnBhcmVu
dCgpLnBhcmVudCgpLnBhcmVudCgpO2NvbnRleHQuJHdpa2l0ZXh0PWNvbnRleHQu
JHRleHRhcmVhLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpO2Nv
bnRleHQuJHdpa2l0ZXh0LmJlZm9yZSgkKCc8ZGl2PjwvZGl2PicpLmFkZENsYXNz
KCd3aWtpRWRpdG9yLXVpLWNvbnRyb2xzJykuYXBwZW5kKCQoJzxkaXY+PC9kaXY+
JykuYWRkQ2xhc3MoJ3dpa2lFZGl0b3ItdWktdGFicycpLmhpZGUoKSkuYXBwZW5k
KCQoJzxkaXY+PC9kaXY+JykuYWRkQ2xhc3MoJ3dpa2lFZGl0b3ItdWktYnV0dG9u
cycpKSkuYmVmb3JlKCQoJzxkaXYgc3R5bGU9ImNsZWFyOmJvdGg7Ij48L2Rpdj4n
KSk7Y29udGV4dC4kY29udHJvbHM9Y29udGV4dC4kdWkuZmluZCgnLndpa2lFZGl0
b3ItdWktYnV0dG9ucycpLmhpZGUoKTtjb250ZXh0LiRidXR0b25zPWNvbnRleHQu
JHVpLmZpbmQoJy53aWtpRWRpdG9yLXVpLWJ1dHRvbnMnKTtjb250ZXh0LiR0YWJz
PWNvbnRleHQuJHVpLmZpbmQoJy53aWtpRWRpdG9yLXVpLXRhYnMnKTtjb250ZXh0
LiR1aS5hZnRlcigkKCc8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyI+PC9kaXY+Jykp
O2NvbnRleHQuJHdpa2l0ZXh0LmFwcGVuZCgkKCc8ZGl2PjwvZGl2PicpLmFkZENs
YXNzKCd3aWtpRWRpdG9yLXVpLXJpZ2h0JykpO2NvbnRleHQuJHdpa2l0ZXh0LmZp
bmQoJy53aWtpRWRpdG9yLXVpLWxlZnQnKS5wcmVwZW5kKCQoJzxkaXY+PC9kaXY+
JykuYWRkQ2xhc3MoJ3dpa2lFZGl0b3ItdWktdG9wJykpO2NvbnRleHQudmlldz0n
d2lraXRleHQnOyQod2luZG93KS5yZXNpemUoZnVuY3Rpb24oZXZlbnQpe2NvbnRl
eHQuZm4udHJpZ2dlcigncmVzaXplJyxldmVudCk7fSk7fQp2YXIgYXJncz0kLm1h
a2VBcnJheShhcmd1bWVudHMpO2lmKHR5cGVvZiBjb250ZXh0LiRpZnJhbWU9PT0n
dW5kZWZpbmVkJyYmYXJnc1swXT09J2FkZE1vZHVsZScmJnR5cGVvZiBhcmdzWzFd
IT0ndW5kZWZpbmVkJyl7dmFyIG1vZHVsZXM9YXJnc1sxXTtpZih0eXBlb2YgbW9k
dWxlcyE9Im9iamVjdCIpe21vZHVsZXM9e307bW9kdWxlc1thcmdzWzFdXT0nJzt9
CmZvcihtb2R1bGUgaW4gbW9kdWxlcyl7aWYobW9kdWxlIGluICQud2lraUVkaXRv
ci5tb2R1bGVzJiYkLndpa2lFZGl0b3IuaXNTdXBwb3J0ZWQoJC53aWtpRWRpdG9y
Lm1vZHVsZXNbbW9kdWxlXSkmJiQud2lraUVkaXRvci5pc1JlcXVpcmVkKCQud2lr
aUVkaXRvci5tb2R1bGVzW21vZHVsZV0sJ2lmcmFtZScpKXtjb250ZXh0LmZuLnNl
dHVwSWZyYW1lKCk7YnJlYWs7fX19CmlmKGFyZ3MubGVuZ3RoPjApe3ZhciBjYWxs
PWFyZ3Muc2hpZnQoKTtpZihjYWxsIGluIGNvbnRleHQuYXBpKXtjb250ZXh0LmFw
aVtjYWxsXShjb250ZXh0LHR5cGVvZiBhcmdzWzBdPT0ndW5kZWZpbmVkJz97fTph
cmdzWzBdKTt9fQpyZXR1cm4gJCh0aGlzKS5kYXRhKCd3aWtpRWRpdG9yLWNvbnRl
eHQnLGNvbnRleHQpO307fSkoalF1ZXJ5KTtSZWdFeHAuZXNjYXBlPWZ1bmN0aW9u
KHMpe3JldHVybiBzLnJlcGxhY2UoLyhbLiorP14ke30oKXxcL1xcW1xdXSkvZywn
XFwkMScpO307KGZ1bmN0aW9uKCQpeyQud2lraUVkaXRvci5tb2R1bGVzLmRpYWxv
Z3M9eydicm93c2Vycyc6eydsdHInOnsnbXNpZSc6W1snPj0nLDddXSwnZmlyZWZv
eCc6W1snPj0nLDJdLFsnIT0nLCcyLjAnXSxbJyE9JywnMi4wLjAuMSddLFsnIT0n
LCcyLjAuMC4yJ10sWychPScsJzIuMC4wLjMnXSxbJyE9JywnMi4wLjAuNCddXSwn
b3BlcmEnOltbJz49Jyw5LjZdXSwnc2FmYXJpJzpbWyc+PScsM11dLCdjaHJvbWUn
OltbJz49JywzXV19LCdydGwnOnsnbXNpZSc6W1snPj0nLDddXSwnZmlyZWZveCc6
W1snPj0nLDJdLFsnIT0nLCcyLjAnXSxbJyE9JywnMi4wLjAuMSddLFsnIT0nLCcy
LjAuMC4yJ10sWychPScsJzIuMC4wLjMnXSxbJyE9JywnMi4wLjAuNCddXSwnb3Bl
cmEnOltbJz49Jyw5LjZdXSwnc2FmYXJpJzpbWyc+PScsM11dLCdjaHJvbWUnOltb
Jz49JywzXV19fSxhcGk6e2FkZERpYWxvZzpmdW5jdGlvbihjb250ZXh0LGRhdGEp
eyQud2lraUVkaXRvci5tb2R1bGVzLmRpYWxvZ3MuZm4uY3JlYXRlKGNvbnRleHQs
ZGF0YSl9LG9wZW5EaWFsb2c6ZnVuY3Rpb24oY29udGV4dCxtb2R1bGUpe213LnVz
YWJpbGl0eS5sb2FkKFsnJGoudWknLCckai51aS5kaWFsb2cnLCckai51aS5kcmFn
Z2FibGUnLCckai51aS5yZXNpemFibGUnXSxmdW5jdGlvbigpe2lmKG1vZHVsZSBp
biAkLndpa2lFZGl0b3IubW9kdWxlcy5kaWFsb2dzLm1vZHVsZXMpe3ZhciBtb2Q9
JC53aWtpRWRpdG9yLm1vZHVsZXMuZGlhbG9ncy5tb2R1bGVzW21vZHVsZV07dmFy
ICRkaWFsb2c9JCgnIycrbW9kLmlkKTtpZigkZGlhbG9nLmxlbmd0aD09MCl7JC53
aWtpRWRpdG9yLm1vZHVsZXMuZGlhbG9ncy5mbi5yZWFsbHlDcmVhdGUoY29udGV4
dCxtb2QpOyRkaWFsb2c9JCgnIycrbW9kLmlkKTt9CiRkaWFsb2cuY2xvc2VzdCgn
LnVpLWRpYWxvZycpLmZpbmQoJy51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UnKS5y
ZW1vdmVDbGFzcygndWktc3RhdGUtZm9jdXMnKTskZGlhbG9nLmRpYWxvZygnb3Bl
bicpO319KTt9LGNsb3NlRGlhbG9nOmZ1bmN0aW9uKGNvbnRleHQsbW9kdWxlKXtp
Zihtb2R1bGUgaW4gJC53aWtpRWRpdG9yLm1vZHVsZXMuZGlhbG9ncy5tb2R1bGVz
KXskKCcjJyskLndpa2lFZGl0b3IubW9kdWxlcy5kaWFsb2dzLm1vZHVsZXNbbW9k
dWxlXS5pZCkuZGlhbG9nKCdjbG9zZScpO319fSxmbjp7Y3JlYXRlOmZ1bmN0aW9u
KGNvbnRleHQsY29uZmlnKXtmb3IobW9kIGluIGNvbmZpZyl7dmFyIG1vZHVsZT1j
b25maWdbbW9kXTt2YXIgZmlsdGVyZWQ9ZmFsc2U7aWYodHlwZW9mIG1vZHVsZS5m
aWx0ZXJzIT0ndW5kZWZpbmVkJyl7Zm9yKHZhciBpPTA7aTxtb2R1bGUuZmlsdGVy
cy5sZW5ndGg7aSsrKXtpZigkKG1vZHVsZS5maWx0ZXJzW2ldKS5sZW5ndGg9PTAp
e2ZpbHRlcmVkPXRydWU7YnJlYWs7fX19CmlmKCFmaWx0ZXJlZCYmJC53aWtpRWRp
dG9yLmlzU3VwcG9ydGVkKG1vZHVsZSkmJiQoJyMnK21vZHVsZS5pZCkuc2l6ZSgp
PT0wKXskLndpa2lFZGl0b3IubW9kdWxlcy5kaWFsb2dzLm1vZHVsZXNbbW9kXT1t
b2R1bGU7aWYodHlwZW9mIGNvbnRleHQuJGlmcmFtZT09J3VuZGVmaW5lZCcmJiQu
d2lraUVkaXRvci5pc1JlcXVpcmVkKG1vZHVsZSwnaWZyYW1lJykpe2NvbnRleHQu
Zm4uc2V0dXBJZnJhbWUoKTt9CmNvbnRleHQuJHRleHRhcmVhLnRyaWdnZXIoJ3dp
a2lFZGl0b3ItZGlhbG9ncy1zZXR1cC0nK21vZCk7fX19LHJlYWxseUNyZWF0ZTpm
dW5jdGlvbihjb250ZXh0LG1vZHVsZSl7dmFyIGNvbmZpZ3VyYXRpb249bW9kdWxl
LmRpYWxvZztjb25maWd1cmF0aW9uLmJnaWZyYW1lPXRydWU7Y29uZmlndXJhdGlv
bi5hdXRvT3Blbj1mYWxzZTtjb25maWd1cmF0aW9uLm1vZGFsPXRydWU7Y29uZmln
dXJhdGlvbi50aXRsZT0kLndpa2lFZGl0b3IuYXV0b01zZyhtb2R1bGUsJ3RpdGxl
Jyk7Y29uZmlndXJhdGlvbi5uZXdCdXR0b25zPXt9O2Zvcihtc2cgaW4gY29uZmln
dXJhdGlvbi5idXR0b25zKQpjb25maWd1cmF0aW9uLm5ld0J1dHRvbnNbbXcudXNh
YmlsaXR5LmdldE1zZyhtc2cpXT1jb25maWd1cmF0aW9uLmJ1dHRvbnNbbXNnXTtj
b25maWd1cmF0aW9uLmJ1dHRvbnM9Y29uZmlndXJhdGlvbi5uZXdCdXR0b25zO3Zh
ciBkaWFsb2dEaXY9JCgnPGRpdiAvPicpLmF0dHIoJ2lkJyxtb2R1bGUuaWQpLmh0
bWwobW9kdWxlLmh0bWwpLmRhdGEoJ2NvbnRleHQnLGNvbnRleHQpLmFwcGVuZFRv
KCQoJ2JvZHknKSkuZWFjaChtb2R1bGUuaW5pdCkuZGlhbG9nKGNvbmZpZ3VyYXRp
b24pOyQud2lraUVkaXRvci5tb2R1bGVzLmRpYWxvZ3MuZm4uc2V0VGFiaW5kZXhl
cyhkaWFsb2dEaXYuY2xvc2VzdCgnLnVpLWRpYWxvZycpLmZpbmQoJ2J1dHRvbicp
Lm5vdCgnW3RhYmluZGV4XScpKTtpZighKCdyZXNpemVtZSdpbiBtb2R1bGUpfHxt
b2R1bGUucmVzaXplbWUpe2RpYWxvZ0Rpdi5iaW5kKCdkaWFsb2dvcGVuJywkLndp
a2lFZGl0b3IubW9kdWxlcy5kaWFsb2dzLmZuLnJlc2l6ZSkuZmluZCgnLnVpLXRh
YnMnKS5iaW5kKCd0YWJzc2hvdycsZnVuY3Rpb24oKXskKHRoaXMpLmNsb3Nlc3Qo
Jy51aS1kaWFsb2ctY29udGVudCcpLmVhY2goJC53aWtpRWRpdG9yLm1vZHVsZXMu
ZGlhbG9ncy5mbi5yZXNpemUpO30pO30KZGlhbG9nRGl2LmJpbmQoJ2RpYWxvZ2Ns
b3NlJyxmdW5jdGlvbigpe2NvbnRleHQuZm4ucmVzdG9yZVNlbGVjdGlvbigpO30p
O2NvbnRleHQuJHRleHRhcmVhLnRyaWdnZXIoJ3dpa2lFZGl0b3ItZGlhbG9ncy1s
b2FkZWQtJyttb2QpO30scmVzaXplOmZ1bmN0aW9uKCl7dmFyIHdyYXBwZXI9JCh0
aGlzKS5jbG9zZXN0KCcudWktZGlhbG9nJyk7dmFyIG9sZFdpZHRoPXdyYXBwZXIu
d2lkdGgoKTt2YXIgb2xkSGlkZGVuPSQodGhpcykuZmluZCgnKicpLm5vdCgnOnZp
c2libGUnKTtvbGRIaWRkZW4uZWFjaChmdW5jdGlvbigpeyQodGhpcykuZGF0YSgn
b2xkc3R5bGUnLCQodGhpcykuYXR0cignc3R5bGUnKSk7fSk7b2xkSGlkZGVuLnNo
b3coKTt2YXIgb2xkV1M9JCh0aGlzKS5jc3MoJ3doaXRlLXNwYWNlJyk7JCh0aGlz
KS5jc3MoJ3doaXRlLXNwYWNlJywnbm93cmFwJyk7aWYod3JhcHBlci53aWR0aCgp
PD0kKHRoaXMpLmdldCgwKS5zY3JvbGxXaWR0aCl7dmFyIHRoaXNXaWR0aD0kKHRo
aXMpLmRhdGEoJ3RoaXNXaWR0aCcpPyQodGhpcykuZGF0YSgndGhpc1dpZHRoJyk6
MDt0aGlzV2lkdGg9TWF0aC5tYXgoJCh0aGlzKS5nZXQoMCkuc2Nyb2xsV2lkdGgs
dGhpc1dpZHRoKTskKHRoaXMpLndpZHRoKHRoaXNXaWR0aCk7JCh0aGlzKS5kYXRh
KCd0aGlzV2lkdGgnLHRoaXNXaWR0aCk7dmFyIHdyYXBwZXJXaWR0aD0kKHRoaXMp
LmRhdGEoJ3dyYXBwZXJXaWR0aCcpPyQodGhpcykuZGF0YSgnd3JhcHBlcldpZHRo
Jyk6MDt3cmFwcGVyV2lkdGg9TWF0aC5tYXgod3JhcHBlci5nZXQoMCkuc2Nyb2xs
V2lkdGgsd3JhcHBlcldpZHRoKTt3cmFwcGVyLndpZHRoKHdyYXBwZXJXaWR0aCk7
JCh0aGlzKS5kYXRhKCd3cmFwcGVyV2lkdGgnLHdyYXBwZXJXaWR0aCk7JCh0aGlz
KS5kaWFsb2coeyd3aWR0aCc6d3JhcHBlci53aWR0aCgpfSk7d3JhcHBlci5jc3Mo
J2xlZnQnLHBhcnNlSW50KHdyYXBwZXIuY3NzKCdsZWZ0JykpLSh3cmFwcGVyLndp
ZHRoKCktb2xkV2lkdGgpLzIpO30KJCh0aGlzKS5jc3MoJ3doaXRlLXNwYWNlJyxv
bGRXUyk7b2xkSGlkZGVuLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmF0dHIoJ3N0
eWxlJywkKHRoaXMpLmRhdGEoJ29sZHN0eWxlJykpO30pO30sc2V0VGFiaW5kZXhl
czpmdW5jdGlvbigkZWxlbWVudHMpe3ZhciB0YWJJbmRleD1tdy51c2FiaWxpdHku
Z2V0TWF4VGFiSW5kZXgoKSsxOyRlbGVtZW50cy5lYWNoKGZ1bmN0aW9uKCl7JGoo
dGhpcykuYXR0cigndGFiaW5kZXgnLHRhYkluZGV4KyspO30pO319LG1vZHVsZXM6
e30scXVpY2tEaWFsb2c6ZnVuY3Rpb24oYm9keSxzZXR0aW5ncyl7JCgnPGRpdiAv
PicpLnRleHQoYm9keSkuYXBwZW5kVG8oJCgnYm9keScpKS5kaWFsb2coJC5leHRl
bmQoe2JnaWZyYW1lOnRydWUsbW9kYWw6dHJ1ZX0sc2V0dGluZ3MpKS5kaWFsb2co
J29wZW4nKTt9fTt9KShqUXVlcnkpOyhmdW5jdGlvbigkKXskLndpa2lFZGl0b3Iu
bW9kdWxlcy50b29sYmFyPXthcGk6e2FkZFRvVG9vbGJhcjpmdW5jdGlvbihjb250
ZXh0LGRhdGEpe2Zvcih0eXBlIGluIGRhdGEpe3N3aXRjaCh0eXBlKXtjYXNlJ3Nl
Y3Rpb25zJzp2YXIgJHNlY3Rpb25zPWNvbnRleHQubW9kdWxlcy50b29sYmFyLiR0
b29sYmFyLmZpbmQoJ2Rpdi5zZWN0aW9ucycpO3ZhciAkdGFicz1jb250ZXh0Lm1v
ZHVsZXMudG9vbGJhci4kdG9vbGJhci5maW5kKCdkaXYudGFicycpO2ZvcihzZWN0
aW9uIGluIGRhdGFbdHlwZV0pe2lmKHNlY3Rpb249PSdtYWluJyl7Y29udGV4dC5t
b2R1bGVzLnRvb2xiYXIuJHRvb2xiYXIucHJlcGVuZCgkLndpa2lFZGl0b3IubW9k
dWxlcy50b29sYmFyLmZuLmJ1aWxkU2VjdGlvbihjb250ZXh0LHNlY3Rpb24sZGF0
YVt0eXBlXVtzZWN0aW9uXSkpO2NvbnRpbnVlO30KJHNlY3Rpb25zLmFwcGVuZCgk
Lndpa2lFZGl0b3IubW9kdWxlcy50b29sYmFyLmZuLmJ1aWxkU2VjdGlvbihjb250
ZXh0LHNlY3Rpb24sZGF0YVt0eXBlXVtzZWN0aW9uXSkpOyR0YWJzLmFwcGVuZCgk
Lndpa2lFZGl0b3IubW9kdWxlcy50b29sYmFyLmZuLmJ1aWxkVGFiKGNvbnRleHQs
c2VjdGlvbixkYXRhW3R5cGVdW3NlY3Rpb25dKSk7JHNlY3Rpb249JHNlY3Rpb25z
LmZpbmQoJy5zZWN0aW9uOnZpc2libGUnKTtpZigkc2VjdGlvbi5zaXplKCkpeyRz
ZWN0aW9ucy5hbmltYXRlKHsnaGVpZ2h0Jzokc2VjdGlvbi5vdXRlckhlaWdodCgp
fSwnZmFzdCcpO319CmJyZWFrO2Nhc2UnZ3JvdXBzJzppZighKCdzZWN0aW9uJ2lu
IGRhdGEpKXtjb250aW51ZTt9CnZhciAkc2VjdGlvbj1jb250ZXh0Lm1vZHVsZXMu
dG9vbGJhci4kdG9vbGJhci5maW5kKCdkaXZbcmVsPScrZGF0YS5zZWN0aW9uKydd
LnNlY3Rpb24nKTtmb3IoZ3JvdXAgaW4gZGF0YVt0eXBlXSl7JHNlY3Rpb24uYXBw
ZW5kKCQud2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZm4uYnVpbGRHcm91cChj
b250ZXh0LGdyb3VwLGRhdGFbdHlwZV1bZ3JvdXBdKSk7fQpicmVhaztjYXNlJ3Rv
b2xzJzppZighKCdzZWN0aW9uJ2luIGRhdGEmJidncm91cCdpbiBkYXRhKSl7Y29u
dGludWU7fQp2YXIgJGdyb3VwPWNvbnRleHQubW9kdWxlcy50b29sYmFyLiR0b29s
YmFyLmZpbmQoJ2RpdltyZWw9JytkYXRhLnNlY3Rpb24rJ10uc2VjdGlvbiAnKydk
aXZbcmVsPScrZGF0YS5ncm91cCsnXS5ncm91cCcpO2Zvcih0b29sIGluIGRhdGFb
dHlwZV0peyRncm91cC5hcHBlbmQoJC53aWtpRWRpdG9yLm1vZHVsZXMudG9vbGJh
ci5mbi5idWlsZFRvb2woY29udGV4dCx0b29sLGRhdGFbdHlwZV1bdG9vbF0pKTt9
CmlmKCRncm91cC5jaGlsZHJlbigpLmxlbmd0aCl7JGdyb3VwLnNob3coKTt9CmJy
ZWFrO2Nhc2UncGFnZXMnOmlmKCEoJ3NlY3Rpb24naW4gZGF0YSkpe2NvbnRpbnVl
O30KdmFyICRwYWdlcz1jb250ZXh0Lm1vZHVsZXMudG9vbGJhci4kdG9vbGJhci5m
aW5kKCdkaXZbcmVsPScrZGF0YS5zZWN0aW9uKyddLnNlY3Rpb24gLnBhZ2VzJyk7
dmFyICRpbmRleD1jb250ZXh0Lm1vZHVsZXMudG9vbGJhci4kdG9vbGJhci5maW5k
KCdkaXZbcmVsPScrZGF0YS5zZWN0aW9uKyddLnNlY3Rpb24gLmluZGV4Jyk7Zm9y
KHBhZ2UgaW4gZGF0YVt0eXBlXSl7JHBhZ2VzLmFwcGVuZCgkLndpa2lFZGl0b3Iu
bW9kdWxlcy50b29sYmFyLmZuLmJ1aWxkUGFnZShjb250ZXh0LHBhZ2UsZGF0YVt0
eXBlXVtwYWdlXSkpOyRpbmRleC5hcHBlbmQoJC53aWtpRWRpdG9yLm1vZHVsZXMu
dG9vbGJhci5mbi5idWlsZEJvb2ttYXJrKGNvbnRleHQscGFnZSxkYXRhW3R5cGVd
W3BhZ2VdKSk7fQokLndpa2lFZGl0b3IubW9kdWxlcy50b29sYmFyLmZuLnVwZGF0
ZUJvb2tsZXRTZWxlY3Rpb24oY29udGV4dCxwYWdlLCRwYWdlcywkaW5kZXgpO2Jy
ZWFrO2Nhc2Uncm93cyc6aWYoISgnc2VjdGlvbidpbiBkYXRhJiYncGFnZSdpbiBk
YXRhKSl7Y29udGludWU7fQp2YXIgJHRhYmxlPWNvbnRleHQubW9kdWxlcy50b29s
YmFyLiR0b29sYmFyLmZpbmQoJ2RpdltyZWw9JytkYXRhLnNlY3Rpb24rJ10uc2Vj
dGlvbiAnKydkaXZbcmVsPScrZGF0YS5wYWdlKyddLnBhZ2UgdGFibGUnKTtmb3Io
cm93IGluIGRhdGFbdHlwZV0peyR0YWJsZS5hcHBlbmQoJC53aWtpRWRpdG9yLm1v
ZHVsZXMudG9vbGJhci5mbi5idWlsZFJvdyhjb250ZXh0LGRhdGFbdHlwZV1bcm93
XSkpO30KYnJlYWs7Y2FzZSdjaGFyYWN0ZXJzJzppZighKCdzZWN0aW9uJ2luIGRh
dGEmJidwYWdlJ2luIGRhdGEpKXtjb250aW51ZTt9CiRjaGFyYWN0ZXJzPWNvbnRl
eHQubW9kdWxlcy50b29sYmFyLiR0b29sYmFyLmZpbmQoJ2RpdltyZWw9JytkYXRh
LnNlY3Rpb24rJ10uc2VjdGlvbiAnKydkaXZbcmVsPScrZGF0YS5wYWdlKyddLnBh
Z2UgZGl2Jyk7dmFyIGFjdGlvbnM9JGNoYXJhY3RlcnMuZGF0YSgnYWN0aW9ucycp
O2ZvcihjaGFyYWN0ZXIgaW4gZGF0YVt0eXBlXSl7JGNoYXJhY3RlcnMuYXBwZW5k
KCQoJC53aWtpRWRpdG9yLm1vZHVsZXMudG9vbGJhci5mbi5idWlsZENoYXJhY3Rl
cihkYXRhW3R5cGVdW2NoYXJhY3Rlcl0sYWN0aW9ucykpLm1vdXNlZG93bihmdW5j
dGlvbihlKXtjb250ZXh0LmZuLnNhdmVTdHVmZkZvcklFKCk7ZS5wcmV2ZW50RGVm
YXVsdCgpO3JldHVybiBmYWxzZTt9KS5jbGljayhmdW5jdGlvbihlKXskLndpa2lF
ZGl0b3IubW9kdWxlcy50b29sYmFyLmZuLmRvQWN0aW9uKCQodGhpcykucGFyZW50
KCkuZGF0YSgnY29udGV4dCcpLCQodGhpcykucGFyZW50KCkuZGF0YSgnYWN0aW9u
cycpWyQodGhpcykuYXR0cigncmVsJyldKTtlLnByZXZlbnREZWZhdWx0KCk7cmV0
dXJuIGZhbHNlO30pKTt9CmJyZWFrO2RlZmF1bHQ6YnJlYWs7fX19LHJlbW92ZUZy
b21Ub29sYmFyOmZ1bmN0aW9uKGNvbnRleHQsZGF0YSl7aWYodHlwZW9mIGRhdGEu
c2VjdGlvbj09J3N0cmluZycpe3ZhciB0YWI9J2Rpdi50YWJzIHNwYW5bcmVsPScr
ZGF0YS5zZWN0aW9uKyddLnRhYic7dmFyIHRhcmdldD0nZGl2W3JlbD0nK2RhdGEu
c2VjdGlvbisnXS5zZWN0aW9uJzt2YXIgZ3JvdXA9bnVsbDtpZih0eXBlb2YgZGF0
YS5ncm91cD09J3N0cmluZycpe3RhcmdldCs9JyBkaXZbcmVsPScrZGF0YS5ncm91
cCsnXS5ncm91cCc7aWYodHlwZW9mIGRhdGEudG9vbD09J3N0cmluZycpe2dyb3Vw
PXRhcmdldDt0YXJnZXQrPScgZGl2W3JlbD0nK2RhdGEudG9vbCsnXS50b29sJzt9
fWVsc2UgaWYodHlwZW9mIGRhdGEucGFnZT09J3N0cmluZycpe3ZhciBpbmRleD10
YXJnZXQrJyBkaXYuaW5kZXggZGl2W3JlbD0nK2RhdGEucGFnZSsnXSc7dGFyZ2V0
Kz0nIGRpdi5wYWdlcyBkaXZbcmVsPScrZGF0YS5wYWdlKyddLnBhZ2UnO2lmKHR5
cGVvZiBkYXRhLmNoYXJhY3Rlcj09J3N0cmluZycpe3RhcmdldCs9JyBhW3JlbD0n
K2RhdGEuY2hhcmFjdGVyKyddJzt9ZWxzZSBpZih0eXBlb2YgZGF0YS5yb3c9PSdu
dW1iZXInKXt0YXJnZXQrPScgdGFibGUgdHI6bm90KDpoYXModGgpKTplcSgnK2Rh
dGEucm93KycpJzt9ZWxzZXtjb250ZXh0Lm1vZHVsZXMudG9vbGJhci4kdG9vbGJh
ci5maW5kKGluZGV4KS5yZW1vdmUoKTskLndpa2lFZGl0b3IubW9kdWxlcy50b29s
YmFyLmZuLnVwZGF0ZUJvb2tsZXRTZWxlY3Rpb24oY29udGV4dCxudWxsLGNvbnRl
eHQubW9kdWxlcy50b29sYmFyLiR0b29sYmFyLmZpbmQodGFyZ2V0KSxjb250ZXh0
Lm1vZHVsZXMudG9vbGJhci4kdG9vbGJhci5maW5kKGluZGV4KSk7fX1lbHNle2Nv
bnRleHQubW9kdWxlcy50b29sYmFyLiR0b29sYmFyLmZpbmQodGFiKS5yZW1vdmUo
KTt9CmNvbnRleHQubW9kdWxlcy50b29sYmFyLiR0b29sYmFyLmZpbmQodGFyZ2V0
KS5yZW1vdmUoKTtpZihncm91cCl7JGdyb3VwPWNvbnRleHQubW9kdWxlcy50b29s
YmFyLiR0b29sYmFyLmZpbmQoZ3JvdXApO2lmKCRncm91cC5jaGlsZHJlbigpLmxl
bmd0aD09MCl7JGdyb3VwLmhpZGUoKTt9fX19fSxldnQ6e3Jlc2l6ZTpmdW5jdGlv
bihjb250ZXh0LGV2ZW50KXtjb250ZXh0LiR1aS5maW5kKCcuc2VjdGlvbnMnKS5o
ZWlnaHQoY29udGV4dC4kdWkuZmluZCgnLnNlY3Rpb25zIC5zZWN0aW9uLXZpc2li
bGUnKS5vdXRlckhlaWdodCgpKTt9LHRvY0NvbGxhcHNlOmZ1bmN0aW9uKGNvbnRl
eHQsZXZlbnQpeyQud2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZXZ0LnJlc2l6
ZShjb250ZXh0LGV2ZW50KTt9LHRvY0V4cGFuZDpmdW5jdGlvbihjb250ZXh0LGV2
ZW50KXskLndpa2lFZGl0b3IubW9kdWxlcy50b29sYmFyLmV2dC5yZXNpemUoY29u
dGV4dCxldmVudCk7fX0sZm46e2NyZWF0ZTpmdW5jdGlvbihjb250ZXh0LGNvbmZp
Zyl7aWYoJyR0b29sYmFyJ2luIGNvbnRleHQubW9kdWxlcy50b29sYmFyKXtyZXR1
cm47fQpjb250ZXh0Lm1vZHVsZXMudG9vbGJhci4kdG9vbGJhcj0kKCc8ZGl2IC8+
JykuYWRkQ2xhc3MoJ3dpa2lFZGl0b3ItdWktdG9vbGJhcicpLmF0dHIoJ2lkJywn
d2lraUVkaXRvci11aS10b29sYmFyJyk7JC53aWtpRWRpdG9yLm1vZHVsZXMudG9v
bGJhci5mbi5idWlsZChjb250ZXh0LGNvbmZpZyk7Y29udGV4dC4kdWkuZmluZCgn
Lndpa2lFZGl0b3ItdWktdG9wJykuYXBwZW5kKGNvbnRleHQubW9kdWxlcy50b29s
YmFyLiR0b29sYmFyKTt9LGRvQWN0aW9uOmZ1bmN0aW9uKGNvbnRleHQsYWN0aW9u
LHNvdXJjZSl7aWYoJC50cmFja0FjdGlvbiE9dW5kZWZpbmVkJiZzb3VyY2UuY2xv
c2VzdCgnLndpa2lFZGl0b3ItdWktdG9vbGJhcicpLnNpemUoKSl7dmFyIHJlbHM9
W107dmFyIHN0ZXA9c291cmNlO3ZhciBpPTA7d2hpbGUoIXN0ZXAuaGFzQ2xhc3Mo
J3dpa2lFZGl0b3ItdWktdG9vbGJhcicpKXtpZihpPjI1KXticmVhazt9CmkrKzt2
YXIgcmVsPXN0ZXAuYXR0cigncmVsJyk7aWYocmVsKXtyZWxzLnB1c2goc3RlcC5h
dHRyKCdyZWwnKSk7fQpzdGVwPXN0ZXAucGFyZW50KCk7fQpyZWxzLnJldmVyc2Uo
KTt2YXIgaWQ9cmVscy5qb2luKCcuJyk7JC50cmFja0FjdGlvbihpZCk7fQpzd2l0
Y2goYWN0aW9uLnR5cGUpe2Nhc2UncmVwbGFjZSc6Y2FzZSdlbmNhcHN1bGF0ZSc6
dmFyIHBhcnRzPXsncHJlJzokLndpa2lFZGl0b3IuYXV0b01zZyhhY3Rpb24ub3B0
aW9ucywncHJlJyksJ3BlcmknOiQud2lraUVkaXRvci5hdXRvTXNnKGFjdGlvbi5v
cHRpb25zLCdwZXJpJyksJ3Bvc3QnOiQud2lraUVkaXRvci5hdXRvTXNnKGFjdGlv
bi5vcHRpb25zLCdwb3N0Jyl9O3ZhciByZXBsYWNlPWFjdGlvbi50eXBlPT0ncmVw
bGFjZSc7aWYoJ3JlZ2V4J2luIGFjdGlvbi5vcHRpb25zJiYncmVnZXhSZXBsYWNl
J2luIGFjdGlvbi5vcHRpb25zKXt2YXIgc2VsZWN0aW9uPWNvbnRleHQuJHRleHRh
cmVhLnRleHRTZWxlY3Rpb24oJ2dldFNlbGVjdGlvbicpO2lmKHNlbGVjdGlvbiE9
JycmJnNlbGVjdGlvbi5tYXRjaChhY3Rpb24ub3B0aW9ucy5yZWdleCkpe3BhcnRz
LnBlcmk9c2VsZWN0aW9uLnJlcGxhY2UoYWN0aW9uLm9wdGlvbnMucmVnZXgsYWN0
aW9uLm9wdGlvbnMucmVnZXhSZXBsYWNlKTtwYXJ0cy5wcmU9cGFydHMucG9zdD0n
JztyZXBsYWNlPXRydWU7fX0KY29udGV4dC4kdGV4dGFyZWEudGV4dFNlbGVjdGlv
bignZW5jYXBzdWxhdGVTZWxlY3Rpb24nLCQuZXh0ZW5kKHt9LGFjdGlvbi5vcHRp
b25zLHBhcnRzLHsncmVwbGFjZSc6cmVwbGFjZX0pKTtpZih0eXBlb2YgY29udGV4
dC4kaWZyYW1lIT09J3VuZGVmaW5lZCcpe2NvbnRleHQuJGlmcmFtZVswXS5jb250
ZW50V2luZG93LmZvY3VzKCk7fQpicmVhaztjYXNlJ2NhbGxiYWNrJzppZih0eXBl
b2YgYWN0aW9uLmV4ZWN1dGU9PSdmdW5jdGlvbicpe2FjdGlvbi5leGVjdXRlKGNv
bnRleHQpO30KYnJlYWs7Y2FzZSdkaWFsb2cnOmNvbnRleHQuZm4uc2F2ZVNlbGVj
dGlvbigpO2NvbnRleHQuJHRleHRhcmVhLndpa2lFZGl0b3IoJ29wZW5EaWFsb2cn
LGFjdGlvbi5tb2R1bGUpO2JyZWFrO2RlZmF1bHQ6YnJlYWs7fX0sYnVpbGRHcm91
cDpmdW5jdGlvbihjb250ZXh0LGlkLGdyb3VwKXt2YXIgJGdyb3VwPSQoJzxkaXYg
Lz4nKS5hdHRyKHsnY2xhc3MnOidncm91cCBncm91cC0nK2lkLCdyZWwnOmlkfSk7
dmFyIGxhYmVsPSQud2lraUVkaXRvci5hdXRvTXNnKGdyb3VwLCdsYWJlbCcpO2lm
KGxhYmVsKXskZ3JvdXAuYXBwZW5kKCc8ZGl2IGNsYXNzPSJsYWJlbCI+JytsYWJl
bCsnPC9kaXY+Jyl9CnZhciBlbXB0eT10cnVlO2lmKCd0b29scydpbiBncm91cCl7
Zm9yKHRvb2wgaW4gZ3JvdXAudG9vbHMpe3ZhciB0b29sPSQud2lraUVkaXRvci5t
b2R1bGVzLnRvb2xiYXIuZm4uYnVpbGRUb29sKGNvbnRleHQsdG9vbCxncm91cC50
b29sc1t0b29sXSk7aWYodG9vbCl7ZW1wdHk9ZW1wdHkmJnRvb2wuY3NzKCdkaXNw
bGF5Jyk9PSdub25lJzskZ3JvdXAuYXBwZW5kKHRvb2wpO319fQppZihlbXB0eSl7
JGdyb3VwLmhpZGUoKTt9CnJldHVybiAkZ3JvdXA7fSxidWlsZFRvb2w6ZnVuY3Rp
b24oY29udGV4dCxpZCx0b29sKXtpZignZmlsdGVycydpbiB0b29sKXtmb3IoZmls
dGVyIGluIHRvb2wuZmlsdGVycyl7aWYoJCh0b29sLmZpbHRlcnNbZmlsdGVyXSku
c2l6ZSgpPT0wKXtyZXR1cm4gbnVsbDt9fX0KdmFyIGxhYmVsPSQud2lraUVkaXRv
ci5hdXRvTXNnKHRvb2wsJ2xhYmVsJyk7c3dpdGNoKHRvb2wudHlwZSl7Y2FzZSdi
dXR0b24nOnZhciBzcmM9JC53aWtpRWRpdG9yLmF1dG9JY29uKHRvb2wuaWNvbiwk
Lndpa2lFZGl0b3IuaW1nUGF0aCsndG9vbGJhci8nKTt2YXIgJGJ1dHRvbj1udWxs
O2lmKCdvZmZzZXQnaW4gdG9vbCl7dmFyIG9mZnNldE9ySWNvbj0kLndpa2lFZGl0
b3IuYXV0b0ljb25Pck9mZnNldCh0b29sLmljb24sdG9vbC5vZmZzZXQsJC53aWtp
RWRpdG9yLmltZ1BhdGgrJ3Rvb2xiYXIvJyk7aWYodHlwZW9mIG9mZnNldE9ySWNv
bj09J29iamVjdCcpeyRidXR0b249JCgnPHNwYW4gLz4nKS5hdHRyKHsnYWx0Jzps
YWJlbCwndGl0bGUnOmxhYmVsLCdyZWwnOmlkLCdjbGFzcyc6J3dpa2lFZGl0b3It
dG9vbGJhci1zcHJpdGVkQnV0dG9uJ30pLnRleHQobGFiZWwpLmNzcygnYmFja2dy
b3VuZFBvc2l0aW9uJyxvZmZzZXRPckljb25bMF0rJ3B4ICcrb2Zmc2V0T3JJY29u
WzFdKydweCcpO319CmlmKCEkYnV0dG9uKXskYnV0dG9uPSQoJzxpbWcgLz4nKS5h
dHRyKHsnc3JjJzpzcmMsJ3dpZHRoJzoyMiwnaGVpZ2h0JzoyMiwnYWx0JzpsYWJl
bCwndGl0bGUnOmxhYmVsLCdyZWwnOmlkLCdjbGFzcyc6J3Rvb2wgdG9vbC1idXR0
b24nfSk7fQppZignYWN0aW9uJ2luIHRvb2wpeyRidXR0b24uZGF0YSgnYWN0aW9u
Jyx0b29sLmFjdGlvbikuZGF0YSgnY29udGV4dCcsY29udGV4dCkubW91c2Vkb3du
KGZ1bmN0aW9uKGUpe2NvbnRleHQuZm4uc2F2ZVN0dWZmRm9ySUUoKTtlLnByZXZl
bnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlO30pLmNsaWNrKGZ1bmN0aW9uKGUpeyQu
d2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZm4uZG9BY3Rpb24oJCh0aGlzKS5k
YXRhKCdjb250ZXh0JyksJCh0aGlzKS5kYXRhKCdhY3Rpb24nKSwkKHRoaXMpKTtl
LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlO30pO2lmKHRvb2wuYWN0aW9u
LnR5cGU9PSdkaWFsb2cnJiYhKHRvb2wuYWN0aW9uLm1vZHVsZSBpbiAkLndpa2lF
ZGl0b3IubW9kdWxlcy5kaWFsb2dzLm1vZHVsZXMpKXskYnV0dG9uLmhpZGUoKTtj
b250ZXh0LiR0ZXh0YXJlYS5iaW5kKCd3aWtpRWRpdG9yLWRpYWxvZ3Mtc2V0dXAt
Jyt0b29sLmFjdGlvbi5tb2R1bGUse2J1dHRvbjokYnV0dG9ufSxmdW5jdGlvbihl
dmVudCl7ZXZlbnQuZGF0YS5idXR0b24uc2hvdygpLnBhcmVudCgpLnNob3coKTt9
KTt9fQpyZXR1cm4gJGJ1dHRvbjtjYXNlJ3NlbGVjdCc6dmFyICRzZWxlY3Q9JCgn
PGRpdiAvPicpLmF0dHIoeydyZWwnOmlkLCdjbGFzcyc6J3Rvb2wgdG9vbC1zZWxl
Y3QnfSk7dmFyICRvcHRpb25zPSQoJzxkaXYgLz4nKS5hZGRDbGFzcygnb3B0aW9u
cycpO2lmKCdsaXN0J2luIHRvb2wpe2ZvcihvcHRpb24gaW4gdG9vbC5saXN0KXt2
YXIgb3B0aW9uTGFiZWw9JC53aWtpRWRpdG9yLmF1dG9Nc2codG9vbC5saXN0W29w
dGlvbl0sJ2xhYmVsJyk7JG9wdGlvbnMuYXBwZW5kKCQoJzxhIC8+JykuZGF0YSgn
YWN0aW9uJyx0b29sLmxpc3Rbb3B0aW9uXS5hY3Rpb24pLmRhdGEoJ2NvbnRleHQn
LGNvbnRleHQpLm1vdXNlZG93bihmdW5jdGlvbihlKXtjb250ZXh0LmZuLnNhdmVT
dHVmZkZvcklFKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBmYWxzZTt9KS5j
bGljayhmdW5jdGlvbihlKXskLndpa2lFZGl0b3IubW9kdWxlcy50b29sYmFyLmZu
LmRvQWN0aW9uKCQodGhpcykuZGF0YSgnY29udGV4dCcpLCQodGhpcykuZGF0YSgn
YWN0aW9uJyksJCh0aGlzKSk7aWYoJCh0aGlzKS5wYXJlbnQoKS5pcygnOnZpc2li
bGUnKSl7JCh0aGlzKS5wYXJlbnQoKS5hbmltYXRlKHsnb3BhY2l0eSc6J3RvZ2ds
ZSd9LCdmYXN0Jyk7fQplLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlO30p
LnRleHQob3B0aW9uTGFiZWwpLmFkZENsYXNzKCdvcHRpb24nKS5hdHRyKHsncmVs
JzpvcHRpb24sJ2hyZWYnOicjJ30pKTt9fQokc2VsZWN0LmFwcGVuZCgkKCc8ZGl2
IC8+JykuYWRkQ2xhc3MoJ21lbnUnKS5hcHBlbmQoJG9wdGlvbnMpKTskc2VsZWN0
LmFwcGVuZCgkKCc8YSAvPicpLmFkZENsYXNzKCdsYWJlbCcpLnRleHQobGFiZWwp
LmRhdGEoJ29wdGlvbnMnLCRvcHRpb25zKS5hdHRyKCdocmVmJywnIycpLm1vdXNl
ZG93bihmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNl
O30pLmNsaWNrKGZ1bmN0aW9uKGUpeyQodGhpcykuZGF0YSgnb3B0aW9ucycpLmFu
aW1hdGUoeydvcGFjaXR5JzondG9nZ2xlJ30sJ2Zhc3QnKTtlLnByZXZlbnREZWZh
dWx0KCk7cmV0dXJuIGZhbHNlO30pKTtyZXR1cm4gJHNlbGVjdDtkZWZhdWx0OnJl
dHVybiBudWxsO319LGJ1aWxkQm9va21hcms6ZnVuY3Rpb24oY29udGV4dCxpZCxw
YWdlKXt2YXIgbGFiZWw9JC53aWtpRWRpdG9yLmF1dG9Nc2cocGFnZSwnbGFiZWwn
KTtyZXR1cm4gJCgnPGRpdiAvPicpLnRleHQobGFiZWwpLmF0dHIoJ3JlbCcsaWQp
LmRhdGEoJ2NvbnRleHQnLGNvbnRleHQpLm1vdXNlZG93bihmdW5jdGlvbihlKXtl
LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlO30pLmNsaWNrKGZ1bmN0aW9u
KGV2ZW50KXskKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoJy5wYWdlJyku
aGlkZSgpOyQodGhpcykucGFyZW50KCkucGFyZW50KCkuZmluZCgnLnBhZ2UtJysk
KHRoaXMpLmF0dHIoJ3JlbCcpKS5zaG93KCk7JCh0aGlzKS5zaWJsaW5ncygpLnJl
bW92ZUNsYXNzKCdjdXJyZW50Jyk7JCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcp
O3ZhciBzZWN0aW9uPSQodGhpcykucGFyZW50KCkucGFyZW50KCkuYXR0cigncmVs
Jyk7JC5jb29raWUoJ3dpa2lFZGl0b3ItJyskKHRoaXMpLmRhdGEoJ2NvbnRleHQn
KS5pbnN0YW5jZSsnLWJvb2tsZXQtJytzZWN0aW9uKyctcGFnZScsJCh0aGlzKS5h
dHRyKCdyZWwnKSx7ZXhwaXJlczozMCxwYXRoOicvJ30pO2lmKCQudHJhY2tBY3Rp
b24hPXVuZGVmaW5lZCl7JC50cmFja0FjdGlvbihzZWN0aW9uKycuJyskKHRoaXMp
LmF0dHIoJ3JlbCcpKTt9CmV2ZW50LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZh
bHNlO30pfSxidWlsZFBhZ2U6ZnVuY3Rpb24oY29udGV4dCxpZCxwYWdlKXt2YXIg
JHBhZ2U9JCgnPGRpdiAvPicpLmF0dHIoeydjbGFzcyc6J3BhZ2UgcGFnZS0nK2lk
LCdyZWwnOmlkfSk7c3dpdGNoKHBhZ2UubGF5b3V0KXtjYXNlJ3RhYmxlJzokcGFn
ZS5hZGRDbGFzcygncGFnZS10YWJsZScpO3ZhciBodG1sPSc8dGFibGUgY2VsbHBh
ZGRpbmc9MCBjZWxsc3BhY2luZz0wICcrJ2JvcmRlcj0wIHdpZHRoPSIxMDAlIiBj
bGFzcz0idGFibGUgdGFibGUtJytpZCsnIj4nO2lmKCdoZWFkaW5ncydpbiBwYWdl
KXtodG1sKz0kLndpa2lFZGl0b3IubW9kdWxlcy50b29sYmFyLmZuLmJ1aWxkSGVh
ZGluZyhjb250ZXh0LHBhZ2UuaGVhZGluZ3MpfQppZigncm93cydpbiBwYWdlKXtm
b3Iocm93IGluIHBhZ2Uucm93cyl7aHRtbCs9JC53aWtpRWRpdG9yLm1vZHVsZXMu
dG9vbGJhci5mbi5idWlsZFJvdyhjb250ZXh0LHBhZ2Uucm93c1tyb3ddKX19CiRw
YWdlLmh0bWwoaHRtbCk7YnJlYWs7Y2FzZSdjaGFyYWN0ZXJzJzokcGFnZS5hZGRD
bGFzcygncGFnZS1jaGFyYWN0ZXJzJyk7JGNoYXJhY3RlcnM9JCgnPGRpdiAvPicp
LmRhdGEoJ2NvbnRleHQnLGNvbnRleHQpLmRhdGEoJ2FjdGlvbnMnLHt9KTt2YXIg
YWN0aW9ucz0kY2hhcmFjdGVycy5kYXRhKCdhY3Rpb25zJyk7aWYoJ2xhbmd1YWdl
J2luIHBhZ2UpeyRjaGFyYWN0ZXJzLmF0dHIoJ2xhbmcnLHBhZ2UubGFuZ3VhZ2Up
O30KaWYoJ2RpcmVjdGlvbidpbiBwYWdlKXskY2hhcmFjdGVycy5hdHRyKCdkaXIn
LHBhZ2UuZGlyZWN0aW9uKTt9CmlmKCdjaGFyYWN0ZXJzJ2luIHBhZ2Upe3ZhciBo
dG1sPScnO2Zvcih2YXIgaT0wO2k8cGFnZS5jaGFyYWN0ZXJzLmxlbmd0aDtpKysp
e2h0bWwrPSQud2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZm4uYnVpbGRDaGFy
YWN0ZXIocGFnZS5jaGFyYWN0ZXJzW2ldLGFjdGlvbnMpO30KJGNoYXJhY3RlcnMu
aHRtbChodG1sKS5jaGlsZHJlbigpLm1vdXNlZG93bihmdW5jdGlvbihlKXtjb250
ZXh0LmZuLnNhdmVTdHVmZkZvcklFKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO3JldHVy
biBmYWxzZTt9KS5jbGljayhmdW5jdGlvbihlKXskLndpa2lFZGl0b3IubW9kdWxl
cy50b29sYmFyLmZuLmRvQWN0aW9uKCQodGhpcykucGFyZW50KCkuZGF0YSgnY29u
dGV4dCcpLCQodGhpcykucGFyZW50KCkuZGF0YSgnYWN0aW9ucycpWyQodGhpcyku
YXR0cigncmVsJyldLCQodGhpcykpO2UucHJldmVudERlZmF1bHQoKTtyZXR1cm4g
ZmFsc2U7fSk7fQokcGFnZS5hcHBlbmQoJGNoYXJhY3RlcnMpO2JyZWFrO30KcmV0
dXJuICRwYWdlO30sYnVpbGRIZWFkaW5nOmZ1bmN0aW9uKGNvbnRleHQsaGVhZGlu
Z3Mpe3ZhciBodG1sPSc8dHI+Jztmb3IoaGVhZGluZyBpbiBoZWFkaW5ncyl7aHRt
bCs9Jzx0aD4nKyQud2lraUVkaXRvci5hdXRvTXNnKGhlYWRpbmdzW2hlYWRpbmdd
LFsnaHRtbCcsJ3RleHQnXSkrJzwvdGg+Jzt9CnJldHVybiBodG1sO30sYnVpbGRS
b3c6ZnVuY3Rpb24oY29udGV4dCxyb3cpe3ZhciBodG1sPSc8dHI+Jztmb3IoY2Vs
bCBpbiByb3cpe2h0bWwrPSc8dGQgY2xhc3M9ImNlbGwgY2VsbC0nK2NlbGwrJyIg
dmFsaWduPSJ0b3AiPjxzcGFuPicrCiQud2lraUVkaXRvci5hdXRvTXNnKHJvd1tj
ZWxsXSxbJ2h0bWwnLCd0ZXh0J10pKyc8L3NwYW4+PC90ZD4nO30KaHRtbCs9Jzwv
dHI+JztyZXR1cm4gaHRtbDt9LGJ1aWxkQ2hhcmFjdGVyOmZ1bmN0aW9uKGNoYXJh
Y3RlcixhY3Rpb25zKXtpZih0eXBlb2YgY2hhcmFjdGVyPT0nc3RyaW5nJyl7Y2hh
cmFjdGVyPXsnbGFiZWwnOmNoYXJhY3RlciwnYWN0aW9uJzp7J3R5cGUnOidyZXBs
YWNlJywnb3B0aW9ucyc6eydwZXJpJzpjaGFyYWN0ZXIsJ3NlbGVjdFBlcmknOmZh
bHNlfX19O31lbHNlIGlmKDAgaW4gY2hhcmFjdGVyJiYxIGluIGNoYXJhY3Rlcil7
Y2hhcmFjdGVyPXsnbGFiZWwnOmNoYXJhY3RlclswXSwnYWN0aW9uJzp7J3R5cGUn
OidyZXBsYWNlJywnb3B0aW9ucyc6eydwZXJpJzpjaGFyYWN0ZXJbMV0sJ3NlbGVj
dFBlcmknOmZhbHNlfX19O30KaWYoJ2FjdGlvbidpbiBjaGFyYWN0ZXImJidsYWJl
bCdpbiBjaGFyYWN0ZXIpe2FjdGlvbnNbY2hhcmFjdGVyLmxhYmVsXT1jaGFyYWN0
ZXIuYWN0aW9uO3JldHVybic8c3BhbiByZWw9IicrY2hhcmFjdGVyLmxhYmVsKyci
PicrY2hhcmFjdGVyLmxhYmVsKyc8L3NwYW4+Jzt9fSxidWlsZFRhYjpmdW5jdGlv
bihjb250ZXh0LGlkLHNlY3Rpb24pe3ZhciBzZWxlY3RlZD0kLmNvb2tpZSgnd2lr
aUVkaXRvci0nK2NvbnRleHQuaW5zdGFuY2UrJy10b29sYmFyLXNlY3Rpb24nKTtp
ZihzZWxlY3RlZCE9bnVsbCl7JC5jb29raWUoJ3dpa2lFZGl0b3ItJytjb250ZXh0
Lmluc3RhbmNlKyctdG9vbGJhci1zZWN0aW9uJyxzZWxlY3RlZCx7ZXhwaXJlczoz
MCxwYXRoOicvJ30pO30KcmV0dXJuICQoJzxzcGFuIC8+JykuYXR0cih7J2NsYXNz
JzondGFiIHRhYi0nK2lkLCdyZWwnOmlkfSkuYXBwZW5kKCQoJzxhIC8+JykuYWRk
Q2xhc3Moc2VsZWN0ZWQ9PWlkPydjdXJyZW50JzpudWxsKS5hdHRyKCdocmVmJywn
IycpLnRleHQoJC53aWtpRWRpdG9yLmF1dG9Nc2coc2VjdGlvbiwnbGFiZWwnKSku
ZGF0YSgnY29udGV4dCcsY29udGV4dCkubW91c2V1cChmdW5jdGlvbihlKXskKHRo
aXMpLmJsdXIoKTt9KS5tb3VzZWRvd24oZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVm
YXVsdCgpO3JldHVybiBmYWxzZTt9KS5jbGljayhmdW5jdGlvbihlKXt2YXIgJHNl
Y3Rpb25zPSQodGhpcykuZGF0YSgnY29udGV4dCcpLiR1aS5maW5kKCcuc2VjdGlv
bnMnKTt2YXIgJHNlY3Rpb249JCh0aGlzKS5kYXRhKCdjb250ZXh0JykuJHVpLmZp
bmQoJy5zZWN0aW9uLScrJCh0aGlzKS5wYXJlbnQoKS5hdHRyKCdyZWwnKSk7dmFy
IHNob3c9JHNlY3Rpb24uY3NzKCdkaXNwbGF5Jyk9PSdub25lJzskcHJldmlvdXNT
ZWN0aW9ucz0kc2VjdGlvbi5wYXJlbnQoKS5maW5kKCcuc2VjdGlvbi12aXNpYmxl
Jyk7JHByZXZpb3VzU2VjdGlvbnMuY3NzKCdwb3NpdGlvbicsJ2Fic29sdXRlJyk7
JHByZXZpb3VzU2VjdGlvbnMucmVtb3ZlQ2xhc3MoJ3NlY3Rpb24tdmlzaWJsZScp
OyRwcmV2aW91c1NlY3Rpb25zLmZhZGVPdXQoJ2Zhc3QnLGZ1bmN0aW9uKCl7JCh0
aGlzKS5jc3MoJ3Bvc2l0aW9uJywncmVsYXRpdmUnKTt9KTskKHRoaXMpLnBhcmVu
dCgpLnBhcmVudCgpLmZpbmQoJ2EnKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOyRz
ZWN0aW9ucy5jc3MoJ292ZXJmbG93JywnaGlkZGVuJyk7ZnVuY3Rpb24gYW5pbWF0
ZSgkdGhpcyl7JHNlY3Rpb25zLmNzcygnZGlzcGxheScsJ2Jsb2NrJykuYW5pbWF0
ZSh7J2hlaWdodCc6JHNlY3Rpb24ub3V0ZXJIZWlnaHQoKX0sJHNlY3Rpb24ub3V0
ZXJIZWlnaHQoKSoyLGZ1bmN0aW9uKCl7JCh0aGlzKS5jc3MoJ292ZXJmbG93Jywn
dmlzaWJsZScpLmNzcygnaGVpZ2h0JywnYXV0bycpO2NvbnRleHQuZm4udHJpZ2dl
cigncmVzaXplJyk7fSk7fQppZihzaG93KXskc2VjdGlvbi5hZGRDbGFzcygnc2Vj
dGlvbi12aXNpYmxlJyk7JHNlY3Rpb24uZmFkZUluKCdmYXN0Jyk7aWYoJHNlY3Rp
b24uaGFzQ2xhc3MoJ2xvYWRpbmcnKSl7dmFyICR0aGlzPSQodGhpcyk7JHRoaXMu
YWRkQ2xhc3MoJ2N1cnJlbnQgbG9hZGluZycpO3NldFRpbWVvdXQoZnVuY3Rpb24o
KXskc2VjdGlvbi50cmlnZ2VyKCdsb2FkU2VjdGlvbicpO2FuaW1hdGUoJCh0aGlz
KSk7JHRoaXMucmVtb3ZlQ2xhc3MoJ2xvYWRpbmcnKTt9LDEwMDApO31lbHNle2Fu
aW1hdGUoJCh0aGlzKSk7JCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpO319ZWxz
ZXskc2VjdGlvbnMuY3NzKCdoZWlnaHQnLCRzZWN0aW9uLm91dGVySGVpZ2h0KCkp
LmFuaW1hdGUoeydoZWlnaHQnOidoaWRlJ30sJHNlY3Rpb24ub3V0ZXJIZWlnaHQo
KSoyLGZ1bmN0aW9uKCl7JCh0aGlzKS5jc3MoeydvdmVyZmxvdyc6J3Zpc2libGUn
LCdoZWlnaHQnOjB9KTtjb250ZXh0LmZuLnRyaWdnZXIoJ3Jlc2l6ZScpO30pO30K
aWYoJC50cmFja0FjdGlvbiE9dW5kZWZpbmVkKXskLnRyYWNrQWN0aW9uKCRzZWN0
aW9uLmF0dHIoJ3JlbCcpKycuJysoc2hvdz8nc2hvdyc6J2hpZGUnKSk7fQokLmNv
b2tpZSgnd2lraUVkaXRvci0nKyQodGhpcykuZGF0YSgnY29udGV4dCcpLmluc3Rh
bmNlKyctdG9vbGJhci1zZWN0aW9uJyxzaG93PyRzZWN0aW9uLmF0dHIoJ3JlbCcp
Om51bGwse2V4cGlyZXM6MzAscGF0aDonLyd9KTtlLnByZXZlbnREZWZhdWx0KCk7
cmV0dXJuIGZhbHNlO30pKTt9LGJ1aWxkU2VjdGlvbjpmdW5jdGlvbihjb250ZXh0
LGlkLHNlY3Rpb24pe3ZhciAkc2VjdGlvbj0kKCc8ZGl2IC8+JykuYXR0cih7J2Ns
YXNzJzpzZWN0aW9uLnR5cGUrJyBzZWN0aW9uIHNlY3Rpb24tJytpZCwncmVsJzpp
ZH0pO3ZhciBzZWxlY3RlZD0kLmNvb2tpZSgnd2lraUVkaXRvci0nK2NvbnRleHQu
aW5zdGFuY2UrJy10b29sYmFyLXNlY3Rpb24nKTt2YXIgc2hvdz1zZWxlY3RlZD09
aWQ7aWYodHlwZW9mIHNlY3Rpb24uZGVmZXJMb2FkIT0ndW5kZWZpbmVkJyYmc2Vj
dGlvbi5kZWZlckxvYWQmJmlkIT09J21haW4nJiYhc2hvdyl7JHNlY3Rpb24uYWRk
Q2xhc3MoJ2xvYWRpbmcnKS5hcHBlbmQoJCgnPGRpdiAvPicpLmFkZENsYXNzKCdz
cGlubmVyJykpOyRzZWN0aW9uLmJpbmQoJ2xvYWRTZWN0aW9uJyxmdW5jdGlvbigp
eyQud2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZm4ucmVhbGx5QnVpbGRTZWN0
aW9uKGNvbnRleHQsaWQsc2VjdGlvbiwkc2VjdGlvbik7JHNlY3Rpb24ucmVtb3Zl
Q2xhc3MoJ2xvYWRpbmcnKTt9KTt9ZWxzZXskLndpa2lFZGl0b3IubW9kdWxlcy50
b29sYmFyLmZuLnJlYWxseUJ1aWxkU2VjdGlvbihjb250ZXh0LGlkLHNlY3Rpb24s
JHNlY3Rpb24pO30KaWYoaWQhPT0nbWFpbicpeyRzZWN0aW9uLmNzcygnZGlzcGxh
eScsc2hvdz8nYmxvY2snOidub25lJyk7aWYoc2hvdykKJHNlY3Rpb24uYWRkQ2xh
c3MoJ3NlY3Rpb24tdmlzaWJsZScpO30KcmV0dXJuICRzZWN0aW9uO30scmVhbGx5
QnVpbGRTZWN0aW9uOmZ1bmN0aW9uKGNvbnRleHQsaWQsc2VjdGlvbiwkc2VjdGlv
bil7Y29udGV4dC4kdGV4dGFyZWEudHJpZ2dlcignd2lraUVkaXRvci10b29sYmFy
LWJ1aWxkU2VjdGlvbi0nKyRzZWN0aW9uLmF0dHIoJ3JlbCcpLFtzZWN0aW9uXSk7
c3dpdGNoKHNlY3Rpb24udHlwZSl7Y2FzZSd0b29sYmFyJzppZignZ3JvdXBzJ2lu
IHNlY3Rpb24pe2Zvcihncm91cCBpbiBzZWN0aW9uLmdyb3Vwcyl7JHNlY3Rpb24u
YXBwZW5kKCQud2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZm4uYnVpbGRHcm91
cChjb250ZXh0LGdyb3VwLHNlY3Rpb24uZ3JvdXBzW2dyb3VwXSkpO319CmJyZWFr
O2Nhc2UnYm9va2xldCc6dmFyICRwYWdlcz0kKCc8ZGl2IC8+JykuYWRkQ2xhc3Mo
J3BhZ2VzJyk7dmFyICRpbmRleD0kKCc8ZGl2IC8+JykuYWRkQ2xhc3MoJ2luZGV4
Jyk7aWYoJ3BhZ2VzJ2luIHNlY3Rpb24pe2ZvcihwYWdlIGluIHNlY3Rpb24ucGFn
ZXMpeyRwYWdlcy5hcHBlbmQoJC53aWtpRWRpdG9yLm1vZHVsZXMudG9vbGJhci5m
bi5idWlsZFBhZ2UoY29udGV4dCxwYWdlLHNlY3Rpb24ucGFnZXNbcGFnZV0pKTsk
aW5kZXguYXBwZW5kKCQud2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZm4uYnVp
bGRCb29rbWFyayhjb250ZXh0LHBhZ2Usc2VjdGlvbi5wYWdlc1twYWdlXSkpO319
CiRzZWN0aW9uLmFwcGVuZCgkaW5kZXgpLmFwcGVuZCgkcGFnZXMpOyQud2lraUVk
aXRvci5tb2R1bGVzLnRvb2xiYXIuZm4udXBkYXRlQm9va2xldFNlbGVjdGlvbihj
b250ZXh0LGlkLCRwYWdlcywkaW5kZXgpO2JyZWFrO319LHVwZGF0ZUJvb2tsZXRT
ZWxlY3Rpb246ZnVuY3Rpb24oY29udGV4dCxpZCwkcGFnZXMsJGluZGV4KXt2YXIg
Y29va2llPSd3aWtpRWRpdG9yLScrY29udGV4dC5pbnN0YW5jZSsnLWJvb2tsZXQt
JytpZCsnLXBhZ2UnO3ZhciBzZWxlY3RlZD0kLmNvb2tpZShjb29raWUpO2lmKHNl
bGVjdGVkIT1udWxsKXskLmNvb2tpZShjb29raWUsc2VsZWN0ZWQse2V4cGlyZXM6
MzAscGF0aDonLyd9KTt9CnZhciAkc2VsZWN0ZWRJbmRleD0kaW5kZXguZmluZCgn
KltyZWw9JytzZWxlY3RlZCsnXScpO2lmKCRzZWxlY3RlZEluZGV4LnNpemUoKT09
MCl7c2VsZWN0ZWQ9JGluZGV4LmNoaWxkcmVuKCkuZXEoMCkuYXR0cigncmVsJyk7
JC5jb29raWUoY29va2llLHNlbGVjdGVkLHtleHBpcmVzOjMwLHBhdGg6Jy8nfSk7
fQokcGFnZXMuY2hpbGRyZW4oKS5oaWRlKCk7JHBhZ2VzLmZpbmQoJypbcmVsPScr
c2VsZWN0ZWQrJ10nKS5zaG93KCk7JGluZGV4LmNoaWxkcmVuKCkucmVtb3ZlQ2xh
c3MoJ2N1cnJlbnQnKTskc2VsZWN0ZWRJbmRleC5hZGRDbGFzcygnY3VycmVudCcp
O30sYnVpbGQ6ZnVuY3Rpb24oY29udGV4dCxjb25maWcpe3ZhciAkdGFicz0kKCc8
ZGl2IC8+JykuYWRkQ2xhc3MoJ3RhYnMnKS5hcHBlbmRUbyhjb250ZXh0Lm1vZHVs
ZXMudG9vbGJhci4kdG9vbGJhcik7dmFyICRzZWN0aW9ucz0kKCc8ZGl2IC8+Jyku
YWRkQ2xhc3MoJ3NlY3Rpb25zJykuYXBwZW5kVG8oY29udGV4dC5tb2R1bGVzLnRv
b2xiYXIuJHRvb2xiYXIpO2NvbnRleHQubW9kdWxlcy50b29sYmFyLiR0b29sYmFy
LmFwcGVuZCgkKCc8ZGl2IC8+JykuY3NzKCdjbGVhcicsJ2JvdGgnKSk7dmFyIHNl
Y3Rpb25RdWV1ZT1bXTtmb3Ioc2VjdGlvbiBpbiBjb25maWcpe2lmKHNlY3Rpb249
PSdtYWluJyl7Y29udGV4dC5tb2R1bGVzLnRvb2xiYXIuJHRvb2xiYXIucHJlcGVu
ZCgkLndpa2lFZGl0b3IubW9kdWxlcy50b29sYmFyLmZuLmJ1aWxkU2VjdGlvbihj
b250ZXh0LHNlY3Rpb24sY29uZmlnW3NlY3Rpb25dKSk7fWVsc2V7c2VjdGlvblF1
ZXVlLnB1c2goeyckc2VjdGlvbnMnOiRzZWN0aW9ucywnY29udGV4dCc6Y29udGV4
dCwnaWQnOnNlY3Rpb24sJ2NvbmZpZyc6Y29uZmlnW3NlY3Rpb25dfSk7JHRhYnMu
YXBwZW5kKCQud2lraUVkaXRvci5tb2R1bGVzLnRvb2xiYXIuZm4uYnVpbGRUYWIo
Y29udGV4dCxzZWN0aW9uLGNvbmZpZ1tzZWN0aW9uXSkpO319CiQuZWFjaEFzeW5j
KHNlY3Rpb25RdWV1ZSx7J2J1bGsnOjAsJ2VuZCc6ZnVuY3Rpb24oKXt2YXIgb2xk
VmFsdWU9JCgnYm9keScpLmNzcygncG9zaXRpb24nKTskKCdib2R5JykuY3NzKCdw
b3NpdGlvbicsJ3N0YXRpYycpOyQoJ2JvZHknKS5jc3MoJ3Bvc2l0aW9uJyxvbGRW
YWx1ZSk7fSwnbG9vcCc6ZnVuY3Rpb24oaSxzKXtzLiRzZWN0aW9ucy5hcHBlbmQo
JC53aWtpRWRpdG9yLm1vZHVsZXMudG9vbGJhci5mbi5idWlsZFNlY3Rpb24ocy5j
b250ZXh0LHMuaWQscy5jb25maWcpKTt2YXIgJHNlY3Rpb249cy4kc2VjdGlvbnMu
ZmluZCgnLnNlY3Rpb246dmlzaWJsZScpO2lmKCRzZWN0aW9uLnNpemUoKSl7JHNl
Y3Rpb25zLmFuaW1hdGUoeydoZWlnaHQnOiRzZWN0aW9uLm91dGVySGVpZ2h0KCl9
LCRzZWN0aW9uLm91dGVySGVpZ2h0KCkqMixmdW5jdGlvbigpe2NvbnRleHQuZm4u
dHJpZ2dlcigncmVzaXplJyk7fSk7fX19KTt9fX07fSkoalF1ZXJ5KTs=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=Vector.combined.min.js
Content-Type: application/x-javascript; name=Vector.combined.min.js
Content-Location: http://bits.wikimedia.org/w/extensions/UsabilityInitiative/Vec
tor/Vector.combined.min.js?283s
Content-Transfer-Encoding: Base64
CiRqKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2lmKCF3Z1ZlY3RvckVuYWJs
ZWRNb2R1bGVzLmNvbGxhcHNpYmxlbmF2KXtyZXR1cm4gdHJ1ZTt9CnZhciBtYXA9
eydsdHInOnsnbXNpZSc6W1snPj0nLDddXSwnb3BlcmEnOltbJz49Jyw5LjZdXSwn
a29ucXVlcm9yJzpbWyc+PScsNC4wXV0sJ2JsYWNrYmVycnknOmZhbHNlLCdpcG9k
JzpmYWxzZSwnaXBob25lJzpmYWxzZSwncHMzJzpmYWxzZX0sJ3J0bCc6eydtc2ll
JzpbWyc+PScsN11dLCdvcGVyYSc6W1snPj0nLDkuNl1dLCdrb25xdWVyb3InOltb
Jz49Jyw0LjBdXSwnYmxhY2tiZXJyeSc6ZmFsc2UsJ2lwb2QnOmZhbHNlLCdpcGhv
bmUnOmZhbHNlLCdwczMnOmZhbHNlfX07aWYoIW13LnVzYWJpbGl0eS50ZXN0QnJv
d3NlcihtYXApKXtyZXR1cm4gdHJ1ZTt9CnZhciB2ZXJzaW9uPTE7aWYod2dDb2xs
YXBzaWJsZU5hdkZvcmNlTmV3VmVyc2lvbil7dmVyc2lvbj0yO31lbHNle2lmKHdn
Q29sbGFwc2libGVOYXZCdWNrZXRUZXN0KXt2ZXJzaW9uPSRqLmNvb2tpZSgndmVj
dG9yLW5hdi1wcmVmLXZlcnNpb24nKTtpZih2ZXJzaW9uPT1udWxsKXt2ZXJzaW9u
PU1hdGgucm91bmQoTWF0aC5yYW5kb20oKSsxKTskai5jb29raWUoJ3ZlY3Rvci1u
YXYtcHJlZi12ZXJzaW9uJyx2ZXJzaW9uLHsnZXhwaXJlcyc6MzAsJ3BhdGgnOicv
J30pO319fQppZih2ZXJzaW9uPT0yKXt2YXIgbGltaXQ9NTt2YXIgdGhyZXNob2xk
PTM7JGooJyNwLWxhbmcgdWwnKS5hZGRDbGFzcygnc2Vjb25kYXJ5JykuYmVmb3Jl
KCc8dWwgY2xhc3M9InByaW1hcnkiPjwvdWw+Jyk7dmFyIGxhbmd1YWdlcz1bJ2Vu
JywnZnInLCdkZScsJ2VzJywncHQnLCdpdCcsJ3J1JywnamEnLCdubCcsJ3BsJywn
emgnLCdzdicsJ2FyJywndHInLCd1aycsJ2ZpJywnbm8nLCdjYScsJ3JvJywnaHUn
LCdrc2gnLCdpZCcsJ2hlJywnY3MnLCd2aScsJ2tvJywnc3InLCdmYScsJ2RhJywn
ZW8nLCdzaycsJ3RoJywnbHQnLCd2bycsJ2JnJywnc2wnLCdocicsJ2hpJywnZXQn
LCdtaycsJ3NpbXBsZScsJ25ldycsJ21zJywnbm4nLCdnbCcsJ2VsJywnZXUnLCdr
YScsJ3RsJywnYm4nLCdsdicsJ21sJywnYnMnLCd0ZScsJ2xhJywnYXonLCdzaCcs
J3dhcicsJ2JyJywnaXMnLCdtcicsJ2JlLXgtb2xkJywnc3EnLCdjeScsJ2xiJywn
dGEnLCd6aC1jbGFzc2ljYWwnLCdhbicsJ2p2JywnaHQnLCdvYycsJ2JweScsJ2Nl
YicsJ3VyJywnemgteXVlJywncG1zJywnc2NuJywnYmUnLCdyb2EtcnVwJywncXUn
LCdhZicsJ3N3JywnbmRzJywnZnknLCdsbW8nLCd3YScsJ2t1JywnaHknLCdzdScs
J3lpJywnaW8nLCdvcycsJ2dhJywnYXN0JywnbmFwJywndmVjJywnZ3UnLCdjdics
J2JhdC1zbWcnLCdrbicsJ3V6JywnemgtbWluLW5hbicsJ3NpJywnYWxzJywneW8n
LCdsaScsJ2dhbicsJ2FyeicsJ3NhaCcsJ3R0JywnYmFyJywnZ2QnLCd0ZycsJ2tr
JywncGFtJywnaHNiJywncm9hLXRhcmEnLCduYWgnLCdtbicsJ3ZscycsJ2d2Jywn
bWknLCdhbScsJ2lhJywnY28nLCduZScsJ2ZvJywnbmRzLW5sJywnZ2xrJywnbXQn
LCdhbmcnLCd3dXUnLCdkdicsJ2ttJywnc2NvJywnYmNsJywnbWcnLCdteScsJ2Rp
cScsJ3RrJywnc3psJywndWcnLCdmaXUtdnJvJywnc2MnLCdybScsJ25ybScsJ3Bz
JywnbnYnLCdoaWYnLCdibycsJ3NlJywnc2EnLCdwbmInLCdtYXAtYm1zJywnbGFk
JywnbGlqJywnY3JoJywnZnVyJywna3cnLCd0bycsJ3BhJywnamJvJywnYmEnLCdp
bG8nLCdjc2InLCd3bycsJ3hhbCcsJ2tyYycsJ2NrYicsJ3BhZycsJ2xuJywnZnJw
JywnbXpuJywnY2UnLCdub3YnLCdrdicsJ2VtbCcsJ2duJywna3knLCdwZGMnLCds
bycsJ2hhdycsJ21ocicsJ2RzYicsJ3N0cScsJ3RwaScsJ2FyYycsJ2hhaycsJ2ll
Jywnc28nLCdiaCcsJ2V4dCcsJ213bCcsJ3NkJywnaWcnLCdteXYnLCdheScsJ2l1
JywnbmEnLCdjdScsJ3BpJywna2wnLCd0eScsJ2xiZScsJ2FiJywnZ290Jywnc20n
LCdhcycsJ21vJywnZWUnLCd6ZWEnLCdhdicsJ2FjZScsJ2tnJywnYm0nLCdjZG8n
LCdjYmstemFtJywna2FiJywnb20nLCdjaHInLCdwYXAnLCd1ZG0nLCdrcycsJ3p1
Jywncm15JywnY3InLCdjaCcsJ3N0JywnaWsnLCdtZGYnLCdrYWEnLCdhYScsJ2Zq
Jywnc3JuJywndGV0Jywnb3InLCdwbnQnLCdidWcnLCdzcycsJ3RzJywncGNkJywn
cGloJywnemEnLCdzZycsJ2xnJywnYnhyJywneGgnLCdhaycsJ2hhJywnYmknLCd2
ZScsJ3RuJywnZmYnLCdkeicsJ3RpJywna2knLCdueScsJ3J3JywnY2h5JywndHcn
LCdzbicsJ3R1bScsJ25nJywncm4nLCdtaCcsJ2lpJywnY2hvJywnaHonLCdrcics
J2hvJywnbXVzJywna2onXTt2YXIgYWNjZXB0TGFuZ0Nvb2tpZT0kai5jb29raWUo
J2FjY2VwdC1sYW5ndWFnZScpO2lmKGFjY2VwdExhbmdDb29raWUhPW51bGwpe2lm
KGFjY2VwdExhbmdDb29raWUhPScnKXtsYW5ndWFnZXM9YWNjZXB0TGFuZ0Nvb2tp
ZS5zcGxpdCgnLCcpLmNvbmNhdChsYW5ndWFnZXMpO319ZWxzZXskai5nZXRKU09O
KHdnU2NyaXB0UGF0aCsnL2FwaS5waHA/YWN0aW9uPXF1ZXJ5Jm1ldGE9dXNlcmlu
Zm8mdWlwcm9wPWFjY2VwdGxhbmcmZm9ybWF0PWpzb24nLGZ1bmN0aW9uKGRhdGEp
e3ZhciBsYW5ncz1bXTtpZih0eXBlb2YgZGF0YS5xdWVyeSE9J3VuZGVmaW5lZCcm
JnR5cGVvZiBkYXRhLnF1ZXJ5LnVzZXJpbmZvIT0ndW5kZWZpbmVkJyYmdHlwZW9m
IGRhdGEucXVlcnkudXNlcmluZm8uYWNjZXB0bGFuZyE9J3VuZGVmaW5lZCcpe2Zv
cih2YXIgaj0wO2o8ZGF0YS5xdWVyeS51c2VyaW5mby5hY2NlcHRsYW5nLmxlbmd0
aDtqKyspe2lmKGRhdGEucXVlcnkudXNlcmluZm8uYWNjZXB0bGFuZ1tqXS5xIT0w
KXtsYW5ncy5wdXNoKGRhdGEucXVlcnkudXNlcmluZm8uYWNjZXB0bGFuZ1tqXVsn
KiddKTt9fX0KJGouY29va2llKCdhY2NlcHQtbGFuZ3VhZ2UnLGxhbmdzLmpvaW4o
JywnKSx7J3BhdGgnOicvJywnZXhwaXJlcyc6MzB9KTt9KTt9CnZhciAkcHJpbWFy
eT0kaignI3AtbGFuZyB1bC5wcmltYXJ5Jyk7dmFyICRzZWNvbmRhcnk9JGooJyNw
LWxhbmcgdWwuc2Vjb25kYXJ5Jyk7aWYoJHNlY29uZGFyeS5jaGlsZHJlbigpLmxl
bmd0aDxsaW1pdCt0aHJlc2hvbGQpe2xpbWl0Kz10aHJlc2hvbGQ7fQp2YXIgY291
bnQ9MDtmb3IodmFyIGk9MDtpPGxhbmd1YWdlcy5sZW5ndGg7aSsrKXt2YXIgJGxp
bms9JHNlY29uZGFyeS5maW5kKCcuaW50ZXJ3aWtpLScrbGFuZ3VhZ2VzW2ldKTtp
ZigkbGluay5sZW5ndGgpe2lmKGNvdW50Kys8bGltaXQpeyRsaW5rLmFwcGVuZFRv
KCRwcmltYXJ5KTt9ZWxzZXticmVhazt9fX0KaWYoY291bnQ8bGltaXQpeyRzZWNv
bmRhcnkuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7aWYoY291bnQrKzxsaW1p
dCl7JGoodGhpcykuYXBwZW5kVG8oJHByaW1hcnkpO31lbHNle3JldHVybiBmYWxz
ZTt9fSk7fQppZigkc2Vjb25kYXJ5LmNoaWxkcmVuKCkubGVuZ3RoPT0wKXskc2Vj
b25kYXJ5LnJlbW92ZSgpO31lbHNleyRqKCcjcC1sYW5nJykuYWZ0ZXIoJzxkaXYg
aWQ9InAtbGFuZy1tb3JlIiBjbGFzcz0icG9ydGFsIj48aDU+PC9oNT48ZGl2IGNs
YXNzPSJib2R5Ij48L2Rpdj48L2Rpdj4nKTskaignI3AtbGFuZy1tb3JlIGg1Jyku
dGV4dChtdy51c2FiaWxpdHkuZ2V0TXNnKCd2ZWN0b3ItY29sbGFwc2libGVuYXYt
bW9yZScpKTskc2Vjb25kYXJ5LmFwcGVuZFRvKCRqKCcjcC1sYW5nLW1vcmUgZGl2
LmJvZHknKSk7fQokaignI3AtbGFuZycpLmFkZENsYXNzKCdwZXJzaXN0ZW50Jyk7
fQokaignI213LXBhbmVsID4gZGl2LnBvcnRhbDpmaXJzdCcpLmFkZENsYXNzKCdm
aXJzdCBwZXJzaXN0ZW50Jyk7JGooJyNtdy1wYW5lbCcpLmFkZENsYXNzKCdjb2xs
YXBzaWJsZS1uYXYnKTskaignI213LXBhbmVsID4gZGl2LnBvcnRhbDpub3QoLnBl
cnNpc3RlbnQpJykuZWFjaChmdW5jdGlvbihpKXt2YXIgaWQ9JGoodGhpcykuYXR0
cignaWQnKTt2YXIgc3RhdGU9JGouY29va2llKCd2ZWN0b3ItbmF2LScraWQpO2lm
KHN0YXRlPT0ndHJ1ZSd8fChzdGF0ZT09bnVsbCYmaTwxKXx8KHN0YXRlPT1udWxs
JiZ2ZXJzaW9uPT0xJiZpZD09J3AtbGFuZycpKXskaih0aGlzKS5hZGRDbGFzcygn
ZXhwYW5kZWQnKS5maW5kKCdkaXYuYm9keScpLnNob3coKTt9ZWxzZXskaih0aGlz
KS5hZGRDbGFzcygnY29sbGFwc2VkJyk7fQppZihzdGF0ZSE9bnVsbCl7JGouY29v
a2llKCd2ZWN0b3ItbmF2LScrJGoodGhpcykuYXR0cignaWQnKSxzdGF0ZSx7J2V4
cGlyZXMnOjMwLCdwYXRoJzonLyd9KTt9fSk7ZnVuY3Rpb24gdG9nZ2xlKCRlbGVt
ZW50KXskai5jb29raWUoJ3ZlY3Rvci1uYXYtJyskZWxlbWVudC5wYXJlbnQoKS5h
dHRyKCdpZCcpLCRlbGVtZW50LnBhcmVudCgpLmlzKCcuY29sbGFwc2VkJykseydl
eHBpcmVzJzozMCwncGF0aCc6Jy8nfSk7JGVsZW1lbnQucGFyZW50KCkudG9nZ2xl
Q2xhc3MoJ2V4cGFuZGVkJykudG9nZ2xlQ2xhc3MoJ2NvbGxhcHNlZCcpLmZpbmQo
J2Rpdi5ib2R5Jykuc2xpZGVUb2dnbGUoJ2Zhc3QnKTt9CnZhciAkaGVhZGluZ3M9
JGooJyNtdy1wYW5lbCA+IGRpdi5wb3J0YWw6bm90KC5wZXJzaXN0ZW50KSA+IGg1
Jyk7dmFyIHRhYkluZGV4PW13LnVzYWJpbGl0eS5nZXRNYXhUYWJJbmRleCgpKzE7
JGooJyNzZWFyY2hJbnB1dCcpLmF0dHIoJ3RhYmluZGV4Jyx0YWJJbmRleCsrKTsk
aGVhZGluZ3MuZWFjaChmdW5jdGlvbigpeyRqKHRoaXMpLmF0dHIoJ3RhYmluZGV4
Jyx0YWJJbmRleCsrKTt9KTskaGVhZGluZ3Mua2V5ZG93bihmdW5jdGlvbihldmVu
dCl7aWYoZXZlbnQud2hpY2g9PTEzfHxldmVudC53aGljaD09MzIpe3RvZ2dsZSgk
aih0aGlzKSk7fX0pLm1vdXNlZG93bihmdW5jdGlvbigpe3RvZ2dsZSgkaih0aGlz
KSk7JGoodGhpcykuYmx1cigpO3JldHVybiBmYWxzZTt9KTt9KTskaihkb2N1bWVu
dCkucmVhZHkoZnVuY3Rpb24oKXtpZighd2dWZWN0b3JFbmFibGVkTW9kdWxlcy5j
b2xsYXBzaWJsZXRhYnMpe3JldHVybiB0cnVlO30KdmFyIHJ0bD0kaignYm9keScp
LmlzKCcucnRsJyk7JGouY29sbGFwc2libGVUYWJzLm1vdmVUb0NvbGxhcHNlZD1m
dW5jdGlvbihlbGUpe3ZhciAkbW92aW5nPSRqKGVsZSk7JGouY29sbGFwc2libGVU
YWJzLmdldFNldHRpbmdzKCRqKCRqLmNvbGxhcHNpYmxlVGFicy5nZXRTZXR0aW5n
cygkbW92aW5nKS5leHBhbmRlZENvbnRhaW5lcikpLnNoaWZ0aW5nPXRydWU7dmFy
IGRhdGE9JGouY29sbGFwc2libGVUYWJzLmdldFNldHRpbmdzKCRtb3ZpbmcpO3Zh
ciB0YXJnZXQ9ZGF0YS5jb2xsYXBzZWRDb250YWluZXI7JG1vdmluZy5jc3MoInBv
c2l0aW9uIiwicmVsYXRpdmUiKS5jc3MoKHJ0bD8nbGVmdCc6J3JpZ2h0JyksMCku
YW5pbWF0ZSh7d2lkdGg6JzFweCd9LCJub3JtYWwiLGZ1bmN0aW9uKCl7JGoodGhp
cykuaGlkZSgpOyRqKCc8c3BhbiBjbGFzcz0icGxhY2Vob2xkZXIiIHN0eWxlPSJk
aXNwbGF5Om5vbmU7Ij48L3NwYW4+JykuaW5zZXJ0QWZ0ZXIodGhpcyk7JGoodGhp
cykucmVtb3ZlKCkucHJlcGVuZFRvKHRhcmdldCkuZGF0YSgnY29sbGFwc2libGVU
YWJzU2V0dGluZ3MnLGRhdGEpOyRqKHRoaXMpLmF0dHIoJ3N0eWxlJywnZGlzcGxh
eTpsaXN0LWl0ZW07Jyk7JGouY29sbGFwc2libGVUYWJzLmdldFNldHRpbmdzKCRq
KCRqLmNvbGxhcHNpYmxlVGFicy5nZXRTZXR0aW5ncygkaihlbGUpKS5leHBhbmRl
ZENvbnRhaW5lcikpLnNoaWZ0aW5nPWZhbHNlOyRqLmNvbGxhcHNpYmxlVGFicy5o
YW5kbGVSZXNpemUoKTt9KTt9OyRqLmNvbGxhcHNpYmxlVGFicy5tb3ZlVG9FeHBh
bmRlZD1mdW5jdGlvbihlbGUpe3ZhciAkbW92aW5nPSRqKGVsZSk7JGouY29sbGFw
c2libGVUYWJzLmdldFNldHRpbmdzKCRqKCRqLmNvbGxhcHNpYmxlVGFicy5nZXRT
ZXR0aW5ncygkbW92aW5nKS5leHBhbmRlZENvbnRhaW5lcikpLnNoaWZ0aW5nPXRy
dWU7dmFyIGRhdGE9JGouY29sbGFwc2libGVUYWJzLmdldFNldHRpbmdzKCRtb3Zp
bmcpO3ZhciAkdGFyZ2V0PSRqKGRhdGEuZXhwYW5kZWRDb250YWluZXIpLmZpbmQo
J3NwYW4ucGxhY2Vob2xkZXI6Zmlyc3QnKTt2YXIgZXhwYW5kZWRXaWR0aD1kYXRh
LmV4cGFuZGVkV2lkdGg7JG1vdmluZy5jc3MoInBvc2l0aW9uIiwicmVsYXRpdmUi
KS5jc3MoKHJ0bD8ncmlnaHQnOidsZWZ0JyksMCkuY3NzKCd3aWR0aCcsJzFweCcp
OyR0YXJnZXQucmVwbGFjZVdpdGgoJG1vdmluZy5yZW1vdmUoKS5jc3MoJ3dpZHRo
JywnMXB4JykuZGF0YSgnY29sbGFwc2libGVUYWJzU2V0dGluZ3MnLGRhdGEpLmFu
aW1hdGUoe3dpZHRoOmV4cGFuZGVkV2lkdGgrInB4In0sIm5vcm1hbCIsZnVuY3Rp
b24oKXskaih0aGlzKS5hdHRyKCdzdHlsZScsJ2Rpc3BsYXk6YmxvY2s7Jyk7JGou
Y29sbGFwc2libGVUYWJzLmdldFNldHRpbmdzKCRqKCRqLmNvbGxhcHNpYmxlVGFi
cy5nZXRTZXR0aW5ncygkbW92aW5nKS5leHBhbmRlZENvbnRhaW5lcikpLnNoaWZ0
aW5nPWZhbHNlOyRqLmNvbGxhcHNpYmxlVGFicy5oYW5kbGVSZXNpemUoKTt9KSk7
fTskaignI3Atdmlld3MgdWwnKS5iaW5kKCJiZWZvcmVUYWJDb2xsYXBzZSIsZnVu
Y3Rpb24oKXtpZigkaignI3AtY2FjdGlvbnMnKS5jc3MoJ2Rpc3BsYXknKT09J25v
bmUnKQokaigiI3AtY2FjdGlvbnMiKS5hZGRDbGFzcygiZmlsbGVkUG9ydGxldCIp
LnJlbW92ZUNsYXNzKCJlbXB0eVBvcnRsZXQiKS5maW5kKCdoNScpLmNzcygnd2lk
dGgnLCcxcHgnKS5hbmltYXRlKHsnd2lkdGgnOicyNnB4J30sMzkwKTt9KS5iaW5k
KCJiZWZvcmVUYWJFeHBhbmQiLGZ1bmN0aW9uKCl7aWYoJGooJyNwLWNhY3Rpb25z
IGxpJykubGVuZ3RoPT0xKQokaigiI3AtY2FjdGlvbnMgaDUiKS5hbmltYXRlKHsn
d2lkdGgnOicxcHgnfSwzNzAsZnVuY3Rpb24oKXskaih0aGlzKS5hdHRyKCdzdHls
ZScsJycpLnBhcmVudCgpLmFkZENsYXNzKCJlbXB0eVBvcnRsZXQiKS5yZW1vdmVD
bGFzcygiZmlsbGVkUG9ydGxldCIpO30pO30pLmNvbGxhcHNpYmxlVGFicyh7ZXhw
YW5kQ29uZGl0aW9uOmZ1bmN0aW9uKGVsZVdpZHRoKXtpZihydGwpe3JldHVybigk
aignI3JpZ2h0LW5hdmlnYXRpb24nKS5wb3NpdGlvbigpLmxlZnQrJGooJyNyaWdo
dC1uYXZpZ2F0aW9uJykud2lkdGgoKSsxKTwoJGooJyNsZWZ0LW5hdmlnYXRpb24n
KS5wb3NpdGlvbigpLmxlZnQtZWxlV2lkdGgpO31lbHNle3JldHVybigkaignI2xl
ZnQtbmF2aWdhdGlvbicpLnBvc2l0aW9uKCkubGVmdCskaignI2xlZnQtbmF2aWdh
dGlvbicpLndpZHRoKCkrMSk8KCRqKCcjcmlnaHQtbmF2aWdhdGlvbicpLnBvc2l0
aW9uKCkubGVmdC1lbGVXaWR0aCk7fX0sY29sbGFwc2VDb25kaXRpb246ZnVuY3Rp
b24oKXtpZihydGwpe3JldHVybigkaignI3JpZ2h0LW5hdmlnYXRpb24nKS5wb3Np
dGlvbigpLmxlZnQrJGooJyNyaWdodC1uYXZpZ2F0aW9uJykud2lkdGgoKSk+JGoo
JyNsZWZ0LW5hdmlnYXRpb24nKS5wb3NpdGlvbigpLmxlZnQ7fWVsc2V7cmV0dXJu
KCRqKCcjbGVmdC1uYXZpZ2F0aW9uJykucG9zaXRpb24oKS5sZWZ0KyRqKCcjbGVm
dC1uYXZpZ2F0aW9uJykud2lkdGgoKSk+JGooJyNyaWdodC1uYXZpZ2F0aW9uJyku
cG9zaXRpb24oKS5sZWZ0O319fSk7fSk7JGooZG9jdW1lbnQpLnJlYWR5KGZ1bmN0
aW9uKCl7aWYoIXdnVmVjdG9yRW5hYmxlZE1vZHVsZXMuZWRpdHdhcm5pbmd8fCRq
KCcjd3BUZXh0Ym94MScpLnNpemUoKT09MCl7cmV0dXJuIHRydWU7fQokaignI3dw
VGV4dGJveDEsICN3cFN1bW1hcnknKS5lYWNoKGZ1bmN0aW9uKCl7JGoodGhpcyku
ZGF0YSgnb3JpZ3RleHQnLCRqKHRoaXMpLnZhbCgpKTt9KTt2YXIgZmFsbGJhY2tX
aW5kb3dPbkJlZm9yZVVubG9hZD13aW5kb3cub25iZWZvcmV1bmxvYWQ7dmFyIG91
cldpbmRvd09uQmVmb3JlVW5sb2FkPWZ1bmN0aW9uKCl7dmFyIGZhbGxiYWNrUmVz
dWx0PXVuZGVmaW5lZDt2YXIgcmV0dmFsPXVuZGVmaW5lZDt2YXIgdGhpc0Z1bmM9
YXJndW1lbnRzLmNhbGxlZTtpZihmYWxsYmFja1dpbmRvd09uQmVmb3JlVW5sb2Fk
KXtmYWxsYmFja1Jlc3VsdD1mYWxsYmFja1dpbmRvd09uQmVmb3JlVW5sb2FkKCk7
fQppZihmYWxsYmFja1Jlc3VsdCE9PXVuZGVmaW5lZCl7cmV0dmFsPWZhbGxiYWNr
UmVzdWx0O31lbHNle2lmKHdnQWN0aW9uPT0nc3VibWl0J3x8JGooJyN3cFRleHRi
b3gxJykuZGF0YSgnb3JpZ3RleHQnKSE9JGooJyN3cFRleHRib3gxJykudmFsKCl8
fCRqKCcjd3BTdW1tYXJ5JykuZGF0YSgnb3JpZ3RleHQnKSE9JGooJyN3cFN1bW1h
cnknKS52YWwoKSl7cmV0dmFsPW13LnVzYWJpbGl0eS5nZXRNc2coJ3ZlY3Rvci1l
ZGl0d2FybmluZy13YXJuaW5nJyk7fX0Kd2luZG93Lm9uYmVmb3JldW5sb2FkPW51
bGw7aWYocmV0dmFsIT09dW5kZWZpbmVkKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7
d2luZG93Lm9uYmVmb3JldW5sb2FkPXRoaXNGdW5jO30pO3JldHVybiByZXR2YWw7
fX07dmFyIHBhZ2VTaG93SGFuZGxlcj1mdW5jdGlvbigpe3dpbmRvdy5vbmJlZm9y
ZXVubG9hZD1vdXJXaW5kb3dPbkJlZm9yZVVubG9hZDt9O3BhZ2VTaG93SGFuZGxl
cigpO2lmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigncGFnZXNob3cnLHBhZ2VTaG93SGFuZGxlcixmYWxzZSk7fWVsc2Ug
aWYod2luZG93LmF0dGFjaEV2ZW50KXt3aW5kb3cuYXR0YWNoRXZlbnQoJ3BhZ2Vz
aG93JyxwYWdlU2hvd0hhbmRsZXIpO30KJGooJ2Zvcm0nKS5zdWJtaXQoZnVuY3Rp
b24oKXt3aW5kb3cub25iZWZvcmV1bmxvYWQ9ZmFsbGJhY2tXaW5kb3dPbkJlZm9y
ZVVubG9hZDt9KTt9KTt2YXIgZmFsbGJhY2tXaW5kb3dPbkJlZm9yZVVubG9hZD1u
dWxsO2lmKHdnVmVjdG9yRW5hYmxlZE1vZHVsZXMuc2ltcGxlc2VhcmNoJiZza2lu
PT0ndmVjdG9yJyYmdHlwZW9mIG9zX2F1dG9sb2FkX2lucHV0cyE9PSd1bmRlZmlu
ZWQnJiZvc19hdXRvbG9hZF9mb3JtcyE9PSd1bmRlZmluZWQnKXtvc19hdXRvbG9h
ZF9pbnB1dHM9W107b3NfYXV0b2xvYWRfZm9ybXM9W107fQokaihkb2N1bWVudCku
cmVhZHkoZnVuY3Rpb24oKXtpZighd2dWZWN0b3JFbmFibGVkTW9kdWxlcy5zaW1w
bGVzZWFyY2h8fHdnVmVjdG9yUHJlZmVyZW5jZXMuc2ltcGxlc2VhcmNoLmRpc2Fi
bGVzdWdnZXN0fHxza2luIT0ndmVjdG9yJyl7cmV0dXJuIHRydWU7fQp2YXIgbW9k
PXsnYnJvd3NlcnMnOnsnbHRyJzp7J29wZXJhJzpbWyc+PScsOS42XV0sJ2RvY29t
byc6ZmFsc2UsJ2JsYWNrYmVycnknOmZhbHNlLCdpcG9kJzpmYWxzZSwnaXBob25l
JzpmYWxzZX0sJ3J0bCc6eydvcGVyYSc6W1snPj0nLDkuNl1dLCdkb2NvbW8nOmZh
bHNlLCdibGFja2JlcnJ5JzpmYWxzZSwnaXBvZCc6ZmFsc2UsJ2lwaG9uZSc6ZmFs
c2V9fX07aWYoISRqLndpa2lFZGl0b3IuaXNTdXBwb3J0ZWQobW9kKSl7cmV0dXJu
IHRydWU7fQppZigncGxhY2Vob2xkZXInaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKSl7JGooJ2RpdiNzaW1wbGVTZWFyY2ggPiBpbnB1dCNzZWFyY2hJ
bnB1dCcpLmF0dHIoJ3BsYWNlaG9sZGVyJyxtdy51c2FiaWxpdHkuZ2V0TXNnKCd2
ZWN0b3Itc2ltcGxlc2VhcmNoLXNlYXJjaCcpKTt9ZWxzZXskaignZGl2I3NpbXBs
ZVNlYXJjaCA+IGlucHV0I3NlYXJjaElucHV0JykuZWFjaChmdW5jdGlvbigpe3Zh
ciAkaW5wdXQ9JGoodGhpcyk7JGlucHV0LmJpbmQoJ2JsdXInLGZ1bmN0aW9uKCl7
aWYoJGlucHV0LnZhbCgpLmxlbmd0aD09MCl7JGlucHV0LnZhbChtdy51c2FiaWxp
dHkuZ2V0TXNnKCd2ZWN0b3Itc2ltcGxlc2VhcmNoLXNlYXJjaCcpKS5hZGRDbGFz
cygncGxhY2Vob2xkZXInKTt9fSkuYmluZCgnZm9jdXMnLGZ1bmN0aW9uKCl7aWYo
JGlucHV0Lmhhc0NsYXNzKCdwbGFjZWhvbGRlcicpKXskaW5wdXQudmFsKCcnKS5y
ZW1vdmVDbGFzcygncGxhY2Vob2xkZXInKTt9fSkucGFyZW50cygnZm9ybScpLmJp
bmQoJ3N1Ym1pdCcsZnVuY3Rpb24oKXskaW5wdXQudHJpZ2dlcignZm9jdXMnKTt9
KTtpZigkaW5wdXQudmFsKCk9PScnKXskaW5wdXQudHJpZ2dlcignYmx1cicpO319
KTt9CiRqKCcjc2VhcmNoSW5wdXQsICNzZWFyY2hJbnB1dDIsICNwb3dlclNlYXJj
aFRleHQsICNzZWFyY2hUZXh0Jykuc3VnZ2VzdGlvbnMoe2ZldGNoOmZ1bmN0aW9u
KHF1ZXJ5KXt2YXIgJHRoaXM9JGoodGhpcyk7dmFyIHJlcXVlc3Q9JGouYWpheCh7
dXJsOndnU2NyaXB0UGF0aCsnL2FwaS5waHAnLGRhdGE6eydhY3Rpb24nOidvcGVu
c2VhcmNoJywnc2VhcmNoJzpxdWVyeSwnbmFtZXNwYWNlJzowLCdzdWdnZXN0Jzon
J30sZGF0YVR5cGU6J2pzb24nLHN1Y2Nlc3M6ZnVuY3Rpb24oZGF0YSl7JHRoaXMu
c3VnZ2VzdGlvbnMoJ3N1Z2dlc3Rpb25zJyxkYXRhWzFdKTt9fSk7JGoodGhpcyku
ZGF0YSgncmVxdWVzdCcscmVxdWVzdCk7fSxjYW5jZWw6ZnVuY3Rpb24oKXt2YXIg
cmVxdWVzdD0kaih0aGlzKS5kYXRhKCdyZXF1ZXN0Jyk7aWYocmVxdWVzdCYmdHlw
ZW9mIHJlcXVlc3QuYWJvcnQ9PSdmdW5jdGlvbicpe3JlcXVlc3QuYWJvcnQoKTsk
aih0aGlzKS5yZW1vdmVEYXRhKCdyZXF1ZXN0Jyk7fX0scmVzdWx0OntzZWxlY3Q6
ZnVuY3Rpb24oJHRleHRib3gpeyR0ZXh0Ym94LmNsb3Nlc3QoJ2Zvcm0nKS5zdWJt
aXQoKTt9fSxkZWxheToxMjAscG9zaXRpb25Gcm9tTGVmdDokaignYm9keScpLmlz
KCcucnRsJyksaGlnaGxpZ2h0SW5wdXQ6dHJ1ZX0pLmJpbmQoJ3Bhc3RlIGN1dCcs
ZnVuY3Rpb24oZSl7JGoodGhpcykudHJpZ2dlcigna2V5cHJlc3MnKTt9KTskaign
I3NlYXJjaElucHV0Jykuc3VnZ2VzdGlvbnMoe3Jlc3VsdDp7c2VsZWN0OmZ1bmN0
aW9uKCR0ZXh0Ym94KXskdGV4dGJveC5jbG9zZXN0KCdmb3JtJykuc3VibWl0KCk7
fX0sc3BlY2lhbDp7cmVuZGVyOmZ1bmN0aW9uKHF1ZXJ5KXtpZigkaih0aGlzKS5j
aGlsZHJlbigpLnNpemUoKT09MCl7JGoodGhpcykuc2hvdygpCiRsYWJlbD0kaign
PGRpdiAvPicpLmFkZENsYXNzKCdzcGVjaWFsLWxhYmVsJykudGV4dChtdy51c2Fi
aWxpdHkuZ2V0TXNnKCd2ZWN0b3Itc2ltcGxlc2VhcmNoLWNvbnRhaW5pbmcnKSku
YXBwZW5kVG8oJGoodGhpcykpOyRxdWVyeT0kaignPGRpdiAvPicpLmFkZENsYXNz
KCdzcGVjaWFsLXF1ZXJ5JykudGV4dChxdWVyeSkuYXBwZW5kVG8oJGoodGhpcykp
OyRxdWVyeS5hdXRvRWxsaXBzaXMoKTt9ZWxzZXskaih0aGlzKS5maW5kKCcuc3Bl
Y2lhbC1xdWVyeScpLmVtcHR5KCkudGV4dChxdWVyeSkuYXV0b0VsbGlwc2lzKCk7
fX0sc2VsZWN0OmZ1bmN0aW9uKCR0ZXh0Ym94KXskdGV4dGJveC5jbG9zZXN0KCdm
b3JtJykuYXBwZW5kKCRqKCc8aW5wdXQgLz4nKS5hdHRyKHsndHlwZSc6J2hpZGRl
bicsJ25hbWUnOidmdWxsdGV4dCcsJ3ZhbHVlJzoxfSkpOyR0ZXh0Ym94LmNsb3Nl
c3QoJ2Zvcm0nKS5zdWJtaXQoKTt9fSwkcmVnaW9uOiRqKCcjc2ltcGxlU2VhcmNo
Jyl9KTt9KTs=
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=centralnotice.js
Content-Type: text/javascript; charset=utf-8; name=centralnotice.js
Content-Location: http://upload.wikimedia.org/centralnotice/wikipedia/en/central
notice.js?283s
Content-Transfer-Encoding: 8bit

function toggleNotice() {
var notice = document.getElementById('centralNotice');
if (!wgNoticeToggleState) {
notice.className = notice.className.replace('collapsed', 'expand
ed');
toggleNoticeCookie('0');
} else {
notice.className = notice.className.replace('expanded', 'collaps
ed');
toggleNoticeCookie('1');
}
wgNoticeToggleState = !wgNoticeToggleState;
}
function toggleNoticeStyle(elems, display) {
if(elems)
for(var i=0;i<elems.length;i++)
elems[i].style.display = display;
}
function toggleNoticeCookie(state) {
var e = new Date();
e.setTime( e.getTime() + (7*24*60*60*1000) ); // one week
var work='hidesnmessage='+state+'; expires=' + e.toGMTString() + '; path
=/';
document.cookie = work;
}
function pickTemplate(templates, weights, displayAnons, displayAccounts) {
var weightedTemplates = new Array();
var currentTemplate = 0;
var totalWeight = 0;
if (templates.length == 0)
return '';
while (currentTemplate < templates.length) {
if ((wgUserName && displayAccounts[currentTemplate]) || (!wgUser
Name && displayAnons[currentTemplate])) {
totalWeight += weights[currentTemplate];
for (var i=0; i<weights[currentTemplate]; i++) {
weightedTemplates[weightedTemplates.length] = te
mplates[currentTemplate];
}
}
currentTemplate++;
}
if (totalWeight == 0)
return '';
var randomnumber=Math.floor(Math.random()*totalWeight);
return weightedTemplates[randomnumber];
}

var wgNoticeToggleState = (document.cookie.indexOf('hidesnmessage=1')==-1);


document.writeln("\x3cstyle type=\"text/css\"\x3e\n#centralNotice .siteNoticeSma
ll {display:none;}\n#centralNotice .siteNoticeSmallAnon {display:none;}\n#centra
lNotice .siteNoticeSmallUser {display:none;}\n#centralNotice.collapsed .siteNoti
ceBig {display:none;}\n#centralNotice.collapsed .siteNoticeSmall {display:block;
}\n#centralNotice.collapsed .siteNoticeSmallUser {display:block;}\n#centralNotic
e.collapsed .siteNoticeSmallAnon {display:block;}\n#centralNotice.anonnotice .si
teNoticeSmallUser {display:none !important;}\n#centralNotice.usernotice .siteNot
iceSmallAnon {display:none !important;}\n\x3c/style\x3e");
wgNotice=pickTemplate([],[],[],[]);
if (wgNotice != '')
wgNotice='<div id="centralNotice" class="' + (wgNoticeToggleState ? 'expanded' :
'collapsed') + '">' + wgNotice+'</div>';
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=index.js
Content-Type: text/javascript; charset=UTF-8; name=index.js
Content-Location: http://en.wikipedia.org/w/index.php?title=-&action=raw&gen=js&
useskin=vector&283s
Content-Transfer-Encoding: 8bit
/* generated javascript */
var skin = 'vector';
var stylepath = 'http://bits.wikimedia.org/skins-1.5';
/* MediaWiki:Common.js */
//<source lang="javascript">
/*
* Description: Redirects from /User:UserName/skin.js or .css to the user's actu
al skin page
* Maintainer: Cacycle
*/
if (wgArticleId == 0 && wgUserName) {
var slash = wgPageName.indexOf('/');
var norm = wgPageName.substr(0, slash) + wgPageName.substr(slash).toLowerCase(
);
var test = 'User:' + wgUserName.replace(/ /g, '_') + '/skin.';
var ext = null;
if (norm == test + 'js') ext = 'js';
else if (norm == test + 'css') ext = 'css';
if (ext != null) window.location.href = window.location.href.replace(/\/skin.(
css|js)/i, '/' + skin + '.' + ext);
}
/** extract a URL parameter from the current URL **********
* From [[en:User:Lupin/autoedit.js]]
*
* paramName : the name of the parameter to extract
*/
function getURLParamValue( paramName, url)
{
if (typeof (url) == 'undefined' || url === null) url = document.location.href;
var cmdRe=RegExp( '[&?]' + paramName + '=([^&#]*)' ); // Stop at hash
var m=cmdRe.exec(url);
if (m && m.length > 1) return decodeURIComponent(m[1]);
return null;
}
/** &withJS= URL parameter *******
* Allow to try custom scripts from MediaWiki space
* without editing [[Special:Mypage/monobook.js]]
*/
var extraJS = getURLParamValue("withJS");
if ( extraJS && extraJS.match("^MediaWiki:[^&<>=%]*\.js$") ) {
importScript(extraJS);
}
/* Import more specific scripts if necessary */
if (wgAction == "edit" || wgAction == "submit" || wgPageName == "Special:Upload"
) //scripts specific to editing pages
{
importScript("MediaWiki:Common.js/edit.js")
}
else if (wgPageName == "Special:Watchlist") //watchlist scripts
{
importScript("MediaWiki:Common.js/watchlist.js")
}
if( wgNamespaceNumber == 6 ) {
importScript('MediaWiki:Common.js/file.js');
}
/** For sysops and accountcreators *****************************************
*
* Description: Allows for sysop-specific Javascript at [[MediaWiki:Sysop.js]],
* and accountcreator-specific CSS at [[MediaWiki:Accountcreator.c
ss]].
*/
if ( wgUserGroups ) {
for ( var g = 0; g < wgUserGroups.length; ++g ) {
if ( wgUserGroups[g] == "sysop" ) {
importStylesheet("MediaWiki:Sysop.css");
addOnloadHook( function() {
if ( !window.disableSysopJS ) {
importScript("MediaWiki:Sysop.js");
}
} );
}
else if ( wgUserGroups[g] == "accountcreator" ) {
importStylesheet("MediaWiki:Accountcreator.css");
}
}
}

/** WikiMiniAtlas *******************************************************


*
* Description: WikiMiniAtlas is a popup click and drag world map.
* This script causes all of our coordinate links to display the
WikiMiniAtlas popup button.
* The script itself is located on meta because it is used by man
y projects.
* See [[Meta:WikiMiniAtlas]] for more information.
* Maintainers: [[User:Dschwen]]
*/
if (wgServer == "https://secure.wikimedia.org") {
var metaBase = "https://secure.wikimedia.org/wikipedia/meta";
} else {
var metaBase = "http://meta.wikimedia.org";
}
importScriptURI(metaBase+"/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=r
aw&ctype=text/javascript&smaxage=21600&maxage=86400")
/* Scripts specific to Internet Explorer */
if (navigator.appName == "Microsoft Internet Explorer")
{
/** Internet Explorer bug fix **********************************************
****
*
* Description: Fixes IE horizontal scrollbar bug
* Maintainers: [[User:Tom-]]?
*/
var oldWidth;
var docEl = document.documentElement;
function fixIEScroll()
{
if (!oldWidth || docEl.clientWidth > oldWidth)
doFixIEScroll();
else
setTimeout(doFixIEScroll, 1);
oldWidth = docEl.clientWidth;
}
function doFixIEScroll() {
docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "h
idden" : "";
}
document.attachEvent("onreadystatechange", fixIEScroll);
document.attachEvent("onresize", fixIEScroll);
// In print IE (7?) does not like line-height
appendCSS( '@media print { sup, sub, p, .documentDescription { line-height:
normal; }}');
// IE overflow bug
appendCSS('div.overflowbugx { overflow-x: scroll !important; overflow-y: hid
den !important; } div.overflowbugy { overflow-y: scroll !important; overflow-x:
hidden !important; }');
// IE zoomfix
//Use to fix right floating div/table inside tables.
appendCSS('.iezoomfix div, .iezoomfix table { zoom: 1;}' );
//Import scripts specific to Internet Explorer 6
if (navigator.appVersion.substr(22, 1) == "6") {
importScript("MediaWiki:Common.js/IE60Fixes.js")
}
}
/* Load fixes for Windows font rendering */
if( navigator.platform.indexOf( "Win" ) != -1 ) {
importStylesheet( 'MediaWiki:Common.css/WinFixes.css' );
}
/* Test if an element has a certain class **************************************
*
* Description: Uses regular expressions and caching for better performance.
* Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
*/
var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] =
new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();

/** Interwiki links to featured articles ***************************************


*
* Description: Highlights interwiki links to featured articles (or
* equivalents) by changing the bullet before the interwiki link
* into a star.
* Maintainers: [[User:R. Koot]]
*/
function LinkFA()
{
if ( document.getElementById( "p-lang" ) ) {
var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTa
gName( "li" );
for ( var i = 0; i < InterwikiLinks.length; i++ ) {
if ( document.getElementById( InterwikiLinks[i].className + "-fa" )
) {
InterwikiLinks[i].className += " FA"
InterwikiLinks[i].title = "This is a featured article in another
language.";
} else if ( document.getElementById( InterwikiLinks[i].className + "
-ga" ) ) {
InterwikiLinks[i].className += " GA"
InterwikiLinks[i].title = "This is a good article in another lan
guage.";
}
}
}
}
addOnloadHook( LinkFA );

/** Collapsible tables *********************************************************


*
* Description: Allows tables to be collapsed, showing only the header. See
* [[Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
var autoCollapse = 2;
var collapseCaption = "hide";
var expandCaption = "show";
function collapseTable( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
function createCollapseButtons()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( hasClass( Tables[i], "collapsible" ) ) {
/* only add button and increment count if there is a header row to w
ork with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( collapseCaption );
Button.className = "collapseButton"; //Styles are declared in Commo
n.css
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "#" );
addHandler( ButtonLink, "click", new Function( "evt", "collapseTabl
e(" + tableIndex + " ); return killEvt( evt );") );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
Header.insertBefore( Button, Header.childNodes[0] );
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= auto
Collapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
collapseTable( i );
}
else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( hasClass( element, "outercollapse" ) ) {
collapseTable ( i );
break;
}
}
}
}
}
addOnloadHook( createCollapseButtons );

/** Dynamic Navigation Bars (experimental) *************************************


*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = Na
vChild.nextSibling) {
if (hasClass(NavChild, 'NavContent') || hasClass(NavChild, 'NavPic')
) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = Na
vChild.nextSibling) {
if (hasClass(NavChild, 'NavContent') || hasClass(NavChild, 'NavPic')
) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if (hasClass(NavFrame, "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + i
ndexNavigationBar + ');');
var isCollapsed = hasClass( NavFrame, "collapsed" );
/*
* Check if any children are already hidden. This loop is here for
backwards compatibility:
* the old way of making NavFrames start out collapsed was to manual
ly add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for ac
cessibility (no way to make
* the content visible without JavaScript support), the new recommen
ded way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible ta
bles.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isColl
apsed; NavChild = NavChild.nextSibling) {
if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavC
ontent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavCh
ild = NavChild.nextSibling) {
if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, '
NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Navigation
BarShow : NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complic
ated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if (hasClass(NavFrame.childNodes[j], "NavHead")) {
NavToggle.style.color = NavFrame.childNodes[j].style.color;
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
addOnloadHook( createNavigationBarToggleButton );

/** Main Page layout fixes *****************************************************


****
*
* Description: Adds an additional link to the complete list of languages avail
able.
* Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]
*/
if (wgPageName == 'Main_Page' || wgPageName == 'Talk:Main_Page')
addOnloadHook(function () {
addPortletLink('p-lang', 'http://meta.wikimedia.org/wiki/List_of_Wikiped
ias',
'Complete list', 'interwiki-completelist', 'Complete list of Wi
kipedias')
var nstab = document.getElementById('ca-nstab-main')
if (nstab && wgUserLanguage=='en') {
while (nstab.firstChild) nstab = nstab.firstChild
nstab.nodeValue = 'Main Page'
}
}
)

/** Table sorting fixes ************************************************


*
* Description: Disables code in table sorting routine to set classes on even/
odd rows
* Maintainers: [[User:Random832]]
*/
ts_alternate_row_colors = false;

/***** uploadwizard_newusers ********


* Switches in a message for non-autoconfirmed users at [[Wikipedia:Upload]]
*
* Maintainers: [[User:Krimpet]]
****/
function uploadwizard_newusers() {
if (wgNamespaceNumber == 4 && wgTitle == "Upload" && wgAction == "view") {
var oldDiv = document.getElementById("autoconfirmedusers"),
newDiv = document.getElementById("newusers");
if (oldDiv && newDiv) {
if (typeof wgUserGroups == "object" && wgUserGroups) {
for (i = 0; i < wgUserGroups.length; i++) {
if (wgUserGroups[i] == "autoconfirmed") {
oldDiv.style.display = "block";
newDiv.style.display = "none";
return;
}
}
}
oldDiv.style.display = "none";
newDiv.style.display = "block";
return;
}
}
}
addOnloadHook(uploadwizard_newusers);

/** IPv6 AAAA connectivity testing **/


var __ipv6wwwtest_factor = 100;
var __ipv6wwwtest_done = 0;
if ((wgServer != "https://secure.wikimedia.org") && (Math.floor(Math.random()*__
ipv6wwwtest_factor)==42)) {
importScript("MediaWiki:Common.js/IPv6.js");
}
/** Magic editintros ****************************************************
*
* Description: Adds editintros on disambiguation pages and BLP pages.
* Maintainers: [[User:RockMFR]]
*/
function addEditIntro(name)
{
var el = document.getElementById('ca-edit');
if (!el)
return;
el = el.getElementsByTagName('a')[0];
if (el)
el.href += '&editintro=' + name;
}

if (wgNamespaceNumber == 0) {
addOnloadHook(function(){
if (document.getElementById('disambigbox'))
addEditIntro('Template:Disambig_editintro');
});
addOnloadHook(function(){
var cats = document.getElementById('mw-normal-catlinks');
if (!cats)
return;
cats = cats.getElementsByTagName('a');
for (var i = 0; i < cats.length; i++) {
if (cats[i].title == 'Category:Living people' || cats[i].title == 'Categor
y:Possibly living people') {
addEditIntro('Template:BLP_editintro');
break;
}
}
});
}
/*
* Description: Stay on the secure server as much as possible
* Maintainers: [[User:TheDJ]]
*/
if(wgServer == 'https://secure.wikimedia.org') {
importScript( 'MediaWiki:Common.js/secure.js');
}
// Define ta for now. Bugzilla 23175
window.ta = [];
//</source>
/* MediaWiki:Vector.js */
/* Any JavaScript here will be loaded for users using the Vector skin */
------------GfdSMDX50mzoEhukionbD3
Content-Disposition: inline; filename=OggPlayer.js
Content-Type: application/x-javascript; charset=UTF-8; name=OggPlayer.js
Content-Location: http://en.wikipedia.org/w/extensions/OggHandler/OggPlayer.js?1
1
Content-Transfer-Encoding: Base64
Ly8gVGhpcyBpcyBhIGdsb2JhbCBjb25maWd1cmF0aW9uIG9iamVjdCB3aGljaCBj
YW4gZW1iZWQgbXVsdGlwbGUgdmlkZW8gaW5zdGFuY2VzCnZhciB3Z09nZ1BsYXll
ciA9IHsKCSdkZXRlY3Rpb25Eb25lJzogZmFsc2UsCgknbXNpZSc6IGZhbHNlLAoJ
J3NhZmFyaScgOiBmYWxzZSwKCSdvcGVyYScgOiBmYWxzZSwKCSdtb3ppbGxhJzog
ZmFsc2UsCgknc2FmYXJpQ29udHJvbHNCdWcnOiBmYWxzZSwKCgkvLyBMaXN0IG9m
IHBsYXllcnMgaW4gb3JkZXIgb2YgcHJlZmVyZW5jZQoJLy8gRG93bnByZWZmZWQg
VkxDIGJlY2F1c2UgaXQgY3Jhc2hlcyBteSBicm93c2VyIGFsbCB0aGUgZGFtbiB0
aW1lIC0tIFRTCgkncGxheWVycyc6IFsndmlkZW9FbGVtZW50JywgJ2NvcnRhZG8n
LCAncXVpY2t0aW1lLW1vemlsbGEnLCAncXVpY2t0aW1lLWFjdGl2ZXgnLCAndmxj
LW1vemlsbGEnLCAndmxjLWFjdGl2ZXgnLCAndG90ZW0nLCAna21wbGF5ZXInLCAn
a2FmZmVpbmUnLCAnbXBsYXllcnBsdWctaW4nLCAnb2dnUGx1Z2luJ10sCgoJLy8g
Q2xpZW50IHN1cHBvcnQgdGFibGUKCSdjbGllbnRTdXBwb3J0cyc6IHsgJ3RodW1i
bmFpbCcgOiB0cnVlIH0sCgoJLy8gTUlNRSB0eXBlIHRvIGJlIHVzZWQgdG8gaW52
b2tlIGEgZ2l2ZW4gcGx1Z2luIHdpdGggPG9iamVjdD4KCS8vIE1heSBiZSBjaGFu
Z2VkIGJ5IGRldGVjdCgpCgknbWltZVR5cGVzJyA6IHsKCQkncXVpY2t0aW1lLW1v
emlsbGEnOiAndmlkZW8vcXVpY2t0aW1lJywKCQkncXVpY2t0aW1lLWFjdGl2ZXgn
OiAndmlkZW8vcXVpY2t0aW1lJywKCQkndmxjLW1vemlsbGEnOiAnYXBwbGljYXRp
b24veC12bGMtcGx1Z2luJywKCQknb2dnUGx1Z2luJzogJ2FwcGxpY2F0aW9uL29n
ZycsCgkJJ3RvdGVtJzogJ2FwcGxpY2F0aW9uL29nZycsCgkJJ2ttcGxheWVyJzog
J2FwcGxpY2F0aW9uL29nZycsCgkJJ2thZmZlaW5lJzogJ2FwcGxpY2F0aW9uL29n
ZycsCgkJJ21wbGF5ZXJwbHVnLWluJzogJ2FwcGxpY2F0aW9uL29nZycKCX0sCgoJ
J3NhdmVkVGh1bWJzJzoge30sCgkncXRUaW1lcnMnIDoge30sCgkvLyBUZXh0IGZv
ciBuZXcgbWVzc2FnZXMsIHRvIHN1cHBvcnQgY2FjaGVkIEhUTUwgaW52b2NhdGlv
bgoJJ2RlZmF1bHRNc2cnIDogewoJCSdvZ2ctcGxheWVyLXRvdGVtJzogJ1RvdGVt
JywKCQknb2dnLXBsYXllci1rbXBsYXllcic6ICdLTVBsYXllcicsCgkJJ29nZy1w
bGF5ZXIta2FmZmVpbmUnOiAnS2FmZmVpbmUnLAoJCSdvZ2ctcGxheWVyLW1wbGF5
ZXJwbHVnLWluJzogJ21wbGF5ZXJwbHVnLWluJwoJfSwKCgkvLyBDb25maWd1cmF0
aW9uIGZyb20gTVcKCSdtc2cnOiB7fSwKCSdjb3J0YWRvVXJsJyA6ICcnLAoJJ2V4
dFBhdGhVcmwnIDogJycsCgknc2hvd1BsYXllclNlbGVjdCc6IHRydWUsCgknY29u
dHJvbHNIZWlnaHRHdWVzcyc6IDIwLCAKCgkvKioKCSAqIE1haW4gZW50cnkgcG9p
bnQ6IGluaXRpYWxpc2UgYSB2aWRlbyBwbGF5ZXIKCSAqIFBsYXllciB3aWxsIGJl
IGNyZWF0ZWQgYXMgYSBjaGlsZCBvZiB0aGUgZ2l2ZW4gSUQKCSAqIFRoZXJlIG1h
eSBiZSBtdWx0aXBsZSBwbGF5ZXJzIGluIGEgZG9jdW1lbnQuCgkgKiBQYXJhbWV0
ZXJzIGFyZTogaWQsIHZpZGVvVXJsLCB3aWR0aCwgaGVpZ2h0LCBsZW5ndGgsIGxp
bmtVcmwsIGlzVmlkZW8KCSAqLwoJJ2luaXQnOiBmdW5jdGlvbiAoIHBsYXllciwg
cGFyYW1zICkgewoJCWVsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCBwYXJh
bXMuaWQgKTsKCgkJLy8gU2F2ZSBzdGlsbCBpbWFnZSBIVE1MCgkJaWYgKCAhKHBh
cmFtcy5pZCBpbiB0aGlzLnNhdmVkVGh1bWJzKSApIHsKCQkJdmFyIHRodW1iID0g
ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwoJCQlmb3IgKCBpID0g
MDsgaSA8IGVsdC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrICkgewoJCQkJdGh1bWIu
YXBwZW5kQ2hpbGQoIGVsdC5jaGlsZE5vZGVzLml0ZW0oIGkgKS5jbG9uZU5vZGUo
IHRydWUgKSApOwoJCQl9CgkJCXRoaXMuc2F2ZWRUaHVtYnNbcGFyYW1zLmlkXSA9
IHRodW1iOwoJCX0KCgkJdGhpcy5kZXRlY3QoKTsKCgkJaWYgKCAhcGxheWVyICkg
ewoJCQkvLyBTZWUgaWYgdGhlcmUgaXMgYSBjb29raWUgc3BlY2lmeWluZyBhIHBy
ZWZlcnJlZCBwbGF5ZXIKCQkJdmFyIGNvb2tpZVZhbCA9IHRoaXMuZ2V0Q29va2ll
KCAnb2dnX3BsYXllcicgKTsKCQkJaWYgKCBjb29raWVWYWwgJiYgY29va2llVmFs
ICE9ICd0aHVtYm5haWwnICkgewoJCQkJcGxheWVyID0gY29va2llVmFsOwoJCQl9
CgkJfQoKCQlpZiAoICF0aGlzLmNsaWVudFN1cHBvcnRzW3BsYXllcl0gKSB7CgkJ
CXBsYXllciA9IGZhbHNlOwoJCX0KCgkJaWYgKCAhcGxheWVyICkgewoJCQlmb3Ig
KCB2YXIgaSA9IDA7IGkgPCB0aGlzLnBsYXllcnMubGVuZ3RoOyBpKysgKSB7CgkJ
CQlpZiAoIHRoaXMuY2xpZW50U3VwcG9ydHNbdGhpcy5wbGF5ZXJzW2ldXSApIHsK
CQkJCQlwbGF5ZXIgPSB0aGlzLnBsYXllcnNbaV07CgkJCQkJYnJlYWs7CgkJCQl9
CgkJCX0KCQl9CgoJCWVsdC5pbm5lckhUTUwgPSAnJzsKCQlzd2l0Y2ggKCBwbGF5
ZXIgKSB7CgkJCWNhc2UgJ3ZpZGVvRWxlbWVudCc6CgkJCQl0aGlzLmVtYmVkVmlk
ZW9FbGVtZW50KCBlbHQsIHBhcmFtcyApOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ29n
Z1BsdWdpbic6CgkJCWNhc2UgJ2thZmZlaW5lJzoKCQkJY2FzZSAndG90ZW0nOgoJ
CQljYXNlICdrbXBsYXllcic6CgkJCWNhc2UgJ21wbGF5ZXJwbHVnLWluJzoKCQkJ
CXRoaXMuZW1iZWRPZ2dQbHVnaW4oIGVsdCwgcGFyYW1zLCBwbGF5ZXIgKTsKCQkJ
CWJyZWFrOwoJCQljYXNlICd2bGMtbW96aWxsYSc6CgkJCQl0aGlzLmVtYmVkVmxj
UGx1Z2luKCBlbHQsIHBhcmFtcyApOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ3ZsYy1h
Y3RpdmV4JzoKCQkJCXRoaXMuZW1iZWRWbGNBY3RpdmVYKCBlbHQsIHBhcmFtcyAp
OwoJCQkJYnJlYWs7CgkJCWNhc2UgJ2NvcnRhZG8nOgoJCQkJdGhpcy5lbWJlZENv
cnRhZG8oIGVsdCwgcGFyYW1zICk7CgkJCQlicmVhazsKCQkJY2FzZSAncXVpY2t0
aW1lLW1vemlsbGEnOgoJCQljYXNlICdxdWlja3RpbWUtYWN0aXZleCc6CgkJCQl0
aGlzLmVtYmVkUXVpY2t0aW1lUGx1Z2luKCBlbHQsIHBhcmFtcywgcGxheWVyICk7
CgkJCQlicmVhazsKCQkJY2FzZSAndGh1bWJuYWlsJzoKCQkJZGVmYXVsdDoKCQkJ
CWlmICggcGFyYW1zLmlkIGluIHRoaXMuc2F2ZWRUaHVtYnMgKSB7CgkJCQkJZWx0
LmFwcGVuZENoaWxkKCB0aGlzLnNhdmVkVGh1bWJzW3BhcmFtcy5pZF0uY2xvbmVO
b2RlKCB0cnVlICkgKTsKCQkJCX0gZWxzZSB7CgkJCQkJZWx0LmFwcGVuZENoaWxk
KCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSggJ01pc3Npbmcgc2F2ZWQgdGh1bWJu
YWlsIGZvciAnICsgcGFyYW1zLmlkICkgKTsKCQkJCX0KCQkJCWlmICggcGxheWVy
ICE9ICd0aHVtYm5haWwnICkgewoJCQkJCXZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCAnZGl2JyApOwoJCQkJCWRpdi5jbGFzc05hbWUgPSAnb2dnLXBs
YXllci1vcHRpb25zJzsKCQkJCQlkaXYuc3R5bGUuY3NzVGV4dCA9ICd3aWR0aDog
JyArICggcGFyYW1zLndpZHRoIC0gMTAgKSArICdweDsnOwoJCQkJCWRpdi5pbm5l
ckhUTUwgPSB0aGlzLm1zZ1snb2dnLW5vLXBsYXllciddOwoJCQkJCWVsdC5hcHBl
bmRDaGlsZCggZGl2ICk7CgkJCQkJcGxheWVyID0gJ25vbmUnOwoJCQkJfQoJCX0K
CQlpZiAoIHBsYXllciAhPSAndGh1bWJuYWlsJyApIHsKCQkJdmFyIG9wdGlvbnNC
b3ggPSB0aGlzLm1ha2VPcHRpb25zQm94KCBwbGF5ZXIsIHBhcmFtcyApOwoJCQl2
YXIgb3B0aW9uc0xpbmsgPSB0aGlzLm1ha2VPcHRpb25zTGluayggcGFyYW1zLmlk
ICk7CgkJCXZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnZGl2JyAp
OwoJCQlkaXYuYXBwZW5kQ2hpbGQoIG9wdGlvbnNCb3ggKTsKCQkJZGl2LmFwcGVu
ZENoaWxkKCBvcHRpb25zTGluayApOwoJCQllbHQuYXBwZW5kQ2hpbGQoIGRpdiAp
OwoJCX0KCX0sCgoJJ2RlYnVnJzogZnVuY3Rpb24oIHMgKSB7CgkJLy9hbGVydChz
KTsKCX0sCgoJLy8gU2VhcmNoIGZvciBhIHBsdWdpbiBpbiBuYXZpZ2F0b3IucGx1
Z2lucwoJJ2hhc1BsdWdpbic6IGZ1bmN0aW9uKCBtaW1lVHlwZSApIHsKCQlmb3Ig
KCB2YXIgaSA9IDA7IGkgPCBuYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGg7IGkrKyAp
IHsKCQkJdmFyIHBsdWdpbiA9IG5hdmlnYXRvci5wbHVnaW5zW2ldOwoJCQlpZiAo
IHR5cGVvZiBwbHVnaW5bbWltZVR5cGVdICE9ICJ1bmRlZmluZWQiICkgewoJCQkJ
cmV0dXJuIHRydWU7CgkJCX0KCQl9CgkJcmV0dXJuIGZhbHNlOwoJfSwKCgkvLyBE
ZXRlY3QgY2xpZW50IGNhcGFiaWxpdGllcwoJJ2RldGVjdCc6IGZ1bmN0aW9uKCkg
ewoJCWlmICh0aGlzLmRldGVjdGlvbkRvbmUpIHsKCQkJcmV0dXJuOwoJCX0KCQl0
aGlzLmRldGVjdGlvbkRvbmUgPSB0cnVlOwoKCQkvLyBGaXJzdCBzb21lIGJyb3dz
ZXIgZGV0ZWN0aW9uCgkJdGhpcy5tc2llID0gKCBuYXZpZ2F0b3IuYXBwTmFtZSA9
PSAiTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIiApOwoJCXRoaXMubW96aWxs
YSA9ICggbmF2aWdhdG9yLmFwcE5hbWUgPT0gIk5ldHNjYXBlIiApOwoJCXRoaXMu
b3BlcmEgPSAoIG5hdmlnYXRvci5hcHBOYW1lID09ICdPcGVyYScgKTsKCQl0aGlz
LnNhZmFyaSA9ICggbmF2aWdhdG9yLnZlbmRvciAmJiBuYXZpZ2F0b3IudmVuZG9y
LnN1YnN0ciggMCwgNSApID09ICdBcHBsZScgKTsKCQl0aGlzLmtvbnF1ZXJvciA9
ICggbmF2aWdhdG9yLmFwcE5hbWUgPT0gJ0tvbnF1ZXJvcicgKTsKCQkKCQkvLyBJ
biBNb3ppbGxhLCBuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKSBvbmx5IHRlbGxzIHVz
IGFib3V0IHByZWZlcmVuY2VzLCB3ZSBuZWVkIHRvCgkJLy8gc2VhcmNoIG5hdmln
YXRvci5taW1lVHlwZXMgdG8gc2VlIGlmIGl0J3MgaW5zdGFsbGVkCgkJdmFyIGph
dmFFbmFibGVkID0gbmF2aWdhdG9yLmphdmFFbmFibGVkKCk7CgkJLy8gSW4gT3Bl
cmEsIG5hdmlnYXRvci5qYXZhRW5hYmxlZCgpIGlzIGFsbCB0aGVyZSBpcwoJCXZh
ciBpbnZpc2libGVKYXZhID0gdGhpcy5vcGVyYTsKCgkJLy8gT3BlcmEgd2lsbCBz
d2l0Y2ggb2ZmIGphdmFFbmFibGVkIGluIHByZWZlcmVuY2VzIGlmIGphdmEgY2Fu
J3QgYmUgZm91bmQuCgkJLy8gQW5kIGl0IGRvZXNuJ3QgcmVnaXN0ZXIgYW4gYXBw
bGljYXRpb24veC1qYXZhLWFwcGxldCBtaW1lIHR5cGUgbGlrZSBNb3ppbGxhIGRv
ZXMuCgkJaWYgKCBpbnZpc2libGVKYXZhICYmIGphdmFFbmFibGVkICkgewoJCQl0
aGlzLmNsaWVudFN1cHBvcnRzWydjb3J0YWRvJ10gPSB0cnVlOwoJCX0KCgkJaWYg
KCB0aGlzLmtvbnF1ZXJvciApIHsKCQkJLy8gSmF2YSBpcyBidWdnZWQgYXMgb2Yg
My41LjkKCQkJLy8gQXBwbGV0IGZyZWV6ZXMgc2hvcnRseSBhZnRlciBzdGFydGlu
ZwoJCQlqYXZhRW5hYmxlZCA9IGZhbHNlOwoJCX0KCgkJaWYgKCB0aGlzLnNhZmFy
aSApIHsKCQkJLy8gRGV0ZWN0IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yNTU3NQoJCQl2YXIgbWF0Y2ggPSAvQXBwbGVXZWJLaXRcLyhb
MC05XSspLy5leGVjKCBuYXZpZ2F0b3IudXNlckFnZW50ICk7CgkJCWlmICggbWF0
Y2ggJiYgcGFyc2VJbnQoIG1hdGNoWzFdICkgPCA1MzEgKSB7CgkJCQl0aGlzLnNh
ZmFyaUNvbnRyb2xzQnVnID0gdHJ1ZTsKCQkJfQoJCX0KCgkJLy8gQWN0aXZlWCBw
bHVnaW5zCgkJLy8gVkxDCgkJaWYgKCB0aGlzLnRlc3RBY3RpdmVYKCAnVmlkZW9M
QU4uVkxDUGx1Z2luLjInICkgKSB7CgkJCXRoaXMuY2xpZW50U3VwcG9ydHNbJ3Zs
Yy1hY3RpdmV4J10gPSB0cnVlOwoJCX0KCQkvLyBKYXZhCgkJaWYgKCBqYXZhRW5h
YmxlZCAmJiB0aGlzLnRlc3RBY3RpdmVYKCAnSmF2YVdlYlN0YXJ0LmlzSW5zdGFs
bGVkJyApICkgewoJCQl0aGlzLmNsaWVudFN1cHBvcnRzWydjb3J0YWRvJ10gPSB0
cnVlOwoJCX0KCQkvLyBRdWlja1RpbWUKCQlpZiAoIHRoaXMudGVzdEFjdGl2ZVgo
ICdRdWlja1RpbWVDaGVja09iamVjdC5RdWlja1RpbWVDaGVjay4xJyApICkgewoJ
CQl0aGlzLmNsaWVudFN1cHBvcnRzWydxdWlja3RpbWUtYWN0aXZleCddID0gdHJ1
ZTsKCQl9CgoJCS8vIDx2aWRlbz4gZWxlbWVudAoJCWlmICggdHlwZW9mIEhUTUxW
aWRlb0VsZW1lbnQgPT0gJ29iamVjdCcgLy8gRmlyZWZveCwgU2FmYXJpCgkJCQl8
fCB0eXBlb2YgSFRNTFZpZGVvRWxlbWVudCA9PSAnZnVuY3Rpb24nICkgLy8gT3Bl
cmEKCQl7CgkJCS8vIFNhZmFyaSBkb2VzIG5vdCBzdXBwb3J0IFRoZW9yYSBieSBk
ZWZhdWx0LCBidXQgbGF0ZXIgdmVyc2lvbnMgaW1wbGVtZW50IGNhblBsYXlUeXBl
KCkKCQkJaWYgKCB0aGlzLnNhZmFyaSApIHsKCQkJCXRyeSB7CgkJCQkJdmFyIHZp
ZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ3ZpZGVvJyApOwoJCQkJCWlm
ICggdmlkZW8uY2FuUGxheVR5cGUgCgkJCQkJCSYmIHZpZGVvLmNhblBsYXlUeXBl
KCAndmlkZW8vb2dnO2NvZGVjcz0idGhlb3JhLHZvcmJpcyInICkgPT0gJ3Byb2Jh
Ymx5JyApCgkJCQkJewoJCQkJCQl0aGlzLmNsaWVudFN1cHBvcnRzWyd2aWRlb0Vs
ZW1lbnQnXSA9IHRydWU7CgkJCQkJfSBlbHNlIGlmICggdGhpcy5zdXBwb3J0ZWRN
aW1lVHlwZSggJ3ZpZGVvL29nZycgKSApIHsKCQkJCQkJLy8gT24gb2xkZXIgdmVy
c2lvbnMsIFhpcGhRVCByZWdpc3RlcnMgYSBwbHVnaW4gdHlwZSBhbmQgYWxzbyBo
YW5kbGVzIDx2aWRlbz4KCQkJCQkJdGhpcy5jbGllbnRTdXBwb3J0c1sndmlkZW9F
bGVtZW50J10gPSB0cnVlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCS8vIFRPRE86IHBy
b21wdCBmb3IgWGlwaFFUIGluc3RhbGwKCQkJCQl9CgkJCQl9IGNhdGNoICggZSAp
IHt9CgkJCX0gZWxzZSB7CgkJCQl0aGlzLmNsaWVudFN1cHBvcnRzWyd2aWRlb0Vs
ZW1lbnQnXSA9IHRydWU7CgkJCX0KCQl9CgoJCWlmICghbmF2aWdhdG9yLm1pbWVU
eXBlcyB8fCBuYXZpZ2F0b3IubWltZVR5cGVzLmxlbmd0aCA9PSAwKSB7CgkJCS8v
IE5vIE1vemlsbGEgcGx1Z2lucywgYWxsIGRvbmUKCQkJcmV0dXJuOwoJCX0KCgkJ
Ly8gTW96aWxsYSBwbHVnaW5zCgkJdmFyIHR5cGVzQnlQbGF5ZXIgPSB7fTsKCQl2
YXIgcGxheWVyc0J5VHlwZSA9IHt9OwoJCXZhciBudW1QbGF5ZXJzQnlUeXBlID0g
e307CgkJdmFyIHBsYXllcjsKCQl2YXIgaTsKCQlmb3IgKCBpID0gMDsgaSA8IG5h
dmlnYXRvci5taW1lVHlwZXMubGVuZ3RoOyBpKyspIHsKCQkJdmFyIGVudHJ5ID0g
bmF2aWdhdG9yLm1pbWVUeXBlc1tpXTsKCQkJdmFyIHR5cGUgPSBlbnRyeS50eXBl
OwoJCQl2YXIgc2VtaWNvbG9uUG9zID0gdHlwZS5pbmRleE9mKCAnOycgKTsKCQkJ
aWYgKCBzZW1pY29sb25Qb3MgPiAtMSApIHsKCQkJCXR5cGUgPSB0eXBlLnN1YnN0
ciggMCwgc2VtaWNvbG9uUG9zICk7CgkJCX0KCgkJCXZhciBwbHVnaW4gPSBlbnRy
eS5lbmFibGVkUGx1Z2luOwoJCQkvLyBJbiBjYXNlIGl0IGlzIG51bGwgb3IgdW5k
ZWZpbmVkCgkJCXZhciBwbHVnaW5OYW1lID0gcGx1Z2luICYmIHBsdWdpbi5uYW1l
ID8gcGx1Z2luLm5hbWUgOiAnJzsKCQkJdmFyIHBsdWdpbkZpbGVuYW1lID0gcGx1
Z2luICYmIHBsdWdpbi5maWxlbmFtZSA/IHBsdWdpbi5maWxlbmFtZSA6ICcnOwoJ
CQlwbGF5ZXIgPSAnJzsKCgkJCWlmICggamF2YUVuYWJsZWQgJiYgdHlwZSA9PSAn
YXBwbGljYXRpb24veC1qYXZhLWFwcGxldCcgKSB7CgkJCQkvLyBXZSB1c2UgPGFw
cGxldD4gc28gd2UgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCB1bmlxdWUgdHlw
ZXMKCQkJCXRoaXMuY2xpZW50U3VwcG9ydHNbJ2NvcnRhZG8nXSA9IHRydWU7CgkJ
CQkvLyBCdXQgaXQgY291bGQgY29uZmxpY3Qgd2l0aCBhbm90aGVyIHBsdWdpbgoJ
CQkJLy8gU2V0IHBsYXllcj0nJyB0byBhdm9pZCBkb3VibGUgcmVnaXN0cmF0aW9u
IG9mIGNvcnRhZG8KCQkJCXBsYXllciA9ICcnOwoJCQl9IGVsc2UgaWYgKCBwbHVn
aW5GaWxlbmFtZS5pbmRleE9mKCAnbGlidG90ZW0nICkgPiAtMSApIHsKCQkJCS8v
IFRvdGVtCgkJCQlwbGF5ZXIgPSAndG90ZW0nOwoJCQl9IGVsc2UgaWYgKCBwbHVn
aW5GaWxlbmFtZS5pbmRleE9mKCAnbGlia21wbGF5ZXJwYXJ0JyApID4gLTEgKSB7
CgkJCQkvLyBLTVBsYXllciBpcyBmdXNzeSBhYm91dCB3aGF0IHR5cGUgeW91IGdp
dmUgaXQKCQkJCWlmICggcGx1Z2luTmFtZSA9PSAnV2luZG93cyBNZWRpYSBQbGF5
ZXIgUGx1Z2luJyAKCQkJCQkJfHwgcGx1Z2luTmFtZSA9PSAnUXVpY2tUaW1lIFBs
dWctaW4nICkKCQkJCXsKCQkJCQlwbGF5ZXIgPSAna21wbGF5ZXInOwoJCQkJfQoJ
CQl9IGVsc2UgaWYgKCBwbHVnaW5GaWxlbmFtZS5pbmRleE9mKCAna2FmZmVpbmVw
bHVnaW4nICkgPiAtMSApIHsKCQkJCS8vIEthZmZlaW5lCgkJCQlwbGF5ZXIgPSAn
a2FmZmVpbmUnOwoJCQl9IGVsc2UgaWYgKCBwbHVnaW5OYW1lLmluZGV4T2YoICdt
cGxheWVycGx1Zy1pbicgKSA+IC0xICkgewoJCQkJcGxheWVyID0gJ21wbGF5ZXJw
bHVnLWluJzsKCQkJfSBlbHNlIGlmICggcGx1Z2luRmlsZW5hbWUuaW5kZXhPZigg
J21wbGF5ZXJwbHVnLWluLXF0JyApID4gLTEgKSB7CgkJCQkvLyBNUGxheWVyIGZh
a2UgUXVpY2tUaW1lCgkJCQlwbGF5ZXIgPSAnJzsKCQkJfSBlbHNlIGlmICggcGx1
Z2luTmFtZS5pbmRleE9mKCAnUXVpY2tUaW1lIFBsdWctaW4nICkgPiAtMSApIHsK
CQkJCS8vIE5vdGU6IFRvdGVtIGFuZCBLTVBsYXllciBhbHNvIHVzZSB0aGlzIHBs
dWdpbk5hbWUsIHdoaWNoIGlzIAoJCQkJLy8gd2h5IHdlIGNoZWNrIGZvciB0aGVt
IGZpcnN0CgkJCQlwbGF5ZXIgPSAncXVpY2t0aW1lLW1vemlsbGEnOwoJCQl9IGVs
c2UgaWYgKCAocGx1Z2luTmFtZS50b0xvd2VyQ2FzZSgpID09ICd2bGMgbXVsdGlt
ZWRpYSBwbHVnaW4nKSAKCQkJCQl8fCAocGx1Z2luTmFtZS50b0xvd2VyQ2FzZSgp
ID09ICd2bGMgbXVsdGltZWRpYSBwbHVnLWluJykgKSAKCQkJewoJCQkJcGxheWVy
ID0gJ3ZsYy1tb3ppbGxhJzsKCQkJfSBlbHNlIGlmICggdHlwZSA9PSAnYXBwbGlj
YXRpb24vb2dnJyApIHsKCQkJCXBsYXllciA9ICdvZ2dQbHVnaW4nOwoJCQl9CgoJ
CQlpZiAoIHRoaXMua29ucXVlcm9yICYmIHBsYXllciA9PSAndmxjLW1vemlsbGEn
ICkgewoJCQkJLy8gSW4gS29ucXVlcm9yIDMuNS45LCBWTEMgaXMgbm90IHNjcmlw
dGFibGUsIGhhcyBubyBjb250cm9scywgYW5kIGNyYXNoZXMgdGhlIGJyb3dzZXIK
CQkJCXBsYXllciA9ICcnOwoJCQl9CgoJCQkvLyBVcGRhdGUgc29tZSBoYXNodGFi
bGVzIHRvIHRyYWNrIHVuaXF1ZSB0eXBlIGFzc2lnbm1lbnQKCQkJLy8gU2xpZ2h0
bHkgY29tcGxpY2F0ZWQgYmVjYXVzZSBwbGF5ZXJzIGNhbiBhbmQgZG8gY29uZmxp
Y3Qgd2l0aCB0aGVtc2VsdmVzCgkJCWlmICggISggcGxheWVyIGluIHR5cGVzQnlQ
bGF5ZXIgKSApIHsKCQkJCXR5cGVzQnlQbGF5ZXJbcGxheWVyXSA9IHt9OwoJCQl9
CgkJCXR5cGVzQnlQbGF5ZXJbcGxheWVyXVt0eXBlXSA9IHRydWU7CgkJCWlmICgg
ISggdHlwZSBpbiBwbGF5ZXJzQnlUeXBlICkgKSB7CgkJCQlwbGF5ZXJzQnlUeXBl
W3R5cGVdID0ge307CgkJCQludW1QbGF5ZXJzQnlUeXBlW3R5cGVdID0gMDsKCQkJ
fQoJCQlpZiAoICEoIHBsYXllciBpbiBwbGF5ZXJzQnlUeXBlW3R5cGVdICkgKSB7
CgkJCQlwbGF5ZXJzQnlUeXBlW3R5cGVdW3BsYXllcl0gPSB0cnVlOwoJCQkJbnVt
UGxheWVyc0J5VHlwZVt0eXBlXSsrOwoJCQl9CgkJfQoKCQkvLyBEZXRlcm1pbmUg
YSB1bmlxdWUgTUlNRSB0eXBlIGZvciBlYWNoIHBsYXllciBmb3VuZAoJCWZvciAo
IGkgPSAwOyBpIDwgdGhpcy5wbGF5ZXJzLmxlbmd0aDsgaSsrICkgewoJCQlwbGF5
ZXIgPSB0aGlzLnBsYXllcnNbaV07CgkJCWlmICggISggcGxheWVyIGluIHR5cGVz
QnlQbGF5ZXIgKSApIHsKCQkJCWNvbnRpbnVlOwoJCQl9CgkJCS8vIElzIHRoZSBk
ZWZhdWx0IE9LPwoJCQl2YXIgZGVmYXVsdFR5cGUgPSB0aGlzLm1pbWVUeXBlc1tw
bGF5ZXJdOwoJCQlpZiAoIGRlZmF1bHRUeXBlIGluIG51bVBsYXllcnNCeVR5cGUK
CQkJCQkmJiBudW1QbGF5ZXJzQnlUeXBlW2RlZmF1bHRUeXBlXSA9PSAxCgkJCQkJ
JiYgZGVmYXVsdFR5cGUgaW4gdHlwZXNCeVBsYXllcltwbGF5ZXJdICkKCQkJewoJ
CQkJLy8gWWVzLCB1c2UgaXQKCQkJCXRoaXMuZGVidWcoIHBsYXllciArICIgLT4g
IiArIGRlZmF1bHRUeXBlICk7CgkJCQl0aGlzLmNsaWVudFN1cHBvcnRzW3BsYXll
cl0gPSB0cnVlOwoJCQkJY29udGludWU7CgkJCX0KCQkJLy8gU2VhcmNoIGZvciBh
IHVuaXF1ZSB0eXBlCgkJCWZvciAoIHZhciB0eXBlIGluIHR5cGVzQnlQbGF5ZXJb
cGxheWVyXSApIHsKCQkJCWlmICggbnVtUGxheWVyc0J5VHlwZVt0eXBlXSA9PSAx
ICkgewoJCQkJCS8vIEZvdW5kIGEgdW5pcXVlIHR5cGUKCQkJCQl0aGlzLm1pbWVU
eXBlc1twbGF5ZXJdID0gdHlwZTsKCQkJCQl0aGlzLmNsaWVudFN1cHBvcnRzW3Bs
YXllcl0gPSB0cnVlOwoJCQkJCXRoaXMuZGVidWcoIHBsYXllciArICIgPT4gIiAr
IHR5cGUgKTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCQlpZiAoICEocGxheWVy
IGluIHRoaXMuY2xpZW50U3VwcG9ydHMgKSApIHsKCQkJCWlmICggdHlwZXNCeVBs
YXllcltwbGF5ZXJdLmxlbmd0aCA+IDAgKSB7CgkJCQkJdGhpcy5kZWJ1ZyggIk5v
IHVuaXF1ZSBNSU1FIHR5cGUgZm9yICIgKyBwbGF5ZXIgKTsKCQkJCX0gZWxzZSB7
CgkJCQkJdGhpcy5kZWJ1ZyggIk5vIHR5cGVzIGZvciBwbGF5ZXIgIiArIHBsYXll
ciApOwoJCQkJfQoJCQl9CgkJfQoJfSwKCgkndGVzdEFjdGl2ZVgnIDogZnVuY3Rp
b24gKCBuYW1lICkgewoJCWlmICggdGhpcy5tb3ppbGxhICkgcmV0dXJuIGZhbHNl
OwoJCXZhciBoYXNPYmogPSB0cnVlOwoJCXRyeSB7CgkJCS8vIE5vIElFLCBub3Qg
YSBjbGFzcyBjYWxsZWQgIm5hbWUiLCBpdCdzIGEgdmFyaWFibGUKCQkJdmFyIG9i
aiA9IG5ldyBBY3RpdmVYT2JqZWN0KCAnJyArIG5hbWUgKTsKCQl9IGNhdGNoICgg
ZSApIHsKCQkJaGFzT2JqID0gZmFsc2U7CgkJfQoJCXJldHVybiBoYXNPYmo7Cgl9
LAoKCSdhZGRPcHRpb24nIDogZnVuY3Rpb24gKCBzZWxlY3QsIHZhbHVlLCB0ZXh0
LCBzZWxlY3RlZCApIHsKCQkJdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoICdvcHRpb24nICk7CgkJCW9wdGlvbi52YWx1ZSA9IHZhbHVlOwoJCQlv
cHRpb24uYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCB0ZXh0
ICkgKTsKCQkJaWYgKCBzZWxlY3RlZCApIHsKCQkJCW9wdGlvbi5zZWxlY3RlZCA9
IHRydWU7CgkJCX0KCQkJc2VsZWN0LmFwcGVuZENoaWxkKCBvcHRpb24gKTsKCX0s
CgoJJ2h4JyA6IGZ1bmN0aW9uICggcyApIHsKCQlpZiAoIHR5cGVvZiBzICE9ICdT
dHJpbmcnICkgewoJCQlzID0gcy50b1N0cmluZygpOwoJCX0KCQlyZXR1cm4gcy5y
ZXBsYWNlKCAvJi9nLCAnJmFtcDsnICkKCQkJLiByZXBsYWNlKCAvPC9nLCAnJmx0
OycgKQoJCQkuIHJlcGxhY2UoIC8+L2csICcmZ3Q7JyApOwoJfSwKCgknaHEnIDog
ZnVuY3Rpb24gKCBzICkgewoJCXJldHVybiAnIicgKyB0aGlzLmh4KCBzICkgKyAn
Iic7Cgl9LAoKCSdnZXRNc2cnOiBmdW5jdGlvbiAoIGtleSApIHsKCQlpZiAoIGtl
eSBpbiB0aGlzLm1zZyApIHsKCQkJcmV0dXJuIHRoaXMubXNnW2tleV07CgkJfSBl
bHNlIGlmICgga2V5IGluIHRoaXMuZGVmYXVsdE1zZyApIHsKCQkJcmV0dXJuIHRo
aXMuZGVmYXVsdE1zZ1trZXldOwoJCX0gZWxzZSB7CgkJCXJldHVybiAnWycgKyBr
ZXkgKyAnXSc7CgkJfQoJfSwKCgknbWFrZU9wdGlvbnNCb3gnIDogZnVuY3Rpb24g
KCBzZWxlY3RlZFBsYXllciwgcGFyYW1zICkgewoJCXZhciBkaXYsIHAsIGEsIHVs
LCBsaSwgYnV0dG9uOwoKCQlkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAn
ZGl2JyApOwoJCWRpdi5zdHlsZS5jc3NUZXh0ID0gIndpZHRoOiAiICsgKCBwYXJh
bXMud2lkdGggLSAxMCApICsgInB4OyBkaXNwbGF5OiBub25lOyI7CgkJZGl2LmNs
YXNzTmFtZSA9ICdvZ2ctcGxheWVyLW9wdGlvbnMnOwoJCWRpdi5pZCA9IHBhcmFt
cy5pZCArICdfb3B0aW9uc19ib3gnOwoJCWRpdi5hbGlnbiA9ICdjZW50ZXInOwoK
CQl1bCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICd1bCcgKTsKCgkJLy8gRGVz
Y3JpcHRpb24gcGFnZSBsaW5rCgkJaWYgKCBwYXJhbXMubGlua1VybCApIHsKCQkJ
bGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnbGknICk7CgkJCWEgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCAnYScgKTsKCQkJYS5ocmVmID0gcGFyYW1zLmxp
bmtVcmw7CgkJCWEuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KCB0aGlzLm1zZ1snb2dnLWRlc2MtbGluayddICkgKTsKCQkJbGkuYXBwZW5kQ2hp
bGQoIGEgKTsKCQkJdWwuYXBwZW5kQ2hpbGQoIGxpICk7CgkJfQoKCQkvLyBEb3du
bG9hZCBsaW5rCgkJbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnbGknICk7
CgkJYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdhJyApOwoJCWEuaHJlZiA9
IHBhcmFtcy52aWRlb1VybDsKCQlhLmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSggdGhpcy5tc2dbJ29nZy1kb3dubG9hZCddICkgKTsKCQlsaS5h
cHBlbmRDaGlsZCggYSApOwoJCXVsLmFwcGVuZENoaWxkKCBsaSApOwoJCQoJCWRp
di5hcHBlbmRDaGlsZCggdWwgKTsKCgkJLy8gUGxheWVyIGxpc3QgY2FwdGlvbgoJ
CXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAncCcgKTsKCQlwLmFwcGVuZENo
aWxkKCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSggdGhpcy5tc2dbJ29nZy11c2Ut
cGxheWVyJ10gKSApOwoJCWRpdi5hcHBlbmRDaGlsZCggcCApOwoKCQkvLyBNYWtl
IHBsYXllciBsaXN0CgkJdWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAndWwn
ICk7CgkJZm9yICggdmFyIGkgPSAwOyBpIDwgdGhpcy5wbGF5ZXJzLmxlbmd0aCAr
IDE7IGkrKyApIHsKCQkJdmFyIHBsYXllciwgcGxheWVyTXNnOwoJCQlpZiAoIGkg
PT0gdGhpcy5wbGF5ZXJzLmxlbmd0aCApIHsKCQkJCXBsYXllciA9ICd0aHVtYm5h
aWwnOwoJCQkJaWYgKCBwYXJhbXMuaXNWaWRlbyApIHsKCQkJCQlwbGF5ZXJNc2cg
PSAnb2dnLXBsYXllci10aHVtYm5haWwnOwoJCQkJfSBlbHNlIHsKCQkJCQlwbGF5
ZXJNc2cgPSAnb2dnLXBsYXllci1zb3VuZHRodW1iJzsKCQkJCX0KCQkJfSBlbHNl
IHsKCQkJCXBsYXllciA9IHRoaXMucGxheWVyc1tpXTsKCQkJCS8vIFNraXAgdW5z
dXBwb3J0ZWQgcGxheWVycwoJCQkJaWYgKCAhIHRoaXMuY2xpZW50U3VwcG9ydHNb
cGxheWVyXSApIHsKCQkJCQljb250aW51ZTsKCQkJCX0KCQkJCXBsYXllck1zZyA9
ICdvZ2ctcGxheWVyLScgKyBwbGF5ZXI7CgkJCX0KCgkJCS8vIE1ha2UgbGlzdCBp
dGVtCgkJCWxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2xpJyApOwoJCQlp
ZiAoIHBsYXllciA9PSBzZWxlY3RlZFBsYXllciApIHsKCQkJCXZhciBzdHJvbmcg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnc3Ryb25nJyApOwoJCQkJc3Ryb25n
LmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSggCgkJCQkJdGhp
cy5nZXRNc2cocGxheWVyTXNnKSArICcgJyArIHRoaXMubXNnWydvZ2ctcGxheWVy
LXNlbGVjdGVkJ10gKSApOwoJCQkJbGkuYXBwZW5kQ2hpbGQoIHN0cm9uZyApOwoJ
CQl9IGVsc2UgewoJCQkJYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdhJyAp
OwoJCQkJYS5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgiJyArIHBsYXllciArICci
KSc7CgkJCQlhLm9uY2xpY2sgPSB0aGlzLm1ha2VQbGF5ZXJGdW5jdGlvbiggcGxh
eWVyLCBwYXJhbXMgKTsKCQkJCWEuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKCB0aGlzLmdldE1zZyhwbGF5ZXJNc2cpICkgKTsKCQkJCWxpLmFw
cGVuZENoaWxkKCBhICk7CgkJCX0KCQkJdWwuYXBwZW5kQ2hpbGQoIGxpICk7CgkJ
fQoJCWRpdi5hcHBlbmRDaGlsZCggdWwgKTsKCQkKCQlkaXYyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCggJ2RpdicgKTsKCQlkaXYyLnN0eWxlLmNzc1RleHQgPSAn
dGV4dC1hbGlnbjogY2VudGVyOyc7CgkJYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCggJ2J1dHRvbicgKTsKCQlidXR0b24uYXBwZW5kQ2hpbGQoIGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKCB0aGlzLm1zZ1snb2dnLWRpc21pc3MnXSApICk7
CgkJYnV0dG9uLm9uY2xpY2sgPSB0aGlzLm1ha2VEaXNtaXNzRnVuY3Rpb24oIHBh
cmFtcy5pZCApOwoJCWRpdjIuYXBwZW5kQ2hpbGQoIGJ1dHRvbiApOwoJCWRpdi5h
cHBlbmRDaGlsZCggZGl2MiApOwoKCQlyZXR1cm4gZGl2OwoJfSwKCgknbWFrZU9w
dGlvbnNMaW5rJyA6IGZ1bmN0aW9uICggaWQgKSB7CgkJdmFyIGEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCAnYScgKTsKCQlhLmhyZWYgPSAnamF2YXNjcmlwdDp2
b2lkKCJvcHRpb25zIiknOwoJCWEuaWQgPSBpZCArICdfb3B0aW9uc19saW5rJzsK
CQlhLm9uY2xpY2sgPSB0aGlzLm1ha2VEaXNwbGF5T3B0aW9uc0Z1bmN0aW9uKCBp
ZCApOwoJCWEuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCB0
aGlzLm1zZ1snb2dnLW1vcmUnXSApICk7CgkJcmV0dXJuIGE7Cgl9LAoKCSdzZXRD
c3NQcm9wZXJ0eScgOiBmdW5jdGlvbiAoIGVsdCwgcHJvcCwgdmFsdWUgKSB7CgkJ
Ly8gQ291bGQgdXNlIHN0eWxlLnNldFByb3BlcnR5KCkgaGVyZSBpZiBpdCB3b3Jr
ZWQgaW4gSUUKCQl2YXIgcmUgPSBuZXcgUmVnRXhwKCBwcm9wICsgJzpbXjtdKDt8
JCknICk7CgkJaWYgKCBlbHQuc3R5bGUuY3NzVGV4dC5zZWFyY2goIHJlICkgPiAt
MSApIHsKCQkJZWx0LnN0eWxlLmNzc1RleHQgPSBlbHQuc3R5bGUuY3NzVGV4dC5y
ZXBsYWNlKCByZSwgcHJvcCArICc6JyArIHZhbHVlICsgJyQxJ