<?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>226573</bug_id>
          
          <creation_ts>2021-06-03 02:36:56 -0700</creation_ts>
          <short_desc>[WTF][GStreamer] Enforce clang thread safety annotations</short_desc>
          <delta_ts>2021-06-07 01:38:11 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alicia Boya García">aboya</reporter>
          <assigned_to name="Alicia Boya García">aboya</assigned_to>
          <cc>aperez</cc>
    
    <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1766333</commentid>
    <comment_count>0</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-03 02:36:56 -0700</bug_when>
    <thetext>This patch:

(1) Finishes the work done by Chris Dumez in r278248, fixing the
    warnings when using DataMutexLocker::runUnlocked() and
    DataMutex::earlyUnlock().

(2) Fixes almost all* thread safety warnings in platform/graphics/gstreamer.

(3) Introduces WTF_BEGIN_ENFORCE_THREAD_SAFETY_ANALYSIS and
    WTF_END_ENFORCE_THREAD_SAFETY_ANALYSIS macros which turn thread safety
    warnings into compile-time errors when building in clang.

(4) Makes use of WTF_BEGIN_ENFORCE_THREAD_SAFETY_ANALYSIS in almost
    all* files in platform/graphics/gstreamer that make use of locks, and
    in the DataMutex unit test suite.

*Exceptionally, ImageDecoderGStreamer.cpp hasn&apos;t been modified to add
the enforce annotation because of race condition present detected by
the analyzer. Fixing that is a separate issue in
https://bugs.webkit.org/show_bug.cgi?id=226495.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766336</commentid>
    <comment_count>1</comment_count>
      <attachid>430454</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-03 02:45:27 -0700</bug_when>
    <thetext>Created attachment 430454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766337</commentid>
    <comment_count>2</comment_count>
      <attachid>430455</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-03 02:56:20 -0700</bug_when>
    <thetext>Created attachment 430455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766344</commentid>
    <comment_count>3</comment_count>
      <attachid>430459</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-03 04:30:13 -0700</bug_when>
    <thetext>Created attachment 430459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766354</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-06-03 05:43:44 -0700</bug_when>
    <thetext>(In reply to Alicia Boya García from comment #0)
&gt; (3) Introduces WTF_BEGIN_ENFORCE_THREAD_SAFETY_ANALYSIS and
&gt;     WTF_END_ENFORCE_THREAD_SAFETY_ANALYSIS macros which turn thread safety
&gt;     warnings into compile-time errors when building in clang.

So is it basically -Werror=thread-safety, but scoped to only GStreamer files. (Apple won&apos;t use it, since they already build everything with -Werror.)

It would be obsoleted by bug #155047 if we turn on -Werror in developer mode, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766373</commentid>
    <comment_count>5</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-03 06:44:05 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #4)
&gt; (In reply to Alicia Boya García from comment #0)
&gt; &gt; (3) Introduces WTF_BEGIN_ENFORCE_THREAD_SAFETY_ANALYSIS and
&gt; &gt;     WTF_END_ENFORCE_THREAD_SAFETY_ANALYSIS macros which turn thread safety
&gt; &gt;     warnings into compile-time errors when building in clang.
&gt; 
&gt; So is it basically -Werror=thread-safety, but scoped to only GStreamer
&gt; files. (Apple won&apos;t use it, since they already build everything with
&gt; -Werror.)
&gt; 
&gt; It would be obsoleted by bug #155047 if we turn on -Werror in developer
&gt; mode, right?

It won&apos;t. `thread-safety` is not a warning by default. At the moment, clang raises thread safety issues in many parts of the code. These macros allow to enforce the checks in those files where it has already been checked that it&apos;s not a problem and shouldn&apos;t be regressed.

Ideally at some point all WebKit would have all the thread-safety warnings fixed and we could build the entire codebase with -Werror=thread-safety.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766381</commentid>
    <comment_count>6</comment_count>
      <attachid>430459</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-03 07:39:40 -0700</bug_when>
    <thetext>Comment on attachment 430459
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        (3) Introduces WTF_BEGIN_ENFORCE_THREAD_SAFETY_ANALYSIS and

I am not convinced we want these particular macros. Their name is a bit confusing since thread safety analysis is always enforced. I&apos;ll also note that there is discussion to turn warnings into errors all the time for GTK port.
On Cocoa ports, we treat all warnings as errors already. Doing it at a file level seems odd to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766416</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-03 09:19:49 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; &gt; Source/WebCore/ChangeLog:16
&gt; &gt; +        (3) Introduces WTF_BEGIN_ENFORCE_THREAD_SAFETY_ANALYSIS and
&gt; 
&gt; I am not convinced we want these particular macros. Their name is a bit
&gt; confusing since thread safety analysis is always enforced. I&apos;ll also note
&gt; that there is discussion to turn warnings into errors all the time for GTK
&gt; port.
&gt; On Cocoa ports, we treat all warnings as errors already. Doing it at a file
&gt; level seems odd to me.

I agree with those points.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766430</commentid>
    <comment_count>8</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-03 10:24:56 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; On Cocoa ports, we treat all warnings as errors already. Doing it at a file
&gt; level seems odd to me.

I wasn&apos;t aware, since I saw a bunch of warnings while building WebKit. If we can get there, that would be better indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766433</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-03 10:30:26 -0700</bug_when>
    <thetext>(In reply to Alicia Boya García from comment #8)
&gt; (In reply to Chris Dumez from comment #6)
&gt; &gt; On Cocoa ports, we treat all warnings as errors already. Doing it at a file
&gt; &gt; level seems odd to me.
&gt; 
&gt; I wasn&apos;t aware, since I saw a bunch of warnings while building WebKit. If we
&gt; can get there, that would be better indeed.

There is definitely no warnings for Cocoa ports so the only warnings you&apos;re seeing are likely specific to the Glib-port. It would indeed be great if those could get fixed.

Note that DataMutex is only used by some gstreamer code and I personally don&apos;t think it brings much compared to a separate lock + data members, especially now that we support thread safety annotations. I considered dropping it entirely but it wasn&apos;t convenient for me since I cannot build the GTK port and I&apos;d need to clear it with people from that port first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766442</commentid>
    <comment_count>10</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-03 10:55:46 -0700</bug_when>
    <thetext>From my perspective (not saying it&apos;s would be terribly interesting perspective to GStreamer using ports..): The changelog says what the code does. The code also says what the code does.. The changelog does not say is: why?

More specifically, why cannot the thread safety errors as errors just be enabled by default, business-as-usual, in the project files? First fix the existing bugs, enable the checks and then more annotations can be added later? There isn&apos;t &quot;ENFORCE INTS ARE NOT FLOATS WARNING&quot; macros either.

It&apos;d be somewhat simpler for everybody if there was not that many gotchas related to which pieces of code are compiled in which distinct modes..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766444</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-06-03 10:58:54 -0700</bug_when>
    <thetext>(In reply to Alicia Boya García from comment #8)
&gt; I wasn&apos;t aware, since I saw a bunch of warnings while building WebKit. If we
&gt; can get there, that would be better indeed.

I try to keep the build warning-free with latest GCC on x86_64. Currently the only warnings are covered by bug #226193 and bug #226557.

I intend to turn on -Werror for DEVELOPER_MODE builds in bug #155047 unless somebody objects soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766482</commentid>
    <comment_count>12</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-06-03 12:41:14 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #11)
&gt; (In reply to Alicia Boya García from comment #8)
&gt; &gt; I wasn&apos;t aware, since I saw a bunch of warnings while building WebKit. If we
&gt; &gt; can get there, that would be better indeed.
&gt; 
&gt; I try to keep the build warning-free with latest GCC on x86_64. Currently
&gt; the only warnings are covered by bug #226193 and bug #226557.
&gt; 
&gt; I intend to turn on -Werror for DEVELOPER_MODE builds in bug #155047 unless
&gt; somebody objects soon.

Looks reasonable to me, moreover when the build environment (mainly
compiler versions) is nowadays the same for all developers thanks to
the Flatpak SDK :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767353</commentid>
    <comment_count>13</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-06-07 01:37:53 -0700</bug_when>
    <thetext>I withdraw the patch. I will move the acceptable corrections to other patches.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430454</attachid>
            <date>2021-06-03 02:45:27 -0700</date>
            <delta_ts>2021-06-03 02:56:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226573-20210603114527.patch</filename>
            <type>text/plain</type>
            <size>16328</size>
            <attacher name="Alicia Boya García">aboya</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRjNGQ4ZDRlZTBmYWQzNjU5Mjc3YTZj
YzFmYjI4NGMzMjI1NTIxNzUuLjI3YWU4NDZiMTc4ZjBhYzY5NTJiNzU5ZWY3NzgyZjI4ZGQzZDEx
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDYtMDIgIEFsaWNpYSBCb3lhIEdhcmPDrWEg
IDxhYm95YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdW0dTdHJlYW1lcl0gRW5mb3JjZSBj
bGFuZyB0aHJlYWQgc2FmZXR5IGFubm90YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBjbGFuZyB0aHJlYWQgc2FmZXR5IHdhcm5pbmdz
IGluIERhdGFNdXRleCBhbmQgaW50cm9kdWNlcworICAgICAgICBXVEZfQkVHSU5fRU5GT1JDRV9U
SFJFQURfU0FGRVRZX0FOQUxZU0lTIGFuZAorICAgICAgICBXVEZfRU5EX0VORk9SQ0VfVEhSRUFE
X1NBRkVUWV9BTkFMWVNJUyB3aGljaCwgd2hlbiBidWlsZGluZyBpbgorICAgICAgICBkZXZlbG9w
ZXIgbW9kZSwgdHVybnMgdGhyZWFkIHNhZmV0eSB3YXJuaW5ncyBpbnRvIGVycm9ycyBmb3IgdGhl
CisgICAgICAgIGNvdmVyZWQgY29kZSB3aGVuIGJ1aWxkaW5nIGluIGNsYW5nLgorCisgICAgICAg
ICogd3RmL0RhdGFNdXRleC5oOgorICAgICAgICAqIHd0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5o
OgorCiAyMDIxLTA1LTMwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgRHJvcCBVbmNoZWNrZWRDb25kaXRpb24gLyBVbmNoZWNrZWRMb2NrCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MjkzOTJlMzgwNTExNDUxZjQzYTllYzQ2OWJlYTU1NDUxNWZjZmI4OS4uODEzZWExYzhlYTc3ZWQz
YjVkNGYzOWZkYzk0MjdiNGZiOTAxNzhjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisy
MDIxLTA2LTAyICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbV1RGXVtHU3RyZWFtZXJdIEVuZm9yY2UgY2xhbmcgdGhyZWFkIHNhZmV0eSBhbm5vdGF0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
NTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBwYXRjaDoKKworICAgICAgICAoMSkgRmluaXNoZXMgdGhlIHdvcmsgZG9uZSBieSBDaHJpcyBE
dW1leiBpbiByMjc4MjQ4LCBmaXhpbmcgdGhlCisgICAgICAgICAgICB3YXJuaW5ncyB3aGVuIHVz
aW5nIERhdGFNdXRleExvY2tlcjo6cnVuVW5sb2NrZWQoKSBhbmQKKyAgICAgICAgICAgIERhdGFN
dXRleDo6ZWFybHlVbmxvY2soKS4KKworICAgICAgICAoMikgRml4ZXMgYWxtb3N0IGFsbCogdGhy
ZWFkIHNhZmV0eSB3YXJuaW5ncyBpbiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIuCisKKyAg
ICAgICAgKDMpIEludHJvZHVjZXMgV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFM
WVNJUyBhbmQKKyAgICAgICAgICAgIFdURl9FTkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZ
U0lTIG1hY3JvcyB3aGljaCB0dXJuIHRocmVhZCBzYWZldHkKKyAgICAgICAgICAgIHdhcm5pbmdz
IGludG8gY29tcGlsZS10aW1lIGVycm9ycyB3aGVuIGJ1aWxkaW5nIGluIGNsYW5nLgorCisgICAg
ICAgICg0KSBNYWtlcyB1c2Ugb2YgV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFM
WVNJUyBpbiBhbG1vc3QKKyAgICAgICAgICAgIGFsbCogZmlsZXMgaW4gcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyIHRoYXQgbWFrZSB1c2Ugb2YgbG9ja3MsIGFuZAorICAgICAgICAgICAgaW4g
dGhlIERhdGFNdXRleCB1bml0IHRlc3Qgc3VpdGUuCisKKyAgICAgICAgKkV4Y2VwdGlvbmFsbHks
IEltYWdlRGVjb2RlckdTdHJlYW1lci5jcHAgaGFzbid0IGJlZW4gbW9kaWZpZWQgdG8gYWRkCisg
ICAgICAgIHRoZSBlbmZvcmNlIGFubm90YXRpb24gYmVjYXVzZSBvZiByYWNlIGNvbmRpdGlvbiBw
cmVzZW50IGRldGVjdGVkIGJ5CisgICAgICAgIHRoZSBhbmFseXplci4gRml4aW5nIHRoYXQgaXMg
YSBzZXBhcmF0ZSBpc3N1ZSBpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI2NDk1LgorCisgICAgICAgICogcGxhdGZvcm0vQWJvcnRhYmxlVGFza1F1
ZXVlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRU
cmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01haW5UaHJlYWROb3RpZmllci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3Ry
ZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRp
YVNvdXJjZUdTdHJlYW1lci5jcHA6CisKIDIwMjEtMDUtMzEgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJYUl0gQXR0YWNoIElPU3VyZmFjZSB0byBXZWJYUk9w
YXF1ZUZyYW1lYnVmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9EYXRhTXV0ZXguaCBi
L1NvdXJjZS9XVEYvd3RmL0RhdGFNdXRleC5oCmluZGV4IDc3YTFlZDc5YjEwOTRjM2IzZmMwNGFi
OTFiMzEzNDQzYTUzZDNjYmYuLmEwZDQ4ZjBlNjM5OGIyNDdkNGY1M2E5NTUwNzZmYzE1NmVlNGFl
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0RhdGFNdXRleC5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL0RhdGFNdXRleC5oCkBAIC03MiwyMCArNzIsMjIgQEAgcHVibGljOgogCiAgICAgfkRh
dGFNdXRleExvY2tlcigpIFdURl9SRUxFQVNFU19MT0NLKG1fZGF0YU11dGV4Lm1fbXV0ZXgpCiAg
ICAgewotICAgICAgICBpZiAobV9pc0xvY2tlZCkKKyAgICAgICAgaWYgKG1faXNMb2NrZWQpIHsK
KyAgICAgICAgICAgIGFzc2VydElzSGVsZChtX2RhdGFNdXRleC5tX211dGV4KTsKICAgICAgICAg
ICAgIG11dGV4KCkudW5sb2NrKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBUKiBvcGVyYXRv
ci0+KCkKICAgICB7Ci0gICAgICAgIERBVEFfTVVURVhfQ0hFQ0sobXV0ZXgoKS5pc0hlbGQoKSk7
CisgICAgICAgIERBVEFfTVVURVhfQ0hFQ0sobV9pc0xvY2tlZCAmJiBtdXRleCgpLmlzSGVsZCgp
KTsKICAgICAgICAgYXNzZXJ0SXNIZWxkKG1fZGF0YU11dGV4Lm1fbXV0ZXgpOwogICAgICAgICBy
ZXR1cm4gJm1fZGF0YU11dGV4Lm1fZGF0YTsKICAgICB9CiAKICAgICBUJiBvcGVyYXRvciooKQog
ICAgIHsKLSAgICAgICAgREFUQV9NVVRFWF9DSEVDSyhtdXRleCgpLmlzSGVsZCgpKTsKKyAgICAg
ICAgREFUQV9NVVRFWF9DSEVDSyhtX2lzTG9ja2VkICYmIG11dGV4KCkuaXNIZWxkKCkpOwogICAg
ICAgICBhc3NlcnRJc0hlbGQobV9kYXRhTXV0ZXgubV9tdXRleCk7CiAgICAgICAgIHJldHVybiBt
X2RhdGFNdXRleC5tX2RhdGE7CiAgICAgfQpAQCAtOTUsNiArOTcsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBtX2RhdGFNdXRleC5tX211dGV4OwogICAgIH0KIAorICAgIC8vIE5vdGU6IERh
dGFNdXRleExvY2tlciBzaG91bGRuJ3QgYmUgdXNlZCBhZnRlciB0aGlzLiBEdWUgdG8gbGltaXRh
dGlvbnMgb2YgY2xhbmcgdGhyZWFkIHNhZmV0eSBhbmFseXNpcyB0aGlzIGNhbid0CisgICAgLy8g
Y3VycmVudGx5IGJlIHN0YXRpY2x5IGNoZWNrZWQgKGFkZGluZyBXVEZfUkVRVUlSRVNfTE9DSygp
IHRvIG9wZXJhdG9yLT4oKSBkb2Vzbid0IHdvcmsuKQorICAgIC8vIFJ1bi10aW1lIGNoZWNrcyBh
cmUgc3RpbGwgcGVyZm9ybWVkIGlmIGVuYWJsZWQuCiAgICAgdm9pZCB1bmxvY2tFYXJseSgpIFdU
Rl9SRUxFQVNFU19MT0NLKG1fZGF0YU11dGV4Lm1fbXV0ZXgpCiAgICAgewogICAgICAgICBEQVRB
X01VVEVYX0NIRUNLKG11dGV4KCkuaXNIZWxkKCkpOwpAQCAtMTA1LDcgKzExMCw3IEBAIHB1Ymxp
YzoKICAgICAvLyBVc2VkIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBicmFjZSBzY29waW5nIHdoZW4gb25s
eSBzbWFsbCBwYXJ0cyBvZiB0aGUgY29kZSBuZWVkIHRvIGJlIHJ1biB1bmxvY2tlZC4KICAgICAv
LyBQbGVhc2UgYmUgbWluZGZ1bCB0aGF0IGFjY2Vzc2luZyB0aGUgd3JhcHBlZCBkYXRhIGZyb20g
dGhlIGNhbGxiYWNrIGlzIHVuc2FmZSBhbmQgd2lsbCBmYWlsIG9uIGFzc2VydGlvbnMuCiAgICAg
Ly8gSXQncyBoZWxwZnVsIHRvIHVzZSBhIG1pbmltYWwgbGFtYmRhIGNhcHR1cmUgdG8gYmUgY29u
c2Npb3VzIG9mIHdoYXQgZGF0YSB5b3UncmUgaGF2aW5nIGFjY2VzcyB0byBpbiB0aGVzZSBzZWN0
aW9ucy4KLSAgICB2b2lkIHJ1blVubG9ja2VkKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGNhbGxi
YWNrKQorICAgIHZvaWQgcnVuVW5sb2NrZWQoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgY2FsbGJh
Y2spIFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKICAgICB7CiAgICAgICAgIERB
VEFfTVVURVhfQ0hFQ0sobXV0ZXgoKS5pc0hlbGQoKSk7CiAgICAgICAgIGFzc2VydElzSGVsZCht
X2RhdGFNdXRleC5tX211dGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZFNh
ZmV0eUFuYWx5c2lzLmggYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5oCmlu
ZGV4IDAzYWMxNWE5MzNlNzBmYzFhMWZmMDQ3OGYwYjk5M2NlMThkNDk3ZWMuLjAzYTQxNWIxMDJm
ZTQwZDA0MjcyZWE1MTgyODU0NDg0OWEwNjcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1RocmVhZFNhZmV0eUFuYWx5c2lzLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkU2FmZXR5
QW5hbHlzaXMuaApAQCAtNTMsMyArNTMsMTcgQEAKICNkZWZpbmUgV1RGX1JFUVVJUkVTX0xPQ0so
Li4uKSBXVEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHJlcXVpcmVzX2NhcGFiaWxpdHko
X19WQV9BUkdTX18pKQogI2RlZmluZSBXVEZfUkVRVUlSRVNfU0hBUkVEX0xPQ0soLi4uKSBXVEZf
VEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHJlcXVpcmVzX3NoYXJlZF9jYXBhYmlsaXR5KF9f
VkFfQVJHU19fKSkKICNkZWZpbmUgV1RGX1JFVFVSTlNfTE9DSyh4KSBXVEZfVEhSRUFEX0FOTk9U
QVRJT05fQVRUUklCVVRFKGxvY2tfcmV0dXJuZWQoeCkpCisKKy8vIFRoZSBmb2xsb3dpbmcgbWFj
cm9zIGNhbiBiZSB1c2VkIHRvIGVuYWJsZSB0aHJlYWQgc2FmZXR5IGFuYWx5c2lzIGluIHNwZWNp
ZmljIGFyZWFzIG9mIHRoZSBjb2RlIChub3JtYWxseSBhIHdob2xlCisvLyAuY3BwIGZpbGUgd2hp
Y2ggaGFzIGJlZW4gcHJldmlvdXNseSBjaGVja2VkIHRvIGhhdmUgbm8gdGhyZWFkIHNhZmV0eSB3
YXJuaW5ncykgYW5kIG1hcmsgaXNzdWVzIGFzIGJ1aWxkIGVycm9ycyB3aGVuCisvLyBidWlsZGlu
ZyB3aXRoIGNsYW5nLgorI2lmIENPTVBJTEVSKENMQU5HKSAmJiBFTkFCTEUoREVWRUxPUEVSX01P
REUpCisjZGVmaW5lIFdURl9CRUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgXAor
ICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICBfUHJhZ21hKCJjbGFu
ZyBkaWFnbm9zdGljIGVycm9yIFwiLVd0aHJlYWQtc2FmZXR5XCIiKQorI2RlZmluZSBXVEZfRU5E
X0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUyBcCisgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBwb3AiKQorI2Vsc2UKKyNkZWZpbmUgV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NB
RkVUWV9BTkFMWVNJUworI2RlZmluZSBXVEZfRU5EX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFM
WVNJUworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BYm9ydGFi
bGVUYXNrUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1
ZS5oCmluZGV4IGU0ZmRhODk3YjkzZjI5ODA3ZmMyOTdkNTAwNmIyZWI3Y2M3YmE4N2EuLmI2ZGYz
Yjg1Y2EyYzZjZWEzZWJiMWY4YjVmM2UwNDk5OGFkNjExNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVk
ZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKK1dURl9C
RUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAvKiBBYm9ydGFibGVUYXNrUXVldWUgaXMgYSBoaWdoLWxldmVsIHN5bmNocm9uaXphdGlv
biBvYmplY3QgZm9yIGNhc2VzIHdoZXJlIGFib3J0YWJsZSB3b3JrIGlzIGRvbmUgaW4KQEAgLTE1
Niw2ICsxNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2Fib3J0ZWRPclJlc3BvbnNlU2V0
Lm5vdGlmeUFsbCgpOwogICAgICAgICB9KTsKICAgICAgICAgbV9hYm9ydGVkT3JSZXNwb25zZVNl
dC53YWl0KG1fbG9jaywgW3RoaXMsICZyZXNwb25zZV0oKSB7CisgICAgICAgICAgICBhc3NlcnRJ
c0hlbGQobV9sb2NrKTsKICAgICAgICAgICAgIHJldHVybiBtX2Fib3J0aW5nIHx8IHJlc3BvbnNl
OwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwpAQCAtMjM4LDMgKzI0MSw1
IEBAIHByaXZhdGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1dURl9FTkRfRU5G
T1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZWE4ZTEwNzJhOTcxZjcxMjE3MTcw
YjYxM2U3YWU3NjhiYWVkZmVjNi4uNTdjM2VjZGQ2YzFiMmZjNjQzMjJiYWY0NWM5YmQ3YTU4NWU4
NDdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0
cmVhbWVyLmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAj
aW5jbHVkZSA8Z3N0L2dzdC5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FO
QUxZU0lTCisKIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4od2Via2l0X21lZGlhX3BsYXllcl9k
ZWJ1Zyk7CiAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCB3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVn
CiAKQEAgLTE0NCw0ICsxNDYsNiBAQCB2b2lkIEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFt
ZXI6Om5vdGlmeVRyYWNrT2ZTdHJlYW1DaGFuZ2VkKCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAv
LyBFTkFCTEUoVklERU8pICYmIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdT
dHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0lu
YmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA2OTEyMjY0YzBmYjkzMWU0YjQw
YzdhMGZkOGY1NjFhOGExNDNjNWJkLi4wMjM5ODViZjMxZjA4YmRjYzk5MWQyMGY5YWJjYTJiN2Zh
MDczYzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0
cmVhbWVyLmgKQEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5vdGlmeVRyYWNr
T2ZTdHJlYW1DaGFuZ2VkKCk7CiAKICAgICBndWxvbmcgbV9ldmVudFByb2JlOwotICAgIFZlY3Rv
cjxHUmVmUHRyPEdzdFNhbXBsZT4+IG1fcGVuZGluZ1NhbXBsZXM7CisgICAgVmVjdG9yPEdSZWZQ
dHI8R3N0U2FtcGxlPj4gbV9wZW5kaW5nU2FtcGxlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc2Ft
cGxlTXV0ZXgpOwogICAgIFN0cmluZyBtX3N0cmVhbUlkOwogICAgIEtpbmQgbV9raW5kOwogICAg
IExvY2sgbV9zYW1wbGVNdXRleDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaAppbmRleCA0
NzUzZWQ5ZTIzMmIwMjdlODhmZjJmN2IxMmQxYzYyYTkyNzQxNGEwLi5lYTk4OWI4NmI1OGNmM2Jl
NjQ3NjM3OWY3Mzc3MmE3OWVhMzhhNWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWFpblRocmVhZE5vdGlmaWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01haW5UaHJlYWROb3RpZmllci5o
CkBAIC0yNSw2ICsyNSw4IEBACiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NB
RkVUWV9BTkFMWVNJUworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPgpAQCAtMTI1LDkgKzEyNywxMCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIExvY2sgbV9w
ZW5kaW5nTm90aWZpY2F0aW9uc0xvY2s7Ci0gICAgdW5zaWduZWQgbV9wZW5kaW5nTm90aWZpY2F0
aW9ucyB7IDAgfTsKKyAgICB1bnNpZ25lZCBtX3BlbmRpbmdOb3RpZmljYXRpb25zIFdURl9HVUFS
REVEX0JZX0xPQ0sobV9wZW5kaW5nTm90aWZpY2F0aW9uc0xvY2spIHsgMCB9OwogICAgIEF0b21p
Yzxib29sPiBtX2lzVmFsaWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1dURl9F
TkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGM5NTc3YjdhMWE5NzNiYWM0ODYzNjll
ZWEyNDI0MTExOTEyYmNmNmEuLmFhYmE1NGZhN2U2YWEyYmQyZDE1ZmM0ODk4YWYwMjg4MzA1MWUw
NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3Bw
CkBAIC0xMjQsNiArMTI0LDggQEAKICNpbmNsdWRlIDx3cGUvZXh0ZW5zaW9ucy92aWRlby1wbGFu
ZS1kaXNwbGF5LWRtYWJ1Zi5oPgogI2VuZGlmCiAKK1dURl9CRUdJTl9FTkZPUkNFX1RIUkVBRF9T
QUZFVFlfQU5BTFlTSVMKKwogR1NUX0RFQlVHX0NBVEVHT1JZKHdlYmtpdF9tZWRpYV9wbGF5ZXJf
ZGVidWcpOwogI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0X21lZGlhX3BsYXllcl9kZWJ1
ZwogCkBAIC0zNzcyLDQgKzM3NzQsNiBAQCBXVEZMb2dDaGFubmVsJiBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OmxvZ0NoYW5uZWwoKSBjb25zdAogCiB9CiAKK1dURl9FTkRfRU5GT1JDRV9U
SFJFQURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lu
a0dTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCBkMDE0NzNkNzhjMzM1OTZlODVmNmFlZmU1
ODVmZmU2MzhjOTM1ZDdiLi41OTkwNzM3MGQyNTBiMjgzYzI4ZDk1ZjIxNzI3YzQ3NzlkMjk1YzBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VmlkZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMzksNiArMzksOCBAQAog
I2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4K
IAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogLy8gQ0FJUk9fRk9STUFUX1JHQjI0IHVzZWQgdG8gcmVuZGVyIHRo
ZSB2aWRlbyBidWZmZXJzIGlzIGxpdHRsZS9iaWcgZW5kaWFuIGRlcGVuZGFudC4KQEAgLTMyMCw0
ICszMjIsNiBAQCBHc3RFbGVtZW50KiB3ZWJraXRWaWRlb1NpbmtOZXcoKQogICAgIHJldHVybiBH
U1RfRUxFTUVOVChnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfVklERU9fU0lOSywgbnVsbHB0cikp
OwogfQogCitXVEZfRU5EX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiAjZW5kaWYg
Ly8gRU5BQkxFKFZJREVPKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0
V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCAwYjg3OTZhYjdiNDdkOWY4MTEzYmU5NGVjZGE5
NjNmZTNjMDBiZjVlLi5iNGUzZWQ0MTg1ZDEyNzUxODA5MWUwYzY3YzU0ZjQ2Y2I5ODE3NDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2Vi
S2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApAQCAtNDAsNiAr
NDAsOCBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdUb0ludGVnZXJDb252ZXJzaW9uLmg+CiAKK1dURl9CRUdJTl9FTkZPUkNFX1RIUkVB
RF9TQUZFVFlfQU5BTFlTSVMKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIC8vIE5ldmVy
IHBhdXNlIGRvd25sb2FkIG9mIG1lZGlhIHJlc291cmNlcyBzbWFsbGVyIHRoYW4gMk1pQi4KQEAg
LTExNzksNCArMTE4MSw2IEBAIGJvb2wgd2ViS2l0U3JjV291bGRUYWludE9yaWdpbihXZWJLaXRX
ZWJTcmMqIHNyYywgY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK1dURl9FTkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRp
ZiAvLyBFTkFCTEUoVklERU8pICYmIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5
cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVh
bWVyLmNwcAppbmRleCBkOWUxN2IwYjVlMmE0ZjkyMjFjYzBiM2Y1M2YyZDQxOWI2OTk1M2FiLi4x
ZjhhMDlhOTQ1YmU0OTUwZjkyNTY0NDJlNTIyNDcwMTBiODk2N2Q3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVu
Y3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRv
ckdTdHJlYW1lci5jcHAKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlIDx3dGYvU2NvcGUuaD4K
ICNpbmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJF
QURfU0FGRVRZX0FOQUxZU0lTCisKIHVzaW5nIFdlYkNvcmU6OkNETVByb3h5OwogCiAvLyBJbnN0
YW5jZXMgb2YgdGhpcyBjbGFzcyBhcmUgdGllZCB0byB0aGUgZGVjcnlwdG9yIGxpZmVjeWNsZS4g
VGhleSBjYW4ndCBiZSBhbGl2ZSBhZnRlciB0aGUgZGVjcnlwdG9yIGhhcyBiZWVuIGRlc3Ryb3ll
ZC4KQEAgLTQ3MCw0ICs0NzIsNiBAQCBzdGF0aWMgdm9pZCBzZXRDb250ZXh0KEdzdEVsZW1lbnQq
IGVsZW1lbnQsIEdzdENvbnRleHQqIGNvbnRleHQpCiAgICAgR1NUX0VMRU1FTlRfQ0xBU1MocGFy
ZW50X2NsYXNzKS0+c2V0X2NvbnRleHQoZWxlbWVudCwgY29udGV4dCk7CiB9CiAKK1dURl9FTkRf
RU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAvLyBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5l
LmNwcAppbmRleCAxNmFiOWZlNTI2NzdkMDg3NzFjMGUzNTBlM2I3NjA0MWVmYWFlZGE0Li41NDY4
NTJmNjA2MDg3YjA4ZjljZDhiZmFiZGJmMWY1NTEzMjU0NGZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0Fw
cGVuZFBpcGVsaW5lLmNwcApAQCAtNDQsNiArNDQsOCBAQAogI2luY2x1ZGUgPHd0Zi9nbGliL1J1
bkxvb3BTb3VyY2VQcmlvcml0eS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVu
YXRlTnVtYmVycy5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lT
CisKIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4od2Via2l0X21zZV9kZWJ1Zyk7CiAjZGVmaW5l
IEdTVF9DQVRfREVGQVVMVCB3ZWJraXRfbXNlX2RlYnVnCiAKQEAgLTk1NSw0ICs5NTcsNiBAQCBz
dGF0aWMgR3N0UGFkUHJvYmVSZXR1cm4gbWF0cm9za2FkZW11eEZvcmNlU2VnbWVudFN0YXJ0VG9F
cXVhbFplcm8oR3N0UGFkKiwgR3N0UAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlLgogCitXVEZf
RU5EX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiAjZW5kaWYgLy8gVVNFKEdTVFJF
QU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1l
ci5jcHAKaW5kZXggN2ZjZjQ2YTVjMWU2YWUwZmVmNmE4YTQ5YTNjOTIzZjg5ZDQ4NmNiNS4uNjdh
NzAyMWYwZDZhYzIyNzYzNTQxZDI4ZWE3NmM3OGQxNWZiOWRjZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJj
ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTQyLDYgKzQyLDgg
QEAKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KIAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJ
UworCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAg
LTc5Miw0ICs3OTQsNiBAQCB0ZW1wbGF0ZSA8PiB2b2lkIGRlcmVmR1B0cjxXZWJLaXRNZWRpYVNy
Yz4oV2ViS2l0TWVkaWFTcmMqIHB0cikKIH0KIH0gLy8gbmFtZXNwYWNlIFdURgogCitXVEZfRU5E
X0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiAjZW5kaWYgLy8gVVNFKEdTVFJFQU1F
UikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3
ZGI4NWI3MzcwMGVjYjFjZDVkMzliZjI1NjBhZDlkMzlkYWIyNDQ0Li43MWMyOWUzNDhjZmUyZGI0
ZTNkMzUwY2NlNDllMDVkMzBlN2QyMmM2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMDIgIEFsaWNpYSBC
b3lhIEdhcmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdW0dTdHJlYW1l
cl0gRW5mb3JjZSBjbGFuZyB0aHJlYWQgc2FmZXR5IGFubm90YXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1NzMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmZvcmNlIHRocmVhZCBzYWZldHkg
YW5ub3RhdGlvbnMgaW4gRGF0YU11dGV4LmNwcCB0ZXN0LgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvRGF0YU11dGV4LmNwcDoKKwogMjAyMS0wNS0zMCAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBVSSBwcm9jZXNzIGNy
YXNoZXMgd2hlbiBkZWFsbG9jYXRpbmcgV0tXZWJWaWV3IGluIGEgc2NyaXB0IG1lc3NhZ2UgaGFu
ZGxlciBkdXJpbmcgYW4gYWN0aXZlIHRvdWNoIGV2ZW50CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9EYXRhTXV0ZXguY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvRGF0YU11dGV4LmNwcAppbmRleCBlM2U3ODY0YTEzNmIwOTk0ZmQ2ZGY0YzllMWEy
NWEyMzNlM2E3ODc2Li5iYTJkZjI3OGNlNmE4Yzk1YzdiMWIyZTBhYzcxYTk3Y2M3MzJiNTZkIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EYXRhTXV0ZXguY3BwCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RhdGFNdXRleC5jcHAKQEAgLTMwLDYg
KzMwLDggQEAKICNkZWZpbmUgRU5BQkxFX0RBVEFfTVVURVhfQ0hFQ0tTIDEKICNpbmNsdWRlIDx3
dGYvRGF0YU11dGV4Lmg+CiAKK1dURl9CRUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlT
SVMKKwogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCiBzdHJ1Y3QgTXlTdHJ1Y3R1cmUgewpA
QCAtODQsMyArODYsNSBAQCBURVNUKFdURl9EYXRhTXV0ZXgsIERvdWJsZUxvY2tEZWF0aFRlc3Qp
CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCitXVEZfRU5EX0VORk9S
Q0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430455</attachid>
            <date>2021-06-03 02:56:20 -0700</date>
            <delta_ts>2021-06-03 04:30:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226573-20210603115621.patch</filename>
            <type>text/plain</type>
            <size>16354</size>
            <attacher name="Alicia Boya García">aboya</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFiNWJjN2Y0M2JjNzA3ODM2YTVmM2Yw
NzIyNjRjNTYwNjNiNjA1ZTIuLmM5MTM4ODk5OTMyMWJiYTBiMjJlNzZlOTYwZTkyMWU3ZmI2MTU1
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDYtMDIgIEFsaWNpYSBCb3lhIEdhcmPDrWEg
IDxhYm95YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdW0dTdHJlYW1lcl0gRW5mb3JjZSBj
bGFuZyB0aHJlYWQgc2FmZXR5IGFubm90YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBjbGFuZyB0aHJlYWQgc2FmZXR5IHdhcm5pbmdz
IGluIERhdGFNdXRleCBhbmQgaW50cm9kdWNlcworICAgICAgICBXVEZfQkVHSU5fRU5GT1JDRV9U
SFJFQURfU0FGRVRZX0FOQUxZU0lTIGFuZAorICAgICAgICBXVEZfRU5EX0VORk9SQ0VfVEhSRUFE
X1NBRkVUWV9BTkFMWVNJUyB3aGljaCwgd2hlbiBidWlsZGluZyBpbgorICAgICAgICBkZXZlbG9w
ZXIgbW9kZSwgdHVybnMgdGhyZWFkIHNhZmV0eSB3YXJuaW5ncyBpbnRvIGVycm9ycyBmb3IgdGhl
CisgICAgICAgIGNvdmVyZWQgY29kZSB3aGVuIGJ1aWxkaW5nIGluIGNsYW5nLgorCisgICAgICAg
ICogd3RmL0RhdGFNdXRleC5oOgorICAgICAgICAqIHd0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5o
OgorCiAyMDIxLTA2LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgRHJvcCBXVEY6OlZlY3RvciBvdmVybG9hZHMgdGFraW5nIGluZGV4IGFzIENoZWNrZWQ8c2l6
ZV90PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDYyYmMwZWJhYmFkNGY4YzFkMDIzMjQ3ZjQ2MGM4NmY2MjY3Yzdm
NWQuLjRkNDUyZWE2ZTMzZDg5YTYxZjY2ZDZhMDk3YmRlZjhjMTUxZGY4OTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MiBAQAorMjAyMS0wNi0wMiAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lh
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dURl1bR1N0cmVhbWVyXSBFbmZvcmNlIGNsYW5nIHRo
cmVhZCBzYWZldHkgYW5ub3RhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjU3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2g6CisKKyAgICAgICAgKDEpIEZpbmlzaGVzIHRoZSB3
b3JrIGRvbmUgYnkgQ2hyaXMgRHVtZXogaW4gcjI3ODI0OCwgZml4aW5nIHRoZQorICAgICAgICAg
ICAgd2FybmluZ3Mgd2hlbiB1c2luZyBEYXRhTXV0ZXhMb2NrZXI6OnJ1blVubG9ja2VkKCkgYW5k
CisgICAgICAgICAgICBEYXRhTXV0ZXg6OmVhcmx5VW5sb2NrKCkuCisKKyAgICAgICAgKDIpIEZp
eGVzIGFsbW9zdCBhbGwqIHRocmVhZCBzYWZldHkgd2FybmluZ3MgaW4gcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyLgorCisgICAgICAgICgzKSBJbnRyb2R1Y2VzIFdURl9CRUdJTl9FTkZPUkNF
X1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgYW5kCisgICAgICAgICAgICBXVEZfRU5EX0VORk9SQ0Vf
VEhSRUFEX1NBRkVUWV9BTkFMWVNJUyBtYWNyb3Mgd2hpY2ggdHVybiB0aHJlYWQgc2FmZXR5Cisg
ICAgICAgICAgICB3YXJuaW5ncyBpbnRvIGNvbXBpbGUtdGltZSBlcnJvcnMgd2hlbiBidWlsZGlu
ZyBpbiBjbGFuZy4KKworICAgICAgICAoNCkgTWFrZXMgdXNlIG9mIFdURl9CRUdJTl9FTkZPUkNF
X1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgaW4gYWxtb3N0CisgICAgICAgICAgICBhbGwqIGZpbGVz
IGluIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lciB0aGF0IG1ha2UgdXNlIG9mIGxvY2tzLCBh
bmQKKyAgICAgICAgICAgIGluIHRoZSBEYXRhTXV0ZXggdW5pdCB0ZXN0IHN1aXRlLgorCisgICAg
ICAgICpFeGNlcHRpb25hbGx5LCBJbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwIGhhc24ndCBiZWVu
IG1vZGlmaWVkIHRvIGFkZAorICAgICAgICB0aGUgZW5mb3JjZSBhbm5vdGF0aW9uIGJlY2F1c2Ug
b2YgcmFjZSBjb25kaXRpb24gcHJlc2VudCBkZXRlY3RlZCBieQorICAgICAgICB0aGUgYW5hbHl6
ZXIuIEZpeGluZyB0aGF0IGlzIGEgc2VwYXJhdGUgaXNzdWUgaW4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjQ5NS4KKworICAgICAgICAqIHBsYXRm
b3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1l
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90
aWZpZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0
b3JHU3RyZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9t
c2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwOgorCiAyMDIxLTA2LTAzICBK
dWxpYW4gR29uemFsZXogIDxqdWxpYW5fYV9nb256YWxlekBhcHBsZS5jb20+CiAKICAgICAgICAg
Q3Jhc2ggaW4gSFRNTENvbnZlcnRlcjo6X2FkZExpbmtGb3JFbGVtZW50KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0RhdGFNdXRleC5oIGIvU291cmNlL1dURi93dGYvRGF0YU11dGV4LmgK
aW5kZXggNzdhMWVkNzliMTA5NGMzYjNmYzA0YWI5MWIzMTM0NDNhNTNkM2NiZi4uMzIyN2NhYjBm
YmEyNjE2ZTNhZDBlMWVmMDAxNjY2NzY0NDcyN2YyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvRGF0YU11dGV4LmgKKysrIGIvU291cmNlL1dURi93dGYvRGF0YU11dGV4LmgKQEAgLTcwLDIy
ICs3MCwyNCBAQCBwdWJsaWM6CiAgICAgICAgIG1faXNMb2NrZWQgPSB0cnVlOwogICAgIH0KIAot
ICAgIH5EYXRhTXV0ZXhMb2NrZXIoKSBXVEZfUkVMRUFTRVNfTE9DSyhtX2RhdGFNdXRleC5tX211
dGV4KQorICAgIH5EYXRhTXV0ZXhMb2NrZXIoKSBXVEZfUkVMRUFTRVNfTE9DSygpCiAgICAgewot
ICAgICAgICBpZiAobV9pc0xvY2tlZCkKKyAgICAgICAgaWYgKG1faXNMb2NrZWQpIHsKKyAgICAg
ICAgICAgIGFzc2VydElzSGVsZChtX2RhdGFNdXRleC5tX211dGV4KTsKICAgICAgICAgICAgIG11
dGV4KCkudW5sb2NrKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBUKiBvcGVyYXRvci0+KCkK
ICAgICB7Ci0gICAgICAgIERBVEFfTVVURVhfQ0hFQ0sobXV0ZXgoKS5pc0hlbGQoKSk7CisgICAg
ICAgIERBVEFfTVVURVhfQ0hFQ0sobV9pc0xvY2tlZCAmJiBtdXRleCgpLmlzSGVsZCgpKTsKICAg
ICAgICAgYXNzZXJ0SXNIZWxkKG1fZGF0YU11dGV4Lm1fbXV0ZXgpOwogICAgICAgICByZXR1cm4g
Jm1fZGF0YU11dGV4Lm1fZGF0YTsKICAgICB9CiAKICAgICBUJiBvcGVyYXRvciooKQogICAgIHsK
LSAgICAgICAgREFUQV9NVVRFWF9DSEVDSyhtdXRleCgpLmlzSGVsZCgpKTsKKyAgICAgICAgREFU
QV9NVVRFWF9DSEVDSyhtX2lzTG9ja2VkICYmIG11dGV4KCkuaXNIZWxkKCkpOwogICAgICAgICBh
c3NlcnRJc0hlbGQobV9kYXRhTXV0ZXgubV9tdXRleCk7CiAgICAgICAgIHJldHVybiBtX2RhdGFN
dXRleC5tX2RhdGE7CiAgICAgfQpAQCAtOTUsNiArOTcsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBtX2RhdGFNdXRleC5tX211dGV4OwogICAgIH0KIAorICAgIC8vIE5vdGU6IERhdGFNdXRl
eExvY2tlciBzaG91bGRuJ3QgYmUgdXNlZCBhZnRlciB0aGlzLiBEdWUgdG8gbGltaXRhdGlvbnMg
b2YgY2xhbmcgdGhyZWFkIHNhZmV0eSBhbmFseXNpcyB0aGlzIGNhbid0CisgICAgLy8gY3VycmVu
dGx5IGJlIHN0YXRpY2x5IGNoZWNrZWQgKGFkZGluZyBXVEZfUkVRVUlSRVNfTE9DSygpIHRvIG9w
ZXJhdG9yLT4oKSBkb2Vzbid0IHdvcmsuKQorICAgIC8vIFJ1bi10aW1lIGNoZWNrcyBhcmUgc3Rp
bGwgcGVyZm9ybWVkIGlmIGVuYWJsZWQuCiAgICAgdm9pZCB1bmxvY2tFYXJseSgpIFdURl9SRUxF
QVNFU19MT0NLKG1fZGF0YU11dGV4Lm1fbXV0ZXgpCiAgICAgewogICAgICAgICBEQVRBX01VVEVY
X0NIRUNLKG11dGV4KCkuaXNIZWxkKCkpOwpAQCAtMTA1LDcgKzExMCw3IEBAIHB1YmxpYzoKICAg
ICAvLyBVc2VkIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBicmFjZSBzY29waW5nIHdoZW4gb25seSBzbWFs
bCBwYXJ0cyBvZiB0aGUgY29kZSBuZWVkIHRvIGJlIHJ1biB1bmxvY2tlZC4KICAgICAvLyBQbGVh
c2UgYmUgbWluZGZ1bCB0aGF0IGFjY2Vzc2luZyB0aGUgd3JhcHBlZCBkYXRhIGZyb20gdGhlIGNh
bGxiYWNrIGlzIHVuc2FmZSBhbmQgd2lsbCBmYWlsIG9uIGFzc2VydGlvbnMuCiAgICAgLy8gSXQn
cyBoZWxwZnVsIHRvIHVzZSBhIG1pbmltYWwgbGFtYmRhIGNhcHR1cmUgdG8gYmUgY29uc2Npb3Vz
IG9mIHdoYXQgZGF0YSB5b3UncmUgaGF2aW5nIGFjY2VzcyB0byBpbiB0aGVzZSBzZWN0aW9ucy4K
LSAgICB2b2lkIHJ1blVubG9ja2VkKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGNhbGxiYWNrKQor
ICAgIHZvaWQgcnVuVW5sb2NrZWQoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgY2FsbGJhY2spIFdU
Rl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKICAgICB7CiAgICAgICAgIERBVEFfTVVU
RVhfQ0hFQ0sobXV0ZXgoKS5pc0hlbGQoKSk7CiAgICAgICAgIGFzc2VydElzSGVsZChtX2RhdGFN
dXRleC5tX211dGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZFNhZmV0eUFu
YWx5c2lzLmggYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5oCmluZGV4IDAz
YWMxNWE5MzNlNzBmYzFhMWZmMDQ3OGYwYjk5M2NlMThkNDk3ZWMuLjAzYTQxNWIxMDJmZTQwZDA0
MjcyZWE1MTgyODU0NDg0OWEwNjcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVh
ZFNhZmV0eUFuYWx5c2lzLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkU2FmZXR5QW5hbHlz
aXMuaApAQCAtNTMsMyArNTMsMTcgQEAKICNkZWZpbmUgV1RGX1JFUVVJUkVTX0xPQ0soLi4uKSBX
VEZfVEhSRUFEX0FOTk9UQVRJT05fQVRUUklCVVRFKHJlcXVpcmVzX2NhcGFiaWxpdHkoX19WQV9B
UkdTX18pKQogI2RlZmluZSBXVEZfUkVRVUlSRVNfU0hBUkVEX0xPQ0soLi4uKSBXVEZfVEhSRUFE
X0FOTk9UQVRJT05fQVRUUklCVVRFKHJlcXVpcmVzX3NoYXJlZF9jYXBhYmlsaXR5KF9fVkFfQVJH
U19fKSkKICNkZWZpbmUgV1RGX1JFVFVSTlNfTE9DSyh4KSBXVEZfVEhSRUFEX0FOTk9UQVRJT05f
QVRUUklCVVRFKGxvY2tfcmV0dXJuZWQoeCkpCisKKy8vIFRoZSBmb2xsb3dpbmcgbWFjcm9zIGNh
biBiZSB1c2VkIHRvIGVuYWJsZSB0aHJlYWQgc2FmZXR5IGFuYWx5c2lzIGluIHNwZWNpZmljIGFy
ZWFzIG9mIHRoZSBjb2RlIChub3JtYWxseSBhIHdob2xlCisvLyAuY3BwIGZpbGUgd2hpY2ggaGFz
IGJlZW4gcHJldmlvdXNseSBjaGVja2VkIHRvIGhhdmUgbm8gdGhyZWFkIHNhZmV0eSB3YXJuaW5n
cykgYW5kIG1hcmsgaXNzdWVzIGFzIGJ1aWxkIGVycm9ycyB3aGVuCisvLyBidWlsZGluZyB3aXRo
IGNsYW5nLgorI2lmIENPTVBJTEVSKENMQU5HKSAmJiBFTkFCTEUoREVWRUxPUEVSX01PREUpCisj
ZGVmaW5lIFdURl9CRUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgXAorICAgIF9Q
cmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICBfUHJhZ21hKCJjbGFuZyBkaWFn
bm9zdGljIGVycm9yIFwiLVd0aHJlYWQtc2FmZXR5XCIiKQorI2RlZmluZSBXVEZfRU5EX0VORk9S
Q0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUyBcCisgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3Rp
YyBwb3AiKQorI2Vsc2UKKyNkZWZpbmUgV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9B
TkFMWVNJUworI2RlZmluZSBXVEZfRU5EX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BYm9ydGFibGVUYXNr
UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCmlu
ZGV4IGU0ZmRhODk3YjkzZjI5ODA3ZmMyOTdkNTAwNmIyZWI3Y2M3YmE4N2EuLmI2ZGYzYjg1Y2Ey
YzZjZWEzZWJiMWY4YjVmM2UwNDk5OGFkNjExNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSA8d3Rm
L1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKK1dURl9CRUdJTl9F
TkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
KiBBYm9ydGFibGVUYXNrUXVldWUgaXMgYSBoaWdoLWxldmVsIHN5bmNocm9uaXphdGlvbiBvYmpl
Y3QgZm9yIGNhc2VzIHdoZXJlIGFib3J0YWJsZSB3b3JrIGlzIGRvbmUgaW4KQEAgLTE1Niw2ICsx
NTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2Fib3J0ZWRPclJlc3BvbnNlU2V0Lm5vdGlm
eUFsbCgpOwogICAgICAgICB9KTsKICAgICAgICAgbV9hYm9ydGVkT3JSZXNwb25zZVNldC53YWl0
KG1fbG9jaywgW3RoaXMsICZyZXNwb25zZV0oKSB7CisgICAgICAgICAgICBhc3NlcnRJc0hlbGQo
bV9sb2NrKTsKICAgICAgICAgICAgIHJldHVybiBtX2Fib3J0aW5nIHx8IHJlc3BvbnNlOwogICAg
ICAgICB9KTsKICAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwpAQCAtMjM4LDMgKzI0MSw1IEBAIHBy
aXZhdGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1dURl9FTkRfRU5GT1JDRV9U
SFJFQURfU0FGRVRZX0FOQUxZU0lTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZWE4ZTEwNzJhOTcxZjcxMjE3MTcwYjYxM2U3
YWU3NjhiYWVkZmVjNi4uNTdjM2VjZGQ2YzFiMmZjNjQzMjJiYWY0NWM5YmQ3YTU4NWU4NDdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0lu
YmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVy
LmNwcApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAjaW5jbHVk
ZSA8Z3N0L2dzdC5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lT
CisKIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4od2Via2l0X21lZGlhX3BsYXllcl9kZWJ1Zyk7
CiAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCB3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVnCiAKQEAg
LTE0NCw0ICsxNDYsNiBAQCB2b2lkIEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI6Om5v
dGlmeVRyYWNrT2ZTdHJlYW1DaGFuZ2VkKCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitX
VEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAvLyBFTkFC
TEUoVklERU8pICYmIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRl
eHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA2OTEyMjY0YzBmYjkzMWU0YjQwYzdhMGZk
OGY1NjFhOGExNDNjNWJkLi4wMjM5ODViZjMxZjA4YmRjYzk5MWQyMGY5YWJjYTJiN2ZhMDczYzMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVy
LmgKQEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5vdGlmeVRyYWNrT2ZTdHJl
YW1DaGFuZ2VkKCk7CiAKICAgICBndWxvbmcgbV9ldmVudFByb2JlOwotICAgIFZlY3RvcjxHUmVm
UHRyPEdzdFNhbXBsZT4+IG1fcGVuZGluZ1NhbXBsZXM7CisgICAgVmVjdG9yPEdSZWZQdHI8R3N0
U2FtcGxlPj4gbV9wZW5kaW5nU2FtcGxlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc2FtcGxlTXV0
ZXgpOwogICAgIFN0cmluZyBtX3N0cmVhbUlkOwogICAgIEtpbmQgbV9raW5kOwogICAgIExvY2sg
bV9zYW1wbGVNdXRleDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaAppbmRleCA0NzUzZWQ5
ZTIzMmIwMjdlODhmZjJmN2IxMmQxYzYyYTkyNzQxNGEwLi5lYTk4OWI4NmI1OGNmM2JlNjQ3NjM3
OWY3Mzc3MmE3OWVhMzhhNWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWFpblRocmVhZE5vdGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01haW5UaHJlYWROb3RpZmllci5oCkBAIC0y
NSw2ICsyNSw4IEBACiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9B
TkFMWVNJUworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpA
QCAtMTI1LDkgKzEyNywxMCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIExvY2sgbV9wZW5kaW5n
Tm90aWZpY2F0aW9uc0xvY2s7Ci0gICAgdW5zaWduZWQgbV9wZW5kaW5nTm90aWZpY2F0aW9ucyB7
IDAgfTsKKyAgICB1bnNpZ25lZCBtX3BlbmRpbmdOb3RpZmljYXRpb25zIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9wZW5kaW5nTm90aWZpY2F0aW9uc0xvY2spIHsgMCB9OwogICAgIEF0b21pYzxib29s
PiBtX2lzVmFsaWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1dURl9FTkRfRU5G
T1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGM5NTc3YjdhMWE5NzNiYWM0ODYzNjllZWEyNDI0
MTExOTEyYmNmNmEuLmFhYmE1NGZhN2U2YWEyYmQyZDE1ZmM0ODk4YWYwMjg4MzA1MWUwNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0x
MjQsNiArMTI0LDggQEAKICNpbmNsdWRlIDx3cGUvZXh0ZW5zaW9ucy92aWRlby1wbGFuZS1kaXNw
bGF5LWRtYWJ1Zi5oPgogI2VuZGlmCiAKK1dURl9CRUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZFVFlf
QU5BTFlTSVMKKwogR1NUX0RFQlVHX0NBVEVHT1JZKHdlYmtpdF9tZWRpYV9wbGF5ZXJfZGVidWcp
OwogI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0X21lZGlhX3BsYXllcl9kZWJ1ZwogCkBA
IC0zNzcyLDQgKzM3NzQsNiBAQCBXVEZMb2dDaGFubmVsJiBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OmxvZ0NoYW5uZWwoKSBjb25zdAogCiB9CiAKK1dURl9FTkRfRU5GT1JDRV9USFJFQURf
U0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJl
YW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCBkMDE0NzNkNzhjMzM1OTZlODVmNmFlZmU1ODVmZmU2
MzhjOTM1ZDdiLi41OTkwNzM3MGQyNTBiMjgzYzI4ZDk1ZjIxNzI3YzQ3NzlkMjk1YzBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9T
aW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMzksNiArMzksOCBAQAogI2luY2x1
ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KIAorV1RG
X0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogLy8gQ0FJUk9fRk9STUFUX1JHQjI0IHVzZWQgdG8gcmVuZGVyIHRoZSB2aWRl
byBidWZmZXJzIGlzIGxpdHRsZS9iaWcgZW5kaWFuIGRlcGVuZGFudC4KQEAgLTMyMCw0ICszMjIs
NiBAQCBHc3RFbGVtZW50KiB3ZWJraXRWaWRlb1NpbmtOZXcoKQogICAgIHJldHVybiBHU1RfRUxF
TUVOVChnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfVklERU9fU0lOSywgbnVsbHB0cikpOwogfQog
CitXVEZfRU5EX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiAjZW5kaWYgLy8gRU5B
QkxFKFZJREVPKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291
cmNlR1N0cmVhbWVyLmNwcAppbmRleCAwYjg3OTZhYjdiNDdkOWY4MTEzYmU5NGVjZGE5NjNmZTNj
MDBiZjVlLi5iNGUzZWQ0MTg1ZDEyNzUxODA5MWUwYzY3YzU0ZjQ2Y2I5ODE3NDIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2Vi
U291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApAQCAtNDAsNiArNDAsOCBA
QAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdUb0ludGVnZXJDb252ZXJzaW9uLmg+CiAKK1dURl9CRUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZF
VFlfQU5BTFlTSVMKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIC8vIE5ldmVyIHBhdXNl
IGRvd25sb2FkIG9mIG1lZGlhIHJlc291cmNlcyBzbWFsbGVyIHRoYW4gMk1pQi4KQEAgLTExNzks
NCArMTE4MSw2IEBAIGJvb2wgd2ViS2l0U3JjV291bGRUYWludE9yaWdpbihXZWJLaXRXZWJTcmMq
IHNyYywgY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK1dURl9FTkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAvLyBF
TkFCTEUoVklERU8pICYmIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25E
ZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNw
cAppbmRleCBkOWUxN2IwYjVlMmE0ZjkyMjFjYzBiM2Y1M2YyZDQxOWI2OTk1M2FiLi4xZjhhMDlh
OTQ1YmU0OTUwZjkyNTY0NDJlNTIyNDcwMTBiODk2N2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRp
b25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJl
YW1lci5jcHAKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KICNpbmNs
dWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FG
RVRZX0FOQUxZU0lTCisKIHVzaW5nIFdlYkNvcmU6OkNETVByb3h5OwogCiAvLyBJbnN0YW5jZXMg
b2YgdGhpcyBjbGFzcyBhcmUgdGllZCB0byB0aGUgZGVjcnlwdG9yIGxpZmVjeWNsZS4gVGhleSBj
YW4ndCBiZSBhbGl2ZSBhZnRlciB0aGUgZGVjcnlwdG9yIGhhcyBiZWVuIGRlc3Ryb3llZC4KQEAg
LTQ3MCw0ICs0NzIsNiBAQCBzdGF0aWMgdm9pZCBzZXRDb250ZXh0KEdzdEVsZW1lbnQqIGVsZW1l
bnQsIEdzdENvbnRleHQqIGNvbnRleHQpCiAgICAgR1NUX0VMRU1FTlRfQ0xBU1MocGFyZW50X2Ns
YXNzKS0+c2V0X2NvbnRleHQoZWxlbWVudCwgY29udGV4dCk7CiB9CiAKK1dURl9FTkRfRU5GT1JD
RV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01F
RElBKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcApp
bmRleCAxNmFiOWZlNTI2NzdkMDg3NzFjMGUzNTBlM2I3NjA0MWVmYWFlZGE0Li41NDY4NTJmNjA2
MDg3YjA4ZjljZDhiZmFiZGJmMWY1NTEzMjU0NGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBp
cGVsaW5lLmNwcApAQCAtNDQsNiArNDQsOCBAQAogI2luY2x1ZGUgPHd0Zi9nbGliL1J1bkxvb3BT
b3VyY2VQcmlvcml0eS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVt
YmVycy5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKIEdT
VF9ERUJVR19DQVRFR09SWV9FWFRFUk4od2Via2l0X21zZV9kZWJ1Zyk7CiAjZGVmaW5lIEdTVF9D
QVRfREVGQVVMVCB3ZWJraXRfbXNlX2RlYnVnCiAKQEAgLTk1NSw0ICs5NTcsNiBAQCBzdGF0aWMg
R3N0UGFkUHJvYmVSZXR1cm4gbWF0cm9za2FkZW11eEZvcmNlU2VnbWVudFN0YXJ0VG9FcXVhbFpl
cm8oR3N0UGFkKiwgR3N0UAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlLgogCitXVEZfRU5EX0VO
Rk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiAjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9t
c2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAK
aW5kZXggN2ZjZjQ2YTVjMWU2YWUwZmVmNmE4YTQ5YTNjOTIzZjg5ZDQ4NmNiNS4uNjdhNzAyMWYw
ZDZhYzIyNzYzNTQxZDI4ZWE3NmM3OGQxNWZiOWRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTQyLDYgKzQyLDggQEAKICNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiB1
c2luZyBuYW1lc3BhY2UgV1RGOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTc5Miw0
ICs3OTQsNiBAQCB0ZW1wbGF0ZSA8PiB2b2lkIGRlcmVmR1B0cjxXZWJLaXRNZWRpYVNyYz4oV2Vi
S2l0TWVkaWFTcmMqIHB0cikKIH0KIH0gLy8gbmFtZXNwYWNlIFdURgogCitXVEZfRU5EX0VORk9S
Q0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiAjZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxODYyZDFi
ODBmMzZjYmZhZTlmOGY4NGU2MTMyOTlmMjgxMTBhMTIzLi44YmI3N2E5ZjdjYjVmOTg2NTJiMjcx
NjM2ZjZhN2UzYmU2MzMyMmEwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMDIgIEFsaWNpYSBCb3lhIEdh
cmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdW0dTdHJlYW1lcl0gRW5m
b3JjZSBjbGFuZyB0aHJlYWQgc2FmZXR5IGFubm90YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1NzMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmZvcmNlIHRocmVhZCBzYWZldHkgYW5ub3Rh
dGlvbnMgaW4gRGF0YU11dGV4LmNwcCB0ZXN0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvRGF0YU11dGV4LmNwcDoKKwogMjAyMS0wNi0wMiAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFNwbGl0IEZpbGxJbmxpbmVQYXRoL1N0cm9rZUlubGluZVBh
dGgKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0RhdGFNdXRleC5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EYXRhTXV0ZXguY3BwCmluZGV4IGUz
ZTc4NjRhMTM2YjA5OTRmZDZkZjRjOWUxYTI1YTIzM2UzYTc4NzYuLmJhMmRmMjc4Y2U2YThjOTVj
N2IxYjJlMGFjNzFhOTdjYzczMmI1NmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL0RhdGFNdXRleC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvRGF0YU11dGV4LmNwcApAQCAtMzAsNiArMzAsOCBAQAogI2RlZmluZSBFTkFCTEVfREFUQV9N
VVRFWF9DSEVDS1MgMQogI2luY2x1ZGUgPHd0Zi9EYXRhTXV0ZXguaD4KIAorV1RGX0JFR0lOX0VO
Rk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7
CiAKIHN0cnVjdCBNeVN0cnVjdHVyZSB7CkBAIC04NCwzICs4Niw1IEBAIFRFU1QoV1RGX0RhdGFN
dXRleCwgRG91YmxlTG9ja0RlYXRoVGVzdCkKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCisKK1dURl9FTkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430459</attachid>
            <date>2021-06-03 04:30:13 -0700</date>
            <delta_ts>2021-06-07 01:38:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226573-20210603133013.patch</filename>
            <type>text/plain</type>
            <size>16560</size>
            <attacher name="Alicia Boya García">aboya</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFiNWJjN2Y0M2JjNzA3ODM2YTVmM2Yw
NzIyNjRjNTYwNjNiNjA1ZTIuLmM5MTM4ODk5OTMyMWJiYTBiMjJlNzZlOTYwZTkyMWU3ZmI2MTU1
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDYtMDIgIEFsaWNpYSBCb3lhIEdhcmPDrWEg
IDxhYm95YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdW0dTdHJlYW1lcl0gRW5mb3JjZSBj
bGFuZyB0aHJlYWQgc2FmZXR5IGFubm90YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBjbGFuZyB0aHJlYWQgc2FmZXR5IHdhcm5pbmdz
IGluIERhdGFNdXRleCBhbmQgaW50cm9kdWNlcworICAgICAgICBXVEZfQkVHSU5fRU5GT1JDRV9U
SFJFQURfU0FGRVRZX0FOQUxZU0lTIGFuZAorICAgICAgICBXVEZfRU5EX0VORk9SQ0VfVEhSRUFE
X1NBRkVUWV9BTkFMWVNJUyB3aGljaCwgd2hlbiBidWlsZGluZyBpbgorICAgICAgICBkZXZlbG9w
ZXIgbW9kZSwgdHVybnMgdGhyZWFkIHNhZmV0eSB3YXJuaW5ncyBpbnRvIGVycm9ycyBmb3IgdGhl
CisgICAgICAgIGNvdmVyZWQgY29kZSB3aGVuIGJ1aWxkaW5nIGluIGNsYW5nLgorCisgICAgICAg
ICogd3RmL0RhdGFNdXRleC5oOgorICAgICAgICAqIHd0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5o
OgorCiAyMDIxLTA2LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgRHJvcCBXVEY6OlZlY3RvciBvdmVybG9hZHMgdGFraW5nIGluZGV4IGFzIENoZWNrZWQ8c2l6
ZV90PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDYyYmMwZWJhYmFkNGY4YzFkMDIzMjQ3ZjQ2MGM4NmY2MjY3Yzdm
NWQuLjRkNDUyZWE2ZTMzZDg5YTYxZjY2ZDZhMDk3YmRlZjhjMTUxZGY4OTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MiBAQAorMjAyMS0wNi0wMiAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lh
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dURl1bR1N0cmVhbWVyXSBFbmZvcmNlIGNsYW5nIHRo
cmVhZCBzYWZldHkgYW5ub3RhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjU3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2g6CisKKyAgICAgICAgKDEpIEZpbmlzaGVzIHRoZSB3
b3JrIGRvbmUgYnkgQ2hyaXMgRHVtZXogaW4gcjI3ODI0OCwgZml4aW5nIHRoZQorICAgICAgICAg
ICAgd2FybmluZ3Mgd2hlbiB1c2luZyBEYXRhTXV0ZXhMb2NrZXI6OnJ1blVubG9ja2VkKCkgYW5k
CisgICAgICAgICAgICBEYXRhTXV0ZXg6OmVhcmx5VW5sb2NrKCkuCisKKyAgICAgICAgKDIpIEZp
eGVzIGFsbW9zdCBhbGwqIHRocmVhZCBzYWZldHkgd2FybmluZ3MgaW4gcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyLgorCisgICAgICAgICgzKSBJbnRyb2R1Y2VzIFdURl9CRUdJTl9FTkZPUkNF
X1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgYW5kCisgICAgICAgICAgICBXVEZfRU5EX0VORk9SQ0Vf
VEhSRUFEX1NBRkVUWV9BTkFMWVNJUyBtYWNyb3Mgd2hpY2ggdHVybiB0aHJlYWQgc2FmZXR5Cisg
ICAgICAgICAgICB3YXJuaW5ncyBpbnRvIGNvbXBpbGUtdGltZSBlcnJvcnMgd2hlbiBidWlsZGlu
ZyBpbiBjbGFuZy4KKworICAgICAgICAoNCkgTWFrZXMgdXNlIG9mIFdURl9CRUdJTl9FTkZPUkNF
X1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgaW4gYWxtb3N0CisgICAgICAgICAgICBhbGwqIGZpbGVz
IGluIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lciB0aGF0IG1ha2UgdXNlIG9mIGxvY2tzLCBh
bmQKKyAgICAgICAgICAgIGluIHRoZSBEYXRhTXV0ZXggdW5pdCB0ZXN0IHN1aXRlLgorCisgICAg
ICAgICpFeGNlcHRpb25hbGx5LCBJbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwIGhhc24ndCBiZWVu
IG1vZGlmaWVkIHRvIGFkZAorICAgICAgICB0aGUgZW5mb3JjZSBhbm5vdGF0aW9uIGJlY2F1c2Ug
b2YgcmFjZSBjb25kaXRpb24gcHJlc2VudCBkZXRlY3RlZCBieQorICAgICAgICB0aGUgYW5hbHl6
ZXIuIEZpeGluZyB0aGF0IGlzIGEgc2VwYXJhdGUgaXNzdWUgaW4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjQ5NS4KKworICAgICAgICAqIHBsYXRm
b3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1l
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90
aWZpZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0
b3JHU3RyZWFtZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9t
c2UvQXBwZW5kUGlwZWxpbmUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwOgorCiAyMDIxLTA2LTAzICBK
dWxpYW4gR29uemFsZXogIDxqdWxpYW5fYV9nb256YWxlekBhcHBsZS5jb20+CiAKICAgICAgICAg
Q3Jhc2ggaW4gSFRNTENvbnZlcnRlcjo6X2FkZExpbmtGb3JFbGVtZW50KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0RhdGFNdXRleC5oIGIvU291cmNlL1dURi93dGYvRGF0YU11dGV4LmgK
aW5kZXggNzdhMWVkNzliMTA5NGMzYjNmYzA0YWI5MWIzMTM0NDNhNTNkM2NiZi4uYzZkMjhjZmVm
MWI0YTAyNDFkNmZkNjlhZDNhODI3OGRhNTU4YzQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvRGF0YU11dGV4LmgKKysrIGIvU291cmNlL1dURi93dGYvRGF0YU11dGV4LmgKQEAgLTY1LDI3
ICs2NSwyOCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgRGF0YU11dGV4TG9ja2VyKERhdGFNdXRl
eDxUPiYgZGF0YU11dGV4KSBXVEZfQUNRVUlSRVNfTE9DSyhtX2RhdGFNdXRleC5tX211dGV4KQog
ICAgICAgICA6IG1fZGF0YU11dGV4KGRhdGFNdXRleCkKICAgICB7Ci0gICAgICAgIERBVEFfTVVU
RVhfQ0hFQ0soIW11dGV4KCkuaXNIZWxkKCkpOwogICAgICAgICBtdXRleCgpLmxvY2soKTsKICAg
ICAgICAgbV9pc0xvY2tlZCA9IHRydWU7CiAgICAgfQogCi0gICAgfkRhdGFNdXRleExvY2tlcigp
IFdURl9SRUxFQVNFU19MT0NLKG1fZGF0YU11dGV4Lm1fbXV0ZXgpCisgICAgfkRhdGFNdXRleExv
Y2tlcigpIFdURl9SRUxFQVNFU19MT0NLKCkKICAgICB7Ci0gICAgICAgIGlmIChtX2lzTG9ja2Vk
KQorICAgICAgICBpZiAobV9pc0xvY2tlZCkgeworICAgICAgICAgICAgYXNzZXJ0SXNIZWxkKG1f
ZGF0YU11dGV4Lm1fbXV0ZXgpOwogICAgICAgICAgICAgbXV0ZXgoKS51bmxvY2soKTsKKyAgICAg
ICAgfQogICAgIH0KIAogICAgIFQqIG9wZXJhdG9yLT4oKQogICAgIHsKLSAgICAgICAgREFUQV9N
VVRFWF9DSEVDSyhtdXRleCgpLmlzSGVsZCgpKTsKKyAgICAgICAgREFUQV9NVVRFWF9DSEVDSyht
X2lzTG9ja2VkICYmIG11dGV4KCkuaXNIZWxkKCkpOwogICAgICAgICBhc3NlcnRJc0hlbGQobV9k
YXRhTXV0ZXgubV9tdXRleCk7CiAgICAgICAgIHJldHVybiAmbV9kYXRhTXV0ZXgubV9kYXRhOwog
ICAgIH0KIAogICAgIFQmIG9wZXJhdG9yKigpCiAgICAgewotICAgICAgICBEQVRBX01VVEVYX0NI
RUNLKG11dGV4KCkuaXNIZWxkKCkpOworICAgICAgICBEQVRBX01VVEVYX0NIRUNLKG1faXNMb2Nr
ZWQgJiYgbXV0ZXgoKS5pc0hlbGQoKSk7CiAgICAgICAgIGFzc2VydElzSGVsZChtX2RhdGFNdXRl
eC5tX211dGV4KTsKICAgICAgICAgcmV0dXJuIG1fZGF0YU11dGV4Lm1fZGF0YTsKICAgICB9CkBA
IC05NSw2ICs5Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fZGF0YU11dGV4Lm1fbXV0
ZXg7CiAgICAgfQogCisgICAgLy8gTm90ZTogRGF0YU11dGV4TG9ja2VyIHNob3VsZG4ndCBiZSB1
c2VkIGFmdGVyIHRoaXMuIER1ZSB0byBsaW1pdGF0aW9ucyBvZiBjbGFuZyB0aHJlYWQgc2FmZXR5
IGFuYWx5c2lzIHRoaXMgY2FuJ3QKKyAgICAvLyBjdXJyZW50bHkgYmUgc3RhdGljbHkgY2hlY2tl
ZCAoYWRkaW5nIFdURl9SRVFVSVJFU19MT0NLKCkgdG8gb3BlcmF0b3ItPigpIGRvZXNuJ3Qgd29y
ay4pCisgICAgLy8gUnVuLXRpbWUgY2hlY2tzIGFyZSBzdGlsbCBwZXJmb3JtZWQgaWYgZW5hYmxl
ZC4KICAgICB2b2lkIHVubG9ja0Vhcmx5KCkgV1RGX1JFTEVBU0VTX0xPQ0sobV9kYXRhTXV0ZXgu
bV9tdXRleCkKICAgICB7CiAgICAgICAgIERBVEFfTVVURVhfQ0hFQ0sobXV0ZXgoKS5pc0hlbGQo
KSk7CkBAIC0xMDUsNyArMTA5LDcgQEAgcHVibGljOgogICAgIC8vIFVzZWQgdG8gYXZvaWQgZXhj
ZXNzaXZlIGJyYWNlIHNjb3Bpbmcgd2hlbiBvbmx5IHNtYWxsIHBhcnRzIG9mIHRoZSBjb2RlIG5l
ZWQgdG8gYmUgcnVuIHVubG9ja2VkLgogICAgIC8vIFBsZWFzZSBiZSBtaW5kZnVsIHRoYXQgYWNj
ZXNzaW5nIHRoZSB3cmFwcGVkIGRhdGEgZnJvbSB0aGUgY2FsbGJhY2sgaXMgdW5zYWZlIGFuZCB3
aWxsIGZhaWwgb24gYXNzZXJ0aW9ucy4KICAgICAvLyBJdCdzIGhlbHBmdWwgdG8gdXNlIGEgbWlu
aW1hbCBsYW1iZGEgY2FwdHVyZSB0byBiZSBjb25zY2lvdXMgb2Ygd2hhdCBkYXRhIHlvdSdyZSBo
YXZpbmcgYWNjZXNzIHRvIGluIHRoZXNlIHNlY3Rpb25zLgotICAgIHZvaWQgcnVuVW5sb2NrZWQo
Y29uc3QgRnVuY3Rpb248dm9pZCgpPiYgY2FsbGJhY2spCisgICAgdm9pZCBydW5VbmxvY2tlZChj
b25zdCBGdW5jdGlvbjx2b2lkKCk+JiBjYWxsYmFjaykgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVU
WV9BTkFMWVNJUwogICAgIHsKICAgICAgICAgREFUQV9NVVRFWF9DSEVDSyhtdXRleCgpLmlzSGVs
ZCgpKTsKICAgICAgICAgYXNzZXJ0SXNIZWxkKG1fZGF0YU11dGV4Lm1fbXV0ZXgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkU2FmZXR5QW5hbHlzaXMuaCBiL1NvdXJjZS9XVEYv
d3RmL1RocmVhZFNhZmV0eUFuYWx5c2lzLmgKaW5kZXggMDNhYzE1YTkzM2U3MGZjMWExZmYwNDc4
ZjBiOTkzY2UxOGQ0OTdlYy4uMDNhNDE1YjEwMmZlNDBkMDQyNzJlYTUxODI4NTQ0ODQ5YTA2NzBk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkU2FmZXR5QW5hbHlzaXMuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRTYWZldHlBbmFseXNpcy5oCkBAIC01MywzICs1MywxNyBA
QAogI2RlZmluZSBXVEZfUkVRVUlSRVNfTE9DSyguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9B
VFRSSUJVVEUocmVxdWlyZXNfY2FwYWJpbGl0eShfX1ZBX0FSR1NfXykpCiAjZGVmaW5lIFdURl9S
RVFVSVJFU19TSEFSRURfTE9DSyguLi4pIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUo
cmVxdWlyZXNfc2hhcmVkX2NhcGFiaWxpdHkoX19WQV9BUkdTX18pKQogI2RlZmluZSBXVEZfUkVU
VVJOU19MT0NLKHgpIFdURl9USFJFQURfQU5OT1RBVElPTl9BVFRSSUJVVEUobG9ja19yZXR1cm5l
ZCh4KSkKKworLy8gVGhlIGZvbGxvd2luZyBtYWNyb3MgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIHRo
cmVhZCBzYWZldHkgYW5hbHlzaXMgaW4gc3BlY2lmaWMgYXJlYXMgb2YgdGhlIGNvZGUgKG5vcm1h
bGx5IGEgd2hvbGUKKy8vIC5jcHAgZmlsZSB3aGljaCBoYXMgYmVlbiBwcmV2aW91c2x5IGNoZWNr
ZWQgdG8gaGF2ZSBubyB0aHJlYWQgc2FmZXR5IHdhcm5pbmdzKSBhbmQgbWFyayBpc3N1ZXMgYXMg
YnVpbGQgZXJyb3JzIHdoZW4KKy8vIGJ1aWxkaW5nIHdpdGggY2xhbmcuCisjaWYgQ09NUElMRVIo
Q0xBTkcpICYmIEVOQUJMRShERVZFTE9QRVJfTU9ERSkKKyNkZWZpbmUgV1RGX0JFR0lOX0VORk9S
Q0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUyBcCisgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3Rp
YyBwdXNoIikgXAorICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgZXJyb3IgXCItV3RocmVh
ZC1zYWZldHlcIiIpCisjZGVmaW5lIFdURl9FTkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZ
U0lTIFwKKyAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxzZQorI2RlZmlu
ZSBXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisjZGVmaW5lIFdURl9F
TkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQWJvcnRhYmxlVGFza1F1ZXVlLmgKaW5kZXggZTRmZGE4OTdiOTNmMjk4MDdm
YzI5N2Q1MDA2YjJlYjdjYzdiYTg3YS4uYjZkZjNiODVjYTJjNmNlYTNlYmIxZjhiNWYzZTA0OTk4
YWQ2MTE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQWJvcnRhYmxlVGFz
a1F1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQWJvcnRhYmxlVGFza1F1ZXVl
LmgKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUg
PHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9B
TkFMWVNJUworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8qIEFib3J0YWJsZVRhc2tRdWV1ZSBp
cyBhIGhpZ2gtbGV2ZWwgc3luY2hyb25pemF0aW9uIG9iamVjdCBmb3IgY2FzZXMgd2hlcmUgYWJv
cnRhYmxlIHdvcmsgaXMgZG9uZSBpbgpAQCAtMTU2LDYgKzE1OCw3IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgIG1fYWJvcnRlZE9yUmVzcG9uc2VTZXQubm90aWZ5QWxsKCk7CiAgICAgICAgIH0pOwog
ICAgICAgICBtX2Fib3J0ZWRPclJlc3BvbnNlU2V0LndhaXQobV9sb2NrLCBbdGhpcywgJnJlc3Bv
bnNlXSgpIHsKKyAgICAgICAgICAgIGFzc2VydElzSGVsZChtX2xvY2spOwogICAgICAgICAgICAg
cmV0dXJuIG1fYWJvcnRpbmcgfHwgcmVzcG9uc2U7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1
cm4gcmVzcG9uc2U7CkBAIC0yMzgsMyArMjQxLDUgQEAgcHJpdmF0ZToKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworV1RGX0VORF9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9J
bmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNw
cAppbmRleCBlYThlMTA3MmE5NzFmNzEyMTcxNzBiNjEzZTdhZTc2OGJhZWRmZWM2Li41N2MzZWNk
ZDZjMWIyZmM2NDMyMmJhZjQ1YzliZDdhNTg1ZTg0N2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdT
dHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0zNCw2ICszNCw4IEBA
CiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlIDxnc3QvZ3N0Lmg+CiAKK1dURl9C
RUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKKwogR1NUX0RFQlVHX0NBVEVHT1JZ
X0VYVEVSTih3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVnKTsKICNkZWZpbmUgR1NUX0NBVF9ERUZB
VUxUIHdlYmtpdF9tZWRpYV9wbGF5ZXJfZGVidWcKIApAQCAtMTQ0LDQgKzE0Niw2IEBAIHZvaWQg
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6bm90aWZ5VHJhY2tPZlN0cmVhbUNoYW5n
ZWQoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1dURl9CRUdJTl9FTkZPUkNFX1RIUkVB
RF9TQUZFVFlfQU5BTFlTSVMKKwogI2VuZGlmIC8vIEVOQUJMRShWSURFTykgJiYgVVNFKEdTVFJF
QU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1l
ci5oCmluZGV4IDY5MTIyNjRjMGZiOTMxZTRiNDBjN2EwZmQ4ZjU2MWE4YTE0M2M1YmQuLjAyMzk4
NWJmMzFmMDhiZGNjOTkxZDIwZjlhYmNhMmI3ZmEwNzNjMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRl
R1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaApAQCAtNzEsNyArNzEsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgbm90aWZ5VHJhY2tPZlN0cmVhbUNoYW5nZWQoKTsKIAogICAgIGd1
bG9uZyBtX2V2ZW50UHJvYmU7Ci0gICAgVmVjdG9yPEdSZWZQdHI8R3N0U2FtcGxlPj4gbV9wZW5k
aW5nU2FtcGxlczsKKyAgICBWZWN0b3I8R1JlZlB0cjxHc3RTYW1wbGU+PiBtX3BlbmRpbmdTYW1w
bGVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zYW1wbGVNdXRleCk7CiAgICAgU3RyaW5nIG1fc3Ry
ZWFtSWQ7CiAgICAgS2luZCBtX2tpbmQ7CiAgICAgTG9jayBtX3NhbXBsZU11dGV4OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01haW5UaHJl
YWROb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01haW5UaHJlYWROb3RpZmllci5oCmluZGV4IDQ3NTNlZDllMjMyYjAyN2U4OGZmMmY3YjEyZDFj
NjJhOTI3NDE0YTAuLmVhOTg5Yjg2YjU4Y2YzYmU2NDc2Mzc5ZjczNzcyYTc5ZWEzOGE1ZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWlu
VGhyZWFkTm90aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWFpblRocmVhZE5vdGlmaWVyLmgKQEAgLTI1LDYgKzI1LDggQEAKICNpbmNsdWRl
IDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgog
CitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CkBAIC0xMjUsOSArMTI3LDEwIEBAIHBy
aXZhdGU6CiAgICAgfQogCiAgICAgTG9jayBtX3BlbmRpbmdOb3RpZmljYXRpb25zTG9jazsKLSAg
ICB1bnNpZ25lZCBtX3BlbmRpbmdOb3RpZmljYXRpb25zIHsgMCB9OworICAgIHVuc2lnbmVkIG1f
cGVuZGluZ05vdGlmaWNhdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3BlbmRpbmdOb3RpZmlj
YXRpb25zTG9jaykgeyAwIH07CiAgICAgQXRvbWljPGJvb2w+IG1faXNWYWxpZDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAorV1RGX0VORF9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5B
TFlTSVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
aW5kZXggYzk1NzdiN2ExYTk3M2JhYzQ4NjM2OWVlYTI0MjQxMTE5MTJiY2Y2YS4uYWFiYTU0ZmE3
ZTZhYTJiZDJkMTVmYzQ4OThhZjAyODgzMDUxZTA2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTEyNCw2ICsxMjQsOCBAQAogI2luY2x1
ZGUgPHdwZS9leHRlbnNpb25zL3ZpZGVvLXBsYW5lLWRpc3BsYXktZG1hYnVmLmg+CiAjZW5kaWYK
IAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiBHU1RfREVCVUdf
Q0FURUdPUlkod2Via2l0X21lZGlhX3BsYXllcl9kZWJ1Zyk7CiAjZGVmaW5lIEdTVF9DQVRfREVG
QVVMVCB3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVnCiAKQEAgLTM3NzIsNCArMzc3NCw2IEBAIFdU
RkxvZ0NoYW5uZWwmIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9nQ2hhbm5lbCgpIGNv
bnN0CiAKIH0KIAorV1RGX0VORF9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKKwogI2Vu
ZGlmIC8vIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCmlu
ZGV4IGQwMTQ3M2Q3OGMzMzU5NmU4NWY2YWVmZTU4NWZmZTYzOGM5MzVkN2IuLjU5OTA3MzcwZDI1
MGIyODNjMjhkOTVmMjE3MjdjNDc3OWQyOTVjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3Ry
ZWFtZXIuY3BwCkBAIC0zOSw2ICszOSw4IEBACiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNp
bmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURf
U0FGRVRZX0FOQUxZU0lTCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAvLyBDQUlST19G
T1JNQVRfUkdCMjQgdXNlZCB0byByZW5kZXIgdGhlIHZpZGVvIGJ1ZmZlcnMgaXMgbGl0dGxlL2Jp
ZyBlbmRpYW4gZGVwZW5kYW50LgpAQCAtMzIwLDQgKzMyMiw2IEBAIEdzdEVsZW1lbnQqIHdlYmtp
dFZpZGVvU2lua05ldygpCiAgICAgcmV0dXJuIEdTVF9FTEVNRU5UKGdfb2JqZWN0X25ldyhXRUJL
SVRfVFlQRV9WSURFT19TSU5LLCBudWxscHRyKSk7CiB9CiAKK1dURl9FTkRfRU5GT1JDRV9USFJF
QURfU0FGRVRZX0FOQUxZU0lTCisKICNlbmRpZiAvLyBFTkFCTEUoVklERU8pICYmIFVTRShHU1RS
RUFNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4
IDBiODc5NmFiN2I0N2Q5ZjgxMTNiZTk0ZWNkYTk2M2ZlM2MwMGJmNWUuLmI0ZTNlZDQxODVkMTI3
NTE4MDkxZTBjNjdjNTRmNDZjYjk4MTc0MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwCkBAIC00MCw2ICs0MCw4IEBACiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1RvSW50ZWdlckNvbnZlcnNpb24u
aD4KIAorV1RGX0JFR0lOX0VORk9SQ0VfVEhSRUFEX1NBRkVUWV9BTkFMWVNJUworCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogLy8gTmV2ZXIgcGF1c2UgZG93bmxvYWQgb2YgbWVkaWEgcmVz
b3VyY2VzIHNtYWxsZXIgdGhhbiAyTWlCLgpAQCAtMTE3OSw0ICsxMTgxLDYgQEAgYm9vbCB3ZWJL
aXRTcmNXb3VsZFRhaW50T3JpZ2luKFdlYktpdFdlYlNyYyogc3JjLCBjb25zdCBTZWN1cml0eU9y
aWdpbiYgb3JpZ2luKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorV1RGX0VORF9FTkZPUkNFX1RI
UkVBRF9TQUZFVFlfQU5BTFlTSVMKKwogI2VuZGlmIC8vIEVOQUJMRShWSURFTykgJiYgVVNFKEdT
VFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENv
bW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCmluZGV4IGQ5ZTE3YjBiNWUyYTRm
OTIyMWNjMGIzZjUzZjJkNDE5YjY5OTUzYWIuLjFmOGEwOWE5NDViZTQ5NTBmOTI1NjQ0MmU1MjI0
NzAxMGI4OTY3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9X
ZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcApAQCAtMzQsNiArMzQs
OCBAQAogI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL1dURkdUeXBl
Lmg+CiAKK1dURl9CRUdJTl9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKKwogdXNpbmcg
V2ViQ29yZTo6Q0RNUHJveHk7CiAKIC8vIEluc3RhbmNlcyBvZiB0aGlzIGNsYXNzIGFyZSB0aWVk
IHRvIHRoZSBkZWNyeXB0b3IgbGlmZWN5Y2xlLiBUaGV5IGNhbid0IGJlIGFsaXZlIGFmdGVyIHRo
ZSBkZWNyeXB0b3IgaGFzIGJlZW4gZGVzdHJveWVkLgpAQCAtNDcwLDQgKzQ3Miw2IEBAIHN0YXRp
YyB2b2lkIHNldENvbnRleHQoR3N0RWxlbWVudCogZWxlbWVudCwgR3N0Q29udGV4dCogY29udGV4
dCkKICAgICBHU1RfRUxFTUVOVF9DTEFTUyhwYXJlbnRfY2xhc3MpLT5zZXRfY29udGV4dChlbGVt
ZW50LCBjb250ZXh0KTsKIH0KIAorV1RGX0VORF9FTkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlT
SVMKKwogI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpICYmIFVTRShHU1RSRUFNRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IDE2YWI5ZmU1MjY3N2QwODc3
MWMwZTM1MGUzYjc2MDQxZWZhYWVkYTQuLjU0Njg1MmY2MDYwODdiMDhmOWNkOGJmYWJkYmYxZjU1
MTMyNTQ0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBAIC00NCw2ICs0
NCw4IEBACiAjaW5jbHVkZSA8d3RmL2dsaWIvUnVuTG9vcFNvdXJjZVByaW9yaXR5Lmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+CiAKK1dURl9CRUdJTl9F
TkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMKKwogR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVS
Tih3ZWJraXRfbXNlX2RlYnVnKTsKICNkZWZpbmUgR1NUX0NBVF9ERUZBVUxUIHdlYmtpdF9tc2Vf
ZGVidWcKIApAQCAtOTU1LDQgKzk1Nyw2IEBAIHN0YXRpYyBHc3RQYWRQcm9iZVJldHVybiBtYXRy
b3NrYWRlbXV4Rm9yY2VTZWdtZW50U3RhcnRUb0VxdWFsWmVybyhHc3RQYWQqLCBHc3RQCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUuCiAKK1dURl9FTkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FO
QUxZU0lTCisKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA3ZmNmNDZhNWMxZTZhZTBm
ZWY2YThhNDlhM2M5MjNmODlkNDg2Y2I1Li42N2E3MDIxZjBkNmFjMjI3NjM1NDFkMjhlYTc2Yzc4
ZDE1ZmI5ZGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291cmNl
R1N0cmVhbWVyLmNwcApAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21T
dHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCitXVEZfQkVHSU5f
RU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZU0lTCisKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNzkyLDQgKzc5NCw2IEBAIHRlbXBsYXRlIDw+
IHZvaWQgZGVyZWZHUHRyPFdlYktpdE1lZGlhU3JjPihXZWJLaXRNZWRpYVNyYyogcHRyKQogfQog
fSAvLyBuYW1lc3BhY2UgV1RGCiAKK1dURl9FTkRfRU5GT1JDRV9USFJFQURfU0FGRVRZX0FOQUxZ
U0lTCisKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE4NjJkMWI4MGYzNmNiZmFlOWY4Zjg0ZTYxMzI5
OWYyODExMGExMjMuLjhiYjc3YTlmN2NiNWY5ODY1MmIyNzE2MzZmNmE3ZTNiZTYzMzIyYTAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMS0wNi0wMiAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW1dURl1bR1N0cmVhbWVyXSBFbmZvcmNlIGNsYW5nIHRocmVhZCBzYWZl
dHkgYW5ub3RhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjU3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVuZm9yY2UgdGhyZWFkIHNhZmV0eSBhbm5vdGF0aW9ucyBpbiBEYXRhTXV0ZXguY3Bw
IHRlc3QuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EYXRhTXV0ZXguY3Bw
OgorCiAyMDIxLTA2LTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
U3BsaXQgRmlsbElubGluZVBhdGgvU3Ryb2tlSW5saW5lUGF0aApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRGF0YU11dGV4LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL0RhdGFNdXRleC5jcHAKaW5kZXggZTNlNzg2NGExMzZiMDk5NGZkNmRmNGM5
ZTFhMjVhMjMzZTNhNzg3Ni4uYmEyZGYyNzhjZTZhOGM5NWM3YjFiMmUwYWM3MWE5N2NjNzMyYjU2
ZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRGF0YU11dGV4LmNw
cAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9EYXRhTXV0ZXguY3BwCkBAIC0z
MCw2ICszMCw4IEBACiAjZGVmaW5lIEVOQUJMRV9EQVRBX01VVEVYX0NIRUNLUyAxCiAjaW5jbHVk
ZSA8d3RmL0RhdGFNdXRleC5oPgogCitXVEZfQkVHSU5fRU5GT1JDRV9USFJFQURfU0FGRVRZX0FO
QUxZU0lTCisKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogc3RydWN0IE15U3RydWN0dXJl
IHsKQEAgLTg0LDMgKzg2LDUgQEAgVEVTVChXVEZfRGF0YU11dGV4LCBEb3VibGVMb2NrRGVhdGhU
ZXN0KQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKKworV1RGX0VORF9F
TkZPUkNFX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMK
</data>

          </attachment>
      

    </bug>

</bugzilla>