<?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>198269</bug_id>
          
          <creation_ts>2019-05-26 22:09:40 -0700</creation_ts>
          <short_desc>Implement MappedFileData for Windows</short_desc>
          <delta_ts>2019-07-08 12:10:04 -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>Web Template Framework</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>chris.reid</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1539325</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-05-26 22:09:40 -0700</bug_when>
    <thetext>Implement MappedFileData for Windows.
MappedFileData has been introduced in Bug 144192.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539326</commentid>
    <comment_count>1</comment_count>
      <attachid>370666</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-05-26 22:10:00 -0700</bug_when>
    <thetext>Created attachment 370666
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550027</commentid>
    <comment_count>2</comment_count>
      <attachid>373420</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-07-03 15:15:05 -0700</bug_when>
    <thetext>Created attachment 373420
Patch

It looks like the only FileSystem Mapping test that was failing was MappingExistingEmptyFile but it passes after adding the `if (!size) {` check from the mmap implementation.

I also moved the mmap implementation back to FileSystem.cpp from FileSystemPOSIX. It would be nice to split it up to posix and glib implementations.

The only FileSystem tests failing on windows now are FileSystemTest.UnicodeDirectoryName and FileSystemTest.GetFileMetadataSymlink.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550037</commentid>
    <comment_count>3</comment_count>
      <attachid>373420</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-03 15:20:36 -0700</bug_when>
    <thetext>Comment on attachment 373420
Patch

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

&gt; Source/WTF/wtf/FileSystem.cpp:277
&gt; +#if HAVE(MMAP)

Should have a blank line after this.

&gt; Source/WTF/wtf/FileSystem.cpp:326
&gt; +#endif

Should have a blank line before this.

&gt; Source/WTF/wtf/FileSystem.h:36
&gt; +#include &lt;wtf/Noncopyable.h&gt;

See comment below.

&gt; Source/WTF/wtf/FileSystem.h:196
&gt; +    WTF_MAKE_NONCOPYABLE(MappedFileData);

Given my understanding of C++, this should not be necessary. Defining a move constructor and a move assignment operator as this class does should implicitly cause the copy constructor and copy assignment operator to not be generated. So there should be no additional need to use WTF_MAKE_NOCOPYABLE.

Was there some concrete problem that this fixed on Windows? Maybe my understanding of C++ is wrong, or maybe this works around a bug in the Windows C++ compiler.

I’d prefer to not make the change unless it’s required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550881</commentid>
    <comment_count>4</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-07-08 11:11:24 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 373420 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373420&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/FileSystem.cpp:277
&gt; &gt; +#if HAVE(MMAP)
&gt; 
&gt; Should have a blank line after this.
&gt; 

Will add.

&gt; &gt; Source/WTF/wtf/FileSystem.cpp:326
&gt; &gt; +#endif
&gt; 
&gt; Should have a blank line before this.
&gt; 

Will add.

&gt; &gt; Source/WTF/wtf/FileSystem.h:36
&gt; &gt; +#include &lt;wtf/Noncopyable.h&gt;
&gt; 
&gt; See comment below.
&gt; 
&gt; &gt; Source/WTF/wtf/FileSystem.h:196
&gt; &gt; +    WTF_MAKE_NONCOPYABLE(MappedFileData);
&gt; 
&gt; Given my understanding of C++, this should not be necessary. Defining a move
&gt; constructor and a move assignment operator as this class does should
&gt; implicitly cause the copy constructor and copy assignment operator to not be
&gt; generated. So there should be no additional need to use WTF_MAKE_NOCOPYABLE.
&gt; 
&gt; Was there some concrete problem that this fixed on Windows? Maybe my
&gt; understanding of C++ is wrong, or maybe this works around a bug in the
&gt; Windows C++ compiler.
&gt; 
&gt; I’d prefer to not make the change unless it’s required.

There doesn&apos;t seem to be any compiler issues without the WTF_MAKE_NOCOPYABLE in Windows.
I&apos;ll take those changes out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550888</commentid>
    <comment_count>5</comment_count>
      <attachid>373645</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-07-08 11:18:47 -0700</bug_when>
    <thetext>Created attachment 373645
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550890</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-08 11:20:42 -0700</bug_when>
    <thetext>Attachment 373645 did not pass style-queue:


ERROR: Source/JavaScriptCore/jsc.cpp:1015:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jsc.cpp:1083:  Missing space inside { }.  [whitespace/braces] [5]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550893</commentid>
    <comment_count>7</comment_count>
      <attachid>373647</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-07-08 11:24:58 -0700</bug_when>
    <thetext>Created attachment 373647
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550896</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-08 11:27:53 -0700</bug_when>
    <thetext>Attachment 373647 did not pass style-queue:


ERROR: Source/JavaScriptCore/jsc.cpp:1015:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jsc.cpp:1083:  Missing space inside { }.  [whitespace/braces] [5]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550899</commentid>
    <comment_count>9</comment_count>
      <attachid>373649</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-07-08 11:32:52 -0700</bug_when>
    <thetext>Created attachment 373649
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550901</commentid>
    <comment_count>10</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-07-08 11:34:57 -0700</bug_when>
    <thetext>land-safely was picking up other commits in my branch, that should be sorted out now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550920</commentid>
    <comment_count>11</comment_count>
      <attachid>373649</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-08 12:09:30 -0700</bug_when>
    <thetext>Comment on attachment 373649
Patch for landing

Clearing flags on attachment: 373649

Committed r247225: &lt;https://trac.webkit.org/changeset/247225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550921</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-08 12:09:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370666</attachid>
            <date>2019-05-26 22:10:00 -0700</date>
            <delta_ts>2019-05-26 22:10:00 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>map.diff</filename>
            <type>text/plain</type>
            <size>5375</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwIGIvU291cmNlL1dURi93
dGYvRmlsZVN5c3RlbS5jcHAKaW5kZXggYmE0OWIxZTc3YTcuLjUyMzdmYjUzODg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9G
aWxlU3lzdGVtLmNwcApAQCAtMjc0LDYyICsyNzQsNiBAQCBib29sIGV4Y2x1ZGVGcm9tQmFja3Vw
KGNvbnN0IFN0cmluZyYpCiAKICNlbmRpZgogCi1NYXBwZWRGaWxlRGF0YTo6fk1hcHBlZEZpbGVE
YXRhKCkKLXsKLSNpZiAhT1MoV0lORE9XUykKLSAgICBpZiAoIW1fZmlsZURhdGEpCi0gICAgICAg
IHJldHVybjsKLSAgICBtdW5tYXAobV9maWxlRGF0YSwgbV9maWxlU2l6ZSk7Ci0jZW5kaWYKLX0K
LQotTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgs
IGJvb2wmIHN1Y2Nlc3MpCi17Ci0jaWYgT1MoV0lORE9XUykKLSAgICAvLyBGSVhNRTogSW1wbGVt
ZW50IG1hcHBpbmcKLSAgICBzdWNjZXNzID0gZmFsc2U7Ci0jZWxzZQotICAgIENTdHJpbmcgZnNS
ZXAgPSBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oZmlsZVBhdGgpOwotICAgIGludCBmZCA9ICFm
c1JlcC5pc051bGwoKSA/IG9wZW4oZnNSZXAuZGF0YSgpLCBPX1JET05MWSkgOiAtMTsKLSAgICBp
ZiAoZmQgPCAwKSB7Ci0gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIHN0cnVjdCBzdGF0IGZpbGVTdGF0OwotICAgIGlmIChmc3RhdChmZCwgJmZp
bGVTdGF0KSkgewotICAgICAgICBjbG9zZShmZCk7Ci0gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVuc2lnbmVkIHNpemU7Ci0gICAgaWYgKCFX
VEY6OmNvbnZlcnRTYWZlbHkoZmlsZVN0YXQuc3Rfc2l6ZSwgc2l6ZSkpIHsKLSAgICAgICAgY2xv
c2UoZmQpOwotICAgICAgICBzdWNjZXNzID0gZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBpZiAoIXNpemUpIHsKLSAgICAgICAgY2xvc2UoZmQpOwotICAgICAgICBzdWNjZXNz
ID0gdHJ1ZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZvaWQqIGRhdGEgPSBtbWFw
KDAsIHNpemUsIFBST1RfUkVBRCwgTUFQX0ZJTEUgfCBNQVBfU0hBUkVELCBmZCwgMCk7Ci0gICAg
Y2xvc2UoZmQpOwotCi0gICAgaWYgKGRhdGEgPT0gTUFQX0ZBSUxFRCkgewotICAgICAgICBzdWNj
ZXNzID0gZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBzdWNjZXNzID0gdHJ1
ZTsKLSAgICBtX2ZpbGVEYXRhID0gZGF0YTsKLSAgICBtX2ZpbGVTaXplID0gc2l6ZTsKLSNlbmRp
ZgotfQotCiBQbGF0Zm9ybUZpbGVIYW5kbGUgb3BlbkFuZExvY2tGaWxlKGNvbnN0IFN0cmluZyYg
cGF0aCwgRmlsZU9wZW5Nb2RlIG9wZW5Nb2RlLCBPcHRpb25TZXQ8RmlsZUxvY2tNb2RlPiBsb2Nr
TW9kZSkKIHsKICAgICBhdXRvIGhhbmRsZSA9IG9wZW5GaWxlKHBhdGgsIG9wZW5Nb2RlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XVEYvd3RmL0Zp
bGVTeXN0ZW0uaAppbmRleCAzMmZlNzZkZjQwMC4uMzJmYjBlYjNjOTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVt
LmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8dXRpbGl0
eT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAj
aW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+CkBAIC0xOTIsNiArMTkzLDcgQEAgV1RGX0VYUE9SVF9Q
UklWQVRFIGJvb2wgaXNTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpOwog
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgbWFrZVNhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoY29u
c3QgU3RyaW5nJik7CiAKIGNsYXNzIE1hcHBlZEZpbGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNYXBwZWRGaWxlRGF0YSk7CiBwdWJsaWM6CiAgICAgTWFwcGVkRmlsZURhdGEoKSB7
IH0KICAgICBNYXBwZWRGaWxlRGF0YShNYXBwZWRGaWxlRGF0YSYmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL3Bvc2l4L0ZpbGVTeXN0ZW1QT1NJWC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9w
b3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCmluZGV4IGFkM2M5MjYxNTNmLi5iNmE1ZjA4ZjFkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCkBAIC01MDgsNSArNTA4
LDU0IEBAIFN0cmluZyByZWFsUGF0aChjb25zdCBTdHJpbmcmIGZpbGVQYXRoKQogICAgIHJldHVy
biByZXN1bHQgPyBTdHJpbmc6OmZyb21VVEY4KHJlc3VsdCkgOiBmaWxlUGF0aDsKIH0KIAorTWFw
cGVkRmlsZURhdGE6On5NYXBwZWRGaWxlRGF0YSgpCit7CisgICAgaWYgKCFtX2ZpbGVEYXRhKQor
ICAgICAgICByZXR1cm47CisgICAgbXVubWFwKG1fZmlsZURhdGEsIG1fZmlsZVNpemUpOworfQor
CitNYXBwZWRGaWxlRGF0YTo6TWFwcGVkRmlsZURhdGEoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwg
Ym9vbCYgc3VjY2VzcykKK3sKKyAgICBDU3RyaW5nIGZzUmVwID0gZmlsZVN5c3RlbVJlcHJlc2Vu
dGF0aW9uKGZpbGVQYXRoKTsKKyAgICBpbnQgZmQgPSAhZnNSZXAuaXNOdWxsKCkgPyBvcGVuKGZz
UmVwLmRhdGEoKSwgT19SRE9OTFkpIDogLTE7CisgICAgaWYgKGZkIDwgMCkgeworICAgICAgICBz
dWNjZXNzID0gZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzdHJ1Y3Qgc3Rh
dCBmaWxlU3RhdDsKKyAgICBpZiAoZnN0YXQoZmQsICZmaWxlU3RhdCkpIHsKKyAgICAgICAgY2xv
c2UoZmQpOworICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICB1bnNpZ25lZCBzaXplOworICAgIGlmICghV1RGOjpjb252ZXJ0U2FmZWx5KGZpbGVT
dGF0LnN0X3NpemUsIHNpemUpKSB7CisgICAgICAgIGNsb3NlKGZkKTsKKyAgICAgICAgc3VjY2Vz
cyA9IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFzaXplKSB7Cisg
ICAgICAgIGNsb3NlKGZkKTsKKyAgICAgICAgc3VjY2VzcyA9IHRydWU7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICB2b2lkKiBkYXRhID0gbW1hcCgwLCBzaXplLCBQUk9UX1JFQUQsIE1B
UF9GSUxFIHwgTUFQX1NIQVJFRCwgZmQsIDApOworICAgIGNsb3NlKGZkKTsKKworICAgIGlmIChk
YXRhID09IE1BUF9GQUlMRUQpIHsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgc3VjY2VzcyA9IHRydWU7CisgICAgbV9maWxlRGF0YSA9IGRh
dGE7CisgICAgbV9maWxlU2l6ZSA9IHNpemU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEZpbGVTeXN0
ZW1JbXBsCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dp
bi9GaWxlU3lzdGVtV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNw
cAppbmRleCBlNDczMTU3ZjIyOC4uNTkxMGRhMmY3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL3dpbi9GaWxlU3lzdGVtV2luLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vRmlsZVN5
c3RlbVdpbi5jcHAKQEAgLTU4OCw1ICs1ODgsMzUgQEAgYm9vbCBkZWxldGVOb25FbXB0eURpcmVj
dG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeVBhdGgpCiAgICAgcmV0dXJuICFTSEZpbGVPcGVy
YXRpb24oJmRlbGV0ZU9wZXJhdGlvbik7CiB9CiAKK01hcHBlZEZpbGVEYXRhOjp+TWFwcGVkRmls
ZURhdGEoKQoreworICAgIGlmICghbV9maWxlRGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIFVu
bWFwVmlld09mRmlsZShtX2ZpbGVEYXRhKTsKK30KKworTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZp
bGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGJvb2wmIHN1Y2Nlc3MpCit7CisgICAgc3Vj
Y2VzcyA9IGZhbHNlOworICAgIGF1dG8gZmlsZSA9IENyZWF0ZUZpbGUoZmlsZVBhdGgud2lkZUNo
YXJhY3RlcnMoKS5kYXRhKCksIEdFTkVSSUNfUkVBRCwgMCwgbnVsbHB0ciwgT1BFTl9FWElTVElO
RywgRklMRV9BVFRSSUJVVEVfTk9STUFMLCBudWxscHRyKTsKKyAgICBpZiAoZmlsZSA9PSBJTlZB
TElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAgcmV0dXJuOworICAgIGxvbmcgbG9uZyBzaXplOwor
ICAgIGlmICghZ2V0RmlsZVNpemUoZmlsZSwgc2l6ZSkgfHwgc2l6ZSA+IHN0ZDo6bnVtZXJpY19s
aW1pdHM8c2l6ZV90Pjo6bWF4KCkgfHwgc2l6ZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8ZGVjbHR5
cGUobV9maWxlU2l6ZSk+OjptYXgoKSkgeworICAgICAgICBDbG9zZUhhbmRsZShmaWxlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBhdXRvIG1hcHBpbmcgPSBDcmVhdGVGaWxlTWFwcGlu
ZyhmaWxlLCBudWxscHRyLCBQQUdFX1JFQURPTkxZLCAwLCAwLCBudWxscHRyKTsKKyAgICBDbG9z
ZUhhbmRsZShmaWxlKTsKKyAgICBpZiAoIW1hcHBpbmcpCisgICAgICAgIHJldHVybjsKKyAgICBt
X2ZpbGVEYXRhID0gTWFwVmlld09mRmlsZShtYXBwaW5nLCBGSUxFX01BUF9SRUFELCAwLCAwLCBz
aXplKTsKKyAgICBDbG9zZUhhbmRsZShtYXBwaW5nKTsKKyAgICBpZiAoIW1fZmlsZURhdGEpCisg
ICAgICAgIHJldHVybjsKKyAgICBtX2ZpbGVTaXplID0gc2l6ZTsKKyAgICBzdWNjZXNzID0gdHJ1
ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgRmlsZVN5c3RlbUltcGwKIH0gLy8gbmFtZXNwYWNlIFdU
RgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggNGFhN2NkOTUwNjEuLjQ2
MzZkY2NlMThjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNt
YWtlCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UKQEAgLTE3LDcg
KzE3LDYgQEAgc2V0KHRlc3RfbWFpbl9TT1VSQ0VTCiApCiAKICMgVGVzdFdURgotbGlzdChSRU1P
VkVfSVRFTSBUZXN0V1RGX1NPVVJDRVMgVGVzdHMvV1RGL0ZpbGVTeXN0ZW0uY3BwKQogbGlzdChB
UFBFTkQgVGVzdFdURl9TT1VSQ0VTCiAgICAgJHt0ZXN0X21haW5fU09VUkNFU30KICAgICB3aW4v
VXRpbGl0aWVzV2luLmNwcAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373420</attachid>
            <date>2019-07-03 15:15:05 -0700</date>
            <delta_ts>2019-07-08 11:19:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>mmap.diff</filename>
            <type>text/plain</type>
            <size>4780</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYzJmMzA1ZTc3MDAuLjk5MzRiNmFiYTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5
LTA3LTAzICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgTWFwcGVkRmlsZURhdGEgZm9yIFdpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODI2OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEZ1amlpIEhp
cm9ub3JpLgorCisgICAgICAgIEFkZGluZyB3aW5kb3dzIGltcGxlbWVudGF0aW9ucyBmb3IgTWFw
cGVkRmlsZURhdGEgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3JzLgorCisgICAgICAgICogd3Rm
L0ZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAqIHd0Zi9GaWxlU3lzdGVtLmg6CisgICAgICAgICog
d3RmL3dpbi9GaWxlU3lzdGVtV2luLmNwcDoKKwogMjAxOS0wNy0wMSAgUGhpbGlwcGUgTm9ybWFu
ZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQ2Fubm90IHBs
YXkgQmVydCdzIEJ5dGVzIHJhZGlvIHN0cmVhbSBmcm9tIGh0dHA6Ly9yYWRpby5kb3MubmwvCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L0ZpbGVTeXN0ZW0uY3BwCmluZGV4IGJhNDliMWU3N2E3Li5kYWVhMTM5NTU4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmls
ZVN5c3RlbS5jcHAKQEAgLTI3NCwyMSArMjc0LDE2IEBAIGJvb2wgZXhjbHVkZUZyb21CYWNrdXAo
Y29uc3QgU3RyaW5nJikKIAogI2VuZGlmCiAKKyNpZiBIQVZFKE1NQVApCiBNYXBwZWRGaWxlRGF0
YTo6fk1hcHBlZEZpbGVEYXRhKCkKIHsKLSNpZiAhT1MoV0lORE9XUykKICAgICBpZiAoIW1fZmls
ZURhdGEpCiAgICAgICAgIHJldHVybjsKICAgICBtdW5tYXAobV9maWxlRGF0YSwgbV9maWxlU2l6
ZSk7Ci0jZW5kaWYKIH0KIAogTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0
cmluZyYgZmlsZVBhdGgsIGJvb2wmIHN1Y2Nlc3MpCiB7Ci0jaWYgT1MoV0lORE9XUykKLSAgICAv
LyBGSVhNRTogSW1wbGVtZW50IG1hcHBpbmcKLSAgICBzdWNjZXNzID0gZmFsc2U7Ci0jZWxzZQog
ICAgIENTdHJpbmcgZnNSZXAgPSBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oZmlsZVBhdGgpOwog
ICAgIGludCBmZCA9ICFmc1JlcC5pc051bGwoKSA/IG9wZW4oZnNSZXAuZGF0YSgpLCBPX1JET05M
WSkgOiAtMTsKICAgICBpZiAoZmQgPCAwKSB7CkBAIC0zMjcsOCArMzIyLDggQEAgTWFwcGVkRmls
ZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGJvb2wmIHN1Y2Nl
c3MpCiAgICAgc3VjY2VzcyA9IHRydWU7CiAgICAgbV9maWxlRGF0YSA9IGRhdGE7CiAgICAgbV9m
aWxlU2l6ZSA9IHNpemU7Ci0jZW5kaWYKIH0KKyNlbmRpZgogCiBQbGF0Zm9ybUZpbGVIYW5kbGUg
b3BlbkFuZExvY2tGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgRmlsZU9wZW5Nb2RlIG9wZW5Nb2Rl
LCBPcHRpb25TZXQ8RmlsZUxvY2tNb2RlPiBsb2NrTW9kZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAppbmRl
eCA1MmVkODA3NGE1MS4uMWZlZGVhMTRjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zp
bGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8dXRpbGl0eT4KICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dh
bGxUaW1lLmg+CkBAIC0xOTIsNiArMTkzLDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNT
YWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpOwogV1RGX0VYUE9SVF9QUklW
QVRFIHZvaWQgbWFrZVNhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoY29uc3QgU3RyaW5nJik7CiAK
IGNsYXNzIE1hcHBlZEZpbGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXBwZWRG
aWxlRGF0YSk7CiBwdWJsaWM6CiAgICAgTWFwcGVkRmlsZURhdGEoKSB7IH0KICAgICBNYXBwZWRG
aWxlRGF0YShNYXBwZWRGaWxlRGF0YSYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dp
bi9GaWxlU3lzdGVtV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNw
cAppbmRleCA1MTI3NTMwMDJlNy4uOGZlMDE3MTVjZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL3dpbi9GaWxlU3lzdGVtV2luLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vRmlsZVN5
c3RlbVdpbi5jcHAKQEAgLTU5OSw1ICs1OTksNDQgQEAgYm9vbCBkZWxldGVOb25FbXB0eURpcmVj
dG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeVBhdGgpCiAgICAgcmV0dXJuICFTSEZpbGVPcGVy
YXRpb24oJmRlbGV0ZU9wZXJhdGlvbik7CiB9CiAKK01hcHBlZEZpbGVEYXRhOjp+TWFwcGVkRmls
ZURhdGEoKQoreworICAgIGlmICghbV9maWxlRGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIFVu
bWFwVmlld09mRmlsZShtX2ZpbGVEYXRhKTsKK30KKworTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZp
bGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGJvb2wmIHN1Y2Nlc3MpCit7CisgICAgc3Vj
Y2VzcyA9IGZhbHNlOworICAgIGF1dG8gZmlsZSA9IENyZWF0ZUZpbGUoZmlsZVBhdGgud2lkZUNo
YXJhY3RlcnMoKS5kYXRhKCksIEdFTkVSSUNfUkVBRCwgMCwgbnVsbHB0ciwgT1BFTl9FWElTVElO
RywgRklMRV9BVFRSSUJVVEVfTk9STUFMLCBudWxscHRyKTsKKyAgICBpZiAoZmlsZSA9PSBJTlZB
TElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbG9uZyBsb25nIHNpemU7
CisgICAgaWYgKCFnZXRGaWxlU2l6ZShmaWxlLCBzaXplKSB8fCBzaXplID4gc3RkOjpudW1lcmlj
X2xpbWl0czxzaXplX3Q+OjptYXgoKSB8fCBzaXplID4gc3RkOjpudW1lcmljX2xpbWl0czxkZWNs
dHlwZShtX2ZpbGVTaXplKT46Om1heCgpKSB7CisgICAgICAgIENsb3NlSGFuZGxlKGZpbGUpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFzaXplKSB7CisgICAgICAgIENsb3Nl
SGFuZGxlKGZpbGUpOworICAgICAgICBzdWNjZXNzID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGF1dG8gbWFwcGluZyA9IENyZWF0ZUZpbGVNYXBwaW5nKGZpbGUsIG51bGxw
dHIsIFBBR0VfUkVBRE9OTFksIDAsIDAsIG51bGxwdHIpOworICAgIENsb3NlSGFuZGxlKGZpbGUp
OworICAgIGlmICghbWFwcGluZykKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9maWxlRGF0YSA9
IE1hcFZpZXdPZkZpbGUobWFwcGluZywgRklMRV9NQVBfUkVBRCwgMCwgMCwgc2l6ZSk7CisgICAg
Q2xvc2VIYW5kbGUobWFwcGluZyk7CisgICAgaWYgKCFtX2ZpbGVEYXRhKQorICAgICAgICByZXR1
cm47CisgICAgbV9maWxlU2l6ZSA9IHNpemU7CisgICAgc3VjY2VzcyA9IHRydWU7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIEZpbGVTeXN0ZW1JbXBsCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiZGY5YmIzNTgwNC4u
ZTQ3MDY3Y2ZlZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0wNy0wMyAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNo
cmlzLnJlaWRAc29ueS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IE1hcHBlZEZpbGVEYXRhIGZv
ciBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTgyNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2U6CisKIDIwMTktMDctMDEgIFBoaWxp
cHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IEdUSyBhMTF5IHRlc3RzIGZpeCBhZnRlciByMjQ2OTU4CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNtYWtlIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9y
bVdpbi5jbWFrZQppbmRleCAwYzQ4Y2YwNGZlNS4uMzQ5MzM0ODI2ZmEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMTcsNyArMTcsNiBAQCBzZXQodGVzdF9tYWluX1NP
VVJDRVMKICkKIAogIyBUZXN0V1RGCi1saXN0KFJFTU9WRV9JVEVNIFRlc3RXVEZfU09VUkNFUyBU
ZXN0cy9XVEYvRmlsZVN5c3RlbS5jcHApCiBsaXN0KEFQUEVORCBUZXN0V1RGX1NPVVJDRVMKICAg
ICAke3Rlc3RfbWFpbl9TT1VSQ0VTfQogICAgIHdpbi9VdGlsaXRpZXNXaW4uY3BwCg==
</data>
<flag name="review"
          id="389196"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373645</attachid>
            <date>2019-07-08 11:18:47 -0700</date>
            <delta_ts>2019-07-08 11:25:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-198269-20190708111846.patch</filename>
            <type>text/plain</type>
            <size>12651</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggOTFjNGM3NWRiODY2MDZkZGVhNGI5NzcyZjEzNDNjMzQ0ZjhjOTBkMy4uYmEwZGFj
NDBlN2IxZWU1MWRmMzVhMDVjODg4ZjUxZGEyMjhmMzJmNCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMjI0LDcgKzIyNCw3IEBAIGFkZF9jdXN0b21fY29tbWFuZCgKIGlm
IChXVEZfT1NfTUFDX09TX1gpCiAgICAgZXhlY3V0ZV9wcm9jZXNzKENPTU1BTkQgYmFzaCAtYyAi
ZGF0ZSArJyVzJyIgT1VUUFVUX1ZBUklBQkxFIEJVSUxEX1RJTUUgT1VUUFVUX1NUUklQX1RSQUlM
SU5HX1dISVRFU1BBQ0UpCiBlbHNlICgpCi0gICAgc2V0KEJVSUxEX1RJTUUgMCkKKyAgICBzdHJp
bmcoVElNRVNUQU1QIEJVSUxEX1RJTUUgIiVzIikgIyBtaWdodCBub3Qgd29yayBmb3IgaW5jcmVt
ZW50YWwgYnVpbGRzCiBlbmRpZiAoKQogCiBmaWxlKFdSSVRFICR7SmF2YVNjcmlwdENvcmVfREVS
SVZFRF9TT1VSQ0VTX0RJUn0vQnl0ZWNvZGVDYWNoZVZlcnNpb24uaCAiI2RlZmluZSBKU0NfQllU
RUNPREVfQ0FDSEVfVkVSU0lPTiAke0JVSUxEX1RJTUV9XG4iKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApp
bmRleCBkNGZhMjIyYzcyMWNmNGE3ZTcxYWQ0Nzg2Zjk4NDExMTI0MWUxODUyLi5kODJmZGY2ODgx
ZTc5ZmU4NDJkODlkOTczNjczODFmODQwN2E1YzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAt
ODUsNiArODUsNyBAQAogI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogI2luY2x1ZGUgPHd0Zi9Cb3gu
aD4KICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CisjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0
ZW0uaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQ
cmVzc3VyZUhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgpAQCAtMTAw
Myw3ICsxMDA0LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb21taXRDYWNoZWRCeXRlY29kZSgp
IGNvbnN0IG92ZXJyaWRlCiAgICAgewotI2lmIE9TKERBUldJTikKICAgICAgICAgaWYgKCFjYWNo
ZUVuYWJsZWQoKSB8fCAhbV9jYWNoZWRCeXRlY29kZSB8fCAhbV9jYWNoZWRCeXRlY29kZS0+aGFz
VXBkYXRlcygpKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xMDEyLDMyICsxMDEyLDMxIEBA
IHB1YmxpYzoKICAgICAgICAgfSk7CiAKICAgICAgICAgU3RyaW5nIGZpbGVuYW1lID0gY2FjaGVQ
YXRoKCk7Ci0gICAgICAgIGludCBmZCA9IG9wZW4oZmlsZW5hbWUudXRmOCgpLmRhdGEoKSwgT19D
UkVBVCB8IE9fV1JPTkxZIHwgT19UUlVOQyB8IE9fRVhMT0NLIHwgT19OT05CTE9DSywgMDY2Nik7
Ci0gICAgICAgIGlmIChmZCA9PSAtMSkKKyAgICAgICAgLy9pbnQgZmQgPSBvcGVuKGZpbGVuYW1l
LnV0ZjgoKS5kYXRhKCksIE9fQ1JFQVQgfCBPX1dST05MWSB8IE9fVFJVTkMgfCBPX0VYTE9DSyB8
IE9fTk9OQkxPQ0ssIDA2NjYpOworICAgICAgICBhdXRvIGxvY2tNb2RlID0gT3B0aW9uU2V0PEZp
bGVTeXN0ZW06OkZpbGVMb2NrTW9kZT4oRmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlOjpFeGNsdXNp
dmUpIHwgRmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlOjpOb25ibG9ja2luZzsKKyAgICAgICAgYXV0
byBmZCA9IEZpbGVTeXN0ZW06Om9wZW5BbmRMb2NrRmlsZShmaWxlbmFtZSwgRmlsZVN5c3RlbTo6
RmlsZU9wZW5Nb2RlOjpXcml0ZSwgbG9ja01vZGUpOyAvLyBPX1RSVU5DPworICAgICAgICBpZiAo
IUZpbGVTeXN0ZW06OmlzSGFuZGxlVmFsaWQoZmQpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIGF1dG8gY2xvc2VGRCA9IG1ha2VTY29wZUV4aXQoWyZdIHsKLSAgICAgICAgICAgIGNs
b3NlKGZkKTsKKyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShmZCk7CiAgICAgICAg
IH0pOwogCi0gICAgICAgIHN0cnVjdCBzdGF0IHNiOwotICAgICAgICBpbnQgcmVzID0gZnN0YXQo
ZmQsICZzYik7Ci0gICAgICAgIHNpemVfdCBzaXplID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihzYi5z
dF9zaXplKTsKLSAgICAgICAgaWYgKHJlcyB8fCBzaXplICE9IG1fY2FjaGVkQnl0ZWNvZGUtPnNp
emUoKSkgeworICAgICAgICBsb25nIGxvbmcgc2l6ZTsKKyAgICAgICAgaWYgKCFGaWxlU3lzdGVt
OjpnZXRGaWxlU2l6ZShmZCwgc2l6ZSkgfHwgc2l6ZSAhPSBtX2NhY2hlZEJ5dGVjb2RlLT5zaXpl
KCkpIHsKICAgICAgICAgICAgIC8vIFRoZSBieXRlY29kZSBjYWNoZSBoYXMgYWxyZWFkeSBiZWVu
IHVwZGF0ZWQKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChm
dHJ1bmNhdGUoZmQsIG1fY2FjaGVkQnl0ZWNvZGUtPnNpemVGb3JVcGRhdGUoKSkpCisgICAgICAg
IGlmICghRmlsZVN5c3RlbTo6dHJ1bmNhdGVGaWxlKGZkLCBtX2NhY2hlZEJ5dGVjb2RlLT5zaXpl
Rm9yVXBkYXRlKCkpKSAvLyBGaWxlU3lzdGVtR2xpYiBkb2Vzbid0IGhhdmUgdHJ1bmNhdGVGaWxl
CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgbV9jYWNoZWRCeXRlY29kZS0+Y29tbWl0
VXBkYXRlcyhbJl0gKG9mZl90IG9mZnNldCwgY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IHNpemUp
IHsKLSAgICAgICAgICAgIG9mZl90IHJlc3VsdCA9IGxzZWVrKGZkLCBvZmZzZXQsIFNFRUtfU0VU
KTsKKyAgICAgICAgICAgIGxvbmcgbG9uZyByZXN1bHQgPSBGaWxlU3lzdGVtOjpzZWVrRmlsZShm
ZCwgb2Zmc2V0LCBGaWxlU3lzdGVtOjpGaWxlU2Vla09yaWdpbjo6QmVnaW5uaW5nKTsKICAgICAg
ICAgICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQgIT0gLTEpOwotICAgICAgICAgICAg
c2l6ZV90IGJ5dGVzV3JpdHRlbiA9IHN0YXRpY19jYXN0PHNpemVfdD4od3JpdGUoZmQsIGRhdGEs
IHNpemUpKTsKKyAgICAgICAgICAgIHNpemVfdCBieXRlc1dyaXR0ZW4gPSBzdGF0aWNfY2FzdDxz
aXplX3Q+KEZpbGVTeXN0ZW06OndyaXRlVG9GaWxlKGZkLCBzdGF0aWNfY2FzdDxjb25zdCBjaGFy
Kj4oZGF0YSksIHNpemUpKTsKICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoYnl0ZXNXcml0dGVu
LCBieXRlc1dyaXR0ZW4gPT0gc2l6ZSk7CiAgICAgICAgIH0pOwotI2VuZGlmCiAgICAgfQogCiBw
cml2YXRlOgpAQCAtMTA0NiwxNCArMTA0NSwxMiBAQCBwcml2YXRlOgogICAgICAgICBpZiAoIWNh
Y2hlRW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIq
PihudWxscHRyKTsKICAgICAgICAgY29uc3QgY2hhciogY2FjaGVQYXRoID0gT3B0aW9uczo6ZGlz
a0NhY2hlUGF0aCgpOwotICAgICAgICBTdHJpbmcgZmlsZW5hbWUgPSBzb3VyY2VPcmlnaW4oKS5z
dHJpbmcoKTsKLSAgICAgICAgZmlsZW5hbWUucmVwbGFjZSgnLycsICdfJyk7Ci0gICAgICAgIHJl
dHVybiBtYWtlU3RyaW5nKGNhY2hlUGF0aCwgJy8nLCBzb3VyY2UoKS50b1N0cmluZygpLmhhc2go
KSwgJy0nLCBmaWxlbmFtZSwgIi5ieXRlY29kZS1jYWNoZSIpOworICAgICAgICBTdHJpbmcgZmls
ZW5hbWUgPSBGaWxlU3lzdGVtOjplbmNvZGVGb3JGaWxlTmFtZShzb3VyY2VPcmlnaW4oKS5zdHJp
bmcoKSk7CisgICAgICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25l
bnQoY2FjaGVQYXRoLCBtYWtlU3RyaW5nKHNvdXJjZSgpLnRvU3RyaW5nKCkuaGFzaCgpLCAnLScs
IGZpbGVuYW1lLCAiLmJ5dGVjb2RlLWNhY2hlIikpOwogICAgIH0KIAogICAgIHZvaWQgbG9hZEJ5
dGVjb2RlKCkgY29uc3QKICAgICB7Ci0jaWYgT1MoREFSV0lOKQogICAgICAgICBpZiAoIWNhY2hl
RW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xMDYxLDI0ICsxMDU4LDMwIEBA
IHByaXZhdGU6CiAgICAgICAgIGlmIChmaWxlbmFtZS5pc051bGwoKSkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBpbnQgZmQgPSBvcGVuKGZpbGVuYW1lLnV0ZjgoKS5kYXRhKCksIE9f
UkRPTkxZIHwgT19TSExPQ0sgfCBPX05PTkJMT0NLKTsKLSAgICAgICAgaWYgKGZkID09IC0xKQor
ICAgICAgICAvLyBpbnQgZmQgPSBvcGVuKGZpbGVuYW1lLnV0ZjgoKS5kYXRhKCksIE9fUkRPTkxZ
IHwgT19TSExPQ0sgfCBPX05PTkJMT0NLKTsKKyAgICAgICAgYXV0byBsb2NrTW9kZSA9IE9wdGlv
blNldDxGaWxlU3lzdGVtOjpGaWxlTG9ja01vZGU+KEZpbGVTeXN0ZW06OkZpbGVMb2NrTW9kZTo6
U2hhcmVkKSB8IEZpbGVTeXN0ZW06OkZpbGVMb2NrTW9kZTo6Tm9uYmxvY2tpbmc7CisgICAgICAg
IGF1dG8gZmQgPSBGaWxlU3lzdGVtOjpvcGVuQW5kTG9ja0ZpbGUoZmlsZW5hbWUsIEZpbGVTeXN0
ZW06OkZpbGVPcGVuTW9kZTo6UmVhZCwgbG9ja01vZGUpOworICAgICAgICBpZiAoIUZpbGVTeXN0
ZW06OmlzSGFuZGxlVmFsaWQoZmQpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGF1
dG8gY2xvc2VGRCA9IG1ha2VTY29wZUV4aXQoWyZdIHsKLSAgICAgICAgICAgIGNsb3NlKGZkKTsK
KyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShmZCk7CiAgICAgICAgIH0pOwogCi0g
ICAgICAgIHN0cnVjdCBzdGF0IHNiOwotICAgICAgICBpbnQgcmVzID0gZnN0YXQoZmQsICZzYik7
Ci0gICAgICAgIHNpemVfdCBzaXplID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihzYi5zdF9zaXplKTsK
LSAgICAgICAgaWYgKHJlcyB8fCAhc2l6ZSkKKyAgICAgICAgbG9uZyBsb25nIHNpemU7CisgICAg
ICAgIGlmICghRmlsZVN5c3RlbTo6Z2V0RmlsZVNpemUoZmQsIHNpemUpKQogICAgICAgICAgICAg
cmV0dXJuOwogCi0gICAgICAgIHZvaWQqIGJ1ZmZlciA9IG1tYXAobnVsbHB0ciwgc2l6ZSwgUFJP
VF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOworI2lmICFPUyhXSU5ET1dTKQorICAgICAgICB2
b2lkKiBidWZmZXIgPSBtbWFwKG51bGxwdHIsIHNpemUsIFBST1RfUkVBRCwgTUFQX1BSSVZBVEUs
IGZkLCAwKTsgLy8gTmVlZCB0byBzd2l0Y2ggb3ZlciB0byBNYXBwZWRGaWxlRGF0YQogICAgICAg
ICBpZiAoYnVmZmVyID09IE1BUF9GQUlMRUQpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IG1fY2FjaGVkQnl0ZWNvZGUgPSBDYWNoZWRCeXRlY29kZTo6Y3JlYXRlKGJ1ZmZlciwgc2l6ZSk7
CisjZWxzZQorICAgICAgICBNYWxsb2NQdHI8dWludDhfdD4gYnl0ZWNvZGUgPSBNYWxsb2NQdHI8
dWludDhfdD46Om1hbGxvYyhzaXplKTsKKyAgICAgICAgRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxl
KGZkLCByZWludGVycHJldF9jYXN0PGNoYXIqPihieXRlY29kZS5nZXQoKSksIHNpemUpOworICAg
ICAgICBtX2NhY2hlZEJ5dGVjb2RlID0gQ2FjaGVkQnl0ZWNvZGU6OmNyZWF0ZShXVEZNb3ZlKGJ5
dGVjb2RlKSwgc2l6ZSwge30pOworCiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYzJmMzA1ZTc3MDA0
ZTFlYTFhNjVjNmI5Y2YwY2ViMzUyYWFmNzhhMi4uOTM4MWU3ZTAzMTAxNDFlM2U3MWI3MzUzYWJi
MWU3ZDJmMDViMzRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOS0wNy0wMyAgQ2hyaXN0b3Bo
ZXIgUmVpZCAgPGNocmlzLnJlaWRAc29ueS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IE1hcHBl
ZEZpbGVEYXRhIGZvciBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgyNjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBGdWppaSBIaXJvbm9yaS4KKworICAgICAgICBB
ZGQgV2luZG93cyBpbXBsZW1lbnRhdGlvbnMgZm9yIE1hcHBlZEZpbGVEYXRhIGNvbnN0cnVjdG9y
IGFuZCBkZXN0cnVjdG9yLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAg
ICAqIHd0Zi9GaWxlU3lzdGVtLmg6CisgICAgICAgICogd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNw
cDoKKwogMjAxOS0wNy0wMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQ2Fubm90IHBsYXkgQmVydCdzIEJ5dGVzIHJhZGlvIHN0
cmVhbSBmcm9tIGh0dHA6Ly9yYWRpby5kb3MubmwvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCmluZGV4IGJh
NDliMWU3N2E3YTQxNzQ5YWI0MDIzNTMwNGU5ZjViZjRkYWZmYTguLjk3NTQyOWJhZDA5ZjE3MTU4
N2M2M2Y5MzNhMWU3Y2EyZDk2NTdlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVT
eXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCkBAIC0yNzQsMjEg
KzI3NCwxNyBAQCBib29sIGV4Y2x1ZGVGcm9tQmFja3VwKGNvbnN0IFN0cmluZyYpCiAKICNlbmRp
ZgogCisjaWYgSEFWRShNTUFQKQorCiBNYXBwZWRGaWxlRGF0YTo6fk1hcHBlZEZpbGVEYXRhKCkK
IHsKLSNpZiAhT1MoV0lORE9XUykKICAgICBpZiAoIW1fZmlsZURhdGEpCiAgICAgICAgIHJldHVy
bjsKICAgICBtdW5tYXAobV9maWxlRGF0YSwgbV9maWxlU2l6ZSk7Ci0jZW5kaWYKIH0KIAogTWFw
cGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGJvb2wm
IHN1Y2Nlc3MpCiB7Ci0jaWYgT1MoV0lORE9XUykKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IG1h
cHBpbmcKLSAgICBzdWNjZXNzID0gZmFsc2U7Ci0jZWxzZQogICAgIENTdHJpbmcgZnNSZXAgPSBm
aWxlU3lzdGVtUmVwcmVzZW50YXRpb24oZmlsZVBhdGgpOwogICAgIGludCBmZCA9ICFmc1JlcC5p
c051bGwoKSA/IG9wZW4oZnNSZXAuZGF0YSgpLCBPX1JET05MWSkgOiAtMTsKICAgICBpZiAoZmQg
PCAwKSB7CkBAIC0zMjcsOSArMzIzLDEwIEBAIE1hcHBlZEZpbGVEYXRhOjpNYXBwZWRGaWxlRGF0
YShjb25zdCBTdHJpbmcmIGZpbGVQYXRoLCBib29sJiBzdWNjZXNzKQogICAgIHN1Y2Nlc3MgPSB0
cnVlOwogICAgIG1fZmlsZURhdGEgPSBkYXRhOwogICAgIG1fZmlsZVNpemUgPSBzaXplOwotI2Vu
ZGlmCiB9CiAKKyNlbmRpZgorCiBQbGF0Zm9ybUZpbGVIYW5kbGUgb3BlbkFuZExvY2tGaWxlKGNv
bnN0IFN0cmluZyYgcGF0aCwgRmlsZU9wZW5Nb2RlIG9wZW5Nb2RlLCBPcHRpb25TZXQ8RmlsZUxv
Y2tNb2RlPiBsb2NrTW9kZSkKIHsKICAgICBhdXRvIGhhbmRsZSA9IG9wZW5GaWxlKHBhdGgsIG9w
ZW5Nb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaCBiL1NvdXJj
ZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAppbmRleCAzMmZlNzZkZjQwMDA3MmNmYjc0OTliN2ZkNDhh
M2EzYjE0OGIyYTRhLi41MmVkODA3NGE1MTFlZTE1YTk0MmU5YzQ3MDg1NTZlOGI1ODVkMjI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dURi93
dGYvRmlsZVN5c3RlbS5oCkBAIC0xMzgsNyArMTM4LDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIFBs
YXRmb3JtRmlsZUhhbmRsZSBvcGVuRmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIEZpbGVPcGVuTW9k
ZSkKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNsb3NlRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUm
KTsKIC8vIFJldHVybnMgdGhlIHJlc3VsdGluZyBvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIG9m
IHRoZSBmaWxlIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZS4KIFdURl9FWFBPUlRfUFJJVkFU
RSBsb25nIGxvbmcgc2Vla0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlLCBsb25nIGxvbmcgb2Zmc2V0
LCBGaWxlU2Vla09yaWdpbik7Ci1ib29sIHRydW5jYXRlRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUs
IGxvbmcgbG9uZyBvZmZzZXQpOworV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgdHJ1bmNhdGVGaWxl
KFBsYXRmb3JtRmlsZUhhbmRsZSwgbG9uZyBsb25nIG9mZnNldCk7CiAvLyBSZXR1cm5zIG51bWJl
ciBvZiBieXRlcyBhY3R1YWxseSByZWFkIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZS4KIFdU
Rl9FWFBPUlRfUFJJVkFURSBpbnQgd3JpdGVUb0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlLCBjb25z
dCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKTsKIC8vIFJldHVybnMgbnVtYmVyIG9mIGJ5dGVzIGFj
dHVhbGx5IHdyaXR0ZW4gaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvVVVJRC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmNwcAppbmRleCA4
NTk2OGJmNTkxMTZkMTNjYWQ5MjM5NmYzMzlmMjA0ZmUxZGMyMTUxLi4xNWNhMDBhNzEwYjk3YzY5
MDI1ZWI1MDE1ZDAwMTcxZTg5YTNhNDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9VVUlE
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmNwcApAQCAtNjYsOCArNjYsOCBAQCBTdHJp
bmcgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpCiAKIFN0cmluZyBib290U2Vzc2lvblVVSURT
dHJpbmcoKQogewotICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBib290U2Vz
c2lvblVVSUQ7CiAjaWYgT1MoREFSV0lOKQorICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8
U3RyaW5nPiBib290U2Vzc2lvblVVSUQ7CiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VL
ZXk7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgW10gewogICAgICAgICBzaXplX3QgdXVp
ZExlbmd0aCA9IDM3OwpAQCAtNzYsOCArNzYsMTAgQEAgU3RyaW5nIGJvb3RTZXNzaW9uVVVJRFN0
cmluZygpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGJvb3RTZXNzaW9uVVVJRC5jb25z
dHJ1Y3Qoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHV1aWQpLCB1dWlkTGVuZ3RoIC0gMSk7CiAg
ICAgfSk7Ci0jZW5kaWYKICAgICByZXR1cm4gYm9vdFNlc3Npb25VVUlEOworI2Vsc2UKKyAgICBy
ZXR1cm4gU3RyaW5nKCk7CisjZW5kaWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAKaW5kZXggZTQ3MzE1N2YyMjhjOGIzZTg3YzRjMzc5YWEw
Njk0MWM4YWEyMGY5My4uOGZlMDE3MTVjZDQ5ZjZjM2M3MjVlNjdkOGUwMzEzYzFiYjg4YTY1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNwcApAQCAtNDcwLDYgKzQ3MCwxNyBAQCBs
b25nIGxvbmcgc2Vla0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgbG9uZyBsb25nIG9m
ZnNldCwgRmlsZVNlZWtPcmlnaW4gbwogICAgIHJldHVybiBsYXJnZU9mZnNldC5RdWFkUGFydDsK
IH0KIAorYm9vbCB0cnVuY2F0ZUZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgbG9uZyBs
b25nIG9mZnNldCkKK3sKKyAgICBMQVJHRV9JTlRFR0VSIGxhcmdlT2Zmc2V0OworICAgIGxhcmdl
T2Zmc2V0LlF1YWRQYXJ0ID0gb2Zmc2V0OworCisgICAgRklMRV9FTkRfT0ZfRklMRV9JTkZPIGVv
ZkluZm87CisgICAgZW9mSW5mby5FbmRPZkZpbGUgPSBsYXJnZU9mZnNldDsKKworICAgIHJldHVy
biBTZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZShoYW5kbGUsIEZpbGVFbmRPZkZpbGVJbmZvLCAm
ZW9mSW5mbywgc2l6ZW9mKEZJTEVfRU5EX09GX0ZJTEVfSU5GTykpOworfQorCiBpbnQgd3JpdGVU
b0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgY29uc3QgY2hhciogZGF0YSwgaW50IGxl
bmd0aCkKIHsKICAgICBpZiAoIWlzSGFuZGxlVmFsaWQoaGFuZGxlKSkKQEAgLTU4OCw1ICs1OTks
NDQgQEAgYm9vbCBkZWxldGVOb25FbXB0eURpcmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9y
eVBhdGgpCiAgICAgcmV0dXJuICFTSEZpbGVPcGVyYXRpb24oJmRlbGV0ZU9wZXJhdGlvbik7CiB9
CiAKK01hcHBlZEZpbGVEYXRhOjp+TWFwcGVkRmlsZURhdGEoKQoreworICAgIGlmICghbV9maWxl
RGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIFVubWFwVmlld09mRmlsZShtX2ZpbGVEYXRhKTsK
K30KKworTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBh
dGgsIGJvb2wmIHN1Y2Nlc3MpCit7CisgICAgc3VjY2VzcyA9IGZhbHNlOworICAgIGF1dG8gZmls
ZSA9IENyZWF0ZUZpbGUoZmlsZVBhdGgud2lkZUNoYXJhY3RlcnMoKS5kYXRhKCksIEdFTkVSSUNf
UkVBRCwgMCwgbnVsbHB0ciwgT1BFTl9FWElTVElORywgRklMRV9BVFRSSUJVVEVfTk9STUFMLCBu
dWxscHRyKTsKKyAgICBpZiAoZmlsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbG9uZyBsb25nIHNpemU7CisgICAgaWYgKCFnZXRGaWxlU2l6ZShmaWxl
LCBzaXplKSB8fCBzaXplID4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSB8fCBz
aXplID4gc3RkOjpudW1lcmljX2xpbWl0czxkZWNsdHlwZShtX2ZpbGVTaXplKT46Om1heCgpKSB7
CisgICAgICAgIENsb3NlSGFuZGxlKGZpbGUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKCFzaXplKSB7CisgICAgICAgIENsb3NlSGFuZGxlKGZpbGUpOworICAgICAgICBzdWNj
ZXNzID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gbWFwcGluZyA9
IENyZWF0ZUZpbGVNYXBwaW5nKGZpbGUsIG51bGxwdHIsIFBBR0VfUkVBRE9OTFksIDAsIDAsIG51
bGxwdHIpOworICAgIENsb3NlSGFuZGxlKGZpbGUpOworICAgIGlmICghbWFwcGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9maWxlRGF0YSA9IE1hcFZpZXdPZkZpbGUobWFwcGluZywgRklM
RV9NQVBfUkVBRCwgMCwgMCwgc2l6ZSk7CisgICAgQ2xvc2VIYW5kbGUobWFwcGluZyk7CisgICAg
aWYgKCFtX2ZpbGVEYXRhKQorICAgICAgICByZXR1cm47CisgICAgbV9maWxlU2l6ZSA9IHNpemU7
CisgICAgc3VjY2VzcyA9IHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEZpbGVTeXN0ZW1JbXBs
CiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCBiZGY5YmIzNTgwNDBmNjcyN2I4NWQyM2U4MGY2ZTA2MmY2NTRmZWY1
Li40NTc4ZDVmMjkwMDQzZTU5OThhODY2NmYyYzE4N2QzZDQwMTNiMjQ5IDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTktMDctMDMgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNvbnkuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCBNYXBwZWRGaWxlRGF0YSBmb3IgV2luZG93cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MjY5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2lu
LmNtYWtlOgorCiAyMDE5LTA3LTAxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHVEsgYTExeSB0ZXN0cyBmaXggYWZ0ZXIgcjI0
Njk1OApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggMGM0OGNmMDRmZTU0
MWU1MmFhMjdkYjc4ZTU3NDc3NzhlMmExNzhhYy4uMzQ5MzM0ODI2ZmEzNGRiMjhhZTJkODI2MGZj
NWFlNGQ1MjRkYzBlZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdp
bi5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0x
Nyw3ICsxNyw2IEBAIHNldCh0ZXN0X21haW5fU09VUkNFUwogKQogCiAjIFRlc3RXVEYKLWxpc3Qo
UkVNT1ZFX0lURU0gVGVzdFdURl9TT1VSQ0VTIFRlc3RzL1dURi9GaWxlU3lzdGVtLmNwcCkKIGxp
c3QoQVBQRU5EIFRlc3RXVEZfU09VUkNFUwogICAgICR7dGVzdF9tYWluX1NPVVJDRVN9CiAgICAg
d2luL1V0aWxpdGllc1dpbi5jcHAKd2FybmluZzogTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxG
IGluIFNvdXJjZS9XVEYvQ2hhbmdlTG9nLgpUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFs
IGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5Cndhcm5pbmc6IExGIHdpbGwg
YmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiBUb29scy9DaGFuZ2VMb2cuClRoZSBmaWxlIHdpbGwgaGF2
ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkK
</data>
<flag name="commit-queue"
          id="389438"
          type_id="3"
          status="-"
          setter="chris.reid"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373647</attachid>
            <date>2019-07-08 11:24:58 -0700</date>
            <delta_ts>2019-07-08 11:33:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-198269-20190708112457.patch</filename>
            <type>text/plain</type>
            <size>12651</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggOTFjNGM3NWRiODY2MDZkZGVhNGI5NzcyZjEzNDNjMzQ0ZjhjOTBkMy4uYmEwZGFj
NDBlN2IxZWU1MWRmMzVhMDVjODg4ZjUxZGEyMjhmMzJmNCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMjI0LDcgKzIyNCw3IEBAIGFkZF9jdXN0b21fY29tbWFuZCgKIGlm
IChXVEZfT1NfTUFDX09TX1gpCiAgICAgZXhlY3V0ZV9wcm9jZXNzKENPTU1BTkQgYmFzaCAtYyAi
ZGF0ZSArJyVzJyIgT1VUUFVUX1ZBUklBQkxFIEJVSUxEX1RJTUUgT1VUUFVUX1NUUklQX1RSQUlM
SU5HX1dISVRFU1BBQ0UpCiBlbHNlICgpCi0gICAgc2V0KEJVSUxEX1RJTUUgMCkKKyAgICBzdHJp
bmcoVElNRVNUQU1QIEJVSUxEX1RJTUUgIiVzIikgIyBtaWdodCBub3Qgd29yayBmb3IgaW5jcmVt
ZW50YWwgYnVpbGRzCiBlbmRpZiAoKQogCiBmaWxlKFdSSVRFICR7SmF2YVNjcmlwdENvcmVfREVS
SVZFRF9TT1VSQ0VTX0RJUn0vQnl0ZWNvZGVDYWNoZVZlcnNpb24uaCAiI2RlZmluZSBKU0NfQllU
RUNPREVfQ0FDSEVfVkVSU0lPTiAke0JVSUxEX1RJTUV9XG4iKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApp
bmRleCBkNGZhMjIyYzcyMWNmNGE3ZTcxYWQ0Nzg2Zjk4NDExMTI0MWUxODUyLi5kODJmZGY2ODgx
ZTc5ZmU4NDJkODlkOTczNjczODFmODQwN2E1YzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAt
ODUsNiArODUsNyBAQAogI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogI2luY2x1ZGUgPHd0Zi9Cb3gu
aD4KICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CisjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0
ZW0uaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQ
cmVzc3VyZUhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgpAQCAtMTAw
Myw3ICsxMDA0LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb21taXRDYWNoZWRCeXRlY29kZSgp
IGNvbnN0IG92ZXJyaWRlCiAgICAgewotI2lmIE9TKERBUldJTikKICAgICAgICAgaWYgKCFjYWNo
ZUVuYWJsZWQoKSB8fCAhbV9jYWNoZWRCeXRlY29kZSB8fCAhbV9jYWNoZWRCeXRlY29kZS0+aGFz
VXBkYXRlcygpKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xMDEyLDMyICsxMDEyLDMxIEBA
IHB1YmxpYzoKICAgICAgICAgfSk7CiAKICAgICAgICAgU3RyaW5nIGZpbGVuYW1lID0gY2FjaGVQ
YXRoKCk7Ci0gICAgICAgIGludCBmZCA9IG9wZW4oZmlsZW5hbWUudXRmOCgpLmRhdGEoKSwgT19D
UkVBVCB8IE9fV1JPTkxZIHwgT19UUlVOQyB8IE9fRVhMT0NLIHwgT19OT05CTE9DSywgMDY2Nik7
Ci0gICAgICAgIGlmIChmZCA9PSAtMSkKKyAgICAgICAgLy9pbnQgZmQgPSBvcGVuKGZpbGVuYW1l
LnV0ZjgoKS5kYXRhKCksIE9fQ1JFQVQgfCBPX1dST05MWSB8IE9fVFJVTkMgfCBPX0VYTE9DSyB8
IE9fTk9OQkxPQ0ssIDA2NjYpOworICAgICAgICBhdXRvIGxvY2tNb2RlID0gT3B0aW9uU2V0PEZp
bGVTeXN0ZW06OkZpbGVMb2NrTW9kZT4oRmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlOjpFeGNsdXNp
dmUpIHwgRmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlOjpOb25ibG9ja2luZzsKKyAgICAgICAgYXV0
byBmZCA9IEZpbGVTeXN0ZW06Om9wZW5BbmRMb2NrRmlsZShmaWxlbmFtZSwgRmlsZVN5c3RlbTo6
RmlsZU9wZW5Nb2RlOjpXcml0ZSwgbG9ja01vZGUpOyAvLyBPX1RSVU5DPworICAgICAgICBpZiAo
IUZpbGVTeXN0ZW06OmlzSGFuZGxlVmFsaWQoZmQpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIGF1dG8gY2xvc2VGRCA9IG1ha2VTY29wZUV4aXQoWyZdIHsKLSAgICAgICAgICAgIGNs
b3NlKGZkKTsKKyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShmZCk7CiAgICAgICAg
IH0pOwogCi0gICAgICAgIHN0cnVjdCBzdGF0IHNiOwotICAgICAgICBpbnQgcmVzID0gZnN0YXQo
ZmQsICZzYik7Ci0gICAgICAgIHNpemVfdCBzaXplID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihzYi5z
dF9zaXplKTsKLSAgICAgICAgaWYgKHJlcyB8fCBzaXplICE9IG1fY2FjaGVkQnl0ZWNvZGUtPnNp
emUoKSkgeworICAgICAgICBsb25nIGxvbmcgc2l6ZTsKKyAgICAgICAgaWYgKCFGaWxlU3lzdGVt
OjpnZXRGaWxlU2l6ZShmZCwgc2l6ZSkgfHwgc2l6ZSAhPSBtX2NhY2hlZEJ5dGVjb2RlLT5zaXpl
KCkpIHsKICAgICAgICAgICAgIC8vIFRoZSBieXRlY29kZSBjYWNoZSBoYXMgYWxyZWFkeSBiZWVu
IHVwZGF0ZWQKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChm
dHJ1bmNhdGUoZmQsIG1fY2FjaGVkQnl0ZWNvZGUtPnNpemVGb3JVcGRhdGUoKSkpCisgICAgICAg
IGlmICghRmlsZVN5c3RlbTo6dHJ1bmNhdGVGaWxlKGZkLCBtX2NhY2hlZEJ5dGVjb2RlLT5zaXpl
Rm9yVXBkYXRlKCkpKSAvLyBGaWxlU3lzdGVtR2xpYiBkb2Vzbid0IGhhdmUgdHJ1bmNhdGVGaWxl
CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgbV9jYWNoZWRCeXRlY29kZS0+Y29tbWl0
VXBkYXRlcyhbJl0gKG9mZl90IG9mZnNldCwgY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IHNpemUp
IHsKLSAgICAgICAgICAgIG9mZl90IHJlc3VsdCA9IGxzZWVrKGZkLCBvZmZzZXQsIFNFRUtfU0VU
KTsKKyAgICAgICAgICAgIGxvbmcgbG9uZyByZXN1bHQgPSBGaWxlU3lzdGVtOjpzZWVrRmlsZShm
ZCwgb2Zmc2V0LCBGaWxlU3lzdGVtOjpGaWxlU2Vla09yaWdpbjo6QmVnaW5uaW5nKTsKICAgICAg
ICAgICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQgIT0gLTEpOwotICAgICAgICAgICAg
c2l6ZV90IGJ5dGVzV3JpdHRlbiA9IHN0YXRpY19jYXN0PHNpemVfdD4od3JpdGUoZmQsIGRhdGEs
IHNpemUpKTsKKyAgICAgICAgICAgIHNpemVfdCBieXRlc1dyaXR0ZW4gPSBzdGF0aWNfY2FzdDxz
aXplX3Q+KEZpbGVTeXN0ZW06OndyaXRlVG9GaWxlKGZkLCBzdGF0aWNfY2FzdDxjb25zdCBjaGFy
Kj4oZGF0YSksIHNpemUpKTsKICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoYnl0ZXNXcml0dGVu
LCBieXRlc1dyaXR0ZW4gPT0gc2l6ZSk7CiAgICAgICAgIH0pOwotI2VuZGlmCiAgICAgfQogCiBw
cml2YXRlOgpAQCAtMTA0NiwxNCArMTA0NSwxMiBAQCBwcml2YXRlOgogICAgICAgICBpZiAoIWNh
Y2hlRW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIq
PihudWxscHRyKTsKICAgICAgICAgY29uc3QgY2hhciogY2FjaGVQYXRoID0gT3B0aW9uczo6ZGlz
a0NhY2hlUGF0aCgpOwotICAgICAgICBTdHJpbmcgZmlsZW5hbWUgPSBzb3VyY2VPcmlnaW4oKS5z
dHJpbmcoKTsKLSAgICAgICAgZmlsZW5hbWUucmVwbGFjZSgnLycsICdfJyk7Ci0gICAgICAgIHJl
dHVybiBtYWtlU3RyaW5nKGNhY2hlUGF0aCwgJy8nLCBzb3VyY2UoKS50b1N0cmluZygpLmhhc2go
KSwgJy0nLCBmaWxlbmFtZSwgIi5ieXRlY29kZS1jYWNoZSIpOworICAgICAgICBTdHJpbmcgZmls
ZW5hbWUgPSBGaWxlU3lzdGVtOjplbmNvZGVGb3JGaWxlTmFtZShzb3VyY2VPcmlnaW4oKS5zdHJp
bmcoKSk7CisgICAgICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25l
bnQoY2FjaGVQYXRoLCBtYWtlU3RyaW5nKHNvdXJjZSgpLnRvU3RyaW5nKCkuaGFzaCgpLCAnLScs
IGZpbGVuYW1lLCAiLmJ5dGVjb2RlLWNhY2hlIikpOwogICAgIH0KIAogICAgIHZvaWQgbG9hZEJ5
dGVjb2RlKCkgY29uc3QKICAgICB7Ci0jaWYgT1MoREFSV0lOKQogICAgICAgICBpZiAoIWNhY2hl
RW5hYmxlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xMDYxLDI0ICsxMDU4LDMwIEBA
IHByaXZhdGU6CiAgICAgICAgIGlmIChmaWxlbmFtZS5pc051bGwoKSkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBpbnQgZmQgPSBvcGVuKGZpbGVuYW1lLnV0ZjgoKS5kYXRhKCksIE9f
UkRPTkxZIHwgT19TSExPQ0sgfCBPX05PTkJMT0NLKTsKLSAgICAgICAgaWYgKGZkID09IC0xKQor
ICAgICAgICAvLyBpbnQgZmQgPSBvcGVuKGZpbGVuYW1lLnV0ZjgoKS5kYXRhKCksIE9fUkRPTkxZ
IHwgT19TSExPQ0sgfCBPX05PTkJMT0NLKTsKKyAgICAgICAgYXV0byBsb2NrTW9kZSA9IE9wdGlv
blNldDxGaWxlU3lzdGVtOjpGaWxlTG9ja01vZGU+KEZpbGVTeXN0ZW06OkZpbGVMb2NrTW9kZTo6
U2hhcmVkKSB8IEZpbGVTeXN0ZW06OkZpbGVMb2NrTW9kZTo6Tm9uYmxvY2tpbmc7CisgICAgICAg
IGF1dG8gZmQgPSBGaWxlU3lzdGVtOjpvcGVuQW5kTG9ja0ZpbGUoZmlsZW5hbWUsIEZpbGVTeXN0
ZW06OkZpbGVPcGVuTW9kZTo6UmVhZCwgbG9ja01vZGUpOworICAgICAgICBpZiAoIUZpbGVTeXN0
ZW06OmlzSGFuZGxlVmFsaWQoZmQpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGF1
dG8gY2xvc2VGRCA9IG1ha2VTY29wZUV4aXQoWyZdIHsKLSAgICAgICAgICAgIGNsb3NlKGZkKTsK
KyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShmZCk7CiAgICAgICAgIH0pOwogCi0g
ICAgICAgIHN0cnVjdCBzdGF0IHNiOwotICAgICAgICBpbnQgcmVzID0gZnN0YXQoZmQsICZzYik7
Ci0gICAgICAgIHNpemVfdCBzaXplID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihzYi5zdF9zaXplKTsK
LSAgICAgICAgaWYgKHJlcyB8fCAhc2l6ZSkKKyAgICAgICAgbG9uZyBsb25nIHNpemU7CisgICAg
ICAgIGlmICghRmlsZVN5c3RlbTo6Z2V0RmlsZVNpemUoZmQsIHNpemUpKQogICAgICAgICAgICAg
cmV0dXJuOwogCi0gICAgICAgIHZvaWQqIGJ1ZmZlciA9IG1tYXAobnVsbHB0ciwgc2l6ZSwgUFJP
VF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOworI2lmICFPUyhXSU5ET1dTKQorICAgICAgICB2
b2lkKiBidWZmZXIgPSBtbWFwKG51bGxwdHIsIHNpemUsIFBST1RfUkVBRCwgTUFQX1BSSVZBVEUs
IGZkLCAwKTsgLy8gTmVlZCB0byBzd2l0Y2ggb3ZlciB0byBNYXBwZWRGaWxlRGF0YQogICAgICAg
ICBpZiAoYnVmZmVyID09IE1BUF9GQUlMRUQpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IG1fY2FjaGVkQnl0ZWNvZGUgPSBDYWNoZWRCeXRlY29kZTo6Y3JlYXRlKGJ1ZmZlciwgc2l6ZSk7
CisjZWxzZQorICAgICAgICBNYWxsb2NQdHI8dWludDhfdD4gYnl0ZWNvZGUgPSBNYWxsb2NQdHI8
dWludDhfdD46Om1hbGxvYyhzaXplKTsKKyAgICAgICAgRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxl
KGZkLCByZWludGVycHJldF9jYXN0PGNoYXIqPihieXRlY29kZS5nZXQoKSksIHNpemUpOworICAg
ICAgICBtX2NhY2hlZEJ5dGVjb2RlID0gQ2FjaGVkQnl0ZWNvZGU6OmNyZWF0ZShXVEZNb3ZlKGJ5
dGVjb2RlKSwgc2l6ZSwge30pOworCiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYzJmMzA1ZTc3MDA0
ZTFlYTFhNjVjNmI5Y2YwY2ViMzUyYWFmNzhhMi4uOTM4MWU3ZTAzMTAxNDFlM2U3MWI3MzUzYWJi
MWU3ZDJmMDViMzRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOS0wNy0wMyAgQ2hyaXN0b3Bo
ZXIgUmVpZCAgPGNocmlzLnJlaWRAc29ueS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IE1hcHBl
ZEZpbGVEYXRhIGZvciBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgyNjkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBGdWppaSBIaXJvbm9yaS4KKworICAgICAgICBB
ZGQgV2luZG93cyBpbXBsZW1lbnRhdGlvbnMgZm9yIE1hcHBlZEZpbGVEYXRhIGNvbnN0cnVjdG9y
IGFuZCBkZXN0cnVjdG9yLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAg
ICAqIHd0Zi9GaWxlU3lzdGVtLmg6CisgICAgICAgICogd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNw
cDoKKwogMjAxOS0wNy0wMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQ2Fubm90IHBsYXkgQmVydCdzIEJ5dGVzIHJhZGlvIHN0
cmVhbSBmcm9tIGh0dHA6Ly9yYWRpby5kb3MubmwvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCmluZGV4IGJh
NDliMWU3N2E3YTQxNzQ5YWI0MDIzNTMwNGU5ZjViZjRkYWZmYTguLjk3NTQyOWJhZDA5ZjE3MTU4
N2M2M2Y5MzNhMWU3Y2EyZDk2NTdlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVT
eXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCkBAIC0yNzQsMjEg
KzI3NCwxNyBAQCBib29sIGV4Y2x1ZGVGcm9tQmFja3VwKGNvbnN0IFN0cmluZyYpCiAKICNlbmRp
ZgogCisjaWYgSEFWRShNTUFQKQorCiBNYXBwZWRGaWxlRGF0YTo6fk1hcHBlZEZpbGVEYXRhKCkK
IHsKLSNpZiAhT1MoV0lORE9XUykKICAgICBpZiAoIW1fZmlsZURhdGEpCiAgICAgICAgIHJldHVy
bjsKICAgICBtdW5tYXAobV9maWxlRGF0YSwgbV9maWxlU2l6ZSk7Ci0jZW5kaWYKIH0KIAogTWFw
cGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGJvb2wm
IHN1Y2Nlc3MpCiB7Ci0jaWYgT1MoV0lORE9XUykKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IG1h
cHBpbmcKLSAgICBzdWNjZXNzID0gZmFsc2U7Ci0jZWxzZQogICAgIENTdHJpbmcgZnNSZXAgPSBm
aWxlU3lzdGVtUmVwcmVzZW50YXRpb24oZmlsZVBhdGgpOwogICAgIGludCBmZCA9ICFmc1JlcC5p
c051bGwoKSA/IG9wZW4oZnNSZXAuZGF0YSgpLCBPX1JET05MWSkgOiAtMTsKICAgICBpZiAoZmQg
PCAwKSB7CkBAIC0zMjcsOSArMzIzLDEwIEBAIE1hcHBlZEZpbGVEYXRhOjpNYXBwZWRGaWxlRGF0
YShjb25zdCBTdHJpbmcmIGZpbGVQYXRoLCBib29sJiBzdWNjZXNzKQogICAgIHN1Y2Nlc3MgPSB0
cnVlOwogICAgIG1fZmlsZURhdGEgPSBkYXRhOwogICAgIG1fZmlsZVNpemUgPSBzaXplOwotI2Vu
ZGlmCiB9CiAKKyNlbmRpZgorCiBQbGF0Zm9ybUZpbGVIYW5kbGUgb3BlbkFuZExvY2tGaWxlKGNv
bnN0IFN0cmluZyYgcGF0aCwgRmlsZU9wZW5Nb2RlIG9wZW5Nb2RlLCBPcHRpb25TZXQ8RmlsZUxv
Y2tNb2RlPiBsb2NrTW9kZSkKIHsKICAgICBhdXRvIGhhbmRsZSA9IG9wZW5GaWxlKHBhdGgsIG9w
ZW5Nb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaCBiL1NvdXJj
ZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAppbmRleCAzMmZlNzZkZjQwMDA3MmNmYjc0OTliN2ZkNDhh
M2EzYjE0OGIyYTRhLi41MmVkODA3NGE1MTFlZTE1YTk0MmU5YzQ3MDg1NTZlOGI1ODVkMjI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dURi93
dGYvRmlsZVN5c3RlbS5oCkBAIC0xMzgsNyArMTM4LDcgQEAgV1RGX0VYUE9SVF9QUklWQVRFIFBs
YXRmb3JtRmlsZUhhbmRsZSBvcGVuRmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIEZpbGVPcGVuTW9k
ZSkKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNsb3NlRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUm
KTsKIC8vIFJldHVybnMgdGhlIHJlc3VsdGluZyBvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIG9m
IHRoZSBmaWxlIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZS4KIFdURl9FWFBPUlRfUFJJVkFU
RSBsb25nIGxvbmcgc2Vla0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlLCBsb25nIGxvbmcgb2Zmc2V0
LCBGaWxlU2Vla09yaWdpbik7Ci1ib29sIHRydW5jYXRlRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUs
IGxvbmcgbG9uZyBvZmZzZXQpOworV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgdHJ1bmNhdGVGaWxl
KFBsYXRmb3JtRmlsZUhhbmRsZSwgbG9uZyBsb25nIG9mZnNldCk7CiAvLyBSZXR1cm5zIG51bWJl
ciBvZiBieXRlcyBhY3R1YWxseSByZWFkIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZS4KIFdU
Rl9FWFBPUlRfUFJJVkFURSBpbnQgd3JpdGVUb0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlLCBjb25z
dCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKTsKIC8vIFJldHVybnMgbnVtYmVyIG9mIGJ5dGVzIGFj
dHVhbGx5IHdyaXR0ZW4gaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvVVVJRC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmNwcAppbmRleCA4
NTk2OGJmNTkxMTZkMTNjYWQ5MjM5NmYzMzlmMjA0ZmUxZGMyMTUxLi4xNWNhMDBhNzEwYjk3YzY5
MDI1ZWI1MDE1ZDAwMTcxZTg5YTNhNDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9VVUlE
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmNwcApAQCAtNjYsOCArNjYsOCBAQCBTdHJp
bmcgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpCiAKIFN0cmluZyBib290U2Vzc2lvblVVSURT
dHJpbmcoKQogewotICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBib290U2Vz
c2lvblVVSUQ7CiAjaWYgT1MoREFSV0lOKQorICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8
U3RyaW5nPiBib290U2Vzc2lvblVVSUQ7CiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VL
ZXk7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgW10gewogICAgICAgICBzaXplX3QgdXVp
ZExlbmd0aCA9IDM3OwpAQCAtNzYsOCArNzYsMTAgQEAgU3RyaW5nIGJvb3RTZXNzaW9uVVVJRFN0
cmluZygpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGJvb3RTZXNzaW9uVVVJRC5jb25z
dHJ1Y3Qoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHV1aWQpLCB1dWlkTGVuZ3RoIC0gMSk7CiAg
ICAgfSk7Ci0jZW5kaWYKICAgICByZXR1cm4gYm9vdFNlc3Npb25VVUlEOworI2Vsc2UKKyAgICBy
ZXR1cm4gU3RyaW5nKCk7CisjZW5kaWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAKaW5kZXggZTQ3MzE1N2YyMjhjOGIzZTg3YzRjMzc5YWEw
Njk0MWM4YWEyMGY5My4uOGZlMDE3MTVjZDQ5ZjZjM2M3MjVlNjdkOGUwMzEzYzFiYjg4YTY1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNwcApAQCAtNDcwLDYgKzQ3MCwxNyBAQCBs
b25nIGxvbmcgc2Vla0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgbG9uZyBsb25nIG9m
ZnNldCwgRmlsZVNlZWtPcmlnaW4gbwogICAgIHJldHVybiBsYXJnZU9mZnNldC5RdWFkUGFydDsK
IH0KIAorYm9vbCB0cnVuY2F0ZUZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgbG9uZyBs
b25nIG9mZnNldCkKK3sKKyAgICBMQVJHRV9JTlRFR0VSIGxhcmdlT2Zmc2V0OworICAgIGxhcmdl
T2Zmc2V0LlF1YWRQYXJ0ID0gb2Zmc2V0OworCisgICAgRklMRV9FTkRfT0ZfRklMRV9JTkZPIGVv
ZkluZm87CisgICAgZW9mSW5mby5FbmRPZkZpbGUgPSBsYXJnZU9mZnNldDsKKworICAgIHJldHVy
biBTZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZShoYW5kbGUsIEZpbGVFbmRPZkZpbGVJbmZvLCAm
ZW9mSW5mbywgc2l6ZW9mKEZJTEVfRU5EX09GX0ZJTEVfSU5GTykpOworfQorCiBpbnQgd3JpdGVU
b0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgY29uc3QgY2hhciogZGF0YSwgaW50IGxl
bmd0aCkKIHsKICAgICBpZiAoIWlzSGFuZGxlVmFsaWQoaGFuZGxlKSkKQEAgLTU4OCw1ICs1OTks
NDQgQEAgYm9vbCBkZWxldGVOb25FbXB0eURpcmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9y
eVBhdGgpCiAgICAgcmV0dXJuICFTSEZpbGVPcGVyYXRpb24oJmRlbGV0ZU9wZXJhdGlvbik7CiB9
CiAKK01hcHBlZEZpbGVEYXRhOjp+TWFwcGVkRmlsZURhdGEoKQoreworICAgIGlmICghbV9maWxl
RGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIFVubWFwVmlld09mRmlsZShtX2ZpbGVEYXRhKTsK
K30KKworTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBh
dGgsIGJvb2wmIHN1Y2Nlc3MpCit7CisgICAgc3VjY2VzcyA9IGZhbHNlOworICAgIGF1dG8gZmls
ZSA9IENyZWF0ZUZpbGUoZmlsZVBhdGgud2lkZUNoYXJhY3RlcnMoKS5kYXRhKCksIEdFTkVSSUNf
UkVBRCwgMCwgbnVsbHB0ciwgT1BFTl9FWElTVElORywgRklMRV9BVFRSSUJVVEVfTk9STUFMLCBu
dWxscHRyKTsKKyAgICBpZiAoZmlsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgbG9uZyBsb25nIHNpemU7CisgICAgaWYgKCFnZXRGaWxlU2l6ZShmaWxl
LCBzaXplKSB8fCBzaXplID4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSB8fCBz
aXplID4gc3RkOjpudW1lcmljX2xpbWl0czxkZWNsdHlwZShtX2ZpbGVTaXplKT46Om1heCgpKSB7
CisgICAgICAgIENsb3NlSGFuZGxlKGZpbGUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKCFzaXplKSB7CisgICAgICAgIENsb3NlSGFuZGxlKGZpbGUpOworICAgICAgICBzdWNj
ZXNzID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8gbWFwcGluZyA9
IENyZWF0ZUZpbGVNYXBwaW5nKGZpbGUsIG51bGxwdHIsIFBBR0VfUkVBRE9OTFksIDAsIDAsIG51
bGxwdHIpOworICAgIENsb3NlSGFuZGxlKGZpbGUpOworICAgIGlmICghbWFwcGluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9maWxlRGF0YSA9IE1hcFZpZXdPZkZpbGUobWFwcGluZywgRklM
RV9NQVBfUkVBRCwgMCwgMCwgc2l6ZSk7CisgICAgQ2xvc2VIYW5kbGUobWFwcGluZyk7CisgICAg
aWYgKCFtX2ZpbGVEYXRhKQorICAgICAgICByZXR1cm47CisgICAgbV9maWxlU2l6ZSA9IHNpemU7
CisgICAgc3VjY2VzcyA9IHRydWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEZpbGVTeXN0ZW1JbXBs
CiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCBiZGY5YmIzNTgwNDBmNjcyN2I4NWQyM2U4MGY2ZTA2MmY2NTRmZWY1
Li40NTc4ZDVmMjkwMDQzZTU5OThhODY2NmYyYzE4N2QzZDQwMTNiMjQ5IDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTktMDctMDMgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNvbnkuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCBNYXBwZWRGaWxlRGF0YSBmb3IgV2luZG93cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MjY5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2lu
LmNtYWtlOgorCiAyMDE5LTA3LTAxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHVEsgYTExeSB0ZXN0cyBmaXggYWZ0ZXIgcjI0
Njk1OApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggMGM0OGNmMDRmZTU0
MWU1MmFhMjdkYjc4ZTU3NDc3NzhlMmExNzhhYy4uMzQ5MzM0ODI2ZmEzNGRiMjhhZTJkODI2MGZj
NWFlNGQ1MjRkYzBlZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdp
bi5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0x
Nyw3ICsxNyw2IEBAIHNldCh0ZXN0X21haW5fU09VUkNFUwogKQogCiAjIFRlc3RXVEYKLWxpc3Qo
UkVNT1ZFX0lURU0gVGVzdFdURl9TT1VSQ0VTIFRlc3RzL1dURi9GaWxlU3lzdGVtLmNwcCkKIGxp
c3QoQVBQRU5EIFRlc3RXVEZfU09VUkNFUwogICAgICR7dGVzdF9tYWluX1NPVVJDRVN9CiAgICAg
d2luL1V0aWxpdGllc1dpbi5jcHAKd2FybmluZzogTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxG
IGluIFNvdXJjZS9XVEYvQ2hhbmdlTG9nLgpUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdpbmFs
IGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5Cndhcm5pbmc6IExGIHdpbGwg
YmUgcmVwbGFjZWQgYnkgQ1JMRiBpbiBUb29scy9DaGFuZ2VMb2cuClRoZSBmaWxlIHdpbGwgaGF2
ZSBpdHMgb3JpZ2luYWwgbGluZSBlbmRpbmdzIGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkK
</data>
<flag name="commit-queue"
          id="389441"
          type_id="3"
          status="-"
          setter="chris.reid"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373649</attachid>
            <date>2019-07-08 11:32:52 -0700</date>
            <delta_ts>2019-07-08 12:09:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-198269-20190708113251.patch</filename>
            <type>text/plain</type>
            <size>4466</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyZjMwNWU3NzAwNGUxZWExYTY1YzZi
OWNmMGNlYjM1MmFhZjc4YTIuLjkzODFlN2UwMzEwMTQxZTNlNzFiNzM1M2FiYjFlN2QyZjA1YjM0
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDctMDMgIENocmlzdG9waGVyIFJlaWQgIDxj
aHJpcy5yZWlkQHNvbnkuY29tPgorCisgICAgICAgIEltcGxlbWVudCBNYXBwZWRGaWxlRGF0YSBm
b3IgV2luZG93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk4MjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
T3JpZ2luYWwgcGF0Y2ggYnkgRnVqaWkgSGlyb25vcmkuCisKKyAgICAgICAgQWRkIFdpbmRvd3Mg
aW1wbGVtZW50YXRpb25zIGZvciBNYXBwZWRGaWxlRGF0YSBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1
Y3Rvci4KKworICAgICAgICAqIHd0Zi9GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKiB3dGYvRmls
ZVN5c3RlbS5oOgorICAgICAgICAqIHd0Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHA6CisKIDIwMTkt
MDctMDEgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHU3RyZWFtZXJdIENhbm5vdCBwbGF5IEJlcnQncyBCeXRlcyByYWRpbyBzdHJlYW0gZnJvbSBo
dHRwOi8vcmFkaW8uZG9zLm5sLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmlsZVN5c3Rl
bS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcAppbmRleCBiYTQ5YjFlNzdhN2E0
MTc0OWFiNDAyMzUzMDRlOWY1YmY0ZGFmZmE4Li45NzU0MjliYWQwOWYxNzE1ODdjNjNmOTMzYTFl
N2NhMmQ5NjU3ZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcApAQCAtMjc0LDIxICsyNzQsMTcgQEAg
Ym9vbCBleGNsdWRlRnJvbUJhY2t1cChjb25zdCBTdHJpbmcmKQogCiAjZW5kaWYKIAorI2lmIEhB
VkUoTU1BUCkKKwogTWFwcGVkRmlsZURhdGE6On5NYXBwZWRGaWxlRGF0YSgpCiB7Ci0jaWYgIU9T
KFdJTkRPV1MpCiAgICAgaWYgKCFtX2ZpbGVEYXRhKQogICAgICAgICByZXR1cm47CiAgICAgbXVu
bWFwKG1fZmlsZURhdGEsIG1fZmlsZVNpemUpOwotI2VuZGlmCiB9CiAKIE1hcHBlZEZpbGVEYXRh
OjpNYXBwZWRGaWxlRGF0YShjb25zdCBTdHJpbmcmIGZpbGVQYXRoLCBib29sJiBzdWNjZXNzKQog
ewotI2lmIE9TKFdJTkRPV1MpCi0gICAgLy8gRklYTUU6IEltcGxlbWVudCBtYXBwaW5nCi0gICAg
c3VjY2VzcyA9IGZhbHNlOwotI2Vsc2UKICAgICBDU3RyaW5nIGZzUmVwID0gZmlsZVN5c3RlbVJl
cHJlc2VudGF0aW9uKGZpbGVQYXRoKTsKICAgICBpbnQgZmQgPSAhZnNSZXAuaXNOdWxsKCkgPyBv
cGVuKGZzUmVwLmRhdGEoKSwgT19SRE9OTFkpIDogLTE7CiAgICAgaWYgKGZkIDwgMCkgewpAQCAt
MzI3LDkgKzMyMywxMCBAQCBNYXBwZWRGaWxlRGF0YTo6TWFwcGVkRmlsZURhdGEoY29uc3QgU3Ry
aW5nJiBmaWxlUGF0aCwgYm9vbCYgc3VjY2VzcykKICAgICBzdWNjZXNzID0gdHJ1ZTsKICAgICBt
X2ZpbGVEYXRhID0gZGF0YTsKICAgICBtX2ZpbGVTaXplID0gc2l6ZTsKLSNlbmRpZgogfQogCisj
ZW5kaWYKKwogUGxhdGZvcm1GaWxlSGFuZGxlIG9wZW5BbmRMb2NrRmlsZShjb25zdCBTdHJpbmcm
IHBhdGgsIEZpbGVPcGVuTW9kZSBvcGVuTW9kZSwgT3B0aW9uU2V0PEZpbGVMb2NrTW9kZT4gbG9j
a01vZGUpCiB7CiAgICAgYXV0byBoYW5kbGUgPSBvcGVuRmlsZShwYXRoLCBvcGVuTW9kZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi93aW4vRmlsZVN5c3RlbVdpbi5jcHAKaW5kZXggZTQ3MzE1N2YyMjhjOGIzZTg3YzRj
Mzc5YWEwNjk0MWM4YWEyMGY5My4uNThjOTM0NDgwOGU2NzEwNTNlMzE2MGUwNzk2YjQwMjI5Nzcy
NThlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCisr
KyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9GaWxlU3lzdGVtV2luLmNwcApAQCAtNTg4LDUgKzU4OCw0
NCBAQCBib29sIGRlbGV0ZU5vbkVtcHR5RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5
UGF0aCkKICAgICByZXR1cm4gIVNIRmlsZU9wZXJhdGlvbigmZGVsZXRlT3BlcmF0aW9uKTsKIH0K
IAorTWFwcGVkRmlsZURhdGE6On5NYXBwZWRGaWxlRGF0YSgpCit7CisgICAgaWYgKCFtX2ZpbGVE
YXRhKQorICAgICAgICByZXR1cm47CisgICAgVW5tYXBWaWV3T2ZGaWxlKG1fZmlsZURhdGEpOwor
fQorCitNYXBwZWRGaWxlRGF0YTo6TWFwcGVkRmlsZURhdGEoY29uc3QgU3RyaW5nJiBmaWxlUGF0
aCwgYm9vbCYgc3VjY2VzcykKK3sKKyAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgYXV0byBmaWxl
ID0gQ3JlYXRlRmlsZShmaWxlUGF0aC53aWRlQ2hhcmFjdGVycygpLmRhdGEoKSwgR0VORVJJQ19S
RUFELCAwLCBudWxscHRyLCBPUEVOX0VYSVNUSU5HLCBGSUxFX0FUVFJJQlVURV9OT1JNQUwsIG51
bGxwdHIpOworICAgIGlmIChmaWxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBsb25nIGxvbmcgc2l6ZTsKKyAgICBpZiAoIWdldEZpbGVTaXplKGZpbGUs
IHNpemUpIHx8IHNpemUgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIHx8IHNp
emUgPiBzdGQ6Om51bWVyaWNfbGltaXRzPGRlY2x0eXBlKG1fZmlsZVNpemUpPjo6bWF4KCkpIHsK
KyAgICAgICAgQ2xvc2VIYW5kbGUoZmlsZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoIXNpemUpIHsKKyAgICAgICAgQ2xvc2VIYW5kbGUoZmlsZSk7CisgICAgICAgIHN1Y2Nl
c3MgPSB0cnVlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBtYXBwaW5nID0g
Q3JlYXRlRmlsZU1hcHBpbmcoZmlsZSwgbnVsbHB0ciwgUEFHRV9SRUFET05MWSwgMCwgMCwgbnVs
bHB0cik7CisgICAgQ2xvc2VIYW5kbGUoZmlsZSk7CisgICAgaWYgKCFtYXBwaW5nKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX2ZpbGVEYXRhID0gTWFwVmlld09mRmlsZShtYXBwaW5nLCBGSUxF
X01BUF9SRUFELCAwLCAwLCBzaXplKTsKKyAgICBDbG9zZUhhbmRsZShtYXBwaW5nKTsKKyAgICBp
ZiAoIW1fZmlsZURhdGEpCisgICAgICAgIHJldHVybjsKKyAgICBtX2ZpbGVTaXplID0gc2l6ZTsK
KyAgICBzdWNjZXNzID0gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgRmlsZVN5c3RlbUltcGwK
IH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGJkZjliYjM1ODA0MGY2NzI3Yjg1ZDIzZTgwZjZlMDYyZjY1NGZlZjUu
LjQ1NzhkNWYyOTAwNDNlNTk5OGE4NjY2ZjJjMTg3ZDNkNDAxM2IyNDkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
OS0wNy0wMyAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlzLnJlaWRAc29ueS5jb20+CisKKyAgICAg
ICAgSW1wbGVtZW50IE1hcHBlZEZpbGVEYXRhIGZvciBXaW5kb3dzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgyNjkKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4u
Y21ha2U6CisKIDIwMTktMDctMDEgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdUSyBhMTF5IHRlc3RzIGZpeCBhZnRlciByMjQ2
OTU4CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2luLmNtYWtlIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCAwYzQ4Y2YwNGZlNTQx
ZTUyYWEyN2RiNzhlNTc0Nzc3OGUyYTE3OGFjLi4zNDkzMzQ4MjZmYTM0ZGIyOGFlMmQ4MjYwZmM1
YWU0ZDUyNGRjMGVmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtV2lu
LmNtYWtlCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1XaW4uY21ha2UKQEAgLTE3
LDcgKzE3LDYgQEAgc2V0KHRlc3RfbWFpbl9TT1VSQ0VTCiApCiAKICMgVGVzdFdURgotbGlzdChS
RU1PVkVfSVRFTSBUZXN0V1RGX1NPVVJDRVMgVGVzdHMvV1RGL0ZpbGVTeXN0ZW0uY3BwKQogbGlz
dChBUFBFTkQgVGVzdFdURl9TT1VSQ0VTCiAgICAgJHt0ZXN0X21haW5fU09VUkNFU30KICAgICB3
aW4vVXRpbGl0aWVzV2luLmNwcAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>