svn: /phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/ docgen.php gtk/class.tpl gtk/signal.tpl

[email protected] (Justin Martin) Thu, 18 Nov 2010 20:35:59 +0000
Newsgroups php.gtk.doc
Message-ID <[email protected]>
--4036a30747a58b66f84f11ef408ccf79f004a3da
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

frozenfire                               Thu, 18 Nov 2010 20:35:59 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=305519

Log:
Added gtk-specific class and signal templates.
Modified docgen.php to generate signal and field stuff.

Changed paths:
    U   phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php
    A   phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/gtk/
    A   phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/gtk/class.tpl
    A   phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/gtk/signal.tpl


--4036a30747a58b66f84f11ef408ccf79f004a3da
Content-Type: text/x-diff; charset="utf-8"
Content-Disposition: attachment; filename="svn-diffs-305519.txt"
Content-Transfer-Encoding: base64

TW9kaWZpZWQ6IHBocGRvYy9kb2MtYmFzZS9icmFuY2hlcy9ndGstZG9jZ2VuL3NjcmlwdHMvZG9jZ2Vu
L2RvY2dlbi5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gcGhwZG9jL2RvYy1iYXNlL2JyYW5jaGVzL2d0ay1kb2NnZW4v
c2NyaXB0cy9kb2NnZW4vZG9jZ2VuLnBocAkyMDEwLTExLTE4IDIwOjMwOjE4IFVUQyAocmV2IDMwNTUx
OCkKKysrIHBocGRvYy9kb2MtYmFzZS9icmFuY2hlcy9ndGstZG9jZ2VuL3NjcmlwdHMvZG9jZ2VuL2Rv
Y2dlbi5waHAJMjAxMC0xMS0xOCAyMDozNTo1OSBVVEMgKHJldiAzMDU1MTkpCkBAIC0zNTIsNiArMzUy
LDYwIEBACiB9CiAvKiB9fX0gKi8KCitmdW5jdGlvbiBnZW5fc2lnbmFsX21hcmt1cChhcnJheSAkc2ln
bmFsLCAkY29udGVudCkgeyAvKiB7e3sgKi8KKwkvKiB7Q0xBU1NfTkFNRV9JRH0gKi8KKwkkY29udGVu
dCA9IHByZWdfcmVwbGFjZSgnL1x7Q0xBU1NfTkFNRV9JRFx9LycsIGZvcm1hdF9pZCgkc2lnbmFsWzJd
LT5uYW1lKSwgJGNvbnRlbnQpOworCisJLyoge1NJR05BTF9OQU1FX0lEfSAqLworCSRjb250ZW50ID0g
cHJlZ19yZXBsYWNlKCcvXHtTSUdOQUxfTkFNRV9JRFx9LycsIGZvcm1hdF9pZCgkc2lnbmFsWzFdKSwg
JGNvbnRlbnQpOworCisJLyoge1NJR05BTF9OQU1FfSAqLworCSRjb250ZW50ID0gcHJlZ19yZXBsYWNl
KCcvXHtTSUdOQUxfTkFNRVx9LycsICRzaWduYWxbMV0sICRjb250ZW50KTsKKworCWlmKCFlbXB0eSgk
c2lnbmFsWzVdKSkgeworCQkkaWRlbnQgPSBnZXRfaWRlbnRfc2l6ZSgkcGFyYW1fbmFtZSwgJGNvbnRl
bnQpOworCisJCS8qIHtTSUdOQUxfUEFSQU1FVEVSU30gKi8KKwkJJGNvdW50ID0gMTsKKwkJJG1hcmt1
cCA9ICIiOworCQlmb3JlYWNoKCRzaWduYWxbNV0gYXMgJHBhcmFtKSB7CisJCQkkdHlwZSA9ICRwYXJh
bS0+bmFtZTsKKwkJCSRtYXJrdXAgLj0gc3ByaW50ZigiJXM8bWV0aG9kcGFyYW0+PHR5cGU+JXM8L3R5
cGU+PHBhcmFtZXRlcj4lczwvcGFyYW1ldGVyPjwvbWV0aG9kcGFyYW0+XG4iLAorCQkJCSgkbWFya3Vw
ID8gc3RyX3JlcGVhdCgnICcsICRpZGVudCkgOiAnJyksCisJCQkJJHR5cGUsCisJCQkJJ3BhcmFtJy4g
JGNvdW50KTsKKwkJCSRjb3VudCsrOworCQl9CisJCSRjb250ZW50ID0gcHJlZ19yZXBsYWNlKCcvXHtT
SUdOQUxfUEFSQU1FVEVSU1x9LycsIHJ0cmltKCRtYXJrdXAsICJcbiIpLCAkY29udGVudCk7CisKKwkJ
Lyoge1BBUkFNRVRFUlNfREVTQ1JJUFRJT059ICovCisJCWlmICgkaWRlbnQgPSBnZXRfaWRlbnRfc2l6
ZSgnUEFSQU1FVEVSU19ERVNDUklQVElPTicsICRjb250ZW50KSkgeworCQkJJGNvdW50ID0gMTsKKwor
CQkJJG1hcmt1cCA9ICI8dmFyaWFibGVsaXN0PlxuIjsKKwkJCWZvcmVhY2ggKCRzaWduYWxbNV0gYXMg
JHBhcmFtKSB7CisJCQkJJG1hcmt1cCAuPSBzdHJfcmVwZWF0KCcgJywgJGlkZW50ICsgMSkgLiI8dmFy
bGlzdGVudHJ5PlxuIjsKKwkJCQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAkaWRlbnQgKyAyKSAu
Jzx0ZXJtPjxwYXJhbWV0ZXI+cGFyYW0nLiAkY291bnQgLiI8L3BhcmFtZXRlcj48L3Rlcm0+XG4iOwor
CQkJCSRtYXJrdXAgLj0gc3RyX3JlcGVhdCgnICcsICRpZGVudCArIDIpIC4iPGxpc3RpdGVtPlxuIjsK
KwkJCQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAkaWRlbnQgKyAzKSAuIjxwYXJhPlxuIjsKKwkJ
CQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAkaWRlbnQgKyA0KSAuIlxuIjsKKwkJCQkkbWFya3Vw
IC49IHN0cl9yZXBlYXQoJyAnLCAkaWRlbnQgKyAzKSAuIjwvcGFyYT5cbiI7CisJCQkJJG1hcmt1cCAu
PSBzdHJfcmVwZWF0KCcgJywgJGlkZW50ICsgMikgLiI8L2xpc3RpdGVtPlxuIjsKKwkJCQkkbWFya3Vw
IC49IHN0cl9yZXBlYXQoJyAnLCAkaWRlbnQgKyAxKSAuIjwvdmFybGlzdGVudHJ5PlxuIjsKKworCQkJ
CSRjb3VudCsrOworCQkJfQorCQkJJG1hcmt1cCAuPSBzdHJfcmVwZWF0KCcgJywgJGlkZW50KSAuIjwv
dmFyaWFibGVsaXN0PiI7CisKKwkJCSRjb250ZW50ID0gcHJlZ19yZXBsYWNlKCcvXHtQQVJBTUVURVJT
X0RFU0NSSVBUSU9OXH0vJywgJG1hcmt1cCwgJGNvbnRlbnQsIDEpOworCQl9CisJfSBlbHNlIHsKKwkJ
JGNvbnRlbnQgPSBwcmVnX3JlcGxhY2UoJy9ce1NJR05BTFx9LycsICc8dm9pZCAvPicsICRjb250ZW50
LCAxKTsKKwkJJGNvbnRlbnQgPSBwcmVnX3JlcGxhY2UoJy9ce1BBUkFNRVRFUlNfREVTQ1JJUFRJT05c
fS8nLCAnJm5vLmZ1bmN0aW9uLnBhcmFtZXRlcnM7JywgJGNvbnRlbnQsIDEpOworCX0KK30KKy8qIH19
fSAqLworCiBmdW5jdGlvbiBnZW5fbWFwcGluZ19tYXJrdXAoUmVmbGVjdGlvbk1ldGhvZCAkbWV0aG9k
LCBSZWZsZWN0aW9uRnVuY3Rpb24gJGZ1bmN0aW9uLCAkY29udGVudCkgeyAvKiB7e3sgKi8KIAlpZiAo
JG1ldGhvZC0+Z2V0TnVtYmVyT2ZQYXJhbWV0ZXJzKCkgfHwgJGZ1bmN0aW9uLT5nZXROdW1iZXJPZlBh
cmFtZXRlcnMoKSkgewogCQkvKiB7UEFSQU1FVEVSU19ERVNDUklQVElPTn0gKi8KQEAgLTQxNCw2ICs0
NjgsOCBAQAogLyogfX19ICovCgogZnVuY3Rpb24gZ2VuX2NsYXNzX21hcmt1cChSZWZsZWN0aW9uQ2xh
c3MgJGNsYXNzLCAkY29udGVudCkgeyAvKiB7e3sgKi8KKwlnbG9iYWwgJE9QVElPTjsKKwogCSRpZCA9
IGZvcm1hdF9pZCgkY2xhc3MtPmdldE5hbWUoKSk7CgogCS8qIHtDTEFTU19OQU1FfSAqLwpAQCAtNDU1
LDYgKzUxMSw3IEBACgogCS8qIHtDT05TVEFOVFNfTElTVH0gKi8KIAlpZiAoJGNvbnN0YW50cyA9ICRj
bGFzcy0+Z2V0Q29uc3RhbnRzKCkpIHsKKwkJaWYoJE9QVElPTlsiZ3RrIl0pICRjb25zdGFudHMgPSBh
cnJheSgiZ3R5cGUiPT4kY29uc3RhbnRzWyJndHlwZSJdKTsKIAkJJGlkZW50ID0gZ2V0X2lkZW50X3Np
emUoJ0NPTlNUQU5UU19MSVNUJywgJGNvbnRlbnQpOwogCQkkbWFya3VwID0gIjxjbGFzc3N5bm9wc2lz
aW5mbyByb2xlPVwiY29tbWVudFwiPkNvbnN0YW50czwvY2xhc3NzeW5vcHNpc2luZm8+XG4iOwoKQEAg
LTU1Myw4ICs2MTAsNjMgQEAKICAgICAJJGNvbnRlbnQgPSBwcmVnX3JlcGxhY2UoJy9ce1BST1BFUlRJ
RVNcfS8nLCAkbWFya3VwLCAkY29udGVudCwgMSk7CiAJfSBlbHNlIHsKIAkJJGNvbnRlbnQgPSBwcmVn
X3JlcGxhY2UoJy9eXHMqXHtQUk9QRVJUSUVTXH0uKj9cbi9tJywgJycsICRjb250ZW50LCAxKTsKLSAg
ICB9CisgICAJfQorCisgICAJaWYoJE9QVElPTlsiZ3RrIl0pIHsKKyAgIAkJLyoge0ZJRUxEU19MSVNU
fSAqLworICAgCQlpZigoJGNsYXNzLT5pc0luc3RhbnRpYWJsZSgpIHx8ICRjbGFzcy0+aXNJbnRlcmZh
Y2UpICYmIGlzX2ludCgkY2xhc3MtPmdldENvbnN0YW50KCJndHlwZSIpKSAmJiAkZ3RrZmllbGRzID0g
QEdPYmplY3Q6Omxpc3RfcHJvcGVydGllcygkY2xhc3MtPmdldENvbnN0YW50KCJndHlwZSIpKSAmJiAh
ZW1wdHkoJGd0a2ZpZWxkcykpIHsKKyAgIAkJCSRpZGVudCA9IGdldF9pZGVudF9zaXplKCdGSUVMRFNf
TElTVCcsICRjb250ZW50KTsKKworICAgCQkJJG1hcmt1cCA9ICI8Y2xhc3NzeW5vcHNpc2luZm8gcm9s
ZT1cImNvbW1lbnRcIj5GaWVsZHM8L2NsYXNzc3lub3BzaXNpbmZvPlxuIjsKKwkJCWZvcmVhY2ggKCRn
dGtmaWVsZHMgYXMgJGZpZWxkKSB7CisJCQkJJG1hcmt1cCAuPSBzdHJfcmVwZWF0KCcgJywgJGlkZW50
KSAuIjxmaWVsZHN5bm9wc2lzPlxuIjsKKwkJCQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAkaWRl
bnQgKyAxKSAuJzxtb2RpZmllcj4nLiAkZmllbGQtPnZhbHVlX3R5cGUtPm5hbWUgLiI8L21vZGlmaWVy
PlxuIjsKKwkJCQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAkaWRlbnQgKyAxKSAuJzx2YXJuYW1l
IGxpbmtlbmQ9IicuICRpZCAuJy5maWVsZHMuJy4gZm9ybWF0X2lkKCRmaWVsZC0+bmFtZSkgLiciPicu
ICRmaWVsZC0+bmFtZSAuIjwvdmFybmFtZT5cbiI7CisJCQkJJG1hcmt1cCAuPSBzdHJfcmVwZWF0KCcg
JywgJGlkZW50KSAuIjwvZmllbGRzeW5vcHNpcz5cbiI7CisJCQl9CgorCQkJJGNvbnRlbnQgPSBwcmVn
X3JlcGxhY2UoJy9ce0ZJRUxEU19MSVNUXH0vJywgJG1hcmt1cCwgJGNvbnRlbnQsIDEpOworCQl9IGVs
c2UgeworCQkJJGNvbnRlbnQgPSBwcmVnX3JlcGxhY2UoJy9eXHMqXHtGSUVMRFNfTElTVFx9Lio/XG4v
bScsICcnLCAkY29udGVudCwgMSk7CisJCX0KKworCQkvKiB7RklFTERTfSAqLworCQlpZiAoJGd0a2Zp
ZWxkcykgeworCQkJJGlkZW50ID0gZ2V0X2lkZW50X3NpemUoJ0ZJRUxEUycsICRjb250ZW50KTsKKwor
CQkJJG1hcmt1cCAgPSAiXG48IS0tIHt7eyAiLiAkY2xhc3MtPmdldE5hbWUoKSAuIiBmaWVsZHMgLS0+
XG4iOworCQkJJG1hcmt1cCAuPSBzdHJfcmVwZWF0KCcgJywgJGlkZW50KSAuIjxzZWN0aW9uIHhtbDpp
ZD1cIiIuICRpZCAuIi5maWVsZHNcIj5cbiI7CisJCQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAk
aWRlbnQgKyAxKSAuIiZyZWZ0aXRsZS5maWVsZHM7XG4iOworCQkJJG1hcmt1cCAuPSBzdHJfcmVwZWF0
KCcgJywgJGlkZW50ICsgMSkgLiI8dmFyaWFibGVsaXN0PlxuIjsKKworCQkJZm9yZWFjaCAoJGd0a2Zp
ZWxkcyBhcyAkZmllbGQpIHsKKwkJCQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAkaWRlbnQgKyAy
KSAuJzx2YXJsaXN0ZW50cnkgeG1sOmlkPSInLiAkaWQgLicuZmllbGRzLicuIGZvcm1hdF9pZCgkZmll
bGQtPm5hbWUpIC4iXCI+XG4iOworCQkJCSRtYXJrdXAgLj0gc3RyX3JlcGVhdCgnICcsICRpZGVudCAr
IDMpIC4nPHRlcm0+PHZhcm5hbWU+Jy4gJGZpZWxkLT5uYW1lIC4iPC92YXJuYW1lPjwvdGVybT5cbiI7
CisJICAgICAJCSRtYXJrdXAgLj0gc3RyX3JlcGVhdCgnICcsICRpZGVudCArIDMpIC4iPGxpc3RpdGVt
PlxuIjsKKwkgICAgICAJCSRtYXJrdXAgLj0gc3RyX3JlcGVhdCgnICcsICRpZGVudCArIDQpIC4iPHBh
cmE+PC9wYXJhPlxuIjsKKwkgICAgIAkJJG1hcmt1cCAuPSBzdHJfcmVwZWF0KCcgJywgJGlkZW50ICsg
MykgLiI8L2xpc3RpdGVtPlxuIjsKKwkgICAgCQkkbWFya3VwIC49IHN0cl9yZXBlYXQoJyAnLCAkaWRl
bnQgKyAyKSAuIjwvdmFybGlzdGVudHJ5PlxuIjsKKwkJCX0KKworCQkJJG1hcmt1cCAuPSBzdHJfcmVw
ZWF0KCcgJywgJGlkZW50ICsgMSkgLiI8L3ZhcmlhYmxlbGlzdD5cbiI7CisJICAJCSRtYXJrdXAgLj0g
c3RyX3JlcGVhdCgnICcsICRpZGVudCkgLiI8L3NlY3Rpb24+XG4iOworCSAgCQkkbWFya3VwIC49ICI8
IS0tIH19fSAtLT5cbiI7CisKKwkgICAgCQkkY29udGVudCA9IHByZWdfcmVwbGFjZSgnL1x7RklFTERT
XH0vJywgJG1hcmt1cCwgJGNvbnRlbnQsIDEpOworCQl9IGVsc2UgeworCQkJJGNvbnRlbnQgPSBwcmVn
X3JlcGxhY2UoJy9eXHMqXHtGSUVMRFNcfS4qP1xuL20nLCAnJywgJGNvbnRlbnQsIDEpOworCSAgIAl9
CisKKwkgICAJLyoge1NJR05BTFNfTElTVH0KKwkgICAJaWYoJGd0a3NpZ25hbHMgPSBHT2JqZWN0Ojpz
aWduYWxfbGlzdF9pZHMoJGNsYXNzLT5nZXRDb25zdGFudCgiZ3R5cGUiKSkpIHsKKwkgICAJCWZvcmVh
Y2goJGd0a3NpZ25hbHMgYXMgJiRzaWduYWwpICRzaWduYWwgPSBHT2JqZWN0OjpzaWduYWxfcXVlcnko
JHNpZ25hbCwgJGNsYXNzLT5nZXRDb25zdGFudCgiZ3R5cGUiKSk7CisKKwkgICAJCSRpZGVudCA9IGdl
dF9pZGVudF9zaXplKCdTSUdOQUxTX0xJU1QnLCAkY29udGVudCk7CisKKwkgICAJCSRtYXJrdXAgPSAi
XG4iOworCSAgIAl9ICovCisgICAJfQorCiAJLyoge1BST1BFUlRZX1hJTkNMVURFfSAqLwogCSRjb250
ZW50ID0gcHJlZ19yZXBsYWNlKCcvXHtQUk9QRVJUWV9YSU5DTFVERVx9LycsCiAJCSI8eGk6aW5jbHVk
ZSB4cG9pbnRlcj1cInhtbG5zKGRiPWh0dHA6Ly9kb2Nib29rLm9yZy9ucy9kb2Nib29rKSB4cG9pbnRl
cihpZCgnY2xhc3MuIi4gJGlkIC4iJykvZGI6cmVmZW50cnkvZGI6cmVmc2VjdDFbQHJvbGU9J2Rlc2Ny
aXB0aW9uJ10vZGVzY2VuZGFudDo6ZGI6ZmllbGRzeW5vcHNpc1sxXSlcIiAvPlxuIiwKQEAgLTczMCw3
ICs4NDIsNyBAQAogfQogLyogfX19ICovCgotZnVuY3Rpb24gd3JpdGVfZG9jKFJlZmxlY3RvciAkb2Jq
LCAkdHlwZSkgeyAvKiB7e3sgKi8KK2Z1bmN0aW9uIHdyaXRlX2RvYygkb2JqLCAkdHlwZSkgeyAvKiB7
e3sgKi8KIAlnbG9iYWwgJE9QVElPTiwgJElORk8sICRURU1QTEFURSwgJERPQ19FWFQ7CgogCXN3aXRj
aCAoJHR5cGUpIHsKQEAgLTgxOCw2ICs5MzAsMjUgQEAKIAkJCSRjb250ZW50ID0gc3RyX3JlcGxhY2Uo
J3tERUZBVUxUX1NFRUFMU099JywgZ2V0X2RlZmF1bHRfcm9sZSgnc2VlYWxzbycsICRvYmotPmdldE5h
bWUoKSwgJE9QVElPTlsnc2VlYWxzbyddKSwgJGNvbnRlbnQpOwogCQkJc2F2ZV9maWxlKCRmaWxlbmFt
ZSwgZ2xvYmFsX2NoZWNrKCRjb250ZW50KSk7CiAJCWJyZWFrOworCisJCWNhc2UgRE9DX1NJR05BTDoK
KwkJCSRwYXRoID0gJE9QVElPTlsnb3V0cHV0J10gLicvJy4gc3RydG9sb3dlcigkb2JqWzJdLT5uYW1l
KSAuJy9zaWduYWxzJzsKKwkJCSRmaWxlbmFtZSA9ICRwYXRoIC4nLycuIGZvcm1hdF9maWxlbmFtZSgk
b2JqWzFdKSAuJy54bWwnOworCisJCQljcmVhdGVfZGlyKCRwYXRoKTsKKworCQkJZWNobyAiR2VuZXJh
dGluZyBzaWduYWwgeyRvYmpbMV19OiB7JGZpbGVuYW1lfSIuUEhQX0VPTDsKKworCQkJJElORk9bJ2Fj
dHVhbF9maWxlJ10gPSAkZmlsZW5hbWU7CisKKwkJCSRjb250ZW50ID0gZmlsZV9nZXRfY29udGVudHMo
ZGlybmFtZShfX0ZJTEVfXykgLicvJy4gJFRFTVBMQVRFWyR0eXBlXSk7CisJCQkkY29udGVudCA9IGdl
bl9zaWduYWxfbWFya3VwKCRvYmosICRjb250ZW50KTsKKwkJCSRjb250ZW50ID0gc3RyX3JlcGxhY2Uo
J3tERUZBVUxUX0VYQU1QTEV9JywgZ2V0X2RlZmF1bHRfcm9sZSgnZXhhbXBsZScsICJ7JG9ialsyXS0+
bmFtZX06Onskb2JqWzFdfSIsICRPUFRJT05bJ2V4YW1wbGUnXSksICRjb250ZW50KTsKKworCQkJJGNv
bnRlbnQgPSBzdHJfcmVwbGFjZSgne0RFRkFVTFRfU0VFQUxTT30nLCBnZXRfZGVmYXVsdF9yb2xlKCdz
ZWVhbHNvJywgInskb2JqWzJdLT5uYW1lfTo6eyRvYmpbMV19IiwgJE9QVElPTlsnc2VlYWxzbyddKSwg
JGNvbnRlbnQpOworCisJCQlzYXZlX2ZpbGUoJGZpbGVuYW1lLCBnbG9iYWxfY2hlY2soJGNvbnRlbnQp
KTsKKwkJYnJlYWs7CiAJfQogfQogLyogfX19ICovCkBAIC04NDEsNyArOTcyLDcgQEAKIAkJCQkJZWNo
byAiR2VuZXJhdGluZyAiLmJhc2VuYW1lKCRleHQpLiIgUEhQLUdUSyBzdWItZXh0ZW5zaW9uLiIuUEhQ
X0VPTDsKIAkJCQkJJGNsYXNzZXMgPSBhcnJheSgpOwogCQkJCQkkT1BUSU9OWyJvdXRwdXQiXSA9ICRP
UFRJT05bIm91dHB1dCJdLiRkaXJzZXAuYmFzZW5hbWUoJGV4dCk7Ci0JCQkJCW1rZGlyKCRPUFRJT05b
Im91dHB1dCJdKTsKKwkJCQkJY3JlYXRlX2RpcigkT1BUSU9OWyJvdXRwdXQiXSk7CgogCQkJCQkkZGVm
cyA9IGdsb2IoInskZXh0fXskZGlyc2VwfSouZGVmcyIpOwogCQkJCQlpZihlbXB0eSgkZGVmcykpIGNv
bnRpbnVlOwpAQCAtODcwLDkgKzEwMDEsMTYgQEAKIAkJCQkJCQllbHNlaWYoaXNfaW50KHN0cmlwb3Mo
JGNsYXNzdG1wLCAiR2RrIikpKSAkT1BUSU9OWyJvdXRwdXQiXSA9ICRPUFRJT05bIm91dHB1dCJdLiJ7
JGRpcnNlcH1nZGsiOwogCQkJCQkJCWVsc2VpZihpc19pbnQoc3RyaXBvcygkY2xhc3N0bXAsICJQYW5n
byIpKSkgJE9QVElPTlsib3V0cHV0Il0gPSAkT1BUSU9OWyJvdXRwdXQiXS4ieyRkaXJzZXB9cGFuZ28i
OwoKLQkJCQkJCQlpZighaXNfZGlyKCRPUFRJT05bIm91dHB1dCJdKSkgbWtkaXIoJE9QVElPTlsib3V0
cHV0Il0pOworCQkJCQkJCWNyZWF0ZV9kaXIoJE9QVElPTlsib3V0cHV0Il0pOwogCQkJCQkJfQogCQkJ
CQkJZ2VuX2RvY3MoJGNsYXNzLT5uYW1lLCBET0NfQ0xBU1MpOworCisJCQkJCQlpZigoJGNsYXNzLT5p
c0luc3RhbnRpYWJsZSgpIHx8ICRjbGFzcy0+aXNJbnRlcmZhY2UoKSkgJiYgJHNpZ25hbHMgPSBAR09i
amVjdDo6c2lnbmFsX2xpc3RfaWRzKCRjbGFzcy0+Z2V0Q29uc3RhbnQoImd0eXBlIikpICYmICFlbXB0
eSgkc2lnbmFscykpIGZvcmVhY2goJHNpZ25hbHMgYXMgJHNpZ25hbCkgeworCQkJCQkJCSRzaWduYWwg
PSBHT2JqZWN0OjpzaWduYWxfcXVlcnkoJHNpZ25hbCwgJGNsYXNzLT5nZXRDb25zdGFudCgiZ3R5cGUi
KSk7CisKKwkJCQkJCQl3cml0ZV9kb2MoJHNpZ25hbCwgRE9DX1NJR05BTCk7CisJCQkJCQl9CisKIAkJ
CQkJCWlmKGJhc2VuYW1lKCRleHQpID09ICJndGsrIikgJE9QVElPTlsib3V0cHV0Il0gPSAkY2xhc3NM
ZXZlbE91dHB1dDsKIAkJCQkJfQogCQkJCQkkT1BUSU9OWyJvdXRwdXQiXSA9ICRpbml0aWFsT3V0cHV0
OwpAQCAtMTIwNCw2ICsxMzQyLDEyIEBACiAJZ2VuX2RvY3MoJE9QVElPTlsnZnVuY3Rpb24nXSwgRE9D
X0ZVTkNUSU9OKTsKIH0KCitpZiAoIWVtcHR5KCRPUFRJT05bJ2d0ayddKSkgeworCWRlZmluZSgnRE9D
X1NJR05BTCcsIDE8PDUpOworCSRURU1QTEFURVtET0NfQ0xBU1NdID0gJ2d0ay9jbGFzcy50cGwnOwor
CSRURU1QTEFURVtET0NfU0lHTkFMXSA9ICdndGsvc2lnbmFsLnRwbCc7Cit9CisKIGlmICghZW1wdHko
JE9QVElPTlsnbWV0aG9kJ10pKSB7CiAJZ2VuX2RvY3MoJE9QVElPTlsnbWV0aG9kJ10sIERPQ19NRVRI
T0QpOwogfQoKQWRkZWQ6IHBocGRvYy9kb2MtYmFzZS9icmFuY2hlcy9ndGstZG9jZ2VuL3NjcmlwdHMv
ZG9jZ2VuL2d0ay9jbGFzcy50cGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGhwZG9jL2RvYy1iYXNlL2JyYW5jaGVzL2d0
ay1kb2NnZW4vc2NyaXB0cy9kb2NnZW4vZ3RrL2NsYXNzLnRwbAkgICAgICAgICAgICAgICAgICAgICAg
ICAocmV2IDApCisrKyBwaHBkb2MvZG9jLWJhc2UvYnJhbmNoZXMvZ3RrLWRvY2dlbi9zY3JpcHRzL2Rv
Y2dlbi9ndGsvY2xhc3MudHBsCTIwMTAtMTEtMTggMjA6MzU6NTkgVVRDIChyZXYgMzA1NTE5KQpAQCAt
MCwwICsxLDc3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgore0VNUFRZ
X1JFVklTSU9OX0tFWVdPUkR9CisKKzxwaHBkb2M6Y2xhc3NyZWYgeG1sOmlkPSJjbGFzcy57Q0xBU1Nf
TkFNRV9JRH0iIHhtbG5zOnBocGRvYz0iaHR0cDovL3BocC5uZXQvbnMvcGhwZG9jIiB4bWxucz0iaHR0
cDovL2RvY2Jvb2sub3JnL25zL2RvY2Jvb2siIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZSI+CisKKyA8
dGl0bGU+VGhlIHtDTEFTU19OQU1FfSBjbGFzczwvdGl0bGU+CisgPHRpdGxlYWJicmV2PntDTEFTU19O
QU1FfTwvdGl0bGVhYmJyZXY+CisKKyA8cGFydGludHJvPgorCis8IS0tIHt7eyB7Q0xBU1NfTkFNRX0g
aW50cm8gLS0+CisgIDxzZWN0aW9uIHhtbDppZD0ie0NMQVNTX05BTUVfSUR9LmludHJvIj4KKyAgICZy
ZWZ0aXRsZS5pbnRybzsKKyAgIDxwYXJhPgorCisgICA8L3BhcmE+CisgIDwvc2VjdGlvbj4KKzwhLS0g
fX19IC0tPgorCisgIDxzZWN0aW9uIHhtbDppZD0ie0NMQVNTX05BTUVfSUR9LnN5bm9wc2lzIj4KKyAg
ICZyZWZ0aXRsZS5jbGFzc3N5bm9wc2lzOworCis8IS0tIHt7eyBTeW5vcHNpcyAtLT4KKyAgIDxjbGFz
c3N5bm9wc2lzPgorICAgIDxvb2NsYXNzPjxjbGFzc25hbWU+e0NMQVNTX05BTUV9PC9jbGFzc25hbWU+
PC9vb2NsYXNzPgorCis8IS0tIHt7eyBDbGFzcyBzeW5vcHNpcyAtLT4KKyAgICA8Y2xhc3NzeW5vcHNp
c2luZm8+CisgICAgIDxvb2NsYXNzPgorICAgICAgPGNsYXNzbmFtZT57Q0xBU1NfTkFNRX08L2NsYXNz
bmFtZT4KKyAgICAgPC9vb2NsYXNzPgorICAgICB7RVhURU5EU30KKyAgICAge0lNUExFTUVOVFN9Cisg
ICAgPC9jbGFzc3N5bm9wc2lzaW5mbz4KKzwhLS0gfX19IC0tPgorICAgIHtDT05TVEFOVFNfTElTVH0K
KyAgICB7UFJPUEVSVElFU19MSVNUfQorICAgIHtGSUVMRFNfTElTVH0KKyAgICB7TUVUSE9EX1hJTkNM
VURFfQorICAgIHtJTkhFUklURURfWElOQ0xVREV9CisgICA8L2NsYXNzc3lub3BzaXM+Cis8IS0tIH19
fSAtLT4KKworICA8L3NlY3Rpb24+CisKKyAge1BST1BFUlRJRVN9CisgIHtDT05TVEFOVFN9CisgIHtG
SUVMRFN9CisKKyA8L3BhcnRpbnRybz4KKworICZyZWZlcmVuY2Uue0VYVF9OQU1FX0lEfS5lbnRpdGll
cy57Q0xBU1NfTkFNRV9JRH07CisKKyAmcmVmZXJlbmNlLntFWFRfTkFNRV9JRH0uZW50aXRpZXMuc2ln
bmFscy57Q0xBU1NfTkFNRV9JRH07CisKKzwvcGhwZG9jOmNsYXNzcmVmPgorCis8IS0tIEtlZXAgdGhp
cyBjb21tZW50IGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUKK0xvY2FsIHZhcmlhYmxlczoKK21vZGU6IHNn
bWwKK3NnbWwtb21pdHRhZzp0CitzZ21sLXNob3J0dGFnOnQKK3NnbWwtbWluaW1pemUtYXR0cmlidXRl
czpuaWwKK3NnbWwtYWx3YXlzLXF1b3RlLWF0dHJpYnV0ZXM6dAorc2dtbC1pbmRlbnQtc3RlcDoxCitz
Z21sLWluZGVudC1kYXRhOnQKK2luZGVudC10YWJzLW1vZGU6bmlsCitzZ21sLXBhcmVudC1kb2N1bWVu
dDpuaWwKK3NnbWwtZGVmYXVsdC1kdGQtZmlsZToifi8ucGhwZG9jL21hbnVhbC5jZWQiCitzZ21sLWV4
cG9zZWQtdGFnczpuaWwKK3NnbWwtbG9jYWwtY2F0YWxvZ3M6bmlsCitzZ21sLWxvY2FsLWVjYXQtZmls
ZXM6bmlsCitFbmQ6Cit2aW02MDA6IHN5bj14bWwgZmVuIGZkbT1zeW50YXggZmRsPTIgc2kKK3ZpbTog
ZXQgdHc9Nzggc3luPXNnbWwKK3ZpOiB0cz0xIHN3PTEKKy0tPgoKQWRkZWQ6IHBocGRvYy9kb2MtYmFz
ZS9icmFuY2hlcy9ndGstZG9jZ2VuL3NjcmlwdHMvZG9jZ2VuL2d0ay9zaWduYWwudHBsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHBocGRvYy9kb2MtYmFzZS9icmFuY2hlcy9ndGstZG9jZ2VuL3NjcmlwdHMvZG9jZ2VuL2d0ay9z
aWduYWwudHBsCSAgICAgICAgICAgICAgICAgICAgICAgIChyZXYgMCkKKysrIHBocGRvYy9kb2MtYmFz
ZS9icmFuY2hlcy9ndGstZG9jZ2VuL3NjcmlwdHMvZG9jZ2VuL2d0ay9zaWduYWwudHBsCTIwMTAtMTEt
MTggMjA6MzU6NTkgVVRDIChyZXYgMzA1NTE5KQpAQCAtMCwwICsxLDU4IEBACis8P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgore0VNUFRZX1JFVklTSU9OX0tFWVdPUkR9CisKKzxyZWZl
bnRyeSB4bWw6aWQ9IntDTEFTU19OQU1FX0lEfS5zaWduYWxzLntTSUdOQUxfTkFNRV9JRH0iIHhtbG5z
PSJodHRwOi8vZG9jYm9vay5vcmcvbnMvZG9jYm9vayIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGxpbmsiPgorIDxyZWZuYW1lZGl2PgorICA8cmVmbmFtZT57U0lHTkFMX05BTUV9PC9y
ZWZuYW1lPgorICA8cmVmcHVycG9zZT5EZXNjcmlwdGlvbjwvcmVmcHVycG9zZT4KKyA8L3JlZm5hbWVk
aXY+CisKKyA8cmVmc2VjdDEgcm9sZT0iZGVzY3JpcHRpb24iPgorICAmcmVmdGl0bGUuZGVzY3JpcHRp
b247CisgIDxtZXRob2RzeW5vcHNpcz4KKyAgIDx0eXBlPlJldHVyblR5cGU8L3R5cGU+PG1ldGhvZG5h
bWU+e1NJR05BTF9OQU1FfTwvbWV0aG9kbmFtZT4KKyAgIHtTSUdOQUxfUEFSQU1FVEVSU30KKyAgPC9t
ZXRob2RzeW5vcHNpcz4KKyAgPHBhcmE+CisKKyAgPC9wYXJhPgorCisgICZ3YXJuLnVuZG9jdW1lbnRl
ZC5mdW5jOworCisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MSByb2xlPSJwYXJhbWV0ZXJzIj4KKyAg
JnJlZnRpdGxlLnBhcmFtZXRlcnM7CisgIHtQQVJBTUVURVJTX0RFU0NSSVBUSU9OfQorIDwvcmVmc2Vj
dDE+CisKKyA8cmVmc2VjdDEgcm9sZT0icmV0dXJudmFsdWVzIj4KKyAgJnJlZnRpdGxlLnJldHVybnZh
bHVlczsKKyAgPHBhcmE+CisKKyAgPC9wYXJhPgorIDwvcmVmc2VjdDE+Cit7REVGQVVMVF9FWEFNUExF
fQore0RFRkFVTFRfU0VFQUxTT30KKzwvcmVmZW50cnk+CisKKzwhLS0gS2VlcCB0aGlzIGNvbW1lbnQg
YXQgdGhlIGVuZCBvZiB0aGUgZmlsZQorTG9jYWwgdmFyaWFibGVzOgorbW9kZTogc2dtbAorc2dtbC1v
bWl0dGFnOnQKK3NnbWwtc2hvcnR0YWc6dAorc2dtbC1taW5pbWl6ZS1hdHRyaWJ1dGVzOm5pbAorc2dt
bC1hbHdheXMtcXVvdGUtYXR0cmlidXRlczp0CitzZ21sLWluZGVudC1zdGVwOjEKK3NnbWwtaW5kZW50
LWRhdGE6dAoraW5kZW50LXRhYnMtbW9kZTpuaWwKK3NnbWwtcGFyZW50LWRvY3VtZW50Om5pbAorc2dt
bC1kZWZhdWx0LWR0ZC1maWxlOiJ+Ly5waHBkb2MvbWFudWFsLmNlZCIKK3NnbWwtZXhwb3NlZC10YWdz
Om5pbAorc2dtbC1sb2NhbC1jYXRhbG9nczpuaWwKK3NnbWwtbG9jYWwtZWNhdC1maWxlczpuaWwKK0Vu
ZDoKK3ZpbTYwMDogc3luPXhtbCBmZW4gZmRtPXN5bnRheCBmZGw9MiBzaQordmltOiBldCB0dz03OCBz
eW49c2dtbAordmk6IHRzPTEgc3c9MQorLS0+Cg==
--4036a30747a58b66f84f11ef408ccf79f004a3da--