<?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>48334</bug_id>
          
          <creation_ts>2010-10-26 08:45:08 -0700</creation_ts>
          <short_desc>REGRESSION(r70521): This patch depends on another not yet committed. (Requested by jorlow on #webkit).</short_desc>
          <delta_ts>2010-10-26 08:50:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>jorlow</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>299489</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-26 08:45:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/70521 broke the build:
This patch depends on another not yet committed. (Requested by jorlow on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299490</commentid>
    <comment_count>1</comment_count>
      <attachid>71893</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-26 08:45:47 -0700</bug_when>
    <thetext>Created attachment 71893
ROLLOUT of r70521

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299496</commentid>
    <comment_count>2</comment_count>
      <attachid>71893</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-26 08:50:29 -0700</bug_when>
    <thetext>Comment on attachment 71893
ROLLOUT of r70521

Clearing flags on attachment: 71893

Committed r70524: &lt;http://trac.webkit.org/changeset/70524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299497</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-10-26 08:50:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71893</attachid>
            <date>2010-10-26 08:45:47 -0700</date>
            <delta_ts>2010-10-26 08:50:29 -0700</delta_ts>
            <desc>ROLLOUT of r70521</desc>
            <filename>bug-48334-20101026154543.patch</filename>
            <type>text/plain</type>
            <size>24474</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZWM0OWZjMWFmZTljYzNkOWZmYzk1MmIyMzgwMDg2YmEyNGJiNWY5Li45YjM5NTk5
ZGYzODAzN2RjMDk4YTI1YmRmODM4Y2Q2YTdmMzMxZjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMjYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3MDUyMS4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzA1MjEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4MzM0CisKKyAgICAgICAgVGhpcyBwYXRjaCBkZXBl
bmRzIG9uIGFub3RoZXIgbm90IHlldCBjb21taXR0ZWQuIChSZXF1ZXN0ZWQgYnkKKyAgICAgICAg
am9ybG93IG9uICN3ZWJraXQpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHV0b3Jp
YWwtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R1
dG9yaWFsLmh0bWw6IFJlbW92ZWQuCisKIDIwMTAtMTAtMjYgIEplcmVteSBPcmxvdyAgPGpvcmxv
d0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgQmxvY2suCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlNDI0ZWYxMDZhODVmYjU5YmY1NjVmMjM1
ZThkZWM4MmVjOGQ2ZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1BbGwgZG9uZSEKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDJlN2U0MWZjZjE2NzlkZjA3ODcwYzQ1YmNmMjkyNjkyMWU3YmYyMTEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQzMyArMCwwIEBA
Ci08aHRtbD48dGl0bGU+SW5kZXhlZERCIFR1dG9yaWFsPC90aXRsZT4KLTxzY3JpcHQ+Ci0KLS8v
IFRoaXMgaXMgYSB0dXRvcmlhbCB0aGF0IGhpZ2hsaWdodHMgbWFueSBvZiB0aGUgZmVhdHVyZXMg
b2YgSW5kZXhlZERCIGFsb25nIHdpdGhhIG51bWJlciBvZgotLy8gY2F2ZWF0cyB0aGF0IGN1cnJl
bnRseSBleGlzdCBpbiBDaHJvbWl1bS9XZWJLaXQgYnV0IHdoaWNoIHdpbGwgaG9wZWZ1bGx5IGJl
IGltcHJvdmVkIHVwb24KLS8vIG92ZXIgdGltZS4KLS8vCi0vLyBUaGUgbGF0ZXN0IHZlcnNpb24g
b2YgdGhlIHNwZWMgY2FuIGJlIGZvdW5kIGhlcmU6Ci0vLyBodHRwOi8vZHZjcy53My5vcmcvaGcv
SW5kZXhlZERCL3Jhdy1maWxlL3RpcC9PdmVydmlldy5odG1sIGJ1dCBub3RlIHRoYXQgdGhlcmUg
YXJlIHF1aXRlIGEKLS8vIGZldyBidWdzIGN1cnJlbnRseSBvcGVuZWQgYWdhaW5zdCBpdCBhbmQg
c29tZSBtYWpvciB1bnJlc29sdmVkIGlzc3VlcyAobGlrZSB3aGV0aGVyIGR5bmFtaWMKLS8vIHRy
YW5zYWN0aW9ucyBzaG91bGQgYmUgaW4gZm9yIHYxKS4gTWFueSBvZiB0aGUgYnVncyBhcmUgZmls
ZWQgaGVyZToKLS8vIGh0dHA6Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL2J1Z2xpc3QuY2dpP3F1
ZXJ5X2Zvcm1hdD1hZHZhbmNlZCZzaG9ydF9kZXNjX3R5cGU9YWxsd29yZHNzdWJzdHImc2hvcnRf
ZGVzYz0mY29tcG9uZW50PUluZGV4ZWQrRGF0YWJhc2UrQVBJJmxvbmdkZXNjX3R5cGU9YWxsd29y
ZHNzdWJzdHImbG9uZ2Rlc2M9JmJ1Z19maWxlX2xvY190eXBlPWFsbHdvcmRzc3Vic3RyJmJ1Z19m
aWxlX2xvYz0mc3RhdHVzX3doaXRlYm9hcmRfdHlwZT1hbGx3b3Jkc3N1YnN0ciZzdGF0dXNfd2hp
dGVib2FyZD0ma2V5d29yZHNfdHlwZT1hbGx3b3JkcyZrZXl3b3Jkcz0mYnVnX3N0YXR1cz1ORVcm
YnVnX3N0YXR1cz1BU1NJR05FRCZidWdfc3RhdHVzPVJFT1BFTkVEJmVtYWlsdHlwZTE9c3Vic3Ry
aW5nJmVtYWlsMT0mZW1haWx0eXBlMj1zdWJzdHJpbmcmZW1haWwyPSZidWdfaWRfdHlwZT1hbnll
eGFjdCZidWdfaWQ9JnZvdGVzPSZjaGZpZWxkZnJvbT0mY2hmaWVsZHRvPU5vdyZjaGZpZWxkdmFs
dWU9JmNtZHR5cGU9ZG9pdCZvcmRlcj1SZXVzZStzYW1lK3NvcnQrYXMrbGFzdCt0aW1lJmtub3du
X25hbWU9SW5kZXhlZERCJnF1ZXJ5X2Jhc2VkX29uPUluZGV4ZWREQiZmaWVsZDAtMC0wPW5vb3Am
dHlwZTAtMC0wPW5vb3AmdmFsdWUwLTAtMD0KLS8vIERpc2N1c3Npb24gaGFwcGVucyBvbiBwdWJs
aWMtd2ViYXBwc0B3My5vcmcKLS8vCi0vLyBBbHRob3VnaCBub3QgdXNlciBmcmllbmRseSwgYWRk
aXRpb25hbCBjYXBhYmlsaXRpZXMgYW5kIGV4YW1wbGUgY29kZSBjYW4gYmUgZm91bmQgaW4gdGhl
Ci0vLyB0ZXN0cyBmb3IgSW5kZXhlZERCIHdoaWNoIGFyZSBoZXJlOgotLy8gaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9icm93c2VyL3RydW5rL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiCi0v
LwotLy8gVGhpcyBkb2N1bWVudCBpcyBjdXJyZW50bHkgbWFpbnRhaW5lZCBieSBKZXJlbXkgT3Js
b3cgPGpvcmxvd0BjaHJvbWl1bS5vcmc+Ci0KLQotLy8gVGhpcyBpcyBub3QgYW4gaWRlYWwgbGF5
b3V0IHRlc3Qgc2luY2UgaXQgZG9lc24ndCB2ZXJpZnkgdGhpbmdzIGFzIHRob3JvdWdobHkgYXMg
aXQgY291bGQsCi0vLyBidXQgYWRkaW5nIHN1Y2ggY29udGVudCB3b3VsZCBtYWtlIGl0IG11Y2gg
bW9yZSBjbHV0dGVyZWQgYW5kIHRodXMgd291bGRuJ3Qgc2VydmUgaXRzIHByaW1hcnkKLS8vIGdv
YWwgb2YgdGVhY2hpbmcgcGVvcGxlIEluZGV4ZWREQi4gVGhhdCBzYWlkLCBpdCBkb2VzIGhhdmUg
YSBnb29kIGFtb3VudCBvZiBjb3ZlcmFnZSBhbmQKLS8vIHNlcnZlcyBhcyBhIGxpdmluZyBkb2N1
bWVudCBkZXNjcmliaW5nIHdoYXQncyBleHBlY3RlZCB0byB3b3JrIGFuZCBob3cgd2l0aGluIFdl
YktpdCBzbyBpdAotLy8gc2VlbXMgd2VsbCB3b3J0aCBoYXZpbmcgY2hlY2tlZCBpbi4KLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCh0cnVlKTsKLQotCi1mdW5jdGlvbiBzZXR1cCgpCi17Ci0gICAgLy8gQXMgdGhpcyBB
UEkgaXMgc3RpbGwgZXhwZXJpbWVudGFsLCBpdCdzIGJlaW5nIHNoaXBwZWQgYmVoaW5kIHZlbmRv
ciBzcGVjaWZpYyBwcmVmaXhlcy4KLSAgICBpZiAoJ3dlYmtpdEluZGV4ZWREQicgaW4gd2luZG93
KSB7Ci0gICAgICAgIGluZGV4ZWREQiA9IHdlYmtpdEluZGV4ZWREQjsKLSAgICAgICAgSURCQ3Vy
c29yID0gd2Via2l0SURCQ3Vyc29yOwotICAgICAgICBJREJLZXlSYW5nZSA9IHdlYmtpdElEQktl
eVJhbmdlOwotICAgICAgICBJREJUcmFuc2FjdGlvbiA9IHdlYmtpdElEQlRyYW5zYWN0aW9uOwot
ICAgIH0KLQotICAgIC8vIFRoaXMgdHV0b3JpYWwgYXNzdW1lcyB0aGF0IE1vemlsbGEgYW5kIFdl
YktpdCBtYXRjaCBlYWNoIG90aGVyIHdoaWNoIGlzbid0IHRydWUgYXQgdGhlCi0gICAgLy8gbW9t
ZW50LCBidXQgd2UgY2FuIGhvcGUgaXQnbGwgYmVjb21lIHRydWUgb3ZlciB0aW1lLgotICAgIGlm
ICgnbW96X2luZGV4ZWREQicgaW4gd2luZG93KSB7Ci0gICAgICAgIGluZGV4ZWREQiA9IG1vel9p
bmRleGVkREI7Ci0gICAgICAgIC8vIE5vdCBpbXBsZW1lbnRlZCBieSB0aGVtIHlldC4gSSdtIGp1
c3QgZ3Vlc3Npbmcgd2hhdCB0aGV5J2xsIGJlLgotICAgICAgICBJREJDdXJzb3IgPSBtb3pfSURC
Q3Vyc29yOwotICAgICAgICBJREJLZXlSYW5nZSA9IG1vel9JREJLZXlSYW5nZTsKLSAgICAgICAg
SURCVHJhbnNhY3Rpb24gPSBtb3pfSURCVHJhbnNhY3Rpb247Ci0gICAgfQotfQotCi1mdW5jdGlv
biBsb2codHh0KQotewotICAgIGRvY3VtZW50LndyaXRlKHR4dCArICI8YnI+Iik7Ci19Ci0KLWZ1
bmN0aW9uIGxvZ0Vycm9yKHR4dCkKLXsKLSAgICBsb2coIjxmb250IGNvbG9yPXJlZD4iICsgdHh0
ICsgIjwvZm9udD4iKTsKLX0KLQotZnVuY3Rpb24gc3RhcnQoKQotewotICAgIHNldHVwKCk7Ci0K
LSAgICAvLyBUaGlzIGlzIGFuIGV4YW1wbGUgb2Ygb25lIG9mIHRoZSBtYW55IGFzeW5jaHJvbm91
cyBjb21tYW5kcyBpbiBJbmRleGVkREIncyBhc3luYyBpbnRlcmZhY2UuCi0gICAgLy8gRWFjaCBy
ZXR1cm5zIGFuIElEQlJlcXVlc3Qgb2JqZWN0IHdoaWNoIGhhcyAic3VjY2VzcyIgYW5kICJlcnJv
ciIgZXZlbnQgaGFuZGxlcnMuIFlvdSBjYW4gdXNlCi0gICAgLy8gImFkZEV2ZW50TGlzdGVuZXIi
IGlmIHlvdSdkIGxpa2UsIGJ1dCBJJ20gdXNpbmcgdGhlIHNpbXBsZXIgPSBzeW50YXguIE9ubHkg
b25lIG9yIHRoZSBvdGhlcgotICAgIC8vIHdpbGwgZmlyZS4gWW91J3JlIGd1YXJhbnRlZWQgdGhh
dCB0aGV5IHdvbid0IGZpcmUgdW50aWwgY29udHJvbCBpcyByZXR1cm5lZCBmcm9tIEphdmFTY3Jp
cHQKLSAgICAvLyBleGVjdXRpb24uCi0gICAgdmFyIHJlcXVlc3QgPSBpbmRleGVkREIub3Blbigi
bXlEQiIsICJUaGlzIGlzIGEgZGVzY3JpcHRpb24gb2YgdGhlIGRhdGFiYXNlLiIpOyAvLyBDaHJv
bWl1bS9XZWJLaXQgZG9lc24ndCB5ZXQgcmVxdWlyZSB0aGUgZGVzY3JpcHRpb24sIGJ1dCBpdCB3
aWxsIHNvb24uCi0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvbk9wZW47Ci0gICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yOwotfQotCi1mdW5jdGlvbiB1bmV4cGVjdGVkRXJyb3Io
KQotewotICAgIC8vIElmIGFuIGFzeW5jaHJvbm91cyBjYWxsIHJlc3VsdHMgaW4gYW4gZXJyb3Is
IGFuICJlcnJvciIgZXZlbnQgd2lsbCBmaXJlIG9uIHRoZSBJREJSZXF1ZXN0Ci0gICAgLy8gb2Jq
ZWN0IHRoYXQgd2FzIHJldHVybmVkIGFuZCB0aGUgZXZlbnQncyBjb2RlIGFuZCBtZXNzYWdlIGF0
dHJpYnV0ZXMgd2lsbCBiZSBwb3B1bGF0ZWQgd2l0aAotICAgIC8vIHRoZSBjb3JyZWN0IHZhbHVl
cy4KLSAgICBsb2dFcnJvcigiRXJyb3IgIiArIGV2ZW50LmNvZGUgKyAiOiAiICsgZXZlbnQubWVz
c2FnZSk7Ci0KLSAgICAvLyBVbmZvcnR1bmF0ZWx5LCBDaHJvbWl1bS9XZWJLaXQgZG8gbm90IGlt
cGxpY2l0bHkgYWJvcnQgYSB0cmFuc2FjdGlvbiB3aGVuIGFuIGVycm9yIG9jY3VycwotICAgIC8v
IHdpdGhpbiBvbmUgb2YgaXRzIGFzeW5jIG9wZXJhdGlvbnMuIEluIHRoZSBmdXR1cmUsIHdoZW4g
YW4gZXJyb3Igb2NjdXJzIGFuZCB0aGUgZXZlbnQgaXMKLSAgICAvLyBub3QgY2FuY2VsZWQsIHRo
ZSB0cmFuc2FjdGlvbiB3aWxsIGJlIGFib3J0ZWQuCi0gICAgaWYgKGN1cnJlbnRUcmFuc2FjdGlv
bikKLSAgICAgICAgY3VycmVudFRyYW5zYWN0aW9uLmFib3J0KCk7Ci19Ci0KLWZ1bmN0aW9uIG9u
T3BlbigpCi17Ci0gICAgLy8gSWYgYW4gYXN5bmNocm9ub3VzIGNhbGwgcmVzdWx0cyBpbiBzdWNj
ZXNzLCBhICJzdWNjZXNzIiBldmVudCB3aWxsIGZpcmUgb24gdGhlIElEQlJlcXVlc3QKLSAgICAv
LyBvYmplY3QgdGhhdCB3YXMgcmV0dXJuZWQgYW5kIHRoZSBjYWxsJ3MgcmVzdWx0IHdpbGwgYmUg
cGxhY2VkIGluIHRoZSBldmVudCdzICJyZXN1bHQiCi0gICAgLy8gYXR0cmlidXRlLiBJbiBzb21l
IGNhc2VzLCB0aGUgZXhwZWN0ZWQgcmVzdWx0IHdpbGwgYmUgbnVsbC4KLSAgICB3aW5kb3cuZGIg
PSBldmVudC5yZXN1bHQ7Ci0KLSAgICAvLyBUaGUgSURCRGF0YWJhc2Ugb2JqZWN0IGhhcyBhICJ2
ZXJzaW9uIiBhdHRyaWJ1dGUuIFRoaXMgY2FuIG9ubHkgYmUgc2V0IGJ5IGNhbGxpbmcKLSAgICAv
LyAic2V0VmVyc2lvbiIgb24gdGhlIGRhdGFiYXNlIGFuZCBzdXBwbHlpbmcgYSBuZXcgdmVyc2lv
bi4gVGhpcyBhbHNvIHN0YXJ0cyBhIG5ldwotICAgIC8vIHRyYW5zYWN0aW9uIHdoaWNoIGlzIHZl
cnkgc3BlY2lhbC4gVGhlcmUgYXJlIG1hbnkgZGV0YWlscyBhbmQgZ290Y2hhcyBzdXJyb3VuZGlu
ZwotICAgIC8vIHNldFZlcnNpb24gd2hpY2ggd2UnbGwgZ2V0IGludG8gbGF0ZXIuCi0gICAgaWYg
KGRiLnZlcnNpb24gPT0gIjEuMCIpIHsKLSAgICAgICAgLy8gV2UgY291bGQgc2tpcCBzZXR0aW5n
IHVwIHRoZSBvYmplY3Qgc3RvcmVzIGFuZCBpbmRleGVzIGlmIHRoaXMgd2VyZSBhIHJlYWwgYXBw
bGljYXRpb24KLSAgICAgICAgLy8gdGhhdCB3YXNuJ3QgZ29pbmcgdG8gY2hhbmdlIHRoaW5ncyB3
aXRob3V0IGNoYW5naW5nIHRoZSB2ZXJzaW9uIG51bWJlci4gQnV0IHNpbmNlIHRoaXMKLSAgICAg
ICAgLy8gaXMgYm90aCBhIHR1dG9yaWFsIGFuZCBhIGxpdmluZyBkb2N1bWVudCwgd2UnbGwgZ28g
b24gYW5kIHNldCB0aGluZ3MgdXAgZXZlcnkgdGltZSB3ZSBydW4uCi0gICAgfQotICAgIHZhciBy
ZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigiMS4wIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBv
blNldFZlcnNpb247Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yOwotfQot
Ci1mdW5jdGlvbiBvblNldFZlcnNpb24oKQotewotICAgIC8vIFdlIGFyZSBub3cgaW4gYSBzZXRW
ZXJzaW9uIHRyYW5zYWN0aW9uLiBTdWNoIGEgdHJhbnNhY3Rpb24gaXMgdGhlIG9ubHkgcGxhY2Ug
d2hlcmUgb25lCi0gICAgLy8gY2FuIGFkZCBvciByZW1vdmUgaW5kZXhlcyBhbmQgb2JqZWN0U3Rv
cmVzLiBUaGUgcmVzdWx0IChwcm9wZXJ0eSBvZiBldmVudCkgaXMgYW4KLSAgICAvLyBJREJUcmFu
c2FjdGlvbiBvYmplY3QgdGhhdCBoYXMgImNvbXBsZXRlIiwgImFib3J0IiwgYW5kICJ0aW1lb3V0
IiBldmVudCBoYW5kbGVycyB3aGljaCB0ZWxsCi0gICAgLy8gdXMgd2hlbiB0aGUgdHJhbnNhY3Rp
b24gaGFzIGNvbW1pdHRlZCwgYWJvcnRlZCwgb3IgdGltZWQgb3V0LgotICAgIHdpbmRvdy5jdXJy
ZW50VHJhbnNhY3Rpb24gPSBldmVudC5yZXN1bHQ7Ci0gICAgY3VycmVudFRyYW5zYWN0aW9uLm9u
Y29tcGxldGUgPSBvblNldFZlcnNpb25Db21wbGV0ZTsKLSAgICBjdXJyZW50VHJhbnNhY3Rpb24u
b25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydDsKLQotICAgIC8vIERlbGV0ZSBleGlzdGluZyBvYmpl
Y3Qgc3RvcmVzLgotICAgIHdoaWxlIChkYi5vYmplY3RTdG9yZXMubGVuZ3RoKQotICAgICAgICBk
Yi5yZW1vdmVPYmplY3RTdG9yZShkYi5vYmplY3RTdG9yZXNbMF0pOwotCi0gICAgLy8gTm93IHRo
YXQgd2UgaGF2ZSBhIGJsYW5rIHNsYXRlLCBsZXQncyBjcmVhdGUgYW4gb2JqZWN0U3RvcmUuIEFu
IG9iamVjdFN0b3JlIGlzIHNpbXBseSBhbgotICAgIC8vIG9yZGVyZWQgbWFwcGluZyBvZiBrZXlz
IHRvIHZhbHVlcy4gV2UgY2FuIGl0ZXJhdGUgdGhyb3VnaCByYW5nZXMgb2Yga2V5cyBvciBkbyBp
bmRpdmlkdWFsCi0gICAgLy8gbG9va3Vwcy4gT2JqZWN0U3RvcmVzIGRvbid0IGhhdmUgYW55IHNj
aGVtYS4KLSAgICAvLwotICAgIC8vIEtleXMgY2FuIGJlIGludGVnZXJzLCBzdHJpbmdzLCBvciBu
dWxsLiAoVGhlIHNwZWMgYWxzbyBkZWZpbmVzIGRhdGVzIGFuZCB0aGVyZSdzIHRhbGsgb2YKLSAg
ICAvLyBoYW5kbGluZyBhcnJheXMsIGJ1dCB0aGVzZSBhcmUgbm90IGltcGxlbWVudGVkIHlldCBp
biBDaHJvbWl1bS9XZWJLaXQuKSBWYWx1ZXMgY2FuIGJlCi0gICAgLy8gYW55dGhpbmcgc3VwcG9y
dGVkIGJ5IHRoZSBzdHJ1Y3R1cmVkIGNsb25lIGFsZ29yaXRobQotICAgIC8vIChodHRwOi8vZGV2
LnczLm9yZy9odG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwjaW50ZXJuYWwtc3RydWN0dXJlZC1jbG9u
aW5nLWFsZ29yaXRobSkgd2hpY2gKLSAgICAvLyBpcyBhIHN1cGVyc2V0IG9mIHdoYXQgY2FuIGJl
IGV4cHJlc3NlZCBpbiBKU09OLiAoTm90ZSB0aGF0IENocm9taXVtL1dlYktpdCBkb2VzIG5vdCBm
dWxseQotICAgIC8vIGltcGxlbWVudCB0aGUgc3RydWN0dXJlZCBjbG9uZSBhbGdvcml0aG0geWV0
LCBidXQgaXQgZGVmaW5pdGVseSBoYW5kbGVzIGFueXRoaW5nIEpTT04KLSAgICAvLyBzZXJpYWxp
emFibGUuKQotICAgIC8vCi0gICAgLy8gVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBvYmplY3RTdG9y
ZXM6IG9uZXMgd2hlcmUgdGhlIHBhdGggaXMgc3VwcGxpZWQgbWFudWFsbHkgZXZlcnkgdGltZSBh
Ci0gICAgLy8gdmFsdWUgaXMgaW5zZXJ0ZWQgYW5kIHRob3NlIHdpdGggYSAia2V5IHBhdGgiLiBB
IGtleVBhdGggaXMgZXNzZW50aWFsbHkgYSBKYXZhU2NyaXB0Ci0gICAgLy8gZXhwcmVzc2lvbiB0
aGF0IGlzIGV2YWx1YXRlZCBvbiBldmVyeSB2YWx1ZSB0byBleHRyYWN0IGEga2V5LiBGb3IgZXhh
bXBsZSwgaWYgeW91IHBhc3MgaW4KLSAgICAvLyB0aGUgdmFsdWUgb2YgIntmbmFtZTogJ2pvaG4n
LCBsbmFtZTogJ2RvZScsIGFkZHJlc3M6IHtzdHJlZXQ6ICdCdWNraW5naGFtIFBhbGFjZSIsIG51
bWJlcjoKLSAgICAvLyA3Nn0sIHNpYmxpbmdzOiBbIk5hbmN5IiwgIk1hcmN1cyJdLCBpZDogMjJ9
IiBhbmQgYW4gb2JqZWN0U3RvcmUgaGFzIGEga2V5UGF0aCBvZiAiaWQiIHRoZW4KLSAgICAvLyAy
MiB3aWxsIGJlIHRoZSBrZXkgZm9yIHRoaXMgdmFsdWUuIEluIG9iamVjdFN0b3JlcywgZWFjaCBr
ZXkgbXVzdCBiZSB1bmlxdWUuCi0gICAgLy8KLSAgICAvLyBOb3RlIHRoYXQgdGhlIGV4YWN0IHN5
bnRheCBhbGxvd2VkIGZvciBrZXlQYXRocyBpcyBub3QgeWV0IHdlbGwgc3BlY2lmaWVkLCBidXQK
LSAgICAvLyBDaHJvbWl1bS9XZWJLaXQgY3VycmVudGx5IGFsbG93cyBwYXRocyB0aGF0IGFyZSBt
dWx0aXBsZSBsZXZlbHMgZGVlcCB3aXRoaW4gYW4gb2JqZWN0IGFuZAotICAgIC8vIGFsbG93cyB0
aGF0IHRvIGJlIGludGVybWl4ZWQgd2l0aCBhcnJheSBkZXJlZmVyZW5jZXMuIFNvLCBmb3IgZXhh
bXBsZSwgYSBrZXkgcGF0aCBvZgotICAgIC8vICJhZGRyZXNzLm51bWJlciIgb3IgInNpYmxpbmdz
WzBdIiB3b3VsZCBiZSBsZWdhbCAocHJvdmlkZWQgZXZlcnkgZW50cnkgaGFkIGFuIGFkZHJlc3Mg
d2l0aAotICAgIC8vIGEgbnVtYmVyIGF0dHJpYnV0ZSBhbmQgYXQgbGVhc3Qgb25lIHNpYmxpbmcp
LiBZb3UgY2FuIGV2ZW4gZ28gd2lsZCBhbmQgc2F5Ci0gICAgLy8gImZvb1swXVsyXS5iYXJbMF0u
YmF6LnRlc3RbMV1bMl1bM10iLiBJdCdzIHBvc3NpYmxlIHRoaXMgd2lsbCBjaGFuZ2UgaW4gdGhl
IGZ1dHVyZSB0aG91Z2guCi0gICAgLy8KLSAgICAvLyBJZiB5b3Ugc2V0IGF1dG9JbmNyZW1lbnQg
KHRoZSB0aGlyZCBvcHRpb25hbCBwYXJhbWV0ZXIpLCBJbmRleGVkREIgd2lsbCBnZW5lcmF0ZSBh
IGtleQotICAgIC8vIGZvciB5b3VyIGVudHJ5IGF1dG9tYXRpY2FsbHkuIEFuZCBpZiB5b3UgaGF2
ZSBhIGtleVBhdGggc2V0LCBpdCdsbCBzZXQgdGhlIHZhbHVlIGF0Ci0gICAgLy8gdGhlIGxvY2F0
aW9uIG9mIHRoZSBrZXlQYXRoIF9pbiB0aGUgZGF0YWJhc2VfIChpLmUuIGl0IHdpbGwgbm90IG1v
ZGlmeSB0aGUgdmFsdWUgeW91IHBhc3MKLSAgICAvLyBpbiB0byBwdXQvYWRkKS4gVW5mb3J0dW5h
dGVseSBhdXRvSW5jcmVtZW50IGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgaW4gQ2hyb21pdW0vV2Vi
S2l0LgotICAgIC8vCi0gICAgLy8gTGV0J3Mgbm93IGNyZWF0ZSBhbiBvYmplY3RTdG9yZSBmb3Ig
cGVvcGxlLiBXZSdsbCBzdXBwbHkgYSBrZXkgcGF0aCBpbiB0aGlzIGNhc2UuCi0gICAgdmFyIG9i
amVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoInBlb3BsZSIsICJpZCIpOwotCi0gICAg
Ly8gTm90aWNlIHRoYXQgaXQgcmV0dXJuZWQgc3luY2hyb25vdXNseS4gVGhlIHJ1bGUgb2YgdGh1
bWIgaXMgdGhhdCBhbnkgY2FsbCB0aGF0IHRvdWNoZXMgKGluCi0gICAgLy8gYW55IHdheSkga2V5
cyBvciB2YWx1ZXMgaXMgYXN5bmNocm9ub3VzIGFuZCBhbnkgb3RoZXIgY2FsbCAoYmVzaWRlcyBz
ZXRWZXJzaW9uIGFuZCBvcGVuKSBhcmUKLSAgICAvLyBhc3luY2hyb25vdXMuCi0gICAgLy8KLSAg
ICAvLyBOb3cgbGV0J3MgY3JlYXRlIHNvbWUgaW5kZXhlcy4gSW5kZXhlcyBhbGxvdyB5b3UgdG8g
Y3JlYXRlIG90aGVyIGtleXMgdmlhIGtleSBwYXRocyB3aGljaAotICAgIC8vIHdpbGwgYWxzbyBw
b2ludCB0byBhIHBhcnRpY3VsYXIgdmFsdWUgaW4gYW4gb2JqZWN0U3RvcmUuIEluIHRoaXMgZXhh
bXBsZSwgd2UnbGwgY3JlYXRlCi0gICAgLy8gaW5kZXhlcyBmb3IgYSBwZXJzb25zIGZpcnN0IGFu
ZCBsYXN0IG5hbWUuIEluZGV4ZXMgY2FuIG9wdGlvbmFsbHkgYmUgc3BlY2lmaWVkIHRvIG5vdCBi
ZQotICAgIC8vIHVuaXF1ZSwgd2hpY2ggaXMgZ29vZCBpbiB0aGUgY2FzZSBvZiBuYW1lcy4gVGhl
IGZpcnN0IHBhcmFtZXRlciBpcyB0aGUgbmFtZSBvZiB0aGUgaW5kZXguCi0gICAgLy8gU2Vjb25k
IGlzIHRoZSBrZXkgcGF0aC4gVGhlIHRoaXJkIHNwZWNpZmllcyB1bmlxdWVuZXNzLgotICAgIHZh
ciBmbmFtZSA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCJmbmFtZSIsICJmbmFtZSIsIGZhbHNl
KTsKLSAgICB2YXIgbG5hbWUgPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgibG5hbWUiLCAibG5h
bWUiLCBmYWxzZSk7Ci0KLSAgICAvLyBOb3RlIHRoYXQgaWYgeW91IHdhbnRlZCB0byBkZWxldGUg
dGhlc2UgaW5kZXhlcywgeW91IGNhbiBlaXRoZXIgY2FsbCBvYmplY3RTdG9yZS5yZW1vdmVJbmRl
eAotICAgIC8vIG9yIHNpbXBseSBkZWxldGUgdGhlIG9iamVjdFN0b3JlcyB0aGF0IG93biB0aGUg
aW5kZXhlcy4gKE5vdGUgdGhhdCByZW1vdmVPYmplY3RTdG9yZSBhbmQKLSAgICAvLyByZW1vdmVJ
bmRleCBtYXkgYmUgY2hhbmdlZCB0byBkZWxldGVPYmplY3RTdG9yZSBhbmQgZGVsZXRlSW5kZXgg
aW4gdGhlIGZ1dHVyZS4pCi0gICAgLy8KLSAgICAvLyBJZiB3ZSB3YW50ZWQgdG8sIHdlIGNvdWxk
IHBvcHVsYXRlIHRoZSBvYmplY3RTdG9yZSB3aXRoIHNvbWUgZGF0YSBoZXJlIG9yIGRvIGFueXRo
aW5nIGVsc2UKLSAgICAvLyBhbGxvd2VkIGluIGEgbm9ybWFsIChpLmUuIG5vbi1zZXRWZXJzaW9u
KSB0cmFuc2FjdGlvbi4gVGhpcyBpcyB1c2VmdWwgc28gdGhhdCBkYXRhIG1pZ3JhdGlvbnMKLSAg
ICAvLyBjYW4gYmUgYXRvbWljIHdpdGggY2hhbmdlcyB0byB0aGUgb2JqZWN0U3RvcmVzL2luZGV4
ZXMuCi0gICAgLy8gICAgCi0gICAgLy8gQmVjYXVzZSB3ZSBoYXZlbid0IGFjdHVhbGx5IG1hZGUg
YW55IG5ldyBhc3luY2hyb25vdXMgcmVxdWVzdHMsIHRoaXMgdHJhbnNhY3Rpb24gd2lsbAotICAg
IC8vIHN0YXJ0IGNvbW1pdHRpbmcgYXMgc29vbiBhcyB3ZSBsZWF2ZSB0aGlzIGZ1bmN0aW9uLiBU
aGlzIHdpbGwgY2F1c2Ugb25jb21wbGV0ZSBldmVudCBoYW5kbGVyCi0gICAgLy8gZm9yIHRoZSB0
cmFuc2FjdGlvbiB3aWxsIGZpcmUgc2hvcnRseSBhZnRlci4gSW5kZXhlZERCIHRyYW5zYWN0aW9u
cyBjb21taXQgd2hlbmV2ZXIgY29udHJvbCBpcwotICAgIC8vIHJldHVybmVkIGZyb20gSmF2YVNj
cmlwdCB3aXRoIG5vIGZ1cnRoZXIgd29yayBiZWluZyBxdWV1ZWQgdXAgYWdhaW5zdCB0aGUgdHJh
bnNhY3Rpb24uIFRoaXMKLSAgICAvLyBtZWFucyBvbmUgY2Fubm90IGNhbGwgc2V0VGltZW91dCwg
ZG8gYW4gWEhSLCBvciBhbnl0aGluZyBsaWtlIHRoYXQgYW5kIGV4cGVjdCBteSB0cmFuc2FjdGlv
bgotICAgIC8vIHRvIHN0aWxsIGJlIGFyb3VuZCB3aGVuIHRoYXQgY29tcGxldGVzLgotICAgIAot
fQotCi1mdW5jdGlvbiB1bmV4cGVjdGVkQWJvcnQoKQotewotICAgIGxvZ0Vycm9yKCJBIHRyYW5z
YWN0aW9uIGFib3J0ZWQgdW5leHBlY3RlZGx5ISIpOwotfQotCi1mdW5jdGlvbiBvblNldFZlcnNp
b25Db21wbGV0ZSgpCi17Ci0gICAgLy8gTGV0cyBjcmVhdGUgYSBuZXcgdHJhbnNhY3Rpb24gYW5k
IHRoZW4gbm90IHNjaGVkdWxlIGFueSB3b3JrIG9uIGl0IHRvIHdhdGNoIGl0IGFib3J0IGl0c2Vs
Zi4KLSAgICAvLyBUcmFuc2FjdGlvbnMgKGJlc2lkZXMgdGhvc2UgY3JlYXRlZCB3aXRoIHNldFZl
cnNpb24pIGFyZSBjcmVhdGVkIHN5bmNocm9ub3VzbHkuIEFsbCB0aHJlZQotICAgIC8vIHBhcmFt
ZXRlcnMgYXJlIG9wdGlvbmFsIGZvciB0cmFuc2FjdGlvbi4KLSAgICAvLwotICAgIC8vIFRoZSBm
aXJzdCBzcGVjaWZpZXMgd2hpY2ggb2JqZWN0IHN0b3JlcyB0byBsb2NrLiBUaGUgc3BlYyBzcGVj
aWZpZXMgImR5bmFtaWMgdHJhbnNhY3Rpb25zIgotICAgIC8vIHdoaWNoIGRvbid0IHJlcXVpcmUg
dGhpcyBhbmQgd2hpY2ggaGF2ZSBmaW5lciBncmFpbmVkIGxvY2tzLCBidXQgbm8gb25lIHlldCBz
dXBwb3J0cyB0aGlzIGFuZAotICAgIC8vIGl0IG1heSBldmVuIGJlIGRyb3BwZWQgZnJvbSB0aGUg
Zmlyc3QgdmVyc2lvbiBvZiB0aGUgc3BlYywgc28gSSBkb24ndCBzdWdnZXN0IHlvdSByZWx5IG9u
IGl0LgotICAgIC8vIENocm9taXVtL1dlYktpdCBhbHNvIGRvZXMgbm90IHlldCBzdXBwb3J0IGFu
eXRoaW5nIGZpbmVyIGdyYWluZWQgdGhhbiBkYXRhYmFzZSBsZXZlbCBsb2NraW5nLAotICAgIC8v
IHNvIGluIHRoaXMgdHV0b3JpYWwgd2UnbGwganVzdCBwYXNzIGluIHRoZSBlbXB0eSBhcnJheSB3
aGljaCBtZWFucyAibG9jayB0aGUgd29ybGQiLgotICAgIC8vCi0gICAgLy8gVGhlIHNlY29uZCBw
YXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBsb2NraW5nIG1vZGUuIFRoZSBkZWZhdWx0IGlzIFJFQURf
T05MWSAoaS5lLiBhIHNoYXJlZCBsb2NrKS4KLSAgICAvLyBUaGF0J3MgZmluZSBmb3IgdGhpcyBj
YXNlLCBidXQgbGF0ZXIgd2UnbGwgYXNrIGZvciBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFLiBB
dCB0aGUgbW9tZW50LAotICAgIC8vIENocm9taXVtL1dlYktpdCBwcmV0ZW5kcyBldmVyeSB0cmFu
c2FjdGlvbiBpcyBSRUFEX1dSSVRFLCB3aGljaCBpcyBraW5kIG9mIGJhZC4gKE5vdGUgdGhhdAot
ICAgIC8vIFNOQVBTSE9UX1JFQUQgd2lsbCBzb29uIGJlIHJlbW92ZWQgZnJvbSB0aGUgc3BlYy4p
Ci0gICAgLy8KLSAgICAvLyBUaGUgbGFzdCBwYXJhbWV0ZXIgaXMgdGhlIHRpbWVvdXQgbGVuZ3Ro
LiBBdCB0aGUgbW9tZW50LCBDaHJvbWl1bS9XZWJLaXQgZGVmYXVsdHMgdG8gMCB3aGljaAotICAg
IC8vIG1lYW5zIG5ldmVyLCBidXQgaXQncyBwb3NzaWJsZSB3ZSdsbCBjaGFuZ2UgdGhpcyBpbiB0
aGUgZnV0dXJlLCBzbyBzZXQgaXQgaWYgeW91IHJlYWxseSBjYXJlLgotICAgIHdpbmRvdy5jdXJy
ZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSwgMCk7Ci0gICAgY3VycmVudFRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB1bmV4cGVjdGVk
Q29tcGxldGU7Ci0gICAgY3VycmVudFRyYW5zYWN0aW9uLm9uYWJvcnQgPSBvblRyYW5zYWN0aW9u
QWJvcnRlZDsKLQotICAgIC8vIFZlcmlmeSB0aGF0ICJwZW9wbGUiIGlzIHRoZSBvbmx5IG9iamVj
dCBzdG9yZSBpbiBleGlzdGFuY2UuIFRoZSBvYmplY3RTdG9yZXMgYXR0cmlidXRlIGlzCi0gICAg
Ly8gYSBET01TdHJpbmdMaXN0IHdoaWNoIGlzIHNvbWV3aGF0IGxpa2UgYW4gYXJyYXkuCi0gICAg
dmFyIG9iamVjdFN0b3JlTGlzdCA9IGRiLm9iamVjdFN0b3JlczsKLSAgICBpZiAob2JqZWN0U3Rv
cmVMaXN0Lmxlbmd0aCAhPSAxCi0gICAgICAgIHx8ICFvYmplY3RTdG9yZUxpc3QuY29udGFpbnMo
InBlb3BsZSIpCi0gICAgICAgIHx8IG9iamVjdFN0b3JlTGlzdC5pdGVtKDApICE9ICJwZW9wbGUi
Ci0gICAgICAgIHx8IG9iamVjdFN0b3JlTGlzdFswXSAhPSAicGVvcGxlIikgewotICAgICAgICBs
b2dFcnJvcigiU29tZXRoaW5nIHdlbnQgd3JvbmcuIik7Ci0gICAgfQotCi0gICAgLy8gTGV0J3Mg
Z3JhYiBhIGhhbmRsZSB0byB0aGUgb2JqZWN0U3RvcmUuIFRoaXMgaGFuZGxlIGlzIHRpZWQgdG8g
dGhlIHRyYW5zYWN0aW9uIHRoYXQgY3JlYXRlcwotICAgIC8vIGl0IGFuZCB0aHVzIGJlY29tZXMg
aW52YWxpZCBvbmNlIHRoaXMgdHJhbnNhY3Rpb24gY29tcGxldGVzLgotICAgIHZhciBvYmplY3RT
dG9yZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgicGVvcGxlIik7Ci0gICAgaWYg
KCFvYmplY3RTdG9yZSkKLSAgICAgICAgbG9nRXJyb3IoIlNvbWV0aGluZyB3ZW50IHdyb25nLiIp
OwotCi0gICAgLy8gSWYgd2UgdHJ5IHRvIGdyYWIgYW4gb2JqZWN0U3RvcmUgdGhhdCBkb2Vzbid0
IGV4aXN0LCBJbmRleGVkREIgdGhyb3dzIGFuIGV4Y2VwdGlvbi4KLSAgICB0cnkgewotICAgICAg
ICBjdXJyZW50VHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoIngiKTsKLSAgICAgICAgbG9nRXJyb3Io
IlNvbWV0aGluZyB3ZW50IHdyb25nLiIpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgLy8g
Tm90ZSB0aGF0IHRoZSBlcnJvciBtZXNzYWdlcyBpbiBleGNlcHRpb25zIGFyZSBtb3N0bHkgbGll
cyBhdCB0aGUgbW9tZW50LiBUaGUgcmVhc29uIGlzCi0gICAgICAgIC8vIHRoYXQgdGhlIHNwZWMg
cmUtdXNlcyBleGNlcHRpb24gY29kZXMgZm9yIGV4aXN0aW5nIGV4Y2VwdGlvbnMgYW5kIHRoZXJl
J3Mgbm8gd2F5IHdlIGNhbgotICAgICAgICAvLyBkaXNhbWJpZ3VhdGUgYmV0d2VlbiB0aGUgdHdv
LiBUaGUgYmVzdCB3b3JrLWFyb3VuZCBhdCB0aGUgbW9tZW50IGlzIHRvIGxvb2sgYXQKLSAgICAg
ICAgLy8gaHR0cDovL2R2Y3MudzMub3JnL2hnL0luZGV4ZWREQi9yYXctZmlsZS90aXAvT3ZlcnZp
ZXcuaHRtbCN0aGUtaWRiZGF0YWJhc2VleGNlcHRpb24taW50ZXJmYWNlCi0gICAgICAgIC8vIHRv
IGZpZ3VyZSBvdXQgd2hhdCB0aGUgbnVtYmVyIGNvcnJlc3BvbmRzIHRvLiBXZSB3aWxsIHRyeSB0
byByZXNvbHZlIHRoaXMgc29vbiBpbiBzcGVjLWxhbmQuCi0gICAgfQotCi0gICAgLy8gVmVyaWZ5
IHRoYXQgZm5hbWUgYW5kIGxuYW1lIGFyZSB0aGUgb25seSBpbmRleGVzIGluIGV4aXN0YW5jZS4K
LSAgICBpZiAob2JqZWN0U3RvcmUuaW5kZXhOYW1lcy5sZW5ndGggIT0gMikKLSAgICAgICAgbG9n
RXJyb3IoIlNvbWV0aGluZyB3ZW50IHdyb25nLiIpOwotCi0gICAgLy8gTm90ZSB0aGF0IG5vIGFz
eW5jIGFjdGlvbnMgd2VyZSBldmVyIHF1ZXVlZCB1cCBhZ2lhbnN0IG91ciB0cmFuc2FjdGlvbiwg
c28gaXQnbGwgYWJvcnQgb25jZQotICAgIC8vIHdlIGxlYXZlIHRoaXMgY29udGV4dC4KLX0KLQot
ZnVuY3Rpb24gdW5leHBlY3RlZENvbXBsZXRlKCkKLXsKLSAgICBsb2dFcnJvcigiQSB0cmFuc2Fj
dGlvbiBjb21taXR0ZWQgdW5leHBlY3RlZGx5ISIpOwotfQotCi1mdW5jdGlvbiBvblRyYW5zYWN0
aW9uQWJvcnRlZCgpCi17Ci0gICAgLy8gTm93IGxldCdzIG1ha2UgYSByZWFsIHRyYW5zYWN0aW9u
IGFuZCBhIHBlcnNvbiB0byBvdXIgb2JqZWN0U3RvcmUuCi0gICAgd2luZG93LmN1cnJlbnRUcmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsicGVvcGxlIl0sIElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUsIDApOwotICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0OwotCi0gICAgdmFyIHBlb3BsZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgi
cGVvcGxlIik7Ci0gICAgdmFyIHJlcXVlc3QgPSBwZW9wbGUucHV0KHtmbmFtZTogJ0pvaG4nLCBs
bmFtZTogJ0RvZScsIGlkOiAxfSk7IC8vIElmIG91ciBvYmplY3RTdG9yZSBkaWRuJ3QgaGF2ZSBh
IGtleSBwYXRoLCB0aGUgc2Vjb25kIHBhcmFtZXRlciB3b3VsZCBoYXZlIGJlZW4gdGhlIGtleS4K
LSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9uUHV0U3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3I7Ci0KLSAgICAvLyBXaGlsZSB3ZSdyZSBhdCBpdCwgd2h5IG5v
dCBhZGQgYSBmZXcgbW9yZT8gTXVsdGlwbGUgcXVldWVkIHVwIGFzeW5jIGNvbW1hbmRzIHdpbGwg
YmUgZXhlY3V0ZWQKLSAgICAvLyBzZXF1ZW50aWFsbHkgKHRob3VnaCB0aGVyZSBpcyB0YWxrIG9m
IHByaW9yaXRpemluZyBjdXJzb3IuY29udGludWUtLXNlZSBkaXNjdXNzaW9uIGJlbG93KS4gU2lu
Y2UKLSAgICAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBpbmRpdmlkdWFsIGNvbW1hbmRzJyBz
dWNjZXNzZXMsIHdlJ2xsIG9ubHkgYm90aGVyIHdpdGggb24gZXJyb3IgaGFuZGxlcnMuCi0gICAg
Ly8KLSAgICAvLyBSZW1lbWJlciB0aGF0IG91ciBpbXBsZW1lbnRhdGlvbiBvZiB1bmV4cGVjdGVk
RXJyb3Igc2hvdWxkIGFib3J0IHRoZSAiY3VycmVudFRyYW5zYWN0aW9uIiBpbiB0aGUKLSAgICAv
LyBjYXNlIG9mIGFuIGVycm9yLiAoVGhvdWdoIG5vIGVycm9yIHNob3VsZCBvY2N1ciBpbiB0aGlz
IGNhc2UuKQotICAgIHBlb3BsZS5wdXQoe2ZuYW1lOiAnSmFuZScsIGxuYW1lOiAnRG9lJywgaWQ6
IDJ9KS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yOwotICAgIHBlb3BsZS5wdXQoe2ZuYW1lOiAn
UGhpbGlwJywgbG5hbWU6ICdGcnknLCBpZDogM30pLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3I7
Ci0KLSAgICAvLyBOb3Qgc2hvd24gaGVyZSBhcmUgdGhlIC5yZW1vdmUgbWV0aG9kICh3aGljaCBp
cyBzb29uIHRvIGJlIHJlbmFtZWQgLmRlbGV0ZSkgYW5kIC5hZGQgKHdoaWNoIGlzCi0gICAgLy8g
bGlrZSAucHV0IGV4Y2VwdCB0aGF0IGl0IGZpcmVzIGFuIG9uZXJyb3IgaWYgdGhlIGVsZW1lbnQg
YWxyZWFkeSBleGlzdHMpLgotfQotCi1mdW5jdGlvbiBvblB1dFN1Y2Nlc3MoKQotewotICAgIC8v
IFJlc3VsdCBpcyB0aGUga2V5IHVzZWQgZm9yIHRoZSBwdXQuCi0gICAgaWYgKGV2ZW50LnJlc3Vs
dCAhPT0gMSkKLSAgICAgICAgbG9nRXJyb3IoIlNvbWV0aGluZyB3ZW50IHdyb25nLiIpOwotCi0g
ICAgLy8gV2Ugc2hvdWxkIGJlIGFibGUgdG8gcmVxdWVzdCB0aGUgdHJhbnNhY3Rpb24gdmlhIGV2
ZW50LnRyYW5zYWN0aW9uIGZyb20gd2l0aGluIGFueSBldmVudCBoYW5kbGVyCi0gICAgLy8gKGxp
a2UgdGhpcyBvbmUpIGJ1dCB0aGlzIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgaW4gQ2hyb21pdW0v
V2ViS2l0LiBBcyBhIHdvcmstYXJvdW5kLCB3ZSB1c2UgdGhlCi0gICAgLy8gZ2xvYmFsICJjdXJy
ZW50VHJhbnNhY3Rpb24iIHZhcmlhYmxlIHdlIHNldCBhYm92ZS4KLSAgICBjdXJyZW50VHJhbnNh
Y3Rpb24ub25jb21wbGV0ZSA9IG9uUHV0VHJhbnNhY3Rpb25Db21wbGV0ZTsKLX0KLQotZnVuY3Rp
b24gb25QdXRUcmFuc2FjdGlvbkNvbXBsZXRlKCkKLXsKLSAgICAvLyBPSywgbm93IGxldCdzIHF1
ZXJ5IHRoZSBwZW9wbGUgb2JqZWN0U3RvcmUgaW4gYSBjb3VwbGUgZGlmZmVyZW50IHdheXMuIEZp
cnN0IHVwLCBsZXQncyB0cnkgZ2V0LgotICAgIC8vIEl0IHNpbXBseSB0YWtlcyBpbiBhIGtleSBh
bmQgcmV0dXJucyBhIHJlcXVlc3Qgd2hvc2UgcmVzdWx0IHdpbGwgYmUgdGhlIHZhbHVlLgotICAg
IHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbInBlb3BsZSJdLCBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFLCAwKTsKLSAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25h
Ym9ydCA9IHVuZXhwZWN0ZWRBYm9ydDsKLQotICAgIHZhciBwZW9wbGUgPSBjdXJyZW50VHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoInBlb3BsZSIpOwotICAgIHZhciByZXF1ZXN0ID0gcGVvcGxlLmdl
dCgxKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9uR2V0U3VjY2VzczsKLSAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3I7Ci0KLSAgICAvLyBOb3RlIHRoYXQgbXVsdGlwbGUg
b2JqZWN0U3RvcmUgKG9yIGluZGV4KSBtZXRob2QgY2FsbHMgd2lsbCByZXR1cm4gZGlmZmVyZW50
IG9iamVjdHMgKHRoYXQgc3RpbGwKLSAgICAvLyByZWZlciB0byB0aGUgc2FtZSBvYmplY3RTdG9y
ZS9pbmRleCBvbiBkaXNrKS4KLSAgICBwZW9wbGUuc29tZVByb3BlcnR5ID0gdHJ1ZTsKLSAgICBp
ZiAoY3VycmVudFRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCJwZW9wbGUiKS5zb21lUHJvcGVydHkp
Ci0gICAgICAgIGxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZy4iKTsKLX0KLQotZnVuY3Rp
b24gb25HZXRTdWNjZXNzKCkKLXsKLSAgICBpZiAoZXZlbnQucmVzdWx0LmZuYW1lICE9PSAiSm9o
biIpCi0gICAgICAgIGxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZy4iKTsKLQotICAgIC8v
IEV2ZW50cyBoYXZlIGEgLnNvdXJjZSBhdHRyaWJ1dGUgd2hpY2ggaXMgdGhlIG9iamVjdCB0aGF0
IGZpcmVkIHRoZSBldmVudC4gSW4gdGhpcyBjYXNlLCBpdCdzIG91cgotICAgIC8vICJwZW9wbGUi
IG9iamVjdFN0b3JlIG9iamVjdC4KLSAgICB2YXIgcGVvcGxlID0gZXZlbnQuc291cmNlOwotCi0g
ICAgLy8gTm93IGxldCdzIHRyeSBvcGVuaW5nIGEgY3Vyc29yIGZyb20gaWQgMSAoZXhjbHVzaXZl
L29wZW4pIHRvIGlkIDMgKGluY2x1c2l2ZS9jbG9zZWQpLiBUaGlzIG1lYW5zCi0gICAgLy8gd2Un
bGwgZ2V0IHRoZSBvYmplY3RzIGZvciBpZHMgMiBhbmQgMy4gWW91IGNhbiBhbHNvIGNyZWF0ZSBj
dXJzb3JzIHRoYXQgYXJlIG9ubHkgcmlnaHQgb3Igb25seQotICAgIC8vIGxlZnQgYm91bmRlZCBv
ciBvbW1pdCB0aGUgYm91bmQgaW4gb3JkZXIgdG8gZ3JhYiBhbGwgb2JqZWN0cy4gWW91IGNhbiBh
bHNvIHNwZWNpZnkgYSBkaXJlY3Rpb24KLSAgICAvLyB3aGljaCBjYW4gYmUgSURCQ3Vyc29yLk5F
WFQgKGRlZmF1bHQpIGZvciB0aGUgY3Vyc29yIHRvIG1vdmUgZm9yd2FyZCwgTkVYVF9OT19EVVBM
SUNBVEUgdG8gb25seQotICAgIC8vIHJldHVybiB1bmlxdWUgZW50aXJlcyAob25seSBhcHBsaWVz
IHRvIGluZGV4ZXMgd2l0aCB1bmlxdWUgc2V0IHRvIGZhbHNlKSwgUFJFViB0byBtb3ZlIGJhY2t3
YXJkcywKLSAgICAvLyBhbmQgUFJFVl9OT19EVVBMSUNBVEUuCi0gICAgdmFyIGtleVJhbmdlID0g
SURCS2V5UmFuZ2UuYm91bmQoMSwgMywgdHJ1ZSwgZmFsc2UpOwotICAgIHZhciByZXF1ZXN0ID0g
cGVvcGxlLm9wZW5DdXJzb3Ioa2V5UmFuZ2UsIElEQkN1cnNvci5ORVhUKTsKLSAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9uT2JqZWN0U3RvcmVDdXJzb3I7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yOwotfQotCi1mdW5jdGlvbiBvbk9iamVjdFN0b3JlQ3Vyc29yKCkKLXsK
LSAgICAvLyBUaGUgcmVzdWx0IG9mIG9wZW5DdXJzb3IgaXMgYW4gSURCQ3Vyc29yIG9iamVjdCBv
ciBudWxsIGlmIHRoZXJlIGFyZSBubyAobW9yZS0tc2VlIGJlbG93KQotICAgIC8vIHJlY29yZHMg
bGVmdC4KLSAgICB2YXIgY3Vyc29yID0gZXZlbnQucmVzdWx0OwotICAgIGlmIChjdXJzb3IgPT09
IG51bGwpIHsKLSAgICAgICAgY3Vyc29yQ29tcGxldGUoZXZlbnQuc291cmNlKTsgLy8gVGhlIHNv
cnVjZSBpcyBzdGlsbCBhbiBvYmplY3RTdG9yZS4KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIC8vIFdlIGNvdWxkIHVzZSB0aGVzZSB2YWx1ZXMgaWYgd2Ugd2FudGVkIHRvLgotICAgIHZh
ciBrZXkgPSBjdXJzb3Iua2V5OwotICAgIHZhciB2YWx1ZSA9IGN1cnNvci52YWx1ZTsKLQotICAg
IC8vIGN1cnNvci5jb3VudCBpcyBwcm9iYWJseSBnb2luZyB0byBiZSByZW1vdmVkLgotICAgIC8v
IGN1cnNvci51cGRhdGUgYW5kIC5yZW1vdmUgYXJlIG5vdCB5ZXQgaW1wbGVtZW50ZWQgaW4gQ2hy
b21pdW0vV2ViS2l0LgotCi0gICAgLy8gY3Vyc29yLmNvbnRpbnVlIHdpbGwgcmV1c2UgdGhlIHNh
bWUgcmVxdWVzdCBvYmplY3QgYXMgd2hhdCBvcGVuQ3Vyc29yIHJldHVybmVkLiBJbiB0aGUgZnV0
dXJlLAotICAgIC8vIHdlIE1BWSBwcmlvcml0aXplIC5jb250aW51ZSgpIGNhbGxzIGFoZWFkIG9m
IGFsbCBvdGhlciBhc3luYyBvcGVyYXRpb25zIHF1ZXVlZCB1cC4gVGhpcyB3aWxsCi0gICAgLy8g
aW50cm9kdWNlIGEgbGV2ZWwgb2Ygbm9uLWRldGVybWluaXNtIGJ1dCBzaG91bGQgc3BlZWQgdGhp
bmdzIHVwLiBNb3ppbGxhIGhhcyBhbHJlYWR5IGltcGxlbWVudGVkCi0gICAgLy8gdGhpcyBub24t
c3RhbmRhcmQgYmVoYXZpb3IsIGZyb20gd2hhdCBJJ3ZlIGhlYWQuCi0gICAgZXZlbnQucmVzdWx0
LmNvbnRpbnVlKCk7Ci19Ci0KLWZ1bmN0aW9uIGN1cnNvckNvbXBsZXRlKG9iamVjdFN0b3JlKQot
ewotICAgIC8vIFdoaWxlIHN0aWxsIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLCBsZXQncyBub3cg
ZG8gYSBsb29rdXAgb24gdGhlIGxuYW1lIGluZGV4LgotICAgIHZhciBsbmFtZSA9IG9iamVjdFN0
b3JlLmluZGV4KCJsbmFtZSIpOwotCi0gICAgLy8gTm90ZSB0aGF0IHRoZSBzcGVjIGhhcyBub3Qg
YmVlbiB1cGRhdGVkIHlldCwgYnV0IGluc3RlYWQgb2YgZ2V0IGFuZCBnZXRPYmplY3QsIHdlIG5v
dwotICAgIC8vIGhhdmUgZ2V0S2V5IGFuZCBnZXQuIFRoZSBmb3JtZXIgcmV0dXJucyB0aGUgb2Jq
ZWN0U3RvcmUncyBrZXkgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUga2V5Ci0gICAgLy8gaW4gdGhl
IGluZGV4LiBnZXQgcmV0dXJucyB0aGUgb2JqZWN0U3RvcmUncyB2YWx1ZSB0aGF0IGNvcnJlc3Bv
bmRzIHRvIHRoZSBrZXkgaW4gdGhlCi0gICAgLy8gaW5kZXguCi0gICAgdmFyIHJlcXVlc3QgPSBs
bmFtZS5nZXRLZXkoIkRvZSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb25JbmRleEdldFN1
Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yOwotfQotCi1mdW5j
dGlvbiBvbkluZGV4R2V0U3VjY2VzcygpCi17Ci0gICAgLy8gQmVjYXVzZSB3ZSBkaWQgImdldEtl
eSIgdGhlIHJlc3VsdCBpcyB0aGUgb2JqZWN0U3RvcmUncyBrZXkuCi0gICAgaWYgKGV2ZW50LnJl
c3VsdCAhPT0gMSkKLSAgICAgICAgbG9nRXJyb3IoIlNvbWV0aGluZyB3ZW50IHdyb25nLiIpOwot
Ci0gICAgLy8gU2ltaWxhcmx5LCBpbmRleGVzIGhhdmUgb3BlbkN1cnNvciBhbmQgb3BlbktleUN1
cnNvci4gV2UnbGwgdHJ5IGEgZmV3IG9mIHRoZW0gd2l0aCB2YXJpb3VzCi0gICAgLy8gZGlmZmVy
ZW50IElEQktleVJhbmdlcyBqdXN0IHRvIGRlbW9uc3RyYXRlIGhvdyB0byB1c2UgdGhlbSwgYnV0
IHdlIHdvbid0IGJvdGhlciB0byBoYW5kbGUKLSAgICAvLyB0aGUgb25zdWNjZXNzIGNvbmRpdGlv
bnMuCi0gICAgdmFyIGxuYW1lID0gZXZlbnQuc291cmNlOwotICAgIGxuYW1lLm9wZW5DdXJzb3Io
SURCS2V5UmFuZ2UubGVmdEJvdW5kKCJEb2UiLCBmYWxzZSksIElEQkN1cnNvci5ORVhUX05PX0RV
UExJQ0FURSk7Ci0gICAgbG5hbWUub3BlbkN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFVl9OT19E
VVBMSUNBVEUpOwotICAgIGxuYW1lLm9wZW5DdXJzb3IoSURCS2V5UmFuZ2UucmlnaHRCb3VuZCgi
WlpaWiIpKTsKLSAgICBsbmFtZS5vcGVuQ3Vyc29yKElEQktleVJhbmdlLm9ubHkoIkRvZSIpLCBJ
REJDdXJzb3IuUFJFVik7Ci0gICAgbG5hbWUub3BlbkN1cnNvcigpOwotICAgIGxuYW1lLm9wZW5L
ZXlDdXJzb3IoKTsKLQotICAgIC8vIFdlIHNob3VsZCBiZSBhYmxlIHRvIHJlcXVlc3QgdGhlIHRy
YW5zYWN0aW9uIHZpYSBldmVudC50cmFuc2FjdGlvbiBmcm9tIHdpdGhpbiBhbnkgZXZlbnQgaGFu
ZGxlcgotICAgIC8vIChsaWtlIHRoaXMgb25lKSBidXQgdGhpcyBpcyBub3QgeWV0IGltcGxlbWVu
dGVkIGluIENocm9taXVtL1dlYktpdC4gQXMgYSB3b3JrLWFyb3VuZCwgd2UgdXNlIHRoZQotICAg
IC8vIGdsb2JhbCAiY3VycmVudFRyYW5zYWN0aW9uIiB2YXJpYWJsZSB3ZSBzZXQgYWJvdmUuCi0g
ICAgY3VycmVudFRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBvbkFsbERvbmU7Ci19Ci0KLWZ1bmN0
aW9uIG9uQWxsRG9uZSgpCi17Ci0gICAgbG9nKCJFdmVyeXRoaW5nIHdvcmtlZCEiKTsKLX0KLQot
Ly8gVGhlIHdheSBzZXRWZXJzaW9uIGlzIHN1cHBvc2VkIHRvIHdvcms6Ci0vLyAgIFRvIGtlZXAg
dGhpbmdzIHNpbXBsZSB0byBiZWdpbiB3aXRoLCBvYmplY3RTdG9yZXMgYW5kIGluZGV4ZXMgY2Fu
IG9ubHkgYmUgY3JlYXRlZCBpbiBhIHNldFZlcnNpb24KLS8vIHRyYW5zYWN0aW9uIGFuZCBvbmUg
Y2FuIG9ubHkgcnVuIGlmIG5vIG90aGVyIGNvbm5lY3Rpb25zIGFyZSBvcGVuIHRvIHRoZSBkYXRh
YmFzZS4gVGhpcyBpcyBkZXNpZ25lZAotLy8gdG8gc2F2ZSBhcHAgZGV2ZWxvcGVycyBmcm9tIGhh
dmluZyBhbiBvbGRlciB2ZXJpc29uIG9mIGEgd2ViIHBhZ2UgdGhhdCBleHBlY3RzIGEgY2VydGFp
biBzZXQgb2YKLS8vIG9iamVjdFN0b3JlcyBhbmQgaW5kZXhlcyBmcm9tIGJyZWFraW5nIGluIG9k
ZCB3YXlzIHdoZW4gdGhpbmdzIGdldCBjaGFuZ2VkIG91dCBmcm9tIHVuZGVybmVpdGggaXQuCi0v
LyBJbiB0aGUgZnV0dXJlLCB3ZSdsbCBwcm9iYWJseSBhZGQgYSBtb3JlIGFkdmFuY2VkIG1lY2hh
bmlzbSwgYnV0IHRoaXMgaXMgaXQgZm9yIG5vdy4KLS8vICAgQmVjYXVzZSBhIHNldFZlcnNpb24g
dHJhbnNhY3Rpb24gY291bGQgc3RhbGwgb3V0IG5lYXJseSBmb3JldmVyIHVudGlsIHRoZSB1c2Vy
IGNsb3NlcyB3aW5kb3dzLAotLy8gd2UndmUgYWRkZWQgYSAiYmxvY2tlZCIgZXZlbnQgdG8gdGhl
IHJlcXVlc3Qgb2JqZWN0IHJldHVybmVkIGJ5IHNldFZlcnNpb24uIFRoaXMgd2lsbCBmaXJlIGlm
IHRoZQotLy8gc2V0VmVyc2lvbiB0cmFuc2FjdGlvbiBjYW4ndCBiZWdpbiBiZWNhdXNlIG90aGVy
IHdpbmRvd3MgaGF2ZSBhbiBvcGVuIGNvbm5lY3Rpb24uIFRoZSBhcHAgY2FuIHRoZW4KLS8vIGVp
dGhlciBwb3Agc29tZXRoaW5nIHVwIHRlbGxpbmcgdGhlIHVzZXIgdG8gY2xvc2Ugd2luZG93cyBv
ciBpdCBjYW4gdGVsbCB0aGUgb3RoZXIgd2luZG93cyB0byBjYWxsCi0vLyAuY2xvc2UoKSBvbiB0
aGVpciBkYXRhYmFzZSBoYW5kbGUuIC5jbG9zZSgpIGhhbHRzIGFueSBuZXcgdHJhbnNhY3Rpb25z
IGZyb20gc3RhcnRpbmcgYW5kIHdhaXRzIGZvcgotLy8gdGhlIGV4aXN0aW5nIG9uZXMgdG8gZmlu
aXNoLiBJdCB0aGVuIGNsb3NlcyB0aGUgY29ubmVjdGlvbiBhbmQgYW55IGluZGV4ZWREQiBjYWxs
cyBhZnRlcndhcmRzIGFyZQotLy8gaW52YWxpZCAodGhleSdsbCBwcm9iYWJseSB0aHJvdywgYnV0
IHRoaXMgaXNuJ3Qgc3BlY2lmaWVkIHlldCkuIFdlIG1heSBzcGVjaWZ5IC5jbG9zZSgpIHRvIHJl
dHVybgotLy8gYW4gSURCUmVxdWVzdCBvYmplY3Qgc28gdGhhdCB3ZSBjYW4gZmlyZSB0aGUgb25z
dWNjZXNzIHdoZW4gdGhlIGNsb3NlIGNvbXBsZXRlcy4KLS8vICAgT25jZSBpbnNpZGUgYSBzZXRW
ZXJzaW9uIHRyYW5zYWN0aW9uLCB5b3UgY2FuIGRvIGFueXRoaW5nIHlvdSdkIGxpa2UuIFRoZSBv
bmUgY29ubmVjdGlvbiB3aGljaAotLy8gd2FzIGFsbG93ZWQgdG8gc3RheSBvcGVuIHRvIGNvbXBs
ZXRlIHRoZSBzZXRWZXJzaW9uIHRyYW5zYWN0aW9uIHdpbGwgc3RheSBhbGl2ZS4gTXVsdGlwbGUK
LS8vIHNldFZlcnNpb24gdHJhbnNhY3Rpb25zIGNhbiBiZSBxdWV1ZWQgdXAgYXQgb25jZSBhbmQg
d2lsbCBmaXJlIGluIHRoZSBvcmRlciBxdWV1ZWQgKHRob3VnaAotLy8gdGhpcyBvYnZpb3VzbHkg
b25seSB3b3JrcyBpZiB0aGV5J3JlIHF1ZXVlZCBpbiB0aGUgc2FtZSBwYWdlKS4KLS8vCi0vLyBU
aGUgY3VycmVudCBzdGF0dXMgb2Ygc2V0VmVyc2lvbiBpbiBDaHJvbWl1bS9XZWJLaXQ6Ci0vLyAg
IEluIENocm9taXVtL1dlYktpdCB3ZSBjdXJyZW50bHkgZG9uJ3QgZW5mb3JjZSB0aGUgImFsbCBj
b25uZWN0aW9ucyBtdXN0IGJlIGNsb3NlZCBiZWZvcmUgYQotLy8gc2V0VmVyc2lvbiB0cmFuc2Fj
dGlvbiBzdGFydHMiIHJ1bGUuIFdlIGFsc28gZG9uJ3QgaW1wbGVtZW50IGRhdGFiYXNlLmNsb3Nl
KCkgb3IgaGF2ZSBhIGJsb2NrZWQKLS8vIGV2ZW50IG9uIHRoZSByZXF1ZXN0IC5zZXRWZXJzaW9u
KCkgcmV0dXJucy4KLS8vCi0vLyBUaGUgY3VycmVudCBzdGF0dXMgb2Ygd29ya2VyczoKLS8vICAg
Q2hyb21pdW0vV2ViS2l0IGRvIG5vdCB5ZXQgc3VwcG9ydCB3b3JrZXJzIHVzaW5nIEluZGV4ZWRE
Qi4gU3VwcG9ydCBmb3IgdGhlIGFzeW5jIGludGVyZmFjZQotLy8gd2lsbCBsaWtlbHkgY29tZSBi
ZWZvcmUgdGhlIHN5bmMgaW50ZXJmYWNlLiBGb3Igbm93LCBhIHdvcmstYXJvdW5kIGlzIHVzaW5n
IHBvc3RNZXNzYWdlIHRvIHRlbGwKLS8vIHRoZSBwYWdlIHdoYXQgdG8gZG8gb24gdGhlIHdvcmtl
cidzIGJlaGFsZiBpbiBhbiBhZC1ob2MgbWFubmVyLiBBbnl0aGluZyB0aGF0IGNhbiBiZSBzZXJp
YWxpemVkCi0vLyB0byBkaXNrIGNhbiBiZSBzZXJpYWxpemVkIGZvciBwb3N0TWVzc2FnZS4KLQot
PC9zY3JpcHQ+Ci08Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgotUGxlYXNlIHZpZXcgc291cmNlIGZv
ciBtb3JlIGluZm9ybWF0aW9uIG9uIHdoYXQgdGhpcyBpcyBkb2luZyBhbmQgd2h5Li4uPGJyPjxi
cj4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>