<?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>213369</bug_id>
          
          <creation_ts>2020-06-19 02:58:24 -0700</creation_ts>
          <short_desc>Add logging to WebRTC video pipeline to check for frame rate stability</short_desc>
          <delta_ts>2020-06-24 07:08:20 -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>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1664309</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-19 02:58:24 -0700</bug_when>
    <thetext>Add logging to RealtimeIncomingVideoSource to check for frame rate stability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664311</commentid>
    <comment_count>1</comment_count>
      <attachid>402272</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-19 03:24:01 -0700</bug_when>
    <thetext>Created attachment 402272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664312</commentid>
    <comment_count>2</comment_count>
      <attachid>402273</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-19 03:27:53 -0700</bug_when>
    <thetext>Created attachment 402273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664381</commentid>
    <comment_count>3</comment_count>
      <attachid>402273</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-06-19 09:05:08 -0700</bug_when>
    <thetext>Comment on attachment 402273
Patch

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

&gt; Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp:120
&gt; +        callOnMainThread([identifier = LOGIDENTIFIER, this, protectedThis = makeRef(*this), frameTime,  lastFrameTime, observedFrameRate = m_observedFrameRate] {

Nit: extra space before &quot;lastFrameTime&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664956</commentid>
    <comment_count>4</comment_count>
      <attachid>402449</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-22 01:14:31 -0700</bug_when>
    <thetext>Created attachment 402449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664995</commentid>
    <comment_count>5</comment_count>
      <attachid>402465</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-22 05:38:17 -0700</bug_when>
    <thetext>Created attachment 402465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664996</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-22 06:04:10 -0700</bug_when>
    <thetext>I migrated from one log point (decoder output) to two (renderer and encoded frame receiver).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665039</commentid>
    <comment_count>7</comment_count>
      <attachid>402465</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-22 08:20:02 -0700</bug_when>
    <thetext>Comment on attachment 402465
Patch

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

&gt; Source/WebCore/platform/FrameRateMonitor.cpp:31
&gt; +void FrameRateMonitor::newFrame()

This function is full of unexplained magic numbers. 5, 3, and 2. I have no idea how we selected those.

&gt; Source/WebCore/platform/FrameRateMonitor.h:34
&gt; +    using Callback = Function&lt;void(double frameTime, double lastFrameTime)&gt;;

Why do these use double rather than one of our time types? Seems a missed opportunity to be clear on what units these times are in.

&gt; Source/WebCore/platform/FrameRateMonitor.h:35
&gt; +    explicit FrameRateMonitor(Callback&amp;&amp;);

I suggest making the type name clear, explaining what the callback is for. Presumably the callback is about periods of time with many dropped frames. There’s probably some simple term of art for that.

&gt; Source/WebCore/platform/FrameRateMonitor.h:37
&gt; +    void newFrame();

It’s not ideal to have a function name be a noun “frame”, when it doesn’t return a frame object. We can probably come up with a better name for this.

&gt; Source/WebCore/platform/FrameRateMonitor.h:40
&gt; +    size_t frameCount() const { return m_frameCount; }

size_t is a strange choice for the integer type of a frame count. It’s only appropriate when this is somehow related to the size of some in-memory data structure. I suggest either unsigned/uint32_t or uint64_t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665335</commentid>
    <comment_count>8</comment_count>
      <attachid>402544</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-23 04:57:41 -0700</bug_when>
    <thetext>Created attachment 402544
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665357</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-23 06:15:40 -0700</bug_when>
    <thetext>Thanks for review.

(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 402465 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=402465&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/FrameRateMonitor.cpp:31
&gt; &gt; +void FrameRateMonitor::newFrame()
&gt; 
&gt; This function is full of unexplained magic numbers. 5, 3, and 2. I have no
&gt; idea how we selected those.

I added static members to improve readability.
And removed 5 since burst of callbacks is not a big issue here.

&gt; &gt; Source/WebCore/platform/FrameRateMonitor.h:34
&gt; &gt; +    using Callback = Function&lt;void(double frameTime, double lastFrameTime)&gt;;
&gt; 
&gt; Why do these use double rather than one of our time types? Seems a missed
&gt; opportunity to be clear on what units these times are in.

Went with a struct of MonotonicTime and LateFrameCallback as a name.

&gt; &gt; Source/WebCore/platform/FrameRateMonitor.h:35
&gt; &gt; +    explicit FrameRateMonitor(Callback&amp;&amp;);
&gt; 
&gt; I suggest making the type name clear, explaining what the callback is for.
&gt; Presumably the callback is about periods of time with many dropped frames.
&gt; There’s probably some simple term of art for that.
&gt; 
&gt; &gt; Source/WebCore/platform/FrameRateMonitor.h:37
&gt; &gt; +    void newFrame();
&gt; 
&gt; It’s not ideal to have a function name be a noun “frame”, when it doesn’t
&gt; return a frame object. We can probably come up with a better name for this.

Changed to update.
 
&gt; &gt; Source/WebCore/platform/FrameRateMonitor.h:40
&gt; &gt; +    size_t frameCount() const { return m_frameCount; }
&gt; 
&gt; size_t is a strange choice for the integer type of a frame count. It’s only
&gt; appropriate when this is somehow related to the size of some in-memory data
&gt; structure. I suggest either unsigned/uint32_t or uint64_t.

OK, changed to uint64_t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665453</commentid>
    <comment_count>10</comment_count>
      <attachid>402544</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-06-23 11:11:20 -0700</bug_when>
    <thetext>Comment on attachment 402544
Patch

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

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver.cc:745
&gt; +    static const unsigned MaxFrameDelayCount = 3;

Why is this const and the constants below are constexpr?

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver.cc:746
&gt; +    static constexpr unsigned TimeStampStorageDurationInMs = 2000;

Maybe TimeStampQueueDurationInMs?

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver.cc:764
&gt; +    auto interval = frameTime - observedFrameTimeStamps_.front();

Maybe &quot;queueDuration&quot; instead of &quot;interval&quot;?

&gt; Source/WebCore/platform/FrameRateMonitor.h:44
&gt; +    double frameRate() const { return m_observedFrameRate; }

Should this be &quot;observedFrameRate&quot;?

&gt; Source/WebCore/platform/FrameRateMonitor.h:50
&gt; +    static constexpr Seconds MinimumAverageDuration = 1_s;
&gt; +    static constexpr Seconds TimeStampStorageDuration = 2_s;
&gt; +    static constexpr unsigned MaxFrameDelayCount = 3;

Is there a benefit to declaring these here rather than where they are used as you do with the constants in RtpVideoStreamReceiver?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665675</commentid>
    <comment_count>11</comment_count>
      <attachid>402629</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-24 02:08:26 -0700</bug_when>
    <thetext>Created attachment 402629
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665703</commentid>
    <comment_count>12</comment_count>
      <attachid>402638</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-24 05:27:08 -0700</bug_when>
    <thetext>Created attachment 402638
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665720</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-24 07:07:37 -0700</bug_when>
    <thetext>Committed r263453: &lt;https://trac.webkit.org/changeset/263453&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402638.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665721</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-24 07:08:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/64700061&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402272</attachid>
            <date>2020-06-19 03:24:01 -0700</date>
            <delta_ts>2020-06-19 03:27:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213369-20200619122359.patch</filename>
            <type>text/plain</type>
            <size>6058</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RmOTZmZmE0MzRiNjA3
MTY2MDUzMDI5Zjc0NmYxOWJlMGYwYjIwMy4uMGZhM2E2ZjQ0YWNkNTdhODRlZDFiODZhMTZjOTNl
YTRkM2JhYWU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA2LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbG9nZ2luZyB0byBS
ZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UgdG8gY2hlY2sgZm9yIGZyYW1lIHJhdGUgc3RhYmls
aXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMz
NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21w
dXRlIG9ic2VydmVkIGZyYW1lIHJhdGUgZm9yIHJlbW90ZSBzb3VyY2VzLgorICAgICAgICBMb2cg
cmVjZWl2ZWQgZnJhbWVzIGV2ZXJ5IHR3byBzZWNvbmRzIGJhc2VkIG9uIG9ic2VydmVkIGZyYW1l
IHJhdGUuCisgICAgICAgIExvZyBhIG1lc3NhZ2UgaWYgYSBmcmFtZSBpcyBoYXBwZW5pbmcgNSB0
aW1lcyBsYXRlciBvciBtb3JlIHRoYW4gaXQgc2hvdWxkIGFjY29yZGluZyB0aGUgb2JzZXJ2ZWQg
ZnJhbWUgcmF0ZS4KKyAgICAgICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6cmVjZWl2ZWROZXdTYW1wbGUp
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpv
YnNlcnZlZEZyYW1lUmF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUpOgorCiAyMDIwLTA2
LTEwICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtXZWJYUl0gdW5zaWduZWQgbG9uZyBpbiBJREwgc2hvdWxkIGJlIHRyYW5zbGF0ZWQgYXMgdW5z
aWduZWQgaW4gQysrIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwCmlu
ZGV4IGE5NGNhMzU0ZWNhZjA1NTdmNWFjMDhkNzk1ZGZkM2QwZTAwMjQ5OTIuLjliNjc2Zjc4NDg4
OGIzOTZkMjA1YWEzMzE1Y2FiYmVjMWY3OGNmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlLmNwcApAQCAtMTA3LDYgKzEwNywzMSBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdW
aWRlb1NvdXJjZTo6c2V0dGluZ3NEaWRDaGFuZ2UoT3B0aW9uU2V0PFJlYWx0aW1lTWVkaWFTb3Vy
YwogICAgICAgICBtX2N1cnJlbnRTZXR0aW5ncyA9IFdURjo6bnVsbG9wdDsKIH0KIAordm9pZCBS
ZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U6OnJlY2VpdmVkTmV3U2FtcGxlKCkKK3sKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICArK21fZnJhbWVDb3VudDsKKworICAgIGF1dG8gbGFz
dEZyYW1lVGltZSA9IG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuaXNFbXB0eSgpID8gMCA6IG1f
b2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMubGFzdCgpOworICAgIGF1dG8gZnJhbWVUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOworICAgIG1fb2Jz
ZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuYXBwZW5kKGZyYW1lVGltZSk7CisgICAgbV9vYnNlcnZlZEZy
YW1lVGltZVN0YW1wcy5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byB0aW1lKSB7CisgICAgICAg
IHJldHVybiB0aW1lIDw9IGZyYW1lVGltZSAtIDI7CisgICAgfSk7CisKKyAgICBhdXRvIGludGVy
dmFsID0gbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5sYXN0KCkgLSBtX29ic2VydmVkRnJhbWVU
aW1lU3RhbXBzLmZpcnN0KCk7CisgICAgaWYgKGludGVydmFsID4gMSkKKyAgICAgICAgbV9vYnNl
cnZlZEZyYW1lUmF0ZSA9IChtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLnNpemUoKSAvIGludGVy
dmFsKTsKKworICAgIGlmIChtX2ZyYW1lQ291bnQgPiA1ICYmIGxhc3RGcmFtZVRpbWUgJiYgKGZy
YW1lVGltZSAtIGxhc3RGcmFtZVRpbWUpID4gKDUgLyBtX29ic2VydmVkRnJhbWVSYXRlKSkgewor
ICAgICAgICBtX2ZyYW1lQ291bnQgPSAwOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVu
dGlmaWVyID0gTE9HSURFTlRJRklFUiwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpLCBmcmFtZVRpbWUsICBsYXN0RnJhbWVUaW1lLCBvYnNlcnZlZEZyYW1lUmF0ZSA9IG1fb2Jz
ZXJ2ZWRGcmFtZVJhdGVdIHsKKyAgICAgICAgICAgIEFMV0FZU19MT0dfSUYobG9nZ2VyUHRyKCks
IGlkZW50aWZpZXIsICJyZWNlaXZlZCBmcmFtZSBhdCAiLCBmcmFtZVRpbWUsICIsIHByZXZpb3Vz
IGZyYW1lIHdhcyBhdCAiLCBsYXN0RnJhbWVUaW1lLCAiLCBvYnNlcnZlZCBmcmFtZSByYXRlIGlz
ICIsIG9ic2VydmVkRnJhbWVSYXRlKTsKKyAgICAgICAgfSk7CisgICAgfQorI2VuZGlmCit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5oCmluZGV4IGYzYTNhNmJmOTc2Y2I5YzE2NzA4YTY5
ZmRiODEwMjE3YWQ5ZWQyNWQuLjhiOTRjNTViY2ExNGY4NDUxZmMwZmUzNjU0MDJjZDEyZDU5YjE4
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5oCkBAIC00MSw2ICs0MSw3IEBA
IEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJT
X0VORAogCisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01OSwxMCArNjAsMTMgQEAgcHVibGljOgogcHJv
dGVjdGVkOgogICAgIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZShydGM6OnNjb3BlZF9yZWZw
dHI8d2VicnRjOjpWaWRlb1RyYWNrSW50ZXJmYWNlPiYmLCBTdHJpbmcmJik7CiAKKyAgICB2b2lk
IHJlY2VpdmVkTmV3U2FtcGxlKCk7CisgICAgZG91YmxlIG9ic2VydmVkRnJhbWVSYXRlKCkgY29u
c3QgeyByZXR1cm4gbV9vYnNlcnZlZEZyYW1lUmF0ZTsgfQorCiAjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECiAgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gIlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZSI7IH0KICNlbmRpZgotICAgIAorCiBwcml2
YXRlOgogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJCiAgICAgdm9pZCBzdGFydFByb2R1
Y2luZ0RhdGEoKSBmaW5hbDsKQEAgLTgxLDggKzg1LDkgQEAgcHJpdmF0ZToKICAgICBydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb1RyYWNrSW50ZXJmYWNlPiBtX3ZpZGVvVHJhY2s7CiAK
ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBtdXRhYmxlIFJlZlB0cjxjb25zdCBMb2dn
ZXI+IG1fbG9nZ2VyOwotICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyAgICBEZXF1
ZTxkb3VibGU+IG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHM7CisgICAgZG91YmxlIG1fb2JzZXJ2
ZWRGcmFtZVJhdGUgeyAwIH07CisgICAgc2l6ZV90IG1fZnJhbWVDb3VudCB7IDAgfTsKICNlbmRp
ZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29h
Lm1tCmluZGV4IGYyODBiNmUxYmEyMGZiZjYwMzJhMGRhNjZlMWFmZGZkMGQzNWVmMmIuLjRjYzM0
YjE1ZDQ3MzE2ZWFiMjE3NmI0OWQ3ODAyNzkyMDcwNGMyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KQEAgLTMzLDYgKzMzLDcgQEAKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgogI2ltcG9y
dCAiUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oIgorI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9y
dCA8d3RmL2NmL1R5cGVDYXN0c0NGLmg+CiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lO
CkBAIC0xMzMsNyArMTM0LDE0IEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29j
b2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJiBmcmFtZSkKICAgICAgICAgcmV0
dXJuOwogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgQUxXQVlTX0xPR19JRihsb2dn
ZXJQdHIoKSAmJiAhKCsrbV9udW1iZXJPZkZyYW1lcyAlIDYwKSwgTE9HSURFTlRJRklFUiwgImZy
YW1lICIsIG1fbnVtYmVyT2ZGcmFtZXMpOworICAgIGF1dG8gdHdvU2Vjb25kc0xvZ2dpbmcgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4ob2JzZXJ2ZWRGcmFtZVJhdGUoKSkgKiAyOworICAgIGlmICgh
dHdvU2Vjb25kc0xvZ2dpbmcpCisgICAgICAgIHR3b1NlY29uZHNMb2dnaW5nID0gNjA7CisgICAg
aWYgKGxvZ2dlclB0cigpICYmICEoKyttX251bWJlck9mRnJhbWVzICUgdHdvU2Vjb25kc0xvZ2dp
bmcpKSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBMT0dJREVOVElG
SUVSLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG51bWJlck9mRnJhbWVz
ID0gbV9udW1iZXJPZkZyYW1lc10geworICAgICAgICAgICAgQUxXQVlTX0xPR19JRihsb2dnZXJQ
dHIoKSwgaWRlbnRpZmllciwgImZyYW1lICIsIG51bWJlck9mRnJhbWVzKTsKKyAgICAgICAgfSk7
CisgICAgfQogI2VuZGlmCiAKICAgICBhdXRvIHBpeGVsQnVmZmVyID0gcGl4ZWxCdWZmZXJGcm9t
VmlkZW9GcmFtZShmcmFtZSk7CkBAIC0xODUsNiArMTkzLDggQEAgdm9pZCBSZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJhbWUmIGZy
YW1lKQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICByZWNlaXZlZE5ld1NhbXBsZSgpOwor
CiAgICAgc2V0SW50cmluc2ljU2l6ZShJbnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKICAgICB2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGUuZ2V0KCks
IHJvdGF0aW9uKSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402273</attachid>
            <date>2020-06-19 03:27:53 -0700</date>
            <delta_ts>2020-06-22 01:14:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213369-20200619122752.patch</filename>
            <type>text/plain</type>
            <size>6179</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RmOTZmZmE0MzRiNjA3
MTY2MDUzMDI5Zjc0NmYxOWJlMGYwYjIwMy4uMGZhM2E2ZjQ0YWNkNTdhODRlZDFiODZhMTZjOTNl
YTRkM2JhYWU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA2LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbG9nZ2luZyB0byBS
ZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UgdG8gY2hlY2sgZm9yIGZyYW1lIHJhdGUgc3RhYmls
aXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMz
NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21w
dXRlIG9ic2VydmVkIGZyYW1lIHJhdGUgZm9yIHJlbW90ZSBzb3VyY2VzLgorICAgICAgICBMb2cg
cmVjZWl2ZWQgZnJhbWVzIGV2ZXJ5IHR3byBzZWNvbmRzIGJhc2VkIG9uIG9ic2VydmVkIGZyYW1l
IHJhdGUuCisgICAgICAgIExvZyBhIG1lc3NhZ2UgaWYgYSBmcmFtZSBpcyBoYXBwZW5pbmcgNSB0
aW1lcyBsYXRlciBvciBtb3JlIHRoYW4gaXQgc2hvdWxkIGFjY29yZGluZyB0aGUgb2JzZXJ2ZWQg
ZnJhbWUgcmF0ZS4KKyAgICAgICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6cmVjZWl2ZWROZXdTYW1wbGUp
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpv
YnNlcnZlZEZyYW1lUmF0ZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUpOgorCiAyMDIwLTA2
LTEwICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtXZWJYUl0gdW5zaWduZWQgbG9uZyBpbiBJREwgc2hvdWxkIGJlIHRyYW5zbGF0ZWQgYXMgdW5z
aWduZWQgaW4gQysrIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwCmlu
ZGV4IGE5NGNhMzU0ZWNhZjA1NTdmNWFjMDhkNzk1ZGZkM2QwZTAwMjQ5OTIuLmQ5MjJmZDEwMTVi
ZGFmNjc0OTA3ZDVlMzhmZmVkODdjNjBlYzMzZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlLmNwcApAQCAtMTA3LDYgKzEwNywzMiBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdW
aWRlb1NvdXJjZTo6c2V0dGluZ3NEaWRDaGFuZ2UoT3B0aW9uU2V0PFJlYWx0aW1lTWVkaWFTb3Vy
YwogICAgICAgICBtX2N1cnJlbnRTZXR0aW5ncyA9IFdURjo6bnVsbG9wdDsKIH0KIAordm9pZCBS
ZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U6OnJlY2VpdmVkTmV3U2FtcGxlKCkKK3sKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICArK21fZnJhbWVDb3VudFNpbmNlTG9nZ2luZ0Zvckxh
dGVGcmFtZTsKKworICAgIGF1dG8gbGFzdEZyYW1lVGltZSA9IG1fb2JzZXJ2ZWRGcmFtZVRpbWVT
dGFtcHMuaXNFbXB0eSgpID8gMCA6IG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMubGFzdCgpOwor
ICAgIGF1dG8gZnJhbWVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBv
Y2goKS52YWx1ZSgpOworCisgICAgaWYgKG1fZnJhbWVDb3VudFNpbmNlTG9nZ2luZ0ZvckxhdGVG
cmFtZSA+IDUgJiYgbV9vYnNlcnZlZEZyYW1lUmF0ZSAmJiBsYXN0RnJhbWVUaW1lICYmIChmcmFt
ZVRpbWUgLSBsYXN0RnJhbWVUaW1lKSA+ICg1IC8gbV9vYnNlcnZlZEZyYW1lUmF0ZSkpIHsKKyAg
ICAgICAgbV9mcmFtZUNvdW50U2luY2VMb2dnaW5nRm9yTGF0ZUZyYW1lID0gMDsKKyAgICAgICAg
Y2FsbE9uTWFpblRocmVhZChbaWRlbnRpZmllciA9IExPR0lERU5USUZJRVIsIHRoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZnJhbWVUaW1lLCAgbGFzdEZyYW1lVGltZSwgb2Jz
ZXJ2ZWRGcmFtZVJhdGUgPSBtX29ic2VydmVkRnJhbWVSYXRlXSB7CisgICAgICAgICAgICBBTFdB
WVNfTE9HX0lGKGxvZ2dlclB0cigpLCBpZGVudGlmaWVyLCAicmVjZWl2ZWQgZnJhbWUgYXQgIiwg
ZnJhbWVUaW1lLCAiLCBwcmV2aW91cyBmcmFtZSB3YXMgYXQgIiwgbGFzdEZyYW1lVGltZSwgIiwg
b2JzZXJ2ZWQgZnJhbWUgcmF0ZSBpcyAiLCBvYnNlcnZlZEZyYW1lUmF0ZSk7CisgICAgICAgIH0p
OworICAgIH0KKworICAgIG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuYXBwZW5kKGZyYW1lVGlt
ZSk7CisgICAgbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5yZW1vdmVBbGxNYXRjaGluZyhbJl0o
YXV0byB0aW1lKSB7CisgICAgICAgIHJldHVybiB0aW1lIDw9IGZyYW1lVGltZSAtIDI7CisgICAg
fSk7CisKKyAgICBhdXRvIGludGVydmFsID0gbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5sYXN0
KCkgLSBtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLmZpcnN0KCk7CisgICAgaWYgKGludGVydmFs
ID4gMSkKKyAgICAgICAgbV9vYnNlcnZlZEZyYW1lUmF0ZSA9IChtX29ic2VydmVkRnJhbWVUaW1l
U3RhbXBzLnNpemUoKSAvIGludGVydmFsKTsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlk
ZW9Tb3VyY2UuaAppbmRleCBmM2EzYTZiZjk3NmNiOWMxNjcwOGE2OWZkYjgxMDIxN2FkOWVkMjVk
Li44YTMxM2ZmZWU4ZDQzNGJiMDk1Nzk4OGEwZWMzZjg3YmY4NWY3YTNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9T
b3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2UuaApAQCAtNDEsNiArNDEsNyBAQCBBTExPV19VTlVTRURfUEFS
QU1FVEVSU19CRUdJTgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKIAorI2luY2x1ZGUg
PHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNTksMTAgKzYwLDEzIEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBSZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2UocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9U
cmFja0ludGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogCisgICAgdm9pZCByZWNlaXZlZE5ld1NhbXBs
ZSgpOworICAgIGRvdWJsZSBvYnNlcnZlZEZyYW1lUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fb2Jz
ZXJ2ZWRGcmFtZVJhdGU7IH0KKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGNvbnN0
IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2UiOyB9CiAjZW5kaWYKLSAgICAKKwogcHJpdmF0ZToKICAgICAvLyBSZWFs
dGltZU1lZGlhU291cmNlIEFQSQogICAgIHZvaWQgc3RhcnRQcm9kdWNpbmdEYXRhKCkgZmluYWw7
CkBAIC04MSw4ICs4NSw5IEBAIHByaXZhdGU6CiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6VmlkZW9UcmFja0ludGVyZmFjZT4gbV92aWRlb1RyYWNrOwogCiAjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECi0gICAgbXV0YWJsZSBSZWZQdHI8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKLSAg
ICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisgICAgRGVxdWU8ZG91YmxlPiBtX29ic2Vy
dmVkRnJhbWVUaW1lU3RhbXBzOworICAgIGRvdWJsZSBtX29ic2VydmVkRnJhbWVSYXRlIHsgMCB9
OworICAgIHNpemVfdCBtX2ZyYW1lQ291bnRTaW5jZUxvZ2dpbmdGb3JMYXRlRnJhbWUgeyAwIH07
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbQppbmRleCBmMjgwYjZlMWJhMjBmYmY2MDMyYTBkYTY2ZTFhZmRmZDBkMzVlZjJi
Li40Y2MzNGIxNWQ0NzMxNmVhYjIxNzZiNDlkNzgwMjc5MjA3MDRjMjNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCkBAIC0zMyw2ICszMyw3
IEBACiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIK
ICNpbXBvcnQgIlJlYWx0aW1lVmlkZW9VdGlsaXRpZXMuaCIKKyNpbXBvcnQgPGFsZ29yaXRobT4K
ICNpbXBvcnQgPHd0Zi9jZi9UeXBlQ2FzdHNDRi5oPgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVS
U19CRUdJTgpAQCAtMTMzLDcgKzEzNCwxNCBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZUNvY29hOjpPbkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgIEFMV0FZU19MT0df
SUYobG9nZ2VyUHRyKCkgJiYgISgrK21fbnVtYmVyT2ZGcmFtZXMgJSA2MCksIExPR0lERU5USUZJ
RVIsICJmcmFtZSAiLCBtX251bWJlck9mRnJhbWVzKTsKKyAgICBhdXRvIHR3b1NlY29uZHNMb2dn
aW5nID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG9ic2VydmVkRnJhbWVSYXRlKCkpICogMjsKKyAg
ICBpZiAoIXR3b1NlY29uZHNMb2dnaW5nKQorICAgICAgICB0d29TZWNvbmRzTG9nZ2luZyA9IDYw
OworICAgIGlmIChsb2dnZXJQdHIoKSAmJiAhKCsrbV9udW1iZXJPZkZyYW1lcyAlIHR3b1NlY29u
ZHNMb2dnaW5nKSkgeworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyID0gTE9H
SURFTlRJRklFUiwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBudW1iZXJP
ZkZyYW1lcyA9IG1fbnVtYmVyT2ZGcmFtZXNdIHsKKyAgICAgICAgICAgIEFMV0FZU19MT0dfSUYo
bG9nZ2VyUHRyKCksIGlkZW50aWZpZXIsICJmcmFtZSAiLCBudW1iZXJPZkZyYW1lcyk7CisgICAg
ICAgIH0pOworICAgIH0KICNlbmRpZgogCiAgICAgYXV0byBwaXhlbEJ1ZmZlciA9IHBpeGVsQnVm
ZmVyRnJvbVZpZGVvRnJhbWUoZnJhbWUpOwpAQCAtMTg1LDYgKzE5Myw4IEBAIHZvaWQgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0Zy
YW1lJiBmcmFtZSkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgcmVjZWl2ZWROZXdTYW1w
bGUoKTsKKwogICAgIHNldEludHJpbnNpY1NpemUoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7CiAg
ICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUoc2FtcGxl
LmdldCgpLCByb3RhdGlvbikpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402449</attachid>
            <date>2020-06-22 01:14:31 -0700</date>
            <delta_ts>2020-06-22 05:38:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213369-20200622101430.patch</filename>
            <type>text/plain</type>
            <size>18708</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA3NDQ0YzEyZjRlOTM0Zjc4YWQ2ZjkzMjY4NmQyZjg3YTJhOWFmOWYxLi43ZmIx
MDAyMWFkMDE3MmE0NTBkZTNjMjk1NDVkZTVlMTEwOTM4YWM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNi0yMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxvZ2dpbmcgdG8gV2ViUlRD
IHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0YWJpbGl0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMzY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxvZ2dpbmcgZm9y
IGVuY29kZWQgZnJhbWVzIHRha2luZyBhIGxvbmcgdGltZSB0byBiZSByZWNlaXZlZC4KKyAgICAg
ICAgV2UgbG9nIHRoZSB0aW1lIHRha2UgdG8gcmVjZWl2ZSB0aGUgZnJhbWUsIHRoZSB0aW1lIHNp
bmNlIHByZXZpb3VzIGZyYW1lLCB0aGUgYnl0ZSBzaXplIG9mIHRoZSBmcmFtZS4KKyAgICAgICAg
V2UgY29tcHV0ZSB0aGF0IGEgZnJhbWUgdGFrZXMgdG9vIGxvbmcgYnkgY2hlY2tpbmcgd2hldGhl
ciBpdCBpcyBkZWxheWVkIGJ5IG1vcmUgdGhhbiB0aHJlZSBleHBlY3RlZCBmcmFtZXMuCisKKyAg
ICAgICAgKiBTb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2M6
CisgICAgICAgICogU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVy
Lmg6CisKIDIwMjAtMDYtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcHJvdmUgU0NUUCBjb29raWUgZ2VuZXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVhMjhm
NTRlOGFjOWJiOTc4YjQzNjg1MmI2NWExMjZhMTA3Y2Q4MjcuLjdhZGUxNDVkMWU2Yzk2NmYzNTcw
YWRmYWZjY2Q2NjBkMjFlNzUxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAyMC0w
Ni0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxv
Z2dpbmcgdG8gV2ViUlRDIHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0
YWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEzMzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgRnJhbWVSYXRlTW9uaXRvciBjbGFzcyB0byBjb21wdXRlIGZyYW1lIHN0YWJpbGl0eS4K
KyAgICAgICAgVXNlIHRoaXMgY2xhc3MgYXQgZW5kIG9mIHRoZSB2aWRlbyBwaXBlbGluZSAoTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpLgorICAgICAgICBMb2cgbWVzc2FnZXMgaW4gY2Fz
ZSBhIGZyYW1lIGdldHMgZnJvemVuIGF0IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHRp
bWUuCisgICAgICAgIFdlIGNvbXB1dGUgdGhhdCBhIGZyYW1lIHRha2VzIHRvbyBsb25nIGJ5IGNo
ZWNraW5nIHdoZXRoZXIgaXQgaXMgZGVsYXllZCBieSBtb3JlIHRoYW4gdGhyZWUgZXhwZWN0ZWQg
ZnJhbWVzLgorICAgICAgICBUaGlzIGxvZ2dpbmcgaXMgY29tcGxlbWVudGVkIHdpdGggZW5jb2Rl
ZCBmcmFtZSByZWNlcHRpb24gbG9nZ2luZyAoYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgdmlkZW8g
cGlwZWxpbmUpCisgICAgICAgIGFuZCBXZWJSVEMgc3RhdHMgbG9nZ2luZyAoZnJlZXplQ291bnQs
IHRvdGFsRnJlZXplRHVyYXRpb24sIHNob3J0bHkgYWZ0ZXIgZGVjb2RpbmcgdGhlIGZyYW1lcyku
CisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6bmV3RnJhbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVJhdGVNb25pdG9yOjpmcmFtZVJhdGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6ZnJhbWVDb3VudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVJhdGVNb25pdG9yOjpGcmFtZVJhdGVNb25pdG9yKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xv
Y2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVl
U2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
OjplbnF1ZXVlU2FtcGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyOjpvbkZyYW1lUmF0ZU5vdGlmaWNhdGlvbik6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5o
OgorICAgICAgICBVbmlmaWVkIGJ1aWxkIGZpeC4KKwogMjAyMC0wNi0xOCAgRG91ZyBLZWxseSAg
PGRvdWdrQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGFtcCB0ZXh0IHJ1biB3aWR0aCB0byB6ZXJv
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92
aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5jYwpp
bmRleCAwNThkZjBhZTk2NmU1ZDExZWZhMjRlMDMwNjQ5YzU2MjkxOWEyY2U5Li42OTM0ZGVmOTZm
ZWZhN2UwODEwMTQ2NmE2ZTM1MWQ5ZDYyN2FhY2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2Vp
dmVyLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Zp
ZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2MKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNs
dWRlICJydGNfYmFzZS9sb2NhdGlvbi5oIgogI2luY2x1ZGUgInJ0Y19iYXNlL2xvZ2dpbmcuaCIK
ICNpbmNsdWRlICJydGNfYmFzZS9zdHJpbmdzL3N0cmluZ19idWlsZGVyLmgiCisjaW5jbHVkZSAi
cnRjX2Jhc2UvdGltZV91dGlscy5oIgogI2luY2x1ZGUgInN5c3RlbV93cmFwcGVycy9pbmNsdWRl
L2ZpZWxkX3RyaWFsLmgiCiAjaW5jbHVkZSAic3lzdGVtX3dyYXBwZXJzL2luY2x1ZGUvbWV0cmlj
cy5oIgogI2luY2x1ZGUgInN5c3RlbV93cmFwcGVycy9pbmNsdWRlL250cF90aW1lLmgiCkBAIC03
NDAsNiArNzQxLDMzIEBAIHZvaWQgUnRwVmlkZW9TdHJlYW1SZWNlaXZlcjo6T25Bc3NlbWJsZWRG
cmFtZSgKICAgUlRDX0RDSEVDS19SVU5fT04oJm5ldHdvcmtfdGNfKTsKICAgUlRDX0RDSEVDSyhm
cmFtZSk7CiAKKyNpZiBkZWZpbmVkKFdFQlJUQ19XRUJLSVRfQlVJTEQpCisgICAgKytmcmFtZUNv
dW50U2luY2VMb2dnaW5nRm9yTGF0ZUZyYW1lXzsKKworICAgIGF1dG8gbGFzdEZyYW1lVGltZSA9
IG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5lbXB0eSgpID8gMCA6IG9ic2VydmVkRnJhbWVUaW1l
U3RhbXBzXy5iYWNrKCk7CisgICAgYXV0byBmcmFtZVRpbWUgPSBydGM6OlN5c3RlbVRpbWVNaWxs
aXMoKTsKKworICAgIGlmIChmcmFtZUNvdW50U2luY2VMb2dnaW5nRm9yTGF0ZUZyYW1lXyA+IDUg
JiYgb2JzZXJ2ZWRGcmFtZVJhdGVfICYmIGxhc3RGcmFtZVRpbWUgJiYgKCgoZnJhbWVUaW1lIC0g
bGFzdEZyYW1lVGltZSkgLyAxMDAwLjApID4gKDMgLyBvYnNlcnZlZEZyYW1lUmF0ZV8pKSkgewor
ICAgICAgZnJhbWVDb3VudFNpbmNlTG9nZ2luZ0ZvckxhdGVGcmFtZV8gPSAwOworICAgICAgUlRD
X0xPRyhMU19FUlJPUikgPDwgIlJ0cFZpZGVvU3RyZWFtUmVjZWl2ZXI6Ok9uQXNzZW1ibGVkRnJh
bWUgYXQgIiA8PCBmcmFtZVRpbWUgPDwgIiwgcHJldmlvdXMgZnJhbWUgd2FzIGF0ICIgPDwgbGFz
dEZyYW1lVGltZSA8PCAiLCBvYnNlcnZlZCBmcmFtZSByYXRlIGlzICIgPDwgb2JzZXJ2ZWRGcmFt
ZVJhdGVfIDw8ICIsIGRlbGF5IHNpbmNlIGxhc3QgZnJhbWUgaXMgIiA8PCAoZnJhbWVUaW1lIC0g
bGFzdEZyYW1lVGltZSkgPDwgIiwgc2l6ZSBpcyAiIDw8IGZyYW1lLT5FbmNvZGVkSW1hZ2UoKS5z
aXplKCkgPDwgIiwgZnJhbWUgcmVjZXB0aW9uIGR1cmF0aW9uIGlzICIgPDwgKGZyYW1lLT52aWRl
b190aW1pbmcoKS5yZWNlaXZlX2ZpbmlzaF9tcyAtIGZyYW1lLT52aWRlb190aW1pbmcoKS5yZWNl
aXZlX3N0YXJ0X21zKTsKKyAgICB9CisKKyAgICBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18ucHVz
aF9iYWNrKGZyYW1lVGltZSk7CisgICAgc2l6ZV90IGNwdHIgPSAwOworICAgIGZvciAoYXV0byB2
YWx1ZSA6IG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXykgeworICAgICAgaWYgKHZhbHVlIDw9IGZy
YW1lVGltZSAtIDIwMDApCisgICAgICAgICsrY3B0cjsKKyAgICAgIGVsc2UKKyAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIGlmIChjcHRyKQorICAgICAgb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNf
LmVyYXNlKG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5iZWdpbigpLCBvYnNlcnZlZEZyYW1lVGlt
ZVN0YW1wc18uYmVnaW4oKSArIChjcHRyIC0gMSkpOworCisgICAgYXV0byBpbnRlcnZhbCA9IChv
YnNlcnZlZEZyYW1lVGltZVN0YW1wc18uYmFjaygpIC0gb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNf
LmZyb250KCkpIC8gMTAwMDsKKyAgICBpZiAoaW50ZXJ2YWwgPiAxKQorICAgICAgb2JzZXJ2ZWRG
cmFtZVJhdGVfID0gKG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5zaXplKCkgLyBpbnRlcnZhbCk7
CisjZW5kaWYKKwogICBjb25zdCBhYnNsOjpvcHRpb25hbDxSVFBWaWRlb0hlYWRlcjo6R2VuZXJp
Y0Rlc2NyaXB0b3JJbmZvPiYgZGVzY3JpcHRvciA9CiAgICAgICBmcmFtZS0+R2V0UnRwVmlkZW9I
ZWFkZXIoKS5nZW5lcmljOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3Ry
ZWFtX3JlY2VpdmVyLmgKaW5kZXggMzMwNDU1YjFiODZiZDVmZDNlNDBkNTM2MzZiNjAzZWM2NzAz
NzdhZS4uOTQ4YjkyNWI4ZmNmMzc4ZGFmZWM1NzI0N2I1Zjc4ZjIwYmM2YzMwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3Zp
ZGVvX3N0cmVhbV9yZWNlaXZlci5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuaApAQCAtMzYwLDYg
KzM2MCwxMiBAQCBjbGFzcyBSdHBWaWRlb1N0cmVhbVJlY2VpdmVyIDogcHVibGljIExvc3NOb3Rp
ZmljYXRpb25TZW5kZXIsCiAKICAgcnRjOjpzY29wZWRfcmVmcHRyPFJ0cFZpZGVvU3RyZWFtUmVj
ZWl2ZXJGcmFtZVRyYW5zZm9ybWVyRGVsZWdhdGU+CiAgICAgICBmcmFtZV90cmFuc2Zvcm1lcl9k
ZWxlZ2F0ZV87CisKKyNpZiBkZWZpbmVkKFdFQlJUQ19XRUJLSVRfQlVJTEQpCisgIHN0ZDo6ZGVx
dWU8aW50NjRfdD4gb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfOworICBkb3VibGUgb2JzZXJ2ZWRG
cmFtZVJhdGVfIHsgMCB9OworICBzaXplX3QgZnJhbWVDb3VudFNpbmNlTG9nZ2luZ0ZvckxhdGVG
cmFtZV8geyAwIH07CisjZW5kaWYKIH07CiAKIH0gIC8vIG5hbWVzcGFjZSB3ZWJydGMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKaW5kZXggMTQ5NTljMzgxNTAzNTZhODdkZWVlMzJlZmIzN2IyNjI1NjVmMjZlOS4uNGI0
MjYyMTQxYmZmODRmOTA1NmIxMjE3NDljZDBjNzdkMTM0NzFlOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAg
LTE3OTcsNiArMTc5Nyw3IEBAIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAogcGxhdGZvcm0vRmls
ZUhhbmRsZS5jcHAKIHBsYXRmb3JtL0ZpbGVNb25pdG9yLmNwcAogcGxhdGZvcm0vRmlsZVN0cmVh
bS5jcHAKK3BsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuY3BwCiBwbGF0Zm9ybS9HZW5lcmljVGFz
a1F1ZXVlLmNwcAogcGxhdGZvcm0vTGF5b3V0VW5pdC5jcHAKIHBsYXRmb3JtL0xlZ2FjeVNjaGVt
ZVJlZ2lzdHJ5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDQ2Zjk2ZDE1MGNiZjFiN2ZiZDg2NTkyNGI2YjE0ZDJmNmM4NzJl
ZDQuLmQ3MGQ3ZDdiZTM4YTY3YjM3OGJlMTBjYmQ0OGFmNjBiOTY3MGYwMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1MTQs
NiArNzUxNCw4IEBACiAJCTQxOEMzOTVGMUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE4Rjg4MDIwRkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBYnN0cmFjdFdvcmtlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEY4ODAzMEZGOTU3QUUwMDgwRjA0NSAv
KiBKU0Fic3RyYWN0V29ya2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
QWJzdHJhY3RXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE5MEYzQTEy
NDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVSYXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25p
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNG
IC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTQ1Njk0MjAzNTAyQTUwMDRCQTI3
NyAvKiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5NDU2OTYyMDM1MDJBNjAwNEJBMjc3IC8q
IEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTI2NDIwLDYgKzI2NDIyLDggQEAKIAkJCQkyRUYxQkZFOTEyMUM5
RjQyMDBDMjc2MjcgLyogRmlsZVN0cmVhbS5oICovLAogCQkJCTJFRjFCRkY4MTIxQ0IwQ0UwMEMy
NzYyNyAvKiBGaWxlU3RyZWFtQ2xpZW50LmggKi8sCiAJCQkJQkMwNzNCQTkwQzM5OUIxRjAwMEY1
OTc5IC8qIEZsb2F0Q29udmVyc2lvbi5oICovLAorCQkJCTQxOTBGM0ExMjQ5RDE1MjcwMDUzMUM1
NyAvKiBGcmFtZVJhdGVNb25pdG9yLmNwcCAqLywKKwkJCQk0MTkwRjNBMzI0OUQxNTI4MDA1MzFD
NTcgLyogRnJhbWVSYXRlTW9uaXRvci5oICovLAogCQkJCUNENEJFNTI5MUNFMTM0MjUwMDlEODdE
QSAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCAqLywKIAkJCQlDRDYyRkI5NDFBRjAxOEU3MDAxMkVE
N0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oICovLAogCQkJCUE4NzQ4QkRGMTJDQkYyREMwMDFGQkE0
MSAvKiBIYXNoVG9vbHMuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0ZyYW1lUmF0ZU1vbml0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJhbWVSYXRl
TW9uaXRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc0OWRmYzJlOWVhYmYyYWRmNmIwNWQ3ZTc0Y2E2ZTJj
MGQ4YWRmZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYW1l
UmF0ZU1vbml0b3IuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRnJh
bWVSYXRlTW9uaXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgRnJhbWVSYXRl
TW9uaXRvcjo6bmV3RnJhbWUoKQoreworICAgICsrbV9mcmFtZUNvdW50OworICAgICsrbV9mcmFt
ZUNvdW50U2luY2VMb2dnaW5nRm9yTGF0ZUZyYW1lOworCisgICAgYXV0byBsYXN0RnJhbWVUaW1l
ID0gbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5pc0VtcHR5KCkgPyAwIDogbV9vYnNlcnZlZEZy
YW1lVGltZVN0YW1wcy5sYXN0KCk7CisgICAgYXV0byBmcmFtZVRpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7CisKKyAgICBpZiAobV9mcmFtZUNv
dW50U2luY2VMb2dnaW5nRm9yTGF0ZUZyYW1lID4gNSAmJiBtX29ic2VydmVkRnJhbWVSYXRlICYm
IGxhc3RGcmFtZVRpbWUgJiYgKGZyYW1lVGltZSAtIGxhc3RGcmFtZVRpbWUpID4gKDMgLyBtX29i
c2VydmVkRnJhbWVSYXRlKSkgeworICAgICAgICBtX2ZyYW1lQ291bnRTaW5jZUxvZ2dpbmdGb3JM
YXRlRnJhbWUgPSAwOworICAgICAgICBtX2NhbGxiYWNrKGZyYW1lVGltZSwgbGFzdEZyYW1lVGlt
ZSk7CisgICAgfQorCisgICAgbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5hcHBlbmQoZnJhbWVU
aW1lKTsKKyAgICBtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLnJlbW92ZUFsbE1hdGNoaW5nKFsm
XShhdXRvIHRpbWUpIHsKKyAgICAgICAgcmV0dXJuIHRpbWUgPD0gZnJhbWVUaW1lIC0gMjsKKyAg
ICB9KTsKKworICAgIGF1dG8gaW50ZXJ2YWwgPSBtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLmxh
c3QoKSAtIG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuZmlyc3QoKTsKKyAgICBpZiAoaW50ZXJ2
YWwgPiAxKQorICAgICAgICBtX29ic2VydmVkRnJhbWVSYXRlID0gKG1fb2JzZXJ2ZWRGcmFtZVRp
bWVTdGFtcHMuc2l6ZSgpIC8gaW50ZXJ2YWwpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y4NTA1ZDljOTFkYzc0ZTU4ODM5
Y2E4YTRiOGEwZjIyZTU1NTNlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDx3dGYvRGVxdWUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGcmFtZVJhdGVN
b25pdG9yIHsKK3B1YmxpYzoKKyAgICB1c2luZyBDYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoZG91
YmxlIGZyYW1lVGltZSwgZG91YmxlIGxhc3RGcmFtZVRpbWUpPjsKKyAgICBleHBsaWNpdCBGcmFt
ZVJhdGVNb25pdG9yKENhbGxiYWNrJiYpOworCisgICAgdm9pZCBuZXdGcmFtZSgpOworCisgICAg
ZG91YmxlIGZyYW1lUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fb2JzZXJ2ZWRGcmFtZVJhdGU7IH0K
KyAgICBzaXplX3QgZnJhbWVDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVDb3VudDsgfQor
Citwcml2YXRlOgorICAgIENhbGxiYWNrIG1fY2FsbGJhY2s7CisgICAgRGVxdWU8ZG91YmxlPiBt
X29ic2VydmVkRnJhbWVUaW1lU3RhbXBzOworICAgIGRvdWJsZSBtX29ic2VydmVkRnJhbWVSYXRl
IHsgMCB9OworICAgIHNpemVfdCBtX2ZyYW1lQ291bnQgeyAwIH07CisgICAgc2l6ZV90IG1fZnJh
bWVDb3VudFNpbmNlTG9nZ2luZ0ZvckxhdGVGcmFtZSB7IDAgfTsKK307CisKK2lubGluZSBGcmFt
ZVJhdGVNb25pdG9yOjpGcmFtZVJhdGVNb25pdG9yKENhbGxiYWNrJiYgY2FsbGJhY2spCisgICAg
OiBtX2NhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQoreworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRl
eCBiZDYxNjhmMDlmNWY0MjVhNjA5Y2Q2OGFlY2JkYmNmZTZhY2FlNGU2Li5lYmFjNjc4ZWFhZjEw
Y2ViZDQyMWMxZGYxM2UzNDE5ZjAyMDQ2YmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKQEAgLTI3LDYgKzI3LDcg
QEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04pCiAKKyNp
bmNsdWRlICJGcmFtZVJhdGVNb25pdG9yLmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KQEAgLTgxLDYgKzgyLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXF1ZXN0Tm90aWZpY2F0
aW9uV2hlblJlYWR5Rm9yVmlkZW9EYXRhKCk7CiAgICAgdm9pZCBlbnF1ZXVlU2FtcGxlQnVmZmVy
KE1lZGlhU2FtcGxlJik7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIG9u
RnJhbWVSYXRlTm90aWZpY2F0aW9uKGRvdWJsZSBmcmFtZVRpbWUsIGRvdWJsZSBsYXN0RnJhbWVU
aW1lKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFJldGFpblB0cjxXZWJBVlNhbXBsZUJ1ZmZl
clN0YXR1c0NoYW5nZUxpc3RlbmVyPiBtX3N0YXR1c0NoYW5nZUxpc3RlbmVyOwogICAgIFJldGFp
blB0cjxBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcj4gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXI7CkBAIC05Miw2ICs5NywxMCBAQCBwcml2YXRlOgogICAgIC8vIE9ubHkgYWNjZXNzZWQgdGhy
b3VnaCBtX3Byb2Nlc3NpbmdRdWV1ZSBvciBpZiBtX3Byb2Nlc3NpbmdRdWV1ZSBpcyBudWxsLgog
ICAgIHVzaW5nIFBlbmRpbmdTYW1wbGVRdWV1ZSA9IERlcXVlPFJlZjxNZWRpYVNhbXBsZT4+Owog
ICAgIFBlbmRpbmdTYW1wbGVRdWV1ZSBtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlOworCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgRnJhbWVSYXRlTW9uaXRvciBtX2ZyYW1lUmF0ZU1v
bml0b3I7CisjZW5kaWYKIH07CiAKIGlubGluZSB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyOjpzZXRSZW5kZXJQb2xpY3koUmVuZGVyUG9saWN5IHJlbmRlclBvbGljeSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIubW0KaW5kZXggNzBiM2M0NGYzY2MwZmIyNGVjODkwMjhlNTgyNWEzZWQ4MDhjYjQwMS4uYzMx
MDU1YjQ2NTJkOGZjYzA0ZmY3MDYwYTI3ODA1NTA5MTdmMzY2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAg
LTE1Myw2ICsxNTMsOSBAQCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6TG9jYWxTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIoUmV0YWluUHRyPEFWU2FtcGxlQgogICAgICwgbV9zdGF0dXND
aGFuZ2VMaXN0ZW5lcihhZG9wdE5TKFtbV2ViQVZTYW1wbGVCdWZmZXJTdGF0dXNDaGFuZ2VMaXN0
ZW5lciBhbGxvY10gaW5pdFdpdGhQYXJlbnQ6dGhpc10pKQogICAgICwgbV9zYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXIoV1RGTW92ZShzYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpKQogICAgICwgbV9w
cm9jZXNzaW5nUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyIHF1ZXVlIikpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2ZyYW1l
UmF0ZU1vbml0b3IoW3RoaXNdKGRvdWJsZSBmcmFtZVRpbWUsIGRvdWJsZSBsYXN0RnJhbWVUaW1l
KSB7IG9uRnJhbWVSYXRlTm90aWZpY2F0aW9uKGZyYW1lVGltZSwgbGFzdEZyYW1lVGltZSk7IH0p
CisjZW5kaWYKIHsKIH0KIApAQCAtMzAwLDYgKzMwMyw3IEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXI6OmVucXVldWVTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIHsKICAg
ICBtX3Byb2Nlc3NpbmdRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHNhbXBsZSA9IG1ha2VSZWYoc2Ft
cGxlKV0gewogICAgICAgICBpZiAoIVttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBpc1JlYWR5
Rm9yTW9yZU1lZGlhRGF0YV0pIHsKKyAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiTG9jYWxTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVldWVTYW1wbGUgbm90IHJlYWR5IGZvciBtb3JlIG1l
ZGlhIGRhdGEiKTsKICAgICAgICAgICAgIGFkZFNhbXBsZVRvUGVuZGluZ1F1ZXVlKHNhbXBsZSk7
CiAgICAgICAgICAgICByZXF1ZXN0Tm90aWZpY2F0aW9uV2hlblJlYWR5Rm9yVmlkZW9EYXRhKCk7
CiAgICAgICAgICAgICByZXR1cm47CkBAIC0zMjQsNyArMzI4LDIwIEBAIHZvaWQgTG9jYWxTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVldWVTYW1wbGVCdWZmZXIoTWVkaWFTYW1wbGUmIHNh
bXBsZSkKICAgICB9CiAKICAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgZW5xdWV1ZVNh
bXBsZUJ1ZmZlcjpzYW1wbGVUb0VucXVldWVdOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CisgICAgbV9mcmFtZVJhdGVNb25pdG9yLm5ld0ZyYW1lKCk7CisjZW5kaWYKK30KKworI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAordm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6
b25GcmFtZVJhdGVOb3RpZmljYXRpb24oZG91YmxlIGZyYW1lVGltZSwgZG91YmxlIGxhc3RGcmFt
ZVRpbWUpCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbZnJhbWVUaW1lLCBsYXN0RnJhbWVUaW1l
LCBvYnNlcnZlZEZyYW1lUmF0ZSA9IG1fZnJhbWVSYXRlTW9uaXRvci5mcmFtZVJhdGUoKSwgZnJh
bWVDb3VudCA9IG1fZnJhbWVSYXRlTW9uaXRvci5mcmFtZUNvdW50KCldIHsKKyAgICAgICAgV1RG
TG9nQWx3YXlzKCJMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZUJ1
ZmZlciBhdCAlZiwgcHJldmlvdXMgZnJhbWUgd2FzIGF0ICVmLCBvYnNlcnZlZCBmcmFtZSByYXRl
IGlzICVmLCBkZWxheSBzaW5jZSBsYXN0IGZyYW1lIGlzICVmLCBmcmFtZSBjb3VudCBpcyAlbHUi
LCBmcmFtZVRpbWUsIGxhc3RGcmFtZVRpbWUsIG9ic2VydmVkRnJhbWVSYXRlLCBmcmFtZVRpbWUg
LSBsYXN0RnJhbWVUaW1lLCBmcmFtZUNvdW50KTsKKyAgICB9KTsKIH0KKyNlbmRpZgogCiB2b2lk
IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpyZW1vdmVPbGRTYW1wbGVzRnJvbVBlbmRp
bmdRdWV1ZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJVbml0LmgKaW5kZXggZjg3NTY0ZDk5ODZjZTRhMTEzMGI1OTA1NzhiNzc5ZDJmOTBhZGZkNS4u
NDQwNzZhNTZlYzk3NGY5YmI4NzM0MmJmYzc0ODMwYzg1OWM3NzJmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyVW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaApAQCAtMzAsNiArMzAsOCBA
QAogI2luY2x1ZGUgPEF1ZGlvVG9vbGJveC9BdWRpb1Rvb2xib3guaD4KICNpbmNsdWRlIDxDb3Jl
QXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402465</attachid>
            <date>2020-06-22 05:38:17 -0700</date>
            <delta_ts>2020-06-23 04:57:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213369-20200622143816.patch</filename>
            <type>text/plain</type>
            <size>20406</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA3NDQ0YzEyZjRlOTM0Zjc4YWQ2ZjkzMjY4NmQyZjg3YTJhOWFmOWYxLi43ZmIx
MDAyMWFkMDE3MmE0NTBkZTNjMjk1NDVkZTVlMTEwOTM4YWM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNi0yMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxvZ2dpbmcgdG8gV2ViUlRD
IHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0YWJpbGl0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMzY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxvZ2dpbmcgZm9y
IGVuY29kZWQgZnJhbWVzIHRha2luZyBhIGxvbmcgdGltZSB0byBiZSByZWNlaXZlZC4KKyAgICAg
ICAgV2UgbG9nIHRoZSB0aW1lIHRha2UgdG8gcmVjZWl2ZSB0aGUgZnJhbWUsIHRoZSB0aW1lIHNp
bmNlIHByZXZpb3VzIGZyYW1lLCB0aGUgYnl0ZSBzaXplIG9mIHRoZSBmcmFtZS4KKyAgICAgICAg
V2UgY29tcHV0ZSB0aGF0IGEgZnJhbWUgdGFrZXMgdG9vIGxvbmcgYnkgY2hlY2tpbmcgd2hldGhl
ciBpdCBpcyBkZWxheWVkIGJ5IG1vcmUgdGhhbiB0aHJlZSBleHBlY3RlZCBmcmFtZXMuCisKKyAg
ICAgICAgKiBTb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2M6
CisgICAgICAgICogU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVy
Lmg6CisKIDIwMjAtMDYtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcHJvdmUgU0NUUCBjb29raWUgZ2VuZXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVhMjhm
NTRlOGFjOWJiOTc4YjQzNjg1MmI2NWExMjZhMTA3Y2Q4MjcuLjdhZGUxNDVkMWU2Yzk2NmYzNTcw
YWRmYWZjY2Q2NjBkMjFlNzUxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAyMC0w
Ni0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxv
Z2dpbmcgdG8gV2ViUlRDIHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0
YWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEzMzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgRnJhbWVSYXRlTW9uaXRvciBjbGFzcyB0byBjb21wdXRlIGZyYW1lIHN0YWJpbGl0eS4K
KyAgICAgICAgVXNlIHRoaXMgY2xhc3MgYXQgZW5kIG9mIHRoZSB2aWRlbyBwaXBlbGluZSAoTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpLgorICAgICAgICBMb2cgbWVzc2FnZXMgaW4gY2Fz
ZSBhIGZyYW1lIGdldHMgZnJvemVuIGF0IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHRp
bWUuCisgICAgICAgIFdlIGNvbXB1dGUgdGhhdCBhIGZyYW1lIHRha2VzIHRvbyBsb25nIGJ5IGNo
ZWNraW5nIHdoZXRoZXIgaXQgaXMgZGVsYXllZCBieSBtb3JlIHRoYW4gdGhyZWUgZXhwZWN0ZWQg
ZnJhbWVzLgorICAgICAgICBUaGlzIGxvZ2dpbmcgaXMgY29tcGxlbWVudGVkIHdpdGggZW5jb2Rl
ZCBmcmFtZSByZWNlcHRpb24gbG9nZ2luZyAoYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgdmlkZW8g
cGlwZWxpbmUpCisgICAgICAgIGFuZCBXZWJSVEMgc3RhdHMgbG9nZ2luZyAoZnJlZXplQ291bnQs
IHRvdGFsRnJlZXplRHVyYXRpb24sIHNob3J0bHkgYWZ0ZXIgZGVjb2RpbmcgdGhlIGZyYW1lcyku
CisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6bmV3RnJhbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVJhdGVNb25pdG9yOjpmcmFtZVJhdGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6ZnJhbWVDb3VudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVJhdGVNb25pdG9yOjpGcmFtZVJhdGVNb25pdG9yKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xv
Y2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVl
U2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
OjplbnF1ZXVlU2FtcGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyOjpvbkZyYW1lUmF0ZU5vdGlmaWNhdGlvbik6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5o
OgorICAgICAgICBVbmlmaWVkIGJ1aWxkIGZpeC4KKwogMjAyMC0wNi0xOCAgRG91ZyBLZWxseSAg
PGRvdWdrQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGFtcCB0ZXh0IHJ1biB3aWR0aCB0byB6ZXJv
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92
aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5jYwpp
bmRleCAwNThkZjBhZTk2NmU1ZDExZWZhMjRlMDMwNjQ5YzU2MjkxOWEyY2U5Li4zNDY0MTc5ZGZj
YzZmOTIzNGMwZjYwNDc1OWMzNzA0Mjc2MThiMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2Vp
dmVyLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Zp
ZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2MKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNs
dWRlICJydGNfYmFzZS9sb2NhdGlvbi5oIgogI2luY2x1ZGUgInJ0Y19iYXNlL2xvZ2dpbmcuaCIK
ICNpbmNsdWRlICJydGNfYmFzZS9zdHJpbmdzL3N0cmluZ19idWlsZGVyLmgiCisjaW5jbHVkZSAi
cnRjX2Jhc2UvdGltZV91dGlscy5oIgogI2luY2x1ZGUgInN5c3RlbV93cmFwcGVycy9pbmNsdWRl
L2ZpZWxkX3RyaWFsLmgiCiAjaW5jbHVkZSAic3lzdGVtX3dyYXBwZXJzL2luY2x1ZGUvbWV0cmlj
cy5oIgogI2luY2x1ZGUgInN5c3RlbV93cmFwcGVycy9pbmNsdWRlL250cF90aW1lLmgiCkBAIC03
NDAsNiArNzQxLDI5IEBAIHZvaWQgUnRwVmlkZW9TdHJlYW1SZWNlaXZlcjo6T25Bc3NlbWJsZWRG
cmFtZSgKICAgUlRDX0RDSEVDS19SVU5fT04oJm5ldHdvcmtfdGNfKTsKICAgUlRDX0RDSEVDSyhm
cmFtZSk7CiAKKyNpZiBkZWZpbmVkKFdFQlJUQ19XRUJLSVRfQlVJTEQpCisgICAgLy8gRklYTUU6
IENvbnNpZGVyIHVzaW5nIE1vdmluZ0F2ZXJhZ2UgaW5zdGVhZC4KKyAgICArK2ZyYW1lQ291bnRT
aW5jZUxvZ2dpbmdGb3JMYXRlRnJhbWVfOworCisgICAgYXV0byBsYXN0RnJhbWVUaW1lID0gb2Jz
ZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLmVtcHR5KCkgPyAwIDogb2JzZXJ2ZWRGcmFtZVRpbWVTdGFt
cHNfLmJhY2soKTsKKyAgICBhdXRvIGZyYW1lVGltZSA9IGNsb2NrXy0+VGltZUluTWlsbGlzZWNv
bmRzKCk7CisgICAgaWYgKGZyYW1lQ291bnRTaW5jZUxvZ2dpbmdGb3JMYXRlRnJhbWVfID4gNSAm
JiBsYXN0RnJhbWVUaW1lICYmIG9ic2VydmVkRnJhbWVSYXRlXykgeworICAgICAgYXV0byBkZWxh
eSA9IGZyYW1lVGltZSAtIGxhc3RGcmFtZVRpbWU7CisgICAgICBpZiAoZGVsYXkgPiAoMyAqIDEw
MDAgLyBvYnNlcnZlZEZyYW1lUmF0ZV8pKSB7CisgICAgICAgIGZyYW1lQ291bnRTaW5jZUxvZ2dp
bmdGb3JMYXRlRnJhbWVfID0gMDsKKyAgICAgICAgUlRDX0xPRyhMU19XQVJOSU5HKSA8PCAiUnRw
VmlkZW9TdHJlYW1SZWNlaXZlcjo6T25Bc3NlbWJsZWRGcmFtZSBhdCAiIDw8IGZyYW1lVGltZSA8
PCAiLCBwcmV2aW91cyBmcmFtZSB3YXMgYXQgIiA8PCBsYXN0RnJhbWVUaW1lIDw8ICIsIG9ic2Vy
dmVkIGZyYW1lIHJhdGUgaXMgIiA8PCBvYnNlcnZlZEZyYW1lUmF0ZV8gPDwgIiwgZGVsYXkgc2lu
Y2UgbGFzdCBmcmFtZSBpcyAiIDw8IChmcmFtZVRpbWUgLSBsYXN0RnJhbWVUaW1lKSA8PCAiIG1z
LCBzaXplIGlzICIgPDwgZnJhbWUtPkVuY29kZWRJbWFnZSgpLnNpemUoKSA8PCAiLCBmcmFtZSBy
ZWNlcHRpb24gZHVyYXRpb24gaXMgIiA8PCAoZnJhbWUtPnZpZGVvX3RpbWluZygpLnJlY2VpdmVf
ZmluaXNoX21zIC0gZnJhbWUtPnZpZGVvX3RpbWluZygpLnJlY2VpdmVfc3RhcnRfbXMpIDw8ICIg
bXMiOworICAgICAgfQorICAgIH0KKworICAgIG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5wdXNo
X2JhY2soZnJhbWVUaW1lKTsKKyAgICB3aGlsZSAob2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLmZy
b250KCkgPD0gKGZyYW1lVGltZSAtIDIwMDApKQorICAgICAgICBvYnNlcnZlZEZyYW1lVGltZVN0
YW1wc18ucG9wX2Zyb250KCk7CisKKyAgICBhdXRvIGludGVydmFsID0gZnJhbWVUaW1lIC0gb2Jz
ZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLmZyb250KCk7CisgICAgaWYgKGludGVydmFsID4gMTAwMCkK
KyAgICAgICAgb2JzZXJ2ZWRGcmFtZVJhdGVfID0gb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLnNp
emUoKSAqIDEwMDAgLyBpbnRlcnZhbDsKKyNlbmRpZgorCiAgIGNvbnN0IGFic2w6Om9wdGlvbmFs
PFJUUFZpZGVvSGVhZGVyOjpHZW5lcmljRGVzY3JpcHRvckluZm8+JiBkZXNjcmlwdG9yID0KICAg
ICAgIGZyYW1lLT5HZXRSdHBWaWRlb0hlYWRlcigpLmdlbmVyaWM7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19z
dHJlYW1fcmVjZWl2ZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2Vi
cnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuaAppbmRleCAzMzA0NTViMWI4NmJk
NWZkM2U0MGQ1MzYzNmI2MDNlYzY3MDM3N2FlLi45NDhiOTI1YjhmY2YzNzhkYWZlYzU3MjQ3YjVm
NzhmMjBiYzZjMzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVh
bV9yZWNlaXZlci5oCkBAIC0zNjAsNiArMzYwLDEyIEBAIGNsYXNzIFJ0cFZpZGVvU3RyZWFtUmVj
ZWl2ZXIgOiBwdWJsaWMgTG9zc05vdGlmaWNhdGlvblNlbmRlciwKIAogICBydGM6OnNjb3BlZF9y
ZWZwdHI8UnRwVmlkZW9TdHJlYW1SZWNlaXZlckZyYW1lVHJhbnNmb3JtZXJEZWxlZ2F0ZT4KICAg
ICAgIGZyYW1lX3RyYW5zZm9ybWVyX2RlbGVnYXRlXzsKKworI2lmIGRlZmluZWQoV0VCUlRDX1dF
QktJVF9CVUlMRCkKKyAgc3RkOjpkZXF1ZTxpbnQ2NF90PiBvYnNlcnZlZEZyYW1lVGltZVN0YW1w
c187CisgIGRvdWJsZSBvYnNlcnZlZEZyYW1lUmF0ZV8geyAwIH07CisgIHNpemVfdCBmcmFtZUNv
dW50U2luY2VMb2dnaW5nRm9yTGF0ZUZyYW1lXyB7IDAgfTsKKyNlbmRpZgogfTsKIAogfSAgLy8g
bmFtZXNwYWNlIHdlYnJ0YwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCAxNDk1OWMzODE1MDM1NmE4N2RlZWUz
MmVmYjM3YjI2MjU2NWYyNmU5Li40YjQyNjIxNDFiZmY4NGY5MDU2YjEyMTc0OWNkMGM3N2QxMzQ3
MWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTc5Nyw2ICsxNzk3LDcgQEAgcGxhdGZvcm0vRmlsZUNo
b29zZXIuY3BwCiBwbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcAogcGxhdGZvcm0vRmlsZU1vbml0b3Iu
Y3BwCiBwbGF0Zm9ybS9GaWxlU3RyZWFtLmNwcAorcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5j
cHAKIHBsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCiBwbGF0Zm9ybS9MYXlvdXRVbml0LmNw
cAogcGxhdGZvcm0vTGVnYWN5U2NoZW1lUmVnaXN0cnkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDZmOTZkMTUwY2JmMWI3
ZmJkODY1OTI0YjZiMTRkMmY2Yzg3MmVkNC4uMmFhY2QwZDQzNmViYzE4NDk0MTM1MDI3ZjAyNDll
MzBiNDQ1N2VlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTEwNSw2ICsxMTA1LDcgQEAKIAkJNDE4OTM4QjIyNDI5RjlCNDAw
N0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODkzOEFGMjQyOUY5QUIwMDdGREM0MSAvKiBSZXRy
aWV2ZVJlY29yZHNPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4QTA2
Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oICovOyB9OwogCQk0MThGODgw
NTBGRjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4Rjg4MDMwRkY5NTdBRTAwODBGMDQ1IC8q
IEpTQWJzdHJhY3RXb3JrZXIuaCAqLzsgfTsKKwkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3IC8q
IEZyYW1lUmF0ZU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MjQy
NDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MjQyNDcy
MTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICov
OyB9OwogCQk0MTlBQ0Y5MjFGOTdFN0RBMDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlBQ0Y4RTFG
OTdFN0Q1MDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5QkMyREYxNjg1MzI5OTAwRDY0RDZE
IC8qIFZpc2l0ZWRMaW5rU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxOUJDMkREMTY4NTMyOTkwMEQ2NEQ2RCAvKiBWaXNpdGVkTGlua1N0YXRl
LmggKi87IH07CkBAIC03NTE0LDYgKzc1MTUsOCBAQAogCQk0MThDMzk1RjFDOEYwQUFCMDA1MUM4
QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEY4ODAyMEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fi
c3RyYWN0V29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
QWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGODgw
MzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0Fic3RyYWN0V29ya2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxOTBGM0ExMjQ5RDE1MjcwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTkwRjNBMzI0OUQxNTI4MDA1MzFD
NTcgLyogRnJhbWVSYXRlTW9uaXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBGcmFtZVJhdGVNb25pdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTI0
MjQ3MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTk0
NTY5NDIwMzUwMkE1MDA0QkEyNzcgLyogQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZUxvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTQ1Njk2
MjAzNTAyQTYwMDRCQTI3NyAvKiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9h
ZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNjQyMCw2ICsyNjQyMyw4IEBA
CiAJCQkJMkVGMUJGRTkxMjFDOUY0MjAwQzI3NjI3IC8qIEZpbGVTdHJlYW0uaCAqLywKIAkJCQky
RUYxQkZGODEyMUNCMENFMDBDMjc2MjcgLyogRmlsZVN0cmVhbUNsaWVudC5oICovLAogCQkJCUJD
MDczQkE5MEMzOTlCMUYwMDBGNTk3OSAvKiBGbG9hdENvbnZlcnNpb24uaCAqLywKKwkJCQk0MTkw
RjNBMTI0OUQxNTI3MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5jcHAgKi8sCisJCQkJNDE5
MEYzQTMyNDlEMTUyODAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCAqLywKIAkJCQlDRDRC
RTUyOTFDRTEzNDI1MDA5RDg3REEgLyogR2VuZXJpY1Rhc2tRdWV1ZS5jcHAgKi8sCiAJCQkJQ0Q2
MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLywKIAkJCQlBODc0
OEJERjEyQ0JGMkRDMDAxRkJBNDEgLyogSGFzaFRvb2xzLmggKi8sCkBAIC0zMzg1Myw2ICszMzg1
OCw3IEBACiAJCQkJQTQ1NzM0Q0YxRDNBRkQ1OTAxOTA2MDhGIC8qIFdvcmtlckFuaW1hdGlvbkNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkxMjc4RDYyMjFERURBRjAwMEI1NzE4NCAv
KiBXb3JrZXJBdWRpdEFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUE3RDM1MzFGNDM4RDE2
MDA4OTg4REUgLyogV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE1QjgxQ0NEMUZBQTQ0REUwMDM3RDFFNiAvKiBXb3JrZXJDb25zb2xl
QWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NTYzOUQxMUM2RjA5RTMwMDgwNkQ4RSAvKiBX
b3JrZXJDb25zb2xlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUI4MUNDRTFGQUE0NERF
MDAzN0QxRTYgLyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3NDlk
ZmMyZTllYWJmMmFkZjZiMDVkN2U3NGNhNmUyYzBkOGFkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmNwcApAQCAtMCwwICsxLDU0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZyYW1lUmF0ZU1vbml0b3IuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCit2b2lkIEZyYW1lUmF0ZU1vbml0b3I6Om5ld0ZyYW1lKCkKK3sKKyAgICAr
K21fZnJhbWVDb3VudDsKKyAgICArK21fZnJhbWVDb3VudFNpbmNlTG9nZ2luZ0ZvckxhdGVGcmFt
ZTsKKworICAgIGF1dG8gbGFzdEZyYW1lVGltZSA9IG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMu
aXNFbXB0eSgpID8gMCA6IG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMubGFzdCgpOworICAgIGF1
dG8gZnJhbWVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKS52
YWx1ZSgpOworCisgICAgaWYgKG1fZnJhbWVDb3VudFNpbmNlTG9nZ2luZ0ZvckxhdGVGcmFtZSA+
IDUgJiYgbV9vYnNlcnZlZEZyYW1lUmF0ZSAmJiBsYXN0RnJhbWVUaW1lICYmIChmcmFtZVRpbWUg
LSBsYXN0RnJhbWVUaW1lKSA+ICgzIC8gbV9vYnNlcnZlZEZyYW1lUmF0ZSkpIHsKKyAgICAgICAg
bV9mcmFtZUNvdW50U2luY2VMb2dnaW5nRm9yTGF0ZUZyYW1lID0gMDsKKyAgICAgICAgbV9jYWxs
YmFjayhmcmFtZVRpbWUsIGxhc3RGcmFtZVRpbWUpOworICAgIH0KKworICAgIG1fb2JzZXJ2ZWRG
cmFtZVRpbWVTdGFtcHMuYXBwZW5kKGZyYW1lVGltZSk7CisgICAgbV9vYnNlcnZlZEZyYW1lVGlt
ZVN0YW1wcy5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0byB0aW1lKSB7CisgICAgICAgIHJldHVy
biB0aW1lIDw9IGZyYW1lVGltZSAtIDI7CisgICAgfSk7CisKKyAgICBhdXRvIGludGVydmFsID0g
bV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5sYXN0KCkgLSBtX29ic2VydmVkRnJhbWVUaW1lU3Rh
bXBzLmZpcnN0KCk7CisgICAgaWYgKGludGVydmFsID4gMSkKKyAgICAgICAgbV9vYnNlcnZlZEZy
YW1lUmF0ZSA9IChtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLnNpemUoKSAvIGludGVydmFsKTsK
K30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJhbWVSYXRlTW9u
aXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc5NzYzNzc1Yjc4ZjUzOTRkMzJkYzJmYzI4NWNlYTJiMDYzM2YyYzIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmgKQEAg
LTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgRnJhbWVSYXRlTW9uaXRvciB7CitwdWJsaWM6CisgICAgdXNpbmcg
Q2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKGRvdWJsZSBmcmFtZVRpbWUsIGRvdWJsZSBsYXN0RnJh
bWVUaW1lKT47CisgICAgZXhwbGljaXQgRnJhbWVSYXRlTW9uaXRvcihDYWxsYmFjayYmKTsKKwor
ICAgIHZvaWQgbmV3RnJhbWUoKTsKKworICAgIGRvdWJsZSBmcmFtZVJhdGUoKSBjb25zdCB7IHJl
dHVybiBtX29ic2VydmVkRnJhbWVSYXRlOyB9CisgICAgc2l6ZV90IGZyYW1lQ291bnQoKSBjb25z
dCB7IHJldHVybiBtX2ZyYW1lQ291bnQ7IH0KKworcHJpdmF0ZToKKyAgICBDYWxsYmFjayBtX2Nh
bGxiYWNrOworICAgIERlcXVlPGRvdWJsZSwgMTIwPiBtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBz
OworICAgIGRvdWJsZSBtX29ic2VydmVkRnJhbWVSYXRlIHsgMCB9OworICAgIHNpemVfdCBtX2Zy
YW1lQ291bnQgeyAwIH07CisgICAgc2l6ZV90IG1fZnJhbWVDb3VudFNpbmNlTG9nZ2luZ0Zvckxh
dGVGcmFtZSB7IDAgfTsKK307CisKK2lubGluZSBGcmFtZVJhdGVNb25pdG9yOjpGcmFtZVJhdGVN
b25pdG9yKENhbGxiYWNrJiYgY2FsbGJhY2spCisgICAgOiBtX2NhbGxiYWNrKFdURk1vdmUoY2Fs
bGJhY2spKQoreworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCBiZDYxNjhmMDlmNWY0MjVhNjA5Y2Q2
OGFlY2JkYmNmZTZhY2FlNGU2Li5lYmFjNjc4ZWFhZjEwY2ViZDQyMWMxZGYxM2UzNDE5ZjAyMDQ2
YmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pICYmIFVTRShBVkZPVU5EQVRJT04pCiAKKyNpbmNsdWRlICJGcmFtZVJhdGVNb25pdG9y
LmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgiCiAjaW5jbHVkZSA8d3Rm
L0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTgxLDYgKzgyLDEwIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCByZXF1ZXN0Tm90aWZpY2F0aW9uV2hlblJlYWR5Rm9yVmlkZW9EYXRh
KCk7CiAgICAgdm9pZCBlbnF1ZXVlU2FtcGxlQnVmZmVyKE1lZGlhU2FtcGxlJik7CiAKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIG9uRnJhbWVSYXRlTm90aWZpY2F0aW9uKGRv
dWJsZSBmcmFtZVRpbWUsIGRvdWJsZSBsYXN0RnJhbWVUaW1lKTsKKyNlbmRpZgorCiBwcml2YXRl
OgogICAgIFJldGFpblB0cjxXZWJBVlNhbXBsZUJ1ZmZlclN0YXR1c0NoYW5nZUxpc3RlbmVyPiBt
X3N0YXR1c0NoYW5nZUxpc3RlbmVyOwogICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllcj4gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI7CkBAIC05Miw2ICs5NywxMCBAQCBw
cml2YXRlOgogICAgIC8vIE9ubHkgYWNjZXNzZWQgdGhyb3VnaCBtX3Byb2Nlc3NpbmdRdWV1ZSBv
ciBpZiBtX3Byb2Nlc3NpbmdRdWV1ZSBpcyBudWxsLgogICAgIHVzaW5nIFBlbmRpbmdTYW1wbGVR
dWV1ZSA9IERlcXVlPFJlZjxNZWRpYVNhbXBsZT4+OwogICAgIFBlbmRpbmdTYW1wbGVRdWV1ZSBt
X3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgRnJhbWVSYXRlTW9uaXRvciBtX2ZyYW1lUmF0ZU1vbml0b3I7CisjZW5kaWYKIH07CiAKIGlu
bGluZSB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpzZXRSZW5kZXJQb2xpY3ko
UmVuZGVyUG9saWN5IHJlbmRlclBvbGljeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggNzBiM2M0NGYzY2Mw
ZmIyNGVjODkwMjhlNTgyNWEzZWQ4MDhjYjQwMS4uMmNlM2U4YzA2NjY2MzhkNzdjNzc3MWEwM2Ez
MjkzMzE1ZjcwOThhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTE1Myw2ICsxNTMsOSBAQCBMb2NhbFNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIoUmV0
YWluUHRyPEFWU2FtcGxlQgogICAgICwgbV9zdGF0dXNDaGFuZ2VMaXN0ZW5lcihhZG9wdE5TKFtb
V2ViQVZTYW1wbGVCdWZmZXJTdGF0dXNDaGFuZ2VMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhQYXJl
bnQ6dGhpc10pKQogICAgICwgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIoV1RGTW92ZShzYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIpKQogICAgICwgbV9wcm9jZXNzaW5nUXVldWUoV29ya1F1ZXVl
OjpjcmVhdGUoIkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHF1ZXVlIikpCisjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2ZyYW1lUmF0ZU1vbml0b3IoW3RoaXNdKGRvdWJs
ZSBmcmFtZVRpbWUsIGRvdWJsZSBsYXN0RnJhbWVUaW1lKSB7IG9uRnJhbWVSYXRlTm90aWZpY2F0
aW9uKGZyYW1lVGltZSwgbGFzdEZyYW1lVGltZSk7IH0pCisjZW5kaWYKIHsKIH0KIApAQCAtMzAw
LDYgKzMwMyw3IEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVldWVT
YW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIHsKICAgICBtX3Byb2Nlc3NpbmdRdWV1ZS0+ZGlz
cGF0Y2goW3RoaXMsIHNhbXBsZSA9IG1ha2VSZWYoc2FtcGxlKV0gewogICAgICAgICBpZiAoIVtt
X3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YV0pIHsKKyAg
ICAgICAgICAgIFdURkxvZ0Fsd2F5cygiTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVu
cXVldWVTYW1wbGUgbm90IHJlYWR5IGZvciBtb3JlIG1lZGlhIGRhdGEiKTsKICAgICAgICAgICAg
IGFkZFNhbXBsZVRvUGVuZGluZ1F1ZXVlKHNhbXBsZSk7CiAgICAgICAgICAgICByZXF1ZXN0Tm90
aWZpY2F0aW9uV2hlblJlYWR5Rm9yVmlkZW9EYXRhKCk7CiAgICAgICAgICAgICByZXR1cm47CkBA
IC0zMjQsNyArMzI4LDIwIEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVu
cXVldWVTYW1wbGVCdWZmZXIoTWVkaWFTYW1wbGUmIHNhbXBsZSkKICAgICB9CiAKICAgICBbbV9z
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpzYW1wbGVUb0VucXVl
dWVdOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgbV9mcmFtZVJhdGVNb25pdG9y
Lm5ld0ZyYW1lKCk7CisjZW5kaWYKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAordm9p
ZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6b25GcmFtZVJhdGVOb3RpZmljYXRpb24o
ZG91YmxlIGZyYW1lVGltZSwgZG91YmxlIGxhc3RGcmFtZVRpbWUpCit7CisgICAgY2FsbE9uTWFp
blRocmVhZChbZnJhbWVUaW1lLCBsYXN0RnJhbWVUaW1lLCBvYnNlcnZlZEZyYW1lUmF0ZSA9IG1f
ZnJhbWVSYXRlTW9uaXRvci5mcmFtZVJhdGUoKSwgZnJhbWVDb3VudCA9IG1fZnJhbWVSYXRlTW9u
aXRvci5mcmFtZUNvdW50KCldIHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCJMb2NhbFNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZUJ1ZmZlciBhdCAlZiwgcHJldmlvdXMgZnJh
bWUgd2FzIGF0ICVmLCBvYnNlcnZlZCBmcmFtZSByYXRlIGlzICVmLCBkZWxheSBzaW5jZSBsYXN0
IGZyYW1lIGlzICVmIG1zLCBmcmFtZSBjb3VudCBpcyAlbHUiLCBmcmFtZVRpbWUsIGxhc3RGcmFt
ZVRpbWUsIG9ic2VydmVkRnJhbWVSYXRlLCAoZnJhbWVUaW1lIC0gbGFzdEZyYW1lVGltZSkgKiAx
MDAwLCBmcmFtZUNvdW50KTsKKyAgICB9KTsKIH0KKyNlbmRpZgogCiB2b2lkIExvY2FsU2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyOjpyZW1vdmVPbGRTYW1wbGVzRnJvbVBlbmRpbmdRdWV1ZSgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKaW5k
ZXggZjg3NTY0ZDk5ODZjZTRhMTEzMGI1OTA1NzhiNzc5ZDJmOTBhZGZkNS4uNDQwNzZhNTZlYzk3
NGY5YmI4NzM0MmJmYzc0ODMwYzg1OWM3NzJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5p
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUg
PEF1ZGlvVG9vbGJveC9BdWRpb1Rvb2xib3guaD4KICNpbmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1
ZGlvVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402544</attachid>
            <date>2020-06-23 04:57:41 -0700</date>
            <delta_ts>2020-06-24 02:08:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213369-20200623135739.patch</filename>
            <type>text/plain</type>
            <size>20963</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA3NDQ0YzEyZjRlOTM0Zjc4YWQ2ZjkzMjY4NmQyZjg3YTJhOWFmOWYxLi43ZmIx
MDAyMWFkMDE3MmE0NTBkZTNjMjk1NDVkZTVlMTEwOTM4YWM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNi0yMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxvZ2dpbmcgdG8gV2ViUlRD
IHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0YWJpbGl0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMzY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxvZ2dpbmcgZm9y
IGVuY29kZWQgZnJhbWVzIHRha2luZyBhIGxvbmcgdGltZSB0byBiZSByZWNlaXZlZC4KKyAgICAg
ICAgV2UgbG9nIHRoZSB0aW1lIHRha2UgdG8gcmVjZWl2ZSB0aGUgZnJhbWUsIHRoZSB0aW1lIHNp
bmNlIHByZXZpb3VzIGZyYW1lLCB0aGUgYnl0ZSBzaXplIG9mIHRoZSBmcmFtZS4KKyAgICAgICAg
V2UgY29tcHV0ZSB0aGF0IGEgZnJhbWUgdGFrZXMgdG9vIGxvbmcgYnkgY2hlY2tpbmcgd2hldGhl
ciBpdCBpcyBkZWxheWVkIGJ5IG1vcmUgdGhhbiB0aHJlZSBleHBlY3RlZCBmcmFtZXMuCisKKyAg
ICAgICAgKiBTb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2M6
CisgICAgICAgICogU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVy
Lmg6CisKIDIwMjAtMDYtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcHJvdmUgU0NUUCBjb29raWUgZ2VuZXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVhMjhm
NTRlOGFjOWJiOTc4YjQzNjg1MmI2NWExMjZhMTA3Y2Q4MjcuLjdhZGUxNDVkMWU2Yzk2NmYzNTcw
YWRmYWZjY2Q2NjBkMjFlNzUxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAyMC0w
Ni0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxv
Z2dpbmcgdG8gV2ViUlRDIHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0
YWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEzMzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgRnJhbWVSYXRlTW9uaXRvciBjbGFzcyB0byBjb21wdXRlIGZyYW1lIHN0YWJpbGl0eS4K
KyAgICAgICAgVXNlIHRoaXMgY2xhc3MgYXQgZW5kIG9mIHRoZSB2aWRlbyBwaXBlbGluZSAoTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpLgorICAgICAgICBMb2cgbWVzc2FnZXMgaW4gY2Fz
ZSBhIGZyYW1lIGdldHMgZnJvemVuIGF0IExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHRp
bWUuCisgICAgICAgIFdlIGNvbXB1dGUgdGhhdCBhIGZyYW1lIHRha2VzIHRvbyBsb25nIGJ5IGNo
ZWNraW5nIHdoZXRoZXIgaXQgaXMgZGVsYXllZCBieSBtb3JlIHRoYW4gdGhyZWUgZXhwZWN0ZWQg
ZnJhbWVzLgorICAgICAgICBUaGlzIGxvZ2dpbmcgaXMgY29tcGxlbWVudGVkIHdpdGggZW5jb2Rl
ZCBmcmFtZSByZWNlcHRpb24gbG9nZ2luZyAoYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgdmlkZW8g
cGlwZWxpbmUpCisgICAgICAgIGFuZCBXZWJSVEMgc3RhdHMgbG9nZ2luZyAoZnJlZXplQ291bnQs
IHRvdGFsRnJlZXplRHVyYXRpb24sIHNob3J0bHkgYWZ0ZXIgZGVjb2RpbmcgdGhlIGZyYW1lcyku
CisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6bmV3RnJhbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVJhdGVNb25pdG9yOjpmcmFtZVJhdGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6ZnJhbWVDb3VudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVJhdGVNb25pdG9yOjpGcmFtZVJhdGVNb25pdG9yKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xv
Y2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjplbnF1ZXVl
U2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
OjplbnF1ZXVlU2FtcGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyOjpvbkZyYW1lUmF0ZU5vdGlmaWNhdGlvbik6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5o
OgorICAgICAgICBVbmlmaWVkIGJ1aWxkIGZpeC4KKwogMjAyMC0wNi0xOCAgRG91ZyBLZWxseSAg
PGRvdWdrQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGFtcCB0ZXh0IHJ1biB3aWR0aCB0byB6ZXJv
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92
aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmNjIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5jYwpp
bmRleCAwNThkZjBhZTk2NmU1ZDExZWZhMjRlMDMwNjQ5YzU2MjkxOWEyY2U5Li4yMjE0YzQ2MjY3
MDAxZDZkODc1YjM3NWEyZjdkZjY0YzQ4MzhmOGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2Vp
dmVyLmNjCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Zp
ZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2MKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNs
dWRlICJydGNfYmFzZS9sb2NhdGlvbi5oIgogI2luY2x1ZGUgInJ0Y19iYXNlL2xvZ2dpbmcuaCIK
ICNpbmNsdWRlICJydGNfYmFzZS9zdHJpbmdzL3N0cmluZ19idWlsZGVyLmgiCisjaW5jbHVkZSAi
cnRjX2Jhc2UvdGltZV91dGlscy5oIgogI2luY2x1ZGUgInN5c3RlbV93cmFwcGVycy9pbmNsdWRl
L2ZpZWxkX3RyaWFsLmgiCiAjaW5jbHVkZSAic3lzdGVtX3dyYXBwZXJzL2luY2x1ZGUvbWV0cmlj
cy5oIgogI2luY2x1ZGUgInN5c3RlbV93cmFwcGVycy9pbmNsdWRlL250cF90aW1lLmgiCkBAIC03
NDAsNiArNzQxLDMxIEBAIHZvaWQgUnRwVmlkZW9TdHJlYW1SZWNlaXZlcjo6T25Bc3NlbWJsZWRG
cmFtZSgKICAgUlRDX0RDSEVDS19SVU5fT04oJm5ldHdvcmtfdGNfKTsKICAgUlRDX0RDSEVDSyhm
cmFtZSk7CiAKKyNpZiBkZWZpbmVkKFdFQlJUQ19XRUJLSVRfQlVJTEQpCisgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIE1heEZyYW1lRGVsYXlDb3VudCA9IDM7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBUaW1lU3RhbXBTdG9yYWdlRHVyYXRpb25Jbk1zID0gMjAwMDsKKyAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIE9uZVNlY29uZEluTXMgPSAxMDAwOworICAgIC8vIEZJWE1F
OiBDb25zaWRlciB1c2luZyBNb3ZpbmdBdmVyYWdlIGluc3RlYWQuCisgICAgKytmcmFtZUNvdW50
XzsKKworICAgIGF1dG8gZnJhbWVUaW1lID0gY2xvY2tfLT5UaW1lSW5NaWxsaXNlY29uZHMoKTsK
KyAgICBhdXRvIGxhc3RGcmFtZVRpbWUgPSBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18uZW1wdHko
KSA/IGZyYW1lVGltZSA6IG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5iYWNrKCk7CisgICAgaWYg
KG9ic2VydmVkRnJhbWVSYXRlXykgeworICAgICAgYXV0byBkZWxheSA9IGZyYW1lVGltZSAtIGxh
c3RGcmFtZVRpbWU7CisgICAgICBpZiAoZGVsYXkgPiAoTWF4RnJhbWVEZWxheUNvdW50ICogT25l
U2Vjb25kSW5NcyAvIG9ic2VydmVkRnJhbWVSYXRlXykpIHsKKyAgICAgICAgUlRDX0xPRyhMU19X
QVJOSU5HKSA8PCAiUnRwVmlkZW9TdHJlYW1SZWNlaXZlcjo6T25Bc3NlbWJsZWRGcmFtZSBhdCAi
IDw8IGZyYW1lVGltZSA8PCAiLCBwcmV2aW91cyBmcmFtZSB3YXMgYXQgIiA8PCBsYXN0RnJhbWVU
aW1lIDw8ICIsIG9ic2VydmVkIGZyYW1lIHJhdGUgaXMgIiA8PCBvYnNlcnZlZEZyYW1lUmF0ZV8g
PDwgIiwgZGVsYXkgc2luY2UgbGFzdCBmcmFtZSBpcyAiIDw8IChmcmFtZVRpbWUgLSBsYXN0RnJh
bWVUaW1lKSA8PCAgIiBtcywgZnJhbWUgY291bnQgaXMgIiA8PCBmcmFtZUNvdW50XyA8PCAiLCBz
aXplIGlzICIgPDwgZnJhbWUtPkVuY29kZWRJbWFnZSgpLnNpemUoKSA8PCAiLCBmcmFtZSByZWNl
cHRpb24gZHVyYXRpb24gaXMgIiA8PCAoZnJhbWUtPnZpZGVvX3RpbWluZygpLnJlY2VpdmVfZmlu
aXNoX21zIC0gZnJhbWUtPnZpZGVvX3RpbWluZygpLnJlY2VpdmVfc3RhcnRfbXMpIDw8ICIgbXMi
OworICAgICAgfQorICAgIH0KKworICAgIG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5wdXNoX2Jh
Y2soZnJhbWVUaW1lKTsKKyAgICB3aGlsZSAob2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLmZyb250
KCkgPD0gKGZyYW1lVGltZSAtIFRpbWVTdGFtcFN0b3JhZ2VEdXJhdGlvbkluTXMpKQorICAgICAg
ICBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18ucG9wX2Zyb250KCk7CisKKyAgICBhdXRvIGludGVy
dmFsID0gZnJhbWVUaW1lIC0gb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLmZyb250KCk7CisgICAg
aWYgKGludGVydmFsID4gT25lU2Vjb25kSW5NcykKKyAgICAgICAgb2JzZXJ2ZWRGcmFtZVJhdGVf
ID0gb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLnNpemUoKSAqIE9uZVNlY29uZEluTXMgLyBpbnRl
cnZhbDsKKyNlbmRpZgorCiAgIGNvbnN0IGFic2w6Om9wdGlvbmFsPFJUUFZpZGVvSGVhZGVyOjpH
ZW5lcmljRGVzY3JpcHRvckluZm8+JiBkZXNjcmlwdG9yID0KICAgICAgIGZyYW1lLT5HZXRSdHBW
aWRlb0hlYWRlcigpLmdlbmVyaWM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRl
b19zdHJlYW1fcmVjZWl2ZXIuaAppbmRleCAzMzA0NTViMWI4NmJkNWZkM2U0MGQ1MzYzNmI2MDNl
YzY3MDM3N2FlLi4zN2IyN2YzYzY0ZDI2NTMwOGQwMjNhZjRmNDYzMzI0NjVhNzQ2ZjdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92aWRlby9y
dHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5oCkBAIC0z
NjAsNiArMzYwLDEyIEBAIGNsYXNzIFJ0cFZpZGVvU3RyZWFtUmVjZWl2ZXIgOiBwdWJsaWMgTG9z
c05vdGlmaWNhdGlvblNlbmRlciwKIAogICBydGM6OnNjb3BlZF9yZWZwdHI8UnRwVmlkZW9TdHJl
YW1SZWNlaXZlckZyYW1lVHJhbnNmb3JtZXJEZWxlZ2F0ZT4KICAgICAgIGZyYW1lX3RyYW5zZm9y
bWVyX2RlbGVnYXRlXzsKKworI2lmIGRlZmluZWQoV0VCUlRDX1dFQktJVF9CVUlMRCkKKyAgc3Rk
OjpkZXF1ZTxpbnQ2NF90PiBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc187CisgIGRvdWJsZSBvYnNl
cnZlZEZyYW1lUmF0ZV8geyAwIH07CisgIHVpbnQ2NF90IGZyYW1lQ291bnRfIHsgMCB9OworI2Vu
ZGlmCiB9OwogCiB9ICAvLyBuYW1lc3BhY2Ugd2VicnRjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDE0OTU5
YzM4MTUwMzU2YTg3ZGVlZTMyZWZiMzdiMjYyNTY1ZjI2ZTkuLjRiNDI2MjE0MWJmZjg0ZjkwNTZi
MTIxNzQ5Y2QwYzc3ZDEzNDcxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNzk3LDYgKzE3OTcsNyBA
QCBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKIHBsYXRmb3JtL0ZpbGVIYW5kbGUuY3BwCiBwbGF0
Zm9ybS9GaWxlTW9uaXRvci5jcHAKIHBsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwCitwbGF0Zm9ybS9G
cmFtZVJhdGVNb25pdG9yLmNwcAogcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKIHBsYXRm
b3JtL0xheW91dFVuaXQuY3BwCiBwbGF0Zm9ybS9MZWdhY3lTY2hlbWVSZWdpc3RyeS5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA0NmY5NmQxNTBjYmYxYjdmYmQ4NjU5MjRiNmIxNGQyZjZjODcyZWQ0Li43ZjcwZTM3ZWJhNWZh
NzhiMjI0NDM4ZWU5M2QwMjJkNDk0NTM2NDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTA1LDYgKzExMDUsNyBAQAogCQk0
MTg5MzhCMjI0MjlGOUI0MDA3RkRDNDEgLyogUmV0cmlldmVSZWNvcmRzT3B0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4OTM4QUYyNDI5RjlB
QjAwN0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MThBMDZEMDEzM0MwNEQ1MDBDRDM3OUMg
LyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmgg
Ki87IH07CiAJCTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGODgwMzBG
Rjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovOyB9OworCQk0MTkwRjNBNTI0
QTBCNEVFMDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MEYzQTMyNDlEMTUyODAwNTMxQzU3IC8qIEZy
YW1lUmF0ZU1vbml0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlQ29jb2EubW0gKi87IH07CiAJCTQxOUFDRjkyMUY5N0U3REEwMDlGMUE4MyAvKiBTZXJ2
aWNlV29ya2VyRmV0Y2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxOUFDRjhFMUY5N0U3RDUwMDlGMUE4MyAvKiBTZXJ2aWNlV29ya2VyRmV0Y2guaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTlCQzJE
RjE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRlZExpbmtTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QkMyREQxNjg1MzI5OTAwRDY0RDZEIC8q
IFZpc2l0ZWRMaW5rU3RhdGUuaCAqLzsgfTsKQEAgLTc1MTQsNiArNzUxNSw4IEBACiAJCTQxOEMz
OTVGMUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4Rjg4MDIwRkY5NTdB
RTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNBYnN0cmFjdFdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxOEY4ODAzMEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWJzdHJhY3RXb3JrZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZy
YW1lUmF0ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RnJhbWVSYXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOTBG
M0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxOTQ1Njk0MjAzNTAyQTUwMDRCQTI3NyAvKiBBcHBsaWNhdGlvbkNhY2hl
UmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE5NDU2OTYyMDM1MDJBNjAwNEJBMjc3IC8qIEFwcGxpY2F0aW9uQ2FjaGVSZXNv
dXJjZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI2
NDIwLDYgKzI2NDIzLDggQEAKIAkJCQkyRUYxQkZFOTEyMUM5RjQyMDBDMjc2MjcgLyogRmlsZVN0
cmVhbS5oICovLAogCQkJCTJFRjFCRkY4MTIxQ0IwQ0UwMEMyNzYyNyAvKiBGaWxlU3RyZWFtQ2xp
ZW50LmggKi8sCiAJCQkJQkMwNzNCQTkwQzM5OUIxRjAwMEY1OTc5IC8qIEZsb2F0Q29udmVyc2lv
bi5oICovLAorCQkJCTQxOTBGM0ExMjQ5RDE1MjcwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9y
LmNwcCAqLywKKwkJCQk0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRv
ci5oICovLAogCQkJCUNENEJFNTI5MUNFMTM0MjUwMDlEODdEQSAvKiBHZW5lcmljVGFza1F1ZXVl
LmNwcCAqLywKIAkJCQlDRDYyRkI5NDFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1
ZS5oICovLAogCQkJCUE4NzQ4QkRGMTJDQkYyREMwMDFGQkE0MSAvKiBIYXNoVG9vbHMuaCAqLywK
QEAgLTMwNzIyLDYgKzMwNzI3LDcgQEAKIAkJCQk5M0I3N0EzODBBREQ3OTI1MDBFQTRCODEgLyog
RnJhbWVMb2FkZXJUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU4NDM2ODYwQUUwMUI3NDAw
RTUzNzUzIC8qIEZyYW1lTG9hZFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTYyOEQyMTRF
MTIxMzFFRjQwMDU1RENGQyAvKiBGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTkwRjNBNTI0QTBCNEVFMDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMEUwOTlFNjQ5MjAwNTZFNTgxIC8qIEZyYW1lU2VsZWN0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNENENjI5QjE4MzgzNzY2MDA3RUJBRjEgLyogRnJh
bWVTbmFwc2hvdHRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1QTIxNDg1MDk3QTNGNTMwMEI5
MDUwQSAvKiBGcmFtZVRyZWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDJjNjczY2YwYjMwYTcyYmU3
N2NhZmY3ZjIyYjRhMzM3MzY0ZTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJGcmFtZVJhdGVNb25pdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
dm9pZCBGcmFtZVJhdGVNb25pdG9yOjp1cGRhdGUoKQoreworICAgICsrbV9mcmFtZUNvdW50Owor
CisgICAgYXV0byBmcmFtZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VF
cG9jaCgpLnZhbHVlKCk7CisgICAgYXV0byBsYXN0RnJhbWVUaW1lID0gbV9vYnNlcnZlZEZyYW1l
VGltZVN0YW1wcy5pc0VtcHR5KCkgPyBmcmFtZVRpbWUgOiBtX29ic2VydmVkRnJhbWVUaW1lU3Rh
bXBzLmxhc3QoKTsKKworICAgIGlmIChtX29ic2VydmVkRnJhbWVSYXRlKSB7CisgICAgICAgIGF1
dG8gbWF4RGVsYXkgPSBNYXhGcmFtZURlbGF5Q291bnQgLyBtX29ic2VydmVkRnJhbWVSYXRlOwor
ICAgICAgICBpZiAoKGZyYW1lVGltZSAtIGxhc3RGcmFtZVRpbWUpID4gbWF4RGVsYXkpCisgICAg
ICAgICAgICBtX2xhdGVGcmFtZUNhbGxiYWNrKHsgTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29u
ZHMoZnJhbWVUaW1lKSwgTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMobGFzdEZyYW1lVGlt
ZSkgfSk7CisgICAgfQorICAgIG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuYXBwZW5kKGZyYW1l
VGltZSk7CisgICAgbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5yZW1vdmVBbGxNYXRjaGluZyhb
Jl0oYXV0byB0aW1lKSB7CisgICAgICAgIHJldHVybiB0aW1lIDw9IGZyYW1lVGltZSAtIFRpbWVT
dGFtcFN0b3JhZ2VEdXJhdGlvbi52YWx1ZSgpOworICAgIH0pOworCisgICAgYXV0byBpbnRlcnZh
bCA9IG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMubGFzdCgpIC0gbV9vYnNlcnZlZEZyYW1lVGlt
ZVN0YW1wcy5maXJzdCgpOworICAgIGlmIChpbnRlcnZhbCA+IE1pbmltdW1BdmVyYWdlRHVyYXRp
b24udmFsdWUoKSkKKyAgICAgICAgbV9vYnNlcnZlZEZyYW1lUmF0ZSA9IChtX29ic2VydmVkRnJh
bWVUaW1lU3RhbXBzLnNpemUoKSAvIGludGVydmFsKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3YzA5YTFjOWM2MmYwYTgx
YTNlNTg1YzJiZDE4NzE4NDg1OTAxMDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGcmFtZVJhdGVNb25pdG9yIHsKK3B1YmxpYzoKKyAg
ICBzdHJ1Y3QgTGF0ZUZyYW1lSW5mbyB7CisgICAgICAgIE1vbm90b25pY1RpbWUgZnJhbWVUaW1l
OworICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RGcmFtZVRpbWU7CisgICAgfTsKKyAgICB1c2lu
ZyBMYXRlRnJhbWVDYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoTGF0ZUZyYW1lSW5mbyk+OworICAg
IGV4cGxpY2l0IEZyYW1lUmF0ZU1vbml0b3IoTGF0ZUZyYW1lQ2FsbGJhY2smJik7CisKKyAgICB2
b2lkIHVwZGF0ZSgpOworCisgICAgZG91YmxlIGZyYW1lUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
b2JzZXJ2ZWRGcmFtZVJhdGU7IH0KKyAgICBzaXplX3QgZnJhbWVDb3VudCgpIGNvbnN0IHsgcmV0
dXJuIG1fZnJhbWVDb3VudDsgfQorCitwcml2YXRlOgorICAgIHN0YXRpYyBjb25zdGV4cHIgU2Vj
b25kcyBNaW5pbXVtQXZlcmFnZUR1cmF0aW9uID0gMV9zOworICAgIHN0YXRpYyBjb25zdGV4cHIg
U2Vjb25kcyBUaW1lU3RhbXBTdG9yYWdlRHVyYXRpb24gPSAyX3M7CisgICAgc3RhdGljIGNvbnN0
ZXhwciB1bnNpZ25lZCBNYXhGcmFtZURlbGF5Q291bnQgPSAzOworCisgICAgTGF0ZUZyYW1lQ2Fs
bGJhY2sgbV9sYXRlRnJhbWVDYWxsYmFjazsKKyAgICBEZXF1ZTxkb3VibGUsIDEyMD4gbV9vYnNl
cnZlZEZyYW1lVGltZVN0YW1wczsKKyAgICBkb3VibGUgbV9vYnNlcnZlZEZyYW1lUmF0ZSB7IDAg
fTsKKyAgICB1aW50NjRfdCBtX2ZyYW1lQ291bnQgeyAwIH07Cit9OworCitpbmxpbmUgRnJhbWVS
YXRlTW9uaXRvcjo6RnJhbWVSYXRlTW9uaXRvcihMYXRlRnJhbWVDYWxsYmFjayYmIGNhbGxiYWNr
KQorICAgIDogbV9sYXRlRnJhbWVDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKK3sKK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLmgKaW5kZXggYmQ2MTY4ZjA5ZjVmNDI1YTYwOWNkNjhhZWNiZGJjZmU2YWNhZTRl
Ni4uOTJmYThjODU2ZjNlNTFjYzg1N2FjYzQwMjY3MGQ5ZmMxZGZkZWEwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5o
CkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoQVZG
T1VOREFUSU9OKQogCisjaW5jbHVkZSAiRnJhbWVSYXRlTW9uaXRvci5oIgogI2luY2x1ZGUgIlNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC04MSw2ICs4MiwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQg
cmVxdWVzdE5vdGlmaWNhdGlvbldoZW5SZWFkeUZvclZpZGVvRGF0YSgpOwogICAgIHZvaWQgZW5x
dWV1ZVNhbXBsZUJ1ZmZlcihNZWRpYVNhbXBsZSYpOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECisgICAgdm9pZCBvbklycmVndWxhckZyYW1lUmF0ZU5vdGlmaWNhdGlvbihNb25vdG9uaWNU
aW1lIGZyYW1lVGltZSwgTW9ub3RvbmljVGltZSBsYXN0RnJhbWVUaW1lKTsKKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIFJldGFpblB0cjxXZWJBVlNhbXBsZUJ1ZmZlclN0YXR1c0NoYW5nZUxpc3Rl
bmVyPiBtX3N0YXR1c0NoYW5nZUxpc3RlbmVyOwogICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllcj4gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI7CkBAIC05Miw2ICs5Nywx
MCBAQCBwcml2YXRlOgogICAgIC8vIE9ubHkgYWNjZXNzZWQgdGhyb3VnaCBtX3Byb2Nlc3NpbmdR
dWV1ZSBvciBpZiBtX3Byb2Nlc3NpbmdRdWV1ZSBpcyBudWxsLgogICAgIHVzaW5nIFBlbmRpbmdT
YW1wbGVRdWV1ZSA9IERlcXVlPFJlZjxNZWRpYVNhbXBsZT4+OwogICAgIFBlbmRpbmdTYW1wbGVR
dWV1ZSBtX3BlbmRpbmdWaWRlb1NhbXBsZVF1ZXVlOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECisgICAgRnJhbWVSYXRlTW9uaXRvciBtX2ZyYW1lUmF0ZU1vbml0b3I7CisjZW5kaWYKIH07
CiAKIGlubGluZSB2b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpzZXRSZW5kZXJQ
b2xpY3koUmVuZGVyUG9saWN5IHJlbmRlclBvbGljeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggNzBiM2M0
NGYzY2MwZmIyNGVjODkwMjhlNTgyNWEzZWQ4MDhjYjQwMS4uZWQ3MzNlNWU3OTNmMzZhYzdhZDJh
NDVhZDJkMGVlOTg4YTYzZjczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTE1Myw2ICsxNTMsOSBAQCBM
b2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIoUmV0YWluUHRyPEFWU2FtcGxlQgogICAgICwgbV9zdGF0dXNDaGFuZ2VMaXN0ZW5lcihhZG9w
dE5TKFtbV2ViQVZTYW1wbGVCdWZmZXJTdGF0dXNDaGFuZ2VMaXN0ZW5lciBhbGxvY10gaW5pdFdp
dGhQYXJlbnQ6dGhpc10pKQogICAgICwgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIoV1RGTW92
ZShzYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpKQogICAgICwgbV9wcm9jZXNzaW5nUXVldWUoV29y
a1F1ZXVlOjpjcmVhdGUoIkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHF1ZXVlIikpCisj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2ZyYW1lUmF0ZU1vbml0b3IoW3RoaXNd
KGF1dG8gaW5mbykgeyBvbklycmVndWxhckZyYW1lUmF0ZU5vdGlmaWNhdGlvbihpbmZvLmZyYW1l
VGltZSwgaW5mby5sYXN0RnJhbWVUaW1lKTsgfSkKKyNlbmRpZgogewogfQogCkBAIC0zMDAsNiAr
MzAzLDcgQEAgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBs
ZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogewogICAgIG1fcHJvY2Vzc2luZ1F1ZXVlLT5kaXNwYXRj
aChbdGhpcywgc2FtcGxlID0gbWFrZVJlZihzYW1wbGUpXSB7CiAgICAgICAgIGlmICghW21fc2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyIGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkgeworICAgICAg
ICAgICAgV1RGTG9nQWx3YXlzKCJMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1
ZVNhbXBsZSBub3QgcmVhZHkgZm9yIG1vcmUgbWVkaWEgZGF0YSIpOwogICAgICAgICAgICAgYWRk
U2FtcGxlVG9QZW5kaW5nUXVldWUoc2FtcGxlKTsKICAgICAgICAgICAgIHJlcXVlc3ROb3RpZmlj
YXRpb25XaGVuUmVhZHlGb3JWaWRlb0RhdGEoKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMy
NCw3ICszMjgsMjAgQEAgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1
ZVNhbXBsZUJ1ZmZlcihNZWRpYVNhbXBsZSYgc2FtcGxlKQogICAgIH0KIAogICAgIFttX3NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllciBlbnF1ZXVlU2FtcGxlQnVmZmVyOnNhbXBsZVRvRW5xdWV1ZV07
CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBtX2ZyYW1lUmF0ZU1vbml0b3IudXBk
YXRlKCk7CisjZW5kaWYKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAordm9pZCBMb2Nh
bFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6b25JcnJlZ3VsYXJGcmFtZVJhdGVOb3RpZmljYXRp
b24oTW9ub3RvbmljVGltZSBmcmFtZVRpbWUsIE1vbm90b25pY1RpbWUgbGFzdEZyYW1lVGltZSkK
K3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFtmcmFtZVRpbWUgPSBmcmFtZVRpbWUuc2Vjb25kc1Np
bmNlRXBvY2goKS52YWx1ZSgpLCBsYXN0RnJhbWVUaW1lID0gbGFzdEZyYW1lVGltZS5zZWNvbmRz
U2luY2VFcG9jaCgpLnZhbHVlKCksIG9ic2VydmVkRnJhbWVSYXRlID0gbV9mcmFtZVJhdGVNb25p
dG9yLmZyYW1lUmF0ZSgpLCBmcmFtZUNvdW50ID0gbV9mcmFtZVJhdGVNb25pdG9yLmZyYW1lQ291
bnQoKV0geworICAgICAgICBXVEZMb2dBbHdheXMoIkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyOjplbnF1ZXVlU2FtcGxlQnVmZmVyIGF0ICVmLCBwcmV2aW91cyBmcmFtZSB3YXMgYXQgJWYs
IG9ic2VydmVkIGZyYW1lIHJhdGUgaXMgJWYsIGRlbGF5IHNpbmNlIGxhc3QgZnJhbWUgaXMgJWYg
bXMsIGZyYW1lIGNvdW50IGlzICVsdSIsIGZyYW1lVGltZSwgbGFzdEZyYW1lVGltZSwgb2JzZXJ2
ZWRGcmFtZVJhdGUsIChmcmFtZVRpbWUgLSBsYXN0RnJhbWVUaW1lKSAqIDEwMDAsIGZyYW1lQ291
bnQpOworICAgIH0pOwogfQorI2VuZGlmCiAKIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXI6OnJlbW92ZU9sZFNhbXBsZXNGcm9tUGVuZGluZ1F1ZXVlKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlclVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaAppbmRleCBmODc1NjRkOTk4
NmNlNGExMTMwYjU5MDU3OGI3NzlkMmY5MGFkZmQ1Li40NDA3NmE1NmVjOTc0ZjliYjg3MzQyYmZj
NzQ4MzBjODU5Yzc3MmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyVW5pdC5oCkBAIC0zMCw2ICszMCw4IEBACiAjaW5jbHVkZSA8QXVkaW9Ub29sYm94
L0F1ZGlvVG9vbGJveC5oPgogI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402629</attachid>
            <date>2020-06-24 02:08:26 -0700</date>
            <delta_ts>2020-06-24 05:27:02 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213369-20200624110825.patch</filename>
            <type>text/plain</type>
            <size>22453</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA3NDQ0YzEyZjRlOTM0Zjc4YWQ2ZjkzMjY4NmQyZjg3YTJhOWFmOWYxLi41NzBm
MGU0MWNiYmUxMzcyYmUxNDBkMDk3MmUzZDQ3NTA3ZGFmMmM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNi0yMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxvZ2dpbmcgdG8gV2ViUlRD
IHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0YWJpbGl0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMzY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBl
bmNvZGVkIGZyYW1lcyB0YWtpbmcgYSBsb25nIHRpbWUgdG8gYmUgcmVjZWl2ZWQuCisgICAgICAg
IFdlIGxvZyB0aGUgdGltZSB0YWtlIHRvIHJlY2VpdmUgdGhlIGZyYW1lLCB0aGUgdGltZSBzaW5j
ZSBwcmV2aW91cyBmcmFtZSwgdGhlIGJ5dGUgc2l6ZSBvZiB0aGUgZnJhbWUuCisgICAgICAgIFdl
IGNvbXB1dGUgdGhhdCBhIGZyYW1lIHRha2VzIHRvbyBsb25nIGJ5IGNoZWNraW5nIHdoZXRoZXIg
aXQgaXMgZGVsYXllZCBieSBtb3JlIHRoYW4gdGhyZWUgZXhwZWN0ZWQgZnJhbWVzLgorCisgICAg
ICAgICogU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmNjOgor
ICAgICAgICAqIFNvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5o
OgorCiAyMDIwLTA2LTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBJbXByb3ZlIFNDVFAgY29va2llIGdlbmVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlYTI4ZjU0
ZThhYzliYjk3OGI0MzY4NTJiNjVhMTI2YTEwN2NkODI3Li43M2M4MjBlMmZjNjExNmFjNDk2Y2U4
ZDk2NzZkOGViMTliNDRhMjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjAtMDYt
MjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBsb2dn
aW5nIHRvIFdlYlJUQyB2aWRlbyBwaXBlbGluZSB0byBjaGVjayBmb3IgZnJhbWUgcmF0ZSBzdGFi
aWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MzM2OQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQg
YSBGcmFtZVJhdGVNb25pdG9yIGNsYXNzIHRvIGNvbXB1dGUgZnJhbWUgc3RhYmlsaXR5LgorICAg
ICAgICBVc2UgdGhpcyBjbGFzcyBhdCBlbmQgb2YgdGhlIHZpZGVvIHBpcGVsaW5lIChMb2NhbFNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllcikuCisgICAgICAgIExvZyBtZXNzYWdlcyBpbiBjYXNlIGEg
ZnJhbWUgZ2V0cyBmcm96ZW4gYXQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgdGltZS4K
KyAgICAgICAgV2UgY29tcHV0ZSB0aGF0IGEgZnJhbWUgdGFrZXMgdG9vIGxvbmcgYnkgY2hlY2tp
bmcgd2hldGhlciBpdCBpcyBkZWxheWVkIGJ5IG1vcmUgdGhhbiB0aHJlZSBleHBlY3RlZCBmcmFt
ZXMuCisgICAgICAgIFRoaXMgbG9nZ2luZyBpcyBjb21wbGVtZW50ZWQgd2l0aCBlbmNvZGVkIGZy
YW1lIHJlY2VwdGlvbiBsb2dnaW5nIChhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSB2aWRlbyBwaXBl
bGluZSkKKyAgICAgICAgYW5kIFdlYlJUQyBzdGF0cyBsb2dnaW5nIChmcmVlemVDb3VudCwgdG90
YWxGcmVlemVEdXJhdGlvbiwgc2hvcnRseSBhZnRlciBkZWNvZGluZyB0aGUgZnJhbWVzKS4KKwor
ICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVJhdGVNb25pdG9yOjpuZXdGcmFtZSk6CisgICAg
ICAgICogcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lUmF0ZU1vbml0b3I6OmZyYW1lUmF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVJhdGVNb25pdG9yOjpmcmFtZUNvdW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lUmF0ZU1vbml0b3I6OkZyYW1lUmF0ZU1vbml0b3IpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW06CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllcjo6TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVldWVTYW1w
bGUpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVu
cXVldWVTYW1wbGVCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI6Om9uRnJhbWVSYXRlTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0Lmg6Cisg
ICAgICAgIFVuaWZpZWQgYnVpbGQgZml4LgorCiAyMDIwLTA2LTE4ICBEb3VnIEtlbGx5ICA8ZG91
Z2tAYXBwbGUuY29tPgogCiAgICAgICAgIENsYW1wIHRleHQgcnVuIHdpZHRoIHRvIHplcm8KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVv
L3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2MgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmNjCmluZGV4
IDA1OGRmMGFlOTY2ZTVkMTFlZmEyNGUwMzA2NDljNTYyOTE5YTJjZTkuLjc5YTY5YzczMzM4MGMw
OTU5ZTk3ODM1Y2Y4MzA1MjIxNGIxMmI2M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIu
Y2MKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8v
cnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5jYwpAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUg
InJ0Y19iYXNlL2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAicnRjX2Jhc2UvbG9nZ2luZy5oIgogI2lu
Y2x1ZGUgInJ0Y19iYXNlL3N0cmluZ3Mvc3RyaW5nX2J1aWxkZXIuaCIKKyNpbmNsdWRlICJydGNf
YmFzZS90aW1lX3V0aWxzLmgiCiAjaW5jbHVkZSAic3lzdGVtX3dyYXBwZXJzL2luY2x1ZGUvZmll
bGRfdHJpYWwuaCIKICNpbmNsdWRlICJzeXN0ZW1fd3JhcHBlcnMvaW5jbHVkZS9tZXRyaWNzLmgi
CiAjaW5jbHVkZSAic3lzdGVtX3dyYXBwZXJzL2luY2x1ZGUvbnRwX3RpbWUuaCIKQEAgLTc0MCw2
ICs3NDEsMzIgQEAgdm9pZCBSdHBWaWRlb1N0cmVhbVJlY2VpdmVyOjpPbkFzc2VtYmxlZEZyYW1l
KAogICBSVENfRENIRUNLX1JVTl9PTigmbmV0d29ya190Y18pOwogICBSVENfRENIRUNLKGZyYW1l
KTsKIAorI2lmIGRlZmluZWQoV0VCUlRDX1dFQktJVF9CVUlMRCkKKyAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgTWF4RnJhbWVEZWxheUNvdW50ID0gMzsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgVGltZVN0YW1wUXVldWVEdXJhdGlvbkluTXMgPSAyMDAwOworICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBPbmVTZWNvbmRJbk1zID0gMTAwMDsKKyAgICAvLyBGSVhNRTogQ29uc2lkZXIgdXNp
bmcgTW92aW5nQXZlcmFnZSBpbnN0ZWFkLgorICAgICsrZnJhbWVDb3VudF87CisKKyAgICBhdXRv
IGZyYW1lVGltZSA9IGNsb2NrXy0+VGltZUluTWlsbGlzZWNvbmRzKCk7CisgICAgYXV0byBsYXN0
RnJhbWVUaW1lID0gb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLmVtcHR5KCkgPyBmcmFtZVRpbWUg
OiBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18uYmFjaygpOworCisgICAgaWYgKG9ic2VydmVkRnJh
bWVSYXRlXykgeworICAgICAgYXV0byBkZWxheSA9IGZyYW1lVGltZSAtIGxhc3RGcmFtZVRpbWU7
CisgICAgICBpZiAoZGVsYXkgPiAoTWF4RnJhbWVEZWxheUNvdW50ICogT25lU2Vjb25kSW5NcyAv
IG9ic2VydmVkRnJhbWVSYXRlXykpIHsKKyAgICAgICAgUlRDX0xPRyhMU19JTkZPKSA8PCAiUnRw
VmlkZW9TdHJlYW1SZWNlaXZlcjo6T25Bc3NlbWJsZWRGcmFtZSBhdCAiIDw8IGZyYW1lVGltZSA8
PCAiLCBwcmV2aW91cyBmcmFtZSB3YXMgYXQgIiA8PCBsYXN0RnJhbWVUaW1lIDw8ICIsIG9ic2Vy
dmVkIGZyYW1lIHJhdGUgaXMgIiA8PCBvYnNlcnZlZEZyYW1lUmF0ZV8gPDwgIiwgZGVsYXkgc2lu
Y2UgbGFzdCBmcmFtZSBpcyAiIDw8IChmcmFtZVRpbWUgLSBsYXN0RnJhbWVUaW1lKSA8PCAgIiBt
cywgZnJhbWUgY291bnQgaXMgIiA8PCBmcmFtZUNvdW50XyA8PCAiLCBzaXplIGlzICIgPDwgZnJh
bWUtPkVuY29kZWRJbWFnZSgpLnNpemUoKSA8PCAiLCBmcmFtZSByZWNlcHRpb24gZHVyYXRpb24g
aXMgIiA8PCAoZnJhbWUtPnZpZGVvX3RpbWluZygpLnJlY2VpdmVfZmluaXNoX21zIC0gZnJhbWUt
PnZpZGVvX3RpbWluZygpLnJlY2VpdmVfc3RhcnRfbXMpIDw8ICIgbXMsICIgPDwgIiBvYnNlcnZl
ZCBzYW1wbGVzIGNvdW50IGlzICIgPDwgb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLnNpemUoKSA8
PCAiLCBvYnNlcnZlZCBzYW1wbGVzIGR1cmF0aW9uIGlzICIgPDwgKG9ic2VydmVkRnJhbWVUaW1l
U3RhbXBzXy5iYWNrKCkgLSBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18uZnJvbnQoKSk7CisgICAg
ICB9CisgICAgfQorCisgICAgb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLnB1c2hfYmFjayhmcmFt
ZVRpbWUpOworICAgIHdoaWxlIChvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18uZnJvbnQoKSA8PSAo
ZnJhbWVUaW1lIC0gVGltZVN0YW1wUXVldWVEdXJhdGlvbkluTXMpKQorICAgICAgICBvYnNlcnZl
ZEZyYW1lVGltZVN0YW1wc18ucG9wX2Zyb250KCk7CisKKyAgICBhdXRvIHF1ZXVlRHVyYXRpb24g
PSBmcmFtZVRpbWUgLSBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18uZnJvbnQoKTsKKyAgICBpZiAo
cXVldWVEdXJhdGlvbiA+IE9uZVNlY29uZEluTXMpCisgICAgICAgIG9ic2VydmVkRnJhbWVSYXRl
XyA9IG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5zaXplKCkgKiBPbmVTZWNvbmRJbk1zIC8gcXVl
dWVEdXJhdGlvbjsKKyNlbmRpZgorCiAgIGNvbnN0IGFic2w6Om9wdGlvbmFsPFJUUFZpZGVvSGVh
ZGVyOjpHZW5lcmljRGVzY3JpcHRvckluZm8+JiBkZXNjcmlwdG9yID0KICAgICAgIGZyYW1lLT5H
ZXRSdHBWaWRlb0hlYWRlcigpLmdlbmVyaWM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2
ZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVvL3J0
cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuaAppbmRleCAzMzA0NTViMWI4NmJkNWZkM2U0MGQ1MzYz
NmI2MDNlYzY3MDM3N2FlLi4zN2IyN2YzYzY0ZDI2NTMwOGQwMjNhZjRmNDYzMzI0NjVhNzQ2Zjdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92
aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5o
CkBAIC0zNjAsNiArMzYwLDEyIEBAIGNsYXNzIFJ0cFZpZGVvU3RyZWFtUmVjZWl2ZXIgOiBwdWJs
aWMgTG9zc05vdGlmaWNhdGlvblNlbmRlciwKIAogICBydGM6OnNjb3BlZF9yZWZwdHI8UnRwVmlk
ZW9TdHJlYW1SZWNlaXZlckZyYW1lVHJhbnNmb3JtZXJEZWxlZ2F0ZT4KICAgICAgIGZyYW1lX3Ry
YW5zZm9ybWVyX2RlbGVnYXRlXzsKKworI2lmIGRlZmluZWQoV0VCUlRDX1dFQktJVF9CVUlMRCkK
KyAgc3RkOjpkZXF1ZTxpbnQ2NF90PiBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc187CisgIGRvdWJs
ZSBvYnNlcnZlZEZyYW1lUmF0ZV8geyAwIH07CisgIHVpbnQ2NF90IGZyYW1lQ291bnRfIHsgMCB9
OworI2VuZGlmCiB9OwogCiB9ICAvLyBuYW1lc3BhY2Ugd2VicnRjCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDE0OTU5YzM4MTUwMzU2YTg3ZGVlZTMyZWZiMzdiMjYyNTY1ZjI2ZTkuLjRiNDI2MjE0MWJmZjg0
ZjkwNTZiMTIxNzQ5Y2QwYzc3ZDEzNDcxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNzk3LDYgKzE3
OTcsNyBAQCBwbGF0Zm9ybS9GaWxlQ2hvb3Nlci5jcHAKIHBsYXRmb3JtL0ZpbGVIYW5kbGUuY3Bw
CiBwbGF0Zm9ybS9GaWxlTW9uaXRvci5jcHAKIHBsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwCitwbGF0
Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmNwcAogcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAK
IHBsYXRmb3JtL0xheW91dFVuaXQuY3BwCiBwbGF0Zm9ybS9MZWdhY3lTY2hlbWVSZWdpc3RyeS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA0NmY5NmQxNTBjYmYxYjdmYmQ4NjU5MjRiNmIxNGQyZjZjODcyZWQ0Li43ZjcwZTM3
ZWJhNWZhNzhiMjI0NDM4ZWU5M2QwMjJkNDk0NTM2NDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTA1LDYgKzExMDUsNyBA
QAogCQk0MTg5MzhCMjI0MjlGOUI0MDA3RkRDNDEgLyogUmV0cmlldmVSZWNvcmRzT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4OTM4QUYy
NDI5RjlBQjAwN0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MThBMDZEMDEzM0MwNEQ1MDBD
RDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRj
aGVyLmggKi87IH07CiAJCTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29y
a2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThG
ODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovOyB9OworCQk0MTkw
RjNBNTI0QTBCNEVFMDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MEYzQTMyNDlEMTUyODAwNTMxQzU3
IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTkyNDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW0gKi87IH07CiAJCTQxOUFDRjkyMUY5N0U3REEwMDlGMUE4MyAv
KiBTZXJ2aWNlV29ya2VyRmV0Y2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxOUFDRjhFMUY5N0U3RDUwMDlGMUE4MyAvKiBTZXJ2aWNlV29ya2VyRmV0
Y2guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTlCQzJERjE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRlZExpbmtTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QkMyREQxNjg1MzI5OTAwRDY0
RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuaCAqLzsgfTsKQEAgLTc1MTQsNiArNzUxNSw4IEBACiAJ
CTQxOEMzOTVGMUM4RjBBQUIwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4Rjg4MDIw
RkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNBYnN0cmFjdFdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxOEY4ODAzMEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29y
a2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWJzdHJhY3RXb3JrZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3
IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRnJhbWVSYXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0
Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxOTQ1Njk0MjAzNTAyQTUwMDRCQTI3NyAvKiBBcHBsaWNhdGlv
bkNhY2hlUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE5NDU2OTYyMDM1MDJBNjAwNEJBMjc3IC8qIEFwcGxpY2F0aW9uQ2Fj
aGVSZXNvdXJjZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBs
aWNhdGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI2NDIwLDYgKzI2NDIzLDggQEAKIAkJCQkyRUYxQkZFOTEyMUM5RjQyMDBDMjc2MjcgLyog
RmlsZVN0cmVhbS5oICovLAogCQkJCTJFRjFCRkY4MTIxQ0IwQ0UwMEMyNzYyNyAvKiBGaWxlU3Ry
ZWFtQ2xpZW50LmggKi8sCiAJCQkJQkMwNzNCQTkwQzM5OUIxRjAwMEY1OTc5IC8qIEZsb2F0Q29u
dmVyc2lvbi5oICovLAorCQkJCTQxOTBGM0ExMjQ5RDE1MjcwMDUzMUM1NyAvKiBGcmFtZVJhdGVN
b25pdG9yLmNwcCAqLywKKwkJCQk0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVSYXRl
TW9uaXRvci5oICovLAogCQkJCUNENEJFNTI5MUNFMTM0MjUwMDlEODdEQSAvKiBHZW5lcmljVGFz
a1F1ZXVlLmNwcCAqLywKIAkJCQlDRDYyRkI5NDFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rh
c2tRdWV1ZS5oICovLAogCQkJCUE4NzQ4QkRGMTJDQkYyREMwMDFGQkE0MSAvKiBIYXNoVG9vbHMu
aCAqLywKQEAgLTMwNzIyLDYgKzMwNzI3LDcgQEAKIAkJCQk5M0I3N0EzODBBREQ3OTI1MDBFQTRC
ODEgLyogRnJhbWVMb2FkZXJUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU4NDM2ODYwQUUw
MUI3NDAwRTUzNzUzIC8qIEZyYW1lTG9hZFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTYy
OEQyMTRFMTIxMzFFRjQwMDU1RENGQyAvKiBGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MTkwRjNBNTI0QTBCNEVFMDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMEUwOTlFNjQ5MjAwNTZFNTgxIC8qIEZyYW1l
U2VsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNENENjI5QjE4MzgzNzY2MDA3RUJBRjEg
LyogRnJhbWVTbmFwc2hvdHRpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1QTIxNDg1MDk3QTNG
NTMwMEI5MDUwQSAvKiBGcmFtZVRyZWUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmJlMTZmNTQ0ZGM2
MTNmYWU0MmVmZThjZThjMzQwMzY2YTA4MjhkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJGcmFtZVJhdGVNb25pdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIE1pbmltdW1BdmVyYWdlRHVyYXRpb24gPSAx
X3M7CitzdGF0aWMgY29uc3RleHByIFNlY29uZHMgTWF4UXVldWVEdXJhdGlvbiA9IDJfczsKK3N0
YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgTWF4RnJhbWVEZWxheUNvdW50ID0gMzsKKwordm9pZCBG
cmFtZVJhdGVNb25pdG9yOjp1cGRhdGUoKQoreworICAgICsrbV9mcmFtZUNvdW50OworCisgICAg
YXV0byBmcmFtZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgp
LnZhbHVlKCk7CisgICAgYXV0byBsYXN0RnJhbWVUaW1lID0gbV9vYnNlcnZlZEZyYW1lVGltZVN0
YW1wcy5pc0VtcHR5KCkgPyBmcmFtZVRpbWUgOiBtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLmxh
c3QoKTsKKworICAgIGlmIChtX29ic2VydmVkRnJhbWVSYXRlKSB7CisgICAgICAgIGF1dG8gbWF4
RGVsYXkgPSBNYXhGcmFtZURlbGF5Q291bnQgLyBtX29ic2VydmVkRnJhbWVSYXRlOworICAgICAg
ICBpZiAoKGZyYW1lVGltZSAtIGxhc3RGcmFtZVRpbWUpID4gbWF4RGVsYXkpCisgICAgICAgICAg
ICBtX2xhdGVGcmFtZUNhbGxiYWNrKHsgTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMoZnJh
bWVUaW1lKSwgTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMobGFzdEZyYW1lVGltZSkgfSk7
CisgICAgfQorICAgIG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuYXBwZW5kKGZyYW1lVGltZSk7
CisgICAgbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5yZW1vdmVBbGxNYXRjaGluZyhbJl0oYXV0
byB0aW1lKSB7CisgICAgICAgIHJldHVybiB0aW1lIDw9IGZyYW1lVGltZSAtIE1heFF1ZXVlRHVy
YXRpb24udmFsdWUoKTsKKyAgICB9KTsKKworICAgIGF1dG8gcXVldWVEdXJhdGlvbiA9IG1fb2Jz
ZXJ2ZWRGcmFtZVRpbWVTdGFtcHMubGFzdCgpIC0gbV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5m
aXJzdCgpOworICAgIGlmIChxdWV1ZUR1cmF0aW9uID4gTWluaW11bUF2ZXJhZ2VEdXJhdGlvbi52
YWx1ZSgpKQorICAgICAgICBtX29ic2VydmVkRnJhbWVSYXRlID0gKG1fb2JzZXJ2ZWRGcmFtZVRp
bWVTdGFtcHMuc2l6ZSgpIC8gcXVldWVEdXJhdGlvbik7Cit9CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDhmODU0NDBhMjRmMTVh
ODMyNmIyY2VkNmE3ODI1YWQxNjZkZTViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWVSYXRlTW9uaXRvciB7CitwdWJsaWM6Cisg
ICAgc3RydWN0IExhdGVGcmFtZUluZm8geworICAgICAgICBNb25vdG9uaWNUaW1lIGZyYW1lVGlt
ZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBsYXN0RnJhbWVUaW1lOworICAgIH07CisgICAgdXNp
bmcgTGF0ZUZyYW1lQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKExhdGVGcmFtZUluZm8pPjsKKyAg
ICBleHBsaWNpdCBGcmFtZVJhdGVNb25pdG9yKExhdGVGcmFtZUNhbGxiYWNrJiYpOworCisgICAg
dm9pZCB1cGRhdGUoKTsKKworICAgIGRvdWJsZSBvYnNlcnZlZEZyYW1lUmF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fb2JzZXJ2ZWRGcmFtZVJhdGU7IH0KKyAgICBzaXplX3QgZnJhbWVDb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fZnJhbWVDb3VudDsgfQorCitwcml2YXRlOgorICAgIExhdGVGcmFtZUNh
bGxiYWNrIG1fbGF0ZUZyYW1lQ2FsbGJhY2s7CisgICAgRGVxdWU8ZG91YmxlLCAxMjA+IG1fb2Jz
ZXJ2ZWRGcmFtZVRpbWVTdGFtcHM7CisgICAgZG91YmxlIG1fb2JzZXJ2ZWRGcmFtZVJhdGUgeyAw
IH07CisgICAgdWludDY0X3QgbV9mcmFtZUNvdW50IHsgMCB9OworfTsKKworaW5saW5lIEZyYW1l
UmF0ZU1vbml0b3I6OkZyYW1lUmF0ZU1vbml0b3IoTGF0ZUZyYW1lQ2FsbGJhY2smJiBjYWxsYmFj
aykKKyAgICA6IG1fbGF0ZUZyYW1lQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCit7Cit9CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllci5oCmluZGV4IGJkNjE2OGYwOWY1ZjQyNWE2MDljZDY4YWVjYmRiY2ZlNmFjYWU0
ZTYuLjkyZmE4Yzg1NmYzZTUxY2M4NTdhY2M0MDI2NzBkOWZjMWRmZGVhMDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2Fs
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
aApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKEFW
Rk9VTkRBVElPTikKIAorI2luY2x1ZGUgIkZyYW1lUmF0ZU1vbml0b3IuaCIKICNpbmNsdWRlICJT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtODEsNiArODIsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHJlcXVlc3ROb3RpZmljYXRpb25XaGVuUmVhZHlGb3JWaWRlb0RhdGEoKTsKICAgICB2b2lkIGVu
cXVldWVTYW1wbGVCdWZmZXIoTWVkaWFTYW1wbGUmKTsKIAorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIHZvaWQgb25JcnJlZ3VsYXJGcmFtZVJhdGVOb3RpZmljYXRpb24oTW9ub3Rvbmlj
VGltZSBmcmFtZVRpbWUsIE1vbm90b25pY1RpbWUgbGFzdEZyYW1lVGltZSk7CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQVZTYW1wbGVCdWZmZXJTdGF0dXNDaGFuZ2VMaXN0
ZW5lcj4gbV9zdGF0dXNDaGFuZ2VMaXN0ZW5lcjsKICAgICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXI+IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOwpAQCAtOTIsNiArOTcs
MTAgQEAgcHJpdmF0ZToKICAgICAvLyBPbmx5IGFjY2Vzc2VkIHRocm91Z2ggbV9wcm9jZXNzaW5n
UXVldWUgb3IgaWYgbV9wcm9jZXNzaW5nUXVldWUgaXMgbnVsbC4KICAgICB1c2luZyBQZW5kaW5n
U2FtcGxlUXVldWUgPSBEZXF1ZTxSZWY8TWVkaWFTYW1wbGU+PjsKICAgICBQZW5kaW5nU2FtcGxl
UXVldWUgbV9wZW5kaW5nVmlkZW9TYW1wbGVRdWV1ZTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIEZyYW1lUmF0ZU1vbml0b3IgbV9mcmFtZVJhdGVNb25pdG9yOworI2VuZGlmCiB9
OwogCiBpbmxpbmUgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6c2V0UmVuZGVy
UG9saWN5KFJlbmRlclBvbGljeSByZW5kZXJQb2xpY3kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tCmluZGV4IDcwYjNj
NDRmM2NjMGZiMjRlYzg5MDI4ZTU4MjVhM2VkODA4Y2I0MDEuLjI5ODQ2OTA5NjFlMTBkNmY3ZTNi
MGUzNTRlYTM3NTMyZjQ1ZTYxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tCkBAIC0xNTMsNiArMTUzLDkgQEAg
TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyKFJldGFpblB0cjxBVlNhbXBsZUIKICAgICAsIG1fc3RhdHVzQ2hhbmdlTGlzdGVuZXIoYWRv
cHROUyhbW1dlYkFWU2FtcGxlQnVmZmVyU3RhdHVzQ2hhbmdlTGlzdGVuZXIgYWxsb2NdIGluaXRX
aXRoUGFyZW50OnRoaXNdKSkKICAgICAsIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKFdURk1v
dmUoc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKSkKICAgICAsIG1fcHJvY2Vzc2luZ1F1ZXVlKFdv
cmtRdWV1ZTo6Y3JlYXRlKCJMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBxdWV1ZSIpKQor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9mcmFtZVJhdGVNb25pdG9yKFt0aGlz
XShhdXRvIGluZm8pIHsgb25JcnJlZ3VsYXJGcmFtZVJhdGVOb3RpZmljYXRpb24oaW5mby5mcmFt
ZVRpbWUsIGluZm8ubGFzdEZyYW1lVGltZSk7IH0pCisjZW5kaWYKIHsKIH0KIApAQCAtMzAwLDYg
KzMwMyw3IEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVldWVTYW1w
bGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIHsKICAgICBtX3Byb2Nlc3NpbmdRdWV1ZS0+ZGlzcGF0
Y2goW3RoaXMsIHNhbXBsZSA9IG1ha2VSZWYoc2FtcGxlKV0gewogICAgICAgICBpZiAoIVttX3Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllciBpc1JlYWR5Rm9yTW9yZU1lZGlhRGF0YV0pIHsKKyAgICAg
ICAgICAgIFdURkxvZ0Fsd2F5cygiTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVl
dWVTYW1wbGUgbm90IHJlYWR5IGZvciBtb3JlIG1lZGlhIGRhdGEiKTsKICAgICAgICAgICAgIGFk
ZFNhbXBsZVRvUGVuZGluZ1F1ZXVlKHNhbXBsZSk7CiAgICAgICAgICAgICByZXF1ZXN0Tm90aWZp
Y2F0aW9uV2hlblJlYWR5Rm9yVmlkZW9EYXRhKCk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0z
MjQsNyArMzI4LDIwIEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmVucXVl
dWVTYW1wbGVCdWZmZXIoTWVkaWFTYW1wbGUmIHNhbXBsZSkKICAgICB9CiAKICAgICBbbV9zYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBsZUJ1ZmZlcjpzYW1wbGVUb0VucXVldWVd
OworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgbV9mcmFtZVJhdGVNb25pdG9yLnVw
ZGF0ZSgpOworI2VuZGlmCit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6Om9uSXJyZWd1bGFyRnJhbWVSYXRlTm90aWZpY2F0
aW9uKE1vbm90b25pY1RpbWUgZnJhbWVUaW1lLCBNb25vdG9uaWNUaW1lIGxhc3RGcmFtZVRpbWUp
Cit7CisgICAgY2FsbE9uTWFpblRocmVhZChbZnJhbWVUaW1lID0gZnJhbWVUaW1lLnNlY29uZHNT
aW5jZUVwb2NoKCkudmFsdWUoKSwgbGFzdEZyYW1lVGltZSA9IGxhc3RGcmFtZVRpbWUuc2Vjb25k
c1NpbmNlRXBvY2goKS52YWx1ZSgpLCBvYnNlcnZlZEZyYW1lUmF0ZSA9IG1fZnJhbWVSYXRlTW9u
aXRvci5vYnNlcnZlZEZyYW1lUmF0ZSgpLCBmcmFtZUNvdW50ID0gbV9mcmFtZVJhdGVNb25pdG9y
LmZyYW1lQ291bnQoKV0geworICAgICAgICBXVEZMb2dBbHdheXMoIkxvY2FsU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyOjplbnF1ZXVlU2FtcGxlQnVmZmVyIGF0ICVmLCBwcmV2aW91cyBmcmFtZSB3
YXMgYXQgJWYsIG9ic2VydmVkIGZyYW1lIHJhdGUgaXMgJWYsIGRlbGF5IHNpbmNlIGxhc3QgZnJh
bWUgaXMgJWYgbXMsIGZyYW1lIGNvdW50IGlzICVsdSIsIGZyYW1lVGltZSwgbGFzdEZyYW1lVGlt
ZSwgb2JzZXJ2ZWRGcmFtZVJhdGUsIChmcmFtZVRpbWUgLSBsYXN0RnJhbWVUaW1lKSAqIDEwMDAs
IGZyYW1lQ291bnQpOworICAgIH0pOwogfQorI2VuZGlmCiAKIHZvaWQgTG9jYWxTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXI6OnJlbW92ZU9sZFNhbXBsZXNGcm9tUGVuZGluZ1F1ZXVlKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCmluZGV4IGRmMmZkN2NjYjU0NTFkZGJm
M2Y0YzI2MjM5Yzk5N2Q3NDBkOTM3NTEuLmFiN2U3ZjI1NDIyYjMwODdjMDM0ZDhhY2I1NDZjOWM0
ODhjZmFkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcApAQCAtMjY0
LDcgKzI2NCw3IEBAIHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25GYWN0b3J5SW50ZXJmYWNlKiBMaWJX
ZWJSVENQcm92aWRlcjo6ZmFjdG9yeSgpCiAKIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBl
ZXJDb25uZWN0aW9uRmFjdG9yeUludGVyZmFjZT4gTGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBl
ZXJDb25uZWN0aW9uRmFjdG9yeShydGM6OlRocmVhZCogbmV0d29ya1RocmVhZCwgcnRjOjpUaHJl
YWQqIHNpZ25hbGluZ1RocmVhZCwgTGliV2ViUlRDQXVkaW9Nb2R1bGUqIGF1ZGlvTW9kdWxlKQog
ewotICAgIHJldHVybiB3ZWJydGM6OkNyZWF0ZVBlZXJDb25uZWN0aW9uRmFjdG9yeShuZXR3b3Jr
VGhyZWFkLCBuZXR3b3JrVGhyZWFkLCBzaWduYWxpbmdUaHJlYWQsIGF1ZGlvTW9kdWxlLCB3ZWJy
dGM6OkNyZWF0ZUJ1aWx0aW5BdWRpb0VuY29kZXJGYWN0b3J5KCksIHdlYnJ0Yzo6Q3JlYXRlQnVp
bHRpbkF1ZGlvRGVjb2RlckZhY3RvcnkoKSwgY3JlYXRlRW5jb2RlckZhY3RvcnkoKSwgY3JlYXRl
RGVjb2RlckZhY3RvcnkoKSwgbnVsbHB0ciwgbnVsbHB0cik7CisgICAgcmV0dXJuIHdlYnJ0Yzo6
Q3JlYXRlUGVlckNvbm5lY3Rpb25GYWN0b3J5KG5ldHdvcmtUaHJlYWQsIHNpZ25hbGluZ1RocmVh
ZCwgc2lnbmFsaW5nVGhyZWFkLCBhdWRpb01vZHVsZSwgd2VicnRjOjpDcmVhdGVCdWlsdGluQXVk
aW9FbmNvZGVyRmFjdG9yeSgpLCB3ZWJydGM6OkNyZWF0ZUJ1aWx0aW5BdWRpb0RlY29kZXJGYWN0
b3J5KCksIGNyZWF0ZUVuY29kZXJGYWN0b3J5KCksIGNyZWF0ZURlY29kZXJGYWN0b3J5KCksIG51
bGxwdHIsIG51bGxwdHIpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0RlY29k
ZXJGYWN0b3J5PiBMaWJXZWJSVENQcm92aWRlcjo6Y3JlYXRlRGVjb2RlckZhY3RvcnkoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCmluZGV4IGY4
NzU2NGQ5OTg2Y2U0YTExMzBiNTkwNTc4Yjc3OWQyZjkwYWRmZDUuLjQ0MDc2YTU2ZWM5NzRmOWJi
ODczNDJiZmM3NDgzMGM4NTljNzcyZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0
cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNsdWRlIDxBdWRp
b1Rvb2xib3gvQXVkaW9Ub29sYm94Lmg+CiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpb1R5
cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402638</attachid>
            <date>2020-06-24 05:27:08 -0700</date>
            <delta_ts>2020-06-24 07:07:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213369-20200624142706.patch</filename>
            <type>text/plain</type>
            <size>21187</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBkYTk3ODIyZmIyYzBkOTM0Y2U1MzA1NTI5NzA3YWE2NWZiMDI1MTUwLi5hZDMx
YTYzMmM3OTkxYTdiZWZhNmM2YzViNGE3ZjIyYTdkM2NkNDFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNi0yNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxvZ2dpbmcgdG8gV2ViUlRD
IHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSByYXRlIHN0YWJpbGl0eQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMzY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBl
bmNvZGVkIGZyYW1lcyB0YWtpbmcgYSBsb25nIHRpbWUgdG8gYmUgcmVjZWl2ZWQuCisgICAgICAg
IFdlIGxvZyB0aGUgdGltZSB0YWtlIHRvIHJlY2VpdmUgdGhlIGZyYW1lLCB0aGUgdGltZSBzaW5j
ZSBwcmV2aW91cyBmcmFtZSwgdGhlIGJ5dGUgc2l6ZSBvZiB0aGUgZnJhbWUuCisgICAgICAgIFdl
IGNvbXB1dGUgdGhhdCBhIGZyYW1lIHRha2VzIHRvbyBsb25nIGJ5IGNoZWNraW5nIHdoZXRoZXIg
aXQgaXMgZGVsYXllZCBieSBtb3JlIHRoYW4gdGhyZWUgZXhwZWN0ZWQgZnJhbWVzLgorCisgICAg
ICAgICogU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmNjOgor
ICAgICAgICAqIFNvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5o
OgorCiAyMDIwLTA2LTIyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgog
CiAgICAgICAgIGxpYndlYnJ0YyBmYWlscyB0byBidWlsZCBvbiBhcm02NApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDBlYWQ2ZWEyM2E1MzcyNTViNGZhNTExZWUyZTgyYjUyODJhNjA3NWUuLjI2M2NkYjJmY2I5NzI3
ZTAxZDg5NWUzMWFkZTM0NzllYzFkMjNkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAor
MjAyMC0wNi0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIGxvZ2dpbmcgdG8gV2ViUlRDIHZpZGVvIHBpcGVsaW5lIHRvIGNoZWNrIGZvciBmcmFtZSBy
YXRlIHN0YWJpbGl0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzMzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAg
ICAgIEFkZCBhIEZyYW1lUmF0ZU1vbml0b3IgY2xhc3MgdG8gY29tcHV0ZSBmcmFtZSBzdGFiaWxp
dHkuCisgICAgICAgIFVzZSB0aGlzIGNsYXNzIGF0IGVuZCBvZiB0aGUgdmlkZW8gcGlwZWxpbmUg
KExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKS4KKyAgICAgICAgTG9nIG1lc3NhZ2VzIGlu
IGNhc2UgYSBmcmFtZSBnZXRzIGZyb3plbiBhdCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ciB0aW1lLgorICAgICAgICBXZSBjb21wdXRlIHRoYXQgYSBmcmFtZSB0YWtlcyB0b28gbG9uZyBi
eSBjaGVja2luZyB3aGV0aGVyIGl0IGlzIGRlbGF5ZWQgYnkgbW9yZSB0aGFuIHRocmVlIGV4cGVj
dGVkIGZyYW1lcy4KKyAgICAgICAgVGhpcyBsb2dnaW5nIGlzIGNvbXBsZW1lbnRlZCB3aXRoIGVu
Y29kZWQgZnJhbWUgcmVjZXB0aW9uIGxvZ2dpbmcgKGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZp
ZGVvIHBpcGVsaW5lKQorICAgICAgICBhbmQgV2ViUlRDIHN0YXRzIGxvZ2dpbmcgKGZyZWV6ZUNv
dW50LCB0b3RhbEZyZWV6ZUR1cmF0aW9uLCBzaG9ydGx5IGFmdGVyIGRlY29kaW5nIHRoZSBmcmFt
ZXMpLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL0ZyYW1lUmF0ZU1vbml0b3Iu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUmF0ZU1vbml0b3I6Om5ld0ZyYW1l
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6ZnJhbWVSYXRlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lUmF0ZU1vbml0b3I6OmZyYW1lQ291bnQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVSYXRlTW9uaXRvcjo6RnJhbWVSYXRlTW9uaXRvcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tbToKKyAgICAgICAgKFdlYkNvcmU6Okxv
Y2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cik6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5x
dWV1ZVNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllcjo6ZW5xdWV1ZVNhbXBsZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllcjo6b25GcmFtZVJhdGVOb3RpZmljYXRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVu
aXQuaDoKKyAgICAgICAgVW5pZmllZCBidWlsZCBmaXguCisKIDIwMjAtMDYtMjQgIEFsZXhleSBT
aHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJlbW92ZSBbQ2FsbGJh
Y2tOZWVkc09wZXJhdG9yRXF1YWxdIGV4dGVuZGVkIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0
cmVhbV9yZWNlaXZlci5jYyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2Vi
cnRjL3ZpZGVvL3J0cF92aWRlb19zdHJlYW1fcmVjZWl2ZXIuY2MKaW5kZXggMDU4ZGYwYWU5NjZl
NWQxMWVmYTI0ZTAzMDY0OWM1NjI5MTlhMmNlOS4uNzlhNjljNzMzMzgwYzA5NTllOTc4MzVjZjgz
MDUyMjE0YjEyYjYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5jYworKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3Ry
ZWFtX3JlY2VpdmVyLmNjCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAicnRjX2Jhc2UvbG9j
YXRpb24uaCIKICNpbmNsdWRlICJydGNfYmFzZS9sb2dnaW5nLmgiCiAjaW5jbHVkZSAicnRjX2Jh
c2Uvc3RyaW5ncy9zdHJpbmdfYnVpbGRlci5oIgorI2luY2x1ZGUgInJ0Y19iYXNlL3RpbWVfdXRp
bHMuaCIKICNpbmNsdWRlICJzeXN0ZW1fd3JhcHBlcnMvaW5jbHVkZS9maWVsZF90cmlhbC5oIgog
I2luY2x1ZGUgInN5c3RlbV93cmFwcGVycy9pbmNsdWRlL21ldHJpY3MuaCIKICNpbmNsdWRlICJz
eXN0ZW1fd3JhcHBlcnMvaW5jbHVkZS9udHBfdGltZS5oIgpAQCAtNzQwLDYgKzc0MSwzMiBAQCB2
b2lkIFJ0cFZpZGVvU3RyZWFtUmVjZWl2ZXI6Ok9uQXNzZW1ibGVkRnJhbWUoCiAgIFJUQ19EQ0hF
Q0tfUlVOX09OKCZuZXR3b3JrX3RjXyk7CiAgIFJUQ19EQ0hFQ0soZnJhbWUpOwogCisjaWYgZGVm
aW5lZChXRUJSVENfV0VCS0lUX0JVSUxEKQorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNYXhG
cmFtZURlbGF5Q291bnQgPSAzOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBUaW1lU3RhbXBR
dWV1ZUR1cmF0aW9uSW5NcyA9IDIwMDA7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIE9uZVNl
Y29uZEluTXMgPSAxMDAwOworICAgIC8vIEZJWE1FOiBDb25zaWRlciB1c2luZyBNb3ZpbmdBdmVy
YWdlIGluc3RlYWQuCisgICAgKytmcmFtZUNvdW50XzsKKworICAgIGF1dG8gZnJhbWVUaW1lID0g
Y2xvY2tfLT5UaW1lSW5NaWxsaXNlY29uZHMoKTsKKyAgICBhdXRvIGxhc3RGcmFtZVRpbWUgPSBv
YnNlcnZlZEZyYW1lVGltZVN0YW1wc18uZW1wdHkoKSA/IGZyYW1lVGltZSA6IG9ic2VydmVkRnJh
bWVUaW1lU3RhbXBzXy5iYWNrKCk7CisKKyAgICBpZiAob2JzZXJ2ZWRGcmFtZVJhdGVfKSB7Cisg
ICAgICBhdXRvIGRlbGF5ID0gZnJhbWVUaW1lIC0gbGFzdEZyYW1lVGltZTsKKyAgICAgIGlmIChk
ZWxheSA+IChNYXhGcmFtZURlbGF5Q291bnQgKiBPbmVTZWNvbmRJbk1zIC8gb2JzZXJ2ZWRGcmFt
ZVJhdGVfKSkgeworICAgICAgICBSVENfTE9HKExTX0lORk8pIDw8ICJSdHBWaWRlb1N0cmVhbVJl
Y2VpdmVyOjpPbkFzc2VtYmxlZEZyYW1lIGF0ICIgPDwgZnJhbWVUaW1lIDw8ICIsIHByZXZpb3Vz
IGZyYW1lIHdhcyBhdCAiIDw8IGxhc3RGcmFtZVRpbWUgPDwgIiwgb2JzZXJ2ZWQgZnJhbWUgcmF0
ZSBpcyAiIDw8IG9ic2VydmVkRnJhbWVSYXRlXyA8PCAiLCBkZWxheSBzaW5jZSBsYXN0IGZyYW1l
IGlzICIgPDwgKGZyYW1lVGltZSAtIGxhc3RGcmFtZVRpbWUpIDw8ICAiIG1zLCBmcmFtZSBjb3Vu
dCBpcyAiIDw8IGZyYW1lQ291bnRfIDw8ICIsIHNpemUgaXMgIiA8PCBmcmFtZS0+RW5jb2RlZElt
YWdlKCkuc2l6ZSgpIDw8ICIsIGZyYW1lIHJlY2VwdGlvbiBkdXJhdGlvbiBpcyAiIDw8IChmcmFt
ZS0+dmlkZW9fdGltaW5nKCkucmVjZWl2ZV9maW5pc2hfbXMgLSBmcmFtZS0+dmlkZW9fdGltaW5n
KCkucmVjZWl2ZV9zdGFydF9tcykgPDwgIiBtcywgIiA8PCAiIG9ic2VydmVkIHNhbXBsZXMgY291
bnQgaXMgIiA8PCBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18uc2l6ZSgpIDw8ICIsIG9ic2VydmVk
IHNhbXBsZXMgZHVyYXRpb24gaXMgIiA8PCAob2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHNfLmJhY2so
KSAtIG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5mcm9udCgpKTsKKyAgICAgIH0KKyAgICB9CisK
KyAgICBvYnNlcnZlZEZyYW1lVGltZVN0YW1wc18ucHVzaF9iYWNrKGZyYW1lVGltZSk7CisgICAg
d2hpbGUgKG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5mcm9udCgpIDw9IChmcmFtZVRpbWUgLSBU
aW1lU3RhbXBRdWV1ZUR1cmF0aW9uSW5NcykpCisgICAgICAgIG9ic2VydmVkRnJhbWVUaW1lU3Rh
bXBzXy5wb3BfZnJvbnQoKTsKKworICAgIGF1dG8gcXVldWVEdXJhdGlvbiA9IGZyYW1lVGltZSAt
IG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXy5mcm9udCgpOworICAgIGlmIChxdWV1ZUR1cmF0aW9u
ID4gT25lU2Vjb25kSW5NcykKKyAgICAgICAgb2JzZXJ2ZWRGcmFtZVJhdGVfID0gb2JzZXJ2ZWRG
cmFtZVRpbWVTdGFtcHNfLnNpemUoKSAqIE9uZVNlY29uZEluTXMgLyBxdWV1ZUR1cmF0aW9uOwor
I2VuZGlmCisKICAgY29uc3QgYWJzbDo6b3B0aW9uYWw8UlRQVmlkZW9IZWFkZXI6OkdlbmVyaWNE
ZXNjcmlwdG9ySW5mbz4mIGRlc2NyaXB0b3IgPQogICAgICAgZnJhbWUtPkdldFJ0cFZpZGVvSGVh
ZGVyKCkuZ2VuZXJpYzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVhbV9yZWNlaXZlci5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvdmlkZW8vcnRwX3ZpZGVvX3N0cmVh
bV9yZWNlaXZlci5oCmluZGV4IDMzMDQ1NWIxYjg2YmQ1ZmQzZTQwZDUzNjM2YjYwM2VjNjcwMzc3
YWUuLjM3YjI3ZjNjNjRkMjY1MzA4ZDAyM2FmNGY0NjMzMjQ2NWE3NDZmN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3ZpZGVvL3J0cF92aWRl
b19zdHJlYW1fcmVjZWl2ZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy92aWRlby9ydHBfdmlkZW9fc3RyZWFtX3JlY2VpdmVyLmgKQEAgLTM2MCw2ICsz
NjAsMTIgQEAgY2xhc3MgUnRwVmlkZW9TdHJlYW1SZWNlaXZlciA6IHB1YmxpYyBMb3NzTm90aWZp
Y2F0aW9uU2VuZGVyLAogCiAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjxSdHBWaWRlb1N0cmVhbVJlY2Vp
dmVyRnJhbWVUcmFuc2Zvcm1lckRlbGVnYXRlPgogICAgICAgZnJhbWVfdHJhbnNmb3JtZXJfZGVs
ZWdhdGVfOworCisjaWYgZGVmaW5lZChXRUJSVENfV0VCS0lUX0JVSUxEKQorICBzdGQ6OmRlcXVl
PGludDY0X3Q+IG9ic2VydmVkRnJhbWVUaW1lU3RhbXBzXzsKKyAgZG91YmxlIG9ic2VydmVkRnJh
bWVSYXRlXyB7IDAgfTsKKyAgdWludDY0X3QgZnJhbWVDb3VudF8geyAwIH07CisjZW5kaWYKIH07
CiAKIH0gIC8vIG5hbWVzcGFjZSB3ZWJydGMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZDVjNGU3MjBkYzRl
MTE4MWUyODgxZDUzYzc2MWZiMjFmMzZkOWZiNy4uMTQ4ZjM5OGRiYzUzZjQzOTMyOGIzYjJmN2Y3
NDJlZDU5ODcxNTE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE4MDAsNiArMTgwMCw3IEBAIHBsYXRm
b3JtL0ZpbGVDaG9vc2VyLmNwcAogcGxhdGZvcm0vRmlsZUhhbmRsZS5jcHAKIHBsYXRmb3JtL0Zp
bGVNb25pdG9yLmNwcAogcGxhdGZvcm0vRmlsZVN0cmVhbS5jcHAKK3BsYXRmb3JtL0ZyYW1lUmF0
ZU1vbml0b3IuY3BwCiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAogcGxhdGZvcm0vTGF5
b3V0VW5pdC5jcHAKIHBsYXRmb3JtL0xlZ2FjeVNjaGVtZVJlZ2lzdHJ5LmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRlNGZl
ZGNlODBlMzU1NGEwYTRhZDYwMjZkMzgyY2ExYTk3OGQ3OWUuLmFmN2RiN2E0NjMwZTU5Njk4MTdh
MzI4ZGUyZDk5NTczNGRmZjM2MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDUsNiArMTEwNSw3IEBACiAJCTQxODkzOEIy
MjQyOUY5QjQwMDdGREM0MSAvKiBSZXRyaWV2ZVJlY29yZHNPcHRpb25zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTg5MzhBRjI0MjlGOUFCMDA3RkRD
NDEgLyogUmV0cmlldmVSZWNvcmRzT3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxOEEwNkQwMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVu
dERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCAqLzsgfTsK
IAkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEY4ODAzMEZGOTU3QUUw
MDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmggKi87IH07CisJCTQxOTBGM0E1MjRBMEI0RUUw
MDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVSYXRl
TW9uaXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQxOTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxOTI0MjQ3MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5tbSAqLzsgfTsKIAkJNDE5QUNGOTIxRjk3RTdEQTAwOUYxQTgzIC8qIFNlcnZpY2VXb3Jr
ZXJGZXRjaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE5QUNGOEUxRjk3RTdENTAwOUYxQTgzIC8qIFNlcnZpY2VXb3JrZXJGZXRjaC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxOUJDMkRGMTY4NTMy
OTkwMEQ2NEQ2RCAvKiBWaXNpdGVkTGlua1N0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlCQzJERDE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRl
ZExpbmtTdGF0ZS5oICovOyB9OwpAQCAtNzUxNyw2ICs3NTE4LDggQEAKIAkJNDE4QzM5NUYxQzhG
MEFBQjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGODgwMjBGRjk1N0FFMDA4MEYw
NDUgLyogSlNBYnN0cmFjdFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0Fic3RyYWN0V29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDE4Rjg4MDMwRkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBYnN0cmFjdFdvcmtlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTkwRjNBMTI0OUQxNTI3MDA1MzFDNTcgLyogRnJhbWVSYXRl
TW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGcmFtZVJh
dGVNb25pdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE5MEYzQTMyNDlE
MTUyODAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRnJhbWVSYXRlTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTkyNDI0NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE5NDU2OTQyMDM1MDJBNTAwNEJBMjc3IC8qIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJj
ZUxvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcHBsaWNh
dGlvbkNhY2hlUmVzb3VyY2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTk0NTY5NjIwMzUwMkE2MDA0QkEyNzcgLyogQXBwbGljYXRpb25DYWNoZVJlc291cmNlTG9h
ZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVS
ZXNvdXJjZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjY0MzMsNiAr
MjY0MzYsOCBAQAogCQkJCTJFRjFCRkU5MTIxQzlGNDIwMEMyNzYyNyAvKiBGaWxlU3RyZWFtLmgg
Ki8sCiAJCQkJMkVGMUJGRjgxMjFDQjBDRTAwQzI3NjI3IC8qIEZpbGVTdHJlYW1DbGllbnQuaCAq
LywKIAkJCQlCQzA3M0JBOTBDMzk5QjFGMDAwRjU5NzkgLyogRmxvYXRDb252ZXJzaW9uLmggKi8s
CisJCQkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3BwICov
LAorCQkJCTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8s
CiAJCQkJQ0Q0QkU1MjkxQ0UxMzQyNTAwOUQ4N0RBIC8qIEdlbmVyaWNUYXNrUXVldWUuY3BwICov
LAogCQkJCUNENjJGQjk0MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmggKi8s
CiAJCQkJQTg3NDhCREYxMkNCRjJEQzAwMUZCQTQxIC8qIEhhc2hUb29scy5oICovLApAQCAtMzA3
NDIsNiArMzA3NDcsNyBAQAogCQkJCTkzQjc3QTM4MEFERDc5MjUwMEVBNEI4MSAvKiBGcmFtZUxv
YWRlclR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTg0MzY4NjBBRTAxQjc0MDBFNTM3NTMg
LyogRnJhbWVMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjI4RDIxNEUxMjEzMUVG
NDAwNTVEQ0ZDIC8qIEZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTQxOTBGM0E1MjRBMEI0RUUwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5MzMwOUUwRTA5OUU2NDkyMDA1NkU1ODEgLyogRnJhbWVTZWxlY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCUM0Q0Q2MjlCMTgzODM3NjYwMDdFQkFGMSAvKiBGcmFtZVNuYXBz
aG90dGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVBMjE0ODUwOTdBM0Y1MzAwQjkwNTBBIC8q
IEZyYW1lVHJlZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GcmFtZVJhdGVNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zy
YW1lUmF0ZU1vbml0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmYmUxNmY1NDRkYzYxM2ZhZTQyZWZlOGNl
OGMzNDAzNjZhMDgyOGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9GcmFtZVJhdGVNb25pdG9yLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkZyYW1lUmF0ZU1vbml0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMg
Y29uc3RleHByIFNlY29uZHMgTWluaW11bUF2ZXJhZ2VEdXJhdGlvbiA9IDFfczsKK3N0YXRpYyBj
b25zdGV4cHIgU2Vjb25kcyBNYXhRdWV1ZUR1cmF0aW9uID0gMl9zOworc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBNYXhGcmFtZURlbGF5Q291bnQgPSAzOworCit2b2lkIEZyYW1lUmF0ZU1vbml0
b3I6OnVwZGF0ZSgpCit7CisgICAgKyttX2ZyYW1lQ291bnQ7CisKKyAgICBhdXRvIGZyYW1lVGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKTsKKyAg
ICBhdXRvIGxhc3RGcmFtZVRpbWUgPSBtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLmlzRW1wdHko
KSA/IGZyYW1lVGltZSA6IG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMubGFzdCgpOworCisgICAg
aWYgKG1fb2JzZXJ2ZWRGcmFtZVJhdGUpIHsKKyAgICAgICAgYXV0byBtYXhEZWxheSA9IE1heEZy
YW1lRGVsYXlDb3VudCAvIG1fb2JzZXJ2ZWRGcmFtZVJhdGU7CisgICAgICAgIGlmICgoZnJhbWVU
aW1lIC0gbGFzdEZyYW1lVGltZSkgPiBtYXhEZWxheSkKKyAgICAgICAgICAgIG1fbGF0ZUZyYW1l
Q2FsbGJhY2soeyBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyhmcmFtZVRpbWUpLCBNb25v
dG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyhsYXN0RnJhbWVUaW1lKSB9KTsKKyAgICB9CisgICAg
bV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5hcHBlbmQoZnJhbWVUaW1lKTsKKyAgICBtX29ic2Vy
dmVkRnJhbWVUaW1lU3RhbXBzLnJlbW92ZUFsbE1hdGNoaW5nKFsmXShhdXRvIHRpbWUpIHsKKyAg
ICAgICAgcmV0dXJuIHRpbWUgPD0gZnJhbWVUaW1lIC0gTWF4UXVldWVEdXJhdGlvbi52YWx1ZSgp
OworICAgIH0pOworCisgICAgYXV0byBxdWV1ZUR1cmF0aW9uID0gbV9vYnNlcnZlZEZyYW1lVGlt
ZVN0YW1wcy5sYXN0KCkgLSBtX29ic2VydmVkRnJhbWVUaW1lU3RhbXBzLmZpcnN0KCk7CisgICAg
aWYgKHF1ZXVlRHVyYXRpb24gPiBNaW5pbXVtQXZlcmFnZUR1cmF0aW9uLnZhbHVlKCkpCisgICAg
ICAgIG1fb2JzZXJ2ZWRGcmFtZVJhdGUgPSAobV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5zaXpl
KCkgLyBxdWV1ZUR1cmF0aW9uKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRnJhbWVSYXRlTW9uaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRnJh
bWVSYXRlTW9uaXRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkOGY4NTQ0MGEyNGYxNWE4MzI2YjJjZWQ2YTc4
MjVhZDE2NmRlNWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9G
cmFtZVJhdGVNb25pdG9yLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Rl
cXVlLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBGcmFtZVJhdGVNb25pdG9yIHsKK3B1YmxpYzoKKyAgICBzdHJ1Y3QgTGF0
ZUZyYW1lSW5mbyB7CisgICAgICAgIE1vbm90b25pY1RpbWUgZnJhbWVUaW1lOworICAgICAgICBN
b25vdG9uaWNUaW1lIGxhc3RGcmFtZVRpbWU7CisgICAgfTsKKyAgICB1c2luZyBMYXRlRnJhbWVD
YWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoTGF0ZUZyYW1lSW5mbyk+OworICAgIGV4cGxpY2l0IEZy
YW1lUmF0ZU1vbml0b3IoTGF0ZUZyYW1lQ2FsbGJhY2smJik7CisKKyAgICB2b2lkIHVwZGF0ZSgp
OworCisgICAgZG91YmxlIG9ic2VydmVkRnJhbWVSYXRlKCkgY29uc3QgeyByZXR1cm4gbV9vYnNl
cnZlZEZyYW1lUmF0ZTsgfQorICAgIHNpemVfdCBmcmFtZUNvdW50KCkgY29uc3QgeyByZXR1cm4g
bV9mcmFtZUNvdW50OyB9CisKK3ByaXZhdGU6CisgICAgTGF0ZUZyYW1lQ2FsbGJhY2sgbV9sYXRl
RnJhbWVDYWxsYmFjazsKKyAgICBEZXF1ZTxkb3VibGUsIDEyMD4gbV9vYnNlcnZlZEZyYW1lVGlt
ZVN0YW1wczsKKyAgICBkb3VibGUgbV9vYnNlcnZlZEZyYW1lUmF0ZSB7IDAgfTsKKyAgICB1aW50
NjRfdCBtX2ZyYW1lQ291bnQgeyAwIH07Cit9OworCitpbmxpbmUgRnJhbWVSYXRlTW9uaXRvcjo6
RnJhbWVSYXRlTW9uaXRvcihMYXRlRnJhbWVDYWxsYmFjayYmIGNhbGxiYWNrKQorICAgIDogbV9s
YXRlRnJhbWVDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKK3sKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9j
YWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgK
aW5kZXggYmQ2MTY4ZjA5ZjVmNDI1YTYwOWNkNjhhZWNiZGJjZmU2YWNhZTRlNi4uOTJmYThjODU2
ZjNlNTFjYzg1N2FjYzQwMjY3MGQ5ZmMxZGZkZWEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoQVZGT1VOREFUSU9OKQog
CisjaW5jbHVkZSAiRnJhbWVSYXRlTW9uaXRvci5oIgogI2luY2x1ZGUgIlNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllci5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CkBAIC04MSw2ICs4MiwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVxdWVzdE5vdGlm
aWNhdGlvbldoZW5SZWFkeUZvclZpZGVvRGF0YSgpOwogICAgIHZvaWQgZW5xdWV1ZVNhbXBsZUJ1
ZmZlcihNZWRpYVNhbXBsZSYpOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9p
ZCBvbklycmVndWxhckZyYW1lUmF0ZU5vdGlmaWNhdGlvbihNb25vdG9uaWNUaW1lIGZyYW1lVGlt
ZSwgTW9ub3RvbmljVGltZSBsYXN0RnJhbWVUaW1lKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAg
IFJldGFpblB0cjxXZWJBVlNhbXBsZUJ1ZmZlclN0YXR1c0NoYW5nZUxpc3RlbmVyPiBtX3N0YXR1
c0NoYW5nZUxpc3RlbmVyOwogICAgIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cj4gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI7CkBAIC05Miw2ICs5NywxMCBAQCBwcml2YXRl
OgogICAgIC8vIE9ubHkgYWNjZXNzZWQgdGhyb3VnaCBtX3Byb2Nlc3NpbmdRdWV1ZSBvciBpZiBt
X3Byb2Nlc3NpbmdRdWV1ZSBpcyBudWxsLgogICAgIHVzaW5nIFBlbmRpbmdTYW1wbGVRdWV1ZSA9
IERlcXVlPFJlZjxNZWRpYVNhbXBsZT4+OwogICAgIFBlbmRpbmdTYW1wbGVRdWV1ZSBtX3BlbmRp
bmdWaWRlb1NhbXBsZVF1ZXVlOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgRnJh
bWVSYXRlTW9uaXRvciBtX2ZyYW1lUmF0ZU1vbml0b3I7CisjZW5kaWYKIH07CiAKIGlubGluZSB2
b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpzZXRSZW5kZXJQb2xpY3koUmVuZGVy
UG9saWN5IHJlbmRlclBvbGljeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggNzBiM2M0NGYzY2MwZmIyNGVj
ODkwMjhlNTgyNWEzZWQ4MDhjYjQwMS4uMjk4NDY5MDk2MWUxMGQ2ZjdlM2IwZTM1NGVhMzc1MzJm
NDVlNjEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTE1Myw2ICsxNTMsOSBAQCBMb2NhbFNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllcjo6TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIoUmV0YWluUHRy
PEFWU2FtcGxlQgogICAgICwgbV9zdGF0dXNDaGFuZ2VMaXN0ZW5lcihhZG9wdE5TKFtbV2ViQVZT
YW1wbGVCdWZmZXJTdGF0dXNDaGFuZ2VMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhQYXJlbnQ6dGhp
c10pKQogICAgICwgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIoV1RGTW92ZShzYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXIpKQogICAgICwgbV9wcm9jZXNzaW5nUXVldWUoV29ya1F1ZXVlOjpjcmVh
dGUoIkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHF1ZXVlIikpCisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECisgICAgLCBtX2ZyYW1lUmF0ZU1vbml0b3IoW3RoaXNdKGF1dG8gaW5mbykg
eyBvbklycmVndWxhckZyYW1lUmF0ZU5vdGlmaWNhdGlvbihpbmZvLmZyYW1lVGltZSwgaW5mby5s
YXN0RnJhbWVUaW1lKTsgfSkKKyNlbmRpZgogewogfQogCkBAIC0zMDAsNiArMzAzLDcgQEAgdm9p
ZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZShNZWRpYVNhbXBs
ZSYgc2FtcGxlKQogewogICAgIG1fcHJvY2Vzc2luZ1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgc2Ft
cGxlID0gbWFrZVJlZihzYW1wbGUpXSB7CiAgICAgICAgIGlmICghW21fc2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyIGlzUmVhZHlGb3JNb3JlTWVkaWFEYXRhXSkgeworICAgICAgICAgICAgV1RGTG9n
QWx3YXlzKCJMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZSBub3Qg
cmVhZHkgZm9yIG1vcmUgbWVkaWEgZGF0YSIpOwogICAgICAgICAgICAgYWRkU2FtcGxlVG9QZW5k
aW5nUXVldWUoc2FtcGxlKTsKICAgICAgICAgICAgIHJlcXVlc3ROb3RpZmljYXRpb25XaGVuUmVh
ZHlGb3JWaWRlb0RhdGEoKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMyNCw3ICszMjgsMjAg
QEAgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZUJ1ZmZl
cihNZWRpYVNhbXBsZSYgc2FtcGxlKQogICAgIH0KIAogICAgIFttX3NhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllciBlbnF1ZXVlU2FtcGxlQnVmZmVyOnNhbXBsZVRvRW5xdWV1ZV07CisKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKKyAgICBtX2ZyYW1lUmF0ZU1vbml0b3IudXBkYXRlKCk7CisjZW5k
aWYKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAordm9pZCBMb2NhbFNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllcjo6b25JcnJlZ3VsYXJGcmFtZVJhdGVOb3RpZmljYXRpb24oTW9ub3Rvbmlj
VGltZSBmcmFtZVRpbWUsIE1vbm90b25pY1RpbWUgbGFzdEZyYW1lVGltZSkKK3sKKyAgICBjYWxs
T25NYWluVGhyZWFkKFtmcmFtZVRpbWUgPSBmcmFtZVRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52
YWx1ZSgpLCBsYXN0RnJhbWVUaW1lID0gbGFzdEZyYW1lVGltZS5zZWNvbmRzU2luY2VFcG9jaCgp
LnZhbHVlKCksIG9ic2VydmVkRnJhbWVSYXRlID0gbV9mcmFtZVJhdGVNb25pdG9yLm9ic2VydmVk
RnJhbWVSYXRlKCksIGZyYW1lQ291bnQgPSBtX2ZyYW1lUmF0ZU1vbml0b3IuZnJhbWVDb3VudCgp
XSB7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6
OmVucXVldWVTYW1wbGVCdWZmZXIgYXQgJWYsIHByZXZpb3VzIGZyYW1lIHdhcyBhdCAlZiwgb2Jz
ZXJ2ZWQgZnJhbWUgcmF0ZSBpcyAlZiwgZGVsYXkgc2luY2UgbGFzdCBmcmFtZSBpcyAlZiBtcywg
ZnJhbWUgY291bnQgaXMgJWx1IiwgZnJhbWVUaW1lLCBsYXN0RnJhbWVUaW1lLCBvYnNlcnZlZEZy
YW1lUmF0ZSwgKGZyYW1lVGltZSAtIGxhc3RGcmFtZVRpbWUpICogMTAwMCwgZnJhbWVDb3VudCk7
CisgICAgfSk7CiB9CisjZW5kaWYKIAogdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cjo6cmVtb3ZlT2xkU2FtcGxlc0Zyb21QZW5kaW5nUXVldWUoKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyVW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCmluZGV4IGY4NzU2NGQ5OTg2Y2U0
YTExMzBiNTkwNTc4Yjc3OWQyZjkwYWRmZDUuLjQ0MDc2YTU2ZWM5NzRmOWJiODczNDJiZmM3NDgz
MGM4NTljNzcyZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJVbml0LmgKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNsdWRlIDxBdWRpb1Rvb2xib3gvQXVk
aW9Ub29sYm94Lmg+CiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+CiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>