<?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>191936</bug_id>
          
          <creation_ts>2018-11-23 18:33:25 -0800</creation_ts>
          <short_desc>Add raw pointer overloads to ListHashSet via SmartPtr specialized functions</short_desc>
          <delta_ts>2018-11-25 21:47:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jlewis3</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1481225</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-11-23 18:33:25 -0800</bug_when>
    <thetext>Add raw pointer overloads to ListHashSet via SmartPtr specialized functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481226</commentid>
    <comment_count>1</comment_count>
      <attachid>355545</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-11-23 18:44:44 -0800</bug_when>
    <thetext>Created attachment 355545
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481227</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-11-23 18:47:23 -0800</bug_when>
    <thetext>Attachment 355545 did not pass style-queue:


ERROR: Source/WTF/wtf/ListHashSet.h:639:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:649:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:659:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:666:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:673:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:680:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 6 in 5 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>1481236</commentid>
    <comment_count>3</comment_count>
      <attachid>355551</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-11-23 19:34:35 -0800</bug_when>
    <thetext>Created attachment 355551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481237</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-11-23 19:37:38 -0800</bug_when>
    <thetext>Attachment 355551 did not pass style-queue:


ERROR: Source/WTF/wtf/ListHashSet.h:639:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:649:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:659:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:666:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:673:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/ListHashSet.h:680:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 6 in 5 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>1481247</commentid>
    <comment_count>5</comment_count>
      <attachid>355551</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-11-23 21:31:43 -0800</bug_when>
    <thetext>Comment on attachment 355551
Patch

omg, thank you. I&apos;ve been wanting to do this for months.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481248</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-11-23 21:44:15 -0800</bug_when>
    <thetext>(In reply to zalan from comment #5)
&gt; Comment on attachment 355551 [details]
&gt; Patch
&gt; 
&gt; omg, thank you. I&apos;ve been wanting to do this for months.

Yeah, I saw the FIXME and decided to do it. I have a follow up which fixes the InlineItem list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481253</commentid>
    <comment_count>7</comment_count>
      <attachid>355551</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-23 22:08:38 -0800</bug_when>
    <thetext>Comment on attachment 355551
Patch

Clearing flags on attachment: 355551

Committed r238467: &lt;https://trac.webkit.org/changeset/238467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481254</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-23 22:08:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481257</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-23 22:09:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/46226142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481258</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-11-23 22:13:13 -0800</bug_when>
    <thetext>Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481455</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-11-25 21:45:28 -0800</bug_when>
    <thetext>One of the API tests added with this change is failing on iOS:

    TestWTF.WTF_ListHashSet.UniquePtrKey_InsertBeforeUsingRawPointer
        
        /Volumes/Data/slave/ios-simulator-12-release/build/Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp:453
        Expected equality of these values:
          ptrWith2
            Which is: 0x7faee4f03c90
          firstWith4.get()
            Which is: 0x7faee4f03ca0
      
https://build.webkit.org/builders/Apple%20iOS%2012%20Simulator%20Release%20WK2%20%28Tests%29/builds/1130/steps/run-api-tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481456</commentid>
    <comment_count>12</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-11-25 21:47:15 -0800</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #11)
&gt; One of the API tests added with this change is failing on iOS:
&gt; 
&gt;     TestWTF.WTF_ListHashSet.UniquePtrKey_InsertBeforeUsingRawPointer
&gt;         
&gt;        
&gt; /Volumes/Data/slave/ios-simulator-12-release/build/Tools/TestWebKitAPI/Tests/
&gt; WTF/ListHashSet.cpp:453
&gt;         Expected equality of these values:
&gt;           ptrWith2
&gt;             Which is: 0x7faee4f03c90
&gt;           firstWith4.get()
&gt;             Which is: 0x7faee4f03ca0
&gt;       
&gt; https://build.webkit.org/builders/
&gt; Apple%20iOS%2012%20Simulator%20Release%20WK2%20%28Tests%29/builds/1130/steps/
&gt; run-api-tests/logs/stdio
Oh, I think this was fixed in https://trac.webkit.org/changeset/238486/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481457</commentid>
    <comment_count>13</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-25 21:47:50 -0800</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #12)
&gt; (In reply to Ryan Haddad from comment #11)
&gt; &gt; One of the API tests added with this change is failing on iOS:
&gt; &gt; 
&gt; &gt;     TestWTF.WTF_ListHashSet.UniquePtrKey_InsertBeforeUsingRawPointer
&gt; &gt;         
&gt; &gt;        
&gt; &gt; /Volumes/Data/slave/ios-simulator-12-release/build/Tools/TestWebKitAPI/Tests/
&gt; &gt; WTF/ListHashSet.cpp:453
&gt; &gt;         Expected equality of these values:
&gt; &gt;           ptrWith2
&gt; &gt;             Which is: 0x7faee4f03c90
&gt; &gt;           firstWith4.get()
&gt; &gt;             Which is: 0x7faee4f03ca0
&gt; &gt;       
&gt; &gt; https://build.webkit.org/builders/
&gt; &gt; Apple%20iOS%2012%20Simulator%20Release%20WK2%20%28Tests%29/builds/1130/steps/
&gt; &gt; run-api-tests/logs/stdio
&gt; Oh, I think this was fixed in https://trac.webkit.org/changeset/238486/webkit
Yeah, I fixed it already.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355545</attachid>
            <date>2018-11-23 18:44:44 -0800</date>
            <delta_ts>2018-11-23 19:34:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191936-20181123184443.patch</filename>
            <type>text/plain</type>
            <size>9679</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMzg0NjQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE4LTExLTIzICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHJhdyBwb2ludGVyIG92ZXJsb2FkcyB0byBMaXN0SGFz
aFNldCB2aWEgU21hcnRQdHIgc3BlY2lhbGl6ZWQgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE5MzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIG92ZXJsb2FkcyBmb3IgZmluZCwg
Y29udGFpbnMsIGluc2VydEJlZm9yZSBhbmQgcmVtb3ZlIHRoYXQgdGFrZSByYXcgcG9pbnRlcnMK
KyAgICAgICAgd2hlbiB0aGUgdmFsdWUgdHlwZSBWIG9mIGEgTGlzdEhhc2hTZXQgaXMgdHJ1ZSBm
b3IgdGhlIHByZWRpY2F0ZSBJc1NtYXJ0UHRyPFY+Ojp2YWx1ZS4KKyAgICAgICAgVGhpcyBicmlu
Z3MgdGhlIGludGVyZmFjZSB0byBMaXN0SGFzaFNldCBjbG9zZXIgaW5saW5lIHdpdGggSGFzaFNl
dCwgSGFzaE1hcCBhbmQgSGFzaENvdW50ZWRTZXQKKyAgICAgICAgd2hpY2ggYWxyZWFkeSBoYXZl
IHRoaXMgZnVuY3Rpb25hbGl0eS4gTGlrZSBpbiB0aGUgb3RoZXIgY29sbGVjdGlvbnMsIHRoaXMg
aXMgZXNwZWNpYWxseQorICAgICAgICB1c2VmdWwgd2hlbiB1c2luZyBzdGQ6OnVuaXF1ZV9wdHI8
PiBhcyB0aGUgdmFsdWUsIHNpbmNlIHRoZXJlIHdvdWxkIGJlIG5vIHdheSB0byBwYXNzIGl0Cisg
ICAgICAgIHRvIHRoZXNlIGZ1bmN0aW9ucy4gT25lIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIHNl
dCBvZiBvdmVybG9hZHMgaXMgdGhlIGluY2x1c2lvbiBvZiBpbnNlcnRCZWZvcmUsCisgICAgICAg
IHdoaWNoIGlzIHVuaXF1ZSB0byBMaXN0SGFzaFNldC4gQXMgd291bGQgYmUgZXhwZWN0ZWQsIHRo
aXMgc3BlY2lhbGl6YXRpb24gb25seSBjaGFuZ2VzIHRoZSBmaXJzdAorICAgICAgICBwYXJhbWV0
ZXIsIHRoZSBvbmUgdGhhdCBuZWVkcyB0byBiZSBmb3VuZCwgdG8gc3VwcG9ydCBhIHJhdyBwb2lu
dGVyLiAgCisKKyAgICAgICAgKiB3dGYvTGlzdEhhc2hTZXQuaDoKKyAgICAgICAgKFdURjo6VT46
OmZpbmQpOgorICAgICAgICAoV1RGOjpVPjo6ZmluZCBjb25zdCk6CisgICAgICAgIChXVEY6OlU+
Ojpjb250YWlucyBjb25zdCk6CisgICAgICAgIChXVEY6OlU+OjppbnNlcnRCZWZvcmUpOgorICAg
ICAgICAoV1RGOjpVPjo6cmVtb3ZlKToKKwogMjAxOC0xMS0yMSAgWXVzdWtlIFN1enVraSAgPHl1
c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgogCiAgICAgICAgIFtKU0NdIERyb3AgQVJNX1RSQURJ
VElPTkFMIHN1cHBvcnQgaW4gTExJbnQsIGJhc2VsaW5lIEpJVCwgYW5kIERGRwpJbmRleDogU291
cmNlL1dURi93dGYvTGlzdEhhc2hTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9M
aXN0SGFzaFNldC5oCShyZXZpc2lvbiAyMzg0NjQpCisrKyBTb3VyY2UvV1RGL3d0Zi9MaXN0SGFz
aFNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNiArMTQyLDE0IEBAIHB1YmxpYzoKICAgICBi
b29sIHJlbW92ZShpdGVyYXRvcik7CiAgICAgdm9pZCBjbGVhcigpOwogCisgICAgLy8gT3Zlcmxv
YWRzIGZvciBzbWFydCBwb2ludGVyIHZhbHVlcyB0aGF0IHRha2UgdGhlIHJhdyBwb2ludGVyIHR5
cGUgYXMgdGhlIHBhcmFtZXRlci4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBl
PiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgaXRlcmF0b3I+
Ojp0eXBlIGZpbmQodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlKTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1Nt
YXJ0UHRyPFY+Ojp2YWx1ZSwgY29uc3RfaXRlcmF0b3I+Ojp0eXBlIGZpbmQodHlwZW5hbWUgR2V0
UHRySGVscGVyPFY+OjpQdHJUeXBlKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0g
VmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwg
Ym9vbD46OnR5cGUgY29udGFpbnModHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlKSBj
b25zdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6
OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgQWRkUmVzdWx0Pjo6dHlwZSBpbnNlcnRC
ZWZvcmUodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlLCBjb25zdCBWYWx1ZVR5cGUm
KTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6OmVu
YWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgQWRkUmVzdWx0Pjo6dHlwZSBpbnNlcnRCZWZv
cmUodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlLCBWYWx1ZVR5cGUmJik7CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgViA9IFZhbHVlVHlwZT4gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8
SXNTbWFydFB0cjxWPjo6dmFsdWUsIGJvb2w+Ojp0eXBlIHJlbW92ZSh0eXBlbmFtZSBHZXRQdHJI
ZWxwZXI8Vj46OlB0clR5cGUpOworCiBwcml2YXRlOgogICAgIHZvaWQgdW5saW5rKE5vZGUqKTsK
ICAgICB2b2lkIHVubGlua0FuZERlbGV0ZShOb2RlKik7CkBAIC02MjYsNiArNjM0LDU0IEBAIGlu
bGluZSB2b2lkIExpc3RIYXNoU2V0PFQsIFU+OjpjbGVhcigpCiB9CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBWPgoraW5saW5lIGF1dG8gTGlz
dEhhc2hTZXQ8VCwgVT46OmZpbmQodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlIHZh
bHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgaXRl
cmF0b3I+Ojp0eXBlCit7CisgICAgYXV0byBpdCA9IG1faW1wbC50ZW1wbGF0ZSBmaW5kPEJhc2VU
cmFuc2xhdG9yPih2YWx1ZSk7CisgICAgaWYgKGl0ID09IG1faW1wbC5lbmQoKSkKKyAgICAgICAg
cmV0dXJuIGVuZCgpOworICAgIHJldHVybiBtYWtlSXRlcmF0b3IoKml0KTsKK30KKwordGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KK3RlbXBsYXRlPHR5cGVuYW1lIFY+CitpbmxpbmUg
YXV0byBMaXN0SGFzaFNldDxULCBVPjo6ZmluZCh0eXBlbmFtZSBHZXRQdHJIZWxwZXI8Vj46OlB0
clR5cGUgdmFsdWUpIGNvbnN0IC0+IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPElzU21hcnRQdHI8
Vj46OnZhbHVlLCBjb25zdF9pdGVyYXRvcj46OnR5cGUKK3sKKyAgICBhdXRvIGl0ID0gbV9pbXBs
LnRlbXBsYXRlIGZpbmQ8QmFzZVRyYW5zbGF0b3I+KHZhbHVlKTsKKyAgICBpZiAoaXQgPT0gbV9p
bXBsLmVuZCgpKQorICAgICAgICByZXR1cm4gZW5kKCk7CisgICAgcmV0dXJuIG1ha2VDb25zdEl0
ZXJhdG9yKCppdCk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBWPgoraW5saW5lIGF1dG8gTGlzdEhhc2hTZXQ8VCwgVT46OmNvbnRhaW5z
KHR5cGVuYW1lIEdldFB0ckhlbHBlcjxWPjo6UHRyVHlwZSB2YWx1ZSkgY29uc3QgLT4gdHlwZW5h
bWUgc3RkOjplbmFibGVfaWY8SXNTbWFydFB0cjxWPjo6dmFsdWUsIGJvb2w+Ojp0eXBlCit7Cisg
ICAgcmV0dXJuIG1faW1wbC50ZW1wbGF0ZSBjb250YWluczxCYXNlVHJhbnNsYXRvcj4odmFsdWUp
OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgordGVtcGxhdGU8dHlwZW5h
bWUgVj4KK2lubGluZSBhdXRvIExpc3RIYXNoU2V0PFQsIFU+OjppbnNlcnRCZWZvcmUodHlwZW5h
bWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlIGJlZm9yZVZhbHVlLCBjb25zdCBWYWx1ZVR5cGUm
IG5ld1ZhbHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1
ZSwgQWRkUmVzdWx0Pjo6dHlwZQoreworICAgIHJldHVybiBpbnNlcnRCZWZvcmUoZmluZChiZWZv
cmVWYWx1ZSksIG5ld1ZhbHVlKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
VT4KK3RlbXBsYXRlPHR5cGVuYW1lIFY+CitpbmxpbmUgYXV0byBMaXN0SGFzaFNldDxULCBVPjo6
aW5zZXJ0QmVmb3JlKHR5cGVuYW1lIEdldFB0ckhlbHBlcjxWPjo6UHRyVHlwZSBiZWZvcmVWYWx1
ZSwgVmFsdWVUeXBlJiYgbmV3VmFsdWUpIC0+IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPElzU21h
cnRQdHI8Vj46OnZhbHVlLCBBZGRSZXN1bHQ+Ojp0eXBlCit7CisgICAgcmV0dXJuIGluc2VydEJl
Zm9yZShmaW5kKGJlZm9yZVZhbHVlKSwgV1RGTW92ZShuZXdWYWx1ZSkpOworfQorCit0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgordGVtcGxhdGU8dHlwZW5hbWUgVj4KK2lubGluZSBh
dXRvIExpc3RIYXNoU2V0PFQsIFU+OjpyZW1vdmUodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQ
dHJUeXBlIHZhbHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2
YWx1ZSwgYm9vbD46OnR5cGUKK3sKKyAgICByZXR1cm4gcmVtb3ZlKGZpbmQodmFsdWUpKTsKK30K
KwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KIHZvaWQgTGlzdEhhc2hTZXQ8VCwg
VT46OnVubGluayhOb2RlKiBub2RlKQogewogICAgIGlmICghbm9kZS0+bV9wcmV2KSB7CkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMzg0NjUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NSBAQAorMjAxOC0xMS0yMyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEFkZCByYXcgcG9pbnRlciBvdmVybG9hZHMgdG8gTGlzdEhhc2hTZXQgdmlhIFNtYXJ0UHRyIHNw
ZWNpYWxpemVkIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxOTM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkcyB0ZXN0cyBmb3IgcmF3IHBvaW50ZXIgb3ZlcmxvYWRzIGluIExpc3RI
YXNoU2V0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHA6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTGlzdEhhc2hTZXQuY3BwOgorCiAy
MDE4LTExLTIzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVuYWJsZSBkcmFnIGFuZCBkcm9wIHN1cHBvcnQgZm9yIGlPU01hYwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHAJKHJldmlzaW9uIDIzODQ2NCkKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIHRlbXBsYXRl
PGludCBpbml0aWFsQ2FwYWNpdHk+Ci0gICAgc3RydWN0IEluaXRpYWxDYXBhY2l0eVRlc3RIYXNo
VHJhaXRzIDogcHVibGljIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8aW50PiB7
CitzdHJ1Y3QgSW5pdGlhbENhcGFjaXR5VGVzdEhhc2hUcmFpdHMgOiBwdWJsaWMgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ+IHsKICAgICBzdGF0aWMgY29uc3QgaW50IG1p
bmltdW1UYWJsZVNpemUgPSBpbml0aWFsQ2FwYWNpdHk7CiB9OwogCkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9MaXN0SGFzaFNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTGlzdEhhc2hTZXQuY3BwCShyZXZpc2lvbiAyMzg0NjQp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9MaXN0SGFzaFNldC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCisjaW5j
bHVkZSAiQ291bnRlcnMuaCIKICNpbmNsdWRlICJNb3ZlT25seS5oIgogI2luY2x1ZGUgPHd0Zi9M
aXN0SGFzaFNldC5oPgogCkBAIC0zNzMsNCArMzc0LDEwNiBAQCBURVNUKFdURl9MaXN0SGFzaFNl
dCwgSW5pdGlhbGl6ZXJMaXN0Q29uCiAgICAgKytpdGVyYXRvcjsKIH0KIAorVEVTVChXVEZfTGlz
dEhhc2hTZXQsIFVuaXF1ZVB0cktleSkKK3sKKyAgICBDb25zdHJ1Y3RvckRlc3RydWN0b3JDb3Vu
dGVyOjpUZXN0aW5nU2NvcGUgc2NvcGU7CisKKyAgICBMaXN0SGFzaFNldDxzdGQ6OnVuaXF1ZV9w
dHI8Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4+IGxpc3Q7CisKKyAgICBhdXRvIHVuaXF1
ZVB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4oKTsK
KyAgICBsaXN0LmFkZChXVEZNb3ZlKHVuaXF1ZVB0cikpOworCisgICAgRVhQRUNUX0VRKDF1LCBD
b25zdHJ1Y3RvckRlc3RydWN0b3JDb3VudGVyOjpjb25zdHJ1Y3Rpb25Db3VudCk7CisgICAgRVhQ
RUNUX0VRKDB1LCBDb25zdHJ1Y3RvckRlc3RydWN0b3JDb3VudGVyOjpkZXN0cnVjdGlvbkNvdW50
KTsKKworICAgIGxpc3QuY2xlYXIoKTsKKworICAgIEVYUEVDVF9FUSgxdSwgQ29uc3RydWN0b3JE
ZXN0cnVjdG9yQ291bnRlcjo6Y29uc3RydWN0aW9uQ291bnQpOworICAgIEVYUEVDVF9FUSgxdSwg
Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcjo6ZGVzdHJ1Y3Rpb25Db3VudCk7Cit9CisKK1RF
U1QoV1RGX0xpc3RIYXNoU2V0LCBVbmlxdWVQdHJLZXlfRmluZFVzaW5nUmF3UG9pbnRlcikKK3sK
KyAgICBMaXN0SGFzaFNldDxzdGQ6OnVuaXF1ZV9wdHI8aW50Pj4gbGlzdDsKKworICAgIGF1dG8g
dW5pcXVlUHRyID0gc3RkOjptYWtlX3VuaXF1ZTxpbnQ+KDUpOworICAgIGF1dG8gcHRyID0gdW5p
cXVlUHRyLmdldCgpOworICAgIGxpc3QuYWRkKFdURk1vdmUodW5pcXVlUHRyKSk7CisKKyAgICBh
dXRvIGl0ID0gc2V0LmZpbmQocHRyKTsKKyAgICBBU1NFUlRfVFJVRShpdCAhPSBzZXQuZW5kKCkp
OworICAgIEVYUEVDVF9FUShwdHIsIGl0LT5nZXQoKSk7CisgICAgRVhQRUNUX0VRKDUsICppdC0+
Z2V0KCkpOworfQorCitURVNUKFdURl9MaXN0SGFzaFNldCwgVW5pcXVlUHRyS2V5X0NvbnRhaW5z
VXNpbmdSYXdQb2ludGVyKQoreworICAgIExpc3RIYXNoU2V0PHN0ZDo6dW5pcXVlX3B0cjxpbnQ+
PiBsaXN0OworCisgICAgYXV0byB1bmlxdWVQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPGludD4oNSk7
CisgICAgYXV0byBwdHIgPSB1bmlxdWVQdHIuZ2V0KCk7CisgICAgbGlzdC5hZGQoV1RGTW92ZSh1
bmlxdWVQdHIpKTsKKworICAgIEVYUEVDVF9FUSh0cnVlLCBzZXQuY29udGFpbnMocHRyKSk7Cit9
CisKK1RFU1QoV1RGX0xpc3RIYXNoU2V0LCBVbmlxdWVQdHJLZXlfSW5zZXJ0QmVmb3JlVXNpbmdS
YXdQb2ludGVyKQoreworICAgIExpc3RIYXNoU2V0PHN0ZDo6dW5pcXVlX3B0cjxpbnQ+PiBsaXN0
OworCisgICAgYXV0byB1bmlxdWVQdHJXaXRoMiA9IHN0ZDo6bWFrZV91bmlxdWU8aW50PigyKTsK
KyAgICBhdXRvIHB0cldpdGgyID0gdW5pcXVlUHRyV2l0aDIuZ2V0KCkKKyAgICBhdXRvIHVuaXF1
ZVB0cldpdGg0ID0gc3RkOjptYWtlX3VuaXF1ZTxpbnQ+KDQpOworICAgIGF1dG8gcHRyV2l0aDQg
PSB1bmlxdWVQdHJXaXRoNC5nZXQoKQorCisgICAgbGlzdC5hZGQoV1RGTW92ZSh1bmlxdWVQdHJX
aXRoMikpOworICAgIGxpc3QuYWRkKFdURk1vdmUodW5pcXVlUHRyV2l0aDQpKTsKKworICAgIC8v
IHsgMiwgNCB9CisgICAgQVNTRVJUX0VRKHB0cldpdGgyLCBsaXN0LmZpcnN0KCkuZ2V0KCkpOwor
ICAgIEFTU0VSVF9FUSgyLCAqbGlzdC5maXJzdCgpLmdldCgpKTsKKyAgICBBU1NFUlRfRVEocHRy
V2l0aDQsIGxpc3QubGFzdCgpLmdldCgpKTsKKyAgICBBU1NFUlRfRVEoNCwgKmxpc3QubGFzdCgp
LmdldCgpKTsKKworICAgIGF1dG8gdW5pcXVlUHRyV2l0aDMgPSBzdGQ6Om1ha2VfdW5pcXVlPGlu
dD4oMyk7CisgICAgYXV0byBwdHJXaXRoMyA9IHVuaXF1ZVB0cldpdGgzLmdldCgpCisKKyAgICBs
aXN0Lmluc2VydEJlZm9yZShwdHJXaXRoNCwgV1RGTW92ZSh1bmlxdWVQdHJXaXRoMykpOworICAg
IAorICAgIC8vIHsgMiwgMywgNCB9CisgICAgYXV0byBmaXJzdFdpdGgyID0gbGlzdC50YWtlRmly
c3QoKQorICAgIEFTU0VSVF9FUShwdHJXaXRoMiwgZmlyc3RXaXRoMi5nZXQoKSk7CisgICAgQVNT
RVJUX0VRKDIsICpmaXJzdFdpdGgyKTsKKworICAgIGF1dG8gZmlyc3RXaXRoMyA9IGxpc3QudGFr
ZUZpcnN0KCkKKyAgICBBU1NFUlRfRVEocHRyV2l0aDMsIGZpcnN0V2l0aDMuZ2V0KCkpOworICAg
IEFTU0VSVF9FUSgzLCAqZmlyc3RXaXRoMyk7CisKKyAgICBhdXRvIGZpcnN0V2l0aDQgPSBsaXN0
LnRha2VGaXJzdCgpCisgICAgQVNTRVJUX0VRKHB0cldpdGgyLCBmaXJzdFdpdGg0LmdldCgpKTsK
KyAgICBBU1NFUlRfRVEoNCwgKmZpcnN0V2l0aDQpOworCisgICAgQVNTRVJUX1RSVUUobGlzdC5p
c0VtcHR5KCkpOworfQorCitURVNUKFdURl9MaXN0SGFzaFNldCwgVW5pcXVlUHRyS2V5X1JlbW92
ZVVzaW5nUmF3UG9pbnRlcikKK3sKKyAgICBDb25zdHJ1Y3RvckRlc3RydWN0b3JDb3VudGVyOjpU
ZXN0aW5nU2NvcGUgc2NvcGU7CisKKyAgICBMaXN0SGFzaFNldDxzdGQ6OnVuaXF1ZV9wdHI8Q29u
c3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4+IGxpc3Q7CisKKyAgICBhdXRvIHVuaXF1ZVB0ciA9
IHN0ZDo6bWFrZV91bmlxdWU8Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4oKTsKKyAgICBh
dXRvKiBwdHIgPSB1bmlxdWVQdHIuZ2V0KCk7CisgICAgbGlzdC5hZGQoV1RGTW92ZSh1bmlxdWVQ
dHIpKTsKKworICAgIEVYUEVDVF9FUSgxdSwgQ29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcjo6
Y29uc3RydWN0aW9uQ291bnQpOworICAgIEVYUEVDVF9FUSgwdSwgQ29uc3RydWN0b3JEZXN0cnVj
dG9yQ291bnRlcjo6ZGVzdHJ1Y3Rpb25Db3VudCk7CisKKyAgICBib29sIHJlc3VsdCA9IGxpc3Qu
cmVtb3ZlKHB0cik7CisgICAgRVhQRUNUX0VRKHRydWUsIHJlc3VsdCk7CisKKyAgICBFWFBFQ1Rf
RVEoMXUsIENvbnN0cnVjdG9yRGVzdHJ1Y3RvckNvdW50ZXI6OmNvbnN0cnVjdGlvbkNvdW50KTsK
KyAgICBFWFBFQ1RfRVEoMXUsIENvbnN0cnVjdG9yRGVzdHJ1Y3RvckNvdW50ZXI6OmRlc3RydWN0
aW9uQ291bnQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355551</attachid>
            <date>2018-11-23 19:34:35 -0800</date>
            <delta_ts>2018-11-23 22:08:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191936-20181123193434.patch</filename>
            <type>text/plain</type>
            <size>9688</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMzg0NjQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE4LTExLTIzICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgQWRkIHJhdyBwb2ludGVyIG92ZXJsb2FkcyB0byBMaXN0SGFz
aFNldCB2aWEgU21hcnRQdHIgc3BlY2lhbGl6ZWQgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE5MzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIG92ZXJsb2FkcyBmb3IgZmluZCwg
Y29udGFpbnMsIGluc2VydEJlZm9yZSBhbmQgcmVtb3ZlIHRoYXQgdGFrZSByYXcgcG9pbnRlcnMK
KyAgICAgICAgd2hlbiB0aGUgdmFsdWUgdHlwZSBWIG9mIGEgTGlzdEhhc2hTZXQgaXMgdHJ1ZSBm
b3IgdGhlIHByZWRpY2F0ZSBJc1NtYXJ0UHRyPFY+Ojp2YWx1ZS4KKyAgICAgICAgVGhpcyBicmlu
Z3MgdGhlIGludGVyZmFjZSB0byBMaXN0SGFzaFNldCBjbG9zZXIgaW5saW5lIHdpdGggSGFzaFNl
dCwgSGFzaE1hcCBhbmQgSGFzaENvdW50ZWRTZXQKKyAgICAgICAgd2hpY2ggYWxyZWFkeSBoYXZl
IHRoaXMgZnVuY3Rpb25hbGl0eS4gTGlrZSBpbiB0aGUgb3RoZXIgY29sbGVjdGlvbnMsIHRoaXMg
aXMgZXNwZWNpYWxseQorICAgICAgICB1c2VmdWwgd2hlbiB1c2luZyBzdGQ6OnVuaXF1ZV9wdHI8
PiBhcyB0aGUgdmFsdWUsIHNpbmNlIHRoZXJlIHdvdWxkIGJlIG5vIHdheSB0byBwYXNzIGl0Cisg
ICAgICAgIHRvIHRoZXNlIGZ1bmN0aW9ucy4gT25lIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIHNl
dCBvZiBvdmVybG9hZHMgaXMgdGhlIGluY2x1c2lvbiBvZiBpbnNlcnRCZWZvcmUsCisgICAgICAg
IHdoaWNoIGlzIHVuaXF1ZSB0byBMaXN0SGFzaFNldC4gQXMgd291bGQgYmUgZXhwZWN0ZWQsIHRo
aXMgc3BlY2lhbGl6YXRpb24gb25seSBjaGFuZ2VzIHRoZSBmaXJzdAorICAgICAgICBwYXJhbWV0
ZXIsIHRoZSBvbmUgdGhhdCBuZWVkcyB0byBiZSBmb3VuZCwgdG8gc3VwcG9ydCBhIHJhdyBwb2lu
dGVyLiAgCisKKyAgICAgICAgKiB3dGYvTGlzdEhhc2hTZXQuaDoKKyAgICAgICAgKFdURjo6VT46
OmZpbmQpOgorICAgICAgICAoV1RGOjpVPjo6ZmluZCBjb25zdCk6CisgICAgICAgIChXVEY6OlU+
Ojpjb250YWlucyBjb25zdCk6CisgICAgICAgIChXVEY6OlU+OjppbnNlcnRCZWZvcmUpOgorICAg
ICAgICAoV1RGOjpVPjo6cmVtb3ZlKToKKwogMjAxOC0xMS0yMSAgWXVzdWtlIFN1enVraSAgPHl1
c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgogCiAgICAgICAgIFtKU0NdIERyb3AgQVJNX1RSQURJ
VElPTkFMIHN1cHBvcnQgaW4gTExJbnQsIGJhc2VsaW5lIEpJVCwgYW5kIERGRwpJbmRleDogU291
cmNlL1dURi93dGYvTGlzdEhhc2hTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9M
aXN0SGFzaFNldC5oCShyZXZpc2lvbiAyMzg0NjQpCisrKyBTb3VyY2UvV1RGL3d0Zi9MaXN0SGFz
aFNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNiArMTQyLDE0IEBAIHB1YmxpYzoKICAgICBi
b29sIHJlbW92ZShpdGVyYXRvcik7CiAgICAgdm9pZCBjbGVhcigpOwogCisgICAgLy8gT3Zlcmxv
YWRzIGZvciBzbWFydCBwb2ludGVyIHZhbHVlcyB0aGF0IHRha2UgdGhlIHJhdyBwb2ludGVyIHR5
cGUgYXMgdGhlIHBhcmFtZXRlci4KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBl
PiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgaXRlcmF0b3I+
Ojp0eXBlIGZpbmQodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlKTsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1Nt
YXJ0UHRyPFY+Ojp2YWx1ZSwgY29uc3RfaXRlcmF0b3I+Ojp0eXBlIGZpbmQodHlwZW5hbWUgR2V0
UHRySGVscGVyPFY+OjpQdHJUeXBlKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0g
VmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwg
Ym9vbD46OnR5cGUgY29udGFpbnModHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlKSBj
b25zdDsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6
OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgQWRkUmVzdWx0Pjo6dHlwZSBpbnNlcnRC
ZWZvcmUodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlLCBjb25zdCBWYWx1ZVR5cGUm
KTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWID0gVmFsdWVUeXBlPiB0eXBlbmFtZSBzdGQ6OmVu
YWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgQWRkUmVzdWx0Pjo6dHlwZSBpbnNlcnRCZWZv
cmUodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlLCBWYWx1ZVR5cGUmJik7CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgViA9IFZhbHVlVHlwZT4gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8
SXNTbWFydFB0cjxWPjo6dmFsdWUsIGJvb2w+Ojp0eXBlIHJlbW92ZSh0eXBlbmFtZSBHZXRQdHJI
ZWxwZXI8Vj46OlB0clR5cGUpOworCiBwcml2YXRlOgogICAgIHZvaWQgdW5saW5rKE5vZGUqKTsK
ICAgICB2b2lkIHVubGlua0FuZERlbGV0ZShOb2RlKik7CkBAIC02MjYsNiArNjM0LDU0IEBAIGlu
bGluZSB2b2lkIExpc3RIYXNoU2V0PFQsIFU+OjpjbGVhcigpCiB9CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBWPgoraW5saW5lIGF1dG8gTGlz
dEhhc2hTZXQ8VCwgVT46OmZpbmQodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlIHZh
bHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1ZSwgaXRl
cmF0b3I+Ojp0eXBlCit7CisgICAgYXV0byBpdCA9IG1faW1wbC50ZW1wbGF0ZSBmaW5kPEJhc2VU
cmFuc2xhdG9yPih2YWx1ZSk7CisgICAgaWYgKGl0ID09IG1faW1wbC5lbmQoKSkKKyAgICAgICAg
cmV0dXJuIGVuZCgpOworICAgIHJldHVybiBtYWtlSXRlcmF0b3IoKml0KTsKK30KKwordGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KK3RlbXBsYXRlPHR5cGVuYW1lIFY+CitpbmxpbmUg
YXV0byBMaXN0SGFzaFNldDxULCBVPjo6ZmluZCh0eXBlbmFtZSBHZXRQdHJIZWxwZXI8Vj46OlB0
clR5cGUgdmFsdWUpIGNvbnN0IC0+IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPElzU21hcnRQdHI8
Vj46OnZhbHVlLCBjb25zdF9pdGVyYXRvcj46OnR5cGUKK3sKKyAgICBhdXRvIGl0ID0gbV9pbXBs
LnRlbXBsYXRlIGZpbmQ8QmFzZVRyYW5zbGF0b3I+KHZhbHVlKTsKKyAgICBpZiAoaXQgPT0gbV9p
bXBsLmVuZCgpKQorICAgICAgICByZXR1cm4gZW5kKCk7CisgICAgcmV0dXJuIG1ha2VDb25zdEl0
ZXJhdG9yKCppdCk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+Cit0ZW1w
bGF0ZTx0eXBlbmFtZSBWPgoraW5saW5lIGF1dG8gTGlzdEhhc2hTZXQ8VCwgVT46OmNvbnRhaW5z
KHR5cGVuYW1lIEdldFB0ckhlbHBlcjxWPjo6UHRyVHlwZSB2YWx1ZSkgY29uc3QgLT4gdHlwZW5h
bWUgc3RkOjplbmFibGVfaWY8SXNTbWFydFB0cjxWPjo6dmFsdWUsIGJvb2w+Ojp0eXBlCit7Cisg
ICAgcmV0dXJuIG1faW1wbC50ZW1wbGF0ZSBjb250YWluczxCYXNlVHJhbnNsYXRvcj4odmFsdWUp
OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgordGVtcGxhdGU8dHlwZW5h
bWUgVj4KK2lubGluZSBhdXRvIExpc3RIYXNoU2V0PFQsIFU+OjppbnNlcnRCZWZvcmUodHlwZW5h
bWUgR2V0UHRySGVscGVyPFY+OjpQdHJUeXBlIGJlZm9yZVZhbHVlLCBjb25zdCBWYWx1ZVR5cGUm
IG5ld1ZhbHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2YWx1
ZSwgQWRkUmVzdWx0Pjo6dHlwZQoreworICAgIHJldHVybiBpbnNlcnRCZWZvcmUoZmluZChiZWZv
cmVWYWx1ZSksIG5ld1ZhbHVlKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
VT4KK3RlbXBsYXRlPHR5cGVuYW1lIFY+CitpbmxpbmUgYXV0byBMaXN0SGFzaFNldDxULCBVPjo6
aW5zZXJ0QmVmb3JlKHR5cGVuYW1lIEdldFB0ckhlbHBlcjxWPjo6UHRyVHlwZSBiZWZvcmVWYWx1
ZSwgVmFsdWVUeXBlJiYgbmV3VmFsdWUpIC0+IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPElzU21h
cnRQdHI8Vj46OnZhbHVlLCBBZGRSZXN1bHQ+Ojp0eXBlCit7CisgICAgcmV0dXJuIGluc2VydEJl
Zm9yZShmaW5kKGJlZm9yZVZhbHVlKSwgV1RGTW92ZShuZXdWYWx1ZSkpOworfQorCit0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPgordGVtcGxhdGU8dHlwZW5hbWUgVj4KK2lubGluZSBh
dXRvIExpc3RIYXNoU2V0PFQsIFU+OjpyZW1vdmUodHlwZW5hbWUgR2V0UHRySGVscGVyPFY+OjpQ
dHJUeXBlIHZhbHVlKSAtPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJc1NtYXJ0UHRyPFY+Ojp2
YWx1ZSwgYm9vbD46OnR5cGUKK3sKKyAgICByZXR1cm4gcmVtb3ZlKGZpbmQodmFsdWUpKTsKK30K
KwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KIHZvaWQgTGlzdEhhc2hTZXQ8VCwg
VT46OnVubGluayhOb2RlKiBub2RlKQogewogICAgIGlmICghbm9kZS0+bV9wcmV2KSB7CkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMzg0NjUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NSBAQAorMjAxOC0xMS0yMyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAg
IEFkZCByYXcgcG9pbnRlciBvdmVybG9hZHMgdG8gTGlzdEhhc2hTZXQgdmlhIFNtYXJ0UHRyIHNw
ZWNpYWxpemVkIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxOTM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkcyB0ZXN0cyBmb3IgcmF3IHBvaW50ZXIgb3ZlcmxvYWRzIGluIExpc3RI
YXNoU2V0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHA6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTGlzdEhhc2hTZXQuY3BwOgorCiAy
MDE4LTExLTIzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVuYWJsZSBkcmFnIGFuZCBkcm9wIHN1cHBvcnQgZm9yIGlPU01hYwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvSGFzaFNldC5jcHAJKHJldmlzaW9uIDIzODQ2NCkKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw3ICszNiw3IEBACiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIHRlbXBsYXRl
PGludCBpbml0aWFsQ2FwYWNpdHk+Ci0gICAgc3RydWN0IEluaXRpYWxDYXBhY2l0eVRlc3RIYXNo
VHJhaXRzIDogcHVibGljIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8aW50PiB7
CitzdHJ1Y3QgSW5pdGlhbENhcGFjaXR5VGVzdEhhc2hUcmFpdHMgOiBwdWJsaWMgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ+IHsKICAgICBzdGF0aWMgY29uc3QgaW50IG1p
bmltdW1UYWJsZVNpemUgPSBpbml0aWFsQ2FwYWNpdHk7CiB9OwogCkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9MaXN0SGFzaFNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTGlzdEhhc2hTZXQuY3BwCShyZXZpc2lvbiAyMzg0NjQp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9MaXN0SGFzaFNldC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCisjaW5j
bHVkZSAiQ291bnRlcnMuaCIKICNpbmNsdWRlICJNb3ZlT25seS5oIgogI2luY2x1ZGUgPHd0Zi9M
aXN0SGFzaFNldC5oPgogCkBAIC0zNzMsNCArMzc0LDEwNiBAQCBURVNUKFdURl9MaXN0SGFzaFNl
dCwgSW5pdGlhbGl6ZXJMaXN0Q29uCiAgICAgKytpdGVyYXRvcjsKIH0KIAorVEVTVChXVEZfTGlz
dEhhc2hTZXQsIFVuaXF1ZVB0cktleSkKK3sKKyAgICBDb25zdHJ1Y3RvckRlc3RydWN0b3JDb3Vu
dGVyOjpUZXN0aW5nU2NvcGUgc2NvcGU7CisKKyAgICBMaXN0SGFzaFNldDxzdGQ6OnVuaXF1ZV9w
dHI8Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4+IGxpc3Q7CisKKyAgICBhdXRvIHVuaXF1
ZVB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4oKTsK
KyAgICBsaXN0LmFkZChXVEZNb3ZlKHVuaXF1ZVB0cikpOworCisgICAgRVhQRUNUX0VRKDF1LCBD
b25zdHJ1Y3RvckRlc3RydWN0b3JDb3VudGVyOjpjb25zdHJ1Y3Rpb25Db3VudCk7CisgICAgRVhQ
RUNUX0VRKDB1LCBDb25zdHJ1Y3RvckRlc3RydWN0b3JDb3VudGVyOjpkZXN0cnVjdGlvbkNvdW50
KTsKKworICAgIGxpc3QuY2xlYXIoKTsKKworICAgIEVYUEVDVF9FUSgxdSwgQ29uc3RydWN0b3JE
ZXN0cnVjdG9yQ291bnRlcjo6Y29uc3RydWN0aW9uQ291bnQpOworICAgIEVYUEVDVF9FUSgxdSwg
Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcjo6ZGVzdHJ1Y3Rpb25Db3VudCk7Cit9CisKK1RF
U1QoV1RGX0xpc3RIYXNoU2V0LCBVbmlxdWVQdHJLZXlfRmluZFVzaW5nUmF3UG9pbnRlcikKK3sK
KyAgICBMaXN0SGFzaFNldDxzdGQ6OnVuaXF1ZV9wdHI8aW50Pj4gbGlzdDsKKworICAgIGF1dG8g
dW5pcXVlUHRyID0gc3RkOjptYWtlX3VuaXF1ZTxpbnQ+KDUpOworICAgIGF1dG8gcHRyID0gdW5p
cXVlUHRyLmdldCgpOworICAgIGxpc3QuYWRkKFdURk1vdmUodW5pcXVlUHRyKSk7CisKKyAgICBh
dXRvIGl0ID0gbGlzdC5maW5kKHB0cik7CisgICAgQVNTRVJUX1RSVUUoaXQgIT0gbGlzdC5lbmQo
KSk7CisgICAgRVhQRUNUX0VRKHB0ciwgaXQtPmdldCgpKTsKKyAgICBFWFBFQ1RfRVEoNSwgKml0
LT5nZXQoKSk7Cit9CisKK1RFU1QoV1RGX0xpc3RIYXNoU2V0LCBVbmlxdWVQdHJLZXlfQ29udGFp
bnNVc2luZ1Jhd1BvaW50ZXIpCit7CisgICAgTGlzdEhhc2hTZXQ8c3RkOjp1bmlxdWVfcHRyPGlu
dD4+IGxpc3Q7CisKKyAgICBhdXRvIHVuaXF1ZVB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8aW50Pig1
KTsKKyAgICBhdXRvIHB0ciA9IHVuaXF1ZVB0ci5nZXQoKTsKKyAgICBsaXN0LmFkZChXVEZNb3Zl
KHVuaXF1ZVB0cikpOworCisgICAgRVhQRUNUX0VRKHRydWUsIGxpc3QuY29udGFpbnMocHRyKSk7
Cit9CisKK1RFU1QoV1RGX0xpc3RIYXNoU2V0LCBVbmlxdWVQdHJLZXlfSW5zZXJ0QmVmb3JlVXNp
bmdSYXdQb2ludGVyKQoreworICAgIExpc3RIYXNoU2V0PHN0ZDo6dW5pcXVlX3B0cjxpbnQ+PiBs
aXN0OworCisgICAgYXV0byB1bmlxdWVQdHJXaXRoMiA9IHN0ZDo6bWFrZV91bmlxdWU8aW50Pigy
KTsKKyAgICBhdXRvIHB0cldpdGgyID0gdW5pcXVlUHRyV2l0aDIuZ2V0KCk7CisgICAgYXV0byB1
bmlxdWVQdHJXaXRoNCA9IHN0ZDo6bWFrZV91bmlxdWU8aW50Pig0KTsKKyAgICBhdXRvIHB0cldp
dGg0ID0gdW5pcXVlUHRyV2l0aDQuZ2V0KCk7CisKKyAgICBsaXN0LmFkZChXVEZNb3ZlKHVuaXF1
ZVB0cldpdGgyKSk7CisgICAgbGlzdC5hZGQoV1RGTW92ZSh1bmlxdWVQdHJXaXRoNCkpOworCisg
ICAgLy8geyAyLCA0IH0KKyAgICBBU1NFUlRfRVEocHRyV2l0aDIsIGxpc3QuZmlyc3QoKS5nZXQo
KSk7CisgICAgQVNTRVJUX0VRKDIsICpsaXN0LmZpcnN0KCkuZ2V0KCkpOworICAgIEFTU0VSVF9F
UShwdHJXaXRoNCwgbGlzdC5sYXN0KCkuZ2V0KCkpOworICAgIEFTU0VSVF9FUSg0LCAqbGlzdC5s
YXN0KCkuZ2V0KCkpOworCisgICAgYXV0byB1bmlxdWVQdHJXaXRoMyA9IHN0ZDo6bWFrZV91bmlx
dWU8aW50PigzKTsKKyAgICBhdXRvIHB0cldpdGgzID0gdW5pcXVlUHRyV2l0aDMuZ2V0KCk7CisK
KyAgICBsaXN0Lmluc2VydEJlZm9yZShwdHJXaXRoNCwgV1RGTW92ZSh1bmlxdWVQdHJXaXRoMykp
OworICAgIAorICAgIC8vIHsgMiwgMywgNCB9CisgICAgYXV0byBmaXJzdFdpdGgyID0gbGlzdC50
YWtlRmlyc3QoKTsKKyAgICBBU1NFUlRfRVEocHRyV2l0aDIsIGZpcnN0V2l0aDIuZ2V0KCkpOwor
ICAgIEFTU0VSVF9FUSgyLCAqZmlyc3RXaXRoMik7CisKKyAgICBhdXRvIGZpcnN0V2l0aDMgPSBs
aXN0LnRha2VGaXJzdCgpOworICAgIEFTU0VSVF9FUShwdHJXaXRoMywgZmlyc3RXaXRoMy5nZXQo
KSk7CisgICAgQVNTRVJUX0VRKDMsICpmaXJzdFdpdGgzKTsKKworICAgIGF1dG8gZmlyc3RXaXRo
NCA9IGxpc3QudGFrZUZpcnN0KCk7CisgICAgQVNTRVJUX0VRKHB0cldpdGgyLCBmaXJzdFdpdGg0
LmdldCgpKTsKKyAgICBBU1NFUlRfRVEoNCwgKmZpcnN0V2l0aDQpOworCisgICAgQVNTRVJUX1RS
VUUobGlzdC5pc0VtcHR5KCkpOworfQorCitURVNUKFdURl9MaXN0SGFzaFNldCwgVW5pcXVlUHRy
S2V5X1JlbW92ZVVzaW5nUmF3UG9pbnRlcikKK3sKKyAgICBDb25zdHJ1Y3RvckRlc3RydWN0b3JD
b3VudGVyOjpUZXN0aW5nU2NvcGUgc2NvcGU7CisKKyAgICBMaXN0SGFzaFNldDxzdGQ6OnVuaXF1
ZV9wdHI8Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4+IGxpc3Q7CisKKyAgICBhdXRvIHVu
aXF1ZVB0ciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29uc3RydWN0b3JEZXN0cnVjdG9yQ291bnRlcj4o
KTsKKyAgICBhdXRvKiBwdHIgPSB1bmlxdWVQdHIuZ2V0KCk7CisgICAgbGlzdC5hZGQoV1RGTW92
ZSh1bmlxdWVQdHIpKTsKKworICAgIEVYUEVDVF9FUSgxdSwgQ29uc3RydWN0b3JEZXN0cnVjdG9y
Q291bnRlcjo6Y29uc3RydWN0aW9uQ291bnQpOworICAgIEVYUEVDVF9FUSgwdSwgQ29uc3RydWN0
b3JEZXN0cnVjdG9yQ291bnRlcjo6ZGVzdHJ1Y3Rpb25Db3VudCk7CisKKyAgICBib29sIHJlc3Vs
dCA9IGxpc3QucmVtb3ZlKHB0cik7CisgICAgRVhQRUNUX0VRKHRydWUsIHJlc3VsdCk7CisKKyAg
ICBFWFBFQ1RfRVEoMXUsIENvbnN0cnVjdG9yRGVzdHJ1Y3RvckNvdW50ZXI6OmNvbnN0cnVjdGlv
bkNvdW50KTsKKyAgICBFWFBFQ1RfRVEoMXUsIENvbnN0cnVjdG9yRGVzdHJ1Y3RvckNvdW50ZXI6
OmRlc3RydWN0aW9uQ291bnQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>