<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>177178</bug_id>
          
          <creation_ts>2017-09-19 11:59:44 -0700</creation_ts>
          <short_desc>Use &apos;owned commit&apos; instead of &apos;sub commit&apos;.</short_desc>
          <delta_ts>2017-09-19 13:32:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>dewei_zhu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1350444</commentid>
    <comment_count>0</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2017-09-19 11:59:44 -0700</bug_when>
    <thetext>Use &apos;owned commit&apos; instead of &apos;sub commit&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350448</commentid>
    <comment_count>1</comment_count>
      <attachid>321230</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2017-09-19 12:09:42 -0700</bug_when>
    <thetext>Created attachment 321230
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321230</attachid>
            <date>2017-09-19 12:09:42 -0700</date>
            <delta_ts>2017-09-19 13:32:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177178-20170919120941.patch</filename>
            <type>text/plain</type>
            <size>62388</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMTk0CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBmNDhjZTYzZTE4MjI2NTk4MDMzMDExOGIxYmZiMzdiYjcwNDg2MzlkLi5iMjY5YWFhNjc4
NGZjNGRiYjUwMjQ4NDhjNThlYTQwZDdlYWEwZWVjIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw1MyBAQAorMjAxNy0wOS0xOSAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgJ293bmVkIGNvbW1pdCcgaW5zdGVhZCBvZiAnc3Vi
IGNvbW1pdCcgd2hlbmV2ZXIgcmVmZXJzIHRvIGEgY29tbWl0IG93bmVkIGJ5IGFub3RoZXIgY29t
bWl0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3
MTc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
dXNlIGJvdGggJ293bmVkIGNvbW1pdCcgYW5kICdzdWIgY29tbWl0JyB0byByZWZlciB0byBhIGNv
bW1pdCBvd25lZCBieSBhbiBhbm90aGVyIGNvbW1pdC4gV2Ugc2hvdWxkIHVzZSBvbmUgdGVybSBp
bnN0ZWFkIG9mIHR3by4KKyAgICAgICAgUmVuYW1pbmcgJ3N1YkNvbW1pdCcgdG8gJ293bmVkQ29t
bWl0JywgJ293bnNTdWJDb21taXQnIHRvICdvd25zQ29tbWl0JyBhbmQgJ3N1Yi1jb21taXQnIHRv
ICdvd25lZC1jb21taXQnLgorCisgICAgICAgICogYnJvd3Nlci10ZXN0cy9jb21taXQtbG9nLXZp
ZXdlci10ZXN0cy5qczoKKyAgICAgICAgKiBwdWJsaWMvYXBpL2NvbW1pdHMucGhwOgorICAgICAg
ICAqIHB1YmxpYy9hcGkvcmVwb3J0LWNvbW1pdHMucGhwOgorICAgICAgICAqIHB1YmxpYy9pbmNs
dWRlL2NvbW1pdC1sb2ctZmV0Y2hlci5waHA6CisgICAgICAgICogcHVibGljL3YzL2NvbXBvbmVu
dHMvY29tbWl0LWxvZy12aWV3ZXIuanM6CisgICAgICAgIChDb21taXRMb2dWaWV3ZXIucHJvdG90
eXBlLl9yZW5kZXJDb21taXRMaXN0KToKKyAgICAgICAgKiBwdWJsaWMvdjMvY29tcG9uZW50cy9v
d25lZC1jb21taXQtdmlld2VyLmpzOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy92My9jb21wb25lbnRzL3N1Yi1jb21taXQtdmlld2VyLmpzLgorICAgICAgICAo
T3duZWRDb21taXRWaWV3ZXIpOgorICAgICAgICAoT3duZWRDb21taXRWaWV3ZXIucHJvdG90eXBl
LmRpZENvbnN0cnVjdFNoYWRvd1RyZWUpOgorICAgICAgICAoT3duZWRDb21taXRWaWV3ZXIucHJv
dG90eXBlLl90b2dnbGVWaXNpYmlsaXR5KToKKyAgICAgICAgKE93bmVkQ29tbWl0Vmlld2VyLnBy
b3RvdHlwZS5yZW5kZXIpOgorICAgICAgICAoT3duZWRDb21taXRWaWV3ZXIucHJvdG90eXBlLl9y
ZW5kZXJPd25lZENvbW1pdFRhYmxlKToKKyAgICAgICAgKE93bmVkQ29tbWl0Vmlld2VyLmh0bWxU
ZW1wbGF0ZSk6CisgICAgICAgIChPd25lZENvbW1pdFZpZXdlci5jc3NUZW1wbGF0ZSk6CisgICAg
ICAgICogcHVibGljL3YzL2luZGV4Lmh0bWw6CisgICAgICAgICogcHVibGljL3YzL21vZGVscy9j
b21taXQtbG9nLmpzOgorICAgICAgICAoQ29tbWl0TG9nKToKKyAgICAgICAgKENvbW1pdExvZy5w
cm90b3R5cGUudXBkYXRlU2luZ2xldG9uKToKKyAgICAgICAgKENvbW1pdExvZy5wcm90b3R5cGUu
b3duc0NvbW1pdHMpOgorICAgICAgICAoQ29tbWl0TG9nLnByb3RvdHlwZS5mZXRjaE93bmVkQ29t
bWl0cyk6CisgICAgICAgIChDb21taXRMb2cucHJvdG90eXBlLl9idWlsZE93bmVkQ29tbWl0TWFw
KToKKyAgICAgICAgKENvbW1pdExvZy5kaWZmT3duZWRDb21taXRzKToKKyAgICAgICAgKENvbW1p
dExvZy5wcm90b3R5cGUub3duc1N1YkNvbW1pdHMpOiBEZWxldGVkLgorICAgICAgICAoQ29tbWl0
TG9nLnByb3RvdHlwZS5mZXRjaFN1YkNvbW1pdHMpOiBEZWxldGVkLgorICAgICAgICAoQ29tbWl0
TG9nLnByb3RvdHlwZS5fYnVpbGRTdWJDb21taXRNYXApOiBEZWxldGVkLgorICAgICAgICAoQ29t
bWl0TG9nLmRpZmZTdWJDb21taXRzKTogRGVsZXRlZC4KKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMv
YXBpLWNvbW1pdHMtdGVzdHMuanM6CisgICAgICAgICogc2VydmVyLXRlc3RzL2FwaS1yZXBvcnQt
Y29tbWl0cy10ZXN0cy5qczoKKyAgICAgICAgKiBzZXJ2ZXItdGVzdHMvdG9vbHMtb3MtYnVpbGQt
ZmV0Y2hlci10ZXN0cy5qczoKKyAgICAgICAgKHJldHVybi53YWl0Rm9ySW52b2NhdGlvblByb21p
c2UudGhlbik6CisgICAgICAgIChzdHJpbmdfYXBwZWFyZWRfaGVyZS5yZXR1cm4ud2FpdEZvcklu
dm9jYXRpb25Qcm9taXNlLnRoZW4pOgorICAgICAgICAqIHRvb2xzL2pzL29zLWJ1aWxkLWZldGNo
ZXIuanM6CisgICAgICAgIChwcm90b3R5cGUuX2ZldGNoQXZhaWxhYmxlQnVpbGRzKToKKyAgICAg
ICAgKHByb3RvdHlwZS5fYWRkT3duZWRDb21taXRzRm9yQnVpbGQpOgorICAgICAgICAocHJvdG90
eXBlLl9hZGRTdWJDb21taXRzRm9yQnVpbGQpOiBEZWxldGVkLgorICAgICAgICAqIHVuaXQtdGVz
dHMvY29tbWl0LWxvZy10ZXN0cy5qczoKKyAgICAgICAgKHJldHVybi5jb21taXQuZmV0Y2hPd25l
ZENvbW1pdHMudGhlbik6CisgICAgICAgIChyZXR1cm4uZmV0Y2hpbmdQcm9taXNlLnRoZW4pOgor
ICAgICAgICAocmV0dXJuLmNvbW1pdC5mZXRjaFN1YkNvbW1pdHMudGhlbik6IERlbGV0ZWQuCisK
IDIwMTctMDktMTUgIERld2VpIFpodSAgPGRld2VpX3podUBhcHBsZS5jb20+CiAKICAgICAgICAg
U2hvdWxkIG5vdCBtYXJrIGEgcGxhdGZvcm0gYXMgbWlzc2luZyBpbiBzdW1tYXJ5IHBhZ2UgaWYg
YWxsIGV4cGVjdGluZyBtZXRyaWNzIGFyZSBleGx1Y2RlZC4KZGlmZiAtLWdpdCBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9icm93c2VyLXRlc3RzL2NvbW1pdC1sb2ctdmlld2VyLXRlc3RzLmpz
IGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvY29tbWl0LWxvZy12aWV3
ZXItdGVzdHMuanMKaW5kZXggMjY1YjZmN2YwNmM4YjliZWYxN2FkZjAwOWUwYTkwZjJlZmRjZTkx
OS4uMGM2YjM0MTVlNTJlZDgwOGZhZTYxMzI1ZWIwZjg2Y2Y4OTliYTQ3MyAxMDA2NDQKLS0tIGEv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvY29tbWl0LWxvZy12aWV3ZXIt
dGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2Jyb3dzZXItdGVzdHMvY29t
bWl0LWxvZy12aWV3ZXItdGVzdHMuanMKQEAgLTIzLDcgKzIzLDcgQEAgZGVzY3JpYmUoJ0NvbW1p
dExvZ1ZpZXdlcicsICgpID0+IHsKICAgICAgICAgInJldmlzaW9uIjogIjIxMDk0OSIsCiAgICAg
ICAgICJyZXBvc2l0b3J5IjogMSwKICAgICAgICAgInByZXZpb3VzQ29tbWl0IjogbnVsbCwKLSAg
ICAgICAgIm93bnNTdWJDb21taXRzIjogZmFsc2UsCisgICAgICAgICJvd25zQ29tbWl0cyI6IGZh
bHNlLAogICAgICAgICAidGltZSI6ICtuZXcgRGF0ZSgiMjAxNy0wMS0yMFQwMzoyMzo1MC42NDVa
IiksCiAgICAgICAgICJhdXRob3JOYW1lIjogIkNocmlzIER1bWV6IiwKICAgICAgICAgImF1dGhv
ckVtYWlsIjogImNkdW1lekBhcHBsZS5jb20iLApAQCAtMzUsNyArMzUsNyBAQCBkZXNjcmliZSgn
Q29tbWl0TG9nVmlld2VyJywgKCkgPT4gewogICAgICAgICAicmV2aXNpb24iOiAiMjEwOTUwIiwK
ICAgICAgICAgInJlcG9zaXRvcnkiOiAxLAogICAgICAgICAicHJldmlvdXNDb21taXQiOiBudWxs
LAotICAgICAgICAib3duc1N1YkNvbW1pdHMiOiBmYWxzZSwKKyAgICAgICAgIm93bnNDb21taXRz
IjogZmFsc2UsCiAgICAgICAgICJ0aW1lIjogK25ldyBEYXRlKCIyMDE3LTAxLTIwVDAzOjQ5OjM3
Ljg4N1oiKSwKICAgICAgICAgImF1dGhvck5hbWUiOiAiQ29tbWl0IFF1ZXVlIiwKICAgICAgICAg
ImF1dGhvckVtYWlsIjogImNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnIiwKZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL2NvbW1pdHMucGhwIGIvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvY29tbWl0cy5waHAKaW5kZXggYmQ4ZGYyMmI1ZWJm
MDI3MzNlYjY5MTdhZjkzZjZlYjYwYmFmYzA4ZC4uOTZjY2UxZjk3MGYwYjdmZmFhOWNkYTY0N2Uy
YmZjODFjZjJiZGVkNiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy9hcGkvY29tbWl0cy5waHAKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9h
cGkvY29tbWl0cy5waHAKQEAgLTM4LDkgKzM4LDkgQEAgZnVuY3Rpb24gbWFpbigkcGF0aHMpIHsK
ICAgICAgICAgICAgICRjb21taXRzID0gJGZldGNoZXItPmZldGNoX2xhdGVzdF9mb3JfcGxhdGZv
cm0oJHJlcG9zaXRvcnlfaWQsICRwbGF0Zm9ybV9pZCk7CiAgICAgICAgIH0gZWxzZQogICAgICAg
ICAgICAgJGNvbW1pdHMgPSAkZmV0Y2hlci0+ZmV0Y2hfbGF0ZXN0KCRyZXBvc2l0b3J5X2lkKTsK
LSAgICB9IGVsc2UgaWYgKCRmaWx0ZXIgPT0gJ3N1Yi1jb21taXRzJykgeworICAgIH0gZWxzZSBp
ZiAoJGZpbHRlciA9PSAnb3duZWQtY29tbWl0cycpIHsKICAgICAgICAgJG93bmVyX3JldmlzaW9u
ID0gYXJyYXlfZ2V0KCRfR0VULCAnb3duZXItcmV2aXNpb24nKTsKLSAgICAgICAgJGNvbW1pdHMg
PSAkZmV0Y2hlci0+ZmV0Y2hfc3ViY29tbWl0c19mb3JfcmV2aXNpb24oJHJlcG9zaXRvcnlfaWQs
ICRvd25lcl9yZXZpc2lvbik7CisgICAgICAgICRjb21taXRzID0gJGZldGNoZXItPmZldGNoX293
bmVkX2NvbW1pdHNfZm9yX3JldmlzaW9uKCRyZXBvc2l0b3J5X2lkLCAkb3duZXJfcmV2aXNpb24p
OwogICAgIH0gZWxzZSBpZiAoJGZpbHRlciA9PSAnbGFzdC1yZXBvcnRlZCcpIHsKICAgICAgICAg
JGZyb20gPSBhcnJheV9nZXQoJF9HRVQsICdmcm9tJyk7CiAgICAgICAgICR0byA9IGFycmF5X2dl
dCgkX0dFVCwgJ3RvJyk7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL2FwaS9yZXBvcnQtY29tbWl0cy5waHAgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL2FwaS9yZXBvcnQtY29tbWl0cy5waHAKaW5kZXggNTU5YjQxYjhlNmRjNTI1ZWU4OGY0Nzc3
M2Q1ZjQ1MzQ4ZWIyZTE3Zi4uNmM2NTFhOThhYTRmZjc3ZmYyOTBhMjgyM2EzYWZiNzhiYzkyMTQ1
YiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcmVwb3J0
LWNvbW1pdHMucGhwCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYXBpL3Jl
cG9ydC1jb21taXRzLnBocApAQCAtMzIsMjAgKzMyLDIwIEBAIGZ1bmN0aW9uIG1haW4oJHBvc3Rf
ZGF0YSkKICAgICAgICAgICAgIGV4aXRfd2l0aF9lcnJvcignRmFpbGVkVG9JbnNlcnRSZXBvc2l0
b3J5JywgYXJyYXkoJ2NvbW1pdCcgPT4gJGNvbW1pdF9pbmZvKSk7CiAgICAgICAgIH0KICAgICAg
ICAgJG93bmVyX2NvbW1pdF9pZCA9IGluc2VydF9jb21taXQoJGRiLCAkY29tbWl0X2luZm8sICRy
ZXBvc2l0b3J5X2lkLCBOVUxMKTsKLSAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCdzdWJD
b21taXRzJywgJGNvbW1pdF9pbmZvKSkKKyAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCdv
d25lZENvbW1pdHMnLCAkY29tbWl0X2luZm8pKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAg
ICAgICAgZm9yZWFjaCgkY29tbWl0X2luZm9bJ3N1YkNvbW1pdHMnXSBhcyAkc3ViX2NvbW1pdF9y
ZXBvc2l0b3J5X25hbWUgPT4gJHN1Yl9jb21taXRfaW5mbykgewotICAgICAgICAgICAgaWYgKGFy
cmF5X2tleV9leGlzdHMoJ3RpbWUnLCAkc3ViX2NvbW1pdF9pbmZvKSkgeworICAgICAgICBmb3Jl
YWNoKCRjb21taXRfaW5mb1snb3duZWRDb21taXRzJ10gYXMgJG93bmVkX2NvbW1pdF9yZXBvc2l0
b3J5X25hbWUgPT4gJG93bmVkX2NvbW1pdF9pbmZvKSB7CisgICAgICAgICAgICBpZiAoYXJyYXlf
a2V5X2V4aXN0cygndGltZScsICRvd25lZF9jb21taXRfaW5mbykpIHsKICAgICAgICAgICAgICAg
ICAkZGItPnJvbGxiYWNrX3RyYW5zYWN0aW9uKCk7Ci0gICAgICAgICAgICAgICAgZXhpdF93aXRo
X2Vycm9yKCdTdWJDb21taXRTaG91bGROb3RDb250YWluVGltZXN0YW1wJywgYXJyYXkoJ2NvbW1p
dCcgPT4gJHN1Yl9jb21taXRfaW5mbykpOworICAgICAgICAgICAgICAgIGV4aXRfd2l0aF9lcnJv
cignT3duZWRDb21taXRTaG91bGROb3RDb250YWluVGltZXN0YW1wJywgYXJyYXkoJ2NvbW1pdCcg
PT4gJG93bmVkX2NvbW1pdF9pbmZvKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAkc3Vi
X2NvbW1pdF9yZXBvc2l0b3J5X2lkID0gJGRiLT5zZWxlY3Rfb3JfaW5zZXJ0X3JvdygncmVwb3Np
dG9yaWVzJywgJ3JlcG9zaXRvcnknLCBhcnJheSgnbmFtZScgPT4gJHN1Yl9jb21taXRfcmVwb3Np
dG9yeV9uYW1lLCAnb3duZXInID0+ICRyZXBvc2l0b3J5X2lkKSk7Ci0gICAgICAgICAgICBpZiAo
ISRzdWJfY29tbWl0X3JlcG9zaXRvcnlfaWQpIHsKKyAgICAgICAgICAgICRvd25lZF9jb21taXRf
cmVwb3NpdG9yeV9pZCA9ICRkYi0+c2VsZWN0X29yX2luc2VydF9yb3coJ3JlcG9zaXRvcmllcycs
ICdyZXBvc2l0b3J5JywgYXJyYXkoJ25hbWUnID0+ICRvd25lZF9jb21taXRfcmVwb3NpdG9yeV9u
YW1lLCAnb3duZXInID0+ICRyZXBvc2l0b3J5X2lkKSk7CisgICAgICAgICAgICBpZiAoISRvd25l
ZF9jb21taXRfcmVwb3NpdG9yeV9pZCkgewogICAgICAgICAgICAgICAgICRkYi0+cm9sbGJhY2tf
dHJhbnNhY3Rpb24oKTsKLSAgICAgICAgICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRv
SW5zZXJ0UmVwb3NpdG9yeScsIGFycmF5KCdjb21taXQnID0+ICRzdWJfY29tbWl0X2luZm8pKTsK
KyAgICAgICAgICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0ZhaWxlZFRvSW5zZXJ0UmVwb3NpdG9y
eScsIGFycmF5KCdjb21taXQnID0+ICRvd25lZF9jb21taXRfaW5mbykpOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgaW5zZXJ0X2NvbW1pdCgkZGIsICRzdWJfY29tbWl0X2luZm8sICRzdWJf
Y29tbWl0X3JlcG9zaXRvcnlfaWQsICRvd25lcl9jb21taXRfaWQpOworICAgICAgICAgICAgaW5z
ZXJ0X2NvbW1pdCgkZGIsICRvd25lZF9jb21taXRfaW5mbywgJG93bmVkX2NvbW1pdF9yZXBvc2l0
b3J5X2lkLCAkb3duZXJfY29tbWl0X2lkKTsKICAgICAgICAgfQogICAgIH0KICAgICAkZGItPmNv
bW1pdF90cmFuc2FjdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy9pbmNsdWRlL2NvbW1pdC1sb2ctZmV0Y2hlci5waHAgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL2luY2x1ZGUvY29tbWl0LWxvZy1mZXRjaGVyLnBocAppbmRleCBmZTNk
NzU5YzBiZGVhMTYyNGViYjhkNWVhZDIxMDM4YzZiZDAyMjFiLi43MDljZjJkNzJiNWQ5MWU2Yjll
Yzk4Nzg2MGRhYzRmMzJlMzEyMDc0IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL2luY2x1ZGUvY29tbWl0LWxvZy1mZXRjaGVyLnBocAorKysgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvY29tbWl0LWxvZy1mZXRjaGVyLnBocApAQCAt
MzUsNyArMzUsNyBAQCBjbGFzcyBDb21taXRMb2dGZXRjaGVyIHsKICAgICAgICAgZm9yZWFjaCAo
JGNvbW1pdF9yb3dzIGFzICYkY29tbWl0X3JvdykgewogICAgICAgICAgICAgJGFzc29jaWF0ZWRf
dGFzayA9ICYkdGFza19ieV9pZFskY29tbWl0X3Jvd1sndGFza2NvbW1pdF90YXNrJ11dOwogICAg
ICAgICAgICAgIyBGSVhNRTogVGhlIGxhc3QgcGFyYW1ldGVyIHNob3VsZCBiZSBkZXRlcm1pbmVk
IGJhc2VkIG9uIGNvbW1pdF9vd25lcnNoaXBzLgotICAgICAgICAgICAgJGNvbW1pdCA9ICR0aGlz
LT5mb3JtYXRfY29tbWl0KCRjb21taXRfcm93LCAkY29tbWl0X3JvdywgLyogb3duc19zdWJfY29t
bWl0cyAqLyBGQUxTRSk7CisgICAgICAgICAgICAkY29tbWl0ID0gJHRoaXMtPmZvcm1hdF9jb21t
aXQoJGNvbW1pdF9yb3csICRjb21taXRfcm93LCAvKiBvd25zX2NvbW1pdHMgKi8gRkFMU0UpOwog
ICAgICAgICAgICAgJGNvbW1pdFsncmVwb3NpdG9yeSddID0gJGNvbW1pdF9yb3dbJ2NvbW1pdF9y
ZXBvc2l0b3J5J107CiAgICAgICAgICAgICBhcnJheV9wdXNoKCRjb21taXRzLCAkY29tbWl0KTsK
ICAgICAgICAgICAgIGFycmF5X3B1c2goJGFzc29jaWF0ZWRfdGFza1tEYXRhYmFzZTo6aXNfdHJ1
ZSgkY29tbWl0X3Jvd1sndGFza2NvbW1pdF9pc19maXgnXSkgPyAnZml4ZXMnIDogJ2NhdXNlcydd
LCAkY29tbWl0X3Jvd1snY29tbWl0X2lkJ10pOwpAQCAtNjEsNyArNjEsNyBAQCBjbGFzcyBDb21t
aXRMb2dGZXRjaGVyIHsKICAgICAgICAgICAgIGNvbW1pdHRlcl9hY2NvdW50IGFzICJhdXRob3JF
bWFpbCIsCiAgICAgICAgICAgICBjb21taXRfcmVwb3NpdG9yeSBhcyAicmVwb3NpdG9yeSIsCiAg
ICAgICAgICAgICBjb21taXRfbWVzc2FnZSBhcyAibWVzc2FnZSIsCi0gICAgICAgICAgICBFWElT
VFMoU0VMRUNUICogRlJPTSBjb21taXRfb3duZXJzaGlwcyBXSEVSRSBjb21taXRfb3duZXIgPSBj
b21taXRfaWQpIGFzICJvd25zU3ViQ29tbWl0cyIKKyAgICAgICAgICAgIEVYSVNUUyhTRUxFQ1Qg
KiBGUk9NIGNvbW1pdF9vd25lcnNoaXBzIFdIRVJFIGNvbW1pdF9vd25lciA9IGNvbW1pdF9pZCkg
YXMgIm93bnNDb21taXRzIgogICAgICAgICAgICAgRlJPTSBjb21taXRzIExFRlQgT1VURVIgSk9J
TiBjb21taXR0ZXJzIE9OIGNvbW1pdF9jb21taXR0ZXIgPSBjb21taXR0ZXJfaWQKICAgICAgICAg
ICAgIFdIRVJFIGNvbW1pdF9yZXBvc2l0b3J5ID0gJDEgQU5EIGNvbW1pdF9yZXBvcnRlZCA9IHRy
dWUnOwogICAgICAgICAkdmFsdWVzID0gYXJyYXkoJHJlcG9zaXRvcnlfaWQpOwpAQCAtMTA3LDEz
ICsxMDcsMTMgQEAgY2xhc3MgQ29tbWl0TG9nRmV0Y2hlciB7CiAKICAgICAgICAgZm9yZWFjaCAo
JGNvbW1pdHMgYXMgJiRjb21taXQpIHsKICAgICAgICAgICAgICRjb21taXRbJ3RpbWUnXSA9IERh
dGFiYXNlOjp0b19qc190aW1lKCRjb21taXRbJ3RpbWUnXSk7Ci0gICAgICAgICAgICAkY29tbWl0
Wydvd25zU3ViQ29tbWl0cyddID0gRGF0YWJhc2U6OmlzX3RydWUoJGNvbW1pdFsnb3duc1N1YkNv
bW1pdHMnXSk7CisgICAgICAgICAgICAkY29tbWl0Wydvd25zQ29tbWl0cyddID0gRGF0YWJhc2U6
OmlzX3RydWUoJGNvbW1pdFsnb3duc0NvbW1pdHMnXSk7CiAgICAgICAgIH0KIAogICAgICAgICBy
ZXR1cm4gJGNvbW1pdHM7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gZmV0Y2hfc3ViY29tbWl0c19m
b3JfcmV2aXNpb24oJHJlcG9zaXRvcnlfaWQsICRjb21taXRfcmV2aXNpb24pIHsKKyAgICBmdW5j
dGlvbiBmZXRjaF9vd25lZF9jb21taXRzX2Zvcl9yZXZpc2lvbigkcmVwb3NpdG9yeV9pZCwgJGNv
bW1pdF9yZXZpc2lvbikgewogICAgICAgICByZXR1cm4gJHRoaXMtPmRiLT5xdWVyeV9hbmRfZmV0
Y2hfYWxsKCdTRUxFQ1Qgb3duZWQuY29tbWl0X3JlcG9zaXRvcnkgYXMgInJlcG9zaXRvcnkiLAog
ICAgICAgICAgICAgb3duZWQuY29tbWl0X3JldmlzaW9uIGFzICJyZXZpc2lvbiIsCiAgICAgICAg
ICAgICBvd25lZC5jb21taXRfdGltZSBhcyAidGltZSIsCkBAIC0xOTUsMTEgKzE5NSwxMSBAQCBj
bGFzcyBDb21taXRMb2dGZXRjaGVyIHsKICAgICAgICAgaWYgKCEkY29tbWl0X3JvdykKICAgICAg
ICAgICAgIHJldHVybiBhcnJheSgpOwogICAgICAgICAkY29tbWl0dGVyID0gJHRoaXMtPmRiLT5z
ZWxlY3RfZmlyc3Rfcm93KCdjb21taXR0ZXJzJywgJ2NvbW1pdHRlcicsIGFycmF5KCdpZCcgPT4g
JGNvbW1pdF9yb3dbJ2NvbW1pdF9jb21taXR0ZXInXSkpOwotICAgICAgICAkb3duc19zdWJfY29t
bWl0cyA9ICEhJHRoaXMtPmRiLT5zZWxlY3RfZmlyc3Rfcm93KCdjb21taXRfb3duZXJzaGlwcycs
ICdjb21taXQnLCBhcnJheSgnb3duZXInID0+ICRjb21taXRfcm93Wydjb21taXRfaWQnXSkpOwot
ICAgICAgICByZXR1cm4gYXJyYXkoJHRoaXMtPmZvcm1hdF9jb21taXQoJGNvbW1pdF9yb3csICRj
b21taXR0ZXIsICRvd25zX3N1Yl9jb21taXRzKSk7CisgICAgICAgICRvd25zX2NvbW1pdHMgPSAh
ISR0aGlzLT5kYi0+c2VsZWN0X2ZpcnN0X3JvdygnY29tbWl0X293bmVyc2hpcHMnLCAnY29tbWl0
JywgYXJyYXkoJ293bmVyJyA9PiAkY29tbWl0X3Jvd1snY29tbWl0X2lkJ10pKTsKKyAgICAgICAg
cmV0dXJuIGFycmF5KCR0aGlzLT5mb3JtYXRfY29tbWl0KCRjb21taXRfcm93LCAkY29tbWl0dGVy
LCAkb3duc19jb21taXRzKSk7CiAgICAgfQogCi0gICAgcHJpdmF0ZSBmdW5jdGlvbiBmb3JtYXRf
Y29tbWl0KCRjb21taXRfcm93LCAkY29tbWl0dGVyX3JvdywgJG93bnNfc3ViX2NvbW1pdHMpIHsK
KyAgICBwcml2YXRlIGZ1bmN0aW9uIGZvcm1hdF9jb21taXQoJGNvbW1pdF9yb3csICRjb21taXR0
ZXJfcm93LCAkb3duc19jb21taXRzKSB7CiAgICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAg
ICAgICdpZCcgPT4gJGNvbW1pdF9yb3dbJ2NvbW1pdF9pZCddLAogICAgICAgICAgICAgJ3Jldmlz
aW9uJyA9PiAkY29tbWl0X3Jvd1snY29tbWl0X3JldmlzaW9uJ10sCkBAIC0yMTAsNyArMjEwLDcg
QEAgY2xhc3MgQ29tbWl0TG9nRmV0Y2hlciB7CiAgICAgICAgICAgICAnYXV0aG9yTmFtZScgPT4g
JGNvbW1pdHRlcl9yb3cgPyAkY29tbWl0dGVyX3Jvd1snY29tbWl0dGVyX25hbWUnXSA6IG51bGws
CiAgICAgICAgICAgICAnYXV0aG9yRW1haWwnID0+ICRjb21taXR0ZXJfcm93ID8gJGNvbW1pdHRl
cl9yb3dbJ2NvbW1pdHRlcl9hY2NvdW50J10gOiBudWxsLAogICAgICAgICAgICAgJ21lc3NhZ2Un
ID0+ICRjb21taXRfcm93Wydjb21taXRfbWVzc2FnZSddLAotICAgICAgICAgICAgJ293bnNTdWJD
b21taXRzJyA9PiAkb3duc19zdWJfY29tbWl0cworICAgICAgICAgICAgJ293bnNDb21taXRzJyA9
PiAkb3duc19jb21taXRzCiAgICAgICAgICk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL2NvbW1pdC1sb2ctdmlld2Vy
LmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9jb21wb25lbnRzL2NvbW1p
dC1sb2ctdmlld2VyLmpzCmluZGV4IDRjNzZlMjExOTBiYjI4OWJlMjlmNDlkN2FhYjRiMzk0MmVi
OTMxNWEuLmE2ZTZjYzI1ZTY4MjEzYTViMjg5NDZlNzkyYmQyOWRiOWVmMmZmMTkgMTAwNjQ0Ci0t
LSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9jb21taXQt
bG9nLXZpZXdlci5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2Nv
bXBvbmVudHMvY29tbWl0LWxvZy12aWV3ZXIuanMKQEAgLTc3LDEwICs3NywxMCBAQCBjbGFzcyBD
b21taXRMb2dWaWV3ZXIgZXh0ZW5kcyBDb21wb25lbnRCYXNlIHsKICAgICAgICAgdGhpcy5yZW5k
ZXJSZXBsYWNlKHRoaXMuY29udGVudCgnY29tbWl0cy1saXN0JyksIChjb21taXRzIHx8IFtdKS5t
YXAoKGNvbW1pdCkgPT4gewogICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBjb21taXQubGFiZWwo
KTsKICAgICAgICAgICAgIGNvbnN0IHVybCA9IGNvbW1pdC51cmwoKTsKLSAgICAgICAgICAgIGNv
bnN0IG93bnNTdWJDb21taXRzID0gcHJldmlvdXNDb21taXQgJiYgcHJldmlvdXNDb21taXQub3du
c1N1YkNvbW1pdHMoKSAmJiBjb21taXQub3duc1N1YkNvbW1pdHMoKTsKLSAgICAgICAgICAgIGNv
bnN0IHN1YkNvbW1pdERpZmZlcmVuY2VSb3cgPSBvd25zU3ViQ29tbWl0cyA/IGVsZW1lbnQoJ3Ry
JywgZWxlbWVudCgndGQnLCB7Y29sc3BhbjogMn0sIG5ldyBTdWJDb21taXRWaWV3ZXIocHJldmlv
dXNDb21taXQsIGNvbW1pdCkpKSA6IFtdOworICAgICAgICAgICAgY29uc3Qgb3duc0NvbW1pdHMg
PSBwcmV2aW91c0NvbW1pdCAmJiBwcmV2aW91c0NvbW1pdC5vd25zQ29tbWl0cygpICYmIGNvbW1p
dC5vd25zQ29tbWl0cygpOworICAgICAgICAgICAgY29uc3Qgb3duZWRDb21taXREaWZmZXJlbmNl
Um93ID0gb3duc0NvbW1pdHMgPyBlbGVtZW50KCd0cicsIGVsZW1lbnQoJ3RkJywge2NvbHNwYW46
IDJ9LCBuZXcgT3duZWRDb21taXRWaWV3ZXIocHJldmlvdXNDb21taXQsIGNvbW1pdCkpKSA6IFtd
OwogICAgICAgICAgICAgcHJldmlvdXNDb21taXQgPSBjb21taXQ7Ci0gICAgICAgICAgICByZXR1
cm4gW3N1YkNvbW1pdERpZmZlcmVuY2VSb3csCisgICAgICAgICAgICByZXR1cm4gW293bmVkQ29t
bWl0RGlmZmVyZW5jZVJvdywKICAgICAgICAgICAgICAgICBlbGVtZW50KCd0cicsIFsKICAgICAg
ICAgICAgICAgICAgICAgZWxlbWVudCgndGgnLCBbZWxlbWVudCgnaDQnLCB7Y2xhc3M6ICdyZXZp
c2lvbid9LCB1cmwgPyBsaW5rKGxhYmVsLCBjb21taXQudGl0bGUoKSwgdXJsKSA6IGxhYmVsKSwg
Y29tbWl0LmF1dGhvcigpIHx8ICcnXSksCiAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQoJ3Rk
JywgY29tbWl0Lm1lc3NhZ2UoKSA/IGNvbW1pdC5tZXNzYWdlKCkuc3Vic3RyaW5nKDAsIDgwKSA6
ICcnKV0pXTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMv
Y29tcG9uZW50cy9vd25lZC1jb21taXQtdmlld2VyLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy92My9jb21wb25lbnRzL293bmVkLWNvbW1pdC12aWV3ZXIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjhmNzQzMzg1YjQ1MDVlOWVmZWQ3ZDRmNGYwN2RmYzZmNWYxMmUxMgotLS0gL2Rldi9udWxs
CisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9vd25l
ZC1jb21taXQtdmlld2VyLmpzCkBAIC0wLDAgKzEsOTggQEAKK2NsYXNzIE93bmVkQ29tbWl0Vmll
d2VyIGV4dGVuZHMgQ29tcG9uZW50QmFzZSB7CisKKyAgICBjb25zdHJ1Y3RvcihwcmV2aW91c0Nv
bW1pdCwgY3VycmVudENvbW1pdCkKKyAgICB7CisgICAgICAgIHN1cGVyKCdvd25lZC1jb21taXQt
dmlld2VyJyk7CisgICAgICAgIHRoaXMuX3ByZXZpb3VzQ29tbWl0ID0gcHJldmlvdXNDb21taXQ7
CisgICAgICAgIHRoaXMuX2N1cnJlbnRDb21taXQgPSBjdXJyZW50Q29tbWl0OworICAgICAgICB0
aGlzLl9wcmV2aW91c093bmVkQ29tbWl0cyA9IG51bGw7CisgICAgICAgIHRoaXMuX2N1cnJlbnRP
d25lZENvbW1pdHMgPSBudWxsOworICAgICAgICB0aGlzLl9zaG93aW5nT3duZWRDb21taXRzID0g
ZmFsc2U7CisgICAgICAgIHRoaXMuX3JlbmRlck93bmVkQ29tbWl0VGFibGVMYXppbHkgPSBuZXcg
TGF6aWx5RXZhbHVhdGVkRnVuY3Rpb24odGhpcy5fcmVuZGVyT3duZWRDb21taXRUYWJsZS5iaW5k
KHRoaXMpKTsKKyAgICB9CisKKyAgICBkaWRDb25zdHJ1Y3RTaGFkb3dUcmVlKCkKKyAgICB7Cisg
ICAgICAgIHRoaXMucGFydCgnZXhwYW5kLWNvbGxhcHNlJykubGlzdGVuVG9BY3Rpb24oJ3RvZ2ds
ZScsIChleHBhbmRlZCkgPT4gdGhpcy5fdG9nZ2xlVmlzaWJpbGl0eShleHBhbmRlZCkpOworICAg
IH0KKworICAgIF90b2dnbGVWaXNpYmlsaXR5KGV4cGFuZGVkKQorICAgIHsKKyAgICAgICAgdGhp
cy5fc2hvd2luZ093bmVkQ29tbWl0cyA9IGV4cGFuZGVkOworICAgICAgICB0aGlzLmVucXVldWVU
b1JlbmRlcigpOworCisgICAgICAgIFByb21pc2UuYWxsKFt0aGlzLl9wcmV2aW91c0NvbW1pdC5m
ZXRjaE93bmVkQ29tbWl0cygpLCB0aGlzLl9jdXJyZW50Q29tbWl0LmZldGNoT3duZWRDb21taXRz
KCldKS50aGVuKChvd25lZENvbW1pdHNMaXN0KSA9PiB7CisgICAgICAgICAgICB0aGlzLl9wcmV2
aW91c093bmVkQ29tbWl0cyA9IG93bmVkQ29tbWl0c0xpc3RbMF07CisgICAgICAgICAgICB0aGlz
Ll9jdXJyZW50T3duZWRDb21taXRzID0gb3duZWRDb21taXRzTGlzdFsxXTsKKyAgICAgICAgICAg
IHRoaXMuZW5xdWV1ZVRvUmVuZGVyKCk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIHJlbmRl
cigpCisgICAgeworICAgICAgICBjb25zdCBoaWRlU3Bpbm5lciA9ICh0aGlzLl9wcmV2aW91c093
bmVkQ29tbWl0cyAmJiB0aGlzLl9jdXJyZW50T3duZWRDb21taXRzKSB8fCAhdGhpcy5fc2hvd2lu
Z093bmVkQ29tbWl0czsKKworICAgICAgICB0aGlzLmNvbnRlbnQoJ2RpZmZlcmVuY2UtZW50cmll
cycpLnN0eWxlLmRpc3BsYXkgPSAgdGhpcy5fc2hvd2luZ093bmVkQ29tbWl0cyA/IG51bGwgOiAn
bm9uZSc7CisgICAgICAgIHRoaXMuY29udGVudCgnc3Bpbm5lci1jb250YWluZXInKS5zdHlsZS5k
aXNwbGF5ID0gaGlkZVNwaW5uZXIgPyAnbm9uZScgOiBudWxsOworICAgICAgICB0aGlzLmNvbnRl
bnQoJ2RpZmZlcmVuY2UtdGFibGUnKS5zdHlsZS5kaXNwbGF5ID0gdGhpcy5fc2hvd2luZ093bmVk
Q29tbWl0cyA/IG51bGwgOiAnbm9uZSc7CisgICAgICAgIHRoaXMuX3JlbmRlck93bmVkQ29tbWl0
VGFibGVMYXppbHkuZXZhbHVhdGUodGhpcy5fcHJldmlvdXNPd25lZENvbW1pdHMsIHRoaXMuX2N1
cnJlbnRPd25lZENvbW1pdHMpOworICAgIH0KKworICAgIF9yZW5kZXJPd25lZENvbW1pdFRhYmxl
KHByZXZpb3VzT3duZWRDb21taXRzLCBjdXJyZW50T3duZWRDb21taXRzKQorICAgIHsKKyAgICAg
ICAgaWYgKCFwcmV2aW91c093bmVkQ29tbWl0cyB8fCAhY3VycmVudE93bmVkQ29tbWl0cykKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjb25zdCBkaWZmZXJlbmNlID0gQ29tbWl0TG9n
LmRpZmZPd25lZENvbW1pdHModGhpcy5fcHJldmlvdXNDb21taXQsIHRoaXMuX2N1cnJlbnRDb21t
aXQpOworICAgICAgICBjb25zdCBzb3J0ZWRSZXBvc2l0b3JpZXMgPSBSZXBvc2l0b3J5LnNvcnRC
eU5hbWUoWy4uLmRpZmZlcmVuY2Uua2V5cygpXSk7CisgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBD
b21wb25lbnRCYXNlLmNyZWF0ZUVsZW1lbnQ7CisKKyAgICAgICAgY29uc3QgdGFibGVFbnRyaWVz
ID0gc29ydGVkUmVwb3NpdG9yaWVzLm1hcCgocmVwb3NpdG9yeSkgPT4geworICAgICAgICAgICAg
Y29uc3QgcmV2aXNpb25zID0gZGlmZmVyZW5jZS5nZXQocmVwb3NpdG9yeSk7CisgICAgICAgICAg
ICByZXR1cm4gZWxlbWVudCgndHInLCBbZWxlbWVudCgndGQnLCByZXBvc2l0b3J5Lm5hbWUoKSks
CisgICAgICAgICAgICAgICAgZWxlbWVudCgndGQnLCByZXZpc2lvbnNbMF0gPyByZXZpc2lvbnNb
MF0ucmV2aXNpb24oKSA6ICcnKSwKKyAgICAgICAgICAgICAgICBlbGVtZW50KCd0ZCcsIHJldmlz
aW9uc1sxXSA/IHJldmlzaW9uc1sxXS5yZXZpc2lvbigpIDogJycpXSk7CisgICAgICAgIH0pOwor
ICAgICAgICB0aGlzLnJlbmRlclJlcGxhY2UodGhpcy5jb250ZW50KCdkaWZmZXJlbmNlLWVudHJp
ZXMnKSwgdGFibGVFbnRyaWVzKTsKKyAgICB9CisKKyAgICBzdGF0aWMgaHRtbFRlbXBsYXRlKCkK
KyAgICB7CisgICAgICAgIHJldHVybiBgCisgICAgICAgICAgICA8ZXhwYW5kLWNvbGxhcHNlLWJ1
dHRvbiBpZD0iZXhwYW5kLWNvbGxhcHNlIj48L2V4cGFuZC1jb2xsYXBzZS1idXR0b24+CisgICAg
ICAgICAgICA8dGFibGUgaWQ9ImRpZmZlcmVuY2UtdGFibGUiPgorICAgICAgICAgICAgICAgIDx0
Ym9keSBpZD0iZGlmZmVyZW5jZS1lbnRyaWVzIj48L3Rib2R5PgorICAgICAgICAgICAgPC90YWJs
ZT4KKyAgICAgICAgICAgIDxkaXYgaWQ9InNwaW5uZXItY29udGFpbmVyIj48c3Bpbm5lci1pY29u
IGlkPSJzcGlubmVyIj48L3NwaW5uZXItaWNvbj48L2Rpdj5gOworICAgIH0KKworICAgIHN0YXRp
YyBjc3NUZW1wbGF0ZSgpIHsKKyAgICAgICAgcmV0dXJuIGAKKyAgICAgICAgICAgIDpob3N0IHsK
KyAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgICAgICAgICBmb250LXNp
emU6IDAuOHJlbTsKKyAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBleHBhbmQtY29sbGFwc2UtYnV0dG9uIHsKKyAgICAgICAg
ICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSAwLjhyZW0pOworICAgICAgICAgICAgICAg
IGRpc3BsYXk6IGJsb2NrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0ZCwgdGggewor
ICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbTsKKyAgICAgICAgICAgICAgICBtYXJnaW46
IDA7CisgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNjY2M7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICNkaWZmZXJlbmNlLXRhYmxlIHsKKyAgICAgICAgICAgICAg
ICB3aWR0aDogMTAwJTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI3NwaW5uZXItY29u
dGFpbmVyIHsKKyAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgICAgICAg
ICB9YDsKKyAgICB9Cit9CisKK0NvbXBvbmVudEJhc2UuZGVmaW5lRWxlbWVudCgnb3duZWQtY29t
bWl0LXZpZXdlcicsIE93bmVkQ29tbWl0Vmlld2VyKTsKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9zdWItY29tbWl0LXZpZXdlci5qcyBi
L1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvY29tcG9uZW50cy9zdWItY29tbWl0
LXZpZXdlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzllMTg1NDNmN2I1NTVh
MzYwOTFmYzI0MWM0ZDkzODZhYTQ5Zjg5ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2NvbXBv
bmVudHMvc3ViLWNvbW1pdC12aWV3ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBA
Ci1jbGFzcyBTdWJDb21taXRWaWV3ZXIgZXh0ZW5kcyBDb21wb25lbnRCYXNlIHsKLQotICAgIGNv
bnN0cnVjdG9yKHByZXZpb3VzQ29tbWl0LCBjdXJyZW50Q29tbWl0KQotICAgIHsKLSAgICAgICAg
c3VwZXIoJ3N1Yi1jb21taXQtdmlld2VyJyk7Ci0gICAgICAgIHRoaXMuX3ByZXZpb3VzQ29tbWl0
ID0gcHJldmlvdXNDb21taXQ7Ci0gICAgICAgIHRoaXMuX2N1cnJlbnRDb21taXQgPSBjdXJyZW50
Q29tbWl0OwotICAgICAgICB0aGlzLl9wcmV2aW91c1N1YkNvbW1pdHMgPSBudWxsOwotICAgICAg
ICB0aGlzLl9jdXJyZW50U3ViQ29tbWl0cyA9IG51bGw7Ci0gICAgICAgIHRoaXMuX3Nob3dpbmdT
dWJDb21taXRzID0gZmFsc2U7Ci0gICAgICAgIHRoaXMuX3JlbmRlclN1YkNvbW1pdFRhYmxlTGF6
aWx5ID0gbmV3IExhemlseUV2YWx1YXRlZEZ1bmN0aW9uKHRoaXMuX3JlbmRlclN1YmNvbW1pdFRh
YmxlLmJpbmQodGhpcykpOwotICAgIH0KLQotICAgIGRpZENvbnN0cnVjdFNoYWRvd1RyZWUoKQot
ICAgIHsKLSAgICAgICAgdGhpcy5wYXJ0KCdleHBhbmQtY29sbGFwc2UnKS5saXN0ZW5Ub0FjdGlv
bigndG9nZ2xlJywgKGV4cGFuZGVkKSA9PiB0aGlzLl90b2dnbGVWaXNpYmlsaXR5KGV4cGFuZGVk
KSk7Ci0gICAgfQotCi0gICAgX3RvZ2dsZVZpc2liaWxpdHkoZXhwYW5kZWQpCi0gICAgewotICAg
ICAgICB0aGlzLl9zaG93aW5nU3ViQ29tbWl0cyA9IGV4cGFuZGVkOwotICAgICAgICB0aGlzLmVu
cXVldWVUb1JlbmRlcigpOwotCi0gICAgICAgIFByb21pc2UuYWxsKFt0aGlzLl9wcmV2aW91c0Nv
bW1pdC5mZXRjaFN1YkNvbW1pdHMoKSwgdGhpcy5fY3VycmVudENvbW1pdC5mZXRjaFN1YkNvbW1p
dHMoKV0pLnRoZW4oKHN1YkNvbW1pdHNMaXN0KSA9PiB7Ci0gICAgICAgICAgICB0aGlzLl9wcmV2
aW91c1N1YkNvbW1pdHMgPSBzdWJDb21taXRzTGlzdFswXTsKLSAgICAgICAgICAgIHRoaXMuX2N1
cnJlbnRTdWJDb21taXRzID0gc3ViQ29tbWl0c0xpc3RbMV07Ci0gICAgICAgICAgICB0aGlzLmVu
cXVldWVUb1JlbmRlcigpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICByZW5kZXIoKQotICAg
IHsKLSAgICAgICAgY29uc3QgaGlkZVNwaW5uZXIgPSAodGhpcy5fcHJldmlvdXNTdWJDb21taXRz
ICYmIHRoaXMuX2N1cnJlbnRTdWJDb21taXRzKSB8fCAhdGhpcy5fc2hvd2luZ1N1YkNvbW1pdHM7
Ci0KLSAgICAgICAgdGhpcy5jb250ZW50KCdkaWZmZXJlbmNlLWVudHJpZXMnKS5zdHlsZS5kaXNw
bGF5ID0gIHRoaXMuX3Nob3dpbmdTdWJDb21taXRzID8gbnVsbCA6ICdub25lJzsKLSAgICAgICAg
dGhpcy5jb250ZW50KCdzcGlubmVyLWNvbnRhaW5lcicpLnN0eWxlLmRpc3BsYXkgPSBoaWRlU3Bp
bm5lciA/ICdub25lJyA6IG51bGw7Ci0gICAgICAgIHRoaXMuY29udGVudCgnZGlmZmVyZW5jZS10
YWJsZScpLnN0eWxlLmRpc3BsYXkgPSB0aGlzLl9zaG93aW5nU3ViQ29tbWl0cyA/IG51bGwgOiAn
bm9uZSc7Ci0gICAgICAgIHRoaXMuX3JlbmRlclN1YkNvbW1pdFRhYmxlTGF6aWx5LmV2YWx1YXRl
KHRoaXMuX3ByZXZpb3VzU3ViQ29tbWl0cywgdGhpcy5fY3VycmVudFN1YkNvbW1pdHMpOwotICAg
IH0KLQotICAgIF9yZW5kZXJTdWJjb21taXRUYWJsZShwcmV2aW91c1N1YkNvbW1pdHMsIGN1cnJl
bnRTdWJDb21taXRzKQotICAgIHsKLSAgICAgICAgaWYgKCFwcmV2aW91c1N1YkNvbW1pdHMgfHwg
IWN1cnJlbnRTdWJDb21taXRzKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGNvbnN0
IGRpZmZlcmVuY2UgPSBDb21taXRMb2cuZGlmZlN1YkNvbW1pdHModGhpcy5fcHJldmlvdXNDb21t
aXQsIHRoaXMuX2N1cnJlbnRDb21taXQpOwotICAgICAgICBjb25zdCBzb3J0ZWRSZXBvc2l0b3Jp
ZXMgPSBSZXBvc2l0b3J5LnNvcnRCeU5hbWUoWy4uLmRpZmZlcmVuY2Uua2V5cygpXSk7Ci0gICAg
ICAgIGNvbnN0IGVsZW1lbnQgPSBDb21wb25lbnRCYXNlLmNyZWF0ZUVsZW1lbnQ7Ci0KLSAgICAg
ICAgY29uc3QgdGFibGVFbnRyaWVzID0gc29ydGVkUmVwb3NpdG9yaWVzLm1hcCgocmVwb3NpdG9y
eSkgPT4gewotICAgICAgICAgICAgY29uc3QgcmV2aXNpb25zID0gZGlmZmVyZW5jZS5nZXQocmVw
b3NpdG9yeSk7Ci0gICAgICAgICAgICByZXR1cm4gZWxlbWVudCgndHInLCBbZWxlbWVudCgndGQn
LCByZXBvc2l0b3J5Lm5hbWUoKSksCi0gICAgICAgICAgICAgICAgZWxlbWVudCgndGQnLCByZXZp
c2lvbnNbMF0gPyByZXZpc2lvbnNbMF0ucmV2aXNpb24oKSA6ICcnKSwKLSAgICAgICAgICAgICAg
ICBlbGVtZW50KCd0ZCcsIHJldmlzaW9uc1sxXSA/IHJldmlzaW9uc1sxXS5yZXZpc2lvbigpIDog
JycpXSk7Ci0gICAgICAgIH0pOwotICAgICAgICB0aGlzLnJlbmRlclJlcGxhY2UodGhpcy5jb250
ZW50KCdkaWZmZXJlbmNlLWVudHJpZXMnKSwgdGFibGVFbnRyaWVzKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgaHRtbFRlbXBsYXRlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBgCi0gICAgICAgICAg
ICA8ZXhwYW5kLWNvbGxhcHNlLWJ1dHRvbiBpZD0iZXhwYW5kLWNvbGxhcHNlIj48L2V4cGFuZC1j
b2xsYXBzZS1idXR0b24+Ci0gICAgICAgICAgICA8dGFibGUgaWQ9ImRpZmZlcmVuY2UtdGFibGUi
PgotICAgICAgICAgICAgICAgIDx0Ym9keSBpZD0iZGlmZmVyZW5jZS1lbnRyaWVzIj48L3Rib2R5
PgotICAgICAgICAgICAgPC90YWJsZT4KLSAgICAgICAgICAgIDxkaXYgaWQ9InNwaW5uZXItY29u
dGFpbmVyIj48c3Bpbm5lci1pY29uIGlkPSJzcGlubmVyIj48L3NwaW5uZXItaWNvbj48L2Rpdj5g
OwotICAgIH0KLQotICAgIHN0YXRpYyBjc3NUZW1wbGF0ZSgpIHsKLSAgICAgICAgcmV0dXJuIGAK
LSAgICAgICAgICAgIDpob3N0IHsKLSAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKLSAg
ICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKLSAgICAgICAgICAgICAgICBmb250LXdl
aWdodDogbm9ybWFsOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBleHBhbmQtY29sbGFw
c2UtYnV0dG9uIHsKLSAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSAwLjhy
ZW0pOwotICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICB0ZCwgdGggewotICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMnJlbTsKLSAg
ICAgICAgICAgICAgICBtYXJnaW46IDA7Ci0gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogc29s
aWQgMXB4ICNjY2M7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICNkaWZmZXJlbmNlLXRh
YmxlIHsKLSAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgI3NwaW5uZXItY29udGFpbmVyIHsKLSAgICAgICAgICAgICAgICB0ZXh0LWFsaWdu
OiBjZW50ZXI7Ci0gICAgICAgICAgICB9YDsKLSAgICB9Ci19Ci0KLUNvbXBvbmVudEJhc2UuZGVm
aW5lRWxlbWVudCgnc3ViLWNvbW1pdC12aWV3ZXInLCBTdWJDb21taXRWaWV3ZXIpOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjMvaW5kZXguaHRtbCBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMv
djMvaW5kZXguaHRtbAppbmRleCBkNzBjYTJkOThmMWYyNGEzYTkyZDBhNmFiYzZlYTE3NWE5MTk4
YTg3Li40NmU2YWRjNDRlMjI3NTQ5MDgxNzUwMjRmMDlkYzU5MGFkMmRhYWQyIDEwMDY0NAotLS0g
YS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2luZGV4Lmh0bWwKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9pbmRleC5odG1sCkBAIC03NCw3ICs3NCw3
IEBAIFJ1biB0b29scy9idW5kbGUtdjMtc2NyaXB0cyB0byBzcGVlZCB1cCB0aGUgbG9hZCB0aW1l
IGZvciBwcm9kdWN0aW9uLmApOwogICAgICAgICA8c2NyaXB0IHNyYz0iY29tcG9uZW50cy93YXJu
aW5nLWljb24uanMiPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0IHNyYz0iY29tcG9uZW50cy9j
bG9zZS1idXR0b24uanMiPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0IHNyYz0iY29tcG9uZW50
cy9jb21taXQtbG9nLXZpZXdlci5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSJj
b21wb25lbnRzL3N1Yi1jb21taXQtdmlld2VyLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9ImNvbXBvbmVudHMvb3duZWQtY29tbWl0LXZpZXdlci5qcyI+PC9zY3JpcHQ+CiAgICAg
ICAgIDxzY3JpcHQgc3JjPSJjb21wb25lbnRzL2VkaXRhYmxlLXRleHQuanMiPjwvc2NyaXB0Pgog
ICAgICAgICA8c2NyaXB0IHNyYz0iY29tcG9uZW50cy9leHBhbmQtY29sbGFwc2UtYnV0dG9uLmpz
Ij48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdCBzcmM9ImNvbXBvbmVudHMvdGltZS1zZXJpZXMt
Y2hhcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy92My9tb2RlbHMvY29tbWl0LWxvZy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1sb2cuanMKaW5kZXggOGE3NGE3Y2ZhYmNkYTIyNWFj
OGQ5Mjg4N2I3YzMwM2E0YjFkZWY0YS4uN2JlNDIxNDU2Y2FkZDVmYjMwZjNjM2MyYzU3MGNlMmVi
ZGExNzI3MSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9t
b2RlbHMvY29tbWl0LWxvZy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL21vZGVscy9jb21taXQtbG9nLmpzCkBAIC0xMSw3ICsxMSw3IEBAIGNsYXNzIENvbW1pdExv
ZyBleHRlbmRzIERhdGFNb2RlbE9iamVjdCB7CiAgICAgICAgIHRoaXMuX3JlbW90ZUlkID0gcmF3
RGF0YS5pZDsKICAgICAgICAgaWYgKHRoaXMuX3JlbW90ZUlkKQogICAgICAgICAgICAgdGhpcy5l
bnN1cmVOYW1lZFN0YXRpY01hcCgncmVtb3RlSWQnKVt0aGlzLl9yZW1vdGVJZF0gPSB0aGlzOwot
ICAgICAgICB0aGlzLl9zdWJDb21taXRzID0gbnVsbDsKKyAgICAgICAgdGhpcy5fb3duZWRDb21t
aXRzID0gbnVsbDsKICAgICB9CiAKICAgICB1cGRhdGVTaW5nbGV0b24ocmF3RGF0YSkKQEAgLTI1
LDggKzI1LDggQEAgY2xhc3MgQ29tbWl0TG9nIGV4dGVuZHMgRGF0YU1vZGVsT2JqZWN0IHsKICAg
ICAgICAgICAgIHRoaXMuX3Jhd0RhdGEuYXV0aG9yTmFtZSA9IHJhd0RhdGEuYXV0aG9yTmFtZTsK
ICAgICAgICAgaWYgKHJhd0RhdGEubWVzc2FnZSkKICAgICAgICAgICAgIHRoaXMuX3Jhd0RhdGEu
bWVzc2FnZSA9IHJhd0RhdGEubWVzc2FnZTsKLSAgICAgICAgaWYgKHJhd0RhdGEub3duc1N1YkNv
bW1pdHMpCi0gICAgICAgICAgICB0aGlzLl9yYXdEYXRhLm93bnNTdWJDb21taXRzID0gcmF3RGF0
YS5vd25zU3ViQ29tbWl0czsKKyAgICAgICAgaWYgKHJhd0RhdGEub3duc0NvbW1pdHMpCisgICAg
ICAgICAgICB0aGlzLl9yYXdEYXRhLm93bnNDb21taXRzID0gcmF3RGF0YS5vd25zQ29tbWl0czsK
ICAgICB9CiAKICAgICByZXBvc2l0b3J5KCkgeyByZXR1cm4gdGhpcy5fcmVwb3NpdG9yeTsgfQpA
QCAtMzUsNyArMzUsNyBAQCBjbGFzcyBDb21taXRMb2cgZXh0ZW5kcyBEYXRhTW9kZWxPYmplY3Qg
ewogICAgIHJldmlzaW9uKCkgeyByZXR1cm4gdGhpcy5fcmF3RGF0YVsncmV2aXNpb24nXTsgfQog
ICAgIG1lc3NhZ2UoKSB7IHJldHVybiB0aGlzLl9yYXdEYXRhWydtZXNzYWdlJ107IH0KICAgICB1
cmwoKSB7IHJldHVybiB0aGlzLl9yZXBvc2l0b3J5LnVybEZvclJldmlzaW9uKHRoaXMuX3Jhd0Rh
dGFbJ3JldmlzaW9uJ10pOyB9Ci0gICAgb3duc1N1YkNvbW1pdHMoKSB7IHJldHVybiB0aGlzLl9y
YXdEYXRhWydvd25zU3ViQ29tbWl0cyddOyB9CisgICAgb3duc0NvbW1pdHMoKSB7IHJldHVybiB0
aGlzLl9yYXdEYXRhWydvd25zQ29tbWl0cyddOyB9CiAKICAgICBsYWJlbCgpCiAgICAgewpAQCAt
ODYsNDggKzg2LDQ4IEBAIGNsYXNzIENvbW1pdExvZyBleHRlbmRzIERhdGFNb2RlbE9iamVjdCB7
CiAgICAgICAgIH0pOwogICAgIH0KIAotICAgIGZldGNoU3ViQ29tbWl0cygpCisgICAgZmV0Y2hP
d25lZENvbW1pdHMoKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLnJlcG9zaXRvcnkoKS5vd25l
ZFJlcG9zaXRvcmllcygpKQogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7CiAK
LSAgICAgICAgaWYgKCF0aGlzLm93bnNTdWJDb21taXRzKCkpCisgICAgICAgIGlmICghdGhpcy5v
d25zQ29tbWl0cygpKQogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7CiAKLSAg
ICAgICAgaWYgKHRoaXMuX3N1YkNvbW1pdHMpCi0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5y
ZXNvbHZlKHRoaXMuX3N1YkNvbW1pdHMpOworICAgICAgICBpZiAodGhpcy5fb3duZWRDb21taXRz
KQorICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9vd25lZENvbW1pdHMp
OwogCi0gICAgICAgIHJldHVybiBDb21taXRMb2cuY2FjaGVkRmV0Y2goYC4uL2FwaS9jb21taXRz
LyR7dGhpcy5yZXBvc2l0b3J5KCkuaWQoKX0vc3ViLWNvbW1pdHM/b3duZXItcmV2aXNpb249JHtl
c2NhcGUodGhpcy5yZXZpc2lvbigpKX1gKS50aGVuKChkYXRhKSA9PiB7Ci0gICAgICAgICAgICB0
aGlzLl9zdWJDb21taXRzID0gQ29tbWl0TG9nLl9jb25zdHJ1Y3RGcm9tUmF3RGF0YShkYXRhKTsK
LSAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdWJDb21taXRzOworICAgICAgICByZXR1cm4gQ29t
bWl0TG9nLmNhY2hlZEZldGNoKGAuLi9hcGkvY29tbWl0cy8ke3RoaXMucmVwb3NpdG9yeSgpLmlk
KCl9L293bmVkLWNvbW1pdHM/b3duZXItcmV2aXNpb249JHtlc2NhcGUodGhpcy5yZXZpc2lvbigp
KX1gKS50aGVuKChkYXRhKSA9PiB7CisgICAgICAgICAgICB0aGlzLl9vd25lZENvbW1pdHMgPSBD
b21taXRMb2cuX2NvbnN0cnVjdEZyb21SYXdEYXRhKGRhdGEpOworICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX293bmVkQ29tbWl0czsKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgX2J1aWxkU3Vi
Q29tbWl0TWFwKCkKKyAgICBfYnVpbGRPd25lZENvbW1pdE1hcCgpCiAgICAgewotICAgICAgICBj
b25zdCBzdWJDb21taXRNYXAgPSBuZXcgTWFwOwotICAgICAgICBmb3IgKGNvbnN0IGNvbW1pdCBv
ZiB0aGlzLl9zdWJDb21taXRzKQotICAgICAgICAgICAgc3ViQ29tbWl0TWFwLnNldChjb21taXQu
cmVwb3NpdG9yeSgpLCBjb21taXQpOwotICAgICAgICByZXR1cm4gc3ViQ29tbWl0TWFwOworICAg
ICAgICBjb25zdCBvd25lZENvbW1pdE1hcCA9IG5ldyBNYXA7CisgICAgICAgIGZvciAoY29uc3Qg
Y29tbWl0IG9mIHRoaXMuX293bmVkQ29tbWl0cykKKyAgICAgICAgICAgIG93bmVkQ29tbWl0TWFw
LnNldChjb21taXQucmVwb3NpdG9yeSgpLCBjb21taXQpOworICAgICAgICByZXR1cm4gb3duZWRD
b21taXRNYXA7CiAgICAgfQogCi0gICAgc3RhdGljIGRpZmZTdWJDb21taXRzKHByZXZpb3VzQ29t
bWl0LCBjdXJyZW50Q29tbWl0KQorICAgIHN0YXRpYyBkaWZmT3duZWRDb21taXRzKHByZXZpb3Vz
Q29tbWl0LCBjdXJyZW50Q29tbWl0KQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQocHJl
dmlvdXNDb21taXQpOwogICAgICAgICBjb25zb2xlLmFzc2VydChjdXJyZW50Q29tbWl0KTsKLSAg
ICAgICAgY29uc29sZS5hc3NlcnQocHJldmlvdXNDb21taXQuX3N1YkNvbW1pdHMpOwotICAgICAg
ICBjb25zb2xlLmFzc2VydChjdXJyZW50Q29tbWl0Ll9zdWJDb21taXRzKTsKKyAgICAgICAgY29u
c29sZS5hc3NlcnQocHJldmlvdXNDb21taXQuX293bmVkQ29tbWl0cyk7CisgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KGN1cnJlbnRDb21taXQuX293bmVkQ29tbWl0cyk7CiAKLSAgICAgICAgY29uc3Qg
cHJldmlvdXNTdWJDb21taXRNYXAgPSBwcmV2aW91c0NvbW1pdC5fYnVpbGRTdWJDb21taXRNYXAo
KTsKLSAgICAgICAgY29uc3QgY3VycmVudFN1YkNvbW1pdE1hcCA9IGN1cnJlbnRDb21taXQuX2J1
aWxkU3ViQ29tbWl0TWFwKCk7Ci0gICAgICAgIGNvbnN0IHN1YkNvbW1pdFJlcG9zaXRvcmllcyA9
IG5ldyBTZXQoWy4uLmN1cnJlbnRTdWJDb21taXRNYXAua2V5cygpLCAuLi5wcmV2aW91c1N1YkNv
bW1pdE1hcC5rZXlzKCldKTsKKyAgICAgICAgY29uc3QgcHJldmlvdXNPd25lZENvbW1pdE1hcCA9
IHByZXZpb3VzQ29tbWl0Ll9idWlsZE93bmVkQ29tbWl0TWFwKCk7CisgICAgICAgIGNvbnN0IGN1
cnJlbnRPd25lZENvbW1pdE1hcCA9IGN1cnJlbnRDb21taXQuX2J1aWxkT3duZWRDb21taXRNYXAo
KTsKKyAgICAgICAgY29uc3Qgb3duZWRDb21taXRSZXBvc2l0b3JpZXMgPSBuZXcgU2V0KFsuLi5j
dXJyZW50T3duZWRDb21taXRNYXAua2V5cygpLCAuLi5wcmV2aW91c093bmVkQ29tbWl0TWFwLmtl
eXMoKV0pOwogICAgICAgICBjb25zdCBkaWZmZXJlbmNlID0gbmV3IE1hcDsKIAotICAgICAgICBz
dWJDb21taXRSZXBvc2l0b3JpZXMuZm9yRWFjaCgoc3ViQ29tbWl0UmVwb3NpdG9yeSkgPT4gewot
ICAgICAgICAgICAgY29uc3QgY3VycmVudFJldmlzaW9uID0gY3VycmVudFN1YkNvbW1pdE1hcC5n
ZXQoc3ViQ29tbWl0UmVwb3NpdG9yeSk7Ci0gICAgICAgICAgICBjb25zdCBwcmV2aW91c1Jldmlz
aW9uID0gcHJldmlvdXNTdWJDb21taXRNYXAuZ2V0KHN1YkNvbW1pdFJlcG9zaXRvcnkpOworICAg
ICAgICBvd25lZENvbW1pdFJlcG9zaXRvcmllcy5mb3JFYWNoKChvd25lZENvbW1pdFJlcG9zaXRv
cnkpID0+IHsKKyAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZXZpc2lvbiA9IGN1cnJlbnRPd25l
ZENvbW1pdE1hcC5nZXQob3duZWRDb21taXRSZXBvc2l0b3J5KTsKKyAgICAgICAgICAgIGNvbnN0
IHByZXZpb3VzUmV2aXNpb24gPSBwcmV2aW91c093bmVkQ29tbWl0TWFwLmdldChvd25lZENvbW1p
dFJlcG9zaXRvcnkpOwogICAgICAgICAgICAgaWYgKGN1cnJlbnRSZXZpc2lvbiAhPSBwcmV2aW91
c1JldmlzaW9uKQotICAgICAgICAgICAgICAgIGRpZmZlcmVuY2Uuc2V0KHN1YkNvbW1pdFJlcG9z
aXRvcnksIFtwcmV2aW91c1JldmlzaW9uLCBjdXJyZW50UmV2aXNpb25dKTsKKyAgICAgICAgICAg
ICAgICBkaWZmZXJlbmNlLnNldChvd25lZENvbW1pdFJlcG9zaXRvcnksIFtwcmV2aW91c1Jldmlz
aW9uLCBjdXJyZW50UmV2aXNpb25dKTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIGRp
ZmZlcmVuY2U7CmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRl
c3RzL2FwaS1jb21taXRzLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZl
ci10ZXN0cy9hcGktY29tbWl0cy10ZXN0cy5qcwppbmRleCAzZDk5MGQ1YjVmNjZiNGYzYmUxYjRj
YzkxNTE5MmVjOGIzYWE0MDFlLi4zMjQ5NjJhZDUzM2NhNDczNzgxZDA3NDE4YTcxMDUxNzRhNWIx
NTdkIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2Fw
aS1jb21taXRzLXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXIt
dGVzdHMvYXBpLWNvbW1pdHMtdGVzdHMuanMKQEAgLTQxMyw4ICs0MTMsOCBAQCBkZXNjcmliZSgi
L2FwaS9jb21taXRzLyIsIGZ1bmN0aW9uICgpIHsKIAogICAgIH0pOwogCi0gICAgZGVzY3JpYmUo
Jy9hcGkvY29tbWl0cy88cmVwb3NpdG9yeT4vc3ViLWNvbW1pdHM/b3duZXItcmV2aXNpb249PGNv
bW1pdD4nLCAoKSA9PiB7Ci0gICAgICAgIGl0KCJzaG91bGQgcmV0dXJuIHN1YiBjb21taXRzIGZv
ciBhIGdpdmVuIGNvbW1pdCIsICgpID0+IHsKKyAgICBkZXNjcmliZSgnL2FwaS9jb21taXRzLzxy
ZXBvc2l0b3J5Pi9vd25lZC1jb21taXRzP293bmVyLXJldmlzaW9uPTxjb21taXQ+JywgKCkgPT4g
eworICAgICAgICBpdCgic2hvdWxkIHJldHVybiBvd25lZCBjb21taXRzIGZvciBhIGdpdmVuIGNv
bW1pdCIsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGRiID0gVGVzdFNlcnZlci5kYXRhYmFz
ZSgpOwogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsKICAgICAgICAgICAgICAgICBk
Yi5pbnNlcnQoJ3JlcG9zaXRvcmllcycsIHsnaWQnOiAxLCAnbmFtZSc6ICdtYWNPUyd9KSwKQEAg
LTQyMywxOSArNDIzLDE5IEBAIGRlc2NyaWJlKCIvYXBpL2NvbW1pdHMvIiwgZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgICAgIGRiLmluc2VydCgnY29tbWl0cycsIHsnaWQnOiAyLCAncmVwb3Np
dG9yeSc6IDIsICdyZXZpc2lvbic6ICcyMTA5NTAnLCAncmVwb3J0ZWQnOiB0cnVlfSksCiAgICAg
ICAgICAgICAgICAgZGIuaW5zZXJ0KCdjb21taXRfb3duZXJzaGlwcycsIHsnb3duZXInOiAxLCAn
b3duZWQnOiAyfSkKICAgICAgICAgICAgIF0pLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAg
IHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLmdldEpTT04oJy9hcGkvY29tbWl0cy8xL3N1
Yi1jb21taXRzP293bmVyLXJldmlzaW9uPTEwLjEyJTIwMTZBMzIzJykKKyAgICAgICAgICAgICAg
ICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5nZXRKU09OKCcvYXBpL2NvbW1pdHMvMS9v
d25lZC1jb21taXRzP293bmVyLXJldmlzaW9uPTEwLjEyJTIwMTZBMzIzJykKICAgICAgICAgICAg
IH0pLnRoZW4oKHJlc3VsdHMpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVz
dWx0cy5zdGF0dXMsICdPSycpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXN1bHRz
LmNvbW1pdHMubGVuZ3RoLCAxKTsKIAotICAgICAgICAgICAgICAgIGNvbnN0IHN1YkNvbW1pdCA9
IHJlc3VsdHMuY29tbWl0c1swXTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoc3ViQ29t
bWl0LnJlcG9zaXRvcnksIDIpOwotICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChzdWJDb21t
aXQucmV2aXNpb24sICcyMTA5NTAnKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoc3Vi
Q29tbWl0LmlkLCAyKTsKKyAgICAgICAgICAgICAgICBjb25zdCBvd25lZENvbW1pdCA9IHJlc3Vs
dHMuY29tbWl0c1swXTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwob3duZWRDb21taXQu
cmVwb3NpdG9yeSwgMik7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG93bmVkQ29tbWl0
LnJldmlzaW9uLCAnMjEwOTUwJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG93bmVk
Q29tbWl0LmlkLCAyKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIAotICAgICAgICBp
dCgic2hvdWxkIHJldHVybiBhbiBlbXB0eSBsaXN0IG9mIGNvbW1pdHMgaWYgbm8gc3ViLWNvbW1p
dHMgaXMgYXNzb2NpYXRlZCB3aXRoIGdpdmVuIGNvbW1pdCIsICgpID0+IHsKKyAgICAgICAgaXQo
InNob3VsZCByZXR1cm4gYW4gZW1wdHkgbGlzdCBvZiBjb21taXRzIGlmIG5vIG93bmVkLWNvbW1p
dCBpcyBhc3NvY2lhdGVkIHdpdGggZ2l2ZW4gY29tbWl0IiwgKCkgPT4gewogICAgICAgICAgICAg
Y29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CiAgICAgICAgICAgICByZXR1cm4gUHJv
bWlzZS5hbGwoWwogICAgICAgICAgICAgICAgIGRiLmluc2VydCgncmVwb3NpdG9yaWVzJywgeydp
ZCc6IDEsICduYW1lJzogJ21hY09TJ30pLApAQCAtNDQzLDcgKzQ0Myw3IEBAIGRlc2NyaWJlKCIv
YXBpL2NvbW1pdHMvIiwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgIGRiLmluc2VydCgn
Y29tbWl0cycsIHsnaWQnOiAxLCAncmVwb3NpdG9yeSc6IDEsICdyZXZpc2lvbic6ICcxMC4xMiAx
NkEzMjMnLCBvcmRlcjogMSwgJ3JlcG9ydGVkJzogdHJ1ZX0pLAogICAgICAgICAgICAgICAgIGRi
Lmluc2VydCgnY29tbWl0cycsIHsnaWQnOiAyLCAncmVwb3NpdG9yeSc6IDIsICdyZXZpc2lvbic6
ICcyMTA5NTAnLCAncmVwb3J0ZWQnOiB0cnVlfSkKICAgICAgICAgICAgIF0pLnRoZW4oKCkgPT4g
ewotICAgICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLmdldEpTT04o
Jy9hcGkvY29tbWl0cy8xL3N1Yi1jb21taXRzP293bmVyLXJldmlzaW9uPTEwLjEyJTIwMTZBMzIz
JykKKyAgICAgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5nZXRKU09O
KCcvYXBpL2NvbW1pdHMvMS9vd25lZC1jb21taXRzP293bmVyLXJldmlzaW9uPTEwLjEyJTIwMTZB
MzIzJykKICAgICAgICAgICAgIH0pLnRoZW4oKHJlc3VsdHMpID0+IHsKICAgICAgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwocmVzdWx0cy5zdGF0dXMsICdPSycpOwogICAgICAgICAgICAgICAgIGFz
c2VydC5kZWVwRXF1YWwocmVzdWx0cy5jb21taXRzLCBbXSk7CkBAIC00NTgsNyArNDU4LDcgQEAg
ZGVzY3JpYmUoIi9hcGkvY29tbWl0cy8iLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAg
ZGIuaW5zZXJ0KCdjb21taXRzJywgeydpZCc6IDEsICdyZXBvc2l0b3J5JzogMSwgJ3JldmlzaW9u
JzogJzEwLjEyIDE2QTMyMycsIG9yZGVyOiAxLCAncmVwb3J0ZWQnOiB0cnVlfSksCiAgICAgICAg
ICAgICAgICAgZGIuaW5zZXJ0KCdjb21taXRzJywgeydpZCc6IDIsICdyZXBvc2l0b3J5JzogMiwg
J3JldmlzaW9uJzogJzIxMDk1MCcsICdyZXBvcnRlZCc6IHRydWV9KQogICAgICAgICAgICAgXSku
dGhlbigoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJ
KCkuZ2V0SlNPTignL2FwaS9jb21taXRzLzEvc3ViLWNvbW1pdHM/b3duZXItcmV2aXNpb249MTAu
MTIlMjAxNkEzMjQnKQorICAgICAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQ
SSgpLmdldEpTT04oJy9hcGkvY29tbWl0cy8xL293bmVkLWNvbW1pdHM/b3duZXItcmV2aXNpb249
MTAuMTIlMjAxNkEzMjQnKQogICAgICAgICAgICAgfSkudGhlbigocmVzdWx0cykgPT4gewogICAg
ICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXN1bHRzLnN0YXR1cywgJ09LJyk7CiAgICAgICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3VsdHMuY29tbWl0cy5sZW5ndGgsIDApOwpkaWZmIC0t
Z2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy9hcGktcmVwb3J0LWNv
bW1pdHMtdGVzdHMuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2Fw
aS1yZXBvcnQtY29tbWl0cy10ZXN0cy5qcwppbmRleCA2ZWViYTNiYjllYTMxZDUxZTAyNTZkMWJm
NThjZWM3Njc1NDc2MTI2Li4xZjVlOTRlODUxOTI2ZDViNjQxNGYwNWI0NDI0YTM4ZDk2NGQ5ODg5
IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2VydmVyLXRlc3RzL2FwaS1y
ZXBvcnQtY29tbWl0cy10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvc2Vy
dmVyLXRlc3RzL2FwaS1yZXBvcnQtY29tbWl0cy10ZXN0cy5qcwpAQCAtMjY4LDcgKzI2OCw3IEBA
IGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAg
fSk7CiAgICAgfSk7CiAKLSAgICBjb25zdCBzYW1lUmVwb3NpdG9yeU5hbWVJblN1YkNvbW1pdEFu
ZE1ham9yQ29tbWl0ID0geworICAgIGNvbnN0IHNhbWVSZXBvc2l0b3J5TmFtZUluT3duZWRDb21t
aXRBbmRNYWpvckNvbW1pdCA9IHsKICAgICAgICAgInNsYXZlTmFtZSI6ICJzb21lU2xhdmUiLAog
ICAgICAgICAic2xhdmVQYXNzd29yZCI6ICJzb21lUGFzc3dvcmQiLAogICAgICAgICAiY29tbWl0
cyI6IFsKQEAgLTI3Niw3ICsyNzYsNyBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQtY29tbWl0cy8i
LCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgInJlcG9zaXRvcnkiOiAiT1NYIiwKICAg
ICAgICAgICAgICAgICAicmV2aXNpb24iOiAiU2llcnJhMTZEMzIiLAogICAgICAgICAgICAgICAg
ICJvcmRlciI6IDEsCi0gICAgICAgICAgICAgICAgInN1YkNvbW1pdHMiOiB7CisgICAgICAgICAg
ICAgICAgIm93bmVkQ29tbWl0cyI6IHsKICAgICAgICAgICAgICAgICAgICAgIldlYktpdCI6IHsK
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZXZpc2lvbiI6ICIxNDE5NzgiLAogICAgICAgICAg
ICAgICAgICAgICAgICAgImF1dGhvciI6IHsibmFtZSI6ICJDb21taXQgUXVldWUiLCAiYWNjb3Vu
dCI6ICJjb21taXQtcXVldWVAd2Via2l0Lm9yZyJ9LApAQCAtMjk5LDggKzI5OSw4IEBAIGRlc2Ny
aWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyIsIGZ1bmN0aW9uICgpIHsKICAgICB9CiAKICAgICBp
dCgic2hvdWxkIGRpc3Rpbmd1aXNoIGJldHdlZW4gcmVwb3NpdG9yaWVzIHdpdGggdGhlIHNhbWUg
bmFtZSBidXQgd2l0aCBhIGRpZmZlcmVudCBvd25lci4iLCAoKSA9PiB7Ci0gICAgICAgIHJldHVy
biBhZGRTbGF2ZUZvclJlcG9ydChzYW1lUmVwb3NpdG9yeU5hbWVJblN1YkNvbW1pdEFuZE1ham9y
Q29tbWl0KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90
ZUFQSSgpLnBvc3RKU09OKCcvYXBpL3JlcG9ydC1jb21taXRzLycsIHNhbWVSZXBvc2l0b3J5TmFt
ZUluU3ViQ29tbWl0QW5kTWFqb3JDb21taXQpOworICAgICAgICByZXR1cm4gYWRkU2xhdmVGb3JS
ZXBvcnQoc2FtZVJlcG9zaXRvcnlOYW1lSW5Pd25lZENvbW1pdEFuZE1ham9yQ29tbWl0KS50aGVu
KCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBUZXN0U2VydmVyLnJlbW90ZUFQSSgpLnBvc3RK
U09OKCcvYXBpL3JlcG9ydC1jb21taXRzLycsIHNhbWVSZXBvc2l0b3J5TmFtZUluT3duZWRDb21t
aXRBbmRNYWpvckNvbW1pdCk7CiAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2VbJ3N0YXR1cyddLCAnT0snKTsKICAgICAgICAg
ICAgIHJldHVybiBUZXN0U2VydmVyLmRhdGFiYXNlKCkuc2VsZWN0Um93cygncmVwb3NpdG9yaWVz
JywgeyduYW1lJzogJ1dlYktpdCd9KTsKQEAgLTMyMiw3ICszMjIsNyBAQCBkZXNjcmliZSgiL2Fw
aS9yZXBvcnQtY29tbWl0cy8iLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgInJlcG9z
aXRvcnkiOiAiT1NYIiwKICAgICAgICAgICAgICAgICAicmV2aXNpb24iOiAiU2llcnJhMTZEMzIi
LAogICAgICAgICAgICAgICAgICJvcmRlciI6IDEsCi0gICAgICAgICAgICAgICAgInN1YkNvbW1p
dHMiOiB7CisgICAgICAgICAgICAgICAgIm93bmVkQ29tbWl0cyI6IHsKICAgICAgICAgICAgICAg
ICAgICAgIldlYktpdCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICJyZXZpc2lvbiI6ICIx
NDE5NzgiLAogICAgICAgICAgICAgICAgICAgICAgICAgImF1dGhvciI6IHsibmFtZSI6ICJDb21t
aXQgUXVldWUiLCAiYWNjb3VudCI6ICJjb21taXQtcXVldWVAd2Via2l0Lm9yZyJ9LApAQCAtMzM4
LDcgKzMzOCw3IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyIsIGZ1bmN0aW9uICgp
IHsKICAgICAgICAgXQogICAgIH0KIAotICAgIGl0KCJzaG91bGQgYWNjZXB0IGluc2VydGluZyBv
bmUgY29tbWl0IHdpdGggc29tZSBzdWIgY29tbWl0cyIsICgpID0+IHsKKyAgICBpdCgic2hvdWxk
IGFjY2VwdCBpbnNlcnRpbmcgb25lIGNvbW1pdCB3aXRoIHNvbWUgb3duZWQgY29tbWl0cyIsICgp
ID0+IHsKICAgICAgICAgY29uc3QgZGIgPSBUZXN0U2VydmVyLmRhdGFiYXNlKCk7CiAgICAgICAg
IHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChzeXN0ZW1WZXJzaW9uQ29tbWl0V2l0aFN1YmNvbW1p
dHMpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgcmV0dXJuIFRlc3RTZXJ2ZXIucmVtb3RlQVBJ
KCkucG9zdEpTT04oJy9hcGkvcmVwb3J0LWNvbW1pdHMvJywgc3lzdGVtVmVyc2lvbkNvbW1pdFdp
dGhTdWJjb21taXRzKTsKQEAgLTQxMCw3ICs0MTAsNyBAQCBkZXNjcmliZSgiL2FwaS9yZXBvcnQt
Y29tbWl0cy8iLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgInJlcG9zaXRvcnkiOiAi
T1NYIiwKICAgICAgICAgICAgICAgICAicmV2aXNpb24iOiAiU2llcnJhMTZEMzIiLAogICAgICAg
ICAgICAgICAgICJvcmRlciI6IDIsCi0gICAgICAgICAgICAgICAgInN1YkNvbW1pdHMiOiB7Cisg
ICAgICAgICAgICAgICAgIm93bmVkQ29tbWl0cyI6IHsKICAgICAgICAgICAgICAgICAgICAgIldl
YktpdCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICJyZXZpc2lvbiI6ICIxNDE5NzgiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgImF1dGhvciI6IHsibmFtZSI6ICJDb21taXQgUXVldWUi
LCAiYWNjb3VudCI6ICJjb21taXQtcXVldWVAd2Via2l0Lm9yZyJ9LApAQCAtNDI3LDcgKzQyNyw3
IEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydC1jb21taXRzLyIsIGZ1bmN0aW9uICgpIHsKICAgICAg
ICAgICAgICAgICAicmVwb3NpdG9yeSI6ICJPU1giLAogICAgICAgICAgICAgICAgICJyZXZpc2lv
biI6ICJTaWVycmExNkM2NyIsCiAgICAgICAgICAgICAgICAgIm9yZGVyIjogMSwKLSAgICAgICAg
ICAgICAgICAic3ViQ29tbWl0cyI6IHsKKyAgICAgICAgICAgICAgICAib3duZWRDb21taXRzIjog
ewogICAgICAgICAgICAgICAgICAgICAiV2ViS2l0IjogewogICAgICAgICAgICAgICAgICAgICAg
ICAgInJldmlzaW9uIjogIjE0MTk3OCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAiYXV0aG9y
IjogeyJuYW1lIjogIkNvbW1pdCBRdWV1ZSIsICJhY2NvdW50IjogImNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnIn0sCkBAIC00NDMsNyArNDQzLDcgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1p
dHMvIiwgZnVuY3Rpb24gKCkgewogICAgICAgICBdCiAgICAgfTsKIAotICAgIGl0KCJzaG91bGQg
YWNjZXB0IGluc2VydGluZyBtdWx0aXBsZSBjb21taXRzIHdpdGggbXVsdGlwbGUgc3ViLWNvbW1p
dHMiLCAoKSA9PiB7CisgICAgaXQoInNob3VsZCBhY2NlcHQgaW5zZXJ0aW5nIG11bHRpcGxlIGNv
bW1pdHMgd2l0aCBtdWx0aXBsZSBvd25lZC1jb21taXRzIiwgKCkgPT4gewogICAgICAgICBjb25z
dCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKICAgICAgICAgcmV0dXJuIGFkZFNsYXZlRm9y
UmVwb3J0KG11bHRpcGxlU3lzdGVtVmVyc2lvbkNvbW1pdHNXaXRoU3ViY29tbWl0cykudGhlbigo
KSA9PiB7CiAgICAgICAgICAgICByZXR1cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNP
TignL2FwaS9yZXBvcnQtY29tbWl0cy8nLCBtdWx0aXBsZVN5c3RlbVZlcnNpb25Db21taXRzV2l0
aFN1YmNvbW1pdHMpOwpAQCAtNTM4LDEzICs1MzgsMTMgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0
LWNvbW1pdHMvIiwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5Ijog
Ik9TWCIsCiAgICAgICAgICAgICAgICAgInJldmlzaW9uIjogIlNpZXJyYTE2RDMyIiwKICAgICAg
ICAgICAgICAgICAib3JkZXIiOiAxLAotICAgICAgICAgICAgICAgICJzdWJDb21taXRzIjogewor
ICAgICAgICAgICAgICAgICJvd25lZENvbW1pdHMiOiB7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQogICAgICAgICBdCiAgICAgfQogCi0gICAgaXQoInNob3VsZCBhY2NlcHQgaW5z
ZXJ0aW5nIG9uZSBjb21taXQgd2l0aCBubyBzdWIgY29tbWl0cyIsICgpID0+IHsKKyAgICBpdCgi
c2hvdWxkIGFjY2VwdCBpbnNlcnRpbmcgb25lIGNvbW1pdCB3aXRoIG5vIG93bmVkIGNvbW1pdHMi
LCAoKSA9PiB7CiAgICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChzeXN0ZW1WZXJzaW9u
Q29tbWl0V2l0aEVtcHR5U3ViY29tbWl0cykudGhlbigoKSA9PiB7CiAgICAgICAgICAgICByZXR1
cm4gVGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQtY29tbWl0cy8n
LCBzeXN0ZW1WZXJzaW9uQ29tbWl0V2l0aEVtcHR5U3ViY29tbWl0cyk7CiAgICAgICAgIH0pLnRo
ZW4oKHJlc3BvbnNlKSA9PiB7CkBAIC01NzEsNyArNTcxLDcgQEAgZGVzY3JpYmUoIi9hcGkvcmVw
b3J0LWNvbW1pdHMvIiwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICJyZXBvc2l0b3J5
IjogIk9TWCIsCiAgICAgICAgICAgICAgICAgInJldmlzaW9uIjogIlNpZXJyYTE2RDMyIiwKICAg
ICAgICAgICAgICAgICAib3JkZXIiOiAxLAotICAgICAgICAgICAgICAgICJzdWJDb21taXRzIjog
eworICAgICAgICAgICAgICAgICJvd25lZENvbW1pdHMiOiB7CiAgICAgICAgICAgICAgICAgICAg
ICJXZWJLaXQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAicmV2aXNpb24iOiAiMTQxOTc4
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lIjogIjIwMTMtMDItMDZUMDg6NTU6MjAu
OVoiLApAQCAtNTgzLDExICs1ODMsMTEgQEAgZGVzY3JpYmUoIi9hcGkvcmVwb3J0LWNvbW1pdHMv
IiwgZnVuY3Rpb24gKCkgewogICAgICAgICBdCiAgICAgfQogCi0gICAgaXQoInNob3VsZCByZWpl
Y3QgaW5zZXJ0aW5nIG9uZSBjb21taXQgd2l0aCBzdWIgY29tbWl0cyB0aGF0IGNvbnRhaW5zIHRp
bWVzdGFtcCIsICgpID0+IHsKKyAgICBpdCgic2hvdWxkIHJlamVjdCBpbnNlcnRpbmcgb25lIGNv
bW1pdCB3aXRoIG93bmVkIGNvbW1pdHMgdGhhdCBjb250YWlucyB0aW1lc3RhbXAiLCAoKSA9PiB7
CiAgICAgICAgIHJldHVybiBhZGRTbGF2ZUZvclJlcG9ydChzeXN0ZW1WZXJzaW9uQ29tbWl0QW5k
U3ViY29tbWl0V2l0aFRpbWVzdGFtcCkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICByZXR1cm4g
VGVzdFNlcnZlci5yZW1vdGVBUEkoKS5wb3N0SlNPTignL2FwaS9yZXBvcnQtY29tbWl0cy8nLCBz
eXN0ZW1WZXJzaW9uQ29tbWl0QW5kU3ViY29tbWl0V2l0aFRpbWVzdGFtcCk7CiAgICAgICAgIH0p
LnRoZW4oKHJlc3BvbnNlKSA9PiB7Ci0gICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2Vb
J3N0YXR1cyddLCAnU3ViQ29tbWl0U2hvdWxkTm90Q29udGFpblRpbWVzdGFtcCcpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKHJlc3BvbnNlWydzdGF0dXMnXSwgJ093bmVkQ29tbWl0U2hvdWxk
Tm90Q29udGFpblRpbWVzdGFtcCcpOwogICAgICAgICB9KTsKICAgICB9KTsKIH0pOwpkaWZmIC0t
Z2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0cy90b29scy1vcy1idWls
ZC1mZXRjaGVyLXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3NlcnZlci10ZXN0
cy90b29scy1vcy1idWlsZC1mZXRjaGVyLXRlc3RzLmpzCmluZGV4IDlkYWFiZDBmODQyYTI4ZjQ2
ZjdkODNmNzMwY2NhMTA3YWRlYjgyOGQuLmJjZDM5ODJlY2NmMTJkZWViZTdiZDBlNzkzZGQ4YjVk
MjQ2OGEwMzYgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9zZXJ2ZXItdGVz
dHMvdG9vbHMtb3MtYnVpbGQtZmV0Y2hlci10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvc2VydmVyLXRlc3RzL3Rvb2xzLW9zLWJ1aWxkLWZldGNoZXItdGVzdHMuanMKQEAg
LTMwLDE1ICszMCwxNSBAQCBkZXNjcmliZSgnT1NCdWlsZEZldGNoZXInLCBmdW5jdGlvbigpIHsK
ICAgICAgICAgJ3Bhc3N3b3JkJzogJ3NvbWVQYXNzd29yZCcKICAgICB9OwogCi0gICAgY29uc3Qg
c3ViQ29tbWl0V2l0aFdlYktpdCA9IHsKKyAgICBjb25zdCBvd25lZENvbW1pdFdpdGhXZWJLaXQg
PSB7CiAgICAgICAgICdXZWJLaXQnOiB7J3JldmlzaW9uJzogJzE0MTk3OCd9CiAgICAgfTsKIAot
ICAgIGNvbnN0IGFub3RoZXJTdWJDb21taXRXaXRoV2ViS2l0ID0geworICAgIGNvbnN0IGFub3Ro
ZXJvd25lZENvbW1pdFdpdGhXZWJLaXQgPSB7CiAgICAgICAgICdXZWJLaXQnOiB7J3JldmlzaW9u
JzogJzE0MTk5OSd9CiAgICAgfTsKIAotICAgIGNvbnN0IGFub3RoZXJTdWJDb21taXRXaXRoV2Vi
S2l0QW5kSmF2YVNjcmlwdENvcmUgPSB7CisgICAgY29uc3QgYW5vdGhlcm93bmVkQ29tbWl0V2l0
aFdlYktpdEFuZEphdmFTY3JpcHRDb3JlID0gewogICAgICAgICAnV2ViS2l0JzogeydyZXZpc2lv
bic6ICcxNDIwMDAnfSwKICAgICAgICAgJ0phdmFTY3JpcHRDb3JlJzogeydyZXZpc2lvbic6ICcx
NDIwMDAnfQogICAgIH07CkBAIC02MSwxNCArNjEsMTQgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRj
aGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICdjdXN0b21Db21tYW5kcyc6IFsKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAnY29tbWFuZCc6IFsnbGlzdCcsICdhbGwgb3N4IDE2RHh4
IGJ1aWxkcyddLAotICAgICAgICAgICAgICAgICdzdWJDb21taXRDb21tYW5kJzogWydsaXN0Jywg
J3N1YkNvbW1pdCcsICdmb3InLCAncmV2aXNpb24nXSwKKyAgICAgICAgICAgICAgICAnb3duZWRD
b21taXRDb21tYW5kJzogWydsaXN0JywgJ293bmVkQ29tbWl0JywgJ2ZvcicsICdyZXZpc2lvbidd
LAogICAgICAgICAgICAgICAgICdsaW5lc1RvSWdub3JlJzogJ15cXC4qJCcsCiAgICAgICAgICAg
ICAgICAgJ21pblJldmlzaW9uJzogJ1NpZXJyYTE2RDAnLAogICAgICAgICAgICAgICAgICdtYXhS
ZXZpc2lvbic6ICdTaWVycmExNkQ5OTknCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICdjb21tYW5kJzogWydsaXN0JywgJ2FsbCBvc3ggMTZFeHggYnVpbGRz
J10sCi0gICAgICAgICAgICAgICAgJ3N1YkNvbW1pdENvbW1hbmQnOiBbJ2xpc3QnLCAnc3ViQ29t
bWl0JywgJ2ZvcicsICdyZXZpc2lvbiddLAorICAgICAgICAgICAgICAgICdvd25lZENvbW1pdENv
bW1hbmQnOiBbJ2xpc3QnLCAnb3duZWRDb21taXQnLCAnZm9yJywgJ3JldmlzaW9uJ10sCiAgICAg
ICAgICAgICAgICAgJ2xpbmVzVG9JZ25vcmUnOiAnXlxcLiokJywKICAgICAgICAgICAgICAgICAn
bWluUmV2aXNpb24nOiAnU2llcnJhMTZFMCcsCiAgICAgICAgICAgICAgICAgJ21heFJldmlzaW9u
JzogJ1NpZXJyYTE2RTk5OScKQEAgLTc3LDcgKzc3LDcgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRj
aGVyJywgZnVuY3Rpb24oKSB7CiAgICAgfTsKIAogCi0gICAgY29uc3QgY29uZmlnV2l0aG91dFN1
YkNvbW1pdENvbW1hbmQgPSB7CisgICAgY29uc3QgY29uZmlnV2l0aG91dG93bmVkQ29tbWl0Q29t
bWFuZCA9IHsKICAgICAgICAgJ25hbWUnOiAnT1NYJywKICAgICAgICAgJ2N1c3RvbUNvbW1hbmRz
JzogWwogICAgICAgICAgICAgewpAQCAtMTQxLDY4ICsxNDEsNjggQEAgZGVzY3JpYmUoJ09TQnVp
bGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgIH0pOwogICAgIH0pOwogCi0gICAgZGVz
Y3JpYmUoJ09TQnVpbGRGZXRjaGVyLl9hZGRTdWJDb21taXRzRm9yQnVpbGQnLCAoKSA9PiB7Ci0g
ICAgICAgIGl0KCdzaG91bGQgYWRkIHN1Yi1jb21taXQgaW5mbyBmb3IgY29tbWl0cycsICgpID0+
IHsKKyAgICBkZXNjcmliZSgnT1NCdWlsZEZldGNoZXIuX2FkZE93bmVkQ29tbWl0c0ZvckJ1aWxk
JywgKCkgPT4geworICAgICAgICBpdCgnc2hvdWxkIGFkZCBvd25lZC1jb21taXQgaW5mbyBmb3Ig
Y29tbWl0cycsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9n
Z2VyOwogICAgICAgICAgICAgY29uc3QgZmV0Y2h0ZXIgPSBuZXcgT1NCdWlsZEZldGNoZXIobnVs
bCwgbnVsbCwgbnVsbCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CiAgICAgICAgICAgICBjb25z
dCB3YWl0Rm9ySW52b2NhdGlvblByb21pc2UgPSBNb2NrU3VicHJvY2Vzcy53YWl0Rm9ySW52b2Nh
dGlvbigpOwotICAgICAgICAgICAgY29uc3QgYWRkU3ViQ29tbWl0UHJvbWlzZSA9IGZldGNodGVy
Ll9hZGRTdWJDb21taXRzRm9yQnVpbGQoW29zeENvbW1pdCwgYW5vdGhlck9TWENvbW1pdF0sIFsn
c3ViQ29tbWl0JywgJ2ZvcicsICdyZXZpc2lvbiddKTsKKyAgICAgICAgICAgIGNvbnN0IGFkZG93
bmVkQ29tbWl0UHJvbWlzZSA9IGZldGNodGVyLl9hZGRPd25lZENvbW1pdHNGb3JCdWlsZChbb3N4
Q29tbWl0LCBhbm90aGVyT1NYQ29tbWl0XSwgWydvd25lZENvbW1pdCcsICdmb3InLCAncmV2aXNp
b24nXSk7CiAKICAgICAgICAgICAgIHJldHVybiB3YWl0Rm9ySW52b2NhdGlvblByb21pc2UudGhl
bigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKE1vY2tTdWJwcm9jZXNzLmlu
dm9jYXRpb25zLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChN
b2NrU3VicHJvY2Vzcy5pbnZvY2F0aW9uc1swXS5jb21tYW5kLCBbJ3N1YkNvbW1pdCcsICdmb3In
LCAncmV2aXNpb24nLCAnU2llcnJhMTZEMzInXSk7Ci0gICAgICAgICAgICAgICAgTW9ja1N1YnBy
b2Nlc3MuaW52b2NhdGlvbnNbMF0ucmVzb2x2ZShKU09OLnN0cmluZ2lmeShzdWJDb21taXRXaXRo
V2ViS2l0KSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChNb2NrU3VicHJvY2Vz
cy5pbnZvY2F0aW9uc1swXS5jb21tYW5kLCBbJ293bmVkQ29tbWl0JywgJ2ZvcicsICdyZXZpc2lv
bicsICdTaWVycmExNkQzMiddKTsKKyAgICAgICAgICAgICAgICBNb2NrU3VicHJvY2Vzcy5pbnZv
Y2F0aW9uc1swXS5yZXNvbHZlKEpTT04uc3RyaW5naWZ5KG93bmVkQ29tbWl0V2l0aFdlYktpdCkp
OwogICAgICAgICAgICAgICAgIE1vY2tTdWJwcm9jZXNzLnJlc2V0KCk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIE1vY2tTdWJwcm9jZXNzLndhaXRGb3JJbnZvY2F0aW9uKCk7CiAgICAgICAgICAg
ICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1N1YnBy
b2Nlc3MuaW52b2NhdGlvbnMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZGVl
cEVxdWFsKE1vY2tTdWJwcm9jZXNzLmludm9jYXRpb25zWzBdLmNvbW1hbmQsIFsnc3ViQ29tbWl0
JywgJ2ZvcicsICdyZXZpc2lvbicsICdTaWVycmExNkUzMiddKTsKLSAgICAgICAgICAgICAgICBN
b2NrU3VicHJvY2Vzcy5pbnZvY2F0aW9uc1swXS5yZXNvbHZlKEpTT04uc3RyaW5naWZ5KGFub3Ro
ZXJTdWJDb21taXRXaXRoV2ViS2l0KSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFkZFN1YkNv
bW1pdFByb21pc2U7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChNb2NrU3VicHJv
Y2Vzcy5pbnZvY2F0aW9uc1swXS5jb21tYW5kLCBbJ293bmVkQ29tbWl0JywgJ2ZvcicsICdyZXZp
c2lvbicsICdTaWVycmExNkUzMiddKTsKKyAgICAgICAgICAgICAgICBNb2NrU3VicHJvY2Vzcy5p
bnZvY2F0aW9uc1swXS5yZXNvbHZlKEpTT04uc3RyaW5naWZ5KGFub3RoZXJvd25lZENvbW1pdFdp
dGhXZWJLaXQpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gYWRkb3duZWRDb21taXRQcm9taXNl
OwogICAgICAgICAgICAgfSkudGhlbigocmVzdWx0cykgPT4gewogICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChyZXN1bHRzLmxlbmd0aCwgMik7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKHJlc3VsdHNbMF1bJ3JlcG9zaXRvcnknXSwgb3N4Q29tbWl0WydyZXBvc2l0b3J5J10pOwog
ICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXN1bHRzWzBdWydyZXZpc2lvbiddLCBvc3hD
b21taXRbJ3JldmlzaW9uJ10pOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVz
dWx0c1swXVsnc3ViQ29tbWl0cyddLCBzdWJDb21taXRXaXRoV2ViS2l0KTsKKyAgICAgICAgICAg
ICAgICBhc3NlcnQuZGVlcEVxdWFsKHJlc3VsdHNbMF1bJ293bmVkQ29tbWl0cyddLCBvd25lZENv
bW1pdFdpdGhXZWJLaXQpOwogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXN1bHRzWzFd
WydyZXBvc2l0b3J5J10sIGFub3RoZXJPU1hDb21taXRbJ3JlcG9zaXRvcnknXSk7CiAgICAgICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlc3VsdHNbMV1bJ3JldmlzaW9uJ10sIGFub3RoZXJPU1hD
b21taXRbJ3JldmlzaW9uJ10pOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwocmVz
dWx0c1sxXVsnc3ViQ29tbWl0cyddLCBhbm90aGVyU3ViQ29tbWl0V2l0aFdlYktpdCk7CisgICAg
ICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChyZXN1bHRzWzFdWydvd25lZENvbW1pdHMnXSwg
YW5vdGhlcm93bmVkQ29tbWl0V2l0aFdlYktpdCk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAg
fSk7CiAKLSAgICAgICAgaXQoJ3Nob3VsZCBmYWlsIGlmIHRoZSBjb21tYW5kIHRvIGdldCBzdWIt
Y29tbWl0IGluZm8gZmFpbHMnLCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgZmFpbCBpZiB0
aGUgY29tbWFuZCB0byBnZXQgb3duZWQtY29tbWl0IGluZm8gZmFpbHMnLCAoKSA9PiB7CiAgICAg
ICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgIGNvbnN0
IGZldGNodGVyID0gbmV3IE9TQnVpbGRGZXRjaGVyKG51bGwsIG51bGwsIG51bGwsIE1vY2tTdWJw
cm9jZXNzLCBsb2dnZXIpOwogICAgICAgICAgICAgY29uc3Qgd2FpdEZvckludm9jYXRpb25Qcm9t
aXNlID0gTW9ja1N1YnByb2Nlc3Mud2FpdEZvckludm9jYXRpb24oKTsKLSAgICAgICAgICAgIGNv
bnN0IGFkZFN1YkNvbW1pdFByb21pc2UgPSBmZXRjaHRlci5fYWRkU3ViQ29tbWl0c0ZvckJ1aWxk
KFtvc3hDb21taXRdLCBbJ3N1YkNvbW1pdCcsICdmb3InLCAncmV2aXNpb24nXSkKKyAgICAgICAg
ICAgIGNvbnN0IGFkZG93bmVkQ29tbWl0UHJvbWlzZSA9IGZldGNodGVyLl9hZGRPd25lZENvbW1p
dHNGb3JCdWlsZChbb3N4Q29tbWl0XSwgWydvd25lZENvbW1pdCcsICdmb3InLCAncmV2aXNpb24n
XSkKIAogICAgICAgICAgICAgcmV0dXJuIHdhaXRGb3JJbnZvY2F0aW9uUHJvbWlzZS50aGVuKCgp
ID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoTW9ja1N1YnByb2Nlc3MuaW52b2Nh
dGlvbnMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKE1vY2tT
dWJwcm9jZXNzLmludm9jYXRpb25zWzBdLmNvbW1hbmQsIFsnc3ViQ29tbWl0JywgJ2ZvcicsICdy
ZXZpc2lvbicsICdTaWVycmExNkQzMiddKTsKLSAgICAgICAgICAgICAgICBNb2NrU3VicHJvY2Vz
cy5pbnZvY2F0aW9uc1swXS5yZWplY3QoJ0ZhaWxlZCBnZXR0aW5nIHN1Yi1jb21taXQnKTsKKyAg
ICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKE1vY2tTdWJwcm9jZXNzLmludm9jYXRpb25z
WzBdLmNvbW1hbmQsIFsnb3duZWRDb21taXQnLCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2
RDMyJ10pOworICAgICAgICAgICAgICAgIE1vY2tTdWJwcm9jZXNzLmludm9jYXRpb25zWzBdLnJl
amVjdCgnRmFpbGVkIGdldHRpbmcgb3duZWQtY29tbWl0Jyk7CiAKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gYWRkU3ViQ29tbWl0UHJvbWlzZS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gYWRkb3duZWRDb21taXRQcm9taXNlLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAg
ICAgICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOwogICAgICAgICAg
ICAgICAgIH0sIChlcnJvcl9vdXRwdXQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
KGVycm9yX291dHB1dCk7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlcnJvcl9v
dXRwdXQsICdGYWlsZWQgZ2V0dGluZyBzdWItY29tbWl0Jyk7CisgICAgICAgICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChlcnJvcl9vdXRwdXQsICdGYWlsZWQgZ2V0dGluZyBvd25lZC1jb21taXQn
KTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKIAog
Ci0gICAgICAgIGl0KCdzaG91bGQgZmFpbCBpZiBlbnRyaWVzIGluIHN1Yi1jb21taXRzIGRvZXMg
bm90IGNvbnRhaW4gcmV2aXNpb24nLCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgZmFpbCBp
ZiBlbnRyaWVzIGluIG93bmVkLWNvbW1pdHMgZG9lcyBub3QgY29udGFpbiByZXZpc2lvbicsICgp
ID0+IHsKICAgICAgICAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBNb2NrTG9nZ2VyOwogICAgICAg
ICAgICAgY29uc3QgZmV0Y2h0ZXIgPSBuZXcgT1NCdWlsZEZldGNoZXIobnVsbCwgbnVsbCwgbnVs
bCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CiAgICAgICAgICAgICBjb25zdCB3YWl0Rm9ySW52
b2NhdGlvblByb21pc2UgPSBNb2NrU3VicHJvY2Vzcy53YWl0Rm9ySW52b2NhdGlvbigpOwotICAg
ICAgICAgICAgY29uc3QgYWRkU3ViQ29tbWl0UHJvbWlzZSA9IGZldGNodGVyLl9hZGRTdWJDb21t
aXRzRm9yQnVpbGQoW29zeENvbW1pdF0sIFsnc3ViQ29tbWl0JywgJ2ZvcicsICdyZXZpc2lvbidd
KQorICAgICAgICAgICAgY29uc3QgYWRkb3duZWRDb21taXRQcm9taXNlID0gZmV0Y2h0ZXIuX2Fk
ZE93bmVkQ29tbWl0c0ZvckJ1aWxkKFtvc3hDb21taXRdLCBbJ293bmVkQ29tbWl0JywgJ2Zvcics
ICdyZXZpc2lvbiddKQogCiAgICAgICAgICAgICByZXR1cm4gd2FpdEZvckludm9jYXRpb25Qcm9t
aXNlLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChNb2NrU3VicHJv
Y2Vzcy5pbnZvY2F0aW9ucy5sZW5ndGgsIDEpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVw
RXF1YWwoTW9ja1N1YnByb2Nlc3MuaW52b2NhdGlvbnNbMF0uY29tbWFuZCwgWydzdWJDb21taXQn
LCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2RDMyJ10pOworICAgICAgICAgICAgICAgIGFz
c2VydC5kZWVwRXF1YWwoTW9ja1N1YnByb2Nlc3MuaW52b2NhdGlvbnNbMF0uY29tbWFuZCwgWydv
d25lZENvbW1pdCcsICdmb3InLCAncmV2aXNpb24nLCAnU2llcnJhMTZEMzInXSk7CiAgICAgICAg
ICAgICAgICAgTW9ja1N1YnByb2Nlc3MuaW52b2NhdGlvbnNbMF0ucmVzb2x2ZSgneyJXZWJLaXQi
OnsiUmFuZG9tS2V5IjogIlJhbmRvbVZhbHVlIn19Jyk7CiAKLSAgICAgICAgICAgICAgICByZXR1
cm4gYWRkU3ViQ29tbWl0UHJvbWlzZS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gYWRkb3duZWRDb21taXRQcm9taXNlLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgICAg
ICBhc3NlcnQoZmFsc2UsICdzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCcpOwogICAgICAgICAgICAg
ICAgIH0sIChlcnJvcl9vdXRwdXQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KGVy
cm9yX291dHB1dCk7CkBAIC0yMjMsNyArMjIzLDcgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRjaGVy
JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBUZXN0U2VydmVyLmRhdGFiYXNlKCkuZGlzY29u
bmVjdCgpOwogICAgICAgICB9KTsKIAotICAgICAgICBpdCgnc2hvdWxkIHJlcG9ydCBhbGwgYnVp
bGQgY29tbWl0cyB3aXRoIHN1Yi1jb21taXRzJywgKCkgPT4geworICAgICAgICBpdCgnc2hvdWxk
IHJlcG9ydCBhbGwgYnVpbGQgY29tbWl0cyB3aXRoIG93bmVkLWNvbW1pdHMnLCAoKSA9PiB7CiAg
ICAgICAgICAgICBjb25zdCBsb2dnZXIgPSBuZXcgTW9ja0xvZ2dlcjsKICAgICAgICAgICAgIGNv
bnN0IGZldGNodGVyID0gbmV3IE9TQnVpbGRGZXRjaGVyKGNvbmZpZywgVGVzdFNlcnZlci5yZW1v
dGVBUEkoKSwgc2xhdmVBdXRoLCBNb2NrU3VicHJvY2VzcywgbG9nZ2VyKTsKICAgICAgICAgICAg
IGNvbnN0IGRiID0gVGVzdFNlcnZlci5kYXRhYmFzZSgpOwpAQCAtMjYwLDggKzI2MCw4IEBAIGRl
c2NyaWJlKCdPU0J1aWxkRmV0Y2hlcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIHJl
dHVybiBNb2NrU3VicHJvY2Vzcy5yZXNldEFuZFdhaXRGb3JJbnZvY2F0aW9uKCk7CiAgICAgICAg
ICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoaW52b2Nh
dGlvbnMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKGludm9j
YXRpb25zWzBdLmNvbW1hbmQsIFsnbGlzdCcsICdzdWJDb21taXQnLCAnZm9yJywgJ3JldmlzaW9u
JywgJ1NpZXJyYTE2RDY5J10pOwotICAgICAgICAgICAgICAgIGludm9jYXRpb25zWzBdLnJlc29s
dmUoSlNPTi5zdHJpbmdpZnkoc3ViQ29tbWl0V2l0aFdlYktpdCkpOworICAgICAgICAgICAgICAg
IGFzc2VydC5kZWVwRXF1YWwoaW52b2NhdGlvbnNbMF0uY29tbWFuZCwgWydsaXN0JywgJ293bmVk
Q29tbWl0JywgJ2ZvcicsICdyZXZpc2lvbicsICdTaWVycmExNkQ2OSddKTsKKyAgICAgICAgICAg
ICAgICBpbnZvY2F0aW9uc1swXS5yZXNvbHZlKEpTT04uc3RyaW5naWZ5KG93bmVkQ29tbWl0V2l0
aFdlYktpdCkpOwogICAgICAgICAgICAgICAgIHJldHVybiBNb2NrU3VicHJvY2Vzcy5yZXNldEFu
ZFdhaXRGb3JJbnZvY2F0aW9uKCk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAg
ICAgICAgICAgICBhc3NlcnQuZXF1YWwoaW52b2NhdGlvbnMubGVuZ3RoLCAxKTsKQEAgLTI3MCwx
MyArMjcwLDEzIEBAIGRlc2NyaWJlKCdPU0J1aWxkRmV0Y2hlcicsIGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgICAgIHJldHVybiBNb2NrU3VicHJvY2Vzcy5yZXNldEFuZFdhaXRGb3JJbnZvY2F0
aW9uKCk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoaW52b2NhdGlvbnMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQu
ZGVlcEVxdWFsKGludm9jYXRpb25zWzBdLmNvbW1hbmQsIFsnbGlzdCcsICdzdWJDb21taXQnLCAn
Zm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2RTMzaCddKTsKLSAgICAgICAgICAgICAgICBpbnZv
Y2F0aW9uc1swXS5yZXNvbHZlKEpTT04uc3RyaW5naWZ5KGFub3RoZXJTdWJDb21taXRXaXRoV2Vi
S2l0KSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChpbnZvY2F0aW9uc1swXS5j
b21tYW5kLCBbJ2xpc3QnLCAnb3duZWRDb21taXQnLCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJy
YTE2RTMzaCddKTsKKyAgICAgICAgICAgICAgICBpbnZvY2F0aW9uc1swXS5yZXNvbHZlKEpTT04u
c3RyaW5naWZ5KGFub3RoZXJvd25lZENvbW1pdFdpdGhXZWJLaXQpKTsKICAgICAgICAgICAgICAg
ICByZXR1cm4gTW9ja1N1YnByb2Nlc3MucmVzZXRBbmRXYWl0Rm9ySW52b2NhdGlvbigpOwogICAg
ICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGlu
dm9jYXRpb25zLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChp
bnZvY2F0aW9uc1swXS5jb21tYW5kLCBbJ2xpc3QnLCAnc3ViQ29tbWl0JywgJ2ZvcicsICdyZXZp
c2lvbicsICdTaWVycmExNkUzNCddKTsKLSAgICAgICAgICAgICAgICBpbnZvY2F0aW9uc1swXS5y
ZXNvbHZlKEpTT04uc3RyaW5naWZ5KGFub3RoZXJTdWJDb21taXRXaXRoV2ViS2l0QW5kSmF2YVNj
cmlwdENvcmUpKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKGludm9jYXRpb25z
WzBdLmNvbW1hbmQsIFsnbGlzdCcsICdvd25lZENvbW1pdCcsICdmb3InLCAncmV2aXNpb24nLCAn
U2llcnJhMTZFMzQnXSk7CisgICAgICAgICAgICAgICAgaW52b2NhdGlvbnNbMF0ucmVzb2x2ZShK
U09OLnN0cmluZ2lmeShhbm90aGVyb3duZWRDb21taXRXaXRoV2ViS2l0QW5kSmF2YVNjcmlwdENv
cmUpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmV0Y2hBdmFpbGFibGVCdWlsZHNQcm9taXNl
OwogICAgICAgICAgICAgfSkudGhlbigocmVzdWx0cykgPT4gewogICAgICAgICAgICAgICAgIGFz
c2VydC5lcXVhbChyZXN1bHRzLmxlbmd0aCwgMyk7CkBAIC0yOTAsOCArMjkwLDggQEAgZGVzY3Jp
YmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IE1vY2tTdWJwcm9jZXNzLnJlc2V0QW5kV2FpdEZvckludm9jYXRpb24oKTsKICAgICAgICAgICAg
IH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChpbnZvY2F0aW9u
cy5sZW5ndGgsIDEpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoaW52b2NhdGlv
bnNbMF0uY29tbWFuZCwgWydsaXN0JywgJ3N1YkNvbW1pdCcsICdmb3InLCAncmV2aXNpb24nLCAn
U2llcnJhMTZENjknXSk7Ci0gICAgICAgICAgICAgICAgaW52b2NhdGlvbnNbMF0ucmVzb2x2ZShK
U09OLnN0cmluZ2lmeShzdWJDb21taXRXaXRoV2ViS2l0KSk7CisgICAgICAgICAgICAgICAgYXNz
ZXJ0LmRlZXBFcXVhbChpbnZvY2F0aW9uc1swXS5jb21tYW5kLCBbJ2xpc3QnLCAnb3duZWRDb21t
aXQnLCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2RDY5J10pOworICAgICAgICAgICAgICAg
IGludm9jYXRpb25zWzBdLnJlc29sdmUoSlNPTi5zdHJpbmdpZnkob3duZWRDb21taXRXaXRoV2Vi
S2l0KSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1vY2tTdWJwcm9jZXNzLnJlc2V0QW5kV2Fp
dEZvckludm9jYXRpb24oKTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChpbnZvY2F0aW9ucy5sZW5ndGgsIDEpOwpAQCAtMzAwLDEzICsz
MDAsMTMgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIE1vY2tTdWJwcm9jZXNzLnJlc2V0QW5kV2FpdEZvckludm9jYXRpb24o
KTsKICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5l
cXVhbChpbnZvY2F0aW9ucy5sZW5ndGgsIDEpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVw
RXF1YWwoaW52b2NhdGlvbnNbMF0uY29tbWFuZCwgWydsaXN0JywgJ3N1YkNvbW1pdCcsICdmb3In
LCAncmV2aXNpb24nLCAnU2llcnJhMTZFMzNoJ10pOwotICAgICAgICAgICAgICAgIGludm9jYXRp
b25zWzBdLnJlc29sdmUoSlNPTi5zdHJpbmdpZnkoYW5vdGhlclN1YkNvbW1pdFdpdGhXZWJLaXQp
KTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKGludm9jYXRpb25zWzBdLmNvbW1h
bmQsIFsnbGlzdCcsICdvd25lZENvbW1pdCcsICdmb3InLCAncmV2aXNpb24nLCAnU2llcnJhMTZF
MzNoJ10pOworICAgICAgICAgICAgICAgIGludm9jYXRpb25zWzBdLnJlc29sdmUoSlNPTi5zdHJp
bmdpZnkoYW5vdGhlcm93bmVkQ29tbWl0V2l0aFdlYktpdCkpOwogICAgICAgICAgICAgICAgIHJl
dHVybiBNb2NrU3VicHJvY2Vzcy5yZXNldEFuZFdhaXRGb3JJbnZvY2F0aW9uKCk7CiAgICAgICAg
ICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoaW52b2Nh
dGlvbnMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgICAgICBpbnZvY2F0aW9uc1swXS5yZXNvbHZl
KEpTT04uc3RyaW5naWZ5KGFub3RoZXJTdWJDb21taXRXaXRoV2ViS2l0QW5kSmF2YVNjcmlwdENv
cmUpKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZGVlcEVxdWFsKGludm9jYXRpb25zWzBdLmNv
bW1hbmQsIFsnbGlzdCcsICdzdWJDb21taXQnLCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2
RTM0J10pOworICAgICAgICAgICAgICAgIGludm9jYXRpb25zWzBdLnJlc29sdmUoSlNPTi5zdHJp
bmdpZnkoYW5vdGhlcm93bmVkQ29tbWl0V2l0aFdlYktpdEFuZEphdmFTY3JpcHRDb3JlKSk7Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChpbnZvY2F0aW9uc1swXS5jb21tYW5kLCBb
J2xpc3QnLCAnb3duZWRDb21taXQnLCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2RTM0J10p
OwogCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoQW5kUmVwb3J0UHJvbWlzZTsKICAgICAg
ICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4gewpAQCAtMzU1LDkgKzM1NSw5IEBAIGRlc2NyaWJl
KCdPU0J1aWxkRmV0Y2hlcicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgfSk7CiAgICAgICAg
IH0pOwogCi0gICAgICAgIGl0KCdzaG91bGQgcmVwb3J0IGNvbW1pdHMgd2l0aG91dCBzdWItY29t
bWl0cyBpZiAic3ViQ29tbWl0Q29tbWFuZCIgaXMgbm90IHNwZWNpZmllZCBpbiBjb25maWcnLCAo
KSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgcmVwb3J0IGNvbW1pdHMgd2l0aG91dCBvd25lZC1j
b21taXRzIGlmICJvd25lZENvbW1pdENvbW1hbmQiIGlzIG5vdCBzcGVjaWZpZWQgaW4gY29uZmln
JywgKCkgPT4gewogICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IE1vY2tMb2dnZXI7Ci0g
ICAgICAgICAgICBjb25zdCBmZXRjaHRlciA9IG5ldyBPU0J1aWxkRmV0Y2hlcihjb25maWdXaXRo
b3V0U3ViQ29tbWl0Q29tbWFuZCwgVGVzdFNlcnZlci5yZW1vdGVBUEkoKSwgc2xhdmVBdXRoLCBN
b2NrU3VicHJvY2VzcywgbG9nZ2VyKTsKKyAgICAgICAgICAgIGNvbnN0IGZldGNodGVyID0gbmV3
IE9TQnVpbGRGZXRjaGVyKGNvbmZpZ1dpdGhvdXRvd25lZENvbW1pdENvbW1hbmQsIFRlc3RTZXJ2
ZXIucmVtb3RlQVBJKCksIHNsYXZlQXV0aCwgTW9ja1N1YnByb2Nlc3MsIGxvZ2dlcik7CiAgICAg
ICAgICAgICBjb25zdCBkYiA9IFRlc3RTZXJ2ZXIuZGF0YWJhc2UoKTsKICAgICAgICAgICAgIGxl
dCBmZXRjaEFuZFJlcG9ydFByb21pc2UgPSBudWxsOwogICAgICAgICAgICAgbGV0IGZldGNoQXZh
aWxhYmxlQnVpbGRzUHJvbWlzZSA9IG51bGw7CkBAIC00NzgsOCArNDc4LDggQEAgZGVzY3JpYmUo
J09TQnVpbGRGZXRjaGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE1v
Y2tTdWJwcm9jZXNzLnJlc2V0QW5kV2FpdEZvckludm9jYXRpb24oKTsKICAgICAgICAgICAgIH0p
LnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChpbnZvY2F0aW9ucy5s
ZW5ndGgsIDEpOwotICAgICAgICAgICAgICAgIGFzc2VydC5kZWVwRXF1YWwoaW52b2NhdGlvbnNb
MF0uY29tbWFuZCwgWydsaXN0JywgJ3N1YkNvbW1pdCcsICdmb3InLCAncmV2aXNpb24nLCAnU2ll
cnJhMTZENjknXSk7Ci0gICAgICAgICAgICAgICAgTW9ja1N1YnByb2Nlc3MuaW52b2NhdGlvbnNb
MF0ucmVzb2x2ZShKU09OLnN0cmluZ2lmeShzdWJDb21taXRXaXRoV2ViS2l0KSk7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChpbnZvY2F0aW9uc1swXS5jb21tYW5kLCBbJ2xpc3Qn
LCAnb3duZWRDb21taXQnLCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2RDY5J10pOworICAg
ICAgICAgICAgICAgIE1vY2tTdWJwcm9jZXNzLmludm9jYXRpb25zWzBdLnJlc29sdmUoSlNPTi5z
dHJpbmdpZnkob3duZWRDb21taXRXaXRoV2ViS2l0KSk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IE1vY2tTdWJwcm9jZXNzLnJlc2V0QW5kV2FpdEZvckludm9jYXRpb24oKTsKICAgICAgICAgICAg
IH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChpbnZvY2F0aW9u
cy5sZW5ndGgsIDEpOwpAQCAtNDg3LDEyICs0ODcsMTIgQEAgZGVzY3JpYmUoJ09TQnVpbGRGZXRj
aGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgaW52b2NhdGlvbnNbMF0ucmVzb2x2
ZSgnXG5cblNpZXJyYTE2RTMyXG5TaWVycmExNkUzM1xuU2llcnJhMTZFMzNoXG5TaWVycmExNkUz
NCcpOwogICAgICAgICAgICAgICAgIHJldHVybiBNb2NrU3VicHJvY2Vzcy5yZXNldEFuZFdhaXRG
b3JJbnZvY2F0aW9uKCk7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAg
ICAgICBhc3NlcnQuZGVlcEVxdWFsKGludm9jYXRpb25zWzBdLmNvbW1hbmQsIFsnbGlzdCcsICdz
dWJDb21taXQnLCAnZm9yJywgJ3JldmlzaW9uJywgJ1NpZXJyYTE2RTMzaCddKTsKLSAgICAgICAg
ICAgICAgICBpbnZvY2F0aW9uc1swXS5yZXNvbHZlKEpTT04uc3RyaW5naWZ5KGFub3RoZXJTdWJD
b21taXRXaXRoV2ViS2l0KSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmRlZXBFcXVhbChpbnZv
Y2F0aW9uc1swXS5jb21tYW5kLCBbJ2xpc3QnLCAnb3duZWRDb21taXQnLCAnZm9yJywgJ3Jldmlz
aW9uJywgJ1NpZXJyYTE2RTMzaCddKTsKKyAgICAgICAgICAgICAgICBpbnZvY2F0aW9uc1swXS5y
ZXNvbHZlKEpTT04uc3RyaW5naWZ5KGFub3RoZXJvd25lZENvbW1pdFdpdGhXZWJLaXQpKTsKICAg
ICAgICAgICAgICAgICByZXR1cm4gTW9ja1N1YnByb2Nlc3MucmVzZXRBbmRXYWl0Rm9ySW52b2Nh
dGlvbigpOwogICAgICAgICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKGludm9jYXRpb25zLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0
LmRlZXBFcXVhbChpbnZvY2F0aW9uc1swXS5jb21tYW5kLCBbJ2xpc3QnLCAnc3ViQ29tbWl0Jywg
J2ZvcicsICdyZXZpc2lvbicsICdTaWVycmExNkUzNCddKTsKKyAgICAgICAgICAgICAgICBhc3Nl
cnQuZGVlcEVxdWFsKGludm9jYXRpb25zWzBdLmNvbW1hbmQsIFsnbGlzdCcsICdvd25lZENvbW1p
dCcsICdmb3InLCAncmV2aXNpb24nLCAnU2llcnJhMTZFMzQnXSk7CiAgICAgICAgICAgICAgICAg
aW52b2NhdGlvbnNbMF0ucmVqZWN0KCdDb21tYW5kIGZhaWxlZCcpOwogICAgICAgICAgICAgICAg
IHJldHVybiBmZXRjaEFuZFJlcG9ydFByb21pc2UudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAg
ICAgICAgIGFzc2VydChmYWxzZSwgJ3Nob3VsZCBuZXZlciBiZSByZWFjaGVkJyk7CmRpZmYgLS1n
aXQgYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdG9vbHMvanMvb3MtYnVpbGQtZmV0Y2hlci5q
cyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9vcy1idWlsZC1mZXRjaGVyLmpz
CmluZGV4IDBlYjJkYzNkMmI5Y2NlYmJiOGUyMjdlMDM0MWZhNTgyNjc4MGY2ZTEuLjU1MWU1Mjk4
MDU5MTlmZjI4N2FkYzdlMzYyYTE4MTBjMDM2NTZjNzEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy90b29scy9qcy9vcy1idWlsZC1mZXRjaGVyLmpzCisrKyBiL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy90b29scy9qcy9vcy1idWlsZC1mZXRjaGVyLmpzCkBAIC01Niw5ICs1
Niw5IEBAIGNsYXNzIE9TQnVpbGRGZXRjaGVyIHsKICAgICAgICAgICAgICAgICBjb25zdCBsYWJl
bCA9ICduYW1lJyBpbiBjb21tYW5kID8gYCIke2NvbW1hbmRbJ25hbWUnXX0iYCA6IGAiY29tbWFu
ZFsnbWluUmV2aXNpb24nXSIgdG8gImNvbW1hbmRbJ21heFJldmlzaW9uJ10iYDsKICAgICAgICAg
ICAgICAgICB0aGlzLl9sb2dnZXIubG9nKGBGb3VuZCAke2NvbW1pdHMubGVuZ3RofSBidWlsZHMg
Zm9yICR7bGFiZWx9YCk7CiAKLSAgICAgICAgICAgICAgICBpZiAoJ3N1YkNvbW1pdENvbW1hbmQn
IGluIGNvbW1hbmQpIHsKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG9nZ2VyLmxvZyhgUmVz
b2x2aW5nIHN1YmNvbW1pdHMgZm9yICIke2xhYmVsfSJgKTsKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHRoaXMuX2FkZFN1YkNvbW1pdHNGb3JCdWlsZChjb21taXRzLCBjb21tYW5kWydzdWJD
b21taXRDb21tYW5kJ10pOworICAgICAgICAgICAgICAgIGlmICgnb3duZWRDb21taXRDb21tYW5k
JyBpbiBjb21tYW5kKSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvZ2dlci5sb2coYFJl
c29sdmluZyBvd25lZENvbW1pdHMgZm9yICIke2xhYmVsfSJgKTsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuX2FkZE93bmVkQ29tbWl0c0ZvckJ1aWxkKGNvbW1pdHMsIGNvbW1hbmRb
J293bmVkQ29tbWl0Q29tbWFuZCddKTsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
ICAgICByZXR1cm4gY29tbWl0czsKQEAgLTkxLDE3ICs5MSwxNyBAQCBjbGFzcyBPU0J1aWxkRmV0
Y2hlciB7CiAgICAgICAgIH0pOwogICAgIH0KIAotICAgIF9hZGRTdWJDb21taXRzRm9yQnVpbGQo
Y29tbWl0cywgY29tbWFuZCkKKyAgICBfYWRkT3duZWRDb21taXRzRm9yQnVpbGQoY29tbWl0cywg
Y29tbWFuZCkKICAgICB7CiAgICAgICAgIHJldHVybiBtYXBJblNlcmlhbFByb21pc2VDaGFpbihj
b21taXRzLCAoY29tbWl0KSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fc3VicHJvY2Vz
cy5leGVjdXRlKGNvbW1hbmQuY29uY2F0KGNvbW1pdFsncmV2aXNpb24nXSkpLnRoZW4oKHN1YkNv
bW1pdE91dHB1dCkgPT4gewotICAgICAgICAgICAgICAgIGNvbnN0IHN1YkNvbW1pdHMgPSBKU09O
LnBhcnNlKHN1YkNvbW1pdE91dHB1dCk7Ci0gICAgICAgICAgICAgICAgZm9yIChsZXQgcmVwb3Np
dG9yeU5hbWUgaW4gc3ViQ29tbWl0cykgewotICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJD
b21taXQgPSBzdWJDb21taXRzW3JlcG9zaXRvcnlOYW1lXTsKLSAgICAgICAgICAgICAgICAgICAg
YXNzZXJ0LmRlZXBFcXVhbChPYmplY3Qua2V5cyhzdWJDb21taXQpLCBbJ3JldmlzaW9uJ10pOwot
ICAgICAgICAgICAgICAgICAgICBhc3NlcnQodHlwZW9mKHN1YkNvbW1pdFsncmV2aXNpb24nXSkg
PT0gJ3N0cmluZycpOworICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N1YnByb2Nlc3MuZXhlY3V0
ZShjb21tYW5kLmNvbmNhdChjb21taXRbJ3JldmlzaW9uJ10pKS50aGVuKChvd25lZENvbW1pdE91
dHB1dCkgPT4geworICAgICAgICAgICAgICAgIGNvbnN0IG93bmVkQ29tbWl0cyA9IEpTT04ucGFy
c2Uob3duZWRDb21taXRPdXRwdXQpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlcG9zaXRv
cnlOYW1lIGluIG93bmVkQ29tbWl0cykgeworICAgICAgICAgICAgICAgICAgICBjb25zdCBvd25l
ZENvbW1pdCA9IG93bmVkQ29tbWl0c1tyZXBvc2l0b3J5TmFtZV07CisgICAgICAgICAgICAgICAg
ICAgIGFzc2VydC5kZWVwRXF1YWwoT2JqZWN0LmtleXMob3duZWRDb21taXQpLCBbJ3JldmlzaW9u
J10pOworICAgICAgICAgICAgICAgICAgICBhc3NlcnQodHlwZW9mKG93bmVkQ29tbWl0WydyZXZp
c2lvbiddKSA9PSAnc3RyaW5nJyk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IGNvbW1pdFsnc3ViQ29tbWl0cyddID0gc3ViQ29tbWl0czsKKyAgICAgICAgICAgICAgICBjb21t
aXRbJ293bmVkQ29tbWl0cyddID0gb3duZWRDb21taXRzOwogICAgICAgICAgICAgICAgIHJldHVy
biBjb21taXQ7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtbG9nLXRlc3RzLmpzIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LWxvZy10ZXN0cy5qcwppbmRl
eCAxYmQ0NmUxNTQ0MDUzNWU5NTE2NWY2YmVmNjY4MGQ3MWRhNzQzMDhhLi4zYjMxZTVjMDcxZDFj
YzA1Y2M4YThjMGQ0NmJmM2Q1YTM2N2VmMzA5IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtbG9nLXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMuanMKQEAgLTYwLDEyICs2
MCwxMiBAQCBmdW5jdGlvbiBvbGRPU1hDb21taXQoKQogICAgIH0pOwogfQogCi1mdW5jdGlvbiBj
b21taXRXaXRob3V0U3ViQ29tbWl0cygpCitmdW5jdGlvbiBjb21taXRXaXRob3V0T3duZWRDb21t
aXRzKCkKIHsKICAgICByZXR1cm4gbmV3IENvbW1pdExvZyg2LCB7CiAgICAgICAgIHJlcG9zaXRv
cnk6IE1vY2tNb2RlbHMub3duZXJSZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjogJzEwLjEx
LjQgMTVFNjYnLAotICAgICAgICBvd25zU3ViQ29tbWl0czogZmFsc2UsCisgICAgICAgIG93bnND
b21taXRzOiBmYWxzZSwKICAgICAgICAgdGltZTogbnVsbCwKICAgICB9KTsKIH0KQEAgLTc1LDcg
Kzc1LDcgQEAgZnVuY3Rpb24gb3duZXJDb21taXQoKQogICAgIHJldHVybiBuZXcgQ29tbWl0TG9n
KDUsIHsKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJlcG9zaXRvcnksCiAg
ICAgICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2NScsCi0gICAgICAgIG93bnNTdWJDb21taXRz
OiB0cnVlLAorICAgICAgICBvd25zQ29tbWl0czogdHJ1ZSwKICAgICAgICAgdGltZTogbnVsbCwK
ICAgICB9KTsKIH0KQEAgLTg1LDcgKzg1LDcgQEAgZnVuY3Rpb24gb3RoZXJPd25lckNvbW1pdCgp
CiAgICAgcmV0dXJuIG5ldyBDb21taXRMb2coNSwgewogICAgICAgICByZXBvc2l0b3J5OiBNb2Nr
TW9kZWxzLm93bmVyUmVwb3NpdG9yeSwKICAgICAgICAgcmV2aXNpb246ICcxMC4xMS40IDE1RTY2
JywKLSAgICAgICAgb3duc1N1YkNvbW1pdHM6IHRydWUsCisgICAgICAgIG93bnNDb21taXRzOiB0
cnVlLAogICAgICAgICB0aW1lOiBudWxsLAogICAgIH0pOwogfQpAQCAtMTY3LDM0ICsxNjcsMzQg
QEAgZGVzY3JpYmUoJ0NvbW1pdExvZycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgfSk7CiAgICAg
fSk7CiAKLSAgICBkZXNjcmliZSgnZmV0Y2hTdWJDb21taXRzJywgKCkgPT4geworICAgIGRlc2Ny
aWJlKCdmZXRjaE93bmVkQ29tbWl0cycsICgpID0+IHsKICAgICAgICAgYmVmb3JlRWFjaCgoKSA9
PiB7CiAgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLmluamVjdCgpOwogICAgICAgICB9KTsKIAog
ICAgICAgICBpdCgnc2hvdWxkIHJlamVjdCBpZiByZXBvc2l0b3J5IG9mIHRoZSBjb21taXQgZG9l
cyBub3Qgb3duIG90aGVyIHJlcG9zaXRvcmllcycsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0
IGNvbW1pdCA9IG9zeENvbW1pdCgpOwotICAgICAgICAgICAgcmV0dXJuIGNvbW1pdC5mZXRjaFN1
YkNvbW1pdHMoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBjb21taXQuZmV0Y2hP
d25lZENvbW1pdHMoKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgIGFzc2VydChmYWxzZSwg
J1Nob3VsZCBub3QgZXhlY3V0ZSB0aGlzIGxpbmUuJyk7CiAgICAgICAgICAgICB9LCAoZXJyb3Ip
ID0+IHsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoZXJyb3IsIHVuZGVmaW5lZCk7CiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgaXQoJ3Nob3VsZCByZWplY3Qg
aWYgY29tbWl0IGRvZXMgbm90IG93biBvdGhlciBzdWItY29tbWl0cycsICgpID0+IHsKLSAgICAg
ICAgICAgIGNvbnN0IGNvbW1pdCA9IGNvbW1pdFdpdGhvdXRTdWJDb21taXRzKCk7Ci0gICAgICAg
ICAgICByZXR1cm4gY29tbWl0LmZldGNoU3ViQ29tbWl0cygpLnRoZW4oKCkgPT4geworICAgICAg
ICBpdCgnc2hvdWxkIHJlamVjdCBpZiBjb21taXQgZG9lcyBub3Qgb3duIG90aGVyIG93bmVkLWNv
bW1pdHMnLCAoKSA9PiB7CisgICAgICAgICAgICBjb25zdCBjb21taXQgPSBjb21taXRXaXRob3V0
T3duZWRDb21taXRzKCk7CisgICAgICAgICAgICByZXR1cm4gY29tbWl0LmZldGNoT3duZWRDb21t
aXRzKCkudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgICAgYXNzZXJ0KGZhbHNlLCAnU2hvdWxk
IG5vdCBleGVjdXRlIHRoaXMgbGluZS4nKTsKICAgICAgICAgICAgIH0sIChlcnJvcikgPT4gewog
ICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChlcnJvciwgdW5kZWZpbmVkKTsKICAgICAgICAg
ICAgIH0pOwogICAgICAgICB9KTsKIAotICAgICAgICBpdCgnc2hvdWxkIHJldHVybiBzdWItY29t
bWl0IGZvciBhIHZhbGlkIGNvbW1pdCByZXZpc2lvbicsICgpID0+IHsKLSAgICAgICAgICAgIGNv
bnN0IGZldGNoaW5nUHJvbWlzZSA9IG93bmVyQ29tbWl0KCkuZmV0Y2hTdWJDb21taXRzKCk7Cisg
ICAgICAgIGl0KCdzaG91bGQgcmV0dXJuIG93bmVkLWNvbW1pdCBmb3IgYSB2YWxpZCBjb21taXQg
cmV2aXNpb24nLCAoKSA9PiB7CisgICAgICAgICAgICBjb25zdCBmZXRjaGluZ1Byb21pc2UgPSBv
d25lckNvbW1pdCgpLmZldGNoT3duZWRDb21taXRzKCk7CiAgICAgICAgICAgICBjb25zdCByZXF1
ZXN0cyA9IE1vY2tSZW1vdGVBUEkucmVxdWVzdHM7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwo
cmVxdWVzdHMubGVuZ3RoLCAxKTsKLSAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1sw
XS51cmwsICcuLi9hcGkvY29tbWl0cy8xMTEvc3ViLWNvbW1pdHM/b3duZXItcmV2aXNpb249MTAu
MTEuNCUyMDE1RTY1Jyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJs
LCAnLi4vYXBpL2NvbW1pdHMvMTExL293bmVkLWNvbW1pdHM/b3duZXItcmV2aXNpb249MTAuMTEu
NCUyMDE1RTY1Jyk7CiAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0ubWV0aG9k
LCAnR0VUJyk7CiAKICAgICAgICAgICAgIHJlcXVlc3RzWzBdLnJlc29sdmUoe2NvbW1pdHM6IFt7
CkBAIC0yMDMsMjEgKzIwMywyMSBAQCBkZXNjcmliZSgnQ29tbWl0TG9nJywgZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgICAgIHJldmlzaW9uOiAnNmY4YjBkYmJkYTk1YTQ0MDUwM2I4OGRiMWRk
MDNkYWQzYTdiMDdmYicsCiAgICAgICAgICAgICAgICAgdGltZTogKyhuZXcgRGF0ZSgnMjAxNi0w
NS0xM1QwMDo1NTo1Ny44NDEzNDRaJykpLAogICAgICAgICAgICAgfV19KTsKLSAgICAgICAgICAg
IHJldHVybiBmZXRjaGluZ1Byb21pc2UudGhlbigoc3ViQ29tbWl0cykgPT4gewotICAgICAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChzdWJDb21taXRzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKHN1YkNvbW1pdHNbMF0ucmVwb3NpdG9yeSgpLCBNb2NrTW9kZWxzLm93
bmVkUmVwb3NpdG9yeSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHN1YkNvbW1pdHNb
MF0ucmV2aXNpb24oKSwgJzZmOGIwZGJiZGE5NWE0NDA1MDNiODhkYjFkZDAzZGFkM2E3YjA3ZmIn
KTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoc3ViQ29tbWl0c1swXS5pZCgpLCAyMzMp
OworICAgICAgICAgICAgcmV0dXJuIGZldGNoaW5nUHJvbWlzZS50aGVuKChvd25lZENvbW1pdHMp
ID0+IHsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwob3duZWRDb21taXRzLmxlbmd0aCwg
MSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG93bmVkQ29tbWl0c1swXS5yZXBvc2l0
b3J5KCksIE1vY2tNb2RlbHMub3duZWRSZXBvc2l0b3J5KTsKKyAgICAgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwob3duZWRDb21taXRzWzBdLnJldmlzaW9uKCksICc2ZjhiMGRiYmRhOTVhNDQwNTAz
Yjg4ZGIxZGQwM2RhZDNhN2IwN2ZiJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG93
bmVkQ29tbWl0c1swXS5pZCgpLCAyMzMpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwog
Ci0gICAgICAgIGl0KCdzaG91bGQgb25seSBmZXRjaCBzdWItY29tbWl0cyBleGFjdGx5IG9uY2Un
LCAoKSA9PiB7CisgICAgICAgIGl0KCdzaG91bGQgb25seSBmZXRjaCBvd25lZC1jb21taXRzIGV4
YWN0bHkgb25jZScsICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGNvbW1pdCA9IG93bmVyQ29t
bWl0KCk7Ci0gICAgICAgICAgICBjb25zdCBmZXRjaGluZ1Byb21pc2UgPSBjb21taXQuZmV0Y2hT
dWJDb21taXRzKCk7CisgICAgICAgICAgICBjb25zdCBmZXRjaGluZ1Byb21pc2UgPSBjb21taXQu
ZmV0Y2hPd25lZENvbW1pdHMoKTsKICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gTW9ja1Jl
bW90ZUFQSS5yZXF1ZXN0czsKLSAgICAgICAgICAgIGxldCBleGlzdGluZ1N1YkNvbW1pdHMgPSBu
dWxsOworICAgICAgICAgICAgbGV0IGV4aXN0aW5nT3duZWRDb21taXRzID0gbnVsbDsKICAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOwotICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy4uL2FwaS9jb21taXRzLzExMS9zdWItY29tbWl0
cz9vd25lci1yZXZpc2lvbj0xMC4xMS40JTIwMTVFNjUnKTsKKyAgICAgICAgICAgIGFzc2VydC5l
cXVhbChyZXF1ZXN0c1swXS51cmwsICcuLi9hcGkvY29tbWl0cy8xMTEvb3duZWQtY29tbWl0cz9v
d25lci1yZXZpc2lvbj0xMC4xMS40JTIwMTVFNjUnKTsKICAgICAgICAgICAgIGFzc2VydC5lcXVh
bChyZXF1ZXN0c1swXS5tZXRob2QsICdHRVQnKTsKIAogICAgICAgICAgICAgTW9ja1JlbW90ZUFQ
SS5yZXF1ZXN0c1swXS5yZXNvbHZlKHtjb21taXRzOiBbewpAQCAtMjI3LDMyICsyMjcsMzIgQEAg
ZGVzY3JpYmUoJ0NvbW1pdExvZycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICB0aW1l
OiArKG5ldyBEYXRlKCcyMDE2LTA1LTEzVDAwOjU1OjU3Ljg0MTM0NFonKSksCiAgICAgICAgICAg
ICB9XX0pOwogCi0gICAgICAgICAgICByZXR1cm4gZmV0Y2hpbmdQcm9taXNlLnRoZW4oKHN1YkNv
bW1pdHMpID0+IHsKLSAgICAgICAgICAgICAgICBleGlzdGluZ1N1YkNvbW1pdHMgPSBzdWJDb21t
aXRzOwotICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChzdWJDb21taXRzLmxlbmd0aCwgMSk7
Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHN1YkNvbW1pdHNbMF0ucmVwb3NpdG9yeSgp
LCBNb2NrTW9kZWxzLm93bmVkUmVwb3NpdG9yeSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKHN1YkNvbW1pdHNbMF0ucmV2aXNpb24oKSwgJzZmOGIwZGJiZGE5NWE0NDA1MDNiODhkYjFk
ZDAzZGFkM2E3YjA3ZmInKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwoc3ViQ29tbWl0
c1swXS5pZCgpLCAyMzMpOwotICAgICAgICAgICAgICAgIHJldHVybiBjb21taXQuZmV0Y2hTdWJD
b21taXRzKCk7Ci0gICAgICAgICAgICB9KS50aGVuKChzdWJDb21taXRzKSA9PiB7CisgICAgICAg
ICAgICByZXR1cm4gZmV0Y2hpbmdQcm9taXNlLnRoZW4oKG93bmVkQ29tbWl0cykgPT4geworICAg
ICAgICAgICAgICAgIGV4aXN0aW5nT3duZWRDb21taXRzID0gb3duZWRDb21taXRzOworICAgICAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChvd25lZENvbW1pdHMubGVuZ3RoLCAxKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnQuZXF1YWwob3duZWRDb21taXRzWzBdLnJlcG9zaXRvcnkoKSwgTW9ja01v
ZGVscy5vd25lZFJlcG9zaXRvcnkpOworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChvd25l
ZENvbW1pdHNbMF0ucmV2aXNpb24oKSwgJzZmOGIwZGJiZGE5NWE0NDA1MDNiODhkYjFkZDAzZGFk
M2E3YjA3ZmInKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwob3duZWRDb21taXRzWzBd
LmlkKCksIDIzMyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbW1pdC5mZXRjaE93bmVkQ29t
bWl0cygpOworICAgICAgICAgICAgfSkudGhlbigob3duZWRDb21taXRzKSA9PiB7CiAgICAgICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7Ci0gICAgICAgICAgICAg
ICAgYXNzZXJ0LmVxdWFsKGV4aXN0aW5nU3ViQ29tbWl0cywgc3ViQ29tbWl0cyk7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKGV4aXN0aW5nT3duZWRDb21taXRzLCBvd25lZENvbW1pdHMp
OwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogCi0gICAgZGVzY3JpYmUo
J2RpZmZTdWJDb21taXRzJywgKCkgPT4geworICAgIGRlc2NyaWJlKCdkaWZmT3duZWRDb21taXRz
JywgKCkgPT4gewogICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHsKICAgICAgICAgICAgIE1vY2tS
ZW1vdGVBUEkucmVzZXQoKTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgaXQoJ3Nob3VsZCByZXR1
cm4gZGlmZmVyZW5jZSBiZXR3ZWVuIDIgc3ViLWNvbW1pdHMnLCAoKSA9PiB7CisgICAgICAgIGl0
KCdzaG91bGQgcmV0dXJuIGRpZmZlcmVuY2UgYmV0d2VlbiAyIG93bmVkLWNvbW1pdHMnLCAoKSA9
PiB7CiAgICAgICAgICAgICBjb25zdCBvbmVDb21taXQgPSBvd25lckNvbW1pdCgpOwogICAgICAg
ICAgICAgY29uc3Qgb3RoZXJDb21taXQgPSBvdGhlck93bmVyQ29tbWl0KCk7Ci0gICAgICAgICAg
ICBjb25zdCBmZXRjaGluZ1Byb21pc2UgPSBvbmVDb21taXQuZmV0Y2hTdWJDb21taXRzKCk7Cisg
ICAgICAgICAgICBjb25zdCBmZXRjaGluZ1Byb21pc2UgPSBvbmVDb21taXQuZmV0Y2hPd25lZENv
bW1pdHMoKTsKICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gTW9ja1JlbW90ZUFQSS5yZXF1
ZXN0czsKICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOwotICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgJy4uL2FwaS9jb21taXRzLzEx
MS9zdWItY29tbWl0cz9vd25lci1yZXZpc2lvbj0xMC4xMS40JTIwMTVFNjUnKTsKKyAgICAgICAg
ICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1swXS51cmwsICcuLi9hcGkvY29tbWl0cy8xMTEvb3du
ZWQtY29tbWl0cz9vd25lci1yZXZpc2lvbj0xMC4xMS40JTIwMTVFNjUnKTsKICAgICAgICAgICAg
IGFzc2VydC5lcXVhbChyZXF1ZXN0c1swXS5tZXRob2QsICdHRVQnKTsKIAogICAgICAgICAgICAg
cmVxdWVzdHNbMF0ucmVzb2x2ZSh7Y29tbWl0czogW3sKQEAgLTI2OCw5ICsyNjgsOSBAQCBkZXNj
cmliZSgnQ29tbWl0TG9nJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgfV19KTsKIAogICAg
ICAgICAgICAgcmV0dXJuIGZldGNoaW5nUHJvbWlzZS50aGVuKCgpID0+IHsKLSAgICAgICAgICAg
ICAgICBjb25zdCBvdGhlckZldGNoaW5nUHJvbWlzZSA9IG90aGVyQ29tbWl0LmZldGNoU3ViQ29t
bWl0cygpOworICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyRmV0Y2hpbmdQcm9taXNlID0gb3Ro
ZXJDb21taXQuZmV0Y2hPd25lZENvbW1pdHMoKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1
YWwocmVxdWVzdHMubGVuZ3RoLCAyKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVx
dWVzdHNbMV0udXJsLCAnLi4vYXBpL2NvbW1pdHMvMTExL3N1Yi1jb21taXRzP293bmVyLXJldmlz
aW9uPTEwLjExLjQlMjAxNUU2NicpOworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1
ZXN0c1sxXS51cmwsICcuLi9hcGkvY29tbWl0cy8xMTEvb3duZWQtY29tbWl0cz9vd25lci1yZXZp
c2lvbj0xMC4xMS40JTIwMTVFNjYnKTsKICAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVx
dWVzdHNbMV0ubWV0aG9kLCAnR0VUJyk7CiAKICAgICAgICAgICAgICAgICByZXF1ZXN0c1sxXS5y
ZXNvbHZlKHtjb21taXRzOiBbewpAQCAtMjg3LDcgKzI4Nyw3IEBAIGRlc2NyaWJlKCdDb21taXRM
b2cnLCBmdW5jdGlvbiAoKSB7CiAKICAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXJGZXRjaGlu
Z1Byb21pc2U7CiAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgICAgICBj
b25zdCBkaWZmZXJlbmNlID0gQ29tbWl0TG9nLmRpZmZTdWJDb21taXRzKG9uZUNvbW1pdCwgb3Ro
ZXJDb21taXQpOworICAgICAgICAgICAgICAgIGNvbnN0IGRpZmZlcmVuY2UgPSBDb21taXRMb2cu
ZGlmZk93bmVkQ29tbWl0cyhvbmVDb21taXQsIG90aGVyQ29tbWl0KTsKICAgICAgICAgICAgICAg
ICBhc3NlcnQuZXF1YWwoZGlmZmVyZW5jZS5zaXplLCAxKTsKICAgICAgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwoZGlmZmVyZW5jZS5rZXlzKCkubmV4dCgpLnZhbHVlLCBNb2NrTW9kZWxzLm93bmVk
UmVwb3NpdG9yeSk7CiAgICAgICAgICAgICB9KTsK
</data>
<flag name="review"
          id="341243"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>