<?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>234008</bug_id>
          
          <creation_ts>2021-12-08 07:46:09 -0800</creation_ts>
          <short_desc>ANGLE Metal framebuffer object clear performance regression</short_desc>
          <delta_ts>2022-06-01 00:05:16 -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>WebGL</component>
          <version>Safari 15</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 15</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>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>231180</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jekfer Bichon">jekfer.bichon</reporter>
          <assigned_to name="Dan Glastonbury">djg</assigned_to>
          <cc>dino</cc>
    
    <cc>djg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>geofflang</cc>
    
    <cc>gman</cc>
    
    <cc>jonahr</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>sebastien.videcoq</cc>
    
    <cc>vmr1</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821553</commentid>
    <comment_count>0</comment_count>
      <attachid>446365</attachid>
    <who name="Jekfer Bichon">jekfer.bichon</who>
    <bug_when>2021-12-08 07:46:09 -0800</bug_when>
    <thetext>Created attachment 446365
Sample to reproduce

Hello,

We have detected a performance regression while manipulating framebuffers. I have attached a sample where I bind and clear framebuffers that are created once. The regression has been detected on an iPad Gen 8.

We were getting a comfortable 60 fps on the sample on Safari 14 while we are barely hitting 21 fps on Safari 15. Disabling the experimental option &quot;WebGL via Metal&quot; on Safari 15 puts the performances back at Safari 14 level.

Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824349</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-15 08:02:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/86522988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824488</commentid>
    <comment_count>2</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-12-15 12:32:49 -0800</bug_when>
    <thetext>I can reproduce slight regressions in perf of iPhone 11, iPad Pro 2015, nothing as drastic as reported. iPhone 11 fps == ~30, iPad Pro 2015 fps == ~10

All samples under 
Sample Count, Samples %, Normalized CPU %, Symbol
209, 4.4%, 3.2%, WebCore::GraphicsContextGLANGLE::clear(unsigned int) (in WebCore)
209, 4.4%, 3.2%,     gl::Clear(unsigned int) (in libANGLE-shared.dylib)
173, 3.6%, 2.6%,         gl::Context::clear(unsigned int) (in libANGLE-shared.dylib)
169, 3.5%, 2.6%,             gl::Context::syncState(angle::IterableBitSet&lt;63ul&gt; const&amp;, angle::BitSetT&lt;12ul, unsigned int, unsigned long&gt; const&amp;, gl::Command) (in libANGLE-shared.dylib)
166, 3.5%, 2.5%,                 rx::ContextMtl::syncState(gl::Context const*, angle::IterableBitSet&lt;63ul&gt; const&amp;, angle::IterableBitSet&lt;63ul&gt; const&amp;) (in libANGLE-shared.dylib)
165, 3.5%, 2.5%,                     rx::ContextMtl::onDrawFrameBufferChangedState(gl::Context const*, rx::FramebufferMtl*, bool) (in libANGLE-shared.dylib)
165, 3.5%, 2.5%,                         rx::ContextMtl::endEncoding(bool) (in libANGLE-shared.dylib)
165, 3.5%, 2.5%,                             rx::ContextMtl::endRenderEncoding(rx::mtl::RenderCommandEncoder*) (in libANGLE-shared.dylib)
163, 3.4%, 2.5%,                                 rx::mtl::RenderCommandEncoder::endEncodingImpl(bool) (in libANGLE-shared.dylib)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835392</commentid>
    <comment_count>3</comment_count>
    <who name="Vincent Meynier">vmr1</who>
    <bug_when>2022-01-30 11:36:21 -0800</bug_when>
    <thetext>Hello, at Dassault Systèmes, all our 3D web applications are impacted by this regression.
&quot;CATIA xGenerative Design&quot; and &quot;SolidWorks xDesign&quot; are particularly concerned.
Our Apple users unfortunately can no longer take advantage of an essential feature, because less than 30 FPS was not acceptable, so we have restricted the use while waiting for a solution.

Kimmo, I&apos;m sorry I&apos;m not very familiar with bugs.webkit.org
- As a Reviewer, you validated the relevance of the issue and confirmed that the sample works, and now a developer needs to take the ticket? 
- What chance do we have that this one will be dealt with soon?
- How long after the fix will it take before our users&apos; browsers are updated with it?

Thank you very much for your time and your help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842271</commentid>
    <comment_count>4</comment_count>
    <who name="Sébastien VIDECOQ">sebastien.videcoq</who>
    <bug_when>2022-02-16 07:09:58 -0800</bug_when>
    <thetext>Hello, any progress on this ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846954</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-01 01:48:23 -0800</bug_when>
    <thetext>I can still reproduce this on iOS 15.4 seed 4, iPad Pro 2020, portrait:
WebGL via OpenGL 50fps (onscreen counter)
WebGL via Metal 26fps (onscreen counter)

Will investigate this further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858227</commentid>
    <comment_count>6</comment_count>
      <attachid>456665</attachid>
    <who name="Dan Glastonbury">djg</who>
    <bug_when>2022-04-04 21:21:43 -0700</bug_when>
    <thetext>Created attachment 456665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858229</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-04-04 21:23:45 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858252</commentid>
    <comment_count>8</comment_count>
      <attachid>456673</attachid>
    <who name="Dan Glastonbury">djg</who>
    <bug_when>2022-04-04 23:04:20 -0700</bug_when>
    <thetext>Created attachment 456673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858253</commentid>
    <comment_count>9</comment_count>
      <attachid>456673</attachid>
    <who name="Dan Glastonbury">djg</who>
    <bug_when>2022-04-04 23:05:28 -0700</bug_when>
    <thetext>Comment on attachment 456673
Patch

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

&gt; Source/ThirdParty/ANGLE/changes.diff:-19425
&gt; -diff --git a/src/compiler/translator/TranslatorMetalDirect.cpp b/src/compiler/translator/TranslatorMetalDirect.cpp

I didn&apos;t make these changes

&gt; Source/ThirdParty/ANGLE/changes.diff:-19840
&gt; -diff --git a/src/libANGLE/renderer/metal/FrameBufferMtl.mm b/src/libANGLE/renderer/metal/FrameBufferMtl.mm

I didn&apos;t make these changes

&gt; Source/ThirdParty/ANGLE/changes.diff:-19931
&gt; -@@ -775,5 +775,4 @@ void PBufferSurfaceMtl::setFixedHeight(EGLint height)

I didn&apos;t make these changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858268</commentid>
    <comment_count>10</comment_count>
      <attachid>456673</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-05 00:11:03 -0700</bug_when>
    <thetext>Comment on attachment 456673
Patch

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

some comments about  perhaps need for clarifications

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h:579
&gt; +    uint32_t mRenderPassCount = 0;

The variable name should be more descriptive. It does not explain that it counts the number of render passes since last flush.

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm:1704
&gt; +        mRenderPassCount = 0;

I don&apos;t think it&apos;s correct to reset the render pass count only when the render pass count exceeds 16.
You need to reset it somehow else, at some other point too. E.g. for every flush?

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm:1705
&gt; +        flushCommandBuffer(mtl::WaitUntilScheduled);

Is there a reason:
-  exceeding max render passes needs WaitUntilScheduled
vs 
- exceeding max call count needs NoWait

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_command_buffer.h:171
&gt; +    uint32_t mRenderPasses      = 0;

is this variable used at all?

&gt; Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_common.h:151
&gt; +constexpr uint32_t kMaxRenderPasses = 16;

kMaxRenderPasses per some quality (in-flight what? You might have 1000 command buffers &quot;in flight&quot;, does it mean you can only have 16 render passes total &quot;in flight&quot;?)

kMaxRenderPassesPerCommandBuffer ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858270</commentid>
    <comment_count>11</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-05 00:14:26 -0700</bug_when>
    <thetext>For the commit message, you might spend a sentence or two about what it is that makes having more than 16 render passes in a command buffer slow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858692</commentid>
    <comment_count>12</comment_count>
      <attachid>456783</attachid>
    <who name="Dan Glastonbury">djg</who>
    <bug_when>2022-04-05 22:01:39 -0700</bug_when>
    <thetext>Created attachment 456783
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860577</commentid>
    <comment_count>13</comment_count>
      <attachid>456783</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-11 23:21:42 -0700</bug_when>
    <thetext>Comment on attachment 456783
Patch

nice find!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860750</commentid>
    <comment_count>14</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-04-12 11:44:16 -0700</bug_when>
    <thetext>Great find and fix! It would be ideal to upstream this to ANGLE as soon as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1873205</commentid>
    <comment_count>15</comment_count>
    <who name="Dan Glastonbury">djg</who>
    <bug_when>2022-05-31 19:15:00 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/1201</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1873240</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-06-01 00:05:13 -0700</bug_when>
    <thetext>Committed r295082 (251177@main): &lt;https://commits.webkit.org/251177@main&gt;

Reviewed commits have been landed. Closing PR #1201 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>446365</attachid>
            <date>2021-12-08 07:46:09 -0800</date>
            <delta_ts>2021-12-08 07:46:09 -0800</delta_ts>
            <desc>Sample to reproduce</desc>
            <filename>iosFrameBufferReg.html</filename>
            <type>text/html</type>
            <size>4881</size>
            <attacher name="Jekfer Bichon">jekfer.bichon</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiPg0KICAgIDx0aXRsZT5pb3MxNSBmcmFtZWJ1ZmZlciByZWdyZXNzaW9uPC90aXRsZT4NCiAg
ICA8c2NyaXB0IHR5cGU9Im1vZHVsZSI+DQogICAgICAgIGltcG9ydCAqIGFzIFRIUkVFIGZyb20g
J2h0dHBzOi8vY2RuLnNreXBhY2suZGV2L3RocmVlJzsNCiAgICAgICAgaW1wb3J0IFN0YXRzIGZy
b20gJ2h0dHBzOi8vY2RuLnNreXBhY2suZGV2L3RocmVlL2V4YW1wbGVzL2pzbS9saWJzL3N0YXRz
Lm1vZHVsZSc7DQoNCiAgICAgICAgLy8gY3JlYXRlIHRoZSBjYW1lcmENCiAgICAgICAgdmFyIGNh
bWVyYSA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSg0NSwgd2luZG93LmlubmVyV2lkdGgg
LyB3aW5kb3cuaW5uZXJIZWlnaHQsIDAuMSwgMTAwMCk7DQogICAgICAgIGNhbWVyYS5wb3NpdGlv
bi5zZXQoMCwgMCwgMjApOw0KICAgICAgICBjYW1lcmEubG9va0F0KG5ldyBUSFJFRS5WZWN0b3Iz
KDAsIDUsIC0yKSk7DQoNCiAgICAgICAgdmFyIHJlbmRlcmVyID0gbmV3IFRIUkVFLldlYkdMUmVu
ZGVyZXIoew0KICAgICAgICAgICAgYW50aWFsaWFzOiBmYWxzZSwNCiAgICAgICAgICAgIGFscGhh
OiB0cnVlLA0KICAgICAgICAgICAgcHJlbXVsdGlwbGllZEFscGhhOiBmYWxzZSwNCiAgICAgICAg
fSk7DQogICAgICAgIHZhciBjb250ZXh0ID0gcmVuZGVyZXIuZ2V0Q29udGV4dCgpOw0KICAgICAg
ICByZW5kZXJlci5zZXRQaXhlbFJhdGlvKDEpOw0KDQogICAgICAgIC8vIHNldCBzaXplDQogICAg
ICAgIHJlbmRlcmVyLnNldFNpemUod2luZG93LmlubmVyV2lkdGgsIHdpbmRvdy5pbm5lckhlaWdo
dCk7DQoNCiAgICAgICAgLy8gYWRkIGNhbnZhcyB0byBkb20NCiAgICAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChyZW5kZXJlci5kb21FbGVtZW50KTsNCg0KICAgICAgICAvLyBjcmVhdGUg
dGhlIHNjZW5lDQogICAgICAgIHZhciBzY2VuZSA9IG5ldyBUSFJFRS5TY2VuZSgpOw0KICAgICAg
ICAvLyBjb25maWcNCiAgICAgICAgdmFyIHVybCA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uKTsN
CiAgICAgICAgdmFyIHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJsLnNlYXJjaCk7DQog
ICAgICAgIC8vDQogICAgICAgIGNvbnN0IG1hdCA9IG5ldyBUSFJFRS5TaGFkZXJNYXRlcmlhbCh7
DQogICAgICAgICAgICB2ZXJ0ZXhTaGFkZXI6IGANCiAgICAgICAgICAgIHZvaWQgbWFpbigpIHsN
CiAgICAgICAgICAgICAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZp
ZXdNYXRyaXggKiB2ZWM0KHBvc2l0aW9uLCAxLjApOw0KICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgYCwNCiAgICAgICAgICAgIGZyYWdtZW50U2hhZGVyOiBgDQogICAgICAgICAgICANCiAgICAg
ICAgICAgIHZvaWQgbWFpbigpIHsNCiAgICAgICAgICAgICAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0
KDEuMCwgMC4wLCAwLjAsIDEuMCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBgLA0KICAg
ICAgICB9KTsNCiAgICAgICAgLy8gZ2VvbWV0cnkNCiAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBu
ZXcgVEhSRUUuUGxhbmVHZW9tZXRyeSgxMCwgMTApOw0KICAgICAgICBjb25zdCBxdWFkID0gbmV3
IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdCk7DQogICAgICAgIHF1YWQucG9zaXRpb24uc2V0KDAs
IDAsIDApOw0KICAgICAgICBzY2VuZS5hZGQocXVhZCk7DQogICAgICAgIC8vIGNyZWF0ZSBmcmFt
ZSBidWZmZXJzDQogICAgICAgIHZhciByZW5kZXJUYXJnZXRzID0gbnVsbDsNCiAgICAgICAgdmFy
IGNyZWF0ZVJlbmRlclRhcmdldHMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgbGVu
ID0gcGFyc2VJbnQocGFyYW1zLmdldCgibmIiKSk7DQogICAgICAgICAgICByZW5kZXJUYXJnZXRz
ID0gbmV3IEFycmF5KDI1MCk7DQogICAgICAgICAgICB2YXIgc2l6ZVggPSAyNDsNCiAgICAgICAg
ICAgIHZhciBzaXplWSA9IDI0Ow0KICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZW5k
ZXJUYXJnZXRzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgdmFyIHJlbmRlclRhcmdl
dCA9IHsNCiAgICAgICAgICAgICAgICAgICAgZnJhbWVCdWZmZXI6IGNvbnRleHQuY3JlYXRlRnJh
bWVidWZmZXIoKSwNCiAgICAgICAgICAgICAgICAgICAgcmVuZGVyQnVmZmVyOiBjb250ZXh0LmNy
ZWF0ZVJlbmRlcmJ1ZmZlcigpLA0KICAgICAgICAgICAgICAgICAgICB0ZXh0dXJlOiBjb250ZXh0
LmNyZWF0ZVRleHR1cmUoKSwNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIC8v
DQogICAgICAgICAgICAgICAgY29udGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRFWFRVUkVfMkQs
IHJlbmRlclRhcmdldC50ZXh0dXJlKTsNCiAgICAgICAgICAgICAgICBjb250ZXh0LnRleFBhcmFt
ZXRlcmkoY29udGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVfV1JBUF9TLCBjb250ZXh0
LkNMQU1QX1RPX0VER0UpOw0KICAgICAgICAgICAgICAgIGNvbnRleHQudGV4UGFyYW1ldGVyaShj
b250ZXh0LlRFWFRVUkVfMkQsIGNvbnRleHQuVEVYVFVSRV9XUkFQX1QsIGNvbnRleHQuQ0xBTVBf
VE9fRURHRSk7DQogICAgICAgICAgICAgICAgY29udGV4dC50ZXhQYXJhbWV0ZXJpKGNvbnRleHQu
VEVYVFVSRV8yRCwgY29udGV4dC5URVhUVVJFX01BR19GSUxURVIsIGNvbnRleHQuTkVBUkVTVCk7
DQogICAgICAgICAgICAgICAgY29udGV4dC50ZXhQYXJhbWV0ZXJpKGNvbnRleHQuVEVYVFVSRV8y
RCwgY29udGV4dC5URVhUVVJFX01JTl9GSUxURVIsIGNvbnRleHQuTkVBUkVTVCk7DQogICAgICAg
ICAgICAgICAgY29udGV4dC50ZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4
dC5SR0JBLCBzaXplWCwgc2l6ZVksIDAsIGNvbnRleHQuUkdCQSwgY29udGV4dC5VTlNJR05FRF9C
WVRFLCBudWxsKTsNCiAgICAgICAgICAgICAgICAvLw0KICAgICAgICAgICAgICAgIGNvbnRleHQu
YmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIHJlbmRlclRhcmdldC5mcmFtZUJ1
ZmZlcik7DQogICAgICAgICAgICAgICAgY29udGV4dC5mcmFtZWJ1ZmZlclRleHR1cmUyRChjb250
ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkNPTE9SX0FUVEFDSE1FTlQwLCBjb250ZXh0LlRFWFRV
UkVfMkQsIHJlbmRlclRhcmdldC50ZXh0dXJlLCAwKTsNCiAgICAgICAgICAgICAgICAvLw0KICAg
ICAgICAgICAgICAgIGNvbnRleHQuYmluZFJlbmRlcmJ1ZmZlcihjb250ZXh0LlJFTkRFUkJVRkZF
UiwgcmVuZGVyVGFyZ2V0LnJlbmRlckJ1ZmZlcik7DQogICAgICAgICAgICAgICAgY29udGV4dC5y
ZW5kZXJidWZmZXJTdG9yYWdlKGNvbnRleHQuUkVOREVSQlVGRkVSLCBjb250ZXh0LkRFUFRIX1NU
RU5DSUwsIHNpemVYLCBzaXplWSk7DQogICAgICAgICAgICAgICAgY29udGV4dC5mcmFtZWJ1ZmZl
clJlbmRlcmJ1ZmZlcihjb250ZXh0LkZSQU1FQlVGRkVSLCBjb250ZXh0LkRFUFRIX1NURU5DSUxf
QVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIHJlbmRlclRhcmdldC5yZW5kZXJCdWZm
ZXIpOw0KICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgY29u
dGV4dC5iaW5kVGV4dHVyZShjb250ZXh0LlRFWFRVUkVfMkQsIG51bGwpOw0KICAgICAgICAgICAg
ICAgIGNvbnRleHQuYmluZFJlbmRlcmJ1ZmZlcihjb250ZXh0LlJFTkRFUkJVRkZFUiwgbnVsbCk7
DQogICAgICAgICAgICAgICAgY29udGV4dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5GUkFNRUJV
RkZFUiwgbnVsbCk7DQogICAgICAgICAgICAgICAgLy8NCiAgICAgICAgICAgICAgICByZW5kZXJU
YXJnZXRzW2ldID0gcmVuZGVyVGFyZ2V0Ow0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCiAg
ICAgICAgLy8gc3RhdHMNCiAgICAgICAgdmFyIHN0YXRzID0gbmV3IFN0YXRzKCk7DQogICAgICAg
IHN0YXRzLnNob3dQYW5lbCgwKTsgLy8gMDogZnBzLCAxOiBtcywgMjogbWIsIDMrOiBjdXN0b20N
CiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdGF0cy5kb20pOw0KICAgICAgICAv
LyANCiAgICAgICAgZnVuY3Rpb24gYW5pbWF0ZSgpIHsNCiAgICAgICAgICAgIHJlcXVlc3RBbmlt
YXRpb25GcmFtZShhbmltYXRlKTsNCiAgICAgICAgICAgIHJlbmRlcigpOw0KICAgICAgICB9DQoN
CiAgICAgICAgZnVuY3Rpb24gcmVuZGVyKCkgew0KICAgICAgICAgICAgc3RhdHMuYmVnaW4oKTsN
CiAgICAgICAgICAgIGlmIChyZW5kZXJUYXJnZXRzID09PSBudWxsKSB7DQogICAgICAgICAgICAg
ICAgY3JlYXRlUmVuZGVyVGFyZ2V0cygpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZW5kZXJUYXJnZXRzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAg
ICAgICAgY29udGV4dC5iaW5kRnJhbWVidWZmZXIoY29udGV4dC5GUkFNRUJVRkZFUiwgcmVuZGVy
VGFyZ2V0c1tpXS5mcmFtZUJ1ZmZlcik7DQoJCSAgICAgICAgY29udGV4dC5jbGVhciggY29udGV4
dC5DT0xPUl9CVUZGRVJfQklUIHwgY29udGV4dC5ERVBUSF9CVUZGRVJfQklUIHwgY29udGV4dC5T
VEVOQ0lMX0JVRkZFUl9CSVQgKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNvbnRleHQu
YmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIG51bGwpOw0KDQogICAgICAgICAg
ICByZW5kZXJlci5yZW5kZXIoc2NlbmUsIGNhbWVyYSk7DQoNCiAgICAgICAgICAgIHN0YXRzLmVu
ZCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgYW5pbWF0ZSgpOw0KDQoNCiAgICA8L3NjcmlwdD4N
CjwvaGVhZD4NCg0KPGJvZHk+PC9ib2R5Pg0KDQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456665</attachid>
            <date>2022-04-04 21:21:43 -0700</date>
            <delta_ts>2022-04-04 23:04:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234008-20220405142141.patch</filename>
            <type>text/plain</type>
            <size>4305</size>
            <attacher name="Dan Glastonbury">djg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZjkxMDhhNGQzNDVkOWQ0ODU1MGY5NzQ1NjQyYjM4M2U4NmI4YThmZi4uMTQ2Mzc5MjcwZWE4
YWFjODlkOTNjYjlkY2YxZTE3ZjJjOWNiMmE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTA0LTA0ICBEYW4gR2xhc3RvbmJ1cnkgIDxkamdAYXBw
bGUuY29tPgorCisgICAgICAgIEltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgbWFueSByZW5kZXIgcGFz
c2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0
MDA4CisKKyAgICAgICAgQnJlYWsgY29tbWFuZCBidWZmZXJzIHdpdGggbWFueSByZW5kZXIgcGFz
c2VzIGludG8gYmF0Y2hlcyBvZgorICAgICAgICBjb21tYW5kIGJ1ZmZlcnMgd2l0aCBhdCBtb3N0
IDE2IHBhc3Nlcy4KKworICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250
ZXh0TXRsLmg6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRN
dGwubW06CisgICAgICAgIChyeDo6Q29udGV4dE10bDo6Zmx1c2hDb21tYW5kQnVmZmVySWZOZWVk
ZWQpOgorICAgICAgICAocng6OkNvbnRleHRNdGw6OmdldFJlbmRlclBhc3NDb21tYW5kRW5jb2Rl
cik6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tYW5kX2J1
ZmZlci5oOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbW9u
Lmg6CisKIDIwMjItMDMtMjkgIEtlbm5ldGggUnVzc2VsbCAgPGtickBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgSGFuZGxlIHBrZ19jb25maWcgYW5kIGRlY2xhcmVfYXJncyBzdGF0ZW1lbnRzIGlu
IGduaS10by1jbWFrZS5weQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwuaCBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLmgKaW5kZXggMGY2
YWI5NzVhZjUyZmI5OWQ3NjNiMTY3YTY5OWY3MTMxY2I2ZDJmMC4uOWZjM2NiOTFiODgyMzBhNjBh
MTI3YzQ5NDljOGVhNmMxMzIwY2EwMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwuaAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5o
CkBAIC01NzYsNiArNTc2LDggQEAgY2xhc3MgQ29udGV4dE10bCA6IHB1YmxpYyBDb250ZXh0SW1w
bCwgcHVibGljIG10bDo6Q29udGV4dAogICAgIGdsOjpBdHRyaWJ1dGVzTWFzayBtRGlydHlEZWZh
dWx0QXR0cmlic01hc2s7CiAgICAgRGlydHlCaXRzIG1EaXJ0eUJpdHM7CiAKKyAgICB1aW50MzJf
dCBtUmVuZGVyUGFzc0NvdW50ID0gMDsKKwogICAgIC8vIFN0YXRlCiAgICAgbXRsOjpSZW5kZXJQ
aXBlbGluZURlc2MgbVJlbmRlclBpcGVsaW5lRGVzYzsKICAgICBtdGw6OkRlcHRoU3RlbmNpbERl
c2MgbURlcHRoU3RlbmNpbERlc2M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbSBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLm1tCmlu
ZGV4IGU5MWY3Njc0Y2E4OWE4Nzk4ZjQyMzViMmQzYTkwYTg3YTkwZjk1YTUuLmFjMTM2YzkxZTUy
ODY5N2QxZGY1ZDAwMTQ1N2Q0YTIxMmVhOWI0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLm1tCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250
ZXh0TXRsLm1tCkBAIC0xNjk0LDYgKzE2OTQsMTIgQEAgdm9pZCBDb250ZXh0TXRsOjpmbHVzaENv
bW1hbmRCdWZmZXIobXRsOjpDb21tYW5kQnVmZmVyRmluaXNoT3BlcmF0aW9uIG9wZXJhdGlvbikK
IAogdm9pZCBDb250ZXh0TXRsOjpmbHVzaENvbW1hbmRCdWZmZXJJZk5lZWRlZCgpCiB7CisgICAg
aWYgKG1SZW5kZXJQYXNzQ291bnQgPj0gbXRsOjprTWF4UmVuZGVyUGFzc2VzKQorICAgIHsKKyAg
ICAgICAgbVJlbmRlclBhc3NDb3VudCA9IDA7CisgICAgICAgIGZsdXNoQ29tbWFuZEJ1ZmZlciht
dGw6OldhaXRVbnRpbFNjaGVkdWxlZCk7CisgICAgfQorCiAgICAgaWYgKG1DbWRCdWZmZXIubmVl
ZHNGbHVzaEZvckRyYXdDYWxsTGltaXRzKCkpCiAgICAgewogICAgICAgICBmbHVzaENvbW1hbmRC
dWZmZXIobXRsOjpOb1dhaXQpOwpAQCAtMTc0OSw2ICsxNzU1LDcgQEAgbXRsOjpSZW5kZXJDb21t
YW5kRW5jb2RlciAqQ29udGV4dE10bDo6Z2V0UmVuZGVyUGFzc0NvbW1hbmRFbmNvZGVyKGNvbnN0
IG10bDo6UmUKICAgICBlbmRFbmNvZGluZyhmYWxzZSk7CiAKICAgICBlbnN1cmVDb21tYW5kQnVm
ZmVyUmVhZHkoKTsKKyAgICBtUmVuZGVyUGFzc0NvdW50Kys7CiAKICAgICAvLyBOZWVkIHRvIHJl
LWFwcGx5IGV2ZXJ5dGhpbmcgb24gbmV4dCBkcmF3IGNhbGwuCiAgICAgbURpcnR5Qml0cy5zZXQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9tdGxfY29tbWFuZF9idWZmZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbWFuZF9idWZmZXIuaAppbmRleCAy
MDBlMDI4MjM3YzczZTQ4YWQwOWQ5MmI5YWI2MjIxMzBjZjg0NWVkLi5mZTgzOTZlYjhmZTgwMzUz
N2Q3M2Y3NjFmY2IxMDE0MzE4OGQ4N2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1hbmRfYnVmZmVyLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210
bF9jb21tYW5kX2J1ZmZlci5oCkBAIC0xNjYsNiArMTY2LDcgQEAgY2xhc3MgQ29tbWFuZEJ1ZmZl
ciBmaW5hbCA6IHB1YmxpYyBXcmFwcGVkT2JqZWN0PGlkPE1UTENvbW1hbmRCdWZmZXI+PiwgYW5n
bGU6Ok4KIAogICAgIHN0ZDo6dW5vcmRlcmVkX3NldDxpZD4gbVJlc291cmNlTGlzdDsKICAgICBz
aXplX3QgbVdvcmtpbmdSZXNvdXJjZVNpemUgPSAwOworICAgIHVpbnQzMl90IG1SZW5kZXJQYXNz
ZXMgICAgICA9IDA7CiAgICAgYm9vbCBtQ29tbWl0dGVkICAgICAgICAgICAgID0gZmFsc2U7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX2NvbW1vbi5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tb24uaAppbmRleCBiZTMyNDllOTkyZmEzODYz
Y2E2MTY1NGIxMjUyM2M5NGY3YTQxZDNiLi5lYTlhZTcxYThmMzNkYTlmZDNkZWZlMGI4NjkxMWIw
MTczMTBkNjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1vbi5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbW9uLmgKQEAgLTE0Nyw2ICsx
NDcsOSBAQCBjb25zdGV4cHIgdWludDMyX3Qga01heFZpZXdwb3J0cyAgICAgICAgID0gMTsKIC8v
IHdpbGwgYmUgZmx1c2hlZCBuZXh0IHRpbWUKIGNvbnN0ZXhwciBjb25zdCBzaXplX3Qga01heGlt
dW1SZXNpZGVudE1lbW9yeVNpemVJbkJ5dGVzID0gNDAwICogMTAyNCAqIDEwMjQ7CiAKKy8vIFJl
c3RyaWN0IGluLWZsaWdodCByZW5kZXIgcGFzc2VzIHRvIDE2Citjb25zdGV4cHIgdWludDMyX3Qg
a01heFJlbmRlclBhc3NlcyA9IDE2OworCiBjb25zdGV4cHIgdWludDMyX3Qga1ZlcnRleEF0dHJp
YkJ1ZmZlclN0cmlkZUFsaWdubWVudCA9IDQ7CiAvLyBBbGlnbm1lbnQgcmVxdWlyZW1lbnQgZm9y
IG9mZnNldCBwYXNzZWQgdG8gc2V0VmVydGV4fEZyYWdtZW50QnVmZmVyCiAjaWYgVEFSR0VUX09T
X09TWCB8fCBUQVJHRVRfT1NfTUFDQ0FUQUxZU1QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456673</attachid>
            <date>2022-04-04 23:04:20 -0700</date>
            <delta_ts>2022-04-05 22:01:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234008-20220405160418.patch</filename>
            <type>text/plain</type>
            <size>29710</size>
            <attacher name="Dan Glastonbury">djg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZTA0MzU1YWU3ZjRiZGFhMTJlZGViYzNhYmIwMTZiMTczMTNiZjI1NC4uY2FiNjEwNTVkOTNk
OWQzNTY5OTdiY2NhOTU4YWM0YjA4ZTIwMTFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTA0LTA0ICBEYW4gR2xhc3RvbmJ1cnkgIDxkamdAYXBw
bGUuY29tPgorCisgICAgICAgIEltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgbWFueSByZW5kZXIgcGFz
c2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0
MDA4CisKKyAgICAgICAgQnJlYWsgY29tbWFuZCBidWZmZXJzIHdpdGggbWFueSByZW5kZXIgcGFz
c2VzIGludG8gYmF0Y2hlcyBvZgorICAgICAgICBjb21tYW5kIGJ1ZmZlcnMgd2l0aCBhdCBtb3N0
IDE2IHBhc3Nlcy4KKworICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250
ZXh0TXRsLmg6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRN
dGwubW06CisgICAgICAgIChyeDo6Q29udGV4dE10bDo6Zmx1c2hDb21tYW5kQnVmZmVySWZOZWVk
ZWQpOgorICAgICAgICAocng6OkNvbnRleHRNdGw6OmdldFJlbmRlclBhc3NDb21tYW5kRW5jb2Rl
cik6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tYW5kX2J1
ZmZlci5oOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbW9u
Lmg6CisKIDIwMjItMDQtMDQgIEtlbm5ldGggUnVzc2VsbCAgPGtickBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUm9sbCBBTkdMRSB0byAyMDIyLTAzLTMxIChmZTI4YTQyOTVhZjA4N2VlODJiOGY2
MjliNjcxNzZiOTUwMTlhZjZkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
Y2hhbmdlcy5kaWZmIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvY2hhbmdlcy5kaWZmCmluZGV4
IGJmM2UzOWQzY2E0ODhiZjVlOTg1NzVkNTk2Yzk3NTFkYzVlNzljNWIuLmI0ODQ0MjFiYjJmYTNh
MWY3NDI1YTBmOWYxZDMwM2NiOGE5ODliZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL2NoYW5nZXMuZGlmZgorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9jaGFuZ2Vz
LmRpZmYKQEAgLTEsNSArMSw1IEBACiBkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25v
cmUKLWluZGV4IGJhMTkzODlkYy4uYWZlY2ExZDU4IDEwMDY0NAoraW5kZXggYmExOTM4OS4uYWZl
Y2ExZCAxMDA2NDQKIC0tLSBhLy5naXRpZ25vcmUKICsrKyBiLy5naXRpZ25vcmUKIEBAIC02Myw2
ICs2Myw3IEBACkBAIC0xMiw3ICsxMiw3IEBAIGluZGV4IGJhMTkzODlkYy4uYWZlY2ExZDU4IDEw
MDY0NAogIC90aGlyZF9wYXJ0eS9zaXgKIGRpZmYgLS1naXQgYS9DaGFuZ2VMb2ctMjAyMi0wMi0y
MiBiL0NoYW5nZUxvZy0yMDIyLTAyLTIyCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAw
MDAwMDAwLi5jYTY3MDI2YmMKK2luZGV4IDAwMDAwMDAuLmNhNjcwMjYKIC0tLSAvZGV2L251bGwK
ICsrKyBiL0NoYW5nZUxvZy0yMDIyLTAyLTIyCiBAQCAtMCwwICsxLDE5Mjc4IEBACkBAIC0xOTI5
Niw3ICsxOTI5Niw3IEBAIGluZGV4IDAwMDAwMDAwMC4uY2E2NzAyNmJjCiArCiBkaWZmIC0tZ2l0
IGEvc2NyaXB0cy9jb3B5LWZyYW1ld29ya3MtdG8tc2Vjb25kYXJ5LXBhdGguc2ggYi9zY3JpcHRz
L2NvcHktZnJhbWV3b3Jrcy10by1zZWNvbmRhcnktcGF0aC5zaAogbmV3IGZpbGUgbW9kZSAxMDA3
NTUKLWluZGV4IDAwMDAwMDAwMC4uMmUwMGMxMjcwCitpbmRleCAwMDAwMDAwLi4yZTAwYzEyCiAt
LS0gL2Rldi9udWxsCiArKysgYi9zY3JpcHRzL2NvcHktZnJhbWV3b3Jrcy10by1zZWNvbmRhcnkt
cGF0aC5zaAogQEAgLTAsMCArMSw2MiBAQApAQCAtMTkzNjMsNyArMTkzNjMsNyBAQCBpbmRleCAw
MDAwMDAwMDAuLjJlMDBjMTI3MAogKyAgICBkb25lCiArZmkKIGRpZmYgLS1naXQgYS9zY3JpcHRz
L3J1bl9jb2RlX2dlbmVyYXRpb24ucHkgYi9zY3JpcHRzL3J1bl9jb2RlX2dlbmVyYXRpb24ucHkK
LWluZGV4IGZhMWEwMjliNS4uYmM3OWRhMmFkIDEwMDc1NQoraW5kZXggZmExYTAyOS4uYmM3OWRh
MiAxMDA3NTUKIC0tLSBhL3NjcmlwdHMvcnVuX2NvZGVfZ2VuZXJhdGlvbi5weQogKysrIGIvc2Ny
aXB0cy9ydW5fY29kZV9nZW5lcmF0aW9uLnB5CiBAQCAtMjU0LDggKzI1NCwxMSBAQCBkZWYgbWFp
bigpOgpAQCAtMTkzNzksNyArMTkzNzksNyBAQCBpbmRleCBmYTFhMDI5YjUuLmJjNzlkYTJhZCAx
MDA3NTUKICAgICAgICAgICMgVXBkYXRlIHRoZSBoYXNoIGRpY3Rpb25hcnkuCiAgICAgICAgICBh
bGxfbmV3X2hhc2hlc1tmbmFtZV0gPSBuZXdfaGFzaGVzCiBkaWZmIC0tZ2l0IGEvc3JjL2NvbW1v
bi91dGlsaXRpZXMuY3BwIGIvc3JjL2NvbW1vbi91dGlsaXRpZXMuY3BwCi1pbmRleCBhMTc1NzM0
YzMuLjdmYzlhYTc5MiAxMDA2NDQKK2luZGV4IGExNzU3MzQuLjdmYzlhYTcgMTAwNjQ0CiAtLS0g
YS9zcmMvY29tbW9uL3V0aWxpdGllcy5jcHAKICsrKyBiL3NyYy9jb21tb24vdXRpbGl0aWVzLmNw
cAogQEAgLTYsNiArNiwxMiBAQApAQCAtMTkzOTYsNyArMTkzOTYsNyBAQCBpbmRleCBhMTc1NzM0
YzMuLjdmYzlhYTc5MiAxMDA2NDQKICAjaW5jbHVkZSAiR0xFUzMvZ2wzLmgiCiAgI2luY2x1ZGUg
ImNvbW1vbi9tYXRodXRpbC5oIgogZGlmZiAtLWdpdCBhL3NyYy9jb21waWxlci9wcmVwcm9jZXNz
b3IvcHJlcHJvY2Vzc29yX3RhYl9hdXRvZ2VuLmNwcCBiL3NyYy9jb21waWxlci9wcmVwcm9jZXNz
b3IvcHJlcHJvY2Vzc29yX3RhYl9hdXRvZ2VuLmNwcAotaW5kZXggNTA4MjJmMjAwLi4zZWNlMjEw
NWIgMTAwNjQ0CitpbmRleCA1MDgyMmYyLi4zZWNlMjEwIDEwMDY0NAogLS0tIGEvc3JjL2NvbXBp
bGVyL3ByZXByb2Nlc3Nvci9wcmVwcm9jZXNzb3JfdGFiX2F1dG9nZW4uY3BwCiArKysgYi9zcmMv
Y29tcGlsZXIvcHJlcHJvY2Vzc29yL3ByZXByb2Nlc3Nvcl90YWJfYXV0b2dlbi5jcHAKIEBAIC0x
LDUgKzEsOCBAQApAQCAtMTk0MDksNyArMTk0MDksNyBAQCBpbmRleCA1MDgyMmYyMDAuLjNlY2Uy
MTA1YiAxMDA2NDQKICAKICAgICBDb3B5cmlnaHQgKEMpIDE5ODQsIDE5ODktMTk5MCwgMjAwMC0y
MDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogZGlmZiAtLWdpdCBhL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL0NvZGVHZW4uY3BwIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0
b3IvQ29kZUdlbi5jcHAKLWluZGV4IDQ5N2VmODgxZS4uNDcyMTNjOTA0IDEwMDY0NAoraW5kZXgg
NDk3ZWY4OC4uNDcyMTNjOSAxMDA2NDQKIC0tLSBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0Nv
ZGVHZW4uY3BwCiArKysgYi9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9Db2RlR2VuLmNwcAogQEAg
LTIzLDYgKzIzLDkgQEAKQEAgLTE5NDIyLDMzICsxOTQyMiw5IEBAIGluZGV4IDQ5N2VmODgxZS4u
NDcyMTNjOTA0IDEwMDY0NAogIAogICNpZmRlZiBBTkdMRV9FTkFCTEVfTUVUQUxfU1BJUlYKICAj
ICAgIGluY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsLmgiCi1kaWZm
IC0tZ2l0IGEvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmNw
cCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHAKLWlu
ZGV4IDRjODVkYzE5OS4uNzE5N2Y4ZTEzIDEwMDY0NAotLS0tIGEvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmNwcAotKysrIGIvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmNwcAotQEAgLTk0Myw3ICs5NDMsNiBAQCBib29s
IFRyYW5zbGF0b3JNZXRhbERpcmVjdDo6dHJhbnNsYXRlSW1wbChUSW5mb1NpbmtCYXNlICZzaW5r
LAotICAgICAgICAgICAgICAgICBnZXRTeW1ib2xUYWJsZSgpLmZpbmRCdWlsdEluKEltbXV0YWJs
ZVN0cmluZygiZ2xfUG9pbnRTaXplIiksIGdldFNoYWRlclZlcnNpb24oKSkpOwotICAgICAgICAg
ICAgIERlY2xhcmVSaWdodEJlZm9yZU1haW4oKnJvb3QsICpwb2ludFNpemUpOwotICAgICAgICAg
fQotLQotICAgICAgICAgaWYgKEZpbmRTeW1ib2xOb2RlKHJvb3QsIEJ1aWx0SW5WYXJpYWJsZTo6
Z2xfVmVydGV4SW5kZXgoKS0+bmFtZSgpKSkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBpZiAo
IVJlcGxhY2VWYXJpYWJsZSh0aGlzLCByb290LCBCdWlsdEluVmFyaWFibGU6OmdsX1ZlcnRleElu
ZGV4KCksICZrZ2xfVmVydGV4SURNZXRhbCkpCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbXBpbGVyL3Ry
YW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAgYi9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcAotaW5kZXgg
NDYxMGQ1Y2ZjLi44ZjlhMTNiZmEgMTAwNjQ0Ci0tLS0gYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRv
ci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW1pdE1ldGFsLmNwcAotKysrIGIvc3JjL2NvbXBpbGVy
L3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L0VtaXRNZXRhbC5jcHAKLUBAIC0xNzQw
LDcgKzE3NDAsNiBAQCB2b2lkIEdlbk1ldGFsVHJhdmVyc2VyOjplbWl0RnVuY3Rpb25TaWduYXR1
cmUoY29uc3QgVEZ1bmN0aW9uICZmdW5jKQotICAgICAgICAgY29uc3QgVFZhcmlhYmxlICZwYXJh
bSA9ICpmdW5jLmdldFBhcmFtKGkpOwotICAgICAgICAgZW1pdEZ1bmN0aW9uUGFyYW1ldGVyKGZ1
bmMsIHBhcmFtKTsKLSAgICAgfQotLQotICAgICBpZiAoaXNUcmF2ZXJzaW5nVmVydGV4TWFpbikK
LSAgICAgewotICAgICAgICAgbU91dCA8PCAiIEBAWEZCLUJpbmRpbmdzQEAgIjsKIGRpZmYgLS1n
aXQgYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvRW52aXJv
bm1lbnRWYXJpYWJsZS5oIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L0Vudmlyb25tZW50VmFyaWFibGUuaAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4
IDAwMDAwMDAwMC4uZDgyM2ZjNzI4CitpbmRleCAwMDAwMDAwLi5kODIzZmM3CiAtLS0gL2Rldi9u
dWxsCiArKysgYi9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3Qv
RW52aXJvbm1lbnRWYXJpYWJsZS5oCiBAQCAtMCwwICsxLDQ1IEBACkBAIC0xOTQ5OCw3ICsxOTQ3
NCw3IEBAIGluZGV4IDAwMDAwMDAwMC4uZDgyM2ZjNzI4CiArCiArI2VuZGlmICAvLyBDT01QSUxF
Ul9UUkFOU0xBVE9SX1RSQU5TTEFUT1JNRVRBTERJUkVDVF9FTlZJUk9OTUVOVFZBUklBQkxFX0hf
CiBkaWZmIC0tZ2l0IGEvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGly
ZWN0L0lkR2VuLmNwcCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERp
cmVjdC9JZEdlbi5jcHAKLWluZGV4IDgxZmYyNzIyZi4uOWQyYjQzYmMwIDEwMDY0NAoraW5kZXgg
ODFmZjI3Mi4uOWQyYjQzYiAxMDA2NDQKIC0tLSBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1Ry
YW5zbGF0b3JNZXRhbERpcmVjdC9JZEdlbi5jcHAKICsrKyBiL3NyYy9jb21waWxlci90cmFuc2xh
dG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9JZEdlbi5jcHAKIEBAIC0yNSw3ICsyNSw3IEBAIE5h
bWUgSWRHZW46OmNyZWF0ZU5ld05hbWUoc2l6ZV90IGNvdW50LApAQCAtMTk1MTEsNyArMTk0ODcs
NyBAQCBpbmRleCA4MWZmMjcyMmYuLjlkMmI0M2JjMCAxMDA2NDQKICAgICAgbU5ld05hbWVCdWZm
ZXIuY2xlYXIoKTsKICAgICAgbU5ld05hbWVCdWZmZXIgKz0gJ18nOwogZGlmZiAtLWdpdCBhL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9Nb2RpZnlTdHJ1Y3Qu
Y3BwIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L01vZGlm
eVN0cnVjdC5jcHAKLWluZGV4IGJjYzVkNjU4OS4uNjA3NThmYmU4IDEwMDY0NAoraW5kZXggYmNj
NWQ2NS4uNjA3NThmYiAxMDA2NDQKIC0tLSBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5z
bGF0b3JNZXRhbERpcmVjdC9Nb2RpZnlTdHJ1Y3QuY3BwCiArKysgYi9zcmMvY29tcGlsZXIvdHJh
bnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvTW9kaWZ5U3RydWN0LmNwcAogQEAgLTYwMSw3
ICs2MDEsNyBAQCBjbGFzcyBDb252ZXJ0U3RydWN0U3RhdGUgOiBhbmdsZTo6Tm9uQ29weWFibGUK
QEAgLTE5NTI0LDcgKzE5NTAwLDcgQEAgaW5kZXggYmNjNWQ2NTg5Li42MDc1OGZiZTggMTAwNjQ0
CiAgICAgIH0KICAKIGRpZmYgLS1naXQgYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5n
X3RhYl9hdXRvZ2VuLmNwcCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1
dG9nZW4uY3BwCi1pbmRleCBkYWExYzYxNGYuLmUzYTNkZGJhMCAxMDA2NDQKK2luZGV4IGRhYTFj
NjEuLmUzYTNkZGIgMTAwNjQ0CiAtLS0gYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5n
X3RhYl9hdXRvZ2VuLmNwcAogKysrIGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190
YWJfYXV0b2dlbi5jcHAKIEBAIC0xLDUgKzEsOCBAQApAQCAtMTk1MzcsNyArMTk1MTMsNyBAQCBp
bmRleCBkYWExYzYxNGYuLmUzYTNkZGJhMCAxMDA2NDQKICAKICAgICBDb3B5cmlnaHQgKEMpIDE5
ODQsIDE5ODktMTk5MCwgMjAwMC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLAogZGlmZiAtLWdpdCBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1
dG9nZW4uaCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfdGFiX2F1dG9nZW4uaAot
aW5kZXggZDJlYWIwYjdiLi4yZWMyZDJjNDQgMTAwNjQ0CitpbmRleCBkMmVhYjBiLi4yZWMyZDJj
IDEwMDY0NAogLS0tIGEvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvZ2xzbGFuZ190YWJfYXV0b2dl
bi5oCiArKysgYi9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3RhYl9hdXRvZ2VuLmgK
IEBAIC0xLDUgKzEsOCBAQApAQCAtMTk1NTAsNyArMTk1MjYsNyBAQCBpbmRleCBkMmVhYjBiN2Iu
LjJlYzJkMmM0NCAxMDA2NDQKICAKICAgICBDb3B5cmlnaHQgKEMpIDE5ODQsIDE5ODktMTk5MCwg
MjAwMC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAogZGlmZiAtLWdp
dCBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL2dsc2xhbmdfd3JhcHBlci5jcHAgYi9zcmMvY29t
cGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3dyYXBwZXIuY3BwCi1pbmRleCAxODdmMzUwMDEuLjNk
ZTc1OTdkMSAxMDA2NDQKK2luZGV4IDE4N2YzNTAuLjNkZTc1OTcgMTAwNjQ0CiAtLS0gYS9zcmMv
Y29tcGlsZXIvdHJhbnNsYXRvci9nbHNsYW5nX3dyYXBwZXIuY3BwCiArKysgYi9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9nbHNsYW5nX3dyYXBwZXIuY3BwCiBAQCAtMTAsNiArMTAsNyBAQApAQCAt
MTk1NjIsNyArMTk1MzgsNyBAQCBpbmRleCAxODdmMzUwMDEuLjNkZTc1OTdkMSAxMDA2NDQKICAK
ICAvLyBnbHNsYW5nIGhhcyBpc3N1ZXMgd2l0aCBzb21lIHNwZWNpZmljIHdhcm5pbmdzLgogZGlm
ZiAtLWdpdCBhL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL2FwcGxlL1VuZm9sZFNo
b3J0Q2lyY3VpdEFTVC5jcHAgYi9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9hcHBs
ZS9VbmZvbGRTaG9ydENpcmN1aXRBU1QuY3BwCi1pbmRleCA1NWUyZjhiOTcuLjQyMzc1NTg1MiAx
MDA2NDQKK2luZGV4IDU1ZTJmOGIuLjQyMzc1NTggMTAwNjQ0CiAtLS0gYS9zcmMvY29tcGlsZXIv
dHJhbnNsYXRvci90cmVlX29wcy9hcHBsZS9VbmZvbGRTaG9ydENpcmN1aXRBU1QuY3BwCiArKysg
Yi9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9hcHBsZS9VbmZvbGRTaG9ydENpcmN1
aXRBU1QuY3BwCiBAQCAtMTAsNiArMTAsNyBAQApAQCAtMTk1ODEsNyArMTk1NTcsNyBAQCBpbmRl
eCA1NWUyZjhiOTcuLjQyMzc1NTg1MiAxMDA2NDQKICsjZW5kaWYKICB9ICAvLyBuYW1lc3BhY2Ug
c2gKIGRpZmYgLS1naXQgYS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX29wcy9hcHBsZS9V
bmZvbGRTaG9ydENpcmN1aXRBU1QuaCBiL3NyYy9jb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3Bz
L2FwcGxlL1VuZm9sZFNob3J0Q2lyY3VpdEFTVC5oCi1pbmRleCBhZDNjYzA4MGQuLjc1MDY5YzU3
MiAxMDA2NDQKK2luZGV4IGFkM2NjMDguLjc1MDY5YzUgMTAwNjQ0CiAtLS0gYS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci90cmVlX29wcy9hcHBsZS9VbmZvbGRTaG9ydENpcmN1aXRBU1QuaAogKysr
IGIvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvdHJlZV9vcHMvYXBwbGUvVW5mb2xkU2hvcnRDaXJj
dWl0QVNULmgKIEBAIC0xMSw3ICsxMSw3IEBACkBAIC0xOTU5NCw3ICsxOTU3MCw3IEBAIGluZGV4
IGFkM2NjMDgwZC4uNzUwNjljNTcyIDEwMDY0NAogIHsKICAKIGRpZmYgLS1naXQgYS9zcmMvbGli
QU5HTEUvQ29udGV4dC5jcHAgYi9zcmMvbGliQU5HTEUvQ29udGV4dC5jcHAKLWluZGV4IGJkOWUz
Y2Q2YS4uZDE5MjIwZjlmIDEwMDY0NAoraW5kZXggYmQ5ZTNjZC4uZDE5MjIwZiAxMDA2NDQKIC0t
LSBhL3NyYy9saWJBTkdMRS9Db250ZXh0LmNwcAogKysrIGIvc3JjL2xpYkFOR0xFL0NvbnRleHQu
Y3BwCiBAQCAtOTI3MCw3ICs5MjcwLDcgQEAgZWdsOjpFcnJvciBDb250ZXh0OjpzZXREZWZhdWx0
RnJhbWVidWZmZXIoZWdsOjpTdXJmYWNlICpkcmF3U3VyZmFjZSwgZWdsOjpTdXJmYWMKQEAgLTE5
NjM0LDcgKzE5NjEwLDcgQEAgaW5kZXggYmQ5ZTNjZDZhLi5kMTkyMjBmOWYgMTAwNjQ0CiAgCiAg
ICAgIHJldHVybiBlZ2w6Ok5vRXJyb3IoKTsKIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvU3Rh
dGUuY3BwIGIvc3JjL2xpYkFOR0xFL1N0YXRlLmNwcAotaW5kZXggMzgzYmY3Y2U0Li5mY2E4MmZi
MDIgMTAwNjQ0CitpbmRleCAzODNiZjdjLi5mY2E4MmZiIDEwMDY0NAogLS0tIGEvc3JjL2xpYkFO
R0xFL1N0YXRlLmNwcAogKysrIGIvc3JjL2xpYkFOR0xFL1N0YXRlLmNwcAogQEAgLTYsNiArNiw5
IEBACkBAIC0xOTY0OCw3ICsxOTYyNCw3IEBAIGluZGV4IDM4M2JmN2NlNC4uZmNhODJmYjAyIDEw
MDY0NAogIAogICNpbmNsdWRlIDxzdHJpbmcuaD4KIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUv
U3VyZmFjZS5jcHAgYi9zcmMvbGliQU5HTEUvU3VyZmFjZS5jcHAKLWluZGV4IDQxODU2NTA3Mi4u
YTM5NmEzNDdlIDEwMDY0NAoraW5kZXggNDE4NTY1MC4uYTM5NmEzNCAxMDA2NDQKIC0tLSBhL3Ny
Yy9saWJBTkdMRS9TdXJmYWNlLmNwcAogKysrIGIvc3JjL2xpYkFOR0xFL1N1cmZhY2UuY3BwCiBA
QCAtNjQwLDEwICs2NDAsMTAgQEAgRXJyb3IgU3VyZmFjZTo6Z2V0QnVmZmVyQWdlKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LCBFR0xpbnQgKmFnZSkKQEAgLTE5NjY1LDcgKzE5NjQxLDcgQEAg
aW5kZXggNDE4NTY1MDcyLi5hMzk2YTM0N2UgMTAwNjQ0CiAgCiAgZ2w6OkluaXRTdGF0ZSBTdXJm
YWNlOjppbml0U3RhdGUoY29uc3QgZ2w6OkltYWdlSW5kZXggJiAvKmltYWdlSW5kZXgqLykgY29u
c3QKIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvU3VyZmFjZS5oIGIvc3JjL2xpYkFOR0xFL1N1
cmZhY2UuaAotaW5kZXggZTU3NTgwZDIxLi4xOTg4OWMzZGUgMTAwNjQ0CitpbmRleCBlNTc1ODBk
Li4xOTg4OWMzIDEwMDY0NAogLS0tIGEvc3JjL2xpYkFOR0xFL1N1cmZhY2UuaAogKysrIGIvc3Jj
L2xpYkFOR0xFL1N1cmZhY2UuaAogQEAgLTEwNSw3ICsxMDUsNyBAQCBjbGFzcyBTdXJmYWNlIDog
cHVibGljIExhYmVsZWRPYmplY3QsIHB1YmxpYyBnbDo6RnJhbWVidWZmZXJBdHRhY2htZW50T2Jq
ZWN0CkBAIC0xOTY4Nyw3ICsxOTY2Myw3IEBAIGluZGV4IGU1NzU4MGQyMS4uMTk4ODljM2RlIDEw
MDY0NAogICAgICBmcmllbmQgY2xhc3MgZ2w6OlRleHR1cmU7CiAgICAgIEVycm9yIHJlbGVhc2VU
ZXhJbWFnZUZyb21UZXh0dXJlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KTsKIGRpZmYgLS1n
aXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZHJpdmVyX3V0aWxzLmNwcCBiL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9kcml2ZXJfdXRpbHMuY3BwCi1pbmRleCBiZmRmMGZmNzYuLjZlNTA5NzY1MyAx
MDA2NDQKK2luZGV4IGJmZGYwZmYuLjZlNTA5NzYgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvZHJpdmVyX3V0aWxzLmNwcAogKysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2Ry
aXZlcl91dGlscy5jcHAKIEBAIC0xNjQsNiArMTY0LDEwIEBAIGNvbnN0IGNoYXIgKkdldFZlbmRv
clN0cmluZyh1aW50MzJfdCB2ZW5kb3JJZCkKQEAgLTE5NzAyLDcgKzE5Njc4LDcgQEAgaW5kZXgg
YmZkZjBmZjc2Li42ZTUwOTc2NTMgMTAwNjQ0CiAgICAgICAgICAgICAgcmV0dXJuICJUZXN0IjsK
ICAgICAgICAgIGNhc2UgMDoKIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wv
Y2dsL0lPU3VyZmFjZVN1cmZhY2VDR0wuY3BwIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL2Nn
bC9JT1N1cmZhY2VTdXJmYWNlQ0dMLmNwcAotaW5kZXggYTJiNDRkMmJmLi4yMGVjODVhNTAgMTAw
NjQ0CitpbmRleCBhMmI0NGQyLi4yMGVjODVhIDEwMDY0NAogLS0tIGEvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL2dsL2NnbC9JT1N1cmZhY2VTdXJmYWNlQ0dMLmNwcAogKysrIGIvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2dsL2NnbC9JT1N1cmZhY2VTdXJmYWNlQ0dMLmNwcAogQEAgLTI1MCwxMiArMjUw
LDEwIEBAIGJvb2wgSU9TdXJmYWNlU3VyZmFjZUNHTDo6dmFsaWRhdGVBdHRyaWJ1dGVzKEVHTENs
aWVudEJ1ZmZlciBidWZmZXIsCkBAIC0xOTcyMyw3ICsxOTY5OSw3IEBAIGluZGV4IGEyYjQ0ZDJi
Zi4uMjBlYzg1YTUwIDEwMDY0NAogICAgICByZXR1cm4gdHJ1ZTsKICB9CiBkaWZmIC0tZ2l0IGEv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsc2xhbmdfd3JhcHBlcl91dGlscy5oIGIvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL2dsc2xhbmdfd3JhcHBlcl91dGlscy5oCi1pbmRleCBkMjc3MTVkOTQuLjc1
ZDI1MmY3YSAxMDA2NDQKK2luZGV4IGQyNzcxNWQuLjc1ZDI1MmYgMTAwNjQ0CiAtLS0gYS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvZ2xzbGFuZ193cmFwcGVyX3V0aWxzLmgKICsrKyBiL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9nbHNsYW5nX3dyYXBwZXJfdXRpbHMuaAogQEAgLTEwLDcgKzEwLDYgQEAK
QEAgLTE5NzUyLDEwICsxOTcyOCwxMCBAQCBpbmRleCBkMjc3MTVkOTQuLjc1ZDI1MmY3YSAxMDA2
NDQKICB9ICAvLyBuYW1lc3BhY2UgcngKICAKIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvQnVmZmVyTXRsLm1tIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0J1
ZmZlck10bC5tbQotaW5kZXggMjc5OTIzZmYyLi45MDBhZWE4YWYgMTAwNjQ0CitpbmRleCAyNzk5
MjNmLi45MDBhZWE4IDEwMDY0NAogLS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0J1
ZmZlck10bC5tbQogKysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0J1ZmZlck10bC5t
bQotQEAgLTM2NSw3ICszNjUsNyBAQCBDb252ZXJzaW9uQnVmZmVyTXRsICpCdWZmZXJNdGw6Omdl
dFVuaWZvcm1Db252ZXJzaW9uQnVmZmVyKENvbnRleHRNdGwgKmNvbnRleHQsCitAQCAtMzY1LDcg
KzM2NSw3IEBACiAgICAgIHsKICAgICAgICAgIGlmIChidWZmZXIub2Zmc2V0ID09IG9mZnNldCkK
ICAgICAgICAgIHsKQEAgLTE5NzY0LDcgKzE5NzQwLDcgQEAgaW5kZXggMjc5OTIzZmYyLi45MDBh
ZWE4YWYgMTAwNjQ0CiAgICAgICAgICB9CiAgICAgIH0KICAKLUBAIC01MjAsNyArNTIwLDcgQEAg
YW5nbGU6OlJlc3VsdCBCdWZmZXJNdGw6OnNldERhdGFJbXBsKGNvbnN0IGdsOjpDb250ZXh0ICpj
b250ZXh0LAorQEAgLTUyMCw3ICs1MjAsNyBAQAogICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgICAvLyBkeW5hbWljIGJ1ZmZlciwgYWxsb3cgdXAgdG8gMTAgdXBkYXRlIHBlciBmcmFtZS9l
bmNvZGluZyB3aXRob3V0CiAgICAgICAgICAgICAgLy8gd2FpdGluZyBmb3IgR1BVLgpAQCAtMTk3
NzMsMTEgKzE5NzQ5LDQ5IEBAIGluZGV4IDI3OTkyM2ZmMi4uOTAwYWVhOGFmIDEwMDY0NAogICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgbWF4QnVmZmVycyA9IDEwOwogICAgICAgICAg
ICAgICAgICBtQnVmZmVyUG9vbC5zZXRBbHdheXNVc2VTaGFyZWRNZW0oKTsKK2RpZmYgLS1naXQg
YS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5oIGIvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwuaAoraW5kZXggMGY2YWI5Ny4uOWZjM2NiOSAxMDA2
NDQKKy0tLSBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLmgKKysrKyBi
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLmgKK0BAIC01NzYsNiArNTc2
LDggQEAgY2xhc3MgQ29udGV4dE10bCA6IHB1YmxpYyBDb250ZXh0SW1wbCwgcHVibGljIG10bDo6
Q29udGV4dAorICAgICBnbDo6QXR0cmlidXRlc01hc2sgbURpcnR5RGVmYXVsdEF0dHJpYnNNYXNr
OworICAgICBEaXJ0eUJpdHMgbURpcnR5Qml0czsKKyAKKysgICAgdWludDMyX3QgbVJlbmRlclBh
c3NDb3VudCA9IDA7CisrCisgICAgIC8vIFN0YXRlCisgICAgIG10bDo6UmVuZGVyUGlwZWxpbmVE
ZXNjIG1SZW5kZXJQaXBlbGluZURlc2M7CisgICAgIG10bDo6RGVwdGhTdGVuY2lsRGVzYyBtRGVw
dGhTdGVuY2lsRGVzYzsKK2RpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
Q29udGV4dE10bC5tbSBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLm1t
CitpbmRleCA0MGIzYzMyLi5mZWE4NTgyIDEwMDY0NAorLS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL0NvbnRleHRNdGwubW0KKysrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9Db250ZXh0TXRsLm1tCitAQCAtMTY5OSw2ICsxNjk5LDEyIEBAIEdMaW50IEdldE93bmVyc2hp
cElkZW50aXR5KGNvbnN0IGVnbDo6QXR0cmlidXRlTWFwICZhdHRyaWJzKQorIAorIHZvaWQgQ29u
dGV4dE10bDo6Zmx1c2hDb21tYW5kQnVmZmVySWZOZWVkZWQoKQorIHsKKysgICAgaWYgKG1SZW5k
ZXJQYXNzQ291bnQgPj0gbXRsOjprTWF4UmVuZGVyUGFzc2VzKQorKyAgICB7CisrICAgICAgICBt
UmVuZGVyUGFzc0NvdW50ID0gMDsKKysgICAgICAgIGZsdXNoQ29tbWFuZEJ1ZmZlcihtdGw6Oldh
aXRVbnRpbFNjaGVkdWxlZCk7CisrICAgIH0KKysKKyAgICAgaWYgKG1DbWRCdWZmZXIubmVlZHNG
bHVzaEZvckRyYXdDYWxsTGltaXRzKCkpCisgICAgIHsKKyAgICAgICAgIGZsdXNoQ29tbWFuZEJ1
ZmZlcihtdGw6Ok5vV2FpdCk7CitAQCAtMTc1NCw2ICsxNzYwLDcgQEAgR0xpbnQgR2V0T3duZXJz
aGlwSWRlbnRpdHkoY29uc3QgZWdsOjpBdHRyaWJ1dGVNYXAgJmF0dHJpYnMpCisgICAgIGVuZEVu
Y29kaW5nKGZhbHNlKTsKKyAKKyAgICAgZW5zdXJlQ29tbWFuZEJ1ZmZlclJlYWR5KCk7CisrICAg
IG1SZW5kZXJQYXNzQ291bnQrKzsKKyAKKyAgICAgLy8gTmVlZCB0byByZS1hcHBseSBldmVyeXRo
aW5nIG9uIG5leHQgZHJhdyBjYWxsLgorICAgICBtRGlydHlCaXRzLnNldCgpOwogZGlmZiAtLWdp
dCBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tIGIvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL21ldGFsL0Rpc3BsYXlNdGwubW0KLWluZGV4IGRhNWIxYzk5Zi4uNjQ5OGFm
ODkxIDEwMDY0NAoraW5kZXggZGE1YjFjOS4uNjQ5OGFmOCAxMDA2NDQKIC0tLSBhL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9EaXNwbGF5TXRsLm1tCiArKysgYi9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQotQEAgLTI1NCw5ICsyNTQsMTAgQEAgbXRsOjpBdXRv
T2JqQ1B0cjxpZDxNVExEZXZpY2U+PiBEaXNwbGF5TXRsOjpnZXRNZXRhbERldmljZU1hdGNoaW5n
QXR0cmlidXRlKAorQEAgLTI1NCw5ICsyNTQsMTAgQEAgYm9vbCBJc01ldGFsRGlzcGxheUF2YWls
YWJsZSgpCiAgICAgICAgICB9CiAgICAgIH0KICAKQEAgLTE5NzkxLDcgKzE5ODA1LDcgQEAgaW5k
ZXggZGE1YjFjOTlmLi42NDk4YWY4OTEgMTAwNjQ0CiAgICAgIGZvciAoaWQ8TVRMRGV2aWNlPiBk
ZXZpY2UgaW4gZGV2aWNlTGlzdC5nZXQoKSkKICAgICAgewogICAgICAgICAgaWYgKGRldmljZS5y
ZW1vdmFibGUpCi1AQCAtMjc4LDcgKzI3OSw3IEBAIG10bDo6QXV0b09iakNQdHI8aWQ8TVRMRGV2
aWNlPj4gRGlzcGxheU10bDo6Z2V0TWV0YWxEZXZpY2VNYXRjaGluZ0F0dHJpYnV0ZSgKK0BAIC0y
NzgsNyArMjc5LDcgQEAgYm9vbCBJc01ldGFsRGlzcGxheUF2YWlsYWJsZSgpCiAgICAgIGlmIChh
dHRyaWJzLmdldChFR0xfUE9XRVJfUFJFRkVSRU5DRV9BTkdMRSwgMCkgPT0gRUdMX0hJR0hfUE9X
RVJfQU5HTEUpCiAgICAgIHsKICAgICAgICAgIC8vIFNlYXJjaCBmb3IgYSBkaXNjcmV0ZSBHUFUg
Zmlyc3QuCkBAIC0xOTgwMCw3ICsxOTgxNCw3IEBAIGluZGV4IGRhNWIxYzk5Zi4uNjQ5OGFmODkx
IDEwMDY0NAogICAgICAgICAgewogICAgICAgICAgICAgIGlmICghW2RldmljZSBpc0hlYWRsZXNz
XSkKICAgICAgICAgICAgICAgICAgcmV0dXJuIGRldmljZTsKLUBAIC0yODcsNyArMjg4LDcgQEAg
bXRsOjpBdXRvT2JqQ1B0cjxpZDxNVExEZXZpY2U+PiBEaXNwbGF5TXRsOjpnZXRNZXRhbERldmlj
ZU1hdGNoaW5nQXR0cmlidXRlKAorQEAgLTI4Nyw3ICsyODgsNyBAQCBib29sIElzTWV0YWxEaXNw
bGF5QXZhaWxhYmxlKCkKICAgICAgZWxzZSBpZiAoYXR0cmlicy5nZXQoRUdMX1BPV0VSX1BSRUZF
UkVOQ0VfQU5HTEUsIDApID09IEVHTF9MT1dfUE9XRVJfQU5HTEUpCiAgICAgIHsKICAgICAgICAg
IC8vIElmIHdlJ3ZlIHNlbGVjdGVkIGEgbG93IHBvd2VyIGRldmljZSwgbG9vayB0aHJvdWdoIGlu
dGVncmF0ZWQgZGV2aWNlcy4KQEAgLTE5ODA5LDcgKzE5ODIzLDcgQEAgaW5kZXggZGE1YjFjOTlm
Li42NDk4YWY4OTEgMTAwNjQ0CiAgICAgICAgICB7CiAgICAgICAgICAgICAgaWYgKCFbZGV2aWNl
IGlzSGVhZGxlc3NdKQogICAgICAgICAgICAgICAgICByZXR1cm4gZGV2aWNlOwotQEAgLTMxMCw2
ICszMTEsMTcgQEAgbXRsOjpBdXRvT2JqQ1B0cjxpZDxNVExEZXZpY2U+PiBEaXNwbGF5TXRsOjpn
ZXRNZXRhbERldmljZU1hdGNoaW5nQXR0cmlidXRlKAorQEAgLTMxMCw2ICszMTEsMTcgQEAgYm9v
bCBJc01ldGFsRGlzcGxheUF2YWlsYWJsZSgpCiAgICAgICAgICB9CiAgICAgIH0KICAKQEAgLTE5
ODI3LDcgKzE5ODQxLDcgQEAgaW5kZXggZGE1YjFjOTlmLi42NDk4YWY4OTEgMTAwNjQ0CiAgI2Vu
ZGlmCiAgICAgIC8vIElmIHdlIGNhbid0IGZpbmQgYW55dGhpbmcsIG9yIGFyZSBvbiBhIHBsYXRm
b3JtIHRoYXQgZG9lc24ndCBzdXBwb3J0IHBvd2VyIG9wdGlvbnMsIGNyZWF0ZSBhCiAgICAgIC8v
IGRlZmF1bHQgZGV2aWNlLgotQEAgLTEyMDksOCArMTIyMSw3IEBAIGJvb2wgRGlzcGxheU10bDo6
c3VwcG9ydHNFaXRoZXJHUFVGYW1pbHkodWludDhfdCBpT1NGYW1pbHksIHVpbnQ4X3QgbWFjRmFt
aWx5KSBjCitAQCAtMTIwOSw4ICsxMjIxLDcgQEAgYm9vbCBJc01ldGFsRGlzcGxheUF2YWlsYWJs
ZSgpCiAgYm9vbCBEaXNwbGF5TXRsOjpzdXBwb3J0czMyQml0RmxvYXRGaWx0ZXJpbmcoKSBjb25z
dAogIHsKICAjaWYgKGRlZmluZWQoX19NQUNfMTFfMCkgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSBfX01BQ18xMV8wKSB8fCAgICAgICAgXApAQCAtMTk4MzcsMjEgKzE5ODUx
LDExIEBAIGluZGV4IGRhNWIxYzk5Zi4uNjQ5OGFmODkxIDEwMDY0NAogICAgICBpZiAoQGF2YWls
YWJsZShpb3MgMTQuMCwgbWFjT1MgMTEuMCwgKikpCiAgICAgIHsKICAgICAgICAgIHJldHVybiBb
bU1ldGFsRGV2aWNlIHN1cHBvcnRzMzJCaXRGbG9hdEZpbHRlcmluZ107Ci1kaWZmIC0tZ2l0IGEv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0ZyYW1lQnVmZmVyTXRsLm1tIGIvc3JjL2xpYkFO
R0xFL3JlbmRlcmVyL21ldGFsL0ZyYW1lQnVmZmVyTXRsLm1tCi1pbmRleCAyMmU0YzcyZjEuLjQw
YmEwNWM3NSAxMDA2NDQKLS0tLSBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9GcmFtZUJ1
ZmZlck10bC5tbQotKysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0ZyYW1lQnVmZmVy
TXRsLm1tCi1AQCAtMTY1MSw1ICsxNjUxLDQgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlck10
bDo6cmVhZFBpeGVsc1RvQnVmZmVyKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAotIAotICAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7Ci0gfQotLQotIH0KIGRpZmYgLS1naXQg
YS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvSU9TdXJmYWNlU3VyZmFjZU10bC5tbSBiL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9JT1N1cmZhY2VTdXJmYWNlTXRsLm1tCi1pbmRleCBh
YjcyODNhZTEuLjEwMDA4Njc1OSAxMDA2NDQKK2luZGV4IGFiNzI4M2EuLjEwMDA4NjcgMTAwNjQ0
CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvSU9TdXJmYWNlU3VyZmFjZU10bC5t
bQogKysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0lPU3VyZmFjZVN1cmZhY2VNdGwu
bW0KLUBAIC0yMTksMTIgKzIxOSwxMCBAQCBib29sIElPU3VyZmFjZVN1cmZhY2VNdGw6OlZhbGlk
YXRlQXR0cmlidXRlcyhFR0xDbGllbnRCdWZmZXIgYnVmZmVyLAorQEAgLTIxOSwxMiArMjE5LDEw
IEBAIGludCBGaW5kSU9TdXJmYWNlRm9ybWF0SW5kZXgoR0xlbnVtIGludGVybmFsRm9ybWF0LCBH
TGVudW0gdHlwZSkKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogIApAQCAtMTk4Njks
MTAgKzE5ODczLDEwIEBAIGluZGV4IGFiNzI4M2FlMS4uMTAwMDg2NzU5IDEwMDY0NAogICAgICBy
ZXR1cm4gdHJ1ZTsKICB9CiBkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L1Byb2dyYW1NdGwubW0gYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvUHJvZ3JhbU10bC5t
bQotaW5kZXggNmExNmQ3OGJjLi5jMTZlZDNhZTUgMTAwNjQ0CitpbmRleCA2YTE2ZDc4Li5jMTZl
ZDNhIDEwMDY0NAogLS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL1Byb2dyYW1NdGwu
bW0KICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Qcm9ncmFtTXRsLm1tCi1AQCAt
NTg5LDcgKzU4OSw3IEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbU10bDo6Z2V0U3BlY2lhbGl6ZWRT
aGFkZXIoQ29udGV4dE10bCAqY29udGV4dCwKK0BAIC01ODksNyArNTg5LDcgQEAgdm9pZCBJbml0
QXJndW1lbnRCdWZmZXJFbmNvZGVyKG10bDo6Q29udGV4dCAqY29udGV4dCwKICAKICAgICAgbXRs
OjpUcmFuc2xhdGVkU2hhZGVySW5mbyAqdHJhbnNsYXRlZE1zbEluZm8gPSAmbU1zbFNoYWRlclRy
YW5zbGF0ZUluZm9bc2hhZGVyVHlwZV07CiAgICAgIFByb2dyYW1TaGFkZXJPYmpWYXJpYW50TXRs
ICpzaGFkZXJWYXJpYW50OwpAQCAtMTk4ODEsNyArMTk4ODUsNyBAQCBpbmRleCA2YTE2ZDc4YmMu
LmMxNmVkM2FlNSAxMDA2NDQKICAKICAgICAgaWYgKHNoYWRlclR5cGUgPT0gZ2w6OlNoYWRlclR5
cGU6OlZlcnRleCkKICAgICAgewotQEAgLTYzOSw3ICs2MzksNyBAQCBhbmdsZTo6UmVzdWx0IFBy
b2dyYW1NdGw6OmdldFNwZWNpYWxpemVkU2hhZGVyKENvbnRleHRNdGwgKmNvbnRleHQsCitAQCAt
NjM5LDcgKzYzOSw3IEBAIHZvaWQgSW5pdEFyZ3VtZW50QnVmZmVyRW5jb2RlcihtdGw6OkNvbnRl
eHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICBbTlNTdHJpbmcgc3RyaW5nV2l0aFVU
RjhTdHJpbmc6c2g6Om10bDo6a1Jhc3Rlcml6ZXJEaXNjYXJkRW5hYmxlZENvbnN0TmFtZV07CiAg
ICAgICAgICAgICAgfQogIApAQCAtMTk4OTAsNyArMTk4OTQsNyBAQCBpbmRleCA2YTE2ZDc4YmMu
LmMxNmVkM2FlNSAxMDA2NDQKICAgICAgICAgICAgICBbZnVuY0NvbnN0YW50cyBzZXRDb25zdGFu
dFZhbHVlOiZlbXVsYXRlRGlzY2FyZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHR5cGU6TVRMRGF0YVR5cGVCb29sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB3aXRoTmFtZTpkaXNjYXJkRW5hYmxlZFN0cl07Ci1AQCAtNjc1LDE0ICs2NzUsMTUg
QEAgYW5nbGU6OlJlc3VsdCBQcm9ncmFtTXRsOjpnZXRTcGVjaWFsaXplZFNoYWRlcihDb250ZXh0
TXRsICpjb250ZXh0LAorQEAgLTY3NSwxNCArNjc1LDE1IEBAIHZvaWQgSW5pdEFyZ3VtZW50QnVm
ZmVyRW5jb2RlcihtdGw6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICBb
TlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6c2g6Om10bDo6a0NvdmVyYWdlTWFza0VuYWJs
ZWRDb25zdE5hbWVdOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAKQEAgLTE5OTA5LDcg
KzE5OTEzLDcgQEAgaW5kZXggNmExNmQ3OGJjLi5jMTZlZDNhZTUgMTAwNjQ0CiAgICAgICAgICAg
ICAgTVRMUGl4ZWxGb3JtYXQgZGVwdGhQaXhlbEZvcm1hdCA9CiAgICAgICAgICAgICAgICAgIChN
VExQaXhlbEZvcm1hdClyZW5kZXJQaXBlbGluZURlc2Mub3V0cHV0RGVzY3JpcHRvci5kZXB0aEF0
dGFjaG1lbnRQaXhlbEZvcm1hdDsKICAgICAgICAgICAgICBCT09MIGZyYWdEZXB0aFdyaXRlRW5h
YmxlZCA9IGRlcHRoUGl4ZWxGb3JtYXQgIT0gTVRMUGl4ZWxGb3JtYXRJbnZhbGlkOwotQEAgLTcw
NSwxMiArNzA2LDEyIEBAIGFuZ2xlOjpSZXN1bHQgUHJvZ3JhbU10bDo6Z2V0U3BlY2lhbGl6ZWRT
aGFkZXIoQ29udGV4dE10bCAqY29udGV4dCwKK0BAIC03MDUsMTIgKzcwNiwxMiBAQCB2b2lkIElu
aXRBcmd1bWVudEJ1ZmZlckVuY29kZXIobXRsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAg
c2V0Q29uc3RhbnRWYWx1ZTomKGNvbnRleHQtPmdldERpc3BsYXkoKS0+Z2V0RmVhdHVyZXMoKS5h
bGxvd1NhbXBsZXJDb21wYXJlTG9kLmVuYWJsZWQpCiAgICAgICAgICAgICAgICAgICAgICB0eXBl
Ok1UTERhdGFUeXBlQm9vbAogICAgICAgICAgICAgICAgICB3aXRoTmFtZTpAIkFOR0xFVXNlU2Ft
cGxlQ29tcGFyZUxvZCJdOwpAQCAtMTk5MjQsMTggKzE5OTI4LDggQEAgaW5kZXggNmExNmQ3OGJj
Li5jMTZlZDNhZTUgMTAwNjQ0CiAgICAgIH0KICAKICAgICAgLy8gU3RvcmUgcmVmZXJlbmNlIHRv
IHRoZSB0cmFuc2xhdGVkIHNvdXJjZSBmb3IgZWFzaWx5IHF1ZXJ5aW5nIG1hcHBlZCBiaW5kaW5n
cyBsYXRlci4KLWRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvU3VyZmFj
ZU10bC5tbSBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9TdXJmYWNlTXRsLm1tCi1pbmRl
eCA2ODU1ZTQ1MTYuLmRhYTBlNTljZiAxMDA2NDQKLS0tLSBhL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9TdXJmYWNlTXRsLm1tCi0rKysgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
U3VyZmFjZU10bC5tbQotQEAgLTc3NSw1ICs3NzUsNCBAQCB2b2lkIFBCdWZmZXJTdXJmYWNlTXRs
OjpzZXRGaXhlZEhlaWdodChFR0xpbnQgaGVpZ2h0KQotIHsKLSAgICAgbVNpemUuaGVpZ2h0ID0g
aGVpZ2h0OwotIH0KLS0KLSB9CiBkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL210bF9idWZmZXJfcG9vbC5oIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9i
dWZmZXJfcG9vbC5oCi1pbmRleCBjM2JlMTFmNzguLjIwNGViYjk0OSAxMDA2NDQKK2luZGV4IGMz
YmUxMWYuLjIwNGViYjkgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
bXRsX2J1ZmZlcl9wb29sLmgKICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxf
YnVmZmVyX3Bvb2wuaAogQEAgLTEyNiw3ICsxMjYsNyBAQCBjbGFzcyBCdWZmZXJQb29sCkBAIC0x
OTk0NywxMSArMTk5NDEsMzcgQEAgaW5kZXggYzNiZTExZjc4Li4yMDRlYmI5NDkgMTAwNjQ0CiAg
ICAgIGJvb2wgbUFsd2F5c0FsbG9jYXRlTmV3QnVmZmVyOwogIH07CiAgCitkaWZmIC0tZ2l0IGEv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tYW5kX2J1ZmZlci5oIGIvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tYW5kX2J1ZmZlci5oCitpbmRleCA2ZjliOTIy
Li5iYzg5MjljIDEwMDY0NAorLS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9j
b21tYW5kX2J1ZmZlci5oCisrKysgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2Nv
bW1hbmRfYnVmZmVyLmgKK0BAIC0xNjgsNiArMTY4LDcgQEAgY2xhc3MgQ29tbWFuZEJ1ZmZlciBm
aW5hbCA6IHB1YmxpYyBXcmFwcGVkT2JqZWN0PGlkPE1UTENvbW1hbmRCdWZmZXI+PiwgYW5nbGU6
Ok4KKyAKKyAgICAgc3RkOjp1bm9yZGVyZWRfc2V0PGlkPiBtUmVzb3VyY2VMaXN0OworICAgICBz
aXplX3QgbVdvcmtpbmdSZXNvdXJjZVNpemUgPSAwOworKyAgICB1aW50MzJfdCBtUmVuZGVyUGFz
c2VzICAgICAgPSAwOworICAgICBib29sIG1Db21taXR0ZWQgICAgICAgICAgICAgPSBmYWxzZTsK
KyB9OworIAorZGlmZiAtLWdpdCBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29t
bW9uLmggYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1vbi5oCitpbmRleCBi
ZTMyNDllLi5lYTlhZTcxIDEwMDY0NAorLS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L210bF9jb21tb24uaAorKysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21t
b24uaAorQEAgLTE0Nyw2ICsxNDcsOSBAQCBjb25zdGV4cHIgdWludDMyX3Qga01heFZpZXdwb3J0
cyAgICAgICAgID0gMTsKKyAvLyB3aWxsIGJlIGZsdXNoZWQgbmV4dCB0aW1lCisgY29uc3RleHBy
IGNvbnN0IHNpemVfdCBrTWF4aW11bVJlc2lkZW50TWVtb3J5U2l6ZUluQnl0ZXMgPSA0MDAgKiAx
MDI0ICogMTAyNDsKKyAKKysvLyBSZXN0cmljdCBpbi1mbGlnaHQgcmVuZGVyIHBhc3NlcyB0byAx
NgorK2NvbnN0ZXhwciB1aW50MzJfdCBrTWF4UmVuZGVyUGFzc2VzID0gMTY7CisrCisgY29uc3Rl
eHByIHVpbnQzMl90IGtWZXJ0ZXhBdHRyaWJCdWZmZXJTdHJpZGVBbGlnbm1lbnQgPSA0OworIC8v
IEFsaWdubWVudCByZXF1aXJlbWVudCBmb3Igb2Zmc2V0IHBhc3NlZCB0byBzZXRWZXJ0ZXh8RnJh
Z21lbnRCdWZmZXIKKyAjaWYgVEFSR0VUX09TX09TWCB8fCBUQVJHRVRfT1NfTUFDQ0FUQUxZU1QK
IGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGls
cy5tbSBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVuZGVyX3V0aWxzLm1tCi1p
bmRleCAxNjEzZWU5YjcuLmUwNzUyOTVmOCAxMDA2NDQKK2luZGV4IDE2MTNlZTkuLmUwNzUyOTUg
MTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGls
cy5tbQogKysrIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9yZW5kZXJfdXRpbHMu
bW0KLUBAIC0yNTQwLDQ1ICsyNTQwLDEzIEBAIGFuZ2xlOjpSZXN1bHQgTWlwbWFwVXRpbHM6Omdl
bmVyYXRlTWlwbWFwQ1MoQ29udGV4dE10bCAqY29udGV4dE10bCwKK0BAIC0yNTQwLDQ1ICsyNTQw
LDEzIEBAIEFOR0xFX0lOTElORSB2b2lkIFNldFBpcGVsaW5lU3RhdGUoQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyICplbmNvZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBzUkdCTWlwbWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTmF0aXZlVGV4TGV2ZWxBcnJheSAqbWlwbWFwT3V0cHV0Vmlld3MpCiAgewpA
QCAtMTk5OTcsNyArMjAwMTcsNyBAQCBpbmRleCAxNjEzZWU5YjcuLmUwNzUyOTVmOCAxMDA2NDQK
ICAgICAgQ29tcHV0ZUNvbW1hbmRFbmNvZGVyICpjbWRFbmNvZGVyID0gY29udGV4dE10bC0+Z2V0
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyKCk7CiAgICAgIEFTU0VSVChjbWRFbmNvZGVyKTsKICAKLUBA
IC0yNjE1LDggKzI1ODMsMjkgQEAgYW5nbGU6OlJlc3VsdCBNaXBtYXBVdGlsczo6Z2VuZXJhdGVN
aXBtYXBDUyhDb250ZXh0TXRsICpjb250ZXh0TXRsLAorQEAgLTI2MTUsOCArMjU4MywyOSBAQCBB
TkdMRV9JTkxJTkUgdm9pZCBTZXRQaXBlbGluZVN0YXRlKENvbXB1dGVDb21tYW5kRW5jb2RlciAq
ZW5jb2RlciwKICAgICAgICAgICAgICBVTlJFQUNIQUJMRSgpOwogICAgICB9CiAgCkBAIC0yMDAy
OSw3ICsyMDA0OSw3IEBAIGluZGV4IDE2MTNlZTliNy4uZTA3NTI5NWY4IDEwMDY0NAogICAgICBN
aXBtYXBOYXRpdmVMZXZlbCBiYXRjaFNyY0xldmVsID0ga1plcm9OYXRpdmVNaXBMZXZlbDsKICAg
ICAgb3B0aW9ucy5zcmNMZXZlbCAgICAgICAgICAgICAgICA9IGJhdGNoU3JjTGV2ZWwuZ2V0KCk7
CiBkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9yZXNvdXJjZV9z
cGkuaCBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVzb3VyY2Vfc3BpLmgKLWlu
ZGV4IDNlYWE5YTY0ZS4uMmVjZjdiNDBiIDEwMDY0NAoraW5kZXggM2VhYTlhNi4uMmVjZjdiNCAx
MDA2NDQKIC0tLSBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVzb3VyY2Vfc3Bp
LmgKICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfcmVzb3VyY2Vfc3BpLmgK
IEBAIC0xLDkgKzEsNjMgQEAKQEAgLTIwMTAzLDcgKzIwMTIzLDcgQEAgaW5kZXggM2VhYTlhNjRl
Li4yZWNmN2I0MGIgMTAwNjQ0CiArCiArI2VuZGlmIC8qIExJQkFOR0xFX1JFTkRFUkVSX01FVEFM
X1JFU09VUkNFX1NQSV9IXyAqLwogZGlmZiAtLWdpdCBhL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9tdGxfcmVzb3VyY2VzLmggYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3Jl
c291cmNlcy5oCi1pbmRleCA4YjhlYjI2YjUuLjE5YTk3NDA4NyAxMDA2NDQKK2luZGV4IDhiOGVi
MjYuLjE5YTk3NDAgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRs
X3Jlc291cmNlcy5oCiArKysgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX3Jlc291
cmNlcy5oCiBAQCAtMzQ1LDcgKzM0NSw5IEBAIGNsYXNzIFRleHR1cmUgZmluYWwgOiBwdWJsaWMg
UmVzb3VyY2UsCkBAIC0yMDExOCw3ICsyMDEzOCw3IEBAIGluZGV4IDhiOGViMjZiNS4uMTlhOTc0
MDg3IDEwMDY0NAogICAgcHVibGljOgogICAgICBzdGF0aWMgYW5nbGU6OlJlc3VsdCBNYWtlQnVm
ZmVyKENvbnRleHRNdGwgKmNvbnRleHQsCiBkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL210bF9yZXNvdXJjZXMubW0gYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
bXRsX3Jlc291cmNlcy5tbQotaW5kZXggMWU4YzhmMjY0Li43ZWJmMzE2OTAgMTAwNjQ0CitpbmRl
eCAxZThjOGYyLi43ZWJmMzE2IDEwMDY0NAogLS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21l
dGFsL210bF9yZXNvdXJjZXMubW0KICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9t
dGxfcmVzb3VyY2VzLm1tCiBAQCAtMzUsMTIgKzM1LDE0IEBAIGlubGluZSBOU1VJbnRlZ2VyIEdl
dE1pcFNpemUoTlNVSW50ZWdlciBiYXNlU2l6ZSwgY29uc3QgTWlwbWFwTmF0aXZlTGV2ZWwgbGV2
ZWwpCkBAIC0yMDE0Nyw3ICsyMDE2Nyw3IEBAIGluZGV4IDFlOGM4ZjI2NC4uN2ViZjMxNjkwIDEw
MDY0NAogIHsKICAjaWYgVEFSR0VUX09TX09TWCB8fCBUQVJHRVRfT1NfTUFDQ0FUQUxZU1QKICAg
ICAgLy8gTWFrZSBzdXJlIEdQVSAmIENQVSBjb250ZW50cyBhcmUgc3luY2hyb25pemVkLgotQEAg
LTUyMSwxMiArNTIzLDEyIEBAIFRleHR1cmU6OlRleHR1cmUoVGV4dHVyZSAqb3JpZ2luYWwsIGNv
bnN0IFRleHR1cmVTd2l6emxlQ2hhbm5lbHMgJnN3aXp6bGUpCitAQCAtNTIxLDEyICs1MjMsMTIg
QEAgYm9vbCBuZWVkTXVsdGlzYW1wbGVDb2xvckZvcm1hdFNoYWRlclJlYWRXb3JrYXJvdW5kKENv
bnRleHRNdGwgKmNvbnRleHQsIE1UTFRleHQKICAKICB2b2lkIFRleHR1cmU6OnN5bmNDb250ZW50
KENvbnRleHRNdGwgKmNvbnRleHQsIG10bDo6QmxpdENvbW1hbmRFbmNvZGVyICpibGl0RW5jb2Rl
cikKICB7CkBAIC0yMDE2Miw3ICsyMDE4Miw3IEBAIGluZGV4IDFlOGM4ZjI2NC4uN2ViZjMxNjkw
IDEwMDY0NAogIH0KICAKICBib29sIFRleHR1cmU6OmlzQ1BVQWNjZXNzaWJsZSgpIGNvbnN0Ci1A
QCAtOTkxLDcgKzk5Myw3IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyOjpyZXNldFdpdGhSZXNPcHQo
Q29udGV4dE10bCAqY29udGV4dCwKK0BAIC05OTEsNyArOTkzLDcgQEAgYm9vbCBuZWVkTXVsdGlz
YW1wbGVDb2xvckZvcm1hdFNoYWRlclJlYWRXb3JrYXJvdW5kKENvbnRleHRNdGwgKmNvbnRleHQs
IE1UTFRleHQKICAKICB2b2lkIEJ1ZmZlcjo6c3luY0NvbnRlbnQoQ29udGV4dE10bCAqY29udGV4
dCwgbXRsOjpCbGl0Q29tbWFuZEVuY29kZXIgKmJsaXRFbmNvZGVyKQogIHsKQEAgLTIwMTcxLDcg
KzIwMTkxLDcgQEAgaW5kZXggMWU4YzhmMjY0Li43ZWJmMzE2OTAgMTAwNjQ0CiAgfQogIAogIGNv
bnN0IHVpbnQ4X3QgKkJ1ZmZlcjo6bWFwUmVhZE9ubHkoQ29udGV4dE10bCAqY29udGV4dCkKLUBA
IC0xMDEyLDcgKzEwMTQsNyBAQCB1aW50OF90ICpCdWZmZXI6Om1hcFdpdGhPcHQoQ29udGV4dE10
bCAqY29udGV4dCwgYm9vbCByZWFkb25seSwgYm9vbCBub1N5bmMpCitAQCAtMTAxMiw3ICsxMDE0
LDcgQEAgYm9vbCBuZWVkTXVsdGlzYW1wbGVDb2xvckZvcm1hdFNoYWRlclJlYWRXb3JrYXJvdW5k
KENvbnRleHRNdGwgKmNvbnRleHQsIE1UTFRleHQKICAgICAgewogICAgICAgICAgQ29tbWFuZFF1
ZXVlICZjbWRRdWV1ZSA9IGNvbnRleHQtPmNtZFF1ZXVlKCk7CiAgCkBAIC0yMDE4MSw3ICsyMDIw
MSw3IEBAIGluZGV4IDFlOGM4ZjI2NC4uN2ViZjMxNjkwIDEwMDY0NAogICAgICAgICAgaWYgKHRo
aXMtPmlzQmVpbmdVc2VkQnlHUFUoY29udGV4dCkpCiAgICAgICAgICB7CiBkaWZmIC0tZ2l0IGEv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF91dGlscy5oIGIvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL210bF91dGlscy5oCi1pbmRleCBkMjE4YzEzZWQuLmIyMzZkOTI2NSAxMDA2
NDQKK2luZGV4IGQyMThjMTMuLmIyMzZkOTIgMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX3V0aWxzLmgKICsrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9tdGxfdXRpbHMuaAogQEAgLTEwNSwxMSArMTA1LDkgQEAgQXV0b09iakNQdHI8aWQ8TVRMTGli
cmFyeT4+IENyZWF0ZVNoYWRlckxpYnJhcnkoCkBAIC0yMDE5OCw3ICsyMDIxOCw3IEBAIGluZGV4
IGQyMThjMTNlZC4uYjIzNmQ5MjY1IDEwMDY0NAogIAogIGJvb2wgU3VwcG9ydHNBcHBsZUdQVUZh
bWlseShpZDxNVExEZXZpY2U+IGRldmljZSwgdWludDhfdCBhcHBsZUZhbWlseSk7CiBkaWZmIC0t
Z2l0IGEvc3JjL3Rlc3RzL2FuZ2xlX3VuaXR0ZXN0cy5nbmkgYi9zcmMvdGVzdHMvYW5nbGVfdW5p
dHRlc3RzLmduaQotaW5kZXggNjEzZTA3OTBiLi4yNTJhMjA3NjQgMTAwNjQ0CitpbmRleCA2MTNl
MDc5Li4yNTJhMjA3IDEwMDY0NAogLS0tIGEvc3JjL3Rlc3RzL2FuZ2xlX3VuaXR0ZXN0cy5nbmkK
ICsrKyBiL3NyYy90ZXN0cy9hbmdsZV91bml0dGVzdHMuZ25pCiBAQCAtMTY3LDYgKzE2Nyw4IEBA
IGlmIChpc19hbmRyb2lkKSB7CkBAIC0yMDI1Miw1ICsyMDI3Miw1IEBAIHJlbmFtZSBmcm9tIHNy
Yy90ZXN0cy9kZXFwX3N1cHBvcnQvZGVxcF9raHJfZ2xlczNfdGVzdF9leHBlY3RhdGlvbnMudHh0
CiByZW5hbWUgdG8gc3JjL3Rlc3RzL2RlcXBfc3VwcG9ydC9kZXFwX2tocl9nbGVzM19UZXN0RXhw
ZWN0YXRpb25zCiBkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcjgvY3VzdG9tX2Q4LmphciBiL3Ro
aXJkX3BhcnR5L3I4L2N1c3RvbV9kOC5qYXIKIGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5k
ZXggOTlhOTEwNjM3Li4wMDAwMDAwMDAKK2luZGV4IDk5YTkxMDYuLjAwMDAwMDAKIEJpbmFyeSBm
aWxlcyBhL3RoaXJkX3BhcnR5L3I4L2N1c3RvbV9kOC5qYXIgYW5kIC9kZXYvbnVsbCBkaWZmZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9Db250ZXh0TXRsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5oCmluZGV4IDBmNmFiOTc1YWY1MmZiOTlkNzYz
YjE2N2E2OTlmNzEzMWNiNmQyZjAuLjlmYzNjYjkxYjg4MjMwYTYwYTEyN2M0OTQ5YzhlYTZjMTMy
MGNhMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwuaApAQCAtNTc2LDYgKzU3Niw4
IEBAIGNsYXNzIENvbnRleHRNdGwgOiBwdWJsaWMgQ29udGV4dEltcGwsIHB1YmxpYyBtdGw6OkNv
bnRleHQKICAgICBnbDo6QXR0cmlidXRlc01hc2sgbURpcnR5RGVmYXVsdEF0dHJpYnNNYXNrOwog
ICAgIERpcnR5Qml0cyBtRGlydHlCaXRzOwogCisgICAgdWludDMyX3QgbVJlbmRlclBhc3NDb3Vu
dCA9IDA7CisKICAgICAvLyBTdGF0ZQogICAgIG10bDo6UmVuZGVyUGlwZWxpbmVEZXNjIG1SZW5k
ZXJQaXBlbGluZURlc2M7CiAgICAgbXRsOjpEZXB0aFN0ZW5jaWxEZXNjIG1EZXB0aFN0ZW5jaWxE
ZXNjOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMv
bGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbQppbmRleCA0MGIzYzMyYTFiZDhm
ZWQwMjdkMzk0ZmYxY2NiNjA4ZGFkM2ZlNjgyLi5mZWE4NTgyMmVhMzVlM2FmZTg0Njk1MWY2MDA5
ODE2NjBjZmJmNzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbQpAQCAtMTY5
OSw2ICsxNjk5LDEyIEBAIHZvaWQgQ29udGV4dE10bDo6Zmx1c2hDb21tYW5kQnVmZmVyKG10bDo6
Q29tbWFuZEJ1ZmZlckZpbmlzaE9wZXJhdGlvbiBvcGVyYXRpb24pCiAKIHZvaWQgQ29udGV4dE10
bDo6Zmx1c2hDb21tYW5kQnVmZmVySWZOZWVkZWQoKQogeworICAgIGlmIChtUmVuZGVyUGFzc0Nv
dW50ID49IG10bDo6a01heFJlbmRlclBhc3NlcykKKyAgICB7CisgICAgICAgIG1SZW5kZXJQYXNz
Q291bnQgPSAwOworICAgICAgICBmbHVzaENvbW1hbmRCdWZmZXIobXRsOjpXYWl0VW50aWxTY2hl
ZHVsZWQpOworICAgIH0KKwogICAgIGlmIChtQ21kQnVmZmVyLm5lZWRzRmx1c2hGb3JEcmF3Q2Fs
bExpbWl0cygpKQogICAgIHsKICAgICAgICAgZmx1c2hDb21tYW5kQnVmZmVyKG10bDo6Tm9XYWl0
KTsKQEAgLTE3NTQsNiArMTc2MCw3IEBAIG10bDo6UmVuZGVyQ29tbWFuZEVuY29kZXIgKkNvbnRl
eHRNdGw6OmdldFJlbmRlclBhc3NDb21tYW5kRW5jb2Rlcihjb25zdCBtdGw6OlJlCiAgICAgZW5k
RW5jb2RpbmcoZmFsc2UpOwogCiAgICAgZW5zdXJlQ29tbWFuZEJ1ZmZlclJlYWR5KCk7CisgICAg
bVJlbmRlclBhc3NDb3VudCsrOwogCiAgICAgLy8gTmVlZCB0byByZS1hcHBseSBldmVyeXRoaW5n
IG9uIG5leHQgZHJhdyBjYWxsLgogICAgIG1EaXJ0eUJpdHMuc2V0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2Nv
bW1hbmRfYnVmZmVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX2NvbW1hbmRfYnVmZmVyLmgKaW5kZXggNmY5YjkyMjI5NzhmMjNjZjJj
MzFjNDdjNGViYzBiYWRjMzc1MDY1Mi4uYmM4OTI5Yzk4NWZkZGQ1MjcyZWIzNjlkNmVmYjFiNDNh
Mjk3OWIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL210bF9jb21tYW5kX2J1ZmZlci5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbWFuZF9idWZmZXIu
aApAQCAtMTY4LDYgKzE2OCw3IEBAIGNsYXNzIENvbW1hbmRCdWZmZXIgZmluYWwgOiBwdWJsaWMg
V3JhcHBlZE9iamVjdDxpZDxNVExDb21tYW5kQnVmZmVyPj4sIGFuZ2xlOjpOCiAKICAgICBzdGQ6
OnVub3JkZXJlZF9zZXQ8aWQ+IG1SZXNvdXJjZUxpc3Q7CiAgICAgc2l6ZV90IG1Xb3JraW5nUmVz
b3VyY2VTaXplID0gMDsKKyAgICB1aW50MzJfdCBtUmVuZGVyUGFzc2VzICAgICAgPSAwOwogICAg
IGJvb2wgbUNvbW1pdHRlZCAgICAgICAgICAgICA9IGZhbHNlOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9j
b21tb24uaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9tdGxfY29tbW9uLmgKaW5kZXggYmUzMjQ5ZTk5MmZhMzg2M2NhNjE2NTRiMTI1MjNjOTRm
N2E0MWQzYi4uZWE5YWU3MWE4ZjMzZGE5ZmQzZGVmZTBiODY5MTFiMDE3MzEwZDYyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFs
L210bF9jb21tb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1vbi5oCkBAIC0xNDcsNiArMTQ3LDkgQEAgY29uc3RleHBy
IHVpbnQzMl90IGtNYXhWaWV3cG9ydHMgICAgICAgICA9IDE7CiAvLyB3aWxsIGJlIGZsdXNoZWQg
bmV4dCB0aW1lCiBjb25zdGV4cHIgY29uc3Qgc2l6ZV90IGtNYXhpbXVtUmVzaWRlbnRNZW1vcnlT
aXplSW5CeXRlcyA9IDQwMCAqIDEwMjQgKiAxMDI0OwogCisvLyBSZXN0cmljdCBpbi1mbGlnaHQg
cmVuZGVyIHBhc3NlcyB0byAxNgorY29uc3RleHByIHVpbnQzMl90IGtNYXhSZW5kZXJQYXNzZXMg
PSAxNjsKKwogY29uc3RleHByIHVpbnQzMl90IGtWZXJ0ZXhBdHRyaWJCdWZmZXJTdHJpZGVBbGln
bm1lbnQgPSA0OwogLy8gQWxpZ25tZW50IHJlcXVpcmVtZW50IGZvciBvZmZzZXQgcGFzc2VkIHRv
IHNldFZlcnRleHxGcmFnbWVudEJ1ZmZlcgogI2lmIFRBUkdFVF9PU19PU1ggfHwgVEFSR0VUX09T
X01BQ0NBVEFMWVNUCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456783</attachid>
            <date>2022-04-05 22:01:39 -0700</date>
            <delta_ts>2022-04-11 23:21:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234008-20220406150138.patch</filename>
            <type>text/plain</type>
            <size>8479</size>
            <attacher name="Dan Glastonbury">djg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNTZmY2Q3MzdjM2ZlN2I5Y2NlZWI2ODY5MGIwNGY1OWU5NTJhY2UxZC4uNWYzMDg2ZTgzNGNm
ZjkzYjMxMzI0Zjc4NTg5N2Q1NTljNGU1ZmMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA0LTA0ICBEYW4gR2xhc3RvbmJ1cnkgIDxkamdAYXBw
bGUuY29tPgorCisgICAgICAgIEltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgbWFueSByZW5kZXIgcGFz
c2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0
MDA4CisKKyAgICAgICAgVGhyb3VnaCBleHBlcmltZW50YXRpb24sIGl0IHdhcyBmb3VuZCB0aGF0
IHJlZHVjaW5nIHRoZSBudW1iZXIgb2YKKyAgICAgICAgcmVuZGVyIHBhc3NlcyBpbmZsaWdodCBp
biB0aGUgc3lzdGVtIGltcHJvdmVzCisgICAgICAgIHBlcmZvcm1hbmNlLiBCcmVha2luZyBjb21t
YW5kIGJ1ZmZlcnMgd2l0aCBhIGxhcmdlIG51bWJlciBvZgorICAgICAgICByZW5kZXIgcGFzc2Vz
IGludG8gc21hbGxlciBjaHVua3MsIG9mIGF0IG1vc3QgMTYgcmVuZGVyIHBhc3NlcywKKyAgICAg
ICAgYnJvdWdodCB0aGUgZnJhbWUgcmF0ZSBvZiBBTkdMRSBtZXRhbCBiYWNrZW5kIGlubGluZSB3
aXRoIEFOR0xFCisgICAgICAgIG9wZW5nbCBvbiBtYWNPUyBhbmQgaU9TLgorCisgICAgICAgICog
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwuaDoKKyAgICAgICAgKiBzcmMv
bGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbToKKyAgICAgICAgKHJ4OjpDb250
ZXh0TXRsOjpmbHVzaENvbW1hbmRCdWZmZXJJZk5lZWRlZCk6CisgICAgICAgIChyeDo6Q29udGV4
dE10bDo6Z2V0UmVuZGVyUGFzc0NvbW1hbmRFbmNvZGVyKToKKyAgICAgICAgKiBzcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1hbmRfYnVmZmVyLmg6CisgICAgICAgICogc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tb24uaDoKKwogMjAyMi0wNC0wNSAgS2ltbW8g
S2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBBTkdMRSBj
aGFuZ2VzLmRpZmYgYWZ0ZXIgIlJvbGwgQU5HTEUgdG8gMjAyMi0wMy0zMSAoZmUyOGE0Mjk1YWYw
ODdlZTgyYjhmNjI5YjY3MTc2Yjk1MDE5YWY2ZCkiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9jaGFuZ2VzLmRpZmYgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9jaGFuZ2Vz
LmRpZmYKaW5kZXggM2E3Y2Y4ZmY0M2MwYjFmYTgxNzUxMTlmMzQ2YjhjZmVjMWVkOTcwMS4uYjRm
NjdlOTNlNWRiYmJjYzA1N2U1MDY3MGQ1ZWRhMWNiZTI0MjA4NiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvY2hhbmdlcy5kaWZmCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL2NoYW5nZXMuZGlmZgpAQCAtMTk3NDksNiArMTk3NDksNTkgQEAgaW5kZXggMjc5OTIzZi4u
OTAwYWVhOCAxMDA2NDQKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIG1heEJ1ZmZl
cnMgPSAxMDsKICAgICAgICAgICAgICAgICAgbUJ1ZmZlclBvb2wuc2V0QWx3YXlzVXNlU2hhcmVk
TWVtKCk7CitkaWZmIC0tZ2l0IGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRN
dGwuaCBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLmgKK2luZGV4IDBm
NmFiOTcuLmNhNDgwODYgMTAwNjQ0CistLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwv
Q29udGV4dE10bC5oCisrKysgYi9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10
bC5oCitAQCAtNTc2LDYgKzU3Niw4IEBAIGNsYXNzIENvbnRleHRNdGwgOiBwdWJsaWMgQ29udGV4
dEltcGwsIHB1YmxpYyBtdGw6OkNvbnRleHQKKyAgICAgZ2w6OkF0dHJpYnV0ZXNNYXNrIG1EaXJ0
eURlZmF1bHRBdHRyaWJzTWFzazsKKyAgICAgRGlydHlCaXRzIG1EaXJ0eUJpdHM7CisgCisrICAg
IHVpbnQzMl90IG1SZW5kZXJQYXNzZXNTaW5jZUZsdXNoID0gMDsKKysKKyAgICAgLy8gU3RhdGUK
KyAgICAgbXRsOjpSZW5kZXJQaXBlbGluZURlc2MgbVJlbmRlclBpcGVsaW5lRGVzYzsKKyAgICAg
bXRsOjpEZXB0aFN0ZW5jaWxEZXNjIG1EZXB0aFN0ZW5jaWxEZXNjOworZGlmZiAtLWdpdCBhL3Ny
Yy9saWJBTkdMRS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLm1tIGIvc3JjL2xpYkFOR0xFL3Jl
bmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KK2luZGV4IDQwYjNjMzIuLjhmMWQ3YzUgMTAwNjQ0
CistLS0gYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5tbQorKysrIGIv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KK0BAIC0xNjk1LDEwICsx
Njk1LDE5IEBAIEdMaW50IEdldE93bmVyc2hpcElkZW50aXR5KGNvbnN0IGVnbDo6QXR0cmlidXRl
TWFwICZhdHRyaWJzKQorIAorICAgICBlbmRFbmNvZGluZyh0cnVlKTsKKyAgICAgbUNtZEJ1ZmZl
ci5jb21taXQob3BlcmF0aW9uKTsKKysgICAgbVJlbmRlclBhc3Nlc1NpbmNlRmx1c2ggPSAwOwor
IH0KKyAKKyB2b2lkIENvbnRleHRNdGw6OmZsdXNoQ29tbWFuZEJ1ZmZlcklmTmVlZGVkKCkKKyB7
CisrICAgIGlmIChtUmVuZGVyUGFzc2VzU2luY2VGbHVzaCA+PSBtdGw6OmtNYXhSZW5kZXJQYXNz
ZXNQZXJDb21tYW5kQnVmZmVyKQorKyAgICB7CisrICAgICAgICAvLyBXYWl0VW50aWxTY2hlZHVs
ZWQgaGVyZSBpcyBpbnRlbmRlZCB0byBoZWxwIHRoZSBDUFUtR1BVIHBpcGVsaW5lIGFuZAorKyAg
ICAgICAgLy8gaGVscHMgdG8ga2VlcCB0aGUgbnVtYmVyIG9mIGluZmxpZ2h0IHJlbmRlciBwYXNz
ZXMgaW4gdGhlIHN5c3RlbSB0byBhCisrICAgICAgICAvLyBtaW5pbXVtLgorKyAgICAgICAgZmx1
c2hDb21tYW5kQnVmZmVyKG10bDo6V2FpdFVudGlsU2NoZWR1bGVkKTsKKysgICAgfQorKworICAg
ICBpZiAobUNtZEJ1ZmZlci5uZWVkc0ZsdXNoRm9yRHJhd0NhbGxMaW1pdHMoKSkKKyAgICAgewor
ICAgICAgICAgZmx1c2hDb21tYW5kQnVmZmVyKG10bDo6Tm9XYWl0KTsKK0BAIC0xNzE5LDYgKzE3
MjgsNyBAQCBHTGludCBHZXRPd25lcnNoaXBJZGVudGl0eShjb25zdCBlZ2w6OkF0dHJpYnV0ZU1h
cCAmYXR0cmlicykKKyAgICAgZW5kRW5jb2RpbmcoZmFsc2UpOworICAgICBtQ21kQnVmZmVyLnBy
ZXNlbnQocHJlc2VudGF0aW9uRHJhd2FibGUpOworICAgICBtQ21kQnVmZmVyLmNvbW1pdChtdGw6
Ok5vV2FpdCk7CisrICAgIG1SZW5kZXJQYXNzZXNTaW5jZUZsdXNoID0gMDsKKyB9CisgCisgYW5n
bGU6OlJlc3VsdCBDb250ZXh0TXRsOjpmaW5pc2hDb21tYW5kQnVmZmVyKCkKK0BAIC0xNzU0LDYg
KzE3NjQsNyBAQCBHTGludCBHZXRPd25lcnNoaXBJZGVudGl0eShjb25zdCBlZ2w6OkF0dHJpYnV0
ZU1hcCAmYXR0cmlicykKKyAgICAgZW5kRW5jb2RpbmcoZmFsc2UpOworIAorICAgICBlbnN1cmVD
b21tYW5kQnVmZmVyUmVhZHkoKTsKKysgICAgbVJlbmRlclBhc3Nlc1NpbmNlRmx1c2grKzsKKyAK
KyAgICAgLy8gTmVlZCB0byByZS1hcHBseSBldmVyeXRoaW5nIG9uIG5leHQgZHJhdyBjYWxsLgor
ICAgICBtRGlydHlCaXRzLnNldCgpOwogZGlmZiAtLWdpdCBhL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9tZXRhbC9EaXNwbGF5TXRsLm1tIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0Rpc3Bs
YXlNdGwubW0KIGluZGV4IGRhNWIxYzkuLjY0OThhZjggMTAwNjQ0CiAtLS0gYS9zcmMvbGliQU5H
TEUvcmVuZGVyZXIvbWV0YWwvRGlzcGxheU10bC5tbQpAQCAtMTk5MDMsNiArMTk5NTYsMjIgQEAg
aW5kZXggYzNiZTExZi4uMjA0ZWJiOSAxMDA2NDQKICAgICAgYm9vbCBtQWx3YXlzQWxsb2NhdGVO
ZXdCdWZmZXI7CiAgfTsKICAKK2RpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0
YWwvbXRsX2NvbW1vbi5oIGIvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9jb21tb24u
aAoraW5kZXggYmUzMjQ5ZS4uYjkzZjAwZSAxMDA2NDQKKy0tLSBhL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9tdGxfY29tbW9uLmgKKysrKyBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9tZXRh
bC9tdGxfY29tbW9uLmgKK0BAIC0xNDcsNiArMTQ3LDExIEBAIGNvbnN0ZXhwciB1aW50MzJfdCBr
TWF4Vmlld3BvcnRzICAgICAgICAgPSAxOworIC8vIHdpbGwgYmUgZmx1c2hlZCBuZXh0IHRpbWUK
KyBjb25zdGV4cHIgY29uc3Qgc2l6ZV90IGtNYXhpbXVtUmVzaWRlbnRNZW1vcnlTaXplSW5CeXRl
cyA9IDQwMCAqIDEwMjQgKiAxMDI0OworIAorKy8vIFJlc3RyaWN0IGluLWZsaWdodCByZW5kZXIg
cGFzc2VzIHBlciBjb21tYW5kIGJ1ZmZlciB0byAxNi4KKysvLyBUaGUgZ29hbCBpcyB0byByZWR1
Y2UgdGhlIG51bWJlciBvZiBhY3RpdmUgcmVuZGVyIHBhc3NlcyBvbiB0aGUgc3lzdGVtIGF0Cisr
Ly8gYW55b25lIHRpbWUgYW5kIHRoaXMgdmFsdWUgd2FzIGRldGVybWluZWQgdGhyb3VnaCBleHBl
cmltZW50YXRpb24uCisrY29uc3RleHByIHVpbnQzMl90IGtNYXhSZW5kZXJQYXNzZXNQZXJDb21t
YW5kQnVmZmVyID0gMTY7CisrCisgY29uc3RleHByIHVpbnQzMl90IGtWZXJ0ZXhBdHRyaWJCdWZm
ZXJTdHJpZGVBbGlnbm1lbnQgPSA0OworIC8vIEFsaWdubWVudCByZXF1aXJlbWVudCBmb3Igb2Zm
c2V0IHBhc3NlZCB0byBzZXRWZXJ0ZXh8RnJhZ21lbnRCdWZmZXIKKyAjaWYgVEFSR0VUX09TX09T
WCB8fCBUQVJHRVRfT1NfTUFDQ0FUQUxZU1QKIGRpZmYgLS1naXQgYS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvbWV0YWwvbXRsX3JlbmRlcl91dGlscy5tbSBiL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9tdGxfcmVuZGVyX3V0aWxzLm1tCiBpbmRleCAxNjEzZWU5Li5lMDc1Mjk1IDEwMDY0NAog
LS0tIGEvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL210bF9yZW5kZXJfdXRpbHMubW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9t
ZXRhbC9Db250ZXh0TXRsLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUv
cmVuZGVyZXIvbWV0YWwvQ29udGV4dE10bC5oCmluZGV4IDBmNmFiOTc1YWY1MmZiOTlkNzYzYjE2
N2E2OTlmNzEzMWNiNmQyZjAuLmNhNDgwODYxMmUyYjUxZjY5ZmIwZmY4NDcyMDllOTMyYzhiMDk0
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5k
ZXJlci9tZXRhbC9Db250ZXh0TXRsLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwuaApAQCAtNTc2LDYgKzU3Niw4IEBA
IGNsYXNzIENvbnRleHRNdGwgOiBwdWJsaWMgQ29udGV4dEltcGwsIHB1YmxpYyBtdGw6OkNvbnRl
eHQKICAgICBnbDo6QXR0cmlidXRlc01hc2sgbURpcnR5RGVmYXVsdEF0dHJpYnNNYXNrOwogICAg
IERpcnR5Qml0cyBtRGlydHlCaXRzOwogCisgICAgdWludDMyX3QgbVJlbmRlclBhc3Nlc1NpbmNl
Rmx1c2ggPSAwOworCiAgICAgLy8gU3RhdGUKICAgICBtdGw6OlJlbmRlclBpcGVsaW5lRGVzYyBt
UmVuZGVyUGlwZWxpbmVEZXNjOwogICAgIG10bDo6RGVwdGhTdGVuY2lsRGVzYyBtRGVwdGhTdGVu
Y2lsRGVzYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9tZXRhbC9Db250ZXh0TXRsLm1tIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KaW5kZXggNDBiM2MzMmEx
YmQ4ZmVkMDI3ZDM5NGZmMWNjYjYwOGRhZDNmZTY4Mi4uOGYxZDdjNWJjMTI4ZGI2ZmM0ZDIwZjU0
OTc4NzVkNzU0MjFhZjk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KKysrIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL21ldGFsL0NvbnRleHRNdGwubW0KQEAg
LTE2OTUsMTAgKzE2OTUsMTkgQEAgdm9pZCBDb250ZXh0TXRsOjpmbHVzaENvbW1hbmRCdWZmZXIo
bXRsOjpDb21tYW5kQnVmZmVyRmluaXNoT3BlcmF0aW9uIG9wZXJhdGlvbikKIAogICAgIGVuZEVu
Y29kaW5nKHRydWUpOwogICAgIG1DbWRCdWZmZXIuY29tbWl0KG9wZXJhdGlvbik7CisgICAgbVJl
bmRlclBhc3Nlc1NpbmNlRmx1c2ggPSAwOwogfQogCiB2b2lkIENvbnRleHRNdGw6OmZsdXNoQ29t
bWFuZEJ1ZmZlcklmTmVlZGVkKCkKIHsKKyAgICBpZiAobVJlbmRlclBhc3Nlc1NpbmNlRmx1c2gg
Pj0gbXRsOjprTWF4UmVuZGVyUGFzc2VzUGVyQ29tbWFuZEJ1ZmZlcikKKyAgICB7CisgICAgICAg
IC8vIFdhaXRVbnRpbFNjaGVkdWxlZCBoZXJlIGlzIGludGVuZGVkIHRvIGhlbHAgdGhlIENQVS1H
UFUgcGlwZWxpbmUgYW5kCisgICAgICAgIC8vIGhlbHBzIHRvIGtlZXAgdGhlIG51bWJlciBvZiBp
bmZsaWdodCByZW5kZXIgcGFzc2VzIGluIHRoZSBzeXN0ZW0gdG8gYQorICAgICAgICAvLyBtaW5p
bXVtLgorICAgICAgICBmbHVzaENvbW1hbmRCdWZmZXIobXRsOjpXYWl0VW50aWxTY2hlZHVsZWQp
OworICAgIH0KKwogICAgIGlmIChtQ21kQnVmZmVyLm5lZWRzRmx1c2hGb3JEcmF3Q2FsbExpbWl0
cygpKQogICAgIHsKICAgICAgICAgZmx1c2hDb21tYW5kQnVmZmVyKG10bDo6Tm9XYWl0KTsKQEAg
LTE3MTksNiArMTcyOCw3IEBAIHZvaWQgQ29udGV4dE10bDo6cHJlc2VudChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwgaWQ8Q0FNZXRhbERyYXdhYmxlPiBwcmVzZW50CiAgICAgZW5kRW5jb2Rp
bmcoZmFsc2UpOwogICAgIG1DbWRCdWZmZXIucHJlc2VudChwcmVzZW50YXRpb25EcmF3YWJsZSk7
CiAgICAgbUNtZEJ1ZmZlci5jb21taXQobXRsOjpOb1dhaXQpOworICAgIG1SZW5kZXJQYXNzZXNT
aW5jZUZsdXNoID0gMDsKIH0KIAogYW5nbGU6OlJlc3VsdCBDb250ZXh0TXRsOjpmaW5pc2hDb21t
YW5kQnVmZmVyKCkKQEAgLTE3NTQsNiArMTc2NCw3IEBAIG10bDo6UmVuZGVyQ29tbWFuZEVuY29k
ZXIgKkNvbnRleHRNdGw6OmdldFJlbmRlclBhc3NDb21tYW5kRW5jb2Rlcihjb25zdCBtdGw6OlJl
CiAgICAgZW5kRW5jb2RpbmcoZmFsc2UpOwogCiAgICAgZW5zdXJlQ29tbWFuZEJ1ZmZlclJlYWR5
KCk7CisgICAgbVJlbmRlclBhc3Nlc1NpbmNlRmx1c2grKzsKIAogICAgIC8vIE5lZWQgdG8gcmUt
YXBwbHkgZXZlcnl0aGluZyBvbiBuZXh0IGRyYXcgY2FsbC4KICAgICBtRGlydHlCaXRzLnNldCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL21ldGFsL210bF9jb21tb24uaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9tZXRhbC9tdGxfY29tbW9uLmgKaW5kZXggYmUzMjQ5ZTk5MmZhMzg2M2Nh
NjE2NTRiMTI1MjNjOTRmN2E0MWQzYi4uYjkzZjAwZWRlY2ZlMGNiZGZjMWMzMzI0NjE4Njk2NjJh
NmYzMGM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL21ldGFsL210bF9jb21tb24uaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvbWV0YWwvbXRsX2NvbW1vbi5oCkBAIC0xNDcsNiArMTQ3
LDExIEBAIGNvbnN0ZXhwciB1aW50MzJfdCBrTWF4Vmlld3BvcnRzICAgICAgICAgPSAxOwogLy8g
d2lsbCBiZSBmbHVzaGVkIG5leHQgdGltZQogY29uc3RleHByIGNvbnN0IHNpemVfdCBrTWF4aW11
bVJlc2lkZW50TWVtb3J5U2l6ZUluQnl0ZXMgPSA0MDAgKiAxMDI0ICogMTAyNDsKIAorLy8gUmVz
dHJpY3QgaW4tZmxpZ2h0IHJlbmRlciBwYXNzZXMgcGVyIGNvbW1hbmQgYnVmZmVyIHRvIDE2Lgor
Ly8gVGhlIGdvYWwgaXMgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgYWN0aXZlIHJlbmRlciBwYXNz
ZXMgb24gdGhlIHN5c3RlbSBhdAorLy8gYW55b25lIHRpbWUgYW5kIHRoaXMgdmFsdWUgd2FzIGRl
dGVybWluZWQgdGhyb3VnaCBleHBlcmltZW50YXRpb24uCitjb25zdGV4cHIgdWludDMyX3Qga01h
eFJlbmRlclBhc3Nlc1BlckNvbW1hbmRCdWZmZXIgPSAxNjsKKwogY29uc3RleHByIHVpbnQzMl90
IGtWZXJ0ZXhBdHRyaWJCdWZmZXJTdHJpZGVBbGlnbm1lbnQgPSA0OwogLy8gQWxpZ25tZW50IHJl
cXVpcmVtZW50IGZvciBvZmZzZXQgcGFzc2VkIHRvIHNldFZlcnRleHxGcmFnbWVudEJ1ZmZlcgog
I2lmIFRBUkdFVF9PU19PU1ggfHwgVEFSR0VUX09TX01BQ0NBVEFMWVNUCg==
</data>
<flag name="review"
          id="485191"
          type_id="1"
          status="+"
          setter="kkinnunen"
    />
          </attachment>
      

    </bug>

</bugzilla>