<?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>208752</bug_id>
          
          <creation_ts>2020-03-06 18:17:58 -0800</creation_ts>
          <short_desc>[Media in GPU Process] Implement caption support in video fullscreen and PiP</short_desc>
          <delta_ts>2020-09-23 11:45:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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>
          <dependson>216829</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1627065</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-03-06 18:17:58 -0800</bug_when>
    <thetext>[Media in GPU Process] Implement caption support in video fullscreen and PiP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627101</commentid>
    <comment_count>1</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-03-06 19:04:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/60178102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627168</commentid>
    <comment_count>2</comment_count>
      <attachid>392849</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-03-06 22:37:19 -0800</bug_when>
    <thetext>Created attachment 392849
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627216</commentid>
    <comment_count>3</comment_count>
      <attachid>392849</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-07 08:19:07 -0800</bug_when>
    <thetext>Comment on attachment 392849
WIP patch

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

&gt; Source/WebCore/dom/Document.cpp:2103
&gt; +        // ASSERT_NOT_REACHED();

You cannot remove this. If this hits, you&apos;re doing something wrong.

&gt; Source/WebCore/rendering/RenderLayer.cpp:5703
&gt; +            // ASSERT(clipRectsContext.rootLayer == m_clipRectsCache-&gt;m_clipRectsRoot[clipRectsType]);
&gt; +            // ASSERT(m_clipRectsCache-&gt;m_scrollbarRelevancy[clipRectsType] == clipRectsContext.overlayScrollbarSizeRelevancy);

If you&apos;re hitting these you&apos;re also doing something wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690902</commentid>
    <comment_count>4</comment_count>
      <attachid>409415</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-22 15:43:15 -0700</bug_when>
    <thetext>Created attachment 409415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690906</commentid>
    <comment_count>5</comment_count>
      <attachid>409416</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-22 15:49:28 -0700</bug_when>
    <thetext>Created attachment 409416
Fix build failures on WPE and GTK ports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690921</commentid>
    <comment_count>6</comment_count>
      <attachid>409418</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-22 16:01:34 -0700</bug_when>
    <thetext>Created attachment 409418
Fix build failures on WPE and GTK ports v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690927</commentid>
    <comment_count>7</comment_count>
      <attachid>409420</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-22 16:17:46 -0700</bug_when>
    <thetext>Created attachment 409420
Fix build failures again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691178</commentid>
    <comment_count>8</comment_count>
      <attachid>409420</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-23 11:00:59 -0700</bug_when>
    <thetext>Comment on attachment 409420
Fix build failures again

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

&gt; Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:154
&gt; +#if PLATFORM(IOS_FAMILY)
&gt; +    if (decoder.messageReceiverName() == Messages::RemoteMediaSessionHelper::messageReceiverName()) {
&gt; +        // FIXME
&gt; +        return true;
&gt; +    }
&gt; +#endif

It might make more sense to add this when we fix RemoteMediaSessionHelper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691188</commentid>
    <comment_count>9</comment_count>
      <attachid>409420</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-23 11:24:11 -0700</bug_when>
    <thetext>Comment on attachment 409420
Fix build failures again

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

&gt;&gt; Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:154
&gt;&gt; +#endif
&gt; 
&gt; It might make more sense to add this when we fix RemoteMediaSessionHelper.

Agree. But there will be assertion failures if we don&apos;t add it. :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691198</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-23 11:45:16 -0700</bug_when>
    <thetext>Committed r267491: &lt;https://trac.webkit.org/changeset/267491&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409420.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392849</attachid>
            <date>2020-03-06 22:37:19 -0800</date>
            <delta_ts>2020-09-21 13:44:38 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-208752-20200306223718.patch</filename>
            <type>text/plain</type>
            <size>17782</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjE3NTRlM2ZiMGM4YTFi
YmJhMmZiYjU1NWJkMTc1ZDk2NWMzNjc1Mi4uNWYwYzE4ODhhMjc3NTZkMjJmZDA4OWZhNDllNjJk
YzNjM2ZkYTVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTAzLTA2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgY2FwdGlvbiBzdXBwb3J0IGluIHZpZGVvIGZ1bGxzY3JlZW4gYW5kIFBp
UAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NzUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRU
cmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9MYXllck1h
bmFnZXJPYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQuCisKIDIwMjAt
MDMtMDYgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFNldCBpbXBvcnRhbnQgRUdMIGNvbnRleHQgYXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxNTU3
NTk0MGY1OWRhNjI1OWFiZDRmYjFlZWI1OTc2YWMwYWJiNGRhLi5jOTk3NDEwNDNlZTA1OWY5MjZi
MzVmOGQwNDUwZmE5MGNjNDExZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAz
LTA2ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGlu
IEdQVSBQcm9jZXNzXSBJbXBsZW1lbnQgY2FwdGlvbiBzdXBwb3J0IGluIHZpZGVvIGZ1bGxzY3Jl
ZW4gYW5kIFBpUAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NzUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVvRnVsbHNj
cmVlbkxheWVyKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpy
ZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp0cmFja3NDaGFuZ2VkKToKKyAgICAgICAgKFdlYktp
dDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3lu
Y1RleHRUcmFja0JvdW5kcyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUp
OgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN5bmNUZXh0VHJh
Y2tCb3VuZHMpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNl
dFRleHRUcmFja1JlcHJlc2VudGF0aW9uKToKKwogMjAyMC0wMy0wNiAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIHVuaWZpZWQgYnVpbGQgZml4
OyBJbmNsdWRlIHdoYXQgeW91IHVzZSwgaW4gdGhpcyBjYXNlOiBGcmFtZUluZm9EYXRhLmguCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggN2QyZGRlNjVmNDA1ZGY0ZmFkNzQwMDEwMjA5NjRlMjlmOGMzOGMwYS4uMTdiMDhmNmU1ZmQw
ZDA2MmYyY2YyMDc0NzE3NzljN2JmNTgxNDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjM2LDYgKzYzNiw3IEBACiAJCTFE
MkY4RTA0MjM0NDc1MTYwMDk5M0I2OCAvKiBFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMURFRjA2Q0EyMzND
M0QwQjAwRUUyMjhEIC8qIEVudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUQyRjhFMDUyMzQ0NzUxRDAw
OTkzQjY4IC8qIEhUTUxWaWRlb0VsZW1lbnRQaWN0dXJlSW5QaWN0dXJlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREVGMDZDQzIzM0MzRDIwMDBFRTIy
OEQgLyogSFRNTFZpZGVvRWxlbWVudFBpY3R1cmVJblBpY3R1cmUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRDJGOEUwNjIzNDQ3NTIzMDA5OTNC
NjggLyogUGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMURFRjA2Q0QyMzNDM0QyQTAwRUUyMjhEIC8qIFBpY3R1cmVJ
blBpY3R1cmVXaW5kb3cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkxRDUwMDRCNzI0MTMzNjVEMDBCRUFGNzMgLyogVGV4dFRyYWNrUmVwcmVzZW50
YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RDFFNTI1MTY3QkE1NjQwMENFODIwQiAvKiBUZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFEOUYwRkMxMjEy
MjAyOUIwMDVEOEZENCAvKiBTaGFyZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFEQzU1NDAwMjExQkE4QzgwMDRCNzgwRSAvKiBTaGFyZURhdGEu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxREJD
MUI1NjIzNDdCM0QyMDBCOTAxQUYgLyogUGljdHVyZUluUGljdHVyZU9ic2VydmVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREJDMUI1NTIzNDdCM0Qy
MDBCOTAxQUYgLyogUGljdHVyZUluUGljdHVyZU9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUYzNkVBOUMxRTIxQkExNzAwNjIxRTI1
IC8qIFdlYkJhY2tncm91bmRUYXNrQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYzNkVBOUExRTIxQkExNzAwNjIxRTI1IC8qIFdlYkJh
Y2tncm91bmRUYXNrQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC0zMTU0NCw2ICszMTU0NSw3IEBACiAJCQkJQTE3RDI3NUUxRUFD
NTc5ODAwQkYwMUU3IC8qIE1lZGlhU2VsZWN0aW9uT3B0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDOTAyN0Y0MjFCMUQwQUQyMDBCRkJGRUYgLyogTWVkaWFTZXNzaW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDOUY4N0NGRTFCMjhGNDBFMDA5NzlCODMgLyogTWVkaWFTZXNzaW9uRXZlbnRzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0MTQ0NjBBMjI0MTI5OTQ1MDA4MTRCRTcgLyogTWVkaWFTZXNz
aW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzk2RjVFQzgxQjU4NzIyNjAwOTFF
QTlEIC8qIE1lZGlhU2Vzc2lvbkludGVycnVwdGlvblByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDOTZGNUVDNTFCNTg3MjI2MDA5MUVBOUQgLyogTWVkaWFTZXNzaW9uSW50ZXJydXB0aW9u
UHJvdmlkZXJNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5MEY2NTU2MUIyMjUzQkUwMDIxNjNB
MSAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTMyNzk3LDcgKzMy
Nzk5LDYgQEAKIAkJCQlFNEM5MUEwRTE4MDIzNDMxMDBBMTdGNkQgLyogVGV4dFBhaW50U3R5bGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OEY2MDgyNDVFNTkwMDFFOUFCQyAvKiBUZXh0UmVz
b3VyY2VEZWNvZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODI0QjQ2NTBFMkVGMkVBMDA4MUE3
QjcgLyogVGV4dFJ1bi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE0NDYwQTIyNDEyOTk0NTAwODE0
QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0OEIx
QjdBMEYzQTJGOUIwMDQ3QTlFMiAvKiBUZXh0U2l6ZUFkanVzdG1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3NTlFOTQwMTRFRjFDRjgwMDI2QTJERCAvKiBUZXh0VHJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3NTlFOTQzMTRFRjFDRjgwMDI2QTJERCAvKiBUZXh0VHJhY2tDdWUuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzI4MDYsNiArMzI4MDcsNyBAQAogCQkJCTA3Njk3MDg3MTQ2M0FEODcw
MEY1MDJDRiAvKiBUZXh0VHJhY2tMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMUFENEU3NDEz
QTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RDhCNUE0OTE4MEUxMzhCMDA4QjhFNjUgLyogVGV4dFRyYWNrTWVkaWFTb3VyY2UuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTFENTAwNEI3MjQxMzM2NUQwMEJFQUY3MyAvKiBUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUM3M0E3MTMyMTg1NzU3RTAwNENDRUE1IC8q
IFRleHRVbmRlcmxpbmVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5RkFGNEI2MTk1QUIw
ODkwMEE1MjJEQyAvKiBUZXh0VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDk4NzcwRjExMjQyQzUzNTAwMjIyNkJBIC8qIFRleHR1cmUuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZjNhZDlhODdiZWYwYWEwODIwMDQ3ZjVhMmU2
MTJiMzg4OWRhMDBjOC4uOTFkZjNlMzBmODM5NDZiOWUxYzRkOGE4NmE5MjFmZmY1Mjg1YjJhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yMTAwLDcgKzIxMDAsNyBAQCB2b2lkIERvY3Vt
ZW50Ojp1cGRhdGVMYXlvdXQoKQogICAgIFJlZlB0cjxGcmFtZVZpZXc+IGZyYW1lVmlldyA9IHZp
ZXcoKTsKICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgpLmlz
SW5SZW5kZXJUcmVlTGF5b3V0KCkpIHsKICAgICAgICAgLy8gVmlldyBsYXlvdXQgc2hvdWxkIG5v
dCBiZSByZS1lbnRyYW50LgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
Ly8gQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgUkVM
RUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihpc1NhZmVUb1VwZGF0ZVN0eWxl
T3JMYXlvdXQoKnRoaXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDA1ZjE0OTEzMWQ5
MzgxNjE5YzZhMDQ3NWQ5NjU5OGQ2ZWE2ZThkYzYuLjU4ZWI0ZTY2ZjU5MGEwMWQ3NjM5ZTg3MGM2
M2MwYjhkZDQ0MGM1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMjA2OSw3ICsyMDY5
LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzeW5jVGV4dFRy
YWNrQm91bmRzKCkKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpz
ZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tSZXByZXNlbnRhdGlvbiogcmVwcmVz
ZW50YXRpb24pCiB7Ci0gICAgbV92aWRlb0xheWVyTWFuYWdlci0+c2V0VGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24ocmVwcmVzZW50YXRpb24pOworICAgIFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0
aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJlcHJlc2VudGF0aW9uLT5wbGF0Zm9ybUxheWVy
KCkgOiBuaWw7CisgICAgbV92aWRlb0xheWVyTWFuYWdlci0+c2V0VGV4dFRyYWNrUmVwcmVzZW50
YXRpb25MYXllcihyZXByZXNlbnRhdGlvbkxheWVyKTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShW
SURFT19UUkFDSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCBmNTQ5MTBjMTkwMmNi
NzRkM2RkMzAwZDJjYjUxM2FkZTIxNmIwYmZiLi42NmJjYzZlZGMxOGRiZmEyZjJlNWJhOTM3OGI1
MDcyZjczMzkwZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0xMTg2LDcgKzEx
ODYsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3luY1Rl
eHRUcmFja0JvdW5kcygpCiAgICAgCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24qIHJlcHJlc2VudGF0aW9uKQogewotICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRU
cmFja1JlcHJlc2VudGF0aW9uKHJlcHJlc2VudGF0aW9uKTsKKyAgICBQbGF0Zm9ybUxheWVyKiBy
ZXByZXNlbnRhdGlvbkxheWVyID0gcmVwcmVzZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxh
dGZvcm1MYXllcigpIDogbmlsOworICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFj
a1JlcHJlc2VudGF0aW9uTGF5ZXIocmVwcmVzZW50YXRpb25MYXllcik7CiB9CiAKICNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9MYXllck1hbmFnZXJPYmpD
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9W
aWRlb0xheWVyTWFuYWdlck9iakMuaAppbmRleCBlMzAzMjE3NGUxOTA4N2ZhZTc4NTE4ODJiZTBj
ZTlmNDJlNGUwODcwLi42Yzk3NTkwM2ViOGE1ZDVkMzg3N2Q3OTI5MjM4MDYyYzNiOGExNjkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMuaApAQCAt
NTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWREZXN0cm95VmlkZW9MYXllcigpOwog
CiAgICAgYm9vbCByZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uKCkgY29uc3Q7Ci0gICAg
dm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tSZXByZXNlbnRhdGlvbiop
OworICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllcihQbGF0Zm9ybUxheWVy
Kik7CiAgICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CiAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9W
aWRlb0xheWVyTWFuYWdlck9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW0KaW5kZXggZjdlNjdi
MjBkNDRiZTMxODM3ODFlMjVhNDBlOTU0NTc2NmRlMGRlNC4uYTUzNzQ3ZGU2OTZkMTI4NzdlZDdj
ZmNiMmE4OTQwZDM3NGRkNmQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9MYXllck1hbmFnZXJPYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVv
TGF5ZXJNYW5hZ2VyT2JqQy5tbQpAQCAtMTcxLDExICsxNzEsMTAgQEAgdm9pZCBWaWRlb0xheWVy
TWFuYWdlck9iakM6OnN5bmNUZXh0VHJhY2tCb3VuZHMoKQogICAgIFtDQVRyYW5zYWN0aW9uIGNv
bW1pdF07CiB9CiAKLXZvaWQgVmlkZW9MYXllck1hbmFnZXJPYmpDOjpzZXRUZXh0VHJhY2tSZXBy
ZXNlbnRhdGlvbihUZXh0VHJhY2tSZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCit2b2lk
IFZpZGVvTGF5ZXJNYW5hZ2VyT2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllcihQ
bGF0Zm9ybUxheWVyKiByZXByZXNlbnRhdGlvbkxheWVyKQogewogICAgIEFMV0FZU19MT0coTE9H
SURFTlRJRklFUik7CiAKLSAgICBQbGF0Zm9ybUxheWVyKiByZXByZXNlbnRhdGlvbkxheWVyID0g
cmVwcmVzZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxhdGZvcm1MYXllcigpIDogbmlsOwog
ICAgIGlmIChyZXByZXNlbnRhdGlvbkxheWVyID09IG1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25M
YXllcikgewogICAgICAgICBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGZmYzM4NTk3NGZk
YjQ4YTU0OTAxMWRkYjhjYWFiOGJkY2Q4MmE0YjMuLmU4MWM4YTBhMDFiNzFhNGEwYzYzNzg0MTc3
ZmQ5MGY5NmM5NjM4MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtNTY5OSw4ICs1Njk5LDggQEAgUmVmPENsaXBSZWN0cz4gUmVuZGVyTGF5ZXI6OnVwZGF0
ZUNsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb24KICAgICBBU1NF
UlQoY2xpcFJlY3RzVHlwZSA8IE51bUNhY2hlZENsaXBSZWN0c1R5cGVzKTsKICAgICBpZiAobV9j
bGlwUmVjdHNDYWNoZSkgewogICAgICAgICBpZiAoYXV0byogY2xpcFJlY3RzID0gbV9jbGlwUmVj
dHNDYWNoZS0+Z2V0Q2xpcFJlY3RzKGNsaXBSZWN0c1R5cGUsIGNsaXBSZWN0c0NvbnRleHQucmVz
cGVjdE92ZXJmbG93Q2xpcCkpIHsKLSAgICAgICAgICAgIEFTU0VSVChjbGlwUmVjdHNDb250ZXh0
LnJvb3RMYXllciA9PSBtX2NsaXBSZWN0c0NhY2hlLT5tX2NsaXBSZWN0c1Jvb3RbY2xpcFJlY3Rz
VHlwZV0pOwotICAgICAgICAgICAgQVNTRVJUKG1fY2xpcFJlY3RzQ2FjaGUtPm1fc2Nyb2xsYmFy
UmVsZXZhbmN5W2NsaXBSZWN0c1R5cGVdID09IGNsaXBSZWN0c0NvbnRleHQub3ZlcmxheVNjcm9s
bGJhclNpemVSZWxldmFuY3kpOworICAgICAgICAgICAgLy8gQVNTRVJUKGNsaXBSZWN0c0NvbnRl
eHQucm9vdExheWVyID09IG1fY2xpcFJlY3RzQ2FjaGUtPm1fY2xpcFJlY3RzUm9vdFtjbGlwUmVj
dHNUeXBlXSk7CisgICAgICAgICAgICAvLyBBU1NFUlQobV9jbGlwUmVjdHNDYWNoZS0+bV9zY3Jv
bGxiYXJSZWxldmFuY3lbY2xpcFJlY3RzVHlwZV0gPT0gY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5
U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7CiAgICAgICAgIAogI2lmZGVmIENIRUNLX0NBQ0hFRF9D
TElQX1JFQ1RTCiAgICAgICAgICAgICAvLyBUaGlzIGNvZGUgaXMgdXNlZnVsIHRvIGNoZWNrIGNh
Y2hlZCBjbGlwIHJlY3RzLCBidXQgaXMgdG9vIGV4cGVuc2l2ZSB0byBsZWF2ZSBlbmFibGVkIGlu
IGRlYnVnIGJ1aWxkcyBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmlu
ZGV4IDk1ZTczYTY1MDlhMmEzMjkzMGVjOTRmOTVhYzEzNmM2ZjA4MGY0YjUuLjcxOThhZjk5YTEx
MTg2M2IyZmIwZjc0NzgwMzUzMTAwZDkwNGQ0ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHAKQEAgLTYyOSwxMiArNjI5LDI0IEBAIFBsYXRmb3JtTGF5ZXIqIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6cGxhdGZvcm1MYXllcigpIGNvbnN0CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIoUGxhdGZvcm1MYXllciogdmlkZW9GdWxs
c2NyZWVuTGF5ZXIsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIGlmICghdmlkZW9GdWxsc2NyZWVuTGF5ZXIpIHsKLSAgICAgICAgY29ubmVjdGlvbigp
LnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6RXhp
dEZ1bGxzY3JlZW4oKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG1faWQpOworICAgICAg
ICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpFeGl0RnVsbHNjcmVlbigpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
KCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICAgICAgbV9yZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9u
ID0gZmFsc2U7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICB9LCBt
X2lkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIEFTU0VSVChtX3ZpZGVvRnVsbHNj
cmVlbkxheWVyLmdldCgpID09IHZpZGVvRnVsbHNjcmVlbkxheWVyKTsKLSAgICBjb25uZWN0aW9u
KCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpF
bnRlckZ1bGxzY3JlZW4oKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG1faWQpOworICAg
IGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OkVudGVyRnVsbHNjcmVlbigpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
KCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgbV9yZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uID0gdHJ1ZTsKKyAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9LCBtX2lkKTsKIH0KIAogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKCkK
QEAgLTk2MiwyNSArOTc0LDE0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRT
aG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkKGJvb2wgc2hvdWxkKQogI2lmIEVOQUJMRShWSURF
T19UUkFDSykKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFj
a1JlcHJlc2VudGF0aW9uKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFRleHRU
cmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKikKLXsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1Rl
eHRUcmFja0JvdW5kcygpCi17Ci0gICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OlN5bmNUZXh0VHJhY2tCb3VuZHMoKSwgbV9pZCk7CisgICAgcmV0
dXJuIG1fcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbjsKIH0KKyNlbmRpZgogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dHJhY2tzQ2hhbmdlZCgpCiB7CiAgICAgY29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlRyYWNrc0NoYW5n
ZWQoKSwgbV9pZCk7CiB9Ci0jZW5kaWYKIAogI2lmIFVTRShHU1RSRUFNRVIpCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c2ltdWxhdGVBdWRpb0ludGVycnVwdGlvbigpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaAppbmRleCA3YWI2NjUyOWE1MTk3MzU4MzFjZmJjYzg5OTE4YmJhNzc3
YWM1Y2ZlLi4xN2JjYmM4NzMwNmRiYTYzOTlmN2IwMjgzNWMzNTIzMzQwMDhlNGI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTMyNCw5ICszMjQsMTAgQEAgcHJpdmF0ZToKICAgICBi
b29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSBjb25zdCBmaW5hbDsKICAgICB2
b2lkIHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFdlYkNvcmU6OlRleHRUcmFja1JlcHJlc2Vu
dGF0aW9uKikgZmluYWw7CiAgICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCkgZmluYWw7Ci0g
ICAgdm9pZCB0cmFja3NDaGFuZ2VkKCkgZmluYWw7CiAjZW5kaWYKIAorICAgIHZvaWQgdHJhY2tz
Q2hhbmdlZCgpIGZpbmFsOworCiAjaWYgVVNFKEdTVFJFQU1FUikKICAgICB2b2lkIHNpbXVsYXRl
QXVkaW9JbnRlcnJ1cHRpb24oKSBmaW5hbDsKICNlbmRpZgpAQCAtMzU5LDggKzM2MCwxMSBAQCBw
cml2YXRlOgogCiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXIqIG1fcGxheWVyIHsgbnVsbHB0ciB9
OwogICAgIFJlZlB0cjxXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI+IG1fbWVk
aWFSZXNvdXJjZUxvYWRlcjsKKyAgICBib29sIG1fcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbiB7IGZhbHNlIH07CiAgICAgUmV0YWluUHRyPFBsYXRmb3JtTGF5ZXI+IG1fdmlkZW9Jbmxp
bmVMYXllcjsKICAgICBSZXRhaW5QdHI8UGxhdGZvcm1MYXllcj4gbV92aWRlb0Z1bGxzY3JlZW5M
YXllcjsKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV92aWRlb0Z1bGxzY3JlZW5GcmFtZTsKKyAg
ICBSZXRhaW5QdHI8UGxhdGZvcm1MYXllcj4gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVy
OwogICAgIE9wdGlvbmFsPExheWVySG9zdGluZ0NvbnRleHRJRD4gbV9mdWxsc2NyZWVuTGF5ZXJI
b3N0aW5nQ29udGV4dElkOwogICAgIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlciYgbV9tYW5hZ2Vy
OwogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciBt
X3JlbW90ZUVuZ2luZUlkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGVDb2NvYS5tbQppbmRleCA5YmRmZWFlYmZlNzczMDljYmQwYzViY2ViY2FiMjJiOTAz
MDU2ZTE0Li5iMmMyM2I3MzhhNzBlMDQ5NDIxOGNhYzdhN2FlZDAwZjk3ZDEwYmRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KQEAgLTI5LDExICsy
OSwxNCBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCiAKICNp
bXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1RleHRUcmFja1Jl
cHJlc2VudGF0aW9uLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4K
ICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQ
TEFURk9STShNQUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCiAKIFJldGFp
blB0cjxQbGF0Zm9ybUxheWVyPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNyZWF0ZVZpZGVv
RnVsbHNjcmVlbkxheWVyKCkKQEAgLTY1LDYgKzY4LDU1IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShXZWJDb3JlOjpGbG9hdFJlY3QgcmVj
dCkKICAgICBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZUZlbmNlZChyZWN0LCBmZW5jZVNlbmRSaWdo
dCk7CiAKICAgICBbQ0FUcmFuc2FjdGlvbiBjb21taXRdOworCisgICAgbV92aWRlb0Z1bGxzY3Jl
ZW5GcmFtZSA9IHJlY3Q7CisgICAgc3luY1RleHRUcmFja0JvdW5kcygpOworfQorCisjZW5kaWYK
KworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKworLy8gRHVwbGljYXRlZCBjb2RlIGZyb20gVmlk
ZW9MYXllck1hbmFnZXJPYmpDLm1tCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3lu
Y1RleHRUcmFja0JvdW5kcygpCit7CisgICAgaWYgKCFtX3ZpZGVvRnVsbHNjcmVlbkxheWVyIHx8
ICFtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIuZ2V0KCkuYm91bmRzID09IG1fdmlk
ZW9GdWxsc2NyZWVuRnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFtDQVRyYW5zYWN0aW9u
IGJlZ2luXTsKKyAgICBbQ0FUcmFuc2FjdGlvbiBzZXREaXNhYmxlQWN0aW9uczpZRVNdOworCisg
ICAgW21fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllciBzZXRGcmFtZTptX3ZpZGVvRnVsbHNj
cmVlbkZyYW1lXTsKKworICAgIFtDQVRyYW5zYWN0aW9uIGNvbW1pdF07Cit9CisKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCit7CisgICAgUGxhdGZvcm1MYXllciog
cmVwcmVzZW50YXRpb25MYXllciA9IHJlcHJlc2VudGF0aW9uID8gcmVwcmVzZW50YXRpb24tPnBs
YXRmb3JtTGF5ZXIoKSA6IG5pbDsKKworICAgIGlmIChyZXByZXNlbnRhdGlvbkxheWVyID09IG1f
dGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllcikgeworICAgICAgICBzeW5jVGV4dFRyYWNrQm91
bmRzKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBbQ0FUcmFuc2FjdGlvbiBiZWdp
bl07CisgICAgW0NBVHJhbnNhY3Rpb24gc2V0RGlzYWJsZUFjdGlvbnM6WUVTXTsKKworICAgIGlm
IChtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpCisgICAgICAgIFttX3RleHRUcmFja1Jl
cHJlc2VudGF0aW9uTGF5ZXIgcmVtb3ZlRnJvbVN1cGVybGF5ZXJdOworCisgICAgbV90ZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbkxheWVyID0gcmVwcmVzZW50YXRpb25MYXllcjsKKworICAgIGlmICht
X3ZpZGVvRnVsbHNjcmVlbkxheWVyICYmIG1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllcikg
eworICAgICAgICBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CisgICAgICAgIFttX3ZpZGVvRnVsbHNj
cmVlbkxheWVyIGFkZFN1YmxheWVyOm1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllci5nZXQo
KV07CisgICAgfQorCisgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsKIH0KIAogI2VuZGlmCg==
</data>
<flag name="review"
          id="408247"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409415</attachid>
            <date>2020-09-22 15:43:15 -0700</date>
            <delta_ts>2020-09-22 15:54:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208752-20200922154314.patch</filename>
            <type>text/plain</type>
            <size>19995</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTkzMDJjMGRiN2IyZTVh
YmU0YmU5NzBiMjMwOWYwNGIzOGEwODYxOS4uZGNiNDU3ZGNiNWRiZmY1MzNiZWE4NmM5YTgyNGVk
NTJlMmVhYTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA5LTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgY2FwdGlvbiBzdXBwb3J0IGluIHZpZGVvIGZ1bGxzY3JlZW4gYW5kIFBp
UAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NzUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0
IFRleHRUcmFja1JlcHJlc2VudGF0aW9uIHNvIHRoYXQgV2ViS2l0IGNhbiB1c2UgaXQuIEFsc28s
IHVwZGF0ZSB0aGUKKyAgICAgICAgaW50ZXJmYWNlIG9mIFZpZGVvTGF5ZXJNYW5hZ2VyT2JqQyBy
ZWxhdGVkIHRvIHRleHQgdHJhY2sgcmVwcmVzZW50YXRpb24gdG8KKyAgICAgICAgdXNlIFBsYXRm
b3JtTGF5ZXIqIGluc3RlYWQgb2YgVGV4dFRyYWNrUmVwcmVzZW50YXRpb24qLgorCisgICAgICAg
IE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgQ2hhbmdlIHRhcmdldCBtZW1iZXJzaGlwIG9mIFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uLmguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9MYXllck1hbmFnZXJPYmpDOjpzZXRU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIFJlcGxhY2Ugc2V0VGV4
dFRyYWNrUmVwcmVzZW50YXRpb24oKSB3aXRoIHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5
ZXIoKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbik6CisgICAgICAgIFVzZSBWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uTGF5ZXIoKSBpbnN0ZWFkIG9mCisgICAgICAgIFZpZGVvTGF5ZXJNYW5hZ2Vy
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24pOiBEaXR0by4KKwogMjAyMC0w
OS0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHBhcnRpYWwgcmV2ZXJ0IG9mIHIyNjczODMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNzFmNzdmNDJjNjk4
NmNkMjRkZTgwNDNkMjQzNzQwZjE1NWRiMTUuLjc2YzEzODRiOTZiNzIzOGZmOGQ0MTRhZjJhNjlj
MThlNTIzMTNlMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjAtMDktMjIgIFBlbmcg
TGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIFByb2Nl
c3NdIEltcGxlbWVudCBjYXB0aW9uIHN1cHBvcnQgaW4gdmlkZW8gZnVsbHNjcmVlbiBhbmQgUGlQ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3NTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMpOiBEZWxldGVkLgor
ICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgUmVtb3ZlIHN5bmNUZXh0VHJhY2tCb3VuZHMoKSBiZWNhdXNlIHRoZSBHUFUg
cHJvY2VzcyBkb2VzIG5vdCBuZWVkIHRvIGRlYWwgd2l0aAorICAgICAgICB0aGUgdGV4dCB0cmFj
ayBib3VuZHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaE1l
c3NhZ2UpOgorICAgICAgICBBZGQgYSBtaXNzaW5nIElQQyBtZXNzYWdlIHJlY2VpdmVyLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0Z1
bGxzY3JlZW5MYXllcik6IFNldCB0aGUgZmxhZworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNr
UmVwcmVzZW50YXRpb24gd2hlbiBjaGFuZ2luZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZS4KKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFj
a1JlcHJlc2VudGF0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFj
a0JvdW5kcyk6IERlbGV0ZWQuCisgICAgICAgIE1vdmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRo
b3NlIGZ1bmN0aW9ucyB0byBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorICAg
ICAgICBBZGQgdGhlIGZsYWcgbV9yZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uIGFuZCBh
ZGQgYSByZWZlcmVuY2UKKyAgICAgICAgdG8gdGhlIGxheWVyIHVzZWQgdG8gcmVuZGVyIHRleHQg
dHJhY2sgKGluIGZ1bGxzY3JlZW4gb3IgcGljdHVyZS1pbi1waWN0dXJlKS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVv
RnVsbHNjcmVlbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0JvdW5kcyk6CisgICAgICAgIFRob3Nl
IGZ1bmN0aW9ucyBzaGFyZSBhIHNpbWlsYXIgaW1wbGVtZW50YXRpb24gYXMgVmlkZW9MYXllck1h
bmFnZXJPYmpDLgorCiAyMDIwLTA5LTIyICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgW01lZGlhIGluIEdQVSBQcm9jZXNzXSBBZGQgbWlzc2luZyBJUEMgbWVzc2Fn
ZSByZWNlaXZlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA5NDhhOTMzY2E3NTlmNzU0YzQzY2IxYTljMDhmZTY2ZWY0MzM2NmM2
Li42YmVlYmY4OTljYzNjZjhjMWEyYTM3ZTBlZGRhMDhkYWE4NmUwYWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzQsNiAr
NjM0LDcgQEAKIAkJMUQyRjhFMDYyMzQ0NzUyMzAwOTkzQjY4IC8qIFBpY3R1cmVJblBpY3R1cmVX
aW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFE
RUYwNkNEMjMzQzNEMkEwMEVFMjI4RCAvKiBQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUQ5RjBGQzEyMTIy
MDI5QjAwNUQ4RkQ0IC8qIFNoYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMURDNTU0MDAyMTFCQThDODAwNEI3ODBFIC8qIFNoYXJlRGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFEQkMx
QjU2MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkMxQjU1MjM0N0IzRDIw
MEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxREY3RTgxRjI1MUE5RTA2MDBEQjhGNjEg
LyogVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENERDFFNTI1MTY3QkE1NjQwMENFODIwQiAvKiBUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTFGMzZFQTlDMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGMzZFQTlBMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjcy
QkYwQjE4N0ZENDVDMDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjcyQkYwOTE4
N0ZENDI3MDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUY4NzU2QjIxRTIy
QzMzNTAwNDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY4NzU2QjExRTIyQkVFRjAw
NDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDIxMCw2ICszNDIxMSw3IEBA
CiAJCQkJMDc2OTcwODcxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIxQUQ0RTc0MTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEOEI1QTQ5MTgwRTEzOEIwMDhCOEU2NSAvKiBUZXh0VHJh
Y2tNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMURGN0U4MUYyNTFBOUUwNjAwREI4
RjYxIC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzcz
QTcxMzIxODU3NTdFMDA0Q0NFQTUgLyogVGV4dFVuZGVybGluZU9mZnNldC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTg3NzBGMTEyNDJDNTM1MDAyMjI2QkEgLyog
VGV4dHVyZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBhYzBm
OGZmYTAyODgzZTRhYWZmZjMyYmYzODBmODgyMzAwMmI1NjE1Li5jOGY1MmRmZDZiM2NmOWRkOTJh
MGMwMWE1Y2FlYTE0NjVmZTJkMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTIxMDIs
NyArMjEwMiw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c3lu
Y1RleHRUcmFja0JvdW5kcygpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpb24q
IHJlcHJlc2VudGF0aW9uKQogewotICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFj
a1JlcHJlc2VudGF0aW9uKHJlcHJlc2VudGF0aW9uKTsKKyAgICBhdXRvKiByZXByZXNlbnRhdGlv
bkxheWVyID0gcmVwcmVzZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxhdGZvcm1MYXllcigp
IDogbmlsOworICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIocmVwcmVzZW50YXRpb25MYXllcik7CiB9CiAKICNpZiBFTkFCTEUoV0VCX0FVRElP
KSAmJiBVU0UoTUVESUFUT09MQk9YKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDhi
OTQxNTA3YzAzODgxYzAyMTZiNGU3OTJlMzlkYjI2ZTM1N2ZkYjkuLmEwYjY4YzIzNmExNjBiZmE3
YjEyNTMzNjQwNmE3ZTZlOTcxMzM0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAg
LTEyMzAsNyArMTIzMCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpzeW5jVGV4dFRyYWNrQm91bmRzKCkKICAgICAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCiB7Ci0gICAgbV92aWRlb0xheWVyTWFuYWdl
ci0+c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24ocmVwcmVzZW50YXRpb24pOworICAgIGF1dG8q
IHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJlcHJlc2VudGF0aW9uLT5w
bGF0Zm9ybUxheWVyKCkgOiBuaWw7CisgICAgbV92aWRlb0xheWVyTWFuYWdlci0+c2V0VGV4dFRy
YWNrUmVwcmVzZW50YXRpb25MYXllcihyZXByZXNlbnRhdGlvbkxheWVyKTsKIH0KIAogI2lmIEVO
QUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9i
akMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCmluZGV4IDg0ZDU2YmM4MWRhZmQ4NDgxMjBhMzNhZWJj
YmU1YTRjMDgxNDZjZWIuLmFkOWFkNmRmZTlhZWM3MDI3NzMzOWU5YTczZDNjZGJhMGI0OTM2NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCkBA
IC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIFBsYXRmb3JtTGF5ZXIgKnZpZGVvSW5saW5l
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvSW5saW5lTGF5ZXIuZ2V0KCk7IH0KICAgICB2
b2lkIHNldFZpZGVvTGF5ZXIoUGxhdGZvcm1MYXllciAqLCBJbnRTaXplIGNvbnRlbnRTaXplKTsK
KyAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7CiAKICNpZiBFTkFCTEUoVklERU9fUFJF
U0VOVEFUSU9OX01PREUpCiAgICAgUGxhdGZvcm1MYXllciAqdmlkZW9GdWxsc2NyZWVuTGF5ZXIo
KSBjb25zdCB7IHJldHVybiBtX3ZpZGVvRnVsbHNjcmVlbkxheWVyLmdldCgpOyB9CkBAIC01Niwx
MCArNTcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShGbG9h
dFJlY3QpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7Ci0KICAg
ICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSBjb25zdDsKLSAgICB2b2lk
IHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKik7Cisg
ICAgdm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqKTsK
ICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVv
TGF5ZXJNYW5hZ2VyT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5tbQppbmRleCBmZGY1YjY1ZDkz
NTQ4OGVlMjJhMWZlMmVmNDU0NjMxMmFiYTQ2M2QzLi4yYTdiYjNmM2UzMDBkOTc1Y2UwZDViNDNl
ZGE0NmJlMzZhNzkxYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9MYXll
ck1hbmFnZXJPYmpDLm1tCkBAIC0xODIsMTQgKzE4MiwxMyBAQCB2b2lkIFZpZGVvTGF5ZXJNYW5h
Z2VyT2JqQzo6c3luY1RleHRUcmFja0JvdW5kcygpCiAjZW5kaWYKIH0KIAotdm9pZCBWaWRlb0xh
eWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKiByZXByZXNlbnRhdGlvbikKK3ZvaWQgVmlkZW9MYXllck1hbmFnZXJPYmpDOjpz
ZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0
aW9uTGF5ZXIpCiB7CiAjaWYgIUVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKLSAgICBV
TlVTRURfUEFSQU0ocmVwcmVzZW50YXRpb24pOworICAgIFVOVVNFRF9QQVJBTShyZXByZXNlbnRh
dGlvbkxheWVyKTsKICNlbHNlCiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAotICAg
IFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJl
cHJlc2VudGF0aW9uLT5wbGF0Zm9ybUxheWVyKCkgOiBuaWw7CiAgICAgaWYgKHJlcHJlc2VudGF0
aW9uTGF5ZXIgPT0gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKSB7CiAgICAgICAgIHN5
bmNUZXh0VHJhY2tCb3VuZHMoKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmlu
ZGV4IDI3MGFmODQ5NmE0ZDAxMzYxODVlYWMwNmRmMWM2ZGE2NGM4NGY1Y2EuLjc2OWE1NmVlNTcx
MzY5MzQ0MWQ0NGVmM2UxMTI0MDY4NGJlNDBmY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgz
NiwxMSArODM2LDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp0cmFja3NDaGFuZ2Vk
KCkKICAgICBtX3BsYXllci0+dHJhY2tzQ2hhbmdlZCgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMoKQotewotICAgIG1fcGxheWVyLT5zeW5j
VGV4dFRyYWNrQm91bmRzKCk7Ci19Ci0KIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGVy
Zm9ybVRhc2tBdE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRhc2tUaW1lLCBXYWxsVGltZSBt
ZXNzYWdlVGltZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+KT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAobV9wZXJmb3JtVGFza0F0TWVkaWFUaW1l
Q29tcGxldGlvbkhhbmRsZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDk2YmI3MDRkM2IwNDVmZDk4
OGYyOTBmNTM4ODNjZmNiYzc5ZDNmNjQuLjI2NWI3ZTJkODU0Mjg0ZGU3OWU3NmRkOWFlODFhMWYz
YzA5ZTBiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtMTc1LDcgKzE3NSw2IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgbm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOwogICAgIHZvaWQgdHJhY2tzQ2hhbmdl
ZCgpOwotICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpOwogCiAgICAgdm9pZCBwZXJmb3Jt
VGFza0F0TWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIFdhbGxUaW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPE1lZGlhVGltZT4pPiYmKTsKICAgICB2b2lkIHdvdWxkVGFpbnRP
cmlnaW4oc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChPcHRpb25hbDxib29sPik+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdl
cy5pbgppbmRleCA2OGYxODk3ZDllNTA2NDU5MTk4MWFmMThhNTU1ZjE4ZDRhNTM4ZGVjLi4wYTli
OTgxNjEwN2JlYmJhY2VhMTNjNTI1YmExOGI3ZGJmNjVlMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMTEyLDcgKzExMiw2IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1l
ZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBOb3RpZnlUcmFja01vZGVDaGFu
Z2VkKCkKICAgICBUcmFja3NDaGFuZ2VkKCkKLSAgICBTeW5jVGV4dFRyYWNrQm91bmRzKCkKIAog
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgU2V0V2lyZWxlc3NQbGF5
YmFja1RhcmdldChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dCB0YXJnZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCmluZGV4IGRhMmFlNDhjY2VkYWY5NDdkODA2MzA1OGUxZjM0MTVlNzZmNzBhMDcuLjA3
YWNiOTcyYzUwNjA1Y2MwNjY5MGQxNzM4NzUxZTFkNTMxYmJiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC01
NSw2ICs1NSwxMSBAQAogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbk1lc3NhZ2VzLmgiCiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2Fn
ZXMuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAjaW5jbHVkZSAiVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlck1lc3NhZ2VzLmgiCkBAIC0xNDEsNiArMTQ2LDEyIEBAIGJvb2wg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIElQQzo6RGVjCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRpZgor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVy
TmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25IZWxwZXI6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICAvLyBGSVhNRQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisjZW5kaWYKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6UmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuc3VwcGxlbWVudDxSZW1vdGVDRE1GYWN0b3J5PigpLT5kaWRSZWNlaXZlU2Vzc2lvbk1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
aW5kZXggNjBiYzg0YWIyNWUxODY3NWJjMDM4MTkyZmRlYmY4Njc5MDdiYzI1My4uYTM5ZjVkNjNk
MTJkZmQ3NjQzMDZmYzgyNzU1MzE0MWVmZWQ2ZWRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmNwcApAQCAtNjUxLDEyICs2NTEsMjQgQEAgUGxhdGZvcm1MYXllciogTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0Zm9ybUxheWVyKiB2aWRlb0Z1
bGxzY3JlZW5MYXllciwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKCF2aWRlb0Z1bGxzY3JlZW5MYXllcikgewotICAgICAgICBjb25uZWN0aW9u
KCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpF
eGl0RnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7CisgICAg
ICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OkV4aXRGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24gPSBmYWxzZTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0s
IG1faWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUKG1fdmlkZW9GdWxs
c2NyZWVuTGF5ZXIuZ2V0KCkgPT0gdmlkZW9GdWxsc2NyZWVuTGF5ZXIpOwotICAgIGNvbm5lY3Rp
b24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OkVudGVyRnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7Cisg
ICAgY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6RW50ZXJGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24gPSB0cnVlOwor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0sIG1faWQpOwogfQogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2Uo
KQpAQCAtMTAwOSwyMiArMTAyMSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpz
ZXRTaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkKGJvb2wgc2hvdWxkKQogfQogI2VuZGlmCiAK
LWJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKikKLXsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0Jv
dW5kcygpCi17Ci0gICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlN5bmNUZXh0VHJhY2tCb3VuZHMoKSwgbV9pZCk7Ci19Ci0KIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjp0cmFja3NDaGFuZ2VkKCkKIHsKICAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6VHJhY2tzQ2hhbmdlZCgpLCBt
X2lkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGNkNjMyYTk2YjM3YWJmMGU5YjNl
NjE0MmU5ZDI3ZGI1NmMyN2JlODIuLjdhOWUwNmRiMzhkZTIxYjJiNzZkZjk0NjM5MmMwMWFmYWFi
Y2FhYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtNDgsNiArNDgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgR2VuZXJpY0N1ZURhdGE7CiBjbGFzcyBJU09XZWJWVFRD
dWU7CiBjbGFzcyBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWU7CitjbGFzcyBUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbjsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0zMjMsNyArMzI0
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQo
Ym9vbCkgZmluYWw7CiAjZW5kaWYKIAotICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbjsgfQogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oV2ViQ29yZTo6
VGV4dFRyYWNrUmVwcmVzZW50YXRpb24qKSBmaW5hbDsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tC
b3VuZHMoKSBmaW5hbDsKICAgICB2b2lkIHRyYWNrc0NoYW5nZWQoKSBmaW5hbDsKQEAgLTM1Niw4
ICszNTcsMTAgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyKiBtX3BsYXll
ciB7IG51bGxwdHIgfTsKICAgICBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNl
TG9hZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CisgICAgYm9vbCBtX3JlcXVpcmVzVGV4dFRy
YWNrUmVwcmVzZW50YXRpb24geyBmYWxzZSB9OwogICAgIFBsYXRmb3JtTGF5ZXJDb250YWluZXIg
bV92aWRlb0lubGluZUxheWVyOwogICAgIFBsYXRmb3JtTGF5ZXJDb250YWluZXIgbV92aWRlb0Z1
bGxzY3JlZW5MYXllcjsKKyAgICBSZXRhaW5QdHI8UGxhdGZvcm1MYXllcj4gbV90ZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbkxheWVyOwogICAgIE9wdGlvbmFsPExheWVySG9zdGluZ0NvbnRleHRJRD4g
bV9mdWxsc2NyZWVuTGF5ZXJIb3N0aW5nQ29udGV4dElkOwogICAgIFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlciYgbV9tYW5hZ2VyOwogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlh
RW5naW5lSWRlbnRpZmllciBtX3JlbW90ZUVuZ2luZUlkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQppbmRleCAwMThmNTllZGQ3N2JkMDYz
MjE4NzNiZmJlZWRhNTgzODJjY2E2NTYzLi4xZjE3MzM4ZWRkYzE1MDU0YmFhZjE0OWNiMGE3NTI1
ZDUxM2YyMTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29j
b2EubW0KQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRG
T1JNKENPQ09BKQogCiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9UZXh0VHJhY2tSZXByZXNlbnRhdGlvbi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9R
dWFydHpDb3JlU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRSaWdodC5oPgogCkBAIC02NSwx
MCArNjYsNTYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVvRnVsbHNj
cmVlbkZyYW1lKFdlYkNvcmU6OkZsb2F0UmVjdCByZWN0KQogICAgIHNldFZpZGVvRnVsbHNjcmVl
bkZyYW1lRmVuY2VkKHJlY3QsIGZlbmNlU2VuZFJpZ2h0KTsKIAogICAgIFtDQVRyYW5zYWN0aW9u
IGNvbW1pdF07CisKKyAgICBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CiB9CiAKICNlbmRpZgogCit2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24o
V2ViQ29yZTo6VGV4dFRyYWNrUmVwcmVzZW50YXRpb24qIHJlcHJlc2VudGF0aW9uKQoreworI2lm
ICFFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCisgICAgVU5VU0VEX1BBUkFNKHJlcHJl
c2VudGF0aW9uTGF5ZXIpOworI2Vsc2UKKyAgICBQbGF0Zm9ybUxheWVyKiByZXByZXNlbnRhdGlv
bkxheWVyID0gcmVwcmVzZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxhdGZvcm1MYXllcigp
IDogbmlsOworCisgICAgaWYgKHJlcHJlc2VudGF0aW9uTGF5ZXIgPT0gbV90ZXh0VHJhY2tSZXBy
ZXNlbnRhdGlvbkxheWVyKSB7CisgICAgICAgIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKKyAgICBbQ0FU
cmFuc2FjdGlvbiBzZXREaXNhYmxlQWN0aW9uczpZRVNdOworCisgICAgaWYgKG1fdGV4dFRyYWNr
UmVwcmVzZW50YXRpb25MYXllcikKKyAgICAgICAgW21fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25M
YXllciByZW1vdmVGcm9tU3VwZXJsYXllcl07CisKKyAgICBtX3RleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbkxheWVyOworCisgICAgaWYgKG1fdmlkZW9GdWxsc2Ny
ZWVuTGF5ZXIgJiYgbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKSB7CisgICAgICAgIHN5
bmNUZXh0VHJhY2tCb3VuZHMoKTsKKyAgICAgICAgW21fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgYWRk
U3VibGF5ZXI6bV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyLmdldCgpXTsKKyAgICB9CisK
KyAgICBbQ0FUcmFuc2FjdGlvbiBjb21taXRdOworI2VuZGlmCit9CisKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpzeW5jVGV4dFRyYWNrQm91bmRzKCkKK3sKKyNpZiBFTkFCTEUoVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpCisgICAgaWYgKCFtX3ZpZGVvRnVsbHNjcmVlbkxheWVyIHx8
ICFtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKKyAgICBbQ0FUcmFuc2FjdGlvbiBzZXREaXNhYmxlQWN0
aW9uczpZRVNdOworCisgICAgW21fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllciBzZXRGcmFt
ZTptX3ZpZGVvRnVsbHNjcmVlbkxheWVyLmdldCgpLmJvdW5kc107CisKKyAgICBbQ0FUcmFuc2Fj
dGlvbiBjb21taXRdOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5k
aWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkK
</data>
<flag name="commit-queue"
          id="425118"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409416</attachid>
            <date>2020-09-22 15:49:28 -0700</date>
            <delta_ts>2020-09-22 16:03:09 -0700</delta_ts>
            <desc>Fix build failures on WPE and GTK ports</desc>
            <filename>bug-208752-20200922154928.patch</filename>
            <type>text/plain</type>
            <size>20024</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTkzMDJjMGRiN2IyZTVh
YmU0YmU5NzBiMjMwOWYwNGIzOGEwODYxOS4uZGNiNDU3ZGNiNWRiZmY1MzNiZWE4NmM5YTgyNGVk
NTJlMmVhYTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA5LTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgY2FwdGlvbiBzdXBwb3J0IGluIHZpZGVvIGZ1bGxzY3JlZW4gYW5kIFBp
UAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NzUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0
IFRleHRUcmFja1JlcHJlc2VudGF0aW9uIHNvIHRoYXQgV2ViS2l0IGNhbiB1c2UgaXQuIEFsc28s
IHVwZGF0ZSB0aGUKKyAgICAgICAgaW50ZXJmYWNlIG9mIFZpZGVvTGF5ZXJNYW5hZ2VyT2JqQyBy
ZWxhdGVkIHRvIHRleHQgdHJhY2sgcmVwcmVzZW50YXRpb24gdG8KKyAgICAgICAgdXNlIFBsYXRm
b3JtTGF5ZXIqIGluc3RlYWQgb2YgVGV4dFRyYWNrUmVwcmVzZW50YXRpb24qLgorCisgICAgICAg
IE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgQ2hhbmdlIHRhcmdldCBtZW1iZXJzaGlwIG9mIFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uLmguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9MYXllck1hbmFnZXJPYmpDOjpzZXRU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIFJlcGxhY2Ugc2V0VGV4
dFRyYWNrUmVwcmVzZW50YXRpb24oKSB3aXRoIHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5
ZXIoKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbik6CisgICAgICAgIFVzZSBWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uTGF5ZXIoKSBpbnN0ZWFkIG9mCisgICAgICAgIFZpZGVvTGF5ZXJNYW5hZ2Vy
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24pOiBEaXR0by4KKwogMjAyMC0w
OS0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHBhcnRpYWwgcmV2ZXJ0IG9mIHIyNjczODMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNzFmNzdmNDJjNjk4
NmNkMjRkZTgwNDNkMjQzNzQwZjE1NWRiMTUuLjc2YzEzODRiOTZiNzIzOGZmOGQ0MTRhZjJhNjlj
MThlNTIzMTNlMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjAtMDktMjIgIFBlbmcg
TGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIFByb2Nl
c3NdIEltcGxlbWVudCBjYXB0aW9uIHN1cHBvcnQgaW4gdmlkZW8gZnVsbHNjcmVlbiBhbmQgUGlQ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3NTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMpOiBEZWxldGVkLgor
ICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgUmVtb3ZlIHN5bmNUZXh0VHJhY2tCb3VuZHMoKSBiZWNhdXNlIHRoZSBHUFUg
cHJvY2VzcyBkb2VzIG5vdCBuZWVkIHRvIGRlYWwgd2l0aAorICAgICAgICB0aGUgdGV4dCB0cmFj
ayBib3VuZHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaE1l
c3NhZ2UpOgorICAgICAgICBBZGQgYSBtaXNzaW5nIElQQyBtZXNzYWdlIHJlY2VpdmVyLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0Z1
bGxzY3JlZW5MYXllcik6IFNldCB0aGUgZmxhZworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNr
UmVwcmVzZW50YXRpb24gd2hlbiBjaGFuZ2luZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZS4KKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFj
a1JlcHJlc2VudGF0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFj
a0JvdW5kcyk6IERlbGV0ZWQuCisgICAgICAgIE1vdmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRo
b3NlIGZ1bmN0aW9ucyB0byBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorICAg
ICAgICBBZGQgdGhlIGZsYWcgbV9yZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uIGFuZCBh
ZGQgYSByZWZlcmVuY2UKKyAgICAgICAgdG8gdGhlIGxheWVyIHVzZWQgdG8gcmVuZGVyIHRleHQg
dHJhY2sgKGluIGZ1bGxzY3JlZW4gb3IgcGljdHVyZS1pbi1waWN0dXJlKS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVv
RnVsbHNjcmVlbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0JvdW5kcyk6CisgICAgICAgIFRob3Nl
IGZ1bmN0aW9ucyBzaGFyZSBhIHNpbWlsYXIgaW1wbGVtZW50YXRpb24gYXMgVmlkZW9MYXllck1h
bmFnZXJPYmpDLgorCiAyMDIwLTA5LTIyICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgW01lZGlhIGluIEdQVSBQcm9jZXNzXSBBZGQgbWlzc2luZyBJUEMgbWVzc2Fn
ZSByZWNlaXZlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA5NDhhOTMzY2E3NTlmNzU0YzQzY2IxYTljMDhmZTY2ZWY0MzM2NmM2
Li42YmVlYmY4OTljYzNjZjhjMWEyYTM3ZTBlZGRhMDhkYWE4NmUwYWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzQsNiAr
NjM0LDcgQEAKIAkJMUQyRjhFMDYyMzQ0NzUyMzAwOTkzQjY4IC8qIFBpY3R1cmVJblBpY3R1cmVX
aW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFE
RUYwNkNEMjMzQzNEMkEwMEVFMjI4RCAvKiBQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUQ5RjBGQzEyMTIy
MDI5QjAwNUQ4RkQ0IC8qIFNoYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMURDNTU0MDAyMTFCQThDODAwNEI3ODBFIC8qIFNoYXJlRGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFEQkMx
QjU2MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkMxQjU1MjM0N0IzRDIw
MEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxREY3RTgxRjI1MUE5RTA2MDBEQjhGNjEg
LyogVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENERDFFNTI1MTY3QkE1NjQwMENFODIwQiAvKiBUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTFGMzZFQTlDMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGMzZFQTlBMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjcy
QkYwQjE4N0ZENDVDMDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjcyQkYwOTE4
N0ZENDI3MDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUY4NzU2QjIxRTIy
QzMzNTAwNDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY4NzU2QjExRTIyQkVFRjAw
NDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDIxMCw2ICszNDIxMSw3IEBA
CiAJCQkJMDc2OTcwODcxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIxQUQ0RTc0MTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEOEI1QTQ5MTgwRTEzOEIwMDhCOEU2NSAvKiBUZXh0VHJh
Y2tNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMURGN0U4MUYyNTFBOUUwNjAwREI4
RjYxIC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzcz
QTcxMzIxODU3NTdFMDA0Q0NFQTUgLyogVGV4dFVuZGVybGluZU9mZnNldC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTg3NzBGMTEyNDJDNTM1MDAyMjI2QkEgLyog
VGV4dHVyZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBhYzBm
OGZmYTAyODgzZTRhYWZmZjMyYmYzODBmODgyMzAwMmI1NjE1Li5jOGY1MmRmZDZiM2NmOWRkOTJh
MGMwMWE1Y2FlYTE0NjVmZTJkMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTIxMDIs
NyArMjEwMiw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c3lu
Y1RleHRUcmFja0JvdW5kcygpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpb24q
IHJlcHJlc2VudGF0aW9uKQogewotICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFj
a1JlcHJlc2VudGF0aW9uKHJlcHJlc2VudGF0aW9uKTsKKyAgICBhdXRvKiByZXByZXNlbnRhdGlv
bkxheWVyID0gcmVwcmVzZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxhdGZvcm1MYXllcigp
IDogbmlsOworICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIocmVwcmVzZW50YXRpb25MYXllcik7CiB9CiAKICNpZiBFTkFCTEUoV0VCX0FVRElP
KSAmJiBVU0UoTUVESUFUT09MQk9YKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDhi
OTQxNTA3YzAzODgxYzAyMTZiNGU3OTJlMzlkYjI2ZTM1N2ZkYjkuLmEwYjY4YzIzNmExNjBiZmE3
YjEyNTMzNjQwNmE3ZTZlOTcxMzM0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAg
LTEyMzAsNyArMTIzMCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpzeW5jVGV4dFRyYWNrQm91bmRzKCkKICAgICAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCiB7Ci0gICAgbV92aWRlb0xheWVyTWFuYWdl
ci0+c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24ocmVwcmVzZW50YXRpb24pOworICAgIGF1dG8q
IHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJlcHJlc2VudGF0aW9uLT5w
bGF0Zm9ybUxheWVyKCkgOiBuaWw7CisgICAgbV92aWRlb0xheWVyTWFuYWdlci0+c2V0VGV4dFRy
YWNrUmVwcmVzZW50YXRpb25MYXllcihyZXByZXNlbnRhdGlvbkxheWVyKTsKIH0KIAogI2lmIEVO
QUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9i
akMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCmluZGV4IDg0ZDU2YmM4MWRhZmQ4NDgxMjBhMzNhZWJj
YmU1YTRjMDgxNDZjZWIuLmFkOWFkNmRmZTlhZWM3MDI3NzMzOWU5YTczZDNjZGJhMGI0OTM2NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCkBA
IC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIFBsYXRmb3JtTGF5ZXIgKnZpZGVvSW5saW5l
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvSW5saW5lTGF5ZXIuZ2V0KCk7IH0KICAgICB2
b2lkIHNldFZpZGVvTGF5ZXIoUGxhdGZvcm1MYXllciAqLCBJbnRTaXplIGNvbnRlbnRTaXplKTsK
KyAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7CiAKICNpZiBFTkFCTEUoVklERU9fUFJF
U0VOVEFUSU9OX01PREUpCiAgICAgUGxhdGZvcm1MYXllciAqdmlkZW9GdWxsc2NyZWVuTGF5ZXIo
KSBjb25zdCB7IHJldHVybiBtX3ZpZGVvRnVsbHNjcmVlbkxheWVyLmdldCgpOyB9CkBAIC01Niwx
MCArNTcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShGbG9h
dFJlY3QpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7Ci0KICAg
ICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSBjb25zdDsKLSAgICB2b2lk
IHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKik7Cisg
ICAgdm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqKTsK
ICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVv
TGF5ZXJNYW5hZ2VyT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5tbQppbmRleCBmZGY1YjY1ZDkz
NTQ4OGVlMjJhMWZlMmVmNDU0NjMxMmFiYTQ2M2QzLi4yYTdiYjNmM2UzMDBkOTc1Y2UwZDViNDNl
ZGE0NmJlMzZhNzkxYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9MYXll
ck1hbmFnZXJPYmpDLm1tCkBAIC0xODIsMTQgKzE4MiwxMyBAQCB2b2lkIFZpZGVvTGF5ZXJNYW5h
Z2VyT2JqQzo6c3luY1RleHRUcmFja0JvdW5kcygpCiAjZW5kaWYKIH0KIAotdm9pZCBWaWRlb0xh
eWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKiByZXByZXNlbnRhdGlvbikKK3ZvaWQgVmlkZW9MYXllck1hbmFnZXJPYmpDOjpz
ZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0
aW9uTGF5ZXIpCiB7CiAjaWYgIUVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKLSAgICBV
TlVTRURfUEFSQU0ocmVwcmVzZW50YXRpb24pOworICAgIFVOVVNFRF9QQVJBTShyZXByZXNlbnRh
dGlvbkxheWVyKTsKICNlbHNlCiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAotICAg
IFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJl
cHJlc2VudGF0aW9uLT5wbGF0Zm9ybUxheWVyKCkgOiBuaWw7CiAgICAgaWYgKHJlcHJlc2VudGF0
aW9uTGF5ZXIgPT0gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKSB7CiAgICAgICAgIHN5
bmNUZXh0VHJhY2tCb3VuZHMoKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmlu
ZGV4IDI3MGFmODQ5NmE0ZDAxMzYxODVlYWMwNmRmMWM2ZGE2NGM4NGY1Y2EuLjc2OWE1NmVlNTcx
MzY5MzQ0MWQ0NGVmM2UxMTI0MDY4NGJlNDBmY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgz
NiwxMSArODM2LDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp0cmFja3NDaGFuZ2Vk
KCkKICAgICBtX3BsYXllci0+dHJhY2tzQ2hhbmdlZCgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMoKQotewotICAgIG1fcGxheWVyLT5zeW5j
VGV4dFRyYWNrQm91bmRzKCk7Ci19Ci0KIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGVy
Zm9ybVRhc2tBdE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRhc2tUaW1lLCBXYWxsVGltZSBt
ZXNzYWdlVGltZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+KT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAobV9wZXJmb3JtVGFza0F0TWVkaWFUaW1l
Q29tcGxldGlvbkhhbmRsZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDk2YmI3MDRkM2IwNDVmZDk4
OGYyOTBmNTM4ODNjZmNiYzc5ZDNmNjQuLjI2NWI3ZTJkODU0Mjg0ZGU3OWU3NmRkOWFlODFhMWYz
YzA5ZTBiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtMTc1LDcgKzE3NSw2IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgbm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOwogICAgIHZvaWQgdHJhY2tzQ2hhbmdl
ZCgpOwotICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpOwogCiAgICAgdm9pZCBwZXJmb3Jt
VGFza0F0TWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIFdhbGxUaW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPE1lZGlhVGltZT4pPiYmKTsKICAgICB2b2lkIHdvdWxkVGFpbnRP
cmlnaW4oc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChPcHRpb25hbDxib29sPik+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdl
cy5pbgppbmRleCA2OGYxODk3ZDllNTA2NDU5MTk4MWFmMThhNTU1ZjE4ZDRhNTM4ZGVjLi4wYTli
OTgxNjEwN2JlYmJhY2VhMTNjNTI1YmExOGI3ZGJmNjVlMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMTEyLDcgKzExMiw2IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1l
ZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBOb3RpZnlUcmFja01vZGVDaGFu
Z2VkKCkKICAgICBUcmFja3NDaGFuZ2VkKCkKLSAgICBTeW5jVGV4dFRyYWNrQm91bmRzKCkKIAog
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgU2V0V2lyZWxlc3NQbGF5
YmFja1RhcmdldChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dCB0YXJnZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCmluZGV4IGRhMmFlNDhjY2VkYWY5NDdkODA2MzA1OGUxZjM0MTVlNzZmNzBhMDcuLjA3
YWNiOTcyYzUwNjA1Y2MwNjY5MGQxNzM4NzUxZTFkNTMxYmJiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC01
NSw2ICs1NSwxMSBAQAogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbk1lc3NhZ2VzLmgiCiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2Fn
ZXMuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAjaW5jbHVkZSAiVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlck1lc3NhZ2VzLmgiCkBAIC0xNDEsNiArMTQ2LDEyIEBAIGJvb2wg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIElQQzo6RGVjCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRpZgor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVy
TmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25IZWxwZXI6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICAvLyBGSVhNRQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisjZW5kaWYKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6UmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuc3VwcGxlbWVudDxSZW1vdGVDRE1GYWN0b3J5PigpLT5kaWRSZWNlaXZlU2Vzc2lvbk1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
aW5kZXggNjBiYzg0YWIyNWUxODY3NWJjMDM4MTkyZmRlYmY4Njc5MDdiYzI1My4uYTM5ZjVkNjNk
MTJkZmQ3NjQzMDZmYzgyNzU1MzE0MWVmZWQ2ZWRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmNwcApAQCAtNjUxLDEyICs2NTEsMjQgQEAgUGxhdGZvcm1MYXllciogTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0Zm9ybUxheWVyKiB2aWRlb0Z1
bGxzY3JlZW5MYXllciwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKCF2aWRlb0Z1bGxzY3JlZW5MYXllcikgewotICAgICAgICBjb25uZWN0aW9u
KCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpF
eGl0RnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7CisgICAg
ICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OkV4aXRGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24gPSBmYWxzZTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0s
IG1faWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUKG1fdmlkZW9GdWxs
c2NyZWVuTGF5ZXIuZ2V0KCkgPT0gdmlkZW9GdWxsc2NyZWVuTGF5ZXIpOwotICAgIGNvbm5lY3Rp
b24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OkVudGVyRnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7Cisg
ICAgY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6RW50ZXJGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24gPSB0cnVlOwor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0sIG1faWQpOwogfQogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2Uo
KQpAQCAtMTAwOSwyMiArMTAyMSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpz
ZXRTaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkKGJvb2wgc2hvdWxkKQogfQogI2VuZGlmCiAK
LWJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKikKLXsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0Jv
dW5kcygpCi17Ci0gICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlN5bmNUZXh0VHJhY2tCb3VuZHMoKSwgbV9pZCk7Ci19Ci0KIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjp0cmFja3NDaGFuZ2VkKCkKIHsKICAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6VHJhY2tzQ2hhbmdlZCgpLCBt
X2lkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGNkNjMyYTk2YjM3YWJmMGU5YjNl
NjE0MmU5ZDI3ZGI1NmMyN2JlODIuLjk2YWEwZGIwMjUzYmFiOGE0OWQ0NjUzYzg4YjhiYzYxZWY1
ZTczOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtNDgsNiArNDgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgR2VuZXJpY0N1ZURhdGE7CiBjbGFzcyBJU09XZWJWVFRD
dWU7CiBjbGFzcyBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWU7CitjbGFzcyBUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbjsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0zMjMsNyArMzI0
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFNob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQo
Ym9vbCkgZmluYWw7CiAjZW5kaWYKIAotICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbjsgfQogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oV2ViQ29yZTo6
VGV4dFRyYWNrUmVwcmVzZW50YXRpb24qKSBmaW5hbDsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tC
b3VuZHMoKSBmaW5hbDsKICAgICB2b2lkIHRyYWNrc0NoYW5nZWQoKSBmaW5hbDsKQEAgLTM1Niw4
ICszNTcsMTIgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyKiBtX3BsYXll
ciB7IG51bGxwdHIgfTsKICAgICBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNl
TG9hZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CisgICAgYm9vbCBtX3JlcXVpcmVzVGV4dFRy
YWNrUmVwcmVzZW50YXRpb24geyBmYWxzZSB9OwogICAgIFBsYXRmb3JtTGF5ZXJDb250YWluZXIg
bV92aWRlb0lubGluZUxheWVyOwogICAgIFBsYXRmb3JtTGF5ZXJDb250YWluZXIgbV92aWRlb0Z1
bGxzY3JlZW5MYXllcjsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXRhaW5QdHI8UGxhdGZv
cm1MYXllcj4gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyOworI2VuZGlmCiAgICAgT3B0
aW9uYWw8TGF5ZXJIb3N0aW5nQ29udGV4dElEPiBtX2Z1bGxzY3JlZW5MYXllckhvc3RpbmdDb250
ZXh0SWQ7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyJiBtX21hbmFnZXI7CiAgICAgV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIG1fcmVtb3RlRW5n
aW5lSWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNv
Y29hLm1tCmluZGV4IDAxOGY1OWVkZDc3YmQwNjMyMTg3M2JmYmVlZGE1ODM4MmNjYTY1NjMuLjFm
MTczMzhlZGRjMTUwNTRiYWFmMTQ5Y2IwYTc1MjVkNTEzZjIxNWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQpAQCAtMjksNiArMjksNyBAQAogI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCiAKICNpbXBvcnQgPFdlYkNv
cmUvRmxvYXRSZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1RleHRUcmFja1JlcHJlc2VudGF0aW9u
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHd0
Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAKQEAgLTY1LDEwICs2Niw1NiBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUoV2ViQ29yZTo6RmxvYXRSZWN0
IHJlY3QpCiAgICAgc2V0VmlkZW9GdWxsc2NyZWVuRnJhbWVGZW5jZWQocmVjdCwgZmVuY2VTZW5k
UmlnaHQpOwogCiAgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsKKworICAgIHN5bmNUZXh0VHJh
Y2tCb3VuZHMoKTsKIH0KIAogI2VuZGlmCiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihXZWJDb3JlOjpUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbiogcmVwcmVzZW50YXRpb24pCit7CisjaWYgIUVOQUJMRShWSURFT19QUkVTRU5UQVRJT05f
TU9ERSkKKyAgICBVTlVTRURfUEFSQU0ocmVwcmVzZW50YXRpb25MYXllcik7CisjZWxzZQorICAg
IFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJl
cHJlc2VudGF0aW9uLT5wbGF0Zm9ybUxheWVyKCkgOiBuaWw7CisKKyAgICBpZiAocmVwcmVzZW50
YXRpb25MYXllciA9PSBtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpIHsKKyAgICAgICAg
c3luY1RleHRUcmFja0JvdW5kcygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW0NB
VHJhbnNhY3Rpb24gYmVnaW5dOworICAgIFtDQVRyYW5zYWN0aW9uIHNldERpc2FibGVBY3Rpb25z
OllFU107CisKKyAgICBpZiAobV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKQorICAgICAg
ICBbbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyIHJlbW92ZUZyb21TdXBlcmxheWVyXTsK
KworICAgIG1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllciA9IHJlcHJlc2VudGF0aW9uTGF5
ZXI7CisKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5MYXllciAmJiBtX3RleHRUcmFja1JlcHJl
c2VudGF0aW9uTGF5ZXIpIHsKKyAgICAgICAgc3luY1RleHRUcmFja0JvdW5kcygpOworICAgICAg
ICBbbV92aWRlb0Z1bGxzY3JlZW5MYXllciBhZGRTdWJsYXllcjptX3RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uTGF5ZXIuZ2V0KCldOworICAgIH0KKworICAgIFtDQVRyYW5zYWN0aW9uIGNvbW1pdF07
CisjZW5kaWYKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN5bmNUZXh0VHJh
Y2tCb3VuZHMoKQoreworI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKKyAgICBp
ZiAoIW1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgfHwgIW1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25M
YXllcikKKyAgICAgICAgcmV0dXJuOworCisgICAgW0NBVHJhbnNhY3Rpb24gYmVnaW5dOworICAg
IFtDQVRyYW5zYWN0aW9uIHNldERpc2FibGVBY3Rpb25zOllFU107CisKKyAgICBbbV90ZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbkxheWVyIHNldEZyYW1lOm1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIuZ2V0
KCkuYm91bmRzXTsKKworICAgIFtDQVRyYW5zYWN0aW9uIGNvbW1pdF07CisjZW5kaWYKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IFBMQVRGT1JNKENPQ09BKQo=
</data>
<flag name="commit-queue"
          id="425120"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409418</attachid>
            <date>2020-09-22 16:01:34 -0700</date>
            <delta_ts>2020-09-22 16:17:44 -0700</delta_ts>
            <desc>Fix build failures on WPE and GTK ports v2</desc>
            <filename>bug-208752-20200922160133.patch</filename>
            <type>text/plain</type>
            <size>20099</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTkzMDJjMGRiN2IyZTVh
YmU0YmU5NzBiMjMwOWYwNGIzOGEwODYxOS4uZGNiNDU3ZGNiNWRiZmY1MzNiZWE4NmM5YTgyNGVk
NTJlMmVhYTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA5LTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgY2FwdGlvbiBzdXBwb3J0IGluIHZpZGVvIGZ1bGxzY3JlZW4gYW5kIFBp
UAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NzUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0
IFRleHRUcmFja1JlcHJlc2VudGF0aW9uIHNvIHRoYXQgV2ViS2l0IGNhbiB1c2UgaXQuIEFsc28s
IHVwZGF0ZSB0aGUKKyAgICAgICAgaW50ZXJmYWNlIG9mIFZpZGVvTGF5ZXJNYW5hZ2VyT2JqQyBy
ZWxhdGVkIHRvIHRleHQgdHJhY2sgcmVwcmVzZW50YXRpb24gdG8KKyAgICAgICAgdXNlIFBsYXRm
b3JtTGF5ZXIqIGluc3RlYWQgb2YgVGV4dFRyYWNrUmVwcmVzZW50YXRpb24qLgorCisgICAgICAg
IE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgQ2hhbmdlIHRhcmdldCBtZW1iZXJzaGlwIG9mIFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uLmguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9MYXllck1hbmFnZXJPYmpDOjpzZXRU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIFJlcGxhY2Ugc2V0VGV4
dFRyYWNrUmVwcmVzZW50YXRpb24oKSB3aXRoIHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5
ZXIoKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbik6CisgICAgICAgIFVzZSBWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uTGF5ZXIoKSBpbnN0ZWFkIG9mCisgICAgICAgIFZpZGVvTGF5ZXJNYW5hZ2Vy
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24pOiBEaXR0by4KKwogMjAyMC0w
OS0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHBhcnRpYWwgcmV2ZXJ0IG9mIHIyNjczODMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNzFmNzdmNDJjNjk4
NmNkMjRkZTgwNDNkMjQzNzQwZjE1NWRiMTUuLjc2YzEzODRiOTZiNzIzOGZmOGQ0MTRhZjJhNjlj
MThlNTIzMTNlMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjAtMDktMjIgIFBlbmcg
TGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIFByb2Nl
c3NdIEltcGxlbWVudCBjYXB0aW9uIHN1cHBvcnQgaW4gdmlkZW8gZnVsbHNjcmVlbiBhbmQgUGlQ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3NTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMpOiBEZWxldGVkLgor
ICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgUmVtb3ZlIHN5bmNUZXh0VHJhY2tCb3VuZHMoKSBiZWNhdXNlIHRoZSBHUFUg
cHJvY2VzcyBkb2VzIG5vdCBuZWVkIHRvIGRlYWwgd2l0aAorICAgICAgICB0aGUgdGV4dCB0cmFj
ayBib3VuZHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaE1l
c3NhZ2UpOgorICAgICAgICBBZGQgYSBtaXNzaW5nIElQQyBtZXNzYWdlIHJlY2VpdmVyLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0Z1
bGxzY3JlZW5MYXllcik6IFNldCB0aGUgZmxhZworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNr
UmVwcmVzZW50YXRpb24gd2hlbiBjaGFuZ2luZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZS4KKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFj
a1JlcHJlc2VudGF0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFj
a0JvdW5kcyk6IERlbGV0ZWQuCisgICAgICAgIE1vdmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRo
b3NlIGZ1bmN0aW9ucyB0byBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorICAg
ICAgICBBZGQgdGhlIGZsYWcgbV9yZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uIGFuZCBh
ZGQgYSByZWZlcmVuY2UKKyAgICAgICAgdG8gdGhlIGxheWVyIHVzZWQgdG8gcmVuZGVyIHRleHQg
dHJhY2sgKGluIGZ1bGxzY3JlZW4gb3IgcGljdHVyZS1pbi1waWN0dXJlKS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVv
RnVsbHNjcmVlbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0JvdW5kcyk6CisgICAgICAgIFRob3Nl
IGZ1bmN0aW9ucyBzaGFyZSBhIHNpbWlsYXIgaW1wbGVtZW50YXRpb24gYXMgVmlkZW9MYXllck1h
bmFnZXJPYmpDLgorCiAyMDIwLTA5LTIyICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgW01lZGlhIGluIEdQVSBQcm9jZXNzXSBBZGQgbWlzc2luZyBJUEMgbWVzc2Fn
ZSByZWNlaXZlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA5NDhhOTMzY2E3NTlmNzU0YzQzY2IxYTljMDhmZTY2ZWY0MzM2NmM2
Li42YmVlYmY4OTljYzNjZjhjMWEyYTM3ZTBlZGRhMDhkYWE4NmUwYWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzQsNiAr
NjM0LDcgQEAKIAkJMUQyRjhFMDYyMzQ0NzUyMzAwOTkzQjY4IC8qIFBpY3R1cmVJblBpY3R1cmVX
aW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFE
RUYwNkNEMjMzQzNEMkEwMEVFMjI4RCAvKiBQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUQ5RjBGQzEyMTIy
MDI5QjAwNUQ4RkQ0IC8qIFNoYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMURDNTU0MDAyMTFCQThDODAwNEI3ODBFIC8qIFNoYXJlRGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFEQkMx
QjU2MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkMxQjU1MjM0N0IzRDIw
MEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxREY3RTgxRjI1MUE5RTA2MDBEQjhGNjEg
LyogVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENERDFFNTI1MTY3QkE1NjQwMENFODIwQiAvKiBUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTFGMzZFQTlDMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGMzZFQTlBMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjcy
QkYwQjE4N0ZENDVDMDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjcyQkYwOTE4
N0ZENDI3MDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUY4NzU2QjIxRTIy
QzMzNTAwNDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY4NzU2QjExRTIyQkVFRjAw
NDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDIxMCw2ICszNDIxMSw3IEBA
CiAJCQkJMDc2OTcwODcxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIxQUQ0RTc0MTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEOEI1QTQ5MTgwRTEzOEIwMDhCOEU2NSAvKiBUZXh0VHJh
Y2tNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMURGN0U4MUYyNTFBOUUwNjAwREI4
RjYxIC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzcz
QTcxMzIxODU3NTdFMDA0Q0NFQTUgLyogVGV4dFVuZGVybGluZU9mZnNldC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTg3NzBGMTEyNDJDNTM1MDAyMjI2QkEgLyog
VGV4dHVyZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBhYzBm
OGZmYTAyODgzZTRhYWZmZjMyYmYzODBmODgyMzAwMmI1NjE1Li5jOGY1MmRmZDZiM2NmOWRkOTJh
MGMwMWE1Y2FlYTE0NjVmZTJkMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTIxMDIs
NyArMjEwMiw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c3lu
Y1RleHRUcmFja0JvdW5kcygpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpb24q
IHJlcHJlc2VudGF0aW9uKQogewotICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFj
a1JlcHJlc2VudGF0aW9uKHJlcHJlc2VudGF0aW9uKTsKKyAgICBhdXRvKiByZXByZXNlbnRhdGlv
bkxheWVyID0gcmVwcmVzZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxhdGZvcm1MYXllcigp
IDogbmlsOworICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIocmVwcmVzZW50YXRpb25MYXllcik7CiB9CiAKICNpZiBFTkFCTEUoV0VCX0FVRElP
KSAmJiBVU0UoTUVESUFUT09MQk9YKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDhi
OTQxNTA3YzAzODgxYzAyMTZiNGU3OTJlMzlkYjI2ZTM1N2ZkYjkuLmEwYjY4YzIzNmExNjBiZmE3
YjEyNTMzNjQwNmE3ZTZlOTcxMzM0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAg
LTEyMzAsNyArMTIzMCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpzeW5jVGV4dFRyYWNrQm91bmRzKCkKICAgICAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCiB7Ci0gICAgbV92aWRlb0xheWVyTWFuYWdl
ci0+c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24ocmVwcmVzZW50YXRpb24pOworICAgIGF1dG8q
IHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJlcHJlc2VudGF0aW9uLT5w
bGF0Zm9ybUxheWVyKCkgOiBuaWw7CisgICAgbV92aWRlb0xheWVyTWFuYWdlci0+c2V0VGV4dFRy
YWNrUmVwcmVzZW50YXRpb25MYXllcihyZXByZXNlbnRhdGlvbkxheWVyKTsKIH0KIAogI2lmIEVO
QUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9i
akMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCmluZGV4IDg0ZDU2YmM4MWRhZmQ4NDgxMjBhMzNhZWJj
YmU1YTRjMDgxNDZjZWIuLmFkOWFkNmRmZTlhZWM3MDI3NzMzOWU5YTczZDNjZGJhMGI0OTM2NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCkBA
IC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIFBsYXRmb3JtTGF5ZXIgKnZpZGVvSW5saW5l
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvSW5saW5lTGF5ZXIuZ2V0KCk7IH0KICAgICB2
b2lkIHNldFZpZGVvTGF5ZXIoUGxhdGZvcm1MYXllciAqLCBJbnRTaXplIGNvbnRlbnRTaXplKTsK
KyAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7CiAKICNpZiBFTkFCTEUoVklERU9fUFJF
U0VOVEFUSU9OX01PREUpCiAgICAgUGxhdGZvcm1MYXllciAqdmlkZW9GdWxsc2NyZWVuTGF5ZXIo
KSBjb25zdCB7IHJldHVybiBtX3ZpZGVvRnVsbHNjcmVlbkxheWVyLmdldCgpOyB9CkBAIC01Niwx
MCArNTcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShGbG9h
dFJlY3QpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7Ci0KICAg
ICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSBjb25zdDsKLSAgICB2b2lk
IHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKik7Cisg
ICAgdm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqKTsK
ICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVv
TGF5ZXJNYW5hZ2VyT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5tbQppbmRleCBmZGY1YjY1ZDkz
NTQ4OGVlMjJhMWZlMmVmNDU0NjMxMmFiYTQ2M2QzLi4yYTdiYjNmM2UzMDBkOTc1Y2UwZDViNDNl
ZGE0NmJlMzZhNzkxYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9MYXll
ck1hbmFnZXJPYmpDLm1tCkBAIC0xODIsMTQgKzE4MiwxMyBAQCB2b2lkIFZpZGVvTGF5ZXJNYW5h
Z2VyT2JqQzo6c3luY1RleHRUcmFja0JvdW5kcygpCiAjZW5kaWYKIH0KIAotdm9pZCBWaWRlb0xh
eWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKiByZXByZXNlbnRhdGlvbikKK3ZvaWQgVmlkZW9MYXllck1hbmFnZXJPYmpDOjpz
ZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0
aW9uTGF5ZXIpCiB7CiAjaWYgIUVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKLSAgICBV
TlVTRURfUEFSQU0ocmVwcmVzZW50YXRpb24pOworICAgIFVOVVNFRF9QQVJBTShyZXByZXNlbnRh
dGlvbkxheWVyKTsKICNlbHNlCiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAotICAg
IFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJl
cHJlc2VudGF0aW9uLT5wbGF0Zm9ybUxheWVyKCkgOiBuaWw7CiAgICAgaWYgKHJlcHJlc2VudGF0
aW9uTGF5ZXIgPT0gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKSB7CiAgICAgICAgIHN5
bmNUZXh0VHJhY2tCb3VuZHMoKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmlu
ZGV4IDI3MGFmODQ5NmE0ZDAxMzYxODVlYWMwNmRmMWM2ZGE2NGM4NGY1Y2EuLjc2OWE1NmVlNTcx
MzY5MzQ0MWQ0NGVmM2UxMTI0MDY4NGJlNDBmY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgz
NiwxMSArODM2LDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp0cmFja3NDaGFuZ2Vk
KCkKICAgICBtX3BsYXllci0+dHJhY2tzQ2hhbmdlZCgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMoKQotewotICAgIG1fcGxheWVyLT5zeW5j
VGV4dFRyYWNrQm91bmRzKCk7Ci19Ci0KIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGVy
Zm9ybVRhc2tBdE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRhc2tUaW1lLCBXYWxsVGltZSBt
ZXNzYWdlVGltZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+KT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAobV9wZXJmb3JtVGFza0F0TWVkaWFUaW1l
Q29tcGxldGlvbkhhbmRsZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDk2YmI3MDRkM2IwNDVmZDk4
OGYyOTBmNTM4ODNjZmNiYzc5ZDNmNjQuLjI2NWI3ZTJkODU0Mjg0ZGU3OWU3NmRkOWFlODFhMWYz
YzA5ZTBiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtMTc1LDcgKzE3NSw2IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgbm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOwogICAgIHZvaWQgdHJhY2tzQ2hhbmdl
ZCgpOwotICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpOwogCiAgICAgdm9pZCBwZXJmb3Jt
VGFza0F0TWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIFdhbGxUaW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPE1lZGlhVGltZT4pPiYmKTsKICAgICB2b2lkIHdvdWxkVGFpbnRP
cmlnaW4oc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChPcHRpb25hbDxib29sPik+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdl
cy5pbgppbmRleCA2OGYxODk3ZDllNTA2NDU5MTk4MWFmMThhNTU1ZjE4ZDRhNTM4ZGVjLi4wYTli
OTgxNjEwN2JlYmJhY2VhMTNjNTI1YmExOGI3ZGJmNjVlMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMTEyLDcgKzExMiw2IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1l
ZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBOb3RpZnlUcmFja01vZGVDaGFu
Z2VkKCkKICAgICBUcmFja3NDaGFuZ2VkKCkKLSAgICBTeW5jVGV4dFRyYWNrQm91bmRzKCkKIAog
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgU2V0V2lyZWxlc3NQbGF5
YmFja1RhcmdldChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dCB0YXJnZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCmluZGV4IGRhMmFlNDhjY2VkYWY5NDdkODA2MzA1OGUxZjM0MTVlNzZmNzBhMDcuLjA3
YWNiOTcyYzUwNjA1Y2MwNjY5MGQxNzM4NzUxZTFkNTMxYmJiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC01
NSw2ICs1NSwxMSBAQAogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbk1lc3NhZ2VzLmgiCiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2Fn
ZXMuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAjaW5jbHVkZSAiVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlck1lc3NhZ2VzLmgiCkBAIC0xNDEsNiArMTQ2LDEyIEBAIGJvb2wg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIElQQzo6RGVjCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRpZgor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVy
TmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25IZWxwZXI6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICAvLyBGSVhNRQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisjZW5kaWYKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6UmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuc3VwcGxlbWVudDxSZW1vdGVDRE1GYWN0b3J5PigpLT5kaWRSZWNlaXZlU2Vzc2lvbk1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
aW5kZXggNjBiYzg0YWIyNWUxODY3NWJjMDM4MTkyZmRlYmY4Njc5MDdiYzI1My4uYTM5ZjVkNjNk
MTJkZmQ3NjQzMDZmYzgyNzU1MzE0MWVmZWQ2ZWRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmNwcApAQCAtNjUxLDEyICs2NTEsMjQgQEAgUGxhdGZvcm1MYXllciogTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0Zm9ybUxheWVyKiB2aWRlb0Z1
bGxzY3JlZW5MYXllciwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKCF2aWRlb0Z1bGxzY3JlZW5MYXllcikgewotICAgICAgICBjb25uZWN0aW9u
KCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpF
eGl0RnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7CisgICAg
ICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OkV4aXRGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24gPSBmYWxzZTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0s
IG1faWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUKG1fdmlkZW9GdWxs
c2NyZWVuTGF5ZXIuZ2V0KCkgPT0gdmlkZW9GdWxsc2NyZWVuTGF5ZXIpOwotICAgIGNvbm5lY3Rp
b24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OkVudGVyRnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7Cisg
ICAgY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6RW50ZXJGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24gPSB0cnVlOwor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0sIG1faWQpOwogfQogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2Uo
KQpAQCAtMTAwOSwyMiArMTAyMSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpz
ZXRTaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkKGJvb2wgc2hvdWxkKQogfQogI2VuZGlmCiAK
LWJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKikKLXsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0Jv
dW5kcygpCi17Ci0gICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlN5bmNUZXh0VHJhY2tCb3VuZHMoKSwgbV9pZCk7Ci19Ci0KIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjp0cmFja3NDaGFuZ2VkKCkKIHsKICAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6VHJhY2tzQ2hhbmdlZCgpLCBt
X2lkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGNkNjMyYTk2YjM3YWJmMGU5YjNl
NjE0MmU5ZDI3ZGI1NmMyN2JlODIuLjUwN2ZiODY0MjU0MTFkMTk1YTg0N2RiNTdjZTQ0ODc1MWEz
OWY0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtNDgsNiArNDgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgR2VuZXJpY0N1ZURhdGE7CiBjbGFzcyBJU09XZWJWVFRD
dWU7CiBjbGFzcyBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWU7CitjbGFzcyBUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbjsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0zMjMsOSArMzI0
LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVk
KGJvb2wpIGZpbmFsOwogI2VuZGlmCiAKLSAgICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb247IH0KKyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uKFdlYkNvcmU6OlRleHRUcmFja1JlcHJlc2VudGF0aW9uKikgZmluYWw7CiAg
ICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCkgZmluYWw7CisjZW5kaWYKICAgICB2b2lkIHRy
YWNrc0NoYW5nZWQoKSBmaW5hbDsKIAogICAgIHZvaWQgYmVnaW5TaW11bGF0ZWRIRENQRXJyb3Io
KSBmaW5hbDsKQEAgLTM1Niw4ICszNTksMTIgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyKiBtX3BsYXllciB7IG51bGxwdHIgfTsKICAgICBSZWZQdHI8V2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CisgICAgYm9v
bCBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24geyBmYWxzZSB9OwogICAgIFBsYXRm
b3JtTGF5ZXJDb250YWluZXIgbV92aWRlb0lubGluZUxheWVyOwogICAgIFBsYXRmb3JtTGF5ZXJD
b250YWluZXIgbV92aWRlb0Z1bGxzY3JlZW5MYXllcjsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICBSZXRhaW5QdHI8UGxhdGZvcm1MYXllcj4gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVy
OworI2VuZGlmCiAgICAgT3B0aW9uYWw8TGF5ZXJIb3N0aW5nQ29udGV4dElEPiBtX2Z1bGxzY3Jl
ZW5MYXllckhvc3RpbmdDb250ZXh0SWQ7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyJiBt
X21hbmFnZXI7CiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVu
dGlmaWVyIG1fcmVtb3RlRW5naW5lSWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCmluZGV4IDAxOGY1OWVkZDc3YmQwNjMyMTg3M2JmYmVl
ZGE1ODM4MmNjYTY1NjMuLjFmMTczMzhlZGRjMTUwNTRiYWFmMTQ5Y2IwYTc1MjVkNTEzZjIxNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQpAQCAt
MjksNiArMjksNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0Ep
CiAKICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1RleHRU
cmFja1JlcHJlc2VudGF0aW9uLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVT
UEkuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAKQEAgLTY1LDEwICs2Niw1NiBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUo
V2ViQ29yZTo6RmxvYXRSZWN0IHJlY3QpCiAgICAgc2V0VmlkZW9GdWxsc2NyZWVuRnJhbWVGZW5j
ZWQocmVjdCwgZmVuY2VTZW5kUmlnaHQpOwogCiAgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsK
KworICAgIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKIH0KIAogI2VuZGlmCiAKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihXZWJDb3JlOjpU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCit7CisjaWYgIUVOQUJMRShW
SURFT19QUkVTRU5UQVRJT05fTU9ERSkKKyAgICBVTlVTRURfUEFSQU0ocmVwcmVzZW50YXRpb25M
YXllcik7CisjZWxzZQorICAgIFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0aW9uTGF5ZXIgPSBy
ZXByZXNlbnRhdGlvbiA/IHJlcHJlc2VudGF0aW9uLT5wbGF0Zm9ybUxheWVyKCkgOiBuaWw7CisK
KyAgICBpZiAocmVwcmVzZW50YXRpb25MYXllciA9PSBtX3RleHRUcmFja1JlcHJlc2VudGF0aW9u
TGF5ZXIpIHsKKyAgICAgICAgc3luY1RleHRUcmFja0JvdW5kcygpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgW0NBVHJhbnNhY3Rpb24gYmVnaW5dOworICAgIFtDQVRyYW5zYWN0aW9u
IHNldERpc2FibGVBY3Rpb25zOllFU107CisKKyAgICBpZiAobV90ZXh0VHJhY2tSZXByZXNlbnRh
dGlvbkxheWVyKQorICAgICAgICBbbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyIHJlbW92
ZUZyb21TdXBlcmxheWVyXTsKKworICAgIG1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllciA9
IHJlcHJlc2VudGF0aW9uTGF5ZXI7CisKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5MYXllciAm
JiBtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIpIHsKKyAgICAgICAgc3luY1RleHRUcmFj
a0JvdW5kcygpOworICAgICAgICBbbV92aWRlb0Z1bGxzY3JlZW5MYXllciBhZGRTdWJsYXllcjpt
X3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIuZ2V0KCldOworICAgIH0KKworICAgIFtDQVRy
YW5zYWN0aW9uIGNvbW1pdF07CisjZW5kaWYKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnN5bmNUZXh0VHJhY2tCb3VuZHMoKQoreworI2lmIEVOQUJMRShWSURFT19QUkVTRU5U
QVRJT05fTU9ERSkKKyAgICBpZiAoIW1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgfHwgIW1fdGV4dFRy
YWNrUmVwcmVzZW50YXRpb25MYXllcikKKyAgICAgICAgcmV0dXJuOworCisgICAgW0NBVHJhbnNh
Y3Rpb24gYmVnaW5dOworICAgIFtDQVRyYW5zYWN0aW9uIHNldERpc2FibGVBY3Rpb25zOllFU107
CisKKyAgICBbbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyIHNldEZyYW1lOm1fdmlkZW9G
dWxsc2NyZWVuTGF5ZXIuZ2V0KCkuYm91bmRzXTsKKworICAgIFtDQVRyYW5zYWN0aW9uIGNvbW1p
dF07CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409420</attachid>
            <date>2020-09-22 16:17:46 -0700</date>
            <delta_ts>2020-09-23 11:45:16 -0700</delta_ts>
            <desc>Fix build failures again</desc>
            <filename>bug-208752-20200922161745.patch</filename>
            <type>text/plain</type>
            <size>20094</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTkzMDJjMGRiN2IyZTVh
YmU0YmU5NzBiMjMwOWYwNGIzOGEwODYxOS4uZGNiNDU3ZGNiNWRiZmY1MzNiZWE4NmM5YTgyNGVk
NTJlMmVhYTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA5LTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIGluIEdQVSBQcm9j
ZXNzXSBJbXBsZW1lbnQgY2FwdGlvbiBzdXBwb3J0IGluIHZpZGVvIGZ1bGxzY3JlZW4gYW5kIFBp
UAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NzUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3J0
IFRleHRUcmFja1JlcHJlc2VudGF0aW9uIHNvIHRoYXQgV2ViS2l0IGNhbiB1c2UgaXQuIEFsc28s
IHVwZGF0ZSB0aGUKKyAgICAgICAgaW50ZXJmYWNlIG9mIFZpZGVvTGF5ZXJNYW5hZ2VyT2JqQyBy
ZWxhdGVkIHRvIHRleHQgdHJhY2sgcmVwcmVzZW50YXRpb24gdG8KKyAgICAgICAgdXNlIFBsYXRm
b3JtTGF5ZXIqIGluc3RlYWQgb2YgVGV4dFRyYWNrUmVwcmVzZW50YXRpb24qLgorCisgICAgICAg
IE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgQ2hhbmdlIHRhcmdldCBtZW1iZXJzaGlwIG9mIFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uLmguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW06CisgICAgICAg
IChXZWJDb3JlOjpWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9MYXllck1hbmFnZXJPYmpDOjpzZXRU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIFJlcGxhY2Ugc2V0VGV4
dFRyYWNrUmVwcmVzZW50YXRpb24oKSB3aXRoIHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5
ZXIoKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbik6CisgICAgICAgIFVzZSBWaWRlb0xheWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uTGF5ZXIoKSBpbnN0ZWFkIG9mCisgICAgICAgIFZpZGVvTGF5ZXJNYW5hZ2Vy
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24pOiBEaXR0by4KKwogMjAyMC0w
OS0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHBhcnRpYWwgcmV2ZXJ0IG9mIHIyNjczODMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNzFmNzdmNDJjNjk4
NmNkMjRkZTgwNDNkMjQzNzQwZjE1NWRiMTUuLjc2YzEzODRiOTZiNzIzOGZmOGQ0MTRhZjJhNjlj
MThlNTIzMTNlMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjAtMDktMjIgIFBlbmcg
TGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgaW4gR1BVIFByb2Nl
c3NdIEltcGxlbWVudCBjYXB0aW9uIHN1cHBvcnQgaW4gdmlkZW8gZnVsbHNjcmVlbiBhbmQgUGlQ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3NTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMpOiBEZWxldGVkLgor
ICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAg
ICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgUmVtb3ZlIHN5bmNUZXh0VHJhY2tCb3VuZHMoKSBiZWNhdXNlIHRoZSBHUFUg
cHJvY2VzcyBkb2VzIG5vdCBuZWVkIHRvIGRlYWwgd2l0aAorICAgICAgICB0aGUgdGV4dCB0cmFj
ayBib3VuZHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaXNwYXRjaE1l
c3NhZ2UpOgorICAgICAgICBBZGQgYSBtaXNzaW5nIElQQyBtZXNzYWdlIHJlY2VpdmVyLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWaWRlb0Z1
bGxzY3JlZW5MYXllcik6IFNldCB0aGUgZmxhZworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNr
UmVwcmVzZW50YXRpb24gd2hlbiBjaGFuZ2luZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZS4KKyAg
ICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFj
a1JlcHJlc2VudGF0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFj
a0JvdW5kcyk6IERlbGV0ZWQuCisgICAgICAgIE1vdmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRo
b3NlIGZ1bmN0aW9ucyB0byBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorICAg
ICAgICBBZGQgdGhlIGZsYWcgbV9yZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uIGFuZCBh
ZGQgYSByZWZlcmVuY2UKKyAgICAgICAgdG8gdGhlIGxheWVyIHVzZWQgdG8gcmVuZGVyIHRleHQg
dHJhY2sgKGluIGZ1bGxzY3JlZW4gb3IgcGljdHVyZS1pbi1waWN0dXJlKS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZpZGVv
RnVsbHNjcmVlbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0JvdW5kcyk6CisgICAgICAgIFRob3Nl
IGZ1bmN0aW9ucyBzaGFyZSBhIHNpbWlsYXIgaW1wbGVtZW50YXRpb24gYXMgVmlkZW9MYXllck1h
bmFnZXJPYmpDLgorCiAyMDIwLTA5LTIyICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgW01lZGlhIGluIEdQVSBQcm9jZXNzXSBBZGQgbWlzc2luZyBJUEMgbWVzc2Fn
ZSByZWNlaXZlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA5NDhhOTMzY2E3NTlmNzU0YzQzY2IxYTljMDhmZTY2ZWY0MzM2NmM2
Li42YmVlYmY4OTljYzNjZjhjMWEyYTM3ZTBlZGRhMDhkYWE4NmUwYWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzQsNiAr
NjM0LDcgQEAKIAkJMUQyRjhFMDYyMzQ0NzUyMzAwOTkzQjY4IC8qIFBpY3R1cmVJblBpY3R1cmVX
aW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFE
RUYwNkNEMjMzQzNEMkEwMEVFMjI4RCAvKiBQaWN0dXJlSW5QaWN0dXJlV2luZG93LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUQ5RjBGQzEyMTIy
MDI5QjAwNUQ4RkQ0IC8qIFNoYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMURDNTU0MDAyMTFCQThDODAwNEI3ODBFIC8qIFNoYXJlRGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFEQkMx
QjU2MjM0N0IzRDIwMEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkMxQjU1MjM0N0IzRDIw
MEI5MDFBRiAvKiBQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxREY3RTgxRjI1MUE5RTA2MDBEQjhGNjEg
LyogVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENERDFFNTI1MTY3QkE1NjQwMENFODIwQiAvKiBUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTFGMzZFQTlDMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGMzZFQTlBMUUyMUJBMTcwMDYyMUUyNSAvKiBXZWJCYWNrZ3JvdW5kVGFza0NvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjcy
QkYwQjE4N0ZENDVDMDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjcyQkYwOTE4
N0ZENDI3MDAwOUJDQjMgLyogVGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVySU9TLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUY4NzU2QjIxRTIy
QzMzNTAwNDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY4NzU2QjExRTIyQkVFRjAw
NDJDNDBEIC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDIxMCw2ICszNDIxMSw3IEBA
CiAJCQkJMDc2OTcwODcxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIxQUQ0RTc0MTNBMTJBNDYwMDg0NkIyNyAvKiBUZXh0VHJhY2tMb2FkZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEOEI1QTQ5MTgwRTEzOEIwMDhCOEU2NSAvKiBUZXh0VHJh
Y2tNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMURGN0U4MUYyNTFBOUUwNjAwREI4
RjYxIC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzcz
QTcxMzIxODU3NTdFMDA0Q0NFQTUgLyogVGV4dFVuZGVybGluZU9mZnNldC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjlGQUY0QjYxOTVBQjA4OTAwQTUyMkRDIC8qIFRleHRVbmRvSW5zZXJ0aW9uTWFy
a3VwTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTg3NzBGMTEyNDJDNTM1MDAyMjI2QkEgLyog
VGV4dHVyZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBhYzBm
OGZmYTAyODgzZTRhYWZmZjMyYmYzODBmODgyMzAwMmI1NjE1Li5jOGY1MmRmZDZiM2NmOWRkOTJh
MGMwMWE1Y2FlYTE0NjVmZTJkMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTIxMDIs
NyArMjEwMiw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c3lu
Y1RleHRUcmFja0JvdW5kcygpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpb24q
IHJlcHJlc2VudGF0aW9uKQogewotICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFj
a1JlcHJlc2VudGF0aW9uKHJlcHJlc2VudGF0aW9uKTsKKyAgICBhdXRvKiByZXByZXNlbnRhdGlv
bkxheWVyID0gcmVwcmVzZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxhdGZvcm1MYXllcigp
IDogbmlsOworICAgIG1fdmlkZW9MYXllck1hbmFnZXItPnNldFRleHRUcmFja1JlcHJlc2VudGF0
aW9uTGF5ZXIocmVwcmVzZW50YXRpb25MYXllcik7CiB9CiAKICNpZiBFTkFCTEUoV0VCX0FVRElP
KSAmJiBVU0UoTUVESUFUT09MQk9YKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDhi
OTQxNTA3YzAzODgxYzAyMTZiNGU3OTJlMzlkYjI2ZTM1N2ZkYjkuLmEwYjY4YzIzNmExNjBiZmE3
YjEyNTMzNjQwNmE3ZTZlOTcxMzM0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAg
LTEyMzAsNyArMTIzMCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpzeW5jVGV4dFRyYWNrQm91bmRzKCkKICAgICAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCiB7Ci0gICAgbV92aWRlb0xheWVyTWFuYWdl
ci0+c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24ocmVwcmVzZW50YXRpb24pOworICAgIGF1dG8q
IHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJlcHJlc2VudGF0aW9uLT5w
bGF0Zm9ybUxheWVyKCkgOiBuaWw7CisgICAgbV92aWRlb0xheWVyTWFuYWdlci0+c2V0VGV4dFRy
YWNrUmVwcmVzZW50YXRpb25MYXllcihyZXByZXNlbnRhdGlvbkxheWVyKTsKIH0KIAogI2lmIEVO
QUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9i
akMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCmluZGV4IDg0ZDU2YmM4MWRhZmQ4NDgxMjBhMzNhZWJj
YmU1YTRjMDgxNDZjZWIuLmFkOWFkNmRmZTlhZWM3MDI3NzMzOWU5YTczZDNjZGJhMGI0OTM2NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oCkBA
IC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIFBsYXRmb3JtTGF5ZXIgKnZpZGVvSW5saW5l
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvSW5saW5lTGF5ZXIuZ2V0KCk7IH0KICAgICB2
b2lkIHNldFZpZGVvTGF5ZXIoUGxhdGZvcm1MYXllciAqLCBJbnRTaXplIGNvbnRlbnRTaXplKTsK
KyAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7CiAKICNpZiBFTkFCTEUoVklERU9fUFJF
U0VOVEFUSU9OX01PREUpCiAgICAgUGxhdGZvcm1MYXllciAqdmlkZW9GdWxsc2NyZWVuTGF5ZXIo
KSBjb25zdCB7IHJldHVybiBtX3ZpZGVvRnVsbHNjcmVlbkxheWVyLmdldCgpOyB9CkBAIC01Niwx
MCArNTcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShGbG9h
dFJlY3QpOwogI2VuZGlmCiAKLSAgICB2b2lkIGRpZERlc3Ryb3lWaWRlb0xheWVyKCk7Ci0KICAg
ICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSBjb25zdDsKLSAgICB2b2lk
IHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKik7Cisg
ICAgdm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqKTsK
ICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVv
TGF5ZXJNYW5hZ2VyT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5tbQppbmRleCBmZGY1YjY1ZDkz
NTQ4OGVlMjJhMWZlMmVmNDU0NjMxMmFiYTQ2M2QzLi4yYTdiYjNmM2UzMDBkOTc1Y2UwZDViNDNl
ZGE0NmJlMzZhNzkxYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb0xheWVyTWFuYWdlck9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9MYXll
ck1hbmFnZXJPYmpDLm1tCkBAIC0xODIsMTQgKzE4MiwxMyBAQCB2b2lkIFZpZGVvTGF5ZXJNYW5h
Z2VyT2JqQzo6c3luY1RleHRUcmFja0JvdW5kcygpCiAjZW5kaWYKIH0KIAotdm9pZCBWaWRlb0xh
eWVyTWFuYWdlck9iakM6OnNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKiByZXByZXNlbnRhdGlvbikKK3ZvaWQgVmlkZW9MYXllck1hbmFnZXJPYmpDOjpz
ZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0
aW9uTGF5ZXIpCiB7CiAjaWYgIUVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKLSAgICBV
TlVTRURfUEFSQU0ocmVwcmVzZW50YXRpb24pOworICAgIFVOVVNFRF9QQVJBTShyZXByZXNlbnRh
dGlvbkxheWVyKTsKICNlbHNlCiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIAotICAg
IFBsYXRmb3JtTGF5ZXIqIHJlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXByZXNlbnRhdGlvbiA/IHJl
cHJlc2VudGF0aW9uLT5wbGF0Zm9ybUxheWVyKCkgOiBuaWw7CiAgICAgaWYgKHJlcHJlc2VudGF0
aW9uTGF5ZXIgPT0gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKSB7CiAgICAgICAgIHN5
bmNUZXh0VHJhY2tCb3VuZHMoKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmlu
ZGV4IDI3MGFmODQ5NmE0ZDAxMzYxODVlYWMwNmRmMWM2ZGE2NGM4NGY1Y2EuLjc2OWE1NmVlNTcx
MzY5MzQ0MWQ0NGVmM2UxMTI0MDY4NGJlNDBmY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgz
NiwxMSArODM2LDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojp0cmFja3NDaGFuZ2Vk
KCkKICAgICBtX3BsYXllci0+dHJhY2tzQ2hhbmdlZCgpOwogfQogCi12b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OnN5bmNUZXh0VHJhY2tCb3VuZHMoKQotewotICAgIG1fcGxheWVyLT5zeW5j
VGV4dFRyYWNrQm91bmRzKCk7Ci19Ci0KIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cGVy
Zm9ybVRhc2tBdE1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmIHRhc2tUaW1lLCBXYWxsVGltZSBt
ZXNzYWdlVGltZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+KT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAobV9wZXJmb3JtVGFza0F0TWVkaWFUaW1l
Q29tcGxldGlvbkhhbmRsZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDk2YmI3MDRkM2IwNDVmZDk4
OGYyOTBmNTM4ODNjZmNiYzc5ZDNmNjQuLjI2NWI3ZTJkODU0Mjg0ZGU3OWU3NmRkOWFlODFhMWYz
YzA5ZTBiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtMTc1LDcgKzE3NSw2IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgbm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOwogICAgIHZvaWQgdHJhY2tzQ2hhbmdl
ZCgpOwotICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpOwogCiAgICAgdm9pZCBwZXJmb3Jt
VGFza0F0TWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIFdhbGxUaW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPE1lZGlhVGltZT4pPiYmKTsKICAgICB2b2lkIHdvdWxkVGFpbnRP
cmlnaW4oc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChPcHRpb25hbDxib29sPik+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdl
cy5pbgppbmRleCA2OGYxODk3ZDllNTA2NDU5MTk4MWFmMThhNTU1ZjE4ZDRhNTM4ZGVjLi4wYTli
OTgxNjEwN2JlYmJhY2VhMTNjNTI1YmExOGI3ZGJmNjVlMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMTEyLDcgKzExMiw2IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1l
ZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBOb3RpZnlUcmFja01vZGVDaGFu
Z2VkKCkKICAgICBUcmFja3NDaGFuZ2VkKCkKLSAgICBTeW5jVGV4dFRyYWNrQm91bmRzKCkKIAog
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgU2V0V2lyZWxlc3NQbGF5
YmFja1RhcmdldChXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dCB0YXJnZXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCmluZGV4IGRhMmFlNDhjY2VkYWY5NDdkODA2MzA1OGUxZjM0MTVlNzZmNzBhMDcuLjA3
YWNiOTcyYzUwNjA1Y2MwNjY5MGQxNzM4NzUxZTFkNTMxYmJiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC01
NSw2ICs1NSwxMSBAQAogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU2Vzc2lvbk1lc3NhZ2VzLmgiCiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2Fn
ZXMuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAjaW5jbHVkZSAiVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFDYXB0dXJlTWFuYWdlck1lc3NhZ2VzLmgiCkBAIC0xNDEsNiArMTQ2LDEyIEBAIGJvb2wg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIElQQzo6RGVjCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRpZgor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVy
TmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNlc3Npb25IZWxwZXI6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICAvLyBGSVhNRQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisjZW5kaWYKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6UmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuc3VwcGxlbWVudDxSZW1vdGVDRE1GYWN0b3J5PigpLT5kaWRSZWNlaXZlU2Vzc2lvbk1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
aW5kZXggNjBiYzg0YWIyNWUxODY3NWJjMDM4MTkyZmRlYmY4Njc5MDdiYzI1My4uYTM5ZjVkNjNk
MTJkZmQ3NjQzMDZmYzgyNzU1MzE0MWVmZWQ2ZWRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmNwcApAQCAtNjUxLDEyICs2NTEsMjQgQEAgUGxhdGZvcm1MYXllciogTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0Zm9ybUxheWVyKiB2aWRlb0Z1
bGxzY3JlZW5MYXllciwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKCF2aWRlb0Z1bGxzY3JlZW5MYXllcikgewotICAgICAgICBjb25uZWN0aW9u
KCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpF
eGl0RnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7CisgICAg
ICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OkV4aXRGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24gPSBmYWxzZTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0s
IG1faWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUKG1fdmlkZW9GdWxs
c2NyZWVuTGF5ZXIuZ2V0KCkgPT0gdmlkZW9GdWxsc2NyZWVuTGF5ZXIpOwotICAgIGNvbm5lY3Rp
b24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OkVudGVyRnVsbHNjcmVlbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgbV9pZCk7Cisg
ICAgY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6RW50ZXJGdWxsc2NyZWVuKCksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24gPSB0cnVlOwor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0sIG1faWQpOwogfQogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2Uo
KQpAQCAtMTAwOSwyMiArMTAyMSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpz
ZXRTaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkKGJvb2wgc2hvdWxkKQogfQogI2VuZGlmCiAK
LWJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1aXJlc1RleHRUcmFja1JlcHJlc2Vu
dGF0aW9uKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFRleHRUcmFja1JlcHJl
c2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKikKLXsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1RleHRUcmFja0Jv
dW5kcygpCi17Ci0gICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlN5bmNUZXh0VHJhY2tCb3VuZHMoKSwgbV9pZCk7Ci19Ci0KIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjp0cmFja3NDaGFuZ2VkKCkKIHsKICAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6VHJhY2tzQ2hhbmdlZCgpLCBt
X2lkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGNkNjMyYTk2YjM3YWJmMGU5YjNl
NjE0MmU5ZDI3ZGI1NmMyN2JlODIuLjUwN2ZiODY0MjU0MTFkMTk1YTg0N2RiNTdjZTQ0ODc1MWEz
OWY0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtNDgsNiArNDgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgR2VuZXJpY0N1ZURhdGE7CiBjbGFzcyBJU09XZWJWVFRD
dWU7CiBjbGFzcyBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWU7CitjbGFzcyBUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbjsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0zMjMsOSArMzI0
LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVk
KGJvb2wpIGZpbmFsOwogI2VuZGlmCiAKLSAgICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb247IH0KKyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uKFdlYkNvcmU6OlRleHRUcmFja1JlcHJlc2VudGF0aW9uKikgZmluYWw7CiAg
ICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCkgZmluYWw7CisjZW5kaWYKICAgICB2b2lkIHRy
YWNrc0NoYW5nZWQoKSBmaW5hbDsKIAogICAgIHZvaWQgYmVnaW5TaW11bGF0ZWRIRENQRXJyb3Io
KSBmaW5hbDsKQEAgLTM1Niw4ICszNTksMTIgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyKiBtX3BsYXllciB7IG51bGxwdHIgfTsKICAgICBSZWZQdHI8V2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CisgICAgYm9v
bCBtX3JlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24geyBmYWxzZSB9OwogICAgIFBsYXRm
b3JtTGF5ZXJDb250YWluZXIgbV92aWRlb0lubGluZUxheWVyOwogICAgIFBsYXRmb3JtTGF5ZXJD
b250YWluZXIgbV92aWRlb0Z1bGxzY3JlZW5MYXllcjsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICBSZXRhaW5QdHI8UGxhdGZvcm1MYXllcj4gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVy
OworI2VuZGlmCiAgICAgT3B0aW9uYWw8TGF5ZXJIb3N0aW5nQ29udGV4dElEPiBtX2Z1bGxzY3Jl
ZW5MYXllckhvc3RpbmdDb250ZXh0SWQ7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyJiBt
X21hbmFnZXI7CiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVu
dGlmaWVyIG1fcmVtb3RlRW5naW5lSWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCmluZGV4IDAxOGY1OWVkZDc3YmQwNjMyMTg3M2JmYmVl
ZGE1ODM4MmNjYTY1NjMuLjRhODRjMjUxZGJiNzM3MGUzMWM5MDg5NDdiNjNlNGQ0OWRhY2RmNjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQpAQCAt
MjksNiArMjksNyBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0Ep
CiAKICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1RleHRU
cmFja1JlcHJlc2VudGF0aW9uLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVT
UEkuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAKQEAgLTY1LDEwICs2Niw1NiBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUo
V2ViQ29yZTo6RmxvYXRSZWN0IHJlY3QpCiAgICAgc2V0VmlkZW9GdWxsc2NyZWVuRnJhbWVGZW5j
ZWQocmVjdCwgZmVuY2VTZW5kUmlnaHQpOwogCiAgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsK
KworICAgIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKIH0KIAogI2VuZGlmCiAKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihXZWJDb3JlOjpU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbiogcmVwcmVzZW50YXRpb24pCit7CisjaWYgIUVOQUJMRShW
SURFT19QUkVTRU5UQVRJT05fTU9ERSkKKyAgICBVTlVTRURfUEFSQU0ocmVwcmVzZW50YXRpb24p
OworI2Vsc2UKKyAgICBQbGF0Zm9ybUxheWVyKiByZXByZXNlbnRhdGlvbkxheWVyID0gcmVwcmVz
ZW50YXRpb24gPyByZXByZXNlbnRhdGlvbi0+cGxhdGZvcm1MYXllcigpIDogbmlsOworCisgICAg
aWYgKHJlcHJlc2VudGF0aW9uTGF5ZXIgPT0gbV90ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVy
KSB7CisgICAgICAgIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKKyAgICBbQ0FUcmFuc2FjdGlvbiBzZXRE
aXNhYmxlQWN0aW9uczpZRVNdOworCisgICAgaWYgKG1fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25M
YXllcikKKyAgICAgICAgW21fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllciByZW1vdmVGcm9t
U3VwZXJsYXllcl07CisKKyAgICBtX3RleHRUcmFja1JlcHJlc2VudGF0aW9uTGF5ZXIgPSByZXBy
ZXNlbnRhdGlvbkxheWVyOworCisgICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgJiYgbV90
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyKSB7CisgICAgICAgIHN5bmNUZXh0VHJhY2tCb3Vu
ZHMoKTsKKyAgICAgICAgW21fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgYWRkU3VibGF5ZXI6bV90ZXh0
VHJhY2tSZXByZXNlbnRhdGlvbkxheWVyLmdldCgpXTsKKyAgICB9CisKKyAgICBbQ0FUcmFuc2Fj
dGlvbiBjb21taXRdOworI2VuZGlmCit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzeW5jVGV4dFRyYWNrQm91bmRzKCkKK3sKKyNpZiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9O
X01PREUpCisgICAgaWYgKCFtX3ZpZGVvRnVsbHNjcmVlbkxheWVyIHx8ICFtX3RleHRUcmFja1Jl
cHJlc2VudGF0aW9uTGF5ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIFtDQVRyYW5zYWN0aW9u
IGJlZ2luXTsKKyAgICBbQ0FUcmFuc2FjdGlvbiBzZXREaXNhYmxlQWN0aW9uczpZRVNdOworCisg
ICAgW21fdGV4dFRyYWNrUmVwcmVzZW50YXRpb25MYXllciBzZXRGcmFtZTptX3ZpZGVvRnVsbHNj
cmVlbkxheWVyLmdldCgpLmJvdW5kc107CisKKyAgICBbQ0FUcmFuc2FjdGlvbiBjb21taXRdOwor
I2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdQ
VV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>