<?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>195180</bug_id>
          
          <creation_ts>2019-02-28 12:17:42 -0800</creation_ts>
          <short_desc>[css-values-4] Support font-relative lh and rlh unit</short_desc>
          <delta_ts>2020-06-15 14:43:26 -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>CSS</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://w3c-test.org/css/css-values/lh-rlh-on-root-001.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, W3CTest, WebExposed, WPTImpact</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>211351</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gérard Talbot (no longer involved)">browserbugs2</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kyle.bavender</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>twilco.o</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1511048</commentid>
    <comment_count>0</comment_count>
    <who name="Gérard Talbot (no longer involved)">browserbugs2</who>
    <bug_when>2019-02-28 12:17:42 -0800</bug_when>
    <thetext>CSS4 Values and Units, section 6.1.1 Font-relative lengths: the lh, rlh units
https://www.w3.org/TR/css-values-4/#font-relative-lengths
states

&quot;
lh unit
    Equal to the computed value of the line-height property of the element on which it is used, converting normal to an absolute length by using only the metrics of the first available font. 

rlh unit
    Equal to the computed value of line-height property on the root element, converting normal to an absolute length as above.
&quot;

Tests
-----

http://w3c-test.org/css/css-values/lh-rlh-on-root-001.html

http://w3c-test.org/css/css-values/lh-unit-001.html

http://w3c-test.org/css/css-values/lh-unit-002.html


Test results
- - - - - -

https://wpt.fyi/results/css/css-values?label=master

So far, no browser pass these 3 tests.


Correspondent Bugzilla Mozilla bug report:
https://bugzilla.mozilla.org/show_bug.cgi?id=1310170</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1511759</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-01 21:02:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/48532318&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619441</commentid>
    <comment_count>2</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-02-15 15:37:54 -0800</bug_when>
    <thetext>Hi!  Looks like there is a duplicate of this -- https://bugs.webkit.org/show_bug.cgi?id=204277.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619721</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-17 10:34:22 -0800</bug_when>
    <thetext>*** Bug 204277 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637749</commentid>
    <comment_count>4</comment_count>
      <attachid>395461</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-04 15:14:36 -0700</bug_when>
    <thetext>Created attachment 395461
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637751</commentid>
    <comment_count>5</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-04 15:18:09 -0700</bug_when>
    <thetext>Hello!  This is my first patch -- hope I&apos;ve done everything correct.  I look forward to your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637753</commentid>
    <comment_count>6</comment_count>
      <attachid>395462</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-04 15:42:46 -0700</bug_when>
    <thetext>Created attachment 395462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637796</commentid>
    <comment_count>7</comment_count>
      <attachid>395473</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-04 20:29:10 -0700</bug_when>
    <thetext>Created attachment 395473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637806</commentid>
    <comment_count>8</comment_count>
      <attachid>395479</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-04 21:44:26 -0700</bug_when>
    <thetext>Created attachment 395479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637824</commentid>
    <comment_count>9</comment_count>
      <attachid>395487</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-04 23:00:52 -0700</bug_when>
    <thetext>Created attachment 395487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637906</commentid>
    <comment_count>10</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-05 10:12:12 -0700</bug_when>
    <thetext>Sorry for the churn — should be all set for review now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638164</commentid>
    <comment_count>11</comment_count>
      <attachid>395487</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-04-06 10:41:13 -0700</bug_when>
    <thetext>Comment on attachment 395487
Patch

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

Looks good!

&gt; Source/WebCore/css/CSSToLengthConversionData.h:44
&gt; +enum class ComputingProperty {
&gt; +    FontSize,
&gt; +    LineHeight,
&gt; +    OtherOrUnknown
&gt; +};

An alternative approach would be to use Optional&lt;CSSPropertyID&gt; instead of this (passing CSSPropertyFontSize/CSSPropertyLineHeight where appropriate).

If you keep the enum it should move to CSSToLengthConversionData namespace. PropertyToCompute or just PropertyType might read better.

&gt; Source/WebCore/css/CSSToLengthConversionData.h:48
&gt; +    CSSToLengthConversionData(const RenderStyle* style, const RenderStyle* rootStyle, const RenderStyle* parentStyle, const RenderView* renderView, float zoom, ComputingProperty computingProperty = ComputingProperty::OtherOrUnknown)

&apos;computingProperty&apos; is an awkward name for variables and fields too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638451</commentid>
    <comment_count>12</comment_count>
      <attachid>395653</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-06 22:03:07 -0700</bug_when>
    <thetext>Created attachment 395653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638464</commentid>
    <comment_count>13</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-04-06 23:14:19 -0700</bug_when>
    <thetext>Thanks for the suggestions, I&apos;ve applied them in this new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638935</commentid>
    <comment_count>14</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-04-07 21:36:00 -0700</bug_when>
    <thetext>Thanks for the patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638936</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-07 21:45:50 -0700</bug_when>
    <thetext>Committed r259703: &lt;https://trac.webkit.org/changeset/259703&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395653.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1662836</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-06-15 14:43:26 -0700</bug_when>
    <thetext>This was moved behind an off-by-default flag:
https://bugs.webkit.org/show_bug.cgi?id=211356</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395461</attachid>
            <date>2020-04-04 15:14:36 -0700</date>
            <delta_ts>2020-04-04 15:42:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195180-20200404171435.patch</filename>
            <type>text/plain</type>
            <size>43595</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IyYjU1ZDVmNmViNzRh
MjhhMmQ2NjBmNTBiYWJiMGM5NTVhMGI2NC4uOWFiZTdmYTY3YmJhYmI5ZTgwMGI3NTVkN2M4OGUz
MDdkNzUyYjliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDIwLTA0LTA0ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1
ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGggdW5pdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9y
ICdsaCcgYW5kICdybGgnIHVuaXRzLgorCisgICAgICAgICogY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FsY1VuaXRDYXRlZ29yeSk6CisgICAgICAgIChX
ZWJDb3JlOjpjYWxjdWxhdGlvbkNhdGVnb3J5Rm9yQ29tYmluYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6aGFzRG91YmxlVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NHcmFkaWVudFZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRp
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1JhZGlhbEdyYWRpZW50VmFsdWU6OmNyZWF0ZUdy
YWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbmljR3JhZGllbnRWYWx1ZTo6Y3JlYXRl
R3JhZGllbnQpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbGlkQ1NTVW5pdFR5cGVGb3JEb3VibGVDb252ZXJzaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OmlzU3RyaW5nVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRp
dmVWYWx1ZTo6Y2xlYW51cCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6
Y29tcHV0ZU5vbkNhbGNMZW5ndGhEb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OnVuaXRUeXBlU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2
ZVZhbHVlOjpmb3JtYXROdW1iZXJGb3JDdXN0b21DU1NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjplcXVhbHMgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbGxlY3REaXJlY3RDb21wdXRhdGlvbmFsRGVwZW5kZW5j
aWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0
RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxEZXBlbmRlbmNpZXMgY29uc3QpOgorICAgICAgICAqIGNz
cy9DU1NQcmltaXRpdmVWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmlzRm9udFJlbGF0aXZlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2
ZVZhbHVlOjppc0xlbmd0aCk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb252ZXJ0aW5nVG9M
ZW5ndGhSZXF1aXJlc05vbk51bGxTdHlsZSBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YTo6dmlld3BvcnRXaWR0aEZhY3RvciBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydEhlaWdodEZhY3RvciBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydE1p
bkZhY3RvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhOjp2aWV3cG9ydE1heEZhY3RvciBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEuaDogUmVwbGFjZSBib29sICdtX2NvbXB1dGluZ0ZvbnRTaXplJyB3aXRo
IENvbXB1dGluZ1Byb3BlcnR5IGVudW0uCisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhOjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKTogQWRkICdwYXJlbnRTdHls
ZScgcGFyYW1ldGVyLCBuZWNlc3NhcnkgZm9yIGNhbGN1bGF0aW5nIGxoL3JsaCB1bml0IHZhbHVl
cy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnBhcmVudFN0
eWxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6
OmNvbXB1dGluZ0ZvbnRTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGE6OmNvbXB1dGluZ0xpbmVIZWlnaHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6Y29weVdpdGhBZGp1c3RlZFpvb20gY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6Y29weVdp
dGhBZGp1c3RlZFpvb21BbmRDb21wdXRpbmdQcm9wZXJ0eSBjb25zdCk6CisgICAgICAgICogY3Nz
L0NTU1VuaXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAq
IGNzcy9DU1NVbml0cy5oOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlIGNvbnN0KToK
KyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmNzc1ByaW1pdGl2ZVZhbHVlVW5pdEZyb21UcmllKToKKyAgICAgICAgKiBjc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVMZW5ndGgpOgorICAgICAgICAqIGNzcy9wYXJzZXIv
U2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2l6ZXNBdHRyaWJ1
dGVQYXJzZXI6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U2l6ZXNBdHRyaWJ1
dGVQYXJzZXI6OmVmZmVjdGl2ZVNpemVEZWZhdWx0VmFsdWUpOgorICAgICAgICAqIGh0bWwvc2hh
ZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
Q29udHJvbElubmVyRWxlbWVudDo6cmVzb2x2ZUN1c3RvbVN0eWxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6
cGFyZW50U3R5bGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OmFwcGx5Q29tbW9uQnV0dG9uUGFkZGluZ1RvU3R5bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6OmFkanVzdEJ1dHRvblN0eWxlIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOiBFeHRyYWN0ICdj
b21wdXRlZExpbmVIZWlnaHQnIGJlaGF2aW9yIGludG8gc2VwYXJhdGUgJ2NvbXB1dGVMaW5lSGVp
Z2h0JyBmdW5jdGlvbiBzbyBsb2dpYyBjYW4gYmUgcmV1c2VkIGVsc2V3aGVyZS4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21wdXRlZExpbmVIZWlnaHQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbXB1dGVMaW5lSGVpZ2h0IGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKiBzdHlsZS9TdHls
ZUJ1aWxkZXJDb252ZXJ0ZXIuaDogRXh0cmFjdCB6b29tIGNhbGN1bGF0aW9uIGxvZ2ljIG91dCBv
ZiAnY3NzdG9MZW5ndGhDb252ZXJzaW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcicgaW50byBzZXBh
cmF0ZSAnem9vbVdpdGhUZXh0Wm9vbUZhY3RvcicgZnVuY3Rpb24gc28gbG9naWMgY2FuIGJlIHJl
dXNlZCBlbHNld2hlcmUuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6em9vbVdpdGhUZXh0Wm9v
bUZhY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QnVpbGRlckNvbnZlcnRlcjo6Y3Nz
dG9MZW5ndGhDb252ZXJzaW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3Rvcik6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZTo6QnVpbGRlckNvbnZlcnRlcjo6Y29udmVydExpbmVIZWlnaHQpOgorICAgICAg
ICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6
OkJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250U2l6ZSk6CisgICAgICAgICogc3R5bGUvU3R5
bGVCdWlsZGVyU3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJTdGF0
ZTo6QnVpbGRlclN0YXRlKToKKwogMjAyMC0wNC0wNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTkwOTUpOiBBU1NFUlRJT04gRkFJTEVE
OiBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUgc2VlbiB3
aXRoIFRlc3RXZWJLaXRBUEkuV2ViS2l0TGVnYWN5LkF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKaW5kZXggOWMwYmE2MGM5
YzQ3Y2U4YjIwZTEyMTJiMmJkYWI0ZDM1MjMzOGJiYi4uNDg0Y2NjMzY2NGFlYWVjN2UxYjE5Y2Uw
MWY0NzVhODBjYjRlMDIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1
bGF0aW9uVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZh
bHVlLmNwcApAQCAtODAsNiArODAsOCBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBjYWxj
VW5pdENhdGVnb3J5KENTU1VuaXRUeXBlIHR5cGUpCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X1BUOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19QQzoKICAgICBjYXNlIENTU1VuaXRUeXBl
OjpDU1NfUToKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19STEhTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SRU1TOgogICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19DSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1ZXOgpA
QCAtMTMzLDcgKzEzNSw5IEBAIHN0YXRpYyBDYWxjdWxhdGlvbkNhdGVnb3J5IGNhbGN1bGF0aW9u
Q2F0ZWdvcnlGb3JDb21iaW5hdGlvbihDU1NVbml0VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4g
Q2FsY3VsYXRpb25DYXRlZ29yeTo6RnJlcXVlbmN5OwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19FTVM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VYUzoKKyAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfTEhTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SRU1TOgorICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19STEhTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19DSFM6CiAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1ZXOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19W
SDoKQEAgLTE5NSw2ICsxOTksOCBAQCBzdGF0aWMgYm9vbCBoYXNEb3VibGVWYWx1ZShDU1NVbml0
VHlwZSB0eXBlKQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19GUjoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUToKKyAgICBjYXNl
IENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVU5LTk9XTjoK
ICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfU1RSSU5HOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCmluZGV4IDljZDIzOGYxMGMwYTVhZWM5NmRiMzFjZTNmM2YzYWViNzYx
MjZjMDEuLjE0MzExZjRhY2YwZjI4ZmI0NTcxMGU4NWI1YWM5NzAwNjQxMTBhMTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKQEAgLTgwNyw3ICs4MDcsNyBAQCBSZWY8
R3JhZGllbnQ+IENTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyLCBjbwogewogICAgIEFTU0VSVCghc2l6ZS5pc0VtcHR5KCkpOwogCi0g
ICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmcmVuZGVyZXIuc3R5
bGUoKSwgcmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUo
KSwgJnJlbmRlcmVyLnZpZXcoKSk7CisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252
ZXJzaW9uRGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwgcmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVu
dEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgcmVuZGVyZXIucGFyZW50U3R5bGUoKSwgJnJlbmRl
cmVyLnZpZXcoKSk7CiAKICAgICBGbG9hdFBvaW50IGZpcnN0UG9pbnQ7CiAgICAgRmxvYXRQb2lu
dCBzZWNvbmRQb2ludDsKQEAgLTEwNTYsNyArMTA1Niw3IEBAIFJlZjxHcmFkaWVudD4gQ1NTUmFk
aWFsR3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIs
IGNvCiB7CiAgICAgQVNTRVJUKCFzaXplLmlzRW1wdHkoKSk7CiAKLSAgICBDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJlci5k
b2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCAmcmVuZGVyZXIudmll
dygpKTsKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZyZW5k
ZXJlci5zdHlsZSgpLCByZW5kZXJlci5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5k
ZXJTdHlsZSgpLCByZW5kZXJlci5wYXJlbnRTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKIAog
ICAgIEZsb2F0UG9pbnQgZmlyc3RQb2ludCA9IGNvbXB1dGVFbmRQb2ludChmaXJzdFgoKSwgZmly
c3RZKCksIGNvbnZlcnNpb25EYXRhLCBzaXplKTsKICAgICBpZiAoIWZpcnN0WCgpKQpAQCAtMTI0
Nyw3ICsxMjQ3LDcgQEAgUmVmPEdyYWRpZW50PiBDU1NDb25pY0dyYWRpZW50VmFsdWU6OmNyZWF0
ZUdyYWRpZW50KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb24KIHsKICAgICBBU1NFUlQoIXNp
emUuaXNFbXB0eSgpKTsKIAotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lv
bkRhdGEoJnJlbmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVt
ZW50KCktPnJlbmRlclN0eWxlKCksICZyZW5kZXJlci52aWV3KCkpOworICAgIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEoJnJlbmRlcmVyLnN0eWxlKCksIHJlbmRlcmVy
LmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCksIHJlbmRlcmVyLnBh
cmVudFN0eWxlKCksICZyZW5kZXJlci52aWV3KCkpOwogCiAgICAgRmxvYXRQb2ludCBjZW50ZXJQ
b2ludCA9IGNvbXB1dGVFbmRQb2ludChmaXJzdFgoKSwgZmlyc3RZKCksIGNvbnZlcnNpb25EYXRh
LCBzaXplKTsKICAgICBpZiAoIWZpcnN0WCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZS5jcHAKaW5kZXggN2I5YWEwNzA0M2I1YWM2ODY2NmUxNWYyMWY3YmNiMDE0ZDBkMWNl
Yi4uMjFlMDQwZjYyMDNmMTQyZjg4YjE3ZWM4NTI4MjgxYzQ5Y2UyMmNmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC03MSw2ICs3MSw4IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBpc1ZhbGlkQ1NTVW5pdFR5cGVGb3JEb3VibGVDb252ZXJzaW9uKENTU1VuaXRU
eXBlIHVuaXRUeXBlKQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19QVDoKICAgICBjYXNlIENT
U1VuaXRUeXBlOjpDU1NfUFg6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoK
ICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUVVJUktZX0VNUzoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfUkFEOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SRU1TOgpAQCAtMTQ3LDYg
KzE0OSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1N0cmluZ1R5cGUoQ1NTVW5pdFR5cGUgdHlw
ZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUFQ6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1BYOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROgorICAgIGNhc2UgQ1NTVW5pdFR5
cGU6OkNTU19MSFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX1FVQUQ6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1FVSVJLWV9F
TVM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JBRDoKQEAgLTUwMiw2ICs1MDYsOCBAQCB2
b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpjbGVhbnVwKCkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfRFBDTToKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6CiAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBjYXNlIENT
U1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfSURFTlQ6CiAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1VOS05PV046CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1VOSUNPREVfUkFOR0U6CkBAIC02MzEsNiArNjM3LDIzIEBAIGRvdWJsZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZU5vbkNhbGNMZW5ndGhEb3VibGUoY29uc3QgQ1NTVG9MZW5ndGhDb252
ZXJzaW9uCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CiAgICAgICAgIGZhY3RvciA9IGNz
c1BpeGVsc1BlckluY2ggLyBRUGVySW5jaDsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgQVNTRVJUKGNvbnZlcnNpb25EYXRhLnN0eWxlKCkp
OworICAgICAgICBpZiAoY29udmVyc2lvbkRhdGEuY29tcHV0aW5nTGluZUhlaWdodCgpIHx8IGNv
bnZlcnNpb25EYXRhLmNvbXB1dGluZ0ZvbnRTaXplKCkpIHsKKyAgICAgICAgICAgIC8vIFRyeSB0
byBnZXQgdGhlIHBhcmVudCdzIGNvbXB1dGVkIGxpbmUtaGVpZ2h0LCBvciBmYWxsIGJhY2sgdG8g
dGhlIGluaXRpYWwgbGluZS1oZWlnaHQgb2YgdGhpcyBlbGVtZW50J3MgZm9udCBzcGFjaW5nLgor
ICAgICAgICAgICAgZmFjdG9yID0gY29udmVyc2lvbkRhdGEucGFyZW50U3R5bGUoKSA/IGNvbnZl
cnNpb25EYXRhLnBhcmVudFN0eWxlKCktPmNvbXB1dGVkTGluZUhlaWdodCgpIDogY29udmVyc2lv
bkRhdGEuc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygpOworICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgIGZhY3RvciA9IGNvbnZlcnNpb25EYXRhLnN0eWxlKCktPmNvbXB1dGVk
TGluZUhlaWdodCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
UkxIUzoKKyAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpKSB7CisgICAgICAg
ICAgICBpZiAoY29udmVyc2lvbkRhdGEuY29tcHV0aW5nTGluZUhlaWdodCgpIHx8IGNvbnZlcnNp
b25EYXRhLmNvbXB1dGluZ0ZvbnRTaXplKCkpCisgICAgICAgICAgICAgICAgZmFjdG9yID0gY29u
dmVyc2lvbkRhdGEucm9vdFN0eWxlKCktPmNvbXB1dGVMaW5lSGVpZ2h0KGNvbnZlcnNpb25EYXRh
LnJvb3RTdHlsZSgpLT5zcGVjaWZpZWRMaW5lSGVpZ2h0KCkpOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIGZhY3RvciA9IGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpLT5jb21w
dXRlZExpbmVIZWlnaHQoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBmYWN0b3IgPSAx
LjA7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19JTjoKICAgICAg
ICAgZmFjdG9yID0gY3NzUGl4ZWxzUGVySW5jaDsKICAgICAgICAgYnJlYWs7CkBAIC05MjUsNiAr
OTQ4LDggQEAgU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjp1bml0VHlwZVN0cmluZyhDU1NVbml0
VHlwZSB1bml0VHlwZSkKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0RQQ006IHJldHVy
biAiZHBjbSI7CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19GUjogcmV0dXJuICJmciI7
CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROiByZXR1cm4gInEiOworICAgICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOiByZXR1cm4gImxoIjsKKyAgICAgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX1JMSFM6IHJldHVybiAicmxoIjsKICAgICAgICAgY2FzZSBDU1NVbml0VHlw
ZTo6Q1NTX1RVUk46IHJldHVybiAidHVybiI7CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19SRU1TOiByZXR1cm4gInJlbSI7CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19DSFM6
IHJldHVybiAiY2giOwpAQCAtMTAxMiw2ICsxMDM3LDEwIEBAIEFMV0FZU19JTkxJTkUgU3RyaW5n
IENTU1ByaW1pdGl2ZVZhbHVlOjpmb3JtYXROdW1iZXJGb3JDdXN0b21DU1NUZXh0KCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlclZhbHVlKCJmciIpOwogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19ROgogICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyVmFsdWUoInEiKTsKKyAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVy
VmFsdWUoImxoIik7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CisgICAgICAgIHJl
dHVybiBmb3JtYXROdW1iZXJWYWx1ZSgicmxoIik7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0RJTUVOU0lPTjoKICAgICAgICAgLy8gRklYTUU6IFdlIGN1cnJlbnRseSBkb24ndCBoYW5kbGUg
Q1NTVW5pdFR5cGU6OkNTU19ESU1FTlNJT04gcHJvcGVybHkgYXMgd2UgZG9uJ3Qgc3RvcmUKICAg
ICAgICAgLy8gdGhlIGFjdHVhbCBkaW1lbnNpb24sIGp1c3QgdGhlIG51bWVyaWMgdmFsdWUgYXMg
YSBzdHJpbmcuCkBAIC0xMTM5LDYgKzExNjgsOCBAQCBib29sIENTU1ByaW1pdGl2ZVZhbHVlOjpl
cXVhbHMoY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUmIG90aGVyKSBjb25zdAogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19WTUFYOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19GUjoKICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUToKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgor
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgogICAgICAgICByZXR1cm4gbV92YWx1ZS5u
dW0gPT0gb3RoZXIubV92YWx1ZS5udW07CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BST1BF
UlRZX0lEOgogICAgICAgICByZXR1cm4gcHJvcGVydHlOYW1lKG1fdmFsdWUucHJvcGVydHlJRCkg
PT0gcHJvcGVydHlOYW1lKG90aGVyLm1fdmFsdWUucHJvcGVydHlJRCk7CkBAIC0xMTgyLDcgKzEy
MTMsNyBAQCBSZWY8RGVwcmVjYXRlZENTU09NUHJpbWl0aXZlVmFsdWU+IENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGVEZXByZWNhdGVkQ1NTT01QcmltaQogICAgIHJldHVybiBEZXByZWNhdGVkQ1NT
T01QcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKCp0aGlzLCBzdHlsZURlY2xhcmF0aW9uKTsKIH0KIAot
Ly8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1h
cGkvI2RlcGVuZGVuY3ktY3ljbGVzLXZpYS1yZWxhdGl2ZS11bml0cworLy8gaHR0cHM6Ly9kcmFm
dHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkvI2RlcGVuZGVuY3kt
Y3ljbGVzCiB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25h
bERlcGVuZGVuY2llcyhIYXNoU2V0PENTU1Byb3BlcnR5SUQ+JiB2YWx1ZXMpIGNvbnN0CiB7CiAg
ICAgc3dpdGNoIChwcmltaXRpdmVVbml0VHlwZSgpKSB7CkBAIC0xMTkyLDYgKzEyMjMsMTAgQEAg
dm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29sbGVjdERpcmVjdENvbXB1dGF0aW9uYWxEZXBlbmRl
bmNpZXMoSGFzaFNldDxDU1NQcm9wZXIKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0hTOgog
ICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5Rm9udFNpemUpOwogICAgICAgICBicmVhazsK
KyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgICAgICB2YWx1ZXMuYWRkKENTU1By
b3BlcnR5Rm9udFNpemUpOworICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5TGluZUhlaWdo
dCk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19DQUxDOgogICAg
ICAgICBtX3ZhbHVlLmNhbGMtPmNvbGxlY3REaXJlY3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVz
KHZhbHVlcyk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTIwNiw2ICsxMjQxLDEwIEBAIHZvaWQgQ1NT
UHJpbWl0aXZlVmFsdWU6OmNvbGxlY3REaXJlY3RSb290Q29tcHV0YXRpb25hbERlcGVuZGVuY2ll
cyhIYXNoU2V0PENTU1ByCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JFTVM6CiAgICAgICAg
IHZhbHVlcy5hZGQoQ1NTUHJvcGVydHlGb250U2l6ZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgorICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5
Rm9udFNpemUpOworICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5TGluZUhlaWdodCk7Cisg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19DQUxDOgogICAgICAgICBt
X3ZhbHVlLmNhbGMtPmNvbGxlY3REaXJlY3RSb290Q29tcHV0YXRpb25hbERlcGVuZGVuY2llcyh2
YWx1ZXMpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmgKaW5kZXggYzI5ODkyYzJkZGM1Nzg1ZTVhZjZjZTE1ZjAwYjljMTA4MmEwNzU0ZS4uMjU2MGE2
YjgyNDVmM2QyZDNhZjQxZTcyNDNjMTI5OTBlNTliNThmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmgKQEAgLTI2MCw2ICsyNjAsOCBAQCBpbmxpbmUgYm9vbCBDU1NQcmlt
aXRpdmVWYWx1ZTo6aXNGb250UmVsYXRpdmVMZW5ndGgoQ1NTVW5pdFR5cGUgdHlwZSkKIHsKICAg
ICByZXR1cm4gdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0VNUwogICAgICAgICB8fCB0eXBlID09
IENTU1VuaXRUeXBlOjpDU1NfRVhTCisgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNT
U19MSFMKKyAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1JMSFMKICAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1JFTVMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NV
bml0VHlwZTo6Q1NTX0NIUwogICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUVVJ
UktZX0VNUzsKQEAgLTI3MSw2ICsyNzMsOCBAQCBpbmxpbmUgYm9vbCBDU1NQcmltaXRpdmVWYWx1
ZTo6aXNMZW5ndGgoQ1NTVW5pdFR5cGUgdHlwZSkKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0
VHlwZTo6Q1NTX1JFTVMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0NIUwog
ICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUQorICAgICAgICB8fCB0eXBlID09
IENTU1VuaXRUeXBlOjpDU1NfTEhTCisgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNT
U19STEhTCiAgICAgICAgIHx8IGlzVmlld3BvcnRQZXJjZW50YWdlTGVuZ3RoKHR5cGUpCiAgICAg
ICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19RVUlSS1lfRU1TOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggN2I2MjA1ZGVi
MDAxZDhlYjYxZDdiNzAzNzczMTExMTY2ODk5NGNkNS4uMWNkMTA4NDJlOWRhMGNlNzdiMjg3MWMx
MTUzM2I5MzJhMGNiODViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCkBAIC00NTE0LDYgKzQ1MTQsNyBAQCBpbmxpbmUgYm9vbCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Y29udmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUoaW50IGxl
bmd0aAogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FTVM6CiAgICAgY2FzZSBDU1NVbml0VHlw
ZTo6Q1NTX0VYUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0hTOgorICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19MSFM6CiAgICAgICAgIHJldHVybiBsZW5ndGhDb252ZXJzaW9uICYgKEZp
eGVkSW50ZWdlckNvbnZlcnNpb24gfCBGaXhlZEZsb2F0Q29udmVyc2lvbik7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEuY3BwCmluZGV4IGI1NjI3NDc0NzBhM2E1ZGIxNjFhNjA3NDE1
MmE1NWY0Y2U5N2Y2NzkuLjVkNDU1ZjhmZGFhYjliMTUxMDBkZTI3NDVmYjJkYTBjMjkxNDIyMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5j
cHAKQEAgLTQ1LDcgKzQ1LDcgQEAgZmxvYXQgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6em9v
bSgpIGNvbnN0CiAKIGRvdWJsZSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydFdp
ZHRoRmFjdG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250
U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAg
Y29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7
CiAKICAgICBpZiAoIW1fcmVuZGVyVmlldykKQEAgLTU2LDcgKzU2LDcgQEAgZG91YmxlIENTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0V2lkdGhGYWN0b3IoKSBjb25zdAogCiBkb3Vi
bGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRIZWlnaHRGYWN0b3IoKSBjb25z
dAogewotICAgIGlmIChtX3N0eWxlICYmICFtX2NvbXB1dGluZ0ZvbnRTaXplKQorICAgIGlmICht
X3N0eWxlICYmICFjb21wdXRpbmdGb250U2l6ZSgpKQogICAgICAgICBjb25zdF9jYXN0PFJlbmRl
clN0eWxlKj4obV9zdHlsZSktPnNldEhhc1ZpZXdwb3J0VW5pdHMoKTsKIAogICAgIGlmICghbV9y
ZW5kZXJWaWV3KQpAQCAtNjcsNyArNjcsNyBAQCBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9u
RGF0YTo6dmlld3BvcnRIZWlnaHRGYWN0b3IoKSBjb25zdAogCiBkb3VibGUgQ1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YTo6dmlld3BvcnRNaW5GYWN0b3IoKSBjb25zdAogewotICAgIGlmIChtX3N0
eWxlICYmICFtX2NvbXB1dGluZ0ZvbnRTaXplKQorICAgIGlmIChtX3N0eWxlICYmICFjb21wdXRp
bmdGb250U2l6ZSgpKQogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclN0eWxlKj4obV9zdHlsZSkt
PnNldEhhc1ZpZXdwb3J0VW5pdHMoKTsKIAogICAgIGlmICghbV9yZW5kZXJWaWV3KQpAQCAtNzks
NyArNzksNyBAQCBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRNaW5G
YWN0b3IoKSBjb25zdAogCiBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3Bv
cnRNYXhGYWN0b3IoKSBjb25zdAogewotICAgIGlmIChtX3N0eWxlICYmICFtX2NvbXB1dGluZ0Zv
bnRTaXplKQorICAgIGlmIChtX3N0eWxlICYmICFjb21wdXRpbmdGb250U2l6ZSgpKQogICAgICAg
ICBjb25zdF9jYXN0PFJlbmRlclN0eWxlKj4obV9zdHlsZSktPnNldEhhc1ZpZXdwb3J0VW5pdHMo
KTsKIAogICAgIGlmICghbV9yZW5kZXJWaWV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhLmgKaW5kZXggMWI0MzRhODEwODQwNmIzZmNjOTg1NTM0OTYw
MDY5OWIyZDRiNGM3NC4uMmQ1MmQwZjI2MzUzOWUyMjhjYjE0M2YxMGE3ZGYxYzIyNTJjYmY2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oCkBA
IC0zNywzOCArMzcsNDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyU3R5bGU7
CiBjbGFzcyBSZW5kZXJWaWV3OwogCitlbnVtIGNsYXNzIENvbXB1dGluZ1Byb3BlcnR5IHsKKyAg
ICBGb250U2l6ZSwKKyAgICBMaW5lSGVpZ2h0LAorICAgIE90aGVyT3JVbmtub3duCit9OworCiBj
bGFzcyBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHsKIHB1YmxpYzoKLSAgICBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgY29uc3QgUmVuZGVyVmlldyogcmVuZGVyVmlldywgZmxvYXQgem9vbSwg
Ym9vbCBjb21wdXRpbmdGb250U2l6ZSA9IGZhbHNlKQorICAgIENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGNvbnN0IFJlbmRlclZpZXcqIHJl
bmRlclZpZXcsIGZsb2F0IHpvb20sIENvbXB1dGluZ1Byb3BlcnR5IGNvbXB1dGluZ1Byb3BlcnR5
ID0gQ29tcHV0aW5nUHJvcGVydHk6Ok90aGVyT3JVbmtub3duKQogICAgICAgICA6IG1fc3R5bGUo
c3R5bGUpCiAgICAgICAgICwgbV9yb290U3R5bGUocm9vdFN0eWxlKQorICAgICAgICAsIG1fcGFy
ZW50U3R5bGUocGFyZW50U3R5bGUpCiAgICAgICAgICwgbV9yZW5kZXJWaWV3KHJlbmRlclZpZXcp
CiAgICAgICAgICwgbV96b29tKHpvb20pCiAgICAgICAgICwgbV91c2VFZmZlY3RpdmVab29tKGZh
bHNlKQotICAgICAgICAsIG1fY29tcHV0aW5nRm9udFNpemUoY29tcHV0aW5nRm9udFNpemUpCisg
ICAgICAgICwgbV9jb21wdXRpbmdQcm9wZXJ0eShjb21wdXRpbmdQcm9wZXJ0eSkKICAgICB7CiAg
ICAgICAgIEFTU0VSVCh6b29tID4gMCk7CiAgICAgfQogCi0gICAgQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290
U3R5bGUsIGNvbnN0IFJlbmRlclZpZXcqIHJlbmRlclZpZXcsIGJvb2wgY29tcHV0aW5nRm9udFNp
emUgPSBmYWxzZSkKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgY29uc3QgUmVuZGVyU3R5
bGUqIHBhcmVudFN0eWxlLCBjb25zdCBSZW5kZXJWaWV3KiByZW5kZXJWaWV3LCBDb21wdXRpbmdQ
cm9wZXJ0eSBjb21wdXRpbmdQcm9wZXJ0eSA9IENvbXB1dGluZ1Byb3BlcnR5OjpPdGhlck9yVW5r
bm93bikKICAgICAgICAgOiBtX3N0eWxlKHN0eWxlKQogICAgICAgICAsIG1fcm9vdFN0eWxlKHJv
b3RTdHlsZSkKKyAgICAgICAgLCBtX3BhcmVudFN0eWxlKHBhcmVudFN0eWxlKQogICAgICAgICAs
IG1fcmVuZGVyVmlldyhyZW5kZXJWaWV3KQogICAgICAgICAsIG1fem9vbSgxKQogICAgICAgICAs
IG1fdXNlRWZmZWN0aXZlWm9vbSh0cnVlKQotICAgICAgICAsIG1fY29tcHV0aW5nRm9udFNpemUo
Y29tcHV0aW5nRm9udFNpemUpCisgICAgICAgICwgbV9jb21wdXRpbmdQcm9wZXJ0eShjb21wdXRp
bmdQcm9wZXJ0eSkKICAgICB7CiAgICAgfQogCiAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0
YSgpCi0gICAgICAgIDogQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShudWxscHRyLCBudWxscHRy
LCBudWxscHRyKQorICAgICAgICA6IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobnVsbHB0ciwg
bnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cikKICAgICB7CiAgICAgfQogCiAgICAgY29uc3QgUmVu
ZGVyU3R5bGUqIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZTsgfQogICAgIGNvbnN0IFJl
bmRlclN0eWxlKiByb290U3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RTdHlsZTsgfQorICAg
IGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50
U3R5bGU7IH0KICAgICBmbG9hdCB6b29tKCkgY29uc3Q7Ci0gICAgYm9vbCBjb21wdXRpbmdGb250
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcHV0aW5nRm9udFNpemU7IH0KKyAgICBib29sIGNv
bXB1dGluZ0ZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRpbmdQcm9wZXJ0eSA9PSBD
b21wdXRpbmdQcm9wZXJ0eTo6Rm9udFNpemU7IH0KKyAgICBib29sIGNvbXB1dGluZ0xpbmVIZWln
aHQoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGluZ1Byb3BlcnR5ID09IENvbXB1dGluZ1Byb3Bl
cnR5OjpMaW5lSGVpZ2h0OyB9CiAKICAgICBkb3VibGUgdmlld3BvcnRXaWR0aEZhY3RvcigpIGNv
bnN0OwogICAgIGRvdWJsZSB2aWV3cG9ydEhlaWdodEZhY3RvcigpIGNvbnN0OwpAQCAtNzcsMTYg
Kzg3LDIyIEBAIHB1YmxpYzoKIAogICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29weVdp
dGhBZGp1c3RlZFpvb20oZmxvYXQgbmV3Wm9vbSkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVy
biBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKG1fc3R5bGUsIG1fcm9vdFN0eWxlLCBtX3JlbmRl
clZpZXcsIG5ld1pvb20sIG1fY29tcHV0aW5nRm9udFNpemUpOworICAgICAgICByZXR1cm4gQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YShtX3N0eWxlLCBtX3Jvb3RTdHlsZSwgbV9wYXJlbnRTdHls
ZSwgbV9yZW5kZXJWaWV3LCBuZXdab29tLCBtX2NvbXB1dGluZ1Byb3BlcnR5KTsKKyAgICB9CisK
KyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvcHlXaXRoQWRqdXN0ZWRab29tQW5kQ29t
cHV0aW5nUHJvcGVydHkoZmxvYXQgem9vbSwgQ29tcHV0aW5nUHJvcGVydHkgY29tcHV0aW5nUHJv
cGVydHkpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gQ1NTVG9MZW5ndGhDb252ZXJzaW9u
RGF0YShtX3N0eWxlLCBtX3Jvb3RTdHlsZSwgbV9wYXJlbnRTdHlsZSwgbV9yZW5kZXJWaWV3LCB6
b29tLCBjb21wdXRpbmdQcm9wZXJ0eSk7CiAgICAgfQogCiBwcml2YXRlOgogICAgIGNvbnN0IFJl
bmRlclN0eWxlKiBtX3N0eWxlOwogICAgIGNvbnN0IFJlbmRlclN0eWxlKiBtX3Jvb3RTdHlsZTsK
KyAgICBjb25zdCBSZW5kZXJTdHlsZSogbV9wYXJlbnRTdHlsZTsKICAgICBjb25zdCBSZW5kZXJW
aWV3KiBtX3JlbmRlclZpZXc7CiAgICAgZmxvYXQgbV96b29tOwogICAgIGJvb2wgbV91c2VFZmZl
Y3RpdmVab29tOwotICAgIGJvb2wgbV9jb21wdXRpbmdGb250U2l6ZTsKKyAgICBDb21wdXRpbmdQ
cm9wZXJ0eSBtX2NvbXB1dGluZ1Byb3BlcnR5OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKaW5kZXggMWZjNmRkMmQ4MDk0NmRlMGFlZmU2ODE1ZDQx
OTg4OWZkNzViMDY4Ny4uMWQ0ZDIxMTc5NDdmY2U2NGZlYzM0NzM0MzAwM2IwMGI2YzczYzJmZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCkBAIC0xNDIsNiArMTQyLDggQEAgVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgQ1NTVW5pdFR5cGUgdW5pdFR5cGUpCiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX0RQQ006IHRzIDw8ICJkcGNtIjsgYnJlYWs7CiAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX0ZSOiB0cyA8PCAiZnIiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfUTogdHMgPDwgInEiOyBicmVhazsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
TEhTOiB0cyA8PCAibGgiOyBicmVhazsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzog
dHMgPDwgInJsaCI7IGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19QQUlSOiB0cyA8
PCAicGFpciI7IGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19VTklDT0RFX1JBTkdF
OiB0cyA8PCAidW5pY29kZV9yYW5nZSI7IGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19UVVJOOiB0cyA8PCAidHVybiI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1VuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuaAppbmRleCAyMzgw
ZmFiZjQzY2MxMWE5M2ZiYzIwOWQzOGE3NzYyZGE4NWJjYjJmLi5mMDYzM2QwODMwNmNkYzRmMWIw
MDFjNTRmMjIzM2Q4Y2Y4YzllY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuaApAQCAtNjMsNiArNjMs
OCBAQCBlbnVtIGNsYXNzIENTU1VuaXRUeXBlIDogdWludDhfdCB7CiAgICAgQ1NTX0RQQ00gPSAz
MiwKICAgICBDU1NfRlIgPSAzMywKICAgICBDU1NfUSA9IDM0LAorICAgIENTU19MSFMgPSAzNSwK
KyAgICBDU1NfUkxIUyA9IDM2LAogICAgIENTU19QQUlSID0gMTAwLCAvLyBXZSBlbnZpc2lvbiB0
aGlzIGJlaW5nIGV4cG9zZWQgYXMgYSBtZWFucyBvZiBnZXR0aW5nIGNvbXB1dGVkIHN0eWxlIHZh
bHVlcyBmb3IgcGFpcnMgKGJvcmRlci1zcGFjaW5nL3JhZGl1cywgYmFja2dyb3VuZC1wb3NpdGlv
biwgZXRjLikKICAgICBDU1NfVU5JQ09ERV9SQU5HRSA9IDEwMiwKICAgICBDU1NfVFVSTiA9IDEw
NywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA3YTNh
YWRlNWQyNzg0ZmJkMjMzNDczYjE1MmJlZjVkOGRhM2IxMmVjLi42MGU5YjNjMDk4NTJiMTRmZmQy
ODRhN2QwM2U2YzdkMWJiYWEzNDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
dmFsdWF0b3IuY3BwCkBAIC04OTksNyArODk5LDkgQEAgYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9y
OjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5RXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgY29uc3QK
IAogICAgIGlmICghZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICByZXR1cm4gZnVuY3Rpb24oZXhwcmVzc2lvbi52YWx1ZSgpLCB7IG1fc3R5bGUs
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCBkb2N1bWVudC5yZW5k
ZXJWaWV3KCksIDEsIGZhbHNlIH0sICpmcmFtZSwgTm9QcmVmaXgpOworICAgIAorICAgIC8vIFBh
c3MgYG51bGxwdHJgIGZvciBgcGFyZW50U3R5bGVgIGJlY2F1c2Ugd2UgYXJlIGluIHRoZSBjb250
ZXh0IG9mIGEgbWVkaWEgcXVlcnkuCisgICAgcmV0dXJuIGZ1bmN0aW9uKGV4cHJlc3Npb24udmFs
dWUoKSwgeyBtX3N0eWxlLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUo
KSwgbnVsbHB0ciwgZG9jdW1lbnQucmVuZGVyVmlldygpLCAxLCBDb21wdXRpbmdQcm9wZXJ0eTo6
T3RoZXJPclVua25vd24gfSwgKmZyYW1lLCBOb1ByZWZpeCk7CiB9CiAKIGJvb2wgTWVkaWFRdWVy
eUV2YWx1YXRvcjo6bWVkaWFBdHRyaWJ1dGVNYXRjaGVzKERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgU3RyaW5nJiBhdHRyaWJ1dGVWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQYXJzZXJUb2tlbi5jcHAKaW5kZXggZjViMjQ5OTNlZjIyMjgxYzE4MTVmZjFmZjFhMjA2MWUw
NDJkMTg3ZS4uNzUwOWZkODJhOTdmM2I1MGNkZTgwZmJkYzY1NDVjZWZkZDE5YTlhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHAKQEAgLTgzLDYgKzgz
LDEwIEBAIENTU1VuaXRUeXBlIGNzc1ByaW1pdGl2ZVZhbHVlVW5pdEZyb21UcmllKGNvbnN0IENo
YXJhY3RlclR5cGUqIGRhdGEsIHVuc2lnbmVkIGxlCiAgICAgICAgICAgICBpZiAodG9BU0NJSUxv
d2VyKGRhdGFbMV0pID09ICduJykKICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6
OkNTU19JTjsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICdsJzoKKyAgICAgICAg
ICAgIGlmICh0b0FTQ0lJTG93ZXIoZGF0YVsxXSkgPT0gJ2gnKQorICAgICAgICAgICAgICAgIHJl
dHVybiBDU1NVbml0VHlwZTo6Q1NTX0xIUzsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlICdtJzoKICAgICAgICAgICAgIHN3aXRjaCAodG9BU0NJSUxvd2VyKGRhdGFbMV0pKSB7CiAg
ICAgICAgICAgICBjYXNlICdtJzoKQEAgLTEzOSw2ICsxNDMsMTAgQEAgQ1NTVW5pdFR5cGUgY3Nz
UHJpbWl0aXZlVmFsdWVVbml0RnJvbVRyaWUoY29uc3QgQ2hhcmFjdGVyVHlwZSogZGF0YSwgdW5z
aWduZWQgbGUKICAgICAgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMl0pID09ICdt
JykKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfUkVNUzsKICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ2wnOgorICAgICAgICAgICAg
ICAgIGlmICh0b0FTQ0lJTG93ZXIoZGF0YVsyXSkgPT0gJ2gnKQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19STEhTOworICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKaW5kZXggODFm
MTVlNGZlNWM4ODY3MjUzOTNlNzhjZjU4NjQ2Y2NlOTg2MjkyMC4uMzg3ZTU5ODI5YmM4ZDI2NDcx
ZmE2ZDFhOGRmZjAzYjdkMDM3ZjAwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcApAQCAtMjUzLDYgKzI1Myw4IEBA
IFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY29uc3VtZUxlbmd0aChDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSwgQ1NTUGFyc2VyTW9kCiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VNUzoKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JFTVM6CisgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
Q0hTOgogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRVhTOgogICAgICAgICBjYXNlIENT
U1VuaXRUeXBlOjpDU1NfUFg6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6
ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCmluZGV4IDQ4OTQyNDBjMjUyZDdmODc5NTA3YmMxZmM4N2Rk
ODU2MjZjYzBhZmIuLjY0OGI0OWEzOWY1OWFiZTg3N2MxYmE4NDlmMTU5Yzg4Mzg1MWE0ZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIu
Y3BwCkBAIC01MSw4ICs1MSw3IEBAIGZsb2F0IFNpemVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRl
TGVuZ3RoKGRvdWJsZSB2YWx1ZSwgQ1NTVW5pdFR5cGUgdHlwZSwgY29uc3QKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgYXV0byYgc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKIAotICAgIENTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEoJnN0eWxlLCAmc3R5bGUsIHJlbmRl
cmVyKTsKLSAgICAKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRh
KCZzdHlsZSwgJnN0eWxlLCByZW5kZXJlci0+cGFyZW50U3R5bGUoKSwgcmVuZGVyZXIpOwogICAg
IC8vIEJlY2F1c2Ugd2UgZXZhbHVhdGUgInNpemVzIiBhdCBwYXJzZSB0aW1lIChiZWZvcmUgc3R5
bGUgaGFzIGJlZW4gcmVzb2x2ZWQpLCB0aGUgZm9udCBtZXRyaWNzIHVzZWQgZm9yIHRoZXNlIHNw
ZWNpZmljIHVuaXRzCiAgICAgLy8gYXJlIG5vdCBhdmFpbGFibGUuIFRoZSBmb250IHNlbGVjdG9y
J3MgaW50ZXJuYWwgY29uc2lzdGVuY3kgaXNuJ3QgZ3VhcmFudGVlZCBqdXN0IHlldCwgc28gd2Ug
Y2FuIGp1c3QgdGVtcG9yYXJpbHkgY2xlYXIKICAgICAvLyB0aGUgcG9pbnRlciB0byBpdCBmb3Ig
dGhlIGR1cmF0aW9uIG9mIHRoZSB1bml0IGV2YWx1YXRpb24uIFRoaXMgaXMgYWNjZXB0aWJsZSBi
ZWNhdXNlIHRoZSBzdHlsZSBhbHdheXMgY29tZXMgZnJvbSB0aGUKQEAgLTY1LDcgKzY0LDYgQEAg
ZmxvYXQgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6OmNvbXB1dGVMZW5ndGgoZG91YmxlIHZhbHVlLCBD
U1NVbml0VHlwZSB0eXBlLCBjb25zdAogICAgICAgICBzdHlsZS5mb250Q2FzY2FkZSgpLnVwZGF0
ZShmb250U2VsZWN0b3IuZ2V0KCkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAg
ICAKICAgICByZXR1cm4gY2xhbXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVO
b25DYWxjTGVuZ3RoRG91YmxlKGNvbnZlcnNpb25EYXRhLCB0eXBlLCB2YWx1ZSkpOwogfQogICAg
IApAQCAtMTU5LDcgKzE1Nyw3IEBAIHVuc2lnbmVkIFNpemVzQXR0cmlidXRlUGFyc2VyOjplZmZl
Y3RpdmVTaXplRGVmYXVsdFZhbHVlKCkKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1
cm4gMDsKICAgICBhdXRvJiBzdHlsZSA9IHJlbmRlcmVyLT5zdHlsZSgpOwotICAgIHJldHVybiBj
bGFtcFRvPGZsb2F0PihDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZU5vbkNhbGNMZW5ndGhEb3Vi
bGUoeyAmc3R5bGUsICZzdHlsZSwgcmVuZGVyZXIgfSwgQ1NTVW5pdFR5cGU6OkNTU19WVywgMTAw
LjApKTsKKyAgICByZXR1cm4gY2xhbXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1
dGVOb25DYWxjTGVuZ3RoRG91YmxlKHsgJnN0eWxlLCAmc3R5bGUsIHJlbmRlcmVyLT5wYXJlbnRT
dHlsZSgpLCByZW5kZXJlciB9LCBDU1NVbml0VHlwZTo6Q1NTX1ZXLCAxMDAuMCkpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAppbmRleCA2NmUxMmRjOWVhOTU3OTY3
NzkzZDRjY2FkZDdlMzk4MzliMTIxM2FmLi41ZGRkODIzZTY4ZmY0M2Y5YTMwMDU5ZGVjOTVlZjky
Mzk0NGVhZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29u
dHJvbElubmVyRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Rl
eHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKQEAgLTEyMSw5ICsxMjEsOSBAQCBPcHRpb25hbDxT
dHlsZTo6RWxlbWVudFN0eWxlPiBUZXh0Q29udHJvbElubmVyRWxlbWVudDo6cmVzb2x2ZUN1c3Rv
bVN0eWxlKGNvbnN0CiAKICAgICAgICAgLy8gU2V0ICJmbGV4LWJhc2lzOiAxZW0iLiBOb3RlIHRo
YXQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhJbnQoKSBvbmx5IG5lZWRzIHRoZSBl
bGVtZW50J3MKICAgICAgICAgLy8gc3R5bGUgdG8gY2FsY3VsYXRlIGVtIGxlbmd0aHMuIFNpbmNl
IHRoZSBlbGVtZW50IG1pZ2h0IG5vdCBiZSBpbiBhIGRvY3VtZW50LCBqdXN0IHBhc3MgbnVsbHB0
cgotICAgICAgICAvLyBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHlsZSBhbmQgdGhlIHJlbmRlciB2
aWV3LgorICAgICAgICAvLyBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHlsZSwgdGhlIHBhcmVudCBl
bGVtZW50IHN0eWxlLCBhbmQgdGhlIHJlbmRlciB2aWV3LgogICAgICAgICBhdXRvIGVtU2l6ZSA9
IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoMSwgQ1NTVW5pdFR5cGU6OkNTU19FTVMpOwotICAg
ICAgICBpbnQgcGl4ZWxzID0gZW1TaXplLT5jb21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YSB7IG5ld1N0eWxlLmdldCgpLCBudWxscHRyLCBudWxscHRyLCAxLjAsIGZh
bHNlIH0pOworICAgICAgICBpbnQgcGl4ZWxzID0gZW1TaXplLT5jb21wdXRlTGVuZ3RoPGludD4o
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSB7IG5ld1N0eWxlLmdldCgpLCBudWxscHRyLCBudWxs
cHRyLCBudWxscHRyLCAxLjAsIENvbXB1dGluZ1Byb3BlcnR5OjpPdGhlck9yVW5rbm93biB9KTsK
ICAgICAgICAgbmV3U3R5bGUtPnNldEZsZXhCYXNpcyhMZW5ndGggeyBwaXhlbHMsIEZpeGVkIH0p
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXgg
NTcyYTVhNDM3ZTY5ZTIwZTUyMTY0NDg3ZmI2ZmJjYTM3YmY3MTBlZC4uNDM0MTAzYzY4NzY3OTU2
NjZkOWFlMTkzMmNkZjYyYzkzN2EwNTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0luaXRp
YWxpemVkU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX2hhc0luaXRpYWxpemVkU3R5bGU7IH0KIAog
ICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0K
KyAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUoKSBjb25zdCB7IHJldHVybiAhbV9w
YXJlbnQgPyBudWxscHRyIDogJm1fcGFyZW50LT5zdHlsZSgpOyB9CiAgICAgY29uc3QgUmVuZGVy
U3R5bGUmIGZpcnN0TGluZVN0eWxlKCkgY29uc3Q7CiAKICAgICAvLyBGSVhNRTogU3R5bGUgc2hv
dWxkbid0IGJlIG11dGF0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MubW0KaW5kZXggMTJmZDdmZmYyZmQ5MjdhMmYwZTI3YThjMGU3YjNkYzRmOTBiYzcwZi4uZWRm
ZjY3ZDRiNjk3YTIzMTVlOGM2YjAzMTE5ODU2ZGRmZGI2ZTFhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAtNTYzLDcgKzU2Myw4IEBAIHN0YXRpYyB2
b2lkIGFwcGx5Q29tbW9uQnV0dG9uUGFkZGluZ1RvU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBj
b25zdCBFbGVtZW50JiBlCiB7CiAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1
bWVudCgpOwogICAgIGF1dG8gZW1TaXplID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgwLjUs
IENTU1VuaXRUeXBlOjpDU1NfRU1TKTsKLSAgICBpbnQgcGl4ZWxzID0gZW1TaXplLT5jb21wdXRl
TGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgmc3R5bGUsIGRvY3VtZW50LnJl
bmRlclN0eWxlKCksIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgZG9jdW1lbnQuZnJhbWUoKS0+cGFn
ZVpvb21GYWN0b3IoKSkpOworICAgIC8vIFdlIGRvbid0IG5lZWQgdGhpcyBlbGVtZW50J3MgcGFy
ZW50IHN0eWxlIHRvIGNhbGN1bGF0ZSBgZW1gIHVuaXRzLCBzbyBpdCdzIG9rYXkgdG8gcGFzcyBu
dWxscHRyIGZvciBpdCBoZXJlLgorICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5n
dGg8aW50PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgZG9jdW1lbnQucmVuZGVy
U3R5bGUoKSwgbnVsbHB0ciwgZG9jdW1lbnQucmVuZGVyVmlldygpLCBkb2N1bWVudC5mcmFtZSgp
LT5wYWdlWm9vbUZhY3RvcigpKSk7CiAgICAgc3R5bGUuc2V0UGFkZGluZ0JveChMZW5ndGhCb3go
MCwgcGl4ZWxzLCAwLCBwaXhlbHMpKTsKIH0KIApAQCAtMTAyMywxMCArMTAyNCwxMCBAQCB2b2lk
IFJlbmRlclRoZW1lSU9TOjphZGp1c3RCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNv
bnN0IEVsZW1lbnQqIGVsZW1lbgogCiAgICAgLy8gU2V0IHBhZGRpbmc6IDAgMS4wZW07IG9uIGJ1
dHRvbnMuCiAgICAgLy8gQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhJbnQgb25seSBu
ZWVkcyB0aGUgZWxlbWVudCdzIHN0eWxlIHRvIGNhbGN1bGF0ZSBlbSBsZW5ndGhzLgotICAgIC8v
IFNpbmNlIHRoZSBlbGVtZW50IG1pZ2h0IG5vdCBiZSBpbiBhIGRvY3VtZW50LCBqdXN0IHBhc3Mg
bnVsbHB0ciBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHlsZQotICAgIC8vIGFuZCB0aGUgcmVuZGVy
IHZpZXcuCisgICAgLy8gU2luY2UgdGhlIGVsZW1lbnQgbWlnaHQgbm90IGJlIGluIGEgZG9jdW1l
bnQsIGp1c3QgcGFzcyBudWxscHRyIGZvciB0aGUgcm9vdCBlbGVtZW50IHN0eWxlLAorICAgIC8v
IHRoZSBwYXJlbnQgZWxlbWVudCBzdHlsZSwgYW5kIHRoZSByZW5kZXIgdmlldy4KICAgICBhdXRv
IGVtU2l6ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoMS4wLCBDU1NVbml0VHlwZTo6Q1NT
X0VNUyk7Ci0gICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBudWxscHRyLCBudWxscHRyLCAxLjAsIGZhbHNl
KSk7CisgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCAxLjAs
IENvbXB1dGluZ1Byb3BlcnR5OjpPdGhlck9yVW5rbm93bikpOwogICAgIHN0eWxlLnNldFBhZGRp
bmdCb3goTGVuZ3RoQm94KDAsIHBpeGVscywgMCwgcGl4ZWxzKSk7CiAKICAgICBpZiAoIWVsZW1l
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApp
bmRleCBlNWIzNjZkMDU4NDA3ZThmMjFiZjFjMzY2NTJkNjRlZjIxZTYwZDVhLi5mZGRiZmQxNDMz
MWNiMTljNGFjYzc5MjcyM2QxNDcyZGE1YTNlNzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTE3NzYsMTYgKzE3NzYsMTkgQEAgdm9p
ZCBSZW5kZXJTdHlsZTo6c2V0TGluZUhlaWdodChMZW5ndGgmJiBoZWlnaHQpCiAKIGludCBSZW5k
ZXJTdHlsZTo6Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgY29uc3QKIHsKLSAgICBjb25zdCBMZW5ndGgm
IGxoID0gbGluZUhlaWdodCgpOworICAgIHJldHVybiBjb21wdXRlTGluZUhlaWdodChsaW5lSGVp
Z2h0KCkpOworfQogCitpbnQgUmVuZGVyU3R5bGU6OmNvbXB1dGVMaW5lSGVpZ2h0KGNvbnN0IExl
bmd0aCYgbGluZUhlaWdodExlbmd0aCkgY29uc3QKK3sKICAgICAvLyBOZWdhdGl2ZSB2YWx1ZSBt
ZWFucyB0aGUgbGluZSBoZWlnaHQgaXMgbm90IHNldC4gVXNlIHRoZSBmb250J3MgYnVpbHQtaW4g
c3BhY2luZy4KLSAgICBpZiAobGguaXNOZWdhdGl2ZSgpKQorICAgIGlmIChsaW5lSGVpZ2h0TGVu
Z3RoLmlzTmVnYXRpdmUoKSkKICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzKCkubGluZVNwYWNp
bmcoKTsKIAotICAgIGlmIChsaC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKLSAgICAgICAgcmV0
dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChsaCwgY29tcHV0ZWRGb250UGl4ZWxTaXplKCkpOwor
ICAgIGlmIChsaW5lSGVpZ2h0TGVuZ3RoLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQorICAgICAg
ICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKGxpbmVIZWlnaHRMZW5ndGgsIGNvbXB1dGVk
Rm9udFBpeGVsU2l6ZSgpKTsKIAotICAgIHJldHVybiBjbGFtcFRvPGludD4obGgudmFsdWUoKSk7
CisgICAgcmV0dXJuIGNsYW1wVG88aW50PihsaW5lSGVpZ2h0TGVuZ3RoLnZhbHVlKCkpOwogfQog
CiB2b2lkIFJlbmRlclN0eWxlOjpzZXRXb3JkU3BhY2luZyhMZW5ndGgmJiB2YWx1ZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggNTZmMDM2MWU5
Y2Q1MTRmMTk5NGYwYjJhNWVkMzgwYTY5MTg0NjM2ZS4uOTdjYTliYmMyZWMwYjVlNjQ3M2UxMGU5
MjA2NjVmYjQ0MWZlZTZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKQEAgLTM5MSw2ICszOTEsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3Ro
JiBzcGVjaWZpZWRMaW5lSGVpZ2h0KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgY29uc3Qg
TGVuZ3RoJiBsaW5lSGVpZ2h0KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgaW50IGNvbXB1
dGVkTGluZUhlaWdodCgpIGNvbnN0OworICAgIGludCBjb21wdXRlTGluZUhlaWdodChjb25zdCBM
ZW5ndGgmKSBjb25zdDsKIAogICAgIFdoaXRlU3BhY2Ugd2hpdGVTcGFjZSgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PFdoaXRlU3BhY2U+KG1faW5oZXJpdGVkRmxhZ3Mud2hpdGVTcGFjZSk7
IH0KICAgICBzdGF0aWMgYm9vbCBhdXRvV3JhcChXaGl0ZVNwYWNlKTsKQEAgLTE1MDUsNiArMTUw
Niw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxPbmVMZW5ndGgoKSB7IHJl
dHVybiBMZW5ndGgoMSwgRml4ZWQpOyB9CiAgICAgc3RhdGljIHNob3J0IGluaXRpYWxXaWRvd3Mo
KSB7IHJldHVybiAyOyB9CiAgICAgc3RhdGljIHNob3J0IGluaXRpYWxPcnBoYW5zKCkgeyByZXR1
cm4gMjsgfQorICAgIC8vIFJldHVybmluZyAtMTAwJSBwZXJjZW50IGhlcmUgbWVhbnMgdGhlIGxp
bmUtaGVpZ2h0IGlzIG5vdCBzZXQuCiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsTGluZUhlaWdo
dCgpIHsgcmV0dXJuIExlbmd0aCgtMTAwLjBmLCBQZXJjZW50KTsgfQogICAgIHN0YXRpYyBUZXh0
QWxpZ25Nb2RlIGluaXRpYWxUZXh0QWxpZ24oKSB7IHJldHVybiBUZXh0QWxpZ25Nb2RlOjpTdGFy
dDsgfQogICAgIHN0YXRpYyBPcHRpb25TZXQ8VGV4dERlY29yYXRpb24+IGluaXRpYWxUZXh0RGVj
b3JhdGlvbigpIHsgcmV0dXJuIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbj4geyB9OyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCmluZGV4IDhkYTNmYTI0
NjcxOGMwZTBlNTJmNjlmYmMxODFhZmI3ZTc2NTFhNTMuLjc2YmE5OGQ3YmEwMTg4NjQ2ODA5ZDM1
NThmNWQwYjQzMDJhNDRjYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
QnVpbGRlckNvbnZlcnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRl
ckNvbnZlcnRlci5oCkBAIC0xMTY3LDEzICsxMTY3LDIyIEBAIGlubGluZSBHcmlkQXV0b0Zsb3cg
QnVpbGRlckNvbnZlcnRlcjo6Y29udmVydEdyaWRBdXRvRmxvdyhCdWlsZGVyU3RhdGUmLCBjb25z
dCBDCiAgICAgcmV0dXJuIGF1dG9GbG93OwogfQogCi1pbmxpbmUgQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YSBCdWlsZGVyQ29udmVydGVyOjpjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0aFRl
eHRab29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQoraW5saW5lIGZsb2F0IHpv
b21XaXRoVGV4dFpvb21GYWN0b3IoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCiB7CiAgICAg
aWYgKGF1dG8qIGZyYW1lID0gYnVpbGRlclN0YXRlLmRvY3VtZW50KCkuZnJhbWUoKSkgewogICAg
ICAgICBmbG9hdCB0ZXh0Wm9vbUZhY3RvciA9IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnRleHRab29t
KCkgIT0gVGV4dFpvb206OlJlc2V0ID8gZnJhbWUtPnRleHRab29tRmFjdG9yKCkgOiAxLjBmOwot
ICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKS5j
b3B5V2l0aEFkanVzdGVkWm9vbShidWlsZGVyU3RhdGUuc3R5bGUoKS5lZmZlY3RpdmVab29tKCkg
KiB0ZXh0Wm9vbUZhY3Rvcik7CisgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5l
ZmZlY3RpdmVab29tKCkgKiB0ZXh0Wm9vbUZhY3RvcjsKICAgICB9Ci0gICAgcmV0dXJuIGJ1aWxk
ZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCk7CisgICAgcmV0dXJuIGJ1aWxkZXJT
dGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkuem9vbSgpOworfQorCitpbmxpbmUgQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YSBCdWlsZGVyQ29udmVydGVyOjpjc3N0b0xlbmd0aENvbnZl
cnNpb25EYXRhV2l0aFRleHRab29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQor
eworICAgIGZsb2F0IHpvb20gPSB6b29tV2l0aFRleHRab29tRmFjdG9yKGJ1aWxkZXJTdGF0ZSk7
CisgICAgaWYgKHpvb20gPT0gYnVpbGRlclN0YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEo
KS56b29tKCkpCisgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJz
aW9uRGF0YSgpOworCisgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNp
b25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oem9vbSk7CiB9CiAKIGlubGluZSBPcHRpb25h
bDxMZW5ndGg+IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRXb3JkU3BhY2luZyhCdWlsZGVyU3Rh
dGUmIGJ1aWxkZXJTdGF0ZSwgY29uc3QgQ1NTVmFsdWUmIHZhbHVlKQpAQCAtMTUxMSw3ICsxNTIw
LDggQEAgaW5saW5lIE9wdGlvbmFsPExlbmd0aD4gQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydExp
bmVIZWlnaHQoQnVpbGRlclN0YXRlJiBidWlsZGUKICAgICAgICAgcmV0dXJuIFJlbmRlclN0eWxl
Ojppbml0aWFsTGluZUhlaWdodCgpOwogCiAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTGVuZ3Ro
KCkpIHsKLSAgICAgICAgTGVuZ3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5n
dGg8TGVuZ3RoPihCdWlsZGVyQ29udmVydGVyOjpjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0
aFRleHRab29tRmFjdG9yKGJ1aWxkZXJTdGF0ZSkpOworICAgICAgICBhdXRvIGNvbnZlcnNpb25E
YXRhID0gYnVpbGRlclN0YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKS5jb3B5V2l0aEFk
anVzdGVkWm9vbUFuZENvbXB1dGluZ1Byb3BlcnR5KHpvb21XaXRoVGV4dFpvb21GYWN0b3IoYnVp
bGRlclN0YXRlKSwgQ29tcHV0aW5nUHJvcGVydHk6OkxpbmVIZWlnaHQpOworICAgICAgICBMZW5n
dGggbGVuZ3RoID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxMZW5ndGg+KGNvbnZlcnNp
b25EYXRhKTsKICAgICAgICAgaWYgKG11bHRpcGxpZXIgIT0gMS5mKQogICAgICAgICAgICAgbGVu
Z3RoID0gTGVuZ3RoKGxlbmd0aC52YWx1ZSgpICogbXVsdGlwbGllciwgRml4ZWQpOwogICAgICAg
ICByZXR1cm4gbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVC
dWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20u
aAppbmRleCBlMmQ2NWZjZTMzMjg2MTcwMzUwNzVlODY5NjA5ZTQ4ODJlYTFlYjRjLi5lYzk2MDY1
YWJiMTI1YzAzYzg2NjA1MzNjZDZmMGU1YWYxZmUzMWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtMTYyMSwxNCArMTYyMSwxNCBAQCBpbmxpbmUgdm9p
ZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFNpemUoQnVpbGRlclN0YXRlJiBidWlsZGVy
U3RhdGUsIENTU1ZhbAogICAgIH0gZWxzZSB7CiAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRJ
c0Fic29sdXRlU2l6ZShwYXJlbnRJc0Fic29sdXRlU2l6ZSB8fCAhKHByaW1pdGl2ZVZhbHVlLmlz
UGVyY2VudGFnZSgpIHx8IHByaW1pdGl2ZVZhbHVlLmlzRm9udFJlbGF0aXZlTGVuZ3RoKCkpKTsK
ICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkpIHsKLSAgICAgICAgICAgIHNp
emUgPSBwcmltaXRpdmVWYWx1ZS5jb21wdXRlTGVuZ3RoPGZsb2F0PihDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhKCZidWlsZGVyU3RhdGUucGFyZW50U3R5bGUoKSwgYnVpbGRlclN0YXRlLnJvb3RF
bGVtZW50U3R5bGUoKSwgYnVpbGRlclN0YXRlLmRvY3VtZW50KCkucmVuZGVyVmlldygpLCAxLjBm
LCB0cnVlKSk7CisgICAgICAgICAgICBzaXplID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0
aDxmbG9hdD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgmYnVpbGRlclN0YXRlLnBhcmVudFN0
eWxlKCksIGJ1aWxkZXJTdGF0ZS5yb290RWxlbWVudFN0eWxlKCksICZidWlsZGVyU3RhdGUucGFy
ZW50U3R5bGUoKSwgYnVpbGRlclN0YXRlLmRvY3VtZW50KCkucmVuZGVyVmlldygpLCAxLjBmLCBD
b21wdXRpbmdQcm9wZXJ0eTo6Rm9udFNpemUpKTsKICAgICAgICAgICAgIGlmIChwcmltaXRpdmVW
YWx1ZS5pc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCgpKQogICAgICAgICAgICAgICAgIGJ1aWxk
ZXJTdGF0ZS5zdHlsZSgpLnNldEhhc1ZpZXdwb3J0VW5pdHMoKTsKICAgICAgICAgfSBlbHNlIGlm
IChwcmltaXRpdmVWYWx1ZS5pc1BlcmNlbnRhZ2UoKSkKICAgICAgICAgICAgIHNpemUgPSAocHJp
bWl0aXZlVmFsdWUuZmxvYXRWYWx1ZSgpICogcGFyZW50U2l6ZSkgLyAxMDAuMGY7CiAgICAgICAg
IGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlzQ2FsY3VsYXRlZFBlcmNlbnRhZ2VXaXRoTGVuZ3Ro
KCkpIHsKICAgICAgICAgICAgIGNvbnN0IGF1dG8mIGNvbnZlcnNpb25EYXRhID0gYnVpbGRlclN0
YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKTsKLSAgICAgICAgICAgIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEgcGFyZW50Q29udmVyc2lvbkRhdGEgeyAmYnVpbGRlclN0YXRlLnBhcmVu
dFN0eWxlKCksIGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpLCBidWlsZGVyU3RhdGUuZG9jdW1l
bnQoKS5yZW5kZXJWaWV3KCksIDEuMGYsIHRydWUgfTsKKyAgICAgICAgICAgIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEgcGFyZW50Q29udmVyc2lvbkRhdGEgeyAmYnVpbGRlclN0YXRlLnBhcmVu
dFN0eWxlKCksIGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpLCAmYnVpbGRlclN0YXRlLnBhcmVu
dFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXcoKSwgMS4wZiwgQ29t
cHV0aW5nUHJvcGVydHk6OkZvbnRTaXplIH07CiAgICAgICAgICAgICBzaXplID0gcHJpbWl0aXZl
VmFsdWUuY3NzQ2FsY1ZhbHVlKCktPmNyZWF0ZUNhbGN1bGF0aW9uVmFsdWUocGFyZW50Q29udmVy
c2lvbkRhdGEpLT5ldmFsdWF0ZShwYXJlbnRTaXplKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxk
ZXJTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHAK
aW5kZXggYTQ0ODEzZjI0NDMyMDIyYzc1MDk2YTM3MjI2MWNjNzg5OWMxMjliZC4uNzgxMWQxZTNm
NjAzZjM2MThkYjM4NjVmMzJkODEzYjEzMzJiNTQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVCdWlsZGVyU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQnVpbGRlclN0YXRlLmNwcApAQCAtNjAsNyArNjAsNyBAQCBCdWlsZGVyU3RhdGU6OkJ1
aWxkZXJTdGF0ZShCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJTdHlsZSYgc3R5bGUsIEJ1aWxkZXJD
b250ZXh0JgogICAgICwgbV9zdHlsZU1hcCgqdGhpcykKICAgICAsIG1fc3R5bGUoc3R5bGUpCiAg
ICAgLCBtX2NvbnRleHQoV1RGTW92ZShjb250ZXh0KSkKLSAgICAsIG1fY3NzVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSgmc3R5bGUsIHJvb3RFbGVtZW50U3R5bGUoKSwgZG9jdW1lbnQoKS5yZW5kZXJW
aWV3KCkpCisgICAgLCBtX2Nzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCByb290RWxl
bWVudFN0eWxlKCksICZwYXJlbnRTdHlsZSgpLCBkb2N1bWVudCgpLnJlbmRlclZpZXcoKSkKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDM2ZjEyNGY4NWVlN2U5MzhjYzVlMWE4Zjc4MDU2MDM4ZmMzYThlMjQuLmQy
MGI4MmRmNGMwY2QxZDAyOTc1MGNkYzk2NDM5Zjk3MDQzZTFlYzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAyMC0wNC0wNCAgVHlsZXIgV2lsY29jayAgPHR3aWxjby5vQHByb3Rvbm1haWwuY29t
PgorCisgICAgICAgIFtjc3MtdmFsdWVzLTRdIFN1cHBvcnQgZm9udC1yZWxhdGl2ZSBsaCBhbmQg
cmxoIHVuaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NTE4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEltcGxlbWVudCBzdXBwb3J0IGZvciB0aGUgZm9udC1yZWxhdGl2ZSBsaCBhbmQgcmxoIHVuaXRz
LgorCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElPTiBGQUlMRUQ6IG1fdmlkZW9GdWxsc2Ny
ZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSBzZWVuIHdpdGggVGVzdFdlYktpdEFQ
SS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDQ2YmU2ZjZjM2VhYTkzYWVkYjlmZjYxOTliM2ViYWIyYjA1YzNmMjku
Ljc3MTVmNmNiOGM1NjRjNjc1NzBkNTIzOTNkYjBlOTUyOTRhY2E2ZWQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA0LTA0ICBUeWxlciBXaWxj
b2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1ZXMtNF0g
U3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGggdW5pdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MTgwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKwlQYXNzIGFsbCAnbGgnIGFuZCBhbGwgJ3JsaCcgdGVzdHMs
IG1pbnVzIG9uZSB3aGljaCBtYXkgYmUgYSBidWcgaW4gdGhlIHRlc3QgaXRzZWxmOiBodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjIwNTUKKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEt
ZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAzLTMwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBbQ1NTIFNlbGVjdG9ycyA0XSBBZGQgc3VwcG9ydCBmb3IgYDppcygp
YCB3aXRoIHRoZSBzYW1lIGxvZ2ljIGZvciB0aGUgZXhpc3RpbmcgYDptYXRjaGVzKClgCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmYTg3YzU1M2UzOWQzZDRmNTZkMWI5M2JjNmUzMWM3
Li43Yzc2MTFkZWUyZmUzNzkzYzg3ZmNmNWY1NjIwNzYyMzhhZDk4ZWE2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTMxMTAsOCArMzExMCw4IEBAIHdlYmtpdC5vcmcvYi8yMDMzMzQgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0LTAwOS5oCiB3ZWJr
aXQub3JnL2IvMjAzMzM0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvaWMtdW5pdC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzIwMzMzNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2lj
LXVuaXQtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDMzMzQg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0LTAx
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAzMzM2IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtdW5pdC0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzMzNiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXVuaXQtMDAyLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDMzMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC11bml0LTAwMS5odG1sIFsgUGFzcyBdCit3ZWJraXQu
b3JnL2IvMjAzMzM2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1
ZXMvbGgtdW5pdC0wMDIuaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMzMzNyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL3ZoLXN1cHBvcnQtYXR2aWV3
cG9ydC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzM4IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJlc2hp
bmdfb25fY2hyb21lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9s
aC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEtZXhw
ZWN0ZWQudHh0CmluZGV4IDg4NGYxYjNkMWI3NzkzNzFkMTQxNTgzMmIwZjU1MmYxNjU3MDUxNDYu
LmFmZjk0NGJkNmMwNjc2ZTdhZDhlNmRhNTI1NzAyNWU0YTFlZDg3MTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMv
bGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290LTAw
MS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIMKgCiAKLUZBSUwgbGggaW4gbGluZS1o
ZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhlIHJv
b3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRyaWNzIGNvcnJl
c3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxpbmUtaGVpZ2h0
IHByb3BlcnRpZXMgZXhwZWN0ZWQgMTggKy8tIDEgYnV0IGdvdCAxNjQKLUZBSUwgcmxoIGluIGxp
bmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBvbiB0
aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgdXNlcyBmb250IG1ldHJpY3Mg
Y29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGluZS1o
ZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAxOCArLy0gMSBidXQgZ290IDE2NAotRkFJTCBsaCBp
biBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24g
dGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBj
b3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5lLWhl
aWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgcmxoIGlu
IGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24g
dGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBj
b3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5lLWhl
aWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgMmxoIGlu
IGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9u
IHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBh
cyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0
IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgMzYgKy8tIDEg
YnV0IGdvdCAxNjQKLUZBSUwgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9hcHBy
b3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0
IHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1
c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGludG8g
YWNjb3VudCBleHBlY3RlZCAzNiArLy0gMSBidXQgZ290IDE2NAotRkFJTCAybGggaW4gZm9udC1z
aXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRoZSByb290
IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFu
ZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBu
dW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDM2ICsvLSAxIGJ1dCBnb3QgMTYK
LUZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhl
IHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFs
bHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRo
YXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVk
IDMyICsvLSAxIGJ1dCBnb3QgMTYKK1BBU1MgbGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCAKK1BB
U1MgcmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNTIGxoIGluIGZvbnQtc2l6ZSBvbiBy
b290IAorUEFTUyBybGggaW4gZm9udC1zaXplIG9uIHJvb3QgCitQQVNTIDJsaCBpbiBsaW5lLWhl
aWdodCBvbiByb290IAorUEFTUyAycmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNTIDJs
aCBpbiBmb250LXNpemUgb24gcm9vdCAKK0ZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBh
c3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBm
b250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1l
cmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5p
dHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDMyICsvLSAxIGJ1dCBnb3QgMzYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395462</attachid>
            <date>2020-04-04 15:42:46 -0700</date>
            <delta_ts>2020-04-04 20:29:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195180-20200404174245.patch</filename>
            <type>text/plain</type>
            <size>43769</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IyYjU1ZDVmNmViNzRh
MjhhMmQ2NjBmNTBiYWJiMGM5NTVhMGI2NC4uZWQ5MGZjYWI2ODI0ZjM1YmE5OTU3Yzg2NDhkNGY4
OTMwMDk5ZjY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIwLTA0LTA0ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1
ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGggdW5pdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9y
ICdsaCcgYW5kICdybGgnIHVuaXRzLgorICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
LXZhbHVlcy00LyNmb250LXJlbGF0aXZlLWxlbmd0aHMKKworICAgICAgICAqIGNzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGNVbml0Q2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRpb25DYXRlZ29yeUZvckNvbWJpbmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Omhhc0RvdWJsZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpj
cmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSYWRpYWxHcmFkaWVudFZhbHVl
OjpjcmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb25pY0dyYWRpZW50VmFs
dWU6OmNyZWF0ZUdyYWRpZW50KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjppc1N0cmluZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjp1bml0VHlwZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25h
bERlcGVuZGVuY2llcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Y29sbGVjdERpcmVjdFJvb3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzIGNvbnN0KToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjppc0ZvbnRSZWxhdGl2ZUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6aXNMZW5ndGgpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUgY29uc3QpOgorICAgICAgICAqIGNz
cy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0V2lkdGhGYWN0b3IgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRIZWlnaHRGYWN0
b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRNaW5GYWN0b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YTo6dmlld3BvcnRNYXhGYWN0b3IgY29uc3QpOgorICAgICAgICAqIGNzcy9D
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmg6IFJlcGxhY2UgYm9vbCAnbV9jb21wdXRpbmdGb250
U2l6ZScgd2l0aCBDb21wdXRpbmdQcm9wZXJ0eSBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Q1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSk6IEFkZCAn
cGFyZW50U3R5bGUnIHBhcmFtZXRlciwgbmVjZXNzYXJ5IGZvciBjYWxjdWxhdGluZyBsaC9ybGgg
dW5pdCB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
OjpwYXJlbnRTdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhOjpjb21wdXRpbmdGb250U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjpjb21wdXRpbmdMaW5lSGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OmNvcHlXaXRoQWRqdXN0
ZWRab29tIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OmNvcHlXaXRoQWRqdXN0ZWRab29tQW5kQ29tcHV0aW5nUHJvcGVydHkgY29uc3QpOgorICAg
ICAgICAqIGNzcy9DU1NVbml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToK
KyAgICAgICAgKiBjc3MvQ1NTVW5pdHMuaDoKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZSBjb25zdCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJpZSk6CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTGVuZ3RoKToKKyAgICAgICAgKiBj
c3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjplZmZlY3RpdmVTaXplRGVmYXVsdFZhbHVlKToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJlc29sdmVDdXN0b21TdHlsZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnBhcmVudFN0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjphcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdU
b1N0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphZGp1c3RCdXR0b25T
dHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDog
RXh0cmFjdCAnY29tcHV0ZWRMaW5lSGVpZ2h0JyBiZWhhdmlvciBpbnRvIHNlcGFyYXRlICdjb21w
dXRlTGluZUhlaWdodCcgZnVuY3Rpb24gc28gbG9naWMgY2FuIGJlIHJldXNlZCBlbHNld2hlcmUu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29tcHV0ZWRMaW5lSGVpZ2h0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdodCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICog
c3R5bGUvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6IEV4dHJhY3Qgem9vbSBjYWxjdWxhdGlvbiBs
b2dpYyBvdXQgb2YgJ2Nzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3In
IGludG8gc2VwYXJhdGUgJ3pvb21XaXRoVGV4dFpvb21GYWN0b3InIGZ1bmN0aW9uIHNvIGxvZ2lj
IGNhbiBiZSByZXVzZWQgZWxzZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Onpvb21X
aXRoVGV4dFpvb21GYWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252
ZXJ0ZXI6OmNzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRMaW5lSGVpZ2h0
KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFNpemUpOgorICAgICAgICAq
IHN0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpC
dWlsZGVyU3RhdGU6OkJ1aWxkZXJTdGF0ZSk6CisKIDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJU
SU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3JlZW5Nb2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVO
b25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJLldlYktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRl
Z29yeUlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4
IDljMGJhNjBjOWM0N2NlOGIyMGUxMjEyYjJiZGFiNGQzNTIzMzhiYmIuLjQ4NGNjYzM2NjRhZWFl
YzdlMWIxOWNlMDFmNDc1YTgwY2I0ZTAyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2Fs
Y3VsYXRpb25WYWx1ZS5jcHAKQEAgLTgwLDYgKzgwLDggQEAgc3RhdGljIENhbGN1bGF0aW9uQ2F0
ZWdvcnkgY2FsY1VuaXRDYXRlZ29yeShDU1NVbml0VHlwZSB0eXBlKQogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19QVDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUEM6CiAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVN
UzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19WVzoKQEAgLTEzMyw3ICsxMzUsOSBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBj
YWxjdWxhdGlvbkNhdGVnb3J5Rm9yQ29tYmluYXRpb24oQ1NTVW5pdFR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OkZyZXF1ZW5jeTsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FWFM6CisgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
KyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19WVzoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfVkg6CkBAIC0xOTUsNiArMTk5LDggQEAgc3RhdGljIGJvb2wgaGFzRG91YmxlVmFs
dWUoQ1NTVW5pdFR5cGUgdHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRFBDTToKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6
CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfUkxIUzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X1VOS05PV046CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1NUUklORzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCA5Y2QyMzhmMTBjMGE1YWVjOTZkYjMxY2Uz
ZjNmM2FlYjc2MTI2YzAxLi4xNDMxMWY0YWNmMGYyOGZiNDU3MTBlODViNWFjOTcwMDY0MTEwYTEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC04MDcsNyArODA3
LDcgQEAgUmVmPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVu
dChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY28KIHsKICAgICBBU1NFUlQoIXNpemUuaXNFbXB0
eSgpKTsKIAotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEoJnJl
bmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksICZyZW5kZXJlci52aWV3KCkpOworICAgIENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEgY29udmVyc2lvbkRhdGEoJnJlbmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50
KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCksIHJlbmRlcmVyLnBhcmVudFN0eWxl
KCksICZyZW5kZXJlci52aWV3KCkpOwogCiAgICAgRmxvYXRQb2ludCBmaXJzdFBvaW50OwogICAg
IEZsb2F0UG9pbnQgc2Vjb25kUG9pbnQ7CkBAIC0xMDU2LDcgKzEwNTYsNyBAQCBSZWY8R3JhZGll
bnQ+IENTU1JhZGlhbEdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyLCBjbwogewogICAgIEFTU0VSVCghc2l6ZS5pc0VtcHR5KCkpOwogCi0gICAgQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwg
cmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgJnJl
bmRlcmVyLnZpZXcoKSk7CisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9u
RGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwgcmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyU3R5bGUoKSwgcmVuZGVyZXIucGFyZW50U3R5bGUoKSwgJnJlbmRlcmVyLnZp
ZXcoKSk7CiAKICAgICBGbG9hdFBvaW50IGZpcnN0UG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmly
c3RYKCksIGZpcnN0WSgpLCBjb252ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgo
KSkKQEAgLTEyNDcsNyArMTI0Nyw3IEBAIFJlZjxHcmFkaWVudD4gQ1NTQ29uaWNHcmFkaWVudFZh
bHVlOjpjcmVhdGVHcmFkaWVudChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uCiB7CiAgICAg
QVNTRVJUKCFzaXplLmlzRW1wdHkoKSk7CiAKLSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
IGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJlci5kb2N1bWVudCgpLmRv
Y3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKKyAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgp
LCByZW5kZXJlci5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCBy
ZW5kZXJlci5wYXJlbnRTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKIAogICAgIEZsb2F0UG9p
bnQgY2VudGVyUG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmlyc3RYKCksIGZpcnN0WSgpLCBjb252
ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDdiOWFhMDcwNDNiNWFjNjg2NjZlMTVmMjFmN2Jj
YjAxNGQwZDFjZWIuLjIxZTA0MGY2MjAzZjE0MmY4OGIxN2VjODUyODI4MWM0OWNlMjJjZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNzEsNiArNzEsOCBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bihDU1NVbml0VHlwZSB1bml0VHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUFQ6CiAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19R
OgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1FVSVJLWV9FTVM6CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1JBRDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
QEAgLTE0Nyw2ICsxNDksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTdHJpbmdUeXBlKENTU1Vu
aXRUeXBlIHR5cGUpCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BUOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19QWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUToKKyAgICBjYXNl
IENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19RVUFEOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19RVUlSS1lfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SQUQ6CkBAIC01MDIsNiAr
NTA2LDggQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX0RQQ006CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0ZSOgogICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19ROgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6Cisg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0lERU5UOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19VTklDT0RFX1JBTkdFOgpAQCAtNjMxLDYgKzYzNywyMyBAQCBkb3VibGUg
Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKGNvbnN0IENTU1Rv
TGVuZ3RoQ29udmVyc2lvbgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROgogICAgICAgICBm
YWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoIC8gUVBlckluY2g7CiAgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgICAgIEFTU0VSVChjb252ZXJzaW9uRGF0
YS5zdHlsZSgpKTsKKyAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWln
aHQoKSB8fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKSB7CisgICAgICAgICAg
ICAvLyBUcnkgdG8gZ2V0IHRoZSBwYXJlbnQncyBjb21wdXRlZCBsaW5lLWhlaWdodCwgb3IgZmFs
bCBiYWNrIHRvIHRoZSBpbml0aWFsIGxpbmUtaGVpZ2h0IG9mIHRoaXMgZWxlbWVudCdzIGZvbnQg
c3BhY2luZy4KKyAgICAgICAgICAgIGZhY3RvciA9IGNvbnZlcnNpb25EYXRhLnBhcmVudFN0eWxl
KCkgPyBjb252ZXJzaW9uRGF0YS5wYXJlbnRTdHlsZSgpLT5jb21wdXRlZExpbmVIZWlnaHQoKSA6
IGNvbnZlcnNpb25EYXRhLnN0eWxlKCktPmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKKyAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5zdHlsZSgp
LT5jb21wdXRlZExpbmVIZWlnaHQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX1JMSFM6CisgICAgICAgIGlmIChjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSkg
eworICAgICAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWlnaHQoKSB8
fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKQorICAgICAgICAgICAgICAgIGZh
Y3RvciA9IGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpLT5jb21wdXRlTGluZUhlaWdodChjb252
ZXJzaW9uRGF0YS5yb290U3R5bGUoKS0+c3BlY2lmaWVkTGluZUhlaWdodCgpKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5yb290U3R5
bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
ZmFjdG9yID0gMS4wOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
SU46CiAgICAgICAgIGZhY3RvciA9IGNzc1BpeGVsc1BlckluY2g7CiAgICAgICAgIGJyZWFrOwpA
QCAtOTI1LDYgKzk0OCw4IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6dW5pdFR5cGVTdHJp
bmcoQ1NTVW5pdFR5cGUgdW5pdFR5cGUpCiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19E
UENNOiByZXR1cm4gImRwY20iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6IHJl
dHVybiAiZnIiOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUTogcmV0dXJuICJxIjsK
KyAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzogcmV0dXJuICJsaCI7CisgICAgICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOiByZXR1cm4gInJsaCI7CiAgICAgICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19UVVJOOiByZXR1cm4gInR1cm4iOwogICAgICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfUkVNUzogcmV0dXJuICJyZW0iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBl
OjpDU1NfQ0hTOiByZXR1cm4gImNoIjsKQEAgLTEwMTIsNiArMTAzNywxMCBAQCBBTFdBWVNfSU5M
SU5FIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4
dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmb3JtYXROdW1iZXJWYWx1ZSgiZnIiKTsKICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUToKICAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlclZhbHVl
KCJxIik7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgcmV0dXJuIGZv
cm1hdE51bWJlclZhbHVlKCJsaCIpOworICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgor
ICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyVmFsdWUoInJsaCIpOwogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19ESU1FTlNJT046CiAgICAgICAgIC8vIEZJWE1FOiBXZSBjdXJyZW50bHkgZG9u
J3QgaGFuZGxlIENTU1VuaXRUeXBlOjpDU1NfRElNRU5TSU9OIHByb3Blcmx5IGFzIHdlIGRvbid0
IHN0b3JlCiAgICAgICAgIC8vIHRoZSBhY3R1YWwgZGltZW5zaW9uLCBqdXN0IHRoZSBudW1lcmlj
IHZhbHVlIGFzIGEgc3RyaW5nLgpAQCAtMTEzOSw2ICsxMTY4LDggQEAgYm9vbCBDU1NQcmltaXRp
dmVWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBvdGhlcikgY29uc3QKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVk1BWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
RlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgcmV0dXJu
IG1fdmFsdWUubnVtID09IG90aGVyLm1fdmFsdWUubnVtOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19QUk9QRVJUWV9JRDoKICAgICAgICAgcmV0dXJuIHByb3BlcnR5TmFtZShtX3ZhbHVlLnBy
b3BlcnR5SUQpID09IHByb3BlcnR5TmFtZShvdGhlci5tX3ZhbHVlLnByb3BlcnR5SUQpOwpAQCAt
MTE4Miw3ICsxMjEzLDcgQEAgUmVmPERlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlPiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlRGVwcmVjYXRlZENTU09NUHJpbWkKICAgICByZXR1cm4gRGVw
cmVjYXRlZENTU09NUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgqdGhpcywgc3R5bGVEZWNsYXJhdGlv
bik7CiB9CiAKLS8vIGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpLyNkZXBlbmRlbmN5LWN5Y2xlcy12aWEtcmVsYXRpdmUtdW5pdHMKKy8vIGh0
dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpLyNk
ZXBlbmRlbmN5LWN5Y2xlcwogdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29sbGVjdERpcmVjdENv
bXB1dGF0aW9uYWxEZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiYgdmFsdWVzKSBj
b25zdAogewogICAgIHN3aXRjaCAocHJpbWl0aXZlVW5pdFR5cGUoKSkgewpAQCAtMTE5Miw2ICsx
MjIzLDEwIEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbGxlY3REaXJlY3RDb21wdXRhdGlv
bmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHJvcGVyCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0NIUzoKICAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgdmFsdWVz
LmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0
eUxpbmVIZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
Q0FMQzoKICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25hbERl
cGVuZGVuY2llcyh2YWx1ZXMpOwogICAgICAgICBicmVhazsKQEAgLTEyMDYsNiArMTI0MSwxMCBA
QCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxE
ZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SRU1T
OgogICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5Rm9udFNpemUpOwogICAgICAgICBicmVh
azsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKKyAgICAgICAgdmFsdWVzLmFkZChD
U1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUxpbmVI
ZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0FMQzoK
ICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxEZXBl
bmRlbmNpZXModmFsdWVzKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5oCmluZGV4IGMyOTg5MmMyZGRjNTc4NWU1YWY2Y2UxNWYwMGI5YzEwODJhMDc1
NGUuLjI1NjBhNmI4MjQ1ZjNkMmQzYWY0MWU3MjQzYzEyOTkwZTU5YjU4ZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC0yNjAsNiArMjYwLDggQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmlzRm9udFJlbGF0aXZlTGVuZ3RoKENTU1VuaXRUeXBlIHR5
cGUpCiB7CiAgICAgcmV0dXJuIHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19FTVMKICAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0VYUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfTEhTCisgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19STEhT
CiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5
cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlw
ZTo6Q1NTX1FVSVJLWV9FTVM7CkBAIC0yNzEsNiArMjczLDggQEAgaW5saW5lIGJvb2wgQ1NTUHJp
bWl0aXZlVmFsdWU6OmlzTGVuZ3RoKENTU1VuaXRUeXBlIHR5cGUpCiAgICAgICAgIHx8IHR5cGUg
PT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6
OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1EKKyAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0xIUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfUkxIUwogICAgICAgICB8fCBpc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCh0
eXBlKQogICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUVVJUktZX0VNUzsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IDdiNjIwNWRlYjAwMWQ4ZWI2MWQ3YjcwMzc3MzExMTE2Njg5OTRjZDUuLjFjZDEwODQyZTlkYTBj
ZTc3YjI4NzFjMTE1MzNiOTMyYTBjYjg1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNDUxNCw2ICs0NTE0LDcgQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbnZlcnRpbmdUb0xlbmd0aFJlcXVpcmVzTm9uTnVsbFN0
eWxlKGludCBsZW5ndGgKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19FWFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0NIUzoKKyAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgogICAgICAgICByZXR1cm4gbGVuZ3RoQ29udmVy
c2lvbiAmIChGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgRml4ZWRGbG9hdENvbnZlcnNpb24pOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcAppbmRleCBiNTYyNzQ3NDcwYTNhNWRi
MTYxYTYwNzQxNTJhNTVmNGNlOTdmNjc5Li41ZDQ1NWY4ZmRhYWI5YjE1MTAwZGUyNzQ1ZmIyZGEw
YzI5MTQyMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEuY3BwCkBAIC00NSw3ICs0NSw3IEBAIGZsb2F0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGE6Onpvb20oKSBjb25zdAogCiBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRXaWR0aEZhY3RvcigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3R5bGUgJiYgIW1fY29t
cHV0aW5nRm9udFNpemUpCisgICAgaWYgKG1fc3R5bGUgJiYgIWNvbXB1dGluZ0ZvbnRTaXplKCkp
CiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihtX3N0eWxlKS0+c2V0SGFzVmlld3Bv
cnRVbml0cygpOwogCiAgICAgaWYgKCFtX3JlbmRlclZpZXcpCkBAIC01Niw3ICs1Niw3IEBAIGRv
dWJsZSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydFdpZHRoRmFjdG9yKCkgY29u
c3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFj
dG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkK
KyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAg
ICBpZiAoIW1fcmVuZGVyVmlldykKQEAgLTY3LDcgKzY3LDcgQEAgZG91YmxlIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIHsKLSAg
ICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAm
JiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+
KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmll
dykKQEAgLTc5LDcgKzc5LDcgQEAgZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZp
ZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OnZpZXdwb3J0TWF4RmFjdG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9j
b21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUo
KSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3
cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmlldykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oCmluZGV4IDFiNDM0YTgxMDg0MDZiM2Zj
Yzk4NTUzNDk2MDA2OTliMmQ0YjRjNzQuLjJkNTJkMGYyNjM1MzllMjI4Y2IxNDNmMTBhN2RmMWMy
MjUyY2JmNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEuaApAQCAtMzcsMzggKzM3LDQ4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJl
bmRlclN0eWxlOwogY2xhc3MgUmVuZGVyVmlldzsKIAorZW51bSBjbGFzcyBDb21wdXRpbmdQcm9w
ZXJ0eSB7CisgICAgRm9udFNpemUsCisgICAgTGluZUhlaWdodCwKKyAgICBPdGhlck9yVW5rbm93
bgorfTsKKwogY2xhc3MgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSB7CiBwdWJsaWM6Ci0gICAg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0IFJlbmRlclZpZXcqIHJlbmRlclZpZXcsIGZs
b2F0IHpvb20sIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBmYWxzZSkKKyAgICBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBjb25zdCBSZW5k
ZXJWaWV3KiByZW5kZXJWaWV3LCBmbG9hdCB6b29tLCBDb21wdXRpbmdQcm9wZXJ0eSBjb21wdXRp
bmdQcm9wZXJ0eSA9IENvbXB1dGluZ1Byb3BlcnR5OjpPdGhlck9yVW5rbm93bikKICAgICAgICAg
OiBtX3N0eWxlKHN0eWxlKQogICAgICAgICAsIG1fcm9vdFN0eWxlKHJvb3RTdHlsZSkKKyAgICAg
ICAgLCBtX3BhcmVudFN0eWxlKHBhcmVudFN0eWxlKQogICAgICAgICAsIG1fcmVuZGVyVmlldyhy
ZW5kZXJWaWV3KQogICAgICAgICAsIG1fem9vbSh6b29tKQogICAgICAgICAsIG1fdXNlRWZmZWN0
aXZlWm9vbShmYWxzZSkKLSAgICAgICAgLCBtX2NvbXB1dGluZ0ZvbnRTaXplKGNvbXB1dGluZ0Zv
bnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVydHkoY29tcHV0aW5nUHJvcGVydHkp
CiAgICAgewogICAgICAgICBBU1NFUlQoem9vbSA+IDApOwogICAgIH0KIAotICAgIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBjb25zdCBSZW5kZXJWaWV3KiByZW5kZXJWaWV3LCBib29sIGNvbXB1
dGluZ0ZvbnRTaXplID0gZmFsc2UpCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyVmlldyogcmVuZGVyVmlldywg
Q29tcHV0aW5nUHJvcGVydHkgY29tcHV0aW5nUHJvcGVydHkgPSBDb21wdXRpbmdQcm9wZXJ0eTo6
T3RoZXJPclVua25vd24pCiAgICAgICAgIDogbV9zdHlsZShzdHlsZSkKICAgICAgICAgLCBtX3Jv
b3RTdHlsZShyb290U3R5bGUpCisgICAgICAgICwgbV9wYXJlbnRTdHlsZShwYXJlbnRTdHlsZSkK
ICAgICAgICAgLCBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKICAgICAgICAgLCBtX3pvb20oMSkK
ICAgICAgICAgLCBtX3VzZUVmZmVjdGl2ZVpvb20odHJ1ZSkKLSAgICAgICAgLCBtX2NvbXB1dGlu
Z0ZvbnRTaXplKGNvbXB1dGluZ0ZvbnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVy
dHkoY29tcHV0aW5nUHJvcGVydHkpCiAgICAgewogICAgIH0KIAogICAgIENTU1RvTGVuZ3RoQ29u
dmVyc2lvbkRhdGEoKQotICAgICAgICA6IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobnVsbHB0
ciwgbnVsbHB0ciwgbnVsbHB0cikKKyAgICAgICAgOiBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
KG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpCiAgICAgewogICAgIH0KIAogICAg
IGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0KICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9yb290U3R5
bGU7IH0KKyAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUoKSBjb25zdCB7IHJldHVy
biBtX3BhcmVudFN0eWxlOyB9CiAgICAgZmxvYXQgem9vbSgpIGNvbnN0OwotICAgIGJvb2wgY29t
cHV0aW5nRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGluZ0ZvbnRTaXplOyB9Cisg
ICAgYm9vbCBjb21wdXRpbmdGb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcHV0aW5nUHJv
cGVydHkgPT0gQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplOyB9CisgICAgYm9vbCBjb21wdXRp
bmdMaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRpbmdQcm9wZXJ0eSA9PSBDb21w
dXRpbmdQcm9wZXJ0eTo6TGluZUhlaWdodDsgfQogCiAgICAgZG91YmxlIHZpZXdwb3J0V2lkdGhG
YWN0b3IoKSBjb25zdDsKICAgICBkb3VibGUgdmlld3BvcnRIZWlnaHRGYWN0b3IoKSBjb25zdDsK
QEAgLTc3LDE2ICs4NywyMiBAQCBwdWJsaWM6CiAKICAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhIGNvcHlXaXRoQWRqdXN0ZWRab29tKGZsb2F0IG5ld1pvb20pIGNvbnN0CiAgICAgewotICAg
ICAgICByZXR1cm4gQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShtX3N0eWxlLCBtX3Jvb3RTdHls
ZSwgbV9yZW5kZXJWaWV3LCBuZXdab29tLCBtX2NvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICAgICAg
cmV0dXJuIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1f
cGFyZW50U3R5bGUsIG1fcmVuZGVyVmlldywgbmV3Wm9vbSwgbV9jb21wdXRpbmdQcm9wZXJ0eSk7
CisgICAgfQorCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb3B5V2l0aEFkanVzdGVk
Wm9vbUFuZENvbXB1dGluZ1Byb3BlcnR5KGZsb2F0IHpvb20sIENvbXB1dGluZ1Byb3BlcnR5IGNv
bXB1dGluZ1Byb3BlcnR5KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1fcGFyZW50U3R5bGUsIG1fcmVu
ZGVyVmlldywgem9vbSwgY29tcHV0aW5nUHJvcGVydHkpOwogICAgIH0KIAogcHJpdmF0ZToKICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogbV9zdHlsZTsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogbV9y
b290U3R5bGU7CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIG1fcGFyZW50U3R5bGU7CiAgICAgY29u
c3QgUmVuZGVyVmlldyogbV9yZW5kZXJWaWV3OwogICAgIGZsb2F0IG1fem9vbTsKICAgICBib29s
IG1fdXNlRWZmZWN0aXZlWm9vbTsKLSAgICBib29sIG1fY29tcHV0aW5nRm9udFNpemU7CisgICAg
Q29tcHV0aW5nUHJvcGVydHkgbV9jb21wdXRpbmdQcm9wZXJ0eTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCmluZGV4IDFmYzZkZDJkODA5NDZkZTBh
ZWZlNjgxNWQ0MTk4ODlmZDc1YjA2ODcuLjFkNGQyMTE3OTQ3ZmNlNjRmZWMzNDczNDMwMDNiMDBi
NmM3M2MyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcApAQCAtMTQyLDYgKzE0Miw4IEBAIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIENTU1VuaXRUeXBlIHVuaXRUeXBl
KQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOiB0cyA8PCAiZHBjbSI7IGJyZWFrOwog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19GUjogdHMgPDwgImZyIjsgYnJlYWs7CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1E6IHRzIDw8ICJxIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0xIUzogdHMgPDwgImxoIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6IHRzIDw8ICJybGgiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
UEFJUjogdHMgPDwgInBhaXIiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVU5J
Q09ERV9SQU5HRTogdHMgPDwgInVuaWNvZGVfcmFuZ2UiOyBicmVhazsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfVFVSTjogdHMgPDwgInR1cm4iOyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgK
aW5kZXggMjM4MGZhYmY0M2NjMTFhOTNmYmMyMDlkMzhhNzc2MmRhODViY2IyZi4uZjA2MzNkMDgz
MDZjZGM0ZjFiMDAxYzU0ZjIyMzNkOGNmOGM5ZWNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgKQEAg
LTYzLDYgKzYzLDggQEAgZW51bSBjbGFzcyBDU1NVbml0VHlwZSA6IHVpbnQ4X3QgewogICAgIENT
U19EUENNID0gMzIsCiAgICAgQ1NTX0ZSID0gMzMsCiAgICAgQ1NTX1EgPSAzNCwKKyAgICBDU1Nf
TEhTID0gMzUsCisgICAgQ1NTX1JMSFMgPSAzNiwKICAgICBDU1NfUEFJUiA9IDEwMCwgLy8gV2Ug
ZW52aXNpb24gdGhpcyBiZWluZyBleHBvc2VkIGFzIGEgbWVhbnMgb2YgZ2V0dGluZyBjb21wdXRl
ZCBzdHlsZSB2YWx1ZXMgZm9yIHBhaXJzIChib3JkZXItc3BhY2luZy9yYWRpdXMsIGJhY2tncm91
bmQtcG9zaXRpb24sIGV0Yy4pCiAgICAgQ1NTX1VOSUNPREVfUkFOR0UgPSAxMDIsCiAgICAgQ1NT
X1RVUk4gPSAxMDcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAK
aW5kZXggN2EzYWFkZTVkMjc4NGZiZDIzMzQ3M2IxNTJiZWY1ZDhkYTNiMTJlYy4uNjBlOWIzYzA5
ODUyYjE0ZmZkMjg0YTdkMDNlNmM3ZDFiYmFhMzQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtODk5LDcgKzg5OSw5IEBAIGJvb2wgTWVkaWFRdWVy
eUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Np
b24pIGNvbnN0CiAKICAgICBpZiAoIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKGV4cHJlc3Npb24udmFsdWUoKSwg
eyBtX3N0eWxlLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgZG9j
dW1lbnQucmVuZGVyVmlldygpLCAxLCBmYWxzZSB9LCAqZnJhbWUsIE5vUHJlZml4KTsKKyAgICAK
KyAgICAvLyBQYXNzIGBudWxscHRyYCBmb3IgYHBhcmVudFN0eWxlYCBiZWNhdXNlIHdlIGFyZSBp
biB0aGUgY29udGV4dCBvZiBhIG1lZGlhIHF1ZXJ5LgorICAgIHJldHVybiBmdW5jdGlvbihleHBy
ZXNzaW9uLnZhbHVlKCksIHsgbV9zdHlsZSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgMSwgQ29tcHV0aW5n
UHJvcGVydHk6Ok90aGVyT3JVbmtub3duIH0sICpmcmFtZSwgTm9QcmVmaXgpOwogfQogCiBib29s
IE1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyhEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFN0cmluZyYgYXR0cmlidXRlVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCmluZGV4IGY1YjI0OTkzZWYyMjI4MWMxODE1ZmYx
ZmYxYTIwNjFlMDQyZDE4N2UuLjc1MDlmZDgyYTk3ZjNiNTBjZGU4MGZiZGM2NTQ1Y2VmZGQxOWE5
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCkBA
IC04Myw2ICs4MywxMCBAQCBDU1NVbml0VHlwZSBjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJp
ZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBkYXRhLCB1bnNpZ25lZCBsZQogICAgICAgICAgICAgaWYg
KHRvQVNDSUlMb3dlcihkYXRhWzFdKSA9PSAnbicpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENT
U1VuaXRUeXBlOjpDU1NfSU47CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAnbCc6
CisgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMV0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19MSFM7CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSAnbSc6CiAgICAgICAgICAgICBzd2l0Y2ggKHRvQVNDSUlMb3dlcihkYXRh
WzFdKSkgewogICAgICAgICAgICAgY2FzZSAnbSc6CkBAIC0xMzksNiArMTQzLDEwIEBAIENTU1Vu
aXRUeXBlIGNzc1ByaW1pdGl2ZVZhbHVlVW5pdEZyb21UcmllKGNvbnN0IENoYXJhY3RlclR5cGUq
IGRhdGEsIHVuc2lnbmVkIGxlCiAgICAgICAgICAgICAgICAgaWYgKHRvQVNDSUlMb3dlcihkYXRh
WzJdKSA9PSAnbScpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NT
X1JFTVM7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdsJzoKKyAg
ICAgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMl0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfUkxIUzsKKyAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
CmluZGV4IDgxZjE1ZTRmZTVjODg2NzI1MzkzZTc4Y2Y1ODY0NmNjZTk4NjI5MjAuLjM4N2U1OTgy
OWJjOGQyNjQ3MWZhNmQxYThkZmYwM2I3ZDAzN2YwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKQEAgLTI1Myw2
ICsyNTMsOCBAQCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVMZW5ndGgoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1BhcnNlck1vZAogICAgICAgICAgICAgRkFMTFRIUk9V
R0g7CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FTVM6CiAgICAgICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19SRU1TOgorICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgor
ICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0NIUzoKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VYUzoKICAgICAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcAppbmRleCA0ODk0MjQwYzI1MmQ3Zjg3OTUw
N2JjMWZjODdkZDg1NjI2Y2MwYWZiLi42NDhiNDlhMzlmNTlhYmU4NzdjMWJhODQ5ZjE1OWM4ODM4
NTFhNGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcApAQCAtNTEsOCArNTEsNyBAQCBmbG9hdCBTaXplc0F0dHJpYnV0ZVBhcnNl
cjo6Y29tcHV0ZUxlbmd0aChkb3VibGUgdmFsdWUsIENTU1VuaXRUeXBlIHR5cGUsIGNvbnN0CiAg
ICAgICAgIHJldHVybiAwOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCk7CiAK
LSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZzdHlsZSwgJnN0
eWxlLCByZW5kZXJlcik7Ci0gICAgCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252
ZXJzaW9uRGF0YSgmc3R5bGUsICZzdHlsZSwgcmVuZGVyZXItPnBhcmVudFN0eWxlKCksIHJlbmRl
cmVyKTsKICAgICAvLyBCZWNhdXNlIHdlIGV2YWx1YXRlICJzaXplcyIgYXQgcGFyc2UgdGltZSAo
YmVmb3JlIHN0eWxlIGhhcyBiZWVuIHJlc29sdmVkKSwgdGhlIGZvbnQgbWV0cmljcyB1c2VkIGZv
ciB0aGVzZSBzcGVjaWZpYyB1bml0cwogICAgIC8vIGFyZSBub3QgYXZhaWxhYmxlLiBUaGUgZm9u
dCBzZWxlY3RvcidzIGludGVybmFsIGNvbnNpc3RlbmN5IGlzbid0IGd1YXJhbnRlZWQganVzdCB5
ZXQsIHNvIHdlIGNhbiBqdXN0IHRlbXBvcmFyaWx5IGNsZWFyCiAgICAgLy8gdGhlIHBvaW50ZXIg
dG8gaXQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdW5pdCBldmFsdWF0aW9uLiBUaGlzIGlzIGFj
Y2VwdGlibGUgYmVjYXVzZSB0aGUgc3R5bGUgYWx3YXlzIGNvbWVzIGZyb20gdGhlCkBAIC02NSw3
ICs2NCw2IEBAIGZsb2F0IFNpemVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKGRvdWJs
ZSB2YWx1ZSwgQ1NTVW5pdFR5cGUgdHlwZSwgY29uc3QKICAgICAgICAgc3R5bGUuZm9udENhc2Nh
ZGUoKS51cGRhdGUoZm9udFNlbGVjdG9yLmdldCgpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9Ci0gICAgCiAgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZShjb252ZXJzaW9uRGF0YSwgdHlwZSwgdmFsdWUp
KTsKIH0KICAgICAKQEAgLTE1OSw3ICsxNTcsNyBAQCB1bnNpZ25lZCBTaXplc0F0dHJpYnV0ZVBh
cnNlcjo6ZWZmZWN0aXZlU2l6ZURlZmF1bHRWYWx1ZSgpCiAgICAgaWYgKCFyZW5kZXJlcikKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgYXV0byYgc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKLSAg
ICByZXR1cm4gY2xhbXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxj
TGVuZ3RoRG91YmxlKHsgJnN0eWxlLCAmc3R5bGUsIHJlbmRlcmVyIH0sIENTU1VuaXRUeXBlOjpD
U1NfVlcsIDEwMC4wKSk7CisgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZSh7ICZzdHlsZSwgJnN0eWxlLCByZW5kZXJl
ci0+cGFyZW50U3R5bGUoKSwgcmVuZGVyZXIgfSwgQ1NTVW5pdFR5cGU6OkNTU19WVywgMTAwLjAp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNjZlMTJk
YzllYTk1Nzk2Nzc5M2Q0Y2NhZGQ3ZTM5ODM5YjEyMTNhZi4uNWRkZDgyM2U2OGZmNDNmOWEzMDA1
OWRlYzk1ZWY5MjM5NDRlYWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0xMjEsOSArMTIxLDkgQEAg
T3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gVGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJl
c29sdmVDdXN0b21TdHlsZShjb25zdAogCiAgICAgICAgIC8vIFNldCAiZmxleC1iYXNpczogMWVt
Ii4gTm90ZSB0aGF0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoSW50KCkgb25seSBu
ZWVkcyB0aGUgZWxlbWVudCdzCiAgICAgICAgIC8vIHN0eWxlIHRvIGNhbGN1bGF0ZSBlbSBsZW5n
dGhzLiBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwganVzdCBw
YXNzIG51bGxwdHIKLSAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUgYW5kIHRo
ZSByZW5kZXIgdmlldy4KKyAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUsIHRo
ZSBwYXJlbnQgZWxlbWVudCBzdHlsZSwgYW5kIHRoZSByZW5kZXIgdmlldy4KICAgICAgICAgYXV0
byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEsIENTU1VuaXRUeXBlOjpDU1Nf
RU1TKTsKLSAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0
ciwgMS4wLCBmYWxzZSB9KTsKKyAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxl
bmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVs
bHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVu
a25vd24gfSk7CiAgICAgICAgIG5ld1N0eWxlLT5zZXRGbGV4QmFzaXMoTGVuZ3RoIHsgcGl4ZWxz
LCBGaXhlZCB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCmluZGV4IDU3MmE1YTQzN2U2OWUyMGU1MjE2NDQ4N2ZiNmZiY2EzN2JmNzEwZWQuLjQzNDEw
M2M2ODc2Nzk1NjY2ZDlhZTE5MzJjZGY2MmM5MzdhMDU0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNJbml0aWFsaXplZFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9oYXNJbml0aWFsaXplZFN0
eWxlOyB9CiAKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBt
X3N0eWxlOyB9CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gIW1fcGFyZW50ID8gbnVsbHB0ciA6ICZtX3BhcmVudC0+c3R5bGUoKTsgfQogICAgIGNv
bnN0IFJlbmRlclN0eWxlJiBmaXJzdExpbmVTdHlsZSgpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6
IFN0eWxlIHNob3VsZG4ndCBiZSBtdXRhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLm1tCmluZGV4IDEyZmQ3ZmZmMmZkOTI3YTJmMGUyN2E4YzBlN2IzZGM0Zjkw
YmM3MGYuLmVkZmY2N2Q0YjY5N2EyMzE1ZThjNmIwMzExOTg1NmRkZmRiNmUxYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTU2Myw3ICs1NjMsOCBA
QCBzdGF0aWMgdm9pZCBhcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdUb1N0eWxlKFJlbmRlclN0eWxl
JiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZQogewogICAgIERvY3VtZW50JiBkb2N1bWVudCA9IGVs
ZW1lbnQuZG9jdW1lbnQoKTsKICAgICBhdXRvIGVtU2l6ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUoMC41LCBDU1NVbml0VHlwZTo6Q1NTX0VNUyk7Ci0gICAgaW50IHBpeGVscyA9IGVtU2l6
ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBk
b2N1bWVudC5yZW5kZXJTdHlsZSgpLCBkb2N1bWVudC5yZW5kZXJWaWV3KCksIGRvY3VtZW50LmZy
YW1lKCktPnBhZ2Vab29tRmFjdG9yKCkpKTsKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRoaXMgZWxl
bWVudCdzIHBhcmVudCBzdHlsZSB0byBjYWxjdWxhdGUgYGVtYCB1bml0cywgc28gaXQncyBva2F5
IHRvIHBhc3MgbnVsbHB0ciBmb3IgaXQgaGVyZS4KKyAgICBpbnQgcGl4ZWxzID0gZW1TaXplLT5j
b21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgmc3R5bGUsIGRvY3Vt
ZW50LnJlbmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgZG9jdW1l
bnQuZnJhbWUoKS0+cGFnZVpvb21GYWN0b3IoKSkpOwogICAgIHN0eWxlLnNldFBhZGRpbmdCb3go
TGVuZ3RoQm94KDAsIHBpeGVscywgMCwgcGl4ZWxzKSk7CiB9CiAKQEAgLTEwMjMsMTAgKzEwMjQs
MTAgQEAgdm9pZCBSZW5kZXJUaGVtZUlPUzo6YWRqdXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW4KIAogICAgIC8vIFNldCBwYWRkaW5nOiAwIDEu
MGVtOyBvbiBidXR0b25zLgogICAgIC8vIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
SW50IG9ubHkgbmVlZHMgdGhlIGVsZW1lbnQncyBzdHlsZSB0byBjYWxjdWxhdGUgZW0gbGVuZ3Ro
cy4KLSAgICAvLyBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwg
anVzdCBwYXNzIG51bGxwdHIgZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUKLSAgICAvLyBhbmQg
dGhlIHJlbmRlciB2aWV3LgorICAgIC8vIFNpbmNlIHRoZSBlbGVtZW50IG1pZ2h0IG5vdCBiZSBp
biBhIGRvY3VtZW50LCBqdXN0IHBhc3MgbnVsbHB0ciBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHls
ZSwKKyAgICAvLyB0aGUgcGFyZW50IGVsZW1lbnQgc3R5bGUsIGFuZCB0aGUgcmVuZGVyIHZpZXcu
CiAgICAgYXV0byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEuMCwgQ1NTVW5p
dFR5cGU6OkNTU19FTVMpOwotICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8
aW50PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwg
MS4wLCBmYWxzZSkpOworICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8aW50
PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVua25vd24pKTsKICAgICBzdHls
ZS5zZXRQYWRkaW5nQm94KExlbmd0aEJveCgwLCBwaXhlbHMsIDAsIHBpeGVscykpOwogCiAgICAg
aWYgKCFlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKaW5kZXggZTViMzY2ZDA1ODQwN2U4ZjIxYmYxYzM2NjUyZDY0ZWYyMWU2MGQ1YS4u
ZmRkYmZkMTQzMzFjYjE5YzRhY2M3OTI3MjNkMTQ3MmRhNWEzZTc2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC0xNzc2LDE2ICsxNzc2
LDE5IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldExpbmVIZWlnaHQoTGVuZ3RoJiYgaGVpZ2h0KQog
CiBpbnQgUmVuZGVyU3R5bGU6OmNvbXB1dGVkTGluZUhlaWdodCgpIGNvbnN0CiB7Ci0gICAgY29u
c3QgTGVuZ3RoJiBsaCA9IGxpbmVIZWlnaHQoKTsKKyAgICByZXR1cm4gY29tcHV0ZUxpbmVIZWln
aHQobGluZUhlaWdodCgpKTsKK30KIAoraW50IFJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdo
dChjb25zdCBMZW5ndGgmIGxpbmVIZWlnaHRMZW5ndGgpIGNvbnN0Cit7CiAgICAgLy8gTmVnYXRp
dmUgdmFsdWUgbWVhbnMgdGhlIGxpbmUgaGVpZ2h0IGlzIG5vdCBzZXQuIFVzZSB0aGUgZm9udCdz
IGJ1aWx0LWluIHNwYWNpbmcuCi0gICAgaWYgKGxoLmlzTmVnYXRpdmUoKSkKKyAgICBpZiAobGlu
ZUhlaWdodExlbmd0aC5pc05lZ2F0aXZlKCkpCiAgICAgICAgIHJldHVybiBmb250TWV0cmljcygp
LmxpbmVTcGFjaW5nKCk7CiAKLSAgICBpZiAobGguaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCi0g
ICAgICAgIHJldHVybiBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobGgsIGNvbXB1dGVkRm9udFBpeGVs
U2l6ZSgpKTsKKyAgICBpZiAobGluZUhlaWdodExlbmd0aC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQo
KSkKKyAgICAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChsaW5lSGVpZ2h0TGVuZ3Ro
LCBjb21wdXRlZEZvbnRQaXhlbFNpemUoKSk7CiAKLSAgICByZXR1cm4gY2xhbXBUbzxpbnQ+KGxo
LnZhbHVlKCkpOworICAgIHJldHVybiBjbGFtcFRvPGludD4obGluZUhlaWdodExlbmd0aC52YWx1
ZSgpKTsKIH0KIAogdm9pZCBSZW5kZXJTdHlsZTo6c2V0V29yZFNwYWNpbmcoTGVuZ3RoJiYgdmFs
dWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4
IDU2ZjAzNjFlOWNkNTE0ZjE5OTRmMGIyYTVlZDM4MGE2OTE4NDYzNmUuLjk3Y2E5YmJjMmVjMGI1
ZTY0NzNlMTBlOTIwNjY1ZmI0NDFmZWU2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zOTEsNiArMzkxLDcgQEAgcHVibGljOgogICAgIGNv
bnN0IExlbmd0aCYgc3BlY2lmaWVkTGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIGNvbnN0IExlbmd0aCYgbGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGludCBjb21wdXRlZExpbmVIZWlnaHQoKSBjb25zdDsKKyAgICBpbnQgY29tcHV0ZUxpbmVIZWln
aHQoY29uc3QgTGVuZ3RoJikgY29uc3Q7CiAKICAgICBXaGl0ZVNwYWNlIHdoaXRlU3BhY2UoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxXaGl0ZVNwYWNlPihtX2luaGVyaXRlZEZsYWdzLndo
aXRlU3BhY2UpOyB9CiAgICAgc3RhdGljIGJvb2wgYXV0b1dyYXAoV2hpdGVTcGFjZSk7CkBAIC0x
NTA1LDYgKzE1MDYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsT25lTGVu
Z3RoKCkgeyByZXR1cm4gTGVuZ3RoKDEsIEZpeGVkKTsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0
aWFsV2lkb3dzKCkgeyByZXR1cm4gMjsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0aWFsT3JwaGFu
cygpIHsgcmV0dXJuIDI7IH0KKyAgICAvLyBSZXR1cm5pbmcgLTEwMCUgcGVyY2VudCBoZXJlIG1l
YW5zIHRoZSBsaW5lLWhlaWdodCBpcyBub3Qgc2V0LgogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlh
bExpbmVIZWlnaHQoKSB7IHJldHVybiBMZW5ndGgoLTEwMC4wZiwgUGVyY2VudCk7IH0KICAgICBz
dGF0aWMgVGV4dEFsaWduTW9kZSBpbml0aWFsVGV4dEFsaWduKCkgeyByZXR1cm4gVGV4dEFsaWdu
TW9kZTo6U3RhcnQ7IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uPiBpbml0
aWFsVGV4dERlY29yYXRpb24oKSB7IHJldHVybiBPcHRpb25TZXQ8VGV4dERlY29yYXRpb24+IHsg
fTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ29udmVy
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAppbmRl
eCA4ZGEzZmEyNDY3MThjMGUwZTUyZjY5ZmJjMTgxYWZiN2U3NjUxYTUzLi43NmJhOThkN2JhMDE4
ODY0NjgwOWQzNTU4ZjVkMGI0MzAyYTQ0Y2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaApAQCAtMTE2NywxMyArMTE2NywyMiBAQCBpbmxpbmUgR3Jp
ZEF1dG9GbG93IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRHcmlkQXV0b0Zsb3coQnVpbGRlclN0
YXRlJiwgY29uc3QgQwogICAgIHJldHVybiBhdXRvRmxvdzsKIH0KIAotaW5saW5lIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJzaW9u
RGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK2lubGlu
ZSBmbG9hdCB6b29tV2l0aFRleHRab29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRl
KQogewogICAgIGlmIChhdXRvKiBmcmFtZSA9IGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLmZyYW1l
KCkpIHsKICAgICAgICAgZmxvYXQgdGV4dFpvb21GYWN0b3IgPSBidWlsZGVyU3RhdGUuc3R5bGUo
KS50ZXh0Wm9vbSgpICE9IFRleHRab29tOjpSZXNldCA/IGZyYW1lLT50ZXh0Wm9vbUZhY3Rvcigp
IDogMS4wZjsKLSAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNp
b25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oYnVpbGRlclN0YXRlLnN0eWxlKCkuZWZmZWN0
aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3IpOworICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRl
LnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3I7CiAgICAgfQotICAgIHJl
dHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpOworICAgIHJldHVy
biBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpLnpvb20oKTsKK30KKwor
aW5saW5lIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9M
ZW5ndGhDb252ZXJzaW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxk
ZXJTdGF0ZSkKK3sKKyAgICBmbG9hdCB6b29tID0gem9vbVdpdGhUZXh0Wm9vbUZhY3RvcihidWls
ZGVyU3RhdGUpOworICAgIGlmICh6b29tID09IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZl
cnNpb25EYXRhKCkuem9vbSgpKQorICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLmNzc1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoKTsKKworICAgIHJldHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5n
dGhDb252ZXJzaW9uRGF0YSgpLmNvcHlXaXRoQWRqdXN0ZWRab29tKHpvb20pOwogfQogCiBpbmxp
bmUgT3B0aW9uYWw8TGVuZ3RoPiBCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0V29yZFNwYWNpbmco
QnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKQEAgLTE1
MTEsNyArMTUyMCw4IEBAIGlubGluZSBPcHRpb25hbDxMZW5ndGg+IEJ1aWxkZXJDb252ZXJ0ZXI6
OmNvbnZlcnRMaW5lSGVpZ2h0KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlCiAgICAgICAgIHJldHVybiBS
ZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVIZWlnaHQoKTsKIAogICAgIGlmIChwcmltaXRpdmVWYWx1
ZS5pc0xlbmd0aCgpKSB7Ci0gICAgICAgIExlbmd0aCBsZW5ndGggPSBwcmltaXRpdmVWYWx1ZS5j
b21wdXRlTGVuZ3RoPExlbmd0aD4oQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJz
aW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihidWlsZGVyU3RhdGUpKTsKKyAgICAgICAgYXV0byBj
b252ZXJzaW9uRGF0YSA9IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCku
Y29weVdpdGhBZGp1c3RlZFpvb21BbmRDb21wdXRpbmdQcm9wZXJ0eSh6b29tV2l0aFRleHRab29t
RmFjdG9yKGJ1aWxkZXJTdGF0ZSksIENvbXB1dGluZ1Byb3BlcnR5OjpMaW5lSGVpZ2h0KTsKKyAg
ICAgICAgTGVuZ3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8TGVuZ3Ro
Pihjb252ZXJzaW9uRGF0YSk7CiAgICAgICAgIGlmIChtdWx0aXBsaWVyICE9IDEuZikKICAgICAg
ICAgICAgIGxlbmd0aCA9IExlbmd0aChsZW5ndGgudmFsdWUoKSAqIG11bHRpcGxpZXIsIEZpeGVk
KTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKaW5kZXggZTJkNjVmY2UzMzI4NjE3MDM1MDc1ZTg2OTYwOWU0ODgyZWExZWI0
Yy4uZWM5NjA2NWFiYjEyNWMwM2M4NjYwNTMzY2Q2ZjBlNWFmMWZlMzFhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE2MjEsMTQgKzE2MjEsMTQgQEAg
aW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTaXplKEJ1aWxkZXJTdGF0
ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWwKICAgICB9IGVsc2UgewogICAgICAgICBmb250RGVzY3Jp
cHRpb24uc2V0SXNBYnNvbHV0ZVNpemUocGFyZW50SXNBYnNvbHV0ZVNpemUgfHwgIShwcmltaXRp
dmVWYWx1ZS5pc1BlcmNlbnRhZ2UoKSB8fCBwcmltaXRpdmVWYWx1ZS5pc0ZvbnRSZWxhdGl2ZUxl
bmd0aCgpKSk7CiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc0xlbmd0aCgpKSB7Ci0gICAg
ICAgICAgICBzaXplID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxmbG9hdD4oQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSgmYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJT
dGF0ZS5yb290RWxlbWVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZp
ZXcoKSwgMS4wZiwgdHJ1ZSkpOworICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLmNv
bXB1dGVMZW5ndGg8ZmxvYXQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJmJ1aWxkZXJTdGF0
ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUucm9vdEVsZW1lbnRTdHlsZSgpLCAmYnVpbGRl
clN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXco
KSwgMS4wZiwgQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplKSk7CiAgICAgICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUuaXNWaWV3cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSkKICAgICAgICAgICAg
ICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAgICAgICAg
IH0gZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUuaXNQZXJjZW50YWdlKCkpCiAgICAgICAgICAgICBz
aXplID0gKHByaW1pdGl2ZVZhbHVlLmZsb2F0VmFsdWUoKSAqIHBhcmVudFNpemUpIC8gMTAwLjBm
OwogICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc0NhbGN1bGF0ZWRQZXJjZW50YWdl
V2l0aExlbmd0aCgpKSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiBjb252ZXJzaW9uRGF0YSA9
IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCk7Ci0gICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgYnVpbGRlclN0
YXRlLmRvY3VtZW50KCkucmVuZGVyVmlldygpLCAxLjBmLCB0cnVlIH07CisgICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUuZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCks
IDEuMGYsIENvbXB1dGluZ1Byb3BlcnR5OjpGb250U2l6ZSB9OwogICAgICAgICAgICAgc2l6ZSA9
IHByaW1pdGl2ZVZhbHVlLmNzc0NhbGNWYWx1ZSgpLT5jcmVhdGVDYWxjdWxhdGlvblZhbHVlKHBh
cmVudENvbnZlcnNpb25EYXRhKS0+ZXZhbHVhdGUocGFyZW50U2l6ZSk7CiAgICAgICAgIH0gZWxz
ZQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
U3RhdGUuY3BwCmluZGV4IGE0NDgxM2YyNDQzMjAyMmM3NTA5NmEzNzIyNjFjYzc4OTljMTI5YmQu
Ljc4MTFkMWUzZjYwM2YzNjE4ZGIzODY1ZjMyZDgxM2IxMzMyYjU0NmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgQnVpbGRl
clN0YXRlOjpCdWlsZGVyU3RhdGUoQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyU3R5bGUmIHN0eWxl
LCBCdWlsZGVyQ29udGV4dCYKICAgICAsIG1fc3R5bGVNYXAoKnRoaXMpCiAgICAgLCBtX3N0eWxl
KHN0eWxlKQogICAgICwgbV9jb250ZXh0KFdURk1vdmUoY29udGV4dCkpCi0gICAgLCBtX2Nzc1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCByb290RWxlbWVudFN0eWxlKCksIGRvY3VtZW50
KCkucmVuZGVyVmlldygpKQorICAgICwgbV9jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHls
ZSwgcm9vdEVsZW1lbnRTdHlsZSgpLCAmcGFyZW50U3R5bGUoKSwgZG9jdW1lbnQoKS5yZW5kZXJW
aWV3KCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNmYxMjRmODVlZTdlOTM4Y2M1ZTFhOGY3ODA1NjAzOGZj
M2E4ZTI0Li5mYzdlMDNjYmY3NDQ2NWFiM2I4ZTMyZTlhMmY1ZDAzYjc5ZmQ3MmE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDQtMDQgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLXZhbHVlcy00XSBTdXBwb3J0IGZvbnQtcmVsYXRp
dmUgbGggYW5kIHJsaCB1bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTUxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIGZvbnQtcmVsYXRpdmUgJ2xoJyBh
bmQgJ3JsaCcgdW5pdHMuCisgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVz
LTQvI2ZvbnQtcmVsYXRpdmUtbGVuZ3RocworCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcu
bGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElP
TiBGQUlMRUQ6IG1fdmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9u
ZSBzZWVuIHdpdGggVGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdv
cnlJT1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQ2YmU2ZjZjM2VhYTkzYWVk
YjlmZjYxOTliM2ViYWIyYjA1YzNmMjkuLmVmZTlhNWEyNzY0OGUxODFjZTgyMGJmODExOWExNTk3
ODVkM2U0NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA0LTA0ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisK
KyAgICAgICAgW2Nzcy12YWx1ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGgg
dW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1
MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFz
cyBhbGwgJ2xoJyBhbmQgJ3JsaCcgdGVzdHMsIG1pbnVzIHRoZSAnMnJsaCBpbiBmb250LXNpemUg
b24gcm9vdCcgdGVzdCB3aGljaCBtYXkgYmUgYSBidWcgaW4gdGhlIHRlc3QgaXRzZWxmOiBodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjIwNTUKKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0w
MDEtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAzLTMwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNlbGVjdG9ycyA0XSBBZGQgc3VwcG9ydCBmb3IgYDpp
cygpYCB3aXRoIHRoZSBzYW1lIGxvZ2ljIGZvciB0aGUgZXhpc3RpbmcgYDptYXRjaGVzKClgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmYTg3YzU1M2UzOWQzZDRmNTZkMWI5M2JjNmUz
MWM3Li43Yzc2MTFkZWUyZmUzNzkzYzg3ZmNmNWY1NjIwNzYyMzhhZDk4ZWE2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTMxMTAsOCArMzExMCw4IEBAIHdlYmtpdC5vcmcvYi8yMDMzMzQgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0LTAwOS5oCiB3
ZWJraXQub3JnL2IvMjAzMzM0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaWMtdW5pdC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIwMzMzNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ljLXVuaXQtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDMz
MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0
LTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAzMzM2IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtdW5pdC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzMzNiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXVuaXQtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDMzMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC11bml0LTAwMS5odG1sIFsgUGFzcyBdCit3ZWJr
aXQub3JnL2IvMjAzMzM2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvbGgtdW5pdC0wMDIuaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMzMzNyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL3ZoLXN1cHBvcnQtYXR2
aWV3cG9ydC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzM4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJl
c2hpbmdfb25fY2hyb21lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVl
cy9saC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEt
ZXhwZWN0ZWQudHh0CmluZGV4IDg4NGYxYjNkMWI3NzkzNzFkMTQxNTgzMmIwZjU1MmYxNjU3MDUx
NDYuLmFmZjk0NGJkNmMwNjc2ZTdhZDhlNmRhNTI1NzAyNWU0YTFlZDg3MTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1
ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290
LTAwMS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIMKgCiAKLUZBSUwgbGggaW4gbGlu
ZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhl
IHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRyaWNzIGNv
cnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxpbmUtaGVp
Z2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMTggKy8tIDEgYnV0IGdvdCAxNjQKLUZBSUwgcmxoIGlu
IGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBv
biB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAxOCArLy0gMSBidXQgZ290IDE2NAotRkFJTCBs
aCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgcmxo
IGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgMmxo
IGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3Jr
cyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vz
bid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgMzYgKy8t
IDEgYnV0IGdvdCAxNjQKLUZBSUwgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9h
cHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVp
Z2h0IHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkg
Y2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGlu
dG8gYWNjb3VudCBleHBlY3RlZCAzNiArLy0gMSBidXQgZ290IDE2NAotRkFJTCAybGggaW4gZm9u
dC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRoZSBy
b290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0
IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRo
ZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDM2ICsvLSAxIGJ1dCBnb3Qg
MTYKLUZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczog
dGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0
dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNr
IHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVj
dGVkIDMyICsvLSAxIGJ1dCBnb3QgMTYKK1BBU1MgbGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCAK
K1BBU1MgcmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNTIGxoIGluIGZvbnQtc2l6ZSBv
biByb290IAorUEFTUyBybGggaW4gZm9udC1zaXplIG9uIHJvb3QgCitQQVNTIDJsaCBpbiBsaW5l
LWhlaWdodCBvbiByb290IAorUEFTUyAycmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNT
IDJsaCBpbiBmb250LXNpemUgb24gcm9vdCAKK0ZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9v
dCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQn
cyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0
IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2Yg
dW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDMyICsvLSAxIGJ1dCBnb3QgMzYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395473</attachid>
            <date>2020-04-04 20:29:10 -0700</date>
            <delta_ts>2020-04-04 21:44:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195180-20200404222909.patch</filename>
            <type>text/plain</type>
            <size>46727</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IyYjU1ZDVmNmViNzRh
MjhhMmQ2NjBmNTBiYWJiMGM5NTVhMGI2NC4uZWQ5MGZjYWI2ODI0ZjM1YmE5OTU3Yzg2NDhkNGY4
OTMwMDk5ZjY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIwLTA0LTA0ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1
ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGggdW5pdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9y
ICdsaCcgYW5kICdybGgnIHVuaXRzLgorICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
LXZhbHVlcy00LyNmb250LXJlbGF0aXZlLWxlbmd0aHMKKworICAgICAgICAqIGNzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGNVbml0Q2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRpb25DYXRlZ29yeUZvckNvbWJpbmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Omhhc0RvdWJsZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpj
cmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSYWRpYWxHcmFkaWVudFZhbHVl
OjpjcmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb25pY0dyYWRpZW50VmFs
dWU6OmNyZWF0ZUdyYWRpZW50KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjppc1N0cmluZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjp1bml0VHlwZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25h
bERlcGVuZGVuY2llcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Y29sbGVjdERpcmVjdFJvb3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzIGNvbnN0KToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjppc0ZvbnRSZWxhdGl2ZUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6aXNMZW5ndGgpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUgY29uc3QpOgorICAgICAgICAqIGNz
cy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0V2lkdGhGYWN0b3IgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRIZWlnaHRGYWN0
b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRNaW5GYWN0b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YTo6dmlld3BvcnRNYXhGYWN0b3IgY29uc3QpOgorICAgICAgICAqIGNzcy9D
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmg6IFJlcGxhY2UgYm9vbCAnbV9jb21wdXRpbmdGb250
U2l6ZScgd2l0aCBDb21wdXRpbmdQcm9wZXJ0eSBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Q1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSk6IEFkZCAn
cGFyZW50U3R5bGUnIHBhcmFtZXRlciwgbmVjZXNzYXJ5IGZvciBjYWxjdWxhdGluZyBsaC9ybGgg
dW5pdCB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
OjpwYXJlbnRTdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhOjpjb21wdXRpbmdGb250U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjpjb21wdXRpbmdMaW5lSGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OmNvcHlXaXRoQWRqdXN0
ZWRab29tIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OmNvcHlXaXRoQWRqdXN0ZWRab29tQW5kQ29tcHV0aW5nUHJvcGVydHkgY29uc3QpOgorICAg
ICAgICAqIGNzcy9DU1NVbml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToK
KyAgICAgICAgKiBjc3MvQ1NTVW5pdHMuaDoKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZSBjb25zdCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJpZSk6CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTGVuZ3RoKToKKyAgICAgICAgKiBj
c3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjplZmZlY3RpdmVTaXplRGVmYXVsdFZhbHVlKToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJlc29sdmVDdXN0b21TdHlsZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnBhcmVudFN0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjphcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdU
b1N0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphZGp1c3RCdXR0b25T
dHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDog
RXh0cmFjdCAnY29tcHV0ZWRMaW5lSGVpZ2h0JyBiZWhhdmlvciBpbnRvIHNlcGFyYXRlICdjb21w
dXRlTGluZUhlaWdodCcgZnVuY3Rpb24gc28gbG9naWMgY2FuIGJlIHJldXNlZCBlbHNld2hlcmUu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29tcHV0ZWRMaW5lSGVpZ2h0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdodCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICog
c3R5bGUvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6IEV4dHJhY3Qgem9vbSBjYWxjdWxhdGlvbiBs
b2dpYyBvdXQgb2YgJ2Nzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3In
IGludG8gc2VwYXJhdGUgJ3pvb21XaXRoVGV4dFpvb21GYWN0b3InIGZ1bmN0aW9uIHNvIGxvZ2lj
IGNhbiBiZSByZXVzZWQgZWxzZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Onpvb21X
aXRoVGV4dFpvb21GYWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252
ZXJ0ZXI6OmNzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRMaW5lSGVpZ2h0
KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFNpemUpOgorICAgICAgICAq
IHN0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpC
dWlsZGVyU3RhdGU6OkJ1aWxkZXJTdGF0ZSk6CisKIDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJU
SU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3JlZW5Nb2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVO
b25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJLldlYktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRl
Z29yeUlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4
IDljMGJhNjBjOWM0N2NlOGIyMGUxMjEyYjJiZGFiNGQzNTIzMzhiYmIuLjQ4NGNjYzM2NjRhZWFl
YzdlMWIxOWNlMDFmNDc1YTgwY2I0ZTAyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2Fs
Y3VsYXRpb25WYWx1ZS5jcHAKQEAgLTgwLDYgKzgwLDggQEAgc3RhdGljIENhbGN1bGF0aW9uQ2F0
ZWdvcnkgY2FsY1VuaXRDYXRlZ29yeShDU1NVbml0VHlwZSB0eXBlKQogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19QVDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUEM6CiAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVN
UzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19WVzoKQEAgLTEzMyw3ICsxMzUsOSBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBj
YWxjdWxhdGlvbkNhdGVnb3J5Rm9yQ29tYmluYXRpb24oQ1NTVW5pdFR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OkZyZXF1ZW5jeTsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FWFM6CisgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
KyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19WVzoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfVkg6CkBAIC0xOTUsNiArMTk5LDggQEAgc3RhdGljIGJvb2wgaGFzRG91YmxlVmFs
dWUoQ1NTVW5pdFR5cGUgdHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRFBDTToKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6
CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfUkxIUzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X1VOS05PV046CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1NUUklORzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCA5Y2QyMzhmMTBjMGE1YWVjOTZkYjMxY2Uz
ZjNmM2FlYjc2MTI2YzAxLi4xNDMxMWY0YWNmMGYyOGZiNDU3MTBlODViNWFjOTcwMDY0MTEwYTEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC04MDcsNyArODA3
LDcgQEAgUmVmPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVu
dChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY28KIHsKICAgICBBU1NFUlQoIXNpemUuaXNFbXB0
eSgpKTsKIAotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEoJnJl
bmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksICZyZW5kZXJlci52aWV3KCkpOworICAgIENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEgY29udmVyc2lvbkRhdGEoJnJlbmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50
KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCksIHJlbmRlcmVyLnBhcmVudFN0eWxl
KCksICZyZW5kZXJlci52aWV3KCkpOwogCiAgICAgRmxvYXRQb2ludCBmaXJzdFBvaW50OwogICAg
IEZsb2F0UG9pbnQgc2Vjb25kUG9pbnQ7CkBAIC0xMDU2LDcgKzEwNTYsNyBAQCBSZWY8R3JhZGll
bnQ+IENTU1JhZGlhbEdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyLCBjbwogewogICAgIEFTU0VSVCghc2l6ZS5pc0VtcHR5KCkpOwogCi0gICAgQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwg
cmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgJnJl
bmRlcmVyLnZpZXcoKSk7CisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9u
RGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwgcmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyU3R5bGUoKSwgcmVuZGVyZXIucGFyZW50U3R5bGUoKSwgJnJlbmRlcmVyLnZp
ZXcoKSk7CiAKICAgICBGbG9hdFBvaW50IGZpcnN0UG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmly
c3RYKCksIGZpcnN0WSgpLCBjb252ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgo
KSkKQEAgLTEyNDcsNyArMTI0Nyw3IEBAIFJlZjxHcmFkaWVudD4gQ1NTQ29uaWNHcmFkaWVudFZh
bHVlOjpjcmVhdGVHcmFkaWVudChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uCiB7CiAgICAg
QVNTRVJUKCFzaXplLmlzRW1wdHkoKSk7CiAKLSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
IGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJlci5kb2N1bWVudCgpLmRv
Y3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKKyAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgp
LCByZW5kZXJlci5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCBy
ZW5kZXJlci5wYXJlbnRTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKIAogICAgIEZsb2F0UG9p
bnQgY2VudGVyUG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmlyc3RYKCksIGZpcnN0WSgpLCBjb252
ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDdiOWFhMDcwNDNiNWFjNjg2NjZlMTVmMjFmN2Jj
YjAxNGQwZDFjZWIuLjIxZTA0MGY2MjAzZjE0MmY4OGIxN2VjODUyODI4MWM0OWNlMjJjZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNzEsNiArNzEsOCBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bihDU1NVbml0VHlwZSB1bml0VHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUFQ6CiAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19R
OgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1FVSVJLWV9FTVM6CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1JBRDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
QEAgLTE0Nyw2ICsxNDksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTdHJpbmdUeXBlKENTU1Vu
aXRUeXBlIHR5cGUpCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BUOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19QWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUToKKyAgICBjYXNl
IENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19RVUFEOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19RVUlSS1lfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SQUQ6CkBAIC01MDIsNiAr
NTA2LDggQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX0RQQ006CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0ZSOgogICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19ROgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6Cisg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0lERU5UOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19VTklDT0RFX1JBTkdFOgpAQCAtNjMxLDYgKzYzNywyMyBAQCBkb3VibGUg
Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKGNvbnN0IENTU1Rv
TGVuZ3RoQ29udmVyc2lvbgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROgogICAgICAgICBm
YWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoIC8gUVBlckluY2g7CiAgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgICAgIEFTU0VSVChjb252ZXJzaW9uRGF0
YS5zdHlsZSgpKTsKKyAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWln
aHQoKSB8fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKSB7CisgICAgICAgICAg
ICAvLyBUcnkgdG8gZ2V0IHRoZSBwYXJlbnQncyBjb21wdXRlZCBsaW5lLWhlaWdodCwgb3IgZmFs
bCBiYWNrIHRvIHRoZSBpbml0aWFsIGxpbmUtaGVpZ2h0IG9mIHRoaXMgZWxlbWVudCdzIGZvbnQg
c3BhY2luZy4KKyAgICAgICAgICAgIGZhY3RvciA9IGNvbnZlcnNpb25EYXRhLnBhcmVudFN0eWxl
KCkgPyBjb252ZXJzaW9uRGF0YS5wYXJlbnRTdHlsZSgpLT5jb21wdXRlZExpbmVIZWlnaHQoKSA6
IGNvbnZlcnNpb25EYXRhLnN0eWxlKCktPmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKKyAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5zdHlsZSgp
LT5jb21wdXRlZExpbmVIZWlnaHQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX1JMSFM6CisgICAgICAgIGlmIChjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSkg
eworICAgICAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWlnaHQoKSB8
fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKQorICAgICAgICAgICAgICAgIGZh
Y3RvciA9IGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpLT5jb21wdXRlTGluZUhlaWdodChjb252
ZXJzaW9uRGF0YS5yb290U3R5bGUoKS0+c3BlY2lmaWVkTGluZUhlaWdodCgpKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5yb290U3R5
bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
ZmFjdG9yID0gMS4wOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
SU46CiAgICAgICAgIGZhY3RvciA9IGNzc1BpeGVsc1BlckluY2g7CiAgICAgICAgIGJyZWFrOwpA
QCAtOTI1LDYgKzk0OCw4IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6dW5pdFR5cGVTdHJp
bmcoQ1NTVW5pdFR5cGUgdW5pdFR5cGUpCiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19E
UENNOiByZXR1cm4gImRwY20iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6IHJl
dHVybiAiZnIiOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUTogcmV0dXJuICJxIjsK
KyAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzogcmV0dXJuICJsaCI7CisgICAgICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOiByZXR1cm4gInJsaCI7CiAgICAgICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19UVVJOOiByZXR1cm4gInR1cm4iOwogICAgICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfUkVNUzogcmV0dXJuICJyZW0iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBl
OjpDU1NfQ0hTOiByZXR1cm4gImNoIjsKQEAgLTEwMTIsNiArMTAzNywxMCBAQCBBTFdBWVNfSU5M
SU5FIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4
dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmb3JtYXROdW1iZXJWYWx1ZSgiZnIiKTsKICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUToKICAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlclZhbHVl
KCJxIik7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgcmV0dXJuIGZv
cm1hdE51bWJlclZhbHVlKCJsaCIpOworICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgor
ICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyVmFsdWUoInJsaCIpOwogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19ESU1FTlNJT046CiAgICAgICAgIC8vIEZJWE1FOiBXZSBjdXJyZW50bHkgZG9u
J3QgaGFuZGxlIENTU1VuaXRUeXBlOjpDU1NfRElNRU5TSU9OIHByb3Blcmx5IGFzIHdlIGRvbid0
IHN0b3JlCiAgICAgICAgIC8vIHRoZSBhY3R1YWwgZGltZW5zaW9uLCBqdXN0IHRoZSBudW1lcmlj
IHZhbHVlIGFzIGEgc3RyaW5nLgpAQCAtMTEzOSw2ICsxMTY4LDggQEAgYm9vbCBDU1NQcmltaXRp
dmVWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBvdGhlcikgY29uc3QKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVk1BWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
RlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgcmV0dXJu
IG1fdmFsdWUubnVtID09IG90aGVyLm1fdmFsdWUubnVtOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19QUk9QRVJUWV9JRDoKICAgICAgICAgcmV0dXJuIHByb3BlcnR5TmFtZShtX3ZhbHVlLnBy
b3BlcnR5SUQpID09IHByb3BlcnR5TmFtZShvdGhlci5tX3ZhbHVlLnByb3BlcnR5SUQpOwpAQCAt
MTE4Miw3ICsxMjEzLDcgQEAgUmVmPERlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlPiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlRGVwcmVjYXRlZENTU09NUHJpbWkKICAgICByZXR1cm4gRGVw
cmVjYXRlZENTU09NUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgqdGhpcywgc3R5bGVEZWNsYXJhdGlv
bik7CiB9CiAKLS8vIGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpLyNkZXBlbmRlbmN5LWN5Y2xlcy12aWEtcmVsYXRpdmUtdW5pdHMKKy8vIGh0
dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpLyNk
ZXBlbmRlbmN5LWN5Y2xlcwogdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29sbGVjdERpcmVjdENv
bXB1dGF0aW9uYWxEZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiYgdmFsdWVzKSBj
b25zdAogewogICAgIHN3aXRjaCAocHJpbWl0aXZlVW5pdFR5cGUoKSkgewpAQCAtMTE5Miw2ICsx
MjIzLDEwIEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbGxlY3REaXJlY3RDb21wdXRhdGlv
bmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHJvcGVyCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0NIUzoKICAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgdmFsdWVz
LmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0
eUxpbmVIZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
Q0FMQzoKICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25hbERl
cGVuZGVuY2llcyh2YWx1ZXMpOwogICAgICAgICBicmVhazsKQEAgLTEyMDYsNiArMTI0MSwxMCBA
QCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxE
ZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SRU1T
OgogICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5Rm9udFNpemUpOwogICAgICAgICBicmVh
azsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKKyAgICAgICAgdmFsdWVzLmFkZChD
U1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUxpbmVI
ZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0FMQzoK
ICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxEZXBl
bmRlbmNpZXModmFsdWVzKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5oCmluZGV4IGMyOTg5MmMyZGRjNTc4NWU1YWY2Y2UxNWYwMGI5YzEwODJhMDc1
NGUuLjI1NjBhNmI4MjQ1ZjNkMmQzYWY0MWU3MjQzYzEyOTkwZTU5YjU4ZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC0yNjAsNiArMjYwLDggQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmlzRm9udFJlbGF0aXZlTGVuZ3RoKENTU1VuaXRUeXBlIHR5
cGUpCiB7CiAgICAgcmV0dXJuIHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19FTVMKICAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0VYUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfTEhTCisgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19STEhT
CiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5
cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlw
ZTo6Q1NTX1FVSVJLWV9FTVM7CkBAIC0yNzEsNiArMjczLDggQEAgaW5saW5lIGJvb2wgQ1NTUHJp
bWl0aXZlVmFsdWU6OmlzTGVuZ3RoKENTU1VuaXRUeXBlIHR5cGUpCiAgICAgICAgIHx8IHR5cGUg
PT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6
OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1EKKyAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0xIUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfUkxIUwogICAgICAgICB8fCBpc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCh0
eXBlKQogICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUVVJUktZX0VNUzsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IDdiNjIwNWRlYjAwMWQ4ZWI2MWQ3YjcwMzc3MzExMTE2Njg5OTRjZDUuLjFjZDEwODQyZTlkYTBj
ZTc3YjI4NzFjMTE1MzNiOTMyYTBjYjg1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNDUxNCw2ICs0NTE0LDcgQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbnZlcnRpbmdUb0xlbmd0aFJlcXVpcmVzTm9uTnVsbFN0
eWxlKGludCBsZW5ndGgKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19FWFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0NIUzoKKyAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgogICAgICAgICByZXR1cm4gbGVuZ3RoQ29udmVy
c2lvbiAmIChGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgRml4ZWRGbG9hdENvbnZlcnNpb24pOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcAppbmRleCBiNTYyNzQ3NDcwYTNhNWRi
MTYxYTYwNzQxNTJhNTVmNGNlOTdmNjc5Li41ZDQ1NWY4ZmRhYWI5YjE1MTAwZGUyNzQ1ZmIyZGEw
YzI5MTQyMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEuY3BwCkBAIC00NSw3ICs0NSw3IEBAIGZsb2F0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGE6Onpvb20oKSBjb25zdAogCiBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRXaWR0aEZhY3RvcigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3R5bGUgJiYgIW1fY29t
cHV0aW5nRm9udFNpemUpCisgICAgaWYgKG1fc3R5bGUgJiYgIWNvbXB1dGluZ0ZvbnRTaXplKCkp
CiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihtX3N0eWxlKS0+c2V0SGFzVmlld3Bv
cnRVbml0cygpOwogCiAgICAgaWYgKCFtX3JlbmRlclZpZXcpCkBAIC01Niw3ICs1Niw3IEBAIGRv
dWJsZSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydFdpZHRoRmFjdG9yKCkgY29u
c3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFj
dG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkK
KyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAg
ICBpZiAoIW1fcmVuZGVyVmlldykKQEAgLTY3LDcgKzY3LDcgQEAgZG91YmxlIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIHsKLSAg
ICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAm
JiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+
KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmll
dykKQEAgLTc5LDcgKzc5LDcgQEAgZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZp
ZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OnZpZXdwb3J0TWF4RmFjdG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9j
b21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUo
KSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3
cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmlldykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oCmluZGV4IDFiNDM0YTgxMDg0MDZiM2Zj
Yzk4NTUzNDk2MDA2OTliMmQ0YjRjNzQuLjJkNTJkMGYyNjM1MzllMjI4Y2IxNDNmMTBhN2RmMWMy
MjUyY2JmNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEuaApAQCAtMzcsMzggKzM3LDQ4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJl
bmRlclN0eWxlOwogY2xhc3MgUmVuZGVyVmlldzsKIAorZW51bSBjbGFzcyBDb21wdXRpbmdQcm9w
ZXJ0eSB7CisgICAgRm9udFNpemUsCisgICAgTGluZUhlaWdodCwKKyAgICBPdGhlck9yVW5rbm93
bgorfTsKKwogY2xhc3MgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSB7CiBwdWJsaWM6Ci0gICAg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0IFJlbmRlclZpZXcqIHJlbmRlclZpZXcsIGZs
b2F0IHpvb20sIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBmYWxzZSkKKyAgICBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBjb25zdCBSZW5k
ZXJWaWV3KiByZW5kZXJWaWV3LCBmbG9hdCB6b29tLCBDb21wdXRpbmdQcm9wZXJ0eSBjb21wdXRp
bmdQcm9wZXJ0eSA9IENvbXB1dGluZ1Byb3BlcnR5OjpPdGhlck9yVW5rbm93bikKICAgICAgICAg
OiBtX3N0eWxlKHN0eWxlKQogICAgICAgICAsIG1fcm9vdFN0eWxlKHJvb3RTdHlsZSkKKyAgICAg
ICAgLCBtX3BhcmVudFN0eWxlKHBhcmVudFN0eWxlKQogICAgICAgICAsIG1fcmVuZGVyVmlldyhy
ZW5kZXJWaWV3KQogICAgICAgICAsIG1fem9vbSh6b29tKQogICAgICAgICAsIG1fdXNlRWZmZWN0
aXZlWm9vbShmYWxzZSkKLSAgICAgICAgLCBtX2NvbXB1dGluZ0ZvbnRTaXplKGNvbXB1dGluZ0Zv
bnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVydHkoY29tcHV0aW5nUHJvcGVydHkp
CiAgICAgewogICAgICAgICBBU1NFUlQoem9vbSA+IDApOwogICAgIH0KIAotICAgIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBjb25zdCBSZW5kZXJWaWV3KiByZW5kZXJWaWV3LCBib29sIGNvbXB1
dGluZ0ZvbnRTaXplID0gZmFsc2UpCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyVmlldyogcmVuZGVyVmlldywg
Q29tcHV0aW5nUHJvcGVydHkgY29tcHV0aW5nUHJvcGVydHkgPSBDb21wdXRpbmdQcm9wZXJ0eTo6
T3RoZXJPclVua25vd24pCiAgICAgICAgIDogbV9zdHlsZShzdHlsZSkKICAgICAgICAgLCBtX3Jv
b3RTdHlsZShyb290U3R5bGUpCisgICAgICAgICwgbV9wYXJlbnRTdHlsZShwYXJlbnRTdHlsZSkK
ICAgICAgICAgLCBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKICAgICAgICAgLCBtX3pvb20oMSkK
ICAgICAgICAgLCBtX3VzZUVmZmVjdGl2ZVpvb20odHJ1ZSkKLSAgICAgICAgLCBtX2NvbXB1dGlu
Z0ZvbnRTaXplKGNvbXB1dGluZ0ZvbnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVy
dHkoY29tcHV0aW5nUHJvcGVydHkpCiAgICAgewogICAgIH0KIAogICAgIENTU1RvTGVuZ3RoQ29u
dmVyc2lvbkRhdGEoKQotICAgICAgICA6IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobnVsbHB0
ciwgbnVsbHB0ciwgbnVsbHB0cikKKyAgICAgICAgOiBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
KG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpCiAgICAgewogICAgIH0KIAogICAg
IGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0KICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9yb290U3R5
bGU7IH0KKyAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUoKSBjb25zdCB7IHJldHVy
biBtX3BhcmVudFN0eWxlOyB9CiAgICAgZmxvYXQgem9vbSgpIGNvbnN0OwotICAgIGJvb2wgY29t
cHV0aW5nRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGluZ0ZvbnRTaXplOyB9Cisg
ICAgYm9vbCBjb21wdXRpbmdGb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcHV0aW5nUHJv
cGVydHkgPT0gQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplOyB9CisgICAgYm9vbCBjb21wdXRp
bmdMaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRpbmdQcm9wZXJ0eSA9PSBDb21w
dXRpbmdQcm9wZXJ0eTo6TGluZUhlaWdodDsgfQogCiAgICAgZG91YmxlIHZpZXdwb3J0V2lkdGhG
YWN0b3IoKSBjb25zdDsKICAgICBkb3VibGUgdmlld3BvcnRIZWlnaHRGYWN0b3IoKSBjb25zdDsK
QEAgLTc3LDE2ICs4NywyMiBAQCBwdWJsaWM6CiAKICAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhIGNvcHlXaXRoQWRqdXN0ZWRab29tKGZsb2F0IG5ld1pvb20pIGNvbnN0CiAgICAgewotICAg
ICAgICByZXR1cm4gQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShtX3N0eWxlLCBtX3Jvb3RTdHls
ZSwgbV9yZW5kZXJWaWV3LCBuZXdab29tLCBtX2NvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICAgICAg
cmV0dXJuIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1f
cGFyZW50U3R5bGUsIG1fcmVuZGVyVmlldywgbmV3Wm9vbSwgbV9jb21wdXRpbmdQcm9wZXJ0eSk7
CisgICAgfQorCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb3B5V2l0aEFkanVzdGVk
Wm9vbUFuZENvbXB1dGluZ1Byb3BlcnR5KGZsb2F0IHpvb20sIENvbXB1dGluZ1Byb3BlcnR5IGNv
bXB1dGluZ1Byb3BlcnR5KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1fcGFyZW50U3R5bGUsIG1fcmVu
ZGVyVmlldywgem9vbSwgY29tcHV0aW5nUHJvcGVydHkpOwogICAgIH0KIAogcHJpdmF0ZToKICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogbV9zdHlsZTsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogbV9y
b290U3R5bGU7CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIG1fcGFyZW50U3R5bGU7CiAgICAgY29u
c3QgUmVuZGVyVmlldyogbV9yZW5kZXJWaWV3OwogICAgIGZsb2F0IG1fem9vbTsKICAgICBib29s
IG1fdXNlRWZmZWN0aXZlWm9vbTsKLSAgICBib29sIG1fY29tcHV0aW5nRm9udFNpemU7CisgICAg
Q29tcHV0aW5nUHJvcGVydHkgbV9jb21wdXRpbmdQcm9wZXJ0eTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCmluZGV4IDFmYzZkZDJkODA5NDZkZTBh
ZWZlNjgxNWQ0MTk4ODlmZDc1YjA2ODcuLjFkNGQyMTE3OTQ3ZmNlNjRmZWMzNDczNDMwMDNiMDBi
NmM3M2MyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcApAQCAtMTQyLDYgKzE0Miw4IEBAIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIENTU1VuaXRUeXBlIHVuaXRUeXBl
KQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOiB0cyA8PCAiZHBjbSI7IGJyZWFrOwog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19GUjogdHMgPDwgImZyIjsgYnJlYWs7CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1E6IHRzIDw8ICJxIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0xIUzogdHMgPDwgImxoIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6IHRzIDw8ICJybGgiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
UEFJUjogdHMgPDwgInBhaXIiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVU5J
Q09ERV9SQU5HRTogdHMgPDwgInVuaWNvZGVfcmFuZ2UiOyBicmVhazsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfVFVSTjogdHMgPDwgInR1cm4iOyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgK
aW5kZXggMjM4MGZhYmY0M2NjMTFhOTNmYmMyMDlkMzhhNzc2MmRhODViY2IyZi4uZjA2MzNkMDgz
MDZjZGM0ZjFiMDAxYzU0ZjIyMzNkOGNmOGM5ZWNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgKQEAg
LTYzLDYgKzYzLDggQEAgZW51bSBjbGFzcyBDU1NVbml0VHlwZSA6IHVpbnQ4X3QgewogICAgIENT
U19EUENNID0gMzIsCiAgICAgQ1NTX0ZSID0gMzMsCiAgICAgQ1NTX1EgPSAzNCwKKyAgICBDU1Nf
TEhTID0gMzUsCisgICAgQ1NTX1JMSFMgPSAzNiwKICAgICBDU1NfUEFJUiA9IDEwMCwgLy8gV2Ug
ZW52aXNpb24gdGhpcyBiZWluZyBleHBvc2VkIGFzIGEgbWVhbnMgb2YgZ2V0dGluZyBjb21wdXRl
ZCBzdHlsZSB2YWx1ZXMgZm9yIHBhaXJzIChib3JkZXItc3BhY2luZy9yYWRpdXMsIGJhY2tncm91
bmQtcG9zaXRpb24sIGV0Yy4pCiAgICAgQ1NTX1VOSUNPREVfUkFOR0UgPSAxMDIsCiAgICAgQ1NT
X1RVUk4gPSAxMDcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAK
aW5kZXggN2EzYWFkZTVkMjc4NGZiZDIzMzQ3M2IxNTJiZWY1ZDhkYTNiMTJlYy4uNjBlOWIzYzA5
ODUyYjE0ZmZkMjg0YTdkMDNlNmM3ZDFiYmFhMzQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtODk5LDcgKzg5OSw5IEBAIGJvb2wgTWVkaWFRdWVy
eUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Np
b24pIGNvbnN0CiAKICAgICBpZiAoIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKGV4cHJlc3Npb24udmFsdWUoKSwg
eyBtX3N0eWxlLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgZG9j
dW1lbnQucmVuZGVyVmlldygpLCAxLCBmYWxzZSB9LCAqZnJhbWUsIE5vUHJlZml4KTsKKyAgICAK
KyAgICAvLyBQYXNzIGBudWxscHRyYCBmb3IgYHBhcmVudFN0eWxlYCBiZWNhdXNlIHdlIGFyZSBp
biB0aGUgY29udGV4dCBvZiBhIG1lZGlhIHF1ZXJ5LgorICAgIHJldHVybiBmdW5jdGlvbihleHBy
ZXNzaW9uLnZhbHVlKCksIHsgbV9zdHlsZSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgMSwgQ29tcHV0aW5n
UHJvcGVydHk6Ok90aGVyT3JVbmtub3duIH0sICpmcmFtZSwgTm9QcmVmaXgpOwogfQogCiBib29s
IE1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyhEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFN0cmluZyYgYXR0cmlidXRlVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCmluZGV4IGY1YjI0OTkzZWYyMjI4MWMxODE1ZmYx
ZmYxYTIwNjFlMDQyZDE4N2UuLjc1MDlmZDgyYTk3ZjNiNTBjZGU4MGZiZGM2NTQ1Y2VmZGQxOWE5
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCkBA
IC04Myw2ICs4MywxMCBAQCBDU1NVbml0VHlwZSBjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJp
ZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBkYXRhLCB1bnNpZ25lZCBsZQogICAgICAgICAgICAgaWYg
KHRvQVNDSUlMb3dlcihkYXRhWzFdKSA9PSAnbicpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENT
U1VuaXRUeXBlOjpDU1NfSU47CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAnbCc6
CisgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMV0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19MSFM7CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSAnbSc6CiAgICAgICAgICAgICBzd2l0Y2ggKHRvQVNDSUlMb3dlcihkYXRh
WzFdKSkgewogICAgICAgICAgICAgY2FzZSAnbSc6CkBAIC0xMzksNiArMTQzLDEwIEBAIENTU1Vu
aXRUeXBlIGNzc1ByaW1pdGl2ZVZhbHVlVW5pdEZyb21UcmllKGNvbnN0IENoYXJhY3RlclR5cGUq
IGRhdGEsIHVuc2lnbmVkIGxlCiAgICAgICAgICAgICAgICAgaWYgKHRvQVNDSUlMb3dlcihkYXRh
WzJdKSA9PSAnbScpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NT
X1JFTVM7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdsJzoKKyAg
ICAgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMl0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfUkxIUzsKKyAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
CmluZGV4IDgxZjE1ZTRmZTVjODg2NzI1MzkzZTc4Y2Y1ODY0NmNjZTk4NjI5MjAuLjM4N2U1OTgy
OWJjOGQyNjQ3MWZhNmQxYThkZmYwM2I3ZDAzN2YwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKQEAgLTI1Myw2
ICsyNTMsOCBAQCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVMZW5ndGgoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1BhcnNlck1vZAogICAgICAgICAgICAgRkFMTFRIUk9V
R0g7CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FTVM6CiAgICAgICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19SRU1TOgorICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgor
ICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0NIUzoKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VYUzoKICAgICAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcAppbmRleCA0ODk0MjQwYzI1MmQ3Zjg3OTUw
N2JjMWZjODdkZDg1NjI2Y2MwYWZiLi42NDhiNDlhMzlmNTlhYmU4NzdjMWJhODQ5ZjE1OWM4ODM4
NTFhNGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcApAQCAtNTEsOCArNTEsNyBAQCBmbG9hdCBTaXplc0F0dHJpYnV0ZVBhcnNl
cjo6Y29tcHV0ZUxlbmd0aChkb3VibGUgdmFsdWUsIENTU1VuaXRUeXBlIHR5cGUsIGNvbnN0CiAg
ICAgICAgIHJldHVybiAwOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCk7CiAK
LSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZzdHlsZSwgJnN0
eWxlLCByZW5kZXJlcik7Ci0gICAgCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252
ZXJzaW9uRGF0YSgmc3R5bGUsICZzdHlsZSwgcmVuZGVyZXItPnBhcmVudFN0eWxlKCksIHJlbmRl
cmVyKTsKICAgICAvLyBCZWNhdXNlIHdlIGV2YWx1YXRlICJzaXplcyIgYXQgcGFyc2UgdGltZSAo
YmVmb3JlIHN0eWxlIGhhcyBiZWVuIHJlc29sdmVkKSwgdGhlIGZvbnQgbWV0cmljcyB1c2VkIGZv
ciB0aGVzZSBzcGVjaWZpYyB1bml0cwogICAgIC8vIGFyZSBub3QgYXZhaWxhYmxlLiBUaGUgZm9u
dCBzZWxlY3RvcidzIGludGVybmFsIGNvbnNpc3RlbmN5IGlzbid0IGd1YXJhbnRlZWQganVzdCB5
ZXQsIHNvIHdlIGNhbiBqdXN0IHRlbXBvcmFyaWx5IGNsZWFyCiAgICAgLy8gdGhlIHBvaW50ZXIg
dG8gaXQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdW5pdCBldmFsdWF0aW9uLiBUaGlzIGlzIGFj
Y2VwdGlibGUgYmVjYXVzZSB0aGUgc3R5bGUgYWx3YXlzIGNvbWVzIGZyb20gdGhlCkBAIC02NSw3
ICs2NCw2IEBAIGZsb2F0IFNpemVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKGRvdWJs
ZSB2YWx1ZSwgQ1NTVW5pdFR5cGUgdHlwZSwgY29uc3QKICAgICAgICAgc3R5bGUuZm9udENhc2Nh
ZGUoKS51cGRhdGUoZm9udFNlbGVjdG9yLmdldCgpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9Ci0gICAgCiAgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZShjb252ZXJzaW9uRGF0YSwgdHlwZSwgdmFsdWUp
KTsKIH0KICAgICAKQEAgLTE1OSw3ICsxNTcsNyBAQCB1bnNpZ25lZCBTaXplc0F0dHJpYnV0ZVBh
cnNlcjo6ZWZmZWN0aXZlU2l6ZURlZmF1bHRWYWx1ZSgpCiAgICAgaWYgKCFyZW5kZXJlcikKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgYXV0byYgc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKLSAg
ICByZXR1cm4gY2xhbXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxj
TGVuZ3RoRG91YmxlKHsgJnN0eWxlLCAmc3R5bGUsIHJlbmRlcmVyIH0sIENTU1VuaXRUeXBlOjpD
U1NfVlcsIDEwMC4wKSk7CisgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZSh7ICZzdHlsZSwgJnN0eWxlLCByZW5kZXJl
ci0+cGFyZW50U3R5bGUoKSwgcmVuZGVyZXIgfSwgQ1NTVW5pdFR5cGU6OkNTU19WVywgMTAwLjAp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNjZlMTJk
YzllYTk1Nzk2Nzc5M2Q0Y2NhZGQ3ZTM5ODM5YjEyMTNhZi4uNWRkZDgyM2U2OGZmNDNmOWEzMDA1
OWRlYzk1ZWY5MjM5NDRlYWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0xMjEsOSArMTIxLDkgQEAg
T3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gVGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJl
c29sdmVDdXN0b21TdHlsZShjb25zdAogCiAgICAgICAgIC8vIFNldCAiZmxleC1iYXNpczogMWVt
Ii4gTm90ZSB0aGF0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoSW50KCkgb25seSBu
ZWVkcyB0aGUgZWxlbWVudCdzCiAgICAgICAgIC8vIHN0eWxlIHRvIGNhbGN1bGF0ZSBlbSBsZW5n
dGhzLiBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwganVzdCBw
YXNzIG51bGxwdHIKLSAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUgYW5kIHRo
ZSByZW5kZXIgdmlldy4KKyAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUsIHRo
ZSBwYXJlbnQgZWxlbWVudCBzdHlsZSwgYW5kIHRoZSByZW5kZXIgdmlldy4KICAgICAgICAgYXV0
byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEsIENTU1VuaXRUeXBlOjpDU1Nf
RU1TKTsKLSAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0
ciwgMS4wLCBmYWxzZSB9KTsKKyAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxl
bmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVs
bHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVu
a25vd24gfSk7CiAgICAgICAgIG5ld1N0eWxlLT5zZXRGbGV4QmFzaXMoTGVuZ3RoIHsgcGl4ZWxz
LCBGaXhlZCB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCmluZGV4IDU3MmE1YTQzN2U2OWUyMGU1MjE2NDQ4N2ZiNmZiY2EzN2JmNzEwZWQuLjQzNDEw
M2M2ODc2Nzk1NjY2ZDlhZTE5MzJjZGY2MmM5MzdhMDU0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNJbml0aWFsaXplZFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9oYXNJbml0aWFsaXplZFN0
eWxlOyB9CiAKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBt
X3N0eWxlOyB9CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gIW1fcGFyZW50ID8gbnVsbHB0ciA6ICZtX3BhcmVudC0+c3R5bGUoKTsgfQogICAgIGNv
bnN0IFJlbmRlclN0eWxlJiBmaXJzdExpbmVTdHlsZSgpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6
IFN0eWxlIHNob3VsZG4ndCBiZSBtdXRhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLm1tCmluZGV4IDEyZmQ3ZmZmMmZkOTI3YTJmMGUyN2E4YzBlN2IzZGM0Zjkw
YmM3MGYuLmVkZmY2N2Q0YjY5N2EyMzE1ZThjNmIwMzExOTg1NmRkZmRiNmUxYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTU2Myw3ICs1NjMsOCBA
QCBzdGF0aWMgdm9pZCBhcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdUb1N0eWxlKFJlbmRlclN0eWxl
JiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZQogewogICAgIERvY3VtZW50JiBkb2N1bWVudCA9IGVs
ZW1lbnQuZG9jdW1lbnQoKTsKICAgICBhdXRvIGVtU2l6ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUoMC41LCBDU1NVbml0VHlwZTo6Q1NTX0VNUyk7Ci0gICAgaW50IHBpeGVscyA9IGVtU2l6
ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBk
b2N1bWVudC5yZW5kZXJTdHlsZSgpLCBkb2N1bWVudC5yZW5kZXJWaWV3KCksIGRvY3VtZW50LmZy
YW1lKCktPnBhZ2Vab29tRmFjdG9yKCkpKTsKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRoaXMgZWxl
bWVudCdzIHBhcmVudCBzdHlsZSB0byBjYWxjdWxhdGUgYGVtYCB1bml0cywgc28gaXQncyBva2F5
IHRvIHBhc3MgbnVsbHB0ciBmb3IgaXQgaGVyZS4KKyAgICBpbnQgcGl4ZWxzID0gZW1TaXplLT5j
b21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgmc3R5bGUsIGRvY3Vt
ZW50LnJlbmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgZG9jdW1l
bnQuZnJhbWUoKS0+cGFnZVpvb21GYWN0b3IoKSkpOwogICAgIHN0eWxlLnNldFBhZGRpbmdCb3go
TGVuZ3RoQm94KDAsIHBpeGVscywgMCwgcGl4ZWxzKSk7CiB9CiAKQEAgLTEwMjMsMTAgKzEwMjQs
MTAgQEAgdm9pZCBSZW5kZXJUaGVtZUlPUzo6YWRqdXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW4KIAogICAgIC8vIFNldCBwYWRkaW5nOiAwIDEu
MGVtOyBvbiBidXR0b25zLgogICAgIC8vIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
SW50IG9ubHkgbmVlZHMgdGhlIGVsZW1lbnQncyBzdHlsZSB0byBjYWxjdWxhdGUgZW0gbGVuZ3Ro
cy4KLSAgICAvLyBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwg
anVzdCBwYXNzIG51bGxwdHIgZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUKLSAgICAvLyBhbmQg
dGhlIHJlbmRlciB2aWV3LgorICAgIC8vIFNpbmNlIHRoZSBlbGVtZW50IG1pZ2h0IG5vdCBiZSBp
biBhIGRvY3VtZW50LCBqdXN0IHBhc3MgbnVsbHB0ciBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHls
ZSwKKyAgICAvLyB0aGUgcGFyZW50IGVsZW1lbnQgc3R5bGUsIGFuZCB0aGUgcmVuZGVyIHZpZXcu
CiAgICAgYXV0byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEuMCwgQ1NTVW5p
dFR5cGU6OkNTU19FTVMpOwotICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8
aW50PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwg
MS4wLCBmYWxzZSkpOworICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8aW50
PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVua25vd24pKTsKICAgICBzdHls
ZS5zZXRQYWRkaW5nQm94KExlbmd0aEJveCgwLCBwaXhlbHMsIDAsIHBpeGVscykpOwogCiAgICAg
aWYgKCFlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKaW5kZXggZTViMzY2ZDA1ODQwN2U4ZjIxYmYxYzM2NjUyZDY0ZWYyMWU2MGQ1YS4u
ZmRkYmZkMTQzMzFjYjE5YzRhY2M3OTI3MjNkMTQ3MmRhNWEzZTc2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC0xNzc2LDE2ICsxNzc2
LDE5IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldExpbmVIZWlnaHQoTGVuZ3RoJiYgaGVpZ2h0KQog
CiBpbnQgUmVuZGVyU3R5bGU6OmNvbXB1dGVkTGluZUhlaWdodCgpIGNvbnN0CiB7Ci0gICAgY29u
c3QgTGVuZ3RoJiBsaCA9IGxpbmVIZWlnaHQoKTsKKyAgICByZXR1cm4gY29tcHV0ZUxpbmVIZWln
aHQobGluZUhlaWdodCgpKTsKK30KIAoraW50IFJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdo
dChjb25zdCBMZW5ndGgmIGxpbmVIZWlnaHRMZW5ndGgpIGNvbnN0Cit7CiAgICAgLy8gTmVnYXRp
dmUgdmFsdWUgbWVhbnMgdGhlIGxpbmUgaGVpZ2h0IGlzIG5vdCBzZXQuIFVzZSB0aGUgZm9udCdz
IGJ1aWx0LWluIHNwYWNpbmcuCi0gICAgaWYgKGxoLmlzTmVnYXRpdmUoKSkKKyAgICBpZiAobGlu
ZUhlaWdodExlbmd0aC5pc05lZ2F0aXZlKCkpCiAgICAgICAgIHJldHVybiBmb250TWV0cmljcygp
LmxpbmVTcGFjaW5nKCk7CiAKLSAgICBpZiAobGguaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCi0g
ICAgICAgIHJldHVybiBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobGgsIGNvbXB1dGVkRm9udFBpeGVs
U2l6ZSgpKTsKKyAgICBpZiAobGluZUhlaWdodExlbmd0aC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQo
KSkKKyAgICAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChsaW5lSGVpZ2h0TGVuZ3Ro
LCBjb21wdXRlZEZvbnRQaXhlbFNpemUoKSk7CiAKLSAgICByZXR1cm4gY2xhbXBUbzxpbnQ+KGxo
LnZhbHVlKCkpOworICAgIHJldHVybiBjbGFtcFRvPGludD4obGluZUhlaWdodExlbmd0aC52YWx1
ZSgpKTsKIH0KIAogdm9pZCBSZW5kZXJTdHlsZTo6c2V0V29yZFNwYWNpbmcoTGVuZ3RoJiYgdmFs
dWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4
IDU2ZjAzNjFlOWNkNTE0ZjE5OTRmMGIyYTVlZDM4MGE2OTE4NDYzNmUuLjk3Y2E5YmJjMmVjMGI1
ZTY0NzNlMTBlOTIwNjY1ZmI0NDFmZWU2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zOTEsNiArMzkxLDcgQEAgcHVibGljOgogICAgIGNv
bnN0IExlbmd0aCYgc3BlY2lmaWVkTGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIGNvbnN0IExlbmd0aCYgbGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGludCBjb21wdXRlZExpbmVIZWlnaHQoKSBjb25zdDsKKyAgICBpbnQgY29tcHV0ZUxpbmVIZWln
aHQoY29uc3QgTGVuZ3RoJikgY29uc3Q7CiAKICAgICBXaGl0ZVNwYWNlIHdoaXRlU3BhY2UoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxXaGl0ZVNwYWNlPihtX2luaGVyaXRlZEZsYWdzLndo
aXRlU3BhY2UpOyB9CiAgICAgc3RhdGljIGJvb2wgYXV0b1dyYXAoV2hpdGVTcGFjZSk7CkBAIC0x
NTA1LDYgKzE1MDYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsT25lTGVu
Z3RoKCkgeyByZXR1cm4gTGVuZ3RoKDEsIEZpeGVkKTsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0
aWFsV2lkb3dzKCkgeyByZXR1cm4gMjsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0aWFsT3JwaGFu
cygpIHsgcmV0dXJuIDI7IH0KKyAgICAvLyBSZXR1cm5pbmcgLTEwMCUgcGVyY2VudCBoZXJlIG1l
YW5zIHRoZSBsaW5lLWhlaWdodCBpcyBub3Qgc2V0LgogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlh
bExpbmVIZWlnaHQoKSB7IHJldHVybiBMZW5ndGgoLTEwMC4wZiwgUGVyY2VudCk7IH0KICAgICBz
dGF0aWMgVGV4dEFsaWduTW9kZSBpbml0aWFsVGV4dEFsaWduKCkgeyByZXR1cm4gVGV4dEFsaWdu
TW9kZTo6U3RhcnQ7IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uPiBpbml0
aWFsVGV4dERlY29yYXRpb24oKSB7IHJldHVybiBPcHRpb25TZXQ8VGV4dERlY29yYXRpb24+IHsg
fTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ29udmVy
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAppbmRl
eCA4ZGEzZmEyNDY3MThjMGUwZTUyZjY5ZmJjMTgxYWZiN2U3NjUxYTUzLi43NmJhOThkN2JhMDE4
ODY0NjgwOWQzNTU4ZjVkMGI0MzAyYTQ0Y2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaApAQCAtMTE2NywxMyArMTE2NywyMiBAQCBpbmxpbmUgR3Jp
ZEF1dG9GbG93IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRHcmlkQXV0b0Zsb3coQnVpbGRlclN0
YXRlJiwgY29uc3QgQwogICAgIHJldHVybiBhdXRvRmxvdzsKIH0KIAotaW5saW5lIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJzaW9u
RGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK2lubGlu
ZSBmbG9hdCB6b29tV2l0aFRleHRab29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRl
KQogewogICAgIGlmIChhdXRvKiBmcmFtZSA9IGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLmZyYW1l
KCkpIHsKICAgICAgICAgZmxvYXQgdGV4dFpvb21GYWN0b3IgPSBidWlsZGVyU3RhdGUuc3R5bGUo
KS50ZXh0Wm9vbSgpICE9IFRleHRab29tOjpSZXNldCA/IGZyYW1lLT50ZXh0Wm9vbUZhY3Rvcigp
IDogMS4wZjsKLSAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNp
b25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oYnVpbGRlclN0YXRlLnN0eWxlKCkuZWZmZWN0
aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3IpOworICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRl
LnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3I7CiAgICAgfQotICAgIHJl
dHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpOworICAgIHJldHVy
biBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpLnpvb20oKTsKK30KKwor
aW5saW5lIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9M
ZW5ndGhDb252ZXJzaW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxk
ZXJTdGF0ZSkKK3sKKyAgICBmbG9hdCB6b29tID0gem9vbVdpdGhUZXh0Wm9vbUZhY3RvcihidWls
ZGVyU3RhdGUpOworICAgIGlmICh6b29tID09IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZl
cnNpb25EYXRhKCkuem9vbSgpKQorICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLmNzc1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoKTsKKworICAgIHJldHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5n
dGhDb252ZXJzaW9uRGF0YSgpLmNvcHlXaXRoQWRqdXN0ZWRab29tKHpvb20pOwogfQogCiBpbmxp
bmUgT3B0aW9uYWw8TGVuZ3RoPiBCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0V29yZFNwYWNpbmco
QnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKQEAgLTE1
MTEsNyArMTUyMCw4IEBAIGlubGluZSBPcHRpb25hbDxMZW5ndGg+IEJ1aWxkZXJDb252ZXJ0ZXI6
OmNvbnZlcnRMaW5lSGVpZ2h0KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlCiAgICAgICAgIHJldHVybiBS
ZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVIZWlnaHQoKTsKIAogICAgIGlmIChwcmltaXRpdmVWYWx1
ZS5pc0xlbmd0aCgpKSB7Ci0gICAgICAgIExlbmd0aCBsZW5ndGggPSBwcmltaXRpdmVWYWx1ZS5j
b21wdXRlTGVuZ3RoPExlbmd0aD4oQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJz
aW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihidWlsZGVyU3RhdGUpKTsKKyAgICAgICAgYXV0byBj
b252ZXJzaW9uRGF0YSA9IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCku
Y29weVdpdGhBZGp1c3RlZFpvb21BbmRDb21wdXRpbmdQcm9wZXJ0eSh6b29tV2l0aFRleHRab29t
RmFjdG9yKGJ1aWxkZXJTdGF0ZSksIENvbXB1dGluZ1Byb3BlcnR5OjpMaW5lSGVpZ2h0KTsKKyAg
ICAgICAgTGVuZ3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8TGVuZ3Ro
Pihjb252ZXJzaW9uRGF0YSk7CiAgICAgICAgIGlmIChtdWx0aXBsaWVyICE9IDEuZikKICAgICAg
ICAgICAgIGxlbmd0aCA9IExlbmd0aChsZW5ndGgudmFsdWUoKSAqIG11bHRpcGxpZXIsIEZpeGVk
KTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKaW5kZXggZTJkNjVmY2UzMzI4NjE3MDM1MDc1ZTg2OTYwOWU0ODgyZWExZWI0
Yy4uZWM5NjA2NWFiYjEyNWMwM2M4NjYwNTMzY2Q2ZjBlNWFmMWZlMzFhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE2MjEsMTQgKzE2MjEsMTQgQEAg
aW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTaXplKEJ1aWxkZXJTdGF0
ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWwKICAgICB9IGVsc2UgewogICAgICAgICBmb250RGVzY3Jp
cHRpb24uc2V0SXNBYnNvbHV0ZVNpemUocGFyZW50SXNBYnNvbHV0ZVNpemUgfHwgIShwcmltaXRp
dmVWYWx1ZS5pc1BlcmNlbnRhZ2UoKSB8fCBwcmltaXRpdmVWYWx1ZS5pc0ZvbnRSZWxhdGl2ZUxl
bmd0aCgpKSk7CiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc0xlbmd0aCgpKSB7Ci0gICAg
ICAgICAgICBzaXplID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxmbG9hdD4oQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSgmYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJT
dGF0ZS5yb290RWxlbWVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZp
ZXcoKSwgMS4wZiwgdHJ1ZSkpOworICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLmNv
bXB1dGVMZW5ndGg8ZmxvYXQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJmJ1aWxkZXJTdGF0
ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUucm9vdEVsZW1lbnRTdHlsZSgpLCAmYnVpbGRl
clN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXco
KSwgMS4wZiwgQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplKSk7CiAgICAgICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUuaXNWaWV3cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSkKICAgICAgICAgICAg
ICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAgICAgICAg
IH0gZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUuaXNQZXJjZW50YWdlKCkpCiAgICAgICAgICAgICBz
aXplID0gKHByaW1pdGl2ZVZhbHVlLmZsb2F0VmFsdWUoKSAqIHBhcmVudFNpemUpIC8gMTAwLjBm
OwogICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc0NhbGN1bGF0ZWRQZXJjZW50YWdl
V2l0aExlbmd0aCgpKSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiBjb252ZXJzaW9uRGF0YSA9
IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCk7Ci0gICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgYnVpbGRlclN0
YXRlLmRvY3VtZW50KCkucmVuZGVyVmlldygpLCAxLjBmLCB0cnVlIH07CisgICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUuZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCks
IDEuMGYsIENvbXB1dGluZ1Byb3BlcnR5OjpGb250U2l6ZSB9OwogICAgICAgICAgICAgc2l6ZSA9
IHByaW1pdGl2ZVZhbHVlLmNzc0NhbGNWYWx1ZSgpLT5jcmVhdGVDYWxjdWxhdGlvblZhbHVlKHBh
cmVudENvbnZlcnNpb25EYXRhKS0+ZXZhbHVhdGUocGFyZW50U2l6ZSk7CiAgICAgICAgIH0gZWxz
ZQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
U3RhdGUuY3BwCmluZGV4IGE0NDgxM2YyNDQzMjAyMmM3NTA5NmEzNzIyNjFjYzc4OTljMTI5YmQu
Ljc4MTFkMWUzZjYwM2YzNjE4ZGIzODY1ZjMyZDgxM2IxMzMyYjU0NmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgQnVpbGRl
clN0YXRlOjpCdWlsZGVyU3RhdGUoQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyU3R5bGUmIHN0eWxl
LCBCdWlsZGVyQ29udGV4dCYKICAgICAsIG1fc3R5bGVNYXAoKnRoaXMpCiAgICAgLCBtX3N0eWxl
KHN0eWxlKQogICAgICwgbV9jb250ZXh0KFdURk1vdmUoY29udGV4dCkpCi0gICAgLCBtX2Nzc1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCByb290RWxlbWVudFN0eWxlKCksIGRvY3VtZW50
KCkucmVuZGVyVmlldygpKQorICAgICwgbV9jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHls
ZSwgcm9vdEVsZW1lbnRTdHlsZSgpLCAmcGFyZW50U3R5bGUoKSwgZG9jdW1lbnQoKS5yZW5kZXJW
aWV3KCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNmYxMjRmODVlZTdlOTM4Y2M1ZTFhOGY3ODA1NjAzOGZj
M2E4ZTI0Li5mYzdlMDNjYmY3NDQ2NWFiM2I4ZTMyZTlhMmY1ZDAzYjc5ZmQ3MmE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDQtMDQgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLXZhbHVlcy00XSBTdXBwb3J0IGZvbnQtcmVsYXRp
dmUgbGggYW5kIHJsaCB1bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTUxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIGZvbnQtcmVsYXRpdmUgJ2xoJyBh
bmQgJ3JsaCcgdW5pdHMuCisgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVz
LTQvI2ZvbnQtcmVsYXRpdmUtbGVuZ3RocworCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcu
bGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElP
TiBGQUlMRUQ6IG1fdmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9u
ZSBzZWVuIHdpdGggVGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdv
cnlJT1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQ2YmU2ZjZjM2VhYTkzYWVk
YjlmZjYxOTliM2ViYWIyYjA1YzNmMjkuLmVmZTlhNWEyNzY0OGUxODFjZTgyMGJmODExOWExNTk3
ODVkM2U0NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA0LTA0ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisK
KyAgICAgICAgW2Nzcy12YWx1ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGgg
dW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1
MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFz
cyBhbGwgJ2xoJyBhbmQgJ3JsaCcgdGVzdHMsIG1pbnVzIHRoZSAnMnJsaCBpbiBmb250LXNpemUg
b24gcm9vdCcgdGVzdCB3aGljaCBtYXkgYmUgYSBidWcgaW4gdGhlIHRlc3QgaXRzZWxmOiBodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjIwNTUKKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0w
MDEtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAzLTMwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNlbGVjdG9ycyA0XSBBZGQgc3VwcG9ydCBmb3IgYDpp
cygpYCB3aXRoIHRoZSBzYW1lIGxvZ2ljIGZvciB0aGUgZXhpc3RpbmcgYDptYXRjaGVzKClgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmYTg3YzU1M2UzOWQzZDRmNTZkMWI5M2JjNmUz
MWM3Li43Yzc2MTFkZWUyZmUzNzkzYzg3ZmNmNWY1NjIwNzYyMzhhZDk4ZWE2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTMxMTAsOCArMzExMCw4IEBAIHdlYmtpdC5vcmcvYi8yMDMzMzQgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0LTAwOS5oCiB3
ZWJraXQub3JnL2IvMjAzMzM0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaWMtdW5pdC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIwMzMzNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ljLXVuaXQtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDMz
MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0
LTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAzMzM2IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtdW5pdC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzMzNiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXVuaXQtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDMzMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC11bml0LTAwMS5odG1sIFsgUGFzcyBdCit3ZWJr
aXQub3JnL2IvMjAzMzM2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvbGgtdW5pdC0wMDIuaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMzMzNyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL3ZoLXN1cHBvcnQtYXR2
aWV3cG9ydC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzM4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJl
c2hpbmdfb25fY2hyb21lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVl
cy9saC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEt
ZXhwZWN0ZWQudHh0CmluZGV4IDg4NGYxYjNkMWI3NzkzNzFkMTQxNTgzMmIwZjU1MmYxNjU3MDUx
NDYuLmFmZjk0NGJkNmMwNjc2ZTdhZDhlNmRhNTI1NzAyNWU0YTFlZDg3MTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1
ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290
LTAwMS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIMKgCiAKLUZBSUwgbGggaW4gbGlu
ZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhl
IHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRyaWNzIGNv
cnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxpbmUtaGVp
Z2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMTggKy8tIDEgYnV0IGdvdCAxNjQKLUZBSUwgcmxoIGlu
IGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBv
biB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAxOCArLy0gMSBidXQgZ290IDE2NAotRkFJTCBs
aCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgcmxo
IGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgMmxo
IGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3Jr
cyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vz
bid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgMzYgKy8t
IDEgYnV0IGdvdCAxNjQKLUZBSUwgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9h
cHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVp
Z2h0IHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkg
Y2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGlu
dG8gYWNjb3VudCBleHBlY3RlZCAzNiArLy0gMSBidXQgZ290IDE2NAotRkFJTCAybGggaW4gZm9u
dC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRoZSBy
b290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0
IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRo
ZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDM2ICsvLSAxIGJ1dCBnb3Qg
MTYKLUZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczog
dGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0
dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNr
IHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVj
dGVkIDMyICsvLSAxIGJ1dCBnb3QgMTYKK1BBU1MgbGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCAK
K1BBU1MgcmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNTIGxoIGluIGZvbnQtc2l6ZSBv
biByb290IAorUEFTUyBybGggaW4gZm9udC1zaXplIG9uIHJvb3QgCitQQVNTIDJsaCBpbiBsaW5l
LWhlaWdodCBvbiByb290IAorUEFTUyAycmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNT
IDJsaCBpbiBmb250LXNpemUgb24gcm9vdCAKK0ZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9v
dCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQn
cyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0
IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2Yg
dW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDMyICsvLSAxIGJ1dCBnb3QgMzYKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290LTAwMS1leHBlY3RlZC50eHQKaW5kZXggZGZkZjY2
NjM0OTI3NzU5NjU3NDRhNjM1ZjExNWUxYzU5NjA1NTZiZS4uNTI2MTY1YzgzYTQyNzIwZmI3ZmFj
Yzc3OWFiOWMwNjk0OTlmMzFiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtcmxoLW9u
LXJvb3QtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9v
dC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiDCoAogCi1GQUlMIGxoIGluIGxp
bmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRo
ZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBj
b3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5lLWhl
aWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDIwICsvLSAxIGJ1dCBnb3QgMTY1Ci1GQUlMIHJsaCBp
biBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRy
aWNzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxp
bmUtaGVpZ2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMjAgKy8tIDEgYnV0IGdvdCAxNjUKLUZBSUwg
bGggaW4gZm9udC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAyMCArLy0gMSBidXQgZ290IDE2Ci1GQUlMIHJs
aCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAyMCArLy0gMSBidXQgZ290IDE2Ci1GQUlMIDJs
aCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgbGggdW5p
dCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgYWN0dWFsbHkgd29y
a3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9l
c24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDQwICsv
LSAxIGJ1dCBnb3QgMTY1Ci1GQUlMIDJybGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRf
YXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhl
aWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5
IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBp
bnRvIGFjY291bnQgZXhwZWN0ZWQgNDAgKy8tIDEgYnV0IGdvdCAxNjUKLUZBSUwgMmxoIGluIGZv
bnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgbGggdW5pdCBvbiB0aGUg
cm9vdCBlbGVtZW50J3MgZm9udC1zaXplIHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5p
dCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0
aGUgbnVtYmVyIG9mIHVuaXRzIGludG8gYWNjb3VudCBleHBlY3RlZCA0MCArLy0gMSBidXQgZ290
IDE2Ci1GQUlMIDJybGggaW4gZm9udC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6
IHRoZSBybGggdW5pdCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgZm9udC1zaXplIHByb3BlcnR5IGFj
dHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1c2UgYSBmYWxsYmFj
ayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGludG8gYWNjb3VudCBleHBl
Y3RlZCAzMiArLy0gMSBidXQgZ290IDE2CitQQVNTIGxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QK
K1BBU1MgcmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QKK1BBU1MgbGggaW4gZm9udC1zaXplIG9u
IHJvb3QKK1BBU1MgcmxoIGluIGZvbnQtc2l6ZSBvbiByb290CitQQVNTIDJsaCBpbiBsaW5lLWhl
aWdodCBvbiByb290CitQQVNTIDJybGggaW4gbGluZS1oZWlnaHQgb24gcm9vdAorUEFTUyAybGgg
aW4gZm9udC1zaXplIG9uIHJvb3QKK0ZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3Nl
cnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250
LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVs
eSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMg
aW50byBhY2NvdW50IGV4cGVjdGVkIDMyICsvLSAxIGJ1dCBnb3QgNDAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395479</attachid>
            <date>2020-04-04 21:44:26 -0700</date>
            <delta_ts>2020-04-04 23:00:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195180-20200404234425.patch</filename>
            <type>text/plain</type>
            <size>46720</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IyYjU1ZDVmNmViNzRh
MjhhMmQ2NjBmNTBiYWJiMGM5NTVhMGI2NC4uZWQ5MGZjYWI2ODI0ZjM1YmE5OTU3Yzg2NDhkNGY4
OTMwMDk5ZjY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIwLTA0LTA0ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1
ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGggdW5pdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9y
ICdsaCcgYW5kICdybGgnIHVuaXRzLgorICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
LXZhbHVlcy00LyNmb250LXJlbGF0aXZlLWxlbmd0aHMKKworICAgICAgICAqIGNzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGNVbml0Q2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRpb25DYXRlZ29yeUZvckNvbWJpbmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Omhhc0RvdWJsZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpj
cmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSYWRpYWxHcmFkaWVudFZhbHVl
OjpjcmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb25pY0dyYWRpZW50VmFs
dWU6OmNyZWF0ZUdyYWRpZW50KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjppc1N0cmluZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjp1bml0VHlwZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25h
bERlcGVuZGVuY2llcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Y29sbGVjdERpcmVjdFJvb3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzIGNvbnN0KToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjppc0ZvbnRSZWxhdGl2ZUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6aXNMZW5ndGgpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUgY29uc3QpOgorICAgICAgICAqIGNz
cy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0V2lkdGhGYWN0b3IgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRIZWlnaHRGYWN0
b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRNaW5GYWN0b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YTo6dmlld3BvcnRNYXhGYWN0b3IgY29uc3QpOgorICAgICAgICAqIGNzcy9D
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmg6IFJlcGxhY2UgYm9vbCAnbV9jb21wdXRpbmdGb250
U2l6ZScgd2l0aCBDb21wdXRpbmdQcm9wZXJ0eSBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Q1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSk6IEFkZCAn
cGFyZW50U3R5bGUnIHBhcmFtZXRlciwgbmVjZXNzYXJ5IGZvciBjYWxjdWxhdGluZyBsaC9ybGgg
dW5pdCB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
OjpwYXJlbnRTdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhOjpjb21wdXRpbmdGb250U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjpjb21wdXRpbmdMaW5lSGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OmNvcHlXaXRoQWRqdXN0
ZWRab29tIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OmNvcHlXaXRoQWRqdXN0ZWRab29tQW5kQ29tcHV0aW5nUHJvcGVydHkgY29uc3QpOgorICAg
ICAgICAqIGNzcy9DU1NVbml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToK
KyAgICAgICAgKiBjc3MvQ1NTVW5pdHMuaDoKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZSBjb25zdCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJpZSk6CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTGVuZ3RoKToKKyAgICAgICAgKiBj
c3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjplZmZlY3RpdmVTaXplRGVmYXVsdFZhbHVlKToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJlc29sdmVDdXN0b21TdHlsZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnBhcmVudFN0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjphcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdU
b1N0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphZGp1c3RCdXR0b25T
dHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDog
RXh0cmFjdCAnY29tcHV0ZWRMaW5lSGVpZ2h0JyBiZWhhdmlvciBpbnRvIHNlcGFyYXRlICdjb21w
dXRlTGluZUhlaWdodCcgZnVuY3Rpb24gc28gbG9naWMgY2FuIGJlIHJldXNlZCBlbHNld2hlcmUu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29tcHV0ZWRMaW5lSGVpZ2h0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdodCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICog
c3R5bGUvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6IEV4dHJhY3Qgem9vbSBjYWxjdWxhdGlvbiBs
b2dpYyBvdXQgb2YgJ2Nzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3In
IGludG8gc2VwYXJhdGUgJ3pvb21XaXRoVGV4dFpvb21GYWN0b3InIGZ1bmN0aW9uIHNvIGxvZ2lj
IGNhbiBiZSByZXVzZWQgZWxzZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Onpvb21X
aXRoVGV4dFpvb21GYWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252
ZXJ0ZXI6OmNzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRMaW5lSGVpZ2h0
KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFNpemUpOgorICAgICAgICAq
IHN0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpC
dWlsZGVyU3RhdGU6OkJ1aWxkZXJTdGF0ZSk6CisKIDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJU
SU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3JlZW5Nb2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVO
b25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJLldlYktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRl
Z29yeUlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4
IDljMGJhNjBjOWM0N2NlOGIyMGUxMjEyYjJiZGFiNGQzNTIzMzhiYmIuLjQ4NGNjYzM2NjRhZWFl
YzdlMWIxOWNlMDFmNDc1YTgwY2I0ZTAyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2Fs
Y3VsYXRpb25WYWx1ZS5jcHAKQEAgLTgwLDYgKzgwLDggQEAgc3RhdGljIENhbGN1bGF0aW9uQ2F0
ZWdvcnkgY2FsY1VuaXRDYXRlZ29yeShDU1NVbml0VHlwZSB0eXBlKQogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19QVDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUEM6CiAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVN
UzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19WVzoKQEAgLTEzMyw3ICsxMzUsOSBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBj
YWxjdWxhdGlvbkNhdGVnb3J5Rm9yQ29tYmluYXRpb24oQ1NTVW5pdFR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OkZyZXF1ZW5jeTsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FWFM6CisgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
KyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19WVzoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfVkg6CkBAIC0xOTUsNiArMTk5LDggQEAgc3RhdGljIGJvb2wgaGFzRG91YmxlVmFs
dWUoQ1NTVW5pdFR5cGUgdHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRFBDTToKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6
CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfUkxIUzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X1VOS05PV046CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1NUUklORzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCA5Y2QyMzhmMTBjMGE1YWVjOTZkYjMxY2Uz
ZjNmM2FlYjc2MTI2YzAxLi4xNDMxMWY0YWNmMGYyOGZiNDU3MTBlODViNWFjOTcwMDY0MTEwYTEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC04MDcsNyArODA3
LDcgQEAgUmVmPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVu
dChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY28KIHsKICAgICBBU1NFUlQoIXNpemUuaXNFbXB0
eSgpKTsKIAotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEoJnJl
bmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksICZyZW5kZXJlci52aWV3KCkpOworICAgIENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEgY29udmVyc2lvbkRhdGEoJnJlbmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50
KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCksIHJlbmRlcmVyLnBhcmVudFN0eWxl
KCksICZyZW5kZXJlci52aWV3KCkpOwogCiAgICAgRmxvYXRQb2ludCBmaXJzdFBvaW50OwogICAg
IEZsb2F0UG9pbnQgc2Vjb25kUG9pbnQ7CkBAIC0xMDU2LDcgKzEwNTYsNyBAQCBSZWY8R3JhZGll
bnQ+IENTU1JhZGlhbEdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyLCBjbwogewogICAgIEFTU0VSVCghc2l6ZS5pc0VtcHR5KCkpOwogCi0gICAgQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwg
cmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgJnJl
bmRlcmVyLnZpZXcoKSk7CisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9u
RGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwgcmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyU3R5bGUoKSwgcmVuZGVyZXIucGFyZW50U3R5bGUoKSwgJnJlbmRlcmVyLnZp
ZXcoKSk7CiAKICAgICBGbG9hdFBvaW50IGZpcnN0UG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmly
c3RYKCksIGZpcnN0WSgpLCBjb252ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgo
KSkKQEAgLTEyNDcsNyArMTI0Nyw3IEBAIFJlZjxHcmFkaWVudD4gQ1NTQ29uaWNHcmFkaWVudFZh
bHVlOjpjcmVhdGVHcmFkaWVudChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uCiB7CiAgICAg
QVNTRVJUKCFzaXplLmlzRW1wdHkoKSk7CiAKLSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
IGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJlci5kb2N1bWVudCgpLmRv
Y3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKKyAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgp
LCByZW5kZXJlci5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCBy
ZW5kZXJlci5wYXJlbnRTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKIAogICAgIEZsb2F0UG9p
bnQgY2VudGVyUG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmlyc3RYKCksIGZpcnN0WSgpLCBjb252
ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDdiOWFhMDcwNDNiNWFjNjg2NjZlMTVmMjFmN2Jj
YjAxNGQwZDFjZWIuLjIxZTA0MGY2MjAzZjE0MmY4OGIxN2VjODUyODI4MWM0OWNlMjJjZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNzEsNiArNzEsOCBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bihDU1NVbml0VHlwZSB1bml0VHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUFQ6CiAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19R
OgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1FVSVJLWV9FTVM6CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1JBRDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
QEAgLTE0Nyw2ICsxNDksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTdHJpbmdUeXBlKENTU1Vu
aXRUeXBlIHR5cGUpCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BUOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19QWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUToKKyAgICBjYXNl
IENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19RVUFEOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19RVUlSS1lfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SQUQ6CkBAIC01MDIsNiAr
NTA2LDggQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX0RQQ006CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0ZSOgogICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19ROgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6Cisg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0lERU5UOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19VTklDT0RFX1JBTkdFOgpAQCAtNjMxLDYgKzYzNywyMyBAQCBkb3VibGUg
Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKGNvbnN0IENTU1Rv
TGVuZ3RoQ29udmVyc2lvbgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROgogICAgICAgICBm
YWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoIC8gUVBlckluY2g7CiAgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgICAgIEFTU0VSVChjb252ZXJzaW9uRGF0
YS5zdHlsZSgpKTsKKyAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWln
aHQoKSB8fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKSB7CisgICAgICAgICAg
ICAvLyBUcnkgdG8gZ2V0IHRoZSBwYXJlbnQncyBjb21wdXRlZCBsaW5lLWhlaWdodCwgb3IgZmFs
bCBiYWNrIHRvIHRoZSBpbml0aWFsIGxpbmUtaGVpZ2h0IG9mIHRoaXMgZWxlbWVudCdzIGZvbnQg
c3BhY2luZy4KKyAgICAgICAgICAgIGZhY3RvciA9IGNvbnZlcnNpb25EYXRhLnBhcmVudFN0eWxl
KCkgPyBjb252ZXJzaW9uRGF0YS5wYXJlbnRTdHlsZSgpLT5jb21wdXRlZExpbmVIZWlnaHQoKSA6
IGNvbnZlcnNpb25EYXRhLnN0eWxlKCktPmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKKyAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5zdHlsZSgp
LT5jb21wdXRlZExpbmVIZWlnaHQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX1JMSFM6CisgICAgICAgIGlmIChjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSkg
eworICAgICAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWlnaHQoKSB8
fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKQorICAgICAgICAgICAgICAgIGZh
Y3RvciA9IGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpLT5jb21wdXRlTGluZUhlaWdodChjb252
ZXJzaW9uRGF0YS5yb290U3R5bGUoKS0+c3BlY2lmaWVkTGluZUhlaWdodCgpKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5yb290U3R5
bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
ZmFjdG9yID0gMS4wOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
SU46CiAgICAgICAgIGZhY3RvciA9IGNzc1BpeGVsc1BlckluY2g7CiAgICAgICAgIGJyZWFrOwpA
QCAtOTI1LDYgKzk0OCw4IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6dW5pdFR5cGVTdHJp
bmcoQ1NTVW5pdFR5cGUgdW5pdFR5cGUpCiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19E
UENNOiByZXR1cm4gImRwY20iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6IHJl
dHVybiAiZnIiOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUTogcmV0dXJuICJxIjsK
KyAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzogcmV0dXJuICJsaCI7CisgICAgICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOiByZXR1cm4gInJsaCI7CiAgICAgICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19UVVJOOiByZXR1cm4gInR1cm4iOwogICAgICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfUkVNUzogcmV0dXJuICJyZW0iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBl
OjpDU1NfQ0hTOiByZXR1cm4gImNoIjsKQEAgLTEwMTIsNiArMTAzNywxMCBAQCBBTFdBWVNfSU5M
SU5FIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4
dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmb3JtYXROdW1iZXJWYWx1ZSgiZnIiKTsKICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUToKICAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlclZhbHVl
KCJxIik7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgcmV0dXJuIGZv
cm1hdE51bWJlclZhbHVlKCJsaCIpOworICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgor
ICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyVmFsdWUoInJsaCIpOwogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19ESU1FTlNJT046CiAgICAgICAgIC8vIEZJWE1FOiBXZSBjdXJyZW50bHkgZG9u
J3QgaGFuZGxlIENTU1VuaXRUeXBlOjpDU1NfRElNRU5TSU9OIHByb3Blcmx5IGFzIHdlIGRvbid0
IHN0b3JlCiAgICAgICAgIC8vIHRoZSBhY3R1YWwgZGltZW5zaW9uLCBqdXN0IHRoZSBudW1lcmlj
IHZhbHVlIGFzIGEgc3RyaW5nLgpAQCAtMTEzOSw2ICsxMTY4LDggQEAgYm9vbCBDU1NQcmltaXRp
dmVWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBvdGhlcikgY29uc3QKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVk1BWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
RlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgcmV0dXJu
IG1fdmFsdWUubnVtID09IG90aGVyLm1fdmFsdWUubnVtOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19QUk9QRVJUWV9JRDoKICAgICAgICAgcmV0dXJuIHByb3BlcnR5TmFtZShtX3ZhbHVlLnBy
b3BlcnR5SUQpID09IHByb3BlcnR5TmFtZShvdGhlci5tX3ZhbHVlLnByb3BlcnR5SUQpOwpAQCAt
MTE4Miw3ICsxMjEzLDcgQEAgUmVmPERlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlPiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlRGVwcmVjYXRlZENTU09NUHJpbWkKICAgICByZXR1cm4gRGVw
cmVjYXRlZENTU09NUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgqdGhpcywgc3R5bGVEZWNsYXJhdGlv
bik7CiB9CiAKLS8vIGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpLyNkZXBlbmRlbmN5LWN5Y2xlcy12aWEtcmVsYXRpdmUtdW5pdHMKKy8vIGh0
dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpLyNk
ZXBlbmRlbmN5LWN5Y2xlcwogdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29sbGVjdERpcmVjdENv
bXB1dGF0aW9uYWxEZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiYgdmFsdWVzKSBj
b25zdAogewogICAgIHN3aXRjaCAocHJpbWl0aXZlVW5pdFR5cGUoKSkgewpAQCAtMTE5Miw2ICsx
MjIzLDEwIEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbGxlY3REaXJlY3RDb21wdXRhdGlv
bmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHJvcGVyCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0NIUzoKICAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgdmFsdWVz
LmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0
eUxpbmVIZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
Q0FMQzoKICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25hbERl
cGVuZGVuY2llcyh2YWx1ZXMpOwogICAgICAgICBicmVhazsKQEAgLTEyMDYsNiArMTI0MSwxMCBA
QCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxE
ZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SRU1T
OgogICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5Rm9udFNpemUpOwogICAgICAgICBicmVh
azsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKKyAgICAgICAgdmFsdWVzLmFkZChD
U1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUxpbmVI
ZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0FMQzoK
ICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxEZXBl
bmRlbmNpZXModmFsdWVzKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5oCmluZGV4IGMyOTg5MmMyZGRjNTc4NWU1YWY2Y2UxNWYwMGI5YzEwODJhMDc1
NGUuLjI1NjBhNmI4MjQ1ZjNkMmQzYWY0MWU3MjQzYzEyOTkwZTU5YjU4ZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC0yNjAsNiArMjYwLDggQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmlzRm9udFJlbGF0aXZlTGVuZ3RoKENTU1VuaXRUeXBlIHR5
cGUpCiB7CiAgICAgcmV0dXJuIHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19FTVMKICAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0VYUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfTEhTCisgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19STEhT
CiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5
cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlw
ZTo6Q1NTX1FVSVJLWV9FTVM7CkBAIC0yNzEsNiArMjczLDggQEAgaW5saW5lIGJvb2wgQ1NTUHJp
bWl0aXZlVmFsdWU6OmlzTGVuZ3RoKENTU1VuaXRUeXBlIHR5cGUpCiAgICAgICAgIHx8IHR5cGUg
PT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6
OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1EKKyAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0xIUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfUkxIUwogICAgICAgICB8fCBpc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCh0
eXBlKQogICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUVVJUktZX0VNUzsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IDdiNjIwNWRlYjAwMWQ4ZWI2MWQ3YjcwMzc3MzExMTE2Njg5OTRjZDUuLjFjZDEwODQyZTlkYTBj
ZTc3YjI4NzFjMTE1MzNiOTMyYTBjYjg1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNDUxNCw2ICs0NTE0LDcgQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbnZlcnRpbmdUb0xlbmd0aFJlcXVpcmVzTm9uTnVsbFN0
eWxlKGludCBsZW5ndGgKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19FWFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0NIUzoKKyAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgogICAgICAgICByZXR1cm4gbGVuZ3RoQ29udmVy
c2lvbiAmIChGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgRml4ZWRGbG9hdENvbnZlcnNpb24pOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcAppbmRleCBiNTYyNzQ3NDcwYTNhNWRi
MTYxYTYwNzQxNTJhNTVmNGNlOTdmNjc5Li41ZDQ1NWY4ZmRhYWI5YjE1MTAwZGUyNzQ1ZmIyZGEw
YzI5MTQyMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEuY3BwCkBAIC00NSw3ICs0NSw3IEBAIGZsb2F0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGE6Onpvb20oKSBjb25zdAogCiBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRXaWR0aEZhY3RvcigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3R5bGUgJiYgIW1fY29t
cHV0aW5nRm9udFNpemUpCisgICAgaWYgKG1fc3R5bGUgJiYgIWNvbXB1dGluZ0ZvbnRTaXplKCkp
CiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihtX3N0eWxlKS0+c2V0SGFzVmlld3Bv
cnRVbml0cygpOwogCiAgICAgaWYgKCFtX3JlbmRlclZpZXcpCkBAIC01Niw3ICs1Niw3IEBAIGRv
dWJsZSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydFdpZHRoRmFjdG9yKCkgY29u
c3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFj
dG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkK
KyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAg
ICBpZiAoIW1fcmVuZGVyVmlldykKQEAgLTY3LDcgKzY3LDcgQEAgZG91YmxlIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIHsKLSAg
ICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAm
JiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+
KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmll
dykKQEAgLTc5LDcgKzc5LDcgQEAgZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZp
ZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OnZpZXdwb3J0TWF4RmFjdG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9j
b21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUo
KSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3
cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmlldykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oCmluZGV4IDFiNDM0YTgxMDg0MDZiM2Zj
Yzk4NTUzNDk2MDA2OTliMmQ0YjRjNzQuLjJkNTJkMGYyNjM1MzllMjI4Y2IxNDNmMTBhN2RmMWMy
MjUyY2JmNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEuaApAQCAtMzcsMzggKzM3LDQ4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJl
bmRlclN0eWxlOwogY2xhc3MgUmVuZGVyVmlldzsKIAorZW51bSBjbGFzcyBDb21wdXRpbmdQcm9w
ZXJ0eSB7CisgICAgRm9udFNpemUsCisgICAgTGluZUhlaWdodCwKKyAgICBPdGhlck9yVW5rbm93
bgorfTsKKwogY2xhc3MgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSB7CiBwdWJsaWM6Ci0gICAg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0IFJlbmRlclZpZXcqIHJlbmRlclZpZXcsIGZs
b2F0IHpvb20sIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBmYWxzZSkKKyAgICBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBjb25zdCBSZW5k
ZXJWaWV3KiByZW5kZXJWaWV3LCBmbG9hdCB6b29tLCBDb21wdXRpbmdQcm9wZXJ0eSBjb21wdXRp
bmdQcm9wZXJ0eSA9IENvbXB1dGluZ1Byb3BlcnR5OjpPdGhlck9yVW5rbm93bikKICAgICAgICAg
OiBtX3N0eWxlKHN0eWxlKQogICAgICAgICAsIG1fcm9vdFN0eWxlKHJvb3RTdHlsZSkKKyAgICAg
ICAgLCBtX3BhcmVudFN0eWxlKHBhcmVudFN0eWxlKQogICAgICAgICAsIG1fcmVuZGVyVmlldyhy
ZW5kZXJWaWV3KQogICAgICAgICAsIG1fem9vbSh6b29tKQogICAgICAgICAsIG1fdXNlRWZmZWN0
aXZlWm9vbShmYWxzZSkKLSAgICAgICAgLCBtX2NvbXB1dGluZ0ZvbnRTaXplKGNvbXB1dGluZ0Zv
bnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVydHkoY29tcHV0aW5nUHJvcGVydHkp
CiAgICAgewogICAgICAgICBBU1NFUlQoem9vbSA+IDApOwogICAgIH0KIAotICAgIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBjb25zdCBSZW5kZXJWaWV3KiByZW5kZXJWaWV3LCBib29sIGNvbXB1
dGluZ0ZvbnRTaXplID0gZmFsc2UpCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyVmlldyogcmVuZGVyVmlldywg
Q29tcHV0aW5nUHJvcGVydHkgY29tcHV0aW5nUHJvcGVydHkgPSBDb21wdXRpbmdQcm9wZXJ0eTo6
T3RoZXJPclVua25vd24pCiAgICAgICAgIDogbV9zdHlsZShzdHlsZSkKICAgICAgICAgLCBtX3Jv
b3RTdHlsZShyb290U3R5bGUpCisgICAgICAgICwgbV9wYXJlbnRTdHlsZShwYXJlbnRTdHlsZSkK
ICAgICAgICAgLCBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKICAgICAgICAgLCBtX3pvb20oMSkK
ICAgICAgICAgLCBtX3VzZUVmZmVjdGl2ZVpvb20odHJ1ZSkKLSAgICAgICAgLCBtX2NvbXB1dGlu
Z0ZvbnRTaXplKGNvbXB1dGluZ0ZvbnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVy
dHkoY29tcHV0aW5nUHJvcGVydHkpCiAgICAgewogICAgIH0KIAogICAgIENTU1RvTGVuZ3RoQ29u
dmVyc2lvbkRhdGEoKQotICAgICAgICA6IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobnVsbHB0
ciwgbnVsbHB0ciwgbnVsbHB0cikKKyAgICAgICAgOiBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
KG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpCiAgICAgewogICAgIH0KIAogICAg
IGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0KICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9yb290U3R5
bGU7IH0KKyAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUoKSBjb25zdCB7IHJldHVy
biBtX3BhcmVudFN0eWxlOyB9CiAgICAgZmxvYXQgem9vbSgpIGNvbnN0OwotICAgIGJvb2wgY29t
cHV0aW5nRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGluZ0ZvbnRTaXplOyB9Cisg
ICAgYm9vbCBjb21wdXRpbmdGb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcHV0aW5nUHJv
cGVydHkgPT0gQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplOyB9CisgICAgYm9vbCBjb21wdXRp
bmdMaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRpbmdQcm9wZXJ0eSA9PSBDb21w
dXRpbmdQcm9wZXJ0eTo6TGluZUhlaWdodDsgfQogCiAgICAgZG91YmxlIHZpZXdwb3J0V2lkdGhG
YWN0b3IoKSBjb25zdDsKICAgICBkb3VibGUgdmlld3BvcnRIZWlnaHRGYWN0b3IoKSBjb25zdDsK
QEAgLTc3LDE2ICs4NywyMiBAQCBwdWJsaWM6CiAKICAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhIGNvcHlXaXRoQWRqdXN0ZWRab29tKGZsb2F0IG5ld1pvb20pIGNvbnN0CiAgICAgewotICAg
ICAgICByZXR1cm4gQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShtX3N0eWxlLCBtX3Jvb3RTdHls
ZSwgbV9yZW5kZXJWaWV3LCBuZXdab29tLCBtX2NvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICAgICAg
cmV0dXJuIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1f
cGFyZW50U3R5bGUsIG1fcmVuZGVyVmlldywgbmV3Wm9vbSwgbV9jb21wdXRpbmdQcm9wZXJ0eSk7
CisgICAgfQorCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb3B5V2l0aEFkanVzdGVk
Wm9vbUFuZENvbXB1dGluZ1Byb3BlcnR5KGZsb2F0IHpvb20sIENvbXB1dGluZ1Byb3BlcnR5IGNv
bXB1dGluZ1Byb3BlcnR5KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1fcGFyZW50U3R5bGUsIG1fcmVu
ZGVyVmlldywgem9vbSwgY29tcHV0aW5nUHJvcGVydHkpOwogICAgIH0KIAogcHJpdmF0ZToKICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogbV9zdHlsZTsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogbV9y
b290U3R5bGU7CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIG1fcGFyZW50U3R5bGU7CiAgICAgY29u
c3QgUmVuZGVyVmlldyogbV9yZW5kZXJWaWV3OwogICAgIGZsb2F0IG1fem9vbTsKICAgICBib29s
IG1fdXNlRWZmZWN0aXZlWm9vbTsKLSAgICBib29sIG1fY29tcHV0aW5nRm9udFNpemU7CisgICAg
Q29tcHV0aW5nUHJvcGVydHkgbV9jb21wdXRpbmdQcm9wZXJ0eTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCmluZGV4IDFmYzZkZDJkODA5NDZkZTBh
ZWZlNjgxNWQ0MTk4ODlmZDc1YjA2ODcuLjFkNGQyMTE3OTQ3ZmNlNjRmZWMzNDczNDMwMDNiMDBi
NmM3M2MyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcApAQCAtMTQyLDYgKzE0Miw4IEBAIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIENTU1VuaXRUeXBlIHVuaXRUeXBl
KQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOiB0cyA8PCAiZHBjbSI7IGJyZWFrOwog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19GUjogdHMgPDwgImZyIjsgYnJlYWs7CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1E6IHRzIDw8ICJxIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0xIUzogdHMgPDwgImxoIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6IHRzIDw8ICJybGgiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
UEFJUjogdHMgPDwgInBhaXIiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVU5J
Q09ERV9SQU5HRTogdHMgPDwgInVuaWNvZGVfcmFuZ2UiOyBicmVhazsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfVFVSTjogdHMgPDwgInR1cm4iOyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgK
aW5kZXggMjM4MGZhYmY0M2NjMTFhOTNmYmMyMDlkMzhhNzc2MmRhODViY2IyZi4uZjA2MzNkMDgz
MDZjZGM0ZjFiMDAxYzU0ZjIyMzNkOGNmOGM5ZWNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgKQEAg
LTYzLDYgKzYzLDggQEAgZW51bSBjbGFzcyBDU1NVbml0VHlwZSA6IHVpbnQ4X3QgewogICAgIENT
U19EUENNID0gMzIsCiAgICAgQ1NTX0ZSID0gMzMsCiAgICAgQ1NTX1EgPSAzNCwKKyAgICBDU1Nf
TEhTID0gMzUsCisgICAgQ1NTX1JMSFMgPSAzNiwKICAgICBDU1NfUEFJUiA9IDEwMCwgLy8gV2Ug
ZW52aXNpb24gdGhpcyBiZWluZyBleHBvc2VkIGFzIGEgbWVhbnMgb2YgZ2V0dGluZyBjb21wdXRl
ZCBzdHlsZSB2YWx1ZXMgZm9yIHBhaXJzIChib3JkZXItc3BhY2luZy9yYWRpdXMsIGJhY2tncm91
bmQtcG9zaXRpb24sIGV0Yy4pCiAgICAgQ1NTX1VOSUNPREVfUkFOR0UgPSAxMDIsCiAgICAgQ1NT
X1RVUk4gPSAxMDcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAK
aW5kZXggN2EzYWFkZTVkMjc4NGZiZDIzMzQ3M2IxNTJiZWY1ZDhkYTNiMTJlYy4uNjBlOWIzYzA5
ODUyYjE0ZmZkMjg0YTdkMDNlNmM3ZDFiYmFhMzQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtODk5LDcgKzg5OSw5IEBAIGJvb2wgTWVkaWFRdWVy
eUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Np
b24pIGNvbnN0CiAKICAgICBpZiAoIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKGV4cHJlc3Npb24udmFsdWUoKSwg
eyBtX3N0eWxlLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgZG9j
dW1lbnQucmVuZGVyVmlldygpLCAxLCBmYWxzZSB9LCAqZnJhbWUsIE5vUHJlZml4KTsKKyAgICAK
KyAgICAvLyBQYXNzIGBudWxscHRyYCBmb3IgYHBhcmVudFN0eWxlYCBiZWNhdXNlIHdlIGFyZSBp
biB0aGUgY29udGV4dCBvZiBhIG1lZGlhIHF1ZXJ5LgorICAgIHJldHVybiBmdW5jdGlvbihleHBy
ZXNzaW9uLnZhbHVlKCksIHsgbV9zdHlsZSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgMSwgQ29tcHV0aW5n
UHJvcGVydHk6Ok90aGVyT3JVbmtub3duIH0sICpmcmFtZSwgTm9QcmVmaXgpOwogfQogCiBib29s
IE1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyhEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFN0cmluZyYgYXR0cmlidXRlVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCmluZGV4IGY1YjI0OTkzZWYyMjI4MWMxODE1ZmYx
ZmYxYTIwNjFlMDQyZDE4N2UuLjc1MDlmZDgyYTk3ZjNiNTBjZGU4MGZiZGM2NTQ1Y2VmZGQxOWE5
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCkBA
IC04Myw2ICs4MywxMCBAQCBDU1NVbml0VHlwZSBjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJp
ZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBkYXRhLCB1bnNpZ25lZCBsZQogICAgICAgICAgICAgaWYg
KHRvQVNDSUlMb3dlcihkYXRhWzFdKSA9PSAnbicpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENT
U1VuaXRUeXBlOjpDU1NfSU47CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAnbCc6
CisgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMV0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19MSFM7CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSAnbSc6CiAgICAgICAgICAgICBzd2l0Y2ggKHRvQVNDSUlMb3dlcihkYXRh
WzFdKSkgewogICAgICAgICAgICAgY2FzZSAnbSc6CkBAIC0xMzksNiArMTQzLDEwIEBAIENTU1Vu
aXRUeXBlIGNzc1ByaW1pdGl2ZVZhbHVlVW5pdEZyb21UcmllKGNvbnN0IENoYXJhY3RlclR5cGUq
IGRhdGEsIHVuc2lnbmVkIGxlCiAgICAgICAgICAgICAgICAgaWYgKHRvQVNDSUlMb3dlcihkYXRh
WzJdKSA9PSAnbScpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NT
X1JFTVM7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdsJzoKKyAg
ICAgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMl0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfUkxIUzsKKyAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
CmluZGV4IDgxZjE1ZTRmZTVjODg2NzI1MzkzZTc4Y2Y1ODY0NmNjZTk4NjI5MjAuLjM4N2U1OTgy
OWJjOGQyNjQ3MWZhNmQxYThkZmYwM2I3ZDAzN2YwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKQEAgLTI1Myw2
ICsyNTMsOCBAQCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVMZW5ndGgoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1BhcnNlck1vZAogICAgICAgICAgICAgRkFMTFRIUk9V
R0g7CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FTVM6CiAgICAgICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19SRU1TOgorICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgor
ICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0NIUzoKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VYUzoKICAgICAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcAppbmRleCA0ODk0MjQwYzI1MmQ3Zjg3OTUw
N2JjMWZjODdkZDg1NjI2Y2MwYWZiLi42NDhiNDlhMzlmNTlhYmU4NzdjMWJhODQ5ZjE1OWM4ODM4
NTFhNGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcApAQCAtNTEsOCArNTEsNyBAQCBmbG9hdCBTaXplc0F0dHJpYnV0ZVBhcnNl
cjo6Y29tcHV0ZUxlbmd0aChkb3VibGUgdmFsdWUsIENTU1VuaXRUeXBlIHR5cGUsIGNvbnN0CiAg
ICAgICAgIHJldHVybiAwOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCk7CiAK
LSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZzdHlsZSwgJnN0
eWxlLCByZW5kZXJlcik7Ci0gICAgCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252
ZXJzaW9uRGF0YSgmc3R5bGUsICZzdHlsZSwgcmVuZGVyZXItPnBhcmVudFN0eWxlKCksIHJlbmRl
cmVyKTsKICAgICAvLyBCZWNhdXNlIHdlIGV2YWx1YXRlICJzaXplcyIgYXQgcGFyc2UgdGltZSAo
YmVmb3JlIHN0eWxlIGhhcyBiZWVuIHJlc29sdmVkKSwgdGhlIGZvbnQgbWV0cmljcyB1c2VkIGZv
ciB0aGVzZSBzcGVjaWZpYyB1bml0cwogICAgIC8vIGFyZSBub3QgYXZhaWxhYmxlLiBUaGUgZm9u
dCBzZWxlY3RvcidzIGludGVybmFsIGNvbnNpc3RlbmN5IGlzbid0IGd1YXJhbnRlZWQganVzdCB5
ZXQsIHNvIHdlIGNhbiBqdXN0IHRlbXBvcmFyaWx5IGNsZWFyCiAgICAgLy8gdGhlIHBvaW50ZXIg
dG8gaXQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdW5pdCBldmFsdWF0aW9uLiBUaGlzIGlzIGFj
Y2VwdGlibGUgYmVjYXVzZSB0aGUgc3R5bGUgYWx3YXlzIGNvbWVzIGZyb20gdGhlCkBAIC02NSw3
ICs2NCw2IEBAIGZsb2F0IFNpemVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKGRvdWJs
ZSB2YWx1ZSwgQ1NTVW5pdFR5cGUgdHlwZSwgY29uc3QKICAgICAgICAgc3R5bGUuZm9udENhc2Nh
ZGUoKS51cGRhdGUoZm9udFNlbGVjdG9yLmdldCgpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9Ci0gICAgCiAgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZShjb252ZXJzaW9uRGF0YSwgdHlwZSwgdmFsdWUp
KTsKIH0KICAgICAKQEAgLTE1OSw3ICsxNTcsNyBAQCB1bnNpZ25lZCBTaXplc0F0dHJpYnV0ZVBh
cnNlcjo6ZWZmZWN0aXZlU2l6ZURlZmF1bHRWYWx1ZSgpCiAgICAgaWYgKCFyZW5kZXJlcikKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgYXV0byYgc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKLSAg
ICByZXR1cm4gY2xhbXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxj
TGVuZ3RoRG91YmxlKHsgJnN0eWxlLCAmc3R5bGUsIHJlbmRlcmVyIH0sIENTU1VuaXRUeXBlOjpD
U1NfVlcsIDEwMC4wKSk7CisgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZSh7ICZzdHlsZSwgJnN0eWxlLCByZW5kZXJl
ci0+cGFyZW50U3R5bGUoKSwgcmVuZGVyZXIgfSwgQ1NTVW5pdFR5cGU6OkNTU19WVywgMTAwLjAp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNjZlMTJk
YzllYTk1Nzk2Nzc5M2Q0Y2NhZGQ3ZTM5ODM5YjEyMTNhZi4uNWRkZDgyM2U2OGZmNDNmOWEzMDA1
OWRlYzk1ZWY5MjM5NDRlYWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0xMjEsOSArMTIxLDkgQEAg
T3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gVGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJl
c29sdmVDdXN0b21TdHlsZShjb25zdAogCiAgICAgICAgIC8vIFNldCAiZmxleC1iYXNpczogMWVt
Ii4gTm90ZSB0aGF0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoSW50KCkgb25seSBu
ZWVkcyB0aGUgZWxlbWVudCdzCiAgICAgICAgIC8vIHN0eWxlIHRvIGNhbGN1bGF0ZSBlbSBsZW5n
dGhzLiBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwganVzdCBw
YXNzIG51bGxwdHIKLSAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUgYW5kIHRo
ZSByZW5kZXIgdmlldy4KKyAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUsIHRo
ZSBwYXJlbnQgZWxlbWVudCBzdHlsZSwgYW5kIHRoZSByZW5kZXIgdmlldy4KICAgICAgICAgYXV0
byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEsIENTU1VuaXRUeXBlOjpDU1Nf
RU1TKTsKLSAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0
ciwgMS4wLCBmYWxzZSB9KTsKKyAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxl
bmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVs
bHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVu
a25vd24gfSk7CiAgICAgICAgIG5ld1N0eWxlLT5zZXRGbGV4QmFzaXMoTGVuZ3RoIHsgcGl4ZWxz
LCBGaXhlZCB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCmluZGV4IDU3MmE1YTQzN2U2OWUyMGU1MjE2NDQ4N2ZiNmZiY2EzN2JmNzEwZWQuLjQzNDEw
M2M2ODc2Nzk1NjY2ZDlhZTE5MzJjZGY2MmM5MzdhMDU0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNJbml0aWFsaXplZFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9oYXNJbml0aWFsaXplZFN0
eWxlOyB9CiAKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBt
X3N0eWxlOyB9CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gIW1fcGFyZW50ID8gbnVsbHB0ciA6ICZtX3BhcmVudC0+c3R5bGUoKTsgfQogICAgIGNv
bnN0IFJlbmRlclN0eWxlJiBmaXJzdExpbmVTdHlsZSgpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6
IFN0eWxlIHNob3VsZG4ndCBiZSBtdXRhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLm1tCmluZGV4IDEyZmQ3ZmZmMmZkOTI3YTJmMGUyN2E4YzBlN2IzZGM0Zjkw
YmM3MGYuLmVkZmY2N2Q0YjY5N2EyMzE1ZThjNmIwMzExOTg1NmRkZmRiNmUxYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTU2Myw3ICs1NjMsOCBA
QCBzdGF0aWMgdm9pZCBhcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdUb1N0eWxlKFJlbmRlclN0eWxl
JiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZQogewogICAgIERvY3VtZW50JiBkb2N1bWVudCA9IGVs
ZW1lbnQuZG9jdW1lbnQoKTsKICAgICBhdXRvIGVtU2l6ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUoMC41LCBDU1NVbml0VHlwZTo6Q1NTX0VNUyk7Ci0gICAgaW50IHBpeGVscyA9IGVtU2l6
ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBk
b2N1bWVudC5yZW5kZXJTdHlsZSgpLCBkb2N1bWVudC5yZW5kZXJWaWV3KCksIGRvY3VtZW50LmZy
YW1lKCktPnBhZ2Vab29tRmFjdG9yKCkpKTsKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRoaXMgZWxl
bWVudCdzIHBhcmVudCBzdHlsZSB0byBjYWxjdWxhdGUgYGVtYCB1bml0cywgc28gaXQncyBva2F5
IHRvIHBhc3MgbnVsbHB0ciBmb3IgaXQgaGVyZS4KKyAgICBpbnQgcGl4ZWxzID0gZW1TaXplLT5j
b21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgmc3R5bGUsIGRvY3Vt
ZW50LnJlbmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgZG9jdW1l
bnQuZnJhbWUoKS0+cGFnZVpvb21GYWN0b3IoKSkpOwogICAgIHN0eWxlLnNldFBhZGRpbmdCb3go
TGVuZ3RoQm94KDAsIHBpeGVscywgMCwgcGl4ZWxzKSk7CiB9CiAKQEAgLTEwMjMsMTAgKzEwMjQs
MTAgQEAgdm9pZCBSZW5kZXJUaGVtZUlPUzo6YWRqdXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW4KIAogICAgIC8vIFNldCBwYWRkaW5nOiAwIDEu
MGVtOyBvbiBidXR0b25zLgogICAgIC8vIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
SW50IG9ubHkgbmVlZHMgdGhlIGVsZW1lbnQncyBzdHlsZSB0byBjYWxjdWxhdGUgZW0gbGVuZ3Ro
cy4KLSAgICAvLyBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwg
anVzdCBwYXNzIG51bGxwdHIgZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUKLSAgICAvLyBhbmQg
dGhlIHJlbmRlciB2aWV3LgorICAgIC8vIFNpbmNlIHRoZSBlbGVtZW50IG1pZ2h0IG5vdCBiZSBp
biBhIGRvY3VtZW50LCBqdXN0IHBhc3MgbnVsbHB0ciBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHls
ZSwKKyAgICAvLyB0aGUgcGFyZW50IGVsZW1lbnQgc3R5bGUsIGFuZCB0aGUgcmVuZGVyIHZpZXcu
CiAgICAgYXV0byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEuMCwgQ1NTVW5p
dFR5cGU6OkNTU19FTVMpOwotICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8
aW50PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwg
MS4wLCBmYWxzZSkpOworICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8aW50
PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVua25vd24pKTsKICAgICBzdHls
ZS5zZXRQYWRkaW5nQm94KExlbmd0aEJveCgwLCBwaXhlbHMsIDAsIHBpeGVscykpOwogCiAgICAg
aWYgKCFlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKaW5kZXggZTViMzY2ZDA1ODQwN2U4ZjIxYmYxYzM2NjUyZDY0ZWYyMWU2MGQ1YS4u
ZmRkYmZkMTQzMzFjYjE5YzRhY2M3OTI3MjNkMTQ3MmRhNWEzZTc2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC0xNzc2LDE2ICsxNzc2
LDE5IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldExpbmVIZWlnaHQoTGVuZ3RoJiYgaGVpZ2h0KQog
CiBpbnQgUmVuZGVyU3R5bGU6OmNvbXB1dGVkTGluZUhlaWdodCgpIGNvbnN0CiB7Ci0gICAgY29u
c3QgTGVuZ3RoJiBsaCA9IGxpbmVIZWlnaHQoKTsKKyAgICByZXR1cm4gY29tcHV0ZUxpbmVIZWln
aHQobGluZUhlaWdodCgpKTsKK30KIAoraW50IFJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdo
dChjb25zdCBMZW5ndGgmIGxpbmVIZWlnaHRMZW5ndGgpIGNvbnN0Cit7CiAgICAgLy8gTmVnYXRp
dmUgdmFsdWUgbWVhbnMgdGhlIGxpbmUgaGVpZ2h0IGlzIG5vdCBzZXQuIFVzZSB0aGUgZm9udCdz
IGJ1aWx0LWluIHNwYWNpbmcuCi0gICAgaWYgKGxoLmlzTmVnYXRpdmUoKSkKKyAgICBpZiAobGlu
ZUhlaWdodExlbmd0aC5pc05lZ2F0aXZlKCkpCiAgICAgICAgIHJldHVybiBmb250TWV0cmljcygp
LmxpbmVTcGFjaW5nKCk7CiAKLSAgICBpZiAobGguaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCi0g
ICAgICAgIHJldHVybiBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobGgsIGNvbXB1dGVkRm9udFBpeGVs
U2l6ZSgpKTsKKyAgICBpZiAobGluZUhlaWdodExlbmd0aC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQo
KSkKKyAgICAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChsaW5lSGVpZ2h0TGVuZ3Ro
LCBjb21wdXRlZEZvbnRQaXhlbFNpemUoKSk7CiAKLSAgICByZXR1cm4gY2xhbXBUbzxpbnQ+KGxo
LnZhbHVlKCkpOworICAgIHJldHVybiBjbGFtcFRvPGludD4obGluZUhlaWdodExlbmd0aC52YWx1
ZSgpKTsKIH0KIAogdm9pZCBSZW5kZXJTdHlsZTo6c2V0V29yZFNwYWNpbmcoTGVuZ3RoJiYgdmFs
dWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4
IDU2ZjAzNjFlOWNkNTE0ZjE5OTRmMGIyYTVlZDM4MGE2OTE4NDYzNmUuLjk3Y2E5YmJjMmVjMGI1
ZTY0NzNlMTBlOTIwNjY1ZmI0NDFmZWU2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zOTEsNiArMzkxLDcgQEAgcHVibGljOgogICAgIGNv
bnN0IExlbmd0aCYgc3BlY2lmaWVkTGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIGNvbnN0IExlbmd0aCYgbGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGludCBjb21wdXRlZExpbmVIZWlnaHQoKSBjb25zdDsKKyAgICBpbnQgY29tcHV0ZUxpbmVIZWln
aHQoY29uc3QgTGVuZ3RoJikgY29uc3Q7CiAKICAgICBXaGl0ZVNwYWNlIHdoaXRlU3BhY2UoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxXaGl0ZVNwYWNlPihtX2luaGVyaXRlZEZsYWdzLndo
aXRlU3BhY2UpOyB9CiAgICAgc3RhdGljIGJvb2wgYXV0b1dyYXAoV2hpdGVTcGFjZSk7CkBAIC0x
NTA1LDYgKzE1MDYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsT25lTGVu
Z3RoKCkgeyByZXR1cm4gTGVuZ3RoKDEsIEZpeGVkKTsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0
aWFsV2lkb3dzKCkgeyByZXR1cm4gMjsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0aWFsT3JwaGFu
cygpIHsgcmV0dXJuIDI7IH0KKyAgICAvLyBSZXR1cm5pbmcgLTEwMCUgcGVyY2VudCBoZXJlIG1l
YW5zIHRoZSBsaW5lLWhlaWdodCBpcyBub3Qgc2V0LgogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlh
bExpbmVIZWlnaHQoKSB7IHJldHVybiBMZW5ndGgoLTEwMC4wZiwgUGVyY2VudCk7IH0KICAgICBz
dGF0aWMgVGV4dEFsaWduTW9kZSBpbml0aWFsVGV4dEFsaWduKCkgeyByZXR1cm4gVGV4dEFsaWdu
TW9kZTo6U3RhcnQ7IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uPiBpbml0
aWFsVGV4dERlY29yYXRpb24oKSB7IHJldHVybiBPcHRpb25TZXQ8VGV4dERlY29yYXRpb24+IHsg
fTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ29udmVy
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAppbmRl
eCA4ZGEzZmEyNDY3MThjMGUwZTUyZjY5ZmJjMTgxYWZiN2U3NjUxYTUzLi43NmJhOThkN2JhMDE4
ODY0NjgwOWQzNTU4ZjVkMGI0MzAyYTQ0Y2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaApAQCAtMTE2NywxMyArMTE2NywyMiBAQCBpbmxpbmUgR3Jp
ZEF1dG9GbG93IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRHcmlkQXV0b0Zsb3coQnVpbGRlclN0
YXRlJiwgY29uc3QgQwogICAgIHJldHVybiBhdXRvRmxvdzsKIH0KIAotaW5saW5lIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJzaW9u
RGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK2lubGlu
ZSBmbG9hdCB6b29tV2l0aFRleHRab29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRl
KQogewogICAgIGlmIChhdXRvKiBmcmFtZSA9IGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLmZyYW1l
KCkpIHsKICAgICAgICAgZmxvYXQgdGV4dFpvb21GYWN0b3IgPSBidWlsZGVyU3RhdGUuc3R5bGUo
KS50ZXh0Wm9vbSgpICE9IFRleHRab29tOjpSZXNldCA/IGZyYW1lLT50ZXh0Wm9vbUZhY3Rvcigp
IDogMS4wZjsKLSAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNp
b25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oYnVpbGRlclN0YXRlLnN0eWxlKCkuZWZmZWN0
aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3IpOworICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRl
LnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3I7CiAgICAgfQotICAgIHJl
dHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpOworICAgIHJldHVy
biBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpLnpvb20oKTsKK30KKwor
aW5saW5lIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9M
ZW5ndGhDb252ZXJzaW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxk
ZXJTdGF0ZSkKK3sKKyAgICBmbG9hdCB6b29tID0gem9vbVdpdGhUZXh0Wm9vbUZhY3RvcihidWls
ZGVyU3RhdGUpOworICAgIGlmICh6b29tID09IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZl
cnNpb25EYXRhKCkuem9vbSgpKQorICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLmNzc1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoKTsKKworICAgIHJldHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5n
dGhDb252ZXJzaW9uRGF0YSgpLmNvcHlXaXRoQWRqdXN0ZWRab29tKHpvb20pOwogfQogCiBpbmxp
bmUgT3B0aW9uYWw8TGVuZ3RoPiBCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0V29yZFNwYWNpbmco
QnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKQEAgLTE1
MTEsNyArMTUyMCw4IEBAIGlubGluZSBPcHRpb25hbDxMZW5ndGg+IEJ1aWxkZXJDb252ZXJ0ZXI6
OmNvbnZlcnRMaW5lSGVpZ2h0KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlCiAgICAgICAgIHJldHVybiBS
ZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVIZWlnaHQoKTsKIAogICAgIGlmIChwcmltaXRpdmVWYWx1
ZS5pc0xlbmd0aCgpKSB7Ci0gICAgICAgIExlbmd0aCBsZW5ndGggPSBwcmltaXRpdmVWYWx1ZS5j
b21wdXRlTGVuZ3RoPExlbmd0aD4oQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJz
aW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihidWlsZGVyU3RhdGUpKTsKKyAgICAgICAgYXV0byBj
b252ZXJzaW9uRGF0YSA9IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCku
Y29weVdpdGhBZGp1c3RlZFpvb21BbmRDb21wdXRpbmdQcm9wZXJ0eSh6b29tV2l0aFRleHRab29t
RmFjdG9yKGJ1aWxkZXJTdGF0ZSksIENvbXB1dGluZ1Byb3BlcnR5OjpMaW5lSGVpZ2h0KTsKKyAg
ICAgICAgTGVuZ3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8TGVuZ3Ro
Pihjb252ZXJzaW9uRGF0YSk7CiAgICAgICAgIGlmIChtdWx0aXBsaWVyICE9IDEuZikKICAgICAg
ICAgICAgIGxlbmd0aCA9IExlbmd0aChsZW5ndGgudmFsdWUoKSAqIG11bHRpcGxpZXIsIEZpeGVk
KTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKaW5kZXggZTJkNjVmY2UzMzI4NjE3MDM1MDc1ZTg2OTYwOWU0ODgyZWExZWI0
Yy4uZWM5NjA2NWFiYjEyNWMwM2M4NjYwNTMzY2Q2ZjBlNWFmMWZlMzFhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE2MjEsMTQgKzE2MjEsMTQgQEAg
aW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTaXplKEJ1aWxkZXJTdGF0
ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWwKICAgICB9IGVsc2UgewogICAgICAgICBmb250RGVzY3Jp
cHRpb24uc2V0SXNBYnNvbHV0ZVNpemUocGFyZW50SXNBYnNvbHV0ZVNpemUgfHwgIShwcmltaXRp
dmVWYWx1ZS5pc1BlcmNlbnRhZ2UoKSB8fCBwcmltaXRpdmVWYWx1ZS5pc0ZvbnRSZWxhdGl2ZUxl
bmd0aCgpKSk7CiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc0xlbmd0aCgpKSB7Ci0gICAg
ICAgICAgICBzaXplID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxmbG9hdD4oQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSgmYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJT
dGF0ZS5yb290RWxlbWVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZp
ZXcoKSwgMS4wZiwgdHJ1ZSkpOworICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLmNv
bXB1dGVMZW5ndGg8ZmxvYXQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJmJ1aWxkZXJTdGF0
ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUucm9vdEVsZW1lbnRTdHlsZSgpLCAmYnVpbGRl
clN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXco
KSwgMS4wZiwgQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplKSk7CiAgICAgICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUuaXNWaWV3cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSkKICAgICAgICAgICAg
ICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAgICAgICAg
IH0gZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUuaXNQZXJjZW50YWdlKCkpCiAgICAgICAgICAgICBz
aXplID0gKHByaW1pdGl2ZVZhbHVlLmZsb2F0VmFsdWUoKSAqIHBhcmVudFNpemUpIC8gMTAwLjBm
OwogICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc0NhbGN1bGF0ZWRQZXJjZW50YWdl
V2l0aExlbmd0aCgpKSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiBjb252ZXJzaW9uRGF0YSA9
IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCk7Ci0gICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgYnVpbGRlclN0
YXRlLmRvY3VtZW50KCkucmVuZGVyVmlldygpLCAxLjBmLCB0cnVlIH07CisgICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUuZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCks
IDEuMGYsIENvbXB1dGluZ1Byb3BlcnR5OjpGb250U2l6ZSB9OwogICAgICAgICAgICAgc2l6ZSA9
IHByaW1pdGl2ZVZhbHVlLmNzc0NhbGNWYWx1ZSgpLT5jcmVhdGVDYWxjdWxhdGlvblZhbHVlKHBh
cmVudENvbnZlcnNpb25EYXRhKS0+ZXZhbHVhdGUocGFyZW50U2l6ZSk7CiAgICAgICAgIH0gZWxz
ZQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
U3RhdGUuY3BwCmluZGV4IGE0NDgxM2YyNDQzMjAyMmM3NTA5NmEzNzIyNjFjYzc4OTljMTI5YmQu
Ljc4MTFkMWUzZjYwM2YzNjE4ZGIzODY1ZjMyZDgxM2IxMzMyYjU0NmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgQnVpbGRl
clN0YXRlOjpCdWlsZGVyU3RhdGUoQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyU3R5bGUmIHN0eWxl
LCBCdWlsZGVyQ29udGV4dCYKICAgICAsIG1fc3R5bGVNYXAoKnRoaXMpCiAgICAgLCBtX3N0eWxl
KHN0eWxlKQogICAgICwgbV9jb250ZXh0KFdURk1vdmUoY29udGV4dCkpCi0gICAgLCBtX2Nzc1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCByb290RWxlbWVudFN0eWxlKCksIGRvY3VtZW50
KCkucmVuZGVyVmlldygpKQorICAgICwgbV9jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHls
ZSwgcm9vdEVsZW1lbnRTdHlsZSgpLCAmcGFyZW50U3R5bGUoKSwgZG9jdW1lbnQoKS5yZW5kZXJW
aWV3KCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNmYxMjRmODVlZTdlOTM4Y2M1ZTFhOGY3ODA1NjAzOGZj
M2E4ZTI0Li5mYzdlMDNjYmY3NDQ2NWFiM2I4ZTMyZTlhMmY1ZDAzYjc5ZmQ3MmE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDQtMDQgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLXZhbHVlcy00XSBTdXBwb3J0IGZvbnQtcmVsYXRp
dmUgbGggYW5kIHJsaCB1bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTUxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIGZvbnQtcmVsYXRpdmUgJ2xoJyBh
bmQgJ3JsaCcgdW5pdHMuCisgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVz
LTQvI2ZvbnQtcmVsYXRpdmUtbGVuZ3RocworCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcu
bGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElP
TiBGQUlMRUQ6IG1fdmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9u
ZSBzZWVuIHdpdGggVGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdv
cnlJT1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQ2YmU2ZjZjM2VhYTkzYWVk
YjlmZjYxOTliM2ViYWIyYjA1YzNmMjkuLmVmZTlhNWEyNzY0OGUxODFjZTgyMGJmODExOWExNTk3
ODVkM2U0NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA0LTA0ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisK
KyAgICAgICAgW2Nzcy12YWx1ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGgg
dW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1
MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFz
cyBhbGwgJ2xoJyBhbmQgJ3JsaCcgdGVzdHMsIG1pbnVzIHRoZSAnMnJsaCBpbiBmb250LXNpemUg
b24gcm9vdCcgdGVzdCB3aGljaCBtYXkgYmUgYSBidWcgaW4gdGhlIHRlc3QgaXRzZWxmOiBodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjIwNTUKKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0w
MDEtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAzLTMwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNlbGVjdG9ycyA0XSBBZGQgc3VwcG9ydCBmb3IgYDpp
cygpYCB3aXRoIHRoZSBzYW1lIGxvZ2ljIGZvciB0aGUgZXhpc3RpbmcgYDptYXRjaGVzKClgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmYTg3YzU1M2UzOWQzZDRmNTZkMWI5M2JjNmUz
MWM3Li43Yzc2MTFkZWUyZmUzNzkzYzg3ZmNmNWY1NjIwNzYyMzhhZDk4ZWE2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTMxMTAsOCArMzExMCw4IEBAIHdlYmtpdC5vcmcvYi8yMDMzMzQgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0LTAwOS5oCiB3
ZWJraXQub3JnL2IvMjAzMzM0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaWMtdW5pdC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIwMzMzNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ljLXVuaXQtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDMz
MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0
LTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAzMzM2IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtdW5pdC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzMzNiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXVuaXQtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDMzMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC11bml0LTAwMS5odG1sIFsgUGFzcyBdCit3ZWJr
aXQub3JnL2IvMjAzMzM2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvbGgtdW5pdC0wMDIuaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMzMzNyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL3ZoLXN1cHBvcnQtYXR2
aWV3cG9ydC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzM4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJl
c2hpbmdfb25fY2hyb21lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVl
cy9saC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEt
ZXhwZWN0ZWQudHh0CmluZGV4IDg4NGYxYjNkMWI3NzkzNzFkMTQxNTgzMmIwZjU1MmYxNjU3MDUx
NDYuLjlhN2M1MTBkZTRjMzdkYzkyMmEwZjI4YjA2ZGM4NzUzZmU0NjBmZjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1
ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290
LTAwMS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIMKgCiAKLUZBSUwgbGggaW4gbGlu
ZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhl
IHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRyaWNzIGNv
cnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxpbmUtaGVp
Z2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMTggKy8tIDEgYnV0IGdvdCAxNjQKLUZBSUwgcmxoIGlu
IGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBv
biB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAxOCArLy0gMSBidXQgZ290IDE2NAotRkFJTCBs
aCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgcmxo
IGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgMmxo
IGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3Jr
cyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vz
bid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgMzYgKy8t
IDEgYnV0IGdvdCAxNjQKLUZBSUwgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9h
cHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVp
Z2h0IHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkg
Y2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGlu
dG8gYWNjb3VudCBleHBlY3RlZCAzNiArLy0gMSBidXQgZ290IDE2NAotRkFJTCAybGggaW4gZm9u
dC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRoZSBy
b290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0
IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRo
ZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDM2ICsvLSAxIGJ1dCBnb3Qg
MTYKLUZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczog
dGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0
dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNr
IHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVj
dGVkIDMyICsvLSAxIGJ1dCBnb3QgMTYKK1BBU1MgbGggaW4gbGluZS1oZWlnaHQgb24gcm9vdAor
UEFTUyBybGggaW4gbGluZS1oZWlnaHQgb24gcm9vdAorUEFTUyBsaCBpbiBmb250LXNpemUgb24g
cm9vdAorUEFTUyBybGggaW4gZm9udC1zaXplIG9uIHJvb3QKK1BBU1MgMmxoIGluIGxpbmUtaGVp
Z2h0IG9uIHJvb3QKK1BBU1MgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290CitQQVNTIDJsaCBp
biBmb250LXNpemUgb24gcm9vdAorRkFJTCAycmxoIGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2Vy
dF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQt
c2l6ZSBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5
IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBp
bnRvIGFjY291bnQgZXhwZWN0ZWQgMzIgKy8tIDEgYnV0IGdvdCAzNgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dAppbmRleCBkZmRmNjY2MzQ5Mjc3
NTk2NTc0NGE2MzVmMTE1ZTFjNTk2MDU1NmJlLi41MjYxNjVjODNhNDI3MjBmYjdmYWNjNzc5YWI5
YzA2OTQ5OWYzMWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0w
MDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290LTAwMS1l
eHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIMKgCiAKLUZBSUwgbGggaW4gbGluZS1oZWln
aHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhlIHJvb3Qg
ZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRyaWNzIGNvcnJlc3Bv
bmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxpbmUtaGVpZ2h0IHBy
b3BlcnRpZXMgZXhwZWN0ZWQgMjAgKy8tIDEgYnV0IGdvdCAxNjUKLUZBSUwgcmxoIGluIGxpbmUt
aGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBvbiB0aGUg
cm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgdXNlcyBmb250IG1ldHJpY3MgY29y
cmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGluZS1oZWln
aHQgcHJvcGVydGllcyBleHBlY3RlZCAyMCArLy0gMSBidXQgZ290IDE2NQotRkFJTCBsaCBpbiBm
b250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhl
IHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBjb3Jy
ZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5lLWhlaWdo
dCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDIwICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgcmxoIGluIGZv
bnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhl
IHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBjb3Jy
ZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5lLWhlaWdo
dCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDIwICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgMmxoIGluIGxp
bmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRo
ZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBhcyBh
IHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0IHRh
a2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgNDAgKy8tIDEgYnV0
IGdvdCAxNjUKLUZBSUwgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9hcHByb3hf
ZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHBy
b3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1c2Ug
YSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGludG8gYWNj
b3VudCBleHBlY3RlZCA0MCArLy0gMSBidXQgZ290IDE2NQotRkFJTCAybGggaW4gZm9udC1zaXpl
IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRoZSByb290IGVs
ZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBk
b2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1i
ZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDQwICsvLSAxIGJ1dCBnb3QgMTYKLUZB
SUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJs
aCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkg
d29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQg
ZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDMy
ICsvLSAxIGJ1dCBnb3QgMTYKK1BBU1MgbGggaW4gbGluZS1oZWlnaHQgb24gcm9vdAorUEFTUyBy
bGggaW4gbGluZS1oZWlnaHQgb24gcm9vdAorUEFTUyBsaCBpbiBmb250LXNpemUgb24gcm9vdAor
UEFTUyBybGggaW4gZm9udC1zaXplIG9uIHJvb3QKK1BBU1MgMmxoIGluIGxpbmUtaGVpZ2h0IG9u
IHJvb3QKK1BBU1MgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290CitQQVNTIDJsaCBpbiBmb250
LXNpemUgb24gcm9vdAorRkFJTCAycmxoIGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHBy
b3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBw
cm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNl
IGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFj
Y291bnQgZXhwZWN0ZWQgMzIgKy8tIDEgYnV0IGdvdCA0MAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395487</attachid>
            <date>2020-04-04 23:00:52 -0700</date>
            <delta_ts>2020-04-06 22:03:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195180-20200405010051.patch</filename>
            <type>text/plain</type>
            <size>46734</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IyYjU1ZDVmNmViNzRh
MjhhMmQ2NjBmNTBiYWJiMGM5NTVhMGI2NC4uZWQ5MGZjYWI2ODI0ZjM1YmE5OTU3Yzg2NDhkNGY4
OTMwMDk5ZjY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIwLTA0LTA0ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1
ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGggdW5pdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9y
ICdsaCcgYW5kICdybGgnIHVuaXRzLgorICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
LXZhbHVlcy00LyNmb250LXJlbGF0aXZlLWxlbmd0aHMKKworICAgICAgICAqIGNzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGNVbml0Q2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRpb25DYXRlZ29yeUZvckNvbWJpbmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Omhhc0RvdWJsZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpj
cmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSYWRpYWxHcmFkaWVudFZhbHVl
OjpjcmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb25pY0dyYWRpZW50VmFs
dWU6OmNyZWF0ZUdyYWRpZW50KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjppc1N0cmluZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjp1bml0VHlwZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25h
bERlcGVuZGVuY2llcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Y29sbGVjdERpcmVjdFJvb3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzIGNvbnN0KToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjppc0ZvbnRSZWxhdGl2ZUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6aXNMZW5ndGgpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUgY29uc3QpOgorICAgICAgICAqIGNz
cy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0V2lkdGhGYWN0b3IgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRIZWlnaHRGYWN0
b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRNaW5GYWN0b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YTo6dmlld3BvcnRNYXhGYWN0b3IgY29uc3QpOgorICAgICAgICAqIGNzcy9D
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmg6IFJlcGxhY2UgYm9vbCAnbV9jb21wdXRpbmdGb250
U2l6ZScgd2l0aCBDb21wdXRpbmdQcm9wZXJ0eSBlbnVtLgorICAgICAgICAoV2ViQ29yZTo6Q1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSk6IEFkZCAn
cGFyZW50U3R5bGUnIHBhcmFtZXRlciwgbmVjZXNzYXJ5IGZvciBjYWxjdWxhdGluZyBsaC9ybGgg
dW5pdCB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
OjpwYXJlbnRTdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhOjpjb21wdXRpbmdGb250U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjpjb21wdXRpbmdMaW5lSGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OmNvcHlXaXRoQWRqdXN0
ZWRab29tIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OmNvcHlXaXRoQWRqdXN0ZWRab29tQW5kQ29tcHV0aW5nUHJvcGVydHkgY29uc3QpOgorICAg
ICAgICAqIGNzcy9DU1NVbml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToK
KyAgICAgICAgKiBjc3MvQ1NTVW5pdHMuaDoKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZSBjb25zdCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJpZSk6CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTGVuZ3RoKToKKyAgICAgICAgKiBj
c3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlNp
emVzQXR0cmlidXRlUGFyc2VyOjplZmZlY3RpdmVTaXplRGVmYXVsdFZhbHVlKToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJlc29sdmVDdXN0b21TdHlsZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnBhcmVudFN0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjphcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdU
b1N0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphZGp1c3RCdXR0b25T
dHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDog
RXh0cmFjdCAnY29tcHV0ZWRMaW5lSGVpZ2h0JyBiZWhhdmlvciBpbnRvIHNlcGFyYXRlICdjb21w
dXRlTGluZUhlaWdodCcgZnVuY3Rpb24gc28gbG9naWMgY2FuIGJlIHJldXNlZCBlbHNld2hlcmUu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29tcHV0ZWRMaW5lSGVpZ2h0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdodCBjb25z
dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICog
c3R5bGUvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6IEV4dHJhY3Qgem9vbSBjYWxjdWxhdGlvbiBs
b2dpYyBvdXQgb2YgJ2Nzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3In
IGludG8gc2VwYXJhdGUgJ3pvb21XaXRoVGV4dFpvb21GYWN0b3InIGZ1bmN0aW9uIHNvIGxvZ2lj
IGNhbiBiZSByZXVzZWQgZWxzZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6Onpvb21X
aXRoVGV4dFpvb21GYWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252
ZXJ0ZXI6OmNzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRMaW5lSGVpZ2h0
KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFNpemUpOgorICAgICAgICAq
IHN0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpC
dWlsZGVyU3RhdGU6OkJ1aWxkZXJTdGF0ZSk6CisKIDIwMjAtMDQtMDQgIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjU5MDk1KTogQVNTRVJU
SU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3JlZW5Nb2RlICE9IFZpZGVvRnVsbHNjcmVlbk1vZGVO
b25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJLldlYktpdExlZ2FjeS5BdWRpb1Nlc3Npb25DYXRl
Z29yeUlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCmluZGV4
IDljMGJhNjBjOWM0N2NlOGIyMGUxMjEyYjJiZGFiNGQzNTIzMzhiYmIuLjQ4NGNjYzM2NjRhZWFl
YzdlMWIxOWNlMDFmNDc1YTgwY2I0ZTAyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2Fs
Y3VsYXRpb25WYWx1ZS5jcHAKQEAgLTgwLDYgKzgwLDggQEAgc3RhdGljIENhbGN1bGF0aW9uQ2F0
ZWdvcnkgY2FsY1VuaXRDYXRlZ29yeShDU1NVbml0VHlwZSB0eXBlKQogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19QVDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUEM6CiAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVN
UzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19WVzoKQEAgLTEzMyw3ICsxMzUsOSBAQCBzdGF0aWMgQ2FsY3VsYXRpb25DYXRlZ29yeSBj
YWxjdWxhdGlvbkNhdGVnb3J5Rm9yQ29tYmluYXRpb24oQ1NTVW5pdFR5cGUgdHlwZSkKICAgICAg
ICAgcmV0dXJuIENhbGN1bGF0aW9uQ2F0ZWdvcnk6OkZyZXF1ZW5jeTsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FWFM6CisgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
KyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfQ0hTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19WVzoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfVkg6CkBAIC0xOTUsNiArMTk5LDggQEAgc3RhdGljIGJvb2wgaGFzRG91YmxlVmFs
dWUoQ1NTVW5pdFR5cGUgdHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRFBDTToKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6
CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfUkxIUzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X1VOS05PV046CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1NUUklORzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCA5Y2QyMzhmMTBjMGE1YWVjOTZkYjMxY2Uz
ZjNmM2FlYjc2MTI2YzAxLi4xNDMxMWY0YWNmMGYyOGZiNDU3MTBlODViNWFjOTcwMDY0MTEwYTEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC04MDcsNyArODA3
LDcgQEAgUmVmPEdyYWRpZW50PiBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVu
dChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY28KIHsKICAgICBBU1NFUlQoIXNpemUuaXNFbXB0
eSgpKTsKIAotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEoJnJl
bmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksICZyZW5kZXJlci52aWV3KCkpOworICAgIENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEgY29udmVyc2lvbkRhdGEoJnJlbmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50
KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCksIHJlbmRlcmVyLnBhcmVudFN0eWxl
KCksICZyZW5kZXJlci52aWV3KCkpOwogCiAgICAgRmxvYXRQb2ludCBmaXJzdFBvaW50OwogICAg
IEZsb2F0UG9pbnQgc2Vjb25kUG9pbnQ7CkBAIC0xMDU2LDcgKzEwNTYsNyBAQCBSZWY8R3JhZGll
bnQ+IENTU1JhZGlhbEdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyLCBjbwogewogICAgIEFTU0VSVCghc2l6ZS5pc0VtcHR5KCkpOwogCi0gICAgQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwg
cmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgJnJl
bmRlcmVyLnZpZXcoKSk7CisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9u
RGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwgcmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyU3R5bGUoKSwgcmVuZGVyZXIucGFyZW50U3R5bGUoKSwgJnJlbmRlcmVyLnZp
ZXcoKSk7CiAKICAgICBGbG9hdFBvaW50IGZpcnN0UG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmly
c3RYKCksIGZpcnN0WSgpLCBjb252ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgo
KSkKQEAgLTEyNDcsNyArMTI0Nyw3IEBAIFJlZjxHcmFkaWVudD4gQ1NTQ29uaWNHcmFkaWVudFZh
bHVlOjpjcmVhdGVHcmFkaWVudChSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uCiB7CiAgICAg
QVNTRVJUKCFzaXplLmlzRW1wdHkoKSk7CiAKLSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
IGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJlci5kb2N1bWVudCgpLmRv
Y3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKKyAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgp
LCByZW5kZXJlci5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCBy
ZW5kZXJlci5wYXJlbnRTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKIAogICAgIEZsb2F0UG9p
bnQgY2VudGVyUG9pbnQgPSBjb21wdXRlRW5kUG9pbnQoZmlyc3RYKCksIGZpcnN0WSgpLCBjb252
ZXJzaW9uRGF0YSwgc2l6ZSk7CiAgICAgaWYgKCFmaXJzdFgoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDdiOWFhMDcwNDNiNWFjNjg2NjZlMTVmMjFmN2Jj
YjAxNGQwZDFjZWIuLjIxZTA0MGY2MjAzZjE0MmY4OGIxN2VjODUyODI4MWM0OWNlMjJjZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNzEsNiArNzEsOCBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bihDU1NVbml0VHlwZSB1bml0VHlwZSkKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUFQ6CiAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19R
OgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1FVSVJLWV9FTVM6CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1JBRDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkVNUzoK
QEAgLTE0Nyw2ICsxNDksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTdHJpbmdUeXBlKENTU1Vu
aXRUeXBlIHR5cGUpCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BUOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19QWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUToKKyAgICBjYXNl
IENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19RVUFEOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19RVUlSS1lfRU1TOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SQUQ6CkBAIC01MDIsNiAr
NTA2LDggQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX0RQQ006CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0ZSOgogICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19ROgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6Cisg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0lERU5UOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19VTktOT1dOOgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19VTklDT0RFX1JBTkdFOgpAQCAtNjMxLDYgKzYzNywyMyBAQCBkb3VibGUg
Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKGNvbnN0IENTU1Rv
TGVuZ3RoQ29udmVyc2lvbgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROgogICAgICAgICBm
YWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoIC8gUVBlckluY2g7CiAgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgICAgIEFTU0VSVChjb252ZXJzaW9uRGF0
YS5zdHlsZSgpKTsKKyAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWln
aHQoKSB8fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKSB7CisgICAgICAgICAg
ICAvLyBUcnkgdG8gZ2V0IHRoZSBwYXJlbnQncyBjb21wdXRlZCBsaW5lLWhlaWdodCwgb3IgZmFs
bCBiYWNrIHRvIHRoZSBpbml0aWFsIGxpbmUtaGVpZ2h0IG9mIHRoaXMgZWxlbWVudCdzIGZvbnQg
c3BhY2luZy4KKyAgICAgICAgICAgIGZhY3RvciA9IGNvbnZlcnNpb25EYXRhLnBhcmVudFN0eWxl
KCkgPyBjb252ZXJzaW9uRGF0YS5wYXJlbnRTdHlsZSgpLT5jb21wdXRlZExpbmVIZWlnaHQoKSA6
IGNvbnZlcnNpb25EYXRhLnN0eWxlKCktPmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKKyAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5zdHlsZSgp
LT5jb21wdXRlZExpbmVIZWlnaHQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX1JMSFM6CisgICAgICAgIGlmIChjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSkg
eworICAgICAgICAgICAgaWYgKGNvbnZlcnNpb25EYXRhLmNvbXB1dGluZ0xpbmVIZWlnaHQoKSB8
fCBjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdGb250U2l6ZSgpKQorICAgICAgICAgICAgICAgIGZh
Y3RvciA9IGNvbnZlcnNpb25EYXRhLnJvb3RTdHlsZSgpLT5jb21wdXRlTGluZUhlaWdodChjb252
ZXJzaW9uRGF0YS5yb290U3R5bGUoKS0+c3BlY2lmaWVkTGluZUhlaWdodCgpKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5yb290U3R5
bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
ZmFjdG9yID0gMS4wOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
SU46CiAgICAgICAgIGZhY3RvciA9IGNzc1BpeGVsc1BlckluY2g7CiAgICAgICAgIGJyZWFrOwpA
QCAtOTI1LDYgKzk0OCw4IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6dW5pdFR5cGVTdHJp
bmcoQ1NTVW5pdFR5cGUgdW5pdFR5cGUpCiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19E
UENNOiByZXR1cm4gImRwY20iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRlI6IHJl
dHVybiAiZnIiOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUTogcmV0dXJuICJxIjsK
KyAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzogcmV0dXJuICJsaCI7CisgICAgICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOiByZXR1cm4gInJsaCI7CiAgICAgICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19UVVJOOiByZXR1cm4gInR1cm4iOwogICAgICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfUkVNUzogcmV0dXJuICJyZW0iOwogICAgICAgICBjYXNlIENTU1VuaXRUeXBl
OjpDU1NfQ0hTOiByZXR1cm4gImNoIjsKQEAgLTEwMTIsNiArMTAzNywxMCBAQCBBTFdBWVNfSU5M
SU5FIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4
dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmb3JtYXROdW1iZXJWYWx1ZSgiZnIiKTsKICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUToKICAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlclZhbHVl
KCJxIik7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgcmV0dXJuIGZv
cm1hdE51bWJlclZhbHVlKCJsaCIpOworICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgor
ICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyVmFsdWUoInJsaCIpOwogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19ESU1FTlNJT046CiAgICAgICAgIC8vIEZJWE1FOiBXZSBjdXJyZW50bHkgZG9u
J3QgaGFuZGxlIENTU1VuaXRUeXBlOjpDU1NfRElNRU5TSU9OIHByb3Blcmx5IGFzIHdlIGRvbid0
IHN0b3JlCiAgICAgICAgIC8vIHRoZSBhY3R1YWwgZGltZW5zaW9uLCBqdXN0IHRoZSBudW1lcmlj
IHZhbHVlIGFzIGEgc3RyaW5nLgpAQCAtMTEzOSw2ICsxMTY4LDggQEAgYm9vbCBDU1NQcmltaXRp
dmVWYWx1ZTo6ZXF1YWxzKGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiBvdGhlcikgY29uc3QKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVk1BWDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
RlI6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgcmV0dXJu
IG1fdmFsdWUubnVtID09IG90aGVyLm1fdmFsdWUubnVtOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19QUk9QRVJUWV9JRDoKICAgICAgICAgcmV0dXJuIHByb3BlcnR5TmFtZShtX3ZhbHVlLnBy
b3BlcnR5SUQpID09IHByb3BlcnR5TmFtZShvdGhlci5tX3ZhbHVlLnByb3BlcnR5SUQpOwpAQCAt
MTE4Miw3ICsxMjEzLDcgQEAgUmVmPERlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlPiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlRGVwcmVjYXRlZENTU09NUHJpbWkKICAgICByZXR1cm4gRGVw
cmVjYXRlZENTU09NUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgqdGhpcywgc3R5bGVEZWNsYXJhdGlv
bik7CiB9CiAKLS8vIGh0dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGll
cy12YWx1ZXMtYXBpLyNkZXBlbmRlbmN5LWN5Y2xlcy12aWEtcmVsYXRpdmUtdW5pdHMKKy8vIGh0
dHBzOi8vZHJhZnRzLmNzcy1ob3VkaW5pLm9yZy9jc3MtcHJvcGVydGllcy12YWx1ZXMtYXBpLyNk
ZXBlbmRlbmN5LWN5Y2xlcwogdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29sbGVjdERpcmVjdENv
bXB1dGF0aW9uYWxEZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcm9wZXJ0eUlEPiYgdmFsdWVzKSBj
b25zdAogewogICAgIHN3aXRjaCAocHJpbWl0aXZlVW5pdFR5cGUoKSkgewpAQCAtMTE5Miw2ICsx
MjIzLDEwIEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbGxlY3REaXJlY3RDb21wdXRhdGlv
bmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHJvcGVyCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0NIUzoKICAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICAgICAgdmFsdWVz
LmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0
eUxpbmVIZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
Q0FMQzoKICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25hbERl
cGVuZGVuY2llcyh2YWx1ZXMpOwogICAgICAgICBicmVhazsKQEAgLTEyMDYsNiArMTI0MSwxMCBA
QCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxE
ZXBlbmRlbmNpZXMoSGFzaFNldDxDU1NQcgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SRU1T
OgogICAgICAgICB2YWx1ZXMuYWRkKENTU1Byb3BlcnR5Rm9udFNpemUpOwogICAgICAgICBicmVh
azsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKKyAgICAgICAgdmFsdWVzLmFkZChD
U1NQcm9wZXJ0eUZvbnRTaXplKTsKKyAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUxpbmVI
ZWlnaHQpOworICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0FMQzoK
ICAgICAgICAgbV92YWx1ZS5jYWxjLT5jb2xsZWN0RGlyZWN0Um9vdENvbXB1dGF0aW9uYWxEZXBl
bmRlbmNpZXModmFsdWVzKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5oCmluZGV4IGMyOTg5MmMyZGRjNTc4NWU1YWY2Y2UxNWYwMGI5YzEwODJhMDc1
NGUuLjI1NjBhNmI4MjQ1ZjNkMmQzYWY0MWU3MjQzYzEyOTkwZTU5YjU4ZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC0yNjAsNiArMjYwLDggQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmlzRm9udFJlbGF0aXZlTGVuZ3RoKENTU1VuaXRUeXBlIHR5
cGUpCiB7CiAgICAgcmV0dXJuIHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19FTVMKICAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0VYUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfTEhTCisgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19STEhT
CiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5
cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlw
ZTo6Q1NTX1FVSVJLWV9FTVM7CkBAIC0yNzEsNiArMjczLDggQEAgaW5saW5lIGJvb2wgQ1NTUHJp
bWl0aXZlVmFsdWU6OmlzTGVuZ3RoKENTU1VuaXRUeXBlIHR5cGUpCiAgICAgICAgIHx8IHR5cGUg
PT0gQ1NTVW5pdFR5cGU6OkNTU19SRU1TCiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6
OkNTU19DSFMKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1EKKyAgICAgICAg
fHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0xIUworICAgICAgICB8fCB0eXBlID09IENTU1Vu
aXRUeXBlOjpDU1NfUkxIUwogICAgICAgICB8fCBpc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCh0
eXBlKQogICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUVVJUktZX0VNUzsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IDdiNjIwNWRlYjAwMWQ4ZWI2MWQ3YjcwMzc3MzExMTE2Njg5OTRjZDUuLjFjZDEwODQyZTlkYTBj
ZTc3YjI4NzFjMTE1MzNiOTMyYTBjYjg1YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtNDUxNCw2ICs0NTE0LDcgQEAgaW5saW5lIGJv
b2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbnZlcnRpbmdUb0xlbmd0aFJlcXVpcmVzTm9uTnVsbFN0
eWxlKGludCBsZW5ndGgKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRU1TOgogICAgIGNhc2Ug
Q1NTVW5pdFR5cGU6OkNTU19FWFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0NIUzoKKyAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgogICAgICAgICByZXR1cm4gbGVuZ3RoQ29udmVy
c2lvbiAmIChGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgRml4ZWRGbG9hdENvbnZlcnNpb24pOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcAppbmRleCBiNTYyNzQ3NDcwYTNhNWRi
MTYxYTYwNzQxNTJhNTVmNGNlOTdmNjc5Li41ZDQ1NWY4ZmRhYWI5YjE1MTAwZGUyNzQ1ZmIyZGEw
YzI5MTQyMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEuY3BwCkBAIC00NSw3ICs0NSw3IEBAIGZsb2F0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGE6Onpvb20oKSBjb25zdAogCiBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRXaWR0aEZhY3RvcigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3R5bGUgJiYgIW1fY29t
cHV0aW5nRm9udFNpemUpCisgICAgaWYgKG1fc3R5bGUgJiYgIWNvbXB1dGluZ0ZvbnRTaXplKCkp
CiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihtX3N0eWxlKS0+c2V0SGFzVmlld3Bv
cnRVbml0cygpOwogCiAgICAgaWYgKCFtX3JlbmRlclZpZXcpCkBAIC01Niw3ICs1Niw3IEBAIGRv
dWJsZSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydFdpZHRoRmFjdG9yKCkgY29u
c3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFj
dG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkK
KyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAg
ICBpZiAoIW1fcmVuZGVyVmlldykKQEAgLTY3LDcgKzY3LDcgQEAgZG91YmxlIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGE6OnZpZXdwb3J0SGVpZ2h0RmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIHsKLSAg
ICBpZiAobV9zdHlsZSAmJiAhbV9jb21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAm
JiAhY29tcHV0aW5nRm9udFNpemUoKSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+
KG1fc3R5bGUpLT5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmll
dykKQEAgLTc5LDcgKzc5LDcgQEAgZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZp
ZXdwb3J0TWluRmFjdG9yKCkgY29uc3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGE6OnZpZXdwb3J0TWF4RmFjdG9yKCkgY29uc3QKIHsKLSAgICBpZiAobV9zdHlsZSAmJiAhbV9j
b21wdXRpbmdGb250U2l6ZSkKKyAgICBpZiAobV9zdHlsZSAmJiAhY29tcHV0aW5nRm9udFNpemUo
KSkKICAgICAgICAgY29uc3RfY2FzdDxSZW5kZXJTdHlsZSo+KG1fc3R5bGUpLT5zZXRIYXNWaWV3
cG9ydFVuaXRzKCk7CiAKICAgICBpZiAoIW1fcmVuZGVyVmlldykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oCmluZGV4IDFiNDM0YTgxMDg0MDZiM2Zj
Yzk4NTUzNDk2MDA2OTliMmQ0YjRjNzQuLjJkNTJkMGYyNjM1MzllMjI4Y2IxNDNmMTBhN2RmMWMy
MjUyY2JmNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEuaApAQCAtMzcsMzggKzM3LDQ4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJl
bmRlclN0eWxlOwogY2xhc3MgUmVuZGVyVmlldzsKIAorZW51bSBjbGFzcyBDb21wdXRpbmdQcm9w
ZXJ0eSB7CisgICAgRm9udFNpemUsCisgICAgTGluZUhlaWdodCwKKyAgICBPdGhlck9yVW5rbm93
bgorfTsKKwogY2xhc3MgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSB7CiBwdWJsaWM6Ci0gICAg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0IFJlbmRlclZpZXcqIHJlbmRlclZpZXcsIGZs
b2F0IHpvb20sIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBmYWxzZSkKKyAgICBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBjb25zdCBSZW5k
ZXJWaWV3KiByZW5kZXJWaWV3LCBmbG9hdCB6b29tLCBDb21wdXRpbmdQcm9wZXJ0eSBjb21wdXRp
bmdQcm9wZXJ0eSA9IENvbXB1dGluZ1Byb3BlcnR5OjpPdGhlck9yVW5rbm93bikKICAgICAgICAg
OiBtX3N0eWxlKHN0eWxlKQogICAgICAgICAsIG1fcm9vdFN0eWxlKHJvb3RTdHlsZSkKKyAgICAg
ICAgLCBtX3BhcmVudFN0eWxlKHBhcmVudFN0eWxlKQogICAgICAgICAsIG1fcmVuZGVyVmlldyhy
ZW5kZXJWaWV3KQogICAgICAgICAsIG1fem9vbSh6b29tKQogICAgICAgICAsIG1fdXNlRWZmZWN0
aXZlWm9vbShmYWxzZSkKLSAgICAgICAgLCBtX2NvbXB1dGluZ0ZvbnRTaXplKGNvbXB1dGluZ0Zv
bnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVydHkoY29tcHV0aW5nUHJvcGVydHkp
CiAgICAgewogICAgICAgICBBU1NFUlQoem9vbSA+IDApOwogICAgIH0KIAotICAgIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBjb25zdCBSZW5kZXJWaWV3KiByZW5kZXJWaWV3LCBib29sIGNvbXB1
dGluZ0ZvbnRTaXplID0gZmFsc2UpCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyVmlldyogcmVuZGVyVmlldywg
Q29tcHV0aW5nUHJvcGVydHkgY29tcHV0aW5nUHJvcGVydHkgPSBDb21wdXRpbmdQcm9wZXJ0eTo6
T3RoZXJPclVua25vd24pCiAgICAgICAgIDogbV9zdHlsZShzdHlsZSkKICAgICAgICAgLCBtX3Jv
b3RTdHlsZShyb290U3R5bGUpCisgICAgICAgICwgbV9wYXJlbnRTdHlsZShwYXJlbnRTdHlsZSkK
ICAgICAgICAgLCBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKICAgICAgICAgLCBtX3pvb20oMSkK
ICAgICAgICAgLCBtX3VzZUVmZmVjdGl2ZVpvb20odHJ1ZSkKLSAgICAgICAgLCBtX2NvbXB1dGlu
Z0ZvbnRTaXplKGNvbXB1dGluZ0ZvbnRTaXplKQorICAgICAgICAsIG1fY29tcHV0aW5nUHJvcGVy
dHkoY29tcHV0aW5nUHJvcGVydHkpCiAgICAgewogICAgIH0KIAogICAgIENTU1RvTGVuZ3RoQ29u
dmVyc2lvbkRhdGEoKQotICAgICAgICA6IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobnVsbHB0
ciwgbnVsbHB0ciwgbnVsbHB0cikKKyAgICAgICAgOiBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRh
KG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpCiAgICAgewogICAgIH0KIAogICAg
IGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0KICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9yb290U3R5
bGU7IH0KKyAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUoKSBjb25zdCB7IHJldHVy
biBtX3BhcmVudFN0eWxlOyB9CiAgICAgZmxvYXQgem9vbSgpIGNvbnN0OwotICAgIGJvb2wgY29t
cHV0aW5nRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGluZ0ZvbnRTaXplOyB9Cisg
ICAgYm9vbCBjb21wdXRpbmdGb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcHV0aW5nUHJv
cGVydHkgPT0gQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplOyB9CisgICAgYm9vbCBjb21wdXRp
bmdMaW5lSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9jb21wdXRpbmdQcm9wZXJ0eSA9PSBDb21w
dXRpbmdQcm9wZXJ0eTo6TGluZUhlaWdodDsgfQogCiAgICAgZG91YmxlIHZpZXdwb3J0V2lkdGhG
YWN0b3IoKSBjb25zdDsKICAgICBkb3VibGUgdmlld3BvcnRIZWlnaHRGYWN0b3IoKSBjb25zdDsK
QEAgLTc3LDE2ICs4NywyMiBAQCBwdWJsaWM6CiAKICAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhIGNvcHlXaXRoQWRqdXN0ZWRab29tKGZsb2F0IG5ld1pvb20pIGNvbnN0CiAgICAgewotICAg
ICAgICByZXR1cm4gQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShtX3N0eWxlLCBtX3Jvb3RTdHls
ZSwgbV9yZW5kZXJWaWV3LCBuZXdab29tLCBtX2NvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICAgICAg
cmV0dXJuIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1f
cGFyZW50U3R5bGUsIG1fcmVuZGVyVmlldywgbmV3Wm9vbSwgbV9jb21wdXRpbmdQcm9wZXJ0eSk7
CisgICAgfQorCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb3B5V2l0aEFkanVzdGVk
Wm9vbUFuZENvbXB1dGluZ1Byb3BlcnR5KGZsb2F0IHpvb20sIENvbXB1dGluZ1Byb3BlcnR5IGNv
bXB1dGluZ1Byb3BlcnR5KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEobV9zdHlsZSwgbV9yb290U3R5bGUsIG1fcGFyZW50U3R5bGUsIG1fcmVu
ZGVyVmlldywgem9vbSwgY29tcHV0aW5nUHJvcGVydHkpOwogICAgIH0KIAogcHJpdmF0ZToKICAg
ICBjb25zdCBSZW5kZXJTdHlsZSogbV9zdHlsZTsKICAgICBjb25zdCBSZW5kZXJTdHlsZSogbV9y
b290U3R5bGU7CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIG1fcGFyZW50U3R5bGU7CiAgICAgY29u
c3QgUmVuZGVyVmlldyogbV9yZW5kZXJWaWV3OwogICAgIGZsb2F0IG1fem9vbTsKICAgICBib29s
IG1fdXNlRWZmZWN0aXZlWm9vbTsKLSAgICBib29sIG1fY29tcHV0aW5nRm9udFNpemU7CisgICAg
Q29tcHV0aW5nUHJvcGVydHkgbV9jb21wdXRpbmdQcm9wZXJ0eTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCmluZGV4IDFmYzZkZDJkODA5NDZkZTBh
ZWZlNjgxNWQ0MTk4ODlmZDc1YjA2ODcuLjFkNGQyMTE3OTQ3ZmNlNjRmZWMzNDczNDMwMDNiMDBi
NmM3M2MyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcApAQCAtMTQyLDYgKzE0Miw4IEBAIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIENTU1VuaXRUeXBlIHVuaXRUeXBl
KQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOiB0cyA8PCAiZHBjbSI7IGJyZWFrOwog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19GUjogdHMgPDwgImZyIjsgYnJlYWs7CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1E6IHRzIDw8ICJxIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0xIUzogdHMgPDwgImxoIjsgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JMSFM6IHRzIDw8ICJybGgiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1Nf
UEFJUjogdHMgPDwgInBhaXIiOyBicmVhazsKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVU5J
Q09ERV9SQU5HRTogdHMgPDwgInVuaWNvZGVfcmFuZ2UiOyBicmVhazsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfVFVSTjogdHMgPDwgInR1cm4iOyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgK
aW5kZXggMjM4MGZhYmY0M2NjMTFhOTNmYmMyMDlkMzhhNzc2MmRhODViY2IyZi4uZjA2MzNkMDgz
MDZjZGM0ZjFiMDAxYzU0ZjIyMzNkOGNmOGM5ZWNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1VuaXRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmgKQEAg
LTYzLDYgKzYzLDggQEAgZW51bSBjbGFzcyBDU1NVbml0VHlwZSA6IHVpbnQ4X3QgewogICAgIENT
U19EUENNID0gMzIsCiAgICAgQ1NTX0ZSID0gMzMsCiAgICAgQ1NTX1EgPSAzNCwKKyAgICBDU1Nf
TEhTID0gMzUsCisgICAgQ1NTX1JMSFMgPSAzNiwKICAgICBDU1NfUEFJUiA9IDEwMCwgLy8gV2Ug
ZW52aXNpb24gdGhpcyBiZWluZyBleHBvc2VkIGFzIGEgbWVhbnMgb2YgZ2V0dGluZyBjb21wdXRl
ZCBzdHlsZSB2YWx1ZXMgZm9yIHBhaXJzIChib3JkZXItc3BhY2luZy9yYWRpdXMsIGJhY2tncm91
bmQtcG9zaXRpb24sIGV0Yy4pCiAgICAgQ1NTX1VOSUNPREVfUkFOR0UgPSAxMDIsCiAgICAgQ1NT
X1RVUk4gPSAxMDcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAK
aW5kZXggN2EzYWFkZTVkMjc4NGZiZDIzMzQ3M2IxNTJiZWY1ZDhkYTNiMTJlYy4uNjBlOWIzYzA5
ODUyYjE0ZmZkMjg0YTdkMDNlNmM3ZDFiYmFhMzQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtODk5LDcgKzg5OSw5IEBAIGJvb2wgTWVkaWFRdWVy
eUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeUV4cHJlc3Npb24mIGV4cHJlc3Np
b24pIGNvbnN0CiAKICAgICBpZiAoIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKGV4cHJlc3Npb24udmFsdWUoKSwg
eyBtX3N0eWxlLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgZG9j
dW1lbnQucmVuZGVyVmlldygpLCAxLCBmYWxzZSB9LCAqZnJhbWUsIE5vUHJlZml4KTsKKyAgICAK
KyAgICAvLyBQYXNzIGBudWxscHRyYCBmb3IgYHBhcmVudFN0eWxlYCBiZWNhdXNlIHdlIGFyZSBp
biB0aGUgY29udGV4dCBvZiBhIG1lZGlhIHF1ZXJ5LgorICAgIHJldHVybiBmdW5jdGlvbihleHBy
ZXNzaW9uLnZhbHVlKCksIHsgbV9zdHlsZSwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgMSwgQ29tcHV0aW5n
UHJvcGVydHk6Ok90aGVyT3JVbmtub3duIH0sICpmcmFtZSwgTm9QcmVmaXgpOwogfQogCiBib29s
IE1lZGlhUXVlcnlFdmFsdWF0b3I6Om1lZGlhQXR0cmlidXRlTWF0Y2hlcyhEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFN0cmluZyYgYXR0cmlidXRlVmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclRva2VuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCmluZGV4IGY1YjI0OTkzZWYyMjI4MWMxODE1ZmYx
ZmYxYTIwNjFlMDQyZDE4N2UuLjc1MDlmZDgyYTk3ZjNiNTBjZGU4MGZiZGM2NTQ1Y2VmZGQxOWE5
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4uY3BwCkBA
IC04Myw2ICs4MywxMCBAQCBDU1NVbml0VHlwZSBjc3NQcmltaXRpdmVWYWx1ZVVuaXRGcm9tVHJp
ZShjb25zdCBDaGFyYWN0ZXJUeXBlKiBkYXRhLCB1bnNpZ25lZCBsZQogICAgICAgICAgICAgaWYg
KHRvQVNDSUlMb3dlcihkYXRhWzFdKSA9PSAnbicpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENT
U1VuaXRUeXBlOjpDU1NfSU47CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAnbCc6
CisgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMV0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19MSFM7CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSAnbSc6CiAgICAgICAgICAgICBzd2l0Y2ggKHRvQVNDSUlMb3dlcihkYXRh
WzFdKSkgewogICAgICAgICAgICAgY2FzZSAnbSc6CkBAIC0xMzksNiArMTQzLDEwIEBAIENTU1Vu
aXRUeXBlIGNzc1ByaW1pdGl2ZVZhbHVlVW5pdEZyb21UcmllKGNvbnN0IENoYXJhY3RlclR5cGUq
IGRhdGEsIHVuc2lnbmVkIGxlCiAgICAgICAgICAgICAgICAgaWYgKHRvQVNDSUlMb3dlcihkYXRh
WzJdKSA9PSAnbScpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6Q1NT
X1JFTVM7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdsJzoKKyAg
ICAgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMl0pID09ICdoJykKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfUkxIUzsKKyAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
CmluZGV4IDgxZjE1ZTRmZTVjODg2NzI1MzkzZTc4Y2Y1ODY0NmNjZTk4NjI5MjAuLjM4N2U1OTgy
OWJjOGQyNjQ3MWZhNmQxYThkZmYwM2I3ZDAzN2YwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKQEAgLTI1Myw2
ICsyNTMsOCBAQCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNvbnN1bWVMZW5ndGgoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1BhcnNlck1vZAogICAgICAgICAgICAgRkFMTFRIUk9V
R0g7CiAgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19FTVM6CiAgICAgICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19SRU1TOgorICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgor
ICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzoKICAgICAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0NIUzoKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VYUzoKICAgICAg
ICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BYOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcAppbmRleCA0ODk0MjQwYzI1MmQ3Zjg3OTUw
N2JjMWZjODdkZDg1NjI2Y2MwYWZiLi42NDhiNDlhMzlmNTlhYmU4NzdjMWJhODQ5ZjE1OWM4ODM4
NTFhNGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmli
dXRlUGFyc2VyLmNwcApAQCAtNTEsOCArNTEsNyBAQCBmbG9hdCBTaXplc0F0dHJpYnV0ZVBhcnNl
cjo6Y29tcHV0ZUxlbmd0aChkb3VibGUgdmFsdWUsIENTU1VuaXRUeXBlIHR5cGUsIGNvbnN0CiAg
ICAgICAgIHJldHVybiAwOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxlKCk7CiAK
LSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZzdHlsZSwgJnN0
eWxlLCByZW5kZXJlcik7Ci0gICAgCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252
ZXJzaW9uRGF0YSgmc3R5bGUsICZzdHlsZSwgcmVuZGVyZXItPnBhcmVudFN0eWxlKCksIHJlbmRl
cmVyKTsKICAgICAvLyBCZWNhdXNlIHdlIGV2YWx1YXRlICJzaXplcyIgYXQgcGFyc2UgdGltZSAo
YmVmb3JlIHN0eWxlIGhhcyBiZWVuIHJlc29sdmVkKSwgdGhlIGZvbnQgbWV0cmljcyB1c2VkIGZv
ciB0aGVzZSBzcGVjaWZpYyB1bml0cwogICAgIC8vIGFyZSBub3QgYXZhaWxhYmxlLiBUaGUgZm9u
dCBzZWxlY3RvcidzIGludGVybmFsIGNvbnNpc3RlbmN5IGlzbid0IGd1YXJhbnRlZWQganVzdCB5
ZXQsIHNvIHdlIGNhbiBqdXN0IHRlbXBvcmFyaWx5IGNsZWFyCiAgICAgLy8gdGhlIHBvaW50ZXIg
dG8gaXQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdW5pdCBldmFsdWF0aW9uLiBUaGlzIGlzIGFj
Y2VwdGlibGUgYmVjYXVzZSB0aGUgc3R5bGUgYWx3YXlzIGNvbWVzIGZyb20gdGhlCkBAIC02NSw3
ICs2NCw2IEBAIGZsb2F0IFNpemVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKGRvdWJs
ZSB2YWx1ZSwgQ1NTVW5pdFR5cGUgdHlwZSwgY29uc3QKICAgICAgICAgc3R5bGUuZm9udENhc2Nh
ZGUoKS51cGRhdGUoZm9udFNlbGVjdG9yLmdldCgpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9Ci0gICAgCiAgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZShjb252ZXJzaW9uRGF0YSwgdHlwZSwgdmFsdWUp
KTsKIH0KICAgICAKQEAgLTE1OSw3ICsxNTcsNyBAQCB1bnNpZ25lZCBTaXplc0F0dHJpYnV0ZVBh
cnNlcjo6ZWZmZWN0aXZlU2l6ZURlZmF1bHRWYWx1ZSgpCiAgICAgaWYgKCFyZW5kZXJlcikKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgYXV0byYgc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKLSAg
ICByZXR1cm4gY2xhbXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxj
TGVuZ3RoRG91YmxlKHsgJnN0eWxlLCAmc3R5bGUsIHJlbmRlcmVyIH0sIENTU1VuaXRUeXBlOjpD
U1NfVlcsIDEwMC4wKSk7CisgICAgcmV0dXJuIGNsYW1wVG88ZmxvYXQ+KENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZSh7ICZzdHlsZSwgJnN0eWxlLCByZW5kZXJl
ci0+cGFyZW50U3R5bGUoKSwgcmVuZGVyZXIgfSwgQ1NTVW5pdFR5cGU6OkNTU19WVywgMTAwLjAp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNjZlMTJk
YzllYTk1Nzk2Nzc5M2Q0Y2NhZGQ3ZTM5ODM5YjEyMTNhZi4uNWRkZDgyM2U2OGZmNDNmOWEzMDA1
OWRlYzk1ZWY5MjM5NDRlYWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0xMjEsOSArMTIxLDkgQEAg
T3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gVGV4dENvbnRyb2xJbm5lckVsZW1lbnQ6OnJl
c29sdmVDdXN0b21TdHlsZShjb25zdAogCiAgICAgICAgIC8vIFNldCAiZmxleC1iYXNpczogMWVt
Ii4gTm90ZSB0aGF0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoSW50KCkgb25seSBu
ZWVkcyB0aGUgZWxlbWVudCdzCiAgICAgICAgIC8vIHN0eWxlIHRvIGNhbGN1bGF0ZSBlbSBsZW5n
dGhzLiBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwganVzdCBw
YXNzIG51bGxwdHIKLSAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUgYW5kIHRo
ZSByZW5kZXIgdmlldy4KKyAgICAgICAgLy8gZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUsIHRo
ZSBwYXJlbnQgZWxlbWVudCBzdHlsZSwgYW5kIHRoZSByZW5kZXIgdmlldy4KICAgICAgICAgYXV0
byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEsIENTU1VuaXRUeXBlOjpDU1Nf
RU1TKTsKLSAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0
ciwgMS4wLCBmYWxzZSB9KTsKKyAgICAgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxl
bmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgeyBuZXdTdHlsZS5nZXQoKSwgbnVs
bHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVu
a25vd24gfSk7CiAgICAgICAgIG5ld1N0eWxlLT5zZXRGbGV4QmFzaXMoTGVuZ3RoIHsgcGl4ZWxz
LCBGaXhlZCB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCmluZGV4IDU3MmE1YTQzN2U2OWUyMGU1MjE2NDQ4N2ZiNmZiY2EzN2JmNzEwZWQuLjQzNDEw
M2M2ODc2Nzk1NjY2ZDlhZTE5MzJjZGY2MmM5MzdhMDU0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNJbml0aWFsaXplZFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9oYXNJbml0aWFsaXplZFN0
eWxlOyB9CiAKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBt
X3N0eWxlOyB9CisgICAgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gIW1fcGFyZW50ID8gbnVsbHB0ciA6ICZtX3BhcmVudC0+c3R5bGUoKTsgfQogICAgIGNv
bnN0IFJlbmRlclN0eWxlJiBmaXJzdExpbmVTdHlsZSgpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6
IFN0eWxlIHNob3VsZG4ndCBiZSBtdXRhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLm1tCmluZGV4IDEyZmQ3ZmZmMmZkOTI3YTJmMGUyN2E4YzBlN2IzZGM0Zjkw
YmM3MGYuLmVkZmY2N2Q0YjY5N2EyMzE1ZThjNmIwMzExOTg1NmRkZmRiNmUxYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTU2Myw3ICs1NjMsOCBA
QCBzdGF0aWMgdm9pZCBhcHBseUNvbW1vbkJ1dHRvblBhZGRpbmdUb1N0eWxlKFJlbmRlclN0eWxl
JiBzdHlsZSwgY29uc3QgRWxlbWVudCYgZQogewogICAgIERvY3VtZW50JiBkb2N1bWVudCA9IGVs
ZW1lbnQuZG9jdW1lbnQoKTsKICAgICBhdXRvIGVtU2l6ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUoMC41LCBDU1NVbml0VHlwZTo6Q1NTX0VNUyk7Ci0gICAgaW50IHBpeGVscyA9IGVtU2l6
ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBk
b2N1bWVudC5yZW5kZXJTdHlsZSgpLCBkb2N1bWVudC5yZW5kZXJWaWV3KCksIGRvY3VtZW50LmZy
YW1lKCktPnBhZ2Vab29tRmFjdG9yKCkpKTsKKyAgICAvLyBXZSBkb24ndCBuZWVkIHRoaXMgZWxl
bWVudCdzIHBhcmVudCBzdHlsZSB0byBjYWxjdWxhdGUgYGVtYCB1bml0cywgc28gaXQncyBva2F5
IHRvIHBhc3MgbnVsbHB0ciBmb3IgaXQgaGVyZS4KKyAgICBpbnQgcGl4ZWxzID0gZW1TaXplLT5j
b21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgmc3R5bGUsIGRvY3Vt
ZW50LnJlbmRlclN0eWxlKCksIG51bGxwdHIsIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgZG9jdW1l
bnQuZnJhbWUoKS0+cGFnZVpvb21GYWN0b3IoKSkpOwogICAgIHN0eWxlLnNldFBhZGRpbmdCb3go
TGVuZ3RoQm94KDAsIHBpeGVscywgMCwgcGl4ZWxzKSk7CiB9CiAKQEAgLTEwMjMsMTAgKzEwMjQs
MTAgQEAgdm9pZCBSZW5kZXJUaGVtZUlPUzo6YWRqdXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW4KIAogICAgIC8vIFNldCBwYWRkaW5nOiAwIDEu
MGVtOyBvbiBidXR0b25zLgogICAgIC8vIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
SW50IG9ubHkgbmVlZHMgdGhlIGVsZW1lbnQncyBzdHlsZSB0byBjYWxjdWxhdGUgZW0gbGVuZ3Ro
cy4KLSAgICAvLyBTaW5jZSB0aGUgZWxlbWVudCBtaWdodCBub3QgYmUgaW4gYSBkb2N1bWVudCwg
anVzdCBwYXNzIG51bGxwdHIgZm9yIHRoZSByb290IGVsZW1lbnQgc3R5bGUKLSAgICAvLyBhbmQg
dGhlIHJlbmRlciB2aWV3LgorICAgIC8vIFNpbmNlIHRoZSBlbGVtZW50IG1pZ2h0IG5vdCBiZSBp
biBhIGRvY3VtZW50LCBqdXN0IHBhc3MgbnVsbHB0ciBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHls
ZSwKKyAgICAvLyB0aGUgcGFyZW50IGVsZW1lbnQgc3R5bGUsIGFuZCB0aGUgcmVuZGVyIHZpZXcu
CiAgICAgYXV0byBlbVNpemUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDEuMCwgQ1NTVW5p
dFR5cGU6OkNTU19FTVMpOwotICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8
aW50PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwg
MS4wLCBmYWxzZSkpOworICAgIGludCBwaXhlbHMgPSBlbVNpemUtPmNvbXB1dGVMZW5ndGg8aW50
PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHlsZSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciwgMS4wLCBDb21wdXRpbmdQcm9wZXJ0eTo6T3RoZXJPclVua25vd24pKTsKICAgICBzdHls
ZS5zZXRQYWRkaW5nQm94KExlbmd0aEJveCgwLCBwaXhlbHMsIDAsIHBpeGVscykpOwogCiAgICAg
aWYgKCFlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKaW5kZXggZTViMzY2ZDA1ODQwN2U4ZjIxYmYxYzM2NjUyZDY0ZWYyMWU2MGQ1YS4u
ZmRkYmZkMTQzMzFjYjE5YzRhY2M3OTI3MjNkMTQ3MmRhNWEzZTc2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC0xNzc2LDE2ICsxNzc2
LDE5IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldExpbmVIZWlnaHQoTGVuZ3RoJiYgaGVpZ2h0KQog
CiBpbnQgUmVuZGVyU3R5bGU6OmNvbXB1dGVkTGluZUhlaWdodCgpIGNvbnN0CiB7Ci0gICAgY29u
c3QgTGVuZ3RoJiBsaCA9IGxpbmVIZWlnaHQoKTsKKyAgICByZXR1cm4gY29tcHV0ZUxpbmVIZWln
aHQobGluZUhlaWdodCgpKTsKK30KIAoraW50IFJlbmRlclN0eWxlOjpjb21wdXRlTGluZUhlaWdo
dChjb25zdCBMZW5ndGgmIGxpbmVIZWlnaHRMZW5ndGgpIGNvbnN0Cit7CiAgICAgLy8gTmVnYXRp
dmUgdmFsdWUgbWVhbnMgdGhlIGxpbmUgaGVpZ2h0IGlzIG5vdCBzZXQuIFVzZSB0aGUgZm9udCdz
IGJ1aWx0LWluIHNwYWNpbmcuCi0gICAgaWYgKGxoLmlzTmVnYXRpdmUoKSkKKyAgICBpZiAobGlu
ZUhlaWdodExlbmd0aC5pc05lZ2F0aXZlKCkpCiAgICAgICAgIHJldHVybiBmb250TWV0cmljcygp
LmxpbmVTcGFjaW5nKCk7CiAKLSAgICBpZiAobGguaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCi0g
ICAgICAgIHJldHVybiBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobGgsIGNvbXB1dGVkRm9udFBpeGVs
U2l6ZSgpKTsKKyAgICBpZiAobGluZUhlaWdodExlbmd0aC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQo
KSkKKyAgICAgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChsaW5lSGVpZ2h0TGVuZ3Ro
LCBjb21wdXRlZEZvbnRQaXhlbFNpemUoKSk7CiAKLSAgICByZXR1cm4gY2xhbXBUbzxpbnQ+KGxo
LnZhbHVlKCkpOworICAgIHJldHVybiBjbGFtcFRvPGludD4obGluZUhlaWdodExlbmd0aC52YWx1
ZSgpKTsKIH0KIAogdm9pZCBSZW5kZXJTdHlsZTo6c2V0V29yZFNwYWNpbmcoTGVuZ3RoJiYgdmFs
dWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4
IDU2ZjAzNjFlOWNkNTE0ZjE5OTRmMGIyYTVlZDM4MGE2OTE4NDYzNmUuLjk3Y2E5YmJjMmVjMGI1
ZTY0NzNlMTBlOTIwNjY1ZmI0NDFmZWU2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zOTEsNiArMzkxLDcgQEAgcHVibGljOgogICAgIGNv
bnN0IExlbmd0aCYgc3BlY2lmaWVkTGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQ
T1JUIGNvbnN0IExlbmd0aCYgbGluZUhlaWdodCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JU
IGludCBjb21wdXRlZExpbmVIZWlnaHQoKSBjb25zdDsKKyAgICBpbnQgY29tcHV0ZUxpbmVIZWln
aHQoY29uc3QgTGVuZ3RoJikgY29uc3Q7CiAKICAgICBXaGl0ZVNwYWNlIHdoaXRlU3BhY2UoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxXaGl0ZVNwYWNlPihtX2luaGVyaXRlZEZsYWdzLndo
aXRlU3BhY2UpOyB9CiAgICAgc3RhdGljIGJvb2wgYXV0b1dyYXAoV2hpdGVTcGFjZSk7CkBAIC0x
NTA1LDYgKzE1MDYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsT25lTGVu
Z3RoKCkgeyByZXR1cm4gTGVuZ3RoKDEsIEZpeGVkKTsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0
aWFsV2lkb3dzKCkgeyByZXR1cm4gMjsgfQogICAgIHN0YXRpYyBzaG9ydCBpbml0aWFsT3JwaGFu
cygpIHsgcmV0dXJuIDI7IH0KKyAgICAvLyBSZXR1cm5pbmcgLTEwMCUgcGVyY2VudCBoZXJlIG1l
YW5zIHRoZSBsaW5lLWhlaWdodCBpcyBub3Qgc2V0LgogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlh
bExpbmVIZWlnaHQoKSB7IHJldHVybiBMZW5ndGgoLTEwMC4wZiwgUGVyY2VudCk7IH0KICAgICBz
dGF0aWMgVGV4dEFsaWduTW9kZSBpbml0aWFsVGV4dEFsaWduKCkgeyByZXR1cm4gVGV4dEFsaWdu
TW9kZTo6U3RhcnQ7IH0KICAgICBzdGF0aWMgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9uPiBpbml0
aWFsVGV4dERlY29yYXRpb24oKSB7IHJldHVybiBPcHRpb25TZXQ8VGV4dERlY29yYXRpb24+IHsg
fTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ29udmVy
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAppbmRl
eCA4ZGEzZmEyNDY3MThjMGUwZTUyZjY5ZmJjMTgxYWZiN2U3NjUxYTUzLi43NmJhOThkN2JhMDE4
ODY0NjgwOWQzNTU4ZjVkMGI0MzAyYTQ0Y2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaApAQCAtMTE2NywxMyArMTE2NywyMiBAQCBpbmxpbmUgR3Jp
ZEF1dG9GbG93IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRHcmlkQXV0b0Zsb3coQnVpbGRlclN0
YXRlJiwgY29uc3QgQwogICAgIHJldHVybiBhdXRvRmxvdzsKIH0KIAotaW5saW5lIENTU1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJzaW9u
RGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSkKK2lubGlu
ZSBmbG9hdCB6b29tV2l0aFRleHRab29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRl
KQogewogICAgIGlmIChhdXRvKiBmcmFtZSA9IGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLmZyYW1l
KCkpIHsKICAgICAgICAgZmxvYXQgdGV4dFpvb21GYWN0b3IgPSBidWlsZGVyU3RhdGUuc3R5bGUo
KS50ZXh0Wm9vbSgpICE9IFRleHRab29tOjpSZXNldCA/IGZyYW1lLT50ZXh0Wm9vbUZhY3Rvcigp
IDogMS4wZjsKLSAgICAgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNp
b25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oYnVpbGRlclN0YXRlLnN0eWxlKCkuZWZmZWN0
aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3IpOworICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRl
LnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpICogdGV4dFpvb21GYWN0b3I7CiAgICAgfQotICAgIHJl
dHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpOworICAgIHJldHVy
biBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpLnpvb20oKTsKK30KKwor
aW5saW5lIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9M
ZW5ndGhDb252ZXJzaW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihCdWlsZGVyU3RhdGUmIGJ1aWxk
ZXJTdGF0ZSkKK3sKKyAgICBmbG9hdCB6b29tID0gem9vbVdpdGhUZXh0Wm9vbUZhY3RvcihidWls
ZGVyU3RhdGUpOworICAgIGlmICh6b29tID09IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZl
cnNpb25EYXRhKCkuem9vbSgpKQorICAgICAgICByZXR1cm4gYnVpbGRlclN0YXRlLmNzc1RvTGVu
Z3RoQ29udmVyc2lvbkRhdGEoKTsKKworICAgIHJldHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5n
dGhDb252ZXJzaW9uRGF0YSgpLmNvcHlXaXRoQWRqdXN0ZWRab29tKHpvb20pOwogfQogCiBpbmxp
bmUgT3B0aW9uYWw8TGVuZ3RoPiBCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0V29yZFNwYWNpbmco
QnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKQEAgLTE1
MTEsNyArMTUyMCw4IEBAIGlubGluZSBPcHRpb25hbDxMZW5ndGg+IEJ1aWxkZXJDb252ZXJ0ZXI6
OmNvbnZlcnRMaW5lSGVpZ2h0KEJ1aWxkZXJTdGF0ZSYgYnVpbGRlCiAgICAgICAgIHJldHVybiBS
ZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVIZWlnaHQoKTsKIAogICAgIGlmIChwcmltaXRpdmVWYWx1
ZS5pc0xlbmd0aCgpKSB7Ci0gICAgICAgIExlbmd0aCBsZW5ndGggPSBwcmltaXRpdmVWYWx1ZS5j
b21wdXRlTGVuZ3RoPExlbmd0aD4oQnVpbGRlckNvbnZlcnRlcjo6Y3NzdG9MZW5ndGhDb252ZXJz
aW9uRGF0YVdpdGhUZXh0Wm9vbUZhY3RvcihidWlsZGVyU3RhdGUpKTsKKyAgICAgICAgYXV0byBj
b252ZXJzaW9uRGF0YSA9IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCku
Y29weVdpdGhBZGp1c3RlZFpvb21BbmRDb21wdXRpbmdQcm9wZXJ0eSh6b29tV2l0aFRleHRab29t
RmFjdG9yKGJ1aWxkZXJTdGF0ZSksIENvbXB1dGluZ1Byb3BlcnR5OjpMaW5lSGVpZ2h0KTsKKyAg
ICAgICAgTGVuZ3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8TGVuZ3Ro
Pihjb252ZXJzaW9uRGF0YSk7CiAgICAgICAgIGlmIChtdWx0aXBsaWVyICE9IDEuZikKICAgICAg
ICAgICAgIGxlbmd0aCA9IExlbmd0aChsZW5ndGgudmFsdWUoKSAqIG11bHRpcGxpZXIsIEZpeGVk
KTsKICAgICAgICAgcmV0dXJuIGxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKaW5kZXggZTJkNjVmY2UzMzI4NjE3MDM1MDc1ZTg2OTYwOWU0ODgyZWExZWI0
Yy4uZWM5NjA2NWFiYjEyNWMwM2M4NjYwNTMzY2Q2ZjBlNWFmMWZlMzFhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE2MjEsMTQgKzE2MjEsMTQgQEAg
aW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTaXplKEJ1aWxkZXJTdGF0
ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWwKICAgICB9IGVsc2UgewogICAgICAgICBmb250RGVzY3Jp
cHRpb24uc2V0SXNBYnNvbHV0ZVNpemUocGFyZW50SXNBYnNvbHV0ZVNpemUgfHwgIShwcmltaXRp
dmVWYWx1ZS5pc1BlcmNlbnRhZ2UoKSB8fCBwcmltaXRpdmVWYWx1ZS5pc0ZvbnRSZWxhdGl2ZUxl
bmd0aCgpKSk7CiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc0xlbmd0aCgpKSB7Ci0gICAg
ICAgICAgICBzaXplID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxmbG9hdD4oQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSgmYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJT
dGF0ZS5yb290RWxlbWVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZp
ZXcoKSwgMS4wZiwgdHJ1ZSkpOworICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLmNv
bXB1dGVMZW5ndGg8ZmxvYXQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJmJ1aWxkZXJTdGF0
ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUucm9vdEVsZW1lbnRTdHlsZSgpLCAmYnVpbGRl
clN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXco
KSwgMS4wZiwgQ29tcHV0aW5nUHJvcGVydHk6OkZvbnRTaXplKSk7CiAgICAgICAgICAgICBpZiAo
cHJpbWl0aXZlVmFsdWUuaXNWaWV3cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSkKICAgICAgICAgICAg
ICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRIYXNWaWV3cG9ydFVuaXRzKCk7CiAgICAgICAg
IH0gZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUuaXNQZXJjZW50YWdlKCkpCiAgICAgICAgICAgICBz
aXplID0gKHByaW1pdGl2ZVZhbHVlLmZsb2F0VmFsdWUoKSAqIHBhcmVudFNpemUpIC8gMTAwLjBm
OwogICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS5pc0NhbGN1bGF0ZWRQZXJjZW50YWdl
V2l0aExlbmd0aCgpKSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiBjb252ZXJzaW9uRGF0YSA9
IGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCk7Ci0gICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgYnVpbGRlclN0
YXRlLmRvY3VtZW50KCkucmVuZGVyVmlldygpLCAxLjBmLCB0cnVlIH07CisgICAgICAgICAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIHBhcmVudENvbnZlcnNpb25EYXRhIHsgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKSwgJmJ1aWxkZXJT
dGF0ZS5wYXJlbnRTdHlsZSgpLCBidWlsZGVyU3RhdGUuZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCks
IDEuMGYsIENvbXB1dGluZ1Byb3BlcnR5OjpGb250U2l6ZSB9OwogICAgICAgICAgICAgc2l6ZSA9
IHByaW1pdGl2ZVZhbHVlLmNzc0NhbGNWYWx1ZSgpLT5jcmVhdGVDYWxjdWxhdGlvblZhbHVlKHBh
cmVudENvbnZlcnNpb25EYXRhKS0+ZXZhbHVhdGUocGFyZW50U2l6ZSk7CiAgICAgICAgIH0gZWxz
ZQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
U3RhdGUuY3BwCmluZGV4IGE0NDgxM2YyNDQzMjAyMmM3NTA5NmEzNzIyNjFjYzc4OTljMTI5YmQu
Ljc4MTFkMWUzZjYwM2YzNjE4ZGIzODY1ZjMyZDgxM2IxMzMyYjU0NmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgQnVpbGRl
clN0YXRlOjpCdWlsZGVyU3RhdGUoQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyU3R5bGUmIHN0eWxl
LCBCdWlsZGVyQ29udGV4dCYKICAgICAsIG1fc3R5bGVNYXAoKnRoaXMpCiAgICAgLCBtX3N0eWxl
KHN0eWxlKQogICAgICwgbV9jb250ZXh0KFdURk1vdmUoY29udGV4dCkpCi0gICAgLCBtX2Nzc1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCByb290RWxlbWVudFN0eWxlKCksIGRvY3VtZW50
KCkucmVuZGVyVmlldygpKQorICAgICwgbV9jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHls
ZSwgcm9vdEVsZW1lbnRTdHlsZSgpLCAmcGFyZW50U3R5bGUoKSwgZG9jdW1lbnQoKS5yZW5kZXJW
aWV3KCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNmYxMjRmODVlZTdlOTM4Y2M1ZTFhOGY3ODA1NjAzOGZj
M2E4ZTI0Li5mYzdlMDNjYmY3NDQ2NWFiM2I4ZTMyZTlhMmY1ZDAzYjc5ZmQ3MmE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjAtMDQtMDQgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLXZhbHVlcy00XSBTdXBwb3J0IGZvbnQtcmVsYXRp
dmUgbGggYW5kIHJsaCB1bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTUxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIGZvbnQtcmVsYXRpdmUgJ2xoJyBh
bmQgJ3JsaCcgdW5pdHMuCisgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVz
LTQvI2ZvbnQtcmVsYXRpdmUtbGVuZ3RocworCiAyMDIwLTA0LTA0ICBQZW5nIExpdSAgPHBlbmcu
bGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5NSk6IEFTU0VSVElP
TiBGQUlMRUQ6IG1fdmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9u
ZSBzZWVuIHdpdGggVGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9TZXNzaW9uQ2F0ZWdv
cnlJT1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQ2YmU2ZjZjM2VhYTkzYWVk
YjlmZjYxOTliM2ViYWIyYjA1YzNmMjkuLmVmZTlhNWEyNzY0OGUxODFjZTgyMGJmODExOWExNTk3
ODVkM2U0NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA0LTA0ICBUeWxlciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisK
KyAgICAgICAgW2Nzcy12YWx1ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGgg
dW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1
MTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFz
cyBhbGwgJ2xoJyBhbmQgJ3JsaCcgdGVzdHMsIG1pbnVzIHRoZSAnMnJsaCBpbiBmb250LXNpemUg
b24gcm9vdCcgdGVzdCB3aGljaCBtYXkgYmUgYSBidWcgaW4gdGhlIHRlc3QgaXRzZWxmOiBodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMvMjIwNTUKKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0w
MDEtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAzLTMwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNlbGVjdG9ycyA0XSBBZGQgc3VwcG9ydCBmb3IgYDpp
cygpYCB3aXRoIHRoZSBzYW1lIGxvZ2ljIGZvciB0aGUgZXhpc3RpbmcgYDptYXRjaGVzKClgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBlYjE2OTMzYjhmYTg3YzU1M2UzOWQzZDRmNTZkMWI5M2JjNmUz
MWM3Li43Yzc2MTFkZWUyZmUzNzkzYzg3ZmNmNWY1NjIwNzYyMzhhZDk4ZWE2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTMxMTAsOCArMzExMCw4IEBAIHdlYmtpdC5vcmcvYi8yMDMzMzQgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0LTAwOS5oCiB3
ZWJraXQub3JnL2IvMjAzMzM0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaWMtdW5pdC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIwMzMzNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ljLXVuaXQtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDMz
MzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0
LTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAzMzM2IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtdW5pdC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzMzNiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXVuaXQtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMDMzMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC11bml0LTAwMS5odG1sIFsgUGFzcyBdCit3ZWJr
aXQub3JnL2IvMjAzMzM2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvbGgtdW5pdC0wMDIuaHRtbCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMzMzNyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL3ZoLXN1cHBvcnQtYXR2
aWV3cG9ydC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzM4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvdmhfbm90X3JlZnJl
c2hpbmdfb25fY2hyb21lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVl
cy9saC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEt
ZXhwZWN0ZWQudHh0CmluZGV4IDg4NGYxYjNkMWI3NzkzNzFkMTQxNTgzMmIwZjU1MmYxNjU3MDUx
NDYuLmFmZjk0NGJkNmMwNjc2ZTdhZDhlNmRhNTI1NzAyNWU0YTFlZDg3MTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1
ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290
LTAwMS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAKIMKgCiAKLUZBSUwgbGggaW4gbGlu
ZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhl
IHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRyaWNzIGNv
cnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxpbmUtaGVp
Z2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMTggKy8tIDEgYnV0IGdvdCAxNjQKLUZBSUwgcmxoIGlu
IGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBv
biB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAxOCArLy0gMSBidXQgZ290IDE2NAotRkFJTCBs
aCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIGxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgcmxo
IGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmlj
cyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5l
LWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgMmxo
IGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3Jr
cyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vz
bid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgMzYgKy8t
IDEgYnV0IGdvdCAxNjQKLUZBSUwgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9h
cHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVp
Z2h0IHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkg
Y2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGlu
dG8gYWNjb3VudCBleHBlY3RlZCAzNiArLy0gMSBidXQgZ290IDE2NAotRkFJTCAybGggaW4gZm9u
dC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRoZSBy
b290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0
IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRo
ZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDM2ICsvLSAxIGJ1dCBnb3Qg
MTYKLUZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczog
dGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0
dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNr
IHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVj
dGVkIDMyICsvLSAxIGJ1dCBnb3QgMTYKK1BBU1MgbGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCAK
K1BBU1MgcmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNTIGxoIGluIGZvbnQtc2l6ZSBv
biByb290IAorUEFTUyBybGggaW4gZm9udC1zaXplIG9uIHJvb3QgCitQQVNTIDJsaCBpbiBsaW5l
LWhlaWdodCBvbiByb290IAorUEFTUyAycmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNT
IDJsaCBpbiBmb250LXNpemUgb24gcm9vdCAKK0ZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9v
dCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQn
cyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0
IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2Yg
dW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDMyICsvLSAxIGJ1dCBnb3QgMzYKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290LTAwMS1leHBlY3RlZC50eHQKaW5kZXggZGZkZjY2
NjM0OTI3NzU5NjU3NDRhNjM1ZjExNWUxYzU5NjA1NTZiZS4uYWIxNGU1ZGUxZjg2NTVmY2Q3MWQw
Yjk5NTExM2IwMDZiNzhkMjlkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtcmxoLW9u
LXJvb3QtMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9v
dC0wMDEtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiDCoAogCi1GQUlMIGxoIGluIGxp
bmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRo
ZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9wZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBj
b3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVlcyBvZiB0aGUgZm9udCBvciBsaW5lLWhl
aWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDIwICsvLSAxIGJ1dCBnb3QgMTY1Ci1GQUlMIHJsaCBp
biBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IHVzZXMgZm9udCBtZXRy
aWNzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9mIHRoZSBmb250IG9yIGxp
bmUtaGVpZ2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMjAgKy8tIDEgYnV0IGdvdCAxNjUKLUZBSUwg
bGggaW4gZm9udC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAyMCArLy0gMSBidXQgZ290IDE2Ci1GQUlMIHJs
aCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgdXNlcyBmb250IG1ldHJp
Y3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgdGhlIGZvbnQgb3IgbGlu
ZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAyMCArLy0gMSBidXQgZ290IDE2Ci1GQUlMIDJs
aCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgbGggdW5p
dCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgYWN0dWFsbHkgd29y
a3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9l
c24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDQwICsv
LSAxIGJ1dCBnb3QgMTY1Ci1GQUlMIDJybGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRf
YXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhl
aWdodCBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5
IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBp
bnRvIGFjY291bnQgZXhwZWN0ZWQgNDAgKy8tIDEgYnV0IGdvdCAxNjUKLUZBSUwgMmxoIGluIGZv
bnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgbGggdW5pdCBvbiB0aGUg
cm9vdCBlbGVtZW50J3MgZm9udC1zaXplIHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5p
dCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0
aGUgbnVtYmVyIG9mIHVuaXRzIGludG8gYWNjb3VudCBleHBlY3RlZCA0MCArLy0gMSBidXQgZ290
IDE2Ci1GQUlMIDJybGggaW4gZm9udC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6
IHRoZSBybGggdW5pdCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgZm9udC1zaXplIHByb3BlcnR5IGFj
dHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1c2UgYSBmYWxsYmFj
ayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGludG8gYWNjb3VudCBleHBl
Y3RlZCAzMiArLy0gMSBidXQgZ290IDE2CitQQVNTIGxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3Qg
CitQQVNTIHJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IAorUEFTUyBsaCBpbiBmb250LXNpemUg
b24gcm9vdCAKK1BBU1MgcmxoIGluIGZvbnQtc2l6ZSBvbiByb290IAorUEFTUyAybGggaW4gbGlu
ZS1oZWlnaHQgb24gcm9vdCAKK1BBU1MgMnJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IAorUEFT
UyAybGggaW4gZm9udC1zaXplIG9uIHJvb3QgCitGQUlMIDJybGggaW4gZm9udC1zaXplIG9uIHJv
b3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBvbiB0aGUgcm9vdCBlbGVtZW50
J3MgZm9udC1zaXplIHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24n
dCBtZXJlbHkgY2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9m
IHVuaXRzIGludG8gYWNjb3VudCBleHBlY3RlZCAzMiArLy0gMSBidXQgZ290IDQwCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395653</attachid>
            <date>2020-04-06 22:03:07 -0700</date>
            <delta_ts>2020-04-07 21:45:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195180-20200407000306.patch</filename>
            <type>text/plain</type>
            <size>46754</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IyYjU1ZDVmNmViNzRh
MjhhMmQ2NjBmNTBiYWJiMGM5NTVhMGI2NC4uYjZmYjA4MjAxM2QzZmM3ZjA4ODVhOGI3ZjU1Y2M3
ZTRlNDZmOWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIwLTA0LTA0ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgW2Nzcy12YWx1
ZXMtNF0gU3VwcG9ydCBmb250LXJlbGF0aXZlIGxoIGFuZCBybGggdW5pdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9y
ICdsaCcgYW5kICdybGgnIHVuaXRzLgorICAgICAgICBodHRwczovL3d3dy53My5vcmcvVFIvY3Nz
LXZhbHVlcy00LyNmb250LXJlbGF0aXZlLWxlbmd0aHMKKworICAgICAgICAqIGNzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhbGNVbml0Q2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRpb25DYXRlZ29yeUZvckNvbWJpbmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Omhhc0RvdWJsZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTR3JhZGll
bnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpj
cmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSYWRpYWxHcmFkaWVudFZhbHVl
OjpjcmVhdGVHcmFkaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb25pY0dyYWRpZW50VmFs
dWU6OmNyZWF0ZUdyYWRpZW50KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjppc1N0cmluZ1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjp1bml0VHlwZVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Zm9ybWF0TnVtYmVyRm9yQ3VzdG9tQ1NTVGV4dCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0Q29tcHV0YXRpb25h
bERlcGVuZGVuY2llcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1
ZTo6Y29sbGVjdERpcmVjdFJvb3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzIGNvbnN0KToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjppc0ZvbnRSZWxhdGl2ZUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6aXNMZW5ndGgpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29u
dmVydGluZ1RvTGVuZ3RoUmVxdWlyZXNOb25OdWxsU3R5bGUgY29uc3QpOgorICAgICAgICAqIGNz
cy9DU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGE6OnZpZXdwb3J0V2lkdGhGYWN0b3IgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRIZWlnaHRGYWN0
b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6
dmlld3BvcnRNaW5GYWN0b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YTo6dmlld3BvcnRNYXhGYWN0b3IgY29uc3QpOgorICAgICAgICAqIGNzcy9D
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmg6IFJlcGxhY2UgYm9vbCAnbV9jb21wdXRpbmdGb250
U2l6ZScgd2l0aCBPcHRpb25hbDxDU1NQcm9wZXJ0eUlEPiB0aGF0IGluZGljYXRlcyB0aGUgcHJv
cGVydHkgYmVpbmcgY29tcHV0ZWQsIHdoZXJlIG5vbmUgbWVhbnMgdGhlIHByb3BlcnR5IGJlaW5n
IGNvbXB1dGVkIGlzIHVua25vd24gb3IgdW5pbXBvcnRhbnQgdG8ga25vdy4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGE6OkNTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGEpOiBBZGQgJ3BhcmVudFN0eWxlJyBwYXJhbWV0ZXIsIG5lY2Vzc2FyeSBmb3IgY2FsY3VsYXRp
bmcgbGgvcmxoIHVuaXQgdmFsdWVzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YTo6cGFyZW50U3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YTo6Y29tcHV0aW5nRm9udFNpemUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6Y29tcHV0aW5nTGluZUhlaWdodCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjpjb3B5
V2l0aEFkanVzdGVkWm9vbSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhOjpjb3B5V2l0aEFkanVzdGVkWm9vbUFuZFByb3BlcnR5VG9Db21wdXRlIGNv
bnN0KToKKyAgICAgICAgKiBjc3MvQ1NTVW5pdHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3Bl
cmF0b3I8PCk6CisgICAgICAgICogY3NzL0NTU1VuaXRzLmg6CisgICAgICAgICogY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeUV2YWx1YXRv
cjo6ZXZhbHVhdGUgY29uc3QpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyVG9rZW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3NzUHJpbWl0aXZlVmFsdWVVbml0RnJvbVRyaWUpOgor
ICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUxlbmd0aCk6Cisg
ICAgICAgICogY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTaXplc0F0dHJpYnV0ZVBhcnNlcjo6Y29tcHV0ZUxlbmd0aCk6CisgICAgICAgIChX
ZWJDb3JlOjpTaXplc0F0dHJpYnV0ZVBhcnNlcjo6ZWZmZWN0aXZlU2l6ZURlZmF1bHRWYWx1ZSk6
CisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRDb250cm9sSW5uZXJFbGVtZW50OjpyZXNvbHZlQ3VzdG9tU3R5
bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJFbGVtZW50OjpwYXJlbnRTdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbHlDb21tb25CdXR0
b25QYWRkaW5nVG9TdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6YWRq
dXN0QnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHA6IEV4dHJhY3QgJ2NvbXB1dGVkTGluZUhlaWdodCcgYmVoYXZpb3IgaW50byBzZXBh
cmF0ZSAnY29tcHV0ZUxpbmVIZWlnaHQnIGZ1bmN0aW9uIHNvIGxvZ2ljIGNhbiBiZSByZXVzZWQg
ZWxzZXdoZXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbXB1dGVkTGluZUhl
aWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29tcHV0ZUxpbmVI
ZWlnaHQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oOiBFeHRyYWN0IHpvb20gY2Fs
Y3VsYXRpb24gbG9naWMgb3V0IG9mICdjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0aFRleHRa
b29tRmFjdG9yJyBpbnRvIHNlcGFyYXRlICd6b29tV2l0aFRleHRab29tRmFjdG9yJyBmdW5jdGlv
biBzbyBsb2dpYyBjYW4gYmUgcmV1c2VkIGVsc2V3aGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjp6b29tV2l0aFRleHRab29tRmFjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpC
dWlsZGVyQ29udmVydGVyOjpjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0aFRleHRab29tRmFj
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0
TGluZUhlaWdodCk6CisgICAgICAgICogc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTaXplKToK
KyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZTo6QnVpbGRlclN0YXRlOjpCdWlsZGVyU3RhdGUpOgorCiAyMDIwLTA0LTA0ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1OTA5
NSk6IEFTU0VSVElPTiBGQUlMRUQ6IG1fdmlkZW9GdWxsc2NyZWVuTW9kZSAhPSBWaWRlb0Z1bGxz
Y3JlZW5Nb2RlTm9uZSBzZWVuIHdpdGggVGVzdFdlYktpdEFQSS5XZWJLaXRMZWdhY3kuQXVkaW9T
ZXNzaW9uQ2F0ZWdvcnlJT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxj
dWxhdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVl
LmNwcAppbmRleCA5YzBiYTYwYzljNDdjZThiMjBlMTIxMmIyYmRhYjRkMzUyMzM4YmJiLi40ODRj
Y2MzNjY0YWVhZWM3ZTFiMTljZTAxZjQ3NWE4MGNiNGUwMjJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCkBAIC04MCw2ICs4MCw4IEBAIHN0YXRpYyBDYWxj
dWxhdGlvbkNhdGVnb3J5IGNhbGNVbml0Q2F0ZWdvcnkoQ1NTVW5pdFR5cGUgdHlwZSkKICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfUFQ6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1BDOgog
ICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19M
SFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NVbml0VHlw
ZTo6Q1NTX1JFTVM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0NIUzoKICAgICBjYXNlIENT
U1VuaXRUeXBlOjpDU1NfVlc6CkBAIC0xMzMsNyArMTM1LDkgQEAgc3RhdGljIENhbGN1bGF0aW9u
Q2F0ZWdvcnkgY2FsY3VsYXRpb25DYXRlZ29yeUZvckNvbWJpbmF0aW9uKENTU1VuaXRUeXBlIHR5
cGUpCiAgICAgICAgIHJldHVybiBDYWxjdWxhdGlvbkNhdGVnb3J5OjpGcmVxdWVuY3k7CiAgICAg
Y2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VNUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRVhT
OgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JFTVM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX0NIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVlc6CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX1ZIOgpAQCAtMTk1LDYgKzE5OSw4IEBAIHN0YXRpYyBib29sIGhh
c0RvdWJsZVZhbHVlKENTU1VuaXRUeXBlIHR5cGUpCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NT
X0RQQ006CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0ZSOgogICAgIGNhc2UgQ1NTVW5pdFR5
cGU6OkNTU19ROgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgY2FzZSBDU1NV
bml0VHlwZTo6Q1NTX1JMSFM6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19VTktOT1dOOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19TVFJJTkc6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggOWNkMjM4ZjEwYzBhNWFl
Yzk2ZGIzMWNlM2YzZjNhZWI3NjEyNmMwMS4uMTQzMTFmNGFjZjBmMjhmYjQ1NzEwZTg1YjVhYzk3
MDA2NDExMGExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcApAQCAt
ODA3LDcgKzgwNyw3IEBAIFJlZjxHcmFkaWVudD4gQ1NTTGluZWFyR3JhZGllbnRWYWx1ZTo6Y3Jl
YXRlR3JhZGllbnQoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvCiB7CiAgICAgQVNTRVJUKCFz
aXplLmlzRW1wdHkoKSk7CiAKLSAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNp
b25EYXRhKCZyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJlci5kb2N1bWVudCgpLmRvY3VtZW50RWxl
bWVudCgpLT5yZW5kZXJTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKKyAgICBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZyZW5kZXJlci5zdHlsZSgpLCByZW5kZXJl
ci5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCByZW5kZXJlci5w
YXJlbnRTdHlsZSgpLCAmcmVuZGVyZXIudmlldygpKTsKIAogICAgIEZsb2F0UG9pbnQgZmlyc3RQ
b2ludDsKICAgICBGbG9hdFBvaW50IHNlY29uZFBvaW50OwpAQCAtMTA1Niw3ICsxMDU2LDcgQEAg
UmVmPEdyYWRpZW50PiBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjcmVhdGVHcmFkaWVudChSZW5k
ZXJFbGVtZW50JiByZW5kZXJlciwgY28KIHsKICAgICBBU1NFUlQoIXNpemUuaXNFbXB0eSgpKTsK
IAotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29udmVyc2lvbkRhdGEoJnJlbmRlcmVy
LnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0
eWxlKCksICZyZW5kZXJlci52aWV3KCkpOworICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEg
Y29udmVyc2lvbkRhdGEoJnJlbmRlcmVyLnN0eWxlKCksIHJlbmRlcmVyLmRvY3VtZW50KCkuZG9j
dW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCksIHJlbmRlcmVyLnBhcmVudFN0eWxlKCksICZy
ZW5kZXJlci52aWV3KCkpOwogCiAgICAgRmxvYXRQb2ludCBmaXJzdFBvaW50ID0gY29tcHV0ZUVu
ZFBvaW50KGZpcnN0WCgpLCBmaXJzdFkoKSwgY29udmVyc2lvbkRhdGEsIHNpemUpOwogICAgIGlm
ICghZmlyc3RYKCkpCkBAIC0xMjQ3LDcgKzEyNDcsNyBAQCBSZWY8R3JhZGllbnQ+IENTU0Nvbmlj
R3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNv
bgogewogICAgIEFTU0VSVCghc2l6ZS5pc0VtcHR5KCkpOwogCi0gICAgQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmcmVuZGVyZXIuc3R5bGUoKSwgcmVuZGVyZXIuZG9j
dW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5bGUoKSwgJnJlbmRlcmVyLnZpZXco
KSk7CisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmcmVuZGVy
ZXIuc3R5bGUoKSwgcmVuZGVyZXIuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVy
U3R5bGUoKSwgcmVuZGVyZXIucGFyZW50U3R5bGUoKSwgJnJlbmRlcmVyLnZpZXcoKSk7CiAKICAg
ICBGbG9hdFBvaW50IGNlbnRlclBvaW50ID0gY29tcHV0ZUVuZFBvaW50KGZpcnN0WCgpLCBmaXJz
dFkoKSwgY29udmVyc2lvbkRhdGEsIHNpemUpOwogICAgIGlmICghZmlyc3RYKCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCA3YjlhYTA3MDQzYjVhYzY4NjY2
ZTE1ZjIxZjdiY2IwMTRkMGQxY2ViLi4yMWUwNDBmNjIwM2YxNDJmODhiMTdlYzg1MjgyODFjNDlj
ZTIyY2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTcx
LDYgKzcxLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRDU1NVbml0VHlwZUZvckRvdWJs
ZUNvbnZlcnNpb24oQ1NTVW5pdFR5cGUgdW5pdFR5cGUpCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1BUOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19QWDoKICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfUToKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19STEhTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19RVUlSS1lfRU1T
OgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19SQUQ6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX1JFTVM6CkBAIC0xNDcsNiArMTQ5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzU3RyaW5n
VHlwZShDU1NVbml0VHlwZSB0eXBlKQogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19QVDoKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUFg6CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6
CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfUkxIUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUVVBRDoKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfUVVJUktZX0VNUzoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkFEOgpA
QCAtNTAyLDYgKzUwNiw4IEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXAoKQogICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19EUENNOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19G
UjoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUToKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfTEhTOgorICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgogICAgIGNhc2UgQ1NTVW5p
dFR5cGU6OkNTU19JREVOVDoKICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVU5LTk9XTjoKICAg
ICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVU5JQ09ERV9SQU5HRToKQEAgLTYzMSw2ICs2MzcsMjMg
QEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTm9uQ2FsY0xlbmd0aERvdWJsZShj
b25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb24KICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUToK
ICAgICAgICAgZmFjdG9yID0gY3NzUGl4ZWxzUGVySW5jaCAvIFFQZXJJbmNoOwogICAgICAgICBi
cmVhazsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfTEhTOgorICAgICAgICBBU1NFUlQoY29u
dmVyc2lvbkRhdGEuc3R5bGUoKSk7CisgICAgICAgIGlmIChjb252ZXJzaW9uRGF0YS5jb21wdXRp
bmdMaW5lSGVpZ2h0KCkgfHwgY29udmVyc2lvbkRhdGEuY29tcHV0aW5nRm9udFNpemUoKSkgewor
ICAgICAgICAgICAgLy8gVHJ5IHRvIGdldCB0aGUgcGFyZW50J3MgY29tcHV0ZWQgbGluZS1oZWln
aHQsIG9yIGZhbGwgYmFjayB0byB0aGUgaW5pdGlhbCBsaW5lLWhlaWdodCBvZiB0aGlzIGVsZW1l
bnQncyBmb250IHNwYWNpbmcuCisgICAgICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5w
YXJlbnRTdHlsZSgpID8gY29udmVyc2lvbkRhdGEucGFyZW50U3R5bGUoKS0+Y29tcHV0ZWRMaW5l
SGVpZ2h0KCkgOiBjb252ZXJzaW9uRGF0YS5zdHlsZSgpLT5mb250TWV0cmljcygpLmxpbmVTcGFj
aW5nKCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgZmFjdG9yID0gY29udmVyc2lvbkRh
dGEuc3R5bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQ1NTVW5pdFR5cGU6OkNTU19STEhTOgorICAgICAgICBpZiAoY29udmVyc2lvbkRhdGEucm9v
dFN0eWxlKCkpIHsKKyAgICAgICAgICAgIGlmIChjb252ZXJzaW9uRGF0YS5jb21wdXRpbmdMaW5l
SGVpZ2h0KCkgfHwgY29udmVyc2lvbkRhdGEuY29tcHV0aW5nRm9udFNpemUoKSkKKyAgICAgICAg
ICAgICAgICBmYWN0b3IgPSBjb252ZXJzaW9uRGF0YS5yb290U3R5bGUoKS0+Y29tcHV0ZUxpbmVI
ZWlnaHQoY29udmVyc2lvbkRhdGEucm9vdFN0eWxlKCktPnNwZWNpZmllZExpbmVIZWlnaHQoKSk7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZmFjdG9yID0gY29udmVyc2lvbkRh
dGEucm9vdFN0eWxlKCktPmNvbXB1dGVkTGluZUhlaWdodCgpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIGZhY3RvciA9IDEuMDsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0lOOgogICAgICAgICBmYWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoOwogICAgICAg
ICBicmVhazsKQEAgLTkyNSw2ICs5NDgsOCBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OnVu
aXRUeXBlU3RyaW5nKENTU1VuaXRUeXBlIHVuaXRUeXBlKQogICAgICAgICBjYXNlIENTU1VuaXRU
eXBlOjpDU1NfRFBDTTogcmV0dXJuICJkcGNtIjsKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0ZSOiByZXR1cm4gImZyIjsKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6IHJl
dHVybiAicSI7CisgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6IHJldHVybiAibGgi
OworICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxIUzogcmV0dXJuICJybGgiOwogICAg
ICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfVFVSTjogcmV0dXJuICJ0dXJuIjsKICAgICAgICAg
Y2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JFTVM6IHJldHVybiAicmVtIjsKICAgICAgICAgY2FzZSBD
U1NVbml0VHlwZTo6Q1NTX0NIUzogcmV0dXJuICJjaCI7CkBAIC0xMDEyLDYgKzEwMzcsMTAgQEAg
QUxXQVlTX0lOTElORSBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmZvcm1hdE51bWJlckZvckN1
c3RvbUNTU1RleHQoKSBjb25zdAogICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyVmFsdWUoImZy
Iik7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1E6CiAgICAgICAgIHJldHVybiBmb3JtYXRO
dW1iZXJWYWx1ZSgicSIpOworICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgICAg
IHJldHVybiBmb3JtYXROdW1iZXJWYWx1ZSgibGgiKTsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfUkxIUzoKKyAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlclZhbHVlKCJybGgiKTsKICAgICBj
YXNlIENTU1VuaXRUeXBlOjpDU1NfRElNRU5TSU9OOgogICAgICAgICAvLyBGSVhNRTogV2UgY3Vy
cmVudGx5IGRvbid0IGhhbmRsZSBDU1NVbml0VHlwZTo6Q1NTX0RJTUVOU0lPTiBwcm9wZXJseSBh
cyB3ZSBkb24ndCBzdG9yZQogICAgICAgICAvLyB0aGUgYWN0dWFsIGRpbWVuc2lvbiwganVzdCB0
aGUgbnVtZXJpYyB2YWx1ZSBhcyBhIHN0cmluZy4KQEAgLTExMzksNiArMTE2OCw4IEBAIGJvb2wg
Q1NTUHJpbWl0aXZlVmFsdWU6OmVxdWFscyhjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYgb3RoZXIp
IGNvbnN0CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1ZNQVg6CiAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0ZSOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19ROgorICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19MSFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CiAgICAg
ICAgIHJldHVybiBtX3ZhbHVlLm51bSA9PSBvdGhlci5tX3ZhbHVlLm51bTsKICAgICBjYXNlIENT
U1VuaXRUeXBlOjpDU1NfUFJPUEVSVFlfSUQ6CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eU5hbWUo
bV92YWx1ZS5wcm9wZXJ0eUlEKSA9PSBwcm9wZXJ0eU5hbWUob3RoZXIubV92YWx1ZS5wcm9wZXJ0
eUlEKTsKQEAgLTExODIsNyArMTIxMyw3IEBAIFJlZjxEZXByZWNhdGVkQ1NTT01QcmltaXRpdmVW
YWx1ZT4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZURlcHJlY2F0ZWRDU1NPTVByaW1pCiAgICAg
cmV0dXJuIERlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoKnRoaXMsIHN0eWxl
RGVjbGFyYXRpb24pOwogfQogCi0vLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3Nz
LXByb3BlcnRpZXMtdmFsdWVzLWFwaS8jZGVwZW5kZW5jeS1jeWNsZXMtdmlhLXJlbGF0aXZlLXVu
aXRzCisvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXByb3BlcnRpZXMtdmFs
dWVzLWFwaS8jZGVwZW5kZW5jeS1jeWNsZXMKIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbGxl
Y3REaXJlY3RDb21wdXRhdGlvbmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4m
IHZhbHVlcykgY29uc3QKIHsKICAgICBzd2l0Y2ggKHByaW1pdGl2ZVVuaXRUeXBlKCkpIHsKQEAg
LTExOTIsNiArMTIyMywxMCBAQCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpjb2xsZWN0RGlyZWN0
Q29tcHV0YXRpb25hbERlcGVuZGVuY2llcyhIYXNoU2V0PENTU1Byb3BlcgogICAgIGNhc2UgQ1NT
VW5pdFR5cGU6OkNTU19DSFM6CiAgICAgICAgIHZhbHVlcy5hZGQoQ1NTUHJvcGVydHlGb250U2l6
ZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAg
ICAgIHZhbHVlcy5hZGQoQ1NTUHJvcGVydHlGb250U2l6ZSk7CisgICAgICAgIHZhbHVlcy5hZGQo
Q1NTUHJvcGVydHlMaW5lSGVpZ2h0KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NVbml0
VHlwZTo6Q1NTX0NBTEM6CiAgICAgICAgIG1fdmFsdWUuY2FsYy0+Y29sbGVjdERpcmVjdENvbXB1
dGF0aW9uYWxEZXBlbmRlbmNpZXModmFsdWVzKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjA2LDYg
KzEyNDEsMTAgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29sbGVjdERpcmVjdFJvb3RDb21w
dXRhdGlvbmFsRGVwZW5kZW5jaWVzKEhhc2hTZXQ8Q1NTUHIKICAgICBjYXNlIENTU1VuaXRUeXBl
OjpDU1NfUkVNUzoKICAgICAgICAgdmFsdWVzLmFkZChDU1NQcm9wZXJ0eUZvbnRTaXplKTsKICAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JMSFM6CisgICAgICAgIHZh
bHVlcy5hZGQoQ1NTUHJvcGVydHlGb250U2l6ZSk7CisgICAgICAgIHZhbHVlcy5hZGQoQ1NTUHJv
cGVydHlMaW5lSGVpZ2h0KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NVbml0VHlwZTo6
Q1NTX0NBTEM6CiAgICAgICAgIG1fdmFsdWUuY2FsYy0+Y29sbGVjdERpcmVjdFJvb3RDb21wdXRh
dGlvbmFsRGVwZW5kZW5jaWVzKHZhbHVlcyk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAppbmRleCBjMjk4OTJjMmRkYzU3ODVlNWFmNmNlMTVmMDBi
OWMxMDgyYTA3NTRlLi4yNTYwYTZiODI0NWYzZDJkM2FmNDFlNzI0M2MxMjk5MGU1OWI1OGYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaApAQCAtMjYwLDYgKzI2MCw4IEBA
IGlubGluZSBib29sIENTU1ByaW1pdGl2ZVZhbHVlOjppc0ZvbnRSZWxhdGl2ZUxlbmd0aChDU1NV
bml0VHlwZSB0eXBlKQogewogICAgIHJldHVybiB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfRU1T
CiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19FWFMKKyAgICAgICAgfHwgdHlw
ZSA9PSBDU1NVbml0VHlwZTo6Q1NTX0xIUworICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBl
OjpDU1NfUkxIUwogICAgICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUkVNUwogICAg
ICAgICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfQ0hTCiAgICAgICAgIHx8IHR5cGUgPT0g
Q1NTVW5pdFR5cGU6OkNTU19RVUlSS1lfRU1TOwpAQCAtMjcxLDYgKzI3Myw4IEBAIGlubGluZSBi
b29sIENTU1ByaW1pdGl2ZVZhbHVlOjppc0xlbmd0aChDU1NVbml0VHlwZSB0eXBlKQogICAgICAg
ICB8fCB0eXBlID09IENTU1VuaXRUeXBlOjpDU1NfUkVNUwogICAgICAgICB8fCB0eXBlID09IENT
U1VuaXRUeXBlOjpDU1NfQ0hTCiAgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19R
CisgICAgICAgIHx8IHR5cGUgPT0gQ1NTVW5pdFR5cGU6OkNTU19MSFMKKyAgICAgICAgfHwgdHlw
ZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1JMSFMKICAgICAgICAgfHwgaXNWaWV3cG9ydFBlcmNlbnRh
Z2VMZW5ndGgodHlwZSkKICAgICAgICAgfHwgdHlwZSA9PSBDU1NVbml0VHlwZTo6Q1NTX1FVSVJL
WV9FTVM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAppbmRleCA3YjYyMDVkZWIwMDFkOGViNjFkN2I3MDM3NzMxMTExNjY4OTk0Y2Q1Li4xY2Qx
MDg0MmU5ZGEwY2U3N2IyODcxYzExNTMzYjkzMmEwY2I4NWJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTQ1MTQsNiArNDUxNCw3IEBA
IGlubGluZSBib29sIENTU1ByaW1pdGl2ZVZhbHVlOjpjb252ZXJ0aW5nVG9MZW5ndGhSZXF1aXJl
c05vbk51bGxTdHlsZShpbnQgbGVuZ3RoCiAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0VNUzoK
ICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfRVhTOgogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19DSFM6CisgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX0xIUzoKICAgICAgICAgcmV0dXJuIGxl
bmd0aENvbnZlcnNpb24gJiAoRml4ZWRJbnRlZ2VyQ29udmVyc2lvbiB8IEZpeGVkRmxvYXRDb252
ZXJzaW9uKTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5jcHAKaW5kZXggYjU2Mjc0
NzQ3MGEzYTVkYjE2MWE2MDc0MTUyYTU1ZjRjZTk3ZjY3OS4uNWQ0NTVmOGZkYWFiOWIxNTEwMGRl
Mjc0NWZiMmRhMGMyOTE0MjIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb0xl
bmd0aENvbnZlcnNpb25EYXRhLmNwcApAQCAtNDUsNyArNDUsNyBAQCBmbG9hdCBDU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhOjp6b29tKCkgY29uc3QKIAogZG91YmxlIENTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGE6OnZpZXdwb3J0V2lkdGhGYWN0b3IoKSBjb25zdAogewotICAgIGlmIChtX3N0eWxl
ICYmICFtX2NvbXB1dGluZ0ZvbnRTaXplKQorICAgIGlmIChtX3N0eWxlICYmICFjb21wdXRpbmdG
b250U2l6ZSgpKQogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclN0eWxlKj4obV9zdHlsZSktPnNl
dEhhc1ZpZXdwb3J0VW5pdHMoKTsKIAogICAgIGlmICghbV9yZW5kZXJWaWV3KQpAQCAtNTYsNyAr
NTYsNyBAQCBkb3VibGUgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YTo6dmlld3BvcnRXaWR0aEZh
Y3RvcigpIGNvbnN0CiAKIGRvdWJsZSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9y
dEhlaWdodEZhY3RvcigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3R5bGUgJiYgIW1fY29tcHV0aW5n
Rm9udFNpemUpCisgICAgaWYgKG1fc3R5bGUgJiYgIWNvbXB1dGluZ0ZvbnRTaXplKCkpCiAgICAg
ICAgIGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihtX3N0eWxlKS0+c2V0SGFzVmlld3BvcnRVbml0
cygpOwogCiAgICAgaWYgKCFtX3JlbmRlclZpZXcpCkBAIC02Nyw3ICs2Nyw3IEBAIGRvdWJsZSBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydEhlaWdodEZhY3RvcigpIGNvbnN0CiAK
IGRvdWJsZSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhOjp2aWV3cG9ydE1pbkZhY3RvcigpIGNv
bnN0CiB7Ci0gICAgaWYgKG1fc3R5bGUgJiYgIW1fY29tcHV0aW5nRm9udFNpemUpCisgICAgaWYg
KG1fc3R5bGUgJiYgIWNvbXB1dGluZ0ZvbnRTaXplKCkpCiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVu
ZGVyU3R5bGUqPihtX3N0eWxlKS0+c2V0SGFzVmlld3BvcnRVbml0cygpOwogCiAgICAgaWYgKCFt
X3JlbmRlclZpZXcpCkBAIC03OSw3ICs3OSw3IEBAIGRvdWJsZSBDU1NUb0xlbmd0aENvbnZlcnNp
b25EYXRhOjp2aWV3cG9ydE1pbkZhY3RvcigpIGNvbnN0CiAKIGRvdWJsZSBDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhOjp2aWV3cG9ydE1heEZhY3RvcigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc3R5
bGUgJiYgIW1fY29tcHV0aW5nRm9udFNpemUpCisgICAgaWYgKG1fc3R5bGUgJiYgIWNvbXB1dGlu
Z0ZvbnRTaXplKCkpCiAgICAgICAgIGNvbnN0X2Nhc3Q8UmVuZGVyU3R5bGUqPihtX3N0eWxlKS0+
c2V0SGFzVmlld3BvcnRVbml0cygpOwogCiAgICAgaWYgKCFtX3JlbmRlclZpZXcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuaAppbmRleCAxYjQzNGE4
MTA4NDA2YjNmY2M5ODU1MzQ5NjAwNjk5YjJkNGI0Yzc0Li42NDk1ZDg1NmVkNjEyNjRiNGRjNTE2
ZGJiYWU5YmEwMTBiYWNkMTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb0xlbmd0
aENvbnZlcnNpb25EYXRhLmgKQEAgLTMwLDcgKzMwLDkgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNp
bmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
KyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSwzNiArNDEsNDAgQEAgY2xhc3MgUmVuZGVyVmlldzsKIAogY2xhc3MgQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSB7CiBwdWJsaWM6Ci0gICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YShjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0
IFJlbmRlclZpZXcqIHJlbmRlclZpZXcsIGZsb2F0IHpvb20sIGJvb2wgY29tcHV0aW5nRm9udFNp
emUgPSBmYWxzZSkKKyAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgY29uc3QgUmVuZGVyU3R5
bGUqIHBhcmVudFN0eWxlLCBjb25zdCBSZW5kZXJWaWV3KiByZW5kZXJWaWV3LCBmbG9hdCB6b29t
LCBPcHRpb25hbDxDU1NQcm9wZXJ0eUlEPiBwcm9wZXJ0eVRvQ29tcHV0ZSA9IFdURjo6bnVsbG9w
dCkKICAgICAgICAgOiBtX3N0eWxlKHN0eWxlKQogICAgICAgICAsIG1fcm9vdFN0eWxlKHJvb3RT
dHlsZSkKKyAgICAgICAgLCBtX3BhcmVudFN0eWxlKHBhcmVudFN0eWxlKQogICAgICAgICAsIG1f
cmVuZGVyVmlldyhyZW5kZXJWaWV3KQogICAgICAgICAsIG1fem9vbSh6b29tKQogICAgICAgICAs
IG1fdXNlRWZmZWN0aXZlWm9vbShmYWxzZSkKLSAgICAgICAgLCBtX2NvbXB1dGluZ0ZvbnRTaXpl
KGNvbXB1dGluZ0ZvbnRTaXplKQorICAgICAgICAsIG1fcHJvcGVydHlUb0NvbXB1dGUocHJvcGVy
dHlUb0NvbXB1dGUpCiAgICAgewogICAgICAgICBBU1NFUlQoem9vbSA+IDApOwogICAgIH0KIAot
ICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBj
b25zdCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBjb25zdCBSZW5kZXJWaWV3KiByZW5kZXJWaWV3
LCBib29sIGNvbXB1dGluZ0ZvbnRTaXplID0gZmFsc2UpCisgICAgQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiByb290
U3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyVmlldyog
cmVuZGVyVmlldywgT3B0aW9uYWw8Q1NTUHJvcGVydHlJRD4gcHJvcGVydHlUb0NvbXB1dGUgPSBX
VEY6Om51bGxvcHQpCiAgICAgICAgIDogbV9zdHlsZShzdHlsZSkKICAgICAgICAgLCBtX3Jvb3RT
dHlsZShyb290U3R5bGUpCisgICAgICAgICwgbV9wYXJlbnRTdHlsZShwYXJlbnRTdHlsZSkKICAg
ICAgICAgLCBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKICAgICAgICAgLCBtX3pvb20oMSkKICAg
ICAgICAgLCBtX3VzZUVmZmVjdGl2ZVpvb20odHJ1ZSkKLSAgICAgICAgLCBtX2NvbXB1dGluZ0Zv
bnRTaXplKGNvbXB1dGluZ0ZvbnRTaXplKQorICAgICAgICAsIG1fcHJvcGVydHlUb0NvbXB1dGUo
cHJvcGVydHlUb0NvbXB1dGUpCiAgICAgewogICAgIH0KIAogICAgIENTU1RvTGVuZ3RoQ29udmVy
c2lvbkRhdGEoKQotICAgICAgICA6IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEobnVsbHB0ciwg
bnVsbHB0ciwgbnVsbHB0cikKKyAgICAgICAgOiBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKG51
bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpCiAgICAgewogICAgIH0KIAogICAgIGNv
bnN0IFJlbmRlclN0eWxlKiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0KICAgICBj
b25zdCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9yb290U3R5bGU7
IH0KKyAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUoKSBjb25zdCB7IHJldHVybiBt
X3BhcmVudFN0eWxlOyB9CiAgICAgZmxvYXQgem9vbSgpIGNvbnN0OwotICAgIGJvb2wgY29tcHV0
aW5nRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGluZ0ZvbnRTaXplOyB9CisgICAg
Ym9vbCBjb21wdXRpbmdGb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydHlUb0NvbXB1
dGUgPT0gQ1NTUHJvcGVydHlGb250U2l6ZTsgfQorICAgIGJvb2wgY29tcHV0aW5nTGluZUhlaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydHlUb0NvbXB1dGUgPT0gQ1NTUHJvcGVydHlMaW5l
SGVpZ2h0OyB9CiAKICAgICBkb3VibGUgdmlld3BvcnRXaWR0aEZhY3RvcigpIGNvbnN0OwogICAg
IGRvdWJsZSB2aWV3cG9ydEhlaWdodEZhY3RvcigpIGNvbnN0OwpAQCAtNzcsMTYgKzgzLDIyIEBA
IHB1YmxpYzoKIAogICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEgY29weVdpdGhBZGp1c3Rl
ZFpvb20oZmxvYXQgbmV3Wm9vbSkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBDU1NUb0xl
bmd0aENvbnZlcnNpb25EYXRhKG1fc3R5bGUsIG1fcm9vdFN0eWxlLCBtX3JlbmRlclZpZXcsIG5l
d1pvb20sIG1fY29tcHV0aW5nRm9udFNpemUpOworICAgICAgICByZXR1cm4gQ1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YShtX3N0eWxlLCBtX3Jvb3RTdHlsZSwgbV9wYXJlbnRTdHlsZSwgbV9yZW5k
ZXJWaWV3LCBuZXdab29tLCBtX3Byb3BlcnR5VG9Db21wdXRlKTsKKyAgICB9CisKKyAgICBDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhIGNvcHlXaXRoQWRqdXN0ZWRab29tQW5kUHJvcGVydHlUb0Nv
bXB1dGUoZmxvYXQgem9vbSwgT3B0aW9uYWw8Q1NTUHJvcGVydHlJRD4gcHJvcGVydHlUb0NvbXB1
dGUpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0
YShtX3N0eWxlLCBtX3Jvb3RTdHlsZSwgbV9wYXJlbnRTdHlsZSwgbV9yZW5kZXJWaWV3LCB6b29t
LCBwcm9wZXJ0eVRvQ29tcHV0ZSk7CiAgICAgfQogCiBwcml2YXRlOgogICAgIGNvbnN0IFJlbmRl
clN0eWxlKiBtX3N0eWxlOwogICAgIGNvbnN0IFJlbmRlclN0eWxlKiBtX3Jvb3RTdHlsZTsKKyAg
ICBjb25zdCBSZW5kZXJTdHlsZSogbV9wYXJlbnRTdHlsZTsKICAgICBjb25zdCBSZW5kZXJWaWV3
KiBtX3JlbmRlclZpZXc7CiAgICAgZmxvYXQgbV96b29tOwogICAgIGJvb2wgbV91c2VFZmZlY3Rp
dmVab29tOwotICAgIGJvb2wgbV9jb21wdXRpbmdGb250U2l6ZTsKKyAgICBPcHRpb25hbDxDU1NQ
cm9wZXJ0eUlEPiBtX3Byb3BlcnR5VG9Db21wdXRlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NVbml0cy5jcHAKaW5kZXggMWZjNmRkMmQ4MDk0NmRlMGFlZmU2ODE1
ZDQxOTg4OWZkNzViMDY4Ny4uMWQ0ZDIxMTc5NDdmY2U2NGZlYzM0NzM0MzAwM2IwMGI2YzczYzJm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1VuaXRzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuY3BwCkBAIC0xNDIsNiArMTQyLDggQEAgVGV4dFN0cmVh
bSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgQ1NTVW5pdFR5cGUgdW5pdFR5cGUpCiAgICAg
Y2FzZSBDU1NVbml0VHlwZTo6Q1NTX0RQQ006IHRzIDw8ICJkcGNtIjsgYnJlYWs7CiAgICAgY2Fz
ZSBDU1NVbml0VHlwZTo6Q1NTX0ZSOiB0cyA8PCAiZnIiOyBicmVhazsKICAgICBjYXNlIENTU1Vu
aXRUeXBlOjpDU1NfUTogdHMgPDwgInEiOyBicmVhazsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpD
U1NfTEhTOiB0cyA8PCAibGgiOyBicmVhazsKKyAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUkxI
UzogdHMgPDwgInJsaCI7IGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19QQUlSOiB0
cyA8PCAicGFpciI7IGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19VTklDT0RFX1JB
TkdFOiB0cyA8PCAidW5pY29kZV9yYW5nZSI7IGJyZWFrOwogICAgIGNhc2UgQ1NTVW5pdFR5cGU6
OkNTU19UVVJOOiB0cyA8PCAidHVybiI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1VuaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuaAppbmRleCAy
MzgwZmFiZjQzY2MxMWE5M2ZiYzIwOWQzOGE3NzYyZGE4NWJjYjJmLi5mMDYzM2QwODMwNmNkYzRm
MWIwMDFjNTRmMjIzM2Q4Y2Y4YzllY2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVW5pdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5pdHMuaApAQCAtNjMsNiAr
NjMsOCBAQCBlbnVtIGNsYXNzIENTU1VuaXRUeXBlIDogdWludDhfdCB7CiAgICAgQ1NTX0RQQ00g
PSAzMiwKICAgICBDU1NfRlIgPSAzMywKICAgICBDU1NfUSA9IDM0LAorICAgIENTU19MSFMgPSAz
NSwKKyAgICBDU1NfUkxIUyA9IDM2LAogICAgIENTU19QQUlSID0gMTAwLCAvLyBXZSBlbnZpc2lv
biB0aGlzIGJlaW5nIGV4cG9zZWQgYXMgYSBtZWFucyBvZiBnZXR0aW5nIGNvbXB1dGVkIHN0eWxl
IHZhbHVlcyBmb3IgcGFpcnMgKGJvcmRlci1zcGFjaW5nL3JhZGl1cywgYmFja2dyb3VuZC1wb3Np
dGlvbiwgZXRjLikKICAgICBDU1NfVU5JQ09ERV9SQU5HRSA9IDEwMiwKICAgICBDU1NfVFVSTiA9
IDEwNywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA3
YTNhYWRlNWQyNzg0ZmJkMjMzNDczYjE1MmJlZjVkOGRhM2IxMmVjLi44MTE4YjdhYjNjNTBiM2Nl
ZDgxMjBmYzEwNmRjZTljNzMxNDFhZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnlFdmFsdWF0b3IuY3BwCkBAIC04OTksNyArODk5LDkgQEAgYm9vbCBNZWRpYVF1ZXJ5RXZhbHVh
dG9yOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5RXhwcmVzc2lvbiYgZXhwcmVzc2lvbikgY29u
c3QKIAogICAgIGlmICghZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICByZXR1cm4gZnVuY3Rpb24oZXhwcmVzc2lvbi52YWx1ZSgpLCB7IG1fc3R5
bGUsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpLCBkb2N1bWVudC5y
ZW5kZXJWaWV3KCksIDEsIGZhbHNlIH0sICpmcmFtZSwgTm9QcmVmaXgpOworICAgIAorICAgIC8v
IFBhc3MgYG51bGxwdHJgIGZvciBgcGFyZW50U3R5bGVgIGJlY2F1c2Ugd2UgYXJlIGluIHRoZSBj
b250ZXh0IG9mIGEgbWVkaWEgcXVlcnkuCisgICAgcmV0dXJuIGZ1bmN0aW9uKGV4cHJlc3Npb24u
dmFsdWUoKSwgeyBtX3N0eWxlLCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyU3R5
bGUoKSwgbnVsbHB0ciwgZG9jdW1lbnQucmVuZGVyVmlldygpLCAxLCBXVEY6Om51bGxvcHQgfSwg
KmZyYW1lLCBOb1ByZWZpeCk7CiB9CiAKIGJvb2wgTWVkaWFRdWVyeUV2YWx1YXRvcjo6bWVkaWFB
dHRyaWJ1dGVNYXRjaGVzKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1
dGVWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
VG9rZW4uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHAK
aW5kZXggZjViMjQ5OTNlZjIyMjgxYzE4MTVmZjFmZjFhMjA2MWUwNDJkMTg3ZS4uNzUwOWZkODJh
OTdmM2I1MGNkZTgwZmJkYzY1NDVjZWZkZDE5YTlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXJUb2tlbi5jcHAKQEAgLTgzLDYgKzgzLDEwIEBAIENTU1VuaXRUeXBl
IGNzc1ByaW1pdGl2ZVZhbHVlVW5pdEZyb21UcmllKGNvbnN0IENoYXJhY3RlclR5cGUqIGRhdGEs
IHVuc2lnbmVkIGxlCiAgICAgICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMV0pID09ICdu
JykKICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTVW5pdFR5cGU6OkNTU19JTjsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlICdsJzoKKyAgICAgICAgICAgIGlmICh0b0FTQ0lJTG93
ZXIoZGF0YVsxXSkgPT0gJ2gnKQorICAgICAgICAgICAgICAgIHJldHVybiBDU1NVbml0VHlwZTo6
Q1NTX0xIUzsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICdtJzoKICAgICAgICAg
ICAgIHN3aXRjaCAodG9BU0NJSUxvd2VyKGRhdGFbMV0pKSB7CiAgICAgICAgICAgICBjYXNlICdt
JzoKQEAgLTEzOSw2ICsxNDMsMTAgQEAgQ1NTVW5pdFR5cGUgY3NzUHJpbWl0aXZlVmFsdWVVbml0
RnJvbVRyaWUoY29uc3QgQ2hhcmFjdGVyVHlwZSogZGF0YSwgdW5zaWduZWQgbGUKICAgICAgICAg
ICAgICAgICBpZiAodG9BU0NJSUxvd2VyKGRhdGFbMl0pID09ICdtJykKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIENTU1VuaXRUeXBlOjpDU1NfUkVNUzsKICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGNhc2UgJ2wnOgorICAgICAgICAgICAgICAgIGlmICh0b0FTQ0lJTG93
ZXIoZGF0YVsyXSkgPT0gJ2gnKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ1NTVW5pdFR5
cGU6OkNTU19STEhTOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAg
ICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKaW5kZXggODFmMTVlNGZlNWM4ODY3MjUzOTNl
NzhjZjU4NjQ2Y2NlOTg2MjkyMC4uMzg3ZTU5ODI5YmM4ZDI2NDcxZmE2ZDFhOGRmZjAzYjdkMDM3
ZjAwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlckhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXJIZWxwZXJzLmNwcApAQCAtMjUzLDYgKzI1Myw4IEBAIFJlZlB0cjxDU1NQcmltaXRp
dmVWYWx1ZT4gY29uc3VtZUxlbmd0aChDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTUGFy
c2VyTW9kCiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAgICAgY2FzZSBDU1NVbml0VHlw
ZTo6Q1NTX0VNUzoKICAgICAgICAgY2FzZSBDU1NVbml0VHlwZTo6Q1NTX1JFTVM6CisgICAgICAg
IGNhc2UgQ1NTVW5pdFR5cGU6OkNTU19MSFM6CisgICAgICAgIGNhc2UgQ1NTVW5pdFR5cGU6OkNT
U19STEhTOgogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfQ0hTOgogICAgICAgICBjYXNl
IENTU1VuaXRUeXBlOjpDU1NfRVhTOgogICAgICAgICBjYXNlIENTU1VuaXRUeXBlOjpDU1NfUFg6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIu
Y3BwCmluZGV4IDQ4OTQyNDBjMjUyZDdmODc5NTA3YmMxZmM4N2RkODU2MjZjYzBhZmIuLjY0OGI0
OWEzOWY1OWFiZTg3N2MxYmE4NDlmMTU5Yzg4Mzg1MWE0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCkBAIC01MSw4ICs1MSw3
IEBAIGZsb2F0IFNpemVzQXR0cmlidXRlUGFyc2VyOjpjb21wdXRlTGVuZ3RoKGRvdWJsZSB2YWx1
ZSwgQ1NTVW5pdFR5cGUgdHlwZSwgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAgICAgYXV0byYg
c3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKIAotICAgIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGEgY29udmVyc2lvbkRhdGEoJnN0eWxlLCAmc3R5bGUsIHJlbmRlcmVyKTsKLSAgICAKKyAgICBD
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZzdHlsZSwgJnN0eWxlLCBy
ZW5kZXJlci0+cGFyZW50U3R5bGUoKSwgcmVuZGVyZXIpOwogICAgIC8vIEJlY2F1c2Ugd2UgZXZh
bHVhdGUgInNpemVzIiBhdCBwYXJzZSB0aW1lIChiZWZvcmUgc3R5bGUgaGFzIGJlZW4gcmVzb2x2
ZWQpLCB0aGUgZm9udCBtZXRyaWNzIHVzZWQgZm9yIHRoZXNlIHNwZWNpZmljIHVuaXRzCiAgICAg
Ly8gYXJlIG5vdCBhdmFpbGFibGUuIFRoZSBmb250IHNlbGVjdG9yJ3MgaW50ZXJuYWwgY29uc2lz
dGVuY3kgaXNuJ3QgZ3VhcmFudGVlZCBqdXN0IHlldCwgc28gd2UgY2FuIGp1c3QgdGVtcG9yYXJp
bHkgY2xlYXIKICAgICAvLyB0aGUgcG9pbnRlciB0byBpdCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRo
ZSB1bml0IGV2YWx1YXRpb24uIFRoaXMgaXMgYWNjZXB0aWJsZSBiZWNhdXNlIHRoZSBzdHlsZSBh
bHdheXMgY29tZXMgZnJvbSB0aGUKQEAgLTY1LDcgKzY0LDYgQEAgZmxvYXQgU2l6ZXNBdHRyaWJ1
dGVQYXJzZXI6OmNvbXB1dGVMZW5ndGgoZG91YmxlIHZhbHVlLCBDU1NVbml0VHlwZSB0eXBlLCBj
b25zdAogICAgICAgICBzdHlsZS5mb250Q2FzY2FkZSgpLnVwZGF0ZShmb250U2VsZWN0b3IuZ2V0
KCkpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKICAgICByZXR1cm4gY2xh
bXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91Ymxl
KGNvbnZlcnNpb25EYXRhLCB0eXBlLCB2YWx1ZSkpOwogfQogICAgIApAQCAtMTU5LDcgKzE1Nyw3
IEBAIHVuc2lnbmVkIFNpemVzQXR0cmlidXRlUGFyc2VyOjplZmZlY3RpdmVTaXplRGVmYXVsdFZh
bHVlKCkKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gMDsKICAgICBhdXRvJiBz
dHlsZSA9IHJlbmRlcmVyLT5zdHlsZSgpOwotICAgIHJldHVybiBjbGFtcFRvPGZsb2F0PihDU1NQ
cmltaXRpdmVWYWx1ZTo6Y29tcHV0ZU5vbkNhbGNMZW5ndGhEb3VibGUoeyAmc3R5bGUsICZzdHls
ZSwgcmVuZGVyZXIgfSwgQ1NTVW5pdFR5cGU6OkNTU19WVywgMTAwLjApKTsKKyAgICByZXR1cm4g
Y2xhbXBUbzxmbG9hdD4oQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVOb25DYWxjTGVuZ3RoRG91
YmxlKHsgJnN0eWxlLCAmc3R5bGUsIHJlbmRlcmVyLT5wYXJlbnRTdHlsZSgpLCByZW5kZXJlciB9
LCBDU1NVbml0VHlwZTo6Q1NTX1ZXLCAxMDAuMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElu
bmVyRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJ
bm5lckVsZW1lbnRzLmNwcAppbmRleCA2NmUxMmRjOWVhOTU3OTY3NzkzZDRjY2FkZDdlMzk4Mzli
MTIxM2FmLi5mZGQyMDNmYjEyYzRkZDZlOTY5ZDFiNjgwODZlNjExMjVlZGVlMGI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVt
ZW50cy5jcHAKQEAgLTEyMSw5ICsxMjEsOSBAQCBPcHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxl
PiBUZXh0Q29udHJvbElubmVyRWxlbWVudDo6cmVzb2x2ZUN1c3RvbVN0eWxlKGNvbnN0CiAKICAg
ICAgICAgLy8gU2V0ICJmbGV4LWJhc2lzOiAxZW0iLiBOb3RlIHRoYXQgQ1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGhJbnQoKSBvbmx5IG5lZWRzIHRoZSBlbGVtZW50J3MKICAgICAgICAg
Ly8gc3R5bGUgdG8gY2FsY3VsYXRlIGVtIGxlbmd0aHMuIFNpbmNlIHRoZSBlbGVtZW50IG1pZ2h0
IG5vdCBiZSBpbiBhIGRvY3VtZW50LCBqdXN0IHBhc3MgbnVsbHB0cgotICAgICAgICAvLyBmb3Ig
dGhlIHJvb3QgZWxlbWVudCBzdHlsZSBhbmQgdGhlIHJlbmRlciB2aWV3LgorICAgICAgICAvLyBm
b3IgdGhlIHJvb3QgZWxlbWVudCBzdHlsZSwgdGhlIHBhcmVudCBlbGVtZW50IHN0eWxlLCBhbmQg
dGhlIHJlbmRlciB2aWV3LgogICAgICAgICBhdXRvIGVtU2l6ZSA9IENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUoMSwgQ1NTVW5pdFR5cGU6OkNTU19FTVMpOwotICAgICAgICBpbnQgcGl4ZWxzID0g
ZW1TaXplLT5jb21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSB7IG5l
d1N0eWxlLmdldCgpLCBudWxscHRyLCBudWxscHRyLCAxLjAsIGZhbHNlIH0pOworICAgICAgICBp
bnQgcGl4ZWxzID0gZW1TaXplLT5jb21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YSB7IG5ld1N0eWxlLmdldCgpLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCAxLjAs
IFdURjo6bnVsbG9wdCB9KTsKICAgICAgICAgbmV3U3R5bGUtPnNldEZsZXhCYXNpcyhMZW5ndGgg
eyBwaXhlbHMsIEZpeGVkIH0pOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmgKaW5kZXggNTcyYTVhNDM3ZTY5ZTIwZTUyMTY0NDg3ZmI2ZmJjYTM3YmY3MTBl
ZC4uNDM0MTAzYzY4NzY3OTU2NjZkOWFlMTkzMmNkZjYyYzkzN2EwNTQ0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGhhc0luaXRpYWxpemVkU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX2hhc0luaXRp
YWxpemVkU3R5bGU7IH0KIAogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc3R5bGU7IH0KKyAgICBjb25zdCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUoKSBj
b25zdCB7IHJldHVybiAhbV9wYXJlbnQgPyBudWxscHRyIDogJm1fcGFyZW50LT5zdHlsZSgpOyB9
CiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIGZpcnN0TGluZVN0eWxlKCkgY29uc3Q7CiAKICAgICAv
LyBGSVhNRTogU3R5bGUgc2hvdWxkbid0IGJlIG11dGF0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggMTJmZDdmZmYyZmQ5MjdhMmYwZTI3YThjMGU3
YjNkYzRmOTBiYzcwZi4uMjc1NDhiMTczYjc2MzBjYzM0ZGFiODQzMDJkYjA4YmNkYmU4ODRjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAtNTYzLDcg
KzU2Myw4IEBAIHN0YXRpYyB2b2lkIGFwcGx5Q29tbW9uQnV0dG9uUGFkZGluZ1RvU3R5bGUoUmVu
ZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50JiBlCiB7CiAgICAgRG9jdW1lbnQmIGRvY3Vt
ZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOwogICAgIGF1dG8gZW1TaXplID0gQ1NTUHJpbWl0aXZl
VmFsdWU6OmNyZWF0ZSgwLjUsIENTU1VuaXRUeXBlOjpDU1NfRU1TKTsKLSAgICBpbnQgcGl4ZWxz
ID0gZW1TaXplLT5jb21wdXRlTGVuZ3RoPGludD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgm
c3R5bGUsIGRvY3VtZW50LnJlbmRlclN0eWxlKCksIGRvY3VtZW50LnJlbmRlclZpZXcoKSwgZG9j
dW1lbnQuZnJhbWUoKS0+cGFnZVpvb21GYWN0b3IoKSkpOworICAgIC8vIFdlIGRvbid0IG5lZWQg
dGhpcyBlbGVtZW50J3MgcGFyZW50IHN0eWxlIHRvIGNhbGN1bGF0ZSBgZW1gIHVuaXRzLCBzbyBp
dCdzIG9rYXkgdG8gcGFzcyBudWxscHRyIGZvciBpdCBoZXJlLgorICAgIGludCBwaXhlbHMgPSBl
bVNpemUtPmNvbXB1dGVMZW5ndGg8aW50PihDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCZzdHls
ZSwgZG9jdW1lbnQucmVuZGVyU3R5bGUoKSwgbnVsbHB0ciwgZG9jdW1lbnQucmVuZGVyVmlldygp
LCBkb2N1bWVudC5mcmFtZSgpLT5wYWdlWm9vbUZhY3RvcigpKSk7CiAgICAgc3R5bGUuc2V0UGFk
ZGluZ0JveChMZW5ndGhCb3goMCwgcGl4ZWxzLCAwLCBwaXhlbHMpKTsKIH0KIApAQCAtMTAyMywx
MCArMTAyNCwxMCBAQCB2b2lkIFJlbmRlclRoZW1lSU9TOjphZGp1c3RCdXR0b25TdHlsZShSZW5k
ZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQqIGVsZW1lbgogCiAgICAgLy8gU2V0IHBhZGRp
bmc6IDAgMS4wZW07IG9uIGJ1dHRvbnMuCiAgICAgLy8gQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1
dGVMZW5ndGhJbnQgb25seSBuZWVkcyB0aGUgZWxlbWVudCdzIHN0eWxlIHRvIGNhbGN1bGF0ZSBl
bSBsZW5ndGhzLgotICAgIC8vIFNpbmNlIHRoZSBlbGVtZW50IG1pZ2h0IG5vdCBiZSBpbiBhIGRv
Y3VtZW50LCBqdXN0IHBhc3MgbnVsbHB0ciBmb3IgdGhlIHJvb3QgZWxlbWVudCBzdHlsZQotICAg
IC8vIGFuZCB0aGUgcmVuZGVyIHZpZXcuCisgICAgLy8gU2luY2UgdGhlIGVsZW1lbnQgbWlnaHQg
bm90IGJlIGluIGEgZG9jdW1lbnQsIGp1c3QgcGFzcyBudWxscHRyIGZvciB0aGUgcm9vdCBlbGVt
ZW50IHN0eWxlLAorICAgIC8vIHRoZSBwYXJlbnQgZWxlbWVudCBzdHlsZSwgYW5kIHRoZSByZW5k
ZXIgdmlldy4KICAgICBhdXRvIGVtU2l6ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoMS4w
LCBDU1NVbml0VHlwZTo6Q1NTX0VNUyk7Ci0gICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0
ZUxlbmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBudWxscHRyLCBu
dWxscHRyLCAxLjAsIGZhbHNlKSk7CisgICAgaW50IHBpeGVscyA9IGVtU2l6ZS0+Y29tcHV0ZUxl
bmd0aDxpbnQ+KENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJnN0eWxlLCBudWxscHRyLCBudWxs
cHRyLCBudWxscHRyLCAxLjAsIFdURjo6bnVsbG9wdCkpOwogICAgIHN0eWxlLnNldFBhZGRpbmdC
b3goTGVuZ3RoQm94KDAsIHBpeGVscywgMCwgcGl4ZWxzKSk7CiAKICAgICBpZiAoIWVsZW1lbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRl
eCBlNWIzNjZkMDU4NDA3ZThmMjFiZjFjMzY2NTJkNjRlZjIxZTYwZDVhLi5mZGRiZmQxNDMzMWNi
MTljNGFjYzc5MjcyM2QxNDcyZGE1YTNlNzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTE3NzYsMTYgKzE3NzYsMTkgQEAgdm9pZCBS
ZW5kZXJTdHlsZTo6c2V0TGluZUhlaWdodChMZW5ndGgmJiBoZWlnaHQpCiAKIGludCBSZW5kZXJT
dHlsZTo6Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgY29uc3QKIHsKLSAgICBjb25zdCBMZW5ndGgmIGxo
ID0gbGluZUhlaWdodCgpOworICAgIHJldHVybiBjb21wdXRlTGluZUhlaWdodChsaW5lSGVpZ2h0
KCkpOworfQogCitpbnQgUmVuZGVyU3R5bGU6OmNvbXB1dGVMaW5lSGVpZ2h0KGNvbnN0IExlbmd0
aCYgbGluZUhlaWdodExlbmd0aCkgY29uc3QKK3sKICAgICAvLyBOZWdhdGl2ZSB2YWx1ZSBtZWFu
cyB0aGUgbGluZSBoZWlnaHQgaXMgbm90IHNldC4gVXNlIHRoZSBmb250J3MgYnVpbHQtaW4gc3Bh
Y2luZy4KLSAgICBpZiAobGguaXNOZWdhdGl2ZSgpKQorICAgIGlmIChsaW5lSGVpZ2h0TGVuZ3Ro
LmlzTmVnYXRpdmUoKSkKICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmco
KTsKIAotICAgIGlmIChsaC5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKLSAgICAgICAgcmV0dXJu
IG1pbmltdW1WYWx1ZUZvckxlbmd0aChsaCwgY29tcHV0ZWRGb250UGl4ZWxTaXplKCkpOworICAg
IGlmIChsaW5lSGVpZ2h0TGVuZ3RoLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQorICAgICAgICBy
ZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKGxpbmVIZWlnaHRMZW5ndGgsIGNvbXB1dGVkRm9u
dFBpeGVsU2l6ZSgpKTsKIAotICAgIHJldHVybiBjbGFtcFRvPGludD4obGgudmFsdWUoKSk7Cisg
ICAgcmV0dXJuIGNsYW1wVG88aW50PihsaW5lSGVpZ2h0TGVuZ3RoLnZhbHVlKCkpOwogfQogCiB2
b2lkIFJlbmRlclN0eWxlOjpzZXRXb3JkU3BhY2luZyhMZW5ndGgmJiB2YWx1ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggNTZmMDM2MWU5Y2Q1
MTRmMTk5NGYwYjJhNWVkMzgwYTY5MTg0NjM2ZS4uOTdjYTliYmMyZWMwYjVlNjQ3M2UxMGU5MjA2
NjVmYjQ0MWZlZTZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKQEAgLTM5MSw2ICszOTEsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoJiBz
cGVjaWZpZWRMaW5lSGVpZ2h0KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgTGVu
Z3RoJiBsaW5lSGVpZ2h0KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgaW50IGNvbXB1dGVk
TGluZUhlaWdodCgpIGNvbnN0OworICAgIGludCBjb21wdXRlTGluZUhlaWdodChjb25zdCBMZW5n
dGgmKSBjb25zdDsKIAogICAgIFdoaXRlU3BhY2Ugd2hpdGVTcGFjZSgpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PFdoaXRlU3BhY2U+KG1faW5oZXJpdGVkRmxhZ3Mud2hpdGVTcGFjZSk7IH0K
ICAgICBzdGF0aWMgYm9vbCBhdXRvV3JhcChXaGl0ZVNwYWNlKTsKQEAgLTE1MDUsNiArMTUwNiw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxPbmVMZW5ndGgoKSB7IHJldHVy
biBMZW5ndGgoMSwgRml4ZWQpOyB9CiAgICAgc3RhdGljIHNob3J0IGluaXRpYWxXaWRvd3MoKSB7
IHJldHVybiAyOyB9CiAgICAgc3RhdGljIHNob3J0IGluaXRpYWxPcnBoYW5zKCkgeyByZXR1cm4g
MjsgfQorICAgIC8vIFJldHVybmluZyAtMTAwJSBwZXJjZW50IGhlcmUgbWVhbnMgdGhlIGxpbmUt
aGVpZ2h0IGlzIG5vdCBzZXQuCiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsTGluZUhlaWdodCgp
IHsgcmV0dXJuIExlbmd0aCgtMTAwLjBmLCBQZXJjZW50KTsgfQogICAgIHN0YXRpYyBUZXh0QWxp
Z25Nb2RlIGluaXRpYWxUZXh0QWxpZ24oKSB7IHJldHVybiBUZXh0QWxpZ25Nb2RlOjpTdGFydDsg
fQogICAgIHN0YXRpYyBPcHRpb25TZXQ8VGV4dERlY29yYXRpb24+IGluaXRpYWxUZXh0RGVjb3Jh
dGlvbigpIHsgcmV0dXJuIE9wdGlvblNldDxUZXh0RGVjb3JhdGlvbj4geyB9OyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCmluZGV4IDhkYTNmYTI0Njcx
OGMwZTBlNTJmNjlmYmMxODFhZmI3ZTc2NTFhNTMuLmViYTFhMDY4OWMzMWM1M2RhMWMxZmJhYjRj
ZjM1NTY3MjcwYzdkYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVp
bGRlckNvbnZlcnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNv
bnZlcnRlci5oCkBAIC0xMTY3LDEzICsxMTY3LDIyIEBAIGlubGluZSBHcmlkQXV0b0Zsb3cgQnVp
bGRlckNvbnZlcnRlcjo6Y29udmVydEdyaWRBdXRvRmxvdyhCdWlsZGVyU3RhdGUmLCBjb25zdCBD
CiAgICAgcmV0dXJuIGF1dG9GbG93OwogfQogCi1pbmxpbmUgQ1NTVG9MZW5ndGhDb252ZXJzaW9u
RGF0YSBCdWlsZGVyQ29udmVydGVyOjpjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0aFRleHRa
b29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQoraW5saW5lIGZsb2F0IHpvb21X
aXRoVGV4dFpvb21GYWN0b3IoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCiB7CiAgICAgaWYg
KGF1dG8qIGZyYW1lID0gYnVpbGRlclN0YXRlLmRvY3VtZW50KCkuZnJhbWUoKSkgewogICAgICAg
ICBmbG9hdCB0ZXh0Wm9vbUZhY3RvciA9IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnRleHRab29tKCkg
IT0gVGV4dFpvb206OlJlc2V0ID8gZnJhbWUtPnRleHRab29tRmFjdG9yKCkgOiAxLjBmOwotICAg
ICAgICByZXR1cm4gYnVpbGRlclN0YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKS5jb3B5
V2l0aEFkanVzdGVkWm9vbShidWlsZGVyU3RhdGUuc3R5bGUoKS5lZmZlY3RpdmVab29tKCkgKiB0
ZXh0Wm9vbUZhY3Rvcik7CisgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuc3R5bGUoKS5lZmZl
Y3RpdmVab29tKCkgKiB0ZXh0Wm9vbUZhY3RvcjsKICAgICB9Ci0gICAgcmV0dXJuIGJ1aWxkZXJT
dGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCk7CisgICAgcmV0dXJuIGJ1aWxkZXJTdGF0
ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkuem9vbSgpOworfQorCitpbmxpbmUgQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSBCdWlsZGVyQ29udmVydGVyOjpjc3N0b0xlbmd0aENvbnZlcnNp
b25EYXRhV2l0aFRleHRab29tRmFjdG9yKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQorewor
ICAgIGZsb2F0IHpvb20gPSB6b29tV2l0aFRleHRab29tRmFjdG9yKGJ1aWxkZXJTdGF0ZSk7Cisg
ICAgaWYgKHpvb20gPT0gYnVpbGRlclN0YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKS56
b29tKCkpCisgICAgICAgIHJldHVybiBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9u
RGF0YSgpOworCisgICAgcmV0dXJuIGJ1aWxkZXJTdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25E
YXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oem9vbSk7CiB9CiAKIGlubGluZSBPcHRpb25hbDxM
ZW5ndGg+IEJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRXb3JkU3BhY2luZyhCdWlsZGVyU3RhdGUm
IGJ1aWxkZXJTdGF0ZSwgY29uc3QgQ1NTVmFsdWUmIHZhbHVlKQpAQCAtMTUxMSw3ICsxNTIwLDgg
QEAgaW5saW5lIE9wdGlvbmFsPExlbmd0aD4gQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydExpbmVI
ZWlnaHQoQnVpbGRlclN0YXRlJiBidWlsZGUKICAgICAgICAgcmV0dXJuIFJlbmRlclN0eWxlOjpp
bml0aWFsTGluZUhlaWdodCgpOwogCiAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkp
IHsKLSAgICAgICAgTGVuZ3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8
TGVuZ3RoPihCdWlsZGVyQ29udmVydGVyOjpjc3N0b0xlbmd0aENvbnZlcnNpb25EYXRhV2l0aFRl
eHRab29tRmFjdG9yKGJ1aWxkZXJTdGF0ZSkpOworICAgICAgICBhdXRvIGNvbnZlcnNpb25EYXRh
ID0gYnVpbGRlclN0YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKS5jb3B5V2l0aEFkanVz
dGVkWm9vbUFuZFByb3BlcnR5VG9Db21wdXRlKHpvb21XaXRoVGV4dFpvb21GYWN0b3IoYnVpbGRl
clN0YXRlKSwgQ1NTUHJvcGVydHlMaW5lSGVpZ2h0KTsKKyAgICAgICAgTGVuZ3RoIGxlbmd0aCA9
IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihjb252ZXJzaW9uRGF0YSk7CiAg
ICAgICAgIGlmIChtdWx0aXBsaWVyICE9IDEuZikKICAgICAgICAgICAgIGxlbmd0aCA9IExlbmd0
aChsZW5ndGgudmFsdWUoKSAqIG11bHRpcGxpZXIsIEZpeGVkKTsKICAgICAgICAgcmV0dXJuIGxl
bmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3Rv
bS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggZTJk
NjVmY2UzMzI4NjE3MDM1MDc1ZTg2OTYwOWU0ODgyZWExZWI0Yy4uNWQ5N2NlOTBmMTc1M2RhMzFl
MDEyNTZlMzE1ZmE3NzdmMTMyZDdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKQEAgLTE2MjEsMTQgKzE2MjEsMTQgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1
c3RvbTo6YXBwbHlWYWx1ZUZvbnRTaXplKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NW
YWwKICAgICB9IGVsc2UgewogICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0SXNBYnNvbHV0ZVNp
emUocGFyZW50SXNBYnNvbHV0ZVNpemUgfHwgIShwcmltaXRpdmVWYWx1ZS5pc1BlcmNlbnRhZ2Uo
KSB8fCBwcmltaXRpdmVWYWx1ZS5pc0ZvbnRSZWxhdGl2ZUxlbmd0aCgpKSk7CiAgICAgICAgIGlm
IChwcmltaXRpdmVWYWx1ZS5pc0xlbmd0aCgpKSB7Ci0gICAgICAgICAgICBzaXplID0gcHJpbWl0
aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxmbG9hdD4oQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgm
YnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5yb290RWxlbWVudFN0eWxl
KCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXcoKSwgMS4wZiwgdHJ1ZSkpOwor
ICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoJmJ1aWxkZXJTdGF0ZS5wYXJlbnRTdHlsZSgpLCBidWls
ZGVyU3RhdGUucm9vdEVsZW1lbnRTdHlsZSgpLCAmYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCks
IGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXcoKSwgMS4wZiwgQ1NTUHJvcGVydHlG
b250U2l6ZSkpOwogICAgICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzVmlld3BvcnRQZXJj
ZW50YWdlTGVuZ3RoKCkpCiAgICAgICAgICAgICAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0
SGFzVmlld3BvcnRVbml0cygpOwogICAgICAgICB9IGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlz
UGVyY2VudGFnZSgpKQogICAgICAgICAgICAgc2l6ZSA9IChwcmltaXRpdmVWYWx1ZS5mbG9hdFZh
bHVlKCkgKiBwYXJlbnRTaXplKSAvIDEwMC4wZjsKICAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZl
VmFsdWUuaXNDYWxjdWxhdGVkUGVyY2VudGFnZVdpdGhMZW5ndGgoKSkgewogICAgICAgICAgICAg
Y29uc3QgYXV0byYgY29udmVyc2lvbkRhdGEgPSBidWlsZGVyU3RhdGUuY3NzVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSgpOwotICAgICAgICAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBwYXJl
bnRDb252ZXJzaW9uRGF0YSB7ICZidWlsZGVyU3RhdGUucGFyZW50U3R5bGUoKSwgY29udmVyc2lv
bkRhdGEucm9vdFN0eWxlKCksIGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLnJlbmRlclZpZXcoKSwg
MS4wZiwgdHJ1ZSB9OworICAgICAgICAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBwYXJl
bnRDb252ZXJzaW9uRGF0YSB7ICZidWlsZGVyU3RhdGUucGFyZW50U3R5bGUoKSwgY29udmVyc2lv
bkRhdGEucm9vdFN0eWxlKCksICZidWlsZGVyU3RhdGUucGFyZW50U3R5bGUoKSwgYnVpbGRlclN0
YXRlLmRvY3VtZW50KCkucmVuZGVyVmlldygpLCAxLjBmLCBDU1NQcm9wZXJ0eUZvbnRTaXplIH07
CiAgICAgICAgICAgICBzaXplID0gcHJpbWl0aXZlVmFsdWUuY3NzQ2FsY1ZhbHVlKCktPmNyZWF0
ZUNhbGN1bGF0aW9uVmFsdWUocGFyZW50Q29udmVyc2lvbkRhdGEpLT5ldmFsdWF0ZShwYXJlbnRT
aXplKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5jcHAKaW5kZXggYTQ0ODEzZjI0NDMyMDIyYzc1MDk2
YTM3MjI2MWNjNzg5OWMxMjliZC4uNzgxMWQxZTNmNjAzZjM2MThkYjM4NjVmMzJkODEzYjEzMzJi
NTQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyU3RhdGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmNwcApAQCAt
NjAsNyArNjAsNyBAQCBCdWlsZGVyU3RhdGU6OkJ1aWxkZXJTdGF0ZShCdWlsZGVyJiBidWlsZGVy
LCBSZW5kZXJTdHlsZSYgc3R5bGUsIEJ1aWxkZXJDb250ZXh0JgogICAgICwgbV9zdHlsZU1hcCgq
dGhpcykKICAgICAsIG1fc3R5bGUoc3R5bGUpCiAgICAgLCBtX2NvbnRleHQoV1RGTW92ZShjb250
ZXh0KSkKLSAgICAsIG1fY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgmc3R5bGUsIHJvb3RFbGVt
ZW50U3R5bGUoKSwgZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCkpCisgICAgLCBtX2Nzc1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEoJnN0eWxlLCByb290RWxlbWVudFN0eWxlKCksICZwYXJlbnRTdHlsZSgp
LCBkb2N1bWVudCgpLnJlbmRlclZpZXcoKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM2ZjEyNGY4NWVlN2U5
MzhjYzVlMWE4Zjc4MDU2MDM4ZmMzYThlMjQuLmZjN2UwM2NiZjc0NDY1YWIzYjhlMzJlOWEyZjVk
MDNiNzlmZDcyYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wNC0wNCAgVHlsZXIgV2ls
Y29jayAgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIFtjc3MtdmFsdWVzLTRd
IFN1cHBvcnQgZm9udC1yZWxhdGl2ZSBsaCBhbmQgcmxoIHVuaXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTE4MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGZvciB0aGUg
Zm9udC1yZWxhdGl2ZSAnbGgnIGFuZCAncmxoJyB1bml0cy4KKyAgICAgICAgaHR0cHM6Ly93d3cu
dzMub3JnL1RSL2Nzcy12YWx1ZXMtNC8jZm9udC1yZWxhdGl2ZS1sZW5ndGhzCisKIDIwMjAtMDQt
MDQgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
IChyMjU5MDk1KTogQVNTRVJUSU9OIEZBSUxFRDogbV92aWRlb0Z1bGxzY3JlZW5Nb2RlICE9IFZp
ZGVvRnVsbHNjcmVlbk1vZGVOb25lIHNlZW4gd2l0aCBUZXN0V2ViS2l0QVBJLldlYktpdExlZ2Fj
eS5BdWRpb1Nlc3Npb25DYXRlZ29yeUlPUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggNDZiZTZmNmMzZWFhOTNhZWRiOWZmNjE5OWIzZWJhYjJiMDVjM2YyOS4uZWZlOWE1YTI3NjQ4
ZTE4MWNlODIwYmY4MTE5YTE1OTc4NWQzZTQ1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDQtMDQgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28u
b0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBbY3NzLXZhbHVlcy00XSBTdXBwb3J0IGZvbnQt
cmVsYXRpdmUgbGggYW5kIHJsaCB1bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTUxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBQYXNzIGFsbCAnbGgnIGFuZCAncmxoJyB0ZXN0cywgbWludXMgdGhl
ICcycmxoIGluIGZvbnQtc2l6ZSBvbiByb290JyB0ZXN0IHdoaWNoIG1heSBiZSBhIGJ1ZyBpbiB0
aGUgdGVzdCBpdHNlbGY6IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
L2lzc3Vlcy8yMjA1NQorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFs
dWVzL2xoLXJsaC1vbi1yb290LTAwMS1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDMtMzAgIERldmlu
IFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgU2VsZWN0b3JzIDRd
IEFkZCBzdXBwb3J0IGZvciBgOmlzKClgIHdpdGggdGhlIHNhbWUgbG9naWMgZm9yIHRoZSBleGlz
dGluZyBgOm1hdGNoZXMoKWAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGViMTY5MzNiOGZhODdjNTUz
ZTM5ZDNkNGY1NmQxYjkzYmM2ZTMxYzcuLjdjNzYxMWRlZTJmZTM3OTNjODdmY2Y1ZjU2MjA3NjIz
OGFkOThlYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzExMCw4ICszMTEwLDggQEAgd2Via2l0
Lm9yZy9iLzIwMzMzNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFs
dWVzL2ljLXVuaXQtMDA5LmgKIHdlYmtpdC5vcmcvYi8yMDMzMzQgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pYy11bml0LTAxMC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAzMzM0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy12YWx1ZXMvaWMtdW5pdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIwMzMzNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdmFsdWVzL2ljLXVuaXQtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8yMDMzMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZh
bHVlcy9saC11bml0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
MjAzMzM2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgt
dW5pdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzIwMzMzNiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXVuaXQtMDAx
Lmh0bWwgWyBQYXNzIF0KK3dlYmtpdC5vcmcvYi8yMDMzMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC11bml0LTAwMi5odG1sIFsgUGFzcyBdCiB3ZWJr
aXQub3JnL2IvMjAzMzM3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvdmgtc3VwcG9ydC1hdHZpZXdwb3J0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8yMDMzMzggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXZhbHVlcy92aF9ub3RfcmVmcmVzaGluZ19vbl9jaHJvbWUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2xoLXJsaC1vbi1yb290LTAwMS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2xoLXJsaC1vbi1yb290LTAwMS1leHBlY3RlZC50eHQKaW5kZXggODg0ZjFiM2QxYjc3OTM3MWQx
NDE1ODMyYjBmNTUyZjE2NTcwNTE0Ni4uYWZmOTQ0YmQ2YzA2NzZlN2FkOGU2ZGE1MjU3MDI1ZTRh
MWVkODcxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12
YWx1ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSwxMSBAQAog
wqAKIAotRkFJTCBsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxz
OiB0aGUgbGggdW5pdCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkg
dXNlcyBmb250IG1ldHJpY3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1ZXMgb2Yg
dGhlIGZvbnQgb3IgbGluZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAxOCArLy0gMSBidXQg
Z290IDE2NAotRkFJTCBybGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2Vx
dWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBwcm9w
ZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVl
cyBvZiB0aGUgZm9udCBvciBsaW5lLWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDE4ICsvLSAx
IGJ1dCBnb3QgMTY0Ci1GQUlMIGxoIGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hf
ZXF1YWxzOiB0aGUgbGggdW5pdCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgZm9udC1zaXplIHByb3Bl
cnR5IHVzZXMgZm9udCBtZXRyaWNzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVz
IG9mIHRoZSBmb250IG9yIGxpbmUtaGVpZ2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMTggKy8tIDEg
YnV0IGdvdCAxNgotRkFJTCBybGggaW4gZm9udC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9l
cXVhbHM6IHRoZSBybGggdW5pdCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgZm9udC1zaXplIHByb3Bl
cnR5IHVzZXMgZm9udCBtZXRyaWNzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVz
IG9mIHRoZSBmb250IG9yIGxpbmUtaGVpZ2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMTggKy8tIDEg
YnV0IGdvdCAxNgotRkFJTCAybGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94
X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHBy
b3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5pdCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1c2Ug
YSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0aGUgbnVtYmVyIG9mIHVuaXRzIGludG8gYWNj
b3VudCBleHBlY3RlZCAzNiArLy0gMSBidXQgZ290IDE2NAotRkFJTCAycmxoIGluIGxpbmUtaGVp
Z2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHRoZSBybGggdW5pdCBvbiB0aGUgcm9v
dCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0
IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRo
ZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDM2ICsvLSAxIGJ1dCBnb3Qg
MTY0Ci1GQUlMIDJsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczog
dGhlIGxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSBhY3R1
YWxseSB3b3JrcyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sg
dGhhdCBkb2Vzbid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0
ZWQgMzYgKy8tIDEgYnV0IGdvdCAxNgotRkFJTCAycmxoIGluIGZvbnQtc2l6ZSBvbiByb290IGFz
c2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGZv
bnQtc2l6ZSBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVy
ZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0
cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgMzIgKy8tIDEgYnV0IGdvdCAxNgorUEFTUyBsaCBpbiBs
aW5lLWhlaWdodCBvbiByb290IAorUEFTUyBybGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCAKK1BB
U1MgbGggaW4gZm9udC1zaXplIG9uIHJvb3QgCitQQVNTIHJsaCBpbiBmb250LXNpemUgb24gcm9v
dCAKK1BBU1MgMmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQQVNTIDJybGggaW4gbGluZS1o
ZWlnaHQgb24gcm9vdCAKK1BBU1MgMmxoIGluIGZvbnQtc2l6ZSBvbiByb290IAorRkFJTCAycmxo
IGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQg
b24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBh
cyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNlIGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0
IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFjY291bnQgZXhwZWN0ZWQgMzIgKy8tIDEg
YnV0IGdvdCAzNgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0w
MDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvbGgtcmxoLW9uLXJvb3QtMDAxLWV4cGVj
dGVkLnR4dAppbmRleCBkZmRmNjY2MzQ5Mjc3NTk2NTc0NGE2MzVmMTE1ZTFjNTk2MDU1NmJlLi5h
YjE0ZTVkZTFmODY1NWZjZDcxZDBiOTk1MTEzYjAwNmI3OGQyOWQyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9saC1ybGgtb24tcm9vdC0wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dmFsdWVzL2xoLXJsaC1vbi1yb290LTAwMS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsMTEgQEAK
IMKgCiAKLUZBSUwgbGggaW4gbGluZS1oZWlnaHQgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFs
czogdGhlIGxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5
IHVzZXMgZm9udCBtZXRyaWNzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGluaXRpYWwgdmFsdWVzIG9m
IHRoZSBmb250IG9yIGxpbmUtaGVpZ2h0IHByb3BlcnRpZXMgZXhwZWN0ZWQgMjAgKy8tIDEgYnV0
IGdvdCAxNjUKLUZBSUwgcmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9l
cXVhbHM6IHRoZSBybGggdW5pdCBvbiB0aGUgcm9vdCBlbGVtZW50J3MgbGluZS1oZWlnaHQgcHJv
cGVydHkgdXNlcyBmb250IG1ldHJpY3MgY29ycmVzcG9uZGluZyB0byB0aGUgaW5pdGlhbCB2YWx1
ZXMgb2YgdGhlIGZvbnQgb3IgbGluZS1oZWlnaHQgcHJvcGVydGllcyBleHBlY3RlZCAyMCArLy0g
MSBidXQgZ290IDE2NQotRkFJTCBsaCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94
X2VxdWFsczogdGhlIGxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9w
ZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVl
cyBvZiB0aGUgZm9udCBvciBsaW5lLWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDIwICsvLSAx
IGJ1dCBnb3QgMTYKLUZBSUwgcmxoIGluIGZvbnQtc2l6ZSBvbiByb290IGFzc2VydF9hcHByb3hf
ZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJvb3QgZWxlbWVudCdzIGZvbnQtc2l6ZSBwcm9w
ZXJ0eSB1c2VzIGZvbnQgbWV0cmljcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbml0aWFsIHZhbHVl
cyBvZiB0aGUgZm9udCBvciBsaW5lLWhlaWdodCBwcm9wZXJ0aWVzIGV4cGVjdGVkIDIwICsvLSAx
IGJ1dCBnb3QgMTYKLUZBSUwgMmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgYXNzZXJ0X2FwcHJv
eF9lcXVhbHM6IHRoZSBsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBsaW5lLWhlaWdodCBw
cm9wZXJ0eSBhY3R1YWxseSB3b3JrcyBhcyBhIHVuaXQgYW5kIGRvZXNuJ3QgbWVyZWx5IGNhdXNl
IGEgZmFsbGJhY2sgdGhhdCBkb2Vzbid0IHRha2UgdGhlIG51bWJlciBvZiB1bml0cyBpbnRvIGFj
Y291bnQgZXhwZWN0ZWQgNDAgKy8tIDEgYnV0IGdvdCAxNjUKLUZBSUwgMnJsaCBpbiBsaW5lLWhl
aWdodCBvbiByb290IGFzc2VydF9hcHByb3hfZXF1YWxzOiB0aGUgcmxoIHVuaXQgb24gdGhlIHJv
b3QgZWxlbWVudCdzIGxpbmUtaGVpZ2h0IHByb3BlcnR5IGFjdHVhbGx5IHdvcmtzIGFzIGEgdW5p
dCBhbmQgZG9lc24ndCBtZXJlbHkgY2F1c2UgYSBmYWxsYmFjayB0aGF0IGRvZXNuJ3QgdGFrZSB0
aGUgbnVtYmVyIG9mIHVuaXRzIGludG8gYWNjb3VudCBleHBlY3RlZCA0MCArLy0gMSBidXQgZ290
IDE2NQotRkFJTCAybGggaW4gZm9udC1zaXplIG9uIHJvb3QgYXNzZXJ0X2FwcHJveF9lcXVhbHM6
IHRoZSBsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0
dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNr
IHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVj
dGVkIDQwICsvLSAxIGJ1dCBnb3QgMTYKLUZBSUwgMnJsaCBpbiBmb250LXNpemUgb24gcm9vdCBh
c3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0IG9uIHRoZSByb290IGVsZW1lbnQncyBm
b250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3MgYXMgYSB1bml0IGFuZCBkb2Vzbid0IG1l
cmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24ndCB0YWtlIHRoZSBudW1iZXIgb2YgdW5p
dHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDMyICsvLSAxIGJ1dCBnb3QgMTYKK1BBU1MgbGggaW4g
bGluZS1oZWlnaHQgb24gcm9vdCAKK1BBU1MgcmxoIGluIGxpbmUtaGVpZ2h0IG9uIHJvb3QgCitQ
QVNTIGxoIGluIGZvbnQtc2l6ZSBvbiByb290IAorUEFTUyBybGggaW4gZm9udC1zaXplIG9uIHJv
b3QgCitQQVNTIDJsaCBpbiBsaW5lLWhlaWdodCBvbiByb290IAorUEFTUyAycmxoIGluIGxpbmUt
aGVpZ2h0IG9uIHJvb3QgCitQQVNTIDJsaCBpbiBmb250LXNpemUgb24gcm9vdCAKK0ZBSUwgMnJs
aCBpbiBmb250LXNpemUgb24gcm9vdCBhc3NlcnRfYXBwcm94X2VxdWFsczogdGhlIHJsaCB1bml0
IG9uIHRoZSByb290IGVsZW1lbnQncyBmb250LXNpemUgcHJvcGVydHkgYWN0dWFsbHkgd29ya3Mg
YXMgYSB1bml0IGFuZCBkb2Vzbid0IG1lcmVseSBjYXVzZSBhIGZhbGxiYWNrIHRoYXQgZG9lc24n
dCB0YWtlIHRoZSBudW1iZXIgb2YgdW5pdHMgaW50byBhY2NvdW50IGV4cGVjdGVkIDMyICsvLSAx
IGJ1dCBnb3QgNDAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>