<?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>135580</bug_id>
          
          <creation_ts>2014-08-04 16:59:22 -0700</creation_ts>
          <short_desc>Expose long mouse press WebKit2 API. Part of 135257 - Add long mouse press gesture.</short_desc>
          <delta_ts>2014-08-18 11:34:42 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          <dependson>135515</dependson>
          <blocked>135707</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Peyton Randolph">prandolph</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>mitz</cc>
    
    <cc>prandolph</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026722</commentid>
    <comment_count>0</comment_count>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-04 16:59:22 -0700</bug_when>
    <thetext>It would be convenient to have a WebKit2 API for long mouse press so clients can respond to such events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026898</commentid>
    <comment_count>1</comment_count>
      <attachid>236038</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-05 11:35:37 -0700</bug_when>
    <thetext>Created attachment 236038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027204</commentid>
    <comment_count>2</comment_count>
      <attachid>236112</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-06 10:45:13 -0700</bug_when>
    <thetext>Created attachment 236112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027276</commentid>
    <comment_count>3</comment_count>
      <attachid>236129</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-06 13:21:31 -0700</bug_when>
    <thetext>Created attachment 236129
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027315</commentid>
    <comment_count>4</comment_count>
      <attachid>236140</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-06 15:08:19 -0700</bug_when>
    <thetext>Created attachment 236140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027874</commentid>
    <comment_count>5</comment_count>
      <attachid>236288</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-08 10:46:15 -0700</bug_when>
    <thetext>Created attachment 236288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027987</commentid>
    <comment_count>6</comment_count>
      <attachid>236320</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-08 16:13:10 -0700</bug_when>
    <thetext>Created attachment 236320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028003</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-08-08 16:40:49 -0700</bug_when>
    <thetext>Can you explain why it’s a good idea to introduce a new API object for this specific gesture? Can this share the WKHitTestResult object used for the context menu gestures?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236038</attachid>
            <date>2014-08-05 11:35:37 -0700</date>
            <delta_ts>2014-08-06 10:45:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135580-20140805113534.patch</filename>
            <type>text/plain</type>
            <size>46534</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDY3OGNiMTJiNmYyY2Ri
YTcwYzZiZDg3ZmZjMGQ3MmU3YjhjMjUyYi4uYzdiZjJkMDQ3ZWViM2Q5MGM3OWM4YjEwN2I5ZDdi
NWZlMGRjNDQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE0LTA4LTA0ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBsb25n
IG1vdXNlIHByZXNzIFdlYktpdDIgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHBvc2VzIGFuIEFQSSBvbiB0aGUgUGFnZVVJ
Q2xpZW50IGZvciB0aGUgbG9uZyBtb3VzZSBwcmVzcyBldmVudHMgZGlkQmVnaW5Mb25nTW91c2VQ
cmVzcywKKyAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MsIGFuZCBkaWRDYW5jZWxM
b25nTW91c2VQcmVzcy4gVGhpcyBwYXRjaCBhbHNvIGludHJvZHVjZXMgYSBjbGFzcywKKyAgICAg
ICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEsIHRvIGVuY2Fwc3VsYXRlIHRoZSBpbmZvcm1hdGlv
biBuZWVkZWQgZm9yIGEgbG9uZyBwcmVzcy4gU2luY2UgY3VycmVudGx5IGxpbmtzCisgICAgICAg
IGFyZSB0aGUgb25seSBlbGVtZW50cyB0aGF0IHN1cHBvcnQgbG9uZyBwcmVzcywgQVBJOjpMb25n
TW91c2VQcmVzc0RhdGEgY29udGFpbnMgb25seSBhIHNuYXBzaG90IG9mIHRoZQorICAgICAgICBs
b25nLXByZXNzZWQgbGluaywgdGhlIHNuYXBzaG90J3Mgb3JpZ2luLCBhbmQgdGhlIGxpbmsncyBV
UkwuIEFzIHdlIGV4dGVuZCBsb25nLXByZXNzIHN1cHBvcnQgdG8gb3RoZXIKKyAgICAgICAgdHlw
ZXMgb2YgZWxlbWVudHMsIEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhIHdpbGwgY29udGFpbiBtb3Jl
IHBpZWNlcyBvZiBpbmZvcm1hdGlvbi4KKyAgICAgICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEg
aXMgbW9kZWxlZCBhZnRlciBBUEk6TmF2aWdhdGlvbkRhdGEuCisKKyAgICAgICAgKiBTaGFyZWQv
QVBJL2MvV0tCYXNlLmg6IERlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZi4gCisgICAgICAg
ICogU2hhcmVkL0FQSU9iamVjdC5oOiBBZGQgTG9uZ01vdXNlUHJlc3NEYXRhIEFQSSB0eXBlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlD
bGllbnQ6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpOiBBZGRlZC4gRW1wdHkgQVBJIG1ldGhvZC4K
KyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKTogRGl0
dG8uCisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERp
dHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDogQWRkIExvbmdNb3Vz
ZVByZXNzRGF0YSBBUEkgbWFwcGluZy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tMb25n
TW91c2VQcmVzc0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRh
Q29weVVSTCk6IAorICAgICAgICBDIEFQSSB0byBjb3B5IHRoZSBVUkwgY29ycmVzcG9uZGluZyB0
byBsb25nLXByZXNzZWQgZWxlbWVudCwgaWYgYXZhaWxhYmxlLgorICAgICAgICAoV0tMb25nTW91
c2VQcmVzc0dldE9yaWdpbik6IEMgQVBJIHRvIGNvcHkgdGhlIG9yaWdpbiBwb2ludCBvZiB0aGUg
bG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tMb25nTW91c2VQcmVzc0RhdGEuaDogCisgICAgICAgIEFkZGVkLiBQbGFjZWQgaW4gdGhl
ICJQcml2YXRlIEhlYWRlcnMiIHNlY3Rpb24gb2YgdGhlIFdlYktpdCBwcm9qZWN0LgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0UGFnZVVJ
Q2xpZW50KTogQWRkIHNoaW1zIGZvciB0aGUgbG9uZyBtb3VzZSBwcmVzcyBldmVudHMuCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL2NnL1dLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weUNHSW1hZ2VGcm9tU25hcHNob3QpOiAKKyAgICAgICAg
QyBBUEkgdG8gY29weSB0aGUgbG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdCBhcyBhIENH
SW1hZ2UuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2NnL1dLTG9uZ01vdXNlUHJlc3NEYXRh
Q0cuaDogCisgICAgICAgIEFkZGVkLiBQbGFjZWQgaW4gdGhlICJQcml2YXRlIEhlYWRlcnMiIHNl
Y3Rpb24gb2YgdGhlIFdlYktpdCBwcm9qZWN0LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUElMb25n
TW91c2VQcmVzc0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NE
YXRhOjpMb25nTW91c2VQcmVzc0RhdGEpOiBBZGRlZC4gQ3JlYXRlIEFQSSBzaGltIHdpdGggZGF0
YSBzdG9yZS4gCisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6fkxvbmdNb3VzZVBy
ZXNzRGF0YSk6IEFkZGVkLiBFbXB0eSBkZWNvbnN0cnVjdG9yLgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUElMb25nTW91c2VQcmVzc0RhdGEuaDogQWRkZWQuIE1vZGVsZWQgYWZ0ZXIgQVBJTmF2aWdh
dGlvbkRhdGEuCisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKTogQWRk
ZWQuIEdldHRlciBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgbWVtYmVyIG9uIHRoZSBkYXRhIHN0b3Jl
LgorICAgICAgICAoQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnVybFN0cmluZyk6IERpdHRvLgor
ICAgICAgICAoQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6Om9yaWdpbik6IERpdHRvLgorICAgICAg
ICAoQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnNuYXBzaG90KTogRGl0dG8uCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGlkQmVnaW5Mb25nTW91c2VQcmVzcyk6IEFkZGVkLiBOb3RpZnkgdGhlIFVJIENsaWVudC4K
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNvZ25pemVMb25nTW91c2VQcmVz
cyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENhbmNlbExvbmdN
b3VzZVByZXNzKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46IEFkZCBsb25nIG1v
dXNlIHByZXNzIGV2ZW50IG1lc3NhZ2VzLgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJl
c3NDb250cm9sbGVyLmNwcDogCisgICAgICAgIChXZWJLaXQ6OkxvbmdNb3VzZVByZXNzQ29udHJv
bGxlcjo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVyKTogSW5pdGlhbGl6ZSB3ZWIgcGFnZSBtZW1i
ZXIgdmFyaWFibGUuCisgICAgICAgIChXZWJLaXQ6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6
ZGlkQmVnaW5Mb25nTW91c2VQcmVzcyk6IE5vdGlmeSB0aGUgV2ViUGFnZVByb3h5LgorICAgICAg
ICAoV2ViS2l0OjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OmRpZFJlY29nbml6ZUxvbmdNb3Vz
ZVByZXNzKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxl
cjo6ZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MpOiBEaXR0by4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmg6IEFkZCB3ZWIgcGFnZSBtZW1iZXIg
dmFyaWFibGUuCisKIDIwMTQtMDgtMDIgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29t
PgogCiAgICAgICAgIFN1cHBvcnQgYm90aCB3aW5kb3cgYW5kIHZpZXcgYmFzZWQgdmlkZW8gZnVs
bHNjcmVlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAppbmRleCA4ZDFlOTY1ZDVj
NGFlMWZhOWU1OWY0NTNkOTYyZjQ4YTJiYmM4Y2Q5Li5mZTEyYjQ0ZGU1NDJkY2EwZWI3MzYwNDlk
NzBiODhlNjYwYmU0NGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCkBAIC0x
MTAsNiArMTEwLDcgQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tIaXRUZXN0UmVzdWx0
KiBXS0hpdFRlc3RSZXN1bHRSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0ljb25E
YXRhYmFzZSogV0tJY29uRGF0YWJhc2VSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVX
S0luc3BlY3RvciogV0tJbnNwZWN0b3JSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVX
S0tleVZhbHVlU3RvcmFnZU1hbmFnZXIqIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZjsKK3R5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTG9uZ01vdXNlUHJlc3NEYXRhKiBXS0xvbmdNb3Vz
ZVByZXNzRGF0YVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTWVkaWFDYWNoZU1h
bmFnZXIqIFdLTWVkaWFDYWNoZU1hbmFnZXJSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFx
dWVXS05hdmlnYXRpb25EYXRhKiBXS05hdmlnYXRpb25EYXRhUmVmOwogdHlwZWRlZiBjb25zdCBz
dHJ1Y3QgT3BhcXVlV0tOb3RpZmljYXRpb24qIFdLTm90aWZpY2F0aW9uUmVmOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSU9iamVjdC5oCmluZGV4IDZkZjQ5MTgzZDJiYzQ2MjY1Y2MwOWY3YjVkNTc0YTA3YjNj
MGM1OTIuLjg4MjFhZTQ2Y2YxZDMzY2IzMWQzMzZmZjMwYjVmZmViOGEwYmZkOGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJT2JqZWN0LmgKQEAgLTExOCw2ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEljb25EYXRhYmFzZSwKICAgICAgICAgSW5zcGVjdG9yLAogICAgICAgICBLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyLAorICAgICAgICBMb25nTW91c2VQcmVzc0RhdGEsCiAgICAgICAgIE1lZGlhQ2Fj
aGVNYW5hZ2VyLAogICAgICAgICBOYXZpZ2F0aW9uRGF0YSwKICAgICAgICAgTm90aWZpY2F0aW9u
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IGMyNTg4
MDU3ZWYyNjZkZDZkYjk0MTMwMmViOWU1NjgyNmY1MGMzM2IuLjMyNTFlNTc1YWI2N2RlMWJmZjFj
MzZjZmNkNTJjOTJiMTk4MDg1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SVVJQ2xpZW50LmgKQEAgLTE0MCw2ICsxNDAsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIHBpbm5lZFN0YXRlRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAKKyNp
ZiBFTkFCTEUoTE9OR19NT1VTRV9QUkVTUykKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5Mb25n
TW91c2VQcmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdlYktpdDo6TG9uZ01vdXNl
UHJlc3NEYXRhU3RvcmUmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjb2duaXplTG9uZ01v
dXNlUHJlc3MoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVBy
ZXNzRGF0YVN0b3JlJikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbExvbmdNb3VzZVBy
ZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0Rh
dGFTdG9yZSYpIHsgfQorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAgICAgdmlydHVhbCBS
ZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9uc0ZvckVsZW1lbnQoX1dLQWN0aXZhdGVkRWxlbWVudElu
Zm8gKiwgUmV0YWluUHRyPE5TQXJyYXk+IGRlZmF1bHRBY3Rpb25zKSB7IHJldHVybiBXVEY6Om1v
dmUoZGVmYXVsdEFjdGlvbnMpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFz
Q2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAppbmRleCA4MDIyMWE5MWIyZjkxNjM1NTI5OWJjMjVmMmQw
ZjFjODAxOTQ3YzJjLi42NWFmM2ZlMTBiYThlZWMyNmQ1ZDIzZjEzMTdlOTExMzRlM2NjMzMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC01Miw2ICs1
Miw3IEBACiAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgQ29udGV4dENvbmZpZ3VyYXRpb247Citj
bGFzcyBMb25nTW91c2VQcmVzc0RhdGE7CiBjbGFzcyBOYXZpZ2F0aW9uRGF0YTsKIGNsYXNzIFNl
c3Npb25TdGF0ZTsKIH0KQEAgLTEyOCw2ICsxMjksNyBAQCBXS19BRERfQVBJX01BUFBJTkcoV0tH
cmFtbWFyRGV0YWlsUmVmLCBXZWJHcmFtbWFyRGV0YWlsKQogV0tfQUREX0FQSV9NQVBQSU5HKFdL
SGl0VGVzdFJlc3VsdFJlZiwgV2ViSGl0VGVzdFJlc3VsdCkKIFdLX0FERF9BUElfTUFQUElORyhX
S0ljb25EYXRhYmFzZVJlZiwgV2ViSWNvbkRhdGFiYXNlKQogV0tfQUREX0FQSV9NQVBQSU5HKFdL
S2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZiwgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcikKK1dL
X0FERF9BUElfTUFQUElORyhXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiwgQVBJOjpMb25nTW91c2VQ
cmVzc0RhdGEpCiBXS19BRERfQVBJX01BUFBJTkcoV0tNZWRpYUNhY2hlTWFuYWdlclJlZiwgV2Vi
TWVkaWFDYWNoZU1hbmFnZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS05hdmlnYXRpb25E
YXRhUmVmLCBBUEk6Ok5hdmlnYXRpb25EYXRhKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTm90aWZp
Y2F0aW9uTWFuYWdlclJlZiwgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDRhMjlhM2Q5YjRlMDkyODQ2YTk4MTRjYTY5NzEzMjk5NWVlZTRlNwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdN
b3VzZVByZXNzRGF0YS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXS0xvbmdNb3VzZVByZXNzRGF0YS5oIgorCisjaW5jbHVk
ZSAiQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgiCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK1dLVVJMUmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29w
eVVSTChXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpCit7Cisg
ICAgcmV0dXJuIHRvQ29waWVkVVJMQVBJKHRvSW1wbChsb25nTW91c2VQcmVzc0RhdGFSZWYpLT51
cmxTdHJpbmcoKSk7Cit9CisKK1dLUG9pbnQgV0tMb25nTW91c2VQcmVzc0dldE9yaWdpbihXS0xv
bmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpCit7CisgICAgV2ViQ29y
ZTo6RmxvYXRQb2ludCBvcmlnaW4gPSB0b0ltcGwobG9uZ01vdXNlUHJlc3NEYXRhUmVmKS0+b3Jp
Z2luKCk7CisgICAgcmV0dXJuIFdLUG9pbnRNYWtlKG9yaWdpbi54KCksIG9yaWdpbi55KCkpOwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNl
UHJlc3NEYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tMb25nTW91c2VQ
cmVzc0RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGU4NmRjODExMDQxODdmNTUyNjFiZjBlNmI0MzM1ZWU4
MTdmMzUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLTG9uZ01vdXNlUHJlc3NEYXRhLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgV0tMb25nTW91c2VQcmVzc0RhdGFfaAorI2RlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0
YV9oCisKKyNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLR2Vv
bWV0cnkuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitX
S19FWFBPUlQgV0tUeXBlSUQgV0tMb25nTW91c2VQcmVzc0RhdGFHZXRUeXBlSUQoKTsKKworV0tf
RVhQT1JUIFdLVVJMUmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weVVSTChXS0xvbmdNb3VzZVBy
ZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpOworV0tfRVhQT1JUIFdLUG9pbnQgV0tM
b25nTW91c2VQcmVzc0dldE9yaWdpbihXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQ
cmVzc0RhdGFSZWYpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYg
Ly8gV0tMb25nTW91c2VQcmVzc0RhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcAppbmRleCBkOWEzYTkxZmM4NDljYzIxNjkzZDBlMDk3YTgzMmExZTE3ZjExYTUy
Li43MzE3OTEyYmFkNmNlYzA2Yjg0ZjNiODIzZDE5ZDc4ZjViYTc1OGVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMzEsMTEgKzMxLDEzIEBACiAjaW5j
bHVkZSAiQVBJRGF0YS5oIgogI2luY2x1ZGUgIkFQSUZpbmRDbGllbnQuaCIKICNpbmNsdWRlICJB
UElMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJBUElMb25nTW91c2VQcmVzc0RhdGEuaCIKICNp
bmNsdWRlICJBUElQb2xpY3lDbGllbnQuaCIKICNpbmNsdWRlICJBUElTZXNzaW9uU3RhdGUuaCIK
ICNpbmNsdWRlICJBUElVSUNsaWVudC5oIgogI2luY2x1ZGUgIkltbXV0YWJsZURpY3Rpb25hcnku
aCIKICNpbmNsdWRlICJMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaCIKKyNpbmNsdWRlICJMb25n
TW91c2VQcmVzc0RhdGFTdG9yZS5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQu
aCIKICNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF2aWdhdGlv
bkFjdGlvbkRhdGEuaCIKQEAgLTc0LDcgKzc2LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50
VHJhaXRzPFdLUGFnZVBvbGljeUNsaWVudEJhc2U+IHsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0
IENsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudEJhc2U+IHsKLSAgICB0eXBlZGVmIHN0ZDo6dHVw
bGU8V0tQYWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRWMiwg
V0tQYWdlVUlDbGllbnRWMz4gVmVyc2lvbnM7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFn
ZVVJQ2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJ
Q2xpZW50VjMsIFdLUGFnZVVJQ2xpZW50VjQ+IFZlcnNpb25zOwogfTsKIAogfQpAQCAtMTU4Myw2
ICsxNTg1LDM1IEBAIHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVm
LCBjb25zdCBXS1BhZ2VVSUNsaWVudEJhc2UqIHdrQ2xpZW50CiAKICAgICAgICAgICAgIG1fY2xp
ZW50LnBpbm5lZFN0YXRlRGlkQ2hhbmdlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKICAgICAgICAgfQorCisjaWYgRU5BQkxFKExPTkdfTU9VU0VfUFJFU1MpCisgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkxvbmdNb3VzZVByZXNzKFdlYlBhZ2VQcm94eSogcGFn
ZSwgY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKSBvdmVycmlkZQorICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpCisg
ICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBSZWZQdHI8QVBJOjpMb25nTW91
c2VQcmVzc0RhdGE+IGRhdGEgPSBBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKHN0b3Jl
KTsKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZEJlZ2luTG9uZ01vdXNlUHJlc3ModG9BUEkocGFn
ZSksIHRvQVBJKGRhdGEuZ2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAg
ICB9CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKFdl
YlBhZ2VQcm94eSogcGFnZSwgY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKSBv
dmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZFJlY29nbml6
ZUxvbmdNb3VzZVByZXNzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAg
UmVmUHRyPEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhPiBkYXRhID0gQVBJOjpMb25nTW91c2VQcmVz
c0RhdGE6OmNyZWF0ZShzdG9yZSk7CisgICAgICAgICAgICBtX2NsaWVudC5kaWRSZWNvZ25pemVM
b25nTW91c2VQcmVzcyh0b0FQSShwYWdlKSwgdG9BUEkoZGF0YS5nZXQoKSksIG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CisgICAgICAgIH0KKworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2Fu
Y2VsTG9uZ01vdXNlUHJlc3MoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBMb25nTW91c2VQcmVz
c0RhdGFTdG9yZSYgc3RvcmUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgh
bV9jbGllbnQuZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MpCisgICAgICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgICAgICBSZWZQdHI8QVBJOjpMb25nTW91c2VQcmVzc0RhdGE+IGRhdGEgPSBB
UEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKHN0b3JlKTsKKyAgICAgICAgICAgIG1fY2xp
ZW50LmRpZENhbmNlbExvbmdNb3VzZVByZXNzKHRvQVBJKHBhZ2UpLCB0b0FQSShkYXRhLmdldCgp
KSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQorI2VuZGlmIC8vIEVOQUJM
RShMT05HX01PVVNFX1BSRVNTKQogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJ
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IGZlNjY4Njli
OTM0MzM1OTY5YTBlZjlhMGViZWEyZjMzNDZkMWNmNmYuLjE1OWFjNzVmZTA2NzQyYWI1NDUyMzg0
YzgwNGE3NWExZDdlOTJkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oCkBAIC04Niw2ICs4Niw5IEBAIHR5cGVkZWYgdm9pZCAoKldLUGFn
ZVNob3dDb2xvclBpY2tlckNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgaW5p
dGlhCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjaykoV0tQYWdl
UmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdl
VW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBX
S1BsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uLCBX
S0RpY3Rpb25hcnlSZWYgcGx1Z2luSW5mb0RpY3Rpb25hcnksIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tQYWdlRGlkQmVnaW5Mb25nTW91c2VQcmVzc0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tM
b25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNz
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91
c2VQcmVzc0RhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQ
YWdlRGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3NDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLTG9u
Z01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiAKIC8vIERlcHJlY2F0ZWQgICAgCiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFnZUNy
ZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFn
ZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywg
V0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsK
QEAgLTMwOSw2ICszMTIsNzAgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWMyB7CiAg
ICAgV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwaW5uZWRTdGF0ZURpZENoYW5nZTsKIH0gV0tQYWdlVUlDbGllbnRWMzsK
IAordHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWNCB7CisgICAgV0tQYWdlVUlDbGllbnRC
YXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNl
OworCisgICAgLy8gVmVyc2lvbiAwLgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1BhZ2U7CisgICAgV0tQYWdl
VUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjbG9zZTsKKyAgICBXS1BhZ2VUYWtlRm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VGb2N1czsKKyAgICBXS1BhZ2VGb2N1c0Nh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZv
Y3VzOworICAgIFdLUGFnZVVuZm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5mb2N1czsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxl
cnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3Jp
cHRBbGVydDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtOworICAgIFdLUGFn
ZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuSmF2YVNjcmlwdFByb21wdDsKKyAgICBXS1BhZ2VTZXRTdGF0dXNUZXh0Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXR1c1RleHQ7
CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFja19kZXByZWNhdGVkRm9y
VXNlV2l0aFYwICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudF9kZXByZWNhdGVkRm9yVXNl
V2l0aFYwOworICAgIFdLUGFnZU1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2tfZGVw
cmVjYXRlZEZvclVzZVdpdGhWMCAgICAgbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRfZGVwcmVj
YXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVudENhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZUtleUV2ZW50Owor
ICAgIFdLUGFnZURpZE5vdEhhbmRsZVdoZWVsRXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlV2hlZWxFdmVudDsKKyAgICBXS1BhZ2VHZXRUb29s
YmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRv
b2xiYXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvb2xiYXJzQXJlVmlzaWJsZTsK
KyAgICBXS1BhZ2VHZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlU2V0TWVudUJhcklz
VmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNZW51
QmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdL
UGFnZVNldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0U3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldElzUmVzaXphYmxl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNSZXNpemFi
bGU7CisgICAgV0tQYWdlU2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZXRJc1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VHZXRXaW5kb3dG
cmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFdp
bmRvd0ZyYW1lOworICAgIFdLUGFnZVNldFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdlUnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWw7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWREcmF3Owor
ICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGFnZURpZFNjcm9sbDsKKyAgICBXS1BhZ2VFeGNlZWRlZERhdGFiYXNl
UXVvdGFDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VlZGVkRGF0
YWJhc2VRdW90YTsKKyAgICBXS1BhZ2VSdW5PcGVuUGFuZWxDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9wZW5QYW5lbDsKKyAgICBXS1BhZ2VEZWNp
ZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAg
IGRlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdl
SGVhZGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWFkZXJIZWlnaHQ7CisgICAgV0tQYWdlRm9vdGVySGVpZ2h0Q2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJIZWlnaHQ7CisgICAgV0tQ
YWdlRHJhd0hlYWRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkcmF3SGVhZGVyOworICAgIFdLUGFnZURyYXdGb290ZXJDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0Zvb3RlcjsKKyAgICBXS1Bh
Z2VQcmludEZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHByaW50RnJhbWU7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5Nb2RhbDsKKyAgICB2b2lkKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHVudXNlZDE7IC8vIFVzZWQgdG8gYmUgZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZy
YW1lCisgICAgV0tQYWdlU2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlckNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyOworICAg
IFdLUGFnZVNob3VsZEludGVycnVwdEphdmFTY3JpcHRDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdDsKKworICAgIC8vIFZlcnNpb24g
MS4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2U7CisgICAgV0tQYWdlTW91c2VEaWRNb3Zl
T3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURp
ZE1vdmVPdmVyRWxlbWVudDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9u
Q2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgdW5hdmFpbGFibGVQbHVnaW5C
dXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisKKyAgICAvLyBWZXJzaW9uIDIu
CisgICAgV0tQYWdlU2hvd0NvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaG93Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlSGlkZUNvbG9yUGlj
a2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQ29s
b3JQaWNrZXI7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQ7
CisgICAgCisgICAgLy8gVmVyc2lvbiAzLgorICAgIFdLUGFnZVBpbm5lZFN0YXRlRGlkQ2hhbmdl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlubmVkU3RhdGVEaWRD
aGFuZ2U7CisKKyAgICAvLyBWZXJzaW9uIDQuCisgICAgV0tQYWdlRGlkQmVnaW5Mb25nTW91c2VQ
cmVzc0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRCZWdpbkxvbmdN
b3VzZVByZXNzOworICAgIFdLUGFnZURpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3M7Cisg
ICAgV0tQYWdlRGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3NDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWRDYW5jZWxMb25nTW91c2VQcmVzczsKK30gV0tQYWdlVUlDbGllbnRW
NDsKKwogZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVD
QVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9IDIgfTsKIHR5
cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2cvV0tMb25nTW91c2VQ
cmVzc0RhdGFDRy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2cvV0tMb25n
TW91c2VQcmVzc0RhdGFDRy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY2Njg4ZDNmNDg4NWQ1YjdhN2EwZmMy
MmMzOTA0YTdkZTFmOTZmMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9jZy9XS0xvbmdNb3VzZVByZXNzRGF0YUNHLmNwcApAQCAtMCwwICsxLDQxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldLTG9uZ01vdXNl
UHJlc3NEYXRhQ0cuaCIKKworI2luY2x1ZGUgIkFQSUxvbmdNb3VzZVByZXNzRGF0YS5oIgorI2lu
Y2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLU2hhcmVkQVBJQ2FzdC5oIgorCit1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK0NHSW1hZ2VS
ZWYgV0tMb25nTW91c2VQcmVzc0RhdGFDb3B5Q0dJbWFnZUZyb21TbmFwc2hvdChXS0xvbmdNb3Vz
ZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpCit7CisgICAgU2hhcmVhYmxlQml0
bWFwKiBzbmFwc2hvdCA9IHRvSW1wbChsb25nTW91c2VQcmVzc0RhdGFSZWYpLT5zbmFwc2hvdCgp
OworCisgICAgcmV0dXJuIHNuYXBzaG90ID8gc25hcHNob3QtPm1ha2VDR0ltYWdlQ29weSgpLmdl
dCgpIDogMDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9j
Zy9XS0xvbmdNb3VzZVByZXNzRGF0YUNHLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvY2cvV0tMb25nTW91c2VQcmVzc0RhdGFDRy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyZWE4NGFlY2JlNDIw
NjJlNTNjNGYyZmI4NjlmYjM4MTAyZjdjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2cvV0tMb25nTW91c2VQcmVzc0RhdGFDRy5oCkBAIC0wLDAg
KzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ0dfaAor
I2RlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YUNHX2gKKworI2luY2x1ZGUgPENvcmVHcmFwaGlj
cy9DR0ltYWdlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLQmFzZS5oPgorCisjaWZkZWYgX19jcGx1
c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBDR0ltYWdlUmVmIFdLTG9u
Z01vdXNlUHJlc3NEYXRhQ29weUNHSW1hZ2VGcm9tU25hcHNob3QoV0tMb25nTW91c2VQcmVzc0Rh
dGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhUmVmKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9Cisj
ZW5kaWYKKworI2VuZGlmIC8vIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ0dfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yZDk0MzA5MjRhYWEwYTNmZjIwNDZmYzEyZTVjZjRiYzk3NjE4MWMwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHAK
QEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJBUElMb25nTW91c2VQcmVzc0RhdGEuaCIKKworbmFtZXNwYWNlIEFQSSB7CisKK0xvbmdN
b3VzZVByZXNzRGF0YTo6TG9uZ01vdXNlUHJlc3NEYXRhKGNvbnN0IFdlYktpdDo6TG9uZ01vdXNl
UHJlc3NEYXRhU3RvcmUmIHN0b3JlKQorICAgIDogbV9zdG9yZShzdG9yZSkKK3sKK30KKworTG9u
Z01vdXNlUHJlc3NEYXRhOjp+TG9uZ01vdXNlUHJlc3NEYXRhKCkKK3sKK30KKworfSAvLyBuYW1l
c3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01v
dXNlUHJlc3NEYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJl
c3NEYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjAzMGY1OTU1ODJlOTU2Mzk2MmNkNWRjY2VhYTQzY2QxOTll
OGVhYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUElMb25n
TW91c2VQcmVzc0RhdGEuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBB
UElMb25nTW91c2VQcmVzc0RhdGFfaAorI2RlZmluZSBBUElMb25nTW91c2VQcmVzc0RhdGFfaAor
CisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiTG9uZ01vdXNlUHJlc3NEYXRhU3Rv
cmUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgQVBJIHsKKwor
Y2xhc3MgTG9uZ01vdXNlUHJlc3NEYXRhIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBl
OjpMb25nTW91c2VQcmVzc0RhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxM
b25nTW91c2VQcmVzc0RhdGE+IGNyZWF0ZShjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0
YVN0b3JlJiBzdG9yZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTG9uZ01v
dXNlUHJlc3NEYXRhKHN0b3JlKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+TG9uZ01vdXNlUHJl
c3NEYXRhKCk7CisKKyAgICBXVEY6OlN0cmluZyB1cmxTdHJpbmcoKSBjb25zdCB7IHJldHVybiBt
X3N0b3JlLnVybFN0cmluZzsgfQorICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKCkgY29u
c3QgeyByZXR1cm4gbV9zdG9yZS5vcmlnaW47IH0KKyAgICBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1h
cCogc25hcHNob3QoKSBjb25zdCB7IHJldHVybiBtX3N0b3JlLnNuYXBzaG90LmdldCgpOyB9CisK
K3ByaXZhdGU6CisgICAgZXhwbGljaXQgTG9uZ01vdXNlUHJlc3NEYXRhKGNvbnN0IFdlYktpdDo6
TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKTsKKworICAgIFdlYktpdDo6TG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmUgbV9zdG9yZTsKK307CisKK30gLy8gbmFtZXNwYWNlIEFQSQorCisjZW5kaWYgLy8g
QVBJTG9uZ01vdXNlUHJlc3NEYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggODlhNjBmY2Q1ZGYzMzhlMmE0ZmMzYWMxNWY1M2FiMjVlZTlmZjQ4Ny4u
NWVhZTMyNzJmZDYxNTM1ZDdjYjNlNTRlZGZhOGFjOTVjMDBiYTUzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE3NDksNiArMTc0OSwyMyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6Y2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpCiAgICAgbV9wcm9j
ZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVh
KCksIG1fcGFnZUlEKTsKIH0KIAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQordm9pZCBX
ZWJQYWdlUHJveHk6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmUmIGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlkQmVnaW5Mb25nTW91c2VQcmVz
cyh0aGlzLCBkYXRhKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY29nbml6ZUxvbmdN
b3VzZVByZXNzKGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBkYXRhKQoreworICAgIG1f
dWlDbGllbnQtPmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKHRoaXMsIGRhdGEpOworfQorCit2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNl
UHJlc3NEYXRhU3RvcmUmIGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlkQ2FuY2VsTG9uZ01v
dXNlUHJlc3ModGhpcywgZGF0YSk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJveHk6OnJl
Y2VpdmVkUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIGFjdGlvbiwgV2ViRnJhbWVQcm94eSog
ZnJhbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCkKIHsKICAg
ICBpZiAoIWlzVmFsaWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCBhNjRiOTM1YjEzYmRkZDJkOTEzYWM3OWZlYzI1YjFhYmZlYTllODE5Li44ZTc5YzE2NDFh
NTkyZmU0Y2E1MmJjMTIzNjgzNjU3ZTM4YzlmYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCkBAIC0xNzYsNiArMTc2LDEwIEBAIHN0cnVjdCBQbGF0Zm9ybVBvcHVw
TWVudURhdGE7CiBzdHJ1Y3QgUHJpbnRJbmZvOwogc3RydWN0IFdlYlBvcHVwSXRlbTsKIAorI2lm
IEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorc3RydWN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3Jl
OworI2VuZGlmCisKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogY2xhc3MgV2ViVmlicmF0aW9uUHJv
eHk7CiAjZW5kaWYKQEAgLTY4MCw2ICs2ODQsMTIgQEAgcHVibGljOgogICAgIHZvaWQgZHJhd0hl
YWRlcihXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7CiAgICAgdm9p
ZCBkcmF3Rm9vdGVyKFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsK
IAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgIHZvaWQgZGlkQmVnaW5Mb25nTW91
c2VQcmVzcyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpOworICAgIHZvaWQgZGlkUmVj
b2duaXplTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKTsKKyAg
ICB2b2lkIGRpZENhbmNlbExvbmdNb3VzZVByZXNzKGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0
b3JlJik7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIERpY3Rpb25hcnku
CiAgICAgdm9pZCBwZXJmb3JtRGljdGlvbmFyeUxvb2t1cEF0TG9jYXRpb24oY29uc3QgV2ViQ29y
ZTo6RmxvYXRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggYTFiYjVkODgzYTRlYTdlYjY2MDhhM2YwYTZlYWZlYTYx
MDZkMzc3Yy4uODkxNDNjODU0OWFlOGNiZGU3Yjk2ZDdmZmQ0YTYyYjA5ZjQ5ODRhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBA
IC0yODQsNiArMjg0LDEyIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU3RhcnRE
cmFnKFdlYkNvcmU6OkRyYWdEYXRhIGRyYWdEYXRhLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlIGRyYWdJbWFnZSkKICNlbmRpZgogCisjaWYgRU5BQkxFKExPTkdfTU9VU0VfUFJFU1Mp
CisgICAgRGlkQmVnaW5Mb25nTW91c2VQcmVzcyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0
b3JlIGRhdGFTdG9yZSkKKyAgICBEaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJLaXQ6Okxv
bmdNb3VzZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9yZSkKKyAgICBEaWRDYW5jZWxMb25nTW91c2VQ
cmVzcyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9yZSkKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgIyBEaWN0aW9uYXJ5IHN1cHBvcnQuCiAgICAgRGlk
UGVyZm9ybURpY3Rpb25hcnlMb29rdXAoV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHRleHQsIFdl
YktpdDo6RGljdGlvbmFyeVBvcHVwSW5mbyBkaWN0aW9uYXJ5UG9wdXBJbmZvKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZmYWYx
NjE3Zjk5NDlmMTMxNGE1OGZmNmRkY2U3MWFjOTNhNTk0ZWYuLmJjMjY3OWE3ZjdkMzA5ODcyODgw
YTM2MzQzZTczMWViMDQ3MTYwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTUsMTAgKzEwOTUsMTYgQEAKIAkJOTM5MUYy
Q0IxMjFCNjdBRDAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTFGMjgzMTIxQjM4RjUw
MEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggKi87IH07CiAJCTkzOUFFNzY2
MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5QUU3NjUxMzE2RTk5QzAwQUUw
NkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgKi87IH07CiAJCTkzQkRFQjAxMTcxREQ3
QUYwMEJGRUUxQiAvKiBXS1BhZ2VMb2FkVHlwZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0JERUIwMDE3MUREN0FGMDBCRkVFMUIgLyog
V0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTlDMEJCQkUyMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3Vz
ZVByZXNzRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5QzBCQkJFMDE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuY3Bw
ICovOyB9OworCQk5QzBCQkJFMzE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0Rh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDMEJC
QkUxMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTlDNEU2QjcxMTk4QzAwNTEw
MDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUM0RTZCNkYxOThDMDA1MTAwODc2NTVBIC8q
IExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTlDNEU2QjcyMTk4QzAwNTEw
MDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNEU2QjcwMTk4QzAwNTEwMDg3NjU1QSAvKiBM
b25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJOUM0RTZCNzUxOThDMDI5ODAwODc2
NTVBIC8qIExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNEU2QjczMTk4QzAyOTgwMDg3NjU1QSAvKiBMb25n
TW91c2VQcmVzc0RhdGFTdG9yZS5jcHAgKi87IH07CiAJCTlDNEU2Qjc2MTk4QzAyOTgwMDg3NjU1
QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOUM0RTZCNzQxOThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3Vz
ZVByZXNzRGF0YVN0b3JlLmggKi87IH07CisJCTlDRTZCQzgwMTk4QzYwNjMwMDY1RDVGNSAvKiBB
UElMb25nTW91c2VQcmVzc0RhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUNFNkJDN0UxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVBy
ZXNzRGF0YS5jcHAgKi87IH07CisJCTlDRTZCQzgxMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25n
TW91c2VQcmVzc0RhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlDRTZCQzdGMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEu
aCAqLzsgfTsKKwkJOUNFQTFBNTYxOTkwNEE3ODAwRjhFNzMyIC8qIFdLTG9uZ01vdXNlUHJlc3NE
YXRhQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUNFQTFBNTQxOTkwNEE3ODAwRjhFNzMyIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuY3BwICov
OyB9OworCQk5Q0VBMUE1NzE5OTA0QTc4MDBGOEU3MzIgLyogV0tMb25nTW91c2VQcmVzc0RhdGFD
Ry5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUNFQTFB
NTUxOTkwNEE3ODAwRjhFNzMyIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5RjU0Rjg4RjE2NDg4RTg3
MDA3REY4MUEgLyogQ2hpbGRQcm9jZXNzTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOUY1NEY4OEUxNjQ4OEU4NzAwN0RGODFBIC8qIENoaWxkUHJv
Y2Vzc01hYy5tbSAqLzsgfTsKIAkJOUY1NEY4OTUxNjQ4QUUwRjAwN0RGODFBIC8qIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOUY1NEY4OTQxNjQ4QUUwRTAwN0RGODFBIC8qIFBsdWdpblByb2Nlc3NNYW5hZ2Vy
TWFjLm1tICovOyB9OwogCQk5RkI1RjM5NDE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJp
dmF0ZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDlGQjVGMzkyMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1tICovOyB9
OwpAQCAtMzE1MywxMCArMzE1OSwxNiBAQAogCQk5MzkxRjI4NDEyMUIzOEY1MDBFQkY3RTggLyog
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkzOUFFNzY1MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCREVC
MDAxNzFERDdBRjAwQkZFRTFCIC8qIFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5QzBCQkJFMDE5OEM2REZFMDBENTM5NUEgLyogV0tMb25n
TW91c2VQcmVzc0RhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0tMb25nTW91c2VQcmVzc0RhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
QzBCQkJFMTE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tMb25nTW91c2VQcmVzc0RhdGEuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUM0RTZCNkYxOThDMDA1MTAwODc2NTVBIC8qIExvbmdN
b3VzZVByZXNzQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5QzRFNkI3MDE5OEMwMDUxMDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NDb250cm9s
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExvbmdNb3VzZVByZXNzQ29u
dHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QzRFNkI3MzE5OEMwMjk4
MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuY3BwOyBwYXRoID0g
U2hhcmVkL0xvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OwogCQk5QzRFNkI3NDE5OEMwMjk4MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NEYXRh
U3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmUuaDsgcGF0aCA9IFNoYXJlZC9Mb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oOyBzb3Vy
Y2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTlDRTZCQzdFMTk4QzYwNjMwMDY1RDVGNSAvKiBB
UElMb25nTW91c2VQcmVzc0RhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcDsgcGF0aCA9IFVJUHJvY2Vzcy9BUElMb25n
TW91c2VQcmVzc0RhdGEuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTlDRTZC
QzdGMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmg7IHBhdGggPSBV
SVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9P
VDsgfTsKKwkJOUNFQTFBNTQxOTkwNEE3ODAwRjhFNzMyIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRh
Q0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV0tMb25nTW91c2VQ
cmVzc0RhdGFDRy5jcHA7IHBhdGggPSBjZy9XS0xvbmdNb3VzZVByZXNzRGF0YUNHLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUNFQTFBNTUxOTkwNEE3ODAwRjhFNzMyIC8qIFdL
TG9uZ01vdXNlUHJlc3NEYXRhQ0cuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V0tMb25nTW91c2VQcmVzc0RhdGFDRy5oOyBwYXRoID0gY2cvV0tMb25nTW91c2VQcmVzc0RhdGFD
Ry5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RjU0Rjg4RTE2NDg4RTg3MDA3REY4
MUEgLyogQ2hpbGRQcm9jZXNzTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ2hpbGRQcm9jZXNzTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5RjU0Rjg5NDE2NDhBRTBFMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXJNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbHVnaW5Qcm9jZXNzTWFu
YWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUZCNUYzOTIxNjlFNkE4
MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBXS0NvbnRleHRQcml2YXRlTWFjLm1tOyBwYXRoID0gbWFjL1dL
Q29udGV4dFByaXZhdGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MjU1
LDYgKzUyNjcsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTEyM0NGMTkxMzNEMjYwQTAwNTZG
ODAwIC8qIFdLSWNvbkRhdGFiYXNlQ0cuY3BwICovLAogCQkJCTUxMjNDRjFBMTMzRDI2MEEwMDU2
RjgwMCAvKiBXS0ljb25EYXRhYmFzZUNHLmggKi8sCisJCQkJOUNFQTFBNTQxOTkwNEE3ODAwRjhF
NzMyIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuY3BwICovLAorCQkJCTlDRUExQTU1MTk5MDRB
NzgwMEY4RTczMiAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YUNHLmggKi8sCiAJCQkpOwogCQkJbmFt
ZSA9IGNnOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTU3ODUsNiArNTc5OSw4IEBA
CiAJCQkJMUFBRjA4OUUxOTI2ODFBQzAwQjYzOTBDIC8qIFVzZXJDb250ZW50ICovLAogCQkJCTFB
RTUyRjhGMTkyMDFEQTcwMEExRkEzNyAvKiBBUElDb250ZXh0Q29uZmlndXJhdGlvbi5jcHAgKi8s
CiAJCQkJMUFFNTJGOTAxOTIwMURBNzAwQTFGQTM3IC8qIEFQSUNvbnRleHRDb25maWd1cmF0aW9u
LmggKi8sCisJCQkJOUNFNkJDN0UxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNz
RGF0YS5jcHAgKi8sCisJCQkJOUNFNkJDN0YxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3Vz
ZVByZXNzRGF0YS5oICovLAogCQkJCUJDRjY5RkExMTE3NkQwMTQwMDQ3MUE1MiAvKiBBUElOYXZp
Z2F0aW9uRGF0YS5jcHAgKi8sCiAJCQkJQkNGNjlGQTAxMTc2RDAxNDAwNDcxQTUyIC8qIEFQSU5h
dmlnYXRpb25EYXRhLmggKi8sCiAJCQkJNzVBOEQyREQxODdERTg3NDAwQzM5QzlFIC8qIEFQSVNl
c3Npb24uY3BwICovLApAQCAtNTk5MCw2ICs2MDA2LDggQEAKIAkJCQkxQzhFMjkzNzEyNzYxRTVC
MDBCQzdCRDAgLyogV0tJbnNwZWN0b3IuaCAqLywKIAkJCQk1MUE5RTEwODEzMTVDRDE4MDA5RTcw
MzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCAqLywKIAkJCQk1MUE5RTEwOTEzMTVD
RDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmggKi8sCisJCQkJOUMwQkJC
RTAxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAqLywKKwkJCQk5
QzBCQkJFMTE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuaCAqLywKIAkJ
CQkzM0QzQTNCMzEzMzk2MDBCMDA3MDlCRTQgLyogV0tNZWRpYUNhY2hlTWFuYWdlci5jcHAgKi8s
CiAJCQkJMzNEM0EzQjQxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuaCAq
LywKIAkJCQlDMDlBRTVFODEyNTI1N0MyMDAyNTgyNUQgLyogV0tOYXRpdmVFdmVudC5oICovLApA
QCAtNzE4Myw2ICs3MjAxLDcgQEAKIAkJCQlCQzA2RjQ0QTEyREJEMUY1MDAyRDc4REUgLyogR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMwNkY0M0ExMkRCQ0NGQjAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBDRTcyQUQxMjQ3RTc4RDAwQkMwRUM0IC8q
IEhhbmRsZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTlDRTZCQzgxMTk4QzYwNjMwMDY1
RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkMw
Njg5MTYzOEY2N0UwMEFCQjkxMSAvKiBIb3N0UmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
N0Y5MERFMzEzNzY1NjBFMDA1MUNGNjggLyogSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNDRjZCMjUxMkM5M0U3QTAwOEY5QzM1IC8qIEltYWdlT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCkBAIC03MjIwLDYgKzcyMzksOCBAQAogCQkJCUJDMzNFMEQxMTI0MDhF
ODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMTE1REM3MjE5MUQ4MkRBMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU2MDE4QkJFM0Q5MDAwRkNGQzkgLyogRmluZElu
ZGljYXRvcldpbmRvdy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOUMwQkJCRTMxOThDNkRGRTAwRDUz
OTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQk5Q0VBMUE1
NzE5OTA0QTc4MDBGOEU3MzIgLyogV0tMb25nTW91c2VQcmVzc0RhdGFDRy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMxNERGNzcxMjBCNUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0
V29ybGQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjBCMERFMTIzMDVBOEMwMEIxMzQxRSAvKiBJ
bmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU0
OUE0OTExRkZBOENFMDA0OEI0NjQgLyogSlNOUE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCkBAIC03
ODM5LDkgKzc4NjAsOSBAQAogCQkJCUJDOEYyRjJFMTYyNzNBQ0MwMDVGQUNCNSAvKiBXS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjk1MDE3MjQxNjJBNDUwNDAwNEE5RDcxIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFGNzUw
NkI2MTg1OTE2NTcwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAotCQkJCTFGNzUwNkI1MTg1OTE2NTQwMEVDMEZGNyAvKiBXS1dl
YlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
NzNDRUFENjE4NTQxN0FFMDA4QzM2M0QgLyogV0tOU0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQjhBMUYwMTg0MDBCMDAwMEU5QUU2OSAvKiBXS1BhZ2VGb3JtQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQkxRjc1MDZCNTE4NTkxNjU0MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1Z0lu
U2NyaXB0V29ybGRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM5ODlEODUxNjFBOTg5
MDAwMEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkludGVybmFsLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzA0RUZGQzE2RTY1QUZCMDBFMzM2RjAgLyogV0tXZWJQcm9jZXNzUGx1Z0luUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyRTZFOEUxMTQxOTcxNTAwQTYzQjFFIC8qIFdvcmtR
dWV1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDE5LDYgKzkwNDAsNyBAQAogCQkJCTFBMkQ5MjIx
MTI4MURDMUIwMDFFQjk2MiAvKiBQbHVnaW5Qcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTc1NTQyMkM0MTgwNjJCRjkwMDQ2RjZBOCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEVGQTcwMTI1MkI4NDEwMEY3MDY3RiAvKiBQbHVnaW5Q
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5Q0VBMUE1NjE5OTA0
QTc4MDBGOEU3MzIgLyogV0tMb25nTW91c2VQcmVzc0RhdGFDRy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3NUE4RDJEODE4N0QzMDQwMDBDMzlDOUUgLyogV0tTZXNzaW9uUmVmLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTM3MUExOTQxMTgyNEQyOTMwMEYzMkE1RSAvKiBXS05TRGljdGlvbmFyeS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDRDYyMjc3MTczOUQ4NjMwMDVCRDdGRiAvKiBQbHVnaW5T
YW5kYm94UHJvZmlsZS5tbSBpbiBTb3VyY2VzICovLApAQCAtOTA5OCw2ICs5MTIwLDcgQEAKIAkJ
CQlDNUUxQUZFRTE2QjIxMDI1MDA2Q0MxRjIgLyogQVBJV2ViQXJjaGl2ZVJlc291cmNlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDNzJCQTFEMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9y
d2FyZExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDMTMzNzQxODU3QzIxRTAwRjNFQzA1
IC8qIEFQSUdlb21ldHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTlDMEJCQkUyMTk4QzZERkUw
MEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MThEMkNBRDEyRDUxNTNCMDAzQkI5M0IgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQzcyQjlGQTExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFBNUExMTJGNEZCQjAwMzM3
QkFCIC8qIFdlYkNocm9tZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkzNDAsNiArOTM2
Myw3IEBACiAJCQkJNTEyRjU4RjcxMkE4OEE1NDAwNjI5NTMwIC8qIFdLQXV0aGVudGljYXRpb25E
ZWNpc2lvbkxpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjQ2QzFBMTFERDM5OUYw
MDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdFJlZi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzY0NkMxQzExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTlDRTZCQzgwMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91
c2VQcmVzc0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyNTZFMzcxOEExQTc4ODAwNkZC
OTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3QkYyRjA3
MTk0N0RFQjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUJDQkFBQzcyMTQ0RTYxOTkwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIu
bW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAKaW5kZXggNDBjODhk
NjM5MzhlODhlYzQ0Y2Q5ODY1NWQ2Yjg2ZDQ4MmZjMGQxNC4uNzcyZTBmM2YzOThjODhjMGVmNDgx
Zjc5YWU0MjExNGE0NjgxZTM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAKQEAgLTM2
LDYgKzM2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyOjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIoV2Vi
UGFnZSogd2ViUGFnZSkKKyAgICA6IG1fcGFnZSh3ZWJQYWdlKQogewogfQogCkBAIC00MywxNyAr
NDQsMTcgQEAgdm9pZCBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OmRpZEJlZ2luTG9uZ01vdXNl
UHJlc3MoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG0KIHsKICAgICAvLyBGSVhNRTogR2VuZXJh
dGUgZGF0YSBzdG9yZSBmcm9tIGxvY2F0aW9uLgogCi0gICAgLy8gRklYTUU6IE5vdGlmeSBjbGll
bnQgb2YgbG9uZyBtb3VzZSBwcmVzcyBldmVudC4KKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkQmVnaW5Mb25nTW91c2VQcmVzcyhtX2RhdGFTdG9yZSkpOwogfQog
CiB2b2lkIExvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkUmVjb2duaXplTG9uZ01vdXNlUHJl
c3MoKQogewotICAgIC8vIEZJWE1FOiBOb3RpZnkgY2xpZW50IG9mIGxvbmcgbW91c2UgcHJlc3Mg
ZXZlbnQuCisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY29n
bml6ZUxvbmdNb3VzZVByZXNzKG1fZGF0YVN0b3JlKSk7CiB9CiAKIHZvaWQgTG9uZ01vdXNlUHJl
c3NDb250cm9sbGVyOjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcygpCiB7Ci0gICAgLy8gRklYTUU6
IE5vdGlmeSBjbGllbnQgb2YgbG9uZyBtb3VzZSBwcmVzcyBldmVudC4KKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MobV9kYXRh
U3RvcmUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
LmgKaW5kZXggYzY0MTc3N2YyMTcwMmNkZWEzYzVlMTdkZmQwNDA2ZmE2NTZiMmI2ZS4uODE3NTFh
NDgxOWRkYjE0ZTM2NDdmNTRhYWUxMjY3NzBhZTkyOTNjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xs
ZXIuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTG9uZ01vdXNl
UHJlc3NEYXRhU3RvcmUgbV9kYXRhU3RvcmU7CisgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236112</attachid>
            <date>2014-08-06 10:45:13 -0700</date>
            <delta_ts>2014-08-06 13:21:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135580-20140806104501.patch</filename>
            <type>text/plain</type>
            <size>46635</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjFiNTE0NTUyMzNjMTBi
MDZiMTdhMWZkMDk5OTI5ZjJhYjU2MjhhNy4uOGRhN2NlODZkNGYyYTU0YzAwMWQ3N2UxNThhNDll
ZWMyZjRlZWFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE0LTA4LTA2ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBsb25n
IG1vdXNlIHByZXNzIFdlYktpdDIgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHBvc2VzIGFuIEFQSSBvbiB0aGUgUGFnZVVJ
Q2xpZW50IGZvciB0aGUgbG9uZyBtb3VzZSBwcmVzcyBldmVudHMgZGlkQmVnaW5Mb25nTW91c2VQ
cmVzcywKKyAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MsIGFuZCBkaWRDYW5jZWxM
b25nTW91c2VQcmVzcy4gVGhpcyBwYXRjaCBhbHNvIGludHJvZHVjZXMgYSBjbGFzcywKKyAgICAg
ICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEsIHRvIGVuY2Fwc3VsYXRlIHRoZSBpbmZvcm1hdGlv
biBuZWVkZWQgZm9yIGEgbG9uZyBwcmVzcy4gU2luY2UgY3VycmVudGx5IGxpbmtzCisgICAgICAg
IGFyZSB0aGUgb25seSBlbGVtZW50cyB0aGF0IHN1cHBvcnQgbG9uZyBwcmVzcywgQVBJOjpMb25n
TW91c2VQcmVzc0RhdGEgY29udGFpbnMgb25seSBhIHNuYXBzaG90IG9mIHRoZQorICAgICAgICBs
b25nLXByZXNzZWQgbGluaywgdGhlIHNuYXBzaG90J3Mgb3JpZ2luLCBhbmQgdGhlIGxpbmsncyBV
UkwuIEFzIHdlIGV4dGVuZCBsb25nLXByZXNzIHN1cHBvcnQgdG8gb3RoZXIKKyAgICAgICAgdHlw
ZXMgb2YgZWxlbWVudHMsIEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhIHdpbGwgY29udGFpbiBtb3Jl
IHBpZWNlcyBvZiBpbmZvcm1hdGlvbi4KKyAgICAgICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEg
aXMgbW9kZWxlZCBhZnRlciBBUEk6TmF2aWdhdGlvbkRhdGEuCisKKyAgICAgICAgKiBTaGFyZWQv
QVBJL2MvV0tCYXNlLmg6IERlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZi4gCisgICAgICAg
ICogU2hhcmVkL0FQSU9iamVjdC5oOiBBZGQgTG9uZ01vdXNlUHJlc3NEYXRhIEFQSSB0eXBlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlD
bGllbnQ6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpOiBBZGRlZC4gRW1wdHkgQVBJIG1ldGhvZC4K
KyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKTogRGl0
dG8uCisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERp
dHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDogQWRkIExvbmdNb3Vz
ZVByZXNzRGF0YSBBUEkgbWFwcGluZy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tMb25n
TW91c2VQcmVzc0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRh
Q29weVVSTCk6IAorICAgICAgICBDIEFQSSB0byBjb3B5IHRoZSBVUkwgY29ycmVzcG9uZGluZyB0
byBsb25nLXByZXNzZWQgZWxlbWVudCwgaWYgYXZhaWxhYmxlLgorICAgICAgICAoV0tMb25nTW91
c2VQcmVzc0dldFNuYXBzaG90T3JpZ2luKTogCisgICAgICAgIEMgQVBJIHRvIGdldCB0aGUgb3Jp
Z2luIHBvaW50IG9mIHRoZSBsb25nLXByZXNzZWQgZWxlbWVudCdzIHNuYXBzaG90LgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5oOiAKKyAgICAgICAgQWRk
ZWQuIFBsYWNlZCBpbiB0aGUgIlByaXZhdGUgSGVhZGVycyIgc2VjdGlvbiBvZiB0aGUgV2ViS2l0
IHByb2plY3QuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAg
IChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOiBBZGQgc2hpbXMgZm9yIHRoZSBsb25nIG1vdXNlIHBy
ZXNzIGV2ZW50cy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvY2cvV0tMb25nTW91c2VQcmVzc0RhdGFDRy5jcHA6
IEFkZGVkLgorICAgICAgICAoV0tMb25nTW91c2VQcmVzc0RhdGFDb3B5Q0dJbWFnZUZyb21TbmFw
c2hvdCk6IAorICAgICAgICBDIEFQSSB0byBjb3B5IHRoZSBsb25nLXByZXNzZWQgZWxlbWVudCdz
IHNuYXBzaG90IGFzIGEgQ0dJbWFnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvY2cvV0tM
b25nTW91c2VQcmVzc0RhdGFDRy5oOiAKKyAgICAgICAgQWRkZWQuIFBsYWNlZCBpbiB0aGUgIlBy
aXZhdGUgSGVhZGVycyIgc2VjdGlvbiBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHA6IEFkZGVkLgorICAgICAgICAoQVBJ
OjpMb25nTW91c2VQcmVzc0RhdGE6OkxvbmdNb3VzZVByZXNzRGF0YSk6IEFkZGVkLiBDcmVhdGUg
QVBJIHNoaW0gd2l0aCBkYXRhIHN0b3JlLiAKKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NE
YXRhOjp+TG9uZ01vdXNlUHJlc3NEYXRhKTogQWRkZWQuIEVtcHR5IGRlY29uc3RydWN0b3IuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5oOiBBZGRlZC4gTW9kZWxl
ZCBhZnRlciBBUElOYXZpZ2F0aW9uRGF0YS4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NE
YXRhOjpjcmVhdGUpOiBBZGRlZC4gR2V0dGVyIGZvciB0aGUgY29ycmVzcG9uZGluZyBtZW1iZXIg
b24gdGhlIGRhdGEgc3RvcmUuCisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6dXJs
U3RyaW5nKTogRGl0dG8uCisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6c25hcHNo
b3RPcmlnaW4pOiBEaXR0by4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpzbmFw
c2hvdCk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpOiBBZGRl
ZC4gTm90aWZ5IHRoZSBVSSBDbGllbnQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERpdHRvLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluOiBBZGQgbG9uZyBtb3VzZSBwcmVzcyBldmVudCBtZXNzYWdlcy4KKyAgICAg
ICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHA6IAorICAgICAgICAoV2Vi
S2l0OjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcik6
IEluaXRpYWxpemUgd2ViIHBhZ2UgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpM
b25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpOiBOb3RpZnkg
dGhlIFdlYlBhZ2VQcm94eS4KKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9s
bGVyOjpkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0
OjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OmRpZENhbmNlbExvbmdNb3VzZVByZXNzKTogRGl0
dG8uCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxl
ci5oOiBBZGQgd2ViIHBhZ2UgbWVtYmVyIHZhcmlhYmxlLgorCiAyMDE0LTA4LTA2ICBBZHJpYW4g
UGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRk
IHN1cHBvcnQgZm9yIHVzZXIgc2NyaXB0cyB0byBXZWJLaXRVc2VyQ29udGVudE1hbmFnZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAppbmRleCA4ZDFlOTY1ZDVjNGFlMWZhOWU1OWY0
NTNkOTYyZjQ4YTJiYmM4Y2Q5Li5mZTEyYjQ0ZGU1NDJkY2EwZWI3MzYwNDlkNzBiODhlNjYwYmU0
NGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCkBAIC0xMTAsNiArMTEwLDcg
QEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tIaXRUZXN0UmVzdWx0KiBXS0hpdFRlc3RS
ZXN1bHRSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0ljb25EYXRhYmFzZSogV0tJ
Y29uRGF0YWJhc2VSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0luc3BlY3Rvciog
V0tJbnNwZWN0b3JSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0tleVZhbHVlU3Rv
cmFnZU1hbmFnZXIqIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZjsKK3R5cGVkZWYgY29uc3Qg
c3RydWN0IE9wYXF1ZVdLTG9uZ01vdXNlUHJlc3NEYXRhKiBXS0xvbmdNb3VzZVByZXNzRGF0YVJl
ZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTWVkaWFDYWNoZU1hbmFnZXIqIFdLTWVk
aWFDYWNoZU1hbmFnZXJSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS05hdmlnYXRp
b25EYXRhKiBXS05hdmlnYXRpb25EYXRhUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVl
V0tOb3RpZmljYXRpb24qIFdLTm90aWZpY2F0aW9uUmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVj
dC5oCmluZGV4IDZkZjQ5MTgzZDJiYzQ2MjY1Y2MwOWY3YjVkNTc0YTA3YjNjMGM1OTIuLjg4MjFh
ZTQ2Y2YxZDMzY2IzMWQzMzZmZjMwYjVmZmViOGEwYmZkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
T2JqZWN0LmgKQEAgLTExOCw2ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEljb25EYXRhYmFz
ZSwKICAgICAgICAgSW5zcGVjdG9yLAogICAgICAgICBLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLAor
ICAgICAgICBMb25nTW91c2VQcmVzc0RhdGEsCiAgICAgICAgIE1lZGlhQ2FjaGVNYW5hZ2VyLAog
ICAgICAgICBOYXZpZ2F0aW9uRGF0YSwKICAgICAgICAgTm90aWZpY2F0aW9uLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IGMyNTg4MDU3ZWYyNjZkZDZk
Yjk0MTMwMmViOWU1NjgyNmY1MGMzM2IuLjMyNTFlNTc1YWI2N2RlMWJmZjFjMzZjZmNkNTJjOTJi
MTk4MDg1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgK
QEAgLTE0MCw2ICsxNDAsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHBpbm5lZFN0
YXRlRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAKKyNpZiBFTkFCTEUoTE9O
R19NT1VTRV9QUkVTUykKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5Mb25nTW91c2VQcmVzcyhX
ZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3Rv
cmUmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MoV2Vi
S2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3Jl
JikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbExvbmdNb3VzZVByZXNzKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpIHsg
fQorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAgICAgdmlydHVhbCBSZXRhaW5QdHI8TlNB
cnJheT4gYWN0aW9uc0ZvckVsZW1lbnQoX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgUmV0YWlu
UHRyPE5TQXJyYXk+IGRlZmF1bHRBY3Rpb25zKSB7IHJldHVybiBXVEY6Om1vdmUoZGVmYXVsdEFj
dGlvbnMpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0FQSUNhc3QuaAppbmRleCA4MDIyMWE5MWIyZjkxNjM1NTI5OWJjMjVmMmQwZjFjODAxOTQ3YzJj
Li42NWFmM2ZlMTBiYThlZWMyNmQ1ZDIzZjEzMTdlOTExMzRlM2NjMzMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC01Miw2ICs1Miw3IEBACiAKIG5h
bWVzcGFjZSBBUEkgewogY2xhc3MgQ29udGV4dENvbmZpZ3VyYXRpb247CitjbGFzcyBMb25nTW91
c2VQcmVzc0RhdGE7CiBjbGFzcyBOYXZpZ2F0aW9uRGF0YTsKIGNsYXNzIFNlc3Npb25TdGF0ZTsK
IH0KQEAgLTEyOCw2ICsxMjksNyBAQCBXS19BRERfQVBJX01BUFBJTkcoV0tHcmFtbWFyRGV0YWls
UmVmLCBXZWJHcmFtbWFyRGV0YWlsKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLSGl0VGVzdFJlc3Vs
dFJlZiwgV2ViSGl0VGVzdFJlc3VsdCkKIFdLX0FERF9BUElfTUFQUElORyhXS0ljb25EYXRhYmFz
ZVJlZiwgV2ViSWNvbkRhdGFiYXNlKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLS2V5VmFsdWVTdG9y
YWdlTWFuYWdlclJlZiwgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcikKK1dLX0FERF9BUElfTUFQ
UElORyhXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiwgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEpCiBX
S19BRERfQVBJX01BUFBJTkcoV0tNZWRpYUNhY2hlTWFuYWdlclJlZiwgV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS05hdmlnYXRpb25EYXRhUmVmLCBBUEk6
Ok5hdmlnYXRpb25EYXRhKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTm90aWZpY2F0aW9uTWFuYWdl
clJlZiwgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjZjMWE3MzMyNWFhYTA4NzQ4ZjkyNmRkZTY4NjY3MTk5MGM1NWI5ZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0
YS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXS0xvbmdNb3VzZVByZXNzRGF0YS5oIgorCisjaW5jbHVkZSAiQVBJTG9uZ01v
dXNlUHJlc3NEYXRhLmgiCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7CisKK1dLVVJMUmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weVVSTChXS0xvbmdN
b3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpCit7CisgICAgcmV0dXJuIHRv
Q29waWVkVVJMQVBJKHRvSW1wbChsb25nTW91c2VQcmVzc0RhdGFSZWYpLT51cmxTdHJpbmcoKSk7
Cit9CisKK1dLUG9pbnQgV0tMb25nTW91c2VQcmVzc0dldFNuYXBzaG90T3JpZ2luKFdLTG9uZ01v
dXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZikKK3sKKyAgICBXZWJDb3JlOjpG
bG9hdFBvaW50IHNuYXBzaG90T3JpZ2luID0gdG9JbXBsKGxvbmdNb3VzZVByZXNzRGF0YVJlZikt
Pm9yaWdpbigpOworICAgIHJldHVybiBXS1BvaW50TWFrZShzbmFwc2hvdE9yaWdpbi54KCksIHNu
YXBzaG90T3JpZ2luLnkoKSk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tMb25nTW91c2VQcmVzc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1MzdkODYwMTE3Y2Y3
ZWU5YjIwYTRkYTYwNThmNWU5NzA1NGJhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tMb25nTW91c2VQcmVzc0RhdGEuaApAQCAtMCwwICsxLDQ1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS0xvbmdNb3VzZVByZXNzRGF0YV9oCisjZGVmaW5l
IFdLTG9uZ01vdXNlUHJlc3NEYXRhX2gKKworI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2UuaD4KKyNp
bmNsdWRlIDxXZWJLaXQvV0tHZW9tZXRyeS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVy
biAiQyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBXS1R5cGVJRCBXS0xvbmdNb3VzZVByZXNzRGF0
YUdldFR5cGVJRCgpOworCitXS19FWFBPUlQgV0tVUkxSZWYgV0tMb25nTW91c2VQcmVzc0RhdGFD
b3B5VVJMKFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZik7CitX
S19FWFBPUlQgV0tQb2ludCBXS0xvbmdNb3VzZVByZXNzR2V0U25hcHNob3RPcmlnaW4oV0tMb25n
TW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhUmVmKTsKKworI2lmZGVmIF9fY3Bs
dXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8vIFdLTG9uZ01vdXNlUHJlc3NEYXRhX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggZDlhM2E5MWZjODQ5
Y2MyMTY5M2QwZTA5N2E4MzJhMWUxN2YxMWE1Mi4uNzMxNzkxMmJhZDZjZWMwNmI4NGYzYjgyM2Qx
OWQ3OGY1YmE3NThlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHAKQEAgLTMxLDExICszMSwxMyBAQAogI2luY2x1ZGUgIkFQSURhdGEuaCIKICNpbmNsdWRlICJB
UElGaW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJTG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAi
QVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgiCiAjaW5jbHVkZSAiQVBJUG9saWN5Q2xpZW50LmgiCiAj
aW5jbHVkZSAiQVBJU2Vzc2lvblN0YXRlLmgiCiAjaW5jbHVkZSAiQVBJVUlDbGllbnQuaCIKICNp
bmNsdWRlICJJbW11dGFibGVEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiTGVnYWN5U2Vzc2lvblN0
YXRlQ29kaW5nLmgiCisjaW5jbHVkZSAiTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuaCIKICNpbmNs
dWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZlV2ViV2hlZWxF
dmVudC5oIgogI2luY2x1ZGUgIk5hdmlnYXRpb25BY3Rpb25EYXRhLmgiCkBAIC03NCw3ICs3Niw3
IEBAIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VQb2xpY3lDbGllbnRCYXNl
PiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlVUlDbGllbnRC
YXNlPiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJ
Q2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjM+IFZlcnNpb25zOwor
ICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNsaWVudFYwLCBXS1BhZ2VVSUNsaWVudFYx
LCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVudFYzLCBXS1BhZ2VVSUNsaWVudFY0PiBW
ZXJzaW9uczsKIH07CiAKIH0KQEAgLTE1ODMsNiArMTU4NSwzNSBAQCB2b2lkIFdLUGFnZVNldFBh
Z2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3
a0NsaWVudAogCiAgICAgICAgICAgICBtX2NsaWVudC5waW5uZWRTdGF0ZURpZENoYW5nZSh0b0FQ
SSgmcGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgIH0KKworI2lmIEVO
QUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5Mb25n
TW91c2VQcmVzcyhXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0
b3JlJiBzdG9yZSkgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVu
dC5kaWRCZWdpbkxvbmdNb3VzZVByZXNzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICAgICAgUmVmUHRyPEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhPiBkYXRhID0gQVBJOjpMb25n
TW91c2VQcmVzc0RhdGE6OmNyZWF0ZShzdG9yZSk7CisgICAgICAgICAgICBtX2NsaWVudC5kaWRC
ZWdpbkxvbmdNb3VzZVByZXNzKHRvQVBJKHBhZ2UpLCB0b0FQSShkYXRhLmdldCgpKSwgbV9jbGll
bnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQorCisgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IExvbmdN
b3VzZVByZXNzRGF0YVN0b3JlJiBzdG9yZSkgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAgICAg
ICAgaWYgKCFtX2NsaWVudC5kaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcykKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgICAgIFJlZlB0cjxBUEk6OkxvbmdNb3VzZVByZXNzRGF0
YT4gZGF0YSA9IEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpjcmVhdGUoc3RvcmUpOworICAgICAg
ICAgICAgbV9jbGllbnQuZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3ModG9BUEkocGFnZSksIHRv
QVBJKGRhdGEuZ2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICB9CisK
KyAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbExvbmdNb3VzZVByZXNzKFdlYlBhZ2VQcm94
eSogcGFnZSwgY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKSBvdmVycmlkZQor
ICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZENhbmNlbExvbmdNb3VzZVBy
ZXNzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgUmVmUHRyPEFQSTo6
TG9uZ01vdXNlUHJlc3NEYXRhPiBkYXRhID0gQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OmNyZWF0
ZShzdG9yZSk7CisgICAgICAgICAgICBtX2NsaWVudC5kaWRDYW5jZWxMb25nTW91c2VQcmVzcyh0
b0FQSShwYWdlKSwgdG9BUEkoZGF0YS5nZXQoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CisgICAgICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoTE9OR19NT1VTRV9QUkVTUykKICAgICB9Owog
CiAgICAgdG9JbXBsKHBhZ2VSZWYpLT5zZXRVSUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFVJQ2xp
ZW50Pih3a0NsaWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlVUlDbGllbnQuaAppbmRleCBmZTY2ODY5YjkzNDMzNTk2OWEwZWY5YTBlYmVhMmYzMzQ2ZDFj
ZjZmLi4xNTlhYzc1ZmUwNjc0MmFiNTQ1MjM4NGM4MDRhNzVhMWQ3ZTkyZDM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaApAQCAtODYsNiAr
ODYsOSBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjaykoV0tQ
YWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGluaXRpYQogdHlwZWRlZiB2b2lkICgqV0tQYWdlSGlk
ZUNvbG9yUGlja2VyQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tl
ZENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBw
bHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiwgV0tEaWN0aW9uYXJ5UmVmIHBsdWdpbkluZm9EaWN0
aW9uYXJ5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVBp
bm5lZFN0YXRlRGlkQ2hhbmdlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZEJlZ2luTG9uZ01vdXNlUHJlc3ND
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3Vz
ZVByZXNzRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1Bh
Z2VEaWRSZWNvZ25pemVMb25nTW91c2VQcmVzc0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tM
b25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZENhbmNlbExvbmdNb3VzZVByZXNzQ2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQ
cmVzc0RhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiAvLyBEZXByZWNhdGVkICAgIAog
dHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLRGljdGlvbmFyeVJlZiBmZWF0dXJlcywg
V0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRv
biwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CkBAIC0zMDksNiArMzEyLDcwIEBAIHR5cGVkZWYg
c3RydWN0IFdLUGFnZVVJQ2xpZW50VjMgewogICAgIFdLUGFnZVBpbm5lZFN0YXRlRGlkQ2hhbmdl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlubmVkU3RhdGVEaWRD
aGFuZ2U7CiB9IFdLUGFnZVVJQ2xpZW50VjM7CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xp
ZW50VjQgeworICAgIFdLUGFnZVVJQ2xpZW50QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTsKKworICAgIC8vIFZlcnNpb24gMC4KKyAgICBX
S1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAg
ICAgICAgICAgIGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1Bh
Z2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNob3dQYWdlOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2U7CisgICAgV0tQYWdlVGFrZUZv
Y3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
YWtlRm9jdXM7CisgICAgV0tQYWdlRm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1czsKKyAgICBXS1BhZ2VVbmZvY3VzQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuZm9jdXM7
CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnQ7CisgICAgV0tQYWdlUnVuSmF2YVNj
cmlwdENvbmZpcm1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5K
YXZhU2NyaXB0Q29uZmlybTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7Cisg
ICAgV0tQYWdlU2V0U3RhdHVzVGV4dENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZXRTdGF0dXNUZXh0OworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJF
bGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgICAgbW91c2VEaWRNb3Zl
T3ZlckVsZW1lbnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VNaXNzaW5nUGx1
Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgIG1pc3Np
bmdQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdl
RGlkTm90SGFuZGxlS2V5RXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWROb3RIYW5kbGVLZXlFdmVudDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2
ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZVdo
ZWVsRXZlbnQ7CisgICAgV0tQYWdlR2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYmFyc0FyZVZpc2libGU7CisgICAgV0tQYWdl
U2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZXRUb29sYmFyc0FyZVZpc2libGU7CisgICAgV0tQYWdlR2V0TWVudUJhcklzVmlzaWJs
ZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW51QmFySXNWaXNp
YmxlOworICAgIFdLUGFnZVNldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0TWVudUJhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRT
dGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXR1c0JhcklzVmlzaWJs
ZTsKKyAgICBXS1BhZ2VHZXRJc1Jlc2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlzUmVzaXphYmxlOworICAgIFdLUGFnZVNldElzUmVzaXphYmxl
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNSZXNp
emFibGU7CisgICAgV0tQYWdlR2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VTZXRXaW5k
b3dGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
dFdpbmRvd0ZyYW1lOworICAgIFdLUGFnZVJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVs
OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGlkRHJhdzsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEaWRTY3JvbGw7
CisgICAgV0tQYWdlRXhjZWVkZWREYXRhYmFzZVF1b3RhQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBleGNlZWRlZERhdGFiYXNlUXVvdGE7CisgICAgV0tQYWdlUnVuT3Bl
blBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
dW5PcGVuUGFuZWw7CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZUhlYWRlckhlaWdodENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVySGVpZ2h0OworICAgIFdLUGFn
ZUZvb3RlckhlaWdodENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZm9vdGVySGVpZ2h0OworICAgIFdLUGFnZURyYXdIZWFkZXJDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0hlYWRlcjsKKyAgICBXS1Bh
Z2VEcmF3Rm9vdGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRyYXdGb290ZXI7CisgICAgV0tQYWdlUHJpbnRGcmFtZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludEZyYW1lOworICAgIFdLUGFn
ZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuTW9kYWw7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQxOyAvLyBVc2VkIHRvIGJlIGRp
ZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZQorICAgIFdLUGFnZVNhdmVEYXRhVG9GaWxl
SW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgc2F2ZURhdGFU
b0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcjsKKyAgICBXS1BhZ2VTaG91bGRJbnRlcnJ1cHRKYXZhU2Ny
aXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEludGVycnVwdEph
dmFTY3JpcHQ7CisKKyAgICAvLyBWZXJzaW9uIDEuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQ
YWdlOworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ7CisgICAgV0tQYWdl
RGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAg
ICAgICBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBX
S1BhZ2VVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19kZXByZWNhdGVkRm9y
VXNlV2l0aFYxIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXByZWNhdGVkRm9yVXNl
V2l0aFYxOworCisgICAgLy8gVmVyc2lvbiAyLgorICAgIFdLUGFnZVNob3dDb2xvclBpY2tlckNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbG9yUGlj
a2VyOworICAgIFdLUGFnZUhpZGVDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbG9yUGlja2VyOworICAgIFdLUGFnZVVuYXZhaWxh
YmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdW5h
dmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkOworICAgIAorICAgIC8vIFZlcnNpb24gMy4KKyAg
ICBXS1BhZ2VQaW5uZWRTdGF0ZURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBpbm5lZFN0YXRlRGlkQ2hhbmdlOworCisgICAgLy8gVmVyc2lvbiA0Lgor
ICAgIFdLUGFnZURpZEJlZ2luTG9uZ01vdXNlUHJlc3NDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkQmVnaW5Mb25nTW91c2VQcmVzczsKKyAgICBXS1BhZ2VEaWRSZWNv
Z25pemVMb25nTW91c2VQcmVzc0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRp
ZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzOworICAgIFdLUGFnZURpZENhbmNlbExvbmdNb3VzZVBy
ZXNzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQ2FuY2VsTG9uZ01v
dXNlUHJlc3M7Cit9IFdLUGFnZVVJQ2xpZW50VjQ7CisKIGVudW0geyBrV0tQYWdlVUlDbGllbnRD
dXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9u
IG51bWJlciBpbnN0ZWFkIikgPSAyIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudCB7
CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2ZXJzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL2NnL1dLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL2NnL1dLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk2NjY4OGQzZjQ4ODVkNWI3YTdhMGZjMjJjMzkwNGE3ZGUxZjk2ZjIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2cvV0tMb25nTW91c2VQcmVz
c0RhdGFDRy5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJXS0xvbmdNb3VzZVByZXNzRGF0YUNHLmgiCisKKyNpbmNsdWRlICJB
UElMb25nTW91c2VQcmVzc0RhdGEuaCIKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRl
ICJXS1NoYXJlZEFQSUNhc3QuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOworCitDR0ltYWdlUmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weUNH
SW1hZ2VGcm9tU25hcHNob3QoV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NE
YXRhUmVmKQoreworICAgIFNoYXJlYWJsZUJpdG1hcCogc25hcHNob3QgPSB0b0ltcGwobG9uZ01v
dXNlUHJlc3NEYXRhUmVmKS0+c25hcHNob3QoKTsKKworICAgIHJldHVybiBzbmFwc2hvdCA/IHNu
YXBzaG90LT5tYWtlQ0dJbWFnZUNvcHkoKS5nZXQoKSA6IDA7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvY2cvV0tMb25nTW91c2VQcmVzc0RhdGFDRy5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2NnL1dLTG9uZ01vdXNlUHJlc3NEYXRhQ0cu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMmVhODRhZWNiZTQyMDYyZTUzYzRmMmZiODY5ZmIzODEwMmY3Y2ZiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2NnL1dLTG9u
Z01vdXNlUHJlc3NEYXRhQ0cuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBXS0xvbmdNb3VzZVByZXNzRGF0YUNHX2gKKyNkZWZpbmUgV0tMb25nTW91c2VQcmVzc0RhdGFD
R19oCisKKyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dJbWFnZS5oPgorI2luY2x1ZGUgPFdlYktp
dC9XS0Jhc2UuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgor
CitXS19FWFBPUlQgQ0dJbWFnZVJlZiBXS0xvbmdNb3VzZVByZXNzRGF0YUNvcHlDR0ltYWdlRnJv
bVNuYXBzaG90KFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZik7
CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBXS0xvbmdNb3Vz
ZVByZXNzRGF0YUNHX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUElM
b25nTW91c2VQcmVzc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdN
b3VzZVByZXNzRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ5NDMwOTI0YWFhMGEzZmYyMDQ2ZmMxMmU1
Y2Y0YmM5NzYxODFjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUElMb25nTW91c2VQcmVzc0RhdGEuY3BwCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgi
CisKK25hbWVzcGFjZSBBUEkgeworCitMb25nTW91c2VQcmVzc0RhdGE6OkxvbmdNb3VzZVByZXNz
RGF0YShjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBzdG9yZSkKKyAgICA6
IG1fc3RvcmUoc3RvcmUpCit7Cit9CisKK0xvbmdNb3VzZVByZXNzRGF0YTo6fkxvbmdNb3VzZVBy
ZXNzRGF0YSgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyN2E4NjIz
MGNhOWI2OTNlZmMyN2ZmNTNmODg4MGI5NDY2YjEzNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgKQEAgLTAsMCArMSw1
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQVBJTG9uZ01vdXNlUHJlc3NEYXRhX2gKKyNkZWZp
bmUgQVBJTG9uZ01vdXNlUHJlc3NEYXRhX2gKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2lu
Y2x1ZGUgIkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KKworbmFtZXNwYWNlIEFQSSB7CisKK2NsYXNzIExvbmdNb3VzZVByZXNzRGF0YSA6IHB1
YmxpYyBPYmplY3RJbXBsPE9iamVjdDo6VHlwZTo6TG9uZ01vdXNlUHJlc3NEYXRhPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TG9uZ01vdXNlUHJlc3NEYXRhPiBjcmVhdGUoY29u
c3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYgc3RvcmUpCisgICAgeworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IExvbmdNb3VzZVByZXNzRGF0YShzdG9yZSkpOworICAgIH0K
KworICAgIHZpcnR1YWwgfkxvbmdNb3VzZVByZXNzRGF0YSgpOworCisgICAgV1RGOjpTdHJpbmcg
dXJsU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdG9yZS51cmxTdHJpbmc7IH0KKyAgICBXZWJD
b3JlOjpGbG9hdFBvaW50IHNuYXBzaG90T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zdG9yZS5z
bmFwc2hvdE9yaWdpbjsgfQorICAgIFdlYktpdDo6U2hhcmVhYmxlQml0bWFwKiBzbmFwc2hvdCgp
IGNvbnN0IHsgcmV0dXJuIG1fc3RvcmUuc25hcHNob3QuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAg
ICBleHBsaWNpdCBMb25nTW91c2VQcmVzc0RhdGEoY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVz
c0RhdGFTdG9yZSYpOworCisgICAgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSBtX3N0
b3JlOworfTsKKworfSAvLyBuYW1lc3BhY2UgQVBJCisKKyNlbmRpZiAvLyBBUElMb25nTW91c2VQ
cmVzc0RhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCAwZTU2MGFiOTdhYzU3OTQ3NTJhOTI1Y2FkODBjZjk3M2Q2NGFiNTQ0Li4zODU4YWM2MDg3YmQx
YmI3NzgwZWMxNGI0NTU2ODgwN2Y4MDY1NDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtMTc0OSw2ICsxNzQ5LDIzIEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpjZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhKCkKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2U6OkNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWEoKSwgbV9wYWdlSUQp
OwogfQogCisjaWYgRU5BQkxFKExPTkdfTU9VU0VfUFJFU1MpCit2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkQmVnaW5Mb25nTW91c2VQcmVzcyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYgZGF0
YSkKK3sKKyAgICBtX3VpQ2xpZW50LT5kaWRCZWdpbkxvbmdNb3VzZVByZXNzKHRoaXMsIGRhdGEp
OworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MoY29u
c3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlk
UmVjb2duaXplTG9uZ01vdXNlUHJlc3ModGhpcywgZGF0YSk7Cit9CisKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9y
ZSYgZGF0YSkKK3sKKyAgICBtX3VpQ2xpZW50LT5kaWRDYW5jZWxMb25nTW91c2VQcmVzcyh0aGlz
LCBkYXRhKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2ZWRQb2xpY3lE
ZWNpc2lvbihQb2xpY3lBY3Rpb24gYWN0aW9uLCBXZWJGcmFtZVByb3h5KiBmcmFtZSwgdWludDY0
X3QgbGlzdGVuZXJJRCwgdWludDY0X3QgbmF2aWdhdGlvbklEKQogewogICAgIGlmICghaXNWYWxp
ZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDk2NWYzYzgy
OWI4NDEzYjhjYWJiYWZhMGQwNGUzNTZjNWJlN2RlZDAuLmNlYjZlY2FkYzQ3NzU1NzZmZmE4MjRl
Nzk1MDcwNjYxMzdiYmU1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKQEAgLTE3Niw2ICsxNzYsMTAgQEAgc3RydWN0IFBsYXRmb3JtUG9wdXBNZW51RGF0YTsKIHN0
cnVjdCBQcmludEluZm87CiBzdHJ1Y3QgV2ViUG9wdXBJdGVtOwogCisjaWYgRU5BQkxFKExPTkdf
TU9VU0VfUFJFU1MpCitzdHJ1Y3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmU7CisjZW5kaWYKKwog
I2lmIEVOQUJMRShWSUJSQVRJT04pCiBjbGFzcyBXZWJWaWJyYXRpb25Qcm94eTsKICNlbmRpZgpA
QCAtNjgwLDYgKzY4NCwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkcmF3SGVhZGVyKFdlYkZyYW1l
UHJveHkqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKICAgICB2b2lkIGRyYXdGb290ZXIo
V2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOwogCisjaWYgRU5BQkxF
KExPTkdfTU9VU0VfUFJFU1MpCisgICAgdm9pZCBkaWRCZWdpbkxvbmdNb3VzZVByZXNzKGNvbnN0
IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJik7CisgICAgdm9pZCBkaWRSZWNvZ25pemVMb25nTW91
c2VQcmVzcyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpOworICAgIHZvaWQgZGlkQ2Fu
Y2VsTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKTsKKyNlbmRp
ZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8gRGljdGlvbmFyeS4KICAgICB2b2lkIHBl
cmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgppbmRleCBhMWJiNWQ4ODNhNGVhN2ViNjYwOGEzZjBhNmVhZmVhNjEwNmQzNzdjLi44OTE0
M2M4NTQ5YWU4Y2JkZTdiOTZkN2ZmZDRhNjJiMDlmNDk4NGE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTI4NCw2ICsyODQs
MTIgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTdGFydERyYWcoV2ViQ29yZTo6
RHJhZ0RhdGEgZHJhZ0RhdGEsIFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgZHJhZ0lt
YWdlKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTE9OR19NT1VTRV9QUkVTUykKKyAgICBEaWRCZWdp
bkxvbmdNb3VzZVByZXNzKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUgZGF0YVN0b3Jl
KQorICAgIERpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmUgZGF0YVN0b3JlKQorICAgIERpZENhbmNlbExvbmdNb3VzZVByZXNzKFdlYktpdDo6
TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUgZGF0YVN0b3JlKQorI2VuZGlmCisKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICAjIERpY3Rpb25hcnkgc3VwcG9ydC4KICAgICBEaWRQZXJmb3JtRGljdGlv
bmFyeUxvb2t1cChXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgdGV4dCwgV2ViS2l0OjpEaWN0aW9u
YXJ5UG9wdXBJbmZvIGRpY3Rpb25hcnlQb3B1cEluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmZhZjE2MTdmOTk0OWYxMzE0
YTU4ZmY2ZGRjZTcxYWM5M2E1OTRlZi4uYmMyNjc5YTdmN2QzMDk4NzI4ODBhMzYzNDNlNzMxZWIw
NDcxNjBlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTA5NSwxMCArMTA5NSwxNiBAQAogCQk5MzkxRjJDQjEyMUI2N0FEMDBF
QkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MUYyODMxMjFCMzhGNTAwRUJGN0U4IC8qIFdl
YkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCAqLzsgfTsKIAkJOTM5QUU3NjYxMzE2RTk5QzAwQUUw
NkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzlBRTc2NTEzMTZFOTlDMDBBRTA2QTYgLyogV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmNwcCAqLzsgfTsKIAkJOTNCREVCMDExNzFERDdBRjAwQkZFRTFCIC8q
IFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzQkRFQjAwMTcxREQ3QUYwMEJGRUUxQiAvKiBXS1BhZ2VMb2FkVHlw
ZXNQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJOUMwQkJCRTIxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDMEJCQkUw
MTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAgKi87IH07CisJCTlD
MEJCQkUzMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUMwQkJCRTExOThDNkRGRTAw
RDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOUM0RTZCNzExOThDMDA1MTAwODc2NTVBIC8qIExv
bmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5QzRFNkI2RjE5OEMwMDUxMDA4NzY1NUEgLyogTG9uZ01vdXNlUHJl
c3NDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJOUM0RTZCNzIxOThDMDA1MTAwODc2NTVBIC8qIExv
bmdNb3VzZVByZXNzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUM0RTZCNzAxOThDMDA1MTAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNz
Q29udHJvbGxlci5oICovOyB9OwogCQk5QzRFNkI3NTE5OEMwMjk4MDA4NzY1NUEgLyogTG9uZ01v
dXNlUHJlc3NEYXRhU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUM0RTZCNzMxOThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzRGF0
YVN0b3JlLmNwcCAqLzsgfTsKIAkJOUM0RTZCNzYxOThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3Vz
ZVByZXNzRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5QzRFNkI3NDE5OEMwMjk4MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NEYXRhU3Rv
cmUuaCAqLzsgfTsKKwkJOUNFNkJDODAxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVBy
ZXNzRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5Q0U2QkM3RTE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAq
LzsgfTsKKwkJOUNFNkJDODExOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUNFNkJD
N0YxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5oICovOyB9OworCQk5
Q0VBMUE1NjE5OTA0QTc4MDBGOEU3MzIgLyogV0tMb25nTW91c2VQcmVzc0RhdGFDRy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Q0VBMUE1NDE5OTA0
QTc4MDBGOEU3MzIgLyogV0tMb25nTW91c2VQcmVzc0RhdGFDRy5jcHAgKi87IH07CisJCTlDRUEx
QTU3MTk5MDRBNzgwMEY4RTczMiAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YUNHLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Q0VBMUE1NTE5OTA0QTc4MDBG
OEU3MzIgLyogV0tMb25nTW91c2VQcmVzc0RhdGFDRy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTlGNTRGODhGMTY0ODhFODcwMDdERjgxQSAvKiBD
aGlsZFByb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5RjU0Rjg4RTE2NDg4RTg3MDA3REY4MUEgLyogQ2hpbGRQcm9jZXNzTWFjLm1tICov
OyB9OwogCQk5RjU0Rjg5NTE2NDhBRTBGMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXJN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RjU0
Rjg5NDE2NDhBRTBFMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXJNYWMubW0gKi87IH07
CiAJCTlGQjVGMzk0MTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUZCNUYzOTIxNjlF
NkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gKi87IH07CkBAIC0zMTUzLDEw
ICszMTU5LDE2IEBACiAJCTkzOTFGMjg0MTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdv
cmtpbmdDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTM5QUU3NjUxMzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0JERUIwMDE3MUREN0FGMDBC
RkVFMUIgLyogV0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXS1BhZ2VMb2FkVHlwZXNQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTlDMEJCQkUwMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0
YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0xvbmdNb3VzZVBy
ZXNzRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlDMEJCQkUxMTk4QzZE
RkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS0xvbmdNb3VzZVByZXNzRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5QzRFNkI2RjE5OEMwMDUxMDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NDb250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvbmdNb3Vz
ZVByZXNzQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlDNEU2
QjcwMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlDNEU2QjczMTk4QzAyOTgwMDg3NjU1QSAvKiBM
b25nTW91c2VQcmVzc0RhdGFTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5jcHA7IHBhdGggPSBTaGFyZWQvTG9uZ01v
dXNlUHJlc3NEYXRhU3RvcmUuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTlD
NEU2Qjc0MTk4QzAyOTgwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oOyBw
YXRoID0gU2hhcmVkL0xvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmg7IHNvdXJjZVRyZWUgPSBTT1VS
Q0VfUk9PVDsgfTsKKwkJOUNFNkJDN0UxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVBy
ZXNzRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBUElMb25n
TW91c2VQcmVzc0RhdGEuY3BwOyBwYXRoID0gVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0
YS5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJOUNFNkJDN0YxOThDNjA2MzAw
NjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBBUElMb25nTW91c2VQcmVzc0RhdGEuaDsgcGF0aCA9IFVJUHJvY2Vzcy9BUElM
b25nTW91c2VQcmVzc0RhdGEuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQk5Q0VB
MUE1NDE5OTA0QTc4MDBGOEU3MzIgLyogV0tMb25nTW91c2VQcmVzc0RhdGFDRy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXS0xvbmdNb3VzZVByZXNzRGF0YUNHLmNw
cDsgcGF0aCA9IGNnL1dLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5Q0VBMUE1NTE5OTA0QTc4MDBGOEU3MzIgLyogV0tMb25nTW91c2VQcmVz
c0RhdGFDRy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0xvbmdNb3VzZVBy
ZXNzRGF0YUNHLmg7IHBhdGggPSBjZy9XS0xvbmdNb3VzZVByZXNzRGF0YUNHLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGNTRGODhFMTY0ODhFODcwMDdERjgxQSAvKiBDaGlsZFBy
b2Nlc3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDaGls
ZFByb2Nlc3NNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGNTRGODk0MTY0
OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyog
V0tDb250ZXh0UHJpdmF0ZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
bmFtZSA9IFdLQ29udGV4dFByaXZhdGVNYWMubW07IHBhdGggPSBtYWMvV0tDb250ZXh0UHJpdmF0
ZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUyNTUsNiArNTI2Nyw4IEBA
CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1MTIzQ0YxOTEzM0QyNjBBMDA1NkY4MDAgLyogV0tJY29u
RGF0YWJhc2VDRy5jcHAgKi8sCiAJCQkJNTEyM0NGMUExMzNEMjYwQTAwNTZGODAwIC8qIFdLSWNv
bkRhdGFiYXNlQ0cuaCAqLywKKwkJCQk5Q0VBMUE1NDE5OTA0QTc4MDBGOEU3MzIgLyogV0tMb25n
TW91c2VQcmVzc0RhdGFDRy5jcHAgKi8sCisJCQkJOUNFQTFBNTUxOTkwNEE3ODAwRjhFNzMyIC8q
IFdLTG9uZ01vdXNlUHJlc3NEYXRhQ0cuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gY2c7CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNTc4NSw2ICs1Nzk5LDggQEAKIAkJCQkxQUFGMDg5
RTE5MjY4MUFDMDBCNjM5MEMgLyogVXNlckNvbnRlbnQgKi8sCiAJCQkJMUFFNTJGOEYxOTIwMURB
NzAwQTFGQTM3IC8qIEFQSUNvbnRleHRDb25maWd1cmF0aW9uLmNwcCAqLywKIAkJCQkxQUU1MkY5
MDE5MjAxREE3MDBBMUZBMzcgLyogQVBJQ29udGV4dENvbmZpZ3VyYXRpb24uaCAqLywKKwkJCQk5
Q0U2QkM3RTE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAqLywK
KwkJCQk5Q0U2QkM3RjE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgg
Ki8sCiAJCQkJQkNGNjlGQTExMTc2RDAxNDAwNDcxQTUyIC8qIEFQSU5hdmlnYXRpb25EYXRhLmNw
cCAqLywKIAkJCQlCQ0Y2OUZBMDExNzZEMDE0MDA0NzFBNTIgLyogQVBJTmF2aWdhdGlvbkRhdGEu
aCAqLywKIAkJCQk3NUE4RDJERDE4N0RFODc0MDBDMzlDOUUgLyogQVBJU2Vzc2lvbi5jcHAgKi8s
CkBAIC01OTkwLDYgKzYwMDYsOCBAQAogCQkJCTFDOEUyOTM3MTI3NjFFNUIwMEJDN0JEMCAvKiBX
S0luc3BlY3Rvci5oICovLAogCQkJCTUxQTlFMTA4MTMxNUNEMTgwMDlFNzAzMSAvKiBXS0tleVZh
bHVlU3RvcmFnZU1hbmFnZXIuY3BwICovLAogCQkJCTUxQTlFMTA5MTMxNUNEMTgwMDlFNzAzMSAv
KiBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuaCAqLywKKwkJCQk5QzBCQkJFMDE5OEM2REZFMDBE
NTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuY3BwICovLAorCQkJCTlDMEJCQkUxMTk4QzZE
RkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5oICovLAogCQkJCTMzRDNBM0IzMTMz
OTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmNwcCAqLywKIAkJCQkzM0QzQTNC
NDEzMzk2MDBCMDA3MDlCRTQgLyogV0tNZWRpYUNhY2hlTWFuYWdlci5oICovLAogCQkJCUMwOUFF
NUU4MTI1MjU3QzIwMDI1ODI1RCAvKiBXS05hdGl2ZUV2ZW50LmggKi8sCkBAIC03MTgzLDYgKzcy
MDEsNyBAQAogCQkJCUJDMDZGNDRBMTJEQkQxRjUwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzA2RjQzQTEy
REJDQ0ZCMDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMENFNzJBRDEyNDdFNzhEMDBCQzBFQzQgLyogSGFuZGxlTWVzc2Fn
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOUNFNkJDODExOThDNjA2MzAwNjVENUY1IC8qIEFQSUxv
bmdNb3VzZVByZXNzRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyQzA2ODkxNjM4RjY3RTAw
QUJCOTExIC8qIEhvc3RSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3RjkwREUzMTM3NjU2
MEUwMDUxQ0Y2OCAvKiBIVFRQQ29va2llQWNjZXB0UG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0NGNkIyNTEyQzkzRTdBMDA4RjlDMzUgLyogSW1hZ2VPcHRpb25zLmggaW4gSGVhZGVycyAq
LywKQEAgLTcyMjAsNiArNzIzOSw4IEBACiAJCQkJQkMzM0UwRDExMjQwOEU4NjAwMzYwRjNGIC8q
IEluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMTVEQzcy
MTkxRDgyREEwMERBODA3MiAvKiBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGQ0I0RTYwMThCQkUzRDkwMDBGQ0ZDOSAvKiBGaW5kSW5kaWNhdG9yV2luZG93
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5QzBCQkJFMzE5OEM2REZFMDBENTM5NUEgLyogV0tMb25n
TW91c2VQcmVzc0RhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCTlDRUExQTU3MTk5MDRBNzgwMEY4
RTczMiAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YUNHLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0
REY3NzEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNCMEIwREUxMjMwNUE4QzAwQjEzNDFFIC8qIEluamVjdGVkQnVuZGxl
VXNlck1lc3NhZ2VDb2RlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTQ5QTQ5MTFGRkE4Q0Uw
MDQ4QjQ2NCAvKiBKU05QTWV0aG9kLmggaW4gSGVhZGVycyAqLywKQEAgLTc4MzksOSArNzg2MCw5
IEBACiAJCQkJQkM4RjJGMkUxNjI3M0FDQzAwNUZBQ0I1IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTUw
MTcyNDE2MkE0NTA0MDA0QTlENzEgLyogV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3NTA2QjYxODU5MTY1NzAw
RUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJMUY3NTA2QjUxODU5MTY1NDAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
blNjcmlwdFdvcmxkSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3M0NFQUQ2MTg1NDE3
QUUwMDhDMzYzRCAvKiBXS05TRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCOEExRjAxODQw
MEIwMDAwRTlBRTY5IC8qIFdLUGFnZUZvcm1DbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFG
NzUwNkI1MTg1OTE2NTQwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk4OUQ4NTE2MUE5ODkwMDAwRDQ2RDMgLyog
V0tXZWJQcm9jZXNzUGx1Z0luSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDRFRkZD
MTZFNjVBRkIwMEUzMzZGMCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Qcml2YXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzJFNkU4RTExNDE5NzE1MDBBNjNCMUUgLyogV29ya1F1ZXVlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTkwMTksNiArOTA0MCw3IEBACiAJCQkJMUEyRDkyMjExMjgxREMxQjAwMUVC
OTYyIC8qIFBsdWdpblByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNzU1NDIyQzQxODA2
MkJGOTAwNDZGNkE4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUE4RUZBNzAxMjUyQjg0MTAwRjcwNjdGIC8qIFBsdWdpblByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTlDRUExQTU2MTk5MDRBNzgwMEY4RTczMiAv
KiBXS0xvbmdNb3VzZVByZXNzRGF0YUNHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc1QThEMkQ4
MTg3RDMwNDAwMEMzOUM5RSAvKiBXS1Nlc3Npb25SZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MzcxQTE5NDExODI0RDI5MzAwRjMyQTVFIC8qIFdLTlNEaWN0aW9uYXJ5Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0NENjIyNzcxNzM5RDg2MzAwNUJEN0ZGIC8qIFBsdWdpblNhbmRib3hQcm9maWxl
Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC05MDk4LDYgKzkxMjAsNyBAQAogCQkJCUM1RTFBRkVFMTZC
MjEwMjUwMDZDQzFGMiAvKiBBUElXZWJBcmNoaXZlUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM3MkJBMUQxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQUMxMzM3NDE4NTdDMjFFMDBGM0VDMDUgLyogQVBJR2VvbWV0
cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOUMwQkJCRTIxOThDNkRGRTAwRDUzOTVBIC8qIFdL
TG9uZ01vdXNlUHJlc3NEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxOEQyQ0FEMTJENTE1
M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNzJCOUZBMTFFNjQ3NkIwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUE1QTExMkY0RkJCMDAzMzdCQUIgLyogV2ViQ2hy
b21lQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTM0MCw2ICs5MzYzLDcgQEAKIAkJCQk1
MTJGNThGNzEyQTg4QTU0MDA2Mjk1MzAgLyogV0tBdXRoZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVu
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2NDZDMUExMUREMzk5RjAwNjQ1NUIwIC8qIFdL
QmFja0ZvcndhcmRMaXN0UmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjQ2QzFDMTFERDM5
OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1SZWYuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJOUNFNkJDODAxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTI1NkUzNzE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZp
Z2F0aW9uQWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzdCRjJGMDcxOTQ3REVCNDAwNzIz
QzQ4IC8qIFdLTlNVUkxSZXF1ZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCQUFDNzIxNDRF
NjE5OTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbSBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdN
b3VzZVByZXNzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmNwcAppbmRleCA0MGM4OGQ2MzkzOGU4OGVjNDRj
ZDk4NjU1ZDZiODZkNDgyZmMwZDE0Li43NzJlMGYzZjM5OGM4OGMwZWY0ODFmNzlhZTQyMTE0YTQ2
ODFlMzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9u
Z01vdXNlUHJlc3NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmNwcApAQCAtMzYsNiArMzYsNyBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBMb25nTW91c2VQ
cmVzc0NvbnRyb2xsZXI6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcihXZWJQYWdlKiB3ZWJQYWdl
KQorICAgIDogbV9wYWdlKHdlYlBhZ2UpCiB7CiB9CiAKQEAgLTQzLDE3ICs0NCwxNyBAQCB2b2lk
IExvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkQmVnaW5Mb25nTW91c2VQcmVzcyhjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgbQogewogICAgIC8vIEZJWE1FOiBHZW5lcmF0ZSBkYXRhIHN0b3Jl
IGZyb20gbG9jYXRpb24uCiAKLSAgICAvLyBGSVhNRTogTm90aWZ5IGNsaWVudCBvZiBsb25nIG1v
dXNlIHByZXNzIGV2ZW50LgorICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEaWRCZWdpbkxvbmdNb3VzZVByZXNzKG1fZGF0YVN0b3JlKSk7CiB9CiAKIHZvaWQgTG9uZ01v
dXNlUHJlc3NDb250cm9sbGVyOjpkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcygpCiB7Ci0gICAg
Ly8gRklYTUU6IE5vdGlmeSBjbGllbnQgb2YgbG9uZyBtb3VzZSBwcmVzcyBldmVudC4KKyAgICBt
X3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVjb2duaXplTG9uZ01vdXNl
UHJlc3MobV9kYXRhU3RvcmUpKTsKIH0KIAogdm9pZCBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXI6
OmRpZENhbmNlbExvbmdNb3VzZVByZXNzKCkKIHsKLSAgICAvLyBGSVhNRTogTm90aWZ5IGNsaWVu
dCBvZiBsb25nIG1vdXNlIHByZXNzIGV2ZW50LgorICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpEaWRDYW5jZWxMb25nTW91c2VQcmVzcyhtX2RhdGFTdG9yZSkpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaAppbmRleCBjNjQx
Nzc3ZjIxNzAyY2RlYTNjNWUxN2RmZDA0MDZmYTY1NmIyYjZlLi44MTc1MWE0ODE5ZGRiMTRlMzY0
N2Y1NGFhZTEyNjc3MGFlOTI5M2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oCkBAIC00Nyw2
ICs0Nyw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBMb25nTW91c2VQcmVzc0RhdGFTdG9y
ZSBtX2RhdGFTdG9yZTsKKyAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236129</attachid>
            <date>2014-08-06 13:21:31 -0700</date>
            <delta_ts>2014-08-06 15:08:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135580-20140806132119.patch</filename>
            <type>text/plain</type>
            <size>40959</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmE1MDQ4MjNiYjcwZDRl
ZjE3YjUyMzBiNWJlZjc1ZjJlMDU4NjA0NS4uZjg2YjZjZGQ3NmFiOWJlNWIwZTU0NWE0YmUyNTk4
MWQ2NTYxMjVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYxIEBACiAyMDE0LTA4LTA2ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgogCisgICAgICAgIEV4cG9zZSBsb25n
IG1vdXNlIHByZXNzIFdlYktpdDIgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHBvc2VzIGFuIEFQSSBvbiB0aGUgUGFnZVVJ
Q2xpZW50IGZvciB0aGUgbG9uZyBtb3VzZSBwcmVzcyBldmVudHMgZGlkQmVnaW5Mb25nTW91c2VQ
cmVzcywKKyAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MsIGFuZCBkaWRDYW5jZWxM
b25nTW91c2VQcmVzcy4gVGhpcyBwYXRjaCBhbHNvIGludHJvZHVjZXMgYSBjbGFzcywKKyAgICAg
ICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEsIHRvIGVuY2Fwc3VsYXRlIHRoZSBpbmZvcm1hdGlv
biBuZWVkZWQgZm9yIGEgbG9uZyBwcmVzcy4gU2luY2UgY3VycmVudGx5IGxpbmtzCisgICAgICAg
IGFyZSB0aGUgb25seSBlbGVtZW50cyB0aGF0IHN1cHBvcnQgbG9uZyBwcmVzcywgQVBJOjpMb25n
TW91c2VQcmVzc0RhdGEgY29udGFpbnMgb25seSBhIHNuYXBzaG90IG9mIHRoZQorICAgICAgICBs
b25nLXByZXNzZWQgbGluaywgdGhlIHNuYXBzaG90J3Mgb3JpZ2luLCBhbmQgdGhlIGxpbmsncyBV
UkwuIEFzIHdlIGV4dGVuZCBsb25nLXByZXNzIHN1cHBvcnQgdG8gb3RoZXIKKyAgICAgICAgdHlw
ZXMgb2YgZWxlbWVudHMsIEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhIHdpbGwgY29udGFpbiBtb3Jl
IHBpZWNlcyBvZiBpbmZvcm1hdGlvbi4KKyAgICAgICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEg
aXMgbW9kZWxlZCBhZnRlciBBUEk6TmF2aWdhdGlvbkRhdGEuCisKKyAgICAgICAgKiBTaGFyZWQv
QVBJL2MvV0tCYXNlLmg6IERlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZi4gCisgICAgICAg
ICogU2hhcmVkL0FQSU9iamVjdC5oOiBBZGQgTG9uZ01vdXNlUHJlc3NEYXRhIEFQSSB0eXBlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlD
bGllbnQ6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpOiBBZGRlZC4gRW1wdHkgQVBJIG1ldGhvZC4K
KyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKTogRGl0
dG8uCisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERp
dHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDogQWRkIExvbmdNb3Vz
ZVByZXNzRGF0YSBBUEkgbWFwcGluZy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tMb25n
TW91c2VQcmVzc0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRh
Q29weVVSTCk6IAorICAgICAgICBDIEFQSSB0byBjb3B5IHRoZSBVUkwgY29ycmVzcG9uZGluZyB0
byBsb25nLXByZXNzZWQgZWxlbWVudCwgaWYgYXZhaWxhYmxlLgorICAgICAgICAoV0tMb25nTW91
c2VQcmVzc0RhdGFHZXRTbmFwc2hvdE9yaWdpbik6IAorICAgICAgICBDIEFQSSB0byBnZXQgdGhl
IG9yaWdpbiBwb2ludCBvZiB0aGUgbG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdC4KKyAg
ICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weUNHSW1hZ2VGcm9tU25hcHNob3QpOiAKKyAg
ICAgICAgQyBBUEkgdG8gY29weSB0aGUgbG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdCBh
cyBhIENHSW1hZ2UuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NE
YXRhLmg6IAorICAgICAgICBBZGRlZC4gUGxhY2VkIGluIHRoZSAiUHJpdmF0ZSBIZWFkZXJzIiBz
ZWN0aW9uIG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VVSUNsaWVudCk6IEFkZCBzaGltcyBm
b3IgdGhlIGxvbmcgbW91c2UgcHJlc3MgZXZlbnRzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVz
c0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpMb25n
TW91c2VQcmVzc0RhdGEpOiBBZGRlZC4gQ3JlYXRlIEFQSSBzaGltIHdpdGggZGF0YSBzdG9yZS4g
CisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6fkxvbmdNb3VzZVByZXNzRGF0YSk6
IEFkZGVkLiBFbXB0eSBkZWNvbnN0cnVjdG9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUElMb25n
TW91c2VQcmVzc0RhdGEuaDogQWRkZWQuIE1vZGVsZWQgYWZ0ZXIgQVBJTmF2aWdhdGlvbkRhdGEu
CisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKTogQWRkZWQuIEdldHRl
ciBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgbWVtYmVyIG9uIHRoZSBkYXRhIHN0b3JlLgorICAgICAg
ICAoQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnVybFN0cmluZyk6IERpdHRvLgorICAgICAgICAo
QVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnNuYXBzaG90T3JpZ2luKTogRGl0dG8uCisgICAgICAg
IChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6c25hcHNob3QpOiBEaXR0by4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpkaWRCZWdpbkxvbmdNb3VzZVByZXNzKTogQWRkZWQuIE5vdGlmeSB0aGUgVUkgQ2xpZW50Lgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNz
KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2FuY2VsTG9uZ01v
dXNlUHJlc3MpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjogQWRkIGxvbmcgbW91
c2UgcHJlc3MgZXZlbnQgbWVzc2FnZXMuCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVz
c0NvbnRyb2xsZXIuY3BwOiAKKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9s
bGVyOjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIpOiBJbml0aWFsaXplIHdlYiBwYWdlIG1lbWJl
ciB2YXJpYWJsZS4KKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVyOjpk
aWRCZWdpbkxvbmdNb3VzZVByZXNzKTogTm90aWZ5IHRoZSBXZWJQYWdlUHJveHkuCisgICAgICAg
IChXZWJLaXQ6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkUmVjb2duaXplTG9uZ01vdXNl
UHJlc3MpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaDogQWRkIHdlYiBwYWdlIG1lbWJlciB2
YXJpYWJsZS4KKworMjAxNC0wOC0wNiAgUGV5dG9uIFJhbmRvbHBoICA8cHJhbmRvbHBoQGFwcGxl
LmNvbT4KKwogICAgICAgICBDcmVhdGUgc3R1YiBsb25nIG1vdXNlIHByZXNzIGNvbnRyb2xsZXIu
IFBhcnQgb2YgMTM1MjU3IC0gQWRkIGxvbmcgbW91c2UgcHJlc3MgZ2VzdHVyZQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTE1CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAppbmRleCA4ZDFlOTY1ZDVjNGFlMWZhOWU1OWY0NTNkOTYy
ZjQ4YTJiYmM4Y2Q5Li5mZTEyYjQ0ZGU1NDJkY2EwZWI3MzYwNDlkNzBiODhlNjYwYmU0NGI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCkBAIC0xMTAsNiArMTEwLDcgQEAgdHlw
ZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tIaXRUZXN0UmVzdWx0KiBXS0hpdFRlc3RSZXN1bHRS
ZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0ljb25EYXRhYmFzZSogV0tJY29uRGF0
YWJhc2VSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0luc3BlY3RvciogV0tJbnNw
ZWN0b3JSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0tleVZhbHVlU3RvcmFnZU1h
bmFnZXIqIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZjsKK3R5cGVkZWYgY29uc3Qgc3RydWN0
IE9wYXF1ZVdLTG9uZ01vdXNlUHJlc3NEYXRhKiBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTWVkaWFDYWNoZU1hbmFnZXIqIFdLTWVkaWFDYWNo
ZU1hbmFnZXJSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS05hdmlnYXRpb25EYXRh
KiBXS05hdmlnYXRpb25EYXRhUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tOb3Rp
ZmljYXRpb24qIFdLTm90aWZpY2F0aW9uUmVmOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCmlu
ZGV4IDZkZjQ5MTgzZDJiYzQ2MjY1Y2MwOWY3YjVkNTc0YTA3YjNjMGM1OTIuLjg4MjFhZTQ2Y2Yx
ZDMzY2IzMWQzMzZmZjMwYjVmZmViOGEwYmZkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0
LmgKQEAgLTExOCw2ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEljb25EYXRhYmFzZSwKICAg
ICAgICAgSW5zcGVjdG9yLAogICAgICAgICBLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLAorICAgICAg
ICBMb25nTW91c2VQcmVzc0RhdGEsCiAgICAgICAgIE1lZGlhQ2FjaGVNYW5hZ2VyLAogICAgICAg
ICBOYXZpZ2F0aW9uRGF0YSwKICAgICAgICAgTm90aWZpY2F0aW9uLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IGMyNTg4MDU3ZWYyNjZkZDZkYjk0MTMw
MmViOWU1NjgyNmY1MGMzM2IuLjMyNTFlNTc1YWI2N2RlMWJmZjFjMzZjZmNkNTJjOTJiMTk4MDg1
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKQEAgLTE0
MCw2ICsxNDAsMTIgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHBpbm5lZFN0YXRlRGlk
Q2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAKKyNpZiBFTkFCTEUoTE9OR19NT1VT
RV9QUkVTUykKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5Mb25nTW91c2VQcmVzcyhXZWJLaXQ6
OldlYlBhZ2VQcm94eSosIGNvbnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MoV2ViS2l0OjpX
ZWJQYWdlUHJveHkqLCBjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlJikgeyB9
CisgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbExvbmdNb3VzZVByZXNzKFdlYktpdDo6V2ViUGFn
ZVByb3h5KiwgY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpIHsgfQorI2Vu
ZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAgICAgdmlydHVhbCBSZXRhaW5QdHI8TlNBcnJheT4g
YWN0aW9uc0ZvckVsZW1lbnQoX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgUmV0YWluUHRyPE5T
QXJyYXk+IGRlZmF1bHRBY3Rpb25zKSB7IHJldHVybiBXVEY6Om1vdmUoZGVmYXVsdEFjdGlvbnMp
OyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNh
c3QuaAppbmRleCA4MDIyMWE5MWIyZjkxNjM1NTI5OWJjMjVmMmQwZjFjODAxOTQ3YzJjLi42NWFm
M2ZlMTBiYThlZWMyNmQ1ZDIzZjEzMTdlOTExMzRlM2NjMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC01Miw2ICs1Miw3IEBACiAKIG5hbWVzcGFj
ZSBBUEkgewogY2xhc3MgQ29udGV4dENvbmZpZ3VyYXRpb247CitjbGFzcyBMb25nTW91c2VQcmVz
c0RhdGE7CiBjbGFzcyBOYXZpZ2F0aW9uRGF0YTsKIGNsYXNzIFNlc3Npb25TdGF0ZTsKIH0KQEAg
LTEyOCw2ICsxMjksNyBAQCBXS19BRERfQVBJX01BUFBJTkcoV0tHcmFtbWFyRGV0YWlsUmVmLCBX
ZWJHcmFtbWFyRGV0YWlsKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLSGl0VGVzdFJlc3VsdFJlZiwg
V2ViSGl0VGVzdFJlc3VsdCkKIFdLX0FERF9BUElfTUFQUElORyhXS0ljb25EYXRhYmFzZVJlZiwg
V2ViSWNvbkRhdGFiYXNlKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLS2V5VmFsdWVTdG9yYWdlTWFu
YWdlclJlZiwgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcikKK1dLX0FERF9BUElfTUFQUElORyhX
S0xvbmdNb3VzZVByZXNzRGF0YVJlZiwgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEpCiBXS19BRERf
QVBJX01BUFBJTkcoV0tNZWRpYUNhY2hlTWFuYWdlclJlZiwgV2ViTWVkaWFDYWNoZU1hbmFnZXJQ
cm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS05hdmlnYXRpb25EYXRhUmVmLCBBUEk6Ok5hdmln
YXRpb25EYXRhKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiwg
V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ5
YmQ1MmU2Y2I5OTBiNDQxMDIxMjc0MjI3MDRmYTMzODM3OWRjMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAK
QEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXS0xvbmdNb3VzZVByZXNzRGF0YS5oIgorCisjaW5jbHVkZSAiQVBJTG9uZ01vdXNlUHJl
c3NEYXRhLmgiCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
KwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworV0tUeXBlSUQgV0tMb25nTW91c2VQcmVzc0Rh
dGFHZXRUeXBlSUQoKQoreworICAgIHJldHVybiB0b0FQSShBUEk6OkxvbmdNb3VzZVByZXNzRGF0
YTo6QVBJVHlwZSk7Cit9CisKK1dLVVJMUmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weVVSTChX
S0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpCit7CisgICAgcmV0
dXJuIHRvQ29waWVkVVJMQVBJKHRvSW1wbChsb25nTW91c2VQcmVzc0RhdGFSZWYpLT51cmxTdHJp
bmcoKSk7Cit9CisKK1dLSW1hZ2VSZWYgV0tMb25nTW91c2VQcmVzc0RhdGFHZXRTbmFwc2hvdChX
S0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpCit7CisgICAgUmVm
UHRyPFdlYkltYWdlPiBzbmFwc2hvdCA9IFdlYkltYWdlOjpjcmVhdGUodG9JbXBsKGxvbmdNb3Vz
ZVByZXNzRGF0YVJlZiktPnNuYXBzaG90KCkpOworICAgIHJldHVybiB0b0FQSShzbmFwc2hvdC5y
ZWxlYXNlKCkubGVha1JlZigpKTsKK30KKworV0tQb2ludCBXS0xvbmdNb3VzZVByZXNzRGF0YUdl
dFNuYXBzaG90T3JpZ2luKFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0
YVJlZikKK3sKKyAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHNuYXBzaG90T3JpZ2luID0gdG9JbXBs
KGxvbmdNb3VzZVByZXNzRGF0YVJlZiktPnNuYXBzaG90T3JpZ2luKCk7CisgICAgcmV0dXJuIFdL
UG9pbnRNYWtlKHNuYXBzaG90T3JpZ2luLngoKSwgc25hcHNob3RPcmlnaW4ueSgpKTsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNz
RGF0YS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NE
YXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmE3YzcwZWEzNTg4NTQxMTM3MGI3MjY3MDM4MmY3M2Q5MmQxZDIz
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xv
bmdNb3VzZVByZXNzRGF0YS5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFdLTG9uZ01vdXNlUHJlc3NEYXRhX2gKKyNkZWZpbmUgV0tMb25nTW91c2VQcmVzc0RhdGFfaAor
CisjaW5jbHVkZSA8V2ViS2l0L1dLQmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdC9XS0dlb21ldHJ5
Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworV0tfRVhQ
T1JUIFdLVHlwZUlEIFdLTG9uZ01vdXNlUHJlc3NEYXRhR2V0VHlwZUlEKCk7CisKK1dLX0VYUE9S
VCBXS1VSTFJlZiBXS0xvbmdNb3VzZVByZXNzRGF0YUNvcHlVUkwoV0tMb25nTW91c2VQcmVzc0Rh
dGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhUmVmKTsKK1dLX0VYUE9SVCBXS0ltYWdlUmVmIFdLTG9u
Z01vdXNlUHJlc3NEYXRhR2V0U25hcHNob3QoV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01v
dXNlUHJlc3NEYXRhUmVmKTsKK1dLX0VYUE9SVCBXS1BvaW50IFdLTG9uZ01vdXNlUHJlc3NEYXRh
R2V0U25hcHNob3RPcmlnaW4oV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NE
YXRhUmVmKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8vIFdL
TG9uZ01vdXNlUHJlc3NEYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAKaW5kZXggZDlhM2E5MWZjODQ5Y2MyMTY5M2QwZTA5N2E4MzJhMWUxN2YxMWE1Mi4uNzMx
NzkxMmJhZDZjZWMwNmI4NGYzYjgyM2QxOWQ3OGY1YmE3NThlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTMxLDExICszMSwxMyBAQAogI2luY2x1ZGUg
IkFQSURhdGEuaCIKICNpbmNsdWRlICJBUElGaW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJTG9h
ZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgiCiAjaW5jbHVk
ZSAiQVBJUG9saWN5Q2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJU2Vzc2lvblN0YXRlLmgiCiAjaW5j
bHVkZSAiQVBJVUlDbGllbnQuaCIKICNpbmNsdWRlICJJbW11dGFibGVEaWN0aW9uYXJ5LmgiCiAj
aW5jbHVkZSAiTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmgiCisjaW5jbHVkZSAiTG9uZ01vdXNl
UHJlc3NEYXRhU3RvcmUuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAj
aW5jbHVkZSAiTmF0aXZlV2ViV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIk5hdmlnYXRpb25BY3Rp
b25EYXRhLmgiCkBAIC03NCw3ICs3Niw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0
czxXS1BhZ2VQb2xpY3lDbGllbnRCYXNlPiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGll
bnRUcmFpdHM8V0tQYWdlVUlDbGllbnRCYXNlPiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdL
UGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFn
ZVVJQ2xpZW50VjM+IFZlcnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNs
aWVudFYwLCBXS1BhZ2VVSUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVu
dFYzLCBXS1BhZ2VVSUNsaWVudFY0PiBWZXJzaW9uczsKIH07CiAKIH0KQEAgLTE1ODMsNiArMTU4
NSwzNSBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29u
c3QgV0tQYWdlVUlDbGllbnRCYXNlKiB3a0NsaWVudAogCiAgICAgICAgICAgICBtX2NsaWVudC5w
aW5uZWRTdGF0ZURpZENoYW5nZSh0b0FQSSgmcGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7CiAgICAgICAgIH0KKworI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkQmVnaW5Mb25nTW91c2VQcmVzcyhXZWJQYWdlUHJveHkqIHBhZ2UsIGNv
bnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBzdG9yZSkgb3ZlcnJpZGUKKyAgICAgICAgewor
ICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRCZWdpbkxvbmdNb3VzZVByZXNzKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgUmVmUHRyPEFQSTo6TG9uZ01vdXNlUHJl
c3NEYXRhPiBkYXRhID0gQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OmNyZWF0ZShzdG9yZSk7Cisg
ICAgICAgICAgICBtX2NsaWVudC5kaWRCZWdpbkxvbmdNb3VzZVByZXNzKHRvQVBJKHBhZ2UpLCB0
b0FQSShkYXRhLmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQor
CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJQYWdl
UHJveHkqIHBhZ2UsIGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBzdG9yZSkgb3ZlcnJp
ZGUKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNvZ25pemVMb25n
TW91c2VQcmVzcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIFJlZlB0
cjxBUEk6OkxvbmdNb3VzZVByZXNzRGF0YT4gZGF0YSA9IEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRh
OjpjcmVhdGUoc3RvcmUpOworICAgICAgICAgICAgbV9jbGllbnQuZGlkUmVjb2duaXplTG9uZ01v
dXNlUHJlc3ModG9BUEkocGFnZSksIHRvQVBJKGRhdGEuZ2V0KCkpLCBtX2NsaWVudC5iYXNlLmNs
aWVudEluZm8pOworICAgICAgICB9CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbExv
bmdNb3VzZVByZXNzKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRh
U3RvcmUmIHN0b3JlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW1fY2xp
ZW50LmRpZENhbmNlbExvbmdNb3VzZVByZXNzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICAgICAgUmVmUHRyPEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhPiBkYXRhID0gQVBJOjpM
b25nTW91c2VQcmVzc0RhdGE6OmNyZWF0ZShzdG9yZSk7CisgICAgICAgICAgICBtX2NsaWVudC5k
aWRDYW5jZWxMb25nTW91c2VQcmVzcyh0b0FQSShwYWdlKSwgdG9BUEkoZGF0YS5nZXQoKSksIG1f
Y2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoTE9O
R19NT1VTRV9QUkVTUykKICAgICB9OwogCiAgICAgdG9JbXBsKHBhZ2VSZWYpLT5zZXRVSUNsaWVu
dChzdGQ6Om1ha2VfdW5pcXVlPFVJQ2xpZW50Pih3a0NsaWVudCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAppbmRleCBmZTY2ODY5YjkzNDMz
NTk2OWEwZWY5YTBlYmVhMmYzMzQ2ZDFjZjZmLi4xNTlhYzc1ZmUwNjc0MmFiNTQ1MjM4NGM4MDRh
NzVhMWQ3ZTkyZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlVUlDbGllbnQuaApAQCAtODYsNiArODYsOSBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTaG93
Q29sb3JQaWNrZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGluaXRpYQog
dHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2spKFdLUGFnZVJlZiBw
YWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tQbHVn
aW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiwgV0tEaWN0
aW9uYXJ5UmVmIHBsdWdpbkluZm9EaWN0aW9uYXJ5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLUGFnZVBpbm5lZFN0YXRlRGlkQ2hhbmdlQ2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFn
ZURpZEJlZ2luTG9uZ01vdXNlUHJlc3NDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLTG9uZ01v
dXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEaWRSZWNvZ25pemVMb25nTW91c2VQcmVzc0NhbGxi
YWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJl
c3NEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURp
ZENhbmNlbExvbmdNb3VzZVByZXNzQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0xvbmdNb3Vz
ZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwogCiAvLyBEZXByZWNhdGVkICAgIAogdHlwZWRlZiBXS1BhZ2VSZWYgKCpXS1BhZ2VDcmVhdGVO
ZXdQYWdlQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdL
RGljdGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZl
bnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CkBAIC0z
MDksNiArMzEyLDcwIEBAIHR5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50VjMgewogICAgIFdL
UGFnZVBpbm5lZFN0YXRlRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGlubmVkU3RhdGVEaWRDaGFuZ2U7CiB9IFdLUGFnZVVJQ2xpZW50VjM7CiAKK3R5
cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50VjQgeworICAgIFdLUGFnZVVJQ2xpZW50QmFzZSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTsKKwor
ICAgIC8vIFZlcnNpb24gMC4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2tfZGVwcmVj
YXRlZEZvclVzZVdpdGhWMCAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2VfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dQYWdlOworICAgIFdLUGFnZVVJQ2xp
ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2xvc2U7CisgICAgV0tQYWdlVGFrZUZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0YWtlRm9jdXM7CisgICAgV0tQYWdlRm9jdXNDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1czsK
KyAgICBXS1BhZ2VVbmZvY3VzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuZm9jdXM7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxl
cnQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybTsKKyAgICBXS1BhZ2VSdW5K
YXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAgV0tQYWdlU2V0U3RhdHVzVGV4dENhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0dXNUZXh0OworICAg
IFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJFbGVtZW50Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdp
dGhWMCAgICAgICAgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRfZGVwcmVjYXRlZEZvclVzZVdpdGhW
MDsKKyAgICBXS1BhZ2VNaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjAgICAgIG1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjA7CisgICAgV0tQYWdlRGlkTm90SGFuZGxlS2V5RXZlbnRDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVLZXlFdmVudDsKKyAgICBX
S1BhZ2VEaWROb3RIYW5kbGVXaGVlbEV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZE5vdEhhbmRsZVdoZWVsRXZlbnQ7CisgICAgV0tQYWdlR2V0VG9vbGJhcnNB
cmVWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYmFy
c0FyZVZpc2libGU7CisgICAgV0tQYWdlU2V0VG9vbGJhcnNBcmVWaXNpYmxlQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUb29sYmFyc0FyZVZpc2libGU7CisgICAg
V0tQYWdlR2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtZW51QmFySXNWaXNpYmxlOworICAgIFdLUGFnZVNldE1lbnVCYXJJc1Zpc2li
bGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWVudUJhcklz
VmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VT
ZXRTdGF0dXNCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNldFN0YXR1c0JhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRJc1Jlc2l6YWJsZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVzaXphYmxlOwor
ICAgIFdLUGFnZVNldElzUmVzaXphYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0SXNSZXNpemFibGU7CisgICAgV0tQYWdlR2V0V2luZG93RnJhbWVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRXaW5kb3dG
cmFtZTsKKyAgICBXS1BhZ2VTZXRXaW5kb3dGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNldFdpbmRvd0ZyYW1lOworICAgIFdLUGFnZVJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkRHJhdzsKKyAgICBX
S1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhZ2VEaWRTY3JvbGw7CisgICAgV0tQYWdlRXhjZWVkZWREYXRhYmFzZVF1b3Rh
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlZWRlZERhdGFiYXNl
UXVvdGE7CisgICAgV0tQYWdlUnVuT3BlblBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBydW5PcGVuUGFuZWw7CisgICAgV0tQYWdlRGVjaWRlUG9s
aWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgICBkZWNp
ZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZUhlYWRl
ckhlaWdodENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVhZGVySGVpZ2h0OworICAgIFdLUGFnZUZvb3RlckhlaWdodENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9vdGVySGVpZ2h0OworICAgIFdLUGFnZURy
YXdIZWFkZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZHJhd0hlYWRlcjsKKyAgICBXS1BhZ2VEcmF3Rm9vdGVyQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdGb290ZXI7CisgICAgV0tQYWdlUHJp
bnRGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcmludEZyYW1lOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuTW9kYWw7CisgICAgdm9pZCogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnVzZWQxOyAvLyBVc2VkIHRvIGJlIGRpZENvbXBsZXRlUnViYmVyQmFuZEZvck1haW5GcmFtZQor
ICAgIFdLUGFnZVNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXJDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgc2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcjsKKyAgICBXS1Bh
Z2VTaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEludGVycnVwdEphdmFTY3JpcHQ7CisKKyAgICAvLyBWZXJzaW9uIDEuCisg
ICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlOworICAgIFdLUGFnZU1vdXNlRGlkTW92ZU92ZXJF
bGVtZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VEaWRNb3Zl
T3ZlckVsZW1lbnQ7CisgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RDYWxsYmFjayAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBXS1BhZ2VVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNr
ZWRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYxIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9u
Q2xpY2tlZF9kZXByZWNhdGVkRm9yVXNlV2l0aFYxOworCisgICAgLy8gVmVyc2lvbiAyLgorICAg
IFdLUGFnZVNob3dDb2xvclBpY2tlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2hvd0NvbG9yUGlja2VyOworICAgIFdLUGFnZUhpZGVDb2xvclBpY2tlckNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbG9yUGlj
a2VyOworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkOworICAg
IAorICAgIC8vIFZlcnNpb24gMy4KKyAgICBXS1BhZ2VQaW5uZWRTdGF0ZURpZENoYW5nZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm5lZFN0YXRlRGlkQ2hhbmdl
OworCisgICAgLy8gVmVyc2lvbiA0LgorICAgIFdLUGFnZURpZEJlZ2luTG9uZ01vdXNlUHJlc3ND
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQmVnaW5Mb25nTW91c2VQ
cmVzczsKKyAgICBXS1BhZ2VEaWRSZWNvZ25pemVMb25nTW91c2VQcmVzc0NhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzOworICAgIFdL
UGFnZURpZENhbmNlbExvbmdNb3VzZVByZXNzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3M7Cit9IFdLUGFnZVVJQ2xpZW50VjQ7CisK
IGVudW0geyBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiBXS19FTlVNX0RFUFJFQ0FURUQo
IlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFkIikgPSAyIH07CiB0eXBlZGVm
IHN0cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yZDk0MzA5MjRhYWEwYTNmZjIwNDZmYzEyZTVjZjRiYzk3NjE4MWMwCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0
YS5jcHAKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJBUElMb25nTW91c2VQcmVzc0RhdGEuaCIKKworbmFtZXNwYWNlIEFQSSB7CisK
K0xvbmdNb3VzZVByZXNzRGF0YTo6TG9uZ01vdXNlUHJlc3NEYXRhKGNvbnN0IFdlYktpdDo6TG9u
Z01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKQorICAgIDogbV9zdG9yZShzdG9yZSkKK3sKK30K
KworTG9uZ01vdXNlUHJlc3NEYXRhOjp+TG9uZ01vdXNlUHJlc3NEYXRhKCkKK3sKK30KKworfSAv
LyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
TG9uZ01vdXNlUHJlc3NEYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01v
dXNlUHJlc3NEYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI3YTg2MjMwY2E5YjY5M2VmYzI3ZmY1M2Y4ODgw
Yjk0NjZiMTM2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UElMb25nTW91c2VQcmVzc0RhdGEuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBBUElMb25nTW91c2VQcmVzc0RhdGFfaAorI2RlZmluZSBBUElMb25nTW91c2VQcmVzc0Rh
dGFfaAorCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiTG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgQVBJ
IHsKKworY2xhc3MgTG9uZ01vdXNlUHJlc3NEYXRhIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0
OjpUeXBlOjpMb25nTW91c2VQcmVzc0RhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxMb25nTW91c2VQcmVzc0RhdGE+IGNyZWF0ZShjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVBy
ZXNzRGF0YVN0b3JlJiBzdG9yZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
TG9uZ01vdXNlUHJlc3NEYXRhKHN0b3JlKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+TG9uZ01v
dXNlUHJlc3NEYXRhKCk7CisKKyAgICBXVEY6OlN0cmluZyB1cmxTdHJpbmcoKSBjb25zdCB7IHJl
dHVybiBtX3N0b3JlLnVybFN0cmluZzsgfQorICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgc25hcHNo
b3RPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3N0b3JlLnNuYXBzaG90T3JpZ2luOyB9CisgICAg
V2ViS2l0OjpTaGFyZWFibGVCaXRtYXAqIHNuYXBzaG90KCkgY29uc3QgeyByZXR1cm4gbV9zdG9y
ZS5zbmFwc2hvdC5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IExvbmdNb3VzZVBy
ZXNzRGF0YShjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlJik7CisKKyAgICBX
ZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlIG1fc3RvcmU7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBBUEkKKworI2VuZGlmIC8vIEFQSUxvbmdNb3VzZVByZXNzRGF0YV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDBlNTYwYWI5N2FjNTc5NDc1MmE5
MjVjYWQ4MGNmOTczZDY0YWI1NDQuLjM4NThhYzYwODdiZDFiYjc3ODBlYzE0YjQ1NTY4ODA3Zjgw
NjU0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0x
NzQ5LDYgKzE3NDksMjMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNlbnRlclNlbGVjdGlvbkluVmlz
aWJsZUFyZWEoKQogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6Q2VudGVy
U2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpLCBtX3BhZ2VJRCk7CiB9CiAKKyNpZiBFTkFCTEUoTE9O
R19NT1VTRV9QUkVTUykKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRCZWdpbkxvbmdNb3VzZVByZXNz
KGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBkYXRhKQoreworICAgIG1fdWlDbGllbnQt
PmRpZEJlZ2luTG9uZ01vdXNlUHJlc3ModGhpcywgZGF0YSk7Cit9CisKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFT
dG9yZSYgZGF0YSkKK3sKKyAgICBtX3VpQ2xpZW50LT5kaWRSZWNvZ25pemVMb25nTW91c2VQcmVz
cyh0aGlzLCBkYXRhKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZENhbmNlbExvbmdNb3Vz
ZVByZXNzKGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBkYXRhKQoreworICAgIG1fdWlD
bGllbnQtPmRpZENhbmNlbExvbmdNb3VzZVByZXNzKHRoaXMsIGRhdGEpOworfQorI2VuZGlmCisK
IHZvaWQgV2ViUGFnZVByb3h5OjpyZWNlaXZlZFBvbGljeURlY2lzaW9uKFBvbGljeUFjdGlvbiBh
Y3Rpb24sIFdlYkZyYW1lUHJveHkqIGZyYW1lLCB1aW50NjRfdCBsaXN0ZW5lcklELCB1aW50NjRf
dCBuYXZpZ2F0aW9uSUQpCiB7CiAgICAgaWYgKCFpc1ZhbGlkKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOTY1ZjNjODI5Yjg0MTNiOGNhYmJhZmEwZDA0ZTM1
NmM1YmU3ZGVkMC4uY2ViNmVjYWRjNDc3NTU3NmZmYTgyNGU3OTUwNzA2NjEzN2JiZTU0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTc2LDYgKzE3NiwxMCBA
QCBzdHJ1Y3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhOwogc3RydWN0IFByaW50SW5mbzsKIHN0cnVj
dCBXZWJQb3B1cEl0ZW07CiAKKyNpZiBFTkFCTEUoTE9OR19NT1VTRV9QUkVTUykKK3N0cnVjdCBM
b25nTW91c2VQcmVzc0RhdGFTdG9yZTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJQlJBVElPTikK
IGNsYXNzIFdlYlZpYnJhdGlvblByb3h5OwogI2VuZGlmCkBAIC02ODAsNiArNjg0LDEyIEBAIHB1
YmxpYzoKICAgICB2b2lkIGRyYXdIZWFkZXIoV2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYpOwogICAgIHZvaWQgZHJhd0Zvb3RlcihXZWJGcmFtZVByb3h5KiwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRSZWN0Jik7CiAKKyNpZiBFTkFCTEUoTE9OR19NT1VTRV9QUkVTUykKKyAg
ICB2b2lkIGRpZEJlZ2luTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3Rv
cmUmKTsKKyAgICB2b2lkIGRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKGNvbnN0IExvbmdNb3Vz
ZVByZXNzRGF0YVN0b3JlJik7CisgICAgdm9pZCBkaWRDYW5jZWxMb25nTW91c2VQcmVzcyhjb25z
dCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpOworI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICAvLyBEaWN0aW9uYXJ5LgogICAgIHZvaWQgcGVyZm9ybURpY3Rpb25hcnlMb29rdXBB
dExvY2F0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGExYmI1ZDg4M2E0
ZWE3ZWI2NjA4YTNmMGE2ZWFmZWE2MTA2ZDM3N2MuLjg5MTQzYzg1NDlhZThjYmRlN2I5NmQ3ZmZk
NGE2MmIwOWY0OTg0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjg0LDYgKzI4NCwxMiBAQCBtZXNzYWdlcyAtPiBXZWJQ
YWdlUHJveHkgewogICAgIFN0YXJ0RHJhZyhXZWJDb3JlOjpEcmFnRGF0YSBkcmFnRGF0YSwgV2Vi
S2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBkcmFnSW1hZ2UpCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgIERpZEJlZ2luTG9uZ01vdXNlUHJlc3MoV2ViS2l0
OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSBkYXRhU3RvcmUpCisgICAgRGlkUmVjb2duaXplTG9u
Z01vdXNlUHJlc3MoV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSBkYXRhU3RvcmUpCisg
ICAgRGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9y
ZSBkYXRhU3RvcmUpCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICMgRGljdGlv
bmFyeSBzdXBwb3J0LgogICAgIERpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKFdlYktpdDo6QXR0
cmlidXRlZFN0cmluZyB0ZXh0LCBXZWJLaXQ6OkRpY3Rpb25hcnlQb3B1cEluZm8gZGljdGlvbmFy
eVBvcHVwSW5mbykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA2ZmFmMTYxN2Y5OTQ5ZjEzMTRhNThmZjZkZGNlNzFhYzkzYTU5NGVm
Li5iODY3ZDBlYmU2ZDkxOTU2ZjRjMTNkMjdjOWRhYTdiZTNiYzc2ZWJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDk1LDEw
ICsxMDk1LDE0IEBACiAJCTkzOTFGMkNCMTIxQjY3QUQwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdv
cmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzkxRjI4MzEyMUIzOEY1MDBFQkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4
dC5oICovOyB9OwogCQk5MzlBRTc2NjEzMTZFOTlDMDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzOUFFNzY1MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwICov
OyB9OwogCQk5M0JERUIwMTE3MUREN0FGMDBCRkVFMUIgLyogV0tQYWdlTG9hZFR5cGVzUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNCREVC
MDAxNzFERDdBRjAwQkZFRTFCIC8qIFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5QzBCQkJFMjE5OEM2REZF
MDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUMwQkJCRTAxOThDNkRGRTAwRDUzOTVBIC8qIFdL
TG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAqLzsgfTsKKwkJOUMwQkJCRTMxOThDNkRGRTAwRDUzOTVB
IC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5QzBCQkJFMTE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQ
cmVzc0RhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk5QzRFNkI3MTE5OEMwMDUxMDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNEU2
QjZGMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwICovOyB9
OwogCQk5QzRFNkI3MjE5OEMwMDUxMDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QzRFNkI3
MDE5OEMwMDUxMDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmggKi87IH07CiAJ
CTlDNEU2Qjc1MTk4QzAyOTgwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QzRFNkI3MzE5
OEMwMjk4MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuY3BwICovOyB9OwogCQk5
QzRFNkI3NjE5OEMwMjk4MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNEU2Qjc0MTk4QzAy
OTgwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oICovOyB9OworCQk5Q0U2QkM4
MDE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDRTZCQzdFMTk4QzYwNjMwMDY1
RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuY3BwICovOyB9OworCQk5Q0U2QkM4MTE5OEM2
MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Q0U2QkM3RjE5OEM2MDYzMDA2NUQ1RjUgLyog
QVBJTG9uZ01vdXNlUHJlc3NEYXRhLmggKi87IH07CiAJCTlGNTRGODhGMTY0ODhFODcwMDdERjgx
QSAvKiBDaGlsZFByb2Nlc3NNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5RjU0Rjg4RTE2NDg4RTg3MDA3REY4MUEgLyogQ2hpbGRQcm9jZXNzTWFj
Lm1tICovOyB9OwogCQk5RjU0Rjg5NTE2NDhBRTBGMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vzc01h
bmFnZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5RjU0Rjg5NDE2NDhBRTBFMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXJNYWMubW0g
Ki87IH07CiAJCTlGQjVGMzk0MTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFj
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUZCNUYz
OTIxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gKi87IH07CkBAIC0z
MTUzLDEwICszMTU3LDE0IEBACiAJCTkzOTFGMjg0MTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFt
ZU5ldHdvcmtpbmdDb250ZXh0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTM5QUU3NjUxMzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVy
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0JERUIwMDE3MURE
N0FGMDBCRkVFMUIgLyogV0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS1BhZ2VMb2FkVHlwZXNQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTlDMEJCQkUwMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVBy
ZXNzRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0xvbmdN
b3VzZVByZXNzRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlDMEJCQkUx
MTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXS0xvbmdNb3VzZVByZXNzRGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5QzRFNkI2RjE5OEMwMDUxMDA4NzY1NUEgLyogTG9uZ01vdXNlUHJl
c3NDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExv
bmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTlDNEU2QjcwMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlDNEU2QjczMTk4QzAyOTgwMDg3NjU1
QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5jcHA7IHBhdGggPSBTaGFyZWQv
TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07
CiAJCTlDNEU2Qjc0MTk4QzAyOTgwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMb25nTW91c2VQcmVzc0RhdGFTdG9y
ZS5oOyBwYXRoID0gU2hhcmVkL0xvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmg7IHNvdXJjZVRyZWUg
PSBTT1VSQ0VfUk9PVDsgfTsKKwkJOUNFNkJDN0UxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdN
b3VzZVByZXNzRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBB
UElMb25nTW91c2VQcmVzc0RhdGEuY3BwOyBwYXRoID0gVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVBy
ZXNzRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJOUNFNkJDN0YxOThD
NjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBBUElMb25nTW91c2VQcmVzc0RhdGEuaDsgcGF0aCA9IFVJUHJvY2Vz
cy9BUElMb25nTW91c2VQcmVzc0RhdGEuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9Owog
CQk5RjU0Rjg4RTE2NDg4RTg3MDA3REY4MUEgLyogQ2hpbGRQcm9jZXNzTWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2hpbGRQcm9jZXNzTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RjU0Rjg5NDE2NDhBRTBFMDA3REY4MUEgLyogUGx1
Z2luUHJvY2Vzc01hbmFnZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOUZCNUYzOTIxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0NvbnRleHRQcml2
YXRlTWFjLm1tOyBwYXRoID0gbWFjL1dLQ29udGV4dFByaXZhdGVNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01Nzg1LDYgKzU3OTMsOCBAQAogCQkJCTFBQUYwODlFMTkyNjgx
QUMwMEI2MzkwQyAvKiBVc2VyQ29udGVudCAqLywKIAkJCQkxQUU1MkY4RjE5MjAxREE3MDBBMUZB
MzcgLyogQVBJQ29udGV4dENvbmZpZ3VyYXRpb24uY3BwICovLAogCQkJCTFBRTUyRjkwMTkyMDFE
QTcwMEExRkEzNyAvKiBBUElDb250ZXh0Q29uZmlndXJhdGlvbi5oICovLAorCQkJCTlDRTZCQzdF
MTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuY3BwICovLAorCQkJCTlD
RTZCQzdGMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuaCAqLywKIAkJ
CQlCQ0Y2OUZBMTExNzZEMDE0MDA0NzFBNTIgLyogQVBJTmF2aWdhdGlvbkRhdGEuY3BwICovLAog
CQkJCUJDRjY5RkEwMTE3NkQwMTQwMDQ3MUE1MiAvKiBBUElOYXZpZ2F0aW9uRGF0YS5oICovLAog
CQkJCTc1QThEMkREMTg3REU4NzQwMEMzOUM5RSAvKiBBUElTZXNzaW9uLmNwcCAqLywKQEAgLTU5
OTAsNiArNjAwMCw4IEBACiAJCQkJMUM4RTI5MzcxMjc2MUU1QjAwQkM3QkQwIC8qIFdLSW5zcGVj
dG9yLmggKi8sCiAJCQkJNTFBOUUxMDgxMzE1Q0QxODAwOUU3MDMxIC8qIFdLS2V5VmFsdWVTdG9y
YWdlTWFuYWdlci5jcHAgKi8sCiAJCQkJNTFBOUUxMDkxMzE1Q0QxODAwOUU3MDMxIC8qIFdLS2V5
VmFsdWVTdG9yYWdlTWFuYWdlci5oICovLAorCQkJCTlDMEJCQkUwMTk4QzZERkUwMEQ1Mzk1QSAv
KiBXS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAgKi8sCisJCQkJOUMwQkJCRTExOThDNkRGRTAwRDUz
OTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmggKi8sCiAJCQkJMzNEM0EzQjMxMzM5NjAwQjAw
NzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuY3BwICovLAogCQkJCTMzRDNBM0I0MTMzOTYw
MEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmggKi8sCiAJCQkJQzA5QUU1RTgxMjUy
NTdDMjAwMjU4MjVEIC8qIFdLTmF0aXZlRXZlbnQuaCAqLywKQEAgLTcxODMsNiArNzE5NSw3IEBA
CiAJCQkJQkMwNkY0NEExMkRCRDFGNTAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDZGNDNBMTJEQkNDRkIw
MDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUMwQ0U3MkFEMTI0N0U3OEQwMEJDMEVDNCAvKiBIYW5kbGVNZXNzYWdlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk5Q0U2QkM4MTE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNl
UHJlc3NEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJDMDY4OTE2MzhGNjdFMDBBQkI5MTEg
LyogSG9zdFJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdGOTBERTMxMzc2NTYwRTAwNTFD
RjY4IC8qIEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQ0Y2
QjI1MTJDOTNFN0EwMDhGOUMzNSAvKiBJbWFnZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovLApAQCAt
NzIyMCw2ICs3MjMzLDcgQEAKIAkJCQlCQzMzRTBEMTEyNDA4RTg2MDAzNjBGM0YgLyogSW5qZWN0
ZWRCdW5kbGVSYW5nZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNURDNzIxOTFEODJE
QTAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEZDQjRFNjAxOEJCRTNEOTAwMEZDRkM5IC8qIEZpbmRJbmRpY2F0b3JXaW5kb3cuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTlDMEJCQkUzMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVBy
ZXNzRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxNERGNzcxMjBCNUI3OTAwODI2QzBDIC8q
IEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjBCMERF
MTIzMDVBOEMwMEIxMzQxRSAvKiBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUU0OUE0OTExRkZBOENFMDA0OEI0NjQgLyogSlNOUE1ldGhvZC5o
IGluIEhlYWRlcnMgKi8sCkBAIC03ODM5LDkgKzc4NTMsOSBAQAogCQkJCUJDOEYyRjJFMTYyNzNB
Q0MwMDVGQUNCNSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjk1MDE3MjQxNjJBNDUwNDAwNEE5RDcxIC8q
IFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFGNzUwNkI2MTg1OTE2NTcwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5Ob2RlSGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAotCQkJCTFGNzUwNkI1MTg1
OTE2NTQwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzNzNDRUFENjE4NTQxN0FFMDA4QzM2M0QgLyogV0tOU0RhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjhBMUYwMTg0MDBCMDAwMEU5QUU2OSAvKiBXS1BhZ2VG
b3JtQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxRjc1MDZCNTE4NTkxNjU0MDBFQzBGRjcg
LyogV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM5ODlEODUxNjFBOTg5MDAwMEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzA0RUZGQzE2RTY1QUZCMDBFMzM2RjAgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyRTZFOEUxMTQx
OTcxNTAwQTYzQjFFIC8qIFdvcmtRdWV1ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC05MDk4LDYgKzkx
MTIsNyBAQAogCQkJCUM1RTFBRkVFMTZCMjEwMjUwMDZDQzFGMiAvKiBBUElXZWJBcmNoaXZlUmVz
b3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3MkJBMUQxMUU2NDkwNzAwMUVCNEVBIC8q
IFdlYkJhY2tGb3J3YXJkTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUMxMzM3NDE4NTdD
MjFFMDBGM0VDMDUgLyogQVBJR2VvbWV0cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOUMwQkJC
RTIxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxOEQyQ0FEMTJENTE1M0IwMDNCQjkzQiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNzJCOUZBMTFFNjQ3NkIwMDFFQjRFQSAvKiBX
ZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUE1QTEx
MkY0RkJCMDAzMzdCQUIgLyogV2ViQ2hyb21lQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAt
OTM0MCw2ICs5MzU1LDcgQEAKIAkJCQk1MTJGNThGNzEyQTg4QTU0MDA2Mjk1MzAgLyogV0tBdXRo
ZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2NDZD
MUExMUREMzk5RjAwNjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0UmVmLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDNjQ2QzFDMTFERDM5OUYwMDY0NTVCMCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0
ZW1SZWYuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOUNFNkJDODAxOThDNjA2MzAwNjVENUY1IC8q
IEFQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTI1NkUzNzE4
QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMzdCRjJGMDcxOTQ3REVCNDAwNzIzQzQ4IC8qIFdLTlNVUkxSZXF1ZXN0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNCQUFDNzIxNDRFNjE5OTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmNwcApp
bmRleCA0MGM4OGQ2MzkzOGU4OGVjNDRjZDk4NjU1ZDZiODZkNDgyZmMwZDE0Li43NzJlMGYzZjM5
OGM4OGMwZWY0ODFmNzlhZTQyMTE0YTQ2ODFlMzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
LmNwcApAQCAtMzYsNiArMzYsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OkxvbmdNb3VzZVByZXNzQ29u
dHJvbGxlcihXZWJQYWdlKiB3ZWJQYWdlKQorICAgIDogbV9wYWdlKHdlYlBhZ2UpCiB7CiB9CiAK
QEAgLTQzLDE3ICs0NCwxNyBAQCB2b2lkIExvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkQmVn
aW5Mb25nTW91c2VQcmVzcyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbQogewogICAgIC8vIEZJ
WE1FOiBHZW5lcmF0ZSBkYXRhIHN0b3JlIGZyb20gbG9jYXRpb24uCiAKLSAgICAvLyBGSVhNRTog
Tm90aWZ5IGNsaWVudCBvZiBsb25nIG1vdXNlIHByZXNzIGV2ZW50LgorICAgIG1fcGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRCZWdpbkxvbmdNb3VzZVByZXNzKG1fZGF0YVN0
b3JlKSk7CiB9CiAKIHZvaWQgTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyOjpkaWRSZWNvZ25pemVM
b25nTW91c2VQcmVzcygpCiB7Ci0gICAgLy8gRklYTUU6IE5vdGlmeSBjbGllbnQgb2YgbG9uZyBt
b3VzZSBwcmVzcyBldmVudC4KKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6RGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MobV9kYXRhU3RvcmUpKTsKIH0KIAogdm9pZCBM
b25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OmRpZENhbmNlbExvbmdNb3VzZVByZXNzKCkKIHsKLSAg
ICAvLyBGSVhNRTogTm90aWZ5IGNsaWVudCBvZiBsb25nIG1vdXNlIHByZXNzIGV2ZW50LgorICAg
IG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDYW5jZWxMb25nTW91c2VQ
cmVzcyhtX2RhdGFTdG9yZSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVz
c0NvbnRyb2xsZXIuaAppbmRleCBjNjQxNzc3ZjIxNzAyY2RlYTNjNWUxN2RmZDA0MDZmYTY1NmIy
YjZlLi44MTc1MWE0ODE5ZGRiMTRlMzY0N2Y1NGFhZTEyNjc3MGFlOTI5M2MwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVBy
ZXNzQ29udHJvbGxlci5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSBtX2RhdGFTdG9yZTsKKyAgICBXZWJQYWdlKiBtX3Bh
Z2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236140</attachid>
            <date>2014-08-06 15:08:19 -0700</date>
            <delta_ts>2014-08-08 10:46:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135580-20140806150807.patch</filename>
            <type>text/plain</type>
            <size>41171</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTg3M2QzNDQ5ODEyM2Fh
OGI5ZDkxYWFlNjNiMDZkMGQ0ZDQ2ZTgzOS4uNWM2ZmY4YmFhYWM0MDVhM2VjNGUyOTE1ZDcyNWQz
M2RhYjkyNmI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE0LTA4LTA2ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBsb25n
IG1vdXNlIHByZXNzIFdlYktpdDIgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHBvc2VzIGFuIEFQSSBvbiB0aGUgUGFnZVVJ
Q2xpZW50IGZvciB0aGUgbG9uZyBtb3VzZSBwcmVzcyBldmVudHMgZGlkQmVnaW5Mb25nTW91c2VQ
cmVzcywKKyAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MsIGFuZCBkaWRDYW5jZWxM
b25nTW91c2VQcmVzcy4gVGhpcyBwYXRjaCBhbHNvIGludHJvZHVjZXMgYSBjbGFzcywKKyAgICAg
ICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEsIHRvIGVuY2Fwc3VsYXRlIHRoZSBpbmZvcm1hdGlv
biBuZWVkZWQgZm9yIGEgbG9uZyBwcmVzcy4gU2luY2UgY3VycmVudGx5IGxpbmtzCisgICAgICAg
IGFyZSB0aGUgb25seSBlbGVtZW50cyB0aGF0IHN1cHBvcnQgbG9uZyBwcmVzcywgQVBJOjpMb25n
TW91c2VQcmVzc0RhdGEgY29udGFpbnMgb25seSBhIHNuYXBzaG90IG9mIHRoZQorICAgICAgICBs
b25nLXByZXNzZWQgbGluaywgdGhlIHNuYXBzaG90J3Mgb3JpZ2luLCBhbmQgdGhlIGxpbmsncyBV
UkwuIEFzIHdlIGV4dGVuZCBsb25nLXByZXNzIHN1cHBvcnQgdG8gb3RoZXIKKyAgICAgICAgdHlw
ZXMgb2YgZWxlbWVudHMsIEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhIHdpbGwgY29udGFpbiBtb3Jl
IHBpZWNlcyBvZiBpbmZvcm1hdGlvbi4KKyAgICAgICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEg
aXMgbW9kZWxlZCBhZnRlciBBUEk6TmF2aWdhdGlvbkRhdGEuCisKKyAgICAgICAgKiBTaGFyZWQv
QVBJL2MvV0tCYXNlLmg6IERlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZi4gCisgICAgICAg
ICogU2hhcmVkL0FQSU9iamVjdC5oOiBBZGQgTG9uZ01vdXNlUHJlc3NEYXRhIEFQSSB0eXBlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlD
bGllbnQ6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpOiBBZGRlZC4gRW1wdHkgQVBJIG1ldGhvZC4K
KyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKTogRGl0
dG8uCisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERp
dHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDogQWRkIExvbmdNb3Vz
ZVByZXNzRGF0YSBBUEkgbWFwcGluZy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tMb25n
TW91c2VQcmVzc0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRh
Q29weVVSTCk6IAorICAgICAgICBDIEFQSSB0byBjb3B5IHRoZSBVUkwgY29ycmVzcG9uZGluZyB0
byBsb25nLXByZXNzZWQgZWxlbWVudCwgaWYgYXZhaWxhYmxlLgorICAgICAgICAoV0tMb25nTW91
c2VQcmVzc0RhdGFHZXRTbmFwc2hvdE9yaWdpbik6IAorICAgICAgICBDIEFQSSB0byBnZXQgdGhl
IG9yaWdpbiBwb2ludCBvZiB0aGUgbG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdC4KKyAg
ICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weUNHSW1hZ2VGcm9tU25hcHNob3QpOiAKKyAg
ICAgICAgQyBBUEkgdG8gY29weSB0aGUgbG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdCBh
cyBhIENHSW1hZ2UuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NE
YXRhLmg6IAorICAgICAgICBBZGRlZC4gUGxhY2VkIGluIHRoZSAiUHJpdmF0ZSBIZWFkZXJzIiBz
ZWN0aW9uIG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VVSUNsaWVudCk6IEFkZCBzaGltcyBm
b3IgdGhlIGxvbmcgbW91c2UgcHJlc3MgZXZlbnRzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVz
c0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpMb25n
TW91c2VQcmVzc0RhdGEpOiBBZGRlZC4gQ3JlYXRlIEFQSSBzaGltIHdpdGggZGF0YSBzdG9yZS4g
CisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6fkxvbmdNb3VzZVByZXNzRGF0YSk6
IEFkZGVkLiBFbXB0eSBkZWNvbnN0cnVjdG9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUElMb25n
TW91c2VQcmVzc0RhdGEuaDogQWRkZWQuIE1vZGVsZWQgYWZ0ZXIgQVBJTmF2aWdhdGlvbkRhdGEu
CisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKTogQWRkZWQuIEdldHRl
ciBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgbWVtYmVyIG9uIHRoZSBkYXRhIHN0b3JlLgorICAgICAg
ICAoQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnVybFN0cmluZyk6IERpdHRvLgorICAgICAgICAo
QVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnNuYXBzaG90T3JpZ2luKTogRGl0dG8uCisgICAgICAg
IChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6c25hcHNob3QpOiBEaXR0by4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpkaWRCZWdpbkxvbmdNb3VzZVByZXNzKTogQWRkZWQuIE5vdGlmeSB0aGUgVUkgQ2xpZW50Lgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNz
KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2FuY2VsTG9uZ01v
dXNlUHJlc3MpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjogQWRkIGxvbmcgbW91
c2UgcHJlc3MgZXZlbnQgbWVzc2FnZXMuCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVz
c0NvbnRyb2xsZXIuY3BwOiAKKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9s
bGVyOjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIpOiBJbml0aWFsaXplIHdlYiBwYWdlIG1lbWJl
ciB2YXJpYWJsZS4KKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVyOjpk
aWRCZWdpbkxvbmdNb3VzZVByZXNzKTogTm90aWZ5IHRoZSBXZWJQYWdlUHJveHkuCisgICAgICAg
IChXZWJLaXQ6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkUmVjb2duaXplTG9uZ01vdXNl
UHJlc3MpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaDogQWRkIHdlYiBwYWdlIG1lbWJlciB2
YXJpYWJsZS4KKwogMjAxNC0wOC0wNiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChXZWJLaXQyKTogaU9TIFNhZmFyaSBkZWZhdWx0IGVu
Y29kaW5nIGRvZXNuJ3QgZm9sbG93IHN5c3RlbSBsYW5ndWFnZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLQmFzZS5oCmluZGV4IDhkMWU5NjVkNWM0YWUxZmE5ZTU5ZjQ1M2Q5NjJmNDhhMmJiYzhj
ZDkuLmZlMTJiNDRkZTU0MmRjYTBlYjczNjA0OWQ3MGI4OGU2NjBiZTQ0YjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKQEAgLTExMCw2ICsxMTAsNyBAQCB0eXBlZGVmIGNvbnN0
IHN0cnVjdCBPcGFxdWVXS0hpdFRlc3RSZXN1bHQqIFdLSGl0VGVzdFJlc3VsdFJlZjsKIHR5cGVk
ZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLSWNvbkRhdGFiYXNlKiBXS0ljb25EYXRhYmFzZVJlZjsK
IHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLSW5zcGVjdG9yKiBXS0luc3BlY3RvclJlZjsK
IHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlciogV0tL
ZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUmVmOwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tM
b25nTW91c2VQcmVzc0RhdGEqIFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmOwogdHlwZWRlZiBjb25z
dCBzdHJ1Y3QgT3BhcXVlV0tNZWRpYUNhY2hlTWFuYWdlciogV0tNZWRpYUNhY2hlTWFuYWdlclJl
ZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTmF2aWdhdGlvbkRhdGEqIFdLTmF2aWdh
dGlvbkRhdGFSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS05vdGlmaWNhdGlvbiog
V0tOb3RpZmljYXRpb25SZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
T2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKaW5kZXggNmRmNDkx
ODNkMmJjNDYyNjVjYzA5ZjdiNWQ1NzRhMDdiM2MwYzU5Mi4uODgyMWFlNDZjZjFkMzNjYjMxZDMz
NmZmMzBiNWZmZWI4YTBiZmQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaApAQCAtMTE4
LDYgKzExOCw3IEBAIHB1YmxpYzoKICAgICAgICAgSWNvbkRhdGFiYXNlLAogICAgICAgICBJbnNw
ZWN0b3IsCiAgICAgICAgIEtleVZhbHVlU3RvcmFnZU1hbmFnZXIsCisgICAgICAgIExvbmdNb3Vz
ZVByZXNzRGF0YSwKICAgICAgICAgTWVkaWFDYWNoZU1hbmFnZXIsCiAgICAgICAgIE5hdmlnYXRp
b25EYXRhLAogICAgICAgICBOb3RpZmljYXRpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggYzI1ODgwNTdlZjI2NmRkNmRiOTQxMzAyZWI5ZTU2ODI2
ZjUwYzMzYi4uMzI1MWU1NzVhYjY3ZGUxYmZmMWMzNmNmY2Q1MmM5MmIxOTgwODU3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMTQwLDYgKzE0MCwx
MiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGlubmVkU3RhdGVEaWRDaGFuZ2UoV2Vi
S2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KIAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQor
ICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkxvbmdNb3VzZVByZXNzKFdlYktpdDo6V2ViUGFnZVBy
b3h5KiwgY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpIHsgfQorICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94
eSosIGNvbnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBj
b25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlJikgeyB9CisjZW5kaWYKKwogI2lm
IFBMQVRGT1JNKElPUykKICAgICB2aXJ0dWFsIFJldGFpblB0cjxOU0FycmF5PiBhY3Rpb25zRm9y
RWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqLCBSZXRhaW5QdHI8TlNBcnJheT4gZGVm
YXVsdEFjdGlvbnMpIHsgcmV0dXJuIFdURjo6bW92ZShkZWZhdWx0QWN0aW9ucyk7IH0KICAgICB2
aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4
IDgwMjIxYTkxYjJmOTE2MzU1Mjk5YmMyNWYyZDBmMWM4MDE5NDdjMmMuLjY1YWYzZmUxMGJhOGVl
YzI2ZDVkMjNmMTMxN2U5MTEzNGUzY2MzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tBUElDYXN0LmgKQEAgLTUyLDYgKzUyLDcgQEAKIAogbmFtZXNwYWNlIEFQSSB7CiBj
bGFzcyBDb250ZXh0Q29uZmlndXJhdGlvbjsKK2NsYXNzIExvbmdNb3VzZVByZXNzRGF0YTsKIGNs
YXNzIE5hdmlnYXRpb25EYXRhOwogY2xhc3MgU2Vzc2lvblN0YXRlOwogfQpAQCAtMTI4LDYgKzEy
OSw3IEBAIFdLX0FERF9BUElfTUFQUElORyhXS0dyYW1tYXJEZXRhaWxSZWYsIFdlYkdyYW1tYXJE
ZXRhaWwpCiBXS19BRERfQVBJX01BUFBJTkcoV0tIaXRUZXN0UmVzdWx0UmVmLCBXZWJIaXRUZXN0
UmVzdWx0KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLSWNvbkRhdGFiYXNlUmVmLCBXZWJJY29uRGF0
YWJhc2UpCiBXS19BRERfQVBJX01BUFBJTkcoV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUmVmLCBX
ZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKQorV0tfQUREX0FQSV9NQVBQSU5HKFdLTG9uZ01vdXNl
UHJlc3NEYXRhUmVmLCBBUEk6OkxvbmdNb3VzZVByZXNzRGF0YSkKIFdLX0FERF9BUElfTUFQUElO
RyhXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmLCBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5KQogV0tf
QUREX0FQSV9NQVBQSU5HKFdLTmF2aWdhdGlvbkRhdGFSZWYsIEFQSTo6TmF2aWdhdGlvbkRhdGEp
CiBXS19BRERfQVBJX01BUFBJTkcoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmLCBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyUHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tMb25nTW91c2VQcmVzc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDliZDUyZTZjYjk5
MGI0NDEwMjEyNzQyMjcwNGZhMzM4Mzc5ZGMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApAQCAtMCwwICsx
LDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldLTG9u
Z01vdXNlUHJlc3NEYXRhLmgiCisKKyNpbmNsdWRlICJBUElMb25nTW91c2VQcmVzc0RhdGEuaCIK
KyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXZWJJbWFnZS5oIgorCit1c2luZyBu
YW1lc3BhY2UgV2ViS2l0OworCitXS1R5cGVJRCBXS0xvbmdNb3VzZVByZXNzRGF0YUdldFR5cGVJ
RCgpCit7CisgICAgcmV0dXJuIHRvQVBJKEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpBUElUeXBl
KTsKK30KKworV0tVUkxSZWYgV0tMb25nTW91c2VQcmVzc0RhdGFDb3B5VVJMKFdLTG9uZ01vdXNl
UHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZikKK3sKKyAgICByZXR1cm4gdG9Db3Bp
ZWRVUkxBUEkodG9JbXBsKGxvbmdNb3VzZVByZXNzRGF0YVJlZiktPnVybFN0cmluZygpKTsKK30K
KworV0tJbWFnZVJlZiBXS0xvbmdNb3VzZVByZXNzRGF0YUdldFNuYXBzaG90KFdLTG9uZ01vdXNl
UHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZikKK3sKKyAgICBSZWZQdHI8V2ViSW1h
Z2U+IHNuYXBzaG90ID0gV2ViSW1hZ2U6OmNyZWF0ZSh0b0ltcGwobG9uZ01vdXNlUHJlc3NEYXRh
UmVmKS0+c25hcHNob3QoKSk7CisgICAgcmV0dXJuIHRvQVBJKHNuYXBzaG90LnJlbGVhc2UoKS5s
ZWFrUmVmKCkpOworfQorCitXS1BvaW50IFdLTG9uZ01vdXNlUHJlc3NEYXRhR2V0U25hcHNob3RP
cmlnaW4oV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhUmVmKQorewor
ICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgc25hcHNob3RPcmlnaW4gPSB0b0ltcGwobG9uZ01vdXNl
UHJlc3NEYXRhUmVmKS0+c25hcHNob3RPcmlnaW4oKTsKKyAgICByZXR1cm4gV0tQb2ludE1ha2Uo
c25hcHNob3RPcmlnaW4ueCgpLCBzbmFwc2hvdE9yaWdpbi55KCkpOworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tMb25nTW91c2VQcmVzc0RhdGEuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYTdjNzBlYTM1ODg1NDExMzcwYjcyNjcwMzgyZjczZDkyZDFkMjM0Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJl
c3NEYXRhLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tMb25nTW91
c2VQcmVzc0RhdGFfaAorI2RlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YV9oCisKKyNpbmNsdWRl
IDxXZWJLaXQvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLR2VvbWV0cnkuaD4KKworI2lm
ZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitXS19FWFBPUlQgV0tUeXBl
SUQgV0tMb25nTW91c2VQcmVzc0RhdGFHZXRUeXBlSUQoKTsKKworV0tfRVhQT1JUIFdLVVJMUmVm
IFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weVVSTChXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25n
TW91c2VQcmVzc0RhdGFSZWYpOworV0tfRVhQT1JUIFdLSW1hZ2VSZWYgV0tMb25nTW91c2VQcmVz
c0RhdGFHZXRTbmFwc2hvdChXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0Rh
dGFSZWYpOworV0tfRVhQT1JUIFdLUG9pbnQgV0tMb25nTW91c2VQcmVzc0RhdGFHZXRTbmFwc2hv
dE9yaWdpbihXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpOwor
CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLy8gV0tMb25nTW91c2VQ
cmVzc0RhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRl
eCBkOWEzYTkxZmM4NDljYzIxNjkzZDBlMDk3YTgzMmExZTE3ZjExYTUyLi43MzE3OTEyYmFkNmNl
YzA2Yjg0ZjNiODIzZDE5ZDc4ZjViYTc1OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcApAQCAtMzEsMTEgKzMxLDEzIEBACiAjaW5jbHVkZSAiQVBJRGF0YS5o
IgogI2luY2x1ZGUgIkFQSUZpbmRDbGllbnQuaCIKICNpbmNsdWRlICJBUElMb2FkZXJDbGllbnQu
aCIKKyNpbmNsdWRlICJBUElMb25nTW91c2VQcmVzc0RhdGEuaCIKICNpbmNsdWRlICJBUElQb2xp
Y3lDbGllbnQuaCIKICNpbmNsdWRlICJBUElTZXNzaW9uU3RhdGUuaCIKICNpbmNsdWRlICJBUElV
SUNsaWVudC5oIgogI2luY2x1ZGUgIkltbXV0YWJsZURpY3Rpb25hcnkuaCIKICNpbmNsdWRlICJM
ZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaCIKKyNpbmNsdWRlICJMb25nTW91c2VQcmVzc0RhdGFT
dG9yZS5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJO
YXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF2aWdhdGlvbkFjdGlvbkRhdGEuaCIK
QEAgLTc0LDcgKzc2LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVBv
bGljeUNsaWVudEJhc2U+IHsKIH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxX
S1BhZ2VVSUNsaWVudEJhc2U+IHsKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tQYWdlVUlDbGll
bnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQYWdlVUlDbGllbnRWMiwgV0tQYWdlVUlDbGllbnRW
Mz4gVmVyc2lvbnM7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdL
UGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFn
ZVVJQ2xpZW50VjQ+IFZlcnNpb25zOwogfTsKIAogfQpAQCAtMTU4Myw2ICsxNTg1LDM1IEBAIHZv
aWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VV
SUNsaWVudEJhc2UqIHdrQ2xpZW50CiAKICAgICAgICAgICAgIG1fY2xpZW50LnBpbm5lZFN0YXRl
RGlkQ2hhbmdlKHRvQVBJKCZwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAg
ICAgfQorCisjaWYgRU5BQkxFKExPTkdfTU9VU0VfUFJFU1MpCisgICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRCZWdpbkxvbmdNb3VzZVByZXNzKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgTG9uZ01v
dXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAg
ICBpZiAoIW1fY2xpZW50LmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpCisgICAgICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgICAgICBSZWZQdHI8QVBJOjpMb25nTW91c2VQcmVzc0RhdGE+IGRh
dGEgPSBBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKHN0b3JlKTsKKyAgICAgICAgICAg
IG1fY2xpZW50LmRpZEJlZ2luTG9uZ01vdXNlUHJlc3ModG9BUEkocGFnZSksIHRvQVBJKGRhdGEu
Z2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICB9CisKKyAgICAgICAg
dmlydHVhbCB2b2lkIGRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKFdlYlBhZ2VQcm94eSogcGFn
ZSwgY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKSBvdmVycmlkZQorICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNz
KQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgUmVmUHRyPEFQSTo6TG9u
Z01vdXNlUHJlc3NEYXRhPiBkYXRhID0gQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OmNyZWF0ZShz
dG9yZSk7CisgICAgICAgICAgICBtX2NsaWVudC5kaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyh0
b0FQSShwYWdlKSwgdG9BUEkoZGF0YS5nZXQoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CisgICAgICAgIH0KKworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FuY2VsTG9uZ01vdXNlUHJl
c3MoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYgc3Rv
cmUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkQ2Fu
Y2VsTG9uZ01vdXNlUHJlc3MpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAg
ICBSZWZQdHI8QVBJOjpMb25nTW91c2VQcmVzc0RhdGE+IGRhdGEgPSBBUEk6OkxvbmdNb3VzZVBy
ZXNzRGF0YTo6Y3JlYXRlKHN0b3JlKTsKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZENhbmNlbExv
bmdNb3VzZVByZXNzKHRvQVBJKHBhZ2UpLCB0b0FQSShkYXRhLmdldCgpKSwgbV9jbGllbnQuYmFz
ZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQorI2VuZGlmIC8vIEVOQUJMRShMT05HX01PVVNFX1BS
RVNTKQogICAgIH07CiAKICAgICB0b0ltcGwocGFnZVJlZiktPnNldFVJQ2xpZW50KHN0ZDo6bWFr
ZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IGZlNjY4NjliOTM0MzM1OTY5YTBlZjlh
MGViZWEyZjMzNDZkMWNmNmYuLjE1OWFjNzVmZTA2NzQyYWI1NDUyMzg0YzgwNGE3NWExZDdlOTJk
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVu
dC5oCkBAIC04Niw2ICs4Niw5IEBAIHR5cGVkZWYgdm9pZCAoKldLUGFnZVNob3dDb2xvclBpY2tl
ckNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgaW5pdGlhCiB0eXBlZGVmIHZv
aWQgKCpXS1BhZ2VIaWRlQ29sb3JQaWNrZXJDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlVW5hdmFpbGFibGVQbHVn
aW5CdXR0b25DbGlja2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1BsdWdpblVuYXZhaWxh
YmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uLCBXS0RpY3Rpb25hcnlSZWYg
cGx1Z2luSW5mb0RpY3Rpb25hcnksIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2
b2lkICgqV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2Us
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQmVnaW5M
b25nTW91c2VQcmVzc0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tMb25nTW91c2VQcmVzc0Rh
dGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdm9pZCAoKldLUGFnZURpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzQ2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGEsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQ2FuY2VsTG9u
Z01vdXNlUHJlc3NDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLTG9uZ01vdXNlUHJlc3NEYXRh
UmVmIGxvbmdNb3VzZVByZXNzRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIC8vIERl
cHJlY2F0ZWQgICAgCiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxs
YmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5
UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0
dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTMwOSw2ICszMTIs
NzAgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWMyB7CiAgICAgV0tQYWdlUGlubmVk
U3RhdGVEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
aW5uZWRTdGF0ZURpZENoYW5nZTsKIH0gV0tQYWdlVUlDbGllbnRWMzsKIAordHlwZWRlZiBzdHJ1
Y3QgV0tQYWdlVUlDbGllbnRWNCB7CisgICAgV0tQYWdlVUlDbGllbnRCYXNlICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworCisgICAgLy8gVmVy
c2lvbiAwLgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFYwICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0
aFYwOworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2hvd1BhZ2U7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZTsKKyAg
ICBXS1BhZ2VUYWtlRm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRha2VGb2N1czsKKyAgICBXS1BhZ2VGb2N1c0NhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzOworICAgIFdLUGFn
ZVVuZm9jdXNDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5mb2N1czsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydDsKKyAgICBX
S1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQ
cm9tcHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNj
cmlwdFByb21wdDsKKyAgICBXS1BhZ2VTZXRTdGF0dXNUZXh0Q2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXR1c1RleHQ7CisgICAgV0tQYWdlTW91
c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAg
ICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdL
UGFnZU1pc3NpbmdQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdp
dGhWMCAgICAgbWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhW
MDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVLZXlFdmVudENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRpZE5vdEhhbmRsZUtleUV2ZW50OworICAgIFdLUGFnZURpZE5v
dEhhbmRsZVdoZWVsRXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGlkTm90SGFuZGxlV2hlZWxFdmVudDsKKyAgICBXS1BhZ2VHZXRUb29sYmFyc0FyZVZpc2libGVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xiYXJzQXJlVmlzaWJs
ZTsKKyAgICBXS1BhZ2VTZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNldFRvb2xiYXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRN
ZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlU2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNZW51QmFySXNWaXNpYmxlOwor
ICAgIFdLUGFnZUdldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFnZVNldFN0YXR1c0Jh
cklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3Rh
dHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldElzUmVzaXphYmxlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNSZXNpemFibGU7CisgICAgV0tQYWdl
U2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZXRJc1Jlc2l6YWJsZTsKKyAgICBXS1BhZ2VHZXRXaW5kb3dGcmFtZUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFdpbmRvd0ZyYW1lOworICAg
IFdLUGFnZVNldFdpbmRvd0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0V2luZG93RnJhbWU7CisgICAgV0tQYWdlUnVuQmVmb3JlVW5sb2FkQ29u
ZmlybVBhbmVsQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWw7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWREcmF3OworICAgIFdLUGFnZVVJQ2xp
ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFnZURpZFNjcm9sbDsKKyAgICBXS1BhZ2VFeGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YTsKKyAg
ICBXS1BhZ2VSdW5PcGVuUGFuZWxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJ1bk9wZW5QYW5lbDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgIGRlY2lkZVBvbGljeUZv
ckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlSGVhZGVySGVpZ2h0Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJIZWln
aHQ7CisgICAgV0tQYWdlRm9vdGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmb290ZXJIZWlnaHQ7CisgICAgV0tQYWdlRHJhd0hlYWRlckNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3SGVh
ZGVyOworICAgIFdLUGFnZURyYXdGb290ZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZHJhd0Zvb3RlcjsKKyAgICBXS1BhZ2VQcmludEZyYW1lQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50RnJh
bWU7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5Nb2RhbDsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZDE7IC8v
IFVzZWQgdG8gYmUgZGlkQ29tcGxldGVSdWJiZXJCYW5kRm9yTWFpbkZyYW1lCisgICAgV0tQYWdl
U2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyOworICAgIFdLUGFnZVNob3VsZElu
dGVycnVwdEphdmFTY3JpcHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hv
dWxkSW50ZXJydXB0SmF2YVNjcmlwdDsKKworICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS1BhZ2VD
cmVhdGVOZXdQYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNyZWF0ZU5ld1BhZ2U7CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVu
dDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVz
dENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0OworICAgIFdLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisKKyAgICAvLyBWZXJzaW9uIDIuCisgICAgV0tQYWdlU2hv
d0NvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaG93Q29sb3JQaWNrZXI7CisgICAgV0tQYWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQ29sb3JQaWNrZXI7CisgICAg
V0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQ7CisgICAgCisgICAgLy8g
VmVyc2lvbiAzLgorICAgIFdLUGFnZVBpbm5lZFN0YXRlRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlubmVkU3RhdGVEaWRDaGFuZ2U7CisKKyAgICAv
LyBWZXJzaW9uIDQuCisgICAgV0tQYWdlRGlkQmVnaW5Mb25nTW91c2VQcmVzc0NhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRCZWdpbkxvbmdNb3VzZVByZXNzOworICAg
IFdLUGFnZURpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3M7CisgICAgV0tQYWdlRGlkQ2Fu
Y2VsTG9uZ01vdXNlUHJlc3NDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
aWRDYW5jZWxMb25nTW91c2VQcmVzczsKK30gV0tQYWdlVUlDbGllbnRWNDsKKwogZW51bSB7IGtX
S1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9uIFdLX0VOVU1fREVQUkVDQVRFRCgiVXNlIGFuIGV4
cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3RlYWQiKSA9IDIgfTsKIHR5cGVkZWYgc3RydWN0IFdL
UGFnZVVJQ2xpZW50IHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVzc0RhdGEuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJk
OTQzMDkyNGFhYTBhM2ZmMjA0NmZjMTJlNWNmNGJjOTc2MTgxYzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApAQCAt
MCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkFQSUxvbmdNb3VzZVByZXNzRGF0YS5oIgorCituYW1lc3BhY2UgQVBJIHsKKworTG9uZ01vdXNl
UHJlc3NEYXRhOjpMb25nTW91c2VQcmVzc0RhdGEoY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVz
c0RhdGFTdG9yZSYgc3RvcmUpCisgICAgOiBtX3N0b3JlKHN0b3JlKQoreworfQorCitMb25nTW91
c2VQcmVzc0RhdGE6On5Mb25nTW91c2VQcmVzc0RhdGEoKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUElMb25nTW91c2VQ
cmVzc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVzc0Rh
dGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jMjdhODYyMzBjYTliNjkzZWZjMjdmZjUzZjg4ODBiOTQ2NmIxMzYz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdNb3Vz
ZVByZXNzRGF0YS5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEFQSUxv
bmdNb3VzZVByZXNzRGF0YV9oCisjZGVmaW5lIEFQSUxvbmdNb3VzZVByZXNzRGF0YV9oCisKKyNp
bmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5o
IgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBBUEkgeworCitjbGFz
cyBMb25nTW91c2VQcmVzc0RhdGEgOiBwdWJsaWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6Okxv
bmdNb3VzZVByZXNzRGF0YT4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPExvbmdN
b3VzZVByZXNzRGF0YT4gY3JlYXRlKGNvbnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3Rv
cmUmIHN0b3JlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBMb25nTW91c2VQ
cmVzc0RhdGEoc3RvcmUpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5Mb25nTW91c2VQcmVzc0Rh
dGEoKTsKKworICAgIFdURjo6U3RyaW5nIHVybFN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fc3Rv
cmUudXJsU3RyaW5nOyB9CisgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBzbmFwc2hvdE9yaWdpbigp
IGNvbnN0IHsgcmV0dXJuIG1fc3RvcmUuc25hcHNob3RPcmlnaW47IH0KKyAgICBXZWJLaXQ6OlNo
YXJlYWJsZUJpdG1hcCogc25hcHNob3QoKSBjb25zdCB7IHJldHVybiBtX3N0b3JlLnNuYXBzaG90
LmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTG9uZ01vdXNlUHJlc3NEYXRhKGNv
bnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKTsKKworICAgIFdlYktpdDo6TG9u
Z01vdXNlUHJlc3NEYXRhU3RvcmUgbV9zdG9yZTsKK307CisKK30gLy8gbmFtZXNwYWNlIEFQSQor
CisjZW5kaWYgLy8gQVBJTG9uZ01vdXNlUHJlc3NEYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMGU1NjBhYjk3YWM1Nzk0NzUyYTkyNWNhZDgwY2Y5
NzNkNjRhYjU0NC4uMzg1OGFjNjA4N2JkMWJiNzc4MGVjMTRiNDU1Njg4MDdmODA2NTQwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE3NDksNiArMTc0
OSwyMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgp
CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDZW50ZXJTZWxlY3Rpb25J
blZpc2libGVBcmVhKCksIG1fcGFnZUlEKTsKIH0KIAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BS
RVNTKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9u
Z01vdXNlUHJlc3NEYXRhU3RvcmUmIGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlkQmVnaW5M
b25nTW91c2VQcmVzcyh0aGlzLCBkYXRhKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZFJl
Y29nbml6ZUxvbmdNb3VzZVByZXNzKGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBkYXRh
KQoreworICAgIG1fdWlDbGllbnQtPmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKHRoaXMsIGRh
dGEpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoY29u
c3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlk
Q2FuY2VsTG9uZ01vdXNlUHJlc3ModGhpcywgZGF0YSk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQ
YWdlUHJveHk6OnJlY2VpdmVkUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIGFjdGlvbiwgV2Vi
RnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHVpbnQ2NF90IG5hdmlnYXRp
b25JRCkKIHsKICAgICBpZiAoIWlzVmFsaWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCA5NjVmM2M4MjliODQxM2I4Y2FiYmFmYTBkMDRlMzU2YzViZTdkZWQw
Li5jZWI2ZWNhZGM0Nzc1NTc2ZmZhODI0ZTc5NTA3MDY2MTM3YmJlNTQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNzYsNiArMTc2LDEwIEBAIHN0cnVjdCBQ
bGF0Zm9ybVBvcHVwTWVudURhdGE7CiBzdHJ1Y3QgUHJpbnRJbmZvOwogc3RydWN0IFdlYlBvcHVw
SXRlbTsKIAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorc3RydWN0IExvbmdNb3VzZVBy
ZXNzRGF0YVN0b3JlOworI2VuZGlmCisKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogY2xhc3MgV2Vi
VmlicmF0aW9uUHJveHk7CiAjZW5kaWYKQEAgLTY4MCw2ICs2ODQsMTIgQEAgcHVibGljOgogICAg
IHZvaWQgZHJhd0hlYWRlcihXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
Jik7CiAgICAgdm9pZCBkcmF3Rm9vdGVyKFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmKTsKIAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgIHZvaWQgZGlk
QmVnaW5Mb25nTW91c2VQcmVzcyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpOworICAg
IHZvaWQgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRh
U3RvcmUmKTsKKyAgICB2b2lkIGRpZENhbmNlbExvbmdNb3VzZVByZXNzKGNvbnN0IExvbmdNb3Vz
ZVByZXNzRGF0YVN0b3JlJik7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8v
IERpY3Rpb25hcnkuCiAgICAgdm9pZCBwZXJmb3JtRGljdGlvbmFyeUxvb2t1cEF0TG9jYXRpb24o
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYTFiYjVkODgzYTRlYTdlYjY2MDhh
M2YwYTZlYWZlYTYxMDZkMzc3Yy4uODkxNDNjODU0OWFlOGNiZGU3Yjk2ZDdmZmQ0YTYyYjA5ZjQ5
ODRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC0yODQsNiArMjg0LDEyIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7
CiAgICAgU3RhcnREcmFnKFdlYkNvcmU6OkRyYWdEYXRhIGRyYWdEYXRhLCBXZWJLaXQ6OlNoYXJl
YWJsZUJpdG1hcDo6SGFuZGxlIGRyYWdJbWFnZSkKICNlbmRpZgogCisjaWYgRU5BQkxFKExPTkdf
TU9VU0VfUFJFU1MpCisgICAgRGlkQmVnaW5Mb25nTW91c2VQcmVzcyhXZWJLaXQ6OkxvbmdNb3Vz
ZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9yZSkKKyAgICBEaWRSZWNvZ25pemVMb25nTW91c2VQcmVz
cyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9yZSkKKyAgICBEaWRDYW5j
ZWxMb25nTW91c2VQcmVzcyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9y
ZSkKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgIyBEaWN0aW9uYXJ5IHN1cHBv
cnQuCiAgICAgRGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAoV2ViS2l0OjpBdHRyaWJ1dGVkU3Ry
aW5nIHRleHQsIFdlYktpdDo6RGljdGlvbmFyeVBvcHVwSW5mbyBkaWN0aW9uYXJ5UG9wdXBJbmZv
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDZmYWYxNjE3Zjk5NDlmMTMxNGE1OGZmNmRkY2U3MWFjOTNhNTk0ZWYuLmI4NjdkMGVi
ZTZkOTE5NTZmNGMxM2QyN2M5ZGFhN2JlM2JjNzZlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTUsMTAgKzEwOTUsMTQg
QEAKIAkJOTM5MUYyQ0IxMjFCNjdBRDAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRl
eHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTFG
MjgzMTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggKi87IH07
CiAJCTkzOUFFNzY2MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5QUU3NjUx
MzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgKi87IH07CiAJCTkz
QkRFQjAxMTcxREQ3QUYwMEJGRUUxQiAvKiBXS1BhZ2VMb2FkVHlwZXNQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0JERUIwMDE3MUREN0FG
MDBCRkVFMUIgLyogV0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTlDMEJCQkUyMTk4QzZERkUwMEQ1Mzk1QSAv
KiBXS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5QzBCQkJFMDE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQ
cmVzc0RhdGEuY3BwICovOyB9OworCQk5QzBCQkJFMzE5OEM2REZFMDBENTM5NUEgLyogV0tMb25n
TW91c2VQcmVzc0RhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlDMEJCQkUxMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTlDNEU2
QjcxMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUM0RTZCNkYxOThDMDA1
MTAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAgKi87IH07CiAJCTlDNEU2
QjcyMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNEU2QjcwMTk4QzAwNTEw
MDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJOUM0RTZCNzUx
OThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNEU2QjczMTk4QzAyOTgwMDg3
NjU1QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5jcHAgKi87IH07CiAJCTlDNEU2Qjc2MTk4
QzAyOTgwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUM0RTZCNzQxOThDMDI5ODAwODc2NTVB
IC8qIExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmggKi87IH07CisJCTlDRTZCQzgwMTk4QzYwNjMw
MDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUNFNkJDN0UxOThDNjA2MzAwNjVENUY1IC8qIEFQ
SUxvbmdNb3VzZVByZXNzRGF0YS5jcHAgKi87IH07CisJCTlDRTZCQzgxMTk4QzYwNjMwMDY1RDVG
NSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDlDRTZCQzdGMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91
c2VQcmVzc0RhdGEuaCAqLzsgfTsKIAkJOUY1NEY4OEYxNjQ4OEU4NzAwN0RGODFBIC8qIENoaWxk
UHJvY2Vzc01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlGNTRGODhFMTY0ODhFODcwMDdERjgxQSAvKiBDaGlsZFByb2Nlc3NNYWMubW0gKi87IH07
CiAJCTlGNTRGODk1MTY0OEFFMEYwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGNTRGODk0
MTY0OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbSAqLzsgfTsKIAkJ
OUZCNUYzOTQxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RkI1RjM5MjE2OUU2QTgw
MDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5tbSAqLzsgfTsKQEAgLTMxNTMsMTAgKzMx
NTcsMTQgQEAKIAkJOTM5MUYyODQxMjFCMzhGNTAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2lu
Z0NvbnRleHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJG
cmFtZU5ldHdvcmtpbmdDb250ZXh0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzlBRTc2NTEzMTZFOTlDMDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVBcmd1bWVudENvZGVycy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQkRFQjAwMTcxREQ3QUYwMEJGRUUx
QiAvKiBXS1BhZ2VMb2FkVHlwZXNQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOUMwQkJCRTAxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTG9uZ01vdXNlUHJlc3NE
YXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUMwQkJCRTExOThDNkRGRTAw
RDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLTG9uZ01vdXNlUHJlc3NEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTlDNEU2QjZGMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xs
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9uZ01vdXNlUHJl
c3NDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUM0RTZCNzAx
OThDMDA1MTAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUM0RTZCNzMxOThDMDI5ODAwODc2NTVBIC8qIExvbmdN
b3VzZVByZXNzRGF0YVN0b3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmNwcDsgcGF0aCA9IFNoYXJlZC9Mb25nTW91c2VQ
cmVzc0RhdGFTdG9yZS5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJOUM0RTZC
NzQxOThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmg7IHBhdGgg
PSBTaGFyZWQvTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OworCQk5Q0U2QkM3RTE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NE
YXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFQSUxvbmdNb3Vz
ZVByZXNzRGF0YS5jcHA7IHBhdGggPSBVSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNw
cDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQk5Q0U2QkM3RjE5OEM2MDYzMDA2NUQ1
RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEFQSUxvbmdNb3VzZVByZXNzRGF0YS5oOyBwYXRoID0gVUlQcm9jZXNzL0FQSUxvbmdN
b3VzZVByZXNzRGF0YS5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTlGNTRGODhF
MTY0ODhFODcwMDdERjgxQSAvKiBDaGlsZFByb2Nlc3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDaGlsZFByb2Nlc3NNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTlGNTRGODk0MTY0OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNz
TWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBs
dWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLQ29udGV4dFByaXZhdGVNYWMubW07
IHBhdGggPSBtYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTU3ODUsNiArNTc5Myw4IEBACiAJCQkJMUFBRjA4OUUxOTI2ODFBQzAwQjYzOTBD
IC8qIFVzZXJDb250ZW50ICovLAogCQkJCTFBRTUyRjhGMTkyMDFEQTcwMEExRkEzNyAvKiBBUElD
b250ZXh0Q29uZmlndXJhdGlvbi5jcHAgKi8sCiAJCQkJMUFFNTJGOTAxOTIwMURBNzAwQTFGQTM3
IC8qIEFQSUNvbnRleHRDb25maWd1cmF0aW9uLmggKi8sCisJCQkJOUNFNkJDN0UxOThDNjA2MzAw
NjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHAgKi8sCisJCQkJOUNFNkJDN0YxOThD
NjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5oICovLAogCQkJCUJDRjY5RkEx
MTE3NkQwMTQwMDQ3MUE1MiAvKiBBUElOYXZpZ2F0aW9uRGF0YS5jcHAgKi8sCiAJCQkJQkNGNjlG
QTAxMTc2RDAxNDAwNDcxQTUyIC8qIEFQSU5hdmlnYXRpb25EYXRhLmggKi8sCiAJCQkJNzVBOEQy
REQxODdERTg3NDAwQzM5QzlFIC8qIEFQSVNlc3Npb24uY3BwICovLApAQCAtNTk5MCw2ICs2MDAw
LDggQEAKIAkJCQkxQzhFMjkzNzEyNzYxRTVCMDBCQzdCRDAgLyogV0tJbnNwZWN0b3IuaCAqLywK
IAkJCQk1MUE5RTEwODEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
LmNwcCAqLywKIAkJCQk1MUE5RTEwOTEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyLmggKi8sCisJCQkJOUMwQkJCRTAxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01v
dXNlUHJlc3NEYXRhLmNwcCAqLywKKwkJCQk5QzBCQkJFMTE5OEM2REZFMDBENTM5NUEgLyogV0tM
b25nTW91c2VQcmVzc0RhdGEuaCAqLywKIAkJCQkzM0QzQTNCMzEzMzk2MDBCMDA3MDlCRTQgLyog
V0tNZWRpYUNhY2hlTWFuYWdlci5jcHAgKi8sCiAJCQkJMzNEM0EzQjQxMzM5NjAwQjAwNzA5QkU0
IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuaCAqLywKIAkJCQlDMDlBRTVFODEyNTI1N0MyMDAyNTgy
NUQgLyogV0tOYXRpdmVFdmVudC5oICovLApAQCAtNzE4Myw2ICs3MTk1LDcgQEAKIAkJCQlCQzA2
RjQ0QTEyREJEMUY1MDAyRDc4REUgLyogR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwNkY0M0ExMkRCQ0NGQjAwMkQ3OERFIC8q
IEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzBDRTcyQUQxMjQ3RTc4RDAwQkMwRUM0IC8qIEhhbmRsZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCTlDRTZCQzgxMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkMwNjg5MTYzOEY2N0UwMEFCQjkxMSAvKiBIb3N0UmVj
b3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0Y5MERFMzEzNzY1NjBFMDA1MUNGNjggLyogSFRU
UENvb2tpZUFjY2VwdFBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDRjZCMjUxMkM5M0U3
QTAwOEY5QzM1IC8qIEltYWdlT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCkBAIC03MjIwLDYgKzcy
MzMsNyBAQAogCQkJCUJDMzNFMEQxMTI0MDhFODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1bmRsZVJh
bmdlSGFuZGxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTE1REM3MjE5MUQ4MkRBMDBEQTgwNzIg
LyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU2
MDE4QkJFM0Q5MDAwRkNGQzkgLyogRmluZEluZGljYXRvcldpbmRvdy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJOUMwQkJCRTMxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE0REY3NzEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRC
dW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMEIwREUxMjMwNUE4QzAw
QjEzNDFFIC8qIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBRTQ5QTQ5MTFGRkE4Q0UwMDQ4QjQ2NCAvKiBKU05QTWV0aG9kLmggaW4gSGVhZGVy
cyAqLywKQEAgLTc4MzksOSArNzg1Myw5IEBACiAJCQkJQkM4RjJGMkUxNjI3M0FDQzAwNUZBQ0I1
IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlckludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyOTUwMTcyNDE2MkE0NTA0MDA0QTlENzEgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUY3NTA2QjYxODU5MTY1NzAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVI
YW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUY3NTA2QjUxODU5MTY1NDAwRUMw
RkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkSW50ZXJuYWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTM3M0NFQUQ2MTg1NDE3QUUwMDhDMzYzRCAvKiBXS05TRGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFCOEExRjAxODQwMEIwMDAwRTlBRTY5IC8qIFdLUGFnZUZvcm1DbGllbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTFGNzUwNkI1MTg1OTE2NTQwMEVDMEZGNyAvKiBXS1dlYlBy
b2Nlc3NQbHVnSW5TY3JpcHRXb3JsZEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk4
OUQ4NTE2MUE5ODkwMDAwRDQ2RDMgLyogV0tXZWJQcm9jZXNzUGx1Z0luSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMDRFRkZDMTZFNjVBRkIwMEUzMzZGMCAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5Qcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzJFNkU4RTExNDE5NzE1MDBBNjNC
MUUgLyogV29ya1F1ZXVlLmggaW4gSGVhZGVycyAqLywKQEAgLTkwOTgsNiArOTExMiw3IEBACiAJ
CQkJQzVFMUFGRUUxNkIyMTAyNTAwNkNDMUYyIC8qIEFQSVdlYkFyY2hpdmVSZXNvdXJjZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzcyQkExRDExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zv
cndhcmRMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzc0MTg1N0MyMUUwMEYzRUMw
NSAvKiBBUElHZW9tZXRyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5QzBCQkJFMjE5OEM2REZF
MDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTE4RDJDQUQxMkQ1MTUzQjAwM0JCOTNCIC8qIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM3MkI5RkExMUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3
YXJkTGlzdFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTExQTVBMTEyRjRGQkIwMDMz
N0JBQiAvKiBXZWJDaHJvbWVDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05MzQwLDYgKzkz
NTUsNyBAQAogCQkJCTUxMkY1OEY3MTJBODhBNTQwMDYyOTUzMCAvKiBXS0F1dGhlbnRpY2F0aW9u
RGVjaXNpb25MaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzY0NkMxQTExREQzOTlG
MDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RSZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM2NDZDMUMxMUREMzk5RjAwNjQ1NUIwIC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk5Q0U2QkM4MDE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01v
dXNlUHJlc3NEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjU2RTM3MThBMUE3ODgwMDZG
QjkyMiAvKiBXS05hdmlnYXRpb25BY3Rpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkzN0JGMkYw
NzE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VSTFJlcXVlc3QubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0JBQUM3MjE0NEU2MTk5MDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVy
Lm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwCmluZGV4IDQwYzg4
ZDYzOTM4ZTg4ZWM0NGNkOTg2NTVkNmI4NmQ0ODJmYzBkMTQuLjk5ODkzMzMxOGRkZDEwZTg4M2Vh
NTJiMGM5YWVhZDY5ZTFlZTRhMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwCkBAIC0z
Niw2ICszNiw4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIExvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVyKFdl
YlBhZ2UqIHdlYlBhZ2UpCisgICAgOiBtX2RhdGFTdG9yZShudWxscHRyKQorICAgICwgbV9wYWdl
KHdlYlBhZ2UpCiB7CiB9CiAKQEAgLTQzLDE3ICs0NSwyNSBAQCB2b2lkIExvbmdNb3VzZVByZXNz
Q29udHJvbGxlcjo6ZGlkQmVnaW5Mb25nTW91c2VQcmVzcyhjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgbQogewogICAgIC8vIEZJWE1FOiBHZW5lcmF0ZSBkYXRhIHN0b3JlIGZyb20gbG9jYXRpb24u
CiAKLSAgICAvLyBGSVhNRTogTm90aWZ5IGNsaWVudCBvZiBsb25nIG1vdXNlIHByZXNzIGV2ZW50
LgorICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRCZWdpbkxvbmdN
b3VzZVByZXNzKCptX2RhdGFTdG9yZSkpOwogfQogCiB2b2lkIExvbmdNb3VzZVByZXNzQ29udHJv
bGxlcjo6ZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MoKQogewotICAgIC8vIEZJWE1FOiBOb3Rp
ZnkgY2xpZW50IG9mIGxvbmcgbW91c2UgcHJlc3MgZXZlbnQuCisgICAgaWYgKCFtX2RhdGFTdG9y
ZS5nZXQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKCptX2RhdGFTdG9yZSkpOwor
ICAgIG1fZGF0YVN0b3JlID0gbnVsbHB0cjsKIH0KIAogdm9pZCBMb25nTW91c2VQcmVzc0NvbnRy
b2xsZXI6OmRpZENhbmNlbExvbmdNb3VzZVByZXNzKCkKIHsKLSAgICAvLyBGSVhNRTogTm90aWZ5
IGNsaWVudCBvZiBsb25nIG1vdXNlIHByZXNzIGV2ZW50LgorICAgIGlmICghbV9kYXRhU3RvcmUu
Z2V0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRDYW5jZWxMb25nTW91c2VQcmVzcygqbV9kYXRhU3RvcmUpKTsKKyAgICBt
X2RhdGFTdG9yZSA9IG51bGxwdHI7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29u
dHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVBy
ZXNzQ29udHJvbGxlci5oCmluZGV4IGM2NDE3NzdmMjE3MDJjZGVhM2M1ZTE3ZGZkMDQwNmZhNjU2
YjJiNmUuLmIzNjQ2YzdhNzAyMTMxYzZiMjExNzA3MDQ5NDBjZTY0N2M4NTNlOWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNl
UHJlc3NDb250cm9sbGVyLmgKQEAgLTQ2LDcgKzQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlk
Q2FuY2VsTG9uZ01vdXNlUHJlc3MoKTsKIAogcHJpdmF0ZToKLSAgICBMb25nTW91c2VQcmVzc0Rh
dGFTdG9yZSBtX2RhdGFTdG9yZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmU+IG1fZGF0YVN0b3JlOworICAgIFdlYlBhZ2UqIG1fcGFnZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236288</attachid>
            <date>2014-08-08 10:46:15 -0700</date>
            <delta_ts>2014-08-08 16:13:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135580-20140808104608.patch</filename>
            <type>text/plain</type>
            <size>41201</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhkOTA1Njc4NTE4YmQ1
ZWJjNWYwOGJlNGJiOGE3MGJkMjcxYjQzOC4uMjkwZjBlZjZlYWY0OWViNjI0OGMzNmQ0NjJkN2U4
NzY5MDRhZDY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE0LTA4LTA4ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBsb25n
IG1vdXNlIHByZXNzIFdlYktpdDIgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHBvc2VzIGFuIEFQSSBvbiB0aGUgUGFnZVVJ
Q2xpZW50IGZvciB0aGUgbG9uZyBtb3VzZSBwcmVzcyBldmVudHMgZGlkQmVnaW5Mb25nTW91c2VQ
cmVzcywKKyAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MsIGFuZCBkaWRDYW5jZWxM
b25nTW91c2VQcmVzcy4gVGhpcyBwYXRjaCBhbHNvIGludHJvZHVjZXMgYSBjbGFzcywKKyAgICAg
ICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEsIHRvIGVuY2Fwc3VsYXRlIHRoZSBpbmZvcm1hdGlv
biBuZWVkZWQgZm9yIGEgbG9uZyBwcmVzcy4gU2luY2UgY3VycmVudGx5IGxpbmtzCisgICAgICAg
IGFyZSB0aGUgb25seSBlbGVtZW50cyB0aGF0IHN1cHBvcnQgbG9uZyBwcmVzcywgQVBJOjpMb25n
TW91c2VQcmVzc0RhdGEgY29udGFpbnMgb25seSBhIHNuYXBzaG90IG9mIHRoZQorICAgICAgICBs
b25nLXByZXNzZWQgbGluaywgdGhlIHNuYXBzaG90J3Mgb3JpZ2luLCBhbmQgdGhlIGxpbmsncyBV
UkwuIEFzIHdlIGV4dGVuZCBsb25nLXByZXNzIHN1cHBvcnQgdG8gb3RoZXIKKyAgICAgICAgdHlw
ZXMgb2YgZWxlbWVudHMsIEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhIHdpbGwgY29udGFpbiBtb3Jl
IHBpZWNlcyBvZiBpbmZvcm1hdGlvbi4KKyAgICAgICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEg
aXMgbW9kZWxlZCBhZnRlciBBUEk6TmF2aWdhdGlvbkRhdGEuCisKKyAgICAgICAgKiBTaGFyZWQv
QVBJL2MvV0tCYXNlLmg6IERlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZi4gCisgICAgICAg
ICogU2hhcmVkL0FQSU9iamVjdC5oOiBBZGQgTG9uZ01vdXNlUHJlc3NEYXRhIEFQSSB0eXBlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlD
bGllbnQ6OmRpZEJlZ2luTG9uZ01vdXNlUHJlc3MpOiBBZGRlZC4gRW1wdHkgQVBJIG1ldGhvZC4K
KyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKTogRGl0
dG8uCisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERp
dHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDogQWRkIExvbmdNb3Vz
ZVByZXNzRGF0YSBBUEkgbWFwcGluZy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tMb25n
TW91c2VQcmVzc0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRh
Q29weVVSTCk6IAorICAgICAgICBDIEFQSSB0byBjb3B5IHRoZSBVUkwgY29ycmVzcG9uZGluZyB0
byBsb25nLXByZXNzZWQgZWxlbWVudCwgaWYgYXZhaWxhYmxlLgorICAgICAgICAoV0tMb25nTW91
c2VQcmVzc0RhdGFHZXRTbmFwc2hvdE9yaWdpbik6IAorICAgICAgICBDIEFQSSB0byBnZXQgdGhl
IG9yaWdpbiBwb2ludCBvZiB0aGUgbG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdC4KKyAg
ICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weUNHSW1hZ2VGcm9tU25hcHNob3QpOiAKKyAg
ICAgICAgQyBBUEkgdG8gY29weSB0aGUgbG9uZy1wcmVzc2VkIGVsZW1lbnQncyBzbmFwc2hvdCBh
cyBhIENHSW1hZ2UuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NE
YXRhLmg6IAorICAgICAgICBBZGRlZC4gUGxhY2VkIGluIHRoZSAiUHJpdmF0ZSBIZWFkZXJzIiBz
ZWN0aW9uIG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VVSUNsaWVudCk6IEFkZCBzaGltcyBm
b3IgdGhlIGxvbmcgbW91c2UgcHJlc3MgZXZlbnRzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VVSUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVz
c0RhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpMb25n
TW91c2VQcmVzc0RhdGEpOiBBZGRlZC4gQ3JlYXRlIEFQSSBzaGltIHdpdGggZGF0YSBzdG9yZS4g
CisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6fkxvbmdNb3VzZVByZXNzRGF0YSk6
IEFkZGVkLiBFbXB0eSBkZWNvbnN0cnVjdG9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUElMb25n
TW91c2VQcmVzc0RhdGEuaDogQWRkZWQuIE1vZGVsZWQgYWZ0ZXIgQVBJTmF2aWdhdGlvbkRhdGEu
CisgICAgICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKTogQWRkZWQuIEdldHRl
ciBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgbWVtYmVyIG9uIHRoZSBkYXRhIHN0b3JlLgorICAgICAg
ICAoQVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnVybFN0cmluZyk6IERpdHRvLgorICAgICAgICAo
QVBJOjpMb25nTW91c2VQcmVzc0RhdGE6OnNuYXBzaG90T3JpZ2luKTogRGl0dG8uCisgICAgICAg
IChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6c25hcHNob3QpOiBEaXR0by4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpkaWRCZWdpbkxvbmdNb3VzZVByZXNzKTogQWRkZWQuIE5vdGlmeSB0aGUgVUkgQ2xpZW50Lgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNz
KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2FuY2VsTG9uZ01v
dXNlUHJlc3MpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjogQWRkIGxvbmcgbW91
c2UgcHJlc3MgZXZlbnQgbWVzc2FnZXMuCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVz
c0NvbnRyb2xsZXIuY3BwOiAKKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9s
bGVyOjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIpOiBJbml0aWFsaXplIHdlYiBwYWdlIG1lbWJl
ciB2YXJpYWJsZS4KKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVyOjpk
aWRCZWdpbkxvbmdNb3VzZVByZXNzKTogTm90aWZ5IHRoZSBXZWJQYWdlUHJveHkuCisgICAgICAg
IChXZWJLaXQ6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkUmVjb2duaXplTG9uZ01vdXNl
UHJlc3MpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVy
OjpkaWRDYW5jZWxMb25nTW91c2VQcmVzcyk6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaDogQWRkIHdlYiBwYWdlIG1lbWJlciB2
YXJpYWJsZS4KKwogMjAxNC0wOC0wNyAgUGV5dG9uIFJhbmRvbHBoICA8cHJhbmRvbHBoQGFwcGxl
LmNvbT4KIAogICAgICAgICBDcmVhdGUgc3R1YiBsb25nIG1vdXNlIHByZXNzIGNvbnRyb2xsZXIu
IFBhcnQgb2YgMTM1MjU3IC0gQWRkIGxvbmcgbW91c2UgcHJlc3MgZ2VzdHVyZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLQmFzZS5oCmluZGV4IDhkMWU5NjVkNWM0YWUxZmE5ZTU5ZjQ1M2Q5NjJm
NDhhMmJiYzhjZDkuLmZlMTJiNDRkZTU0MmRjYTBlYjczNjA0OWQ3MGI4OGU2NjBiZTQ0YjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKQEAgLTExMCw2ICsxMTAsNyBAQCB0eXBl
ZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0hpdFRlc3RSZXN1bHQqIFdLSGl0VGVzdFJlc3VsdFJl
ZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLSWNvbkRhdGFiYXNlKiBXS0ljb25EYXRh
YmFzZVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLSW5zcGVjdG9yKiBXS0luc3Bl
Y3RvclJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLS2V5VmFsdWVTdG9yYWdlTWFu
YWdlciogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUmVmOwordHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
T3BhcXVlV0tMb25nTW91c2VQcmVzc0RhdGEqIFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmOwogdHlw
ZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tNZWRpYUNhY2hlTWFuYWdlciogV0tNZWRpYUNhY2hl
TWFuYWdlclJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTmF2aWdhdGlvbkRhdGEq
IFdLTmF2aWdhdGlvbkRhdGFSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS05vdGlm
aWNhdGlvbiogV0tOb3RpZmljYXRpb25SZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKaW5k
ZXggNmRmNDkxODNkMmJjNDYyNjVjYzA5ZjdiNWQ1NzRhMDdiM2MwYzU5Mi4uODgyMWFlNDZjZjFk
MzNjYjMxZDMzNmZmMzBiNWZmZWI4YTBiZmQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3Qu
aApAQCAtMTE4LDYgKzExOCw3IEBAIHB1YmxpYzoKICAgICAgICAgSWNvbkRhdGFiYXNlLAogICAg
ICAgICBJbnNwZWN0b3IsCiAgICAgICAgIEtleVZhbHVlU3RvcmFnZU1hbmFnZXIsCisgICAgICAg
IExvbmdNb3VzZVByZXNzRGF0YSwKICAgICAgICAgTWVkaWFDYWNoZU1hbmFnZXIsCiAgICAgICAg
IE5hdmlnYXRpb25EYXRhLAogICAgICAgICBOb3RpZmljYXRpb24sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKaW5kZXggYzI1ODgwNTdlZjI2NmRkNmRiOTQxMzAy
ZWI5ZTU2ODI2ZjUwYzMzYi4uMzI1MWU1NzVhYjY3ZGUxYmZmMWMzNmNmY2Q1MmM5MmIxOTgwODU3
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMTQw
LDYgKzE0MCwxMiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGlubmVkU3RhdGVEaWRD
aGFuZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KIAorI2lmIEVOQUJMRShMT05HX01PVVNF
X1BSRVNTKQorICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkxvbmdNb3VzZVByZXNzKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJLaXQ6Oldl
YlBhZ2VQcm94eSosIGNvbnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoV2ViS2l0OjpXZWJQYWdl
UHJveHkqLCBjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlJikgeyB9CisjZW5k
aWYKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICB2aXJ0dWFsIFJldGFpblB0cjxOU0FycmF5PiBh
Y3Rpb25zRm9yRWxlbWVudChfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqLCBSZXRhaW5QdHI8TlNB
cnJheT4gZGVmYXVsdEFjdGlvbnMpIHsgcmV0dXJuIFdURjo6bW92ZShkZWZhdWx0QWN0aW9ucyk7
IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCmluZGV4IDgwMjIxYTkxYjJmOTE2MzU1Mjk5YmMyNWYyZDBmMWM4MDE5NDdjMmMuLjY1YWYz
ZmUxMGJhOGVlYzI2ZDVkMjNmMTMxN2U5MTEzNGUzY2MzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTUyLDYgKzUyLDcgQEAKIAogbmFtZXNwYWNl
IEFQSSB7CiBjbGFzcyBDb250ZXh0Q29uZmlndXJhdGlvbjsKK2NsYXNzIExvbmdNb3VzZVByZXNz
RGF0YTsKIGNsYXNzIE5hdmlnYXRpb25EYXRhOwogY2xhc3MgU2Vzc2lvblN0YXRlOwogfQpAQCAt
MTI4LDYgKzEyOSw3IEBAIFdLX0FERF9BUElfTUFQUElORyhXS0dyYW1tYXJEZXRhaWxSZWYsIFdl
YkdyYW1tYXJEZXRhaWwpCiBXS19BRERfQVBJX01BUFBJTkcoV0tIaXRUZXN0UmVzdWx0UmVmLCBX
ZWJIaXRUZXN0UmVzdWx0KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLSWNvbkRhdGFiYXNlUmVmLCBX
ZWJJY29uRGF0YWJhc2UpCiBXS19BRERfQVBJX01BUFBJTkcoV0tLZXlWYWx1ZVN0b3JhZ2VNYW5h
Z2VyUmVmLCBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKQorV0tfQUREX0FQSV9NQVBQSU5HKFdL
TG9uZ01vdXNlUHJlc3NEYXRhUmVmLCBBUEk6OkxvbmdNb3VzZVByZXNzRGF0YSkKIFdLX0FERF9B
UElfTUFQUElORyhXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmLCBXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTmF2aWdhdGlvbkRhdGFSZWYsIEFQSTo6TmF2aWdh
dGlvbkRhdGEpCiBXS19BRERfQVBJX01BUFBJTkcoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmLCBX
ZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tMb25nTW91c2VQcmVzc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmJi
NzA0NWQxMzVmNDM1YTdjNWNiNjliZTI1ZWE5NWJkYTQ4ZmEzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApA
QCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldLTG9uZ01vdXNlUHJlc3NEYXRhLmgiCisKKyNpbmNsdWRlICJBUElMb25nTW91c2VQcmVz
c0RhdGEuaCIKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXZWJJbWFnZS5oIgor
Cit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitXS1R5cGVJRCBXS0xvbmdNb3VzZVByZXNzRGF0
YUdldFR5cGVJRCgpCit7CisgICAgcmV0dXJuIHRvQVBJKEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRh
OjpBUElUeXBlKTsKK30KKworV0tVUkxSZWYgV0tMb25nTW91c2VQcmVzc0RhdGFDb3B5VVJMKFdL
TG9uZ01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZikKK3sKKyAgICByZXR1
cm4gdG9Db3BpZWRVUkxBUEkodG9JbXBsKGxvbmdNb3VzZVByZXNzRGF0YVJlZiktPnVybFN0cmlu
ZygpKTsKK30KKworV0tJbWFnZVJlZiBXS0xvbmdNb3VzZVByZXNzRGF0YUdldFNuYXBzaG90KFdL
TG9uZ01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZikKK3sKKyAgICBSZWZQ
dHI8V2ViSW1hZ2U+IHNuYXBzaG90ID0gV2ViSW1hZ2U6OmNyZWF0ZSh0b0ltcGwobG9uZ01vdXNl
UHJlc3NEYXRhUmVmKS0+c25hcHNob3QoKSk7CisgICAgcmV0dXJuIHRvQVBJKHNuYXBzaG90LnJl
bGVhc2UoKS5sZWFrUmVmKCkpOworfQorCitXS1BvaW50UmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRh
R2V0U25hcHNob3RPcmlnaW4oV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NE
YXRhUmVmKQoreworICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgc25hcHNob3RPcmlnaW4gPSB0b0lt
cGwobG9uZ01vdXNlUHJlc3NEYXRhUmVmKS0+c25hcHNob3RPcmlnaW4oKTsKKyAgICByZXR1cm4g
V0tQb2ludENyZWF0ZShXS1BvaW50TWFrZShzbmFwc2hvdE9yaWdpbi54KCksIHNuYXBzaG90T3Jp
Z2luLnkoKSkpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLTG9uZ01vdXNlUHJlc3NEYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tMb25nTW91c2VQcmVzc0RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDE2MzI2MjkzNGExODRlZjYxYmVj
ZGQ1ZThlNzRlNmNhYWVjZTc2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmgKQEAgLTAsMCArMSw0NiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgV0tMb25nTW91c2VQcmVzc0RhdGFfaAorI2RlZmluZSBXS0xvbmdN
b3VzZVByZXNzRGF0YV9oCisKKyNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+CisjaW5jbHVkZSA8
V2ViS2l0L1dLR2VvbWV0cnkuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsK
KyNlbmRpZgorCitXS19FWFBPUlQgV0tUeXBlSUQgV0tMb25nTW91c2VQcmVzc0RhdGFHZXRUeXBl
SUQoKTsKKworV0tfRVhQT1JUIFdLVVJMUmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhQ29weVVSTChX
S0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpOworV0tfRVhQT1JU
IFdLSW1hZ2VSZWYgV0tMb25nTW91c2VQcmVzc0RhdGFHZXRTbmFwc2hvdChXS0xvbmdNb3VzZVBy
ZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpOworV0tfRVhQT1JUIFdLUG9pbnRSZWYg
V0tMb25nTW91c2VQcmVzc0RhdGFHZXRTbmFwc2hvdE9yaWdpbihXS0xvbmdNb3VzZVByZXNzRGF0
YVJlZiBsb25nTW91c2VQcmVzc0RhdGFSZWYpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNl
bmRpZgorCisjZW5kaWYgLy8gV0tMb25nTW91c2VQcmVzc0RhdGFfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCBkOWEzYTkxZmM4NDljYzIxNjkzZDBlMDk3
YTgzMmExZTE3ZjExYTUyLi43MzE3OTEyYmFkNmNlYzA2Yjg0ZjNiODIzZDE5ZDc4ZjViYTc1OGVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMzEsMTEg
KzMxLDEzIEBACiAjaW5jbHVkZSAiQVBJRGF0YS5oIgogI2luY2x1ZGUgIkFQSUZpbmRDbGllbnQu
aCIKICNpbmNsdWRlICJBUElMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJBUElMb25nTW91c2VQ
cmVzc0RhdGEuaCIKICNpbmNsdWRlICJBUElQb2xpY3lDbGllbnQuaCIKICNpbmNsdWRlICJBUElT
ZXNzaW9uU3RhdGUuaCIKICNpbmNsdWRlICJBUElVSUNsaWVudC5oIgogI2luY2x1ZGUgIkltbXV0
YWJsZURpY3Rpb25hcnkuaCIKICNpbmNsdWRlICJMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaCIK
KyNpbmNsdWRlICJMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oIgogI2luY2x1ZGUgIk5hdGl2ZVdl
YktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJOYXRpdmVXZWJXaGVlbEV2ZW50LmgiCiAjaW5j
bHVkZSAiTmF2aWdhdGlvbkFjdGlvbkRhdGEuaCIKQEAgLTc0LDcgKzc2LDcgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZVBvbGljeUNsaWVudEJhc2U+IHsKIH07CiAKIHRl
bXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VVSUNsaWVudEJhc2U+IHsKLSAgICB0
eXBlZGVmIHN0ZDo6dHVwbGU8V0tQYWdlVUlDbGllbnRWMCwgV0tQYWdlVUlDbGllbnRWMSwgV0tQ
YWdlVUlDbGllbnRWMiwgV0tQYWdlVUlDbGllbnRWMz4gVmVyc2lvbnM7CisgICAgdHlwZWRlZiBz
dGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAsIFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xp
ZW50VjIsIFdLUGFnZVVJQ2xpZW50VjMsIFdLUGFnZVVJQ2xpZW50VjQ+IFZlcnNpb25zOwogfTsK
IAogfQpAQCAtMTU4Myw2ICsxNTg1LDM1IEBAIHZvaWQgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KFdL
UGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VVSUNsaWVudEJhc2UqIHdrQ2xpZW50CiAKICAg
ICAgICAgICAgIG1fY2xpZW50LnBpbm5lZFN0YXRlRGlkQ2hhbmdlKHRvQVBJKCZwYWdlKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAgICAgICAgfQorCisjaWYgRU5BQkxFKExPTkdfTU9V
U0VfUFJFU1MpCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRCZWdpbkxvbmdNb3VzZVByZXNzKFdl
YlBhZ2VQcm94eSogcGFnZSwgY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKSBv
dmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZEJlZ2luTG9u
Z01vdXNlUHJlc3MpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBSZWZQ
dHI8QVBJOjpMb25nTW91c2VQcmVzc0RhdGE+IGRhdGEgPSBBUEk6OkxvbmdNb3VzZVByZXNzRGF0
YTo6Y3JlYXRlKHN0b3JlKTsKKyAgICAgICAgICAgIG1fY2xpZW50LmRpZEJlZ2luTG9uZ01vdXNl
UHJlc3ModG9BUEkocGFnZSksIHRvQVBJKGRhdGEuZ2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOworICAgICAgICB9CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY29nbml6ZUxv
bmdNb3VzZVByZXNzKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRh
U3RvcmUmIHN0b3JlKSBvdmVycmlkZQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW1fY2xp
ZW50LmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICAgICAgUmVmUHRyPEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhPiBkYXRhID0gQVBJ
OjpMb25nTW91c2VQcmVzc0RhdGE6OmNyZWF0ZShzdG9yZSk7CisgICAgICAgICAgICBtX2NsaWVu
dC5kaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyh0b0FQSShwYWdlKSwgdG9BUEkoZGF0YS5nZXQo
KSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgIH0KKworICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25z
dCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYgc3RvcmUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICghbV9jbGllbnQuZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MpCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBSZWZQdHI8QVBJOjpMb25nTW91c2VQcmVz
c0RhdGE+IGRhdGEgPSBBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6Y3JlYXRlKHN0b3JlKTsKKyAg
ICAgICAgICAgIG1fY2xpZW50LmRpZENhbmNlbExvbmdNb3VzZVByZXNzKHRvQVBJKHBhZ2UpLCB0
b0FQSShkYXRhLmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQor
I2VuZGlmIC8vIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQogICAgIH07CiAKICAgICB0b0ltcGwo
cGFnZVJlZiktPnNldFVJQ2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8VUlDbGllbnQ+KHdrQ2xpZW50
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5o
CmluZGV4IGZlNjY4NjliOTM0MzM1OTY5YTBlZjlhMGViZWEyZjMzNDZkMWNmNmYuLjE1OWFjNzVm
ZTA2NzQyYWI1NDUyMzg0YzgwNGE3NWExZDdlOTJkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCkBAIC04Niw2ICs4Niw5IEBAIHR5cGVk
ZWYgdm9pZCAoKldLUGFnZVNob3dDb2xvclBpY2tlckNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwg
V0tTdHJpbmdSZWYgaW5pdGlhCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VIaWRlQ29sb3JQaWNrZXJD
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRl
ZiB2b2lkICgqV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkQ2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXS1BsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxh
YmlsaXR5UmVhc29uLCBXS0RpY3Rpb25hcnlSZWYgcGx1Z2luSW5mb0RpY3Rpb25hcnksIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlUGlubmVkU3RhdGVEaWRD
aGFuZ2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwor
dHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQmVnaW5Mb25nTW91c2VQcmVzc0NhbGxiYWNrKShXS1Bh
Z2VSZWYgcGFnZSwgV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZFJlY29nbml6
ZUxvbmdNb3VzZVByZXNzQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0xvbmdNb3VzZVByZXNz
RGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlw
ZWRlZiB2b2lkICgqV0tQYWdlRGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3NDYWxsYmFjaykoV0tQYWdl
UmVmIHBhZ2UsIFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIC8vIERlcHJlY2F0ZWQgICAgCiB0eXBlZGVmIFdLUGFn
ZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYw
KShXS1BhZ2VSZWYgcGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZp
ZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lk
ICpjbGllbnRJbmZvKTsKQEAgLTMwOSw2ICszMTIsNzAgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdl
VUlDbGllbnRWMyB7CiAgICAgV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFuZ2VDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRTdGF0ZURpZENoYW5nZTsKIH0gV0tQ
YWdlVUlDbGllbnRWMzsKIAordHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWNCB7CisgICAg
V0tQYWdlVUlDbGllbnRCYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiYXNlOworCisgICAgLy8gVmVyc2lvbiAwLgorICAgIFdLUGFnZUNyZWF0ZU5l
d1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICAgICAgICAgICAgY3Jl
YXRlTmV3UGFnZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZVVJQ2xpZW50Q2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1Bh
Z2U7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbG9zZTsKKyAgICBXS1BhZ2VUYWtlRm9jdXNDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VGb2N1czsKKyAg
ICBXS1BhZ2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZvY3VzOworICAgIFdLUGFnZVVuZm9jdXNDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5mb2N1czsKKyAgICBXS1BhZ2VS
dW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJ1bkphdmFTY3JpcHRBbGVydDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25m
aXJtOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21wdDsKKyAgICBXS1BhZ2VTZXRT
dGF0dXNUZXh0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNldFN0YXR1c1RleHQ7CisgICAgV0tQYWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFj
a19kZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudF9k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZU1pc3NpbmdQbHVnaW5CdXR0b25DbGlj
a2VkQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCAgICAgbWlzc2luZ1BsdWdpbkJ1dHRv
bkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMDsKKyAgICBXS1BhZ2VEaWROb3RIYW5kbGVL
ZXlFdmVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZE5vdEhh
bmRsZUtleUV2ZW50OworICAgIFdLUGFnZURpZE5vdEhhbmRsZVdoZWVsRXZlbnRDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlV2hlZWxFdmVudDsKKyAg
ICBXS1BhZ2VHZXRUb29sYmFyc0FyZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRvb2xiYXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRUb29sYmFyc0Fy
ZVZpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRvb2xi
YXJzQXJlVmlzaWJsZTsKKyAgICBXS1BhZ2VHZXRNZW51QmFySXNWaXNpYmxlQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVCYXJJc1Zpc2libGU7CisgICAgV0tQ
YWdlU2V0TWVudUJhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZXRNZW51QmFySXNWaXNpYmxlOworICAgIFdLUGFnZUdldFN0YXR1c0JhcklzVmlz
aWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQmFySXNW
aXNpYmxlOworICAgIFdLUGFnZVNldFN0YXR1c0JhcklzVmlzaWJsZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdHVzQmFySXNWaXNpYmxlOworICAgIFdLUGFn
ZUdldElzUmVzaXphYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXNSZXNpemFibGU7CisgICAgV0tQYWdlU2V0SXNSZXNpemFibGVDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc1Jlc2l6YWJsZTsKKyAgICBX
S1BhZ2VHZXRXaW5kb3dGcmFtZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdldFdpbmRvd0ZyYW1lOworICAgIFdLUGFnZVNldFdpbmRvd0ZyYW1lQ2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0V2luZG93RnJhbWU7
CisgICAgV0tQYWdlUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWw7CisgICAgV0tQYWdl
VUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkaWREcmF3OworICAgIFdLUGFnZVVJQ2xpZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURpZFNjcm9sbDsKKyAgICBXS1BhZ2VF
eGNlZWRlZERhdGFiYXNlUXVvdGFDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV4Y2VlZGVkRGF0YWJhc2VRdW90YTsKKyAgICBXS1BhZ2VSdW5PcGVuUGFuZWxDYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk9wZW5QYW5lbDsK
KyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2Fs
bGJhY2sgICAgICAgICAgIGRlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3Q7CisgICAgV0tQYWdlSGVhZGVySGVpZ2h0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWFkZXJIZWlnaHQ7CisgICAgV0tQYWdlRm9vdGVySGVpZ2h0
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJI
ZWlnaHQ7CisgICAgV0tQYWdlRHJhd0hlYWRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkcmF3SGVhZGVyOworICAgIFdLUGFnZURyYXdGb290ZXJD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0Zv
b3RlcjsKKyAgICBXS1BhZ2VQcmludEZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHByaW50RnJhbWU7CisgICAgV0tQYWdlVUlDbGllbnRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5Nb2Rh
bDsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVudXNlZDE7IC8vIFVzZWQgdG8gYmUgZGlkQ29tcGxldGVSdWJi
ZXJCYW5kRm9yTWFpbkZyYW1lCisgICAgV0tQYWdlU2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0Zv
bGRlckNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBzYXZlRGF0YVRvRmlsZUluRG93bmxv
YWRzRm9sZGVyOworICAgIFdLUGFnZVNob3VsZEludGVycnVwdEphdmFTY3JpcHRDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdDsKKwor
ICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS1BhZ2VDcmVhdGVOZXdQYWdlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld1BhZ2U7CisgICAgV0tQ
YWdlTW91c2VEaWRNb3ZlT3ZlckVsZW1lbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudDsKKyAgICBXS1BhZ2VEZWNpZGVQb2xpY3lG
b3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgIGRlY2lkZVBv
bGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0OworICAgIFdLUGFnZVVuYXZhaWxh
YmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEgdW5h
dmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjE7CisKKyAg
ICAvLyBWZXJzaW9uIDIuCisgICAgV0tQYWdlU2hvd0NvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93Q29sb3JQaWNrZXI7CisgICAgV0tQ
YWdlSGlkZUNvbG9yUGlja2VyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBoaWRlQ29sb3JQaWNrZXI7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0
b25DbGlja2VkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJsZVBsdWdp
bkJ1dHRvbkNsaWNrZWQ7CisgICAgCisgICAgLy8gVmVyc2lvbiAzLgorICAgIFdLUGFnZVBpbm5l
ZFN0YXRlRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGlubmVkU3RhdGVEaWRDaGFuZ2U7CisKKyAgICAvLyBWZXJzaW9uIDQuCisgICAgV0tQYWdlRGlk
QmVnaW5Mb25nTW91c2VQcmVzc0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkaWRCZWdpbkxvbmdNb3VzZVByZXNzOworICAgIFdLUGFnZURpZFJlY29nbml6ZUxvbmdNb3Vz
ZVByZXNzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkUmVjb2duaXplTG9u
Z01vdXNlUHJlc3M7CisgICAgV0tQYWdlRGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3NDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDYW5jZWxMb25nTW91c2VQcmVzczsKK30g
V0tQYWdlVUlDbGllbnRWNDsKKwogZW51bSB7IGtXS1BhZ2VVSUNsaWVudEN1cnJlbnRWZXJzaW9u
IFdLX0VOVU1fREVQUkVDQVRFRCgiVXNlIGFuIGV4cGxpY2l0IHZlcnNpb24gbnVtYmVyIGluc3Rl
YWQiKSA9IDIgfTsKIHR5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50IHsKICAgICBpbnQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZlcnNpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9u
Z01vdXNlUHJlc3NEYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUElMb25nTW91
c2VQcmVzc0RhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkOTQzMDkyNGFhYTBhM2ZmMjA0NmZjMTJlNWNm
NGJjOTc2MTgxYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFQSUxvbmdNb3VzZVByZXNzRGF0YS5oIgor
CituYW1lc3BhY2UgQVBJIHsKKworTG9uZ01vdXNlUHJlc3NEYXRhOjpMb25nTW91c2VQcmVzc0Rh
dGEoY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYgc3RvcmUpCisgICAgOiBt
X3N0b3JlKHN0b3JlKQoreworfQorCitMb25nTW91c2VQcmVzc0RhdGE6On5Mb25nTW91c2VQcmVz
c0RhdGEoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVzc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVzc0RhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjdhODYyMzBj
YTliNjkzZWZjMjdmZjUzZjg4ODBiOTQ2NmIxMzYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5oCkBAIC0wLDAgKzEsNTYg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIEFQSUxvbmdNb3VzZVByZXNzRGF0YV9oCisjZGVmaW5l
IEFQSUxvbmdNb3VzZVByZXNzRGF0YV9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNs
dWRlICJMb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBBUEkgeworCitjbGFzcyBMb25nTW91c2VQcmVzc0RhdGEgOiBwdWJs
aWMgT2JqZWN0SW1wbDxPYmplY3Q6OlR5cGU6OkxvbmdNb3VzZVByZXNzRGF0YT4geworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPExvbmdNb3VzZVByZXNzRGF0YT4gY3JlYXRlKGNvbnN0
IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBMb25nTW91c2VQcmVzc0RhdGEoc3RvcmUpKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIH5Mb25nTW91c2VQcmVzc0RhdGEoKTsKKworICAgIFdURjo6U3RyaW5nIHVy
bFN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmUudXJsU3RyaW5nOyB9CisgICAgV2ViQ29y
ZTo6RmxvYXRQb2ludCBzbmFwc2hvdE9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmUuc25h
cHNob3RPcmlnaW47IH0KKyAgICBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcCogc25hcHNob3QoKSBj
b25zdCB7IHJldHVybiBtX3N0b3JlLnNuYXBzaG90LmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgTG9uZ01vdXNlUHJlc3NEYXRhKGNvbnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmUmKTsKKworICAgIFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUgbV9zdG9y
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIEFQSQorCisjZW5kaWYgLy8gQVBJTG9uZ01vdXNlUHJl
c3NEYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
MGU1NjBhYjk3YWM1Nzk0NzUyYTkyNWNhZDgwY2Y5NzNkNjRhYjU0NC4uMzg1OGFjNjA4N2JkMWJi
Nzc4MGVjMTRiNDU1Njg4MDdmODA2NTQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTE3NDksNiArMTc0OSwyMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
Y2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpDZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhKCksIG1fcGFnZUlEKTsK
IH0KIAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQordm9pZCBXZWJQYWdlUHJveHk6OmRp
ZEJlZ2luTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIGRhdGEp
Cit7CisgICAgbV91aUNsaWVudC0+ZGlkQmVnaW5Mb25nTW91c2VQcmVzcyh0aGlzLCBkYXRhKTsK
K30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKGNvbnN0
IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBkYXRhKQoreworICAgIG1fdWlDbGllbnQtPmRpZFJl
Y29nbml6ZUxvbmdNb3VzZVByZXNzKHRoaXMsIGRhdGEpOworfQorCit2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUm
IGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3ModGhpcywg
ZGF0YSk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJveHk6OnJlY2VpdmVkUG9saWN5RGVj
aXNpb24oUG9saWN5QWN0aW9uIGFjdGlvbiwgV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90
IGxpc3RlbmVySUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCkKIHsKICAgICBpZiAoIWlzVmFsaWQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5NjVmM2M4Mjli
ODQxM2I4Y2FiYmFmYTBkMDRlMzU2YzViZTdkZWQwLi5jZWI2ZWNhZGM0Nzc1NTc2ZmZhODI0ZTc5
NTA3MDY2MTM3YmJlNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC0xNzYsNiArMTc2LDEwIEBAIHN0cnVjdCBQbGF0Zm9ybVBvcHVwTWVudURhdGE7CiBzdHJ1
Y3QgUHJpbnRJbmZvOwogc3RydWN0IFdlYlBvcHVwSXRlbTsKIAorI2lmIEVOQUJMRShMT05HX01P
VVNFX1BSRVNTKQorc3RydWN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlOworI2VuZGlmCisKICNp
ZiBFTkFCTEUoVklCUkFUSU9OKQogY2xhc3MgV2ViVmlicmF0aW9uUHJveHk7CiAjZW5kaWYKQEAg
LTY4MCw2ICs2ODQsMTIgQEAgcHVibGljOgogICAgIHZvaWQgZHJhd0hlYWRlcihXZWJGcmFtZVBy
b3h5KiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7CiAgICAgdm9pZCBkcmF3Rm9vdGVyKFdl
YkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKIAorI2lmIEVOQUJMRShM
T05HX01PVVNFX1BSRVNTKQorICAgIHZvaWQgZGlkQmVnaW5Mb25nTW91c2VQcmVzcyhjb25zdCBM
b25nTW91c2VQcmVzc0RhdGFTdG9yZSYpOworICAgIHZvaWQgZGlkUmVjb2duaXplTG9uZ01vdXNl
UHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmKTsKKyAgICB2b2lkIGRpZENhbmNl
bExvbmdNb3VzZVByZXNzKGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJik7CisjZW5kaWYK
KwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIC8vIERpY3Rpb25hcnkuCiAgICAgdm9pZCBwZXJm
b3JtRGljdGlvbmFyeUxvb2t1cEF0TG9jYXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYTFiYjVkODgzYTRlYTdlYjY2MDhhM2YwYTZlYWZlYTYxMDZkMzc3Yy4uODkxNDNj
ODU0OWFlOGNiZGU3Yjk2ZDdmZmQ0YTYyYjA5ZjQ5ODRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yODQsNiArMjg0LDEy
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU3RhcnREcmFnKFdlYkNvcmU6OkRy
YWdEYXRhIGRyYWdEYXRhLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGRyYWdJbWFn
ZSkKICNlbmRpZgogCisjaWYgRU5BQkxFKExPTkdfTU9VU0VfUFJFU1MpCisgICAgRGlkQmVnaW5M
b25nTW91c2VQcmVzcyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9yZSkK
KyAgICBEaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0
YVN0b3JlIGRhdGFTdG9yZSkKKyAgICBEaWRDYW5jZWxMb25nTW91c2VQcmVzcyhXZWJLaXQ6Okxv
bmdNb3VzZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9yZSkKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgIyBEaWN0aW9uYXJ5IHN1cHBvcnQuCiAgICAgRGlkUGVyZm9ybURpY3Rpb25h
cnlMb29rdXAoV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHRleHQsIFdlYktpdDo6RGljdGlvbmFy
eVBvcHVwSW5mbyBkaWN0aW9uYXJ5UG9wdXBJbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZmYWYxNjE3Zjk5NDlmMTMxNGE1
OGZmNmRkY2U3MWFjOTNhNTk0ZWYuLmI4NjdkMGViZTZkOTE5NTZmNGMxM2QyN2M5ZGFhN2JlM2Jj
NzZlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEwOTUsMTAgKzEwOTUsMTQgQEAKIAkJOTM5MUYyQ0IxMjFCNjdBRDAwRUJG
N0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzOTFGMjgzMTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJG
cmFtZU5ldHdvcmtpbmdDb250ZXh0LmggKi87IH07CiAJCTkzOUFFNzY2MTMxNkU5OUMwMEFFMDZB
NiAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5QUU3NjUxMzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAgKi87IH07CiAJCTkzQkRFQjAxMTcxREQ3QUYwMEJGRUUxQiAvKiBX
S1BhZ2VMb2FkVHlwZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0JERUIwMDE3MUREN0FGMDBCRkVFMUIgLyogV0tQYWdlTG9hZFR5cGVz
UHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTlDMEJCQkUyMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QzBCQkJFMDE5
OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuY3BwICovOyB9OworCQk5QzBC
QkJFMzE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDMEJCQkUxMTk4QzZERkUwMEQ1
Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTlDNEU2QjcxMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25n
TW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUM0RTZCNkYxOThDMDA1MTAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNz
Q29udHJvbGxlci5jcHAgKi87IH07CiAJCTlDNEU2QjcyMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25n
TW91c2VQcmVzc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDlDNEU2QjcwMTk4QzAwNTEwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0Nv
bnRyb2xsZXIuaCAqLzsgfTsKIAkJOUM0RTZCNzUxOThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3Vz
ZVByZXNzRGF0YVN0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlDNEU2QjczMTk4QzAyOTgwMDg3NjU1QSAvKiBMb25nTW91c2VQcmVzc0RhdGFT
dG9yZS5jcHAgKi87IH07CiAJCTlDNEU2Qjc2MTk4QzAyOTgwMDg3NjU1QSAvKiBMb25nTW91c2VQ
cmVzc0RhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOUM0RTZCNzQxOThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzRGF0YVN0b3Jl
LmggKi87IH07CisJCTlDRTZCQzgwMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVz
c0RhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUNFNkJDN0UxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHAgKi87
IH07CisJCTlDRTZCQzgxMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDRTZCQzdG
MTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuaCAqLzsgfTsKIAkJOUY1
NEY4OEYxNjQ4OEU4NzAwN0RGODFBIC8qIENoaWxkUHJvY2Vzc01hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGNTRGODhFMTY0ODhFODcwMDdERjgx
QSAvKiBDaGlsZFByb2Nlc3NNYWMubW0gKi87IH07CiAJCTlGNTRGODk1MTY0OEFFMEYwMDdERjgx
QSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGNTRGODk0MTY0OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Q
cm9jZXNzTWFuYWdlck1hYy5tbSAqLzsgfTsKIAkJOUZCNUYzOTQxNjlFNkE4MDAwMkMyNUJGIC8q
IFdLQ29udGV4dFByaXZhdGVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0
ZU1hYy5tbSAqLzsgfTsKQEAgLTMxNTMsMTAgKzMxNTcsMTQgQEAKIAkJOTM5MUYyODQxMjFCMzhG
NTAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzlBRTc2NTEzMTZFOTlDMDBBRTA2QTYgLyog
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzQkRFQjAwMTcxREQ3QUYwMEJGRUUxQiAvKiBXS1BhZ2VMb2FkVHlwZXNQcml2YXRl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUGFnZUxvYWRUeXBlc1ByaXZh
dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUMwQkJCRTAxOThDNkRGRTAwRDUz
OTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOUMwQkJCRTExOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NE
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLTG9uZ01vdXNlUHJlc3NE
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlDNEU2QjZGMTk4QzAwNTEwMDg3
NjU1QSAvKiBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUM0RTZCNzAxOThDMDA1MTAwODc2NTVBIC8qIExvbmdNb3Vz
ZVByZXNzQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb25n
TW91c2VQcmVzc0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUM0
RTZCNzMxOThDMDI5ODAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExvbmdNb3VzZVByZXNzRGF0YVN0b3Jl
LmNwcDsgcGF0aCA9IFNoYXJlZC9Mb25nTW91c2VQcmVzc0RhdGFTdG9yZS5jcHA7IHNvdXJjZVRy
ZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJOUM0RTZCNzQxOThDMDI5ODAwODc2NTVBIC8qIExvbmdN
b3VzZVByZXNzRGF0YVN0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExv
bmdNb3VzZVByZXNzRGF0YVN0b3JlLmg7IHBhdGggPSBTaGFyZWQvTG9uZ01vdXNlUHJlc3NEYXRh
U3RvcmUuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQk5Q0U2QkM3RTE5OEM2MDYz
MDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEFQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHA7IHBhdGggPSBVSVBy
b2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09U
OyB9OworCQk5Q0U2QkM3RjE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRh
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFQSUxvbmdNb3VzZVByZXNzRGF0
YS5oOyBwYXRoID0gVUlQcm9jZXNzL0FQSUxvbmdNb3VzZVByZXNzRGF0YS5oOyBzb3VyY2VUcmVl
ID0gU09VUkNFX1JPT1Q7IH07CiAJCTlGNTRGODhFMTY0ODhFODcwMDdERjgxQSAvKiBDaGlsZFBy
b2Nlc3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDaGls
ZFByb2Nlc3NNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGNTRGODk0MTY0
OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyog
V0tDb250ZXh0UHJpdmF0ZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
bmFtZSA9IFdLQ29udGV4dFByaXZhdGVNYWMubW07IHBhdGggPSBtYWMvV0tDb250ZXh0UHJpdmF0
ZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU3ODUsNiArNTc5Myw4IEBA
CiAJCQkJMUFBRjA4OUUxOTI2ODFBQzAwQjYzOTBDIC8qIFVzZXJDb250ZW50ICovLAogCQkJCTFB
RTUyRjhGMTkyMDFEQTcwMEExRkEzNyAvKiBBUElDb250ZXh0Q29uZmlndXJhdGlvbi5jcHAgKi8s
CiAJCQkJMUFFNTJGOTAxOTIwMURBNzAwQTFGQTM3IC8qIEFQSUNvbnRleHRDb25maWd1cmF0aW9u
LmggKi8sCisJCQkJOUNFNkJDN0UxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNz
RGF0YS5jcHAgKi8sCisJCQkJOUNFNkJDN0YxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3Vz
ZVByZXNzRGF0YS5oICovLAogCQkJCUJDRjY5RkExMTE3NkQwMTQwMDQ3MUE1MiAvKiBBUElOYXZp
Z2F0aW9uRGF0YS5jcHAgKi8sCiAJCQkJQkNGNjlGQTAxMTc2RDAxNDAwNDcxQTUyIC8qIEFQSU5h
dmlnYXRpb25EYXRhLmggKi8sCiAJCQkJNzVBOEQyREQxODdERTg3NDAwQzM5QzlFIC8qIEFQSVNl
c3Npb24uY3BwICovLApAQCAtNTk5MCw2ICs2MDAwLDggQEAKIAkJCQkxQzhFMjkzNzEyNzYxRTVC
MDBCQzdCRDAgLyogV0tJbnNwZWN0b3IuaCAqLywKIAkJCQk1MUE5RTEwODEzMTVDRDE4MDA5RTcw
MzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCAqLywKIAkJCQk1MUE5RTEwOTEzMTVD
RDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmggKi8sCisJCQkJOUMwQkJC
RTAxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAqLywKKwkJCQk5
QzBCQkJFMTE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuaCAqLywKIAkJ
CQkzM0QzQTNCMzEzMzk2MDBCMDA3MDlCRTQgLyogV0tNZWRpYUNhY2hlTWFuYWdlci5jcHAgKi8s
CiAJCQkJMzNEM0EzQjQxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuaCAq
LywKIAkJCQlDMDlBRTVFODEyNTI1N0MyMDAyNTgyNUQgLyogV0tOYXRpdmVFdmVudC5oICovLApA
QCAtNzE4Myw2ICs3MTk1LDcgQEAKIAkJCQlCQzA2RjQ0QTEyREJEMUY1MDAyRDc4REUgLyogR2Vv
bG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMwNkY0M0ExMkRCQ0NGQjAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBDRTcyQUQxMjQ3RTc4RDAwQkMwRUM0IC8q
IEhhbmRsZU1lc3NhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTlDRTZCQzgxMTk4QzYwNjMwMDY1
RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkMw
Njg5MTYzOEY2N0UwMEFCQjkxMSAvKiBIb3N0UmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
N0Y5MERFMzEzNzY1NjBFMDA1MUNGNjggLyogSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNDRjZCMjUxMkM5M0U3QTAwOEY5QzM1IC8qIEltYWdlT3B0aW9ucy5o
IGluIEhlYWRlcnMgKi8sCkBAIC03MjIwLDYgKzcyMzMsNyBAQAogCQkJCUJDMzNFMEQxMTI0MDhF
ODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMTE1REM3MjE5MUQ4MkRBMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU2MDE4QkJFM0Q5MDAwRkNGQzkgLyogRmluZElu
ZGljYXRvcldpbmRvdy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOUMwQkJCRTMxOThDNkRGRTAwRDUz
OTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0REY3
NzEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNCMEIwREUxMjMwNUE4QzAwQjEzNDFFIC8qIEluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VDb2RlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTQ5QTQ5MTFGRkE4Q0UwMDQ4
QjQ2NCAvKiBKU05QTWV0aG9kLmggaW4gSGVhZGVycyAqLywKQEAgLTc4MzksOSArNzg1Myw5IEBA
CiAJCQkJQkM4RjJGMkUxNjI3M0FDQzAwNUZBQ0I1IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTUwMTcy
NDE2MkE0NTA0MDA0QTlENzEgLyogV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3NTA2QjYxODU5MTY1NzAwRUMw
RkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMUY3NTA2QjUxODU5MTY1NDAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJblNj
cmlwdFdvcmxkSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3M0NFQUQ2MTg1NDE3QUUw
MDhDMzYzRCAvKiBXS05TRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCOEExRjAxODQwMEIw
MDAwRTlBRTY5IC8qIFdLUGFnZUZvcm1DbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFGNzUw
NkI1MTg1OTE2NTQwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZEludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk4OUQ4NTE2MUE5ODkwMDAwRDQ2RDMgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDRFRkZDMTZF
NjVBRkIwMEUzMzZGMCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Qcml2YXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzJFNkU4RTExNDE5NzE1MDBBNjNCMUUgLyogV29ya1F1ZXVlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTkwOTgsNiArOTExMiw3IEBACiAJCQkJQzVFMUFGRUUxNkIyMTAyNTAwNkNDMUYy
IC8qIEFQSVdlYkFyY2hpdmVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzcyQkEx
RDExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTFBQzEzMzc0MTg1N0MyMUUwMEYzRUMwNSAvKiBBUElHZW9tZXRyeS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk5QzBCQkJFMjE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVz
c0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4RDJDQUQxMkQ1MTUzQjAwM0JCOTNCIC8q
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3MkI5RkEx
MUU2NDc2QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMTExQTVBMTEyRjRGQkIwMDMzN0JBQiAvKiBXZWJDaHJvbWVDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC05MzQwLDYgKzkzNTUsNyBAQAogCQkJCTUxMkY1OEY3MTJBODhB
NTQwMDYyOTUzMCAvKiBXS0F1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzY0NkMxQTExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExp
c3RSZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2NDZDMUMxMUREMzk5RjAwNjQ1NUIwIC8q
IFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5Q0U2QkM4
MDE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBMjU2RTM3MThBMUE3ODgwMDZGQjkyMiAvKiBXS05hdmlnYXRpb25BY3Rpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQkzN0JGMkYwNzE5NDdERUI0MDA3MjNDNDggLyogV0tOU1VS
TFJlcXVlc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0JBQUM3MjE0NEU2MTk5MDA1M0Y4MkYg
LyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQ
cmVzc0NvbnRyb2xsZXIuY3BwCmluZGV4IDQwYzg4ZDYzOTM4ZTg4ZWM0NGNkOTg2NTVkNmI4NmQ0
ODJmYzBkMTQuLjk5ODkzMzMxOGRkZDEwZTg4M2VhNTJiMGM5YWVhZDY5ZTFlZTRhMDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0Nv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25n
TW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwCkBAIC0zNiw2ICszNiw4IEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIExvbmdNb3VzZVByZXNzQ29udHJvbGxl
cjo6TG9uZ01vdXNlUHJlc3NDb250cm9sbGVyKFdlYlBhZ2UqIHdlYlBhZ2UpCisgICAgOiBtX2Rh
dGFTdG9yZShudWxscHRyKQorICAgICwgbV9wYWdlKHdlYlBhZ2UpCiB7CiB9CiAKQEAgLTQzLDE3
ICs0NSwyNSBAQCB2b2lkIExvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkQmVnaW5Mb25nTW91
c2VQcmVzcyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbQogewogICAgIC8vIEZJWE1FOiBHZW5l
cmF0ZSBkYXRhIHN0b3JlIGZyb20gbG9jYXRpb24uCiAKLSAgICAvLyBGSVhNRTogTm90aWZ5IGNs
aWVudCBvZiBsb25nIG1vdXNlIHByZXNzIGV2ZW50LgorICAgIG1fcGFnZS0+c2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpEaWRCZWdpbkxvbmdNb3VzZVByZXNzKCptX2RhdGFTdG9yZSkpOwog
fQogCiB2b2lkIExvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkUmVjb2duaXplTG9uZ01vdXNl
UHJlc3MoKQogewotICAgIC8vIEZJWE1FOiBOb3RpZnkgY2xpZW50IG9mIGxvbmcgbW91c2UgcHJl
c3MgZXZlbnQuCisgICAgaWYgKCFtX2RhdGFTdG9yZS5nZXQoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY29nbml6ZUxv
bmdNb3VzZVByZXNzKCptX2RhdGFTdG9yZSkpOworICAgIG1fZGF0YVN0b3JlID0gbnVsbHB0cjsK
IH0KIAogdm9pZCBMb25nTW91c2VQcmVzc0NvbnRyb2xsZXI6OmRpZENhbmNlbExvbmdNb3VzZVBy
ZXNzKCkKIHsKLSAgICAvLyBGSVhNRTogTm90aWZ5IGNsaWVudCBvZiBsb25nIG1vdXNlIHByZXNz
IGV2ZW50LgorICAgIGlmICghbV9kYXRhU3RvcmUuZ2V0KCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDYW5jZWxMb25nTW91
c2VQcmVzcygqbV9kYXRhU3RvcmUpKTsKKyAgICBtX2RhdGFTdG9yZSA9IG51bGxwdHI7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oCmluZGV4IGM2NDE3
NzdmMjE3MDJjZGVhM2M1ZTE3ZGZkMDQwNmZhNjU2YjJiNmUuLmIzNjQ2YzdhNzAyMTMxYzZiMjEx
NzA3MDQ5NDBjZTY0N2M4NTNlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmgKQEAgLTQ2LDcg
KzQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ2FuY2VsTG9uZ01vdXNlUHJlc3MoKTsKIAog
cHJpdmF0ZToKLSAgICBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSBtX2RhdGFTdG9yZTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmU+IG1fZGF0YVN0b3JlOworICAg
IFdlYlBhZ2UqIG1fcGFnZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236320</attachid>
            <date>2014-08-08 16:13:10 -0700</date>
            <delta_ts>2014-08-14 10:38:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135580-20140808161259.patch</filename>
            <type>text/plain</type>
            <size>41746</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDhkOTA1Njc4NTE4YmQ1
ZWJjNWYwOGJlNGJiOGE3MGJkMjcxYjQzOC4uOWMzNDhjZDQwMGY4YjQ1ZjU4YWJhYmEyNmY5MzNj
YzM2MDY1MDAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE0LTA4LTA4ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBsb25n
IG1vdXNlIHByZXNzIFdlYktpdDIgQVBJLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHBvc2VzIGFuIEFQSSBvbiB0aGUgUGFnZVVJ
Q2xpZW50IGZvciB0aGUgbG9uZyBtb3VzZSBwcmVzcyBldmVudHMgZGlkQmVnaW5Mb25nTW91c2VQ
cmVzcywKKyAgICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MsIGFuZCBkaWRDYW5jZWxM
b25nTW91c2VQcmVzcy4gVGhpcyBwYXRjaCBhbHNvIGludHJvZHVjZXMgYSBjbGFzcywKKyAgICAg
ICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEsIHRvIGVuY2Fwc3VsYXRlIHRoZSBpbmZvcm1hdGlv
biBuZWVkZWQgZm9yIGEgbG9uZyBwcmVzcy4gU2luY2UgY3VycmVudGx5IGxpbmtzCisgICAgICAg
IGFyZSB0aGUgb25seSBlbGVtZW50cyB0aGF0IHN1cHBvcnQgbG9uZyBwcmVzcywgQVBJOjpMb25n
TW91c2VQcmVzc0RhdGEgY29udGFpbnMgb25seSBhIHNuYXBzaG90IG9mIHRoZQorICAgICAgICBs
b25nLXByZXNzZWQgbGluaywgdGhlIHNuYXBzaG90J3Mgb3JpZ2luLCBhbmQgdGhlIGxpbmsncyBV
UkwuIEFzIHdlIGV4dGVuZCBsb25nLXByZXNzIHN1cHBvcnQgdG8gb3RoZXIKKyAgICAgICAgdHlw
ZXMgb2YgZWxlbWVudHMsIEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhIHdpbGwgY29udGFpbiBtb3Jl
IHBpZWNlcyBvZiBpbmZvcm1hdGlvbi4KKyAgICAgICAgQVBJOjpMb25nTW91c2VQcmVzc0RhdGEg
aXMgbW9kZWxlZCBhZnRlciBBUEk6TmF2aWdhdGlvbkRhdGEuCisKKyAgICAgICAgKiBTaGFyZWQv
QVBJL2MvV0tCYXNlLmg6IERlZmluZSBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZi4gCisgICAgICAg
ICogU2hhcmVkL0FQSU9iamVjdC5oOiBBZGQgTG9uZ01vdXNlUHJlc3NEYXRhIEFQSSB0eXBlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6VUlD
bGllbnQ6OmRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcyk6IEFkZGVkLiBF
bXB0eSBBUEkgbWV0aG9kLgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkUmVjb2duaXplTG9u
Z01vdXNlUHJlc3MpOiBEaXR0by4KKyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZENhbmNlbFRy
YWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tBUElDYXN0Lmg6IEFkZCBMb25nTW91c2VQcmVzc0RhdGEgQVBJIG1hcHBpbmcu
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmNwcDogQWRk
ZWQuCisgICAgICAgIChXS0xvbmdNb3VzZVByZXNzRGF0YUNvcHlVUkwpOiAKKyAgICAgICAgQyBB
UEkgdG8gY29weSB0aGUgVVJMIGNvcnJlc3BvbmRpbmcgdG8gbG9uZy1wcmVzc2VkIGVsZW1lbnQs
IGlmIGF2YWlsYWJsZS4KKyAgICAgICAgKFdLTG9uZ01vdXNlUHJlc3NEYXRhR2V0U25hcHNob3RP
cmlnaW4pOiAKKyAgICAgICAgQyBBUEkgdG8gZ2V0IHRoZSBvcmlnaW4gcG9pbnQgb2YgdGhlIGxv
bmctcHJlc3NlZCBlbGVtZW50J3Mgc25hcHNob3QuCisgICAgICAgIChXS0xvbmdNb3VzZVByZXNz
RGF0YUNvcHlDR0ltYWdlRnJvbVNuYXBzaG90KTogCisgICAgICAgIEMgQVBJIHRvIGNvcHkgdGhl
IGxvbmctcHJlc3NlZCBlbGVtZW50J3Mgc25hcHNob3QgYXMgYSBDR0ltYWdlLgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5oOiAKKyAgICAgICAgQWRkZWQu
IFBsYWNlZCBpbiB0aGUgIlByaXZhdGUgSGVhZGVycyIgc2VjdGlvbiBvZiB0aGUgV2ViS2l0IHBy
b2plY3QuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChX
S1BhZ2VTZXRQYWdlVUlDbGllbnQpOiBBZGQgc2hpbXMgZm9yIHRoZSBsb25nIG1vdXNlIHByZXNz
IGV2ZW50cy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcDogQWRkZWQuCisgICAg
ICAgIChBUEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6TG9uZ01vdXNlUHJlc3NEYXRhKTogQWRkZWQu
IENyZWF0ZSBBUEkgc2hpbSB3aXRoIGRhdGEgc3RvcmUuIAorICAgICAgICAoQVBJOjpMb25nTW91
c2VQcmVzc0RhdGE6On5Mb25nTW91c2VQcmVzc0RhdGEpOiBBZGRlZC4gRW1wdHkgZGVjb25zdHJ1
Y3Rvci4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmg6IEFkZGVk
LiBNb2RlbGVkIGFmdGVyIEFQSU5hdmlnYXRpb25EYXRhLgorICAgICAgICAoQVBJOjpMb25nTW91
c2VQcmVzc0RhdGE6OmNyZWF0ZSk6IEFkZGVkLiBHZXR0ZXIgZm9yIHRoZSBjb3JyZXNwb25kaW5n
IG1lbWJlciBvbiB0aGUgZGF0YSBzdG9yZS4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NE
YXRhOjp1cmxTdHJpbmcpOiBEaXR0by4KKyAgICAgICAgKEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRh
OjpzbmFwc2hvdE9yaWdpbik6IERpdHRvLgorICAgICAgICAoQVBJOjpMb25nTW91c2VQcmVzc0Rh
dGE6OnNuYXBzaG90KTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQmVnaW5UcmFja2luZ1BvdGVu
dGlhbExvbmdNb3VzZVByZXNzKTogQWRkZWQuIE5vdGlmeSB0aGUgVUkgQ2xpZW50LgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2FuY2VsVHJhY2tpbmdQb3Rl
bnRpYWxMb25nTW91c2VQcmVzcyk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOiBB
ZGQgbG9uZyBtb3VzZSBwcmVzcyBldmVudCBtZXNzYWdlcy4KKyAgICAgICAgKiBXZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xv
bmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHA6IAorICAgICAgICAoV2ViS2l0OjpMb25nTW91c2VQ
cmVzc0NvbnRyb2xsZXI6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcik6IEluaXRpYWxpemUgd2Vi
IHBhZ2UgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpMb25nTW91c2VQcmVzc0Nv
bnRyb2xsZXI6OmRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcyk6IE5vdGlm
eSB0aGUgV2ViUGFnZVByb3h5LgorICAgICAgICAoV2ViS2l0OjpMb25nTW91c2VQcmVzc0NvbnRy
b2xsZXI6OmRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKTogRGl0dG8uCisgICAgICAgIChXZWJL
aXQ6OkxvbmdNb3VzZVByZXNzQ29udHJvbGxlcjo6ZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxM
b25nTW91c2VQcmVzcyk6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Mb25n
TW91c2VQcmVzc0NvbnRyb2xsZXIuaDogQWRkIHdlYiBwYWdlIG1lbWJlciB2YXJpYWJsZS4KKwog
MjAxNC0wOC0wNyAgUGV5dG9uIFJhbmRvbHBoICA8cHJhbmRvbHBoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDcmVhdGUgc3R1YiBsb25nIG1vdXNlIHByZXNzIGNvbnRyb2xsZXIuIFBhcnQgb2YgMTM1
MjU3IC0gQWRkIGxvbmcgbW91c2UgcHJlc3MgZ2VzdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCmluZGV4IDhkMWU5NjVkNWM0YWUxZmE5ZTU5ZjQ1M2Q5NjJmNDhhMmJiYzhjZDku
LmZlMTJiNDRkZTU0MmRjYTBlYjczNjA0OWQ3MGI4OGU2NjBiZTQ0YjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tCYXNlLmgKQEAgLTExMCw2ICsxMTAsNyBAQCB0eXBlZGVmIGNvbnN0IHN0
cnVjdCBPcGFxdWVXS0hpdFRlc3RSZXN1bHQqIFdLSGl0VGVzdFJlc3VsdFJlZjsKIHR5cGVkZWYg
Y29uc3Qgc3RydWN0IE9wYXF1ZVdLSWNvbkRhdGFiYXNlKiBXS0ljb25EYXRhYmFzZVJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLSW5zcGVjdG9yKiBXS0luc3BlY3RvclJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlciogV0tLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyUmVmOwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tMb25n
TW91c2VQcmVzc0RhdGEqIFdLTG9uZ01vdXNlUHJlc3NEYXRhUmVmOwogdHlwZWRlZiBjb25zdCBz
dHJ1Y3QgT3BhcXVlV0tNZWRpYUNhY2hlTWFuYWdlciogV0tNZWRpYUNhY2hlTWFuYWdlclJlZjsK
IHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTmF2aWdhdGlvbkRhdGEqIFdLTmF2aWdhdGlv
bkRhdGFSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS05vdGlmaWNhdGlvbiogV0tO
b3RpZmljYXRpb25SZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKaW5kZXggNmRmNDkxODNk
MmJjNDYyNjVjYzA5ZjdiNWQ1NzRhMDdiM2MwYzU5Mi4uODgyMWFlNDZjZjFkMzNjYjMxZDMzNmZm
MzBiNWZmZWI4YTBiZmQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaApAQCAtMTE4LDYg
KzExOCw3IEBAIHB1YmxpYzoKICAgICAgICAgSWNvbkRhdGFiYXNlLAogICAgICAgICBJbnNwZWN0
b3IsCiAgICAgICAgIEtleVZhbHVlU3RvcmFnZU1hbmFnZXIsCisgICAgICAgIExvbmdNb3VzZVBy
ZXNzRGF0YSwKICAgICAgICAgTWVkaWFDYWNoZU1hbmFnZXIsCiAgICAgICAgIE5hdmlnYXRpb25E
YXRhLAogICAgICAgICBOb3RpZmljYXRpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVVJQ2xpZW50LmgKaW5kZXggYzI1ODgwNTdlZjI2NmRkNmRiOTQxMzAyZWI5ZTU2ODI2ZjUw
YzMzYi4uNmU0YTZlYTQ2YzIyZDc4NmU1ZjUyOWI3MTJiODkxODY1Y2I2YjZlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApAQCAtMTQwLDYgKzE0MCwxMiBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGlubmVkU3RhdGVEaWRDaGFuZ2UoV2ViS2l0
OjpXZWJQYWdlUHJveHkmKSB7IH0KIAorI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorICAg
IHZpcnR1YWwgdm9pZCBkaWRCZWdpblRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoV2Vi
S2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3Jl
JikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzKFdlYktp
dDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRDYW5jZWxUcmFja2luZ1BvdGVudGlhbExvbmdNb3Vz
ZVByZXNzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViS2l0OjpMb25nTW91c2VQcmVz
c0RhdGFTdG9yZSYpIHsgfQorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAgICAgdmlydHVh
bCBSZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9uc0ZvckVsZW1lbnQoX1dLQWN0aXZhdGVkRWxlbWVu
dEluZm8gKiwgUmV0YWluUHRyPE5TQXJyYXk+IGRlZmF1bHRBY3Rpb25zKSB7IHJldHVybiBXVEY6
Om1vdmUoZGVmYXVsdEFjdGlvbnMpOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRh
cEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAppbmRleCA4MDIyMWE5MWIyZjkxNjM1NTI5OWJjMjVm
MmQwZjFjODAxOTQ3YzJjLi42NWFmM2ZlMTBiYThlZWMyNmQ1ZDIzZjEzMTdlOTExMzRlM2NjMzMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC01Miw2
ICs1Miw3IEBACiAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgQ29udGV4dENvbmZpZ3VyYXRpb247
CitjbGFzcyBMb25nTW91c2VQcmVzc0RhdGE7CiBjbGFzcyBOYXZpZ2F0aW9uRGF0YTsKIGNsYXNz
IFNlc3Npb25TdGF0ZTsKIH0KQEAgLTEyOCw2ICsxMjksNyBAQCBXS19BRERfQVBJX01BUFBJTkco
V0tHcmFtbWFyRGV0YWlsUmVmLCBXZWJHcmFtbWFyRGV0YWlsKQogV0tfQUREX0FQSV9NQVBQSU5H
KFdLSGl0VGVzdFJlc3VsdFJlZiwgV2ViSGl0VGVzdFJlc3VsdCkKIFdLX0FERF9BUElfTUFQUElO
RyhXS0ljb25EYXRhYmFzZVJlZiwgV2ViSWNvbkRhdGFiYXNlKQogV0tfQUREX0FQSV9NQVBQSU5H
KFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZiwgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcikK
K1dLX0FERF9BUElfTUFQUElORyhXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiwgQVBJOjpMb25nTW91
c2VQcmVzc0RhdGEpCiBXS19BRERfQVBJX01BUFBJTkcoV0tNZWRpYUNhY2hlTWFuYWdlclJlZiwg
V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS05hdmlnYXRp
b25EYXRhUmVmLCBBUEk6Ok5hdmlnYXRpb25EYXRhKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTm90
aWZpY2F0aW9uTWFuYWdlclJlZiwgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRh
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0
YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzZiYjcwNDVkMTM1ZjQzNWE3YzVjYjY5YmUyNWVhOTViZGE0OGZh
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xv
bmdNb3VzZVByZXNzRGF0YS5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXS0xvbmdNb3VzZVByZXNzRGF0YS5oIgorCisjaW5j
bHVkZSAiQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgiCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisj
aW5jbHVkZSAiV2ViSW1hZ2UuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworV0tUeXBl
SUQgV0tMb25nTW91c2VQcmVzc0RhdGFHZXRUeXBlSUQoKQoreworICAgIHJldHVybiB0b0FQSShB
UEk6OkxvbmdNb3VzZVByZXNzRGF0YTo6QVBJVHlwZSk7Cit9CisKK1dLVVJMUmVmIFdLTG9uZ01v
dXNlUHJlc3NEYXRhQ29weVVSTChXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVz
c0RhdGFSZWYpCit7CisgICAgcmV0dXJuIHRvQ29waWVkVVJMQVBJKHRvSW1wbChsb25nTW91c2VQ
cmVzc0RhdGFSZWYpLT51cmxTdHJpbmcoKSk7Cit9CisKK1dLSW1hZ2VSZWYgV0tMb25nTW91c2VQ
cmVzc0RhdGFHZXRTbmFwc2hvdChXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVz
c0RhdGFSZWYpCit7CisgICAgUmVmUHRyPFdlYkltYWdlPiBzbmFwc2hvdCA9IFdlYkltYWdlOjpj
cmVhdGUodG9JbXBsKGxvbmdNb3VzZVByZXNzRGF0YVJlZiktPnNuYXBzaG90KCkpOworICAgIHJl
dHVybiB0b0FQSShzbmFwc2hvdC5yZWxlYXNlKCkubGVha1JlZigpKTsKK30KKworV0tQb2ludFJl
ZiBXS0xvbmdNb3VzZVByZXNzRGF0YUdldFNuYXBzaG90T3JpZ2luKFdLTG9uZ01vdXNlUHJlc3NE
YXRhUmVmIGxvbmdNb3VzZVByZXNzRGF0YVJlZikKK3sKKyAgICBXZWJDb3JlOjpGbG9hdFBvaW50
IHNuYXBzaG90T3JpZ2luID0gdG9JbXBsKGxvbmdNb3VzZVByZXNzRGF0YVJlZiktPnNuYXBzaG90
T3JpZ2luKCk7CisgICAgcmV0dXJuIFdLUG9pbnRDcmVhdGUoV0tQb2ludE1ha2Uoc25hcHNob3RP
cmlnaW4ueCgpLCBzbmFwc2hvdE9yaWdpbi55KCkpKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTG9uZ01vdXNlUHJlc3NEYXRhLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDQxNjMyNjI5MzRhMTg0ZWY2MWJlY2RkNWU4ZTc0ZTZjYWFlY2U3NgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0xvbmdNb3VzZVByZXNzRGF0YS5o
CkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLTG9uZ01vdXNlUHJlc3NE
YXRhX2gKKyNkZWZpbmUgV0tMb25nTW91c2VQcmVzc0RhdGFfaAorCisjaW5jbHVkZSA8V2ViS2l0
L1dLQmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdC9XS0dlb21ldHJ5Lmg+CisKKyNpZmRlZiBfX2Nw
bHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworV0tfRVhQT1JUIFdLVHlwZUlEIFdLTG9u
Z01vdXNlUHJlc3NEYXRhR2V0VHlwZUlEKCk7CisKK1dLX0VYUE9SVCBXS1VSTFJlZiBXS0xvbmdN
b3VzZVByZXNzRGF0YUNvcHlVUkwoV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJl
c3NEYXRhUmVmKTsKK1dLX0VYUE9SVCBXS0ltYWdlUmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhR2V0
U25hcHNob3QoV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhUmVmKTsK
K1dLX0VYUE9SVCBXS1BvaW50UmVmIFdLTG9uZ01vdXNlUHJlc3NEYXRhR2V0U25hcHNob3RPcmln
aW4oV0tMb25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhUmVmKTsKKworI2lm
ZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8vIFdLTG9uZ01vdXNlUHJlc3NE
YXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggZDlh
M2E5MWZjODQ5Y2MyMTY5M2QwZTA5N2E4MzJhMWUxN2YxMWE1Mi4uMTY1OTgwZmI4ODRlZWJiODdl
NDZhYTQxNmEzYjMyZjRmOTNhMGI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAKQEAgLTMxLDExICszMSwxMyBAQAogI2luY2x1ZGUgIkFQSURhdGEuaCIKICNp
bmNsdWRlICJBUElGaW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJTG9hZGVyQ2xpZW50LmgiCisj
aW5jbHVkZSAiQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgiCiAjaW5jbHVkZSAiQVBJUG9saWN5Q2xp
ZW50LmgiCiAjaW5jbHVkZSAiQVBJU2Vzc2lvblN0YXRlLmgiCiAjaW5jbHVkZSAiQVBJVUlDbGll
bnQuaCIKICNpbmNsdWRlICJJbW11dGFibGVEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiTGVnYWN5
U2Vzc2lvblN0YXRlQ29kaW5nLmgiCisjaW5jbHVkZSAiTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUu
aCIKICNpbmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTmF0aXZl
V2ViV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIk5hdmlnYXRpb25BY3Rpb25EYXRhLmgiCkBAIC03
NCw3ICs3Niw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1BhZ2VQb2xpY3lD
bGllbnRCYXNlPiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdl
VUlDbGllbnRCYXNlPiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZVVJQ2xpZW50VjAs
IFdLUGFnZVVJQ2xpZW50VjEsIFdLUGFnZVVJQ2xpZW50VjIsIFdLUGFnZVVJQ2xpZW50VjM+IFZl
cnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VVSUNsaWVudFYwLCBXS1BhZ2VV
SUNsaWVudFYxLCBXS1BhZ2VVSUNsaWVudFYyLCBXS1BhZ2VVSUNsaWVudFYzLCBXS1BhZ2VVSUNs
aWVudFY0PiBWZXJzaW9uczsKIH07CiAKIH0KQEAgLTE1ODMsNiArMTU4NSwzNSBAQCB2b2lkIFdL
UGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGll
bnRCYXNlKiB3a0NsaWVudAogCiAgICAgICAgICAgICBtX2NsaWVudC5waW5uZWRTdGF0ZURpZENo
YW5nZSh0b0FQSSgmcGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgIH0K
KworI2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
QmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzKFdlYlBhZ2VQcm94eSogcGFnZSwg
Y29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKSBvdmVycmlkZQorICAgICAgICB7
CisgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxMb25n
TW91c2VQcmVzcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIFJlZlB0
cjxBUEk6OkxvbmdNb3VzZVByZXNzRGF0YT4gZGF0YSA9IEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRh
OjpjcmVhdGUoc3RvcmUpOworICAgICAgICAgICAgbV9jbGllbnQuZGlkQmVnaW5UcmFja2luZ1Bv
dGVudGlhbExvbmdNb3VzZVByZXNzKHRvQVBJKHBhZ2UpLCB0b0FQSShkYXRhLmdldCgpKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgfQorCisgICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IExv
bmdNb3VzZVByZXNzRGF0YVN0b3JlJiBzdG9yZSkgb3ZlcnJpZGUKKyAgICAgICAgeworICAgICAg
ICAgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcykKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIFJlZlB0cjxBUEk6OkxvbmdNb3VzZVByZXNz
RGF0YT4gZGF0YSA9IEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpjcmVhdGUoc3RvcmUpOworICAg
ICAgICAgICAgbV9jbGllbnQuZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3ModG9BUEkocGFnZSks
IHRvQVBJKGRhdGEuZ2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICB9
CisKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01v
dXNlUHJlc3MoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9y
ZSYgc3RvcmUpIG92ZXJyaWRlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQu
ZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcykKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisKKyAgICAgICAgICAgIFJlZlB0cjxBUEk6OkxvbmdNb3VzZVByZXNzRGF0YT4g
ZGF0YSA9IEFQSTo6TG9uZ01vdXNlUHJlc3NEYXRhOjpjcmVhdGUoc3RvcmUpOworICAgICAgICAg
ICAgbV9jbGllbnQuZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcyh0b0FQ
SShwYWdlKSwgdG9BUEkoZGF0YS5nZXQoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7Cisg
ICAgICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoTE9OR19NT1VTRV9QUkVTUykKICAgICB9OwogCiAg
ICAgdG9JbXBsKHBhZ2VSZWYpLT5zZXRVSUNsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFVJQ2xpZW50
Pih3a0NsaWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZVVJQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
VUlDbGllbnQuaAppbmRleCBmZTY2ODY5YjkzNDMzNTk2OWEwZWY5YTBlYmVhMmYzMzQ2ZDFjZjZm
Li45NTA5MzYwZjFjNDRmODQyMWEzOTYyZmVhM2M5M2EyMGQ0Y2Q0MjRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaApAQCAtODYsNiArODYs
OSBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjaykoV0tQYWdl
UmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGluaXRpYQogdHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNv
bG9yUGlja2VyQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZENh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVn
aW5VbmF2YWlsYWJpbGl0eVJlYXNvbiwgV0tEaWN0aW9uYXJ5UmVmIHBsdWdpbkluZm9EaWN0aW9u
YXJ5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVBpbm5l
ZFN0YXRlRGlkQ2hhbmdlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURpZEJlZ2luVHJhY2tpbmdQb3RlbnRpYWxM
b25nTW91c2VQcmVzc0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tMb25nTW91c2VQcmVzc0Rh
dGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVk
ZWYgdm9pZCAoKldLUGFnZURpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzQ2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBXS0xvbmdNb3VzZVByZXNzRGF0YVJlZiBsb25nTW91c2VQcmVzc0RhdGEsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlRGlkQ2FuY2VsVHJh
Y2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzc0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tM
b25nTW91c2VQcmVzc0RhdGFSZWYgbG9uZ01vdXNlUHJlc3NEYXRhLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKIAogLy8gRGVwcmVjYXRlZCAgICAKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBw
YWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJz
LCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8p
OwpAQCAtMzA5LDYgKzMxMiw3MCBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFYzIHsK
ICAgICBXS1BhZ2VQaW5uZWRTdGF0ZURpZENoYW5nZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBpbm5lZFN0YXRlRGlkQ2hhbmdlOwogfSBXS1BhZ2VVSUNsaWVudFYz
OwogCit0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY0IHsKKyAgICBXS1BhZ2VVSUNsaWVu
dEJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJh
c2U7CisKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjA7CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93UGFnZTsKKyAgICBXS1Bh
Z2VVSUNsaWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNsb3NlOworICAgIFdLUGFnZVRha2VGb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZUZvY3VzOworICAgIFdLUGFnZUZvY3Vz
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Zm9jdXM7CisgICAgV0tQYWdlVW5mb2N1c0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bmZvY3VzOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRB
bGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNj
cmlwdEFsZXJ0OworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdENvbmZpcm07CisgICAgV0tQ
YWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0OworICAgIFdLUGFnZVNldFN0YXR1c1RleHRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdHVzVGV4
dDsKKyAgICBXS1BhZ2VNb3VzZURpZE1vdmVPdmVyRWxlbWVudENhbGxiYWNrX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAgICAgICAgIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50X2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjA7CisgICAgV0tQYWdlTWlzc2luZ1BsdWdpbkJ1dHRvbkNsaWNrZWRDYWxsYmFja19k
ZXByZWNhdGVkRm9yVXNlV2l0aFYwICAgICBtaXNzaW5nUGx1Z2luQnV0dG9uQ2xpY2tlZF9kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYwOworICAgIFdLUGFnZURpZE5vdEhhbmRsZUtleUV2ZW50Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkTm90SGFuZGxlS2V5RXZlbnQ7
CisgICAgV0tQYWdlRGlkTm90SGFuZGxlV2hlZWxFdmVudENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkaWROb3RIYW5kbGVXaGVlbEV2ZW50OworICAgIFdLUGFnZUdldFRv
b2xiYXJzQXJlVmlzaWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dG9vbGJhcnNBcmVWaXNpYmxlOworICAgIFdLUGFnZVNldFRvb2xiYXJzQXJlVmlzaWJsZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VG9vbGJhcnNBcmVWaXNpYmxl
OworICAgIFdLUGFnZUdldE1lbnVCYXJJc1Zpc2libGVDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWVudUJhcklzVmlzaWJsZTsKKyAgICBXS1BhZ2VTZXRNZW51QmFy
SXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1l
bnVCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlR2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNCYXJJc1Zpc2libGU7CisgICAg
V0tQYWdlU2V0U3RhdHVzQmFySXNWaXNpYmxlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZXRTdGF0dXNCYXJJc1Zpc2libGU7CisgICAgV0tQYWdlR2V0SXNSZXNpemFi
bGVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Jlc2l6
YWJsZTsKKyAgICBXS1BhZ2VTZXRJc1Jlc2l6YWJsZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNldElzUmVzaXphYmxlOworICAgIFdLUGFnZUdldFdpbmRv
d0ZyYW1lQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0
V2luZG93RnJhbWU7CisgICAgV0tQYWdlU2V0V2luZG93RnJhbWVDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRXaW5kb3dGcmFtZTsKKyAgICBXS1BhZ2VS
dW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbDsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZERyYXc7
CisgICAgV0tQYWdlVUlDbGllbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYWdlRGlkU2Nyb2xsOworICAgIFdLUGFnZUV4Y2VlZGVkRGF0YWJh
c2VRdW90YUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZWVkZWRE
YXRhYmFzZVF1b3RhOworICAgIFdLUGFnZVJ1bk9wZW5QYW5lbENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuT3BlblBhbmVsOworICAgIFdLUGFnZURl
Y2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAgICAg
ICAgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdDsKKyAgICBXS1Bh
Z2VIZWFkZXJIZWlnaHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhlYWRlckhlaWdodDsKKyAgICBXS1BhZ2VGb290ZXJIZWlnaHRDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvb3RlckhlaWdodDsKKyAgICBX
S1BhZ2VEcmF3SGVhZGVyQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRyYXdIZWFkZXI7CisgICAgV0tQYWdlRHJhd0Zvb3RlckNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3Rm9vdGVyOworICAgIFdL
UGFnZVByaW50RnJhbWVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHJpbnRGcmFtZTsKKyAgICBXS1BhZ2VVSUNsaWVudENhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bk1vZGFsOworICAgIHZvaWQq
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW51c2VkMTsgLy8gVXNlZCB0byBiZSBkaWRDb21wbGV0ZVJ1YmJlckJhbmRGb3JNYWlu
RnJhbWUKKyAgICBXS1BhZ2VTYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyQ2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXI7Cisg
ICAgV0tQYWdlU2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdENhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaG91bGRJbnRlcnJ1cHRKYXZhU2NyaXB0OworCisgICAgLy8gVmVyc2lv
biAxLgorICAgIFdLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlYXRlTmV3UGFnZTsKKyAgICBXS1BhZ2VNb3VzZURpZE1v
dmVPdmVyRWxlbWVudENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50OworICAgIFdLUGFnZURlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0Q2FsbGJhY2sgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3Q7CisgICAgV0tQYWdlVW5hdmFpbGFibGVQbHVnaW5CdXR0
b25DbGlja2VkQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMSB1bmF2YWlsYWJsZVBsdWdp
bkJ1dHRvbkNsaWNrZWRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMTsKKworICAgIC8vIFZlcnNpb24g
Mi4KKyAgICBXS1BhZ2VTaG93Q29sb3JQaWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNob3dDb2xvclBpY2tlcjsKKyAgICBXS1BhZ2VIaWRlQ29sb3JQ
aWNrZXJDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVD
b2xvclBpY2tlcjsKKyAgICBXS1BhZ2VVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWRDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tl
ZDsKKyAgICAKKyAgICAvLyBWZXJzaW9uIDMuCisgICAgV0tQYWdlUGlubmVkU3RhdGVEaWRDaGFu
Z2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRTdGF0ZURp
ZENoYW5nZTsKKworICAgIC8vIFZlcnNpb24gNC4KKyAgICBXS1BhZ2VEaWRCZWdpblRyYWNraW5n
UG90ZW50aWFsTG9uZ01vdXNlUHJlc3NDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkQmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzOworICAgIFdLUGFn
ZURpZFJlY29nbml6ZUxvbmdNb3VzZVByZXNzQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3M7CisgICAgV0tQYWdlRGlkQ2FuY2VsVHJh
Y2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVzc0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZENhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3M7Cit9IFdL
UGFnZVVJQ2xpZW50VjQ7CisKIGVudW0geyBrV0tQYWdlVUlDbGllbnRDdXJyZW50VmVyc2lvbiBX
S19FTlVNX0RFUFJFQ0FURUQoIlVzZSBhbiBleHBsaWNpdCB2ZXJzaW9uIG51bWJlciBpbnN0ZWFk
IikgPSAyIH07CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudCB7CiAgICAgaW50ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2ZXJzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSUxvbmdN
b3VzZVByZXNzRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNl
UHJlc3NEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDk0MzA5MjRhYWEwYTNmZjIwNDZmYzEyZTVjZjRi
Yzk3NjE4MWMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SUxvbmdNb3VzZVByZXNzRGF0YS5jcHAKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBUElMb25nTW91c2VQcmVzc0RhdGEuaCIKKwor
bmFtZXNwYWNlIEFQSSB7CisKK0xvbmdNb3VzZVByZXNzRGF0YTo6TG9uZ01vdXNlUHJlc3NEYXRh
KGNvbnN0IFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUmIHN0b3JlKQorICAgIDogbV9z
dG9yZShzdG9yZSkKK3sKK30KKworTG9uZ01vdXNlUHJlc3NEYXRhOjp+TG9uZ01vdXNlUHJlc3NE
YXRhKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI3YTg2MjMwY2E5
YjY5M2VmYzI3ZmY1M2Y4ODgwYjk0NjZiMTM2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVzc0RhdGEuaApAQCAtMCwwICsxLDU2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBBUElMb25nTW91c2VQcmVzc0RhdGFfaAorI2RlZmluZSBB
UElMb25nTW91c2VQcmVzc0RhdGFfaAorCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVk
ZSAiTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorCituYW1lc3BhY2UgQVBJIHsKKworY2xhc3MgTG9uZ01vdXNlUHJlc3NEYXRhIDogcHVibGlj
IE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpMb25nTW91c2VQcmVzc0RhdGE+IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxMb25nTW91c2VQcmVzc0RhdGE+IGNyZWF0ZShjb25zdCBX
ZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBzdG9yZSkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgTG9uZ01vdXNlUHJlc3NEYXRhKHN0b3JlKSk7CisgICAgfQorCisg
ICAgdmlydHVhbCB+TG9uZ01vdXNlUHJlc3NEYXRhKCk7CisKKyAgICBXVEY6OlN0cmluZyB1cmxT
dHJpbmcoKSBjb25zdCB7IHJldHVybiBtX3N0b3JlLnVybFN0cmluZzsgfQorICAgIFdlYkNvcmU6
OkZsb2F0UG9pbnQgc25hcHNob3RPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3N0b3JlLnNuYXBz
aG90T3JpZ2luOyB9CisgICAgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXAqIHNuYXBzaG90KCkgY29u
c3QgeyByZXR1cm4gbV9zdG9yZS5zbmFwc2hvdC5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIGV4
cGxpY2l0IExvbmdNb3VzZVByZXNzRGF0YShjb25zdCBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0
YVN0b3JlJik7CisKKyAgICBXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlIG1fc3RvcmU7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBBUEkKKworI2VuZGlmIC8vIEFQSUxvbmdNb3VzZVByZXNz
RGF0YV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDBl
NTYwYWI5N2FjNTc5NDc1MmE5MjVjYWQ4MGNmOTczZDY0YWI1NDQuLjk4NGU5NzY4MWVmODQwMDU3
ZWQ4M2FhOWRlZjgwZjA4ZDBjMDU5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0xNzQ5LDYgKzE3NDksMjMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNl
bnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWEoKQogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6Q2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYSgpLCBtX3BhZ2VJRCk7CiB9
CiAKKyNpZiBFTkFCTEUoTE9OR19NT1VTRV9QUkVTUykKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRC
ZWdpblRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NE
YXRhU3RvcmUmIGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlkQmVnaW5UcmFja2luZ1BvdGVu
dGlhbExvbmdNb3VzZVByZXNzKHRoaXMsIGRhdGEpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MoY29uc3QgTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUm
IGRhdGEpCit7CisgICAgbV91aUNsaWVudC0+ZGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3ModGhp
cywgZGF0YSk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDYW5jZWxUcmFja2luZ1BvdGVu
dGlhbExvbmdNb3VzZVByZXNzKGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJiBkYXRhKQor
eworICAgIG1fdWlDbGllbnQtPmRpZENhbmNlbFRyYWNraW5nUG90ZW50aWFsTG9uZ01vdXNlUHJl
c3ModGhpcywgZGF0YSk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJveHk6OnJlY2VpdmVk
UG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIGFjdGlvbiwgV2ViRnJhbWVQcm94eSogZnJhbWUs
IHVpbnQ2NF90IGxpc3RlbmVySUQsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCkKIHsKICAgICBpZiAo
IWlzVmFsaWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5
NjVmM2M4MjliODQxM2I4Y2FiYmFmYTBkMDRlMzU2YzViZTdkZWQwLi5iYzkyZTgwOTM5MjU0OWQ0
M2EyNDY3ZjViYzE4NTc0MTAwYTA2MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC0xNzYsNiArMTc2LDEwIEBAIHN0cnVjdCBQbGF0Zm9ybVBvcHVwTWVudURh
dGE7CiBzdHJ1Y3QgUHJpbnRJbmZvOwogc3RydWN0IFdlYlBvcHVwSXRlbTsKIAorI2lmIEVOQUJM
RShMT05HX01PVVNFX1BSRVNTKQorc3RydWN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlOworI2Vu
ZGlmCisKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogY2xhc3MgV2ViVmlicmF0aW9uUHJveHk7CiAj
ZW5kaWYKQEAgLTY4MCw2ICs2ODQsMTIgQEAgcHVibGljOgogICAgIHZvaWQgZHJhd0hlYWRlcihX
ZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7CiAgICAgdm9pZCBkcmF3
Rm9vdGVyKFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKIAorI2lm
IEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgIHZvaWQgZGlkQmVnaW5UcmFja2luZ1BvdGVu
dGlhbExvbmdNb3VzZVByZXNzKGNvbnN0IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlJik7CisgICAg
dm9pZCBkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFT
dG9yZSYpOworICAgIHZvaWQgZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVz
cyhjb25zdCBMb25nTW91c2VQcmVzc0RhdGFTdG9yZSYpOworI2VuZGlmCisKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICAvLyBEaWN0aW9uYXJ5LgogICAgIHZvaWQgcGVyZm9ybURpY3Rpb25hcnlM
b29rdXBBdExvY2F0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGExYmI1
ZDg4M2E0ZWE3ZWI2NjA4YTNmMGE2ZWFmZWE2MTA2ZDM3N2MuLmIyZDc3OWVlZDVmM2Y3ODlhMjJj
Njc3ZDUxOWMwYTdjNDAwMDdjNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjg0LDYgKzI4NCwxMiBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlUHJveHkgewogICAgIFN0YXJ0RHJhZyhXZWJDb3JlOjpEcmFnRGF0YSBkcmFnRGF0
YSwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBkcmFnSW1hZ2UpCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShMT05HX01PVVNFX1BSRVNTKQorICAgIERpZEJlZ2luVHJhY2tpbmdQb3RlbnRp
YWxMb25nTW91c2VQcmVzcyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNzRGF0YVN0b3JlIGRhdGFTdG9y
ZSkKKyAgICBEaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcyhXZWJLaXQ6OkxvbmdNb3VzZVByZXNz
RGF0YVN0b3JlIGRhdGFTdG9yZSkKKyAgICBEaWRDYW5jZWxUcmFja2luZ1BvdGVudGlhbExvbmdN
b3VzZVByZXNzKFdlYktpdDo6TG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUgZGF0YVN0b3JlKQorI2Vu
ZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAjIERpY3Rpb25hcnkgc3VwcG9ydC4KICAg
ICBEaWRQZXJmb3JtRGljdGlvbmFyeUxvb2t1cChXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgdGV4
dCwgV2ViS2l0OjpEaWN0aW9uYXJ5UG9wdXBJbmZvIGRpY3Rpb25hcnlQb3B1cEluZm8pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MDQzYzdjMWFmODNjMWFiN2M0MmUxYzUzMmU0NTQxNmRmMjY4ZjUzYi4uMDUyODM3NTE4MTYyMTRj
YTY4YmRjM2QwODU2NTY5M2IyYzVmOWM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5NSwxMCArMTA5NSwxNCBAQAogCQk5
MzkxRjJDQjEyMUI2N0FEMDBFQkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM5MUYyODMxMjFC
MzhGNTAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCAqLzsgfTsKIAkJOTM5
QUU3NjYxMzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzlBRTc2NTEzMTZFOTlD
MDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCAqLzsgfTsKIAkJOTNCREVCMDEx
NzFERDdBRjAwQkZFRTFCIC8qIFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQkRFQjAwMTcxREQ3QUYwMEJGRUUx
QiAvKiBXS1BhZ2VMb2FkVHlwZXNQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOUMwQkJCRTIxOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9u
Z01vdXNlUHJlc3NEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlDMEJCQkUwMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0
YS5jcHAgKi87IH07CisJCTlDMEJCQkUzMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3VzZVBy
ZXNzRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OUMwQkJCRTExOThDNkRGRTAwRDUzOTVBIC8qIFdLTG9uZ01vdXNlUHJlc3NEYXRhLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOUM0RTZCNzExOThD
MDA1MTAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QzRFNkI2RjE5OEMwMDUxMDA4NzY1
NUEgLyogTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJOUM0RTZCNzIxOThD
MDA1MTAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUM0RTZCNzAxOThDMDA1MTAwODc2NTVB
IC8qIExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oICovOyB9OwogCQk5QzRFNkI3NTE5OEMwMjk4
MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUM0RTZCNzMxOThDMDI5ODAwODc2NTVBIC8q
IExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmNwcCAqLzsgfTsKIAkJOUM0RTZCNzYxOThDMDI5ODAw
ODc2NTVBIC8qIExvbmdNb3VzZVByZXNzRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QzRFNkI3NDE5OEMwMjk4MDA4NzY1NUEgLyogTG9u
Z01vdXNlUHJlc3NEYXRhU3RvcmUuaCAqLzsgfTsKKwkJOUNFNkJDODAxOThDNjA2MzAwNjVENUY1
IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5Q0U2QkM3RTE5OEM2MDYzMDA2NUQ1RjUgLyogQVBJTG9uZ01v
dXNlUHJlc3NEYXRhLmNwcCAqLzsgfTsKKwkJOUNFNkJDODExOThDNjA2MzAwNjVENUY1IC8qIEFQ
SUxvbmdNb3VzZVByZXNzRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOUNFNkJDN0YxOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNz
RGF0YS5oICovOyB9OwogCQk5RjU0Rjg4RjE2NDg4RTg3MDA3REY4MUEgLyogQ2hpbGRQcm9jZXNz
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUY1
NEY4OEUxNjQ4OEU4NzAwN0RGODFBIC8qIENoaWxkUHJvY2Vzc01hYy5tbSAqLzsgfTsKIAkJOUY1
NEY4OTUxNjQ4QUUwRjAwN0RGODFBIC8qIFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUY1NEY4OTQxNjQ4QUUw
RTAwN0RGODFBIC8qIFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tICovOyB9OwogCQk5RkI1RjM5
NDE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGQjVGMzkyMTY5RTZBODAwMDJDMjVC
RiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1tICovOyB9OwpAQCAtMzE1MywxMCArMzE1NywxNCBA
QAogCQk5MzkxRjI4NDEyMUIzOEY1MDBFQkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkZyYW1lTmV0
d29ya2luZ0NvbnRleHQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzOUFFNzY1
MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNCREVCMDAxNzFERDdBRjAwQkZFRTFCIC8qIFdL
UGFnZUxvYWRUeXBlc1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0tQYWdlTG9hZFR5cGVzUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
QzBCQkJFMDE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tMb25nTW91c2VQcmVzc0RhdGEuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5QzBCQkJFMTE5OEM2REZFMDBENTM5NUEg
LyogV0tMb25nTW91c2VQcmVzc0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tMb25nTW91c2VQcmVzc0RhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OUM0RTZCNkYxOThDMDA1MTAwODc2NTVBIC8qIExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb25nTW91c2VQcmVzc0NvbnRy
b2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QzRFNkI3MDE5OEMwMDUx
MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5QzRFNkI3MzE5OEMwMjk4MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJl
c3NEYXRhU3RvcmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTG9u
Z01vdXNlUHJlc3NEYXRhU3RvcmUuY3BwOyBwYXRoID0gU2hhcmVkL0xvbmdNb3VzZVByZXNzRGF0
YVN0b3JlLmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk5QzRFNkI3NDE5OEMw
Mjk4MDA4NzY1NUEgLyogTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTG9uZ01vdXNlUHJlc3NEYXRhU3RvcmUuaDsgcGF0aCA9IFNoYXJl
ZC9Mb25nTW91c2VQcmVzc0RhdGFTdG9yZS5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07
CisJCTlDRTZCQzdFMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVzc0RhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQVBJTG9uZ01vdXNlUHJlc3NE
YXRhLmNwcDsgcGF0aCA9IFVJUHJvY2Vzcy9BUElMb25nTW91c2VQcmVzc0RhdGEuY3BwOyBzb3Vy
Y2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTlDRTZCQzdGMTk4QzYwNjMwMDY1RDVGNSAvKiBB
UElMb25nTW91c2VQcmVzc0RhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
QVBJTG9uZ01vdXNlUHJlc3NEYXRhLmg7IHBhdGggPSBVSVByb2Nlc3MvQVBJTG9uZ01vdXNlUHJl
c3NEYXRhLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJOUY1NEY4OEUxNjQ4OEU4
NzAwN0RGODFBIC8qIENoaWxkUHJvY2Vzc01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IENoaWxkUHJvY2Vzc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOUY1NEY4OTQxNjQ4QUUwRTAwN0RGODFBIC8qIFBsdWdpblByb2Nlc3NNYW5hZ2Vy
TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGx1Z2luUHJv
Y2Vzc01hbmFnZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlGQjVGMzky
MTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tDb250ZXh0UHJpdmF0ZU1hYy5tbTsgcGF0aCA9
IG1hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNTc4NSw2ICs1NzkzLDggQEAKIAkJCQkxQUFGMDg5RTE5MjY4MUFDMDBCNjM5MEMgLyogVXNl
ckNvbnRlbnQgKi8sCiAJCQkJMUFFNTJGOEYxOTIwMURBNzAwQTFGQTM3IC8qIEFQSUNvbnRleHRD
b25maWd1cmF0aW9uLmNwcCAqLywKIAkJCQkxQUU1MkY5MDE5MjAxREE3MDBBMUZBMzcgLyogQVBJ
Q29udGV4dENvbmZpZ3VyYXRpb24uaCAqLywKKwkJCQk5Q0U2QkM3RTE5OEM2MDYzMDA2NUQ1RjUg
LyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmNwcCAqLywKKwkJCQk5Q0U2QkM3RjE5OEM2MDYzMDA2
NUQ1RjUgLyogQVBJTG9uZ01vdXNlUHJlc3NEYXRhLmggKi8sCiAJCQkJQkNGNjlGQTExMTc2RDAx
NDAwNDcxQTUyIC8qIEFQSU5hdmlnYXRpb25EYXRhLmNwcCAqLywKIAkJCQlCQ0Y2OUZBMDExNzZE
MDE0MDA0NzFBNTIgLyogQVBJTmF2aWdhdGlvbkRhdGEuaCAqLywKIAkJCQk3NUE4RDJERDE4N0RF
ODc0MDBDMzlDOUUgLyogQVBJU2Vzc2lvbi5jcHAgKi8sCkBAIC01OTkwLDYgKzYwMDAsOCBAQAog
CQkJCTFDOEUyOTM3MTI3NjFFNUIwMEJDN0JEMCAvKiBXS0luc3BlY3Rvci5oICovLAogCQkJCTUx
QTlFMTA4MTMxNUNEMTgwMDlFNzAzMSAvKiBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwICov
LAogCQkJCTUxQTlFMTA5MTMxNUNEMTgwMDlFNzAzMSAvKiBXS0tleVZhbHVlU3RvcmFnZU1hbmFn
ZXIuaCAqLywKKwkJCQk5QzBCQkJFMDE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVz
c0RhdGEuY3BwICovLAorCQkJCTlDMEJCQkUxMTk4QzZERkUwMEQ1Mzk1QSAvKiBXS0xvbmdNb3Vz
ZVByZXNzRGF0YS5oICovLAogCQkJCTMzRDNBM0IzMTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlh
Q2FjaGVNYW5hZ2VyLmNwcCAqLywKIAkJCQkzM0QzQTNCNDEzMzk2MDBCMDA3MDlCRTQgLyogV0tN
ZWRpYUNhY2hlTWFuYWdlci5oICovLAogCQkJCUMwOUFFNUU4MTI1MjU3QzIwMDI1ODI1RCAvKiBX
S05hdGl2ZUV2ZW50LmggKi8sCkBAIC03MTgzLDYgKzcxOTUsNyBAQAogCQkJCUJDMDZGNDRBMTJE
QkQxRjUwMDJENzhERSAvKiBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzA2RjQzQTEyREJDQ0ZCMDAyRDc4REUgLyogR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlDMENFNzJB
RDEyNDdFNzhEMDBCQzBFQzQgLyogSGFuZGxlTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OUNFNkJDODExOThDNjA2MzAwNjVENUY1IC8qIEFQSUxvbmdNb3VzZVByZXNzRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTEyQzA2ODkxNjM4RjY3RTAwQUJCOTExIC8qIEhvc3RSZWNvcmQuaCBp
biBIZWFkZXJzICovLAogCQkJCTM3RjkwREUzMTM3NjU2MEUwMDUxQ0Y2OCAvKiBIVFRQQ29va2ll
QWNjZXB0UG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0NGNkIyNTEyQzkzRTdBMDA4RjlD
MzUgLyogSW1hZ2VPcHRpb25zLmggaW4gSGVhZGVycyAqLywKQEAgLTcyMjAsNiArNzIzMyw3IEBA
CiAJCQkJQkMzM0UwRDExMjQwOEU4NjAwMzYwRjNGIC8qIEluamVjdGVkQnVuZGxlUmFuZ2VIYW5k
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMTVEQzcyMTkxRDgyREEwMERBODA3MiAvKiBfV0tX
ZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQ0I0RTYwMThCQkUz
RDkwMDBGQ0ZDOSAvKiBGaW5kSW5kaWNhdG9yV2luZG93LmggaW4gSGVhZGVycyAqLywKKwkJCQk5
QzBCQkJFMzE5OEM2REZFMDBENTM5NUEgLyogV0tMb25nTW91c2VQcmVzc0RhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMTRERjc3MTIwQjVCNzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVNj
cmlwdFdvcmxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IwQjBERTEyMzA1QThDMDBCMTM0MUUg
LyogSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFFNDlBNDkxMUZGQThDRTAwNDhCNDY0IC8qIEpTTlBNZXRob2QuaCBpbiBIZWFkZXJzICovLApA
QCAtNzgzOSw5ICs3ODUzLDkgQEAKIAkJCQlCQzhGMkYyRTE2MjczQUNDMDA1RkFDQjUgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVySW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTI5NTAxNzI0MTYyQTQ1MDQwMDRBOUQ3MSAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
Rjc1MDZCNjE4NTkxNjU3MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZUlu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKLQkJCQkxRjc1MDZCNTE4NTkxNjU0MDBFQzBGRjcgLyog
V0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzczQ0VBRDYxODU0MTdBRTAwOEMzNjNEIC8qIFdLTlNEYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUI4QTFGMDE4NDAwQjAwMDBFOUFFNjkgLyogV0tQYWdlRm9ybUNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMUY3NTA2QjUxODU5MTY1NDAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJblNjcmlwdFdvcmxkSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOTg5RDg1MTYx
QTk4OTAwMDBENDZEMyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5JbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMwNEVGRkMxNkU2NUFGQjAwRTMzNkYwIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBy
aXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkU2RThFMTE0MTk3MTUwMEE2M0IxRSAvKiBX
b3JrUXVldWUuaCBpbiBIZWFkZXJzICovLApAQCAtOTA5OCw2ICs5MTEyLDcgQEAKIAkJCQlDNUUx
QUZFRTE2QjIxMDI1MDA2Q0MxRjIgLyogQVBJV2ViQXJjaGl2ZVJlc291cmNlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDNzJCQTFEMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDMTMzNzQxODU3QzIxRTAwRjNFQzA1IC8qIEFQ
SUdlb21ldHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTlDMEJCQkUyMTk4QzZERkUwMEQ1Mzk1
QSAvKiBXS0xvbmdNb3VzZVByZXNzRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MThEMkNB
RDEyRDUxNTNCMDAzQkI5M0IgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzcyQjlGQTExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0
UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFBNUExMTJGNEZCQjAwMzM3QkFCIC8q
IFdlYkNocm9tZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkzNDAsNiArOTM1NSw3IEBA
CiAJCQkJNTEyRjU4RjcxMkE4OEE1NDAwNjI5NTMwIC8qIFdLQXV0aGVudGljYXRpb25EZWNpc2lv
bkxpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjQ2QzFBMTFERDM5OUYwMDY0NTVC
MCAvKiBXS0JhY2tGb3J3YXJkTGlzdFJlZi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzY0NkMx
QzExREQzOTlGMDA2NDU1QjAgLyogV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTlDRTZCQzgwMTk4QzYwNjMwMDY1RDVGNSAvKiBBUElMb25nTW91c2VQcmVz
c0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyNTZFMzcxOEExQTc4ODAwNkZCOTIyIC8q
IFdLTmF2aWdhdGlvbkFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3QkYyRjA3MTk0N0RF
QjQwMDcyM0M0OCAvKiBXS05TVVJMUmVxdWVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQkFB
QzcyMTQ0RTYxOTkwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0gaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAKaW5kZXggOTdjZWJmOTkwMzg4
ODM3Yjk3M2FhZGMxNDlkMDI5ODQ3YmQwYTkxZC4uOGYwNmM5Y2NiYWUxNGVhNDZkOTE2ZTEzZTQ5
NTJhZWMzNzMzODIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5jcHAKQEAgLTM2LDYgKzM2
LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogTG9u
Z01vdXNlUHJlc3NDb250cm9sbGVyOjpMb25nTW91c2VQcmVzc0NvbnRyb2xsZXIoV2ViUGFnZSYg
d2ViUGFnZSkKKyAgICA6IG1fZGF0YVN0b3JlKG51bGxwdHIpCisgICAgLCBtX3BhZ2UoJndlYlBh
Z2UpCiB7CiB9CiAKQEAgLTQzLDE3ICs0NSwyNSBAQCB2b2lkIExvbmdNb3VzZVByZXNzQ29udHJv
bGxlcjo6ZGlkQmVnaW5UcmFja2luZ1BvdGVudGlhbExvbmdNb3VzZVByZXNzKGNvbnN0IFdlYgog
ewogICAgIC8vIEZJWE1FOiBHZW5lcmF0ZSBkYXRhIHN0b3JlIGZyb20gbG9jYXRpb24uCiAKLSAg
ICAvLyBGSVhNRTogTm90aWZ5IGNsaWVudCBvZiBsb25nIG1vdXNlIHByZXNzIGV2ZW50LgorICAg
IG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRCZWdpblRyYWNraW5nUG90
ZW50aWFsTG9uZ01vdXNlUHJlc3MoKm1fZGF0YVN0b3JlKSk7CiB9CiAKIHZvaWQgTG9uZ01vdXNl
UHJlc3NDb250cm9sbGVyOjpkaWRSZWNvZ25pemVMb25nTW91c2VQcmVzcygpCiB7Ci0gICAgLy8g
RklYTUU6IE5vdGlmeSBjbGllbnQgb2YgbG9uZyBtb3VzZSBwcmVzcyBldmVudC4KKyAgICBpZiAo
IW1fZGF0YVN0b3JlLmdldCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVjb2duaXplTG9uZ01vdXNlUHJlc3MoKm1fZGF0
YVN0b3JlKSk7CisgICAgbV9kYXRhU3RvcmUgPSBudWxscHRyOwogfQogCiB2b2lkIExvbmdNb3Vz
ZVByZXNzQ29udHJvbGxlcjo6ZGlkQ2FuY2VsVHJhY2tpbmdQb3RlbnRpYWxMb25nTW91c2VQcmVz
cygpCiB7Ci0gICAgLy8gRklYTUU6IE5vdGlmeSBjbGllbnQgb2YgbG9uZyBtb3VzZSBwcmVzcyBl
dmVudC4KKyAgICBpZiAoIW1fZGF0YVN0b3JlLmdldCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ2FuY2VsVHJhY2tpbmdQ
b3RlbnRpYWxMb25nTW91c2VQcmVzcygqbV9kYXRhU3RvcmUpKTsKKyAgICBtX2RhdGFTdG9yZSA9
IG51bGxwdHI7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xvbmdNb3VzZVByZXNzQ29udHJvbGxl
ci5oCmluZGV4IDI0ZTA1YTBlZmUzNWFmYjRiZDJmMmRjNDQ2M2I3YzE5NmE1MWUwZmQuLjRjNmY2
MjJhNTMwNTZhMmFlMDdhZWZmMjY3NDkzODQ0ZjRmMTdmYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Mb25nTW91c2VQcmVzc0NvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTG9uZ01vdXNlUHJlc3NDb250cm9s
bGVyLmgKQEAgLTQ2LDcgKzQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ2FuY2VsVHJhY2tp
bmdQb3RlbnRpYWxMb25nTW91c2VQcmVzcygpOwogCiBwcml2YXRlOgotICAgIExvbmdNb3VzZVBy
ZXNzRGF0YVN0b3JlIG1fZGF0YVN0b3JlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxMb25nTW91c2VQ
cmVzc0RhdGFTdG9yZT4gbV9kYXRhU3RvcmU7CisgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="review"
          id="260920"
          type_id="1"
          status="-"
          setter="prandolph"
    />
    <flag name="commit-queue"
          id="261256"
          type_id="3"
          status="-"
          setter="prandolph"
    />
          </attachment>
      

    </bug>

</bugzilla>