<?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>191621</bug_id>
          
          <creation_ts>2018-11-13 20:25:25 -0800</creation_ts>
          <short_desc>Add cache for CommitLog objects to avoid refetching same commit.</short_desc>
          <delta_ts>2018-11-13 23:37:13 -0800</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>RESOLVED</bug_status>
          <resolution>FIXED</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>dewei_zhu</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1478303</commentid>
    <comment_count>0</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2018-11-13 20:25:25 -0800</bug_when>
    <thetext>Add cache for CommitLog objects to avoid refetching same commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478305</commentid>
    <comment_count>1</comment_count>
      <attachid>354760</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-11-13 20:32:50 -0800</bug_when>
    <thetext>Created attachment 354760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478309</commentid>
    <comment_count>2</comment_count>
      <attachid>354760</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-11-13 20:43:48 -0800</bug_when>
    <thetext>Comment on attachment 354760
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=354760&amp;action=review

&gt; Websites/perf.webkit.org/ChangeLog:11
&gt; +        (CommitLog): Added assertion for id. Removed unused &apos;remoteId&apos;.

Refer to r198479 where the relevant code was removed.

&gt; Websites/perf.webkit.org/public/v3/models/commit-log.js:174
&gt; +        const commit = this.ensureNamedStaticMap(`repository-${repository.id()}`)[revision];

ensureNamedStaticMap shouldn&apos;t be called with a dynamically generated name like this because it would be slow.
In general, ensureNamedStaticMap is designed to work with a small fixed number of maps.

Instead, this.ensureNamedStaticMap(&apos;repositoryMap&apos;) should have a map.
Maybe an even better design is for each instance of a Repository object to have this map
although it&apos;s slightly inelegant to reference CommitLog and Repository like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478323</commentid>
    <comment_count>3</comment_count>
      <attachid>354765</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-11-13 21:19:12 -0800</bug_when>
    <thetext>Created attachment 354765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478331</commentid>
    <comment_count>4</comment_count>
      <attachid>354765</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-11-13 21:42:24 -0800</bug_when>
    <thetext>Comment on attachment 354765
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=354765&amp;action=review

&gt; Websites/perf.webkit.org/public/v3/models/commit-log.js:174
&gt; +        const commit = repository.ensureNamedStaticMap(&apos;revision&apos;)[revision];

Oh, no, that&apos;s not what I mean. ensureNamedStaticMap is per class so this is simply an alias to Repository.ensureNamedStaticMap(&apos;revision&apos;)
You&apos;d have to create your own instance variable on Repository. Please add a test for this.
If you called fetchForSingleRevision on two different repositories, it would override each other with the current patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478340</commentid>
    <comment_count>5</comment_count>
      <attachid>354772</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-11-13 22:32:46 -0800</bug_when>
    <thetext>Created attachment 354772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478343</commentid>
    <comment_count>6</comment_count>
      <attachid>354772</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-11-13 22:54:55 -0800</bug_when>
    <thetext>Comment on attachment 354772
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=354772&amp;action=review

&gt; Websites/perf.webkit.org/ChangeLog:12
&gt; +        Removed unused &apos;remoteId&apos; has it has been removed since r198479.

s/has it has/as it has/

&gt; Websites/perf.webkit.org/public/v3/models/repository.js:38
&gt; +

No need for a blank line here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478344</commentid>
    <comment_count>7</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2018-11-13 23:37:13 -0800</bug_when>
    <thetext>Landed in r238167</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354760</attachid>
            <date>2018-11-13 20:32:50 -0800</date>
            <delta_ts>2018-11-13 21:19:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191621-20181113203250.patch</filename>
            <type>text/plain</type>
            <size>14449</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTUyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA1MzgzNWRlNjU4YWE4MmI2NTZlZTc5YTFlYzQwZjA3MjlkYWZjNTcxLi41ODZmYzgyM2Rl
ZDM3NjZhY2Q3OTIwMDA3MGE1YWYyODAwYzJjMDAwIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxOC0xMS0xMyAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgY2FjaGUgZm9yIENvbW1pdExvZyBvYmplY3RzIHRv
IGF2b2lkIHJlZmV0Y2hpbmcgc2FtZSBjb21taXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE2MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIGNhY2hlIGZvciBmdWxseSBmZXRjaGVkIGNv
bW1pdCBsb2cgb2JqZWN0cyBzbyBhdm9pZCByZWZldGNoaW5nLgorCisgICAgICAgICogcHVibGlj
L3YzL21vZGVscy9jb21taXQtbG9nLmpzOgorICAgICAgICAoQ29tbWl0TG9nKTogQWRkZWQgYXNz
ZXJ0aW9uIGZvciBpZC4gUmVtb3ZlZCB1bnVzZWQgJ3JlbW90ZUlkJy4KKyAgICAgICAgKENvbW1p
dExvZy5hc3luYy5mZXRjaEJldHdlZW5SZXZpc2lvbnMpOiBUdXJuZWQgaXQgaW50byBhc3luYyBm
dW5jdGlvbi4KKyAgICAgICAgKENvbW1pdExvZy5hc3luYy5mZXRjaEZvclNpbmdsZVJldmlzaW9u
KTogQWRkZWQgdGhlIGxvZ2ljIHRvIGNoZWNrIGNhY2hlIGJlZm9yZSBmZXRjaGluZy4KKyAgICAg
ICAgKENvbW1pdExvZy5fY29uc3RydWN0RnJvbVJhd0RhdGEpOiBBZGRlZCBsb2dpYyB0byBhZGQg
ZW50cmllcyB0byBjYWNoZS4KKyAgICAgICAgKiBwdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1zZXQu
anM6IEZpeGVkIHVuaXQgdGVzdHMuCisgICAgICAgICogdW5pdC10ZXN0cy9jb21taXQtbG9nLXRl
c3RzLmpzOiBBZGRlZCB1bml0IHRlc3RzIGZvciB0aGlzIGNoYW5nZS4KKyAgICAgICAgRml4ZWQg
ZXhpc3RpbmcgdGVzdHMuCisgICAgICAgICogdW5pdC10ZXN0cy9jb21taXQtc2V0LXJhbmdlLWJp
c2VjdG9yLXRlc3RzLmpzOiBGaXhlZCB1bml0IHRlc3RzLgorICAgICAgICAqIHVuaXQtdGVzdHMv
Y29tbWl0LXNldC10ZXN0cy5qczogRml4ZWQgdW5pdCB0ZXN0cy4KKwogMjAxOC0xMS0wNyAgRGV3
ZWkgWmh1ICA8ZGV3ZWlfemh1QGFwcGxlLmNvbT4KIAogICAgICAgICAiL2FwaS9yZXBvcnQiIGRv
ZXMgbm90IGNoZWNrIGNvbW1pdCB0aW1lIGNvcnJlY3RseS4KZGlmZiAtLWdpdCBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1sb2cuanMgYi9XZWJzaXRl
cy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9jb21taXQtbG9nLmpzCmluZGV4IGMy
ZGI2M2IwOTE5MjI1OTk0YjYyMDJmM2M4ZmY4ZDNlNWNjNTQyNjQuLjEyZTU0YTBiNWQ0YjUyZDM3
YzQ2M2Q1YzYxMDJjM2VlYzE1ZTBjOGYgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1sb2cuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvY29tbWl0LWxvZy5qcwpAQCAtNSwxMiArNSwxMCBA
QCBjbGFzcyBDb21taXRMb2cgZXh0ZW5kcyBEYXRhTW9kZWxPYmplY3QgewogICAgIHsKICAgICAg
ICAgY29uc29sZS5hc3NlcnQocGFyc2VJbnQoaWQpID09IGlkKTsKICAgICAgICAgc3VwZXIoaWQp
OworICAgICAgICBjb25zb2xlLmFzc2VydChpZCA9PSByYXdEYXRhLmlkKQogICAgICAgICB0aGlz
Ll9yZXBvc2l0b3J5ID0gcmF3RGF0YS5yZXBvc2l0b3J5OwogICAgICAgICBjb25zb2xlLmFzc2Vy
dCh0aGlzLl9yZXBvc2l0b3J5IGluc3RhbmNlb2YgUmVwb3NpdG9yeSk7CiAgICAgICAgIHRoaXMu
X3Jhd0RhdGEgPSByYXdEYXRhOwotICAgICAgICB0aGlzLl9yZW1vdGVJZCA9IHJhd0RhdGEuaWQ7
Ci0gICAgICAgIGlmICh0aGlzLl9yZW1vdGVJZCkKLSAgICAgICAgICAgIHRoaXMuZW5zdXJlTmFt
ZWRTdGF0aWNNYXAoJ3JlbW90ZUlkJylbdGhpcy5fcmVtb3RlSWRdID0gdGhpczsKICAgICAgICAg
dGhpcy5fb3duZWRDb21taXRzID0gbnVsbDsKICAgICAgICAgdGhpcy5fb3duZXJDb21taXQgPSBu
dWxsOwogICAgICAgICB0aGlzLl9vd25lZENvbW1pdEJ5T3duZWRSZXBvc2l0b3J5ID0gbmV3IE1h
cDsKQEAgLTE2MywyNiArMTYxLDMyIEBAIGNsYXNzIENvbW1pdExvZyBleHRlbmRzIERhdGFNb2Rl
bE9iamVjdCB7CiAgICAgICAgIHJldHVybiBkaWZmZXJlbmNlOwogICAgIH0KIAotICAgIHN0YXRp
YyBmZXRjaEJldHdlZW5SZXZpc2lvbnMocmVwb3NpdG9yeSwgcHJlY2VkaW5nUmV2aXNpb24sIGxh
c3RSZXZpc2lvbikKKyAgICBzdGF0aWMgYXN5bmMgZmV0Y2hCZXR3ZWVuUmV2aXNpb25zKHJlcG9z
aXRvcnksIHByZWNlZGluZ1JldmlzaW9uLCBsYXN0UmV2aXNpb24pCiAgICAgewogICAgICAgICAv
LyBGSVhNRTogVGhlIGNhY2hlIHNob3VsZCBiZSBzbWFydGVyIGFib3V0IGZldGNoaW5nIGEgcmFu
Z2Ugd2l0aGluIGFuIGFscmVhZHkgZmV0Y2hlZCByYW5nZSwgZXRjLi4uCi0gICAgICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgZXZpY3Qgc29tZSBlbnRpcmVzIGZyb20gdGhlIGNhY2hlIGluIGNhY2hl
ZEZldGNoLgotICAgICAgICByZXR1cm4gdGhpcy5jYWNoZWRGZXRjaChgL2FwaS9jb21taXRzLyR7
cmVwb3NpdG9yeS5pZCgpfS9gLCB7cHJlY2VkaW5nUmV2aXNpb24sIGxhc3RSZXZpc2lvbn0pCi0g
ICAgICAgICAgICAudGhlbigoZGF0YSkgPT4gdGhpcy5fY29uc3RydWN0RnJvbVJhd0RhdGEoZGF0
YSkpOworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGV2aWN0IHNvbWUgZW50cmllcyBmcm9t
IHRoZSBjYWNoZSBpbiBjYWNoZWRGZXRjaC4KKyAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRo
aXMuY2FjaGVkRmV0Y2goYC9hcGkvY29tbWl0cy8ke3JlcG9zaXRvcnkuaWQoKX0vYCwge3ByZWNl
ZGluZ1JldmlzaW9uLCBsYXN0UmV2aXNpb259KTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnN0
cnVjdEZyb21SYXdEYXRhKGRhdGEpOwogICAgIH0KIAotICAgIHN0YXRpYyBmZXRjaEZvclNpbmds
ZVJldmlzaW9uKHJlcG9zaXRvcnksIHJldmlzaW9uKQorICAgIHN0YXRpYyBhc3luYyBmZXRjaEZv
clNpbmdsZVJldmlzaW9uKHJlcG9zaXRvcnksIHJldmlzaW9uKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIHRoaXMuY2FjaGVkRmV0Y2goYC9hcGkvY29tbWl0cy8ke3JlcG9zaXRvcnkuaWQoKX0vJHty
ZXZpc2lvbn1gKS50aGVuKChkYXRhKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29u
c3RydWN0RnJvbVJhd0RhdGEoZGF0YSk7Ci0gICAgICAgIH0pOworICAgICAgICBjb25zdCBjb21t
aXQgPSB0aGlzLmVuc3VyZU5hbWVkU3RhdGljTWFwKGByZXBvc2l0b3J5LSR7cmVwb3NpdG9yeS5p
ZCgpfWApW3JldmlzaW9uXTsKKyAgICAgICAgaWYgKGNvbW1pdCkKKyAgICAgICAgICAgIHJldHVy
biBbY29tbWl0XTsKKworICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jYWNoZWRGZXRj
aChgL2FwaS9jb21taXRzLyR7cmVwb3NpdG9yeS5pZCgpfS8ke3JldmlzaW9ufWApOworICAgICAg
ICByZXR1cm4gdGhpcy5fY29uc3RydWN0RnJvbVJhd0RhdGEoZGF0YSk7CiAgICAgfQogCiAgICAg
c3RhdGljIF9jb25zdHJ1Y3RGcm9tUmF3RGF0YShkYXRhKQogICAgIHsKICAgICAgICAgcmV0dXJu
IGRhdGFbJ2NvbW1pdHMnXS5tYXAoKHJhd0RhdGEpID0+IHsKLSAgICAgICAgICAgIHJhd0RhdGEu
cmVwb3NpdG9yeSA9IFJlcG9zaXRvcnkuZmluZEJ5SWQocmF3RGF0YS5yZXBvc2l0b3J5KTsKLSAg
ICAgICAgICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKHJhd0RhdGEuaWQsIHJh
d0RhdGEpOworICAgICAgICAgICAgY29uc3QgcmVwb3NpdG9yeUlkID0gcmF3RGF0YS5yZXBvc2l0
b3J5OworICAgICAgICAgICAgcmF3RGF0YS5yZXBvc2l0b3J5ID0gUmVwb3NpdG9yeS5maW5kQnlJ
ZChyZXBvc2l0b3J5SWQpOworICAgICAgICAgICAgY29uc3QgY29tbWl0ID0gQ29tbWl0TG9nLmVu
c3VyZVNpbmdsZXRvbihyYXdEYXRhLmlkLCByYXdEYXRhKTsKKyAgICAgICAgICAgIHRoaXMuZW5z
dXJlTmFtZWRTdGF0aWNNYXAoYHJlcG9zaXRvcnktJHtyZXBvc2l0b3J5SWR9YClbY29tbWl0LnJl
dmlzaW9uKCldID0gY29tbWl0OworICAgICAgICAgICAgcmV0dXJuIGNvbW1pdDsKICAgICAgICAg
fSk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92My9tb2RlbHMvY29tbWl0LXNldC5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvdjMvbW9kZWxzL2NvbW1pdC1zZXQuanMKaW5kZXggMjlhOTgyNTZkMGYzMTMyZjA2M2E3MDFh
N2M1MmIxMWMwMmFmNjk2Ni4uOTRhY2M1MzMyODk4Y2I0OTAwYWZlNzhiN2Y2Y2I2OTc5ZmMzMzUx
NiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMv
Y29tbWl0LXNldC5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21v
ZGVscy9jb21taXQtc2V0LmpzCkBAIC0yODEsNyArMjgxLDcgQEAgY2xhc3MgTWVhc3VyZW1lbnRD
b21taXRTZXQgZXh0ZW5kcyBDb21taXRTZXQgewogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIGEgZmxhZyB0byByZW1lbWJlciB0aGUgZmFjdCB0
aGlzIGNvbW1pdCBsb2cgaXMgaW5jb21wbGV0ZS4KLSAgICAgICAgICAgIGNvbnN0IGNvbW1pdCA9
IENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oY29tbWl0SWQsIHtyZXBvc2l0b3J5LCByZXZpc2lv
biwgb3JkZXIsIHRpbWV9KTsKKyAgICAgICAgICAgIGNvbnN0IGNvbW1pdCA9IENvbW1pdExvZy5l
bnN1cmVTaW5nbGV0b24oY29tbWl0SWQsIHtpZDogY29tbWl0SWQsIHJlcG9zaXRvcnksIHJldmlz
aW9uLCBvcmRlciwgdGltZX0pOwogICAgICAgICAgICAgdGhpcy5fcmVwb3NpdG9yeVRvQ29tbWl0
TWFwLnNldChyZXBvc2l0b3J5LCBjb21taXQpOwogICAgICAgICAgICAgdGhpcy5fcmVwb3NpdG9y
aWVzLnB1c2gocmVwb3NpdG9yeSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMuanMgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtbG9nLXRlc3RzLmpzCmluZGV4IDJlZDFk
ODAyYmExMmZkOWJmMDI3NmMyNWQ4YzgyZDJkZjMzMzhiNjAuLjcwMTllZjAzMzVkNzViNjJhMTlk
Mzk5MjQ1ZWY0NTZlNzMxZWFiNjggMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy91bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LWxvZy10ZXN0cy5qcwpAQCAtMTAsNiArMTAsNyBAQCBj
b25zdCBNb2NrUmVtb3RlQVBJID0gcmVxdWlyZSgnLi4vdW5pdC10ZXN0cy9yZXNvdXJjZXMvbW9j
ay1yZW1vdGUtYXBpLmpzJykuTW9jawogZnVuY3Rpb24gd2Via2l0Q29tbWl0KCkKIHsKICAgICBy
ZXR1cm4gbmV3IENvbW1pdExvZygxLCB7CisgICAgICAgIGlkOiAxLAogICAgICAgICByZXBvc2l0
b3J5OiBNb2NrTW9kZWxzLndlYmtpdCwKICAgICAgICAgcmV2aXNpb246ICcyMDA4MDUnLAogICAg
ICAgICB0aW1lOiArKG5ldyBEYXRlKCcyMDE2LTA1LTEzVDAwOjU1OjU3Ljg0MTM0NFonKSksCkBA
IC0xOSw2ICsyMCw3IEBAIGZ1bmN0aW9uIHdlYmtpdENvbW1pdCgpCiBmdW5jdGlvbiBvbGRXZWJL
aXRDb21taXQoKQogewogICAgIHJldHVybiBuZXcgQ29tbWl0TG9nKDIsIHsKKyAgICAgICAgaWQ6
IDIsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Via2l0LAogICAgICAgICByZXZp
c2lvbjogJzIwMDU3NCcsCiAgICAgICAgIHRpbWU6ICsobmV3IERhdGUoJzIwMTYtMDUtMDlUMTQ6
NTk6MjMuNTUzNzY3WicpKSwKQEAgLTI4LDYgKzMwLDcgQEAgZnVuY3Rpb24gb2xkV2ViS2l0Q29t
bWl0KCkKIGZ1bmN0aW9uIGdpdFdlYktpdENvbW1pdCgpCiB7CiAgICAgcmV0dXJuIG5ldyBDb21t
aXRMb2coMywgeworICAgICAgICBpZDogMywKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVs
cy53ZWJraXQsCiAgICAgICAgIHJldmlzaW9uOiAnNmY4YjBkYmJkYTk1YTQ0MDUwM2I4OGRiMWRk
MDNkYWQzYTdiMDdmYicsCiAgICAgICAgIHRpbWU6ICsobmV3IERhdGUoJzIwMTYtMDUtMTNUMDA6
NTU6NTcuODQxMzQ0WicpKSwKQEAgLTM3LDYgKzQwLDcgQEAgZnVuY3Rpb24gZ2l0V2ViS2l0Q29t
bWl0KCkKIGZ1bmN0aW9uIG9sZEdpdFdlYktpdENvbW1pdCgpCiB7CiAgICAgcmV0dXJuIG5ldyBD
b21taXRMb2coNCwgeworICAgICAgICBpZDogNCwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01v
ZGVscy53ZWJraXQsCiAgICAgICAgIHJldmlzaW9uOiAnZmZkYTE0ZTZkYjA3NDZkMTBkMGYwNTA5
MDdlNGE3MzI1ODUxZTUwMicsCiAgICAgICAgIHRpbWU6ICsobmV3IERhdGUoJzIwMTYtMDUtMDlU
MTQ6NTk6MjMuNTUzNzY3WicpKSwKQEAgLTQ2LDYgKzUwLDcgQEAgZnVuY3Rpb24gb2xkR2l0V2Vi
S2l0Q29tbWl0KCkKIGZ1bmN0aW9uIG9zeENvbW1pdCgpCiB7CiAgICAgcmV0dXJuIG5ldyBDb21t
aXRMb2coNSwgeworICAgICAgICBpZDogNSwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVs
cy5vc3gsCiAgICAgICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2NScsCiAgICAgICAgIHRpbWU6
IG51bGwsCkBAIC01Niw2ICs2MSw3IEBAIGZ1bmN0aW9uIG9zeENvbW1pdCgpCiBmdW5jdGlvbiBv
bGRPU1hDb21taXQoKQogewogICAgIHJldHVybiBuZXcgQ29tbWl0TG9nKDYsIHsKKyAgICAgICAg
aWQ6IDYsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMub3N4LAogICAgICAgICByZXZp
c2lvbjogJzEwLjExLjMgMTVEMjEnLAogICAgICAgICB0aW1lOiBudWxsLApAQCAtNjYsNiArNzIs
NyBAQCBmdW5jdGlvbiBvbGRPU1hDb21taXQoKQogZnVuY3Rpb24gY29tbWl0V2l0aG91dE93bmVk
Q29tbWl0cygpCiB7CiAgICAgcmV0dXJuIG5ldyBDb21taXRMb2coNiwgeworICAgICAgICBpZDog
NiwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJlcG9zaXRvcnksCiAgICAg
ICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2NicsCiAgICAgICAgIG93bnNDb21taXRzOiBmYWxz
ZSwKQEAgLTc3LDYgKzg0LDcgQEAgZnVuY3Rpb24gY29tbWl0V2l0aG91dE93bmVkQ29tbWl0cygp
CiBmdW5jdGlvbiBvd25lckNvbW1pdCgpCiB7CiAgICAgcmV0dXJuIG5ldyBDb21taXRMb2coNSwg
eworICAgICAgICBpZDogNSwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJl
cG9zaXRvcnksCiAgICAgICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2NScsCiAgICAgICAgIG93
bnNDb21taXRzOiB0cnVlLApAQCAtODgsNiArOTYsNyBAQCBmdW5jdGlvbiBvd25lckNvbW1pdCgp
CiBmdW5jdGlvbiBvdGhlck93bmVyQ29tbWl0KCkKIHsKICAgICByZXR1cm4gbmV3IENvbW1pdExv
Zyg1LCB7CisgICAgICAgIGlkOiA1LAogICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLm93
bmVyUmVwb3NpdG9yeSwKICAgICAgICAgcmV2aXNpb246ICcxMC4xMS40IDE1RTY2JywKICAgICAg
ICAgb3duc0NvbW1pdHM6IHRydWUsCkBAIC05OSw2ICsxMDgsNyBAQCBmdW5jdGlvbiBvdGhlck93
bmVyQ29tbWl0KCkKIGZ1bmN0aW9uIG93bmVkQ29tbWl0KCkKIHsKICAgICByZXR1cm4gbmV3IENv
bW1pdExvZygxMSwgeworICAgICAgICBpZDogMTEsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tN
b2RlbHMub3duZWRSZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjogJ293bmVkLWNvbW1pdC0w
JywKICAgICAgICAgb3duc0NvbW1pdHM6IHRydWUsCkBAIC0xMDksNiArMTE5LDcgQEAgZnVuY3Rp
b24gb3duZWRDb21taXQoKQogZnVuY3Rpb24gYW5vdGhlck93bmVkQ29tbWl0KCkKIHsKICAgICBy
ZXR1cm4gbmV3IENvbW1pdExvZygxMSwgeworICAgICAgICBpZDogMTEsCiAgICAgICAgIHJlcG9z
aXRvcnk6IE1vY2tNb2RlbHMub3duZWRSZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjogJ293
bmVkLWNvbW1pdC0xJywKICAgICAgICAgb3duc0NvbW1pdHM6IHRydWUsCkBAIC00MDUsNCArNDE2
LDY4IEBAIGRlc2NyaWJlKCdDb21taXRMb2cnLCBmdW5jdGlvbiAoKSB7CiAKICAgICAgICAgfSk7
CiAgICAgfSk7CisKKyAgICBjb25zdCBjb21taXRzQVBJUmVzcG9uc2UgPSB7CisgICAgICAgICJj
b21taXRzIjpbeworICAgICAgICAgICAgImlkIjogIjgzMTE1MSIsCisgICAgICAgICAgICAicmV2
aXNpb24iOiAiMjM2NjQzIiwKKyAgICAgICAgICAgICJyZXBvc2l0b3J5IjogIjExIiwKKyAgICAg
ICAgICAgICJwcmV2aW91c0NvbW1pdCI6IG51bGwsCisgICAgICAgICAgICAidGltZSI6IDE1Mzgy
MjMwNzc0MDMsCisgICAgICAgICAgICAib3JkZXIiOiBudWxsLAorICAgICAgICAgICAgImF1dGhv
ck5hbWUiOiAiQ29tbWl0IFF1ZXVlIiwKKyAgICAgICAgICAgICJhdXRob3JFbWFpbCI6ICJjb21t
aXQtcXVldWVAd2Via2l0Lm9yZyIsCisgICAgICAgICAgICAibWVzc2FnZSI6ICJtZXNzYWdlIiwK
KyAgICAgICAgICAgICJvd25zQ29tbWl0cyI6IGZhbHNlCisgICAgICAgIH1dLAorICAgICAgICAi
c3RhdHVzIjoiT0siCisgICAgfTsKKworICAgIGRlc2NyaWJlKCdmZXRjaEZvclNpbmdsZVJldmlz
aW9uJywgKCkgPT4geworICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHsKKyAgICAgICAgICAgIE1v
Y2tSZW1vdGVBUEkucmVzZXQoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCBh
dm9pZCBmZXRjaGluZyBzYW1lIHJldmlzaW9uIGZyb20gc2FtZSByZXBvc2l0b3J5IHR3aWNlJywg
YXN5bmMgKCkgPT4geworICAgICAgICAgICAgbGV0IGZldGNoaW5nUHJvbWlzZSA9IENvbW1pdExv
Zy5mZXRjaEZvclNpbmdsZVJldmlzaW9uKE1vY2tNb2RlbHMud2Via2l0LCAnMjM2NjQzJyk7CisK
KyAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gTW9ja1JlbW90ZUFQSS5yZXF1ZXN0czsKKyAg
ICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgYC9hcGkvY29tbWl0cy8ke01vY2tNb2RlbHMu
d2Via2l0LmlkKCl9LzIzNjY0M2ApOworCisgICAgICAgICAgICByZXF1ZXN0c1swXS5yZXNvbHZl
KGNvbW1pdHNBUElSZXNwb25zZSk7CisgICAgICAgICAgICBjb25zdCBjb21taXRzID0gYXdhaXQg
ZmV0Y2hpbmdQcm9taXNlOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGNvbW1pdHMubGVuZ3Ro
LCAxKTsKKworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMCk7CisgICAgICAgICAgICBmZXRjaGluZ1By
b21pc2UgPSBDb21taXRMb2cuZmV0Y2hGb3JTaW5nbGVSZXZpc2lvbihNb2NrTW9kZWxzLndlYmtp
dCwgJzIzNjY0MycpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwg
MCk7CisgICAgICAgICAgICBjb25zdCBuZXdDb21taXRzID0gYXdhaXQgZmV0Y2hpbmdQcm9taXNl
OworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG5ld0NvbW1pdHMubGVuZ3RoLCAxKTsKKworICAg
ICAgICAgICAgYXNzZXJ0LmVxdWFsKGNvbW1pdHNbMF0sIG5ld0NvbW1pdHNbMF0pOworICAgICAg
ICB9KTsKKworICAgICAgICBpdCgnc2hvdWxkIGF2b2lkIGZldGNoaW5nIHNhbWUgcmV2aXNpb24g
ZnJvbSBzYW1lIHJlcG9zaXRvcnkgYWdhaW4gaWYgaXQgaGFzIGJlZW4gZmV0Y2hlZCBieSAiZmV0
Y2hCZXR3ZWVuUmV2aXNpb25zIiBiZWZvcmUnLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICBs
ZXQgZmV0Y2hpbmdQcm9taXNlID0gQ29tbWl0TG9nLmZldGNoQmV0d2VlblJldmlzaW9ucyhNb2Nr
TW9kZWxzLndlYmtpdCwgJzIzNjY0MicsICcyMzY2NDMnKTsKKworICAgICAgICAgICAgY29uc3Qg
cmVxdWVzdHMgPSBNb2NrUmVtb3RlQVBJLnJlcXVlc3RzOworICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVz
dHNbMF0udXJsLCBgL2FwaS9jb21taXRzLyR7TW9ja01vZGVscy53ZWJraXQuaWQoKX0vP3ByZWNl
ZGluZ1JldmlzaW9uPTIzNjY0MiZsYXN0UmV2aXNpb249MjM2NjQzYCk7CisKKyAgICAgICAgICAg
IHJlcXVlc3RzWzBdLnJlc29sdmUoY29tbWl0c0FQSVJlc3BvbnNlKTsKKyAgICAgICAgICAgIGNv
bnN0IGNvbW1pdHMgPSBhd2FpdCBmZXRjaGluZ1Byb21pc2U7CisgICAgICAgICAgICBhc3NlcnQu
ZXF1YWwoY29tbWl0cy5sZW5ndGgsIDEpOworCisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJl
c2V0KCk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAwKTsKKyAg
ICAgICAgICAgIGZldGNoaW5nUHJvbWlzZSA9IENvbW1pdExvZy5mZXRjaEZvclNpbmdsZVJldmlz
aW9uKE1vY2tNb2RlbHMud2Via2l0LCAnMjM2NjQzJyk7CisgICAgICAgICAgICBhc3NlcnQuZXF1
YWwocmVxdWVzdHMubGVuZ3RoLCAwKTsKKyAgICAgICAgICAgIGNvbnN0IG5ld0NvbW1pdHMgPSBh
d2FpdCBmZXRjaGluZ1Byb21pc2U7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwobmV3Q29tbWl0
cy5sZW5ndGgsIDEpOworCisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoY29tbWl0c1swXSwgbmV3
Q29tbWl0c1swXSk7CisgICAgICAgIH0pOworICAgIH0pOwogfSk7CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtc2V0LXJhbmdlLWJpc2VjdG9y
LXRlc3RzLmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNl
dC1yYW5nZS1iaXNlY3Rvci10ZXN0cy5qcwppbmRleCA3MWNiMTNmNjc1Nzg2ZmU5MDQ4Nzc3Yzcy
OTJmZTllOWJmMDNhYTExLi5kMDk3YjhiYjlkYzY2ZDcyODI3MGZhNThmMWRmMTU1M2FkYWY4OTA2
IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQt
c2V0LXJhbmdlLWJpc2VjdG9yLXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy91bml0LXRlc3RzL2NvbW1pdC1zZXQtcmFuZ2UtYmlzZWN0b3ItdGVzdHMuanMKQEAgLTEyLDYg
KzEyLDcgQEAgZGVzY3JpYmUoJ0NvbW1pdFNldFJhbmdlQmlzZWN0b3InLCAoKSA9PiB7CiAgICAg
ZnVuY3Rpb24gbWFrZUNvbW1pdChpZCwgcmVwb3NpdG9yeSwgcmV2aXNpb24sIHRpbWUsIG9yZGVy
KQogICAgIHsKICAgICAgICAgcmV0dXJuIENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oaWQsIHsK
KyAgICAgICAgICAgIGlkLAogICAgICAgICAgICAgcmVwb3NpdG9yeSwKICAgICAgICAgICAgIHJl
dmlzaW9uLAogICAgICAgICAgICAgb3duc0NvbW1pdHM6IGZhbHNlLApkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNldC10ZXN0cy5qcyBiL1dl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1zZXQtdGVzdHMuanMKaW5k
ZXggN2UzOWFiNzBjZGVkYmQzMzc0YTQ1YTdiYTc5Y2M2ZjA2ZGEyNGQwNi4uYmMyZDM2NWRhMGY3
YThhMDhiNzcyNzQ0ZWQyMmJjNjUwZjQyMzZiMCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNldC10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtc2V0LXRlc3RzLmpzCkBAIC03NCw2ICs3
NCw3IEBAIGZ1bmN0aW9uIGN1c3RvbUNvbW1pdFNldFdpdGhPd25lZFJlcG9zaXRvcnlIYXNTYW1l
TmFtZUFzTm90T3duZWRSZXBvc2l0b3J5KCkKIGZ1bmN0aW9uIG93bmVyQ29tbWl0KCkKIHsKICAg
ICByZXR1cm4gQ29tbWl0TG9nLmVuc3VyZVNpbmdsZXRvbig1LCB7CisgICAgICAgIGlkOiA1LAog
ICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLm93bmVyUmVwb3NpdG9yeSwKICAgICAgICAg
cmV2aXNpb246ICdvd25lci1jb21taXQtMCcsCiAgICAgICAgIG93bnNDb21taXRzOiB0cnVlLApA
QCAtODQsNiArODUsNyBAQCBmdW5jdGlvbiBvd25lckNvbW1pdCgpCiBmdW5jdGlvbiBwYXJ0aWFs
T3duZXJDb21taXQoKQogewogICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKDUs
IHsKKyAgICAgICAgaWQ6IDUsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMub3duZXJS
ZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjogJ293bmVyLWNvbW1pdC0wJywKICAgICAgICAg
b3duc0NvbW1pdHM6IG51bGwsCkBAIC05NCw2ICs5Niw3IEBAIGZ1bmN0aW9uIHBhcnRpYWxPd25l
ckNvbW1pdCgpCiBmdW5jdGlvbiBvd25lZENvbW1pdCgpCiB7CiAgICAgcmV0dXJuIG5ldyBDb21t
aXRMb2coNiwgeworICAgICAgICBpZDogNiwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVs
cy5vd25lZFJlcG9zaXRvcnksCiAgICAgICAgIHJldmlzaW9uOiAnb3duZWQtY29tbWl0LTAnLAog
ICAgICAgICBvd25zQ29tbWl0czogbnVsbCwKQEAgLTEwNCw2ICsxMDcsNyBAQCBmdW5jdGlvbiBv
d25lZENvbW1pdCgpCiBmdW5jdGlvbiB3ZWJraXRDb21taXQoKQogewogICAgIHJldHVybiBDb21t
aXRMb2cuZW5zdXJlU2luZ2xldG9uKDIwMTcsIHsKKyAgICAgICAgaWQ6IDIwMTcsCiAgICAgICAg
IHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Via2l0LAogICAgICAgICByZXZpc2lvbjogJ3dlYmtp
dC1jb21taXQtMCcsCiAgICAgICAgIG93bnNDb21taXRzOiBmYWxzZSwKQEAgLTExNCw2ICsxMTgs
NyBAQCBmdW5jdGlvbiB3ZWJraXRDb21taXQoKQogZnVuY3Rpb24gYW5vdGhlcldlYktpdENvbW1p
dCgpCiB7CiAgICAgcmV0dXJuIENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oMjAxOCwgeworICAg
ICAgICBpZDogMjAxOCwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy53ZWJraXQsCiAg
ICAgICAgIHJldmlzaW9uOiAnd2Via2l0LWNvbW1pdC0xJywKICAgICAgICAgb3duc0NvbW1pdHM6
IGZhbHNlLApAQCAtMTI0LDYgKzEyOSw3IEBAIGZ1bmN0aW9uIGFub3RoZXJXZWJLaXRDb21taXQo
KQogZnVuY3Rpb24gY29tbWl0V2l0aFNWTlJldmlzaW9uKCkKIHsKICAgICByZXR1cm4gQ29tbWl0
TG9nLmVuc3VyZVNpbmdsZXRvbigyMDE5LCB7CisgICAgICAgIGlkOiAyMDE5LAogICAgICAgICBy
ZXBvc2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdCwKICAgICAgICAgcmV2aXNpb246ICcxMjM0NScs
CiAgICAgICAgIG93bnNDb21taXRzOiBmYWxzZSwKQEAgLTEzNCw2ICsxNDAsNyBAQCBmdW5jdGlv
biBjb21taXRXaXRoU1ZOUmV2aXNpb24oKQogZnVuY3Rpb24gYW5vdGhlckNvbW1pdFdpdGhTVk5S
ZXZpc2lvbigpCiB7CiAgICAgcmV0dXJuIENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oMjAyMCwg
eworICAgICAgICBpZDogMjAyMCwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy53ZWJr
aXQsCiAgICAgICAgIHJldmlzaW9uOiAnNDU2NzgnLAogICAgICAgICBvd25zQ29tbWl0czogZmFs
c2UsCkBAIC0xNDQsNiArMTUxLDcgQEAgZnVuY3Rpb24gYW5vdGhlckNvbW1pdFdpdGhTVk5SZXZp
c2lvbigpCiBmdW5jdGlvbiBjb21taXRXaXRoR2l0UmV2aXNpb24oKQogewogICAgIHJldHVybiBD
b21taXRMb2cuZW5zdXJlU2luZ2xldG9uKDIwMjEsIHsKKyAgICAgICAgaWQ6IDIwMjEsCiAgICAg
ICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Via2l0R2l0LAogICAgICAgICByZXZpc2lvbjog
JzEzYTA1OTBkMzRmMjZmZGEzOTUzYzQyZmY4MzMxMzJhMWE2ZjZmNWEnLAogICAgICAgICBvd25z
Q29tbWl0czogZmFsc2UsCkBAIC0xNTQsNiArMTYyLDcgQEAgZnVuY3Rpb24gY29tbWl0V2l0aEdp
dFJldmlzaW9uKCkKIGZ1bmN0aW9uIGFub3RoZXJDb21taXRXaXRoR2l0UmV2aXNpb24oKQogewog
ICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKDIwMjIsIHsKKyAgICAgICAgaWQ6
IDIwMjIsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Via2l0R2l0LAogICAgICAg
ICByZXZpc2lvbjogJzJmOGRkMzMyMWQ0ZjUxYzA0ZjRlMjAxOTQyOGNlOWZmZTk3ZjFlZjEnLAog
ICAgICAgICBvd25zQ29tbWl0czogZmFsc2UsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354765</attachid>
            <date>2018-11-13 21:19:12 -0800</date>
            <delta_ts>2018-11-13 22:32:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191621-20181113211911.patch</filename>
            <type>text/plain</type>
            <size>15782</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTUyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA1MzgzNWRlNjU4YWE4MmI2NTZlZTc5YTFlYzQwZjA3MjlkYWZjNTcxLi5hN2VjM2U2MmQy
MGExMzI5NmZjZGU4Y2I1MjM2MTMxZDE1NGU1OTVjIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxOC0xMS0xMyAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgY2FjaGUgZm9yIENvbW1pdExvZyBvYmplY3RzIHRv
IGF2b2lkIHJlZmV0Y2hpbmcgc2FtZSBjb21taXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE2MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIGNhY2hlIGZvciBmdWxseSBmZXRjaGVkIGNv
bW1pdCBsb2cgb2JqZWN0cyBzbyBhdm9pZCByZWZldGNoaW5nLgorCisgICAgICAgICogcHVibGlj
L3YzL21vZGVscy9jb21taXQtbG9nLmpzOgorICAgICAgICAoQ29tbWl0TG9nKTogQWRkZWQgYXNz
ZXJ0aW9uIGZvciBpZC4KKyAgICAgICAgUmVtb3ZlZCB1bnVzZWQgJ3JlbW90ZUlkJyBoYXMgaXQg
aGFzIGJlZW4gcmVtb3ZlZCBzaW5jZSByMTk4NDc5LgorICAgICAgICAoQ29tbWl0TG9nLmFzeW5j
LmZldGNoQmV0d2VlblJldmlzaW9ucyk6IFR1cm5lZCBpdCBpbnRvIGFzeW5jIGZ1bmN0aW9uLgor
ICAgICAgICAoQ29tbWl0TG9nLmFzeW5jLmZldGNoRm9yU2luZ2xlUmV2aXNpb24pOiBBZGRlZCB0
aGUgbG9naWMgdG8gY2hlY2sgY2FjaGUgYmVmb3JlIGZldGNoaW5nLgorICAgICAgICAoQ29tbWl0
TG9nLl9jb25zdHJ1Y3RGcm9tUmF3RGF0YSk6IEFkZGVkIGxvZ2ljIHRvIGFkZCBlbnRyaWVzIHRv
IGNhY2hlLgorICAgICAgICAqIHB1YmxpYy92My9tb2RlbHMvY29tbWl0LXNldC5qczogRml4ZWQg
dW5pdCB0ZXN0cy4KKyAgICAgICAgKiB1bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMuanM6IEFk
ZGVkIHVuaXQgdGVzdHMgZm9yIHRoaXMgY2hhbmdlLgorICAgICAgICBGaXhlZCBleGlzdGluZyB0
ZXN0cy4KKyAgICAgICAgKiB1bml0LXRlc3RzL2NvbW1pdC1zZXQtcmFuZ2UtYmlzZWN0b3ItdGVz
dHMuanM6IEZpeGVkIHVuaXQgdGVzdHMuCisgICAgICAgICogdW5pdC10ZXN0cy9jb21taXQtc2V0
LXRlc3RzLmpzOiBGaXhlZCB1bml0IHRlc3RzLgorCiAyMDE4LTExLTA3ICBEZXdlaSBaaHUgIDxk
ZXdlaV96aHVAYXBwbGUuY29tPgogCiAgICAgICAgICIvYXBpL3JlcG9ydCIgZG9lcyBub3QgY2hl
Y2sgY29tbWl0IHRpbWUgY29ycmVjdGx5LgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92My9tb2RlbHMvY29tbWl0LWxvZy5qcyBiL1dlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1sb2cuanMKaW5kZXggYzJkYjYzYjA5MTky
MjU5OTRiNjIwMmYzYzhmZjhkM2U1Y2M1NDI2NC4uMzJmOGM5MWE5ZDczZDlhYTUwZjE5OTJhODgx
ZGNlZjRjMjQwNzU0YSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92My9tb2RlbHMvY29tbWl0LWxvZy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL3YzL21vZGVscy9jb21taXQtbG9nLmpzCkBAIC01LDEyICs1LDEwIEBAIGNsYXNzIENv
bW1pdExvZyBleHRlbmRzIERhdGFNb2RlbE9iamVjdCB7CiAgICAgewogICAgICAgICBjb25zb2xl
LmFzc2VydChwYXJzZUludChpZCkgPT0gaWQpOwogICAgICAgICBzdXBlcihpZCk7CisgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KGlkID09IHJhd0RhdGEuaWQpCiAgICAgICAgIHRoaXMuX3JlcG9zaXRv
cnkgPSByYXdEYXRhLnJlcG9zaXRvcnk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3Jl
cG9zaXRvcnkgaW5zdGFuY2VvZiBSZXBvc2l0b3J5KTsKICAgICAgICAgdGhpcy5fcmF3RGF0YSA9
IHJhd0RhdGE7Ci0gICAgICAgIHRoaXMuX3JlbW90ZUlkID0gcmF3RGF0YS5pZDsKLSAgICAgICAg
aWYgKHRoaXMuX3JlbW90ZUlkKQotICAgICAgICAgICAgdGhpcy5lbnN1cmVOYW1lZFN0YXRpY01h
cCgncmVtb3RlSWQnKVt0aGlzLl9yZW1vdGVJZF0gPSB0aGlzOwogICAgICAgICB0aGlzLl9vd25l
ZENvbW1pdHMgPSBudWxsOwogICAgICAgICB0aGlzLl9vd25lckNvbW1pdCA9IG51bGw7CiAgICAg
ICAgIHRoaXMuX293bmVkQ29tbWl0QnlPd25lZFJlcG9zaXRvcnkgPSBuZXcgTWFwOwpAQCAtMTYz
LDI2ICsxNjEsMzMgQEAgY2xhc3MgQ29tbWl0TG9nIGV4dGVuZHMgRGF0YU1vZGVsT2JqZWN0IHsK
ICAgICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7CiAgICAgfQogCi0gICAgc3RhdGljIGZldGNoQmV0
d2VlblJldmlzaW9ucyhyZXBvc2l0b3J5LCBwcmVjZWRpbmdSZXZpc2lvbiwgbGFzdFJldmlzaW9u
KQorICAgIHN0YXRpYyBhc3luYyBmZXRjaEJldHdlZW5SZXZpc2lvbnMocmVwb3NpdG9yeSwgcHJl
Y2VkaW5nUmV2aXNpb24sIGxhc3RSZXZpc2lvbikKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGUgY2FjaGUgc2hvdWxkIGJlIHNtYXJ0ZXIgYWJvdXQgZmV0Y2hpbmcgYSByYW5nZSB3aXRoaW4g
YW4gYWxyZWFkeSBmZXRjaGVkIHJhbmdlLCBldGMuLi4KLSAgICAgICAgLy8gRklYTUU6IFdlIHNo
b3VsZCBldmljdCBzb21lIGVudGlyZXMgZnJvbSB0aGUgY2FjaGUgaW4gY2FjaGVkRmV0Y2guCi0g
ICAgICAgIHJldHVybiB0aGlzLmNhY2hlZEZldGNoKGAvYXBpL2NvbW1pdHMvJHtyZXBvc2l0b3J5
LmlkKCl9L2AsIHtwcmVjZWRpbmdSZXZpc2lvbiwgbGFzdFJldmlzaW9ufSkKLSAgICAgICAgICAg
IC50aGVuKChkYXRhKSA9PiB0aGlzLl9jb25zdHJ1Y3RGcm9tUmF3RGF0YShkYXRhKSk7CisgICAg
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgZXZpY3Qgc29tZSBlbnRyaWVzIGZyb20gdGhlIGNhY2hl
IGluIGNhY2hlZEZldGNoLgorICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jYWNoZWRG
ZXRjaChgL2FwaS9jb21taXRzLyR7cmVwb3NpdG9yeS5pZCgpfS9gLCB7cHJlY2VkaW5nUmV2aXNp
b24sIGxhc3RSZXZpc2lvbn0pOworICAgICAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0RnJvbVJh
d0RhdGEoZGF0YSk7CiAgICAgfQogCi0gICAgc3RhdGljIGZldGNoRm9yU2luZ2xlUmV2aXNpb24o
cmVwb3NpdG9yeSwgcmV2aXNpb24pCisgICAgc3RhdGljIGFzeW5jIGZldGNoRm9yU2luZ2xlUmV2
aXNpb24ocmVwb3NpdG9yeSwgcmV2aXNpb24pCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5j
YWNoZWRGZXRjaChgL2FwaS9jb21taXRzLyR7cmVwb3NpdG9yeS5pZCgpfS8ke3JldmlzaW9ufWAp
LnRoZW4oKGRhdGEpID0+IHsKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25zdHJ1Y3RGcm9t
UmF3RGF0YShkYXRhKTsKLSAgICAgICAgfSk7CisgICAgICAgIGNvbnN0IGNvbW1pdCA9IHJlcG9z
aXRvcnkuZW5zdXJlTmFtZWRTdGF0aWNNYXAoJ3JldmlzaW9uJylbcmV2aXNpb25dOworICAgICAg
ICBpZiAoY29tbWl0KQorICAgICAgICAgICAgcmV0dXJuIFtjb21taXRdOworCisgICAgICAgIGNv
bnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNhY2hlZEZldGNoKGAvYXBpL2NvbW1pdHMvJHtyZXBvc2l0
b3J5LmlkKCl9LyR7cmV2aXNpb259YCk7CisgICAgICAgIHJldHVybiB0aGlzLl9jb25zdHJ1Y3RG
cm9tUmF3RGF0YShkYXRhKTsKICAgICB9CiAKICAgICBzdGF0aWMgX2NvbnN0cnVjdEZyb21SYXdE
YXRhKGRhdGEpCiAgICAgewogICAgICAgICByZXR1cm4gZGF0YVsnY29tbWl0cyddLm1hcCgocmF3
RGF0YSkgPT4gewotICAgICAgICAgICAgcmF3RGF0YS5yZXBvc2l0b3J5ID0gUmVwb3NpdG9yeS5m
aW5kQnlJZChyYXdEYXRhLnJlcG9zaXRvcnkpOwotICAgICAgICAgICAgcmV0dXJuIENvbW1pdExv
Zy5lbnN1cmVTaW5nbGV0b24ocmF3RGF0YS5pZCwgcmF3RGF0YSk7CisgICAgICAgICAgICBjb25z
dCByZXBvc2l0b3J5SWQgPSByYXdEYXRhLnJlcG9zaXRvcnk7CisgICAgICAgICAgICBjb25zdCBy
ZXBvc2l0b3J5ID0gUmVwb3NpdG9yeS5maW5kQnlJZChyZXBvc2l0b3J5SWQpOworICAgICAgICAg
ICAgcmF3RGF0YS5yZXBvc2l0b3J5ID0gcmVwb3NpdG9yeTsKKyAgICAgICAgICAgIGNvbnN0IGNv
bW1pdCA9IENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24ocmF3RGF0YS5pZCwgcmF3RGF0YSk7Cisg
ICAgICAgICAgICByZXBvc2l0b3J5LmVuc3VyZU5hbWVkU3RhdGljTWFwKCdyZXZpc2lvbicpW2Nv
bW1pdC5yZXZpc2lvbigpXSA9IGNvbW1pdDsKKyAgICAgICAgICAgIHJldHVybiBjb21taXQ7CiAg
ICAgICAgIH0pOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1zZXQuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YzL21vZGVscy9jb21taXQtc2V0LmpzCmluZGV4IDI5YTk4MjU2ZDBmMzEzMmYw
NjNhNzAxYTdjNTJiMTFjMDJhZjY5NjYuLjk0YWNjNTMzMjg5OGNiNDkwMGFmZTc4YjdmNmNiNjk3
OWZjMzM1MTYgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMv
bW9kZWxzL2NvbW1pdC1zZXQuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92My9tb2RlbHMvY29tbWl0LXNldC5qcwpAQCAtMjgxLDcgKzI4MSw3IEBAIGNsYXNzIE1lYXN1
cmVtZW50Q29tbWl0U2V0IGV4dGVuZHMgQ29tbWl0U2V0IHsKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKIAogICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBhIGZsYWcgdG8gcmVtZW1iZXIgdGhl
IGZhY3QgdGhpcyBjb21taXQgbG9nIGlzIGluY29tcGxldGUuCi0gICAgICAgICAgICBjb25zdCBj
b21taXQgPSBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKGNvbW1pdElkLCB7cmVwb3NpdG9yeSwg
cmV2aXNpb24sIG9yZGVyLCB0aW1lfSk7CisgICAgICAgICAgICBjb25zdCBjb21taXQgPSBDb21t
aXRMb2cuZW5zdXJlU2luZ2xldG9uKGNvbW1pdElkLCB7aWQ6IGNvbW1pdElkLCByZXBvc2l0b3J5
LCByZXZpc2lvbiwgb3JkZXIsIHRpbWV9KTsKICAgICAgICAgICAgIHRoaXMuX3JlcG9zaXRvcnlU
b0NvbW1pdE1hcC5zZXQocmVwb3NpdG9yeSwgY29tbWl0KTsKICAgICAgICAgICAgIHRoaXMuX3Jl
cG9zaXRvcmllcy5wdXNoKHJlcG9zaXRvcnkpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9XZWJz
aXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtbG9nLXRlc3RzLmpzIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LWxvZy10ZXN0cy5qcwppbmRl
eCAyZWQxZDgwMmJhMTJmZDliZjAyNzZjMjVkOGM4MmQyZGYzMzM4YjYwLi43MDE5ZWYwMzM1ZDc1
YjYyYTE5ZDM5OTI0NWVmNDU2ZTczMWVhYjY4IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtbG9nLXRlc3RzLmpzCisrKyBiL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMuanMKQEAgLTEwLDYgKzEw
LDcgQEAgY29uc3QgTW9ja1JlbW90ZUFQSSA9IHJlcXVpcmUoJy4uL3VuaXQtdGVzdHMvcmVzb3Vy
Y2VzL21vY2stcmVtb3RlLWFwaS5qcycpLk1vY2sKIGZ1bmN0aW9uIHdlYmtpdENvbW1pdCgpCiB7
CiAgICAgcmV0dXJuIG5ldyBDb21taXRMb2coMSwgeworICAgICAgICBpZDogMSwKICAgICAgICAg
cmVwb3NpdG9yeTogTW9ja01vZGVscy53ZWJraXQsCiAgICAgICAgIHJldmlzaW9uOiAnMjAwODA1
JywKICAgICAgICAgdGltZTogKyhuZXcgRGF0ZSgnMjAxNi0wNS0xM1QwMDo1NTo1Ny44NDEzNDRa
JykpLApAQCAtMTksNiArMjAsNyBAQCBmdW5jdGlvbiB3ZWJraXRDb21taXQoKQogZnVuY3Rpb24g
b2xkV2ViS2l0Q29tbWl0KCkKIHsKICAgICByZXR1cm4gbmV3IENvbW1pdExvZygyLCB7CisgICAg
ICAgIGlkOiAyLAogICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdCwKICAgICAg
ICAgcmV2aXNpb246ICcyMDA1NzQnLAogICAgICAgICB0aW1lOiArKG5ldyBEYXRlKCcyMDE2LTA1
LTA5VDE0OjU5OjIzLjU1Mzc2N1onKSksCkBAIC0yOCw2ICszMCw3IEBAIGZ1bmN0aW9uIG9sZFdl
YktpdENvbW1pdCgpCiBmdW5jdGlvbiBnaXRXZWJLaXRDb21taXQoKQogewogICAgIHJldHVybiBu
ZXcgQ29tbWl0TG9nKDMsIHsKKyAgICAgICAgaWQ6IDMsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1v
Y2tNb2RlbHMud2Via2l0LAogICAgICAgICByZXZpc2lvbjogJzZmOGIwZGJiZGE5NWE0NDA1MDNi
ODhkYjFkZDAzZGFkM2E3YjA3ZmInLAogICAgICAgICB0aW1lOiArKG5ldyBEYXRlKCcyMDE2LTA1
LTEzVDAwOjU1OjU3Ljg0MTM0NFonKSksCkBAIC0zNyw2ICs0MCw3IEBAIGZ1bmN0aW9uIGdpdFdl
YktpdENvbW1pdCgpCiBmdW5jdGlvbiBvbGRHaXRXZWJLaXRDb21taXQoKQogewogICAgIHJldHVy
biBuZXcgQ29tbWl0TG9nKDQsIHsKKyAgICAgICAgaWQ6IDQsCiAgICAgICAgIHJlcG9zaXRvcnk6
IE1vY2tNb2RlbHMud2Via2l0LAogICAgICAgICByZXZpc2lvbjogJ2ZmZGExNGU2ZGIwNzQ2ZDEw
ZDBmMDUwOTA3ZTRhNzMyNTg1MWU1MDInLAogICAgICAgICB0aW1lOiArKG5ldyBEYXRlKCcyMDE2
LTA1LTA5VDE0OjU5OjIzLjU1Mzc2N1onKSksCkBAIC00Niw2ICs1MCw3IEBAIGZ1bmN0aW9uIG9s
ZEdpdFdlYktpdENvbW1pdCgpCiBmdW5jdGlvbiBvc3hDb21taXQoKQogewogICAgIHJldHVybiBu
ZXcgQ29tbWl0TG9nKDUsIHsKKyAgICAgICAgaWQ6IDUsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1v
Y2tNb2RlbHMub3N4LAogICAgICAgICByZXZpc2lvbjogJzEwLjExLjQgMTVFNjUnLAogICAgICAg
ICB0aW1lOiBudWxsLApAQCAtNTYsNiArNjEsNyBAQCBmdW5jdGlvbiBvc3hDb21taXQoKQogZnVu
Y3Rpb24gb2xkT1NYQ29tbWl0KCkKIHsKICAgICByZXR1cm4gbmV3IENvbW1pdExvZyg2LCB7Cisg
ICAgICAgIGlkOiA2LAogICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLm9zeCwKICAgICAg
ICAgcmV2aXNpb246ICcxMC4xMS4zIDE1RDIxJywKICAgICAgICAgdGltZTogbnVsbCwKQEAgLTY2
LDYgKzcyLDcgQEAgZnVuY3Rpb24gb2xkT1NYQ29tbWl0KCkKIGZ1bmN0aW9uIGNvbW1pdFdpdGhv
dXRPd25lZENvbW1pdHMoKQogewogICAgIHJldHVybiBuZXcgQ29tbWl0TG9nKDYsIHsKKyAgICAg
ICAgaWQ6IDYsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMub3duZXJSZXBvc2l0b3J5
LAogICAgICAgICByZXZpc2lvbjogJzEwLjExLjQgMTVFNjYnLAogICAgICAgICBvd25zQ29tbWl0
czogZmFsc2UsCkBAIC03Nyw2ICs4NCw3IEBAIGZ1bmN0aW9uIGNvbW1pdFdpdGhvdXRPd25lZENv
bW1pdHMoKQogZnVuY3Rpb24gb3duZXJDb21taXQoKQogewogICAgIHJldHVybiBuZXcgQ29tbWl0
TG9nKDUsIHsKKyAgICAgICAgaWQ6IDUsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMu
b3duZXJSZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjogJzEwLjExLjQgMTVFNjUnLAogICAg
ICAgICBvd25zQ29tbWl0czogdHJ1ZSwKQEAgLTg4LDYgKzk2LDcgQEAgZnVuY3Rpb24gb3duZXJD
b21taXQoKQogZnVuY3Rpb24gb3RoZXJPd25lckNvbW1pdCgpCiB7CiAgICAgcmV0dXJuIG5ldyBD
b21taXRMb2coNSwgeworICAgICAgICBpZDogNSwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01v
ZGVscy5vd25lclJlcG9zaXRvcnksCiAgICAgICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2Nics
CiAgICAgICAgIG93bnNDb21taXRzOiB0cnVlLApAQCAtOTksNiArMTA4LDcgQEAgZnVuY3Rpb24g
b3RoZXJPd25lckNvbW1pdCgpCiBmdW5jdGlvbiBvd25lZENvbW1pdCgpCiB7CiAgICAgcmV0dXJu
IG5ldyBDb21taXRMb2coMTEsIHsKKyAgICAgICAgaWQ6IDExLAogICAgICAgICByZXBvc2l0b3J5
OiBNb2NrTW9kZWxzLm93bmVkUmVwb3NpdG9yeSwKICAgICAgICAgcmV2aXNpb246ICdvd25lZC1j
b21taXQtMCcsCiAgICAgICAgIG93bnNDb21taXRzOiB0cnVlLApAQCAtMTA5LDYgKzExOSw3IEBA
IGZ1bmN0aW9uIG93bmVkQ29tbWl0KCkKIGZ1bmN0aW9uIGFub3RoZXJPd25lZENvbW1pdCgpCiB7
CiAgICAgcmV0dXJuIG5ldyBDb21taXRMb2coMTEsIHsKKyAgICAgICAgaWQ6IDExLAogICAgICAg
ICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLm93bmVkUmVwb3NpdG9yeSwKICAgICAgICAgcmV2aXNp
b246ICdvd25lZC1jb21taXQtMScsCiAgICAgICAgIG93bnNDb21taXRzOiB0cnVlLApAQCAtNDA1
LDQgKzQxNiw2OCBAQCBkZXNjcmliZSgnQ29tbWl0TG9nJywgZnVuY3Rpb24gKCkgewogCiAgICAg
ICAgIH0pOwogICAgIH0pOworCisgICAgY29uc3QgY29tbWl0c0FQSVJlc3BvbnNlID0geworICAg
ICAgICAiY29tbWl0cyI6W3sKKyAgICAgICAgICAgICJpZCI6ICI4MzExNTEiLAorICAgICAgICAg
ICAgInJldmlzaW9uIjogIjIzNjY0MyIsCisgICAgICAgICAgICAicmVwb3NpdG9yeSI6ICIxMSIs
CisgICAgICAgICAgICAicHJldmlvdXNDb21taXQiOiBudWxsLAorICAgICAgICAgICAgInRpbWUi
OiAxNTM4MjIzMDc3NDAzLAorICAgICAgICAgICAgIm9yZGVyIjogbnVsbCwKKyAgICAgICAgICAg
ICJhdXRob3JOYW1lIjogIkNvbW1pdCBRdWV1ZSIsCisgICAgICAgICAgICAiYXV0aG9yRW1haWwi
OiAiY29tbWl0LXF1ZXVlQHdlYmtpdC5vcmciLAorICAgICAgICAgICAgIm1lc3NhZ2UiOiAibWVz
c2FnZSIsCisgICAgICAgICAgICAib3duc0NvbW1pdHMiOiBmYWxzZQorICAgICAgICB9XSwKKyAg
ICAgICAgInN0YXR1cyI6Ik9LIgorICAgIH07CisKKyAgICBkZXNjcmliZSgnZmV0Y2hGb3JTaW5n
bGVSZXZpc2lvbicsICgpID0+IHsKKyAgICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7CisgICAgICAg
ICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisgICAgICAgIH0pOworCisgICAgICAgIGl0KCdz
aG91bGQgYXZvaWQgZmV0Y2hpbmcgc2FtZSByZXZpc2lvbiBmcm9tIHNhbWUgcmVwb3NpdG9yeSB0
d2ljZScsIGFzeW5jICgpID0+IHsKKyAgICAgICAgICAgIGxldCBmZXRjaGluZ1Byb21pc2UgPSBD
b21taXRMb2cuZmV0Y2hGb3JTaW5nbGVSZXZpc2lvbihNb2NrTW9kZWxzLndlYmtpdCwgJzIzNjY0
MycpOworCisgICAgICAgICAgICBjb25zdCByZXF1ZXN0cyA9IE1vY2tSZW1vdGVBUEkucmVxdWVz
dHM7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0c1swXS51cmwsIGAvYXBpL2NvbW1pdHMvJHtNb2Nr
TW9kZWxzLndlYmtpdC5pZCgpfS8yMzY2NDNgKTsKKworICAgICAgICAgICAgcmVxdWVzdHNbMF0u
cmVzb2x2ZShjb21taXRzQVBJUmVzcG9uc2UpOworICAgICAgICAgICAgY29uc3QgY29tbWl0cyA9
IGF3YWl0IGZldGNoaW5nUHJvbWlzZTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChjb21taXRz
Lmxlbmd0aCwgMSk7CisKKyAgICAgICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKKyAgICAg
ICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDApOworICAgICAgICAgICAgZmV0
Y2hpbmdQcm9taXNlID0gQ29tbWl0TG9nLmZldGNoRm9yU2luZ2xlUmV2aXNpb24oTW9ja01vZGVs
cy53ZWJraXQsICcyMzY2NDMnKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5s
ZW5ndGgsIDApOworICAgICAgICAgICAgY29uc3QgbmV3Q29tbWl0cyA9IGF3YWl0IGZldGNoaW5n
UHJvbWlzZTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChuZXdDb21taXRzLmxlbmd0aCwgMSk7
CisKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChjb21taXRzWzBdLCBuZXdDb21taXRzWzBdKTsK
KyAgICAgICAgfSk7CisKKyAgICAgICAgaXQoJ3Nob3VsZCBhdm9pZCBmZXRjaGluZyBzYW1lIHJl
dmlzaW9uIGZyb20gc2FtZSByZXBvc2l0b3J5IGFnYWluIGlmIGl0IGhhcyBiZWVuIGZldGNoZWQg
YnkgImZldGNoQmV0d2VlblJldmlzaW9ucyIgYmVmb3JlJywgYXN5bmMgKCkgPT4geworICAgICAg
ICAgICAgbGV0IGZldGNoaW5nUHJvbWlzZSA9IENvbW1pdExvZy5mZXRjaEJldHdlZW5SZXZpc2lv
bnMoTW9ja01vZGVscy53ZWJraXQsICcyMzY2NDInLCAnMjM2NjQzJyk7CisKKyAgICAgICAgICAg
IGNvbnN0IHJlcXVlc3RzID0gTW9ja1JlbW90ZUFQSS5yZXF1ZXN0czsKKyAgICAgICAgICAgIGFz
c2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFs
KHJlcXVlc3RzWzBdLnVybCwgYC9hcGkvY29tbWl0cy8ke01vY2tNb2RlbHMud2Via2l0LmlkKCl9
Lz9wcmVjZWRpbmdSZXZpc2lvbj0yMzY2NDImbGFzdFJldmlzaW9uPTIzNjY0M2ApOworCisgICAg
ICAgICAgICByZXF1ZXN0c1swXS5yZXNvbHZlKGNvbW1pdHNBUElSZXNwb25zZSk7CisgICAgICAg
ICAgICBjb25zdCBjb21taXRzID0gYXdhaXQgZmV0Y2hpbmdQcm9taXNlOworICAgICAgICAgICAg
YXNzZXJ0LmVxdWFsKGNvbW1pdHMubGVuZ3RoLCAxKTsKKworICAgICAgICAgICAgTW9ja1JlbW90
ZUFQSS5yZXNldCgpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwg
MCk7CisgICAgICAgICAgICBmZXRjaGluZ1Byb21pc2UgPSBDb21taXRMb2cuZmV0Y2hGb3JTaW5n
bGVSZXZpc2lvbihNb2NrTW9kZWxzLndlYmtpdCwgJzIzNjY0MycpOworICAgICAgICAgICAgYXNz
ZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMCk7CisgICAgICAgICAgICBjb25zdCBuZXdDb21t
aXRzID0gYXdhaXQgZmV0Y2hpbmdQcm9taXNlOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG5l
d0NvbW1pdHMubGVuZ3RoLCAxKTsKKworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGNvbW1pdHNb
MF0sIG5ld0NvbW1pdHNbMF0pOworICAgICAgICB9KTsKKyAgICB9KTsKIH0pOwpkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNldC1yYW5nZS1i
aXNlY3Rvci10ZXN0cy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2Nv
bW1pdC1zZXQtcmFuZ2UtYmlzZWN0b3ItdGVzdHMuanMKaW5kZXggNzFjYjEzZjY3NTc4NmZlOTA0
ODc3N2M3MjkyZmU5ZTliZjAzYWExMS4uZDA5N2I4YmI5ZGM2NmQ3MjgyNzBmYTU4ZjFkZjE1NTNh
ZGFmODkwNiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMv
Y29tbWl0LXNldC1yYW5nZS1iaXNlY3Rvci10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtc2V0LXJhbmdlLWJpc2VjdG9yLXRlc3RzLmpzCkBA
IC0xMiw2ICsxMiw3IEBAIGRlc2NyaWJlKCdDb21taXRTZXRSYW5nZUJpc2VjdG9yJywgKCkgPT4g
ewogICAgIGZ1bmN0aW9uIG1ha2VDb21taXQoaWQsIHJlcG9zaXRvcnksIHJldmlzaW9uLCB0aW1l
LCBvcmRlcikKICAgICB7CiAgICAgICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9u
KGlkLCB7CisgICAgICAgICAgICBpZCwKICAgICAgICAgICAgIHJlcG9zaXRvcnksCiAgICAgICAg
ICAgICByZXZpc2lvbiwKICAgICAgICAgICAgIG93bnNDb21taXRzOiBmYWxzZSwKZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1zZXQtdGVzdHMu
anMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtc2V0LXRlc3Rz
LmpzCmluZGV4IDdlMzlhYjcwY2RlZGJkMzM3NGE0NWE3YmE3OWNjNmYwNmRhMjRkMDYuLjM5ZmNj
YzU0NzU5Zjg3OWYxY2UwMzgzYjBhOWIyY2U3ZmM1YjlhNDkgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1zZXQtdGVzdHMuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNldC10ZXN0cy5qcwpAQCAt
NzQsNiArNzQsNyBAQCBmdW5jdGlvbiBjdXN0b21Db21taXRTZXRXaXRoT3duZWRSZXBvc2l0b3J5
SGFzU2FtZU5hbWVBc05vdE93bmVkUmVwb3NpdG9yeSgpCiBmdW5jdGlvbiBvd25lckNvbW1pdCgp
CiB7CiAgICAgcmV0dXJuIENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oNSwgeworICAgICAgICBp
ZDogNSwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJlcG9zaXRvcnksCiAg
ICAgICAgIHJldmlzaW9uOiAnb3duZXItY29tbWl0LTAnLAogICAgICAgICBvd25zQ29tbWl0czog
dHJ1ZSwKQEAgLTg0LDYgKzg1LDcgQEAgZnVuY3Rpb24gb3duZXJDb21taXQoKQogZnVuY3Rpb24g
cGFydGlhbE93bmVyQ29tbWl0KCkKIHsKICAgICByZXR1cm4gQ29tbWl0TG9nLmVuc3VyZVNpbmds
ZXRvbig1LCB7CisgICAgICAgIGlkOiA1LAogICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxz
Lm93bmVyUmVwb3NpdG9yeSwKICAgICAgICAgcmV2aXNpb246ICdvd25lci1jb21taXQtMCcsCiAg
ICAgICAgIG93bnNDb21taXRzOiBudWxsLApAQCAtOTQsNiArOTYsNyBAQCBmdW5jdGlvbiBwYXJ0
aWFsT3duZXJDb21taXQoKQogZnVuY3Rpb24gb3duZWRDb21taXQoKQogewogICAgIHJldHVybiBu
ZXcgQ29tbWl0TG9nKDYsIHsKKyAgICAgICAgaWQ6IDYsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1v
Y2tNb2RlbHMub3duZWRSZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjogJ293bmVkLWNvbW1p
dC0wJywKICAgICAgICAgb3duc0NvbW1pdHM6IG51bGwsCkBAIC0xMDQsNiArMTA3LDcgQEAgZnVu
Y3Rpb24gb3duZWRDb21taXQoKQogZnVuY3Rpb24gd2Via2l0Q29tbWl0KCkKIHsKICAgICByZXR1
cm4gQ29tbWl0TG9nLmVuc3VyZVNpbmdsZXRvbigyMDE3LCB7CisgICAgICAgIGlkOiAyMDE3LAog
ICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdCwKICAgICAgICAgcmV2aXNpb246
ICd3ZWJraXQtY29tbWl0LTAnLAogICAgICAgICBvd25zQ29tbWl0czogZmFsc2UsCkBAIC0xMTQs
NiArMTE4LDcgQEAgZnVuY3Rpb24gd2Via2l0Q29tbWl0KCkKIGZ1bmN0aW9uIGFub3RoZXJXZWJL
aXRDb21taXQoKQogewogICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKDIwMTgs
IHsKKyAgICAgICAgaWQ6IDIwMTgsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Vi
a2l0LAogICAgICAgICByZXZpc2lvbjogJ3dlYmtpdC1jb21taXQtMScsCiAgICAgICAgIG93bnND
b21taXRzOiBmYWxzZSwKQEAgLTEyNCw2ICsxMjksNyBAQCBmdW5jdGlvbiBhbm90aGVyV2ViS2l0
Q29tbWl0KCkKIGZ1bmN0aW9uIGNvbW1pdFdpdGhTVk5SZXZpc2lvbigpCiB7CiAgICAgcmV0dXJu
IENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oMjAxOSwgeworICAgICAgICBpZDogMjAxOSwKICAg
ICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy53ZWJraXQsCiAgICAgICAgIHJldmlzaW9uOiAn
MTIzNDUnLAogICAgICAgICBvd25zQ29tbWl0czogZmFsc2UsCkBAIC0xMzQsNiArMTQwLDcgQEAg
ZnVuY3Rpb24gY29tbWl0V2l0aFNWTlJldmlzaW9uKCkKIGZ1bmN0aW9uIGFub3RoZXJDb21taXRX
aXRoU1ZOUmV2aXNpb24oKQogewogICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9u
KDIwMjAsIHsKKyAgICAgICAgaWQ6IDIwMjAsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2Rl
bHMud2Via2l0LAogICAgICAgICByZXZpc2lvbjogJzQ1Njc4JywKICAgICAgICAgb3duc0NvbW1p
dHM6IGZhbHNlLApAQCAtMTQ0LDYgKzE1MSw3IEBAIGZ1bmN0aW9uIGFub3RoZXJDb21taXRXaXRo
U1ZOUmV2aXNpb24oKQogZnVuY3Rpb24gY29tbWl0V2l0aEdpdFJldmlzaW9uKCkKIHsKICAgICBy
ZXR1cm4gQ29tbWl0TG9nLmVuc3VyZVNpbmdsZXRvbigyMDIxLCB7CisgICAgICAgIGlkOiAyMDIx
LAogICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdEdpdCwKICAgICAgICAgcmV2
aXNpb246ICcxM2EwNTkwZDM0ZjI2ZmRhMzk1M2M0MmZmODMzMTMyYTFhNmY2ZjVhJywKICAgICAg
ICAgb3duc0NvbW1pdHM6IGZhbHNlLApAQCAtMTU0LDYgKzE2Miw3IEBAIGZ1bmN0aW9uIGNvbW1p
dFdpdGhHaXRSZXZpc2lvbigpCiBmdW5jdGlvbiBhbm90aGVyQ29tbWl0V2l0aEdpdFJldmlzaW9u
KCkKIHsKICAgICByZXR1cm4gQ29tbWl0TG9nLmVuc3VyZVNpbmdsZXRvbigyMDIyLCB7CisgICAg
ICAgIGlkOiAyMDIyLAogICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdEdpdCwK
ICAgICAgICAgcmV2aXNpb246ICcyZjhkZDMzMjFkNGY1MWMwNGY0ZTIwMTk0MjhjZTlmZmU5N2Yx
ZWYxJywKICAgICAgICAgb3duc0NvbW1pdHM6IGZhbHNlLApAQCAtNDQ3LDcgKzQ1Niw3IEBAIGRl
c2NyaWJlKCdJbnRlcm1lZGlhdGVDb21taXRTZXQnLCAoKSA9PiB7CiAgICAgICAgICAgICBjb25z
dCBvd25lZCA9IG93bmVkQ29tbWl0KCk7CiAKICAgICAgICAgICAgIGNvbnN0IGNvbW1pdFNldCA9
IENvbW1pdFNldC5lbnN1cmVTaW5nbGV0b24oJzUzMjQ2NDU2Jywge3JldmlzaW9uSXRlbXM6IFt7
Y29tbWl0fSwge2NvbW1pdDogb3duZWQsIG93bmVyQ29tbWl0OiBjb21taXR9XX0pOwotICAgICAg
ICAgICAgY29uc3QgaW50ZXJtZWRpYXRlQ29tbWl0U2V0ID1uZXcgSW50ZXJtZWRpYXRlQ29tbWl0
U2V0KGNvbW1pdFNldCk7CisgICAgICAgICAgICBjb25zdCBpbnRlcm1lZGlhdGVDb21taXRTZXQg
PSBuZXcgSW50ZXJtZWRpYXRlQ29tbWl0U2V0KGNvbW1pdFNldCk7CiAgICAgICAgICAgICBjb25z
dCBmZXRjaGluZ1Byb21pc2UgPSBpbnRlcm1lZGlhdGVDb21taXRTZXQuZmV0Y2hDb21taXRMb2dz
KCk7CiAKICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gTW9ja1JlbW90ZUFQSS5yZXF1ZXN0
czsKQEAgLTQ1OSwxNCArNDY4LDE0IEBAIGRlc2NyaWJlKCdJbnRlcm1lZGlhdGVDb21taXRTZXQn
LCAoKSA9PiB7CiAKICAgICAgICAgICAgIHJlcXVlc3RzWzBdLnJlc29sdmUoe2NvbW1pdHM6IFt7
CiAgICAgICAgICAgICAgICAgaWQ6IDUsCi0gICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogTW9j
a01vZGVscy5vd25lclJlcG9zaXRvcnksCisgICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogTW9j
a01vZGVscy5vd25lclJlcG9zaXRvcnkuaWQoKSwKICAgICAgICAgICAgICAgICByZXZpc2lvbjog
J293bmVyLWNvbW1pdC0wJywKICAgICAgICAgICAgICAgICBvd25zQ29tbWl0czogdHJ1ZSwKICAg
ICAgICAgICAgICAgICB0aW1lOiArKG5ldyBEYXRlKCcyMDE2LTA1LTEzVDAwOjU1OjU3Ljg0MTM0
NFonKSksCiAgICAgICAgICAgICB9XX0pOwogICAgICAgICAgICAgcmVxdWVzdHNbMV0ucmVzb2x2
ZSh7Y29tbWl0czogW3sKICAgICAgICAgICAgICAgICBpZDogNiwKLSAgICAgICAgICAgICAgICBy
ZXBvc2l0b3J5OiBNb2NrTW9kZWxzLm93bmVkUmVwb3NpdG9yeSwKKyAgICAgICAgICAgICAgICBy
ZXBvc2l0b3J5OiBNb2NrTW9kZWxzLm93bmVkUmVwb3NpdG9yeS5pZCgpLAogICAgICAgICAgICAg
ICAgIHJldmlzaW9uOiAnb3duZWQtY29tbWl0LTAnLAogICAgICAgICAgICAgICAgIG93bnNDb21t
aXRzOiBmYWxzZSwKICAgICAgICAgICAgICAgICB0aW1lOiAxNDU2OTMyNzc0MDAwLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354772</attachid>
            <date>2018-11-13 22:32:46 -0800</date>
            <delta_ts>2018-11-13 22:54:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191621-20181113223245.patch</filename>
            <type>text/plain</type>
            <size>18845</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTUyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA1MzgzNWRlNjU4YWE4MmI2NTZlZTc5YTFlYzQwZjA3MjlkYWZjNTcxLi4yZDJjYmIwZmVi
ZTM0Y2UzODQ0Y2E4ZTUxMDViZjQ2MWI3NWNjYzEwIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxOC0xMS0xMyAgRGV3ZWkgWmh1ICA8ZGV3ZWlfemh1
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgY2FjaGUgZm9yIENvbW1pdExvZyBvYmplY3RzIHRv
IGF2b2lkIHJlZmV0Y2hpbmcgc2FtZSBjb21taXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE2MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIGNhY2hlIGZvciBmdWxseSBmZXRjaGVkIGNv
bW1pdCBsb2cgb2JqZWN0cyBzbyBhdm9pZCByZWZldGNoaW5nLgorCisgICAgICAgICogcHVibGlj
L3YzL21vZGVscy9jb21taXQtbG9nLmpzOgorICAgICAgICAoQ29tbWl0TG9nKTogQWRkZWQgYXNz
ZXJ0aW9uIGZvciBpZC4KKyAgICAgICAgUmVtb3ZlZCB1bnVzZWQgJ3JlbW90ZUlkJyBoYXMgaXQg
aGFzIGJlZW4gcmVtb3ZlZCBzaW5jZSByMTk4NDc5LgorICAgICAgICAoQ29tbWl0TG9nLmFzeW5j
LmZldGNoQmV0d2VlblJldmlzaW9ucyk6IFR1cm5lZCBpdCBpbnRvIGFzeW5jIGZ1bmN0aW9uLgor
ICAgICAgICAoQ29tbWl0TG9nLmFzeW5jLmZldGNoRm9yU2luZ2xlUmV2aXNpb24pOiBBZGRlZCB0
aGUgbG9naWMgdG8gY2hlY2sgY2FjaGUgYmVmb3JlIGZldGNoaW5nLgorICAgICAgICAoQ29tbWl0
TG9nLl9jb25zdHJ1Y3RGcm9tUmF3RGF0YSk6IEFkZGVkIGxvZ2ljIHRvIGFkZCBlbnRyaWVzIHRv
IGNhY2hlLgorICAgICAgICAqIHB1YmxpYy92My9tb2RlbHMvcmVwb3NpdG9yeS5qczogQWRkZWQg
dGhlIGFiaWxpdHkgdG8gdHJhY2sgZmV0Y2hlZCBjb21taXQgZm9yIGNlcnRhaW4gcmVwb3NpdG9y
eS4KKyAgICAgICAgKFJlcG9zaXRvcnkuY29tbWl0Rm9yUmV2aXNpb24pOiBGaXhlZCBtZWFzdXJl
bWVudCBzZXQgbm90IHBhc3NpbmcgY29tbWl0IGlkIHdoaWxlIGNvbnN0cnVjdGluZyBhCisgICAg
ICAgIGNvbW1pdCBsb2cgb2JqZWN0LgorICAgICAgICAoUmVwb3NpdG9yeS5zZXRDb21taXRGb3JS
ZXZpc2lvbik6IFNldHMgY29tbWl0IGZvciBhIGdpdmVuIHJldmlzaW9uLgorICAgICAgICAqIHB1
YmxpYy92My9tb2RlbHMvY29tbWl0LXNldC5qczogRml4ZWQgdW5pdCB0ZXN0cy4KKyAgICAgICAg
KiB1bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMuanM6IEFkZGVkIHVuaXQgdGVzdHMgZm9yIHRo
aXMgY2hhbmdlLgorICAgICAgICBGaXhlZCBleGlzdGluZyB0ZXN0cy4KKyAgICAgICAgKiB1bml0
LXRlc3RzL2NvbW1pdC1zZXQtcmFuZ2UtYmlzZWN0b3ItdGVzdHMuanM6IEZpeGVkIHVuaXQgdGVz
dHMuCisgICAgICAgICogdW5pdC10ZXN0cy9jb21taXQtc2V0LXRlc3RzLmpzOiBGaXhlZCB1bml0
IHRlc3RzLgorCiAyMDE4LTExLTA3ICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgog
CiAgICAgICAgICIvYXBpL3JlcG9ydCIgZG9lcyBub3QgY2hlY2sgY29tbWl0IHRpbWUgY29ycmVj
dGx5LgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2Rl
bHMvY29tbWl0LWxvZy5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9k
ZWxzL2NvbW1pdC1sb2cuanMKaW5kZXggYzJkYjYzYjA5MTkyMjU5OTRiNjIwMmYzYzhmZjhkM2U1
Y2M1NDI2NC4uMTMwY2I5MGYxNDk4YWViZTMwOTkwN2Y0M2M1NTM1ZTQ3MDNiZWMzOCAxMDA2NDQK
LS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvY29tbWl0LWxv
Zy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9jb21t
aXQtbG9nLmpzCkBAIC01LDEyICs1LDEwIEBAIGNsYXNzIENvbW1pdExvZyBleHRlbmRzIERhdGFN
b2RlbE9iamVjdCB7CiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChwYXJzZUludChpZCkg
PT0gaWQpOwogICAgICAgICBzdXBlcihpZCk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGlkID09
IHJhd0RhdGEuaWQpCiAgICAgICAgIHRoaXMuX3JlcG9zaXRvcnkgPSByYXdEYXRhLnJlcG9zaXRv
cnk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3JlcG9zaXRvcnkgaW5zdGFuY2VvZiBS
ZXBvc2l0b3J5KTsKICAgICAgICAgdGhpcy5fcmF3RGF0YSA9IHJhd0RhdGE7Ci0gICAgICAgIHRo
aXMuX3JlbW90ZUlkID0gcmF3RGF0YS5pZDsKLSAgICAgICAgaWYgKHRoaXMuX3JlbW90ZUlkKQot
ICAgICAgICAgICAgdGhpcy5lbnN1cmVOYW1lZFN0YXRpY01hcCgncmVtb3RlSWQnKVt0aGlzLl9y
ZW1vdGVJZF0gPSB0aGlzOwogICAgICAgICB0aGlzLl9vd25lZENvbW1pdHMgPSBudWxsOwogICAg
ICAgICB0aGlzLl9vd25lckNvbW1pdCA9IG51bGw7CiAgICAgICAgIHRoaXMuX293bmVkQ29tbWl0
QnlPd25lZFJlcG9zaXRvcnkgPSBuZXcgTWFwOwpAQCAtMTYzLDI2ICsxNjEsMzMgQEAgY2xhc3Mg
Q29tbWl0TG9nIGV4dGVuZHMgRGF0YU1vZGVsT2JqZWN0IHsKICAgICAgICAgcmV0dXJuIGRpZmZl
cmVuY2U7CiAgICAgfQogCi0gICAgc3RhdGljIGZldGNoQmV0d2VlblJldmlzaW9ucyhyZXBvc2l0
b3J5LCBwcmVjZWRpbmdSZXZpc2lvbiwgbGFzdFJldmlzaW9uKQorICAgIHN0YXRpYyBhc3luYyBm
ZXRjaEJldHdlZW5SZXZpc2lvbnMocmVwb3NpdG9yeSwgcHJlY2VkaW5nUmV2aXNpb24sIGxhc3RS
ZXZpc2lvbikKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGUgY2FjaGUgc2hvdWxkIGJlIHNt
YXJ0ZXIgYWJvdXQgZmV0Y2hpbmcgYSByYW5nZSB3aXRoaW4gYW4gYWxyZWFkeSBmZXRjaGVkIHJh
bmdlLCBldGMuLi4KLSAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBldmljdCBzb21lIGVudGly
ZXMgZnJvbSB0aGUgY2FjaGUgaW4gY2FjaGVkRmV0Y2guCi0gICAgICAgIHJldHVybiB0aGlzLmNh
Y2hlZEZldGNoKGAvYXBpL2NvbW1pdHMvJHtyZXBvc2l0b3J5LmlkKCl9L2AsIHtwcmVjZWRpbmdS
ZXZpc2lvbiwgbGFzdFJldmlzaW9ufSkKLSAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiB0aGlz
Ll9jb25zdHJ1Y3RGcm9tUmF3RGF0YShkYXRhKSk7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91
bGQgZXZpY3Qgc29tZSBlbnRyaWVzIGZyb20gdGhlIGNhY2hlIGluIGNhY2hlZEZldGNoLgorICAg
ICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jYWNoZWRGZXRjaChgL2FwaS9jb21taXRzLyR7
cmVwb3NpdG9yeS5pZCgpfS9gLCB7cHJlY2VkaW5nUmV2aXNpb24sIGxhc3RSZXZpc2lvbn0pOwor
ICAgICAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0RnJvbVJhd0RhdGEoZGF0YSk7CiAgICAgfQog
Ci0gICAgc3RhdGljIGZldGNoRm9yU2luZ2xlUmV2aXNpb24ocmVwb3NpdG9yeSwgcmV2aXNpb24p
CisgICAgc3RhdGljIGFzeW5jIGZldGNoRm9yU2luZ2xlUmV2aXNpb24ocmVwb3NpdG9yeSwgcmV2
aXNpb24pCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5jYWNoZWRGZXRjaChgL2FwaS9jb21t
aXRzLyR7cmVwb3NpdG9yeS5pZCgpfS8ke3JldmlzaW9ufWApLnRoZW4oKGRhdGEpID0+IHsKLSAg
ICAgICAgICAgIHJldHVybiB0aGlzLl9jb25zdHJ1Y3RGcm9tUmF3RGF0YShkYXRhKTsKLSAgICAg
ICAgfSk7CisgICAgICAgIGNvbnN0IGNvbW1pdCA9IHJlcG9zaXRvcnkuY29tbWl0Rm9yUmV2aXNp
b24ocmV2aXNpb24pOworICAgICAgICBpZiAoY29tbWl0KQorICAgICAgICAgICAgcmV0dXJuIFtj
b21taXRdOworCisgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNhY2hlZEZldGNoKGAv
YXBpL2NvbW1pdHMvJHtyZXBvc2l0b3J5LmlkKCl9LyR7cmV2aXNpb259YCk7CisgICAgICAgIHJl
dHVybiB0aGlzLl9jb25zdHJ1Y3RGcm9tUmF3RGF0YShkYXRhKTsKICAgICB9CiAKICAgICBzdGF0
aWMgX2NvbnN0cnVjdEZyb21SYXdEYXRhKGRhdGEpCiAgICAgewogICAgICAgICByZXR1cm4gZGF0
YVsnY29tbWl0cyddLm1hcCgocmF3RGF0YSkgPT4gewotICAgICAgICAgICAgcmF3RGF0YS5yZXBv
c2l0b3J5ID0gUmVwb3NpdG9yeS5maW5kQnlJZChyYXdEYXRhLnJlcG9zaXRvcnkpOwotICAgICAg
ICAgICAgcmV0dXJuIENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24ocmF3RGF0YS5pZCwgcmF3RGF0
YSk7CisgICAgICAgICAgICBjb25zdCByZXBvc2l0b3J5SWQgPSByYXdEYXRhLnJlcG9zaXRvcnk7
CisgICAgICAgICAgICBjb25zdCByZXBvc2l0b3J5ID0gUmVwb3NpdG9yeS5maW5kQnlJZChyZXBv
c2l0b3J5SWQpOworICAgICAgICAgICAgcmF3RGF0YS5yZXBvc2l0b3J5ID0gcmVwb3NpdG9yeTsK
KyAgICAgICAgICAgIGNvbnN0IGNvbW1pdCA9IENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24ocmF3
RGF0YS5pZCwgcmF3RGF0YSk7CisgICAgICAgICAgICByZXBvc2l0b3J5LnNldENvbW1pdEZvclJl
dmlzaW9uKGNvbW1pdC5yZXZpc2lvbigpLCBjb21taXQpOworICAgICAgICAgICAgcmV0dXJuIGNv
bW1pdDsKICAgICAgICAgfSk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53
ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvY29tbWl0LXNldC5qcyBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL2NvbW1pdC1zZXQuanMKaW5kZXggMjlhOTgyNTZk
MGYzMTMyZjA2M2E3MDFhN2M1MmIxMWMwMmFmNjk2Ni4uOTRhY2M1MzMyODk4Y2I0OTAwYWZlNzhi
N2Y2Y2I2OTc5ZmMzMzUxNiAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1
YmxpYy92My9tb2RlbHMvY29tbWl0LXNldC5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YzL21vZGVscy9jb21taXQtc2V0LmpzCkBAIC0yODEsNyArMjgxLDcgQEAgY2xh
c3MgTWVhc3VyZW1lbnRDb21taXRTZXQgZXh0ZW5kcyBDb21taXRTZXQgewogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIGEgZmxhZyB0byByZW1l
bWJlciB0aGUgZmFjdCB0aGlzIGNvbW1pdCBsb2cgaXMgaW5jb21wbGV0ZS4KLSAgICAgICAgICAg
IGNvbnN0IGNvbW1pdCA9IENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oY29tbWl0SWQsIHtyZXBv
c2l0b3J5LCByZXZpc2lvbiwgb3JkZXIsIHRpbWV9KTsKKyAgICAgICAgICAgIGNvbnN0IGNvbW1p
dCA9IENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oY29tbWl0SWQsIHtpZDogY29tbWl0SWQsIHJl
cG9zaXRvcnksIHJldmlzaW9uLCBvcmRlciwgdGltZX0pOwogICAgICAgICAgICAgdGhpcy5fcmVw
b3NpdG9yeVRvQ29tbWl0TWFwLnNldChyZXBvc2l0b3J5LCBjb21taXQpOwogICAgICAgICAgICAg
dGhpcy5fcmVwb3NpdG9yaWVzLnB1c2gocmVwb3NpdG9yeSk7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3JlcG9zaXRvcnku
anMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21vZGVscy9yZXBvc2l0b3J5
LmpzCmluZGV4IDA4OWY2MmUyNDE3ZWViMWU1MDQ0OGQ2YmMwNTc3NmRiODY2NTdhZGQuLmFhYmI5
NDFhMmIzM2ZlNWJiZjk5Y2VlZmVhYjI2NDgzMTViNWM1ZTAgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbW9kZWxzL3JlcG9zaXRvcnkuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tb2RlbHMvcmVwb3NpdG9yeS5qcwpAQCAt
OCw2ICs4LDcgQEAgY2xhc3MgUmVwb3NpdG9yeSBleHRlbmRzIExhYmVsZWRPYmplY3QgewogICAg
ICAgICB0aGlzLl9ibGFtZVVybCA9IG9iamVjdC5ibGFtZVVybDsKICAgICAgICAgdGhpcy5faGFz
UmVwb3J0ZWRDb21taXRzID0gb2JqZWN0Lmhhc1JlcG9ydGVkQ29tbWl0czsKICAgICAgICAgdGhp
cy5fb3duZXJJZCA9IG9iamVjdC5vd25lcjsKKyAgICAgICAgdGhpcy5fY29tbWl0QnlSZXZpc2lv
biA9IG5ldyBNYXA7CiAKICAgICAgICAgaWYgKCF0aGlzLl9vd25lcklkKQogICAgICAgICAgICAg
dGhpcy5lbnN1cmVOYW1lZFN0YXRpY01hcCgndG9wTGV2ZWxOYW1lJylbdGhpcy5uYW1lKCldID0g
dGhpczsKQEAgLTMzLDYgKzM0LDEwIEBAIGNsYXNzIFJlcG9zaXRvcnkgZXh0ZW5kcyBMYWJlbGVk
T2JqZWN0IHsKICAgICAgICAgcmV0dXJuICh0aGlzLl91cmwgfHwgJycpLnJlcGxhY2UoL1wkMS9n
LCBjdXJyZW50UmV2aXNpb24pOwogICAgIH0KIAorICAgIGNvbW1pdEZvclJldmlzaW9uKHJldmlz
aW9uKSB7IHJldHVybiB0aGlzLl9jb21taXRCeVJldmlzaW9uLmdldChyZXZpc2lvbik7IH0KKwor
ICAgIHNldENvbW1pdEZvclJldmlzaW9uKHJldmlzaW9uLCBjb21taXQpIHsgdGhpcy5fY29tbWl0
QnlSZXZpc2lvbi5zZXQocmV2aXNpb24sIGNvbW1pdCk7IH0KKwogICAgIHVybEZvclJldmlzaW9u
UmFuZ2UoZnJvbSwgdG8pCiAgICAgewogICAgICAgICByZXR1cm4gKHRoaXMuX2JsYW1lVXJsIHx8
ICcnKS5yZXBsYWNlKC9cJDEvZywgZnJvbSkucmVwbGFjZSgvXCQyL2csIHRvKTsKZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMu
anMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtbG9nLXRlc3Rz
LmpzCmluZGV4IDJlZDFkODAyYmExMmZkOWJmMDI3NmMyNWQ4YzgyZDJkZjMzMzhiNjAuLjVmODg1
MjQ5MjA2MGVlYTZmMzMwNWJiYzBmNTRlYjYwYzAxMGIyYTMgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1sb2ctdGVzdHMuanMKKysrIGIvV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LWxvZy10ZXN0cy5qcwpAQCAt
MTAsNiArMTAsNyBAQCBjb25zdCBNb2NrUmVtb3RlQVBJID0gcmVxdWlyZSgnLi4vdW5pdC10ZXN0
cy9yZXNvdXJjZXMvbW9jay1yZW1vdGUtYXBpLmpzJykuTW9jawogZnVuY3Rpb24gd2Via2l0Q29t
bWl0KCkKIHsKICAgICByZXR1cm4gbmV3IENvbW1pdExvZygxLCB7CisgICAgICAgIGlkOiAxLAog
ICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdCwKICAgICAgICAgcmV2aXNpb246
ICcyMDA4MDUnLAogICAgICAgICB0aW1lOiArKG5ldyBEYXRlKCcyMDE2LTA1LTEzVDAwOjU1OjU3
Ljg0MTM0NFonKSksCkBAIC0xOSw2ICsyMCw3IEBAIGZ1bmN0aW9uIHdlYmtpdENvbW1pdCgpCiBm
dW5jdGlvbiBvbGRXZWJLaXRDb21taXQoKQogewogICAgIHJldHVybiBuZXcgQ29tbWl0TG9nKDIs
IHsKKyAgICAgICAgaWQ6IDIsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Via2l0
LAogICAgICAgICByZXZpc2lvbjogJzIwMDU3NCcsCiAgICAgICAgIHRpbWU6ICsobmV3IERhdGUo
JzIwMTYtMDUtMDlUMTQ6NTk6MjMuNTUzNzY3WicpKSwKQEAgLTI4LDYgKzMwLDcgQEAgZnVuY3Rp
b24gb2xkV2ViS2l0Q29tbWl0KCkKIGZ1bmN0aW9uIGdpdFdlYktpdENvbW1pdCgpCiB7CiAgICAg
cmV0dXJuIG5ldyBDb21taXRMb2coMywgeworICAgICAgICBpZDogMywKICAgICAgICAgcmVwb3Np
dG9yeTogTW9ja01vZGVscy53ZWJraXQsCiAgICAgICAgIHJldmlzaW9uOiAnNmY4YjBkYmJkYTk1
YTQ0MDUwM2I4OGRiMWRkMDNkYWQzYTdiMDdmYicsCiAgICAgICAgIHRpbWU6ICsobmV3IERhdGUo
JzIwMTYtMDUtMTNUMDA6NTU6NTcuODQxMzQ0WicpKSwKQEAgLTM3LDYgKzQwLDcgQEAgZnVuY3Rp
b24gZ2l0V2ViS2l0Q29tbWl0KCkKIGZ1bmN0aW9uIG9sZEdpdFdlYktpdENvbW1pdCgpCiB7CiAg
ICAgcmV0dXJuIG5ldyBDb21taXRMb2coNCwgeworICAgICAgICBpZDogNCwKICAgICAgICAgcmVw
b3NpdG9yeTogTW9ja01vZGVscy53ZWJraXQsCiAgICAgICAgIHJldmlzaW9uOiAnZmZkYTE0ZTZk
YjA3NDZkMTBkMGYwNTA5MDdlNGE3MzI1ODUxZTUwMicsCiAgICAgICAgIHRpbWU6ICsobmV3IERh
dGUoJzIwMTYtMDUtMDlUMTQ6NTk6MjMuNTUzNzY3WicpKSwKQEAgLTQ2LDYgKzUwLDcgQEAgZnVu
Y3Rpb24gb2xkR2l0V2ViS2l0Q29tbWl0KCkKIGZ1bmN0aW9uIG9zeENvbW1pdCgpCiB7CiAgICAg
cmV0dXJuIG5ldyBDb21taXRMb2coNSwgeworICAgICAgICBpZDogNSwKICAgICAgICAgcmVwb3Np
dG9yeTogTW9ja01vZGVscy5vc3gsCiAgICAgICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2NScs
CiAgICAgICAgIHRpbWU6IG51bGwsCkBAIC01Niw2ICs2MSw3IEBAIGZ1bmN0aW9uIG9zeENvbW1p
dCgpCiBmdW5jdGlvbiBvbGRPU1hDb21taXQoKQogewogICAgIHJldHVybiBuZXcgQ29tbWl0TG9n
KDYsIHsKKyAgICAgICAgaWQ6IDYsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMub3N4
LAogICAgICAgICByZXZpc2lvbjogJzEwLjExLjMgMTVEMjEnLAogICAgICAgICB0aW1lOiBudWxs
LApAQCAtNjYsNiArNzIsNyBAQCBmdW5jdGlvbiBvbGRPU1hDb21taXQoKQogZnVuY3Rpb24gY29t
bWl0V2l0aG91dE93bmVkQ29tbWl0cygpCiB7CiAgICAgcmV0dXJuIG5ldyBDb21taXRMb2coNiwg
eworICAgICAgICBpZDogNiwKICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJl
cG9zaXRvcnksCiAgICAgICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2NicsCiAgICAgICAgIG93
bnNDb21taXRzOiBmYWxzZSwKQEAgLTc3LDYgKzg0LDcgQEAgZnVuY3Rpb24gY29tbWl0V2l0aG91
dE93bmVkQ29tbWl0cygpCiBmdW5jdGlvbiBvd25lckNvbW1pdCgpCiB7CiAgICAgcmV0dXJuIG5l
dyBDb21taXRMb2coNSwgeworICAgICAgICBpZDogNSwKICAgICAgICAgcmVwb3NpdG9yeTogTW9j
a01vZGVscy5vd25lclJlcG9zaXRvcnksCiAgICAgICAgIHJldmlzaW9uOiAnMTAuMTEuNCAxNUU2
NScsCiAgICAgICAgIG93bnNDb21taXRzOiB0cnVlLApAQCAtODgsNiArOTYsNyBAQCBmdW5jdGlv
biBvd25lckNvbW1pdCgpCiBmdW5jdGlvbiBvdGhlck93bmVyQ29tbWl0KCkKIHsKICAgICByZXR1
cm4gbmV3IENvbW1pdExvZyg1LCB7CisgICAgICAgIGlkOiA1LAogICAgICAgICByZXBvc2l0b3J5
OiBNb2NrTW9kZWxzLm93bmVyUmVwb3NpdG9yeSwKICAgICAgICAgcmV2aXNpb246ICcxMC4xMS40
IDE1RTY2JywKICAgICAgICAgb3duc0NvbW1pdHM6IHRydWUsCkBAIC05OSw2ICsxMDgsNyBAQCBm
dW5jdGlvbiBvdGhlck93bmVyQ29tbWl0KCkKIGZ1bmN0aW9uIG93bmVkQ29tbWl0KCkKIHsKICAg
ICByZXR1cm4gbmV3IENvbW1pdExvZygxMSwgeworICAgICAgICBpZDogMTEsCiAgICAgICAgIHJl
cG9zaXRvcnk6IE1vY2tNb2RlbHMub3duZWRSZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjog
J293bmVkLWNvbW1pdC0wJywKICAgICAgICAgb3duc0NvbW1pdHM6IHRydWUsCkBAIC0xMDksNiAr
MTE5LDcgQEAgZnVuY3Rpb24gb3duZWRDb21taXQoKQogZnVuY3Rpb24gYW5vdGhlck93bmVkQ29t
bWl0KCkKIHsKICAgICByZXR1cm4gbmV3IENvbW1pdExvZygxMSwgeworICAgICAgICBpZDogMTEs
CiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMub3duZWRSZXBvc2l0b3J5LAogICAgICAg
ICByZXZpc2lvbjogJ293bmVkLWNvbW1pdC0xJywKICAgICAgICAgb3duc0NvbW1pdHM6IHRydWUs
CkBAIC00MDUsNCArNDE2LDEwOSBAQCBkZXNjcmliZSgnQ29tbWl0TG9nJywgZnVuY3Rpb24gKCkg
ewogCiAgICAgICAgIH0pOwogICAgIH0pOworCisgICAgY29uc3QgY29tbWl0c0FQSVJlc3BvbnNl
ID0geworICAgICAgICAiY29tbWl0cyI6W3sKKyAgICAgICAgICAgICJpZCI6ICI4MzExNTEiLAor
ICAgICAgICAgICAgInJldmlzaW9uIjogIjIzNjY0MyIsCisgICAgICAgICAgICAicmVwb3NpdG9y
eSI6ICIxMSIsCisgICAgICAgICAgICAicHJldmlvdXNDb21taXQiOiBudWxsLAorICAgICAgICAg
ICAgInRpbWUiOiAxNTM4MjIzMDc3NDAzLAorICAgICAgICAgICAgIm9yZGVyIjogbnVsbCwKKyAg
ICAgICAgICAgICJhdXRob3JOYW1lIjogIkNvbW1pdCBRdWV1ZSIsCisgICAgICAgICAgICAiYXV0
aG9yRW1haWwiOiAiY29tbWl0LXF1ZXVlQHdlYmtpdC5vcmciLAorICAgICAgICAgICAgIm1lc3Nh
Z2UiOiAibWVzc2FnZSIsCisgICAgICAgICAgICAib3duc0NvbW1pdHMiOiBmYWxzZQorICAgICAg
ICB9XSwKKyAgICAgICAgInN0YXR1cyI6Ik9LIgorICAgIH07CisKKyAgICBjb25zdCBjb21taXRz
QVBJUmVzcG9uc2VGb3JPd25lZFdlYktpdCA9IHsKKyAgICAgICAgImNvbW1pdHMiOlt7CisgICAg
ICAgICAgICAiaWQiOiAiMTgzMTE1MSIsCisgICAgICAgICAgICAicmV2aXNpb24iOiAiMjM2NjQz
IiwKKyAgICAgICAgICAgICJyZXBvc2l0b3J5IjogIjE5MSIsCisgICAgICAgICAgICAicHJldmlv
dXNDb21taXQiOiBudWxsLAorICAgICAgICAgICAgInRpbWUiOiAxNTM4MjIzMDc3NDAzLAorICAg
ICAgICAgICAgIm9yZGVyIjogbnVsbCwKKyAgICAgICAgICAgICJhdXRob3JOYW1lIjogIkNvbW1p
dCBRdWV1ZSIsCisgICAgICAgICAgICAiYXV0aG9yRW1haWwiOiAiY29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmciLAorICAgICAgICAgICAgIm1lc3NhZ2UiOiAibWVzc2FnZSIsCisgICAgICAgICAgICAi
b3duc0NvbW1pdHMiOiBmYWxzZQorICAgICAgICB9XSwKKyAgICAgICAgInN0YXR1cyI6Ik9LIgor
ICAgIH07CisKKyAgICBkZXNjcmliZSgnZmV0Y2hGb3JTaW5nbGVSZXZpc2lvbicsICgpID0+IHsK
KyAgICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7CisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJl
c2V0KCk7CisgICAgICAgIH0pOworCisgICAgICAgIGl0KCdzaG91bGQgYXZvaWQgZmV0Y2hpbmcg
c2FtZSByZXZpc2lvbiBmcm9tIHNhbWUgcmVwb3NpdG9yeSB0d2ljZScsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgICAgIGxldCBmZXRjaGluZ1Byb21pc2UgPSBDb21taXRMb2cuZmV0Y2hGb3JTaW5n
bGVSZXZpc2lvbihNb2NrTW9kZWxzLndlYmtpdCwgJzIzNjY0MycpOworCisgICAgICAgICAgICBj
b25zdCByZXF1ZXN0cyA9IE1vY2tSZW1vdGVBUEkucmVxdWVzdHM7CisgICAgICAgICAgICBhc3Nl
cnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAxKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChy
ZXF1ZXN0c1swXS51cmwsIGAvYXBpL2NvbW1pdHMvJHtNb2NrTW9kZWxzLndlYmtpdC5pZCgpfS8y
MzY2NDNgKTsKKworICAgICAgICAgICAgcmVxdWVzdHNbMF0ucmVzb2x2ZShjb21taXRzQVBJUmVz
cG9uc2UpOworICAgICAgICAgICAgY29uc3QgY29tbWl0cyA9IGF3YWl0IGZldGNoaW5nUHJvbWlz
ZTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChjb21taXRzLmxlbmd0aCwgMSk7CisKKyAgICAg
ICAgICAgIE1vY2tSZW1vdGVBUEkucmVzZXQoKTsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChy
ZXF1ZXN0cy5sZW5ndGgsIDApOworICAgICAgICAgICAgZmV0Y2hpbmdQcm9taXNlID0gQ29tbWl0
TG9nLmZldGNoRm9yU2luZ2xlUmV2aXNpb24oTW9ja01vZGVscy53ZWJraXQsICcyMzY2NDMnKTsK
KyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5sZW5ndGgsIDApOworICAgICAgICAg
ICAgY29uc3QgbmV3Q29tbWl0cyA9IGF3YWl0IGZldGNoaW5nUHJvbWlzZTsKKyAgICAgICAgICAg
IGFzc2VydC5lcXVhbChuZXdDb21taXRzLmxlbmd0aCwgMSk7CisKKyAgICAgICAgICAgIGFzc2Vy
dC5lcXVhbChjb21taXRzWzBdLCBuZXdDb21taXRzWzBdKTsKKyAgICAgICAgfSk7CisKKyAgICAg
ICAgaXQoJ3Nob3VsZCBhdm9pZCBmZXRjaGluZyBzYW1lIHJldmlzaW9uIGZyb20gc2FtZSByZXBv
c2l0b3J5IGFnYWluIGlmIGl0IGhhcyBiZWVuIGZldGNoZWQgYnkgImZldGNoQmV0d2VlblJldmlz
aW9ucyIgYmVmb3JlJywgYXN5bmMgKCkgPT4geworICAgICAgICAgICAgbGV0IGZldGNoaW5nUHJv
bWlzZSA9IENvbW1pdExvZy5mZXRjaEJldHdlZW5SZXZpc2lvbnMoTW9ja01vZGVscy53ZWJraXQs
ICcyMzY2NDInLCAnMjM2NjQzJyk7CisKKyAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gTW9j
a1JlbW90ZUFQSS5yZXF1ZXN0czsKKyAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXF1ZXN0cy5s
ZW5ndGgsIDEpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzWzBdLnVybCwgYC9h
cGkvY29tbWl0cy8ke01vY2tNb2RlbHMud2Via2l0LmlkKCl9Lz9wcmVjZWRpbmdSZXZpc2lvbj0y
MzY2NDImbGFzdFJldmlzaW9uPTIzNjY0M2ApOworCisgICAgICAgICAgICByZXF1ZXN0c1swXS5y
ZXNvbHZlKGNvbW1pdHNBUElSZXNwb25zZSk7CisgICAgICAgICAgICBjb25zdCBjb21taXRzID0g
YXdhaXQgZmV0Y2hpbmdQcm9taXNlOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGNvbW1pdHMu
bGVuZ3RoLCAxKTsKKworICAgICAgICAgICAgTW9ja1JlbW90ZUFQSS5yZXNldCgpOworICAgICAg
ICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMCk7CisgICAgICAgICAgICBmZXRj
aGluZ1Byb21pc2UgPSBDb21taXRMb2cuZmV0Y2hGb3JTaW5nbGVSZXZpc2lvbihNb2NrTW9kZWxz
LndlYmtpdCwgJzIzNjY0MycpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxl
bmd0aCwgMCk7CisgICAgICAgICAgICBjb25zdCBuZXdDb21taXRzID0gYXdhaXQgZmV0Y2hpbmdQ
cm9taXNlOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG5ld0NvbW1pdHMubGVuZ3RoLCAxKTsK
KworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKGNvbW1pdHNbMF0sIG5ld0NvbW1pdHNbMF0pOwor
ICAgICAgICB9KTsKKworICAgICAgICBpdCgnc2hvdWxkIG5vdCBvdmVyd3JpdGUgY2FjaGUgZm9y
IGNvbW1pdHMgd2l0aCBzYW1lIHJldmlzaW9uIGJ1dCBmcm9tIGRpZmZlcmVudCByZXBvc2l0b3Jp
ZXMnLCBhc3luYyAoKSA9PiB7CisgICAgICAgICAgICBsZXQgZmV0Y2hpbmdQcm9taXNlID0gQ29t
bWl0TG9nLmZldGNoRm9yU2luZ2xlUmV2aXNpb24oTW9ja01vZGVscy53ZWJraXQsICcyMzY2NDMn
KTsKKworICAgICAgICAgICAgY29uc3QgcmVxdWVzdHMgPSBNb2NrUmVtb3RlQVBJLnJlcXVlc3Rz
OworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVlc3RzLmxlbmd0aCwgMSk7CisgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJsLCBgL2FwaS9jb21taXRzLyR7TW9ja01v
ZGVscy53ZWJraXQuaWQoKX0vMjM2NjQzYCk7CisKKyAgICAgICAgICAgIHJlcXVlc3RzWzBdLnJl
c29sdmUoY29tbWl0c0FQSVJlc3BvbnNlKTsKKyAgICAgICAgICAgIGNvbnN0IGNvbW1pdHMgPSBh
d2FpdCBmZXRjaGluZ1Byb21pc2U7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwoY29tbWl0cy5s
ZW5ndGgsIDEpOworCisgICAgICAgICAgICBNb2NrUmVtb3RlQVBJLnJlc2V0KCk7CisgICAgICAg
ICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHMubGVuZ3RoLCAwKTsKKworICAgICAgICAgICAgZmV0
Y2hpbmdQcm9taXNlID0gQ29tbWl0TG9nLmZldGNoRm9yU2luZ2xlUmV2aXNpb24oTW9ja01vZGVs
cy5vd25lZFdlYmtpdCwgJzIzNjY0MycpOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKHJlcXVl
c3RzLmxlbmd0aCwgMSk7CisgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVxdWVzdHNbMF0udXJs
LCBgL2FwaS9jb21taXRzLyR7TW9ja01vZGVscy5vd25lZFdlYmtpdC5pZCgpfS8yMzY2NDNgKTsK
KworICAgICAgICAgICAgcmVxdWVzdHNbMF0ucmVzb2x2ZShjb21taXRzQVBJUmVzcG9uc2VGb3JP
d25lZFdlYktpdCk7CisgICAgICAgICAgICBjb25zdCBuZXdDb21taXRzID0gYXdhaXQgZmV0Y2hp
bmdQcm9taXNlOworICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKG5ld0NvbW1pdHMubGVuZ3RoLCAx
KTsKKworICAgICAgICAgICAgYXNzZXJ0Lm5vdEVxdWFsKGNvbW1pdHNbMF0sIG5ld0NvbW1pdHNb
MF0pOworICAgICAgICB9KTsKKyAgICB9KTsKIH0pOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNldC1yYW5nZS1iaXNlY3Rvci10ZXN0cy5q
cyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1zZXQtcmFuZ2Ut
YmlzZWN0b3ItdGVzdHMuanMKaW5kZXggNzFjYjEzZjY3NTc4NmZlOTA0ODc3N2M3MjkyZmU5ZTli
ZjAzYWExMS4uZDA5N2I4YmI5ZGM2NmQ3MjgyNzBmYTU4ZjFkZjE1NTNhZGFmODkwNiAxMDA2NDQK
LS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNldC1yYW5n
ZS1iaXNlY3Rvci10ZXN0cy5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvdW5pdC10
ZXN0cy9jb21taXQtc2V0LXJhbmdlLWJpc2VjdG9yLXRlc3RzLmpzCkBAIC0xMiw2ICsxMiw3IEBA
IGRlc2NyaWJlKCdDb21taXRTZXRSYW5nZUJpc2VjdG9yJywgKCkgPT4gewogICAgIGZ1bmN0aW9u
IG1ha2VDb21taXQoaWQsIHJlcG9zaXRvcnksIHJldmlzaW9uLCB0aW1lLCBvcmRlcikKICAgICB7
CiAgICAgICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKGlkLCB7CisgICAgICAg
ICAgICBpZCwKICAgICAgICAgICAgIHJlcG9zaXRvcnksCiAgICAgICAgICAgICByZXZpc2lvbiwK
ICAgICAgICAgICAgIG93bnNDb21taXRzOiBmYWxzZSwKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3Bl
cmYud2Via2l0Lm9yZy91bml0LXRlc3RzL2NvbW1pdC1zZXQtdGVzdHMuanMgYi9XZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvdW5pdC10ZXN0cy9jb21taXQtc2V0LXRlc3RzLmpzCmluZGV4IDdlMzlh
YjcwY2RlZGJkMzM3NGE0NWE3YmE3OWNjNmYwNmRhMjRkMDYuLjM5ZmNjYzU0NzU5Zjg3OWYxY2Uw
MzgzYjBhOWIyY2U3ZmM1YjlhNDkgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy91bml0LXRlc3RzL2NvbW1pdC1zZXQtdGVzdHMuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3VuaXQtdGVzdHMvY29tbWl0LXNldC10ZXN0cy5qcwpAQCAtNzQsNiArNzQsNyBAQCBm
dW5jdGlvbiBjdXN0b21Db21taXRTZXRXaXRoT3duZWRSZXBvc2l0b3J5SGFzU2FtZU5hbWVBc05v
dE93bmVkUmVwb3NpdG9yeSgpCiBmdW5jdGlvbiBvd25lckNvbW1pdCgpCiB7CiAgICAgcmV0dXJu
IENvbW1pdExvZy5lbnN1cmVTaW5nbGV0b24oNSwgeworICAgICAgICBpZDogNSwKICAgICAgICAg
cmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJlcG9zaXRvcnksCiAgICAgICAgIHJldmlzaW9u
OiAnb3duZXItY29tbWl0LTAnLAogICAgICAgICBvd25zQ29tbWl0czogdHJ1ZSwKQEAgLTg0LDYg
Kzg1LDcgQEAgZnVuY3Rpb24gb3duZXJDb21taXQoKQogZnVuY3Rpb24gcGFydGlhbE93bmVyQ29t
bWl0KCkKIHsKICAgICByZXR1cm4gQ29tbWl0TG9nLmVuc3VyZVNpbmdsZXRvbig1LCB7CisgICAg
ICAgIGlkOiA1LAogICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLm93bmVyUmVwb3NpdG9y
eSwKICAgICAgICAgcmV2aXNpb246ICdvd25lci1jb21taXQtMCcsCiAgICAgICAgIG93bnNDb21t
aXRzOiBudWxsLApAQCAtOTQsNiArOTYsNyBAQCBmdW5jdGlvbiBwYXJ0aWFsT3duZXJDb21taXQo
KQogZnVuY3Rpb24gb3duZWRDb21taXQoKQogewogICAgIHJldHVybiBuZXcgQ29tbWl0TG9nKDYs
IHsKKyAgICAgICAgaWQ6IDYsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMub3duZWRS
ZXBvc2l0b3J5LAogICAgICAgICByZXZpc2lvbjogJ293bmVkLWNvbW1pdC0wJywKICAgICAgICAg
b3duc0NvbW1pdHM6IG51bGwsCkBAIC0xMDQsNiArMTA3LDcgQEAgZnVuY3Rpb24gb3duZWRDb21t
aXQoKQogZnVuY3Rpb24gd2Via2l0Q29tbWl0KCkKIHsKICAgICByZXR1cm4gQ29tbWl0TG9nLmVu
c3VyZVNpbmdsZXRvbigyMDE3LCB7CisgICAgICAgIGlkOiAyMDE3LAogICAgICAgICByZXBvc2l0
b3J5OiBNb2NrTW9kZWxzLndlYmtpdCwKICAgICAgICAgcmV2aXNpb246ICd3ZWJraXQtY29tbWl0
LTAnLAogICAgICAgICBvd25zQ29tbWl0czogZmFsc2UsCkBAIC0xMTQsNiArMTE4LDcgQEAgZnVu
Y3Rpb24gd2Via2l0Q29tbWl0KCkKIGZ1bmN0aW9uIGFub3RoZXJXZWJLaXRDb21taXQoKQogewog
ICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKDIwMTgsIHsKKyAgICAgICAgaWQ6
IDIwMTgsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Via2l0LAogICAgICAgICBy
ZXZpc2lvbjogJ3dlYmtpdC1jb21taXQtMScsCiAgICAgICAgIG93bnNDb21taXRzOiBmYWxzZSwK
QEAgLTEyNCw2ICsxMjksNyBAQCBmdW5jdGlvbiBhbm90aGVyV2ViS2l0Q29tbWl0KCkKIGZ1bmN0
aW9uIGNvbW1pdFdpdGhTVk5SZXZpc2lvbigpCiB7CiAgICAgcmV0dXJuIENvbW1pdExvZy5lbnN1
cmVTaW5nbGV0b24oMjAxOSwgeworICAgICAgICBpZDogMjAxOSwKICAgICAgICAgcmVwb3NpdG9y
eTogTW9ja01vZGVscy53ZWJraXQsCiAgICAgICAgIHJldmlzaW9uOiAnMTIzNDUnLAogICAgICAg
ICBvd25zQ29tbWl0czogZmFsc2UsCkBAIC0xMzQsNiArMTQwLDcgQEAgZnVuY3Rpb24gY29tbWl0
V2l0aFNWTlJldmlzaW9uKCkKIGZ1bmN0aW9uIGFub3RoZXJDb21taXRXaXRoU1ZOUmV2aXNpb24o
KQogewogICAgIHJldHVybiBDb21taXRMb2cuZW5zdXJlU2luZ2xldG9uKDIwMjAsIHsKKyAgICAg
ICAgaWQ6IDIwMjAsCiAgICAgICAgIHJlcG9zaXRvcnk6IE1vY2tNb2RlbHMud2Via2l0LAogICAg
ICAgICByZXZpc2lvbjogJzQ1Njc4JywKICAgICAgICAgb3duc0NvbW1pdHM6IGZhbHNlLApAQCAt
MTQ0LDYgKzE1MSw3IEBAIGZ1bmN0aW9uIGFub3RoZXJDb21taXRXaXRoU1ZOUmV2aXNpb24oKQog
ZnVuY3Rpb24gY29tbWl0V2l0aEdpdFJldmlzaW9uKCkKIHsKICAgICByZXR1cm4gQ29tbWl0TG9n
LmVuc3VyZVNpbmdsZXRvbigyMDIxLCB7CisgICAgICAgIGlkOiAyMDIxLAogICAgICAgICByZXBv
c2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdEdpdCwKICAgICAgICAgcmV2aXNpb246ICcxM2EwNTkw
ZDM0ZjI2ZmRhMzk1M2M0MmZmODMzMTMyYTFhNmY2ZjVhJywKICAgICAgICAgb3duc0NvbW1pdHM6
IGZhbHNlLApAQCAtMTU0LDYgKzE2Miw3IEBAIGZ1bmN0aW9uIGNvbW1pdFdpdGhHaXRSZXZpc2lv
bigpCiBmdW5jdGlvbiBhbm90aGVyQ29tbWl0V2l0aEdpdFJldmlzaW9uKCkKIHsKICAgICByZXR1
cm4gQ29tbWl0TG9nLmVuc3VyZVNpbmdsZXRvbigyMDIyLCB7CisgICAgICAgIGlkOiAyMDIyLAog
ICAgICAgICByZXBvc2l0b3J5OiBNb2NrTW9kZWxzLndlYmtpdEdpdCwKICAgICAgICAgcmV2aXNp
b246ICcyZjhkZDMzMjFkNGY1MWMwNGY0ZTIwMTk0MjhjZTlmZmU5N2YxZWYxJywKICAgICAgICAg
b3duc0NvbW1pdHM6IGZhbHNlLApAQCAtNDQ3LDcgKzQ1Niw3IEBAIGRlc2NyaWJlKCdJbnRlcm1l
ZGlhdGVDb21taXRTZXQnLCAoKSA9PiB7CiAgICAgICAgICAgICBjb25zdCBvd25lZCA9IG93bmVk
Q29tbWl0KCk7CiAKICAgICAgICAgICAgIGNvbnN0IGNvbW1pdFNldCA9IENvbW1pdFNldC5lbnN1
cmVTaW5nbGV0b24oJzUzMjQ2NDU2Jywge3JldmlzaW9uSXRlbXM6IFt7Y29tbWl0fSwge2NvbW1p
dDogb3duZWQsIG93bmVyQ29tbWl0OiBjb21taXR9XX0pOwotICAgICAgICAgICAgY29uc3QgaW50
ZXJtZWRpYXRlQ29tbWl0U2V0ID1uZXcgSW50ZXJtZWRpYXRlQ29tbWl0U2V0KGNvbW1pdFNldCk7
CisgICAgICAgICAgICBjb25zdCBpbnRlcm1lZGlhdGVDb21taXRTZXQgPSBuZXcgSW50ZXJtZWRp
YXRlQ29tbWl0U2V0KGNvbW1pdFNldCk7CiAgICAgICAgICAgICBjb25zdCBmZXRjaGluZ1Byb21p
c2UgPSBpbnRlcm1lZGlhdGVDb21taXRTZXQuZmV0Y2hDb21taXRMb2dzKCk7CiAKICAgICAgICAg
ICAgIGNvbnN0IHJlcXVlc3RzID0gTW9ja1JlbW90ZUFQSS5yZXF1ZXN0czsKQEAgLTQ1OSwxNCAr
NDY4LDE0IEBAIGRlc2NyaWJlKCdJbnRlcm1lZGlhdGVDb21taXRTZXQnLCAoKSA9PiB7CiAKICAg
ICAgICAgICAgIHJlcXVlc3RzWzBdLnJlc29sdmUoe2NvbW1pdHM6IFt7CiAgICAgICAgICAgICAg
ICAgaWQ6IDUsCi0gICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJl
cG9zaXRvcnksCisgICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogTW9ja01vZGVscy5vd25lclJl
cG9zaXRvcnkuaWQoKSwKICAgICAgICAgICAgICAgICByZXZpc2lvbjogJ293bmVyLWNvbW1pdC0w
JywKICAgICAgICAgICAgICAgICBvd25zQ29tbWl0czogdHJ1ZSwKICAgICAgICAgICAgICAgICB0
aW1lOiArKG5ldyBEYXRlKCcyMDE2LTA1LTEzVDAwOjU1OjU3Ljg0MTM0NFonKSksCiAgICAgICAg
ICAgICB9XX0pOwogICAgICAgICAgICAgcmVxdWVzdHNbMV0ucmVzb2x2ZSh7Y29tbWl0czogW3sK
ICAgICAgICAgICAgICAgICBpZDogNiwKLSAgICAgICAgICAgICAgICByZXBvc2l0b3J5OiBNb2Nr
TW9kZWxzLm93bmVkUmVwb3NpdG9yeSwKKyAgICAgICAgICAgICAgICByZXBvc2l0b3J5OiBNb2Nr
TW9kZWxzLm93bmVkUmVwb3NpdG9yeS5pZCgpLAogICAgICAgICAgICAgICAgIHJldmlzaW9uOiAn
b3duZWQtY29tbWl0LTAnLAogICAgICAgICAgICAgICAgIG93bnNDb21taXRzOiBmYWxzZSwKICAg
ICAgICAgICAgICAgICB0aW1lOiAxNDU2OTMyNzc0MDAwLAo=
</data>
<flag name="review"
          id="371942"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>