<?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>180956</bug_id>
          
          <creation_ts>2017-12-18 16:13:59 -0800</creation_ts>
          <short_desc>Web Inspector: InspectorTest.evaluateInPage should return a rejection if an error was thrown</short_desc>
          <delta_ts>2017-12-19 17:31:21 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1382955</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-18 16:13:59 -0800</bug_when>
    <thetext>This is definitely what&apos;s most convenient when writing tests. async function will turn this into a thrown error that causes everything to blow up rather than silently fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382962</commentid>
    <comment_count>1</comment_count>
      <attachid>329704</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-18 16:16:51 -0800</bug_when>
    <thetext>Created attachment 329704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382970</commentid>
    <comment_count>2</comment_count>
      <attachid>329705</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-18 16:34:05 -0800</bug_when>
    <thetext>Created attachment 329705
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382971</commentid>
    <comment_count>3</comment_count>
      <attachid>329706</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-18 16:34:27 -0800</bug_when>
    <thetext>Created attachment 329706
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382977</commentid>
    <comment_count>4</comment_count>
      <attachid>329706</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-18 16:42:33 -0800</bug_when>
    <thetext>Comment on attachment 329706
Patch v2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382983</commentid>
    <comment_count>5</comment_count>
      <attachid>329712</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-18 16:47:05 -0800</bug_when>
    <thetext>Created attachment 329712
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383381</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-19 15:51:44 -0800</bug_when>
    <thetext>r- this appears to be the wrong patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383408</commentid>
    <comment_count>7</comment_count>
      <attachid>329706</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-19 16:32:49 -0800</bug_when>
    <thetext>Comment on attachment 329706
Patch v2

webkit-patch strikes again...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383423</commentid>
    <comment_count>8</comment_count>
      <attachid>329706</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-19 16:50:55 -0800</bug_when>
    <thetext>Comment on attachment 329706
Patch v2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383451</commentid>
    <comment_count>9</comment_count>
      <attachid>329706</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-19 17:30:01 -0800</bug_when>
    <thetext>Comment on attachment 329706
Patch v2

Clearing flags on attachment: 329706

Committed r226163: &lt;https://trac.webkit.org/changeset/226163&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383452</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-19 17:30:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383455</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-19 17:31:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/36145581&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329704</attachid>
            <date>2017-12-18 16:16:51 -0800</date>
            <delta_ts>2017-12-18 16:34:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180956-20171218161650.patch</filename>
            <type>text/plain</type>
            <size>6961</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA1
YTgwYzU2NzdmZjJhNDkzOTk4MzlmNzZlYTNmODJlY2E4N2JmN2NmLi5mNzQzNGUwYmZjMTRmNThm
ODA2OWQ5M2ExNzZjMjNkYTNiZWU3ZjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNy0xMi0xOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIHNob3Vs
ZCByZXR1cm4gYSByZWplY3Rpb24gaWYgYW4gZXJyb3Igd2FzIHRocm93bgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTU2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3Qv
RnJvbnRlbmRUZXN0SGFybmVzcy5qczoKKyAgICAgICAgKEZyb250ZW5kVGVzdEhhcm5lc3MucHJv
dG90eXBlLmV2YWx1YXRlSW5QYWdlLnRyYW5zbGF0ZVJlc3VsdCk6wqBSZW5hbWVkLgorICAgICAg
ICAoRnJvbnRlbmRUZXN0SGFybmVzcy5wcm90b3R5cGUuZXZhbHVhdGVJblBhZ2UpOgorICAgICAg
ICBJZiB0aGUgcmVzdWx0IHdhcyB0aHJvd24sIHRoZW4gcmVqZWN0IHdpdGggdGhlIGVycm9yLgor
ICAgICAgICBSZW5hbWUgdGhlIGhlbHBlciBtZXRob2QgdG8gbWF0Y2ggdGhlIHNhbWUgb25lIGlu
IFJlbW90ZU9iamVjdC5wcm90b3R5cGUuZmV0Y2hQcm9wZXJ0aWVzLgorCiAyMDE3LTEyLTE4ICBC
cmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFk
ZCBSZW1vdGVPYmplY3QuZmV0Y2hQcm9wZXJ0aWVzIGFuZCBzb21lIGJhc2ljIHRlc3RzIGZvciBS
ZW1vdGVPYmplY3QgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMKaW5kZXggZWE5Yjk4
MGQyNDI4ZjU1NDlmNjAzY2RlYjg1Yjc1M2VmMjk1MDM1Mi4uNzZiNmZhYTAzODdlZDM1YjVjMGQ1
Nzc4NmI3Y2E1NWZlNWVjOWYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcwpAQCAt
ODksMTcgKzg5LDI0IEBAIEZyb250ZW5kVGVzdEhhcm5lc3MgPSBjbGFzcyBGcm9udGVuZFRlc3RI
YXJuZXNzIGV4dGVuZHMgVGVzdEhhcm5lc3MKICAgICAgICAgfQogCiAgICAgICAgIC8vIFJldHVy
biBwcmltaXRpdmUgdmFsdWVzIGRpcmVjdGx5LCBvdGhlcndpc2UgcmV0dXJuIGEgV0kuUmVtb3Rl
T2JqZWN0IGluc3RhbmNlLgotICAgICAgICBmdW5jdGlvbiByZXN1bHRPYmplY3RUb1JldHVybihy
ZXN1bHQpIHsKKyAgICAgICAgZnVuY3Rpb24gdHJhbnNsYXRlUmVzdWx0KHJlc3VsdCkgewogICAg
ICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChy
ZXN1bHQpOwogICAgICAgICAgICAgcmV0dXJuICghcmVtb3RlT2JqZWN0T25seSAmJiByZW1vdGVP
YmplY3QuaGFzVmFsdWUoKSkgPyByZW1vdGVPYmplY3QudmFsdWUgOiByZW1vdGVPYmplY3Q7CiAg
ICAgICAgIH0KIAogICAgICAgICBsZXQgcmVzcG9uc2UgPSBSdW50aW1lQWdlbnQuZXZhbHVhdGUu
aW52b2tlKHtleHByZXNzaW9uLCBvYmplY3RHcm91cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExp
bmVBUEk6IGZhbHNlfSkKICAgICAgICAgaWYgKGNhbGxiYWNrICYmIHR5cGVvZiBjYWxsYmFjayA9
PT0gImZ1bmN0aW9uIikgewotICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZS50aGVuKCh7
cmVzdWx0LCB3YXNUaHJvd259KSA9PiBjYWxsYmFjayhudWxsLCByZXN1bHRPYmplY3RUb1JldHVy
bihyZXN1bHQpLCB3YXNUaHJvd24pKTsKKyAgICAgICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2Uu
dGhlbigoe3Jlc3VsdCwgd2FzVGhyb3dufSkgPT4gY2FsbGJhY2sobnVsbCwgdHJhbnNsYXRlUmVz
dWx0KHJlc3VsdCksIHdhc1Rocm93bikpOwogICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25z
ZS5jYXRjaCgoZXJyb3IpID0+IGNhbGxiYWNrKGVycm9yLCBudWxsLCBmYWxzZSkpOwotICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50aGVuKCh7cmVzdWx0fSkgPT4g
cmVzdWx0T2JqZWN0VG9SZXR1cm4ocmVzdWx0KSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAvLyBUdXJuIGEgdGhyb3duIEVycm9yIHJlc3VsdCBpbnRvIGEgcHJvbWlzZSByZWplY3Rp
b24uCisgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGhlbigoe3Jlc3VsdCwgd2FzVGhyb3du
fSkgPT4geworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRyYW5zbGF0ZVJlc3VsdChyZXN1bHQp
OworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgd2FzVGhyb3duKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QocmVzdWx0KTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIGRlYnVnKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0OTM2OTAxYzM1Y2RkMjQzZWYxNGVkM2Ex
MmE0MjM5NDZlODE5MjhkLi5lYWFkYmZmY2Y3MzY0OTE1YjczY2Q5MzljNGM5NjdiMTAzNjk4MjE4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMTItMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSBzaG91bGQgcmV0dXJuIGEgcmVqZWN0aW9uIGlmIGFuIGVycm9yIHdhcyB0aHJvd24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDk1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVj
dG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1p
bi1wYWdlLmh0bWw6CisgICAgICAgIFVwZGF0ZSB0ZXN0IGNhc2UgdG8gZXhwZWN0IGFuIGV4Y2Vw
dGlvbiB3aGVuIGFuIGVycm9yIHdhcyB0aHJvd24gaW4gb3VyIGV2YWx1YXRpb24uCisKIDIwMTct
MTItMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkIFJlbW90ZU9iamVjdC5mZXRjaFByb3BlcnRpZXMgYW5kIHNvbWUgYmFzaWMgdGVz
dHMgZm9yIFJlbW90ZU9iamVjdCBBUEkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1p
bi1wYWdlLWV4cGVjdGVkLnR4dAppbmRleCBkZjJhMTkyMmFmZDIwZWIwNjc2MDg3MjAwMGQ5MTc0
ZjczMGZmMGY1Li5iYWZmZDMyMzE5ZjA5MTE3NzU4NzkxOWViMTY5MmFhNzRiYWI4MzVkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZh
bHVhdGUtaW4tcGFnZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UtZXhwZWN0ZWQudHh0CkBAIC0x
NDIsOSArMTQyLDcgQEAgUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUg
J29iamVjdCcuCiBQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAn
ZXJyb3InLgogCiBDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IHRocm93IG5l
dyBFcnJvcig0MikKLVBBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVP
YmplY3QuCi1QQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90
IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgotUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3Vs
dCBzaG91bGQgYmUgJ29iamVjdCcuCi1QQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0
IHNob3VsZCBiZSAnZXJyb3InLgorUEFTUzogU2hvdWxkIHByb2R1Y2UgYW4gZXhjZXB0aW9uLgor
W29iamVjdCBPYmplY3RdCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLmh0bWwK
aW5kZXggN2ViZTgyYTE3NmI1YjI1NTJhOTJkYTAwOGVjMjA1OGQ4NTNmZmNiOC4uNTc1MjJkYWM0
YTJkOWViNTRjNDU3MDNhZTJmMzMwNTI2NTBlODcwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVh
dGUtaW4tcGFnZS5odG1sCkBAIC0xMDQsNiArMTA0LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgICAgICBpbnB1dDogYHRocm93IG5ldyBFcnJvcig0MilgLAogICAgICAgICAgICAgdHlwZTog
Im9iamVjdCIsCiAgICAgICAgICAgICBzdWJ0eXBlOiAiZXJyb3IiLAorICAgICAgICAgICAgdGhy
b3duOiB0cnVlLAogICAgICAgICB9LAogICAgIF07CiAKQEAgLTEzOSwxMiArMTQwLDIwIEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAiZXZhbHVhdGVJblBhZ2UuUmVtb3RlT2JqZWN0
cyIsCiAgICAgICAgIGFzeW5jIHRlc3QoKSB7CiAgICAgICAgICAgICBmb3IgKGxldCB7aW5wdXQs
IHR5cGUsIHN1YnR5cGUsIHRocm93bn0gb2YgY29tcGxleENhc2VzKSB7Ci0gICAgICAgICAgICAg
ICAgbGV0IHJlc3VsdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoaW5wdXQp
OwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKGBDaGVja2luZyByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBzdHJpbmc6ICR7aW5wdXR9YCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KHJlc3VsdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlJldHVy
bmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuIik7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZShyZXN1bHQuaGFzVmFsdWUoKSwgIk5vbi1wcmlt
aXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFs
dWUuIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQu
dHlwZSwgdHlwZSwgYFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICcke3R5cGV9
Jy5gKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3VsdC5z
dWJ0eXBlLCBzdWJ0eXBlLCBgU3VidHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUg
JyR7c3VidHlwZX0nLmApOworCisgICAgICAgICAgICAgICAgaWYgKHRocm93bikgeworICAgICAg
ICAgICAgICAgICAgICBhd2FpdCBJbnNwZWN0b3JUZXN0LmV4cGVjdEV4Y2VwdGlvbihhc3luYyAo
KSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKGlucHV0KTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoaW5wdXQpOworICAgICAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0IGluc3RhbmNlb2YgV0kuUmVtb3RlT2JqZWN0LCAi
UmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZShyZXN1bHQuaGFzVmFsdWUoKSwg
Ik5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNo
YWxsZWQgdmFsdWUuIik7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
RXF1YWwocmVzdWx0LnR5cGUsIHR5cGUsIGBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3Vs
ZCBiZSAnJHt0eXBlfScuYCk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocmVzdWx0LnN1YnR5cGUsIHN1YnR5cGUsIGBTdWJ0eXBlIG9mIGV2YWx1YXRpb24g
cmVzdWx0IHNob3VsZCBiZSAnJHtzdWJ0eXBlfScuYCk7CisgICAgICAgICAgICAgICAgfQorCiAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiIpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329705</attachid>
            <date>2017-12-18 16:34:05 -0800</date>
            <delta_ts>2017-12-18 16:34:25 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-180956-20171218163405.patch</filename>
            <type>text/plain</type>
            <size>21159</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBh
NDg1ZDdiMzZhMDg0OWM5MWQ5NWJmNDA4MTJmOTVjYjhiYWRlMmViLi41YTgwYzU2NzdmZjJhNDkz
OTk4MzlmNzZlYTNmODJlY2E4N2JmN2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxNy0xMi0xOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgUmVtb3RlT2JqZWN0LmZldGNoUHJvcGVydGllcyBh
bmQgc29tZSBiYXNpYyB0ZXN0cyBmb3IgUmVtb3RlT2JqZWN0IEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTQ1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IG1ldGhvZCwgZmV0Y2hQ
cm9wZXJ0aWVzLCB3aGljaCBhc3luYyBmZXRjaGVzIGFuIGFyYml0cmFyeSBsaXN0IG9mIHByb3Bl
cnRpZXMKKyAgICAgICAgZnJvbSBhIFJlbW90ZU9iamVjdC4gVGhpcyBpcyBpbnRlbmRlZCBmb3Ig
d3JpdGluZyB0ZXN0cyBhbmQgb3RoZXIgcXVpY2sgZXZhbHVhdGlvbnMsCisgICAgICAgIHNvIGl0
IGhhcyBzb21lIGJlaGF2aW9ycyB0aGF0IGFyZSBzdWl0YWJsZSBpbiB0aGVzZSBzaXR1YXRpb25z
OgorICAgICAgICAtIElmIHRoZSBldmFsdWF0aW9uIHRocm93cyBhbiBleGNlcHRpb24sIHRoZSBy
ZXN1bHQgd2lsbCByZWplY3Qgd2l0aCB0aGF0IGV4Y2VwdGlvbi4KKyAgICAgICAgLSBJZiB0aGVy
ZSBpcyBhIHByb3RvY29sIGVycm9yIGZvciBzb21lIHJlYXNvbiwgdGhlIHJlc3VsdCB3aWxsIHJl
amVjdCB3aXRoIGFuIGV4Y2VwdGlvbi4KKyAgICAgICAgLSBOb24tc3RyaW5nIGFuZCBub24tbnVt
YmVyIGtleXMgY2F1c2UgYW4gZXhjZXB0aW9uLCBhcyB0aGlzIGlzIHByb2JhYmx5IG5vdCBpbnRl
bmRlZC4KKyAgICAgICAgLSBEb2VzIG5vdCBhY2NlcHQgYSBjYWxsYmFjaywgcmV0dXJucyBhIHBy
b21pc2Ugb25seS4gTmV3IGNvZGUgc2hvdWxkIHVzZSBhc3luYy4KKworICAgICAgICBGb3IgZnVs
bCBmaWRlbGl0eSBpbnRyb3NwZWN0aW9uIG9mIHByb3BlcnR5IGRlc2NyaXB0b3JzLCBjbGllbnRz
IHNob3VsZCB1c2UgdGhlIGV4aXN0aW5nCisgICAgICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRv
cltzXSBjbGFzcyBvZiBtZXRob2RzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9SZW1vdGVPYmplY3QuanM6CisgICAgICAgIChXSS5SZW1vdGVPYmplY3QucHJvdG90eXBlLmFz
eW5jLmZldGNoUHJvcGVydGllcyk6IEFkZGVkLgorICAgICAgICAtIFZhbGlkYXRlIHNwZWNpZmll
ZCBrZXlzIGFuZCByZW1vdmUgZHVwbGljYXRlcy4KKyAgICAgICAgLSBSZXF1ZXN0IHByb3BlcnRp
ZXMgb25lLWJ5LW9uZSB0byBhdm9pZCBmZXRjaGluZyBhbGwgZGVzY3JpcHRvcnMgYW5kIGRlYWxp
bmcgd2l0aCBwcmV2aWV3cy4KKyAgICAgICAgLSBVbndyYXAgcmV0dXJuZWQgcHJpbWl0aXZlIHZh
bHVlcyB0byBhdm9pZCB1bm5lY2Vzc2FyeSBtdW5naW5nIGluIHRlc3RzLgorCisgICAgICAgIChX
SS5SZW1vdGVPYmplY3QucHJvdG90eXBlLmdldFByb3BlcnR5KToKKyAgICAgICAgLSBSZXdvcmsg
dGhpcyB0byByZXR1cm4gYSBwcm9taXNlIGlmIG5vIGNhbGxiYWNrIHdhcyBzdXBwbGllZC4KKyAg
ICAgICAgLSBJbnRyb2R1Y2Ugc3RyaWN0ZXIgcHJvcGVydHkgdHlwZSBjaGVja2luZyB0byBhdm9p
ZCB1bmludGVuZGVkIG1pc3Rha2VzLgorCisgICAgICAgIChXSS5SZW1vdGVPYmplY3QucHJvdG90
eXBlLmNhbGxGdW5jdGlvbik6CisgICAgICAgIC0gUmV3b3JrIHRoaXMgdG8gcmV0dXJuIGEgcHJv
bWlzZSBpZiBubyBjYWxsYmFjayB3YXMgc3VwcGxpZWQuCisgICAgICAgIC0gVHVybiB0aHJvd24g
ZXhjZXB0aW9ucyBhbmQgcHJvdG9jb2wgZXJyb3JzIGludG8gcmVqZWN0ZWQgcHJvbWlzZXMuCisK
IDIwMTctMTItMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogSW5zcGVjdG9yVGVzdC5leHBlY3RFeGNlcHRpb24gZG9lcyBub3QgaGFuZGxl
IGltcGxpY2l0bHkgcmVzb2x2ZWQgYXN5bmMgZnVuY3Rpb25zIGNvcnJlY3RseQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2Jq
ZWN0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVt
b3RlT2JqZWN0LmpzCmluZGV4IGM1YWJkMDU1MWIyNDExNzgwNDY4YTIzMDMzZDIwYzc1M2I0YzRm
MGYuLjExODdhNWY1MzI4MmY2YWE0MTYxYTgxOGM0NGY5NjU2ODhkZjBlNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1JlbW90ZU9iamVj
dC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9S
ZW1vdGVPYmplY3QuanMKQEAgLTQ2MiwyOSArNDYyLDc0IEBAIFdJLlJlbW90ZU9iamVjdCA9IGNs
YXNzIFJlbW90ZU9iamVjdAogICAgICAgICAgICAgY2FsbGJhY2soMCk7CiAgICAgfQogCi0gICAg
Z2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCBjYWxsYmFjaykKKyAgICBhc3luYyBmZXRjaFByb3Bl
cnRpZXMocHJvcGVydHlOYW1lcywgcmVzdWx0T2JqZWN0PXt9KQogICAgIHsKLSAgICAgICAgZnVu
Y3Rpb24gaW5zcGVjdGVkUGFnZV9vYmplY3RfZ2V0UHJvcGVydHkocHJvcGVydHkpIHsKLSAgICAg
ICAgICAgIHJldHVybiB0aGlzW3Byb3BlcnR5XTsKKyAgICAgICAgbGV0IHNlZW5Qcm9wZXJ0eU5h
bWVzID0gbmV3IFNldDsKKyAgICAgICAgbGV0IHJlcXVlc3RlZFZhbHVlcyA9IFtdOworICAgICAg
ICBmb3IgKGxldCBwcm9wZXJ0eU5hbWUgb2YgcHJvcGVydHlOYW1lcykgeworICAgICAgICAgICAg
Ly8gQ2hlY2sgdGhpcyBoZXJlLCBvdGhlcndpc2UgdGhpbmdzIGxpa2UgJ3t9JyB3b3VsZCBiZSB2
YWxpZCBTZXQga2V5cy4KKyAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcGVydHlOYW1lICE9PSAi
c3RyaW5nIiAmJiB0eXBlb2YgcHJvcGVydHlOYW1lICE9PSAibnVtYmVyIikKKyAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoYFRyaWVkIHRvIGdldCBwcm9wZXJ0eSB1c2luZyBrZXkgaXMg
bm90IGEgc3RyaW5nIG9yIG51bWJlcjogJHtwcm9wZXJ0eU5hbWV9YCk7CisKKyAgICAgICAgICAg
IGlmIChzZWVuUHJvcGVydHlOYW1lcy5oYXMocHJvcGVydHlOYW1lKSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgc2VlblByb3BlcnR5TmFtZXMuYWRkKHByb3BlcnR5
TmFtZSk7CisgICAgICAgICAgICByZXF1ZXN0ZWRWYWx1ZXMucHVzaCh0aGlzLmdldFByb3BlcnR5
KHByb3BlcnR5TmFtZSkpOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5jYWxsRnVuY3Rpb24o
aW5zcGVjdGVkUGFnZV9vYmplY3RfZ2V0UHJvcGVydHksIFtwcm9wZXJ0eU5hbWVdLCB0cnVlLCBj
YWxsYmFjayk7CisgICAgICAgIC8vIFJldHVybiBwcmltaXRpdmUgdmFsdWVzIGRpcmVjdGx5LCBv
dGhlcndpc2UgcmV0dXJuIGEgV0kuUmVtb3RlT2JqZWN0IGluc3RhbmNlLgorICAgICAgICBmdW5j
dGlvbiBtYXliZVVud3JhcFZhbHVlKHJlbW90ZU9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJu
IHJlbW90ZU9iamVjdC5oYXNWYWx1ZSgpID8gcmVtb3RlT2JqZWN0LnZhbHVlIDogcmVtb3RlT2Jq
ZWN0OworICAgICAgICB9CisKKyAgICAgICAgLy8gUmVxdWVzdCBwcm9wZXJ0eSB2YWx1ZXMgb25l
IGJ5IG9uZSwgc2luY2UgcmV0dXJuaW5nIGFuIGFycmF5IG9mIHByb3BlcnR5CisgICAgICAgIC8v
IHZhbHVlcyB3b3VsZCB0aGVuIGJlIHN1YmplY3QgdG8gYXJiaXRyYXJ5IG9iamVjdCBwcmV2aWV3
IHNpemUgbGltaXRzLgorICAgICAgICBsZXQgZmV0Y2hlZEtleXMgPSBBcnJheS5mcm9tKHNlZW5Q
cm9wZXJ0eU5hbWVzKTsKKyAgICAgICAgbGV0IGZldGNoZWRWYWx1ZXMgPSBhd2FpdCBQcm9taXNl
LmFsbChyZXF1ZXN0ZWRWYWx1ZXMpOworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZldGNo
ZWRLZXlzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgcmVzdWx0T2JqZWN0W2ZldGNoZWRLZXlz
W2ldXSA9IG1heWJlVW53cmFwVmFsdWUoZmV0Y2hlZFZhbHVlc1tpXSk7CisKKyAgICAgICAgcmV0
dXJuIHJlc3VsdE9iamVjdDsKICAgICB9CiAKLSAgICBjYWxsRnVuY3Rpb24oZnVuY3Rpb25EZWNs
YXJhdGlvbiwgYXJncywgZ2VuZXJhdGVQcmV2aWV3LCBjYWxsYmFjaykKKyAgICBnZXRQcm9wZXJ0
eShwcm9wZXJ0eU5hbWUsIGNhbGxiYWNrID0gbnVsbCkKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9u
IG15Y2FsbGJhY2soZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXN1bHQgPSByZXN1bHQgPyBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0
LCB0aGlzLl90YXJnZXQpIDogbnVsbDsKKyAgICAgICAgZnVuY3Rpb24gaW5zcGVjdGVkUGFnZV9v
YmplY3RfZ2V0UHJvcGVydHkocHJvcGVydHkpIHsKKyAgICAgICAgICAgIGlmICh0eXBlb2YgcHJv
cGVydHkgIT09ICJzdHJpbmciICYmIHR5cGVvZiBwcm9wZXJ0eSAhPT0gIm51bWJlciIpCisgICAg
ICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUcmllZCB0byBnZXQgcHJvcGVydHkgdXNpbmcg
YSBrZXkgdGhhdCBpcyBuZWl0aGVyIGEgc3RyaW5nIG5vciBudW1iZXI6ICR7cHJvcGVydHl9YCk7
CiAKLSAgICAgICAgICAgIGlmIChjYWxsYmFjayAmJiB0eXBlb2YgY2FsbGJhY2sgPT09ICJmdW5j
dGlvbiIpCi0gICAgICAgICAgICAgICAgY2FsbGJhY2soZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3du
KTsKKyAgICAgICAgICAgIHJldHVybiB0aGlzW3Byb3BlcnR5XTsKICAgICAgICAgfQogCisgICAg
ICAgIGlmIChjYWxsYmFjayAmJiB0eXBlb2YgY2FsbGJhY2sgPT09ICJmdW5jdGlvbiIpCisgICAg
ICAgICAgICB0aGlzLmNhbGxGdW5jdGlvbihpbnNwZWN0ZWRQYWdlX29iamVjdF9nZXRQcm9wZXJ0
eSwgW3Byb3BlcnR5TmFtZV0sIHRydWUsIGNhbGxiYWNrKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgcmV0dXJuIHRoaXMuY2FsbEZ1bmN0aW9uKGluc3BlY3RlZFBhZ2Vfb2JqZWN0X2dldFBy
b3BlcnR5LCBbcHJvcGVydHlOYW1lXSwgdHJ1ZSk7CisgICAgfQorCisgICAgY2FsbEZ1bmN0aW9u
KGZ1bmN0aW9uRGVjbGFyYXRpb24sIGFyZ3MsIGdlbmVyYXRlUHJldmlldywgY2FsbGJhY2sgPSBu
dWxsKQorICAgIHsKKyAgICAgICAgbGV0IHRyYW5zbGF0ZVJlc3VsdCA9IChyZXN1bHQpID0+IHJl
c3VsdCA/IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQsIHRoaXMuX3RhcmdldCkg
OiBudWxsOworCiAgICAgICAgIGlmIChhcmdzKQogICAgICAgICAgICAgYXJncyA9IGFyZ3MubWFw
KFdJLlJlbW90ZU9iamVjdC5jcmVhdGVDYWxsQXJndW1lbnQpOwogCi0gICAgICAgIHRoaXMuX3Rh
cmdldC5SdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQsIGFwcGVuZFdl
Ykluc3BlY3RvclNvdXJjZVVSTChmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCkpLCBhcmdz
LCB0cnVlLCB1bmRlZmluZWQsICEhZ2VuZXJhdGVQcmV2aWV3LCBteWNhbGxiYWNrLmJpbmQodGhp
cykpOworICAgICAgICBpZiAoY2FsbGJhY2sgJiYgdHlwZW9mIGNhbGxiYWNrID09PSAiZnVuY3Rp
b24iKSB7CisgICAgICAgICAgICBsZXQgcHJvY2Vzc1Jlc3VsdEZvckNhbGxiYWNrID0gKGVycm9y
LCByZXN1bHQsIHdhc1Rocm93bikgPT4geworICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVycm9y
LCB0cmFuc2xhdGVSZXN1bHQocmVzdWx0KSwgd2FzVGhyb3duKTsKKyAgICAgICAgICAgIH07Cisg
ICAgICAgICAgICB0aGlzLl90YXJnZXQuUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMu
X29iamVjdElkLCBhcHBlbmRXZWJJbnNwZWN0b3JTb3VyY2VVUkwoZnVuY3Rpb25EZWNsYXJhdGlv
bi50b1N0cmluZygpKSwgYXJncywgdHJ1ZSwgdW5kZWZpbmVkLCAhIWdlbmVyYXRlUHJldmlldywg
cHJvY2Vzc1Jlc3VsdEZvckNhbGxiYWNrKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IC8vIFByb3RvY29sIGVycm9ycyBhbmQgcmVzdWx0cyB0aGF0IHdlcmUgdGhyb3duIHNob3VsZCBj
YXVzZSBwcm9taXNlIHJlamVjdGlvbiB3aXRoIHRoZSBzYW1lLgorICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX3RhcmdldC5SdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQs
IGFwcGVuZFdlYkluc3BlY3RvclNvdXJjZVVSTChmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5n
KCkpLCBhcmdzLCB0cnVlLCB1bmRlZmluZWQsICEhZ2VuZXJhdGVQcmV2aWV3KQorICAgICAgICAg
ICAgICAgIC50aGVuKCh7cmVzdWx0LCB3YXNUaHJvd259KSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IHRyYW5zbGF0ZVJlc3VsdChyZXN1bHQpOworICAgICAgICAgICAgICAgICAg
ICBpZiAocmVzdWx0ICYmIHdhc1Rocm93bikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IocmVzdWx0LmRlc2NyaXB0aW9uKSk7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGNhbGxGdW5jdGlvbkpTT04oZnVuY3Rp
b25EZWNsYXJhdGlvbiwgYXJncywgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzBkYmNkODZkNmNiNzY3YmZi
NzVkMDVjNjY5NTEzZDI5NmY3YWQ3Yi4uNDkzNjkwMWMzNWNkZDI0M2VmMTRlZDNhMTJhNDIzOTQ2
ZTgxOTI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTEyLTE4ICBCcmlhbiBCdXJnICA8
YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBSZW1vdGVPYmpl
Y3QuZmV0Y2hQcm9wZXJ0aWVzIGFuZCBzb21lIGJhc2ljIHRlc3RzIGZvciBSZW1vdGVPYmplY3Qg
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA5
NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
bmV3IHRlc3QgY292ZXJhZ2UgZm9yIGV4aXN0aW5nIFJlbW90ZU9iamVjdC5wcm90b3R5cGUuZ2V0
UHJvcGVydHkuCisgICAgICAgIEFkZCBuZXcgdGVzdCBjb3ZlcmFnZSBmb3IgbmV3IG1ldGhvZCBS
ZW1vdGVPYmplY3QucHJvdG90eXBlLmZldGNoUHJvcGVydGllcy4KKyAgICAgICAgSSBkaWRuJ3Qg
YWRkIHRlc3QgY292ZXJhZ2UgZm9yIGNhbGxGdW5jdGlvbiwgYXMgSSBoYWQgdG8gc3RvcCBzb21l
d2hlcmUuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvcmVtb3RlLW9iamVjdC1hcGktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvcmVtb3RlLW9iamVj
dC1hcGkuaHRtbDogQWRkZWQuCisKIDIwMTctMTItMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5zcGVjdG9yVGVzdC5leHBlY3RFeGNl
cHRpb24gZG9lcyBub3QgaGFuZGxlIGltcGxpY2l0bHkgcmVzb2x2ZWQgYXN5bmMgZnVuY3Rpb25z
IGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL3JlbW90
ZS1vYmplY3QtYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9y
ZW1vdGUtb2JqZWN0LWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2QxNWIyMTAyMzM3ZTRl
ZTQ4ZDQ5YmVlZGFiNjE0NjA5OTRhOWU3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2MyBAQAorQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IEVy
cm9yOiBJIHByb21pc2VkIHByb2JsZW1zLgorVGVzdGluZyBiYXNpYyBBUEkgYW5kIGNvbnZlbmll
bmNlIG1ldGhvZHMgb2YgUmVtb3RlT2JqZWN0LgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
UmVtb3RlT2JqZWN0LkFQSQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQ
cm9wZXJ0eS5TdWNjZXNzV2l0aENhbGxiYWNrLlN0cmluZworUEFTUzogU2hvdWxkIG5vdCBoYXZl
IGEgdGhyb3duIGV4Y2VwdGlvbi4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxkIGhhdmUg
YSBwcmltaXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBi
ZSBhcyBleHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQ
cm9wZXJ0eS5TdWNjZXNzV2l0aENhbGxiYWNrLk51bWJlcgorUEFTUzogU2hvdWxkIG5vdCBoYXZl
IGEgdGhyb3duIGV4Y2VwdGlvbi4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxkIGhhdmUg
YSBwcmltaXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBi
ZSBhcyBleHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQ
cm9wZXJ0eS5Ob3RGb3VuZFdpdGhDYWxsYmFjaworUEFTUzogU2hvdWxkIG5vdCBoYXZlIGEgdGhy
b3duIGV4Y2VwdGlvbi4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxkIGhhdmUgYSBwcmlt
aXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBiZSBhcyBl
eHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0
eS5GYWlsdXJlV2l0aENhbGxiYWNrCitQQVNTOiBTaG91bGQgaGF2ZSBhIHRocm93biBleGNlcHRp
b24uCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHNob3VsZCBub3QgaGF2ZSBhIHByaW1pdGl2ZSB2
YWx1ZS4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hvdWxkIGhhdmUgdHlwZSBgb2Jq
ZWN0YC4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hvdWxkIGhhdmUgc3VidHlwZSBg
ZXJyb3JgLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogUmVtb3RlT2JqZWN0LmdldFByb3BlcnR5
LlN1Y2Nlc3NXaXRoUHJvbWlzZS5TdHJpbmcKK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxk
IGhhdmUgYSBwcmltaXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNo
b3VsZCBiZSBhcyBleHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVj
dC5nZXRQcm9wZXJ0eS5TdWNjZXNzV2l0aFByb21pc2UuTnVtYmVyCitQQVNTOiBGZXRjaGVkIHBy
b3BlcnR5IHNob3VsZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLgorUEFTUzogRmV0Y2hlZCBwcm9w
ZXJ0eSB2YWx1ZSBzaG91bGQgYmUgYXMgZXhwZWN0ZWQuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBSZW1vdGVPYmplY3QuZ2V0UHJvcGVydHkuRmFpbHVyZVdpdGhQcm9taXNlCitQQVNTOiBTaG91
bGQgcHJvZHVjZSBhbiBleGNlcHRpb24uCitFcnJvcjogRXJyb3I6IFRyaWVkIHRvIGdldCBwcm9w
ZXJ0eSB1c2luZyBhIGtleSB0aGF0IGlzIG5laXRoZXIgYSBzdHJpbmcgbm9yIG51bWJlcjogW29i
amVjdCBPYmplY3RdCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBSZW1vdGVPYmplY3QuZmV0Y2hQ
cm9wZXJ0aWVzLlN1Y2Nlc3MKK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gdGhy
ZWUga2V5cy4KK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gZmV0Y2hlZCBwcm9w
ZXJ0eSAnbmFtZScuCitQQVNTOiBSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIGZldGNoZWQg
cHJvcGVydHkgJ3NpemUnLgorUEFTUzogUmVzdWx0IG9iamVjdCBzaG91bGQgY29udGFpbiBmZXRj
aGVkIHByb3BlcnR5ICdkYXRhJy4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVj
dC5mZXRjaFByb3BlcnRpZXMuU3VjY2Vzc1dpdGhEdXBsaWNhdGVLZXkKK1BBU1M6IFJlc3VsdCBv
YmplY3Qgc2hvdWxkIGNvbnRhaW4gdGhyZWUga2V5cy4KK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hv
dWxkIGNvbnRhaW4gZmV0Y2hlZCBwcm9wZXJ0eSAnbmFtZScuCitQQVNTOiBSZXN1bHQgb2JqZWN0
IHNob3VsZCBjb250YWluIGZldGNoZWQgcHJvcGVydHkgJ3NpemUnLgorUEFTUzogUmVzdWx0IG9i
amVjdCBzaG91bGQgY29udGFpbiBmZXRjaGVkIHByb3BlcnR5ICdkYXRhJy4KKworLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5mZXRjaFByb3BlcnRpZXMuU3VjY2Vzc1dpdGhPdXRw
dXRPYmplY3QKK1BBU1M6IFJlc29sdmVkIHZhbHVlIHNob3VsZCBiZSB0aGUgcGFzc2VkLWluIHJl
c3VsdCBvYmplY3QuCitQQVNTOiBSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIGZldGNoZWQg
cHJvcGVydHkgJ25hbWUnLgorUEFTUzogUmVzdWx0IG9iamVjdCBzaG91bGQgY29udGFpbiBmZXRj
aGVkIHByb3BlcnR5ICdzaXplJy4KK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4g
ZmV0Y2hlZCBwcm9wZXJ0eSAnZGF0YScuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5ICduYW1lJyBz
aG91bGQgZXF1YWwgJ0Zhdm9yaXRlcycKK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgJ3NpemUnIHNo
b3VsZCBlcXVhbCAnNDU2JworUEFTUzogRmV0Y2hlZCBwcm9wZXJ0eSAnZGF0YScgc2hvdWxkIGJl
IGEgV0kuUmVtb3RlT2JqZWN0CisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBSZW1vdGVPYmplY3Qu
ZmV0Y2hQcm9wZXJ0aWVzLkZhaWx1cmVXaXRoSW52YWxpZEtleQorUEFTUzogU2hvdWxkIHByb2R1
Y2UgYW4gZXhjZXB0aW9uLgorRXJyb3I6IFRyaWVkIHRvIGdldCBwcm9wZXJ0eSB1c2luZyBrZXkg
aXMgbm90IGEgc3RyaW5nIG9yIG51bWJlcjogW29iamVjdCBPYmplY3RdCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWFwaS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL3JlbW90ZS1vYmplY3QtYXBpLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2EzNzZjZGI3ODNlZGE3OTg3MTcxZmM1MDkyYzZlZWY2NzNjMTYwYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWFwaS5odG1s
CkBAIC0wLDAgKzEsMjEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cudGVzdE9iamVjdCA9IHsKKyAgICAx
OiB0cnVlLAorICAgICJuYW1lIjogIkZhdm9yaXRlcyIsCisgICAgImxhYmVsIjogIkkgbGlrZSBp
Y2UgY3JlYW0iLAorICAgICJzaXplIjogNDU2LAorICAgICJudW1iZXJzIjogWzEsIDIsIDNdLAor
ICAgICJkYXRhIjoge3g6IDQyLCB5OiA1MH0sCisgICAgImVycm9yIjogbmV3IEVycm9yKCJJIGhh
dmUgcHJvYmxlbXMuIiksCisgICAgInJlc29sdmVkIjogUHJvbWlzZS5yZXNvbHZlKDY2NiksCisg
ICAgInJlamVjdGVkIjogUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJJIHByb21pc2VkIHByb2Js
ZW1zLiIpKSwKK307CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3Bl
Y3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiUmVtb3RlT2JqZWN0LkFQSSIpOworCisgICAgc3Vp
dGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0LmdldFByb3BlcnR5
LlN1Y2Nlc3NXaXRoQ2FsbGJhY2suU3RyaW5nIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAg
ICAgICAgICAgIGxldCBvYmplY3QgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ3aW5kb3cudGVzdE9iamVjdCIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
b2JqZWN0IGluc3RhbmNlb2YgV0kuUmVtb3RlT2JqZWN0LCAiU2hvdWxkIGdldCBhIHJlbW90ZSBv
YmplY3QuIik7CisKKyAgICAgICAgICAgIGxldCBmaW5pc2hlZCA9IG5ldyBXSS5XcmFwcGVkUHJv
bWlzZTsKKyAgICAgICAgICAgIG9iamVjdC5nZXRQcm9wZXJ0eSgibmFtZSIsIChlcnJvciwgcmVz
dWx0LCB3YXNUaHJvd24pID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dCghZXJyb3IsICJTaG91bGQgbm90IGhhdmUgYSBwcm90b2NvbCBlcnJvci4iKTsKKworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2Uod2FzVGhyb3duLCAiU2hvdWxkIG5v
dCBoYXZlIGEgdGhyb3duIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdFRoYXQocmVzdWx0Lmhhc1ZhbHVlKCksICJGZXRjaGVkIHByb3BlcnR5IHNob3Vs
ZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCAiRmF2b3JpdGVzIiwgIkZldGNoZWQgcHJvcGVy
dHkgdmFsdWUgc2hvdWxkIGJlIGFzIGV4cGVjdGVkLiIpOworICAgICAgICAgICAgICAgIGVycm9y
ID8gZmluaXNoZWQucmVqZWN0KGVycm9yKSA6IGZpbmlzaGVkLnJlc29sdmUoKTsKKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICBhd2FpdCBmaW5pc2hlZC5wcm9taXNlOworICAgICAgICB9
CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJSZW1v
dGVPYmplY3QuZ2V0UHJvcGVydHkuU3VjY2Vzc1dpdGhDYWxsYmFjay5OdW1iZXIiLAorICAgICAg
ICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2JqZWN0Iik7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJT
aG91bGQgZ2V0IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAgICAgICAgICAgbGV0IGZpbmlzaGVk
ID0gbmV3IFdJLldyYXBwZWRQcm9taXNlOworICAgICAgICAgICAgb2JqZWN0LmdldFByb3BlcnR5
KDEsIChlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pID0+IHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJTaG91bGQgbm90IGhhdmUgYSBwcm90b2NvbCBlcnJv
ci4iKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2Uod2FzVGhy
b3duLCAiU2hvdWxkIG5vdCBoYXZlIGEgdGhyb3duIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0Lmhhc1ZhbHVlKCksICJGZXRjaGVk
IHByb3BlcnR5IHNob3VsZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLiIpOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCB0cnVlLCAiRmV0Y2hl
ZCBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQgYmUgYXMgZXhwZWN0ZWQuIik7CisgICAgICAgICAgICAg
ICAgZXJyb3IgPyBmaW5pc2hlZC5yZWplY3QoZXJyb3IpIDogZmluaXNoZWQucmVzb2x2ZSgpOwor
ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IGZpbmlzaGVkLnByb21pc2U7Cisg
ICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFt
ZTogIlJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0eS5Ob3RGb3VuZFdpdGhDYWxsYmFjayIsCisgICAg
ICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVjdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwg
IlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0LiIpOworCisgICAgICAgICAgICBsZXQgZmluaXNo
ZWQgPSBuZXcgV0kuV3JhcHBlZFByb21pc2U7CisgICAgICAgICAgICBvYmplY3QuZ2V0UHJvcGVy
dHkoImRvZXNOb3RFeGlzdCIsIChlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pID0+IHsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJTaG91bGQgbm90IGhhdmUg
YSBwcm90b2NvbCBlcnJvci4iKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RmFsc2Uod2FzVGhyb3duLCAiU2hvdWxkIG5vdCBoYXZlIGEgdGhyb3duIGV4Y2VwdGlvbi4i
KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0Lmhhc1Zh
bHVlKCksICJGZXRjaGVkIHByb3BlcnR5IHNob3VsZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLiIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVl
LCB1bmRlZmluZWQsICJGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBiZSBhcyBleHBlY3Rl
ZC4iKTsKKyAgICAgICAgICAgICAgICBlcnJvciA/IGZpbmlzaGVkLnJlamVjdChlcnJvcikgOiBm
aW5pc2hlZC5yZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgYXdhaXQg
ZmluaXNoZWQucHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVz
dENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0LmdldFByb3BlcnR5LkZhaWx1cmVX
aXRoQ2FsbGJhY2siLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9i
amVjdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2Jq
ZWN0Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2Vv
ZiBXSS5SZW1vdGVPYmplY3QsICJTaG91bGQgZ2V0IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAg
ICAgICAgICAgbGV0IGZpbmlzaGVkID0gbmV3IFdJLldyYXBwZWRQcm9taXNlOworICAgICAgICAg
ICAgb2JqZWN0LmdldFByb3BlcnR5KHt9LCAoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKSA9PiB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5v
dCBoYXZlIGEgcHJvdG9jb2wgZXJyb3IuIik7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdFRoYXQod2FzVGhyb3duLCAiU2hvdWxkIGhhdmUgYSB0aHJvd24gZXhjZXB0aW9u
LiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2UocmVzdWx0Lmhh
c1ZhbHVlKCksICJGZXRjaGVkIHByb3BlcnR5IHNob3VsZCBub3QgaGF2ZSBhIHByaW1pdGl2ZSB2
YWx1ZS4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3Vs
dC50eXBlLCAib2JqZWN0IiwgIkZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hvdWxkIGhhdmUgdHlw
ZSBgb2JqZWN0YC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFs
KHJlc3VsdC5zdWJ0eXBlLCAiZXJyb3IiLCAiRmV0Y2hlZCBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQg
aGF2ZSBzdWJ0eXBlIGBlcnJvcmAuIik7CisKKyAgICAgICAgICAgICAgICBlcnJvciA/IGZpbmlz
aGVkLnJlamVjdChlcnJvcikgOiBmaW5pc2hlZC5yZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsK
KworICAgICAgICAgICAgYXdhaXQgZmluaXNoZWQucHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0p
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0
LmdldFByb3BlcnR5LlN1Y2Nlc3NXaXRoUHJvbWlzZS5TdHJpbmciLAorICAgICAgICBhc3luYyB0
ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2JqZWN0Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJTaG91bGQgZ2V0
IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IG9i
amVjdC5nZXRQcm9wZXJ0eSgibmFtZSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RUaGF0KHJlc3VsdC5oYXNWYWx1ZSgpLCAiRmV0Y2hlZCBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBh
IHByaW1pdGl2ZSB2YWx1ZS4iKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwocmVzdWx0LnZhbHVlLCAiRmF2b3JpdGVzIiwgIkZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hv
dWxkIGJlIGFzIGV4cGVjdGVkLiIpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5h
ZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJSZW1vdGVPYmplY3QuZ2V0UHJvcGVydHkuU3Vj
Y2Vzc1dpdGhQcm9taXNlLk51bWJlciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAg
ICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2lu
ZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVj
dCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0
LiIpOworCisgICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgb2JqZWN0LmdldFByb3BlcnR5
KDEpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHJlc3VsdC5oYXNWYWx1
ZSgpLCAiRmV0Y2hlZCBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBhIHByaW1pdGl2ZSB2YWx1ZS4iKTsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCB0cnVl
LCAiRmV0Y2hlZCBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQgYmUgYXMgZXhwZWN0ZWQuIik7CisgICAg
ICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTog
IlJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0eS5GYWlsdXJlV2l0aFByb21pc2UiLAorICAgICAgICBh
c3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2JqZWN0Iik7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJTaG91
bGQgZ2V0IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAgICAgICAgICAgYXdhaXQgSW5zcGVjdG9y
VGVzdC5leHBlY3RFeGNlcHRpb24oYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIGF3YWl0
IG9iamVjdC5nZXRQcm9wZXJ0eSh7fSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAg
IH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2Jq
ZWN0LmZldGNoUHJvcGVydGllcy5TdWNjZXNzIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAg
ICAgICAgICAgIGxldCBvYmplY3QgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ3aW5kb3cudGVzdE9iamVjdCIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
b2JqZWN0IGluc3RhbmNlb2YgV0kuUmVtb3RlT2JqZWN0LCAiU2hvdWxkIGdldCBhIHJlbW90ZSBv
YmplY3QuIik7CisKKyAgICAgICAgICAgIGxldCBrZXlzID0gWyJuYW1lIiwgInNpemUiLCAiZGF0
YSJdOworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IG9iamVjdC5mZXRjaFByb3BlcnRp
ZXMoa2V5cyk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoT2JqZWN0
LmtleXMocmVzdWx0KS5sZW5ndGgsIDMsICJSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIHRo
cmVlIGtleXMuIik7CisgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2Yga2V5cykKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoa2V5IGluIHJlc3VsdCwgYFJlc3VsdCBv
YmplY3Qgc2hvdWxkIGNvbnRhaW4gZmV0Y2hlZCBwcm9wZXJ0eSAnJHtrZXl9Jy5gKTsKKyAgICAg
ICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAi
UmVtb3RlT2JqZWN0LmZldGNoUHJvcGVydGllcy5TdWNjZXNzV2l0aER1cGxpY2F0ZUtleSIsCisg
ICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVjdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVj
dCwgIlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0LiIpOworCisgICAgICAgICAgICBsZXQga2V5
cyA9IFsibmFtZSIsICJzaXplIiwgImRhdGEiLCAiZGF0YSJdOworICAgICAgICAgICAgbGV0IHJl
c3VsdCA9IGF3YWl0IG9iamVjdC5mZXRjaFByb3BlcnRpZXMoa2V5cyk7CisKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGgsIDMs
ICJSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIHRocmVlIGtleXMuIik7CisgICAgICAgICAg
ICBmb3IgKGxldCBrZXkgb2YgbmV3IFNldChrZXlzKSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdFRoYXQoa2V5IGluIHJlc3VsdCwgYFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNv
bnRhaW4gZmV0Y2hlZCBwcm9wZXJ0eSAnJHtrZXl9Jy5gKTsKKyAgICAgICAgfQorICAgIH0pOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0LmZl
dGNoUHJvcGVydGllcy5TdWNjZXNzV2l0aE91dHB1dE9iamVjdCIsCisgICAgICAgIGFzeW5jIHRl
c3QoKSB7CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgid2luZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KG9iamVjdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBnZXQg
YSByZW1vdGUgb2JqZWN0LiIpOworCisgICAgICAgICAgICBsZXQgcmVzdWx0T2JqZWN0ID0geyJl
eGlzdGluZ0tleSI6IHRydWV9OworICAgICAgICAgICAgbGV0IGtleXMgPSBbIm5hbWUiLCAic2l6
ZSIsICJkYXRhIl07CisgICAgICAgICAgICBsZXQgcmV0dXJuVmFsdWUgPSBhd2FpdCBvYmplY3Qu
ZmV0Y2hQcm9wZXJ0aWVzKGtleXMsIHJlc3VsdE9iamVjdCk7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdEVxdWFsKHJldHVyblZhbHVlLCByZXN1bHRPYmplY3QsICJSZXNvbHZlZCB2
YWx1ZSBzaG91bGQgYmUgdGhlIHBhc3NlZC1pbiByZXN1bHQgb2JqZWN0LiIpOworICAgICAgICAg
ICAgZm9yIChsZXQga2V5IG9mIGtleXMpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KGtleSBpbiByZXN1bHRPYmplY3QsIGBSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250
YWluIGZldGNoZWQgcHJvcGVydHkgJyR7a2V5fScuYCk7CisKKyAgICAgICAgICAgIGxldCB7bmFt
ZSwgc2l6ZSwgZGF0YX0gPSByZXR1cm5WYWx1ZTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwobmFtZSwgIkZhdm9yaXRlcyIsIGBGZXRjaGVkIHByb3BlcnR5ICduYW1lJyBz
aG91bGQgZXF1YWwgJ0Zhdm9yaXRlcydgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwoc2l6ZSwgNDU2LCBgRmV0Y2hlZCBwcm9wZXJ0eSAnc2l6ZScgc2hvdWxkIGVxdWFs
ICc0NTYnYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZGF0YSBpbnN0
YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgYEZldGNoZWQgcHJvcGVydHkgJ2RhdGEnIHNob3VsZCBi
ZSBhIFdJLlJlbW90ZU9iamVjdGApOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5h
ZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJSZW1vdGVPYmplY3QuZmV0Y2hQcm9wZXJ0aWVz
LkZhaWx1cmVXaXRoSW52YWxpZEtleSIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAg
ICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2lu
ZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVj
dCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0
LiIpOworCisgICAgICAgICAgICBsZXQga2V5cyA9IFsibmFtZSIsICJzaXplIiwge31dOworICAg
ICAgICAgICAgYXdhaXQgSW5zcGVjdG9yVGVzdC5leHBlY3RFeGNlcHRpb24oYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIGF3YWl0IG9iamVjdC5mZXRjaFByb3BlcnRpZXMoa2V5cyk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENh
c2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKyAgICA8cD5UZXN0aW5nIGJhc2ljIEFQSSBhbmQgY29udmVuaWVuY2UgbWV0aG9k
cyBvZiBSZW1vdGVPYmplY3QuPC9wPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329706</attachid>
            <date>2017-12-18 16:34:27 -0800</date>
            <delta_ts>2017-12-19 17:30:01 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-180956-20171218163426.patch</filename>
            <type>text/plain</type>
            <size>6985</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA1
YTgwYzU2NzdmZjJhNDkzOTk4MzlmNzZlYTNmODJlY2E4N2JmN2NmLi5mNzQzNGUwYmZjMTRmNThm
ODA2OWQ5M2ExNzZjMjNkYTNiZWU3ZjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNy0xMi0xOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIHNob3Vs
ZCByZXR1cm4gYSByZWplY3Rpb24gaWYgYW4gZXJyb3Igd2FzIHRocm93bgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTU2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3Qv
RnJvbnRlbmRUZXN0SGFybmVzcy5qczoKKyAgICAgICAgKEZyb250ZW5kVGVzdEhhcm5lc3MucHJv
dG90eXBlLmV2YWx1YXRlSW5QYWdlLnRyYW5zbGF0ZVJlc3VsdCk6wqBSZW5hbWVkLgorICAgICAg
ICAoRnJvbnRlbmRUZXN0SGFybmVzcy5wcm90b3R5cGUuZXZhbHVhdGVJblBhZ2UpOgorICAgICAg
ICBJZiB0aGUgcmVzdWx0IHdhcyB0aHJvd24sIHRoZW4gcmVqZWN0IHdpdGggdGhlIGVycm9yLgor
ICAgICAgICBSZW5hbWUgdGhlIGhlbHBlciBtZXRob2QgdG8gbWF0Y2ggdGhlIHNhbWUgb25lIGlu
IFJlbW90ZU9iamVjdC5wcm90b3R5cGUuZmV0Y2hQcm9wZXJ0aWVzLgorCiAyMDE3LTEyLTE4ICBC
cmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFk
ZCBSZW1vdGVPYmplY3QuZmV0Y2hQcm9wZXJ0aWVzIGFuZCBzb21lIGJhc2ljIHRlc3RzIGZvciBS
ZW1vdGVPYmplY3QgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMKaW5kZXggZWE5Yjk4
MGQyNDI4ZjU1NDlmNjAzY2RlYjg1Yjc1M2VmMjk1MDM1Mi4uMDIzMTk1Zjg5ZjdlYjEzZDAyNzcy
MjRjZTQ5MTBhNDQ1MjczNTYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcwpAQCAt
ODksMTcgKzg5LDI0IEBAIEZyb250ZW5kVGVzdEhhcm5lc3MgPSBjbGFzcyBGcm9udGVuZFRlc3RI
YXJuZXNzIGV4dGVuZHMgVGVzdEhhcm5lc3MKICAgICAgICAgfQogCiAgICAgICAgIC8vIFJldHVy
biBwcmltaXRpdmUgdmFsdWVzIGRpcmVjdGx5LCBvdGhlcndpc2UgcmV0dXJuIGEgV0kuUmVtb3Rl
T2JqZWN0IGluc3RhbmNlLgotICAgICAgICBmdW5jdGlvbiByZXN1bHRPYmplY3RUb1JldHVybihy
ZXN1bHQpIHsKKyAgICAgICAgZnVuY3Rpb24gdHJhbnNsYXRlUmVzdWx0KHJlc3VsdCkgewogICAg
ICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChy
ZXN1bHQpOwogICAgICAgICAgICAgcmV0dXJuICghcmVtb3RlT2JqZWN0T25seSAmJiByZW1vdGVP
YmplY3QuaGFzVmFsdWUoKSkgPyByZW1vdGVPYmplY3QudmFsdWUgOiByZW1vdGVPYmplY3Q7CiAg
ICAgICAgIH0KIAogICAgICAgICBsZXQgcmVzcG9uc2UgPSBSdW50aW1lQWdlbnQuZXZhbHVhdGUu
aW52b2tlKHtleHByZXNzaW9uLCBvYmplY3RHcm91cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExp
bmVBUEk6IGZhbHNlfSkKICAgICAgICAgaWYgKGNhbGxiYWNrICYmIHR5cGVvZiBjYWxsYmFjayA9
PT0gImZ1bmN0aW9uIikgewotICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZS50aGVuKCh7
cmVzdWx0LCB3YXNUaHJvd259KSA9PiBjYWxsYmFjayhudWxsLCByZXN1bHRPYmplY3RUb1JldHVy
bihyZXN1bHQpLCB3YXNUaHJvd24pKTsKKyAgICAgICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2Uu
dGhlbigoe3Jlc3VsdCwgd2FzVGhyb3dufSkgPT4gY2FsbGJhY2sobnVsbCwgdHJhbnNsYXRlUmVz
dWx0KHJlc3VsdCksIHdhc1Rocm93bikpOwogICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25z
ZS5jYXRjaCgoZXJyb3IpID0+IGNhbGxiYWNrKGVycm9yLCBudWxsLCBmYWxzZSkpOwotICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50aGVuKCh7cmVzdWx0fSkgPT4g
cmVzdWx0T2JqZWN0VG9SZXR1cm4ocmVzdWx0KSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAvLyBUdXJuIGEgdGhyb3duIEVycm9yIHJlc3VsdCBpbnRvIGEgcHJvbWlzZSByZWplY3Rp
b24uCisgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGhlbigoe3Jlc3VsdCwgd2FzVGhyb3du
fSkgPT4geworICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRyYW5zbGF0ZVJlc3VsdChyZXN1bHQp
OworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgd2FzVGhyb3duKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKHJlc3VsdC5kZXNjcmlwdGlv
bikpOworICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9CiAgICAgfQogCiAgICAgZGVidWcoKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ5
MzY5MDFjMzVjZGQyNDNlZjE0ZWQzYTEyYTQyMzk0NmU4MTkyOGQuLmVhYWRiZmZjZjczNjQ5MTVi
NzNjZDkzOWM0Yzk2N2IxMDM2OTgyMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0xMi0x
OCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIHNob3VsZCByZXR1cm4gYSByZWplY3Rpb24g
aWYgYW4gZXJyb3Igd2FzIHRocm93bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgwOTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVh
dGUtaW4tcGFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMv
dGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UuaHRtbDoKKyAgICAgICAgVXBkYXRlIHRlc3Qg
Y2FzZSB0byBleHBlY3QgYW4gZXhjZXB0aW9uIHdoZW4gYW4gZXJyb3Igd2FzIHRocm93biBpbiBv
dXIgZXZhbHVhdGlvbi4KKwogMjAxNy0xMi0xOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgUmVtb3RlT2JqZWN0LmZldGNoUHJvcGVy
dGllcyBhbmQgc29tZSBiYXNpYyB0ZXN0cyBmb3IgUmVtb3RlT2JqZWN0IEFQSQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRl
LWluLXBhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
dGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGRmMmExOTIy
YWZkMjBlYjA2NzYwODcyMDAwZDkxNzRmNzMwZmYwZjUuLjkzYTJmZGZhZGE3YTQ0MDZkMWZjZjIz
ZGFkMjdjMWFlMDdkNWI5MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0
LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVhdGUtaW4t
cGFnZS1leHBlY3RlZC50eHQKQEAgLTE0Miw5ICsxNDIsNyBAQCBQQVNTOiBUeXBlIG9mIGV2YWx1
YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnb2JqZWN0Jy4KIFBBU1M6IFN1YnR5cGUgb2YgZXZhbHVh
dGlvbiByZXN1bHQgc2hvdWxkIGJlICdlcnJvcicuCiAKIENoZWNraW5nIHJlc3VsdCBvZiBldmFs
dWF0aW5nIHN0cmluZzogdGhyb3cgbmV3IEVycm9yKDQyKQotUEFTUzogUmV0dXJuZWQgcmVzdWx0
IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KLVBBU1M6IE5vbi1wcmltaXRpdmUgZXZhbHVh
dGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCi1QQVNTOiBU
eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnb2JqZWN0Jy4KLVBBU1M6IFN1YnR5
cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdlcnJvcicuCitQQVNTOiBTaG91bGQg
cHJvZHVjZSBhbiBleGNlcHRpb24uCitFcnJvcjogRXJyb3I6IDQyCiAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRlLWlu
LXBhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVz
cy1ldmFsdWF0ZS1pbi1wYWdlLmh0bWwKaW5kZXggN2ViZTgyYTE3NmI1YjI1NTJhOTJkYTAwOGVj
MjA1OGQ4NTNmZmNiOC4uNTc1MjJkYWM0YTJkOWViNTRjNDU3MDNhZTJmMzMwNTI2NTBlODcwNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNz
LWV2YWx1YXRlLWluLXBhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10
ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVhdGUtaW4tcGFnZS5odG1sCkBAIC0xMDQsNiArMTA0LDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICBpbnB1dDogYHRocm93IG5ldyBFcnJvcig0
MilgLAogICAgICAgICAgICAgdHlwZTogIm9iamVjdCIsCiAgICAgICAgICAgICBzdWJ0eXBlOiAi
ZXJyb3IiLAorICAgICAgICAgICAgdGhyb3duOiB0cnVlLAogICAgICAgICB9LAogICAgIF07CiAK
QEAgLTEzOSwxMiArMTQwLDIwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAiZXZh
bHVhdGVJblBhZ2UuUmVtb3RlT2JqZWN0cyIsCiAgICAgICAgIGFzeW5jIHRlc3QoKSB7CiAgICAg
ICAgICAgICBmb3IgKGxldCB7aW5wdXQsIHR5cGUsIHN1YnR5cGUsIHRocm93bn0gb2YgY29tcGxl
eENhc2VzKSB7Ci0gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoaW5wdXQpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKGBDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6ICR7aW5wdXR9YCk7Ci0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHJlc3VsdCBpbnN0YW5jZW9m
IFdJLlJlbW90ZU9iamVjdCwgIlJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVP
YmplY3QuIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZShyZXN1
bHQuaGFzVmFsdWUoKSwgIk5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBu
b3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuIik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RFcXVhbChyZXN1bHQudHlwZSwgdHlwZSwgYFR5cGUgb2YgZXZhbHVhdGlvbiBy
ZXN1bHQgc2hvdWxkIGJlICcke3R5cGV9Jy5gKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKHJlc3VsdC5zdWJ0eXBlLCBzdWJ0eXBlLCBgU3VidHlwZSBvZiBldmFs
dWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJyR7c3VidHlwZX0nLmApOworCisgICAgICAgICAgICAg
ICAgaWYgKHRocm93bikgeworICAgICAgICAgICAgICAgICAgICBhd2FpdCBJbnNwZWN0b3JUZXN0
LmV4cGVjdEV4Y2VwdGlvbihhc3luYyAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBh
d2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGlucHV0KTsKKyAgICAgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
bGV0IHJlc3VsdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoaW5wdXQpOwor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0IGluc3Rh
bmNlb2YgV0kuUmVtb3RlT2JqZWN0LCAiUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJl
bW90ZU9iamVjdC4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RG
YWxzZShyZXN1bHQuaGFzVmFsdWUoKSwgIk5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRz
IHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuIik7CisgICAgICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnR5cGUsIHR5cGUsIGBUeXBlIG9m
IGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnJHt0eXBlfScuYCk7CisgICAgICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnN1YnR5cGUsIHN1YnR5cGUs
IGBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnJHtzdWJ0eXBlfScuYCk7
CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IiIpOwogICAgICAgICAgICAgfQogICAgICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329712</attachid>
            <date>2017-12-18 16:47:05 -0800</date>
            <delta_ts>2017-12-19 16:32:33 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-180956-20171218164704.patch</filename>
            <type>text/plain</type>
            <size>21159</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBh
NDg1ZDdiMzZhMDg0OWM5MWQ5NWJmNDA4MTJmOTVjYjhiYWRlMmViLi41YTgwYzU2NzdmZjJhNDkz
OTk4MzlmNzZlYTNmODJlY2E4N2JmN2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxNy0xMi0xOCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgUmVtb3RlT2JqZWN0LmZldGNoUHJvcGVydGllcyBh
bmQgc29tZSBiYXNpYyB0ZXN0cyBmb3IgUmVtb3RlT2JqZWN0IEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTQ1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IG1ldGhvZCwgZmV0Y2hQ
cm9wZXJ0aWVzLCB3aGljaCBhc3luYyBmZXRjaGVzIGFuIGFyYml0cmFyeSBsaXN0IG9mIHByb3Bl
cnRpZXMKKyAgICAgICAgZnJvbSBhIFJlbW90ZU9iamVjdC4gVGhpcyBpcyBpbnRlbmRlZCBmb3Ig
d3JpdGluZyB0ZXN0cyBhbmQgb3RoZXIgcXVpY2sgZXZhbHVhdGlvbnMsCisgICAgICAgIHNvIGl0
IGhhcyBzb21lIGJlaGF2aW9ycyB0aGF0IGFyZSBzdWl0YWJsZSBpbiB0aGVzZSBzaXR1YXRpb25z
OgorICAgICAgICAtIElmIHRoZSBldmFsdWF0aW9uIHRocm93cyBhbiBleGNlcHRpb24sIHRoZSBy
ZXN1bHQgd2lsbCByZWplY3Qgd2l0aCB0aGF0IGV4Y2VwdGlvbi4KKyAgICAgICAgLSBJZiB0aGVy
ZSBpcyBhIHByb3RvY29sIGVycm9yIGZvciBzb21lIHJlYXNvbiwgdGhlIHJlc3VsdCB3aWxsIHJl
amVjdCB3aXRoIGFuIGV4Y2VwdGlvbi4KKyAgICAgICAgLSBOb24tc3RyaW5nIGFuZCBub24tbnVt
YmVyIGtleXMgY2F1c2UgYW4gZXhjZXB0aW9uLCBhcyB0aGlzIGlzIHByb2JhYmx5IG5vdCBpbnRl
bmRlZC4KKyAgICAgICAgLSBEb2VzIG5vdCBhY2NlcHQgYSBjYWxsYmFjaywgcmV0dXJucyBhIHBy
b21pc2Ugb25seS4gTmV3IGNvZGUgc2hvdWxkIHVzZSBhc3luYy4KKworICAgICAgICBGb3IgZnVs
bCBmaWRlbGl0eSBpbnRyb3NwZWN0aW9uIG9mIHByb3BlcnR5IGRlc2NyaXB0b3JzLCBjbGllbnRz
IHNob3VsZCB1c2UgdGhlIGV4aXN0aW5nCisgICAgICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRv
cltzXSBjbGFzcyBvZiBtZXRob2RzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9SZW1vdGVPYmplY3QuanM6CisgICAgICAgIChXSS5SZW1vdGVPYmplY3QucHJvdG90eXBlLmFz
eW5jLmZldGNoUHJvcGVydGllcyk6IEFkZGVkLgorICAgICAgICAtIFZhbGlkYXRlIHNwZWNpZmll
ZCBrZXlzIGFuZCByZW1vdmUgZHVwbGljYXRlcy4KKyAgICAgICAgLSBSZXF1ZXN0IHByb3BlcnRp
ZXMgb25lLWJ5LW9uZSB0byBhdm9pZCBmZXRjaGluZyBhbGwgZGVzY3JpcHRvcnMgYW5kIGRlYWxp
bmcgd2l0aCBwcmV2aWV3cy4KKyAgICAgICAgLSBVbndyYXAgcmV0dXJuZWQgcHJpbWl0aXZlIHZh
bHVlcyB0byBhdm9pZCB1bm5lY2Vzc2FyeSBtdW5naW5nIGluIHRlc3RzLgorCisgICAgICAgIChX
SS5SZW1vdGVPYmplY3QucHJvdG90eXBlLmdldFByb3BlcnR5KToKKyAgICAgICAgLSBSZXdvcmsg
dGhpcyB0byByZXR1cm4gYSBwcm9taXNlIGlmIG5vIGNhbGxiYWNrIHdhcyBzdXBwbGllZC4KKyAg
ICAgICAgLSBJbnRyb2R1Y2Ugc3RyaWN0ZXIgcHJvcGVydHkgdHlwZSBjaGVja2luZyB0byBhdm9p
ZCB1bmludGVuZGVkIG1pc3Rha2VzLgorCisgICAgICAgIChXSS5SZW1vdGVPYmplY3QucHJvdG90
eXBlLmNhbGxGdW5jdGlvbik6CisgICAgICAgIC0gUmV3b3JrIHRoaXMgdG8gcmV0dXJuIGEgcHJv
bWlzZSBpZiBubyBjYWxsYmFjayB3YXMgc3VwcGxpZWQuCisgICAgICAgIC0gVHVybiB0aHJvd24g
ZXhjZXB0aW9ucyBhbmQgcHJvdG9jb2wgZXJyb3JzIGludG8gcmVqZWN0ZWQgcHJvbWlzZXMuCisK
IDIwMTctMTItMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogSW5zcGVjdG9yVGVzdC5leHBlY3RFeGNlcHRpb24gZG9lcyBub3QgaGFuZGxl
IGltcGxpY2l0bHkgcmVzb2x2ZWQgYXN5bmMgZnVuY3Rpb25zIGNvcnJlY3RseQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2Jq
ZWN0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVt
b3RlT2JqZWN0LmpzCmluZGV4IGM1YWJkMDU1MWIyNDExNzgwNDY4YTIzMDMzZDIwYzc1M2I0YzRm
MGYuLjExODdhNWY1MzI4MmY2YWE0MTYxYTgxOGM0NGY5NjU2ODhkZjBlNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1JlbW90ZU9iamVj
dC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9S
ZW1vdGVPYmplY3QuanMKQEAgLTQ2MiwyOSArNDYyLDc0IEBAIFdJLlJlbW90ZU9iamVjdCA9IGNs
YXNzIFJlbW90ZU9iamVjdAogICAgICAgICAgICAgY2FsbGJhY2soMCk7CiAgICAgfQogCi0gICAg
Z2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCBjYWxsYmFjaykKKyAgICBhc3luYyBmZXRjaFByb3Bl
cnRpZXMocHJvcGVydHlOYW1lcywgcmVzdWx0T2JqZWN0PXt9KQogICAgIHsKLSAgICAgICAgZnVu
Y3Rpb24gaW5zcGVjdGVkUGFnZV9vYmplY3RfZ2V0UHJvcGVydHkocHJvcGVydHkpIHsKLSAgICAg
ICAgICAgIHJldHVybiB0aGlzW3Byb3BlcnR5XTsKKyAgICAgICAgbGV0IHNlZW5Qcm9wZXJ0eU5h
bWVzID0gbmV3IFNldDsKKyAgICAgICAgbGV0IHJlcXVlc3RlZFZhbHVlcyA9IFtdOworICAgICAg
ICBmb3IgKGxldCBwcm9wZXJ0eU5hbWUgb2YgcHJvcGVydHlOYW1lcykgeworICAgICAgICAgICAg
Ly8gQ2hlY2sgdGhpcyBoZXJlLCBvdGhlcndpc2UgdGhpbmdzIGxpa2UgJ3t9JyB3b3VsZCBiZSB2
YWxpZCBTZXQga2V5cy4KKyAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcGVydHlOYW1lICE9PSAi
c3RyaW5nIiAmJiB0eXBlb2YgcHJvcGVydHlOYW1lICE9PSAibnVtYmVyIikKKyAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoYFRyaWVkIHRvIGdldCBwcm9wZXJ0eSB1c2luZyBrZXkgaXMg
bm90IGEgc3RyaW5nIG9yIG51bWJlcjogJHtwcm9wZXJ0eU5hbWV9YCk7CisKKyAgICAgICAgICAg
IGlmIChzZWVuUHJvcGVydHlOYW1lcy5oYXMocHJvcGVydHlOYW1lKSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgc2VlblByb3BlcnR5TmFtZXMuYWRkKHByb3BlcnR5
TmFtZSk7CisgICAgICAgICAgICByZXF1ZXN0ZWRWYWx1ZXMucHVzaCh0aGlzLmdldFByb3BlcnR5
KHByb3BlcnR5TmFtZSkpOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5jYWxsRnVuY3Rpb24o
aW5zcGVjdGVkUGFnZV9vYmplY3RfZ2V0UHJvcGVydHksIFtwcm9wZXJ0eU5hbWVdLCB0cnVlLCBj
YWxsYmFjayk7CisgICAgICAgIC8vIFJldHVybiBwcmltaXRpdmUgdmFsdWVzIGRpcmVjdGx5LCBv
dGhlcndpc2UgcmV0dXJuIGEgV0kuUmVtb3RlT2JqZWN0IGluc3RhbmNlLgorICAgICAgICBmdW5j
dGlvbiBtYXliZVVud3JhcFZhbHVlKHJlbW90ZU9iamVjdCkgeworICAgICAgICAgICAgcmV0dXJu
IHJlbW90ZU9iamVjdC5oYXNWYWx1ZSgpID8gcmVtb3RlT2JqZWN0LnZhbHVlIDogcmVtb3RlT2Jq
ZWN0OworICAgICAgICB9CisKKyAgICAgICAgLy8gUmVxdWVzdCBwcm9wZXJ0eSB2YWx1ZXMgb25l
IGJ5IG9uZSwgc2luY2UgcmV0dXJuaW5nIGFuIGFycmF5IG9mIHByb3BlcnR5CisgICAgICAgIC8v
IHZhbHVlcyB3b3VsZCB0aGVuIGJlIHN1YmplY3QgdG8gYXJiaXRyYXJ5IG9iamVjdCBwcmV2aWV3
IHNpemUgbGltaXRzLgorICAgICAgICBsZXQgZmV0Y2hlZEtleXMgPSBBcnJheS5mcm9tKHNlZW5Q
cm9wZXJ0eU5hbWVzKTsKKyAgICAgICAgbGV0IGZldGNoZWRWYWx1ZXMgPSBhd2FpdCBQcm9taXNl
LmFsbChyZXF1ZXN0ZWRWYWx1ZXMpOworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZldGNo
ZWRLZXlzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgcmVzdWx0T2JqZWN0W2ZldGNoZWRLZXlz
W2ldXSA9IG1heWJlVW53cmFwVmFsdWUoZmV0Y2hlZFZhbHVlc1tpXSk7CisKKyAgICAgICAgcmV0
dXJuIHJlc3VsdE9iamVjdDsKICAgICB9CiAKLSAgICBjYWxsRnVuY3Rpb24oZnVuY3Rpb25EZWNs
YXJhdGlvbiwgYXJncywgZ2VuZXJhdGVQcmV2aWV3LCBjYWxsYmFjaykKKyAgICBnZXRQcm9wZXJ0
eShwcm9wZXJ0eU5hbWUsIGNhbGxiYWNrID0gbnVsbCkKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9u
IG15Y2FsbGJhY2soZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXN1bHQgPSByZXN1bHQgPyBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0
LCB0aGlzLl90YXJnZXQpIDogbnVsbDsKKyAgICAgICAgZnVuY3Rpb24gaW5zcGVjdGVkUGFnZV9v
YmplY3RfZ2V0UHJvcGVydHkocHJvcGVydHkpIHsKKyAgICAgICAgICAgIGlmICh0eXBlb2YgcHJv
cGVydHkgIT09ICJzdHJpbmciICYmIHR5cGVvZiBwcm9wZXJ0eSAhPT0gIm51bWJlciIpCisgICAg
ICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUcmllZCB0byBnZXQgcHJvcGVydHkgdXNpbmcg
YSBrZXkgdGhhdCBpcyBuZWl0aGVyIGEgc3RyaW5nIG5vciBudW1iZXI6ICR7cHJvcGVydHl9YCk7
CiAKLSAgICAgICAgICAgIGlmIChjYWxsYmFjayAmJiB0eXBlb2YgY2FsbGJhY2sgPT09ICJmdW5j
dGlvbiIpCi0gICAgICAgICAgICAgICAgY2FsbGJhY2soZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3du
KTsKKyAgICAgICAgICAgIHJldHVybiB0aGlzW3Byb3BlcnR5XTsKICAgICAgICAgfQogCisgICAg
ICAgIGlmIChjYWxsYmFjayAmJiB0eXBlb2YgY2FsbGJhY2sgPT09ICJmdW5jdGlvbiIpCisgICAg
ICAgICAgICB0aGlzLmNhbGxGdW5jdGlvbihpbnNwZWN0ZWRQYWdlX29iamVjdF9nZXRQcm9wZXJ0
eSwgW3Byb3BlcnR5TmFtZV0sIHRydWUsIGNhbGxiYWNrKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgcmV0dXJuIHRoaXMuY2FsbEZ1bmN0aW9uKGluc3BlY3RlZFBhZ2Vfb2JqZWN0X2dldFBy
b3BlcnR5LCBbcHJvcGVydHlOYW1lXSwgdHJ1ZSk7CisgICAgfQorCisgICAgY2FsbEZ1bmN0aW9u
KGZ1bmN0aW9uRGVjbGFyYXRpb24sIGFyZ3MsIGdlbmVyYXRlUHJldmlldywgY2FsbGJhY2sgPSBu
dWxsKQorICAgIHsKKyAgICAgICAgbGV0IHRyYW5zbGF0ZVJlc3VsdCA9IChyZXN1bHQpID0+IHJl
c3VsdCA/IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQsIHRoaXMuX3RhcmdldCkg
OiBudWxsOworCiAgICAgICAgIGlmIChhcmdzKQogICAgICAgICAgICAgYXJncyA9IGFyZ3MubWFw
KFdJLlJlbW90ZU9iamVjdC5jcmVhdGVDYWxsQXJndW1lbnQpOwogCi0gICAgICAgIHRoaXMuX3Rh
cmdldC5SdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQsIGFwcGVuZFdl
Ykluc3BlY3RvclNvdXJjZVVSTChmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCkpLCBhcmdz
LCB0cnVlLCB1bmRlZmluZWQsICEhZ2VuZXJhdGVQcmV2aWV3LCBteWNhbGxiYWNrLmJpbmQodGhp
cykpOworICAgICAgICBpZiAoY2FsbGJhY2sgJiYgdHlwZW9mIGNhbGxiYWNrID09PSAiZnVuY3Rp
b24iKSB7CisgICAgICAgICAgICBsZXQgcHJvY2Vzc1Jlc3VsdEZvckNhbGxiYWNrID0gKGVycm9y
LCByZXN1bHQsIHdhc1Rocm93bikgPT4geworICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVycm9y
LCB0cmFuc2xhdGVSZXN1bHQocmVzdWx0KSwgd2FzVGhyb3duKTsKKyAgICAgICAgICAgIH07Cisg
ICAgICAgICAgICB0aGlzLl90YXJnZXQuUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMu
X29iamVjdElkLCBhcHBlbmRXZWJJbnNwZWN0b3JTb3VyY2VVUkwoZnVuY3Rpb25EZWNsYXJhdGlv
bi50b1N0cmluZygpKSwgYXJncywgdHJ1ZSwgdW5kZWZpbmVkLCAhIWdlbmVyYXRlUHJldmlldywg
cHJvY2Vzc1Jlc3VsdEZvckNhbGxiYWNrKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IC8vIFByb3RvY29sIGVycm9ycyBhbmQgcmVzdWx0cyB0aGF0IHdlcmUgdGhyb3duIHNob3VsZCBj
YXVzZSBwcm9taXNlIHJlamVjdGlvbiB3aXRoIHRoZSBzYW1lLgorICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX3RhcmdldC5SdW50aW1lQWdlbnQuY2FsbEZ1bmN0aW9uT24odGhpcy5fb2JqZWN0SWQs
IGFwcGVuZFdlYkluc3BlY3RvclNvdXJjZVVSTChmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5n
KCkpLCBhcmdzLCB0cnVlLCB1bmRlZmluZWQsICEhZ2VuZXJhdGVQcmV2aWV3KQorICAgICAgICAg
ICAgICAgIC50aGVuKCh7cmVzdWx0LCB3YXNUaHJvd259KSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IHRyYW5zbGF0ZVJlc3VsdChyZXN1bHQpOworICAgICAgICAgICAgICAgICAg
ICBpZiAocmVzdWx0ICYmIHdhc1Rocm93bikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IocmVzdWx0LmRlc2NyaXB0aW9uKSk7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGNhbGxGdW5jdGlvbkpTT04oZnVuY3Rp
b25EZWNsYXJhdGlvbiwgYXJncywgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzBkYmNkODZkNmNiNzY3YmZi
NzVkMDVjNjY5NTEzZDI5NmY3YWQ3Yi4uNDkzNjkwMWMzNWNkZDI0M2VmMTRlZDNhMTJhNDIzOTQ2
ZTgxOTI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTEyLTE4ICBCcmlhbiBCdXJnICA8
YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBSZW1vdGVPYmpl
Y3QuZmV0Y2hQcm9wZXJ0aWVzIGFuZCBzb21lIGJhc2ljIHRlc3RzIGZvciBSZW1vdGVPYmplY3Qg
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA5
NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
bmV3IHRlc3QgY292ZXJhZ2UgZm9yIGV4aXN0aW5nIFJlbW90ZU9iamVjdC5wcm90b3R5cGUuZ2V0
UHJvcGVydHkuCisgICAgICAgIEFkZCBuZXcgdGVzdCBjb3ZlcmFnZSBmb3IgbmV3IG1ldGhvZCBS
ZW1vdGVPYmplY3QucHJvdG90eXBlLmZldGNoUHJvcGVydGllcy4KKyAgICAgICAgSSBkaWRuJ3Qg
YWRkIHRlc3QgY292ZXJhZ2UgZm9yIGNhbGxGdW5jdGlvbiwgYXMgSSBoYWQgdG8gc3RvcCBzb21l
d2hlcmUuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvcmVtb3RlLW9iamVjdC1hcGktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvcmVtb3RlLW9iamVj
dC1hcGkuaHRtbDogQWRkZWQuCisKIDIwMTctMTItMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5zcGVjdG9yVGVzdC5leHBlY3RFeGNl
cHRpb24gZG9lcyBub3QgaGFuZGxlIGltcGxpY2l0bHkgcmVzb2x2ZWQgYXN5bmMgZnVuY3Rpb25z
IGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL3JlbW90
ZS1vYmplY3QtYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9y
ZW1vdGUtb2JqZWN0LWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2QxNWIyMTAyMzM3ZTRl
ZTQ4ZDQ5YmVlZGFiNjE0NjA5OTRhOWU3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2MyBAQAorQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IEVy
cm9yOiBJIHByb21pc2VkIHByb2JsZW1zLgorVGVzdGluZyBiYXNpYyBBUEkgYW5kIGNvbnZlbmll
bmNlIG1ldGhvZHMgb2YgUmVtb3RlT2JqZWN0LgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
UmVtb3RlT2JqZWN0LkFQSQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQ
cm9wZXJ0eS5TdWNjZXNzV2l0aENhbGxiYWNrLlN0cmluZworUEFTUzogU2hvdWxkIG5vdCBoYXZl
IGEgdGhyb3duIGV4Y2VwdGlvbi4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxkIGhhdmUg
YSBwcmltaXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBi
ZSBhcyBleHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQ
cm9wZXJ0eS5TdWNjZXNzV2l0aENhbGxiYWNrLk51bWJlcgorUEFTUzogU2hvdWxkIG5vdCBoYXZl
IGEgdGhyb3duIGV4Y2VwdGlvbi4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxkIGhhdmUg
YSBwcmltaXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBi
ZSBhcyBleHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQ
cm9wZXJ0eS5Ob3RGb3VuZFdpdGhDYWxsYmFjaworUEFTUzogU2hvdWxkIG5vdCBoYXZlIGEgdGhy
b3duIGV4Y2VwdGlvbi4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxkIGhhdmUgYSBwcmlt
aXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBiZSBhcyBl
eHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0
eS5GYWlsdXJlV2l0aENhbGxiYWNrCitQQVNTOiBTaG91bGQgaGF2ZSBhIHRocm93biBleGNlcHRp
b24uCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHNob3VsZCBub3QgaGF2ZSBhIHByaW1pdGl2ZSB2
YWx1ZS4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hvdWxkIGhhdmUgdHlwZSBgb2Jq
ZWN0YC4KK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hvdWxkIGhhdmUgc3VidHlwZSBg
ZXJyb3JgLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogUmVtb3RlT2JqZWN0LmdldFByb3BlcnR5
LlN1Y2Nlc3NXaXRoUHJvbWlzZS5TdHJpbmcKK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgc2hvdWxk
IGhhdmUgYSBwcmltaXRpdmUgdmFsdWUuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNo
b3VsZCBiZSBhcyBleHBlY3RlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVj
dC5nZXRQcm9wZXJ0eS5TdWNjZXNzV2l0aFByb21pc2UuTnVtYmVyCitQQVNTOiBGZXRjaGVkIHBy
b3BlcnR5IHNob3VsZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLgorUEFTUzogRmV0Y2hlZCBwcm9w
ZXJ0eSB2YWx1ZSBzaG91bGQgYmUgYXMgZXhwZWN0ZWQuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBSZW1vdGVPYmplY3QuZ2V0UHJvcGVydHkuRmFpbHVyZVdpdGhQcm9taXNlCitQQVNTOiBTaG91
bGQgcHJvZHVjZSBhbiBleGNlcHRpb24uCitFcnJvcjogRXJyb3I6IFRyaWVkIHRvIGdldCBwcm9w
ZXJ0eSB1c2luZyBhIGtleSB0aGF0IGlzIG5laXRoZXIgYSBzdHJpbmcgbm9yIG51bWJlcjogW29i
amVjdCBPYmplY3RdCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBSZW1vdGVPYmplY3QuZmV0Y2hQ
cm9wZXJ0aWVzLlN1Y2Nlc3MKK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gdGhy
ZWUga2V5cy4KK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gZmV0Y2hlZCBwcm9w
ZXJ0eSAnbmFtZScuCitQQVNTOiBSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIGZldGNoZWQg
cHJvcGVydHkgJ3NpemUnLgorUEFTUzogUmVzdWx0IG9iamVjdCBzaG91bGQgY29udGFpbiBmZXRj
aGVkIHByb3BlcnR5ICdkYXRhJy4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVj
dC5mZXRjaFByb3BlcnRpZXMuU3VjY2Vzc1dpdGhEdXBsaWNhdGVLZXkKK1BBU1M6IFJlc3VsdCBv
YmplY3Qgc2hvdWxkIGNvbnRhaW4gdGhyZWUga2V5cy4KK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hv
dWxkIGNvbnRhaW4gZmV0Y2hlZCBwcm9wZXJ0eSAnbmFtZScuCitQQVNTOiBSZXN1bHQgb2JqZWN0
IHNob3VsZCBjb250YWluIGZldGNoZWQgcHJvcGVydHkgJ3NpemUnLgorUEFTUzogUmVzdWx0IG9i
amVjdCBzaG91bGQgY29udGFpbiBmZXRjaGVkIHByb3BlcnR5ICdkYXRhJy4KKworLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IFJlbW90ZU9iamVjdC5mZXRjaFByb3BlcnRpZXMuU3VjY2Vzc1dpdGhPdXRw
dXRPYmplY3QKK1BBU1M6IFJlc29sdmVkIHZhbHVlIHNob3VsZCBiZSB0aGUgcGFzc2VkLWluIHJl
c3VsdCBvYmplY3QuCitQQVNTOiBSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIGZldGNoZWQg
cHJvcGVydHkgJ25hbWUnLgorUEFTUzogUmVzdWx0IG9iamVjdCBzaG91bGQgY29udGFpbiBmZXRj
aGVkIHByb3BlcnR5ICdzaXplJy4KK1BBU1M6IFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4g
ZmV0Y2hlZCBwcm9wZXJ0eSAnZGF0YScuCitQQVNTOiBGZXRjaGVkIHByb3BlcnR5ICduYW1lJyBz
aG91bGQgZXF1YWwgJ0Zhdm9yaXRlcycKK1BBU1M6IEZldGNoZWQgcHJvcGVydHkgJ3NpemUnIHNo
b3VsZCBlcXVhbCAnNDU2JworUEFTUzogRmV0Y2hlZCBwcm9wZXJ0eSAnZGF0YScgc2hvdWxkIGJl
IGEgV0kuUmVtb3RlT2JqZWN0CisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBSZW1vdGVPYmplY3Qu
ZmV0Y2hQcm9wZXJ0aWVzLkZhaWx1cmVXaXRoSW52YWxpZEtleQorUEFTUzogU2hvdWxkIHByb2R1
Y2UgYW4gZXhjZXB0aW9uLgorRXJyb3I6IFRyaWVkIHRvIGdldCBwcm9wZXJ0eSB1c2luZyBrZXkg
aXMgbm90IGEgc3RyaW5nIG9yIG51bWJlcjogW29iamVjdCBPYmplY3RdCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWFwaS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL3JlbW90ZS1vYmplY3QtYXBpLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2EzNzZjZGI3ODNlZGE3OTg3MTcxZmM1MDkyYzZlZWY2NzNjMTYwYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0LWFwaS5odG1s
CkBAIC0wLDAgKzEsMjEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cudGVzdE9iamVjdCA9IHsKKyAgICAx
OiB0cnVlLAorICAgICJuYW1lIjogIkZhdm9yaXRlcyIsCisgICAgImxhYmVsIjogIkkgbGlrZSBp
Y2UgY3JlYW0iLAorICAgICJzaXplIjogNDU2LAorICAgICJudW1iZXJzIjogWzEsIDIsIDNdLAor
ICAgICJkYXRhIjoge3g6IDQyLCB5OiA1MH0sCisgICAgImVycm9yIjogbmV3IEVycm9yKCJJIGhh
dmUgcHJvYmxlbXMuIiksCisgICAgInJlc29sdmVkIjogUHJvbWlzZS5yZXNvbHZlKDY2NiksCisg
ICAgInJlamVjdGVkIjogUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJJIHByb21pc2VkIHByb2Js
ZW1zLiIpKSwKK307CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3Bl
Y3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiUmVtb3RlT2JqZWN0LkFQSSIpOworCisgICAgc3Vp
dGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0LmdldFByb3BlcnR5
LlN1Y2Nlc3NXaXRoQ2FsbGJhY2suU3RyaW5nIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAg
ICAgICAgICAgIGxldCBvYmplY3QgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ3aW5kb3cudGVzdE9iamVjdCIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
b2JqZWN0IGluc3RhbmNlb2YgV0kuUmVtb3RlT2JqZWN0LCAiU2hvdWxkIGdldCBhIHJlbW90ZSBv
YmplY3QuIik7CisKKyAgICAgICAgICAgIGxldCBmaW5pc2hlZCA9IG5ldyBXSS5XcmFwcGVkUHJv
bWlzZTsKKyAgICAgICAgICAgIG9iamVjdC5nZXRQcm9wZXJ0eSgibmFtZSIsIChlcnJvciwgcmVz
dWx0LCB3YXNUaHJvd24pID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dCghZXJyb3IsICJTaG91bGQgbm90IGhhdmUgYSBwcm90b2NvbCBlcnJvci4iKTsKKworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2Uod2FzVGhyb3duLCAiU2hvdWxkIG5v
dCBoYXZlIGEgdGhyb3duIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdFRoYXQocmVzdWx0Lmhhc1ZhbHVlKCksICJGZXRjaGVkIHByb3BlcnR5IHNob3Vs
ZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCAiRmF2b3JpdGVzIiwgIkZldGNoZWQgcHJvcGVy
dHkgdmFsdWUgc2hvdWxkIGJlIGFzIGV4cGVjdGVkLiIpOworICAgICAgICAgICAgICAgIGVycm9y
ID8gZmluaXNoZWQucmVqZWN0KGVycm9yKSA6IGZpbmlzaGVkLnJlc29sdmUoKTsKKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICBhd2FpdCBmaW5pc2hlZC5wcm9taXNlOworICAgICAgICB9
CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJSZW1v
dGVPYmplY3QuZ2V0UHJvcGVydHkuU3VjY2Vzc1dpdGhDYWxsYmFjay5OdW1iZXIiLAorICAgICAg
ICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2JqZWN0Iik7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJT
aG91bGQgZ2V0IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAgICAgICAgICAgbGV0IGZpbmlzaGVk
ID0gbmV3IFdJLldyYXBwZWRQcm9taXNlOworICAgICAgICAgICAgb2JqZWN0LmdldFByb3BlcnR5
KDEsIChlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pID0+IHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJTaG91bGQgbm90IGhhdmUgYSBwcm90b2NvbCBlcnJv
ci4iKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2Uod2FzVGhy
b3duLCAiU2hvdWxkIG5vdCBoYXZlIGEgdGhyb3duIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0Lmhhc1ZhbHVlKCksICJGZXRjaGVk
IHByb3BlcnR5IHNob3VsZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLiIpOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCB0cnVlLCAiRmV0Y2hl
ZCBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQgYmUgYXMgZXhwZWN0ZWQuIik7CisgICAgICAgICAgICAg
ICAgZXJyb3IgPyBmaW5pc2hlZC5yZWplY3QoZXJyb3IpIDogZmluaXNoZWQucmVzb2x2ZSgpOwor
ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGF3YWl0IGZpbmlzaGVkLnByb21pc2U7Cisg
ICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFt
ZTogIlJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0eS5Ob3RGb3VuZFdpdGhDYWxsYmFjayIsCisgICAg
ICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVjdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwg
IlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0LiIpOworCisgICAgICAgICAgICBsZXQgZmluaXNo
ZWQgPSBuZXcgV0kuV3JhcHBlZFByb21pc2U7CisgICAgICAgICAgICBvYmplY3QuZ2V0UHJvcGVy
dHkoImRvZXNOb3RFeGlzdCIsIChlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24pID0+IHsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJTaG91bGQgbm90IGhhdmUg
YSBwcm90b2NvbCBlcnJvci4iKTsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RmFsc2Uod2FzVGhyb3duLCAiU2hvdWxkIG5vdCBoYXZlIGEgdGhyb3duIGV4Y2VwdGlvbi4i
KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0Lmhhc1Zh
bHVlKCksICJGZXRjaGVkIHByb3BlcnR5IHNob3VsZCBoYXZlIGEgcHJpbWl0aXZlIHZhbHVlLiIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVl
LCB1bmRlZmluZWQsICJGZXRjaGVkIHByb3BlcnR5IHZhbHVlIHNob3VsZCBiZSBhcyBleHBlY3Rl
ZC4iKTsKKyAgICAgICAgICAgICAgICBlcnJvciA/IGZpbmlzaGVkLnJlamVjdChlcnJvcikgOiBm
aW5pc2hlZC5yZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgYXdhaXQg
ZmluaXNoZWQucHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVz
dENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0LmdldFByb3BlcnR5LkZhaWx1cmVX
aXRoQ2FsbGJhY2siLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9i
amVjdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2Jq
ZWN0Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2Vv
ZiBXSS5SZW1vdGVPYmplY3QsICJTaG91bGQgZ2V0IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAg
ICAgICAgICAgbGV0IGZpbmlzaGVkID0gbmV3IFdJLldyYXBwZWRQcm9taXNlOworICAgICAgICAg
ICAgb2JqZWN0LmdldFByb3BlcnR5KHt9LCAoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKSA9PiB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiU2hvdWxkIG5v
dCBoYXZlIGEgcHJvdG9jb2wgZXJyb3IuIik7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdFRoYXQod2FzVGhyb3duLCAiU2hvdWxkIGhhdmUgYSB0aHJvd24gZXhjZXB0aW9u
LiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2UocmVzdWx0Lmhh
c1ZhbHVlKCksICJGZXRjaGVkIHByb3BlcnR5IHNob3VsZCBub3QgaGF2ZSBhIHByaW1pdGl2ZSB2
YWx1ZS4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3Vs
dC50eXBlLCAib2JqZWN0IiwgIkZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hvdWxkIGhhdmUgdHlw
ZSBgb2JqZWN0YC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFs
KHJlc3VsdC5zdWJ0eXBlLCAiZXJyb3IiLCAiRmV0Y2hlZCBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQg
aGF2ZSBzdWJ0eXBlIGBlcnJvcmAuIik7CisKKyAgICAgICAgICAgICAgICBlcnJvciA/IGZpbmlz
aGVkLnJlamVjdChlcnJvcikgOiBmaW5pc2hlZC5yZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsK
KworICAgICAgICAgICAgYXdhaXQgZmluaXNoZWQucHJvbWlzZTsKKyAgICAgICAgfQorICAgIH0p
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0
LmdldFByb3BlcnR5LlN1Y2Nlc3NXaXRoUHJvbWlzZS5TdHJpbmciLAorICAgICAgICBhc3luYyB0
ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2JqZWN0Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJTaG91bGQgZ2V0
IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IG9i
amVjdC5nZXRQcm9wZXJ0eSgibmFtZSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RUaGF0KHJlc3VsdC5oYXNWYWx1ZSgpLCAiRmV0Y2hlZCBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBh
IHByaW1pdGl2ZSB2YWx1ZS4iKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwocmVzdWx0LnZhbHVlLCAiRmF2b3JpdGVzIiwgIkZldGNoZWQgcHJvcGVydHkgdmFsdWUgc2hv
dWxkIGJlIGFzIGV4cGVjdGVkLiIpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5h
ZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJSZW1vdGVPYmplY3QuZ2V0UHJvcGVydHkuU3Vj
Y2Vzc1dpdGhQcm9taXNlLk51bWJlciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAg
ICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2lu
ZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVj
dCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0
LiIpOworCisgICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgb2JqZWN0LmdldFByb3BlcnR5
KDEpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHJlc3VsdC5oYXNWYWx1
ZSgpLCAiRmV0Y2hlZCBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBhIHByaW1pdGl2ZSB2YWx1ZS4iKTsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCB0cnVl
LCAiRmV0Y2hlZCBwcm9wZXJ0eSB2YWx1ZSBzaG91bGQgYmUgYXMgZXhwZWN0ZWQuIik7CisgICAg
ICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTog
IlJlbW90ZU9iamVjdC5nZXRQcm9wZXJ0eS5GYWlsdXJlV2l0aFByb21pc2UiLAorICAgICAgICBh
c3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy50ZXN0T2JqZWN0Iik7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydChvYmplY3QgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJTaG91
bGQgZ2V0IGEgcmVtb3RlIG9iamVjdC4iKTsKKworICAgICAgICAgICAgYXdhaXQgSW5zcGVjdG9y
VGVzdC5leHBlY3RFeGNlcHRpb24oYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIGF3YWl0
IG9iamVjdC5nZXRQcm9wZXJ0eSh7fSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAg
IH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2Jq
ZWN0LmZldGNoUHJvcGVydGllcy5TdWNjZXNzIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAg
ICAgICAgICAgIGxldCBvYmplY3QgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ3aW5kb3cudGVzdE9iamVjdCIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
b2JqZWN0IGluc3RhbmNlb2YgV0kuUmVtb3RlT2JqZWN0LCAiU2hvdWxkIGdldCBhIHJlbW90ZSBv
YmplY3QuIik7CisKKyAgICAgICAgICAgIGxldCBrZXlzID0gWyJuYW1lIiwgInNpemUiLCAiZGF0
YSJdOworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IG9iamVjdC5mZXRjaFByb3BlcnRp
ZXMoa2V5cyk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoT2JqZWN0
LmtleXMocmVzdWx0KS5sZW5ndGgsIDMsICJSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIHRo
cmVlIGtleXMuIik7CisgICAgICAgICAgICBmb3IgKGxldCBrZXkgb2Yga2V5cykKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoa2V5IGluIHJlc3VsdCwgYFJlc3VsdCBv
YmplY3Qgc2hvdWxkIGNvbnRhaW4gZmV0Y2hlZCBwcm9wZXJ0eSAnJHtrZXl9Jy5gKTsKKyAgICAg
ICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAi
UmVtb3RlT2JqZWN0LmZldGNoUHJvcGVydGllcy5TdWNjZXNzV2l0aER1cGxpY2F0ZUtleSIsCisg
ICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVjdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVj
dCwgIlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0LiIpOworCisgICAgICAgICAgICBsZXQga2V5
cyA9IFsibmFtZSIsICJzaXplIiwgImRhdGEiLCAiZGF0YSJdOworICAgICAgICAgICAgbGV0IHJl
c3VsdCA9IGF3YWl0IG9iamVjdC5mZXRjaFByb3BlcnRpZXMoa2V5cyk7CisKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGgsIDMs
ICJSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250YWluIHRocmVlIGtleXMuIik7CisgICAgICAgICAg
ICBmb3IgKGxldCBrZXkgb2YgbmV3IFNldChrZXlzKSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdFRoYXQoa2V5IGluIHJlc3VsdCwgYFJlc3VsdCBvYmplY3Qgc2hvdWxkIGNv
bnRhaW4gZmV0Y2hlZCBwcm9wZXJ0eSAnJHtrZXl9Jy5gKTsKKyAgICAgICAgfQorICAgIH0pOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0LmZl
dGNoUHJvcGVydGllcy5TdWNjZXNzV2l0aE91dHB1dE9iamVjdCIsCisgICAgICAgIGFzeW5jIHRl
c3QoKSB7CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgid2luZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KG9iamVjdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBnZXQg
YSByZW1vdGUgb2JqZWN0LiIpOworCisgICAgICAgICAgICBsZXQgcmVzdWx0T2JqZWN0ID0geyJl
eGlzdGluZ0tleSI6IHRydWV9OworICAgICAgICAgICAgbGV0IGtleXMgPSBbIm5hbWUiLCAic2l6
ZSIsICJkYXRhIl07CisgICAgICAgICAgICBsZXQgcmV0dXJuVmFsdWUgPSBhd2FpdCBvYmplY3Qu
ZmV0Y2hQcm9wZXJ0aWVzKGtleXMsIHJlc3VsdE9iamVjdCk7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdEVxdWFsKHJldHVyblZhbHVlLCByZXN1bHRPYmplY3QsICJSZXNvbHZlZCB2
YWx1ZSBzaG91bGQgYmUgdGhlIHBhc3NlZC1pbiByZXN1bHQgb2JqZWN0LiIpOworICAgICAgICAg
ICAgZm9yIChsZXQga2V5IG9mIGtleXMpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KGtleSBpbiByZXN1bHRPYmplY3QsIGBSZXN1bHQgb2JqZWN0IHNob3VsZCBjb250
YWluIGZldGNoZWQgcHJvcGVydHkgJyR7a2V5fScuYCk7CisKKyAgICAgICAgICAgIGxldCB7bmFt
ZSwgc2l6ZSwgZGF0YX0gPSByZXR1cm5WYWx1ZTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwobmFtZSwgIkZhdm9yaXRlcyIsIGBGZXRjaGVkIHByb3BlcnR5ICduYW1lJyBz
aG91bGQgZXF1YWwgJ0Zhdm9yaXRlcydgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwoc2l6ZSwgNDU2LCBgRmV0Y2hlZCBwcm9wZXJ0eSAnc2l6ZScgc2hvdWxkIGVxdWFs
ICc0NTYnYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZGF0YSBpbnN0
YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgYEZldGNoZWQgcHJvcGVydHkgJ2RhdGEnIHNob3VsZCBi
ZSBhIFdJLlJlbW90ZU9iamVjdGApOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5h
ZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJSZW1vdGVPYmplY3QuZmV0Y2hQcm9wZXJ0aWVz
LkZhaWx1cmVXaXRoSW52YWxpZEtleSIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAg
ICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2lu
ZG93LnRlc3RPYmplY3QiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KG9iamVj
dCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBnZXQgYSByZW1vdGUgb2JqZWN0
LiIpOworCisgICAgICAgICAgICBsZXQga2V5cyA9IFsibmFtZSIsICJzaXplIiwge31dOworICAg
ICAgICAgICAgYXdhaXQgSW5zcGVjdG9yVGVzdC5leHBlY3RFeGNlcHRpb24oYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgICAgIGF3YWl0IG9iamVjdC5mZXRjaFByb3BlcnRpZXMoa2V5cyk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENh
c2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKyAgICA8cD5UZXN0aW5nIGJhc2ljIEFQSSBhbmQgY29udmVuaWVuY2UgbWV0aG9k
cyBvZiBSZW1vdGVPYmplY3QuPC9wPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="348764"
          type_id="1"
          status="-"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>