<?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>90014</bug_id>
          
          <creation_ts>2012-06-26 14:18:49 -0700</creation_ts>
          <short_desc>REGRESSION(r121285): &quot;We misinterpreted &apos;size of the initial containing block&apos;&quot; (Requested by tomz on #webkit).</short_desc>
          <delta_ts>2012-06-26 14:36:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          <blocked>86176</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>bdakin</cc>
    
    <cc>dtharp</cc>
    
    <cc>tomz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>657984</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 14:18:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/121285 broke the build:
&quot;We misinterpreted &apos;size of the initial containing block&apos;&quot; (Requested by tomz on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657987</commentid>
    <comment_count>1</comment_count>
      <attachid>149605</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 14:19:31 -0700</bug_when>
    <thetext>Created attachment 149605
ROLLOUT of r121285

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658005</commentid>
    <comment_count>2</comment_count>
      <attachid>149605</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 14:36:12 -0700</bug_when>
    <thetext>Comment on attachment 149605
ROLLOUT of r121285

Clearing flags on attachment: 149605

Committed r121289: &lt;http://trac.webkit.org/changeset/121289&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658006</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 14:36:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149605</attachid>
            <date>2012-06-26 14:19:31 -0700</date>
            <delta_ts>2012-06-26 14:36:12 -0700</delta_ts>
            <desc>ROLLOUT of r121285</desc>
            <filename>bug-90014-20120626212433.patch</filename>
            <type>text/plain</type>
            <size>88330</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFjMGZiOTk4NDBiMmQ0
YWNlNGNmNmI3ZmU4YjEzN2NmMWU1OWRmNy4uODM5ZWQ1NjBlNjI4YTQ5YTdhNGYxODlhMGE2OGU4
NGY2YzZiNWJkMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEyLTA2LTI2ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTIxMjg1LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjEyODUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkwMDE0CisKKyAgICAgICAgIldlIG1pc2ludGVycHJldGVkICdzaXplIG9mIHRo
ZSBpbml0aWFsIGNvbnRhaW5pbmcgYmxvY2snIgorICAgICAgICAoUmVxdWVzdGVkIGJ5IHRvbXog
b24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNvbXB1dGVMZW5ndGhQeCk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aFB4KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb246OnRvQ2FsY1ZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb246OmNvbXB1dGVMZW5ndGhQeCk6Cisg
ICAgICAgICogY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaDoKKyAgICAgICAgKENTU0NhbGNFeHBy
ZXNzaW9uTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OnRvQ2FsY1ZhbHVl
KToKKyAgICAgICAgKENTU0NhbGNWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU0dyYWRpZW50VmFs
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRWYWx1ZTo6YWRkU3RvcHMpOgor
ICAgICAgICAoV2ViQ29yZTo6cG9zaXRpb25Gcm9tVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTR3JhZGllbnRWYWx1ZTo6Y29tcHV0ZUVuZFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0xpbmVhckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1JhZGlhbEdyYWRpZW50VmFsdWU6OnJlc29sdmVSYWRpdXMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQpOgorICAgICAgICAqIGNz
cy9DU1NHcmFkaWVudFZhbHVlLmg6CisgICAgICAgIChDU1NHcmFkaWVudFZhbHVlKToKKyAgICAg
ICAgKENTU1JhZGlhbEdyYWRpZW50VmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVW
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxl
bmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0
aERvdWJsZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6CisgICAgICAgIChD
U1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb252ZXJ0VG9MZW5n
dGgpOgorICAgICAgICAqIGNzcy9DU1NUb1N0eWxlTWFwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvU3R5
bGVNYXA6Om1hcEZpbGxYUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9TdHlsZU1h
cDo6bWFwRmlsbFlQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb1N0eWxlTWFwOjpt
YXBOaW5lUGllY2VJbWFnZVF1YWQpOgorICAgICAgICAqIGNzcy9DU1NUb1N0eWxlTWFwLmg6Cisg
ICAgICAgIChDU1NUb1N0eWxlTWFwKToKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlTGVuZ3RoKToKKyAgICAgICAgKFdlYkNv
cmU6OmRldmljZV9oZWlnaHRNZWRpYUZlYXR1cmVFdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OmRl
dmljZV93aWR0aE1lZGlhRmVhdHVyZUV2YWwpOgorICAgICAgICAoV2ViQ29yZTo6aGVpZ2h0TWVk
aWFGZWF0dXJlRXZhbCk6CisgICAgICAgIChXZWJDb3JlOjp3aWR0aE1lZGlhRmVhdHVyZUV2YWwp
OgorICAgICAgICAqIGNzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmVzb2x2ZXI6OmFwcGx5U1ZHUHJvcGVydHkpOgorICAgICAgICAqIGNzcy9TdHls
ZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86OmFwcGx5
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUNsaXA6OmNvbnZlcnRUb0xl
bmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5TGVuZ3RoOjphcHBseVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlCb3JkZXJSYWRpdXM6OmFwcGx5VmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUNvbXB1dGVMZW5ndGg6OmFwcGx5
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUZvbnRTaXplOjphcHBseVZh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlMaW5lSGVpZ2h0OjphcHBseVZh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlQYWdlU2l6ZTo6bW1MZW5ndGgp
OgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eVBhZ2VTaXplOjppbmNoTGVuZ3RoKToK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlQYWdlU2l6ZTo6YXBwbHlWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5VmVydGljYWxBbGlnbjo6YXBwbHlWYWx1ZSk6
CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSZXNvbHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KToKKyAgICAgICAgKiBjc3Mv
U3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoU3R5bGVSZXNvbHZlcik6CisgICAgICAgICogY3Nz
L1dlYktpdENTU01hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NNYXRyaXg6
OnNldE1hdHJpeFZhbHVlKToKKwogMjAxMi0wNi0yNiAgRGF2ZSBUaGFycCAgPGR0aGFycEBjb2Rl
YXVyb3JhLm9yZz4KIAogICAgICAgICBpZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91
bml0cy0wMDAuaHRtIGFzc2VydHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
YWxjdWxhdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZh
bHVlLmNwcAppbmRleCA3NzdhMDE2N2I2MTcyODg1ZGU5Yzk0ZWIyNGFiY2JjNjFhODlkMTc0Li41
NDI0N2UwMzU5ZmI0NzQ4MWNjYWIyNzg0ZmUwNDQyOGNjZDdjNGY0IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCkBAIC05Nyw5ICs5Nyw5IEBAIGRvdWJsZSBD
U1NDYWxjVmFsdWU6OmRvdWJsZVZhbHVlKCkgY29uc3QKICAgICByZXR1cm4gY2xhbXBUb1Blcm1p
dHRlZFJhbmdlKG1fZXhwcmVzc2lvbi0+ZG91YmxlVmFsdWUoKSk7CiB9CiAKLWRvdWJsZSBDU1ND
YWxjVmFsdWU6OmNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGRvdWJsZSBtdWx0
aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKSBjb25zdAorZG91YmxlIENTU0NhbGNWYWx1
ZTo6Y29tcHV0ZUxlbmd0aFB4KFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0eWxl
KiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKSBj
b25zdAogewotICAgIHJldHVybiBjbGFtcFRvUGVybWl0dGVkUmFuZ2UobV9leHByZXNzaW9uLT5j
b21wdXRlTGVuZ3RoUHgoY3VycmVudFN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0
aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpOworICAgIHJldHVybiBjbGFtcFRvUGVybWl0dGVk
UmFuZ2UobV9leHByZXNzaW9uLT5jb21wdXRlTGVuZ3RoUHgoY3VycmVudFN0eWxlLCByb290U3R5
bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSk7CiB9CiAgICAgCiBDU1NDYWxjRXhw
cmVzc2lvbk5vZGU6On5DU1NDYWxjRXhwcmVzc2lvbk5vZGUoKSAKQEAgLTEyNCwxNiArMTI0LDE2
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fdmFsdWUtPmNzc1RleHQoKTsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiB0b0NhbGNWYWx1ZShS
ZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFJlbmRlclN0eWxlKiBw
YXJlbnRTdHlsZSwgZG91YmxlIHpvb20pIGNvbnN0CisgICAgdmlydHVhbCBQYXNzT3duUHRyPENh
bGNFeHByZXNzaW9uTm9kZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSkgY29uc3QKICAgICB7CiAgICAgICAgIHN3aXRj
aCAobV9jYXRlZ29yeSkgewogICAgICAgICBjYXNlIENhbGNOdW1iZXI6CiAgICAgICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IENhbGNFeHByZXNzaW9uTnVtYmVyKG1fdmFsdWUtPmdldEZsb2F0
VmFsdWUoKSkpOwogICAgICAgICBjYXNlIENhbGNMZW5ndGg6Ci0gICAgICAgICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IENhbGNFeHByZXNzaW9uTnVtYmVyKG1fdmFsdWUtPmNvbXB1dGVMZW5ndGg8
ZmxvYXQ+KHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCB6b29tKSkpOworICAgICAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDYWxjRXhwcmVzc2lvbk51bWJlcihtX3ZhbHVlLT5jb21w
dXRlTGVuZ3RoPGZsb2F0PihzdHlsZSwgcm9vdFN0eWxlLCB6b29tKSkpOwogICAgICAgICBjYXNl
IENhbGNQZXJjZW50OgogICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgotICAgICAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDYWxjRXhwcmVzc2lvbkxlbmd0aChTdHlsZVJlc29sdmVy
Ojpjb252ZXJ0VG9GbG9hdExlbmd0aChtX3ZhbHVlLmdldCgpLCBzdHlsZSwgcm9vdFN0eWxlLCBw
YXJlbnRTdHlsZSwgem9vbSkpKTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2Fs
Y0V4cHJlc3Npb25MZW5ndGgoU3R5bGVSZXNvbHZlcjo6Y29udmVydFRvRmxvYXRMZW5ndGgobV92
YWx1ZS5nZXQoKSwgc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpKTsKICAgICAgICAgLy8gT25seSB0
eXBlcyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYSBMZW5ndGggZXhwcmVzc2lvbiBjYW4gYmUgY29u
dmVydGVkCiAgICAgICAgIC8vIHRvIGEgQ2FsY0V4cHJlc3Npb25Ob2RlLiBDYWxjUGVyY2VudE51
bWJlciBtYWtlcyBubyBzZW5zZSBhcyBhIExlbmd0aC4KICAgICAgICAgY2FzZSBDYWxjUGVyY2Vu
dE51bWJlcjoKQEAgLTE1OSwxMSArMTU5LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogICAgIAotICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJT
dHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSog
cGFyZW50U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKSBj
b25zdAorICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3Vy
cmVudFN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9v
bCBjb21wdXRpbmdGb250U2l6ZSkgY29uc3QKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV9jYXRl
Z29yeSkgewogICAgICAgICBjYXNlIENhbGNMZW5ndGg6Ci0gICAgICAgICAgICByZXR1cm4gbV92
YWx1ZS0+Y29tcHV0ZUxlbmd0aDxkb3VibGU+KGN1cnJlbnRTdHlsZSwgcm9vdFN0eWxlLCBwYXJl
bnRTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOworICAgICAgICAgICAgcmV0
dXJuIG1fdmFsdWUtPmNvbXB1dGVMZW5ndGg8ZG91YmxlPihjdXJyZW50U3R5bGUsIHJvb3RTdHls
ZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOwogICAgICAgICBjYXNlIENhbGNQZXJj
ZW50OgogICAgICAgICBjYXNlIENhbGNOdW1iZXI6CiAgICAgICAgICAgICByZXR1cm4gbV92YWx1
ZS0+Z2V0RG91YmxlVmFsdWUoKTsKQEAgLTIzNywxMiArMjM3LDEyIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuICFkb3VibGVWYWx1ZSgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgUGFzc093blB0
cjxDYWxjRXhwcmVzc2lvbk5vZGU+IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVu
ZGVyU3R5bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBkb3VibGUgem9v
bSkgY29uc3QKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiB0b0Nh
bGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJs
ZSB6b29tKSBjb25zdAogICAgIHsKLSAgICAgICAgT3duUHRyPENhbGNFeHByZXNzaW9uTm9kZT4g
bGVmdChtX2xlZnRTaWRlLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHls
ZSwgem9vbSkpOworICAgICAgICBPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0KG1fbGVm
dFNpZGUtPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUsIHpvb20pKTsKICAgICAgICAgaWYg
KCFsZWZ0KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIE93blB0cjxDYWxj
RXhwcmVzc2lvbk5vZGU+IHJpZ2h0KG1fcmlnaHRTaWRlLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9v
dFN0eWxlLCBwYXJlbnRTdHlsZSwgem9vbSkpOworICAgICAgICBPd25QdHI8Q2FsY0V4cHJlc3Np
b25Ob2RlPiByaWdodChtX3JpZ2h0U2lkZS0+dG9DYWxjVmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwg
em9vbSkpOwogICAgICAgICBpZiAoIXJpZ2h0KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2FsY0V4cHJlc3Npb25CaW5hcnlPcGVyYXRp
b24obGVmdC5yZWxlYXNlKCksIHJpZ2h0LnJlbGVhc2UoKSwgbV9vcGVyYXRvcikpOwpAQCAtMjUz
LDEwICsyNTMsMTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZXZhbHVhdGUobV9sZWZ0U2lk
ZS0+ZG91YmxlVmFsdWUoKSwgbV9yaWdodFNpZGUtPmRvdWJsZVZhbHVlKCkpOwogICAgIH0KICAg
ICAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjb21wdXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUqIGN1cnJl
bnRTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxl
LCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkgY29uc3QKKyAgICB2
aXJ0dWFsIGRvdWJsZSBjb21wdXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5n
Rm9udFNpemUpIGNvbnN0CiAgICAgewotICAgICAgICBjb25zdCBkb3VibGUgbGVmdFZhbHVlID0g
bV9sZWZ0U2lkZS0+Y29tcHV0ZUxlbmd0aFB4KGN1cnJlbnRTdHlsZSwgcm9vdFN0eWxlLCBwYXJl
bnRTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOwotICAgICAgICBjb25zdCBk
b3VibGUgcmlnaHRWYWx1ZSA9IG1fcmlnaHRTaWRlLT5jb21wdXRlTGVuZ3RoUHgoY3VycmVudFN0
eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6
ZSk7CisgICAgICAgIGNvbnN0IGRvdWJsZSBsZWZ0VmFsdWUgPSBtX2xlZnRTaWRlLT5jb21wdXRl
TGVuZ3RoUHgoY3VycmVudFN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0Zv
bnRTaXplKTsKKyAgICAgICAgY29uc3QgZG91YmxlIHJpZ2h0VmFsdWUgPSBtX3JpZ2h0U2lkZS0+
Y29tcHV0ZUxlbmd0aFB4KGN1cnJlbnRTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21w
dXRpbmdGb250U2l6ZSk7CiAgICAgICAgIHJldHVybiBldmFsdWF0ZShsZWZ0VmFsdWUsIHJpZ2h0
VmFsdWUpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1
bGF0aW9uVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmgK
aW5kZXggM2FmZGVjOGRhYzlhNjlmYWQxOGVhOThlNDQ2Y2JkMzI2OTM0MmMxMi4uNTdhMjQ5Zjg5
NjhjNTE2NDgyODZlZTc0MTA0NTcxN2VkZWU2Njc2ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q2FsY3VsYXRpb25WYWx1ZS5oCkBAIC02MCw5ICs2MCw5IEBAIHB1YmxpYzoKICAgICAKICAgICB2
aXJ0dWFsIH5DU1NDYWxjRXhwcmVzc2lvbk5vZGUoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlz
WmVybygpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25O
b2RlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFJl
bmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgZG91YmxlIHpvb20gPSAxLjApIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiB0b0NhbGNWYWx1ZShSZW5k
ZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tID0gMS4wKSBjb25z
dCA9IDA7ICAgIAogICAgIHZpcnR1YWwgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QgPSAwOwot
ICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VycmVudFN0
eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGRv
dWJsZSBtdWx0aXBsaWVyID0gMS4wLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplID0gZmFsc2UpIGNv
bnN0ID0gMDsKKyAgICB2aXJ0dWFsIGRvdWJsZSBjb21wdXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUq
IGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIg
PSAxLjAsIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBmYWxzZSkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdCA9IDA7CiAgICAgCiAgICAgQ2FsY3Vs
YXRpb25DYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0IHsgcmV0dXJuIG1fY2F0ZWdvcnk7IH0gICAg
CkBAIC04NCwxNSArODQsMTUgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0Nh
bGNWYWx1ZT4gY3JlYXRlKENTU1BhcnNlclN0cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1ZUxpc3Qq
LCBDYWxjdWxhdGlvblBlcm1pdHRlZFZhbHVlUmFuZ2UpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENTU0NhbGNWYWx1ZT4gY3JlYXRlKENhbGN1bGF0aW9uVmFsdWUqKTsKIAotICAgIFBhc3NSZWZQ
dHI8Q2FsY3VsYXRpb25WYWx1ZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGRvdWJsZSB6b29t
ID0gMS4wKSBjb25zdAorICAgIFBhc3NSZWZQdHI8Q2FsY3VsYXRpb25WYWx1ZT4gdG9DYWxjVmFs
dWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9v
bSA9IDEuMCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBDYWxjdWxhdGlvblZhbHVlOjpj
cmVhdGUobV9leHByZXNzaW9uLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRT
dHlsZSwgem9vbSksIG1fbm9uTmVnYXRpdmUgPyBDYWxjdWxhdGlvblJhbmdlTm9uTmVnYXRpdmUg
OiBDYWxjdWxhdGlvblJhbmdlQWxsKTsKKyAgICAgICAgcmV0dXJuIENhbGN1bGF0aW9uVmFsdWU6
OmNyZWF0ZShtX2V4cHJlc3Npb24tPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUsIHpvb20p
LCBtX25vbk5lZ2F0aXZlID8gQ2FsY3VsYXRpb25SYW5nZU5vbk5lZ2F0aXZlIDogQ2FsY3VsYXRp
b25SYW5nZUFsbCk7CiAgICAgfQogICAgIENhbGN1bGF0aW9uQ2F0ZWdvcnkgY2F0ZWdvcnkoKSBj
b25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24tPmNhdGVnb3J5KCk7IH0KICAgICBib29sIGlzSW50
KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5pc0ludGVnZXIoKTsgfSAgICAKICAgICBk
b3VibGUgZG91YmxlVmFsdWUoKSBjb25zdDsKICAgICBib29sIGlzTmVnYXRpdmUoKSBjb25zdCB7
IHJldHVybiBtX2V4cHJlc3Npb24tPmRvdWJsZVZhbHVlKCkgPCAwOyB9Ci0gICAgZG91YmxlIGNv
bXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSogcm9v
dFN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMS4w
LCBib29sIGNvbXB1dGluZ0ZvbnRTaXplID0gZmFsc2UpIGNvbnN0OworICAgIGRvdWJsZSBjb21w
dXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RT
dHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLjAsIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBm
YWxzZSkgY29uc3Q7CiAgICAgICAgIAogICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZGFlZWFi
ZjgyNDc5YzJiMDJjMmQ5YTQyMTRkZmU2Nzc0OWJmOTY5Ny4uYTMxNGE4NjAyMmZlYjM3MzA3ZTc2
NDNlZmExZjI4YTZlOTU1MTEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIHN0cnVjdCBHcmFkaWVudFN0b3AgewogICAgIHsgfQog
fTsKIAotdm9pZCBDU1NHcmFkaWVudFZhbHVlOjphZGRTdG9wcyhHcmFkaWVudCogZ3JhZGllbnQs
IFJlbmRlck9iamVjdCogcmVuZGVyZXIsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFJlbmRlclN0
eWxlKiBwYXJlbnRTdHlsZSwgZmxvYXQgbWF4TGVuZ3RoRm9yUmVwZWF0KQordm9pZCBDU1NHcmFk
aWVudFZhbHVlOjphZGRTdG9wcyhHcmFkaWVudCogZ3JhZGllbnQsIFJlbmRlck9iamVjdCogcmVu
ZGVyZXIsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0IG1heExlbmd0aEZvclJlcGVhdCkK
IHsKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKIApAQCAtMTYw
LDkgKzE2MCw5IEBAIHZvaWQgQ1NTR3JhZGllbnRWYWx1ZTo6YWRkU3RvcHMoR3JhZGllbnQqIGdy
YWRpZW50LCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBSZW5kCiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIGZsb2F0IGxlbmd0aDsKICAgICAgICAgICAgICAgICBpZiAoc3RvcC5t
X3Bvc2l0aW9uLT5pc0xlbmd0aCgpKQotICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBzdG9w
Lm1fcG9zaXRpb24tPmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KHN0eWxlLCByb290U3R5bGUsIHBhcmVu
dFN0eWxlLCBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgICAgICAgICAgICAgbGVu
Z3RoID0gc3RvcC5tX3Bvc2l0aW9uLT5jb21wdXRlTGVuZ3RoPGZsb2F0PihzdHlsZSwgcm9vdFN0
eWxlLCBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgpKTsKICAgICAgICAgICAgICAgICBlbHNlIAotICAg
ICAgICAgICAgICAgICAgICBsZW5ndGggPSBzdG9wLm1fcG9zaXRpb24tPmNzc0NhbGNWYWx1ZSgp
LT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgc3R5bGUtPmVmZmVj
dGl2ZVpvb20oKSktPmV2YWx1YXRlKGdyYWRpZW50TGVuZ3RoKTsKKyAgICAgICAgICAgICAgICAg
ICAgbGVuZ3RoID0gc3RvcC5tX3Bvc2l0aW9uLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUo
c3R5bGUsIHJvb3RTdHlsZSwgc3R5bGUtPmVmZmVjdGl2ZVpvb20oKSktPmV2YWx1YXRlKGdyYWRp
ZW50TGVuZ3RoKTsKICAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAoZ3JhZGllbnRM
ZW5ndGggPiAwKSA/IGxlbmd0aCAvIGdyYWRpZW50TGVuZ3RoIDogMDsKICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zNjMsNyAr
MzYzLDcgQEAgdm9pZCBDU1NHcmFkaWVudFZhbHVlOjphZGRTdG9wcyhHcmFkaWVudCogZ3JhZGll
bnQsIFJlbmRlck9iamVjdCogcmVuZGVyZXIsIFJlbmQKICAgICBncmFkaWVudC0+c2V0U3RvcHNT
b3J0ZWQodHJ1ZSk7CiB9CiAKLXN0YXRpYyBmbG9hdCBwb3NpdGlvbkZyb21WYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZSogdmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RT
dHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBjb25zdCBJbnRTaXplJiBzaXplLCBib29s
IGlzSG9yaXpvbnRhbCkKK3N0YXRpYyBmbG9hdCBwb3NpdGlvbkZyb21WYWx1ZShDU1NQcmltaXRp
dmVWYWx1ZSogdmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHls
ZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgYm9vbCBpc0hvcml6b250YWwpCiB7CiAgICAgZmxvYXQg
em9vbUZhY3RvciA9IHN0eWxlLT5lZmZlY3RpdmVab29tKCk7CiAKQEAgLTM3NSw3ICszNzUsNyBA
QCBzdGF0aWMgZmxvYXQgcG9zaXRpb25Gcm9tVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVl
LCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbgogICAgICAgICByZXR1cm4gdmFsdWUtPmdldEZsb2F0
VmFsdWUoKSAvIDEwMC5mICogZWRnZURpc3RhbmNlOwogCiAgICAgaWYgKHZhbHVlLT5pc0NhbGN1
bGF0ZWRQZXJjZW50YWdlV2l0aExlbmd0aCgpKQotICAgICAgICByZXR1cm4gdmFsdWUtPmNzc0Nh
bGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgc3R5
bGUtPmVmZmVjdGl2ZVpvb20oKSktPmV2YWx1YXRlKGVkZ2VEaXN0YW5jZSk7CisgICAgICAgIHJl
dHVybiB2YWx1ZS0+Y3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUs
IHN0eWxlLT5lZmZlY3RpdmVab29tKCkpLT5ldmFsdWF0ZShlZGdlRGlzdGFuY2UpOwogCiAgICAg
c3dpdGNoICh2YWx1ZS0+Z2V0SWRlbnQoKSkgewogICAgIGNhc2UgQ1NTVmFsdWVUb3A6CkBAIC0z
OTIsMTggKzM5MiwxOCBAQCBzdGF0aWMgZmxvYXQgcG9zaXRpb25Gcm9tVmFsdWUoQ1NTUHJpbWl0
aXZlVmFsdWUqIHZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbgogICAgICAgICByZXR1cm4g
c2l6ZS53aWR0aCgpOwogICAgIH0KIAotICAgIHJldHVybiB2YWx1ZS0+Y29tcHV0ZUxlbmd0aDxm
bG9hdD4oc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIHpvb21GYWN0b3IpOworICAgIHJl
dHVybiB2YWx1ZS0+Y29tcHV0ZUxlbmd0aDxmbG9hdD4oc3R5bGUsIHJvb3RTdHlsZSwgem9vbUZh
Y3Rvcik7CiB9CiAKLUZsb2F0UG9pbnQgQ1NTR3JhZGllbnRWYWx1ZTo6Y29tcHV0ZUVuZFBvaW50
KENTU1ByaW1pdGl2ZVZhbHVlKiBmaXJzdCwgQ1NTUHJpbWl0aXZlVmFsdWUqIHNlY29uZCwgUmVu
ZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFy
ZW50U3R5bGUsIGNvbnN0IEludFNpemUmIHNpemUpCitGbG9hdFBvaW50IENTU0dyYWRpZW50VmFs
dWU6OmNvbXB1dGVFbmRQb2ludChDU1NQcmltaXRpdmVWYWx1ZSogZmlyc3QsIENTU1ByaW1pdGl2
ZVZhbHVlKiBzZWNvbmQsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHls
ZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkKIHsKICAgICBGbG9hdFBvaW50IHJlc3VsdDsKIAogICAg
IGlmIChmaXJzdCkKLSAgICAgICAgcmVzdWx0LnNldFgocG9zaXRpb25Gcm9tVmFsdWUoZmlyc3Qs
IHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBzaXplLCB0cnVlKSk7CisgICAgICAgIHJl
c3VsdC5zZXRYKHBvc2l0aW9uRnJvbVZhbHVlKGZpcnN0LCBzdHlsZSwgcm9vdFN0eWxlLCBzaXpl
LCB0cnVlKSk7CiAKICAgICBpZiAoc2Vjb25kKQotICAgICAgICByZXN1bHQuc2V0WShwb3NpdGlv
bkZyb21WYWx1ZShzZWNvbmQsIHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBzaXplLCBm
YWxzZSkpOworICAgICAgICByZXN1bHQuc2V0WShwb3NpdGlvbkZyb21WYWx1ZShzZWNvbmQsIHN0
eWxlLCByb290U3R5bGUsIHNpemUsIGZhbHNlKSk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtNTQyLDggKzU0Miw2IEBAIFBhc3NSZWZQdHI8R3JhZGllbnQ+IENTU0xpbmVhckdyYWRpZW50
VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCogcmVuZGVyCiAgICAgQVNTRVJUKCFz
aXplLmlzRW1wdHkoKSk7CiAKICAgICBSZW5kZXJTdHlsZSogcm9vdFN0eWxlID0gcmVuZGVyZXIt
PmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpOwotICAgIFJlbmRl
ck9iamVjdCogcGFyZW50ID0gcmVuZGVyZXItPnBhcmVudCgpOwotICAgIFJlbmRlclN0eWxlKiBw
YXJlbnRTdHlsZSA9IHBhcmVudCA/IHBhcmVudC0+c3R5bGUoKSA6IDA7CiAKICAgICBGbG9hdFBv
aW50IGZpcnN0UG9pbnQ7CiAgICAgRmxvYXRQb2ludCBzZWNvbmRQb2ludDsKQEAgLTU1MSwxMCAr
NTQ5LDEwIEBAIFBhc3NSZWZQdHI8R3JhZGllbnQ+IENTU0xpbmVhckdyYWRpZW50VmFsdWU6OmNy
ZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCogcmVuZGVyCiAgICAgICAgIGZsb2F0IGFuZ2xlID0g
bV9hbmdsZS0+Z2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0RFRyk7CiAgICAg
ICAgIGVuZFBvaW50c0Zyb21BbmdsZShhbmdsZSwgc2l6ZSwgZmlyc3RQb2ludCwgc2Vjb25kUG9p
bnQpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGZpcnN0UG9pbnQgPSBjb21wdXRlRW5kUG9pbnQo
bV9maXJzdFguZ2V0KCksIG1fZmlyc3RZLmdldCgpLCByZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0
eWxlLCBwYXJlbnRTdHlsZSwgc2l6ZSk7CisgICAgICAgIGZpcnN0UG9pbnQgPSBjb21wdXRlRW5k
UG9pbnQobV9maXJzdFguZ2V0KCksIG1fZmlyc3RZLmdldCgpLCByZW5kZXJlci0+c3R5bGUoKSwg
cm9vdFN0eWxlLCBzaXplKTsKIAogICAgICAgICBpZiAobV9zZWNvbmRYIHx8IG1fc2Vjb25kWSkK
LSAgICAgICAgICAgIHNlY29uZFBvaW50ID0gY29tcHV0ZUVuZFBvaW50KG1fc2Vjb25kWC5nZXQo
KSwgbV9zZWNvbmRZLmdldCgpLCByZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0eWxlLCBwYXJlbnRT
dHlsZSwgc2l6ZSk7CisgICAgICAgICAgICBzZWNvbmRQb2ludCA9IGNvbXB1dGVFbmRQb2ludCht
X3NlY29uZFguZ2V0KCksIG1fc2Vjb25kWS5nZXQoKSwgcmVuZGVyZXItPnN0eWxlKCksIHJvb3RT
dHlsZSwgc2l6ZSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKG1fZmlyc3RYKQog
ICAgICAgICAgICAgICAgIHNlY29uZFBvaW50LnNldFgoc2l6ZS53aWR0aCgpIC0gZmlyc3RQb2lu
dC54KCkpOwpAQCAtNTY2LDcgKzU2NCw3IEBAIFBhc3NSZWZQdHI8R3JhZGllbnQ+IENTU0xpbmVh
ckdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCogcmVuZGVyCiAgICAg
UmVmUHRyPEdyYWRpZW50PiBncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoZmlyc3RQb2ludCwg
c2Vjb25kUG9pbnQpOwogCiAgICAgLy8gTm93IGFkZCB0aGUgc3RvcHMuCi0gICAgYWRkU3RvcHMo
Z3JhZGllbnQuZ2V0KCksIHJlbmRlcmVyLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCAxKTsKKyAg
ICBhZGRTdG9wcyhncmFkaWVudC5nZXQoKSwgcmVuZGVyZXIsIHJvb3RTdHlsZSwgMSk7CiAKICAg
ICByZXR1cm4gZ3JhZGllbnQucmVsZWFzZSgpOwogfQpAQCAtNjQwLDcgKzYzOCw3IEBAIFN0cmlu
ZyBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi1mbG9hdCBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpyZXNvbHZlUmFk
aXVzKENTU1ByaW1pdGl2ZVZhbHVlKiByYWRpdXMsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVy
U3R5bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBmbG9hdCogd2lkdGhP
ckhlaWdodCkKK2Zsb2F0IENTU1JhZGlhbEdyYWRpZW50VmFsdWU6OnJlc29sdmVSYWRpdXMoQ1NT
UHJpbWl0aXZlVmFsdWUqIHJhZGl1cywgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSog
cm9vdFN0eWxlLCBmbG9hdCogd2lkdGhPckhlaWdodCkKIHsKICAgICBmbG9hdCB6b29tRmFjdG9y
ID0gc3R5bGUtPmVmZmVjdGl2ZVpvb20oKTsKIApAQCAtNjUwLDcgKzY0OCw3IEBAIGZsb2F0IENT
U1JhZGlhbEdyYWRpZW50VmFsdWU6OnJlc29sdmVSYWRpdXMoQ1NTUHJpbWl0aXZlVmFsdWUqIHJh
ZGl1cywgUmVuZGVyU3R5CiAgICAgZWxzZSBpZiAod2lkdGhPckhlaWdodCAmJiByYWRpdXMtPmlz
UGVyY2VudGFnZSgpKQogICAgICAgICByZXN1bHQgPSAqd2lkdGhPckhlaWdodCAqIHJhZGl1cy0+
Z2V0RmxvYXRWYWx1ZSgpIC8gMTAwOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gcmFkaXVz
LT5jb21wdXRlTGVuZ3RoPGZsb2F0PihzdHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgem9v
bUZhY3Rvcik7CisgICAgICAgIHJlc3VsdCA9IHJhZGl1cy0+Y29tcHV0ZUxlbmd0aDxmbG9hdD4o
c3R5bGUsIHJvb3RTdHlsZSwgem9vbUZhY3Rvcik7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtNzM3LDE2ICs3MzUsMTQgQEAgUGFzc1JlZlB0cjxHcmFkaWVudD4gQ1NTUmFkaWFsR3JhZGll
bnRWYWx1ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyT2JqZWN0KiByZW5kZXIKICAgICBBU1NFUlQo
IXNpemUuaXNFbXB0eSgpKTsKIAogICAgIFJlbmRlclN0eWxlKiByb290U3R5bGUgPSByZW5kZXJl
ci0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlclN0eWxlKCk7Ci0gICAgUmVu
ZGVyT2JqZWN0KiBwYXJlbnQgPSByZW5kZXJlci0+cGFyZW50KCk7Ci0gICAgUmVuZGVyU3R5bGUq
IHBhcmVudFN0eWxlID0gcGFyZW50ID8gcGFyZW50LT5zdHlsZSgpIDogMDsKIAotICAgIEZsb2F0
UG9pbnQgZmlyc3RQb2ludCA9IGNvbXB1dGVFbmRQb2ludChtX2ZpcnN0WC5nZXQoKSwgbV9maXJz
dFkuZ2V0KCksIHJlbmRlcmVyLT5zdHlsZSgpLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBzaXpl
KTsKKyAgICBGbG9hdFBvaW50IGZpcnN0UG9pbnQgPSBjb21wdXRlRW5kUG9pbnQobV9maXJzdFgu
Z2V0KCksIG1fZmlyc3RZLmdldCgpLCByZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0eWxlLCBzaXpl
KTsKICAgICBpZiAoIW1fZmlyc3RYKQogICAgICAgICBmaXJzdFBvaW50LnNldFgoc2l6ZS53aWR0
aCgpIC8gMik7CiAgICAgaWYgKCFtX2ZpcnN0WSkKICAgICAgICAgZmlyc3RQb2ludC5zZXRZKHNp
emUuaGVpZ2h0KCkgLyAyKTsKIAotICAgIEZsb2F0UG9pbnQgc2Vjb25kUG9pbnQgPSBjb21wdXRl
RW5kUG9pbnQobV9zZWNvbmRYLmdldCgpLCBtX3NlY29uZFkuZ2V0KCksIHJlbmRlcmVyLT5zdHls
ZSgpLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBzaXplKTsKKyAgICBGbG9hdFBvaW50IHNlY29u
ZFBvaW50ID0gY29tcHV0ZUVuZFBvaW50KG1fc2Vjb25kWC5nZXQoKSwgbV9zZWNvbmRZLmdldCgp
LCByZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0eWxlLCBzaXplKTsKICAgICBpZiAoIW1fc2Vjb25k
WCkKICAgICAgICAgc2Vjb25kUG9pbnQuc2V0WChzaXplLndpZHRoKCkgLyAyKTsKICAgICBpZiAo
IW1fc2Vjb25kWSkKQEAgLTc1NCwxNyArNzUwLDE3IEBAIFBhc3NSZWZQdHI8R3JhZGllbnQ+IENT
U1JhZGlhbEdyYWRpZW50VmFsdWU6OmNyZWF0ZUdyYWRpZW50KFJlbmRlck9iamVjdCogcmVuZGVy
CiAKICAgICBmbG9hdCBmaXJzdFJhZGl1cyA9IDA7CiAgICAgaWYgKG1fZmlyc3RSYWRpdXMpCi0g
ICAgICAgIGZpcnN0UmFkaXVzID0gcmVzb2x2ZVJhZGl1cyhtX2ZpcnN0UmFkaXVzLmdldCgpLCBy
ZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSk7CisgICAgICAgIGZpcnN0
UmFkaXVzID0gcmVzb2x2ZVJhZGl1cyhtX2ZpcnN0UmFkaXVzLmdldCgpLCByZW5kZXJlci0+c3R5
bGUoKSwgcm9vdFN0eWxlKTsKIAogICAgIGZsb2F0IHNlY29uZFJhZGl1cyA9IDA7CiAgICAgZmxv
YXQgYXNwZWN0UmF0aW8gPSAxOyAvLyB3aWR0aCAvIGhlaWdodC4KICAgICBpZiAobV9zZWNvbmRS
YWRpdXMpCi0gICAgICAgIHNlY29uZFJhZGl1cyA9IHJlc29sdmVSYWRpdXMobV9zZWNvbmRSYWRp
dXMuZ2V0KCksIHJlbmRlcmVyLT5zdHlsZSgpLCByb290U3R5bGUsIHBhcmVudFN0eWxlKTsKKyAg
ICAgICAgc2Vjb25kUmFkaXVzID0gcmVzb2x2ZVJhZGl1cyhtX3NlY29uZFJhZGl1cy5nZXQoKSwg
cmVuZGVyZXItPnN0eWxlKCksIHJvb3RTdHlsZSk7CiAgICAgZWxzZSBpZiAobV9lbmRIb3Jpem9u
dGFsU2l6ZSB8fCBtX2VuZFZlcnRpY2FsU2l6ZSkgewogICAgICAgICBmbG9hdCB3aWR0aCA9IHNp
emUud2lkdGgoKTsKICAgICAgICAgZmxvYXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQoKTsKLSAgICAg
ICAgc2Vjb25kUmFkaXVzID0gcmVzb2x2ZVJhZGl1cyhtX2VuZEhvcml6b250YWxTaXplLmdldCgp
LCByZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgJndpZHRoKTsKLSAg
ICAgICAgYXNwZWN0UmF0aW8gPSBzZWNvbmRSYWRpdXMgLyByZXNvbHZlUmFkaXVzKG1fZW5kVmVy
dGljYWxTaXplLmdldCgpLCByZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0eWxlLCBwYXJlbnRTdHls
ZSwgJmhlaWdodCk7CisgICAgICAgIHNlY29uZFJhZGl1cyA9IHJlc29sdmVSYWRpdXMobV9lbmRI
b3Jpem9udGFsU2l6ZS5nZXQoKSwgcmVuZGVyZXItPnN0eWxlKCksIHJvb3RTdHlsZSwgJndpZHRo
KTsKKyAgICAgICAgYXNwZWN0UmF0aW8gPSBzZWNvbmRSYWRpdXMgLyByZXNvbHZlUmFkaXVzKG1f
ZW5kVmVydGljYWxTaXplLmdldCgpLCByZW5kZXJlci0+c3R5bGUoKSwgcm9vdFN0eWxlLCAmaGVp
Z2h0KTsKICAgICB9IGVsc2UgewogICAgICAgICBlbnVtIEdyYWRpZW50U2hhcGUgeyBDaXJjbGUs
IEVsbGlwc2UgfTsKICAgICAgICAgR3JhZGllbnRTaGFwZSBzaGFwZSA9IEVsbGlwc2U7CkBAIC04
NjUsNyArODYxLDcgQEAgUGFzc1JlZlB0cjxHcmFkaWVudD4gQ1NTUmFkaWFsR3JhZGllbnRWYWx1
ZTo6Y3JlYXRlR3JhZGllbnQoUmVuZGVyT2JqZWN0KiByZW5kZXIKICAgICB9CiAKICAgICAvLyBO
b3cgYWRkIHRoZSBzdG9wcy4KLSAgICBhZGRTdG9wcyhncmFkaWVudC5nZXQoKSwgcmVuZGVyZXIs
IHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIG1heEV4dGVudCk7CisgICAgYWRkU3RvcHMoZ3JhZGll
bnQuZ2V0KCksIHJlbmRlcmVyLCByb290U3R5bGUsIG1heEV4dGVudCk7CiAKICAgICByZXR1cm4g
Z3JhZGllbnQucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyYWRpZW50VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmgK
aW5kZXggMDI5MmMxNDhhYTlmZWY3NzBjNDQ5ZDVmZGQzNzdkMTM4N2MyMzJmNi4uZWExMGViOGMy
NTQxOTRlNjc3MjgwMDI1OWYzZDI0NjZmMmMwNzVmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jh
ZGllbnRWYWx1ZS5oCkBAIC04MSwxMCArODEsMTAgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICB9
CiAKLSAgICB2b2lkIGFkZFN0b3BzKEdyYWRpZW50KiwgUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBmbG9hdCBtYXhMZW5ndGhG
b3JSZXBlYXQgPSAwKTsKKyAgICB2b2lkIGFkZFN0b3BzKEdyYWRpZW50KiwgUmVuZGVyT2JqZWN0
KiwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQgbWF4TGVuZ3RoRm9yUmVwZWF0ID0gMCk7
CiAKICAgICAvLyBSZXNvbHZlIHBvaW50cy9yYWRpaSB0byBmcm9udCBlbmQgdmFsdWVzLgotICAg
IEZsb2F0UG9pbnQgY29tcHV0ZUVuZFBvaW50KENTU1ByaW1pdGl2ZVZhbHVlKiwgQ1NTUHJpbWl0
aXZlVmFsdWUqLCBSZW5kZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFJlbmRlclN0
eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgSW50U2l6ZSYpOworICAgIEZsb2F0UG9pbnQgY29tcHV0
ZUVuZFBvaW50KENTU1ByaW1pdGl2ZVZhbHVlKiwgQ1NTUHJpbWl0aXZlVmFsdWUqLCBSZW5kZXJT
dHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGNvbnN0IEludFNpemUmKTsKIAogICAgIGJv
b2wgaXNDYWNoZWFibGUoKSBjb25zdDsKIApAQCAtMTU0LDcgKzE1NCw3IEBAIHByaXZhdGU6CiAg
ICAgfQogCiAgICAgLy8gUmVzb2x2ZSBwb2ludHMvcmFkaWkgdG8gZnJvbnQgZW5kIHZhbHVlcy4K
LSAgICBmbG9hdCByZXNvbHZlUmFkaXVzKENTU1ByaW1pdGl2ZVZhbHVlKiwgUmVuZGVyU3R5bGUq
LCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGZsb2F0
KiB3aWR0aE9ySGVpZ2h0ID0gMCk7CisgICAgZmxvYXQgcmVzb2x2ZVJhZGl1cyhDU1NQcmltaXRp
dmVWYWx1ZSosIFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQqIHdp
ZHRoT3JIZWlnaHQgPSAwKTsKIAogICAgIC8vIFRoZXNlIG1heSBiZSBudWxsIGZvciBub24tZGVw
cmVjYXRlZCBncmFkaWVudHMuCiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2ZpcnN0
UmFkaXVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5kZXggYzUz
ZjI4YzljMjk2NDkzMTJhZmQ5MzQ1ZGZiNTcyYzE1NGM0MzYxZS4uMTZlNDNkYzQ4YzZjOTM5Mzhm
NTA2MGQ3NTFlOTNlNjVkZDVmMTlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCkBAIC00NTUsNDYgKzQ1NSw0NiBAQCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6
OmNvbXB1dGVEZWdyZWVzKCkKICAgICB9CiB9CiAKLXRlbXBsYXRlPD4gaW50IENTU1ByaW1pdGl2
ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJv
b3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBmbG9hdCBtdWx0aXBsaWVyLCBib29s
IGNvbXB1dGluZ0ZvbnRTaXplKQordGVtcGxhdGU8PiBpbnQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNv
bXB1dGVMZW5ndGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBm
bG9hdCBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKQogewotICAgIHJldHVybiBy
b3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248aW50Pihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxl
LCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkp
OworICAgIHJldHVybiByb3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248aW50Pihjb21wdXRlTGVu
Z3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KSk7CiB9CiAKLXRlbXBsYXRlPD4gdW5zaWduZWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVM
ZW5ndGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJT
dHlsZSogcGFyZW50U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNp
emUpCit0ZW1wbGF0ZTw+IHVuc2lnbmVkIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
KFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQgbXVsdGlw
bGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKIHsKLSAgICByZXR1cm4gcm91bmRGb3JJbXBy
ZWNpc2VDb252ZXJzaW9uPHVuc2lnbmVkPihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290
U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpOworICAg
IHJldHVybiByb3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248dW5zaWduZWQ+KGNvbXB1dGVMZW5n
dGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUp
KTsKIH0KIAotdGVtcGxhdGU8PiBMZW5ndGggQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5n
dGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUp
Cit0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5k
ZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIs
IGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CiAjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkK
LSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pihjb21wdXRlTGVuZ3RoRG91Ymxl
KHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250
U2l6ZSkpLCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0aChzdGF0aWNfY2FzdDxmbG9hdD4oY29t
cHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdG
b250U2l6ZSkpLCBGaXhlZCk7CiAjZWxzZQotICAgIHJldHVybiBMZW5ndGgocm91bmRGb3JJbXBy
ZWNpc2VDb252ZXJzaW9uPGZsb2F0Pihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5
bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpLCBGaXhlZCk7
CisgICAgcmV0dXJuIExlbmd0aChyb3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248ZmxvYXQ+KGNv
bXB1dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5n
Rm9udFNpemUpKSwgRml4ZWQpOwogI2VuZGlmCiB9CiAKLXRlbXBsYXRlPD4gc2hvcnQgQ1NTUHJp
bWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHls
ZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIs
IGJvb2wgY29tcHV0aW5nRm9udFNpemUpCit0ZW1wbGF0ZTw+IHNob3J0IENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RT
dHlsZSwgZmxvYXQgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKIHsKLSAgICBy
ZXR1cm4gcm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPHNob3J0Pihjb21wdXRlTGVuZ3RoRG91
YmxlKHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdG
b250U2l6ZSkpOworICAgIHJldHVybiByb3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248c2hvcnQ+
KGNvbXB1dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0
aW5nRm9udFNpemUpKTsKIH0KIAotdGVtcGxhdGU8PiB1bnNpZ25lZCBzaG9ydCBDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiBy
b290U3R5bGUsIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgZmxvYXQgbXVsdGlwbGllciwgYm9v
bCBjb21wdXRpbmdGb250U2l6ZSkKK3RlbXBsYXRlPD4gdW5zaWduZWQgc2hvcnQgQ1NTUHJpbWl0
aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSog
cm9vdFN0eWxlLCBmbG9hdCBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKQogewot
ICAgIHJldHVybiByb3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248dW5zaWduZWQgc2hvcnQ+KGNv
bXB1dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIG11bHRpcGxp
ZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSk7CisgICAgcmV0dXJuIHJvdW5kRm9ySW1wcmVjaXNlQ29u
dmVyc2lvbjx1bnNpZ25lZCBzaG9ydD4oY29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0
eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpOwogfQogCi10ZW1wbGF0ZTw+IGZs
b2F0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBmbG9hdCBt
dWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplKQordGVtcGxhdGU8PiBmbG9hdCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0
eWxlKiByb290U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUp
CiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0Pihjb21wdXRlTGVuZ3RoRG91YmxlKHN0
eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6
ZSkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxmbG9hdD4oY29tcHV0ZUxlbmd0aERvdWJsZShz
dHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpOwogfQogCi10
ZW1wbGF0ZTw+IGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5kZXJT
dHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFJlbmRlclN0eWxlKiBwYXJlbnRT
dHlsZSwgZmxvYXQgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKK3RlbXBsYXRl
PD4gZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBz
dHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQgbXVsdGlwbGllciwgYm9vbCBjb21w
dXRpbmdGb250U2l6ZSkKIHsKLSAgICByZXR1cm4gY29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwg
cm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOwor
ICAgIHJldHVybiBjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxp
ZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKIH0KIAotZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpj
b21wdXRlTGVuZ3RoRG91YmxlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RT
dHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBmbG9hdCBtdWx0aXBsaWVyLCBib29sIGNv
bXB1dGluZ0ZvbnRTaXplKQorZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
RG91YmxlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQg
bXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKIHsKICAgICBkb3VibGUgZmFjdG9y
OwogCkBAIC01MzcsMTcgKzUzNyw2IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0
ZUxlbmd0aERvdWJsZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByCiAgICAgICAg
IGNhc2UgQ1NTX0NBTENfUEVSQ0VOVEFHRV9XSVRIX05VTUJFUjoKICAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIC0xLjA7Ci0gICAgICAgIGNhc2Ug
Q1NTX1ZXOgotICAgICAgICAgICAgZmFjdG9yID0gcGFyZW50U3R5bGUgPyAwLjAxICogcGFyZW50
U3R5bGUtPndpZHRoKCkuZ2V0RmxvYXRWYWx1ZSgpIDogMDsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIENTU19WSDoKLSAgICAgICAgICAgIGZhY3RvciA9IHBhcmVudFN0eWxlID8g
MC4wMSAqIHBhcmVudFN0eWxlLT5oZWlnaHQoKS5nZXRGbG9hdFZhbHVlKCkgOiAwOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTX1ZNSU46Ci0gICAgICAgICAgICBmYWN0b3Ig
PSAwOwotICAgICAgICAgICAgaWYgKHBhcmVudFN0eWxlKQotICAgICAgICAgICAgICAgIGZhY3Rv
ciA9IC4wMSAqIChmbG9hdCkgbWluKHBhcmVudFN0eWxlLT53aWR0aCgpLmdldEZsb2F0VmFsdWUo
KSwgcGFyZW50U3R5bGUtPmhlaWdodCgpLmdldEZsb2F0VmFsdWUoKSk7Ci0gICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgICAgICAgICAgcmV0dXJuIC0xLjA7CkBAIC01NTYsNyArNTQ1LDcgQEAgZG91YmxlIENT
U1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKFJlbmRlclN0eWxlKiBzdHlsZSwg
UmVuZGVyU3R5bGUqIHIKICAgICBkb3VibGUgY29tcHV0ZWRWYWx1ZTsKICAgICBpZiAobV9wcmlt
aXRpdmVVbml0VHlwZSA9PSBDU1NfQ0FMQykKICAgICAgICAgLy8gVGhlIG11bHRpcGxpZXIgaXMg
cGFzc2VkIGluIGFzIDEuMCBoZXJlIHRvIGVuc3VyZSBpdCBpcyBvbmx5IGFwcGxpZWQgb25jZQot
ICAgICAgICBjb21wdXRlZFZhbHVlID0gbV92YWx1ZS5jYWxjLT5jb21wdXRlTGVuZ3RoUHgoc3R5
bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIDEuMCwgY29tcHV0aW5nRm9udFNpemUpOworICAg
ICAgICBjb21wdXRlZFZhbHVlID0gbV92YWx1ZS5jYWxjLT5jb21wdXRlTGVuZ3RoUHgoc3R5bGUs
IHJvb3RTdHlsZSwgMS4wLCBjb21wdXRpbmdGb250U2l6ZSk7CiAgICAgZWxzZQogICAgICAgICBj
b21wdXRlZFZhbHVlID0gZ2V0RG91YmxlVmFsdWUoKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmgKaW5kZXggNDA4NDA0NTAxMTk5MWMzMTQxNDQwZmExMDFlZDk1MWZk
ODg2MDE0My4uODcwNjljMDQzMzM5NTYzMDc3Njg2Zjg2NzM5NDBlZTFmYzlkNzEzNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKQEAgLTIzOCwxMCArMjM4LDEwIEBAIHB1
YmxpYzoKICAgICAgKiB0aGlzIGlzIHNjcmVlbi9wcmludGVyIGRlcGVuZGVudCwgc28gd2UgcHJv
YmFibHkgbmVlZCBhIGNvbmZpZyBvcHRpb24gZm9yIHRoaXMsCiAgICAgICogYW5kIHNvbWUgdG9v
bCB0byBjYWxpYnJhdGUuCiAgICAgICovCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBjb21w
dXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBjdXJyU3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUs
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgZmxvYXQgbXVsdGlwbGllciA9IDEuMGYsIGJvb2wg
Y29tcHV0aW5nRm9udFNpemUgPSBmYWxzZSk7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBj
b21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBjdXJyU3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5
bGUsIGZsb2F0IG11bHRpcGxpZXIgPSAxLjBmLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplID0gZmFs
c2UpOwogCiAgICAgLy8gQ29udmVydHMgdG8gYSBMZW5ndGgsIG1hcHBpbmcgdmFyaW91cyB1bml0
IHR5cGVzIGFwcHJvcHJpYXRlbHkuCi0gICAgdGVtcGxhdGU8aW50PiBMZW5ndGggY29udmVydFRv
TGVuZ3RoKFJlbmRlclN0eWxlKiBjdXJyU3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFJl
bmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLjAsIGJvb2wgY29t
cHV0aW5nRm9udFNpemUgPSBmYWxzZSk7CisgICAgdGVtcGxhdGU8aW50PiBMZW5ndGggY29udmVy
dFRvTGVuZ3RoKFJlbmRlclN0eWxlKiBjdXJyU3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUs
IGRvdWJsZSBtdWx0aXBsaWVyID0gMS4wLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplID0gZmFsc2Up
OwogCiAgICAgLy8gdXNlIHdpdGggY2FyZSEhIQogICAgIHZvaWQgc2V0UHJpbWl0aXZlVHlwZSh1
bnNpZ25lZCBzaG9ydCB0eXBlKSB7IG1fcHJpbWl0aXZlVW5pdFR5cGUgPSB0eXBlOyB9CkBAIC0z
NDIsNyArMzQyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXQoUGFzc1JlZlB0cjxDU1NDYWxj
VmFsdWU+KTsKICAgICBib29sIGdldERvdWJsZVZhbHVlSW50ZXJuYWwoVW5pdFR5cGVzIHRhcmdl
dFVuaXRUeXBlLCBkb3VibGUqIHJlc3VsdCkgY29uc3Q7CiAKLSAgICBkb3VibGUgY29tcHV0ZUxl
bmd0aERvdWJsZShSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIsIGJvb2wgY29t
cHV0aW5nRm9udFNpemUpOworICAgIGRvdWJsZSBjb21wdXRlTGVuZ3RoRG91YmxlKFJlbmRlclN0
eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0IG11bHRpcGxp
ZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpOwogCiAgICAgdW5pb24gewogICAgICAgICBpbnQg
aWRlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aAppbmRleCAyZjE5YzdkY2VlYzNiYTAyNjY4OGU2NWJkYmY3YWJmZTJhZmNiYzZjLi40ODU1ZWMz
ODFjY2Y4MWQyNjE4NTA3OTM2NGY5NzdmZTZlYzM1YmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTM3OTksMTQgKzM3OTksMTQgQEAg
ZW51bSBMZW5ndGhDb252ZXJzaW9uIHsKICAgICBWaWV3cG9ydFBlcmNlbnRhZ2VDb252ZXJzaW9u
ID0gMSA8PCA2CiB9OwogCi10ZW1wbGF0ZTxpbnQgc3VwcG9ydGVkPiBMZW5ndGggQ1NTUHJpbWl0
aXZlVmFsdWU6OmNvbnZlcnRUb0xlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxl
KiByb290U3R5bGUsIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIs
IGJvb2wgY29tcHV0aW5nRm9udFNpemUpCit0ZW1wbGF0ZTxpbnQgc3VwcG9ydGVkPiBMZW5ndGgg
Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbnZlcnRUb0xlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJl
bmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0Zv
bnRTaXplKQogewogICAgIGlmICgoc3VwcG9ydGVkICYgKEZpeGVkSW50ZWdlckNvbnZlcnNpb24g
fCBGaXhlZEZsb2F0Q29udmVyc2lvbikpICYmIGlzRm9udFJlbGF0aXZlTGVuZ3RoKCkgJiYgKCFz
dHlsZSB8fCAhcm9vdFN0eWxlKSkKICAgICAgICAgcmV0dXJuIExlbmd0aChVbmRlZmluZWQpOwog
ICAgIGlmICgoc3VwcG9ydGVkICYgRml4ZWRJbnRlZ2VyQ29udmVyc2lvbikgJiYgaXNMZW5ndGgo
KSkKLSAgICAgICAgcmV0dXJuIGNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSwgcm9vdFN0eWxl
LCBwYXJlbnRTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOworICAgICAgICBy
ZXR1cm4gY29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIs
IGNvbXB1dGluZ0ZvbnRTaXplKTsKICAgICBpZiAoKHN1cHBvcnRlZCAmIEZpeGVkRmxvYXRDb252
ZXJzaW9uKSAmJiBpc0xlbmd0aCgpKQotICAgICAgICByZXR1cm4gTGVuZ3RoKGNvbXB1dGVMZW5n
dGg8ZG91YmxlPihzdHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgbXVsdGlwbGllciksIEZp
eGVkKTsKKyAgICAgICAgcmV0dXJuIExlbmd0aChjb21wdXRlTGVuZ3RoPGRvdWJsZT4oc3R5bGUs
IHJvb3RTdHlsZSwgbXVsdGlwbGllciksIEZpeGVkKTsKICAgICBpZiAoKHN1cHBvcnRlZCAmIFBl
cmNlbnRDb252ZXJzaW9uKSAmJiBpc1BlcmNlbnRhZ2UoKSkKICAgICAgICAgcmV0dXJuIExlbmd0
aChnZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKICAgICBpZiAoKHN1cHBvcnRlZCAmIEZyYWN0
aW9uQ29udmVyc2lvbikgJiYgaXNOdW1iZXIoKSkKQEAgLTM4MTQsNyArMzgxNCw3IEBAIHRlbXBs
YXRlPGludCBzdXBwb3J0ZWQ+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29udmVydFRvTGVu
Z3RoKFJlbmRlclN0eWxlKiBzCiAgICAgaWYgKChzdXBwb3J0ZWQgJiBBdXRvQ29udmVyc2lvbikg
JiYgZ2V0SWRlbnQoKSA9PSBDU1NWYWx1ZUF1dG8pCiAgICAgICAgIHJldHVybiBMZW5ndGgoQXV0
byk7CiAgICAgaWYgKChzdXBwb3J0ZWQgJiBDYWxjdWxhdGVkQ29udmVyc2lvbikgJiYgaXNDYWxj
dWxhdGVkKCkpCi0gICAgICAgIHJldHVybiBMZW5ndGgoY3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1Zh
bHVlKHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCBtdWx0aXBsaWVyKSk7CisgICAgICAg
IHJldHVybiBMZW5ndGgoY3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5
bGUsIG11bHRpcGxpZXIpKTsKICAgICBpZiAoKHN1cHBvcnRlZCAmIFZpZXdwb3J0UGVyY2VudGFn
ZUNvbnZlcnNpb24pICYmIGlzVmlld3BvcnRQZXJjZW50YWdlTGVuZ3RoKCkpCiAgICAgICAgIHJl
dHVybiB2aWV3cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKTsKICAgICByZXR1cm4gTGVuZ3RoKFVuZGVm
aW5lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVG9TdHlsZU1hcC5jcHAKaW5kZXggMGU5ZTJkNzJiYTc2
M2I2ZmJiZDBjMWVlNDI4ZTNjM2FlOGM0ZmMzMC4uZTE1NGNlY2QzZThhMDVjZTY0NDY0MWNjYTk1
M2E5ODczZTU3ODRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVN
YXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmNwcApAQCAtNTEs
MTEgKzUxLDYgQEAgUmVuZGVyU3R5bGUqIENTU1RvU3R5bGVNYXA6OnJvb3RFbGVtZW50U3R5bGUo
KSBjb25zdAogICAgIHJldHVybiBtX3Jlc29sdmVyLT5yb290RWxlbWVudFN0eWxlKCk7CiB9CiAK
LVJlbmRlclN0eWxlKiBDU1NUb1N0eWxlTWFwOjpwYXJlbnRTdHlsZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fcmVzb2x2ZXItPnBhcmVudFN0eWxlKCk7Ci19Ci0KIGJvb2wgQ1NTVG9TdHlsZU1h
cDo6dXNlU1ZHWm9vbVJ1bGVzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9yZXNvbHZlci0+dXNl
U1ZHWm9vbVJ1bGVzKCk7CkBAIC0yMDMsMTAgKzE5OCwxMCBAQCB2b2lkIENTU1RvU3R5bGVNYXA6
Om1hcEZpbGxTaXplKENTU1Byb3BlcnR5SUQsIEZpbGxMYXllciogbGF5ZXIsIENTU1ZhbHVlKiB2
YWx1ZQogICAgIGlmIChQYWlyKiBwYWlyID0gcHJpbWl0aXZlVmFsdWUtPmdldFBhaXJWYWx1ZSgp
KSB7CiAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBmaXJzdCA9IHN0YXRpY19jYXN0PENTU1By
aW1pdGl2ZVZhbHVlKj4ocGFpci0+Zmlyc3QoKSk7CiAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVl
KiBzZWNvbmQgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHBhaXItPnNlY29uZCgp
KTsKLSAgICAgICAgZmlyc3RMZW5ndGggPSBmaXJzdC0+Y29udmVydFRvTGVuZ3RoPEFueUNvbnZl
cnNpb24+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgcGFyZW50U3R5bGUoKSwgem9vbUZh
Y3Rvcik7Ci0gICAgICAgIHNlY29uZExlbmd0aCA9IHNlY29uZC0+Y29udmVydFRvTGVuZ3RoPEFu
eUNvbnZlcnNpb24+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgcGFyZW50U3R5bGUoKSwg
IHpvb21GYWN0b3IpOworICAgICAgICBmaXJzdExlbmd0aCA9IGZpcnN0LT5jb252ZXJ0VG9MZW5n
dGg8QW55Q29udmVyc2lvbj4oc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCB6b29tRmFjdG9y
KTsKKyAgICAgICAgc2Vjb25kTGVuZ3RoID0gc2Vjb25kLT5jb252ZXJ0VG9MZW5ndGg8QW55Q29u
dmVyc2lvbj4oc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCB6b29tRmFjdG9yKTsKICAgICB9
IGVsc2UgewotICAgICAgICBmaXJzdExlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLT5jb252ZXJ0VG9M
ZW5ndGg8QW55Q29udmVyc2lvbj4oc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCBwYXJlbnRT
dHlsZSgpLCB6b29tRmFjdG9yKTsKKyAgICAgICAgZmlyc3RMZW5ndGggPSBwcmltaXRpdmVWYWx1
ZS0+Y29udmVydFRvTGVuZ3RoPEFueUNvbnZlcnNpb24+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5
bGUoKSwgem9vbUZhY3Rvcik7CiAgICAgICAgIHNlY29uZExlbmd0aCA9IExlbmd0aCgpOwogICAg
IH0KIApAQCAtMjMzLDExICsyMjgsMTEgQEAgdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxsWFBv
c2l0aW9uKENTU1Byb3BlcnR5SUQsIEZpbGxMYXllciogbGF5ZXIsIENTU1ZhbHVlKgogICAgIENT
U1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlKj4odmFsdWUpOwogICAgIExlbmd0aCBsZW5ndGg7CiAgICAgaWYgKHByaW1pdGl2ZVZh
bHVlLT5pc0xlbmd0aCgpKQotICAgICAgICBsZW5ndGggPSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0
ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgcGFyZW50U3R5bGUo
KSwgem9vbUZhY3Rvcik7CisgICAgICAgIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLT5jb21wdXRl
TGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCB6b29tRmFjdG9yKTsK
ICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNQZXJjZW50YWdlKCkpCiAgICAgICAgIGxl
bmd0aCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7
CiAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUtPmlzQ2FsY3VsYXRlZFBlcmNlbnRhZ2VXaXRo
TGVuZ3RoKCkpCi0gICAgICAgIGxlbmd0aCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+Y3NzQ2Fs
Y1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgcGFyZW50
U3R5bGUoKSwgem9vbUZhY3RvcikpOworICAgICAgICBsZW5ndGggPSBMZW5ndGgocHJpbWl0aXZl
VmFsdWUtPmNzc0NhbGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzdHlsZSgpLCByb290RWxlbWVudFN0
eWxlKCksIHpvb21GYWN0b3IpKTsKICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNWaWV3
cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSkKICAgICAgICAgbGVuZ3RoID0gcHJpbWl0aXZlVmFsdWUt
PnZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCgpOwogICAgIGVsc2UKQEAgLTI2MCwxMSArMjU1LDEx
IEBAIHZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbFlQb3NpdGlvbihDU1NQcm9wZXJ0eUlELCBG
aWxsTGF5ZXIqIGxheWVyLCBDU1NWYWx1ZSoKICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0
aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsKICAgICBM
ZW5ndGggbGVuZ3RoOwogICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNMZW5ndGgoKSkKLSAgICAg
ICAgbGVuZ3RoID0gcHJpbWl0aXZlVmFsdWUtPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgp
LCByb290RWxlbWVudFN0eWxlKCksIHBhcmVudFN0eWxlKCksIHpvb21GYWN0b3IpOworICAgICAg
ICBsZW5ndGggPSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCks
IHJvb3RFbGVtZW50U3R5bGUoKSwgem9vbUZhY3Rvcik7CiAgICAgZWxzZSBpZiAocHJpbWl0aXZl
VmFsdWUtPmlzUGVyY2VudGFnZSgpKQogICAgICAgICBsZW5ndGggPSBMZW5ndGgocHJpbWl0aXZl
VmFsdWUtPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwogICAgIGVsc2UgaWYgKHByaW1pdGl2
ZVZhbHVlLT5pc0NhbGN1bGF0ZWRQZXJjZW50YWdlV2l0aExlbmd0aCgpKQotICAgICAgICBsZW5n
dGggPSBMZW5ndGgocHJpbWl0aXZlVmFsdWUtPmNzc0NhbGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShz
dHlsZSgpLCByb290RWxlbWVudFN0eWxlKCksIHBhcmVudFN0eWxlKCksIHpvb21GYWN0b3IpKTsK
KyAgICAgICAgbGVuZ3RoID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5jc3NDYWxjVmFsdWUoKS0+
dG9DYWxjVmFsdWUoc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCB6b29tRmFjdG9yKSk7CiAg
ICAgZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUtPmlzVmlld3BvcnRQZXJjZW50YWdlTGVuZ3RoKCkp
CiAgICAgICAgIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLT52aWV3cG9ydFBlcmNlbnRhZ2VMZW5n
dGgoKTsKICAgICBlbHNlCkBAIC01ODcsMjggKzU4MiwyOCBAQCBMZW5ndGhCb3ggQ1NTVG9TdHls
ZU1hcDo6bWFwTmluZVBpZWNlSW1hZ2VRdWFkKENTU1ZhbHVlKiB2YWx1ZSkKICAgICBlbHNlIGlm
IChzbGljZXMtPnRvcCgpLT5pc1BlcmNlbnRhZ2UoKSkKICAgICAgICAgYm94Lm1fdG9wID0gTGVu
Z3RoKHNsaWNlcy0+dG9wKCktPmdldERvdWJsZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
UEVSQ0VOVEFHRSksIFBlcmNlbnQpOwogICAgIGVsc2UgaWYgKHNsaWNlcy0+dG9wKCktPmdldElk
ZW50KCkgIT0gQ1NTVmFsdWVBdXRvKQotICAgICAgICBib3gubV90b3AgPSBzbGljZXMtPnRvcCgp
LT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCBwYXJl
bnRTdHlsZSgpLCB6b29tKTsKKyAgICAgICAgYm94Lm1fdG9wID0gc2xpY2VzLT50b3AoKS0+Y29t
cHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgem9vbSk7CiAK
ICAgICBpZiAoc2xpY2VzLT5yaWdodCgpLT5pc051bWJlcigpKQogICAgICAgICBib3gubV9yaWdo
dCA9IExlbmd0aChzbGljZXMtPnJpZ2h0KCktPmdldEludFZhbHVlKCksIFJlbGF0aXZlKTsKICAg
ICBlbHNlIGlmIChzbGljZXMtPnJpZ2h0KCktPmlzUGVyY2VudGFnZSgpKQogICAgICAgICBib3gu
bV9yaWdodCA9IExlbmd0aChzbGljZXMtPnJpZ2h0KCktPmdldERvdWJsZVZhbHVlKENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSksIFBlcmNlbnQpOwogICAgIGVsc2UgaWYgKHNsaWNl
cy0+cmlnaHQoKS0+Z2V0SWRlbnQoKSAhPSBDU1NWYWx1ZUF1dG8pCi0gICAgICAgIGJveC5tX3Jp
Z2h0ID0gc2xpY2VzLT5yaWdodCgpLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgcm9v
dEVsZW1lbnRTdHlsZSgpLCBwYXJlbnRTdHlsZSgpLCB6b29tKTsKKyAgICAgICAgYm94Lm1fcmln
aHQgPSBzbGljZXMtPnJpZ2h0KCktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgpLCByb290
RWxlbWVudFN0eWxlKCksIHpvb20pOwogCiAgICAgaWYgKHNsaWNlcy0+Ym90dG9tKCktPmlzTnVt
YmVyKCkpCiAgICAgICAgIGJveC5tX2JvdHRvbSA9IExlbmd0aChzbGljZXMtPmJvdHRvbSgpLT5n
ZXRJbnRWYWx1ZSgpLCBSZWxhdGl2ZSk7CiAgICAgZWxzZSBpZiAoc2xpY2VzLT5ib3R0b20oKS0+
aXNQZXJjZW50YWdlKCkpCiAgICAgICAgIGJveC5tX2JvdHRvbSA9IExlbmd0aChzbGljZXMtPmJv
dHRvbSgpLT5nZXREb3VibGVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0Up
LCBQZXJjZW50KTsKICAgICBlbHNlIGlmIChzbGljZXMtPmJvdHRvbSgpLT5nZXRJZGVudCgpICE9
IENTU1ZhbHVlQXV0bykKLSAgICAgICAgYm94Lm1fYm90dG9tID0gc2xpY2VzLT5ib3R0b20oKS0+
Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgcGFyZW50
U3R5bGUoKSwgem9vbSk7CisgICAgICAgIGJveC5tX2JvdHRvbSA9IHNsaWNlcy0+Ym90dG9tKCkt
PmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgpLCByb290RWxlbWVudFN0eWxlKCksIHpvb20p
OwogCiAgICAgaWYgKHNsaWNlcy0+bGVmdCgpLT5pc051bWJlcigpKQogICAgICAgICBib3gubV9s
ZWZ0ID0gTGVuZ3RoKHNsaWNlcy0+bGVmdCgpLT5nZXRJbnRWYWx1ZSgpLCBSZWxhdGl2ZSk7CiAg
ICAgZWxzZSBpZiAoc2xpY2VzLT5sZWZ0KCktPmlzUGVyY2VudGFnZSgpKQogICAgICAgICBib3gu
bV9sZWZ0ID0gTGVuZ3RoKHNsaWNlcy0+bGVmdCgpLT5nZXREb3VibGVWYWx1ZShDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpLCBQZXJjZW50KTsKICAgICBlbHNlIGlmIChzbGljZXMt
PmxlZnQoKS0+Z2V0SWRlbnQoKSAhPSBDU1NWYWx1ZUF1dG8pCi0gICAgICAgIGJveC5tX2xlZnQg
PSBzbGljZXMtPmxlZnQoKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVt
ZW50U3R5bGUoKSwgcGFyZW50U3R5bGUoKSwgem9vbSk7CisgICAgICAgIGJveC5tX2xlZnQgPSBz
bGljZXMtPmxlZnQoKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVtZW50
U3R5bGUoKSwgem9vbSk7CiAKICAgICByZXR1cm4gYm94OwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0
eWxlTWFwLmgKaW5kZXggNWU0NDlmNWZmYTMxMmRhZGE0OWNlMTI0MDY0YTUzYmI0MDkyMmQ3ZS4u
OGUwZmM5NTNkMDRjNDcxNWJkYjI5YWFkNmQzYjczN2ExY2MxZTg4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVG9TdHlsZU1hcC5oCkBAIC03Myw3ICs3Myw2IEBAIHByaXZhdGU6CiAgICAgLy8gdGhlIGN1
cnJlbnQgcGFpbnQvbGF5b3V0LgogICAgIFJlbmRlclN0eWxlKiBzdHlsZSgpIGNvbnN0OwogICAg
IFJlbmRlclN0eWxlKiByb290RWxlbWVudFN0eWxlKCkgY29uc3Q7Ci0gICAgUmVuZGVyU3R5bGUq
IHBhcmVudFN0eWxlKCkgY29uc3Q7CiAgICAgYm9vbCB1c2VTVkdab29tUnVsZXMoKSBjb25zdDsK
IAogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBwYXJ0IG9mIHNvbWUgc29ydCBvZiBTdHls
ZUltYWdlQ2FjaGUgb2JqZWN0IHdoaWNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHAKaW5kZXggZmMxMzY0OWYyNDBhZmUwMGVlOTlkNzU3MDhlYTFjZTUxODI4MmNj
OS4uOTBjOWRmMjg2YzAxMGFkNzVjYzE1Y2FjZWNiZDRkZTIyNzZhN2FjZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMzA3LDcgKzMwNyw3IEBAIHN0
YXRpYyBib29sIGdyaWRNZWRpYUZlYXR1cmVFdmFsKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5
bGUqLCBGcmFtZSosIE1lZGlhRmVhCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgYm9v
bCBjb21wdXRlTGVuZ3RoKENTU1ZhbHVlKiB2YWx1ZSwgYm9vbCBzdHJpY3QsIFJlbmRlclN0eWxl
KiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxl
LCBpbnQmIHJlc3VsdCkKK3N0YXRpYyBib29sIGNvbXB1dGVMZW5ndGgoQ1NTVmFsdWUqIHZhbHVl
LCBib29sIHN0cmljdCwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxl
LCBpbnQmIHJlc3VsdCkKIHsKICAgICBpZiAoIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMyMCw3ICszMjAsNyBAQCBzdGF0aWMgYm9vbCBjb21w
dXRlTGVuZ3RoKENTU1ZhbHVlKiB2YWx1ZSwgYm9vbCBzdHJpY3QsIFJlbmRlclN0eWxlKiBzdHls
ZSwgUmVuZAogICAgIH0KIAogICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNMZW5ndGgoKSkgewot
ICAgICAgICByZXN1bHQgPSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHN0eWxl
LCByb290U3R5bGUsIHBhcmVudFN0eWxlKTsKKyAgICAgICAgcmVzdWx0ID0gcHJpbWl0aXZlVmFs
dWUtPmNvbXB1dGVMZW5ndGg8aW50PihzdHlsZSwgcm9vdFN0eWxlKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCkBAIC0zMzIsMTIgKzMzMiwxMCBAQCBzdGF0aWMgYm9vbCBkZXZpY2Vf
aGVpZ2h0TWVkaWFGZWF0dXJlRXZhbChDU1NWYWx1ZSogdmFsdWUsIFJlbmRlclN0eWxlKiBzdHls
ZSwgRgogICAgIGlmICh2YWx1ZSkgewogICAgICAgICBGbG9hdFJlY3Qgc2cgPSBzY3JlZW5SZWN0
KGZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCkpOwogICAgICAgICBSZW5kZXJTdHls
ZSogcm9vdFN0eWxlID0gZnJhbWUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5k
ZXJTdHlsZSgpOwotICAgICAgICBDb250YWluZXJOb2RlKiBwYXJlbnROb2RlID0gZnJhbWUtPmRv
Y3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5
bGUoKTsKLSAgICAgICAgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gcGFyZW50Tm9kZSA/IHBh
cmVudE5vZGUtPnJlbmRlclN0eWxlKCkgOiAwOwogICAgICAgICBpbnQgbGVuZ3RoOwogICAgICAg
ICBsb25nIGhlaWdodCA9IHNnLmhlaWdodCgpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFwcGx5U2NyZWVuSGVpZ2h0T3ZlcnJpZGUoZnJhbWUsICZoZWlnaHQpOwotICAgICAg
ICByZXR1cm4gY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLT5kb2N1bWVudCgpLT5pblF1aXJr
c01vZGUoKSwgc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIGxlbmd0aCkgJiYgY29tcGFy
ZVZhbHVlKHN0YXRpY19jYXN0PGludD4oaGVpZ2h0KSwgbGVuZ3RoLCBvcCk7CisgICAgICAgIHJl
dHVybiBjb21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUtPmRvY3VtZW50KCktPmluUXVpcmtzTW9k
ZSgpLCBzdHlsZSwgcm9vdFN0eWxlLCBsZW5ndGgpICYmIGNvbXBhcmVWYWx1ZShzdGF0aWNfY2Fz
dDxpbnQ+KGhlaWdodCksIGxlbmd0aCwgb3ApOwogICAgIH0KICAgICAvLyAoeyxtaW4tLG1heC19
ZGV2aWNlLWhlaWdodCkKICAgICAvLyBhc3N1bWUgaWYgd2UgaGF2ZSBhIGRldmljZSwgYXNzdW1l
IG5vbi16ZXJvCkBAIC0zNDksMTIgKzM0NywxMCBAQCBzdGF0aWMgYm9vbCBkZXZpY2Vfd2lkdGhN
ZWRpYUZlYXR1cmVFdmFsKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBGcgog
ICAgIGlmICh2YWx1ZSkgewogICAgICAgICBGbG9hdFJlY3Qgc2cgPSBzY3JlZW5SZWN0KGZyYW1l
LT5wYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCkpOwogICAgICAgICBSZW5kZXJTdHlsZSogcm9v
dFN0eWxlID0gZnJhbWUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHls
ZSgpOwotICAgICAgICBDb250YWluZXJOb2RlKiBwYXJlbnROb2RlID0gZnJhbWUtPmRvY3VtZW50
KCktPmRvY3VtZW50RWxlbWVudCgpLT5wYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKTsK
LSAgICAgICAgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gcGFyZW50Tm9kZSA/IHBhcmVudE5v
ZGUtPnJlbmRlclN0eWxlKCkgOiAwOwogICAgICAgICBpbnQgbGVuZ3RoOwogICAgICAgICBsb25n
IHdpZHRoID0gc2cud2lkdGgoKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
cHBseVNjcmVlbldpZHRoT3ZlcnJpZGUoZnJhbWUsICZ3aWR0aCk7Ci0gICAgICAgIHJldHVybiBj
b21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUtPmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpLCBz
dHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgbGVuZ3RoKSAmJiBjb21wYXJlVmFsdWUoc3Rh
dGljX2Nhc3Q8aW50Pih3aWR0aCksIGxlbmd0aCwgb3ApOworICAgICAgICByZXR1cm4gY29tcHV0
ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgc3R5bGUs
IHJvb3RTdHlsZSwgbGVuZ3RoKSAmJiBjb21wYXJlVmFsdWUoc3RhdGljX2Nhc3Q8aW50Pih3aWR0
aCksIGxlbmd0aCwgb3ApOwogICAgIH0KICAgICAvLyAoeyxtaW4tLG1heC19ZGV2aWNlLXdpZHRo
KQogICAgIC8vIGFzc3VtZSBpZiB3ZSBoYXZlIGEgZGV2aWNlLCBhc3N1bWUgbm9uLXplcm8KQEAg
LTM2NywxMCArMzYzLDggQEAgc3RhdGljIGJvb2wgaGVpZ2h0TWVkaWFGZWF0dXJlRXZhbChDU1NW
YWx1ZSogdmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgRnJhbWUqIGYKIAogICAgIGlmICh2YWx1
ZSkgewogICAgICAgICBSZW5kZXJTdHlsZSogcm9vdFN0eWxlID0gZnJhbWUtPmRvY3VtZW50KCkt
PmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJTdHlsZSgpOwotICAgICAgICBDb250YWluZXJOb2Rl
KiBwYXJlbnROb2RlID0gZnJhbWUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5wYXJl
bnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKTsKLSAgICAgICAgUmVuZGVyU3R5bGUqIHBhcmVu
dFN0eWxlID0gcGFyZW50Tm9kZSA/IHBhcmVudE5vZGUtPnJlbmRlclN0eWxlKCkgOiAwOwogICAg
ICAgICBpbnQgbGVuZ3RoOwotICAgICAgICByZXR1cm4gY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZy
YW1lLT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50
U3R5bGUsIGxlbmd0aCkgJiYgY29tcGFyZVZhbHVlKHZpZXctPmxheW91dEhlaWdodCgpLCBsZW5n
dGgsIG9wKTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVMZW5ndGgodmFsdWUsICFmcmFtZS0+ZG9j
dW1lbnQoKS0+aW5RdWlya3NNb2RlKCksIHN0eWxlLCByb290U3R5bGUsIGxlbmd0aCkgJiYgY29t
cGFyZVZhbHVlKHZpZXctPmxheW91dEhlaWdodCgpLCBsZW5ndGgsIG9wKTsKICAgICB9CiAKICAg
ICByZXR1cm4gdmlldy0+bGF5b3V0SGVpZ2h0KCkgIT0gMDsKQEAgLTM4MiwxMCArMzc2LDggQEAg
c3RhdGljIGJvb2wgd2lkdGhNZWRpYUZlYXR1cmVFdmFsKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBGcmFtZSogZnIKIAogICAgIGlmICh2YWx1ZSkgewogICAgICAgICBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlID0gZnJhbWUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgp
LT5yZW5kZXJTdHlsZSgpOwotICAgICAgICBDb250YWluZXJOb2RlKiBwYXJlbnROb2RlID0gZnJh
bWUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpLT5wYXJlbnROb2RlRm9yUmVuZGVyaW5n
QW5kU3R5bGUoKTsKLSAgICAgICAgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gcGFyZW50Tm9k
ZSA/IHBhcmVudE5vZGUtPnJlbmRlclN0eWxlKCkgOiAwOwogICAgICAgICBpbnQgbGVuZ3RoOwot
ICAgICAgICByZXR1cm4gY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLT5kb2N1bWVudCgpLT5p
blF1aXJrc01vZGUoKSwgc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIGxlbmd0aCkgJiYg
Y29tcGFyZVZhbHVlKHZpZXctPmxheW91dFdpZHRoKCksIGxlbmd0aCwgb3ApOworICAgICAgICBy
ZXR1cm4gY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLT5kb2N1bWVudCgpLT5pblF1aXJrc01v
ZGUoKSwgc3R5bGUsIHJvb3RTdHlsZSwgbGVuZ3RoKSAmJiBjb21wYXJlVmFsdWUodmlldy0+bGF5
b3V0V2lkdGgoKSwgbGVuZ3RoLCBvcCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHZpZXctPmxheW91
dFdpZHRoKCkgIT0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHls
ZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNw
cAppbmRleCA2MjBiYTBkNjQ4ZWI2NjMwNjU2MzZiZGNiMDE1NGRlYjg4NjNlMDBjLi41YjM1NDdm
NGQ2MjdkM2UxOWExYWU2NWI3NmQwNjA5YjU5M2FiNWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC01NTksOSArNTU5LDkgQEAgdm9pZCBTdHlsZVJl
c29sdmVyOjphcHBseVNWR1Byb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1
ZSkKICAgICAgICAgICAgIGlmICghZmlyc3RWYWx1ZS0+aXNTaGFkb3dWYWx1ZSgpKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIFNoYWRvd1ZhbHVlKiBpdGVtID0gc3RhdGlj
X2Nhc3Q8U2hhZG93VmFsdWUqPihmaXJzdFZhbHVlKTsKLSAgICAgICAgICAgIEludFBvaW50IGxv
Y2F0aW9uKGl0ZW0tPngtPmNvbXB1dGVMZW5ndGg8aW50PihzdHlsZSgpLCBtX3Jvb3RFbGVtZW50
U3R5bGUsIG1fcGFyZW50U3R5bGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRl
bS0+eS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9w
YXJlbnRTdHlsZSkpOwotICAgICAgICAgICAgaW50IGJsdXIgPSBpdGVtLT5ibHVyID8gaXRlbS0+
Ymx1ci0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9w
YXJlbnRTdHlsZSkgOiAwOworICAgICAgICAgICAgSW50UG9pbnQgbG9jYXRpb24oaXRlbS0+eC0+
Y29tcHV0ZUxlbmd0aDxpbnQ+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpdGVtLT55LT5jb21wdXRlTGVuZ3RoPGludD4oc3R5bGUo
KSwgbV9yb290RWxlbWVudFN0eWxlKSk7CisgICAgICAgICAgICBpbnQgYmx1ciA9IGl0ZW0tPmJs
dXIgPyBpdGVtLT5ibHVyLT5jb21wdXRlTGVuZ3RoPGludD4oc3R5bGUoKSwgbV9yb290RWxlbWVu
dFN0eWxlKSA6IDA7CiAgICAgICAgICAgICBDb2xvciBjb2xvcjsKICAgICAgICAgICAgIGlmIChp
dGVtLT5jb2xvcikKICAgICAgICAgICAgICAgICBjb2xvciA9IGNvbG9yRnJvbVByaW1pdGl2ZVZh
bHVlKGl0ZW0tPmNvbG9yLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKaW5k
ZXggYWM1MWYzMDBjMjI4Yjg1Yzc0OTk4ZWRlZGE2MGU5M2ExNjM5ZWRiOC4uMjBkMDJjYzE1YjFj
NzAzNTY0YjczMTdjZWE1ZjdhODUyNzQ1ZWI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRl
ci5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJDdXJzb3JMaXN0LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCi0jaW5jbHVkZSAiTm9kZVJlbmRl
clN0eWxlLmgiCiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlJlY3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJPYmplY3QuaCIKQEAgLTIxMyw3ICsyMTIsNyBAQCBwdWJsaWM6CiAgICAgICAgIGVs
c2UgaWYgKHZhbHVlVHlwZSA9PSBOdW1iZXIpCiAgICAgICAgICAgICBzZXRWYWx1ZShzdHlsZVJl
c29sdmVyLT5zdHlsZSgpLCAqcHJpbWl0aXZlVmFsdWUpOwogICAgICAgICBlbHNlIGlmICh2YWx1
ZVR5cGUgPT0gQ29tcHV0ZUxlbmd0aCkKLSAgICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2
ZXItPnN0eWxlKCksIHByaW1pdGl2ZVZhbHVlLT5jb21wdXRlTGVuZ3RoPFQ+KHN0eWxlUmVzb2x2
ZXItPnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgc3R5bGVSZXNv
bHZlci0+cGFyZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9v
bSgpKSk7CisgICAgICAgICAgICBzZXRWYWx1ZShzdHlsZVJlc29sdmVyLT5zdHlsZSgpLCBwcmlt
aXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxUPihzdHlsZVJlc29sdmVyLT5zdHlsZSgpLCBzdHls
ZVJlc29sdmVyLT5yb290RWxlbWVudFN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPmVm
ZmVjdGl2ZVpvb20oKSkpOwogICAgIH0KIAogICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3Jl
YXRlSGFuZGxlcigpIHsgcmV0dXJuIFByb3BlcnR5SGFuZGxlcigmYXBwbHlJbmhlcml0VmFsdWUs
ICZhcHBseUluaXRpYWxWYWx1ZSwgJmFwcGx5VmFsdWUpOyB9CkBAIC0yMjMsNyArMjIyLDcgQEAg
Y2xhc3MgQXBwbHlQcm9wZXJ0eUNsaXAgewogcHJpdmF0ZToKICAgICBzdGF0aWMgTGVuZ3RoIGNv
bnZlcnRUb0xlbmd0aChTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NQcmltaXRpdmVW
YWx1ZSogdmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gdmFsdWUtPmNvbnZlcnRUb0xlbmd0
aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgUGVyY2VudENvbnZlcnNpb24gfCBGcmFjdGlvbkNv
bnZlcnNpb24gfCBBdXRvQ29udmVyc2lvbj4oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVS
ZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzdHlsZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgp
LCBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOworICAgICAgICByZXR1
cm4gdmFsdWUtPmNvbnZlcnRUb0xlbmd0aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgUGVyY2Vu
dENvbnZlcnNpb24gfCBGcmFjdGlvbkNvbnZlcnNpb24gfCBBdXRvQ29udmVyc2lvbj4oc3R5bGVS
ZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzdHls
ZVJlc29sdmVyLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOwogICAgIH0KIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRWYWx1ZShTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29s
dmVyKQpAQCAtMzgwLDEzICszNzksMTMgQEAgcHVibGljOgogICAgICAgICBpZiAoYXV0b0VuYWJs
ZWQgJiYgcHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0gQ1NTVmFsdWVBdXRvKQogICAgICAg
ICAgICAgc2V0VmFsdWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgTGVuZ3RoKCkpOwogICAgICAg
ICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNMZW5ndGgoKSkgewotICAgICAgICAgICAgTGVu
Z3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGVS
ZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzdHls
ZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgpLCBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5lZmZlY3Rp
dmVab29tKCkpOworICAgICAgICAgICAgTGVuZ3RoIGxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLT5j
b21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZl
ci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5lZmZlY3RpdmVa
b29tKCkpOwogICAgICAgICAgICAgbGVuZ3RoLnNldFF1aXJrKHByaW1pdGl2ZVZhbHVlLT5pc1F1
aXJrVmFsdWUoKSk7CiAgICAgICAgICAgICBzZXRWYWx1ZShzdHlsZVJlc29sdmVyLT5zdHlsZSgp
LCBsZW5ndGgpOwogICAgICAgICB9IGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLT5pc1BlcmNlbnRh
Z2UoKSkKICAgICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIExlbmd0
aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCkpOwogICAgICAgICBl
bHNlIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNDYWxjdWxhdGVkUGVyY2VudGFnZVdpdGhMZW5ndGgo
KSkKLSAgICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIExlbmd0aChw
cmltaXRpdmVWYWx1ZS0+Y3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlUmVzb2x2ZXIt
PnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZl
ci0+cGFyZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgp
KSkpOworICAgICAgICAgICAgc2V0VmFsdWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgTGVuZ3Ro
KHByaW1pdGl2ZVZhbHVlLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc3R5bGVSZXNvbHZl
ci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzdHlsZVJlc29s
dmVyLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpKSk7CiAgICAgICAgIGVsc2UgaWYgKHByaW1p
dGl2ZVZhbHVlLT5pc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCgpKQogICAgICAgICAgICAgc2V0
VmFsdWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgcHJpbWl0aXZlVmFsdWUtPnZpZXdwb3J0UGVy
Y2VudGFnZUxlbmd0aCgpKTsKICAgICB9CkBAIC00NDYsNyArNDQ1LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgLy8gaGFuZGxlIHRoaXMgY2FzZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgIHJhZGl1c1dpZHRoID0gcGFpci0+Zmlyc3QoKS0+Y29tcHV0
ZUxlbmd0aDxMZW5ndGg+KHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJv
b3RFbGVtZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cGFyZW50U3R5bGUoKSwgc3R5bGVSZXNv
bHZlci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgICAgIHJhZGl1c1dpZHRo
ID0gcGFpci0+Zmlyc3QoKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlUmVzb2x2ZXItPnN0
eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+
c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKICAgICAgICAgaWYgKHBhaXItPnNlY29uZCgpLT5p
c1BlcmNlbnRhZ2UoKSkKICAgICAgICAgICAgIHJhZGl1c0hlaWdodCA9IExlbmd0aChwYWlyLT5z
ZWNvbmQoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CiAgICAgICAgIGVsc2UgaWYgKHBh
aXItPnNlY29uZCgpLT5pc1ZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCgpKQpAQCAtNDU2LDcgKzQ1
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIC8vIGhhbmRsZSB0aGlzIGNhc2UKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByYWRpdXNIZWlnaHQgPSBw
YWlyLT5zZWNvbmQoKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlUmVzb2x2ZXItPnN0eWxl
KCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cGFy
ZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKKyAg
ICAgICAgICAgIHJhZGl1c0hlaWdodCA9IHBhaXItPnNlY29uZCgpLT5jb21wdXRlTGVuZ3RoPExl
bmd0aD4oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRT
dHlsZSgpLCBzdHlsZVJlc29sdmVyLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOwogICAgICAg
ICBpbnQgd2lkdGggPSByYWRpdXNXaWR0aC52YWx1ZSgpOwogICAgICAgICBpbnQgaGVpZ2h0ID0g
cmFkaXVzSGVpZ2h0LnZhbHVlKCk7CiAgICAgICAgIGlmICh3aWR0aCA8IDAgfHwgaGVpZ2h0IDwg
MCkKQEAgLTYwMSw3ICs2MDAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsZW5ndGggPSA1Owog
ICAgICAgICB9IGVsc2UgaWYgKGlkZW50ID09IENTU1ZhbHVlSW52YWxpZCkgewogICAgICAgICAg
ICAgZmxvYXQgem9vbSA9IChzdmdab29tRW5hYmxlZCAmJiBzdHlsZVJlc29sdmVyLT51c2VTVkda
b29tUnVsZXMoKSkgPyAxLjBmIDogc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9v
bSgpOwotICAgICAgICAgICAgbGVuZ3RoID0gcHJpbWl0aXZlVmFsdWUtPmNvbXB1dGVMZW5ndGg8
VD4oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHls
ZSgpLCBzdHlsZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgpLCB6b29tKTsKKyAgICAgICAgICAgIGxl
bmd0aCA9IHByaW1pdGl2ZVZhbHVlLT5jb21wdXRlTGVuZ3RoPFQ+KHN0eWxlUmVzb2x2ZXItPnN0
eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgem9vbSk7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAg
IGxlbmd0aCA9IDA7CkBAIC03MzksMjAgKzczOCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0SXNBYnNvbHV0ZVNpemUocGFyZW50
SXNBYnNvbHV0ZVNpemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8fCAhKHByaW1pdGl2ZVZhbHVlLT5pc1BlcmNlbnRhZ2UoKSB8fCBwcmltaXRpdmVWYWx1
ZS0+aXNGb250UmVsYXRpdmVMZW5ndGgoKSkpOwotCi0gICAgICAgICAgICBSZW5kZXJTdHlsZSog
Z3BTdHlsZSA9IDA7Ci0gICAgICAgICAgICBDb250YWluZXJOb2RlKiBwYXJlbnROb2RlID0gc3R5
bGVSZXNvbHZlci0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUpIHsK
LSAgICAgICAgICAgICAgICBDb250YWluZXJOb2RlKiBncE5vZGUgPSBwYXJlbnROb2RlLT5wYXJl
bnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUoKTsKLSAgICAgICAgICAgICAgICBncFN0eWxlID0g
Z3BOb2RlID8gZ3BOb2RlLT5yZW5kZXJTdHlsZSgpIDogMDsKLSAgICAgICAgICAgIH0KLQogICAg
ICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5pc0xlbmd0aCgpKQotICAgICAgICAgICAgICAg
IHNpemUgPSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxmbG9hdD4oc3R5bGVSZXNvbHZl
ci0+cGFyZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBncFN0
eWxlLCAxLjAsIHRydWUpOworICAgICAgICAgICAgICAgIHNpemUgPSBwcmltaXRpdmVWYWx1ZS0+
Y29tcHV0ZUxlbmd0aDxmbG9hdD4oc3R5bGVSZXNvbHZlci0+cGFyZW50U3R5bGUoKSwgc3R5bGVS
ZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpLCAxLjAsIHRydWUpOwogICAgICAgICAgICAgZWxz
ZSBpZiAocHJpbWl0aXZlVmFsdWUtPmlzUGVyY2VudGFnZSgpKQogICAgICAgICAgICAgICAgIHNp
emUgPSAocHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUoKSAqIHBhcmVudFNpemUpIC8gMTAw
LjBmOwogICAgICAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUtPmlzQ2FsY3VsYXRlZFBl
cmNlbnRhZ2VXaXRoTGVuZ3RoKCkpCi0gICAgICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZh
bHVlLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc3R5bGVSZXNvbHZlci0+cGFyZW50U3R5
bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBncFN0eWxlKS0+ZXZhbHVh
dGUocGFyZW50U2l6ZSk7CisgICAgICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLT5j
c3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc3R5bGVSZXNvbHZlci0+cGFyZW50U3R5bGUoKSwg
c3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpKS0+ZXZhbHVhdGUocGFyZW50U2l6ZSk7
CiAgICAgICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNWaWV3cG9ydFBlcmNlbnRh
Z2VMZW5ndGgoKSkKICAgICAgICAgICAgICAgICBzaXplID0gdmFsdWVGb3JMZW5ndGgocHJpbWl0
aXZlVmFsdWUtPnZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCgpLCAwLCBzdHlsZVJlc29sdmVyLT5k
b2N1bWVudCgpLT5yZW5kZXJWaWV3KCkpOwogICAgICAgICAgICAgZWxzZQpAQCAtMTIwOSw3ICsx
MjAwLDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBzdHls
ZVJlc29sdmVyLT5kb2N1bWVudCgpLT5mcmFtZSgpKQogICAgICAgICAgICAgICAgICAgICBtdWx0
aXBsaWVyICo9IGZyYW1lLT50ZXh0Wm9vbUZhY3RvcigpOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgbGluZUhlaWdodCA9IHByaW1pdGl2ZVZhbHVlLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4o
c3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgp
LCBzdHlsZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgpLCBtdWx0aXBsaWVyKTsKKyAgICAgICAgICAg
IGxpbmVIZWlnaHQgPSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxl
UmVzb2x2ZXItPnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgbXVs
dGlwbGllcik7CiAgICAgICAgIH0gZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUtPmlzUGVyY2VudGFn
ZSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogcGVyY2VudGFnZSBzaG91bGQgbm90IGJlIHJl
c3RyaWN0ZWQgdG8gYW4gaW50ZWdlciBoZXJlLgogICAgICAgICAgICAgbGluZUhlaWdodCA9IExl
bmd0aCgoc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+Zm9udFNpemUoKSAqIHByaW1pdGl2ZVZhbHVl
LT5nZXRJbnRWYWx1ZSgpKSAvIDEwMCwgRml4ZWQpOwpAQCAtMTIzMSw4ICsxMjIyLDggQEAgcHVi
bGljOgogCiBjbGFzcyBBcHBseVByb3BlcnR5UGFnZVNpemUgewogcHJpdmF0ZToKLSAgICBzdGF0
aWMgTGVuZ3RoIG1tTGVuZ3RoKGRvdWJsZSBtbSkgeyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6
OmNyZWF0ZShtbSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NTSktPmNvbXB1dGVMZW5ndGg8TGVu
Z3RoPigwLCAwLCAwKTsgfQotICAgIHN0YXRpYyBMZW5ndGggaW5jaExlbmd0aChkb3VibGUgaW5j
aCkgeyByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShpbmNoLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0lOKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KDAsIDAsIDApOyB9CisgICAgc3Rh
dGljIExlbmd0aCBtbUxlbmd0aChkb3VibGUgbW0pIHsgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUobW0sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU0pLT5jb21wdXRlTGVuZ3RoPExl
bmd0aD4oMCwgMCk7IH0KKyAgICBzdGF0aWMgTGVuZ3RoIGluY2hMZW5ndGgoZG91YmxlIGluY2gp
IHsgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoaW5jaCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19JTiktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPigwLCAwKTsgfQogICAgIHN0YXRpYyBi
b29sIGdldFBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwg
Q1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VPcmllbnRhdGlvbiwgTGVuZ3RoJiB3aWR0aCwgTGVuZ3Ro
JiBoZWlnaHQpCiAgICAgewogICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKExlbmd0aCwgYTVX
aWR0aCwgKG1tTGVuZ3RoKDE0OCkpKTsKQEAgLTEzMjcsOCArMTMxOCw4IEBAIHB1YmxpYzoKICAg
ICAgICAgICAgICAgICAvLyA8bGVuZ3RoPnsyfQogICAgICAgICAgICAgICAgIGlmICghc2Vjb25k
LT5pc0xlbmd0aCgpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAg
ICAgd2lkdGggPSBmaXJzdC0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlUmVzb2x2ZXItPnN0
eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+
cGFyZW50U3R5bGUoKSk7Ci0gICAgICAgICAgICAgICAgaGVpZ2h0ID0gc2Vjb25kLT5jb21wdXRl
TGVuZ3RoPExlbmd0aD4oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9v
dEVsZW1lbnRTdHlsZSgpLCBzdHlsZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgpKTsKKyAgICAgICAg
ICAgICAgICB3aWR0aCA9IGZpcnN0LT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGVSZXNvbHZl
ci0+c3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cm9vdEVsZW1lbnRTdHlsZSgpKTsKKyAgICAgICAg
ICAgICAgICBoZWlnaHQgPSBzZWNvbmQtPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZVJlc29s
dmVyLT5zdHlsZSgpLCBzdHlsZVJlc29sdmVyLT5yb290RWxlbWVudFN0eWxlKCkpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyA8cGFnZS1zaXplPiA8b3JpZW50YXRp
b24+CiAgICAgICAgICAgICAgICAgLy8gVGhlIHZhbHVlIG9yZGVyIGlzIGd1YXJhbnRlZWQuIFNl
ZSBDU1NQYXJzZXI6OnBhcnNlU2l6ZVBhcmFtZXRlci4KQEAgLTEzNDYsNyArMTMzNyw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+aXNMZW5ndGgoKSkgewogICAg
ICAgICAgICAgICAgIC8vIDxsZW5ndGg+CiAgICAgICAgICAgICAgICAgcGFnZVNpemVUeXBlID0g
UEFHRV9TSVpFX1JFU09MVkVEOwotICAgICAgICAgICAgICAgIHdpZHRoID0gaGVpZ2h0ID0gcHJp
bWl0aXZlVmFsdWUtPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZVJlc29sdmVyLT5zdHlsZSgp
LCBzdHlsZVJlc29sdmVyLT5yb290RWxlbWVudFN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnBhcmVu
dFN0eWxlKCkpOworICAgICAgICAgICAgICAgIHdpZHRoID0gaGVpZ2h0ID0gcHJpbWl0aXZlVmFs
dWUtPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZVJlc29sdmVyLT5zdHlsZSgpLCBzdHlsZVJl
c29sdmVyLT5yb290RWxlbWVudFN0eWxlKCkpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBzd2l0Y2ggKHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVudCgpKSB7CiAgICAgICAg
ICAgICAgICAgY2FzZSAwOgpAQCAtMTU4MCw3ICsxNTcxLDcgQEAgcHVibGljOgogICAgICAgICBp
ZiAocHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gc3R5bGVS
ZXNvbHZlci0+c3R5bGUoKS0+c2V0VmVydGljYWxBbGlnbigqcHJpbWl0aXZlVmFsdWUpOwogCi0g
ICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldFZlcnRpY2FsQWxpZ25MZW5ndGgocHJp
bWl0aXZlVmFsdWUtPmNvbnZlcnRUb0xlbmd0aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgUGVy
Y2VudENvbnZlcnNpb24gfCBDYWxjdWxhdGVkQ29udmVyc2lvbiB8IFZpZXdwb3J0UGVyY2VudGFn
ZUNvbnZlcnNpb24+KHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RF
bGVtZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZlci0+cGFyZW50U3R5bGUoKSwgc3R5bGVSZXNvbHZl
ci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKSk7CisgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0
eWxlKCktPnNldFZlcnRpY2FsQWxpZ25MZW5ndGgocHJpbWl0aXZlVmFsdWUtPmNvbnZlcnRUb0xl
bmd0aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgUGVyY2VudENvbnZlcnNpb24gfCBDYWxjdWxh
dGVkQ29udmVyc2lvbiB8IFZpZXdwb3J0UGVyY2VudGFnZUNvbnZlcnNpb24+KHN0eWxlUmVzb2x2
ZXItPnN0eWxlKCksIHN0eWxlUmVzb2x2ZXItPnJvb3RFbGVtZW50U3R5bGUoKSwgc3R5bGVSZXNv
bHZlci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKSk7CiAgICAgfQogCiAgICAgc3RhdGljIFBy
b3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCBlMWZlZTdiZGJlNTIzYWIyNjkyMzliYjMzNWUxNGQ2ZDEyYmZhYmYwLi5kZTNh
MGE5YmQ3YjQyYmM4YjNjOTEzOTEyMWM4NGY3YmNkMWY5NmUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCkBAIC0yNzU3LDE0ICsyNzU3LDE0IEBAIHZvaWQgUnVsZVNldDo6c2hy
aW5rVG9GaXQoKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gdGhpcyBpcyBt
b3N0bHkgYm9yaW5nIHN0dWZmIG9uIGhvdyB0byBhcHBseSBhIGNlcnRhaW4gcnVsZSB0byB0aGUg
cmVuZGVyc3R5bGUuLi4KIAotTGVuZ3RoIFN0eWxlUmVzb2x2ZXI6OmNvbnZlcnRUb0ludExlbmd0
aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBkb3VibGUg
bXVsdGlwbGllcikKK0xlbmd0aCBTdHlsZVJlc29sdmVyOjpjb252ZXJ0VG9JbnRMZW5ndGgoQ1NT
UHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRl
clN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyKQogewotICAgIHJldHVybiBwcmlt
aXRpdmVWYWx1ZSA/IHByaW1pdGl2ZVZhbHVlLT5jb252ZXJ0VG9MZW5ndGg8Rml4ZWRJbnRlZ2Vy
Q29udmVyc2lvbiB8IFBlcmNlbnRDb252ZXJzaW9uIHwgRnJhY3Rpb25Db252ZXJzaW9uIHwgVmll
d3BvcnRQZXJjZW50YWdlQ29udmVyc2lvbj4oc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUs
IG11bHRpcGxpZXIpIDogTGVuZ3RoKFVuZGVmaW5lZCk7CisgICAgcmV0dXJuIHByaW1pdGl2ZVZh
bHVlID8gcHJpbWl0aXZlVmFsdWUtPmNvbnZlcnRUb0xlbmd0aDxGaXhlZEludGVnZXJDb252ZXJz
aW9uIHwgUGVyY2VudENvbnZlcnNpb24gfCBGcmFjdGlvbkNvbnZlcnNpb24gfCBWaWV3cG9ydFBl
cmNlbnRhZ2VDb252ZXJzaW9uPihzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyKSA6IExlbmd0
aChVbmRlZmluZWQpOwogfQogCi1MZW5ndGggU3R5bGVSZXNvbHZlcjo6Y29udmVydFRvRmxvYXRM
ZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5
bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgZG91
YmxlIG11bHRpcGxpZXIpCitMZW5ndGggU3R5bGVSZXNvbHZlcjo6Y29udmVydFRvRmxvYXRMZW5n
dGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUs
IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyKQogewotICAgIHJldHVy
biBwcmltaXRpdmVWYWx1ZSA/IHByaW1pdGl2ZVZhbHVlLT5jb252ZXJ0VG9MZW5ndGg8Rml4ZWRG
bG9hdENvbnZlcnNpb24gfCBQZXJjZW50Q29udmVyc2lvbiB8IEZyYWN0aW9uQ29udmVyc2lvbiB8
IFZpZXdwb3J0UGVyY2VudGFnZUNvbnZlcnNpb24+KHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0
eWxlLCBtdWx0aXBsaWVyKSA6IExlbmd0aChVbmRlZmluZWQpOworICAgIHJldHVybiBwcmltaXRp
dmVWYWx1ZSA/IHByaW1pdGl2ZVZhbHVlLT5jb252ZXJ0VG9MZW5ndGg8Rml4ZWRGbG9hdENvbnZl
cnNpb24gfCBQZXJjZW50Q29udmVyc2lvbiB8IEZyYWN0aW9uQ29udmVyc2lvbiB8IFZpZXdwb3J0
UGVyY2VudGFnZUNvbnZlcnNpb24+KHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIpIDogTGVu
Z3RoKFVuZGVmaW5lZCk7CiB9CiAKIHRlbXBsYXRlIDxTdHlsZVJlc29sdmVyOjpTdHlsZUFwcGxp
Y2F0aW9uUGFzcyBwYXNzPgpAQCAtMzI0Myw3ICszMjQzLDcgQEAgYm9vbCBTdHlsZVJlc29sdmVy
Ojp1c2VTVkdab29tUnVsZXMoKQogCiBzdGF0aWMgYm9vbCBjcmVhdGVHcmlkVHJhY2tCcmVhZHRo
KENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgU3R5bGVSZXNvbHZlciogc2VsZWN0
b3IsIExlbmd0aCYgbGVuZ3RoKQogewotICAgIExlbmd0aCB3b3JraW5nTGVuZ3RoID0gcHJpbWl0
aXZlVmFsdWUtPmNvbnZlcnRUb0xlbmd0aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgUGVyY2Vu
dENvbnZlcnNpb24gfCBWaWV3cG9ydFBlcmNlbnRhZ2VDb252ZXJzaW9uIHwgQXV0b0NvbnZlcnNp
b24+KHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzZWxl
Y3Rvci0+cGFyZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7
CisgICAgTGVuZ3RoIHdvcmtpbmdMZW5ndGggPSBwcmltaXRpdmVWYWx1ZS0+Y29udmVydFRvTGVu
Z3RoPEZpeGVkSW50ZWdlckNvbnZlcnNpb24gfCBQZXJjZW50Q29udmVyc2lvbiB8IFZpZXdwb3J0
UGVyY2VudGFnZUNvbnZlcnNpb24gfCBBdXRvQ29udmVyc2lvbj4oc2VsZWN0b3ItPnN0eWxlKCks
IHNlbGVjdG9yLT5yb290RWxlbWVudFN0eWxlKCksIHNlbGVjdG9yLT5zdHlsZSgpLT5lZmZlY3Rp
dmVab29tKCkpOwogICAgIGlmICh3b3JraW5nTGVuZ3RoLmlzVW5kZWZpbmVkKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIApAQCAtMzcwNiwxMCArMzcwNiwxMCBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAg
ICAgICAgICAgaWYgKCFjdXJyVmFsdWUtPmlzU2hhZG93VmFsdWUoKSkKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgIFNoYWRvd1ZhbHVlKiBpdGVtID0gc3RhdGljX2Nhc3Q8
U2hhZG93VmFsdWUqPihjdXJyVmFsdWUpOwotICAgICAgICAgICAgaW50IHggPSBpdGVtLT54LT5j
b21wdXRlTGVuZ3RoPGludD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCBtX3BhcmVudFN0
eWxlLCB6b29tRmFjdG9yKTsKLSAgICAgICAgICAgIGludCB5ID0gaXRlbS0+eS0+Y29tcHV0ZUxl
bmd0aDxpbnQ+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9wYXJlbnRTdHlsZSwgem9v
bUZhY3Rvcik7Ci0gICAgICAgICAgICBpbnQgYmx1ciA9IGl0ZW0tPmJsdXIgPyBpdGVtLT5ibHVy
LT5jb21wdXRlTGVuZ3RoPGludD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCBtX3BhcmVu
dFN0eWxlLCB6b29tRmFjdG9yKSA6IDA7Ci0gICAgICAgICAgICBpbnQgc3ByZWFkID0gaXRlbS0+
c3ByZWFkID8gaXRlbS0+c3ByZWFkLT5jb21wdXRlTGVuZ3RoPGludD4oc3R5bGUoKSwgbV9yb290
RWxlbWVudFN0eWxlLCBtX3BhcmVudFN0eWxlLCB6b29tRmFjdG9yKSA6IDA7CisgICAgICAgICAg
ICBpbnQgeCA9IGl0ZW0tPngtPmNvbXB1dGVMZW5ndGg8aW50PihzdHlsZSgpLCBtX3Jvb3RFbGVt
ZW50U3R5bGUsIHpvb21GYWN0b3IpOworICAgICAgICAgICAgaW50IHkgPSBpdGVtLT55LT5jb21w
dXRlTGVuZ3RoPGludD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKTsK
KyAgICAgICAgICAgIGludCBibHVyID0gaXRlbS0+Ymx1ciA/IGl0ZW0tPmJsdXItPmNvbXB1dGVM
ZW5ndGg8aW50PihzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUsIHpvb21GYWN0b3IpIDogMDsK
KyAgICAgICAgICAgIGludCBzcHJlYWQgPSBpdGVtLT5zcHJlYWQgPyBpdGVtLT5zcHJlYWQtPmNv
bXB1dGVMZW5ndGg8aW50PihzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUsIHpvb21GYWN0b3Ip
IDogMDsKICAgICAgICAgICAgIFNoYWRvd1N0eWxlIHNoYWRvd1N0eWxlID0gaXRlbS0+c3R5bGUg
JiYgaXRlbS0+c3R5bGUtPmdldElkZW50KCkgPT0gQ1NTVmFsdWVJbnNldCA/IEluc2V0IDogTm9y
bWFsOwogICAgICAgICAgICAgQ29sb3IgY29sb3I7CiAgICAgICAgICAgICBpZiAoaXRlbS0+Y29s
b3IpCkBAIC0zNzM5LDcgKzM3MzksNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVy
dHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgICAgICBSZWZQdHI8U3R5
bGVSZWZsZWN0aW9uPiByZWZsZWN0aW9uID0gU3R5bGVSZWZsZWN0aW9uOjpjcmVhdGUoKTsKICAg
ICAgICAgcmVmbGVjdGlvbi0+c2V0RGlyZWN0aW9uKHJlZmxlY3RWYWx1ZS0+ZGlyZWN0aW9uKCkp
OwogICAgICAgICBpZiAocmVmbGVjdFZhbHVlLT5vZmZzZXQoKSkKLSAgICAgICAgICAgIHJlZmxl
Y3Rpb24tPnNldE9mZnNldChyZWZsZWN0VmFsdWUtPm9mZnNldCgpLT5jb252ZXJ0VG9MZW5ndGg8
Rml4ZWRJbnRlZ2VyQ29udmVyc2lvbiB8IFBlcmNlbnRDb252ZXJzaW9uIHwgQ2FsY3VsYXRlZENv
bnZlcnNpb24+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9wYXJlbnRTdHlsZSwgem9v
bUZhY3RvcikpOworICAgICAgICAgICAgcmVmbGVjdGlvbi0+c2V0T2Zmc2V0KHJlZmxlY3RWYWx1
ZS0+b2Zmc2V0KCktPmNvbnZlcnRUb0xlbmd0aDxGaXhlZEludGVnZXJDb252ZXJzaW9uIHwgUGVy
Y2VudENvbnZlcnNpb24gfCBDYWxjdWxhdGVkQ29udmVyc2lvbj4oc3R5bGUoKSwgbV9yb290RWxl
bWVudFN0eWxlLCB6b29tRmFjdG9yKSk7CiAgICAgICAgIE5pbmVQaWVjZUltYWdlIG1hc2s7CiAg
ICAgICAgIG1hc2suc2V0TWFza0RlZmF1bHRzKCk7CiAgICAgICAgIG1fc3R5bGVNYXAubWFwTmlu
ZVBpZWNlSW1hZ2UoaWQsIHJlZmxlY3RWYWx1ZS0+bWFzaygpLCBtYXNrKTsKQEAgLTM4MjEsNyAr
MzgyMSw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlE
IGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBMZW5ndGggbWFycXVlZUxlbmd0aCA9
IGNvbnZlcnRUb0ludExlbmd0aChwcmltaXRpdmVWYWx1ZSwgc3R5bGUoKSwgbV9yb290RWxlbWVu
dFN0eWxlLCBtX3BhcmVudFN0eWxlKTsKKyAgICAgICAgICAgIExlbmd0aCBtYXJxdWVlTGVuZ3Ro
ID0gY29udmVydFRvSW50TGVuZ3RoKHByaW1pdGl2ZVZhbHVlLCBzdHlsZSgpLCBtX3Jvb3RFbGVt
ZW50U3R5bGUpOwogICAgICAgICAgICAgaWYgKCFtYXJxdWVlTGVuZ3RoLmlzVW5kZWZpbmVkKCkp
CiAgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0TWFycXVlZUluY3JlbWVudChtYXJxdWVlTGVu
Z3RoKTsKICAgICAgICAgfQpAQCAtMzg2NywxMCArMzg2NywxMCBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogCiAg
ICAgICAgIERhc2hib2FyZFJlZ2lvbiogZmlyc3QgPSByZWdpb247CiAgICAgICAgIHdoaWxlIChy
ZWdpb24pIHsKLSAgICAgICAgICAgIExlbmd0aCB0b3AgPSBjb252ZXJ0VG9JbnRMZW5ndGgocmVn
aW9uLT50b3AoKSwgc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCBtX3BhcmVudFN0eWxlKTsK
LSAgICAgICAgICAgIExlbmd0aCByaWdodCA9IGNvbnZlcnRUb0ludExlbmd0aChyZWdpb24tPnJp
Z2h0KCksIHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9wYXJlbnRTdHlsZSk7Ci0gICAg
ICAgICAgICBMZW5ndGggYm90dG9tID0gY29udmVydFRvSW50TGVuZ3RoKHJlZ2lvbi0+Ym90dG9t
KCksIHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9wYXJlbnRTdHlsZSk7Ci0gICAgICAg
ICAgICBMZW5ndGggbGVmdCA9IGNvbnZlcnRUb0ludExlbmd0aChyZWdpb24tPmxlZnQoKSwgc3R5
bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCBtX3BhcmVudFN0eWxlKTsKKyAgICAgICAgICAgIExl
bmd0aCB0b3AgPSBjb252ZXJ0VG9JbnRMZW5ndGgocmVnaW9uLT50b3AoKSwgc3R5bGUoKSwgbV9y
b290RWxlbWVudFN0eWxlKTsKKyAgICAgICAgICAgIExlbmd0aCByaWdodCA9IGNvbnZlcnRUb0lu
dExlbmd0aChyZWdpb24tPnJpZ2h0KCksIHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSk7Cisg
ICAgICAgICAgICBMZW5ndGggYm90dG9tID0gY29udmVydFRvSW50TGVuZ3RoKHJlZ2lvbi0+Ym90
dG9tKCksIHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSk7CisgICAgICAgICAgICBMZW5ndGgg
bGVmdCA9IGNvbnZlcnRUb0ludExlbmd0aChyZWdpb24tPmxlZnQoKSwgc3R5bGUoKSwgbV9yb290
RWxlbWVudFN0eWxlKTsKIAogICAgICAgICAgICAgaWYgKHRvcC5pc1VuZGVmaW5lZCgpKQogICAg
ICAgICAgICAgICAgIHRvcCA9IExlbmd0aCgpOwpAQCAtMzkwNSwxMSArMzkwNSwxMSBAQCB2b2lk
IFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUq
IHZhbHVlKQogICAgICAgICAgICAgICAgIHJlc3VsdCAqPSAzOwogICAgICAgICAgICAgZWxzZSBp
ZiAocHJpbWl0aXZlVmFsdWUtPmdldElkZW50KCkgPT0gQ1NTVmFsdWVUaGljaykKICAgICAgICAg
ICAgICAgICByZXN1bHQgKj0gNTsKLSAgICAgICAgICAgIHdpZHRoID0gQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZShyZXN1bHQsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TKS0+Y29tcHV0ZUxl
bmd0aDxmbG9hdD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCBtX3BhcmVudFN0eWxlLCB6
b29tRmFjdG9yKTsKKyAgICAgICAgICAgIHdpZHRoID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0
ZShyZXN1bHQsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TKS0+Y29tcHV0ZUxlbmd0aDxmbG9h
dD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB3aWR0aCA9
IHByaW1pdGl2ZVZhbHVlLT5jb21wdXRlTGVuZ3RoPGZsb2F0PihzdHlsZSgpLCBtX3Jvb3RFbGVt
ZW50U3R5bGUsIG1fcGFyZW50U3R5bGUsIHpvb21GYWN0b3IpOworICAgICAgICAgICAgd2lkdGgg
PSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxmbG9hdD4oc3R5bGUoKSwgbV9yb290RWxl
bWVudFN0eWxlLCB6b29tRmFjdG9yKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIG1fc3R5bGUtPnNldFRleHRTdHJva2VXaWR0aCh3aWR0aCk7CkBAIC0zOTE4LDcgKzM5
MTgsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBp
ZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm06
IHsKICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodHJhbnNmb3JtLCBUcmFuc2Zv
cm0pOwogICAgICAgICBUcmFuc2Zvcm1PcGVyYXRpb25zIG9wZXJhdGlvbnM7Ci0gICAgICAgIGNy
ZWF0ZVRyYW5zZm9ybU9wZXJhdGlvbnModmFsdWUsIHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHls
ZSwgbV9wYXJlbnRTdHlsZSwgb3BlcmF0aW9ucyk7CisgICAgICAgIGNyZWF0ZVRyYW5zZm9ybU9w
ZXJhdGlvbnModmFsdWUsIHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgb3BlcmF0aW9ucyk7
CiAgICAgICAgIG1fc3R5bGUtPnNldFRyYW5zZm9ybShvcGVyYXRpb25zKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KQEAgLTM5MzUsMTAgKzM5MzUsMTAgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjph
cHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKIAogICAgICAg
ICBmbG9hdCBwZXJzcGVjdGl2ZVZhbHVlOwogICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUtPmlz
TGVuZ3RoKCkpCi0gICAgICAgICAgICBwZXJzcGVjdGl2ZVZhbHVlID0gcHJpbWl0aXZlVmFsdWUt
PmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9wYXJl
bnRTdHlsZSwgem9vbUZhY3Rvcik7CisgICAgICAgICAgICBwZXJzcGVjdGl2ZVZhbHVlID0gcHJp
bWl0aXZlVmFsdWUtPmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRT
dHlsZSwgem9vbUZhY3Rvcik7CiAgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLT5pc051
bWJlcigpKSB7CiAgICAgICAgICAgICAvLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdHJl
YXQgdmFsdWVsZXNzIG51bWJlcnMgYXMgcHguCi0gICAgICAgICAgICBwZXJzcGVjdGl2ZVZhbHVl
ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFs
dWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCktPmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KHN0
eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbV9wYXJlbnRTdHlsZSwgem9vbUZhY3Rvcik7Cisg
ICAgICAgICAgICBwZXJzcGVjdGl2ZVZhbHVlID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShw
cmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19Q
WCktPmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgem9v
bUZhY3Rvcik7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC00ODE0
LDcgKzQ4MTQsNyBAQCBzdGF0aWMgVHJhbnNmb3JtT3BlcmF0aW9uOjpPcGVyYXRpb25UeXBlIGdl
dFRyYW5zZm9ybU9wZXJhdGlvblR5cGUoV2ViS2l0Q1NTVHJhbgogICAgIHJldHVybiBUcmFuc2Zv
cm1PcGVyYXRpb246Ok5PTkU7CiB9CiAKLWJvb2wgU3R5bGVSZXNvbHZlcjo6Y3JlYXRlVHJhbnNm
b3JtT3BlcmF0aW9ucyhDU1NWYWx1ZSogaW5WYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIFRyYW5zZm9ybU9w
ZXJhdGlvbnMmIG91dE9wZXJhdGlvbnMpCitib29sIFN0eWxlUmVzb2x2ZXI6OmNyZWF0ZVRyYW5z
Zm9ybU9wZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVu
ZGVyU3R5bGUqIHJvb3RTdHlsZSwgVHJhbnNmb3JtT3BlcmF0aW9ucyYgb3V0T3BlcmF0aW9ucykK
IHsKICAgICBpZiAoIWluVmFsdWUgfHwgIWluVmFsdWUtPmlzVmFsdWVMaXN0KCkpIHsKICAgICAg
ICAgb3V0T3BlcmF0aW9ucy5jbGVhcigpOwpAQCAtNDg5OCwxMyArNDg5OCwxMyBAQCBib29sIFN0
eWxlUmVzb2x2ZXI6OmNyZWF0ZVRyYW5zZm9ybU9wZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUs
IFJlbmRlclN0eWxlKiBzdAogICAgICAgICAgICAgTGVuZ3RoIHR4ID0gTGVuZ3RoKDAsIEZpeGVk
KTsKICAgICAgICAgICAgIExlbmd0aCB0eSA9IExlbmd0aCgwLCBGaXhlZCk7CiAgICAgICAgICAg
ICBpZiAodHJhbnNmb3JtVmFsdWUtPm9wZXJhdGlvblR5cGUoKSA9PSBXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZTo6VHJhbnNsYXRlWVRyYW5zZm9ybU9wZXJhdGlvbikKLSAgICAgICAgICAgICAgICB0
eSA9IGNvbnZlcnRUb0Zsb2F0TGVuZ3RoKGZpcnN0VmFsdWUsIHN0eWxlLCByb290U3R5bGUsIHBh
cmVudFN0eWxlLCB6b29tRmFjdG9yKTsKKyAgICAgICAgICAgICAgICB0eSA9IGNvbnZlcnRUb0Zs
b2F0TGVuZ3RoKGZpcnN0VmFsdWUsIHN0eWxlLCByb290U3R5bGUsIHpvb21GYWN0b3IpOwogICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgdHggPSBjb252ZXJ0VG9GbG9hdExlbmd0
aChmaXJzdFZhbHVlLCBzdHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgem9vbUZhY3Rvcik7
CisgICAgICAgICAgICAgICAgdHggPSBjb252ZXJ0VG9GbG9hdExlbmd0aChmaXJzdFZhbHVlLCBz
dHlsZSwgcm9vdFN0eWxlLCB6b29tRmFjdG9yKTsKICAgICAgICAgICAgICAgICBpZiAodHJhbnNm
b3JtVmFsdWUtPm9wZXJhdGlvblR5cGUoKSAhPSBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZTo6VHJh
bnNsYXRlWFRyYW5zZm9ybU9wZXJhdGlvbikgewogICAgICAgICAgICAgICAgICAgICBpZiAodHJh
bnNmb3JtVmFsdWUtPmxlbmd0aCgpID4gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgQ1NT
UHJpbWl0aXZlVmFsdWUqIHNlY29uZFZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWUqPih0cmFuc2Zvcm1WYWx1ZS0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygxKSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB0eSA9IGNvbnZlcnRUb0Zsb2F0TGVuZ3RoKHNlY29uZFZhbHVlLCBz
dHlsZSwgcm9vdFN0eWxlLCBwYXJlbnRTdHlsZSwgem9vbUZhY3Rvcik7CisgICAgICAgICAgICAg
ICAgICAgICAgICB0eSA9IGNvbnZlcnRUb0Zsb2F0TGVuZ3RoKHNlY29uZFZhbHVlLCBzdHlsZSwg
cm9vdFN0eWxlLCB6b29tRmFjdG9yKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTQ5MjEsMTkgKzQ5MjEsMTkgQEAgYm9vbCBTdHls
ZVJlc29sdmVyOjpjcmVhdGVUcmFuc2Zvcm1PcGVyYXRpb25zKENTU1ZhbHVlKiBpblZhbHVlLCBS
ZW5kZXJTdHlsZSogc3QKICAgICAgICAgICAgIExlbmd0aCB0eSA9IExlbmd0aCgwLCBGaXhlZCk7
CiAgICAgICAgICAgICBMZW5ndGggdHogPSBMZW5ndGgoMCwgRml4ZWQpOwogICAgICAgICAgICAg
aWYgKHRyYW5zZm9ybVZhbHVlLT5vcGVyYXRpb25UeXBlKCkgPT0gV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWU6OlRyYW5zbGF0ZVpUcmFuc2Zvcm1PcGVyYXRpb24pCi0gICAgICAgICAgICAgICAgdHog
PSBjb252ZXJ0VG9GbG9hdExlbmd0aChmaXJzdFZhbHVlLCBzdHlsZSwgcm9vdFN0eWxlLCBwYXJl
bnRTdHlsZSwgem9vbUZhY3Rvcik7CisgICAgICAgICAgICAgICAgdHogPSBjb252ZXJ0VG9GbG9h
dExlbmd0aChmaXJzdFZhbHVlLCBzdHlsZSwgcm9vdFN0eWxlLCB6b29tRmFjdG9yKTsKICAgICAg
ICAgICAgIGVsc2UgaWYgKHRyYW5zZm9ybVZhbHVlLT5vcGVyYXRpb25UeXBlKCkgPT0gV2ViS2l0
Q1NTVHJhbnNmb3JtVmFsdWU6OlRyYW5zbGF0ZVlUcmFuc2Zvcm1PcGVyYXRpb24pCi0gICAgICAg
ICAgICAgICAgdHkgPSBjb252ZXJ0VG9GbG9hdExlbmd0aChmaXJzdFZhbHVlLCBzdHlsZSwgcm9v
dFN0eWxlLCBwYXJlbnRTdHlsZSwgem9vbUZhY3Rvcik7CisgICAgICAgICAgICAgICAgdHkgPSBj
b252ZXJ0VG9GbG9hdExlbmd0aChmaXJzdFZhbHVlLCBzdHlsZSwgcm9vdFN0eWxlLCB6b29tRmFj
dG9yKTsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIHR4ID0gY29udmVydFRv
RmxvYXRMZW5ndGgoZmlyc3RWYWx1ZSwgc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIHpv
b21GYWN0b3IpOworICAgICAgICAgICAgICAgIHR4ID0gY29udmVydFRvRmxvYXRMZW5ndGgoZmly
c3RWYWx1ZSwgc3R5bGUsIHJvb3RTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgICAgICAgICAgICAg
aWYgKHRyYW5zZm9ybVZhbHVlLT5vcGVyYXRpb25UeXBlKCkgIT0gV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWU6OlRyYW5zbGF0ZVhUcmFuc2Zvcm1PcGVyYXRpb24pIHsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHRyYW5zZm9ybVZhbHVlLT5sZW5ndGgoKSA+IDIpIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiB0aGlyZFZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWUqPih0cmFuc2Zvcm1WYWx1ZS0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygyKSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB0eiA9IGNvbnZlcnRUb0Zsb2F0TGVuZ3RoKHRoaXJk
VmFsdWUsIHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCB6b29tRmFjdG9yKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHR6ID0gY29udmVydFRvRmxvYXRMZW5ndGgodGhpcmRWYWx1ZSwg
c3R5bGUsIHJvb3RTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgaWYgKHRyYW5zZm9ybVZhbHVlLT5sZW5ndGgoKSA+IDEpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBzZWNvbmRWYWx1ZSA9IHN0
YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odHJhbnNmb3JtVmFsdWUtPml0ZW1XaXRob3V0
Qm91bmRzQ2hlY2soMSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgdHkgPSBjb252ZXJ0VG9G
bG9hdExlbmd0aChzZWNvbmRWYWx1ZSwgc3R5bGUsIHJvb3RTdHlsZSwgcGFyZW50U3R5bGUsIHpv
b21GYWN0b3IpOworICAgICAgICAgICAgICAgICAgICAgICAgdHkgPSBjb252ZXJ0VG9GbG9hdExl
bmd0aChzZWNvbmRWYWx1ZSwgc3R5bGUsIHJvb3RTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC01MDM2
LDcgKzUwMzYsNyBAQCBib29sIFN0eWxlUmVzb2x2ZXI6OmNyZWF0ZVRyYW5zZm9ybU9wZXJhdGlv
bnMoQ1NTVmFsdWUqIGluVmFsdWUsIFJlbmRlclN0eWxlKiBzdAogICAgICAgICBjYXNlIFdlYktp
dENTU1RyYW5zZm9ybVZhbHVlOjpQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbjogewogICAg
ICAgICAgICAgTGVuZ3RoIHAgPSBMZW5ndGgoMCwgRml4ZWQpOwogICAgICAgICAgICAgaWYgKGZp
cnN0VmFsdWUtPmlzTGVuZ3RoKCkpCi0gICAgICAgICAgICAgICAgcCA9IGNvbnZlcnRUb0Zsb2F0
TGVuZ3RoKGZpcnN0VmFsdWUsIHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlLCB6b29tRmFj
dG9yKTsKKyAgICAgICAgICAgICAgICBwID0gY29udmVydFRvRmxvYXRMZW5ndGgoZmlyc3RWYWx1
ZSwgc3R5bGUsIHJvb3RTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgICAgICAgICBlbHNlIHsKICAg
ICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgcXVpcmsgdGhhdCBzaG91bGQgZ28gYXdheSB3aGVu
IDNkIHRyYW5zZm9ybXMgYXJlIGZpbmFsaXplZC4KICAgICAgICAgICAgICAgICBkb3VibGUgdmFs
ID0gZmlyc3RWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKQEAgLTU0MDAsNyArNTQwMCw3IEBAIGJv
b2wgU3R5bGVSZXNvbHZlcjo6Y3JlYXRlRmlsdGVyT3BlcmF0aW9ucyhDU1NWYWx1ZSogaW5WYWx1
ZSwgUmVuZGVyU3R5bGUqIHN0eWxlCiAgICAgICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyVmFsdWU6
OkJsdXJGaWx0ZXJPcGVyYXRpb246IHsKICAgICAgICAgICAgIExlbmd0aCBzdGREZXZpYXRpb24g
PSBMZW5ndGgoMCwgRml4ZWQpOwogICAgICAgICAgICAgaWYgKGZpbHRlclZhbHVlLT5sZW5ndGgo
KSA+PSAxKQotICAgICAgICAgICAgICAgIHN0ZERldmlhdGlvbiA9IGNvbnZlcnRUb0Zsb2F0TGVu
Z3RoKGZpcnN0VmFsdWUsIHN0eWxlLCByb290U3R5bGUsIHBhcmVudFN0eWxlKCksIHpvb21GYWN0
b3IpOworICAgICAgICAgICAgICAgIHN0ZERldmlhdGlvbiA9IGNvbnZlcnRUb0Zsb2F0TGVuZ3Ro
KGZpcnN0VmFsdWUsIHN0eWxlLCByb290U3R5bGUsIHpvb21GYWN0b3IpOwogICAgICAgICAgICAg
aWYgKHN0ZERldmlhdGlvbi5pc1VuZGVmaW5lZCgpKQogICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIApAQCAtNTQxNiw5ICs1NDE2LDkgQEAgYm9vbCBTdHlsZVJlc29sdmVyOjpjcmVhdGVG
aWx0ZXJPcGVyYXRpb25zKENTU1ZhbHVlKiBpblZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUKICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgU2hhZG93VmFsdWUqIGl0ZW0g
PSBzdGF0aWNfY2FzdDxTaGFkb3dWYWx1ZSo+KGNzc1ZhbHVlKTsKLSAgICAgICAgICAgIEludFBv
aW50IGxvY2F0aW9uKGl0ZW0tPngtPmNvbXB1dGVMZW5ndGg8aW50PihzdHlsZSwgcm9vdFN0eWxl
LCBtX3BhcmVudFN0eWxlLCB6b29tRmFjdG9yKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGl0ZW0tPnktPmNvbXB1dGVMZW5ndGg8aW50PihzdHlsZSwgcm9vdFN0eWxlLCBtX3BhcmVu
dFN0eWxlLCB6b29tRmFjdG9yKSk7Ci0gICAgICAgICAgICBpbnQgYmx1ciA9IGl0ZW0tPmJsdXIg
PyBpdGVtLT5ibHVyLT5jb21wdXRlTGVuZ3RoPGludD4oc3R5bGUsIHJvb3RTdHlsZSwgbV9wYXJl
bnRTdHlsZSwgem9vbUZhY3RvcikgOiAwOworICAgICAgICAgICAgSW50UG9pbnQgbG9jYXRpb24o
aXRlbS0+eC0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHN0eWxlLCByb290U3R5bGUsIHpvb21GYWN0b3Ip
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS0+eS0+Y29tcHV0ZUxlbmd0aDxp
bnQ+KHN0eWxlLCByb290U3R5bGUsIHpvb21GYWN0b3IpKTsKKyAgICAgICAgICAgIGludCBibHVy
ID0gaXRlbS0+Ymx1ciA/IGl0ZW0tPmJsdXItPmNvbXB1dGVMZW5ndGg8aW50PihzdHlsZSwgcm9v
dFN0eWxlLCB6b29tRmFjdG9yKSA6IDA7CiAgICAgICAgICAgICBDb2xvciBjb2xvcjsKICAgICAg
ICAgICAgIGlmIChpdGVtLT5jb2xvcikKICAgICAgICAgICAgICAgICBjb2xvciA9IGNvbG9yRnJv
bVByaW1pdGl2ZVZhbHVlKGl0ZW0tPmNvbG9yLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5oCmluZGV4IDc0OGZkYTY2OTlmOGI5NWRjZDk5ODVlYjAxMjIwOWJlNzM5ODBmYWYuLjQ4
NDNlYjUzYTk5OWYyYTBlMzIxNDExMWM5Nzc4MjMyZDY5YTA0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaApAQCAtMTU2LDggKzE1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVm
ZmVjdGl2ZVpvb20oZmxvYXQgZikgeyBtX2ZvbnREaXJ0eSB8PSBzdHlsZSgpLT5zZXRFZmZlY3Rp
dmVab29tKGYpOyB9CiAgICAgdm9pZCBzZXRUZXh0U2l6ZUFkanVzdChib29sIGIpIHsgbV9mb250
RGlydHkgfD0gc3R5bGUoKS0+c2V0VGV4dFNpemVBZGp1c3QoYik7IH0KICAgICBib29sIGhhc1Bh
cmVudE5vZGUoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudE5vZGU7IH0KLSAgICBDb250YWluZXJO
b2RlKiBwYXJlbnROb2RlKCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnROb2RlOyB9Ci0KKyAgICAK
ICAgICB2b2lkIGFwcGVuZEF1dGhvclN0eWxlc2hlZXRzKHVuc2lnbmVkIGZpcnN0TmV3LCBjb25z
dCBWZWN0b3I8UmVmUHRyPFN0eWxlU2hlZXQ+ID4mKTsKICAgICAKICAgICAvLyBGaW5kIHRoZSBp
ZHMgb3IgY2xhc3NlcyB0aGUgc2VsZWN0b3JzIG9uIGEgc3R5bGVzaGVldCBhcmUgc2NvcGVkIHRv
LiBUaGUgc2VsZWN0b3JzIG9ubHkgYXBwbHkgdG8gZWxlbWVudHMgaW4gc3VidHJlZXMgd2hlcmUg
dGhlIHJvb3QgZWxlbWVudCBtYXRjaGVzIHRoZSBzY29wZS4KQEAgLTI0NSw3ICsyNDQsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCB1c2VzQmVmb3JlQWZ0ZXJSdWxlcygpIGNvbnN0IHsgcmV0dXJuIG1f
ZmVhdHVyZXMudXNlc0JlZm9yZUFmdGVyUnVsZXM7IH0KICAgICBib29sIHVzZXNMaW5rUnVsZXMo
KSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVzLnVzZXNMaW5rUnVsZXM7IH0KIAotICAgIHN0YXRp
YyBib29sIGNyZWF0ZVRyYW5zZm9ybU9wZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUsIFJlbmRl
clN0eWxlKiBpblN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHlsZSogcGFy
ZW50U3R5bGUsIFRyYW5zZm9ybU9wZXJhdGlvbnMmIG91dE9wZXJhdGlvbnMpOworICAgIHN0YXRp
YyBib29sIGNyZWF0ZVRyYW5zZm9ybU9wZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUsIFJlbmRl
clN0eWxlKiBpblN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBUcmFuc2Zvcm1PcGVyYXRp
b25zJiBvdXRPcGVyYXRpb25zKTsKICAgICAKICAgICB2b2lkIGludmFsaWRhdGVNYXRjaGVkUHJv
cGVydGllc0NhY2hlKCk7CiAgICAgCkBAIC00MTAsOCArNDA5LDggQEAgcHVibGljOgogICAgIGJv
b2wgYXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVBy
b3BlcnR5VG9SZWd1bGFyU3R5bGU7IH0KICAgICBib29sIGFwcGx5UHJvcGVydHlUb1Zpc2l0ZWRM
aW5rU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5rU3R5
bGU7IH0KIAotICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvSW50TGVuZ3RoKENTU1ByaW1pdGl2
ZVZhbHVlKiwgUmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBSZW5kZXJTdHls
ZSogcGFyZW50U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSk7Ci0gICAgc3RhdGljIExlbmd0
aCBjb252ZXJ0VG9GbG9hdExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSosIFJlbmRlclN0eWxlKiwg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlLCBkb3VibGUg
bXVsdGlwbGllciA9IDEpOworICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvSW50TGVuZ3RoKENT
U1ByaW1pdGl2ZVZhbHVlKiwgUmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBk
b3VibGUgbXVsdGlwbGllciA9IDEpOworICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvRmxvYXRM
ZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqLCBSZW5kZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290
U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSk7CiAKICAgICBDU1NUb1N0eWxlTWFwKiBzdHls
ZU1hcCgpIHsgcmV0dXJuICZtX3N0eWxlTWFwOyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NNYXRyaXguY3BwCmluZGV4IDg3MjIzNmI2ZWM3ZmRjZDhjZjhjNzcxY2I2NGRiNzY4MDdl
MDVlMTEuLjkyYmZjZTM1NDgyMTJhOTQxYTgyODM5YWViYjhhYmUxMTlhM2I5NjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgV2Vi
S2l0Q1NTTWF0cml4OjpzZXRNYXRyaXhWYWx1ZShjb25zdCBTdHJpbmcmIHN0cmluZywgRXhjZXB0
aW9uQ29kZSYgZWMpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgVHJhbnNmb3JtT3Bl
cmF0aW9ucyBvcGVyYXRpb25zOwotICAgICAgICBpZiAoIVN0eWxlUmVzb2x2ZXI6OmNyZWF0ZVRy
YW5zZm9ybU9wZXJhdGlvbnModmFsdWUuZ2V0KCksIDAsIDAsIDAsIG9wZXJhdGlvbnMpKSB7Cisg
ICAgICAgIGlmICghU3R5bGVSZXNvbHZlcjo6Y3JlYXRlVHJhbnNmb3JtT3BlcmF0aW9ucyh2YWx1
ZS5nZXQoKSwgMCwgMCwgb3BlcmF0aW9ucykpIHsKICAgICAgICAgICAgIGVjID0gU1lOVEFYX0VS
UjsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE2MmQ5OGRkNDM1NzZh
NjJkODVjMzQ2NWY1ODQ0N2M4MWNkN2M2NDguLmY3YmVmZGUxNmI5ZjhiMDM2Y2Y3Njc5NmUzN2Mz
OTU5ZmFhNDhhYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0wNi0yNiAgU2hlcmlmZiBC
b3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjEyMTI4NS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMTIxMjg1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDAxNAorCisgICAgICAgICJXZSBtaXNpbnRlcnByZXRlZCAnc2l6ZSBvZiB0aGUgaW5p
dGlhbCBjb250YWluaW5nIGJsb2NrJyIKKyAgICAgICAgKFJlcXVlc3RlZCBieSB0b216IG9uICN3
ZWJraXQpLgorCisgICAgICAgICogY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3Nz
My12aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtdmgtYm9yZGVyLWV4cGVjdGVkLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3NzMy12
aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtdmgtYm9yZGVyLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3NzMy12aWV3cG9ydC1wZXJj
ZW50YWdlLWxlbmd0aHMtdm1pbi1ib3JkZXItZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBjc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9jc3MzLXZpZXdwb3J0LXBlcmNl
bnRhZ2UtbGVuZ3Rocy12bWluLWJvcmRlci5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGNzczMv
dmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL2NzczMtdmlld3BvcnQtcGVyY2VudGFnZS1sZW5n
dGhzLXZ3LWJvcmRlci1leHBlY3RlZC5odG06IFJlbW92ZWQuCisgICAgICAgICogY3NzMy92aWV3
cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3NzMy12aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMt
dnctYm9yZGVyLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaWV0ZXN0Y2VudGVyL2NzczMvdmFs
dWVzYW5kdW5pdHMvdW5pdHMtMDAwLmh0bToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RF
eHBlY3RhdGlvbnM6CisKIDIwMTItMDYtMjYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQ29udmVydCBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS0zOTU5NDY0LWZp
eC5odG1sLCBkZWxldGUtYXQtcGFyYWdyYXBoLWJvdW5kYXJpZXMtMDAxLmh0bWwsIG1lcmdlLWlu
dG8tZW1wdHktYmxvY2stMS5odG1sIGFuZCBtZXJnZS1pbnRvLWVtcHR5LWJsb2NrLTIuaHRtbCB0
byBkdW1wLWFzLW1hcmt1cCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3
cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3NzMy12aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMt
dmgtYm9yZGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNl
bnRhZ2UtbGVuZ3Rocy9jc3MzLXZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy12aC1ib3JkZXIt
ZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFkZWRmZGI2NWJi
NDMzODA0MGQzYzg2NjA5Y2RjOGUzYTg1OWU4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2Ut
bGVuZ3Rocy9jc3MzLXZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy12aC1ib3JkZXItZXhwZWN0
ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLe+7vzwhRE9DVFlQRSBodG1s
IFBVQkxJQyAiLS8vVzNDLy9EVEQvL1hIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53
My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Ci08aHRtbCB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDx0aXRsZT5D
U1MgVGVzdDogdmggdW5pdCAtIFJlZmVyZW5jZTwvdGl0bGU+Ci0gICAgICAgIDxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iQ29kZWF1cm9yYSIgaHJlZj0iaHR0cDovL3d3dy5jb2RlYXVyb3JhLm9y
Zy8iIC8+Ci0gICAgICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcv
VFIvQ1NTMjEvIiAvPgotICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgICAgICAg
ICAgYm9keSBkaXYKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmb250OiAxNnB4LzFl
bSBhaGVtOwotICAgICAgICAgICAgICAgIGNvbG9yOiBncmVlbjsKLSAgICAgICAgICAgICAgICBo
ZWlnaHQ6IDE2cHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAjcGFyZW50Ci0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZ3JlZW47Ci0gICAgICAgICAgICAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOwotICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47
Ci0gICAgICAgICAgICAgICAgd2lkdGg6IDFpbjsKLSAgICAgICAgICAgICAgICBoZWlnaHQ6IDFp
bjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zdHlsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPGJv
ZHk+Ci0gICAgICAgIDxwPlRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIHJlZCB2aXNpYmxlIG9u
IHRoZSBwYWdlLjwvcD4KLSAgICAgICAgPGRpdiBpZD0icGFyZW50Ij4KLSAgICAgICAgPC9kaXY+
Ci0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3
cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3NzMy12aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMt
dmgtYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVu
Z3Rocy9jc3MzLXZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy12aC1ib3JkZXIuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQwNTY0YzRiMTBlMGYwMDcwZTNmZTk4ODZiMDU4
MDU5MWRlYTQ4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9jc3MzLXZpZXdw
b3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy12aC1ib3JkZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDQ0ICswLDAgQEAKLe+7vzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQvL1hIVE1M
IDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEt
c3RyaWN0LmR0ZCI+Ci08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+
Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDx0aXRsZT5DU1MgVGVzdDogdmggdW5pdDwvdGl0bGU+Ci0g
ICAgICAgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iQ29kZWF1cm9yYSIgaHJlZj0iaHR0cDov
L3d3dy5jb2RlYXVyb3JhLm9yZy8iIC8+Ci0gICAgICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvIiAvPgotICAgICAgICA8bWV0YSBuYW1lPSJhc3Nl
cnQiIGNvbnRlbnQ9IlZlcmlmeWluZyB2aCB1bml0IHZhbHVlcyBhcmUgc3VwcG9ydGVkLiIgLz4K
LSAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLSAgICAgICAgICAgIGJvZHkgZGl2Ci0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZm9udDogMTZweC8xZW0gYWhlbTsKLSAgICAg
ICAgICAgICAgICBjb2xvcjogZ3JlZW47Ci0gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4Owot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgI3BhcmVudAotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIGJhY2tncm91bmQ6IHJlZDsKLSAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVs
YXRpdmU7Ci0gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICAgICAgICAgICAg
ICB3aWR0aDogMWluOwotICAgICAgICAgICAgICAgIGhlaWdodDogMWluOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgI2Rpdi12aAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGJv
cmRlci1yaWdodDogc29saWQgZ3JlZW4gMTAwdmg7Ci0gICAgICAgICAgICAgICAgaGVpZ2h0OiAx
NnB4OwotICAgICAgICAgICAgICAgIHdpZHRoOiAwOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgI2Rpdi1maWxsCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgYmFja2dyb3VuZDog
Z3JlZW47Ci0gICAgICAgICAgICAgICAgd2lkdGg6IDFpbjsKLSAgICAgICAgICAgICAgICBoZWln
aHQ6IDgwcHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIDwvc3R5bGU+Ci0gICAgPC9oZWFkPgot
ICAgIDxib2R5PgotICAgICAgICA8cD5UZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBubyByZWQgdmlz
aWJsZSBvbiB0aGUgcGFnZS48L3A+Ci0gICAgICAgIDxkaXYgaWQ9InBhcmVudCI+Ci0gICAgICAg
ICAgICA8ZGl2IGlkPSJkaXYtdmgiPjwvZGl2PgotICAgICAgICAgICAgPGRpdiBpZD0iZGl2LWZp
bGwiPjwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9jc3MzLXZp
ZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy12bWluLWJvcmRlci1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3NzMy12aWV3cG9ydC1w
ZXJjZW50YWdlLWxlbmd0aHMtdm1pbi1ib3JkZXItZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzFjMGI5YjYxMzNlMmU1MmY3NDQ1NWFiODM3MDNhOGFlMGM5OTNk
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9jc3MzLXZpZXdwb3J0LXBlcmNl
bnRhZ2UtbGVuZ3Rocy12bWluLWJvcmRlci1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjkgKzAsMCBAQAot77u/PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURC8vWEhU
TUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1s
MS1zdHJpY3QuZHRkIj4KLTxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
Ij4KLSAgICA8aGVhZD4KLSAgICAgICAgPHRpdGxlPkNTUyBUZXN0OiB2bWluIHVuaXQgLSBSZWZl
cmVuY2U8L3RpdGxlPgotICAgICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkNvZGVhdXJv
cmEiIGhyZWY9Imh0dHA6Ly93d3cuY29kZWF1cm9yYS5vcmcvIiAvPgotICAgICAgICA8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxLyIgLz4KLSAgICAgICAg
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLSAgICAgICAgICAgIGJvZHkgZGl2Ci0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgZm9udDogMTZweC8xZW0gYWhlbTsKLSAgICAgICAgICAgICAg
ICBjb2xvcjogZ3JlZW47Ci0gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4OwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgI3BhcmVudAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGJhY2tncm91bmQ6IGdyZWVuOwotICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
LSAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgICAgICAgICAgICAgIHdpZHRo
OiAxaW47Ci0gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMTJweDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgPC9zdHlsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0gICAgICAgIDxwPlRlc3Qg
cGFzc2VzIGlmIHRoZXJlIGlzIG5vIHJlZCB2aXNpYmxlIG9uIHRoZSBwYWdlLjwvcD4KLSAgICAg
ICAgPGRpdiBpZD0icGFyZW50Ij4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0
aHMvY3NzMy12aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMtdm1pbi1ib3JkZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL2NzczMtdmlld3BvcnQt
cGVyY2VudGFnZS1sZW5ndGhzLXZtaW4tYm9yZGVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDlhY2UwMjdkYWFlMzNjOGUyNjcyMTQxMDdkZjQ4OTQ1Mzc4MDA4ZDQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvY3Nz
My92aWV3cG9ydC1wZXJjZW50YWdlLWxlbmd0aHMvY3NzMy12aWV3cG9ydC1wZXJjZW50YWdlLWxl
bmd0aHMtdm1pbi1ib3JkZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLe+7
vzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQvL1hIVE1MIDEuMCBTdHJpY3QvL0VO
IiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Ci08
aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Ci0gICAgPGhlYWQ+Ci0g
ICAgICAgIDx0aXRsZT5DU1MgVGVzdDogdm1pbiB1bml0PC90aXRsZT4KLSAgICAgICAgPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJDb2RlYXVyb3JhIiBocmVmPSJodHRwOi8vd3d3LmNvZGVhdXJv
cmEub3JnLyIgLz4KLSAgICAgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9DU1MyMS8iIC8+Ci0gICAgICAgIDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0i
VmVyaWZ5aW5nIHZtaW4gdW5pdCB2YWx1ZXMgYXJlIHN1cHBvcnRlZC4iIC8+Ci0gICAgICAgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci0gICAgICAgICAgICBib2R5IGRpdgotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIGZvbnQ6IDE2cHgvMWVtIGFoZW07Ci0gICAgICAgICAgICAgICAg
Y29sb3I6IGdyZWVuOwotICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICNwYXJlbnQKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBi
YWNrZ3JvdW5kOiByZWQ7Ci0gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwotICAg
ICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47Ci0gICAgICAgICAgICAgICAgd2lkdGg6IDFp
bjsKLSAgICAgICAgICAgICAgICBoZWlnaHQ6IDExMnB4OwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgI2Rpdi12aAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGJvcmRlci1yaWdo
dDogc29saWQgZ3JlZW4gMTAwdm1pbjsKLSAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7Ci0g
ICAgICAgICAgICAgICAgd2lkdGg6IDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAjZGl2
LWZpbGwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBncmVlbjsK
LSAgICAgICAgICAgICAgICB3aWR0aDogMWluOwotICAgICAgICAgICAgICAgIGhlaWdodDogOTZw
eDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgPC9zdHlsZT4KLSAgICA8L2hlYWQ+Ci0gICAgPGJv
ZHk+Ci0gICAgICAgIDxwPlRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIHJlZCB2aXNpYmxlIG9u
IHRoZSBwYWdlLjwvcD4KLSAgICAgICAgPGRpdiBpZD0icGFyZW50Ij4KLSAgICAgICAgICAgIDxk
aXYgaWQ9ImRpdi12aCI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2IGlkPSJkaXYtZmlsbCI+PC9k
aXY+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL2NzczMtdmlld3BvcnQt
cGVyY2VudGFnZS1sZW5ndGhzLXZ3LWJvcmRlci1leHBlY3RlZC5odG0gYi9MYXlvdXRUZXN0cy9j
c3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9jc3MzLXZpZXdwb3J0LXBlcmNlbnRhZ2Ut
bGVuZ3Rocy12dy1ib3JkZXItZXhwZWN0ZWQuaHRtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA5ZDg3YmI4ZjNjMTc3MmFmZDM3YjViZWU2M2ZmNDVlYmNhZTdhNWJlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NzczMvdmll
d3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzL2NzczMtdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhz
LXZ3LWJvcmRlci1leHBlY3RlZC5odG0KKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi3v
u788IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFRELy9YSFRNTCAxLjAgU3RyaWN0Ly9F
TiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgot
PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgotICAgIDxoZWFkPgot
ICAgICAgICA8dGl0bGU+Q1NTIFRlc3Q6IHZ3IHVuaXQgLSBSZWZlcmVuY2U8L3RpdGxlPgotICAg
ICAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkNvZGVhdXJvcmEiIGhyZWY9Imh0dHA6Ly93
d3cuY29kZWF1cm9yYS5vcmcvIiAvPgotICAgICAgICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxLyIgLz4KLSAgICAgICAgPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KLSAgICAgICAgICAgIGJvZHkgZGl2Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgZm9udDogMTZweC8xZW0gYWhlbTsKLSAgICAgICAgICAgICAgICBjb2xvcjogZ3JlZW47Ci0g
ICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
I3BhcmVudAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGdyZWVu
OwotICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICAgICAgICAgICAgICBv
dmVyZmxvdzogaGlkZGVuOwotICAgICAgICAgICAgICAgIHdpZHRoOiAxaW47Ci0gICAgICAgICAg
ICAgICAgaGVpZ2h0OiAxNnB4OwotICAgICAgICAgICAgfQotICAgICAgICA8L3N0eWxlPgotICAg
IDwvaGVhZD4KLSAgICA8Ym9keT4KLSAgICAgICAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMg
bm8gcmVkIHZpc2libGUgb24gdGhlIHBhZ2UuPC9wPgotICAgICAgICA8ZGl2IGlkPSJwYXJlbnQi
PgotICAgICAgICA8L2Rpdj4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL3ZpZXdwb3J0LXBlcmNlbnRhZ2UtbGVuZ3Rocy9jc3MzLXZpZXdwb3J0LXBl
cmNlbnRhZ2UtbGVuZ3Rocy12dy1ib3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvdmlld3Bv
cnQtcGVyY2VudGFnZS1sZW5ndGhzL2NzczMtdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXZ3
LWJvcmRlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2Y4NjBjNTMzY2Jm
Yjk1MzNiMzkyYmRlOTlmMGM5NjlhZWNmOTQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2NzczMvdmlld3BvcnQtcGVyY2VudGFnZS1s
ZW5ndGhzL2NzczMtdmlld3BvcnQtcGVyY2VudGFnZS1sZW5ndGhzLXZ3LWJvcmRlci5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAot77u/PCFET0NUWVBFIGh0bWwgUFVCTElDICIt
Ly9XM0MvL0RURC8vWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94
aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KLTxodG1sIHhtbG5zPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hodG1sIj4KLSAgICA8aGVhZD4KLSAgICAgICAgPHRpdGxlPkNTUyBUZXN0OiB2
dyB1bml0PC90aXRsZT4KLSAgICAgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJDb2RlYXVy
b3JhIiBocmVmPSJodHRwOi8vd3d3LmNvZGVhdXJvcmEub3JnLyIgLz4KLSAgICAgICAgPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS8iIC8+Ci0gICAgICAg
IDxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iVmVyaWZ5aW5nIHZ3IHVuaXQgdmFsdWVzIGFy
ZSBzdXBwb3J0ZWQuIiAvPgotICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAgICAg
ICAgICAgYm9keSBkaXYKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmb250OiAxNnB4
LzFlbSBhaGVtOwotICAgICAgICAgICAgICAgIGNvbG9yOiBncmVlbjsKLSAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDE2cHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAjcGFyZW50Ci0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmVkOwotICAgICAgICAgICAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVu
OwotICAgICAgICAgICAgICAgIHdpZHRoOiAxaW47Ci0gICAgICAgICAgICAgICAgaGVpZ2h0OiAx
NnB4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgI2Rpdi12aAotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgZ3JlZW4gMTAwdnc7Ci0gICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxNnB4OwotICAgICAgICAgICAgICAgIHdpZHRoOiAwOwotICAgICAg
ICAgICAgfQotICAgICAgICA8L3N0eWxlPgotICAgIDwvaGVhZD4KLSAgICA8Ym9keT4KLSAgICAg
ICAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gcmVkIHZpc2libGUgb24gdGhlIHBhZ2Uu
PC9wPgotICAgICAgICA8ZGl2IGlkPSJwYXJlbnQiPgotICAgICAgICAgICAgPGRpdiBpZD0iZGl2
LXZoIj48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMt
MDAwLmh0bSBiL0xheW91dFRlc3RzL2lldGVzdGNlbnRlci9jc3MzL3ZhbHVlc2FuZHVuaXRzL3Vu
aXRzLTAwMC5odG0KaW5kZXggZTc2NGM4MjdlZGEyNjAxNjI4ODVkYTgzYTBiMDE4ZWExMTRiM2M2
Mi4uNmQ3OWU5ZWEzNDI3NmM2ZjVlODcwMDljOTdmNGQwYWZlN2U4ZjEzMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMtMDAwLmh0
bQorKysgYi9MYXlvdXRUZXN0cy9pZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0
cy0wMDAuaHRtCkBAIC0xMTksNyArMTE5LDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICNkaXYxMgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29s
aWQgZ3JlZW4gMTAwdm1pbjsKKyAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIGdy
ZWVuIDEwMHZtOwogICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICAgICAgICAg
ICB3aWR0aDogMDsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGRmZGU5OGExNWUwY2I4YWM5OGZmZmM0YWEwZGIx
MTZhYzMzNjI4YTkuLjljYWQ2N2E2NWYxOGE1YTI3MWYyNDU4Y2NmY2Y3NzBiY2QxY2FlOWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MzQ2MSw3ICszNDYxLDggQEAgQlVHV0s4NDc3OCA6IGlldGVzdGNlbnRlci9jc3MzL211bHRpY29s
dW1uL2NvbHVtbi13aWR0aC1uZWdhdGl2ZS0wMDEuaHRtID0gSU1BR0UKIEJVR1dLODUyMTEgOiBp
ZXRlc3RjZW50ZXIvY3NzMy9mbGV4Ym94L2ZsZXhib3gtYWxpZ24tc3RyZXRjaC0wMDEuaHRtID0g
SU1BR0UKIEJVR1dLODUyMTIgOiBpZXRlc3RjZW50ZXIvY3NzMy9mbGV4Ym94L2ZsZXhib3gtbGF5
b3V0LTAwMi5odG0gPSBJTUFHRQogLy8gSUVUQyBDU1MgdW5pdHMKLUJVR1dLODUzMDggOiBpZXRl
c3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wMDAuaHRtID0gSU1BR0UKK0JVR1dL
ODUzMDggREVCVUcgOiBpZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wMDAu
aHRtID0gQ1JBU0gKK0JVR1dLODUzMDggUkVMRUFTRSA6IGlldGVzdGNlbnRlci9jc3MzL3ZhbHVl
c2FuZHVuaXRzL3VuaXRzLTAwMC5odG0gPSBJTUFHRQogQlVHV0s4NTMxMCA6IGlldGVzdGNlbnRl
ci9jc3MzL3ZhbHVlc2FuZHVuaXRzL3VuaXRzLTAxMC5odG0gPSBJTUFHRQogLy8gSUVUQyBuYW1l
c3BhY2UgZmFpbHVyZXMKIEJVR1dLODYxMzcgOiBpZXRlc3RjZW50ZXIvY3NzMy9uYW1lc3BhY2Vz
L3ByZWZpeC0wMDcueG1sID0gSU1BR0UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMWNjYjMxZTg2ZGUzNWY5MzZjNmMzMTEzZTc3ZGY3ZTBjMDNlNzZiYi4u
ZTdkOWI0YmY2YWQzNzU5ODU1YTRhNTQ2MGJjOTc0MzBkNjAwMWFlYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU3Nyw3ICs1NzcsNyBAQCBCVUdXSzg1
OTAyIFNMT1cgREVCVUcgOiBmYXN0L292ZXJmbG93L2xvdHMtb2Ytc2libGluZy1pbmxpbmUtYm94
ZXMuaHRtbCA9IFBBU1MKIEJVR1dLRUZMIFNMT1cgREVCVUcgOiBodHRwL3Rlc3RzL2luY3JlbWVu
dGFsL3Nsb3ctdXRmOC1odG1sLnBsID0gUEFTUwogCiAvLyBUZXN0cyBpbXBvcnRlZCBpbiByMTE2
NjU4Ci1CVUdXSzg1MzA4IDogaWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMt
MDAwLmh0bSA9IElNQUdFCitCVUdXSzg1MzA4IDogaWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5k
dW5pdHMvdW5pdHMtMDAwLmh0bSA9IElNQUdFIENSQVNICiBCVUdXSzg1MzEwIDogaWV0ZXN0Y2Vu
dGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMtMDEwLmh0bSA9IElNQUdFCiAKIC8vIE5ldyB0
ZXN0IGludHJvZHVjZWQgaW4gcjExNjY5NCBmYWlscwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA0ZmQzZjBlOGNlZTU1ZjNkYzY1ZGRmM2I1MWI0MmZlYTFj
MDFiN2RiLi5iOWZmZWQxMjkzNDVlM2E3NmMyODdmNzFmNDE1NzI3MGE2ZWY4ODdiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzU2LDYgKzM1Niw4IEBA
IEJVR1dLODU4MTEgREVCVUcgOiBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtY2xvc2UuaHRtbCA9
IENSQVNIIFBBU1MKIEJVR1dLODY0NDMgOiBwbHVnaW5zL25wcnVudGltZS9kZWxldGUtcGx1Z2lu
LXdpdGhpbi1nZXRQcm9wZXJ0eS5odG1sID0gQ1JBU0gKIEJVR1dLODY0NDMgOiBwbHVnaW5zL25w
cnVudGltZS9kZWxldGUtcGx1Z2luLXdpdGhpbi1pbnZva2UuaHRtbCA9IENSQVNICiAKK0JVR1dL
ODYxNzYgREVCVUcgOiBpZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wMDAu
aHRtID0gQ1JBU0gKKwogQlVHV0s4OTE4OCBSRUxFQVNFIDogc3RvcmFnZS93ZWJzcWwvcXVvdGEt
dHJhY2tpbmcuaHRtbCA9IENSQVNIIFBBU1MKIAogQlVHV0s4OTk1NCBERUJVRyA6IGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvcmVlbnRyYW50LWNhbmNlbC5odG1sID0gQ1JBU0gKQEAgLTExNjks
OCArMTE3MSw3IEBAIEJVR1dLODU5NjkgOiBodHRwL3Rlc3RzL2xvYWRpbmcvcG9zdC1pbi1pZnJh
bWUtd2l0aC1iYWNrLW5hdmlnYXRpb24uaHRtbCA9IFRFWFQKIC8vIFN0YXJ0ZWQgZmFpbGluZyBh
ZnRlciBpdCB3YXMgYWRkZWQgaW4gcjExNjU2MwogQlVHV0s4NjA2MSA6IGh0dHAvdGVzdHMvc2Vj
dXJpdHkvcmVmZXJyZXItcG9saWN5LXJlZGlyZWN0LWxpbmsuaHRtbCA9IFRFWFQKIAotLy8gSUVU
QyBVbml0cyB0ZXN0IGZhaWx1cmVzCi1CVUdXSzg1MzA4IDogaWV0ZXN0Y2VudGVyL2NzczMvdmFs
dWVzYW5kdW5pdHMvdW5pdHMtMDAwLmh0bSA9IElNQUdFCitCVUdXSzg1MzA4IFJFTEVBU0UgOiBp
ZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wMDAuaHRtID0gSU1BR0UKIEJV
R1dLODUzMTAgOiBpZXRlc3RjZW50ZXIvY3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wMTAuaHRt
ID0gSU1BR0UKIAogLy8gSUVUQyBuYW1lc3BhY2UgZmFpbHVyZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMGZjM2M5M2QwNmM0M2VjZGQxMThlYmI4ODgx
NjZlNTRmYWY0MDNjYi4uOWRlYzRmOWZiNTgzOGU4MjFjM2EyMmNhNDg0YzI2NWY4ZjVjYzA5YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0Myw4ICsy
NDMsOCBAQCBCVUdXSzg1NTY1IDogZmFzdC9jc3MvYm9yZGVyLXNvbGlkLXNpbmdsZS1lZGdlLWFu
dGlhbGlhcy5odG1sID0gSU1BR0UKIC8vIEludGVyZmVyZXMgd2l0aCB0aGUgdGVzdHMgdGhhdCBz
aG91bGQgcGFzcwogQlVHV0s4NTY4OSBTS0lQIDogZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmlt
YXRpb24tZnJhbWUtZGlzYWJsZWQuaHRtbCA9IFRFWFQKIAotLy8gSUVUQyB1bml0cyB0ZXN0IGZh
aWx1cmVzCi1CVUdXSzg1MzA4IDogaWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5p
dHMtMDAwLmh0bSA9IElNQUdFCisvLyBIaXRzIGFzc2VydCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODYyMDgKK0JVR1dLODUzMDggU0tJUCA6IGlldGVzdGNlbnRlci9j
c3MzL3ZhbHVlc2FuZHVuaXRzL3VuaXRzLTAwMC5odG0gPSBJTUFHRQogQlVHV0s4NTMxMCA6IGll
dGVzdGNlbnRlci9jc3MzL3ZhbHVlc2FuZHVuaXRzL3VuaXRzLTAxMC5odG0gPSBJTUFHRQogCiAv
LyBJRVRDIG5hbWVzcGFjZSBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZTFiNmNlNDBjODVmNDZkMzdiYmMzODI0ZTkyZTgyNTUwNTZiNDNmNC4u
NDc2MDI1NDNkZGQ0ZWI3NWM1NmM2MGM0MTZhYWE1NDdlMzZjNGExNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCkBAIC01OSw4ICs1OSw5IEBAIEJVR1dLODU1Njcg
OiBmYXN0L2ltYWdlcy9wbmctc3VpdGUvdGVzdC5odG1sID0gSU1BR0UKIC8vIEludGVyZmVyZXMg
d2l0aCB0aGUgdGVzdHMgdGhhdCBzaG91bGQgcGFzcwogQlVHV0s4NTY4OSBTS0lQIDogZmFzdC9h
bmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtZGlzYWJsZWQuaHRtbCA9IFRFWFQKIAot
Ly8gSUVUQyB1bml0cyB0ZXN0IGZhaWx1cmVzCi1CVUdXSzg1MzA4IDogaWV0ZXN0Y2VudGVyL2Nz
czMvdmFsdWVzYW5kdW5pdHMvdW5pdHMtMDAwLmh0bSA9IElNQUdFCisvLyBpZXRlc3RjZW50ZXIv
Y3NzMy92YWx1ZXNhbmR1bml0cy91bml0cy0wMDAuaHRtIGFzc2VydHMKKy8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjE3NgorQlVHV0s4NTMwOCBTS0lQIDogaWV0
ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMtMDAwLmh0bSA9IElNQUdFCiBCVUdX
Szg1MzEwIDogaWV0ZXN0Y2VudGVyL2NzczMvdmFsdWVzYW5kdW5pdHMvdW5pdHMtMDEwLmh0bSA9
IElNQUdFCiAKIC8vIElFVEMgbmFtZXNwYWNlIGZhaWx1cmVzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>