<?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>202370</bug_id>
          
          <creation_ts>2019-09-30 13:47:29 -0700</creation_ts>
          <short_desc>Allow pages using EventSource to enter the back/forward cache</short_desc>
          <delta_ts>2019-10-04 18:38:29 -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>WebCore Misc.</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>
          <dependson>202373</dependson>
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1575312</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-30 13:47:29 -0700</bug_when>
    <thetext>Allow pages using EventSource to enter the back/forward cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575313</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-30 13:47:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/55853142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575365</commentid>
    <comment_count>2</comment_count>
      <attachid>379853</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-30 16:33:00 -0700</bug_when>
    <thetext>Created attachment 379853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575545</commentid>
    <comment_count>3</comment_count>
      <attachid>379904</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-01 08:46:47 -0700</bug_when>
    <thetext>Created attachment 379904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575660</commentid>
    <comment_count>4</comment_count>
      <attachid>379931</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-01 12:47:58 -0700</bug_when>
    <thetext>Created attachment 379931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575672</commentid>
    <comment_count>5</comment_count>
      <attachid>379936</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-01 13:02:25 -0700</bug_when>
    <thetext>Created attachment 379936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575737</commentid>
    <comment_count>6</comment_count>
      <attachid>379950</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-01 14:23:03 -0700</bug_when>
    <thetext>Created attachment 379950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576593</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-03 14:04:08 -0700</bug_when>
    <thetext>Patch is ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577059</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-04 16:01:20 -0700</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577063</commentid>
    <comment_count>9</comment_count>
      <attachid>379950</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-10-04 16:11:49 -0700</bug_when>
    <thetext>Comment on attachment 379950
Patch

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

r=me

&gt; Source/WebCore/page/EventSource.cpp:427
&gt; +    if (std::exchange(m_shouldDispatchErrorEventOnResume, false)) {
&gt; +        scriptExecutionContext()-&gt;postTask([this, pendingActivity = makePendingActivity(*this)](ScriptExecutionContext&amp;) {
&gt; +            if (!isContextStopped())
&gt; +                dispatchErrorEvent();
&gt; +        });

Would it be crazy just to silently reconnect instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577066</commentid>
    <comment_count>10</comment_count>
      <attachid>379950</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-04 16:15:23 -0700</bug_when>
    <thetext>Comment on attachment 379950
Patch

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

&gt;&gt; Source/WebCore/page/EventSource.cpp:427
&gt;&gt; +        });
&gt; 
&gt; Would it be crazy just to silently reconnect instead?

I can give it a shot. It would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577074</commentid>
    <comment_count>11</comment_count>
      <attachid>380268</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-04 16:54:19 -0700</bug_when>
    <thetext>Created attachment 380268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577075</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-04 16:55:10 -0700</bug_when>
    <thetext>Requesting review again since I changed the approach to reconnect the EventSource when restoring from page cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577084</commentid>
    <comment_count>13</comment_count>
      <attachid>380268</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-10-04 17:09:56 -0700</bug_when>
    <thetext>Comment on attachment 380268
Patch

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

r=me

&gt; Source/WebCore/page/EventSource.cpp:429
&gt; +                scheduleReconnect();

Shiny! :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577099</commentid>
    <comment_count>14</comment_count>
      <attachid>380268</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-04 18:38:28 -0700</bug_when>
    <thetext>Comment on attachment 380268
Patch

Clearing flags on attachment: 380268

Committed r250761: &lt;https://trac.webkit.org/changeset/250761&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577100</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-04 18:38:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379853</attachid>
            <date>2019-09-30 16:33:00 -0700</date>
            <delta_ts>2019-10-01 08:46:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202370-20190930163259.patch</filename>
            <type>text/plain</type>
            <size>9677</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBiNDJmN2Y4NTg3MTkx
OTgxMDY1ZjMwZDYyNjM2ZjIxNDQyZDc5Yy4uNWJhZGE5MWNjMGFiZTU3ODA4MWYzNTdkNjA3YTFm
Mzk5MDc4YTY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTA5LTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcg
RXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBFdmVudFNvdXJjZSB0byBlbnRlciB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlIGJ5IGhhdmluZworICAgICAgICBFdmVudFNvdXJjZSBlbnF1ZXVl
IGl0cyBldmVudCB0byBhIEdlbmVyaWNFdmVudFF1ZXVlICh3aGljaCBpcyBQYWdlLWNhY2hlCisg
ICAgICAgIGF3YXJlKSBhbmQgYnkgdXNpbmcgYSBTdXNwZW5kYWJsZVRpbWVyICh3aGljaCBpcyBQ
YWdlLWNhY2hlIGF3YXJlKSB0bworICAgICAgICByZWNvbm5lY3Qgd2hlbiBkaXNjb25uZWN0ZWQu
CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdl
LWNhY2hlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRTb3VyY2U6OkV2ZW50U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNv
dXJjZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVS
ZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6YWJvcnRDb25uZWN0aW9u
QXR0ZW1wdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6
aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNl
OjpkaXNwYXRjaE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgor
CiAyMDE5LTA5LTMwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
TWFrZSBHZW5lcmljRXZlbnRRdWV1ZSBhbiBBY3RpdmVET01PYmplY3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKaW5kZXggYWEzYzkzMDg4MmNjMjM3YTljZTU1ZWU3NmRhMTQxZGRkZThh
OGMxYS4uNzUyNTZkMWNhYjU1NjdkYjlhY2NkZTZlYjEzMzBmMTgwNGQ2YjFhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTU3LDggKzU3LDEwIEBAIGlubGluZSBFdmVudFNv
dXJjZTo6RXZlbnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
VVJMJiB1cmwsCiAgICAgLCBtX3VybCh1cmwpCiAgICAgLCBtX3dpdGhDcmVkZW50aWFscyhldmVu
dFNvdXJjZUluaXQud2l0aENyZWRlbnRpYWxzKQogICAgICwgbV9kZWNvZGVyKFRleHRSZXNvdXJj
ZURlY29kZXI6OmNyZWF0ZSgidGV4dC9wbGFpbiJfcywgIlVURi04IikpCi0gICAgLCBtX2Nvbm5l
Y3RUaW1lcigqdGhpcywgJkV2ZW50U291cmNlOjpjb25uZWN0KQorICAgICwgbV9jb25uZWN0VGlt
ZXIoJmNvbnRleHQsICp0aGlzLCAmRXZlbnRTb3VyY2U6OmNvbm5lY3QpCisgICAgLCBtX2V2ZW50
UXVldWUoR2VuZXJpY0V2ZW50UXVldWU6OmNyZWF0ZSgqdGhpcykpCiB7CisgICAgbV9jb25uZWN0
VGltZXIuc3VzcGVuZElmTmVlZGVkKCk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxFdmVudFNvdXJj
ZT4+IEV2ZW50U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKQEAgLTE0Myw3
ICsxNDUsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCgpCiB7CiAgICAg
bV9zdGF0ZSA9IENPTk5FQ1RJTkc7CiAgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDFf
bXMgKiBtX3JlY29ubmVjdERlbGF5KTsKLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXND
YW5jZWxhYmxlOjpObykpOworICAgIG1fZXZlbnRRdWV1ZS0+ZW5xdWV1ZUV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVu
dDo6SXNDYW5jZWxhYmxlOjpObykpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpjbG9zZSgpCkBA
IC0xNTUsNyArMTU3LDkgQEAgdm9pZCBFdmVudFNvdXJjZTo6Y2xvc2UoKQogCiAgICAgLy8gU3Rv
cCB0cnlpbmcgdG8gY29ubmVjdC9yZWNvbm5lY3QgaWYgRXZlbnRTb3VyY2Ugd2FzIGV4cGxpY2l0
bHkgY2xvc2VkIG9yIGlmIEFjdGl2ZURPTU9iamVjdDo6c3RvcCgpIHdhcyBjYWxsZWQuCiAgICAg
aWYgKG1fY29ubmVjdFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY29ubmVjdFRpbWVyLnN0
b3AoKTsKKyAgICAgICAgbV9jb25uZWN0VGltZXIuY2FuY2VsKCk7CisKKyAgICBtX2V2ZW50UXVl
dWUtPmNhbmNlbEFsbEV2ZW50cygpOwogCiAgICAgaWYgKG1fcmVxdWVzdEluRmxpZ2h0KQogICAg
ICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CkBAIC0xOTksMTMgKzIwMywxMyBAQCB2b2lkIEV2ZW50
U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcAogCiAgICAgaWYgKCFyZXNwb25zZUlzVmFsaWQocmVzcG9uc2UpKSB7CiAg
ICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKLSAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZl
bnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAgICAgbV9ldmVudFF1ZXVlLT5lbnF1ZXVlRXZl
bnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNhbkJ1YmJs
ZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBtX2V2ZW50U3RyZWFtT3JpZ2luID0gU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJM
KHJlc3BvbnNlLnVybCgpKS50b1N0cmluZygpOwogICAgIG1fc3RhdGUgPSBPUEVOOwotICAgIGRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkub3BlbkV2ZW50LCBFdmVudDo6
Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBtX2V2ZW50UXVl
dWUtPmVucXVldWVFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5vcGVuRXZlbnQsIEV2
ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogfQogCiB2b2lk
IEV2ZW50U291cmNlOjpkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3Ro
KQpAQCAtMjY3LDcgKzI3MSw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmFib3J0Q29ubmVjdGlvbkF0
dGVtcHQoKQogICAgIH0KIAogICAgIEFTU0VSVChtX3N0YXRlID09IENMT1NFRCk7Ci0gICAgZGlz
cGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBFdmVudDo6
Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBtX2V2ZW50UXVl
dWUtPmVucXVldWVFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBF
dmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAogdm9p
ZCBFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0cmVhbSgpCkBAIC0zNzgsOCArMzgyLDEyIEBAIGNv
bnN0IGNoYXIqIEV2ZW50U291cmNlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKIAogYm9v
bCBFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7
Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCByZXR1cm4gdHJ1ZSBoZXJlIHdoZW4gd2UgY2FuIGJl
Y2F1c2UgdGhpcyBvYmplY3QgaXMgbm90IGFjdHVhbGx5IGN1cnJlbnRseSBhY3RpdmUuCi0gICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEV2ZW50U291cmNlOjpo
YXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAoreworICAgIHJldHVybiBtX2V2ZW50UXVldWUtPmhh
c1BlbmRpbmdFdmVudHMoKSB8fCBBY3RpdmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eSgp
OwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpkaXNwYXRjaE1lc3NhZ2VFdmVudCgpCkBAIC0zOTYs
NyArNDA0LDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnQoKQogICAg
IFJFTEVBU0VfQVNTRVJUKGRhdGEpOwogICAgIG1fZGF0YSA9IHsgfTsKIAotICAgIGRpc3BhdGNo
RXZlbnQoTWVzc2FnZUV2ZW50OjpjcmVhdGUobmFtZSwgZGF0YS5yZWxlYXNlTm9uTnVsbCgpLCBt
X2V2ZW50U3RyZWFtT3JpZ2luLCBtX2xhc3RFdmVudElkKSk7CisgICAgbV9ldmVudFF1ZXVlLT5l
bnF1ZXVlRXZlbnQoTWVzc2FnZUV2ZW50OjpjcmVhdGUobmFtZSwgZGF0YS5yZWxlYXNlTm9uTnVs
bCgpLCBtX2V2ZW50U3RyZWFtT3JpZ2luLCBtX2xhc3RFdmVudElkKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCA5NDEzYjZhYjMz
NGVjOTZkOGQ4ODQzZGIxM2YzOGY3MWM2NjU4ZDRjLi42MzI1MmVhMDMyNzk5ZjhmMmRiYmU5NzEw
YTc0ZjNiMGU2NTZjMmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC0zNCw2ICsz
NCw3IEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIkdlbmVyaWNFdmVudFF1
ZXVlLmgiCiAjaW5jbHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtNjksNiArNzAsOSBAQCBwdWJsaWM6CiAg
ICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwog
CisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBj
b25zdCBmaW5hbDsKKwogcHJpdmF0ZToKICAgICBFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgY29uc3QgVVJMJiwgY29uc3QgSW5pdCYpOwogCkBAIC04NCw2ICs4OCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcpIGZpbmFsOwog
ICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJikgZmluYWw7CiAKKyAgICAvLyBB
Y3RpdmVET01PYmplY3QKICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBh
Y3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBjYW5TdXNwZW5kRm9y
RG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CkBAIC0xMDcsNyArMTEyLDcgQEAgcHJp
dmF0ZToKIAogICAgIFJlZjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IG1fbG9hZGVyOwotICAgIFRpbWVyIG1fY29ubmVjdFRpbWVy
OworICAgIFN1c3BlbmRhYmxlVGltZXIgbV9jb25uZWN0VGltZXI7CiAgICAgVmVjdG9yPFVDaGFy
PiBtX3JlY2VpdmVCdWZmZXI7CiAgICAgYm9vbCBtX2Rpc2NhcmRUcmFpbGluZ05ld2xpbmUgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9yZXF1ZXN0SW5GbGlnaHQgeyBmYWxzZSB9OwpAQCAtMTE4LDYg
KzEyMyw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fbGFzdEV2ZW50SWQ7CiAgICAgdWludDY0
X3QgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5lY3REZWxheSB9OwogICAgIFN0cmlu
ZyBtX2V2ZW50U3RyZWFtT3JpZ2luOworICAgIFVuaXF1ZVJlZjxHZW5lcmljRXZlbnRRdWV1ZT4g
bV9ldmVudFF1ZXVlOwogfTsKIAogaW5saW5lIGNvbnN0IFN0cmluZyYgRXZlbnRTb3VyY2U6OnVy
bCgpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMDBjY2ExZjVjNjUyZWQzYTg3NDM0MWY1ODQ1YWRkNjIwZjk2Mjg2
OS4uZWNjZmU0MWMxNDljZjk1MjM4NzFlOTNkYTM5NzllNjEzYzA5MmJiZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDE5LTA5LTMwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcgRXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2sv
Zm9yd2FyZCBjYWNoZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3Qg
Y292ZXJhZ2UuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNl
LXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2
ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUuaHRtbDogQWRkZWQuCisKIDIwMTktMDkt
MzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQYWdlcyB3aXRo
IFdlYiBXb3JrZXJzIGNhbm5vdCBlbnRlciB0aGUgYmFjayAvIGZvcndhcmQgY2FjaGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFn
ZS1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjMTFhNTYw
MzBhOTUzN2UyMzE2ZWE4MmYyNTk0MDZhNWMzODNkMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHVzaW5nIEV2ZW50
U291cmNlIGNhbiBlbnRlciB0aGUgUGFnZUNhY2hlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorcGFnZWhpZGUgLSBlbnRlcmluZyBj
YWNoZQorcGFnZXNob3cgLSBmcm9tIGNhY2hlCitQQVNTIFBhZ2UgZGlkIGVudGVyIGFuZCB3YXMg
cmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTZlYzAwYzE3YzEwZGJkOWUwYTNjYzYxOTI0MmQ0NDhlY2Q0MjgyNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2Ut
cGFnZS1jYWNoZS5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBh
IHBhZ2UgdXNpbmcgRXZlbnRTb3VyY2UgY2FuIGVudGVyIHRoZSBQYWdlQ2FjaGUuIik7Citqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93Iiwg
ZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNp
c3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CisKKyAgICBpZiAoZXZlbnQucGVy
c2lzdGVkKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVz
dG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAgIH0K
K30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rp
b24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZWhpZGUgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/
ICIiIDogIm5vdCAiKSArICJlbnRlcmluZyBjYWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lz
dGVkKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlkIG5vdCBlbnRlciB0aGUgcGFnZSBj
YWNoZS4iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOworCitv
bmxvYWQgPSAoKSA9PiB7CisgICAgZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291
cmNlcy9ldmVudC1zdHJlYW0ucGhwIik7CisgICAgZXZlbnRTb3VyY2Uub25vcGVuID0gKCkgPT4g
eworICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcGFnZS1j
YWNoZS1oZWxwZXIuaHRtbCI7IAorICAgIH0KKyAgICBldmVudFNvdXJjZS5vbm1lc3NhZ2UgPSAo
KSA9PiB7IH07Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379904</attachid>
            <date>2019-10-01 08:46:47 -0700</date>
            <delta_ts>2019-10-01 12:47:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202370-20191001084646.patch</filename>
            <type>text/plain</type>
            <size>9712</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzUxYjQ5ZmUwZDMyMzEy
NTI5MTJjNDMwNDM2OTU1N2NlZWNhMmU4NS4uM2U1ZWVmOTY4MzFhYmY5MWViMTJmZGFhMDVkNjhi
NzQ0Y2U1NmIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTEwLTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcg
RXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBFdmVudFNvdXJjZSB0byBlbnRlciB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlIGJ5IGhhdmluZworICAgICAgICBFdmVudFNvdXJjZSBlbnF1ZXVl
IGl0cyBldmVudCB0byBhIEdlbmVyaWNFdmVudFF1ZXVlICh3aGljaCBpcyBQYWdlLWNhY2hlCisg
ICAgICAgIGF3YXJlKSBhbmQgYnkgdXNpbmcgYSBTdXNwZW5kYWJsZVRpbWVyICh3aGljaCBpcyBQ
YWdlLWNhY2hlIGF3YXJlKSB0bworICAgICAgICByZWNvbm5lY3Qgd2hlbiBkaXNjb25uZWN0ZWQu
CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdl
LWNhY2hlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRTb3VyY2U6OkV2ZW50U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNv
dXJjZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVS
ZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6YWJvcnRDb25uZWN0aW9u
QXR0ZW1wdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6
aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNl
OjpkaXNwYXRjaE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgor
CiAyMDE5LTEwLTAxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbQ29vcmRHcmFwaGljc10gSW1wbGVtZW50IHN5bmMgbWV0aG9kcyBmb3IgcG9zaXRpb24s
IGJvdW5kcyBvcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggYWEzYzkz
MDg4MmNjMjM3YTljZTU1ZWU3NmRhMTQxZGRkZThhOGMxYS4uNzUyNTZkMWNhYjU1NjdkYjlhY2Nk
ZTZlYjEzMzBmMTgwNGQ2YjFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAg
LTU3LDggKzU3LDEwIEBAIGlubGluZSBFdmVudFNvdXJjZTo6RXZlbnRTb3VyY2UoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmwsCiAgICAgLCBtX3VybCh1cmwp
CiAgICAgLCBtX3dpdGhDcmVkZW50aWFscyhldmVudFNvdXJjZUluaXQud2l0aENyZWRlbnRpYWxz
KQogICAgICwgbV9kZWNvZGVyKFRleHRSZXNvdXJjZURlY29kZXI6OmNyZWF0ZSgidGV4dC9wbGFp
biJfcywgIlVURi04IikpCi0gICAgLCBtX2Nvbm5lY3RUaW1lcigqdGhpcywgJkV2ZW50U291cmNl
Ojpjb25uZWN0KQorICAgICwgbV9jb25uZWN0VGltZXIoJmNvbnRleHQsICp0aGlzLCAmRXZlbnRT
b3VyY2U6OmNvbm5lY3QpCisgICAgLCBtX2V2ZW50UXVldWUoR2VuZXJpY0V2ZW50UXVldWU6OmNy
ZWF0ZSgqdGhpcykpCiB7CisgICAgbV9jb25uZWN0VGltZXIuc3VzcGVuZElmTmVlZGVkKCk7CiB9
CiAKIEV4Y2VwdGlvbk9yPFJlZjxFdmVudFNvdXJjZT4+IEV2ZW50U291cmNlOjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IElu
aXQmIGV2ZW50U291cmNlSW5pdCkKQEAgLTE0Myw3ICsxNDUsNyBAQCB2b2lkIEV2ZW50U291cmNl
OjpzY2hlZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7CiAgICAg
bV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDFfbXMgKiBtX3JlY29ubmVjdERlbGF5KTsKLSAg
ICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2
ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgIG1fZXZl
bnRRdWV1ZS0+ZW5xdWV1ZUV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZl
bnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogfQog
CiB2b2lkIEV2ZW50U291cmNlOjpjbG9zZSgpCkBAIC0xNTUsNyArMTU3LDkgQEAgdm9pZCBFdmVu
dFNvdXJjZTo6Y2xvc2UoKQogCiAgICAgLy8gU3RvcCB0cnlpbmcgdG8gY29ubmVjdC9yZWNvbm5l
Y3QgaWYgRXZlbnRTb3VyY2Ugd2FzIGV4cGxpY2l0bHkgY2xvc2VkIG9yIGlmIEFjdGl2ZURPTU9i
amVjdDo6c3RvcCgpIHdhcyBjYWxsZWQuCiAgICAgaWYgKG1fY29ubmVjdFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fY29ubmVjdFRpbWVyLnN0b3AoKTsKKyAgICAgICAgbV9jb25uZWN0VGlt
ZXIuY2FuY2VsKCk7CisKKyAgICBtX2V2ZW50UXVldWUtPmNhbmNlbEFsbEV2ZW50cygpOwogCiAg
ICAgaWYgKG1fcmVxdWVzdEluRmxpZ2h0KQogICAgICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7CkBA
IC0xOTksMTMgKzIwMywxMyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAogCiAgICAgaWYgKCFy
ZXNwb25zZUlzVmFsaWQocmVzcG9uc2UpKSB7CiAgICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsK
LSAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2
ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAg
ICAgICAgbV9ldmVudFF1ZXVlLT5lbnF1ZXVlRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6
Ok5vKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBtX2V2ZW50U3RyZWFtT3JpZ2lu
ID0gU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlc3BvbnNlLnVybCgpKS50b1N0cmluZygp
OwogICAgIG1fc3RhdGUgPSBPUEVOOwotICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkub3BlbkV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKKyAgICBtX2V2ZW50UXVldWUtPmVucXVldWVFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5vcGVuRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6
SXNDYW5jZWxhYmxlOjpObykpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZlRGF0
YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQpAQCAtMjY3LDcgKzI3MSw3IEBAIHZvaWQg
RXZlbnRTb3VyY2U6OmFib3J0Q29ubmVjdGlvbkF0dGVtcHQoKQogICAgIH0KIAogICAgIEFTU0VS
VChtX3N0YXRlID09IENMT1NFRCk7Ci0gICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2Fu
Y2VsYWJsZTo6Tm8pKTsKKyAgICBtX2V2ZW50UXVldWUtPmVucXVldWVFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6
OklzQ2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0
cmVhbSgpCkBAIC0zNzgsOCArMzgyLDEyIEBAIGNvbnN0IGNoYXIqIEV2ZW50U291cmNlOjphY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3QKIAogYm9vbCBFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCBy
ZXR1cm4gdHJ1ZSBoZXJlIHdoZW4gd2UgY2FuIGJlY2F1c2UgdGhpcyBvYmplY3QgaXMgbm90IGFj
dHVhbGx5IGN1cnJlbnRseSBhY3RpdmUuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0
cnVlOworfQorCitib29sIEV2ZW50U291cmNlOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAor
eworICAgIHJldHVybiBtX2V2ZW50UXVldWUtPmhhc1BlbmRpbmdFdmVudHMoKSB8fCBBY3RpdmVE
T01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpk
aXNwYXRjaE1lc3NhZ2VFdmVudCgpCkBAIC0zOTYsNyArNDA0LDcgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnQoKQogICAgIFJFTEVBU0VfQVNTRVJUKGRhdGEpOwogICAg
IG1fZGF0YSA9IHsgfTsKIAotICAgIGRpc3BhdGNoRXZlbnQoTWVzc2FnZUV2ZW50OjpjcmVhdGUo
bmFtZSwgZGF0YS5yZWxlYXNlTm9uTnVsbCgpLCBtX2V2ZW50U3RyZWFtT3JpZ2luLCBtX2xhc3RF
dmVudElkKSk7CisgICAgbV9ldmVudFF1ZXVlLT5lbnF1ZXVlRXZlbnQoTWVzc2FnZUV2ZW50Ojpj
cmVhdGUobmFtZSwgZGF0YS5yZWxlYXNlTm9uTnVsbCgpLCBtX2V2ZW50U3RyZWFtT3JpZ2luLCBt
X2xhc3RFdmVudElkKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuaAppbmRleCA5NDEzYjZhYjMzNGVjOTZkOGQ4ODQzZGIxM2YzOGY3MWM2NjU4
ZDRjLi42MzI1MmVhMDMyNzk5ZjhmMmRiYmU5NzEwYTc0ZjNiMGU2NTZjMmNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQWN0aXZlRE9N
T2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25P
ci5oIgorI2luY2x1ZGUgIkdlbmVyaWNFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSA8d3RmL1VSTC5o
PgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJUaW1lci5o
IgpAQCAtNjksNiArNzAsOSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOwog
ICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0Cisg
ICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKKwogcHJpdmF0ZToKICAg
ICBFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgVVJMJiwgY29uc3Qg
SW5pdCYpOwogCkBAIC04NCw2ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRGaW5pc2hM
b2FkaW5nKHVuc2lnbmVkIGxvbmcpIGZpbmFsOwogICAgIHZvaWQgZGlkRmFpbChjb25zdCBSZXNv
dXJjZUVycm9yJikgZmluYWw7CiAKKyAgICAvLyBBY3RpdmVET01PYmplY3QKICAgICB2b2lkIHN0
b3AoKSBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qg
ZmluYWw7CiAgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qg
ZmluYWw7CkBAIC0xMDcsNyArMTEyLDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxUZXh0UmVzb3Vy
Y2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IG1fbG9h
ZGVyOwotICAgIFRpbWVyIG1fY29ubmVjdFRpbWVyOworICAgIFN1c3BlbmRhYmxlVGltZXIgbV9j
b25uZWN0VGltZXI7CiAgICAgVmVjdG9yPFVDaGFyPiBtX3JlY2VpdmVCdWZmZXI7CiAgICAgYm9v
bCBtX2Rpc2NhcmRUcmFpbGluZ05ld2xpbmUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9yZXF1ZXN0
SW5GbGlnaHQgeyBmYWxzZSB9OwpAQCAtMTE4LDYgKzEyMyw3IEBAIHByaXZhdGU6CiAgICAgU3Ry
aW5nIG1fbGFzdEV2ZW50SWQ7CiAgICAgdWludDY0X3QgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1
bHRSZWNvbm5lY3REZWxheSB9OwogICAgIFN0cmluZyBtX2V2ZW50U3RyZWFtT3JpZ2luOworICAg
IFVuaXF1ZVJlZjxHZW5lcmljRXZlbnRRdWV1ZT4gbV9ldmVudFF1ZXVlOwogfTsKIAogaW5saW5l
IGNvbnN0IFN0cmluZyYgRXZlbnRTb3VyY2U6OnVybCgpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzExZjJiOTEx
N2YyZTRjZjJkYjI0YWNiZTJiYTkxMGU2MjZjOTBhMi4uMjdlMTgyOGYyZWVhZjQyYTBjMjc4Nzlm
Y2EyNjgwMDdkODQzOGEwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEwLTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcg
RXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2Ut
Y2FjaGUuaHRtbDogQWRkZWQuCisKIDIwMTktMTAtMDEgIEpvb25naHVuIFBhcmsgIDxqaDcxOC5w
YXJrQHNhbXN1bmcuY29tPgogCiAgICAgICAgIE1ha2UgdGFibGUncyBjbGllbnRXaWR0aC9IZWln
aHQgaW5jbHVkZSBpdHMgYm9yZGVyIHNpemVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNo
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MxMWE1NjAzMGE5NTM3ZTIzMTZlYTgyZjI1OTQw
NmE1YzM4M2QwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorVGVzdHMgdGhhdCBhIHBhZ2UgdXNpbmcgRXZlbnRTb3VyY2UgY2FuIGVudGVyIHRoZSBQ
YWdlQ2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitwYWdlc2hvdyAtIG5v
dCBmcm9tIGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5nIGNhY2hlCitwYWdlc2hvdyAtIGZyb20g
Y2FjaGUKK1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdl
IGNhY2hlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLXBhZ2UtY2FjaGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmVjMDBjMTdjMTBkYmQ5
ZTBhM2NjNjE5MjQyZDQ0OGVjZDQyODI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLmh0bWwKQEAgLTAs
MCArMSw0MSBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1
ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgcGFnZSB1c2luZyBFdmVudFNvdXJj
ZSBjYW4gZW50ZXIgdGhlIFBhZ2VDYWNoZS4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihldmVudCkgeworICAg
IGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsg
ImZyb20gY2FjaGUiKTsKKworICAgIGlmIChldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVz
dFBhc3NlZCgiUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNh
Y2hlIik7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVn
KCJwYWdlaGlkZSAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImVudGVy
aW5nIGNhY2hlIik7CisgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVzdEZh
aWxlZCgiUGFnZSBkaWQgbm90IGVudGVyIHRoZSBwYWdlIGNhY2hlLiIpOworICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICBl
dmVudFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL2V2ZW50LXN0cmVhbS5waHAi
KTsKKyAgICBldmVudFNvdXJjZS5vbm9wZW4gPSAoKSA9PiB7CisgICAgICAgd2luZG93LmxvY2F0
aW9uID0gIi9uYXZpZ2F0aW9uL3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsgCisg
ICAgfQorICAgIGV2ZW50U291cmNlLm9ubWVzc2FnZSA9ICgpID0+IHsgfTsKK30KKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379931</attachid>
            <date>2019-10-01 12:47:58 -0700</date>
            <delta_ts>2019-10-01 13:02:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202370-20191001124757.patch</filename>
            <type>text/plain</type>
            <size>17499</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDA3ZTkxNDk2NDU3NGI1
MDEyMWIwMWJjOWEzOGUxZDZjZTdlMTUyMi4uNGQ2Y2VmYmI4Njk4ZGFlYjdiZTRmMDhlMDEyMmJk
MmE1ZDI0Y2IxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5LTEwLTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcg
RXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBFdmVudFNvdXJjZSB0byBlbnRlciB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlLiBJZiB0aGUgRXZlbnRTb3VyY2UgaXMKKyAgICAgICAgY29ubmVj
dGluZyBhdCB0aGUgdGltZSBpdCBlbnRlcnMgUGFnZUNhY2hlLCBpdCB3aWxsIHJlc3VtZSBjb25u
ZWN0aW5nIGFmdGVyIHJlc3RvcmluZworICAgICAgICBmcm9tIFBhZ2VDYWNoZSAoYnkgbWFraW5n
IG1fY29ubmVjdFRpbWVyIGEgU3VzcGVuZGFibGVUaW1lciwgd2hpY2ggaXMgUGFnZUNhY2hlLWF3
YXJlKS4KKyAgICAgICAgSWYgdGhlIEV2ZW50U291cmNlIGlzIHdhcyBvcGVuIHVwb24gbmF2aWdh
dGluZywgaXQgZ2V0cyBjbG9zZWQgdXBvbiBuYXZpZ2F0aW5nIChzaW5jZQorICAgICAgICBhbGwg
cGVuZGluZyBsb2FkcyBnZXQgY2FuY2VsbGVkIG9uIG5hdmlnYXRpb24pLiBUbyBoZWxwIHRoZSBw
YWdlIHJlY292ZXIsIHdlIG1ha2Ugc3VyZQorICAgICAgICB0byBmaXJlIGFuIGVycm9yIGV2ZW50
IHVwb24gcmVzdG9yaW5nIGZyb20gUGFnZUNhY2hlIGluIHRoaXMgY2FzZS4KKworICAgICAgICBU
ZXN0czogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5l
Y3RpbmcuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1wYWdlLWNhY2hlLW9wZW4uaHRtbAorCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6RXZlbnRTb3VyY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50U291cmNlOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpk
aXNwYXRjaEVycm9yRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJl
Y2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRGaW5pc2hMb2Fk
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRGYWlsKToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50U291cmNlOjphYm9ydENvbm5lY3Rpb25BdHRlbXB0KToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50U291cmNlOjpkb0V4cGxpY2l0TG9hZENhbmNlbGxhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c3VzcGVuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50U291cmNlOjpkaXNwYXRjaE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudFNv
dXJjZS5oOgorCiAyMDE5LTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBhdHRlbXB0IHRvIGZpeCBXaW5kb3dzIGJ1aWxkIGFmdGVyIHIy
NTA1MjcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGFhM2M5MzA4ODJjYzIz
N2E5Y2U1NWVlNzZkYTE0MWRkZGU4YThjMWEuLjU1MzU1NjUxODk5Y2I4MjUzOTQ4MWM1ZDJmYzNh
MTJjYTBhOWM0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC00NSw2ICs0
NSw3IEBACiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIlRocmVh
ZGFibGVMb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1
ZGUgPHd0Zi9TZXRGb3JTY29wZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU3LDgg
KzU4LDkgQEAgaW5saW5lIEV2ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBjb25zdCBVUkwmIHVybCwKICAgICAsIG1fdXJsKHVybCkKICAgICAs
IG1fd2l0aENyZWRlbnRpYWxzKGV2ZW50U291cmNlSW5pdC53aXRoQ3JlZGVudGlhbHMpCiAgICAg
LCBtX2RlY29kZXIoVGV4dFJlc291cmNlRGVjb2Rlcjo6Y3JlYXRlKCJ0ZXh0L3BsYWluIl9zLCAi
VVRGLTgiKSkKLSAgICAsIG1fY29ubmVjdFRpbWVyKCp0aGlzLCAmRXZlbnRTb3VyY2U6OmNvbm5l
Y3QpCisgICAgLCBtX2Nvbm5lY3RUaW1lcigmY29udGV4dCwgKnRoaXMsICZFdmVudFNvdXJjZTo6
Y29ubmVjdCkKIHsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdXNwZW5kSWZOZWVkZWQoKTsKIH0KIAog
RXhjZXB0aW9uT3I8UmVmPEV2ZW50U291cmNlPj4gRXZlbnRTb3VyY2U6OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgSW5pdCYg
ZXZlbnRTb3VyY2VJbml0KQpAQCAtMTQxLDkgKzE0MywxMCBAQCB2b2lkIEV2ZW50U291cmNlOjpz
Y2hlZHVsZUluaXRpYWxDb25uZWN0KCkKIAogdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNv
bm5lY3QoKQogeworICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04o
IW1faXNTdXNwZW5kZWQpOwogICAgIG1fc3RhdGUgPSBDT05ORUNUSU5HOwogICAgIG1fY29ubmVj
dFRpbWVyLnN0YXJ0T25lU2hvdCgxX21zICogbV9yZWNvbm5lY3REZWxheSk7Ci0gICAgZGlzcGF0
Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBFdmVudDo6Q2Fu
QnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBkaXNwYXRjaEVycm9y
RXZlbnQoKTsKIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6Y2xvc2UoKQpAQCAtMTU1LDEwICsxNTgs
MTAgQEAgdm9pZCBFdmVudFNvdXJjZTo6Y2xvc2UoKQogCiAgICAgLy8gU3RvcCB0cnlpbmcgdG8g
Y29ubmVjdC9yZWNvbm5lY3QgaWYgRXZlbnRTb3VyY2Ugd2FzIGV4cGxpY2l0bHkgY2xvc2VkIG9y
IGlmIEFjdGl2ZURPTU9iamVjdDo6c3RvcCgpIHdhcyBjYWxsZWQuCiAgICAgaWYgKG1fY29ubmVj
dFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY29ubmVjdFRpbWVyLnN0b3AoKTsKKyAgICAg
ICAgbV9jb25uZWN0VGltZXIuY2FuY2VsKCk7CiAKICAgICBpZiAobV9yZXF1ZXN0SW5GbGlnaHQp
Ci0gICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKKyAgICAgICAgZG9FeHBsaWNpdExvYWRDYW5j
ZWxsYXRpb24oKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAg
ICAgdW5zZXRQZW5kaW5nQWN0aXZpdHkoKnRoaXMpOwpAQCAtMTk2LDEwICsxOTksMTEgQEAgdm9p
ZCBFdmVudFNvdXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlc3AKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBDT05ORUNUSU5H
KTsKICAgICBBU1NFUlQobV9yZXF1ZXN0SW5GbGlnaHQpOworICAgIFJFTEVBU0VfQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW1faXNTdXNwZW5kZWQpOwogCiAgICAgaWYgKCFyZXNw
b25zZUlzVmFsaWQocmVzcG9uc2UpKSB7Ci0gICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKLSAg
ICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50
LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICAg
ICAgZG9FeHBsaWNpdExvYWRDYW5jZWxsYXRpb24oKTsKKyAgICAgICAgZGlzcGF0Y2hFcnJvckV2
ZW50KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIwOCwxMCArMjEyLDE2IEBAIHZv
aWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwCiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5vcGVuRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5j
ZWxhYmxlOjpObykpOwogfQogCit2b2lkIEV2ZW50U291cmNlOjpkaXNwYXRjaEVycm9yRXZlbnQo
KQoreworICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JF
dmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7Cit9
CisKIHZvaWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGlu
dCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gT1BFTik7CiAgICAgQVNTRVJUKG1f
cmVxdWVzdEluRmxpZ2h0KTsKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFtX2lzU3VzcGVuZGVkKTsKIAogICAgIGFwcGVuZChtX3JlY2VpdmVCdWZmZXIsIG1f
ZGVjb2Rlci0+ZGVjb2RlKGRhdGEsIGxlbmd0aCkpOwogICAgIHBhcnNlRXZlbnRTdHJlYW0oKTsK
QEAgLTIyMSw2ICsyMzEsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRGaW5pc2hMb2FkaW5nKHVu
c2lnbmVkIGxvbmcpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gT1BFTik7CiAgICAgQVNTRVJU
KG1fcmVxdWVzdEluRmxpZ2h0KTsKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKCFtX2lzU3VzcGVuZGVkKTsKIAogICAgIGFwcGVuZChtX3JlY2VpdmVCdWZmZXIs
IG1fZGVjb2Rlci0+Zmx1c2goKSk7CiAgICAgcGFyc2VFdmVudFN0cmVhbSgpOwpAQCAtMjUzLDE0
ICsyNjQsMjAgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9y
JiBlcnJvcikKICAgICAvLyBGSVhNRTogV2h5IGRvbid0IHdlIG5lZWQgdG8gY2xlYXIgZGF0YSBt
ZW1iZXJzIGhlcmUgYXMgaW4gZGlkRmluaXNoTG9hZGluZz8KIAogICAgIG5ldHdvcmtSZXF1ZXN0
RW5kZWQoKTsKKworICAgIC8vIFRoaXMgaXMgdGhlIGNhc2Ugd2hlcmUgdGhlIGxvYWQgZ2V0cyBj
YW5jZWxsZWQgb24gbmF2aWdhdGluZyBhd2F5LiBXZSBvbmx5IGZpcmUgYW4gZXJyb3IgZXZlbnQK
KyAgICAvLyBpZiB3ZSBlbmQgdXAgZ2V0dGluZyByZXN1bWVkIGZyb20gcGFnZSBjYWNoZSwgdG8g
aGVscCB0aGUgcGFnZSByZWNvdmVyLgorICAgIGlmIChlcnJvci5pc0NhbmNlbGxhdGlvbigpICYm
ICFtX2lzRG9pbmdFeHBsaWNpdENhbmNlbGxhdGlvbikKKyAgICAgICAgbV9zaG91bGREaXNwYXRj
aEVycm9yRXZlbnRPblJlc3VtZSA9IHRydWU7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OmFib3J0
Q29ubmVjdGlvbkF0dGVtcHQoKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IENPTk5FQ1RJTkcp
OworICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW1faXNTdXNw
ZW5kZWQpOwogCiAgICAgaWYgKG1fcmVxdWVzdEluRmxpZ2h0KQotICAgICAgICBtX2xvYWRlci0+
Y2FuY2VsKCk7CisgICAgICAgIGRvRXhwbGljaXRMb2FkQ2FuY2VsbGF0aW9uKCk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2
aXR5KCp0aGlzKTsKQEAgLTI3MCw2ICsyODcsMTMgQEAgdm9pZCBFdmVudFNvdXJjZTo6YWJvcnRD
b25uZWN0aW9uQXR0ZW1wdCgpCiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5lcnJvckV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8pKTsKIH0KIAordm9pZCBFdmVudFNvdXJjZTo6ZG9FeHBsaWNpdExvYWRDYW5jZWxs
YXRpb24oKQoreworICAgIEFTU0VSVChtX3JlcXVlc3RJbkZsaWdodCk7CisgICAgU2V0Rm9yU2Nv
cGU8Ym9vbD4gZXhwbGljaXRMb2FkQ2FuY2VsbGF0aW9uKG1faXNEb2luZ0V4cGxpY2l0Q2FuY2Vs
bGF0aW9uLCB0cnVlKTsKKyAgICBtX2xvYWRlci0+Y2FuY2VsKCk7Cit9CisKIHZvaWQgRXZlbnRT
b3VyY2U6OnBhcnNlRXZlbnRTdHJlYW0oKQogewogICAgIHVuc2lnbmVkIHBvc2l0aW9uID0gMDsK
QEAgLTM3OCwxMiArNDAyLDMxIEBAIGNvbnN0IGNoYXIqIEV2ZW50U291cmNlOjphY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3QKIAogYm9vbCBFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IFdlIHNob3VsZCByZXR1cm4g
dHJ1ZSBoZXJlIHdoZW4gd2UgY2FuIGJlY2F1c2UgdGhpcyBvYmplY3QgaXMgbm90IGFjdHVhbGx5
IGN1cnJlbnRseSBhY3RpdmUuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOwor
fQorCit2b2lkIEV2ZW50U291cmNlOjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pCit7Cisg
ICAgbV9pc1N1c3BlbmRlZCA9IHRydWU7CisKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NB
R0UoIW1fcmVxdWVzdEluRmxpZ2h0LCAiTG9hZHMgZ2V0IGNhbmNlbGxlZCBiZWZvcmUgZW50ZXJp
bmcgUGFnZUNhY2hlLiIpOworfQorCit2b2lkIEV2ZW50U291cmNlOjpyZXN1bWUoKQoreworICAg
IG1faXNTdXNwZW5kZWQgPSBmYWxzZTsKKyAgICBpZiAobV9zaG91bGREaXNwYXRjaEVycm9yRXZl
bnRPblJlc3VtZSA9IHN0ZDo6ZXhjaGFuZ2UobV9zaG91bGREaXNwYXRjaEVycm9yRXZlbnRPblJl
c3VtZSwgZmFsc2UpKSB7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRh
c2soW3RoaXMsIHBlbmRpbmdBY3Rpdml0eSA9IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpXShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JikgeworICAgICAgICAgICAgaWYgKCFpc0NvbnRleHRTdG9w
cGVkKCkpCisgICAgICAgICAgICAgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7CisgICAgICAgIH0p
OworICAgIH0KIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnQoKQog
eworICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW1faXNTdXNw
ZW5kZWQpOworCiAgICAgaWYgKCFtX2N1cnJlbnRseVBhcnNlZEV2ZW50SWQuaXNOdWxsKCkpCiAg
ICAgICAgIG1fbGFzdEV2ZW50SWQgPSBXVEZNb3ZlKG1fY3VycmVudGx5UGFyc2VkRXZlbnRJZCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCA5NDEzYjZhYjMzNGVjOTZkOGQ4ODQz
ZGIxM2YzOGY3MWM2NjU4ZDRjLi43OThlNTBmZmYzMjVjMzE1YTUyNjM1ZDVkOGQxNWU5MDQxMjQ2
ZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC0zNCw5ICszNCwxMCBAQAogI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlIDx3dGYvVVJMLmg+CisjaW5jbHVkZSAiU3Vz
cGVuZGFibGVUaW1lci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNp
bmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTc4LDE1ICs3OSwyMSBAQCBwcml2YXRl
OgogICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CiAgICAgdm9pZCBk
ZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKKyAgICB2b2lkIGRpc3BhdGNo
RXJyb3JFdmVudCgpOworICAgIHZvaWQgZG9FeHBsaWNpdExvYWRDYW5jZWxsYXRpb24oKTsKKwog
ICAgIC8vIFRocmVhZGFibGVMb2FkZXJDbGllbnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgdm9p
ZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiwgaW50KSBmaW5hbDsKICAgICB2b2lkIGRpZEZp
bmlzaExvYWRpbmcodW5zaWduZWQgbG9uZykgZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0
IFJlc291cmNlRXJyb3ImKSBmaW5hbDsKIAorICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIHZv
aWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBj
b25zdCBmaW5hbDsKICAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdCBmaW5hbDsKKyAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgZmluYWw7
CisgICAgdm9pZCByZXN1bWUoKSBmaW5hbDsKIAogICAgIHZvaWQgY29ubmVjdCgpOwogICAgIHZv
aWQgbmV0d29ya1JlcXVlc3RFbmRlZCgpOwpAQCAtMTA3LDEwICsxMTQsMTMgQEAgcHJpdmF0ZToK
IAogICAgIFJlZjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgUmVmUHRyPFRo
cmVhZGFibGVMb2FkZXI+IG1fbG9hZGVyOwotICAgIFRpbWVyIG1fY29ubmVjdFRpbWVyOworICAg
IFN1c3BlbmRhYmxlVGltZXIgbV9jb25uZWN0VGltZXI7CiAgICAgVmVjdG9yPFVDaGFyPiBtX3Jl
Y2VpdmVCdWZmZXI7CiAgICAgYm9vbCBtX2Rpc2NhcmRUcmFpbGluZ05ld2xpbmUgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9yZXF1ZXN0SW5GbGlnaHQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1N1
c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzRG9pbmdFeHBsaWNpdENhbmNlbGxhdGlv
biB7IGZhbHNlIH07CisgICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoRXJyb3JFdmVudE9uUmVzdW1l
IHsgZmFsc2UgfTsKIAogICAgIEF0b21TdHJpbmcgbV9ldmVudE5hbWU7CiAgICAgVmVjdG9yPFVD
aGFyPiBtX2RhdGE7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWFlZmI3YjE0MzgyY2ViNjY0ODZlOGQ5NDdhNmYzNDAzNTY3
NTE2OS4uMjVjMzJmZDEwYjZmMmQzNzY1Y2VkZDY1YmI5NWM1YzVmOGNjMDU4NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDE5LTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcgRXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJh
Y2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRl
c3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5n
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcGFnZS1jYWNoZS1vcGVuLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLW9wZW4uaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZl
bnQtc3RyZWFtLnBocDogQWRkZWQuCisKIDIwMTktMTAtMDEgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQgdGVzdHMgZm9yIENTUyBTaGFkb3cg
UGFydHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5n
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGIwMTlmNTFkYmRjNmY0NzQwYmY3YWVjNzdiNDli
ZWM3ZmNiM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTggQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gRXZlbnRTb3VyY2UgdGhh
dCBpcyBjb25uZWN0aW5nIGNhbiBlbnRlciB0aGUgUGFnZUNhY2hlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorcGFnZWhpZGUgLSBl
bnRlcmluZyBjYWNoZQorcGFnZXNob3cgLSBmcm9tIGNhY2hlCitQQVNTIFBhZ2UgZGlkIGVudGVy
IGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZQorUEFTUyBSZWNlaXZlZCBvcGVu
IGV2ZW50CitQQVNTIHJlc3RvcmVkRnJvbVBhZ2VDYWNoZSBpcyB0cnVlCitQQVNTIFJlY2VpdmVk
IG1lc3NhZ2UKK1BBU1MgcmVzdG9yZWRGcm9tUGFnZUNhY2hlIGlzIHRydWUKK1BBU1MgcmVjZWl2
ZWRPcGVuRXZlbnQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGlu
Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIwNWU0NzRiOTk3YmE2MzAxMjhiZTY5YzA1ZTE5YmRmODM3Mzlj
NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGluZy5odG1sCkBAIC0wLDAgKzEsNTkgQEAK
KzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhbiBFdmVudFNvdXJjZSB0aGF0IGlz
IGNvbm5lY3RpbmcgY2FuIGVudGVyIHRoZSBQYWdlQ2FjaGUuIik7Citqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKK2xldCByZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSBmYWxzZTsKK2xldCByZWNlaXZlZE9w
ZW5FdmVudCA9IGZhbHNlOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBm
dW5jdGlvbihldmVudCkgeworICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lz
dGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKKworICAgIGlmIChldmVudC5wZXJz
aXN0ZWQpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0
b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlIik7CisgICAgICAgIHJlc3RvcmVkRnJvbVBhZ2VDYWNo
ZSA9IHRydWU7CisgICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
cGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVnKCJwYWdlaGlkZSAtICIgKyAo
ZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImVudGVyaW5nIGNhY2hlIik7CisgICAg
aWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiUGFnZSBkaWQgbm90
IGVudGVyIHRoZSBwYWdlIGNhY2hlLiIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9
CisKKyAgICBldmVudFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL2luZmluaXRl
LWV2ZW50LXN0cmVhbS5waHAiKTsKKworICAgIGV2ZW50U291cmNlLm9uZXJyb3IgPSAoKSA9PiB7
CisgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGVycm9yIGV2ZW50Iik7CisgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGV2ZW50U291cmNlLm9ub3BlbiA9ICgpID0+IHsK
KyAgICAgICAgdGVzdFBhc3NlZCgiUmVjZWl2ZWQgb3BlbiBldmVudCIpOworICAgICAgICBzaG91
bGRCZVRydWUoInJlc3RvcmVkRnJvbVBhZ2VDYWNoZSIpOworICAgICAgICByZWNlaXZlZE9wZW5F
dmVudCAgPSB0cnVlOworICAgIH0KKworICAgIGV2ZW50U291cmNlLm9ubWVzc2FnZSA9ICgpID0+
IHsKKyAgICAgICAgdGVzdFBhc3NlZCgiUmVjZWl2ZWQgbWVzc2FnZSIpOworICAgICAgICBzaG91
bGRCZVRydWUoInJlc3RvcmVkRnJvbVBhZ2VDYWNoZSIpOworICAgICAgICBzaG91bGRCZVRydWUo
InJlY2VpdmVkT3BlbkV2ZW50Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30s
IGZhbHNlKTsKKworb25sb2FkID0gKCkgPT4geworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAg
ICAgIHdpbmRvdy5sb2NhdGlvbiA9ICIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcGFnZS1jYWNoZS1o
ZWxwZXIuaHRtbCI7IAorICAgIH0sIDApOworfQorCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRz
b3VyY2UtcGFnZS1jYWNoZS1vcGVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1vcGVuLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNjQ3YzBiY2E3MjU1ZmUyOWE5ZTBlZDY4YTJlYzdiNGI2ZGY0NDQ3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1wYWdlLWNhY2hlLW9wZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Rz
IHRoYXQgYSBwYWdlIHdpdGggYW4gRXZlbnRTb3VyY2UgdGhhdCBpcyBvcGVuIGNhbiBlbnRlciB0
aGUgUGFnZUNhY2hlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworcGFnZXNob3cg
LSBub3QgZnJvbSBjYWNoZQorcGFnZWhpZGUgLSBlbnRlcmluZyBjYWNoZQorcGFnZXNob3cgLSBm
cm9tIGNhY2hlCitQQVNTIFBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUg
cGFnZSBjYWNoZQorUEFTUyBSZWNlaXZlZCBlcnJvciBldmVudAorUEFTUyBldmVudFNvdXJjZS5y
ZWFkeVN0YXRlIGlzIEV2ZW50U291cmNlLkNMT1NFRAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1vcGVuLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtb3Bl
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ0YTUwYzRkZjc5NmRjMjY5MDRkYTNlNzFjMzEwNmFlMGY5ZDhm
YzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtb3Blbi5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlUGFnZUNhY2hlPXRydWUgXSAtLT4KKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhbiBFdmVudFNvdXJjZSB0aGF0IGlzIG9wZW4g
Y2FuIGVudGVyIHRoZSBQYWdlQ2FjaGUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2xldCBy
ZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSBmYWxzZTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
InBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsg
KGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CisKKyAgICBp
ZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIGVudGVy
IGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOworICAgICAgICByZXN0b3Jl
ZEZyb21QYWdlQ2FjaGUgPSB0cnVlOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFn
ZWhpZGUgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJlbnRlcmluZyBj
YWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RGYWlsZWQo
IlBhZ2UgZGlkIG5vdCBlbnRlciB0aGUgcGFnZSBjYWNoZS4iKTsKKyAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOworCitvbmxvYWQgPSAoKSA9PiB7CisgICAgZXZlbnRT
b3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0u
cGhwIik7CisgICAgZXZlbnRTb3VyY2Uub25vcGVuID0gKCkgPT4geworICAgICAgIHdpbmRvdy5s
b2NhdGlvbiA9ICIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCI7
IAorICAgIH0KKworICAgIGV2ZW50U291cmNlLm9uZXJyb3IgPSAoKSA9PiB7CisgICAgICAgIGlm
ICghcmVzdG9yZWRGcm9tUGFnZUNhY2hlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJSZWNl
aXZlZCBlcnJvciBldmVudCBiZWZvcmUgcmVzdG9yaW5nIGZyb20gcGFnZSBjYWNoZSIpOworICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgdGVzdFBhc3NlZCgiUmVjZWl2ZWQgZXJyb3IgZXZlbnQiKTsKKyAgICAgICAgc2hv
dWxkQmUoImV2ZW50U291cmNlLnJlYWR5U3RhdGUiLCAiRXZlbnRTb3VyY2UuQ0xPU0VEIik7Cisg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGV2ZW50U291cmNlLm9ubWVzc2Fn
ZSA9ICgpID0+IHsKKyAgICB9OworfQorCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2lu
ZmluaXRlLWV2ZW50LXN0cmVhbS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291
cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucGhwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViMjQ5
NWU4NDk5ODUzNmFiMjJhZTE5OWQ2ZGM0NWFkNTU2MjhjN2QKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVu
dC1zdHJlYW0ucGhwCkBAIC0wLDAgKzEsMjcgQEAKKzw/cGhwCitkYXRlX2RlZmF1bHRfdGltZXpv
bmVfc2V0KCJBbWVyaWNhL05ld19Zb3JrIik7CitoZWFkZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9l
dmVudC1zdHJlYW0iKTsKKyRjb3VudGVyID0gcmFuZCgxLCAxMCk7IC8vIGEgcmFuZG9tIGNvdW50
ZXIKK3doaWxlICgxKSB7CisvLyAxIGlzIGFsd2F5cyB0cnVlLCBzbyByZXBlYXQgdGhlIHdoaWxl
IGxvb3AgZm9yZXZlciAoYWthIGV2ZW50LWxvb3ApCisgICRjdXJEYXRlID0gZGF0ZShEQVRFX0lT
Tzg2MDEpOworICBlY2hvICJldmVudDogcGluZ1xuIiwKKyAgICAgICAnZGF0YTogeyJ0aW1lIjog
IicgLiAkY3VyRGF0ZSAuICcifScsICJcblxuIjsKKyAgLy8gU2VuZCBhIHNpbXBsZSBtZXNzYWdl
IGF0IHJhbmRvbSBpbnRlcnZhbHMuCisgICRjb3VudGVyLS07CisgIGlmICghJGNvdW50ZXIpIHsK
KyAgICBlY2hvICdkYXRhOiBUaGlzIGlzIGEgbWVzc2FnZSBhdCB0aW1lICcgLiAkY3VyRGF0ZSwg
IlxuXG4iOworICAgICRjb3VudGVyID0gcmFuZCgxLCAxMCk7IC8vIHJlc2V0IHJhbmRvbSBjb3Vu
dGVyCisgIH0KKyAgLy8gZmx1c2ggdGhlIG91dHB1dCBidWZmZXIgYW5kIHNlbmQgZWNob2VkIG1l
c3NhZ2VzIHRvIHRoZSBicm93c2VyCisgIHdoaWxlIChvYl9nZXRfbGV2ZWwoKSA+IDApIHsKKyAg
ICBvYl9lbmRfZmx1c2goKTsKKyAgfQorICBmbHVzaCgpOworICAvLyBicmVhayB0aGUgbG9vcCBp
ZiB0aGUgY2xpZW50IGFib3J0ZWQgdGhlIGNvbm5lY3Rpb24gKGNsb3NlZCB0aGUgcGFnZSkKKyAg
CisgIGlmICggY29ubmVjdGlvbl9hYm9ydGVkKCkgKSBicmVhazsKKyAgLy8gc2xlZXAgZm9yIDEg
c2Vjb25kIGJlZm9yZSBydW5uaW5nIHRoZSBsb29wIGFnYWluCisgIAorICBzbGVlcCgxKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379936</attachid>
            <date>2019-10-01 13:02:25 -0700</date>
            <delta_ts>2019-10-01 14:23:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202370-20191001130224.patch</filename>
            <type>text/plain</type>
            <size>17546</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGU5MzEzNTU4YWQ5Y2Mx
Y2M1YmRiNmFkM2IyNWIwNmU1ZDIyZjQyZC4uYmQ1NDc0OTIyMmI2MzVmZGJmNzJlMDA0YTA3MWZj
OTE5ZjBkMjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5LTEwLTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcg
RXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBFdmVudFNvdXJjZSB0byBlbnRlciB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlLiBJZiB0aGUgRXZlbnRTb3VyY2UgaXMKKyAgICAgICAgY29ubmVj
dGluZyBhdCB0aGUgdGltZSBpdCBlbnRlcnMgUGFnZUNhY2hlLCBpdCB3aWxsIHJlc3VtZSBjb25u
ZWN0aW5nIGFmdGVyIHJlc3RvcmluZworICAgICAgICBmcm9tIFBhZ2VDYWNoZSAoYnkgbWFraW5n
IG1fY29ubmVjdFRpbWVyIGEgU3VzcGVuZGFibGVUaW1lciwgd2hpY2ggaXMgUGFnZUNhY2hlLWF3
YXJlKS4KKyAgICAgICAgSWYgdGhlIEV2ZW50U291cmNlIGlzIHdhcyBvcGVuIHVwb24gbmF2aWdh
dGluZywgaXQgZ2V0cyBjbG9zZWQgdXBvbiBuYXZpZ2F0aW5nIChzaW5jZQorICAgICAgICBhbGwg
cGVuZGluZyBsb2FkcyBnZXQgY2FuY2VsbGVkIG9uIG5hdmlnYXRpb24pLiBUbyBoZWxwIHRoZSBw
YWdlIHJlY292ZXIsIHdlIG1ha2Ugc3VyZQorICAgICAgICB0byBmaXJlIGFuIGVycm9yIGV2ZW50
IHVwb24gcmVzdG9yaW5nIGZyb20gUGFnZUNhY2hlIGluIHRoaXMgY2FzZS4KKworICAgICAgICBU
ZXN0czogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5l
Y3RpbmcuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1wYWdlLWNhY2hlLW9wZW4uaHRtbAorCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6RXZlbnRTb3VyY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50U291cmNlOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpk
aXNwYXRjaEVycm9yRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJl
Y2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRGaW5pc2hMb2Fk
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRGYWlsKToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50U291cmNlOjphYm9ydENvbm5lY3Rpb25BdHRlbXB0KToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50U291cmNlOjpkb0V4cGxpY2l0TG9hZENhbmNlbGxhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c3VzcGVuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50U291cmNlOjpkaXNwYXRjaE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudFNv
dXJjZS5oOgorCiAyMDE5LTEwLTAxICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSVENEYXRhQ2hhbm5lbCBzaG91bGQgbm90IHByZXZlbnQgZW50ZXJpbmcgcGFn
ZSBjYWNoZSBleGNlcHQgaWYgaW4gb3BlbiBzdGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmNwcAppbmRleCBhYTNjOTMwODgyY2MyMzdhOWNlNTVlZTc2ZGExNDFkZGRlOGE4YzFhLi45OWVl
NTE1MzNiZGIwN2QzZjE4MDE5YzI1NWQ1NDQxNjcyM2Y5Y2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURl
Y29kZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0lz
b01hbGxvY0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC01Nyw4ICs1OCw5IEBAIGlubGluZSBFdmVudFNvdXJjZTo6RXZl
bnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmws
CiAgICAgLCBtX3VybCh1cmwpCiAgICAgLCBtX3dpdGhDcmVkZW50aWFscyhldmVudFNvdXJjZUlu
aXQud2l0aENyZWRlbnRpYWxzKQogICAgICwgbV9kZWNvZGVyKFRleHRSZXNvdXJjZURlY29kZXI6
OmNyZWF0ZSgidGV4dC9wbGFpbiJfcywgIlVURi04IikpCi0gICAgLCBtX2Nvbm5lY3RUaW1lcigq
dGhpcywgJkV2ZW50U291cmNlOjpjb25uZWN0KQorICAgICwgbV9jb25uZWN0VGltZXIoJmNvbnRl
eHQsICp0aGlzLCAmRXZlbnRTb3VyY2U6OmNvbm5lY3QpCiB7CisgICAgbV9jb25uZWN0VGltZXIu
c3VzcGVuZElmTmVlZGVkKCk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxFdmVudFNvdXJjZT4+IEV2
ZW50U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKQEAgLTE0MSw5ICsxNDMs
MTAgQEAgdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAKIHZvaWQg
RXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKKyAgICBSRUxFQVNFX0FTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFtX2lzU3VzcGVuZGVkKTsKICAgICBtX3N0YXRlID0g
Q09OTkVDVElORzsKICAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QoMV9tcyAqIG1fcmVj
b25uZWN0RGVsYXkpOwotICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6
Ok5vKSk7CisgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6
OmNsb3NlKCkKQEAgLTE1NSwxMCArMTU4LDEwIEBAIHZvaWQgRXZlbnRTb3VyY2U6OmNsb3NlKCkK
IAogICAgIC8vIFN0b3AgdHJ5aW5nIHRvIGNvbm5lY3QvcmVjb25uZWN0IGlmIEV2ZW50U291cmNl
IHdhcyBleHBsaWNpdGx5IGNsb3NlZCBvciBpZiBBY3RpdmVET01PYmplY3Q6OnN0b3AoKSB3YXMg
Y2FsbGVkLgogICAgIGlmIChtX2Nvbm5lY3RUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Nv
bm5lY3RUaW1lci5zdG9wKCk7CisgICAgICAgIG1fY29ubmVjdFRpbWVyLmNhbmNlbCgpOwogCiAg
ICAgaWYgKG1fcmVxdWVzdEluRmxpZ2h0KQotICAgICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7Cisg
ICAgICAgIGRvRXhwbGljaXRMb2FkQ2FuY2VsbGF0aW9uKCk7CiAgICAgZWxzZSB7CiAgICAgICAg
IG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KCp0aGlzKTsK
QEAgLTE5NiwxMCArMTk5LDExIEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25z
ZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwCiB7CiAgICAgQVNT
RVJUKG1fc3RhdGUgPT0gQ09OTkVDVElORyk7CiAgICAgQVNTRVJUKG1fcmVxdWVzdEluRmxpZ2h0
KTsKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFtX2lzU3Vz
cGVuZGVkKTsKIAogICAgIGlmICghcmVzcG9uc2VJc1ZhbGlkKHJlc3BvbnNlKSkgewotICAgICAg
ICBtX2xvYWRlci0+Y2FuY2VsKCk7Ci0gICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJ
c0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAgIGRvRXhwbGljaXRMb2FkQ2FuY2VsbGF0aW9uKCk7
CisgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVudCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CkBAIC0yMDgsMTAgKzIxMiwxNiBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZlUmVzcG9u
c2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAogICAgIGRpc3Bh
dGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkub3BlbkV2ZW50LCBFdmVudDo6Q2Fu
QnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAordm9pZCBFdmVudFNv
dXJjZTo6ZGlzcGF0Y2hFcnJvckV2ZW50KCkKK3sKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVu
dDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCiB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNlaXZl
RGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAgIEFTU0VSVChtX3N0YXRl
ID09IE9QRU4pOwogICAgIEFTU0VSVChtX3JlcXVlc3RJbkZsaWdodCk7CisgICAgUkVMRUFTRV9B
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbV9pc1N1c3BlbmRlZCk7CiAKICAgICBh
cHBlbmQobV9yZWNlaXZlQnVmZmVyLCBtX2RlY29kZXItPmRlY29kZShkYXRhLCBsZW5ndGgpKTsK
ICAgICBwYXJzZUV2ZW50U3RyZWFtKCk7CkBAIC0yMjEsNiArMjMxLDcgQEAgdm9pZCBFdmVudFNv
dXJjZTo6ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nKQogewogICAgIEFTU0VSVChtX3N0
YXRlID09IE9QRU4pOwogICAgIEFTU0VSVChtX3JlcXVlc3RJbkZsaWdodCk7CisgICAgUkVMRUFT
RV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbV9pc1N1c3BlbmRlZCk7CiAKICAg
ICBhcHBlbmQobV9yZWNlaXZlQnVmZmVyLCBtX2RlY29kZXItPmZsdXNoKCkpOwogICAgIHBhcnNl
RXZlbnRTdHJlYW0oKTsKQEAgLTI1MywxNCArMjY0LDIwIEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRp
ZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgLy8gRklYTUU6IFdoeSBkb24n
dCB3ZSBuZWVkIHRvIGNsZWFyIGRhdGEgbWVtYmVycyBoZXJlIGFzIGluIGRpZEZpbmlzaExvYWRp
bmc/CiAKICAgICBuZXR3b3JrUmVxdWVzdEVuZGVkKCk7CisKKyAgICAvLyBUaGlzIGlzIHRoZSBj
YXNlIHdoZXJlIHRoZSBsb2FkIGdldHMgY2FuY2VsbGVkIG9uIG5hdmlnYXRpbmcgYXdheS4gV2Ug
b25seSBmaXJlIGFuIGVycm9yIGV2ZW50CisgICAgLy8gaWYgd2UgZW5kIHVwIGdldHRpbmcgcmVz
dW1lZCBmcm9tIHBhZ2UgY2FjaGUsIHRvIGhlbHAgdGhlIHBhZ2UgcmVjb3Zlci4KKyAgICBpZiAo
ZXJyb3IuaXNDYW5jZWxsYXRpb24oKSAmJiAhbV9pc0RvaW5nRXhwbGljaXRDYW5jZWxsYXRpb24p
CisgICAgICAgIG1fc2hvdWxkRGlzcGF0Y2hFcnJvckV2ZW50T25SZXN1bWUgPSB0cnVlOwogfQog
CiB2b2lkIEV2ZW50U291cmNlOjphYm9ydENvbm5lY3Rpb25BdHRlbXB0KCkKIHsKICAgICBBU1NF
UlQobV9zdGF0ZSA9PSBDT05ORUNUSU5HKTsKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFtX2lzU3VzcGVuZGVkKTsKIAogICAgIGlmIChtX3JlcXVlc3RJbkZs
aWdodCkKLSAgICAgICAgbV9sb2FkZXItPmNhbmNlbCgpOworICAgICAgICBkb0V4cGxpY2l0TG9h
ZENhbmNlbGxhdGlvbigpOwogICAgIGVsc2UgewogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwog
ICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSgqdGhpcyk7CkBAIC0yNzAsNiArMjg3LDEzIEBA
IHZvaWQgRXZlbnRTb3VyY2U6OmFib3J0Q29ubmVjdGlvbkF0dGVtcHQoKQogICAgIGRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNhbkJ1
YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiB9CiAKK3ZvaWQgRXZlbnRTb3Vy
Y2U6OmRvRXhwbGljaXRMb2FkQ2FuY2VsbGF0aW9uKCkKK3sKKyAgICBBU1NFUlQobV9yZXF1ZXN0
SW5GbGlnaHQpOworICAgIFNldEZvclNjb3BlPGJvb2w+IGV4cGxpY2l0TG9hZENhbmNlbGxhdGlv
bihtX2lzRG9pbmdFeHBsaWNpdENhbmNlbGxhdGlvbiwgdHJ1ZSk7CisgICAgbV9sb2FkZXItPmNh
bmNlbCgpOworfQorCiB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtKCkKIHsKICAg
ICB1bnNpZ25lZCBwb3NpdGlvbiA9IDA7CkBAIC0zNzgsMTIgKzQwMiwzMSBAQCBjb25zdCBjaGFy
KiBFdmVudFNvdXJjZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAKIGJvb2wgRXZlbnRT
b3VyY2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewotICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgcmV0dXJuIHRydWUgaGVyZSB3aGVuIHdlIGNhbiBiZWNhdXNlIHRo
aXMgb2JqZWN0IGlzIG5vdCBhY3R1YWxseSBjdXJyZW50bHkgYWN0aXZlLgotICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBFdmVudFNvdXJjZTo6c3VzcGVuZChS
ZWFzb25Gb3JTdXNwZW5zaW9uKQoreworICAgIG1faXNTdXNwZW5kZWQgPSB0cnVlOworCisgICAg
UkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNTQUdFKCFtX3JlcXVlc3RJbkZsaWdodCwgIkxvYWRzIGdl
dCBjYW5jZWxsZWQgYmVmb3JlIGVudGVyaW5nIFBhZ2VDYWNoZS4iKTsKK30KKwordm9pZCBFdmVu
dFNvdXJjZTo6cmVzdW1lKCkKK3sKKyAgICBtX2lzU3VzcGVuZGVkID0gZmFsc2U7CisgICAgaWYg
KHN0ZDo6ZXhjaGFuZ2UobV9zaG91bGREaXNwYXRjaEVycm9yRXZlbnRPblJlc3VtZSwgZmFsc2Up
KSB7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soW3RoaXMsIHBl
bmRpbmdBY3Rpdml0eSA9IG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpXShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JikgeworICAgICAgICAgICAgaWYgKCFpc0NvbnRleHRTdG9wcGVkKCkpCisgICAg
ICAgICAgICAgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7CisgICAgICAgIH0pOworICAgIH0KIH0K
IAogdm9pZCBFdmVudFNvdXJjZTo6ZGlzcGF0Y2hNZXNzYWdlRXZlbnQoKQogeworICAgIFJFTEVB
U0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW1faXNTdXNwZW5kZWQpOworCiAg
ICAgaWYgKCFtX2N1cnJlbnRseVBhcnNlZEV2ZW50SWQuaXNOdWxsKCkpCiAgICAgICAgIG1fbGFz
dEV2ZW50SWQgPSBXVEZNb3ZlKG1fY3VycmVudGx5UGFyc2VkRXZlbnRJZCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuaAppbmRleCA5NDEzYjZhYjMzNGVjOTZkOGQ4ODQzZGIxM2YzOGY3MWM2
NjU4ZDRjLi43OThlNTBmZmYzMjVjMzE1YTUyNjM1ZDVkOGQxNWU5MDQxMjQ2ZWM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC0zNCw5ICszNCwxMCBAQAogI2luY2x1ZGUgIkFjdGl2
ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiRXhjZXB0
aW9uT3IuaCIKLSNpbmNsdWRlIDx3dGYvVVJMLmg+CisjaW5jbHVkZSAiU3VzcGVuZGFibGVUaW1l
ci5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJUaW1l
ci5oIgorI2luY2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTc4LDE1ICs3OSwyMSBAQCBwcml2YXRlOgogICAgIHZvaWQg
cmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZkV2ZW50VGFy
Z2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKKyAgICB2b2lkIGRpc3BhdGNoRXJyb3JFdmVudCgp
OworICAgIHZvaWQgZG9FeHBsaWNpdExvYWRDYW5jZWxsYXRpb24oKTsKKwogICAgIC8vIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBs
b25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgZmluYWw7CiAgICAgdm9pZCBkaWRSZWNlaXZl
RGF0YShjb25zdCBjaGFyKiwgaW50KSBmaW5hbDsKICAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmco
dW5zaWduZWQgbG9uZykgZmluYWw7CiAgICAgdm9pZCBkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJy
b3ImKSBmaW5hbDsKIAorICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIHZvaWQgc3RvcCgpIGZp
bmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsK
ICAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsK
KyAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgZmluYWw7CisgICAgdm9pZCBy
ZXN1bWUoKSBmaW5hbDsKIAogICAgIHZvaWQgY29ubmVjdCgpOwogICAgIHZvaWQgbmV0d29ya1Jl
cXVlc3RFbmRlZCgpOwpAQCAtMTA3LDEwICsxMTQsMTMgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxU
ZXh0UmVzb3VyY2VEZWNvZGVyPiBtX2RlY29kZXI7CiAgICAgUmVmUHRyPFRocmVhZGFibGVMb2Fk
ZXI+IG1fbG9hZGVyOwotICAgIFRpbWVyIG1fY29ubmVjdFRpbWVyOworICAgIFN1c3BlbmRhYmxl
VGltZXIgbV9jb25uZWN0VGltZXI7CiAgICAgVmVjdG9yPFVDaGFyPiBtX3JlY2VpdmVCdWZmZXI7
CiAgICAgYm9vbCBtX2Rpc2NhcmRUcmFpbGluZ05ld2xpbmUgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9yZXF1ZXN0SW5GbGlnaHQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1N1c3BlbmRlZCB7IGZh
bHNlIH07CisgICAgYm9vbCBtX2lzRG9pbmdFeHBsaWNpdENhbmNlbGxhdGlvbiB7IGZhbHNlIH07
CisgICAgYm9vbCBtX3Nob3VsZERpc3BhdGNoRXJyb3JFdmVudE9uUmVzdW1lIHsgZmFsc2UgfTsK
IAogICAgIEF0b21TdHJpbmcgbV9ldmVudE5hbWU7CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNjg1YTUxNDc0MTFjZTNiMmZlOTUzNDdiNGEzNWU5MWE2ODhiZjJjNC4uZTc5ZGVi
MDQ3YzYzZTZmZjAzZjBkY2E3MzUxM2EzNjY3ZWNlMzI4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDE5LTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
QWxsb3cgcGFnZXMgdXNpbmcgRXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBj
YWNoZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAy
MzcwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2Uu
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2Fj
aGUtY29ubmVjdGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNo
ZS1vcGVuLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLW9wZW4uaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnBo
cDogQWRkZWQuCisKIDIwMTktMTAtMDEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbTWFjXSBMYXlvdXQgVGVzdCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC1sb2NhdGlvbi5hbnkuaHRtbCBmYWlscwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1w
YWdlLWNhY2hlLWNvbm5lY3RpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZkYjAxOWY1MWRiZGM2ZjQ3NDBiZjdhZWM3N2I0OWJlYzdmY2IzYzAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
OCBAQAorVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhbiBFdmVudFNvdXJjZSB0aGF0IGlzIGNvbm5l
Y3RpbmcgY2FuIGVudGVyIHRoZSBQYWdlQ2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5nIGNh
Y2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyBy
ZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIFJlY2VpdmVkIG9wZW4gZXZlbnQKK1BB
U1MgcmVzdG9yZWRGcm9tUGFnZUNhY2hlIGlzIHRydWUKK1BBU1MgUmVjZWl2ZWQgbWVzc2FnZQor
UEFTUyByZXN0b3JlZEZyb21QYWdlQ2FjaGUgaXMgdHJ1ZQorUEFTUyByZWNlaXZlZE9wZW5FdmVu
dCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVu
dHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjA1ZTQ3NGI5OTdiYTYzMDEyOGJlNjljMDVlMTliZGY4MzczOWM1NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLmh0bWwKQEAgLTAsMCArMSw1OSBAQAorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIEV2ZW50U291cmNlIHRoYXQgaXMgY29ubmVjdGlu
ZyBjYW4gZW50ZXIgdGhlIFBhZ2VDYWNoZS4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworbGV0
IHJlc3RvcmVkRnJvbVBhZ2VDYWNoZSA9IGZhbHNlOworbGV0IHJlY2VpdmVkT3BlbkV2ZW50ID0g
ZmFsc2U7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2
ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6
ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgewor
ICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20g
dGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgcmVzdG9yZWRGcm9tUGFnZUNhY2hlID0gdHJ1ZTsK
KyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIs
IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VoaWRlIC0gIiArIChldmVudC5wZXJz
aXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAgICBpZiAoIWV2ZW50
LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBub3QgZW50ZXIgdGhl
IHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIGV2
ZW50U291cmNlID0gbmV3IEV2ZW50U291cmNlKCJyZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3Ry
ZWFtLnBocCIpOworCisgICAgZXZlbnRTb3VyY2Uub25lcnJvciA9ICgpID0+IHsKKyAgICAgICAg
dGVzdEZhaWxlZCgiUmVjZWl2ZWQgZXJyb3IgZXZlbnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgfQorCisgICAgZXZlbnRTb3VyY2Uub25vcGVuID0gKCkgPT4geworICAgICAgICB0
ZXN0UGFzc2VkKCJSZWNlaXZlZCBvcGVuIGV2ZW50Iik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
cmVzdG9yZWRGcm9tUGFnZUNhY2hlIik7CisgICAgICAgIHJlY2VpdmVkT3BlbkV2ZW50ICA9IHRy
dWU7CisgICAgfQorCisgICAgZXZlbnRTb3VyY2Uub25tZXNzYWdlID0gKCkgPT4geworICAgICAg
ICB0ZXN0UGFzc2VkKCJSZWNlaXZlZCBtZXNzYWdlIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
cmVzdG9yZWRGcm9tUGFnZUNhY2hlIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgicmVjZWl2ZWRP
cGVuRXZlbnQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOwor
CitvbmxvYWQgPSAoKSA9PiB7CisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgd2luZG93
LmxvY2F0aW9uID0gIi9uYXZpZ2F0aW9uL3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1s
IjsgCisgICAgfSwgMCk7Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdl
LWNhY2hlLW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLW9wZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI2NDdjMGJjYTcyNTVmZTI5YTllMGVkNjhhMmVjN2I0YjZkZjQ0NDcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2Ut
Y2FjaGUtb3Blbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdHMgdGhhdCBhIHBh
Z2Ugd2l0aCBhbiBFdmVudFNvdXJjZSB0aGF0IGlzIG9wZW4gY2FuIGVudGVyIHRoZSBQYWdlQ2Fj
aGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9t
IGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5nIGNhY2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUK
K1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hl
CitQQVNTIFJlY2VpdmVkIGVycm9yIGV2ZW50CitQQVNTIGV2ZW50U291cmNlLnJlYWR5U3RhdGUg
aXMgRXZlbnRTb3VyY2UuQ0xPU0VECitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVu
dHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLW9wZW4uaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1vcGVuLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDRhNTBjNGRmNzk2ZGMyNjkwNGRhM2U3MWMzMTA2YWUwZjlkOGZjOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcGFnZS1jYWNoZS1vcGVuLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IGEgcGFnZSB3aXRoIGFuIEV2ZW50U291cmNlIHRoYXQgaXMgb3BlbiBjYW4gZW50ZXIg
dGhlIFBhZ2VDYWNoZS4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworbGV0IHJlc3RvcmVkRnJv
bVBhZ2VDYWNoZSA9IGZhbHNlOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ci
LCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVy
c2lzdGVkID8gIiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKKworICAgIGlmIChldmVudC5w
ZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyBy
ZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlIik7CisgICAgICAgIHJlc3RvcmVkRnJvbVBhZ2VD
YWNoZSA9IHRydWU7CisgICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVnKCJwYWdlaGlkZSAtICIg
KyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90ICIpICsgImVudGVyaW5nIGNhY2hlIik7Cisg
ICAgaWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiUGFnZSBkaWQg
bm90IGVudGVyIHRoZSBwYWdlIGNhY2hlLiIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICB9Cit9LCBmYWxzZSk7CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICBldmVudFNvdXJjZSA9IG5l
dyBFdmVudFNvdXJjZSgicmVzb3VyY2VzL2luZmluaXRlLWV2ZW50LXN0cmVhbS5waHAiKTsKKyAg
ICBldmVudFNvdXJjZS5vbm9wZW4gPSAoKSA9PiB7CisgICAgICAgd2luZG93LmxvY2F0aW9uID0g
Ii9uYXZpZ2F0aW9uL3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsgCisgICAgfQor
CisgICAgZXZlbnRTb3VyY2Uub25lcnJvciA9ICgpID0+IHsKKyAgICAgICAgaWYgKCFyZXN0b3Jl
ZEZyb21QYWdlQ2FjaGUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGVycm9y
IGV2ZW50IGJlZm9yZSByZXN0b3JpbmcgZnJvbSBwYWdlIGNhY2hlIik7CisgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB0
ZXN0UGFzc2VkKCJSZWNlaXZlZCBlcnJvciBldmVudCIpOworICAgICAgICBzaG91bGRCZSgiZXZl
bnRTb3VyY2UucmVhZHlTdGF0ZSIsICJFdmVudFNvdXJjZS5DTE9TRUQiKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgfQorCisgICAgZXZlbnRTb3VyY2Uub25tZXNzYWdlID0gKCkgPT4g
eworICAgIH07Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZl
bnQtc3RyZWFtLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3Vy
Y2VzL2luZmluaXRlLWV2ZW50LXN0cmVhbS5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWIyNDk1ZTg0OTk4NTM2
YWIyMmFlMTk5ZDZkYzQ1YWQ1NTYyOGM3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL2luZmluaXRlLWV2ZW50LXN0cmVhbS5w
aHAKQEAgLTAsMCArMSwyNyBAQAorPD9waHAKK2RhdGVfZGVmYXVsdF90aW1lem9uZV9zZXQoIkFt
ZXJpY2EvTmV3X1lvcmsiKTsKK2hlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2V2ZW50LXN0cmVh
bSIpOworJGNvdW50ZXIgPSByYW5kKDEsIDEwKTsgLy8gYSByYW5kb20gY291bnRlcgord2hpbGUg
KDEpIHsKKy8vIDEgaXMgYWx3YXlzIHRydWUsIHNvIHJlcGVhdCB0aGUgd2hpbGUgbG9vcCBmb3Jl
dmVyIChha2EgZXZlbnQtbG9vcCkKKyAgJGN1ckRhdGUgPSBkYXRlKERBVEVfSVNPODYwMSk7Cisg
IGVjaG8gImV2ZW50OiBwaW5nXG4iLAorICAgICAgICdkYXRhOiB7InRpbWUiOiAiJyAuICRjdXJE
YXRlIC4gJyJ9JywgIlxuXG4iOworICAvLyBTZW5kIGEgc2ltcGxlIG1lc3NhZ2UgYXQgcmFuZG9t
IGludGVydmFscy4KKyAgJGNvdW50ZXItLTsKKyAgaWYgKCEkY291bnRlcikgeworICAgIGVjaG8g
J2RhdGE6IFRoaXMgaXMgYSBtZXNzYWdlIGF0IHRpbWUgJyAuICRjdXJEYXRlLCAiXG5cbiI7Cisg
ICAgJGNvdW50ZXIgPSByYW5kKDEsIDEwKTsgLy8gcmVzZXQgcmFuZG9tIGNvdW50ZXIKKyAgfQor
ICAvLyBmbHVzaCB0aGUgb3V0cHV0IGJ1ZmZlciBhbmQgc2VuZCBlY2hvZWQgbWVzc2FnZXMgdG8g
dGhlIGJyb3dzZXIKKyAgd2hpbGUgKG9iX2dldF9sZXZlbCgpID4gMCkgeworICAgIG9iX2VuZF9m
bHVzaCgpOworICB9CisgIGZsdXNoKCk7CisgIC8vIGJyZWFrIHRoZSBsb29wIGlmIHRoZSBjbGll
bnQgYWJvcnRlZCB0aGUgY29ubmVjdGlvbiAoY2xvc2VkIHRoZSBwYWdlKQorICAKKyAgaWYgKCBj
b25uZWN0aW9uX2Fib3J0ZWQoKSApIGJyZWFrOworICAvLyBzbGVlcCBmb3IgMSBzZWNvbmQgYmVm
b3JlIHJ1bm5pbmcgdGhlIGxvb3AgYWdhaW4KKyAgCisgIHNsZWVwKDEpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379950</attachid>
            <date>2019-10-01 14:23:03 -0700</date>
            <delta_ts>2019-10-04 16:54:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202370-20191001142303.patch</filename>
            <type>text/plain</type>
            <size>17785</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGU5MzEzNTU4YWQ5Y2Mx
Y2M1YmRiNmFkM2IyNWIwNmU1ZDIyZjQyZC4uYmQ1NDc0OTIyMmI2MzVmZGJmNzJlMDA0YTA3MWZj
OTE5ZjBkMjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5LTEwLTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcg
RXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBFdmVudFNvdXJjZSB0byBlbnRlciB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlLiBJZiB0aGUgRXZlbnRTb3VyY2UgaXMKKyAgICAgICAgY29ubmVj
dGluZyBhdCB0aGUgdGltZSBpdCBlbnRlcnMgUGFnZUNhY2hlLCBpdCB3aWxsIHJlc3VtZSBjb25u
ZWN0aW5nIGFmdGVyIHJlc3RvcmluZworICAgICAgICBmcm9tIFBhZ2VDYWNoZSAoYnkgbWFraW5n
IG1fY29ubmVjdFRpbWVyIGEgU3VzcGVuZGFibGVUaW1lciwgd2hpY2ggaXMgUGFnZUNhY2hlLWF3
YXJlKS4KKyAgICAgICAgSWYgdGhlIEV2ZW50U291cmNlIGlzIHdhcyBvcGVuIHVwb24gbmF2aWdh
dGluZywgaXQgZ2V0cyBjbG9zZWQgdXBvbiBuYXZpZ2F0aW5nIChzaW5jZQorICAgICAgICBhbGwg
cGVuZGluZyBsb2FkcyBnZXQgY2FuY2VsbGVkIG9uIG5hdmlnYXRpb24pLiBUbyBoZWxwIHRoZSBw
YWdlIHJlY292ZXIsIHdlIG1ha2Ugc3VyZQorICAgICAgICB0byBmaXJlIGFuIGVycm9yIGV2ZW50
IHVwb24gcmVzdG9yaW5nIGZyb20gUGFnZUNhY2hlIGluIHRoaXMgY2FzZS4KKworICAgICAgICBU
ZXN0czogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5l
Y3RpbmcuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNv
dXJjZS1wYWdlLWNhY2hlLW9wZW4uaHRtbAorCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6RXZlbnRTb3VyY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50U291cmNlOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpk
aXNwYXRjaEVycm9yRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJl
Y2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRGaW5pc2hMb2Fk
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRGYWlsKToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50U291cmNlOjphYm9ydENvbm5lY3Rpb25BdHRlbXB0KToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50U291cmNlOjpkb0V4cGxpY2l0TG9hZENhbmNlbGxhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c3VzcGVuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50U291cmNlOjpkaXNwYXRjaE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudFNv
dXJjZS5oOgorCiAyMDE5LTEwLTAxICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSVENEYXRhQ2hhbm5lbCBzaG91bGQgbm90IHByZXZlbnQgZW50ZXJpbmcgcGFn
ZSBjYWNoZSBleGNlcHQgaWYgaW4gb3BlbiBzdGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmNwcAppbmRleCBhYTNjOTMwODgyY2MyMzdhOWNlNTVlZTc2ZGExNDFkZGRlOGE4YzFhLi5jMWE2
MmJkMGEzODY2NTMxN2FlNjg0MTk5NWUyN2E3NTQxZjQzYjdlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURl
Y29kZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0lz
b01hbGxvY0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC01Nyw4ICs1OCw5IEBAIGlubGluZSBFdmVudFNvdXJjZTo6RXZl
bnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmws
CiAgICAgLCBtX3VybCh1cmwpCiAgICAgLCBtX3dpdGhDcmVkZW50aWFscyhldmVudFNvdXJjZUlu
aXQud2l0aENyZWRlbnRpYWxzKQogICAgICwgbV9kZWNvZGVyKFRleHRSZXNvdXJjZURlY29kZXI6
OmNyZWF0ZSgidGV4dC9wbGFpbiJfcywgIlVURi04IikpCi0gICAgLCBtX2Nvbm5lY3RUaW1lcigq
dGhpcywgJkV2ZW50U291cmNlOjpjb25uZWN0KQorICAgICwgbV9jb25uZWN0VGltZXIoJmNvbnRl
eHQsICp0aGlzLCAmRXZlbnRTb3VyY2U6OmNvbm5lY3QpCiB7CisgICAgbV9jb25uZWN0VGltZXIu
c3VzcGVuZElmTmVlZGVkKCk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxFdmVudFNvdXJjZT4+IEV2
ZW50U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKQEAgLTE0MSw5ICsxNDMs
MTAgQEAgdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAKIHZvaWQg
RXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKKyAgICBSRUxFQVNFX0FTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFtX2lzU3VzcGVuZGVkRm9yUGFnZUNhY2hlKTsKICAg
ICBtX3N0YXRlID0gQ09OTkVDVElORzsKICAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3Qo
MV9tcyAqIG1fcmVjb25uZWN0RGVsYXkpOwotICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJ
c0NhbmNlbGFibGU6Ok5vKSk7CisgICAgZGlzcGF0Y2hFcnJvckV2ZW50KCk7CiB9CiAKIHZvaWQg
RXZlbnRTb3VyY2U6OmNsb3NlKCkKQEAgLTE1NSwxMCArMTU4LDEwIEBAIHZvaWQgRXZlbnRTb3Vy
Y2U6OmNsb3NlKCkKIAogICAgIC8vIFN0b3AgdHJ5aW5nIHRvIGNvbm5lY3QvcmVjb25uZWN0IGlm
IEV2ZW50U291cmNlIHdhcyBleHBsaWNpdGx5IGNsb3NlZCBvciBpZiBBY3RpdmVET01PYmplY3Q6
OnN0b3AoKSB3YXMgY2FsbGVkLgogICAgIGlmIChtX2Nvbm5lY3RUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2Nvbm5lY3RUaW1lci5zdG9wKCk7CisgICAgICAgIG1fY29ubmVjdFRpbWVyLmNh
bmNlbCgpOwogCiAgICAgaWYgKG1fcmVxdWVzdEluRmxpZ2h0KQotICAgICAgICBtX2xvYWRlci0+
Y2FuY2VsKCk7CisgICAgICAgIGRvRXhwbGljaXRMb2FkQ2FuY2VsbGF0aW9uKCk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9TRUQ7CiAgICAgICAgIHVuc2V0UGVuZGluZ0FjdGl2
aXR5KCp0aGlzKTsKQEAgLTE5NiwxMCArMTk5LDExIEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZFJl
Y2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
CiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVDVElORyk7CiAgICAgQVNTRVJUKG1fcmVx
dWVzdEluRmxpZ2h0KTsKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKCFtX2lzU3VzcGVuZGVkRm9yUGFnZUNhY2hlKTsKIAogICAgIGlmICghcmVzcG9uc2VJc1Zh
bGlkKHJlc3BvbnNlKSkgewotICAgICAgICBtX2xvYWRlci0+Y2FuY2VsKCk7Ci0gICAgICAgIGRp
c3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgRXZlbnQ6
OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgICAgIGRvRXhw
bGljaXRMb2FkQ2FuY2VsbGF0aW9uKCk7CisgICAgICAgIGRpc3BhdGNoRXJyb3JFdmVudCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMDgsMTAgKzIxMiwxNiBAQCB2b2lkIEV2ZW50
U291cmNlOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcAogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkub3BlbkV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6
Tm8pKTsKIH0KIAordm9pZCBFdmVudFNvdXJjZTo6ZGlzcGF0Y2hFcnJvckV2ZW50KCkKK3sKKyAg
ICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2
ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworfQorCiB2b2lk
IEV2ZW50U291cmNlOjpkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3Ro
KQogewogICAgIEFTU0VSVChtX3N0YXRlID09IE9QRU4pOwogICAgIEFTU0VSVChtX3JlcXVlc3RJ
bkZsaWdodCk7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigh
bV9pc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CiAKICAgICBhcHBlbmQobV9yZWNlaXZlQnVmZmVy
LCBtX2RlY29kZXItPmRlY29kZShkYXRhLCBsZW5ndGgpKTsKICAgICBwYXJzZUV2ZW50U3RyZWFt
KCk7CkBAIC0yMjEsNiArMjMxLDcgQEAgdm9pZCBFdmVudFNvdXJjZTo6ZGlkRmluaXNoTG9hZGlu
Zyh1bnNpZ25lZCBsb25nKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IE9QRU4pOwogICAgIEFT
U0VSVChtX3JlcXVlc3RJbkZsaWdodCk7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTighbV9pc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CiAKICAgICBhcHBlbmQo
bV9yZWNlaXZlQnVmZmVyLCBtX2RlY29kZXItPmZsdXNoKCkpOwogICAgIHBhcnNlRXZlbnRTdHJl
YW0oKTsKQEAgLTI1MywxNCArMjY0LDIwIEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZhaWwoY29u
c3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgLy8gRklYTUU6IFdoeSBkb24ndCB3ZSBuZWVk
IHRvIGNsZWFyIGRhdGEgbWVtYmVycyBoZXJlIGFzIGluIGRpZEZpbmlzaExvYWRpbmc/CiAKICAg
ICBuZXR3b3JrUmVxdWVzdEVuZGVkKCk7CisKKyAgICAvLyBUaGlzIGlzIHRoZSBjYXNlIHdoZXJl
IHRoZSBsb2FkIGdldHMgY2FuY2VsbGVkIG9uIG5hdmlnYXRpbmcgYXdheS4gV2Ugb25seSBmaXJl
IGFuIGVycm9yIGV2ZW50CisgICAgLy8gaWYgd2UgZW5kIHVwIGdldHRpbmcgcmVzdW1lZCBmcm9t
IHBhZ2UgY2FjaGUsIHRvIGhlbHAgdGhlIHBhZ2UgcmVjb3Zlci4KKyAgICBpZiAoZXJyb3IuaXND
YW5jZWxsYXRpb24oKSAmJiAhbV9pc0RvaW5nRXhwbGljaXRDYW5jZWxsYXRpb24pCisgICAgICAg
IG1fc2hvdWxkRGlzcGF0Y2hFcnJvckV2ZW50T25SZXN1bWUgPSB0cnVlOwogfQogCiB2b2lkIEV2
ZW50U291cmNlOjphYm9ydENvbm5lY3Rpb25BdHRlbXB0KCkKIHsKICAgICBBU1NFUlQobV9zdGF0
ZSA9PSBDT05ORUNUSU5HKTsKKyAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKCFtX2lzU3VzcGVuZGVkRm9yUGFnZUNhY2hlKTsKIAogICAgIGlmIChtX3JlcXVlc3RJ
bkZsaWdodCkKLSAgICAgICAgbV9sb2FkZXItPmNhbmNlbCgpOworICAgICAgICBkb0V4cGxpY2l0
TG9hZENhbmNlbGxhdGlvbigpOwogICAgIGVsc2UgewogICAgICAgICBtX3N0YXRlID0gQ0xPU0VE
OwogICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSgqdGhpcyk7CkBAIC0yNzAsNiArMjg3LDEz
IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmFib3J0Q29ubmVjdGlvbkF0dGVtcHQoKQogICAgIGRpc3Bh
dGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgRXZlbnQ6OkNh
bkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CiB9CiAKK3ZvaWQgRXZlbnRT
b3VyY2U6OmRvRXhwbGljaXRMb2FkQ2FuY2VsbGF0aW9uKCkKK3sKKyAgICBBU1NFUlQobV9yZXF1
ZXN0SW5GbGlnaHQpOworICAgIFNldEZvclNjb3BlPGJvb2w+IGV4cGxpY2l0TG9hZENhbmNlbGxh
dGlvbihtX2lzRG9pbmdFeHBsaWNpdENhbmNlbGxhdGlvbiwgdHJ1ZSk7CisgICAgbV9sb2FkZXIt
PmNhbmNlbCgpOworfQorCiB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtKCkKIHsK
ICAgICB1bnNpZ25lZCBwb3NpdGlvbiA9IDA7CkBAIC0zNzgsMTIgKzQwMiwzNiBAQCBjb25zdCBj
aGFyKiBFdmVudFNvdXJjZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAKIGJvb2wgRXZl
bnRTb3VyY2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewotICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgcmV0dXJuIHRydWUgaGVyZSB3aGVuIHdlIGNhbiBiZWNhdXNl
IHRoaXMgb2JqZWN0IGlzIG5vdCBhY3R1YWxseSBjdXJyZW50bHkgYWN0aXZlLgotICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBFdmVudFNvdXJjZTo6c3VzcGVu
ZChSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikKK3sKKyAgICBpZiAocmVhc29uICE9IFJlYXNv
bkZvclN1c3BlbnNpb246OlBhZ2VDYWNoZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9pc1N1
c3BlbmRlZEZvclBhZ2VDYWNoZSA9IHRydWU7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNT
QUdFKCFtX3JlcXVlc3RJbkZsaWdodCwgIkxvYWRzIGdldCBjYW5jZWxsZWQgYmVmb3JlIGVudGVy
aW5nIFBhZ2VDYWNoZS4iKTsKK30KKwordm9pZCBFdmVudFNvdXJjZTo6cmVzdW1lKCkKK3sKKyAg
ICBpZiAoIW1faXNTdXNwZW5kZWRGb3JQYWdlQ2FjaGUpCisgICAgICAgIHJldHVybjsKKworICAg
IG1faXNTdXNwZW5kZWRGb3JQYWdlQ2FjaGUgPSBmYWxzZTsKKyAgICBpZiAoc3RkOjpleGNoYW5n
ZShtX3Nob3VsZERpc3BhdGNoRXJyb3JFdmVudE9uUmVzdW1lLCBmYWxzZSkpIHsKKyAgICAgICAg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhbdGhpcywgcGVuZGluZ0FjdGl2aXR5
ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyldKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7
CisgICAgICAgICAgICBpZiAoIWlzQ29udGV4dFN0b3BwZWQoKSkKKyAgICAgICAgICAgICAgICBk
aXNwYXRjaEVycm9yRXZlbnQoKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiB2b2lkIEV2ZW50
U291cmNlOjpkaXNwYXRjaE1lc3NhZ2VFdmVudCgpCiB7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTighbV9pc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CisKICAg
ICBpZiAoIW1fY3VycmVudGx5UGFyc2VkRXZlbnRJZC5pc051bGwoKSkKICAgICAgICAgbV9sYXN0
RXZlbnRJZCA9IFdURk1vdmUobV9jdXJyZW50bHlQYXJzZWRFdmVudElkKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5oCmluZGV4IDk0MTNiNmFiMzM0ZWM5NmQ4ZDg4NDNkYjEzZjM4ZjcxYzY2
NThkNGMuLmQ5YWE3ZWNhYzhiNWY4MzIwNTg4ZWQxNzgxNmFmMGJiMDk2N2Q0NGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTM0LDkgKzM0LDEwIEBACiAjaW5jbHVkZSAiQWN0aXZl
RE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Pci5oIgotI2luY2x1ZGUgPHd0Zi9VUkwuaD4KKyNpbmNsdWRlICJTdXNwZW5kYWJsZVRpbWVy
LmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVy
LmgiCisjaW5jbHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNzgsMTUgKzc5LDIxIEBAIHByaXZhdGU6CiAgICAgdm9pZCBy
ZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KICAgICB2b2lkIGRlcmVmRXZlbnRUYXJn
ZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KIAorICAgIHZvaWQgZGlzcGF0Y2hFcnJvckV2ZW50KCk7
CisgICAgdm9pZCBkb0V4cGxpY2l0TG9hZENhbmNlbGxhdGlvbigpOworCiAgICAgLy8gVGhyZWFk
YWJsZUxvYWRlckNsaWVudAogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxv
bmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVE
YXRhKGNvbnN0IGNoYXIqLCBpbnQpIGZpbmFsOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1
bnNpZ25lZCBsb25nKSBmaW5hbDsKICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJv
ciYpIGZpbmFsOwogCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgdm9pZCBzdG9wKCkgZmlu
YWw7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwog
ICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOwor
ICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBmaW5hbDsKKyAgICB2b2lkIHJl
c3VtZSgpIGZpbmFsOwogCiAgICAgdm9pZCBjb25uZWN0KCk7CiAgICAgdm9pZCBuZXR3b3JrUmVx
dWVzdEVuZGVkKCk7CkBAIC0xMDcsMTAgKzExNCwxMyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFRl
eHRSZXNvdXJjZURlY29kZXI+IG1fZGVjb2RlcjsKICAgICBSZWZQdHI8VGhyZWFkYWJsZUxvYWRl
cj4gbV9sb2FkZXI7Ci0gICAgVGltZXIgbV9jb25uZWN0VGltZXI7CisgICAgU3VzcGVuZGFibGVU
aW1lciBtX2Nvbm5lY3RUaW1lcjsKICAgICBWZWN0b3I8VUNoYXI+IG1fcmVjZWl2ZUJ1ZmZlcjsK
ICAgICBib29sIG1fZGlzY2FyZFRyYWlsaW5nTmV3bGluZSB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X3JlcXVlc3RJbkZsaWdodCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzU3VzcGVuZGVkRm9yUGFn
ZUNhY2hlIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNEb2luZ0V4cGxpY2l0Q2FuY2VsbGF0aW9u
IHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2hvdWxkRGlzcGF0Y2hFcnJvckV2ZW50T25SZXN1bWUg
eyBmYWxzZSB9OwogCiAgICAgQXRvbVN0cmluZyBtX2V2ZW50TmFtZTsKICAgICBWZWN0b3I8VUNo
YXI+IG1fZGF0YTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA2ODVhNTE0NzQxMWNlM2IyZmU5NTM0N2I0YTM1ZTkxYTY4OGJm
MmM0Li5lNzlkZWIwNDdjNjNlNmZmMDNmMGRjYTczNTEzYTM2NjdlY2UzMjgwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTktMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBFdmVudFNvdXJjZSB0byBlbnRlciB0aGUgYmFj
ay9mb3J3YXJkIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDIzNzAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU1ODUzMTQyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVz
dCBjb3ZlcmFnZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3Rpbmcu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJj
ZS1wYWdlLWNhY2hlLW9wZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtb3Blbi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVu
dC1zdHJlYW0ucGhwOiBBZGRlZC4KKwogMjAxOS0xMC0wMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtNYWNdIExheW91dCBUZXN0IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3JlZGlyZWN0LWxvY2F0aW9uLmFueS5odG1s
IGZhaWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGlu
Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiMDE5ZjUxZGJkYzZmNDc0MGJmN2FlYzc3YjQ5
YmVjN2ZjYjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE4IEBACitUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIEV2ZW50U291cmNlIHRo
YXQgaXMgY29ubmVjdGluZyBjYW4gZW50ZXIgdGhlIFBhZ2VDYWNoZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK3BhZ2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0g
ZW50ZXJpbmcgY2FjaGUKK3BhZ2VzaG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRl
ciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUKK1BBU1MgUmVjZWl2ZWQgb3Bl
biBldmVudAorUEFTUyByZXN0b3JlZEZyb21QYWdlQ2FjaGUgaXMgdHJ1ZQorUEFTUyBSZWNlaXZl
ZCBtZXNzYWdlCitQQVNTIHJlc3RvcmVkRnJvbVBhZ2VDYWNoZSBpcyB0cnVlCitQQVNTIHJlY2Vp
dmVkT3BlbkV2ZW50IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGluZy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3Rp
bmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iMDVlNDc0Yjk5N2JhNjMwMTI4YmU2OWMwNWUxOWJkZjgzNzM5
YzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmcuaHRtbApAQCAtMCwwICsxLDU5IEBA
Cis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+Cis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gRXZlbnRTb3VyY2UgdGhhdCBp
cyBjb25uZWN0aW5nIGNhbiBlbnRlciB0aGUgUGFnZUNhY2hlLiIpOworanNUZXN0SXNBc3luYyA9
IHRydWU7CitsZXQgcmVzdG9yZWRGcm9tUGFnZUNhY2hlID0gZmFsc2U7CitsZXQgcmVjZWl2ZWRP
cGVuRXZlbnQgPSBmYWxzZTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93Iiwg
ZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNp
c3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9tIGNhY2hlIik7CisKKyAgICBpZiAoZXZlbnQucGVy
c2lzdGVkKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVz
dG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIpOworICAgICAgICByZXN0b3JlZEZyb21QYWdlQ2Fj
aGUgPSB0cnVlOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
InBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygicGFnZWhpZGUgLSAiICsg
KGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJlbnRlcmluZyBjYWNoZSIpOworICAg
IGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlkIG5v
dCBlbnRlciB0aGUgcGFnZSBjYWNoZS4iKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
fQorCisgICAgZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoInJlc291cmNlcy9pbmZpbml0
ZS1ldmVudC1zdHJlYW0ucGhwIik7CisKKyAgICBldmVudFNvdXJjZS5vbmVycm9yID0gKCkgPT4g
eworICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBlcnJvciBldmVudCIpOworICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICB9CisKKyAgICBldmVudFNvdXJjZS5vbm9wZW4gPSAoKSA9PiB7
CisgICAgICAgIHRlc3RQYXNzZWQoIlJlY2VpdmVkIG9wZW4gZXZlbnQiKTsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJyZXN0b3JlZEZyb21QYWdlQ2FjaGUiKTsKKyAgICAgICAgcmVjZWl2ZWRPcGVu
RXZlbnQgID0gdHJ1ZTsKKyAgICB9CisKKyAgICBldmVudFNvdXJjZS5vbm1lc3NhZ2UgPSAoKSA9
PiB7CisgICAgICAgIHRlc3RQYXNzZWQoIlJlY2VpdmVkIG1lc3NhZ2UiKTsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJyZXN0b3JlZEZyb21QYWdlQ2FjaGUiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVl
KCJyZWNlaXZlZE9wZW5FdmVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9
LCBmYWxzZSk7CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAg
ICAgICB3aW5kb3cubG9jYXRpb24gPSAiL25hdmlnYXRpb24vcmVzb3VyY2VzL3BhZ2UtY2FjaGUt
aGVscGVyLmh0bWwiOyAKKyAgICB9LCAwKTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50
c291cmNlLXBhZ2UtY2FjaGUtb3Blbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtb3Blbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjY0N2MwYmNhNzI1NWZlMjlhOWUwZWQ2OGEyZWM3YjRiNmRmNDQ0NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRz
b3VyY2UtcGFnZS1jYWNoZS1vcGVuLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0
cyB0aGF0IGEgcGFnZSB3aXRoIGFuIEV2ZW50U291cmNlIHRoYXQgaXMgb3BlbiBjYW4gZW50ZXIg
dGhlIFBhZ2VDYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3BhZ2VzaG93
IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2VzaG93IC0g
ZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhl
IHBhZ2UgY2FjaGUKK1BBU1MgUmVjZWl2ZWQgZXJyb3IgZXZlbnQKK1BBU1MgZXZlbnRTb3VyY2Uu
cmVhZHlTdGF0ZSBpcyBFdmVudFNvdXJjZS5DTE9TRUQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtb3Blbi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLW9w
ZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNGE1MGM0ZGY3OTZkYzI2OTA0ZGEzZTcxYzMxMDZhZTBmOWQ4
ZmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLW9wZW4uaHRtbApAQCAtMCwwICsxLDUzIEBACis8IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gRXZlbnRTb3VyY2UgdGhhdCBpcyBvcGVu
IGNhbiBlbnRlciB0aGUgUGFnZUNhY2hlLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CitsZXQg
cmVzdG9yZWRGcm9tUGFnZUNhY2hlID0gZmFsc2U7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0gIiAr
IChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisgICAg
aWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRl
ciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgcmVzdG9y
ZWRGcm9tUGFnZUNhY2hlID0gdHJ1ZTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBh
Z2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcg
Y2FjaGUiKTsKKyAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVk
KCJQYWdlIGRpZCBub3QgZW50ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgIH0KK30sIGZhbHNlKTsKKworb25sb2FkID0gKCkgPT4geworICAgIGV2ZW50
U291cmNlID0gbmV3IEV2ZW50U291cmNlKCJyZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFt
LnBocCIpOworICAgIGV2ZW50U291cmNlLm9ub3BlbiA9ICgpID0+IHsKKyAgICAgICB3aW5kb3cu
bG9jYXRpb24gPSAiL25hdmlnYXRpb24vcmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwi
OyAKKyAgICB9CisKKyAgICBldmVudFNvdXJjZS5vbmVycm9yID0gKCkgPT4geworICAgICAgICBp
ZiAoIXJlc3RvcmVkRnJvbVBhZ2VDYWNoZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiUmVj
ZWl2ZWQgZXJyb3IgZXZlbnQgYmVmb3JlIHJlc3RvcmluZyBmcm9tIHBhZ2UgY2FjaGUiKTsKKyAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgICAgIHRlc3RQYXNzZWQoIlJlY2VpdmVkIGVycm9yIGV2ZW50Iik7CisgICAgICAgIHNo
b3VsZEJlKCJldmVudFNvdXJjZS5yZWFkeVN0YXRlIiwgIkV2ZW50U291cmNlLkNMT1NFRCIpOwor
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9CisKKyAgICBldmVudFNvdXJjZS5vbm1lc3Nh
Z2UgPSAoKSA9PiB7CisgICAgfTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9p
bmZpbml0ZS1ldmVudC1zdHJlYW0ucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNv
dXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnBocApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjI0
OTVlODQ5OTg1MzZhYjIyYWUxOTlkNmRjNDVhZDU1NjI4YzdkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZl
bnQtc3RyZWFtLnBocApAQCAtMCwwICsxLDI3IEBACis8P3BocAorZGF0ZV9kZWZhdWx0X3RpbWV6
b25lX3NldCgiQW1lcmljYS9OZXdfWW9yayIpOworaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQv
ZXZlbnQtc3RyZWFtIik7CiskY291bnRlciA9IHJhbmQoMSwgMTApOyAvLyBhIHJhbmRvbSBjb3Vu
dGVyCit3aGlsZSAoMSkgeworLy8gMSBpcyBhbHdheXMgdHJ1ZSwgc28gcmVwZWF0IHRoZSB3aGls
ZSBsb29wIGZvcmV2ZXIgKGFrYSBldmVudC1sb29wKQorICAkY3VyRGF0ZSA9IGRhdGUoREFURV9J
U084NjAxKTsKKyAgZWNobyAiZXZlbnQ6IHBpbmdcbiIsCisgICAgICAgJ2RhdGE6IHsidGltZSI6
ICInIC4gJGN1ckRhdGUgLiAnIn0nLCAiXG5cbiI7CisgIC8vIFNlbmQgYSBzaW1wbGUgbWVzc2Fn
ZSBhdCByYW5kb20gaW50ZXJ2YWxzLgorICAkY291bnRlci0tOworICBpZiAoISRjb3VudGVyKSB7
CisgICAgZWNobyAnZGF0YTogVGhpcyBpcyBhIG1lc3NhZ2UgYXQgdGltZSAnIC4gJGN1ckRhdGUs
ICJcblxuIjsKKyAgICAkY291bnRlciA9IHJhbmQoMSwgMTApOyAvLyByZXNldCByYW5kb20gY291
bnRlcgorICB9CisgIC8vIGZsdXNoIHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBzZW5kIGVjaG9lZCBt
ZXNzYWdlcyB0byB0aGUgYnJvd3NlcgorICB3aGlsZSAob2JfZ2V0X2xldmVsKCkgPiAwKSB7Cisg
ICAgb2JfZW5kX2ZsdXNoKCk7CisgIH0KKyAgZmx1c2goKTsKKyAgLy8gYnJlYWsgdGhlIGxvb3Ag
aWYgdGhlIGNsaWVudCBhYm9ydGVkIHRoZSBjb25uZWN0aW9uIChjbG9zZWQgdGhlIHBhZ2UpCisg
IAorICBpZiAoIGNvbm5lY3Rpb25fYWJvcnRlZCgpICkgYnJlYWs7CisgIC8vIHNsZWVwIGZvciAx
IHNlY29uZCBiZWZvcmUgcnVubmluZyB0aGUgbG9vcCBhZ2FpbgorICAKKyAgc2xlZXAoMSk7Cit9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380268</attachid>
            <date>2019-10-04 16:54:19 -0700</date>
            <delta_ts>2019-10-04 18:38:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202370-20191004165419.patch</filename>
            <type>text/plain</type>
            <size>18847</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGY0NTc5MTEyNDEzMWNl
ZTY3NGU1ZjU5MjcwZWUxOWU4MDBhYTYwNi4uMjVhNWYyMWE1YTdmM2YzMjUzMWFjMjZkNmU5NGYw
MTgwODkwNTU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE5LTEwLTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgcGFnZXMgdXNpbmcg
RXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMzcwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTg1MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBFdmVudFNvdXJjZSB0byBlbnRlciB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlLiBJZiB0aGUgRXZlbnRTb3VyY2UgaXMKKyAgICAgICAgY29ubmVj
dGluZyBhdCB0aGUgdGltZSBpdCBlbnRlcnMgUGFnZUNhY2hlLCBpdCB3aWxsIHJlc3VtZSBjb25u
ZWN0aW5nIGFmdGVyIHJlc3RvcmluZworICAgICAgICBmcm9tIFBhZ2VDYWNoZSAoYnkgbWFraW5n
IG1fY29ubmVjdFRpbWVyIGEgU3VzcGVuZGFibGVUaW1lciwgd2hpY2ggaXMgUGFnZUNhY2hlLWF3
YXJlKS4KKyAgICAgICAgSWYgdGhlIEV2ZW50U291cmNlIGlzIHdhcyBvcGVuIHVwb24gbmF2aWdh
dGluZywgaXQgZ2V0cyBjbG9zZWQgdXBvbiBuYXZpZ2F0aW5nIChzaW5jZQorICAgICAgICBhbGwg
cGVuZGluZyBsb2FkcyBnZXQgY2FuY2VsbGVkIG9uIG5hdmlnYXRpb24pLiBUbyBoZWxwIHRoZSBw
YWdlIHJlY292ZXIsIHdlIGZpcmUgYW4KKyAgICAgICAgZXJyb3IgZXZlbnQgYW5kIGF0dGVtcHQg
dG8gcmVjb25uZWN0IGF1dG9tYXRpY2FsbHkgd2hlbiByZXN0b3JpbmcgdGhlIHBhZ2UgZnJvbSBw
YWdlCisgICAgICAgIGNhY2hlLiBJdCBpcyBhbGxvd2VkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uIHRv
IGF0dGVtcHQgcmVjb25uZWN0aW9uIGluIGNhc2Ugb2Ygbm9uLWZhdGFsCisgICAgICAgIG5ldHdv
cmsgZXJyb3JzLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50
c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGVkLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLmh0bWwKKwor
ICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRT
b3VyY2U6OkV2ZW50U291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hl
ZHVsZVJlY29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2xvc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlzcGF0Y2hFcnJvckV2ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50U291cmNlOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudFNvdXJjZTo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFNvdXJjZTo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6YWJvcnRD
b25uZWN0aW9uQXR0ZW1wdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZG9FeHBs
aWNpdExvYWRDYW5jZWxsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNh
blN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRTb3VyY2U6OnN1c3BlbmQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnJl
c3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6ZGlzcGF0Y2hNZXNzYWdlRXZl
bnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKwogMjAxOS0xMC0wNCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHBhZ2VzIHVzaW5nIElE
QkluZGV4IHRvIGVudGVyIHRoZSBQYWdlQ2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5j
cHAKaW5kZXggYWEzYzkzMDg4MmNjMjM3YTljZTU1ZWU3NmRhMTQxZGRkZThhOGMxYS4uNzE0ZTlk
YzA4YjIxNTYyNjE3OTgxMWYzMmE5M2U1M2Y3NjZjM2U4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJUZXh0UmVzb3VyY2VEZWNv
ZGVyLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNTcsOCArNTgsOSBAQCBpbmxpbmUgRXZlbnRTb3VyY2U6OkV2ZW50
U291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFVSTCYgdXJsLAog
ICAgICwgbV91cmwodXJsKQogICAgICwgbV93aXRoQ3JlZGVudGlhbHMoZXZlbnRTb3VyY2VJbml0
LndpdGhDcmVkZW50aWFscykKICAgICAsIG1fZGVjb2RlcihUZXh0UmVzb3VyY2VEZWNvZGVyOjpj
cmVhdGUoInRleHQvcGxhaW4iX3MsICJVVEYtOCIpKQotICAgICwgbV9jb25uZWN0VGltZXIoKnRo
aXMsICZFdmVudFNvdXJjZTo6Y29ubmVjdCkKKyAgICAsIG1fY29ubmVjdFRpbWVyKCZjb250ZXh0
LCAqdGhpcywgJkV2ZW50U291cmNlOjpjb25uZWN0KQogeworICAgIG1fY29ubmVjdFRpbWVyLnN1
c3BlbmRJZk5lZWRlZCgpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8RXZlbnRTb3VyY2U+PiBFdmVu
dFNvdXJjZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0
cmluZyYgdXJsLCBjb25zdCBJbml0JiBldmVudFNvdXJjZUluaXQpCkBAIC0xNDEsOSArMTQzLDEw
IEBAIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3QoKQogCiB2b2lkIEV2
ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCgpCiB7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lU
SF9TRUNVUklUWV9JTVBMSUNBVElPTighbV9pc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CiAgICAg
bV9zdGF0ZSA9IENPTk5FQ1RJTkc7CiAgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDFf
bXMgKiBtX3JlY29ubmVjdERlbGF5KTsKLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXND
YW5jZWxhYmxlOjpObykpOworICAgIGRpc3BhdGNoRXJyb3JFdmVudCgpOwogfQogCiB2b2lkIEV2
ZW50U291cmNlOjpjbG9zZSgpCkBAIC0xNTUsMTAgKzE1OCwxMCBAQCB2b2lkIEV2ZW50U291cmNl
OjpjbG9zZSgpCiAKICAgICAvLyBTdG9wIHRyeWluZyB0byBjb25uZWN0L3JlY29ubmVjdCBpZiBF
dmVudFNvdXJjZSB3YXMgZXhwbGljaXRseSBjbG9zZWQgb3IgaWYgQWN0aXZlRE9NT2JqZWN0Ojpz
dG9wKCkgd2FzIGNhbGxlZC4KICAgICBpZiAobV9jb25uZWN0VGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9jb25uZWN0VGltZXIuc3RvcCgpOworICAgICAgICBtX2Nvbm5lY3RUaW1lci5jYW5j
ZWwoKTsKIAogICAgIGlmIChtX3JlcXVlc3RJbkZsaWdodCkKLSAgICAgICAgbV9sb2FkZXItPmNh
bmNlbCgpOworICAgICAgICBkb0V4cGxpY2l0TG9hZENhbmNlbGxhdGlvbigpOwogICAgIGVsc2Ug
ewogICAgICAgICBtX3N0YXRlID0gQ0xPU0VEOwogICAgICAgICB1bnNldFBlbmRpbmdBY3Rpdml0
eSgqdGhpcyk7CkBAIC0xOTYsMTAgKzE5OSwxMSBAQCB2b2lkIEV2ZW50U291cmNlOjpkaWRSZWNl
aXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcAog
ewogICAgIEFTU0VSVChtX3N0YXRlID09IENPTk5FQ1RJTkcpOwogICAgIEFTU0VSVChtX3JlcXVl
c3RJbkZsaWdodCk7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TighbV9pc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CiAKICAgICBpZiAoIXJlc3BvbnNlSXNWYWxp
ZChyZXNwb25zZSkpIHsKLSAgICAgICAgbV9sb2FkZXItPmNhbmNlbCgpOwotICAgICAgICBkaXNw
YXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2ZW50OjpD
YW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgICAgICBkb0V4cGxp
Y2l0TG9hZENhbmNlbGxhdGlvbigpOworICAgICAgICBkaXNwYXRjaEVycm9yRXZlbnQoKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjA4LDEwICsyMTIsMTYgQEAgdm9pZCBFdmVudFNv
dXJjZTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3AKICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
Lm9wZW5FdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5v
KSk7CiB9CiAKK3ZvaWQgRXZlbnRTb3VyY2U6OmRpc3BhdGNoRXJyb3JFdmVudCgpCit7CisgICAg
ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBFdmVu
dDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKK30KKwogdm9pZCBF
dmVudFNvdXJjZTo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkK
IHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBPUEVOKTsKICAgICBBU1NFUlQobV9yZXF1ZXN0SW5G
bGlnaHQpOworICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW1f
aXNTdXNwZW5kZWRGb3JQYWdlQ2FjaGUpOwogCiAgICAgYXBwZW5kKG1fcmVjZWl2ZUJ1ZmZlciwg
bV9kZWNvZGVyLT5kZWNvZGUoZGF0YSwgbGVuZ3RoKSk7CiAgICAgcGFyc2VFdmVudFN0cmVhbSgp
OwpAQCAtMjIxLDYgKzIzMSw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZpbmlzaExvYWRpbmco
dW5zaWduZWQgbG9uZykKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBPUEVOKTsKICAgICBBU1NF
UlQobV9yZXF1ZXN0SW5GbGlnaHQpOworICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oIW1faXNTdXNwZW5kZWRGb3JQYWdlQ2FjaGUpOwogCiAgICAgYXBwZW5kKG1f
cmVjZWl2ZUJ1ZmZlciwgbV9kZWNvZGVyLT5mbHVzaCgpKTsKICAgICBwYXJzZUV2ZW50U3RyZWFt
KCk7CkBAIC0yNDcsNiArMjU4LDE0IEBAIHZvaWQgRXZlbnRTb3VyY2U6OmRpZEZhaWwoY29uc3Qg
UmVzb3VyY2VFcnJvciYgZXJyb3IpCiAKICAgICBBU1NFUlQobV9yZXF1ZXN0SW5GbGlnaHQpOwog
CisgICAgLy8gVGhpcyBpcyB0aGUgY2FzZSB3aGVyZSB0aGUgbG9hZCBnZXRzIGNhbmNlbGxlZCBv
biBuYXZpZ2F0aW5nIGF3YXkuIFdlIG9ubHkgZmlyZSBhbiBlcnJvciBldmVudCBhbmQgYXR0ZW1w
dCB0byByZWNvbm5lY3QKKyAgICAvLyBpZiB3ZSBlbmQgdXAgZ2V0dGluZyByZXN1bWVkIGZyb20g
cGFnZSBjYWNoZS4KKyAgICBpZiAoZXJyb3IuaXNDYW5jZWxsYXRpb24oKSAmJiAhbV9pc0RvaW5n
RXhwbGljaXRDYW5jZWxsYXRpb24pIHsKKyAgICAgICAgbV9zaG91bGRSZWNvbm5lY3RPblJlc3Vt
ZSA9IHRydWU7CisgICAgICAgIG1fcmVxdWVzdEluRmxpZ2h0ID0gZmFsc2U7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBpZiAoZXJyb3IuaXNDYW5jZWxsYXRpb24oKSkKICAgICAgICAg
bV9zdGF0ZSA9IENMT1NFRDsKIApAQCAtMjU4LDkgKzI3NywxMCBAQCB2b2lkIEV2ZW50U291cmNl
OjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogdm9pZCBFdmVudFNvdXJjZTo6
YWJvcnRDb25uZWN0aW9uQXR0ZW1wdCgpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbV9p
c1N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CiAKICAgICBpZiAobV9yZXF1ZXN0SW5GbGlnaHQpCi0g
ICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKKyAgICAgICAgZG9FeHBsaWNpdExvYWRDYW5jZWxs
YXRpb24oKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICAgICAg
dW5zZXRQZW5kaW5nQWN0aXZpdHkoKnRoaXMpOwpAQCAtMjcwLDYgKzI5MCwxMyBAQCB2b2lkIEV2
ZW50U291cmNlOjphYm9ydENvbm5lY3Rpb25BdHRlbXB0KCkKICAgICBkaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5v
LCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogfQogCit2b2lkIEV2ZW50U291cmNlOjpkb0V4
cGxpY2l0TG9hZENhbmNlbGxhdGlvbigpCit7CisgICAgQVNTRVJUKG1fcmVxdWVzdEluRmxpZ2h0
KTsKKyAgICBTZXRGb3JTY29wZTxib29sPiBleHBsaWNpdExvYWRDYW5jZWxsYXRpb24obV9pc0Rv
aW5nRXhwbGljaXRDYW5jZWxsYXRpb24sIHRydWUpOworICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsK
K30KKwogdm9pZCBFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0cmVhbSgpCiB7CiAgICAgdW5zaWdu
ZWQgcG9zaXRpb24gPSAwOwpAQCAtMzc4LDEyICs0MDUsMzYgQEAgY29uc3QgY2hhciogRXZlbnRT
b3VyY2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogCiBib29sIEV2ZW50U291cmNlOjpj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHJldHVybiB0cnVlIGhlcmUgd2hlbiB3ZSBjYW4gYmVjYXVzZSB0aGlzIG9iamVj
dCBpcyBub3QgYWN0dWFsbHkgY3VycmVudGx5IGFjdGl2ZS4KLSAgICByZXR1cm4gZmFsc2U7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgRXZlbnRTb3VyY2U6OnN1c3BlbmQoUmVhc29uRm9y
U3VzcGVuc2lvbiByZWFzb24pCit7CisgICAgaWYgKHJlYXNvbiAhPSBSZWFzb25Gb3JTdXNwZW5z
aW9uOjpQYWdlQ2FjaGUpCisgICAgICAgIHJldHVybjsKKworICAgIG1faXNTdXNwZW5kZWRGb3JQ
YWdlQ2FjaGUgPSB0cnVlOworICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfTUVTU0FHRSghbV9yZXF1
ZXN0SW5GbGlnaHQsICJMb2FkcyBnZXQgY2FuY2VsbGVkIGJlZm9yZSBlbnRlcmluZyBQYWdlQ2Fj
aGUuIik7Cit9CisKK3ZvaWQgRXZlbnRTb3VyY2U6OnJlc3VtZSgpCit7CisgICAgaWYgKCFtX2lz
U3VzcGVuZGVkRm9yUGFnZUNhY2hlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2lzU3VzcGVu
ZGVkRm9yUGFnZUNhY2hlID0gZmFsc2U7CisgICAgaWYgKHN0ZDo6ZXhjaGFuZ2UobV9zaG91bGRS
ZWNvbm5lY3RPblJlc3VtZSwgZmFsc2UpKSB7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+cG9zdFRhc2soW3RoaXMsIHBlbmRpbmdBY3Rpdml0eSA9IG1ha2VQZW5kaW5nQWN0aXZp
dHkoKnRoaXMpXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgeworICAgICAgICAgICAgaWYgKCFp
c0NvbnRleHRTdG9wcGVkKCkpCisgICAgICAgICAgICAgICAgc2NoZWR1bGVSZWNvbm5lY3QoKTsK
KyAgICAgICAgfSk7CisgICAgfQogfQogCiB2b2lkIEV2ZW50U291cmNlOjpkaXNwYXRjaE1lc3Nh
Z2VFdmVudCgpCiB7CisgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TighbV9pc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CisKICAgICBpZiAoIW1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZC5pc051bGwoKSkKICAgICAgICAgbV9sYXN0RXZlbnRJZCA9IFdURk1vdmUobV9j
dXJyZW50bHlQYXJzZWRFdmVudElkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4
IDk0MTNiNmFiMzM0ZWM5NmQ4ZDg4NDNkYjEzZjM4ZjcxYzY2NThkNGMuLmQ3ODEwMTNlNTljYjZm
ODY1ZGRmYjVkNGZiMGMzODUxZDFlZDcwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgK
QEAgLTM0LDkgKzM0LDEwIEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgotI2luY2x1ZGUgPHd0
Zi9VUkwuaD4KKyNpbmNsdWRlICJTdXNwZW5kYWJsZVRpbWVyLmgiCiAjaW5jbHVkZSAiVGhyZWFk
YWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL1VS
TC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NzgsMTUgKzc5LDIxIEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFs
IHsgcmVmKCk7IH0KICAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7
IH0KIAorICAgIHZvaWQgZGlzcGF0Y2hFcnJvckV2ZW50KCk7CisgICAgdm9pZCBkb0V4cGxpY2l0
TG9hZENhbmNlbGxhdGlvbigpOworCiAgICAgLy8gVGhyZWFkYWJsZUxvYWRlckNsaWVudAogICAg
IHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmKSBmaW5hbDsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqLCBpbnQp
IGZpbmFsOwogICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nKSBmaW5hbDsK
ICAgICB2b2lkIGRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpIGZpbmFsOwogCisgICAgLy8g
QWN0aXZlRE9NT2JqZWN0CiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAgICAgY29uc3QgY2hhciog
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgY2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc3VzcGVuZChSZWFz
b25Gb3JTdXNwZW5zaW9uKSBmaW5hbDsKKyAgICB2b2lkIHJlc3VtZSgpIGZpbmFsOwogCiAgICAg
dm9pZCBjb25uZWN0KCk7CiAgICAgdm9pZCBuZXR3b3JrUmVxdWVzdEVuZGVkKCk7CkBAIC0xMDcs
MTAgKzExNCwxMyBAQCBwcml2YXRlOgogCiAgICAgUmVmPFRleHRSZXNvdXJjZURlY29kZXI+IG1f
ZGVjb2RlcjsKICAgICBSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gbV9sb2FkZXI7Ci0gICAgVGlt
ZXIgbV9jb25uZWN0VGltZXI7CisgICAgU3VzcGVuZGFibGVUaW1lciBtX2Nvbm5lY3RUaW1lcjsK
ICAgICBWZWN0b3I8VUNoYXI+IG1fcmVjZWl2ZUJ1ZmZlcjsKICAgICBib29sIG1fZGlzY2FyZFRy
YWlsaW5nTmV3bGluZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3JlcXVlc3RJbkZsaWdodCB7IGZh
bHNlIH07CisgICAgYm9vbCBtX2lzU3VzcGVuZGVkRm9yUGFnZUNhY2hlIHsgZmFsc2UgfTsKKyAg
ICBib29sIG1faXNEb2luZ0V4cGxpY2l0Q2FuY2VsbGF0aW9uIHsgZmFsc2UgfTsKKyAgICBib29s
IG1fc2hvdWxkUmVjb25uZWN0T25SZXN1bWUgeyBmYWxzZSB9OwogCiAgICAgQXRvbVN0cmluZyBt
X2V2ZW50TmFtZTsKICAgICBWZWN0b3I8VUNoYXI+IG1fZGF0YTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YTU2Y2VlNzI5
MjUwMTZmMGI3YWFmMGRmOTcwNDI3ZWVjNWJkNDU3Li41NTM0OGQ4NjlhOGEzZGQwMWNmMmFjMGI0
NGYyNjhlZTRjOTE3YjQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMTAtMDQgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBwYWdlcyB1c2luZyBF
dmVudFNvdXJjZSB0byBlbnRlciB0aGUgYmFjay9mb3J3YXJkIGNhY2hlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIzNzAKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzU1ODUzMTQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIGh0dHAv
dGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0ZWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0aW5nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJj
ZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnBocDogQWRkZWQu
CisKIDIwMTktMTAtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBBbGxvdyBwYWdlcyB1c2luZyBJREJJbmRleCB0byBlbnRlciB0aGUgUGFnZUNhY2hlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBh
Z2UtY2FjaGUtY29ubmVjdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1jYWNoZS1jb25uZWN0ZWQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE2MDFjMzQzZjRjM2JjOGQ1ZDAxMGRhYWY0M2QwNmE4Yzg1YTY0NGMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50
c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBA
CitUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIEV2ZW50U291cmNlIHRoYXQgaXMgY29ubmVjdGVk
IGNhbiBlbnRlciB0aGUgUGFnZUNhY2hlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorUEFTUyBSZWNlaXZlZCBvcGVuIGV2ZW50CitQ
QVNTIFJlY2VpdmVkIG1lc3NhZ2UgYmVmb3JlIGVudGVyaW5nIHBhZ2UgY2FjaGUKK3BhZ2VoaWRl
IC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2VzaG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBl
bnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUKK1BBU1MgUmVjZWl2ZWQg
ZXJyb3IgZXZlbnQKK1BBU1MgcmVzdG9yZWRGcm9tUGFnZUNhY2hlIGlzIHRydWUKK1BBU1Mgb3Bl
bkV2ZW50Q291bnQgaXMgMQorUEFTUyBSZWNlaXZlZCBvcGVuIGV2ZW50CitQQVNTIFJlY2VpdmVk
IG1lc3NhZ2UgYWZ0ZXIgcmVzdG9yaW5nIGZyb20gcGFnZSBjYWNoZQorUEFTUyBvcGVuRXZlbnRD
b3VudCBpcyAyCitQQVNTIGVycm9yRXZlbnRDb3VudCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdl
LWNhY2hlLWNvbm5lY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2NjlmMmMwMGEyMThjZjBjODAyNGIy
OTU1ZTY1NzA1Njk4ZGI2ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGVkLmh0bWwKQEAg
LTAsMCArMSw3MiBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVQYWdlQ2FjaGU9
dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIEV2ZW50
U291cmNlIHRoYXQgaXMgY29ubmVjdGVkIGNhbiBlbnRlciB0aGUgUGFnZUNhY2hlLiIpOworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK2xldCByZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSBmYWxzZTsK
K2xldCBvcGVuRXZlbnRDb3VudCA9IDA7CitsZXQgZXJyb3JFdmVudENvdW50ID0gMDsKK2xldCBz
aG91bGROYXZpZ2F0ZU9uTWVzc2FnZSA9IHRydWU7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0gIiAr
IChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisgICAg
aWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRl
ciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgcmVzdG9y
ZWRGcm9tUGFnZUNhY2hlID0gdHJ1ZTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBh
Z2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcg
Y2FjaGUiKTsKKyAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVk
KCJQYWdlIGRpZCBub3QgZW50ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgIH0KK30sIGZhbHNlKTsKKworb25sb2FkID0gKCkgPT4geworICAgIHNldFRp
bWVvdXQoKCkgPT4geworICAgICAgIGV2ZW50U291cmNlID0gbmV3IEV2ZW50U291cmNlKCJyZXNv
dXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnBocCIpOworCisgICAgICAgIGV2ZW50U291cmNl
Lm9uZXJyb3IgPSAoKSA9PiB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJSZWNlaXZlZCBlcnJv
ciBldmVudCIpOworICAgICAgICAgICAgZXJyb3JFdmVudENvdW50Kys7CisgICAgICAgICAgICBz
aG91bGRCZVRydWUoInJlc3RvcmVkRnJvbVBhZ2VDYWNoZSIpOworICAgICAgICAgICAgc2hvdWxk
QmUoIm9wZW5FdmVudENvdW50IiwgIjEiKTsKKyAgICAgICAgfQorCisgICAgICAgIGV2ZW50U291
cmNlLm9ub3BlbiA9ICgpID0+IHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIlJlY2VpdmVkIG9w
ZW4gZXZlbnQiKTsKKyAgICAgICAgICAgIG9wZW5FdmVudENvdW50Kys7CisgICAgICAgIH0KKwor
ICAgICAgICBldmVudFNvdXJjZS5vbm1lc3NhZ2UgPSAoKSA9PiB7CisgICAgICAgICAgICBpZiAo
c2hvdWxkTmF2aWdhdGVPbk1lc3NhZ2UpIHsKKyAgICAgICAgICAgICAgICBzaG91bGROYXZpZ2F0
ZU9uTWVzc2FnZSA9IGZhbHNlOworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlJlY2VpdmVk
IG1lc3NhZ2UgYmVmb3JlIGVudGVyaW5nIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgICAgICAgICBz
ZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0g
Ii9uYXZpZ2F0aW9uL3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAgICAgICAg
ICAgICAgICB9LCAwKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBpZiAoIXJlc3RvcmVkRnJvbVBhZ2VDYWNoZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIlJlY2VpdmVkIG1lc3NhZ2UgYWZ0ZXIg
cmVzdG9yaW5nIGZyb20gcGFnZSBjYWNoZSIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm9wZW5F
dmVudENvdW50IiwgIjIiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJlcnJvckV2ZW50Q291bnQi
LCAiMSIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICB9LCAw
KTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVj
dGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXBhZ2UtY2FjaGUtY29ubmVjdGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmRiMDE5ZjUxZGJkYzZmNDc0MGJmN2FlYzc3YjQ5YmVjN2ZjYjNjMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcGFnZS1j
YWNoZS1jb25uZWN0aW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0cyB0aGF0
IGEgcGFnZSB3aXRoIGFuIEV2ZW50U291cmNlIHRoYXQgaXMgY29ubmVjdGluZyBjYW4gZW50ZXIg
dGhlIFBhZ2VDYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3BhZ2VzaG93
IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2VzaG93IC0g
ZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhl
IHBhZ2UgY2FjaGUKK1BBU1MgUmVjZWl2ZWQgb3BlbiBldmVudAorUEFTUyByZXN0b3JlZEZyb21Q
YWdlQ2FjaGUgaXMgdHJ1ZQorUEFTUyBSZWNlaXZlZCBtZXNzYWdlCitQQVNTIHJlc3RvcmVkRnJv
bVBhZ2VDYWNoZSBpcyB0cnVlCitQQVNTIHJlY2VpdmVkT3BlbkV2ZW50IGlzIHRydWUKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXBhZ2UtY2Fj
aGUtY29ubmVjdGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9l
dmVudHNvdXJjZS1wYWdlLWNhY2hlLWNvbm5lY3RpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDVlNDc0
Yjk5N2JhNjMwMTI4YmU2OWMwNWUxOWJkZjgzNzM5YzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1wYWdlLWNhY2hlLWNv
bm5lY3RpbmcuaHRtbApAQCAtMCwwICsxLDU5IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IGVuYWJsZVBhZ2VDYWNoZT10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgYSBw
YWdlIHdpdGggYW4gRXZlbnRTb3VyY2UgdGhhdCBpcyBjb25uZWN0aW5nIGNhbiBlbnRlciB0aGUg
UGFnZUNhY2hlLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CitsZXQgcmVzdG9yZWRGcm9tUGFn
ZUNhY2hlID0gZmFsc2U7CitsZXQgcmVjZWl2ZWRPcGVuRXZlbnQgPSBmYWxzZTsKKword2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1
ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJmcm9t
IGNhY2hlIik7CisKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RQYXNz
ZWQoIlBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSIp
OworICAgICAgICByZXN0b3JlZEZyb21QYWdlQ2FjaGUgPSB0cnVlOworICAgIH0KK30sIGZhbHNl
KTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQp
IHsKKyAgICBkZWJ1ZygicGFnZWhpZGUgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5v
dCAiKSArICJlbnRlcmluZyBjYWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7Cisg
ICAgICAgIHRlc3RGYWlsZWQoIlBhZ2UgZGlkIG5vdCBlbnRlciB0aGUgcGFnZSBjYWNoZS4iKTsK
KyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorCisgICAgZXZlbnRTb3VyY2UgPSBuZXcg
RXZlbnRTb3VyY2UoInJlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0ucGhwIik7CisKKyAg
ICBldmVudFNvdXJjZS5vbmVycm9yID0gKCkgPT4geworICAgICAgICB0ZXN0RmFpbGVkKCJSZWNl
aXZlZCBlcnJvciBldmVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9CisKKyAg
ICBldmVudFNvdXJjZS5vbm9wZW4gPSAoKSA9PiB7CisgICAgICAgIHRlc3RQYXNzZWQoIlJlY2Vp
dmVkIG9wZW4gZXZlbnQiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJyZXN0b3JlZEZyb21QYWdl
Q2FjaGUiKTsKKyAgICAgICAgcmVjZWl2ZWRPcGVuRXZlbnQgID0gdHJ1ZTsKKyAgICB9CisKKyAg
ICBldmVudFNvdXJjZS5vbm1lc3NhZ2UgPSAoKSA9PiB7CisgICAgICAgIHRlc3RQYXNzZWQoIlJl
Y2VpdmVkIG1lc3NhZ2UiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJyZXN0b3JlZEZyb21QYWdl
Q2FjaGUiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJyZWNlaXZlZE9wZW5FdmVudCIpOworICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK29ubG9hZCA9ICgpID0+
IHsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICB3aW5kb3cubG9jYXRpb24gPSAiL25h
dmlnYXRpb24vcmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwiOyAKKyAgICB9LCAwKTsK
K30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy9pbmZpbml0ZS1ldmVudC1zdHJlYW0u
cGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5p
dGUtZXZlbnQtc3RyZWFtLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjI0OTVlODQ5OTg1MzZhYjIyYWUxOTlk
NmRjNDVhZDU1NjI4YzdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvaW5maW5pdGUtZXZlbnQtc3RyZWFtLnBocApAQCAtMCww
ICsxLDI3IEBACis8P3BocAorZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgiQW1lcmljYS9OZXdf
WW9yayIpOworaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvZXZlbnQtc3RyZWFtIik7CiskY291
bnRlciA9IHJhbmQoMSwgMTApOyAvLyBhIHJhbmRvbSBjb3VudGVyCit3aGlsZSAoMSkgeworLy8g
MSBpcyBhbHdheXMgdHJ1ZSwgc28gcmVwZWF0IHRoZSB3aGlsZSBsb29wIGZvcmV2ZXIgKGFrYSBl
dmVudC1sb29wKQorICAkY3VyRGF0ZSA9IGRhdGUoREFURV9JU084NjAxKTsKKyAgZWNobyAiZXZl
bnQ6IHBpbmdcbiIsCisgICAgICAgJ2RhdGE6IHsidGltZSI6ICInIC4gJGN1ckRhdGUgLiAnIn0n
LCAiXG5cbiI7CisgIC8vIFNlbmQgYSBzaW1wbGUgbWVzc2FnZSBhdCByYW5kb20gaW50ZXJ2YWxz
LgorICAkY291bnRlci0tOworICBpZiAoISRjb3VudGVyKSB7CisgICAgZWNobyAnZGF0YTogVGhp
cyBpcyBhIG1lc3NhZ2UgYXQgdGltZSAnIC4gJGN1ckRhdGUsICJcblxuIjsKKyAgICAkY291bnRl
ciA9IHJhbmQoMSwgMTApOyAvLyByZXNldCByYW5kb20gY291bnRlcgorICB9CisgIC8vIGZsdXNo
IHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBzZW5kIGVjaG9lZCBtZXNzYWdlcyB0byB0aGUgYnJvd3Nl
cgorICB3aGlsZSAob2JfZ2V0X2xldmVsKCkgPiAwKSB7CisgICAgb2JfZW5kX2ZsdXNoKCk7Cisg
IH0KKyAgZmx1c2goKTsKKyAgLy8gYnJlYWsgdGhlIGxvb3AgaWYgdGhlIGNsaWVudCBhYm9ydGVk
IHRoZSBjb25uZWN0aW9uIChjbG9zZWQgdGhlIHBhZ2UpCisgIAorICBpZiAoIGNvbm5lY3Rpb25f
YWJvcnRlZCgpICkgYnJlYWs7CisgIC8vIHNsZWVwIGZvciAxIHNlY29uZCBiZWZvcmUgcnVubmlu
ZyB0aGUgbG9vcCBhZ2FpbgorICAKKyAgc2xlZXAoMSk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>