<?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>124884</bug_id>
          
          <creation_ts>2013-11-25 23:31:49 -0800</creation_ts>
          <short_desc>Some WebKit2 headers are not self-contained</short_desc>
          <delta_ts>2013-11-26 12:05:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philn</cc>
    
    <cc>sam</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954222</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-11-25 23:31:49 -0800</bug_when>
    <thetext>Some WebKit2 headers are not self-contained</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954223</commentid>
    <comment_count>1</comment_count>
      <attachid>217865</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-25 23:41:24 -0800</bug_when>
    <thetext>Created attachment 217865
Add includes and imports, and remove WTF-isms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954224</commentid>
    <comment_count>2</comment_count>
      <attachid>217865</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-25 23:49:51 -0800</bug_when>
    <thetext>Comment on attachment 217865
Add includes and imports, and remove WTF-isms

Attachment 217865 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/37208011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954226</commentid>
    <comment_count>3</comment_count>
      <attachid>217867</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-25 23:53:32 -0800</bug_when>
    <thetext>Created attachment 217867
Add includes and imports, and remove WTF-isms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954318</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-11-26 12:05:27 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r159788&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217865</attachid>
            <date>2013-11-25 23:41:24 -0800</date>
            <delta_ts>2013-11-25 23:53:29 -0800</delta_ts>
            <desc>Add includes and imports, and remove WTF-isms</desc>
            <filename>bug-124884-20131125234151.patch</filename>
            <type>text/plain</type>
            <size>25618</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTc3OSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgyIEBACisyMDEzLTExLTI1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBXZWJLaXQyIGhlYWRlcnMg
YXJlIG5vdCBzZWxmLWNvbnRhaW5lZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI0ODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNl
Lmg6IEFkZGVkIGltcG9ydC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaDogRGl0dG8uCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1l
bnVJdGVtVHlwZXMuaDogQWRkZWQgaW5jbHVkZS4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tG
aW5kT3B0aW9ucy5oOiBEaXR0by4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJy
YXkuaDogRGl0dG8uCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLUGFnZUxvYWRUeXBlcy5oOiBE
aXR0by4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmg6IERp
dHRvLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLUGx1Z2luSW5mb3JtYXRpb24uY3BwOgor
ICAgICAgICAoV0tQbHVnaW5JbmZvcm1hdGlvbkJ1bmRsZUlkZW50aWZpZXJLZXkpOiBNYWRlIHRo
aXMgQVBJIGZ1bmN0aW9uIGFsd2F5cyBiZSBkZWZpbmVkLiBXaGVuCisgICAgICAgIHRoZSBOZXRz
Y2FwZSBwbHVnLWluIEFQSSBpcyBub3QgZW5hYmxlZCwgaXQgcmV0dXJucyAwLgorICAgICAgICAo
V0tQbHVnaW5JbmZvcm1hdGlvbkJ1bmRsZVZlcnNpb25LZXkpOiBEaXR0by4KKyAgICAgICAgKFdL
UGx1Z2luSW5mb3JtYXRpb25CdW5kbGVTaG9ydFZlcnNpb25LZXkpOiBEaXR0by4KKyAgICAgICAg
KFdLUGx1Z2luSW5mb3JtYXRpb25QYXRoS2V5KTogRGl0dG8uCisgICAgICAgIChXS1BsdWdpbklu
Zm9ybWF0aW9uRGlzcGxheU5hbWVLZXkpOiBEaXR0by4KKyAgICAgICAgKFdLUGx1Z2luSW5mb3Jt
YXRpb25EZWZhdWx0TG9hZFBvbGljeUtleSk6IERpdHRvLgorICAgICAgICAoV0tQbHVnaW5JbmZv
cm1hdGlvblVwZGF0ZVBhc3RMYXN0QmxvY2tlZFZlcnNpb25Jc0tub3duQXZhaWxhYmxlS2V5KTog
RGl0dG8uCisgICAgICAgIChXS1BsdWdpbkluZm9ybWF0aW9uSGFzU2FuZGJveFByb2ZpbGVLZXkp
OiBEaXR0by4KKyAgICAgICAgKFdLUGx1Z2luSW5mb3JtYXRpb25GcmFtZVVSTEtleSk6IERpdHRv
LgorICAgICAgICAoV0tQbHVnaW5JbmZvcm1hdGlvbk1JTUVUeXBlS2V5KTogRGl0dG8uCisgICAg
ICAgIChXS1BsdWdpbkluZm9ybWF0aW9uUGFnZVVSTEtleSk6IERpdHRvLgorICAgICAgICAoV0tQ
bHVnaW5JbmZvcm1hdGlvblBsdWdpbnNwYWdlQXR0cmlidXRlVVJMS2V5KTogRGl0dG8uCisgICAg
ICAgIChXS1BsdWdpbkluZm9ybWF0aW9uUGx1Z2luVVJMS2V5KTogRGl0dG8uCisgICAgICAgIChX
S1BsdWdJbkluZm9ybWF0aW9uUmVwbGFjZW1lbnRPYnNjdXJlZEtleSk6IERpdHRvLgorCisgICAg
ICAgICogU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmg6IEFkZGVkIGluY2x1ZGUuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbFR5cGVzLmg6IERpdHRvLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VDb250ZXh0TWVudUNsaWVudC5oOiBEaXR0by4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50Lmg6IEFkZGVkIGluY2x1ZGVzLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQb2xpY3lDbGllbnQuaDogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6IERpdHRvLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyR2V0VHlwZUlEKTogRml4ZWQgdGhlICFFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkgYnVpbGQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
bWFjL1dLQ29udGV4dFByaXZhdGVNYWMuaDogUmVtb3ZlZCB1c2Ugb2YgRU5BQkxFKCkgZnJvbSB0
aGlzIHByaXZhdGUKKyAgICAgICAgaGVhZGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9t
YWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbToKKyAgICAgICAgKFdLQ29udGV4dENvcHlQbHVnSW5J
bmZvRm9yQnVuZGxlSWRlbnRpZmllcik6IE1hZGUgdGhpcyBBUEkgZnVuY3Rpb24gYWx3YXlzIGJl
IGRlZmluZWQuCisgICAgICAgIFdoZW4gdGhlIE5ldHNjYXBlIHBsdWctaW4gQVBJIGlzIG5vdCBl
bmFibGVkLCBpdCByZXR1cm5zIDAuCisgICAgICAgIChXS0NvbnRleHRHZXRJbmZvRm9ySW5zdGFs
bGVkUGx1Z0lucyk6IE1hZGUgdGhpcyBBUEkgZnVuY3Rpb24gYWx3YXlzIGJlIGRlZmluZWQuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOiBB
ZGRlZCBpbXBvcnRzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0
ZU1hYy5oOiBBZGRlZCBpbmNsdWRlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tC
YWNrRm9yd2FyZExpc3RJdGVtLmg6IEFkZGVkIGltcG9ydC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9jcHAvV0tSZXRhaW5QdHIuaDogUmVwbGFjZWQgdXNlIG9mIFdBUk5fVU5VU0VEX1JFVFVS
TiBpbiB0aGlzIHByaXZhdGUgaGVhZGVyCisgICAgICAgIHdpdGggYW4gZXF1aXZhbGVudCBtYWNy
byBkZWZpbmVkIGluIHRoZSBoZWFkZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmg6IEFkZGVkIGluY2x1ZGUuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5j
cHA6CisgICAgICAgIChXS0J1bmRsZUluc3BlY3RvckdldFR5cGVJRCk6IE1hZGUgdGhpcyBBUEkg
ZnVuY3Rpb24gYWx3YXlzIGJlIGRlZmluZWQuIFdoZW4gdGhlIEluc3BlY3RvcgorICAgICAgICBp
cyBub3QgZW5hYmxlZCwgaXQgcmV0dXJucyB0aGUgTnVsbCB0eXBlLgorICAgICAgICAoV0tCdW5k
bGVJbnNwZWN0b3JTaG93KTogTWFkZSB0aGlzIEFQSSBmdW5jdGlvbiBhbHdheXMgYmUgZGVmaW5l
ZC4KKyAgICAgICAgKFdLQnVuZGxlSW5zcGVjdG9yQ2xvc2UpOiBEaXR0by4KKyAgICAgICAgKFdL
QnVuZGxlSW5zcGVjdG9yRXZhbHVhdGVTY3JpcHRGb3JUZXN0KTogRGl0dG8uCisgICAgICAgIChX
S0J1bmRsZUluc3BlY3RvclNldFBhZ2VQcm9maWxpbmdFbmFibGVkKTogRGl0dG8uCisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5oOiBS
ZW1vdmVkIHVzZSBvZiBFTkFCTEUoKSBmcm9tIHRoaXMKKyAgICAgICAgcHJpdmF0ZSBoZWFkZXIu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZVByaXZhdGUuaDogQWRkZWQgaW5jbHVkZXMuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDogQWRkZWQgaW5jbHVkZS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvV0tOUEFQSVBsdWdJbkNvbnRhaW5l
ci5tbToKKyAgICAgICAgKC1bV0tOUEFQSVBsdWdJbkNvbnRhaW5lciBvcGVuUGx1Z0luUHJlZmVy
ZW5jZVBhbmVdKTogRml4ZWQgdGhlICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyAgICAg
ICAgYnVpbGQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQpOiBEaXR0by4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV2ViSW5zcGVjdG9yTWFjLm1tOiBGaXhlZCB0aGUgIUVOQUJMRShJTlNQRUNU
T1IpIGJ1aWxkLgorCiAyMDEzLTExLTI1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvY29hXSBVc2UgY2xhc3MgZXh0ZW5zaW9ucyBmb3IgSVBJCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9i
amVjdEludGVyZmFjZS5oCShyZXZpc2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDggQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgorCiBXS19BUElfQ0xBU1MKIEBpbnRlcmZhY2UgV0tSZW1vdGVPYmpl
Y3RJbnRlcmZhY2UgOiBOU09iamVjdAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAkocmV2aXNpb24g
MTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVj
dFJlZ2lzdHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKIAogI2lmIFdLX0FQ
SV9FTkFCTEVECiAKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCiBAY2xhc3Mg
V0tSZW1vdGVPYmplY3RJbnRlcmZhY2U7CiAKIFdLX0FQSV9DTEFTUwpJbmRleDogU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCShy
ZXZpc2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0
TWVudUl0ZW1UeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVm
IFdLQ29udGV4dE1lbnVJdGVtVHlwZXNfaAogI2RlZmluZSBXS0NvbnRleHRNZW51SXRlbVR5cGVz
X2gKIAorI2luY2x1ZGUgPHN0ZGludC5oPgorCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAi
QyIgewogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tGaW5kT3B0
aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ZpbmRP
cHRpb25zLmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS0ZpbmRPcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5k
ZWYgV0tGaW5kT3B0aW9uc19oCiAjZGVmaW5lIFdLRmluZE9wdGlvbnNfaAogCisjaW5jbHVkZSA8
c3RkaW50Lmg+CisKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oCShyZXZp
c2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJy
YXkuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBXS011dGFibGVB
cnJheV9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPHN0ZGRlZi5o
PgogCiAjaWZuZGVmIF9fY3BsdXNwbHVzCiAjaW5jbHVkZSA8c3RkYm9vbC5oPgpJbmRleDogU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZUxvYWRUeXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1BhZ2VMb2FkVHlwZXMuaAkocmV2aXNpb24g
MTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZUxvYWRUeXBlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVmIFdLUGFnZUxvYWRUeXBl
c19oCiAjZGVmaW5lIFdLUGFnZUxvYWRUeXBlc19oCiAKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNlbmRpZgpJbmRleDogU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZVZpc2liaWxpdHlUeXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1BhZ2VWaXNpYmlsaXR5VHlwZXMuaAkocmV2
aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZVZpc2li
aWxpdHlUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVmIFdL
UGFnZVZpc2liaWxpdHlUeXBlc19oCiAjZGVmaW5lIFdLUGFnZVZpc2liaWxpdHlUeXBlc19oCiAK
KyNpbmNsdWRlIDxzdGRpbnQuaD4KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGx1Z2luSW5mb3Jt
YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1Bs
dWdpbkluZm9ybWF0aW9uLmNwcAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLUGx1Z2luSW5mb3JtYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV0tQbHVnaW5JbmZv
cm1hdGlvbi5oIgogCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KICNpbmNsdWRl
ICJQbHVnaW5JbmZvcm1hdGlvbi5oIgogI2luY2x1ZGUgIldLU2hhcmVkQVBJQ2FzdC5oIgogI2lu
Y2x1ZGUgIldlYlN0cmluZy5oIgpAQCAtMzYsODUgKzM0LDE0MCBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlSWRlbnRpZmll
cktleSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdl
YlN0cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25CdW5kbGVJ
ZGVudGlmaWVyS2V5KCkpLmxlYWtSZWYoKTsKICAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyNlbHNl
CisgICAgcmV0dXJuIDA7CisjZW5kaWYKIH0KIAogV0tTdHJpbmdSZWYgV0tQbHVnaW5JbmZvcm1h
dGlvbkJ1bmRsZVZlcnNpb25LZXkoKQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbklu
Zm9ybWF0aW9uQnVuZGxlVmVyc2lvbktleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJ
KGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdL
UGx1Z2luSW5mb3JtYXRpb25CdW5kbGVTaG9ydFZlcnNpb25LZXkoKQogeworI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmlu
Zzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uQnVuZGxlU2hvcnRWZXJzaW9uS2V5KCkpLmxlYWtS
ZWYoKTsKICAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5k
aWYKIH0KIAogV0tTdHJpbmdSZWYgV0tQbHVnaW5JbmZvcm1hdGlvblBhdGhLZXkoKQogeworI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9
IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uUGF0aEtleSgpKS5sZWFrUmVmKCk7
CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9
CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25EaXNwbGF5TmFtZUtleSgpCiB7Cisj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0cmluZyoga2V5
ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25EaXNwbGF5TmFtZUtleSgpKS5s
ZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOwor
I2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25EZWZhdWx0TG9hZFBv
bGljeUtleSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGlj
IFdlYlN0cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25EZWZh
dWx0TG9hZFBvbGljeUtleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7Cisj
ZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5m
b3JtYXRpb25VcGRhdGVQYXN0TGFzdEJsb2NrZWRWZXJzaW9uSXNLbm93bkF2YWlsYWJsZUtleSgp
CiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0cmlu
Zyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25VcGRhdGVQYXN0TGFz
dEJsb2NrZWRWZXJzaW9uSXNLbm93bkF2YWlsYWJsZUtleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0
dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3Ry
aW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25IYXNTYW5kYm94UHJvZmlsZUtleSgpCiB7CisjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0cmluZyoga2V5ID0g
V2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25IYXNTYW5kYm94UHJvZmlsZUtleSgp
KS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAw
OworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25GcmFtZVVSTEtl
eSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0
cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25GcmFtZVVSTEtl
eSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVy
biAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25NSU1FVHlw
ZUtleSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdl
YlN0cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25NSU1FVHlw
ZUtleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJl
dHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25QYWdl
VVJMS2V5KCkKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBzdGF0aWMg
V2ViU3RyaW5nKiBrZXkgPSBXZWJTdHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvblBhZ2VV
UkxLZXkoKSkubGVha1JlZigpOwogICAgIHJldHVybiB0b0FQSShrZXkpOworI2Vsc2UKKyAgICBy
ZXR1cm4gMDsKKyNlbmRpZgogfQogCiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uUGx1
Z2luc3BhZ2VBdHRyaWJ1dGVVUkxLZXkoKQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdp
bkluZm9ybWF0aW9uUGx1Z2luc3BhZ2VBdHRyaWJ1dGVVUkxLZXkoKSkubGVha1JlZigpOwogICAg
IHJldHVybiB0b0FQSShrZXkpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgogfQogCiBX
S1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uUGx1Z2luVVJMS2V5KCkKIHsKKyNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBzdGF0aWMgV2ViU3RyaW5nKiBrZXkgPSBXZWJT
dHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvblBsdWdpblVSTEtleSgpKS5sZWFrUmVmKCk7
CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9
CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb3JtYXRpb25SZXBsYWNlbWVudE9ic2N1cmVkS2V5
KCkKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBzdGF0aWMgV2ViU3Ry
aW5nKiBrZXkgPSBXZWJTdHJpbmc6OmNyZWF0ZShwbHVnSW5JbmZvcm1hdGlvblJlcGxhY2VtZW50
T2JzY3VyZWRLZXkoKSkubGVha1JlZigpOwogICAgIHJldHVybiB0b0FQSShrZXkpOworI2Vsc2UK
KyAgICByZXR1cm4gMDsKKyNlbmRpZgogfQotI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVH
SU5fQVBJKQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmgJKHJldmlz
aW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFdLU3RyaW5nX2gKIAogI2lu
Y2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CiAKICNpZm5kZWYg
X19jcGx1c3BsdXMKICNpbmNsdWRlIDxzdGRib29sLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsVHlwZXMuaAkocmV2aXNpb24gMTU5
Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbFR5cGVz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5kZWYgV0tDcmVkZW50aWFs
VHlwZXNfaAogI2RlZmluZSBXS0NyZWRlbnRpYWxUeXBlc19oCiAKKyNpbmNsdWRlIDxzdGRpbnQu
aD4KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUNvbnRleHRN
ZW51Q2xpZW50LmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2VDb250ZXh0TWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiAjZGVmaW5lIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50X2gKIAogI2luY2x1ZGUg
PFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5Lmg+CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUxvYWRlckNsaWVudC5oCShyZXZpc2lvbiAxNTk3
NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNkZWZpbmUgV0tQYWdlTG9hZGVy
Q2xpZW50X2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0
Mi9XS0Vycm9yLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2VMb2FkVHlwZXMuaD4KIAogI2lm
ZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VQb2xpY3lDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUG9saWN5Q2xpZW50LmgJKHJldmlzaW9uIDE1OTc3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQb2xpY3lDbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOCBAQAogI2RlZmluZSBXS1BhZ2VQb2xpY3lD
bGllbnRfaAogCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQy
L1dLRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZUxvYWRUeXBlcy5oPgogCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw2ICsyNyw5IEBACiAjZGVmaW5lIFdLUGFnZVVJQ2xpZW50X2gKIAogI2luY2x1
ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0V2ZW50Lmg+CisjaW5j
bHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5Lmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS05hdGl2ZUV2
ZW50Lmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRh
TWFuYWdlci5jcHAJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDcgKzQxLDcgQEAgV0tUeXBlSUQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRUeXBlSQogI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHJldHVybiB0b0FQSShXZWJQbHVnaW5T
aXRlRGF0YU1hbmFnZXI6OkFQSVR5cGUpOwogI2Vsc2UKLSAgICByZXR1cm4gQVBJOjpPYmplY3Q6
OlR5cGU6Ok51bGw7CisgICAgcmV0dXJuIHRvQVBJKEFQSTo6T2JqZWN0OjpUeXBlOjpOdWxsKTsK
ICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dL
Q29udGV4dFByaXZhdGVNYWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVNYWMuaAkocmV2aXNpb24gMTU5Nzc0KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0
U2V0UHJvY2Vzc1N1cHByZQogCiBXS19FWFBPUlQgYm9vbCBXS0NvbnRleHRJc1BsdWdJblVwZGF0
ZUF2YWlsYWJsZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgcGx1Z0luQnVuZGxl
SWRlbnRpZmllcik7CiAKLSNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLQogV0tfRVhQ
T1JUIFdLRGljdGlvbmFyeVJlZiBXS0NvbnRleHRDb3B5UGx1Z0luSW5mb0ZvckJ1bmRsZUlkZW50
aWZpZXIoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHBsdWdJbkJ1bmRsZUlkZW50
aWZpZXIpOwogCiB0eXBlZGVmIHZvaWQgKF5XS0NvbnRleHRHZXRJbmZvRm9ySW5zdGFsbGVkUGx1
Z0luc0Jsb2NrKShXS0FycmF5UmVmLCBXS0Vycm9yUmVmKTsKQEAgLTY2LDggKzY0LDYgQEAgV0tf
RVhQT1JUIFdLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb1VwZGF0ZQogLyogVmFsdWUgdHlwZTogV0tC
b29sZWFuUmVmICovCiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQbHVnSW5JbmZvSXNTYW5kYm94
ZWRLZXkoKTsKIAotI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbQkocmV2aXNp
b24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRl
eHRQcml2YXRlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MywyMCArNjMsMjMgQEAgYm9vbCBX
S0NvbnRleHRJc1BsdWdJblVwZGF0ZUF2YWlsYWJsZShXSwogI2VuZGlmCiB9CiAKLSNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLQogV0tEaWN0aW9uYXJ5UmVmIFdLQ29udGV4dENvcHlQ
bHVnSW5JbmZvRm9yQnVuZGxlSWRlbnRpZmllcihXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tT
dHJpbmdSZWYgcGx1Z0luQnVuZGxlSWRlbnRpZmllclJlZikKIHsKKyNpZiBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKICAgICBQbHVnaW5Nb2R1bGVJbmZvIHBsdWdpbiA9IHRvSW1wbChjb250
ZXh0UmVmKS0+cGx1Z2luSW5mb1N0b3JlKCkuZmluZFBsdWdpbldpdGhCdW5kbGVJZGVudGlmaWVy
KHRvV1RGU3RyaW5nKHBsdWdJbkJ1bmRsZUlkZW50aWZpZXJSZWYpKTsKICAgICBpZiAocGx1Z2lu
LnBhdGguaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgUmVmUHRyPEltbXV0YWJs
ZURpY3Rpb25hcnk+IGRpY3Rpb25hcnkgPSBjcmVhdGVQbHVnaW5JbmZvcm1hdGlvbkRpY3Rpb25h
cnkocGx1Z2luKTsKICAgICByZXR1cm4gdG9BUEkoZGljdGlvbmFyeS5yZWxlYXNlKCkubGVha1Jl
ZigpKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKIH0KIAogdm9pZCBXS0NvbnRleHRH
ZXRJbmZvRm9ySW5zdGFsbGVkUGx1Z0lucyhXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tDb250
ZXh0R2V0SW5mb0Zvckluc3RhbGxlZFBsdWdJbnNCbG9jayBibG9jaykKIHsKKyNpZiBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBWZWN0b3I8UGx1Z2luTW9kdWxlSW5mbz4gcGx1Z2lu
cyA9IHRvSW1wbChjb250ZXh0UmVmKS0+cGx1Z2luSW5mb1N0b3JlKCkucGx1Z2lucygpOwogCiAg
ICAgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IHBsdWdpbkluZm9EaWN0aW9uYXJpZXM7CkBA
IC05Myw2ICs5Niw3IEBAIHZvaWQgV0tDb250ZXh0R2V0SW5mb0Zvckluc3RhbGxlZFBsdWdJbnMK
ICAgICAKICAgICAgICAgdG9JbXBsKGNvbnRleHRSZWYpLT5kZXJlZigpOwogICAgIH0pOworI2Vu
ZGlmCiB9CiAKIHZvaWQgV0tDb250ZXh0UmVzZXRIU1RTSG9zdHMoV0tDb250ZXh0UmVmIGNvbnRl
eHQpCkBAIC0xMzIsNSArMTM2LDMgQEAgV0tTdHJpbmdSZWYgV0tQbHVnSW5JbmZvSXNTYW5kYm94
ZWRLZXkoKQogewogICAgIHJldHVybiBXS1BsdWdpbkluZm9ybWF0aW9uSGFzU2FuZGJveFByb2Zp
bGVLZXkoKTsKIH0KLQotI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0luc3BlY3RvclByaXZhdGVN
YWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dL
SW5zcGVjdG9yUHJpdmF0ZU1hYy5oCShyZXZpc2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMyw4ICsyMyw5IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI2lmbmRlZiBXS0luc3BlY3RvclByaXZhdGVNYWNfaAotI2RlZmluZSBXS0luc3Bl
Y3RvclByaXZhdGVNYWNfaAorI2ltcG9ydCA8QXBwS2l0L05TV2luZG93Lmg+CisjaW1wb3J0IDxX
ZWJLaXQyL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmg+CisjaW1wb3J0IDxXZWJLaXQyL1dLSW5z
cGVjdG9yLmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC00NSw1ICs0
NiwzIEBAIFdLX0VYUE9SVCBAaW50ZXJmYWNlIFdLV2ViSW5zcGVjdG9yUHJveHkKICNpZmRlZiBf
X2NwbHVzcGx1cwogfQogI2VuZGlmCi0KLSNlbmRpZiAvLyBXS0luc3BlY3RvclByaXZhdGVNYWNf
aApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRl
TWFjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9X
S1BhZ2VQcml2YXRlTWFjLmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNyw3IEBACiAjZGVmaW5lIFdLUGFnZVByaXZhdGVNYWNfaAogCiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS0Jhc2UuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIAogI2lmZGVmIF9fY3BsdXNw
bHVzCiBleHRlcm4gIkMiIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaAkocmV2aXNpb24gMTU5
Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJk
TGlzdEl0ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBAQAogCiAjaWYgV0tfQVBJ
X0VOQUJMRUQKIAorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKIFdLX0FQSV9D
TEFTUwogQGludGVyZmFjZSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gOiBOU09iamVjdAogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdh
dGlvbkRhdGEuaAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS05hdmlnYXRpb25EYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMx
LDggQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCiBXS19BUElfQ0xBU1MKIEBpbnRlcmZhY2UgV0tOYXZpZ2F0aW9uRGF0YSA6IE5T
T2JqZWN0CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWlu
UHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAvV0tS
ZXRhaW5QdHIuaAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9jcHAvV0tSZXRhaW5QdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMjI5LDcgKzIyOSwxNSBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgCiAgICAgcmV0dXJuIGEg
IT0gYi5nZXQoKTsgCiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBXS1JldGFpblB0
cjxUPiBhZG9wdFdLKFQpIFdBUk5fVU5VU0VEX1JFVFVSTjsKKyNpZiBkZWZpbmVkKF9fR05VQ19f
KSAmJiAhKGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19fKSkKKyNkZWZpbmUg
V0tfV0FSTl9VTlVTRURfUkVUVVJOIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkp
CisjZWxzZQorI2RlZmluZSBXS19XQVJOX1VOVVNFRF9SRVRVUk4KKyNlbmRpZgorCit0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgV0tSZXRhaW5QdHI8VD4gYWRvcHRXSyhUKSBXS19XQVJOX1VO
VVNFRF9SRVRVUk47CisKKyN1bmRlZiBXS19XQVJOX1VOVVNFRF9SRVRVUk4KIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gaW5saW5lIFdLUmV0YWluUHRyPFQ+IGFkb3B0V0soVCBvKSAKIHsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVG
cmFtZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmgJKHJldmlzaW9uIDE1OTc3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVGcmFtZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgogI2luY2x1ZGUgPFdlYktpdDIv
V0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5Lmg+CiAKICNpZm5kZWYgX19j
cGx1c3BsdXMKICNpbmNsdWRlIDxzdGRib29sLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSW5zcGVjdG9yLmNwcAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXS0J1bmRsZUluc3BlY3Rvci5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgogI2luY2x1
ZGUgIldlYkluc3BlY3Rvci5oIgpAQCAtMzcsMzAgKzM1LDQwIEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKIFdLVHlwZUlEIFdLQnVuZGxlSW5zcGVjdG9yR2V0VHlwZUlEKCkKIHsKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVybiB0b0FQSShXZWJJbnNwZWN0b3I6OkFQSVR5cGUp
OworI2Vsc2UKKyAgICByZXR1cm4gdG9BUEkoQVBJOjpPYmplY3Q6OlR5cGU6Ok51bGwpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTaG93KFdLQnVuZGxlSW5zcGVjdG9yUmVm
IGluc3BlY3RvclJlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKGluc3BlY3RvclJlZiktPnNob3co
KTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIHRvSW1wbChpbnNwZWN0b3JSZWYpLT5zaG93
KCk7CisjZW5kaWYKIH0KIAogdm9pZCBXS0J1bmRsZUluc3BlY3RvckNsb3NlKFdLQnVuZGxlSW5z
cGVjdG9yUmVmIGluc3BlY3RvclJlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKGluc3BlY3RvclJl
ZiktPmNsb3NlKCk7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICB0b0ltcGwoaW5zcGVjdG9y
UmVmKS0+Y2xvc2UoKTsKKyNlbmRpZgogfQogCiB2b2lkIFdLQnVuZGxlSW5zcGVjdG9yRXZhbHVh
dGVTY3JpcHRGb3JUZXN0KFdLQnVuZGxlSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZiwgbG9uZyBj
YWxsSUQsIFdLU3RyaW5nUmVmIHNjcmlwdCkKIHsKLSAgICByZXR1cm4gdG9JbXBsKGluc3BlY3Rv
clJlZiktPmV2YWx1YXRlU2NyaXB0Rm9yVGVzdChjYWxsSUQsIHRvV1RGU3RyaW5nKHNjcmlwdCkp
OworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgdG9JbXBsKGluc3BlY3RvclJlZiktPmV2YWx1
YXRlU2NyaXB0Rm9yVGVzdChjYWxsSUQsIHRvV1RGU3RyaW5nKHNjcmlwdCkpOworI2VuZGlmCiB9
CiAKIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTZXRQYWdlUHJvZmlsaW5nRW5hYmxlZChXS0J1bmRs
ZUluc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYsIGJvb2wgZW5hYmxlZCkKIHsKKyNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChlbmFibGVkKQogICAgICAgICB0b0ltcGwoaW5zcGVjdG9yUmVm
KS0+c3RhcnRQYWdlUHJvZmlsaW5nKCk7CiAgICAgZWxzZQogICAgICAgICB0b0ltcGwoaW5zcGVj
dG9yUmVmKS0+c3RvcFBhZ2VQcm9maWxpbmcoKTsKKyNlbmRpZgogfQotCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmgJ
KHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCAr
MjgsNiBAQAogCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpZm5kZWYgX19jcGx1c3BsdXMKICNpbmNsdWRlIDxzdGRib29sLmg+CiAjZW5k
aWYKQEAgLTUwLDcgKzQ4LDUgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTZXRQ
YWdlUAogfQogI2VuZGlmCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYg
Ly8gV0tCdW5kbGVJbnNwZWN0b3JfaAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNkZWZpbmUgV0tCdW5kbGVQYWdlUHJpdmF0ZV9oCiAK
ICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudC5o
PgorI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgogCiAjaWZkZWYgX19jcGx1c3BsdXMK
IGV4dGVybiAiQyIgewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCShyZXZp
c2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW5jbHVkZSA8c3RkYm9vbC5oPgogI2VuZGlmCiAKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tVc2VyQ29udGVudEluamVj
dGVkRnJhbWVzLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1VzZXJTY3JpcHRJbmplY3Rpb25UaW1l
Lmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9t
YWMvV0tOUEFQSVBsdWdJbkNvbnRhaW5lci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1dLTlBBUElQbHVnSW5Db250YWluZXIu
bW0JKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9tYWMvV0tOUEFQSVBsdWdJbkNvbnRhaW5lci5tbQkod29ya2luZyBjb3B5KQpA
QCAtNjQsNyArNjQsNyBAQCAtIChCT09MKW9wZW5QbHVnSW5QcmVmZXJlbmNlUGFuZQogICAgIGlm
ICghX3BsdWdpbikKICAgICAgICAgcmV0dXJuIE5POwogCi0jaWYgIVBMQVRGT1JNKElPUykKKyNp
ZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBfcGx1Z2luLT5vcGVuUGx1Z2luUHJl
ZmVyZW5jZVBhbmUoKTsKICAgICByZXR1cm4gWUVTOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCShyZXZpc2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTM3Myw3ICsxMzczLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6cmVkaXJlY3REYXRhVAogCiBQYXNzUmVmUHRyPFdpZGdldD4gV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQoY29uc3QgSW50U2l6ZSYgcGx1Z2luU2l6ZSwgSFRN
TEFwcGxldEVsZW1lbnQqIGFwcGxldEVsZW1lbnQsIGNvbnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBwYXJhbU5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WYWx1ZXMpCiB7
Ci0jaWYgIVBMQVRGT1JNKElPUykKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBSZWZQdHI8V2lkZ2V0PiBwbHVnaW4gPSBjcmVhdGVQbHVnaW4ocGx1Z2luU2l6ZSwgYXBwbGV0
RWxlbWVudCwgVVJMKCksIHBhcmFtTmFtZXMsIHBhcmFtVmFsdWVzLCBhcHBsZXRFbGVtZW50LT5z
ZXJ2aWNlVHlwZSgpLCBmYWxzZSk7CiAgICAgaWYgKCFwbHVnaW4pIHsKICAgICAgICAgaWYgKFdl
YlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCkpIHsKQEAgLTEzODUsNyArMTM4NSw3IEBA
IFBhc3NSZWZQdHI8V2lkZ2V0PiBXZWJGcmFtZUxvYWRlckNsaWVudDoKICAgICByZXR1cm4gcGx1
Z2luLnJlbGVhc2UoKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7Ci0jZW5kaWYgLy8gIVBMQVRGT1JN
KElPUykKKyNlbmRpZgogfQogCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYkluc3BlY3Rvck1h
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYkluc3BlY3Rvck1hYy5tbQkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JNYWMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTI2LDYgKzI2LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViSW5zcGVj
dG9yLmgiCiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRM
aW5raW5nLmg+CiAKIFNPRlRfTElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQ
cml2YXRlRnJhbWV3b3JrcywgQSkKQEAgLTU0LDMgKzU2LDUgQEAgU3RyaW5nIFdlYkluc3BlY3Rv
cjo6bG9jYWxpemVkU3RyaW5nc1VSTAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217867</attachid>
            <date>2013-11-25 23:53:32 -0800</date>
            <delta_ts>2013-11-26 11:35:45 -0800</delta_ts>
            <desc>Add includes and imports, and remove WTF-isms</desc>
            <filename>bug-124884-20131125235359.patch</filename>
            <type>text/plain</type>
            <size>25610</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTc3OSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDgyIEBACisyMDEzLTExLTI1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBXZWJLaXQyIGhlYWRlcnMg
YXJlIG5vdCBzZWxmLWNvbnRhaW5lZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI0ODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNl
Lmg6IEFkZGVkIGltcG9ydC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaDogRGl0dG8uCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1l
bnVJdGVtVHlwZXMuaDogQWRkZWQgaW5jbHVkZS4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tG
aW5kT3B0aW9ucy5oOiBEaXR0by4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJy
YXkuaDogRGl0dG8uCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLUGFnZUxvYWRUeXBlcy5oOiBE
aXR0by4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmg6IERp
dHRvLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLUGx1Z2luSW5mb3JtYXRpb24uY3BwOgor
ICAgICAgICAoV0tQbHVnaW5JbmZvcm1hdGlvbkJ1bmRsZUlkZW50aWZpZXJLZXkpOiBNYWRlIHRo
aXMgQVBJIGZ1bmN0aW9uIGFsd2F5cyBiZSBkZWZpbmVkLiBXaGVuCisgICAgICAgIHRoZSBOZXRz
Y2FwZSBwbHVnLWluIEFQSSBpcyBub3QgZW5hYmxlZCwgaXQgcmV0dXJucyAwLgorICAgICAgICAo
V0tQbHVnaW5JbmZvcm1hdGlvbkJ1bmRsZVZlcnNpb25LZXkpOiBEaXR0by4KKyAgICAgICAgKFdL
UGx1Z2luSW5mb3JtYXRpb25CdW5kbGVTaG9ydFZlcnNpb25LZXkpOiBEaXR0by4KKyAgICAgICAg
KFdLUGx1Z2luSW5mb3JtYXRpb25QYXRoS2V5KTogRGl0dG8uCisgICAgICAgIChXS1BsdWdpbklu
Zm9ybWF0aW9uRGlzcGxheU5hbWVLZXkpOiBEaXR0by4KKyAgICAgICAgKFdLUGx1Z2luSW5mb3Jt
YXRpb25EZWZhdWx0TG9hZFBvbGljeUtleSk6IERpdHRvLgorICAgICAgICAoV0tQbHVnaW5JbmZv
cm1hdGlvblVwZGF0ZVBhc3RMYXN0QmxvY2tlZFZlcnNpb25Jc0tub3duQXZhaWxhYmxlS2V5KTog
RGl0dG8uCisgICAgICAgIChXS1BsdWdpbkluZm9ybWF0aW9uSGFzU2FuZGJveFByb2ZpbGVLZXkp
OiBEaXR0by4KKyAgICAgICAgKFdLUGx1Z2luSW5mb3JtYXRpb25GcmFtZVVSTEtleSk6IERpdHRv
LgorICAgICAgICAoV0tQbHVnaW5JbmZvcm1hdGlvbk1JTUVUeXBlS2V5KTogRGl0dG8uCisgICAg
ICAgIChXS1BsdWdpbkluZm9ybWF0aW9uUGFnZVVSTEtleSk6IERpdHRvLgorICAgICAgICAoV0tQ
bHVnaW5JbmZvcm1hdGlvblBsdWdpbnNwYWdlQXR0cmlidXRlVVJMS2V5KTogRGl0dG8uCisgICAg
ICAgIChXS1BsdWdpbkluZm9ybWF0aW9uUGx1Z2luVVJMS2V5KTogRGl0dG8uCisgICAgICAgIChX
S1BsdWdJbkluZm9ybWF0aW9uUmVwbGFjZW1lbnRPYnNjdXJlZEtleSk6IERpdHRvLgorCisgICAg
ICAgICogU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmg6IEFkZGVkIGluY2x1ZGUuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbFR5cGVzLmg6IERpdHRvLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VDb250ZXh0TWVudUNsaWVudC5oOiBEaXR0by4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50Lmg6IEFkZGVkIGluY2x1ZGVzLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQb2xpY3lDbGllbnQuaDogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50Lmg6IERpdHRvLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyR2V0VHlwZUlEKTogRml4ZWQgdGhlICFFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkgYnVpbGQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
bWFjL1dLQ29udGV4dFByaXZhdGVNYWMuaDogUmVtb3ZlZCB1c2Ugb2YgRU5BQkxFKCkgZnJvbSB0
aGlzIHByaXZhdGUKKyAgICAgICAgaGVhZGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9t
YWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbToKKyAgICAgICAgKFdLQ29udGV4dENvcHlQbHVnSW5J
bmZvRm9yQnVuZGxlSWRlbnRpZmllcik6IE1hZGUgdGhpcyBBUEkgZnVuY3Rpb24gYWx3YXlzIGJl
IGRlZmluZWQuCisgICAgICAgIFdoZW4gdGhlIE5ldHNjYXBlIHBsdWctaW4gQVBJIGlzIG5vdCBl
bmFibGVkLCBpdCByZXR1cm5zIDAuCisgICAgICAgIChXS0NvbnRleHRHZXRJbmZvRm9ySW5zdGFs
bGVkUGx1Z0lucyk6IE1hZGUgdGhpcyBBUEkgZnVuY3Rpb24gYWx3YXlzIGJlIGRlZmluZWQuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOiBB
ZGRlZCBpbXBvcnRzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0
ZU1hYy5oOiBBZGRlZCBpbmNsdWRlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tC
YWNrRm9yd2FyZExpc3RJdGVtLmg6IEFkZGVkIGltcG9ydC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9jcHAvV0tSZXRhaW5QdHIuaDogUmVwbGFjZWQgdXNlIG9mIFdBUk5fVU5VU0VEX1JFVFVS
TiBpbiB0aGlzIHByaXZhdGUgaGVhZGVyCisgICAgICAgIHdpdGggYW4gZXF1aXZhbGVudCBtYWNy
byBkZWZpbmVkIGluIHRoZSBoZWFkZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmg6IEFkZGVkIGluY2x1ZGUuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5j
cHA6CisgICAgICAgIChXS0J1bmRsZUluc3BlY3RvckdldFR5cGVJRCk6IE1hZGUgdGhpcyBBUEkg
ZnVuY3Rpb24gYWx3YXlzIGJlIGRlZmluZWQuIFdoZW4gdGhlIEluc3BlY3RvcgorICAgICAgICBp
cyBub3QgZW5hYmxlZCwgaXQgcmV0dXJucyB0aGUgTnVsbCB0eXBlLgorICAgICAgICAoV0tCdW5k
bGVJbnNwZWN0b3JTaG93KTogTWFkZSB0aGlzIEFQSSBmdW5jdGlvbiBhbHdheXMgYmUgZGVmaW5l
ZC4KKyAgICAgICAgKFdLQnVuZGxlSW5zcGVjdG9yQ2xvc2UpOiBEaXR0by4KKyAgICAgICAgKFdL
QnVuZGxlSW5zcGVjdG9yRXZhbHVhdGVTY3JpcHRGb3JUZXN0KTogRGl0dG8uCisgICAgICAgIChX
S0J1bmRsZUluc3BlY3RvclNldFBhZ2VQcm9maWxpbmdFbmFibGVkKTogRGl0dG8uCisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5oOiBS
ZW1vdmVkIHVzZSBvZiBFTkFCTEUoKSBmcm9tIHRoaXMKKyAgICAgICAgcHJpdmF0ZSBoZWFkZXIu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZVByaXZhdGUuaDogQWRkZWQgaW5jbHVkZXMuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDogQWRkZWQgaW5jbHVkZS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvV0tOUEFQSVBsdWdJbkNvbnRhaW5l
ci5tbToKKyAgICAgICAgKC1bV0tOUEFQSVBsdWdJbkNvbnRhaW5lciBvcGVuUGx1Z0luUHJlZmVy
ZW5jZVBhbmVdKTogRml4ZWQgdGhlICFFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyAgICAg
ICAgYnVpbGQuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmNyZWF0ZUphdmFBcHBsZXRXaWRnZXQpOiBEaXR0by4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV2ViSW5zcGVjdG9yTWFjLm1tOiBGaXhlZCB0aGUgIUVOQUJMRShJTlNQRUNU
T1IpIGJ1aWxkLgorCiAyMDEzLTExLTI1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NvY29hXSBVc2UgY2xhc3MgZXh0ZW5zaW9ucyBmb3IgSVBJCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9i
amVjdEludGVyZmFjZS5oCShyZXZpc2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDggQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgorCiBXS19BUElfQ0xBU1MKIEBpbnRlcmZhY2UgV0tSZW1vdGVPYmpl
Y3RJbnRlcmZhY2UgOiBOU09iamVjdAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaAkocmV2aXNpb24g
MTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVj
dFJlZ2lzdHJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKIAogI2lmIFdLX0FQ
SV9FTkFCTEVECiAKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCiBAY2xhc3Mg
V0tSZW1vdGVPYmplY3RJbnRlcmZhY2U7CiAKIFdLX0FQSV9DTEFTUwpJbmRleDogU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCShy
ZXZpc2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0
TWVudUl0ZW1UeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVm
IFdLQ29udGV4dE1lbnVJdGVtVHlwZXNfaAogI2RlZmluZSBXS0NvbnRleHRNZW51SXRlbVR5cGVz
X2gKIAorI2luY2x1ZGUgPHN0ZGludC5oPgorCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAi
QyIgewogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tGaW5kT3B0
aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ZpbmRP
cHRpb25zLmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS0ZpbmRPcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5k
ZWYgV0tGaW5kT3B0aW9uc19oCiAjZGVmaW5lIFdLRmluZE9wdGlvbnNfaAogCisjaW5jbHVkZSA8
c3RkaW50Lmg+CisKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oCShyZXZp
c2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJy
YXkuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBXS011dGFibGVB
cnJheV9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPHN0ZGRlZi5o
PgogCiAjaWZuZGVmIF9fY3BsdXNwbHVzCiAjaW5jbHVkZSA8c3RkYm9vbC5oPgpJbmRleDogU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZUxvYWRUeXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1BhZ2VMb2FkVHlwZXMuaAkocmV2aXNpb24g
MTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZUxvYWRUeXBlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVmIFdLUGFnZUxvYWRUeXBl
c19oCiAjZGVmaW5lIFdLUGFnZUxvYWRUeXBlc19oCiAKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNlbmRpZgpJbmRleDogU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZVZpc2liaWxpdHlUeXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1BhZ2VWaXNpYmlsaXR5VHlwZXMuaAkocmV2
aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGFnZVZpc2li
aWxpdHlUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVmIFdL
UGFnZVZpc2liaWxpdHlUeXBlc19oCiAjZGVmaW5lIFdLUGFnZVZpc2liaWxpdHlUeXBlc19oCiAK
KyNpbmNsdWRlIDxzdGRpbnQuaD4KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLUGx1Z2luSW5mb3Jt
YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1Bs
dWdpbkluZm9ybWF0aW9uLmNwcAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLUGx1Z2luSW5mb3JtYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV0tQbHVnaW5JbmZv
cm1hdGlvbi5oIgogCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0KICNpbmNsdWRl
ICJQbHVnaW5JbmZvcm1hdGlvbi5oIgogI2luY2x1ZGUgIldLU2hhcmVkQVBJQ2FzdC5oIgogI2lu
Y2x1ZGUgIldlYlN0cmluZy5oIgpAQCAtMzYsODUgKzM0LDE0MCBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlSWRlbnRpZmll
cktleSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdl
YlN0cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25CdW5kbGVJ
ZGVudGlmaWVyS2V5KCkpLmxlYWtSZWYoKTsKICAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyNlbHNl
CisgICAgcmV0dXJuIDA7CisjZW5kaWYKIH0KIAogV0tTdHJpbmdSZWYgV0tQbHVnaW5JbmZvcm1h
dGlvbkJ1bmRsZVZlcnNpb25LZXkoKQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbklu
Zm9ybWF0aW9uQnVuZGxlVmVyc2lvbktleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJ
KGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdL
UGx1Z2luSW5mb3JtYXRpb25CdW5kbGVTaG9ydFZlcnNpb25LZXkoKQogeworI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmlu
Zzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uQnVuZGxlU2hvcnRWZXJzaW9uS2V5KCkpLmxlYWtS
ZWYoKTsKICAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5k
aWYKIH0KIAogV0tTdHJpbmdSZWYgV0tQbHVnaW5JbmZvcm1hdGlvblBhdGhLZXkoKQogeworI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9
IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uUGF0aEtleSgpKS5sZWFrUmVmKCk7
CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9
CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25EaXNwbGF5TmFtZUtleSgpCiB7Cisj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0cmluZyoga2V5
ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25EaXNwbGF5TmFtZUtleSgpKS5s
ZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOwor
I2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25EZWZhdWx0TG9hZFBv
bGljeUtleSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGlj
IFdlYlN0cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25EZWZh
dWx0TG9hZFBvbGljeUtleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7Cisj
ZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5m
b3JtYXRpb25VcGRhdGVQYXN0TGFzdEJsb2NrZWRWZXJzaW9uSXNLbm93bkF2YWlsYWJsZUtleSgp
CiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0cmlu
Zyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25VcGRhdGVQYXN0TGFz
dEJsb2NrZWRWZXJzaW9uSXNLbm93bkF2YWlsYWJsZUtleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0
dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3Ry
aW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25IYXNTYW5kYm94UHJvZmlsZUtleSgpCiB7CisjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0cmluZyoga2V5ID0g
V2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25IYXNTYW5kYm94UHJvZmlsZUtleSgp
KS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAw
OworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25GcmFtZVVSTEtl
eSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdlYlN0
cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25GcmFtZVVSTEtl
eSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVy
biAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25NSU1FVHlw
ZUtleSgpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgc3RhdGljIFdl
YlN0cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25NSU1FVHlw
ZUtleSgpKS5sZWFrUmVmKCk7CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJl
dHVybiAwOworI2VuZGlmCiB9CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25QYWdl
VVJMS2V5KCkKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBzdGF0aWMg
V2ViU3RyaW5nKiBrZXkgPSBXZWJTdHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvblBhZ2VV
UkxLZXkoKSkubGVha1JlZigpOwogICAgIHJldHVybiB0b0FQSShrZXkpOworI2Vsc2UKKyAgICBy
ZXR1cm4gMDsKKyNlbmRpZgogfQogCiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uUGx1
Z2luc3BhZ2VBdHRyaWJ1dGVVUkxLZXkoKQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdp
bkluZm9ybWF0aW9uUGx1Z2luc3BhZ2VBdHRyaWJ1dGVVUkxLZXkoKSkubGVha1JlZigpOwogICAg
IHJldHVybiB0b0FQSShrZXkpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgogfQogCiBX
S1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uUGx1Z2luVVJMS2V5KCkKIHsKKyNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBzdGF0aWMgV2ViU3RyaW5nKiBrZXkgPSBXZWJT
dHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvblBsdWdpblVSTEtleSgpKS5sZWFrUmVmKCk7
CiAgICAgcmV0dXJuIHRvQVBJKGtleSk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9
CiAKIFdLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb3JtYXRpb25SZXBsYWNlbWVudE9ic2N1cmVkS2V5
KCkKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBzdGF0aWMgV2ViU3Ry
aW5nKiBrZXkgPSBXZWJTdHJpbmc6OmNyZWF0ZShwbHVnSW5JbmZvcm1hdGlvblJlcGxhY2VtZW50
T2JzY3VyZWRLZXkoKSkubGVha1JlZigpOwogICAgIHJldHVybiB0b0FQSShrZXkpOworI2Vsc2UK
KyAgICByZXR1cm4gMDsKKyNlbmRpZgogfQotI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVH
SU5fQVBJKQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmgJKHJldmlz
aW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFdLU3RyaW5nX2gKIAogI2lu
Y2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CiAKICNpZm5kZWYg
X19jcGx1c3BsdXMKICNpbmNsdWRlIDxzdGRib29sLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDcmVkZW50aWFsVHlwZXMuaAkocmV2aXNpb24gMTU5
Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ3JlZGVudGlhbFR5cGVz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5kZWYgV0tDcmVkZW50aWFs
VHlwZXNfaAogI2RlZmluZSBXS0NyZWRlbnRpYWxUeXBlc19oCiAKKyNpbmNsdWRlIDxzdGRpbnQu
aD4KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUNvbnRleHRN
ZW51Q2xpZW50LmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2VDb250ZXh0TWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiAjZGVmaW5lIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50X2gKIAogI2luY2x1ZGUg
PFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5Lmg+CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZUxvYWRlckNsaWVudC5oCShyZXZpc2lvbiAxNTk3
NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTG9hZGVyQ2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNkZWZpbmUgV0tQYWdlTG9hZGVy
Q2xpZW50X2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0
Mi9XS0Vycm9yLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2VMb2FkVHlwZXMuaD4KIAogI2lm
ZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VQb2xpY3lDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUG9saWN5Q2xpZW50LmgJKHJldmlzaW9uIDE1OTc3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQb2xpY3lDbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOCBAQAogI2RlZmluZSBXS1BhZ2VQb2xpY3lD
bGllbnRfaAogCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQy
L1dLRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZUxvYWRUeXBlcy5oPgogCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw2ICsyNyw5IEBACiAjZGVmaW5lIFdLUGFnZVVJQ2xpZW50X2gKIAogI2luY2x1
ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0V2ZW50Lmg+CisjaW5j
bHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5Lmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS05hdGl2ZUV2
ZW50Lmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BsdWdpblNpdGVEYXRh
TWFuYWdlci5jcHAJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDcgKzQxLDcgQEAgV0tUeXBlSUQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRUeXBlSQogI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHJldHVybiB0b0FQSShXZWJQbHVnaW5T
aXRlRGF0YU1hbmFnZXI6OkFQSVR5cGUpOwogI2Vsc2UKLSAgICByZXR1cm4gQVBJOjpPYmplY3Q6
OlR5cGU6Ok51bGw7CisgICAgcmV0dXJuIHRvQVBJKEFQSTo6T2JqZWN0OjpUeXBlOjpOdWxsKTsK
ICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dL
Q29udGV4dFByaXZhdGVNYWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVNYWMuaAkocmV2aXNpb24gMTU5Nzc0KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0
U2V0UHJvY2Vzc1N1cHByZQogCiBXS19FWFBPUlQgYm9vbCBXS0NvbnRleHRJc1BsdWdJblVwZGF0
ZUF2YWlsYWJsZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgcGx1Z0luQnVuZGxl
SWRlbnRpZmllcik7CiAKLSNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLQogV0tfRVhQ
T1JUIFdLRGljdGlvbmFyeVJlZiBXS0NvbnRleHRDb3B5UGx1Z0luSW5mb0ZvckJ1bmRsZUlkZW50
aWZpZXIoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHBsdWdJbkJ1bmRsZUlkZW50
aWZpZXIpOwogCiB0eXBlZGVmIHZvaWQgKF5XS0NvbnRleHRHZXRJbmZvRm9ySW5zdGFsbGVkUGx1
Z0luc0Jsb2NrKShXS0FycmF5UmVmLCBXS0Vycm9yUmVmKTsKQEAgLTY2LDggKzY0LDYgQEAgV0tf
RVhQT1JUIFdLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb1VwZGF0ZQogLyogVmFsdWUgdHlwZTogV0tC
b29sZWFuUmVmICovCiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQbHVnSW5JbmZvSXNTYW5kYm94
ZWRLZXkoKTsKIAotI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbQkocmV2aXNp
b24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRl
eHRQcml2YXRlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MywyMCArNjMsMjMgQEAgYm9vbCBX
S0NvbnRleHRJc1BsdWdJblVwZGF0ZUF2YWlsYWJsZShXSwogI2VuZGlmCiB9CiAKLSNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLQogV0tEaWN0aW9uYXJ5UmVmIFdLQ29udGV4dENvcHlQ
bHVnSW5JbmZvRm9yQnVuZGxlSWRlbnRpZmllcihXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tT
dHJpbmdSZWYgcGx1Z0luQnVuZGxlSWRlbnRpZmllclJlZikKIHsKKyNpZiBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKICAgICBQbHVnaW5Nb2R1bGVJbmZvIHBsdWdpbiA9IHRvSW1wbChjb250
ZXh0UmVmKS0+cGx1Z2luSW5mb1N0b3JlKCkuZmluZFBsdWdpbldpdGhCdW5kbGVJZGVudGlmaWVy
KHRvV1RGU3RyaW5nKHBsdWdJbkJ1bmRsZUlkZW50aWZpZXJSZWYpKTsKICAgICBpZiAocGx1Z2lu
LnBhdGguaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgUmVmUHRyPEltbXV0YWJs
ZURpY3Rpb25hcnk+IGRpY3Rpb25hcnkgPSBjcmVhdGVQbHVnaW5JbmZvcm1hdGlvbkRpY3Rpb25h
cnkocGx1Z2luKTsKICAgICByZXR1cm4gdG9BUEkoZGljdGlvbmFyeS5yZWxlYXNlKCkubGVha1Jl
ZigpKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKIH0KIAogdm9pZCBXS0NvbnRleHRH
ZXRJbmZvRm9ySW5zdGFsbGVkUGx1Z0lucyhXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tDb250
ZXh0R2V0SW5mb0Zvckluc3RhbGxlZFBsdWdJbnNCbG9jayBibG9jaykKIHsKKyNpZiBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBWZWN0b3I8UGx1Z2luTW9kdWxlSW5mbz4gcGx1Z2lu
cyA9IHRvSW1wbChjb250ZXh0UmVmKS0+cGx1Z2luSW5mb1N0b3JlKCkucGx1Z2lucygpOwogCiAg
ICAgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IHBsdWdpbkluZm9EaWN0aW9uYXJpZXM7CkBA
IC05Myw2ICs5Niw3IEBAIHZvaWQgV0tDb250ZXh0R2V0SW5mb0Zvckluc3RhbGxlZFBsdWdJbnMK
ICAgICAKICAgICAgICAgdG9JbXBsKGNvbnRleHRSZWYpLT5kZXJlZigpOwogICAgIH0pOworI2Vu
ZGlmCiB9CiAKIHZvaWQgV0tDb250ZXh0UmVzZXRIU1RTSG9zdHMoV0tDb250ZXh0UmVmIGNvbnRl
eHQpCkBAIC0xMzIsNSArMTM2LDMgQEAgV0tTdHJpbmdSZWYgV0tQbHVnSW5JbmZvSXNTYW5kYm94
ZWRLZXkoKQogewogICAgIHJldHVybiBXS1BsdWdpbkluZm9ybWF0aW9uSGFzU2FuZGJveFByb2Zp
bGVLZXkoKTsKIH0KLQotI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0luc3BlY3RvclByaXZhdGVN
YWMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dL
SW5zcGVjdG9yUHJpdmF0ZU1hYy5oCShyZXZpc2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMyw4ICsyMyw5IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI2lmbmRlZiBXS0luc3BlY3RvclByaXZhdGVNYWNfaAotI2RlZmluZSBXS0luc3Bl
Y3RvclByaXZhdGVNYWNfaAorI2ltcG9ydCA8QXBwS2l0L05TV2luZG93Lmg+CisjaW1wb3J0IDxX
ZWJLaXQyL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmg+CisjaW1wb3J0IDxXZWJLaXQyL1dLSW5z
cGVjdG9yLmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC00NSw1ICs0
NiwzIEBAIFdLX0VYUE9SVCBAaW50ZXJmYWNlIFdLV2ViSW5zcGVjdG9yUHJveHkKICNpZmRlZiBf
X2NwbHVzcGx1cwogfQogI2VuZGlmCi0KLSNlbmRpZiAvLyBXS0luc3BlY3RvclByaXZhdGVNYWNf
aApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS1BhZ2VQcml2YXRl
TWFjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9X
S1BhZ2VQcml2YXRlTWFjLmgJKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9tYWMvV0tQYWdlUHJpdmF0ZU1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNyw3IEBACiAjZGVmaW5lIFdLUGFnZVByaXZhdGVNYWNfaAogCiAjaW5jbHVkZSA8V2Vi
S2l0Mi9XS0Jhc2UuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIAogI2lmZGVmIF9fY3BsdXNw
bHVzCiBleHRlcm4gIkMiIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaAkocmV2aXNpb24gMTU5
Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJk
TGlzdEl0ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBAQAogCiAjaWYgV0tfQVBJ
X0VOQUJMRUQKIAorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKIFdLX0FQSV9D
TEFTUwogQGludGVyZmFjZSBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gOiBOU09iamVjdAogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRhdGEuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdh
dGlvbkRhdGEuaAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS05hdmlnYXRpb25EYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMx
LDggQEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgorCiBXS19BUElfQ0xBU1MKIEBpbnRlcmZhY2UgV0tOYXZpZ2F0aW9uRGF0YSA6IE5T
T2JqZWN0CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWlu
UHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAvV0tS
ZXRhaW5QdHIuaAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9jcHAvV0tSZXRhaW5QdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMjI5LDcgKzIyOSwxNSBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgCiAgICAgcmV0dXJuIGEg
IT0gYi5nZXQoKTsgCiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBXS1JldGFpblB0
cjxUPiBhZG9wdFdLKFQpIFdBUk5fVU5VU0VEX1JFVFVSTjsKKyNpZiBkZWZpbmVkKF9fR05VQ19f
KSAmJiAhKGRlZmluZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19fKSkKKyNkZWZpbmUg
V0tfV0FSTl9VTlVTRURfUkVUVVJOIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkp
CisjZWxzZQorI2RlZmluZSBXS19XQVJOX1VOVVNFRF9SRVRVUk4KKyNlbmRpZgorCit0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgV0tSZXRhaW5QdHI8VD4gYWRvcHRXSyhUKSBXS19XQVJOX1VO
VVNFRF9SRVRVUk47CisKKyN1bmRlZiBXS19XQVJOX1VOVVNFRF9SRVRVUk4KIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gaW5saW5lIFdLUmV0YWluUHRyPFQ+IGFkb3B0V0soVCBvKSAKIHsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVG
cmFtZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmgJKHJldmlzaW9uIDE1OTc3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVGcmFtZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgogI2luY2x1ZGUgPFdlYktpdDIv
V0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0dlb21ldHJ5Lmg+CiAKICNpZm5kZWYgX19j
cGx1c3BsdXMKICNpbmNsdWRlIDxzdGRib29sLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSW5zcGVjdG9yLmNwcAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXS0J1bmRsZUluc3BlY3Rvci5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgogI2luY2x1
ZGUgIldlYkluc3BlY3Rvci5oIgpAQCAtMzcsMzAgKzM1LDQwIEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKIFdLVHlwZUlEIFdLQnVuZGxlSW5zcGVjdG9yR2V0VHlwZUlEKCkKIHsKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVybiB0b0FQSShXZWJJbnNwZWN0b3I6OkFQSVR5cGUp
OworI2Vsc2UKKyAgICByZXR1cm4gdG9BUEkoQVBJOjpPYmplY3Q6OlR5cGU6Ok51bGwpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTaG93KFdLQnVuZGxlSW5zcGVjdG9yUmVm
IGluc3BlY3RvclJlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKGluc3BlY3RvclJlZiktPnNob3co
KTsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIHRvSW1wbChpbnNwZWN0b3JSZWYpLT5zaG93
KCk7CisjZW5kaWYKIH0KIAogdm9pZCBXS0J1bmRsZUluc3BlY3RvckNsb3NlKFdLQnVuZGxlSW5z
cGVjdG9yUmVmIGluc3BlY3RvclJlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKGluc3BlY3RvclJl
ZiktPmNsb3NlKCk7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICB0b0ltcGwoaW5zcGVjdG9y
UmVmKS0+Y2xvc2UoKTsKKyNlbmRpZgogfQogCiB2b2lkIFdLQnVuZGxlSW5zcGVjdG9yRXZhbHVh
dGVTY3JpcHRGb3JUZXN0KFdLQnVuZGxlSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZiwgbG9uZyBj
YWxsSUQsIFdLU3RyaW5nUmVmIHNjcmlwdCkKIHsKLSAgICByZXR1cm4gdG9JbXBsKGluc3BlY3Rv
clJlZiktPmV2YWx1YXRlU2NyaXB0Rm9yVGVzdChjYWxsSUQsIHRvV1RGU3RyaW5nKHNjcmlwdCkp
OworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgdG9JbXBsKGluc3BlY3RvclJlZiktPmV2YWx1
YXRlU2NyaXB0Rm9yVGVzdChjYWxsSUQsIHRvV1RGU3RyaW5nKHNjcmlwdCkpOworI2VuZGlmCiB9
CiAKIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTZXRQYWdlUHJvZmlsaW5nRW5hYmxlZChXS0J1bmRs
ZUluc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYsIGJvb2wgZW5hYmxlZCkKIHsKKyNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChlbmFibGVkKQogICAgICAgICB0b0ltcGwoaW5zcGVjdG9yUmVm
KS0+c3RhcnRQYWdlUHJvZmlsaW5nKCk7CiAgICAgZWxzZQogICAgICAgICB0b0ltcGwoaW5zcGVj
dG9yUmVmKS0+c3RvcFBhZ2VQcm9maWxpbmcoKTsKKyNlbmRpZgogfQotCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmgJ
KHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCAr
MjgsNiBAQAogCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpZm5kZWYgX19jcGx1c3BsdXMKICNpbmNsdWRlIDxzdGRib29sLmg+CiAjZW5k
aWYKQEAgLTUwLDcgKzQ4LDUgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTZXRQ
YWdlUAogfQogI2VuZGlmCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYg
Ly8gV0tCdW5kbGVJbnNwZWN0b3JfaAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZVByaXZhdGUuaAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNkZWZpbmUgV0tCdW5kbGVQYWdlUHJpdmF0ZV9oCiAK
ICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tFdmVudC5o
PgorI2luY2x1ZGUgPFdlYktpdDIvV0tHZW9tZXRyeS5oPgogCiAjaWZkZWYgX19jcGx1c3BsdXMK
IGV4dGVybiAiQyIgewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCShyZXZp
c2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW5jbHVkZSA8c3RkYm9vbC5oPgogI2VuZGlmCiAKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU0Jhc2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVXNlckNvbnRlbnRJbmplY3RlZEZyYW1l
cy5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZS5oPgogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1dLTlBB
UElQbHVnSW5Db250YWluZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9XS05QQVBJUGx1Z0luQ29udGFpbmVyLm1tCShyZXZp
c2lvbiAxNTk3NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvbWFjL1dLTlBBUElQbHVnSW5Db250YWluZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTY0LDcg
KzY0LDcgQEAgLSAoQk9PTClvcGVuUGx1Z0luUHJlZmVyZW5jZVBhbmUKICAgICBpZiAoIV9wbHVn
aW4pCiAgICAgICAgIHJldHVybiBOTzsKIAotI2lmICFQTEFURk9STShJT1MpCisjaWYgRU5BQkxF
KE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgX3BsdWdpbi0+b3BlblBsdWdpblByZWZlcmVuY2VQ
YW5lKCk7CiAgICAgcmV0dXJuIFlFUzsKICNlbHNlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcAkocmV2aXNpb24gMTU5Nzc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzNzMsNyArMTM3Myw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnJlZGly
ZWN0RGF0YVQKIAogUGFzc1JlZlB0cjxXaWRnZXQ+IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVh
dGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IEludFNpemUmIHBsdWdpblNpemUsIEhUTUxBcHBsZXRF
bGVtZW50KiBhcHBsZXRFbGVtZW50LCBjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYg
cGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtVmFsdWVzKQogewotI2lmICFQ
TEFURk9STShJT1MpCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgUmVmUHRy
PFdpZGdldD4gcGx1Z2luID0gY3JlYXRlUGx1Z2luKHBsdWdpblNpemUsIGFwcGxldEVsZW1lbnQs
IFVSTCgpLCBwYXJhbU5hbWVzLCBwYXJhbVZhbHVlcywgYXBwbGV0RWxlbWVudC0+c2VydmljZVR5
cGUoKSwgZmFsc2UpOwogICAgIGlmICghcGx1Z2luKSB7CiAgICAgICAgIGlmIChXZWJQYWdlKiB3
ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgpKSB7CkBAIC0xMzg1LDcgKzEzODUsNyBAQCBQYXNzUmVm
UHRyPFdpZGdldD4gV2ViRnJhbWVMb2FkZXJDbGllbnQ6CiAgICAgcmV0dXJuIHBsdWdpbi5yZWxl
YXNlKCk7CiAjZWxzZQogICAgIHJldHVybiAwOwotI2VuZGlmIC8vICFQTEFURk9STShJT1MpCisj
ZW5kaWYKIH0KIAogI2lmIEVOQUJMRShQTFVHSU5fUFJPWFlfRk9SX1ZJREVPKQpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNw
ZWN0b3JNYWMubW0JKHJldmlzaW9uIDE1OTc3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvV2ViSW5zcGVjdG9yTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2
ICsyNiw4IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldlYkluc3BlY3Rvci5oIgog
CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5o
PgogCiBTT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNwZWN0b3JVSSwgUHJpdmF0ZUZy
YW1ld29ya3MsIEEpCkBAIC01NCwzICs1Niw1IEBAIFN0cmluZyBXZWJJbnNwZWN0b3I6OmxvY2Fs
aXplZFN0cmluZ3NVUkwKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQo=
</data>
<flag name="review"
          id="241084"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>