<?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>219786</bug_id>
          
          <creation_ts>2020-12-11 09:47:31 -0800</creation_ts>
          <short_desc>Potential null dereference of m_frame under DocumentLoader::stopLoading()</short_desc>
          <delta_ts>2020-12-11 16:32:34 -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>Page Loading</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1713930</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-12-11 09:47:31 -0800</bug_when>
    <thetext>Potential null dereference of m_frame under DocumentLoader::stopLoading():

Thread[0] EXC_BAD_ACCESS (SIGSEGV) (KERN_INVALID_ADDRESS at 0x0000000000000008)
[  0] 0x0000000192459570 WebCore`WebCore::DocumentLoader::stopLoading() [inlined] WebCore::Frame::WeakValueType* WTF::WeakPtrImpl&lt;WTF::EmptyCounter&gt;::get&lt;WebCore::Frame&gt;() at WeakPtr.h:57:56

     0x0000000192459560:      cbz w8, 0x167861c        ; &lt;+392&gt; at DocumentLoader.cpp
     0x0000000192459564:      ldr x8, [x19, #0x8]
     0x0000000192459568:      mov w23, #0x0
     0x000000019245956c:      mov w20, #0x0
 -&gt;  0x0000000192459570:      ldr x8, [x8, #0x8]
     0x0000000192459574:      ldr x9, [x8, #0xc0]
     0x0000000192459578:     ldrb w9, [x9, #0x95d]
     0x000000019245957c:      cbz w9, 0x1678590        ; &lt;+252&gt; [inlined] WTF::HashTable&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt;, WTF::KeyValuePair&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt;, unsigned long long&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt;, unsigned long long&gt; &gt;, WTF::DefaultHash&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt; &gt;, WTF::HashMap&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt;, unsigned long long, WTF::DefaultHash&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt; &gt;, WTF::HashTraits&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt; &gt;, WTF::HashTraits&lt;unsigned long long&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;std::__1::unique_ptr&lt;WebCore::IconLoader, std::__1::default_delete&lt;WebCore::IconLoader&gt; &gt; &gt; &gt;::keyCount() const at HashTable.h:451
     0x0000000192459580:      ldr x0, [x8, #0xa0]

[  0] 0x0000000192459570 WebCore`WebCore::DocumentLoader::stopLoading() [inlined] WTF::WeakPtr&lt;WebCore::Frame, WTF::EmptyCounter&gt;::get() const + 12 at WeakPtr.h:95
[  0] 0x0000000192459564 WebCore`WebCore::DocumentLoader::stopLoading() [inlined] WTF::WeakPtr&lt;WebCore::Frame, WTF::EmptyCounter&gt;::operator-&gt;() const at WeakPtr.h:108
[  0] 0x0000000192459564 WebCore`WebCore::DocumentLoader::stopLoading() + 208 at DocumentLoader.cpp:297
       293 	
       294 	    if (m_committed) {
       295 	        // Attempt to stop the frame if the document loader is loading, or if it is done loading but
       296 	        // still  parsing. Failure to do so can cause a world leak.
    -&gt; 297 	        Document* doc = m_frame-&gt;document();
       298 	        
       299 	        if (loading || doc-&gt;parsing())
       300 	            m_frame-&gt;loader().stopLoading(UnloadEventPolicyNone);
       301 	    }
    
[  1] 0x000000019248a8bb WebCore`WebCore::FrameLoader::stopAllLoaders(WebCore::ClearProvisionalItemPolicy, WebCore::StopLoadingPolicy) + 371 at FrameLoader.cpp:1824:27
       1820	        child-&gt;loader().stopAllLoaders(clearProvisionalItemPolicy);
       1821	    if (m_provisionalDocumentLoader)
       1822	        m_provisionalDocumentLoader-&gt;stopLoading();
       1823	    if (m_documentLoader)
    -&gt; 1824	        m_documentLoader-&gt;stopLoading();
       1825	    if (m_frame.page() &amp;&amp; !m_frame.page()-&gt;chrome().client().isSVGImageChromeClient())
       1826	        platformStrategies()-&gt;loaderStrategy()-&gt;browsingContextRemoved(frame());
       1827	
       1828	    FRAMELOADER_RELEASE_LOG_IF_ALLOWED(ResourceLoading, &quot;stopAllLoaders: Clearing provisional document loader (m_provisionalDocumentLoader=%p)&quot;, m_provisionalDocumentLoader.get());
    
[  2] 0x000000019248a8bb WebCore`WebCore::FrameLoader::stopAllLoaders(WebCore::ClearProvisionalItemPolicy, WebCore::StopLoadingPolicy) + 371 at FrameLoader.cpp:1824:27
       1820	        child-&gt;loader().stopAllLoaders(clearProvisionalItemPolicy);
       1821	    if (m_provisionalDocumentLoader)
       1822	        m_provisionalDocumentLoader-&gt;stopLoading();
       1823	    if (m_documentLoader)
    -&gt; 1824	        m_documentLoader-&gt;stopLoading();
       1825	    if (m_frame.page() &amp;&amp; !m_frame.page()-&gt;chrome().client().isSVGImageChromeClient())
       1826	        platformStrategies()-&gt;loaderStrategy()-&gt;browsingContextRemoved(frame());
       1827	
       1828	    FRAMELOADER_RELEASE_LOG_IF_ALLOWED(ResourceLoading, &quot;stopAllLoaders: Clearing provisional document loader (m_provisionalDocumentLoader=%p)&quot;, m_provisionalDocumentLoader.get());
    
[  3] 0x000000019248dfbf WebCore`WebCore::FrameLoader::detachFromParent() + 103 at FrameLoader.cpp:2827:9
       2823	    if (m_frame.document()-&gt;backForwardCacheState() != Document::InBackForwardCache) {
       2824	        // stopAllLoaders() needs to be called after detachChildren() if the document is not in the back/forward cache,
       2825	        // because detachedChildren() will trigger the unload event handlers of any child frames, and those event
       2826	        // handlers might start a new subresource load in this frame.
    -&gt; 2827	        stopAllLoaders(ShouldClearProvisionalItem, StopLoadingPolicy::AlwaysStopLoading);
       2828	    }
       2829	
       2830	    InspectorInstrumentation::frameDetachedFromParent(m_frame);
       2831	
    
[  4] 0x0000000190c5738f WebKit`WebKit::WebPage::close() + 1003 at WebPage.cpp:1496:40
       1492	    m_fullScreenClient.initialize(0);
       1493	#endif
       1494	
       1495	    m_printContext = nullptr;
    -&gt; 1496	    m_mainFrame-&gt;coreFrame()-&gt;loader().detachFromParent();
       1497	    m_drawingArea = nullptr;
       1498	
       1499	    DeferredPageDestructor::createDeferredPageDestructor(WTFMove(m_page), this);
       1500</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713931</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-12-11 09:47:44 -0800</bug_when>
    <thetext>&lt;rdar://71945402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713939</commentid>
    <comment_count>2</comment_count>
      <attachid>416005</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-12-11 10:11:23 -0800</bug_when>
    <thetext>Created attachment 416005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713951</commentid>
    <comment_count>3</comment_count>
      <attachid>416007</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-12-11 10:35:57 -0800</bug_when>
    <thetext>Created attachment 416007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713954</commentid>
    <comment_count>4</comment_count>
      <attachid>416007</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-12-11 10:38:10 -0800</bug_when>
    <thetext>Comment on attachment 416007
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713983</commentid>
    <comment_count>5</comment_count>
      <attachid>416015</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-12-11 11:17:39 -0800</bug_when>
    <thetext>Created attachment 416015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714162</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-11 16:32:33 -0800</bug_when>
    <thetext>Committed r270718: &lt;https://trac.webkit.org/changeset/270718&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416015.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416005</attachid>
            <date>2020-12-11 10:11:23 -0800</date>
            <delta_ts>2020-12-11 10:36:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219786-20201211101123.patch</filename>
            <type>text/plain</type>
            <size>10932</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhiNWQyMzgwOTZiNDQ5
NzEyMWEwY2Y4NTcwMTU5ZWJkYmFlOTRlMS4uYzkwOWNjMzBlODQwNTBiOGYwYjRhZGZlMTQ1ZjFl
MjMxYTA3MjE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIwLTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG90ZW50aWFsIG51bGwgZGVy
ZWZlcmVuY2Ugb2YgbV9mcmFtZSB1bmRlciBEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5Nzg2Cisg
ICAgICAgIDxyZGFyOi8vNzE5NDU0MDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIGNyYXNoIGluZGljYXRlcyB0aGF0IEZyYW1lTG9hZGVyOjpz
dG9wQWxsTG9hZGVycygpIGlzIGNhbGxpbmcgbV9kb2N1bWVudExvYWRlci0+c3RvcExvYWRpbmco
KQorICAgICAgICBhbmQgdGhhdCBEb2N1bWVudExvYWRlcjo6bV9mcmFtZSBpcyBudWxsLCBjYXVz
aW5nIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygpIHRvIGRvIGEgbnVsbAorICAgICAgICBk
ZXJlZmVyZW5jZSBvZiBtX2ZyYW1lLgorCisgICAgICAgIEkgYmVsaWV2ZSAzIHRoaW5ncyBjb3Vs
ZCBoYXZlIGhhcHBlbmVkOgorICAgICAgICAxLiBEb2N1bWVudExvYWRlcjo6ZGV0YWNoRnJvbUZy
YW1lKCkgd2FzIGNhbGxlZCBvbiBhIERvY3VtZW50TG9hZGVyIGJ1dCB0aGF0IERvY3VtZW50TG9h
ZGVyCisgICAgICAgICAgIHNvbWVob3cgc3RheWVkIGF0dGFjaGVkIHRvIHRoZSBGcmFtZUxvYWRl
ci4gRG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSgpIGlzIHdoYXQKKyAgICAgICAgICAg
Y2xlYXJzIERvY3VtZW50TG9hZGVyOjptX2ZyYW1lLgorICAgICAgICAyLiBGcmFtZUxvYWRlcjo6
c2V0RG9jdW1lbnRMb2FkZXIoKSB3YXMgY2FsbGVkIHdpdGggYSBEb2N1bWVudExvYWRlciB3aGlj
aCBhbHJlYWR5IGRpZCBub3QgaGF2ZQorICAgICAgICAgICBhIGZyYW1lLgorICAgICAgICAzLiBU
aGUgRnJhbWUgd2FzIGRlc3Ryb3llZC4gRG9jdW1lbnRMb2FkZXIgaXMgYSBGcmFtZURlc3RydWN0
aW9uT2JzZXJ2ZXIgc28gbV9mcmFtZSB3b3VsZAorICAgICAgICAgICBhY3R1YWxseSBnZXQgbnVs
bGVkIG91dCBpbiBjYXNlIG9mIEZyYW1lIGRlc3RydWN0aW9uLgorCisgICAgICAgIE5vdywgSSBk
byBub3QgYmVsaWV2ZSB0aGF0IDMgaXMgYWN0dWFsbHkgcG9zc2libGUuIFdlIGtub3cgdGhlIEZy
YW1lTG9hZGVyIGlzIGFsaXZlIGhlcmUgc2luY2UKKyAgICAgICAgRnJhbWVMb2FkZXI6OnN0b3BB
bGxMb2FkZXJzKCkgaXMgd2hhdCdzIGNhbGxpbmcgRG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5n
KCkuIFRoZSBGcmFtZSBvd25zCisgICAgICAgIHRoZSBGcmFtZUxvYWRlciBzbyB0aGUgRnJhbWUg
aXMgYWxpdmUuIEFsc28gbm90ZSB0aGF0IEZyYW1lTG9hZGVyOjpzdG9wQWxsTG9hZGVycygpIHBy
b3RlY3RzCisgICAgICAgIHRoZSBmcmFtZSBBTkQgZGVyZWZlcmVuY2VzIG1fZnJhbWUgd2l0aG91
dCBjcmFzaGluZyAqQkVGT1JFKiBjYWxsaW5nIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygp
LgorCisgICAgICAgIExvb2tpbmcgYXQgY2FzZSAxLCBJIGJlbGlldmUgdGhpcyBpcyBhY3R1YWxs
eSBwb3NzaWJsZSBjdXJyZW50bHkgYmVjYXVzZQorICAgICAgICBGcmFtZUxvYWRlcjo6c2V0UHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlcigpIGRvZXMgbm90IGVhcmx5IHJldHVybiB3aGVuIHRoZSBu
ZXcgRG9jdW1lbnRMb2FkZXIKKyAgICAgICAgYmVpbmcgc2V0IGlzIHRoZSBzYW1lIG9uZSBhcyBt
X3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuIFRoaXMgbWVhbnMgdGhhdAorICAgICAgICBGcmFt
ZUxvYWRlcjo6c2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpIHdvdWxkIGluIHN1Y2ggY2Fz
ZSBjYWxsIERvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWUoKQorICAgICAgICBvbiB0aGUg
RG9jdW1lbnRMb2FkZXIgZXZlbiB0aG91Z2ggaXQgd2lsbCByZW1haW4gYXR0YWNoZWQgdG8gdGhp
cyBGcmFtZUxvYWRlci4gTm90ZSB0aGF0CisgICAgICAgIEZyYW1lTG9hZGVyOjpzZXRQb2xpY3lE
b2N1bWVudExvYWRlcigpICYgRnJhbWVMb2FkZXI6OnNldERvY3VtZW50TG9hZGVyKCkgYWxyZWFk
eSByZXR1cm4gZWFybHkKKyAgICAgICAgcHJvcGVybHkgaW4gc3VjaCBjYXNlcy4gVGhpcyBwYXRj
aCBmaXhlcyBGcmFtZUxvYWRlcjo6c2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpIHRvIGVh
cmx5CisgICAgICAgIHJldHVybiwgdGh1cyBtYWtpbmcgaXNzdWUgMSBpbXBvc3NpYmxlIEkgYmVs
aWV2ZS4KKworICAgICAgICBDYXNlIDIgaXMgYSBiaXQgaGFyZGVyIHRvIGZpeC4gV2UgaGFkIHRo
aXMgZGVidWcgYXNzZXJ0aW9uIGluIEZyYW1lTG9hZGVyOjpzZXREb2N1bWVudExvYWRlcigpOgor
ICAgICAgICBgQVNTRVJUKCFsb2FkZXIgfHwgbG9hZGVyLT5mcmFtZUxvYWRlcigpID09IHRoaXMp
O2AKKyAgICAgICAgU28gaW4gZGVidWcgYnVpbGRzIGF0IGxlYXN0LCB3ZSBhcmUgcHJvdGVjdGVk
IGFnYWluc3QgaXNzdWUgMiBiZWNhdXNlIGxvYWRlci0+ZnJhbWVMb2FkZXIoKQorICAgICAgICB3
b3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBsb2FkZXIncyBmcmFtZSBpcyBudWxsLiBJIHR1cm5l
ZCB0aGlzIGRlYnVnIGFzc2VydGlvbiBpbnRvIGEgcmVsZWFzZQorICAgICAgICBhc3NlcnRpb24g
dG8gaGVscCB1cyBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgd2hhdCdzIGNhdXNpbmcgdGhpcyBjcmFz
aC4KKworICAgICAgICBJIGFsc28gbWFkZSB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CisgICAgICAg
IC0gQWRkZWQgcmVsZWFzZSBsb2dnaW5nIHRvIHRoZSByZWxhdGVkIGNvZGUgdG8gaGVscCBkZWJ1
ZyB0aGlzIGluIHRoZSBmdXR1cmUgaWYgdGhlIGlzc3VlCisgICAgICAgICAgcmVtYWlucy4KKyAg
ICAgICAgLSBEbyBhbiBlYXJseSByZXR1cm4gaW4gRG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5n
KCkgaWYgbV9mcmFtZSBpcyBhbHJlYWR5IG51bGwgdG8gYXZvaWQgdGhlCisgICAgICAgICAgY3Jh
c2guIEkgYWRkZWQgYSBkZWJ1ZyBhc3NlcnRpb24gdG8gZW5zdXJlIHRoYXQgbV9mcmFtZSBpcyBu
b3QgbnVsbCB0aG91Z2ggdG8gc2VlIGlmIHRoaXMKKyAgICAgICAgICBpcyBzdGlsbCBoYXBwZW5p
bmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB3ZSBkbyBub3Qga25vdyBob3cgdGhpcyBoYXBw
ZW5zIGF0IHRoaXMgdGltZS4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmF0dGFjaFRvRnJhbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSk6CisgICAgICAgICogbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wQWxs
TG9hZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0RG9jdW1lbnRMb2Fk
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNldFBvbGljeURvY3VtZW50TG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzZXRQcm92aXNpb25hbERvY3Vt
ZW50TG9hZGVyKToKKyAgICAgICAgUmV0dXJuIGVhcmx5IHdoZW4gdGhlIG5ldyBsb2FkZXIgaXMg
aWRlbnRpY2FsIHRvIHRoZSBleGlzdGluZyBvbmUsIHRvIGF2b2lkIGluY29ycmVjdGx5IGNhbGxp
bmcKKyAgICAgICAgZGV0YWNoRnJvbUZyYW1lKCkgb24gaXQuCisKIDIwMjAtMTItMTAgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
cjI3MDQ1OCk6IENhbnZhcyBwYWludGluZyBpcyBicm9rZW4gd2hlbiBlbmFibGluZyBHUFUgcHJv
Y2VzcyBmb3IgRE9NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVlM2YyMjRmMDZlMTNmOTZhNjliOTIxMTMzZTlkMjQ4
Mjk3M2NlM2UuLmI2ODMyNTEwY2UyNzM2MWEwYTI5Nzk3MTg4MTU5MzJmOWI1Y2EzYTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTItMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBQb3RlbnRpYWwgbnVsbCBkZXJlZmVyZW5jZSBvZiBtX2ZyYW1l
IHVuZGVyIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk3ODYKKyAgICAgICAgPHJkYXI6Ly83MTk0
NTQwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6Y2xvc2UpOgorICAgICAgICBBZGQgc29tZSByZWxlYXNlIGxvZ2dpbmcuCisKIDIwMjAtMTIt
MTEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1Nd
IFJlbW92ZSBhY2Nlc3MgdG8gdGhlIElPS0l0IGNsYXNzIEFHWERldmljZVVzZXJDbGllbnQgaW4g
dGhlIFdlYkNvbnRlbnQgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHAKaW5kZXggMTJlYzYzNDkxOTNjMTZiZTVkOTU3ODMyMDFhNTIxZjFhYmQ2NDgyYi4uZmQ5
NmM3ODkyYjIwMTdhNWQ3MmFlNWRkYzk0NDg2MDQ2Nzg2MzUwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC0yODMsMTIgKzI4MywyNCBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjptYWluUmVjZWl2ZWRFcnJvcihjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikK
ICAgICBmcmFtZUxvYWRlcigpLT5yZWNlaXZlZE1haW5SZXNvdXJjZUVycm9yKGVycm9yKTsKIH0K
IAordm9pZCBEb2N1bWVudExvYWRlcjo6ZnJhbWVEZXN0cm95ZWQoKQoreworICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoIkRvY3VtZW50TG9hZGVyOjpmcmFtZURlc3Ryb3llZDogbV9mcmFtZT0l
cCIsIG1fZnJhbWUuZ2V0KCkpOworICAgIEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcjo6ZnJhbWVE
ZXN0cm95ZWQoKTsKK30KKwogLy8gQ2FuY2VscyB0aGUgZGF0YSBzb3VyY2UncyBwZW5kaW5nIGxv
YWRzLiAgQ29uY2VwdHVhbGx5LCBhIGRhdGEgc291cmNlIG9ubHkgbG9hZHMKIC8vIG9uZSBkb2N1
bWVudCBhdCBhIHRpbWUsIGJ1dCBvbmUgZG9jdW1lbnQgbWF5IGhhdmUgbWFueSByZWxhdGVkIHJl
c291cmNlcy4gCiAvLyBzdG9wTG9hZGluZyB3aWxsIHN0b3AgYWxsIGxvYWRzIGluaXRpYXRlZCBi
eSB0aGUgZGF0YSBzb3VyY2UsIAogLy8gYnV0IG5vdCBsb2FkcyBpbml0aWF0ZWQgYnkgY2hpbGQg
ZnJhbWVzJyBkYXRhIHNvdXJjZXMgLS0gdGhhdCdzIHRoZSBXZWJGcmFtZSdzIGpvYi4KIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5nKCkKIHsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmc6IG1fZnJhbWU9JXAiLCBtX2ZyYW1lLmdl
dCgpKTsKKworICAgIEFTU0VSVChtX2ZyYW1lKTsKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAg
IHJldHVybjsKKwogICAgIFJlZlB0cjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZS5nZXQo
KSk7CiAgICAgUmVmPERvY3VtZW50TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIApAQCAt
MTMyMiwxMCArMTMzNCwxMyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjphdHRhY2hUb0ZyYW1lKEZy
YW1lJiBmcmFtZSkKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmF0dGFjaFRvRnJhbWUoKQogewogICAg
IEFTU0VSVChtX2ZyYW1lKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJEb2N1bWVudExv
YWRlcjo6YXR0YWNoVG9GcmFtZTogbV9mcmFtZT0lcCIsIG1fZnJhbWUuZ2V0KCkpOwogfQogCiB2
b2lkIERvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWUoKQogeworICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoIkRvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWU6IG1fZnJhbWU9JXAi
LCBtX2ZyYW1lLmdldCgpKTsKKwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgaWYgKG1faGFzRXZl
ckJlZW5BdHRhY2hlZCkKICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShtX2ZyYW1lLCAiZGV0
YWNoRnJvbUZyYW1lKCkgaXMgYmVpbmcgY2FsbGVkIG9uIGEgRG9jdW1lbnRMb2FkZXIgdHdpY2Ug
d2l0aG91dCBhbiBhdHRhY2hUb0ZyYW1lKCkgaW5iZXR3ZWVuIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5oCmluZGV4IGMyMTY3ODIwMTcwMWQzZmE4ZDQxYzllZjQ1ZWU4MjRl
ZGRmZjY0YmYuLmYyOWZkYzMzODA1M2I0YjliN2QxOWEzNjNhNzc1MWY1MmY1NGIyOTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC0yMzMsNiArMjMzLDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2NoZWR1bGVTdWJzdGl0dXRlUmVzb3VyY2VMb2FkKFJlc291cmNlTG9h
ZGVyJiwgU3Vic3RpdHV0ZVJlc291cmNlJik7CiAgICAgdm9pZCBzY2hlZHVsZUNhbm5vdFNob3dV
UkxFcnJvcihSZXNvdXJjZUxvYWRlciYpOwogCisgICAgLy8gRnJhbWVEZXN0cnVjdGlvbk9ic2Vy
dmVyLgorICAgIHZvaWQgZnJhbWVEZXN0cm95ZWQoKSBmaW5hbDsKKwogICAgIC8vIFJldHVybiB0
aGUgQXJjaGl2ZVJlc291cmNlIGZvciB0aGUgVVJMIG9ubHkgd2hlbiBsb2FkaW5nIGFuIEFyY2hp
dmUKICAgICBXRUJDT1JFX0VYUE9SVCBBcmNoaXZlUmVzb3VyY2UqIGFyY2hpdmVSZXNvdXJjZUZv
clVSTChjb25zdCBVUkwmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKaW5kZXggZDE4ZjVhNzdmZWUyNDBlYWFhNWY0YjU0MWE5OWQ3YTg1YzY0ZWRiOC4uODRmMzNk
NzI2ZTU0ODM4MGVhYzU4NDkyYTBmYWY5OGRlNzg3OTU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCkBAIC0xODE4LDYgKzE4MTgsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpz
dG9wQWxsTG9hZGVycyhDbGVhclByb3Zpc2lvbmFsSXRlbVBvbGljeSBjbGVhclByb3Zpc2lvbmFs
SXRlbQogCiAgICAgZm9yIChSZWZQdHI8RnJhbWU+IGNoaWxkID0gbV9mcmFtZS50cmVlKCkuZmly
c3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+dHJlZSgpLm5leHRTaWJsaW5nKCkpCiAg
ICAgICAgIGNoaWxkLT5sb2FkZXIoKS5zdG9wQWxsTG9hZGVycyhjbGVhclByb3Zpc2lvbmFsSXRl
bVBvbGljeSk7CisKKyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291
cmNlTG9hZGluZywgInN0b3BBbGxMb2FkZXJzOiBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXI9
JXAsIG1fZG9jdW1lbnRMb2FkZXI9JXAiLCBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuZ2V0
KCksIG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCkpOworCiAgICAgaWYgKG1fcHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlcikKICAgICAgICAgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLT5zdG9wTG9h
ZGluZygpOwogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyKQpAQCAtMTkxMCwxNCArMTkxMywxMiBA
QCBib29sIEZyYW1lTG9hZGVyOjpmcmFtZUhhc0xvYWRlZCgpIGNvbnN0CiAKIHZvaWQgRnJhbWVM
b2FkZXI6OnNldERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7Ci0gICAg
aWYgKCFsb2FkZXIgJiYgIW1fZG9jdW1lbnRMb2FkZXIpCi0gICAgICAgIHJldHVybjsKLQogICAg
IGlmIChsb2FkZXIgPT0gbV9kb2N1bWVudExvYWRlcikKICAgICAgICAgcmV0dXJuOworCisgICAg
RlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJzZXRE
b2N1bWVudExvYWRlcjogU2V0dGluZyBkb2N1bWVudCBsb2FkZXIgdG8gJXAgKHdhcyAlcCkiLCBs
b2FkZXIsIG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwogICAgIAotICAgIEFTU0VSVChsb2FkZXIg
IT0gbV9kb2N1bWVudExvYWRlcik7Ci0gICAgQVNTRVJUKCFsb2FkZXIgfHwgbG9hZGVyLT5mcmFt
ZUxvYWRlcigpID09IHRoaXMpOworICAgIFJFTEVBU0VfQVNTRVJUKCFsb2FkZXIgfHwgbG9hZGVy
LT5mcmFtZUxvYWRlcigpID09IHRoaXMpOwogCiAgICAgbV9jbGllbnQtPnByZXBhcmVGb3JEYXRh
U291cmNlUmVwbGFjZW1lbnQoKTsKICAgICBkZXRhY2hDaGlsZHJlbigpOwpAQCAtMTk0Myw2ICsx
OTQ0LDggQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0UG9saWN5RG9jdW1lbnRMb2FkZXIoRG9jdW1l
bnRMb2FkZXIqIGxvYWRlcikKICAgICBpZiAobV9wb2xpY3lEb2N1bWVudExvYWRlciA9PSBsb2Fk
ZXIpCiAgICAgICAgIHJldHVybjsKIAorICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAic2V0UG9saWN5RG9jdW1lbnRMb2FkZXI6IFNldHRpbmcg
cG9saWN5IGRvY3VtZW50IGxvYWRlciB0byAlcCAod2FzICVwKSIsIGxvYWRlciwgbV9wb2xpY3lE
b2N1bWVudExvYWRlci5nZXQoKSk7CisKICAgICBpZiAobG9hZGVyKQogICAgICAgICBsb2FkZXIt
PmF0dGFjaFRvRnJhbWUobV9mcmFtZSk7CiAgICAgaWYgKG1fcG9saWN5RG9jdW1lbnRMb2FkZXIK
QEAgLTE5NTUsMTAgKzE5NTgsMTMgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0UG9saWN5RG9jdW1l
bnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKIAogdm9pZCBGcmFtZUxvYWRlcjo6c2V0
UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyKQogewotICAg
IEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAic2V0
UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcjogU2V0dGluZyBwcm92aXNpb25hbCBkb2N1bWVudCBs
b2FkZXIgKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcj0lcCkiLCBsb2FkZXIpOworICAgIGlm
IChtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIgPT0gbG9hZGVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGlu
ZywgInNldFByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXI6IFNldHRpbmcgcHJvdmlzaW9uYWwgZG9j
dW1lbnQgbG9hZGVyIHRvICVwICh3YXMgJXApIiwgbG9hZGVyLCBtX3Byb3Zpc2lvbmFsRG9jdW1l
bnRMb2FkZXIuZ2V0KCkpOwogCi0gICAgQVNTRVJUKCFsb2FkZXIgfHwgIW1fcHJvdmlzaW9uYWxE
b2N1bWVudExvYWRlcik7Ci0gICAgQVNTRVJUKCFsb2FkZXIgfHwgbG9hZGVyLT5mcmFtZUxvYWRl
cigpID09IHRoaXMpOworICAgIFJFTEVBU0VfQVNTRVJUKCFsb2FkZXIgfHwgIW1fcHJvdmlzaW9u
YWxEb2N1bWVudExvYWRlcik7CisgICAgUkVMRUFTRV9BU1NFUlQoIWxvYWRlciB8fCBsb2FkZXIt
PmZyYW1lTG9hZGVyKCkgPT0gdGhpcyk7CiAKICAgICBpZiAobV9wcm92aXNpb25hbERvY3VtZW50
TG9hZGVyICYmIG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlciAhPSBtX2RvY3VtZW50TG9hZGVy
KQogICAgICAgICBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXItPmRldGFjaEZyb21GcmFtZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA3
OTEzYWUyMTYxYzdmNWEwNTY5MGRjOTc0ZjQ3MmEyZWU4NzkxZWQ0Li42OGVmZGM1OWVjYWNhNzE0
N2RkNzgzYmJmZDgzZTBhZDVhMjRhZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTQwMyw2ICsxNDAzLDggQEAgdm9pZCBXZWJQYWdlOjpj
bG9zZSgpCiAgICAgaWYgKG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVybjsKIAorICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImNsb3NlOiIpOworCiAjaWYgRU5BQkxFKFJFU09V
UkNFX0xPQURfU1RBVElTVElDUykKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNsZWFyUGFnZVNwZWNpZmljRGF0YUZvclJlc291
cmNlTG9hZFN0YXRpc3RpY3MobV9pZGVudGlmaWVyKSwgMCk7CiAjZW5kaWYK
</data>
<flag name="commit-queue"
          id="433396"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416007</attachid>
            <date>2020-12-11 10:35:57 -0800</date>
            <delta_ts>2020-12-11 11:17:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219786-20201211103556.patch</filename>
            <type>text/plain</type>
            <size>10946</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZhNzRlZWJkNzlmN2Jm
MjI0ZGI2MTI1NTM5MDc3ZGRjNTBjNDM2MC4uMmEzYjNjNzFkZmVkNzBkZDU5YmNlZjk4MWZkMDYw
NjU1ZTE5MGZmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIwLTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG90ZW50aWFsIG51bGwgZGVy
ZWZlcmVuY2Ugb2YgbV9mcmFtZSB1bmRlciBEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5Nzg2Cisg
ICAgICAgIDxyZGFyOi8vNzE5NDU0MDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIGNyYXNoIGluZGljYXRlcyB0aGF0IEZyYW1lTG9hZGVyOjpz
dG9wQWxsTG9hZGVycygpIGlzIGNhbGxpbmcgbV9kb2N1bWVudExvYWRlci0+c3RvcExvYWRpbmco
KQorICAgICAgICBhbmQgdGhhdCBEb2N1bWVudExvYWRlcjo6bV9mcmFtZSBpcyBudWxsLCBjYXVz
aW5nIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygpIHRvIGRvIGEgbnVsbAorICAgICAgICBk
ZXJlZmVyZW5jZSBvZiBtX2ZyYW1lLgorCisgICAgICAgIEkgYmVsaWV2ZSAzIHRoaW5ncyBjb3Vs
ZCBoYXZlIGhhcHBlbmVkOgorICAgICAgICAxLiBEb2N1bWVudExvYWRlcjo6ZGV0YWNoRnJvbUZy
YW1lKCkgd2FzIGNhbGxlZCBvbiBhIERvY3VtZW50TG9hZGVyIGJ1dCB0aGF0IERvY3VtZW50TG9h
ZGVyCisgICAgICAgICAgIHNvbWVob3cgc3RheWVkIGF0dGFjaGVkIHRvIHRoZSBGcmFtZUxvYWRl
ci4gRG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSgpIGlzIHdoYXQKKyAgICAgICAgICAg
Y2xlYXJzIERvY3VtZW50TG9hZGVyOjptX2ZyYW1lLgorICAgICAgICAyLiBGcmFtZUxvYWRlcjo6
c2V0RG9jdW1lbnRMb2FkZXIoKSB3YXMgY2FsbGVkIHdpdGggYSBEb2N1bWVudExvYWRlciB3aGlj
aCBhbHJlYWR5IGRpZCBub3QgaGF2ZQorICAgICAgICAgICBhIGZyYW1lLgorICAgICAgICAzLiBU
aGUgRnJhbWUgd2FzIGRlc3Ryb3llZC4gRG9jdW1lbnRMb2FkZXIgaXMgYSBGcmFtZURlc3RydWN0
aW9uT2JzZXJ2ZXIgc28gbV9mcmFtZSB3b3VsZAorICAgICAgICAgICBhY3R1YWxseSBnZXQgbnVs
bGVkIG91dCBpbiBjYXNlIG9mIEZyYW1lIGRlc3RydWN0aW9uLgorCisgICAgICAgIE5vdywgSSBk
byBub3QgYmVsaWV2ZSB0aGF0IDMgaXMgYWN0dWFsbHkgcG9zc2libGUuIFdlIGtub3cgdGhlIEZy
YW1lTG9hZGVyIGlzIGFsaXZlIGhlcmUgc2luY2UKKyAgICAgICAgRnJhbWVMb2FkZXI6OnN0b3BB
bGxMb2FkZXJzKCkgaXMgd2hhdCdzIGNhbGxpbmcgRG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5n
KCkuIFRoZSBGcmFtZSBvd25zCisgICAgICAgIHRoZSBGcmFtZUxvYWRlciBzbyB0aGUgRnJhbWUg
aXMgYWxpdmUuIEFsc28gbm90ZSB0aGF0IEZyYW1lTG9hZGVyOjpzdG9wQWxsTG9hZGVycygpIHBy
b3RlY3RzCisgICAgICAgIHRoZSBmcmFtZSBBTkQgZGVyZWZlcmVuY2VzIG1fZnJhbWUgd2l0aG91
dCBjcmFzaGluZyAqQkVGT1JFKiBjYWxsaW5nIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygp
LgorCisgICAgICAgIExvb2tpbmcgYXQgY2FzZSAxLCBJIGJlbGlldmUgdGhpcyBpcyBhY3R1YWxs
eSBwb3NzaWJsZSBjdXJyZW50bHkgYmVjYXVzZQorICAgICAgICBGcmFtZUxvYWRlcjo6c2V0UHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlcigpIGRvZXMgbm90IGVhcmx5IHJldHVybiB3aGVuIHRoZSBu
ZXcgRG9jdW1lbnRMb2FkZXIKKyAgICAgICAgYmVpbmcgc2V0IGlzIHRoZSBzYW1lIG9uZSBhcyBt
X3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuIFRoaXMgbWVhbnMgdGhhdAorICAgICAgICBGcmFt
ZUxvYWRlcjo6c2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpIHdvdWxkIGluIHN1Y2ggY2Fz
ZSBjYWxsIERvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWUoKQorICAgICAgICBvbiB0aGUg
RG9jdW1lbnRMb2FkZXIgZXZlbiB0aG91Z2ggaXQgd2lsbCByZW1haW4gYXR0YWNoZWQgdG8gdGhp
cyBGcmFtZUxvYWRlci4gTm90ZSB0aGF0CisgICAgICAgIEZyYW1lTG9hZGVyOjpzZXRQb2xpY3lE
b2N1bWVudExvYWRlcigpICYgRnJhbWVMb2FkZXI6OnNldERvY3VtZW50TG9hZGVyKCkgYWxyZWFk
eSByZXR1cm4gZWFybHkKKyAgICAgICAgcHJvcGVybHkgaW4gc3VjaCBjYXNlcy4gVGhpcyBwYXRj
aCBmaXhlcyBGcmFtZUxvYWRlcjo6c2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpIHRvIGVh
cmx5CisgICAgICAgIHJldHVybiwgdGh1cyBtYWtpbmcgaXNzdWUgMSBpbXBvc3NpYmxlIEkgYmVs
aWV2ZS4KKworICAgICAgICBDYXNlIDIgaXMgYSBiaXQgaGFyZGVyIHRvIGZpeC4gV2UgaGFkIHRo
aXMgZGVidWcgYXNzZXJ0aW9uIGluIEZyYW1lTG9hZGVyOjpzZXREb2N1bWVudExvYWRlcigpOgor
ICAgICAgICBgQVNTRVJUKCFsb2FkZXIgfHwgbG9hZGVyLT5mcmFtZUxvYWRlcigpID09IHRoaXMp
O2AKKyAgICAgICAgU28gaW4gZGVidWcgYnVpbGRzIGF0IGxlYXN0LCB3ZSBhcmUgcHJvdGVjdGVk
IGFnYWluc3QgaXNzdWUgMiBiZWNhdXNlIGxvYWRlci0+ZnJhbWVMb2FkZXIoKQorICAgICAgICB3
b3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBsb2FkZXIncyBmcmFtZSBpcyBudWxsLiBJIHR1cm5l
ZCB0aGlzIGRlYnVnIGFzc2VydGlvbiBpbnRvIGEgcmVsZWFzZQorICAgICAgICBhc3NlcnRpb24g
dG8gaGVscCB1cyBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgd2hhdCdzIGNhdXNpbmcgdGhpcyBjcmFz
aC4KKworICAgICAgICBJIGFsc28gbWFkZSB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CisgICAgICAg
IC0gQWRkZWQgcmVsZWFzZSBsb2dnaW5nIHRvIHRoZSByZWxhdGVkIGNvZGUgdG8gaGVscCBkZWJ1
ZyB0aGlzIGluIHRoZSBmdXR1cmUgaWYgdGhlIGlzc3VlCisgICAgICAgICAgcmVtYWlucy4KKyAg
ICAgICAgLSBEbyBhbiBlYXJseSByZXR1cm4gaW4gRG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5n
KCkgaWYgbV9mcmFtZSBpcyBhbHJlYWR5IG51bGwgdG8gYXZvaWQgdGhlCisgICAgICAgICAgY3Jh
c2guIEkgYWRkZWQgYSBkZWJ1ZyBhc3NlcnRpb24gdG8gZW5zdXJlIHRoYXQgbV9mcmFtZSBpcyBu
b3QgbnVsbCB0aG91Z2ggdG8gc2VlIGlmIHRoaXMKKyAgICAgICAgICBpcyBzdGlsbCBoYXBwZW5p
bmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB3ZSBkbyBub3Qga25vdyBob3cgdGhpcyBoYXBw
ZW5zIGF0IHRoaXMgdGltZS4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmF0dGFjaFRvRnJhbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSk6CisgICAgICAgICogbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wQWxs
TG9hZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0RG9jdW1lbnRMb2Fk
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNldFBvbGljeURvY3VtZW50TG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzZXRQcm92aXNpb25hbERvY3Vt
ZW50TG9hZGVyKToKKyAgICAgICAgUmV0dXJuIGVhcmx5IHdoZW4gdGhlIG5ldyBsb2FkZXIgaXMg
aWRlbnRpY2FsIHRvIHRoZSBleGlzdGluZyBvbmUsIHRvIGF2b2lkIGluY29ycmVjdGx5IGNhbGxp
bmcKKyAgICAgICAgZGV0YWNoRnJvbUZyYW1lKCkgb24gaXQuCisKIDIwMjAtMTItMTEgIENocmlz
IExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQXN5bmMgb3Zl
cmZsb3cgc2Nyb2xsaW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZHVlIHRvIGJyb2tlbm5lc3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYzBjMDg1MmI2OTA2ZmUyNGMyYzgwYmJhYTJkZTJlMmRmNGVmMjUxMi4uOTZm
YjA0NWRhOTA2MGVlZjY1OWFlYjA5YzA4MTU1ZTI5MTAxODFlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMC0xMi0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFBvdGVudGlhbCBudWxsIGRlcmVmZXJlbmNlIG9mIG1fZnJhbWUgdW5kZXIgRG9jdW1l
bnRMb2FkZXI6OnN0b3BMb2FkaW5nKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxOTc4NgorICAgICAgICA8cmRhcjovLzcxOTQ1NDAyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjbG9zZSk6Cisg
ICAgICAgIEFkZCBzb21lIHJlbGVhc2UgbG9nZ2luZy4KKwogMjAyMC0xMi0xMSAgQnJlbnQgRnVs
Z2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIE9ubHkgZXh0ZW5k
IGFjY2VzcyB0byB0aGUgUm9vdERvbWFpblVzZXJDbGllbnQgSU9LaXQgY2xhc3MgaWYgdGhlIEdQ
VSBQcm9jZXNzIGlzIG5vdCB1c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmNwcAppbmRleCA2N2FlYjAzMzY1YzNiNDg2MzMyOWVlZDRiNjI0Mzg0ZTk5NDA3M2NjLi4yNjg5
NGYzOWY0ZTY5ZmU4YjczMDA3OGRiNzgxZWIyZGVmZDhmZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTI4NywxMiArMjg3LDI0IEBAIHZvaWQgRG9jdW1l
bnRMb2FkZXI6Om1haW5SZWNlaXZlZEVycm9yKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQog
ICAgIGZyYW1lTG9hZGVyKCktPnJlY2VpdmVkTWFpblJlc291cmNlRXJyb3IoZXJyb3IpOwogfQog
Cit2b2lkIERvY3VtZW50TG9hZGVyOjpmcmFtZURlc3Ryb3llZCgpCit7CisgICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgiRG9jdW1lbnRMb2FkZXI6OmZyYW1lRGVzdHJveWVkOiBtX2ZyYW1lPSVw
IiwgbV9mcmFtZS5nZXQoKSk7CisgICAgRnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyOjpmcmFtZURl
c3Ryb3llZCgpOworfQorCiAvLyBDYW5jZWxzIHRoZSBkYXRhIHNvdXJjZSdzIHBlbmRpbmcgbG9h
ZHMuICBDb25jZXB0dWFsbHksIGEgZGF0YSBzb3VyY2Ugb25seSBsb2FkcwogLy8gb25lIGRvY3Vt
ZW50IGF0IGEgdGltZSwgYnV0IG9uZSBkb2N1bWVudCBtYXkgaGF2ZSBtYW55IHJlbGF0ZWQgcmVz
b3VyY2VzLiAKIC8vIHN0b3BMb2FkaW5nIHdpbGwgc3RvcCBhbGwgbG9hZHMgaW5pdGlhdGVkIGJ5
IHRoZSBkYXRhIHNvdXJjZSwgCiAvLyBidXQgbm90IGxvYWRzIGluaXRpYXRlZCBieSBjaGlsZCBm
cmFtZXMnIGRhdGEgc291cmNlcyAtLSB0aGF0J3MgdGhlIFdlYkZyYW1lJ3Mgam9iLgogdm9pZCBE
b2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcoKQogeworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoIkRvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZzogbV9mcmFtZT0lcCIsIG1fZnJhbWUuZ2V0
KCkpOworCisgICAgQVNTRVJUKG1fZnJhbWUpOworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgUmVmUHRyPEZyYW1lPiBwcm90ZWN0ZWRGcmFtZShtX2ZyYW1lLmdldCgp
KTsKICAgICBSZWY8RG9jdW1lbnRMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCkBAIC0x
MzI5LDEwICsxMzQxLDEzIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmF0dGFjaFRvRnJhbWUoRnJh
bWUmIGZyYW1lKQogdm9pZCBEb2N1bWVudExvYWRlcjo6YXR0YWNoVG9GcmFtZSgpCiB7CiAgICAg
QVNTRVJUKG1fZnJhbWUpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIkRvY3VtZW50TG9h
ZGVyOjphdHRhY2hUb0ZyYW1lOiBtX2ZyYW1lPSVwIiwgbV9mcmFtZS5nZXQoKSk7CiB9CiAKIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSgpCiB7CisgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiRG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZTogbV9mcmFtZT0lcCIs
IG1fZnJhbWUuZ2V0KCkpOworCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBpZiAobV9oYXNFdmVy
QmVlbkF0dGFjaGVkKQogICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1fZnJhbWUsICJkZXRh
Y2hGcm9tRnJhbWUoKSBpcyBiZWluZyBjYWxsZWQgb24gYSBEb2N1bWVudExvYWRlciB0d2ljZSB3
aXRob3V0IGFuIGF0dGFjaFRvRnJhbWUoKSBpbmJldHdlZW4iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmgKaW5kZXggYjNjYjQyODYxNTEyOGQyMzM4MDIwNGVjYjUxZjE5YzA5
MDQ5OGY4ZS4uYWFlOWI0OTcxNmNjZmNiYTgyYWI4NzM4ZWY1Y2E5YjdjZmI4MzVjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTIzMyw2ICsyMzMsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzY2hlZHVsZVN1YnN0aXR1dGVSZXNvdXJjZUxvYWQoUmVzb3VyY2VMb2Fk
ZXImLCBTdWJzdGl0dXRlUmVzb3VyY2UmKTsKICAgICB2b2lkIHNjaGVkdWxlQ2Fubm90U2hvd1VS
TEVycm9yKFJlc291cmNlTG9hZGVyJik7CiAKKyAgICAvLyBGcmFtZURlc3RydWN0aW9uT2JzZXJ2
ZXIuCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmcmFtZURlc3Ryb3llZCgpIGZpbmFsOworCiAg
ICAgLy8gUmV0dXJuIHRoZSBBcmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwgb25seSB3aGVuIGxv
YWRpbmcgYW4gQXJjaGl2ZQogICAgIFdFQkNPUkVfRVhQT1JUIEFyY2hpdmVSZXNvdXJjZSogYXJj
aGl2ZVJlc291cmNlRm9yVVJMKGNvbnN0IFVSTCYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAppbmRleCBkMThmNWE3N2ZlZTI0MGVhYWE1ZjRiNTQxYTk5ZDdhODVj
NjRlZGI4Li44NGYzM2Q3MjZlNTQ4MzgwZWFjNTg0OTJhMGZhZjk4ZGU3ODc5NTQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE4MTgsNiArMTgxOCw5IEBAIHZvaWQg
RnJhbWVMb2FkZXI6OnN0b3BBbGxMb2FkZXJzKENsZWFyUHJvdmlzaW9uYWxJdGVtUG9saWN5IGNs
ZWFyUHJvdmlzaW9uYWxJdGVtCiAKICAgICBmb3IgKFJlZlB0cjxGcmFtZT4gY2hpbGQgPSBtX2Zy
YW1lLnRyZWUoKS5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkubmV4
dFNpYmxpbmcoKSkKICAgICAgICAgY2hpbGQtPmxvYWRlcigpLnN0b3BBbGxMb2FkZXJzKGNsZWFy
UHJvdmlzaW9uYWxJdGVtUG9saWN5KTsKKworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAic3RvcEFsbExvYWRlcnM6IG1fcHJvdmlzaW9uYWxE
b2N1bWVudExvYWRlcj0lcCwgbV9kb2N1bWVudExvYWRlcj0lcCIsIG1fcHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlci5nZXQoKSwgbV9kb2N1bWVudExvYWRlci5nZXQoKSk7CisKICAgICBpZiAobV9w
cm92aXNpb25hbERvY3VtZW50TG9hZGVyKQogICAgICAgICBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRM
b2FkZXItPnN0b3BMb2FkaW5nKCk7CiAgICAgaWYgKG1fZG9jdW1lbnRMb2FkZXIpCkBAIC0xOTEw
LDE0ICsxOTEzLDEyIEBAIGJvb2wgRnJhbWVMb2FkZXI6OmZyYW1lSGFzTG9hZGVkKCkgY29uc3QK
IAogdm9pZCBGcmFtZUxvYWRlcjo6c2V0RG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxv
YWRlcikKIHsKLSAgICBpZiAoIWxvYWRlciAmJiAhbV9kb2N1bWVudExvYWRlcikKLSAgICAgICAg
cmV0dXJuOwotCiAgICAgaWYgKGxvYWRlciA9PSBtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBy
ZXR1cm47CisKKyAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNl
TG9hZGluZywgInNldERvY3VtZW50TG9hZGVyOiBTZXR0aW5nIGRvY3VtZW50IGxvYWRlciB0byAl
cCAod2FzICVwKSIsIGxvYWRlciwgbV9kb2N1bWVudExvYWRlci5nZXQoKSk7CiAgICAgCi0gICAg
QVNTRVJUKGxvYWRlciAhPSBtX2RvY3VtZW50TG9hZGVyKTsKLSAgICBBU1NFUlQoIWxvYWRlciB8
fCBsb2FkZXItPmZyYW1lTG9hZGVyKCkgPT0gdGhpcyk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWxv
YWRlciB8fCBsb2FkZXItPmZyYW1lTG9hZGVyKCkgPT0gdGhpcyk7CiAKICAgICBtX2NsaWVudC0+
cHJlcGFyZUZvckRhdGFTb3VyY2VSZXBsYWNlbWVudCgpOwogICAgIGRldGFjaENoaWxkcmVuKCk7
CkBAIC0xOTQzLDYgKzE5NDQsOCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzZXRQb2xpY3lEb2N1bWVu
dExvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAgIGlmIChtX3BvbGljeURvY3VtZW50
TG9hZGVyID09IGxvYWRlcikKICAgICAgICAgcmV0dXJuOwogCisgICAgRlJBTUVMT0FERVJfUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJzZXRQb2xpY3lEb2N1bWVudExv
YWRlcjogU2V0dGluZyBwb2xpY3kgZG9jdW1lbnQgbG9hZGVyIHRvICVwICh3YXMgJXApIiwgbG9h
ZGVyLCBtX3BvbGljeURvY3VtZW50TG9hZGVyLmdldCgpKTsKKwogICAgIGlmIChsb2FkZXIpCiAg
ICAgICAgIGxvYWRlci0+YXR0YWNoVG9GcmFtZShtX2ZyYW1lKTsKICAgICBpZiAobV9wb2xpY3lE
b2N1bWVudExvYWRlcgpAQCAtMTk1NSwxMCArMTk1OCwxMyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpz
ZXRQb2xpY3lEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyKQogCiB2b2lkIEZy
YW1lTG9hZGVyOjpzZXRQcm92aXNpb25hbERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBs
b2FkZXIpCiB7Ci0gICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJj
ZUxvYWRpbmcsICJzZXRQcm92aXNpb25hbERvY3VtZW50TG9hZGVyOiBTZXR0aW5nIHByb3Zpc2lv
bmFsIGRvY3VtZW50IGxvYWRlciAobV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyPSVwKSIsIGxv
YWRlcik7CisgICAgaWYgKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlciA9PSBsb2FkZXIpCisg
ICAgICAgIHJldHVybjsKKworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
UmVzb3VyY2VMb2FkaW5nLCAic2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcjogU2V0dGluZyBw
cm92aXNpb25hbCBkb2N1bWVudCBsb2FkZXIgdG8gJXAgKHdhcyAlcCkiLCBsb2FkZXIsIG1fcHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlci5nZXQoKSk7CiAKLSAgICBBU1NFUlQoIWxvYWRlciB8fCAh
bV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyKTsKLSAgICBBU1NFUlQoIWxvYWRlciB8fCBsb2Fk
ZXItPmZyYW1lTG9hZGVyKCkgPT0gdGhpcyk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWxvYWRlciB8
fCAhbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghbG9h
ZGVyIHx8IGxvYWRlci0+ZnJhbWVMb2FkZXIoKSA9PSB0aGlzKTsKIAogICAgIGlmIChtX3Byb3Zp
c2lvbmFsRG9jdW1lbnRMb2FkZXIgJiYgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyICE9IG1f
ZG9jdW1lbnRMb2FkZXIpCiAgICAgICAgIG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci0+ZGV0
YWNoRnJvbUZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IDc5MTNhZTIxNjFjN2Y1YTA1NjkwZGM5NzRmNDcyYTJlZTg3OTFlZDQuLjY4
ZWZkYzU5ZWNhY2E3MTQ3ZGQ3ODNiYmZkODNlMGFkNWEyNGFmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xNDAzLDYgKzE0MDMsOCBAQCB2
b2lkIFdlYlBhZ2U6OmNsb3NlKCkKICAgICBpZiAobV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJu
OwogCisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiY2xvc2U6Iik7CisKICNp
ZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5k
KE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q2xlYXJQYWdlU3BlY2lm
aWNEYXRhRm9yUmVzb3VyY2VMb2FkU3RhdGlzdGljcyhtX2lkZW50aWZpZXIpLCAwKTsKICNlbmRp
Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416015</attachid>
            <date>2020-12-11 11:17:39 -0800</date>
            <delta_ts>2020-12-11 16:32:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219786-20201211111738.patch</filename>
            <type>text/plain</type>
            <size>10869</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZhNzRlZWJkNzlmN2Jm
MjI0ZGI2MTI1NTM5MDc3ZGRjNTBjNDM2MC4uYmI4YTJkNjA1Y2JjNTE1YzQ0OGFjYTg3NDhmYjAx
N2E3NWQ5M2MwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIwLTEyLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUG90ZW50aWFsIG51bGwgZGVy
ZWZlcmVuY2Ugb2YgbV9mcmFtZSB1bmRlciBEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5Nzg2Cisg
ICAgICAgIDxyZGFyOi8vNzE5NDU0MDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkg
R2FyZW4uCisKKyAgICAgICAgVGhlIGNyYXNoIGluZGljYXRlcyB0aGF0IEZyYW1lTG9hZGVyOjpz
dG9wQWxsTG9hZGVycygpIGlzIGNhbGxpbmcgbV9kb2N1bWVudExvYWRlci0+c3RvcExvYWRpbmco
KQorICAgICAgICBhbmQgdGhhdCBEb2N1bWVudExvYWRlcjo6bV9mcmFtZSBpcyBudWxsLCBjYXVz
aW5nIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygpIHRvIGRvIGEgbnVsbAorICAgICAgICBk
ZXJlZmVyZW5jZSBvZiBtX2ZyYW1lLgorCisgICAgICAgIEkgYmVsaWV2ZSAzIHRoaW5ncyBjb3Vs
ZCBoYXZlIGhhcHBlbmVkOgorICAgICAgICAxLiBEb2N1bWVudExvYWRlcjo6ZGV0YWNoRnJvbUZy
YW1lKCkgd2FzIGNhbGxlZCBvbiBhIERvY3VtZW50TG9hZGVyIGJ1dCB0aGF0IERvY3VtZW50TG9h
ZGVyCisgICAgICAgICAgIHNvbWVob3cgc3RheWVkIGF0dGFjaGVkIHRvIHRoZSBGcmFtZUxvYWRl
ci4gRG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSgpIGlzIHdoYXQKKyAgICAgICAgICAg
Y2xlYXJzIERvY3VtZW50TG9hZGVyOjptX2ZyYW1lLgorICAgICAgICAyLiBGcmFtZUxvYWRlcjo6
c2V0RG9jdW1lbnRMb2FkZXIoKSB3YXMgY2FsbGVkIHdpdGggYSBEb2N1bWVudExvYWRlciB3aGlj
aCBhbHJlYWR5IGRpZCBub3QgaGF2ZQorICAgICAgICAgICBhIGZyYW1lLgorICAgICAgICAzLiBU
aGUgRnJhbWUgd2FzIGRlc3Ryb3llZC4gRG9jdW1lbnRMb2FkZXIgaXMgYSBGcmFtZURlc3RydWN0
aW9uT2JzZXJ2ZXIgc28gbV9mcmFtZSB3b3VsZAorICAgICAgICAgICBhY3R1YWxseSBnZXQgbnVs
bGVkIG91dCBpbiBjYXNlIG9mIEZyYW1lIGRlc3RydWN0aW9uLgorCisgICAgICAgIE5vdywgSSBk
byBub3QgYmVsaWV2ZSB0aGF0IDMgaXMgYWN0dWFsbHkgcG9zc2libGUuIFdlIGtub3cgdGhlIEZy
YW1lTG9hZGVyIGlzIGFsaXZlIGhlcmUgc2luY2UKKyAgICAgICAgRnJhbWVMb2FkZXI6OnN0b3BB
bGxMb2FkZXJzKCkgaXMgd2hhdCdzIGNhbGxpbmcgRG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5n
KCkuIFRoZSBGcmFtZSBvd25zCisgICAgICAgIHRoZSBGcmFtZUxvYWRlciBzbyB0aGUgRnJhbWUg
aXMgYWxpdmUuIEFsc28gbm90ZSB0aGF0IEZyYW1lTG9hZGVyOjpzdG9wQWxsTG9hZGVycygpIHBy
b3RlY3RzCisgICAgICAgIHRoZSBmcmFtZSBBTkQgZGVyZWZlcmVuY2VzIG1fZnJhbWUgd2l0aG91
dCBjcmFzaGluZyAqQkVGT1JFKiBjYWxsaW5nIERvY3VtZW50TG9hZGVyOjpzdG9wTG9hZGluZygp
LgorCisgICAgICAgIExvb2tpbmcgYXQgY2FzZSAxLCBJIGJlbGlldmUgdGhpcyBpcyBhY3R1YWxs
eSBwb3NzaWJsZSBjdXJyZW50bHkgYmVjYXVzZQorICAgICAgICBGcmFtZUxvYWRlcjo6c2V0UHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlcigpIGRvZXMgbm90IGVhcmx5IHJldHVybiB3aGVuIHRoZSBu
ZXcgRG9jdW1lbnRMb2FkZXIKKyAgICAgICAgYmVpbmcgc2V0IGlzIHRoZSBzYW1lIG9uZSBhcyBt
X3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIuIFRoaXMgbWVhbnMgdGhhdAorICAgICAgICBGcmFt
ZUxvYWRlcjo6c2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpIHdvdWxkIGluIHN1Y2ggY2Fz
ZSBjYWxsIERvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWUoKQorICAgICAgICBvbiB0aGUg
RG9jdW1lbnRMb2FkZXIgZXZlbiB0aG91Z2ggaXQgd2lsbCByZW1haW4gYXR0YWNoZWQgdG8gdGhp
cyBGcmFtZUxvYWRlci4gTm90ZSB0aGF0CisgICAgICAgIEZyYW1lTG9hZGVyOjpzZXRQb2xpY3lE
b2N1bWVudExvYWRlcigpICYgRnJhbWVMb2FkZXI6OnNldERvY3VtZW50TG9hZGVyKCkgYWxyZWFk
eSByZXR1cm4gZWFybHkKKyAgICAgICAgcHJvcGVybHkgaW4gc3VjaCBjYXNlcy4gVGhpcyBwYXRj
aCBmaXhlcyBGcmFtZUxvYWRlcjo6c2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcigpIHRvIGVh
cmx5CisgICAgICAgIHJldHVybiwgdGh1cyBtYWtpbmcgaXNzdWUgMSBpbXBvc3NpYmxlIEkgYmVs
aWV2ZS4KKworICAgICAgICBDYXNlIDIgaXMgYSBiaXQgaGFyZGVyIHRvIGZpeC4gV2UgaGFkIHRo
aXMgZGVidWcgYXNzZXJ0aW9uIGluIEZyYW1lTG9hZGVyOjpzZXREb2N1bWVudExvYWRlcigpOgor
ICAgICAgICBgQVNTRVJUKCFsb2FkZXIgfHwgbG9hZGVyLT5mcmFtZUxvYWRlcigpID09IHRoaXMp
O2AKKyAgICAgICAgU28gaW4gZGVidWcgYnVpbGRzIGF0IGxlYXN0LCB3ZSBhcmUgcHJvdGVjdGVk
IGFnYWluc3QgaXNzdWUgMiBiZWNhdXNlIGxvYWRlci0+ZnJhbWVMb2FkZXIoKQorICAgICAgICB3
b3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBsb2FkZXIncyBmcmFtZSBpcyBudWxsLiBJIHR1cm5l
ZCB0aGlzIGRlYnVnIGFzc2VydGlvbiBpbnRvIGEgcmVsZWFzZQorICAgICAgICBhc3NlcnRpb24g
dG8gaGVscCB1cyBmaWd1cmUgb3V0IGlmIHRoaXMgaXMgd2hhdCdzIGNhdXNpbmcgdGhpcyBjcmFz
aC4KKworICAgICAgICBJIGFsc28gbWFkZSB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CisgICAgICAg
IC0gQWRkZWQgcmVsZWFzZSBsb2dnaW5nIHRvIHRoZSByZWxhdGVkIGNvZGUgdG8gaGVscCBkZWJ1
ZyB0aGlzIGluIHRoZSBmdXR1cmUgaWYgdGhlIGlzc3VlCisgICAgICAgICAgcmVtYWlucy4KKyAg
ICAgICAgLSBEbyBhbiBlYXJseSByZXR1cm4gaW4gRG9jdW1lbnRMb2FkZXI6OnN0b3BMb2FkaW5n
KCkgaWYgbV9mcmFtZSBpcyBhbHJlYWR5IG51bGwgdG8gYXZvaWQgdGhlCisgICAgICAgICAgY3Jh
c2guIEkgYWRkZWQgYSBkZWJ1ZyBhc3NlcnRpb24gdG8gZW5zdXJlIHRoYXQgbV9mcmFtZSBpcyBu
b3QgbnVsbCB0aG91Z2ggdG8gc2VlIGlmIHRoaXMKKyAgICAgICAgICBpcyBzdGlsbCBoYXBwZW5p
bmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB3ZSBkbyBub3Qga25vdyBob3cgdGhpcyBoYXBw
ZW5zIGF0IHRoaXMgdGltZS4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmF0dGFjaFRvRnJhbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSk6CisgICAgICAgICogbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wQWxs
TG9hZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0RG9jdW1lbnRMb2Fk
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNldFBvbGljeURvY3VtZW50TG9h
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzZXRQcm92aXNpb25hbERvY3Vt
ZW50TG9hZGVyKToKKyAgICAgICAgUmV0dXJuIGVhcmx5IHdoZW4gdGhlIG5ldyBsb2FkZXIgaXMg
aWRlbnRpY2FsIHRvIHRoZSBleGlzdGluZyBvbmUsIHRvIGF2b2lkIGluY29ycmVjdGx5IGNhbGxp
bmcKKyAgICAgICAgZGV0YWNoRnJvbUZyYW1lKCkgb24gaXQuCisKIDIwMjAtMTItMTEgIENocmlz
IExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQXN5bmMgb3Zl
cmZsb3cgc2Nyb2xsaW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZHVlIHRvIGJyb2tlbm5lc3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZjhiMDFkNGQxYTRmNzJiNmRiMjA1YzE1N2YzYzk1MjBmOTRiZmJmZC4uYjM5
ZGRlYjY2YjJhNGE4ODAwOGVlZGEzN2VhMTJmYjBlODVkNDY0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMC0xMi0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFBvdGVudGlhbCBudWxsIGRlcmVmZXJlbmNlIG9mIG1fZnJhbWUgdW5kZXIgRG9jdW1l
bnRMb2FkZXI6OnN0b3BMb2FkaW5nKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxOTc4NgorICAgICAgICA8cmRhcjovLzcxOTQ1NDAyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjbG9zZSk6Cisg
ICAgICAgIEFkZCBzb21lIHJlbGVhc2UgbG9nZ2luZy4KKwogMjAyMC0xMi0xMSAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJvdGVjdCB0aGUg
V2ViUHJvY2Vzc1Bvb2wgZWFybGllciBpbiBXZWJQcm9jZXNzQ2FjaGU6OmFkZFByb2Nlc3NJZlBv
c3NpYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA2N2Fl
YjAzMzY1YzNiNDg2MzMyOWVlZDRiNjI0Mzg0ZTk5NDA3M2NjLi4yNjg5NGYzOWY0ZTY5ZmU4Yjcz
MDA3OGRiNzgxZWIyZGVmZDhmZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAKQEAgLTI4NywxMiArMjg3LDI0IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6Om1haW5S
ZWNlaXZlZEVycm9yKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgIGZyYW1lTG9hZGVy
KCktPnJlY2VpdmVkTWFpblJlc291cmNlRXJyb3IoZXJyb3IpOwogfQogCit2b2lkIERvY3VtZW50
TG9hZGVyOjpmcmFtZURlc3Ryb3llZCgpCit7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
RG9jdW1lbnRMb2FkZXI6OmZyYW1lRGVzdHJveWVkOiBtX2ZyYW1lPSVwIiwgbV9mcmFtZS5nZXQo
KSk7CisgICAgRnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyOjpmcmFtZURlc3Ryb3llZCgpOworfQor
CiAvLyBDYW5jZWxzIHRoZSBkYXRhIHNvdXJjZSdzIHBlbmRpbmcgbG9hZHMuICBDb25jZXB0dWFs
bHksIGEgZGF0YSBzb3VyY2Ugb25seSBsb2FkcwogLy8gb25lIGRvY3VtZW50IGF0IGEgdGltZSwg
YnV0IG9uZSBkb2N1bWVudCBtYXkgaGF2ZSBtYW55IHJlbGF0ZWQgcmVzb3VyY2VzLiAKIC8vIHN0
b3BMb2FkaW5nIHdpbGwgc3RvcCBhbGwgbG9hZHMgaW5pdGlhdGVkIGJ5IHRoZSBkYXRhIHNvdXJj
ZSwgCiAvLyBidXQgbm90IGxvYWRzIGluaXRpYXRlZCBieSBjaGlsZCBmcmFtZXMnIGRhdGEgc291
cmNlcyAtLSB0aGF0J3MgdGhlIFdlYkZyYW1lJ3Mgam9iLgogdm9pZCBEb2N1bWVudExvYWRlcjo6
c3RvcExvYWRpbmcoKQogeworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIkRvY3VtZW50TG9h
ZGVyOjpzdG9wTG9hZGluZzogbV9mcmFtZT0lcCIsIG1fZnJhbWUuZ2V0KCkpOworCisgICAgQVNT
RVJUKG1fZnJhbWUpOworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuOworCiAgICAg
UmVmUHRyPEZyYW1lPiBwcm90ZWN0ZWRGcmFtZShtX2ZyYW1lLmdldCgpKTsKICAgICBSZWY8RG9j
dW1lbnRMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCkBAIC0xMzI5LDEwICsxMzQxLDEz
IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmF0dGFjaFRvRnJhbWUoRnJhbWUmIGZyYW1lKQogdm9p
ZCBEb2N1bWVudExvYWRlcjo6YXR0YWNoVG9GcmFtZSgpCiB7CiAgICAgQVNTRVJUKG1fZnJhbWUp
OworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIkRvY3VtZW50TG9hZGVyOjphdHRhY2hUb0Zy
YW1lOiBtX2ZyYW1lPSVwIiwgbV9mcmFtZS5nZXQoKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OmRldGFjaEZyb21GcmFtZSgpCiB7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiRG9j
dW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZTogbV9mcmFtZT0lcCIsIG1fZnJhbWUuZ2V0KCkp
OworCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBpZiAobV9oYXNFdmVyQmVlbkF0dGFjaGVkKQog
ICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1fZnJhbWUsICJkZXRhY2hGcm9tRnJhbWUoKSBp
cyBiZWluZyBjYWxsZWQgb24gYSBEb2N1bWVudExvYWRlciB0d2ljZSB3aXRob3V0IGFuIGF0dGFj
aFRvRnJhbWUoKSBpbmJldHdlZW4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmgKaW5kZXggYjNjYjQyODYxNTEyOGQyMzM4MDIwNGVjYjUxZjE5YzA5MDQ5OGY4ZS4uYWFlOWI0
OTcxNmNjZmNiYTgyYWI4NzM4ZWY1Y2E5YjdjZmI4MzVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmgKQEAgLTIzMyw2ICsyMzMsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
Y2hlZHVsZVN1YnN0aXR1dGVSZXNvdXJjZUxvYWQoUmVzb3VyY2VMb2FkZXImLCBTdWJzdGl0dXRl
UmVzb3VyY2UmKTsKICAgICB2b2lkIHNjaGVkdWxlQ2Fubm90U2hvd1VSTEVycm9yKFJlc291cmNl
TG9hZGVyJik7CiAKKyAgICAvLyBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuCisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBmcmFtZURlc3Ryb3llZCgpIGZpbmFsOworCiAgICAgLy8gUmV0dXJuIHRo
ZSBBcmNoaXZlUmVzb3VyY2UgZm9yIHRoZSBVUkwgb25seSB3aGVuIGxvYWRpbmcgYW4gQXJjaGl2
ZQogICAgIFdFQkNPUkVfRVhQT1JUIEFyY2hpdmVSZXNvdXJjZSogYXJjaGl2ZVJlc291cmNlRm9y
VVJMKGNvbnN0IFVSTCYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAppbmRleCBkMThmNWE3N2ZlZTI0MGVhYWE1ZjRiNTQxYTk5ZDdhODVjNjRlZGI4Li40M2QxZDY0
NjBhNWZjYjFiNDczOWM2NTllYzg4YzMyZDgwYTFiNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKQEAgLTE4MTgsNiArMTgxOCw5IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0
b3BBbGxMb2FkZXJzKENsZWFyUHJvdmlzaW9uYWxJdGVtUG9saWN5IGNsZWFyUHJvdmlzaW9uYWxJ
dGVtCiAKICAgICBmb3IgKFJlZlB0cjxGcmFtZT4gY2hpbGQgPSBtX2ZyYW1lLnRyZWUoKS5maXJz
dENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkubmV4dFNpYmxpbmcoKSkKICAg
ICAgICAgY2hpbGQtPmxvYWRlcigpLnN0b3BBbGxMb2FkZXJzKGNsZWFyUHJvdmlzaW9uYWxJdGVt
UG9saWN5KTsKKworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3Vy
Y2VMb2FkaW5nLCAic3RvcEFsbExvYWRlcnM6IG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcj0l
cCwgbV9kb2N1bWVudExvYWRlcj0lcCIsIG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci5nZXQo
KSwgbV9kb2N1bWVudExvYWRlci5nZXQoKSk7CisKICAgICBpZiAobV9wcm92aXNpb25hbERvY3Vt
ZW50TG9hZGVyKQogICAgICAgICBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXItPnN0b3BMb2Fk
aW5nKCk7CiAgICAgaWYgKG1fZG9jdW1lbnRMb2FkZXIpCkBAIC0xOTEwLDE0ICsxOTEzLDEyIEBA
IGJvb2wgRnJhbWVMb2FkZXI6OmZyYW1lSGFzTG9hZGVkKCkgY29uc3QKIAogdm9pZCBGcmFtZUxv
YWRlcjo6c2V0RG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKIHsKLSAgICBp
ZiAoIWxvYWRlciAmJiAhbV9kb2N1bWVudExvYWRlcikKLSAgICAgICAgcmV0dXJuOwotCiAgICAg
aWYgKGxvYWRlciA9PSBtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICByZXR1cm47CisKKyAgICBG
UkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGluZywgInNldERv
Y3VtZW50TG9hZGVyOiBTZXR0aW5nIGRvY3VtZW50IGxvYWRlciB0byAlcCAod2FzICVwKSIsIGxv
YWRlciwgbV9kb2N1bWVudExvYWRlci5nZXQoKSk7CiAgICAgCi0gICAgQVNTRVJUKGxvYWRlciAh
PSBtX2RvY3VtZW50TG9hZGVyKTsKLSAgICBBU1NFUlQoIWxvYWRlciB8fCBsb2FkZXItPmZyYW1l
TG9hZGVyKCkgPT0gdGhpcyk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWxvYWRlciB8fCBsb2FkZXIt
PmZyYW1lTG9hZGVyKCkgPT0gdGhpcyk7CiAKICAgICBtX2NsaWVudC0+cHJlcGFyZUZvckRhdGFT
b3VyY2VSZXBsYWNlbWVudCgpOwogICAgIGRldGFjaENoaWxkcmVuKCk7CkBAIC0xOTQzLDYgKzE5
NDQsOCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzZXRQb2xpY3lEb2N1bWVudExvYWRlcihEb2N1bWVu
dExvYWRlciogbG9hZGVyKQogICAgIGlmIChtX3BvbGljeURvY3VtZW50TG9hZGVyID09IGxvYWRl
cikKICAgICAgICAgcmV0dXJuOwogCisgICAgRlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRChSZXNvdXJjZUxvYWRpbmcsICJzZXRQb2xpY3lEb2N1bWVudExvYWRlcjogU2V0dGluZyBw
b2xpY3kgZG9jdW1lbnQgbG9hZGVyIHRvICVwICh3YXMgJXApIiwgbG9hZGVyLCBtX3BvbGljeURv
Y3VtZW50TG9hZGVyLmdldCgpKTsKKwogICAgIGlmIChsb2FkZXIpCiAgICAgICAgIGxvYWRlci0+
YXR0YWNoVG9GcmFtZShtX2ZyYW1lKTsKICAgICBpZiAobV9wb2xpY3lEb2N1bWVudExvYWRlcgpA
QCAtMTk1NSwxMCArMTk1OCwxMyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzZXRQb2xpY3lEb2N1bWVu
dExvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyKQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzZXRQ
cm92aXNpb25hbERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7Ci0gICAg
RlJBTUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJzZXRQ
cm92aXNpb25hbERvY3VtZW50TG9hZGVyOiBTZXR0aW5nIHByb3Zpc2lvbmFsIGRvY3VtZW50IGxv
YWRlciAobV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyPSVwKSIsIGxvYWRlcik7CisgICAgaWYg
KG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlciA9PSBsb2FkZXIpCisgICAgICAgIHJldHVybjsK
KworICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5n
LCAic2V0UHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcjogU2V0dGluZyBwcm92aXNpb25hbCBkb2N1
bWVudCBsb2FkZXIgdG8gJXAgKHdhcyAlcCkiLCBsb2FkZXIsIG1fcHJvdmlzaW9uYWxEb2N1bWVu
dExvYWRlci5nZXQoKSk7CiAKICAgICBBU1NFUlQoIWxvYWRlciB8fCAhbV9wcm92aXNpb25hbERv
Y3VtZW50TG9hZGVyKTsKLSAgICBBU1NFUlQoIWxvYWRlciB8fCBsb2FkZXItPmZyYW1lTG9hZGVy
KCkgPT0gdGhpcyk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWxvYWRlciB8fCBsb2FkZXItPmZyYW1l
TG9hZGVyKCkgPT0gdGhpcyk7CiAKICAgICBpZiAobV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVy
ICYmIG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlciAhPSBtX2RvY3VtZW50TG9hZGVyKQogICAg
ICAgICBtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXItPmRldGFjaEZyb21GcmFtZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA3OTEzYWUy
MTYxYzdmNWEwNTY5MGRjOTc0ZjQ3MmEyZWU4NzkxZWQ0Li42OGVmZGM1OWVjYWNhNzE0N2RkNzgz
YmJmZDgzZTBhZDVhMjRhZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtMTQwMyw2ICsxNDAzLDggQEAgdm9pZCBXZWJQYWdlOjpjbG9zZSgp
CiAgICAgaWYgKG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVybjsKIAorICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoTG9hZGluZywgImNsb3NlOiIpOworCiAjaWYgRU5BQkxFKFJFU09VUkNFX0xP
QURfU1RBVElTVElDUykKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNsZWFyUGFnZVNwZWNpZmljRGF0YUZvclJlc291cmNlTG9h
ZFN0YXRpc3RpY3MobV9pZGVudGlmaWVyKSwgMCk7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>