<?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>185662</bug_id>
          
          <creation_ts>2018-05-15 16:02:53 -0700</creation_ts>
          <short_desc>Convert CertificateInfo into Credential in UI Process instead of Networking Process</short_desc>
          <delta_ts>2018-05-17 12:26:59 -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>WebKit Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1424153</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-05-15 16:02:53 -0700</bug_when>
    <thetext>Right now we convert CertificateInfo into Credential in the very last stage of client certificate authentication process when it reaches Networking Process. We could have done that earlier in UI Process such that we don&apos;t have to pass both Credential and CertificateInfo to Networking Process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424154</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-15 16:03:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/40275561&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424181</commentid>
    <comment_count>2</comment_count>
      <attachid>340447</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-05-15 16:52:02 -0700</bug_when>
    <thetext>Created attachment 340447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424195</commentid>
    <comment_count>3</comment_count>
      <attachid>340450</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-05-15 17:12:22 -0700</bug_when>
    <thetext>Created attachment 340450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424845</commentid>
    <comment_count>4</comment_count>
      <attachid>340450</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-05-17 11:59:30 -0700</bug_when>
    <thetext>Comment on attachment 340450
Patch

Thanks Alex for r+ this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424857</commentid>
    <comment_count>5</comment_count>
      <attachid>340450</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-17 12:26:57 -0700</bug_when>
    <thetext>Comment on attachment 340450
Patch

Clearing flags on attachment: 340450

Committed r231916: &lt;https://trac.webkit.org/changeset/231916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1424858</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-17 12:26:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340447</attachid>
            <date>2018-05-15 16:52:02 -0700</date>
            <delta_ts>2018-05-15 17:12:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185662-20180515165201.patch</filename>
            <type>text/plain</type>
            <size>32317</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3MTY1OGRiMzgyMmI4YjA5OWQyMGI0
Yzk4ZTRjYTM0YThhYmE0YjcuLjFiMTc5MGU4MTZiYTEwYmM3ZGY4YzkyMTI1NjI2MTIxYjM0ZDM0
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMDUtMTUgIEppZXdlbiBUYW4gIDxqaWV3ZW5f
dGFuQGFwcGxlLmNvbT4KKworICAgICAgICBDb252ZXJ0IENlcnRpZmljYXRlSW5mbyBpbnRvIENy
ZWRlbnRpYWwgaW4gVUkgUHJvY2VzcyBpbnN0ZWFkIG9mIE5ldHdvcmtpbmcgUHJvY2VzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NjYyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80MDI3NTU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgbWFyY28gSEFWRV9TRUNfSURFTlRJVFkgc2lu
Y2UgaXQgaXMgbm8gbG9uZ2VyIHVzZWZ1bC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgor
CiAyMDE4LTA1LTEwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAg
ICAgICAgIEZpeCB0aGUgYnVpbGQgYWZ0ZXIgcjIzMTM5MwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3M2VhNzdiY2Yx
MDZiNDQ2MzI4NjI0ZGI1NTAzNDliMmFjZWFmYzA0Li43OGM3NmRkYWM5MzEwMTI5M2RkNjE1ZTg2
ZDBjM2VjNDQ2ODQ2Zjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA1LTE1ICBK
aWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ29udmVydCBDZXJ0
aWZpY2F0ZUluZm8gaW50byBDcmVkZW50aWFsIGluIFVJIFByb2Nlc3MgaW5zdGVhZCBvZiBOZXR3
b3JraW5nIFByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4NTY2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDAyNzU1NjE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmlnaHQgbm93IHdlIGNv
bnZlcnQgQ2VydGlmaWNhdGVJbmZvIGludG8gQ3JlZGVudGlhbCBpbiB0aGUgdmVyeSBsYXN0IHN0
YWdlIG9mIGNsaWVudCBjZXJ0aWZpY2F0ZSBhdXRoZW50aWNhdGlvbiBwcm9jZXNzCisgICAgICAg
IHdoZW4gaXQgcmVhY2hlcyBOZXR3b3JraW5nIFByb2Nlc3MuIFRoaXMgcGF0Y2ggbW92ZXMgdGhh
dCBjb252ZXJzaW9uIGVhcmxpZXIgaW4gVUkgUHJvY2VzcyBzdWNoIHRoYXQgd2UgZG9uJ3QgaGF2
ZSB0bworICAgICAgICBwYXNzIGJvdGggQ3JlZGVudGlhbCBhbmQgQ2VydGlmaWNhdGVJbmZvIHRv
IE5ldHdvcmtpbmcgUHJvY2Vzcy4KKworICAgICAgICBDZXJ0aWZpY2F0ZUluZm8gaXMgb25seSB1
c2VkIGluIG1hY09TIGZvciBDIEFQSSBzcGVjaWZpY2FsbHkuIFdLMiBpbmNsdWRlcyBtYWNPUy9p
T1MgcmVsaWVzIG9uIE5TVVJMQ3JlZGVudGlhbC9XZWJDb3JlOjpDcmVkZW50aWFsCisgICAgICAg
IHNvbGVseS4gV0syIGhhcyBhbHJlYWR5IGV4ZXJjaXNlZCB0aGUgYWJpbGl0eSBvZiB1c2luZyBX
ZWJDb3JlOjpDcmVkZW50aWFsIHRvIGRvIGNsaWVudCBjZXJ0ZmljYXRlIGF1dGhlbnRpY2F0aW9u
LiBUaGlzIHBhdGNoIHRoZXJlZm9yZQorICAgICAgICB0YWtlcyBhZHZhbnRhZ2Ugb2YgdGhhdC4g
SXQgY29udmVydHMgQ2VydGZpY2F0ZUluZm8gb2JqZWN0cyBpbnRvIENyZWRlbnRpYWwgb2JqZWN0
cyByaWdodCBhZnRlciBXZWJDcmVkZW50aWFsIGlzIGluaXRpYWxpemVkLCBhbmQgdGhlbiBtZXJn
ZQorICAgICAgICBhbnkgY29kZSBwYXRocyB0aGF0IHV0aWxpemVzIENlcnRmaWNhdGVJbmZvIGlu
dG8gb25lcyB0aGF0IHVzZXMgV2ViQ29yZTo6Q3JlZGVuaXRhbC4KKworICAgICAgICBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9u
TWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1
dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSk6Cisg
ICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJ
bmZvRm9yQ2hhbGxlbmdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRp
b24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9XZWJDcmVkZW50aWFsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ3JlZGVudGlhbDo6V2ViQ3JlZGVudGlhbCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNyZWRlbnRpYWw6OmNlcnRpZmljYXRlSW5mbyk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuaDoKKyAgICAgICAg
KFdlYktpdDo6V2ViQ3JlZGVudGlhbDo6Y3JlYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0
aGVudGljYXRpb24vbWFjL1dlYkNyZWRlbnRpYWxNYWMubW06IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1h
Yy5tbS4KKyAgICAgICAgKFdlYktpdDo6bGVhZkNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYktp
dDo6Y2hhaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJDcmVkZW50aWFsOjpXZWJDcmVkZW50aWFs
KToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOC0w
NS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgICdDcm9zcy1P
cmlnaW4tT3B0aW9ucyBoZWFkZXIgaW1wbGVtZW50YXRpb24gZm9sbG93LXVwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApp
bmRleCAxZjBlZDUzOGNkMGI1YWRhNDI1MmI2NWQzZTAxYWQ1OWNjNzUxYWUzLi41NmY0MTVmYTYz
MWNhMmU5MGY1NDI1MTEyNTcwNGNkY2YyYWQ3OWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTU3Miw3ICs1
NzIsNiBAQAogCiAjZGVmaW5lIFVTRV9BUFBLSVQgMQogI2RlZmluZSBIQVZFX1JVTkxPT1BfVElN
RVIgMQotI2RlZmluZSBIQVZFX1NFQ19JREVOVElUWSAxCiAjZGVmaW5lIEhBVkVfU0VDX0tFWUNI
QUlOIDEKIAogI2lmIENQVShYODZfNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAppbmRleCAz
YzRjYzVlZDBmMTQyNDY3YWFiYzMwMjQxOTY5ODBiMTNhODU5OTc3Li5iMjg4MWIyOWU1MmJjZWFj
YTIxMDg5MzEzZTBlYTQ0YjdkZTc4NzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAKQEAg
LTEzNSwzMSArMTM1LDIwIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZl
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UoSVBDOjpNZXNzYWdlU2VuZGVyCiAgICAgZG93bmxvYWQu
c2VuZChNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBjaGFsbGVuZ2VJRCkpOwogfQogCi0vLyBD
dXJyZW50bHksIG9ubHkgTWFjIGtub3dzIGhvdyB0byByZXNwb25kIHRvIGF1dGhlbnRpY2F0aW9u
IGNoYWxsZW5nZXMgd2l0aCBjZXJ0aWZpY2F0ZSBpbmZvLgotI2lmICFIQVZFKFNFQ19JREVOVElU
WSkKLWJvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JD
aGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBD
ZXJ0aWZpY2F0ZUluZm8mLCBDaGFsbGVuZ2VDb21wbGV0aW9uSGFuZGxlciYpCi17Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotI2VuZGlmCi0KLXZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBDcmVkZW50
aWFsJiBjcmVkZW50aWFsLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykK
K3ZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVp
bnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQogewogICAg
IEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKICAgICBmb3IgKGF1dG8mIGNvYWxlc2NlZENo
YWxsZW5nZUlEIDogY29hbGVzY2VDaGFsbGVuZ2VzTWF0Y2hpbmcoY2hhbGxlbmdlSUQpKQotICAg
ICAgICB1c2VDcmVkZW50aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKGNvYWxlc2NlZENoYWxsZW5nZUlE
LCBjcmVkZW50aWFsLCBjZXJ0aWZpY2F0ZUluZm8pOworICAgICAgICB1c2VDcmVkZW50aWFsRm9y
U2luZ2xlQ2hhbGxlbmdlKGNvYWxlc2NlZENoYWxsZW5nZUlELCBjcmVkZW50aWFsKTsKIH0KIAot
dm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JTaW5nbGVDaGFsbGVu
Z2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwsIGNv
bnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBBdXRoZW50aWNhdGlv
bk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JTaW5nbGVDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxl
bmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCiB7CiAgICAgYXV0byBjaGFsbGVu
Z2UgPSBtX2NoYWxsZW5nZXMudGFrZShjaGFsbGVuZ2VJRCk7CiAgICAgQVNTRVJUKCFjaGFsbGVu
Z2UuY2hhbGxlbmdlLmlzTnVsbCgpKTsKIAogICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNoYWxsZW5nZS5jb21wbGV0aW9uSGFuZGxlcik7Ci0gICAgCi0gICAgaWYgKHRyeVVz
ZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjaGFsbGVuZ2UuY2hhbGxlbmdlLCBjZXJ0aWZp
Y2F0ZUluZm8sIGNvbXBsZXRpb25IYW5kbGVyKSkKLSAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KGNvbXBsZXRpb25IYW5kbGVyKQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZURpc3Bvc2l0aW9uOjpVc2VDcmVkZW50aWFsLCBjcmVkZW50aWFsKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0
aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmgKaW5kZXggNmMzMGMwNGZkZDBhZDM5OTE3YTA2NWM0MDU2NDI2MzY5
ZmUwZjg3Ny4uMmM2NjliYWZlMTkxNjgzNzNiOTVjMjZiZjc2YjFhYjQ3YWI3ZDhhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmgKQEAgLTQwLDcgKzQwLDYgQEAgY2xhc3MgTWVzc2FnZVNlbmRlcjsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7Ci1j
bGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBDcmVkZW50aWFsOwogfQogCkBAIC03Miw3ICs3
MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFBy
b3RlY3Rpb25TcGFjZShEb3dubG9hZElELCBib29sIGNhbkF1dGhlbnRpY2F0ZSk7CiAjZW5kaWYK
IAotICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFs
bGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwogICAgIHZvaWQgY29udGludWVX
aXRob3V0Q3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAg
dm9pZCBjYW5jZWxDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgcGVy
Zm9ybURlZmF1bHRIYW5kbGluZyh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CkBAIC05NiwxMiArOTUs
MTAgQEAgcHJpdmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAgIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7
CiAKLSAgICBib29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVyJik7Ci0KICAgICB1aW50NjRfdCBhZGRD
aGFsbGVuZ2VUb0NoYWxsZW5nZU1hcChDaGFsbGVuZ2UmJik7CiAgICAgYm9vbCBzaG91bGRDb2Fs
ZXNjZUNoYWxsZW5nZSh1aW50NjRfdCBwYWdlSUQsIHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25z
dCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpIGNvbnN0OwogCi0gICAgdm9pZCB1
c2VDcmVkZW50aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25z
dCBXZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7
CisgICAgdm9pZCB1c2VDcmVkZW50aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxs
ZW5nZUlELCBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJik7CiAgICAgdm9pZCBjb250aW51ZVdp
dGhvdXRDcmVkZW50aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsK
ICAgICB2b2lkIGNhbmNlbFNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAg
ICAgdm9pZCBwZXJmb3JtRGVmYXVsdEhhbmRsaW5nRm9yU2luZ2xlQ2hhbGxlbmdlKHVpbnQ2NF90
IGNoYWxsZW5nZUlEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpp
bmRleCBkYTc5Y2VjZjVlMzFjMmM3NDRhZGMzNjhlMTYwNzU3NzQ1MTExODFiLi5hN2Y0NWVjNWZk
ZDZlOWEzYzgzMThlMzQzZTdjYzIwZWZlM2EzOTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1l
c3NhZ2VzIC0+IEF1dGhlbnRpY2F0aW9uTWFuYWdlciB7Ci0gICAgdm9pZCBVc2VDcmVkZW50aWFs
Rm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3JlOjpDcmVkZW50aWFsIGNy
ZWRlbnRpYWwsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CisgICAgdm9p
ZCBVc2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBXZWJDb3Jl
OjpDcmVkZW50aWFsIGNyZWRlbnRpYWwpOwogICAgIHZvaWQgQ29udGludWVXaXRob3V0Q3JlZGVu
dGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBDYW5jZWxD
aGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgUGVyZm9ybURlZmF1bHRI
YW5kbGluZyh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1h
bmFnZXIubWFjLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzdhN2Y4MGM0ZTJl
ZmE1NWQ4OTkyNmVmOGQwODZjYzNiNjM4Y2M5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL21h
Yy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQXV0aGVu
dGljYXRpb25NYW5hZ2VyLmgiCi0KLSNpZiBIQVZFKFNFQ19JREVOVElUWSkKLQotI2luY2x1ZGUg
PFNlY3VyaXR5L1NlY0lkZW50aXR5Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlv
bkNoYWxsZW5nZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9jZi9UeXBlQ2Fz
dHNDRi5oPgotCi1XVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlUKFNlY0NlcnRpZmljYXRlKTsKLQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1zdGF0aWMg
U2VjQ2VydGlmaWNhdGVSZWYgbGVhZkNlcnRpZmljYXRlKGNvbnN0IENlcnRpZmljYXRlSW5mbyYg
Y2VydGlmaWNhdGVJbmZvKQotewotI2lmIEhBVkUoU0VDX1RSVVNUX1NFUklBTElaQVRJT04pCi0g
ICAgaWYgKGNlcnRpZmljYXRlSW5mby50eXBlKCkgPT0gQ2VydGlmaWNhdGVJbmZvOjpUeXBlOjpU
cnVzdCkKLSAgICAgICAgcmV0dXJuIFNlY1RydXN0R2V0Q2VydGlmaWNhdGVBdEluZGV4KGNlcnRp
ZmljYXRlSW5mby50cnVzdCgpLCAwKTsKLSNlbmRpZgotICAgIEFTU0VSVChjZXJ0aWZpY2F0ZUlu
Zm8udHlwZSgpID09IENlcnRpZmljYXRlSW5mbzo6VHlwZTo6Q2VydGlmaWNhdGVDaGFpbik7Ci0g
ICAgQVNTRVJUKENGQXJyYXlHZXRDb3VudChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFp
bigpKSk7Ci0gICAgcmV0dXJuIGNoZWNrZWRfY2ZfY2FzdDxTZWNDZXJ0aWZpY2F0ZVJlZj4oQ0ZB
cnJheUdldFZhbHVlQXRJbmRleChjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpLCAw
KSk7Ci19Ci0KLXN0YXRpYyBOU0FycmF5ICpjaGFpbihjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNl
cnRpZmljYXRlSW5mbykKLXsKLSNpZiBIQVZFKFNFQ19UUlVTVF9TRVJJQUxJWkFUSU9OKQotICAg
IGlmIChjZXJ0aWZpY2F0ZUluZm8udHlwZSgpID09IENlcnRpZmljYXRlSW5mbzo6VHlwZTo6VHJ1
c3QpIHsKLSAgICAgICAgQ0ZJbmRleCBjb3VudCA9IFNlY1RydXN0R2V0Q2VydGlmaWNhdGVDb3Vu
dChjZXJ0aWZpY2F0ZUluZm8udHJ1c3QoKSk7Ci0gICAgICAgIGlmIChjb3VudCA8IDIpCi0gICAg
ICAgICAgICByZXR1cm4gbmlsOwotCi0gICAgICAgIE5TTXV0YWJsZUFycmF5ICphcnJheSA9IFtO
U011dGFibGVBcnJheSBhcnJheV07Ci0gICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMTsgaSA8IGNv
dW50OyArK2kpCi0gICAgICAgICAgICBbYXJyYXkgYWRkT2JqZWN0OihpZClTZWNUcnVzdEdldENl
cnRpZmljYXRlQXRJbmRleChjZXJ0aWZpY2F0ZUluZm8udHJ1c3QoKSwgaSldOwotICAgICAgICAg
ICAgCi0gICAgICAgIHJldHVybiBhcnJheTsKLSAgICB9Ci0jZW5kaWYKLSAgICBBU1NFUlQoY2Vy
dGlmaWNhdGVJbmZvLnR5cGUoKSA9PSBDZXJ0aWZpY2F0ZUluZm86OlR5cGU6OkNlcnRpZmljYXRl
Q2hhaW4pOwotICAgIENGSW5kZXggY2hhaW5Db3VudCA9IENGQXJyYXlHZXRDb3VudChjZXJ0aWZp
Y2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKLSAgICByZXR1cm4gY2hhaW5Db3VudCA+IDEg
PyBbKE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpIHN1YmFycmF5
V2l0aFJhbmdlOk5TTWFrZVJhbmdlKDEsIGNoYWluQ291bnQgLSAxKV0gOiBuaWw7Ci19Ci0KLS8v
IEZJWE1FOiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYW4gaWRlbnRpdHkgZnJvbSBhIGNlcnRpZmlj
YXRlLCB3aGljaCBzaG91bGQgbm90IGJlIG5lZWRlZC4gV2Ugc2hvdWxkIHBhc3MgYW4gaWRlbnRp
dHkgb3ZlciBJUEMgKGFzIHdlIGRvIG9uIGlPUykuCi1ib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJiBjaGFsbGVuZ2UsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvLCBDaGFsbGVuZ2VDb21wbGV0aW9uSGFuZGxlciYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0g
ICAgaWYgKGNlcnRpZmljYXRlSW5mby5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIC8vIFRoZSBwYXNzZWQtaW4gY2VydGlmaWNhdGUgY2hhaW4gaW5jbHVkZXMgdGhlIGlk
ZW50aXR5IGNlcnRpZmljYXRlIGF0IGluZGV4IDAsIGFuZCBhZGRpdGlvbmFsIGNlcnRpZmljYXRl
cyBzdGFydGluZyBhdCBpbmRleCAxLgotICAgIFNlY0lkZW50aXR5UmVmIGlkZW50aXR5OwotICAg
IE9TU3RhdHVzIHJlc3VsdCA9IFNlY0lkZW50aXR5Q3JlYXRlV2l0aENlcnRpZmljYXRlKE5VTEws
IGxlYWZDZXJ0aWZpY2F0ZShjZXJ0aWZpY2F0ZUluZm8pLCAmaWRlbnRpdHkpOwotICAgIGlmIChy
ZXN1bHQgIT0gZXJyU2VjU3VjY2VzcykgewotICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBj
cmVhdGUgU2VjSWRlbnRpdHlSZWYgd2l0aCBjZXJ0aWZpY2F0ZSAtICVpIiwgcmVzdWx0KTsKLSAg
ICAgICAgaWYgKGNvbXBsZXRpb25IYW5kbGVyKQotICAgICAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoQXV0aGVudGljYXRpb25DaGFsbGVuZ2VEaXNwb3NpdGlvbjo6Q2FuY2VsLCB7IH0pOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBbY2hhbGxlbmdlLnNlbmRlcigpIGNhbmNlbEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlOmNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKCld
OwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICBOU1VSTENyZWRlbnRpYWwgKmNy
ZWRlbnRpYWwgPSBbTlNVUkxDcmVkZW50aWFsIGNyZWRlbnRpYWxXaXRoSWRlbnRpdHk6aWRlbnRp
dHkgY2VydGlmaWNhdGVzOmNoYWluKGNlcnRpZmljYXRlSW5mbykgcGVyc2lzdGVuY2U6TlNVUkxD
cmVkZW50aWFsUGVyc2lzdGVuY2VOb25lXTsKLSAgICBpZiAoY29tcGxldGlvbkhhbmRsZXIpCi0g
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRp
b246OlVzZUNyZWRlbnRpYWwsIENyZWRlbnRpYWwoY3JlZGVudGlhbCkpOwotICAgIGVsc2UKLSAg
ICAgICAgW2NoYWxsZW5nZS5zZW5kZXIoKSB1c2VDcmVkZW50aWFsOmNyZWRlbnRpYWwgZm9yQXV0
aGVudGljYXRpb25DaGFsbGVuZ2U6Y2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoKV07Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0j
ZW5kaWYgLy8gSEFWRShTRUNfSURFTlRJVFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHkuY3BwCmluZGV4IDJiNzVhMGJhMDM2ZjA0ZjBhN2E5ZjMxZmFiMGJmZjAxYWMz
YWM1MWQuLmI5YTEzNzU5NGUzMTlkNjI4ZWM5NTY2NGVkYjZkNGZkYjIxNzkzMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCkBAIC03MCwxMSArNzAsNyBA
QCB2b2lkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNyZWRlbnRpYWwoV2ViQ3Jl
ZGVudGlhbCogY3JlZGVudGlhbCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87Ci0gICAgaWYgKGNyZWRlbnRpYWwt
PmNlcnRpZmljYXRlSW5mbygpKQotICAgICAgICBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFs
LT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZvKCk7Ci0KLSAgICBtX2Nvbm5lY3Rp
b24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZv
ckNoYWxsZW5nZShjaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+Y3JlZGVudGlhbCgpLCBjZXJ0aWZp
Y2F0ZUluZm8pLCAwKTsKKyAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkF1dGhlbnRp
Y2F0aW9uTWFuYWdlcjo6VXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZShjaGFsbGVuZ2VJRCwgY3Jl
ZGVudGlhbC0+Y3JlZGVudGlhbCgpKSwgMCk7CiB9CiAKIHZvaWQgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eTo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXV0aGVudGljYXRpb24vV2ViQ3JlZGVudGlhbC5jcHAKaW5kZXggYTJkMWQxN2NkMWU3OGVl
OTBlZWI5YjAxYjdlODY2Y2MxMzJmMjA4Mi4uYWFiZjcyNGVmNDU3YjZkNWM0M2ZhN2IxMzg5ZmRj
YzRjODQ0ZGIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0aGVudGlj
YXRpb24vV2ViQ3JlZGVudGlhbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0
aGVudGljYXRpb24vV2ViQ3JlZGVudGlhbC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJDcmVkZW50aWFsLmgiCiAKLSNpbmNsdWRlICJXZWJD
ZXJ0aWZpY2F0ZUluZm8uaCIKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYkNyZWRlbnRpYWw6
OldlYkNyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYgY3JlZGVudGlhbCkKQEAg
LTM1LDIwICszMywxNiBAQCBXZWJDcmVkZW50aWFsOjpXZWJDcmVkZW50aWFsKGNvbnN0IFdlYkNv
cmU6OkNyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCiB7CiB9CiAKKyNpZiAhUExBVEZPUk0oTUFDKQog
V2ViQ3JlZGVudGlhbDo6V2ViQ3JlZGVudGlhbChXZWJDZXJ0aWZpY2F0ZUluZm8qIGNlcnRpZmlj
YXRlSW5mbykKLSAgICA6IG1fY2VydGlmaWNhdGVJbmZvKGNlcnRpZmljYXRlSW5mbykKIHsKIH0K
KyNlbmRpZgogCiBXZWJDcmVkZW50aWFsOjp+V2ViQ3JlZGVudGlhbCgpCiB7CiB9CiAKLVdlYkNl
cnRpZmljYXRlSW5mbyogV2ViQ3JlZGVudGlhbDo6Y2VydGlmaWNhdGVJbmZvKCkKLXsKLSAgICBy
ZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm8uZ2V0KCk7Ci19Ci0KIGNvbnN0IFdlYkNvcmU6OkNyZWRl
bnRpYWwmIFdlYkNyZWRlbnRpYWw6OmNyZWRlbnRpYWwoKQogewogICAgIHJldHVybiBtX2NvcmVD
cmVkZW50aWFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0aGVudGlj
YXRpb24vV2ViQ3JlZGVudGlhbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0aGVudGlj
YXRpb24vV2ViQ3JlZGVudGlhbC5oCmluZGV4IGVhYWExZjcwYzZkODVkNTQ2OTc0YjdiOTA2YTQw
NmE2NGQ4ZmUwNTIuLmEzN2RiMmYwZmQwMmNmNGQ2NWJlM2M3ODhmNjYzMzNjNmE3ZWNlMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL1dlYkNyZWRl
bnRpYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9XZWJD
cmVkZW50aWFsLmgKQEAgLTQ3LDggKzQ3LDYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgV2ViQ3JlZGVudGlhbChjZXJ0aWZpY2F0ZUluZm8pKTsKICAgICB9
Ci0gICAgCi0gICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8oKTsKIAogICAg
IGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmIGNyZWRlbnRpYWwoKTsKIApAQCAtNTcsNyArNTUs
NiBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYkNyZWRlbnRpYWwoV2ViQ2VydGlmaWNhdGVJ
bmZvKik7CiAKICAgICBXZWJDb3JlOjpDcmVkZW50aWFsIG1fY29yZUNyZWRlbnRpYWw7Ci0gICAg
UmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gbV9jZXJ0aWZpY2F0ZUluZm87CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dGhlbnRpY2F0aW9uL21hYy9XZWJDcmVkZW50aWFsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0aGVudGljYXRpb24vbWFjL1dlYkNyZWRlbnRpYWxNYWMubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjhkZTNlYzlkYjI3ODc5YzljNWQ3MWQwZDYxMDY4MmQ4ZWM2NDMwMAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL21hYy9XZWJDcmVkZW50
aWFsTWFjLm1tCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViQ3JlZGVudGlhbC5oIgorCisjaWYgUExBVEZPUk0oTUFDKQorCisj
aW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCisjaW5jbHVkZSA8U2VjdXJpdHkvU2VjSWRl
bnRpdHkuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgorI2luY2x1ZGUg
PHd0Zi9jZi9UeXBlQ2FzdHNDRi5oPgorCitXVEZfREVDTEFSRV9DRl9UWVBFX1RSQUlUKFNlY0Nl
cnRpZmljYXRlKTsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdGF0aWMgU2VjQ2VydGlmaWNhdGVSZWYgbGVhZkNlcnRpZmljYXRlKGNvbnN0IENl
cnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQoreworI2lmIEhBVkUoU0VDX1RSVVNUX1NF
UklBTElaQVRJT04pCisgICAgaWYgKGNlcnRpZmljYXRlSW5mby50eXBlKCkgPT0gQ2VydGlmaWNh
dGVJbmZvOjpUeXBlOjpUcnVzdCkKKyAgICAgICAgcmV0dXJuIFNlY1RydXN0R2V0Q2VydGlmaWNh
dGVBdEluZGV4KGNlcnRpZmljYXRlSW5mby50cnVzdCgpLCAwKTsKKyNlbmRpZgorICAgIEFTU0VS
VChjZXJ0aWZpY2F0ZUluZm8udHlwZSgpID09IENlcnRpZmljYXRlSW5mbzo6VHlwZTo6Q2VydGlm
aWNhdGVDaGFpbik7CisgICAgQVNTRVJUKENGQXJyYXlHZXRDb3VudChjZXJ0aWZpY2F0ZUluZm8u
Y2VydGlmaWNhdGVDaGFpbigpKSk7CisgICAgcmV0dXJuIGNoZWNrZWRfY2ZfY2FzdDxTZWNDZXJ0
aWZpY2F0ZVJlZj4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleChjZXJ0aWZpY2F0ZUluZm8uY2VydGlm
aWNhdGVDaGFpbigpLCAwKSk7Cit9CisKK3N0YXRpYyBOU0FycmF5ICpjaGFpbihjb25zdCBDZXJ0
aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyNpZiBIQVZFKFNFQ19UUlVTVF9TRVJJ
QUxJWkFUSU9OKQorICAgIGlmIChjZXJ0aWZpY2F0ZUluZm8udHlwZSgpID09IENlcnRpZmljYXRl
SW5mbzo6VHlwZTo6VHJ1c3QpIHsKKyAgICAgICAgQ0ZJbmRleCBjb3VudCA9IFNlY1RydXN0R2V0
Q2VydGlmaWNhdGVDb3VudChjZXJ0aWZpY2F0ZUluZm8udHJ1c3QoKSk7CisgICAgICAgIGlmIChj
b3VudCA8IDIpCisgICAgICAgICAgICByZXR1cm4gbmlsOworCisgICAgICAgIE5TTXV0YWJsZUFy
cmF5ICphcnJheSA9IFtOU011dGFibGVBcnJheSBhcnJheV07CisgICAgICAgIGZvciAoQ0ZJbmRl
eCBpID0gMTsgaSA8IGNvdW50OyArK2kpCisgICAgICAgICAgICBbYXJyYXkgYWRkT2JqZWN0Oihp
ZClTZWNUcnVzdEdldENlcnRpZmljYXRlQXRJbmRleChjZXJ0aWZpY2F0ZUluZm8udHJ1c3QoKSwg
aSldOworCisgICAgICAgIHJldHVybiBhcnJheTsKKyAgICB9CisjZW5kaWYKKyAgICBBU1NFUlQo
Y2VydGlmaWNhdGVJbmZvLnR5cGUoKSA9PSBDZXJ0aWZpY2F0ZUluZm86OlR5cGU6OkNlcnRpZmlj
YXRlQ2hhaW4pOworICAgIENGSW5kZXggY2hhaW5Db3VudCA9IENGQXJyYXlHZXRDb3VudChjZXJ0
aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICByZXR1cm4gY2hhaW5Db3VudCA+
IDEgPyBbKE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpIHN1YmFy
cmF5V2l0aFJhbmdlOk5TTWFrZVJhbmdlKDEsIGNoYWluQ291bnQgLSAxKV0gOiBuaWw7Cit9CisK
K1dlYkNyZWRlbnRpYWw6OldlYkNyZWRlbnRpYWwoV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZp
Y2F0ZUluZm8pCit7CisgICAgaWYgKCFjZXJ0aWZpY2F0ZUluZm8gfHwgY2VydGlmaWNhdGVJbmZv
LT5jZXJ0aWZpY2F0ZUluZm8oKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8v
IFRoZSBwYXNzZWQtaW4gY2VydGlmaWNhdGUgY2hhaW4gaW5jbHVkZXMgdGhlIGlkZW50aXR5IGNl
cnRpZmljYXRlIGF0IGluZGV4IDAsIGFuZCBhZGRpdGlvbmFsIGNlcnRpZmljYXRlcyBzdGFydGlu
ZyBhdCBpbmRleCAxLgorICAgIFNlY0lkZW50aXR5UmVmIGlkZW50aXR5OworICAgIE9TU3RhdHVz
IHJlc3VsdCA9IFNlY0lkZW50aXR5Q3JlYXRlV2l0aENlcnRpZmljYXRlKE5VTEwsIGxlYWZDZXJ0
aWZpY2F0ZShjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpKSwgJmlkZW50aXR5KTsK
KyAgICBpZiAocmVzdWx0ICE9IGVyclNlY1N1Y2Nlc3MpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJV
bmFibGUgdG8gY3JlYXRlIFNlY0lkZW50aXR5UmVmIHdpdGggY2VydGlmaWNhdGUgLSAlaSIsIHJl
c3VsdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2NvcmVDcmVkZW50aWFsID0g
Q3JlZGVudGlhbChbTlNVUkxDcmVkZW50aWFsIGNyZWRlbnRpYWxXaXRoSWRlbnRpdHk6aWRlbnRp
dHkgY2VydGlmaWNhdGVzOmNoYWluKGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkp
IHBlcnNpc3RlbmNlOk5TVVJMQ3JlZGVudGlhbFBlcnNpc3RlbmNlTm9uZV0pOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDlmZDIyMjdmNDE3
MTQzYTY2M2NiMTk0ZTFhMjM1YTdhMzNkN2VmOTMuLjExNjNhODQ4YzNkMWFkYjQ0MGE4MGVkNzZk
NzE4YTJiZmEzOTUyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTEwNyw3ICsxMTA3LDYgQEAKIAkJNTE4RDJDQUUxMkQ1MTUzQjAw
M0JCOTNCIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOEQyQ0FDMTJENTE1M0IwMDNCQjkzQiAvKiBXZWJC
YWNrRm9yd2FyZExpc3RJdGVtLmggKi87IH07CiAJCTUxOEU4RUY4MTZCMjA5MUMwMEU5MTQyOSAv
KiBBdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE4RThFRjMxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0
aW9uTWFuYWdlci5jcHAgKi87IH07CiAJCTUxOEU4RUY5MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRo
ZW50aWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxOEU4RUY0MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFn
ZXIuaCAqLzsgfTsKLQkJNTE4RThFRkIxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9u
TWFuYWdlci5tYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MThFOEVGNzE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLm1h
Yy5tbSAqLzsgfTsKIAkJNTE5MzNERUYxOTY1RUIzMTAwOEFDM0VBIC8qIE1lbnVVdGlsaXRpZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTMzREVC
MTk2NUVCMjQwMDhBQzNFQSAvKiBNZW51VXRpbGl0aWVzLmggKi87IH07CiAJCTUxOTMzREYwMTk2
NUVCMzEwMDhBQzNFQSAvKiBNZW51VXRpbGl0aWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE5MzNERUMxOTY1RUIyNDAwOEFDM0VBIC8qIE1lbnVV
dGlsaXRpZXMubW0gKi87IH07CiAJCTUxQTRENUE5MTZDQUM0RkYwMDBFNjE1RSAvKiBTdGF0aXN0
aWNzUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUE0RDVBODE2Q0FDNEZGMDAwRTYxNUUgLyogU3RhdGlzdGljc1JlcXVlc3QuY3BwICov
OyB9OwpAQCAtMTIyMCw2ICsxMjE5LDcgQEAKIAkJNTNCQTQ3RDAxREMyRUY1RTAwNERGNEFEIC8q
IE5ldHdvcmtEYXRhVGFza0Jsb2IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTM5RUI1NDYxREMyRUU0MDAwOUQ0OENGIC8qIE5ldHdvcmtEYXRhVGFz
a0Jsb2IuY3BwICovOyB9OwogCQk1M0JBNDdEMTFEQzJFRjVFMDA0REY0QUQgLyogTmV0d29ya0Rh
dGFUYXNrQmxvYi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTM5RUI1NDcxREMyRUU0MDAwOUQ0OENGIC8qIE5ldHdvcmtEYXRhVGFza0Jsb2IuaCAqLzsg
fTsKIAkJNTNERUEzNjYxRERFNDIzMTAwRTgyNjQ4IC8qIGpzb24uaHBwIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNERUEzNjUxRERFNDIyRTAwRTgyNjQ4
IC8qIGpzb24uaHBwICovOyB9OworCQk1NzUwNzVBODIwQUI4REUxMDA2OTNFQTkgLyogV2ViQ3Jl
ZGVudGlhbE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3NTA3NUE3MjBBQjc2MzYwMDY5M0VBOSAvKiBXZWJDcmVkZW50aWFsTWFjLm1tICovOyB9
OwogCQk1NzYwODI4RTIwMjk4OTVFMDAxMTY2NzggLyogV2ViQ3JlZGVudGlhbHNNZXNzZW5nZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2MDgy
OEMyMDI5ODU0MjAwMTE2Njc4IC8qIFdlYkNyZWRlbnRpYWxzTWVzc2VuZ2VyLmNwcCAqLzsgfTsK
IAkJNTc2MDgyOTgyMDJCRDhCQTAwMTE2Njc4IC8qIFdlYkNyZWRlbnRpYWxzTWVzc2VuZ2VyUHJv
eHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2
MDgyOTYyMDJCRDhCQTAwMTE2Njc4IC8qIFdlYkNyZWRlbnRpYWxzTWVzc2VuZ2VyUHJveHkuY3Bw
ICovOyB9OwogCQk1NzYwODI5QzIwMkQyQzNDMDAxMTY2NzggLyogV2ViQ3JlZGVudGlhbHNNZXNz
ZW5nZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTc2MDgyOTAyMDI5OEZCRDAwMTE2Njc4IC8qIFdlYkNyZWRlbnRpYWxz
TWVzc2VuZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTIwNzIsNyArMjA3Miw2IEBA
CiAJCUNEQTI5QTJCMUNCRUI2N0EwMDkwMUNDRiAvKiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RBMjlBMjcxQ0JFQjY3QTAwOTAxQ0NGIC8qIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eU1lc3NhZ2VzLmggKi87IH07CiAJCUNEQzI4MzFEMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxz
Y3JlZW5TdGFja1ZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEQzI4MzFCMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxzY3JlZW5TdGFja1ZpZXcu
aCAqLzsgfTsKIAkJQ0RDMjgzMUUyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNr
Vmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
QzI4MzFDMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxzY3JlZW5TdGFja1ZpZXcubW0gKi87IH07
Ci0JCUNEQzM4MkZFMTcyMTE3OTkwMDhBMkZDMyAvKiBTZWNJdGVtU2hpbUxpYnJhcnkubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFGOEE3ODEzOEI0
NjA5MDBBOTVGNDQgLyogU2VjSXRlbVNoaW1MaWJyYXJ5Lm1tICovOyB9OwogCQlDRENBODVDODEz
MkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0E4NUM2MTMyQUJBNEUw
MEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tICovOyB9OwogCQlDRENB
ODVDOTEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDQTg1QzcxMzJB
QkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJ
Q0UxMUFENTAxQ0JDNDdGODAwNjgxRUU1IC8qIENvZGVTaWduaW5nLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UxMUFENEYxQ0JDNDdGODAwNjgxRUU1
IC8qIENvZGVTaWduaW5nLm1tICovOyB9OwpAQCAtMzUyMiw3ICszNTIxLDYgQEAKIAkJNTE4RThF
RjMxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBdXRoZW50aWNhdGlvbk1hbmFnZXIuY3BwOyBw
YXRoID0gQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE4RThFRjQxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRp
Y2F0aW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBdXRoZW50
aWNhdGlvbk1hbmFnZXIuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFu
YWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MThFOEVGNTE2QjIwOTFDMDBF
OTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgbmFtZSA9IEF1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjsgcGF0aCA9IEF1dGhl
bnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNTE4RThFRjcxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0
aW9uTWFuYWdlci5tYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBBdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTkzM0RFQjE5NjVFQjI0MDA4QUMzRUEgLyogTWVudVV0aWxpdGllcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW51VXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxOTMzREVDMTk2NUVCMjQwMDhBQzNFQSAvKiBNZW51VXRpbGl0aWVz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVudVV0aWxpdGll
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE5NEIzODYxRjE5MkZCOTAwRkE0
NzA4IC8qIENvb2tpZVN0b3JhZ2VVdGlsc0NGLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZVN0b3Jh
Z2VVdGlsc0NGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNjYyLDYgKzM2NjAs
NyBAQAogCQk1MzlFQjU0NzFEQzJFRTQwMDA5RDQ4Q0YgLyogTmV0d29ya0RhdGFUYXNrQmxvYi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrRGF0YVRhc2tCbG9iLmg7
IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUzREVBMzY1MURERTQyMkUwMEU4MjY0OCAvKiBqc29uLmhwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmg7IG5hbWUgPSBqc29uLmhwcDsgcGF0aCA9IE5ldHdv
cmtQcm9jZXNzL2NhcHR1cmUvanNvbi5ocHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUzRjNDQUE1MjA2QzQ0M0UwMDg2NDkwRSAvKiBOZXR3b3JrQWN0aXZpdHlUcmFja2VyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtBY3Rpdml0eVRyYWNr
ZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvTmV0d29ya0FjdGl2aXR5VHJhY2tlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3NTA3NUE3MjBBQjc2MzYwMDY5M0VBOSAv
KiBXZWJDcmVkZW50aWFsTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ3JlZGVudGlh
bE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc1MEYzMkEyMDMyRDRFNTAw
Mzg5MzQ3IC8qIExvY2FsQXV0aGVudGljYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUg
PSBMb2NhbEF1dGhlbnRpY2F0aW9uLmZyYW1ld29yazsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvTG9jYWxBdXRoZW50aWNhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBTREtS
T09UOyB9OwogCQk1NzYwODI4QjIwMjk4NTQyMDAxMTY2NzggLyogV2ViQ3JlZGVudGlhbHNNZXNz
ZW5nZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ3JlZGVudGlhbHNNZXNzZW5nZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc2MDgyOEMyMDI5ODU0MjAwMTE2Njc4IC8qIFdlYkNy
ZWRlbnRpYWxzTWVzc2VuZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNyZWRlbnRpYWxz
TWVzc2VuZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2MDUsNyArNDYw
NCw2IEBACiAJCUNEQzI4MzFCMjAxQkQ3OUQwMEU2RTc0NSAvKiBXS0Z1bGxzY3JlZW5TdGFja1Zp
ZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV0tGdWxsc2NyZWVuU3RhY2tWaWV3Lmg7IHBhdGggPSBpb3Mv
ZnVsbHNjcmVlbi9XS0Z1bGxzY3JlZW5TdGFja1ZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0RDMjgzMUMyMDFCRDc5RDAwRTZFNzQ1IC8qIFdLRnVsbHNjcmVlblN0YWNrVmll
dy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLRnVsbHNjcmVlblN0YWNrVmlldy5tbTsgcGF0
aCA9IGlvcy9mdWxsc2NyZWVuL1dLRnVsbHNjcmVlblN0YWNrVmlldy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0RDMzgyRjcxNzIxMTUwNjAwOEEyRkMzIC8qIENGTmV0d29yay5m
cmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENGTmV0d29yay5mcmFtZXdvcms7IHBhdGggPSAv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gIjxhYnNvbHV0ZT4iOyB9OwotCQlDREMzODMwNjE3MjExNzk5MDA4QTJGQzMgLyogV2ViUHJv
Y2Vzc1NoaW0uZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxl
VHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGgg
PSBXZWJQcm9jZXNzU2hpbS5keWxpYjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJQ0RDOEY0ODgxNzI1RTY3ODAwMTY2RjZFIC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29y
ayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBw
ZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VU
cmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlDRENBODVDNjEzMkFCQTRFMDBFOTYxREYgLyogV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNEQ0E4NUM3MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdL
RnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTY1MzEsNiArNjUyOSw3IEBACiAJCTUxMkY1ODhEMTJBODgzNkYwMDYyOTUzMCAvKiBBdXRo
ZW50aWNhdGlvbiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJNTc1MDc1QTYyMEFCNzVBQjAwNjkzRUE5IC8qIG1hYyAqLywKIAkJCQk1MTJGNTg4RTEyQTg4
Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAgKi8sCiAJCQkJ
NTEyRjU4OEYxMkE4ODM4ODAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHku
aCAqLywKIAkJCQk1MTJGNTg5MDEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25EZWNp
c2lvbkxpc3RlbmVyLmNwcCAqLywKQEAgLTY2MzEsNyArNjYzMCw2IEBACiAJCTUxOEU4RUYxMTZC
MjA4RjAwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTE4RThFRjYxNkIyMDkxQzAwRTkxNDI5IC8qIG1hYyAq
LywKIAkJCQk1MThFOEVGMzE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2Vy
LmNwcCAqLywKIAkJCQk1MThFOEVGNDE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25N
YW5hZ2VyLmggKi8sCiAJCQkJNTE4RThFRjUxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0
aW9uTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKQEAgLTY2MzksMTUgKzY2MzcsNiBAQAogCQkJbmFt
ZSA9IEF1dGhlbnRpY2F0aW9uOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJ
NTE4RThFRjYxNkIyMDkxQzAwRTkxNDI5IC8qIG1hYyAqLyA9IHsKLQkJCWlzYSA9IFBCWEdyb3Vw
OwotCQkJY2hpbGRyZW4gPSAoCi0JCQkJNTE4RThFRjcxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhl
bnRpY2F0aW9uTWFuYWdlci5tYWMubW0gKi8sCi0JCQkpOwotCQkJbmFtZSA9IG1hYzsKLQkJCXBh
dGggPSBBdXRoZW50aWNhdGlvbi9tYWM7Ci0JCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwotCQl9
OwogCQk1MUIxNUE3RDEzODQzOUIyMDAzMjFBRDggLyogdW5peCAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02NzY3LDYgKzY3NTYsMTQgQEAKIAkJCW5hbWUg
PSBjYXB0dXJlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNTc1MDc1QTYy
MEFCNzVBQjAwNjkzRUE5IC8qIG1hYyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJNTc1MDc1QTcyMEFCNzYzNjAwNjkzRUE5IC8qIFdlYkNyZWRlbnRpYWxN
YWMubW0gKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CiAJCTU3NTBGMzI5MjAzMkQ0RTMwMDM4OTM0NyAvKiBGcmFtZXdvcmtzICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTEwNTE1LDcgKzEwNTEy
LDYgQEAKIAkJCQk1MTJGNTg5NjEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTJGNTg5ODEyQTg4Mzg4MDA2Mjk1
MzAgLyogQXV0aGVudGljYXRpb25EZWNpc2lvbkxpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxOEU4RUY4MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJNTE4RThFRkIxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTJGNThBMjEyQTg4M0FE
MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTk5NTVBNkY0MUM3OTg2REMwMEVCNkE5MyAvKiBBdXRvbWF0aW9uQmFj
a2VuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk5QzgxRDU5MUMyMEUxRTUw
MDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC0xMDk3Nyw2
ICsxMDk3Myw3IEBACiAJCQkJMUFCMUY3OTAxRDFCMzRBNjAwN0M5QkQxIC8qIFdlYkNvcmVBcmd1
bWVudENvZGVyc0NvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFMjMyNjMxMjJDNkNGMzAw
RDVDMzVBIC8qIFdlYkNvcmVBcmd1bWVudENvZGVyc01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTUxMkY1ODlBMTJBODgzODgwMDYyOTUzMCAvKiBXZWJDcmVkZW50aWFsLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTU3NTA3NUE4MjBBQjhERTEwMDY5M0VBOSAvKiBXZWJDcmVkZW50aWFsTWFjLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTc2MDgyOEUyMDI5ODk1RTAwMTE2Njc4IC8qIFdlYkNyZWRl
bnRpYWxzTWVzc2VuZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3NjA4MjlDMjAyRDJDM0Mw
MDExNjY3OCAvKiBXZWJDcmVkZW50aWFsc01lc3Nlbmdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1NzYwODI5ODIwMkJEOEJBMDAxMTY2NzggLyogV2ViQ3JlZGVudGlh
bHNNZXNzZW5nZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTExNDUwLDE0ICsxMTQ0Nyw2
IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07Ci0JCUNEQzM4MkZEMTcyMTE3OTkwMDhBMkZDMyAvKiBTb3VyY2VzICovID0gewotCQkJaXNh
ID0gUEJYU291cmNlc0J1aWxkUGhhc2U7Ci0JCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3
OwotCQkJZmlsZXMgPSAoCi0JCQkJQ0RDMzgyRkUxNzIxMTc5OTAwOEEyRkMzIC8qIFNlY0l0ZW1T
aGltTGlicmFyeS5tbSBpbiBTb3VyY2VzICovLAotCQkJKTsKLQkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwotCQl9OwogLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNl
IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340450</attachid>
            <date>2018-05-15 17:12:22 -0700</date>
            <delta_ts>2018-05-17 12:26:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185662-20180515171221.patch</filename>
            <type>text/plain</type>
            <size>29108</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDY4ZDhkOTEzZTZhYjc3MThmYTRjNmY5
YjY3Njc1ZTY5YTg2NDY1ZTQuLmMzMmZkZDE2Y2UxNGUwYTI2YTU4YzRiMjU4NDIzYjIzYTI2NTA4
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMDUtMTUgIEppZXdlbiBUYW4gIDxqaWV3ZW5f
dGFuQGFwcGxlLmNvbT4KKworICAgICAgICBDb252ZXJ0IENlcnRpZmljYXRlSW5mbyBpbnRvIENy
ZWRlbnRpYWwgaW4gVUkgUHJvY2VzcyBpbnN0ZWFkIG9mIE5ldHdvcmtpbmcgUHJvY2VzcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NjYyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80MDI3NTU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgbWFyY28gSEFWRV9TRUNfSURFTlRJVFkgc2lu
Y2UgaXQgaXMgbm8gbG9uZ2VyIHVzZWZ1bC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgor
CiAyMDE4LTA1LTE0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAg
ICAgICAgIFtKU0NdIHRpbWVDbGlwKC0wKSBzaG91bGQgcHJvZHVjZSArMApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAx
OWM0MTNjMjY1NWZmMDcyODc1NTA0YjgzNTBiMDlkMWFjN2YwYjJlLi4zMzgyYTQzMzVmM2I1ZTZj
ZGQ0M2M5MGE1ZTljMDY4ODZhODhjMDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4
LTA1LTE1ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ29u
dmVydCBDZXJ0aWZpY2F0ZUluZm8gaW50byBDcmVkZW50aWFsIGluIFVJIFByb2Nlc3MgaW5zdGVh
ZCBvZiBOZXR3b3JraW5nIFByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4NTY2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDAyNzU1NjE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmlnaHQg
bm93IHdlIGNvbnZlcnQgQ2VydGlmaWNhdGVJbmZvIGludG8gQ3JlZGVudGlhbCBpbiB0aGUgdmVy
eSBsYXN0IHN0YWdlIG9mIGNsaWVudCBjZXJ0aWZpY2F0ZSBhdXRoZW50aWNhdGlvbiBwcm9jZXNz
CisgICAgICAgIHdoZW4gaXQgcmVhY2hlcyBOZXR3b3JraW5nIFByb2Nlc3MuIFRoaXMgcGF0Y2gg
bW92ZXMgdGhhdCBjb252ZXJzaW9uIGVhcmxpZXIgaW4gVUkgUHJvY2VzcyBzdWNoIHRoYXQgd2Ug
ZG9uJ3QgaGF2ZSB0bworICAgICAgICBwYXNzIGJvdGggQ3JlZGVudGlhbCBhbmQgQ2VydGlmaWNh
dGVJbmZvIHRvIE5ldHdvcmtpbmcgUHJvY2Vzcy4KKworICAgICAgICBDZXJ0aWZpY2F0ZUluZm8g
aXMgb25seSB1c2VkIGluIG1hY09TIGZvciBDIEFQSSBzcGVjaWZpY2FsbHkuIFdLMiBpbmNsdWRl
cyBtYWNPUy9pT1MgcmVsaWVzIG9uIE5TVVJMQ3JlZGVudGlhbC9XZWJDb3JlOjpDcmVkZW50aWFs
CisgICAgICAgIHNvbGVseS4gV0syIGhhcyBhbHJlYWR5IGV4ZXJjaXNlZCB0aGUgYWJpbGl0eSBv
ZiB1c2luZyBXZWJDb3JlOjpDcmVkZW50aWFsIHRvIGRvIGNsaWVudCBjZXJ0ZmljYXRlIGF1dGhl
bnRpY2F0aW9uLiBUaGlzIHBhdGNoIHRoZXJlZm9yZQorICAgICAgICB0YWtlcyBhZHZhbnRhZ2Ug
b2YgdGhhdC4gSXQgY29udmVydHMgQ2VydGZpY2F0ZUluZm8gb2JqZWN0cyBpbnRvIENyZWRlbnRp
YWwgb2JqZWN0cyByaWdodCBhZnRlciBXZWJDcmVkZW50aWFsIGlzIGluaXRpYWxpemVkLCBhbmQg
dGhlbiBtZXJnZQorICAgICAgICBhbnkgY29kZSBwYXRocyB0aGF0IHV0aWxpemVzIENlcnRmaWNh
dGVJbmZvIGludG8gb25lcyB0aGF0IHVzZXMgV2ViQ29yZTo6Q3JlZGVudGlhbC4KKworICAgICAg
ICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhl
bnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSk6CisgICAgICAgIChX
ZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvclNpbmdsZUNoYWxs
ZW5nZSk6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2Vy
dGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6CisgICAgICAgICogU2hhcmVkL0F1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHk6OnVzZUNy
ZWRlbnRpYWwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9XZWJDcmVkZW50
aWFsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ3JlZGVudGlhbDo6V2ViQ3JlZGVudGlhbCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkNyZWRlbnRpYWw6OmNlcnRpZmljYXRlSW5mbyk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ3JlZGVudGlhbDo6Y3JlYXRlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQXV0aGVudGljYXRpb24vbWFjL1dlYkNyZWRlbnRpYWxNYWMubW06IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25N
YW5hZ2VyLm1hYy5tbS4KKyAgICAgICAgKFdlYktpdDo6bGVhZkNlcnRpZmljYXRlKToKKyAgICAg
ICAgKFdlYktpdDo6Y2hhaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJDcmVkZW50aWFsOjpXZWJD
cmVkZW50aWFsKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KwogMjAxOC0wNS0xNSAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVcGRhdGUgdG91Y2ggZXZlbnQgdHJhY2tpbmcgdHlwZSBvbiBldmVyeSB0b3VjaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKaW5kZXggMDU4MGU0N2VjNDkyNWM3MDZiMWM1MjY2MzA5NDY2NmViNTQxMGZkMS4uMGZh
MzBiZWJkODMyMDJmYWNhMDFhZDk0ZThlMjMwZWFkMWY4ZGM0NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC01
NzIsNyArNTcyLDYgQEAKIAogI2RlZmluZSBVU0VfQVBQS0lUIDEKICNkZWZpbmUgSEFWRV9SVU5M
T09QX1RJTUVSIDEKLSNkZWZpbmUgSEFWRV9TRUNfSURFTlRJVFkgMQogI2RlZmluZSBIQVZFX1NF
Q19LRVlDSEFJTiAxCiAKICNpZiBDUFUoWDg2XzY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAK
aW5kZXggM2M0Y2M1ZWQwZjE0MjQ2N2FhYmMzMDI0MTk2OTgwYjEzYTg1OTk3Ny4uYjI4ODFiMjll
NTJiY2VhY2EyMTA4OTMxM2UwZWE0NGI3ZGU3ODcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIu
Y3BwCkBAIC0xMzUsMzEgKzEzNSwyMCBAQCB2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6ZGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKElQQzo6TWVzc2FnZVNlbmRlcgogICAgIGRv
d25sb2FkLnNlbmQoTWVzc2FnZXM6OkRvd25sb2FkUHJveHk6OkRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwgY2hhbGxlbmdlSUQpKTsKIH0K
IAotLy8gQ3VycmVudGx5LCBvbmx5IE1hYyBrbm93cyBob3cgdG8gcmVzcG9uZCB0byBhdXRoZW50
aWNhdGlvbiBjaGFsbGVuZ2VzIHdpdGggY2VydGlmaWNhdGUgaW5mby4KLSNpZiAhSEFWRShTRUNf
SURFTlRJVFkpCi1ib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJ
bmZvRm9yQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwg
Y29uc3QgQ2VydGlmaWNhdGVJbmZvJiwgQ2hhbGxlbmdlQ29tcGxldGlvbkhhbmRsZXImKQotewot
ICAgIHJldHVybiBmYWxzZTsKLX0KLSNlbmRpZgotCi12b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdl
cjo6dXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3Qg
Q3JlZGVudGlhbCYgY3JlZGVudGlhbCwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0
ZUluZm8pCit2b2lkIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dXNlQ3JlZGVudGlhbEZvckNoYWxs
ZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCkK
IHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgZm9yIChhdXRvJiBjb2Fs
ZXNjZWRDaGFsbGVuZ2VJRCA6IGNvYWxlc2NlQ2hhbGxlbmdlc01hdGNoaW5nKGNoYWxsZW5nZUlE
KSkKLSAgICAgICAgdXNlQ3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZShjb2FsZXNjZWRDaGFs
bGVuZ2VJRCwgY3JlZGVudGlhbCwgY2VydGlmaWNhdGVJbmZvKTsKKyAgICAgICAgdXNlQ3JlZGVu
dGlhbEZvclNpbmdsZUNoYWxsZW5nZShjb2FsZXNjZWRDaGFsbGVuZ2VJRCwgY3JlZGVudGlhbCk7
CiB9CiAKLXZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWFsRm9yU2luZ2xl
Q2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50
aWFsLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3ZvaWQgQXV0aGVu
dGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWFsRm9yU2luZ2xlQ2hhbGxlbmdlKHVpbnQ2NF90
IGNoYWxsZW5nZUlELCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQogewogICAgIGF1dG8g
Y2hhbGxlbmdlID0gbV9jaGFsbGVuZ2VzLnRha2UoY2hhbGxlbmdlSUQpOwogICAgIEFTU0VSVCgh
Y2hhbGxlbmdlLmNoYWxsZW5nZS5pc051bGwoKSk7CiAKICAgICBhdXRvIGNvbXBsZXRpb25IYW5k
bGVyID0gV1RGTW92ZShjaGFsbGVuZ2UuY29tcGxldGlvbkhhbmRsZXIpOwotICAgIAotICAgIGlm
ICh0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY2hhbGxlbmdlLmNoYWxsZW5nZSwg
Y2VydGlmaWNhdGVJbmZvLCBjb21wbGV0aW9uSGFuZGxlcikpCi0gICAgICAgIHJldHVybjsKIAog
ICAgIGlmIChjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VEaXNwb3NpdGlvbjo6VXNlQ3JlZGVudGlhbCwgY3JlZGVudGlh
bCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRo
ZW50aWNhdGlvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCmluZGV4IDZjMzBjMDRmZGQwYWQzOTkxN2EwNjVjNDA1
NjQyNjM2OWZlMGY4NzcuLjJjNjY5YmFmZTE5MTY4MzczYjk1YzI2YmY3NmIxYWI0N2FiN2Q4YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9u
L0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCkBAIC00MCw3ICs0MCw2IEBAIGNsYXNzIE1lc3NhZ2VT
ZW5kZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlOwotY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwogY2xhc3MgQ3JlZGVudGlhbDsKIH0KIApAQCAt
NzIsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFn
YWluc3RQcm90ZWN0aW9uU3BhY2UoRG93bmxvYWRJRCwgYm9vbCBjYW5BdXRoZW50aWNhdGUpOwog
I2VuZGlmCiAKLSAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKKyAgICB2b2lkIHVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0
X3QgY2hhbGxlbmdlSUQsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmKTsKICAgICB2b2lkIGNv
bnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQp
OwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2
b2lkIHBlcmZvcm1EZWZhdWx0SGFuZGxpbmcodWludDY0X3QgY2hhbGxlbmdlSUQpOwpAQCAtOTYs
MTIgKzk1LDEwIEBAIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92
ZXJyaWRlOwogCi0gICAgYm9vbCB0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29u
c3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mLCBDaGFsbGVuZ2VDb21wbGV0aW9uSGFuZGxlciYpOwotCiAgICAgdWludDY0
X3QgYWRkQ2hhbGxlbmdlVG9DaGFsbGVuZ2VNYXAoQ2hhbGxlbmdlJiYpOwogICAgIGJvb2wgc2hv
dWxkQ29hbGVzY2VDaGFsbGVuZ2UodWludDY0X3QgcGFnZUlELCB1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSBjb25zdDsKIAotICAg
IHZvaWQgdXNlQ3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRl
SW5mbyYpOworICAgIHZvaWQgdXNlQ3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSh1aW50NjRf
dCBjaGFsbGVuZ2VJRCwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOwogICAgIHZvaWQgY29u
dGludWVXaXRob3V0Q3JlZGVudGlhbEZvclNpbmdsZUNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVu
Z2VJRCk7CiAgICAgdm9pZCBjYW5jZWxTaW5nbGVDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdl
SUQpOwogICAgIHZvaWQgcGVyZm9ybURlZmF1bHRIYW5kbGluZ0ZvclNpbmdsZUNoYWxsZW5nZSh1
aW50NjRfdCBjaGFsbGVuZ2VJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2Fn
ZXMuaW4KaW5kZXggZGE3OWNlY2Y1ZTMxYzJjNzQ0YWRjMzY4ZTE2MDc1Nzc0NTExMTgxYi4uYTdm
NDVlYzVmZGQ2ZTlhM2M4MzE4ZTM0M2U3Y2MyMGVmZTNhMzkyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogCiBtZXNzYWdlcyAtPiBBdXRoZW50aWNhdGlvbk1hbmFnZXIgewotICAgIHZvaWQgVXNlQ3Jl
ZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwgV2ViQ29yZTo6Q3JlZGVu
dGlhbCBjcmVkZW50aWFsLCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUpOwor
ICAgIHZvaWQgVXNlQ3JlZGVudGlhbEZvckNoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCwg
V2ViQ29yZTo6Q3JlZGVudGlhbCBjcmVkZW50aWFsKTsKICAgICB2b2lkIENvbnRpbnVlV2l0aG91
dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQg
Q2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKICAgICB2b2lkIFBlcmZvcm1E
ZWZhdWx0SGFuZGxpbmcodWludDY0X3QgY2hhbGxlbmdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5t
YWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGlj
YXRpb25NYW5hZ2VyLm1hYy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzc3YTdm
ODBjNGUyZWZhNTVkODk5MjZlZjhkMDg2Y2MzYjYzOGNjOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXRoZW50aWNh
dGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbQorKysgL2Rldi9udWxsCkBAIC0x
LDEwMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgotCi0jaWYgSEFWRShTRUNfSURFTlRJVFkpCi0KLSNp
bmNsdWRlIDxTZWN1cml0eS9TZWNJZGVudGl0eS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvY2Yv
VHlwZUNhc3RzQ0YuaD4KLQotV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9UUkFJVChTZWNDZXJ0aWZpY2F0
ZSk7Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQot
c3RhdGljIFNlY0NlcnRpZmljYXRlUmVmIGxlYWZDZXJ0aWZpY2F0ZShjb25zdCBDZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSNpZiBIQVZFKFNFQ19UUlVTVF9TRVJJQUxJWkFU
SU9OKQotICAgIGlmIChjZXJ0aWZpY2F0ZUluZm8udHlwZSgpID09IENlcnRpZmljYXRlSW5mbzo6
VHlwZTo6VHJ1c3QpCi0gICAgICAgIHJldHVybiBTZWNUcnVzdEdldENlcnRpZmljYXRlQXRJbmRl
eChjZXJ0aWZpY2F0ZUluZm8udHJ1c3QoKSwgMCk7Ci0jZW5kaWYKLSAgICBBU1NFUlQoY2VydGlm
aWNhdGVJbmZvLnR5cGUoKSA9PSBDZXJ0aWZpY2F0ZUluZm86OlR5cGU6OkNlcnRpZmljYXRlQ2hh
aW4pOwotICAgIEFTU0VSVChDRkFycmF5R2V0Q291bnQoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmlj
YXRlQ2hhaW4oKSkpOwotICAgIHJldHVybiBjaGVja2VkX2NmX2Nhc3Q8U2VjQ2VydGlmaWNhdGVS
ZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hh
aW4oKSwgMCkpOwotfQotCi1zdGF0aWMgTlNBcnJheSAqY2hhaW4oY29uc3QgQ2VydGlmaWNhdGVJ
bmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17Ci0jaWYgSEFWRShTRUNfVFJVU1RfU0VSSUFMSVpBVElP
TikKLSAgICBpZiAoY2VydGlmaWNhdGVJbmZvLnR5cGUoKSA9PSBDZXJ0aWZpY2F0ZUluZm86OlR5
cGU6OlRydXN0KSB7Ci0gICAgICAgIENGSW5kZXggY291bnQgPSBTZWNUcnVzdEdldENlcnRpZmlj
YXRlQ291bnQoY2VydGlmaWNhdGVJbmZvLnRydXN0KCkpOwotICAgICAgICBpZiAoY291bnQgPCAy
KQotICAgICAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgICAgICBOU011dGFibGVBcnJheSAqYXJy
YXkgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOwotICAgICAgICBmb3IgKENGSW5kZXggaSA9IDE7
IGkgPCBjb3VudDsgKytpKQotICAgICAgICAgICAgW2FycmF5IGFkZE9iamVjdDooaWQpU2VjVHJ1
c3RHZXRDZXJ0aWZpY2F0ZUF0SW5kZXgoY2VydGlmaWNhdGVJbmZvLnRydXN0KCksIGkpXTsKLSAg
ICAgICAgICAgIAotICAgICAgICByZXR1cm4gYXJyYXk7Ci0gICAgfQotI2VuZGlmCi0gICAgQVNT
RVJUKGNlcnRpZmljYXRlSW5mby50eXBlKCkgPT0gQ2VydGlmaWNhdGVJbmZvOjpUeXBlOjpDZXJ0
aWZpY2F0ZUNoYWluKTsKLSAgICBDRkluZGV4IGNoYWluQ291bnQgPSBDRkFycmF5R2V0Q291bnQo
Y2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7Ci0gICAgcmV0dXJuIGNoYWluQ291
bnQgPiAxID8gWyhOU0FycmF5ICopY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSBz
dWJhcnJheVdpdGhSYW5nZTpOU01ha2VSYW5nZSgxLCBjaGFpbkNvdW50IC0gMSldIDogbmlsOwot
fQotCi0vLyBGSVhNRTogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGFuIGlkZW50aXR5IGZyb20gYSBj
ZXJ0aWZpY2F0ZSwgd2hpY2ggc2hvdWxkIG5vdCBiZSBuZWVkZWQuIFdlIHNob3VsZCBwYXNzIGFu
IGlkZW50aXR5IG92ZXIgSVBDIChhcyB3ZSBkbyBvbiBpT1MpLgotYm9vbCBBdXRoZW50aWNhdGlv
bk1hbmFnZXI6OnRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRp
ZmljYXRlSW5mbywgQ2hhbGxlbmdlQ29tcGxldGlvbkhhbmRsZXImIGNvbXBsZXRpb25IYW5kbGVy
KQotewotICAgIGlmIChjZXJ0aWZpY2F0ZUluZm8uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICAvLyBUaGUgcGFzc2VkLWluIGNlcnRpZmljYXRlIGNoYWluIGluY2x1ZGVz
IHRoZSBpZGVudGl0eSBjZXJ0aWZpY2F0ZSBhdCBpbmRleCAwLCBhbmQgYWRkaXRpb25hbCBjZXJ0
aWZpY2F0ZXMgc3RhcnRpbmcgYXQgaW5kZXggMS4KLSAgICBTZWNJZGVudGl0eVJlZiBpZGVudGl0
eTsKLSAgICBPU1N0YXR1cyByZXN1bHQgPSBTZWNJZGVudGl0eUNyZWF0ZVdpdGhDZXJ0aWZpY2F0
ZShOVUxMLCBsZWFmQ2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvKSwgJmlkZW50aXR5KTsKLSAg
ICBpZiAocmVzdWx0ICE9IGVyclNlY1N1Y2Nlc3MpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJVbmFi
bGUgdG8gY3JlYXRlIFNlY0lkZW50aXR5UmVmIHdpdGggY2VydGlmaWNhdGUgLSAlaSIsIHJlc3Vs
dCk7Ci0gICAgICAgIGlmIChjb21wbGV0aW9uSGFuZGxlcikKLSAgICAgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRGlzcG9zaXRpb246OkNhbmNlbCwgeyB9
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgW2NoYWxsZW5nZS5zZW5kZXIoKSBjYW5jZWxB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZTpjaGFsbGVuZ2UubnNVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSgpXTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgTlNVUkxDcmVkZW50
aWFsICpjcmVkZW50aWFsID0gW05TVVJMQ3JlZGVudGlhbCBjcmVkZW50aWFsV2l0aElkZW50aXR5
OmlkZW50aXR5IGNlcnRpZmljYXRlczpjaGFpbihjZXJ0aWZpY2F0ZUluZm8pIHBlcnNpc3RlbmNl
Ok5TVVJMQ3JlZGVudGlhbFBlcnNpc3RlbmNlTm9uZV07Ci0gICAgaWYgKGNvbXBsZXRpb25IYW5k
bGVyKQotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihBdXRoZW50aWNhdGlvbkNoYWxsZW5nZURp
c3Bvc2l0aW9uOjpVc2VDcmVkZW50aWFsLCBDcmVkZW50aWFsKGNyZWRlbnRpYWwpKTsKLSAgICBl
bHNlCi0gICAgICAgIFtjaGFsbGVuZ2Uuc2VuZGVyKCkgdXNlQ3JlZGVudGlhbDpjcmVkZW50aWFs
IGZvckF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmNoYWxsZW5nZS5uc1VSTEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKCldOwotICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKLQotI2VuZGlmIC8vIEhBVkUoU0VDX0lERU5USVRZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVByb3h5LmNwcAppbmRleCAyYjc1YTBiYTAzNmYwNGYwYTdhOWYzMWZhYjBi
ZmYwMWFjM2FjNTFkLi5iOWExMzc1OTRlMzE5ZDYyOGVjOTU2NjRlZGI2ZDRmZGIyMTc5MzJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcApAQCAtNzAsMTEg
KzcwLDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVkZW50aWFs
KFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvOwotICAgIGlmIChjcmVk
ZW50aWFsLT5jZXJ0aWZpY2F0ZUluZm8oKSkKLSAgICAgICAgY2VydGlmaWNhdGVJbmZvID0gY3Jl
ZGVudGlhbC0+Y2VydGlmaWNhdGVJbmZvKCktPmNlcnRpZmljYXRlSW5mbygpOwotCi0gICAgbV9j
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6OlVzZUNyZWRl
bnRpYWxGb3JDaGFsbGVuZ2UoY2hhbGxlbmdlSUQsIGNyZWRlbnRpYWwtPmNyZWRlbnRpYWwoKSwg
Y2VydGlmaWNhdGVJbmZvKSwgMCk7CisgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpB
dXRoZW50aWNhdGlvbk1hbmFnZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UoY2hhbGxlbmdl
SUQsIGNyZWRlbnRpYWwtPmNyZWRlbnRpYWwoKSksIDApOwogfQogCiB2b2lkIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlUHJveHk6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9XZWJDcmVkZW50aWFsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuY3BwCmluZGV4IGEyZDFkMTdj
ZDFlNzhlZTkwZWViOWIwMWI3ZTg2NmNjMTMyZjIwODIuLmFhYmY3MjRlZjQ1N2I2ZDVjNDNmYTdi
MTM4OWZkY2M0Yzg0NGRiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0F1dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViQ3JlZGVudGlhbC5oIgogCi0jaW5jbHVk
ZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJDcmVk
ZW50aWFsOjpXZWJDcmVkZW50aWFsKGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmIGNyZWRlbnRp
YWwpCkBAIC0zNSwyMCArMzMsMTYgQEAgV2ViQ3JlZGVudGlhbDo6V2ViQ3JlZGVudGlhbChjb25z
dCBXZWJDb3JlOjpDcmVkZW50aWFsJiBjcmVkZW50aWFsKQogewogfQogCisjaWYgIVBMQVRGT1JN
KE1BQykKIFdlYkNyZWRlbnRpYWw6OldlYkNyZWRlbnRpYWwoV2ViQ2VydGlmaWNhdGVJbmZvKiBj
ZXJ0aWZpY2F0ZUluZm8pCi0gICAgOiBtX2NlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8p
CiB7CiB9CisjZW5kaWYKIAogV2ViQ3JlZGVudGlhbDo6fldlYkNyZWRlbnRpYWwoKQogewogfQog
Ci1XZWJDZXJ0aWZpY2F0ZUluZm8qIFdlYkNyZWRlbnRpYWw6OmNlcnRpZmljYXRlSW5mbygpCi17
Ci0gICAgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvLmdldCgpOwotfQotCiBjb25zdCBXZWJDb3Jl
OjpDcmVkZW50aWFsJiBXZWJDcmVkZW50aWFsOjpjcmVkZW50aWFsKCkKIHsKICAgICByZXR1cm4g
bV9jb3JlQ3JlZGVudGlhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dGhlbnRpY2F0aW9uL1dlYkNyZWRlbnRpYWwuaAppbmRleCBlYWFhMWY3MGM2ZDg1ZDU0Njk3NGI3
YjkwNmE0MDZhNjRkOGZlMDUyLi5hMzdkYjJmMGZkMDJjZjRkNjViZTNjNzg4ZjY2MzMzYzZhN2Vj
ZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9X
ZWJDcmVkZW50aWFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0aGVudGljYXRp
b24vV2ViQ3JlZGVudGlhbC5oCkBAIC00Nyw4ICs0Nyw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkNyZWRlbnRpYWwoY2VydGlmaWNhdGVJbmZvKSk7
CiAgICAgfQotICAgIAotICAgIFdlYkNlcnRpZmljYXRlSW5mbyogY2VydGlmaWNhdGVJbmZvKCk7
CiAKICAgICBjb25zdCBXZWJDb3JlOjpDcmVkZW50aWFsJiBjcmVkZW50aWFsKCk7CiAKQEAgLTU3
LDcgKzU1LDYgQEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJDcmVkZW50aWFsKFdlYkNlcnRp
ZmljYXRlSW5mbyopOwogCiAgICAgV2ViQ29yZTo6Q3JlZGVudGlhbCBtX2NvcmVDcmVkZW50aWFs
OwotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUluZm8+IG1fY2VydGlmaWNhdGVJbmZvOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BdXRoZW50aWNhdGlvbi9tYWMvV2ViQ3JlZGVudGlhbE1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL21hYy9XZWJDcmVkZW50aWFsTWFjLm1tCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY4ZGUzZWM5ZGIyNzg3OWM5YzVkNzFkMGQ2MTA2ODJkOGVjNjQzMDAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9tYWMvV2Vi
Q3JlZGVudGlhbE1hYy5tbQpAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNyZWRlbnRpYWwuaCIKKworI2lmIFBMQVRGT1JNKE1B
QykKKworI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgorI2luY2x1ZGUgPFNlY3VyaXR5
L1NlY0lkZW50aXR5Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KKyNp
bmNsdWRlIDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KKworV1RGX0RFQ0xBUkVfQ0ZfVFlQRV9UUkFJ
VChTZWNDZXJ0aWZpY2F0ZSk7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworc3RhdGljIFNlY0NlcnRpZmljYXRlUmVmIGxlYWZDZXJ0aWZpY2F0ZShj
b25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyNpZiBIQVZFKFNFQ19U
UlVTVF9TRVJJQUxJWkFUSU9OKQorICAgIGlmIChjZXJ0aWZpY2F0ZUluZm8udHlwZSgpID09IENl
cnRpZmljYXRlSW5mbzo6VHlwZTo6VHJ1c3QpCisgICAgICAgIHJldHVybiBTZWNUcnVzdEdldENl
cnRpZmljYXRlQXRJbmRleChjZXJ0aWZpY2F0ZUluZm8udHJ1c3QoKSwgMCk7CisjZW5kaWYKKyAg
ICBBU1NFUlQoY2VydGlmaWNhdGVJbmZvLnR5cGUoKSA9PSBDZXJ0aWZpY2F0ZUluZm86OlR5cGU6
OkNlcnRpZmljYXRlQ2hhaW4pOworICAgIEFTU0VSVChDRkFycmF5R2V0Q291bnQoY2VydGlmaWNh
dGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSkpOworICAgIHJldHVybiBjaGVja2VkX2NmX2Nhc3Q8
U2VjQ2VydGlmaWNhdGVSZWY+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoY2VydGlmaWNhdGVJbmZv
LmNlcnRpZmljYXRlQ2hhaW4oKSwgMCkpOworfQorCitzdGF0aWMgTlNBcnJheSAqY2hhaW4oY29u
c3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCit7CisjaWYgSEFWRShTRUNfVFJV
U1RfU0VSSUFMSVpBVElPTikKKyAgICBpZiAoY2VydGlmaWNhdGVJbmZvLnR5cGUoKSA9PSBDZXJ0
aWZpY2F0ZUluZm86OlR5cGU6OlRydXN0KSB7CisgICAgICAgIENGSW5kZXggY291bnQgPSBTZWNU
cnVzdEdldENlcnRpZmljYXRlQ291bnQoY2VydGlmaWNhdGVJbmZvLnRydXN0KCkpOworICAgICAg
ICBpZiAoY291bnQgPCAyKQorICAgICAgICAgICAgcmV0dXJuIG5pbDsKKworICAgICAgICBOU011
dGFibGVBcnJheSAqYXJyYXkgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOworICAgICAgICBmb3Ig
KENGSW5kZXggaSA9IDE7IGkgPCBjb3VudDsgKytpKQorICAgICAgICAgICAgW2FycmF5IGFkZE9i
amVjdDooaWQpU2VjVHJ1c3RHZXRDZXJ0aWZpY2F0ZUF0SW5kZXgoY2VydGlmaWNhdGVJbmZvLnRy
dXN0KCksIGkpXTsKKworICAgICAgICByZXR1cm4gYXJyYXk7CisgICAgfQorI2VuZGlmCisgICAg
QVNTRVJUKGNlcnRpZmljYXRlSW5mby50eXBlKCkgPT0gQ2VydGlmaWNhdGVJbmZvOjpUeXBlOjpD
ZXJ0aWZpY2F0ZUNoYWluKTsKKyAgICBDRkluZGV4IGNoYWluQ291bnQgPSBDRkFycmF5R2V0Q291
bnQoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7CisgICAgcmV0dXJuIGNoYWlu
Q291bnQgPiAxID8gWyhOU0FycmF5ICopY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4o
KSBzdWJhcnJheVdpdGhSYW5nZTpOU01ha2VSYW5nZSgxLCBjaGFpbkNvdW50IC0gMSldIDogbmls
OworfQorCitXZWJDcmVkZW50aWFsOjpXZWJDcmVkZW50aWFsKFdlYkNlcnRpZmljYXRlSW5mbyog
Y2VydGlmaWNhdGVJbmZvKQoreworICAgIGlmICghY2VydGlmaWNhdGVJbmZvIHx8IGNlcnRpZmlj
YXRlSW5mby0+Y2VydGlmaWNhdGVJbmZvKCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICAvLyBUaGUgcGFzc2VkLWluIGNlcnRpZmljYXRlIGNoYWluIGluY2x1ZGVzIHRoZSBpZGVu
dGl0eSBjZXJ0aWZpY2F0ZSBhdCBpbmRleCAwLCBhbmQgYWRkaXRpb25hbCBjZXJ0aWZpY2F0ZXMg
c3RhcnRpbmcgYXQgaW5kZXggMS4KKyAgICBTZWNJZGVudGl0eVJlZiBpZGVudGl0eTsKKyAgICBP
U1N0YXR1cyByZXN1bHQgPSBTZWNJZGVudGl0eUNyZWF0ZVdpdGhDZXJ0aWZpY2F0ZShOVUxMLCBs
ZWFmQ2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLT5jZXJ0aWZpY2F0ZUluZm8oKSksICZpZGVu
dGl0eSk7CisgICAgaWYgKHJlc3VsdCAhPSBlcnJTZWNTdWNjZXNzKSB7CisgICAgICAgIExPR19F
UlJPUigiVW5hYmxlIHRvIGNyZWF0ZSBTZWNJZGVudGl0eVJlZiB3aXRoIGNlcnRpZmljYXRlIC0g
JWkiLCByZXN1bHQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9jb3JlQ3JlZGVu
dGlhbCA9IENyZWRlbnRpYWwoW05TVVJMQ3JlZGVudGlhbCBjcmVkZW50aWFsV2l0aElkZW50aXR5
OmlkZW50aXR5IGNlcnRpZmljYXRlczpjaGFpbihjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRl
SW5mbygpKSBwZXJzaXN0ZW5jZTpOU1VSTENyZWRlbnRpYWxQZXJzaXN0ZW5jZU5vbmVdKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzNzU1
MGJlMGUwYzFkN2RkYmQwNTkyYTlkYjgwY2Q0ZWQwMzc5YWNjLi5mMTc1NjIyZmI1ZTQ5NWZlODk4
MGE3NDYyYjgzNjEzYWYzYTM1OWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDYsNyArMTEwNiw2IEBACiAJCTUxOEQyQ0FFMTJE
NTE1M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MThEMkNBQzEyRDUxNTNCMDAzQkI5M0Ig
LyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oICovOyB9OwogCQk1MThFOEVGODE2QjIwOTFDMDBF
OTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOEU4RUYzMTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRo
ZW50aWNhdGlvbk1hbmFnZXIuY3BwICovOyB9OwogCQk1MThFOEVGOTE2QjIwOTFDMDBFOTE0Mjkg
LyogQXV0aGVudGljYXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MThFOEVGNDE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRp
b25NYW5hZ2VyLmggKi87IH07Ci0JCTUxOEU4RUZCMTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50
aWNhdGlvbk1hbmFnZXIubWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE4RThFRjcxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFu
YWdlci5tYWMubW0gKi87IH07CiAJCTUxOTMzREVGMTk2NUVCMzEwMDhBQzNFQSAvKiBNZW51VXRp
bGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTkzM0RFQjE5NjVFQjI0MDA4QUMzRUEgLyogTWVudVV0aWxpdGllcy5oICovOyB9OwogCQk1MTkz
M0RGMDE5NjVFQjMxMDA4QUMzRUEgLyogTWVudVV0aWxpdGllcy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxOTMzREVDMTk2NUVCMjQwMDhBQzNFQSAv
KiBNZW51VXRpbGl0aWVzLm1tICovOyB9OwogCQk1MUE0RDVBOTE2Q0FDNEZGMDAwRTYxNUUgLyog
U3RhdGlzdGljc1JlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTFBNEQ1QTgxNkNBQzRGRjAwMEU2MTVFIC8qIFN0YXRpc3RpY3NSZXF1ZXN0
LmNwcCAqLzsgfTsKQEAgLTEyMTksNiArMTIxOCw3IEBACiAJCTUzQkE0N0QwMURDMkVGNUUwMDRE
RjRBRCAvKiBOZXR3b3JrRGF0YVRhc2tCbG9iLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzOUVCNTQ2MURDMkVFNDAwMDlENDhDRiAvKiBOZXR3b3Jr
RGF0YVRhc2tCbG9iLmNwcCAqLzsgfTsKIAkJNTNCQTQ3RDExREMyRUY1RTAwNERGNEFEIC8qIE5l
dHdvcmtEYXRhVGFza0Jsb2IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUzOUVCNTQ3MURDMkVFNDAwMDlENDhDRiAvKiBOZXR3b3JrRGF0YVRhc2tCbG9i
LmggKi87IH07CiAJCTUzREVBMzY2MURERTQyMzEwMEU4MjY0OCAvKiBqc29uLmhwcCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzREVBMzY1MURERTQyMkUw
MEU4MjY0OCAvKiBqc29uLmhwcCAqLzsgfTsKKwkJNTc1MDc1QTgyMEFCOERFMTAwNjkzRUE5IC8q
IFdlYkNyZWRlbnRpYWxNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1NzUwNzVBNzIwQUI3NjM2MDA2OTNFQTkgLyogV2ViQ3JlZGVudGlhbE1hYy5t
bSAqLzsgfTsKIAkJNTc2MDgyOEUyMDI5ODk1RTAwMTE2Njc4IC8qIFdlYkNyZWRlbnRpYWxzTWVz
c2VuZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3NjA4MjhDMjAyOTg1NDIwMDExNjY3OCAvKiBXZWJDcmVkZW50aWFsc01lc3Nlbmdlci5jcHAg
Ki87IH07CiAJCTU3NjA4Mjk4MjAyQkQ4QkEwMDExNjY3OCAvKiBXZWJDcmVkZW50aWFsc01lc3Nl
bmdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3NjA4Mjk2MjAyQkQ4QkEwMDExNjY3OCAvKiBXZWJDcmVkZW50aWFsc01lc3NlbmdlclBy
b3h5LmNwcCAqLzsgfTsKIAkJNTc2MDgyOUMyMDJEMkMzQzAwMTE2Njc4IC8qIFdlYkNyZWRlbnRp
YWxzTWVzc2VuZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjA4MjkwMjAyOThGQkQwMDExNjY3OCAvKiBXZWJDcmVk
ZW50aWFsc01lc3Nlbmdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zNTE5LDcgKzM1
MTksNiBAQAogCQk1MThFOEVGMzE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5h
Z2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEF1dGhlbnRpY2F0
aW9uTWFuYWdlci5jcHA7IHBhdGggPSBBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFn
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MThFOEVGNDE2QjIwOTFDMDBF
OTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oOyBwYXRoID0gQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUx
OEU4RUY1MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMu
aW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluOyBwYXRoID0gQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MThFOEVGNzE2QjIwOTFDMDBFOTE0
MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxOTMzREVCMTk2NUVCMjQwMDhBQzNFQSAvKiBNZW51VXRp
bGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbnVVdGlsaXRpZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE5MzNERUMxOTY1RUIyNDAwOEFDM0VB
IC8qIE1lbnVVdGlsaXRpZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBNZW51VXRpbGl0aWVzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTk0
QjM4NjFGMTkyRkI5MDBGQTQ3MDggLyogQ29va2llU3RvcmFnZVV0aWxzQ0YuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ29va2llU3RvcmFnZVV0aWxzQ0YuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTM2NTksNiArMzY1OCw3IEBACiAJCTUzOUVCNTQ3MURDMkVFNDAwMDlENDhDRiAvKiBOZXR3
b3JrRGF0YVRhc2tCbG9iLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdv
cmtEYXRhVGFza0Jsb2IuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFza0Js
b2IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTNERUEzNjUxRERFNDIyRTAwRTgy
NjQ4IC8qIGpzb24uaHBwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgbmFtZSA9IGpzb24u
aHBwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvY2FwdHVyZS9qc29uLmhwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTNGM0NBQTUyMDZDNDQzRTAwODY0OTBFIC8qIE5ldHdvcmtBY3Rp
dml0eVRyYWNrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0
d29ya0FjdGl2aXR5VHJhY2tlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQWN0
aXZpdHlUcmFja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTc1MDc1QTcy
MEFCNzYzNjAwNjkzRUE5IC8qIFdlYkNyZWRlbnRpYWxNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJDcmVkZW50aWFsTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
NzUwRjMyQTIwMzJENEU1MDAzODkzNDcgLyogTG9jYWxBdXRoZW50aWNhdGlvbi5mcmFtZXdvcmsg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVy
LmZyYW1ld29yazsgbmFtZSA9IExvY2FsQXV0aGVudGljYXRpb24uZnJhbWV3b3JrOyBwYXRoID0g
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Mb2NhbEF1dGhlbnRpY2F0aW9uLmZyYW1ld29yazsg
c291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCTU3NjA4MjhCMjAyOTg1NDIwMDExNjY3OCAvKiBX
ZWJDcmVkZW50aWFsc01lc3Nlbmdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDcmVkZW50aWFsc01l
c3Nlbmdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzYwODI4QzIwMjk4NTQy
MDAxMTY2NzggLyogV2ViQ3JlZGVudGlhbHNNZXNzZW5nZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViQ3JlZGVudGlhbHNNZXNzZW5nZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNjUyNyw2ICs2NTI3LDcgQEAKIAkJNTEyRjU4OEQxMkE4ODM2RjAwNjI5NTMwIC8qIEF1
dGhlbnRpY2F0aW9uICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQk1NzUwNzVBNjIwQUI3NUFCMDA2OTNFQTkgLyogbWFjICovLAogCQkJCTUxMkY1ODhFMTJB
ODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcCAqLywKIAkJ
CQk1MTJGNTg4RjEyQTg4Mzg4MDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94
eS5oICovLAogCQkJCTUxMkY1ODkwMTJBODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkRl
Y2lzaW9uTGlzdGVuZXIuY3BwICovLApAQCAtNjYyNiw3ICs2NjI3LDYgQEAKIAkJNTE4RThFRjEx
NkIyMDhGMDAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1MThFOEVGNjE2QjIwOTFDMDBFOTE0MjkgLyogbWFj
ICovLAogCQkJCTUxOEU4RUYzMTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFn
ZXIuY3BwICovLAogCQkJCTUxOEU4RUY0MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlv
bk1hbmFnZXIuaCAqLywKIAkJCQk1MThFOEVGNTE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGlj
YXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluICovLApAQCAtNjYzNCwxNSArNjYzNCw2IEBACiAJCQlu
YW1lID0gQXV0aGVudGljYXRpb247CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owot
CQk1MThFOEVGNjE2QjIwOTFDMDBFOTE0MjkgLyogbWFjICovID0gewotCQkJaXNhID0gUEJYR3Jv
dXA7Ci0JCQljaGlsZHJlbiA9ICgKLQkJCQk1MThFOEVGNzE2QjIwOTFDMDBFOTE0MjkgLyogQXV0
aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSAqLywKLQkJCSk7Ci0JCQluYW1lID0gbWFjOwotCQkJ
cGF0aCA9IEF1dGhlbnRpY2F0aW9uL21hYzsKLQkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0J
CX07CiAJCTUxQjE1QTdEMTM4NDM5QjIwMDMyMUFEOCAvKiB1bml4ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY3NjIsNiArNjc1MywxNCBAQAogCQkJbmFt
ZSA9IGNhcHR1cmU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk1NzUwNzVB
NjIwQUI3NUFCMDA2OTNFQTkgLyogbWFjICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQk1NzUwNzVBNzIwQUI3NjM2MDA2OTNFQTkgLyogV2ViQ3JlZGVudGlh
bE1hYy5tbSAqLywKKwkJCSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJNTc1MEYzMjkyMDMyRDRFMzAwMzg5MzQ3IC8qIEZyYW1ld29ya3MgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMTA1MTAsNyArMTA1
MDksNiBAQAogCQkJCTUxMkY1ODk2MTJBODgzODgwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1ODk4MTJBODgzODgwMDYy
OTUzMCAvKiBBdXRoZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTE4RThFRjgxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQk1MThFOEVGQjE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVu
dGljYXRpb25NYW5hZ2VyLm1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1OEEyMTJBODgz
QUQwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTk1NUE2RjQxQzc5ODZEQzAwRUI2QTkzIC8qIEF1dG9tYXRpb25C
YWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTlDODFENTkxQzIwRTFF
NTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQubW0gaW4gU291cmNlcyAqLywKQEAgLTEwOTcx
LDYgKzEwOTY5LDcgQEAKIAkJCQkxQUIxRjc5MDFEMUIzNEE2MDA3QzlCRDEgLyogV2ViQ29yZUFy
Z3VtZW50Q29kZXJzQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0UyMzI2MzEyMkM2Q0Yz
MDBENUMzNUEgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTEyRjU4OUExMkE4ODM4ODAwNjI5NTMwIC8qIFdlYkNyZWRlbnRpYWwuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTc1MDc1QTgyMEFCOERFMTAwNjkzRUE5IC8qIFdlYkNyZWRlbnRpYWxNYWMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk1NzYwODI4RTIwMjk4OTVFMDAxMTY2NzggLyogV2ViQ3Jl
ZGVudGlhbHNNZXNzZW5nZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTc2MDgyOUMyMDJEMkMz
QzAwMTE2Njc4IC8qIFdlYkNyZWRlbnRpYWxzTWVzc2VuZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTU3NjA4Mjk4MjAyQkQ4QkEwMDExNjY3OCAvKiBXZWJDcmVkZW50
aWFsc01lc3NlbmdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>