<?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>237628</bug_id>
          
          <creation_ts>2022-03-08 16:29:00 -0800</creation_ts>
          <short_desc>[css-grid] Subgrid items should always be stretched</short_desc>
          <delta_ts>2022-03-17 19:34:55 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/33121</see_also>
          <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="Matt Woodrow">mattwoodrow</reporter>
          <assigned_to name="Matt Woodrow">mattwoodrow</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ntim</cc>
    
    <cc>obrufau</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1849468</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-03-08 16:29:00 -0800</bug_when>
    <thetext>9.j: The subgrid is always stretched in its subgridded dimension(s): the align-self/justify-self properties on it are ignored, as are any specified width/height constraints.

We need to make sure that we always stretch subgrid items, even if it means overriding a specified width/height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849469</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-08 16:29:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/89996514&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849523</commentid>
    <comment_count>2</comment_count>
      <attachid>454186</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-03-08 19:29:42 -0800</bug_when>
    <thetext>Created attachment 454186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849527</commentid>
    <comment_count>3</comment_count>
      <attachid>454188</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-03-08 19:54:30 -0800</bug_when>
    <thetext>Created attachment 454188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849528</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-03-08 19:56:55 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850393</commentid>
    <comment_count>5</comment_count>
      <attachid>454188</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-03-11 01:26:23 -0800</bug_when>
    <thetext>Comment on attachment 454188
Patch

Upstream WPT doesn&apos;t seem happy about some trailing whitespace in your test, can you remove them?

See: https://community-tc.services.mozilla.com/tasks/fKANgyH9StmuqxCzp54LiA/runs/0/logs/public/logs/live.log#L108-110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852125</commentid>
    <comment_count>6</comment_count>
      <attachid>454188</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-03-16 20:45:47 -0700</bug_when>
    <thetext>Comment on attachment 454188
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:2885
&gt; -        return style.resolvedJustifySelf(&amp;containingBlock-&gt;style(), containingBlock-&gt;selfAlignmentNormalBehavior(this)).position() == ItemPosition::Stretch;
&gt; -    return style.resolvedAlignSelf(&amp;containingBlock-&gt;style(), containingBlock-&gt;selfAlignmentNormalBehavior(this)).position() == ItemPosition::Stretch;
&gt; +        return resolvedJustifySelf(&amp;containingBlock-&gt;style(), containingBlock-&gt;selfAlignmentNormalBehavior(this)).position() == ItemPosition::Stretch;
&gt; +    return resolvedAlignSelf(&amp;containingBlock-&gt;style(), containingBlock-&gt;selfAlignmentNormalBehavior(this)).position() == ItemPosition::Stretch;

I think it&apos;s ok to just check/downcast to RenderGrid and run the grid specific code in here. While I personally dislike the way we structure all these different layout systems, I think that&apos;s what the current pattern here is (same for width)

&gt; Source/WebCore/rendering/RenderGrid.cpp:1208
&gt; +    GridTrackSizingDirection childFlowDirection = GridLayoutFunctions::flowAwareDirectionForChild(*this, child, direction);

auto?

&gt; Source/WebCore/rendering/RenderGrid.cpp:1292
&gt; +{

I&apos;d just early return on a non-grid child.

&gt; Source/WebCore/rendering/RenderGrid.cpp:1295
&gt; +        GridTrackSizingDirection childBlockDirection = GridLayoutFunctions::flowAwareDirectionForChild(*this, child, ForRows);
&gt; +        LayoutUnit stretchedLogicalHeight = availableAlignmentSpaceForChildBeforeStretching(GridLayoutFunctions::overridingContainingBlockContentSizeForChild(child, childBlockDirection).value(), child, ForRows);

autos</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852470</commentid>
    <comment_count>7</comment_count>
      <attachid>455023</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-03-17 13:51:23 -0700</bug_when>
    <thetext>Created attachment 455023
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852524</commentid>
    <comment_count>8</comment_count>
      <attachid>455039</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-03-17 15:42:14 -0700</bug_when>
    <thetext>Created attachment 455039
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852600</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-17 19:34:49 -0700</bug_when>
    <thetext>Committed r291464 (248580@main): &lt;https://commits.webkit.org/248580@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455039.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454186</attachid>
            <date>2022-03-08 19:29:42 -0800</date>
            <delta_ts>2022-03-08 19:54:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237628-20220309162940.patch</filename>
            <type>text/plain</type>
            <size>51888</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFiYzczOTM5NGIzMWMy
ZWJmZDZlNGJhY2Y1YmQ3NzNhYWRlNWU3MC4uOWY0NmU2YzE3N2UwODhlZmQ2YjFiNmFmOGM2YmNi
ZGNmMjliMWZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAyMi0wMy0wOCAgTWF0
dCBXb29kcm93ICA8bWF0dHdvb2Ryb3dAYXBwbGUuY29tPgorCisgICAgICAgIFN1YmdyaWQgaXRl
bXMgc2hvdWxkIGFsd2F5cyBiZSBzdHJldGNoZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc2MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LWdyaWQtMi8jc3ViZ3JpZC1ib3gtYWxpZ25tZW50CisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0cmV0
Y2guaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsV2lkdGhJbkZyYWdtZW50IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGFzU3RyZXRjaGVkTG9naWNhbEhlaWdodCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc1N0cmV0Y2hlZExvZ2ljYWxX
aWR0aCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnJlc29sdmVkSnVzdGlm
eVNlbGYgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpyZXNvbHZlZEFsaWdu
U2VsZiBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorCisgICAgICAg
IEFkZHMgbmV3IGhlbHBlciBmb3IgbG9va2luZyB1cCB0aGUgcmVzb2x2ZWQgdmFsdWUgb2YganVz
dGlmeS9hbGlnbi1zZWxmIChzaW5jZQorICAgICAgICBzdWJncmlkcyB3YW50IHRvIG92ZXJyaWRl
IHRoaXMgbG9naWMgYW5kIGFsd2F5cyByZXR1cm4gc3RyZXRjaCkuCisgICAgICAgIE1ha2VzIGNv
bXB1dGVMb2dpY2FsV2lkdGhJbkZyYWdtZW50IHVzZSB0aGUgb3ZlcnJpZGUgbG9naWNhbCB3aWR0
aCBmb3IgZ3JpZCBpdGVtcworICAgICAgICBpZiBpdCdzIGJlZW4gc2V0LCBhcyB3ZSBhbHJlYWR5
IGRvIGZvciBoZWlnaHQuIFdlIGRvbid0IGVhcmx5IHJldHVybiwgc28gdGhhdCBtYXJnaW5zCisg
ICAgICAgIHN0aWxsIGdldCBjb21wdXRlZCByZWxhdGl2ZSB0byB0aGlzIHdpZHRoLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
R3JpZDo6bGF5b3V0R3JpZEl0ZW1zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmF2
YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmFsaWduU2VsZkZvckNoaWxkIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnJlc29sdmVkQWxpZ25TZWxmIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6Omp1c3RpZnlTZWxmRm9yQ2hpbGQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cmVzb2x2ZWRKdXN0aWZ5U2VsZiBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjphcHBseVN0cmV0Y2hBbGlnbm1lbnRUb0No
aWxkSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YXBwbHlTdWJncmlk
U3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckdyaWQuaDoKKworICAgICAgICBTZXRzIHRoZSByZXF1aXJlZCBvdmVycmlkZSB3aWR0aC9o
ZWlnaHQgc2l6ZSBvbiBzdWJncmlkIGl0ZW1zIHNvIHRoYXQgdGhleSBnZXQKKyAgICAgICAgc3Ry
ZXRjaGVkLiBPdmVycmlkZXMgcmVzb2x2ZWRBbGlnbi9KdXN0aWZ5U2VsZiB0byBhbHdheXMgcmV0
dXJuIHN0cmV0Y2ggZm9yCisgICAgICAgIHN1YmdyaWRzLgorCisyMDIyLTAzLTA3ICBNYXR0IFdv
b2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgRW1wdHkgZmxvYXQgcmVj
dHMgc2hvdWxkIHJlbWFpbiBlbXB0eSBhZnRlciBpbnRlZ3JhbGx5IGVuY2xvc2luZyB0aGVtLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NTA3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWxhbiBCdWp0YXMuCisKKyAgICAgICAgVGVzdDogY29tcG9z
aXRpbmcvdGlsZS1jb3ZlcmFnZS1zdWJwaXhlbC1lbXB0eS1yZWN0Lmh0bWwKKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbmNs
b3NpbmdJbnRSZWN0UHJlc2VydmluZ0VtcHR5UmVjdHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UmVjdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzZXROZWVkc0Rpc3BsYXlJblJl
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OmRyb3BUaWxlc0luUmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6dGlsZXNXb3VsZENoYW5nZUZvckNvdmVyYWdlUmVjdCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cHJlcG9wdWxhdGVSZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6VGlsZUdyaWQ6OmVuc3VyZVRpbGVzRm9yUmVjdCk6CisKKyAgICAgICAgQWRkIGEgbmV3
IHZhcmlhbnQgb2YgZW5jbG9zaW5nSW50UmVjdChjb25zdCBGbG9hdCYpIHRoYXQgZW5zdXJlcyB0
aGF0IGVtcHR5IGlucHV0IHJlY3RzCisgICAgICAgIGFsd2F5cyByZXR1cm4gYW4gZW1wdHkgb3V0
cHV0IHJlY3QsIGV2ZW4gaWYgdGhlIHgveSBwb3NpdGlvbiBpcyBmcmFjdGlvbmFsLgorICAgICAg
ICBTaWduaWZpY2FudCBwb3J0aW9ucyBvZiB0aGUgbGF5b3V0IGNvZGUgKGluY2x1ZGluZywgYnV0
IG5vdCBsaW1pdGVkIHRvIGxpbmVzQm91bmRpbmdCb3goKSkgZGVwZW5kCisgICAgICAgIG9uIHRo
ZSBvbGQgYmVoYXZpb3IsIHNvIHRoZSBuZXcgYmVoYXZpb3VyIGlzIG9wdC1pbiBhbmQgb25seSB1
c2VkIGJ5IFRpbGVHcmlkLgorCisgICAgICAgIEZpeGVzIHRoZSBjYXNlIHdoZXJlIFRpbGVHcmlk
IHJlY2VpdmVkIGFuIGVtcHR5IGNvdmVyYWdlIHJlY3QgYXQgYSBmcmFjdGlvbmFsIHBvc2l0aW9u
LCBhbmQgcm91bmRlZAorICAgICAgICBpdCBvdXQgdG8gYSAxeDEgcmVjdCBhbmQgYWxsb2NhdGVk
IHVubmVjZXNzYXJ5IHRpbGVzLgorCisyMDIyLTAzLTAxICBNYXR0IFdvb2Ryb3cgIDxtYXR0d29v
ZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHRoZSBzaXppbmcgYWxnb3JpdGhtJ3MgYXZh
aWxhYmxlIHNpemUgdG8gY29tcHV0ZSBncmlkIGdhcC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjk1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbXB1dGluZyB0aGUgZ3JpZCBnYXAgZm9yIHN1Ymdy
aWRkZWQgdHJhY2tzIGhhcHBlbnMgZHVyaW5nIHRoZSBzaXppbmcgYWxnb3JpdGhtCisgICAgICAg
IChhcyBwYXJ0IG9mIGNvcHlpbmcgdGhlIHNpemVzIGZyb20gdGhlIHBhcmVudCwgaW5zdGVhZCBv
ZiBjb21wdXRpbmcgbmV3IHNpemVzKS4gQXQKKyAgICAgICAgdGhpcyBwb2ludCB3ZSBzaG91bGQg
YWx3YXlzIGhhdmUgYSBkZWZpbml0ZSBzaXplIGF2YWlsYWJsZSAodGhlIHNpemUgb2YgdGhlIHRy
YWNrcyBpbgorICAgICAgICB0aGUgcGFyZW50IHRoYXQgdGhlIHN1YmdyaWQgc3BhbnMpLCBidXQg
aXQgbWF5IG5vdCB5ZXQgYmUgc2V0IG9uIHRoZSBzdWJncmlkJ3MgUmVuZGVyRWxlbWVudC4KKyAg
ICAgICAgVGhpcyByZXRyZWl2ZXMgdGhlIHNpemUgZnJvbSB0aGUgdHJhY2sgc2l6aW5nIGFsZ29y
aXRobSBpbnN0ZWFkLCB3aGVyZSBpdCBzaG91bGQgYWx3YXlzIGJlCisgICAgICAgIGF2YWlsYWJs
ZSBieSB0aGlzIHBvaW50LgorCisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0Fs
Z29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06
OmNvcHlVc2VkVHJhY2tTaXplc0ZvclN1YmdyaWQpOgorCisyMDIyLTAyLTI0ICBNYXR0IFdvb2Ry
b3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgQ29tcHV0ZSBjb3JyZWN0IGNv
bnRhaW5pbmcgYmxvY2sgb3ZlcnJpZGUgc2l6ZSBmb3IgaXRlbXMgdGhhdCBhcmUgc3ViZ3JpZGRl
biBpbiBvbmUgZGltZW5zaW9uIG9ubHkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzY5NTEKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tz
b24uCisKKyAgICAgICAgSXRlbXMgdGhhdCBhcmUgc3ViZ3JpZGRlZCBpbiBvbmUgZGltZW5zaW9u
IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0gb2YgdGhlCisg
ICAgICAgIG91dGVyIGdyaWQgZm9yIHRoYXQgZGltZW5zaW9uLiBXaGVuIG1lYXN1cmluZyB0aGVp
ciBzaXplIGluIHRoZSBzdWJncmlkZGVkIGRpbWVuc2lvbiwgd2UgbmVlZCB0bworICAgICAgICBz
ZXQgdGhlaXIgY29udGFpbmluZyBibG9jayBzaXplIGluIHRoZSBvdGhlciAobm9uLXN1YmdyaWRk
ZWQpIGRpbWVuc2lvbiwgd2hpY2ggaXMgb25seSBhdmFpbGFibGUKKyAgICAgICAgZnJvbSB0aGUg
c3ViZ3JpZCdzIHRyYWNrIHNpemluZywgbm90IHRoZSBvdXRlciB0cmFjayBzaXplcy4KKworICAg
ICAgICBUaGlzIHJlY3Vyc2VzIHVwIHRvIHNldCB0aGUgb3ZlcnJpZGUgc2l6ZSBvbiB0aGUgc3Vi
Z3JpZCBlbGVtZW50IGluc3RlYWQsIGFuZCBmb3JjZXMgYSBsYXlvdXQKKyAgICAgICAgdGhlcmUs
IHdoaWNoIHNob3VsZCBjb3B5IGRvd24gc3ViZ3JpZCB0cmFjayBzaXplcyBhbmQgY29tcHV0ZSB0
aGUgb3RoZXIgZGltZW5zaW9uLCBtYWtpbmcgaXQKKyAgICAgICAgYXZhaWxhYmxlIG9uIHRoZSBp
bm5lciBpdGVtIHdlIG5lZWQuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9hdXRvLXRyYWNrLXNpemluZy0wMDIuaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlvbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JpZExheW91dEZ1bmN0aW9uczo6ZXh0cmFNYXJnaW5Gb3JTdWJncmlkQW5j
ZXN0b3JzKToKKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZExheW91dEZ1bmN0aW9ucy5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6OnVwZGF0ZU92ZXJyaWRp
bmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpp
c1N1YmdyaWRPZik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKwogMjAyMi0w
My0wNiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
dXNoIEhUTUxNZWRpYUVsZW1lbnQgcmVuZGVyZXIncyBjb250ZW50Qm94IHJlY3QgdG8gR1BVIHBy
b2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
UmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3Bw
CmluZGV4IDAxYThmMTI4YzUzMzllZjlkNDQ2YWM3MjNmNzE5NjY3NmFhNzMyN2YuLjg1N2Y3MTQx
ZWM1YWNhOTE3ZTcwMzg5NTJlNTc2NjcwYmZlNzVkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcApAQCAtMjUzLDYgKzI1MywxOCBAQCBJbnRS
ZWN0IGVuY2xvc2luZ0ludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIHJldHVybiBJ
bnRSZWN0KEludFBvaW50KGxvY2F0aW9uKSwgSW50U2l6ZShtYXhQb2ludCAtIGxvY2F0aW9uKSk7
CiB9CiAKK0ludFJlY3QgZW5jbG9zaW5nSW50UmVjdFByZXNlcnZpbmdFbXB0eVJlY3RzKGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBFbXB0eSByZWN0cyB3aXRoIGZyYWN0aW9uYWwg
eCwgeSB2YWx1ZXMgdHVybiBpbnRvIG5vbi1lbXB0eSByZWN0cyB3aGVuIGNvbnZlcnRpbmcgdG8g
ZW5jbG9zaW5nLgorICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgZW1wdHkgcmVjdHMgc3Rh
eSBlbXB0eSBhZnRlciB0aGUgY29udmVyc2lvbiwgc2luY2Ugc29tZSBjYWxsZXJzCisgICAgLy8g
cHJlZmVyIHRoaXMgYmVoYXZpb3IuCisgICAgRmxvYXRQb2ludCBsb2NhdGlvbiA9IGZsb29yZWRJ
bnRQb2ludChyZWN0Lm1pblhNaW5ZQ29ybmVyKCkpOworICAgIGlmIChyZWN0LmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQobG9jYXRpb24pLCB7IH0pOworICAgIEZs
b2F0UG9pbnQgbWF4UG9pbnQgPSBjZWlsZWRJbnRQb2ludChyZWN0Lm1heFhNYXhZQ29ybmVyKCkp
OworICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KGxvY2F0aW9uKSwgSW50U2l6ZShtYXhQb2lu
dCAtIGxvY2F0aW9uKSk7Cit9CisKIEludFJlY3Qgcm91bmRlZEludFJlY3QoY29uc3QgRmxvYXRS
ZWN0JiByZWN0KQogewogICAgIHJldHVybiBJbnRSZWN0KHJvdW5kZWRJbnRQb2ludChyZWN0Lmxv
Y2F0aW9uKCkpLCByb3VuZGVkSW50U2l6ZShyZWN0LnNpemUoKSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuaAppbmRleCBlOWI3M2RhMGNmMGMyMmI2OTY3
ZWFmMzU0NTZlYzRmMzRiYjhlODczLi40MmIyMzMyYmY4NmMxZmFmODVhOWRhNWYyZDcyZGYyOWFm
ZGY2N2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFJlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
aApAQCAtMzA3LDYgKzMwNyw3IEBAIGlubGluZSB2b2lkIEZsb2F0UmVjdDo6aW5mbGF0ZShmbG9h
dCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFNYXhYLCBmbG9hCiBGbG9hdFJlY3Qg
bm9ybWFsaXplUmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVj
dCBlbmNsb3NlUmVjdFRvRGV2aWNlUGl4ZWxzKGNvbnN0IEZsb2F0UmVjdCYsIGZsb2F0IGRldmlj
ZVNjYWxlRmFjdG9yKTsKIFdFQkNPUkVfRVhQT1JUIEludFJlY3QgZW5jbG9zaW5nSW50UmVjdChj
b25zdCBGbG9hdFJlY3QmKTsKK1dFQkNPUkVfRVhQT1JUIEludFJlY3QgZW5jbG9zaW5nSW50UmVj
dFByZXNlcnZpbmdFbXB0eVJlY3RzKGNvbnN0IEZsb2F0UmVjdCYpOwogV0VCQ09SRV9FWFBPUlQg
SW50UmVjdCByb3VuZGVkSW50UmVjdChjb25zdCBGbG9hdFJlY3QmKTsKIAogV0VCQ09SRV9FWFBP
UlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIGNvbnN0IEZs
b2F0UmVjdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuY3BwCmluZGV4IDAyYjhmZGMyYmY4ZmZkZmQ5NTYwNzM4OGEzNmMyZjgxYWUzNWFiNmIu
Ljg0NDczNmY2OWE4ZTI0MTdlMDE4ZWZiYzY2NTExZDliYzFmMThmMmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKQEAgLTExOSw3ICsx
MTksNyBAQCB2b2lkIFRpbGVHcmlkOjpzZXROZWVkc0Rpc3BsYXlJblJlY3QoY29uc3QgSW50UmVj
dCYgcmVjdCkKIAogICAgIEZsb2F0UmVjdCBzY2FsZWRSZWN0KHJlY3QpOwogICAgIHNjYWxlZFJl
Y3Quc2NhbGUobV9zY2FsZSk7Ci0gICAgSW50UmVjdCByZXBhaW50UmVjdEluVGlsZUNvb3Jkcyhl
bmNsb3NpbmdJbnRSZWN0KHNjYWxlZFJlY3QpKTsKKyAgICBJbnRSZWN0IHJlcGFpbnRSZWN0SW5U
aWxlQ29vcmRzKGVuY2xvc2luZ0ludFJlY3RQcmVzZXJ2aW5nRW1wdHlSZWN0cyhzY2FsZWRSZWN0
KSk7CiAKICAgICBJbnRTaXplIHRpbGVTaXplID0gbV90aWxlU2l6ZTsKIApAQCAtMTUxLDcgKzE1
MSw3IEBAIHZvaWQgVGlsZUdyaWQ6OmRyb3BUaWxlc0luUmVjdChjb25zdCBJbnRSZWN0JiByZWN0
KQogCiAgICAgRmxvYXRSZWN0IHNjYWxlZFJlY3QocmVjdCk7CiAgICAgc2NhbGVkUmVjdC5zY2Fs
ZShtX3NjYWxlKTsKLSAgICBJbnRSZWN0IGRyb3BSZWN0SW5UaWxlQ29vcmRzKGVuY2xvc2luZ0lu
dFJlY3Qoc2NhbGVkUmVjdCkpOworICAgIEludFJlY3QgZHJvcFJlY3RJblRpbGVDb29yZHMoZW5j
bG9zaW5nSW50UmVjdFByZXNlcnZpbmdFbXB0eVJlY3RzKHNjYWxlZFJlY3QpKTsKIAogICAgIFZl
Y3RvcjxUaWxlSW5kZXg+IHRpbGVzVG9SZW1vdmU7CiAKQEAgLTIxMyw3ICsyMTMsNyBAQCBib29s
IFRpbGVHcmlkOjp0aWxlc1dvdWxkQ2hhbmdlRm9yQ292ZXJhZ2VSZWN0KGNvbnN0IEZsb2F0UmVj
dCYgY292ZXJhZ2VSZWN0KSBjbwogCiAgICAgRmxvYXRSZWN0IHNjYWxlZFJlY3QoY292ZXJhZ2VS
ZWN0KTsKICAgICBzY2FsZWRSZWN0LnNjYWxlKG1fc2NhbGUpOwotICAgIEludFJlY3QgY3VycmVu
dENvdmVyYWdlUmVjdEluVGlsZUNvb3JkcyhlbmNsb3NpbmdJbnRSZWN0KHNjYWxlZFJlY3QpKTsK
KyAgICBJbnRSZWN0IGN1cnJlbnRDb3ZlcmFnZVJlY3RJblRpbGVDb29yZHMoZW5jbG9zaW5nSW50
UmVjdFByZXNlcnZpbmdFbXB0eVJlY3RzKHNjYWxlZFJlY3QpKTsKIAogICAgIEludFJlY3QgdGls
ZUNvdmVyYWdlUmVjdDsKICAgICBUaWxlSW5kZXggdG9wTGVmdDsKQEAgLTIzMCw3ICsyMzAsNyBA
QCBib29sIFRpbGVHcmlkOjpwcmVwb3B1bGF0ZVJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQog
ewogICAgIExPR19XSVRIX1NUUkVBTShUaWxpbmcsIHN0cmVhbSA8PCAiVGlsZUdyaWQgIiA8PCB0
aGlzIDw8ICIgcHJlcG9wdWxhdGVSZWN0OiAiIDw8IHJlY3QpOwogCi0gICAgSW50UmVjdCBlbmNs
b3NpbmdDb3ZlcmFnZVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHJlY3QpOworICAgIEludFJlY3Qg
ZW5jbG9zaW5nQ292ZXJhZ2VSZWN0ID0gZW5jbG9zaW5nSW50UmVjdFByZXNlcnZpbmdFbXB0eVJl
Y3RzKHJlY3QpOwogICAgIGlmIChtX3ByaW1hcnlUaWxlQ292ZXJhZ2VSZWN0LmNvbnRhaW5zKGVu
Y2xvc2luZ0NvdmVyYWdlUmVjdCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMzQzLDcg
KzM0Myw3IEBAIHZvaWQgVGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyhPcHRpb25TZXQ8VmFsaWRh
dGlvblBvbGljeUZsYWc+IHZhbGlkYXRpb25Qb2xpY3kpCiAKICAgICBGbG9hdFJlY3Qgc2NhbGVk
UmVjdChjb3ZlcmFnZVJlY3QpOwogICAgIHNjYWxlZFJlY3Quc2NhbGUobV9zY2FsZSk7Ci0gICAg
SW50UmVjdCBjb3ZlcmFnZVJlY3RJblRpbGVDb29yZHMoZW5jbG9zaW5nSW50UmVjdChzY2FsZWRS
ZWN0KSk7CisgICAgSW50UmVjdCBjb3ZlcmFnZVJlY3RJblRpbGVDb29yZHMoZW5jbG9zaW5nSW50
UmVjdFByZXNlcnZpbmdFbXB0eVJlY3RzKHNjYWxlZFJlY3QpKTsKIAogICAgIFRpbGVDb2hvcnQg
Y3VyckNvaG9ydCA9IG5leHRUaWxlQ29ob3J0KCk7CiAgICAgdW5zaWduZWQgdGlsZXNJbkNvaG9y
dCA9IDA7CkBAIC00NDcsNyArNDQ3LDcgQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVz
KE9wdGlvblNldDxWYWxpZGF0aW9uUG9saWN5RmxhZz4gdmFsaWRhdGlvblBvbGljeSkKIAogICAg
ICAgICBGbG9hdFJlY3Qgc2NhbGVkQm91bmRzKGJvdW5kcyk7CiAgICAgICAgIHNjYWxlZEJvdW5k
cy5zY2FsZShtX3NjYWxlKTsKLSAgICAgICAgSW50UmVjdCBib3VuZHNJblRpbGVDb29yZHMoZW5j
bG9zaW5nSW50UmVjdChzY2FsZWRCb3VuZHMpKTsKKyAgICAgICAgSW50UmVjdCBib3VuZHNJblRp
bGVDb29yZHMoZW5jbG9zaW5nSW50UmVjdFByZXNlcnZpbmdFbXB0eVJlY3RzKHNjYWxlZEJvdW5k
cykpOwogCiAgICAgICAgIFRpbGVJbmRleCB0b3BMZWZ0Rm9yQm91bmRzOwogICAgICAgICBUaWxl
SW5kZXggYm90dG9tUmlnaHRGb3JCb3VuZHM7CkBAIC01NDIsNyArNTQyLDcgQEAgSW50UmVjdCBU
aWxlR3JpZDo6ZW5zdXJlVGlsZXNGb3JSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgQ292ZXJh
Z2VUeXBlIG5ld1RpbGUKIAogICAgIEZsb2F0UmVjdCBzY2FsZWRSZWN0KHJlY3QpOwogICAgIHNj
YWxlZFJlY3Quc2NhbGUobV9zY2FsZSk7Ci0gICAgSW50UmVjdCByZWN0SW5UaWxlQ29vcmRzKGVu
Y2xvc2luZ0ludFJlY3Qoc2NhbGVkUmVjdCkpOworICAgIEludFJlY3QgcmVjdEluVGlsZUNvb3Jk
cyhlbmNsb3NpbmdJbnRSZWN0UHJlc2VydmluZ0VtcHR5UmVjdHMoc2NhbGVkUmVjdCkpOwogCiAg
ICAgVGlsZUluZGV4IHRvcExlZnQ7CiAgICAgVGlsZUluZGV4IGJvdHRvbVJpZ2h0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlvbnMuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlvbnMuY3BwCmluZGV4IDUw
ZWZlZWFkYTBlMGJmNzJjMGQyMGRhOTE0ZDUwNGEzYWFhOWZlYjAuLmVhODFjM2JhOGI4ZTlkNzI2
YzE1M2FjZDQ3ODlhYTc2MGEwOTU4MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9HcmlkTGF5b3V0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvR3JpZExheW91dEZ1bmN0aW9ucy5jcHAKQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgTGF5
b3V0VW5pdCBleHRyYU1hcmdpbkZvclN1YmdyaWQoY29uc3QgUmVuZGVyR3JpZCYgcGFyZW50LCB1
bnNpZ25lZCBzdGFydAogICAgIHJldHVybiBtYnA7CiB9CiAKLXN0YXRpYyBMYXlvdXRVbml0IGV4
dHJhTWFyZ2luRm9yU3ViZ3JpZEFuY2VzdG9ycyhHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGly
ZWN0aW9uLCBjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQorTGF5b3V0VW5pdCBleHRyYU1hcmdpbkZv
clN1YmdyaWRBbmNlc3RvcnMoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29u
c3QgUmVuZGVyQm94JiBjaGlsZCkKIHsKICAgICBjb25zdCBSZW5kZXJHcmlkKiBncmlkID0gZG93
bmNhc3Q8UmVuZGVyR3JpZD4oY2hpbGQucGFyZW50KCkpOwogICAgIExheW91dFVuaXQgbWJwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlvbnMu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkTGF5b3V0RnVuY3Rpb25zLmgKaW5kZXgg
MDQ1NjFkMzkzNDE1M2I0NjJhMTc2ZjBhNGY4ZDZmY2NiY2NlM2Y5Yi4uODU4ZjEyZGZkZGE0MmVh
NTBjN2U1NjI4ZDAzYTVjY2I4ZTU3Y2I2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvR3JpZExheW91dEZ1bmN0aW9ucy5oCkBAIC01MCw2ICs1MCw3IEBAIHN0ZDo6b3B0aW9uYWw8
TGF5b3V0VW5pdD4gb3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9ja0NvbnRlbnRTaXplRm9yQ2hpbGQo
Y29uc3QgUmVuCiAKIGJvb2wgaXNGbGlwcGVkRGlyZWN0aW9uKGNvbnN0IFJlbmRlckdyaWQmLCBH
cmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pOwogYm9vbCBpc1N1YmdyaWRSZXZlcnNlZERpcmVjdGlv
bihjb25zdCBSZW5kZXJHcmlkJiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIG91dGVyRGlyZWN0
aW9uLCBjb25zdCBSZW5kZXJHcmlkJiBzdWJncmlkKTsKK0xheW91dFVuaXQgZXh0cmFNYXJnaW5G
b3JTdWJncmlkQW5jZXN0b3JzKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgY29uc3QgUmVuZGVy
Qm94JiBjaGlsZCk7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRleCAzMmI1MTg1ZWJjN2I4ODM5MjY4MmZi
ZGJjMTRkMDU0NzY0YWE5MTUyLi5hYzU5MjEyMmM4NTRkMjQ4ZDllZTE2OTExZjc2NWZjOGJiMmEy
Njk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtLmNwcApAQCAtOTY1LDYgKzk2NSwzNSBAQCBib29sIEdyaWRUcmFja1Npemlu
Z0FsZ29yaXRobVN0cmF0ZWd5Ojp1cGRhdGVPdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVu
dFNpegogICAgIGlmICghb3ZlcnJpZGVTaXplKQogICAgICAgICBvdmVycmlkZVNpemUgPSBtX2Fs
Z29yaXRobS5ncmlkQXJlYUJyZWFkdGhGb3JDaGlsZChjaGlsZCwgZGlyZWN0aW9uKTsKIAorICAg
IGlmIChyZW5kZXJHcmlkKCkgIT0gY2hpbGQucGFyZW50KCkpIHsKKyAgICAgICAgLy8gSWYgY2hp
bGQgaXMgcGFydCBvZiBhIHN1YmdyaWQsIGZpbmQgdGhlIG5lYXJlc3QgYW5jZXN0b3IgdGhpcyBp
cyBkaXJlY3RseSBwYXJ0IG9mIHRoaXMgZ3JpZAorICAgICAgICAvLyAoZWl0aGVyIGJ5IGJlaW5n
IGEgY2hpbGQgb2YgdGhlIGdyaWQsIG9yIHZpYSBiZWluZyBzdWJncmlkZGVkIGluIHRoaXMgZGlt
ZW5zaW9uLgorICAgICAgICBSZW5kZXJHcmlkKiBncmlkID0gZG93bmNhc3Q8UmVuZGVyR3JpZD4o
Y2hpbGQucGFyZW50KCkpOworICAgICAgICBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gc3ViZ3Jp
ZERpcmVjdGlvbiA9IEdyaWRMYXlvdXRGdW5jdGlvbnM6OmZsb3dBd2FyZURpcmVjdGlvbkZvckNo
aWxkKCpyZW5kZXJHcmlkKCksICpncmlkLCBkaXJlY3Rpb24pOworICAgICAgICB3aGlsZSAoZ3Jp
ZC0+cGFyZW50KCkgIT0gcmVuZGVyR3JpZCgpICYmICFncmlkLT5pc1N1YmdyaWRPZihzdWJncmlk
RGlyZWN0aW9uLCAqcmVuZGVyR3JpZCgpKSkgeworICAgICAgICAgICAgZ3JpZCA9IGRvd25jYXN0
PFJlbmRlckdyaWQ+KGdyaWQtPnBhcmVudCgpKTsKKyAgICAgICAgICAgIHN1YmdyaWREaXJlY3Rp
b24gPSBHcmlkTGF5b3V0RnVuY3Rpb25zOjpmbG93QXdhcmVEaXJlY3Rpb25Gb3JDaGlsZCgqcmVu
ZGVyR3JpZCgpLCAqZ3JpZCwgZGlyZWN0aW9uKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChn
cmlkID09IGNoaWxkLnBhcmVudCgpICYmIGdyaWQtPmlzU3ViZ3JpZChzdWJncmlkRGlyZWN0aW9u
KSkgeworICAgICAgICAgICAgLy8gSWYgdGhlIGl0ZW0gaXMgc3ViZ3JpZGRlZCBpbiB0aGlzIGRp
cmVjdGlvbiAoYW5kIHRodXMgdGhlIHRyYWNrcyBpdCBjb3ZlcnMgYXJlIHRyYWNrcworICAgICAg
ICAgICAgLy8gb3duZWQgYnkgdGhpcyBzaXppbmcgYWxnb3JpdGhtKSwgdGhlbiB3ZSB3YW50IHRv
IHRha2UgdGhlIGJyZWFkdGggb2YgdGhlIHRyYWNrcyB3ZSBvY2N1cHksCisgICAgICAgICAgICAv
LyBhbmQgc3VidHJhY3QgYW55IHNwYWNlIG9jY3VwaWVkIGJ5IHRoZSBzdWJncmlkIGl0c2VsZiAo
YW5kIGFueSBhbmNlc3RvciBzdWJncmlkcykuCisgICAgICAgICAgICAqb3ZlcnJpZGVTaXplIC09
IEdyaWRMYXlvdXRGdW5jdGlvbnM6OmV4dHJhTWFyZ2luRm9yU3ViZ3JpZEFuY2VzdG9ycyhzdWJn
cmlkRGlyZWN0aW9uLCBjaGlsZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBP
dGhlcndpc2UgdGhlIHRyYWNrcyB0aGF0IHRoaXMgY2hpbGQgY292ZXJzIChpbiB0aGlzIG5vbi1z
dWJncmlkZGVkIGF4aXMpIGFyZSBvd25lZAorICAgICAgICAgICAgLy8gYnkgb25lIG9mIHRoZSBp
bnRlcm1lZGlhdGUgUmVuZGVyR3JpZHMgKHdoaWNoIGFyZSBzdWJncmlkcyBpbiB0aGUgb3RoZXIg
YXhpcyksIHdoaWNoIG1heQorICAgICAgICAgICAgLy8gYmUgfGdyaWR8IG9yIGEgZGVzY2VuZGVu
dC4KKyAgICAgICAgICAgIC8vIFNldCB0aGUgb3ZlcnJpZGUgc2l6ZSBmb3IgfGdyaWR8ICh3aGlj
aCBpcyBwYXJ0IG9mIHRoZSBvdXRlciBncmlkKSwgYW5kIGZvcmNlIGEgbGF5b3V0CisgICAgICAg
ICAgICAvLyBzbyB0aGF0IGl0IGNvbXB1dGVzIHRoZSB0cmFjayBzaXplcyBmb3IgdGhlIG5vbi1z
dWJncmlkZGVkIGRpbWVuc2lvbiBhbmQgbWFrZXMgdGhlIHNpemUKKyAgICAgICAgICAgIC8vIG9m
IHxjaGlsZHwgYXZhaWxhYmxlLgorICAgICAgICAgICAgYm9vbCBvdmVycmlkZVNpemVIYXNDaGFu
Z2VkID0KKyAgICAgICAgICAgICAgICB1cGRhdGVPdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29u
dGVudFNpemVGb3JDaGlsZCgqZ3JpZCwgZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIGxheW91dEdy
aWRJdGVtRm9yTWluU2l6ZUNvbXB1dGF0aW9uKCpncmlkLCBvdmVycmlkZVNpemVIYXNDaGFuZ2Vk
KTsKKyAgICAgICAgICAgIHJldHVybiBvdmVycmlkZVNpemVIYXNDaGFuZ2VkOworICAgICAgICB9
CisgICAgfQorCiAgICAgaWYgKEdyaWRMYXlvdXRGdW5jdGlvbnM6Omhhc092ZXJyaWRpbmdDb250
YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxkKGNoaWxkLCBkaXJlY3Rpb24pICYmIEdyaWRM
YXlvdXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNo
aWxkKGNoaWxkLCBkaXJlY3Rpb24pID09IG92ZXJyaWRlU2l6ZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCkBAIC0xNTE0LDcgKzE1NDMsNyBAQCBib29sIEdyaWRUcmFja1NpemluZ0FsZ29yaXRo
bTo6Y29weVVzZWRUcmFja1NpemVzRm9yU3ViZ3JpZCgpCiAgICAgTGF5b3V0VW5pdCBlbmRNQlAg
PSAobV9kaXJlY3Rpb24gPT0gRm9yQ29sdW1ucykgPyBtX3JlbmRlckdyaWQtPm1hcmdpbkFuZEJv
cmRlckFuZFBhZGRpbmdFbmQoKSA6IG1fcmVuZGVyR3JpZC0+bWFyZ2luQW5kQm9yZGVyQW5kUGFk
ZGluZ0FmdGVyKCk7CiAgICAgcmVtb3ZlU3ViZ3JpZE1hcmdpbkJvcmRlclBhZGRpbmdGcm9tVHJh
Y2tzKGFsbFRyYWNrcywgZW5kTUJQLCBmYWxzZSk7CiAKLSAgICBMYXlvdXRVbml0IGdhcERpZmZl
cmVuY2UgPSAobV9yZW5kZXJHcmlkLT5ncmlkR2FwKG1fZGlyZWN0aW9uKSAtIG91dGVyLT5ncmlk
R2FwKGRpcmVjdGlvbikpIC8gMjsKKyAgICBMYXlvdXRVbml0IGdhcERpZmZlcmVuY2UgPSAobV9y
ZW5kZXJHcmlkLT5ncmlkR2FwKG1fZGlyZWN0aW9uLCBhdmFpbGFibGVTcGFjZShtX2RpcmVjdGlv
bikpIC0gb3V0ZXItPmdyaWRHYXAoZGlyZWN0aW9uKSkgLyAyOwogICAgIGZvciAoaW50IGkgPSAw
OyBpIDwgbnVtVHJhY2tzOyBpKyspIHsKICAgICAgICAgTGF5b3V0VW5pdCBzaXplID0gYWxsVHJh
Y2tzW2ldLmJhc2VTaXplKCk7CiAgICAgICAgIGlmIChpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAppbmRleCBjNDE2YmU5MWZmM2Y1Njk3MmJjYWI0YTA1YzY4OTUzZDg5YmM2
MTMwLi5hODRlMGZjMjlmYmVhNjdjNTIxYjA5MzFmZmI5NTVjOTEzMzQwZTI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjcyNiw3ICsyNzI2LDkgQEAgdm9pZCBS
ZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsV2lkdGhJbkZyYWdtZW50KExvZ2ljYWxFeHRlbnRDb21w
dXRlZFZhbHVlcyYgY29tcHUKICAgICAgICAgY29udGFpbmVyV2lkdGhJbklubGluZURpcmVjdGlv
biA9IHBlcnBlbmRpY3VsYXJDb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0KCk7CiAKICAgICAv
LyBXaWR0aCBjYWxjdWxhdGlvbnMKLSAgICBpZiAodHJlYXRBc1JlcGxhY2VkKSB7CisgICAgaWYg
KGlzR3JpZEl0ZW0oKSAmJiBoYXNPdmVycmlkaW5nTG9naWNhbFdpZHRoKCkpIHsKKyAgICAgICAg
Y29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBvdmVycmlkaW5nTG9naWNhbFdpZHRoKCk7CisgICAg
fSBlbHNlIGlmICh0cmVhdEFzUmVwbGFjZWQpIHsKICAgICAgICAgY29tcHV0ZWRWYWx1ZXMubV9l
eHRlbnQgPSBsb2dpY2FsV2lkdGhMZW5ndGgudmFsdWUoKSArIGJvcmRlckFuZFBhZGRpbmdMb2dp
Y2FsV2lkdGgoKTsKICAgICB9IGVsc2UgaWYgKHNob3VsZENvbXB1dGVMb2dpY2FsV2lkdGhGcm9t
QXNwZWN0UmF0aW8oKSAmJiBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpKSB7CiAgICAg
ICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gY29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3Bl
Y3RSYXRpbyhmcmFnbWVudCk7CkBAIC0yODc5LDggKzI4ODEsOCBAQCBib29sIFJlbmRlckJveDo6
aGFzU3RyZXRjaGVkTG9naWNhbEhlaWdodCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CiAgICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gc3R5bGUucmVz
b2x2ZWRKdXN0aWZ5U2VsZigmY29udGFpbmluZ0Jsb2NrLT5zdHlsZSgpLCBjb250YWluaW5nQmxv
Y2stPnNlbGZBbGlnbm1lbnROb3JtYWxCZWhhdmlvcih0aGlzKSkucG9zaXRpb24oKSA9PSBJdGVt
UG9zaXRpb246OlN0cmV0Y2g7Ci0gICAgcmV0dXJuIHN0eWxlLnJlc29sdmVkQWxpZ25TZWxmKCZj
b250YWluaW5nQmxvY2stPnN0eWxlKCksIGNvbnRhaW5pbmdCbG9jay0+c2VsZkFsaWdubWVudE5v
cm1hbEJlaGF2aW9yKHRoaXMpKS5wb3NpdGlvbigpID09IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaDsK
KyAgICAgICAgcmV0dXJuIHJlc29sdmVkSnVzdGlmeVNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5
bGUoKSwgY29udGFpbmluZ0Jsb2NrLT5zZWxmQWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IodGhpcykp
LnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOworICAgIHJldHVybiByZXNvbHZl
ZEFsaWduU2VsZigmY29udGFpbmluZ0Jsb2NrLT5zdHlsZSgpLCBjb250YWluaW5nQmxvY2stPnNl
bGZBbGlnbm1lbnROb3JtYWxCZWhhdmlvcih0aGlzKSkucG9zaXRpb24oKSA9PSBJdGVtUG9zaXRp
b246OlN0cmV0Y2g7CiB9CiAKIC8vIEZJWE1FOiBDYW4vU2hvdWxkIHdlIG1vdmUgdGhpcyBpbnNp
ZGUgc3BlY2lmaWMgbGF5b3V0IGNsYXNzZXMgKGZsZXguIGdyaWQpPyBDYW4gd2UgcmVmYWN0b3Ig
Y29sdW1uRmxleEl0ZW1IYXNTdHJldGNoQWxpZ25tZW50IGxvZ2ljPwpAQCAtMjg5Nyw4ICsyODk5
LDggQEAgYm9vbCBSZW5kZXJCb3g6Omhhc1N0cmV0Y2hlZExvZ2ljYWxXaWR0aChTdHJldGNoaW5n
TW9kZSBzdHJldGNoaW5nTW9kZSkgY29uc3QKICAgICB9CiAgICAgYXV0byBub3JtYWxJdGVtUG9z
aXRpb24gPSBzdHJldGNoaW5nTW9kZSA9PSBTdHJldGNoaW5nTW9kZTo6QW55ID8gY29udGFpbmlu
Z0Jsb2NrLT5zZWxmQWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IodGhpcykgOiBJdGVtUG9zaXRpb246
Ok5vcm1hbDsKICAgICBpZiAoY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgIHJldHVybiBzdHlsZS5y
ZXNvbHZlZEFsaWduU2VsZigmY29udGFpbmluZ0Jsb2NrLT5zdHlsZSgpLCBub3JtYWxJdGVtUG9z
aXRpb24pLnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOwotICAgIHJldHVybiBz
dHlsZS5yZXNvbHZlZEp1c3RpZnlTZWxmKCZjb250YWluaW5nQmxvY2stPnN0eWxlKCksIG5vcm1h
bEl0ZW1Qb3NpdGlvbikucG9zaXRpb24oKSA9PSBJdGVtUG9zaXRpb246OlN0cmV0Y2g7CisgICAg
ICAgIHJldHVybiByZXNvbHZlZEFsaWduU2VsZigmY29udGFpbmluZ0Jsb2NrLT5zdHlsZSgpLCBu
b3JtYWxJdGVtUG9zaXRpb24pLnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOwor
ICAgIHJldHVybiByZXNvbHZlZEp1c3RpZnlTZWxmKCZjb250YWluaW5nQmxvY2stPnN0eWxlKCks
IG5vcm1hbEl0ZW1Qb3NpdGlvbikucG9zaXRpb24oKSA9PSBJdGVtUG9zaXRpb246OlN0cmV0Y2g7
CiB9CiAKIGJvb2wgUmVuZGVyQm94OjpzaXplc0xvZ2ljYWxXaWR0aFRvRml0Q29udGVudChTaXpl
VHlwZSB3aWR0aFR5cGUpIGNvbnN0CkBAIC01NTAxLDQgKzU1MDMsMTQgQEAgTGF5b3V0VW5pdCBz
eW50aGVzaXplZEJhc2VsaW5lRnJvbUJvcmRlckJveChjb25zdCBSZW5kZXJCb3gmIGJveCwgTGlu
ZURpcmVjdGlvbk0KICAgICByZXR1cm4gZGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm94
LmhlaWdodCgpIDogYm94LndpZHRoKCk7CiB9CiAKK1N0eWxlU2VsZkFsaWdubWVudERhdGEgUmVu
ZGVyQm94OjpyZXNvbHZlZEp1c3RpZnlTZWxmKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSwgSXRlbVBvc2l0aW9uIG5vcm1hbFZhbHVlQmVoYXZpb3VyKSBjb25zdAoreworICAgIHJldHVy
biBzdHlsZSgpLnJlc29sdmVkSnVzdGlmeVNlbGYocGFyZW50U3R5bGUsIG5vcm1hbFZhbHVlQmVo
YXZpb3VyKTsKK30KKworU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJCb3g6OnJlc29sdmVk
QWxpZ25TZWxmKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgSXRlbVBvc2l0aW9uIG5v
cm1hbFZhbHVlQmVoYXZpb3VyKSBjb25zdAoreworICAgIHJldHVybiBzdHlsZSgpLnJlc29sdmVk
QWxpZ25TZWxmKHBhcmVudFN0eWxlLCBub3JtYWxWYWx1ZUJlaGF2aW91cik7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBl
ZDc3NzcwZTdlNDI5ZDViNzYyYzBlYmMyOTFiYWYwMmY0NzAyMzI1Li4yNGYzZGI0YjhiMGEyZThl
OTBmY2U0MWQ0YTM1ZjIzZGQwNGM2NjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5oCkBAIC02NzMsNiArNjczLDkgQEAgb3ZlcnJpZGU7CiAKICAgICBib29sIHNob3VsZENvbXB1
dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIFN0
eWxlU2VsZkFsaWdubWVudERhdGEgcmVzb2x2ZWRKdXN0aWZ5U2VsZihjb25zdCBSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUsIEl0ZW1Qb3NpdGlvbiBub3JtYWxWYWx1ZUJlaGF2aW91cikgY29uc3Q7
CisgICAgdmlydHVhbCBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIHJlc29sdmVkQWxpZ25TZWxmKGNv
bnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgSXRlbVBvc2l0aW9uIG5vcm1hbFZhbHVlQmVo
YXZpb3VyKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckJveChFbGVtZW50JiwgUmVu
ZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyk7CiAgICAgUmVuZGVyQm94KERvY3VtZW50JiwgUmVu
ZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
R3JpZC5jcHAKaW5kZXggYWRmZWFiYThjMzMwZjI5ZTk4ZTNjMGY3Nzc3MGQyOWRlNWJkZjhiNi4u
MmRhYzhiNmEyNzk4ODJjMDM4ZGEyMTc2YjY5NzkyMDQxZTc2OWU0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMTA1NSw2ICsxMDU1LDcgQEAgdm9pZCBSZW5k
ZXJHcmlkOjpsYXlvdXRHcmlkSXRlbXMoKQogICAgICAgICAvLyBjYWxsIHRvIGF2b2lkIHVubmVj
ZXNzYXJ5IHJlbGF5b3V0cy4gVGhpcyBtaWdodCBpbXBseSB0aGF0IGNoaWxkIG1hcmdpbnMsIG5l
ZWRlZCB0byBjb3JyZWN0bHkKICAgICAgICAgLy8gZGV0ZXJtaW5lIHRoZSBhdmFpbGFibGUgc3Bh
Y2UgYmVmb3JlIHN0cmV0Y2hpbmcsIGFyZSBub3Qgc2V0IHlldC4KICAgICAgICAgYXBwbHlTdHJl
dGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKCpjaGlsZCk7CisgICAgICAgIGFwcGx5U3ViZ3Jp
ZFN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkSWZOZWVkZWQoKmNoaWxkKTsKIAogICAgICAgICBjaGls
ZC0+bGF5b3V0SWZOZWVkZWQoKTsKIApAQCAtMTE5OSwxMyArMTIwMCwxMyBAQCBzdGF0aWMgTGF5
b3V0VW5pdCBjb21wdXRlT3ZlcmZsb3dBbGlnbm1lbnRPZmZzZXQoT3ZlcmZsb3dBbGlnbm1lbnQg
b3ZlcmZsb3csIExheQogICAgIHJldHVybiAwOwogfQogCi1MYXlvdXRVbml0IFJlbmRlckdyaWQ6
OmF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKExheW91dFVu
aXQgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQsIGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0
CitMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRC
ZWZvcmVTdHJldGNoaW5nKExheW91dFVuaXQgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQsIGNvbnN0
IFJlbmRlckJveCYgY2hpbGQsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pIGNv
bnN0CiB7CiAgICAgLy8gQmVjYXVzZSB3ZSB3YW50IHRvIGF2b2lkIG11bHRpcGxlIGxheW91dHMs
IHN0cmV0Y2hpbmcgbG9naWMgbWlnaHQgYmUgcGVyZm9ybWVkIGJlZm9yZQogICAgIC8vIGNoaWxk
cmVuIGFyZSBsYWlkIG91dCwgc28gd2UgY2FuJ3QgdXNlIHRoZSBjaGlsZCBjYWNoZWQgdmFsdWVz
LiBIZW5jZSwgd2UgbmVlZCB0bwogICAgIC8vIGNvbXB1dGUgbWFyZ2lucyBpbiBvcmRlciB0byBk
ZXRlcm1pbmUgdGhlIGF2YWlsYWJsZSBoZWlnaHQgYmVmb3JlIHN0cmV0Y2hpbmcuCi0gICAgR3Jp
ZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGNoaWxkQmxvY2tGbG93RGlyZWN0aW9uID0gR3JpZExheW91
dEZ1bmN0aW9uczo6Zmxvd0F3YXJlRGlyZWN0aW9uRm9yQ2hpbGQoKnRoaXMsIGNoaWxkLCBGb3JS
b3dzKTsKLSAgICByZXR1cm4gc3RkOjptYXgoMF9sdSwgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQg
LSBHcmlkTGF5b3V0RnVuY3Rpb25zOjptYXJnaW5Mb2dpY2FsU2l6ZUZvckNoaWxkKCp0aGlzLCBj
aGlsZEJsb2NrRmxvd0RpcmVjdGlvbiwgY2hpbGQpKTsKKyAgICBHcmlkVHJhY2tTaXppbmdEaXJl
Y3Rpb24gY2hpbGRGbG93RGlyZWN0aW9uID0gR3JpZExheW91dEZ1bmN0aW9uczo6Zmxvd0F3YXJl
RGlyZWN0aW9uRm9yQ2hpbGQoKnRoaXMsIGNoaWxkLCBkaXJlY3Rpb24pOworICAgIHJldHVybiBz
dGQ6Om1heCgwX2x1LCBncmlkQXJlYUJyZWFkdGhGb3JDaGlsZCAtIEdyaWRMYXlvdXRGdW5jdGlv
bnM6Om1hcmdpbkxvZ2ljYWxTaXplRm9yQ2hpbGQoKnRoaXMsIGNoaWxkRmxvd0RpcmVjdGlvbiwg
Y2hpbGQpKTsKIH0KIAogU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjphbGlnblNl
bGZGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBTdHJldGNoaW5nTW9kZSBzdHJldGNo
aW5nTW9kZSwgY29uc3QgUmVuZGVyU3R5bGUqIGdyaWRTdHlsZSkgY29uc3QKQEAgLTEyMTMsNyAr
MTIxNCwxNCBAQCBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OmFsaWduU2VsZkZv
ckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIFN0cgogICAgIGlmICghZ3JpZFN0eWxlKQog
ICAgICAgICBncmlkU3R5bGUgPSAmc3R5bGUoKTsKICAgICBhdXRvIG5vcm1hbEJlaGF2aW9yID0g
c3RyZXRjaGluZ01vZGUgPT0gU3RyZXRjaGluZ01vZGU6OkFueSA/IHNlbGZBbGlnbm1lbnROb3Jt
YWxCZWhhdmlvcigmY2hpbGQpIDogSXRlbVBvc2l0aW9uOjpOb3JtYWw7Ci0gICAgcmV0dXJuIGNo
aWxkLnN0eWxlKCkucmVzb2x2ZWRBbGlnblNlbGYoZ3JpZFN0eWxlLCBub3JtYWxCZWhhdmlvcik7
CisgICAgcmV0dXJuIGNoaWxkLnJlc29sdmVkQWxpZ25TZWxmKGdyaWRTdHlsZSwgbm9ybWFsQmVo
YXZpb3IpOworfQorCitTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OnJlc29sdmVk
QWxpZ25TZWxmKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgSXRlbVBvc2l0aW9uIG5v
cm1hbFZhbHVlQmVoYXZpb3VyKSBjb25zdAoreworICAgIGlmIChpc1N1YmdyaWRJblBhcmVudERp
cmVjdGlvbihGb3JSb3dzKSkKKyAgICAgICAgcmV0dXJuIHsgSXRlbVBvc2l0aW9uOjpTdHJldGNo
LCBPdmVyZmxvd0FsaWdubWVudDo6RGVmYXVsdCB9OworICAgIHJldHVybiBSZW5kZXJCb3g6OnJl
c29sdmVkQWxpZ25TZWxmKHBhcmVudFN0eWxlLCBub3JtYWxWYWx1ZUJlaGF2aW91cik7CiB9CiAK
IFN0eWxlU2VsZkFsaWdubWVudERhdGEgUmVuZGVyR3JpZDo6anVzdGlmeVNlbGZGb3JDaGlsZChj
b25zdCBSZW5kZXJCb3gmIGNoaWxkLCBTdHJldGNoaW5nTW9kZSBzdHJldGNoaW5nTW9kZSwgY29u
c3QgUmVuZGVyU3R5bGUqIGdyaWRTdHlsZSkgY29uc3QKQEAgLTEyMjEsOSArMTIyOSwxNyBAQCBT
dHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6Omp1c3RpZnlTZWxmRm9yQ2hpbGQoY29u
c3QgUmVuZGVyQm94JiBjaGlsZCwgUwogICAgIGlmICghZ3JpZFN0eWxlKQogICAgICAgICBncmlk
U3R5bGUgPSAmc3R5bGUoKTsKICAgICBhdXRvIG5vcm1hbEJlaGF2aW9yID0gc3RyZXRjaGluZ01v
ZGUgPT0gU3RyZXRjaGluZ01vZGU6OkFueSA/IHNlbGZBbGlnbm1lbnROb3JtYWxCZWhhdmlvcigm
Y2hpbGQpIDogSXRlbVBvc2l0aW9uOjpOb3JtYWw7Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxlKCku
cmVzb2x2ZWRKdXN0aWZ5U2VsZihncmlkU3R5bGUsIG5vcm1hbEJlaGF2aW9yKTsKKyAgICByZXR1
cm4gY2hpbGQucmVzb2x2ZWRKdXN0aWZ5U2VsZihncmlkU3R5bGUsIG5vcm1hbEJlaGF2aW9yKTsK
K30KKworU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjpyZXNvbHZlZEp1c3RpZnlT
ZWxmKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgSXRlbVBvc2l0aW9uIG5vcm1hbFZh
bHVlQmVoYXZpb3VyKSBjb25zdAoreworICAgIGlmIChpc1N1YmdyaWRJblBhcmVudERpcmVjdGlv
bihGb3JDb2x1bW5zKSkKKyAgICAgICAgcmV0dXJuIHsgSXRlbVBvc2l0aW9uOjpTdHJldGNoLCBP
dmVyZmxvd0FsaWdubWVudDo6RGVmYXVsdCB9OworICAgIHJldHVybiBSZW5kZXJCb3g6OnJlc29s
dmVkSnVzdGlmeVNlbGYocGFyZW50U3R5bGUsIG5vcm1hbFZhbHVlQmVoYXZpb3VyKTsKIH0KIAor
CiBib29sIFJlbmRlckdyaWQ6OmFzcGVjdFJhdGlvUHJlZmVyc0lubGluZShjb25zdCBSZW5kZXJC
b3gmIGNoaWxkLCBib29sIGJsb2NrRmxvd0lzQ29sdW1uQXhpcykKIHsKICAgICBpZiAoIWNoaWxk
LnN0eWxlKCkuaGFzQXNwZWN0UmF0aW8oKSkKQEAgLTEyNTEsNyArMTI2Nyw3IEBAIHZvaWQgUmVu
ZGVyR3JpZDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKFJlbmRlckJveCYg
Y2hpbGQpCiAgICAgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMgPSBjaGlsZEJsb2NrRGlyZWN0
aW9uID09IEZvclJvd3M7CiAgICAgYm9vbCBhbGxvd2VkVG9TdHJldGNoQ2hpbGRCbG9ja1NpemUg
PSBibG9ja0Zsb3dJc0NvbHVtbkF4aXMgPyBhbGxvd2VkVG9TdHJldGNoQ2hpbGRBbG9uZ0NvbHVt
bkF4aXMoY2hpbGQpIDogYWxsb3dlZFRvU3RyZXRjaENoaWxkQWxvbmdSb3dBeGlzKGNoaWxkKTsK
ICAgICBpZiAoYWxsb3dlZFRvU3RyZXRjaENoaWxkQmxvY2tTaXplICYmICFhc3BlY3RSYXRpb1By
ZWZlcnNJbmxpbmUoY2hpbGQsIGJsb2NrRmxvd0lzQ29sdW1uQXhpcykpIHsKLSAgICAgICAgTGF5
b3V0VW5pdCBzdHJldGNoZWRMb2dpY2FsSGVpZ2h0ID0gYXZhaWxhYmxlQWxpZ25tZW50U3BhY2VG
b3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcoR3JpZExheW91dEZ1bmN0aW9uczo6b3ZlcnJpZGluZ0Nv
bnRhaW5pbmdCbG9ja0NvbnRlbnRTaXplRm9yQ2hpbGQoY2hpbGQsIGNoaWxkQmxvY2tEaXJlY3Rp
b24pLnZhbHVlKCksIGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRMb2dpY2Fs
SGVpZ2h0ID0gYXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmco
R3JpZExheW91dEZ1bmN0aW9uczo6b3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9ja0NvbnRlbnRTaXpl
Rm9yQ2hpbGQoY2hpbGQsIGNoaWxkQmxvY2tEaXJlY3Rpb24pLnZhbHVlKCksIGNoaWxkLCBGb3JS
b3dzKTsKICAgICAgICAgTGF5b3V0VW5pdCBkZXNpcmVkTG9naWNhbEhlaWdodCA9IGNoaWxkLmNv
bnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heChzdHJldGNoZWRMb2dpY2FsSGVpZ2h0LCBzdGQ6
Om51bGxvcHQpOwogICAgICAgICBjaGlsZC5zZXRPdmVycmlkaW5nTG9naWNhbEhlaWdodChkZXNp
cmVkTG9naWNhbEhlaWdodCk7CiAKQEAgLTEyNjQsMTIgKzEyODAsMjcgQEAgdm9pZCBSZW5kZXJH
cmlkOjphcHBseVN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkSWZOZWVkZWQoUmVuZGVyQm94JiBjaGls
ZCkKICAgICAgICAgICAgIGNoaWxkLnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CiAgICAg
ICAgIH0KICAgICB9IGVsc2UgaWYgKCFhbGxvd2VkVG9TdHJldGNoQ2hpbGRCbG9ja1NpemUgJiYg
YWxsb3dlZFRvU3RyZXRjaENoaWxkQWxvbmdSb3dBeGlzKGNoaWxkKSkgewotICAgICAgICBMYXlv
dXRVbml0IHN0cmV0Y2hlZExvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9y
Q2hpbGRCZWZvcmVTdHJldGNoaW5nKEdyaWRMYXlvdXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250
YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxkKGNoaWxkLCBjaGlsZElubGluZURpcmVjdGlv
bikudmFsdWUoKSwgY2hpbGQpOworICAgICAgICBMYXlvdXRVbml0IHN0cmV0Y2hlZExvZ2ljYWxX
aWR0aCA9IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKEdy
aWRMYXlvdXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZv
ckNoaWxkKGNoaWxkLCBjaGlsZElubGluZURpcmVjdGlvbikudmFsdWUoKSwgY2hpbGQsIEZvckNv
bHVtbnMpOwogICAgICAgICBMYXlvdXRVbml0IGRlc2lyZWRMb2dpY2FsV2lkdGggPSBjaGlsZC5j
b25zdHJhaW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoc3RyZXRjaGVkTG9naWNhbFdp
ZHRoLCBjb250ZW50V2lkdGgoKSwgKnRoaXMsIG51bGxwdHIpOwogICAgICAgICBjaGlsZC5zZXRP
dmVycmlkaW5nTG9naWNhbFdpZHRoKGRlc2lyZWRMb2dpY2FsV2lkdGgpOwogICAgICAgICBpZiAo
ZGVzaXJlZExvZ2ljYWxXaWR0aCAhPSBjaGlsZC5sb2dpY2FsV2lkdGgoKSkKICAgICAgICAgICAg
IGNoaWxkLnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7Ci0gICAgfSAKKyAgICB9Cit9CisK
K3ZvaWQgUmVuZGVyR3JpZDo6YXBwbHlTdWJncmlkU3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5l
ZWRlZChSZW5kZXJCb3gmIGNoaWxkKQoreworICAgIGlmIChpczxSZW5kZXJHcmlkPihjaGlsZCkg
JiYgZG93bmNhc3Q8UmVuZGVyR3JpZD4oY2hpbGQpLmlzU3ViZ3JpZChGb3JSb3dzKSkgeworICAg
ICAgICBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gY2hpbGRCbG9ja0RpcmVjdGlvbiA9IEdyaWRM
YXlvdXRGdW5jdGlvbnM6OmZsb3dBd2FyZURpcmVjdGlvbkZvckNoaWxkKCp0aGlzLCBjaGlsZCwg
Rm9yUm93cyk7CisgICAgICAgIExheW91dFVuaXQgc3RyZXRjaGVkTG9naWNhbEhlaWdodCA9IGF2
YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKEdyaWRMYXlvdXRG
dW5jdGlvbnM6Om92ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxkKGNo
aWxkLCBjaGlsZEJsb2NrRGlyZWN0aW9uKS52YWx1ZSgpLCBjaGlsZCwgRm9yUm93cyk7CisgICAg
ICAgIGNoaWxkLnNldE92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KHN0cmV0Y2hlZExvZ2ljYWxIZWln
aHQpOworICAgIH0KKworICAgIGlmIChpczxSZW5kZXJHcmlkPihjaGlsZCkgJiYgZG93bmNhc3Q8
UmVuZGVyR3JpZD4oY2hpbGQpLmlzU3ViZ3JpZChGb3JDb2x1bW5zKSkgeworICAgICAgICBHcmlk
VHJhY2tTaXppbmdEaXJlY3Rpb24gY2hpbGRJbmxpbmVEaXJlY3Rpb24gPSBHcmlkTGF5b3V0RnVu
Y3Rpb25zOjpmbG93QXdhcmVEaXJlY3Rpb25Gb3JDaGlsZCgqdGhpcywgY2hpbGQsIEZvckNvbHVt
bnMpOworICAgICAgICBMYXlvdXRVbml0IHN0cmV0Y2hlZExvZ2ljYWxXaWR0aCA9IGF2YWlsYWJs
ZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKEdyaWRMYXlvdXRGdW5jdGlv
bnM6Om92ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxkKGNoaWxkLCBj
aGlsZElubGluZURpcmVjdGlvbikudmFsdWUoKSwgY2hpbGQsIEZvckNvbHVtbnMpOworICAgICAg
ICBjaGlsZC5zZXRPdmVycmlkaW5nTG9naWNhbFdpZHRoKHN0cmV0Y2hlZExvZ2ljYWxXaWR0aCk7
CisgICAgfQogfQogCiAvLyBGSVhNRTogVGhpcyBsb2dpYyBpcyBzaGFyZWQgYnkgUmVuZGVyRmxl
eGlibGVCb3gsIHNvIGl0IHNob3VsZCBiZSBtb3ZlZCB0byBSZW5kZXJCb3guCkBAIC0xNjI4LDYg
KzE2NTksMTggQEAgYm9vbCBSZW5kZXJHcmlkOjppc1N1YmdyaWRJblBhcmVudERpcmVjdGlvbihH
cmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gcGFyZW50RGlyZWMKICAgICByZXR1cm4gaXNTdWJncmlk
KGRpcmVjdGlvbik7CiB9CiAKK2Jvb2wgUmVuZGVyR3JpZDo6aXNTdWJncmlkT2YoR3JpZFRyYWNr
U2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgUmVuZGVyR3JpZCYgYW5jZXN0b3IpCit7
CisgICAgaWYgKCFpc1N1YmdyaWQoZGlyZWN0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmIChwYXJlbnQoKSA9PSAmYW5jZXN0b3IpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgYXV0byYgcGFyZW50R3JpZCA9ICpkb3duY2FzdDxSZW5kZXJHcmlkPihwYXJlbnQoKSk7Cisg
ICAgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIHBhcmVudERpcmVjdGlvbiA9IEdyaWRMYXlvdXRG
dW5jdGlvbnM6OmZsb3dBd2FyZURpcmVjdGlvbkZvclBhcmVudChwYXJlbnRHcmlkLCAqdGhpcywg
ZGlyZWN0aW9uKTsKKyAgICByZXR1cm4gcGFyZW50R3JpZC5pc1N1YmdyaWRPZihwYXJlbnREaXJl
Y3Rpb24sIGFuY2VzdG9yKTsKK30KKwogYm9vbCBSZW5kZXJHcmlkOjptYXlCZVN1YmdyaWRFeGNs
dWRpbmdBYnNQb3MoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QKIHsK
ICAgICAvLyBTaG91bGQgZXhjbHVkZSBjYXNlcyB3aGVyZSB3ZSBlc3RhYmxpc2ggYW4gSUZDLCBs
aWtlIGNvbnRhaW4gbGF5b3V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKaW5k
ZXggMjMwNmU3YzFjZWNhYWI3YjY2MTMzMjc1NzY0NTYyZTEzMWIzZmUzNy4uNmEzZDMzYmVhOTYw
ZGY0Njg1NTBkMzcyYzUxNTQ2OWIxM2FhZWI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5oCkBAIC05Niw2ICs5NiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBpc1N1
YmdyaWQoRm9yQ29sdW1ucyk7CiAgICAgfQogICAgIGJvb2wgaXNTdWJncmlkSW5QYXJlbnREaXJl
Y3Rpb24oR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIHBhcmVudERpcmVjdGlvbikgY29uc3Q7CisK
KyAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBncmlkIGlzIGluaGVyaXRpbmcgc3ViZ3JpZGRl
ZCB0cmFja3MgZm9yCisgICAgLy8gdGhlIGdpdmVuIGRpcmVjdGlvbiBmcm9tIHRoZSBzcGVjaWZp
ZWQgYW5jZXN0b3IuIFRoaXMgaGFuZGxlcworICAgIC8vIG5lc3RlZCBzdWJncmlkcywgd2hlcmUg
YW5jZXN0b3IgbWF5IG5vdCBiZSBvdXIgZGlyZWN0IHBhcmVudC4KKyAgICBib29sIGlzU3ViZ3Jp
ZE9mKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgY29uc3QgUmVuZGVyR3JpZCYgYW5jZXN0b3Ip
OworCiAgICAgYm9vbCBtYXlCZVN1YmdyaWRFeGNsdWRpbmdBYnNQb3MoR3JpZFRyYWNrU2l6aW5n
RGlyZWN0aW9uKSBjb25zdDsKIAogICAgIGNvbnN0IEdyaWQmIGN1cnJlbnRHcmlkKCkgY29uc3QK
QEAgLTExNCw2ICsxMjAsOSBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBncmlkR2FwKEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBncmlkR2FwKEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbiwgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBhdmFpbGFibGVT
aXplKSBjb25zdDsKIAorICAgIFN0eWxlU2VsZkFsaWdubWVudERhdGEgcmVzb2x2ZWRKdXN0aWZ5
U2VsZihjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIEl0ZW1Qb3NpdGlvbiBub3JtYWxW
YWx1ZUJlaGF2aW91cikgY29uc3Qgb3ZlcnJpZGU7CisgICAgU3R5bGVTZWxmQWxpZ25tZW50RGF0
YSByZXNvbHZlZEFsaWduU2VsZihjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIEl0ZW1Q
b3NpdGlvbiBub3JtYWxWYWx1ZUJlaGF2aW91cikgY29uc3Qgb3ZlcnJpZGU7CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTsKIApAQCAtMTg1LDEw
ICsxOTQsMTEgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0aEZvckNo
aWxkSW5jbHVkaW5nQWxpZ25tZW50T2Zmc2V0cyhjb25zdCBSZW5kZXJCb3gmLCBHcmlkVHJhY2tT
aXppbmdEaXJlY3Rpb24pIGNvbnN0OwogCiAgICAgdm9pZCBwYWludENoaWxkcmVuKFBhaW50SW5m
byYgZm9yU2VsZiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LCBQYWludEluZm8mIGZv
ckNoaWxkLCBib29sIHVzZVByaW50UmVjdCkgb3ZlcnJpZGU7Ci0gICAgTGF5b3V0VW5pdCBhdmFp
bGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhMYXlvdXRVbml0IGdy
aWRBcmVhQnJlYWR0aEZvckNoaWxkLCBjb25zdCBSZW5kZXJCb3gmKSBjb25zdDsKKyAgICBMYXlv
dXRVbml0IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKExh
eW91dFVuaXQgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQsIGNvbnN0IFJlbmRlckJveCYsIEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CiAgICAgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBq
dXN0aWZ5U2VsZkZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYsIFN0cmV0Y2hpbmdNb2RlID0gU3Ry
ZXRjaGluZ01vZGU6OkFueSwgY29uc3QgUmVuZGVyU3R5bGUqID0gbnVsbHB0cikgY29uc3Q7CiAg
ICAgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBhbGlnblNlbGZGb3JDaGlsZChjb25zdCBSZW5kZXJC
b3gmLCBTdHJldGNoaW5nTW9kZSA9IFN0cmV0Y2hpbmdNb2RlOjpBbnksIGNvbnN0IFJlbmRlclN0
eWxlKiA9IG51bGxwdHIpIGNvbnN0OwogICAgIHZvaWQgYXBwbHlTdHJldGNoQWxpZ25tZW50VG9D
aGlsZElmTmVlZGVkKFJlbmRlckJveCYpOworICAgIHZvaWQgYXBwbHlTdWJncmlkU3RyZXRjaEFs
aWdubWVudFRvQ2hpbGRJZk5lZWRlZChSZW5kZXJCb3gmKTsKICAgICBib29sIGhhc0F1dG9TaXpl
SW5Db2x1bW5BeGlzKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0OwogICAgIGJvb2wgaGFz
QXV0b1NpemVJblJvd0F4aXMoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3Q7CiAgICAgYm9v
bCBhbGxvd2VkVG9TdHJldGNoQ2hpbGRBbG9uZ0NvbHVtbkF4aXMoY29uc3QgUmVuZGVyQm94JiBj
aGlsZCkgY29uc3QgeyByZXR1cm4gYWxpZ25TZWxmRm9yQ2hpbGQoY2hpbGQpLnBvc2l0aW9uKCkg
PT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoICYmIGhhc0F1dG9TaXplSW5Db2x1bW5BeGlzKGNoaWxk
KSAmJiAhaGFzQXV0b01hcmdpbnNJbkNvbHVtbkF4aXMoY2hpbGQpOyB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2UyNzYw
YzA3Mzg3NWE4YmYzMDE3ZDczMTNjMDFhMDdmYjM1YjViMS4uNDA5Y2QwOGQ4OGY3NWUzNjA4ZmI3
NzBlNTFhZjA2ZWVhNDNkMzE5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIyLTAzLTA3ICBN
YXR0IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgRW1wdHkgZmxv
YXQgcmVjdHMgc2hvdWxkIHJlbWFpbiBlbXB0eSBhZnRlciBpbnRlZ3JhbGx5IGVuY2xvc2luZyB0
aGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3
NTA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxhbiBCdWp0YXMuCisKKyAgICAgICAgKiBjb21w
b3NpdGluZy90aWxlLWNvdmVyYWdlLXN1YnBpeGVsLWVtcHR5LXJlY3QtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy90aWxlLWNvdmVyYWdlLXN1YnBpeGVsLWVtcHR5
LXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2NvbXBvc2l0aW5nL3Rp
bGUtY292ZXJhZ2Utc3VicGl4ZWwtZW1wdHktcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2lvcy9jb21wb3NpdGluZy90aWxlLWNvdmVyYWdlLXN1YnBpeGVsLWVt
cHR5LXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKworICAgICAgICBBZGRzIGEgbmV3IHRlc3Qg
dGhhdCB1c2VzIG11bHRpcGxlIG92ZXJmbG93OmhpZGRlbiBjbGlwcyBhbmQgYWJzb2x1dGUgcG9z
aXRpb25pbmcgdG8gY3JlYXRlCisgICAgICAgIGFuIGVtcHR5IGNvdmVyYWdlIHJlY3Qgd2l0aCBh
IHN1YnBpeGVsIHgveSBwb3NpdGlvbiB0aGF0IGlzIHdpdGhpbiB0aGUgYm91bmRzIG9mIGFuIG9m
ZnNjcmVlbgorICAgICAgICBsYXllci4gQ29uZmlybXMgdGhhdCB3ZSBkb24ndCBhY2NpZGVudGFs
bHkgYWxsb2NhdGUgYSB0aWxlIGZvciB0aGlzIGxheWVyLgorCisyMDIyLTAzLTAxICBNYXR0IFdv
b2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIHRoZSBzaXppbmcg
YWxnb3JpdGhtJ3MgYXZhaWxhYmxlIHNpemUgdG8gY29tcHV0ZSBncmlkIGdhcC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjk1NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKworICAgICAgICBFeGlzdGluZyBzdWJncmlkIHRlc3RzIG1hcmtlZCBhcyBwYXNzaW5nLgor
CisyMDIyLTAyLTI0ICBNYXR0IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAg
ICAgICAgQ29tcHV0ZSBjb3JyZWN0IGNvbnRhaW5pbmcgYmxvY2sgb3ZlcnJpZGUgc2l6ZSBmb3Ig
aXRlbXMgdGhhdCBhcmUgc3ViZ3JpZGRlbiBpbiBvbmUgZGltZW5zaW9uIG9ubHkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY5NTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25z
OgorCisgICAgICAgIE1hcmtlZCBleGlzdGluZyBXUFQgYXMgcGFzc2luZy4KKwogMjAyMi0wMy0w
NSAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIG5vbi1z
dGFuZGFyZCBkaXNwbGF5OmJsb2NrIFVBIHN0eWxlc2hlZXQgcnVsZSBmb3IgPGxheWVyPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZDc0OGM0ZjdlYmNlZDEzNDFmYjEwMWZhOWJm
OTUyOGFkMjJhYWEzNS4uZjY2NjVjMzg5OTZmZDI3Y2U1YmFkNzI0OTEzOTc2NGQ4Njk4YmRjNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjItMDMt
MDggIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KKworICAgICAgICBTdWJn
cmlkIGl0ZW1zIHNob3VsZCBhbHdheXMgYmUgc3RyZXRjaGVkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NjI4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNoLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0
cmV0Y2guaHRtbDogQWRkZWQuCisKKyAgICAgICAgQWRkZWQgbmV3IFdQVCB0ZXN0IGNvdmVyaW5n
IHZhcmlvdXMgd2lkdGgvaGVpZ2h0IGFuZCBhbGlnbmVtZW50IGNvbnRyYWludHMgdGhhdCBzaG91
bGQgYmUKKyAgICAgICAgaWdub3JlZCBzaW5jZSBzdWJncmlkcyBhcmUgYWx3YXlzIHN0cmV0Y2hl
ZC4KKworMjAyMi0wMi0yNCAgTWF0dCBXb29kcm93ICA8bWF0dHdvb2Ryb3dAYXBwbGUuY29tPgor
CisgICAgICAgIENvbXB1dGUgY29ycmVjdCBjb250YWluaW5nIGJsb2NrIG92ZXJyaWRlIHNpemUg
Zm9yIGl0ZW1zIHRoYXQgYXJlIHN1YmdyaWRkZW4gaW4gb25lIGRpbWVuc2lvbiBvbmx5LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2OTUxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEFkZGVkIG5ldyBXUFQg
c2ltaWxhciB0byBhdXRvLXRyYWNrLXNpemluZy0wMDEgd2hpY2ggYWRkcyBuZXcgdmFyaWF0aW9u
cworICAgICAgICB3aXRoIG5lc3RlZCBzdWJncmlkcyBhbmQgdmFyeWluZyB3aGV0aGVyIHRoZSBv
dGhlciBheGlzIGlzIHN1YmdyaWRkZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3N1YmdyaWQvYXV0by10cmFjay1zaXppbmctMDAyLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3Jp
ZC9hdXRvLXRyYWNrLXNpemluZy0wMDIuaHRtbDogQWRkZWQuCisKIDIwMjItMDMtMDUgIE9yaW9s
IEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWNhc2NhZGVdIExl
dCAncmV2ZXJ0LWxheWVyJyBpbiBsb3dlc3QgbGF5ZXIgcm9sbCBiYWNrIHRvIHVzZXIgc3R5bGVz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA5NmMzZjQ3MzQ5ZjgyYWI2ZGYyNTkzODg4ZmMxZDEzMDQy
YThjY2VjLi4zNTIxOTJmMzJjZDI0OTZlYTU0MjNjM2NkZDRlN2ZhMzUzYTMzMmI0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTE0MDAsOSArMTQwMCw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL21hc29ucnkvdGVudGF0aXZlL21hc29ucnktb3JkZXItMDAx
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9tYXNvbnJ5L3Rl
bnRhdGl2ZS9tYXNvbnJ5LXN1YmdyaWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL21hc29ucnkvdGVudGF0
aXZlL21hc29ucnktc3ViZ3JpZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi13ZWJr
aXQub3JnL2IvMjM2OTUxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3N1YmdyaWQvYXV0by10cmFjay1zaXppbmctMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMzY5NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzIzNjk1NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9zdWJncmlkL2dyaWQtZ2FwLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMjM2OTU4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL3N1YmdyaWQvcmVwZWF0LWF1dG8tZmlsbC0wMDMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzIzNjk0OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtbWJwLW92ZXJmbG93LTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjM2OTQ5IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1tYnAtb3ZlcmZsb3ct
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3RpbGUtY292ZXJhZ2Utc3VicGl4ZWwtZW1wdHktcmVjdC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxlLWNvdmVyYWdlLXN1YnBpeGVsLWVtcHR5LXJl
Y3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxZjJiNzk0ZmUzMDA4YzJjYmE3YzI3YzBkY2Mx
ZDMzN2UwMDgyNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90
aWxlLWNvdmVyYWdlLXN1YnBpeGVsLWVtcHR5LXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NDQgQEAKKyhHcmFwaGljc0xheWVyCisgIChhbmNob3IgMC4wMCAwLjAwKQorICAoYm91bmRzIDMw
MDEuMDAgNTEwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
KGJvdW5kcyAzMDAxLjAwIDUxMDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAg
ICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDAgMTAyNCB4IDEwMjQpCisgICAgICAodGlsZSBzaXpl
IDUxMiB4IDUxMikKKyAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCAyIHggMikK
KyAgICAgIChpbiB3aW5kb3cgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMjAwMC4wMCkKKyAgICAgICAgICAoYm91
bmRzIDMwMDAuMDAgMzEwMC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIC0xLjAwIDAuMDApCisgICAg
ICAgICAgICAgIChhbmNob3IgMC41MCAwLjUwKQorICAgICAgICAgICAgICAoYm91bmRzIDMwMDEu
MDAgMzEwMS4wMCkKKyAgICAgICAgICAgICAgKHVzaW5nVGlsZWRMYXllciAxKQorICAgICAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICh0cmFuc2Zvcm0gWzEuMDAgMC4w
MCAwLjAwIDAuMDBdIFswLjAwIDEuMDAgMC4wMCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMC4wMF0g
Wy0xLjAwIDAuMDAgMC4wMCAxLjAwXSkKKyAgICAgICAgICAgICAgKHRpbGUgY2FjaGUgY292ZXJh
Z2UgMCwgMCAwIHggMCkKKyAgICAgICAgICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCisgICAg
ICAgICAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCAwIHggMCkKKyAgICAgICAg
ICAgICAgKGluIHdpbmRvdyAxKQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMC4wMCAz
MDAwLjAwKQorICAgICAgICAgICAgICAgICAgKGFuY2hvciAwLjUwIDAuNTApCisgICAgICAgICAg
ICAgICAgICAoYm91bmRzIDEwMS4wMCAxMDEuMDApCisgICAgICAgICAgICAgICAgICAodHJhbnNm
b3JtIFsxLjAwIDAuMDAgMC4wMCAwLjAwXSBbMC4wMCAxLjAwIDAuMDAgMC4wMF0gWzAuMDAgMC4w
MCAxLjAwIDAuMDBdIFswLjAwIDAuMDAgMS4wMCAxLjAwXSkKKyAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAg
ICAgICkKKyAgICApCisgICkKKykKK09mZnNjcmVlbiwgYnV0IGxhcmdlLCBjb250ZW50CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3RpbGUtY292ZXJhZ2Utc3VicGl4ZWwt
ZW1wdHktcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsZS1jb3ZlcmFnZS1z
dWJwaXhlbC1lbXB0eS1yZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjkyZWNmOGJkZTNkYTMxNGIxNDU1
ZDM3NmNiNzQ5MTA4MzQ4OTUyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3RpbGUtY292ZXJhZ2Utc3VicGl4ZWwtZW1wdHktcmVjdC5odG1sCkBAIC0wLDAgKzEs
MjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKworICAgICAgICBmdW5jdGlvbiBkdW1wTGF5ZXJzKCkKKyAgICAgICAgeworICAg
ICAgICAgICAgdmFyIGxheWVyc1Jlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXll
cnMnKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAg
ICBsYXllcnNSZXN1bHQuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1Rl
eHQoZG9jdW1lbnQsIGludGVybmFscy5MQVlFUl9UUkVFX0lOQ0xVREVTX1RJTEVfQ0FDSEVTKTsK
KyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZHVt
cExheWVycywgZmFsc2UpCisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0ib3Zl
cmZsb3c6aGlkZGVuIj4KKzxwcmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2VzIGhlcmUgaW4g
RFJUPC9wcmU+Cis8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDowLjc1cHg7IHRv
cDogMjAwMC4yNXB4OyBvdmVyZmxvdzpoaWRkZW4iPgorICA8ZGl2IHN0eWxlPSJ0cmFuc2Zvcm06
IHRyYW5zbGF0ZSgtMXB4KTsiPgorICAgIDxkaXYgc3R5bGU9IndpZHRoOjMwMDBweDsgaGVpZ2h0
OiAzMDAwcHg7IGJhY2tncm91bmQtY29sb3I6Ymx1ZSI+T2Zmc2NyZWVuLCBidXQgbGFyZ2UsIGNv
bnRlbnQ8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMXB4KTsg
d2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4Ij48L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9hdXRvLXRyYWNrLXNpemluZy0w
MDItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYXV0by10cmFjay1zaXppbmctMDAyLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWQ0YjljODE3ODg1ZDYyMjRkNjNjZWEwZTQ1MDY1YjgwNDdhY2I3
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYXV0by10cmFjay1zaXppbmctMDAyLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIEhUTUw+Cis8IS0tCisgICAgIEFu
eSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICAgICBodHRw
Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCistLT4KKzxodG1s
PjxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5SZWZlcmVuY2U6IHN1
YmdyaWQgYXV0byB0cmFjayBzaXppbmc8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzNjk1MSI+CisgIDxzdHlsZT4KK2h0bWwsYm9keSB7CisgIGNvbG9yOmJsYWNrOyBi
YWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBmb250OjE2cHgvMSBtb25vc3BhY2U7IHBhZGRpbmc6MDsg
bWFyZ2luOjA7Cit9CisKKy5ncmlkIHsKKyAgZGlzcGxheTogaW5saW5lLWdyaWQ7CisgIG1heC13
aWR0aDogMjYwcHg7CisgIHBhZGRpbmc6IDFweCA1cHg7CisgIGJvcmRlcjogMXB4IHNvbGlkOwor
ICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4OworfQorLnN1YmdyaWQgeworICBkaXNwbGF5
OiBncmlkOworICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7CisgIG1hcmdpbjogMHB4IDEw
cHggMHB4IDEwcHg7CisgIGJhY2tncm91bmQ6IGdyZXk7Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorCis8YXJ0aWNsZSBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xhc3M9InN1Ymdy
aWQiPgorICAgIFRoZSBjYXQgY2FuIG5vdCBiZSBzZXBhcmF0ZWQgZnJvbSBtaWxrCisgIDwvZGl2
PgorPC9hcnRpY2xlPgorCis8YXJ0aWNsZSBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xhc3M9InN1
YmdyaWQiPgorICAgIFRoZSBjYXQgY2FuIG5vdCBiZSBzZXBhcmF0ZWQgZnJvbSBtaWxrCisgIDwv
ZGl2PgorPC9hcnRpY2xlPgorCis8YXJ0aWNsZSBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xhc3M9
InN1YmdyaWQiPgorICAgIFRoZSBjYXQgY2FuIG5vdCBiZSBzZXBhcmF0ZWQgZnJvbSBtaWxrCisg
IDwvZGl2PgorPC9hcnRpY2xlPgorCis8YXJ0aWNsZSBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xh
c3M9InN1YmdyaWQiPgorICAgIFRoZSBjYXQgY2FuIG5vdCBiZSBzZXBhcmF0ZWQgZnJvbSBtaWxr
CisgIDwvZGl2PgorPC9hcnRpY2xlPgorCis8YXJ0aWNsZSBjbGFzcz0iZ3JpZCI+CisgIDxkaXYg
Y2xhc3M9InN1YmdyaWQiPgorICAgIFRoZSBjYXQgY2FuIG5vdCBiZSBzZXBhcmF0ZWQgZnJvbSBt
aWxrCisgIDwvZGl2PgorPC9hcnRpY2xlPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL2F1dG8tdHJhY2stc2l6aW5nLTAwMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9hdXRvLXRyYWNr
LXNpemluZy0wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDRjOWQzOTI1OTRhMDI0MWM4YzlmOGUyYzUy
MDBkOTY0ZmY3YzYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9hdXRvLXRyYWNrLXNpemlu
Zy0wMDIuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IURPQ1RZUEUgSFRNTD4KKzwhLS0KKyAgICAg
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgICAgIGh0
dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKy0tPgorPGh0
bWw+PGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlRlc3Q6IHN1Ymdy
aWQgYXV0byB0cmFjayBzaXppbmc8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9
Ik1hdHQgV29vZHJvdyIgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNjk1MSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1ncmlkLTIiPgorICA8bGluayByZWw9Im1hdGNoIiBocmVmPSJhdXRvLXRyYWNr
LXNpemluZy0wMDItcmVmLmh0bWwiPgorICA8c3R5bGU+CitodG1sLGJvZHkgeworICBjb2xvcjpi
bGFjazsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgbW9ub3NwYWNlOyBwYWRk
aW5nOjA7IG1hcmdpbjowOworfQorCisuZ3JpZCB7CisgIGRpc3BsYXk6IGlubGluZS1ncmlkOwor
ICBtYXgtd2lkdGg6IDI2MHB4OworICBwYWRkaW5nOiAxcHggNXB4OworICBib3JkZXI6IDFweCBz
b2xpZDsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweDsKK30KKworLnN1YmdyaWQgewor
ICBkaXNwbGF5OiBncmlkOworICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7CisgIGdyaWQt
dGVtcGxhdGUtY29sdW1uczogMTAwJTsKKyAgbWFyZ2luOiAwcHggNXB4IDBweCAxMHB4OworfQor
CisuaW5uZXIgeworICBtYXJnaW46IDBweCA1cHggMHB4IDBweDsKKyAgYmFja2dyb3VuZDogZ3Jl
eTsKK30KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8YXJ0aWNsZSBjbGFzcz0iZ3Jp
ZCI+CisgIDxkaXYgY2xhc3M9InN1YmdyaWQiIHN0eWxlPSJtYXJnaW46IDBweCAxMHB4IDBweCAx
MHB4OyBiYWNrZ3JvdW5kOiBncmV5Ij4KKyAgICBUaGUgY2F0IGNhbiBub3QgYmUgc2VwYXJhdGVk
IGZyb20gbWlsaworICA8L2Rpdj4KKzwvYXJ0aWNsZT4KKworPGFydGljbGUgY2xhc3M9ImdyaWQi
PgorICA8ZGl2IGNsYXNzPSJzdWJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIGlubmVy
Ij4KKyAgICAgIFRoZSBjYXQgY2FuIG5vdCBiZSBzZXBhcmF0ZWQgZnJvbSBtaWxrCisgICAgPC9k
aXY+CisgIDwvZGl2PgorPC9hcnRpY2xlPgorCis8YXJ0aWNsZSBjbGFzcz0iZ3JpZCI+CisgIDxk
aXYgY2xhc3M9InN1YmdyaWQiIHN0eWxlPSJncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQi
PgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgaW5uZXIiPgorICAgICAgVGhlIGNhdCBjYW4gbm90
IGJlIHNlcGFyYXRlZCBmcm9tIG1pbGsKKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cis8L2FydGljbGU+
CisKKzxhcnRpY2xlIGNsYXNzPSJncmlkIj4KKyAgPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgICAg
PGRpdiBjbGFzcz0ic3ViZ3JpZCBpbm5lciIgc3R5bGU9ImdyaWQtdGVtcGxhdGUtY29sdW1uczog
c3ViZ3JpZCI+CisgICAgICBUaGUgY2F0IGNhbiBub3QgYmUgc2VwYXJhdGVkIGZyb20gbWlsawor
ICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvYXJ0aWNsZT4KKworPGFydGljbGUgY2xhc3M9ImdyaWQi
PgorICA8ZGl2IGNsYXNzPSJzdWJncmlkIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBz
dWJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIGlubmVyIiBzdHlsZT0iZ3JpZC10ZW1w
bGF0ZS1jb2x1bW5zOiBzdWJncmlkIj4KKyAgICAgIFRoZSBjYXQgY2FuIG5vdCBiZSBzZXBhcmF0
ZWQgZnJvbSBtaWxrCisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9hcnRpY2xlPgorCisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNoLWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZjODc2ZDllYmZhMmY2MWQ2YzM4Y2IyODQxNGM2YzZhZDk0ZjkyMTAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPCEtLQorICAgICBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRl
ZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcv
cHVibGljZG9tYWluL3plcm8vMS4wLworLS0+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorICA8dGl0bGU+Q1NTIEdyaWQgVGVzdDogVGhlIHN1YmdyaWQgaXMgYWx3YXlz
IHN0cmV0Y2hlZCBpbiBpdHMgc3ViZ3JpZGRlZCBkaW1lbnNpb24ocyk8L3RpdGxlPgorICA8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3b29k
cm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1ncmlkLTIvI3N1YmdyaWQtYm94LWFsaWdubWVudCI+CisgIDxzdHlsZT4K
KyAgIGJvZHkgeworICAgICBtYXJnaW46IDA7CisgICB9CisgIC5ncmlkIHsKKyAgICBkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2
PgorCisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2
PgorCisgIDxicj4KKyAgCisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Z3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJn
cmlkIj48L2Rpdj4KKyAgCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1
YmdyaWQtc3RyZXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0cmV0Y2guaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NGQ3YmZjNzlmZjc2NGFlZDlkZWE5YmM2ZjY3YTU3ZTZkMGYxNDUxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0cmV0Y2guaHRtbApAQCAtMCwwICsxLDEwMCBAQAor
PCFET0NUWVBFIEhUTUw+Cis8IS0tCisgICAgIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRv
IHRoZSBQdWJsaWMgRG9tYWluLgorICAgICBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJs
aWNkb21haW4vemVyby8xLjAvCistLT4KKzxodG1sPjxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+CisgIDx0aXRsZT5DU1MgR3JpZCBUZXN0OiBUaGUgc3ViZ3JpZCBpcyBhbHdheXMgc3Ry
ZXRjaGVkIGluIGl0cyBzdWJncmlkZGVkIGRpbWVuc2lvbihzKTwvdGl0bGU+CisgIDxsaW5rIHJl
bD0iYXV0aG9yIiB0aXRsZT0iTWF0dCBXb29kcm93IiBocmVmPSJtYWlsdG86bWF0dHdvb2Ryb3dA
YXBwbGUuY29tIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3
Zy5vcmcvY3NzLWdyaWQtMi8jc3ViZ3JpZC1ib3gtYWxpZ25tZW50Ij4KKyAgPGxpbmsgcmVsPSJt
YXRjaCIgaHJlZj0ic3ViZ3JpZC1zdHJldGNoLXJlZi5odG1sIj4KKyAgPHN0eWxlPgorICBib2R5
IHsKKyAgICBtYXJnaW46IDA7CisgIH0KKyAgLmdyaWQgeworICAgIGRpc3BsYXk6IGlubGluZS1n
cmlkOworICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHg7CisgICAgZ3JpZC10ZW1wbGF0
ZS1yb3dzOiAxMDBweDsKKyAgfQorICAuc3ViZ3JpZCB7CisgICAgZGlzcGxheTogZ3JpZDsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICB9CisgIC5yb3dzIHsKKyAgICBncmlkLXRlbXBs
YXRlLXJvd3M6IHN1YmdyaWQ7CisgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7CisgIH0KKyAgLmNv
bHVtbnMgeworICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDsKKyAgICBqdXN0aWZ5
LXNlbGY6IGJhc2VsaW5lOworICB9CisgIC52cmwgeworICAgIHdyaXRpbmctbW9kZTogdmVydGlj
YWwtcmw7CisgIH0KKyAgLnZybC5yb3dzIHsKKyAgICBhbGlnbi1zZWxmOiBpbml0aWFsOworICAg
IGp1c3RpZnktc2VsZjogYmFzZWxpbmU7CisgIH0KKyAgLnZybC5jb2x1bW5zIHsKKyAgICBqdXN0
aWZ5LXNlbGY6IGluaXRpYWw7CisgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7CisgIH0KKyAgPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNs
YXNzPSJzdWJncmlkIHJvd3MiIHN0eWxlPSJoZWlnaHQ6IDUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+
CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgcm93cyIgc3R5
bGU9ImhlaWdodDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQi
PgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgcm93cyIgc3R5bGU9Im1heC1oZWlnaHQ6IDUwcHg7
Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9
InN1YmdyaWQgcm93cyIgc3R5bGU9Im1pbi1oZWlnaHQ6IDE1MHB4OyI+PC9kaXY+CisgIDwvZGl2
PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIGNvbHVtbnMi
IHN0eWxlPSJ3aWR0aDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3Jp
ZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCBjb2x1bW5zIiBzdHlsZT0id2lkdGg6IDE1MHB4
OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNz
PSJzdWJncmlkIGNvbHVtbnMiIHN0eWxlPSJtYXgtd2lkdGg6IDUwcHg7Ij48L2Rpdj4KKyAgPC9k
aXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgY29sdW1u
cyIgc3R5bGU9Im1pbi13aWR0aDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGJyPgor
ICAKKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgcm93
cyIgc3R5bGU9IndpZHRoOiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJn
cmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCByb3dzIiBzdHlsZT0id2lkdGg6IDE1
MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNs
YXNzPSJzdWJncmlkIHZybCByb3dzIiBzdHlsZT0ibWF4LXdpZHRoOiA1MHB4OyI+PC9kaXY+Cisg
IDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZy
bCByb3dzIiBzdHlsZT0ibWluLXdpZHRoOiAxNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRp
diBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgY29sdW1ucyIgc3R5
bGU9ImhlaWdodDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+
CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgY29sdW1ucyIgc3R5bGU9ImhlaWdodDogMTUw
cHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xh
c3M9InN1YmdyaWQgdnJsIGNvbHVtbnMiIHN0eWxlPSJtYXgtaGVpZ2h0OiA1MHB4OyI+PC9kaXY+
CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlk
IHZybCBjb2x1bW5zIiBzdHlsZT0ibWluLWhlaWdodDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9jb21wb3NpdGluZy90aWxlLWNvdmVyYWdlLXN1YnBpeGVsLWVtcHR5LXJlY3QtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2NvbXBvc2l0aW5nL3RpbGUtY292ZXJhZ2Ut
c3VicGl4ZWwtZW1wdHktcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQyOGZkZGEwYTAw
OTljYjkzMDMyZjQ1MDkzN2RkZmQwOGQzYWRiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9jb21wb3NpdGluZy90aWxlLWNvdmVyYWdlLXN1YnBpeGVsLWVtcHR5
LXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzUgQEAKKyhHcmFwaGljc0xheWVyCisgIChh
bmNob3IgMC4wMCAwLjAwKQorICAoYm91bmRzIDMwMDEuMDAgNTEwMC4wMCkKKyAgKGNoaWxkcmVu
IDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyAzMDAxLjAwIDUxMDAuMDApCisg
ICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFw
aGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMjAwMC4wMCkKKyAgICAgICAgICAo
Ym91bmRzIDMwMDAuMDAgMzEwMC4wMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0aW9uIC0xLjAwIDAuMDApCisg
ICAgICAgICAgICAgIChhbmNob3IgMC41MCAwLjUwKQorICAgICAgICAgICAgICAoYm91bmRzIDMw
MDEuMDAgMzEwMS4wMCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAg
ICAgICAodHJhbnNmb3JtIFsxLjAwIDAuMDAgMC4wMCAwLjAwXSBbMC4wMCAxLjAwIDAuMDAgMC4w
MF0gWzAuMDAgMC4wMCAxLjAwIDAuMDBdIFstMS4wMCAwLjAwIDAuMDAgMS4wMF0pCisgICAgICAg
ICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDMwMDAuMDApCisgICAgICAgICAgICAgICAgICAo
YW5jaG9yIDAuNTAgMC41MCkKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMTAxLjAwIDEwMS4w
MCkKKyAgICAgICAgICAgICAgICAgICh0cmFuc2Zvcm0gWzEuMDAgMC4wMCAwLjAwIDAuMDBdIFsw
LjAwIDEuMDAgMC4wMCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAw
IDEuMDBdKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
KQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorT2Zmc2Ny
ZWVuLCBidXQgbGFyZ2UsIGNvbnRlbnQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL2NvbXBvc2l0aW5nL3RpbGUtY292ZXJhZ2Utc3VicGl4ZWwtZW1wdHktcmVjdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvY29tcG9zaXRpbmcvdGlsZS1jb3Zl
cmFnZS1zdWJwaXhlbC1lbXB0eS1yZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGQxOGVk
MjI3OWU0ZDJmMTc4MTJjYmE1NTFhZDY2YWNlMTg4MTE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2NvbXBvc2l0aW5nL3RpbGUtY292ZXJhZ2Utc3VicGl4ZWwt
ZW1wdHktcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NCBAQAorKEdyYXBoaWNzTGF5ZXIK
KyAgKGFuY2hvciAwLjAwIDAuMDApCisgIChib3VuZHMgMzAwMS4wMCA1MTAwLjAwKQorICAoY2hp
bGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDMwMDEuMDAgNTEwMC4w
MCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2Ug
MCwgMCAxMDI0IHggMTAyNCkKKyAgICAgICh0aWxlIHNpemUgNTEyIHggNTEyKQorICAgICAgKHRv
cCBsZWZ0IHRpbGUgMCwgMCB0aWxlcyBncmlkIDIgeCAyKQorICAgICAgKGluIHdpbmRvdyAxKQor
ICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9z
aXRpb24gMS4wMCAyMDAwLjUwKQorICAgICAgICAgIChib3VuZHMgMzAwMC4wMCAzMTAwLjAwKQor
ICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
ICAgICAgICAocG9zaXRpb24gLTAuNTAgLTAuNTApCisgICAgICAgICAgICAgIChhbmNob3IgMC41
MCAwLjUwKQorICAgICAgICAgICAgICAoYm91bmRzIDMwMDAuNTAgMzEwMC41MCkKKyAgICAgICAg
ICAgICAgKHVzaW5nVGlsZWRMYXllciAxKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEp
CisgICAgICAgICAgICAgICh0cmFuc2Zvcm0gWzEuMDAgMC4wMCAwLjAwIDAuMDBdIFswLjAwIDEu
MDAgMC4wMCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMC4wMF0gWy0xLjAwIDAuMDAgMC4wMCAxLjAw
XSkKKyAgICAgICAgICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwgMCAwIHggMCkKKyAgICAg
ICAgICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCisgICAgICAgICAgICAgICh0b3AgbGVmdCB0
aWxlIDAsIDAgdGlsZXMgZ3JpZCAwIHggMCkKKyAgICAgICAgICAgICAgKGluIHdpbmRvdyAxKQor
ICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVy
CisgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMC4wMCAzMDAwLjAwKQorICAgICAgICAgICAg
ICAgICAgKGFuY2hvciAwLjUwIDAuNTApCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDEwMC41
MCAxMDAuNTApCisgICAgICAgICAgICAgICAgICAodHJhbnNmb3JtIFsxLjAwIDAuMDAgMC4wMCAw
LjAwXSBbMC4wMCAxLjAwIDAuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIDAuMDBdIFswLjAwIDAu
MDAgMS4wMCAxLjAwXSkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykK
K09mZnNjcmVlbiwgYnV0IGxhcmdlLCBjb250ZW50CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvY29tcG9zaXRpbmcvdGlsZS1jb3ZlcmFnZS1zdWJwaXhlbC1lbXB0
eS1yZWN0LWFjdHVhbC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2NvbXBvc2l0
aW5nL3RpbGUtY292ZXJhZ2Utc3VicGl4ZWwtZW1wdHktcmVjdC1hY3R1YWwudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjVhYWRhNTc5MmM1NTUxNDcxODg0ODhkOTZmZmUyOTE0ZDlmNmFmZTUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2NvbXBvc2l0aW5nL3RpbGUtY292
ZXJhZ2Utc3VicGl4ZWwtZW1wdHktcmVjdC1hY3R1YWwudHh0CkBAIC0wLDAgKzEsNDAgQEAKKyhH
cmFwaGljc0xheWVyCisgIChhbmNob3IgMC4wMCAwLjAwKQorICAoYm91bmRzIDMwMDEuMDAgNTEw
MC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyAz
MDAxLjAwIDUxMDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChjaGlsZHJl
biAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMjAw
MC4wMCkKKyAgICAgICAgICAoYm91bmRzIDMwMDAuMDAgMzEwMC4wMCkKKyAgICAgICAgICAoY2hp
bGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0
aW9uIC0xLjAwIDAuMDApCisgICAgICAgICAgICAgIChhbmNob3IgMC41MCAwLjUwKQorICAgICAg
ICAgICAgICAoYm91bmRzIDMwMDEuMDAgMzEwMS4wMCkKKyAgICAgICAgICAgICAgKHVzaW5nVGls
ZWRMYXllciAxKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAg
ICh0cmFuc2Zvcm0gWzEuMDAgMC4wMCAwLjAwIDAuMDBdIFswLjAwIDEuMDAgMC4wMCAwLjAwXSBb
MC4wMCAwLjAwIDEuMDAgMC4wMF0gWy0xLjAwIDAuMDAgMC4wMCAxLjAwXSkKKyAgICAgICAgICAg
ICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwgMCAwIHggMCkKKyAgICAgICAgICAgICAgKHRpbGUg
c2l6ZSA1MTIgeCA1MTIpCisgICAgICAgICAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMg
Z3JpZCAwIHggMCkKKyAgICAgICAgICAgICAgKGluIHdpbmRvdyAxKQorICAgICAgICAgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
ICAgICAocG9zaXRpb24gMC4wMCAzMDAwLjAwKQorICAgICAgICAgICAgICAgICAgKGFuY2hvciAw
LjUwIDAuNTApCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDEwMS4wMCAxMDEuMDApCisgICAg
ICAgICAgICAgICAgICAodHJhbnNmb3JtIFsxLjAwIDAuMDAgMC4wMCAwLjAwXSBbMC4wMCAxLjAw
IDAuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIDAuMDBdIFswLjAwIDAuMDAgMS4wMCAxLjAwXSkK
KyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKK09mZnNjcmVlbiwgYnV0
IGxhcmdlLCBjb250ZW50CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454188</attachid>
            <date>2022-03-08 19:54:30 -0800</date>
            <delta_ts>2022-03-16 20:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237628-20220309165428.patch</filename>
            <type>text/plain</type>
            <size>21259</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjI1ODQ4NWY2ZGU1NGYx
MDUzYmRmODA2MzE5ZDY4ZTU0OWVjMmQzOS4uYTA4YzY3YmQ5NTA0ZDNmOWE5NzNiZTg1MDZmNWNk
OThjMzBiY2U5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIyLTAzLTA4ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgU3ViZ3JpZCBpdGVt
cyBzaG91bGQgYWx3YXlzIGJlIHN0cmV0Y2hlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzYyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mt
Z3JpZC0yLyNzdWJncmlkLWJveC1hbGlnbm1lbnQKKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRj
aC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluRnJhZ21lbnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNTdHJldGNoZWRMb2dpY2FsSGVpZ2h0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGFzU3RyZXRjaGVkTG9naWNhbFdp
ZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6cmVzb2x2ZWRKdXN0aWZ5
U2VsZiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnJlc29sdmVkQWxpZ25T
ZWxmIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisKKyAgICAgICAg
QWRkcyBuZXcgaGVscGVyIGZvciBsb29raW5nIHVwIHRoZSByZXNvbHZlZCB2YWx1ZSBvZiBqdXN0
aWZ5L2FsaWduLXNlbGYgKHNpbmNlCisgICAgICAgIHN1YmdyaWRzIHdhbnQgdG8gb3ZlcnJpZGUg
dGhpcyBsb2dpYyBhbmQgYWx3YXlzIHJldHVybiBzdHJldGNoKS4KKyAgICAgICAgTWFrZXMgY29t
cHV0ZUxvZ2ljYWxXaWR0aEluRnJhZ21lbnQgdXNlIHRoZSBvdmVycmlkZSBsb2dpY2FsIHdpZHRo
IGZvciBncmlkIGl0ZW1zCisgICAgICAgIGlmIGl0J3MgYmVlbiBzZXQsIGFzIHdlIGFscmVhZHkg
ZG8gZm9yIGhlaWdodC4gV2UgZG9uJ3QgZWFybHkgcmV0dXJuLCBzbyB0aGF0IG1hcmdpbnMKKyAg
ICAgICAgc3RpbGwgZ2V0IGNvbXB1dGVkIHJlbGF0aXZlIHRvIHRoaXMgd2lkdGguCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJH
cmlkOjpsYXlvdXRHcmlkSXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YXZh
aWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YWxpZ25TZWxmRm9yQ2hpbGQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cmVzb2x2ZWRBbGlnblNlbGYgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6anVzdGlmeVNlbGZGb3JDaGlsZCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpyZXNvbHZlZEp1c3RpZnlTZWxmIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmFwcGx5U3RyZXRjaEFsaWdubWVudFRvQ2hp
bGRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjphcHBseVN1YmdyaWRT
dHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyR3JpZC5oOgorCisgICAgICAgIFNldHMgdGhlIHJlcXVpcmVkIG92ZXJyaWRlIHdpZHRoL2hl
aWdodCBzaXplIG9uIHN1YmdyaWQgaXRlbXMgc28gdGhhdCB0aGV5IGdldAorICAgICAgICBzdHJl
dGNoZWQuIE92ZXJyaWRlcyByZXNvbHZlZEFsaWduL0p1c3RpZnlTZWxmIHRvIGFsd2F5cyByZXR1
cm4gc3RyZXRjaCBmb3IKKyAgICAgICAgc3ViZ3JpZHMuCisKIDIwMjItMDMtMDggIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBtZXRhZGF0
YSBjdWUgZW5kVGltZSBtYXkgbm90IGJlIHVwZGF0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKaW5kZXggYzQxNmJlOTFmZjNmNTY5NzJiY2FiNGEwNWM2ODk1M2Q4OWJjNjEz
MC4uYTg0ZTBmYzI5ZmJlYTY3YzUyMWIwOTMxZmZiOTU1YzkxMzM0MGUyOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTI3MjYsNyArMjcyNiw5IEBAIHZvaWQgUmVu
ZGVyQm94Ojpjb21wdXRlTG9naWNhbFdpZHRoSW5GcmFnbWVudChMb2dpY2FsRXh0ZW50Q29tcHV0
ZWRWYWx1ZXMmIGNvbXB1CiAgICAgICAgIGNvbnRhaW5lcldpZHRoSW5JbmxpbmVEaXJlY3Rpb24g
PSBwZXJwZW5kaWN1bGFyQ29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodCgpOwogCiAgICAgLy8g
V2lkdGggY2FsY3VsYXRpb25zCi0gICAgaWYgKHRyZWF0QXNSZXBsYWNlZCkgeworICAgIGlmIChp
c0dyaWRJdGVtKCkgJiYgaGFzT3ZlcnJpZGluZ0xvZ2ljYWxXaWR0aCgpKSB7CisgICAgICAgIGNv
bXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gb3ZlcnJpZGluZ0xvZ2ljYWxXaWR0aCgpOworICAgIH0g
ZWxzZSBpZiAodHJlYXRBc1JlcGxhY2VkKSB7CiAgICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0
ZW50ID0gbG9naWNhbFdpZHRoTGVuZ3RoLnZhbHVlKCkgKyBib3JkZXJBbmRQYWRkaW5nTG9naWNh
bFdpZHRoKCk7CiAgICAgfSBlbHNlIGlmIChzaG91bGRDb21wdXRlTG9naWNhbFdpZHRoRnJvbUFz
cGVjdFJhdGlvKCkgJiYgc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSkgewogICAgICAg
ICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGNvbXB1dGVMb2dpY2FsV2lkdGhGcm9tQXNwZWN0
UmF0aW8oZnJhZ21lbnQpOwpAQCAtMjg3OSw4ICsyODgxLDggQEAgYm9vbCBSZW5kZXJCb3g6Omhh
c1N0cmV0Y2hlZExvZ2ljYWxIZWlnaHQoKSBjb25zdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQogICAgIGlmIChjb250YWluaW5nQmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
IT0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcmV0dXJuIHN0eWxlLnJlc29s
dmVkSnVzdGlmeVNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5bGUoKSwgY29udGFpbmluZ0Jsb2Nr
LT5zZWxmQWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IodGhpcykpLnBvc2l0aW9uKCkgPT0gSXRlbVBv
c2l0aW9uOjpTdHJldGNoOwotICAgIHJldHVybiBzdHlsZS5yZXNvbHZlZEFsaWduU2VsZigmY29u
dGFpbmluZ0Jsb2NrLT5zdHlsZSgpLCBjb250YWluaW5nQmxvY2stPnNlbGZBbGlnbm1lbnROb3Jt
YWxCZWhhdmlvcih0aGlzKSkucG9zaXRpb24oKSA9PSBJdGVtUG9zaXRpb246OlN0cmV0Y2g7Cisg
ICAgICAgIHJldHVybiByZXNvbHZlZEp1c3RpZnlTZWxmKCZjb250YWluaW5nQmxvY2stPnN0eWxl
KCksIGNvbnRhaW5pbmdCbG9jay0+c2VsZkFsaWdubWVudE5vcm1hbEJlaGF2aW9yKHRoaXMpKS5w
b3NpdGlvbigpID09IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaDsKKyAgICByZXR1cm4gcmVzb2x2ZWRB
bGlnblNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5bGUoKSwgY29udGFpbmluZ0Jsb2NrLT5zZWxm
QWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IodGhpcykpLnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9u
OjpTdHJldGNoOwogfQogCiAvLyBGSVhNRTogQ2FuL1Nob3VsZCB3ZSBtb3ZlIHRoaXMgaW5zaWRl
IHNwZWNpZmljIGxheW91dCBjbGFzc2VzIChmbGV4LiBncmlkKT8gQ2FuIHdlIHJlZmFjdG9yIGNv
bHVtbkZsZXhJdGVtSGFzU3RyZXRjaEFsaWdubWVudCBsb2dpYz8KQEAgLTI4OTcsOCArMjg5OSw4
IEBAIGJvb2wgUmVuZGVyQm94OjpoYXNTdHJldGNoZWRMb2dpY2FsV2lkdGgoU3RyZXRjaGluZ01v
ZGUgc3RyZXRjaGluZ01vZGUpIGNvbnN0CiAgICAgfQogICAgIGF1dG8gbm9ybWFsSXRlbVBvc2l0
aW9uID0gc3RyZXRjaGluZ01vZGUgPT0gU3RyZXRjaGluZ01vZGU6OkFueSA/IGNvbnRhaW5pbmdC
bG9jay0+c2VsZkFsaWdubWVudE5vcm1hbEJlaGF2aW9yKHRoaXMpIDogSXRlbVBvc2l0aW9uOjpO
b3JtYWw7CiAgICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQotICAgICAgICByZXR1cm4gc3R5bGUucmVz
b2x2ZWRBbGlnblNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5bGUoKSwgbm9ybWFsSXRlbVBvc2l0
aW9uKS5wb3NpdGlvbigpID09IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaDsKLSAgICByZXR1cm4gc3R5
bGUucmVzb2x2ZWRKdXN0aWZ5U2VsZigmY29udGFpbmluZ0Jsb2NrLT5zdHlsZSgpLCBub3JtYWxJ
dGVtUG9zaXRpb24pLnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOworICAgICAg
ICByZXR1cm4gcmVzb2x2ZWRBbGlnblNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5bGUoKSwgbm9y
bWFsSXRlbVBvc2l0aW9uKS5wb3NpdGlvbigpID09IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaDsKKyAg
ICByZXR1cm4gcmVzb2x2ZWRKdXN0aWZ5U2VsZigmY29udGFpbmluZ0Jsb2NrLT5zdHlsZSgpLCBu
b3JtYWxJdGVtUG9zaXRpb24pLnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOwog
fQogCiBib29sIFJlbmRlckJveDo6c2l6ZXNMb2dpY2FsV2lkdGhUb0ZpdENvbnRlbnQoU2l6ZVR5
cGUgd2lkdGhUeXBlKSBjb25zdApAQCAtNTUwMSw0ICs1NTAzLDE0IEBAIExheW91dFVuaXQgc3lu
dGhlc2l6ZWRCYXNlbGluZUZyb21Cb3JkZXJCb3goY29uc3QgUmVuZGVyQm94JiBib3gsIExpbmVE
aXJlY3Rpb25NCiAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJveC5o
ZWlnaHQoKSA6IGJveC53aWR0aCgpOwogfQogCitTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRl
ckJveDo6cmVzb2x2ZWRKdXN0aWZ5U2VsZihjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUs
IEl0ZW1Qb3NpdGlvbiBub3JtYWxWYWx1ZUJlaGF2aW91cikgY29uc3QKK3sKKyAgICByZXR1cm4g
c3R5bGUoKS5yZXNvbHZlZEp1c3RpZnlTZWxmKHBhcmVudFN0eWxlLCBub3JtYWxWYWx1ZUJlaGF2
aW91cik7Cit9CisKK1N0eWxlU2VsZkFsaWdubWVudERhdGEgUmVuZGVyQm94OjpyZXNvbHZlZEFs
aWduU2VsZihjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIEl0ZW1Qb3NpdGlvbiBub3Jt
YWxWYWx1ZUJlaGF2aW91cikgY29uc3QKK3sKKyAgICByZXR1cm4gc3R5bGUoKS5yZXNvbHZlZEFs
aWduU2VsZihwYXJlbnRTdHlsZSwgbm9ybWFsVmFsdWVCZWhhdmlvdXIpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggZWQ3
Nzc3MGU3ZTQyOWQ1Yjc2MmMwZWJjMjkxYmFmMDJmNDcwMjMyNS4uMjRmM2RiNGI4YjBhMmU4ZTkw
ZmNlNDFkNGEzNWYyM2RkMDRjNjY0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aApAQCAtNjczLDYgKzY3Myw5IEBAIG92ZXJyaWRlOwogCiAgICAgYm9vbCBzaG91bGRDb21wdXRl
TG9naWNhbEhlaWdodEZyb21Bc3BlY3RSYXRpbygpIGNvbnN0OwogCisgICAgdmlydHVhbCBTdHls
ZVNlbGZBbGlnbm1lbnREYXRhIHJlc29sdmVkSnVzdGlmeVNlbGYoY29uc3QgUmVuZGVyU3R5bGUq
IHBhcmVudFN0eWxlLCBJdGVtUG9zaXRpb24gbm9ybWFsVmFsdWVCZWhhdmlvdXIpIGNvbnN0Owor
ICAgIHZpcnR1YWwgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSByZXNvbHZlZEFsaWduU2VsZihjb25z
dCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIEl0ZW1Qb3NpdGlvbiBub3JtYWxWYWx1ZUJlaGF2
aW91cikgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJCb3goRWxlbWVudCYsIFJlbmRl
clN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwogICAgIFJlbmRlckJveChEb2N1bWVudCYsIFJlbmRl
clN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuY3BwCmluZGV4IGQ1NGUxN2IyYjA5NzUwYzQxZmFjZTVlYzM1YmQ2MjcwYzE5MTc1YTEuLjJk
YWM4YjZhMjc5ODgyYzAzOGRhMjE3NmI2OTc5MjA0MWU3NjllNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTEwNTUsNiArMTA1NSw3IEBAIHZvaWQgUmVuZGVy
R3JpZDo6bGF5b3V0R3JpZEl0ZW1zKCkKICAgICAgICAgLy8gY2FsbCB0byBhdm9pZCB1bm5lY2Vz
c2FyeSByZWxheW91dHMuIFRoaXMgbWlnaHQgaW1wbHkgdGhhdCBjaGlsZCBtYXJnaW5zLCBuZWVk
ZWQgdG8gY29ycmVjdGx5CiAgICAgICAgIC8vIGRldGVybWluZSB0aGUgYXZhaWxhYmxlIHNwYWNl
IGJlZm9yZSBzdHJldGNoaW5nLCBhcmUgbm90IHNldCB5ZXQuCiAgICAgICAgIGFwcGx5U3RyZXRj
aEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZCgqY2hpbGQpOworICAgICAgICBhcHBseVN1YmdyaWRT
dHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKCpjaGlsZCk7CiAKICAgICAgICAgY2hpbGQt
PmxheW91dElmTmVlZGVkKCk7CiAKQEAgLTExOTksMTMgKzEyMDAsMTMgQEAgc3RhdGljIExheW91
dFVuaXQgY29tcHV0ZU92ZXJmbG93QWxpZ25tZW50T2Zmc2V0KE92ZXJmbG93QWxpZ25tZW50IG92
ZXJmbG93LCBMYXkKICAgICByZXR1cm4gMDsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjph
dmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhMYXlvdXRVbml0
IGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkLCBjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAor
TGF5b3V0VW5pdCBSZW5kZXJHcmlkOjphdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVm
b3JlU3RyZXRjaGluZyhMYXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkLCBjb25zdCBS
ZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25z
dAogewogICAgIC8vIEJlY2F1c2Ugd2Ugd2FudCB0byBhdm9pZCBtdWx0aXBsZSBsYXlvdXRzLCBz
dHJldGNoaW5nIGxvZ2ljIG1pZ2h0IGJlIHBlcmZvcm1lZCBiZWZvcmUKICAgICAvLyBjaGlsZHJl
biBhcmUgbGFpZCBvdXQsIHNvIHdlIGNhbid0IHVzZSB0aGUgY2hpbGQgY2FjaGVkIHZhbHVlcy4g
SGVuY2UsIHdlIG5lZWQgdG8KICAgICAvLyBjb21wdXRlIG1hcmdpbnMgaW4gb3JkZXIgdG8gZGV0
ZXJtaW5lIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGJlZm9yZSBzdHJldGNoaW5nLgotICAgIEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbiBjaGlsZEJsb2NrRmxvd0RpcmVjdGlvbiA9IEdyaWRMYXlvdXRG
dW5jdGlvbnM6OmZsb3dBd2FyZURpcmVjdGlvbkZvckNoaWxkKCp0aGlzLCBjaGlsZCwgRm9yUm93
cyk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KDBfbHUsIGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkIC0g
R3JpZExheW91dEZ1bmN0aW9uczo6bWFyZ2luTG9naWNhbFNpemVGb3JDaGlsZCgqdGhpcywgY2hp
bGRCbG9ja0Zsb3dEaXJlY3Rpb24sIGNoaWxkKSk7CisgICAgR3JpZFRyYWNrU2l6aW5nRGlyZWN0
aW9uIGNoaWxkRmxvd0RpcmVjdGlvbiA9IEdyaWRMYXlvdXRGdW5jdGlvbnM6OmZsb3dBd2FyZURp
cmVjdGlvbkZvckNoaWxkKCp0aGlzLCBjaGlsZCwgZGlyZWN0aW9uKTsKKyAgICByZXR1cm4gc3Rk
OjptYXgoMF9sdSwgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQgLSBHcmlkTGF5b3V0RnVuY3Rpb25z
OjptYXJnaW5Mb2dpY2FsU2l6ZUZvckNoaWxkKCp0aGlzLCBjaGlsZEZsb3dEaXJlY3Rpb24sIGNo
aWxkKSk7CiB9CiAKIFN0eWxlU2VsZkFsaWdubWVudERhdGEgUmVuZGVyR3JpZDo6YWxpZ25TZWxm
Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgU3RyZXRjaGluZ01vZGUgc3RyZXRjaGlu
Z01vZGUsIGNvbnN0IFJlbmRlclN0eWxlKiBncmlkU3R5bGUpIGNvbnN0CkBAIC0xMjEzLDcgKzEy
MTQsMTQgQEAgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjphbGlnblNlbGZGb3JD
aGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBTdHIKICAgICBpZiAoIWdyaWRTdHlsZSkKICAg
ICAgICAgZ3JpZFN0eWxlID0gJnN0eWxlKCk7CiAgICAgYXV0byBub3JtYWxCZWhhdmlvciA9IHN0
cmV0Y2hpbmdNb2RlID09IFN0cmV0Y2hpbmdNb2RlOjpBbnkgPyBzZWxmQWxpZ25tZW50Tm9ybWFs
QmVoYXZpb3IoJmNoaWxkKSA6IEl0ZW1Qb3NpdGlvbjo6Tm9ybWFsOwotICAgIHJldHVybiBjaGls
ZC5zdHlsZSgpLnJlc29sdmVkQWxpZ25TZWxmKGdyaWRTdHlsZSwgbm9ybWFsQmVoYXZpb3IpOwor
ICAgIHJldHVybiBjaGlsZC5yZXNvbHZlZEFsaWduU2VsZihncmlkU3R5bGUsIG5vcm1hbEJlaGF2
aW9yKTsKK30KKworU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjpyZXNvbHZlZEFs
aWduU2VsZihjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIEl0ZW1Qb3NpdGlvbiBub3Jt
YWxWYWx1ZUJlaGF2aW91cikgY29uc3QKK3sKKyAgICBpZiAoaXNTdWJncmlkSW5QYXJlbnREaXJl
Y3Rpb24oRm9yUm93cykpCisgICAgICAgIHJldHVybiB7IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaCwg
T3ZlcmZsb3dBbGlnbm1lbnQ6OkRlZmF1bHQgfTsKKyAgICByZXR1cm4gUmVuZGVyQm94OjpyZXNv
bHZlZEFsaWduU2VsZihwYXJlbnRTdHlsZSwgbm9ybWFsVmFsdWVCZWhhdmlvdXIpOwogfQogCiBT
dHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6Omp1c3RpZnlTZWxmRm9yQ2hpbGQoY29u
c3QgUmVuZGVyQm94JiBjaGlsZCwgU3RyZXRjaGluZ01vZGUgc3RyZXRjaGluZ01vZGUsIGNvbnN0
IFJlbmRlclN0eWxlKiBncmlkU3R5bGUpIGNvbnN0CkBAIC0xMjIxLDkgKzEyMjksMTcgQEAgU3R5
bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjpqdXN0aWZ5U2VsZkZvckNoaWxkKGNvbnN0
IFJlbmRlckJveCYgY2hpbGQsIFMKICAgICBpZiAoIWdyaWRTdHlsZSkKICAgICAgICAgZ3JpZFN0
eWxlID0gJnN0eWxlKCk7CiAgICAgYXV0byBub3JtYWxCZWhhdmlvciA9IHN0cmV0Y2hpbmdNb2Rl
ID09IFN0cmV0Y2hpbmdNb2RlOjpBbnkgPyBzZWxmQWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IoJmNo
aWxkKSA6IEl0ZW1Qb3NpdGlvbjo6Tm9ybWFsOwotICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLnJl
c29sdmVkSnVzdGlmeVNlbGYoZ3JpZFN0eWxlLCBub3JtYWxCZWhhdmlvcik7CisgICAgcmV0dXJu
IGNoaWxkLnJlc29sdmVkSnVzdGlmeVNlbGYoZ3JpZFN0eWxlLCBub3JtYWxCZWhhdmlvcik7CiB9
CiAKK1N0eWxlU2VsZkFsaWdubWVudERhdGEgUmVuZGVyR3JpZDo6cmVzb2x2ZWRKdXN0aWZ5U2Vs
Zihjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIEl0ZW1Qb3NpdGlvbiBub3JtYWxWYWx1
ZUJlaGF2aW91cikgY29uc3QKK3sKKyAgICBpZiAoaXNTdWJncmlkSW5QYXJlbnREaXJlY3Rpb24o
Rm9yQ29sdW1ucykpCisgICAgICAgIHJldHVybiB7IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaCwgT3Zl
cmZsb3dBbGlnbm1lbnQ6OkRlZmF1bHQgfTsKKyAgICByZXR1cm4gUmVuZGVyQm94OjpyZXNvbHZl
ZEp1c3RpZnlTZWxmKHBhcmVudFN0eWxlLCBub3JtYWxWYWx1ZUJlaGF2aW91cik7Cit9CisKKwog
Ym9vbCBSZW5kZXJHcmlkOjphc3BlY3RSYXRpb1ByZWZlcnNJbmxpbmUoY29uc3QgUmVuZGVyQm94
JiBjaGlsZCwgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMpCiB7CiAgICAgaWYgKCFjaGlsZC5z
dHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkpCkBAIC0xMjUxLDcgKzEyNjcsNyBAQCB2b2lkIFJlbmRl
ckdyaWQ6OmFwcGx5U3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZChSZW5kZXJCb3gmIGNo
aWxkKQogICAgIGJvb2wgYmxvY2tGbG93SXNDb2x1bW5BeGlzID0gY2hpbGRCbG9ja0RpcmVjdGlv
biA9PSBGb3JSb3dzOwogICAgIGJvb2wgYWxsb3dlZFRvU3RyZXRjaENoaWxkQmxvY2tTaXplID0g
YmxvY2tGbG93SXNDb2x1bW5BeGlzID8gYWxsb3dlZFRvU3RyZXRjaENoaWxkQWxvbmdDb2x1bW5B
eGlzKGNoaWxkKSA6IGFsbG93ZWRUb1N0cmV0Y2hDaGlsZEFsb25nUm93QXhpcyhjaGlsZCk7CiAg
ICAgaWYgKGFsbG93ZWRUb1N0cmV0Y2hDaGlsZEJsb2NrU2l6ZSAmJiAhYXNwZWN0UmF0aW9QcmVm
ZXJzSW5saW5lKGNoaWxkLCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMpKSB7Ci0gICAgICAgIExheW91
dFVuaXQgc3RyZXRjaGVkTG9naWNhbEhlaWdodCA9IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9y
Q2hpbGRCZWZvcmVTdHJldGNoaW5nKEdyaWRMYXlvdXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250
YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxkKGNoaWxkLCBjaGlsZEJsb2NrRGlyZWN0aW9u
KS52YWx1ZSgpLCBjaGlsZCk7CisgICAgICAgIExheW91dFVuaXQgc3RyZXRjaGVkTG9naWNhbEhl
aWdodCA9IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKEdy
aWRMYXlvdXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZv
ckNoaWxkKGNoaWxkLCBjaGlsZEJsb2NrRGlyZWN0aW9uKS52YWx1ZSgpLCBjaGlsZCwgRm9yUm93
cyk7CiAgICAgICAgIExheW91dFVuaXQgZGVzaXJlZExvZ2ljYWxIZWlnaHQgPSBjaGlsZC5jb25z
dHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoc3RyZXRjaGVkTG9naWNhbEhlaWdodCwgc3RkOjpu
dWxsb3B0KTsKICAgICAgICAgY2hpbGQuc2V0T3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoZGVzaXJl
ZExvZ2ljYWxIZWlnaHQpOwogCkBAIC0xMjY0LDEyICsxMjgwLDI3IEBAIHZvaWQgUmVuZGVyR3Jp
ZDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKFJlbmRlckJveCYgY2hpbGQp
CiAgICAgICAgICAgICBjaGlsZC5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwogICAgICAg
ICB9CiAgICAgfSBlbHNlIGlmICghYWxsb3dlZFRvU3RyZXRjaENoaWxkQmxvY2tTaXplICYmIGFs
bG93ZWRUb1N0cmV0Y2hDaGlsZEFsb25nUm93QXhpcyhjaGlsZCkpIHsKLSAgICAgICAgTGF5b3V0
VW5pdCBzdHJldGNoZWRMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNo
aWxkQmVmb3JlU3RyZXRjaGluZyhHcmlkTGF5b3V0RnVuY3Rpb25zOjpvdmVycmlkaW5nQ29udGFp
bmluZ0Jsb2NrQ29udGVudFNpemVGb3JDaGlsZChjaGlsZCwgY2hpbGRJbmxpbmVEaXJlY3Rpb24p
LnZhbHVlKCksIGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRMb2dpY2FsV2lk
dGggPSBhdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhHcmlk
TGF5b3V0RnVuY3Rpb25zOjpvdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudFNpemVGb3JD
aGlsZChjaGlsZCwgY2hpbGRJbmxpbmVEaXJlY3Rpb24pLnZhbHVlKCksIGNoaWxkLCBGb3JDb2x1
bW5zKTsKICAgICAgICAgTGF5b3V0VW5pdCBkZXNpcmVkTG9naWNhbFdpZHRoID0gY2hpbGQuY29u
c3RyYWluTG9naWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4KHN0cmV0Y2hlZExvZ2ljYWxXaWR0
aCwgY29udGVudFdpZHRoKCksICp0aGlzLCBudWxscHRyKTsKICAgICAgICAgY2hpbGQuc2V0T3Zl
cnJpZGluZ0xvZ2ljYWxXaWR0aChkZXNpcmVkTG9naWNhbFdpZHRoKTsKICAgICAgICAgaWYgKGRl
c2lyZWRMb2dpY2FsV2lkdGggIT0gY2hpbGQubG9naWNhbFdpZHRoKCkpCiAgICAgICAgICAgICBj
aGlsZC5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwotICAgIH0gCisgICAgfQorfQorCit2
b2lkIFJlbmRlckdyaWQ6OmFwcGx5U3ViZ3JpZFN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkSWZOZWVk
ZWQoUmVuZGVyQm94JiBjaGlsZCkKK3sKKyAgICBpZiAoaXM8UmVuZGVyR3JpZD4oY2hpbGQpICYm
IGRvd25jYXN0PFJlbmRlckdyaWQ+KGNoaWxkKS5pc1N1YmdyaWQoRm9yUm93cykpIHsKKyAgICAg
ICAgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGNoaWxkQmxvY2tEaXJlY3Rpb24gPSBHcmlkTGF5
b3V0RnVuY3Rpb25zOjpmbG93QXdhcmVEaXJlY3Rpb25Gb3JDaGlsZCgqdGhpcywgY2hpbGQsIEZv
clJvd3MpOworICAgICAgICBMYXlvdXRVbml0IHN0cmV0Y2hlZExvZ2ljYWxIZWlnaHQgPSBhdmFp
bGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhHcmlkTGF5b3V0RnVu
Y3Rpb25zOjpvdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudFNpemVGb3JDaGlsZChjaGls
ZCwgY2hpbGRCbG9ja0RpcmVjdGlvbikudmFsdWUoKSwgY2hpbGQsIEZvclJvd3MpOworICAgICAg
ICBjaGlsZC5zZXRPdmVycmlkaW5nTG9naWNhbEhlaWdodChzdHJldGNoZWRMb2dpY2FsSGVpZ2h0
KTsKKyAgICB9CisKKyAgICBpZiAoaXM8UmVuZGVyR3JpZD4oY2hpbGQpICYmIGRvd25jYXN0PFJl
bmRlckdyaWQ+KGNoaWxkKS5pc1N1YmdyaWQoRm9yQ29sdW1ucykpIHsKKyAgICAgICAgR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uIGNoaWxkSW5saW5lRGlyZWN0aW9uID0gR3JpZExheW91dEZ1bmN0
aW9uczo6Zmxvd0F3YXJlRGlyZWN0aW9uRm9yQ2hpbGQoKnRoaXMsIGNoaWxkLCBGb3JDb2x1bW5z
KTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRMb2dpY2FsV2lkdGggPSBhdmFpbGFibGVB
bGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhHcmlkTGF5b3V0RnVuY3Rpb25z
OjpvdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudFNpemVGb3JDaGlsZChjaGlsZCwgY2hp
bGRJbmxpbmVEaXJlY3Rpb24pLnZhbHVlKCksIGNoaWxkLCBGb3JDb2x1bW5zKTsKKyAgICAgICAg
Y2hpbGQuc2V0T3ZlcnJpZGluZ0xvZ2ljYWxXaWR0aChzdHJldGNoZWRMb2dpY2FsV2lkdGgpOwor
ICAgIH0KIH0KIAogLy8gRklYTUU6IFRoaXMgbG9naWMgaXMgc2hhcmVkIGJ5IFJlbmRlckZsZXhp
YmxlQm94LCBzbyBpdCBzaG91bGQgYmUgbW92ZWQgdG8gUmVuZGVyQm94LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmgKaW5kZXggOWIyYWFjMTE4MGNlZGM2MzNlNDBiNjBiYWYwNzY3
MDI1YmQ2YzJhZS4uNmEzZDMzYmVhOTYwZGY0Njg1NTBkMzcyYzUxNTQ2OWIxM2FhZWI1ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC0xMjAsNiArMTIwLDkgQEAgcHVi
bGljOgogICAgIExheW91dFVuaXQgZ3JpZEdhcChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNv
bnN0OwogICAgIExheW91dFVuaXQgZ3JpZEdhcChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIHN0
ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gYXZhaWxhYmxlU2l6ZSkgY29uc3Q7CiAKKyAgICBTdHls
ZVNlbGZBbGlnbm1lbnREYXRhIHJlc29sdmVkSnVzdGlmeVNlbGYoY29uc3QgUmVuZGVyU3R5bGUq
IHBhcmVudFN0eWxlLCBJdGVtUG9zaXRpb24gbm9ybWFsVmFsdWVCZWhhdmlvdXIpIGNvbnN0IG92
ZXJyaWRlOworICAgIFN0eWxlU2VsZkFsaWdubWVudERhdGEgcmVzb2x2ZWRBbGlnblNlbGYoY29u
c3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBJdGVtUG9zaXRpb24gbm9ybWFsVmFsdWVCZWhh
dmlvdXIpIGNvbnN0IG92ZXJyaWRlOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBHcmlk
VHJhY2tTaXppbmdBbGdvcml0aG07CiAKQEAgLTE5MSwxMCArMTk0LDExIEBAIHByaXZhdGU6CiAg
ICAgTGF5b3V0VW5pdCBncmlkQXJlYUJyZWFkdGhGb3JDaGlsZEluY2x1ZGluZ0FsaWdubWVudE9m
ZnNldHMoY29uc3QgUmVuZGVyQm94JiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uKSBjb25zdDsK
IAogICAgIHZvaWQgcGFpbnRDaGlsZHJlbihQYWludEluZm8mIGZvclNlbGYsIGNvbnN0IExheW91
dFBvaW50JiBwYWludE9mZnNldCwgUGFpbnRJbmZvJiBmb3JDaGlsZCwgYm9vbCB1c2VQcmludFJl
Y3QpIG92ZXJyaWRlOwotICAgIExheW91dFVuaXQgYXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JD
aGlsZEJlZm9yZVN0cmV0Y2hpbmcoTGF5b3V0VW5pdCBncmlkQXJlYUJyZWFkdGhGb3JDaGlsZCwg
Y29uc3QgUmVuZGVyQm94JikgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVBbGlnbm1l
bnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhMYXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0
aEZvckNoaWxkLCBjb25zdCBSZW5kZXJCb3gmLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNv
bnN0OwogICAgIFN0eWxlU2VsZkFsaWdubWVudERhdGEganVzdGlmeVNlbGZGb3JDaGlsZChjb25z
dCBSZW5kZXJCb3gmLCBTdHJldGNoaW5nTW9kZSA9IFN0cmV0Y2hpbmdNb2RlOjpBbnksIGNvbnN0
IFJlbmRlclN0eWxlKiA9IG51bGxwdHIpIGNvbnN0OwogICAgIFN0eWxlU2VsZkFsaWdubWVudERh
dGEgYWxpZ25TZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiwgU3RyZXRjaGluZ01vZGUgPSBT
dHJldGNoaW5nTW9kZTo6QW55LCBjb25zdCBSZW5kZXJTdHlsZSogPSBudWxscHRyKSBjb25zdDsK
ICAgICB2b2lkIGFwcGx5U3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZChSZW5kZXJCb3gm
KTsKKyAgICB2b2lkIGFwcGx5U3ViZ3JpZFN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkSWZOZWVkZWQo
UmVuZGVyQm94Jik7CiAgICAgYm9vbCBoYXNBdXRvU2l6ZUluQ29sdW1uQXhpcyhjb25zdCBSZW5k
ZXJCb3gmIGNoaWxkKSBjb25zdDsKICAgICBib29sIGhhc0F1dG9TaXplSW5Sb3dBeGlzKGNvbnN0
IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dlZFRvU3RyZXRjaENoaWxk
QWxvbmdDb2x1bW5BeGlzKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0IHsgcmV0dXJuIGFs
aWduU2VsZkZvckNoaWxkKGNoaWxkKS5wb3NpdGlvbigpID09IEl0ZW1Qb3NpdGlvbjo6U3RyZXRj
aCAmJiBoYXNBdXRvU2l6ZUluQ29sdW1uQXhpcyhjaGlsZCkgJiYgIWhhc0F1dG9NYXJnaW5zSW5D
b2x1bW5BeGlzKGNoaWxkKTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZDli
Yjc0ZTFhOTAwNGU3ZThhNDIyNTg2ZWU1MzFmNzQ5YTczODczYy4uN2U4ZDdjNTA5ODY4YjRhZGE3
YjNlODE2OGFhZjVmMzI5ZmFiMzc3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMjItMDMtMDggIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFw
cGxlLmNvbT4KKworICAgICAgICBTdWJncmlkIGl0ZW1zIHNob3VsZCBhbHdheXMgYmUgc3RyZXRj
aGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3
NjI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNoLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0cmV0Y2guaHRtbDogQWRkZWQuCisKKyAgICAgICAgQWRk
ZWQgbmV3IFdQVCB0ZXN0IGNvdmVyaW5nIHZhcmlvdXMgd2lkdGgvaGVpZ2h0IGFuZCBhbGlnbmVt
ZW50IGNvbnRyYWludHMgdGhhdCBzaG91bGQgYmUKKyAgICAgICAgaWdub3JlZCBzaW5jZSBzdWJn
cmlkcyBhcmUgYWx3YXlzIHN0cmV0Y2hlZC4KKwogMjAyMi0wMy0wOCAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbd2ViLWFuaW1hdGlvbnNdIGNvbG9yLWlu
dGVycG9sYXRpb24gc2hvdWxkIHN1cHBvcnQgZGlzY3JldGUgYW5pbWF0aW9uCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlk
LXN0cmV0Y2gtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Yzg3NmQ5ZWJmYTJmNjFkNmMzOGNi
Mjg0MTRjNmM2YWQ5NGY5MjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0
cmV0Y2gtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgSFRNTD4KKzwh
LS0KKyAgICAgQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4u
CisgICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8K
Ky0tPgorPGh0bWw+PGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkNT
UyBHcmlkIFRlc3Q6IFRoZSBzdWJncmlkIGlzIGFsd2F5cyBzdHJldGNoZWQgaW4gaXRzIHN1Ymdy
aWRkZWQgZGltZW5zaW9uKHMpPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJN
YXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0yLyNz
dWJncmlkLWJveC1hbGlnbm1lbnQiPgorICA8c3R5bGU+CisgICBib2R5IHsKKyAgICAgbWFyZ2lu
OiAwOworICAgfQorICAuZ3JpZCB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHdp
ZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IGJs
dWU7CisgIH0KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8ZGl2IGNsYXNzPSJncmlk
Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQi
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKworICA8ZGl2IGNsYXNzPSJncmlk
Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQi
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKworICA8YnI+CisgIAorICA8ZGl2
IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIAorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0cmV0Y2guaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1
YmdyaWQvc3ViZ3JpZC1zdHJldGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRkN2JmYzc5ZmY3NjRhZWQ5
ZGVhOWJjNmY2N2E1N2U2ZDBmMTQ1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3Jp
ZC1zdHJldGNoLmh0bWwKQEAgLTAsMCArMSwxMDAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPCEtLQor
ICAgICBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAg
ICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworLS0+
Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+Q1NTIEdy
aWQgVGVzdDogVGhlIHN1YmdyaWQgaXMgYWx3YXlzIHN0cmV0Y2hlZCBpbiBpdHMgc3ViZ3JpZGRl
ZCBkaW1lbnNpb24ocyk8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQg
V29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLTIvI3N1Ymdy
aWQtYm94LWFsaWdubWVudCI+CisgIDxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InN1YmdyaWQtc3Ry
ZXRjaC1yZWYuaHRtbCI+CisgIDxzdHlsZT4KKyAgYm9keSB7CisgICAgbWFyZ2luOiAwOworICB9
CisgIC5ncmlkIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsKKyAgICBncmlkLXRlbXBsYXRl
LWNvbHVtbnM6IDEwMHB4OworICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTAwcHg7CisgIH0KKyAg
LnN1YmdyaWQgeworICAgIGRpc3BsYXk6IGdyaWQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1
ZTsKKyAgfQorICAucm93cyB7CisgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkOworICAg
IGFsaWduLXNlbGY6IGJhc2VsaW5lOworICB9CisgIC5jb2x1bW5zIHsKKyAgICBncmlkLXRlbXBs
YXRlLWNvbHVtbnM6IHN1YmdyaWQ7CisgICAganVzdGlmeS1zZWxmOiBiYXNlbGluZTsKKyAgfQor
ICAudnJsIHsKKyAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOworICB9CisgIC52cmwucm93
cyB7CisgICAgYWxpZ24tc2VsZjogaW5pdGlhbDsKKyAgICBqdXN0aWZ5LXNlbGY6IGJhc2VsaW5l
OworICB9CisgIC52cmwuY29sdW1ucyB7CisgICAganVzdGlmeS1zZWxmOiBpbml0aWFsOworICAg
IGFsaWduLXNlbGY6IGJhc2VsaW5lOworICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCByb3dzIiBzdHls
ZT0iaGVpZ2h0OiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4K
KyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHJvd3MiIHN0eWxlPSJoZWlnaHQ6IDE1MHB4OyI+PC9k
aXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJn
cmlkIHJvd3MiIHN0eWxlPSJtYXgtaGVpZ2h0OiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8
ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHJvd3MiIHN0eWxlPSJt
aW4taGVpZ2h0OiAxNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+
CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCBjb2x1bW5zIiBzdHlsZT0id2lkdGg6IDUwcHg7Ij48
L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1
YmdyaWQgY29sdW1ucyIgc3R5bGU9IndpZHRoOiAxNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAg
PGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCBjb2x1bW5zIiBzdHls
ZT0ibWF4LXdpZHRoOiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlk
Ij4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIGNvbHVtbnMiIHN0eWxlPSJtaW4td2lkdGg6IDE1
MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorCisgIDxicj4KKyAgCisgIDxkaXYgY2xhc3M9ImdyaWQi
PgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgdnJsIHJvd3MiIHN0eWxlPSJ3aWR0aDogNTBweDsi
PjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0i
c3ViZ3JpZCB2cmwgcm93cyIgc3R5bGU9IndpZHRoOiAxNTBweDsiPjwvZGl2PgorICA8L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgcm93cyIg
c3R5bGU9Im1heC13aWR0aDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Z3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgcm93cyIgc3R5bGU9Im1pbi13aWR0
aDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxk
aXYgY2xhc3M9InN1YmdyaWQgdnJsIGNvbHVtbnMiIHN0eWxlPSJoZWlnaHQ6IDUwcHg7Ij48L2Rp
dj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1Ymdy
aWQgdnJsIGNvbHVtbnMiIHN0eWxlPSJoZWlnaHQ6IDE1MHB4OyI+PC9kaXY+CisgIDwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCBjb2x1bW5z
IiBzdHlsZT0ibWF4LWhlaWdodDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgY29sdW1ucyIgc3R5bGU9Im1p
bi1oZWlnaHQ6IDE1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="481784"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455023</attachid>
            <date>2022-03-17 13:51:23 -0700</date>
            <delta_ts>2022-03-17 18:48:03 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-237628-20220318095121.patch</filename>
            <type>text/plain</type>
            <size>17388</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjI1ODQ4NWY2ZGU1NGYx
MDUzYmRmODA2MzE5ZDY4ZTU0OWVjMmQzOS4uOTUwZmVjMGRkNmI1MDMwOTY3MmE0ZmY1OTI0MTQ1
M2QwN2FiODZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIyLTAzLTA4ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgU3ViZ3JpZCBpdGVt
cyBzaG91bGQgYWx3YXlzIGJlIHN0cmV0Y2hlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzYyOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4g
QnVqdGFzLgorCisgICAgICAgIEZpeGVzIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3Jp
ZC0yLyNzdWJncmlkLWJveC1hbGlnbm1lbnQKKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluRnJhZ21lbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNTdHJldGNoZWRMb2dpY2FsSGVpZ2h0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGFzU3RyZXRjaGVkTG9naWNhbFdpZHRo
IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisKKyAgICAgICAgTWFr
ZXMgY29tcHV0ZUxvZ2ljYWxXaWR0aEluRnJhZ21lbnQgdXNlIHRoZSBvdmVycmlkZSBsb2dpY2Fs
IHdpZHRoIGZvciBncmlkIGl0ZW1zCisgICAgICAgIGlmIGl0J3MgYmVlbiBzZXQsIGFzIHdlIGFs
cmVhZHkgZG8gZm9yIGhlaWdodC4gV2UgZG9uJ3QgZWFybHkgcmV0dXJuLCBzbyB0aGF0IG1hcmdp
bnMKKyAgICAgICAgc3RpbGwgZ2V0IGNvbXB1dGVkIHJlbGF0aXZlIHRvIHRoaXMgd2lkdGguCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJHcmlkOjpsYXlvdXRHcmlkSXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6YXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YWxpZ25TZWxmRm9yQ2hpbGQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6anVzdGlmeVNlbGZGb3JDaGlsZCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjphcHBseVN0cmV0Y2hBbGlnbm1lbnRU
b0NoaWxkSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YXBwbHlTdWJn
cmlkU3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuaDoKKworICAgICAgICBTZXRzIHRoZSByZXF1aXJlZCBvdmVycmlkZSB3aWR0
aC9oZWlnaHQgc2l6ZSBvbiBzdWJncmlkIGl0ZW1zIHNvIHRoYXQgdGhleSBnZXQKKyAgICAgICAg
c3RyZXRjaGVkLgorCiAyMDIyLTAzLTA4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBw
bGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gbWV0YWRhdGEgY3VlIGVuZFRpbWUgbWF5IG5vdCBi
ZSB1cGRhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGM0MTZi
ZTkxZmYzZjU2OTcyYmNhYjRhMDVjNjg5NTNkODliYzYxMzAuLmJlZTk2ZTA2NWVkYzY3YWMzMmY1
MjVhNTA1M2Y0ZjAwZjgxN2Q3NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwCkBAIC0yNzI2LDcgKzI3MjYsOSBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxX
aWR0aEluRnJhZ21lbnQoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wdQogICAgICAg
ICBjb250YWluZXJXaWR0aEluSW5saW5lRGlyZWN0aW9uID0gcGVycGVuZGljdWxhckNvbnRhaW5p
bmdCbG9ja0xvZ2ljYWxIZWlnaHQoKTsKIAogICAgIC8vIFdpZHRoIGNhbGN1bGF0aW9ucwotICAg
IGlmICh0cmVhdEFzUmVwbGFjZWQpIHsKKyAgICBpZiAoaXNHcmlkSXRlbSgpICYmIGhhc092ZXJy
aWRpbmdMb2dpY2FsV2lkdGgoKSkgeworICAgICAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9
IG92ZXJyaWRpbmdMb2dpY2FsV2lkdGgoKTsKKyAgICB9IGVsc2UgaWYgKHRyZWF0QXNSZXBsYWNl
ZCkgewogICAgICAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGxvZ2ljYWxXaWR0aExlbmd0
aC52YWx1ZSgpICsgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpOwogICAgIH0gZWxzZSBp
ZiAoc2hvdWxkQ29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRpbygpICYmIHN0eWxlKCku
bG9naWNhbFdpZHRoKCkuaXNBdXRvKCkpIHsKICAgICAgICAgY29tcHV0ZWRWYWx1ZXMubV9leHRl
bnQgPSBjb21wdXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKGZyYWdtZW50KTsKQEAgLTI4
NzksNyArMjg4MSwxMSBAQCBib29sIFJlbmRlckJveDo6aGFzU3RyZXRjaGVkTG9naWNhbEhlaWdo
dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKGNvbnRhaW5p
bmdCbG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5n
TW9kZSgpKQorICAgICAgICBpZiAoaXM8UmVuZGVyR3JpZD4odGhpcykgJiYgZG93bmNhc3Q8UmVu
ZGVyR3JpZD4odGhpcyktPmlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvckNvbHVtbnMpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIHJldHVybiBzdHlsZS5yZXNvbHZlZEp1
c3RpZnlTZWxmKCZjb250YWluaW5nQmxvY2stPnN0eWxlKCksIGNvbnRhaW5pbmdCbG9jay0+c2Vs
ZkFsaWdubWVudE5vcm1hbEJlaGF2aW9yKHRoaXMpKS5wb3NpdGlvbigpID09IEl0ZW1Qb3NpdGlv
bjo6U3RyZXRjaDsKKyAgICBpZiAoaXM8UmVuZGVyR3JpZD4odGhpcykgJiYgZG93bmNhc3Q8UmVu
ZGVyR3JpZD4odGhpcyktPmlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJvd3MpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gc3R5bGUucmVzb2x2ZWRBbGlnblNlbGYoJmNv
bnRhaW5pbmdCbG9jay0+c3R5bGUoKSwgY29udGFpbmluZ0Jsb2NrLT5zZWxmQWxpZ25tZW50Tm9y
bWFsQmVoYXZpb3IodGhpcykpLnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOwog
fQogCkBAIC0yODk3LDcgKzI5MDMsMTEgQEAgYm9vbCBSZW5kZXJCb3g6Omhhc1N0cmV0Y2hlZExv
Z2ljYWxXaWR0aChTdHJldGNoaW5nTW9kZSBzdHJldGNoaW5nTW9kZSkgY29uc3QKICAgICB9CiAg
ICAgYXV0byBub3JtYWxJdGVtUG9zaXRpb24gPSBzdHJldGNoaW5nTW9kZSA9PSBTdHJldGNoaW5n
TW9kZTo6QW55ID8gY29udGFpbmluZ0Jsb2NrLT5zZWxmQWxpZ25tZW50Tm9ybWFsQmVoYXZpb3Io
dGhpcykgOiBJdGVtUG9zaXRpb246Ok5vcm1hbDsKICAgICBpZiAoY29udGFpbmluZ0Jsb2NrLT5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisg
ICAgICAgIGlmIChpczxSZW5kZXJHcmlkPih0aGlzKSAmJiBkb3duY2FzdDxSZW5kZXJHcmlkPih0
aGlzKS0+aXNTdWJncmlkSW5QYXJlbnREaXJlY3Rpb24oRm9yUm93cykpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgcmV0dXJuIHN0eWxlLnJlc29sdmVkQWxpZ25TZWxmKCZjb250
YWluaW5nQmxvY2stPnN0eWxlKCksIG5vcm1hbEl0ZW1Qb3NpdGlvbikucG9zaXRpb24oKSA9PSBJ
dGVtUG9zaXRpb246OlN0cmV0Y2g7CisgICAgaWYgKGlzPFJlbmRlckdyaWQ+KHRoaXMpICYmIGRv
d25jYXN0PFJlbmRlckdyaWQ+KHRoaXMpLT5pc1N1YmdyaWRJblBhcmVudERpcmVjdGlvbihGb3JD
b2x1bW5zKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIHN0eWxlLnJlc29sdmVk
SnVzdGlmeVNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5bGUoKSwgbm9ybWFsSXRlbVBvc2l0aW9u
KS5wb3NpdGlvbigpID09IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaDsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IGQ1NGUxN2IyYjA5NzUwYzQxZmFjZTVlYzM1
YmQ2MjcwYzE5MTc1YTEuLjNkZWFmZWRmMjFhNmMwMzg5NTczZDQyMGEwNTY0ZGZhYjlhOGRiYmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTEwNTUsNiArMTA1
NSw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0R3JpZEl0ZW1zKCkKICAgICAgICAgLy8gY2Fs
bCB0byBhdm9pZCB1bm5lY2Vzc2FyeSByZWxheW91dHMuIFRoaXMgbWlnaHQgaW1wbHkgdGhhdCBj
aGlsZCBtYXJnaW5zLCBuZWVkZWQgdG8gY29ycmVjdGx5CiAgICAgICAgIC8vIGRldGVybWluZSB0
aGUgYXZhaWxhYmxlIHNwYWNlIGJlZm9yZSBzdHJldGNoaW5nLCBhcmUgbm90IHNldCB5ZXQuCiAg
ICAgICAgIGFwcGx5U3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZCgqY2hpbGQpOworICAg
ICAgICBhcHBseVN1YmdyaWRTdHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKCpjaGlsZCk7
CiAKICAgICAgICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CiAKQEAgLTExOTksMTcgKzEyMDAs
MTkgQEAgc3RhdGljIExheW91dFVuaXQgY29tcHV0ZU92ZXJmbG93QWxpZ25tZW50T2Zmc2V0KE92
ZXJmbG93QWxpZ25tZW50IG92ZXJmbG93LCBMYXkKICAgICByZXR1cm4gMDsKIH0KIAotTGF5b3V0
VW5pdCBSZW5kZXJHcmlkOjphdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3Ry
ZXRjaGluZyhMYXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkLCBjb25zdCBSZW5kZXJC
b3gmIGNoaWxkKSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjphdmFpbGFibGVBbGlnbm1l
bnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhMYXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0
aEZvckNoaWxkLCBjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rp
b24gZGlyZWN0aW9uKSBjb25zdAogewogICAgIC8vIEJlY2F1c2Ugd2Ugd2FudCB0byBhdm9pZCBt
dWx0aXBsZSBsYXlvdXRzLCBzdHJldGNoaW5nIGxvZ2ljIG1pZ2h0IGJlIHBlcmZvcm1lZCBiZWZv
cmUKICAgICAvLyBjaGlsZHJlbiBhcmUgbGFpZCBvdXQsIHNvIHdlIGNhbid0IHVzZSB0aGUgY2hp
bGQgY2FjaGVkIHZhbHVlcy4gSGVuY2UsIHdlIG5lZWQgdG8KICAgICAvLyBjb21wdXRlIG1hcmdp
bnMgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGJlZm9yZSBzdHJl
dGNoaW5nLgotICAgIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBjaGlsZEJsb2NrRmxvd0RpcmVj
dGlvbiA9IEdyaWRMYXlvdXRGdW5jdGlvbnM6OmZsb3dBd2FyZURpcmVjdGlvbkZvckNoaWxkKCp0
aGlzLCBjaGlsZCwgRm9yUm93cyk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KDBfbHUsIGdyaWRBcmVh
QnJlYWR0aEZvckNoaWxkIC0gR3JpZExheW91dEZ1bmN0aW9uczo6bWFyZ2luTG9naWNhbFNpemVG
b3JDaGlsZCgqdGhpcywgY2hpbGRCbG9ja0Zsb3dEaXJlY3Rpb24sIGNoaWxkKSk7CisgICAgYXV0
byBjaGlsZEZsb3dEaXJlY3Rpb24gPSBHcmlkTGF5b3V0RnVuY3Rpb25zOjpmbG93QXdhcmVEaXJl
Y3Rpb25Gb3JDaGlsZCgqdGhpcywgY2hpbGQsIGRpcmVjdGlvbik7CisgICAgcmV0dXJuIHN0ZDo6
bWF4KDBfbHUsIGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkIC0gR3JpZExheW91dEZ1bmN0aW9uczo6
bWFyZ2luTG9naWNhbFNpemVGb3JDaGlsZCgqdGhpcywgY2hpbGRGbG93RGlyZWN0aW9uLCBjaGls
ZCkpOwogfQogCiBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OmFsaWduU2VsZkZv
ckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIFN0cmV0Y2hpbmdNb2RlIHN0cmV0Y2hpbmdN
b2RlLCBjb25zdCBSZW5kZXJTdHlsZSogZ3JpZFN0eWxlKSBjb25zdAogeworICAgIGlmIChpc1N1
YmdyaWRJblBhcmVudERpcmVjdGlvbihGb3JSb3dzKSkKKyAgICAgICAgcmV0dXJuIHsgSXRlbVBv
c2l0aW9uOjpTdHJldGNoLCBPdmVyZmxvd0FsaWdubWVudDo6RGVmYXVsdCB9OwogICAgIGlmICgh
Z3JpZFN0eWxlKQogICAgICAgICBncmlkU3R5bGUgPSAmc3R5bGUoKTsKICAgICBhdXRvIG5vcm1h
bEJlaGF2aW9yID0gc3RyZXRjaGluZ01vZGUgPT0gU3RyZXRjaGluZ01vZGU6OkFueSA/IHNlbGZB
bGlnbm1lbnROb3JtYWxCZWhhdmlvcigmY2hpbGQpIDogSXRlbVBvc2l0aW9uOjpOb3JtYWw7CkBA
IC0xMjE4LDYgKzEyMjEsOCBAQCBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OmFs
aWduU2VsZkZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIFN0cgogCiBTdHlsZVNlbGZB
bGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6Omp1c3RpZnlTZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVy
Qm94JiBjaGlsZCwgU3RyZXRjaGluZ01vZGUgc3RyZXRjaGluZ01vZGUsIGNvbnN0IFJlbmRlclN0
eWxlKiBncmlkU3R5bGUpIGNvbnN0CiB7CisgICAgaWYgKGlzU3ViZ3JpZEluUGFyZW50RGlyZWN0
aW9uKEZvckNvbHVtbnMpKQorICAgICAgICByZXR1cm4geyBJdGVtUG9zaXRpb246OlN0cmV0Y2gs
IE92ZXJmbG93QWxpZ25tZW50OjpEZWZhdWx0IH07CiAgICAgaWYgKCFncmlkU3R5bGUpCiAgICAg
ICAgIGdyaWRTdHlsZSA9ICZzdHlsZSgpOwogICAgIGF1dG8gbm9ybWFsQmVoYXZpb3IgPSBzdHJl
dGNoaW5nTW9kZSA9PSBTdHJldGNoaW5nTW9kZTo6QW55ID8gc2VsZkFsaWdubWVudE5vcm1hbEJl
aGF2aW9yKCZjaGlsZCkgOiBJdGVtUG9zaXRpb246Ok5vcm1hbDsKQEAgLTEyNTEsNyArMTI1Niw3
IEBAIHZvaWQgUmVuZGVyR3JpZDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVk
KFJlbmRlckJveCYgY2hpbGQpCiAgICAgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMgPSBjaGls
ZEJsb2NrRGlyZWN0aW9uID09IEZvclJvd3M7CiAgICAgYm9vbCBhbGxvd2VkVG9TdHJldGNoQ2hp
bGRCbG9ja1NpemUgPSBibG9ja0Zsb3dJc0NvbHVtbkF4aXMgPyBhbGxvd2VkVG9TdHJldGNoQ2hp
bGRBbG9uZ0NvbHVtbkF4aXMoY2hpbGQpIDogYWxsb3dlZFRvU3RyZXRjaENoaWxkQWxvbmdSb3dB
eGlzKGNoaWxkKTsKICAgICBpZiAoYWxsb3dlZFRvU3RyZXRjaENoaWxkQmxvY2tTaXplICYmICFh
c3BlY3RSYXRpb1ByZWZlcnNJbmxpbmUoY2hpbGQsIGJsb2NrRmxvd0lzQ29sdW1uQXhpcykpIHsK
LSAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRMb2dpY2FsSGVpZ2h0ID0gYXZhaWxhYmxlQWxp
Z25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcoR3JpZExheW91dEZ1bmN0aW9uczo6
b3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9ja0NvbnRlbnRTaXplRm9yQ2hpbGQoY2hpbGQsIGNoaWxk
QmxvY2tEaXJlY3Rpb24pLnZhbHVlKCksIGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJl
dGNoZWRMb2dpY2FsSGVpZ2h0ID0gYXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9y
ZVN0cmV0Y2hpbmcoR3JpZExheW91dEZ1bmN0aW9uczo6b3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9j
a0NvbnRlbnRTaXplRm9yQ2hpbGQoY2hpbGQsIGNoaWxkQmxvY2tEaXJlY3Rpb24pLnZhbHVlKCks
IGNoaWxkLCBGb3JSb3dzKTsKICAgICAgICAgTGF5b3V0VW5pdCBkZXNpcmVkTG9naWNhbEhlaWdo
dCA9IGNoaWxkLmNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heChzdHJldGNoZWRMb2dpY2Fs
SGVpZ2h0LCBzdGQ6Om51bGxvcHQpOwogICAgICAgICBjaGlsZC5zZXRPdmVycmlkaW5nTG9naWNh
bEhlaWdodChkZXNpcmVkTG9naWNhbEhlaWdodCk7CiAKQEAgLTEyNjQsMTIgKzEyNjksMzAgQEAg
dm9pZCBSZW5kZXJHcmlkOjphcHBseVN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkSWZOZWVkZWQoUmVu
ZGVyQm94JiBjaGlsZCkKICAgICAgICAgICAgIGNoaWxkLnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5
VGhpcyk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFhbGxvd2VkVG9TdHJldGNoQ2hpbGRC
bG9ja1NpemUgJiYgYWxsb3dlZFRvU3RyZXRjaENoaWxkQWxvbmdSb3dBeGlzKGNoaWxkKSkgewot
ICAgICAgICBMYXlvdXRVbml0IHN0cmV0Y2hlZExvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUFsaWdu
bWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKEdyaWRMYXlvdXRGdW5jdGlvbnM6Om92
ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxkKGNoaWxkLCBjaGlsZElu
bGluZURpcmVjdGlvbikudmFsdWUoKSwgY2hpbGQpOworICAgICAgICBMYXlvdXRVbml0IHN0cmV0
Y2hlZExvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVT
dHJldGNoaW5nKEdyaWRMYXlvdXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250YWluaW5nQmxvY2tD
b250ZW50U2l6ZUZvckNoaWxkKGNoaWxkLCBjaGlsZElubGluZURpcmVjdGlvbikudmFsdWUoKSwg
Y2hpbGQsIEZvckNvbHVtbnMpOwogICAgICAgICBMYXlvdXRVbml0IGRlc2lyZWRMb2dpY2FsV2lk
dGggPSBjaGlsZC5jb25zdHJhaW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoc3RyZXRj
aGVkTG9naWNhbFdpZHRoLCBjb250ZW50V2lkdGgoKSwgKnRoaXMsIG51bGxwdHIpOwogICAgICAg
ICBjaGlsZC5zZXRPdmVycmlkaW5nTG9naWNhbFdpZHRoKGRlc2lyZWRMb2dpY2FsV2lkdGgpOwog
ICAgICAgICBpZiAoZGVzaXJlZExvZ2ljYWxXaWR0aCAhPSBjaGlsZC5sb2dpY2FsV2lkdGgoKSkK
ICAgICAgICAgICAgIGNoaWxkLnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7Ci0gICAgfSAK
KyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyR3JpZDo6YXBwbHlTdWJncmlkU3RyZXRjaEFsaWdubWVu
dFRvQ2hpbGRJZk5lZWRlZChSZW5kZXJCb3gmIGNoaWxkKQoreworICAgIGlmICghaXM8UmVuZGVy
R3JpZD4oY2hpbGQpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZG93bmNhc3Q8UmVuZGVy
R3JpZD4oY2hpbGQpLmlzU3ViZ3JpZChGb3JSb3dzKSkgeworICAgICAgICBhdXRvIGNoaWxkQmxv
Y2tEaXJlY3Rpb24gPSBHcmlkTGF5b3V0RnVuY3Rpb25zOjpmbG93QXdhcmVEaXJlY3Rpb25Gb3JD
aGlsZCgqdGhpcywgY2hpbGQsIEZvclJvd3MpOworICAgICAgICBhdXRvIHN0cmV0Y2hlZExvZ2lj
YWxIZWlnaHQgPSBhdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGlu
ZyhHcmlkTGF5b3V0RnVuY3Rpb25zOjpvdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudFNp
emVGb3JDaGlsZChjaGlsZCwgY2hpbGRCbG9ja0RpcmVjdGlvbikudmFsdWUoKSwgY2hpbGQsIEZv
clJvd3MpOworICAgICAgICBjaGlsZC5zZXRPdmVycmlkaW5nTG9naWNhbEhlaWdodChzdHJldGNo
ZWRMb2dpY2FsSGVpZ2h0KTsKKyAgICB9CisKKyAgICBpZiAoZG93bmNhc3Q8UmVuZGVyR3JpZD4o
Y2hpbGQpLmlzU3ViZ3JpZChGb3JDb2x1bW5zKSkgeworICAgICAgICBhdXRvIGNoaWxkSW5saW5l
RGlyZWN0aW9uID0gR3JpZExheW91dEZ1bmN0aW9uczo6Zmxvd0F3YXJlRGlyZWN0aW9uRm9yQ2hp
bGQoKnRoaXMsIGNoaWxkLCBGb3JDb2x1bW5zKTsKKyAgICAgICAgYXV0byBzdHJldGNoZWRMb2dp
Y2FsV2lkdGggPSBhdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGlu
ZyhHcmlkTGF5b3V0RnVuY3Rpb25zOjpvdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudFNp
emVGb3JDaGlsZChjaGlsZCwgY2hpbGRJbmxpbmVEaXJlY3Rpb24pLnZhbHVlKCksIGNoaWxkLCBG
b3JDb2x1bW5zKTsKKyAgICAgICAgY2hpbGQuc2V0T3ZlcnJpZGluZ0xvZ2ljYWxXaWR0aChzdHJl
dGNoZWRMb2dpY2FsV2lkdGgpOworICAgIH0KIH0KIAogLy8gRklYTUU6IFRoaXMgbG9naWMgaXMg
c2hhcmVkIGJ5IFJlbmRlckZsZXhpYmxlQm94LCBzbyBpdCBzaG91bGQgYmUgbW92ZWQgdG8gUmVu
ZGVyQm94LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKaW5kZXggOWIyYWFjMTE4
MGNlZGM2MzNlNDBiNjBiYWYwNzY3MDI1YmQ2YzJhZS4uMTg0ZTY0MmJhYzIzMzczYjBlMmRlM2Qz
OGJjY2FiZTdmZmNjMjJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCkBA
IC0xOTEsMTAgKzE5MSwxMSBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgZ3JpZEFyZWFCcmVh
ZHRoRm9yQ2hpbGRJbmNsdWRpbmdBbGlnbm1lbnRPZmZzZXRzKGNvbnN0IFJlbmRlckJveCYsIEdy
aWRUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CiAKICAgICB2b2lkIHBhaW50Q2hpbGRyZW4o
UGFpbnRJbmZvJiBmb3JTZWxmLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsIFBhaW50
SW5mbyYgZm9yQ2hpbGQsIGJvb2wgdXNlUHJpbnRSZWN0KSBvdmVycmlkZTsKLSAgICBMYXlvdXRV
bml0IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKExheW91
dFVuaXQgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0Owor
ICAgIExheW91dFVuaXQgYXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0
Y2hpbmcoTGF5b3V0VW5pdCBncmlkQXJlYUJyZWFkdGhGb3JDaGlsZCwgY29uc3QgUmVuZGVyQm94
JiwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uKSBjb25zdDsKICAgICBTdHlsZVNlbGZBbGlnbm1l
bnREYXRhIGp1c3RpZnlTZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiwgU3RyZXRjaGluZ01v
ZGUgPSBTdHJldGNoaW5nTW9kZTo6QW55LCBjb25zdCBSZW5kZXJTdHlsZSogPSBudWxscHRyKSBj
b25zdDsKICAgICBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIGFsaWduU2VsZkZvckNoaWxkKGNvbnN0
IFJlbmRlckJveCYsIFN0cmV0Y2hpbmdNb2RlID0gU3RyZXRjaGluZ01vZGU6OkFueSwgY29uc3Qg
UmVuZGVyU3R5bGUqID0gbnVsbHB0cikgY29uc3Q7CiAgICAgdm9pZCBhcHBseVN0cmV0Y2hBbGln
bm1lbnRUb0NoaWxkSWZOZWVkZWQoUmVuZGVyQm94Jik7CisgICAgdm9pZCBhcHBseVN1YmdyaWRT
dHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKFJlbmRlckJveCYpOwogICAgIGJvb2wgaGFz
QXV0b1NpemVJbkNvbHVtbkF4aXMoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3Q7CiAgICAg
Ym9vbCBoYXNBdXRvU2l6ZUluUm93QXhpcyhjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdDsK
ICAgICBib29sIGFsbG93ZWRUb1N0cmV0Y2hDaGlsZEFsb25nQ29sdW1uQXhpcyhjb25zdCBSZW5k
ZXJCb3gmIGNoaWxkKSBjb25zdCB7IHJldHVybiBhbGlnblNlbGZGb3JDaGlsZChjaGlsZCkucG9z
aXRpb24oKSA9PSBJdGVtUG9zaXRpb246OlN0cmV0Y2ggJiYgaGFzQXV0b1NpemVJbkNvbHVtbkF4
aXMoY2hpbGQpICYmICFoYXNBdXRvTWFyZ2luc0luQ29sdW1uQXhpcyhjaGlsZCk7IH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQ5YmI3NGUxYTkwMDRlN2U4YTQyMjU4NmVlNTMx
Zjc0OWE3Mzg3M2MuLmY3MTE1MzhkMTI0OGI0NTkwMDQ0ODRhOGFjZWI3YjdiYmJmMGY4ZGIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAzLTA4
ICBNYXR0IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgU3ViZ3Jp
ZCBpdGVtcyBzaG91bGQgYWx3YXlzIGJlIHN0cmV0Y2hlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzYyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IEFsYW4gQnVqdGFzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNo
Lmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZGVkIG5ldyBXUFQgdGVzdCBjb3ZlcmluZyB2YXJp
b3VzIHdpZHRoL2hlaWdodCBhbmQgYWxpZ25lbWVudCBjb250cmFpbnRzIHRoYXQgc2hvdWxkIGJl
CisgICAgICAgIGlnbm9yZWQgc2luY2Ugc3ViZ3JpZHMgYXJlIGFsd2F5cyBzdHJldGNoZWQuCisK
IDIwMjItMDMtMDggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgW3dlYi1hbmltYXRpb25zXSBjb2xvci1pbnRlcnBvbGF0aW9uIHNob3VsZCBzdXBwb3J0IGRp
c2NyZXRlIGFuaW1hdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0cmV0Y2gtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNoLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzNlODY2OWRhMDE3ODc4MjZlYTI3ODk1MzIzZjE3YjViM2E2YTJjOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNoLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCAr
MSw0MiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorICA8dGl0bGU+Q1NTIEdyaWQgVGVzdDogVGhlIHN1YmdyaWQgaXMgYWx3YXlzIHN0
cmV0Y2hlZCBpbiBpdHMgc3ViZ3JpZGRlZCBkaW1lbnNpb24ocyk8L3RpdGxlPgorICA8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3b29kcm93
QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nz
d2cub3JnL2Nzcy1ncmlkLTIvI3N1YmdyaWQtYm94LWFsaWdubWVudCI+CisgIDxzdHlsZT4KKyAg
IGJvZHkgeworICAgICBtYXJnaW46IDA7CisgICB9CisgIC5ncmlkIHsKKyAgICBkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2Pgor
CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2Pgor
CisgIDxicj4KKworICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3Jp
ZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlk
Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQi
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1z
dHJldGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMy
MWUxMmQyYTNiYTZkMWJhYjM2MjNjMzg1MTUzYjIzNzVjMWI0NDEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC5odG1sCkBAIC0wLDAgKzEsOTYgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+PGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxl
PkNTUyBHcmlkIFRlc3Q6IFRoZSBzdWJncmlkIGlzIGFsd2F5cyBzdHJldGNoZWQgaW4gaXRzIHN1
YmdyaWRkZWQgZGltZW5zaW9uKHMpPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJNYXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0y
LyNzdWJncmlkLWJveC1hbGlnbm1lbnQiPgorICA8bGluayByZWw9Im1hdGNoIiBocmVmPSJzdWJn
cmlkLXN0cmV0Y2gtcmVmLmh0bWwiPgorICA8c3R5bGU+CisgIGJvZHkgeworICAgIG1hcmdpbjog
MDsKKyAgfQorICAuZ3JpZCB7CisgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7CisgICAgZ3JpZC10
ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweDsKKyAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwMHB4Owor
ICB9CisgIC5zdWJncmlkIHsKKyAgICBkaXNwbGF5OiBncmlkOworICAgIGJhY2tncm91bmQtY29s
b3I6IGJsdWU7CisgIH0KKyAgLnJvd3MgeworICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3Jp
ZDsKKyAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTsKKyAgfQorICAuY29sdW1ucyB7CisgICAgZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkOworICAgIGp1c3RpZnktc2VsZjogYmFzZWxpbmU7
CisgIH0KKyAgLnZybCB7CisgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsKKyAgfQorICAu
dnJsLnJvd3MgeworICAgIGFsaWduLXNlbGY6IGluaXRpYWw7CisgICAganVzdGlmeS1zZWxmOiBi
YXNlbGluZTsKKyAgfQorICAudnJsLmNvbHVtbnMgeworICAgIGp1c3RpZnktc2VsZjogaW5pdGlh
bDsKKyAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTsKKyAgfQorICA8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgcm93
cyIgc3R5bGU9ImhlaWdodDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Z3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCByb3dzIiBzdHlsZT0iaGVpZ2h0OiAxNTBw
eDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFz
cz0ic3ViZ3JpZCByb3dzIiBzdHlsZT0ibWF4LWhlaWdodDogNTBweDsiPjwvZGl2PgorICA8L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCByb3dzIiBz
dHlsZT0ibWluLWhlaWdodDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9
ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgY29sdW1ucyIgc3R5bGU9IndpZHRoOiA1
MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNs
YXNzPSJzdWJncmlkIGNvbHVtbnMiIHN0eWxlPSJ3aWR0aDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9k
aXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgY29sdW1u
cyIgc3R5bGU9Im1heC13aWR0aDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCBjb2x1bW5zIiBzdHlsZT0ibWluLXdp
ZHRoOiAxNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKworICA8YnI+CisKKyAgPGRpdiBjbGFzcz0i
Z3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgcm93cyIgc3R5bGU9IndpZHRoOiA1
MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNs
YXNzPSJzdWJncmlkIHZybCByb3dzIiBzdHlsZT0id2lkdGg6IDE1MHB4OyI+PC9kaXY+CisgIDwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCBy
b3dzIiBzdHlsZT0ibWF4LXdpZHRoOiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNs
YXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCByb3dzIiBzdHlsZT0ibWlu
LXdpZHRoOiAxNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+Cisg
ICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgY29sdW1ucyIgc3R5bGU9ImhlaWdodDogNTBweDsi
PjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0i
c3ViZ3JpZCB2cmwgY29sdW1ucyIgc3R5bGU9ImhlaWdodDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9k
aXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgdnJsIGNv
bHVtbnMiIHN0eWxlPSJtYXgtaGVpZ2h0OiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2
IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCBjb2x1bW5zIiBzdHls
ZT0ibWluLWhlaWdodDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisKKzwvYm9keT4KKzwvaHRt
bD4K
</data>
<flag name="commit-queue"
          id="482865"
          type_id="3"
          status="+"
          setter="mattwoodrow"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455039</attachid>
            <date>2022-03-17 15:42:14 -0700</date>
            <delta_ts>2022-03-17 19:34:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-237628-20220318114213.patch</filename>
            <type>text/plain</type>
            <size>17712</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjI1ODQ4NWY2ZGU1NGYx
MDUzYmRmODA2MzE5ZDY4ZTU0OWVjMmQzOS4uOTUwZmVjMGRkNmI1MDMwOTY3MmE0ZmY1OTI0MTQ1
M2QwN2FiODZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIyLTAzLTA4ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgU3ViZ3JpZCBpdGVt
cyBzaG91bGQgYWx3YXlzIGJlIHN0cmV0Y2hlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzYyOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4g
QnVqdGFzLgorCisgICAgICAgIEZpeGVzIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3Jp
ZC0yLyNzdWJncmlkLWJveC1hbGlnbm1lbnQKKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtc3RyZXRjaC5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluRnJhZ21lbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpoYXNTdHJldGNoZWRMb2dpY2FsSGVpZ2h0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGFzU3RyZXRjaGVkTG9naWNhbFdpZHRo
IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94Lmg6CisKKyAgICAgICAgTWFr
ZXMgY29tcHV0ZUxvZ2ljYWxXaWR0aEluRnJhZ21lbnQgdXNlIHRoZSBvdmVycmlkZSBsb2dpY2Fs
IHdpZHRoIGZvciBncmlkIGl0ZW1zCisgICAgICAgIGlmIGl0J3MgYmVlbiBzZXQsIGFzIHdlIGFs
cmVhZHkgZG8gZm9yIGhlaWdodC4gV2UgZG9uJ3QgZWFybHkgcmV0dXJuLCBzbyB0aGF0IG1hcmdp
bnMKKyAgICAgICAgc3RpbGwgZ2V0IGNvbXB1dGVkIHJlbGF0aXZlIHRvIHRoaXMgd2lkdGguCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJHcmlkOjpsYXlvdXRHcmlkSXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6YXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YWxpZ25TZWxmRm9yQ2hpbGQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6anVzdGlmeVNlbGZGb3JDaGlsZCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjphcHBseVN0cmV0Y2hBbGlnbm1lbnRU
b0NoaWxkSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YXBwbHlTdWJn
cmlkU3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuaDoKKworICAgICAgICBTZXRzIHRoZSByZXF1aXJlZCBvdmVycmlkZSB3aWR0
aC9oZWlnaHQgc2l6ZSBvbiBzdWJncmlkIGl0ZW1zIHNvIHRoYXQgdGhleSBnZXQKKyAgICAgICAg
c3RyZXRjaGVkLgorCiAyMDIyLTAzLTA4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBw
bGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gbWV0YWRhdGEgY3VlIGVuZFRpbWUgbWF5IG5vdCBi
ZSB1cGRhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGM0MTZi
ZTkxZmYzZjU2OTcyYmNhYjRhMDVjNjg5NTNkODliYzYxMzAuLjg2M2I4MzUyNjU3NTIyNGY3Yzdk
M2Y5MWRlZDVmNzU3YjJlYmNlNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwCkBAIC0yNzI2LDcgKzI3MjYsOSBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxX
aWR0aEluRnJhZ21lbnQoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBjb21wdQogICAgICAg
ICBjb250YWluZXJXaWR0aEluSW5saW5lRGlyZWN0aW9uID0gcGVycGVuZGljdWxhckNvbnRhaW5p
bmdCbG9ja0xvZ2ljYWxIZWlnaHQoKTsKIAogICAgIC8vIFdpZHRoIGNhbGN1bGF0aW9ucwotICAg
IGlmICh0cmVhdEFzUmVwbGFjZWQpIHsKKyAgICBpZiAoaXNHcmlkSXRlbSgpICYmIGhhc092ZXJy
aWRpbmdMb2dpY2FsV2lkdGgoKSkgeworICAgICAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9
IG92ZXJyaWRpbmdMb2dpY2FsV2lkdGgoKTsKKyAgICB9IGVsc2UgaWYgKHRyZWF0QXNSZXBsYWNl
ZCkgewogICAgICAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGxvZ2ljYWxXaWR0aExlbmd0
aC52YWx1ZSgpICsgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpOwogICAgIH0gZWxzZSBp
ZiAoc2hvdWxkQ29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRpbygpICYmIHN0eWxlKCku
bG9naWNhbFdpZHRoKCkuaXNBdXRvKCkpIHsKICAgICAgICAgY29tcHV0ZWRWYWx1ZXMubV9leHRl
bnQgPSBjb21wdXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKGZyYWdtZW50KTsKQEAgLTI4
NzgsOCArMjg4MCwxMyBAQCBib29sIFJlbmRlckJveDo6aGFzU3RyZXRjaGVkTG9naWNhbEhlaWdo
dCgpIGNvbnN0CiAgICAgICAgIC8vIFRoZSAnbm9ybWFsJyB2YWx1ZSBiZWhhdmVzIGxpa2UgJ3N0
YXJ0JyBleGNlcHQgZm9yIEZsZXhib3ggSXRlbXMsIHdoaWNoIG9idmlvdXNseSBzaG91bGQgaGF2
ZSBhIGNvbnRhaW5lci4KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICBpZiAoY29u
dGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpICE9IGlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkpCisgICAgaWYgKGNvbnRhaW5pbmdCbG9jay0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSB7CisgICAgICAgIGlmIChpczxS
ZW5kZXJHcmlkPih0aGlzKSAmJiBkb3duY2FzdDxSZW5kZXJHcmlkPih0aGlzKS0+aXNTdWJncmlk
SW5QYXJlbnREaXJlY3Rpb24oRm9yQ29sdW1ucykpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgcmV0dXJuIHN0eWxlLnJlc29sdmVkSnVzdGlmeVNlbGYoJmNvbnRhaW5pbmdCbG9j
ay0+c3R5bGUoKSwgY29udGFpbmluZ0Jsb2NrLT5zZWxmQWxpZ25tZW50Tm9ybWFsQmVoYXZpb3Io
dGhpcykpLnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOworICAgIH0KKyAgICBp
ZiAoaXM8UmVuZGVyR3JpZD4odGhpcykgJiYgZG93bmNhc3Q8UmVuZGVyR3JpZD4odGhpcyktPmlz
U3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJvd3MpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICByZXR1cm4gc3R5bGUucmVzb2x2ZWRBbGlnblNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5
bGUoKSwgY29udGFpbmluZ0Jsb2NrLT5zZWxmQWxpZ25tZW50Tm9ybWFsQmVoYXZpb3IodGhpcykp
LnBvc2l0aW9uKCkgPT0gSXRlbVBvc2l0aW9uOjpTdHJldGNoOwogfQogCkBAIC0yODk2LDggKzI5
MDMsMTMgQEAgYm9vbCBSZW5kZXJCb3g6Omhhc1N0cmV0Y2hlZExvZ2ljYWxXaWR0aChTdHJldGNo
aW5nTW9kZSBzdHJldGNoaW5nTW9kZSkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KICAgICBhdXRvIG5vcm1hbEl0ZW1Qb3NpdGlvbiA9IHN0cmV0Y2hpbmdNb2RlID09IFN0cmV0
Y2hpbmdNb2RlOjpBbnkgPyBjb250YWluaW5nQmxvY2stPnNlbGZBbGlnbm1lbnROb3JtYWxCZWhh
dmlvcih0aGlzKSA6IEl0ZW1Qb3NpdGlvbjo6Tm9ybWFsOwotICAgIGlmIChjb250YWluaW5nQmxv
Y2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgIT0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSkKKyAgICBpZiAoY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpICE9
IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRlckdyaWQ+
KHRoaXMpICYmIGRvd25jYXN0PFJlbmRlckdyaWQ+KHRoaXMpLT5pc1N1YmdyaWRJblBhcmVudERp
cmVjdGlvbihGb3JSb3dzKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICByZXR1
cm4gc3R5bGUucmVzb2x2ZWRBbGlnblNlbGYoJmNvbnRhaW5pbmdCbG9jay0+c3R5bGUoKSwgbm9y
bWFsSXRlbVBvc2l0aW9uKS5wb3NpdGlvbigpID09IEl0ZW1Qb3NpdGlvbjo6U3RyZXRjaDsKKyAg
ICB9CisgICAgaWYgKGlzPFJlbmRlckdyaWQ+KHRoaXMpICYmIGRvd25jYXN0PFJlbmRlckdyaWQ+
KHRoaXMpLT5pc1N1YmdyaWRJblBhcmVudERpcmVjdGlvbihGb3JDb2x1bW5zKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIHN0eWxlLnJlc29sdmVkSnVzdGlmeVNlbGYoJmNvbnRh
aW5pbmdCbG9jay0+c3R5bGUoKSwgbm9ybWFsSXRlbVBvc2l0aW9uKS5wb3NpdGlvbigpID09IEl0
ZW1Qb3NpdGlvbjo6U3RyZXRjaDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuY3BwCmluZGV4IGQ1NGUxN2IyYjA5NzUwYzQxZmFjZTVlYzM1YmQ2MjcwYzE5MTc1YTEuLjNk
ZWFmZWRmMjFhNmMwMzg5NTczZDQyMGEwNTY0ZGZhYjlhOGRiYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTEwNTUsNiArMTA1NSw3IEBAIHZvaWQgUmVuZGVy
R3JpZDo6bGF5b3V0R3JpZEl0ZW1zKCkKICAgICAgICAgLy8gY2FsbCB0byBhdm9pZCB1bm5lY2Vz
c2FyeSByZWxheW91dHMuIFRoaXMgbWlnaHQgaW1wbHkgdGhhdCBjaGlsZCBtYXJnaW5zLCBuZWVk
ZWQgdG8gY29ycmVjdGx5CiAgICAgICAgIC8vIGRldGVybWluZSB0aGUgYXZhaWxhYmxlIHNwYWNl
IGJlZm9yZSBzdHJldGNoaW5nLCBhcmUgbm90IHNldCB5ZXQuCiAgICAgICAgIGFwcGx5U3RyZXRj
aEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZCgqY2hpbGQpOworICAgICAgICBhcHBseVN1YmdyaWRT
dHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKCpjaGlsZCk7CiAKICAgICAgICAgY2hpbGQt
PmxheW91dElmTmVlZGVkKCk7CiAKQEAgLTExOTksMTcgKzEyMDAsMTkgQEAgc3RhdGljIExheW91
dFVuaXQgY29tcHV0ZU92ZXJmbG93QWxpZ25tZW50T2Zmc2V0KE92ZXJmbG93QWxpZ25tZW50IG92
ZXJmbG93LCBMYXkKICAgICByZXR1cm4gMDsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjph
dmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhMYXlvdXRVbml0
IGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkLCBjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAor
TGF5b3V0VW5pdCBSZW5kZXJHcmlkOjphdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVm
b3JlU3RyZXRjaGluZyhMYXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkLCBjb25zdCBS
ZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25z
dAogewogICAgIC8vIEJlY2F1c2Ugd2Ugd2FudCB0byBhdm9pZCBtdWx0aXBsZSBsYXlvdXRzLCBz
dHJldGNoaW5nIGxvZ2ljIG1pZ2h0IGJlIHBlcmZvcm1lZCBiZWZvcmUKICAgICAvLyBjaGlsZHJl
biBhcmUgbGFpZCBvdXQsIHNvIHdlIGNhbid0IHVzZSB0aGUgY2hpbGQgY2FjaGVkIHZhbHVlcy4g
SGVuY2UsIHdlIG5lZWQgdG8KICAgICAvLyBjb21wdXRlIG1hcmdpbnMgaW4gb3JkZXIgdG8gZGV0
ZXJtaW5lIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGJlZm9yZSBzdHJldGNoaW5nLgotICAgIEdyaWRU
cmFja1NpemluZ0RpcmVjdGlvbiBjaGlsZEJsb2NrRmxvd0RpcmVjdGlvbiA9IEdyaWRMYXlvdXRG
dW5jdGlvbnM6OmZsb3dBd2FyZURpcmVjdGlvbkZvckNoaWxkKCp0aGlzLCBjaGlsZCwgRm9yUm93
cyk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KDBfbHUsIGdyaWRBcmVhQnJlYWR0aEZvckNoaWxkIC0g
R3JpZExheW91dEZ1bmN0aW9uczo6bWFyZ2luTG9naWNhbFNpemVGb3JDaGlsZCgqdGhpcywgY2hp
bGRCbG9ja0Zsb3dEaXJlY3Rpb24sIGNoaWxkKSk7CisgICAgYXV0byBjaGlsZEZsb3dEaXJlY3Rp
b24gPSBHcmlkTGF5b3V0RnVuY3Rpb25zOjpmbG93QXdhcmVEaXJlY3Rpb25Gb3JDaGlsZCgqdGhp
cywgY2hpbGQsIGRpcmVjdGlvbik7CisgICAgcmV0dXJuIHN0ZDo6bWF4KDBfbHUsIGdyaWRBcmVh
QnJlYWR0aEZvckNoaWxkIC0gR3JpZExheW91dEZ1bmN0aW9uczo6bWFyZ2luTG9naWNhbFNpemVG
b3JDaGlsZCgqdGhpcywgY2hpbGRGbG93RGlyZWN0aW9uLCBjaGlsZCkpOwogfQogCiBTdHlsZVNl
bGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OmFsaWduU2VsZkZvckNoaWxkKGNvbnN0IFJlbmRl
ckJveCYgY2hpbGQsIFN0cmV0Y2hpbmdNb2RlIHN0cmV0Y2hpbmdNb2RlLCBjb25zdCBSZW5kZXJT
dHlsZSogZ3JpZFN0eWxlKSBjb25zdAogeworICAgIGlmIChpc1N1YmdyaWRJblBhcmVudERpcmVj
dGlvbihGb3JSb3dzKSkKKyAgICAgICAgcmV0dXJuIHsgSXRlbVBvc2l0aW9uOjpTdHJldGNoLCBP
dmVyZmxvd0FsaWdubWVudDo6RGVmYXVsdCB9OwogICAgIGlmICghZ3JpZFN0eWxlKQogICAgICAg
ICBncmlkU3R5bGUgPSAmc3R5bGUoKTsKICAgICBhdXRvIG5vcm1hbEJlaGF2aW9yID0gc3RyZXRj
aGluZ01vZGUgPT0gU3RyZXRjaGluZ01vZGU6OkFueSA/IHNlbGZBbGlnbm1lbnROb3JtYWxCZWhh
dmlvcigmY2hpbGQpIDogSXRlbVBvc2l0aW9uOjpOb3JtYWw7CkBAIC0xMjE4LDYgKzEyMjEsOCBA
QCBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OmFsaWduU2VsZkZvckNoaWxkKGNv
bnN0IFJlbmRlckJveCYgY2hpbGQsIFN0cgogCiBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRl
ckdyaWQ6Omp1c3RpZnlTZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgU3RyZXRj
aGluZ01vZGUgc3RyZXRjaGluZ01vZGUsIGNvbnN0IFJlbmRlclN0eWxlKiBncmlkU3R5bGUpIGNv
bnN0CiB7CisgICAgaWYgKGlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvckNvbHVtbnMpKQor
ICAgICAgICByZXR1cm4geyBJdGVtUG9zaXRpb246OlN0cmV0Y2gsIE92ZXJmbG93QWxpZ25tZW50
OjpEZWZhdWx0IH07CiAgICAgaWYgKCFncmlkU3R5bGUpCiAgICAgICAgIGdyaWRTdHlsZSA9ICZz
dHlsZSgpOwogICAgIGF1dG8gbm9ybWFsQmVoYXZpb3IgPSBzdHJldGNoaW5nTW9kZSA9PSBTdHJl
dGNoaW5nTW9kZTo6QW55ID8gc2VsZkFsaWdubWVudE5vcm1hbEJlaGF2aW9yKCZjaGlsZCkgOiBJ
dGVtUG9zaXRpb246Ok5vcm1hbDsKQEAgLTEyNTEsNyArMTI1Niw3IEBAIHZvaWQgUmVuZGVyR3Jp
ZDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9DaGlsZElmTmVlZGVkKFJlbmRlckJveCYgY2hpbGQp
CiAgICAgYm9vbCBibG9ja0Zsb3dJc0NvbHVtbkF4aXMgPSBjaGlsZEJsb2NrRGlyZWN0aW9uID09
IEZvclJvd3M7CiAgICAgYm9vbCBhbGxvd2VkVG9TdHJldGNoQ2hpbGRCbG9ja1NpemUgPSBibG9j
a0Zsb3dJc0NvbHVtbkF4aXMgPyBhbGxvd2VkVG9TdHJldGNoQ2hpbGRBbG9uZ0NvbHVtbkF4aXMo
Y2hpbGQpIDogYWxsb3dlZFRvU3RyZXRjaENoaWxkQWxvbmdSb3dBeGlzKGNoaWxkKTsKICAgICBp
ZiAoYWxsb3dlZFRvU3RyZXRjaENoaWxkQmxvY2tTaXplICYmICFhc3BlY3RSYXRpb1ByZWZlcnNJ
bmxpbmUoY2hpbGQsIGJsb2NrRmxvd0lzQ29sdW1uQXhpcykpIHsKLSAgICAgICAgTGF5b3V0VW5p
dCBzdHJldGNoZWRMb2dpY2FsSGVpZ2h0ID0gYXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGls
ZEJlZm9yZVN0cmV0Y2hpbmcoR3JpZExheW91dEZ1bmN0aW9uczo6b3ZlcnJpZGluZ0NvbnRhaW5p
bmdCbG9ja0NvbnRlbnRTaXplRm9yQ2hpbGQoY2hpbGQsIGNoaWxkQmxvY2tEaXJlY3Rpb24pLnZh
bHVlKCksIGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRMb2dpY2FsSGVpZ2h0
ID0gYXZhaWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcoR3JpZExh
eW91dEZ1bmN0aW9uczo6b3ZlcnJpZGluZ0NvbnRhaW5pbmdCbG9ja0NvbnRlbnRTaXplRm9yQ2hp
bGQoY2hpbGQsIGNoaWxkQmxvY2tEaXJlY3Rpb24pLnZhbHVlKCksIGNoaWxkLCBGb3JSb3dzKTsK
ICAgICAgICAgTGF5b3V0VW5pdCBkZXNpcmVkTG9naWNhbEhlaWdodCA9IGNoaWxkLmNvbnN0cmFp
bkxvZ2ljYWxIZWlnaHRCeU1pbk1heChzdHJldGNoZWRMb2dpY2FsSGVpZ2h0LCBzdGQ6Om51bGxv
cHQpOwogICAgICAgICBjaGlsZC5zZXRPdmVycmlkaW5nTG9naWNhbEhlaWdodChkZXNpcmVkTG9n
aWNhbEhlaWdodCk7CiAKQEAgLTEyNjQsMTIgKzEyNjksMzAgQEAgdm9pZCBSZW5kZXJHcmlkOjph
cHBseVN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkSWZOZWVkZWQoUmVuZGVyQm94JiBjaGlsZCkKICAg
ICAgICAgICAgIGNoaWxkLnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CiAgICAgICAgIH0K
ICAgICB9IGVsc2UgaWYgKCFhbGxvd2VkVG9TdHJldGNoQ2hpbGRCbG9ja1NpemUgJiYgYWxsb3dl
ZFRvU3RyZXRjaENoaWxkQWxvbmdSb3dBeGlzKGNoaWxkKSkgewotICAgICAgICBMYXlvdXRVbml0
IHN0cmV0Y2hlZExvZ2ljYWxXaWR0aCA9IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRC
ZWZvcmVTdHJldGNoaW5nKEdyaWRMYXlvdXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250YWluaW5n
QmxvY2tDb250ZW50U2l6ZUZvckNoaWxkKGNoaWxkLCBjaGlsZElubGluZURpcmVjdGlvbikudmFs
dWUoKSwgY2hpbGQpOworICAgICAgICBMYXlvdXRVbml0IHN0cmV0Y2hlZExvZ2ljYWxXaWR0aCA9
IGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKEdyaWRMYXlv
dXRGdW5jdGlvbnM6Om92ZXJyaWRpbmdDb250YWluaW5nQmxvY2tDb250ZW50U2l6ZUZvckNoaWxk
KGNoaWxkLCBjaGlsZElubGluZURpcmVjdGlvbikudmFsdWUoKSwgY2hpbGQsIEZvckNvbHVtbnMp
OwogICAgICAgICBMYXlvdXRVbml0IGRlc2lyZWRMb2dpY2FsV2lkdGggPSBjaGlsZC5jb25zdHJh
aW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoc3RyZXRjaGVkTG9naWNhbFdpZHRoLCBj
b250ZW50V2lkdGgoKSwgKnRoaXMsIG51bGxwdHIpOwogICAgICAgICBjaGlsZC5zZXRPdmVycmlk
aW5nTG9naWNhbFdpZHRoKGRlc2lyZWRMb2dpY2FsV2lkdGgpOwogICAgICAgICBpZiAoZGVzaXJl
ZExvZ2ljYWxXaWR0aCAhPSBjaGlsZC5sb2dpY2FsV2lkdGgoKSkKICAgICAgICAgICAgIGNoaWxk
LnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7Ci0gICAgfSAKKyAgICB9Cit9CisKK3ZvaWQg
UmVuZGVyR3JpZDo6YXBwbHlTdWJncmlkU3RyZXRjaEFsaWdubWVudFRvQ2hpbGRJZk5lZWRlZChS
ZW5kZXJCb3gmIGNoaWxkKQoreworICAgIGlmICghaXM8UmVuZGVyR3JpZD4oY2hpbGQpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAoZG93bmNhc3Q8UmVuZGVyR3JpZD4oY2hpbGQpLmlzU3Vi
Z3JpZChGb3JSb3dzKSkgeworICAgICAgICBhdXRvIGNoaWxkQmxvY2tEaXJlY3Rpb24gPSBHcmlk
TGF5b3V0RnVuY3Rpb25zOjpmbG93QXdhcmVEaXJlY3Rpb25Gb3JDaGlsZCgqdGhpcywgY2hpbGQs
IEZvclJvd3MpOworICAgICAgICBhdXRvIHN0cmV0Y2hlZExvZ2ljYWxIZWlnaHQgPSBhdmFpbGFi
bGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhHcmlkTGF5b3V0RnVuY3Rp
b25zOjpvdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudFNpemVGb3JDaGlsZChjaGlsZCwg
Y2hpbGRCbG9ja0RpcmVjdGlvbikudmFsdWUoKSwgY2hpbGQsIEZvclJvd3MpOworICAgICAgICBj
aGlsZC5zZXRPdmVycmlkaW5nTG9naWNhbEhlaWdodChzdHJldGNoZWRMb2dpY2FsSGVpZ2h0KTsK
KyAgICB9CisKKyAgICBpZiAoZG93bmNhc3Q8UmVuZGVyR3JpZD4oY2hpbGQpLmlzU3ViZ3JpZChG
b3JDb2x1bW5zKSkgeworICAgICAgICBhdXRvIGNoaWxkSW5saW5lRGlyZWN0aW9uID0gR3JpZExh
eW91dEZ1bmN0aW9uczo6Zmxvd0F3YXJlRGlyZWN0aW9uRm9yQ2hpbGQoKnRoaXMsIGNoaWxkLCBG
b3JDb2x1bW5zKTsKKyAgICAgICAgYXV0byBzdHJldGNoZWRMb2dpY2FsV2lkdGggPSBhdmFpbGFi
bGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhHcmlkTGF5b3V0RnVuY3Rp
b25zOjpvdmVycmlkaW5nQ29udGFpbmluZ0Jsb2NrQ29udGVudFNpemVGb3JDaGlsZChjaGlsZCwg
Y2hpbGRJbmxpbmVEaXJlY3Rpb24pLnZhbHVlKCksIGNoaWxkLCBGb3JDb2x1bW5zKTsKKyAgICAg
ICAgY2hpbGQuc2V0T3ZlcnJpZGluZ0xvZ2ljYWxXaWR0aChzdHJldGNoZWRMb2dpY2FsV2lkdGgp
OworICAgIH0KIH0KIAogLy8gRklYTUU6IFRoaXMgbG9naWMgaXMgc2hhcmVkIGJ5IFJlbmRlckZs
ZXhpYmxlQm94LCBzbyBpdCBzaG91bGQgYmUgbW92ZWQgdG8gUmVuZGVyQm94LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKaW5kZXggOWIyYWFjMTE4MGNlZGM2MzNlNDBiNjBiYWYw
NzY3MDI1YmQ2YzJhZS4uMTg0ZTY0MmJhYzIzMzczYjBlMmRlM2QzOGJjY2FiZTdmZmNjMjJiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCkBAIC0xOTEsMTAgKzE5MSwxMSBA
QCBwcml2YXRlOgogICAgIExheW91dFVuaXQgZ3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGRJbmNsdWRp
bmdBbGlnbm1lbnRPZmZzZXRzKGNvbnN0IFJlbmRlckJveCYsIEdyaWRUcmFja1NpemluZ0RpcmVj
dGlvbikgY29uc3Q7CiAKICAgICB2b2lkIHBhaW50Q2hpbGRyZW4oUGFpbnRJbmZvJiBmb3JTZWxm
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsIFBhaW50SW5mbyYgZm9yQ2hpbGQsIGJv
b2wgdXNlUHJpbnRSZWN0KSBvdmVycmlkZTsKLSAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUFsaWdu
bWVudFNwYWNlRm9yQ2hpbGRCZWZvcmVTdHJldGNoaW5nKExheW91dFVuaXQgZ3JpZEFyZWFCcmVh
ZHRoRm9yQ2hpbGQsIGNvbnN0IFJlbmRlckJveCYpIGNvbnN0OworICAgIExheW91dFVuaXQgYXZh
aWxhYmxlQWxpZ25tZW50U3BhY2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcoTGF5b3V0VW5pdCBn
cmlkQXJlYUJyZWFkdGhGb3JDaGlsZCwgY29uc3QgUmVuZGVyQm94JiwgR3JpZFRyYWNrU2l6aW5n
RGlyZWN0aW9uKSBjb25zdDsKICAgICBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIGp1c3RpZnlTZWxm
Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiwgU3RyZXRjaGluZ01vZGUgPSBTdHJldGNoaW5nTW9k
ZTo6QW55LCBjb25zdCBSZW5kZXJTdHlsZSogPSBudWxscHRyKSBjb25zdDsKICAgICBTdHlsZVNl
bGZBbGlnbm1lbnREYXRhIGFsaWduU2VsZkZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYsIFN0cmV0
Y2hpbmdNb2RlID0gU3RyZXRjaGluZ01vZGU6OkFueSwgY29uc3QgUmVuZGVyU3R5bGUqID0gbnVs
bHB0cikgY29uc3Q7CiAgICAgdm9pZCBhcHBseVN0cmV0Y2hBbGlnbm1lbnRUb0NoaWxkSWZOZWVk
ZWQoUmVuZGVyQm94Jik7CisgICAgdm9pZCBhcHBseVN1YmdyaWRTdHJldGNoQWxpZ25tZW50VG9D
aGlsZElmTmVlZGVkKFJlbmRlckJveCYpOwogICAgIGJvb2wgaGFzQXV0b1NpemVJbkNvbHVtbkF4
aXMoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3Q7CiAgICAgYm9vbCBoYXNBdXRvU2l6ZUlu
Um93QXhpcyhjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdDsKICAgICBib29sIGFsbG93ZWRU
b1N0cmV0Y2hDaGlsZEFsb25nQ29sdW1uQXhpcyhjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25z
dCB7IHJldHVybiBhbGlnblNlbGZGb3JDaGlsZChjaGlsZCkucG9zaXRpb24oKSA9PSBJdGVtUG9z
aXRpb246OlN0cmV0Y2ggJiYgaGFzQXV0b1NpemVJbkNvbHVtbkF4aXMoY2hpbGQpICYmICFoYXNB
dXRvTWFyZ2luc0luQ29sdW1uQXhpcyhjaGlsZCk7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGQ5YmI3NGUxYTkwMDRlN2U4YTQyMjU4NmVlNTMxZjc0OWE3Mzg3M2MuLmY3MTE1
MzhkMTI0OGI0NTkwMDQ0ODRhOGFjZWI3YjdiYmJmMGY4ZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAzLTA4ICBNYXR0IFdvb2Ryb3cgIDxt
YXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgU3ViZ3JpZCBpdGVtcyBzaG91bGQgYWx3
YXlzIGJlIHN0cmV0Y2hlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzNzYyOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQt
c3RyZXRjaC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNoLmh0bWw6IEFkZGVkLgorCisg
ICAgICAgIEFkZGVkIG5ldyBXUFQgdGVzdCBjb3ZlcmluZyB2YXJpb3VzIHdpZHRoL2hlaWdodCBh
bmQgYWxpZ25lbWVudCBjb250cmFpbnRzIHRoYXQgc2hvdWxkIGJlCisgICAgICAgIGlnbm9yZWQg
c2luY2Ugc3ViZ3JpZHMgYXJlIGFsd2F5cyBzdHJldGNoZWQuCisKIDIwMjItMDMtMDggIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW3dlYi1hbmltYXRpb25z
XSBjb2xvci1pbnRlcnBvbGF0aW9uIHNob3VsZCBzdXBwb3J0IGRpc2NyZXRlIGFuaW1hdGlvbgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLXN0cmV0Y2gtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1Ymdy
aWQvc3ViZ3JpZC1zdHJldGNoLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNlODY2OWRhMDE3
ODc4MjZlYTI3ODk1MzIzZjE3YjViM2E2YTJjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQv
c3ViZ3JpZC1zdHJldGNoLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBF
IEhUTUw+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+
Q1NTIEdyaWQgVGVzdDogVGhlIHN1YmdyaWQgaXMgYWx3YXlzIHN0cmV0Y2hlZCBpbiBpdHMgc3Vi
Z3JpZGRlZCBkaW1lbnNpb24ocyk8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9
Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3b29kcm93QGFwcGxlLmNvbSI+CisgIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLTIv
I3N1YmdyaWQtYm94LWFsaWdubWVudCI+CisgIDxzdHlsZT4KKyAgIGJvZHkgeworICAgICBtYXJn
aW46IDA7CisgICB9CisgIC5ncmlkIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAg
d2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
Ymx1ZTsKKyAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xhc3M9Imdy
aWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3Jp
ZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorCisgIDxkaXYgY2xhc3M9Imdy
aWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3Jp
ZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorCisgIDxicj4KKworICA8ZGl2
IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYg
Y2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iZ3JpZCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJncmlkIj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+PC9kaXY+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1zdHJldGNoLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJn
cmlkL3N1YmdyaWQtc3RyZXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMWUxMmQyYTNiYTZkMWJhYjM2
MjNjMzg1MTUzYjIzNzVjMWI0NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQt
c3RyZXRjaC5odG1sCkBAIC0wLDAgKzEsOTYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+PGhl
YWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkNTUyBHcmlkIFRlc3Q6IFRo
ZSBzdWJncmlkIGlzIGFsd2F5cyBzdHJldGNoZWQgaW4gaXRzIHN1YmdyaWRkZWQgZGltZW5zaW9u
KHMpPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdvb2Ryb3ciIGhy
ZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0yLyNzdWJncmlkLWJveC1hbGln
bm1lbnQiPgorICA8bGluayByZWw9Im1hdGNoIiBocmVmPSJzdWJncmlkLXN0cmV0Y2gtcmVmLmh0
bWwiPgorICA8c3R5bGU+CisgIGJvZHkgeworICAgIG1hcmdpbjogMDsKKyAgfQorICAuZ3JpZCB7
CisgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7CisgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAx
MDBweDsKKyAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwMHB4OworICB9CisgIC5zdWJncmlkIHsK
KyAgICBkaXNwbGF5OiBncmlkOworICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgIH0KKyAg
LnJvd3MgeworICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDsKKyAgICBhbGlnbi1zZWxm
OiBiYXNlbGluZTsKKyAgfQorICAuY29sdW1ucyB7CisgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5z
OiBzdWJncmlkOworICAgIGp1c3RpZnktc2VsZjogYmFzZWxpbmU7CisgIH0KKyAgLnZybCB7Cisg
ICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDsKKyAgfQorICAudnJsLnJvd3MgeworICAgIGFs
aWduLXNlbGY6IGluaXRpYWw7CisgICAganVzdGlmeS1zZWxmOiBiYXNlbGluZTsKKyAgfQorICAu
dnJsLmNvbHVtbnMgeworICAgIGp1c3RpZnktc2VsZjogaW5pdGlhbDsKKyAgICBhbGlnbi1zZWxm
OiBiYXNlbGluZTsKKyAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xh
c3M9ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgcm93cyIgc3R5bGU9ImhlaWdodDog
NTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBj
bGFzcz0ic3ViZ3JpZCByb3dzIiBzdHlsZT0iaGVpZ2h0OiAxNTBweDsiPjwvZGl2PgorICA8L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCByb3dzIiBz
dHlsZT0ibWF4LWhlaWdodDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Z3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCByb3dzIiBzdHlsZT0ibWluLWhlaWdodDog
MTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyaWQiPgorICAgIDxkaXYg
Y2xhc3M9InN1YmdyaWQgY29sdW1ucyIgc3R5bGU9IndpZHRoOiA1MHB4OyI+PC9kaXY+CisgIDwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIGNvbHVt
bnMiIHN0eWxlPSJ3aWR0aDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9
ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgY29sdW1ucyIgc3R5bGU9Im1heC13aWR0
aDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRp
diBjbGFzcz0ic3ViZ3JpZCBjb2x1bW5zIiBzdHlsZT0ibWluLXdpZHRoOiAxNTBweDsiPjwvZGl2
PgorICA8L2Rpdj4KKworICA8YnI+CisKKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBj
bGFzcz0ic3ViZ3JpZCB2cmwgcm93cyIgc3R5bGU9IndpZHRoOiA1MHB4OyI+PC9kaXY+CisgIDwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCBy
b3dzIiBzdHlsZT0id2lkdGg6IDE1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNz
PSJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCByb3dzIiBzdHlsZT0ibWF4LXdp
ZHRoOiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAgICA8
ZGl2IGNsYXNzPSJzdWJncmlkIHZybCByb3dzIiBzdHlsZT0ibWluLXdpZHRoOiAxNTBweDsiPjwv
ZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3Vi
Z3JpZCB2cmwgY29sdW1ucyIgc3R5bGU9ImhlaWdodDogNTBweDsiPjwvZGl2PgorICA8L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic3ViZ3JpZCB2cmwgY29sdW1u
cyIgc3R5bGU9ImhlaWdodDogMTUwcHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxkaXYgY2xhc3M9
ImdyaWQiPgorICAgIDxkaXYgY2xhc3M9InN1YmdyaWQgdnJsIGNvbHVtbnMiIHN0eWxlPSJtYXgt
aGVpZ2h0OiA1MHB4OyI+PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmlkIj4KKyAg
ICA8ZGl2IGNsYXNzPSJzdWJncmlkIHZybCBjb2x1bW5zIiBzdHlsZT0ibWluLWhlaWdodDogMTUw
cHg7Ij48L2Rpdj4KKyAgPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>