com doc/ja: Improve mysqli_fetch_* functions docs: reference/mysqli/mysqli_result/fetch-array.xml reference/ mysqli/mysqli_result/fetch-assoc.xml reference/mysqli/mys qli_result/fetch-object.xml reference/mysqli/mysqli_res ult/fetch-row.xml

[email protected] (Yoshinari Takaoka) Tue, 23 Feb 2021 13:40:32 +0000
Newsgroups php.doc.ja
Message-ID <[email protected]>
--2e3b526a35bf04f88d2ebc920ba73c960e3cc7b4
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Commit:    8a0924ba9ef1ea9c2f1ac9cf72ea0e24acb03eda=0AAuthor:    Yoshinari =
Takaoka <[email protected]>         Tue, 23 Feb 2021 22:40:32 +0900=0AParen=
ts:   263d0d6afcbc75d5c83dad4ae56b3de7c888b322=0ABranches:  master=0A=0ALin=
k:       http://git.php.net/?p=3Ddoc/ja.git;a=3Dcommitdiff;h=3D8a0924ba9ef1=
ea9c2f1ac9cf72ea0e24acb03eda=0A=0ALog:=0AImprove mysqli_fetch_* functions d=
ocs=0A=0A* Aligned examples. OO and procedural examples where using differe=
nt=0A  variable names. An example of iterator was using different style and=
=0A  data=0A* Improved descriptions. Some words were confusing and even wro=
ng.=0A* Aligned notes. All notes are in the same place and follow similar g=
rammar=0A* Removed manual error checking from examples=0A* Removed unnecess=
ary LIMIT 50,5=0A* Added .similar to the example results=0A=0ACo-authored-b=
y: Anna Filina <[email protected]>=0A=0ACloses GH-207=0A=0AChanged paths:=
=0A  M  reference/mysqli/mysqli_result/fetch-array.xml=0A  M  reference/mys=
qli/mysqli_result/fetch-assoc.xml=0A  M  reference/mysqli/mysqli_result/fet=
ch-object.xml=0A  M  reference/mysqli/mysqli_result/fetch-row.xml=0A=0A
--2e3b526a35bf04f88d2ebc920ba73c960e3cc7b4
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="diff_8a0924ba9ef1ea9c2f1ac9cf72ea0e24acb03eda.txt"

ZGlmZiAtLWdpdCBhL3JlZmVyZW5jZS9teXNxbGkvbXlzcWxpX3Jlc3VsdC9mZXRjaC1hcnJheS54
bWwgYi9yZWZlcmVuY2UvbXlzcWxpL215c3FsaV9yZXN1bHQvZmV0Y2gtYXJyYXkueG1sCmluZGV4
IDc0MDQxYTBjNWMuLmI3YWYwZjk4NjQgMTAwNjQ0Ci0tLSBhL3JlZmVyZW5jZS9teXNxbGkvbXlz
cWxpX3Jlc3VsdC9mZXRjaC1hcnJheS54bWwKKysrIGIvcmVmZXJlbmNlL215c3FsaS9teXNxbGlf
cmVzdWx0L2ZldGNoLWFycmF5LnhtbApAQCAtMSw2ICsxLDYgQEAKIDw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8IS0tICRSZXZpc2lvbiQgLS0+Ci08IS0tIEVOLVJldmlz
aW9uOiBjMTQzNGM5NWZjNjY2YzIwY2RiZDFlMWQ5YTQxODNlMGQxMWZiODhjIE1haW50YWluZXI6
IHRha2FnaSBTdGF0dXM6IHJlYWR5IC0tPgorPCEtLSBFTi1SZXZpc2lvbjogY2E1YzQ3NzQzN2Zj
YjIxNjgwNDA4YmY3ZTBjYzA0MjQ4NTNlNzkwNyBNYWludGFpbmVyOiB0YWthZ2kgU3RhdHVzOiBy
ZWFkeSAtLT4KIDwhLS0gQ1JFRElUUzogc2hpbW9va2EsbXVtdW11IC0tPgogPHJlZmVudHJ5IHht
bDppZD0ibXlzcWxpLXJlc3VsdC5mZXRjaC1hcnJheSIgeG1sbnM9Imh0dHA6Ly9kb2Nib29rLm9y
Zy9ucy9kb2Nib29rIj4KICA8cmVmbmFtZWRpdj4KQEAgLTIzLDE0ICsyMywxMyBAQAogICAgPG1l
dGhvZHBhcmFtIGNob2ljZT0ib3B0Ij48dHlwZT5pbnQ8L3R5cGU+PHBhcmFtZXRlcj5yZXN1bHR0
eXBlPC9wYXJhbWV0ZXI+PGluaXRpYWxpemVyPk1ZU1FMSV9CT1RIPC9pbml0aWFsaXplcj48L21l
dGhvZHBhcmFtPgogICA8L21ldGhvZHN5bm9wc2lzPgogICA8cGFyYT4KLSAgIOWPluW+l+OBl+OB
n+ihjOOBq+WvvuW/nOOBmeOCi+mFjeWIl+OCkui/lOOBl+OBvuOBmeOAgiA8cGFyYW1ldGVyPnJl
c3VsdDwvcGFyYW1ldGVyPgotICAg44OR44Op44Oh44O844K/44GM44GC44KJ44KP44GZ57WQ5p6c
44K744OD44OI44Gr5a++44GX44Gm6KGM44GM44Gq44GR44KM44Gw44CBJm51bGw7IOOCkui/lOOB
l+OBvuOBmeOAggorICAg5Y+W5b6X44GX44Gf6KGM44Gr5a++5b+c44GZ44KL6YWN5YiX44KS6L+U
44GX44G+44GZ44CCCisgICDntZDmnpzjgrvjg4Pjg4jjgavlr77jgZfjgabooYzjgYzjgarjgZHj
gozjgbDjgIEmbnVsbDsg44KS6L+U44GX44G+44GZ44CCCiAgIDwvcGFyYT4KICAgPHBhcmE+Ci0g
ICA8ZnVuY3Rpb24+bXlzcWxpX2ZldGNoX2FycmF5PC9mdW5jdGlvbj4g44GvCi0gICA8ZnVuY3Rp
b24+bXlzcWxpX2ZldGNoX3JvdzwvZnVuY3Rpb24+IOmWouaVsOOBruaLoeW8teeJiOOBp+OBmeOA
guODh+ODvOOCv+OCkuaVsOWApOa3u+Wtl+OBrgotICAg6YWN5YiX44Gr5qC857SN44GZ44KL44GT
44Go44Gr5Yqg44GI44Gm44CBPGZ1bmN0aW9uPm15c3FsaV9mZXRjaF9hcnJheTwvZnVuY3Rpb24+
Ci0gICDplqLmlbDjga/jgIHjg5XjgqPjg7zjg6vjg4nlkI3jgpLjgq3jg7zjgajjgZnjgovpgKPm
g7PphY3liJfjgavjgoLjg4fjg7zjgr/jgpLmoLzntI3jgZfjgb7jgZnjgIIKKyAgIOODh+ODvOOC
v+OCkuaVsOWApOa3u+Wtl+OBrgorICAg6YWN5YiX44Gr5qC857SN44GZ44KL44GT44Go44Gr5Yqg
44GI44Gm44CB44GT44Gu6Zai5pWw44GvCisgICDntZDmnpzjgrvjg4Pjg4jjga7jg5XjgqPjg7zj
g6vjg4nlkI3jgpLjgq3jg7zjgajjgZnjgovpgKPmg7PphY3liJfjgavjgoLjg4fjg7zjgr/jgpLm
oLzntI3jgafjgY3jgb7jgZnjgIIKICAgPC9wYXJhPgogICAmZGF0YWJhc2UuZmllbGQtY2FzZTsK
ICAgJmRhdGFiYXNlLmZldGNoLW51bGw7CkBAIC03Miw3ICs3MSw3IEBACiAgPHJlZnNlY3QxIHJv
bGU9InJldHVybnZhbHVlcyI+CiAgICZyZWZ0aXRsZS5yZXR1cm52YWx1ZXM7CiAgIDxwYXJhPgot
ICAg5Y+W5b6X44GX44Gf6KGM44Gr5a++5b+c44GZ44KL5paH5a2X5YiX44Gu6YWN5YiX44KS6L+U
44GX44G+44GZ44CC57WQ5p6c44K744OD44OI44Gr44KC44GG6KGM44GM44Gq44GE5aC05ZCI44Gr
44GvCisgICDlj5blvpfjgZfjgZ/ooYzjgavlr77lv5zjgZnjgovlgKTjga7phY3liJfjgpLov5Tj
gZfjgb7jgZnjgILntZDmnpzjgrvjg4Pjg4jjgavjgoLjgYbooYzjgYzjgarjgYTloLTlkIjjgavj
ga8KICAgICZudWxsOyDjgpLov5TjgZfjgb7jgZnjgIIKICAgPC9wYXJhPgogIDwvcmVmc2VjdDE+
CkBAIC04MCw3OSArNzksNTYgQEAKICA8cmVmc2VjdDEgcm9sZT0iZXhhbXBsZXMiPgogICAmcmVm
dGl0bGUuZXhhbXBsZXM7CiAgIDxleGFtcGxlPgotICAgPHRpdGxlPiZzdHlsZS5vb3A7PC90aXRs
ZT4KKyAgIDx0aXRsZT48bWV0aG9kbmFtZT5teXNxbGlfcmVzdWx0OjpmZXRjaF9hcnJheTwvbWV0
aG9kbmFtZT4g44Gu5L6LPC90aXRsZT4KKyAgIDxwYXJhPiZzdHlsZS5vb3A7PC9wYXJhPgogICAg
PHByb2dyYW1saXN0aW5nIHJvbGU9InBocCI+CiA8IVtDREFUQVsKIDw/cGhwCi0kbXlzcWxpID0g
bmV3IG15c3FsaSgibG9jYWxob3N0IiwgIm15X3VzZXIiLCAibXlfcGFzc3dvcmQiLCAid29ybGQi
KTsKIAotLyog5o6l57aa54q25rOB44KS44OB44Kn44OD44Kv44GX44G+44GZICovCi1pZiAoJG15
c3FsaS0+Y29ubmVjdF9lcnJubykgewotICAgIHByaW50ZigiQ29ubmVjdCBmYWlsZWQ6ICVzXG4i
LCAkbXlzcWxpLT5jb25uZWN0X2Vycm9yKTsKLSAgICBleGl0KCk7Ci19CitteXNxbGlfcmVwb3J0
KE1ZU1FMSV9SRVBPUlRfRVJST1IgfCBNWVNRTElfUkVQT1JUX1NUUklDVCk7CiskbXlzcWxpID0g
bmV3IG15c3FsaSgibG9jYWxob3N0IiwgIm15X3VzZXIiLCAibXlfcGFzc3dvcmQiLCAid29ybGQi
KTsKIAotJHF1ZXJ5ID0gIlNFTEVDVCBOYW1lLCBDb3VudHJ5Q29kZSBGUk9NIENpdHkgT1JERVIg
YnkgSUQgTElNSVQgMyI7CiskcXVlcnkgPSAiU0VMRUNUIE5hbWUsIENvdW50cnlDb2RlIEZST00g
Q2l0eSBPUkRFUiBCWSBJRCBMSU1JVCAzIjsKICRyZXN1bHQgPSAkbXlzcWxpLT5xdWVyeSgkcXVl
cnkpOwogCiAvKiDmlbDlgKTmt7vlrZfphY3liJcgKi8KICRyb3cgPSAkcmVzdWx0LT5mZXRjaF9h
cnJheShNWVNRTElfTlVNKTsKLXByaW50ZiAoIiVzICglcylcbiIsICRyb3dbMF0sICRyb3dbMV0p
OworcHJpbnRmKCIlcyAoJXMpXG4iLCAkcm93WzBdLCAkcm93WzFdKTsKIAogLyog6YCj5oOz6YWN
5YiXICovCiAkcm93ID0gJHJlc3VsdC0+ZmV0Y2hfYXJyYXkoTVlTUUxJX0FTU09DKTsKLXByaW50
ZiAoIiVzICglcylcbiIsICRyb3dbIk5hbWUiXSwgJHJvd1siQ291bnRyeUNvZGUiXSk7Citwcmlu
dGYoIiVzICglcylcbiIsICRyb3dbIk5hbWUiXSwgJHJvd1siQ291bnRyeUNvZGUiXSk7CiAKIC8q
IOmAo+aDs+mFjeWIl+OBiuOCiOOBs+aVsOWApOa3u+Wtl+mFjeWIlyAqLwogJHJvdyA9ICRyZXN1
bHQtPmZldGNoX2FycmF5KE1ZU1FMSV9CT1RIKTsKLXByaW50ZiAoIiVzICglcylcbiIsICRyb3db
MF0sICRyb3dbIkNvdW50cnlDb2RlIl0pOwotCi0vKiDntZDmnpzjgrvjg4Pjg4jjgpLplovmlL7j
gZfjgb7jgZkgKi8KLSRyZXN1bHQtPmZyZWUoKTsKLQotLyog5o6l57aa44KS6ZaJ44GY44G+44GZ
ICovCi0kbXlzcWxpLT5jbG9zZSgpOwotPz4KK3ByaW50ZigiJXMgKCVzKVxuIiwgJHJvd1swXSwg
JHJvd1siQ291bnRyeUNvZGUiXSk7CiBdXT4KICAgIDwvcHJvZ3JhbWxpc3Rpbmc+Ci0gIDwvZXhh
bXBsZT4KLSAgPGV4YW1wbGU+Ci0gICA8dGl0bGU+JnN0eWxlLnByb2NlZHVyYWw7PC90aXRsZT4K
KyAgIDxwYXJhPiZzdHlsZS5wcm9jZWR1cmFsOzwvcGFyYT4KICAgIDxwcm9ncmFtbGlzdGluZyBy
b2xlPSJwaHAiPgogPCFbQ0RBVEFbCiA8P3BocAotJGxpbmsgPSBteXNxbGlfY29ubmVjdCgibG9j
YWxob3N0IiwgIm15X3VzZXIiLCAibXlfcGFzc3dvcmQiLCAid29ybGQiKTsKIAotLyog5o6l57aa
54q25rOB44KS44OB44Kn44OD44Kv44GX44G+44GZICovCi1pZiAobXlzcWxpX2Nvbm5lY3RfZXJy
bm8oKSkgewotICAgIHByaW50ZigiQ29ubmVjdCBmYWlsZWQ6ICVzXG4iLCBteXNxbGlfY29ubmVj
dF9lcnJvcigpKTsKLSAgICBleGl0KCk7Ci19CitteXNxbGlfcmVwb3J0KE1ZU1FMSV9SRVBPUlRf
RVJST1IgfCBNWVNRTElfUkVQT1JUX1NUUklDVCk7CiskbXlzcWxpID0gbXlzcWxpX2Nvbm5lY3Qo
ImxvY2FsaG9zdCIsICJteV91c2VyIiwgIm15X3Bhc3N3b3JkIiwgIndvcmxkIik7CiAKICRxdWVy
eSA9ICJTRUxFQ1QgTmFtZSwgQ291bnRyeUNvZGUgRlJPTSBDaXR5IE9SREVSIGJ5IElEIExJTUlU
IDMiOwotJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbGluaywgJHF1ZXJ5KTsKKyRyZXN1bHQgPSBt
eXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKIAogLyog5pWw5YCk5re75a2X6YWN5YiXICov
CiAkcm93ID0gbXlzcWxpX2ZldGNoX2FycmF5KCRyZXN1bHQsIE1ZU1FMSV9OVU0pOwotcHJpbnRm
ICgiJXMgKCVzKVxuIiwgJHJvd1swXSwgJHJvd1sxXSk7CitwcmludGYoIiVzICglcylcbiIsICRy
b3dbMF0sICRyb3dbMV0pOwogCiAvKiDpgKPmg7PphY3liJcgKi8KICRyb3cgPSBteXNxbGlfZmV0
Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKLXByaW50ZiAoIiVzICglcylcbiIsICRy
b3dbIk5hbWUiXSwgJHJvd1siQ291bnRyeUNvZGUiXSk7CitwcmludGYoIiVzICglcylcbiIsICRy
b3dbIk5hbWUiXSwgJHJvd1siQ291bnRyeUNvZGUiXSk7CiAKIC8qIOmAo+aDs+mFjeWIl+OBiuOC
iOOBs+aVsOWApOa3u+Wtl+mFjeWIlyAqLwogJHJvdyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVz
dWx0LCBNWVNRTElfQk9USCk7Ci1wcmludGYgKCIlcyAoJXMpXG4iLCAkcm93WzBdLCAkcm93WyJD
b3VudHJ5Q29kZSJdKTsKLQotLyog57WQ5p6c44K744OD44OI44KS6ZaL5pS+44GX44G+44GZICov
Ci1teXNxbGlfZnJlZV9yZXN1bHQoJHJlc3VsdCk7Ci0KLS8qIOaOpee2muOCkumWieOBmOOBvuOB
mSAqLwotbXlzcWxpX2Nsb3NlKCRsaW5rKTsKLT8+CitwcmludGYoIiVzICglcylcbiIsICRyb3db
MF0sICRyb3dbIkNvdW50cnlDb2RlIl0pOwogXV0+CiAgICA8L3Byb2dyYW1saXN0aW5nPgotICAg
JmV4YW1wbGVzLm91dHB1dHM7CisgICAmZXhhbXBsZXMub3V0cHV0cy5zaW1pbGFyOwogICAgPHNj
cmVlbj4KIDwhW0NEQVRBWwogS2FidWwgKEFGRykKZGlmZiAtLWdpdCBhL3JlZmVyZW5jZS9teXNx
bGkvbXlzcWxpX3Jlc3VsdC9mZXRjaC1hc3NvYy54bWwgYi9yZWZlcmVuY2UvbXlzcWxpL215c3Fs
aV9yZXN1bHQvZmV0Y2gtYXNzb2MueG1sCmluZGV4IGI0NTA5N2I4ZDguLjdiMmEyMDI0OTAgMTAw
NjQ0Ci0tLSBhL3JlZmVyZW5jZS9teXNxbGkvbXlzcWxpX3Jlc3VsdC9mZXRjaC1hc3NvYy54bWwK
KysrIGIvcmVmZXJlbmNlL215c3FsaS9teXNxbGlfcmVzdWx0L2ZldGNoLWFzc29jLnhtbApAQCAt
MSw2ICsxLDYgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8IS0t
ICRSZXZpc2lvbiQgLS0+Ci08IS0tIEVOLVJldmlzaW9uOiBjMTQzNGM5NWZjNjY2YzIwY2RiZDFl
MWQ5YTQxODNlMGQxMWZiODhjIE1haW50YWluZXI6IHRha2FnaSBTdGF0dXM6IHJlYWR5IC0tPgor
PCEtLSBFTi1SZXZpc2lvbjogY2E1YzQ3NzQzN2ZjYjIxNjgwNDA4YmY3ZTBjYzA0MjQ4NTNlNzkw
NyBNYWludGFpbmVyOiB0YWthZ2kgU3RhdHVzOiByZWFkeSAtLT4KIDwhLS0gQ1JFRElUUzogc2hp
bW9va2EsbXVtdW11IC0tPgogPHJlZmVudHJ5IHhtbDppZD0ibXlzcWxpLXJlc3VsdC5mZXRjaC1h
c3NvYyIgeG1sbnM9Imh0dHA6Ly9kb2Nib29rLm9yZy9ucy9kb2Nib29rIj4KICA8cmVmbmFtZWRp
dj4KQEAgLTIyLDcgKzIyLDcgQEAKICAgIDxtZXRob2RwYXJhbT48dHlwZT5teXNxbGlfcmVzdWx0
PC90eXBlPjxwYXJhbWV0ZXI+cmVzdWx0PC9wYXJhbWV0ZXI+PC9tZXRob2RwYXJhbT4KICAgPC9t
ZXRob2RzeW5vcHNpcz4KICAgPHBhcmE+Ci0gICDlj5blvpfjgZfjgZ/ooYzjgavlr77lv5zjgZnj
govpgKPmg7PphY3liJfjgpLov5TjgZfjgb7jgZnjgILjgoLjgZfjgoLjgYbooYzjgYzjgarjgYTl
oLTlkIjjgavjga8KKyAgIOWPluW+l+OBl+OBn+ihjOOBq+WvvuW/nOOBmeOCi+mAo+aDs+mFjeWI
l+OCkui/lOOBl+OBvuOBmeOAguOCguOBhuihjOOBjOOBquOBhOWgtOWQiOOBq+OBrwogICAgJm51
bGw7IOOCkui/lOOBl+OBvuOBmeOAggogICA8L3BhcmE+CiAgICZkYXRhYmFzZS5maWVsZC1jYXNl
OwpAQCAtNDEsNyArNDEsNyBAQAogIDxyZWZzZWN0MSByb2xlPSJyZXR1cm52YWx1ZXMiPgogICAm
cmVmdGl0bGUucmV0dXJudmFsdWVzOwogICA8cGFyYT4KLSAgIOWPluW+l+OBl+OBn+ihjOOBq+Wv
vuW/nOOBmeOCi+aWh+Wtl+WIl+OBrumAo+aDs+mFjeWIl+OCkui/lOOBl+OBvuOBmeOAggorICAg
5Y+W5b6X44GX44Gf6KGM44Gr5a++5b+c44GZ44KL5YCk44Gu6YCj5oOz6YWN5YiX44KS6L+U44GX
44G+44GZ44CCCiAgICDpgKPmg7PphY3liJfjga7lkITjgq3jg7zjgYzjgIHntZDmnpzjgrvjg4Pj
g4jjga7jgqvjg6njg6DjgpLooajjgZfjgb7jgZnjgIIKICAgIOe1kOaenOOCu+ODg+ODiOOBq+OC
guOBhuihjOOBjOOBquOBhOWgtOWQiOOBq+OBryAmbnVsbDsg44KS6L+U44GX44G+44GZ44CCCiAg
IDwvcGFyYT4KQEAgLTU3LDY5ICs1Nyw0NCBAQAogIDxyZWZzZWN0MSByb2xlPSJleGFtcGxlcyI+
CiAgICZyZWZ0aXRsZS5leGFtcGxlczsKICAgPGV4YW1wbGU+Ci0gICA8dGl0bGU+JnN0eWxlLm9v
cDs8L3RpdGxlPgorICAgPHRpdGxlPjxtZXRob2RuYW1lPm15c3FsaV9yZXN1bHQ6OmZldGNoX2Fz
c29jPC9tZXRob2RuYW1lPiDjga7kvos8L3RpdGxlPgorICAgPHBhcmE+JnN0eWxlLm9vcDs8L3Bh
cmE+CiAgICA8cHJvZ3JhbWxpc3Rpbmcgcm9sZT0icGhwIj4KIDwhW0NEQVRBWwogPD9waHAKLSRt
eXNxbGkgPSBuZXcgbXlzcWxpKCJsb2NhbGhvc3QiLCAibXlfdXNlciIsICJteV9wYXNzd29yZCIs
ICJ3b3JsZCIpOwotCi0vKiDmjqXntprnirbms4HjgpLjg4Hjgqfjg4Pjgq/jgZfjgb7jgZkgKi8K
LWlmICgkbXlzcWxpLT5jb25uZWN0X2Vycm5vKSB7Ci0gICAgcHJpbnRmKCJDb25uZWN0IGZhaWxl
ZDogJXNcbiIsICRteXNxbGktPmNvbm5lY3RfZXJyb3IpOwotICAgIGV4aXQoKTsKLX0KIAotJHF1
ZXJ5ID0gIlNFTEVDVCBOYW1lLCBDb3VudHJ5Q29kZSBGUk9NIENpdHkgT1JERVIgYnkgSUQgREVT
QyBMSU1JVCA1MCw1IjsKK215c3FsaV9yZXBvcnQoTVlTUUxJX1JFUE9SVF9FUlJPUiB8IE1ZU1FM
SV9SRVBPUlRfU1RSSUNUKTsKKyRteXNxbGkgPSBuZXcgbXlzcWxpKCJsb2NhbGhvc3QiLCAibXlf
dXNlciIsICJteV9wYXNzd29yZCIsICJ3b3JsZCIpOwogCi1pZiAoJHJlc3VsdCA9ICRteXNxbGkt
PnF1ZXJ5KCRxdWVyeSkpIHsKKyRxdWVyeSA9ICJTRUxFQ1QgTmFtZSwgQ291bnRyeUNvZGUgRlJP
TSBDaXR5IE9SREVSIEJZIElEIERFU0MiOwogCi0gICAgLyog6YCj5oOz6YWN5YiX44KS5Y+W5b6X
44GX44G+44GZICovCi0gICAgd2hpbGUgKCRyb3cgPSAkcmVzdWx0LT5mZXRjaF9hc3NvYygpKSB7
Ci0gICAgICAgIHByaW50ZiAoIiVzICglcylcbiIsICRyb3dbIk5hbWUiXSwgJHJvd1siQ291bnRy
eUNvZGUiXSk7Ci0gICAgfQorJHJlc3VsdCA9ICRteXNxbGktPnF1ZXJ5KCRxdWVyeSk7CiAKLSAg
ICAvKiDntZDmnpzjgrvjg4Pjg4jjgpLplovmlL7jgZfjgb7jgZkgKi8KLSAgICAkcmVzdWx0LT5m
cmVlKCk7CisvKiDpgKPmg7PphY3liJfjgpLlj5blvpfjgZfjgb7jgZkgKi8KK3doaWxlICgkcm93
ID0gJHJlc3VsdC0+ZmV0Y2hfYXNzb2MoKSkgeworICAgIHByaW50ZigiJXMgKCVzKVxuIiwgJHJv
d1siTmFtZSJdLCAkcm93WyJDb3VudHJ5Q29kZSJdKTsKIH0KLQotLyog5o6l57aa44KS6ZaJ44GY
44G+44GZICovCi0kbXlzcWxpLT5jbG9zZSgpOwotPz4KIF1dPgogICAgPC9wcm9ncmFtbGlzdGlu
Zz4KLSAgPC9leGFtcGxlPgotICA8ZXhhbXBsZT4KLSAgIDx0aXRsZT4mc3R5bGUucHJvY2VkdXJh
bDs8L3RpdGxlPgorICAgPHBhcmE+JnN0eWxlLnByb2NlZHVyYWw7PC9wYXJhPgogICAgPHByb2dy
YW1saXN0aW5nIHJvbGU9InBocCI+CiA8IVtDREFUQVsKIDw/cGhwCi0kbGluayA9IG15c3FsaV9j
b25uZWN0KCJsb2NhbGhvc3QiLCAibXlfdXNlciIsICJteV9wYXNzd29yZCIsICJ3b3JsZCIpOwot
Ci0vKiDmjqXntprnirbms4HjgpLjg4Hjgqfjg4Pjgq/jgZfjgb7jgZkgKi8KLWlmIChteXNxbGlf
Y29ubmVjdF9lcnJubygpKSB7Ci0gICAgcHJpbnRmKCJDb25uZWN0IGZhaWxlZDogJXNcbiIsIG15
c3FsaV9jb25uZWN0X2Vycm9yKCkpOwotICAgIGV4aXQoKTsKLX0KIAotJHF1ZXJ5ID0gIlNFTEVD
VCBOYW1lLCBDb3VudHJ5Q29kZSBGUk9NIENpdHkgT1JERVIgYnkgSUQgREVTQyBMSU1JVCA1MCw1
IjsKK215c3FsaV9yZXBvcnQoTVlTUUxJX1JFUE9SVF9FUlJPUiB8IE1ZU1FMSV9SRVBPUlRfU1RS
SUNUKTsKKyRteXNxbGkgPSBteXNxbGlfY29ubmVjdCgibG9jYWxob3N0IiwgIm15X3VzZXIiLCAi
bXlfcGFzc3dvcmQiLCAid29ybGQiKTsKIAotaWYgKCRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGxp
bmssICRxdWVyeSkpIHsKKyRxdWVyeSA9ICJTRUxFQ1QgTmFtZSwgQ291bnRyeUNvZGUgRlJPTSBD
aXR5IE9SREVSIEJZIElEIERFU0MiOwogCi0gICAgLyog6YCj5oOz6YWN5YiX44KS5Y+W5b6X44GX
44G+44GZICovCi0gICAgd2hpbGUgKCRyb3cgPSBteXNxbGlfZmV0Y2hfYXNzb2MoJHJlc3VsdCkp
IHsKLSAgICAgICAgcHJpbnRmICgiJXMgKCVzKVxuIiwgJHJvd1siTmFtZSJdLCAkcm93WyJDb3Vu
dHJ5Q29kZSJdKTsKLSAgICB9CiskcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVy
eSk7CiAKLSAgICAvKiDntZDmnpzjgrvjg4Pjg4jjgpLplovmlL7jgZfjgb7jgZkgKi8KLSAgICBt
eXNxbGlfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CisvKiDpgKPmg7PphY3liJfjgpLlj5blvpfjgZfj
gb7jgZkgKi8KK3doaWxlICgkcm93ID0gbXlzcWxpX2ZldGNoX2Fzc29jKCRyZXN1bHQpKSB7Cisg
ICAgcHJpbnRmKCIlcyAoJXMpXG4iLCAkcm93WyJOYW1lIl0sICRyb3dbIkNvdW50cnlDb2RlIl0p
OwogfQotCi0vKiDmjqXntprjgpLplonjgZjjgb7jgZkgKi8KLW15c3FsaV9jbG9zZSgkbGluayk7
Ci0/PgogXV0+CiAgICA8L3Byb2dyYW1saXN0aW5nPgotICAgJmV4YW1wbGVzLm91dHB1dHM7Cisg
ICAmZXhhbXBsZXMub3V0cHV0cy5zaW1pbGFyOwogICAgPHNjcmVlbj4KIDwhW0NEQVRBWwogUHVl
YmxvIChVU0EpCkBAIC0xMzEsNDIgKzEwNiw1MSBAQCBTYW50YSBDbGFyYSAoVVNBKQogICAgPC9z
Y3JlZW4+CiAgIDwvZXhhbXBsZT4KICAgPGV4YW1wbGUgeG1sOmlkPSJteXNxbGktcmVzdWx0LmV4
YW1wbGUuaXRlcmF0b3IiPgotICAgPHRpdGxlPjxjbGFzc25hbWU+bXlzcWxpX3Jlc3VsdDwvY2xh
c3NuYW1lPiDjgafjga4gPGNsYXNzbmFtZT5pdGVyYXRvcjwvY2xhc3NuYW1lPiDjga7kvb/nlKjm
s5U8L3RpdGxlPgorICAgPHRpdGxlPjxjbGFzc25hbWU+bXlzcWxpX3Jlc3VsdDwvY2xhc3NuYW1l
PiwgPGNsYXNzbmFtZT5pdGVyYXRvcjwvY2xhc3NuYW1lPiwgPG1ldGhvZG5hbWU+bXlzcWxpX3Jl
c3VsdDo6ZmV0Y2hfYXNzb2M8L21ldGhvZG5hbWU+IOOBruS9v+OBhOaWueOBruavlOi8gzwvdGl0
bGU+CisgICA8cGFyYT4KKyAgICA8Y2xhc3NuYW1lPm15c3FsaV9yZXN1bHQ8L2NsYXNzbmFtZT4g
44Gv44CBJmZvcmVhY2g7IOOCkuS9v+OBo+OBpue5sOOCiui/lOOBl+WHpueQhuOCkuOBmeOCi+OB
k+OBqOOBjOOBp+OBjeOBvuOBmeOAggorICAgIOe1kOaenOOCu+ODg+ODiOOBr+OAgeePvuWcqOOB
ruS9jee9ruOBq+mWouOCj+OCieOBmuOAgeacgOWIneOBruihjOOBi+OCieWHpueQhuOBleOCjOOB
vuOBmeOAggorICAgPC9wYXJhPgogICAgPHByb2dyYW1saXN0aW5nIHJvbGU9InBocCI+CiA8IVtD
REFUQVsKIDw/cGhwCi0kYyA9IG15c3FsaV9jb25uZWN0KCcxMjcuMC4wLjEnLCd1c2VyJywgJ3Bh
c3MnKTsKIAotLy8g44Kk44OG44Os44O844K/44GM44GC44KL44Go44GNIChQSFAgNS40IOOBp+OC
teODneODvOODiOOBleOCjOOCi+OCiOOBhuOBq+OBquOCiuOBvuOBl+OBnykKLWZvcmVhY2ggKCAk
Yy0+cXVlcnkoJ1NFTEVDVCB1c2VyLGhvc3QgRlJPTSBteXNxbC51c2VyJykgYXMgJHJvdyApIHsK
LSAgICBwcmludGYoIiclcydAJyVzJ1xuIiwgJHJvd1sndXNlciddLCAkcm93Wydob3N0J10pOwor
bXlzcWxpX3JlcG9ydChNWVNRTElfUkVQT1JUX0VSUk9SIHwgTVlTUUxJX1JFUE9SVF9TVFJJQ1Qp
OworJG15c3FsaSA9IG5ldyBteXNxbGkoImxvY2FsaG9zdCIsICJteV91c2VyIiwgIm15X3Bhc3N3
b3JkIiwgIndvcmxkIik7CisKKyRxdWVyeSA9ICdTRUxFQ1QgTmFtZSwgQ291bnRyeUNvZGUgRlJP
TSBDaXR5IE9SREVSIEJZIElEIERFU0MnOworCisvLyDjgqTjg4bjg6zjg7zjgr/jgpLkvb/jgYbl
oLTlkIgKKyRyZXN1bHQgPSAkbXlzcWxpLT5xdWVyeSgkcXVlcnkpOworZm9yZWFjaCAoJHJlc3Vs
dCBhcyAkcm93KSB7CisgICAgcHJpbnRmKCIlcyAoJXMpXG4iLCAkcm93WyJOYW1lIl0sICRyb3db
IkNvdW50cnlDb2RlIl0pOwogfQogCiBlY2hvICJcbj09PT09PT09PT09PT09PT09PVxuIjsKIAot
Ly8g44Kk44OG44Os44O844K/44Gu44Gq44GE44Go44GNCi0kcmVzdWx0ID0gJGMtPnF1ZXJ5KCdT
RUxFQ1QgdXNlcixob3N0IEZST00gbXlzcWwudXNlcicpOworLy8g44Kk44OG44Os44O844K/44KS
5L2/44KP44Gq44GE5aC05ZCICiskcmVzdWx0ID0gJG15c3FsaS0+cXVlcnkoJHF1ZXJ5KTsKIHdo
aWxlICgkcm93ID0gJHJlc3VsdC0+ZmV0Y2hfYXNzb2MoKSkgewotICAgIHByaW50ZigiJyVzJ0An
JXMnXG4iLCAkcm93Wyd1c2VyJ10sICRyb3dbJ2hvc3QnXSk7CisgICAgcHJpbnRmKCIlcyAoJXMp
XG4iLCAkcm93WyJOYW1lIl0sICRyb3dbIkNvdW50cnlDb2RlIl0pOwogfQotCi0/PgogXV0+CiAg
ICA8L3Byb2dyYW1saXN0aW5nPgogICAgJmV4YW1wbGUub3V0cHV0cy5zaW1pbGFyOwogICAgPHNj
cmVlbj4KIDwhW0NEQVRBWwotJ3Jvb3QnQCcxOTIuMTY4LjEuMScKLSdyb290J0AnMTI3LjAuMC4x
JwotJ2R1ZGUnQCdsb2NhbGhvc3QnCi0nbGVib3dza2knQCdsb2NhbGhvc3QnCitQdWVibG8gKFVT
QSkKK0FydmFkYSAoVVNBKQorQ2FwZSBDb3JhbCAoVVNBKQorR3JlZW4gQmF5IChVU0EpCitTYW50
YSBDbGFyYSAoVVNBKQogCiA9PT09PT09PT09PT09PT09PT0KK1B1ZWJsbyAoVVNBKQorQXJ2YWRh
IChVU0EpCitDYXBlIENvcmFsIChVU0EpCitHcmVlbiBCYXkgKFVTQSkKK1NhbnRhIENsYXJhIChV
U0EpCiAKLSdyb290J0AnMTkyLjE2OC4xLjEnCi0ncm9vdCdAJzEyNy4wLjAuMScKLSdkdWRlJ0An
bG9jYWxob3N0JwotJ2xlYm93c2tpJ0AnbG9jYWxob3N0JwogXV0+CiAgICA8L3NjcmVlbj4KICAg
PC9leGFtcGxlPgpkaWZmIC0tZ2l0IGEvcmVmZXJlbmNlL215c3FsaS9teXNxbGlfcmVzdWx0L2Zl
dGNoLW9iamVjdC54bWwgYi9yZWZlcmVuY2UvbXlzcWxpL215c3FsaV9yZXN1bHQvZmV0Y2gtb2Jq
ZWN0LnhtbAppbmRleCA1ZmVlNDljMGI4Li4yNjljY2RmZTkwIDEwMDY0NAotLS0gYS9yZWZlcmVu
Y2UvbXlzcWxpL215c3FsaV9yZXN1bHQvZmV0Y2gtb2JqZWN0LnhtbAorKysgYi9yZWZlcmVuY2Uv
bXlzcWxpL215c3FsaV9yZXN1bHQvZmV0Y2gtb2JqZWN0LnhtbApAQCAtMSw2ICsxLDYgQEAKIDw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8IS0tICRSZXZpc2lvbiQgLS0+
Ci08IS0tIEVOLVJldmlzaW9uOiBjMTQzNGM5NWZjNjY2YzIwY2RiZDFlMWQ5YTQxODNlMGQxMWZi
ODhjIE1haW50YWluZXI6IHRha2FnaSBTdGF0dXM6IHJlYWR5IC0tPgorPCEtLSBFTi1SZXZpc2lv
bjogY2E1YzQ3NzQzN2ZjYjIxNjgwNDA4YmY3ZTBjYzA0MjQ4NTNlNzkwNyBNYWludGFpbmVyOiB0
YWthZ2kgU3RhdHVzOiByZWFkeSAtLT4KIDwhLS0gQ1JFRElUUzogc2hpbW9va2EsbXVtdW11IC0t
PgogPHJlZmVudHJ5IHhtbDppZD0ibXlzcWxpLXJlc3VsdC5mZXRjaC1vYmplY3QiIHhtbG5zPSJo
dHRwOi8vZG9jYm9vay5vcmcvbnMvZG9jYm9vayI+CiAgPHJlZm5hbWVkaXY+CkBAIC0yNSwxNCAr
MjUsMTcgQEAKICAgIDxtZXRob2RwYXJhbSBjaG9pY2U9Im9wdCI+PHR5cGU+YXJyYXk8L3R5cGU+
PHBhcmFtZXRlcj5wYXJhbXM8L3BhcmFtZXRlcj48L21ldGhvZHBhcmFtPgogICA8L21ldGhvZHN5
bm9wc2lzPgogICA8cGFyYT4KLSAgIDxmdW5jdGlvbj5teXNxbGlfZmV0Y2hfb2JqZWN0PC9mdW5j
dGlvbj4g44Gv44CB57WQ5p6c44K744OD44OI44Gu54++5Zyo44Gu6KGM44KSCi0gICDjgqrjg5bj
grjjgqfjgq/jg4jjgafov5TjgZfjgb7jgZnjgILjgZPjga7jgqrjg5bjgrjjgqfjgq/jg4jjga/j
gIHntZDmnpzjgrvjg4Pjg4jjga7jg5XjgqPjg7zjg6vjg4nlkI3jgpIKLSAgIOWxnuaAp+OBqOOB
l+OBpuaMgeOBoeOBvuOBmeOAggotICA8L3BhcmE+Ci0gIDxwYXJhPgotICAgIDxmdW5jdGlvbj5t
eXNxbGlfZmV0Y2hfb2JqZWN0PC9mdW5jdGlvbj4g44GM44Kq44OW44K444Kn44Kv44OI44Gu44OX
44Ot44OR44OG44Kj44KS6Kit5a6a44GZ44KL44Gu44Gv44CBCi0gICAg44Kq44OW44K444Kn44Kv
44OI44Gu44Kz44Oz44K544OI44Op44Kv44K/44KS44Kz44O844Or44GZ44KL5YmN44Gn44GC44KL
44GT44Go44Gr5rOo5oSP44GX44G+44GX44KH44GG44CCCisgICDntZDmnpzjgrvjg4Pjg4jjga7n
j77lnKjjga7ooYzjgpLjgqrjg5bjgrjjgqfjgq/jg4jjgafov5TjgZfjgb7jgZnjgIIKKyAgIOOB
k+OBruOCquODluOCuOOCp+OCr+ODiOOBr+OAgee1kOaenOOCu+ODg+ODiOOBruODleOCo+ODvOOD
q+ODieWQjeOCkuWxnuaAp+OBqOOBl+OBpuaMgeOBoeOBvuOBmeOAggogICA8L3BhcmE+CisgIDxu
b3RlIHhtbG5zPSJodHRwOi8vZG9jYm9vay5vcmcvbnMvZG9jYm9vayI+CisgICA8c2ltcGFyYT4K
KyAgICAg44GT44Gu6Zai5pWw44GM44Kq44OW44K444Kn44Kv44OI44Gu44OX44Ot44OR44OG44Kj
44KS6Kit5a6a44GZ44KL44Gu44Gv44CBCisgICAgIOOCquODluOCuOOCp+OCr+ODiOOBruOCs+OD
s+OCueODiOODqeOCr+OCv+OCkuOCs+ODvOODq+OBmeOCi+WJjeOBp+OBguOCi+OBk+OBqOOBq+az
qOaEj+OBl+OBvuOBl+OCh+OBhuOAggorICAgPC9zaW1wYXJhPgorICA8L25vdGU+CisgICZkYXRh
YmFzZS5maWVsZC1jYXNlOworICAmZGF0YWJhc2UuZmV0Y2gtbnVsbDsKICA8L3JlZnNlY3QxPgog
CiAgPHJlZnNlY3QxIHJvbGU9InBhcmFtZXRlcnMiPgpAQCAtNjUsNzkgKzY4LDUyIEBACiAgPHJl
ZnNlY3QxIHJvbGU9InJldHVybnZhbHVlcyI+CiAgICZyZWZ0aXRsZS5yZXR1cm52YWx1ZXM7CiAg
IDxwYXJhPgotICAg5Y+W5b6X44GX44Gf6KGM44Gr5a++5b+c44GZ44KL5paH5a2X5YiX44OX44Ot
44OR44OG44Kj44KS5pyJ44GZ44KL44Kq44OW44K444Kn44Kv44OI44KS6L+U44GX44G+44GZ44CC
Ci0gICDjgoLjgZfntZDmnpzjgrvjg4Pjg4jjgavjgoLjgYbooYzjgYzjgarjgYTloLTlkIjjgavj
ga8gJm51bGw7IOOCkui/lOOBl+OBvuOBmeOAggorICAg5Y+W5b6X44GX44Gf6KGM44Gr5a++5b+c
44GZ44KL44Kq44OW44K444Kn44Kv44OI44KS6L+U44GX44G+44GZ44CCCisgICDntZDmnpzjgrvj
g4Pjg4jjgavjgoLjgYbooYzjgYzjgarjgYTloLTlkIjjgavjga8gJm51bGw7IOOCkui/lOOBl+OB
vuOBmeOAggogICA8L3BhcmE+Ci0gICZkYXRhYmFzZS5maWVsZC1jYXNlOwotICAmZGF0YWJhc2Uu
ZmV0Y2gtbnVsbDsKICA8L3JlZnNlY3QxPgogCiAgPHJlZnNlY3QxIHJvbGU9ImV4YW1wbGVzIj4K
ICAgJnJlZnRpdGxlLmV4YW1wbGVzOwogICA8ZXhhbXBsZT4KLSAgIDx0aXRsZT4mc3R5bGUub29w
OzwvdGl0bGU+CisgICA8dGl0bGU+PG1ldGhvZG5hbWU+bXlzcWxpX3Jlc3VsdDo6ZmV0Y2hfb2Jq
ZWN0PC9tZXRob2RuYW1lPiDjga7kvos8L3RpdGxlPgorICAgPHBhcmE+JnN0eWxlLm9vcDs8L3Bh
cmE+CiAgICA8cHJvZ3JhbWxpc3Rpbmcgcm9sZT0icGhwIj4KIDwhW0NEQVRBWwogPD9waHAKLSRt
eXNxbGkgPSBuZXcgbXlzcWxpKCJsb2NhbGhvc3QiLCAibXlfdXNlciIsICJteV9wYXNzd29yZCIs
ICJ3b3JsZCIpOwotCi0vKiDmjqXntprnirbms4HjgpLjg4Hjgqfjg4Pjgq/jgZfjgb7jgZkgKi8K
LWlmIChteXNxbGlfY29ubmVjdF9lcnJubygpKSB7Ci0gICAgcHJpbnRmKCJDb25uZWN0IGZhaWxl
ZDogJXNcbiIsIG15c3FsaV9jb25uZWN0X2Vycm9yKCkpOwotICAgIGV4aXQoKTsKLX0KLQotJHF1
ZXJ5ID0gIlNFTEVDVCBOYW1lLCBDb3VudHJ5Q29kZSBGUk9NIENpdHkgT1JERVIgYnkgSUQgREVT
QyBMSU1JVCA1MCw1IjsKIAotaWYgKCRyZXN1bHQgPSAkbXlzcWxpLT5xdWVyeSgkcXVlcnkpKSB7
CitteXNxbGlfcmVwb3J0KE1ZU1FMSV9SRVBPUlRfRVJST1IgfCBNWVNRTElfUkVQT1JUX1NUUklD
VCk7CiskbXlzcWxpID0gbmV3IG15c3FsaSgibG9jYWxob3N0IiwgIm15X3VzZXIiLCAibXlfcGFz
c3dvcmQiLCAid29ybGQiKTsKKyAKKyRxdWVyeSA9ICJTRUxFQ1QgTmFtZSwgQ291bnRyeUNvZGUg
RlJPTSBDaXR5IE9SREVSIEJZIElEIERFU0MiOwogCi0gICAgLyog44Kq44OW44K444Kn44Kv44OI
44Gu6YWN5YiX44KS5Y+W5b6X44GX44G+44GZICovCi0gICAgd2hpbGUgKCRvYmogPSAkcmVzdWx0
LT5mZXRjaF9vYmplY3QoKSkgewotICAgICAgICBwcmludGYgKCIlcyAoJXMpXG4iLCAkb2JqLT5O
YW1lLCAkb2JqLT5Db3VudHJ5Q29kZSk7Ci0gICAgfQorJHJlc3VsdCA9ICRteXNxbGktPnF1ZXJ5
KCRxdWVyeSk7CiAKLSAgICAvKiDntZDmnpzjgrvjg4Pjg4jjgpLplovmlL7jgZfjgb7jgZkgKi8K
LSAgICAkcmVzdWx0LT5jbG9zZSgpOworLyog44Kq44OW44K444Kn44Kv44OI44Gu6YWN5YiX44KS
5Y+W5b6X44GX44G+44GZICovCit3aGlsZSAoJG9iaiA9ICRyZXN1bHQtPmZldGNoX29iamVjdCgp
KSB7CisgICAgcHJpbnRmKCIlcyAoJXMpXG4iLCAkb2JqLT5OYW1lLCAkb2JqLT5Db3VudHJ5Q29k
ZSk7CiB9Ci0KLS8qIOaOpee2muOCkumWieOBmOOBvuOBmSAqLwotJG15c3FsaS0+Y2xvc2UoKTsK
LT8+CiBdXT4KICAgIDwvcHJvZ3JhbWxpc3Rpbmc+Ci0gIDwvZXhhbXBsZT4KLSAgPGV4YW1wbGU+
Ci0gICA8dGl0bGU+JnN0eWxlLnByb2NlZHVyYWw7PC90aXRsZT4KKyAgIDxwYXJhPiZzdHlsZS5w
cm9jZWR1cmFsOzwvcGFyYT4KICAgIDxwcm9ncmFtbGlzdGluZyByb2xlPSJwaHAiPgogPCFbQ0RB
VEFbCiA8P3BocAotJGxpbmsgPSBteXNxbGlfY29ubmVjdCgibG9jYWxob3N0IiwgIm15X3VzZXIi
LCAibXlfcGFzc3dvcmQiLCAid29ybGQiKTsKIAotLyog5o6l57aa54q25rOB44KS44OB44Kn44OD
44Kv44GX44G+44GZICovCi1pZiAobXlzcWxpX2Nvbm5lY3RfZXJybm8oKSkgewotICAgIHByaW50
ZigiQ29ubmVjdCBmYWlsZWQ6ICVzXG4iLCBteXNxbGlfY29ubmVjdF9lcnJvcigpKTsKLSAgICBl
eGl0KCk7Ci19Ci0KLSRxdWVyeSA9ICJTRUxFQ1QgTmFtZSwgQ291bnRyeUNvZGUgRlJPTSBDaXR5
IE9SREVSIGJ5IElEIERFU0MgTElNSVQgNTAsNSI7CitteXNxbGlfcmVwb3J0KE1ZU1FMSV9SRVBP
UlRfRVJST1IgfCBNWVNRTElfUkVQT1JUX1NUUklDVCk7CiskbGluayA9IG15c3FsaV9jb25uZWN0
KCJsb2NhbGhvc3QiLCAibXlfdXNlciIsICJteV9wYXNzd29yZCIsICJ3b3JsZCIpOwogCi1pZiAo
JHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbGluaywgJHF1ZXJ5KSkgeworJHF1ZXJ5ID0gIlNFTEVD
VCBOYW1lLCBDb3VudHJ5Q29kZSBGUk9NIENpdHkgT1JERVIgQlkgSUQgREVTQyI7CiAKLSAgICAv
KiDjgqrjg5bjgrjjgqfjgq/jg4jjga7phY3liJfjgpLlj5blvpfjgZfjgb7jgZkgKi8KLSAgICB3
aGlsZSAoJG9iaiA9IG15c3FsaV9mZXRjaF9vYmplY3QoJHJlc3VsdCkpIHsKLSAgICAgICAgcHJp
bnRmICgiJXMgKCVzKVxuIiwgJG9iai0+TmFtZSwgJG9iai0+Q291bnRyeUNvZGUpOwotICAgIH0K
KyRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJGxpbmssICRxdWVyeSk7CiAKLSAgICAvKiDntZDmnpzj
grvjg4Pjg4jjgpLplovmlL7jgZfjgb7jgZkgKi8KLSAgICBteXNxbGlfZnJlZV9yZXN1bHQoJHJl
c3VsdCk7CisvKiDpgKPmg7PphY3liJfjgpLlj5blvpfjgZfjgb7jgZkgKi8KK3doaWxlICgkb2Jq
ID0gbXlzcWxpX2ZldGNoX29iamVjdCgkcmVzdWx0KSkgeworICAgIHByaW50ZigiJXMgKCVzKVxu
IiwgJG9iai0+TmFtZSwgJG9iai0+Q291bnRyeUNvZGUpOwogfQotCi0vKiDmjqXntprjgpLplonj
gZjjgb7jgZkgKi8KLW15c3FsaV9jbG9zZSgkbGluayk7Ci0/PgogXV0+CiAgICA8L3Byb2dyYW1s
aXN0aW5nPgotICAgJmV4YW1wbGVzLm91dHB1dHM7CisgICAmZXhhbXBsZXMub3V0cHV0cy5zaW1p
bGFyOwogICAgPHNjcmVlbj4KIDwhW0NEQVRBWwogUHVlYmxvIChVU0EpCmRpZmYgLS1naXQgYS9y
ZWZlcmVuY2UvbXlzcWxpL215c3FsaV9yZXN1bHQvZmV0Y2gtcm93LnhtbCBiL3JlZmVyZW5jZS9t
eXNxbGkvbXlzcWxpX3Jlc3VsdC9mZXRjaC1yb3cueG1sCmluZGV4IDcwNzY3MTE1NzYuLjEyOGYw
MGVkNDggMTAwNjQ0Ci0tLSBhL3JlZmVyZW5jZS9teXNxbGkvbXlzcWxpX3Jlc3VsdC9mZXRjaC1y
b3cueG1sCisrKyBiL3JlZmVyZW5jZS9teXNxbGkvbXlzcWxpX3Jlc3VsdC9mZXRjaC1yb3cueG1s
CkBAIC0xLDYgKzEsNiBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
IDwhLS0gJFJldmlzaW9uJCAtLT4KLTwhLS0gRU4tUmV2aXNpb246IGMxNDM0Yzk1ZmM2NjZjMjBj
ZGJkMWUxZDlhNDE4M2UwZDExZmI4OGMgTWFpbnRhaW5lcjogdGFrYWdpIFN0YXR1czogcmVhZHkg
LS0+Cis8IS0tIEVOLVJldmlzaW9uOiBjYTVjNDc3NDM3ZmNiMjE2ODA0MDhiZjdlMGNjMDQyNDg1
M2U3OTA3IE1haW50YWluZXI6IHRha2FnaSBTdGF0dXM6IHJlYWR5IC0tPgogPCEtLSBDUkVESVRT
OiBzaGltb29rYSxtdW11bXUgLS0+CiA8cmVmZW50cnkgeG1sOmlkPSJteXNxbGktcmVzdWx0LmZl
dGNoLXJvdyIgeG1sbnM9Imh0dHA6Ly9kb2Nib29rLm9yZy9ucy9kb2Nib29rIj4KICA8cmVmbmFt
ZWRpdj4KQEAgLTI1LDkgKzI1LDEwIEBACiAgICDntZDmnpzjgrvjg4Pjg4jjgYvjgonjg4fjg7zj
gr/jgpIgMSDooYzlj5blvpfjgZfjgIHjgZ3jgozjgpLmlbDlgKTmt7vlrZfjga7phY3liJfjgacK
ICAgIOi/lOOBl+OBvuOBmeOAguWQhOOCq+ODqeODoOOBryAw77yI44K844Ot77yJ44GL44KJ5aeL
44G+44KL5re75a2X44Gr5qC857SN44GV44KM44G+44GZ44CCCiAgICA8ZnVuY3Rpb24+bXlzcWxp
X2ZldGNoX3JvdzwvZnVuY3Rpb24+IOmWouaVsOOCkue2muOBkeOBpuOCs+ODvOODq+OBmeOCi+OB
qOOAgQotICAg57WQ5p6c44K744OD44OI44Gu5qyh44Gu6KGM44KS6L+U44GX44G+44GZ44CC44KC
44GX44KC44GG6KGM44GM44Gq44GE5aC05ZCI44Gr44GvCisgICDntZDmnpzjgrvjg4Pjg4jjga7m
rKHjga7ooYzjgpLov5TjgZfjgb7jgZnjgILjgoLjgYbooYzjgYzjgarjgYTloLTlkIjjgavjga8K
ICAgICZudWxsOyDjgpLov5TjgZfjgb7jgZnjgIIKICAgPC9wYXJhPgorICAmZGF0YWJhc2UuZmV0
Y2gtbnVsbDsKICA8L3JlZnNlY3QxPgogCiAgPHJlZnNlY3QxIHJvbGU9InBhcmFtZXRlcnMiPgpA
QCAtNDIsNzggKzQzLDUyIEBACiAgPHJlZnNlY3QxIHJvbGU9InJldHVybnZhbHVlcyI+CiAgICZy
ZWZ0aXRsZS5yZXR1cm52YWx1ZXM7CiAgIDxwYXJhPgotICAgPGZ1bmN0aW9uPm15c3FsaV9mZXRj
aF9yb3c8L2Z1bmN0aW9uPiDjga/lj5blvpfjgZfjgZ/ooYzjgavlr77lv5zjgZnjgovmloflrZfl
iJfjga7phY3liJfjgpIKLSAgIOi/lOOBl+OBvuOBmeOAguOCguOBl+OCguOBhuihjOOBjOOBquOB
hOWgtOWQiOOBq+OBryAmbnVsbDsg44KS6L+U44GX44G+44GZ44CCCisgICA8ZnVuY3Rpb24+bXlz
cWxpX2ZldGNoX3JvdzwvZnVuY3Rpb24+IOOBr+WPluW+l+OBl+OBn+ihjOOBq+WvvuW/nOOBmeOC
i+WApOOBrumFjeWIl+OCkgorICAg6L+U44GX44G+44GZ44CC44KC44GG6KGM44GM44Gq44GE5aC0
5ZCI44Gr44GvICZudWxsOyDjgpLov5TjgZfjgb7jgZnjgIIKICAgPC9wYXJhPgotICAmZGF0YWJh
c2UuZmV0Y2gtbnVsbDsKICA8L3JlZnNlY3QxPgogCiAgPHJlZnNlY3QxIHJvbGU9ImV4YW1wbGVz
Ij4KICAgJnJlZnRpdGxlLmV4YW1wbGVzOwogICA8ZXhhbXBsZT4KLSAgIDx0aXRsZT4mc3R5bGUu
b29wOzwvdGl0bGU+CisgICA8dGl0bGU+PG1ldGhvZG5hbWU+bXlzcWxpX3Jlc3VsdDo6ZmV0Y2hf
cm93PC9tZXRob2RuYW1lPiDjga7kvos8L3RpdGxlPgorICAgPHBhcmE+JnN0eWxlLm9vcDs8L3Bh
cmE+CiAgICA8cHJvZ3JhbWxpc3Rpbmcgcm9sZT0icGhwIj4KIDwhW0NEQVRBWwogPD9waHAKLSRt
eXNxbGkgPSBuZXcgbXlzcWxpKCJsb2NhbGhvc3QiLCAibXlfdXNlciIsICJteV9wYXNzd29yZCIs
ICJ3b3JsZCIpOwogCi0vKiDmjqXntprnirbms4HjgpLjg4Hjgqfjg4Pjgq/jgZfjgb7jgZkgKi8K
LWlmIChteXNxbGlfY29ubmVjdF9lcnJubygpKSB7Ci0gICAgcHJpbnRmKCJDb25uZWN0IGZhaWxl
ZDogJXNcbiIsIG15c3FsaV9jb25uZWN0X2Vycm9yKCkpOwotICAgIGV4aXQoKTsKLX0KLQotJHF1
ZXJ5ID0gIlNFTEVDVCBOYW1lLCBDb3VudHJ5Q29kZSBGUk9NIENpdHkgT1JERVIgYnkgSUQgREVT
QyBMSU1JVCA1MCw1IjsKK215c3FsaV9yZXBvcnQoTVlTUUxJX1JFUE9SVF9FUlJPUiB8IE1ZU1FM
SV9SRVBPUlRfU1RSSUNUKTsKKyRteXNxbGkgPSBuZXcgbXlzcWxpKCJsb2NhbGhvc3QiLCAibXlf
dXNlciIsICJteV9wYXNzd29yZCIsICJ3b3JsZCIpOwogCi1pZiAoJHJlc3VsdCA9ICRteXNxbGkt
PnF1ZXJ5KCRxdWVyeSkpIHsKKyRxdWVyeSA9ICJTRUxFQ1QgTmFtZSwgQ291bnRyeUNvZGUgRlJP
TSBDaXR5IE9SREVSIEJZIElEIERFU0MiOwogCi0gICAgLyog6YWN5YiX44KS5Y+W5b6X44GX44G+
44GZICovCi0gICAgd2hpbGUgKCRyb3cgPSAkcmVzdWx0LT5mZXRjaF9yb3coKSkgewotICAgICAg
ICBwcmludGYgKCIlcyAoJXMpXG4iLCAkcm93WzBdLCAkcm93WzFdKTsKLSAgICB9CiskcmVzdWx0
ID0gJG15c3FsaS0+cXVlcnkoJHF1ZXJ5KTsKIAotICAgIC8qIOe1kOaenOOCu+ODg+ODiOOCkumW
i+aUvuOBl+OBvuOBmSAqLwotICAgICRyZXN1bHQtPmNsb3NlKCk7CisvKiDjgqrjg5bjgrjjgqfj
gq/jg4jjga7phY3liJfjgpLlj5blvpfjgZfjgb7jgZkgKi8KK3doaWxlICgkcm93ID0gJHJlc3Vs
dC0+ZmV0Y2hfcm93KCkpIHsKKyAgICBwcmludGYoIiVzICglcylcbiIsICRyb3dbMF0sICRyb3db
MV0pOwogfQotCi0vKiDmjqXntprjgpLplonjgZjjgb7jgZkgKi8KLSRteXNxbGktPmNsb3NlKCk7
Ci0/PgogXV0+CiAgICA8L3Byb2dyYW1saXN0aW5nPgotICA8L2V4YW1wbGU+Ci0gIDxleGFtcGxl
PgotICAgPHRpdGxlPiZzdHlsZS5wcm9jZWR1cmFsOzwvdGl0bGU+CisgICA8cGFyYT4mc3R5bGUu
cHJvY2VkdXJhbDs8L3BhcmE+CiAgICA8cHJvZ3JhbWxpc3Rpbmcgcm9sZT0icGhwIj4KIDwhW0NE
QVRBWwogPD9waHAKLSRsaW5rID0gbXlzcWxpX2Nvbm5lY3QoImxvY2FsaG9zdCIsICJteV91c2Vy
IiwgIm15X3Bhc3N3b3JkIiwgIndvcmxkIik7CiAKLS8qIOaOpee2mueKtuazgeOCkuODgeOCp+OD
g+OCr+OBl+OBvuOBmSAqLwotaWYgKG15c3FsaV9jb25uZWN0X2Vycm5vKCkpIHsKLSAgICBwcmlu
dGYoIkNvbm5lY3QgZmFpbGVkOiAlc1xuIiwgbXlzcWxpX2Nvbm5lY3RfZXJyb3IoKSk7Ci0gICAg
ZXhpdCgpOwotfQotCi0kcXVlcnkgPSAiU0VMRUNUIE5hbWUsIENvdW50cnlDb2RlIEZST00gQ2l0
eSBPUkRFUiBieSBJRCBERVNDIExJTUlUIDUwLDUiOworbXlzcWxpX3JlcG9ydChNWVNRTElfUkVQ
T1JUX0VSUk9SIHwgTVlTUUxJX1JFUE9SVF9TVFJJQ1QpOworJG15c3FsaSA9IG15c3FsaV9jb25u
ZWN0KCJsb2NhbGhvc3QiLCAibXlfdXNlciIsICJteV9wYXNzd29yZCIsICJ3b3JsZCIpOwogCi1p
ZiAoJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbGluaywgJHF1ZXJ5KSkgeworJHF1ZXJ5ID0gIlNF
TEVDVCBOYW1lLCBDb3VudHJ5Q29kZSBGUk9NIENpdHkgT1JERVIgQlkgSUQgREVTQyI7CiAKLSAg
ICAvKiDphY3liJfjgpLlj5blvpfjgZfjgb7jgZkgKi8KLSAgICB3aGlsZSAoJHJvdyA9IG15c3Fs
aV9mZXRjaF9yb3coJHJlc3VsdCkpIHsKLSAgICAgICAgcHJpbnRmICgiJXMgKCVzKVxuIiwgJHJv
d1swXSwgJHJvd1sxXSk7Ci0gICAgfQorJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAk
cXVlcnkpOwogCi0gICAgLyog57WQ5p6c44K744OD44OI44KS6ZaL5pS+44GX44G+44GZICovCi0g
ICAgbXlzcWxpX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworLyog6YCj5oOz6YWN5YiX44KS5Y+W5b6X
44GX44G+44GZICovCit3aGlsZSAoJHJvdyA9IG15c3FsaV9mZXRjaF9yb3coJHJlc3VsdCkpIHsK
KyAgICBwcmludGYoIiVzICglcylcbiIsICRyb3dbMF0sICRyb3dbMV0pOwogfQotCi0vKiDmjqXn
tprjgpLplonjgZjjgb7jgZkgKi8KLW15c3FsaV9jbG9zZSgkbGluayk7Ci0/PgogXV0+CiAgICA8
L3Byb2dyYW1saXN0aW5nPgotICAgJmV4YW1wbGVzLm91dHB1dHM7CisgICAmZXhhbXBsZXMub3V0
cHV0cy5zaW1pbGFyOwogICAgPHNjcmVlbj4KIDwhW0NEQVRBWwogUHVlYmxvIChVU0Ep

--2e3b526a35bf04f88d2ebc920ba73c960e3cc7b4--