<?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>144550</bug_id>
          
          <creation_ts>2015-05-03 13:00:17 -0700</creation_ts>
          <short_desc>Remove NetworkResourceLoadScheduler</short_desc>
          <delta_ts>2015-05-04 00:53:22 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1091252</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-03 13:00:17 -0700</bug_when>
    <thetext>It doesn&apos;t really do anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091253</commentid>
    <comment_count>1</comment_count>
      <attachid>252283</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-03 13:04:04 -0700</bug_when>
    <thetext>Created attachment 252283
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091254</commentid>
    <comment_count>2</comment_count>
      <attachid>252284</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-03 13:12:37 -0700</bug_when>
    <thetext>Created attachment 252284
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091321</commentid>
    <comment_count>3</comment_count>
      <attachid>252284</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-04 00:53:19 -0700</bug_when>
    <thetext>Comment on attachment 252284
patch

Clearing flags on attachment: 252284

Committed r183737: &lt;http://trac.webkit.org/changeset/183737&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091322</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-04 00:53:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252283</attachid>
            <date>2015-05-03 13:04:04 -0700</date>
            <delta_ts>2015-05-03 13:12:37 -0700</delta_ts>
            <desc>patch</desc>
            <filename>remove-networkresourceloadscheduler-2.patch</filename>
            <type>text/plain</type>
            <size>27777</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzczMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA1LTAzICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgTmV0d29ya1Jlc291
cmNlTG9hZFNjaGVkdWxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ0NTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgZG9lc24ndCByZWFsbHkgZG8gYW55dGhpbmcuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzY2hlZHVsZVJlc291cmNlTG9h
ZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpwZXJm
b3JtU3luY2hyb25vdXNMb2FkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpnZXROZXR3b3JrUHJv
Y2Vzc1N0YXRpc3RpY3MpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpuZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Jlc291cmNlTG9hZGVyOjpjbGVhbnVwKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291
cmNlTG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVOZXR3b3JrU2V0
dGluZ3MpOgorCisgICAgICAgICAgICBNb3ZlZCBmcm9tIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hl
ZHVsZXJNYWMubW0uCisKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L21hYy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tOiBSZW1vdmVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlclNvdXAu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKwogMjAxNS0wNS0wMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS11bRUZMXSBVbmlmeSBwbGF0Zm9ybSBkaXNwbGF5IGhhbmRsaW5n
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAxODM3MjgpCisr
KyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSwxNiArMTE1LDE2IEBAIHZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFIKIAogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6c2NoZWR1bGVSZXNvdXJjZUxvYWQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMmIGxvYWRQYXJhbWV0ZXJzKQogewotICAgIFJlZlB0cjxOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI+IGxvYWRlciA9IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKGxvYWRQYXJh
bWV0ZXJzLCB0aGlzKTsKLSAgICBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuYWRkKGxvYWRQYXJh
bWV0ZXJzLmlkZW50aWZpZXIsIGxvYWRlcik7Ci0gICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRv
bigpLm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS5zY2hlZHVsZUxvYWRlcihsb2FkZXIu
Z2V0KCkpOworICAgIGF1dG8gbG9hZGVyID0gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpjcmVhdGUo
bG9hZFBhcmFtZXRlcnMsIHRoaXMpOworICAgIG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5hZGQo
bG9hZFBhcmFtZXRlcnMuaWRlbnRpZmllciwgbG9hZGVyLnB0cigpKTsKKyAgICBsb2FkZXItPnN0
YXJ0KCk7CiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnBlcmZvcm1T
eW5jaHJvbm91c0xvYWQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIGxvYWRQ
YXJhbWV0ZXJzLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6UGVyZm9ybVN5bmNocm9ub3VzTG9hZDo6RGVsYXllZFJlcGx5PiByZXBseSkKIHsKLSAg
ICBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBsb2FkZXIgPSBOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6OmNyZWF0ZShsb2FkUGFyYW1ldGVycywgdGhpcywgcmVwbHkpOwotICAgIG1fbmV0d29y
a1Jlc291cmNlTG9hZGVycy5hZGQobG9hZFBhcmFtZXRlcnMuaWRlbnRpZmllciwgbG9hZGVyKTsK
LSAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya1Jlc291cmNlTG9hZFNjaGVk
dWxlcigpLnNjaGVkdWxlTG9hZGVyKGxvYWRlci5nZXQoKSk7CisgICAgYXV0byBsb2FkZXIgPSBO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShsb2FkUGFyYW1ldGVycywgdGhpcywgcmVwbHkp
OworICAgIG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5hZGQobG9hZFBhcmFtZXRlcnMuaWRlbnRp
ZmllciwgbG9hZGVyLnB0cigpKTsKKyAgICBsb2FkZXItPnN0YXJ0KCk7CiB9CiAKIHZvaWQgTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbW92ZUxvYWRJZGVudGlmaWVyKFJlc291cmNl
TG9hZElkZW50aWZpZXIgaWRlbnRpZmllcikKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDE4MzcyOCkKKysrIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDc1LDEyICs0NzUsOSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRDYW5IYW5k
bGVIVFRQU1NlCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmdldE5ldHdvcmtQcm9jZXNzU3RhdGlz
dGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogewotICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hl
ZHVsZXImIHNjaGVkdWxlciA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyKCk7Ci0KICAgICBTdGF0aXN0aWNzRGF0YSBkYXRhOwogCiAgICAg
YXV0byYgbmV0d29ya1Byb2Nlc3MgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCk7Ci0gICAg
ZGF0YS5zdGF0aXN0aWNzTnVtYmVycy5zZXQoIkxvYWRzQWN0aXZlQ291bnQiLCBzY2hlZHVsZXIu
bG9hZHNBY3RpdmVDb3VudCgpKTsKICAgICBkYXRhLnN0YXRpc3RpY3NOdW1iZXJzLnNldCgiRG93
bmxvYWRzQWN0aXZlQ291bnQiLCBuZXR3b3JrUHJvY2Vzcy5kb3dubG9hZE1hbmFnZXIoKS5hY3Rp
dmVEb3dubG9hZENvdW50KCkpOwogICAgIGRhdGEuc3RhdGlzdGljc051bWJlcnMuc2V0KCJPdXRz
dGFuZGluZ0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlc0NvdW50IiwgbmV0d29ya1Byb2Nlc3MuYXV0
aGVudGljYXRpb25NYW5hZ2VyKCkub3V0c3RhbmRpbmdBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNv
dW50KCkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgJKHJldmlzaW9uIDE4MzcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNsdWRlICJEb3dubG9hZE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKLSNpbmNsdWRlICJOZXR3b3JrUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8bWVtb3J5
PgpAQCAtNzUsOCArNzQsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZU5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKik7CiAKLSAg
ICBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyJiBuZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1
bGVyKCkgeyByZXR1cm4gbV9uZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOyB9Ci0KICAgICBB
dXRoZW50aWNhdGlvbk1hbmFnZXImIGF1dGhlbnRpY2F0aW9uTWFuYWdlcigpOwogICAgIERvd25s
b2FkTWFuYWdlciYgZG93bmxvYWRNYW5hZ2VyKCk7CiAgICAgYm9vbCBjYW5IYW5kbGVIVFRQU1Nl
cnZlclRydXN0RXZhbHVhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuSGFuZGxlSFRUUFNTZXJ2
ZXJUcnVzdEV2YWx1YXRpb247IH0KQEAgLTE1Nyw4ICsxNTQsNiBAQCBwcml2YXRlOgogICAgIC8v
IENvbm5lY3Rpb25zIHRvIFdlYlByb2Nlc3Nlcy4KICAgICBWZWN0b3I8UmVmUHRyPE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CiAKLSAgICBO
ZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyIG1fbmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxl
cjsKLQogICAgIFN0cmluZyBtX2Rpc2tDYWNoZURpcmVjdG9yeTsKICAgICBib29sIG1faGFzU2V0
Q2FjaGVNb2RlbDsKICAgICBDYWNoZU1vZGVsIG1fY2FjaGVNb2RlbDsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuY3BwCShyZXZpc2lvbiAxODM3MjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSw1NSArMCwwIEBACi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmV0
d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIgotCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgotI2lu
Y2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCi0jaW5jbHVkZSAiTmV0d29y
a1Byb2Nlc3MuaCIKLSNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgot
I2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotCi0jaWYgRU5BQkxFKE5FVFdP
UktfUFJPQ0VTUykKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpOZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyKCkKLXsKLSAgICBwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrU2V0dGluZ3MoKTsK
LX0KLQotdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUxvYWRlcihQ
YXNzUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4gbG9hZGVyKQotewotICAgIEFTU0VSVChS
dW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBMT0coTmV0d29ya1NjaGVkdWxpbmcsICIoTmV0d29y
a1Byb2Nlc3MpIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9hZGVyIHJl
c291cmNlICclcyciLCBsb2FkZXItPm9yaWdpbmFsUmVxdWVzdCgpLnVybCgpLnN0cmluZygpLnV0
ZjgoKS5kYXRhKCkpOwotCi0gICAgLy8gVGhpcyByZXF1ZXN0IG1pZ2h0IGJlIGZyb20gV2ViUHJv
Y2VzcyB3ZSd2ZSBsb3N0IG91ciBjb25uZWN0aW9uIHRvLgotICAgIC8vIElmIHNvIHdlIHNob3Vs
ZCBqdXN0IHNraXAgaXQuCi0gICAgaWYgKCFsb2FkZXItPmNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mo
KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9hY3RpdmVMb2FkZXJzLmFkZChsb2FkZXIuZ2V0
KCkpOwotCi0gICAgbG9hZGVyLT5zdGFydCgpOwotfQotCi12b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRTY2hlZHVsZXI6OnJlbW92ZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikK
LXsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgTE9HKE5ldHdvcmtTY2hl
ZHVsaW5nLCAiKE5ldHdvcmtQcm9jZXNzKSBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpy
ZW1vdmVMb2FkZXIgcmVzb3VyY2UgJyVzJyIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0KCkudXJs
KCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBtX2FjdGl2ZUxvYWRlcnMucmVtb3Zl
KGxvYWRlcik7Ci19Ci0KLXVpbnQ2NF90IE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6Omxv
YWRzQWN0aXZlQ291bnQoKSBjb25zdAotewotICAgIHJldHVybiBtX2FjdGl2ZUxvYWRlcnMuc2l6
ZSgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShORVRX
T1JLX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCShyZXZpc2lvbiAxODM3
MjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpZm5kZWYgTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcl9oCi0jZGVmaW5lIE5ldHdvcmtS
ZXNvdXJjZUxvYWRTY2hlZHVsZXJfaAotCi0jaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgotI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgot
Ci0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNs
YXNzIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjsKLQotY2xhc3MgTmV0d29ya1Jlc291cmNlTG9hZFNj
aGVkdWxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1Jlc291cmNlTG9hZFNj
aGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotCi1wdWJsaWM6Ci0gICAgTmV0d29y
a1Jlc291cmNlTG9hZFNjaGVkdWxlcigpOwotICAgIAotICAgIHZvaWQgc2NoZWR1bGVMb2FkZXIo
UGFzc1JlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+KTsKLSAgICB2b2lkIHJlbW92ZUxvYWRl
cihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqKTsKLQotICAgIC8vIEZvciBOZXR3b3JrUHJvY2VzcyBz
dGF0aXN0aWNzIHJlcG9ydGluZy4KLSAgICB1aW50NjRfdCBsb2Fkc0FjdGl2ZUNvdW50KCkgY29u
c3Q7Ci0KLXByaXZhdGU6Ci0gICAgc3RhdGljIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplTmV0d29y
a1NldHRpbmdzKCk7Ci0KLSAgICBIYXNoU2V0PFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+
PiBtX2FjdGl2ZUxvYWRlcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlm
IC8vIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0KLSNlbmRpZiAvLyBOZXR3b3JrUmVzb3VyY2VM
b2FkU2NoZWR1bGVyX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTgzNzI4KQorKysg
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjA0LDggKzIwNCw2IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjbGVhbnVwKCkKIAogICAgIGludmFsaWRhdGVTYW5kYm94RXh0ZW5zaW9ucygpOwogCi0g
ICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKS5yZW1vdmVMb2FkZXIodGhpcyk7Ci0KICAgICBtX2hhbmRsZSA9IG51bGxwdHI7CiAKICAg
ICAvLyBUaGlzIHdpbGwgY2F1c2UgTmV0d29ya1Jlc291cmNlTG9hZGVyIHRvIGJlIGRlc3Ryb3ll
ZCBhbmQgdGhlcmVmb3JlIHdlIGRvIGl0IGxhc3QuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAkocmV2aXNpb24g
MTgzNzI4KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDE0ICs2MSwxNCBAQCBjbGFzcyBTYW5kYm94
RXh0ZW5zaW9uOwogCiBjbGFzcyBOZXR3b3JrUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGVDbGllbnQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5kZXIgewogcHVibGljOgotICAgIHN0YXRp
YyBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBjcmVhdGUoY29uc3QgTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzKiBjb25uZWN0aW9uKQorICAgIHN0YXRpYyBSZWY8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBj
cmVhdGUoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBjb25uZWN0aW9uKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBOZXR3b3JrUmVzb3VyY2VMb2FkZXIocGFyYW1ldGVycywgY29u
bmVjdGlvbiwgbnVsbHB0cikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIocGFyYW1ldGVycywgY29ubmVjdGlvbiwgbnVsbHB0cikpOwogICAgIH0K
ICAgICAKLSAgICBzdGF0aWMgUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4gY3JlYXRlKGNv
bnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyogY29ubmVjdGlvbiwgUGFzc1JlZlB0cjxNZXNzYWdlczo6TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xvYWQ6OkRlbGF5
ZWRSZXBseT4gcmVwbHkpCisgICAgc3RhdGljIFJlZjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+IGNy
ZWF0ZShjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYgcGFyYW1ldGVycywgTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIGNvbm5lY3Rpb24sIFBhc3NSZWZQdHI8TWVzc2Fn
ZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQZXJmb3JtU3luY2hyb25vdXNMb2Fk
OjpEZWxheWVkUmVwbHk+IHJlcGx5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBOZXR3b3JrUmVzb3VyY2VMb2FkZXIocGFyYW1ldGVycywgY29ubmVjdGlvbiwgcmVwbHkpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmV0d29ya1Jlc291cmNlTG9hZGVyKHBhcmFt
ZXRlcnMsIGNvbm5lY3Rpb24sIHJlcGx5KSk7CiAgICAgfSAgICAKICAgICB+TmV0d29ya1Jlc291
cmNlTG9hZGVyKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMTgzNzI4
KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3ND
b2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOCBAQAogI2ltcG9ydCAiTmV0d29y
a1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW1wb3J0
IDxXZWJDb3JlL0NGTmV0d29ya1NQSS5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVl
c3RDRk5ldC5oPgorI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDx3
dGYvUkFNU2l6ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQzLDYgKzQ1LDIzIEBAIHZv
aWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtTG93TWVtb3J5SGEKICAgICBfQ0ZVUkxDYWNoZVB1
cmdlTWVtb3J5Q2FjaGUoYWRvcHRDRihDRlVSTENhY2hlQ29weVNoYXJlZFVSTENhY2hlKCkpLmdl
dCgpKTsKIH0KIAorc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU5ldHdvcmtTZXR0aW5ncygpCit7Cisg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZWZlcnJlZENvbm5lY3Rpb25Db3VudCA9IDY7CisK
KyAgICBXS0luaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QocHJlZmVy
cmVkQ29ubmVjdGlvbkNvdW50KTsKKworICAgIEJvb2xlYW4ga2V5RXhpc3RzQW5kSGFzVmFsaWRG
b3JtYXQgPSBmYWxzZTsKKyAgICBCb29sZWFuIHByZWZWYWx1ZSA9IENGUHJlZmVyZW5jZXNHZXRB
cHBCb29sZWFuVmFsdWUoQ0ZTVFIoIldlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIiksIGtDRlBy
ZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCAma2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQp
OworICAgIGlmIChrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCkKKyAgICAgICAgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0OjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQocHJlZlZhbHVlKTsKKwor
ICAgIGlmIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnJlc291cmNlUHJpb3JpdGllc0VuYWJs
ZWQoKSkgeworICAgICAgICBXS1NldEhUVFBSZXF1ZXN0TWF4aW11bVByaW9yaXR5KHRvUGxhdGZv
cm1SZXF1ZXN0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OkhpZ2hlc3Qp
KTsKKyAgICAgICAgV0tTZXRIVFRQUmVxdWVzdE1pbmltdW1GYXN0TGFuZVByaW9yaXR5KHRvUGxh
dGZvcm1SZXF1ZXN0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6Ok1lZGl1
bSkpOworICAgIH0KK30KKwogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXpl
TmV0d29ya1Byb2Nlc3NDb2NvYShjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKIHsKICNpZiBQTEFURk9STShJT1MpCkBAIC01Niw2ICs3NSw4IEBAIHZv
aWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU4KICAgICBfQ0ZOZXR3b3JrU2V0
QVRTQ29udGV4dChwYXJhbWV0ZXJzLm5ldHdvcmtBVFNDb250ZXh0LmdldCgpKTsKICNlbmRpZgog
CisgICAgaW5pdGlhbGl6ZU5ldHdvcmtTZXR0aW5ncygpOworCiAgICAgLy8gRklYTUU6IE1vc3Qg
b2Ygd2hhdCB0aGlzIGZ1bmN0aW9uIGRvZXMgZm9yIGNhY2hlIHNpemUgZ2V0cyBpbW1lZGlhdGVs
eSBvdmVycmlkZGVuIGJ5IHNldENhY2hlTW9kZWwoKS4KICAgICAvLyAtIG1lbW9yeSBjYWNoZSBz
aXplIHBhc3NlZCBmcm9tIFVJIHByb2Nlc3MgaXMgYWx3YXlzIGlnbm9yZWQ7CiAgICAgLy8gLSBk
aXNrIGNhY2hlIHNpemUgcGFzc2VkIGZyb20gVUkgcHJvY2VzcyBpcyBlZmZlY3RpdmVseSBhIG1p
bmltdW0gc2l6ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1t
CShyZXZpc2lvbiAxODM3MjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMv
TmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMSw1
OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJOZXR3
b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCi0KLSNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdENGTmV0Lmg+Ci0jaW1w
b3J0IDxXZWJDb3JlL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaD4KLSNpbXBvcnQgPFdlYktpdFN5
c3RlbUludGVyZmFjZS5oPgotCi0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLQotdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtTZXR0aW5ncygp
Ci17Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZWZlcnJlZENvbm5lY3Rpb25Db3VudCA9
IDY7Ci0KLSAgICBXS0luaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3Qo
cHJlZmVycmVkQ29ubmVjdGlvbkNvdW50KTsKLQotICAgIEJvb2xlYW4ga2V5RXhpc3RzQW5kSGFz
VmFsaWRGb3JtYXQgPSBmYWxzZTsKLSAgICBCb29sZWFuIHByZWZWYWx1ZSA9IENGUHJlZmVyZW5j
ZXNHZXRBcHBCb29sZWFuVmFsdWUoQ0ZTVFIoIldlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIiks
IGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCAma2V5RXhpc3RzQW5kSGFzVmFsaWRG
b3JtYXQpOwotICAgIGlmIChrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCkKLSAgICAgICAgUmVz
b3VyY2VSZXF1ZXN0OjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQocHJlZlZhbHVlKTsKLQotICAg
IGlmIChSZXNvdXJjZVJlcXVlc3Q6OnJlc291cmNlUHJpb3JpdGllc0VuYWJsZWQoKSkgewotICAg
ICAgICBXS1NldEhUVFBSZXF1ZXN0TWF4aW11bVByaW9yaXR5KHRvUGxhdGZvcm1SZXF1ZXN0UHJp
b3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHk6OkhpZ2hlc3QpKTsKLSAgICAgICAgV0tTZXRIVFRQ
UmVxdWVzdE1pbmltdW1GYXN0TGFuZVByaW9yaXR5KHRvUGxhdGZvcm1SZXF1ZXN0UHJpb3JpdHko
UmVzb3VyY2VMb2FkUHJpb3JpdHk6Ok1lZGl1bSkpOwotICAgIH0KLX0KLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQpJbmRleDogU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1
bGVyU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
c291cC9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyU291cC5jcHAJKHJldmlzaW9uIDE4Mzcy
OCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Jlc291cmNl
TG9hZFNjaGVkdWxlclNvdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0KLSNpbmNsdWRlICJO
ZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12
b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtTZXR0aW5ncygpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDE4MzcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODk0LDcgKzg5NCw2IEBACiAJCTUx
MkE5NzYxMTgwRTAzMUQwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NNZXNzYWdlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyQTk3NUYxODBFMDMx
NjAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc01lc3NhZ2VzLmggKi87IH07CiAJCTUxMkE5NzY5
MTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJBOTc2
NzE4MEUwOUI4MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwogCQk1MTJBOTc2QTE4MEUwOUI4MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNz
UHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTEyQTk3NjgxODBFMDlCODAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWVz
c2FnZXMuaCAqLzsgfTsKLQkJNTEyQzA2OTAxNjM5MEU2OTAwQUJCOTExIC8qIE5ldHdvcmtSZXNv
dXJjZUxvYWRTY2hlZHVsZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTJDMDY4RjE2MzkwRTY5MDBBQkI5MTEgLyogTmV0d29ya1Jlc291cmNl
TG9hZFNjaGVkdWxlck1hYy5tbSAqLzsgfTsKIAkJNTEyRTM0RTQxMzBCNEQwNTAwQUJEMTlBIC8q
IFdLQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3QTMzQjMxMzBCMzA4QzAwRjgwQ0I1IC8qIFdLQXBwbGlj
YXRpb25DYWNoZU1hbmFnZXIuY3BwICovOyB9OwogCQk1MTJFMzRFNTEzMEI0RDA1MDBBQkQxOUEg
LyogV0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3QTMzQjQxMzBCMzA4QzAwRjgwQ0I1IC8qIFdLQXBwbGlj
YXRpb25DYWNoZU1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1MTJFMzUyNDEzMEI1NTA2MDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25D
YWNoZU1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTJFMzUyMDEzMEI1NTAxMDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNo
ZU1hbmFnZXJQcm94eS5jcHAgKi87IH07CkBAIC05NzAsOCArOTY5LDYgQEAKIAkJNTE3REQ1QzUx
ODBEQzNFMTAwODE2NjBCIC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3REQ1QzQxODBEQzNFMTAwODE2
NjBCIC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWFjLm1tICovOyB9OwogCQk1MTgwQzcxNTE4MEND
QTMxMDBGREE2MTIgLyogWFBDU2VydmljZU1haW4uRGV2ZWxvcG1lbnQubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyODM5NzE2QjQ4MEY2MDBBMjc4
RkUgLyogWFBDU2VydmljZU1haW4uRGV2ZWxvcG1lbnQubW0gKi87IH07CiAJCTUxODBDNzE3MTgw
Q0NBMzEwMEZEQTYxMiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMwMDhEMjZGQyAv
KiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKLQkJNTE4MjlEQTUxNjM3QzcwQzAwMDk1M0Q2
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MjlEQTMxNjM3QzcwQzAwMDk1M0Q2IC8qIE5l
dHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwICovOyB9OwotCQk1MTgyOURBNjE2MzdDNzBD
MDAwOTUzRDYgLyogTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MjlEQTQxNjM3QzcwQzAwMDk1M0Q2
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLzsgfTsKIAkJNTE4MzQ1OTIxMzQ1
MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTgzNDU5MDEzNDUzMkU4MDA5MkI2OTYg
LyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmNwcCAqLzsgfTsKIAkJNTE4MzQ1OTMxMzQ1MzJFOTAw
OTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MzQ1OTExMzQ1MzJFODAwOTJCNjk2IC8qIFdlYklj
b25EYXRhYmFzZUNsaWVudC5oICovOyB9OwogCQk1MTgzNTNEQTE4ODVCRjhDMDBEOUZFNDQgLyog
SURCU2VyaWFsaXphdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTgzNTNEODE4ODVCRjhDMDBEOUZFNDQgLyogSURCU2VyaWFsaXphdGlvbi5j
cHAgKi87IH07CkBAIC0zMDg2LDcgKzMwODMsNiBAQAogCQk1MTJBOTc2NjE4MEUwNUQyMDAzOUEx
NDkgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRGF0YWJhc2VQcm9j
ZXNzUHJveHkubWVzc2FnZXMuaW47IHBhdGggPSBEYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJv
eHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMkE5NzY3MTgw
RTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRhYmFzZVByb2Nlc3NQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMkE5
NzY4MTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2VzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzc1Byb3h5TWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTEyQzA2OEYxNjM5MEU2OTAwQUJC
OTExIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXJNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJFMzUyMDEzMEI1NTAxMDBBQkQx
OUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyRTM1MjExMzBCNTUwMTAwQUJEMTlB
IC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJFMzUyQjEzMEI1NUFGMDBBQkQxOUEgLyogV2ViQXBw
bGljYXRpb25DYWNoZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3BwOyBwYXRoID0gQXBwbGljYXRpb25D
YWNoZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0zMTU2LDggKzMxNTIsNiBAQAogCQk1MTdERDVCRDE4MERBN0QzMDA4MTY2MEIg
LyogRGF0YWJhc2VQcm9jZXNzUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gRGF0YWJhc2VQcm9jZXNzUHJveHkuaDsgcGF0aCA9IERhdGFiYXNlcy9EYXRhYmFzZVByb2Nl
c3NQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdERDVDNDE4MERDM0Ux
MDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBEYXRhYmFzZVByb2Nlc3NQcm94eU1hYy5tbTsgcGF0aCA9
IERhdGFiYXNlcy9tYWMvRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxODBDNzFEMTgwQ0NBMzEwMEZEQTYxMiAvKiBjb20uYXBwbGUuV2Vi
S2l0LkRhdGFiYXNlcy5EZXZlbG9wbWVudC54cGMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuY2ZidW5kbGU7IGluY2x1ZGVJbkluZGV4ID0g
MDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLkRldmVsb3BtZW50LnhwYzsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNTE4MjlEQTMxNjM3QzcwQzAwMDk1
M0Q2IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHA7IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTE4MjlEQTQxNjM3QzcwQzAwMDk1M0Q2IC8qIE5l
dHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTgzNDU5MDEzNDUzMkU4MDA5MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkljb25EYXRhYmFz
ZUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODM0NTkxMTM0NTMy
RTgwMDkyQjY5NiAvKiBXZWJJY29uRGF0YWJhc2VDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViSWNvbkRhdGFiYXNlQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxODM1M0Q4MTg4NUJGOEMwMEQ5RkU0NCAvKiBJREJTZXJpYWxpemF0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlNlcmlhbGl6YXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTU3Myw4ICs1NTY3LDYgQEAK
IAkJCQk1MUZEMThCMzE2NTFGQkFEMDBEQkUxQ0UgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cCAqLywKIAkJCQk1MUZEMThCNDE2NTFGQkFEMDBEQkUxQ0UgLyogTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmggKi8sCiAJCQkJRTE1MjU1MTcxNzAxMDlGQjAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbiAqLywKLQkJCQk1MTgyOURBMzE2MzdDNzBDMDAwOTUzRDYgLyog
TmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgKi8sCi0JCQkJNTE4MjlEQTQxNjM3Qzcw
QzAwMDk1M0Q2IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLywKIAkJCQlFMUI3
ODQ3MDE2M0YyNDY5MDAwN0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAqLywKIAkJ
CSk7CiAJCQluYW1lID0gTmV0d29ya1Byb2Nlc3M7CkBAIC01NTg4LDcgKzU1ODAsNiBAQAogCQkJ
CTUxNjdFRTlGMTcwMzc3QkYwMDc2ODFDQSAvKiBOZXR3b3JrRGlza0NhY2hlTW9uaXRvci5tbSAq
LywKIAkJCQk1MUE4QTYxNTE2MjdGM0Y5MDAwRDkwRTkgLyogTmV0d29ya1Byb2Nlc3NNYWMubW0g
Ki8sCiAJCQkJNTFFM0I2N0UxNkYyNjZCMzAwOTk2OERDIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRl
ck1hYy5tbSAqLywKLQkJCQk1MTJDMDY4RjE2MzkwRTY5MDBBQkI5MTEgLyogTmV0d29ya1Jlc291
cmNlTG9hZFNjaGVkdWxlck1hYy5tbSAqLywKIAkJCQlFMUI3ODQ3MjE2M0YyNTNFMDAwN0I2OTIg
LyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IG1hYzsK
QEAgLTc4MzksNyArNzgzMCw2IEBACiAJCQkJNTFGRDE4QjYxNjUxRkJBRDAwREJFMUNFIC8qIE5l
dHdvcmtSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1MjU1MUIxNzAxMTgx
OTAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUNCQkExMDE2NTIxOUI2MDA1QkU4RkQgLyogTmV0d29ya1Jlc291cmNlTG9hZFBh
cmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxODI5REE2MTYzN0M3MEMwMDA5NTNENiAv
KiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUEy
RUM1NjE0ODk5QzA5MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTMxMzEyNjFGMTQ4RkY4MkMwMEJBMkEzOSAvKiBOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQTJFQzUy
MTQ4OTk4MTkwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC05NjA3LDggKzk1OTcsNiBAQAogCQkJCTUxRTNCNjdG
MTZGMjY2QjMwMDk5NjhEQyAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNYWMubW0gaW4gU291cmNl
cyAqLywKIAkJCQlFMTUyNTUxQTE3MDExODE5MDAzRDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9h
ZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQ0JCQTBGMTY1MjE5
QjYwMDVCRThGRCAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk1MTgyOURBNTE2MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jlc291cmNlTG9h
ZFNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTJDMDY5MDE2MzkwRTY5MDBBQkI5
MTEgLyogTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlck1hYy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUJDODI4M0FDMTZCNEJGM0YwMEEyNzhGRSAvKiBOZXR3b3JrU2VydmljZUVudHJ5UG9pbnQu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkzMUEyRUM1NTE0ODk5ODJFMDA4MTBENzEgLyogTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEzMTI2MUUx
NDhGRjgyQzAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252284</attachid>
            <date>2015-05-03 13:12:37 -0700</date>
            <delta_ts>2015-05-04 00:53:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>remove-networkresourceloadscheduler-3.patch</filename>
            <type>text/plain</type>
            <size>29379</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MzczMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE1LTA1LTAzICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgTmV0d29ya1Jlc291
cmNlTG9hZFNjaGVkdWxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ0NTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSXQgZG9lc24ndCByZWFsbHkgZG8gYW55dGhpbmcuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzY2hlZHVsZVJlc291cmNlTG9h
ZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpwZXJm
b3JtU3luY2hyb25vdXNMb2FkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpnZXROZXR3b3JrUHJv
Y2Vzc1N0YXRpc3RpY3MpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpuZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Jlc291cmNlTG9hZGVyOjpjbGVhbnVwKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291
cmNlTG9hZGVyOjpjcmVhdGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVOZXR3b3JrU2V0
dGluZ3MpOgorCisgICAgICAgICAgICBNb3ZlZCBmcm9tIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hl
ZHVsZXJNYWMubW0uCisKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L21hYy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tOiBSZW1vdmVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlclNvdXAu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKwogMjAxNS0wNS0wMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS11bRUZMXSBVbmlmeSBwbGF0Zm9ybSBkaXNwbGF5IGhhbmRsaW5n
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTgzNzI4KQorKysgU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw3ICsxNTgsNiBAQCBz
ZXQoTmV0d29ya1Byb2Nlc3NfU09VUkNFUwogICAgIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAogICAgIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAogICAgIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAotICAgIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3Bw
CiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAogCiAgICAgTmV0
d29ya1Byb2Nlc3MvRmlsZUFQSS9OZXR3b3JrQmxvYlJlZ2lzdHJ5LmNwcApJbmRleDogU291cmNl
L1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
UGxhdGZvcm1FZmwuY21ha2UJKHJldmlzaW9uIDE4MzcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtRWZsLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNiBAQCBsaXN0KEFQUEVO
RCBXZWJLaXQyX1NPVVJDRVMKICAgICBOZXR3b3JrUHJvY2Vzcy9lZmwvTmV0d29ya1Byb2Nlc3NN
YWluRWZsLmNwcAogCiAgICAgTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAu
Y3BwCi0gICAgTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVy
U291cC5jcHAKICAgICBOZXR3b3JrUHJvY2Vzcy9zb3VwL1JlbW90ZU5ldHdvcmtpbmdDb250ZXh0
U291cC5jcHAKIAogICAgIFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcApJbmRl
eDogU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UJKHJldmlzaW9uIDE4MzcyOCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBA
IGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIE5ldHdvcmtQcm9jZXNzL2d0ay9OZXR3
b3JrUHJvY2Vzc01haW5HdGsuY3BwCiAKICAgICBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQ
cm9jZXNzU291cC5jcHAKLSAgICBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtSZXNvdXJjZUxv
YWRTY2hlZHVsZXJTb3VwLmNwcAogICAgIE5ldHdvcmtQcm9jZXNzL3NvdXAvUmVtb3RlTmV0d29y
a2luZ0NvbnRleHRTb3VwLmNwcAogCiAgICAgUGxhdGZvcm0vSVBDL3VuaXgvQXR0YWNobWVudFVu
aXguY3BwCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAxODM3
MjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSwxNiArMTE1LDE2IEBAIHZvaWQg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFIKIAogdm9pZCBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6c2NoZWR1bGVSZXNvdXJjZUxvYWQoY29uc3QgTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMmIGxvYWRQYXJhbWV0ZXJzKQogewotICAgIFJlZlB0cjxOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI+IGxvYWRlciA9IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKGxv
YWRQYXJhbWV0ZXJzLCB0aGlzKTsKLSAgICBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuYWRkKGxv
YWRQYXJhbWV0ZXJzLmlkZW50aWZpZXIsIGxvYWRlcik7Ci0gICAgTmV0d29ya1Byb2Nlc3M6OnNp
bmdsZXRvbigpLm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKS5zY2hlZHVsZUxvYWRlcihs
b2FkZXIuZ2V0KCkpOworICAgIGF1dG8gbG9hZGVyID0gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpj
cmVhdGUobG9hZFBhcmFtZXRlcnMsIHRoaXMpOworICAgIG1fbmV0d29ya1Jlc291cmNlTG9hZGVy
cy5hZGQobG9hZFBhcmFtZXRlcnMuaWRlbnRpZmllciwgbG9hZGVyLnB0cigpKTsKKyAgICBsb2Fk
ZXItPnN0YXJ0KCk7CiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnBl
cmZvcm1TeW5jaHJvbm91c0xvYWQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMm
IGxvYWRQYXJhbWV0ZXJzLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6UGVyZm9ybVN5bmNocm9ub3VzTG9hZDo6RGVsYXllZFJlcGx5PiByZXBseSkK
IHsKLSAgICBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBsb2FkZXIgPSBOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OmNyZWF0ZShsb2FkUGFyYW1ldGVycywgdGhpcywgcmVwbHkpOwotICAgIG1f
bmV0d29ya1Jlc291cmNlTG9hZGVycy5hZGQobG9hZFBhcmFtZXRlcnMuaWRlbnRpZmllciwgbG9h
ZGVyKTsKLSAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya1Jlc291cmNlTG9h
ZFNjaGVkdWxlcigpLnNjaGVkdWxlTG9hZGVyKGxvYWRlci5nZXQoKSk7CisgICAgYXV0byBsb2Fk
ZXIgPSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShsb2FkUGFyYW1ldGVycywgdGhpcywg
cmVwbHkpOworICAgIG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5hZGQobG9hZFBhcmFtZXRlcnMu
aWRlbnRpZmllciwgbG9hZGVyLnB0cigpKTsKKyAgICBsb2FkZXItPnN0YXJ0KCk7CiB9CiAKIHZv
aWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlbW92ZUxvYWRJZGVudGlmaWVyKFJl
c291cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllcikKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDE4MzcyOCkK
KysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDc1LDEyICs0NzUsOSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRD
YW5IYW5kbGVIVFRQU1NlCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmdldE5ldHdvcmtQcm9jZXNz
U3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogewotICAgIE5ldHdvcmtSZXNvdXJjZUxv
YWRTY2hlZHVsZXImIHNjaGVkdWxlciA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3
b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7Ci0KICAgICBTdGF0aXN0aWNzRGF0YSBkYXRhOwog
CiAgICAgYXV0byYgbmV0d29ya1Byb2Nlc3MgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCk7
Ci0gICAgZGF0YS5zdGF0aXN0aWNzTnVtYmVycy5zZXQoIkxvYWRzQWN0aXZlQ291bnQiLCBzY2hl
ZHVsZXIubG9hZHNBY3RpdmVDb3VudCgpKTsKICAgICBkYXRhLnN0YXRpc3RpY3NOdW1iZXJzLnNl
dCgiRG93bmxvYWRzQWN0aXZlQ291bnQiLCBuZXR3b3JrUHJvY2Vzcy5kb3dubG9hZE1hbmFnZXIo
KS5hY3RpdmVEb3dubG9hZENvdW50KCkpOwogICAgIGRhdGEuc3RhdGlzdGljc051bWJlcnMuc2V0
KCJPdXRzdGFuZGluZ0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlc0NvdW50IiwgbmV0d29ya1Byb2Nl
c3MuYXV0aGVudGljYXRpb25NYW5hZ2VyKCkub3V0c3RhbmRpbmdBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUNvdW50KCkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmgJKHJldmlzaW9uIDE4MzcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMy
LDYgQEAKICNpbmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNsdWRlICJEb3dubG9hZE1hbmFn
ZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKLSNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9n
Z2luZ0NsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8
bWVtb3J5PgpAQCAtNzUsOCArNzQsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZU5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKik7
CiAKLSAgICBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyJiBuZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyKCkgeyByZXR1cm4gbV9uZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOyB9Ci0K
ICAgICBBdXRoZW50aWNhdGlvbk1hbmFnZXImIGF1dGhlbnRpY2F0aW9uTWFuYWdlcigpOwogICAg
IERvd25sb2FkTWFuYWdlciYgZG93bmxvYWRNYW5hZ2VyKCk7CiAgICAgYm9vbCBjYW5IYW5kbGVI
VFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2FuSGFuZGxlSFRU
UFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247IH0KQEAgLTE1Nyw4ICsxNTQsNiBAQCBwcml2YXRlOgog
ICAgIC8vIENvbm5lY3Rpb25zIHRvIFdlYlByb2Nlc3Nlcy4KICAgICBWZWN0b3I8UmVmUHRyPE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CiAK
LSAgICBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyIG1fbmV0d29ya1Jlc291cmNlTG9hZFNj
aGVkdWxlcjsKLQogICAgIFN0cmluZyBtX2Rpc2tDYWNoZURpcmVjdG9yeTsKICAgICBib29sIG1f
aGFzU2V0Q2FjaGVNb2RlbDsKICAgICBDYWNoZU1vZGVsIG1fY2FjaGVNb2RlbDsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCShyZXZpc2lvbiAxODM3MjgpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw1NSArMCwwIEBACi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIgotCi0jaW5jbHVkZSAiTG9nZ2luZy5o
IgotI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCi0jaW5jbHVkZSAi
TmV0d29ya1Byb2Nlc3MuaCIKLSNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oIgotI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgotI2luY2x1ZGUgPHd0Zi9N
YWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotCi0jaWYgRU5BQkxF
KE5FVFdPUktfUFJPQ0VTUykKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi1OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpOZXR3b3JrUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKCkKLXsKLSAgICBwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrU2V0dGlu
Z3MoKTsKLX0KLQotdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUxv
YWRlcihQYXNzUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4gbG9hZGVyKQotewotICAgIEFT
U0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBMT0coTmV0d29ya1NjaGVkdWxpbmcsICIo
TmV0d29ya1Byb2Nlc3MpIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9h
ZGVyIHJlc291cmNlICclcyciLCBsb2FkZXItPm9yaWdpbmFsUmVxdWVzdCgpLnVybCgpLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwotCi0gICAgLy8gVGhpcyByZXF1ZXN0IG1pZ2h0IGJlIGZyb20g
V2ViUHJvY2VzcyB3ZSd2ZSBsb3N0IG91ciBjb25uZWN0aW9uIHRvLgotICAgIC8vIElmIHNvIHdl
IHNob3VsZCBqdXN0IHNraXAgaXQuCi0gICAgaWYgKCFsb2FkZXItPmNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9hY3RpdmVMb2FkZXJzLmFkZChsb2Fk
ZXIuZ2V0KCkpOwotCi0gICAgbG9hZGVyLT5zdGFydCgpOwotfQotCi12b2lkIE5ldHdvcmtSZXNv
dXJjZUxvYWRTY2hlZHVsZXI6OnJlbW92ZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqIGxv
YWRlcikKLXsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgTE9HKE5ldHdv
cmtTY2hlZHVsaW5nLCAiKE5ldHdvcmtQcm9jZXNzKSBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1
bGVyOjpyZW1vdmVMb2FkZXIgcmVzb3VyY2UgJyVzJyIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0
KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBtX2FjdGl2ZUxvYWRlcnMu
cmVtb3ZlKGxvYWRlcik7Ci19Ci0KLXVpbnQ2NF90IE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVs
ZXI6OmxvYWRzQWN0aXZlQ291bnQoKSBjb25zdAotewotICAgIHJldHVybiBtX2FjdGl2ZUxvYWRl
cnMuc2l6ZSgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJM
RShORVRXT1JLX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCShyZXZpc2lv
biAxODM3MjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcl9oCi0jZGVmaW5lIE5l
dHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXJfaAotCi0jaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5o
PgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgotCi0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLWNsYXNzIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjsKLQotY2xhc3MgTmV0d29ya1Jlc291cmNl
TG9hZFNjaGVkdWxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1Jlc291cmNl
TG9hZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotCi1wdWJsaWM6Ci0gICAg
TmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlcigpOwotICAgIAotICAgIHZvaWQgc2NoZWR1bGVM
b2FkZXIoUGFzc1JlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+KTsKLSAgICB2b2lkIHJlbW92
ZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXIqKTsKLQotICAgIC8vIEZvciBOZXR3b3JrUHJv
Y2VzcyBzdGF0aXN0aWNzIHJlcG9ydGluZy4KLSAgICB1aW50NjRfdCBsb2Fkc0FjdGl2ZUNvdW50
KCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgc3RhdGljIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXpl
TmV0d29ya1NldHRpbmdzKCk7Ci0KLSAgICBIYXNoU2V0PFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VM
b2FkZXI+PiBtX2FjdGl2ZUxvYWRlcnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQot
I2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0KLSNlbmRpZiAvLyBOZXR3b3JrUmVz
b3VyY2VMb2FkU2NoZWR1bGVyX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24gMTgzNzI4
KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDggKzIwNCw2IEBAIHZvaWQgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjpjbGVhbnVwKCkKIAogICAgIGludmFsaWRhdGVTYW5kYm94RXh0ZW5zaW9ucygp
OwogCi0gICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIoKS5yZW1vdmVMb2FkZXIodGhpcyk7Ci0KICAgICBtX2hhbmRsZSA9IG51bGxwdHI7
CiAKICAgICAvLyBUaGlzIHdpbGwgY2F1c2UgTmV0d29ya1Jlc291cmNlTG9hZGVyIHRvIGJlIGRl
c3Ryb3llZCBhbmQgdGhlcmVmb3JlIHdlIGRvIGl0IGxhc3QuCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaAkocmV2
aXNpb24gMTgzNzI4KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDE0ICs2MSwxNCBAQCBjbGFzcyBT
YW5kYm94RXh0ZW5zaW9uOwogCiBjbGFzcyBOZXR3b3JrUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMg
UmVmQ291bnRlZDxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+LCBwdWJsaWMgV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGVDbGllbnQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5kZXIgewogcHVibGljOgotICAg
IHN0YXRpYyBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBjcmVhdGUoY29uc3QgTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzKiBjb25uZWN0aW9uKQorICAgIHN0YXRpYyBSZWY8TmV0d29ya1Jlc291cmNlTG9h
ZGVyPiBjcmVhdGUoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKiBjb25uZWN0aW9uKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBOZXR3b3JrUmVzb3VyY2VMb2FkZXIocGFyYW1ldGVy
cywgY29ubmVjdGlvbiwgbnVsbHB0cikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBO
ZXR3b3JrUmVzb3VyY2VMb2FkZXIocGFyYW1ldGVycywgY29ubmVjdGlvbiwgbnVsbHB0cikpOwog
ICAgIH0KICAgICAKLSAgICBzdGF0aWMgUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4gY3Jl
YXRlKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogY29ubmVjdGlvbiwgUGFzc1JlZlB0cjxNZXNzYWdl
czo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xvYWQ6
OkRlbGF5ZWRSZXBseT4gcmVwbHkpCisgICAgc3RhdGljIFJlZjxOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI+IGNyZWF0ZShjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYgcGFyYW1ldGVy
cywgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIGNvbm5lY3Rpb24sIFBhc3NSZWZQdHI8
TWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQZXJmb3JtU3luY2hyb25v
dXNMb2FkOjpEZWxheWVkUmVwbHk+IHJlcGx5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBOZXR3b3JrUmVzb3VyY2VMb2FkZXIocGFyYW1ldGVycywgY29ubmVjdGlvbiwgcmVw
bHkpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmV0d29ya1Jlc291cmNlTG9hZGVy
KHBhcmFtZXRlcnMsIGNvbm5lY3Rpb24sIHJlcGx5KSk7CiAgICAgfSAgICAKICAgICB+TmV0d29y
a1Jlc291cmNlTG9hZGVyKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24g
MTgzNzI4KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1By
b2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOCBAQAogI2ltcG9ydCAi
TmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW1wb3J0ICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL0NGTmV0d29ya1NQSS5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3RDRk5ldC5oPgorI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1w
b3J0IDx3dGYvUkFNU2l6ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQzLDYgKzQ1LDIz
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtTG93TWVtb3J5SGEKICAgICBfQ0ZVUkxD
YWNoZVB1cmdlTWVtb3J5Q2FjaGUoYWRvcHRDRihDRlVSTENhY2hlQ29weVNoYXJlZFVSTENhY2hl
KCkpLmdldCgpKTsKIH0KIAorc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU5ldHdvcmtTZXR0aW5ncygp
Cit7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZWZlcnJlZENvbm5lY3Rpb25Db3VudCA9
IDY7CisKKyAgICBXS0luaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3Qo
cHJlZmVycmVkQ29ubmVjdGlvbkNvdW50KTsKKworICAgIEJvb2xlYW4ga2V5RXhpc3RzQW5kSGFz
VmFsaWRGb3JtYXQgPSBmYWxzZTsKKyAgICBCb29sZWFuIHByZWZWYWx1ZSA9IENGUHJlZmVyZW5j
ZXNHZXRBcHBCb29sZWFuVmFsdWUoQ0ZTVFIoIldlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIiks
IGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCAma2V5RXhpc3RzQW5kSGFzVmFsaWRG
b3JtYXQpOworICAgIGlmIChrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCkKKyAgICAgICAgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQocHJlZlZhbHVl
KTsKKworICAgIGlmIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnJlc291cmNlUHJpb3JpdGll
c0VuYWJsZWQoKSkgeworICAgICAgICBXS1NldEhUVFBSZXF1ZXN0TWF4aW11bVByaW9yaXR5KHRv
UGxhdGZvcm1SZXF1ZXN0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6Okhp
Z2hlc3QpKTsKKyAgICAgICAgV0tTZXRIVFRQUmVxdWVzdE1pbmltdW1GYXN0TGFuZVByaW9yaXR5
KHRvUGxhdGZvcm1SZXF1ZXN0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6
Ok1lZGl1bSkpOworICAgIH0KK30KKwogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0
aWFsaXplTmV0d29ya1Byb2Nlc3NDb2NvYShjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKIHsKICNpZiBQTEFURk9STShJT1MpCkBAIC01Niw2ICs3NSw4
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU4KICAgICBfQ0ZOZXR3
b3JrU2V0QVRTQ29udGV4dChwYXJhbWV0ZXJzLm5ldHdvcmtBVFNDb250ZXh0LmdldCgpKTsKICNl
bmRpZgogCisgICAgaW5pdGlhbGl6ZU5ldHdvcmtTZXR0aW5ncygpOworCiAgICAgLy8gRklYTUU6
IE1vc3Qgb2Ygd2hhdCB0aGlzIGZ1bmN0aW9uIGRvZXMgZm9yIGNhY2hlIHNpemUgZ2V0cyBpbW1l
ZGlhdGVseSBvdmVycmlkZGVuIGJ5IHNldENhY2hlTW9kZWwoKS4KICAgICAvLyAtIG1lbW9yeSBj
YWNoZSBzaXplIHBhc3NlZCBmcm9tIFVJIHByb2Nlc3MgaXMgYWx3YXlzIGlnbm9yZWQ7CiAgICAg
Ly8gLSBkaXNrIGNhY2hlIHNpemUgcGFzc2VkIGZyb20gVUkgcHJvY2VzcyBpcyBlZmZlY3RpdmVs
eSBhIG1pbmltdW0gc2l6ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21h
Yy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVy
TWFjLm1tCShyZXZpc2lvbiAxODM3MjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9tYWMvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlck1hYy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMSw1OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0
ICJOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCi0KLSNpbXBvcnQgPFdlYkNvcmUvUmVz
b3VyY2VSZXF1ZXN0Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdENGTmV0Lmg+
Ci0jaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaD4KLSNpbXBvcnQgPFdl
YktpdFN5c3RlbUludGVyZmFjZS5oPgotCi0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIE5l
dHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtTZXR0
aW5ncygpCi17Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZWZlcnJlZENvbm5lY3Rpb25D
b3VudCA9IDY7Ci0KLSAgICBXS0luaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBl
ckhvc3QocHJlZmVycmVkQ29ubmVjdGlvbkNvdW50KTsKLQotICAgIEJvb2xlYW4ga2V5RXhpc3Rz
QW5kSGFzVmFsaWRGb3JtYXQgPSBmYWxzZTsKLSAgICBCb29sZWFuIHByZWZWYWx1ZSA9IENGUHJl
ZmVyZW5jZXNHZXRBcHBCb29sZWFuVmFsdWUoQ0ZTVFIoIldlYktpdEVuYWJsZUhUVFBQaXBlbGlu
aW5nIiksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uLCAma2V5RXhpc3RzQW5kSGFz
VmFsaWRGb3JtYXQpOwotICAgIGlmIChrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCkKLSAgICAg
ICAgUmVzb3VyY2VSZXF1ZXN0OjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQocHJlZlZhbHVlKTsK
LQotICAgIGlmIChSZXNvdXJjZVJlcXVlc3Q6OnJlc291cmNlUHJpb3JpdGllc0VuYWJsZWQoKSkg
ewotICAgICAgICBXS1NldEhUVFBSZXF1ZXN0TWF4aW11bVByaW9yaXR5KHRvUGxhdGZvcm1SZXF1
ZXN0UHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHk6OkhpZ2hlc3QpKTsKLSAgICAgICAgV0tT
ZXRIVFRQUmVxdWVzdE1pbmltdW1GYXN0TGFuZVByaW9yaXR5KHRvUGxhdGZvcm1SZXF1ZXN0UHJp
b3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHk6Ok1lZGl1bSkpOwotICAgIH0KLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQpJbmRl
eDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyU291cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyU291cC5jcHAJKHJldmlzaW9u
IDE4MzcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Jl
c291cmNlTG9hZFNjaGVkdWxlclNvdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCi0KLSNpbmNs
dWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQg
ewotCi12b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnBsYXRmb3JtSW5pdGlhbGl6
ZU5ldHdvcmtTZXR0aW5ncygpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDE4MzcyOCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODk0LDcgKzg5NCw2IEBA
CiAJCTUxMkE5NzYxMTgwRTAzMUQwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NNZXNzYWdlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyQTk3NUYx
ODBFMDMxNjAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc01lc3NhZ2VzLmggKi87IH07CiAJCTUx
MkE5NzY5MTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTJBOTc2NzE4MEUwOUI4MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovOyB9OwogCQk1MTJBOTc2QTE4MEUwOUI4MDAzOUExNDkgLyogRGF0YWJhc2VQ
cm9jZXNzUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEyQTk3NjgxODBFMDlCODAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc1By
b3h5TWVzc2FnZXMuaCAqLzsgfTsKLQkJNTEyQzA2OTAxNjM5MEU2OTAwQUJCOTExIC8qIE5ldHdv
cmtSZXNvdXJjZUxvYWRTY2hlZHVsZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJDMDY4RjE2MzkwRTY5MDBBQkI5MTEgLyogTmV0d29ya1Jl
c291cmNlTG9hZFNjaGVkdWxlck1hYy5tbSAqLzsgfTsKIAkJNTEyRTM0RTQxMzBCNEQwNTAwQUJE
MTlBIC8qIFdLQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3QTMzQjMxMzBCMzA4QzAwRjgwQ0I1IC8qIFdL
QXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3BwICovOyB9OwogCQk1MTJFMzRFNTEzMEI0RDA1MDBB
QkQxOUEgLyogV0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3QTMzQjQxMzBCMzA4QzAwRjgwQ0I1IC8qIFdL
QXBwbGljYXRpb25DYWNoZU1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1MTJFMzUyNDEzMEI1NTA2MDBBQkQxOUEgLyogV2ViQXBwbGlj
YXRpb25DYWNoZU1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTJFMzUyMDEzMEI1NTAxMDBBQkQxOUEgLyogV2ViQXBwbGljYXRp
b25DYWNoZU1hbmFnZXJQcm94eS5jcHAgKi87IH07CkBAIC05NzAsOCArOTY5LDYgQEAKIAkJNTE3
REQ1QzUxODBEQzNFMTAwODE2NjBCIC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWFjLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3REQ1QzQxODBEQzNF
MTAwODE2NjBCIC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWFjLm1tICovOyB9OwogCQk1MTgwQzcx
NTE4MENDQTMxMDBGREE2MTIgLyogWFBDU2VydmljZU1haW4uRGV2ZWxvcG1lbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyODM5NzE2QjQ4MEY2
MDBBMjc4RkUgLyogWFBDU2VydmljZU1haW4uRGV2ZWxvcG1lbnQubW0gKi87IH07CiAJCTUxODBD
NzE3MTgwQ0NBMzEwMEZEQTYxMiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMwMDhE
MjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKLQkJNTE4MjlEQTUxNjM3QzcwQzAw
MDk1M0Q2IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MjlEQTMxNjM3QzcwQzAwMDk1M0Q2
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwICovOyB9OwotCQk1MTgyOURBNjE2
MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MjlEQTQxNjM3QzcwQzAw
MDk1M0Q2IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLzsgfTsKIAkJNTE4MzQ1
OTIxMzQ1MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTgzNDU5MDEzNDUzMkU4MDA5
MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmNwcCAqLzsgfTsKIAkJNTE4MzQ1OTMxMzQ1
MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4MzQ1OTExMzQ1MzJFODAwOTJCNjk2IC8q
IFdlYkljb25EYXRhYmFzZUNsaWVudC5oICovOyB9OwogCQk1MTgzNTNEQTE4ODVCRjhDMDBEOUZF
NDQgLyogSURCU2VyaWFsaXphdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTgzNTNEODE4ODVCRjhDMDBEOUZFNDQgLyogSURCU2VyaWFsaXph
dGlvbi5jcHAgKi87IH07CkBAIC0zMDg2LDcgKzMwODMsNiBAQAogCQk1MTJBOTc2NjE4MEUwNUQy
MDAzOUExNDkgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRGF0YWJh
c2VQcm9jZXNzUHJveHkubWVzc2FnZXMuaW47IHBhdGggPSBEYXRhYmFzZXMvRGF0YWJhc2VQcm9j
ZXNzUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMkE5
NzY3MTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRhYmFzZVByb2Nl
c3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxMkE5NzY4MTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2Vz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTEyQzA2OEYxNjM5MEU2
OTAwQUJCOTExIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXJNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1
bGVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJFMzUyMDEzMEI1NTAx
MDBBQkQxOUEgLyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclBy
b3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyRTM1MjExMzBCNTUwMTAw
QUJEMTlBIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJFMzUyQjEzMEI1NUFGMDBBQkQxOUEgLyog
V2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuY3BwOyBwYXRoID0gQXBwbGlj
YXRpb25DYWNoZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0zMTU2LDggKzMxNTIsNiBAQAogCQk1MTdERDVCRDE4MERBN0QzMDA4
MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRGF0YWJhc2VQcm9jZXNzUHJveHkuaDsgcGF0aCA9IERhdGFiYXNlcy9EYXRhYmFz
ZVByb2Nlc3NQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdERDVDNDE4
MERDM0UxMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBEYXRhYmFzZVByb2Nlc3NQcm94eU1hYy5tbTsg
cGF0aCA9IERhdGFiYXNlcy9tYWMvRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODBDNzFEMTgwQ0NBMzEwMEZEQTYxMiAvKiBjb20uYXBw
bGUuV2ViS2l0LkRhdGFiYXNlcy5EZXZlbG9wbWVudC54cGMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuY2ZidW5kbGU7IGluY2x1ZGVJbklu
ZGV4ID0gMDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLkRldmVsb3BtZW50Lnhw
Yzsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNTE4MjlEQTMxNjM3Qzcw
QzAwMDk1M0Q2IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5j
cHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTE4MjlEQTQxNjM3QzcwQzAwMDk1M0Q2
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oOyBwYXRoID0gTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTgzNDU5MDEzNDUzMkU4MDA5MkI2OTYgLyogV2ViSWNvbkRhdGFiYXNl
Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkljb25E
YXRhYmFzZUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODM0NTkx
MTM0NTMyRTgwMDkyQjY5NiAvKiBXZWJJY29uRGF0YWJhc2VDbGllbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSWNvbkRhdGFiYXNlQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxODM1M0Q4MTg4NUJGOEMwMEQ5RkU0NCAvKiBJREJTZXJpYWxp
emF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlNlcmlh
bGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTU3Myw4ICs1NTY3
LDYgQEAKIAkJCQk1MUZEMThCMzE2NTFGQkFEMDBEQkUxQ0UgLyogTmV0d29ya1Jlc291cmNlTG9h
ZGVyLmNwcCAqLywKIAkJCQk1MUZEMThCNDE2NTFGQkFEMDBEQkUxQ0UgLyogTmV0d29ya1Jlc291
cmNlTG9hZGVyLmggKi8sCiAJCQkJRTE1MjU1MTcxNzAxMDlGQjAwM0Q3QURCIC8qIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiAqLywKLQkJCQk1MTgyOURBMzE2MzdDNzBDMDAwOTUz
RDYgLyogTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgKi8sCi0JCQkJNTE4MjlEQTQx
NjM3QzcwQzAwMDk1M0Q2IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCAqLywKIAkJ
CQlFMUI3ODQ3MDE2M0YyNDY5MDAwN0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCAq
LywKIAkJCSk7CiAJCQluYW1lID0gTmV0d29ya1Byb2Nlc3M7CkBAIC01NTg4LDcgKzU1ODAsNiBA
QAogCQkJCTUxNjdFRTlGMTcwMzc3QkYwMDc2ODFDQSAvKiBOZXR3b3JrRGlza0NhY2hlTW9uaXRv
ci5tbSAqLywKIAkJCQk1MUE4QTYxNTE2MjdGM0Y5MDAwRDkwRTkgLyogTmV0d29ya1Byb2Nlc3NN
YWMubW0gKi8sCiAJCQkJNTFFM0I2N0UxNkYyNjZCMzAwOTk2OERDIC8qIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlck1hYy5tbSAqLywKLQkJCQk1MTJDMDY4RjE2MzkwRTY5MDBBQkI5MTEgLyogTmV0d29y
a1Jlc291cmNlTG9hZFNjaGVkdWxlck1hYy5tbSAqLywKIAkJCQlFMUI3ODQ3MjE2M0YyNTNFMDAw
N0I2OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9
IG1hYzsKQEAgLTc4MzksNyArNzgzMCw2IEBACiAJCQkJNTFGRDE4QjYxNjUxRkJBRDAwREJFMUNF
IC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1MjU1MUIx
NzAxMTgxOTAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUNCQkExMDE2NTIxOUI2MDA1QkU4RkQgLyogTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxODI5REE2MTYzN0M3MEMwMDA5
NTNENiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzMUEyRUM1NjE0ODk5QzA5MDA4MTBENzEgLyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMzEyNjFGMTQ4RkY4MkMwMEJBMkEzOSAvKiBOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMx
QTJFQzUyMTQ4OTk4MTkwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC05NjA3LDggKzk1OTcsNiBAQAogCQkJCTUx
RTNCNjdGMTZGMjY2QjMwMDk5NjhEQyAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlFMTUyNTUxQTE3MDExODE5MDAzRDdBREIgLyogTmV0d29ya1Jlc291
cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQ0JCQTBG
MTY1MjE5QjYwMDVCRThGRCAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQk1MTgyOURBNTE2MzdDNzBDMDAwOTUzRDYgLyogTmV0d29ya1Jlc291
cmNlTG9hZFNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTJDMDY5MDE2MzkwRTY5
MDBBQkI5MTEgLyogTmV0d29ya1Jlc291cmNlTG9hZFNjaGVkdWxlck1hYy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDODI4M0FDMTZCNEJGM0YwMEEyNzhGRSAvKiBOZXR3b3JrU2VydmljZUVudHJ5
UG9pbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzMUEyRUM1NTE0ODk5ODJFMDA4MTBENzEgLyog
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEz
MTI2MUUxNDhGRjgyQzAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlci5jcHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>