<?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>11198</bug_id>
          
          <creation_ts>2006-10-06 18:18:11 -0700</creation_ts>
          <short_desc>Auto-generate a few more Objective-C DOM interfaces.</short_desc>
          <delta_ts>2006-10-07 09:19:43 -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>WebCore Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>53836</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-06 18:18:11 -0700</bug_when>
    <thetext>The remaining three!!! Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53838</commentid>
    <comment_count>1</comment_count>
      <attachid>10958</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-06 18:24:39 -0700</bug_when>
    <thetext>Created attachment 10958
patch

- Fully auto-generate DOMAbstractView and DOMRange.

- Auto-generate just the interface for DOMRGBColor.

- Add DOMRanges.h as the new top level file for Ranges module.

- Add DOMRanges.h and DOMXPath.h to DOM.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53839</commentid>
    <comment_count>2</comment_count>
      <attachid>10958</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-10-06 18:55:00 -0700</bug_when>
    <thetext>Comment on attachment 10958
patch

Make sure the IDL files arn&apos;t copied into the resources.

Lets remove the:
+#if defined(LANGUAGE_JAVASCRIPT)

in Range.idl, those methods will just be private for ObjC, and thats good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53864</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-07 09:19:43 -0700</bug_when>
    <thetext>Landed in r16882.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10958</attachid>
            <date>2006-10-06 18:24:39 -0700</date>
            <delta_ts>2006-10-06 18:55:00 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autoMore.diff</filename>
            <type>text/plain</type>
            <size>64183</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjg3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMDYtMTAtMDYgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTgKKyAg
ICAgICAgQXV0by1nZW5lcmF0ZSBhIGZldyBtb3JlIE9iamVjdGl2ZS1DIERPTSBpbnRlcmZhY2Vz
CisKKyAgICAgICAgLSBGdWxseSBhdXRvLWdlbmVyYXRlIERPTUFic3RyYWN0VmlldyBhbmQgRE9N
UmFuZ2UuCisKKyAgICAgICAgLSBBdXRvLWdlbmVyYXRlIGp1c3QgdGhlIGludGVyZmFjZSBmb3Ig
RE9NUkdCQ29sb3IuCisKKyAgICAgICAgLSBBZGQgRE9NUmFuZ2VzLmggYXMgdGhlIG5ldyB0b3Ag
bGV2ZWwgZmlsZSBmb3IgUmFuZ2VzCisgICAgICAgICAgbW9kdWxlLgorCisgICAgICAgIC0gQWRk
IERPTVJhbmdlcy5oIGFuZCBET01YUGF0aC5oIHRvIERPTS5tbQorCisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET00uaDoKKyAgICAgICAgKiBiaW5kaW5ncy9v
YmpjL0RPTS5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUFic3RyYWN0Vmlldy5oOiBS
ZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NQWJzdHJhY3RWaWV3Lm1tOiBSZW1v
dmVkLgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9vYmpjL0RPTVJHQkNvbG9yLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3Mv
b2JqYy9ET01SR0JDb2xvci5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVJhbmdlLmg6
IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01SYW5nZXMuaDogQWRkZWQuCisg
ICAgICAgICogYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbToKKyAgICAgICAgKiBjc3MvUkdC
Q29sb3IuaWRsOgorICAgICAgICAqIGRvbS9SYW5nZS5pZGw6CisgICAgICAgICogcGFnZS9BYnN0
cmFjdFZpZXcuaWRsOiBBZGRlZC4KKwogMjAwNi0xMC0wNiAgU3RldmUgRmFsa2VuYnVyZyAgPHNm
YWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0uCkluZGV4OiBXZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCShyZXZpc2lvbiAxNjg2MCkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQCBWUEFUSCA9IFwKIAogaWZlcSAoJChP
UyksTUFDT1MpCiBhbGwgOiBcCisgICAgRE9NQWJzdHJhY3RWaWV3LmggXAogICAgIERPTUF0dHIu
aCBcCiAgICAgRE9NQ0RBVEFTZWN0aW9uLmggXAogICAgIERPTUNTU0NoYXJzZXRSdWxlLmggXApA
QCAtMTQwLDYgKzE0MSw4IEBAIGFsbCA6IFwKICAgICBET01Ob3RhdGlvbi5oIFwKICAgICBET01P
dmVyZmxvd0V2ZW50LmggXAogICAgIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIFwKKyAgICBE
T01SR0JDb2xvci5oIFwKKyAgICBET01SYW5nZS5oIFwKICAgICBET01SZWN0LmggXAogICAgIERP
TVNWR0FFbGVtZW50LmggXAogICAgIERPTVNWR0FuZ2xlLmggXApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE2ODYwKQorKysgV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTU4
OCwxMyArNTg4LDIxIEBACiAJCTg1MThEQ0VBMEE5Q0M4MEQwMDkxQjdBNiAvKiBET01ET01JbXBs
ZW1lbnRhdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1MThEQ0U4MEE5Q0M4MEQwMDkxQjdBNiAvKiBET01ET01JbXBsZW1lbnRhdGlvbi5tbSAq
LzsgfTsKIAkJODUxOERENzgwQTlDRjMxQjAwOTFCN0E2IC8qIERPTU5hbWVkTm9kZU1hcC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUxOERENzYwQTlD
RjMxQjAwOTFCN0E2IC8qIERPTU5hbWVkTm9kZU1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKCk7IH07IH07CiAJCTg1MThERDc5MEE5Q0YzMUIwMDkxQjdBNiAvKiBET01OYW1lZE5v
ZGVNYXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NTE4REQ3NzBBOUNGMzFCMDA5MUI3QTYgLyogRE9NTmFtZWROb2RlTWFwLm1tICovOyB9OwotCQk4
NTFFRTgwQzBBQkNBMjhGMDBBNkFBMzMgLyogRE9NQWJzdHJhY3RWaWV3LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTFFRTgwQTBBQkNBMjhGMDBBNkFB
MzMgLyogRE9NQWJzdHJhY3RWaWV3LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJODUxRUU4MEQwQUJDQTI4RjAwQTZBQTMzIC8qIERPTUFic3RyYWN0
Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
MUVFODBCMEFCQ0EyOEYwMEE2QUEzMyAvKiBET01BYnN0cmFjdFZpZXcubW0gKi87IH07CiAJCTg1
MUVFODExMEFCQ0EzOTYwMEE2QUEzMyAvKiBET01FdmVudEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUxRUU4MTAwQUJDQTM5NjAwQTZB
QTMzIC8qIERPTUV2ZW50RXhjZXB0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJODUxRUU4MjEwQUJDQTU4MTAwQTZBQTMzIC8qIERPTVJhbmdl
RXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NTFFRTgyMDBBQkNBNTgxMDBBNkFBMzMgLyogRE9NUmFuZ2VFeGNlcHRpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NTIxN0UwMjBBNUVD
RDQ3MDBEQjhEMDAgLyogWFNMSW1wb3J0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTIxN0UwMDBBNUVDRDQ3MDBEQjhEMDAgLyogWFNMSW1w
b3J0UnVsZS5jcHAgKi87IH07CiAJCTg1MjE3RTAzMEE1RUNENDcwMERCOEQwMCAvKiBYU0xJbXBv
cnRSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NTIxN0UwMTBBNUVDRDQ3MDBEQjhEMDAgLyogWFNMSW1wb3J0UnVsZS5oICovOyB9OwogCQk4NTJC
OUU4ODBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTJCOUU4NDBBQTc5QzQ3MDAy
QURBNkUgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQubW0gKi87IH07CisJCTg1MzhGMDAxMEFENzE3
NzAwMDZBODFEMSAvKiBBYnN0cmFjdFZpZXcuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTM4RjAwMDBBRDcxNzcwMDA2QTgxRDEgLyogQWJzdHJh
Y3RWaWV3LmlkbCAqLzsgfTsKKwkJODUzOEYwMTkwQUQ3MThEODAwNkE4MUQxIC8qIERPTUFic3Ry
YWN0Vmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODUzOEYwMTYwQUQ3MThEODAwNkE4MUQxIC8qIERPTUFic3RyYWN0Vmlldy5oICovOyB9OworCQk4
NTM4RjAxQTBBRDcxOEQ4MDA2QTgxRDEgLyogRE9NQWJzdHJhY3RWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUzOEYwMTcwQUQ3MThEODAwNkE4
MUQxIC8qIERPTUFic3RyYWN0Vmlldy5tbSAqLzsgfTsKKwkJODUzOEYwMUIwQUQ3MThEODAwNkE4
MUQxIC8qIERPTUFic3RyYWN0Vmlld0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTM4RjAxODBBRDcxOEQ4MDA2QTgxRDEgLyogRE9NQWJz
dHJhY3RWaWV3SW50ZXJuYWwuaCAqLzsgfTsKKwkJODUzOEYwMzAwQUQ3MUNEQjAwNkE4MUQxIC8q
IERPTUFic3RyYWN0Vmlldy5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTM4RjAxNjBBRDcxOEQ4MDA2QTgxRDEgLyogRE9NQWJzdHJhY3RWaWV3Lmgg
Ki87IH07CisJCTg1MzhGMDVCMEFENzIyRjEwMDZBODFEMSAvKiBET01SYW5nZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUzOEYwNTgwQUQ3MjJGMTAw
NkE4MUQxIC8qIERPTVJhbmdlLmggKi87IH07CisJCTg1MzhGMDVDMEFENzIyRjEwMDZBODFEMSAv
KiBET01SYW5nZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1MzhGMDU5MEFENzIyRjEwMDZBODFEMSAvKiBET01SYW5nZS5tbSAqLzsgfTsKKwkJODUz
OEYwNUQwQUQ3MjJGMTAwNkE4MUQxIC8qIERPTVJhbmdlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MzhGMDVBMEFENzIyRjEwMDZBODFE
MSAvKiBET01SYW5nZUludGVybmFsLmggKi87IH07CisJCTg1MzhGMDg1MEFENzJDQjYwMDZBODFE
MSAvKiBET01SYW5nZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1MzhGMDg0MEFENzJDQjYwMDZBODFEMSAvKiBET01SYW5nZXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4NTM4RjA4QzBBRDcyRTBB
MDA2QTgxRDEgLyogRE9NUmFuZ2UuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODUzOEYwNTgwQUQ3MjJGMTAwNkE4MUQxIC8qIERPTVJhbmdlLmggKi87
IH07CiAJCTg1M0JGNERCMEFCQjZCNTUwMDg2NDdCQiAvKiBET01Ob2RlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTNCRjREOTBBQkI2QjU1MDA4NjQ3
QkIgLyogRE9NTm9kZS5oICovOyB9OwogCQk4NTNCRjREQzBBQkI2QjU1MDA4NjQ3QkIgLyogRE9N
Tm9kZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
M0JGNERBMEFCQjZCNTUwMDg2NDdCQiAvKiBET01Ob2RlLm1tICovOyB9OwogCQk4NTNCRjRFQjBB
QkI2RTk3MDA4NjQ3QkIgLyogRE9NTm9kZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1M0JGNEVBMEFCQjZFOTcwMDg2NDdCQiAvKiBET01O
b2RlUHJpdmF0ZS5oICovOyB9OwpAQCAtNjcxLDYgKzY3OSw4IEBACiAJCTg1NTlGMTIwMEFDOUJG
NDIwMEEzNDM5QyAvKiBET01TVkdBbmltYXRlZE51bWJlckludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTU5RjExRDBBQzlCRjQxMDBBMzQz
OUMgLyogRE9NU1ZHQW5pbWF0ZWROdW1iZXJJbnRlcm5hbC5oICovOyB9OwogCQk4NTU5RjEyMTBB
QzlCRjQyMDBBMzQzOUMgLyogRE9NU1ZHTWV0YWRhdGFFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NTlGMTFFMEFDOUJGNDEw
MEEzNDM5QyAvKiBET01TVkdNZXRhZGF0YUVsZW1lbnRJbnRlcm5hbC5oICovOyB9OwogCQk4NTU5
RjEyMjBBQzlCRjQyMDBBMzQzOUMgLyogRE9NU1ZHU3R5bGVFbGVtZW50SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NTlGMTFGMEFDOUJG
NDIwMEEzNDM5QyAvKiBET01TVkdTdHlsZUVsZW1lbnRJbnRlcm5hbC5oICovOyB9OworCQk4NTVE
MzU4QTBBRDcwNzMxMDAxOUFBQzcgLyogRE9NUkdCQ29sb3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NUQzNTg5MEFENzA3MzEwMDE5QUFDNyAvKiBE
T01SR0JDb2xvci5oICovOyB9OworCQk4NTVEMzU4RDBBRDcwN0NDMDAxOUFBQzcgLyogRE9NUkdC
Q29sb3IuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU1RDM1ODkwQUQ3MDczMTAwMTlBQUM3IC8qIERPTVJHQkNvbG9yLmggKi87IH07CiAJCTg1NkM4
QUU0MEE5MTI2NDkwMDVDNjg3QiAvKiBET01PYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NkM4QUUyMEE5MTI2NDkwMDVDNjg3QiAvKiBET01P
YmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk4NTZDOEFFNTBBOTEyNjQ5MDA1QzY4N0IgLyogRE9NT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU2QzhBRTMwQTkxMjY0OTAwNUM2ODdC
IC8qIERPTU9iamVjdC5tbSAqLzsgfTsKIAkJODU3NURGN0UwQUE2MTI3RTAwRjVEQkI1IC8qIERP
TUhUTUxTdHlsZUVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODU5QTlDNDUwQUE1RTNCRDAwQjY5NEIyIC8qIERPTUhUTUxTdHlsZUVsZW1l
bnQuaCAqLzsgfTsKQEAgLTcwMCw3ICs3MTAsNiBAQAogCQk4NThDMzhBODBBQThGMjA0MDBCMTg3
QTQgLyogRE9NUmVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1OEMzOEE0MEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0Lm1tICovOyB9OwogCQk4
NThDMzkyODBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU4QzM5MjYwQUE4RkY5RDAwQjE4
N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCAqLzsgfTsKIAkJODU4QzM5MjkwQUE4RkY5RDAwQjE4
N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NThDMzkyNzBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVT
aGVldC5tbSAqLzsgfTsKLQkJODU4QzM5NUYwQUE5MDJBOTAwQjE4N0E0IC8qIERPTVJHQkNvbG9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzk1
RDBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NThDMzk2MDBBQTkwMkE5MDBCMTg3QTQgLyog
RE9NUkdCQ29sb3IubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NThDMzk1RTBBQTkwMkE5MDBCMTg3QTQgLyogRE9NUkdCQ29sb3IubW0gKi87IH07CiAJ
CTg1OEMzOUI4MEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NWYWx1ZS5oIGluIENvcHlGaWxlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NThDMzgxQTBBQThFMjk2MDBCMTg3
QTQgLyogRE9NQ1NTVmFsdWUuaCAqLzsgfTsKIAkJODU4QzM5QjkwQUE5MDVFRjAwQjE4N0E0IC8q
IERPTUNTU1ByaW1pdGl2ZVZhbHVlLmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1OEMzODJBMEFBOEU0MDUwMEIxODdBNCAvKiBET01DU1NQcmltaXRp
dmVWYWx1ZS5oICovOyB9OwpAQCAtMjI5NSw3ICsyMzA0LDYgQEAKIAkJQkMxQTM3QjkwOTdDNzE1
RjAwMTlGM0Q4IC8qIERPTUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzFBMzdBMzA5N0M3MTVGMDAxOUYzRDggLyogRE9NSW50ZXJuYWwu
aCAqLzsgfTsKIAkJQkMxQTM3QkEwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUludGVybmFsLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxQTM3QTQwOTdD
NzE1RjAwMTlGM0Q4IC8qIERPTUludGVybmFsLm1tICovOyB9OwogCQlCQzFBMzdCQjA5N0M3MTVG
MDAxOUYzRDggLyogRE9NUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMxQTM3QTUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTVByaXZhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzFBMzdC
QzA5N0M3MTVGMDAxOUYzRDggLyogRE9NUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMUEzN0E2MDk3QzcxNUYwMDE5RjNEOCAvKiBET01SYW5n
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJD
MUEzN0JEMDk3QzcxNUYwMDE5RjNEOCAvKiBET01TdHlsZXNoZWV0cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxQTM3QTcwOTdDNzE1RjAwMTlGM0Q4
IC8qIERPTVN0eWxlc2hlZXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQkMxQTM3QkUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTVRyYXZlcnNhbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxQTM3QTgw
OTdDNzE1RjAwMTlGM0Q4IC8qIERPTVRyYXZlcnNhbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMUEzN0JGMDk3QzcxNUYwMDE5RjNEOCAvKiBE
T01VdGlsaXR5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkMxQTM3QTkwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTVV0aWxpdHkubW0gKi87IH07CkBAIC0y
NDk4LDYgKzI1MDYsOSBAQAogCQkJZHN0UGF0aCA9IFZlcnNpb25zL0EvUHJpdmF0ZUhlYWRlcnM7
CiAJCQlkc3RTdWJmb2xkZXJTcGVjID0gMTsKIAkJCWZpbGVzID0gKAorCQkJCTg1MzhGMDhDMEFE
NzJFMEEwMDZBODFEMSAvKiBET01SYW5nZS5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4NTM4RjAz
MDBBRDcxQ0RCMDA2QTgxRDEgLyogRE9NQWJzdHJhY3RWaWV3LmggaW4gQ29weUZpbGVzICovLAor
CQkJCTg1NUQzNThEMEFENzA3Q0MwMDE5QUFDNyAvKiBET01SR0JDb2xvci5oIGluIENvcHlGaWxl
cyAqLywKIAkJCQk4NTQwNzU4MzBBRDZDRjE0MDA2MjBDNTcgLyogRE9NSFRNTEFwcGxldEVsZW1l
bnQuaCBpbiBDb3B5RmlsZXMgKi8sCiAJCQkJODU0MDc1ODQwQUQ2Q0YxNDAwNjIwQzU3IC8qIERP
TUhUTUxFbWJlZEVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCiAJCQkJODU0MDc1ODUwQUQ2Q0Yx
NDAwNjIwQzU3IC8qIERPTUhUTUxPcHRpb25FbGVtZW50LmggaW4gQ29weUZpbGVzICovLApAQCAt
MzI4NCwxMyArMzI5NSwxOSBAQAogCQk4NTE4RENFODBBOUNDODBEMDA5MUI3QTYgLyogRE9NRE9N
SW1wbGVtZW50YXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gRE9NRE9NSW1wbGVtZW50YXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg1MThERDc2MEE5Q0YzMUIwMDkxQjdBNiAvKiBET01OYW1lZE5vZGVNYXAuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU5hbWVkTm9kZU1hcC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NTE4REQ3NzBBOUNGMzFCMDA5MUI3QTYgLyogRE9NTmFtZWROb2Rl
TWFwLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU5hbWVk
Tm9kZU1hcC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODUxRUU4MEEwQUJDQTI4
RjAwQTZBQTMzIC8qIERPTUFic3RyYWN0Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NQWJzdHJhY3RWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTg1MUVFODBCMEFCQ0EyOEYwMEE2QUEzMyAvKiBET01BYnN0cmFjdFZpZXcubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQWJzdHJhY3RWaWV3Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTFFRTgxMDBBQkNBMzk2MDBBNkFBMzMgLyogRE9N
RXZlbnRFeGNlcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRXZl
bnRFeGNlcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODUxRUU4MjAwQUJD
QTU4MTAwQTZBQTMzIC8qIERPTVJhbmdlRXhjZXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVJhbmdlRXhjZXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg1MjE3RTAwMEE1RUNENDcwMERCOEQwMCAvKiBYU0xJbXBvcnRSdWxlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYU0xJbXBvcnRSdWxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODUyMTdFMDEwQTVFQ0Q0NzAwREI4RDAwIC8qIFhT
TEltcG9ydFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTEltcG9y
dFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODUyQjlFODQwQUE3OUM0NzAw
MkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxBcHBsZXRFbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NTM4RjAwMDBBRDcxNzcwMDA2QTgxRDEgLyogQWJzdHJhY3RWaWV3
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBYnN0cmFjdFZpZXcuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4NTM4RjAxNjBBRDcxOEQ4MDA2QTgxRDEgLyogRE9NQWJzdHJh
Y3RWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01BYnN0cmFjdFZp
ZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUzOEYwMTcwQUQ3MThEODAwNkE4
MUQxIC8qIERPTUFic3RyYWN0Vmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBET01BYnN0cmFjdFZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg1MzhGMDE4MEFENzE4RDgwMDZBODFEMSAvKiBET01BYnN0cmFjdFZpZXdJbnRlcm5hbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQWJzdHJhY3RWaWV3SW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODUzOEYwNTgwQUQ3MjJGMTAwNkE4
MUQxIC8qIERPTVJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01S
YW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTM4RjA1OTBBRDcyMkYxMDA2
QTgxRDEgLyogRE9NUmFuZ2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRE9NUmFuZ2UubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1MzhGMDVB
MEFENzIyRjEwMDZBODFEMSAvKiBET01SYW5nZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01SYW5nZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg1MzhGMDg0MEFENzJDQjYwMDZBODFEMSAvKiBET01SYW5nZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUmFuZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg1M0JGNEQ5MEFCQjZCNTUwMDg2NDdCQiAvKiBET01Ob2RlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Ob2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg1M0JGNERBMEFCQjZCNTUwMDg2NDdCQiAvKiBET01Ob2RlLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU5vZGUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1M0JGNEVBMEFCQjZFOTcwMDg2NDdCQiAvKiBET01Ob2Rl
UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZVByaXZh
dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMzNjgsNiArMzM4NSw3IEBACiAJ
CTg1NTlGMTFEMEFDOUJGNDEwMEEzNDM5QyAvKiBET01TVkdBbmltYXRlZE51bWJlckludGVybmFs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01TVkdBbmltYXRlZE51bWJl
ckludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1NTlGMTFFMEFDOUJG
NDEwMEEzNDM5QyAvKiBET01TVkdNZXRhZGF0YUVsZW1lbnRJbnRlcm5hbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHTWV0YWRhdGFFbGVtZW50SW50ZXJuYWwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU1OUYxMUYwQUM5QkY0MjAwQTM0MzlDIC8q
IERPTVNWR1N0eWxlRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01TVkdTdHlsZUVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4NTVEMzU4OTBBRDcwNzMxMDAxOUFBQzcgLyogRE9NUkdCQ29sb3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVJHQkNvbG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg1NkM4QUUyMEE5MTI2NDkwMDVDNjg3QiAvKiBET01PYmplY3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU9iamVjdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NTZDOEFFMzBBOTEyNjQ5MDA1QzY4N0IgLyogRE9NT2Jq
ZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU9iamVj
dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU3RTBCMjMwQUIwNDM0NjAwMzZF
NDQ3IC8qIERPTU1vdXNlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTU1vdXNlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMzODgsNyAr
MzQwNiw2IEBACiAJCTg1OEMzOTEwMEFBOEZGMDAwMEIxODdBNCAvKiBDU1NTdHlsZVNoZWV0Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTU3R5bGVTaGVldC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg1OEMzOTI2MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHls
ZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NTdHlsZVNo
ZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OEMzOTI3MEFBOEZGOUQwMEIx
ODdBNCAvKiBET01DU1NTdHlsZVNoZWV0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IERPTUNTU1N0eWxlU2hlZXQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTg1OEMzOTVEMEFBOTAyQTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NUkdCQ29sb3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODU4QzM5NUUwQUE5MDJBOTAwQjE4N0E0IC8qIERPTVJHQkNvbG9yLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVJHQkNvbG9yLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTkwOUNEMzBBQ0M3QTdFMDBERjAxRjEg
LyogRE9NQ1NTQ2hhcnNldFJ1bGVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NQ1NTQ2hhcnNldFJ1bGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NTkwOUNENDBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTRm9udEZhY2VSdWxl
SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNTU0ZvbnRG
YWNlUnVsZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MDE2LDcg
KzUwMzMsNiBAQAogCQlCQzFBMzdBMzA5N0M3MTVGMDAxOUYzRDggLyogRE9NSW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUludGVybmFsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMUEzN0E0MDk3QzcxNUYwMDE5RjNEOCAvKiBET01JbnRl
cm5hbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01JbnRl
cm5hbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMxQTM3QTUwOTdDNzE1RjAw
MTlGM0Q4IC8qIERPTVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkMxQTM3QTYwOTdD
NzE1RjAwMTlGM0Q4IC8qIERPTVJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01SYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzFBMzdBNzA5
N0M3MTVGMDAxOUYzRDggLyogRE9NU3R5bGVzaGVldHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVN0eWxlc2hlZXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDMUEzN0E4MDk3QzcxNUYwMDE5RjNEOCAvKiBET01UcmF2ZXJzYWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVRyYXZlcnNhbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCQzFBMzdBOTA5N0M3MTVGMDAxOUYzRDggLyogRE9NVXRpbGl0eS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01VdGlsaXR5Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTk1NCw2ICs1OTcwLDcgQEAKIAkJNjVCRjAy
MTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTg1MzhGMDAwMEFENzE3NzAwMDZBODFEMSAvKiBBYnN0cmFjdFZp
ZXcuaWRsICovLAogCQkJCTE0MDNCOTk2MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuY3Bw
ICovLAogCQkJCTE0MDNCOTk1MDlFQjEzQUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCAqLywKIAkJ
CQkxNDAzQjkwQzA5RUIxMjQ1MDA3OTdDN0YgLyogRE9NV2luZG93LmlkbCAqLywKQEAgLTYwNTMs
MTUgKzYwNzAsMjQgQEAKIAkJCW5hbWUgPSBTdHlsZVNoZWV0czsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07Ci0JCTg1MUVFODA2MEFCQ0EyNTIwMEE2QUEzMyAvKiBWaWV3cyAqLyA9
IHsKKwkJODUzOEYwMTUwQUQ3MThBRjAwNkE4MUQxIC8qIFZpZXdzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk4NTFFRTgwQTBBQkNBMjhGMDBBNkFBMzMg
LyogRE9NQWJzdHJhY3RWaWV3LmggKi8sCi0JCQkJODUxRUU4MEIwQUJDQTI4RjAwQTZBQTMzIC8q
IERPTUFic3RyYWN0Vmlldy5tbSAqLywKKwkJCQk4NTM4RjAxNjBBRDcxOEQ4MDA2QTgxRDEgLyog
RE9NQWJzdHJhY3RWaWV3LmggKi8sCisJCQkJODUzOEYwMTcwQUQ3MThEODAwNkE4MUQxIC8qIERP
TUFic3RyYWN0Vmlldy5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gVmlld3M7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwogCQl9OworCQk4NTM4RjA1NzBBRDcyMkI5MDA2QTgxRDEgLyogUmFu
Z2VzICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk4NTM4
RjA1ODBBRDcyMkYxMDA2QTgxRDEgLyogRE9NUmFuZ2UuaCAqLywKKwkJCQk4NTM4RjA1OTBBRDcy
MkYxMDA2QTgxRDEgLyogRE9NUmFuZ2UubW0gKi8sCisJCQkpOworCQkJbmFtZSA9IFJhbmdlczsK
KwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTg1NDA3NTQyMEFENkM3M0UwMDYy
MEM1NyAvKiBET01FeGNlcHRpb25zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKQEAgLTYxMTEsNyArNjEzNyw2IEBACiAJCTg1OEMzOTUxMEFBOTAyNEMwMEIxODdB
NCAvKiBDU1MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJ
CTg1OEMzOTVEMEFBOTAyQTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5oICovLAogCQkJCTg1OEMz
OTVFMEFBOTAyQTkwMEIxODdBNCAvKiBET01SR0JDb2xvci5tbSAqLywKIAkJCSk7CiAJCQluYW1l
ID0gQ1NTOwpAQCAtNjE5Nyw2ICs2MjIyLDcgQEAKIAkJCQk4NThDMzhBMjBBQThGMjA0MDBCMTg3
QTQgLyogRE9NQ291bnRlci5tbSAqLywKIAkJCQk4NThDMzhBMzBBQThGMjA0MDBCMTg3QTQgLyog
RE9NUmVjdC5oICovLAogCQkJCTg1OEMzOEE0MEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0Lm1t
ICovLAorCQkJCTg1NUQzNTg5MEFENzA3MzEwMDE5QUFDNyAvKiBET01SR0JDb2xvci5oICovLAog
CQkJKTsKIAkJCW5hbWUgPSBDU1M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNjM5
MCw5ICs2NDE2LDExIEBACiAJCQkJODU5NjdEQ0EwQUE4QkYwRjAwNUZFREVFIC8qIENTUyAqLywK
IAkJCQk4NUFGQTdBQjBBQUYzQkIwMDBFODQzMDUgLyogRXZlbnRzICovLAogCQkJCTg1QzU2RDAz
MEFBOEJBQTcwMEQ5NTc1NSAvKiBIVE1MICovLAorCQkJCTg1MzhGMDU3MEFENzIyQjkwMDZBODFE
MSAvKiBSYW5nZXMgKi8sCiAJCQkJODUwNjU3MDQwQUFCNDc2QzAwMkQxNUMwIC8qIFN0eWxlU2hl
ZXRzICovLAogCQkJCTg1QTBGOThFMEFDNzE2RjQwMDE2MUZEQyAvKiBTVkcgKi8sCiAJCQkJODU1
MjZDMTUwQUIwQTEyQTAwMDMwMkVBIC8qIFRyYXZlcnNhbCAqLywKKwkJCQk4NTM4RjAxNTBBRDcx
OEFGMDA2QTgxRDEgLyogVmlld3MgKi8sCiAJCQkJODVFOUUwQTcwQUIzQTBDQzAwMDY5Q0QwIC8q
IFhQYXRoICovLAogCQkJCTg1RTcxMTNEMEFDNUQ0QTEwMDUzMjcwRiAvKiBJbnRlcm5hbCAqLywK
IAkJCSk7CkBAIC02NTM2LDYgKzY1NjQsNyBAQAogCQk4NUU3MTEzRDBBQzVENEExMDA1MzI3MEYg
LyogSW50ZXJuYWwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTg1MzhGMDE4MEFENzE4RDgwMDZBODFEMSAvKiBET01BYnN0cmFjdFZpZXdJbnRlcm5hbC5o
ICovLAogCQkJCTg1RTcxMTNFMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01BdHRySW50ZXJuYWwuaCAq
LywKIAkJCQk4NUU3MTEzRjBBQzVENTM0MDA1MzI3MEYgLyogRE9NQ0RBVEFTZWN0aW9uSW50ZXJu
YWwuaCAqLywKIAkJCQk4NUU3MTE0MDBBQzVENTM0MDA1MzI3MEYgLyogRE9NQ2hhcmFjdGVyRGF0
YUludGVybmFsLmggKi8sCkBAIC02NjIzLDYgKzY2NTIsNyBAQAogCQkJCTg1RTcxMTg1MEFDNUQ1
MzUwMDUzMjcwRiAvKiBET01Ob3RhdGlvbkludGVybmFsLmggKi8sCiAJCQkJODU5ODlEQzgwQUND
OEJCRDAwQTBCQzUxIC8qIERPTU92ZXJmbG93RXZlbnRJbnRlcm5hbC5oICovLAogCQkJCTg1RTcx
MTg2MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb25JbnRlcm5hbC5o
ICovLAorCQkJCTg1MzhGMDVBMEFENzIyRjEwMDZBODFEMSAvKiBET01SYW5nZUludGVybmFsLmgg
Ki8sCiAJCQkJODVFNzExODcwQUM1RDUzNTAwNTMyNzBGIC8qIERPTVJlY3RJbnRlcm5hbC5oICov
LAogCQkJCTg1RTcxMTg4MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01TdHlsZVNoZWV0TGlzdEludGVy
bmFsLmggKi8sCiAJCQkJODVBQ0VGODUwQUNERDA0QTAwMTIxNEZGIC8qIERPTVNWR0FFbGVtZW50
SW50ZXJuYWwuaCAqLywKQEAgLTc2OTMsNyArNzcyMyw2IEBACiAJCQkJODU4QzM5NTEwQUE5MDI0
QzAwQjE4N0E0IC8qIENTUyAqLywKIAkJCQk4NTk5MkZDMjBBQTVERDQ2MDBBQzA3ODUgLyogSFRN
TCAqLywKIAkJCQk4NTQ5NDkyRDBBQzg1QTBBMDA4QUIwMzUgLyogU1ZHICovLAotCQkJCTg1MUVF
ODA2MEFCQ0EyNTIwMEE2QUEzMyAvKiBWaWV3cyAqLywKIAkJCQk4NTQwNzU0MjBBRDZDNzNFMDA2
MjBDNTcgLyogRE9NRXhjZXB0aW9ucyAqLywKIAkJCQk4NTlCN0ZCOTBBOEQyODg4MDBBNUYxRUEg
LyogQ29kZUdlbmVyYXRvck9iakMucG0gKi8sCiAJCQkJMUNEMEI2MjAwQUFCREI1MDAwRDBBM0ZG
IC8qIFB1YmxpY0RPTUludGVyZmFjZXMuaCAqLywKQEAgLTc3MTAsNyArNzczOSw3IEBACiAJCQkJ
QkMxQTM3QTMwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUludGVybmFsLmggKi8sCiAJCQkJQkMxQTM3
QTQwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTUludGVybmFsLm1tICovLAogCQkJCUJDMUEzN0E1MDk3
QzcxNUYwMDE5RjNEOCAvKiBET01Qcml2YXRlLmggKi8sCi0JCQkJQkMxQTM3QTYwOTdDNzE1RjAw
MTlGM0Q4IC8qIERPTVJhbmdlLmggKi8sCisJCQkJODUzOEYwODQwQUQ3MkNCNjAwNkE4MUQxIC8q
IERPTVJhbmdlcy5oICovLAogCQkJCUJDMUEzN0E3MDk3QzcxNUYwMDE5RjNEOCAvKiBET01TdHls
ZXNoZWV0cy5oICovLAogCQkJCTg1QTBGOTdEMEFDNzE2M0QwMDE2MUZEQyAvKiBET01TVkcuaCAq
LywKIAkJCQlCQzFBMzdBODA5N0M3MTVGMDAxOUYzRDggLyogRE9NVHJhdmVyc2FsLmggKi8sCkBA
IC04NjQ5LDcgKzg2NzgsNiBAQAogCQkJCUJDMUEzN0I2MDk3QzcxNUYwMDE5RjNEOCAvKiBET01I
VE1MLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFBMzdCOTA5N0M3MTVGMDAxOUYzRDggLyogRE9N
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUEzN0JCMDk3QzcxNUYwMDE5RjNEOCAv
KiBET01Qcml2YXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzFBMzdCQzA5N0M3MTVGMDAxOUYz
RDggLyogRE9NUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUEzN0JEMDk3QzcxNUYwMDE5
RjNEOCAvKiBET01TdHlsZXNoZWV0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQTM3QkUwOTdD
NzE1RjAwMTlGM0Q4IC8qIERPTVRyYXZlcnNhbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQTM3
QzAwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTVZpZXdzLmggaW4gSGVhZGVycyAqLywKQEAgLTkyMjMs
NyArOTI1MSw2IEBACiAJCQkJODU4QzM4QTUwQUE4RjIwNDAwQjE4N0E0IC8qIERPTUNvdW50ZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg1OEMzOEE3MEFBOEYyMDQwMEIxODdBNCAvKiBET01SZWN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NThDMzkyODBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NT
U3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODU4QzM5NUYwQUE5MDJBOTAwQjE4N0E0
IC8qIERPTVJHQkNvbG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0FFMjMxODBBQUI1MUU1MDBD
RDhBMzUgLyogVGV4dEVuY29kaW5nUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDY1
NkZFMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg1MDY1NzAwMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01TdHlsZVNoZWV0LmggaW4gSGVhZGVycyAq
LywKQEAgLTkzNzUsNyArOTQwMiw2IEBACiAJCQkJODUzQkY0RUIwQUJCNkU5NzAwODY0N0JCIC8q
IERPTU5vZGVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUJDQkMxMzBBQkJBODdEMDAz
ODExNjAgLyogRE9NSFRNTERvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBQTIxRUNDRDBB
QkYwRkM2MDAyQjgzNEMgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJODUxRUU4MEMwQUJDQTI4RjAwQTZBQTMzIC8qIERPTUFic3RyYWN0Vmlldy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODUxRUU4MTEwQUJDQTM5NjAwQTZBQTMzIC8qIERPTUV2ZW50RXhjZXB0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTFFRTgyMTBBQkNBNTgxMDBBNkFBMzMgLyogRE9NUmFu
Z2VFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTg1ODAxNUNFMEFCQ0E3NUQwMDgwNTg4
RCAvKiBET01YUGF0aEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC05NjMzLDYgKzk2NTks
MTIgQEAKIAkJCQk4NTQwNzU2QTBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTEVtYmVkRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU0MDc1NkIwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhU
TUxPcHRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTQwNzU2RDBBRDZDQkY5MDA2
MjBDNTcgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODU1RDM1OEEwQUQ3MDczMTAwMTlBQUM3IC8qIERPTVJHQkNvbG9yLmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NTM4RjAxOTBBRDcxOEQ4MDA2QTgxRDEgLyogRE9NQWJzdHJhY3RWaWV3LmggaW4g
SGVhZGVycyAqLywKKwkJCQk4NTM4RjAxQjBBRDcxOEQ4MDA2QTgxRDEgLyogRE9NQWJzdHJhY3RW
aWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1MzhGMDVCMEFENzIyRjEwMDZBODFE
MSAvKiBET01SYW5nZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODUzOEYwNUQwQUQ3MjJGMTAwNkE4
MUQxIC8qIERPTVJhbmdlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1MzhGMDg1MEFE
NzJDQjYwMDZBODFEMSAvKiBET01SYW5nZXMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1
bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtOTcyNSw2ICs5
NzU3LDcgQEAKIAkJCQkxQ0Q0NDE4RjBBNENFNzZGMDBBMDA3QUIgLyogbm9ydGhTb3V0aFJlc2l6
ZUN1cnNvci50aWZmIGluIFJlc291cmNlcyAqLywKIAkJCQkxQ0Q0NDE5MDBBNENFNzZGMDBBMDA3
QUIgLyogbm9ydGhXZXN0U291dGhFYXN0UmVzaXplQ3Vyc29yLnRpZmYgaW4gUmVzb3VyY2VzICov
LAogCQkJCTUxMTUwOTVDMEE5Q0UwNDcwMDkwMTAxMyAvKiB1cmxJY29uLnRpZmYgaW4gUmVzb3Vy
Y2VzICovLAorCQkJCTg1MzhGMDAxMEFENzE3NzAwMDZBODFEMSAvKiBBYnN0cmFjdFZpZXcuaWRs
IGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEwNzE1LDcgKzEwNzQ4LDYgQEAKIAkJCQk4NTNCRjREQzBB
QkI2QjU1MDA4NjQ3QkIgLyogRE9NTm9kZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1QkNCQzE0
MEFCQkE4N0QwMDM4MTE2MCAvKiBET01IVE1MRG9jdW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlBQTIxRUNDQTBBQkYwRkJBMDAyQjgzNEMgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk4NTFFRTgwRDBBQkNBMjhGMDBBNkFBMzMgLyogRE9NQWJzdHJhY3RW
aWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg0MTVGOUIwQUMxMEM1RDAwRjdEMERGIC8qIEtD
YW52YXNDbGlwcGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NDE1RjlEMEFDMTBDNUQwMEY3
RDBERiAvKiBLQ2FudmFzUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg0MTVGOUYw
QUMxMEM1RDAwRjdEMERGIC8qIEtDYW52YXNNYXNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0x
MDc5Myw2ICsxMDgyNSw4IEBACiAJCQkJODUwMkFCNzcwQUQ0MzhFNjAwMzc4NTQwIC8qIERPTVNW
R0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODVDMjM5ODIwQUQ1OTA3RDAwMzUzM0U3IC8qIERPTVNWR051bWJlckxpc3QubW0gaW4gU291cmNl
cyAqLywKIAkJCQk4NTQwNzU2QzBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTE9wdGlvbkVsZW1l
bnQubW0gaW4gU291cmNlcyAqLywKKwkJCQk4NTM4RjAxQTBBRDcxOEQ4MDA2QTgxRDEgLyogRE9N
QWJzdHJhY3RWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJODUzOEYwNUMwQUQ3MjJGMTAwNkE4
MUQxIC8qIERPTVJhbmdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTS5oCShy
ZXZpc2lvbiAxNjg1OSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00uaAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDcgKzI5LDggQEAKICNpbXBvcnQgPFdl
YkNvcmUvRE9NRXh0ZW5zaW9ucy5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01FdmVudHMuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRE9NSFRNTC5oPgotI2ltcG9ydCA8V2ViQ29yZS9ET01SYW5nZS5oPgor
I2ltcG9ydCA8V2ViQ29yZS9ET01SYW5nZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NU3R5bGVz
aGVldHMuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NVHJhdmVyc2FsLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0RPTVZpZXdzLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTVhQYXRoLmg+CkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mv
b2JqYy9ET00ubW0JKHJldmlzaW9uIDE2ODU5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDMyLDIxICs0MzIsNyBAQCBzdGF0aWMgQ2xhc3MgZWxl
bWVudENsYXNzKGNvbnN0IFdlYkNvcmU6CiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogLy8gRE9NUmFuZ2UKIAotQGltcGxlbWVudGF0aW9uIERPTVJhbmdlCi0KLS0gKHZvaWQp
ZGVhbGxvYwotewotICAgIGlmIChfaW50ZXJuYWwpCi0gICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8
V2ViQ29yZTo6UmFuZ2UqPihfaW50ZXJuYWwpLT5kZXJlZigpOwotICAgIFtzdXBlciBkZWFsbG9j
XTsKLX0KLQotLSAodm9pZClmaW5hbGl6ZQotewotICAgIGlmIChfaW50ZXJuYWwpCi0gICAgICAg
IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6UmFuZ2UqPihfaW50ZXJuYWwpLT5kZXJlZigpOwot
ICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19CitAaW1wbGVtZW50YXRpb24gRE9NUmFuZ2UgKERPTVJh
bmdlRXh0ZW5zaW9ucykKIAogLSAoTlNTdHJpbmcgKilkZXNjcmlwdGlvbgogewpAQCAtNDU2LDI0
MiArNDQyLDExIEBAIHN0YXRpYyBDbGFzcyBlbGVtZW50Q2xhc3MoY29uc3QgV2ViQ29yZToKICAg
ICAgICAgICAgICAgIFtzZWxmIHN0YXJ0Q29udGFpbmVyXSwgW3NlbGYgc3RhcnRPZmZzZXRdLCBb
c2VsZiBlbmRDb250YWluZXJdLCBbc2VsZiBlbmRPZmZzZXRdXTsKIH0KIAotLSAoRE9NTm9kZSAq
KXN0YXJ0Q29udGFpbmVyCi17Ci0gICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0g
ICAgRE9NTm9kZSAqcmVzdWx0ID0gW0RPTU5vZGUgX25vZGVXaXRoOltzZWxmIF9yYW5nZV0tPnN0
YXJ0Q29udGFpbmVyKGVjKV07Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi0tIChpbnQpc3RhcnRPZmZzZXQKLXsKLSAgICBXZWJDb3JlOjpFeGNlcHRp
b25Db2RlIGVjID0gMDsKLSAgICBpbnQgcmVzdWx0ID0gW3NlbGYgX3JhbmdlXS0+c3RhcnRPZmZz
ZXQoZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0K
LQotLSAoRE9NTm9kZSAqKWVuZENvbnRhaW5lcgotewotICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOwotICAgIERPTU5vZGUgKnJlc3VsdCA9IFtET01Ob2RlIF9ub2RlV2l0aDpbc2Vs
ZiBfcmFuZ2VdLT5lbmRDb250YWluZXIoZWMpXTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS0gKGludCllbmRPZmZzZXQKLXsKLSAgICBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBpbnQgcmVzdWx0ID0gW3NlbGYgX3JhbmdlXS0+
ZW5kT2Zmc2V0KGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLS0gKEJPT0wpY29sbGFwc2VkCi17Ci0gICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29k
ZSBlYyA9IDA7Ci0gICAgQk9PTCByZXN1bHQgPSBbc2VsZiBfcmFuZ2VdLT5jb2xsYXBzZWQoZWMp
OwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLSAo
RE9NTm9kZSAqKWNvbW1vbkFuY2VzdG9yQ29udGFpbmVyCi17Ci0gICAgV2ViQ29yZTo6RXhjZXB0
aW9uQ29kZSBlYyA9IDA7Ci0gICAgRE9NTm9kZSAqcmVzdWx0ID0gW0RPTU5vZGUgX25vZGVXaXRo
OltzZWxmIF9yYW5nZV0tPmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKGVjKV07Ci0gICAgcmFpc2VP
bkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0tICh2b2lkKXNldFN0YXJ0
OihET01Ob2RlICopcmVmTm9kZSBvZmZzZXQ6KGludClvZmZzZXQKLXsKLSAgICBXZWJDb3JlOjpF
eGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfcmFuZ2VdLT5zZXRTdGFydChbcmVmTm9k
ZSBfbm9kZV0sIG9mZnNldCwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci19Ci0KLS0g
KHZvaWQpc2V0RW5kOihET01Ob2RlICopcmVmTm9kZSBvZmZzZXQ6KGludClvZmZzZXQKLXsKLSAg
ICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfcmFuZ2VdLT5zZXRF
bmQoW3JlZk5vZGUgX25vZGVdLCBvZmZzZXQsIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMp
OwotfQotCi0tICh2b2lkKXNldFN0YXJ0QmVmb3JlOihET01Ob2RlICopcmVmTm9kZQotewotICAg
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFtzZWxmIF9yYW5nZV0tPnNldFN0
YXJ0QmVmb3JlKFtyZWZOb2RlIF9ub2RlXSwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7
Ci19Ci0KLS0gKHZvaWQpc2V0U3RhcnRBZnRlcjooRE9NTm9kZSAqKXJlZk5vZGUKLXsKLSAgICBX
ZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfcmFuZ2VdLT5zZXRTdGFy
dEFmdGVyKFtyZWZOb2RlIF9ub2RlXSwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci19
Ci0KLS0gKHZvaWQpc2V0RW5kQmVmb3JlOihET01Ob2RlICopcmVmTm9kZQotewotICAgIFdlYkNv
cmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFtzZWxmIF9yYW5nZV0tPnNldEVuZEJlZm9y
ZShbcmVmTm9kZSBfbm9kZV0sIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi0t
ICh2b2lkKXNldEVuZEFmdGVyOihET01Ob2RlICopcmVmTm9kZQotewotICAgIFdlYkNvcmU6OkV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFtzZWxmIF9yYW5nZV0tPnNldEVuZEFmdGVyKFtyZWZO
b2RlIF9ub2RlXSwgZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci19Ci0KLS0gKHZvaWQp
Y29sbGFwc2U6KEJPT0wpdG9TdGFydAotewotICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwotICAgIFtzZWxmIF9yYW5nZV0tPmNvbGxhcHNlKHRvU3RhcnQsIGVjKTsKLSAgICByYWlz
ZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tICh2b2lkKXNlbGVjdE5vZGU6KERPTU5vZGUgKilyZWZO
b2RlCi17Ci0gICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgW3NlbGYgX3Jh
bmdlXS0+c2VsZWN0Tm9kZShbcmVmTm9kZSBfbm9kZV0sIGVjKTsKLSAgICByYWlzZU9uRE9NRXJy
b3IoZWMpOwotfQotCi0tICh2b2lkKXNlbGVjdE5vZGVDb250ZW50czooRE9NTm9kZSAqKXJlZk5v
ZGUKLXsKLSAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfcmFu
Z2VdLT5zZWxlY3ROb2RlQ29udGVudHMoW3JlZk5vZGUgX25vZGVdLCBlYyk7Ci0gICAgcmFpc2VP
bkRPTUVycm9yKGVjKTsKLX0KLQotLSAoc2hvcnQpY29tcGFyZUJvdW5kYXJ5UG9pbnRzOih1bnNp
Z25lZCBzaG9ydClob3cgc291cmNlUmFuZ2U6KERPTVJhbmdlICopc291cmNlUmFuZ2UKLXsKLSAg
ICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBzaG9ydCByZXN1bHQgPSBbc2Vs
ZiBfcmFuZ2VdLT5jb21wYXJlQm91bmRhcnlQb2ludHMoc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UmFu
Z2U6OkNvbXBhcmVIb3c+KGhvdyksIFtzb3VyY2VSYW5nZSBfcmFuZ2VdLCBlYyk7Ci0gICAgcmFp
c2VPbkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0tICh2b2lkKWRlbGV0
ZUNvbnRlbnRzCi17Ci0gICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgW3Nl
bGYgX3JhbmdlXS0+ZGVsZXRlQ29udGVudHMoZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7
Ci19Ci0KLS0gKERPTURvY3VtZW50RnJhZ21lbnQgKilleHRyYWN0Q29udGVudHMKLXsKLSAgICBX
ZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBET01Eb2N1bWVudEZyYWdtZW50ICpy
ZXN1bHQgPSBbRE9NRG9jdW1lbnRGcmFnbWVudCBfZG9jdW1lbnRGcmFnbWVudFdpdGg6W3NlbGYg
X3JhbmdlXS0+ZXh0cmFjdENvbnRlbnRzKGVjKS5nZXQoKV07Ci0gICAgcmFpc2VPbkRPTUVycm9y
KGVjKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0tIChET01Eb2N1bWVudEZyYWdtZW50ICop
Y2xvbmVDb250ZW50cwotewotICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAg
IERPTURvY3VtZW50RnJhZ21lbnQgKnJlc3VsdCA9IFtET01Eb2N1bWVudEZyYWdtZW50IF9kb2N1
bWVudEZyYWdtZW50V2l0aDpbc2VsZiBfcmFuZ2VdLT5jbG9uZUNvbnRlbnRzKGVjKS5nZXQoKV07
Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0tICh2
b2lkKWluc2VydE5vZGU6KERPTU5vZGUgKiluZXdOb2RlCi17Ci0gICAgV2ViQ29yZTo6RXhjZXB0
aW9uQ29kZSBlYyA9IDA7Ci0gICAgW3NlbGYgX3JhbmdlXS0+aW5zZXJ0Tm9kZShbbmV3Tm9kZSBf
bm9kZV0sIGVjKTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tICh2b2lkKXN1cnJv
dW5kQ29udGVudHM6KERPTU5vZGUgKiluZXdQYXJlbnQKLXsKLSAgICBXZWJDb3JlOjpFeGNlcHRp
b25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfcmFuZ2VdLT5zdXJyb3VuZENvbnRlbnRzKFtuZXdQ
YXJlbnQgX25vZGVdLCBlYyk7Ci0gICAgcmFpc2VPbkRPTUVycm9yKGVjKTsKLX0KLQotLSAoRE9N
UmFuZ2UgKiljbG9uZVJhbmdlCi17Ci0gICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7
Ci0gICAgRE9NUmFuZ2UgKnJlc3VsdCA9IFtET01SYW5nZSBfcmFuZ2VXaXRoOltzZWxmIF9yYW5n
ZV0tPmNsb25lUmFuZ2UoZWMpLmdldCgpXTsKLSAgICByYWlzZU9uRE9NRXJyb3IoZWMpOwotICAg
IHJldHVybiByZXN1bHQ7Ci19Ci0KLS0gKE5TU3RyaW5nICopdG9TdHJpbmcKLXsKLSAgICBXZWJD
b3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBOU1N0cmluZyAqcmVzdWx0ID0gW3NlbGYg
X3JhbmdlXS0+dG9TdHJpbmcoZWMpOwotICAgIHJhaXNlT25ET01FcnJvcihlYyk7Ci0gICAgcmV0
dXJuIHJlc3VsdDsKLX0KLQogLSAoTlNTdHJpbmcgKil0ZXh0CiB7CiAgICAgcmV0dXJuIFtzZWxm
IF9yYW5nZV0tPnRleHQoKTsKIH0KIAotLSAodm9pZClkZXRhY2gKLXsKLSAgICBXZWJDb3JlOjpF
eGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBbc2VsZiBfcmFuZ2VdLT5kZXRhY2goZWMpOwotICAg
IHJhaXNlT25ET01FcnJvcihlYyk7Ci19Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIERPTVJh
bmdlIChET01SYW5nZURlcHJlY2F0ZWQpCi0KLS0gKHZvaWQpc2V0U3RhcnQ6KERPTU5vZGUgKily
ZWZOb2RlIDooaW50KW9mZnNldAotewotICAgIFtzZWxmIHNldFN0YXJ0OnJlZk5vZGUgb2Zmc2V0
Om9mZnNldF07Ci19Ci0KLS0gKHZvaWQpc2V0RW5kOihET01Ob2RlICopcmVmTm9kZSA6KGludClv
ZmZzZXQKLXsKLSAgICBbc2VsZiBzZXRFbmQ6cmVmTm9kZSBvZmZzZXQ6b2Zmc2V0XTsKLX0KLQot
LSAoc2hvcnQpY29tcGFyZUJvdW5kYXJ5UG9pbnRzOih1bnNpZ25lZCBzaG9ydClob3cgOihET01S
YW5nZSAqKXNvdXJjZVJhbmdlCi17Ci0gICAgcmV0dXJuIFtzZWxmIGNvbXBhcmVCb3VuZGFyeVBv
aW50czpob3cgc291cmNlUmFuZ2U6c291cmNlUmFuZ2VdOwotfQotCi1AZW5kCi0KLUBpbXBsZW1l
bnRhdGlvbiBET01SYW5nZSAoV2ViQ29yZUludGVybmFsKQotCi0tIChpZClfaW5pdFdpdGhSYW5n
ZTooV2ViQ29yZTo6UmFuZ2UgKilpbXBsCi17Ci0gICAgQVNTRVJUKGltcGwpOwotCi0gICAgW3N1
cGVyIF9pbml0XTsKLSAgICBfaW50ZXJuYWwgPSByZWludGVycHJldF9jYXN0PERPTU9iamVjdElu
dGVybmFsKj4oaW1wbCk7Ci0gICAgaW1wbC0+cmVmKCk7Ci0gICAgYWRkRE9NV3JhcHBlcihzZWxm
LCBpbXBsKTsKLSAgICByZXR1cm4gc2VsZjsKLX0KLQotKyAoRE9NUmFuZ2UgKilfcmFuZ2VXaXRo
OihXZWJDb3JlOjpSYW5nZSAqKWltcGwKLXsKLSAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVy
biBuaWw7Ci0gICAgCi0gICAgaWQgY2FjaGVkSW5zdGFuY2U7Ci0gICAgY2FjaGVkSW5zdGFuY2Ug
PSBnZXRET01XcmFwcGVyKGltcGwpOwotICAgIGlmIChjYWNoZWRJbnN0YW5jZSkKLSAgICAgICAg
cmV0dXJuIFtbY2FjaGVkSW5zdGFuY2UgcmV0YWluXSBhdXRvcmVsZWFzZV07Ci0gICAgCi0gICAg
cmV0dXJuIFtbW3NlbGYgYWxsb2NdIF9pbml0V2l0aFJhbmdlOmltcGxdIGF1dG9yZWxlYXNlXTsK
LX0KLQotLSAoV2ViQ29yZTo6UmFuZ2UgKilfcmFuZ2UKLXsKLSAgICByZXR1cm4gcmVpbnRlcnBy
ZXRfY2FzdDxXZWJDb3JlOjpSYW5nZSo+KF9pbnRlcm5hbCk7Ci19Ci0KIEBlbmQKIAogQGltcGxl
bWVudGF0aW9uIERPTVJhbmdlIChXZWJQcml2YXRlKQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTUFic3RyYWN0Vmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01BYnN0cmFjdFZpZXcuaAkocmV2aXNpb24gMTY4NTkpCisrKyBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NQWJzdHJhY3RWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vp
bmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2ltcG9ydCA8V2ViQ29yZS9ET01P
YmplY3QuaD4KLQotQGNsYXNzIERPTURvY3VtZW50OwotCi1AaW50ZXJmYWNlIERPTUFic3RyYWN0
VmlldyA6IERPTU9iamVjdAotI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgotQHByb3BlcnR5KHJl
YWRvbmx5KSBET01Eb2N1bWVudCAqZG9jdW1lbnQ7Ci0jZWxzZQotLSAoRE9NRG9jdW1lbnQgKilk
b2N1bWVudDsKLSNlbmRpZgotQGVuZApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUFi
c3RyYWN0Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQWJz
dHJhY3RWaWV3Lm1tCShyZXZpc2lvbiAxNjg1OSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01BYnN0cmFjdFZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTEsODMgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkRPTUFi
c3RyYWN0Vmlldy5oIgotCi0jaW1wb3J0IDx3dGYvR2V0UHRyLmg+Ci0KLSNpbXBvcnQgIkRPTURv
Y3VtZW50LmgiCi0jaW1wb3J0ICJET01JbnRlcm5hbC5oIgotI2ltcG9ydCAiRE9NV2luZG93Lmgi
Ci0jaW1wb3J0ICJEb2N1bWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgdHlwZWRl
ZiBET01XaW5kb3cgQWJzdHJhY3RWaWV3OwotfQotCi1AaW1wbGVtZW50YXRpb24gRE9NQWJzdHJh
Y3RWaWV3Ci0KLSNkZWZpbmUgSU1QTCByZWludGVycHJldF9jYXN0PFdlYkNvcmU6OkRPTVdpbmRv
dyo+KF9pbnRlcm5hbCkKLQotLSAoRE9NRG9jdW1lbnQgKilkb2N1bWVudAotewotICAgIHJldHVy
biBbRE9NRG9jdW1lbnQgX2RvY3VtZW50V2l0aDpXVEY6OmdldFB0cihJTVBMLT5kb2N1bWVudCgp
KV07Ci19Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIERPTUFic3RyYWN0VmlldyAoV2ViQ29y
ZUludGVybmFsKQotCi0tIChXZWJDb3JlOjpBYnN0cmFjdFZpZXcgKilfYWJzdHJhY3RWaWV3Ci17
Ci0gICAgcmV0dXJuIElNUEw7Ci19Ci0KLS0gKGlkKV9pbml0V2l0aEFic3RyYWN0VmlldzooV2Vi
Q29yZTo6QWJzdHJhY3RWaWV3ICopaW1wbAotewotICAgIEFTU0VSVChpbXBsKTsKLQotICAgIFtz
dXBlciBfaW5pdF07Ci0gICAgX2ludGVybmFsID0gcmVpbnRlcnByZXRfY2FzdDxET01PYmplY3RJ
bnRlcm5hbCAqPihpbXBsKTsKLSAgICBpbXBsLT5yZWYoKTsKLSAgICBhZGRET01XcmFwcGVyKHNl
bGYsIGltcGwpOwotICAgIHJldHVybiBzZWxmOwotfQotCi0rIChET01BYnN0cmFjdFZpZXcgKilf
YWJzdHJhY3RWaWV3V2l0aDooV2ViQ29yZTo6QWJzdHJhY3RWaWV3ICopaW1wbAotewotICAgIGlm
ICghaW1wbCkKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICBpZCBjYWNoZWRJbnN0YW5j
ZTsKLSAgICBjYWNoZWRJbnN0YW5jZSA9IGdldERPTVdyYXBwZXIoaW1wbCk7Ci0gICAgaWYgKGNh
Y2hlZEluc3RhbmNlKQotICAgICAgICByZXR1cm4gW1tjYWNoZWRJbnN0YW5jZSByZXRhaW5dIGF1
dG9yZWxlYXNlXTsKLSAgICAKLSAgICByZXR1cm4gW1tbRE9NQWJzdHJhY3RWaWV3IGFsbG9jXSBf
aW5pdFdpdGhBYnN0cmFjdFZpZXc6aW1wbF0gYXV0b3JlbGVhc2VdOwotfQotCi1AZW5kCkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAkocmV2aXNpb24gMTY4NjApCisrKyBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyAr
MjgsNiBAQAogI2ltcG9ydCAiRE9NLmgiCiAKICNpbXBvcnQgIkNvbG9yLmgiCi0jaW1wb3J0ICJE
T01BYnN0cmFjdFZpZXcuaCIKICNpbXBvcnQgIkRPTUNTU1J1bGUuaCIKICNpbXBvcnQgIkRPTUNT
U1ZhbHVlLmgiCiAjaW1wb3J0ICJET01FdmVudHMuaCIKQEAgLTQ4LDYgKzQ3LDcgQEAKICNlbmRp
ZiAvLyBYUEFUSF9TVVBQT1JUCiAKIC8vIEF1dG8tZ2VuZXJhdGVkIGludGVybmFsIGludGVyZmFj
ZXMKKyNpbXBvcnQgIkRPTUFic3RyYWN0Vmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJET01BdHRy
SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNEQVRBU2VjdGlvbkludGVybmFsLmgiCiAjaW1wb3J0
ICJET01DU1NDaGFyc2V0UnVsZUludGVybmFsLmgiCkBAIC0xMzYsNiArMTM2LDcgQEAKICNpbXBv
cnQgIkRPTU5vdGF0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTU92ZXJmbG93RXZlbnRJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uSW50ZXJuYWwuaCIKKyNp
bXBvcnQgIkRPTVJhbmdlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVJlY3RJbnRlcm5hbC5oIgog
I2ltcG9ydCAiRE9NU3R5bGVTaGVldExpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NVGV4dElu
dGVybmFsLmgiCkBAIC0yMTYsMTIgKzIxNywxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIENTU1J1bGU7CiAgICAgY2xhc3MgQ1NTVmFsdWU7Ci0gICAgY2xhc3MgRE9NV2luZG93
OwogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNzIE5vZGU7CiAgICAgY2xhc3MgTm9kZUZpbHRl
cjsKICAgICBjbGFzcyBOb2RlSXRlcmF0b3I7Ci0gICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3Mg
U3R5bGVTaGVldDsKICAgICBjbGFzcyBUcmVlV2Fsa2VyOwogCkBAIC0yMzUsNyArMjM0LDYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmIC8vIFhQQVRIX1NVUFBPUlQKIAogICAgIHR5cGVk
ZWYgaW50IEV4Y2VwdGlvbkNvZGU7Ci0gICAgdHlwZWRlZiBET01XaW5kb3cgQWJzdHJhY3RWaWV3
OwogfQogCiAvLyBDb3JlIEludGVybmFsIEludGVyZmFjZXMKQEAgLTI3OSwxMyArMjc3LDYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogLSAoV2ViQ29yZTo6RXZlbnQgKilfZXZlbnQ7CiBAZW5kCiAK
LS8vIFJhbmdlIEludGVybmFsIEludGVyZmFjZXMKLQotQGludGVyZmFjZSBET01SYW5nZSAoV2Vi
Q29yZUludGVybmFsKQotKyAoRE9NUmFuZ2UgKilfcmFuZ2VXaXRoOihXZWJDb3JlOjpSYW5nZSAq
KWltcGw7Ci0tIChXZWJDb3JlOjpSYW5nZSAqKV9yYW5nZTsKLUBlbmQKLQogLy8gVHJhdmVyc2Fs
IEludGVybmFsIEludGVyZmFjZXMKIAogQGludGVyZmFjZSBET01Ob2RlSXRlcmF0b3IgKFdlYkNv
cmVJbnRlcm5hbCkKQEAgLTMwMCwxMyArMjkxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogKyAo
RE9NTm9kZUZpbHRlciAqKV9ub2RlRmlsdGVyV2l0aDooV2ViQ29yZTo6Tm9kZUZpbHRlciAqKWlt
cGw7CiBAZW5kCiAKLS8vIFZpZXdzIEludGVybmFsIEludGVyZmFjZXMKLQotQGludGVyZmFjZSBE
T01BYnN0cmFjdFZpZXcgKFdlYkNvcmVJbnRlcm5hbCkKLSsgKERPTUFic3RyYWN0VmlldyAqKV9h
YnN0cmFjdFZpZXdXaXRoOihXZWJDb3JlOjpBYnN0cmFjdFZpZXcgKilpbXBsOwotLSAoV2ViQ29y
ZTo6QWJzdHJhY3RWaWV3ICopX2Fic3RyYWN0VmlldzsKLUBlbmQKLQogCiAjaWZkZWYgU1ZHX1NV
UFBPUlQKIC8vIFNWRyBJbnRlcm5hbCBJbnRlcmZhY2VzCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NUkdCQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMv
RE9NUkdCQ29sb3IuaAkocmV2aXNpb24gMTY4NTkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMv
RE9NUkdCQ29sb3IuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1MiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDA0LTIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0Bn
bWFpbC5jb20+Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAotICovCi0KLSNpbXBvcnQgPFdlYkNvcmUvRE9NT2JqZWN0Lmg+Ci0KLUBjbGFz
cyBOU0NvbG9yOwotQGNsYXNzIERPTUNTU1ByaW1pdGl2ZVZhbHVlOwotCi1AaW50ZXJmYWNlIERP
TVJHQkNvbG9yIDogRE9NT2JqZWN0Ci0jaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCi1AcHJvcGVy
dHkocmVhZG9ubHkpIERPTUNTU1ByaW1pdGl2ZVZhbHVlICpyZWQ7Ci1AcHJvcGVydHkocmVhZG9u
bHkpIERPTUNTU1ByaW1pdGl2ZVZhbHVlICpncmVlbjsKLUBwcm9wZXJ0eShyZWFkb25seSkgRE9N
Q1NTUHJpbWl0aXZlVmFsdWUgKmJsdWU7Ci0jZWxzZQotLSAoRE9NQ1NTUHJpbWl0aXZlVmFsdWUg
KilyZWQ7Ci0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAqKWdyZWVuOwotLSAoRE9NQ1NTUHJpbWl0
aXZlVmFsdWUgKilibHVlOwotI2VuZGlmCi1AZW5kCi0KLUBpbnRlcmZhY2UgRE9NUkdCQ29sb3Ig
KERPTVJHQkNvbG9yRXh0ZW5zaW9ucykKLSNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIKLUBwcm9w
ZXJ0eShyZWFkb25seSkgRE9NQ1NTUHJpbWl0aXZlVmFsdWUgKmFscGhhOwotQHByb3BlcnR5KHJl
YWRvbmx5KSBOU0NvbG9yICpjb2xvcjsKLSNlbHNlCi0tIChET01DU1NQcmltaXRpdmVWYWx1ZSAq
KWFscGhhOwotLSAoTlNDb2xvciAqKWNvbG9yOwotI2VuZGlmCi1AZW5kCkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NUkdCQ29sb3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTVJHQkNvbG9yLm1tCShyZXZpc2lvbiAxNjg1OSkKKysrIFdlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01SR0JDb2xvci5tbQkod29ya2luZyBjb3B5KQpAQCAtOTQsMTAgKzk0LDYg
QEAgdm9pZCByZW1vdmVXcmFwcGVyRm9yUkdCKFdlYkNvcmU6OlJHQkEzMgogICAgIHJldHVybiBb
RE9NQ1NTUHJpbWl0aXZlVmFsdWUgX0NTU1ByaW1pdGl2ZVZhbHVlV2l0aDpuZXcgV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWUodmFsdWUsIFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
TlVNQkVSKV07CiB9CiAKLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIERPTVJHQkNvbG9yIChET01S
R0JDb2xvckV4dGVuc2lvbnMpCi0KIC0gKERPTUNTU1ByaW1pdGl2ZVZhbHVlICopYWxwaGEKIHsK
ICAgICBXZWJDb3JlOjpSR0JBMzIgcmdiID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KF9p
bnRlcm5hbCk7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUmFuZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUmFuZ2UuaAkocmV2aXNpb24gMTY4NTkp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUmFuZ2UuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw4NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA0IEFwcGxlIENvbXB1dGVyLCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBX
ZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW1wb3J0IDxXZWJDb3JlL0RP
TUNvcmUuaD4KLSNpbXBvcnQgPFdlYkNvcmUvRE9NRG9jdW1lbnQuaD4KLSNpbXBvcnQgPFdlYkNv
cmUvRE9NT2JqZWN0Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL0RPTVJhbmdlRXhjZXB0aW9uLmg+Ci0K
LS8vIERPTSBSYW5nZSBjb21wYXJpc29uIGNvZGVzCi1lbnVtIHsKLSAgICBET01fU1RBUlRfVE9f
U1RBUlQgICAgICAgICAgICAgICAgPSAwLAotICAgIERPTV9TVEFSVF9UT19FTkQgICAgICAgICAg
ICAgICAgICA9IDEsCi0gICAgRE9NX0VORF9UT19FTkQgICAgICAgICAgICAgICAgICAgID0gMiwK
LSAgICBET01fRU5EX1RPX1NUQVJUICAgICAgICAgICAgICAgICAgPSAzCi19OwotCi1AaW50ZXJm
YWNlIERPTVJhbmdlIDogRE9NT2JqZWN0Ci0jaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCi1AcHJv
cGVydHkocmVhZG9ubHkpIERPTU5vZGUgKnN0YXJ0Q29udGFpbmVyOwotQHByb3BlcnR5KHJlYWRv
bmx5KSBpbnQgc3RhcnRPZmZzZXQ7Ci1AcHJvcGVydHkocmVhZG9ubHkpIERPTU5vZGUgKmVuZENv
bnRhaW5lcjsKLUBwcm9wZXJ0eShyZWFkb25seSkgaW50IGVuZE9mZnNldDsKLUBwcm9wZXJ0eShy
ZWFkb25seSkgQk9PTCBjb2xsYXBzZWQ7Ci1AcHJvcGVydHkocmVhZG9ubHkpIERPTU5vZGUgKmNv
bW1vbkFuY2VzdG9yQ29udGFpbmVyOwotI2Vsc2UKLS0gKERPTU5vZGUgKilzdGFydENvbnRhaW5l
cjsKLS0gKGludClzdGFydE9mZnNldDsKLS0gKERPTU5vZGUgKillbmRDb250YWluZXI7Ci0tIChp
bnQpZW5kT2Zmc2V0OwotLSAoQk9PTCljb2xsYXBzZWQ7Ci0tIChET01Ob2RlICopY29tbW9uQW5j
ZXN0b3JDb250YWluZXI7Ci0jZW5kaWYKLS0gKHZvaWQpc2V0U3RhcnQ6KERPTU5vZGUgKilyZWZO
b2RlIG9mZnNldDooaW50KW9mZnNldDsKLS0gKHZvaWQpc2V0RW5kOihET01Ob2RlICopcmVmTm9k
ZSBvZmZzZXQ6KGludClvZmZzZXQ7Ci0tICh2b2lkKXNldFN0YXJ0QmVmb3JlOihET01Ob2RlICop
cmVmTm9kZTsKLS0gKHZvaWQpc2V0U3RhcnRBZnRlcjooRE9NTm9kZSAqKXJlZk5vZGU7Ci0tICh2
b2lkKXNldEVuZEJlZm9yZTooRE9NTm9kZSAqKXJlZk5vZGU7Ci0tICh2b2lkKXNldEVuZEFmdGVy
OihET01Ob2RlICopcmVmTm9kZTsKLS0gKHZvaWQpY29sbGFwc2U6KEJPT0wpdG9TdGFydDsKLS0g
KHZvaWQpc2VsZWN0Tm9kZTooRE9NTm9kZSAqKXJlZk5vZGU7Ci0tICh2b2lkKXNlbGVjdE5vZGVD
b250ZW50czooRE9NTm9kZSAqKXJlZk5vZGU7Ci0tIChzaG9ydCljb21wYXJlQm91bmRhcnlQb2lu
dHM6KHVuc2lnbmVkIHNob3J0KWhvdyBzb3VyY2VSYW5nZTooRE9NUmFuZ2UgKilzb3VyY2VSYW5n
ZTsKLS0gKHZvaWQpZGVsZXRlQ29udGVudHM7Ci0tIChET01Eb2N1bWVudEZyYWdtZW50ICopZXh0
cmFjdENvbnRlbnRzOwotLSAoRE9NRG9jdW1lbnRGcmFnbWVudCAqKWNsb25lQ29udGVudHM7Ci0t
ICh2b2lkKWluc2VydE5vZGU6KERPTU5vZGUgKiluZXdOb2RlOwotLSAodm9pZClzdXJyb3VuZENv
bnRlbnRzOihET01Ob2RlICopbmV3UGFyZW50OwotLSAoRE9NUmFuZ2UgKiljbG9uZVJhbmdlOwot
LSAoTlNTdHJpbmcgKil0b1N0cmluZzsKLS0gKHZvaWQpZGV0YWNoOwotQGVuZAotCi1AaW50ZXJm
YWNlIERPTVJhbmdlIChET01SYW5nZURlcHJlY2F0ZWQpCi0jaWZuZGVmIEJVSUxESU5HX09OX1RJ
R0VSCi0tICh2b2lkKXNldFN0YXJ0OihET01Ob2RlICopcmVmTm9kZSA6KGludClvZmZzZXQgREVQ
UkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzVfQU5EX0xBVEVSOwotLSAodm9pZClzZXRF
bmQ6KERPTU5vZGUgKilyZWZOb2RlIDooaW50KW9mZnNldCBERVBSRUNBVEVEX0lOX01BQ19PU19Y
X1ZFUlNJT05fMTBfNV9BTkRfTEFURVI7Ci0tIChzaG9ydCljb21wYXJlQm91bmRhcnlQb2ludHM6
KHVuc2lnbmVkIHNob3J0KWhvdyA6KERPTVJhbmdlICopc291cmNlUmFuZ2UgREVQUkVDQVRFRF9J
Tl9NQUNfT1NfWF9WRVJTSU9OXzEwXzVfQU5EX0xBVEVSOwotI2Vsc2UKLS0gKHZvaWQpc2V0U3Rh
cnQ6KERPTU5vZGUgKilyZWZOb2RlIDooaW50KW9mZnNldDsKLS0gKHZvaWQpc2V0RW5kOihET01O
b2RlICopcmVmTm9kZSA6KGludClvZmZzZXQ7Ci0tIChzaG9ydCljb21wYXJlQm91bmRhcnlQb2lu
dHM6KHVuc2lnbmVkIHNob3J0KWhvdyA6KERPTVJhbmdlICopc291cmNlUmFuZ2U7Ci0jZW5kaWYK
LUBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01SYW5nZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NUmFuZ2VzLmgJKHJldmlzaW9uIDE2ODU5KQor
KysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVJhbmdlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCBBcHBsZSBDb21wdXRlciwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNiBBcHBs
ZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKQEAgLTI0LDYzICsyNCw1IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaW1wb3J0IDxX
ZWJDb3JlL0RPTUNvcmUuaD4KLSNpbXBvcnQgPFdlYkNvcmUvRE9NRG9jdW1lbnQuaD4KLSNpbXBv
cnQgPFdlYkNvcmUvRE9NT2JqZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTVJhbmdlLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0RPTVJhbmdlRXhjZXB0aW9uLmg+Ci0KLS8vIERPTSBSYW5nZSBjb21w
YXJpc29uIGNvZGVzCi1lbnVtIHsKLSAgICBET01fU1RBUlRfVE9fU1RBUlQgICAgICAgICAgICAg
ICAgPSAwLAotICAgIERPTV9TVEFSVF9UT19FTkQgICAgICAgICAgICAgICAgICA9IDEsCi0gICAg
RE9NX0VORF9UT19FTkQgICAgICAgICAgICAgICAgICAgID0gMiwKLSAgICBET01fRU5EX1RPX1NU
QVJUICAgICAgICAgICAgICAgICAgPSAzCi19OwotCi1AaW50ZXJmYWNlIERPTVJhbmdlIDogRE9N
T2JqZWN0Ci0jaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCi1AcHJvcGVydHkocmVhZG9ubHkpIERP
TU5vZGUgKnN0YXJ0Q29udGFpbmVyOwotQHByb3BlcnR5KHJlYWRvbmx5KSBpbnQgc3RhcnRPZmZz
ZXQ7Ci1AcHJvcGVydHkocmVhZG9ubHkpIERPTU5vZGUgKmVuZENvbnRhaW5lcjsKLUBwcm9wZXJ0
eShyZWFkb25seSkgaW50IGVuZE9mZnNldDsKLUBwcm9wZXJ0eShyZWFkb25seSkgQk9PTCBjb2xs
YXBzZWQ7Ci1AcHJvcGVydHkocmVhZG9ubHkpIERPTU5vZGUgKmNvbW1vbkFuY2VzdG9yQ29udGFp
bmVyOwotI2Vsc2UKLS0gKERPTU5vZGUgKilzdGFydENvbnRhaW5lcjsKLS0gKGludClzdGFydE9m
ZnNldDsKLS0gKERPTU5vZGUgKillbmRDb250YWluZXI7Ci0tIChpbnQpZW5kT2Zmc2V0OwotLSAo
Qk9PTCljb2xsYXBzZWQ7Ci0tIChET01Ob2RlICopY29tbW9uQW5jZXN0b3JDb250YWluZXI7Ci0j
ZW5kaWYKLS0gKHZvaWQpc2V0U3RhcnQ6KERPTU5vZGUgKilyZWZOb2RlIG9mZnNldDooaW50KW9m
ZnNldDsKLS0gKHZvaWQpc2V0RW5kOihET01Ob2RlICopcmVmTm9kZSBvZmZzZXQ6KGludClvZmZz
ZXQ7Ci0tICh2b2lkKXNldFN0YXJ0QmVmb3JlOihET01Ob2RlICopcmVmTm9kZTsKLS0gKHZvaWQp
c2V0U3RhcnRBZnRlcjooRE9NTm9kZSAqKXJlZk5vZGU7Ci0tICh2b2lkKXNldEVuZEJlZm9yZToo
RE9NTm9kZSAqKXJlZk5vZGU7Ci0tICh2b2lkKXNldEVuZEFmdGVyOihET01Ob2RlICopcmVmTm9k
ZTsKLS0gKHZvaWQpY29sbGFwc2U6KEJPT0wpdG9TdGFydDsKLS0gKHZvaWQpc2VsZWN0Tm9kZToo
RE9NTm9kZSAqKXJlZk5vZGU7Ci0tICh2b2lkKXNlbGVjdE5vZGVDb250ZW50czooRE9NTm9kZSAq
KXJlZk5vZGU7Ci0tIChzaG9ydCljb21wYXJlQm91bmRhcnlQb2ludHM6KHVuc2lnbmVkIHNob3J0
KWhvdyBzb3VyY2VSYW5nZTooRE9NUmFuZ2UgKilzb3VyY2VSYW5nZTsKLS0gKHZvaWQpZGVsZXRl
Q29udGVudHM7Ci0tIChET01Eb2N1bWVudEZyYWdtZW50ICopZXh0cmFjdENvbnRlbnRzOwotLSAo
RE9NRG9jdW1lbnRGcmFnbWVudCAqKWNsb25lQ29udGVudHM7Ci0tICh2b2lkKWluc2VydE5vZGU6
KERPTU5vZGUgKiluZXdOb2RlOwotLSAodm9pZClzdXJyb3VuZENvbnRlbnRzOihET01Ob2RlICop
bmV3UGFyZW50OwotLSAoRE9NUmFuZ2UgKiljbG9uZVJhbmdlOwotLSAoTlNTdHJpbmcgKil0b1N0
cmluZzsKLS0gKHZvaWQpZGV0YWNoOwotQGVuZAotCi1AaW50ZXJmYWNlIERPTVJhbmdlIChET01S
YW5nZURlcHJlY2F0ZWQpCi0jaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCi0tICh2b2lkKXNldFN0
YXJ0OihET01Ob2RlICopcmVmTm9kZSA6KGludClvZmZzZXQgREVQUkVDQVRFRF9JTl9NQUNfT1Nf
WF9WRVJTSU9OXzEwXzVfQU5EX0xBVEVSOwotLSAodm9pZClzZXRFbmQ6KERPTU5vZGUgKilyZWZO
b2RlIDooaW50KW9mZnNldCBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNV9BTkRf
TEFURVI7Ci0tIChzaG9ydCljb21wYXJlQm91bmRhcnlQb2ludHM6KHVuc2lnbmVkIHNob3J0KWhv
dyA6KERPTVJhbmdlICopc291cmNlUmFuZ2UgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9O
XzEwXzVfQU5EX0xBVEVSOwotI2Vsc2UKLS0gKHZvaWQpc2V0U3RhcnQ6KERPTU5vZGUgKilyZWZO
b2RlIDooaW50KW9mZnNldDsKLS0gKHZvaWQpc2V0RW5kOihET01Ob2RlICopcmVmTm9kZSA6KGlu
dClvZmZzZXQ7Ci0tIChzaG9ydCljb21wYXJlQm91bmRhcnlQb2ludHM6KHVuc2lnbmVkIHNob3J0
KWhvdyA6KERPTVJhbmdlICopc291cmNlUmFuZ2U7Ci0jZW5kaWYKLUBlbmQKSW5kZXg6IFdlYkNv
cmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaAkocmV2aXNpb24gMTY4NjAp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC05NDEsNiArOTQxLDM2IEBACiAtICh2b2lkKWluaXRNb3VzZUV2ZW50OihOU1N0
cmluZyAqKXR5cGUgOihCT09MKWNhbkJ1YmJsZSA6KEJPT0wpY2FuY2VsYWJsZSA6KERPTUFic3Ry
YWN0VmlldyAqKXZpZXcgOihpbnQpZGV0YWlsIDooaW50KXNjcmVlblggOihpbnQpc2NyZWVuWSA6
KGludCljbGllbnRYIDooaW50KWNsaWVudFkgOihCT09MKWN0cmxLZXkgOihCT09MKWFsdEtleSA6
KEJPT0wpc2hpZnRLZXkgOihCT09MKW1ldGFLZXkgOih1bnNpZ25lZCBzaG9ydClidXR0b24gOihp
ZCA8RE9NRXZlbnRUYXJnZXQ+KXJlbGF0ZWRUYXJnZXQ7CiBAZW5kCiAKK0BpbnRlcmZhY2UgRE9N
UmFuZ2UgOiBET01PYmplY3QKK0Bwcm9wZXJ0eShyZWFkb25seSkgRE9NTm9kZSAqc3RhcnRDb250
YWluZXI7CitAcHJvcGVydHkocmVhZG9ubHkpIGludCBzdGFydE9mZnNldDsKK0Bwcm9wZXJ0eShy
ZWFkb25seSkgRE9NTm9kZSAqZW5kQ29udGFpbmVyOworQHByb3BlcnR5KHJlYWRvbmx5KSBpbnQg
ZW5kT2Zmc2V0OworQHByb3BlcnR5KHJlYWRvbmx5KSBCT09MIGNvbGxhcHNlZDsKK0Bwcm9wZXJ0
eShyZWFkb25seSkgRE9NTm9kZSAqY29tbW9uQW5jZXN0b3JDb250YWluZXI7CistICh2b2lkKXNl
dFN0YXJ0OihET01Ob2RlICopcmVmTm9kZSBvZmZzZXQ6KGludClvZmZzZXQ7CistICh2b2lkKXNl
dFN0YXJ0OihET01Ob2RlICopcmVmTm9kZSA6KGludClvZmZzZXQ7CistICh2b2lkKXNldEVuZDoo
RE9NTm9kZSAqKXJlZk5vZGUgb2Zmc2V0OihpbnQpb2Zmc2V0OworLSAodm9pZClzZXRFbmQ6KERP
TU5vZGUgKilyZWZOb2RlIDooaW50KW9mZnNldDsKKy0gKHZvaWQpc2V0U3RhcnRCZWZvcmU6KERP
TU5vZGUgKilyZWZOb2RlOworLSAodm9pZClzZXRTdGFydEFmdGVyOihET01Ob2RlICopcmVmTm9k
ZTsKKy0gKHZvaWQpc2V0RW5kQmVmb3JlOihET01Ob2RlICopcmVmTm9kZTsKKy0gKHZvaWQpc2V0
RW5kQWZ0ZXI6KERPTU5vZGUgKilyZWZOb2RlOworLSAodm9pZCljb2xsYXBzZTooQk9PTCl0b1N0
YXJ0OworLSAodm9pZClzZWxlY3ROb2RlOihET01Ob2RlICopcmVmTm9kZTsKKy0gKHZvaWQpc2Vs
ZWN0Tm9kZUNvbnRlbnRzOihET01Ob2RlICopcmVmTm9kZTsKKy0gKHNob3J0KWNvbXBhcmVCb3Vu
ZGFyeVBvaW50czoodW5zaWduZWQgc2hvcnQpaG93IHNvdXJjZVJhbmdlOihET01SYW5nZSAqKXNv
dXJjZVJhbmdlOworLSAoc2hvcnQpY29tcGFyZUJvdW5kYXJ5UG9pbnRzOih1bnNpZ25lZCBzaG9y
dClob3cgOihET01SYW5nZSAqKXNvdXJjZVJhbmdlOworLSAodm9pZClkZWxldGVDb250ZW50czsK
Ky0gKERPTURvY3VtZW50RnJhZ21lbnQgKilleHRyYWN0Q29udGVudHM7CistIChET01Eb2N1bWVu
dEZyYWdtZW50ICopY2xvbmVDb250ZW50czsKKy0gKHZvaWQpaW5zZXJ0Tm9kZTooRE9NTm9kZSAq
KW5ld05vZGU7CistICh2b2lkKXN1cnJvdW5kQ29udGVudHM6KERPTU5vZGUgKiluZXdQYXJlbnQ7
CistIChET01SYW5nZSAqKWNsb25lUmFuZ2U7CistIChOU1N0cmluZyAqKXRvU3RyaW5nOworLSAo
dm9pZClkZXRhY2g7CitAZW5kCisKIEBpbnRlcmZhY2UgRE9NTm9kZUl0ZXJhdG9yIDogRE9NT2Jq
ZWN0CiBAcHJvcGVydHkocmVhZG9ubHkpIERPTU5vZGUgKnJvb3Q7CiBAcHJvcGVydHkocmVhZG9u
bHkpIHVuc2lnbmVkIHdoYXRUb1Nob3c7CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvck9iakMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCShyZXZpc2lvbiAxNjg2MCkKKysrIFdlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkod29ya2luZyBjb3B5KQpAQCAtMjI4
LDYgKzIyOCw3IEBAIHN1YiBHZXRDbGFzc05hbWUKICAgICByZXR1cm4gInVuc2lnbmVkIiBpZiAk
bmFtZSBlcSAidW5zaWduZWQgbG9uZyI7CiAgICAgcmV0dXJuICJpbnQiIGlmICRuYW1lIGVxICJs
b25nIjsKICAgICByZXR1cm4gIk5TVVJMIiBpZiAkbmFtZSBlcSAiVVJMIjsKKyAgICByZXR1cm4g
Ik5TQ29sb3IiIGlmICRuYW1lIGVxICJDb2xvciI7CiAgICAgcmV0dXJuICJET01BYnN0cmFjdFZp
ZXciIGlmICRuYW1lIGVxICJET01XaW5kb3ciOwogICAgIHJldHVybiAkbmFtZSBpZiAkY29kZUdl
bmVyYXRvci0+SXNQcmltaXRpdmVUeXBlKCRuYW1lKSBvciAkbmFtZSBlcSAiRE9NSW1wbGVtZW50
YXRpb24iIG9yICRuYW1lIGVxICJET01UaW1lU3RhbXAiOwogCkBAIC0yNTEsNiArMjUyLDcgQEAg
c3ViIEdldEltcGxDbGFzc05hbWUKICAgICAjIHNwZWNpYWwgY2FzZXMKICAgICByZXR1cm4gIkRP
TUltcGxlbWVudGF0aW9uRnJvbnQiIGlmICRuYW1lIGVxICJET01JbXBsZW1lbnRhdGlvbiI7CiAg
ICAgcmV0dXJuICJSZWN0SW1wbCIgaWYgJG5hbWUgZXEgIlJlY3QiOworICAgIHJldHVybiAiRE9N
V2luZG93IiBpZiAkbmFtZSBlcSAiQWJzdHJhY3RWaWV3IjsKIAogICAgIHJldHVybiAkbmFtZTsK
IH0KQEAgLTM1Miw2ICszNTQsNyBAQCBzdWIgR2V0T2JqQ1R5cGUKIAogICAgIHJldHVybiAiaWQg
PCRuYW1lPiIgaWYgSXNQcm90b2NvbFR5cGUoJHR5cGUpOwogICAgIHJldHVybiAkbmFtZSBpZiAk
Y29kZUdlbmVyYXRvci0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKSBvciAkdHlwZSBlcSAiRE9NVGlt
ZVN0YW1wIjsKKyAgICByZXR1cm4gInVuc2lnbmVkIHNob3J0IiBpZiAkdHlwZSBlcSAiQ29tcGFy
ZUhvdyI7CiAgICAgcmV0dXJuICIkbmFtZSAqIjsKIH0KIApAQCAtNDEwLDcgKzQxMyw3IEBAIHN1
YiBHZXRPYmpDVHlwZUdldHRlcgogICAgIHJldHVybiAkYXJnTmFtZSBpZiAkY29kZUdlbmVyYXRv
ci0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKSBvciBJc1N0cmluZ1R5cGUoJHR5cGUpIG9yICR0eXBl
IGVxICJVUkwiOwogICAgIHJldHVybiAkYXJnTmFtZSAuICJFdmVudFRhcmdldCIgaWYgJHR5cGUg
ZXEgIkV2ZW50VGFyZ2V0IjsKICAgICByZXR1cm4gIltuYXRpdmVSZXNvbHZlciAkdHlwZUdldHRl
ck1ldGhvZE5hbWVdIiBpZiAkdHlwZSBlcSAiWFBhdGhOU1Jlc29sdmVyIjsKLQorICAgIHJldHVy
biAic3RhdGljX2Nhc3Q8V2ViQ29yZTo6UmFuZ2U6OkNvbXBhcmVIb3c+KCRhcmdOYW1lKSIgaWYg
JHR5cGUgZXEgIkNvbXBhcmVIb3ciOwogICAgIHJldHVybiAiWyRhcmdOYW1lICR0eXBlR2V0dGVy
TWV0aG9kTmFtZV0iOwogfQogCkBAIC00MTksNyArNDIyLDcgQEAgc3ViIEFkZEZvcndhcmREZWNs
YXJhdGlvbnNGb3JUeXBlCiAgICAgbXkgJHR5cGUgPSAkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1
bGUoc2hpZnQpOwogICAgIG15ICRwdWJsaWMgPSBzaGlmdDsKIAotICAgIHJldHVybiBpZiAkY29k
ZUdlbmVyYXRvci0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKSBvciBJc1N0cmluZ1R5cGUoJHR5cGUp
IG9yICR0eXBlIGVxICJVUkwiIG9yICR0eXBlIGVxICJET01UaW1lU3RhbXAiOworICAgIHJldHVy
biBpZiAkY29kZUdlbmVyYXRvci0+SXNQcmltaXRpdmVUeXBlKCR0eXBlKSBvciBJc1N0cmluZ1R5
cGUoJHR5cGUpIG9yICR0eXBlIGVxICJVUkwiIG9yICR0eXBlIGVxICJET01UaW1lU3RhbXAiIG9y
ICR0eXBlIGVxICJDb21wYXJlSG93IjsKIAogICAgIGlmIChJc1Byb3RvY29sVHlwZSgkdHlwZSkp
IHsKICAgICAgICAgJHR5cGUgPSAiRE9NIiAuICR0eXBlOwpAQCAtNDMyLDYgKzQzNSw4IEBAIHN1
YiBBZGRGb3J3YXJkRGVjbGFyYXRpb25zRm9yVHlwZQogICAgICAgICAkdHlwZSA9ICJET01JbXBs
ZW1lbnRhdGlvbiI7CiAgICAgfSBlbHNpZiAoJHR5cGUgZXEgIkRPTVdpbmRvdyIpIHsKICAgICAg
ICAgJHR5cGUgPSAiRE9NQWJzdHJhY3RWaWV3IjsKKyAgICB9IGVsc2lmICgkdHlwZSBlcSAiQ29s
b3IiKSB7CisgICAgICAgICR0eXBlID0gIk5TQ29sb3IiOwogICAgIH0gZWxzZSB7CiAgICAgICAg
ICR0eXBlID0gIkRPTSIgLiAkdHlwZTsKICAgICB9CkBAIC00NDcsNyArNDUyLDcgQEAgc3ViIEFk
ZEluY2x1ZGVzRm9yVHlwZQogewogICAgIG15ICR0eXBlID0gJGNvZGVHZW5lcmF0b3ItPlN0cmlw
TW9kdWxlKHNoaWZ0KTsKIAotICAgIHJldHVybiBpZiAkY29kZUdlbmVyYXRvci0+SXNQcmltaXRp
dmVUeXBlKCR0eXBlKSBvciAkdHlwZSBlcSAiVVJMIiBvciAkdHlwZSBlcSAiRE9NVGltZVN0YW1w
IjsKKyAgICByZXR1cm4gaWYgJGNvZGVHZW5lcmF0b3ItPklzUHJpbWl0aXZlVHlwZSgkdHlwZSkg
b3IgJHR5cGUgZXEgIlVSTCIgb3IgJHR5cGUgZXEgIkNvbG9yIiBvciAkdHlwZSBlcSAiRE9NVGlt
ZVN0YW1wIiBvciAkdHlwZSBlcSAiQ29tcGFyZUhvdyI7CiAKICAgICBpZiAoSXNTdHJpbmdUeXBl
KCR0eXBlKSkgewogICAgICAgICAkaW1wbEluY2x1ZGVzeyJQbGF0Zm9ybVN0cmluZy5oIn0gPSAx
OwpAQCAtNDU2LDE0ICs0NjEsMTQgQEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQogCiAgICAgIyBU
ZW1wIERPTUNTUy5oCiAgICAgaWYgKCR0eXBlIGVxICJSZWN0IikgewotICAgICAgICAkaW1wbElu
Y2x1ZGVzeyJET01SZWN0LmgifSA9IDE7CiAgICAgICAgICRpbXBsSW5jbHVkZXN7IlJlY3RJbXBs
LmgifSA9IDE7CisgICAgICAgICRpbXBsSW5jbHVkZXN7IkRPTSR0eXBlLmgifSA9IDE7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoJHR5cGUgZXEgIlJHQkNvbG9yIikgewotICAg
ICAgICAkaW1wbEluY2x1ZGVzeyJET01SR0JDb2xvci5oIn0gPSAxOwogICAgICAgICAkaW1wbElu
Y2x1ZGVzeyJDb2xvci5oIn0gPSAxOworICAgICAgICAkaW1wbEluY2x1ZGVzeyJET00kdHlwZS5o
In0gPSAxOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00OTQsMTkgKzQ5OSwxOSBAQCBz
dWIgQWRkSW5jbHVkZXNGb3JUeXBlCiAgICAgfQogCiAgICAgaWYgKCR0eXBlIGVxICJTVkdSZWN0
IikgewotICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01TVkdSZWN0LmgifSA9IDE7CiAgICAgICAg
ICRpbXBsSW5jbHVkZXN7IkZsb2F0UmVjdC5oIn0gPSAxOworICAgICAgICAkaW1wbEluY2x1ZGVz
eyJET00kdHlwZS5oIn0gPSAxOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKCR0
eXBlIGVxICJTVkdQb2ludCIpIHsKLSAgICAgICAgJGltcGxJbmNsdWRlc3siRE9NU1ZHUG9pbnQu
aCJ9ID0gMTsKICAgICAgICAgJGltcGxJbmNsdWRlc3siRmxvYXRQb2ludC5oIn0gPSAxOworICAg
ICAgICAkaW1wbEluY2x1ZGVzeyJET00kdHlwZS5oIn0gPSAxOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgaWYgKCR0eXBlIGVxICJTVkdOdW1iZXIiKSB7Ci0gICAgICAgICRpbXBsSW5j
bHVkZXN7IkRPTVNWR051bWJlci5oIn0gPSAxOworICAgICAgICAkaW1wbEluY2x1ZGVzeyJET00k
dHlwZS5oIn0gPSAxOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01MzcsOCArNTQyLDYg
QEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgbXkgQHByb3RvY29sc1RvSW1wbGVtZW50ID0gKCk7
CiAgICAgKCRwYXJlbnROYW1lLCBAcHJvdG9jb2xzVG9JbXBsZW1lbnQpID0gR2V0UGFyZW50QW5k
UHJvdG9jb2xzKCRkYXRhTm9kZSk7CiAKLSAgICBteSAkY29uZGl0aW9uYWwgPSAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9OwotCiAgICAgbXkgJG51bUNvbnN0
YW50cyA9IEB7JGRhdGFOb2RlLT5jb25zdGFudHN9OwogICAgIG15ICRudW1BdHRyaWJ1dGVzID0g
QHskZGF0YU5vZGUtPmF0dHJpYnV0ZXN9OwogICAgIG15ICRudW1GdW5jdGlvbnMgPSBAeyRkYXRh
Tm9kZS0+ZnVuY3Rpb25zfTsKQEAgLTU1Nyw2ICs1NjAsMTQgQEAgc3ViIEdlbmVyYXRlSGVhZGVy
CiAgICAgICAgICRwYXJlbnRQcm90b2NvbCA9IEdldENsYXNzSGVhZGVyTmFtZSgkcGFyZW50UHJv
dG9jb2wpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAiI2ltcG9ydCA8V2Vi
Q29yZS8kcGFyZW50UHJvdG9jb2wuaD5cbiIpOwogICAgIH0KKworICAgICMgU3BlY2lhbCBjYXNl
IG5lZWRlZCBmb3IgbGVnYWN5IHN1cHBvcnQgb2YgRE9NUmFuZ2UKKyAgICBpZiAoJGludGVyZmFj
ZU5hbWUgZXEgIlJhbmdlIikgeworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAi
I2ltcG9ydCA8V2ViQ29yZS9ET01Db3JlLmg+XG4iKTsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudEhlYWRlciwgIiNpbXBvcnQgPFdlYkNvcmUvRE9NRG9jdW1lbnQuaD5cbiIpOworICAgICAg
ICBwdXNoKEBoZWFkZXJDb250ZW50SGVhZGVyLCAiI2ltcG9ydCA8V2ViQ29yZS9ET01SYW5nZUV4
Y2VwdGlvbi5oPlxuIik7CisgICAgfQorCiAgICAgcHVzaChAaGVhZGVyQ29udGVudEhlYWRlciwg
IlxuIik7CiAKICAgICAjIC0gQWRkIGNvbnN0YW50cy4KSW5kZXg6IFdlYkNvcmUvY3NzL1JHQkNv
bG9yLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGwJKHJldmlzaW9u
IDE2ODU5KQorKysgV2ViQ29yZS9jc3MvUkdCQ29sb3IuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
MSwxMCArMjEsMTggQEAKIG1vZHVsZSBjc3MgewogCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00g
TGV2ZWwgMjoKLSAgICBpbnRlcmZhY2UgUkdCQ29sb3IgeworICAgIGludGVyZmFjZSBbT2JqQ0N1
c3RvbUltcGxlbWVudGF0aW9uXSBSR0JDb2xvciB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDU1NQcmltaXRpdmVWYWx1ZSAgcmVkOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NT
UHJpbWl0aXZlVmFsdWUgIGdyZWVuOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUHJp
bWl0aXZlVmFsdWUgIGJsdWU7CisKKyAgICAgICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKKyNpZiAh
ZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Q1NTUHJpbWl0aXZlVmFsdWUgIGFscGhhOworI2VuZGlmCisjaWYgZGVmaW5lZChMQU5HVUFHRV9P
QkpFQ1RJVkVfQykKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENvbG9yICAgICAgICAgICAg
ICBjb2xvcjsKKyNlbmRpZgogICAgIH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvZG9tL1JhbmdlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9SYW5nZS5pZGwJKHJldmlzaW9uIDE2ODU5KQor
KysgV2ViQ29yZS9kb20vUmFuZ2UuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwzOCArMjQsMzgg
QEAgbW9kdWxlIHJhbmdlcyB7CiAgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBS
YW5nZSB7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGUgc3RhcnRDb250YWluZXIK
LSAgICAgICAgICAgIGdldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICBn
ZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nIHN0YXJ0T2Zmc2V0Ci0gICAgICAgICAgICBnZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24p
OworICAgICAgICAgICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgTm9kZSBlbmRDb250YWluZXIKLSAgICAgICAgICAgIGdldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGVuZE9mZnNldAotICAgICAgICAg
ICAgZ2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIGdldHRlciByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY29s
bGFwc2VkCi0gICAgICAgICAgICBnZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAg
ICAgICAgZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgTm9kZSBjb21tb25BbmNlc3RvckNvbnRhaW5lcgotICAgICAgICAgICAgZ2V0dGVyIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIGdldHRlciByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKIAogICAgICAgICBbT2xkU3R5bGVPYmpDXSB2b2lkIHNldFN0YXJ0KGluIE5vZGUgcmVm
Tm9kZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBvZmZz
ZXQpCi0gICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhjZXB0aW9u
KTsKKyAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgRE9NRXhjZXB0aW9uKTsKICAg
ICAgICAgW09sZFN0eWxlT2JqQ10gdm9pZCBzZXRFbmQoaW4gTm9kZSByZWZOb2RlLCAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBvZmZzZXQpCi0gICAgICAgICAg
ICByYWlzZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAg
IHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZXRT
dGFydEJlZm9yZShpbiBOb2RlIHJlZk5vZGUpCi0gICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNl
cHRpb24sIGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2Vw
dGlvbiwgRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZXRTdGFydEFmdGVyKGluIE5vZGUg
cmVmTm9kZSkKLSAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgZG9tOjpET01FeGNl
cHRpb24pOworICAgICAgICAgICAgcmFpc2VzKFJhbmdlRXhjZXB0aW9uLCBET01FeGNlcHRpb24p
OwogICAgICAgICB2b2lkIHNldEVuZEJlZm9yZShpbiBOb2RlIHJlZk5vZGUpCi0gICAgICAgICAg
ICByYWlzZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAg
IHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZXRF
bmRBZnRlcihpbiBOb2RlIHJlZk5vZGUpCi0gICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRp
b24sIGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlv
biwgRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBjb2xsYXBzZShpbiBib29sZWFuIHRvU3Rh
cnQpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZWxl
Y3ROb2RlKGluIE5vZGUgcmVmTm9kZSkKLSAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlv
biwgZG9tOjpET01FeGNlcHRpb24pOworICAgICAgICAgICAgcmFpc2VzKFJhbmdlRXhjZXB0aW9u
LCBET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHNlbGVjdE5vZGVDb250ZW50cyhpbiBOb2Rl
IHJlZk5vZGUpCi0gICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhj
ZXB0aW9uKTsKKyAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgRE9NRXhjZXB0aW9u
KTsKIAogICAgICAgICAvLyBDb21wYXJlSG93CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFNUQVJUX1RPX1NUQVJUID0gMDsKQEAgLTY1LDUyICs2NSw1NCBAQCBtb2R1bGUgcmFuZ2VzIHsK
IAogICAgICAgICBbT2xkU3R5bGVPYmpDXSBzaG9ydCBjb21wYXJlQm91bmRhcnlQb2ludHMoaW4g
Q29tcGFyZUhvdyBob3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBSYW5nZSBzb3VyY2VSYW5nZSkKLSAgICAgICAgICAgIHJhaXNlcyhkb206
OkRPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAogICAg
ICAgICB2b2lkIGRlbGV0ZUNvbnRlbnRzKCkKLSAgICAgICAgICAgIHJhaXNlcyhkb206OkRPTUV4
Y2VwdGlvbik7CisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRG9j
dW1lbnRGcmFnbWVudCBleHRyYWN0Q29udGVudHMoKQotICAgICAgICAgICAgcmFpc2VzKGRvbTo6
RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAg
ICBEb2N1bWVudEZyYWdtZW50IGNsb25lQ29udGVudHMoKQotICAgICAgICAgICAgcmFpc2VzKGRv
bTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAg
ICAgICB2b2lkIGluc2VydE5vZGUoaW4gTm9kZSBuZXdOb2RlKQotICAgICAgICAgICAgcmFpc2Vz
KGRvbTo6RE9NRXhjZXB0aW9uLCBSYW5nZUV4Y2VwdGlvbik7CisgICAgICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uLCBSYW5nZUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc3Vycm91bmRDb250
ZW50cyhpbiBOb2RlIG5ld1BhcmVudCkKLSAgICAgICAgICAgIHJhaXNlcyhkb206OkRPTUV4Y2Vw
dGlvbiwgUmFuZ2VFeGNlcHRpb24pOworICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbiwg
UmFuZ2VFeGNlcHRpb24pOwogICAgICAgICBSYW5nZSBjbG9uZVJhbmdlKCkKLSAgICAgICAgICAg
IHJhaXNlcyhkb206OkRPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKICAgICAgICAgRE9NU3RyaW5nIHRvU3RyaW5nKCkKLSAgICAgICAgICAgIHJhaXNlcyhk
b206OkRPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAog
ICAgICAgICB2b2lkIGRldGFjaCgpCi0gICAgICAgICAgICByYWlzZXMoZG9tOjpET01FeGNlcHRp
b24pOworICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKKyNpZiBkZWZpbmVkKExB
TkdVQUdFX0pBVkFTQ1JJUFQpCiAgICAgICAgIC8vIGV4dGVuc2lvbnMKIAogICAgICAgICBEb2N1
bWVudEZyYWdtZW50IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChpbiBET01TdHJpbmcgaHRtbCkK
LSAgICAgICAgICAgIHJhaXNlcyhkb206OkRPTUV4Y2VwdGlvbik7Ci0gICAgICAgICAgICAKKyAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworCiAgICAgICAgIC8vIFdlYktpdCBleHRl
bnNpb25zCiAKICAgICAgICAgYm9vbGVhbiBpbnRlcnNlY3RzTm9kZShpbiBOb2RlIHJlZk5vZGUp
Ci0gICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhjZXB0aW9uKTsK
KyAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgRE9NRXhjZXB0aW9uKTsKIAogICAg
ICAgICBzaG9ydCBjb21wYXJlTm9kZShpbiBOb2RlIHJlZk5vZGUpCi0gICAgICAgICAgICByYWlz
ZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIHJhaXNl
cyhSYW5nZUV4Y2VwdGlvbiwgRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICAvLyBDb21wYXJlUmVz
dWx0cwotICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOT0RFX0JFRk9SRSA9IDA7Ci0gICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PREVfQUZURVIgPSAxOworICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBOT0RFX0JFRk9SRSAgICAgICAgICAgPSAwOworICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBOT0RFX0FGVEVSICAgICAgICAgICAgPSAxOwogICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBOT0RFX0JFRk9SRV9BTkRfQUZURVIgPSAyOwotICAgICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBOT0RFX0lOU0lERSA9IDM7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IE5PREVfSU5TSURFICAgICAgICAgICA9IDM7CiAKICAgICAgICAgc2hvcnQgY29tcGFyZVBv
aW50KGluIE5vZGUgcmVmTm9kZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25n
IG9mZnNldCkKLSAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgZG9tOjpET01FeGNl
cHRpb24pOworICAgICAgICAgICAgcmFpc2VzKFJhbmdlRXhjZXB0aW9uLCBET01FeGNlcHRpb24p
OwogCiAgICAgICAgIGJvb2xlYW4gaXNQb2ludEluUmFuZ2UoaW4gTm9kZSByZWZOb2RlLCAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIG9mZnNldCkKLSAgICAgICAgICAg
IHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgZG9tOjpET01FeGNlcHRpb24pOworICAgICAgICAgICAg
cmFpc2VzKFJhbmdlRXhjZXB0aW9uLCBET01FeGNlcHRpb24pOworI2VuZGlmCiAgICAgfTsKIAog
fQpJbmRleDogV2ViQ29yZS9wYWdlL0Fic3RyYWN0Vmlldy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0Fic3RyYWN0Vmlldy5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3BhZ2Uv
QWJzdHJhY3RWaWV3LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworbW9kdWxlIHZpZXdzIHsKKworICAgIC8vIEludHJvZHVjZWQgaW4gRE9N
IExldmVsIDI6CisgICAgaW50ZXJmYWNlIEFic3RyYWN0VmlldyB7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBEb2N1bWVudCBkb2N1bWVudDsKKyAgICB9OworCit9CkluZGV4OiBXZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODcw
KQorKysgV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisy
MDA2LTEwLTA2ICBTYW0gV2VpbmlnICA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGF0Y2ggZm9yIGh0dHA6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTk4CisgICAgICAgIEF1dG8tZ2VuZXJh
dGUgYSBmZXcgbW9yZSBPYmplY3RpdmUtQyBET00gaW50ZXJmYWNlcworCisgICAgICAgICogTWln
cmF0ZUhlYWRlcnMubWFrZToKKwogMjAwNi0xMC0wNiAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDogV2ViS2l0L01p
Z3JhdGVIZWFkZXJzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L01pZ3JhdGVIZWFkZXJzLm1h
a2UJKHJldmlzaW9uIDE2ODU5KQorKysgV2ViS2l0L01pZ3JhdGVIZWFkZXJzLm1ha2UJKHdvcmtp
bmcgY29weSkKQEAgLTE2NCw2ICsxNjQsNyBAQCBhbGwgOiBcCiAgICAgJChQVUJMSUNfSEVBREVS
U19ESVIpL0RPTVJHQkNvbG9yLmggXAogICAgICQoUFVCTElDX0hFQURFUlNfRElSKS9ET01SYW5n
ZS5oIFwKICAgICAkKFBVQkxJQ19IRUFERVJTX0RJUikvRE9NUmFuZ2VFeGNlcHRpb24uaCBcCisg
ICAgJChQVUJMSUNfSEVBREVSU19ESVIpL0RPTVJhbmdlcy5oIFwKICAgICAkKFBVQkxJQ19IRUFE
RVJTX0RJUikvRE9NUmVjdC5oIFwKICAgICAkKFBVQkxJQ19IRUFERVJTX0RJUikvRE9NU3R5bGVT
aGVldC5oIFwKICAgICAkKFBVQkxJQ19IRUFERVJTX0RJUikvRE9NU3R5bGVTaGVldExpc3QuaCBc
Cg==
</data>
<flag name="review"
          id="3675"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>