<?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>162574</bug_id>
          
          <creation_ts>2016-09-26 13:13:49 -0700</creation_ts>
          <short_desc>[WK2] Navigating to a Blob URL does not trigger a download</short_desc>
          <delta_ts>2016-09-27 10:01:07 -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>WebKit2</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>http://jsfiddle.net/cW7W5/1587/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1233539</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-26 13:13:49 -0700</bug_when>
    <thetext>Navigating to a Blob URL does not trigger a download.

Test Case: http://jsfiddle.net/cW7W5/1587/

The test case works as expected in Firefox and Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233649</commentid>
    <comment_count>1</comment_count>
      <attachid>289892</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-26 16:40:31 -0700</bug_when>
    <thetext>Created attachment 289892
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233692</commentid>
    <comment_count>2</comment_count>
      <attachid>289901</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-26 19:38:05 -0700</bug_when>
    <thetext>Created attachment 289901
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233716</commentid>
    <comment_count>3</comment_count>
      <attachid>289909</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-26 21:06:34 -0700</bug_when>
    <thetext>Created attachment 289909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233902</commentid>
    <comment_count>4</comment_count>
      <attachid>289909</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-27 09:39:46 -0700</bug_when>
    <thetext>Comment on attachment 289909
Patch

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

This is OK for the short term, but probably not OK for the long term.

&gt; Source/WebKit2/NetworkProcess/Downloads/BlobDownloadClient.cpp:47
&gt; +    m_download.decideDestinationWithSuggestedFilenameAsync(m_download.suggestedName().isEmpty() ? &quot;unknown&quot; : m_download.suggestedName());

While this may be expedient, is not great that this special &quot;filename&quot; is an English word that is not localized. I suppose it’s a workaround for the fact that the client can’t handle no suggestion at all, but it does not seem like a good long term solution. Someone at Apple should think through how they want the Safari user interface to behave in cases like this. Then we should also think about how we want the WebKit API to behave; I can’t imagine we’d have wanted to pass a special string to mean no name suggested. After thinking this through, we should then do what is necessary to make sure we aren’t stuck with this forever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233915</commentid>
    <comment_count>5</comment_count>
      <attachid>289909</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-27 10:01:02 -0700</bug_when>
    <thetext>Comment on attachment 289909
Patch

Clearing flags on attachment: 289909

Committed r206439: &lt;http://trac.webkit.org/changeset/206439&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233916</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-27 10:01:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289892</attachid>
            <date>2016-09-26 16:40:31 -0700</date>
            <delta_ts>2016-09-26 19:38:05 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>blob_download_wip.patch</filename>
            <type>text/plain</type>
            <size>4500</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkTWFuYWdlci5jcHAKaW5kZXggNDA3NTU4Ny4uZjUxYjY4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2Fk
TWFuYWdlci5jcHAKQEAgLTEwNSwxNiArMTA1LDI1IEBAIHZvaWQgRG93bmxvYWRNYW5hZ2VyOjp3
aWxsRGVjaWRlUGVuZGluZ0Rvd25sb2FkRGVzdGluYXRpb24oTmV0d29ya0RhdGFUYXNrJiBuZXR3
CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX2Rvd25sb2Fkc1dhaXRpbmdGb3JEZXN0aW5hdGlvbi5z
ZXQoZG93bmxvYWRJRCwgc3RkOjptYWtlX3BhaXI8UmVmUHRyPE5ldHdvcmtEYXRhVGFzaz4sIFJl
c3BvbnNlQ29tcGxldGlvbkhhbmRsZXI+KCZuZXR3b3JrRGF0YVRhc2ssIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKSk7CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5p
c05ld0VudHJ5KTsKIH0KLSNlbHNlCisjZW5kaWYKKwogdm9pZCBEb3dubG9hZE1hbmFnZXI6OmNv
bnZlcnRIYW5kbGVUb0Rvd25sb2FkKERvd25sb2FkSUQgZG93bmxvYWRJRCwgUmVzb3VyY2VIYW5k
bGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBhdXRvIGRvd25sb2FkID0gc3RkOjptYWtlX3Vu
aXF1ZTxEb3dubG9hZD4oKnRoaXMsIGRvd25sb2FkSUQsIHJlcXVlc3QpOwogCi0gICAgZG93bmxv
YWQtPnN0YXJ0V2l0aEhhbmRsZShoYW5kbGUsIHJlc3BvbnNlKTsKKyAgICBpZiAocmVxdWVzdC51
cmwoKS5wcm90b2NvbElzQmxvYigpKQorICAgICAgICBkb3dubG9hZC0+c3RhcnQoKTsKKyNpZiAh
VVNFKE5FVFdPUktfU0VTU0lPTikKKyAgICBlbHNlCisgICAgICAgIGRvd25sb2FkLT5zdGFydFdp
dGhIYW5kbGUoaGFuZGxlLCByZXNwb25zZSk7CisjZWxzZQorICAgIGVsc2UKKyAgICAgICAgQVNT
RVJUX1dJVEhfTUVTU0FHRShmYWxzZSwgIk5FVFdPUktfU0VTU0lPTiBvbmx5IHVzZXMgdGhpcyBj
b2RlIHBhdGggZm9yIGJsb2JzIik7CisjZW5kaWYKKwogICAgIEFTU0VSVCghbV9kb3dubG9hZHMu
Y29udGFpbnMoZG93bmxvYWRJRCkpOwogICAgIG1fZG93bmxvYWRzLmFkZChkb3dubG9hZElELCBX
VEZNb3ZlKGRvd25sb2FkKSk7CiB9Ci0jZW5kaWYKIAogdm9pZCBEb3dubG9hZE1hbmFnZXI6OmNv
bnRpbnVlRGVjaWRlUGVuZGluZ0Rvd25sb2FkRGVzdGluYXRpb24oRG93bmxvYWRJRCBkb3dubG9h
ZElELCBTdHJpbmcgZGVzdGluYXRpb24sIGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYg
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgYm9vbCBhbGxvd092ZXJ3cml0ZSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1h
bmFnZXIuaAppbmRleCA4NjMyMzE1Li5hZjQ2NzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0z
Niw5ICszNiw3IEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKLSNpZiAhVVNFKE5FVFdPUktfU0VTU0lPTikKIGNsYXNzIFJlc291cmNlSGFuZGxl
OwotI2VuZGlmCiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
OwogY2xhc3MgU2Vzc2lvbklEOwpAQCAtODAsOSArNzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
b250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoRG93bmxvYWRJRCwg
Ym9vbCBjYW5BdXRoZW50aWNhdGUpOwogICAgIHZvaWQgY29udGludWVXaWxsU2VuZFJlcXVlc3Qo
RG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYpOwogICAgIHZvaWQgd2lsbERl
Y2lkZVBlbmRpbmdEb3dubG9hZERlc3RpbmF0aW9uKE5ldHdvcmtEYXRhVGFzayYsIFJlc3BvbnNl
Q29tcGxldGlvbkhhbmRsZXImJik7Ci0jZWxzZQotICAgIHZvaWQgY29udmVydEhhbmRsZVRvRG93
bmxvYWQoRG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiAj
ZW5kaWYKKyAgICB2b2lkIGNvbnZlcnRIYW5kbGVUb0Rvd25sb2FkKERvd25sb2FkSUQsIFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHZvaWQgY29udGludWVEZWNpZGVQ
ZW5kaW5nRG93bmxvYWREZXN0aW5hdGlvbihEb3dubG9hZElELCBTdHJpbmcgZGVzdGluYXRpb24s
IGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGJvb2wgYWxsb3dPdmVyd3JpdGUpOwog
CiAgICAgdm9pZCByZXN1bWVEb3dubG9hZChXZWJDb3JlOjpTZXNzaW9uSUQsIERvd25sb2FkSUQs
IGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcmVzdW1lRGF0YSwgY29uc3QgU3RyaW5nJiBwYXRo
LCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcAppbmRleCA4YjVkMGRiLi4xOGU4MTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCkBAIC0yMDcsMTQgKzIwNywxNyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQoU2Vzc2lvbklECiAgICAg
fQogCiAjaWYgVVNFKE5FVFdPUktfU0VTU0lPTikKLSAgICBsb2FkZXItPm5ldHdvcmtMb2FkKCkt
PmNvbnZlcnRUYXNrVG9Eb3dubG9hZChkb3dubG9hZElELCByZXF1ZXN0LCByZXNwb25zZSk7Ci0j
ZWxzZQorICAgIGlmICghcmVxdWVzdC51cmwoKS5wcm90b2NvbElzQmxvYigpKSB7CisgICAgICAg
IGxvYWRlci0+bmV0d29ya0xvYWQoKS0+Y29udmVydFRhc2tUb0Rvd25sb2FkKGRvd25sb2FkSUQs
IHJlcXVlc3QsIHJlc3BvbnNlKTsKKyAgICAgICAgbG9hZGVyLT5kaWRDb252ZXJ0VG9Eb3dubG9h
ZCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCiAgICAgbmV0d29ya1Byb2Nlc3Mu
ZG93bmxvYWRNYW5hZ2VyKCkuY29udmVydEhhbmRsZVRvRG93bmxvYWQoZG93bmxvYWRJRCwgbG9h
ZGVyLT5uZXR3b3JrTG9hZCgpLT5oYW5kbGUoKSwgcmVxdWVzdCwgcmVzcG9uc2UpOwogCiAgICAg
Ly8gVW5ibG9jayB0aGUgVVJMIGNvbm5lY3Rpb24gb3BlcmF0aW9uIHF1ZXVlLgogICAgIGxvYWRl
ci0+bmV0d29ya0xvYWQoKS0+aGFuZGxlKCktPmNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlKCk7
Ci0gICAgCi0jZW5kaWYKKwogICAgIGxvYWRlci0+ZGlkQ29udmVydFRvRG93bmxvYWQoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmgKaW5kZXggMzgz
ZmQxOC4uZDE0ZTExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0xvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
TG9hZC5oCkBAIC0xMTYsOSArMTE2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29udGludWVDYW5B
dXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGJvb2wpOwogI2VuZGlmCiAKLSNpZiAh
VVNFKE5FVFdPUktfU0VTU0lPTikKICAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogaGFuZGxl
KCkgY29uc3QgeyByZXR1cm4gbV9oYW5kbGUuZ2V0KCk7IH0KLSNlbmRpZgogCiBwcml2YXRlOgog
ICAgIE5ldHdvcmtMb2FkQ2xpZW50OjpTaG91bGRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSBz
aGFyZWREaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289901</attachid>
            <date>2016-09-26 19:38:05 -0700</date>
            <delta_ts>2016-09-26 21:06:31 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>162574_navigation_blob_download.patch</filename>
            <type>text/plain</type>
            <size>9179</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hv
ci1kb3dubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9y
RWxlbWVudC9hbmNob3ItZG93bmxvYWQtZXhwZWN0ZWQudHh0CmluZGV4IDllM2Y1OGYuLmYyYTQw
YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2Fu
Y2hvci1kb3dubG9hZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEFuY2hvckVsZW1lbnQvYW5jaG9yLWRvd25sb2FkLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKIERvd25sb2FkIHN0YXJ0ZWQuCi1Eb3dubG9hZGluZyBVUkwgd2l0aCBzdWdnZXN0ZWQgZmls
ZW5hbWUgIiIKK0Rvd25sb2FkaW5nIFVSTCB3aXRoIHN1Z2dlc3RlZCBmaWxlbmFtZSAidW5rbm93
biIKIERvd25sb2FkIGNvbXBsZXRlZC4KIEJsb2IgVVJMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3Itbm9kb3dubG9hZC1zZXQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLW5v
ZG93bmxvYWQtc2V0LWV4cGVjdGVkLnR4dAppbmRleCA5ZTNmNThmLi5mMmE0MGM4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3Itbm9kb3du
bG9hZC1zZXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNo
b3JFbGVtZW50L2FuY2hvci1ub2Rvd25sb2FkLXNldC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACiBEb3dubG9hZCBzdGFydGVkLgotRG93bmxvYWRpbmcgVVJMIHdpdGggc3VnZ2VzdGVkIGZp
bGVuYW1lICIiCitEb3dubG9hZGluZyBVUkwgd2l0aCBzdWdnZXN0ZWQgZmlsZW5hbWUgInVua25v
d24iCiBEb3dubG9hZCBjb21wbGV0ZWQuCiBCbG9iIFVSTApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Jsb2JEb3dubG9hZENsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvQmxvYkRvd25sb2FkQ2xpZW50
LmNwcAppbmRleCBjYWExYWVmLi5kYmY1OTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvQmxvYkRvd25sb2FkQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvQmxvYkRvd25sb2FkQ2xpZW50LmNw
cApAQCAtNDMsMTIgKzQzLDE0IEBAIEJsb2JEb3dubG9hZENsaWVudDo6QmxvYkRvd25sb2FkQ2xp
ZW50KERvd25sb2FkJiBkb3dubG9hZCkKIAogdm9pZCBCbG9iRG93bmxvYWRDbGllbnQ6OmRpZFJl
Y2VpdmVSZXNwb25zZUFzeW5jKFJlc291cmNlSGFuZGxlKiwgUmVzb3VyY2VSZXNwb25zZSYmIHJl
c3BvbnNlKQogeworICAgIFdURkxvZ0Fsd2F5cygiZGlkUmVjZWl2ZVJlc3BvbnNlQXN5bmMoKSIp
OwogICAgIG1fZG93bmxvYWQuZGlkUmVjZWl2ZVJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKTsK
LSAgICBtX2Rvd25sb2FkLmRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lQXN5
bmMobV9kb3dubG9hZC5zdWdnZXN0ZWROYW1lKCkpOworICAgIG1fZG93bmxvYWQuZGVjaWRlRGVz
dGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWVBc3luYyhtX2Rvd25sb2FkLnN1Z2dlc3RlZE5h
bWUoKS5pc0VtcHR5KCkgPyAidW5rbm93biIgOiBtX2Rvd25sb2FkLnN1Z2dlc3RlZE5hbWUoKSk7
CiB9CiAKIHZvaWQgQmxvYkRvd25sb2FkQ2xpZW50OjpkaWREZWNpZGVEb3dubG9hZERlc3RpbmF0
aW9uKGNvbnN0IFN0cmluZyYgZGVzdGluYXRpb25QYXRoLCBib29sIGFsbG93T3ZlcndyaXRlKQog
eworICAgIFdURkxvZ0Fsd2F5cygiZGlkRGVjaWRlRG93bmxvYWREZXN0aW5hdGlvbiglcykiLCBk
ZXN0aW5hdGlvblBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAgQVNTRVJUKCFkZXN0aW5hdGlvblBh
dGguaXNFbXB0eSgpKTsKIAogICAgIGlmIChmaWxlRXhpc3RzKGRlc3RpbmF0aW9uUGF0aCkpIHsK
QEAgLTY4LDE4ICs3MCwyMSBAQCB2b2lkIEJsb2JEb3dubG9hZENsaWVudDo6ZGlkRGVjaWRlRG93
bmxvYWREZXN0aW5hdGlvbihjb25zdCBTdHJpbmcmIGRlc3RpbmF0aW9uUAogCiB2b2lkIEJsb2JE
b3dubG9hZENsaWVudDo6ZGlkUmVjZWl2ZUJ1ZmZlcihSZXNvdXJjZUhhbmRsZSosIFJlZjxTaGFy
ZWRCdWZmZXI+JiYgYnVmZmVyLCBpbnQpCiB7CisgICAgV1RGTG9nQWx3YXlzKCJkaWRSZWNlaXZl
QnVmZmVyKCkiKTsKICAgICB3cml0ZVRvRmlsZShtX2Rlc3RpbmF0aW9uRmlsZSwgYnVmZmVyLT5k
YXRhKCksIGJ1ZmZlci0+c2l6ZSgpKTsKICAgICBtX2Rvd25sb2FkLmRpZFJlY2VpdmVEYXRhKGJ1
ZmZlci0+c2l6ZSgpKTsKIH0KIAogdm9pZCBCbG9iRG93bmxvYWRDbGllbnQ6OmRpZEZpbmlzaExv
YWRpbmcoUmVzb3VyY2VIYW5kbGUqLCBkb3VibGUpCiB7CisgICAgV1RGTG9nQWx3YXlzKCJkaWRG
aW5pc2hMb2FkaW5nKCkiKTsKICAgICBjbG9zZUZpbGUobV9kZXN0aW5hdGlvbkZpbGUpOwogICAg
IG1fZG93bmxvYWQuZGlkRmluaXNoKCk7CiB9CiAKIHZvaWQgQmxvYkRvd25sb2FkQ2xpZW50Ojpk
aWRDYW5jZWwoKQogeworICAgIFdURkxvZ0Fsd2F5cygiZGlkQ2FuY2VsKCkiKTsKICAgICBjbG9z
ZUZpbGUobV9kZXN0aW5hdGlvbkZpbGUpOwogICAgIGlmICghbV9kZXN0aW5hdGlvblBhdGguaXNF
bXB0eSgpKQogICAgICAgICBkZWxldGVGaWxlKG1fZGVzdGluYXRpb25QYXRoKTsKQEAgLTg5LDYg
Kzk0LDcgQEAgdm9pZCBCbG9iRG93bmxvYWRDbGllbnQ6OmRpZENhbmNlbCgpCiAKIHZvaWQgQmxv
YkRvd25sb2FkQ2xpZW50OjpkaWRGYWlsKFJlc291cmNlSGFuZGxlKiwgY29uc3QgUmVzb3VyY2VF
cnJvciYgZXJyb3IpCiB7CisgICAgV1RGTG9nQWx3YXlzKCJkaWRGYWlsKCkiKTsKICAgICBjbG9z
ZUZpbGUobV9kZXN0aW5hdGlvbkZpbGUpOwogICAgIGlmICghbV9kZXN0aW5hdGlvblBhdGguaXNF
bXB0eSgpKQogICAgICAgICBkZWxldGVGaWxlKG1fZGVzdGluYXRpb25QYXRoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2Fk
TWFuYWdlci5jcHAKaW5kZXggNDA3NTU4Ny4uMWM5YzJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5j
cHAKQEAgLTEwNSwxNiArMTA1LDI3IEBAIHZvaWQgRG93bmxvYWRNYW5hZ2VyOjp3aWxsRGVjaWRl
UGVuZGluZ0Rvd25sb2FkRGVzdGluYXRpb24oTmV0d29ya0RhdGFUYXNrJiBuZXR3CiAgICAgYXV0
byBhZGRSZXN1bHQgPSBtX2Rvd25sb2Fkc1dhaXRpbmdGb3JEZXN0aW5hdGlvbi5zZXQoZG93bmxv
YWRJRCwgc3RkOjptYWtlX3BhaXI8UmVmUHRyPE5ldHdvcmtEYXRhVGFzaz4sIFJlc3BvbnNlQ29t
cGxldGlvbkhhbmRsZXI+KCZuZXR3b3JrRGF0YVRhc2ssIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKSk7CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5
KTsKIH0KLSNlbHNlCisjZW5kaWYKKwogdm9pZCBEb3dubG9hZE1hbmFnZXI6OmNvbnZlcnRIYW5k
bGVUb0Rvd25sb2FkKERvd25sb2FkSUQgZG93bmxvYWRJRCwgUmVzb3VyY2VIYW5kbGUqIGhhbmRs
ZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKIHsKICAgICBhdXRvIGRvd25sb2FkID0gc3RkOjptYWtlX3VuaXF1ZTxEb3du
bG9hZD4oKnRoaXMsIGRvd25sb2FkSUQsIHJlcXVlc3QpOwogCi0gICAgZG93bmxvYWQtPnN0YXJ0
V2l0aEhhbmRsZShoYW5kbGUsIHJlc3BvbnNlKTsKKyAgICBXVEZMb2dBbHdheXMoImNvbnZlcnRI
YW5kbGVUb0Rvd25sb2FkKCVzKSIsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEo
KSk7CisKKyAgICBpZiAocmVxdWVzdC51cmwoKS5wcm90b2NvbElzQmxvYigpKQorICAgICAgICBk
b3dubG9hZC0+c3RhcnQoKTsKKyNpZiAhVVNFKE5FVFdPUktfU0VTU0lPTikKKyAgICBlbHNlCisg
ICAgICAgIGRvd25sb2FkLT5zdGFydFdpdGhIYW5kbGUoaGFuZGxlLCByZXNwb25zZSk7CisjZWxz
ZQorICAgIGVsc2UKKyAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShmYWxzZSwgIk5FVFdPUktf
U0VTU0lPTiBvbmx5IHVzZXMgdGhpcyBjb2RlIHBhdGggZm9yIGJsb2JzIik7CisjZW5kaWYKKwog
ICAgIEFTU0VSVCghbV9kb3dubG9hZHMuY29udGFpbnMoZG93bmxvYWRJRCkpOwogICAgIG1fZG93
bmxvYWRzLmFkZChkb3dubG9hZElELCBXVEZNb3ZlKGRvd25sb2FkKSk7CiB9Ci0jZW5kaWYKIAog
dm9pZCBEb3dubG9hZE1hbmFnZXI6OmNvbnRpbnVlRGVjaWRlUGVuZGluZ0Rvd25sb2FkRGVzdGlu
YXRpb24oRG93bmxvYWRJRCBkb3dubG9hZElELCBTdHJpbmcgZGVzdGluYXRpb24sIGNvbnN0IFNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgYm9vbCBhbGxv
d092ZXJ3cml0ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAppbmRleCA4NjMyMzE1Li5hZjQ2NzQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkTWFuYWdlci5oCkBAIC0zNiw5ICszNiw3IEBACiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSNpZiAhVVNFKE5FVFdPUktfU0VTU0lP
TikKIGNsYXNzIFJlc291cmNlSGFuZGxlOwotI2VuZGlmCiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2Vzc2lvbklEOwpAQCAtODAsOSArNzgs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90
ZWN0aW9uU3BhY2UoRG93bmxvYWRJRCwgYm9vbCBjYW5BdXRoZW50aWNhdGUpOwogICAgIHZvaWQg
Y29udGludWVXaWxsU2VuZFJlcXVlc3QoRG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiYpOwogICAgIHZvaWQgd2lsbERlY2lkZVBlbmRpbmdEb3dubG9hZERlc3RpbmF0aW9uKE5l
dHdvcmtEYXRhVGFzayYsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJik7Ci0jZWxzZQotICAg
IHZvaWQgY29udmVydEhhbmRsZVRvRG93bmxvYWQoRG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGUqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlJik7CiAjZW5kaWYKKyAgICB2b2lkIGNvbnZlcnRIYW5kbGVUb0Rv
d25sb2FkKERvd25sb2FkSUQsIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwog
ICAgIHZvaWQgY29udGludWVEZWNpZGVQZW5kaW5nRG93bmxvYWREZXN0aW5hdGlvbihEb3dubG9h
ZElELCBTdHJpbmcgZGVzdGluYXRpb24sIGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYs
IGJvb2wgYWxsb3dPdmVyd3JpdGUpOwogCiAgICAgdm9pZCByZXN1bWVEb3dubG9hZChXZWJDb3Jl
OjpTZXNzaW9uSUQsIERvd25sb2FkSUQsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcmVzdW1l
RGF0YSwgY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA4YjVkMGRiLi4xOGU4MTc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0yMDcsMTQgKzIwNywxNyBAQCB2b2lk
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRv
RG93bmxvYWQoU2Vzc2lvbklECiAgICAgfQogCiAjaWYgVVNFKE5FVFdPUktfU0VTU0lPTikKLSAg
ICBsb2FkZXItPm5ldHdvcmtMb2FkKCktPmNvbnZlcnRUYXNrVG9Eb3dubG9hZChkb3dubG9hZElE
LCByZXF1ZXN0LCByZXNwb25zZSk7Ci0jZWxzZQorICAgIGlmICghcmVxdWVzdC51cmwoKS5wcm90
b2NvbElzQmxvYigpKSB7CisgICAgICAgIGxvYWRlci0+bmV0d29ya0xvYWQoKS0+Y29udmVydFRh
c2tUb0Rvd25sb2FkKGRvd25sb2FkSUQsIHJlcXVlc3QsIHJlc3BvbnNlKTsKKyAgICAgICAgbG9h
ZGVyLT5kaWRDb252ZXJ0VG9Eb3dubG9hZCgpOworICAgICAgICByZXR1cm47CisgICAgfQorI2Vu
ZGlmCiAgICAgbmV0d29ya1Byb2Nlc3MuZG93bmxvYWRNYW5hZ2VyKCkuY29udmVydEhhbmRsZVRv
RG93bmxvYWQoZG93bmxvYWRJRCwgbG9hZGVyLT5uZXR3b3JrTG9hZCgpLT5oYW5kbGUoKSwgcmVx
dWVzdCwgcmVzcG9uc2UpOwogCiAgICAgLy8gVW5ibG9jayB0aGUgVVJMIGNvbm5lY3Rpb24gb3Bl
cmF0aW9uIHF1ZXVlLgogICAgIGxvYWRlci0+bmV0d29ya0xvYWQoKS0+aGFuZGxlKCktPmNvbnRp
bnVlRGlkUmVjZWl2ZVJlc3BvbnNlKCk7Ci0gICAgCi0jZW5kaWYKKwogICAgIGxvYWRlci0+ZGlk
Q29udmVydFRvRG93bmxvYWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtMb2FkLmgKaW5kZXggMzgzZmQxOC4uZDE0ZTExZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5oCkBAIC0xMTYsOSArMTE2LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgY29udGludWVDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNl
KGJvb2wpOwogI2VuZGlmCiAKLSNpZiAhVVNFKE5FVFdPUktfU0VTU0lPTikKICAgICBXZWJDb3Jl
OjpSZXNvdXJjZUhhbmRsZSogaGFuZGxlKCkgY29uc3QgeyByZXR1cm4gbV9oYW5kbGUuZ2V0KCk7
IH0KLSNlbmRpZgogCiBwcml2YXRlOgogICAgIE5ldHdvcmtMb2FkQ2xpZW50OjpTaG91bGRDb250
aW51ZURpZFJlY2VpdmVSZXNwb25zZSBzaGFyZWREaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA2NzQxZWZlLi4yZGQyYTM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC01MjksNiAr
NTI5LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6ZmluZFBlbmRpbmdEb3dubG9hZExvY2F0aW9u
KE5ldHdvcmtEYXRhVGFzayYgbmV0d29ya0RhdGFUYXMKIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6
Y29udGludWVEZWNpZGVQZW5kaW5nRG93bmxvYWREZXN0aW5hdGlvbihEb3dubG9hZElEIGRvd25s
b2FkSUQsIFN0cmluZyBkZXN0aW5hdGlvbiwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
JiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlLCBib29sIGFsbG93T3ZlcndyaXRlKQogeworICAgIFdU
RkxvZ0Fsd2F5cygiTmV0d29ya1Byb2Nlc3M6OmNvbnRpbnVlRGVjaWRlUGVuZGluZ0Rvd25sb2Fk
RGVzdGluYXRpb24oJXMpIiwgZGVzdGluYXRpb24udXRmOCgpLmRhdGEoKSk7CiAgICAgaWYgKGRl
c3RpbmF0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgZG93bmxvYWRNYW5hZ2VyKCkuY2FuY2VsRG93
bmxvYWQoZG93bmxvYWRJRCk7CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5jcHAKaW5kZXggNzlkYTcwYi4uZDM5Mzc4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkUHJveHkuY3BwCkBAIC0xNzgsNiArMTc4LDggQEAgdm9pZCBEb3dubG9hZFByb3h5OjpkZWNp
ZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZUFzeW5jKERvd25sb2FkSUQgZG93bmwK
ICAgICAKICAgICBpZiAoIW1fcHJvY2Vzc1Bvb2wpCiAgICAgICAgIHJldHVybjsKKworICAgIFdU
RkxvZ0Fsd2F5cygiZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWVBc3luYyhz
dWdnZXN0ZWRGaWxlbmFtZTogJXMpIiwgc3VnZ2VzdGVkRmlsZW5hbWUudXRmOCgpLmRhdGEoKSk7
CiAgICAgCiAgICAgU3RyaW5nIGRlc3RpbmF0aW9uID0gbV9wcm9jZXNzUG9vbC0+ZG93bmxvYWRD
bGllbnQoKS5kZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZShtX3Byb2Nlc3NQ
b29sLmdldCgpLCB0aGlzLCBzdWdnZXN0ZWRGaWxlbmFtZSwgYWxsb3dPdmVyd3JpdGUpOwogICAg
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289909</attachid>
            <date>2016-09-26 21:06:34 -0700</date>
            <delta_ts>2016-09-27 10:01:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162574-20160926210336.patch</filename>
            <type>text/plain</type>
            <size>23089</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2Mzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2FkMzYwMGVlNzkxYzFl
MGM5MzBlOWI1YTg3ODgxOGJlYmQ0Njg0MS4uOTY5YTkzMTM2ZDNiMTBhN2U0NzkyMzZkOWU4MTZk
MjMzZjJkMTgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDE2LTA5LTI2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dLMl0gTmF2aWdhdGluZyB0
byBhIEJsb2IgVVJMIGRvZXMgbm90IHRyaWdnZXIgYSBkb3dubG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNTc0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbnZlcnRp
bmcgQmxvYiBVUkwgbG9hZHMgaW50byBkb3dubG9hZHMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvQmxvYkRvd25sb2FkQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QmxvYkRvd25sb2FkQ2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2VBc3luYyk6CisgICAgICAgIE1h
a2Ugc3VyZSB3ZSByZXR1cm4gYSB2YWxpZCBzdWdnZXN0ZWQgZmlsZW5hbWUgYmVjYXVzZSB0aGUg
Y2xpZW50IHNpZGUgKFNhZmFyaSkKKyAgICAgICAgZG9lcyBub3QgZGVhbCB3aXRoIGVtcHR5IHN1
Z2dlc3RlZCBmaWxlbmFtZXMuIFVzZSAidW5rbm93biIgYnkgZGVmYXVsdCB0bworICAgICAgICBt
YXRjaCB0aGUgZGVmYXVsdCBzdWdnZXN0ZWQgZmlsZW5hbWUgb2Ygbm9uLUJsb2IgZG93bmxvYWRz
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZSk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRvd25s
b2FkTWFuYWdlcjo6Y29udmVydEhhbmRsZVRvRG93bmxvYWQpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpEb3du
bG9hZDo6c3RhcnROZXR3b3JrTG9hZFdpdGhIYW5kbGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL0Rvd25sb2Fkcy9tYWMvRG93bmxvYWRNYWMubW06CisgICAgICAgIChXZWJLaXQ6OkRvd25s
b2FkOjpzdGFydE5ldHdvcmtMb2FkV2l0aEhhbmRsZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RG93
bmxvYWQ6OnN0YXJ0TmV0d29ya0xvYWRXaXRoSGFuZGxlKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRv
RG93bmxvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmg6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpoYW5kbGUpOgorCisyMDE2LTA5LTI2ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgW1dLMl0gQmxvYkRvd25sb2FkQ2xp
ZW50IHNob3VsZCB1c2UgYXN5bmNocm9ub3VzIElQQyB0byBkZWNpZGUgZGVzdGluYXRpb24gcGF0
aAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNTY4
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9C
bG9iRG93bmxvYWRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93
bmxvYWRzL0Jsb2JEb3dubG9hZENsaWVudC5jcHAKaW5kZXggY2FhMWFlZmZkM2FjNmM0N2ZlMjU4
OTJiZWMzMmU2ZmRmYmI4OWZiMy4uNzIxYjY0YmY4ZGE3MDc3ZjYwMjZhZTkwM2FjZGY5Yjk5Zjg5
NWIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRz
L0Jsb2JEb3dubG9hZENsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvRG93bmxvYWRzL0Jsb2JEb3dubG9hZENsaWVudC5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgQmxv
YkRvd25sb2FkQ2xpZW50OjpCbG9iRG93bmxvYWRDbGllbnQoRG93bmxvYWQmIGRvd25sb2FkKQog
dm9pZCBCbG9iRG93bmxvYWRDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZUFzeW5jKFJlc291cmNl
SGFuZGxlKiwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlKQogewogICAgIG1fZG93bmxvYWQu
ZGlkUmVjZWl2ZVJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKTsKLSAgICBtX2Rvd25sb2FkLmRl
Y2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lQXN5bmMobV9kb3dubG9hZC5zdWdn
ZXN0ZWROYW1lKCkpOworICAgIG1fZG93bmxvYWQuZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2Vz
dGVkRmlsZW5hbWVBc3luYyhtX2Rvd25sb2FkLnN1Z2dlc3RlZE5hbWUoKS5pc0VtcHR5KCkgPyAi
dW5rbm93biIgOiBtX2Rvd25sb2FkLnN1Z2dlc3RlZE5hbWUoKSk7CiB9CiAKIHZvaWQgQmxvYkRv
d25sb2FkQ2xpZW50OjpkaWREZWNpZGVEb3dubG9hZERlc3RpbmF0aW9uKGNvbnN0IFN0cmluZyYg
ZGVzdGluYXRpb25QYXRoLCBib29sIGFsbG93T3ZlcndyaXRlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5jcHAKaW5kZXggN2Y5OTI5
YjNiYzQyN2IzYTBiODIxOTVlYzUyMDA5NWRmMzBkYjE4OS4uOWJlMjJlZjEwOWIwNGU3M2M0MTZh
ZjA4YzlkYjkzMmY1OWI2NzNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuY3BwCkBAIC05Nyw2ICs5NywyNCBAQCB2b2lkIERv
d25sb2FkOjpzdGFydCgpCiAjZW5kaWYKIH0KIAordm9pZCBEb3dubG9hZDo6c3RhcnRXaXRoSGFu
ZGxlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlKQoreworICAgIGlmIChtX3JlcXVlc3QudXJsKCkucHJvdG9jb2xJc0Jsb2IoKSkgeworICAg
ICAgICBtX2Rvd25sb2FkQ2xpZW50ID0gc3RkOjptYWtlX3VuaXF1ZTxCbG9iRG93bmxvYWRDbGll
bnQ+KCp0aGlzKTsKKyAgICAgICAgbV9yZXNvdXJjZUhhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpj
cmVhdGUobnVsbHB0ciwgbV9yZXF1ZXN0LCBtX2Rvd25sb2FkQ2xpZW50LmdldCgpLCBmYWxzZSwg
ZmFsc2UpOworICAgICAgICBkaWRTdGFydCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisj
aWYgVVNFKE5FVFdPUktfU0VTU0lPTikKKyAgICBVTlVTRURfUEFSQU0oaGFuZGxlKTsKKyAgICBV
TlVTRURfUEFSQU0ocmVzcG9uc2UpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2Vsc2UK
KyAgICBzdGFydE5ldHdvcmtMb2FkV2l0aEhhbmRsZShoYW5kbGUsIHJlc3BvbnNlKTsKKyNlbmRp
ZgorfQorCiB2b2lkIERvd25sb2FkOjpjYW5jZWwoKQogewogICAgIGlmIChtX3JlcXVlc3QudXJs
KCkucHJvdG9jb2xJc0Jsb2IoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAppbmRleCAxNmE5ZjdkMzQyYzgyZjExMjQ3Nzc4ZjRl
OWIzYTFjNWUzZTM5OWIyLi40NjFkMjdiNTkwY2FlMmE4YTg5NGM4NjI2NWU3YzIxNTUyNmFjYTRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWQuaApAQCAtODAsMTAgKzgwLDcgQEAgcHVibGljOgogICAgIH5Eb3dubG9hZCgpOwogCiAg
ICAgdm9pZCBzdGFydCgpOwotCi0jaWYgIVVTRShORVRXT1JLX1NFU1NJT04pCiAgICAgdm9pZCBz
dGFydFdpdGhIYW5kbGUoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGUqLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJik7Ci0jZW5kaWYKICAgICB2b2lkIHJlc3VtZShjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmIHJlc3VtZURhdGEsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlJik7CiAgICAgdm9pZCBjYW5jZWwoKTsKIApAQCAtMTE5LDYgKzEx
Niw3IEBAIHByaXZhdGU6CiAKICNpZiAhVVNFKE5FVFdPUktfU0VTU0lPTikKICAgICB2b2lkIHN0
YXJ0TmV0d29ya0xvYWQoKTsKKyAgICB2b2lkIHN0YXJ0TmV0d29ya0xvYWRXaXRoSGFuZGxlKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYp
OwogI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxOZXR3b3JrTG9hZCgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuY3BwCmluZGV4IDQwNzU1ODdjNjVhMDQxZjEwYWExNGQzYTU5ZDBjMjBmYTc0ODViMjcuLjY2
NDU1NWVkMzFlZTU2Y2ViNjU4YzU0ZTkxMGQwMjlmODRkZDA1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuY3BwCkBAIC0xMDUsNyArMTA1LDggQEAgdm9pZCBEb3dubG9hZE1hbmFnZXI6OndpbGxEZWNp
ZGVQZW5kaW5nRG93bmxvYWREZXN0aW5hdGlvbihOZXR3b3JrRGF0YVRhc2smIG5ldHcKICAgICBh
dXRvIGFkZFJlc3VsdCA9IG1fZG93bmxvYWRzV2FpdGluZ0ZvckRlc3RpbmF0aW9uLnNldChkb3du
bG9hZElELCBzdGQ6Om1ha2VfcGFpcjxSZWZQdHI8TmV0d29ya0RhdGFUYXNrPiwgUmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlcj4oJm5ldHdvcmtEYXRhVGFzaywgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpKTsKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50
cnkpOwogfQotI2Vsc2UKKyNlbmRpZgorCiB2b2lkIERvd25sb2FkTWFuYWdlcjo6Y29udmVydEhh
bmRsZVRvRG93bmxvYWQoRG93bmxvYWRJRCBkb3dubG9hZElELCBSZXNvdXJjZUhhbmRsZSogaGFu
ZGxlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKQogewogICAgIGF1dG8gZG93bmxvYWQgPSBzdGQ6Om1ha2VfdW5pcXVlPERv
d25sb2FkPigqdGhpcywgZG93bmxvYWRJRCwgcmVxdWVzdCk7CkBAIC0xMTQsNyArMTE1LDYgQEAg
dm9pZCBEb3dubG9hZE1hbmFnZXI6OmNvbnZlcnRIYW5kbGVUb0Rvd25sb2FkKERvd25sb2FkSUQg
ZG93bmxvYWRJRCwgUmVzb3VyY2VIYW4KICAgICBBU1NFUlQoIW1fZG93bmxvYWRzLmNvbnRhaW5z
KGRvd25sb2FkSUQpKTsKICAgICBtX2Rvd25sb2Fkcy5hZGQoZG93bmxvYWRJRCwgV1RGTW92ZShk
b3dubG9hZCkpOwogfQotI2VuZGlmCiAKIHZvaWQgRG93bmxvYWRNYW5hZ2VyOjpjb250aW51ZURl
Y2lkZVBlbmRpbmdEb3dubG9hZERlc3RpbmF0aW9uKERvd25sb2FkSUQgZG93bmxvYWRJRCwgU3Ry
aW5nIGRlc3RpbmF0aW9uLCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbmRib3hF
eHRlbnNpb25IYW5kbGUsIGJvb2wgYWxsb3dPdmVyd3JpdGUpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgK
aW5kZXggODYzMjMxNWYzOTYyNDUyMzFlMTQ3ZTY1NDA3ODNkZjFhOWQzMWFiNC4uYWY0Njc0OGQ3
YTkxNWUwNDcyZTYxZTliYTY2YzUzMjU1Yzc2YWU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaApAQCAt
MzYsOSArMzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0jaWYgIVVTRShORVRXT1JLX1NFU1NJT04pCiBjbGFzcyBSZXNvdXJjZUhhbmRs
ZTsKLSNlbmRpZgogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIGNsYXNzIFNlc3Npb25JRDsKQEAgLTgwLDkgKzc4LDggQEAgcHVibGljOgogICAgIHZvaWQg
Y29udGludWVDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKERvd25sb2FkSUQs
IGJvb2wgY2FuQXV0aGVudGljYXRlKTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0
KERvd25sb2FkSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKTsKICAgICB2b2lkIHdpbGxE
ZWNpZGVQZW5kaW5nRG93bmxvYWREZXN0aW5hdGlvbihOZXR3b3JrRGF0YVRhc2smLCBSZXNwb25z
ZUNvbXBsZXRpb25IYW5kbGVyJiYpOwotI2Vsc2UKLSAgICB2b2lkIGNvbnZlcnRIYW5kbGVUb0Rv
d25sb2FkKERvd25sb2FkSUQsIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwog
I2VuZGlmCisgICAgdm9pZCBjb252ZXJ0SGFuZGxlVG9Eb3dubG9hZChEb3dubG9hZElELCBXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKICAgICB2b2lkIGNvbnRpbnVlRGVjaWRl
UGVuZGluZ0Rvd25sb2FkRGVzdGluYXRpb24oRG93bmxvYWRJRCwgU3RyaW5nIGRlc3RpbmF0aW9u
LCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmLCBib29sIGFsbG93T3ZlcndyaXRlKTsK
IAogICAgIHZvaWQgcmVzdW1lRG93bmxvYWQoV2ViQ29yZTo6U2Vzc2lvbklELCBEb3dubG9hZElE
LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHJlc3VtZURhdGEsIGNvbnN0IFN0cmluZyYgcGF0
aCwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQpp
bmRleCBhMDgwYTM2ODE1Njc5ODJiZTBmNDIxODhjOGI0MjI5MTBhODc5NmMwLi5mMzM4YWJjN2Zi
ZDNlOTAxYjQyZTMzZTA5ZGEwNDBlZTNiOTUzZGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0KQEAg
LTEzMiw3ICsxMzIsNyBAQCB2b2lkIERvd25sb2FkOjpyZXN1bWUoY29uc3QgSVBDOjpEYXRhUmVm
ZXJlbmNlJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU2FuZGJveEV4dAogICAgIG5vdEltcGxlbWVu
dGVkKCk7CiB9CiAKLXZvaWQgRG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZShSZXNvdXJjZUhhbmRs
ZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgRG93bmxv
YWQ6OnN0YXJ0TmV0d29ya0xvYWRXaXRoSGFuZGxlKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewogICAgIENGVVJMRG93bmxvYWRDbGll
bnQgY2xpZW50OwogICAgIHNldFVwRG93bmxvYWRDbGllbnQoY2xpZW50LCAqdGhpcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25s
b2FkTWFjLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL21hYy9E
b3dubG9hZE1hYy5tbQppbmRleCA3N2RlZTdhMTcyMmY5MGY4NTgwMTZmMDYxOTA1NWZjM2ZmZGQ3
ODE0Li4xOTBjMDg3NWVjNTg0ZjQwM2U0MDY0Mzk0NjRmMTE3NzVjYTNmNWJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvbWFjL0Rvd25sb2FkTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9tYWMvRG93
bmxvYWRNYWMubW0KQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBEb3dubG9hZDo6c3RhcnROZXR3b3Jr
TG9hZCgpCiAgICAgW21fbnNVUkxEb3dubG9hZCBzZXREZWxldGVzRmlsZVVwb25GYWlsdXJlOk5P
XTsKIH0KIAotdm9pZCBEb3dubG9hZDo6c3RhcnRXaXRoSGFuZGxlKFJlc291cmNlSGFuZGxlKiBo
YW5kbGUsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBEb3dubG9hZDo6
c3RhcnROZXR3b3JrTG9hZFdpdGhIYW5kbGUoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgQVNTRVJUKCFtX25zVVJMRG93bmxv
YWQpOwogICAgIEFTU0VSVCghbV9kZWxlZ2F0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcApp
bmRleCBlMDg3ZTdkNDM4NzM2ZDg4ZThlNDNlOTVhMTYyZDg4ZTYxY2I2NDljLi43MjgwNDZjZThk
MTRmMDAyMWJjYTk4N2ZmNWY4ODE5YTdiYTRmN2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5j
cHAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIERvd25sb2FkOjpzdGFydE5ldHdvcmtMb2FkKCkK
ICAgICBkaWRTdGFydCgpOwogfQogCi12b2lkIERvd25sb2FkOjpzdGFydFdpdGhIYW5kbGUoUmVz
b3VyY2VIYW5kbGUqIHJlc291cmNlSGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkKK3ZvaWQgRG93bmxvYWQ6OnN0YXJ0TmV0d29ya0xvYWRXaXRoSGFuZGxlKFJlc291cmNl
SGFuZGxlKiByZXNvdXJjZUhhbmRsZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Up
CiB7CiAgICAgQVNTRVJUKCFtX2Rvd25sb2FkQ2xpZW50KTsKICAgICBBU1NFUlQoIW1fcmVzb3Vy
Y2VIYW5kbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDhiNWQwZGIwZGFi
NTZiMGU3OTVkY2ZiNzA2ZjRjY2ZjN2E1Y2ZhYjIuLjE4ZTgxNzgyNTExMzY4ZmZkODg5ZmE1ZTIw
MzE3NmY5MGI2OWRhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTIwNywx
NCArMjA3LDE3IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNvbnZlcnRN
YWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZChTZXNzaW9uSUQKICAgICB9CiAKICNpZiBVU0UoTkVU
V09SS19TRVNTSU9OKQotICAgIGxvYWRlci0+bmV0d29ya0xvYWQoKS0+Y29udmVydFRhc2tUb0Rv
d25sb2FkKGRvd25sb2FkSUQsIHJlcXVlc3QsIHJlc3BvbnNlKTsKLSNlbHNlCisgICAgaWYgKCFy
ZXF1ZXN0LnVybCgpLnByb3RvY29sSXNCbG9iKCkpIHsKKyAgICAgICAgbG9hZGVyLT5uZXR3b3Jr
TG9hZCgpLT5jb252ZXJ0VGFza1RvRG93bmxvYWQoZG93bmxvYWRJRCwgcmVxdWVzdCwgcmVzcG9u
c2UpOworICAgICAgICBsb2FkZXItPmRpZENvbnZlcnRUb0Rvd25sb2FkKCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisjZW5kaWYKICAgICBuZXR3b3JrUHJvY2Vzcy5kb3dubG9hZE1hbmFnZXIo
KS5jb252ZXJ0SGFuZGxlVG9Eb3dubG9hZChkb3dubG9hZElELCBsb2FkZXItPm5ldHdvcmtMb2Fk
KCktPmhhbmRsZSgpLCByZXF1ZXN0LCByZXNwb25zZSk7CiAKICAgICAvLyBVbmJsb2NrIHRoZSBV
UkwgY29ubmVjdGlvbiBvcGVyYXRpb24gcXVldWUuCiAgICAgbG9hZGVyLT5uZXR3b3JrTG9hZCgp
LT5oYW5kbGUoKS0+Y29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UoKTsKLSAgICAKLSNlbmRpZgor
CiAgICAgbG9hZGVyLT5kaWRDb252ZXJ0VG9Eb3dubG9hZCgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5oIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuaAppbmRleCAzODNmZDE4ODk0NDk5YTY3ODUw
MGI4MTk1MjAzMDc4YzA1MWM3Yjk5Li5kMTRlMTFmMjcxY2U4MzBlN2UzMTBiMzBhY2QwMGVjZDRi
ZDkxNzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
TG9hZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmgK
QEAgLTExNiw5ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb250aW51ZUNhbkF1dGhlbnRp
Y2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoYm9vbCk7CiAjZW5kaWYKIAotI2lmICFVU0UoTkVU
V09SS19TRVNTSU9OKQogICAgIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlKiBoYW5kbGUoKSBjb25z
dCB7IHJldHVybiBtX2hhbmRsZS5nZXQoKTsgfQotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgTmV0
d29ya0xvYWRDbGllbnQ6OlNob3VsZENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlIHNoYXJlZERp
ZFJlY2VpdmVSZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE4OWQ4MGVlY2YzM2Jj
MzhiYWZiYjE1OWNkYjU2Yzc0ZThjNjlmZDEuLmY1Njc2ZDJjNDI1OTcyYjg2NDExYWVjZDhjNGE3
YmU2M2YwNGY3MmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNi0wOS0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIE5hdmlnYXRpbmcgdG8gYSBCbG9iIFVSTCBkb2Vz
IG5vdCB0cmlnZ2VyIGEgZG93bmxvYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MjU3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBBUEkgdGhhdCB0ZXN0cyBuYXZpZ2F0aW5nIHRvIGEgQmxvYiBV
UkwgYW5kIGNoZWNrcyB0aGF0IHRoYXQgdGhlIGxvYWQKKyAgICAgICAgcHJvcGVybHkgZ2V0cyBj
b252ZXJ0ZWQgaW50byBhIGRvd25sb2FkLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRG93bmxvYWQubW06CisgICAgICAgICgtW0Jsb2JEb3du
bG9hZERlbGVnYXRlIF9kb3dubG9hZERpZFN0YXJ0Ol0pOgorICAgICAgICAoLVtCbG9iRG93bmxv
YWREZWxlZ2F0ZSBfZG93bmxvYWQ6ZGlkUmVjZWl2ZVJlc3BvbnNlOl0pOgorICAgICAgICAoLVtC
bG9iRG93bmxvYWREZWxlZ2F0ZSBfZG93bmxvYWQ6ZGlkUmVjZWl2ZURhdGE6XSk6CisgICAgICAg
ICgtW0Jsb2JEb3dubG9hZERlbGVnYXRlIF9kb3dubG9hZDpkZWNpZGVEZXN0aW5hdGlvbldpdGhT
dWdnZXN0ZWRGaWxlbmFtZTphbGxvd092ZXJ3cml0ZTpdKToKKyAgICAgICAgKC1bQmxvYkRvd25s
b2FkRGVsZWdhdGUgX2Rvd25sb2FkRGlkRmluaXNoOl0pOgorICAgICAgICAoLVtEb3dubG9hZEJs
b2JVUkxOYXZpZ2F0aW9uRGVsZWdhdGUgd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uOmRlY2lzaW9uSGFuZGxlcjpdKToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0Rvd25sb2FkUmVxdWVzdEJsb2JVUkwuaHRt
bDogQWRkZWQuCisKIDIwMTYtMDktMjYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBJT1NfVEVYVF9BVVRPU0laSU5HIHRvIFRFWFRfQVVUT1NJWklO
RwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhN2JjNjNkNWE0OGY5OGY1YzQyYjVlMDY4OTMy
OTA1NjUzNmYyZWQ2Li5jODIxNDBlOGM2MWY0NTBmNDRiNmMwN2M4ODM3OWFkZTMzZTBlNjE2IDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzk2LDYgKzM5Niw3IEBACiAJCTdDRUZBOTY2MUFD
MEI5RTIwMEI5MTBGRCAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFRkE5NjQxQUMwQjlFMjAw
QjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi87IH07CiAJCTdDRkJD
QUU1MTc0MzIzOEYwMEIyQkZDRiAvKiBXaWxsTG9hZF9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NGQkNBRTMxNzQzMjM4RTAwQjJCRkNG
IC8qIFdpbGxMb2FkX0J1bmRsZS5jcHAgKi87IH07CiAJCTgzNUNGOTY3MUQyNUZDRDYwMDFBNjVE
NCAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM1Q0Y5NjYxRDI1RkNENjAwMUE2
NUQ0IC8qIFJlc3RvcmVTZXNzaW9uU3RhdGVXaXRob3V0TmF2aWdhdGlvbi5jcHAgKi87IH07CisJ
CTgzN0EzNUYxMUQ5QTFFN0QwMDY2M0M1NyAvKiBEb3dubG9hZFJlcXVlc3RCbG9iVVJMLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3
QTM1RjAxRDlBMUU2NDAwNjYzQzU3IC8qIERvd25sb2FkUmVxdWVzdEJsb2JVUkwuaHRtbCAqLzsg
fTsKIAkJODNDRjFDMzAxQzRGMUI4QjAwNjg4NDQ3IC8qIFN0cmluZ1V0aWxpdGllcy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzQ0YxQzJDMUM0RjE5
QUUwMDY4ODQ0NyAvKiBTdHJpbmdVdGlsaXRpZXMubW0gKi87IH07CiAJCTkzMEFENDAyMTUwNjk4
RDAwMDY3OTcwRiAvKiBsb3RzLW9mLXRleHQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzBBRDQwMTE1MDY5OEIzMDA2Nzk3MEYgLyog
bG90cy1vZi10ZXh0Lmh0bWwgKi87IH07CiAJCTkzMkFFNTNEMUQzNzEwNDcwMDVERkZBRiAvKiBm
b2N1cy1pbnB1dHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzU3NUM1NTFEMzAzNjZFMDAwRDYwNEQgLyogZm9jdXMtaW5wdXRzLmh0
bWwgKi87IH07CkBAIC01NDYsNiArNTQ3LDcgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJ
LnJlc291cmNlczsKIAkJCWRzdFN1YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJ
ODM3QTM1RjExRDlBMUU3RDAwNjYzQzU3IC8qIERvd25sb2FkUmVxdWVzdEJsb2JVUkwuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkyRTk4OTYxNTFEOEYwOTM4MDA3Mzk4OTIgLyogdGV4
dC1hbmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJRjQy
REE1MTYxRDhDRUZFNDAwMzM2RjQwIC8qIGxhcmdlLWlucHV0LWZpZWxkLWZvY3VzLW9ubG9hZC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTJFRkYwNkNEMUQ4QTQyOUEwMDA0QkIzMCAv
KiBpbnB1dC1maWVsZC1pbi1zY3JvbGxhYmxlLWRvY3VtZW50Lmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCkBAIC05ODAsNiArOTgyLDcgQEAKIAkJN0NGQkNBRTMxNzQzMjM4RTAwQjJCRkNGIC8q
IFdpbGxMb2FkX0J1bmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXaWxsTG9hZF9CdW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MUI1
MDE5MjE0MEYyMzIzMDBEOUVCNTggLyogU3RyaW5nQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJpbmdCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODM1Q0Y5NjYxRDI1RkNENjAwMUE2NUQ0IC8qIFJlc3RvcmVTZXNzaW9u
U3RhdGVXaXRob3V0TmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmlnYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4MzdBMzVGMDFEOUExRTY0MDA2NjNDNTcgLyogRG93bmxv
YWRSZXF1ZXN0QmxvYlVSTC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gRG93bmxv
YWRSZXF1ZXN0QmxvYlVSTC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4M0I4
OEEzMzFDODAwNTZEMDBCQjI0MTggLyogSFRNTFBhcnNlcklkaW9tcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MUGFyc2VySWRpb21zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODNDRjFDMkMxQzRGMTlBRTAwNjg4NDQ3IC8qIFN0cmluZ1V0
aWxpdGllcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN0cmlu
Z1V0aWxpdGllcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRDE5OTcxQTJE
QjA1QjAwNkRDRjBBIC8qIFJlZkNvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVmQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTAwLDYgKzE1MDMsNyBAQAogCQkJCTJERTcxQUZGMUQ0OUMyRjAwMDkwNDA5NCAvKiBibGlu
a2luZy1kaXYuaHRtbCAqLywKIAkJCQlBMTZGNjZCOTFDNDBFQTIwMDBCRDREMjQgLyogQ29udGVu
dEZpbHRlcmluZy5odG1sICovLAogCQkJCTVDMjkzNjk0MUQ1QkZEMTkwMERFQUIxRSAvKiBDb29r
aWVNZXNzYWdlLmh0bWwgKi8sCisJCQkJODM3QTM1RjAxRDlBMUU2NDAwNjYzQzU3IC8qIERvd25s
b2FkUmVxdWVzdEJsb2JVUkwuaHRtbCAqLywKIAkJCQk1NzE0RUNCODFDQThCNTg4MDAwNTFBQzgg
LyogRG93bmxvYWRSZXF1ZXN0T3JpZ2luYWxVUkwuaHRtbCAqLywKIAkJCQk1NzE0RUNCQzFDQThD
MjE4MDAwNTFBQzggLyogRG93bmxvYWRSZXF1ZXN0T3JpZ2luYWxVUkwyLmh0bWwgKi8sCiAJCQkJ
NTcxNEVDQkExQ0E4QkZEMTAwMDUxQUM4IC8qIERvd25sb2FkUmVxdWVzdE9yaWdpbmFsVVJMRnJh
bWUuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL0Rvd25sb2FkLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvRG93bmxvYWQubW0KaW5kZXggYWIyNDExNTY4OTE2YzIyODQyM2JhMWQxNWM3ZDY3MTZkZTRm
NTYyMC4uOTY3MDA1OGNhZGRhN2I4OTgyMDYyMzY4NDgwY2FkZDc0YTg4NzU4NyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRG93bmxvYWQubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRG93bmxvYWQubW0KQEAg
LTM0Miw1ICszNDIsODUgQEAgVEVTVChfV0tEb3dubG9hZCwgRG93bmxvYWRSZXF1ZXN0T3JpZ2lu
YWxVUkxEaXJlY3REb3dubG9hZFdpdGhMb2FkZWRDb250ZW50KQogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmaXNEb25lKTsKIH0KIAorQGludGVyZmFjZSBCbG9iRG93bmxvYWREZWxlZ2F0
ZSA6IE5TT2JqZWN0IDxfV0tEb3dubG9hZERlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRp
b24gQmxvYkRvd25sb2FkRGVsZWdhdGUgeworICAgIFJldGFpblB0cjxfV0tEb3dubG9hZD4gX2Rv
d25sb2FkOworICAgIFN0cmluZyBfZGVzdGluYXRpb25QYXRoOworICAgIGxvbmcgbG9uZyBfZXhw
ZWN0ZWRDb250ZW50TGVuZ3RoOworICAgIHVpbnQ2NF90IF9yZWNlaXZlZENvbnRlbnRMZW5ndGg7
Cit9CisKKy0gKHZvaWQpX2Rvd25sb2FkRGlkU3RhcnQ6KF9XS0Rvd25sb2FkICopZG93bmxvYWQK
K3sKKyAgICBFWFBFQ1RfTlVMTChfZG93bmxvYWQpOworICAgIEVYUEVDVF9OT1RfTlVMTChkb3du
bG9hZCk7CisgICAgRVhQRUNUX1RSVUUoW1tbW2Rvd25sb2FkIHJlcXVlc3RdIFVSTF0gc2NoZW1l
XSBpc0VxdWFsVG9TdHJpbmc6QCJibG9iIl0pOworICAgIF9kb3dubG9hZCA9IGRvd25sb2FkOwor
fQorCistICh2b2lkKV9kb3dubG9hZDooX1dLRG93bmxvYWQgKilkb3dubG9hZCBkaWRSZWNlaXZl
UmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZQoreworICAgIGhhc1JlY2VpdmVkUmVz
cG9uc2UgPSB0cnVlOworICAgIEVYUEVDVF9FUShfZG93bmxvYWQsIGRvd25sb2FkKTsKKyAgICBF
WFBFQ1RfRVEoX2V4cGVjdGVkQ29udGVudExlbmd0aCwgMFUpOworICAgIEVYUEVDVF9FUShfcmVj
ZWl2ZWRDb250ZW50TGVuZ3RoLCAwVSk7CisgICAgRVhQRUNUX1RSVUUoW1tbcmVzcG9uc2UgVVJM
XSBzY2hlbWVdIGlzRXF1YWxUb1N0cmluZzpAImJsb2IiXSk7CisgICAgX2V4cGVjdGVkQ29udGVu
dExlbmd0aCA9IFtyZXNwb25zZSBleHBlY3RlZENvbnRlbnRMZW5ndGhdOworfQorCistICh2b2lk
KV9kb3dubG9hZDooX1dLRG93bmxvYWQgKilkb3dubG9hZCBkaWRSZWNlaXZlRGF0YToodWludDY0
X3QpbGVuZ3RoCit7CisgICAgRVhQRUNUX0VRKF9kb3dubG9hZCwgZG93bmxvYWQpOworICAgIF9y
ZWNlaXZlZENvbnRlbnRMZW5ndGggKz0gbGVuZ3RoOworfQorCistIChOU1N0cmluZyAqKV9kb3du
bG9hZDooX1dLRG93bmxvYWQgKilkb3dubG9hZCBkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0
ZWRGaWxlbmFtZTooTlNTdHJpbmcgKilmaWxlbmFtZSBhbGxvd092ZXJ3cml0ZTooQk9PTCAqKWFs
bG93T3ZlcndyaXRlCit7CisgICAgRVhQRUNUX1RSVUUoaGFzUmVjZWl2ZWRSZXNwb25zZSk7Cisg
ICAgRVhQRUNUX0VRKF9kb3dubG9hZCwgZG93bmxvYWQpOworCisgICAgV2ViQ29yZTo6UGxhdGZv
cm1GaWxlSGFuZGxlIGZpbGVIYW5kbGU7CisgICAgX2Rlc3RpbmF0aW9uUGF0aCA9IFdlYkNvcmU6
Om9wZW5UZW1wb3JhcnlGaWxlKCJUZXN0V2ViS2l0QVBJIiwgZmlsZUhhbmRsZSk7CisgICAgRVhQ
RUNUX1RSVUUoZmlsZUhhbmRsZSAhPSBXZWJDb3JlOjppbnZhbGlkUGxhdGZvcm1GaWxlSGFuZGxl
KTsKKyAgICBXZWJDb3JlOjpjbG9zZUZpbGUoZmlsZUhhbmRsZSk7CisKKyAgICAqYWxsb3dPdmVy
d3JpdGUgPSBZRVM7CisgICAgcmV0dXJuIF9kZXN0aW5hdGlvblBhdGg7Cit9CisKKy0gKHZvaWQp
X2Rvd25sb2FkRGlkRmluaXNoOihfV0tEb3dubG9hZCAqKWRvd25sb2FkCit7CisgICAgRVhQRUNU
X0VRKF9kb3dubG9hZCwgZG93bmxvYWQpOworICAgIEVYUEVDVF9UUlVFKF9leHBlY3RlZENvbnRl
bnRMZW5ndGggPT0gTlNVUkxSZXNwb25zZVVua25vd25MZW5ndGggfHwgc3RhdGljX2Nhc3Q8dWlu
dDY0X3Q+KF9leHBlY3RlZENvbnRlbnRMZW5ndGgpID09IF9yZWNlaXZlZENvbnRlbnRMZW5ndGgp
OworICAgIE5TU3RyaW5nKiBleHBlY3RlZENvbnRlbnQgPSBAIntcInhcIjo0MixcInNcIjpcImhl
bGxvLCB3b3JsZFwifSI7CisgICAgTlNEYXRhKiBleHBlY3RlZERhdGEgPSBbZXhwZWN0ZWRDb250
ZW50IGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKKyAgICBFWFBFQ1Rf
VFJVRShbW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjb250ZW50c0F0UGF0aDpfZGVz
dGluYXRpb25QYXRoXSBpc0VxdWFsVG9EYXRhOmV4cGVjdGVkRGF0YV0pOworICAgIFdlYkNvcmU6
OmRlbGV0ZUZpbGUoX2Rlc3RpbmF0aW9uUGF0aCk7CisgICAgaXNEb25lID0gdHJ1ZTsKK30KKwor
QGVuZAorCitAaW50ZXJmYWNlIERvd25sb2FkQmxvYlVSTE5hdmlnYXRpb25EZWxlZ2F0ZSA6IE5T
T2JqZWN0IDxXS05hdmlnYXRpb25EZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIERv
d25sb2FkQmxvYlVSTE5hdmlnYXRpb25EZWxlZ2F0ZQorLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlv
bkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24gZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05h
dmlnYXRpb25BY3Rpb25Qb2xpY3kpKWRlY2lzaW9uSGFuZGxlcgoreworICAgIGlmIChbbmF2aWdh
dGlvbkFjdGlvbi5yZXF1ZXN0LlVSTC5zY2hlbWUgaXNFcXVhbFRvU3RyaW5nOkAiYmxvYiJdKQor
ICAgICAgICBkZWNpc2lvbkhhbmRsZXIoX1dLTmF2aWdhdGlvbkFjdGlvblBvbGljeURvd25sb2Fk
KTsKKyAgICBlbHNlCisgICAgICAgIGRlY2lzaW9uSGFuZGxlcihXS05hdmlnYXRpb25BY3Rpb25Q
b2xpY3lBbGxvdyk7Cit9CitAZW5kCisKK1RFU1QoX1dLRG93bmxvYWQsIERvd25sb2FkUmVxdWVz
dEJsb2JVUkwpCit7CisgICAgTlNVUkwgKm9yaWdpbmFsVVJMID0gW1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBVUkxGb3JSZXNvdXJjZTpAIkRvd25sb2FkUmVxdWVzdEJsb2JVUkwiIHdpdGhFeHRlbnNp
b246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAg
IHJ1blRlc3QoYWRvcHROUyhbW0Rvd25sb2FkQmxvYlVSTE5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxv
Y10gaW5pdF0pLmdldCgpLCBhZG9wdE5TKFtbQmxvYkRvd25sb2FkRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKS5nZXQoKSwgb3JpZ2luYWxVUkwpOworfQorCiAjZW5kaWYKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRG93bmxvYWRSZXF1ZXN0
QmxvYlVSTC5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvRG93
bmxvYWRSZXF1ZXN0QmxvYlVSTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1ZmYwYzA2NjhlODBjY2RkYzI2
ZTcxOWVkYjEzMjc2MzVhNDEyZjUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Eb3dubG9hZFJlcXVlc3RCbG9iVVJMLmh0bWwKQEAgLTAs
MCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGEgaWQ9ImhyZWYi
IGhyZWY9InNpbXBsZS5odG1sIj5kb3dubG9hZDwvYT4KKzxzY3JpcHQ+CisgICAgdmFyIGVsZW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaHJlZiIpOworICAgIHZhciBkYXRhID0geyB4
OiA0MiwgczogImhlbGxvLCB3b3JsZCIgfTsKKyAgICB2YXIganNvbiA9IEpTT04uc3RyaW5naWZ5
KGRhdGEpOworICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2pzb25dLCB7dHlwZTogIm9jdGV0L3N0
cmVhbSJ9KTsKKyAgICB2YXIgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7
CisKKyAgICBlbGVtZW50LmhyZWYgPSB1cmw7CisgICAgZWxlbWVudC5jbGljaygpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjEwYTAzYTUwMGE5ZGI1M2E5MjM5OTI3YTM0
OTU5ODljN2M2MWJhMy4uMDMwYzNjZDY4ODNkNTI0ODU2NGE4ZTBmNDhiODcyYTU2NTFjMjExZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE2LTA5LTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKKyAgICAgICAgW1dLMl0gTmF2aWdhdGluZyB0byBhIEJsb2IgVVJMIGRvZXMg
bm90IHRyaWdnZXIgYSBkb3dubG9hZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYyNTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmViYXNlbGluZSBub3cgdGhhdCB0aGUgc3VnZ2VzdGVkIGRvd25sb2Fk
IG5hbWUgaXMgInVua25vd24iIGJ5IGRlZmF1bHQKKyAgICAgICAgZm9yIGJsb2IgZG93bmxvYWRz
IGFzIHdlbGwuCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3It
ZG93bmxvYWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVt
ZW50L2FuY2hvci1ub2Rvd25sb2FkLXNldC1leHBlY3RlZC50eHQ6CisKKzIwMTYtMDktMjYgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBbV0syXSBCbG9iRG93bmxv
YWRDbGllbnQgc2hvdWxkIHVzZSBhc3luY2hyb25vdXMgSVBDIHRvIGRlY2lkZSBkZXN0aW5hdGlv
biBwYXRoCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjI1NjgKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1l
bnQvYW5jaG9yLWRvd25sb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxBbmNob3JFbGVtZW50L2FuY2hvci1kb3dubG9hZC1leHBlY3RlZC50eHQKaW5kZXggOWUzZjU4
ZjE3NTc3ODAzMDgwYmU3MDg1Y2VkNjY3MGEyMTc4MDkzZS4uZjJhNDBjODU1OTkzMjdhNTU2ZjA5
ODllNWYzMjYxODgzYWZhZjc3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEFuY2hvckVsZW1lbnQvYW5jaG9yLWRvd25sb2FkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZG93bmxvYWQtZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsNCBAQAogRG93bmxvYWQgc3RhcnRlZC4KLURvd25sb2FkaW5nIFVSTCB3
aXRoIHN1Z2dlc3RlZCBmaWxlbmFtZSAiIgorRG93bmxvYWRpbmcgVVJMIHdpdGggc3VnZ2VzdGVk
IGZpbGVuYW1lICJ1bmtub3duIgogRG93bmxvYWQgY29tcGxldGVkLgogQmxvYiBVUkwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1ub2Rv
d25sb2FkLXNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9y
RWxlbWVudC9hbmNob3Itbm9kb3dubG9hZC1zZXQtZXhwZWN0ZWQudHh0CmluZGV4IDllM2Y1OGYx
NzU3NzgwMzA4MGJlNzA4NWNlZDY2NzBhMjE3ODA5M2UuLmYyYTQwYzg1NTk5MzI3YTU1NmYwOTg5
ZTVmMzI2MTg4M2FmYWY3NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxB
bmNob3JFbGVtZW50L2FuY2hvci1ub2Rvd25sb2FkLXNldC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLW5vZG93bmxvYWQtc2V0
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIERvd25sb2FkIHN0YXJ0ZWQuCi1Eb3dubG9h
ZGluZyBVUkwgd2l0aCBzdWdnZXN0ZWQgZmlsZW5hbWUgIiIKK0Rvd25sb2FkaW5nIFVSTCB3aXRo
IHN1Z2dlc3RlZCBmaWxlbmFtZSAidW5rbm93biIKIERvd25sb2FkIGNvbXBsZXRlZC4KIEJsb2Ig
VVJMCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>