<?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>178253</bug_id>
          
          <creation_ts>2017-10-12 22:13:22 -0700</creation_ts>
          <short_desc>&quot;text/html&quot; data is not exposed when dragging and dropping across origins</short_desc>
          <delta_ts>2017-10-13 00:14:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1359921</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-10-12 22:13:22 -0700</bug_when>
    <thetext>Test case:

1. Download http://whsieh.github.io/examples/custom-pasteboard-data.html to a local file and open it
2. Open http://whsieh.github.io/examples/custom-pasteboard-data.html in a separate window
3. Drag the &quot;Custom Drag&quot; element from one window to the other.

Observed: &quot;text/html&quot; does not appear in the output area.
Expected: &quot;text/html&quot; should be exposed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359922</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-10-12 22:14:22 -0700</bug_when>
    <thetext>In DataTransfer::setDataFromItemList(), we need to handle the case where the type is &quot;text/html&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359925</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-12 22:19:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/34971203&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359930</commentid>
    <comment_count>3</comment_count>
      <attachid>323640</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-10-12 23:02:22 -0700</bug_when>
    <thetext>Created attachment 323640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359931</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-10-12 23:03:13 -0700</bug_when>
    <thetext>(Diff looks way bigger than the change really is due to renaming)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359937</commentid>
    <comment_count>5</comment_count>
      <attachid>323640</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-10-12 23:46:55 -0700</bug_when>
    <thetext>Comment on attachment 323640
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359941</commentid>
    <comment_count>6</comment_count>
      <attachid>323640</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-13 00:14:33 -0700</bug_when>
    <thetext>Comment on attachment 323640
Patch

Clearing flags on attachment: 323640

Committed r223278: &lt;https://trac.webkit.org/changeset/223278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359943</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-13 00:14:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323640</attachid>
            <date>2017-10-12 23:02:22 -0700</date>
            <delta_ts>2017-10-13 00:14:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178253-20171012230221.patch</filename>
            <type>text/plain</type>
            <size>46039</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY5NmY2OGNmNzcwMjQw
YTNhYTBjZmVhMGU1NWM0M2JhMDgxZWRjZi4uMzJmNTlhYjZlNzAzZjc3NDJiM2M3MmM5ZGQzYWY2
M2MwMTVkNTc0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTEwLTEyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgICJ0ZXh0L2h0bWwi
IGRhdGEgaXMgbm90IGV4cG9zZWQgd2hlbiBkcmFnZ2luZyBhbmQgZHJvcHBpbmcgYWNyb3NzIG9y
aWdpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
ODI1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQ5NzEyMDM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWlub3IgdHdlYWsgdG8gRGF0YVRyYW5z
ZmVyOjpzZXREYXRhRnJvbUl0ZW1MaXN0IHRvIGFsbG93ICJ0ZXh0L2h0bWwiIHdyaXR0ZW4gZnJv
bSBiaW5kaW5ncyB0byB0cmFuc2ZlciBhY3Jvc3MKKyAgICAgICAgb3JpZ2lucyB3aXRob3V0IHJl
cXVpcmluZyBhIHNhbml0aXplZCByZXByZXNlbnRhdGlvbi4gQ3VycmVudGx5LCBzYW5pdGl6ZWRE
YXRhIGlzIG51bGwsIHdoaWNoIGxpbWl0cyAidGV4dC9odG1sIgorICAgICAgICB0byBiZWluZyB0
cmVhdGVkIGFzIGN1c3RvbSBkYXRhLCBpbmFjY2Vzc2libGUgYWNyb3NzIG9yaWdpbnMuIFdlIHNo
b3VsZCBpbnN0ZWFkIHRyZWF0IG1hcmt1cCBzdXBwbGllZCB2aWEKKyAgICAgICAgYmluZGluZ3Mg
dGhlIHNhbWUgd2F5IGFzIHdlIGRvICJ0ZXh0L3BsYWluIiBzdXBwbGllZCB2aWEgYmluZGluZ3Mu
CisKKyAgICAgICAgTW9kaWZpZWQgVGVzdHM6IGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5z
ZmVyLXNldC1kYXRhLXNhbml0aXplLXVybC13aGVuLWNvcHlpbmctaW4tbnVsbC1vcmlnaW4uaHRt
bAorICAgICAgICAgICAgICAgICAgICAgICAgZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNm
ZXItc2V0LWRhdGEtc2FuaXRpemUtdXJsLXdoZW4tZHJhZ2dpbmctaW4tbnVsbC1vcmlnaW4uaHRt
bAorCisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
YXRhVHJhbnNmZXI6OnNldERhdGFGcm9tSXRlbUxpc3QpOgorCiAyMDE3LTEwLTEyICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIGFzeW5j
aHJvbm91cyBSZXNvdXJjZUhhbmRsZUNsaWVudCBjYWxscyBmb3IgV2ViS2l0MQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVyLmNwcAppbmRleCA0NTY3MDg0YjgwNTZkZGQ4YTZjMDUwMGM3ZjkwNTZm
ZDBmZjY3NDY1Li40ZGQ3ZTliY2Y5NWExMGI1MDQ5MzI4ODU3MGY4OTY2M2QzMGNjNzNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcApAQCAtMjEzLDcgKzIxMyw3IEBAIHZvaWQgRGF0
YVRyYW5zZmVyOjpzZXREYXRhRnJvbUl0ZW1MaXN0KGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3Qg
U3RyaW5nJiBkYXRhKQogICAgICAgICBhdXRvIHVybCA9IFVSTFBhcnNlcihkYXRhKS5yZXN1bHQo
KTsKICAgICAgICAgaWYgKHVybC5pc1ZhbGlkKCkpCiAgICAgICAgICAgICBzYW5pdGl6ZWREYXRh
ID0gdXJsLnN0cmluZygpOwotICAgIH0gZWxzZSBpZiAodHlwZSA9PSAidGV4dC9wbGFpbiIpCisg
ICAgfSBlbHNlIGlmICh0eXBlID09ICJ0ZXh0L3BsYWluIiB8fCB0eXBlID09ICJ0ZXh0L2h0bWwi
KQogICAgICAgICBzYW5pdGl6ZWREYXRhID0gZGF0YTsgLy8gTm90aGluZyB0byBzYW5pdGl6ZS4K
IAogICAgIGlmIChzYW5pdGl6ZWREYXRhICE9IGRhdGEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTExZjUzOWUwNDM3N2M3
Y2E1N2Q3MjI0NDRjOTQ0ZjBlYjNhMjI0Ni4uNWQ0ZGNiNjJkOWQwZDA4OGUwMDA0YTdmMjYyMmZj
MDRkMGI1OTA4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTEwLTEyICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgICJ0ZXh0L2h0bWwiIGRhdGEg
aXMgbm90IGV4cG9zZWQgd2hlbiBkcmFnZ2luZyBhbmQgZHJvcHBpbmcgYWNyb3NzIG9yaWdpbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI1Mwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQ5NzEyMDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lcyBzb21lIGV4aXN0aW5nIGxheW91dCB0
ZXN0cywgYW5kIGFsc28gYXVnbWVudHMgdHdvIHRlc3RzIHRvIHZlcmlmeSB0aGF0ICJ0ZXh0L2h0
bWwiIGlzIHByZXNlcnZlZCB3aGVuCisgICAgICAgIGNvcHlpbmcgYW5kIGRyYWdnaW5nIGFjcm9z
cyBvcmlnaW5zIHRoYXQgZG9uJ3QgbWF0Y2guCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLWln
bm9yZS1jb3BpZWQtbWFsZm9ybWVkLXVybC1pbi1udWxsLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRh
LWlnbm9yZS1jb3BpZWQtd2FsZm9ybWVkLXVybC1pbi1udWxsLWV4cGVjdGVkLnR4dC4KKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1pZ25vcmUtY29w
aWVkLW1hbGZvcm1lZC11cmwtaW4tbnVsbC1vcmlnaW4tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEt
aWdub3JlLWNvcGllZC13YWxmb3JtZWQtdXJsLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4dC4K
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1pZ25v
cmUtY29waWVkLW1hbGZvcm1lZC11cmwtaW4tbnVsbC1vcmlnaW4uaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLWln
bm9yZS1jb3BpZWQtd2FsZm9ybWVkLXVybC1pbi1udWxsLW9yaWdpbi5odG1sLgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0aXplLXVybC13
aGVuLWNvcHlpbmctaW4tbnVsbC1vcmlnaW4tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtc2FuaXRs
aXplLXVybC13aGVuLWNvcHlpbmctaW4tbnVsbC1vcmlnaW4tZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0aXplLXVy
bC13aGVuLWNvcHlpbmctaW4tbnVsbC1vcmlnaW4uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0bGl6ZS11
cmwtd2hlbi1jb3B5aW5nLWluLW51bGwtb3JpZ2luLmh0bWwuCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtc2FuaXRpemUtdXJsLXdoZW4tZHJhZ2dp
bmctaW4tbnVsbC1vcmlnaW4tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtc2FuaXRsaXplLXVybC13
aGVuLWRyYWdnaW5nLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1zYW5pdGl6ZS11cmwtd2hlbi1k
cmFnZ2luZy1pbi1udWxsLW9yaWdpbi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtc2FuaXRsaXplLXVybC13aGVu
LWRyYWdnaW5nLWluLW51bGwtb3JpZ2luLmh0bWwuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTEwLTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIGFzeW5jaHJvbm91cyBSZXNvdXJj
ZUhhbmRsZUNsaWVudCBjYWxscyBmb3IgV2ViS2l0MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDI1
ZWI5YjJiZDZhNTUxMTQ2NGY3Yzg3MjAzNWExNDdjZjQxZTk2Zi4uNjE3Mjc1MTQwMjExNWQ5N2Jl
ZTVmOTYwMzZkMmRmMWRlYTE1NmJmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC03Nyw3ICs3Nyw3
IEBAIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWdldC1kYXRhLW9uLWRyb3AtcGxh
aW4tdGV4dC5odG1sIFsgU2tpcCBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1n
ZXQtZGF0YS1vbi1kcm9wLXJpY2gtdGV4dC5odG1sIFsgU2tpcCBdCiBlZGl0aW5nL3Bhc3RlYm9h
cmQvZGF0YS10cmFuc2Zlci1nZXQtZGF0YS1vbi1kcm9wLXVybC5odG1sIFsgU2tpcCBdCiBlZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pcy11bmlxdWUtZm9yLWRyYWdlbnRlci1hbmQt
ZHJhZ2xlYXZlLmh0bWwgWyBTa2lwIF0KLWVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVy
LXNldC1kYXRhLXNhbml0bGl6ZS11cmwtd2hlbi1kcmFnZ2luZy1pbi1udWxsLW9yaWdpbi5odG1s
IFsgU2tpcCBdCitlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1zYW5p
dGl6ZS11cmwtd2hlbi1kcmFnZ2luZy1pbi1udWxsLW9yaWdpbi5odG1sIFsgU2tpcCBdCiBlZGl0
aW5nL3Bhc3RlYm9hcmQvZHJhZy1lbmQtY3Jhc2gtYWNjZXNzaW5nLWl0ZW0tbGlzdC5odG1sIFsg
U2tpcCBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZp
bGUtb24tZHJhZy5odG1sIFsgU2tpcCBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zl
ci1pdGVtcy1kcm9wLWZpbGUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtaWdub3JlLWNvcGllZC1t
YWxmb3JtZWQtdXJsLWluLW51bGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtaWdub3JlLWNvcGllZC1tYWxmb3JtZWQt
dXJsLWluLW51bGwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxYmMzMmViNWMwY2M0ZmQwN2E0
OWZlNzc4MGQ5NzU4NGY5N2U4NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1pZ25vcmUtY29waWVkLW1hbGZv
cm1lZC11cmwtaW4tbnVsbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGhpcyB0ZXN0
cyBjYWxsaW5nIHNldERhdGEgd2l0aCBhIG1hbGZvcm1lZCBVUkwgaW4gYSBudWxsIG9yaWdpbiBk
b2N1bWVudC4gVGhlIG1hbGZvcm1lZCB2YWx1ZSBzaG91bGQgbm90IGJlIHJlYWRhYmxlIGluIGFu
b3RoZXIgZG9jdW1lbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdXJs
UmVhZEluU2FtZURvY3VtZW50IGlzICJoZWxsbywgd29ybGQiCitQQVNTIEpTT04uc3RyaW5naWZ5
KHR5cGVzSW5TYW1lRG9jdW1lbnQpIGlzICJbXCJ0ZXh0L3VyaS1saXN0XCJdIgorUEFTUyBKU09O
LnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAiW3tcImtpbmRcIjpcInN0cmluZ1wi
LFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwifV0iCitQQVNTIGV2ZW50LmNsaXBib2FyZERhdGEu
Z2V0RGF0YSgidXJsIikgaXMgIiIKK1BBU1MgSlNPTi5zdHJpbmdpZnkoZXZlbnQuY2xpcGJvYXJk
RGF0YS50eXBlcykgaXMgIltdIgorUEFTUyBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKGV2ZW50
LmNsaXBib2FyZERhdGEuaXRlbXMpLm1hcCgoaXRlbSkgPT4gKHtraW5kOiBpdGVtLmtpbmQsIHR5
cGU6IGl0ZW0udHlwZX0pKSkgaXMgIltdIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLWlnbm9yZS1jb3BpZWQtbWFsZm9ybWVkLXVy
bC1pbi1udWxsLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1pZ25vcmUtY29waWVkLW1hbGZvcm1lZC11cmwt
aW4tbnVsbC1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxYmMzMmViNWMwY2M0ZmQw
N2E0OWZlNzc4MGQ5NzU4NGY5N2U4NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1pZ25vcmUtY29waWVkLW1h
bGZvcm1lZC11cmwtaW4tbnVsbC1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAK
K1RoaXMgdGVzdHMgY2FsbGluZyBzZXREYXRhIHdpdGggYSBtYWxmb3JtZWQgVVJMIGluIGEgbnVs
bCBvcmlnaW4gZG9jdW1lbnQuIFRoZSBtYWxmb3JtZWQgdmFsdWUgc2hvdWxkIG5vdCBiZSByZWFk
YWJsZSBpbiBhbm90aGVyIGRvY3VtZW50CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHVybFJlYWRJblNhbWVEb2N1bWVudCBpcyAiaGVsbG8sIHdvcmxkIgorUEFTUyBKU09O
LnN0cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50KSBpcyAiW1widGV4dC91cmktbGlzdFwiXSIK
K1BBU1MgSlNPTi5zdHJpbmdpZnkoaXRlbXNJblNhbWVEb2N1bWVudCkgaXMgIlt7XCJraW5kXCI6
XCJzdHJpbmdcIixcInR5cGVcIjpcInRleHQvdXJpLWxpc3RcIn1dIgorUEFTUyBldmVudC5jbGlw
Ym9hcmREYXRhLmdldERhdGEoInVybCIpIGlzICIiCitQQVNTIEpTT04uc3RyaW5naWZ5KGV2ZW50
LmNsaXBib2FyZERhdGEudHlwZXMpIGlzICJbXSIKK1BBU1MgSlNPTi5zdHJpbmdpZnkoQXJyYXku
ZnJvbShldmVudC5jbGlwYm9hcmREYXRhLml0ZW1zKS5tYXAoKGl0ZW0pID0+ICh7a2luZDogaXRl
bS5raW5kLCB0eXBlOiBpdGVtLnR5cGV9KSkpIGlzICJbXSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1pZ25vcmUtY29waWVkLW1h
bGZvcm1lZC11cmwtaW4tbnVsbC1vcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLWlnbm9yZS1jb3BpZWQtbWFsZm9ybWVkLXVy
bC1pbi1udWxsLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4ZmRiOWNlYzdiNDlhZGM0OGJmNTkx
MjdkY2QyNmEzNTRmNDg2YWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1pZ25vcmUtY29waWVkLW1hbGZvcm1l
ZC11cmwtaW4tbnVsbC1vcmlnaW4uaHRtbApAQCAtMCwwICsxLDc0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIGNh
bGxpbmcgc2V0RGF0YSB3aXRoIGEgbWFsZm9ybWVkIFVSTCBpbiBhIG51bGwgb3JpZ2luIGRvY3Vt
ZW50LiBUaGUgbWFsZm9ybWVkIHZhbHVlIHNob3VsZCBub3QgYmUgcmVhZGFibGUgaW4gYW5vdGhl
ciBkb2N1bWVudCcpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJs
ZWQodHJ1ZSk7CisKK2NvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFt
ZScpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworaWZyYW1lLnNyYyA9IGBk
YXRhOnRleHQvaHRtbDtjaGFyc2V0PXV0Zi04LDwhRE9DVFlQRSBodG1sPgorPGJ1dHRvbiBvbmNs
aWNrPSJydW5UZXN0KCkiPjEuIENvcHk8L2J1dHRvbj4KKzxkaXY+PGJyPjwvZGl2PgorPGRpdiBp
ZD0ic291cmNlIiBvbmNvcHk9ImNvcHkoZXZlbnQpIiBjb250ZW50ZWRpdGFibGU+c29tZSB0ZXh0
PC9kaXY+Cis8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgb25wYXN0ZT0icGFzdGUoZXZlbnQpIiBjb250
ZW50ZWRpdGFibGU+Mi4gUGFzdGUgaGVyZTwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gY29w
eShldmVudCkgeworICAgIGV2ZW50LmNsaXBib2FyZERhdGEuc2V0RGF0YSgndXJsJywgJ2hlbGxv
LCB3b3JsZCcpOworICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cit9CisKK2Z1bmN0aW9uIHBh
c3RlKGV2ZW50KSB7CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKHsKKyAgICAgICAgdXJsOiBldmVu
dC5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3VybCcpLAorICAgICAgICB0eXBlczogZXZlbnQuY2xp
cGJvYXJkRGF0YS50eXBlcywKKyAgICAgICAgaXRlbXM6IEFycmF5LmZyb20oZXZlbnQuY2xpcGJv
YXJkRGF0YS5pdGVtcykubWFwKChpdGVtKSA9PiAoe2tpbmQ6IGl0ZW0ua2luZCwgdHlwZTogaXRl
bS50eXBlfSkpLAorICAgIH0sICcqJyk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnc291cmNlJykuZm9jdXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgn
c2VsZWN0QWxsJyk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzdGluYXRpb24nKS5mb2N1cygpOworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3Bhc3RlJyk7Cit9
CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDEwKTsK
KworPC9zY3JpYCArICdwdD4nOworCitvbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICB1cmxS
ZWFkSW5TYW1lRG9jdW1lbnQgPSBldmVudC5kYXRhLnVybDsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3VybFJlYWRJblNhbWVEb2N1bWVudCcsICdoZWxsbywgd29ybGQnKTsKKyAgICB0eXBl
c0luU2FtZURvY3VtZW50ID0gZXZlbnQuZGF0YS50eXBlczsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ0pTT04uc3RyaW5naWZ5KHR5cGVzSW5TYW1lRG9jdW1lbnQpJywgJ1sidGV4dC91cmkt
bGlzdCJdJyk7CisgICAgaXRlbXNJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEuaXRlbXM7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3Vt
ZW50KScsICdbeyJraW5kIjoic3RyaW5nIiwidHlwZSI6InRleHQvdXJpLWxpc3QifV0nKTsKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzdGluYXRpb24nKS5mb2N1cygpOworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3Bhc3Rl
Jyk7Cit9CisKK2Z1bmN0aW9uIGRvUGFzdGUoZXZlbnQpIHsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2V2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidXJsIiknLCAnJyk7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShldmVudC5jbGlwYm9hcmREYXRhLnR5
cGVzKScsICdbXScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnko
QXJyYXkuZnJvbShldmVudC5jbGlwYm9hcmREYXRhLml0ZW1zKS5tYXAoKGl0ZW0pID0+ICh7a2lu
ZDogaXRlbS5raW5kLCB0eXBlOiBpdGVtLnR5cGV9KSkpJywgJ1tdJyk7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2Rlc3RpbmF0aW9uJykucmVtb3ZlKCk7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9CisKKzwvc2NyaXB0PgorPGRpdiBpZD0iZGVzdGluYXRpb24iIG9ucGFzdGU9ImRvUGFz
dGUoZXZlbnQpIiBjb250ZW50ZWRpdGFibGU+My4gUGFzdGUgaGVyZTwvZGl2PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEt
dHJhbnNmZXItc2V0LWRhdGEtaWdub3JlLWNvcGllZC13YWxmb3JtZWQtdXJsLWluLW51bGwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXIt
c2V0LWRhdGEtaWdub3JlLWNvcGllZC13YWxmb3JtZWQtdXJsLWluLW51bGwtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWJjMzJlYjVjMGNjNGZkMDdhNDlmZTc3
ODBkOTc1ODRmOTdlODQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1k
YXRhLWlnbm9yZS1jb3BpZWQtd2FsZm9ybWVkLXVybC1pbi1udWxsLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVRoaXMgdGVzdHMgY2FsbGluZyBzZXREYXRhIHdp
dGggYSBtYWxmb3JtZWQgVVJMIGluIGEgbnVsbCBvcmlnaW4gZG9jdW1lbnQuIFRoZSBtYWxmb3Jt
ZWQgdmFsdWUgc2hvdWxkIG5vdCBiZSByZWFkYWJsZSBpbiBhbm90aGVyIGRvY3VtZW50Ci0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHVybFJlYWRJblNhbWVEb2N1bWVudCBp
cyAiaGVsbG8sIHdvcmxkIgotUEFTUyBKU09OLnN0cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50
KSBpcyAiW1widGV4dC91cmktbGlzdFwiXSIKLVBBU1MgSlNPTi5zdHJpbmdpZnkoaXRlbXNJblNh
bWVEb2N1bWVudCkgaXMgIlt7XCJraW5kXCI6XCJzdHJpbmdcIixcInR5cGVcIjpcInRleHQvdXJp
LWxpc3RcIn1dIgotUEFTUyBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEoInVybCIpIGlzICIi
Ci1QQVNTIEpTT04uc3RyaW5naWZ5KGV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMpIGlzICJbXSIK
LVBBU1MgSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbShldmVudC5jbGlwYm9hcmREYXRhLml0ZW1z
KS5tYXAoKGl0ZW0pID0+ICh7a2luZDogaXRlbS5raW5kLCB0eXBlOiBpdGVtLnR5cGV9KSkpIGlz
ICJbXSIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zl
ci1zZXQtZGF0YS1pZ25vcmUtY29waWVkLXdhbGZvcm1lZC11cmwtaW4tbnVsbC1vcmlnaW4tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXIt
c2V0LWRhdGEtaWdub3JlLWNvcGllZC13YWxmb3JtZWQtdXJsLWluLW51bGwtb3JpZ2luLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzFiYzMyZWI1YzBjYzRmZDA3
YTQ5ZmU3NzgwZDk3NTg0Zjk3ZTg0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zl
ci1zZXQtZGF0YS1pZ25vcmUtY29waWVkLXdhbGZvcm1lZC11cmwtaW4tbnVsbC1vcmlnaW4tZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVGhpcyB0ZXN0cyBjYWxs
aW5nIHNldERhdGEgd2l0aCBhIG1hbGZvcm1lZCBVUkwgaW4gYSBudWxsIG9yaWdpbiBkb2N1bWVu
dC4gVGhlIG1hbGZvcm1lZCB2YWx1ZSBzaG91bGQgbm90IGJlIHJlYWRhYmxlIGluIGFub3RoZXIg
ZG9jdW1lbnQKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdXJsUmVhZElu
U2FtZURvY3VtZW50IGlzICJoZWxsbywgd29ybGQiCi1QQVNTIEpTT04uc3RyaW5naWZ5KHR5cGVz
SW5TYW1lRG9jdW1lbnQpIGlzICJbXCJ0ZXh0L3VyaS1saXN0XCJdIgotUEFTUyBKU09OLnN0cmlu
Z2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAiW3tcImtpbmRcIjpcInN0cmluZ1wiLFwidHlw
ZVwiOlwidGV4dC91cmktbGlzdFwifV0iCi1QQVNTIGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0
YSgidXJsIikgaXMgIiIKLVBBU1MgSlNPTi5zdHJpbmdpZnkoZXZlbnQuY2xpcGJvYXJkRGF0YS50
eXBlcykgaXMgIltdIgotUEFTUyBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKGV2ZW50LmNsaXBi
b2FyZERhdGEuaXRlbXMpLm1hcCgoaXRlbSkgPT4gKHtraW5kOiBpdGVtLmtpbmQsIHR5cGU6IGl0
ZW0udHlwZX0pKSkgaXMgIltdIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLWlnbm9yZS1jb3BpZWQtd2FsZm9ybWVkLXVybC1pbi1u
dWxsLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJh
bnNmZXItc2V0LWRhdGEtaWdub3JlLWNvcGllZC13YWxmb3JtZWQtdXJsLWluLW51bGwtb3JpZ2lu
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4ZmRiOWNlYzdiNDlhZGM0OGJm
NTkxMjdkY2QyNmEzNTRmNDg2YWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXIt
c2V0LWRhdGEtaWdub3JlLWNvcGllZC13YWxmb3JtZWQtdXJsLWluLW51bGwtb3JpZ2luLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGJvZHk+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci0KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIGNhbGxpbmcgc2V0RGF0
YSB3aXRoIGEgbWFsZm9ybWVkIFVSTCBpbiBhIG51bGwgb3JpZ2luIGRvY3VtZW50LiBUaGUgbWFs
Zm9ybWVkIHZhbHVlIHNob3VsZCBub3QgYmUgcmVhZGFibGUgaW4gYW5vdGhlciBkb2N1bWVudCcp
OwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQodHJ1ZSk7Ci0K
LWNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotaWZyYW1lLnNyYyA9IGBkYXRhOnRleHQvaHRt
bDtjaGFyc2V0PXV0Zi04LDwhRE9DVFlQRSBodG1sPgotPGJ1dHRvbiBvbmNsaWNrPSJydW5UZXN0
KCkiPjEuIENvcHk8L2J1dHRvbj4KLTxkaXY+PGJyPjwvZGl2PgotPGRpdiBpZD0ic291cmNlIiBv
bmNvcHk9ImNvcHkoZXZlbnQpIiBjb250ZW50ZWRpdGFibGU+c29tZSB0ZXh0PC9kaXY+Ci08ZGl2
IGlkPSJkZXN0aW5hdGlvbiIgb25wYXN0ZT0icGFzdGUoZXZlbnQpIiBjb250ZW50ZWRpdGFibGU+
Mi4gUGFzdGUgaGVyZTwvZGl2PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gY29weShldmVudCkgewot
ICAgIGV2ZW50LmNsaXBib2FyZERhdGEuc2V0RGF0YSgndXJsJywgJ2hlbGxvLCB3b3JsZCcpOwot
ICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci19Ci0KLWZ1bmN0aW9uIHBhc3RlKGV2ZW50KSB7
Ci0gICAgcGFyZW50LnBvc3RNZXNzYWdlKHsKLSAgICAgICAgdXJsOiBldmVudC5jbGlwYm9hcmRE
YXRhLmdldERhdGEoJ3VybCcpLAotICAgICAgICB0eXBlczogZXZlbnQuY2xpcGJvYXJkRGF0YS50
eXBlcywKLSAgICAgICAgaXRlbXM6IEFycmF5LmZyb20oZXZlbnQuY2xpcGJvYXJkRGF0YS5pdGVt
cykubWFwKChpdGVtKSA9PiAoe2tpbmQ6IGl0ZW0ua2luZCwgdHlwZTogaXRlbS50eXBlfSkpLAot
ICAgIH0sICcqJyk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgZG9jdW1lbnQuYm9k
eS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
c291cmNlJykuZm9jdXMoKTsKLSAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnc2VsZWN0QWxsJyk7
Ci0gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTsKLSAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZGVzdGluYXRpb24nKS5mb2N1cygpOwotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3Bhc3RlJyk7Ci19Ci0KLWlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICBzZXRUaW1lb3V0KHJ1blRlc3QsIDEwKTsKLQotPC9zY3JpYCAr
ICdwdD4nOwotCi1vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKLSAgICB1cmxSZWFkSW5TYW1lRG9j
dW1lbnQgPSBldmVudC5kYXRhLnVybDsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3VybFJl
YWRJblNhbWVEb2N1bWVudCcsICdoZWxsbywgd29ybGQnKTsKLSAgICB0eXBlc0luU2FtZURvY3Vt
ZW50ID0gZXZlbnQuZGF0YS50eXBlczsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0pTT04u
c3RyaW5naWZ5KHR5cGVzSW5TYW1lRG9jdW1lbnQpJywgJ1sidGV4dC91cmktbGlzdCJdJyk7Ci0g
ICAgaXRlbXNJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEuaXRlbXM7Ci0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KScsICdbeyJr
aW5kIjoic3RyaW5nIiwidHlwZSI6InRleHQvdXJpLWxpc3QifV0nKTsKLSAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZGVzdGluYXRpb24nKS5mb2N1cygpOwotICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3Bhc3RlJyk7Ci19Ci0KLWZ1
bmN0aW9uIGRvUGFzdGUoZXZlbnQpIHsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50
LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidXJsIiknLCAnJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdKU09OLnN0cmluZ2lmeShldmVudC5jbGlwYm9hcmREYXRhLnR5cGVzKScsICdbXScp
OwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbShl
dmVudC5jbGlwYm9hcmREYXRhLml0ZW1zKS5tYXAoKGl0ZW0pID0+ICh7a2luZDogaXRlbS5raW5k
LCB0eXBlOiBpdGVtLnR5cGV9KSkpJywgJ1tdJyk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2Rlc3RpbmF0aW9uJykucmVtb3ZlKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLTwv
c2NyaXB0PgotPGRpdiBpZD0iZGVzdGluYXRpb24iIG9ucGFzdGU9ImRvUGFzdGUoZXZlbnQpIiBj
b250ZW50ZWRpdGFibGU+My4gUGFzdGUgaGVyZTwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0
LWRhdGEtc2FuaXRpemUtdXJsLXdoZW4tY29weWluZy1pbi1udWxsLW9yaWdpbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0
YS1zYW5pdGl6ZS11cmwtd2hlbi1jb3B5aW5nLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jM2EwODc3NTRjMzE4NTEwNGVjZmU4N2ZiYjBkMWY5OTU2Y2VlMTA3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNm
ZXItc2V0LWRhdGEtc2FuaXRpemUtdXJsLXdoZW4tY29weWluZy1pbi1udWxsLW9yaWdpbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGhpcyB0ZXN0cyBjYWxsaW5nIHNldERhdGEgd2l0
aCBhIG1hbGZvcm1lZCBVUkwgaW4gYSBudWxsIG9yaWdpbiBkb2N1bWVudC4gVGhlIG1hbGZvcm1l
ZCB2YWx1ZSBzaG91bGQgbm90IGJlIHJlYWRhYmxlIGluIGFub3RoZXIgZG9jdW1lbnQKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdXJsUmVhZEluU2FtZURvY3VtZW50IGlz
ICJodHRwOi8vd2Via2l0Lm9yZy9iL/CfpJQ/eD04ICsgNjwiCitQQVNTIGh0bWxSZWFkSW5TYW1l
RG9jdW1lbnQgaXMgInRlc3RpbmciCitQQVNTIEpTT04uc3RyaW5naWZ5KHR5cGVzSW5TYW1lRG9j
dW1lbnQpIGlzICJbXCJ0ZXh0L3VyaS1saXN0XCIsXCJ0ZXh0L2h0bWxcIl0iCitQQVNTIEpTT04u
c3RyaW5naWZ5KGl0ZW1zSW5TYW1lRG9jdW1lbnQpIGlzICJbe1wia2luZFwiOlwic3RyaW5nXCIs
XCJ0eXBlXCI6XCJ0ZXh0L3VyaS1saXN0XCJ9LHtcImtpbmRcIjpcInN0cmluZ1wiLFwidHlwZVwi
OlwidGV4dC9odG1sXCJ9XSIKK1BBU1MgZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ1cmwi
KSBpcyAiaHR0cDovL3dlYmtpdC5vcmcvYi8lRjAlOUYlQTQlOTQ/eD04JTIwKyUyMDYlM0MiCitQ
QVNTIEpTT04uc3RyaW5naWZ5KGV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMpIGlzICJbXCJ0ZXh0
L3VyaS1saXN0XCIsXCJ0ZXh0L2h0bWxcIl0iCitQQVNTIEpTT04uc3RyaW5naWZ5KEFycmF5LmZy
b20oZXZlbnQuY2xpcGJvYXJkRGF0YS5pdGVtcykubWFwKChpdGVtKSA9PiAoe2tpbmQ6IGl0ZW0u
a2luZCwgdHlwZTogaXRlbS50eXBlfSkpKSBpcyAiW3tcImtpbmRcIjpcInN0cmluZ1wiLFwidHlw
ZVwiOlwidGV4dC91cmktbGlzdFwifSx7XCJraW5kXCI6XCJzdHJpbmdcIixcInR5cGVcIjpcInRl
eHQvaHRtbFwifV0iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEt
dHJhbnNmZXItc2V0LWRhdGEtc2FuaXRpemUtdXJsLXdoZW4tY29weWluZy1pbi1udWxsLW9yaWdp
bi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0
LWRhdGEtc2FuaXRpemUtdXJsLXdoZW4tY29weWluZy1pbi1udWxsLW9yaWdpbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjAwMzY4YTRlNWUzYzZiOTY1YTdmZTIxMGZhZTQwMGE4NDZhYzgwZGQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1z
ZXQtZGF0YS1zYW5pdGl6ZS11cmwtd2hlbi1jb3B5aW5nLWluLW51bGwtb3JpZ2luLmh0bWwKQEAg
LTAsMCArMSw4MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBjYWxsaW5nIHNldERhdGEgd2l0aCBhIG1hbGZvcm1l
ZCBVUkwgaW4gYSBudWxsIG9yaWdpbiBkb2N1bWVudC4gVGhlIG1hbGZvcm1lZCB2YWx1ZSBzaG91
bGQgbm90IGJlIHJlYWRhYmxlIGluIGFub3RoZXIgZG9jdW1lbnQnKTsKK2pzVGVzdElzQXN5bmMg
PSB0cnVlOworCitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKHRydWUpOworCitjb25zdCBpZnJhbWUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaWZyYW1lKTsKK2lmcmFtZS5zcmMgPSBgZGF0YTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCw8
IURPQ1RZUEUgaHRtbD4KKzxidXR0b24gb25jbGljaz0icnVuVGVzdCgpIj4xLiBDb3B5PC9idXR0
b24+Cis8ZGl2Pjxicj48L2Rpdj4KKzxkaXYgaWQ9InNvdXJjZSIgb25jb3B5PSJjb3B5KGV2ZW50
KSIgY29udGVudGVkaXRhYmxlPmh0dHA6Ly93ZWJraXQub3JnL2IvJiN4MUY5MTQ7P3g9OCArIDY8
PC9kaXY+Cis8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgb25wYXN0ZT0icGFzdGUoZXZlbnQpIiBjb250
ZW50ZWRpdGFibGU+Mi4gUGFzdGUgaGVyZTwvZGl2PgorPHNjcmlwdD4KKworY29uc3Qgb3JpZ2lu
YWxVUkwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc291cmNlJykudGV4dENvbnRlbnQ7Citm
dW5jdGlvbiBjb3B5KGV2ZW50KSB7CisgICAgZXZlbnQuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCd1
cmwnLCBvcmlnaW5hbFVSTCk7CisgICAgZXZlbnQuY2xpcGJvYXJkRGF0YS5zZXREYXRhKCd0ZXh0
L2h0bWwnLCAndGVzdGluZycpOworICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cit9CisKK2Z1
bmN0aW9uIHBhc3RlKGV2ZW50KSB7CisgICAgcGFyZW50LnBvc3RNZXNzYWdlKHsKKyAgICAgICAg
b3JpZ2luYWxVUkwsCisgICAgICAgIHVybDogZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd1
cmwnKSwKKyAgICAgICAgaHRtbDogZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L2h0
bWwnKSwKKyAgICAgICAgdHlwZXM6IGV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMsCisgICAgICAg
IGl0ZW1zOiBBcnJheS5mcm9tKGV2ZW50LmNsaXBib2FyZERhdGEuaXRlbXMpLm1hcCgoaXRlbSkg
PT4gKHtraW5kOiBpdGVtLmtpbmQsIHR5cGU6IGl0ZW0udHlwZX0pKSwKKyAgICB9LCAnKicpOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NvdXJjZScpLmZvY3Vz
KCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3NlbGVjdEFsbCcpOworICAgIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCdjb3B5Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rlc3Rp
bmF0aW9uJykuZm9jdXMoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdwYXN0ZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgcnVuVGVzdCgpOworCis8L3NjcmlgICsgJ3B0Pic7CisKK29ubWVzc2FnZSA9IChldmVu
dCkgPT4geworICAgIG9yaWdpbmFsVVJMID0gZXZlbnQuZGF0YS5vcmlnaW5hbFVSTDsKKyAgICB1
cmxSZWFkSW5TYW1lRG9jdW1lbnQgPSBldmVudC5kYXRhLnVybDsKKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3VybFJlYWRJblNhbWVEb2N1bWVudCcsIG9yaWdpbmFsVVJMKTsKKyAgICBodG1s
UmVhZEluU2FtZURvY3VtZW50ID0gZXZlbnQuZGF0YS5odG1sOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnaHRtbFJlYWRJblNhbWVEb2N1bWVudCcsICJ0ZXN0aW5nIik7CisgICAgdHlwZXNJ
blNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEudHlwZXM7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdKU09OLnN0cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50KScsICdbInRleHQvdXJpLWxp
c3QiLCJ0ZXh0L2h0bWwiXScpOworICAgIGl0ZW1zSW5TYW1lRG9jdW1lbnQgPSBldmVudC5kYXRh
Lml0ZW1zOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnkoaXRlbXNJ
blNhbWVEb2N1bWVudCknLCAnW3sia2luZCI6InN0cmluZyIsInR5cGUiOiJ0ZXh0L3VyaS1saXN0
In0seyJraW5kIjoic3RyaW5nIiwidHlwZSI6InRleHQvaHRtbCJ9XScpOworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdkZXN0aW5hdGlvbicpLmZvY3VzKCk7CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgncGFzdGUnKTsKK30KKwor
ZnVuY3Rpb24gZG9QYXN0ZShldmVudCkgeworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZl
bnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ1cmwiKScsIChuZXcgVVJMKG9yaWdpbmFsVVJMKSku
aHJlZik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShldmVudC5j
bGlwYm9hcmREYXRhLnR5cGVzKScsICdbInRleHQvdXJpLWxpc3QiLCJ0ZXh0L2h0bWwiXScpOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbShldmVu
dC5jbGlwYm9hcmREYXRhLml0ZW1zKS5tYXAoKGl0ZW0pID0+ICh7a2luZDogaXRlbS5raW5kLCB0
eXBlOiBpdGVtLnR5cGV9KSkpJywKKyAgICAgICAgJ1t7ImtpbmQiOiJzdHJpbmciLCJ0eXBlIjoi
dGV4dC91cmktbGlzdCJ9LHsia2luZCI6InN0cmluZyIsInR5cGUiOiJ0ZXh0L2h0bWwifV0nKTsK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzdGluYXRpb24nKS5yZW1vdmUoKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworPC9zY3JpcHQ+Cis8ZGl2IGlkPSJkZXN0aW5hdGlvbiIg
b25wYXN0ZT0iZG9QYXN0ZShldmVudCkiIGNvbnRlbnRlZGl0YWJsZT4zLiBQYXN0ZSBoZXJlPC9k
aXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1zYW5pdGl6ZS11cmwtd2hlbi1kcmFnZ2lu
Zy1pbi1udWxsLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1zYW5pdGl6ZS11cmwtd2hlbi1kcmFnZ2luZy1p
bi1udWxsLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQzZTExOGFmMDY3NDEyMDk3
NTczNmFlNDM2ZDRhYzExOWI1Y2NjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0aXplLXVybC13aGVu
LWRyYWdnaW5nLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ0IEBACitU
aGlzIHRlc3RzIGNhbGxpbmcgc2V0RGF0YSB0byBzZXQgYSBVUkwgaW4gYSBudWxsIG9yaWdpbiBk
b2N1bWVudC4gVGhlIFVSTCBzaG91bGQgYmUgc2FuaXRpemVkIHdoZW4gcmVhZGluZyBpbiBhbm90
aGVyIGRvY3VtZW50LgorVG8gbWFudWFsbHkgdGVzdCwgZHJhZyBhbmQgZHJvcCB0aGUgIjEuIERy
YWcgdGhpcyIgYWJvdmUgdG8gIjIuIERyb3AgaGVyZSIgYW5kICIzLiBEcm9wIGhlcmUiLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK2RyYWdzdGFydCBpbiB0aGUgbnVsbCBvcmlnaW4g
ZG9jdW1lbnQ6CitQQVNTIHVybFJlYWRJblNhbWVEb2N1bWVudCBpcyAiaHR0cDovL3dlYmtpdC5v
cmcvYi/wn6SUP3g9OCArIDYiCitQQVNTIGh0bWxSZWFkSW5TYW1lRG9jdW1lbnQgaXMgInRlc3Rp
bmciCitQQVNTIEpTT04uc3RyaW5naWZ5KHR5cGVzSW5TYW1lRG9jdW1lbnQpIGlzICJbXCJ0ZXh0
L3VyaS1saXN0XCIsXCJ0ZXh0L2h0bWxcIl0iCitQQVNTIEpTT04uc3RyaW5naWZ5KGl0ZW1zSW5T
YW1lRG9jdW1lbnQpIGlzICJbe1wia2luZFwiOlwic3RyaW5nXCIsXCJ0eXBlXCI6XCJ0ZXh0L3Vy
aS1saXN0XCJ9LHtcImtpbmRcIjpcInN0cmluZ1wiLFwidHlwZVwiOlwidGV4dC9odG1sXCJ9XSIK
KworZHJhZ292ZXIgaW4gdGhlIG51bGwgb3JpZ2luIGRvY3VtZW50OgorUEFTUyB1cmxSZWFkSW5T
YW1lRG9jdW1lbnQgaXMgIiIKK1BBU1MgaHRtbFJlYWRJblNhbWVEb2N1bWVudCBpcyAiIgorUEFT
UyBKU09OLnN0cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50KSBpcyAiW1widGV4dC91cmktbGlz
dFwiLFwidGV4dC9odG1sXCJdIgorUEFTUyBKU09OLnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3Vt
ZW50KSBpcyAiW3tcImtpbmRcIjpcInN0cmluZ1wiLFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwi
fSx7XCJraW5kXCI6XCJzdHJpbmdcIixcInR5cGVcIjpcInRleHQvaHRtbFwifV0iCisKK2Ryb3Ag
aW4gdGhlIG51bGwgb3JpZ2luIGRvY3VtZW50OgorUEFTUyB1cmxSZWFkSW5TYW1lRG9jdW1lbnQg
aXMgImh0dHA6Ly93ZWJraXQub3JnL2Iv8J+klD94PTggKyA2IgorUEFTUyBodG1sUmVhZEluU2Ft
ZURvY3VtZW50IGlzICJ0ZXN0aW5nIgorUEFTUyBKU09OLnN0cmluZ2lmeSh0eXBlc0luU2FtZURv
Y3VtZW50KSBpcyAiW1widGV4dC91cmktbGlzdFwiLFwidGV4dC9odG1sXCJdIgorUEFTUyBKU09O
LnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAiW3tcImtpbmRcIjpcInN0cmluZ1wi
LFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwifSx7XCJraW5kXCI6XCJzdHJpbmdcIixcInR5cGVc
IjpcInRleHQvaHRtbFwifV0iCisKK2RyYWdzdGFydCBpbiB0aGUgbnVsbCBvcmlnaW4gZG9jdW1l
bnQ6CitQQVNTIHVybFJlYWRJblNhbWVEb2N1bWVudCBpcyAiaHR0cDovL3dlYmtpdC5vcmcvYi/w
n6SUP3g9OCArIDYiCitQQVNTIGh0bWxSZWFkSW5TYW1lRG9jdW1lbnQgaXMgInRlc3RpbmciCitQ
QVNTIEpTT04uc3RyaW5naWZ5KHR5cGVzSW5TYW1lRG9jdW1lbnQpIGlzICJbXCJ0ZXh0L3VyaS1s
aXN0XCIsXCJ0ZXh0L2h0bWxcIl0iCitQQVNTIEpTT04uc3RyaW5naWZ5KGl0ZW1zSW5TYW1lRG9j
dW1lbnQpIGlzICJbe1wia2luZFwiOlwic3RyaW5nXCIsXCJ0eXBlXCI6XCJ0ZXh0L3VyaS1saXN0
XCJ9LHtcImtpbmRcIjpcInN0cmluZ1wiLFwidHlwZVwiOlwidGV4dC9odG1sXCJ9XSIKKworZHJh
Z292ZXIgaW4gdGhlIGZpbGUgVVJMIGRvY3VtZW50OgorUEFTUyB1cmxSZWFkSW5TYW1lRG9jdW1l
bnQgaXMgIiIKK1BBU1MgaHRtbFJlYWRJblNhbWVEb2N1bWVudCBpcyAiIgorUEFTUyBKU09OLnN0
cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50KSBpcyAiW1widGV4dC91cmktbGlzdFwiLFwidGV4
dC9odG1sXCJdIgorUEFTUyBKU09OLnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAi
W3tcImtpbmRcIjpcInN0cmluZ1wiLFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwifSx7XCJraW5k
XCI6XCJzdHJpbmdcIixcInR5cGVcIjpcInRleHQvaHRtbFwifV0iCisKK2Ryb3AgaW4gdGhlIGZp
bGUgVVJMIGRvY3VtZW50OgorUEFTUyB1cmxSZWFkSW5TYW1lRG9jdW1lbnQgaXMgImh0dHA6Ly93
ZWJraXQub3JnL2IvJUYwJTlGJUE0JTk0P3g9OCUyMCslMjA2IgorUEFTUyBodG1sUmVhZEluU2Ft
ZURvY3VtZW50IGlzICJ0ZXN0aW5nIgorUEFTUyBKU09OLnN0cmluZ2lmeSh0eXBlc0luU2FtZURv
Y3VtZW50KSBpcyAiW1widGV4dC91cmktbGlzdFwiLFwidGV4dC9odG1sXCJdIgorUEFTUyBKU09O
LnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAiW3tcImtpbmRcIjpcInN0cmluZ1wi
LFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwifSx7XCJraW5kXCI6XCJzdHJpbmdcIixcInR5cGVc
IjpcInRleHQvaHRtbFwifV0iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtc2FuaXRpemUtdXJsLXdoZW4tZHJhZ2dpbmctaW4tbnVs
bC1vcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5z
ZmVyLXNldC1kYXRhLXNhbml0aXplLXVybC13aGVuLWRyYWdnaW5nLWluLW51bGwtb3JpZ2luLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzAwYzk1ZGZiYmZmNWJkMjI0NjRiM2VkNDAzMzhkMjY2MGJiNDJkNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRy
YW5zZmVyLXNldC1kYXRhLXNhbml0aXplLXVybC13aGVuLWRyYWdnaW5nLWluLW51bGwtb3JpZ2lu
Lmh0bWwKQEAgLTAsMCArMSwxNjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4K
KzxkaXYgaWQ9ImNvbnRhaW5lciI+Cis8ZGl2IGlkPSJkZXN0aW5hdGlvbiI+My4gRHJvcCBoZXJl
PC9kaXY+Cis8L2Rpdj4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBjYWxsaW5n
IHNldERhdGEgdG8gc2V0IGEgVVJMIGluIGEgbnVsbCBvcmlnaW4gZG9jdW1lbnQuIFRoZSBVUkwg
c2hvdWxkIGJlIHNhbml0aXplZCB3aGVuIHJlYWRpbmcgaW4gYW5vdGhlciBkb2N1bWVudC48YnI+
JworICAgICsgJ1RvIG1hbnVhbGx5IHRlc3QsIGRyYWcgYW5kIGRyb3AgdGhlICIxLiBEcmFnIHRo
aXMiIGFib3ZlIHRvICIyLiBEcm9wIGhlcmUiIGFuZCAiMy4gRHJvcCBoZXJlIi4nKTsKK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKHRydWUpOworCitjb25zdCBp
ZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKK2NvbnN0IGRlc3RpbmF0
aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rlc3RpbmF0aW9uJyk7Citkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykucHJlcGVuZChpZnJhbWUpOworCitpZnJhbWUuc3Jj
ID0gYGRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9dXRmLTgsPCFET0NUWVBFIGh0bWw+Cis8ZGl2IGlk
PSJzb3VyY2UiIGRyYWdnYWJsZT0idHJ1ZSIgZGF0YS12YWx1ZT0iaHR0cDovL3dlYmtpdC5vcmcv
Yi8mI3gxRjkxNDs/eD04ICsgNiI+MS4gRHJhZyB0aGlzPC9kaXY+Cis8ZGl2IGlkPSJkZXN0aW5h
dGlvbiIgb25wYXN0ZT0icGFzdGUoZXZlbnQpIj4yLiBEcm9wIGhlcmU8L2Rpdj4KKzxzY3JpcHQ+
CisKK2NvbnN0IHNvdXJjZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzb3VyY2UnKTsKK2Nv
bnN0IGRlc3RpbmF0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rlc3RpbmF0aW9uJyk7
Citjb25zdCBvcmlnaW5hbFVSTCA9IHNvdXJjZS5kYXRhc2V0LnZhbHVlOworcGFyZW50LnBvc3RN
ZXNzYWdlKHtraW5kOiAnb3JpZ2luYWxVUkwnLCBvcmlnaW5hbFVSTH0sICcqJyk7CisKK2Z1bmN0
aW9uIHBvc3RDb250ZW50KGtpbmQsIGRhdGFUcmFuc2ZlcikgeworICAgIHBhcmVudC5wb3N0TWVz
c2FnZSh7CisgICAgICAgIGtpbmQsCisgICAgICAgIGRvY3VtZW50TGFiZWw6ICd0aGUgbnVsbCBv
cmlnaW4gZG9jdW1lbnQnLAorICAgICAgICB1cmw6IGRhdGFUcmFuc2Zlci5nZXREYXRhKCd1cmwn
KSwKKyAgICAgICAgaHRtbDogZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQvaHRtbCcpLAorICAg
ICAgICB0eXBlczogZGF0YVRyYW5zZmVyLnR5cGVzLAorICAgICAgICBpdGVtczogQXJyYXkuZnJv
bShkYXRhVHJhbnNmZXIuaXRlbXMpLm1hcCgoaXRlbSkgPT4gKHtraW5kOiBpdGVtLmtpbmQsIHR5
cGU6IGl0ZW0udHlwZX0pKSwKKyAgICB9LCAnKicpOworfQorCitsZXQgcG9zdERyYWdPdmVyOwor
c291cmNlLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdzdGFydCIsIChldmVudCkgPT4geworICAgIHBv
c3REcmFnT3ZlciA9IGZhbHNlOworICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd1cmwn
LCBvcmlnaW5hbFVSTCk7CisgICAgZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoJ3RleHQvaHRt
bCcsICd0ZXN0aW5nJyk7CisgICAgcG9zdENvbnRlbnQoJ2RyYWdzdGFydCcsIGV2ZW50LmRhdGFU
cmFuc2Zlcik7Cit9KTsKK2Rlc3RpbmF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIiwg
KGV2ZW50KSA9PiB7CisgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICBpZiAocG9zdERy
YWdPdmVyKQorICAgICAgICByZXR1cm47CisgICAgcG9zdERyYWdPdmVyID0gdHJ1ZTsKKyAgICBw
b3N0Q29udGVudCgnZHJhZ292ZXInLCBldmVudC5kYXRhVHJhbnNmZXIpOworfSk7CitkZXN0aW5h
dGlvbi5hZGRFdmVudExpc3RlbmVyKCJkcm9wIiwgKGV2ZW50KSA9PiB7CisgICAgcG9zdENvbnRl
bnQoJ2Ryb3AnLCBldmVudC5kYXRhVHJhbnNmZXIpOworICAgIGRlc3RpbmF0aW9uLnJlbW92ZSgp
OworICAgIHRvcC5wb3N0TWVzc2FnZSh7a2luZDogJ3NlY29uZERyb3AnfSwgJyonKTsKK30pOwor
CitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgY29uc3QgaWZyYW1lT2Zmc2V0ID0ge3g6
IDEwLCB5OiAxMH07CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oaWZyYW1lT2Zmc2V0Lngg
KyBzb3VyY2Uub2Zmc2V0TGVmdCArIDUsIGlmcmFtZU9mZnNldC55ICsgc291cmNlLm9mZnNldFRv
cCArIDUpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLmxl
YXBGb3J3YXJkKDUwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oaWZyYW1lT2Zmc2V0
LnggKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNSwgaWZyYW1lT2Zmc2V0LnkgKyBkZXN0aW5h
dGlvbi5vZmZzZXRUb3AgKyA1KTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cit9CisKKzwv
c2NyaWAgKyAncHQ+JzsKKworb25tZXNzYWdlID0gKGV2ZW50KSA9PiB7CisgICAgY29uc3Qga2lu
ZCA9IGV2ZW50LmRhdGEua2luZDsKKyAgICBpZiAoa2luZCA9PSAnb3JpZ2luYWxVUkwnKSB7Cisg
ICAgICAgIG9yaWdpbmFsVVJMID0gZXZlbnQuZGF0YS5vcmlnaW5hbFVSTDsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBpZiAoa2luZCA9PSAnc2Vjb25kRHJvcCcpCisgICAgICAgIHJldHVy
biBkb1NlY29uZERyb3AoZXZlbnQuZGF0YS5wb3N0Q29udGVudCk7CisgICAgZGVidWcoYCR7a2lu
ZH0gaW4gJHtldmVudC5kYXRhLmRvY3VtZW50TGFiZWx9OmApOworICAgIHN3aXRjaCAoa2luZCkg
eworICAgIGNhc2UgJ2RyYWdzdGFydCc6CisgICAgICAgIHVybFJlYWRJblNhbWVEb2N1bWVudCA9
IGV2ZW50LmRhdGEudXJsOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3VybFJlYWRJ
blNhbWVEb2N1bWVudCcsIG9yaWdpbmFsVVJMKTsKKyAgICAgICAgaHRtbFJlYWRJblNhbWVEb2N1
bWVudCA9IGV2ZW50LmRhdGEuaHRtbDsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdo
dG1sUmVhZEluU2FtZURvY3VtZW50JywgInRlc3RpbmciKTsKKyAgICAgICAgdHlwZXNJblNhbWVE
b2N1bWVudCA9IGV2ZW50LmRhdGEudHlwZXM7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnSlNPTi5zdHJpbmdpZnkodHlwZXNJblNhbWVEb2N1bWVudCknLCAnWyJ0ZXh0L3VyaS1saXN0
IiwidGV4dC9odG1sIl0nKTsKKyAgICAgICAgaXRlbXNJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRh
dGEuaXRlbXM7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnko
aXRlbXNJblNhbWVEb2N1bWVudCknLCAnW3sia2luZCI6InN0cmluZyIsInR5cGUiOiJ0ZXh0L3Vy
aS1saXN0In0seyJraW5kIjoic3RyaW5nIiwidHlwZSI6InRleHQvaHRtbCJ9XScpOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlICdkcmFnb3Zlcic6CisgICAgICAgIHVybFJlYWRJblNhbWVEb2N1
bWVudCA9IGV2ZW50LmRhdGEudXJsOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Vy
bFJlYWRJblNhbWVEb2N1bWVudCcsICcnKTsKKyAgICAgICAgaHRtbFJlYWRJblNhbWVEb2N1bWVu
dCA9IGV2ZW50LmRhdGEuaHRtbDsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdodG1s
UmVhZEluU2FtZURvY3VtZW50JywgJycpOworICAgICAgICB0eXBlc0luU2FtZURvY3VtZW50ID0g
ZXZlbnQuZGF0YS50eXBlczsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0
cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50KScsICdbInRleHQvdXJpLWxpc3QiLCJ0ZXh0L2h0
bWwiXScpOworICAgICAgICBpdGVtc0luU2FtZURvY3VtZW50ID0gZXZlbnQuZGF0YS5pdGVtczsK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShpdGVtc0luU2Ft
ZURvY3VtZW50KScsICdbeyJraW5kIjoic3RyaW5nIiwidHlwZSI6InRleHQvdXJpLWxpc3QifSx7
ImtpbmQiOiJzdHJpbmciLCJ0eXBlIjoidGV4dC9odG1sIn1dJyk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgJ2Ryb3AnOgorICAgICAgICB1cmxSZWFkSW5TYW1lRG9jdW1lbnQgPSBldmVudC5k
YXRhLnVybDsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd1cmxSZWFkSW5TYW1lRG9j
dW1lbnQnLCBldmVudC5kYXRhLmRvY3VtZW50TGFiZWwuaW5jbHVkZXMoJ251bGwnKSA/IG9yaWdp
bmFsVVJMIDogKG5ldyBVUkwob3JpZ2luYWxVUkwpKS5ocmVmKTsKKyAgICAgICAgaHRtbFJlYWRJ
blNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEuaHRtbDsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdodG1sUmVhZEluU2FtZURvY3VtZW50JywgInRlc3RpbmciKTsKKyAgICAgICAgdHlw
ZXNJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEudHlwZXM7CisgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnkodHlwZXNJblNhbWVEb2N1bWVudCknLCAnWyJ0ZXh0
L3VyaS1saXN0IiwidGV4dC9odG1sIl0nKTsKKyAgICAgICAgaXRlbXNJblNhbWVEb2N1bWVudCA9
IGV2ZW50LmRhdGEuaXRlbXM7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5z
dHJpbmdpZnkoaXRlbXNJblNhbWVEb2N1bWVudCknLCAnW3sia2luZCI6InN0cmluZyIsInR5cGUi
OiJ0ZXh0L3VyaS1saXN0In0seyJraW5kIjoic3RyaW5nIiwidHlwZSI6InRleHQvaHRtbCJ9XScp
OworICAgICAgICBpZiAoIWV2ZW50LmRhdGEuZG9jdW1lbnRMYWJlbC5pbmNsdWRlcygnbnVsbCcp
KSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykucmVt
b3ZlKCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICB9CisgICAgZGVidWcoJycpOworfQorCitmdW5jdGlvbiBwb3N0Q29udGVudChr
aW5kLCBkYXRhVHJhbnNmZXIpIHsKKyAgICB3aW5kb3cucG9zdE1lc3NhZ2UoeworICAgICAgICBr
aW5kLAorICAgICAgICBkb2N1bWVudExhYmVsOiAndGhlIGZpbGUgVVJMIGRvY3VtZW50JywKKyAg
ICAgICAgdXJsOiBkYXRhVHJhbnNmZXIuZ2V0RGF0YSgndXJsJyksCisgICAgICAgIGh0bWw6IGRh
dGFUcmFuc2Zlci5nZXREYXRhKCd0ZXh0L2h0bWwnKSwKKyAgICAgICAgdHlwZXM6IGRhdGFUcmFu
c2Zlci50eXBlcywKKyAgICAgICAgaXRlbXM6IEFycmF5LmZyb20oZGF0YVRyYW5zZmVyLml0ZW1z
KS5tYXAoKGl0ZW0pID0+ICh7a2luZDogaXRlbS5raW5kLCB0eXBlOiBpdGVtLnR5cGV9KSksCisg
ICAgfSwgJyonKTsKK30KKworbGV0IHBvc3REcmFnT3ZlciA9IGZhbHNlOworZGVzdGluYXRpb24u
YWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLCAoZXZlbnQpID0+IHsKKyAgICBldmVudC5wcmV2
ZW50RGVmYXVsdCgpOworICAgIGlmIChwb3N0RHJhZ092ZXIpCisgICAgICAgIHJldHVybjsKKyAg
ICBwb3N0RHJhZ092ZXIgPSB0cnVlOworICAgIHBvc3RDb250ZW50KCdkcmFnb3ZlcicsIGV2ZW50
LmRhdGFUcmFuc2Zlcik7Cit9KTsKK2Rlc3RpbmF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoImRyb3Ai
LCAoZXZlbnQpID0+IHsKKyAgICBwb3N0Q29udGVudCgnZHJvcCcsIGV2ZW50LmRhdGFUcmFuc2Zl
cik7Cit9KTsKKworZnVuY3Rpb24gZG9TZWNvbmREcm9wKHBvc3RDb250ZW50KSB7CisgICAgcG9z
dERyYWdPdmVyID0gZmFsc2U7CisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgICAg
IHJldHVybjsKKworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDUwMCk7CisgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oaWZyYW1lLm9mZnNldExlZnQgKyAxMCwgaWZyYW1lLm9mZnNldFRv
cCArIDEwKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5s
ZWFwRm9yd2FyZCg1MDApOworCisgICAgY29uc3QgZGVzdGluYXRpb25SZWN0ID0gZGVzdGluYXRp
b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
ZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDUsIGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIDUpOwor
ICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK30KKworc2V0VGltZW91dChmaW5pc2hKU1Rlc3Qs
IDMwMDApOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0bGl6
ZS11cmwtd2hlbi1jb3B5aW5nLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0bGl6ZS11
cmwtd2hlbi1jb3B5aW5nLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNmYxMWQ1ZWUwNmZjYTU5Zjc4ZWZlOWEyZDIyMjI0OTBlMmQzM2M4
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1zZXQtZGF0YS1zYW5pdGxpemUt
dXJsLXdoZW4tY29weWluZy1pbi1udWxsLW9yaWdpbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxNSArMCwwIEBACi1UaGlzIHRlc3RzIGNhbGxpbmcgc2V0RGF0YSB3aXRoIGEgbWFs
Zm9ybWVkIFVSTCBpbiBhIG51bGwgb3JpZ2luIGRvY3VtZW50LiBUaGUgbWFsZm9ybWVkIHZhbHVl
IHNob3VsZCBub3QgYmUgcmVhZGFibGUgaW4gYW5vdGhlciBkb2N1bWVudAotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB1cmxSZWFkSW5TYW1lRG9jdW1lbnQgaXMgImh0dHA6
Ly93ZWJraXQub3JnL2Iv8J+klD94PTggKyA2PCIKLVBBU1MgSlNPTi5zdHJpbmdpZnkodHlwZXNJ
blNhbWVEb2N1bWVudCkgaXMgIltcInRleHQvdXJpLWxpc3RcIl0iCi1QQVNTIEpTT04uc3RyaW5n
aWZ5KGl0ZW1zSW5TYW1lRG9jdW1lbnQpIGlzICJbe1wia2luZFwiOlwic3RyaW5nXCIsXCJ0eXBl
XCI6XCJ0ZXh0L3VyaS1saXN0XCJ9XSIKLVBBU1MgZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRh
KCJ1cmwiKSBpcyAiaHR0cDovL3dlYmtpdC5vcmcvYi8lRjAlOUYlQTQlOTQ/eD04JTIwKyUyMDYl
M0MiCi1QQVNTIEpTT04uc3RyaW5naWZ5KGV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMpIGlzICJb
XCJ0ZXh0L3VyaS1saXN0XCJdIgotUEFTUyBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKGV2ZW50
LmNsaXBib2FyZERhdGEuaXRlbXMpLm1hcCgoaXRlbSkgPT4gKHtraW5kOiBpdGVtLmtpbmQsIHR5
cGU6IGl0ZW0udHlwZX0pKSkgaXMgIlt7XCJraW5kXCI6XCJzdHJpbmdcIixcInR5cGVcIjpcInRl
eHQvdXJpLWxpc3RcIn1dIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9k
YXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0bGl6ZS11cmwtd2hlbi1jb3B5aW5nLWluLW51bGwt
b3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zl
ci1zZXQtZGF0YS1zYW5pdGxpemUtdXJsLXdoZW4tY29weWluZy1pbi1udWxsLW9yaWdpbi5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODY3NjMwNzMwZmM2ODlhMDIxNzk2NTQ5
Njg1Mjc1ZmM5ZWJmODc3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1k
YXRhLXNhbml0bGl6ZS11cmwtd2hlbi1jb3B5aW5nLWluLW51bGwtb3JpZ2luLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIGNhbGxpbmcgc2V0RGF0YSB3aXRo
IGEgbWFsZm9ybWVkIFVSTCBpbiBhIG51bGwgb3JpZ2luIGRvY3VtZW50LiBUaGUgbWFsZm9ybWVk
IHZhbHVlIHNob3VsZCBub3QgYmUgcmVhZGFibGUgaW4gYW5vdGhlciBkb2N1bWVudCcpOwotanNU
ZXN0SXNBc3luYyA9IHRydWU7Ci0KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQodHJ1ZSk7Ci0KLWNvbnN0
IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwotZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChpZnJhbWUpOwotaWZyYW1lLnNyYyA9IGBkYXRhOnRleHQvaHRtbDtjaGFy
c2V0PXV0Zi04LDwhRE9DVFlQRSBodG1sPgotPGJ1dHRvbiBvbmNsaWNrPSJydW5UZXN0KCkiPjEu
IENvcHk8L2J1dHRvbj4KLTxkaXY+PGJyPjwvZGl2PgotPGRpdiBpZD0ic291cmNlIiBvbmNvcHk9
ImNvcHkoZXZlbnQpIiBjb250ZW50ZWRpdGFibGU+aHR0cDovL3dlYmtpdC5vcmcvYi8mI3gxRjkx
NDs/eD04ICsgNjw8L2Rpdj4KLTxkaXYgaWQ9ImRlc3RpbmF0aW9uIiBvbnBhc3RlPSJwYXN0ZShl
dmVudCkiIGNvbnRlbnRlZGl0YWJsZT4yLiBQYXN0ZSBoZXJlPC9kaXY+Ci08c2NyaXB0PgotCi1j
b25zdCBvcmlnaW5hbFVSTCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzb3VyY2UnKS50ZXh0
Q29udGVudDsKLWZ1bmN0aW9uIGNvcHkoZXZlbnQpIHsKLSAgICBldmVudC5jbGlwYm9hcmREYXRh
LnNldERhdGEoJ3VybCcsIG9yaWdpbmFsVVJMKTsKLSAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgp
OwotfQotCi1mdW5jdGlvbiBwYXN0ZShldmVudCkgewotICAgIHBhcmVudC5wb3N0TWVzc2FnZSh7
Ci0gICAgICAgIG9yaWdpbmFsVVJMLAotICAgICAgICB1cmw6IGV2ZW50LmNsaXBib2FyZERhdGEu
Z2V0RGF0YSgndXJsJyksCi0gICAgICAgIHR5cGVzOiBldmVudC5jbGlwYm9hcmREYXRhLnR5cGVz
LAotICAgICAgICBpdGVtczogQXJyYXkuZnJvbShldmVudC5jbGlwYm9hcmREYXRhLml0ZW1zKS5t
YXAoKGl0ZW0pID0+ICh7a2luZDogaXRlbS5raW5kLCB0eXBlOiBpdGVtLnR5cGV9KSksCi0gICAg
fSwgJyonKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBkb2N1bWVudC5ib2R5Lmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzb3Vy
Y2UnKS5mb2N1cygpOwotICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdzZWxlY3RBbGwnKTsKLSAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdkZXN0aW5hdGlvbicpLmZvY3VzKCk7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgncGFzdGUnKTsKLX0KLQotaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgIHJ1blRlc3QoKTsKLQotPC9zY3JpYCArICdwdD4nOwotCi1vbm1lc3Nh
Z2UgPSAoZXZlbnQpID0+IHsKLSAgICBvcmlnaW5hbFVSTCA9IGV2ZW50LmRhdGEub3JpZ2luYWxV
Ukw7Ci0gICAgdXJsUmVhZEluU2FtZURvY3VtZW50ID0gZXZlbnQuZGF0YS51cmw7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd1cmxSZWFkSW5TYW1lRG9jdW1lbnQnLCBvcmlnaW5hbFVSTCk7
Ci0gICAgdHlwZXNJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEudHlwZXM7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50KScsICdb
InRleHQvdXJpLWxpc3QiXScpOwotICAgIGl0ZW1zSW5TYW1lRG9jdW1lbnQgPSBldmVudC5kYXRh
Lml0ZW1zOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnkoaXRlbXNJ
blNhbWVEb2N1bWVudCknLCAnW3sia2luZCI6InN0cmluZyIsInR5cGUiOiJ0ZXh0L3VyaS1saXN0
In1dJyk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rlc3RpbmF0aW9uJykuZm9jdXMo
KTsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIGRvY3VtZW50LmV4ZWNDb21t
YW5kKCdwYXN0ZScpOwotfQotCi1mdW5jdGlvbiBkb1Bhc3RlKGV2ZW50KSB7Ci0gICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEoInVybCIpJywgKG5l
dyBVUkwob3JpZ2luYWxVUkwpKS5ocmVmKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0pT
T04uc3RyaW5naWZ5KGV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMpJywgJ1sidGV4dC91cmktbGlz
dCJdJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShBcnJheS5m
cm9tKGV2ZW50LmNsaXBib2FyZERhdGEuaXRlbXMpLm1hcCgoaXRlbSkgPT4gKHtraW5kOiBpdGVt
LmtpbmQsIHR5cGU6IGl0ZW0udHlwZX0pKSknLAotICAgICAgICAnW3sia2luZCI6InN0cmluZyIs
InR5cGUiOiJ0ZXh0L3VyaS1saXN0In1dJyk7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2Rlc3RpbmF0aW9uJykucmVtb3ZlKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19Ci0KLTwvc2Ny
aXB0PgotPGRpdiBpZD0iZGVzdGluYXRpb24iIG9ucGFzdGU9ImRvUGFzdGUoZXZlbnQpIiBjb250
ZW50ZWRpdGFibGU+My4gUGFzdGUgaGVyZTwvZGl2PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRh
dGEtc2FuaXRsaXplLXVybC13aGVuLWRyYWdnaW5nLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRh
LXNhbml0bGl6ZS11cmwtd2hlbi1kcmFnZ2luZy1pbi1udWxsLW9yaWdpbi1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkMzFlMzYxN2M4NjNlNWRmZGE4NjdkYmNh
ZWU2ZWNlMjMxZDM0MDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItc2V0LWRh
dGEtc2FuaXRsaXplLXVybC13aGVuLWRyYWdnaW5nLWluLW51bGwtb3JpZ2luLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLVRoaXMgdGVzdHMgY2FsbGluZyBzZXRE
YXRhIHRvIHNldCBhIFVSTCBpbiBhIG51bGwgb3JpZ2luIGRvY3VtZW50LiBUaGUgVVJMIHNob3Vs
ZCBiZSBzYW5pdGl6ZWQgd2hlbiByZWFkaW5nIGluIGFub3RoZXIgZG9jdW1lbnQuCi1UbyBtYW51
YWxseSB0ZXN0LCBkcmFnIGFuZCBkcm9wIHRoZSAiMS4gRHJhZyB0aGlzIiBhYm92ZSB0byAiMi4g
RHJvcCBoZXJlIiBhbmQgIjMuIERyb3AgaGVyZSIuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KLQotZHJhZ3N0YXJ0IGluIHRoZSBudWxsIG9yaWdpbiBkb2N1bWVudDoKLVBBU1MgdXJsUmVh
ZEluU2FtZURvY3VtZW50IGlzICJodHRwOi8vd2Via2l0Lm9yZy9iL/CfpJQ/eD04ICsgNiIKLVBB
U1MgSlNPTi5zdHJpbmdpZnkodHlwZXNJblNhbWVEb2N1bWVudCkgaXMgIltcInRleHQvdXJpLWxp
c3RcIl0iCi1QQVNTIEpTT04uc3RyaW5naWZ5KGl0ZW1zSW5TYW1lRG9jdW1lbnQpIGlzICJbe1wi
a2luZFwiOlwic3RyaW5nXCIsXCJ0eXBlXCI6XCJ0ZXh0L3VyaS1saXN0XCJ9XSIKLQotZHJhZ292
ZXIgaW4gdGhlIG51bGwgb3JpZ2luIGRvY3VtZW50OgotUEFTUyB1cmxSZWFkSW5TYW1lRG9jdW1l
bnQgaXMgIiIKLVBBU1MgSlNPTi5zdHJpbmdpZnkodHlwZXNJblNhbWVEb2N1bWVudCkgaXMgIltc
InRleHQvdXJpLWxpc3RcIl0iCi1QQVNTIEpTT04uc3RyaW5naWZ5KGl0ZW1zSW5TYW1lRG9jdW1l
bnQpIGlzICJbe1wia2luZFwiOlwic3RyaW5nXCIsXCJ0eXBlXCI6XCJ0ZXh0L3VyaS1saXN0XCJ9
XSIKLQotZHJvcCBpbiB0aGUgbnVsbCBvcmlnaW4gZG9jdW1lbnQ6Ci1QQVNTIHVybFJlYWRJblNh
bWVEb2N1bWVudCBpcyAiaHR0cDovL3dlYmtpdC5vcmcvYi/wn6SUP3g9OCArIDYiCi1QQVNTIEpT
T04uc3RyaW5naWZ5KHR5cGVzSW5TYW1lRG9jdW1lbnQpIGlzICJbXCJ0ZXh0L3VyaS1saXN0XCJd
IgotUEFTUyBKU09OLnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAiW3tcImtpbmRc
IjpcInN0cmluZ1wiLFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwifV0iCi0KLWRyYWdzdGFydCBp
biB0aGUgbnVsbCBvcmlnaW4gZG9jdW1lbnQ6Ci1QQVNTIHVybFJlYWRJblNhbWVEb2N1bWVudCBp
cyAiaHR0cDovL3dlYmtpdC5vcmcvYi/wn6SUP3g9OCArIDYiCi1QQVNTIEpTT04uc3RyaW5naWZ5
KHR5cGVzSW5TYW1lRG9jdW1lbnQpIGlzICJbXCJ0ZXh0L3VyaS1saXN0XCJdIgotUEFTUyBKU09O
LnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAiW3tcImtpbmRcIjpcInN0cmluZ1wi
LFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwifV0iCi0KLWRyYWdvdmVyIGluIHRoZSBmaWxlIFVS
TCBkb2N1bWVudDoKLVBBU1MgdXJsUmVhZEluU2FtZURvY3VtZW50IGlzICIiCi1QQVNTIEpTT04u
c3RyaW5naWZ5KHR5cGVzSW5TYW1lRG9jdW1lbnQpIGlzICJbXCJ0ZXh0L3VyaS1saXN0XCJdIgot
UEFTUyBKU09OLnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KSBpcyAiW3tcImtpbmRcIjpc
InN0cmluZ1wiLFwidHlwZVwiOlwidGV4dC91cmktbGlzdFwifV0iCi0KLWRyb3AgaW4gdGhlIGZp
bGUgVVJMIGRvY3VtZW50OgotUEFTUyB1cmxSZWFkSW5TYW1lRG9jdW1lbnQgaXMgImh0dHA6Ly93
ZWJraXQub3JnL2IvJUYwJTlGJUE0JTk0P3g9OCUyMCslMjA2IgotUEFTUyBKU09OLnN0cmluZ2lm
eSh0eXBlc0luU2FtZURvY3VtZW50KSBpcyAiW1widGV4dC91cmktbGlzdFwiXSIKLVBBU1MgSlNP
Ti5zdHJpbmdpZnkoaXRlbXNJblNhbWVEb2N1bWVudCkgaXMgIlt7XCJraW5kXCI6XCJzdHJpbmdc
IixcInR5cGVcIjpcInRleHQvdXJpLWxpc3RcIn1dIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1kYXRhLXNhbml0bGl6ZS11cmwtd2hlbi1k
cmFnZ2luZy1pbi1udWxsLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL2RhdGEtdHJhbnNmZXItc2V0LWRhdGEtc2FuaXRsaXplLXVybC13aGVuLWRyYWdnaW5nLWlu
LW51bGwtb3JpZ2luLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNzEyODBm
YzU1ZmZhZWVjNTFjNWQ4NmRhMTNiMTAwN2E1MTcyYzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rh
dGEtdHJhbnNmZXItc2V0LWRhdGEtc2FuaXRsaXplLXVybC13aGVuLWRyYWdnaW5nLWluLW51bGwt
b3JpZ2luLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNTcgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxib2R5PgotPGRpdiBpZD0iY29udGFpbmVyIj4KLTxkaXYgaWQ9ImRlc3Rp
bmF0aW9uIj4zLiBEcm9wIGhlcmU8L2Rpdj4KLTwvZGl2PgotPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWRlc2NyaXB0aW9u
KCdUaGlzIHRlc3RzIGNhbGxpbmcgc2V0RGF0YSB0byBzZXQgYSBVUkwgaW4gYSBudWxsIG9yaWdp
biBkb2N1bWVudC4gVGhlIFVSTCBzaG91bGQgYmUgc2FuaXRpemVkIHdoZW4gcmVhZGluZyBpbiBh
bm90aGVyIGRvY3VtZW50Ljxicj4nCi0gICAgKyAnVG8gbWFudWFsbHkgdGVzdCwgZHJhZyBhbmQg
ZHJvcCB0aGUgIjEuIERyYWcgdGhpcyIgYWJvdmUgdG8gIjIuIERyb3AgaGVyZSIgYW5kICIzLiBE
cm9wIGhlcmUiLicpOwotanNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLWlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJs
ZWQodHJ1ZSk7Ci0KLWNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFt
ZScpOwotY29uc3QgZGVzdGluYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzdGlu
YXRpb24nKTsKLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKS5wcmVwZW5kKGlm
cmFtZSk7Ci0KLWlmcmFtZS5zcmMgPSBgZGF0YTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCw8IURP
Q1RZUEUgaHRtbD4KLTxkaXYgaWQ9InNvdXJjZSIgZHJhZ2dhYmxlPSJ0cnVlIiBkYXRhLXZhbHVl
PSJodHRwOi8vd2Via2l0Lm9yZy9iLyYjeDFGOTE0Oz94PTggKyA2Ij4xLiBEcmFnIHRoaXM8L2Rp
dj4KLTxkaXYgaWQ9ImRlc3RpbmF0aW9uIiBvbnBhc3RlPSJwYXN0ZShldmVudCkiPjIuIERyb3Ag
aGVyZTwvZGl2PgotPHNjcmlwdD4KLQotY29uc3Qgc291cmNlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NvdXJjZScpOwotY29uc3QgZGVzdGluYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZGVzdGluYXRpb24nKTsKLWNvbnN0IG9yaWdpbmFsVVJMID0gc291cmNlLmRhdGFzZXQu
dmFsdWU7Ci1wYXJlbnQucG9zdE1lc3NhZ2Uoe2tpbmQ6ICdvcmlnaW5hbFVSTCcsIG9yaWdpbmFs
VVJMfSwgJyonKTsKLQotZnVuY3Rpb24gcG9zdENvbnRlbnQoa2luZCwgZGF0YVRyYW5zZmVyKSB7
Ci0gICAgcGFyZW50LnBvc3RNZXNzYWdlKHsKLSAgICAgICAga2luZCwKLSAgICAgICAgZG9jdW1l
bnRMYWJlbDogJ3RoZSBudWxsIG9yaWdpbiBkb2N1bWVudCcsCi0gICAgICAgIHVybDogZGF0YVRy
YW5zZmVyLmdldERhdGEoJ3VybCcpLAotICAgICAgICB0eXBlczogZGF0YVRyYW5zZmVyLnR5cGVz
LAotICAgICAgICBpdGVtczogQXJyYXkuZnJvbShkYXRhVHJhbnNmZXIuaXRlbXMpLm1hcCgoaXRl
bSkgPT4gKHtraW5kOiBpdGVtLmtpbmQsIHR5cGU6IGl0ZW0udHlwZX0pKSwKLSAgICB9LCAnKicp
OwotfQotCi1sZXQgcG9zdERyYWdPdmVyOwotc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdz
dGFydCIsIChldmVudCkgPT4gewotICAgIHBvc3REcmFnT3ZlciA9IGZhbHNlOwotICAgIGV2ZW50
LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd1cmwnLCBvcmlnaW5hbFVSTCk7Ci0gICAgcG9zdENvbnRl
bnQoJ2RyYWdzdGFydCcsIGV2ZW50LmRhdGFUcmFuc2Zlcik7Ci19KTsKLWRlc3RpbmF0aW9uLmFk
ZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIiwgKGV2ZW50KSA9PiB7Ci0gICAgZXZlbnQucHJldmVu
dERlZmF1bHQoKTsKLSAgICBpZiAocG9zdERyYWdPdmVyKQotICAgICAgICByZXR1cm47Ci0gICAg
cG9zdERyYWdPdmVyID0gdHJ1ZTsKLSAgICBwb3N0Q29udGVudCgnZHJhZ292ZXInLCBldmVudC5k
YXRhVHJhbnNmZXIpOwotfSk7Ci1kZXN0aW5hdGlvbi5hZGRFdmVudExpc3RlbmVyKCJkcm9wIiwg
KGV2ZW50KSA9PiB7Ci0gICAgcG9zdENvbnRlbnQoJ2Ryb3AnLCBldmVudC5kYXRhVHJhbnNmZXIp
OwotICAgIGRlc3RpbmF0aW9uLnJlbW92ZSgpOwotICAgIHRvcC5wb3N0TWVzc2FnZSh7a2luZDog
J3NlY29uZERyb3AnfSwgJyonKTsKLX0pOwotCi1pZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Ci0g
ICAgY29uc3QgaWZyYW1lT2Zmc2V0ID0ge3g6IDEwLCB5OiAxMH07Ci0gICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oaWZyYW1lT2Zmc2V0LnggKyBzb3VyY2Uub2Zmc2V0TGVmdCArIDUsIGlmcmFt
ZU9mZnNldC55ICsgc291cmNlLm9mZnNldFRvcCArIDUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNl
RG93bigpOwotICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDUwMCk7Ci0gICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oaWZyYW1lT2Zmc2V0LnggKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsg
NSwgaWZyYW1lT2Zmc2V0LnkgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyA1KTsKLSAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7Ci19Ci0KLTwvc2NyaWAgKyAncHQ+JzsKLQotb25tZXNzYWdlID0g
KGV2ZW50KSA9PiB7Ci0gICAgY29uc3Qga2luZCA9IGV2ZW50LmRhdGEua2luZDsKLSAgICBpZiAo
a2luZCA9PSAnb3JpZ2luYWxVUkwnKSB7Ci0gICAgICAgIG9yaWdpbmFsVVJMID0gZXZlbnQuZGF0
YS5vcmlnaW5hbFVSTDsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoa2luZCA9PSAn
c2Vjb25kRHJvcCcpCi0gICAgICAgIHJldHVybiBkb1NlY29uZERyb3AoZXZlbnQuZGF0YS5wb3N0
Q29udGVudCk7Ci0gICAgZGVidWcoYCR7a2luZH0gaW4gJHtldmVudC5kYXRhLmRvY3VtZW50TGFi
ZWx9OmApOwotICAgIHN3aXRjaCAoa2luZCkgewotICAgIGNhc2UgJ2RyYWdzdGFydCc6Ci0gICAg
ICAgIHVybFJlYWRJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEudXJsOwotICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3VybFJlYWRJblNhbWVEb2N1bWVudCcsIG9yaWdpbmFsVVJMKTsK
LSAgICAgICAgdHlwZXNJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEudHlwZXM7Ci0gICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5zdHJpbmdpZnkodHlwZXNJblNhbWVEb2N1bWVu
dCknLCAnWyJ0ZXh0L3VyaS1saXN0Il0nKTsKLSAgICAgICAgaXRlbXNJblNhbWVEb2N1bWVudCA9
IGV2ZW50LmRhdGEuaXRlbXM7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5z
dHJpbmdpZnkoaXRlbXNJblNhbWVEb2N1bWVudCknLCAnW3sia2luZCI6InN0cmluZyIsInR5cGUi
OiJ0ZXh0L3VyaS1saXN0In1dJyk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgJ2RyYWdvdmVy
JzoKLSAgICAgICAgdXJsUmVhZEluU2FtZURvY3VtZW50ID0gZXZlbnQuZGF0YS51cmw7Ci0gICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndXJsUmVhZEluU2FtZURvY3VtZW50JywgJycpOwot
ICAgICAgICB0eXBlc0luU2FtZURvY3VtZW50ID0gZXZlbnQuZGF0YS50eXBlczsKLSAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeSh0eXBlc0luU2FtZURvY3VtZW50
KScsICdbInRleHQvdXJpLWxpc3QiXScpOwotICAgICAgICBpdGVtc0luU2FtZURvY3VtZW50ID0g
ZXZlbnQuZGF0YS5pdGVtczsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0
cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KScsICdbeyJraW5kIjoic3RyaW5nIiwidHlwZSI6
InRleHQvdXJpLWxpc3QifV0nKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAnZHJvcCc6Ci0g
ICAgICAgIHVybFJlYWRJblNhbWVEb2N1bWVudCA9IGV2ZW50LmRhdGEudXJsOwotICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3VybFJlYWRJblNhbWVEb2N1bWVudCcsIGV2ZW50LmRhdGEu
ZG9jdW1lbnRMYWJlbC5pbmNsdWRlcygnbnVsbCcpID8gb3JpZ2luYWxVUkwgOiAobmV3IFVSTChv
cmlnaW5hbFVSTCkpLmhyZWYpOwotICAgICAgICB0eXBlc0luU2FtZURvY3VtZW50ID0gZXZlbnQu
ZGF0YS50eXBlczsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lm
eSh0eXBlc0luU2FtZURvY3VtZW50KScsICdbInRleHQvdXJpLWxpc3QiXScpOwotICAgICAgICBp
dGVtc0luU2FtZURvY3VtZW50ID0gZXZlbnQuZGF0YS5pdGVtczsKLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShpdGVtc0luU2FtZURvY3VtZW50KScsICdbeyJr
aW5kIjoic3RyaW5nIiwidHlwZSI6InRleHQvdXJpLWxpc3QifV0nKTsKLSAgICAgICAgaWYgKCFl
dmVudC5kYXRhLmRvY3VtZW50TGFiZWwuaW5jbHVkZXMoJ251bGwnKSkgewotICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpLnJlbW92ZSgpOwotICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAg
IGRlYnVnKCcnKTsKLX0KLQotZnVuY3Rpb24gcG9zdENvbnRlbnQoa2luZCwgZGF0YVRyYW5zZmVy
KSB7Ci0gICAgd2luZG93LnBvc3RNZXNzYWdlKHsKLSAgICAgICAga2luZCwKLSAgICAgICAgZG9j
dW1lbnRMYWJlbDogJ3RoZSBmaWxlIFVSTCBkb2N1bWVudCcsCi0gICAgICAgIHVybDogZGF0YVRy
YW5zZmVyLmdldERhdGEoJ3VybCcpLAotICAgICAgICB0eXBlczogZGF0YVRyYW5zZmVyLnR5cGVz
LAotICAgICAgICBpdGVtczogQXJyYXkuZnJvbShkYXRhVHJhbnNmZXIuaXRlbXMpLm1hcCgoaXRl
bSkgPT4gKHtraW5kOiBpdGVtLmtpbmQsIHR5cGU6IGl0ZW0udHlwZX0pKSwKLSAgICB9LCAnKicp
OwotfQotCi1sZXQgcG9zdERyYWdPdmVyID0gZmFsc2U7Ci1kZXN0aW5hdGlvbi5hZGRFdmVudExp
c3RlbmVyKCJkcmFnb3ZlciIsIChldmVudCkgPT4gewotICAgIGV2ZW50LnByZXZlbnREZWZhdWx0
KCk7Ci0gICAgaWYgKHBvc3REcmFnT3ZlcikKLSAgICAgICAgcmV0dXJuOwotICAgIHBvc3REcmFn
T3ZlciA9IHRydWU7Ci0gICAgcG9zdENvbnRlbnQoJ2RyYWdvdmVyJywgZXZlbnQuZGF0YVRyYW5z
ZmVyKTsKLX0pOwotZGVzdGluYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsIChldmVudCkg
PT4gewotICAgIHBvc3RDb250ZW50KCdkcm9wJywgZXZlbnQuZGF0YVRyYW5zZmVyKTsKLX0pOwot
Ci1mdW5jdGlvbiBkb1NlY29uZERyb3AocG9zdENvbnRlbnQpIHsKLSAgICBwb3N0RHJhZ092ZXIg
PSBmYWxzZTsKLSAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoNTAwKTsKLSAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhpZnJhbWUub2Zmc2V0TGVmdCArIDEwLCBpZnJhbWUub2Zmc2V0VG9wICsgMTApOwot
ICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJk
KDUwMCk7Ci0KLSAgICBjb25zdCBkZXN0aW5hdGlvblJlY3QgPSBkZXN0aW5hdGlvbi5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKLSAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhkZXN0aW5hdGlv
bi5vZmZzZXRMZWZ0ICsgNSwgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgNSk7Ci0gICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOwotfQotCi1zZXRUaW1lb3V0KGZpbmlzaEpTVGVzdCwgMzAwMCk7Ci0K
LTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk0OTY0MDVmYzZjZmU2Yjg2YjFhY2QwYjkyOTM0
NzliZjg1YTY1NzguLjFjMzcxM2U5OTVhNDI0NGIyNTRhNDg0MTg2OTU3OTVmMWMzNjhmOWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEy
LDcgKzEyLDcgQEAgZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItZ2V0LWRhdGEtb24t
ZHJvcC1wbGFpbi10ZXh0Lmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRy
YW5zZmVyLWdldC1kYXRhLW9uLWRyb3AtcmljaC10ZXh0Lmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcv
cGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWdldC1kYXRhLW9uLWRyb3AtdXJsLmh0bWwgWyBQYXNz
IF0KIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWlzLXVuaXF1ZS1mb3ItZHJhZ2Vu
dGVyLWFuZC1kcmFnbGVhdmUuaHRtbCBbIFBhc3MgXQotZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEt
dHJhbnNmZXItc2V0LWRhdGEtc2FuaXRsaXplLXVybC13aGVuLWRyYWdnaW5nLWluLW51bGwtb3Jp
Z2luLmh0bWwgWyBQYXNzIF0KK2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLXNldC1k
YXRhLXNhbml0aXplLXVybC13aGVuLWRyYWdnaW5nLWluLW51bGwtb3JpZ2luLmh0bWwgWyBQYXNz
IF0KIGVkaXRpbmcvcGFzdGVib2FyZC9kcmFnLWVuZC1jcmFzaC1hY2Nlc3NpbmctaXRlbS1saXN0
Lmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlz
dC1hZGQtZmlsZS1vbi1kcmFnLmh0bWwgWyBQYXNzIF0KIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRh
LXRyYW5zZmVyLWl0ZW1zLWRyb3AtZmlsZS5odG1sIFsgUGFzcyBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>