[pgAdmin][RM4633] Bad view in partitioned tables

Akshay Joshi <[email protected]> Fri, 3 Jan 2020 16:58:36 +0530
Newsgroups gmane.comp.db.postgresql.pgadmin.devel
Message-ID <CANxoLDcU_NqABtQA2H5zsFjK6Pb8evdGOBoNGxekvx9KroRmow@mail.gmail.com>
--000000000000fb4f2f059b3a9c5a
Content-Type: multipart/alternative; boundary="000000000000fb4f2d059b3a9c58"

--000000000000fb4f2d059b3a9c58
Content-Type: text/plain; charset="UTF-8"

Hi Hackers

Attached is the patch to support the view part of the multilevel
partitions. Users can perform all the operations except creating the
partitions as a partitioned table. Users can create a partition table
separately and attach it as a partition of another partition table.

There are two problems mentioned in the RM. I have fixed the first one and
we won't fix the second problem as by design we decided to show Partitions
like Schema->Table->Partitions

Please review it.
-- 
*Thanks & Regards*
*Akshay Joshi*

*Sr. Software Architect*
*EnterpriseDB Software India Private Limited*
*Mobile: +91 976-788-8246*

--000000000000fb4f2d059b3a9c58
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Hackers<div><br></div><div>Attached=C2=A0is the patch t=
o support the view part of the multilevel partitions. Users can perform all=
 the operations except creating the partitions as a partitioned table. User=
s can create a partition table separately and attach it as a partition of a=
nother partition table.</div><div><br></div><div>There are two problems men=
tioned in the RM. I have fixed the first one and we won&#39;t fix the secon=
d problem as by design we decided to show Partitions like Schema-&gt;Table-=
&gt;Partitions</div><div><br></div><div>Please review it.</div><div>-- <br>=
<div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signatur=
e"><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div dir=3D=
"ltr"><div dir=3D"ltr"><div><font color=3D"#3333FF"><b><span style=3D"color=
:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;border-collapse:col=
lapse">Thanks &amp; Regards</span></b></font></div><div><font color=3D"#333=
3FF"><b><span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif;font-s=
ize:13px;border-collapse:collapse">Akshay Joshi</span></b></font></div><div=
><font color=3D"#3333FF"><b><span style=3D"color:rgb(0,0,0);font-family:ari=
al,sans-serif;font-size:13px;border-collapse:collapse">Sr. Software Archite=
ct<br></span></b></font></div><div><span style=3D"border-collapse:collapse"=
><font color=3D"#000000" face=3D"arial, sans-serif"><b>EnterpriseDB Softwar=
e India Private Limited</b></font><br></span></div><div><b style=3D"color:r=
gb(51,51,255)"><span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif=
;font-size:13px;border-collapse:collapse">Mobile: +91 976-788-8246</span></=
b><br></div></div></div></div></div></div></div></div></div></div></div>

--000000000000fb4f2d059b3a9c58--
--000000000000fb4f2f059b3a9c5a
Content-Type: application/octet-stream; name="RM_4633.patch"
Content-Disposition: attachment; filename="RM_4633.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_k4y1xz3o0>
X-Attachment-Id: f_k4y1xz3o0

ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh
dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25zL19faW5pdF9fLnB5IGIvd2ViL3BnYWRt
aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz
L3BhcnRpdGlvbnMvX19pbml0X18ucHkKaW5kZXggMTExODBhZDg1Li43MmRiYjVkMjQgMTAwNjQ0
Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl
cy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25zL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWlu
L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9w
YXJ0aXRpb25zL19faW5pdF9fLnB5CkBAIC0yMDAsNTIgKzIwMCwyNyBAQCBjbGFzcyBQYXJ0aXRp
b25zVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgog
CiAgICAgfSkKIAotICAgIGRlZiBjaGlsZHJlbihzZWxmLCAqKmt3YXJncyk6Ci0gICAgICAgICIi
IkJ1aWxkIGEgbGlzdCBvZiB0cmVldmlldyBub2RlcyBmcm9tIHRoZSBjaGlsZCBub2Rlcy4iIiIK
LQotICAgICAgICBpZiAnc2lkJyBub3QgaW4ga3dhcmdzOgotICAgICAgICAgICAgcmV0dXJuIHBy
ZWNvbmRpdGlvbl9yZXF1aXJlZCgKLSAgICAgICAgICAgICAgICBnZXR0ZXh0KCdSZXF1aXJlZCBw
cm9wZXJ0aWVzIGFyZSBtaXNzaW5nLicpCi0gICAgICAgICAgICApCi0KLSAgICAgICAgZnJvbSBw
Z2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgotICAgICAgICBtYW5hZ2VyID0g
Z2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKAotICAgICAg
ICAgICAgc2lkPWt3YXJnc1snc2lkJ10KLSAgICAgICAgKQotCi0gICAgICAgIGRpZCA9IE5vbmUK
LSAgICAgICAgaWYgJ2RpZCcgaW4ga3dhcmdzOgotICAgICAgICAgICAgZGlkID0ga3dhcmdzWydk
aWQnXQotCi0gICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWRpZCkKLQotICAg
ICAgICBpZiBub3QgY29ubi5jb25uZWN0ZWQoKToKLSAgICAgICAgICAgIHJldHVybiBwcmVjb25k
aXRpb25fcmVxdWlyZWQoCi0gICAgICAgICAgICAgICAgZ2V0dGV4dCgKLSAgICAgICAgICAgICAg
ICAgICAgIkNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBoYXMgYmVlbiBsb3N0LiIKLSAgICAgICAg
ICAgICAgICApCi0gICAgICAgICAgICApCi0KKyAgICBkZWYgX2dldF9jaGlsZHJlbl9ub2Rlcyhz
ZWxmLCBtYW5hZ2VyLCAqKmt3YXJncyk6CiAgICAgICAgIG5vZGVzID0gW10KKyAgICAgICAgIyB0
cmVhdCBwYXJ0aXRpb24gdGFibGUgYXMgbm9ybWFsIHRhYmxlLgorICAgICAgICAjIHJlcGxhY2Ug
dGlkIHdpdGggcHRpZCBhbmQgcG9wIHB0aWQgZnJvbSBrd2FyZ3MKKyAgICAgICAgaWYgJ3B0aWQn
IGluIGt3YXJnczoKKyAgICAgICAgICAgIHB0aWQgPSBrd2FyZ3MucG9wKCdwdGlkJykKKyAgICAg
ICAgICAgIGt3YXJnc1sndGlkJ10gPSBwdGlkCisKICAgICAgICAgZm9yIG1vZHVsZSBpbiBzZWxm
LmJsdWVwcmludC5zdWJtb2R1bGVzOgogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShtb2R1bGUs
IFBHQ2hpbGRNb2R1bGUpOgogICAgICAgICAgICAgICAgIGlmIG1hbmFnZXIgaXMgbm90IE5vbmUg
YW5kIFwKICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5CYWNrZW5kU3VwcG9ydGVkKG1h
bmFnZXIsICoqa3dhcmdzKToKLSAgICAgICAgICAgICAgICAgICAgIyB0cmVhdCBwYXJ0aXRpb24g
dGFibGUgYXMgbm9ybWFsIHRhYmxlLgotICAgICAgICAgICAgICAgICAgICAjIHJlcGxhY2UgdGlk
IHdpdGggcHRpZCBhbmQgcG9wIHB0aWQgZnJvbSBrd2FyZ3MKLSAgICAgICAgICAgICAgICAgICAg
aWYgJ3B0aWQnIGluIGt3YXJnczoKLSAgICAgICAgICAgICAgICAgICAgICAgIHB0aWQgPSBrd2Fy
Z3MucG9wKCdwdGlkJykKLSAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1sndGlkJ10gPSBw
dGlkCiAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCoq
a3dhcmdzKSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgbm9kZXMuZXh0ZW5k
KG1vZHVsZS5nZXRfbm9kZXMoKiprd2FyZ3MpKQogCi0gICAgICAgICMgUmV0dXJuIHNvcnRlZCBu
b2RlcyBiYXNlZCBvbiBsYWJlbAotICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAot
ICAgICAgICAgICAgZGF0YT1zb3J0ZWQoCi0gICAgICAgICAgICAgICAgbm9kZXMsIGtleT1sYW1i
ZGEgYzogY1snbGFiZWwnXQotICAgICAgICAgICAgKQotICAgICAgICApCisgICAgICAgIGlmIG1h
bmFnZXIgaXMgbm90IE5vbmUgYW5kIFwKKyAgICAgICAgICAgICAgICBzZWxmLmJsdWVwcmludC5C
YWNrZW5kU3VwcG9ydGVkKG1hbmFnZXIsICoqa3dhcmdzKToKKyAgICAgICAgICAgIG5vZGVzLmV4
dGVuZChzZWxmLmJsdWVwcmludC5nZXRfbm9kZXMoKiprd2FyZ3MpKQorCisgICAgICAgIHJldHVy
biBub2RlcwogCiAgICAgQEJhc2VUYWJsZVZpZXcuY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVm
IGxpc3Qoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdGlkKToKQEAgLTI5NSw3ICsyNzAsNyBA
QCBjbGFzcyBQYXJ0aXRpb25zVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFj
dXVtU2V0dGluZ3MpOgogICAgICAgICAiIiIKICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRl
KAogICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYucGFydGl0aW9uX3RlbXBsYXRlX3BhdGgsICdu
b2Rlcy5zcWwnXSksCi0gICAgICAgICAgICBzY2lkPXNjaWQsIHRpZD10aWQKKyAgICAgICAgICAg
IHNjaWQ9c2NpZCwgdGlkPXRpZCwgcHRpZD1wdGlkCiAgICAgICAgICkKICAgICAgICAgc3RhdHVz
LCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShTUUwpCiAgICAgICAgIGlmIG5vdCBz
dGF0dXM6CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy
dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvcGFydGl0aW9ucy9zdGF0aWMvanMvcGFydGl0
aW9uLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh
c2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMvc3RhdGljL2pzL3BhcnRpdGlvbi5qcwppbmRl
eCAxNGUwMTUyMTAuLjA0YTY5M2VhZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z
ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMv
c3RhdGljL2pzL3BhcnRpdGlvbi5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n
cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvcGFydGl0aW9ucy9zdGF0aWMv
anMvcGFydGl0aW9uLmpzCkBAIC00OSw4ICs0OSw3IEBAIGZ1bmN0aW9uKAogICAgICAgc3FsQ3Jl
YXRlSGVscDogJ3NxbC1jcmVhdGV0YWJsZS5odG1sJywKICAgICAgIGRpYWxvZ0hlbHA6IHVybF9m
b3IoJ2hlbHAuc3RhdGljJywgeydmaWxlbmFtZSc6ICd0YWJsZV9kaWFsb2cuaHRtbCd9KSwKICAg
ICAgIGhhc1NjcmlwdFR5cGVzOiBbJ2NyZWF0ZSddLAotICAgICAgaGVpZ2h0OiAnOTUlJywKLSAg
ICAgIHdpZHRoOiAnODUlJywKKyAgICAgIHdpZHRoOiAnNjUwcHgnLAogICAgICAgSW5pdDogZnVu
Y3Rpb24oKSB7CiAgICAgICAgIC8qIEF2b2lkIG11bGl0cGxlIHJlZ2lzdHJhdGlvbiBvZiBtZW51
cyAqLwogICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkKQEAgLTg2NSw3ICs4NjQsNyBAQCBm
dW5jdGlvbigKICAgICAgICAgICBjYW5FZGl0OiBmYWxzZSwgY2FuRGVsZXRlOiB0cnVlLAogICAg
ICAgICAgIGN1c3RvbURlbGV0ZVRpdGxlOiBnZXR0ZXh0KCdEZXRhY2ggUGFydGl0aW9uJyksCiAg
ICAgICAgICAgY3VzdG9tRGVsZXRlTXNnOiBnZXR0ZXh0KCdBcmUgeW91IHN1cmUgeW91IHdpc2gg
dG8gZGV0YWNoIHRoaXMgcGFydGl0aW9uPycpLAotICAgICAgICAgIGNvbHVtbnM6Wydpc19hdHRh
Y2gnLCAncGFydGl0aW9uX25hbWUnLCAndmFsdWVzX2Zyb20nLCAndmFsdWVzX3RvJywgJ3ZhbHVl
c19pbiddLAorICAgICAgICAgIGNvbHVtbnM6Wydpc19hdHRhY2gnLCAncGFydGl0aW9uX25hbWUn
LCAnaXNfZGVmYXVsdCcsICd2YWx1ZXNfZnJvbScsICd2YWx1ZXNfdG8nLCAndmFsdWVzX2luJywg
J3ZhbHVlc19tb2R1bHVzJywgJ3ZhbHVlc19yZW1haW5kZXInXSwKICAgICAgICAgICBjb250cm9s
OiBCYWNrZm9ybS5TdWJOb2RlQ29sbGVjdGlvbkNvbnRyb2wuZXh0ZW5kKHsKICAgICAgICAgICAg
IHJvdzogQmFja2dyaWQuUGFydGl0aW9uUm93LAogICAgICAgICAgICAgaW5pdGlhbGl6ZTogZnVu
Y3Rpb24oKSB7CkBAIC05MzAsMTAgKzkyOSwzMCBAQCBmdW5jdGlvbigKICAgICAgICAgfSx7CiAg
ICAgICAgICAgaWQ6ICdwYXJ0aXRpb25fbm90ZScsIGxhYmVsOiBnZXR0ZXh0KCdQYXJ0aXRpb24n
KSwKICAgICAgICAgICB0eXBlOiAnbm90ZScsIGdyb3VwOiAncGFydGl0aW9uJywKLSAgICAgICAg
ICB0ZXh0OiBnZXR0ZXh0KCdUaGUgY29udHJvbCBhYm92ZSBpcyB1c2VkIHRvIENyZWF0ZS9BdHRh
Y2gvRGV0YWNoIHBhcnRpdGlvbnMuPGJyPicgKwotICAgICAgICAgICAgJzx1bD48bGk+Q3JlYXRl
IE1vZGU6IFVzZXIgd2lsbCBiZSBhYmxlIHRvIGNyZWF0ZSBOIG51bWJlciBvZiBwYXJ0aXRpb25z
LiBNb2RlIHN3aXRjaCBjb250cm9sIGlzIGRpc2FibGVkIGluIHRoaXMgc2NlbmFyaW8uPC9saT4n
ICsKLSAgICAgICAgICAgICc8bGk+RWRpdCBNb2RlOiBVc2VyIHdpbGwgYmUgYWJsZSB0byBjcmVh
dGUvYXR0YWNoL2RldGFjaCBOIG51bWJlciBvZiBwYXJ0aXRpb25zLiAnICsKLSAgICAgICAgICAg
ICdJbiBhdHRhY2ggbW9kZSB0aGVyZSB3aWxsIGJlIGxpc3Qgb2Ygc3VpdGFibGUgdGFibGVzIHRv
IGJlIGF0dGFjaGVkLjwvbGk+PC91bD4nKSwKKyAgICAgICAgICB0ZXh0OiBbCisgICAgICAgICAg
ICAnPHVsPjxsaT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+JywgZ2V0dGV4dCgnQ3JlYXRlIGEg
dGFibGU6ICcpLCAnPC9zdHJvbmc+JywKKyAgICAgICAgICAgIGdldHRleHQoJ1VzZXIgY2FuIGNy
ZWF0ZSBtdWx0aXBsZSBwYXJ0aXRpb25zIHdoaWxlIGNyZWF0aW5nIG5ldyBwYXJ0aXRpb25lZCB0
YWJsZS4gT3BlcmF0aW9uIHN3aXRjaCBpcyBkaXNhYmxlZCBpbiB0aGlzIHNjZW5hcmlvLicpLAor
ICAgICAgICAgICAgJzwvbGk+PGxpPicsCisgICAgICAgICAgICAnPHN0cm9uZz4nLCBnZXR0ZXh0
KCdFZGl0IGV4aXN0aW5nIHRhYmxlOiAnKSwgJzwvc3Ryb25nPicsCisgICAgICAgICAgICBnZXR0
ZXh0KCdVc2VyIGNhbiBjcmVhdGUvYXR0YWNoL2RldGFjaCBtdWx0aXBsZSBwYXJ0aXRpb25zLiBJ
biBhdHRhY2ggb3BlcmF0aW9uIHVzZXIgY2FuIHNlbGVjdCB0YWJsZSBmcm9tIHRoZSBsaXN0IG9m
IHN1aXRhYmxlIHRhYmxlcyB0byBiZSBhdHRhY2hlZC4nKSwKKyAgICAgICAgICAgICc8L2xpPjxs
aT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+JywgZ2V0dGV4dCgnRGVmYXVsdDogJyksICc8L3N0
cm9uZz4nLAorICAgICAgICAgICAgZ2V0dGV4dCgnVGhlIGRlZmF1bHQgcGFydGl0aW9uIGNhbiBz
dG9yZSByb3dzIHRoYXQgZG8gbm90IGZhbGwgaW50byBhbnkgZXhpc3RpbmcgcGFydGl0aW9u4oCZ
cyByYW5nZSBvciBsaXN0LicpLAorICAgICAgICAgICAgJzwvbGk+PGxpPicsCisgICAgICAgICAg
ICAnPHN0cm9uZz4nLCBnZXR0ZXh0KCdGcm9tL1RvL0luIGlucHV0OiAnKSwgJzwvc3Ryb25nPics
CisgICAgICAgICAgICBnZXR0ZXh0KCdGcm9tL1RvL0luIGlucHV0OiBWYWx1ZXMgZm9yIHRoZXNl
IGZpZWxkcyBtdXN0IGJlIHF1b3RlZCB3aXRoIHNpbmdsZSBxdW90ZS4gRm9yIG1vcmUgdGhhbiBv
bmUgcGFydGl0aW9uIGtleSB2YWx1ZXMgbXVzdCBiZSBjb21tYSgsKSBzZXBhcmF0ZWQuJyksCisg
ICAgICAgICAgICAnPC9saT48bGk+JywKKyAgICAgICAgICAgICc8c3Ryb25nPicsIGdldHRleHQo
J0V4YW1wbGU6IEZyb20vVG86ICcpLCAnPC9zdHJvbmc+JywKKyAgICAgICAgICAgIGdldHRleHQo
J0VuYWJsZWQgZm9yIHJhbmdlIHBhcnRpdGlvbi4gQ29uc2lkZXIgcGFydGl0aW9uZWQgdGFibGUg
d2l0aCBtdWx0aXBsZSBrZXlzIG9mIHR5cGUgSW50ZWdlciwgdGhlbiB2YWx1ZXMgc2hvdWxkIGJl
IHNwZWNpZmllZCBsaWtlIFwnMTAwXCcsXCcyMDBcJy4nKSwKKyAgICAgICAgICAgICc8L2xpPjxs
aT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+JywgZ2V0dGV4dCgnSW46ICcpLCAnPC9zdHJvbmc+
JywKKyAgICAgICAgICAgIGdldHRleHQoJ0VuYWJsZWQgZm9yIGxpc3QgcGFydGl0aW9uLiBWYWx1
ZXMgbXVzdCBiZSBjb21tYSgsKSBzZXBhcmF0ZWQgYW5kIHF1b3RlZCB3aXRoIHNpbmdsZSBxdW90
ZS4nKSwKKyAgICAgICAgICAgICc8L2xpPjxsaT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+Jywg
Z2V0dGV4dCgnTW9kdWx1cy9SZW1haW5kZXI6ICcpLCAnPC9zdHJvbmc+JywKKyAgICAgICAgICAg
IGdldHRleHQoJ0VuYWJsZWQgZm9yIGhhc2ggcGFydGl0aW9uLicpLAorICAgICAgICAgICAgJzwv
bGk+PC91bD4nLAorICAgICAgICAgIF0uam9pbignJyksCiAgICAgICAgICAgdmlzaWJsZTogZnVu
Y3Rpb24obSkgewogICAgICAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8pICYm
ICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvLnNlcnZlcikKICAgICAgICAgICAgICAgJiYgIV8u
aXNVbmRlZmluZWQobS5ub2RlX2luZm8uc2VydmVyLnZlcnNpb24pICYmCmRpZmYgLS1naXQgYS93
ZWIvcGdhZG1pbi9icm93c2VyL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5w
eQppbmRleCAwY2MwNjFkYjUuLmI3YzhkMjk0NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv
d3Nlci91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3V0aWxzLnB5CkBAIC0zNDMs
MTAgKzM0Myw4IEBAIGNsYXNzIE5vZGVWaWV3KHdpdGhfbWV0YWNsYXNzKE1ldGhvZFZpZXdUeXBl
LCBWaWV3KSk6CiAKICAgICBkZWYgY2hpbGRyZW4oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAg
ICAgICAgIiIiQnVpbGQgYSBsaXN0IG9mIHRyZWV2aWV3IG5vZGVzIGZyb20gdGhlIGNoaWxkIG5v
ZGVzLiIiIgotICAgICAgICBjaGlsZHJlbiA9IFtdCisgICAgICAgIGNoaWxkcmVuID0gc2VsZi5f
Z2V0X2NoaWxkcmVuX25vZGVzKCphcmdzLCAqKmt3YXJncykKIAotICAgICAgICBmb3IgbW9kdWxl
IGluIHNlbGYuYmx1ZXByaW50LnN1Ym1vZHVsZXM6Ci0gICAgICAgICAgICBjaGlsZHJlbi5leHRl
bmQobW9kdWxlLmdldF9ub2RlcygqYXJncywgKiprd2FyZ3MpKQogICAgICAgICAjIFJldHVybiBz
b3J0ZWQgbm9kZXMgYmFzZWQgb24gbGFiZWwKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNw
b25zZSgKICAgICAgICAgICAgIGRhdGE9c29ydGVkKApAQCAtMzU0LDggKzM1Miw0NiBAQCBjbGFz
cyBOb2RlVmlldyh3aXRoX21ldGFjbGFzcyhNZXRob2RWaWV3VHlwZSwgVmlldykpOgogICAgICAg
ICAgICAgKQogICAgICAgICApCiAKKyAgICBkZWYgX2dldF9jaGlsZHJlbl9ub2RlcyhzZWxmLCAq
YXJncywgKiprd2FyZ3MpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJucyB0aGUgbGlzdCBv
ZiBjaGlsZHJlbiBub2RlcyBmb3IgdGhlIGN1cnJlbnQgbm9kZXMuIE92ZXJyaWRlIHRoaXMKKyAg
ICAgICAgZnVuY3Rpb24gZm9yIHNwZWNpYWwgY2FzZXMgb25seS4KKworICAgICAgICA6cGFyYW0g
YXJnczoKKyAgICAgICAgOnBhcmFtIGt3YXJnczogUGFyYW1ldGVycyB0byBnZW5lcmF0ZSB0aGUg
Y29ycmVjdCBzZXQgb2YgdHJlZSBub2RlLgorICAgICAgICA6cmV0dXJuOiBMaXN0IG9mIHRoZSBj
aGlsZHJlbiBub2RlcworICAgICAgICAiIiIKKyAgICAgICAgY2hpbGRyZW4gPSBbXQorCisgICAg
ICAgIGZvciBtb2R1bGUgaW4gc2VsZi5ibHVlcHJpbnQuc3VibW9kdWxlczoKKyAgICAgICAgICAg
IGNoaWxkcmVuLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCphcmdzLCAqKmt3YXJncykpCisKKyAg
ICAgICAgcmV0dXJuIGNoaWxkcmVuCisKIAogY2xhc3MgUEdDaGlsZE5vZGVWaWV3KE5vZGVWaWV3
KToKKworICAgIGRlZiBfZ2V0X2NoaWxkcmVuX25vZGVzKHNlbGYsIG1hbmFnZXIsICoqa3dhcmdz
KToKKyAgICAgICAgIiIiCisgICAgICAgIFJldHVybnMgdGhlIGxpc3Qgb2YgY2hpbGRyZW4gbm9k
ZXMgZm9yIHRoZSBjdXJyZW50IG5vZGVzLgorCisgICAgICAgIDpwYXJhbSBtYW5hZ2VyOiBTZXJ2
ZXIgTWFuYWdlciBvYmplY3QKKyAgICAgICAgOnBhcmFtIGt3YXJnczogUGFyYW1ldGVycyB0byBn
ZW5lcmF0ZSB0aGUgY29ycmVjdCBzZXQgb2YgYnJvd3NlciB0cmVlCisgICAgICAgICAgbm9kZQor
ICAgICAgICA6cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAgbm9kZXMgPSBbXQorICAgICAg
ICBmb3IgbW9kdWxlIGluIHNlbGYuYmx1ZXByaW50LnN1Ym1vZHVsZXM6CisgICAgICAgICAgICBp
ZiBpc2luc3RhbmNlKG1vZHVsZSwgUEdDaGlsZE1vZHVsZSk6CisgICAgICAgICAgICAgICAgaWYg
KAorICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyIGlzIG5vdCBOb25lIGFuZAorICAgICAgICAg
ICAgICAgICAgICBtb2R1bGUuQmFja2VuZFN1cHBvcnRlZChtYW5hZ2VyLCAqKmt3YXJncykKKyAg
ICAgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgICAgICBub2Rlcy5leHRlbmQobW9kdWxl
LmdldF9ub2RlcygqKmt3YXJncykpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
IG5vZGVzLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCoqa3dhcmdzKSkKKyAgICAgICAgcmV0dXJu
IG5vZGVzCisKICAgICBkZWYgY2hpbGRyZW4oc2VsZiwgKiprd2FyZ3MpOgogICAgICAgICAiIiJC
dWlsZCBhIGxpc3Qgb2YgdHJlZXZpZXcgbm9kZXMgZnJvbSB0aGUgY2hpbGQgbm9kZXMuIiIiCiAK
QEAgLTM4OCwyMSArNDI0LDExIEBAIGNsYXNzIFBHQ2hpbGROb2RlVmlldyhOb2RlVmlldyk6CiAg
ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogCi0gICAgICAgIG5vZGVzID0gW10KLSAg
ICAgICAgZm9yIG1vZHVsZSBpbiBzZWxmLmJsdWVwcmludC5zdWJtb2R1bGVzOgotICAgICAgICAg
ICAgaWYgaXNpbnN0YW5jZShtb2R1bGUsIFBHQ2hpbGRNb2R1bGUpOgotICAgICAgICAgICAgICAg
IGlmICgKLSAgICAgICAgICAgICAgICAgICAgbWFuYWdlciBpcyBub3QgTm9uZSBhbmQKLSAgICAg
ICAgICAgICAgICAgICAgbW9kdWxlLkJhY2tlbmRTdXBwb3J0ZWQobWFuYWdlciwgKiprd2FyZ3Mp
Ci0gICAgICAgICAgICAgICAgKToKLSAgICAgICAgICAgICAgICAgICAgbm9kZXMuZXh0ZW5kKG1v
ZHVsZS5nZXRfbm9kZXMoKiprd2FyZ3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAg
ICAgICBub2Rlcy5leHRlbmQobW9kdWxlLmdldF9ub2RlcygqKmt3YXJncykpCi0KICAgICAgICAg
IyBSZXR1cm4gc29ydGVkIG5vZGVzIGJhc2VkIG9uIGxhYmVsCiAgICAgICAgIHJldHVybiBtYWtl
X2pzb25fcmVzcG9uc2UoCiAgICAgICAgICAgICBkYXRhPXNvcnRlZCgKLSAgICAgICAgICAgICAg
ICBub2Rlcywga2V5PWxhbWJkYSBjOiBjWydsYWJlbCddCisgICAgICAgICAgICAgICAgc2VsZi5f
Z2V0X2NoaWxkcmVuX25vZGVzKG1hbmFnZXIsICoqa3dhcmdzKSwKKyAgICAgICAgICAgICAgICBr
ZXk9bGFtYmRhIGM6IGNbJ2xhYmVsJ10KICAgICAgICAgICAgICkKICAgICAgICAgKQogCg==
--000000000000fb4f2f059b3a9c5a--