<?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>11191</bug_id>
          
          <creation_ts>2006-10-06 12:21:18 -0700</creation_ts>
          <short_desc>Auto-generate the interfaces even for Objective-C DOM bindings that need custom implementations</short_desc>
          <delta_ts>2006-10-06 14:18:25 -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>53927</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-06 12:21:18 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53924</commentid>
    <comment_count>1</comment_count>
      <attachid>10952</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-06 12:23:33 -0700</bug_when>
    <thetext>Created attachment 10952
patch

- Fully auto-generate DOMEventTarget, DOMNodeFilter and DOMHTMLOptionElement.

- Auto-generate just the interface for DOMHTMLAppletElement, DOMHTMLEmbedElement, DOMSVGNumber, DOMSVGPoint and DOMSVGRect using the new IDL property ObjCCustomImplementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53916</commentid>
    <comment_count>2</comment_count>
      <attachid>10952</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-10-06 13:31:28 -0700</bug_when>
    <thetext>Comment on attachment 10952
patch

This is good, one step closer to 100%! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53920</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-10-06 14:18:25 -0700</bug_when>
    <thetext>Landed in r16860.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10952</attachid>
            <date>2006-10-06 12:23:33 -0700</date>
            <delta_ts>2006-10-06 13:31:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>autoSVGagain.diff</filename>
            <type>text/plain</type>
            <size>72645</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjg1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMDYtMTAtMDYgIFNhbSBXZWluaWcgIDxzYW0ud2VpbmlnQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExOTEKKyAg
ICAgICAgQXV0by1nZW5lcmF0ZSB0aGUgaW50ZXJmYWNlcyBldmVuIGZvciBPYmplY3RpdmUtQyBE
T00gCisgICAgICAgIGJpbmRpbmdzIHRoYXQgbmVlZCBjdXN0b20gaW1wbGVtZW50YXRpb25zCisK
KyAgICAgICAgLSBGdWxseSBhdXRvLWdlbmVyYXRlIERPTUV2ZW50VGFyZ2V0LCBET01Ob2RlRmls
dGVyIGFuZCAKKyAgICAgICAgICBET01IVE1MT3B0aW9uRWxlbWVudC4KKworICAgICAgICAtIEF1
dG8tZ2VuZXJhdGUganVzdCB0aGUgaW50ZXJmYWNlIGZvciBET01IVE1MQXBwbGV0RWxlbWVudCwK
KyAgICAgICAgICBET01IVE1MRW1iZWRFbGVtZW50LCBET01TVkdOdW1iZXIsIERPTVNWR1BvaW50
IGFuZCBET01TVkdSZWN0CisgICAgICAgICAgdXNpbmcgdGhlIG5ldyBJREwgcHJvcGVydHkgT2Jq
Q0N1c3RvbUltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3Mvb2JqYy9ET01FdmVudFRhcmdldC5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRp
bmdzL29iamMvRE9NSFRNTEFwcGxldEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5k
aW5ncy9vYmpjL0RPTUhUTUxFbWJlZEVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5k
aW5ncy9vYmpjL0RPTUhUTUxPcHRpb25FbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICogYmlu
ZGluZ3Mvb2JqYy9ET01IVE1MT3B0aW9uRWxlbWVudC5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBi
aW5kaW5ncy9vYmpjL0RPTUludGVybmFsLmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01O
b2RlRmlsdGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01TVkdOdW1i
ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTVNWR1BvaW50Lmg6IFJl
bW92ZWQuCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01TVkdQb2ludC5tbToKKyAgICAgICAg
KC1bRE9NU1ZHUG9pbnQgbWF0cml4VHJhbnNmb3JtOl0pOgorICAgICAgICAqIGJpbmRpbmdzL29i
amMvRE9NU1ZHUmVjdC5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL29iamMvUHVibGlj
RE9NSW50ZXJmYWNlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ck9iakMucG06CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxBcHBsZXRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxFbWJlZEVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsOgorICAgICAgICAqIGtz
dmcyL3N2Zy9TVkdOdW1iZXIuaWRsOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQb2ludC5pZGw6
CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1JlY3QuaWRsOgorCiAyMDA2LTEwLTA2ICBTYW0gV2Vp
bmlnICA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEgu
CkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAxNjg1MikKKysrIFdlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNzAsNyArNzAsOSBAQCBhbGwgOiBcCiAg
ICAgRE9NRW50aXR5UmVmZXJlbmNlLmggXAogICAgIERPTUV2ZW50LmggXAogICAgIERPTUV2ZW50
TGlzdGVuZXIuaCBcCisgICAgRE9NRXZlbnRUYXJnZXQuaCBcCiAgICAgRE9NSFRNTEFuY2hvckVs
ZW1lbnQuaCBcCisgICAgRE9NSFRNTEFwcGxldEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEFyZWFF
bGVtZW50LmggXAogICAgIERPTUhUTUxCUkVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEJhc2VFbGVt
ZW50LmggXApAQCAtODMsNiArODUsNyBAQCBhbGwgOiBcCiAgICAgRE9NSFRNTERpdkVsZW1lbnQu
aCBcCiAgICAgRE9NSFRNTERvY3VtZW50LmggXAogICAgIERPTUhUTUxFbGVtZW50LmggXAorICAg
IERPTUhUTUxFbWJlZEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEZpZWxkU2V0RWxlbWVudC5oIFwK
ICAgICBET01IVE1MRm9udEVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTEZvcm1FbGVtZW50LmggXApA
QCAtMTA3LDYgKzExMCw3IEBAIGFsbCA6IFwKICAgICBET01IVE1MT0xpc3RFbGVtZW50LmggXAog
ICAgIERPTUhUTUxPYmplY3RFbGVtZW50LmggXAogICAgIERPTUhUTUxPcHRHcm91cEVsZW1lbnQu
aCBcCisgICAgRE9NSFRNTE9wdGlvbkVsZW1lbnQuaCBcCiAgICAgRE9NSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmggXAogICAgIERPTUhUTUxQYXJhZ3JhcGhFbGVtZW50LmggXAogICAgIERPTUhUTUxQ
YXJhbUVsZW1lbnQuaCBcCkBAIC0xMzAsNiArMTM0LDcgQEAgYWxsIDogXAogICAgIERPTU11dGF0
aW9uRXZlbnQuaCBcCiAgICAgRE9NTmFtZWROb2RlTWFwLmggXAogICAgIERPTU5vZGUuaCBcCisg
ICAgRE9NTm9kZUZpbHRlci5oIFwKICAgICBET01Ob2RlSXRlcmF0b3IuaCBcCiAgICAgRE9NTm9k
ZUxpc3QuaCBcCiAgICAgRE9NTm90YXRpb24uaCBcCkBAIC0xOTYsMTAgKzIwMSwxMyBAQCBhbGwg
OiBcCiAgICAgRE9NU1ZHTG9jYXRhYmxlLmggXAogICAgIERPTVNWR01hdHJpeC5oIFwKICAgICBE
T01TVkdNZXRhZGF0YUVsZW1lbnQuaCBcCisgICAgRE9NU1ZHTnVtYmVyLmggXAogICAgIERPTVNW
R051bWJlckxpc3QuaCBcCiAgICAgRE9NU1ZHUGF0aFNlZy5oIFwKICAgICBET01TVkdQYXRoU2Vn
TGlzdC5oIFwKKyAgICBET01TVkdQb2ludC5oIFwKICAgICBET01TVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmggXAorICAgIERPTVNWR1JlY3QuaCBcCiAgICAgRE9NU1ZHUmVjdEVsZW1lbnQuaCBcCiAg
ICAgRE9NU1ZHU3RyaW5nTGlzdC5oIFwKICAgICBET01TVkdTdHlsYWJsZS5oIFwKSW5kZXg6IFdl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNjg1MikK
KysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC01NjYsMTEgKzU2Niw4IEBACiAJCTg1MEZEMjE4MEFDOUM4NkEwMDEyM0QwRCAvKiBE
T01TVkdBbmltYXRlZExlbmd0aExpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwRkQyMEYwQUM5Qzg2QTAwMTIzRDBEIC8qIERPTVNW
R0FuaW1hdGVkTGVuZ3RoTGlzdEludGVybmFsLmggKi87IH07CiAJCTg1MEZEMjFBMEFDOUM4NkEw
MDEyM0QwRCAvKiBET01TVkdBbmltYXRlZFN0cmluZ0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTBGRDIxMTBBQzlDODZBMDAxMjNEMEQg
LyogRE9NU1ZHQW5pbWF0ZWRTdHJpbmdJbnRlcm5hbC5oICovOyB9OwogCQk4NTBGRDIxQjBBQzlD
ODZBMDAxMjNEMEQgLyogRE9NU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MEZEMjEyMEFDOUM4
NkEwMDEyM0QwRCAvKiBET01TVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RJbnRlcm5hbC5oICovOyB9
OwotCQk4NTE2MjBGMzBBRDJGRDg5MDA1OUE3REUgLyogRE9NU1ZHTnVtYmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTE2MjBFRDBBRDJGRDg4MDA1
OUE3REUgLyogRE9NU1ZHTnVtYmVyLmggKi87IH07CiAJCTg1MTYyMEY0MEFEMkZEODkwMDU5QTdE
RSAvKiBET01TVkdOdW1iZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTE2MjBFRTBBRDJGRDg4MDA1OUE3REUgLyogRE9NU1ZHTnVtYmVyLm1tICov
OyB9OwotCQk4NTE2MjBGNTBBRDJGRDg5MDA1OUE3REUgLyogRE9NU1ZHUG9pbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MTYyMEVGMEFEMkZEODgw
MDU5QTdERSAvKiBET01TVkdQb2ludC5oICovOyB9OwogCQk4NTE2MjBGNjBBRDJGRDg5MDA1OUE3
REUgLyogRE9NU1ZHUG9pbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTE2MjBGMDBBRDJGRDg4MDA1OUE3REUgLyogRE9NU1ZHUG9pbnQubW0gKi87
IH07Ci0JCTg1MTYyMEY3MEFEMkZEODkwMDU5QTdERSAvKiBET01TVkdSZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTE2MjBGMTBBRDJGRDg4MDA1
OUE3REUgLyogRE9NU1ZHUmVjdC5oICovOyB9OwogCQk4NTE2MjBGODBBRDJGRDg5MDA1OUE3REUg
LyogRE9NU1ZHUmVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1MTYyMEYyMEFEMkZEODkwMDU5QTdERSAvKiBET01TVkdSZWN0Lm1tICovOyB9Owog
CQk4NTE4M0I0MjBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTEJSRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUxODNCMzgwQUE2OTI2MTAw
RjE5RkEzIC8qIERPTUhUTUxCUkVsZW1lbnQuaCAqLzsgfTsKIAkJODUxODNCNDMwQUE2OTI2MTAw
RjE5RkEzIC8qIERPTUhUTUxCUkVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTE4M0IzOTBBQTY5MjYxMDBGMTlGQTMgLyogRE9NSFRNTEJS
RWxlbWVudC5tbSAqLzsgfTsKQEAgLTU5NywxNSArNTk0LDI3IEBACiAJCTg1MUVFODIxMEFCQ0E1
ODEwMEE2QUEzMyAvKiBET01SYW5nZUV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUxRUU4MjAwQUJDQTU4MTAwQTZBQTMzIC8qIERPTVJh
bmdlRXhjZXB0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJODUyMTdFMDIwQTVFQ0Q0NzAwREI4RDAwIC8qIFhTTEltcG9ydFJ1bGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUyMTdFMDAwQTVF
Q0Q0NzAwREI4RDAwIC8qIFhTTEltcG9ydFJ1bGUuY3BwICovOyB9OwogCQk4NTIxN0UwMzBBNUVD
RDQ3MDBEQjhEMDAgLyogWFNMSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODUyMTdFMDEwQTVFQ0Q0NzAwREI4RDAwIC8qIFhTTEltcG9y
dFJ1bGUuaCAqLzsgfTsKLQkJODUyQjlFODcwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBs
ZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NTJCOUU4MzBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NTJCOUU4ODBB
QTc5QzQ3MDAyQURBNkUgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTJCOUU4NDBBQTc5QzQ3MDAyQURBNkUg
LyogRE9NSFRNTEFwcGxldEVsZW1lbnQubW0gKi87IH07Ci0JCTg1MkI5RTg5MEFBNzlDNDcwMDJB
REE2RSAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODUyQjlFODUwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxP
cHRpb25FbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJODUyQjlFOEEwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxPcHRpb25FbGVtZW50
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUyQjlF
ODYwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxPcHRpb25FbGVtZW50Lm1tICovOyB9OwogCQk4
NTNCRjREQjBBQkI2QjU1MDA4NjQ3QkIgLyogRE9NTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUzQkY0RDkwQUJCNkI1NTAwODY0N0JCIC8qIERP
TU5vZGUuaCAqLzsgfTsKIAkJODUzQkY0REMwQUJCNkI1NTAwODY0N0JCIC8qIERPTU5vZGUubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTNCRjREQTBB
QkI2QjU1MDA4NjQ3QkIgLyogRE9NTm9kZS5tbSAqLzsgfTsKIAkJODUzQkY0RUIwQUJCNkU5NzAw
ODY0N0JCIC8qIERPTU5vZGVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NTNCRjRFQTBBQkI2RTk3MDA4NjQ3QkIgLyogRE9NTm9kZVByaXZh
dGUuaCAqLzsgfTsKIAkJODUzQkY0RUMwQUJCNkVCOTAwODY0N0JCIC8qIERPTU5vZGUuaCBpbiBD
b3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUzQkY0RDkwQUJC
NkI1NTAwODY0N0JCIC8qIERPTU5vZGUuaCAqLzsgfTsKIAkJODUzQkY0RUQwQUJCNkVCOTAwODY0
N0JCIC8qIERPTU5vZGVQcml2YXRlLmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1M0JGNEVBMEFCQjZFOTcwMDg2NDdCQiAvKiBET01Ob2RlUHJpdmF0
ZS5oICovOyB9OworCQk4NTQwNzRGQzBBRDZDMjJFMDA2MjBDNTcgLyogRE9NU1ZHTnVtYmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTQwNzRGOTBB
RDZDMjJFMDA2MjBDNTcgLyogRE9NU1ZHTnVtYmVyLmggKi87IH07CisJCTg1NDA3NEZEMEFENkMy
MkUwMDYyMEM1NyAvKiBET01TVkdQb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODU0MDc0RkEwQUQ2QzIyRTAwNjIwQzU3IC8qIERPTVNWR1BvaW50
LmggKi87IH07CisJCTg1NDA3NEZFMEFENkMyMkUwMDYyMEM1NyAvKiBET01TVkdSZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTQwNzRGQjBBRDZD
MjJFMDA2MjBDNTcgLyogRE9NU1ZHUmVjdC5oICovOyB9OworCQk4NTQwNzUyMDBBRDZDNUZCMDA2
MjBDNTcgLyogRE9NRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg1NDA3NTFGMEFENkM1RkIwMDYyMEM1NyAvKiBET01FdmVudFRhcmdl
dC5oICovOyB9OworCQk4NTQwNzUyNjBBRDZDNjY3MDA2MjBDNTcgLyogRE9NTm9kZUZpbHRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU0MDc1MjUw
QUQ2QzY2NzAwNjIwQzU3IC8qIERPTU5vZGVGaWx0ZXIuaCAqLzsgfTsKKwkJODU0MDc1M0UwQUQ2
QzZEQzAwNjIwQzU3IC8qIERPTUV2ZW50VGFyZ2V0LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NDA3NTFGMEFENkM1RkIwMDYyMEM1NyAvKiBET01F
dmVudFRhcmdldC5oICovOyB9OworCQk4NTQwNzUzRjBBRDZDNkRDMDA2MjBDNTcgLyogRE9NTm9k
ZUZpbHRlci5oIGluIENvcHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NTQwNzUyNTBBRDZDNjY3MDA2MjBDNTcgLyogRE9NTm9kZUZpbHRlci5oICovOyB9OworCQk4
NTQwNzU2OTBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NDA3NTY0MEFENkNCRjkw
MDYyMEM1NyAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5oICovOyB9OworCQk4NTQwNzU2QTBBRDZD
QkY5MDA2MjBDNTcgLyogRE9NSFRNTEVtYmVkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU0MDc1NjUwQUQ2Q0JGOTAwNjIwQzU3IC8qIERP
TUhUTUxFbWJlZEVsZW1lbnQuaCAqLzsgfTsKKwkJODU0MDc1NkIwQUQ2Q0JGOTAwNjIwQzU3IC8q
IERPTUhUTUxPcHRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NTQwNzU2NjBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTE9wdGlvbkVs
ZW1lbnQuaCAqLzsgfTsKKwkJODU0MDc1NkMwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhUTUxPcHRp
b25FbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODU0MDc1NjcwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhUTUxPcHRpb25FbGVtZW50Lm1tICov
OyB9OworCQk4NTQwNzU2RDBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU0MDc1NjgwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhUTUxPcHRpb25FbGVtZW50SW50ZXJuYWwu
aCAqLzsgfTsKKwkJODU0MDc1ODMwQUQ2Q0YxNDAwNjIwQzU3IC8qIERPTUhUTUxBcHBsZXRFbGVt
ZW50LmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1
NDA3NTY0MEFENkNCRjkwMDYyMEM1NyAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5oICovOyB9Owor
CQk4NTQwNzU4NDBBRDZDRjE0MDA2MjBDNTcgLyogRE9NSFRNTEVtYmVkRWxlbWVudC5oIGluIENv
cHlGaWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTQwNzU2NTBBRDZD
QkY5MDA2MjBDNTcgLyogRE9NSFRNTEVtYmVkRWxlbWVudC5oICovOyB9OworCQk4NTQwNzU4NTBB
RDZDRjE0MDA2MjBDNTcgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU0MDc1NjYwQUQ2Q0JGOTAwNjIwQzU3
IC8qIERPTUhUTUxPcHRpb25FbGVtZW50LmggKi87IH07CiAJCTg1NDE2MzZBMEFDNzE4MEIwMDAx
RTAxQiAvKiBET01TVkdUcmFuc2Zvcm1MaXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODU0MTYzNUEwQUM3MTgwQjAwMDFFMDFCIC8qIERPTVNWR1Ry
YW5zZm9ybUxpc3QubW0gKi87IH07CiAJCTg1NDE2MzZCMEFDNzE4MEIwMDAxRTAxQiAvKiBET01T
VkdUcmFuc2Zvcm1MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NTQxNjM1QjBBQzcxODBCMDAwMUUwMUIgLyogRE9NU1ZHVHJhbnNmb3JtTGlzdC5o
ICovOyB9OwogCQk4NTQxNjM2QzBBQzcxODBCMDAwMUUwMUIgLyogRE9NU1ZHVHJhbnNmb3JtLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU0MTYzNUMw
QUM3MTgwQjAwMDFFMDFCIC8qIERPTVNWR1RyYW5zZm9ybS5tbSAqLzsgfTsKQEAgLTcwOSw3ICs3
MTgsNiBAQAogCQk4NTkwOUNFNDBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTVW5rbm93blJ1bGVJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU5MDlDREIwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCAq
LzsgfTsKIAkJODU5MDlEMjkwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ByaW1pdGl2ZVZhbHVl
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1OTA5RDI2MEFDQzdENTUwMERGMDFGMSAvKiBET01DU1NQcmltaXRpdmVWYWx1ZUludGVybmFs
LmggKi87IH07CiAJCTg1OTA5RDJCMEFDQzdENTUwMERGMDFGMSAvKiBET01DU1NWYWx1ZUxpc3RJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU5MDlEMjgwQUNDN0Q1NTAwREYwMUYxIC8qIERPTUNTU1ZhbHVlTGlzdEludGVybmFsLmggKi87
IH07Ci0JCTg1OTEyOEYzMEFCMjQzMUEwMDIwMjI2NSAvKiBET01IVE1MRW1iZWRFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTkxMjhGMTBB
QjI0MzFBMDAyMDIyNjUgLyogRE9NSFRNTEVtYmVkRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTg1OTEyOEY0MEFCMjQzMUEwMDIwMjI2
NSAvKiBET01IVE1MRW1iZWRFbGVtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODU5MTI4RjIwQUIyNDMxQTAwMjAyMjY1IC8qIERPTUhUTUxFbWJl
ZEVsZW1lbnQubW0gKi87IH07CiAJCTg1OTg5RENDMEFDQzhCQkQwMEEwQkM1MSAvKiBET01LZXli
b2FyZEV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1OTg5REM1MEFDQzhCQkQwMEEwQkM1MSAvKiBET01LZXlib2FyZEV2ZW50SW50
ZXJuYWwuaCAqLzsgfTsKIAkJODU5ODlEQ0QwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU1vdXNlRXZl
bnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODU5ODlEQzYwQUNDOEJCRDAwQTBCQzUxIC8qIERPTU1vdXNlRXZlbnRJbnRlcm5hbC5oICov
OyB9OwpAQCAtNzM4LDcgKzc0Niw2IEBACiAJCTg1OUM5QzNGMEFDQUNDQ0MwMDc5MTYxMSAvKiBE
T01TVkdSZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODU5QzlDM0QwQUNBQ0NDQzAwNzkxNjExIC8qIERPTVNWR1JlY3RFbGVtZW50Lmgg
Ki87IH07CiAJCTg1OUM5QzQwMEFDQUNDQ0MwMDc5MTYxMSAvKiBET01TVkdSZWN0RWxlbWVudC5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OUM5QzNF
MEFDQUNDQ0MwMDc5MTYxMSAvKiBET01TVkdSZWN0RWxlbWVudC5tbSAqLzsgfTsKIAkJODU5QzlD
NDIwQUNBQ0Q2RDAwNzkxNjExIC8qIERPTVNWR1JlY3RFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1OUM5QzQxMEFDQUNENkQw
MDc5MTYxMSAvKiBET01TVkdSZWN0RWxlbWVudEludGVybmFsLmggKi87IH07Ci0JCTg1OUZBNUZC
MEFCMEJGMjAwMDRGQUVFOSAvKiBET01Ob2RlRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTlGQTVGQTBBQjBCRjIwMDA0RkFFRTkgLyogRE9N
Tm9kZUZpbHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTg1QTBGOTdFMEFDNzE2M0QwMDE2MUZEQyAvKiBET01TVkcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1QTBGOTdEMEFDNzE2M0QwMDE2MUZE
QyAvKiBET01TVkcuaCAqLzsgfTsKIAkJODVBQ0E5ODYwQTlCNTIwMzAwNjcxRTkwIC8qIERPTUNo
YXJhY3RlckRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1QUNBOTg0MEE5QjUyMDMwMDY3MUU5MCAvKiBET01DaGFyYWN0ZXJEYXRhLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJODVBQ0E5ODcwQTlCNTIwMzAwNjcx
RTkwIC8qIERPTUNoYXJhY3RlckRhdGEubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NUFDQTk4NTBBOUI1MjAzMDA2NzFFOTAgLyogRE9NQ2hhcmFjdGVy
RGF0YS5tbSAqLzsgfTsKQEAgLTgxMyw3ICs4MjAsNiBAQAogCQk4NUMyMzk4NDBBRDU5MDk4MDAz
NTMzRTcgLyogRE9NU1ZHTnVtYmVyTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUMyMzk4MzBBRDU5MDk4MDAzNTMzRTcgLyogRE9N
U1ZHTnVtYmVyTGlzdEludGVybmFsLmggKi87IH07CiAJCTg1Qzc4QTY4MEFCREUxQjQwMDQ0RkMx
NiAvKiBET01FeGNlcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1Qzc4QTY3MEFCREUxQjQwMDQ0RkMxNiAvKiBET01FeGNlcHRpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NUM3RjNFNjBB
QUY1RDVFMDA0MDE0REQgLyogRE9NRXZlbnQuaCBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODVBRkE4MjAwQUFGNTI4QTAwRTg0MzA1IC8qIERPTUV2ZW50
LmggKi87IH07Ci0JCTg1QzdGNDQ3MEFBRjc2REMwMDQwMTRERCAvKiBET01FdmVudFRhcmdldC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDN0Y0NDUw
QUFGNzZEQzAwNDAxNEREIC8qIERPTUV2ZW50VGFyZ2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODVDN0Y0OTEwQUFGNzlEQzAwNDAxNEREIC8q
IERPTVVJRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg1QzdGNDhGMEFBRjc5REMwMDQwMTRERCAvKiBET01VSUV2ZW50LmggKi87IH07CiAJCTg1
QzdGNDkyMEFBRjc5REMwMDQwMTRERCAvKiBET01VSUV2ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDN0Y0OTAwQUFGNzlEQzAwNDAxNEREIC8q
IERPTVVJRXZlbnQubW0gKi87IH07CiAJCTg1QzdGNEMzMEFBRjgwODEwMDQwMTRERCAvKiBET01V
SUV2ZW50UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODVDN0Y0QzIwQUFGODA4MTAwNDAxNEREIC8qIERPTVVJRXZlbnRQcml2YXRlLmggKi87
IH07CkBAIC0yNDkyLDYgKzI0OTgsMTEgQEAKIAkJCWRzdFBhdGggPSBWZXJzaW9ucy9BL1ByaXZh
dGVIZWFkZXJzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDE7CiAJCQlmaWxlcyA9ICgKKwkJCQk4
NTQwNzU4MzBBRDZDRjE0MDA2MjBDNTcgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQuaCBpbiBDb3B5
RmlsZXMgKi8sCisJCQkJODU0MDc1ODQwQUQ2Q0YxNDAwNjIwQzU3IC8qIERPTUhUTUxFbWJlZEVs
ZW1lbnQuaCBpbiBDb3B5RmlsZXMgKi8sCisJCQkJODU0MDc1ODUwQUQ2Q0YxNDAwNjIwQzU3IC8q
IERPTUhUTUxPcHRpb25FbGVtZW50LmggaW4gQ29weUZpbGVzICovLAorCQkJCTg1NDA3NTNFMEFE
NkM2REMwMDYyMEM1NyAvKiBET01FdmVudFRhcmdldC5oIGluIENvcHlGaWxlcyAqLywKKwkJCQk4
NTQwNzUzRjBBRDZDNkRDMDA2MjBDNTcgLyogRE9NTm9kZUZpbHRlci5oIGluIENvcHlGaWxlcyAq
LywKIAkJCQk4NUYyNjRCMjBBQkJBQTU4MDA5Njk0NEIgLyogRE9NSFRNTERvY3VtZW50LmggaW4g
Q29weUZpbGVzICovLAogCQkJCTg1M0JGNEVDMEFCQjZFQjkwMDg2NDdCQiAvKiBET01Ob2RlLmgg
aW4gQ29weUZpbGVzICovLAogCQkJCTg1M0JGNEVEMEFCQjZFQjkwMDg2NDdCQiAvKiBET01Ob2Rl
UHJpdmF0ZS5oIGluIENvcHlGaWxlcyAqLywKQEAgLTMyNTYsMTEgKzMyNjcsOCBAQAogCQk4NTBG
RDIwRjBBQzlDODZBMDAxMjNEMEQgLyogRE9NU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0SW50ZXJuYWwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR0FuaW1hdGVkTGVuZ3Ro
TGlzdEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MEZEMjExMEFD
OUM4NkEwMDEyM0QwRCAvKiBET01TVkdBbmltYXRlZFN0cmluZ0ludGVybmFsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01TVkdBbmltYXRlZFN0cmluZ0ludGVybmFsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MEZEMjEyMEFDOUM4NkEwMDEyM0QwRCAv
KiBET01TVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0SW50ZXJuYWwuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODUxNjIwRUQwQUQyRkQ4ODAwNTlBN0RFIC8q
IERPTVNWR051bWJlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZH
TnVtYmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MTYyMEVFMEFEMkZEODgw
MDU5QTdERSAvKiBET01TVkdOdW1iZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gRE9NU1ZHTnVtYmVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk4NTE2MjBFRjBBRDJGRDg4MDA1OUE3REUgLyogRE9NU1ZHUG9pbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR1BvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg1MTYyMEYwMEFEMkZEODgwMDU5QTdERSAvKiBET01TVkdQb2ludC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01TVkdQb2ludC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODUxNjIwRjEwQUQyRkQ4ODAwNTlBN0RFIC8qIERP
TVNWR1JlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR1JlY3Qu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODUxNjIwRjIwQUQyRkQ4OTAwNTlBN0RF
IC8qIERPTVNWR1JlY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gRE9NU1ZHUmVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODUxODNCMzgw
QUE2OTI2MTAwRjE5RkEzIC8qIERPTUhUTUxCUkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTUhUTUxCUkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODUxODNCMzkwQUE2OTI2MTAwRjE5RkEzIC8qIERPTUhUTUxCUkVsZW1lbnQubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NSFRNTEJSRWxlbWVu
dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyODIsMTMgKzMyOTAsMjAgQEAK
IAkJODUxRUU4MjAwQUJDQTU4MTAwQTZBQTMzIC8qIERPTVJhbmdlRXhjZXB0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVJhbmdlRXhjZXB0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1MjE3RTAwMEE1RUNENDcwMERCOEQwMCAvKiBYU0xJbXBv
cnRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYU0xJbXBv
cnRSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODUyMTdFMDEwQTVFQ0Q0
NzAwREI4RDAwIC8qIFhTTEltcG9ydFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFhTTEltcG9ydFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODUy
QjlFODMwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MQXBwbGV0RWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NTJCOUU4NDBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRN
TEFwcGxldEVsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gRE9NSFRNTEFwcGxldEVsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTg1MkI5RTg1MEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTE9wdGlvbkVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODUyQjlFODYwQUE3OUM0NzAwMkFEQTZFIC8qIERP
TUhUTUxPcHRpb25FbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERPTUhUTUxPcHRpb25FbGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NTNCRjREOTBBQkI2QjU1MDA4NjQ3QkIgLyogRE9NTm9kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NTNCRjREQTBBQkI2QjU1MDA4NjQ3QkIgLyogRE9NTm9kZS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01Ob2RlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NTNCRjRFQTBBQkI2RTk3MDA4NjQ3QkIgLyogRE9NTm9kZVByaXZhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU5vZGVQcml2YXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1NDA3NEY5MEFENkMyMkUwMDYyMEM1NyAvKiBE
T01TVkdOdW1iZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR051
bWJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTQwNzRGQTBBRDZDMjJFMDA2
MjBDNTcgLyogRE9NU1ZHUG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTVNWR1BvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1NDA3NEZCMEFE
NkMyMkUwMDYyMEM1NyAvKiBET01TVkdSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01TVkdSZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1NDA3
NTFGMEFENkM1RkIwMDYyMEM1NyAvKiBET01FdmVudFRhcmdldC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NRXZlbnRUYXJnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODU0MDc1MjUwQUQ2QzY2NzAwNjIwQzU3IC8qIERPTU5vZGVGaWx0ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU5vZGVGaWx0ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODU0MDc1NjQwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhUTUxB
cHBsZXRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1M
QXBwbGV0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NTQwNzU2NTBB
RDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTEVtYmVkRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTEVtYmVkRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4NTQwNzU2NjBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTE9wdGlvbkVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUhUTUxPcHRpb25F
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg1NDA3NTY3MEFENkNCRjkw
MDYyMEM1NyAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBET01IVE1MT3B0aW9uRWxlbWVudC5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODU0MDc1NjgwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhUTUxPcHRp
b25FbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TUhUTUxPcHRpb25FbGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODU0MTYzNUEwQUM3MTgwQjAwMDFFMDFCIC8qIERPTVNWR1RyYW5zZm9ybUxpc3QubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU1ZHVHJhbnNmb3JtTGlz
dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODU0MTYzNUIwQUM3MTgwQjAwMDFF
MDFCIC8qIERPTVNWR1RyYW5zZm9ybUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVNWR1RyYW5zZm9ybUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODU0MTYzNUMwQUM3MTgwQjAwMDFFMDFCIC8qIERPTVNWR1RyYW5zZm9ybS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01TVkdUcmFuc2Zvcm0ubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMzg2LDcgKzM0MDEsNiBAQAogCQk4NTkwOUQy
NjBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTUHJpbWl0aXZlVmFsdWVJbnRlcm5hbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTUHJpbWl0aXZlVmFsdWVJbnRlcm5h
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTkwOUQyODBBQ0M3RDU1MDBERjAx
RjEgLyogRE9NQ1NTVmFsdWVMaXN0SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTUNTU1ZhbHVlTGlzdEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg1OTEyODc5MEFCMjIyRUMwMDIwMjI2NSAvKiBIVE1MRW1iZWRFbGVtZW50Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEVtYmVkRWxlbWVudC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg1OTEyOEYxMEFCMjQzMUEwMDIwMjI2NSAvKiBET01IVE1M
RW1iZWRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1M
RW1iZWRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OTEyOEYyMEFC
MjQzMUEwMDIwMjI2NSAvKiBET01IVE1MRW1iZWRFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUhUTUxFbWJlZEVsZW1lbnQubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OTg5REM1MEFDQzhCQkQwMEEwQkM1MSAvKiBET01LZXli
b2FyZEV2ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERP
TUtleWJvYXJkRXZlbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
NTk4OURDNjBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NTW91c2VFdmVudEludGVybmFsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Nb3VzZUV2ZW50SW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM0MTYsNyArMzQzMCw2IEBACiAJCTg1OUM5QzNE
MEFDQUNDQ0MwMDc5MTYxMSAvKiBET01TVkdSZWN0RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHUmVjdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODU5QzlDM0UwQUNBQ0NDQzAwNzkxNjExIC8qIERPTVNWR1JlY3RFbGVtZW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVNWR1JlY3RF
bGVtZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTlDOUM0MTBBQ0FDRDZE
MDA3OTE2MTEgLyogRE9NU1ZHUmVjdEVsZW1lbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHUmVjdEVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk4NTlGQTVGQTBBQjBCRjIwMDA0RkFFRTkgLyogRE9NTm9kZUZp
bHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTm9kZUZpbHRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUEwRjk3RDBBQzcxNjNEMDAxNjFGREMg
LyogRE9NU1ZHLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWRy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUFDQTk4NDBBOUI1MjAzMDA2NzFFOTAgLyog
RE9NQ2hhcmFjdGVyRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
Q2hhcmFjdGVyRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUFDQTk4NTBB
OUI1MjAzMDA2NzFFOTAgLyogRE9NQ2hhcmFjdGVyRGF0YS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DaGFyYWN0ZXJEYXRhLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMzQ5MSw3ICszNTA0LDYgQEAKIAkJODVDNTZDQUMwQUE4OUY4RTAw
RDk1NzU1IC8qIENTU0NoYXJzZXRSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NT
Q2hhcnNldFJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NUM1NkNBRDBB
QTg5RkUwMDBEOTU3NTUgLyogQ1NTVW5rbm93blJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBDU1NVbmtub3duUnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1
Qzc4QTY3MEFCREUxQjQwMDQ0RkMxNiAvKiBET01FeGNlcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NRXhjZXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTg1QzdGNDQ1MEFBRjc2REMwMDQwMTRERCAvKiBET01FdmVudFRhcmdldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRXZlbnRUYXJnZXQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDN0Y0OEYwQUFGNzlEQzAwNDAxNEREIC8qIERPTVVJRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVVJRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDN0Y0OTAwQUFGNzlEQzAwNDAxNEREIC8qIERP
TVVJRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9N
VUlFdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVDN0Y0QzIwQUFGODA4
MTAwNDAxNEREIC8qIERPTVVJRXZlbnRQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01VSUV2ZW50UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNjA1MCwyMyArNjA2MiwyMyBAQAogCQkJbmFtZSA9IFZpZXdzOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJODUxRUU4MjMwQUJDQTU4QTAwQTZBQTMzIC8qIFJhbmdl
ICovID0geworCQk4NTQwNzU0MjBBRDZDNzNFMDA2MjBDNTcgLyogRE9NRXhjZXB0aW9ucyAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJODVDNzhBNjcwQUJE
RTFCNDAwNDRGQzE2IC8qIERPTUV4Y2VwdGlvbi5oICovLAorCQkJCTg1MUVFODEwMEFCQ0EzOTYw
MEE2QUEzMyAvKiBET01FdmVudEV4Y2VwdGlvbi5oICovLAogCQkJCTg1MUVFODIwMEFCQ0E1ODEw
MEE2QUEzMyAvKiBET01SYW5nZUV4Y2VwdGlvbi5oICovLAorCQkJCTg1NDk0OTJFMEFDODVBMzIw
MDhBQjAzNSAvKiBET01TVkdFeGVjcHRpb24uaCAqLywKKwkJCQk4NTgwMTVDRDBBQkNBNzVEMDA4
MDU4OEQgLyogRE9NWFBhdGhFeGNlcHRpb24uaCAqLywKIAkJCSk7Ci0JCQluYW1lID0gUmFuZ2U7
CisJCQluYW1lID0gRE9NRXhjZXB0aW9uczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJ
CX07CiAJCTg1NDk0OTJEMEFDODVBMEEwMDhBQjAzNSAvKiBTVkcgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTg1NDk0OTJFMEFDODVBMzIwMDhBQjAzNSAv
KiBET01TVkdFeGVjcHRpb24uaCAqLywKLQkJCQk4NTE2MjBFRDBBRDJGRDg4MDA1OUE3REUgLyog
RE9NU1ZHTnVtYmVyLmggKi8sCiAJCQkJODUxNjIwRUUwQUQyRkQ4ODAwNTlBN0RFIC8qIERPTVNW
R051bWJlci5tbSAqLywKLQkJCQk4NTE2MjBFRjBBRDJGRDg4MDA1OUE3REUgLyogRE9NU1ZHUG9p
bnQuaCAqLywKIAkJCQk4NTE2MjBGMDBBRDJGRDg4MDA1OUE3REUgLyogRE9NU1ZHUG9pbnQubW0g
Ki8sCi0JCQkJODUxNjIwRjEwQUQyRkQ4ODAwNTlBN0RFIC8qIERPTVNWR1JlY3QuaCAqLywKIAkJ
CQk4NTE2MjBGMjBBRDJGRDg5MDA1OUE3REUgLyogRE9NU1ZHUmVjdC5tbSAqLywKIAkJCSk7CiAJ
CQluYW1lID0gU1ZHOwpAQCAtNjA3NSw3ICs2MDg3LDYgQEAKIAkJODU0RjEyQUMwQThFQkMxODAw
MDk0MEI1IC8qIENvcmUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAotCQkJCTg1Qzc4QTY3MEFCREUxQjQwMDQ0RkMxNiAvKiBET01FeGNlcHRpb24uaCAqLywKIAkJ
CQk4NTZDOEFFMjBBOTEyNjQ5MDA1QzY4N0IgLyogRE9NT2JqZWN0LmggKi8sCiAJCQkJODU2QzhB
RTMwQTkxMjY0OTAwNUM2ODdCIC8qIERPTU9iamVjdC5tbSAqLywKIAkJCQk5M0M4NDFGRTA5Q0U4
NTgzMDBERkY1RTUgLyogRE9NSW1wbGVtZW50YXRpb25Gcm9udC5jcHAgKi8sCkBAIC02MDg3LDYg
KzYwOTgsNyBAQAogCQk4NTUyNkMxNTBBQjBBMTJBMDAwMzAyRUEgLyogVHJhdmVyc2FsICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk4NTQwNzUyNTBBRDZD
NjY3MDA2MjBDNTcgLyogRE9NTm9kZUZpbHRlci5oICovLAogCQkJCTg1NTI2QzNEMEFCMEE3NkYw
MDAzMDJFQSAvKiBET01Ob2RlSXRlcmF0b3JQcml2YXRlLmggKi8sCiAJCQkJODU1MjZDMzUwQUIw
QTE3RTAwMDMwMkVBIC8qIERPTU5vZGVJdGVyYXRvci5oICovLAogCQkJCTg1NTI2QzM2MEFCMEEx
N0UwMDAzMDJFQSAvKiBET01Ob2RlSXRlcmF0b3IubW0gKi8sCkBAIC02MDk2LDE0ICs2MTA4LDYg
QEAKIAkJCW5hbWUgPSBUcmF2ZXJzYWw7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9
OwotCQk4NTgwMTVDQzBBQkNBNzQxMDA4MDU4OEQgLyogWFBhdGggKi8gPSB7Ci0JCQlpc2EgPSBQ
QlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTg1ODAxNUNEMEFCQ0E3NUQwMDgwNTg4RCAv
KiBET01YUGF0aEV4Y2VwdGlvbi5oICovLAotCQkJKTsKLQkJCW5hbWUgPSBYUGF0aDsKLQkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07CiAJCTg1OEMzOTUxMEFBOTAyNEMwMEIxODdBNCAv
KiBDU1MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjIw
MCwyNCArNjIwNCwxMiBAQAogCQk4NTk5MkZDMjBBQTVERDQ2MDBBQzA3ODUgLyogSFRNTCAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJODUyQjlFODMwQUE3
OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50LmggKi8sCiAJCQkJODUyQjlFODQw
QUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxBcHBsZXRFbGVtZW50Lm1tICovLAotCQkJCTg1OTEy
OEYxMEFCMjQzMUEwMDIwMjI2NSAvKiBET01IVE1MRW1iZWRFbGVtZW50LmggKi8sCiAJCQkJODU5
MTI4RjIwQUIyNDMxQTAwMjAyMjY1IC8qIERPTUhUTUxFbWJlZEVsZW1lbnQubW0gKi8sCi0JCQkJ
ODUyQjlFODUwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxPcHRpb25FbGVtZW50LmggKi8sCi0J
CQkJODUyQjlFODYwQUE3OUM0NzAwMkFEQTZFIC8qIERPTUhUTUxPcHRpb25FbGVtZW50Lm1tICov
LAogCQkJKTsKIAkJCW5hbWUgPSBIVE1MOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJ
fTsKLQkJODU5RkE1RjIwQUIwQkVFMjAwNEZBRUU5IC8qIFRyYXZlcnNhbCAqLyA9IHsKLQkJCWlz
YSA9IFBCWEdyb3VwOwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJODU5RkE1RkEwQUIwQkYyMDAwNEZB
RUU5IC8qIERPTU5vZGVGaWx0ZXIuaCAqLywKLQkJCSk7Ci0JCQluYW1lID0gVHJhdmVyc2FsOwot
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJODVBMEY5OEUwQUM3MTZGNDAwMTYx
RkRDIC8qIFNWRyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBA
IC02MzM1LDE0ICs2MzI3LDE3IEBACiAJCQkJODU0MTYzNjIwQUM3MTgwQjAwMDFFMDFCIC8qIERP
TVNWR01hdHJpeC5tbSAqLywKIAkJCQk4NTU5RjExMDBBQzlCRTk5MDBBMzQzOUMgLyogRE9NU1ZH
TWV0YWRhdGFFbGVtZW50LmggKi8sCiAJCQkJODU1OUYxMTEwQUM5QkU5OTAwQTM0MzlDIC8qIERP
TVNWR01ldGFkYXRhRWxlbWVudC5tbSAqLywKKwkJCQk4NTQwNzRGOTBBRDZDMjJFMDA2MjBDNTcg
LyogRE9NU1ZHTnVtYmVyLmggKi8sCiAJCQkJODVDMjM5N0YwQUQ1OTA3RDAwMzUzM0U3IC8qIERP
TVNWR051bWJlckxpc3QuaCAqLywKIAkJCQk4NUMyMzk4MDBBRDU5MDdEMDAzNTMzRTcgLyogRE9N
U1ZHTnVtYmVyTGlzdC5tbSAqLywKIAkJCQk4NTQxNjM2MTBBQzcxODBCMDAwMUUwMUIgLyogRE9N
U1ZHUGF0aFNlZy5oICovLAogCQkJCTg1NDE2MzYwMEFDNzE4MEIwMDAxRTAxQiAvKiBET01TVkdQ
YXRoU2VnLm1tICovLAogCQkJCTg1NDE2MzVGMEFDNzE4MEIwMDAxRTAxQiAvKiBET01TVkdQYXRo
U2VnTGlzdC5oICovLAogCQkJCTg1NDE2MzVFMEFDNzE4MEIwMDAxRTAxQiAvKiBET01TVkdQYXRo
U2VnTGlzdC5tbSAqLywKKwkJCQk4NTQwNzRGQTBBRDZDMjJFMDA2MjBDNTcgLyogRE9NU1ZHUG9p
bnQuaCAqLywKIAkJCQk4NUFDRUYwQTBBQ0RDQ0NGMDAxMjE0RkYgLyogRE9NU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5oICovLAogCQkJCTg1QUNFRjBCMEFDRENDQ0YwMDEyMTRGRiAvKiBET01TVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLm1tICovLAorCQkJCTg1NDA3NEZCMEFENkMyMkUwMDYyMEM1NyAv
KiBET01TVkdSZWN0LmggKi8sCiAJCQkJODU5QzlDM0QwQUNBQ0NDQzAwNzkxNjExIC8qIERPTVNW
R1JlY3RFbGVtZW50LmggKi8sCiAJCQkJODU5QzlDM0UwQUNBQ0NDQzAwNzkxNjExIC8qIERPTVNW
R1JlY3RFbGVtZW50Lm1tICovLAogCQkJCTg1RDc5QUQyMEFDQTE3RUIwMEYwMkZDNSAvKiBET01T
VkdTdHJpbmdMaXN0LmggKi8sCkBAIC02MzY1LDYgKzYzNjAsNyBAQAogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk4NUQyQUQ2NzBBQjFBNDBBMDBDMzEzRUEgLyogRE9N
RXZlbnRMaXN0ZW5lci5oICovLAorCQkJCTg1NDA3NTFGMEFENkM1RkIwMDYyMEM1NyAvKiBET01F
dmVudFRhcmdldC5oICovLAogCQkJCTg1QUZBODIwMEFBRjUyOEEwMEU4NDMwNSAvKiBET01FdmVu
dC5oICovLAogCQkJCTg1QUZBODIxMEFBRjUyOEEwMEU4NDMwNSAvKiBET01FdmVudC5tbSAqLywK
IAkJCQk4NURGMzQzRjBBQUZDMEVEMDBFNTlBRTMgLyogRE9NS2V5Ym9hcmRFdmVudFByaXZhdGUu
aCAqLywKQEAgLTY0MTAsNiArNjQwNiw3IEBACiAJCQkJODVERjgxMjEwQUE3Nzg3MjAwNDg2QUQ3
IC8qIERPTUhUTUxBbmNob3JFbGVtZW50LmggKi8sCiAJCQkJMUNGQ0VFN0YwQUFDQzNCMzAwMzQ4
NzUwIC8qIERPTUhUTUxBbmNob3JFbGVtZW50UHJpdmF0ZS5oICovLAogCQkJCTg1REY4MTIyMEFB
Nzc4NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVudC5tbSAqLywKKwkJCQk4NTQwNzU2
NDBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQuaCAqLywKIAkJCQkxQ0ZD
RUU4ODBBQUNDM0MwMDAzNDg3NTAgLyogRE9NSFRNTEFyZWFFbGVtZW50UHJpdmF0ZS5oICovLAog
CQkJCTg1RUNCRUREMEFBNzYyNjgwMDU0NEYwQiAvKiBET01IVE1MQXJlYUVsZW1lbnQuaCAqLywK
IAkJCQk4NUVDQkVERTBBQTc2MjY4MDA1NDRGMEIgLyogRE9NSFRNTEFyZWFFbGVtZW50Lm1tICov
LApAQCAtNjQzNyw2ICs2NDM0LDcgQEAKIAkJCQk4NUJDQkMxMjBBQkJBODdEMDAzODExNjAgLyog
RE9NSFRNTERvY3VtZW50Lm1tICovLAogCQkJCTg1REYyRUVCMEFBMzg3Q0IwMEFENjRDNSAvKiBE
T01IVE1MRWxlbWVudC5oICovLAogCQkJCTg1REYyRUVDMEFBMzg3Q0IwMEFENjRDNSAvKiBET01I
VE1MRWxlbWVudC5tbSAqLywKKwkJCQk4NTQwNzU2NTBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRN
TEVtYmVkRWxlbWVudC5oICovLAogCQkJCTg1QkE0Q0Q3MEFBNjg2MUIwMDg4MDUyRCAvKiBET01I
VE1MRmllbGRTZXRFbGVtZW50LmggKi8sCiAJCQkJODVCQTRDRDgwQUE2ODYxQjAwODgwNTJEIC8q
IERPTUhUTUxGaWVsZFNldEVsZW1lbnQubW0gKi8sCiAJCQkJODVFQ0JFRTEwQUE3NjI2ODAwNTQ0
RjBCIC8qIERPTUhUTUxGb250RWxlbWVudC5oICovLApAQCAtNjQ5MCw2ICs2NDg4LDkgQEAKIAkJ
CQk4NURGODEyNjBBQTc3ODcyMDA0ODZBRDcgLyogRE9NSFRNTE9iamVjdEVsZW1lbnQubW0gKi8s
CiAJCQkJODVGMzJBRTYwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxPcHRHcm91cEVsZW1lbnQu
aCAqLywKIAkJCQk4NUYzMkFFNzBBQTYzQjg3MDBGRjMxODQgLyogRE9NSFRNTE9wdEdyb3VwRWxl
bWVudC5tbSAqLywKKwkJCQk4NTQwNzU2NjBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTE9wdGlv
bkVsZW1lbnQuaCAqLywKKwkJCQk4NTQwNzU2NzBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTE9w
dGlvbkVsZW1lbnQubW0gKi8sCisJCQkJODU0MDc1NjgwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhU
TUxPcHRpb25FbGVtZW50SW50ZXJuYWwuaCAqLywKIAkJCQkxQ0ZDRUVENDBBQUNDNjVEMDAzNDg3
NTAgLyogRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uUHJpdmF0ZS5oICovLAogCQkJCTg1REYyRjk5
MEFBM0NBRTUwMEFENjRDNSAvKiBET01IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCAqLywKIAkJCQk4
NURGMkY5QTBBQTNDQUU1MDBBRDY0QzUgLyogRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uLm1tICov
LApAQCAtNjUzMiwxNSArNjUzMyw2IEBACiAJCQluYW1lID0gSFRNTDsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CiAJCX07Ci0JCTg1QzdGNDQzMEFBRjc2ODYwMDQwMTRERCAvKiBFdmVudHMg
Ki8gPSB7Ci0JCQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTg1MUVFODEw
MEFCQ0EzOTYwMEE2QUEzMyAvKiBET01FdmVudEV4Y2VwdGlvbi5oICovLAotCQkJCTg1QzdGNDQ1
MEFBRjc2REMwMDQwMTRERCAvKiBET01FdmVudFRhcmdldC5oICovLAotCQkJKTsKLQkJCW5hbWUg
PSBFdmVudHM7Ci0JCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwotCQl9OwogCQk4NUU3MTEzRDBB
QzVENEExMDA1MzI3MEYgLyogSW50ZXJuYWwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKApAQCAtNzY5OSwxMyArNzY5MSwxMCBAQAogCQkJCTg1QjIzMjI2MEE4QkYz
QTEwMEZERjQ3QiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJCQkJODU0RjEyQUMwQThFQkMxODAw
MDk0MEI1IC8qIENvcmUgKi8sCiAJCQkJODU4QzM5NTEwQUE5MDI0QzAwQjE4N0E0IC8qIENTUyAq
LywKLQkJCQk4NUM3RjQ0MzBBQUY3Njg2MDA0MDE0REQgLyogRXZlbnRzICovLAogCQkJCTg1OTky
RkMyMEFBNURENDYwMEFDMDc4NSAvKiBIVE1MICovLAotCQkJCTg1MUVFODIzMEFCQ0E1OEEwMEE2
QUEzMyAvKiBSYW5nZSAqLywKIAkJCQk4NTQ5NDkyRDBBQzg1QTBBMDA4QUIwMzUgLyogU1ZHICov
LAotCQkJCTg1OUZBNUYyMEFCMEJFRTIwMDRGQUVFOSAvKiBUcmF2ZXJzYWwgKi8sCiAJCQkJODUx
RUU4MDYwQUJDQTI1MjAwQTZBQTMzIC8qIFZpZXdzICovLAotCQkJCTg1ODAxNUNDMEFCQ0E3NDEw
MDgwNTg4RCAvKiBYUGF0aCAqLywKKwkJCQk4NTQwNzU0MjBBRDZDNzNFMDA2MjBDNTcgLyogRE9N
RXhjZXB0aW9ucyAqLywKIAkJCQk4NTlCN0ZCOTBBOEQyODg4MDBBNUYxRUEgLyogQ29kZUdlbmVy
YXRvck9iakMucG0gKi8sCiAJCQkJMUNEMEI2MjAwQUFCREI1MDAwRDBBM0ZGIC8qIFB1YmxpY0RP
TUludGVyZmFjZXMuaCAqLywKIAkJCQlCQzFBMzc5NzA5N0M3MTVGMDAxOUYzRDggLyogRE9NLmgg
Ki8sCkBAIC05MjEzLDggKzkyMDIsNiBAQAogCQkJCTg1REY4MjcwMEFBNzhCOEIwMDQ4NkFENyAv
KiBET01IVE1MVGFibGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NURGODIyMzBBQTc4
NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlUm93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODVERjgyMjUwQUE3ODQ5RTAwNDg2QUQ3IC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50
LmggaW4gSGVhZGVycyAqLywKLQkJCQk4NTJCOUU4NzBBQTc5QzQ3MDAyQURBNkUgLyogRE9NSFRN
TEFwcGxldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTg1MkI5RTg5MEFBNzlDNDcwMDJB
REE2RSAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE5ODk1
NUQwQUE3ODE0OTAwNUVGNUVGIC8qIENTdHJpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUQyM0NB
NTVEMEFCMEVBQUUwMDUxMDhBNSAvKiBKU1JhbmdlRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEMjNDQTU2QzBBQjBFQjhEMDA1MTA4QTUgLyogUmFuZ2VFeGNlcHRpb24uaCBpbiBIZWFk
ZXJzICovLApAQCAtOTI0Myw3ICs5MjMwLDYgQEAKIAkJCQk4NTA2NTcwMjBBQUI0NzYzMDAyRDE1
QzAgLyogRE9NU3R5bGVTaGVldExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNDcwNkFCMEFB
Q0Q4MDkwMDJDMUQ0MyAvKiBUZXh0RGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVBRkE4
MjIwQUFGNTI4QTAwRTg0MzA1IC8qIERPTUV2ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk4NUM3
RjQ0NzBBQUY3NkRDMDA0MDE0REQgLyogRE9NRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg1QzdGNDkxMEFBRjc5REMwMDQwMTRERCAvKiBET01VSUV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk4NUM3RjRDMzBBQUY4MDgxMDA0MDE0REQgLyogRE9NVUlFdmVudFByaXZhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTg1QzdGNUJGMEFBRkI3Q0MwMDQwMTRERCAvKiBET01NdXRhdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTkyNTcsOSArOTI0Myw3IEBACiAJCQkJODU1MjZD
MzcwQUIwQTE3RTAwMDMwMkVBIC8qIERPTU5vZGVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODU1MjZDM0UwQUIwQTc2RjAwMDMwMkVBIC8qIERPTU5vZGVJdGVyYXRvclByaXZhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTg1NTI2Q0QyMEFCMEI3RDkwMDAzMDJFQSAvKiBET01UcmVlV2Fs
a2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk4NTlGQTVGQjBBQjBCRjIwMDA0RkFFRTkgLyogRE9N
Tm9kZUZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVEMkFENjgwQUIxQTQwQTAwQzMxM0VB
IC8qIERPTUV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTg1OTEyOEYzMEFCMjQz
MUEwMDIwMjI2NSAvKiBET01IVE1MRW1iZWRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NUU5RTBBMTBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhFeHByZXNzaW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NUU5RTBBNDBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBhdGhOU1Jlc29sdmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU5RTBBNTBBQjNBMEM3MDAwNjlDRDAgLyogRE9NWFBh
dGhSZXN1bHQuaCBpbiBIZWFkZXJzICovLApAQCAtOTU4Nyw5ICs5NTcxLDYgQEAKIAkJCQk5Mzky
RjE0NjBBRDE4NjBDMDA2OTFCRDQgLyogQ291bnRlclJlc2V0Tm9kZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTM5MkYxNEMwQUQxODYxQjAwNjkxQkQ0IC8qIENvdW50ZXJOb2RlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5MzkyRjE1MjBBRDE4NjJCMDA2OTFCRDQgLyogQ291bnRlckxpc3RJdGVtLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk4NTE2MjBGMzBBRDJGRDg5MDA1OUE3REUgLyogRE9NU1ZHTnVt
YmVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk4NTE2MjBGNTBBRDJGRDg5MDA1OUE3REUgLyogRE9N
U1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTg1MTYyMEY3MEFEMkZEODkwMDU5QTdERSAv
KiBET01TVkdSZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAyQUI0MDBBRDQzOEMwMDAzNzg1
NDAgLyogRE9NU1ZHRkVCbGVuZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDJBQjQy
MEFENDM4QzAwMDM3ODU0MCAvKiBET01TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODUwMkFCNDQwQUQ0MzhDMDAwMzc4NTQwIC8qIERPTVNWR0ZFQ29tcG9uZW50
VHJhbnNmZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTk2NDMsNiArOTYyNCwxNSBAQAog
CQkJCTg1MEQwNjY4MEFENDNBOUEwMDYzQjI3QSAvKiBET01TVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1QzIzOTgxMEFENTkwN0QwMDM1
MzNFNyAvKiBET01TVkdOdW1iZXJMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUMyMzk4NDBB
RDU5MDk4MDAzNTMzRTcgLyogRE9NU1ZHTnVtYmVyTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NTQwNzRGQzBBRDZDMjJFMDA2MjBDNTcgLyogRE9NU1ZHTnVtYmVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NTQwNzRGRDBBRDZDMjJFMDA2MjBDNTcgLyogRE9NU1ZHUG9pbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCTg1NDA3NEZFMEFENkMyMkUwMDYyMEM1NyAvKiBET01TVkdSZWN0
LmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTQwNzUyMDBBRDZDNUZCMDA2MjBDNTcgLyogRE9NRXZl
bnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1NDA3NTI2MEFENkM2NjcwMDYyMEM1NyAv
KiBET01Ob2RlRmlsdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NTQwNzU2OTBBRDZDQkY5MDA2
MjBDNTcgLyogRE9NSFRNTEFwcGxldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTg1NDA3
NTZBMEFENkNCRjkwMDYyMEM1NyAvKiBET01IVE1MRW1iZWRFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk4NTQwNzU2QjBBRDZDQkY5MDA2MjBDNTcgLyogRE9NSFRNTE9wdGlvbkVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTg1NDA3NTZEMEFENkNCRjkwMDYyMEM1NyAvKiBET01IVE1M
T3B0aW9uRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEwNTU5LDcgKzEwNTQ5
LDYgQEAKIAkJCQk4NURGODIyNjBBQTc4NDlFMDA0ODZBRDcgLyogRE9NSFRNTFRhYmxlU2VjdGlv
bkVsZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NURGODI3MTBBQTc4QjhCMDA0ODZBRDcg
LyogRE9NSFRNTFRhYmxlRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1MkI5RTg4MEFB
NzlDNDcwMDJBREE2RSAvKiBET01IVE1MQXBwbGV0RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTg1MkI5RThBMEFBNzlDNDcwMDJBREE2RSAvKiBET01IVE1MT3B0aW9uRWxlbWVudC5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBOTg5NTVDMEFBNzgxNDkwMDVFRjVFRiAvKiBDU3RyaW5nLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBOTg5NTZCMEFBNzhGODAwMDVFRjVFRiAvKiBLVVJMQ0ZO
ZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDIzQ0E1NUYwQUIwRUFCNjAwNTEwOEE1IC8qIEpT
UmFuZ2VFeGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMDgwMyw2ICsxMDc5Miw3IEBA
CiAJCQkJODUwMkFCNzUwQUQ0MzhFNjAwMzc4NTQwIC8qIERPTVNWR0FuaW1hdGVkUmVjdC5tbSBp
biBTb3VyY2VzICovLAogCQkJCTg1MDJBQjc3MEFENDM4RTYwMDM3ODU0MCAvKiBET01TVkdDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1QzIz
OTgyMEFENTkwN0QwMDM1MzNFNyAvKiBET01TVkdOdW1iZXJMaXN0Lm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJODU0MDc1NkMwQUQ2Q0JGOTAwNjIwQzU3IC8qIERPTUhUTUxPcHRpb25FbGVtZW50Lm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRUYXJn
ZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRUYXJnZXQu
aAkocmV2aXNpb24gMTY4NTIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRXZlbnRUYXJn
ZXQuaAkod29ya2luZyBjb3B5KQpAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21h
aWwuY29tPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKLSAqLwotCi1AY2xhc3MgRE9NRXZlbnQ7Ci1AcHJvdG9jb2wgRE9NRXZlbnRMaXN0
ZW5lcjsKLQotQHByb3RvY29sIERPTUV2ZW50VGFyZ2V0IDxOU09iamVjdCwgTlNDb3B5aW5nPgot
LSAodm9pZClhZGRFdmVudExpc3RlbmVyOihOU1N0cmluZyAqKXR5cGUgbGlzdGVuZXI6KGlkIDxE
T01FdmVudExpc3RlbmVyPilsaXN0ZW5lciB1c2VDYXB0dXJlOihCT09MKXVzZUNhcHR1cmU7Ci0t
ICh2b2lkKXJlbW92ZUV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSBsaXN0ZW5lcjooaWQg
PERPTUV2ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJPT0wpdXNlQ2FwdHVyZTsK
LS0gKEJPT0wpZGlzcGF0Y2hFdmVudDooRE9NRXZlbnQgKilldmVudDsKLUBlbmQKSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5oCShyZXZpc2lvbiAx
Njg1MikKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQXBwbGV0RWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDY2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQt
MjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2ltcG9ydCA8V2ViQ29yZS9ET01IVE1MRWxlbWVudC5oPgotCi1AaW50ZXJmYWNlIERPTUhU
TUxBcHBsZXRFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKLSNpZm5kZWYgQlVJTERJTkdfT05fVElH
RVIKLUBwcm9wZXJ0eSBOU1N0cmluZyAqYWxpZ247Ci1AcHJvcGVydHkgTlNTdHJpbmcgKmFsdDsK
LUBwcm9wZXJ0eSBOU1N0cmluZyAqYXJjaGl2ZTsKLUBwcm9wZXJ0eSBOU1N0cmluZyAqY29kZTsK
LUBwcm9wZXJ0eSBOU1N0cmluZyAqY29kZUJhc2U7Ci1AcHJvcGVydHkgTlNTdHJpbmcgKmhlaWdo
dDsKLUBwcm9wZXJ0eSBpbnQgaHNwYWNlOwotQHByb3BlcnR5IE5TU3RyaW5nICpuYW1lOwotQHBy
b3BlcnR5IE5TU3RyaW5nICpvYmplY3Q7Ci1AcHJvcGVydHkgaW50IHZzcGFjZTsKLUBwcm9wZXJ0
eSBOU1N0cmluZyAqd2lkdGg7Ci0jZWxzZQotLSAoTlNTdHJpbmcgKilhbGlnbjsKLS0gKHZvaWQp
c2V0QWxpZ246KE5TU3RyaW5nICopYWxpZ247Ci0tIChOU1N0cmluZyAqKWFsdDsKLS0gKHZvaWQp
c2V0QWx0OihOU1N0cmluZyAqKWFsdDsKLS0gKE5TU3RyaW5nICopYXJjaGl2ZTsKLS0gKHZvaWQp
c2V0QXJjaGl2ZTooTlNTdHJpbmcgKilhcmNoaXZlOwotLSAoTlNTdHJpbmcgKiljb2RlOwotLSAo
dm9pZClzZXRDb2RlOihOU1N0cmluZyAqKWNvZGU7Ci0tIChOU1N0cmluZyAqKWNvZGVCYXNlOwot
LSAodm9pZClzZXRDb2RlQmFzZTooTlNTdHJpbmcgKiljb2RlQmFzZTsKLS0gKE5TU3RyaW5nICop
aGVpZ2h0OwotLSAodm9pZClzZXRIZWlnaHQ6KE5TU3RyaW5nICopaGVpZ2h0OwotLSAoaW50KWhz
cGFjZTsKLS0gKHZvaWQpc2V0SHNwYWNlOihpbnQpaHNwYWNlOwotLSAoTlNTdHJpbmcgKiluYW1l
OwotLSAodm9pZClzZXROYW1lOihOU1N0cmluZyAqKW5hbWU7Ci0tIChOU1N0cmluZyAqKW9iamVj
dDsKLS0gKHZvaWQpc2V0T2JqZWN0OihOU1N0cmluZyAqKW9iamVjdDsKLS0gKGludCl2c3BhY2U7
Ci0tICh2b2lkKXNldFZzcGFjZTooaW50KXZzcGFjZTsKLS0gKE5TU3RyaW5nICopd2lkdGg7Ci0t
ICh2b2lkKXNldFdpZHRoOihOU1N0cmluZyAqKXdpZHRoOwotI2VuZGlmCi1AZW5kCkluZGV4OiBX
ZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTEVtYmVkRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MRW1iZWRFbGVtZW50LmgJKHJldmlzaW9uIDE2
ODUyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxFbWJlZEVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMSw1MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA0LTIw
MDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+Ci0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0K
LSNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTEVsZW1lbnQuaD4KLQotQGludGVyZmFjZSBET01IVE1M
RW1iZWRFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKLSNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIK
LUBwcm9wZXJ0eSBOU1N0cmluZyAqYWxpZ247Ci1AcHJvcGVydHkgaW50IGhlaWdodDsKLUBwcm9w
ZXJ0eSBOU1N0cmluZyAqbmFtZTsKLUBwcm9wZXJ0eSBOU1N0cmluZyAqc3JjOwotQHByb3BlcnR5
IE5TU3RyaW5nICp0eXBlOwotQHByb3BlcnR5IGludCB3aWR0aDsKLSNlbHNlCi0tIChOU1N0cmlu
ZyAqKWFsaWduOwotLSAodm9pZClzZXRBbGlnbjooTlNTdHJpbmcgKiluZXdBbGlnbjsKLS0gKGlu
dCloZWlnaHQ7Ci0tICh2b2lkKXNldEhlaWdodDooaW50KW5ld0hlaWdodDsKLS0gKE5TU3RyaW5n
ICopbmFtZTsKLS0gKHZvaWQpc2V0TmFtZTooTlNTdHJpbmcgKiluZXdOYW1lOwotLSAoTlNTdHJp
bmcgKilzcmM7Ci0tICh2b2lkKXNldFNyYzooTlNTdHJpbmcgKiluZXdTcmM7Ci0tIChOU1N0cmlu
ZyAqKXR5cGU7Ci0tICh2b2lkKXNldFR5cGU6KE5TU3RyaW5nICopbmV3VHlwZTsKLS0gKGludCl3
aWR0aDsKLS0gKHZvaWQpc2V0V2lkdGg6KGludCluZXdXaWR0aDsKLSNlbmRpZgotQGVuZApJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxPcHRpb25FbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxPcHRpb25FbGVtZW50LmgJKHJldmlz
aW9uIDE2ODUyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxPcHRpb25FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNC0yMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotCi0jaW1wb3J0IDxXZWJDb3JlL0RPTUhUTUxFbGVtZW50Lmg+Ci0KLUBjbGFzcyBET01I
VE1MRm9ybUVsZW1lbnQ7Ci0KLUBpbnRlcmZhY2UgRE9NSFRNTE9wdGlvbkVsZW1lbnQgOiBET01I
VE1MRWxlbWVudAotI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgotQHByb3BlcnR5KHJlYWRvbmx5
KSBET01IVE1MRm9ybUVsZW1lbnQgKmZvcm07Ci1AcHJvcGVydHkgQk9PTCBkZWZhdWx0U2VsZWN0
ZWQ7Ci1AcHJvcGVydHkocmVhZG9ubHkpIE5TU3RyaW5nICp0ZXh0OwotQHByb3BlcnR5KHJlYWRv
bmx5KSBpbnQgaW5kZXg7Ci1AcHJvcGVydHkgQk9PTCBkaXNhYmxlZDsKLUBwcm9wZXJ0eSBOU1N0
cmluZyAqbGFiZWw7Ci1AcHJvcGVydHkgQk9PTCBzZWxlY3RlZDsKLUBwcm9wZXJ0eSBOU1N0cmlu
ZyAqdmFsdWU7Ci0jZWxzZQotLSAoRE9NSFRNTEZvcm1FbGVtZW50ICopZm9ybTsKLS0gKEJPT0wp
ZGVmYXVsdFNlbGVjdGVkOwotLSAodm9pZClzZXREZWZhdWx0U2VsZWN0ZWQ6KEJPT0wpZGVmYXVs
dFNlbGVjdGVkOwotLSAoTlNTdHJpbmcgKil0ZXh0OwotLSAoaW50KWluZGV4OwotLSAoQk9PTClk
aXNhYmxlZDsKLS0gKHZvaWQpc2V0RGlzYWJsZWQ6KEJPT0wpZGlzYWJsZWQ7Ci0tIChOU1N0cmlu
ZyAqKWxhYmVsOwotLSAodm9pZClzZXRMYWJlbDooTlNTdHJpbmcgKilsYWJlbDsKLS0gKEJPT0wp
c2VsZWN0ZWQ7Ci0tICh2b2lkKXNldFNlbGVjdGVkOihCT09MKXNlbGVjdGVkOwotLSAoTlNTdHJp
bmcgKil2YWx1ZTsKLS0gKHZvaWQpc2V0VmFsdWU6KE5TU3RyaW5nICopdmFsdWU7Ci0jZW5kaWYK
LUBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MT3B0aW9uRWxlbWVudC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTE9wdGlvbkVsZW1l
bnQubW0JKHJldmlzaW9uIDE2ODUyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxP
cHRpb25FbGVtZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyMSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDA0LTIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiRE9NSFRN
TE9wdGlvbkVsZW1lbnQuaCIKLQotI2ltcG9ydCAiRE9NSW50ZXJuYWwuaCIKLSNpbXBvcnQgIkhU
TUxPcHRpb25FbGVtZW50LmgiCi0jaW1wb3J0ICJET01IVE1MRm9ybUVsZW1lbnQuaCIKLSNpbXBv
cnQgIlBsYXRmb3JtU3RyaW5nLmgiCi0KLQotLy8gRklYTUU6IERPTUhUTUxPcHRpb25FbGVtZW50
IGNhbm5vdCBiZSBhdXRvLWdlbmVyYXRlZCB5ZXQgYmVjYXVzZSBvZiBzb21lIAotLy8gZGlmZmVy
ZW5lY2VzIGJldHdlZW4gdGhlIG9sZCBiaW5kaW5ncyBhbmQgdGhlIGlkbC4KLUBpbXBsZW1lbnRh
dGlvbiBET01IVE1MT3B0aW9uRWxlbWVudAotCi0jZGVmaW5lIElNUEwgc3RhdGljX2Nhc3Q8V2Vi
Q29yZTo6SFRNTE9wdGlvbkVsZW1lbnQqPihyZWludGVycHJldF9jYXN0PFdlYkNvcmU6Ok5vZGUq
PihfaW50ZXJuYWwpKQotCi0tIChET01IVE1MRm9ybUVsZW1lbnQgKilmb3JtCi17Ci0gICAgcmV0
dXJuIFtET01IVE1MRm9ybUVsZW1lbnQgX0hUTUxGb3JtRWxlbWVudFdpdGg6SU1QTC0+Zm9ybSgp
XTsKLX0KLQotLSAoQk9PTClkZWZhdWx0U2VsZWN0ZWQKLXsKLSAgICByZXR1cm4gSU1QTC0+ZGVm
YXVsdFNlbGVjdGVkKCk7Ci19Ci0KLS0gKHZvaWQpc2V0RGVmYXVsdFNlbGVjdGVkOihCT09MKW5l
d0RlZmF1bHRTZWxlY3RlZAotewotICAgIElNUEwtPnNldERlZmF1bHRTZWxlY3RlZChuZXdEZWZh
dWx0U2VsZWN0ZWQpOwotfQotCi0tIChOU1N0cmluZyAqKXRleHQKLXsKLSAgICByZXR1cm4gSU1Q
TC0+dGV4dCgpOwotfQotCi0tIChpbnQpaW5kZXgKLXsKLSAgICByZXR1cm4gSU1QTC0+aW5kZXgo
KTsKLX0KLQotLSAoQk9PTClkaXNhYmxlZAotewotICAgIHJldHVybiBJTVBMLT5kaXNhYmxlZCgp
OwotfQotCi0tICh2b2lkKXNldERpc2FibGVkOihCT09MKW5ld0Rpc2FibGVkCi17Ci0gICAgSU1Q
TC0+c2V0RGlzYWJsZWQobmV3RGlzYWJsZWQpOwotfQotCi0tIChOU1N0cmluZyAqKWxhYmVsCi17
Ci0gICAgcmV0dXJuIElNUEwtPmxhYmVsKCk7Ci19Ci0KLS0gKHZvaWQpc2V0TGFiZWw6KE5TU3Ry
aW5nICopbmV3TGFiZWwKLXsKLSAgICBJTVBMLT5zZXRMYWJlbChuZXdMYWJlbCk7Ci19Ci0KLS0g
KEJPT0wpc2VsZWN0ZWQKLXsKLSAgICByZXR1cm4gSU1QTC0+c2VsZWN0ZWQoKTsKLX0KLQotLSAo
dm9pZClzZXRTZWxlY3RlZDooQk9PTCluZXdTZWxlY3RlZAotewotICAgIElNUEwtPnNldFNlbGVj
dGVkKG5ld1NlbGVjdGVkKTsKLX0KLQotLSAoTlNTdHJpbmcgKil2YWx1ZQotewotICAgIHJldHVy
biBJTVBMLT52YWx1ZSgpOwotfQotCi0tICh2b2lkKXNldFZhbHVlOihOU1N0cmluZyAqKW5ld1Zh
bHVlCi17Ci0gICAgSU1QTC0+c2V0VmFsdWUobmV3VmFsdWUpOwotfQotCi1AZW5kCi0KLUBpbXBs
ZW1lbnRhdGlvbiBET01IVE1MT3B0aW9uRWxlbWVudCAoV2ViQ29yZUludGVybmFsKQotCi0tIChX
ZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudCAqKV9IVE1MT3B0aW9uRWxlbWVudAotewotICAgIHJl
dHVybiBJTVBMOwotfQotCi0rIChET01IVE1MT3B0aW9uRWxlbWVudCAqKV9IVE1MT3B0aW9uRWxl
bWVudFdpdGg6KFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50ICopaW1wbAotewotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxET01IVE1MT3B0aW9uRWxlbWVudCo+KFtET01Ob2RlIF9ub2RlV2l0aDpp
bXBsXSk7Ci19Ci0KLUBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5h
bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oCShy
ZXZpc2lvbiAxNjg1MikKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBACiAjaW1wb3J0ICJET01DU1NSdWxlLmgiCiAj
aW1wb3J0ICJET01DU1NWYWx1ZS5oIgogI2ltcG9ydCAiRE9NRXZlbnRzLmgiCi0jaW1wb3J0ICJE
T01IVE1MT3B0aW9uRWxlbWVudC5oIgogI2ltcG9ydCAiRE9NTm9kZS5oIgogI2ltcG9ydCAiRE9N
T2JqZWN0LmgiCiAjaW1wb3J0ICJET01SR0JDb2xvci5oIgpAQCAtMTEwLDYgKzEwOSw3IEBACiAj
aW1wb3J0ICJET01IVE1MT0xpc3RFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhUTUxP
YmplY3RFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhUTUxPcHRHcm91cEVsZW1lbnRJ
bnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NSFRNTE9wdGlvbkVsZW1lbnRJbnRlcm5hbC5oIgogI2lt
cG9ydCAiRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhU
TUxQYXJhZ3JhcGhFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUhUTUxQYXJhbUVsZW1l
bnRJbnRlcm5hbC5oIgpAQCAtMjE4LDcgKzIxOCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBDU1NWYWx1ZTsKICAgICBjbGFzcyBET01XaW5kb3c7CiAgICAgY2xhc3MgRXZlbnQ7
Ci0gICAgY2xhc3MgSFRNTE9wdGlvbkVsZW1lbnQ7CiAgICAgY2xhc3MgTm9kZTsKICAgICBjbGFz
cyBOb2RlRmlsdGVyOwogICAgIGNsYXNzIE5vZGVJdGVyYXRvcjsKQEAgLTI1MCwxMyArMjQ5LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLSAoV2ViQ29yZTo6Tm9kZSAqKV9ub2RlOwogQGVuZAog
Ci0vLyBIVE1MIEludGVybmFsIEludGVyZmFjZXMKLQotQGludGVyZmFjZSBET01IVE1MT3B0aW9u
RWxlbWVudCAoV2ViQ29yZUludGVybmFsKQotKyAoRE9NSFRNTE9wdGlvbkVsZW1lbnQgKilfSFRN
TE9wdGlvbkVsZW1lbnRXaXRoOihXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudCAqKWltcGw7Ci0t
IChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudCAqKV9IVE1MT3B0aW9uRWxlbWVudDsKLUBlbmQK
LQogLy8gQ1NTIEludGVybmFsIEludGVyZmFjZXMKIAogQGludGVyZmFjZSBET01DU1NSdWxlIChX
ZWJDb3JlSW50ZXJuYWwpCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NTm9kZUZpbHRl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Ob2RlRmlsdGVyLmgJ
KHJldmlzaW9uIDE2ODUyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTU5vZGVGaWx0ZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwu
Y29tPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
Q09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBD
T01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKLSAqLwotCi1AY2xhc3MgRE9NTm9kZTsKLQotZW51bSB7Ci0gICAgLy8gQ29uc3RhbnRz
IHJldHVybmVkIGJ5IGFjY2VwdE5vZGUKLSAgICBET01fRklMVEVSX0FDQ0VQVCAgICAgICAgICAg
ICAgICAgID0gMSwKLSAgICBET01fRklMVEVSX1JFSkVDVCAgICAgICAgICAgICAgICAgID0gMiwK
LSAgICBET01fRklMVEVSX1NLSVAgICAgICAgICAgICAgICAgICAgID0gMwotfTsKLQotZW51bSB7
Ci0gICAgLy8gQ29uc3RhbnRzIGZvciB3aGF0VG9TaG93Ci0gICAgRE9NX1NIT1dfQUxMICAgICAg
ICAgICAgICAgICAgICAgICA9IDB4RkZGRkZGRkYsCi0gICAgRE9NX1NIT1dfRUxFTUVOVCAgICAg
ICAgICAgICAgICAgICA9IDB4MDAwMDAwMDEsCi0gICAgRE9NX1NIT1dfQVRUUklCVVRFICAgICAg
ICAgICAgICAgICA9IDB4MDAwMDAwMDIsCi0gICAgRE9NX1NIT1dfVEVYVCAgICAgICAgICAgICAg
ICAgICAgICA9IDB4MDAwMDAwMDQsCi0gICAgRE9NX1NIT1dfQ0RBVEFfU0VDVElPTiAgICAgICAg
ICAgICA9IDB4MDAwMDAwMDgsCi0gICAgRE9NX1NIT1dfRU5USVRZX1JFRkVSRU5DRSAgICAgICAg
ICA9IDB4MDAwMDAwMTAsCi0gICAgRE9NX1NIT1dfRU5USVRZICAgICAgICAgICAgICAgICAgICA9
IDB4MDAwMDAwMjAsCi0gICAgRE9NX1NIT1dfUFJPQ0VTU0lOR19JTlNUUlVDVElPTiAgICA9IDB4
MDAwMDAwNDAsCi0gICAgRE9NX1NIT1dfQ09NTUVOVCAgICAgICAgICAgICAgICAgICA9IDB4MDAw
MDAwODAsCi0gICAgRE9NX1NIT1dfRE9DVU1FTlQgICAgICAgICAgICAgICAgICA9IDB4MDAwMDAx
MDAsCi0gICAgRE9NX1NIT1dfRE9DVU1FTlRfVFlQRSAgICAgICAgICAgICA9IDB4MDAwMDAyMDAs
Ci0gICAgRE9NX1NIT1dfRE9DVU1FTlRfRlJBR01FTlQgICAgICAgICA9IDB4MDAwMDA0MDAsCi0g
ICAgRE9NX1NIT1dfTk9UQVRJT04gICAgICAgICAgICAgICAgICA9IDB4MDAwMDA4MDAKLX07Ci0K
LUBwcm90b2NvbCBET01Ob2RlRmlsdGVyIDxOU09iamVjdD4KLS0gKHNob3J0KWFjY2VwdE5vZGU6
KERPTU5vZGUgKiluOwotQGVuZApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVNWR051
bWJlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01TVkdOdW1iZXIu
aAkocmV2aXNpb24gMTY4NTIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NU1ZHTnVtYmVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LQotI2ltcG9ydCA8V2ViQ29yZS9ET01PYmplY3QuaD4KLQotQGludGVyZmFjZSBET01TVkdOdW1i
ZXIgOiBET01PYmplY3QKLSNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIKLUBwcm9wZXJ0eSBmbG9h
dCB2YWx1ZTsKLSNlbHNlCi0tIChmbG9hdCl2YWx1ZTsKLS0gKHZvaWQpc2V0VmFsdWU6KGZsb2F0
KW5ld1ZhbHVlOwotI2VuZGlmCi1AZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
U1ZHUG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NU1ZHUG9p
bnQuaAkocmV2aXNpb24gMTY4NTIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NU1ZHUG9p
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAq
LwotCi0jaW1wb3J0IDxXZWJDb3JlL0RPTU9iamVjdC5oPgotCi1AaW50ZXJmYWNlIERPTVNWR1Bv
aW50IDogRE9NT2JqZWN0Ci0jaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCi1AcHJvcGVydHkgZmxv
YXQgeDsKLUBwcm9wZXJ0eSBmbG9hdCB5OwotI2Vsc2UKLS0gKGZsb2F0KXg7Ci0tICh2b2lkKXNl
dFg6KGZsb2F0KW5ld1g7Ci0tIChmbG9hdCl5OwotLSAodm9pZClzZXRZOihmbG9hdCluZXdZOwot
I2VuZGlmCi1AZW5kCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NU1ZHUG9pbnQubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVNWR1BvaW50Lm1tCShyZXZp
c2lvbiAxNjg1MikKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01TVkdQb2ludC5tbQkod29y
a2luZyBjb3B5KQpAQCAtNjksNiArNjksMTIgQEAKICAgICAvLyBGSVhNRTogSU1QTEVNRU5UIE1F
CiB9CiAKKy0gKERPTVNWR1BvaW50ICopbWF0cml4VHJhbnNmb3JtOihET01TVkdNYXRyaXggKilt
YXRyaXgKK3sKKyAgICAvLyBGSVhNRTogSU1QTEVNRU5UIE1FCisgICAgcmV0dXJuIFtET01TVkdQ
b2ludCBfU1ZHUG9pbnRXaXRoOldlYkNvcmU6OkZsb2F0UG9pbnQoKV07Cit9CisKIEBlbmQKIAog
QGltcGxlbWVudGF0aW9uIERPTVNWR1BvaW50IChXZWJDb3JlSW50ZXJuYWwpCkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NU1ZHUmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01TVkdSZWN0LmgJKHJldmlzaW9uIDE2ODUyKQorKysgV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTVNWR1JlY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW1wb3J0IDxXZWJDb3JlL0RPTU9iamVjdC5oPgotCi1A
aW50ZXJmYWNlIERPTVNWR1JlY3QgOiBET01PYmplY3QKLSNpZm5kZWYgQlVJTERJTkdfT05fVElH
RVIKLUBwcm9wZXJ0eSBmbG9hdCB4OwotQHByb3BlcnR5IGZsb2F0IHk7Ci1AcHJvcGVydHkgZmxv
YXQgd2lkdGg7Ci1AcHJvcGVydHkgZmxvYXQgaGVpZ2h0OwotI2Vsc2UKLS0gKGZsb2F0KXg7Ci0t
ICh2b2lkKXNldFg6KGZsb2F0KW5ld1g7Ci0tIChmbG9hdCl5OwotLSAodm9pZClzZXRZOihmbG9h
dCluZXdZOwotLSAoZmxvYXQpd2lkdGg7Ci0tICh2b2lkKXNldFdpZHRoOihmbG9hdCluZXdXaWR0
aDsKLS0gKGZsb2F0KWhlaWdodDsKLS0gKHZvaWQpc2V0SGVpZ2h0OihmbG9hdCluZXdIZWlnaHQ7
Ci0jZW5kaWYKLUBlbmQKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRl
cmZhY2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUlu
dGVyZmFjZXMuaAkocmV2aXNpb24gMTY4NTIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL29iamMvUHVi
bGljRE9NSW50ZXJmYWNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTUsNiArMjU1LDIwIEBACiAt
ICh2b2lkKWZvY3VzOwogQGVuZAogCitAaW50ZXJmYWNlIERPTUhUTUxBcHBsZXRFbGVtZW50IDog
RE9NSFRNTEVsZW1lbnQKK0Bwcm9wZXJ0eSBOU1N0cmluZyAqYWxpZ247CitAcHJvcGVydHkgTlNT
dHJpbmcgKmFsdDsKK0Bwcm9wZXJ0eSBOU1N0cmluZyAqYXJjaGl2ZTsKK0Bwcm9wZXJ0eSBOU1N0
cmluZyAqY29kZTsKK0Bwcm9wZXJ0eSBOU1N0cmluZyAqY29kZUJhc2U7CitAcHJvcGVydHkgTlNT
dHJpbmcgKmhlaWdodDsKK0Bwcm9wZXJ0eSBpbnQgaHNwYWNlOworQHByb3BlcnR5IE5TU3RyaW5n
ICpuYW1lOworQHByb3BlcnR5IE5TU3RyaW5nICpvYmplY3Q7CitAcHJvcGVydHkgaW50IHZzcGFj
ZTsKK0Bwcm9wZXJ0eSBOU1N0cmluZyAqd2lkdGg7CitAZW5kCisKIEBpbnRlcmZhY2UgRE9NSFRN
TEFyZWFFbGVtZW50IDogRE9NSFRNTEVsZW1lbnQKIEBwcm9wZXJ0eSBOU1N0cmluZyAqYWNjZXNz
S2V5OwogQHByb3BlcnR5IE5TU3RyaW5nICphbHQ7CkBAIC0zNTUsNiArMzY5LDE1IEBACiBAcHJv
cGVydHkocmVhZG9ubHkpIE5TU3RyaW5nICp0aXRsZURpc3BsYXlTdHJpbmc7CiBAZW5kCiAKK0Bp
bnRlcmZhY2UgRE9NSFRNTEVtYmVkRWxlbWVudCA6IERPTUhUTUxFbGVtZW50CitAcHJvcGVydHkg
TlNTdHJpbmcgKmFsaWduOworQHByb3BlcnR5IGludCBoZWlnaHQ7CitAcHJvcGVydHkgTlNTdHJp
bmcgKm5hbWU7CitAcHJvcGVydHkgTlNTdHJpbmcgKnNyYzsKK0Bwcm9wZXJ0eSBOU1N0cmluZyAq
dHlwZTsKK0Bwcm9wZXJ0eSBpbnQgd2lkdGg7CitAZW5kCisKIEBpbnRlcmZhY2UgRE9NSFRNTEZp
ZWxkU2V0RWxlbWVudCA6IERPTUhUTUxFbGVtZW50CiBAcHJvcGVydHkocmVhZG9ubHkpIERPTUhU
TUxGb3JtRWxlbWVudCAqZm9ybTsKIEBlbmQKQEAgLTU2MCw2ICs1ODMsMTcgQEAKIEBwcm9wZXJ0
eSBOU1N0cmluZyAqbGFiZWw7CiBAZW5kCiAKK0BpbnRlcmZhY2UgRE9NSFRNTE9wdGlvbkVsZW1l
bnQgOiBET01IVE1MRWxlbWVudAorQHByb3BlcnR5KHJlYWRvbmx5KSBET01IVE1MRm9ybUVsZW1l
bnQgKmZvcm07CitAcHJvcGVydHkgQk9PTCBkZWZhdWx0U2VsZWN0ZWQ7CitAcHJvcGVydHkocmVh
ZG9ubHkpIE5TU3RyaW5nICp0ZXh0OworQHByb3BlcnR5KHJlYWRvbmx5KSBpbnQgaW5kZXg7CitA
cHJvcGVydHkgQk9PTCBkaXNhYmxlZDsKK0Bwcm9wZXJ0eSBOU1N0cmluZyAqbGFiZWw7CitAcHJv
cGVydHkgQk9PTCBzZWxlY3RlZDsKK0Bwcm9wZXJ0eSBOU1N0cmluZyAqdmFsdWU7CitAZW5kCisK
IEBpbnRlcmZhY2UgRE9NSFRNTE9wdGlvbnNDb2xsZWN0aW9uIDogRE9NT2JqZWN0CiBAcHJvcGVy
dHkgaW50IGxlbmd0aDsKIC0gKERPTU5vZGUgKilpdGVtOih1bnNpZ25lZClpbmRleDsKQEAgLTk1
OCw2ICs5OTIsMTYgQEAKIC0gKHZvaWQpaGFuZGxlRXZlbnQ6KERPTUV2ZW50ICopZXZ0OwogQGVu
ZAogCitAcHJvdG9jb2wgRE9NRXZlbnRUYXJnZXQgPE5TT2JqZWN0LCBOU0NvcHlpbmc+CistICh2
b2lkKWFkZEV2ZW50TGlzdGVuZXI6KE5TU3RyaW5nICopdHlwZSBsaXN0ZW5lcjooaWQgPERPTUV2
ZW50TGlzdGVuZXI+KWxpc3RlbmVyIHVzZUNhcHR1cmU6KEJPT0wpdXNlQ2FwdHVyZTsKKy0gKHZv
aWQpcmVtb3ZlRXZlbnRMaXN0ZW5lcjooTlNTdHJpbmcgKil0eXBlIGxpc3RlbmVyOihpZCA8RE9N
RXZlbnRMaXN0ZW5lcj4pbGlzdGVuZXIgdXNlQ2FwdHVyZTooQk9PTCl1c2VDYXB0dXJlOworLSAo
Qk9PTClkaXNwYXRjaEV2ZW50OihET01FdmVudCAqKWV2ZW50OworQGVuZAorCitAcHJvdG9jb2wg
RE9NTm9kZUZpbHRlciA8TlNPYmplY3Q+CistIChzaG9ydClhY2NlcHROb2RlOihET01Ob2RlICop
bjsKK0BlbmQKKwogQHByb3RvY29sIERPTVhQYXRoTlNSZXNvbHZlciA8TlNPYmplY3Q+CiAtIChO
U1N0cmluZyAqKWxvb2t1cE5hbWVzcGFjZVVSSTooTlNTdHJpbmcgKilwcmVmaXg7CiBAZW5kCklu
ZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCShy
ZXZpc2lvbiAxNjg1MikKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
T2JqQy5wbQkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQCBteSAkb3V0cHV0RGlyID0g
IiI7CiBteSAlcHVibGljSW50ZXJmYWNlcyA9ICgpOwogbXkgJG5ld1B1YmxpY0NsYXNzID0gMDsK
IG15ICRpc1Byb3RvY29sID0gMDsKK215ICRub0ltcGwgPSAwOwogbXkgQGl2YXJzID0gKCk7CiAK
IG15IEBoZWFkZXJDb250ZW50SGVhZGVyID0gKCk7CkBAIC0xOTAsMTkgKzE5MSwyNCBAQCBzdWIg
R2VuZXJhdGVJbnRlcmZhY2UKICAgICBteSAkY2xhc3NOYW1lID0gR2V0Q2xhc3NOYW1lKCRuYW1l
KTsKICAgICBteSAkcGFyZW50Q2xhc3NOYW1lID0gIkRPTSIgLiBHZXRQYXJlbnRJbXBsQ2xhc3NO
YW1lKCRkYXRhTm9kZSk7CiAgICAgJGlzUHJvdG9jb2wgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+e09iakNQcm90b2NvbH07CisgICAgaWYgKCRpc1Byb3RvY29sKSB7CisgICAgICAg
ICRub0ltcGwgPSAxOworICAgIH0gZWxzZSB7CisgICAgICAgICRub0ltcGwgPSAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+e09iakNDdXN0b21JbXBsZW1lbnRhdGlvbn07CisgICAgfQog
CiAgICAgUmVhZFB1YmxpY0ludGVyZmFjZXMoJGNsYXNzTmFtZSwgJHBhcmVudENsYXNzTmFtZSwg
JGRlZmluZXMpOwogCiAgICAgIyBTdGFydCBhY3R1YWwgZ2VuZXJhdGlvbi4uCiAgICAgJG9iamVj
dC0+R2VuZXJhdGVIZWFkZXIoJGRhdGFOb2RlKTsKLSAgICAkb2JqZWN0LT5HZW5lcmF0ZUltcGxl
bWVudGF0aW9uKCRkYXRhTm9kZSkgdW5sZXNzICRpc1Byb3RvY29sOworICAgICRvYmplY3QtPkdl
bmVyYXRlSW1wbGVtZW50YXRpb24oJGRhdGFOb2RlKSB1bmxlc3MgJG5vSW1wbDsKIAogICAgICMg
V3JpdGUgY2hhbmdlcy4KICAgICAkb2JqZWN0LT5Xcml0ZURhdGEoIkRPTSIgLiAkbmFtZSk7CiAK
ICAgICAjIENoZWNrIGZvciBtaXNzaW5nIHB1YmxpYyBBUEkKICAgICBpZiAoa2V5cyAlcHVibGlj
SW50ZXJmYWNlcyA+IDApIHsKLSAgICAgICAgbXkgJG1pc3NpbmcgPSBqb2luKCAiXG4iLCBrZXlz
ICVwdWJsaWNJbnRlcmZhY2VzICk7CisgICAgICAgIG15ICRtaXNzaW5nID0gam9pbigiXG4iLCBr
ZXlzICVwdWJsaWNJbnRlcmZhY2VzKTsKICAgICAgICAgZGllICJlcnJvcjogUHVibGljIEFQSSBj
aGFuZ2UuIFRoZXJlIGFyZSBtaXNzaW5nIHB1YmxpYyBwcm9wZXJ0aWVzIGFuZC9vciBtZXRob2Rz
IGZyb20gdGhlIFwiJGNsYXNzTmFtZVwiIGNsYXNzLlxuJG1pc3NpbmdcbiI7CiAgICAgfQogfQpA
QCAtMTI1MCw3ICsxMjU2LDcgQEAgc3ViIFdyaXRlRGF0YQogICAgIHByaW50IEhFQURFUiBtYXAg
eyAiXEBjbGFzcyAkXztcbiIgfSBzb3J0IGtleXMoJWhlYWRlckZvcndhcmREZWNsYXJhdGlvbnMp
OwogICAgIHByaW50IEhFQURFUiBtYXAgeyAiXEBwcm90b2NvbCAkXztcbiIgfSBzb3J0IGtleXMo
JWhlYWRlckZvcndhcmREZWNsYXJhdGlvbnNGb3JQcm90b2NvbHMpOwogCi0gICAgbXkgJGhhc0Zv
cndhcmREZWNsYXJhdGlvbnMgPSAga2V5cyglaGVhZGVyRm9yd2FyZERlY2xhcmF0aW9ucykgKyBr
ZXlzKCVoZWFkZXJGb3J3YXJkRGVjbGFyYXRpb25zRm9yUHJvdG9jb2xzKTsKKyAgICBteSAkaGFz
Rm9yd2FyZERlY2xhcmF0aW9ucyA9IGtleXMoJWhlYWRlckZvcndhcmREZWNsYXJhdGlvbnMpICsg
a2V5cyglaGVhZGVyRm9yd2FyZERlY2xhcmF0aW9uc0ZvclByb3RvY29scyk7CiAgICAgcHJpbnQg
SEVBREVSICJcbiIgaWYgJGhhc0ZvcndhcmREZWNsYXJhdGlvbnM7CiAgICAgcHJpbnQgSEVBREVS
IEBoZWFkZXJDb250ZW50OwogCkBAIC0xMjY4LDcgKzEyNzQsNyBAQCBzdWIgV3JpdGVEYXRhCiAg
ICAgICAgIHByaW50IFBSSVZBVEVfSEVBREVSIG1hcCB7ICJcQGNsYXNzICRfO1xuIiB9IHNvcnQg
a2V5cyglcHJpdmF0ZUhlYWRlckZvcndhcmREZWNsYXJhdGlvbnMpOwogICAgICAgICBwcmludCBQ
UklWQVRFX0hFQURFUiBtYXAgeyAiXEBwcm90b2NvbCAkXztcbiIgfSBzb3J0IGtleXMoJXByaXZh
dGVIZWFkZXJGb3J3YXJkRGVjbGFyYXRpb25zRm9yUHJvdG9jb2xzKTsKIAotICAgICAgICAkaGFz
Rm9yd2FyZERlY2xhcmF0aW9ucyA9ICBrZXlzKCVwcml2YXRlSGVhZGVyRm9yd2FyZERlY2xhcmF0
aW9ucykgKyBrZXlzKCVwcml2YXRlSGVhZGVyRm9yd2FyZERlY2xhcmF0aW9uc0ZvclByb3RvY29s
cyk7CisgICAgICAgICRoYXNGb3J3YXJkRGVjbGFyYXRpb25zID0ga2V5cyglcHJpdmF0ZUhlYWRl
ckZvcndhcmREZWNsYXJhdGlvbnMpICsga2V5cyglcHJpdmF0ZUhlYWRlckZvcndhcmREZWNsYXJh
dGlvbnNGb3JQcm90b2NvbHMpOwogICAgICAgICBwcmludCBQUklWQVRFX0hFQURFUiAiXG4iIGlm
ICRoYXNGb3J3YXJkRGVjbGFyYXRpb25zOwogICAgICAgICBwcmludCBQUklWQVRFX0hFQURFUiBA
cHJpdmF0ZUhlYWRlckNvbnRlbnQ7CiAKQEAgLTEyODEsNyArMTI4Nyw3IEBAIHN1YiBXcml0ZURh
dGEKICAgICB9CiAKICAgICAjIFdyaXRlIGltcGxlbWVudGF0aW9uIGZpbGUuCi0gICAgdW5sZXNz
ICgkaXNQcm90b2NvbCkgeworICAgIHVubGVzcyAoJG5vSW1wbCkgewogICAgICAgICBvcGVuKElN
UEwsICI+JGltcGxGaWxlTmFtZSIpIG9yIGRpZSAiQ291bGRuJ3Qgb3BlbiBmaWxlICRpbXBsRmls
ZU5hbWUiOwogCiAgICAgICAgIHByaW50IElNUEwgQGltcGxDb250ZW50SGVhZGVyOwpJbmRleDog
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmlkbAkocmV2aXNpb24gMTY4NTIpCisrKyBXZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDEzICsyMiwxMyBAQCBtb2R1bGUgZXZlbnRzIHsK
IAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6CiAgICAgaW50ZXJmYWNlIFtPYmpD
UHJvdG9jb2xdIEV2ZW50VGFyZ2V0IHsKLSAgICAgICAgW09sZFN0eWxlT2JqQ10gdm9pZCAgICAg
ICAgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVu
dExpc3RlbmVyIGxpc3RlbmVyLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAg
W09sZFN0eWxlT2JqQ10gdm9pZCAgICAgICAgICAgICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4g
RE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICAgICAgYm9vbGVhbiAgICAgICAgICAgIGRpc3Bh
dGNoRXZlbnQoaW4gRXZlbnQgZXZ0KQorICAgICAgICB2b2lkICAgICAgICAgICAgICAgYWRkRXZl
bnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUp
OworICAgICAgICB2b2lkICAgICAgICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihpbiBET01T
dHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIHVzZUNhcHR1cmUpOworICAgICAgICBi
b29sZWFuICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChpbiBFdmVudCBldmVudCkKICAgICAgICAg
ICAgIHJhaXNlcyhFdmVudEV4Y2VwdGlvbik7CiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9odG1s
L0hUTUxBcHBsZXRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEFw
cGxldEVsZW1lbnQuaWRsCShyZXZpc2lvbiAxNjg1MikKKysrIFdlYkNvcmUvaHRtbC9IVE1MQXBw
bGV0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTE5LDE4ICsyMCwyNiBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2Ug
W0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRdIEhUTUxBcHBsZXRFbGVtZW50IDogSFRN
TEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsaWduOwotICAgICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGFsdDsKLSAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBhcmNo
aXZlOwotICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvZGU7Ci0gICAgICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgY29kZUJhc2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgaGVpZ2h0
OwotICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhzcGFjZTsKLSAgICAgICAgYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOwotICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG9iamVjdDsKLSAg
ICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB2c3BhY2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgd2lkdGg7CisgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVt
ZW50LCBPYmpDQ3VzdG9tSW1wbGVtZW50YXRpb25dIEhUTUxBcHBsZXRFbGVtZW50IDogSFRNTEVs
ZW1lbnQgeworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsaWduOworICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsdDsKKyAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIERPTVN0cmluZyBhcmNoaXZlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGNvZGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgY29k
ZUJhc2U7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgaGVpZ2h0OworI2lm
IGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBsb25nIGhzcGFjZTsKKyNlbHNlCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJp
bmcgaHNwYWNlOworI2VuZGlmCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBvYmplY3Q7CisjaWYg
ZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRl
IGxvbmcgdnNwYWNlOworI2Vsc2UKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyB2c3BhY2U7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB3
aWR0aDsKICAgICB9OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuaWRsCShyZXZp
c2lvbiAxNjg1MikKKysrIFdlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZh
Y2UgSFRNTEVtYmVkRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW09iakND
dXN0b21JbXBsZW1lbnRhdGlvbl0gSFRNTEVtYmVkRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICBhbGlnbjsKICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBoZWlnaHQ7CiAgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgbmFtZTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25FbGVtZW50LmlkbAkocmV2aXNpb24gMTY4NTIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2
IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0yMiwxMCArMjMsMTUgQEAgbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFjZSBbTGVnYWN5
UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXJdIEhUTUxP
cHRpb25FbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
IEhUTUxGb3JtRWxlbWVudCAgICAgIGZvcm07CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAg
Ym9vbGVhbiAgICAgICAgICAgICAgZGVmYXVsdFNlbGVjdGVkOworI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgRE9NU3RyaW5nICAg
ICAgICAgICAgdGV4dDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBsb25nICAgICAgICAg
ICAgICAgICBpbmRleDsKKyNlbHNlCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgRE9NU3Ry
aW5nICAgICAgICAgICAgdGV4dAotICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNl
cyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlICBsb25nICAgICAgICAgICAg
ICAgICBpbmRleAotICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsgLy8gRklYTUU6IFdlIGRpc2FsbG93IHNldHRpbmcgaW4gdmlvbGF0aW9uIG9mIERP
TSAxIEhUTUwuCisgICAgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7IC8vIEZJWE1FOiBXZSBkaXNhbGxvdyBzZXR0aW5nIGluIHZpb2xhdGlvbiBvZiBET00g
MSBIVE1MLgorI2VuZGlmCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiAgICAg
ICAgICAgICAgZGlzYWJsZWQ7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgRE9NU3RyaW5n
ICAgICAgICAgICAgbGFiZWw7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiAg
ICAgICAgICAgICAgc2VsZWN0ZWQ7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdOdW1iZXIu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlci5pZGwJKHJldmlz
aW9uIDE2ODUyKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTnVtYmVyLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5p
a29sYXMgWmltbWVybWFubiA8d2lsZGZveEBrZGUub3JnPgotICAgICAgICAgICAgICAgICAgMjAw
NCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNiBTYW11
ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICAgICBUaGlzIGZp
bGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKQEAgLTIyLDggKzIzLDEwIEBACiAqLwogCiBt
b2R1bGUgc3ZnIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHTnVtYmVyIHsg
Ci0gICAgICAgIGF0dHJpYnV0ZSBmbG9hdCB2YWx1ZQotICAgICAgICAgICAgc2V0dGVyIHJhaXNl
cyBET01FeGNlcHRpb247CisKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRywgT2JqQ0N1
c3RvbUltcGxlbWVudGF0aW9uXSBTVkdOdW1iZXIgeworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgZmxvYXQgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKICAgICB9OwotfTsKKworfQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9p
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BvaW50LmlkbAkocmV2
aXNpb24gMTY4NTIpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQb2ludC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw3IEBACiAvKgogICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBO
aWtvbGFzIFppbW1lcm1hbm4gPHdpbGRmb3hAa2RlLm9yZz4KLSAgICAgICAgICAgICAgICAgIDIw
MDQsIDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgICAgQ29weXJpZ2h0IChDKSAyMDA2
IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC0yMSwxMyArMjIsMTUgQEAKICAgICBC
b3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KICovCiAKLQogbW9kdWxlIHN2ZyB7Ci0gICAgaW50
ZXJmYWNlIFtDb25kaXRpb25hbD1TVkddIFNWR1BvaW50IHsgCi0gICAgICAgIGF0dHJpYnV0ZSBm
bG9hdCB4Ci0gICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIERPTUV4Y2VwdGlvbjsKLSAgICAgICAg
YXR0cmlidXRlIGZsb2F0IHkKLSAgICAgICAgICAgIHNldHRlciByYWlzZXMgRE9NRXhjZXB0aW9u
OwotICAgICAgICBTVkdQb2ludCBtYXRyaXhUcmFuc2Zvcm0oIGluIFNWR01hdHJpeCBtYXRyaXgg
KTsKKworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHLCBPYmpDQ3VzdG9tSW1wbGVtZW50
YXRpb25dIFNWR1BvaW50IHsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGZsb2F0IHgKKyAg
ICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIGZsb2F0IHkKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICBTVkdQb2ludCBtYXRyaXhUcmFuc2Zvcm0o
aW4gU1ZHTWF0cml4IG1hdHJpeCk7CiAgICAgfTsKLX07CisKK30KSW5kZXg6IFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR1JlY3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1Jl
Y3QuaWRsCShyZXZpc2lvbiAxNjg1MikKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1JlY3QuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyoKICAgICBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx3aWxkZm94QGtkZS5vcmc+Ci0gICAgICAgICAg
ICAgICAgICAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgICAgQ29weXJpZ2h0
IChDKSAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisgICAgQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICAgIENvcHlyaWdo
dCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAog
ICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdApAQCAtMjMsNyArMjQsNyBA
QAogCiBtb2R1bGUgc3ZnIHsKIAotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9U1ZHXSBTVkdS
ZWN0IHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRywgT2JqQ0N1c3RvbUltcGxlbWVu
dGF0aW9uXSBTVkdSZWN0IHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGZsb2F0IHgKICAg
ICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIGZsb2F0IHkK
</data>
<flag name="review"
          id="3670"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>