<?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>108849</bug_id>
          
          <creation_ts>2013-02-04 12:40:57 -0800</creation_ts>
          <short_desc>Add support for gesture scroll events that do not propagate to enclosing scrollables</short_desc>
          <delta_ts>2013-02-06 17:03:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>109091</dependson>
          <blocked>108719</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Terry Anderson">tdanderson</reporter>
          <assigned_to name="Terry Anderson">tdanderson</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jochen</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rjkroege</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>824656</commentid>
    <comment_count>0</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-02-04 12:40:57 -0800</bug_when>
    <thetext>Add support for gesture scroll events that do not propagate to enclosing scrollables. This will be used by the chromium port in https://bugs.webkit.org/show_bug.cgi?id=108719 to ensure that fling gestures scroll only their intended target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824676</commentid>
    <comment_count>1</comment_count>
      <attachid>186443</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-02-04 13:05:21 -0800</bug_when>
    <thetext>Created attachment 186443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824678</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 13:08:28 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825851</commentid>
    <comment_count>3</comment_count>
      <attachid>186443</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-02-05 15:02:58 -0800</bug_when>
    <thetext>Comment on attachment 186443
Patch

I am not sure I like the naming used for the new event type: GestureScrollUpdateNotPropagated. It is the only event type that has a verb at the end. Maybe GestureScrollUpdateWithoutPropagation makes more sense?

Rest looks sensible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825916</commentid>
    <comment_count>4</comment_count>
      <attachid>186721</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-02-05 16:09:24 -0800</bug_when>
    <thetext>Created attachment 186721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825917</commentid>
    <comment_count>5</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-02-05 16:10:17 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=186721) [details]
&gt; Patch

GestureScrollUpdateNotPropagated changed to GestureScrollUpdateWithoutPropagation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826608</commentid>
    <comment_count>6</comment_count>
      <attachid>186721</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-02-06 11:42:50 -0800</bug_when>
    <thetext>Comment on attachment 186721
Patch

Get someone to sign-off the chromium API bits before committing.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826668</commentid>
    <comment_count>7</comment_count>
      <attachid>186721</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-06 12:49:57 -0800</bug_when>
    <thetext>Comment on attachment 186721
Patch

r=me for the chromium bits</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826710</commentid>
    <comment_count>8</comment_count>
      <attachid>186721</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 13:27:56 -0800</bug_when>
    <thetext>Comment on attachment 186721
Patch

Clearing flags on attachment: 186721

Committed r142025: &lt;http://trac.webkit.org/changeset/142025&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826711</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 13:28:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826732</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 13:51:50 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 109091</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826738</commentid>
    <comment_count>11</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-02-06 13:55:52 -0800</bug_when>
    <thetext>I rolled this out due to a compile-time error:

http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/55141/steps/compile-webkit/logs/stdio

Will fix up and re-land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826810</commentid>
    <comment_count>12</comment_count>
      <attachid>186936</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-02-06 15:37:29 -0800</bug_when>
    <thetext>Created attachment 186936
Fixed compilation issue after rollout, patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826901</commentid>
    <comment_count>13</comment_count>
      <attachid>186936</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 17:03:09 -0800</bug_when>
    <thetext>Comment on attachment 186936
Fixed compilation issue after rollout, patch for landing

Clearing flags on attachment: 186936

Committed r142057: &lt;http://trac.webkit.org/changeset/142057&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826903</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 17:03:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186443</attachid>
            <date>2013-02-04 13:05:21 -0800</date>
            <delta_ts>2013-02-05 16:09:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108849-20130204160159.patch</filename>
            <type>text/plain</type>
            <size>44493</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFiYmQ0NTQzM2EzMTRk
YjM3YWFlODM4NGEyNjU2YmJiNDkzNjhmMi4uZGU4MGY4NjBmYWQ3NjA3MjM3ZDM5ZmUzNzliZjhj
NjI2OWEzMmMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAyLTA0ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBnZXN0dXJlIHNjcm9sbCBldmVudHMgdGhhdCBkbyBub3QgcHJvcGFnYXRlIHRvIGVu
Y2xvc2luZyBzY3JvbGxhYmxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA4ODQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVy
ZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZl
bnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdh
dGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gt
Z2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC5odG1sCisKKyAgICAgICAgUmVuYW1l
IFJlbmRlckxheWVyOjpzY3JvbGxCeVJlY3Vyc2l2ZWx5KCkgdG8gUmVuZGVyTGF5ZXI6OnNjcm9s
bEJ5KCkgYW5kIGFkZCBhIHBhcmFtZXRlcgorICAgICAgICBvZiB0eXBlIFJlbmRlckxheWVyOjpT
Y3JvbGxQcm9wYWdhdGlvbiB0byBzcGVjaWZ5IHdoZXRoZXIgb3Igbm90IHRoZSBzY3JvbGwgc2hv
dWxkCisgICAgICAgIHByb3BhZ2F0ZSB0byBpdHMgcGFyZW50IGJ5IHJlY3Vyc2luZy4gSW1wbGVt
ZW50IFJlbmRlckxheWVyOjpzY3JvbGxCeVJlY3Vyc2l2ZWx5KCkgYXMgYQorICAgICAgICBjYWxs
IHRvIFJlbmRlckxheWVyOjpzY3JvbGxCeSgpIHdpdGggYXJndW1lbnQgUmVuZGVyTGF5ZXI6OlNo
b3VsZFByb3BhZ2F0ZVNjcm9sbCBzbworICAgICAgICB0aGF0IGFsbCBleGlzdGluZyBjYWxscyB0
byB0aGUgZnVuY3Rpb24gc3RpbGwgcHJvZHVjZSB0aGUgY29ycmVjdCBiZWhhdmlvci4KKworICAg
ICAgICBJbiBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVTY3JvbGxVcGRhdGUoKSwgY2FsbCBS
ZW5kZXJMYXllcjo6c2Nyb2xsQnkoKSB3aXRoCisgICAgICAgIGFyZ3VtZW50IFJlbmRlckxheWVy
OjpTaG91bGRQcm9wYWdhdGVTY3JvbGwgaWYgfGdlc3R1cmVFdmVudHwgaXMgYSBHZXN0dXJlU2Ny
b2xsVXBkYXRlCisgICAgICAgIG9yIGluc3RlYWQgd2l0aCBhcmd1bWVudCBSZW5kZXJMYXllcjo6
RG9udFByb3BhZ2F0ZVNjcm9sbCBpZiB8Z2VzdHVyZUV2ZW50fCBpcyBhCisgICAgICAgIEdlc3R1
cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkLgorCisgICAgICAgICogZG9tL0dlc3R1cmVFdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZXN0dXJlRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpo
YW5kbGVHZXN0dXJlU2Nyb2xsVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybUV2
ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhcjo6Z2VzdHVyZUV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9Qb3B1cENvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6
aGFuZGxlR2VzdHVyZUV2ZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbEJ5UmVjdXJzaXZlbHkpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xs
QnkpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorCiAyMDEzLTAyLTA0ICBK
dWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDU1Mg
R3JpZCBMYXlvdXRdIEFkZCBwYXJzaW5nIGZvciBncmlkLWF1dG8tZmxvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCAwNWQyODQ2ZWJkYTk4ZjM1YjczZTFhOTRjYTg2NmM1ZDYyZGQzNGNi
Li5kNzg3MDM1ZDNkNmY1Y2Q3ZDhmYTJkOTE0ODVkMGRhYWY1ZmE0MjgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTA0ICBUZXJyeSBBbmRlcnNv
biAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBn
ZXN0dXJlIHNjcm9sbCBldmVudHMgdGhhdCBkbyBub3QgcHJvcGFnYXRlIHRvIGVuY2xvc2luZyBz
Y3JvbGxhYmxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA4ODQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRGVmaW5lIHRoZSBuZXcgZXZlbnQgdHlwZSBHZXN0dXJlU2Nyb2xsVXBkYXRlTm90UHJvcGFn
YXRlZC4KKworICAgICAgICAqIHB1YmxpYy9XZWJJbnB1dEV2ZW50Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYklucHV0RXZlbnQ6OmlzR2VzdHVyZUV2ZW50VHlwZSk6CisgICAgICAgICogc3JjL1Bh
Z2VXaWRnZXREZWxlZ2F0ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VXaWRnZXREZWxlZ2F0
ZTo6aGFuZGxlSW5wdXRFdmVudCk6CisgICAgICAgICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJz
aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyOjpQ
bGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250
YWluZXJJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViUG9wdXBNZW51SW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OmhhbmRsZUlucHV0RXZlbnQpOgorICAgICAg
ICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpo
YW5kbGVHZXN0dXJlRXZlbnQpOgorCiAyMDEzLTAyLTA0ICBNYXJrIFBpbGdyaW0gIDxwaWxncmlt
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIE1vdmUgSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2UgdG8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dl
c3R1cmVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcAppbmRl
eCAxZTdiODdlN2FmMmE1ZmNlNzRiZmVlNTY4ZjdkM2M0ZTg3MzVhYzc1Li4wNTM0YmU0OGIwZTI0
NTc1NmE1NTk5MWZjMjcyYWM0NmNlNTk4ZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2VzdHVyZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50
LmNwcApAQCAtNDcsNiArNDcsNyBAQCBQYXNzUmVmUHRyPEdlc3R1cmVFdmVudD4gR2VzdHVyZUV2
ZW50OjpjcmVhdGUoUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbgogICAgIGNhc2Ug
UGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbEVuZDoKICAgICAgICAgZXZlbnRUeXBlID0gZXZl
bnROYW1lcygpLmdlc3R1cmVzY3JvbGxlbmRFdmVudDsgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9y
bUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlOgorICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2Vz
dHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQ6CiAgICAgICAgIGV2ZW50VHlwZSA9IGV2ZW50
TmFtZXMoKS5nZXN0dXJlc2Nyb2xsdXBkYXRlRXZlbnQ7IGJyZWFrOwogICAgIGNhc2UgUGxhdGZv
cm1FdmVudDo6R2VzdHVyZVRhcDoKICAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLmdl
c3R1cmV0YXBFdmVudDsgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5k
ZXggYzAwZTIzOTYxZGJhNDE4YmI0NTdlYmE2YTU5MWZmNWU0M2VhYmE4NC4uMjAwNjY4NjhlN2Ux
NTM1Y2Y4MmI4ZTVhZGUyODk3MGNiMzhlNWU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcApAQCAtMjQzMiw3ICsyNDMyLDkgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdl
c3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQogCiAg
ICAgTm9kZSogZXZlbnRUYXJnZXQgPSAwOwogICAgIFNjcm9sbGJhciogc2Nyb2xsYmFyID0gMDsK
LSAgICBpZiAoZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Ny
b2xsRW5kIHx8IGdlc3R1cmVFdmVudC50eXBlKCkgPT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNj
cm9sbFVwZGF0ZSkgeworICAgIGlmIChnZXN0dXJlRXZlbnQudHlwZSgpID09IFBsYXRmb3JtRXZl
bnQ6Okdlc3R1cmVTY3JvbGxFbmQKKyAgICAgICAgfHwgZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQ
bGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlCisgICAgICAgIHx8IGdlc3R1cmVFdmVu
dC50eXBlKCkgPT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0
ZWQpIHsKICAgICAgICAgc2Nyb2xsYmFyID0gbV9zY3JvbGxiYXJIYW5kbGluZ1Njcm9sbEdlc3R1
cmUuZ2V0KCk7CiAgICAgICAgIGV2ZW50VGFyZ2V0ID0gbV9zY3JvbGxHZXN0dXJlSGFuZGxpbmdO
b2RlLmdldCgpOwogICAgIH0KQEAgLTI0OTQsNiArMjQ5Niw3IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1cmVF
dmVudCkKICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxCZWdpbjoKICAgICAg
ICAgcmV0dXJuIGhhbmRsZUdlc3R1cmVTY3JvbGxCZWdpbihnZXN0dXJlRXZlbnQpOwogICAgIGNh
c2UgUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZToKKyAgICBjYXNlIFBsYXRmb3Jt
RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkOgogICAgICAgICByZXR1cm4g
aGFuZGxlR2VzdHVyZVNjcm9sbFVwZGF0ZShnZXN0dXJlRXZlbnQpOwogICAgIGNhc2UgUGxhdGZv
cm1FdmVudDo6R2VzdHVyZVRhcDoKICAgICAgICAgcmV0dXJuIGhhbmRsZUdlc3R1cmVUYXAoZ2Vz
dHVyZUV2ZW50KTsKQEAgLTI3MDIsMTAgKzI3MDUsMTQgQEAgYm9vbCBFdmVudEhhbmRsZXI6Omhh
bmRsZUdlc3R1cmVTY3JvbGxVcGRhdGUoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1
cmUKICAgICBpZiAoIWxhdGNoZWRSZW5kZXJlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgUmVuZGVyTGF5ZXI6OlNjcm9sbFByb3BhZ2F0aW9uIHNob3VsZFByb3BhZ2F0ZSA9IFJlbmRl
ckxheWVyOjpTaG91bGRQcm9wYWdhdGVTY3JvbGw7CisgICAgaWYgKGdlc3R1cmVFdmVudC50eXBl
KCkgPT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQpCisg
ICAgICAgIHNob3VsZFByb3BhZ2F0ZSA9IFJlbmRlckxheWVyOjpEb250UHJvcGFnYXRlU2Nyb2xs
OworCiAgICAgY29uc3QgZmxvYXQgc2NhbGVGYWN0b3IgPSBtX2ZyYW1lLT5wYWdlWm9vbUZhY3Rv
cigpICogbV9mcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpOwogICAgIGRlbHRhLnNjYWxlKDEgLyBz
Y2FsZUZhY3RvciwgMSAvIHNjYWxlRmFjdG9yKTsKIAotICAgIGJvb2wgcmVzdWx0ID0gbGF0Y2hl
ZFJlbmRlcmVyLT5lbmNsb3NpbmdMYXllcigpLT5zY3JvbGxCeVJlY3Vyc2l2ZWx5KGRlbHRhLCBS
ZW5kZXJMYXllcjo6U2Nyb2xsT2Zmc2V0Q2xhbXBlZCk7CisgICAgYm9vbCByZXN1bHQgPSBsYXRj
aGVkUmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCktPnNjcm9sbEJ5KGRlbHRhLCBSZW5kZXJMYXll
cjo6U2Nyb2xsT2Zmc2V0Q2xhbXBlZCwgc2hvdWxkUHJvcGFnYXRlKTsKIAogICAgIGlmIChyZXN1
bHQpCiAgICAgICAgIHNldEZyYW1lV2FzU2Nyb2xsZWRCeVVzZXIoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtRXZlbnQuaAppbmRleCA2MWU1MDhkYTVlZTE3MTNkY2VhNWM5NzNiODgz
YjNhMjI0YTFjOWVhLi4wNmZiZDU0MzkwNDcwZDRhMDUzMWYxYzI4NThiYWJkYWM2MmQ2MWFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCkBAIC01Miw2ICs1Miw3IEBA
IHB1YmxpYzoKICAgICAgICAgR2VzdHVyZVNjcm9sbEJlZ2luLAogICAgICAgICBHZXN0dXJlU2Ny
b2xsRW5kLAogICAgICAgICBHZXN0dXJlU2Nyb2xsVXBkYXRlLAorICAgICAgICBHZXN0dXJlU2Ny
b2xsVXBkYXRlTm90UHJvcGFnYXRlZCwKICAgICAgICAgR2VzdHVyZVRhcCwKICAgICAgICAgR2Vz
dHVyZVRhcERvd24sCiAgICAgICAgIEdlc3R1cmVUYXBEb3duQ2FuY2VsLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggMmE4ZmE4NWE0YjFlMjEyN2UxOWZhNTI5NTU2ODZm
ZGE3MTJmZTIwNi4uY2M2ZTZlZTE2ZWI2ZGQ5MjFhOWNlM2M2OTNhODI4OThiZWVmMGFmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0zNzMsNiArMzczLDcgQEAgYm9v
bCBTY3JvbGxiYXI6Omdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgZXZ0
KQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2Vz
dHVyZVNjcm9sbFVwZGF0ZToKKyAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxV
cGRhdGVOb3RQcm9wYWdhdGVkOgogICAgICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBUaHVtYlBh
cnQpIHsKICAgICAgICAgICAgIG1fc2Nyb2xsUG9zICs9IEhvcml6b250YWxTY3JvbGxiYXIgPyBl
dnQuZGVsdGFYKCkgOiBldnQuZGVsdGFZKCk7CiAgICAgICAgICAgICBtb3ZlVGh1bWIobV9zY3Jv
bGxQb3MsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1BvcHVwQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BvcHVwQ29udGFpbmVyLmNwcAppbmRleCAzZGViOTVhOTI4YmVjOTFjOGFiNjgyNmFkZmY1MzNk
OGI3YWRkOWU5Li4xODY0NmI4ZjVjM2I4N2I1MTZjZWQ1MjhkODU2ODFjYWViNmMzMDIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRhaW5lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWluZXIu
Y3BwCkBAIC0zMjEsNyArMzIxLDggQEAgYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlR2VzdHVy
ZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQKICAgICB9CiAg
ICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlRG91YmxlVGFwOgogICAgICAgICBicmVhazsK
LSAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6IHsKKyAgICBjYXNl
IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBQbGF0Zm9ybUV2
ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlTm90UHJvcGFnYXRlZDogewogICAgICAgICBQbGF0Zm9y
bVdoZWVsRXZlbnQgc3ludGhldGljV2hlZWxFdmVudChnZXN0dXJlRXZlbnQucG9zaXRpb24oKSwg
Z2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIGdlc3R1cmVFdmVudC5kZWx0YVgoKSwgZ2Vz
dHVyZUV2ZW50LmRlbHRhWSgpLCBnZXN0dXJlRXZlbnQuZGVsdGFYKCkgLyAxMjAuMGYsIGdlc3R1
cmVFdmVudC5kZWx0YVkoKSAvIDEyMC4wZiwgU2Nyb2xsQnlQaXhlbFdoZWVsRXZlbnQsIGdlc3R1
cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQu
YWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCkpOwogICAgICAgICBoYW5kbGVXaGVlbEV2
ZW50KHN5bnRoZXRpY1doZWVsRXZlbnQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDY4YTA2NWIwMzE4MTEwNDZjYzBk
NzA3YjYyYzM4MWIxZTg5MGU1ZTEuLjQxOWE5ZTBjNzM3NmEzOTllNTFhMjk2ZjgyNzQwNjgzZDk1
ZWY4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTk4
OCw3ICsxOTg4LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhblNjcm9sbEZyb21Qb2ludChjb25z
dCBJbnRQb2ludCYgc291cmNlUG9pbnQpCiAgICAgc2Nyb2xsQnlSZWN1cnNpdmVseShhZGp1c3Rl
ZFNjcm9sbERlbHRhKGRlbHRhKSwgU2Nyb2xsT2Zmc2V0Q2xhbXBlZCk7CiB9CiAKLWJvb2wgUmVu
ZGVyTGF5ZXI6OnNjcm9sbEJ5UmVjdXJzaXZlbHkoY29uc3QgSW50U2l6ZSYgZGVsdGEsIFNjcm9s
bE9mZnNldENsYW1waW5nIGNsYW1wKQordm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsQnlSZWN1cnNp
dmVseShjb25zdCBJbnRTaXplJiBkZWx0YSwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgY2xhbXApCit7
CisgICAgc2Nyb2xsQnkoZGVsdGEsIGNsYW1wLCBTaG91bGRQcm9wYWdhdGVTY3JvbGwpOworfQor
Citib29sIFJlbmRlckxheWVyOjpzY3JvbGxCeShjb25zdCBJbnRTaXplJiBkZWx0YSwgU2Nyb2xs
T2Zmc2V0Q2xhbXBpbmcgY2xhbXAsIFNjcm9sbFByb3BhZ2F0aW9uIHNob3VsZFByb3BhZ2F0ZSkK
IHsKICAgICBpZiAoZGVsdGEuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIw
MDEsMTIgKzIwMDYsMTUgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2Nyb2xsQnlSZWN1cnNpdmVseShj
b25zdCBJbnRTaXplJiBkZWx0YSwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcKICAgICAgICAgSW50U2l6
ZSBuZXdTY3JvbGxPZmZzZXQgPSBzY3JvbGxPZmZzZXQoKSArIGRlbHRhOwogICAgICAgICBzY3Jv
bGxUb09mZnNldChuZXdTY3JvbGxPZmZzZXQsIGNsYW1wKTsKIAorICAgICAgICBpZiAoc2hvdWxk
UHJvcGFnYXRlID09IERvbnRQcm9wYWdhdGVTY3JvbGwpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKwogICAgICAgICAvLyBJZiB0aGlzIGxheWVyIGNhbid0IGRvIHRoZSBzY3JvbGwgd2UgYXNr
IHRoZSBuZXh0IGxheWVyIHVwIHRoYXQgY2FuIHNjcm9sbCB0byB0cnkKICAgICAgICAgSW50U2l6
ZSByZW1haW5pbmdTY3JvbGxPZmZzZXQgPSBuZXdTY3JvbGxPZmZzZXQgLSBzY3JvbGxPZmZzZXQo
KTsKICAgICAgICAgYm9vbCBkaWRTY3JvbGwgPSB0cnVlOwogICAgICAgICBpZiAoIXJlbWFpbmlu
Z1Njcm9sbE9mZnNldC5pc1plcm8oKSAmJiByZW5kZXJlcigpLT5wYXJlbnQoKSkgewogICAgICAg
ICAgICAgaWYgKFJlbmRlckxheWVyKiBzY3JvbGxhYmxlTGF5ZXIgPSBlbmNsb3NpbmdTY3JvbGxh
YmxlTGF5ZXIoKSkKLSAgICAgICAgICAgICAgICBkaWRTY3JvbGwgPSBzY3JvbGxhYmxlTGF5ZXIt
PnNjcm9sbEJ5UmVjdXJzaXZlbHkocmVtYWluaW5nU2Nyb2xsT2Zmc2V0LCBjbGFtcCk7CisgICAg
ICAgICAgICAgICAgZGlkU2Nyb2xsID0gc2Nyb2xsYWJsZUxheWVyLT5zY3JvbGxCeShyZW1haW5p
bmdTY3JvbGxPZmZzZXQsIGNsYW1wLCBzaG91bGRQcm9wYWdhdGUpOwogCiAgICAgICAgICAgICBG
cmFtZSogZnJhbWUgPSByZW5kZXJlcigpLT5mcmFtZSgpOwogICAgICAgICAgICAgaWYgKGZyYW1l
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAyYWFmMGFlZWEzZGFj
NjVkYmMyMjg2ODgwNjkxZjU3OGY4ZjIzZWQ3Li4wYjY3NDUzM2U2ZDUyZDI2NWJjMDViOWEzN2Nh
MzcyMmIzNmYyOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
MzI4LDggKzMyOCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIFNjcm9sbE9mZnNldENsYW1wZWQKICAg
ICB9OwogCisgICAgZW51bSBTY3JvbGxQcm9wYWdhdGlvbiB7CisgICAgICAgIFNob3VsZFByb3Bh
Z2F0ZVNjcm9sbCwKKyAgICAgICAgRG9udFByb3BhZ2F0ZVNjcm9sbAorICAgIH07CisKICAgICAv
LyBTY3JvbGxpbmcgbWV0aG9kcyBmb3IgbGF5ZXJzIHRoYXQgY2FuIHNjcm9sbCB0aGVpciBvdmVy
Zmxvdy4KLSAgICBib29sIHNjcm9sbEJ5UmVjdXJzaXZlbHkoY29uc3QgSW50U2l6ZSYsIFNjcm9s
bE9mZnNldENsYW1waW5nID0gU2Nyb2xsT2Zmc2V0VW5jbGFtcGVkKTsKKyAgICBib29sIHNjcm9s
bEJ5KGNvbnN0IEludFNpemUmLCBTY3JvbGxPZmZzZXRDbGFtcGluZyA9IFNjcm9sbE9mZnNldFVu
Y2xhbXBlZCwgU2Nyb2xsUHJvcGFnYXRpb24gPSBEb250UHJvcGFnYXRlU2Nyb2xsKTsKKyAgICB2
b2lkIHNjcm9sbEJ5UmVjdXJzaXZlbHkoY29uc3QgSW50U2l6ZSYsIFNjcm9sbE9mZnNldENsYW1w
aW5nID0gU2Nyb2xsT2Zmc2V0VW5jbGFtcGVkKTsKICAgICB2b2lkIHNjcm9sbFRvT2Zmc2V0KGNv
bnN0IEludFNpemUmLCBTY3JvbGxPZmZzZXRDbGFtcGluZyA9IFNjcm9sbE9mZnNldFVuY2xhbXBl
ZCk7CiAgICAgdm9pZCBzY3JvbGxUb1hPZmZzZXQoaW50IHgsIFNjcm9sbE9mZnNldENsYW1waW5n
IGNsYW1wID0gU2Nyb2xsT2Zmc2V0VW5jbGFtcGVkKSB7IHNjcm9sbFRvT2Zmc2V0KEludFNpemUo
eCwgc2Nyb2xsWU9mZnNldCgpKSwgY2xhbXApOyB9CiAgICAgdm9pZCBzY3JvbGxUb1lPZmZzZXQo
aW50IHksIFNjcm9sbE9mZnNldENsYW1waW5nIGNsYW1wID0gU2Nyb2xsT2Zmc2V0VW5jbGFtcGVk
KSB7IHNjcm9sbFRvT2Zmc2V0KEludFNpemUoc2Nyb2xsWE9mZnNldCgpLCB5KSwgY2xhbXApOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKaW5kZXgg
MGIwZmYyZGYwODY1MDllNWY3OGZmNjczM2M2ZjI2NDQ4N2JiMjk0MS4uMzRhMmIyNzcwZjZiYzFm
OGQ2OTIwN2M5ZDJiZDY2MzY1MTIyYTU2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYklucHV0RXZlbnQuaApAQCAtMTE1LDYgKzExNSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgR2VzdHVyZVNjcm9sbEJlZ2luLAogICAgICAgICBHZXN0dXJlU2Nyb2xsRW5kLAogICAgICAg
ICBHZXN0dXJlU2Nyb2xsVXBkYXRlLAorICAgICAgICBHZXN0dXJlU2Nyb2xsVXBkYXRlTm90UHJv
cGFnYXRlZCwKICAgICAgICAgR2VzdHVyZUZsaW5nU3RhcnQsCiAgICAgICAgIEdlc3R1cmVGbGlu
Z0NhbmNlbCwKICAgICAgICAgR2VzdHVyZVRhcCwKQEAgLTIyMiw2ICsyMjMsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiB0eXBlID09IEdlc3R1cmVTY3JvbGxCZWdpbgogICAgICAgICAgICAg
fHwgdHlwZSA9PSBHZXN0dXJlU2Nyb2xsRW5kCiAgICAgICAgICAgICB8fCB0eXBlID09IEdlc3R1
cmVTY3JvbGxVcGRhdGUKKyAgICAgICAgICAgIHx8IHR5cGUgPT0gR2VzdHVyZVNjcm9sbFVwZGF0
ZU5vdFByb3BhZ2F0ZWQKICAgICAgICAgICAgIHx8IHR5cGUgPT0gR2VzdHVyZUZsaW5nU3RhcnQK
ICAgICAgICAgICAgIHx8IHR5cGUgPT0gR2VzdHVyZUZsaW5nQ2FuY2VsCiAgICAgICAgICAgICB8
fCB0eXBlID09IEdlc3R1cmVQaW5jaEJlZ2luCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9QYWdlV2lkZ2V0RGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvUGFnZVdpZGdldERlbGVnYXRlLmNwcAppbmRleCA5NmYwOWE2MTAwNzk5MmQ1YWQzY2M1
OTAxMTA5OTRhNDBlZGI1YzMwLi4yZDBiNTgzNzI3OGM5NDgwYjYxMjFlNmM3NzVmNzgxMDczOTg0
N2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlV2lkZ2V0RGVs
ZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BhZ2VXaWRnZXREZWxl
Z2F0ZS5jcHAKQEAgLTE1Miw2ICsxNTIsNyBAQCBib29sIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6aGFu
ZGxlSW5wdXRFdmVudChQYWdlKiBwYWdlLCBQYWdlV2lkZ2V0RXZlbnRIYW5kbGVyJiBoYQogICAg
IGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbEJlZ2luOgogICAgIGNhc2UgV2ViSW5w
dXRFdmVudDo6R2VzdHVyZVNjcm9sbEVuZDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1
cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBk
YXRlTm90UHJvcGFnYXRlZDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVGbGluZ1N0
YXJ0OgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZUZsaW5nQ2FuY2VsOgogICAgIGNh
c2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRhcDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcAppbmRleCA2N2YwYjU2MDcx
NWI4MjE0OGUzNjI1MjZhOGQzYTVhNjExNjQzNWQ0Li4xNTRhYzdmMjNlZGY2NDA2M2IyNDIxYThj
NjljM2U3ODZmZWE2ZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCkBAIC0xNTMsNiArMTUzLDExIEBAIFBsYXRm
b3JtR2VzdHVyZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyKFdpZGdl
dCogd2lkZ2V0LCBjb25zdCBXCiAgICAgICAgIG1fZGVsdGFYID0gZS5kYXRhLnNjcm9sbFVwZGF0
ZS5kZWx0YVg7CiAgICAgICAgIG1fZGVsdGFZID0gZS5kYXRhLnNjcm9sbFVwZGF0ZS5kZWx0YVk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVw
ZGF0ZU5vdFByb3BhZ2F0ZWQ6CisgICAgICAgIG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6Okdlc3R1
cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkOworICAgICAgICBtX2RlbHRhWCA9IGUuZGF0YS5z
Y3JvbGxVcGRhdGUuZGVsdGFYOworICAgICAgICBtX2RlbHRhWSA9IGUuZGF0YS5zY3JvbGxVcGRh
dGUuZGVsdGFZOworICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1
cmVUYXA6CiAgICAgICAgIG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVUYXA7CiAgICAg
ICAgIG1fYXJlYSA9IEludFNpemUoZS5kYXRhLnRhcC53aWR0aCwgZS5kYXRhLnRhcC5oZWlnaHQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFp
bmVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWlu
ZXJJbXBsLmNwcAppbmRleCBiODliY2QxZDczMjczYzZiOTY1NzkwYmE0NmJjMzJjNWNjZDMxMjM5
Li5kYTcwOTI1ZTRkYjk2ZGI0M2VkZmYxNDFiZjM5MzU5MGQ4NGViMmE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcApA
QCAtNzk2LDcgKzc5Niw3IEBAIHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlR2Vz
dHVyZUV2ZW50KEdlc3R1cmVFdmVudCogZXZlbnQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBpZiAod2ViRXZlbnQudHlwZSA9PSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBk
YXRlKSB7CisgICAgaWYgKHdlYkV2ZW50LnR5cGUgPT0gV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNj
cm9sbFVwZGF0ZSB8fCB3ZWJFdmVudC50eXBlID09IFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3Jv
bGxVcGRhdGVOb3RQcm9wYWdhdGVkKSB7CiAgICAgICAgIGlmICghbV9zY3JvbGxiYXJHcm91cCkK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKGdlc3R1cmVTY3JvbGxIZWxwZXIobV9z
Y3JvbGxiYXJHcm91cC5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsUmlnaHQsIHdlYkV2ZW50LmRh
dGEuc2Nyb2xsVXBkYXRlLmRlbHRhWCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBvcHVwTWVudUltcGwuY3BwCmluZGV4IDEwODIwNGYwMjI1ODU1ZmUxMjRhOTc0OTU3OWZm
MzYwYTdjNzBjN2UuLjI0ZTU1NzE5ZTRhOWZlOThjMmYwZWYzOWQ2Yzk2MzU0ODNhNjJhNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCkBA
IC0yNzMsNiArMjczLDcgQEAgYm9vbCBXZWJQb3B1cE1lbnVJbXBsOjpoYW5kbGVJbnB1dEV2ZW50
KGNvbnN0IFdlYklucHV0RXZlbnQmIGlucHV0RXZlbnQpCiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50
OjpHZXN0dXJlU2Nyb2xsQmVnaW46CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Ny
b2xsRW5kOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZToKKyAg
ICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkOgog
ICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZUZsaW5nU3RhcnQ6CiAgICAgY2FzZSBXZWJJ
bnB1dEV2ZW50OjpHZXN0dXJlRmxpbmdDYW5jZWw6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpH
ZXN0dXJlVGFwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmlu
ZGV4IDQwZjg4NGU3YWViOTA2MTdmMzBmYTMyYzEwMDY3OTZlYjk4NDk2YWYuLjYxMjRiOTQ1ZTNj
MTBmMzk1ZjcyODRiMGQyNWU1Mzc5MDMyZjdjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTgxMSw2ICs4MTEsNyBAQCBib29sIFdlYlZpZXdJbXBs
OjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAg
ICAgbV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7CiAgICAgY2FzZSBX
ZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5kOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6
R2VzdHVyZVNjcm9sbFVwZGF0ZToKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3Jv
bGxVcGRhdGVOb3RQcm9wYWdhdGVkOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRh
cENhbmNlbDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaEVuZDoKICAgICBj
YXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaFVwZGF0ZTogewpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGZjNDY0ODhlNDU3MWMyNGQyMzM5
YTYwZmY0OTM0N2NlZmJmNTgyYWYuLjMxMDQ3NWJmZjM4MGUyNzZlMTg2YzlhZjIwMTRjMTZiYjU3
NjlhOWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMi0wNCAgVGVycnkgQW5kZXJzb24gIDx0ZGFuZGVyc29u
QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZ2VzdHVyZSBzY3JvbGwg
ZXZlbnRzIHRoYXQgZG8gbm90IHByb3BhZ2F0ZSB0byBlbmNsb3Npbmcgc2Nyb2xsYWJsZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODg0OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSBjaHJv
bWl1bSdzIERSVCBFdmVudFNlbmRlciB0byBzdXBwb3J0IHRoZSBuZXcgZXZlbnQgdHlwZQorICAg
ICAgICBHZXN0dXJlU2Nyb2xsVXBkYXRlTm90UHJvcGFnYXRlZC4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0V2ZW50U2VuZGVyLmNwcDoKKyAgICAg
ICAgKFdlYlRlc3RSdW5uZXIpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6RXZlbnRTZW5kZXI6
OkV2ZW50U2VuZGVyKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkV2ZW50U2VuZGVyOjpnZXN0
dXJlU2Nyb2xsVXBkYXRlTm90UHJvcGFnYXRlZCk6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpF
dmVudFNlbmRlcjo6Z2VzdHVyZUV2ZW50KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5oOgorICAgICAgICAoRXZlbnRTZW5kZXIp
OgorCiAyMDEzLTAyLTA0ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gcmVtb3ZlIFdlYlRlc3RQbHVnaW4gZnJvbSB0aGUgcHVibGlj
IFRlc3RSdW5uZXIgQVBJCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5jcHAKaW5kZXggMGE0NDU3ZjRlNGE5
ZTg2NDEyMDNlYTg2Y2Q3MjdlOTg1MTAxMjBiYy4uNDgzMGUyNzdjMTY5NjEwMmE4NDc2NDRlYTU4
MmFhMDBhNjAzOTEzNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0V2ZW50U2VuZGVyLmNwcApAQCAtMjk0LDYgKzI5NCw3
IEBAIEV2ZW50U2VuZGVyOjpFdmVudFNlbmRlcigpCiAgICAgYmluZE1ldGhvZCgiZ2VzdHVyZVNj
cm9sbEVuZCIsICZFdmVudFNlbmRlcjo6Z2VzdHVyZVNjcm9sbEVuZCk7CiAgICAgYmluZE1ldGhv
ZCgiZ2VzdHVyZVNjcm9sbEZpcnN0UG9pbnQiLCAmRXZlbnRTZW5kZXI6Omdlc3R1cmVTY3JvbGxG
aXJzdFBvaW50KTsKICAgICBiaW5kTWV0aG9kKCJnZXN0dXJlU2Nyb2xsVXBkYXRlIiwgJkV2ZW50
U2VuZGVyOjpnZXN0dXJlU2Nyb2xsVXBkYXRlKTsKKyAgICBiaW5kTWV0aG9kKCJnZXN0dXJlU2Ny
b2xsVXBkYXRlTm90UHJvcGFnYXRlZCIsICZFdmVudFNlbmRlcjo6Z2VzdHVyZVNjcm9sbFVwZGF0
ZU5vdFByb3BhZ2F0ZWQpOwogICAgIGJpbmRNZXRob2QoImdlc3R1cmVUYXAiLCAmRXZlbnRTZW5k
ZXI6Omdlc3R1cmVUYXApOwogICAgIGJpbmRNZXRob2QoImdlc3R1cmVUYXBEb3duIiwgJkV2ZW50
U2VuZGVyOjpnZXN0dXJlVGFwRG93bik7CiAgICAgYmluZE1ldGhvZCgiZ2VzdHVyZVRhcENhbmNl
bCIsICZFdmVudFNlbmRlcjo6Z2VzdHVyZVRhcENhbmNlbCk7CkBAIC0xMTM4LDYgKzExMzksMTIg
QEAgdm9pZCBFdmVudFNlbmRlcjo6Z2VzdHVyZVNjcm9sbFVwZGF0ZShjb25zdCBDcHBBcmd1bWVu
dExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWEKICAgICBnZXN0dXJlRXZlbnQoV2ViSW5wdXRFdmVu
dDo6R2VzdHVyZVNjcm9sbFVwZGF0ZSwgYXJndW1lbnRzKTsKIH0KIAordm9pZCBFdmVudFNlbmRl
cjo6Z2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnNldE51bGwo
KTsKKyAgICBnZXN0dXJlRXZlbnQoV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZU5v
dFByb3BhZ2F0ZWQsIGFyZ3VtZW50cyk7Cit9CisKIHZvaWQgRXZlbnRTZW5kZXI6Omdlc3R1cmVU
YXAoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkK
IHsKICAgICByZXN1bHQtPnNldE51bGwoKTsKQEAgLTExOTYsNiArMTIwMyw3IEBAIHZvaWQgRXZl
bnRTZW5kZXI6Omdlc3R1cmVFdmVudChXZWJJbnB1dEV2ZW50OjpUeXBlIHR5cGUsIGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYKIAogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgV2ViSW5wdXRF
dmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZToKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1
cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkOgogICAgICAgICBldmVudC5kYXRhLnNjcm9sbFVw
ZGF0ZS5kZWx0YVggPSBzdGF0aWNfY2FzdDxmbG9hdD4oYXJndW1lbnRzWzBdLnRvRG91YmxlKCkp
OwogICAgICAgICBldmVudC5kYXRhLnNjcm9sbFVwZGF0ZS5kZWx0YVkgPSBzdGF0aWNfY2FzdDxm
bG9hdD4oYXJndW1lbnRzWzFdLnRvRG91YmxlKCkpOwogICAgICAgICBldmVudC54ID0gbV9jdXJy
ZW50R2VzdHVyZUxvY2F0aW9uLng7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuaAppbmRleCAwN2Y5MjhkMDU1
M2VkNThhMDFlZGJiYWNhNjJhZGI0YzRlYzI4ZTNjLi5iOGFlNmRhNmU2NmM1NGM0ZTg1ZDM3Mzg1
YmE3NTA2MWQ3ODc0YzFhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0V2ZW50U2VuZGVyLmgKQEAgLTEwOCw2ICsxMDgsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBnZXN0dXJlU2Nyb2xsRW5kKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIGdlc3R1cmVTY3JvbGxGaXJzdFBvaW50KGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKICAgICB2b2lkIGdlc3R1cmVTY3JvbGxV
cGRhdGUoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQgZ2Vz
dHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3Bw
VmFyaWFudCopOwogICAgIHZvaWQgZ2VzdHVyZVRhcChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBD
cHBWYXJpYW50Kik7CiAgICAgdm9pZCBnZXN0dXJlVGFwRG93bihjb25zdCBDcHBBcmd1bWVudExp
c3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBnZXN0dXJlVGFwQ2FuY2VsKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNDg3ODM4YWFmNDAxYzZlYWM5MWUx
MDM3OWM5ZTdlM2M1ZjNhMDlkLi5kODRhYmM2ZjhhOTJlOTJiYTU3M2YyOTE0OTMxNDk0MzNiNjZl
ZjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTMtMDItMDQgIFRlcnJ5IEFuZGVyc29uICA8
dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGdlc3R1
cmUgc2Nyb2xsIGV2ZW50cyB0aGF0IGRvIG5vdCBwcm9wYWdhdGUgdG8gZW5jbG9zaW5nIHNjcm9s
bGFibGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDg4NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
ZXcgdGVzdHMgYWRkZWQgdG8gZW5zdXJlIHRoYXQgR2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3Bh
Z2F0ZWQgZXZlbnRzIHdpbGwgbm90CisgICAgICAgIHByb3BhZ2F0ZSB0byB0aGUgc2Nyb2xsYWJs
ZSBwYXJlbnQgb2YgdGhlaXIgdGFyZ2V0IHdoZW4gdGhlIHRhcmdldCBoYXMgbm8gYXJlYQorICAg
ICAgICBsZWZ0IHRvIGJlIHNjcm9sbGVkLgorCisgICAgICAgIE1vZGlmaWVkIHR3byBjaHJvbWl1
bS1zcGVjaWZpYyBwbHVnaW4gdGVzdHMgdG8gZW5zdXJlIHRoYXQgdGhlIHBsdWdpbnMgcmVjZWl2
ZQorICAgICAgICBHZXN0dXJlU2Nyb2xsVXBkYXRlIGV2ZW50cyB3aGVuIEdlc3R1cmVTY3JvbGxV
cGRhdGVOb3RQcm9wYWdhdGVkIGV2ZW50cyBhcmUKKyAgICAgICAgZGlzcGF0Y2hlZCB0byB0aGVt
LgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNj
cm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3QtcHJv
cGFnYXRlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJl
L3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVy
ZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJv
cGFnYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNo
L2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0
dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dl
c3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91
Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLW5vdC1wcm9wYWdhdGVkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0
dXJlLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1
Z2lucy9nZXN0dXJlLWV2ZW50cy1zY3JvbGxlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy1zY3JvbGxlZC5odG1sOgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMuaHRtbDoKKwog
MjAxMy0wMi0wNCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBBZGQgcGFyc2luZyBmb3IgZ3JpZC1hdXRvLWZsb3cK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gt
Z2VzdHVyZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LW5v
dC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zN2UxOTA0MmFmZmFlNzMyMTA1
OWY4NmVkNDRiODE1ZmVlZTNkMTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXByb3Bh
Z2F0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworVGhpcyB0ZXN0cyB0aGF0IGEg
Z2VzdHVyZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBhbiBpbm5lciBkaXYgdG8gYW4g
b3V0ZXIgZGl2IHdoZW4gdGhlIGlubmVyIGRpdiBoYXMgbm8gcmVtYWluaW5nIHNjcm9sbCBvZmZz
ZXQgd2hlbiB0aGUgR2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQgZXZlbnQgdHlwZSBp
cyB1c2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZ2VzdHVyZSBldmVudHMg
bm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0gb3IgZ2VzdHVyZSBldmVudCBzY3JvbGxp
bmcgb2YgYSBkb2N1bWVudCBpcyBicm9rZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3QtcHJvcGFnYXRlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJl
LXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTBjOTgxMGM4OWE2
ZGI0NDQyZDdkOGYwNTQzYmMxMjUwMmJlYzc2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90
LXByb3BhZ2F0ZWQuaHRtbApAQCAtMCwwICsxLDE2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dl
c3R1cmUtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCis6
Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICB3aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4Owor
fQorCisjZ3JlZW5ib3ggeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJh
Y2tncm91bmQ6IGdyZWVuOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCisj
cmVkYm94IHsKKyAgd2lkdGg6IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5k
OiByZWQ7CisgIHBhZGRpbmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyNibHVlYm94IHsK
KyAgd2lkdGg6IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiBibHVlOwor
ICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCisjaW5uZXJkaXYgeworICAgIHdp
ZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIG92ZXJmbG93LXk6IHNjcm9sbDsK
KyAgICBvdmVyZmxvdy14OiBzY3JvbGw7Cit9CisKKyNvdXRlcmRpdiB7CisgICAgd2lkdGg6IDI1
MHB4OworICAgIGhlaWdodDogMjUwcHg7CisgICAgb3ZlcmZsb3cteTogc2Nyb2xsOworICAgIG92
ZXJmbG93LXg6IHNjcm9sbDsKK30KKwordGQgeworICBwYWRkaW5nOiAwcHg7Cit9CisKKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD0icnVuVGVzdCgpOyI+
CisKKzxkaXYgaWQ9Im91dGVyZGl2Ij4KKyAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9
IjBweCIgPgorICAgIDx0cj48dGQ+CisgICAgICA8ZGl2IGlkPSJpbm5lcmRpdiI+CisgICAgICAg
IDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwcHgiID4KKyAgICAgICAgICA8dHI+PHRk
PjxkaXYgaWQ9ImdyZWVuYm94Ij48L2Rpdj48L3RkPjwvdHI+CisgICAgICAgICAgPHRyPjx0ZD48
ZGl2IGlkPSJyZWRib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICAgICAgICA8dHI+PHRkPjxkaXYg
aWQ9ImdyZWVuYm94Ij48L2Rpdj48L3RkPjwvdHI+CisgICAgICAgICAgPHRyPjx0ZD48ZGl2IGlk
PSJyZWRib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgIDwvZGl2
PgorICAgIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkPgorICAgICAgPGRpdiBpZD0iYmx1ZWJveCI+
PC9kaXY+CisgICAgPC90ZD48L3RyPgorICA8L3RhYmxlPgorPC9kaXY+CisKKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CisKK3ZhciBtb3ZlZGJveDsKK3ZhciB0b3VjaHRhcmdldDsKK3ZhciBl
eHBlY3RlZEdlc3R1cmVzVG90YWwgPSAyOwordmFyIGdlc3R1cmVzT2NjdXJyZWQgPSAwOwordmFy
IHNjcm9sbEFtb3VudFggPSBbJzAnLCAnMCddOwordmFyIHNjcm9sbEFtb3VudFkgPSBbJzAnLCAn
MCddOwordmFyIHdoZWVsRXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIGV4cGVjdGVkV2hlZWxFdmVu
dHNPY2N1cnJlZCA9IFsnMCcsICcwJ107Cit2YXIgc2Nyb2xsRXZlbnRzT2NjdXJyZWQgPSAwOwor
dmFyIHNjcm9sbGVkRWxlbWVudCA9ICdtb3ZlZGJveCcKK3ZhciBzY3JvbGxFdmVudHNPY2N1cnJl
ZCA9IDA7Cit2YXIgZXhwZWN0ZWRTY3JvbGxFdmVudHNPY2N1cnJlZCA9ICcxJzsKKworCitmdW5j
dGlvbiByZWNvcmRTY3JvbGwoZXZlbnQpIHsKKwlkZWJ1Zygnc2Nyb2xsIGV2ZW50ICcgKyBzY3Jv
bGxFdmVudHNPY2N1cnJlZCArICcrPiAnICsgZXZlbnQudGFyZ2V0KTsKKwlzY3JvbGxFdmVudHNP
Y2N1cnJlZCsrOworCisJaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworCQkvLyBCZWNhdXNlIHNj
cm9sbCBldmVudHMgYXJyaXZlIGFzeW5jaHJvbm91c2x5LCBvbmx5IG9uZSB3aWxsIGFycml2ZS4K
KwkgICAgaWYgKGdlc3R1cmVzT2NjdXJyZWQgPT0gZXhwZWN0ZWRHZXN0dXJlc1RvdGFsKSB7CisJ
CQlzaG91bGRCZSgnc2Nyb2xsRXZlbnRzT2NjdXJyZWQnLCBleHBlY3RlZFNjcm9sbEV2ZW50c09j
Y3VycmVkKTsKKwkgICAgICAgIC8vIElmIHdlJ3ZlIGdvdCBoZXJlLCB3ZSd2ZSBwYXNzZWQuCisJ
ICAgICAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCSAgICAgICAgaXNTdWNjZXNzZnVs
bHlQYXJzZWQoKTsKKwkgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKwkgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKwkJfQorICAgIH0KK30KKworCitmdW5jdGlvbiBm
aXJzdEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJmaXJzdCBnZXN0dXJlIik7CisgICAg
ZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKDEwLCA3Mik7CisgICAgZXZlbnRTZW5kZXIu
Z2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQoMCwgLTE1MCk7CisgICAgZXZlbnRTZW5k
ZXIuZ2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKKworICAgIC8vIFdhaXQgZm9yIGxheW91dC4KKyAg
ICBjaGVja1Njcm9sbE9mZnNldCgpOworfQorCitmdW5jdGlvbiBzZWNvbmRHZXN0dXJlU2Nyb2xs
KCkKK3sKKyAgICBkZWJ1Zygic2Vjb25kIGdlc3R1cmUiKTsKKyAgICBldmVudFNlbmRlci5nZXN0
dXJlU2Nyb2xsQmVnaW4oMTIsIDQwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBk
YXRlTm90UHJvcGFnYXRlZCgwLCAtNjApOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxF
bmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQuCisgICAgY2hlY2tTY3JvbGxPZmZz
ZXQoKTsKK30KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBtb3ZlZGJveCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJvdXRlcmRpdiIpOworICAgIHRvdWNodGFyZ2V0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImlubmVyZGl2Iik7CisgICAgdG91Y2h0YXJnZXQuYWRkRXZlbnRM
aXN0ZW5lcigic2Nyb2xsIiwgcmVjb3JkU2Nyb2xsKTsKKyAgICB0b3VjaHRhcmdldC5hZGRFdmVu
dExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgcmVjb3JkV2hlZWwpOworCisgICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0IGEgZ2Vz
dHVyZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBhbiAnICsKKyAgICAgICAgICAgICAg
ICAnaW5uZXIgZGl2IHRvIGFuIG91dGVyIGRpdiB3aGVuIHRoZSBpbm5lciBkaXYgaGFzIG5vICcg
KworICAgICAgICAgICAgICAgICdyZW1haW5pbmcgc2Nyb2xsIG9mZnNldCB3aGVuIHRoZSBHZXN0
dXJlU2Nyb2xsVXBkYXRlTm90UHJvcGFnYXRlZCAnICsKKyAgICAgICAgICAgICAgICAnZXZlbnQg
dHlwZSBpcyB1c2VkLicpOworICAgICAgICBpZiAoY2hlY2tUZXN0RGVwZW5kZW5jaWVzKCkgJiYg
d2luZG93LmV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkKQorICAg
ICAgICAgICAgZmlyc3RHZXN0dXJlU2Nyb2xsKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGV4aXRJZk5lY2Vzc2FyeSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJUaGlzIHRl
c3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUuICBHZXN0dXJlLXNjcm9sbCB0aGUgcGFnZSB0byB2
YWxpZGF0ZSB0aGUgaW1wbGVtZW50YXRpb24uIik7CisgICAgfQorfQorPC9zY3JpcHQ+CisKKwor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90
b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNo
LWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzcxODJiMjRmMWMxMjA1ZmMyM2ZkNzEwNzUzYTRlMTQ4NTE3NjEzYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2Vz
dHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACisKK1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlzIG5vdCBwcm9wYWdh
dGVkIGZyb20gYW4gaWZyYW1lIHRvIGFuIG91dGVyIGRpdiB3aGVuIHRoZSBpZnJhbWUgaGFzIG5v
IHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4gdGhlIGdlc3R1cmUgdHlwZSBHZXN0dXJlU2Ny
b2xsVXBkYXRlTm90UHJvcGFnYXRlZCBpcyB1c2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworZ2VzdHVyZSBldmVudHMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0g
b3IgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcgb2YgYSBkb2N1bWVudCBpcyBicm9rZW4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Ny
b2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjY1ZjlmNGY0ZTczYWI5MWYwMzdlYzE3YzgyODZmNjIzYWY3OTlk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVy
ZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQuaHRtbApAQCAtMCww
ICsxLDE0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCis6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAg
ICB3aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4OworfQorCisjYmx1ZWJveCB7CisgIHdpZHRo
OiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZDogYmx1ZTsKKyAgcGFkZGlu
ZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKworI2NvbnRhaW5lciB7CisgICAgd2lkdGg6IDE1
MHB4OworICAgIGhlaWdodDogMTUwcHg7CisgICAgb3ZlcmZsb3cteTogc2Nyb2xsOworICAgIG92
ZXJmbG93LXg6IHNjcm9sbDsKK30KKworI291dGVyZGl2IHsKKyAgICB3aWR0aDogMjAwcHg7Cisg
ICAgaGVpZ2h0OiAyMDBweDsKKyAgICBvdmVyZmxvdy15OiBzY3JvbGw7CisgICAgb3ZlcmZsb3ct
eDogc2Nyb2xsOworfQorCit0ZCB7CisgIHBhZGRpbmc6IDBweDsKK30KKworPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgPgorCis8ZGl2IGlkPSJvdXRlcmRpdiI+Cisg
IDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwcHgiID4KKyAgICA8dHI+PHRkPgorICAg
ICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAgPGlmcmFtZSBpZD0idG91Y2h0YXJnZXRp
ZnJhbWUiIHNyYz0icmVzb3VyY2VzL3Njcm9sbC1pbnNpZGUtZWRpdGFibGUtaWZyYW1lLmh0bWwi
PjwvaWZyYW1lPgorICAgICAgPC9kaXY+CisgICAgPC90ZD48L3RyPgorICAgIDx0cj48dGQ+Cisg
ICAgICA8ZGl2IGlkPSJibHVlYm94Ij48L2Rpdj4KKyAgICA8L3RkPjwvdHI+CisgIDwvdGFibGU+
Cis8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwordmFyIG1vdmVkYm94Owor
dmFyIHRvdWNodGFyZ2V0OwordmFyIGV4cGVjdGVkR2VzdHVyZXNUb3RhbCA9IDI7Cit2YXIgZ2Vz
dHVyZXNPY2N1cnJlZCA9IDA7Cit2YXIgc2Nyb2xsQW1vdW50WCA9IFsnMCcsICcwJ107Cit2YXIg
c2Nyb2xsQW1vdW50WSA9IFsnMCcsICcwJ107Cit2YXIgd2hlZWxFdmVudHNPY2N1cnJlZCA9IDA7
Cit2YXIgZXhwZWN0ZWRXaGVlbEV2ZW50c09jY3VycmVkID0gWycwJywgJzAnXTsKK3ZhciBzY3Jv
bGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgc2Nyb2xsZWRFbGVtZW50ID0gJ21vdmVkYm94Jwor
dmFyIHNjcm9sbEV2ZW50c09jY3VycmVkID0gMDsKK3ZhciBleHBlY3RlZFNjcm9sbEV2ZW50c09j
Y3VycmVkID0gJzEnOworCisKK2Z1bmN0aW9uIHJlY29yZFNjcm9sbChldmVudCkgeworCWRlYnVn
KCdzY3JvbGwgZXZlbnQgJyArIHNjcm9sbEV2ZW50c09jY3VycmVkICsgJys+ICcgKyBldmVudC50
YXJnZXQpOworCXNjcm9sbEV2ZW50c09jY3VycmVkKys7CisKKwlpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisJCS8vIEJlY2F1c2Ugc2Nyb2xsIGV2ZW50cyBhcnJpdmUgYXN5bmNocm9ub3VzbHks
IG9ubHkgb25lIHdpbGwgYXJyaXZlLgorCSAgICBpZiAoZ2VzdHVyZXNPY2N1cnJlZCA9PSBleHBl
Y3RlZEdlc3R1cmVzVG90YWwpIHsKKwkJCXNob3VsZEJlKCdzY3JvbGxFdmVudHNPY2N1cnJlZCcs
IGV4cGVjdGVkU2Nyb2xsRXZlbnRzT2NjdXJyZWQpOworCSAgICAgICAgLy8gSWYgd2UndmUgZ290
IGhlcmUsIHdlJ3ZlIHBhc3NlZC4KKwkgICAgICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisJICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworCSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorCSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworCQl9Cisg
ICAgfQorfQorCisKK2Z1bmN0aW9uIGZpcnN0R2VzdHVyZVNjcm9sbCgpCit7CisgICAgZGVidWco
ImZpcnN0IGdlc3R1cmUiKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsQmVnaW4oMTAs
IDcyKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRlTm90UHJvcGFnYXRlZCgw
LCAtNzAwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAg
Ly8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2Z1bmN0
aW9uIHNlY29uZEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJzZWNvbmQgZ2VzdHVyZSIp
OworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgNDApOworICAgIGV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkKDAsIC0xMDApOworICAgIGV2
ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlv
dXQuCisgICAgY2hlY2tTY3JvbGxPZmZzZXQoKTsKK30KKworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBydW5UZXN0KCkK
K3sKKyAgICBtb3ZlZGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRlcmRpdiIpOwor
ICAgIHRvdWNodGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvdWNodGFyZ2V0aWZy
YW1lIik7CisgICAgdG91Y2h0YXJnZXQuY29udGVudERvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIo
InNjcm9sbCIsIHJlY29yZFNjcm9sbCk7CisgICAgdG91Y2h0YXJnZXQuY29udGVudERvY3VtZW50
LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V3aGVlbCIsIHJlY29yZFdoZWVsKTsKKworICAg
IGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZGVzY3JpcHRpb24oJ1RoaXMgdGVz
dHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlzIG5vdCBwcm9wYWdhdGVkIGZyb20gYW4gJyArCisg
ICAgICAgICAgICAgICAgJ2lmcmFtZSB0byBhbiBvdXRlciBkaXYgd2hlbiB0aGUgaWZyYW1lIGhh
cyBubyByZW1haW5pbmcgJyArCisgICAgICAgICAgICAgICAgJ3Njcm9sbCBvZmZzZXQgd2hlbiB0
aGUgZ2VzdHVyZSB0eXBlIEdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkIGlzIHVzZWQu
Jyk7CisgICAgICAgIGlmIChjaGVja1Rlc3REZXBlbmRlbmNpZXMoKSAmJiB3aW5kb3cuZXZlbnRT
ZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQpCisgICAgICAgICAgICBmaXJz
dEdlc3R1cmVTY3JvbGwoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhpdElmTmVjZXNz
YXJ5KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBE
dW1wUmVuZGVyVHJlZS4gIEdlc3R1cmUtc2Nyb2xsIHRoZSBwYWdlIHRvIHZhbGlkYXRlIHRoZSBp
bXBsZW1lbnRhdGlvbi4iKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKworCisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xs
LXBhZ2Utbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4OWUyYzYwMDk3
NDJlODc5ZmI4NGNiMDgxM2FkZWNiYTY0OWU1YWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2Ut
bm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworVGhpcyB0ZXN0
cyB0aGF0IGEgZ2VzdHVyZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBhIGRpdiB0byB0
aGUgcGFnZSB3aGVuIHRoZSBkaXYgaGFzIG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4g
dGhlIEdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkIGV2ZW50IHR5cGUgaXMgdXNlZC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2dlc3R1cmUgZXZlbnRzIG5vdCBpbXBs
ZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtIG9yIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9mIGEg
ZG9jdW1lbnQgaXMgYnJva2VuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gv
Z2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLW5vdC1wcm9wYWdhdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xs
LXBhZ2Utbm90LXByb3BhZ2F0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2VlNDRlOGE0MGJjNTk3ZWU1
MDU2ZmRiZmNiZGMwMmQ3MmNkNjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLW5vdC1wcm9w
YWdhdGVkLmh0bWwKQEAgLTAsMCArMSwxNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9nZXN0dXJl
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKzo6LXdlYmtp
dC1zY3JvbGxiYXIgeworICAgIHdpZHRoOiAwcHg7CisgICAgaGVpZ2h0OiAwcHg7Cit9CisKKyNn
cmVlbmJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3Vu
ZDogZ3JlZW47CisgIHBhZGRpbmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyNyZWRib3gg
eworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IHJlZDsK
KyAgcGFkZGluZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKworI2JsdWVib3ggeworICB3aWR0
aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IGJsdWU7CisgIHBhZGRp
bmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyN5ZWxsb3dib3ggeworICB3aWR0aDogMTAw
cHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgcGFkZGluZzog
MHB4OworICBtYXJnaW46IDBweDsKK30KKworI3RvdWNodGFyZ2V0ZGl2IHsKKyAgICB3aWR0aDog
MjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBvdmVyZmxvdy15OiBzY3JvbGw7CisgICAg
b3ZlcmZsb3cteDogc2Nyb2xsOworfQorCit0ZCB7CisgIHBhZGRpbmc6IDBweDsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD0icnVuVGVzdCgpOyI+
CisKKzxkaXYgaWQ9InRvdWNodGFyZ2V0ZGl2Ij4KKyAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNw
YWNpbmc9IjBweCIgPgorICAgIDx0cj48dGQ+PGRpdiBpZD0ieWVsbG93Ym94Ij48L2Rpdj48L3Rk
PjwvdHI+CisgICAgPHRyPjx0ZD48ZGl2IGlkPSJibHVlYm94Ij48L2Rpdj48L3RkPjwvdHI+Cisg
ICAgPHRyPjx0ZD48ZGl2IGlkPSJ5ZWxsb3dib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICA8dHI+
PHRkPjxkaXYgaWQ9ImJsdWVib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKzwvZGl2
PgorCis8dGFibGUgaWQ9InRhYmxlX3RvX2ZpbGwiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjBw
eCI+CisgIDx0cj48dGQ+PGRpdiBpZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgPHRy
Pjx0ZD48ZGl2IGlkPSJyZWRib3giPjwvZGl2PjwvdGQ+PC90cj4KKzwvdGFibGU+CisKKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3ZhciB0b3VjaHRhcmdldDsKK3ZhciBleHBlY3RlZEdl
c3R1cmVzVG90YWwgPSAyOwordmFyIGdlc3R1cmVzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbEFt
b3VudFggPSBbJzAnLCAnMCddOwordmFyIHNjcm9sbEFtb3VudFkgPSBbJzAnLCAnMCddOwordmFy
IHdoZWVsRXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIGV4cGVjdGVkV2hlZWxFdmVudHNPY2N1cnJl
ZCA9IFsnMCcsICcwJ107Cit2YXIgc2Nyb2xsRXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9s
bGVkRWxlbWVudCA9ICdkb2N1bWVudC5ib2R5JwordmFyIHNjcm9sbEV2ZW50c09jY3VycmVkID0g
MDsKK3ZhciBleHBlY3RlZFNjcm9sbEV2ZW50c09jY3VycmVkID0gJzEnOworCitmdW5jdGlvbiBy
ZWNvcmRTY3JvbGwoZXZlbnQpIHsKKwlkZWJ1Zygnc2Nyb2xsIGV2ZW50ICcgKyBzY3JvbGxFdmVu
dHNPY2N1cnJlZCArICcrPiAnICsgZXZlbnQudGFyZ2V0KTsKKwlzY3JvbGxFdmVudHNPY2N1cnJl
ZCsrOworCisJaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworCQkvLyBCZWNhdXNlIHNjcm9sbCBl
dmVudHMgYXJyaXZlIGFzeW5jaHJvbm91c2x5LCBvbmx5IG9uZSB3aWxsIGFycml2ZS4KKwkgICAg
aWYgKGdlc3R1cmVzT2NjdXJyZWQgPT0gZXhwZWN0ZWRHZXN0dXJlc1RvdGFsKSB7CisJCQlzaG91
bGRCZSgnc2Nyb2xsRXZlbnRzT2NjdXJyZWQnLCBleHBlY3RlZFNjcm9sbEV2ZW50c09jY3VycmVk
KTsKKwkgICAgICAgIC8vIElmIHdlJ3ZlIGdvdCBoZXJlLCB3ZSd2ZSBwYXNzZWQuCisJICAgICAg
ICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCSAgICAgICAgaXNTdWNjZXNzZnVsbHlQYXJz
ZWQoKTsKKwkgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKwkgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKwkJfQorICAgIH0KK30KKworLy8gQWx3YXlzIGNvbnN0cnVj
dCBhIHBhZ2UgbGFyZ2VyIHRoYW4gdGhlIHZlcnRpY2FsIGhlaWdodCBvZiB0aGUgd2luZG93Lgor
ZnVuY3Rpb24gYnVpbGRQYWdlKCkKK3sKKyAgICB2YXIgdGFibGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGFibGVfdG9fZmlsbCcpOworICAgIHZhciB0YXJnZXRIZWlnaHQgPSBkb2N1bWVu
dC5ib2R5Lm9mZnNldEhlaWdodDsKKyAgICB2YXIgY2VsbFBhaXJIZWlnaHQgPSB0YWJsZS5vZmZz
ZXRIZWlnaHQ7CisgICAgdmFyIG51bWJlck9mUmVwcyA9IHRhcmdldEhlaWdodCAvIGNlbGxQYWly
SGVpZ2h0ICogMjsKKyAgICB2YXIgaTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtYmVyT2ZSZXBz
OyBpKyspIHsKKyAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwor
ICAgICAgICBwLmlubmVySFRNTCA9ICc8dGQ+PGRpdiBpZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+
JzsKKyAgICAgICAgdGFibGUuYXBwZW5kQ2hpbGQocCk7CisgICAgICAgIHZhciBwID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgndHInKTsKKyAgICAgICAgcC5pbm5lckhUTUwgPSAnPHRkPjxkaXYg
aWQ9InJlZGJveCI+PC9kaXY+PC90ZD4nOworICAgICAgICB0YWJsZS5hcHBlbmRDaGlsZChwKTsK
KyAgICB9Cit9CisKK2Z1bmN0aW9uIGZpcnN0R2VzdHVyZVNjcm9sbCgpCit7CisgICAgZGVidWco
ImZpcnN0IGdlc3R1cmUiKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsQmVnaW4oMTAs
IDcyKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRlTm90UHJvcGFnYXRlZCgw
LCAtMTEwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAg
Ly8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2Z1bmN0
aW9uIHNlY29uZEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJzZWNvbmQgZ2VzdHVyZSIp
OworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgNDApOworICAgIGV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkKDAsIC0yNTApOworICAgIGV2
ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlv
dXQuCisgICAgY2hlY2tTY3JvbGxPZmZzZXQoKTsKK30KKworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBydW5UZXN0KCkK
K3sKKyAgICBidWlsZFBhZ2UoKTsKKyAgICB0b3VjaHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0b3VjaHRhcmdldGRpdicpOworICAgIHRvdWNodGFyZ2V0LmFkZEV2ZW50TGlzdGVu
ZXIoInNjcm9sbCIsIHJlY29yZFNjcm9sbCk7CisgICAgdG91Y2h0YXJnZXQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2V3aGVlbCIsIHJlY29yZFdoZWVsKTsKKworICAgIGlmICh3aW5kb3cuZXZlbnRT
ZW5kZXIpIHsKKyAgICAgICAgZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUg
c2Nyb2xsIGlzIG5vdCBwcm9wYWdhdGVkIGZyb20gYSBkaXYgJyArIAorICAgICAgICAgICAgICAg
ICd0byB0aGUgcGFnZSB3aGVuIHRoZSBkaXYgaGFzIG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0
IHdoZW4gJyArCisgICAgICAgICAgICAgICAgJ3RoZSBHZXN0dXJlU2Nyb2xsVXBkYXRlTm90UHJv
cGFnYXRlZCBldmVudCB0eXBlIGlzIHVzZWQuJyk7CisgICAgICAgIGlmIChjaGVja1Rlc3REZXBl
bmRlbmNpZXMoKSAmJiB3aW5kb3cuZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFBy
b3BhZ2F0ZWQpCisgICAgICAgICAgICBmaXJzdEdlc3R1cmVTY3JvbGwoKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgZXhpdElmTmVjZXNzYXJ5KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
ZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZS4gIEdlc3R1cmUtc2Nyb2xs
IHRoZSBwYWdlIHRvIHZhbGlkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbi4iKTsKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKworCisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVy
ZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1z
Y3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDM1MDQw
Nzg3YWMzZjQyYTE2YWVjNjY0NWUxMTExMTI2ZjIzMzhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3Vj
aC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTkgQEAKK1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlzIG5vdCBwcm9wYWdh
dGVkIGZyb20gYW4gaW5uZXIgZGl2IHRvIGFuIG91dGVyIGRpdiB3aGVuIHRoZSBpbm5lciBkaXYg
aGFzIG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4gdGhlIEdlc3R1cmVTY3JvbGxVcGRh
dGVOb3RQcm9wYWdhdGVkIGV2ZW50IHR5cGUgaXMgdXNlZC4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK2ZpcnN0IGdlc3R1cmUKK1BBU1MgbW92ZWRib3guc2Nyb2xsVG9wIGlzIDAK
K1BBU1MgbW92ZWRib3guc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQg
aXMgMAorc2Vjb25kIGdlc3R1cmUKK1BBU1MgbW92ZWRib3guc2Nyb2xsVG9wIGlzIDAKK1BBU1Mg
bW92ZWRib3guc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQgaXMgMAor
c2Nyb2xsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQorUEFTUyBzY3JvbGxFdmVu
dHNPY2N1cnJlZCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXBy
b3BhZ2F0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXBy
b3BhZ2F0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NzQwNmM1ZjQ2NzI2MTk2ZTVmOWI5
ZDRkZWRiMTM0MDA2MWNlYzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xs
LWlmcmFtZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorCitU
aGlzIHRlc3RzIHRoYXQgYSBnZXN0dXJlIHNjcm9sbCBpcyBub3QgcHJvcGFnYXRlZCBmcm9tIGFu
IGlmcmFtZSB0byBhbiBvdXRlciBkaXYgd2hlbiB0aGUgaWZyYW1lIGhhcyBubyByZW1haW5pbmcg
c2Nyb2xsIG9mZnNldCB3aGVuIHRoZSBnZXN0dXJlIHR5cGUgR2VzdHVyZVNjcm9sbFVwZGF0ZU5v
dFByb3BhZ2F0ZWQgaXMgdXNlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2Zp
cnN0IGdlc3R1cmUKK1BBU1MgbW92ZWRib3guc2Nyb2xsVG9wIGlzIDAKK1BBU1MgbW92ZWRib3gu
c2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQgaXMgMAorc2Vjb25kIGdl
c3R1cmUKK1BBU1MgbW92ZWRib3guc2Nyb2xsVG9wIGlzIDAKK1BBU1MgbW92ZWRib3guc2Nyb2xs
TGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQgaXMgMAorc2Nyb2xsIGV2ZW50IDAr
PiBbb2JqZWN0IEhUTUxEb2N1bWVudF0KK1BBU1Mgc2Nyb2xsRXZlbnRzT2NjdXJyZWQgaXMgMQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dl
c3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0
dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2Utbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU4YWU4ZTI3ZWZkYzljNzVhZGVhZTAzZjRlY2JkOTcxYTI2ZjNjYzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50
cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2Utbm90LXByb3BhZ2F0ZWQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUg
c2Nyb2xsIGlzIG5vdCBwcm9wYWdhdGVkIGZyb20gYSBkaXYgdG8gdGhlIHBhZ2Ugd2hlbiB0aGUg
ZGl2IGhhcyBubyByZW1haW5pbmcgc2Nyb2xsIG9mZnNldCB3aGVuIHRoZSBHZXN0dXJlU2Nyb2xs
VXBkYXRlTm90UHJvcGFnYXRlZCBldmVudCB0eXBlIGlzIHVzZWQuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitmaXJzdCBnZXN0dXJlCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xs
VG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlzIDAKK1BBU1Mgd2hlZWxF
dmVudHNPY2N1cnJlZCBpcyAwCitzZWNvbmQgZ2VzdHVyZQorUEFTUyBkb2N1bWVudC5ib2R5LnNj
cm9sbFRvcCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdo
ZWVsRXZlbnRzT2NjdXJyZWQgaXMgMAorc2Nyb2xsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZF
bGVtZW50XQorUEFTUyBzY3JvbGxFdmVudHNPY2N1cnJlZCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLWV4
cGVjdGVkLnR4dAppbmRleCAxNjJkZmY0OGNkYmFjZjg0NDBjODZjYWU2MTM5MDc1Nzg4ZjM5NDJh
Li5jNGJhMmIzYTJlNTU5NzM0NDFlMmE4Y2ZlYmZkZjNiZWRlZWZkYjQwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1
cmUtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNiw1ICs2LDYgQEAgUGx1Z2luIHJlY2VpdmVkIGV2
ZW50OiBNb3VzZVVwCiBQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVUYXBEb3duCiBQbHVn
aW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxCZWdpbgogUGx1Z2luIHJlY2VpdmVkIGV2
ZW50OiBHZXN0dXJlU2Nyb2xsVXBkYXRlCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVT
Y3JvbGxVcGRhdGUKIFBsdWdpbiByZWNlaXZlZCBldmVudDogR2VzdHVyZVNjcm9sbEVuZAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUt
ZXZlbnRzLXNjcm9sbGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtc2Nyb2xsZWQtZXhwZWN0ZWQudHh0CmluZGV4IDg0
YTBlZDg2N2MyMmI0ZmFiY2YzMmVjZTM1OWI5ZjA2ZjExMDBhNTQuLjE0NzNhNDQ3NjVjNjAyYWQ5
MjFjODBmNjY1ODVlMDQ4NGJjODY5NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtc2Nyb2xsZWQtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMt
c2Nyb2xsZWQtZXhwZWN0ZWQudHh0CkBAIC01LDUgKzUsNiBAQCBQbHVnaW4gcmVjZWl2ZWQgZXZl
bnQ6IE1vdXNlRG93bgogUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBNb3VzZVVwCiBQbHVnaW4gcmVj
ZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxCZWdpbgogUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBH
ZXN0dXJlU2Nyb2xsVXBkYXRlCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxV
cGRhdGUKIFBsdWdpbiByZWNlaXZlZCBldmVudDogR2VzdHVyZVNjcm9sbEVuZAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRz
LXNjcm9sbGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dl
c3R1cmUtZXZlbnRzLXNjcm9sbGVkLmh0bWwKaW5kZXggYzhkMTk3MWZjM2YwYmFkODkzMjc2MDY5
ZGYxMmY5M2M4MTNkZjY4MS4uMmFlZWZiM2UzNzBlYmIzODdhYmRhNjMwNGU0ZTUyN2YxNWMwMTEw
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0
dXJlLWV2ZW50cy1zY3JvbGxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtc2Nyb2xsZWQuaHRtbApAQCAtMzUsNiArMzUsNyBA
QAogICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlVGFwKHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsK
ICAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKHBvc2l0aW9uWCwgcG9zaXRp
b25ZKTsKICAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgzMCwgMCk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkKDMwLCAw
KTsKICAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVy
ZS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2Vz
dHVyZS1ldmVudHMuaHRtbAppbmRleCBlNDdiY2U1NTBhNTRjZDBkMDVjYTlkYTNjZGQwN2NkMzAz
ZDQwN2M0Li43Mzk3ODVmMGZkZDdkOGQ4MjcyMGM5Mjk5OWEzYWRkYzliNTAzNzY3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJl
LWV2ZW50cy5odG1sCkBAIC0yNCw2ICsyNCw3IEBACiAgICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1
cmVUYXBEb3duKHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsKICAgICAgICAgZXZlbnRTZW5kZXIuZ2Vz
dHVyZVNjcm9sbEJlZ2luKHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsKICAgICAgICAgZXZlbnRTZW5k
ZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgzMCwgMCk7CisgICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1
cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkKDMwLCAwKTsKICAgICAgICAgZXZlbnRTZW5kZXIu
Z2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186721</attachid>
            <date>2013-02-05 16:09:24 -0800</date>
            <delta_ts>2013-02-06 15:37:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108849-20130205190601.patch</filename>
            <type>text/plain</type>
            <size>44732</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIyNDdlMmFmYjkxMTVm
NGQyOTNiZjRiOGQyMzFmYjk5YmNkMjIxNC4uNjM5MTk1ZmEwNjcwMmIxODc0ZTQ2MDM2ZDI1MDgw
OGMyM2Y1Y2Q0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAyLTA1ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBnZXN0dXJlIHNjcm9sbCBldmVudHMgdGhhdCBkbyBub3QgcHJvcGFnYXRlIHRvIGVu
Y2xvc2luZyBzY3JvbGxhYmxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA4ODQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVy
ZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZl
bnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdh
dGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gt
Z2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC5odG1sCisKKyAgICAgICAgUmVuYW1l
IFJlbmRlckxheWVyOjpzY3JvbGxCeVJlY3Vyc2l2ZWx5KCkgdG8gUmVuZGVyTGF5ZXI6OnNjcm9s
bEJ5KCkgYW5kIGFkZCBhIHBhcmFtZXRlcgorICAgICAgICBvZiB0eXBlIFJlbmRlckxheWVyOjpT
Y3JvbGxQcm9wYWdhdGlvbiB0byBzcGVjaWZ5IHdoZXRoZXIgb3Igbm90IHRoZSBzY3JvbGwgc2hv
dWxkCisgICAgICAgIHByb3BhZ2F0ZSB0byBpdHMgcGFyZW50IGJ5IHJlY3Vyc2luZy4gSW1wbGVt
ZW50IFJlbmRlckxheWVyOjpzY3JvbGxCeVJlY3Vyc2l2ZWx5KCkgYXMgYQorICAgICAgICBjYWxs
IHRvIFJlbmRlckxheWVyOjpzY3JvbGxCeSgpIHdpdGggYXJndW1lbnQgUmVuZGVyTGF5ZXI6OlNo
b3VsZFByb3BhZ2F0ZVNjcm9sbCBzbworICAgICAgICB0aGF0IGFsbCBleGlzdGluZyBjYWxscyB0
byB0aGUgZnVuY3Rpb24gc3RpbGwgcHJvZHVjZSB0aGUgY29ycmVjdCBiZWhhdmlvci4KKworICAg
ICAgICBJbiBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVTY3JvbGxVcGRhdGUoKSwgY2FsbCBS
ZW5kZXJMYXllcjo6c2Nyb2xsQnkoKSB3aXRoCisgICAgICAgIGFyZ3VtZW50IFJlbmRlckxheWVy
OjpTaG91bGRQcm9wYWdhdGVTY3JvbGwgaWYgfGdlc3R1cmVFdmVudHwgaXMgYSBHZXN0dXJlU2Ny
b2xsVXBkYXRlCisgICAgICAgIG9yIGluc3RlYWQgd2l0aCBhcmd1bWVudCBSZW5kZXJMYXllcjo6
RG9udFByb3BhZ2F0ZVNjcm9sbCBpZiB8Z2VzdHVyZUV2ZW50fCBpcyBhCisgICAgICAgIEdlc3R1
cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24uCisKKyAgICAgICAgKiBkb20vR2VzdHVy
ZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlc3R1cmVFdmVudDo6Y3JlYXRlKToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6OmhhbmRsZUdlc3R1cmVTY3JvbGxVcGRhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRm
b3JtRXZlbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYmFyOjpnZXN0dXJlRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFp
bmVyOjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsQnlSZWN1cnNpdmVs
eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxCeSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisKIDIwMTMtMDIt
MDUgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDb250
aW51ZSBtYWtpbmcgWFNTQXVkaXRvciB0aHJlYWQgc2FmZTogUmVtb3ZlIGRlcGVuZGVuY3kgb24g
dGhlIHBhcnNlcidzIHRva2VuaXplcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBjZWQ4
OGUyODM1NDM1MGJmNWQ5MWI4OGMzZGFjMTE3YWRiMDBiY2Y5Li4zM2Y1Mjg1ZWVmNjY4ZjVlNWI5
MDI0MWU0OTU4YjlkYzNhYzkzNzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEzLTAyLTA1ICBUZXJyeSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBnZXN0dXJlIHNjcm9sbCBldmVudHMg
dGhhdCBkbyBub3QgcHJvcGFnYXRlIHRvIGVuY2xvc2luZyBzY3JvbGxhYmxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4ODQ5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVmaW5lIHRoZSBuZXcgZXZl
bnQgdHlwZSBHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uLgorCisgICAgICAg
ICogcHVibGljL1dlYklucHV0RXZlbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFdmVu
dDo6aXNHZXN0dXJlRXZlbnRUeXBlKToKKyAgICAgICAgKiBzcmMvUGFnZVdpZGdldERlbGVnYXRl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVdpZGdldERlbGVnYXRlOjpoYW5kbGVJbnB1dEV2
ZW50KToKKyAgICAgICAgKiBzcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwOgorICAgICAg
ICAoV2ViS2l0OjpQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXI6OlBsYXRmb3JtR2VzdHVyZUV2
ZW50QnVpbGRlcik6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwOgor
ICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51SW1wbDo6aGFuZGxlSW5wdXRFdmVudCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVu
dCk6CisKIDIwMTMtMDItMDUgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIEludHJvZHVjZWQgYmFjay1lbmQgZGF0YWJhc2UgY2xhc3NlcyArIGEgZmV3IHNtYWxsIGZp
eGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcAppbmRleCAxZTdiODdlN2FmMmE1ZmNl
NzRiZmVlNTY4ZjdkM2M0ZTg3MzVhYzc1Li4zNTM2NjA3NDU2YTQyNmQ5ZjBmODI3NDQ0OTRhN2Vm
MmNkZDhmNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcApAQCAtNDcsNiArNDcs
NyBAQCBQYXNzUmVmUHRyPEdlc3R1cmVFdmVudD4gR2VzdHVyZUV2ZW50OjpjcmVhdGUoUGFzc1Jl
ZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbgogICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2Vz
dHVyZVNjcm9sbEVuZDoKICAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLmdlc3R1cmVz
Y3JvbGxlbmRFdmVudDsgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Ny
b2xsVXBkYXRlOgorICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdp
dGhvdXRQcm9wYWdhdGlvbjoKICAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLmdlc3R1
cmVzY3JvbGx1cGRhdGVFdmVudDsgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0
dXJlVGFwOgogICAgICAgICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkuZ2VzdHVyZXRhcEV2ZW50
OyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA2ODZlMjVjZWZh
ZjFmNjlkNWY4YWNjMThmZWY2NDI3OWE5N2Q1ODQ2Li5kZjZmNzRmNGY5MzFkYWM3Yjg3MTk3ODVh
OTA1Y2VmNzE5NDU0ODAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0y
NDMzLDcgKzI0MzMsOSBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNv
bnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiAKICAgICBOb2RlKiBldmVu
dFRhcmdldCA9IDA7CiAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSAwOwotICAgIGlmIChnZXN0
dXJlRXZlbnQudHlwZSgpID09IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQgfHwgZ2Vz
dHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlKSB7
CisgICAgaWYgKGdlc3R1cmVFdmVudC50eXBlKCkgPT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNj
cm9sbEVuZAorICAgICAgICB8fCBnZXN0dXJlRXZlbnQudHlwZSgpID09IFBsYXRmb3JtRXZlbnQ6
Okdlc3R1cmVTY3JvbGxVcGRhdGUKKyAgICAgICAgfHwgZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQ
bGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uKSB7CiAg
ICAgICAgIHNjcm9sbGJhciA9IG1fc2Nyb2xsYmFySGFuZGxpbmdTY3JvbGxHZXN0dXJlLmdldCgp
OwogICAgICAgICBldmVudFRhcmdldCA9IG1fc2Nyb2xsR2VzdHVyZUhhbmRsaW5nTm9kZS5nZXQo
KTsKICAgICB9CkBAIC0yNDk1LDYgKzI0OTcsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxl
R2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiAg
ICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsQmVnaW46CiAgICAgICAgIHJldHVy
biBoYW5kbGVHZXN0dXJlU2Nyb2xsQmVnaW4oZ2VzdHVyZUV2ZW50KTsKICAgICBjYXNlIFBsYXRm
b3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpH
ZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgogICAgICAgICByZXR1cm4gaGFu
ZGxlR2VzdHVyZVNjcm9sbFVwZGF0ZShnZXN0dXJlRXZlbnQpOwogICAgIGNhc2UgUGxhdGZvcm1F
dmVudDo6R2VzdHVyZVRhcDoKICAgICAgICAgcmV0dXJuIGhhbmRsZUdlc3R1cmVUYXAoZ2VzdHVy
ZUV2ZW50KTsKQEAgLTI3MDMsMTAgKzI3MDYsMTQgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRs
ZUdlc3R1cmVTY3JvbGxVcGRhdGUoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1cmUK
ICAgICBpZiAoIWxhdGNoZWRSZW5kZXJlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
UmVuZGVyTGF5ZXI6OlNjcm9sbFByb3BhZ2F0aW9uIHNob3VsZFByb3BhZ2F0ZSA9IFJlbmRlckxh
eWVyOjpTaG91bGRQcm9wYWdhdGVTY3JvbGw7CisgICAgaWYgKGdlc3R1cmVFdmVudC50eXBlKCkg
PT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbikK
KyAgICAgICAgc2hvdWxkUHJvcGFnYXRlID0gUmVuZGVyTGF5ZXI6OkRvbnRQcm9wYWdhdGVTY3Jv
bGw7CisKICAgICBjb25zdCBmbG9hdCBzY2FsZUZhY3RvciA9IG1fZnJhbWUtPnBhZ2Vab29tRmFj
dG9yKCkgKiBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CiAgICAgZGVsdGEuc2NhbGUoMSAv
IHNjYWxlRmFjdG9yLCAxIC8gc2NhbGVGYWN0b3IpOwogCi0gICAgYm9vbCByZXN1bHQgPSBsYXRj
aGVkUmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCktPnNjcm9sbEJ5UmVjdXJzaXZlbHkoZGVsdGEs
IFJlbmRlckxheWVyOjpTY3JvbGxPZmZzZXRDbGFtcGVkKTsKKyAgICBib29sIHJlc3VsdCA9IGxh
dGNoZWRSZW5kZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsQnkoZGVsdGEsIFJlbmRlckxh
eWVyOjpTY3JvbGxPZmZzZXRDbGFtcGVkLCBzaG91bGRQcm9wYWdhdGUpOwogCiAgICAgaWYgKHJl
c3VsdCkKICAgICAgICAgc2V0RnJhbWVXYXNTY3JvbGxlZEJ5VXNlcigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oCmluZGV4IDYxZTUwOGRhNWVlMTcxM2RjZWE1Yzk3M2I4
ODNiM2EyMjRhMWM5ZWEuLjI1NDdhMmVhMGFhMTUzNGNiMTI3YzUyNDlkMjIxMjQzMTNkMzAwNTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtRXZlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmgKQEAgLTUyLDYgKzUyLDcg
QEAgcHVibGljOgogICAgICAgICBHZXN0dXJlU2Nyb2xsQmVnaW4sCiAgICAgICAgIEdlc3R1cmVT
Y3JvbGxFbmQsCiAgICAgICAgIEdlc3R1cmVTY3JvbGxVcGRhdGUsCisgICAgICAgIEdlc3R1cmVT
Y3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24sCiAgICAgICAgIEdlc3R1cmVUYXAsCiAgICAg
ICAgIEdlc3R1cmVUYXBEb3duLAogICAgICAgICBHZXN0dXJlVGFwRG93bkNhbmNlbCwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDJhOGZhODVhNGIxZTIxMjdlMTlmYTUy
OTU1Njg2ZmRhNzEyZmUyMDYuLjQ1YTQ4ZGRiYzRkZTcyNWQ2OGI1YmJhMzU5ZDZjZGZjY2Q2MmE2
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApAQCAtMzczLDYgKzM3Myw3
IEBAIGJvb2wgU2Nyb2xsYmFyOjpnZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZl
bnQmIGV2dCkKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIFBsYXRmb3JtRXZl
bnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJl
U2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgogICAgICAgICBpZiAobV9wcmVzc2VkUGFy
dCA9PSBUaHVtYlBhcnQpIHsKICAgICAgICAgICAgIG1fc2Nyb2xsUG9zICs9IEhvcml6b250YWxT
Y3JvbGxiYXIgPyBldnQuZGVsdGFYKCkgOiBldnQuZGVsdGFZKCk7CiAgICAgICAgICAgICBtb3Zl
VGh1bWIobV9zY3JvbGxQb3MsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcAppbmRleCAzZGViOTVhOTI4YmVjOTFjOGFi
NjgyNmFkZmY1MzNkOGI3YWRkOWU5Li40OTI1ZTA0NDJlZDJkNDMwZmI2ZGUyMzcxMzEwODE0ZDk3
ZDJkODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9w
dXBDb250YWluZXIuY3BwCkBAIC0zMjEsNyArMzIxLDggQEAgYm9vbCBQb3B1cENvbnRhaW5lcjo6
aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZl
bnQKICAgICB9CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlRG91YmxlVGFwOgogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6
IHsKKyAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2Fz
ZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOiB7
CiAgICAgICAgIFBsYXRmb3JtV2hlZWxFdmVudCBzeW50aGV0aWNXaGVlbEV2ZW50KGdlc3R1cmVF
dmVudC5wb3NpdGlvbigpLCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZ2VzdHVyZUV2
ZW50LmRlbHRhWCgpLCBnZXN0dXJlRXZlbnQuZGVsdGFZKCksIGdlc3R1cmVFdmVudC5kZWx0YVgo
KSAvIDEyMC4wZiwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpIC8gMTIwLjBmLCBTY3JvbGxCeVBpeGVs
V2hlZWxFdmVudCwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5
KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSk7CiAgICAg
ICAgIGhhbmRsZVdoZWVsRXZlbnQoc3ludGhldGljV2hlZWxFdmVudCk7CiAgICAgICAgIHJldHVy
biB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNjhh
MDY1YjAzMTgxMTA0NmNjMGQ3MDdiNjJjMzgxYjFlODkwZTVlMS4uNDE5YTllMGM3Mzc2YTM5OWU1
MWEyOTZmODI3NDA2ODNkOTVlZjgzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCkBAIC0xOTg4LDcgKzE5ODgsMTIgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFuU2Ny
b2xsRnJvbVBvaW50KGNvbnN0IEludFBvaW50JiBzb3VyY2VQb2ludCkKICAgICBzY3JvbGxCeVJl
Y3Vyc2l2ZWx5KGFkanVzdGVkU2Nyb2xsRGVsdGEoZGVsdGEpLCBTY3JvbGxPZmZzZXRDbGFtcGVk
KTsKIH0KIAotYm9vbCBSZW5kZXJMYXllcjo6c2Nyb2xsQnlSZWN1cnNpdmVseShjb25zdCBJbnRT
aXplJiBkZWx0YSwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgY2xhbXApCit2b2lkIFJlbmRlckxheWVy
OjpzY3JvbGxCeVJlY3Vyc2l2ZWx5KGNvbnN0IEludFNpemUmIGRlbHRhLCBTY3JvbGxPZmZzZXRD
bGFtcGluZyBjbGFtcCkKK3sKKyAgICBzY3JvbGxCeShkZWx0YSwgY2xhbXAsIFNob3VsZFByb3Bh
Z2F0ZVNjcm9sbCk7Cit9CisKK2Jvb2wgUmVuZGVyTGF5ZXI6OnNjcm9sbEJ5KGNvbnN0IEludFNp
emUmIGRlbHRhLCBTY3JvbGxPZmZzZXRDbGFtcGluZyBjbGFtcCwgU2Nyb2xsUHJvcGFnYXRpb24g
c2hvdWxkUHJvcGFnYXRlKQogewogICAgIGlmIChkZWx0YS5pc1plcm8oKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtMjAwMSwxMiArMjAwNiwxNSBAQCBib29sIFJlbmRlckxheWVyOjpzY3Jv
bGxCeVJlY3Vyc2l2ZWx5KGNvbnN0IEludFNpemUmIGRlbHRhLCBTY3JvbGxPZmZzZXRDbGFtcGlu
ZwogICAgICAgICBJbnRTaXplIG5ld1Njcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpICsgZGVs
dGE7CiAgICAgICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwgY2xhbXApOwogCisg
ICAgICAgIGlmIChzaG91bGRQcm9wYWdhdGUgPT0gRG9udFByb3BhZ2F0ZVNjcm9sbCkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworCiAgICAgICAgIC8vIElmIHRoaXMgbGF5ZXIgY2FuJ3QgZG8g
dGhlIHNjcm9sbCB3ZSBhc2sgdGhlIG5leHQgbGF5ZXIgdXAgdGhhdCBjYW4gc2Nyb2xsIHRvIHRy
eQogICAgICAgICBJbnRTaXplIHJlbWFpbmluZ1Njcm9sbE9mZnNldCA9IG5ld1Njcm9sbE9mZnNl
dCAtIHNjcm9sbE9mZnNldCgpOwogICAgICAgICBib29sIGRpZFNjcm9sbCA9IHRydWU7CiAgICAg
ICAgIGlmICghcmVtYWluaW5nU2Nyb2xsT2Zmc2V0LmlzWmVybygpICYmIHJlbmRlcmVyKCktPnBh
cmVudCgpKSB7CiAgICAgICAgICAgICBpZiAoUmVuZGVyTGF5ZXIqIHNjcm9sbGFibGVMYXllciA9
IGVuY2xvc2luZ1Njcm9sbGFibGVMYXllcigpKQotICAgICAgICAgICAgICAgIGRpZFNjcm9sbCA9
IHNjcm9sbGFibGVMYXllci0+c2Nyb2xsQnlSZWN1cnNpdmVseShyZW1haW5pbmdTY3JvbGxPZmZz
ZXQsIGNsYW1wKTsKKyAgICAgICAgICAgICAgICBkaWRTY3JvbGwgPSBzY3JvbGxhYmxlTGF5ZXIt
PnNjcm9sbEJ5KHJlbWFpbmluZ1Njcm9sbE9mZnNldCwgY2xhbXAsIHNob3VsZFByb3BhZ2F0ZSk7
CiAKICAgICAgICAgICAgIEZyYW1lKiBmcmFtZSA9IHJlbmRlcmVyKCktPmZyYW1lKCk7CiAgICAg
ICAgICAgICBpZiAoZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmlu
ZGV4IDJhYWYwYWVlYTNkYWM2NWRiYzIyODY4ODA2OTFmNTc4ZjhmMjNlZDcuLjBiNjc0NTMzZTZk
NTJkMjY1YmMwNWI5YTM3Y2EzNzIyYjM2ZjI4ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCkBAIC0zMjgsOCArMzI4LDE0IEBAIHB1YmxpYzoKICAgICAgICAgU2Nyb2xs
T2Zmc2V0Q2xhbXBlZAogICAgIH07CiAKKyAgICBlbnVtIFNjcm9sbFByb3BhZ2F0aW9uIHsKKyAg
ICAgICAgU2hvdWxkUHJvcGFnYXRlU2Nyb2xsLAorICAgICAgICBEb250UHJvcGFnYXRlU2Nyb2xs
CisgICAgfTsKKwogICAgIC8vIFNjcm9sbGluZyBtZXRob2RzIGZvciBsYXllcnMgdGhhdCBjYW4g
c2Nyb2xsIHRoZWlyIG92ZXJmbG93LgotICAgIGJvb2wgc2Nyb2xsQnlSZWN1cnNpdmVseShjb25z
dCBJbnRTaXplJiwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgPSBTY3JvbGxPZmZzZXRVbmNsYW1wZWQp
OworICAgIGJvb2wgc2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYsIFNjcm9sbE9mZnNldENsYW1waW5n
ID0gU2Nyb2xsT2Zmc2V0VW5jbGFtcGVkLCBTY3JvbGxQcm9wYWdhdGlvbiA9IERvbnRQcm9wYWdh
dGVTY3JvbGwpOworICAgIHZvaWQgc2Nyb2xsQnlSZWN1cnNpdmVseShjb25zdCBJbnRTaXplJiwg
U2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgPSBTY3JvbGxPZmZzZXRVbmNsYW1wZWQpOwogICAgIHZvaWQg
c2Nyb2xsVG9PZmZzZXQoY29uc3QgSW50U2l6ZSYsIFNjcm9sbE9mZnNldENsYW1waW5nID0gU2Ny
b2xsT2Zmc2V0VW5jbGFtcGVkKTsKICAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCwgU2Ny
b2xsT2Zmc2V0Q2xhbXBpbmcgY2xhbXAgPSBTY3JvbGxPZmZzZXRVbmNsYW1wZWQpIHsgc2Nyb2xs
VG9PZmZzZXQoSW50U2l6ZSh4LCBzY3JvbGxZT2Zmc2V0KCkpLCBjbGFtcCk7IH0KICAgICB2b2lk
IHNjcm9sbFRvWU9mZnNldChpbnQgeSwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgY2xhbXAgPSBTY3Jv
bGxPZmZzZXRVbmNsYW1wZWQpIHsgc2Nyb2xsVG9PZmZzZXQoSW50U2l6ZShzY3JvbGxYT2Zmc2V0
KCksIHkpLCBjbGFtcCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYklucHV0RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklu
cHV0RXZlbnQuaAppbmRleCAwYjBmZjJkZjA4NjUwOWU1Zjc4ZmY2NzMzYzZmMjY0NDg3YmIyOTQx
Li45OWQzNGFiNzY4YzVkZjIyYzZmYTcxNmYwMzUwYWIyMmI0ZDFjMDRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCkBAIC0xMTUsNiArMTE1LDcg
QEAgcHVibGljOgogICAgICAgICBHZXN0dXJlU2Nyb2xsQmVnaW4sCiAgICAgICAgIEdlc3R1cmVT
Y3JvbGxFbmQsCiAgICAgICAgIEdlc3R1cmVTY3JvbGxVcGRhdGUsCisgICAgICAgIEdlc3R1cmVT
Y3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24sCiAgICAgICAgIEdlc3R1cmVGbGluZ1N0YXJ0
LAogICAgICAgICBHZXN0dXJlRmxpbmdDYW5jZWwsCiAgICAgICAgIEdlc3R1cmVUYXAsCkBAIC0y
MjIsNiArMjIzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gdHlwZSA9PSBHZXN0dXJlU2Ny
b2xsQmVnaW4KICAgICAgICAgICAgIHx8IHR5cGUgPT0gR2VzdHVyZVNjcm9sbEVuZAogICAgICAg
ICAgICAgfHwgdHlwZSA9PSBHZXN0dXJlU2Nyb2xsVXBkYXRlCisgICAgICAgICAgICB8fCB0eXBl
ID09IEdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24KICAgICAgICAgICAgIHx8
IHR5cGUgPT0gR2VzdHVyZUZsaW5nU3RhcnQKICAgICAgICAgICAgIHx8IHR5cGUgPT0gR2VzdHVy
ZUZsaW5nQ2FuY2VsCiAgICAgICAgICAgICB8fCB0eXBlID09IEdlc3R1cmVQaW5jaEJlZ2luCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlV2lkZ2V0RGVsZWdhdGUu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZVdpZGdldERlbGVnYXRlLmNwcApp
bmRleCA5NmYwOWE2MTAwNzk5MmQ1YWQzY2M1OTAxMTA5OTRhNDBlZGI1YzMwLi42NTk4MjE0Nzg2
NTRkYjNmMGRhN2ZlYjUwMmYxMzZlM2JlMmI5YjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9QYWdlV2lkZ2V0RGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1BhZ2VXaWRnZXREZWxlZ2F0ZS5jcHAKQEAgLTE1Miw2ICsxNTIsNyBAQCBi
b29sIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6aGFuZGxlSW5wdXRFdmVudChQYWdlKiBwYWdlLCBQYWdl
V2lkZ2V0RXZlbnRIYW5kbGVyJiBoYQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNj
cm9sbEJlZ2luOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbEVuZDoKICAg
ICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBXZWJJ
bnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgogICAgIGNh
c2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZUZsaW5nU3RhcnQ6CiAgICAgY2FzZSBXZWJJbnB1dEV2
ZW50OjpHZXN0dXJlRmxpbmdDYW5jZWw6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJl
VGFwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVu
dENvbnZlcnNpb24uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVu
dENvbnZlcnNpb24uY3BwCmluZGV4IDllZDA4MGZkODFlMzIwNWU3NTA5YmU4ZDI1NzQ1MDBiYjQw
OGE5MGUuLmU0MmUxNmUxYTE2N2QxNzE3MWQ2NDgzNzQ3M2Y3NWNiNzdlMWVlNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lv
bi5jcHAKQEAgLTE1Myw2ICsxNTMsMTEgQEAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyOjpQ
bGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIoV2lkZ2V0KiB3aWRnZXQsIGNvbnN0IFcKICAgICAg
ICAgbV9kZWx0YVggPSBlLmRhdGEuc2Nyb2xsVXBkYXRlLmRlbHRhWDsKICAgICAgICAgbV9kZWx0
YVkgPSBlLmRhdGEuc2Nyb2xsVXBkYXRlLmRlbHRhWTsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgor
ICAgICAgICBtX3R5cGUgPSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91
dFByb3BhZ2F0aW9uOworICAgICAgICBtX2RlbHRhWCA9IGUuZGF0YS5zY3JvbGxVcGRhdGUuZGVs
dGFYOworICAgICAgICBtX2RlbHRhWSA9IGUuZGF0YS5zY3JvbGxVcGRhdGUuZGVsdGFZOworICAg
ICAgICBicmVhazsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVUYXA6CiAgICAgICAg
IG1fdHlwZSA9IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVUYXA7CiAgICAgICAgIG1fYXJlYSA9IElu
dFNpemUoZS5kYXRhLnRhcC53aWR0aCwgZS5kYXRhLnRhcC5oZWlnaHQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAppbmRl
eCBiODliY2QxZDczMjczYzZiOTY1NzkwYmE0NmJjMzJjNWNjZDMxMjM5Li5iYWQzZjgxMWMwMDc5
YmI5OTUwODc0MDQzMTEyMTgxZTM1YzczOWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcApAQCAtNzk2LDcgKzc5Niw3
IEBAIHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KEdlc3R1
cmVFdmVudCogZXZlbnQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAod2ViRXZl
bnQudHlwZSA9PSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlKSB7CisgICAgaWYg
KHdlYkV2ZW50LnR5cGUgPT0gV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZSB8fCB3
ZWJFdmVudC50eXBlID09IFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0
UHJvcGFnYXRpb24pIHsKICAgICAgICAgaWYgKCFtX3Njcm9sbGJhckdyb3VwKQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBpZiAoZ2VzdHVyZVNjcm9sbEhlbHBlcihtX3Njcm9sbGJhckdy
b3VwLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxSaWdodCwgd2ViRXZlbnQuZGF0YS5zY3JvbGxV
cGRhdGUuZGVsdGFYKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBvcHVwTWVudUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBN
ZW51SW1wbC5jcHAKaW5kZXggMTA4MjA0ZjAyMjU4NTVmZTEyNGE5NzQ5NTc5ZmYzNjBhN2M3MGM3
ZS4uODM0NDg2M2ZhY2NlZDM4OTlkNzk5NmQzNWIwZmRiZjA2YjMyNTY0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAKQEAgLTI3Myw2ICsy
NzMsNyBAQCBib29sIFdlYlBvcHVwTWVudUltcGw6OmhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2Vi
SW5wdXRFdmVudCYgaW5wdXRFdmVudCkKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVT
Y3JvbGxCZWdpbjoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQ6CiAg
ICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlOgorICAgIGNhc2UgV2Vi
SW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbjoKICAgICBj
YXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVGbGluZ1N0YXJ0OgogICAgIGNhc2UgV2ViSW5wdXRF
dmVudDo6R2VzdHVyZUZsaW5nQ2FuY2VsOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVy
ZVRhcDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA0
MGY4ODRlN2FlYjkwNjE3ZjMwZmEzMmMxMDA2Nzk2ZWI5ODQ5NmFmLi5lYmU3ZWZlODA1NjkzNmUx
ZDAyNDcyMDJjNWFhOGU3YzhjMDY1Nzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCkBAIC04MTEsNiArODExLDcgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFu
ZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgICAgIG1f
Y2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwogICAgIGNhc2UgV2ViSW5w
dXRFdmVudDo6R2VzdHVyZVNjcm9sbEVuZDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1
cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBk
YXRlV2l0aG91dFByb3BhZ2F0aW9uOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRh
cENhbmNlbDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaEVuZDoKICAgICBj
YXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaFVwZGF0ZTogewpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDIxNDEyN2EzMDdiYTdiNmJkYjcw
MmNjYzlmNTg0NmRkOTU5YjkwNjAuLmEzZjBjNzhmYTcxOTFkYTdkOTU5NmVhMjg2MDM2YTQ5Mjcx
MTNhYmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMi0wNSAgVGVycnkgQW5kZXJzb24gIDx0ZGFuZGVyc29u
QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZ2VzdHVyZSBzY3JvbGwg
ZXZlbnRzIHRoYXQgZG8gbm90IHByb3BhZ2F0ZSB0byBlbmNsb3Npbmcgc2Nyb2xsYWJsZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODg0OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmeSBjaHJv
bWl1bSdzIERSVCBFdmVudFNlbmRlciB0byBzdXBwb3J0IHRoZSBuZXcgZXZlbnQgdHlwZQorICAg
ICAgICBHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuY3BwOgor
ICAgICAgICAoV2ViVGVzdFJ1bm5lcik6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpFdmVudFNl
bmRlcjo6RXZlbnRTZW5kZXIpOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6RXZlbnRTZW5kZXI6
Omdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24pOgorICAgICAgICAoV2ViVGVz
dFJ1bm5lcjo6RXZlbnRTZW5kZXI6Omdlc3R1cmVFdmVudCk6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKEV2
ZW50U2VuZGVyKToKKwogMjAxMy0wMi0wNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIER1bXBSZW5kZXJUcmVlIHNob3VsZCBiZSBhYmxlIHRvIGVuYWJsZSB0aGUg
dGhyZWFkZWQgcGFyc2VyCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5jcHAKaW5kZXggYWI2MDE5M2Q3NzA4
MmQzOWM1NTZmM2UzOWMzM2EwMDQzNzk2NWY1Yi4uMmQ0ZTJjNTYzYzg2ZGI1Y2MzMzMzN2Y3MjU4
YTQzMWJmZTA5Y2FlMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0V2ZW50U2VuZGVyLmNwcApAQCAtMjkzLDYgKzI5Myw3
IEBAIEV2ZW50U2VuZGVyOjpFdmVudFNlbmRlcigpCiAgICAgYmluZE1ldGhvZCgiZ2VzdHVyZVNj
cm9sbEVuZCIsICZFdmVudFNlbmRlcjo6Z2VzdHVyZVNjcm9sbEVuZCk7CiAgICAgYmluZE1ldGhv
ZCgiZ2VzdHVyZVNjcm9sbEZpcnN0UG9pbnQiLCAmRXZlbnRTZW5kZXI6Omdlc3R1cmVTY3JvbGxG
aXJzdFBvaW50KTsKICAgICBiaW5kTWV0aG9kKCJnZXN0dXJlU2Nyb2xsVXBkYXRlIiwgJkV2ZW50
U2VuZGVyOjpnZXN0dXJlU2Nyb2xsVXBkYXRlKTsKKyAgICBiaW5kTWV0aG9kKCJnZXN0dXJlU2Ny
b2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uIiwgJkV2ZW50U2VuZGVyOjpnZXN0dXJlU2Nyb2xs
VXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uKTsKICAgICBiaW5kTWV0aG9kKCJnZXN0dXJlVGFwIiwg
JkV2ZW50U2VuZGVyOjpnZXN0dXJlVGFwKTsKICAgICBiaW5kTWV0aG9kKCJnZXN0dXJlVGFwRG93
biIsICZFdmVudFNlbmRlcjo6Z2VzdHVyZVRhcERvd24pOwogICAgIGJpbmRNZXRob2QoImdlc3R1
cmVUYXBDYW5jZWwiLCAmRXZlbnRTZW5kZXI6Omdlc3R1cmVUYXBDYW5jZWwpOwpAQCAtMTEzNyw2
ICsxMTM4LDEyIEBAIHZvaWQgRXZlbnRTZW5kZXI6Omdlc3R1cmVTY3JvbGxVcGRhdGUoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhCiAgICAgZ2VzdHVyZUV2ZW50KFdl
YklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGUsIGFyZ3VtZW50cyk7CiB9CiAKK3ZvaWQg
RXZlbnRTZW5kZXI6Omdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBy
ZXN1bHQtPnNldE51bGwoKTsKKyAgICBnZXN0dXJlRXZlbnQoV2ViSW5wdXRFdmVudDo6R2VzdHVy
ZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbiwgYXJndW1lbnRzKTsKK30KKwogdm9pZCBF
dmVudFNlbmRlcjo6Z2VzdHVyZVRhcChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywg
Q3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwpAQCAtMTE5NSw2
ICsxMjAyLDcgQEAgdm9pZCBFdmVudFNlbmRlcjo6Z2VzdHVyZUV2ZW50KFdlYklucHV0RXZlbnQ6
OlR5cGUgdHlwZSwgY29uc3QgQ3BwQXJndW1lbnRMaXN0JgogCiAgICAgc3dpdGNoICh0eXBlKSB7
CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlOgorICAgIGNhc2Ug
V2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbjoKICAg
ICAgICAgZXZlbnQuZGF0YS5zY3JvbGxVcGRhdGUuZGVsdGFYID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+
KGFyZ3VtZW50c1swXS50b0RvdWJsZSgpKTsKICAgICAgICAgZXZlbnQuZGF0YS5zY3JvbGxVcGRh
dGUuZGVsdGFZID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3VtZW50c1sxXS50b0RvdWJsZSgpKTsK
ICAgICAgICAgZXZlbnQueCA9IG1fY3VycmVudEdlc3R1cmVMb2NhdGlvbi54OwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5k
ZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0V2ZW50
U2VuZGVyLmgKaW5kZXggMDdmOTI4ZDA1NTNlZDU4YTAxZWRiYmFjYTYyYWRiNGM0ZWMyOGUzYy4u
NjcwNWYzZGFmNTUzNmNmYzUwNjgwN2FmZTY1NTRhNjliYmY2NDE2ZCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuaAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNl
bmRlci5oCkBAIC0xMDgsNiArMTA4LDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVyZVNjcm9s
bEVuZChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBnZXN0
dXJlU2Nyb2xsRmlyc3RQb2ludChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7
CiAgICAgdm9pZCBnZXN0dXJlU2Nyb2xsVXBkYXRlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENw
cFZhcmlhbnQqKTsKKyAgICB2b2lkIGdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRp
b24oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgZ2VzdHVy
ZVRhcChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBnZXN0
dXJlVGFwRG93bihjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9p
ZCBnZXN0dXJlVGFwQ2FuY2VsKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzYjk4YjRiYzJiOTgxY2NhMjk5ZThlZDhiNDc4OTlhOTgxNjIyNGE3Li4zODRhYmMw
OTFkMTkxZWVjOGI4Y2I1Zjc1MGNkZDkzNWVhNTdmNjc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTMtMDItMDUgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGdlc3R1cmUgc2Nyb2xsIGV2ZW50cyB0aGF0IGRvIG5v
dCBwcm9wYWdhdGUgdG8gZW5jbG9zaW5nIHNjcm9sbGFibGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg4NDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVzdHMgYWRkZWQgdG8gZW5zdXJlIHRo
YXQgR2VzdHVyZVNjcm9sbFVwZGF0ZU5vdFByb3BhZ2F0ZWQgZXZlbnRzIHdpbGwgbm90CisgICAg
ICAgIHByb3BhZ2F0ZSB0byB0aGUgc2Nyb2xsYWJsZSBwYXJlbnQgb2YgdGhlaXIgdGFyZ2V0IHdo
ZW4gdGhlIHRhcmdldCBoYXMgbm8gYXJlYQorICAgICAgICBsZWZ0IHRvIGJlIHNjcm9sbGVkLgor
CisgICAgICAgIE1vZGlmaWVkIHR3byBjaHJvbWl1bS1zcGVjaWZpYyBwbHVnaW4gdGVzdHMgdG8g
ZW5zdXJlIHRoYXQgdGhlIHBsdWdpbnMgcmVjZWl2ZQorICAgICAgICBHZXN0dXJlU2Nyb2xsVXBk
YXRlIGV2ZW50cyB3aGVuIEdlc3R1cmVTY3JvbGxVcGRhdGVOb3RQcm9wYWdhdGVkIGV2ZW50cyBh
cmUKKyAgICAgICAgZGlzcGF0Y2hlZCB0byB0aGVtLgorCisgICAgICAgICogZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3Rv
dWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3QtcHJvcGFnYXRlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFt
ZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdh
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91
Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3Jv
bGwtcGFnZS1ub3QtcHJvcGFnYXRlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRp
di1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwt
aWZyYW1lLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNj
cm9sbC1wYWdlLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy1zY3JvbGxl
ZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0
dXJlLWV2ZW50cy1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Bs
dWdpbnMvZ2VzdHVyZS1ldmVudHMuaHRtbDoKKwogMjAxMy0wMi0wNSAgUm9nZXIgRm9uZyAgPHJv
Z2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBXaW43
IHBvcnQgZG9lc24ndCBydW4gV2ViR0wuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3QtcHJvcGFnYXRl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3Rv
dWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDk2NjRjNzExM2MyYmE0NTA2NmFjOGRiYTc3ZjczNDhlMjJjYTdiOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2Vz
dHVyZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEx
IEBACisKK1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlzIG5vdCBwcm9wYWdhdGVk
IGZyb20gYW4gaW5uZXIgZGl2IHRvIGFuIG91dGVyIGRpdiB3aGVuIHRoZSBpbm5lciBkaXYgaGFz
IG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4gdGhlIEdlc3R1cmVTY3JvbGxVcGRhdGVX
aXRob3V0UHJvcGFnYXRpb24gZXZlbnQgdHlwZSBpcyB1c2VkLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworZ2VzdHVyZSBldmVudHMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxh
dGZvcm0gb3IgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcgb2YgYSBkb2N1bWVudCBpcyBicm9rZW4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1
cmUtc2Nyb2xsLWRpdi1ub3QtcHJvcGFnYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yODAxNDA5ZDdiMDQzYzI0NTA5YjY1NzFkYjljNDViOTZiMDFkZTFk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVy
ZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQuaHRtbApAQCAtMCwwICsx
LDE2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCis6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICB3
aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4OworfQorCisjZ3JlZW5ib3ggeworICB3aWR0aDog
MTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IGdyZWVuOworICBwYWRkaW5n
OiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCisjcmVkYm94IHsKKyAgd2lkdGg6IDEwMHB4Owor
ICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiByZWQ7CisgIHBhZGRpbmc6IDBweDsKKyAg
bWFyZ2luOiAwcHg7Cit9CisKKyNibHVlYm94IHsKKyAgd2lkdGg6IDEwMHB4OworICBoZWlnaHQ6
IDEwMHB4OworICBiYWNrZ3JvdW5kOiBibHVlOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjog
MHB4OworfQorCisjaW5uZXJkaXYgeworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIw
MHB4OworICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKKyAgICBvdmVyZmxvdy14OiBzY3JvbGw7Cit9
CisKKyNvdXRlcmRpdiB7CisgICAgd2lkdGg6IDI1MHB4OworICAgIGhlaWdodDogMjUwcHg7Cisg
ICAgb3ZlcmZsb3cteTogc2Nyb2xsOworICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKK30KKwordGQg
eworICBwYWRkaW5nOiAwcHg7Cit9CisKKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0i
bWFyZ2luOjAiIG9ubG9hZD0icnVuVGVzdCgpOyI+CisKKzxkaXYgaWQ9Im91dGVyZGl2Ij4KKyAg
PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjBweCIgPgorICAgIDx0cj48dGQ+CisgICAg
ICA8ZGl2IGlkPSJpbm5lcmRpdiI+CisgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFj
aW5nPSIwcHgiID4KKyAgICAgICAgICA8dHI+PHRkPjxkaXYgaWQ9ImdyZWVuYm94Ij48L2Rpdj48
L3RkPjwvdHI+CisgICAgICAgICAgPHRyPjx0ZD48ZGl2IGlkPSJyZWRib3giPjwvZGl2PjwvdGQ+
PC90cj4KKyAgICAgICAgICA8dHI+PHRkPjxkaXYgaWQ9ImdyZWVuYm94Ij48L2Rpdj48L3RkPjwv
dHI+CisgICAgICAgICAgPHRyPjx0ZD48ZGl2IGlkPSJyZWRib3giPjwvZGl2PjwvdGQ+PC90cj4K
KyAgICAgICAgPC90YWJsZT4KKyAgICAgIDwvZGl2PgorICAgIDwvdGQ+PC90cj4KKyAgICA8dHI+
PHRkPgorICAgICAgPGRpdiBpZD0iYmx1ZWJveCI+PC9kaXY+CisgICAgPC90ZD48L3RyPgorICA8
L3RhYmxlPgorPC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3ZhciBtb3Zl
ZGJveDsKK3ZhciB0b3VjaHRhcmdldDsKK3ZhciBleHBlY3RlZEdlc3R1cmVzVG90YWwgPSAyOwor
dmFyIGdlc3R1cmVzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbEFtb3VudFggPSBbJzAnLCAnMCdd
OwordmFyIHNjcm9sbEFtb3VudFkgPSBbJzAnLCAnMCddOwordmFyIHdoZWVsRXZlbnRzT2NjdXJy
ZWQgPSAwOwordmFyIGV4cGVjdGVkV2hlZWxFdmVudHNPY2N1cnJlZCA9IFsnMCcsICcwJ107Cit2
YXIgc2Nyb2xsRXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbGVkRWxlbWVudCA9ICdtb3Zl
ZGJveCcKK3ZhciBzY3JvbGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRTY3JvbGxF
dmVudHNPY2N1cnJlZCA9ICcxJzsKKworCitmdW5jdGlvbiByZWNvcmRTY3JvbGwoZXZlbnQpIHsK
KwlkZWJ1Zygnc2Nyb2xsIGV2ZW50ICcgKyBzY3JvbGxFdmVudHNPY2N1cnJlZCArICcrPiAnICsg
ZXZlbnQudGFyZ2V0KTsKKwlzY3JvbGxFdmVudHNPY2N1cnJlZCsrOworCisJaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgeworCQkvLyBCZWNhdXNlIHNjcm9sbCBldmVudHMgYXJyaXZlIGFzeW5jaHJv
bm91c2x5LCBvbmx5IG9uZSB3aWxsIGFycml2ZS4KKwkgICAgaWYgKGdlc3R1cmVzT2NjdXJyZWQg
PT0gZXhwZWN0ZWRHZXN0dXJlc1RvdGFsKSB7CisJCQlzaG91bGRCZSgnc2Nyb2xsRXZlbnRzT2Nj
dXJyZWQnLCBleHBlY3RlZFNjcm9sbEV2ZW50c09jY3VycmVkKTsKKwkgICAgICAgIC8vIElmIHdl
J3ZlIGdvdCBoZXJlLCB3ZSd2ZSBwYXNzZWQuCisJICAgICAgICBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworCSAgICAgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKwkgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKwkgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KwkJfQorICAgIH0KK30KKworCitmdW5jdGlvbiBmaXJzdEdlc3R1cmVTY3JvbGwoKQoreworICAg
IGRlYnVnKCJmaXJzdCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJl
Z2luKDEwLCA3Mik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQ
cm9wYWdhdGlvbigwLCAtMTUwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAs
IDApOworCisgICAgLy8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7
Cit9CisKK2Z1bmN0aW9uIHNlY29uZEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJzZWNv
bmQgZ2VzdHVyZSIpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgNDAp
OworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24o
MCwgLTYwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAg
Ly8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworZnVu
Y3Rpb24gcnVuVGVzdCgpCit7CisgICAgbW92ZWRib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgib3V0ZXJkaXYiKTsKKyAgICB0b3VjaHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpbm5lcmRpdiIpOworICAgIHRvdWNodGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIs
IHJlY29yZFNjcm9sbCk7CisgICAgdG91Y2h0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V3
aGVlbCIsIHJlY29yZFdoZWVsKTsKKworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAg
ICAgICAgZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlzIG5v
dCBwcm9wYWdhdGVkIGZyb20gYW4gJyArCisgICAgICAgICAgICAgICAgJ2lubmVyIGRpdiB0byBh
biBvdXRlciBkaXYgd2hlbiB0aGUgaW5uZXIgZGl2IGhhcyBubyAnICsKKyAgICAgICAgICAgICAg
ICAncmVtYWluaW5nIHNjcm9sbCBvZmZzZXQgd2hlbiB0aGUgR2VzdHVyZVNjcm9sbFVwZGF0ZVdp
dGhvdXRQcm9wYWdhdGlvbiAnICsKKyAgICAgICAgICAgICAgICAnZXZlbnQgdHlwZSBpcyB1c2Vk
LicpOworICAgICAgICBpZiAoY2hlY2tUZXN0RGVwZW5kZW5jaWVzKCkgJiYgd2luZG93LmV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24pCisgICAgICAgICAg
ICBmaXJzdEdlc3R1cmVTY3JvbGwoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhpdElm
TmVjZXNzYXJ5KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1
aXJlcyBEdW1wUmVuZGVyVHJlZS4gIEdlc3R1cmUtc2Nyb2xsIHRoZSBwYWdlIHRvIHZhbGlkYXRl
IHRoZSBpbXBsZW1lbnRhdGlvbi4iKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKworCisKKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dl
c3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVy
ZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
YTgwNzYzMDRiNzFkODQ5NTU4ODZiODE3ZWE5NGVhOGM5NTc4MWE0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNj
cm9sbC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAK
KworVGhpcyB0ZXN0cyB0aGF0IGEgZ2VzdHVyZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJv
bSBhbiBpZnJhbWUgdG8gYW4gb3V0ZXIgZGl2IHdoZW4gdGhlIGlmcmFtZSBoYXMgbm8gcmVtYWlu
aW5nIHNjcm9sbCBvZmZzZXQgd2hlbiB0aGUgZ2VzdHVyZSB0eXBlIEdlc3R1cmVTY3JvbGxVcGRh
dGVXaXRob3V0UHJvcGFnYXRpb24gaXMgdXNlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK2dlc3R1cmUgZXZlbnRzIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtIG9y
IGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9mIGEgZG9jdW1lbnQgaXMgYnJva2VuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9s
bC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rv
dWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTZkOWYyMmMzMDA1YTQ1MzIwNThiMzYzOTY4M2YzNzJmN2JiMDlmNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLmh0bWwKQEAgLTAsMCAr
MSwxNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9nZXN0dXJlLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKworOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAg
d2lkdGg6IDBweDsKKyAgICBoZWlnaHQ6IDBweDsKK30KKworI2JsdWVib3ggeworICB3aWR0aDog
MTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IGJsdWU7CisgIHBhZGRpbmc6
IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyNjb250YWluZXIgeworICAgIHdpZHRoOiAxNTBw
eDsKKyAgICBoZWlnaHQ6IDE1MHB4OworICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKKyAgICBvdmVy
Zmxvdy14OiBzY3JvbGw7Cit9CisKKyNvdXRlcmRpdiB7CisgICAgd2lkdGg6IDIwMHB4OworICAg
IGhlaWdodDogMjAwcHg7CisgICAgb3ZlcmZsb3cteTogc2Nyb2xsOworICAgIG92ZXJmbG93LXg6
IHNjcm9sbDsKK30KKwordGQgeworICBwYWRkaW5nOiAwcHg7Cit9CisKKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keSBzdHlsZT0ibWFyZ2luOjAiID4KKworPGRpdiBpZD0ib3V0ZXJkaXYiPgorICA8
dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMHB4IiA+CisgICAgPHRyPjx0ZD4KKyAgICAg
IDxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgICAgIDxpZnJhbWUgaWQ9InRvdWNodGFyZ2V0aWZy
YW1lIiBzcmM9InJlc291cmNlcy9zY3JvbGwtaW5zaWRlLWVkaXRhYmxlLWlmcmFtZS5odG1sIj48
L2lmcmFtZT4KKyAgICAgIDwvZGl2PgorICAgIDwvdGQ+PC90cj4KKyAgICA8dHI+PHRkPgorICAg
ICAgPGRpdiBpZD0iYmx1ZWJveCI+PC9kaXY+CisgICAgPC90ZD48L3RyPgorICA8L3RhYmxlPgor
PC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3ZhciBtb3ZlZGJveDsKK3Zh
ciB0b3VjaHRhcmdldDsKK3ZhciBleHBlY3RlZEdlc3R1cmVzVG90YWwgPSAyOwordmFyIGdlc3R1
cmVzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbEFtb3VudFggPSBbJzAnLCAnMCddOwordmFyIHNj
cm9sbEFtb3VudFkgPSBbJzAnLCAnMCddOwordmFyIHdoZWVsRXZlbnRzT2NjdXJyZWQgPSAwOwor
dmFyIGV4cGVjdGVkV2hlZWxFdmVudHNPY2N1cnJlZCA9IFsnMCcsICcwJ107Cit2YXIgc2Nyb2xs
RXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbGVkRWxlbWVudCA9ICdtb3ZlZGJveCcKK3Zh
ciBzY3JvbGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRTY3JvbGxFdmVudHNPY2N1
cnJlZCA9ICcxJzsKKworCitmdW5jdGlvbiByZWNvcmRTY3JvbGwoZXZlbnQpIHsKKwlkZWJ1Zygn
c2Nyb2xsIGV2ZW50ICcgKyBzY3JvbGxFdmVudHNPY2N1cnJlZCArICcrPiAnICsgZXZlbnQudGFy
Z2V0KTsKKwlzY3JvbGxFdmVudHNPY2N1cnJlZCsrOworCisJaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgeworCQkvLyBCZWNhdXNlIHNjcm9sbCBldmVudHMgYXJyaXZlIGFzeW5jaHJvbm91c2x5LCBv
bmx5IG9uZSB3aWxsIGFycml2ZS4KKwkgICAgaWYgKGdlc3R1cmVzT2NjdXJyZWQgPT0gZXhwZWN0
ZWRHZXN0dXJlc1RvdGFsKSB7CisJCQlzaG91bGRCZSgnc2Nyb2xsRXZlbnRzT2NjdXJyZWQnLCBl
eHBlY3RlZFNjcm9sbEV2ZW50c09jY3VycmVkKTsKKwkgICAgICAgIC8vIElmIHdlJ3ZlIGdvdCBo
ZXJlLCB3ZSd2ZSBwYXNzZWQuCisJICAgICAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
CSAgICAgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKwkgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKwkgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKwkJfQorICAg
IH0KK30KKworCitmdW5jdGlvbiBmaXJzdEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJm
aXJzdCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKDEwLCA3
Mik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlv
bigwLCAtNzAwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisg
ICAgLy8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2Z1
bmN0aW9uIHNlY29uZEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJzZWNvbmQgZ2VzdHVy
ZSIpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgNDApOworICAgIGV2
ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oMCwgLTEwMCk7
CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKKworICAgIC8vIFdhaXQg
Zm9yIGxheW91dC4KKyAgICBjaGVja1Njcm9sbE9mZnNldCgpOworfQorCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIHJ1
blRlc3QoKQoreworICAgIG1vdmVkYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dGVy
ZGl2Iik7CisgICAgdG91Y2h0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG91Y2h0
YXJnZXRpZnJhbWUiKTsKKyAgICB0b3VjaHRhcmdldC5jb250ZW50RG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigic2Nyb2xsIiwgcmVjb3JkU2Nyb2xsKTsKKyAgICB0b3VjaHRhcmdldC5jb250ZW50
RG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgcmVjb3JkV2hlZWwp
OworCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbign
VGhpcyB0ZXN0cyB0aGF0IGEgZ2VzdHVyZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBh
biAnICsKKyAgICAgICAgICAgICAgICAnaWZyYW1lIHRvIGFuIG91dGVyIGRpdiB3aGVuIHRoZSBp
ZnJhbWUgaGFzIG5vIHJlbWFpbmluZyAnICsKKyAgICAgICAgICAgICAgICAnc2Nyb2xsIG9mZnNl
dCB3aGVuIHRoZSBnZXN0dXJlIHR5cGUgR2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdh
dGlvbiBpcyB1c2VkLicpOworICAgICAgICBpZiAoY2hlY2tUZXN0RGVwZW5kZW5jaWVzKCkgJiYg
d2luZG93LmV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24p
CisgICAgICAgICAgICBmaXJzdEdlc3R1cmVTY3JvbGwoKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgZXhpdElmTmVjZXNzYXJ5KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoIlRo
aXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZS4gIEdlc3R1cmUtc2Nyb2xsIHRoZSBwYWdl
IHRvIHZhbGlkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbi4iKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
KworCisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3Rv
dWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2Utbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZmYmNiMGIzNzdlZjIwMDRjM2RkNTYwYzEzMzBjOTk5ZTg1YjM3ZTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdl
c3R1cmUtc2Nyb2xsLXBhZ2Utbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKKworVGhpcyB0ZXN0cyB0aGF0IGEgZ2VzdHVyZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0
ZWQgZnJvbSBhIGRpdiB0byB0aGUgcGFnZSB3aGVuIHRoZSBkaXYgaGFzIG5vIHJlbWFpbmluZyBz
Y3JvbGwgb2Zmc2V0IHdoZW4gdGhlIEdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRp
b24gZXZlbnQgdHlwZSBpcyB1c2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
Z2VzdHVyZSBldmVudHMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0gb3IgZ2VzdHVy
ZSBldmVudCBzY3JvbGxpbmcgb2YgYSBkb2N1bWVudCBpcyBicm9rZW4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2Ut
bm90LXByb3BhZ2F0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1
cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIzODUyNDVmYzE5YzNiM2QzYjk4OTU5MDQ2MTBkNjA0YmIyOWYxNmEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1
cmUtc2Nyb2xsLXBhZ2Utbm90LXByb3BhZ2F0ZWQuaHRtbApAQCAtMCwwICsxLDE3MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgd2lkdGg6IDBweDsKKyAg
ICBoZWlnaHQ6IDBweDsKK30KKworI2dyZWVuYm94IHsKKyAgd2lkdGg6IDEwMHB4OworICBoZWln
aHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiBncmVlbjsKKyAgcGFkZGluZzogMHB4OworICBtYXJn
aW46IDBweDsKK30KKworI3JlZGJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBw
eDsKKyAgYmFja2dyb3VuZDogcmVkOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4Owor
fQorCisjYmx1ZWJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFj
a2dyb3VuZDogYmx1ZTsKKyAgcGFkZGluZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKworI3ll
bGxvd2JveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3Vu
ZDogeWVsbG93OworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCisjdG91Y2h0
YXJnZXRkaXYgeworICAgIHdpZHRoOiAyMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIG92
ZXJmbG93LXk6IHNjcm9sbDsKKyAgICBvdmVyZmxvdy14OiBzY3JvbGw7Cit9CisKK3RkIHsKKyAg
cGFkZGluZzogMHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46
MCIgb25sb2FkPSJydW5UZXN0KCk7Ij4KKworPGRpdiBpZD0idG91Y2h0YXJnZXRkaXYiPgorICA8
dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMHB4IiA+CisgICAgPHRyPjx0ZD48ZGl2IGlk
PSJ5ZWxsb3dib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICA8dHI+PHRkPjxkaXYgaWQ9ImJsdWVi
b3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICA8dHI+PHRkPjxkaXYgaWQ9InllbGxvd2JveCI+PC9k
aXY+PC90ZD48L3RyPgorICAgIDx0cj48dGQ+PGRpdiBpZD0iYmx1ZWJveCI+PC9kaXY+PC90ZD48
L3RyPgorICA8L3RhYmxlPgorPC9kaXY+CisKKzx0YWJsZSBpZD0idGFibGVfdG9fZmlsbCIgYm9y
ZGVyPSIwIiBjZWxsc3BhY2luZz0iMHB4Ij4KKyAgPHRyPjx0ZD48ZGl2IGlkPSJncmVlbmJveCI+
PC9kaXY+PC90ZD48L3RyPgorICA8dHI+PHRkPjxkaXYgaWQ9InJlZGJveCI+PC9kaXY+PC90ZD48
L3RyPgorPC90YWJsZT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwordmFyIHRvdWNo
dGFyZ2V0OwordmFyIGV4cGVjdGVkR2VzdHVyZXNUb3RhbCA9IDI7Cit2YXIgZ2VzdHVyZXNPY2N1
cnJlZCA9IDA7Cit2YXIgc2Nyb2xsQW1vdW50WCA9IFsnMCcsICcwJ107Cit2YXIgc2Nyb2xsQW1v
dW50WSA9IFsnMCcsICcwJ107Cit2YXIgd2hlZWxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhw
ZWN0ZWRXaGVlbEV2ZW50c09jY3VycmVkID0gWycwJywgJzAnXTsKK3ZhciBzY3JvbGxFdmVudHNP
Y2N1cnJlZCA9IDA7Cit2YXIgc2Nyb2xsZWRFbGVtZW50ID0gJ2RvY3VtZW50LmJvZHknCit2YXIg
c2Nyb2xsRXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIGV4cGVjdGVkU2Nyb2xsRXZlbnRzT2NjdXJy
ZWQgPSAnMSc7CisKK2Z1bmN0aW9uIHJlY29yZFNjcm9sbChldmVudCkgeworCWRlYnVnKCdzY3Jv
bGwgZXZlbnQgJyArIHNjcm9sbEV2ZW50c09jY3VycmVkICsgJys+ICcgKyBldmVudC50YXJnZXQp
OworCXNjcm9sbEV2ZW50c09jY3VycmVkKys7CisKKwlpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CisJCS8vIEJlY2F1c2Ugc2Nyb2xsIGV2ZW50cyBhcnJpdmUgYXN5bmNocm9ub3VzbHksIG9ubHkg
b25lIHdpbGwgYXJyaXZlLgorCSAgICBpZiAoZ2VzdHVyZXNPY2N1cnJlZCA9PSBleHBlY3RlZEdl
c3R1cmVzVG90YWwpIHsKKwkJCXNob3VsZEJlKCdzY3JvbGxFdmVudHNPY2N1cnJlZCcsIGV4cGVj
dGVkU2Nyb2xsRXZlbnRzT2NjdXJyZWQpOworCSAgICAgICAgLy8gSWYgd2UndmUgZ290IGhlcmUs
IHdlJ3ZlIHBhc3NlZC4KKwkgICAgICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisJICAg
ICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworCSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorCSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworCQl9CisgICAgfQor
fQorCisvLyBBbHdheXMgY29uc3RydWN0IGEgcGFnZSBsYXJnZXIgdGhhbiB0aGUgdmVydGljYWwg
aGVpZ2h0IG9mIHRoZSB3aW5kb3cuCitmdW5jdGlvbiBidWlsZFBhZ2UoKQoreworICAgIHZhciB0
YWJsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YWJsZV90b19maWxsJyk7CisgICAgdmFy
IHRhcmdldEhlaWdodCA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworICAgIHZhciBjZWxs
UGFpckhlaWdodCA9IHRhYmxlLm9mZnNldEhlaWdodDsKKyAgICB2YXIgbnVtYmVyT2ZSZXBzID0g
dGFyZ2V0SGVpZ2h0IC8gY2VsbFBhaXJIZWlnaHQgKiAyOworICAgIHZhciBpOworICAgIGZvciAo
aSA9IDA7IGkgPCBudW1iZXJPZlJlcHM7IGkrKykgeworICAgICAgICB2YXIgcCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CisgICAgICAgIHAuaW5uZXJIVE1MID0gJzx0ZD48ZGl2IGlk
PSJncmVlbmJveCI+PC9kaXY+PC90ZD4nOworICAgICAgICB0YWJsZS5hcHBlbmRDaGlsZChwKTsK
KyAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOworICAgICAgICBw
LmlubmVySFRNTCA9ICc8dGQ+PGRpdiBpZD0icmVkYm94Ij48L2Rpdj48L3RkPic7CisgICAgICAg
IHRhYmxlLmFwcGVuZENoaWxkKHApOworICAgIH0KK30KKworZnVuY3Rpb24gZmlyc3RHZXN0dXJl
U2Nyb2xsKCkKK3sKKyAgICBkZWJ1ZygiZmlyc3QgZ2VzdHVyZSIpOworICAgIGV2ZW50U2VuZGVy
Lmdlc3R1cmVTY3JvbGxCZWdpbigxMCwgNzIpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3Jv
bGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oMCwgLTExMCk7CisgICAgZXZlbnRTZW5kZXIuZ2Vz
dHVyZVNjcm9sbEVuZCgwLCAwKTsKKworICAgIC8vIFdhaXQgZm9yIGxheW91dC4KKyAgICBjaGVj
a1Njcm9sbE9mZnNldCgpOworfQorCitmdW5jdGlvbiBzZWNvbmRHZXN0dXJlU2Nyb2xsKCkKK3sK
KyAgICBkZWJ1Zygic2Vjb25kIGdlc3R1cmUiKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Ny
b2xsQmVnaW4oMTIsIDQwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRlV2l0
aG91dFByb3BhZ2F0aW9uKDAsIC0yNTApOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxF
bmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQuCisgICAgY2hlY2tTY3JvbGxPZmZz
ZXQoKTsKK30KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBidWlsZFBhZ2UoKTsKKyAg
ICB0b3VjaHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b3VjaHRhcmdldGRpdicp
OworICAgIHRvdWNodGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHJlY29yZFNjcm9s
bCk7CisgICAgdG91Y2h0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V3aGVlbCIsIHJlY29y
ZFdoZWVsKTsKKworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZGVzY3Jp
cHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlzIG5vdCBwcm9wYWdhdGVk
IGZyb20gYSBkaXYgJyArIAorICAgICAgICAgICAgICAgICd0byB0aGUgcGFnZSB3aGVuIHRoZSBk
aXYgaGFzIG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4gJyArCisgICAgICAgICAgICAg
ICAgJ3RoZSBHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uIGV2ZW50IHR5cGUg
aXMgdXNlZC4nKTsKKyAgICAgICAgaWYgKGNoZWNrVGVzdERlcGVuZGVuY2llcygpICYmIHdpbmRv
dy5ldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uKQorICAg
ICAgICAgICAgZmlyc3RHZXN0dXJlU2Nyb2xsKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGV4aXRJZk5lY2Vzc2FyeSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCJUaGlzIHRl
c3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUuICBHZXN0dXJlLXNjcm9sbCB0aGUgcGFnZSB0byB2
YWxpZGF0ZSB0aGUgaW1wbGVtZW50YXRpb24uIik7CisgICAgfQorfQorPC9zY3JpcHQ+CisKKwor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1u
b3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3Qt
cHJvcGFnYXRlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWMxYWVlZTYwMmM4NTM1YjFiNjJj
NDMxMjAxN2RjNDU4MTk1N2RjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3Jv
bGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlz
IHRlc3RzIHRoYXQgYSBnZXN0dXJlIHNjcm9sbCBpcyBub3QgcHJvcGFnYXRlZCBmcm9tIGFuIGlu
bmVyIGRpdiB0byBhbiBvdXRlciBkaXYgd2hlbiB0aGUgaW5uZXIgZGl2IGhhcyBubyByZW1haW5p
bmcgc2Nyb2xsIG9mZnNldCB3aGVuIHRoZSBHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3Bh
Z2F0aW9uIGV2ZW50IHR5cGUgaXMgdXNlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK2ZpcnN0IGdlc3R1cmUKK1BBU1MgbW92ZWRib3guc2Nyb2xsVG9wIGlzIDAKK1BBU1MgbW92
ZWRib3guc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQgaXMgMAorc2Vj
b25kIGdlc3R1cmUKK1BBU1MgbW92ZWRib3guc2Nyb2xsVG9wIGlzIDAKK1BBU1MgbW92ZWRib3gu
c2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQgaXMgMAorc2Nyb2xsIGV2
ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQorUEFTUyBzY3JvbGxFdmVudHNPY2N1cnJl
ZCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4MGZlMTM3YTMzZjVjMzEwNzMwYTA4NzI0NWE0MmYx
NGI2YWQyODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1u
b3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorCitUaGlzIHRlc3Rz
IHRoYXQgYSBnZXN0dXJlIHNjcm9sbCBpcyBub3QgcHJvcGFnYXRlZCBmcm9tIGFuIGlmcmFtZSB0
byBhbiBvdXRlciBkaXYgd2hlbiB0aGUgaWZyYW1lIGhhcyBubyByZW1haW5pbmcgc2Nyb2xsIG9m
ZnNldCB3aGVuIHRoZSBnZXN0dXJlIHR5cGUgR2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9w
YWdhdGlvbiBpcyB1c2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZmlyc3Qg
Z2VzdHVyZQorUEFTUyBtb3ZlZGJveC5zY3JvbGxUb3AgaXMgMAorUEFTUyBtb3ZlZGJveC5zY3Jv
bGxMZWZ0IGlzIDAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAwCitzZWNvbmQgZ2VzdHVy
ZQorUEFTUyBtb3ZlZGJveC5zY3JvbGxUb3AgaXMgMAorUEFTUyBtb3ZlZGJveC5zY3JvbGxMZWZ0
IGlzIDAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAwCitzY3JvbGwgZXZlbnQgMCs+IFtv
YmplY3QgSFRNTERvY3VtZW50XQorUEFTUyBzY3JvbGxFdmVudHNPY2N1cnJlZCBpcyAxCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVy
ZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTQyNmRjMjM3ZDk5ZmRmOGYwMDlkMjA5ODY1MDZkOTI3NDQ1MzZiMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3Rv
dWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyB0ZXN0cyB0aGF0IGEgZ2VzdHVyZSBzY3Jv
bGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBhIGRpdiB0byB0aGUgcGFnZSB3aGVuIHRoZSBkaXYg
aGFzIG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4gdGhlIEdlc3R1cmVTY3JvbGxVcGRh
dGVXaXRob3V0UHJvcGFnYXRpb24gZXZlbnQgdHlwZSBpcyB1c2VkLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworZmlyc3QgZ2VzdHVyZQorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9s
bFRvcCBpcyAwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVs
RXZlbnRzT2NjdXJyZWQgaXMgMAorc2Vjb25kIGdlc3R1cmUKK1BBU1MgZG9jdW1lbnQuYm9keS5z
Y3JvbGxUb3AgaXMgMAorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgaXMgMAorUEFTUyB3
aGVlbEV2ZW50c09jY3VycmVkIGlzIDAKK3Njcm9sbCBldmVudCAwKz4gW29iamVjdCBIVE1MRGl2
RWxlbWVudF0KK1BBU1Mgc2Nyb2xsRXZlbnRzT2NjdXJyZWQgaXMgMQorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy1l
eHBlY3RlZC50eHQKaW5kZXggMTYyZGZmNDhjZGJhY2Y4NDQwYzg2Y2FlNjEzOTA3NTc4OGYzOTQy
YS4uYzRiYTJiM2EyZTU1OTczNDQxZTJhOGNmZWJmZGYzYmVkZWVmZGI0MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0
dXJlLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTYsNSArNiw2IEBAIFBsdWdpbiByZWNlaXZlZCBl
dmVudDogTW91c2VVcAogUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBHZXN0dXJlVGFwRG93bgogUGx1
Z2luIHJlY2VpdmVkIGV2ZW50OiBHZXN0dXJlU2Nyb2xsQmVnaW4KIFBsdWdpbiByZWNlaXZlZCBl
dmVudDogR2VzdHVyZVNjcm9sbFVwZGF0ZQorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBHZXN0dXJl
U2Nyb2xsVXBkYXRlCiBQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxFbmQKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJl
LWV2ZW50cy1zY3JvbGxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLXNjcm9sbGVkLWV4cGVjdGVkLnR4dAppbmRleCA4
NGEwZWQ4NjdjMjJiNGZhYmNmMzJlY2UzNTliOWYwNmYxMTAwYTU0Li4xNDczYTQ0NzY1YzYwMmFk
OTIxYzgwZjY2NTg1ZTA0ODRiYzg2OTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLXNjcm9sbGVkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRz
LXNjcm9sbGVkLWV4cGVjdGVkLnR4dApAQCAtNSw1ICs1LDYgQEAgUGx1Z2luIHJlY2VpdmVkIGV2
ZW50OiBNb3VzZURvd24KIFBsdWdpbiByZWNlaXZlZCBldmVudDogTW91c2VVcAogUGx1Z2luIHJl
Y2VpdmVkIGV2ZW50OiBHZXN0dXJlU2Nyb2xsQmVnaW4KIFBsdWdpbiByZWNlaXZlZCBldmVudDog
R2VzdHVyZVNjcm9sbFVwZGF0ZQorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBHZXN0dXJlU2Nyb2xs
VXBkYXRlCiBQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxFbmQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50
cy1zY3JvbGxlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9n
ZXN0dXJlLWV2ZW50cy1zY3JvbGxlZC5odG1sCmluZGV4IGM4ZDE5NzFmYzNmMGJhZDg5MzI3NjA2
OWRmMTJmOTNjODEzZGY2ODEuLmFhN2E4M2JmNDVhMzRiM2RlNTZlMWNhNjM1NjFlMTQ0NTUxZTJk
YTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2Vz
dHVyZS1ldmVudHMtc2Nyb2xsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLXNjcm9sbGVkLmh0bWwKQEAgLTM1LDYgKzM1LDcg
QEAKICAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcChwb3NpdGlvblgsIHBvc2l0aW9uWSk7
CiAgICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbihwb3NpdGlvblgsIHBvc2l0
aW9uWSk7CiAgICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUoMzAsIDApOwor
ICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9u
KDMwLCAwKTsKICAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMv
Z2VzdHVyZS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdp
bnMvZ2VzdHVyZS1ldmVudHMuaHRtbAppbmRleCBlNDdiY2U1NTBhNTRjZDBkMDVjYTlkYTNjZGQw
N2NkMzAzZDQwN2M0Li4wYmUxZjQwODJhMGZmNzNhZDA2ODNkN2FlZGYzZmM2MDRjYWM1OWUwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUt
ZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9n
ZXN0dXJlLWV2ZW50cy5odG1sCkBAIC0yNCw2ICsyNCw3IEBACiAgICAgICAgIGV2ZW50U2VuZGVy
Lmdlc3R1cmVUYXBEb3duKHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsKICAgICAgICAgZXZlbnRTZW5k
ZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsKICAgICAgICAgZXZl
bnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgzMCwgMCk7CisgICAgICAgIGV2ZW50U2VuZGVy
Lmdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oMzAsIDApOwogICAgICAgICBl
dmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186936</attachid>
            <date>2013-02-06 15:37:29 -0800</date>
            <delta_ts>2013-02-06 17:03:09 -0800</delta_ts>
            <desc>Fixed compilation issue after rollout, patch for landing</desc>
            <filename>bug-108849-20130206183405.patch</filename>
            <type>text/plain</type>
            <size>45727</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2IwYTBkMGFmOGY0MDM2
MWY2Y2U4YmMzZTA3ZWJmNzU3Nzg3MzhjNi4uYzIzNWMzMmJmZGYyZDNjZGQ3YTFmMjhmYmQ3MmM4
NWY4NzBmMjAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAyLTA2ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBnZXN0dXJlIHNjcm9sbCBldmVudHMgdGhhdCBkbyBub3QgcHJvcGFnYXRlIHRvIGVu
Y2xvc2luZyBzY3JvbGxhYmxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA4ODQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4K
KworICAgICAgICBUZXN0czogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJl
LXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9ldmVu
dHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXByb3BhZ2F0
ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1n
ZXN0dXJlLXNjcm9sbC1wYWdlLW5vdC1wcm9wYWdhdGVkLmh0bWwKKworICAgICAgICBSZW5hbWUg
UmVuZGVyTGF5ZXI6OnNjcm9sbEJ5UmVjdXJzaXZlbHkoKSB0byBSZW5kZXJMYXllcjo6c2Nyb2xs
QnkoKSBhbmQgYWRkIGEgcGFyYW1ldGVyCisgICAgICAgIG9mIHR5cGUgUmVuZGVyTGF5ZXI6OlNj
cm9sbFByb3BhZ2F0aW9uIHRvIHNwZWNpZnkgd2hldGhlciBvciBub3QgdGhlIHNjcm9sbCBzaG91
bGQKKyAgICAgICAgcHJvcGFnYXRlIHRvIGl0cyBwYXJlbnQgYnkgcmVjdXJzaW5nLiBJbXBsZW1l
bnQgUmVuZGVyTGF5ZXI6OnNjcm9sbEJ5UmVjdXJzaXZlbHkoKSBhcyBhCisgICAgICAgIGNhbGwg
dG8gUmVuZGVyTGF5ZXI6OnNjcm9sbEJ5KCkgd2l0aCBhcmd1bWVudCBSZW5kZXJMYXllcjo6U2hv
dWxkUHJvcGFnYXRlU2Nyb2xsIHNvCisgICAgICAgIHRoYXQgYWxsIGV4aXN0aW5nIGNhbGxzIHRv
IHRoZSBmdW5jdGlvbiBzdGlsbCBwcm9kdWNlIHRoZSBjb3JyZWN0IGJlaGF2aW9yLgorCisgICAg
ICAgIEluIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZVNjcm9sbFVwZGF0ZSgpLCBjYWxsIFJl
bmRlckxheWVyOjpzY3JvbGxCeSgpIHdpdGgKKyAgICAgICAgYXJndW1lbnQgUmVuZGVyTGF5ZXI6
OlNob3VsZFByb3BhZ2F0ZVNjcm9sbCBpZiB8Z2VzdHVyZUV2ZW50fCBpcyBhIEdlc3R1cmVTY3Jv
bGxVcGRhdGUKKyAgICAgICAgb3IgaW5zdGVhZCB3aXRoIGFyZ3VtZW50IFJlbmRlckxheWVyOjpE
b250UHJvcGFnYXRlU2Nyb2xsIGlmIHxnZXN0dXJlRXZlbnR8IGlzIGEKKyAgICAgICAgR2VzdHVy
ZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbi4KKworICAgICAgICAqIGRvbS9HZXN0dXJl
RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VzdHVyZUV2ZW50OjpjcmVhdGUpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6aGFuZGxlR2VzdHVyZVNjcm9sbFVwZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZv
cm1FdmVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxiYXI6Omdlc3R1cmVFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vUG9wdXBDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWlu
ZXI6OmhhbmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxCeVJlY3Vyc2l2ZWx5
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNj
cm9sbEJ5KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAxMy0wMi0w
NiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGJyb2tlbiBy
ZWxlYXNlIGJ1aWxkcywgZ3JlZW5pbmcgdGhlIGJvdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IGRiZjAzMDVhNGNmY2ExN2ZlMDcxODBlMWY5NWZhZGIzZGJjZTQ5YTguLjA0OWJlNTJh
NjY3MzE0ZjFmNzZmYWM3ZTE0YTVhZTU5ZjE1MTk2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTMtMDItMDYgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRl
cnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGdlc3R1cmUgc2Ny
b2xsIGV2ZW50cyB0aGF0IGRvIG5vdCBwcm9wYWdhdGUgdG8gZW5jbG9zaW5nIHNjcm9sbGFibGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg4NDkK
KworICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgorCisgICAgICAgIERlZmluZSB0
aGUgbmV3IGV2ZW50IHR5cGUgR2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbi4K
KworICAgICAgICAqIHB1YmxpYy9XZWJJbnB1dEV2ZW50Lmg6CisgICAgICAgIChXZWJLaXQ6Oldl
YklucHV0RXZlbnQ6OmlzR2VzdHVyZUV2ZW50VHlwZSk6CisgICAgICAgICogc3JjL1BhZ2VXaWRn
ZXREZWxlZ2F0ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VXaWRnZXREZWxlZ2F0ZTo6aGFu
ZGxlSW5wdXRFdmVudCk6CisgICAgICAgICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyOjpQbGF0Zm9y
bUdlc3R1cmVFdmVudEJ1aWxkZXIpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViUG9wdXBNZW51SW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OmhhbmRsZUlucHV0RXZlbnQpOgorICAgICAgICAqIHNy
Yy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVH
ZXN0dXJlRXZlbnQpOgorCiAyMDEzLTAyLTA2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQyMDI1
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcAppbmRleCAxZTdiODdlN2FmMmE1ZmNlNzRi
ZmVlNTY4ZjdkM2M0ZTg3MzVhYzc1Li4zNTM2NjA3NDU2YTQyNmQ5ZjBmODI3NDQ0OTRhN2VmMmNk
ZDhmNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcApAQCAtNDcsNiArNDcsNyBA
QCBQYXNzUmVmUHRyPEdlc3R1cmVFdmVudD4gR2VzdHVyZUV2ZW50OjpjcmVhdGUoUGFzc1JlZlB0
cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGNvbgogICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2VzdHVy
ZVNjcm9sbEVuZDoKICAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLmdlc3R1cmVzY3Jv
bGxlbmRFdmVudDsgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xs
VXBkYXRlOgorICAgIGNhc2UgUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhv
dXRQcm9wYWdhdGlvbjoKICAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLmdlc3R1cmVz
Y3JvbGx1cGRhdGVFdmVudDsgYnJlYWs7CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJl
VGFwOgogICAgICAgICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkuZ2VzdHVyZXRhcEV2ZW50OyBi
cmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA2ODZlMjVjZWZhZjFm
NjlkNWY4YWNjMThmZWY2NDI3OWE5N2Q1ODQ2Li5kZjZmNzRmNGY5MzFkYWM3Yjg3MTk3ODVhOTA1
Y2VmNzE5NDU0ODAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0yNDMz
LDcgKzI0MzMsOSBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0
IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiAKICAgICBOb2RlKiBldmVudFRh
cmdldCA9IDA7CiAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSAwOwotICAgIGlmIChnZXN0dXJl
RXZlbnQudHlwZSgpID09IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQgfHwgZ2VzdHVy
ZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlKSB7Cisg
ICAgaWYgKGdlc3R1cmVFdmVudC50eXBlKCkgPT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9s
bEVuZAorICAgICAgICB8fCBnZXN0dXJlRXZlbnQudHlwZSgpID09IFBsYXRmb3JtRXZlbnQ6Okdl
c3R1cmVTY3JvbGxVcGRhdGUKKyAgICAgICAgfHwgZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0
Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uKSB7CiAgICAg
ICAgIHNjcm9sbGJhciA9IG1fc2Nyb2xsYmFySGFuZGxpbmdTY3JvbGxHZXN0dXJlLmdldCgpOwog
ICAgICAgICBldmVudFRhcmdldCA9IG1fc2Nyb2xsR2VzdHVyZUhhbmRsaW5nTm9kZS5nZXQoKTsK
ICAgICB9CkBAIC0yNDk1LDYgKzI0OTcsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2Vz
dHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiAgICAg
Y2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsQmVnaW46CiAgICAgICAgIHJldHVybiBo
YW5kbGVHZXN0dXJlU2Nyb2xsQmVnaW4oZ2VzdHVyZUV2ZW50KTsKICAgICBjYXNlIFBsYXRmb3Jt
RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0
dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgogICAgICAgICByZXR1cm4gaGFuZGxl
R2VzdHVyZVNjcm9sbFVwZGF0ZShnZXN0dXJlRXZlbnQpOwogICAgIGNhc2UgUGxhdGZvcm1FdmVu
dDo6R2VzdHVyZVRhcDoKICAgICAgICAgcmV0dXJuIGhhbmRsZUdlc3R1cmVUYXAoZ2VzdHVyZUV2
ZW50KTsKQEAgLTI3MDMsMTAgKzI3MDYsMTQgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdl
c3R1cmVTY3JvbGxVcGRhdGUoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1cmUKICAg
ICBpZiAoIWxhdGNoZWRSZW5kZXJlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgUmVu
ZGVyTGF5ZXI6OlNjcm9sbFByb3BhZ2F0aW9uIHNob3VsZFByb3BhZ2F0ZSA9IFJlbmRlckxheWVy
OjpTaG91bGRQcm9wYWdhdGVTY3JvbGw7CisgICAgaWYgKGdlc3R1cmVFdmVudC50eXBlKCkgPT0g
UGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbikKKyAg
ICAgICAgc2hvdWxkUHJvcGFnYXRlID0gUmVuZGVyTGF5ZXI6OkRvbnRQcm9wYWdhdGVTY3JvbGw7
CisKICAgICBjb25zdCBmbG9hdCBzY2FsZUZhY3RvciA9IG1fZnJhbWUtPnBhZ2Vab29tRmFjdG9y
KCkgKiBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CiAgICAgZGVsdGEuc2NhbGUoMSAvIHNj
YWxlRmFjdG9yLCAxIC8gc2NhbGVGYWN0b3IpOwogCi0gICAgYm9vbCByZXN1bHQgPSBsYXRjaGVk
UmVuZGVyZXItPmVuY2xvc2luZ0xheWVyKCktPnNjcm9sbEJ5UmVjdXJzaXZlbHkoZGVsdGEsIFJl
bmRlckxheWVyOjpTY3JvbGxPZmZzZXRDbGFtcGVkKTsKKyAgICBib29sIHJlc3VsdCA9IGxhdGNo
ZWRSZW5kZXJlci0+ZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsQnkoZGVsdGEsIFJlbmRlckxheWVy
OjpTY3JvbGxPZmZzZXRDbGFtcGVkLCBzaG91bGRQcm9wYWdhdGUpOwogCiAgICAgaWYgKHJlc3Vs
dCkKICAgICAgICAgc2V0RnJhbWVXYXNTY3JvbGxlZEJ5VXNlcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1FdmVudC5oCmluZGV4IDYxZTUwOGRhNWVlMTcxM2RjZWE1Yzk3M2I4ODNi
M2EyMjRhMWM5ZWEuLjI1NDdhMmVhMGFhMTUzNGNiMTI3YzUyNDlkMjIxMjQzMTNkMzAwNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtRXZlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUV2ZW50LmgKQEAgLTUyLDYgKzUyLDcgQEAg
cHVibGljOgogICAgICAgICBHZXN0dXJlU2Nyb2xsQmVnaW4sCiAgICAgICAgIEdlc3R1cmVTY3Jv
bGxFbmQsCiAgICAgICAgIEdlc3R1cmVTY3JvbGxVcGRhdGUsCisgICAgICAgIEdlc3R1cmVTY3Jv
bGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24sCiAgICAgICAgIEdlc3R1cmVUYXAsCiAgICAgICAg
IEdlc3R1cmVUYXBEb3duLAogICAgICAgICBHZXN0dXJlVGFwRG93bkNhbmNlbCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDJhOGZhODVhNGIxZTIxMjdlMTlmYTUyOTU1
Njg2ZmRhNzEyZmUyMDYuLjQ1YTQ4ZGRiYzRkZTcyNWQ2OGI1YmJhMzU5ZDZjZGZjY2Q2MmE2YTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApAQCAtMzczLDYgKzM3Myw3IEBA
IGJvb2wgU2Nyb2xsYmFyOjpnZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQm
IGV2dCkKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6
Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Ny
b2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgogICAgICAgICBpZiAobV9wcmVzc2VkUGFydCA9
PSBUaHVtYlBhcnQpIHsKICAgICAgICAgICAgIG1fc2Nyb2xsUG9zICs9IEhvcml6b250YWxTY3Jv
bGxiYXIgPyBldnQuZGVsdGFYKCkgOiBldnQuZGVsdGFZKCk7CiAgICAgICAgICAgICBtb3ZlVGh1
bWIobV9zY3JvbGxQb3MsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcAppbmRleCAzZGViOTVhOTI4YmVjOTFjOGFiNjgy
NmFkZmY1MzNkOGI3YWRkOWU5Li40OTI1ZTA0NDJlZDJkNDMwZmI2ZGUyMzcxMzEwODE0ZDk3ZDJk
ODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENv
bnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBD
b250YWluZXIuY3BwCkBAIC0zMjEsNyArMzIxLDggQEAgYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFu
ZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQK
ICAgICB9CiAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlRG91YmxlVGFwOgogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6IHsK
KyAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBQ
bGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOiB7CiAg
ICAgICAgIFBsYXRmb3JtV2hlZWxFdmVudCBzeW50aGV0aWNXaGVlbEV2ZW50KGdlc3R1cmVFdmVu
dC5wb3NpdGlvbigpLCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZ2VzdHVyZUV2ZW50
LmRlbHRhWCgpLCBnZXN0dXJlRXZlbnQuZGVsdGFZKCksIGdlc3R1cmVFdmVudC5kZWx0YVgoKSAv
IDEyMC4wZiwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpIC8gMTIwLjBmLCBTY3JvbGxCeVBpeGVsV2hl
ZWxFdmVudCwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCks
IGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSk7CiAgICAgICAg
IGhhbmRsZVdoZWVsRXZlbnQoc3ludGhldGljV2hlZWxFdmVudCk7CiAgICAgICAgIHJldHVybiB0
cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNjhhMDY1
YjAzMTgxMTA0NmNjMGQ3MDdiNjJjMzgxYjFlODkwZTVlMS4uNDE5YTllMGM3Mzc2YTM5OWU1MWEy
OTZmODI3NDA2ODNkOTVlZjgzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCkBAIC0xOTg4LDcgKzE5ODgsMTIgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFuU2Nyb2xs
RnJvbVBvaW50KGNvbnN0IEludFBvaW50JiBzb3VyY2VQb2ludCkKICAgICBzY3JvbGxCeVJlY3Vy
c2l2ZWx5KGFkanVzdGVkU2Nyb2xsRGVsdGEoZGVsdGEpLCBTY3JvbGxPZmZzZXRDbGFtcGVkKTsK
IH0KIAotYm9vbCBSZW5kZXJMYXllcjo6c2Nyb2xsQnlSZWN1cnNpdmVseShjb25zdCBJbnRTaXpl
JiBkZWx0YSwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgY2xhbXApCit2b2lkIFJlbmRlckxheWVyOjpz
Y3JvbGxCeVJlY3Vyc2l2ZWx5KGNvbnN0IEludFNpemUmIGRlbHRhLCBTY3JvbGxPZmZzZXRDbGFt
cGluZyBjbGFtcCkKK3sKKyAgICBzY3JvbGxCeShkZWx0YSwgY2xhbXAsIFNob3VsZFByb3BhZ2F0
ZVNjcm9sbCk7Cit9CisKK2Jvb2wgUmVuZGVyTGF5ZXI6OnNjcm9sbEJ5KGNvbnN0IEludFNpemUm
IGRlbHRhLCBTY3JvbGxPZmZzZXRDbGFtcGluZyBjbGFtcCwgU2Nyb2xsUHJvcGFnYXRpb24gc2hv
dWxkUHJvcGFnYXRlKQogewogICAgIGlmIChkZWx0YS5pc1plcm8oKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtMjAwMSwxMiArMjAwNiwxNSBAQCBib29sIFJlbmRlckxheWVyOjpzY3JvbGxC
eVJlY3Vyc2l2ZWx5KGNvbnN0IEludFNpemUmIGRlbHRhLCBTY3JvbGxPZmZzZXRDbGFtcGluZwog
ICAgICAgICBJbnRTaXplIG5ld1Njcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpICsgZGVsdGE7
CiAgICAgICAgIHNjcm9sbFRvT2Zmc2V0KG5ld1Njcm9sbE9mZnNldCwgY2xhbXApOwogCisgICAg
ICAgIGlmIChzaG91bGRQcm9wYWdhdGUgPT0gRG9udFByb3BhZ2F0ZVNjcm9sbCkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworCiAgICAgICAgIC8vIElmIHRoaXMgbGF5ZXIgY2FuJ3QgZG8gdGhl
IHNjcm9sbCB3ZSBhc2sgdGhlIG5leHQgbGF5ZXIgdXAgdGhhdCBjYW4gc2Nyb2xsIHRvIHRyeQog
ICAgICAgICBJbnRTaXplIHJlbWFpbmluZ1Njcm9sbE9mZnNldCA9IG5ld1Njcm9sbE9mZnNldCAt
IHNjcm9sbE9mZnNldCgpOwogICAgICAgICBib29sIGRpZFNjcm9sbCA9IHRydWU7CiAgICAgICAg
IGlmICghcmVtYWluaW5nU2Nyb2xsT2Zmc2V0LmlzWmVybygpICYmIHJlbmRlcmVyKCktPnBhcmVu
dCgpKSB7CiAgICAgICAgICAgICBpZiAoUmVuZGVyTGF5ZXIqIHNjcm9sbGFibGVMYXllciA9IGVu
Y2xvc2luZ1Njcm9sbGFibGVMYXllcigpKQotICAgICAgICAgICAgICAgIGRpZFNjcm9sbCA9IHNj
cm9sbGFibGVMYXllci0+c2Nyb2xsQnlSZWN1cnNpdmVseShyZW1haW5pbmdTY3JvbGxPZmZzZXQs
IGNsYW1wKTsKKyAgICAgICAgICAgICAgICBkaWRTY3JvbGwgPSBzY3JvbGxhYmxlTGF5ZXItPnNj
cm9sbEJ5KHJlbWFpbmluZ1Njcm9sbE9mZnNldCwgY2xhbXAsIHNob3VsZFByb3BhZ2F0ZSk7CiAK
ICAgICAgICAgICAgIEZyYW1lKiBmcmFtZSA9IHJlbmRlcmVyKCktPmZyYW1lKCk7CiAgICAgICAg
ICAgICBpZiAoZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4
IDJhYWYwYWVlYTNkYWM2NWRiYzIyODY4ODA2OTFmNTc4ZjhmMjNlZDcuLjBiNjc0NTMzZTZkNTJk
MjY1YmMwNWI5YTM3Y2EzNzIyYjM2ZjI4ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCkBAIC0zMjgsOCArMzI4LDE0IEBAIHB1YmxpYzoKICAgICAgICAgU2Nyb2xsT2Zm
c2V0Q2xhbXBlZAogICAgIH07CiAKKyAgICBlbnVtIFNjcm9sbFByb3BhZ2F0aW9uIHsKKyAgICAg
ICAgU2hvdWxkUHJvcGFnYXRlU2Nyb2xsLAorICAgICAgICBEb250UHJvcGFnYXRlU2Nyb2xsCisg
ICAgfTsKKwogICAgIC8vIFNjcm9sbGluZyBtZXRob2RzIGZvciBsYXllcnMgdGhhdCBjYW4gc2Ny
b2xsIHRoZWlyIG92ZXJmbG93LgotICAgIGJvb2wgc2Nyb2xsQnlSZWN1cnNpdmVseShjb25zdCBJ
bnRTaXplJiwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgPSBTY3JvbGxPZmZzZXRVbmNsYW1wZWQpOwor
ICAgIGJvb2wgc2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYsIFNjcm9sbE9mZnNldENsYW1waW5nID0g
U2Nyb2xsT2Zmc2V0VW5jbGFtcGVkLCBTY3JvbGxQcm9wYWdhdGlvbiA9IERvbnRQcm9wYWdhdGVT
Y3JvbGwpOworICAgIHZvaWQgc2Nyb2xsQnlSZWN1cnNpdmVseShjb25zdCBJbnRTaXplJiwgU2Ny
b2xsT2Zmc2V0Q2xhbXBpbmcgPSBTY3JvbGxPZmZzZXRVbmNsYW1wZWQpOwogICAgIHZvaWQgc2Ny
b2xsVG9PZmZzZXQoY29uc3QgSW50U2l6ZSYsIFNjcm9sbE9mZnNldENsYW1waW5nID0gU2Nyb2xs
T2Zmc2V0VW5jbGFtcGVkKTsKICAgICB2b2lkIHNjcm9sbFRvWE9mZnNldChpbnQgeCwgU2Nyb2xs
T2Zmc2V0Q2xhbXBpbmcgY2xhbXAgPSBTY3JvbGxPZmZzZXRVbmNsYW1wZWQpIHsgc2Nyb2xsVG9P
ZmZzZXQoSW50U2l6ZSh4LCBzY3JvbGxZT2Zmc2V0KCkpLCBjbGFtcCk7IH0KICAgICB2b2lkIHNj
cm9sbFRvWU9mZnNldChpbnQgeSwgU2Nyb2xsT2Zmc2V0Q2xhbXBpbmcgY2xhbXAgPSBTY3JvbGxP
ZmZzZXRVbmNsYW1wZWQpIHsgc2Nyb2xsVG9PZmZzZXQoSW50U2l6ZShzY3JvbGxYT2Zmc2V0KCks
IHkpLCBjbGFtcCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklucHV0RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0
RXZlbnQuaAppbmRleCAwYjBmZjJkZjA4NjUwOWU1Zjc4ZmY2NzMzYzZmMjY0NDg3YmIyOTQxLi45
OWQzNGFiNzY4YzVkZjIyYzZmYTcxNmYwMzUwYWIyMmI0ZDFjMDRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCkBAIC0xMTUsNiArMTE1LDcgQEAg
cHVibGljOgogICAgICAgICBHZXN0dXJlU2Nyb2xsQmVnaW4sCiAgICAgICAgIEdlc3R1cmVTY3Jv
bGxFbmQsCiAgICAgICAgIEdlc3R1cmVTY3JvbGxVcGRhdGUsCisgICAgICAgIEdlc3R1cmVTY3Jv
bGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24sCiAgICAgICAgIEdlc3R1cmVGbGluZ1N0YXJ0LAog
ICAgICAgICBHZXN0dXJlRmxpbmdDYW5jZWwsCiAgICAgICAgIEdlc3R1cmVUYXAsCkBAIC0yMjIs
NiArMjIzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gdHlwZSA9PSBHZXN0dXJlU2Nyb2xs
QmVnaW4KICAgICAgICAgICAgIHx8IHR5cGUgPT0gR2VzdHVyZVNjcm9sbEVuZAogICAgICAgICAg
ICAgfHwgdHlwZSA9PSBHZXN0dXJlU2Nyb2xsVXBkYXRlCisgICAgICAgICAgICB8fCB0eXBlID09
IEdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24KICAgICAgICAgICAgIHx8IHR5
cGUgPT0gR2VzdHVyZUZsaW5nU3RhcnQKICAgICAgICAgICAgIHx8IHR5cGUgPT0gR2VzdHVyZUZs
aW5nQ2FuY2VsCiAgICAgICAgICAgICB8fCB0eXBlID09IEdlc3R1cmVQaW5jaEJlZ2luCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QYWdlV2lkZ2V0RGVsZWdhdGUuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGFnZVdpZGdldERlbGVnYXRlLmNwcAppbmRl
eCA5NmYwOWE2MTAwNzk5MmQ1YWQzY2M1OTAxMTA5OTRhNDBlZGI1YzMwLi42NTk4MjE0Nzg2NTRk
YjNmMGRhN2ZlYjUwMmYxMzZlM2JlMmI5YjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9QYWdlV2lkZ2V0RGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1BhZ2VXaWRnZXREZWxlZ2F0ZS5jcHAKQEAgLTE1Miw2ICsxNTIsNyBAQCBib29s
IFBhZ2VXaWRnZXREZWxlZ2F0ZTo6aGFuZGxlSW5wdXRFdmVudChQYWdlKiBwYWdlLCBQYWdlV2lk
Z2V0RXZlbnRIYW5kbGVyJiBoYQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9s
bEJlZ2luOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbEVuZDoKICAgICBj
YXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGU6CisgICAgY2FzZSBXZWJJbnB1
dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgogICAgIGNhc2Ug
V2ViSW5wdXRFdmVudDo6R2VzdHVyZUZsaW5nU3RhcnQ6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50
OjpHZXN0dXJlRmxpbmdDYW5jZWw6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFw
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENv
bnZlcnNpb24uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENv
bnZlcnNpb24uY3BwCmluZGV4IDllZDA4MGZkODFlMzIwNWU3NTA5YmU4ZDI1NzQ1MDBiYjQwOGE5
MGUuLmU0MmUxNmUxYTE2N2QxNzE3MWQ2NDgzNzQ3M2Y3NWNiNzdlMWVlNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5j
cHAKQEAgLTE1Myw2ICsxNTMsMTEgQEAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyOjpQbGF0
Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIoV2lkZ2V0KiB3aWRnZXQsIGNvbnN0IFcKICAgICAgICAg
bV9kZWx0YVggPSBlLmRhdGEuc2Nyb2xsVXBkYXRlLmRlbHRhWDsKICAgICAgICAgbV9kZWx0YVkg
PSBlLmRhdGEuc2Nyb2xsVXBkYXRlLmRlbHRhWTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBX
ZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uOgorICAg
ICAgICBtX3R5cGUgPSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFBy
b3BhZ2F0aW9uOworICAgICAgICBtX2RlbHRhWCA9IGUuZGF0YS5zY3JvbGxVcGRhdGUuZGVsdGFY
OworICAgICAgICBtX2RlbHRhWSA9IGUuZGF0YS5zY3JvbGxVcGRhdGUuZGVsdGFZOworICAgICAg
ICBicmVhazsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVUYXA6CiAgICAgICAgIG1f
dHlwZSA9IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVUYXA7CiAgICAgICAgIG1fYXJlYSA9IEludFNp
emUoZS5kYXRhLnRhcC53aWR0aCwgZS5kYXRhLnRhcC5oZWlnaHQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAppbmRleCBi
ODliY2QxZDczMjczYzZiOTY1NzkwYmE0NmJjMzJjNWNjZDMxMjM5Li5iYWQzZjgxMWMwMDc5YmI5
OTUwODc0MDQzMTEyMTgxZTM1YzczOWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcApAQCAtNzk2LDcgKzc5Niw3IEBA
IHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KEdlc3R1cmVF
dmVudCogZXZlbnQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAod2ViRXZlbnQu
dHlwZSA9PSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlKSB7CisgICAgaWYgKHdl
YkV2ZW50LnR5cGUgPT0gV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZSB8fCB3ZWJF
dmVudC50eXBlID09IFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJv
cGFnYXRpb24pIHsKICAgICAgICAgaWYgKCFtX3Njcm9sbGJhckdyb3VwKQogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICBpZiAoZ2VzdHVyZVNjcm9sbEhlbHBlcihtX3Njcm9sbGJhckdyb3Vw
LmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxSaWdodCwgd2ViRXZlbnQuZGF0YS5zY3JvbGxVcGRh
dGUuZGVsdGFYKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51
SW1wbC5jcHAKaW5kZXggMTA4MjA0ZjAyMjU4NTVmZTEyNGE5NzQ5NTc5ZmYzNjBhN2M3MGM3ZS4u
ODM0NDg2M2ZhY2NlZDM4OTlkNzk5NmQzNWIwZmRiZjA2YjMyNTY0ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAKQEAgLTI3Myw2ICsyNzMs
NyBAQCBib29sIFdlYlBvcHVwTWVudUltcGw6OmhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViSW5w
dXRFdmVudCYgaW5wdXRFdmVudCkKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3Jv
bGxCZWdpbjoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQ6CiAgICAg
Y2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlOgorICAgIGNhc2UgV2ViSW5w
dXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbjoKICAgICBjYXNl
IFdlYklucHV0RXZlbnQ6Okdlc3R1cmVGbGluZ1N0YXJ0OgogICAgIGNhc2UgV2ViSW5wdXRFdmVu
dDo6R2VzdHVyZUZsaW5nQ2FuY2VsOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRh
cDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAyZDg4
NTE2MGE2ZDgyMTE1Nzc2MjE2Mzk5NzAwNzg5Y2Y0ZThlMjI0Li5hYzhiODhlMWNlNmJlNWVhNGY3
MjVlMTU1NTgyZDRjOGYzMTg0NjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCkBAIC04MTEsNiArODExLDcgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxl
R2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgICAgIG1fY2xp
ZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwogICAgIGNhc2UgV2ViSW5wdXRF
dmVudDo6R2VzdHVyZVNjcm9sbEVuZDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVT
Y3JvbGxVcGRhdGU6CisgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRl
V2l0aG91dFByb3BhZ2F0aW9uOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRhcENh
bmNlbDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaEVuZDoKICAgICBjYXNl
IFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaFVwZGF0ZTogewpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNlYWZkZDQ3YzA0N2Q3ZTY3OGFmNDI5
ZjU4NmVkZWQ3MDJlN2VjYWEuLjQzY2Q2MTQ2NzBjNDc0MGRhOTU4YTFlMjNkMTk3ZWU3MDE0Yzhk
NjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMyBAQAorMjAxMy0wMi0wNiAgVGVycnkgQW5kZXJzb24gIDx0ZGFuZGVyc29uQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZ2VzdHVyZSBzY3JvbGwgZXZl
bnRzIHRoYXQgZG8gbm90IHByb3BhZ2F0ZSB0byBlbmNsb3Npbmcgc2Nyb2xsYWJsZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODg0OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCisKKyAgICAgICAgTW9kaWZ5IGNocm9taXVt
J3MgRFJUIEV2ZW50U2VuZGVyIHRvIHN1cHBvcnQgdGhlIG5ldyBldmVudCB0eXBlCisgICAgICAg
IEdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24uCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5jcHA6CisgICAg
ICAgIChXZWJUZXN0UnVubmVyKToKKyAgICAgICAgKFdlYlRlc3RSdW5uZXI6OkV2ZW50U2VuZGVy
OjpFdmVudFNlbmRlcik6CisgICAgICAgIChXZWJUZXN0UnVubmVyOjpFdmVudFNlbmRlcjo6Z2Vz
dHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbik6CisgICAgICAgIChXZWJUZXN0UnVu
bmVyOjpFdmVudFNlbmRlcjo6Z2VzdHVyZUV2ZW50KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5oOgorICAgICAgICAoRXZlbnRT
ZW5kZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3Jj
L1Rlc3RQbHVnaW4uY3BwOgorICAgICAgICAoV2ViVGVzdFJ1bm5lcjo6VGVzdFBsdWdpbjo6aGFu
ZGxlSW5wdXRFdmVudCk6CisKIDIwMTMtMDItMDYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNDIw
MzIuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVy
L3NyYy9FdmVudFNlbmRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
UnVubmVyL3NyYy9FdmVudFNlbmRlci5jcHAKaW5kZXggYWI2MDE5M2Q3NzA4MmQzOWM1NTZmM2Uz
OWMzM2EwMDQzNzk2NWY1Yi4uMmQ0ZTJjNTYzYzg2ZGI1Y2MzMzMzN2Y3MjU4YTQzMWJmZTA5Y2Fl
MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9z
cmMvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RSdW5uZXIvc3JjL0V2ZW50U2VuZGVyLmNwcApAQCAtMjkzLDYgKzI5Myw3IEBAIEV2ZW50U2Vu
ZGVyOjpFdmVudFNlbmRlcigpCiAgICAgYmluZE1ldGhvZCgiZ2VzdHVyZVNjcm9sbEVuZCIsICZF
dmVudFNlbmRlcjo6Z2VzdHVyZVNjcm9sbEVuZCk7CiAgICAgYmluZE1ldGhvZCgiZ2VzdHVyZVNj
cm9sbEZpcnN0UG9pbnQiLCAmRXZlbnRTZW5kZXI6Omdlc3R1cmVTY3JvbGxGaXJzdFBvaW50KTsK
ICAgICBiaW5kTWV0aG9kKCJnZXN0dXJlU2Nyb2xsVXBkYXRlIiwgJkV2ZW50U2VuZGVyOjpnZXN0
dXJlU2Nyb2xsVXBkYXRlKTsKKyAgICBiaW5kTWV0aG9kKCJnZXN0dXJlU2Nyb2xsVXBkYXRlV2l0
aG91dFByb3BhZ2F0aW9uIiwgJkV2ZW50U2VuZGVyOjpnZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91
dFByb3BhZ2F0aW9uKTsKICAgICBiaW5kTWV0aG9kKCJnZXN0dXJlVGFwIiwgJkV2ZW50U2VuZGVy
OjpnZXN0dXJlVGFwKTsKICAgICBiaW5kTWV0aG9kKCJnZXN0dXJlVGFwRG93biIsICZFdmVudFNl
bmRlcjo6Z2VzdHVyZVRhcERvd24pOwogICAgIGJpbmRNZXRob2QoImdlc3R1cmVUYXBDYW5jZWwi
LCAmRXZlbnRTZW5kZXI6Omdlc3R1cmVUYXBDYW5jZWwpOwpAQCAtMTEzNyw2ICsxMTM4LDEyIEBA
IHZvaWQgRXZlbnRTZW5kZXI6Omdlc3R1cmVTY3JvbGxVcGRhdGUoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiBhcmd1bWVudHMsIENwcFZhcmlhCiAgICAgZ2VzdHVyZUV2ZW50KFdlYklucHV0RXZlbnQ6
Okdlc3R1cmVTY3JvbGxVcGRhdGUsIGFyZ3VtZW50cyk7CiB9CiAKK3ZvaWQgRXZlbnRTZW5kZXI6
Omdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnNldE51
bGwoKTsKKyAgICBnZXN0dXJlRXZlbnQoV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0
ZVdpdGhvdXRQcm9wYWdhdGlvbiwgYXJndW1lbnRzKTsKK30KKwogdm9pZCBFdmVudFNlbmRlcjo6
Z2VzdHVyZVRhcChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCog
cmVzdWx0KQogewogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwpAQCAtMTE5NSw2ICsxMjAyLDcgQEAg
dm9pZCBFdmVudFNlbmRlcjo6Z2VzdHVyZUV2ZW50KFdlYklucHV0RXZlbnQ6OlR5cGUgdHlwZSwg
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JgogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBX
ZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlOgorICAgIGNhc2UgV2ViSW5wdXRFdmVu
dDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbjoKICAgICAgICAgZXZlbnQu
ZGF0YS5zY3JvbGxVcGRhdGUuZGVsdGFYID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3VtZW50c1sw
XS50b0RvdWJsZSgpKTsKICAgICAgICAgZXZlbnQuZGF0YS5zY3JvbGxVcGRhdGUuZGVsdGFZID0g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3VtZW50c1sxXS50b0RvdWJsZSgpKTsKICAgICAgICAgZXZl
bnQueCA9IG1fY3VycmVudEdlc3R1cmVMb2NhdGlvbi54OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuaCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL0V2ZW50U2VuZGVyLmgKaW5k
ZXggMDdmOTI4ZDA1NTNlZDU4YTAxZWRiYmFjYTYyYWRiNGM0ZWMyOGUzYy4uNjcwNWYzZGFmNTUz
NmNmYzUwNjgwN2FmZTY1NTRhNjliYmY2NDE2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvRXZlbnRTZW5kZXIuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9FdmVudFNlbmRlci5oCkBAIC0x
MDgsNiArMTA4LDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVyZVNjcm9sbEVuZChjb25zdCBD
cHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBnZXN0dXJlU2Nyb2xsRmly
c3RQb2ludChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBn
ZXN0dXJlU2Nyb2xsVXBkYXRlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsK
KyAgICB2b2lkIGdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogICAgIHZvaWQgZ2VzdHVyZVRhcChjb25zdCBD
cHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBnZXN0dXJlVGFwRG93bihj
b25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CiAgICAgdm9pZCBnZXN0dXJlVGFw
Q2FuY2VsKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1Rlc3RQbHVnaW4u
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFBs
dWdpbi5jcHAKaW5kZXggMTlmZDBiMjY2ZDM5Y2U5YjU0NTAwM2MwNTM2MGUxMTNkYmUxZWJlZS4u
Y2NmNjM3ZjM5NjQ3OWRmYmNlOWIxOWVkMmU5NTQ4ZjcyNTYyZmZhYSAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFBsdWdpbi5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvVGVzdFBs
dWdpbi5jcHAKQEAgLTQ4Nyw2ICs0ODcsNyBAQCBib29sIFRlc3RQbHVnaW46OmhhbmRsZUlucHV0
RXZlbnQoY29uc3QgV2ViSW5wdXRFdmVudCYgZXZlbnQsIFdlYkN1cnNvckluZm8mIGluZgogCiAg
ICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsQmVnaW46ICBldmVudE5hbWUgPSAi
R2VzdHVyZVNjcm9sbEJlZ2luIjsgYnJlYWs7CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0
dXJlU2Nyb2xsRW5kOiAgICBldmVudE5hbWUgPSAiR2VzdHVyZVNjcm9sbEVuZCI7IGJyZWFrOwor
ICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdh
dGlvbjogCiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlOiBldmVu
dE5hbWUgPSAiR2VzdHVyZVNjcm9sbFVwZGF0ZSI7IGJyZWFrOwogICAgIGNhc2UgV2ViSW5wdXRF
dmVudDo6R2VzdHVyZUZsaW5nU3RhcnQ6ICAgZXZlbnROYW1lID0gIkdlc3R1cmVGbGluZ1N0YXJ0
IjsgYnJlYWs7CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlRmxpbmdDYW5jZWw6ICBl
dmVudE5hbWUgPSAiR2VzdHVyZUZsaW5nQ2FuY2VsIjsgYnJlYWs7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDgyODJlZGE3
MjgxMTdiYzdjYzE0YzY1ZTZkMzRkYTY1YWEwZDkxMC4uZTI3MmZjYjdiYmNkMWJkY2JiNzkzMzJh
OTgzMTY5YjUzOTVkZDAxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTA2ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBnZXN0dXJlIHNjcm9sbCBldmVudHMgdGhhdCBkbyBub3QgcHJvcGFnYXRlIHRvIGVu
Y2xvc2luZyBzY3JvbGxhYmxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTA4ODQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4K
KworICAgICAgICBOZXcgdGVzdHMgYWRkZWQgdG8gZW5zdXJlIHRoYXQgR2VzdHVyZVNjcm9sbFVw
ZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbiBldmVudHMgd2lsbCBub3QKKyAgICAgICAgcHJvcGFnYXRl
IHRvIHRoZSBzY3JvbGxhYmxlIHBhcmVudCBvZiB0aGVpciB0YXJnZXQgd2hlbiB0aGUgdGFyZ2V0
IGhhcyBubyBhcmVhCisgICAgICAgIGxlZnQgdG8gYmUgc2Nyb2xsZWQuCisKKyAgICAgICAgTW9k
aWZpZWQgdHdvIGNocm9taXVtLXNwZWNpZmljIHBsdWdpbiB0ZXN0cyB0byBlbnN1cmUgdGhhdCB0
aGUgcGx1Z2lucyByZWNlaXZlCisgICAgICAgIEdlc3R1cmVTY3JvbGxVcGRhdGUgZXZlbnRzIHdo
ZW4gR2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbiBldmVudHMgYXJlCisgICAg
ICAgIGRpc3BhdGNoZWQgdG8gdGhlbS4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dl
c3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0
dXJlLXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXBy
b3BhZ2F0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3Vj
aC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1
cmUtc2Nyb2xsLXBhZ2Utbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2Ut
bm90LXByb3BhZ2F0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXBy
b3BhZ2F0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1u
b3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFn
ZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtc2Nyb2xsZWQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVu
dHMtc2Nyb2xsZWQuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dl
c3R1cmUtZXZlbnRzLmh0bWw6CisKIDIwMTMtMDItMDYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNl
a0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVy
ZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LW5vdC1wcm9w
YWdhdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTY2NGM3MTEzYzJiYTQ1MDY2YWM4ZGJh
NzdmNzM0OGUyMmNhN2I4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworVGhpcyB0ZXN0cyB0aGF0IGEgZ2VzdHVy
ZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBhbiBpbm5lciBkaXYgdG8gYW4gb3V0ZXIg
ZGl2IHdoZW4gdGhlIGlubmVyIGRpdiBoYXMgbm8gcmVtYWluaW5nIHNjcm9sbCBvZmZzZXQgd2hl
biB0aGUgR2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbiBldmVudCB0eXBlIGlz
IHVzZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitnZXN0dXJlIGV2ZW50cyBu
b3QgaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9ybSBvciBnZXN0dXJlIGV2ZW50IHNjcm9sbGlu
ZyBvZiBhIGRvY3VtZW50IGlzIGJyb2tlbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUt
c2Nyb2xsLWRpdi1ub3QtcHJvcGFnYXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MDE0MDlkN2IwNDNj
MjQ1MDliNjU3MWRiOWM0NWI5NmIwMWRlMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1ub3Qt
cHJvcGFnYXRlZC5odG1sCkBAIC0wLDAgKzEsMTY0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZ2Vz
dHVyZS1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisKKzo6
LXdlYmtpdC1zY3JvbGxiYXIgeworICAgIHdpZHRoOiAwcHg7CisgICAgaGVpZ2h0OiAwcHg7Cit9
CisKKyNncmVlbmJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFj
a2dyb3VuZDogZ3JlZW47CisgIHBhZGRpbmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyNy
ZWRib3ggeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6
IHJlZDsKKyAgcGFkZGluZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKworI2JsdWVib3ggewor
ICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IGJsdWU7Cisg
IHBhZGRpbmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyNpbm5lcmRpdiB7CisgICAgd2lk
dGg6IDIwMHB4OworICAgIGhlaWdodDogMjAwcHg7CisgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwor
ICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKK30KKworI291dGVyZGl2IHsKKyAgICB3aWR0aDogMjUw
cHg7CisgICAgaGVpZ2h0OiAyNTBweDsKKyAgICBvdmVyZmxvdy15OiBzY3JvbGw7CisgICAgb3Zl
cmZsb3cteDogc2Nyb2xsOworfQorCit0ZCB7CisgIHBhZGRpbmc6IDBweDsKK30KKworPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPSJydW5UZXN0KCk7Ij4K
KworPGRpdiBpZD0ib3V0ZXJkaXYiPgorICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0i
MHB4IiA+CisgICAgPHRyPjx0ZD4KKyAgICAgIDxkaXYgaWQ9ImlubmVyZGl2Ij4KKyAgICAgICAg
PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjBweCIgPgorICAgICAgICAgIDx0cj48dGQ+
PGRpdiBpZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICAgICAgICA8dHI+PHRkPjxk
aXYgaWQ9InJlZGJveCI+PC9kaXY+PC90ZD48L3RyPgorICAgICAgICAgIDx0cj48dGQ+PGRpdiBp
ZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICAgICAgICA8dHI+PHRkPjxkaXYgaWQ9
InJlZGJveCI+PC9kaXY+PC90ZD48L3RyPgorICAgICAgICA8L3RhYmxlPgorICAgICAgPC9kaXY+
CisgICAgPC90ZD48L3RyPgorICAgIDx0cj48dGQ+CisgICAgICA8ZGl2IGlkPSJibHVlYm94Ij48
L2Rpdj4KKyAgICA8L3RkPjwvdHI+CisgIDwvdGFibGU+Cis8L2Rpdj4KKworPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KKwordmFyIG1vdmVkYm94OwordmFyIHRvdWNodGFyZ2V0OwordmFyIGV4
cGVjdGVkR2VzdHVyZXNUb3RhbCA9IDI7Cit2YXIgZ2VzdHVyZXNPY2N1cnJlZCA9IDA7Cit2YXIg
c2Nyb2xsQW1vdW50WCA9IFsnMCcsICcwJ107Cit2YXIgc2Nyb2xsQW1vdW50WSA9IFsnMCcsICcw
J107Cit2YXIgd2hlZWxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRXaGVlbEV2ZW50
c09jY3VycmVkID0gWycwJywgJzAnXTsKK3ZhciBzY3JvbGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2
YXIgc2Nyb2xsZWRFbGVtZW50ID0gJ21vdmVkYm94JwordmFyIHNjcm9sbEV2ZW50c09jY3VycmVk
ID0gMDsKK3ZhciBleHBlY3RlZFNjcm9sbEV2ZW50c09jY3VycmVkID0gJzEnOworCisKK2Z1bmN0
aW9uIHJlY29yZFNjcm9sbChldmVudCkgeworCWRlYnVnKCdzY3JvbGwgZXZlbnQgJyArIHNjcm9s
bEV2ZW50c09jY3VycmVkICsgJys+ICcgKyBldmVudC50YXJnZXQpOworCXNjcm9sbEV2ZW50c09j
Y3VycmVkKys7CisKKwlpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisJCS8vIEJlY2F1c2Ugc2Ny
b2xsIGV2ZW50cyBhcnJpdmUgYXN5bmNocm9ub3VzbHksIG9ubHkgb25lIHdpbGwgYXJyaXZlLgor
CSAgICBpZiAoZ2VzdHVyZXNPY2N1cnJlZCA9PSBleHBlY3RlZEdlc3R1cmVzVG90YWwpIHsKKwkJ
CXNob3VsZEJlKCdzY3JvbGxFdmVudHNPY2N1cnJlZCcsIGV4cGVjdGVkU2Nyb2xsRXZlbnRzT2Nj
dXJyZWQpOworCSAgICAgICAgLy8gSWYgd2UndmUgZ290IGhlcmUsIHdlJ3ZlIHBhc3NlZC4KKwkg
ICAgICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisJICAgICAgICBpc1N1Y2Nlc3NmdWxs
eVBhcnNlZCgpOworCSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworCQl9CisgICAgfQorfQorCisKK2Z1bmN0aW9uIGZp
cnN0R2VzdHVyZVNjcm9sbCgpCit7CisgICAgZGVidWcoImZpcnN0IGdlc3R1cmUiKTsKKyAgICBl
dmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsQmVnaW4oMTAsIDcyKTsKKyAgICBldmVudFNlbmRlci5n
ZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uKDAsIC0xNTApOworICAgIGV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQu
CisgICAgY2hlY2tTY3JvbGxPZmZzZXQoKTsKK30KKworZnVuY3Rpb24gc2Vjb25kR2VzdHVyZVNj
cm9sbCgpCit7CisgICAgZGVidWcoInNlY29uZCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIu
Z2VzdHVyZVNjcm9sbEJlZ2luKDEyLCA0MCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9s
bFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbigwLCAtNjApOworICAgIGV2ZW50U2VuZGVyLmdlc3R1
cmVTY3JvbGxFbmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQuCisgICAgY2hlY2tT
Y3JvbGxPZmZzZXQoKTsKK30KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBtb3ZlZGJv
eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRlcmRpdiIpOworICAgIHRvdWNodGFyZ2V0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlubmVyZGl2Iik7CisgICAgdG91Y2h0YXJnZXQu
YWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgcmVjb3JkU2Nyb2xsKTsKKyAgICB0b3VjaHRhcmdl
dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgcmVjb3JkV2hlZWwpOworCisgICAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0
aGF0IGEgZ2VzdHVyZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBhbiAnICsKKyAgICAg
ICAgICAgICAgICAnaW5uZXIgZGl2IHRvIGFuIG91dGVyIGRpdiB3aGVuIHRoZSBpbm5lciBkaXYg
aGFzIG5vICcgKworICAgICAgICAgICAgICAgICdyZW1haW5pbmcgc2Nyb2xsIG9mZnNldCB3aGVu
IHRoZSBHZXN0dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uICcgKworICAgICAgICAg
ICAgICAgICdldmVudCB0eXBlIGlzIHVzZWQuJyk7CisgICAgICAgIGlmIChjaGVja1Rlc3REZXBl
bmRlbmNpZXMoKSAmJiB3aW5kb3cuZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhv
dXRQcm9wYWdhdGlvbikKKyAgICAgICAgICAgIGZpcnN0R2VzdHVyZVNjcm9sbCgpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBleGl0SWZOZWNlc3NhcnkoKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiAgR2VzdHVyZS1z
Y3JvbGwgdGhlIHBhZ2UgdG8gdmFsaWRhdGUgdGhlIGltcGxlbWVudGF0aW9uLiIpOworICAgIH0K
K30KKzwvc2NyaXB0PgorCisKKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJh
bWUtbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhODA3NjMwNGI3MWQ4NDk1NTg4NmI4MTdlYTk0ZWE4
Yzk1NzgxYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitUaGlzIHRlc3RzIHRoYXQgYSBnZXN0dXJlIHNj
cm9sbCBpcyBub3QgcHJvcGFnYXRlZCBmcm9tIGFuIGlmcmFtZSB0byBhbiBvdXRlciBkaXYgd2hl
biB0aGUgaWZyYW1lIGhhcyBubyByZW1haW5pbmcgc2Nyb2xsIG9mZnNldCB3aGVuIHRoZSBnZXN0
dXJlIHR5cGUgR2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbiBpcyB1c2VkLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZ2VzdHVyZSBldmVudHMgbm90IGltcGxl
bWVudGVkIG9uIHRoaXMgcGxhdGZvcm0gb3IgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcgb2YgYSBk
b2N1bWVudCBpcyBicm9rZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9n
ZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9s
bC1pZnJhbWUtbm90LXByb3BhZ2F0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmQ5ZjIyYzMwMDVhNDUz
MjA1OGIzNjM5NjgzZjM3MmY3YmIwOWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtbm90
LXByb3BhZ2F0ZWQuaHRtbApAQCAtMCwwICsxLDE0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dl
c3R1cmUtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCis6
Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICB3aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4Owor
fQorCisjYmx1ZWJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFj
a2dyb3VuZDogYmx1ZTsKKyAgcGFkZGluZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKworI2Nv
bnRhaW5lciB7CisgICAgd2lkdGg6IDE1MHB4OworICAgIGhlaWdodDogMTUwcHg7CisgICAgb3Zl
cmZsb3cteTogc2Nyb2xsOworICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKK30KKworI291dGVyZGl2
IHsKKyAgICB3aWR0aDogMjAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKKyAgICBvdmVyZmxvdy15
OiBzY3JvbGw7CisgICAgb3ZlcmZsb3cteDogc2Nyb2xsOworfQorCit0ZCB7CisgIHBhZGRpbmc6
IDBweDsKK30KKworPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgPgor
Cis8ZGl2IGlkPSJvdXRlcmRpdiI+CisgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIw
cHgiID4KKyAgICA8dHI+PHRkPgorICAgICAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICAgICAg
PGlmcmFtZSBpZD0idG91Y2h0YXJnZXRpZnJhbWUiIHNyYz0icmVzb3VyY2VzL3Njcm9sbC1pbnNp
ZGUtZWRpdGFibGUtaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgorICAgICAgPC9kaXY+CisgICAgPC90
ZD48L3RyPgorICAgIDx0cj48dGQ+CisgICAgICA8ZGl2IGlkPSJibHVlYm94Ij48L2Rpdj4KKyAg
ICA8L3RkPjwvdHI+CisgIDwvdGFibGU+Cis8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KKwordmFyIG1vdmVkYm94OwordmFyIHRvdWNodGFyZ2V0OwordmFyIGV4cGVjdGVkR2Vz
dHVyZXNUb3RhbCA9IDI7Cit2YXIgZ2VzdHVyZXNPY2N1cnJlZCA9IDA7Cit2YXIgc2Nyb2xsQW1v
dW50WCA9IFsnMCcsICcwJ107Cit2YXIgc2Nyb2xsQW1vdW50WSA9IFsnMCcsICcwJ107Cit2YXIg
d2hlZWxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRXaGVlbEV2ZW50c09jY3VycmVk
ID0gWycwJywgJzAnXTsKK3ZhciBzY3JvbGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgc2Nyb2xs
ZWRFbGVtZW50ID0gJ21vdmVkYm94JwordmFyIHNjcm9sbEV2ZW50c09jY3VycmVkID0gMDsKK3Zh
ciBleHBlY3RlZFNjcm9sbEV2ZW50c09jY3VycmVkID0gJzEnOworCisKK2Z1bmN0aW9uIHJlY29y
ZFNjcm9sbChldmVudCkgeworCWRlYnVnKCdzY3JvbGwgZXZlbnQgJyArIHNjcm9sbEV2ZW50c09j
Y3VycmVkICsgJys+ICcgKyBldmVudC50YXJnZXQpOworCXNjcm9sbEV2ZW50c09jY3VycmVkKys7
CisKKwlpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisJCS8vIEJlY2F1c2Ugc2Nyb2xsIGV2ZW50
cyBhcnJpdmUgYXN5bmNocm9ub3VzbHksIG9ubHkgb25lIHdpbGwgYXJyaXZlLgorCSAgICBpZiAo
Z2VzdHVyZXNPY2N1cnJlZCA9PSBleHBlY3RlZEdlc3R1cmVzVG90YWwpIHsKKwkJCXNob3VsZEJl
KCdzY3JvbGxFdmVudHNPY2N1cnJlZCcsIGV4cGVjdGVkU2Nyb2xsRXZlbnRzT2NjdXJyZWQpOwor
CSAgICAgICAgLy8gSWYgd2UndmUgZ290IGhlcmUsIHdlJ3ZlIHBhc3NlZC4KKwkgICAgICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisJICAgICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgp
OworCSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCSAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworCQl9CisgICAgfQorfQorCisKK2Z1bmN0aW9uIGZpcnN0R2VzdHVy
ZVNjcm9sbCgpCit7CisgICAgZGVidWcoImZpcnN0IGdlc3R1cmUiKTsKKyAgICBldmVudFNlbmRl
ci5nZXN0dXJlU2Nyb2xsQmVnaW4oMTAsIDcyKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Ny
b2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uKDAsIC03MDApOworICAgIGV2ZW50U2VuZGVyLmdl
c3R1cmVTY3JvbGxFbmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQuCisgICAgY2hl
Y2tTY3JvbGxPZmZzZXQoKTsKK30KKworZnVuY3Rpb24gc2Vjb25kR2VzdHVyZVNjcm9sbCgpCit7
CisgICAgZGVidWcoInNlY29uZCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNj
cm9sbEJlZ2luKDEyLCA0MCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZVdp
dGhvdXRQcm9wYWdhdGlvbigwLCAtMTAwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xs
RW5kKDAsIDApOworCisgICAgLy8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zm
c2V0KCk7Cit9CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgbW92ZWRib3ggPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgib3V0ZXJkaXYiKTsKKyAgICB0b3VjaHRhcmdldCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0b3VjaHRhcmdldGlmcmFtZSIpOworICAgIHRvdWNodGFyZ2V0
LmNvbnRlbnREb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCByZWNvcmRTY3JvbGwp
OworICAgIHRvdWNodGFyZ2V0LmNvbnRlbnREb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIo
Im1vdXNld2hlZWwiLCByZWNvcmRXaGVlbCk7CisKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7CisgICAgICAgIGRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgYSBnZXN0dXJlIHNjcm9s
bCBpcyBub3QgcHJvcGFnYXRlZCBmcm9tIGFuICcgKworICAgICAgICAgICAgICAgICdpZnJhbWUg
dG8gYW4gb3V0ZXIgZGl2IHdoZW4gdGhlIGlmcmFtZSBoYXMgbm8gcmVtYWluaW5nICcgKworICAg
ICAgICAgICAgICAgICdzY3JvbGwgb2Zmc2V0IHdoZW4gdGhlIGdlc3R1cmUgdHlwZSBHZXN0dXJl
U2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uIGlzIHVzZWQuJyk7CisgICAgICAgIGlmIChj
aGVja1Rlc3REZXBlbmRlbmNpZXMoKSAmJiB3aW5kb3cuZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9s
bFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbikKKyAgICAgICAgICAgIGZpcnN0R2VzdHVyZVNjcm9s
bCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBleGl0SWZOZWNlc3NhcnkoKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVl
LiAgR2VzdHVyZS1zY3JvbGwgdGhlIHBhZ2UgdG8gdmFsaWRhdGUgdGhlIGltcGxlbWVudGF0aW9u
LiIpOworICAgIH0KK30KKzwvc2NyaXB0PgorCisKKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJl
LXNjcm9sbC1wYWdlLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJv
cGFnYXRlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZiY2IwYjM3N2VmMjAwNGMzZGQ1NjBj
MTMzMGM5OTllODViMzdlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRl
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitUaGlzIHRlc3RzIHRoYXQgYSBnZXN0
dXJlIHNjcm9sbCBpcyBub3QgcHJvcGFnYXRlZCBmcm9tIGEgZGl2IHRvIHRoZSBwYWdlIHdoZW4g
dGhlIGRpdiBoYXMgbm8gcmVtYWluaW5nIHNjcm9sbCBvZmZzZXQgd2hlbiB0aGUgR2VzdHVyZVNj
cm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbiBldmVudCB0eXBlIGlzIHVzZWQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitnZXN0dXJlIGV2ZW50cyBub3QgaW1wbGVtZW50ZWQg
b24gdGhpcyBwbGF0Zm9ybSBvciBnZXN0dXJlIGV2ZW50IHNjcm9sbGluZyBvZiBhIGRvY3VtZW50
IGlzIGJyb2tlbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLW5v
dC1wcm9wYWdhdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjM4NTI0NWZjMTljM2IzZDNiOTg5NTkwNDYx
MGQ2MDRiYjI5ZjE2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1ub3QtcHJvcGFnYXRlZC5o
dG1sCkBAIC0wLDAgKzEsMTczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZ2VzdHVyZS1oZWxwZXJz
LmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cis6Oi13ZWJraXQtc2Nyb2xs
YmFyIHsKKyAgICB3aWR0aDogMHB4OworICAgIGhlaWdodDogMHB4OworfQorCisjZ3JlZW5ib3gg
eworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IGdyZWVu
OworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCisjcmVkYm94IHsKKyAgd2lk
dGg6IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiByZWQ7CisgIHBhZGRp
bmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyNibHVlYm94IHsKKyAgd2lkdGg6IDEwMHB4
OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiBibHVlOworICBwYWRkaW5nOiAwcHg7
CisgIG1hcmdpbjogMHB4OworfQorCisjeWVsbG93Ym94IHsKKyAgd2lkdGg6IDEwMHB4OworICBo
ZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiB5ZWxsb3c7CisgIHBhZGRpbmc6IDBweDsKKyAg
bWFyZ2luOiAwcHg7Cit9CisKKyN0b3VjaHRhcmdldGRpdiB7CisgICAgd2lkdGg6IDIwMHB4Owor
ICAgIGhlaWdodDogMjAwcHg7CisgICAgb3ZlcmZsb3cteTogc2Nyb2xsOworICAgIG92ZXJmbG93
LXg6IHNjcm9sbDsKK30KKwordGQgeworICBwYWRkaW5nOiAwcHg7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHkgc3R5bGU9Im1hcmdpbjowIiBvbmxvYWQ9InJ1blRlc3QoKTsiPgorCis8ZGl2
IGlkPSJ0b3VjaHRhcmdldGRpdiI+CisgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIw
cHgiID4KKyAgICA8dHI+PHRkPjxkaXYgaWQ9InllbGxvd2JveCI+PC9kaXY+PC90ZD48L3RyPgor
ICAgIDx0cj48dGQ+PGRpdiBpZD0iYmx1ZWJveCI+PC9kaXY+PC90ZD48L3RyPgorICAgIDx0cj48
dGQ+PGRpdiBpZD0ieWVsbG93Ym94Ij48L2Rpdj48L3RkPjwvdHI+CisgICAgPHRyPjx0ZD48ZGl2
IGlkPSJibHVlYm94Ij48L2Rpdj48L3RkPjwvdHI+CisgIDwvdGFibGU+Cis8L2Rpdj4KKworPHRh
YmxlIGlkPSJ0YWJsZV90b19maWxsIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwcHgiPgorICA8
dHI+PHRkPjxkaXYgaWQ9ImdyZWVuYm94Ij48L2Rpdj48L3RkPjwvdHI+CisgIDx0cj48dGQ+PGRp
diBpZD0icmVkYm94Ij48L2Rpdj48L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorCit2YXIgdG91Y2h0YXJnZXQ7Cit2YXIgZXhwZWN0ZWRHZXN0dXJlc1Rv
dGFsID0gMjsKK3ZhciBnZXN0dXJlc09jY3VycmVkID0gMDsKK3ZhciBzY3JvbGxBbW91bnRYID0g
WycwJywgJzAnXTsKK3ZhciBzY3JvbGxBbW91bnRZID0gWycwJywgJzAnXTsKK3ZhciB3aGVlbEV2
ZW50c09jY3VycmVkID0gMDsKK3ZhciBleHBlY3RlZFdoZWVsRXZlbnRzT2NjdXJyZWQgPSBbJzAn
LCAnMCddOwordmFyIHNjcm9sbEV2ZW50c09jY3VycmVkID0gMDsKK3ZhciBzY3JvbGxlZEVsZW1l
bnQgPSAnZG9jdW1lbnQuYm9keScKK3ZhciBzY3JvbGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIg
ZXhwZWN0ZWRTY3JvbGxFdmVudHNPY2N1cnJlZCA9ICcxJzsKKworZnVuY3Rpb24gcmVjb3JkU2Ny
b2xsKGV2ZW50KSB7CisJZGVidWcoJ3Njcm9sbCBldmVudCAnICsgc2Nyb2xsRXZlbnRzT2NjdXJy
ZWQgKyAnKz4gJyArIGV2ZW50LnRhcmdldCk7CisJc2Nyb2xsRXZlbnRzT2NjdXJyZWQrKzsKKwor
CWlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKwkJLy8gQmVjYXVzZSBzY3JvbGwgZXZlbnRzIGFy
cml2ZSBhc3luY2hyb25vdXNseSwgb25seSBvbmUgd2lsbCBhcnJpdmUuCisJICAgIGlmIChnZXN0
dXJlc09jY3VycmVkID09IGV4cGVjdGVkR2VzdHVyZXNUb3RhbCkgeworCQkJc2hvdWxkQmUoJ3Nj
cm9sbEV2ZW50c09jY3VycmVkJywgZXhwZWN0ZWRTY3JvbGxFdmVudHNPY2N1cnJlZCk7CisJICAg
ICAgICAvLyBJZiB3ZSd2ZSBnb3QgaGVyZSwgd2UndmUgcGFzc2VkLgorCSAgICAgICAgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwkgICAgICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7CisJ
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisJICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CisJCX0KKyAgICB9Cit9CisKKy8vIEFsd2F5cyBjb25zdHJ1Y3QgYSBwYWdl
IGxhcmdlciB0aGFuIHRoZSB2ZXJ0aWNhbCBoZWlnaHQgb2YgdGhlIHdpbmRvdy4KK2Z1bmN0aW9u
IGJ1aWxkUGFnZSgpCit7CisgICAgdmFyIHRhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3RhYmxlX3RvX2ZpbGwnKTsKKyAgICB2YXIgdGFyZ2V0SGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5v
ZmZzZXRIZWlnaHQ7CisgICAgdmFyIGNlbGxQYWlySGVpZ2h0ID0gdGFibGUub2Zmc2V0SGVpZ2h0
OworICAgIHZhciBudW1iZXJPZlJlcHMgPSB0YXJnZXRIZWlnaHQgLyBjZWxsUGFpckhlaWdodCAq
IDI7CisgICAgdmFyIGk7CisgICAgZm9yIChpID0gMDsgaSA8IG51bWJlck9mUmVwczsgaSsrKSB7
CisgICAgICAgIHZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKKyAgICAgICAg
cC5pbm5lckhUTUwgPSAnPHRkPjxkaXYgaWQ9ImdyZWVuYm94Ij48L2Rpdj48L3RkPic7CisgICAg
ICAgIHRhYmxlLmFwcGVuZENoaWxkKHApOworICAgICAgICB2YXIgcCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3RyJyk7CisgICAgICAgIHAuaW5uZXJIVE1MID0gJzx0ZD48ZGl2IGlkPSJyZWRi
b3giPjwvZGl2PjwvdGQ+JzsKKyAgICAgICAgdGFibGUuYXBwZW5kQ2hpbGQocCk7CisgICAgfQor
fQorCitmdW5jdGlvbiBmaXJzdEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJmaXJzdCBn
ZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKDEwLCA3Mik7Cisg
ICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbigwLCAt
MTEwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAgLy8g
V2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2Z1bmN0aW9u
IHNlY29uZEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJzZWNvbmQgZ2VzdHVyZSIpOwor
ICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgNDApOworICAgIGV2ZW50U2Vu
ZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oMCwgLTI1MCk7CisgICAg
ZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKKworICAgIC8vIFdhaXQgZm9yIGxh
eW91dC4KKyAgICBjaGVja1Njcm9sbE9mZnNldCgpOworfQorCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIHJ1blRlc3Qo
KQoreworICAgIGJ1aWxkUGFnZSgpOworICAgIHRvdWNodGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RvdWNodGFyZ2V0ZGl2Jyk7CisgICAgdG91Y2h0YXJnZXQuYWRkRXZlbnRMaXN0
ZW5lcigic2Nyb2xsIiwgcmVjb3JkU2Nyb2xsKTsKKyAgICB0b3VjaHRhcmdldC5hZGRFdmVudExp
c3RlbmVyKCJtb3VzZXdoZWVsIiwgcmVjb3JkV2hlZWwpOworCisgICAgaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0IGEgZ2VzdHVy
ZSBzY3JvbGwgaXMgbm90IHByb3BhZ2F0ZWQgZnJvbSBhIGRpdiAnICsgCisgICAgICAgICAgICAg
ICAgJ3RvIHRoZSBwYWdlIHdoZW4gdGhlIGRpdiBoYXMgbm8gcmVtYWluaW5nIHNjcm9sbCBvZmZz
ZXQgd2hlbiAnICsKKyAgICAgICAgICAgICAgICAndGhlIEdlc3R1cmVTY3JvbGxVcGRhdGVXaXRo
b3V0UHJvcGFnYXRpb24gZXZlbnQgdHlwZSBpcyB1c2VkLicpOworICAgICAgICBpZiAoY2hlY2tU
ZXN0RGVwZW5kZW5jaWVzKCkgJiYgd2luZG93LmV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRh
dGVXaXRob3V0UHJvcGFnYXRpb24pCisgICAgICAgICAgICBmaXJzdEdlc3R1cmVTY3JvbGwoKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhpdElmTmVjZXNzYXJ5KCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZS4gIEdl
c3R1cmUtc2Nyb2xsIHRoZSBwYWdlIHRvIHZhbGlkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbi4iKTsK
KyAgICB9Cit9Cis8L3NjcmlwdD4KKworCisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91
Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45YzFhZWVlNjAyYzg1MzViMWI2MmM0MzEyMDE3ZGM0NTgxOTU3ZGM0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gv
Z2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtbm90LXByb3BhZ2F0ZWQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTkgQEAKK1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlz
IG5vdCBwcm9wYWdhdGVkIGZyb20gYW4gaW5uZXIgZGl2IHRvIGFuIG91dGVyIGRpdiB3aGVuIHRo
ZSBpbm5lciBkaXYgaGFzIG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4gdGhlIEdlc3R1
cmVTY3JvbGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24gZXZlbnQgdHlwZSBpcyB1c2VkLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZmlyc3QgZ2VzdHVyZQorUEFTUyBtb3ZlZGJv
eC5zY3JvbGxUb3AgaXMgMAorUEFTUyBtb3ZlZGJveC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1Mgd2hl
ZWxFdmVudHNPY2N1cnJlZCBpcyAwCitzZWNvbmQgZ2VzdHVyZQorUEFTUyBtb3ZlZGJveC5zY3Jv
bGxUb3AgaXMgMAorUEFTUyBtb3ZlZGJveC5zY3JvbGxMZWZ0IGlzIDAKK1BBU1Mgd2hlZWxFdmVu
dHNPY2N1cnJlZCBpcyAwCitzY3JvbGwgZXZlbnQgMCs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRd
CitQQVNTIHNjcm9sbEV2ZW50c09jY3VycmVkIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Ny
b2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Ny
b2xsLWlmcmFtZS1ub3QtcHJvcGFnYXRlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgwZmUx
MzdhMzNmNWMzMTA3MzBhMDg3MjQ1YTQyZjE0YjZhZDI4OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91
Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIwIEBACisKK1RoaXMgdGVzdHMgdGhhdCBhIGdlc3R1cmUgc2Nyb2xsIGlzIG5vdCBw
cm9wYWdhdGVkIGZyb20gYW4gaWZyYW1lIHRvIGFuIG91dGVyIGRpdiB3aGVuIHRoZSBpZnJhbWUg
aGFzIG5vIHJlbWFpbmluZyBzY3JvbGwgb2Zmc2V0IHdoZW4gdGhlIGdlc3R1cmUgdHlwZSBHZXN0
dXJlU2Nyb2xsVXBkYXRlV2l0aG91dFByb3BhZ2F0aW9uIGlzIHVzZWQuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitmaXJzdCBnZXN0dXJlCitQQVNTIG1vdmVkYm94LnNjcm9sbFRv
cCBpcyAwCitQQVNTIG1vdmVkYm94LnNjcm9sbExlZnQgaXMgMAorUEFTUyB3aGVlbEV2ZW50c09j
Y3VycmVkIGlzIDAKK3NlY29uZCBnZXN0dXJlCitQQVNTIG1vdmVkYm94LnNjcm9sbFRvcCBpcyAw
CitQQVNTIG1vdmVkYm94LnNjcm9sbExlZnQgaXMgMAorUEFTUyB3aGVlbEV2ZW50c09jY3VycmVk
IGlzIDAKK3Njcm9sbCBldmVudCAwKz4gW29iamVjdCBIVE1MRG9jdW1lbnRdCitQQVNTIHNjcm9s
bEV2ZW50c09jY3VycmVkIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2Utbm90
LXByb3BhZ2F0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLW5vdC1w
cm9wYWdhdGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDI2ZGMyMzdkOTlmZGY4ZjAwOWQy
MDk4NjUwNmQ5Mjc0NDUzNmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9s
bC1wYWdlLW5vdC1wcm9wYWdhdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlz
IHRlc3RzIHRoYXQgYSBnZXN0dXJlIHNjcm9sbCBpcyBub3QgcHJvcGFnYXRlZCBmcm9tIGEgZGl2
IHRvIHRoZSBwYWdlIHdoZW4gdGhlIGRpdiBoYXMgbm8gcmVtYWluaW5nIHNjcm9sbCBvZmZzZXQg
d2hlbiB0aGUgR2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9wYWdhdGlvbiBldmVudCB0eXBl
IGlzIHVzZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitmaXJzdCBnZXN0dXJl
CitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDAKK1BBU1MgZG9jdW1lbnQuYm9keS5z
Y3JvbGxMZWZ0IGlzIDAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAwCitzZWNvbmQgZ2Vz
dHVyZQorUEFTUyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAwCitQQVNTIGRvY3VtZW50LmJv
ZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQgaXMgMAorc2Nyb2xs
IGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQorUEFTUyBzY3JvbGxFdmVudHNPY2N1
cnJlZCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9n
ZXN0dXJlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCAxNjJkZmY0OGNkYmFj
Zjg0NDBjODZjYWU2MTM5MDc1Nzg4ZjM5NDJhLi5jNGJhMmIzYTJlNTU5NzM0NDFlMmE4Y2ZlYmZk
ZjNiZWRlZWZkYjQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9w
bHVnaW5zL2dlc3R1cmUtZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNiw1
ICs2LDYgQEAgUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBNb3VzZVVwCiBQbHVnaW4gcmVjZWl2ZWQg
ZXZlbnQ6IEdlc3R1cmVUYXBEb3duCiBQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3Jv
bGxCZWdpbgogUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBHZXN0dXJlU2Nyb2xsVXBkYXRlCitQbHVn
aW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxVcGRhdGUKIFBsdWdpbiByZWNlaXZlZCBl
dmVudDogR2VzdHVyZVNjcm9sbEVuZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLXNjcm9sbGVkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtc2Ny
b2xsZWQtZXhwZWN0ZWQudHh0CmluZGV4IDg0YTBlZDg2N2MyMmI0ZmFiY2YzMmVjZTM1OWI5ZjA2
ZjExMDBhNTQuLjE0NzNhNDQ3NjVjNjAyYWQ5MjFjODBmNjY1ODVlMDQ4NGJjODY5NjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVu
dHMtc2Nyb2xsZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtc2Nyb2xsZWQtZXhwZWN0ZWQudHh0CkBAIC01LDUg
KzUsNiBAQCBQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IE1vdXNlRG93bgogUGx1Z2luIHJlY2VpdmVk
IGV2ZW50OiBNb3VzZVVwCiBQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxCZWdp
bgogUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBHZXN0dXJlU2Nyb2xsVXBkYXRlCitQbHVnaW4gcmVj
ZWl2ZWQgZXZlbnQ6IEdlc3R1cmVTY3JvbGxVcGRhdGUKIFBsdWdpbiByZWNlaXZlZCBldmVudDog
R2VzdHVyZVNjcm9sbEVuZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLXNjcm9sbGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLXNjcm9sbGVkLmh0bWwKaW5k
ZXggYzhkMTk3MWZjM2YwYmFkODkzMjc2MDY5ZGYxMmY5M2M4MTNkZjY4MS4uYWE3YTgzYmY0NWEz
NGIzZGU1NmUxY2E2MzU2MWUxNDQ1NTFlMmRhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy1zY3JvbGxlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMtc2Ny
b2xsZWQuaHRtbApAQCAtMzUsNiArMzUsNyBAQAogICAgICAgICBldmVudFNlbmRlci5nZXN0dXJl
VGFwKHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsKICAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNj
cm9sbEJlZ2luKHBvc2l0aW9uWCwgcG9zaXRpb25ZKTsKICAgICAgICAgZXZlbnRTZW5kZXIuZ2Vz
dHVyZVNjcm9sbFVwZGF0ZSgzMCwgMCk7CisgICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3Jv
bGxVcGRhdGVXaXRob3V0UHJvcGFnYXRpb24oMzAsIDApOwogICAgICAgICBldmVudFNlbmRlci5n
ZXN0dXJlU2Nyb2xsRW5kKDAsIDApOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9nZXN0dXJlLWV2ZW50cy5odG1sCmluZGV4IGU0
N2JjZTU1MGE1NGNkMGQwNWNhOWRhM2NkZDA3Y2QzMDNkNDA3YzQuLjBiZTFmNDA4MmEwZmY3M2Fk
MDY4M2Q3YWVkZjNmYzYwNGNhYzU5ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3BsdWdpbnMvZ2VzdHVyZS1ldmVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2dlc3R1cmUtZXZlbnRzLmh0bWwKQEAgLTI0LDYgKzI0
LDcgQEAKICAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcERvd24ocG9zaXRpb25YLCBwb3Np
dGlvblkpOwogICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsQmVnaW4ocG9zaXRpb25Y
LCBwb3NpdGlvblkpOwogICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRlKDMw
LCAwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZVdpdGhvdXRQcm9w
YWdhdGlvbigzMCwgMCk7CiAgICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwg
MCk7CiAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>