<?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>227245</bug_id>
          
          <creation_ts>2021-06-21 19:21:15 -0700</creation_ts>
          <short_desc>Add support for MTLSharedTextures in WebXR</short_desc>
          <delta_ts>2021-06-25 15:07:09 -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>WebXR</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>adachan</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771574</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-21 19:21:15 -0700</bug_when>
    <thetext>Sometimes the IOSurface sent for WebXR is a MTLSharedTexture, which means it can&apos;t be treated like a regular single-plane IOSurface. Using the fix for 226690, we should be able to create a MTLTexture object from the IOSurface and bind that to a GL texture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771575</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-21 19:21:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/79591620&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771576</commentid>
    <comment_count>2</comment_count>
      <attachid>431940</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-21 19:45:12 -0700</bug_when>
    <thetext>Created attachment 431940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771593</commentid>
    <comment_count>3</comment_count>
      <attachid>431940</attachid>
    <who name="Ada Chan">adachan</who>
    <bug_when>2021-06-21 20:58:47 -0700</bug_when>
    <thetext>Comment on attachment 431940
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:143
&gt; +        auto size = data.surface-&gt;size();

Should we still do the size check for the single plane IOSurface case?

&gt; Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:198
&gt; +            gCGL-&gt;destroyPbufferAndDetachIOSurface(m_ioSurfaceTextureHandle);

Should we set m_ioSurfaceTextureHandle to null and m_ioSurfaceTextureHandleIsShared to false after?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771753</commentid>
    <comment_count>4</comment_count>
      <attachid>431940</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-22 12:45:11 -0700</bug_when>
    <thetext>Comment on attachment 431940
Patch

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

&gt;&gt; Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:143
&gt;&gt; +        auto size = data.surface-&gt;size();
&gt; 
&gt; Should we still do the size check for the single plane IOSurface case?

Yeah - good point. I&apos;ll put it back in.

&gt;&gt; Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:198
&gt;&gt; +            gCGL-&gt;destroyPbufferAndDetachIOSurface(m_ioSurfaceTextureHandle);
&gt; 
&gt; Should we set m_ioSurfaceTextureHandle to null and m_ioSurfaceTextureHandleIsShared to false after?

Agreed.

Ultimately we should have a class that wraps these handles and calls the correct destroyer. I started on that but got annoyed that I&apos;d have to keep a reference to the GraphicsContextGL as well as the handle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772750</commentid>
    <comment_count>5</comment_count>
      <attachid>432288</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-25 13:41:18 -0700</bug_when>
    <thetext>Created attachment 432288
EWS test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772757</commentid>
    <comment_count>6</comment_count>
      <attachid>432289</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-25 13:56:25 -0700</bug_when>
    <thetext>Created attachment 432289
EWS test 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772770</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-06-25 15:07:09 -0700</bug_when>
    <thetext>Committed r279298 (239174@main): &lt;https://commits.webkit.org/239174@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431940</attachid>
            <date>2021-06-21 19:45:12 -0700</date>
            <delta_ts>2021-06-22 13:12:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>mtlsharedtexture.patch</filename>
            <type>text/plain</type>
            <size>11410</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0OGU4M2EzOGFhMGYuLjYxOGFhYjNlMTVjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMyIEBACisyMDIxLTA2LTIxICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgTVRMU2hhcmVkVGV4dHVyZXMgaW4gV2ViWFIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzI0NQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzk1OTE2MjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU29tZXRpbWVzLCB0aGUgSU9TdXJmYWNlIHBhc3NlZCB0
byBXZWJYUiBjb21lIGZyb20gYSBzaGFyZWQgTVRMVGV4dHVyZS4gSW4KKyAgICAgICAgdGhpcyBj
YXNlIHdlIGNhbid0IHRyZWF0IHRoZSBJT1N1cmZhY2UgZGF0YSBhcyBhIHJlZ3VsYXIgc2luZ2xl
LXBsYW5lCisgICAgICAgIGltYWdlLiBJbnN0ZWFkIHdlIHNob3VsZCB1c2UgaXQgdG8gcmVjcmVh
dGUgdGhlIE1UTFRleHR1cmUgYW5kIHRoZW4KKyAgICAgICAgYmluZCB0aGF0IHRvIFdlYkdMJ3Mg
ZnJhbWVidWZmZXIuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVi
dWZmZXIuY3BwOiBVc2Ugc29tZSBuZXcgYmluZGluZyBtZXRob2RzIG9uIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMCisgICAgICAgIGlmIGdpdmVuIGEgc2hhcmVkIHRleHR1cmUuCisgICAgICAgIChX
ZWJDb3JlOjpXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyOjpzdGFydEZyYW1lKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYlhST3BhcXVlRnJhbWVidWZmZXI6OmVuZEZyYW1lKToKKyAgICAgICAgKiBNb2R1
bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tOiBOZXcgbWV0aG9k
cyB0byBsaW5rIGFuCisgICAgICAgIElPU3VyZmFjZSB0byBhIEdMIHRleHR1cmUsIGdvaW5nIHRo
cm91Z2ggYSBNVExTaGFyZWRUZXh0dXJlLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmF0dGFjaElPU3VyZmFjZVRvU2hhcmVkVGV4dHVyZSk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZGV0YWNoSU9TdXJmYWNlRnJvbVNoYXJl
ZFRleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHRHTE9wZW5HTC5oOgorICAgICAgICAqIHBsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaDogQWRk
IGEgbmV3ICJpc1NoYXJlZCIgbWVtYmVyIHRvIExheWVyRGF0YQorICAgICAgICB0byBkaWZmZXJl
bnRpYXRlIGJldHdlZW4gbm9ybWFsIElPU3VyZmFjZXMgYW5kIHRob3NlIHRoYXQgY2FtZQorICAg
ICAgICBmcm9tIGEgc2hhcmVkIHRleHR1cmUuCisgICAgICAgIChQbGF0Zm9ybVhSOjpEZXZpY2U6
OkZyYW1lRGF0YTo6TGF5ZXJEYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoUGxhdGZvcm1Y
Ujo6RGV2aWNlOjpGcmFtZURhdGE6OkxheWVyRGF0YTo6ZGVjb2RlKToKKwogMjAyMS0wNi0wNSAg
RGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBTdXBwbHkg
YW4gSU9TdXJmYWNlIGluIFNpbXVsYXRlZFhSRGV2aWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcAppbmRleCA0YWY0
OWRiNjQ2OWYuLjRmZGRjZDMxZTc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuY3BwCkBAIC0xMjUsOSArMTI1LDYg
QEAgdm9pZCBXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyOjpzdGFydEZyYW1lKGNvbnN0IFBsYXRmb3Jt
WFI6OkRldmljZTo6RnJhbWVEYXRhOjpMYXkKICAgICBhdXRvIGdDR0wgPSBzdGF0aWNfY2FzdDxH
cmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KG1fY29udGV4dC5ncmFwaGljc0NvbnRleHRHTCgpKTsK
ICAgICBHQ0dMZW51bSB0ZXh0dXJlVGFyZ2V0ID0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRy
YXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CiAKLSAgICBhdXRvIHNpemUgPSBkYXRhLnN1cmZh
Y2UtPnNpemUoKTsKLSAgICBpZiAoIXNpemUud2lkdGgoKSB8fCAhc2l6ZS5oZWlnaHQoKSkKLSAg
ICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX29wYXF1ZVRleHR1cmUpCiAgICAgICAgIG1fb3Bh
cXVlVGV4dHVyZSA9IGdDR0wtPmNyZWF0ZVRleHR1cmUoKTsKQEAgLTEzOSwxOCArMTM2LDI2IEBA
IHZvaWQgV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6c3RhcnRGcmFtZShjb25zdCBQbGF0Zm9ybVhS
OjpEZXZpY2U6OkZyYW1lRGF0YTo6TGF5CiAgICAgZ0NHTC0+dGV4UGFyYW1ldGVyaSh0ZXh0dXJl
VGFyZ2V0LCBHTDo6VEVYVFVSRV9XUkFQX1QsIEdMOjpDTEFNUF9UT19FREdFKTsKIAogICAgIC8v
IFRlbGwgdGhlIEdyYXBoaWNzQ29udGV4dEdMIHRvIHVzZSB0aGUgSU9TdXJmYWNlIGFzIHRoZSBi
YWNraW5nIHN0b3JlIGZvciBtX29wYXF1ZVRleHR1cmUuCi0gICAgbV9pb1N1cmZhY2VUZXh0dXJl
SGFuZGxlID0gZ0NHTC0+Y3JlYXRlUGJ1ZmZlckFuZEF0dGFjaElPU3VyZmFjZSh0ZXh0dXJlVGFy
Z2V0LCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6UGJ1ZmZlckF0dGFjaG1lbnRVc2FnZTo6V3Jp
dGUsIEdMOjpCR1JBLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCksIEdMOjpVTlNJR05FRF9C
WVRFLCBkYXRhLnN1cmZhY2UtPnN1cmZhY2UoKSwgMCk7Ci0gICAgaWYgKCFtX2lvU3VyZmFjZVRl
eHR1cmVIYW5kbGUgJiYgbV9vcGFxdWVUZXh0dXJlKSB7CisgICAgaWYgKGRhdGEuaXNTaGFyZWQp
IHsKKyAgICAgICAgbV9pb1N1cmZhY2VUZXh0dXJlSGFuZGxlID0gZ0NHTC0+YXR0YWNoSU9TdXJm
YWNlVG9TaGFyZWRUZXh0dXJlKHRleHR1cmVUYXJnZXQsIGRhdGEuc3VyZmFjZS5nZXQoKSk7Cisg
ICAgICAgIG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZUlzU2hhcmVkID0gdHJ1ZTsKKyAgICB9IGVs
c2UgeworICAgICAgICBhdXRvIHNpemUgPSBkYXRhLnN1cmZhY2UtPnNpemUoKTsKKyAgICAgICAg
bV9pb1N1cmZhY2VUZXh0dXJlSGFuZGxlID0gZ0NHTC0+Y3JlYXRlUGJ1ZmZlckFuZEF0dGFjaElP
U3VyZmFjZSh0ZXh0dXJlVGFyZ2V0LCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6UGJ1ZmZlckF0
dGFjaG1lbnRVc2FnZTo6V3JpdGUsIEdMOjpCR1JBLCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0
KCksIEdMOjpVTlNJR05FRF9CWVRFLCBkYXRhLnN1cmZhY2UtPnN1cmZhY2UoKSwgMCk7CisgICAg
ICAgIG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZUlzU2hhcmVkID0gZmFsc2U7CisgICAgfQorCisg
ICAgaWYgKCFtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGUpIHsKICAgICAgICAgZ0NHTC0+ZGVsZXRl
VGV4dHVyZShtX29wYXF1ZVRleHR1cmUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
Ly8gRklYTUU6IFRoaXMgaXMgYXNzdW1pbmcgbXVsdGlzYW1wbGluZyBpcyB0dXJuZWQgb2ZmIGFu
ZCB3ZSdyZSByZW5kZXJpbmcgZGlyZWN0bHkgaW50byB0aGUgZnJhbWVidWZmZXIuCi0KICAgICAv
LyBOb3cgc2V0IHVwIHRoZSBmcmFtZWJ1ZmZlciB0byB1c2UgdGhlIHRleHR1cmUgdGhhdCBwb2lu
dHMgdG8gdGhlIElPU3VyZmFjZS4gVGhlIGRlcHRoIGFuZAogICAgIC8vIHN0ZW5jaWwgYnVmZmVy
cyB3ZXJlIGF0dGFjaGVkIGJ5IHN0YXJ0RnJhbWUuCiAgICAgZ2wuZnJhbWVidWZmZXJUZXh0dXJl
MkQoR0w6OkZSQU1FQlVGRkVSLCBHTDo6Q09MT1JfQVRUQUNITUVOVDAsIEdMOjpURVhUVVJFXzJE
LCBtX29wYXF1ZVRleHR1cmUsIDApOwogCisgICAgLy8gRklYTUU6IFRoaXMgaXMgYXNzdW1pbmcg
bXVsdGlzYW1wbGluZyBpcyB0dXJuZWQgb2ZmIGFuZCB3ZSdyZSByZW5kZXJpbmcgZGlyZWN0bHkg
aW50byB0aGUgZnJhbWVidWZmZXIuCisKICAgICAvLyBBdCB0aGlzIHBvaW50IHRoZSBmcmFtZWJ1
ZmZlciBzaG91bGQgYmUgImNvbXBsZXRlIi4KICAgICBBU1NFUlQoZ2wuY2hlY2tGcmFtZWJ1ZmZl
clN0YXR1cyhHTDo6RlJBTUVCVUZGRVIpID09IEdMOjpGUkFNRUJVRkZFUl9DT01QTEVURSk7CiAj
ZWxzZQpAQCAtMTg3LDcgKzE5MiwxMCBAQCB2b2lkIFdlYlhST3BhcXVlRnJhbWVidWZmZXI6OmVu
ZEZyYW1lKCkKIAogICAgIGlmIChtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGUpIHsKICAgICAgICAg
YXV0byBnQ0dMID0gc3RhdGljX2Nhc3Q8R3JhcGhpY3NDb250ZXh0R0xPcGVuR0wqPigmZ2wpOwot
ICAgICAgICBnQ0dMLT5kZXN0cm95UGJ1ZmZlckFuZERldGFjaElPU3VyZmFjZShtX2lvU3VyZmFj
ZVRleHR1cmVIYW5kbGUpOworICAgICAgICBpZiAobV9pb1N1cmZhY2VUZXh0dXJlSGFuZGxlSXNT
aGFyZWQpCisgICAgICAgICAgICBnQ0dMLT5kZXRhY2hJT1N1cmZhY2VGcm9tU2hhcmVkVGV4dHVy
ZShtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBn
Q0dMLT5kZXN0cm95UGJ1ZmZlckFuZERldGFjaElPU3VyZmFjZShtX2lvU3VyZmFjZVRleHR1cmVI
YW5kbGUpOwogICAgIH0KICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmgKaW5kZXggZjUwODBjMjgyMGNhLi5kNzVl
ZWRiY2E2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJP
cGFxdWVGcmFtZWJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJPcGFxdWVGcmFtZWJ1ZmZlci5oCkBAIC03OSw2ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgUGxh
dGZvcm1HTE9iamVjdCBtX29wYXF1ZVRleHR1cmUgeyAwIH07CiAjaWYgVVNFKElPU1VSRkFDRV9G
T1JfWFJfTEFZRVJfREFUQSkKICAgICB2b2lkKiBtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGUgeyBu
dWxscHRyIH07CisgICAgYm9vbCBtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGVJc1NoYXJlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDYzMTcxNWQ0MTZhNC4u
YTk3OGVjYjA4MTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0w
Ni0yMSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIE1UTFNoYXJlZFRleHR1cmVzIGluIFdlYlhSCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcyNDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc5NTkxNjIwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERlZmluZSBNVExTaGFyZWRUZXh0dXJlSGFuZGxlJ3MgaW5pdFdpdGhJT1N1cmZhY2UuCisK
KyAgICAgICAgKiBwYWwvc3BpL2NvY29hL01ldGFsU1BJLmg6CisKIDIwMjEtMDYtMDEgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSA8d3RmL09wdGlvbmFs
Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9NZXRhbFNQ
SS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTWV0YWxTUEkuaAppbmRleCBl
MTRkOGFiYmI5ZmMuLmFmYzY4ZGZjNWM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvTWV0YWxTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jb2NvYS9NZXRhbFNQSS5oCkBAIC0yNSwxMSArMjUsMTMgQEAKIAogI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCiAKKyNpbXBvcnQgPE1ldGFsL01UTFRleHR1cmVfUHJpdmF0ZS5oPgogI2lt
cG9ydCA8TWV0YWwvTWV0YWxQcml2YXRlLmg+CiAKICNlbHNlCiAKICNpbXBvcnQgPEZvdW5kYXRp
b24vTlNPYmplY3QuaD4KKyNpbXBvcnQgPElPU3VyZmFjZS9JT1N1cmZhY2UuaD4KIAogQHByb3Rv
Y29sIE1UTERldmljZVNQSSA8TVRMRGV2aWNlPgogLSAoTlNTdHJpbmcqKXZlbmRvck5hbWU7CkBA
IC00MSw0ICs0Myw4IEBACiAtICh2b2lkKV9wdXJnZURldmljZTsKIEBlbmQKIAorQGludGVyZmFj
ZSBNVExTaGFyZWRUZXh0dXJlSGFuZGxlKFByaXZhdGUpCistIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhJT1N1cmZhY2U6KElPU3VyZmFjZVJlZilpb1N1cmZhY2UgbGFiZWw6KE5TU3RyaW5nKilsYWJl
bDsKK0BlbmQKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2Nv
YS5tbQppbmRleCAwNmUyOGYyZWM2MzguLjg0ZjkyZmFhYWNlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCkBAIC0zNyw2ICszNyw3IEBACiAjaW1wb3J0ICJX
ZWJHTExheWVyLmgiCiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dCaXRtYXBDb250ZXh0Lmg+CiAj
aW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9NZXRhbFNQSS5o
PgogI2ltcG9ydCA8d3RmL0Jsb2NrT2JqQ0V4Y2VwdGlvbnMuaD4KICNpbXBvcnQgPHd0Zi9kYXJ3
aW4vV2Vha0xpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTY3Myw2
ICs2NzQsNTEgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZGVzdHJveVBidWZmZXJB
bmREZXRhY2hJT1N1cmZhY2Uodm9pZCogaGFuZGxlKQogICAgIEVHTF9EZXN0cm95U3VyZmFjZShk
aXNwbGF5LCBoYW5kbGUpOwogfQogCit2b2lkKiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YXR0
YWNoSU9TdXJmYWNlVG9TaGFyZWRUZXh0dXJlKEdDR0xlbnVtIHRhcmdldCwgSU9TdXJmYWNlKiBz
dXJmYWNlKQoreworICAgIGNvbnN0ZXhwciBFR0xpbnQgZW1wdHlBdHRyaWJ1dGVzW10gPSB7IEVH
TF9OT05FIH07CisKKyAgICAvLyBDcmVhdGUgYSBNVExUZXh0dXJlIG91dCBvZiB0aGUgSU9TdXJm
YWNlLgorICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHVzZSB0aGUgc2FtZSBkZXZpY2UgdGhhdCBB
TkdMRSBpcyB1c2luZywgd2hpY2ggbWlnaHQgbm90IGJlIHRoZSBkZWZhdWx0LgorCisgICAgUmV0
YWluUHRyPE1UTFNoYXJlZFRleHR1cmVIYW5kbGU+IGhhbmRsZSA9IGFkb3B0TlMoW1tNVExTaGFy
ZWRUZXh0dXJlSGFuZGxlIGFsbG9jXSBpbml0V2l0aElPU3VyZmFjZTpzdXJmYWNlLT5zdXJmYWNl
KCkgbGFiZWw6QCJXZWJYUiJdKTsKKyAgICBpZiAoIWhhbmRsZSkgeworICAgICAgICBMT0coV2Vi
R0wsICJVbmFibGUgdG8gY3JlYXRlIGEgTVRMU2hhcmVkVGV4dHVyZUhhbmRsZSBmcm9tIHRoZSBJ
T1N1cmZhY2UgaW4gYXR0YWNoSU9TdXJmYWNlVG9UZXh0dXJlLiIpOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CisKKyAgICBpZiAoIWhhbmRsZS5nZXQoKS5kZXZpY2UpIHsKKyAgICAg
ICAgTE9HKFdlYkdMLCAiTVRMU2hhcmVkVGV4dHVyZUhhbmRsZSBkb2VzIG5vdCBoYXZlIGEgTWV0
YWwgZGV2aWNlIGluIGF0dGFjaElPU3VyZmFjZVRvVGV4dHVyZS4iKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgfQorCisgICAgYXV0byB0ZXh0dXJlID0gYWRvcHROUyhbaGFuZGxlLmdl
dCgpLmRldmljZSBuZXdTaGFyZWRUZXh0dXJlV2l0aEhhbmRsZTpoYW5kbGUuZ2V0KCldKTsKKyAg
ICBpZiAoIXRleHR1cmUpIHsKKyAgICAgICAgTE9HKFdlYkdMLCAiVW5hYmxlIHRvIGNyZWF0ZSBh
IE1UTFNoYXJlZFRleHR1cmUgZnJvbSB0aGUgdGV4dHVyZSBoYW5kbGUgaW4gYXR0YWNoSU9TdXJm
YWNlVG9UZXh0dXJlLiIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICAv
LyBGSVhNRTogRG9lcyB0aGUgdGV4dHVyZSBoYXZlIHRoZSBjb3JyZWN0IHVzYWdlIG1vZGU/CisK
KyAgICAvLyBDcmVhdGUgYW4gRUdMSW1hZ2Ugb3V0IG9mIHRoZSBNVExUZXh0dXJlCisgICAgYXV0
byBkaXNwbGF5ID0gcGxhdGZvcm1EaXNwbGF5KCk7CisgICAgYXV0byBlZ2xJbWFnZSA9IEVHTF9D
cmVhdGVJbWFnZUtIUihkaXNwbGF5LCBFR0xfTk9fQ09OVEVYVCwgRUdMX01FVEFMX1RFWFRVUkVf
QU5HTEUsIHJlaW50ZXJwcmV0X2Nhc3Q8RUdMQ2xpZW50QnVmZmVyPih0ZXh0dXJlLmdldCgpKSwg
ZW1wdHlBdHRyaWJ1dGVzKTsKKyAgICBpZiAoIWVnbEltYWdlKSB7CisgICAgICAgIExPRyhXZWJH
TCwgIlVuYWJsZSB0byBjcmVhdGUgYW4gRUdMSW1hZ2UgZnJvbSB0aGUgTWV0YWwgaGFuZGxlIGlu
IGF0dGFjaElPU3VyZmFjZVRvVGV4dHVyZS4iKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorCisgICAgLy8gVGVsbCB0aGUgY3VycmVudGx5IGJvdW5kIHRleHR1cmUgdG8gdXNlIHRo
ZSBFR0xJbWFnZS4KKyAgICBnbDo6RUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkRPRVModGFyZ2V0LCBl
Z2xJbWFnZSk7CisKKyAgICByZXR1cm4gZWdsSW1hZ2U7Cit9CisKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmRldGFjaElPU3VyZmFjZUZyb21TaGFyZWRUZXh0dXJlKHZvaWQqIGhhbmRs
ZSkKK3sKKyAgICBhdXRvIGRpc3BsYXkgPSBwbGF0Zm9ybURpc3BsYXkoKTsKKyAgICBFR0xfRGVz
dHJveUltYWdlS0hSKGRpc3BsYXksIGhhbmRsZSk7Cit9CiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w6OmlzR0xFUzJDb21wbGlhbnQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wuaAppbmRleCA2MGNiYWVkZDIzOGYuLmFhMjhmOTI2ZmEyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTUzNCw2ICs1MzQsOCBAQCBwdWJsaWM6CiAg
ICAgLy8gZGV0YWNoIGNhbGwgYmVsb3cuCiAgICAgdm9pZCogY3JlYXRlUGJ1ZmZlckFuZEF0dGFj
aElPU3VyZmFjZShHQ0dMZW51bSB0YXJnZXQsIFBidWZmZXJBdHRhY2htZW50VXNhZ2UsIEdDR0xl
bnVtIGludGVybmFsRm9ybWF0LCBHQ0dMc2l6ZWkgd2lkdGgsIEdDR0xzaXplaSBoZWlnaHQsIEdD
R0xlbnVtIHR5cGUsIElPU3VyZmFjZVJlZiwgR0NHTHVpbnQgcGxhbmUpOwogICAgIHZvaWQgZGVz
dHJveVBidWZmZXJBbmREZXRhY2hJT1N1cmZhY2Uodm9pZCogaGFuZGxlKTsKKyAgICB2b2lkKiBh
dHRhY2hJT1N1cmZhY2VUb1NoYXJlZFRleHR1cmUoR0NHTGVudW0gdGFyZ2V0LCBJT1N1cmZhY2Uq
IHN1cmZhY2UpOworICAgIHZvaWQgZGV0YWNoSU9TdXJmYWNlRnJvbVNoYXJlZFRleHR1cmUodm9p
ZCogaGFuZGxlKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0veHIvUGxhdGZvcm1YUi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIv
UGxhdGZvcm1YUi5oCmluZGV4IGQ3MDg0ZGIyMTUxNi4uODUxZDQzYWJmNmFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0veHIvUGxhdGZvcm1YUi5oCkBAIC0xNzMsNiArMTczLDcgQEAgcHVibGlj
OgogICAgICAgICBzdHJ1Y3QgTGF5ZXJEYXRhIHsKICNpZiBVU0UoSU9TVVJGQUNFX0ZPUl9YUl9M
QVlFUl9EQVRBKQogICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OklPU3VyZmFj
ZT4gc3VyZmFjZTsKKyAgICAgICAgICAgIGJvb2wgaXNTaGFyZWQgeyBmYWxzZSB9OwogI2Vsc2UK
ICAgICAgICAgICAgIFBsYXRmb3JtR0xPYmplY3Qgb3BhcXVlVGV4dHVyZSB7IDAgfTsKICNlbmRp
ZgpAQCAtNDMzLDYgKzQzNCw3IEBAIHZvaWQgRGV2aWNlOjpGcmFtZURhdGE6OkxheWVyRGF0YTo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgVVNFKElPU1VSRkFDRV9GT1JfWFJf
TEFZRVJfREFUQSkKICAgICBXVEY6Ok1hY2hTZW5kUmlnaHQgc3VyZmFjZVNlbmRSaWdodCA9IHN1
cmZhY2UgPyBzdXJmYWNlLT5jcmVhdGVTZW5kUmlnaHQoKSA6IFdURjo6TWFjaFNlbmRSaWdodCgp
OwogICAgIGVuY29kZXIgPDwgc3VyZmFjZVNlbmRSaWdodDsKKyAgICBlbmNvZGVyIDw8IGlzU2hh
cmVkOwogI2Vsc2UKICAgICBlbmNvZGVyIDw8IG9wYXF1ZVRleHR1cmU7CiAjZW5kaWYKQEAgLTQ0
Nyw2ICs0NDksOCBAQCBzdGQ6Om9wdGlvbmFsPERldmljZTo6RnJhbWVEYXRhOjpMYXllckRhdGE+
IERldmljZTo6RnJhbWVEYXRhOjpMYXllckRhdGE6OmRlY29kZQogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoc3VyZmFjZVNlbmRSaWdodCkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgbGF5ZXJEYXRhLnN1cmZhY2UgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZUZyb21TZW5k
UmlnaHQoV1RGTW92ZShzdXJmYWNlU2VuZFJpZ2h0KSwgV2ViQ29yZTo6RGVzdGluYXRpb25Db2xv
clNwYWNlOjpTUkdCKCkpOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGF5ZXJEYXRhLmlzU2hh
cmVkKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICNlbHNlCiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShsYXllckRhdGEub3BhcXVlVGV4dHVyZSkpCiAgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7Cg==
</data>
<flag name="review"
          id="453841"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="453842"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432288</attachid>
            <date>2021-06-25 13:41:18 -0700</date>
            <delta_ts>2021-06-25 13:57:39 -0700</delta_ts>
            <desc>EWS test</desc>
            <filename>bug-227245-20210626064117.patch</filename>
            <type>text/plain</type>
            <size>12112</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Mjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgxMmVhZjY4NGI0Nzcy
MGY5YWIzZjMxZTUyYjQyNjI0YmZjODE3OS4uNGE1ZjE0M2U0MTZlZDU5OTJhMWVmNmU0MmEzNzNh
ZDQxYjU3NTAxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTA2LTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgTVRM
U2hhcmVkVGV4dHVyZXMgaW4gV2ViWFIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzI0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk1OTE2MjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBTb21ldGltZXMs
IHRoZSBJT1N1cmZhY2UgcGFzc2VkIHRvIFdlYlhSIGNvbWUgZnJvbSBhIHNoYXJlZCBNVExUZXh0
dXJlLiBJbgorICAgICAgICB0aGlzIGNhc2Ugd2UgY2FuJ3QgdHJlYXQgdGhlIElPU3VyZmFjZSBk
YXRhIGFzIGEgcmVndWxhciBzaW5nbGUtcGxhbmUKKyAgICAgICAgaW1hZ2UuIEluc3RlYWQgd2Ug
c2hvdWxkIHVzZSBpdCB0byByZWNyZWF0ZSB0aGUgTVRMVGV4dHVyZSBhbmQgdGhlbgorICAgICAg
ICBiaW5kIHRoYXQgdG8gV2ViR0wncyBmcmFtZWJ1ZmZlci4KKworICAgICAgICAqIE1vZHVsZXMv
d2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHA6IFVzZSBzb21lIG5ldyBiaW5kaW5nIG1l
dGhvZHMgb24gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wKKyAgICAgICAgaWYgZ2l2ZW4gYSBzaGFy
ZWQgdGV4dHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYlhST3BhcXVlRnJhbWVidWZmZXI6OnN0
YXJ0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6ZW5k
RnJhbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06IE5ldyBtZXRob2RzIHRvIGxpbmsgYW4KKyAgICAgICAgSU9TdXJmYWNlIHRv
IGEgR0wgdGV4dHVyZSwgZ29pbmcgdGhyb3VnaCBhIE1UTFNoYXJlZFRleHR1cmUuCisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YXR0YWNoSU9TdXJmYWNlVG9TaGFy
ZWRUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpk
ZXRhY2hJT1N1cmZhY2VGcm9tU2hhcmVkVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmg6CisgICAgICAgICogcGxhdGZv
cm0veHIvUGxhdGZvcm1YUi5oOiBBZGQgYSBuZXcgImlzU2hhcmVkIiBtZW1iZXIgdG8gTGF5ZXJE
YXRhCisgICAgICAgIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBub3JtYWwgSU9TdXJmYWNlcyBh
bmQgdGhvc2UgdGhhdCBjYW1lCisgICAgICAgIGZyb20gYSBzaGFyZWQgdGV4dHVyZS4KKyAgICAg
ICAgKFBsYXRmb3JtWFI6OkRldmljZTo6RnJhbWVEYXRhOjpMYXllckRhdGE6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0YTo6TGF5ZXJEYXRhOjpk
ZWNvZGUpOgorCiAyMDIxLTA2LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgRml4IG51bGwgY3Jhc2ggaW4gQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJDb2NvYTo6c3RhcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGM0ZjFiMzA2NmMz
OTk1OWE5M2QyNmNiMmM5ZjcxZjUwY2M2N2E3NDkuLjJiNDNlY2I1MWU4YjBhMjVkNjIxNmFkYWIw
ZGQwY2RkMmQxZGZkMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA2LTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgTVRMU2hhcmVkVGV4dHVyZXMgaW4gV2ViWFIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzI0NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzk1OTE2MjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAg
ICBEZWZpbmUgTVRMU2hhcmVkVGV4dHVyZUhhbmRsZSdzIGluaXRXaXRoSU9TdXJmYWNlLgorCisg
ICAgICAgICogcGFsL3NwaS9jb2NvYS9NZXRhbFNQSS5oOgorCiAyMDIxLTA2LTI1ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZp
eCB0aGUgbWFjT1MgTW9udGVyZXkgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuY3BwCmluZGV4IDRhZjQ5ZGI2NDY5
ZjE1NjFlYWI0Njg1NWJhOTFiZjVlZGMyZTJkNmYuLjdlN2UyNzI2NzcyM2QzMTQxM2RiMDcyYmU3
NmFkOTc4YWZkZTdhNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcApAQCAtMTI1LDkgKzEyNSw2IEBAIHZvaWQg
V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6c3RhcnRGcmFtZShjb25zdCBQbGF0Zm9ybVhSOjpEZXZp
Y2U6OkZyYW1lRGF0YTo6TGF5CiAgICAgYXV0byBnQ0dMID0gc3RhdGljX2Nhc3Q8R3JhcGhpY3ND
b250ZXh0R0xPcGVuR0wqPihtX2NvbnRleHQuZ3JhcGhpY3NDb250ZXh0R0woKSk7CiAgICAgR0NH
TGVudW0gdGV4dHVyZVRhcmdldCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5nQnVm
ZmVyVGV4dHVyZVRhcmdldCgpOwogCi0gICAgYXV0byBzaXplID0gZGF0YS5zdXJmYWNlLT5zaXpl
KCk7Ci0gICAgaWYgKCFzaXplLndpZHRoKCkgfHwgIXNpemUuaGVpZ2h0KCkpCi0gICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghbV9vcGFxdWVUZXh0dXJlKQogICAgICAgICBtX29wYXF1ZVRleHR1
cmUgPSBnQ0dMLT5jcmVhdGVUZXh0dXJlKCk7CkBAIC0xMzksMTggKzEzNiwyOSBAQCB2b2lkIFdl
YlhST3BhcXVlRnJhbWVidWZmZXI6OnN0YXJ0RnJhbWUoY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNl
OjpGcmFtZURhdGE6OkxheQogICAgIGdDR0wtPnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwg
R0w6OlRFWFRVUkVfV1JBUF9ULCBHTDo6Q0xBTVBfVE9fRURHRSk7CiAKICAgICAvLyBUZWxsIHRo
ZSBHcmFwaGljc0NvbnRleHRHTCB0byB1c2UgdGhlIElPU3VyZmFjZSBhcyB0aGUgYmFja2luZyBz
dG9yZSBmb3IgbV9vcGFxdWVUZXh0dXJlLgotICAgIG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSA9
IGdDR0wtPmNyZWF0ZVBidWZmZXJBbmRBdHRhY2hJT1N1cmZhY2UodGV4dHVyZVRhcmdldCwgR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6OlBidWZmZXJBdHRhY2htZW50VXNhZ2U6OldyaXRlLCBHTDo6
QkdSQSwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCBHTDo6VU5TSUdORURfQllURSwgZGF0
YS5zdXJmYWNlLT5zdXJmYWNlKCksIDApOwotICAgIGlmICghbV9pb1N1cmZhY2VUZXh0dXJlSGFu
ZGxlICYmIG1fb3BhcXVlVGV4dHVyZSkgeworICAgIGlmIChkYXRhLmlzU2hhcmVkKSB7CisgICAg
ICAgIG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSA9IGdDR0wtPmF0dGFjaElPU3VyZmFjZVRvU2hh
cmVkVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCBkYXRhLnN1cmZhY2UuZ2V0KCkpOworICAgICAgICBt
X2lvU3VyZmFjZVRleHR1cmVIYW5kbGVJc1NoYXJlZCA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgYXV0byBzaXplID0gZGF0YS5zdXJmYWNlLT5zaXplKCk7CisgICAgICAgIGlmICghc2l6
ZS53aWR0aCgpIHx8ICFzaXplLmhlaWdodCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGUgPSBnQ0dMLT5jcmVhdGVQYnVmZmVyQW5kQXR0YWNo
SU9TdXJmYWNlKHRleHR1cmVUYXJnZXQsIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpQYnVmZmVy
QXR0YWNobWVudFVzYWdlOjpXcml0ZSwgR0w6OkJHUkEsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWln
aHQoKSwgR0w6OlVOU0lHTkVEX0JZVEUsIGRhdGEuc3VyZmFjZS0+c3VyZmFjZSgpLCAwKTsKKyAg
ICAgICAgbV9pb1N1cmZhY2VUZXh0dXJlSGFuZGxlSXNTaGFyZWQgPSBmYWxzZTsKKyAgICB9CisK
KyAgICBpZiAoIW1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSkgewogICAgICAgICBnQ0dMLT5kZWxl
dGVUZXh0dXJlKG1fb3BhcXVlVGV4dHVyZSk7CisgICAgICAgIG1fb3BhcXVlVGV4dHVyZSA9IDA7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBhc3N1bWlu
ZyBtdWx0aXNhbXBsaW5nIGlzIHR1cm5lZCBvZmYgYW5kIHdlJ3JlIHJlbmRlcmluZyBkaXJlY3Rs
eSBpbnRvIHRoZSBmcmFtZWJ1ZmZlci4KLQogICAgIC8vIE5vdyBzZXQgdXAgdGhlIGZyYW1lYnVm
ZmVyIHRvIHVzZSB0aGUgdGV4dHVyZSB0aGF0IHBvaW50cyB0byB0aGUgSU9TdXJmYWNlLiBUaGUg
ZGVwdGggYW5kCiAgICAgLy8gc3RlbmNpbCBidWZmZXJzIHdlcmUgYXR0YWNoZWQgYnkgc3RhcnRG
cmFtZS4KICAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChHTDo6RlJBTUVCVUZGRVIsIEdMOjpD
T0xPUl9BVFRBQ0hNRU5UMCwgR0w6OlRFWFRVUkVfMkQsIG1fb3BhcXVlVGV4dHVyZSwgMCk7CiAK
KyAgICAvLyBGSVhNRTogVGhpcyBpcyBhc3N1bWluZyBtdWx0aXNhbXBsaW5nIGlzIHR1cm5lZCBv
ZmYgYW5kIHdlJ3JlIHJlbmRlcmluZyBkaXJlY3RseSBpbnRvIHRoZSBmcmFtZWJ1ZmZlci4KKwog
ICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhlIGZyYW1lYnVmZmVyIHNob3VsZCBiZSAiY29tcGxldGUi
LgogICAgIEFTU0VSVChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMOjpGUkFNRUJVRkZFUikg
PT0gR0w6OkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKICNlbHNlCkBAIC0xODcsNyArMTk1LDEyIEBA
IHZvaWQgV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6ZW5kRnJhbWUoKQogCiAgICAgaWYgKG1faW9T
dXJmYWNlVGV4dHVyZUhhbmRsZSkgewogICAgICAgICBhdXRvIGdDR0wgPSBzdGF0aWNfY2FzdDxH
cmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KCZnbCk7Ci0gICAgICAgIGdDR0wtPmRlc3Ryb3lQYnVm
ZmVyQW5kRGV0YWNoSU9TdXJmYWNlKG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSk7CisgICAgICAg
IGlmIChtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGVJc1NoYXJlZCkKKyAgICAgICAgICAgIGdDR0wt
PmRldGFjaElPU3VyZmFjZUZyb21TaGFyZWRUZXh0dXJlKG1faW9TdXJmYWNlVGV4dHVyZUhhbmRs
ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdDR0wtPmRlc3Ryb3lQYnVmZmVyQW5kRGV0
YWNoSU9TdXJmYWNlKG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSk7CisgICAgICAgIG1faW9TdXJm
YWNlVGV4dHVyZUhhbmRsZSA9IG51bGxwdHI7CisgICAgICAgIG1faW9TdXJmYWNlVGV4dHVyZUhh
bmRsZUlzU2hhcmVkID0gZmFsc2U7CiAgICAgfQogI2Vsc2UKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuaAppbmRleCBmNTA4
MGMyODIwY2FmN2ZiOWQwMjdjNzQ0ZWIyZDE4MDA3ZDQ4ZjliLi5kNzVlZWRiY2E2OThmZDkwNTM0
Yjg1MmU0MDYzMmYyMzc3Yzg2Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuaApAQCAtNzksNiArNzksNyBAQCBwcml2
YXRlOgogICAgIFBsYXRmb3JtR0xPYmplY3QgbV9vcGFxdWVUZXh0dXJlIHsgMCB9OwogI2lmIFVT
RShJT1NVUkZBQ0VfRk9SX1hSX0xBWUVSX0RBVEEpCiAgICAgdm9pZCogbV9pb1N1cmZhY2VUZXh0
dXJlSGFuZGxlIHsgbnVsbHB0ciB9OworICAgIGJvb2wgbV9pb1N1cmZhY2VUZXh0dXJlSGFuZGxl
SXNTaGFyZWQgeyBmYWxzZSB9OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9NZXRhbFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvTWV0YWxTUEkuaAppbmRleCBlMTRkOGFiYmI5ZmNhYzk5MWJiNWI2NmIzMDI4
ZGEyNWExMDZhZGJhLi5hZmM2OGRmYzVjN2U0MmM1MTM0ODM4NjVjYzdiZGQzOWM5Y2U0NDE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9NZXRhbFNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL01ldGFsU1BJLmgKQEAgLTI1LDEx
ICsyNSwxMyBAQAogCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAorI2ltcG9ydCA8TWV0
YWwvTVRMVGV4dHVyZV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxNZXRhbC9NZXRhbFByaXZhdGUuaD4K
IAogI2Vsc2UKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU09iamVjdC5oPgorI2ltcG9ydCA8SU9T
dXJmYWNlL0lPU3VyZmFjZS5oPgogCiBAcHJvdG9jb2wgTVRMRGV2aWNlU1BJIDxNVExEZXZpY2U+
CiAtIChOU1N0cmluZyopdmVuZG9yTmFtZTsKQEAgLTQxLDQgKzQzLDggQEAKIC0gKHZvaWQpX3B1
cmdlRGV2aWNlOwogQGVuZAogCitAaW50ZXJmYWNlIE1UTFNoYXJlZFRleHR1cmVIYW5kbGUoUHJp
dmF0ZSkKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aElPU3VyZmFjZTooSU9TdXJmYWNlUmVmKWlv
U3VyZmFjZSBsYWJlbDooTlNTdHJpbmcqKWxhYmVsOworQGVuZAorCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4
dEdMT3BlbkdMQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCmluZGV4IGQyY2IzNWMzNWY4YTE5MWRl
OTU3MjUwYWVhOTNhZmFkZDYzODg2MGQuLjU5ZThhNTE3ZTk5ZDVkNDIyYzdkZDc1MGNkNWE1Zjhh
Y2UwMGQ4N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbQpA
QCAtMzcsNiArMzcsNyBAQAogI2ltcG9ydCAiV2ViR0xMYXllci5oIgogI2ltcG9ydCA8Q29yZUdy
YXBoaWNzL0NHQml0bWFwQ29udGV4dC5oPgogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KKyNpbXBv
cnQgPHBhbC9zcGkvY29jb2EvTWV0YWxTUEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNl
cHRpb25zLmg+CiAjaW1wb3J0IDx3dGYvZGFyd2luL1dlYWtMaW5raW5nLmg+CiAjaW1wb3J0IDx3
dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC02ODQsNiArNjg1LDUxIEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmRlc3Ryb3lQYnVmZmVyQW5kRGV0YWNoSU9TdXJmYWNlKHZvaWQqIGhhbmRs
ZSkKICAgICBFR0xfRGVzdHJveVN1cmZhY2UoZGlzcGxheSwgaGFuZGxlKTsKIH0KIAordm9pZCog
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmF0dGFjaElPU3VyZmFjZVRvU2hhcmVkVGV4dHVyZShH
Q0dMZW51bSB0YXJnZXQsIElPU3VyZmFjZSogc3VyZmFjZSkKK3sKKyAgICBjb25zdGV4cHIgRUdM
aW50IGVtcHR5QXR0cmlidXRlc1tdID0geyBFR0xfTk9ORSB9OworCisgICAgLy8gQ3JlYXRlIGEg
TVRMVGV4dHVyZSBvdXQgb2YgdGhlIElPU3VyZmFjZS4KKyAgICAvLyBGSVhNRTogV2UgbmVlZCB0
byB1c2UgdGhlIHNhbWUgZGV2aWNlIHRoYXQgQU5HTEUgaXMgdXNpbmcsIHdoaWNoIG1pZ2h0IG5v
dCBiZSB0aGUgZGVmYXVsdC4KKworICAgIFJldGFpblB0cjxNVExTaGFyZWRUZXh0dXJlSGFuZGxl
PiBoYW5kbGUgPSBhZG9wdE5TKFtbTVRMU2hhcmVkVGV4dHVyZUhhbmRsZSBhbGxvY10gaW5pdFdp
dGhJT1N1cmZhY2U6c3VyZmFjZS0+c3VyZmFjZSgpIGxhYmVsOkAiV2ViWFIiXSk7CisgICAgaWYg
KCFoYW5kbGUpIHsKKyAgICAgICAgTE9HKFdlYkdMLCAiVW5hYmxlIHRvIGNyZWF0ZSBhIE1UTFNo
YXJlZFRleHR1cmVIYW5kbGUgZnJvbSB0aGUgSU9TdXJmYWNlIGluIGF0dGFjaElPU3VyZmFjZVRv
VGV4dHVyZS4iKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgaWYgKCFo
YW5kbGUuZ2V0KCkuZGV2aWNlKSB7CisgICAgICAgIExPRyhXZWJHTCwgIk1UTFNoYXJlZFRleHR1
cmVIYW5kbGUgZG9lcyBub3QgaGF2ZSBhIE1ldGFsIGRldmljZSBpbiBhdHRhY2hJT1N1cmZhY2VU
b1RleHR1cmUuIik7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIGF1dG8g
dGV4dHVyZSA9IGFkb3B0TlMoW2hhbmRsZS5nZXQoKS5kZXZpY2UgbmV3U2hhcmVkVGV4dHVyZVdp
dGhIYW5kbGU6aGFuZGxlLmdldCgpXSk7CisgICAgaWYgKCF0ZXh0dXJlKSB7CisgICAgICAgIExP
RyhXZWJHTCwgIlVuYWJsZSB0byBjcmVhdGUgYSBNVExTaGFyZWRUZXh0dXJlIGZyb20gdGhlIHRl
eHR1cmUgaGFuZGxlIGluIGF0dGFjaElPU3VyZmFjZVRvVGV4dHVyZS4iKTsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgLy8gRklYTUU6IERvZXMgdGhlIHRleHR1cmUgaGF2
ZSB0aGUgY29ycmVjdCB1c2FnZSBtb2RlPworCisgICAgLy8gQ3JlYXRlIGFuIEVHTEltYWdlIG91
dCBvZiB0aGUgTVRMVGV4dHVyZQorICAgIGF1dG8gZGlzcGxheSA9IHBsYXRmb3JtRGlzcGxheSgp
OworICAgIGF1dG8gZWdsSW1hZ2UgPSBFR0xfQ3JlYXRlSW1hZ2VLSFIoZGlzcGxheSwgRUdMX05P
X0NPTlRFWFQsIEVHTF9NRVRBTF9URVhUVVJFX0FOR0xFLCByZWludGVycHJldF9jYXN0PEVHTENs
aWVudEJ1ZmZlcj4odGV4dHVyZS5nZXQoKSksIGVtcHR5QXR0cmlidXRlcyk7CisgICAgaWYgKCFl
Z2xJbWFnZSkgeworICAgICAgICBMT0coV2ViR0wsICJVbmFibGUgdG8gY3JlYXRlIGFuIEVHTElt
YWdlIGZyb20gdGhlIE1ldGFsIGhhbmRsZSBpbiBhdHRhY2hJT1N1cmZhY2VUb1RleHR1cmUuIik7
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIC8vIFRlbGwgdGhlIGN1cnJl
bnRseSBib3VuZCB0ZXh0dXJlIHRvIHVzZSB0aGUgRUdMSW1hZ2UuCisgICAgZ2w6OkVHTEltYWdl
VGFyZ2V0VGV4dHVyZTJET0VTKHRhcmdldCwgZWdsSW1hZ2UpOworCisgICAgcmV0dXJuIGVnbElt
YWdlOworfQorCit2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkZXRhY2hJT1N1cmZhY2VG
cm9tU2hhcmVkVGV4dHVyZSh2b2lkKiBoYW5kbGUpCit7CisgICAgYXV0byBkaXNwbGF5ID0gcGxh
dGZvcm1EaXNwbGF5KCk7CisgICAgRUdMX0Rlc3Ryb3lJbWFnZUtIUihkaXNwbGF5LCBoYW5kbGUp
OworfQogCiBib29sIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjppc0dMRVMyQ29tcGxpYW50KCkg
Y29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggMWJkZDViNGZi
MzIxMTJlYTE0MmJhMTZhYmY2MzEyZWJlNThkN2ZkOC4uZmFmN2ExNjQ4MTI1Y2Y1N2Y2YzhjYWE1
YWRmNzIwNjQ0YmIwODAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAg
LTUzNiw2ICs1MzYsOCBAQCBwdWJsaWM6CiAgICAgLy8gZGV0YWNoIGNhbGwgYmVsb3cuCiAgICAg
dm9pZCogY3JlYXRlUGJ1ZmZlckFuZEF0dGFjaElPU3VyZmFjZShHQ0dMZW51bSB0YXJnZXQsIFBi
dWZmZXJBdHRhY2htZW50VXNhZ2UsIEdDR0xlbnVtIGludGVybmFsRm9ybWF0LCBHQ0dMc2l6ZWkg
d2lkdGgsIEdDR0xzaXplaSBoZWlnaHQsIEdDR0xlbnVtIHR5cGUsIElPU3VyZmFjZVJlZiwgR0NH
THVpbnQgcGxhbmUpOwogICAgIHZvaWQgZGVzdHJveVBidWZmZXJBbmREZXRhY2hJT1N1cmZhY2Uo
dm9pZCogaGFuZGxlKTsKKyAgICB2b2lkKiBhdHRhY2hJT1N1cmZhY2VUb1NoYXJlZFRleHR1cmUo
R0NHTGVudW0gdGFyZ2V0LCBJT1N1cmZhY2UqKTsKKyAgICB2b2lkIGRldGFjaElPU3VyZmFjZUZy
b21TaGFyZWRUZXh0dXJlKHZvaWQqIGhhbmRsZSk7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaAppbmRleCAyNGE1OGYyZTZiM2EzMDhiZjJi
NTk4ZWNjMzViYWVkZWI0ZGIxYmViLi5mYzI0ZjhhNGY2MWY4MTM0OGRhNjY0YTEwZGFkNDgwYTdl
YzI5MzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhS
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvUGxhdGZvcm1YUi5oCkBAIC0xNzMs
NiArMTczLDcgQEAgcHVibGljOgogICAgICAgICBzdHJ1Y3QgTGF5ZXJEYXRhIHsKICNpZiBVU0Uo
SU9TVVJGQUNFX0ZPUl9YUl9MQVlFUl9EQVRBKQogICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PFdlYkNvcmU6OklPU3VyZmFjZT4gc3VyZmFjZTsKKyAgICAgICAgICAgIGJvb2wgaXNTaGFyZWQg
eyBmYWxzZSB9OwogI2Vsc2UKICAgICAgICAgICAgIFBsYXRmb3JtR0xPYmplY3Qgb3BhcXVlVGV4
dHVyZSB7IDAgfTsKICNlbmRpZgpAQCAtNDQyLDYgKzQ0Myw3IEBAIHZvaWQgRGV2aWNlOjpGcmFt
ZURhdGE6OkxheWVyRGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgVVNF
KElPU1VSRkFDRV9GT1JfWFJfTEFZRVJfREFUQSkKICAgICBXVEY6Ok1hY2hTZW5kUmlnaHQgc3Vy
ZmFjZVNlbmRSaWdodCA9IHN1cmZhY2UgPyBzdXJmYWNlLT5jcmVhdGVTZW5kUmlnaHQoKSA6IFdU
Rjo6TWFjaFNlbmRSaWdodCgpOwogICAgIGVuY29kZXIgPDwgc3VyZmFjZVNlbmRSaWdodDsKKyAg
ICBlbmNvZGVyIDw8IGlzU2hhcmVkOwogI2Vsc2UKICAgICBlbmNvZGVyIDw8IG9wYXF1ZVRleHR1
cmU7CiAjZW5kaWYKQEAgLTQ1Niw2ICs0NTgsOCBAQCBzdGQ6Om9wdGlvbmFsPERldmljZTo6RnJh
bWVEYXRhOjpMYXllckRhdGE+IERldmljZTo6RnJhbWVEYXRhOjpMYXllckRhdGE6OmRlY29kZQog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3VyZmFjZVNlbmRSaWdodCkpCiAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAgICAgbGF5ZXJEYXRhLnN1cmZhY2UgPSBXZWJDb3JlOjpJT1N1cmZh
Y2U6OmNyZWF0ZUZyb21TZW5kUmlnaHQoV1RGTW92ZShzdXJmYWNlU2VuZFJpZ2h0KSwgV2ViQ29y
ZTo6RGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCkpOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUobGF5ZXJEYXRhLmlzU2hhcmVkKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICNl
bHNlCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShsYXllckRhdGEub3BhcXVlVGV4dHVyZSkpCiAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cg==
</data>
<flag name="commit-queue"
          id="454287"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432289</attachid>
            <date>2021-06-25 13:56:25 -0700</date>
            <delta_ts>2021-06-25 13:56:25 -0700</delta_ts>
            <desc>EWS test 2</desc>
            <filename>bug-227245-20210626065624.patch</filename>
            <type>text/plain</type>
            <size>12150</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Mjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgxMmVhZjY4NGI0Nzcy
MGY5YWIzZjMxZTUyYjQyNjI0YmZjODE3OS4uNGE1ZjE0M2U0MTZlZDU5OTJhMWVmNmU0MmEzNzNh
ZDQxYjU3NTAxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTA2LTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgTVRM
U2hhcmVkVGV4dHVyZXMgaW4gV2ViWFIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzI0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk1OTE2MjA+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBTb21ldGltZXMs
IHRoZSBJT1N1cmZhY2UgcGFzc2VkIHRvIFdlYlhSIGNvbWUgZnJvbSBhIHNoYXJlZCBNVExUZXh0
dXJlLiBJbgorICAgICAgICB0aGlzIGNhc2Ugd2UgY2FuJ3QgdHJlYXQgdGhlIElPU3VyZmFjZSBk
YXRhIGFzIGEgcmVndWxhciBzaW5nbGUtcGxhbmUKKyAgICAgICAgaW1hZ2UuIEluc3RlYWQgd2Ug
c2hvdWxkIHVzZSBpdCB0byByZWNyZWF0ZSB0aGUgTVRMVGV4dHVyZSBhbmQgdGhlbgorICAgICAg
ICBiaW5kIHRoYXQgdG8gV2ViR0wncyBmcmFtZWJ1ZmZlci4KKworICAgICAgICAqIE1vZHVsZXMv
d2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHA6IFVzZSBzb21lIG5ldyBiaW5kaW5nIG1l
dGhvZHMgb24gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wKKyAgICAgICAgaWYgZ2l2ZW4gYSBzaGFy
ZWQgdGV4dHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OldlYlhST3BhcXVlRnJhbWVidWZmZXI6OnN0
YXJ0RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6ZW5k
RnJhbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW06IE5ldyBtZXRob2RzIHRvIGxpbmsgYW4KKyAgICAgICAgSU9TdXJmYWNlIHRv
IGEgR0wgdGV4dHVyZSwgZ29pbmcgdGhyb3VnaCBhIE1UTFNoYXJlZFRleHR1cmUuCisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YXR0YWNoSU9TdXJmYWNlVG9TaGFy
ZWRUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpk
ZXRhY2hJT1N1cmZhY2VGcm9tU2hhcmVkVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmg6CisgICAgICAgICogcGxhdGZv
cm0veHIvUGxhdGZvcm1YUi5oOiBBZGQgYSBuZXcgImlzU2hhcmVkIiBtZW1iZXIgdG8gTGF5ZXJE
YXRhCisgICAgICAgIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBub3JtYWwgSU9TdXJmYWNlcyBh
bmQgdGhvc2UgdGhhdCBjYW1lCisgICAgICAgIGZyb20gYSBzaGFyZWQgdGV4dHVyZS4KKyAgICAg
ICAgKFBsYXRmb3JtWFI6OkRldmljZTo6RnJhbWVEYXRhOjpMYXllckRhdGE6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0YTo6TGF5ZXJEYXRhOjpk
ZWNvZGUpOgorCiAyMDIxLTA2LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgRml4IG51bGwgY3Jhc2ggaW4gQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJDb2NvYTo6c3RhcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGM0ZjFiMzA2NmMz
OTk1OWE5M2QyNmNiMmM5ZjcxZjUwY2M2N2E3NDkuLjJiNDNlY2I1MWU4YjBhMjVkNjIxNmFkYWIw
ZGQwY2RkMmQxZGZkMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA2LTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgTVRMU2hhcmVkVGV4dHVyZXMgaW4gV2ViWFIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzI0NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzk1OTE2MjA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAg
ICBEZWZpbmUgTVRMU2hhcmVkVGV4dHVyZUhhbmRsZSdzIGluaXRXaXRoSU9TdXJmYWNlLgorCisg
ICAgICAgICogcGFsL3NwaS9jb2NvYS9NZXRhbFNQSS5oOgorCiAyMDIxLTA2LTI1ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZp
eCB0aGUgbWFjT1MgTW9udGVyZXkgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuY3BwCmluZGV4IDRhZjQ5ZGI2NDY5
ZjE1NjFlYWI0Njg1NWJhOTFiZjVlZGMyZTJkNmYuLjdlN2UyNzI2NzcyM2QzMTQxM2RiMDcyYmU3
NmFkOTc4YWZkZTdhNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcApAQCAtMTI1LDkgKzEyNSw2IEBAIHZvaWQg
V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6c3RhcnRGcmFtZShjb25zdCBQbGF0Zm9ybVhSOjpEZXZp
Y2U6OkZyYW1lRGF0YTo6TGF5CiAgICAgYXV0byBnQ0dMID0gc3RhdGljX2Nhc3Q8R3JhcGhpY3ND
b250ZXh0R0xPcGVuR0wqPihtX2NvbnRleHQuZ3JhcGhpY3NDb250ZXh0R0woKSk7CiAgICAgR0NH
TGVudW0gdGV4dHVyZVRhcmdldCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5nQnVm
ZmVyVGV4dHVyZVRhcmdldCgpOwogCi0gICAgYXV0byBzaXplID0gZGF0YS5zdXJmYWNlLT5zaXpl
KCk7Ci0gICAgaWYgKCFzaXplLndpZHRoKCkgfHwgIXNpemUuaGVpZ2h0KCkpCi0gICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghbV9vcGFxdWVUZXh0dXJlKQogICAgICAgICBtX29wYXF1ZVRleHR1
cmUgPSBnQ0dMLT5jcmVhdGVUZXh0dXJlKCk7CkBAIC0xMzksMTggKzEzNiwyOSBAQCB2b2lkIFdl
YlhST3BhcXVlRnJhbWVidWZmZXI6OnN0YXJ0RnJhbWUoY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNl
OjpGcmFtZURhdGE6OkxheQogICAgIGdDR0wtPnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwg
R0w6OlRFWFRVUkVfV1JBUF9ULCBHTDo6Q0xBTVBfVE9fRURHRSk7CiAKICAgICAvLyBUZWxsIHRo
ZSBHcmFwaGljc0NvbnRleHRHTCB0byB1c2UgdGhlIElPU3VyZmFjZSBhcyB0aGUgYmFja2luZyBz
dG9yZSBmb3IgbV9vcGFxdWVUZXh0dXJlLgotICAgIG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSA9
IGdDR0wtPmNyZWF0ZVBidWZmZXJBbmRBdHRhY2hJT1N1cmZhY2UodGV4dHVyZVRhcmdldCwgR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6OlBidWZmZXJBdHRhY2htZW50VXNhZ2U6OldyaXRlLCBHTDo6
QkdSQSwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCBHTDo6VU5TSUdORURfQllURSwgZGF0
YS5zdXJmYWNlLT5zdXJmYWNlKCksIDApOwotICAgIGlmICghbV9pb1N1cmZhY2VUZXh0dXJlSGFu
ZGxlICYmIG1fb3BhcXVlVGV4dHVyZSkgeworICAgIGlmIChkYXRhLmlzU2hhcmVkKSB7CisgICAg
ICAgIG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSA9IGdDR0wtPmF0dGFjaElPU3VyZmFjZVRvU2hh
cmVkVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCBkYXRhLnN1cmZhY2UuZ2V0KCkpOworICAgICAgICBt
X2lvU3VyZmFjZVRleHR1cmVIYW5kbGVJc1NoYXJlZCA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgYXV0byBzaXplID0gZGF0YS5zdXJmYWNlLT5zaXplKCk7CisgICAgICAgIGlmICghc2l6
ZS53aWR0aCgpIHx8ICFzaXplLmhlaWdodCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGUgPSBnQ0dMLT5jcmVhdGVQYnVmZmVyQW5kQXR0YWNo
SU9TdXJmYWNlKHRleHR1cmVUYXJnZXQsIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpQYnVmZmVy
QXR0YWNobWVudFVzYWdlOjpXcml0ZSwgR0w6OkJHUkEsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWln
aHQoKSwgR0w6OlVOU0lHTkVEX0JZVEUsIGRhdGEuc3VyZmFjZS0+c3VyZmFjZSgpLCAwKTsKKyAg
ICAgICAgbV9pb1N1cmZhY2VUZXh0dXJlSGFuZGxlSXNTaGFyZWQgPSBmYWxzZTsKKyAgICB9CisK
KyAgICBpZiAoIW1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSkgewogICAgICAgICBnQ0dMLT5kZWxl
dGVUZXh0dXJlKG1fb3BhcXVlVGV4dHVyZSk7CisgICAgICAgIG1fb3BhcXVlVGV4dHVyZSA9IDA7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBhc3N1bWlu
ZyBtdWx0aXNhbXBsaW5nIGlzIHR1cm5lZCBvZmYgYW5kIHdlJ3JlIHJlbmRlcmluZyBkaXJlY3Rs
eSBpbnRvIHRoZSBmcmFtZWJ1ZmZlci4KLQogICAgIC8vIE5vdyBzZXQgdXAgdGhlIGZyYW1lYnVm
ZmVyIHRvIHVzZSB0aGUgdGV4dHVyZSB0aGF0IHBvaW50cyB0byB0aGUgSU9TdXJmYWNlLiBUaGUg
ZGVwdGggYW5kCiAgICAgLy8gc3RlbmNpbCBidWZmZXJzIHdlcmUgYXR0YWNoZWQgYnkgc3RhcnRG
cmFtZS4KICAgICBnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChHTDo6RlJBTUVCVUZGRVIsIEdMOjpD
T0xPUl9BVFRBQ0hNRU5UMCwgR0w6OlRFWFRVUkVfMkQsIG1fb3BhcXVlVGV4dHVyZSwgMCk7CiAK
KyAgICAvLyBGSVhNRTogVGhpcyBpcyBhc3N1bWluZyBtdWx0aXNhbXBsaW5nIGlzIHR1cm5lZCBv
ZmYgYW5kIHdlJ3JlIHJlbmRlcmluZyBkaXJlY3RseSBpbnRvIHRoZSBmcmFtZWJ1ZmZlci4KKwog
ICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhlIGZyYW1lYnVmZmVyIHNob3VsZCBiZSAiY29tcGxldGUi
LgogICAgIEFTU0VSVChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdMOjpGUkFNRUJVRkZFUikg
PT0gR0w6OkZSQU1FQlVGRkVSX0NPTVBMRVRFKTsKICNlbHNlCkBAIC0xODcsNyArMTk1LDEyIEBA
IHZvaWQgV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlcjo6ZW5kRnJhbWUoKQogCiAgICAgaWYgKG1faW9T
dXJmYWNlVGV4dHVyZUhhbmRsZSkgewogICAgICAgICBhdXRvIGdDR0wgPSBzdGF0aWNfY2FzdDxH
cmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KCZnbCk7Ci0gICAgICAgIGdDR0wtPmRlc3Ryb3lQYnVm
ZmVyQW5kRGV0YWNoSU9TdXJmYWNlKG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSk7CisgICAgICAg
IGlmIChtX2lvU3VyZmFjZVRleHR1cmVIYW5kbGVJc1NoYXJlZCkKKyAgICAgICAgICAgIGdDR0wt
PmRldGFjaElPU3VyZmFjZUZyb21TaGFyZWRUZXh0dXJlKG1faW9TdXJmYWNlVGV4dHVyZUhhbmRs
ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdDR0wtPmRlc3Ryb3lQYnVmZmVyQW5kRGV0
YWNoSU9TdXJmYWNlKG1faW9TdXJmYWNlVGV4dHVyZUhhbmRsZSk7CisgICAgICAgIG1faW9TdXJm
YWNlVGV4dHVyZUhhbmRsZSA9IG51bGxwdHI7CisgICAgICAgIG1faW9TdXJmYWNlVGV4dHVyZUhh
bmRsZUlzU2hhcmVkID0gZmFsc2U7CiAgICAgfQogI2Vsc2UKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuaAppbmRleCBmNTA4
MGMyODIwY2FmN2ZiOWQwMjdjNzQ0ZWIyZDE4MDA3ZDQ4ZjliLi5kNzVlZWRiY2E2OThmZDkwNTM0
Yjg1MmU0MDYzMmYyMzc3Yzg2Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuaApAQCAtNzksNiArNzksNyBAQCBwcml2
YXRlOgogICAgIFBsYXRmb3JtR0xPYmplY3QgbV9vcGFxdWVUZXh0dXJlIHsgMCB9OwogI2lmIFVT
RShJT1NVUkZBQ0VfRk9SX1hSX0xBWUVSX0RBVEEpCiAgICAgdm9pZCogbV9pb1N1cmZhY2VUZXh0
dXJlSGFuZGxlIHsgbnVsbHB0ciB9OworICAgIGJvb2wgbV9pb1N1cmZhY2VUZXh0dXJlSGFuZGxl
SXNTaGFyZWQgeyBmYWxzZSB9OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9NZXRhbFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvTWV0YWxTUEkuaAppbmRleCBlMTRkOGFiYmI5ZmNhYzk5MWJiNWI2NmIzMDI4
ZGEyNWExMDZhZGJhLi5mMTY4MDkyNDBmMzE2NDdkODkxNmJmMjI4NGFjZjBjZjFmYzhhYTc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9NZXRhbFNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL01ldGFsU1BJLmgKQEAgLTI1LDEy
ICsyNSwxNSBAQAogCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAorI2ltcG9ydCA8TWV0
YWwvTVRMVGV4dHVyZV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxNZXRhbC9NZXRhbFByaXZhdGUuaD4K
IAogI2Vsc2UKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU09iamVjdC5oPgogCit0eXBlZGVmIHN0
cnVjdCBfX0lPU3VyZmFjZSAqSU9TdXJmYWNlUmVmOworCiBAcHJvdG9jb2wgTVRMRGV2aWNlU1BJ
IDxNVExEZXZpY2U+CiAtIChOU1N0cmluZyopdmVuZG9yTmFtZTsKIC0gKE5TU3RyaW5nKilmYW1p
bHlOYW1lOwpAQCAtNDEsNCArNDQsOCBAQAogLSAodm9pZClfcHVyZ2VEZXZpY2U7CiBAZW5kCiAK
K0BpbnRlcmZhY2UgTVRMU2hhcmVkVGV4dHVyZUhhbmRsZShQcml2YXRlKQorLSAoaW5zdGFuY2V0
eXBlKWluaXRXaXRoSU9TdXJmYWNlOihJT1N1cmZhY2VSZWYpaW9TdXJmYWNlIGxhYmVsOihOU1N0
cmluZyopbGFiZWw7CitAZW5kCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdM
T3BlbkdMQ29jb2EubW0KaW5kZXggZDJjYjM1YzM1ZjhhMTkxZGU5NTcyNTBhZWE5M2FmYWRkNjM4
ODYwZC4uNTllOGE1MTdlOTlkNWQ0MjJjN2RkNzUwY2Q1YTVmOGFjZTAwZDg3ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCkBAIC0zNyw2ICszNyw3IEBACiAj
aW1wb3J0ICJXZWJHTExheWVyLmgiCiAjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ0dCaXRtYXBDb250
ZXh0Lmg+CiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9N
ZXRhbFNQSS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrT2JqQ0V4Y2VwdGlvbnMuaD4KICNpbXBvcnQg
PHd0Zi9kYXJ3aW4vV2Vha0xpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
QEAgLTY4NCw2ICs2ODUsNTEgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZGVzdHJv
eVBidWZmZXJBbmREZXRhY2hJT1N1cmZhY2Uodm9pZCogaGFuZGxlKQogICAgIEVHTF9EZXN0cm95
U3VyZmFjZShkaXNwbGF5LCBoYW5kbGUpOwogfQogCit2b2lkKiBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6YXR0YWNoSU9TdXJmYWNlVG9TaGFyZWRUZXh0dXJlKEdDR0xlbnVtIHRhcmdldCwgSU9T
dXJmYWNlKiBzdXJmYWNlKQoreworICAgIGNvbnN0ZXhwciBFR0xpbnQgZW1wdHlBdHRyaWJ1dGVz
W10gPSB7IEVHTF9OT05FIH07CisKKyAgICAvLyBDcmVhdGUgYSBNVExUZXh0dXJlIG91dCBvZiB0
aGUgSU9TdXJmYWNlLgorICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHVzZSB0aGUgc2FtZSBkZXZp
Y2UgdGhhdCBBTkdMRSBpcyB1c2luZywgd2hpY2ggbWlnaHQgbm90IGJlIHRoZSBkZWZhdWx0Lgor
CisgICAgUmV0YWluUHRyPE1UTFNoYXJlZFRleHR1cmVIYW5kbGU+IGhhbmRsZSA9IGFkb3B0TlMo
W1tNVExTaGFyZWRUZXh0dXJlSGFuZGxlIGFsbG9jXSBpbml0V2l0aElPU3VyZmFjZTpzdXJmYWNl
LT5zdXJmYWNlKCkgbGFiZWw6QCJXZWJYUiJdKTsKKyAgICBpZiAoIWhhbmRsZSkgeworICAgICAg
ICBMT0coV2ViR0wsICJVbmFibGUgdG8gY3JlYXRlIGEgTVRMU2hhcmVkVGV4dHVyZUhhbmRsZSBm
cm9tIHRoZSBJT1N1cmZhY2UgaW4gYXR0YWNoSU9TdXJmYWNlVG9UZXh0dXJlLiIpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBpZiAoIWhhbmRsZS5nZXQoKS5kZXZpY2Up
IHsKKyAgICAgICAgTE9HKFdlYkdMLCAiTVRMU2hhcmVkVGV4dHVyZUhhbmRsZSBkb2VzIG5vdCBo
YXZlIGEgTWV0YWwgZGV2aWNlIGluIGF0dGFjaElPU3VyZmFjZVRvVGV4dHVyZS4iKTsKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgYXV0byB0ZXh0dXJlID0gYWRvcHROUyhb
aGFuZGxlLmdldCgpLmRldmljZSBuZXdTaGFyZWRUZXh0dXJlV2l0aEhhbmRsZTpoYW5kbGUuZ2V0
KCldKTsKKyAgICBpZiAoIXRleHR1cmUpIHsKKyAgICAgICAgTE9HKFdlYkdMLCAiVW5hYmxlIHRv
IGNyZWF0ZSBhIE1UTFNoYXJlZFRleHR1cmUgZnJvbSB0aGUgdGV4dHVyZSBoYW5kbGUgaW4gYXR0
YWNoSU9TdXJmYWNlVG9UZXh0dXJlLiIpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9
CisKKyAgICAvLyBGSVhNRTogRG9lcyB0aGUgdGV4dHVyZSBoYXZlIHRoZSBjb3JyZWN0IHVzYWdl
IG1vZGU/CisKKyAgICAvLyBDcmVhdGUgYW4gRUdMSW1hZ2Ugb3V0IG9mIHRoZSBNVExUZXh0dXJl
CisgICAgYXV0byBkaXNwbGF5ID0gcGxhdGZvcm1EaXNwbGF5KCk7CisgICAgYXV0byBlZ2xJbWFn
ZSA9IEVHTF9DcmVhdGVJbWFnZUtIUihkaXNwbGF5LCBFR0xfTk9fQ09OVEVYVCwgRUdMX01FVEFM
X1RFWFRVUkVfQU5HTEUsIHJlaW50ZXJwcmV0X2Nhc3Q8RUdMQ2xpZW50QnVmZmVyPih0ZXh0dXJl
LmdldCgpKSwgZW1wdHlBdHRyaWJ1dGVzKTsKKyAgICBpZiAoIWVnbEltYWdlKSB7CisgICAgICAg
IExPRyhXZWJHTCwgIlVuYWJsZSB0byBjcmVhdGUgYW4gRUdMSW1hZ2UgZnJvbSB0aGUgTWV0YWwg
aGFuZGxlIGluIGF0dGFjaElPU3VyZmFjZVRvVGV4dHVyZS4iKTsKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgfQorCisgICAgLy8gVGVsbCB0aGUgY3VycmVudGx5IGJvdW5kIHRleHR1cmUg
dG8gdXNlIHRoZSBFR0xJbWFnZS4KKyAgICBnbDo6RUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkRPRVMo
dGFyZ2V0LCBlZ2xJbWFnZSk7CisKKyAgICByZXR1cm4gZWdsSW1hZ2U7Cit9CisKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6OmRldGFjaElPU3VyZmFjZUZyb21TaGFyZWRUZXh0dXJlKHZv
aWQqIGhhbmRsZSkKK3sKKyAgICBhdXRvIGRpc3BsYXkgPSBwbGF0Zm9ybURpc3BsYXkoKTsKKyAg
ICBFR0xfRGVzdHJveUltYWdlS0hSKGRpc3BsYXksIGhhbmRsZSk7Cit9CiAKIGJvb2wgR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0w6OmlzR0xFUzJDb21wbGlhbnQoKSBjb25zdAogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dEdMT3BlbkdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0wuaAppbmRleCAxYmRkNWI0ZmIzMjExMmVhMTQyYmExNmFiZjYz
MTJlYmU1OGQ3ZmQ4Li5mYWY3YTE2NDgxMjVjZjU3ZjZjOGNhYTVhZGY3MjA2NDRiYjA4MDE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaApAQCAtNTM2LDYgKzUzNiw4IEBAIHB1
YmxpYzoKICAgICAvLyBkZXRhY2ggY2FsbCBiZWxvdy4KICAgICB2b2lkKiBjcmVhdGVQYnVmZmVy
QW5kQXR0YWNoSU9TdXJmYWNlKEdDR0xlbnVtIHRhcmdldCwgUGJ1ZmZlckF0dGFjaG1lbnRVc2Fn
ZSwgR0NHTGVudW0gaW50ZXJuYWxGb3JtYXQsIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhl
aWdodCwgR0NHTGVudW0gdHlwZSwgSU9TdXJmYWNlUmVmLCBHQ0dMdWludCBwbGFuZSk7CiAgICAg
dm9pZCBkZXN0cm95UGJ1ZmZlckFuZERldGFjaElPU3VyZmFjZSh2b2lkKiBoYW5kbGUpOworICAg
IHZvaWQqIGF0dGFjaElPU3VyZmFjZVRvU2hhcmVkVGV4dHVyZShHQ0dMZW51bSB0YXJnZXQsIElP
U3VyZmFjZSopOworICAgIHZvaWQgZGV0YWNoSU9TdXJmYWNlRnJvbVNoYXJlZFRleHR1cmUodm9p
ZCogaGFuZGxlKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0veHIvUGxhdGZvcm1YUi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIv
UGxhdGZvcm1YUi5oCmluZGV4IDI0YTU4ZjJlNmIzYTMwOGJmMmI1OThlY2MzNWJhZWRlYjRkYjFi
ZWIuLmZjMjRmOGE0ZjYxZjgxMzQ4ZGE2NjRhMTBkYWQ0ODBhN2VjMjkzMjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgKQEAgLTE3Myw2ICsxNzMsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHN0cnVjdCBMYXllckRhdGEgewogI2lmIFVTRShJT1NVUkZBQ0VfRk9SX1hSX0xB
WUVSX0RBVEEpCiAgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNl
PiBzdXJmYWNlOworICAgICAgICAgICAgYm9vbCBpc1NoYXJlZCB7IGZhbHNlIH07CiAjZWxzZQog
ICAgICAgICAgICAgUGxhdGZvcm1HTE9iamVjdCBvcGFxdWVUZXh0dXJlIHsgMCB9OwogI2VuZGlm
CkBAIC00NDIsNiArNDQzLDcgQEAgdm9pZCBEZXZpY2U6OkZyYW1lRGF0YTo6TGF5ZXJEYXRhOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBVU0UoSU9TVVJGQUNFX0ZPUl9YUl9M
QVlFUl9EQVRBKQogICAgIFdURjo6TWFjaFNlbmRSaWdodCBzdXJmYWNlU2VuZFJpZ2h0ID0gc3Vy
ZmFjZSA/IHN1cmZhY2UtPmNyZWF0ZVNlbmRSaWdodCgpIDogV1RGOjpNYWNoU2VuZFJpZ2h0KCk7
CiAgICAgZW5jb2RlciA8PCBzdXJmYWNlU2VuZFJpZ2h0OworICAgIGVuY29kZXIgPDwgaXNTaGFy
ZWQ7CiAjZWxzZQogICAgIGVuY29kZXIgPDwgb3BhcXVlVGV4dHVyZTsKICNlbmRpZgpAQCAtNDU2
LDYgKzQ1OCw4IEBAIHN0ZDo6b3B0aW9uYWw8RGV2aWNlOjpGcmFtZURhdGE6OkxheWVyRGF0YT4g
RGV2aWNlOjpGcmFtZURhdGE6OkxheWVyRGF0YTo6ZGVjb2RlCiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShzdXJmYWNlU2VuZFJpZ2h0KSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAg
ICBsYXllckRhdGEuc3VyZmFjZSA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlRnJvbVNlbmRS
aWdodChXVEZNb3ZlKHN1cmZhY2VTZW5kUmlnaHQpLCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9y
U3BhY2U6OlNSR0IoKSk7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShsYXllckRhdGEuaXNTaGFy
ZWQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogI2Vsc2UKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGxheWVyRGF0YS5vcGFxdWVUZXh0dXJlKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>