<?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>80487</bug_id>
          
          <creation_ts>2012-03-06 21:50:46 -0800</creation_ts>
          <short_desc>Move NotificationContents into Notification</short_desc>
          <delta_ts>2012-03-15 16:07:45 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80472</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>atwilson</cc>
    
    <cc>dglazkov</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>572523</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-06 21:50:46 -0800</bug_when>
    <thetext>Splitting out the data members for text notifications is unnecessary. Move those data members (title, body, URL) back into Notification, and remove NotificationContents from WebCore.

&lt;rdar://problem/10965519&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573418</commentid>
    <comment_count>1</comment_count>
      <attachid>130737</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-07 17:46:21 -0800</bug_when>
    <thetext>Created attachment 130737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573429</commentid>
    <comment_count>2</comment_count>
      <attachid>130737</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-07 17:57:30 -0800</bug_when>
    <thetext>Comment on attachment 130737
Patch

Attachment 130737 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11862037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573475</commentid>
    <comment_count>3</comment_count>
      <attachid>130737</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-07 18:52:57 -0800</bug_when>
    <thetext>Comment on attachment 130737
Patch

Attachment 130737 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11863083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573517</commentid>
    <comment_count>4</comment_count>
      <attachid>130737</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 19:58:25 -0800</bug_when>
    <thetext>Comment on attachment 130737
Patch

Attachment 130737 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11865076</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573566</commentid>
    <comment_count>5</comment_count>
      <attachid>130761</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-07 21:22:14 -0800</bug_when>
    <thetext>Created attachment 130761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573582</commentid>
    <comment_count>6</comment_count>
      <attachid>130761</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-07 21:40:42 -0800</bug_when>
    <thetext>Comment on attachment 130761
Patch

Attachment 130761 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11866121</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573583</commentid>
    <comment_count>7</comment_count>
      <attachid>130761</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-07 21:43:26 -0800</bug_when>
    <thetext>Comment on attachment 130761
Patch

Attachment 130761 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11861150</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573628</commentid>
    <comment_count>8</comment_count>
      <attachid>130772</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-07 22:44:05 -0800</bug_when>
    <thetext>Created attachment 130772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575542</commentid>
    <comment_count>9</comment_count>
      <attachid>131177</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 11:03:19 -0800</bug_when>
    <thetext>Created attachment 131177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575564</commentid>
    <comment_count>10</comment_count>
      <attachid>131186</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-10 13:18:50 -0800</bug_when>
    <thetext>Created attachment 131186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579569</commentid>
    <comment_count>11</comment_count>
      <attachid>131186</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2012-03-15 11:31:47 -0700</bug_when>
    <thetext>Comment on attachment 131186
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=131186&amp;action=review

&gt; Source/WebCore/notifications/Notification.h:77
&gt; +    KURL iconURL() { return m_icon; }

Please add const modifier.

&gt; Source/WebCore/notifications/Notification.h:79
&gt; +    void setTitle(const String&amp; title) { m_title = title; }

It seems that none is accessing setTitle and setBody now. Will they be used in the future patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579588</commentid>
    <comment_count>12</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-15 11:42:07 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 131186 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131186&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/notifications/Notification.h:77
&gt; &gt; +    KURL iconURL() { return m_icon; }
&gt; 
&gt; Please add const modifier.
Sure.

&gt; 
&gt; &gt; Source/WebCore/notifications/Notification.h:79
&gt; &gt; +    void setTitle(const String&amp; title) { m_title = title; }
&gt; 
&gt; It seems that none is accessing setTitle and setBody now. Will they be used in the future patch?
Not at this point. I can remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579848</commentid>
    <comment_count>13</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-03-15 16:07:45 -0700</bug_when>
    <thetext>Committed r110903: &lt;http://trac.webkit.org/changeset/110903&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130737</attachid>
            <date>2012-03-07 17:46:21 -0800</date>
            <delta_ts>2012-03-07 21:22:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80487-20120307174704.patch</filename>
            <type>text/plain</type>
            <size>21058</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNiNzVjNjRhZGE2NzY3
NTRhMDM1NmQyM2M3MTk5Y2FmZjA1NDI3OS4uZjU0ZDhjZTBlNjdkNDY5NDFkNGU1NDNiYjY0YzA3
NTY4NGMyOGFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTA3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRl
bnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU1MTk+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHA6IEFsdGVyIHNpZ25hdHVyZSBvZiBjb25zdHJ1Y3RvciB0
byB0YWtlIHRoZSBmaWVsZHMgZGlyZWN0bHkgaW5zdGVhZCBvZgorICAgICAgICBhIE5vdGlmaWNh
dGlvbkNvbnRlbnRzIGluc3RhbmNlLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpO
b3RpZmljYXRpb24pOiBEZXJpdmUgS1VSTCBmcm9tIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBp
Y29uLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3RpZmljYXRpb24pOiBS
ZW1vdmUgY29udGVudHMoKSBhY2Nlc3NvciBhbmQgcmVwbGFjZSB3aXRoIGdldC9zZXQgZm9yIHRp
dGxlIGFuZCBib2R5LiBpY29uVVJMKCkKKyAgICAgICAgYWxyZWFkeSBleGlzdGVkLCBidXQgdXNl
IGxvY2FsIHZhcmlhYmxlIGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBOb3RpZmljYXRpb25Db250
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6aWNvblVSTCk6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb246OnRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbjo6c2V0VGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpib2R5
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0Qm9keSk6CisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKTogUmVmYWN0b3IgdG8gdXNlIG5l
dyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6IFJlbW92ZWQuCisKKyAgICAgICAgUmVtb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmgg
ZnJvbSBwcm9qZWN0IGZpbGVzCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMTItMDMtMDcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtWOF1bUGVyZm9ybWFuY2VdIE9wdGltaXplIEVsZW1lbnQu
Zmlyc3RFbGVtZW50Q2hpbGQsIEVsZW1lbnQubGFzdEVsZW1lbnRDaGlsZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCAwNTJlYzEyYTg2MmYzNTQzYTA1YjAzODZkYTAzZTczMTYwYjJlNDE2Li5mMGIzNTM4
ZWU0MzIyNmE3NTdiNjYxOWY0MDY0NTkxNTczYmI4NzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTItMDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIE1vdmUgTm90aWZpY2F0aW9uQ29udGVudHMgaW50byBOb3RpZmljYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg3CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xMDk2NTUxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tOiBSZWZhY3Rv
ciB0byB1c2UgYWNjZXNzb3IgbWV0aG9kcyBvbiBOb3RpZmljYXRpb24uCisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvbiB0aXRsZV0pOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gYm9keV0p
OgorCiAyMDEyLTAzLTA2ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtNYWNdIFVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyBmb3IgaU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggM2YxY2Q0Y2JiMTQ2MzZkMzA1ODFhODFiNGMwODdiM2RlYTE0MmJlNS4uNTI3
ZWI4OWFkNmYwMTIxZTlkZjU1MWM0Y2FhZWMxOTcwN2E4MTQ0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEyLTAzLTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAg
ICAgICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTA5NjU1MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHkuY3BwOiBSZW1vdmUgZXh0cmFuZW91cyBpbmNsdWRlLgorICAgICAgICAq
IFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyk6IFJlZmFjdG9yIHRv
IHVzZSBhY2Nlc3NvciBtZXRob2RzIG9uIE5vdGlmaWNhdGlvbi4KKwogMjAxMi0wMy0wNyAgRGlu
dSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gQXV0aGVudGlj
YXRpb24gZGlhbG9nIGRvZXMgbm90IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDM0NzgyYmY4Mzc5ZDlmNzE1OWQ3ZThhNzVmN2Y5Y2E1ODlhNzk0ZDEuLjg4NWI3ZGU0Nzhl
NDE5MzBkNmY3NGNjNjg5NzFmZWNkY2FmZTI0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjgyMiw3ICsyODIyLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmggXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggN2ZhNDM0YmMyYTYz
OWQ4MDNkMmU0ODdhZWU2ZTRmMTQzYmM1YjA3NS4uZjgxNmJhOWU4OGY0ZTYxZWExNzY1ODI5NzU3
MjRhNjhhODgwODJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMDc4LDcgKzIwNzgsNiBAQCBIRUFERVJT
ICs9IFwKICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIFwKICAgICBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oIFwKICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blByZXNlbnRlci5oIFwKLSAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgg
XAogICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKICAgICBwYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmggXAogICAgIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZTlmY2UwNmU2NzRhZWYyMmI3MWRh
YjM4ODExNTliMDU2YTFlNGYwMi4uMzFmOTcxMTVkZTA2MTIwNzc2YzVlYWFlYjdiNDE0ZGY3ZTM3
M2QwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjA4LDcgKzIwOCw2IEBACiAgICAgICAgICAgICAn
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy93ZWJkYXRhYmFzZS9TdG9yYWdlVHJhY2tlci5oJywKICAgICAgICAg
ICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL1N0b3JhZ2VUcmFja2VyQ2xpZW50LmgnLAotICAgICAg
ICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCcsCiAgICAgICAgICAg
ICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgnLAogICAgICAgICAgICAg
J25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvQ2hyb21lLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCA2ZjViOGQyYjBiOWRjMThlNjBmNjJiN2I4MjdiNjM3YTAxMGYzOWQyLi40ZmI5
Yjc3MDIyZjg1N2Y2ZTg2ZjVkOWVjOGJkODZmYWU3MjVmZmNiIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTM1MzgsMTAgKzUzNTM4LDYgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cbm90aWZp
Y2F0aW9uc1xOb3RpZmljYXRpb25Db250ZW50cy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxub3RpZmljYXRpb25zXE5vdGlmaWNhdGlvblByZXNl
bnRlci5oIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwMzhkMWQyM2I1N2Q0Y2ZiMjM0MGNmNjYw
OWM1ZTI3MTQyNDUxZGVhLi5iOGU1N2FlMTAwMTMyODg1YmE4NWM3MjQ2NmFhYjIyNjdlM2FmMmVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC05MTgsNyArOTE4LDYgQEAKIAkJMzM1MDNDQzcxMDE3QTFCMTAwM0I0N0UxIC8qIE5v
dGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMzUwM0NDNjEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uLmNwcCAqLzsgfTsK
IAkJMzM5MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzkwQ0E1MTBGRkMx
NTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsgfTsKIAkJMzM5MENBNTYw
RkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5MENBNTIwRkZDMTU3QjAwOTIxOTYyIC8q
IE5vdGlmaWNhdGlvbkNlbnRlci5oICovOyB9OwotCQkzMzkwQ0E1ODBGRkMxNTdCMDA5MjE5NjIg
LyogTm90aWZpY2F0aW9uQ29udGVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMzOTBDQTU0MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25D
b250ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTMzOUI1QjYzMTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzOUI1QjYyMTMxREFBMzIw
MEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkzM0MwQ0NENDExMkM1RTYyMDBDRTA1N0QgLyogU2VjdXJl
VGV4dElucHV0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMzQzBDQ0QyMTEyQzVFNjIwMENFMDU3RCAvKiBTZWN1cmVUZXh0SW5wdXQuY3BwICovOyB9
OwogCQkzM0MwQ0NENTExMkM1RTYyMDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0MwQ0NEMzExMkM1RTYy
MDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0LmggKi87IH07CkBAIC03NzY5LDcgKzc3NjgsNiBA
QAogCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5vdGlmaWNhdGlvbkNlbnRlci5j
cHA7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzOTBDQTUyMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmlj
YXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm90aWZpY2F0
aW9uQ2VudGVyLmg7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzkwQ0E1MzBGRkMxNTdCMDA5MjE5NjIgLyog
Tm90aWZpY2F0aW9uQ2VudGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOb3RpZmljYXRp
b25DZW50ZXIuaWRsOyBwYXRoID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMzkwQ0E1NDBGRkMxNTdCMDA5MjE5NjIg
LyogTm90aWZpY2F0aW9uQ29udGVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTm90aWZpY2F0aW9uQ29udGVudHMuaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ29udGVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzM5QjVCNjIxMzFE
QUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzNDMENDRDIxMTJDNUU2MjAwQ0UwNTdEIC8qIFNlY3VyZVRleHRJbnB1dC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWN1cmVUZXh0SW5wdXQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0MwQ0NEMzExMkM1RTYyMDBDRTA1N0QgLyogU2Vj
dXJlVGV4dElucHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlY3VyZVRl
eHRJbnB1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQzNzQsNyArMTQzNzIs
NiBAQAogCQkJCTMzOTBDQTUxMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIu
Y3BwICovLAogCQkJCTMzOTBDQTUyMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50
ZXIuaCAqLywKIAkJCQkzMzkwQ0E1MzBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2Vu
dGVyLmlkbCAqLywKLQkJCQkzMzkwQ0E1NDBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9u
Q29udGVudHMuaCAqLywKIAkJCQkzMTI4Q0E2NzE0NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0
aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENBNkExNDczMzE2MzAwNzRDNzJBIC8qIE5v
dGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEg
LyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8sCkBAIC0yMzU0Niw3ICsyMzU0Myw2IEBACiAJ
CQkJQThFQTdFQkUwQTE5NDVEMDAwQThFRjVGIC8qIE5vdGF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTJDMEM0MTE0NkRDNkNDMDAxNkM5MTEgLyogTm90aWZpY2F0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMzkwQ0E1NjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVy
LmggaW4gSGVhZGVycyAqLywKLQkJCQkzMzkwQ0E1ODBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZp
Y2F0aW9uQ29udGVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMjhDQTZCMTQ3MzMxNjMwMDc0
QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMzUw
M0M5QTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5OEVCMUY5NTEzMTNGRTA1MDBEMEUxRUEgLyogTm90SW1wbGVtZW50ZWQuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCmluZGV4IDc0OTY0ZGM3N2FkYWQwODFjYjBlZjE5Y2E0NGFkNGE0OGUwODdlNzIuLjEy
ODNkNmIxNjU2MDA0YTM5YThlNDdmMWFlYTlkMzAxYjZlOWNmNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTM5LDcgKzM5LDYgQEAKICNp
bmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvbkNlbnRlci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgi
CiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgpAQCAtNzMsMTAgKzcyLDEx
IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjCiAgICAgbV9ub3RpZmljYXRpb25VUkwgPSB1cmw7
CiB9CiAKLU5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRl
bnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9u
Q29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcikKK05vdGlm
aWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYg
Ym9keSwgY29uc3QgS1VSTCYgaWNvblVSSSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcikKICAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9pc0hU
TUwoZmFsc2UpCi0gICAgLCBtX2NvbnRlbnRzKGNvbnRlbnRzKQorICAgICwgbV90aXRsZSh0aXRs
ZSkKKyAgICAsIG1fYm9keShib2R5KQogICAgICwgbV9zdGF0ZShJZGxlKQogICAgICwgbV9ub3Rp
ZmljYXRpb25DZW50ZXIocHJvdmlkZXIpCiB7CkBAIC05MCw2ICs5MCw4IEBAIE5vdGlmaWNhdGlv
bjo6Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2Ny
aXB0RXhlY3V0aW9uCiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KKworICAgIG1faWNvbiA9IGljb25VUkkuaXNFbXB0eSgpID8gS1VSTCgpIDogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5jb21wbGV0ZVVSTChpY29uVVJJKTsKIH0KIAogTm90aWZpY2F0
aW9uOjp+Tm90aWZpY2F0aW9uKCkgCkBAIC0xMDcsOSArMTA5LDkgQEAgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb24+IE5vdGlmaWNhdGlvbjo6Y3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhl
Y3V0aW9uQ28KICAgICByZXR1cm4gbm90aWZpY2F0aW9uLnJlbGVhc2UoKTsKIH0KIAotUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb24+IE5vdGlmaWNhdGlvbjo6Y3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlv
bkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhj
ZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcikg
CitQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gTm90aWZpY2F0aW9uOjpjcmVhdGUoY29uc3QgU3Ry
aW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkksIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpIAogeyAKLSAgICBSZWZQdHI8Tm90aWZp
Y2F0aW9uPiBub3RpZmljYXRpb24oYWRvcHRSZWYobmV3IE5vdGlmaWNhdGlvbihjb250ZW50cywg
Y29udGV4dCwgZWMsIHByb3ZpZGVyKSkpOworICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IG5vdGlm
aWNhdGlvbihhZG9wdFJlZihuZXcgTm90aWZpY2F0aW9uKHRpdGxlLCBib2R5LCBpY29uVVJJLCBj
b250ZXh0LCBlYywgcHJvdmlkZXIpKSk7CiAgICAgbm90aWZpY2F0aW9uLT5zdXNwZW5kSWZOZWVk
ZWQoKTsKICAgICByZXR1cm4gbm90aWZpY2F0aW9uLnJlbGVhc2UoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGRkMGQ2ZWQ4NGFkMzA3OWQ4
OGJhMDJhMDJiY2FjYzZhNjQ1Y2IzOWQuLmI1NjVjMTI4Yzc0N2Q5NjZmOWI1NTg2MmZkZDJiMjU5
NTViOTdjYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJF
dmVudFRhcmdldC5oIgogI2luY2x1ZGUgIktVUkwuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25D
b250ZW50cy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlRleHREaXJl
Y3Rpb24uaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCkBAIC02Miw3ICs2
MSw3IEBAIGNsYXNzIE5vdGlmaWNhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlv
bj4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1CiBwdWJsaWM6CiAgICAgTm90aWZpY2F0aW9u
KCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgS1VS
TCYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJiwgUGFzc1JlZlB0cjxO
b3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50
ZXI+IHByb3ZpZGVyKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0
ZShjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYg
aWNvblVSSSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgIAogICAgIHZpcnR1YWwgfk5v
dGlmaWNhdGlvbigpOwogCkBAIC03NSwxMCArNzQsMTEgQEAgcHVibGljOgogICAgIEtVUkwgdXJs
KCkgY29uc3QgeyByZXR1cm4gbV9ub3RpZmljYXRpb25VUkw7IH0KICAgICB2b2lkIHNldFVSTChL
VVJMIHVybCkgeyBtX25vdGlmaWNhdGlvblVSTCA9IHVybDsgfQogICAgIAotICAgIEtVUkwgaWNv
blVSTCgpIHsgcmV0dXJuIG1fY29udGVudHMuaWNvbjsgfQotICAgIAotICAgIGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHM7IH0K
LSAgICBOb3RpZmljYXRpb25Db250ZW50cyYgY29udGVudHMoKSB7IHJldHVybiBtX2NvbnRlbnRz
OyB9CisgICAgS1VSTCBpY29uVVJMKCkgeyByZXR1cm4gbV9pY29uOyB9CisgICAgU3RyaW5nIHRp
dGxlKCkgY29uc3QgeyByZXR1cm4gbV90aXRsZTsgfQorICAgIHZvaWQgc2V0VGl0bGUoY29uc3Qg
U3RyaW5nJiB0aXRsZSkgeyBtX3RpdGxlID0gdGl0bGU7IH0KKyAgICBTdHJpbmcgYm9keSgpIGNv
bnN0IHsgcmV0dXJuIG1fYm9keTsgfQorICAgIHZvaWQgc2V0Qm9keShjb25zdCBTdHJpbmcmIGJv
ZHkpIHsgbV9ib2R5ID0gYm9keTsgfQogCiAgICAgU3RyaW5nIGRpcigpIGNvbnN0IHsgcmV0dXJu
IG1fZGlyZWN0aW9uOyB9CiAgICAgdm9pZCBzZXREaXIoY29uc3QgU3RyaW5nJiBkaXIpIHsgbV9k
aXJlY3Rpb24gPSBkaXI7IH0KQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgTm90aWZpY2F0aW9uKGNvbnN0IEtVUkwmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
RXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPik7Ci0gICAgTm90
aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV4Y2VwdGlvbkNvZGUmLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4pOwor
ICAgIE5vdGlmaWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHks
IGNvbnN0IFN0cmluZyYgaWNvblVSSSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlv
bkNvZGUmLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4pOwogCiAgICAgLy8gRXZlbnRU
YXJnZXQgaW50ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYo
KTsgfQpAQCAtMTM5LDggKzEzOSwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoTG9hZGlu
ZygpOwogCiAgICAgYm9vbCBtX2lzSFRNTDsKKworICAgIC8vIFRleHQgbm90aWZpY2F0aW9ucy4K
KyAgICBLVVJMIG1faWNvbjsKKyAgICBTdHJpbmcgbV90aXRsZTsKKyAgICBTdHJpbmcgbV9ib2R5
OworICAgIC8vIEZJWE1FOiBEZXByZWNhdGUgSFRNTCBOb3RpZmljYXRpb25zLgogICAgIEtVUkwg
bV9ub3RpZmljYXRpb25VUkw7Ci0gICAgTm90aWZpY2F0aW9uQ29udGVudHMgbV9jb250ZW50czsK
IAogICAgIFN0cmluZyBtX2RpcmVjdGlvbjsKICAgICBTdHJpbmcgbV9yZXBsYWNlSWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5o
IGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRl
eCA0MDJjY2JhOTM4YjJmZWUwODFmOGE2YThkN2JlY2VmZjc4Y2MyNjkyLi5kY2MxMDA1YTJkYmU1
ZjM1ZWY2NDFmOTllZGRiMGI4YWZkM2RjMmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKLSNpbmNs
dWRlICJOb3RpZmljYXRpb25Db250ZW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KQEAgLTcxLDggKzcwLDcgQEAgcHVibGljOgogICAgICAgICAgICAgZWMgPSBJTlZBTElE
X1NUQVRFX0VSUjsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIE5v
dGlmaWNhdGlvbkNvbnRlbnRzIGNvbnRlbnRzKGljb25VUkkuaXNFbXB0eSgpID8gS1VSTCgpIDog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb21wbGV0ZVVSTChpY29uVVJJKSwgdGl0bGUsIGJv
ZHkpOwotICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uOjpjcmVhdGUoY29udGVudHMsIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSwgZWMsIHRoaXMpOworICAgICAgICByZXR1cm4gTm90aWZpY2F0
aW9uOjpjcmVhdGUodGl0bGUsIGJvZHksIGljb25VUkksIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgZWMsIHRoaXMpOwogICAgIH0KIAogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJlc2Vu
dGVyKCkgY29uc3QgeyByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXI7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTE4NmMxYzc4MjNmMmEwNTAyNDBiNzYwMDY1NTY5
NTJiYTQyOTE3My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgTm90aWZpY2F0aW9uQ29udGVudHNfaAot
I2RlZmluZSBOb3RpZmljYXRpb25Db250ZW50c19oCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKLQotI2luY2x1ZGUgIktVUkwuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgTm90aWZpY2F0aW9uQ29udGVudHMgeyAK
LXB1YmxpYzoKLSAgICBOb3RpZmljYXRpb25Db250ZW50cygpIHsgfQotICAgIE5vdGlmaWNhdGlv
bkNvbnRlbnRzKGNvbnN0IEtVUkwmIGljb25VcmwsIGNvbnN0IFN0cmluZyYgbm90aWZpY2F0aW9u
VGl0bGUsIGNvbnN0IFN0cmluZyYgbm90aWZpY2F0aW9uQm9keSkKLSAgICAgICAgOiBpY29uKGlj
b25VcmwpCi0gICAgICAgICwgdGl0bGUobm90aWZpY2F0aW9uVGl0bGUpCi0gICAgICAgICwgYm9k
eShub3RpZmljYXRpb25Cb2R5KQotICAgIHsgfQotCi0gICAgS1VSTCBpY29uOwotICAgIFN0cmlu
ZyB0aXRsZTsKLSAgICBTdHJpbmcgYm9keTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmIC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQotCi0jZW5kaWYgLy8gTm90aWZpY2F0
aW9uQ29udGVudHNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJO
b3RpZmljYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlv
bi5tbQppbmRleCA1NTczMzJjYmExYjA4Mjk5YzMzNGUxYTI1MjY4NjQzZDYwMTRlZTA2Li5kYmQ1
NDZkYTc0ZjAwMzJhMTU0NWYxYTZhMjk2N2Q0NWMwMGE2OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQpAQCAtODUsNyArODUsNyBAQCBOb3RpZmlj
YXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiB7CiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJldHVybiBjb3Jl
KHNlbGYpLT5jb250ZW50cygpLnRpdGxlOworICAgIHJldHVybiBjb3JlKHNlbGYpLT50aXRsZSgp
OwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwogI2VuZGlmCkBAIC05NSw3ICs5NSw3IEBAIE5vdGlm
aWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIHsKICNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7Ci0gICAgcmV0dXJuIGNv
cmUoc2VsZiktPmNvbnRlbnRzKCkuYm9keTsKKyAgICByZXR1cm4gY29yZShzZWxmKS0+Ym9keSgp
OwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlclByb3h5LmNwcAppbmRleCAyN2E4ODllMjYyNGVkM2E2ZTQ4YTkyMzgyYzEwYjJi
NmRlYzE5YTVlLi5kODA1MWE0MzhhN2M2MWQwZjNhNWVjZTFkNmM4NThhZmU3NDMzZTJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTMzLDcgKzMzLDYg
QEAKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRl
ICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1
ZGUgPFdlYkNvcmUvTm90aWZpY2F0aW9uQ29udGVudHMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdU
RjsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIuY3BwCmluZGV4IGEyNDlhMTM5ZTEyYmM5ODViNTgxMWYxYTgyMTJjMGFhZGU2N2JmNDAuLjE4
NGUwNGQ1MTFmYTI2MGE1YzBkYTAwMmUzY2U0Mjc1MTQ0NTFiMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTExNyw3ICsxMTcsNyBAQCBib29sIFdlYk5vdGlmaWNh
dGlvbk1hbmFnZXI6OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBh
Z2UpCiAgICAgTm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNh
dGlvbkNvbnRleHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCBWZWN0b3I8dWludDY0X3Q+KCkpLmZpcnN0OwogICAgIGl0LT5zZWNvbmQuYXBwZW5kKG5vdGlm
aWNhdGlvbklEKTsKICAgICAKLSAgICBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+Y29udGVu
dHMoKS50aXRsZSwgbm90aWZpY2F0aW9uLT5jb250ZW50cygpLmJvZHksIG5vdGlmaWNhdGlvbi0+
aWNvblVSTCgpLnN0cmluZygpLCBub3RpZmljYXRpb24tPnJlcGxhY2VJZCgpLCBub3RpZmljYXRp
b24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmco
KSwgbm90aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wcm9jZXNzLT5jb25u
ZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihu
b3RpZmljYXRpb24tPnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24t
Pmljb25VUkwoKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSwgbm90aWZpY2F0
aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5n
KCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOwogICAgIHJldHVybiB0cnVlOwog
I2Vsc2UKICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130761</attachid>
            <date>2012-03-07 21:22:14 -0800</date>
            <delta_ts>2012-03-07 22:44:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80487-20120307212256.patch</filename>
            <type>text/plain</type>
            <size>21163</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNiNzVjNjRhZGE2NzY3
NTRhMDM1NmQyM2M3MTk5Y2FmZjA1NDI3OS4uZjU0ZDhjZTBlNjdkNDY5NDFkNGU1NDNiYjY0YzA3
NTY4NGMyOGFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTA3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRl
bnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU1MTk+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHA6IEFsdGVyIHNpZ25hdHVyZSBvZiBjb25zdHJ1Y3RvciB0
byB0YWtlIHRoZSBmaWVsZHMgZGlyZWN0bHkgaW5zdGVhZCBvZgorICAgICAgICBhIE5vdGlmaWNh
dGlvbkNvbnRlbnRzIGluc3RhbmNlLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpO
b3RpZmljYXRpb24pOiBEZXJpdmUgS1VSTCBmcm9tIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBp
Y29uLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3RpZmljYXRpb24pOiBS
ZW1vdmUgY29udGVudHMoKSBhY2Nlc3NvciBhbmQgcmVwbGFjZSB3aXRoIGdldC9zZXQgZm9yIHRp
dGxlIGFuZCBib2R5LiBpY29uVVJMKCkKKyAgICAgICAgYWxyZWFkeSBleGlzdGVkLCBidXQgdXNl
IGxvY2FsIHZhcmlhYmxlIGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBOb3RpZmljYXRpb25Db250
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6aWNvblVSTCk6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb246OnRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbjo6c2V0VGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpib2R5
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0Qm9keSk6CisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKTogUmVmYWN0b3IgdG8gdXNlIG5l
dyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6IFJlbW92ZWQuCisKKyAgICAgICAgUmVtb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmgg
ZnJvbSBwcm9qZWN0IGZpbGVzCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMTItMDMtMDcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtWOF1bUGVyZm9ybWFuY2VdIE9wdGltaXplIEVsZW1lbnQu
Zmlyc3RFbGVtZW50Q2hpbGQsIEVsZW1lbnQubGFzdEVsZW1lbnRDaGlsZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCAwNTJlYzEyYTg2MmYzNTQzYTA1YjAzODZkYTAzZTczMTYwYjJlNDE2Li5mMGIzNTM4
ZWU0MzIyNmE3NTdiNjYxOWY0MDY0NTkxNTczYmI4NzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTItMDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisg
ICAgICAgIE1vdmUgTm90aWZpY2F0aW9uQ29udGVudHMgaW50byBOb3RpZmljYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg3CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xMDk2NTUxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tOiBSZWZhY3Rv
ciB0byB1c2UgYWNjZXNzb3IgbWV0aG9kcyBvbiBOb3RpZmljYXRpb24uCisgICAgICAgICgtW1dl
Yk5vdGlmaWNhdGlvbiB0aXRsZV0pOgorICAgICAgICAoLVtXZWJOb3RpZmljYXRpb24gYm9keV0p
OgorCiAyMDEyLTAzLTA2ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtNYWNdIFVwZGF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyBmb3IgaU9TCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggM2YxY2Q0Y2JiMTQ2MzZkMzA1ODFhODFiNGMwODdiM2RlYTE0MmJlNS4uNTI3
ZWI4OWFkNmYwMTIxZTlkZjU1MWM0Y2FhZWMxOTcwN2E4MTQ0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEyLTAzLTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAg
ICAgICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTA5NjU1MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHkuY3BwOiBSZW1vdmUgZXh0cmFuZW91cyBpbmNsdWRlLgorICAgICAgICAq
IFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyk6IFJlZmFjdG9yIHRv
IHVzZSBhY2Nlc3NvciBtZXRob2RzIG9uIE5vdGlmaWNhdGlvbi4KKwogMjAxMi0wMy0wNyAgRGlu
dSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gQXV0aGVudGlj
YXRpb24gZGlhbG9nIGRvZXMgbm90IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDM0NzgyYmY4Mzc5ZDlmNzE1OWQ3ZThhNzVmN2Y5Y2E1ODlhNzk0ZDEuLjg4NWI3ZGU0Nzhl
NDE5MzBkNmY3NGNjNjg5NzFmZWNkY2FmZTI0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjgyMiw3ICsyODIyLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmggXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggN2ZhNDM0YmMyYTYz
OWQ4MDNkMmU0ODdhZWU2ZTRmMTQzYmM1YjA3NS4uZjgxNmJhOWU4OGY0ZTYxZWExNzY1ODI5NzU3
MjRhNjhhODgwODJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMDc4LDcgKzIwNzgsNiBAQCBIRUFERVJT
ICs9IFwKICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIFwKICAgICBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oIFwKICAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
blByZXNlbnRlci5oIFwKLSAgICBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgg
XAogICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKICAgICBwYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmggXAogICAgIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZTlmY2UwNmU2NzRhZWYyMmI3MWRh
YjM4ODExNTliMDU2YTFlNGYwMi4uMzFmOTcxMTVkZTA2MTIwNzc2YzVlYWFlYjdiNDE0ZGY3ZTM3
M2QwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjA4LDcgKzIwOCw2IEBACiAgICAgICAgICAgICAn
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy93ZWJkYXRhYmFzZS9TdG9yYWdlVHJhY2tlci5oJywKICAgICAgICAg
ICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL1N0b3JhZ2VUcmFja2VyQ2xpZW50LmgnLAotICAgICAg
ICAgICAgJ25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCcsCiAgICAgICAgICAg
ICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgnLAogICAgICAgICAgICAg
J25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvQ2hyb21lLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCA2ZjViOGQyYjBiOWRjMThlNjBmNjJiN2I4MjdiNjM3YTAxMGYzOWQyLi40ZmI5
Yjc3MDIyZjg1N2Y2ZTg2ZjVkOWVjOGJkODZmYWU3MjVmZmNiIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTM1MzgsMTAgKzUzNTM4LDYgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cbm90aWZp
Y2F0aW9uc1xOb3RpZmljYXRpb25Db250ZW50cy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxub3RpZmljYXRpb25zXE5vdGlmaWNhdGlvblByZXNl
bnRlci5oIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwMzhkMWQyM2I1N2Q0Y2ZiMjM0MGNmNjYw
OWM1ZTI3MTQyNDUxZGVhLi5iOGU1N2FlMTAwMTMyODg1YmE4NWM3MjQ2NmFhYjIyNjdlM2FmMmVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC05MTgsNyArOTE4LDYgQEAKIAkJMzM1MDNDQzcxMDE3QTFCMTAwM0I0N0UxIC8qIE5v
dGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMzUwM0NDNjEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uLmNwcCAqLzsgfTsK
IAkJMzM5MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzkwQ0E1MTBGRkMx
NTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLzsgfTsKIAkJMzM5MENBNTYw
RkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5MENBNTIwRkZDMTU3QjAwOTIxOTYyIC8q
IE5vdGlmaWNhdGlvbkNlbnRlci5oICovOyB9OwotCQkzMzkwQ0E1ODBGRkMxNTdCMDA5MjE5NjIg
LyogTm90aWZpY2F0aW9uQ29udGVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMzOTBDQTU0MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25D
b250ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTMzOUI1QjYzMTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzOUI1QjYyMTMxREFBMzIw
MEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkzM0MwQ0NENDExMkM1RTYyMDBDRTA1N0QgLyogU2VjdXJl
VGV4dElucHV0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMzQzBDQ0QyMTEyQzVFNjIwMENFMDU3RCAvKiBTZWN1cmVUZXh0SW5wdXQuY3BwICovOyB9
OwogCQkzM0MwQ0NENTExMkM1RTYyMDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0MwQ0NEMzExMkM1RTYy
MDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0LmggKi87IH07CkBAIC03NzY5LDcgKzc3NjgsNiBA
QAogCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5vdGlmaWNhdGlvbkNlbnRlci5j
cHA7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzOTBDQTUyMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmlj
YXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm90aWZpY2F0
aW9uQ2VudGVyLmg7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMzkwQ0E1MzBGRkMxNTdCMDA5MjE5NjIgLyog
Tm90aWZpY2F0aW9uQ2VudGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOb3RpZmljYXRp
b25DZW50ZXIuaWRsOyBwYXRoID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMzkwQ0E1NDBGRkMxNTdCMDA5MjE5NjIg
LyogTm90aWZpY2F0aW9uQ29udGVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTm90aWZpY2F0aW9uQ29udGVudHMuaDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ29udGVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzM5QjVCNjIxMzFE
QUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzNDMENDRDIxMTJDNUU2MjAwQ0UwNTdEIC8qIFNlY3VyZVRleHRJbnB1dC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWN1cmVUZXh0SW5wdXQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0MwQ0NEMzExMkM1RTYyMDBDRTA1N0QgLyogU2Vj
dXJlVGV4dElucHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlY3VyZVRl
eHRJbnB1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQzNzQsNyArMTQzNzIs
NiBAQAogCQkJCTMzOTBDQTUxMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIu
Y3BwICovLAogCQkJCTMzOTBDQTUyMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50
ZXIuaCAqLywKIAkJCQkzMzkwQ0E1MzBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2Vu
dGVyLmlkbCAqLywKLQkJCQkzMzkwQ0E1NDBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9u
Q29udGVudHMuaCAqLywKIAkJCQkzMTI4Q0E2NzE0NzMzMTUyMDA3NEM3MkEgLyogTm90aWZpY2F0
aW9uQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMzEyOENBNkExNDczMzE2MzAwNzRDNzJBIC8qIE5v
dGlmaWNhdGlvbkNvbnRyb2xsZXIuaCAqLywKIAkJCQkzMzUwM0M5OTEwMTc5QTc0MDAzQjQ3RTEg
LyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggKi8sCkBAIC0yMzU0Niw3ICsyMzU0Myw2IEBACiAJ
CQkJQThFQTdFQkUwQTE5NDVEMDAwQThFRjVGIC8qIE5vdGF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMTJDMEM0MTE0NkRDNkNDMDAxNkM5MTEgLyogTm90aWZpY2F0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMzkwQ0E1NjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVy
LmggaW4gSGVhZGVycyAqLywKLQkJCQkzMzkwQ0E1ODBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZp
Y2F0aW9uQ29udGVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMjhDQTZCMTQ3MzMxNjMwMDc0
QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMzUw
M0M5QTEwMTc5QTc0MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uUHJlc2VudGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5OEVCMUY5NTEzMTNGRTA1MDBEMEUxRUEgLyogTm90SW1wbGVtZW50ZWQuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCmluZGV4IDc0OTY0ZGM3N2FkYWQwODFjYjBlZjE5Y2E0NGFkNGE0OGUwODdlNzIuLjYz
ZmUyZDQ4ZWRhNTQ5Y2Q2ZjdlNWRlYWM0NmM0Mzc3NDhhZDZhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTM5LDcgKzM5LDYgQEAKICNp
bmNsdWRlICJFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvbkNlbnRlci5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgi
CiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgpAQCAtNzMsMTAgKzcyLDEx
IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjCiAgICAgbV9ub3RpZmljYXRpb25VUkwgPSB1cmw7
CiB9CiAKLU5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRl
bnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9u
Q29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcikKK05vdGlm
aWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYg
Ym9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJJLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHBy
b3ZpZGVyKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCiAgICAgLCBtX2lz
SFRNTChmYWxzZSkKLSAgICAsIG1fY29udGVudHMoY29udGVudHMpCisgICAgLCBtX3RpdGxlKHRp
dGxlKQorICAgICwgbV9ib2R5KGJvZHkpCiAgICAgLCBtX3N0YXRlKElkbGUpCiAgICAgLCBtX25v
dGlmaWNhdGlvbkNlbnRlcihwcm92aWRlcikKIHsKQEAgLTg2LDcgKzg2LDggQEAgTm90aWZpY2F0
aW9uOjpOb3RpZmljYXRpb24oY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzLCBT
Y3JpcHRFeGVjdXRpb24KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICghY29udGVu
dHMuaWNvbi5pc0VtcHR5KCkgJiYgIWNvbnRlbnRzLmljb24uaXNWYWxpZCgpKSB7CisgICAgbV9p
Y29uID0gaWNvblVSSS5pc0VtcHR5KCkgPyBLVVJMKCkgOiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmNvbXBsZXRlVVJMKGljb25VUkkpOworICAgIGlmICghbV9pY29uLmlzRW1wdHkoKSAmJiAh
bV9pY29uLmlzVmFsaWQoKSkgewogICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CkBAIC0xMDcsOSArMTA4LDkgQEAgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+
IE5vdGlmaWNhdGlvbjo6Y3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ28K
ICAgICByZXR1cm4gbm90aWZpY2F0aW9uLnJlbGVhc2UoKTsKIH0KIAotUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb24+IE5vdGlmaWNhdGlvbjo6Y3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRz
JiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29k
ZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcikgCitQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbj4gTm90aWZpY2F0aW9uOjpjcmVhdGUoY29uc3QgU3RyaW5nJiB0aXRs
ZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkksIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlm
aWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpIAogeyAKLSAgICBSZWZQdHI8Tm90aWZpY2F0aW9uPiBu
b3RpZmljYXRpb24oYWRvcHRSZWYobmV3IE5vdGlmaWNhdGlvbihjb250ZW50cywgY29udGV4dCwg
ZWMsIHByb3ZpZGVyKSkpOworICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IG5vdGlmaWNhdGlvbihh
ZG9wdFJlZihuZXcgTm90aWZpY2F0aW9uKHRpdGxlLCBib2R5LCBpY29uVVJJLCBjb250ZXh0LCBl
YywgcHJvdmlkZXIpKSk7CiAgICAgbm90aWZpY2F0aW9uLT5zdXNwZW5kSWZOZWVkZWQoKTsKICAg
ICByZXR1cm4gbm90aWZpY2F0aW9uLnJlbGVhc2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGRkMGQ2ZWQ4NGFkMzA3OWQ4OGJhMDJhMDJi
Y2FjYzZhNjQ1Y2IzOWQuLmI1NjVjMTI4Yzc0N2Q5NjZmOWI1NTg2MmZkZDJiMjU5NTViOTdjYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtMzYs
NyArMzYsNiBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFRhcmdl
dC5oIgogI2luY2x1ZGUgIktVUkwuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5o
IgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIK
ICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCkBAIC02Miw3ICs2MSw3IEBAIGNs
YXNzIE5vdGlmaWNhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvbj4sIHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHB1CiBwdWJsaWM6CiAgICAgTm90aWZpY2F0aW9uKCk7CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgS1VSTCYsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJiwgUGFzc1JlZlB0cjxOb3RpZmljYXRp
b25DZW50ZXI+IHByb3ZpZGVyKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+
IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBFeGNlcHRpb25Db2RlJiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3Zp
ZGVyKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSSSwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmLCBQYXNzUmVmUHRyPE5vdGlm
aWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgIAogICAgIHZpcnR1YWwgfk5vdGlmaWNhdGlv
bigpOwogCkBAIC03NSwxMCArNzQsMTEgQEAgcHVibGljOgogICAgIEtVUkwgdXJsKCkgY29uc3Qg
eyByZXR1cm4gbV9ub3RpZmljYXRpb25VUkw7IH0KICAgICB2b2lkIHNldFVSTChLVVJMIHVybCkg
eyBtX25vdGlmaWNhdGlvblVSTCA9IHVybDsgfQogICAgIAotICAgIEtVUkwgaWNvblVSTCgpIHsg
cmV0dXJuIG1fY29udGVudHMuaWNvbjsgfQotICAgIAotICAgIGNvbnN0IE5vdGlmaWNhdGlvbkNv
bnRlbnRzJiBjb250ZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHM7IH0KLSAgICBOb3Rp
ZmljYXRpb25Db250ZW50cyYgY29udGVudHMoKSB7IHJldHVybiBtX2NvbnRlbnRzOyB9CisgICAg
S1VSTCBpY29uVVJMKCkgeyByZXR1cm4gbV9pY29uOyB9CisgICAgU3RyaW5nIHRpdGxlKCkgY29u
c3QgeyByZXR1cm4gbV90aXRsZTsgfQorICAgIHZvaWQgc2V0VGl0bGUoY29uc3QgU3RyaW5nJiB0
aXRsZSkgeyBtX3RpdGxlID0gdGl0bGU7IH0KKyAgICBTdHJpbmcgYm9keSgpIGNvbnN0IHsgcmV0
dXJuIG1fYm9keTsgfQorICAgIHZvaWQgc2V0Qm9keShjb25zdCBTdHJpbmcmIGJvZHkpIHsgbV9i
b2R5ID0gYm9keTsgfQogCiAgICAgU3RyaW5nIGRpcigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0
aW9uOyB9CiAgICAgdm9pZCBzZXREaXIoY29uc3QgU3RyaW5nJiBkaXIpIHsgbV9kaXJlY3Rpb24g
PSBkaXI7IH0KQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTm90
aWZpY2F0aW9uKGNvbnN0IEtVUkwmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9u
Q29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPik7Ci0gICAgTm90aWZpY2F0aW9u
KGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4
Y2VwdGlvbkNvZGUmLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4pOworICAgIE5vdGlm
aWNhdGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0
cmluZyYgaWNvblVSSSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmLCBQ
YXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4pOwogCiAgICAgLy8gRXZlbnRUYXJnZXQgaW50
ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQpAQCAt
MTM5LDggKzEzOSwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoTG9hZGluZygpOwogCiAg
ICAgYm9vbCBtX2lzSFRNTDsKKworICAgIC8vIFRleHQgbm90aWZpY2F0aW9ucy4KKyAgICBLVVJM
IG1faWNvbjsKKyAgICBTdHJpbmcgbV90aXRsZTsKKyAgICBTdHJpbmcgbV9ib2R5OworICAgIC8v
IEZJWE1FOiBEZXByZWNhdGUgSFRNTCBOb3RpZmljYXRpb25zLgogICAgIEtVUkwgbV9ub3RpZmlj
YXRpb25VUkw7Ci0gICAgTm90aWZpY2F0aW9uQ29udGVudHMgbV9jb250ZW50czsKIAogICAgIFN0
cmluZyBtX2RpcmVjdGlvbjsKICAgICBTdHJpbmcgbV9yZXBsYWNlSWQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oIGIvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRleCA0MDJjY2Jh
OTM4YjJmZWUwODFmOGE2YThkN2JlY2VmZjc4Y2MyNjkyLi5kY2MxMDA1YTJkYmU1ZjM1ZWY2NDFm
OTllZGRiMGI4YWZkM2RjMmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKLSNpbmNsdWRlICJOb3Rp
ZmljYXRpb25Db250ZW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAg
LTcxLDggKzcwLDcgQEAgcHVibGljOgogICAgICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VS
UjsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIE5vdGlmaWNhdGlv
bkNvbnRlbnRzIGNvbnRlbnRzKGljb25VUkkuaXNFbXB0eSgpID8gS1VSTCgpIDogc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5jb21wbGV0ZVVSTChpY29uVVJJKSwgdGl0bGUsIGJvZHkpOwotICAg
ICAgICByZXR1cm4gTm90aWZpY2F0aW9uOjpjcmVhdGUoY29udGVudHMsIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgZWMsIHRoaXMpOworICAgICAgICByZXR1cm4gTm90aWZpY2F0aW9uOjpjcmVh
dGUodGl0bGUsIGJvZHksIGljb25VUkksIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgZWMsIHRo
aXMpOwogICAgIH0KIAogICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJlc2VudGVyKCkgY29u
c3QgeyByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMTE4NmMxYzc4MjNmMmEwNTAyNDBiNzYwMDY1NTY5NTJiYTQyOTE3
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw2MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
ICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQot
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgTm90aWZpY2F0aW9uQ29udGVudHNfaAotI2RlZmluZSBO
b3RpZmljYXRpb25Db250ZW50c19oCi0KLSNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKLQotI2lu
Y2x1ZGUgIktVUkwuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgTm90aWZpY2F0aW9uQ29udGVudHMgeyAKLXB1YmxpYzoK
LSAgICBOb3RpZmljYXRpb25Db250ZW50cygpIHsgfQotICAgIE5vdGlmaWNhdGlvbkNvbnRlbnRz
KGNvbnN0IEtVUkwmIGljb25VcmwsIGNvbnN0IFN0cmluZyYgbm90aWZpY2F0aW9uVGl0bGUsIGNv
bnN0IFN0cmluZyYgbm90aWZpY2F0aW9uQm9keSkKLSAgICAgICAgOiBpY29uKGljb25VcmwpCi0g
ICAgICAgICwgdGl0bGUobm90aWZpY2F0aW9uVGl0bGUpCi0gICAgICAgICwgYm9keShub3RpZmlj
YXRpb25Cb2R5KQotICAgIHsgfQotCi0gICAgS1VSTCBpY29uOwotICAgIFN0cmluZyB0aXRsZTsK
LSAgICBTdHJpbmcgYm9keTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShOT1RJRklDQVRJT05TKQotCi0jZW5kaWYgLy8gTm90aWZpY2F0aW9uQ29udGVu
dHNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQppbmRl
eCA1NTczMzJjYmExYjA4Mjk5YzMzNGUxYTI1MjY4NjQzZDYwMTRlZTA2Li5kYmQ1NDZkYTc0ZjAw
MzJhMTU0NWYxYTZhMjk2N2Q0NWMwMGE2OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYk5vdGlmaWNhdGlvbi5tbQpAQCAtODUsNyArODUsNyBAQCBOb3RpZmljYXRpb24qIGNv
cmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJldHVybiBjb3JlKHNlbGYpLT5j
b250ZW50cygpLnRpdGxlOworICAgIHJldHVybiBjb3JlKHNlbGYpLT50aXRsZSgpOwogI2Vsc2UK
ICAgICByZXR1cm4gbmlsOwogI2VuZGlmCkBAIC05NSw3ICs5NSw3IEBAIE5vdGlmaWNhdGlvbiog
Y29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIHsKICNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7Ci0gICAgcmV0dXJuIGNvcmUoc2VsZikt
PmNvbnRlbnRzKCkuYm9keTsKKyAgICByZXR1cm4gY29yZShzZWxmKS0+Ym9keSgpOwogI2Vsc2UK
ICAgICByZXR1cm4gbmlsOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
clByb3h5LmNwcAppbmRleCAyN2E4ODllMjYyNGVkM2E2ZTQ4YTkyMzgyYzEwYjJiNmRlYzE5YTVl
Li5kODA1MWE0MzhhN2M2MWQwZjNhNWVjZTFkNmM4NThhZmU3NDMzZTJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNs
dWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYWdl
UHJveHkuaCIKICNpbmNsdWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUgPFdlYkNv
cmUvTm90aWZpY2F0aW9uQ29udGVudHMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdURjsKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCmlu
ZGV4IGEyNDlhMTM5ZTEyYmM5ODViNTgxMWYxYTgyMTJjMGFhZGU2N2JmNDAuLjE4NGUwNGQ1MTFm
YTI2MGE1YzBkYTAwMmUzY2U0Mjc1MTQ0NTFiMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5jcHAKQEAgLTExNyw3ICsxMTcsNyBAQCBib29sIFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXI6OnNob3coTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24sIFdlYlBhZ2UqIHBhZ2UpCiAgICAg
Tm90aWZpY2F0aW9uQ29udGV4dE1hcDo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkNvbnRl
eHRNYXAuYWRkKG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBWZWN0b3I8
dWludDY0X3Q+KCkpLmZpcnN0OwogICAgIGl0LT5zZWNvbmQuYXBwZW5kKG5vdGlmaWNhdGlvbklE
KTsKICAgICAKLSAgICBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRs
ZSwgbm90aWZpY2F0aW9uLT5jb250ZW50cygpLmJvZHksIG5vdGlmaWNhdGlvbi0+aWNvblVSTCgp
LnN0cmluZygpLCBub3RpZmljYXRpb24tPnJlcGxhY2VJZCgpLCBub3RpZmljYXRpb24tPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90aWZp
Y2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRp
b24tPnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpLCBub3RpZmljYXRpb24tPmljb25VUkwo
KS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSwgbm90aWZpY2F0aW9uLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvU3RyaW5nKCksIG5vdGlm
aWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOwogICAgIHJldHVybiB0cnVlOwogI2Vsc2UKICAg
ICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130772</attachid>
            <date>2012-03-07 22:44:05 -0800</date>
            <delta_ts>2012-03-10 11:03:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80487-20120307224448.patch</filename>
            <type>text/plain</type>
            <size>28299</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNiNzVjNjRhZGE2NzY3
NTRhMDM1NmQyM2M3MTk5Y2FmZjA1NDI3OS4uZjU0ZDhjZTBlNjdkNDY5NDFkNGU1NDNiYjY0YzA3
NTY4NGMyOGFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTA3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRl
bnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU1MTk+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHA6IEFsdGVyIHNpZ25hdHVyZSBvZiBjb25zdHJ1Y3RvciB0
byB0YWtlIHRoZSBmaWVsZHMgZGlyZWN0bHkgaW5zdGVhZCBvZgorICAgICAgICBhIE5vdGlmaWNh
dGlvbkNvbnRlbnRzIGluc3RhbmNlLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpO
b3RpZmljYXRpb24pOiBEZXJpdmUgS1VSTCBmcm9tIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBp
Y29uLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3RpZmljYXRpb24pOiBS
ZW1vdmUgY29udGVudHMoKSBhY2Nlc3NvciBhbmQgcmVwbGFjZSB3aXRoIGdldC9zZXQgZm9yIHRp
dGxlIGFuZCBib2R5LiBpY29uVVJMKCkKKyAgICAgICAgYWxyZWFkeSBleGlzdGVkLCBidXQgdXNl
IGxvY2FsIHZhcmlhYmxlIGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBOb3RpZmljYXRpb25Db250
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6aWNvblVSTCk6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb246OnRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbjo6c2V0VGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpib2R5
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0Qm9keSk6CisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKTogUmVmYWN0b3IgdG8gdXNlIG5l
dyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6IFJlbW92ZWQuCisKKyAgICAgICAgUmVtb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmgg
ZnJvbSBwcm9qZWN0IGZpbGVzCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMTItMDMtMDcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtWOF1bUGVyZm9ybWFuY2VdIE9wdGltaXplIEVsZW1lbnQu
Zmlyc3RFbGVtZW50Q2hpbGQsIEVsZW1lbnQubGFzdEVsZW1lbnRDaGlsZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggMzY5ZjU4ZjQ2NTlhMWM2YmJjYWYwZGY3NGM5MDhhYzJjN2IyZmY5
My4uODE1NjhkZTA1YmQ5Y2E5MjZkZjUwN2ZmMjkwZTQwYjI3NzRiZmIwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMy0wNyAgSm9uIExlZSAgPGpv
bmxlZUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBOb3RpZmljYXRpb25Db250ZW50cyBpbnRv
IE5vdGlmaWNhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODA0ODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NTE5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIHRvIHVzZSBh
Y2Nlc3NvciBtZXRob2RzIG9uIE5vdGlmaWNhdGlvbi4KKyAgICAgICAgKiBzcmMvV2ViTm90aWZp
Y2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjp0aXRsZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6Ym9keSk6CisKIDIwMTItMDMtMDcgIEpv
c2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIElu
ZGV4ZWREQjogVjhMb2NhbENvbnRleHQgY3JlYXRpb24gaW4gSURCS2V5IGV4dHJhY3Rpb24vaW5q
ZWN0aW9uIGlzIHNsb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAwNTJlYzEyYTg2MmYzNTQzYTA1YjAz
ODZkYTAzZTczMTYwYjJlNDE2Li5mMGIzNTM4ZWU0MzIyNmE3NTdiNjYxOWY0MDY0NTkxNTczYmI4
NzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMDcgIEpvbiBM
ZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgTm90aWZpY2F0aW9uQ29udGVu
dHMgaW50byBOb3RpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNDg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTUxOT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcv
V2ViTm90aWZpY2F0aW9uLm1tOiBSZWZhY3RvciB0byB1c2UgYWNjZXNzb3IgbWV0aG9kcyBvbiBO
b3RpZmljYXRpb24uCisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiB0aXRsZV0pOgorICAgICAg
ICAoLVtXZWJOb3RpZmljYXRpb24gYm9keV0pOgorCiAyMDEyLTAzLTA2ICBCZW5qYW1pbiBQb3Vs
YWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIFVwZGF0ZSB0aGUgY29u
ZmlndXJhdGlvbiBmaWxlcyBmb3IgaU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDY1NzFiODllZDAyYWQ4
ZTU0Y2EwOGYwMzNlNWM0YzUwNGNmZjJhN2QuLjIxOTc0YThmODVlZWZkZTRlNjFjYjljMGUzZDll
MDg3ZDBmMjRiNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMDcg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgTm90aWZpY2F0aW9u
Q29udGVudHMgaW50byBOb3RpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwNDg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTUx
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZh
Y3RvciB0byB1c2UgYWNjZXNzb3IgbWV0aG9kcyBvbiBOb3RpZmljYXRpb24uCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3JhcHBlcjo6dGl0bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uV3JhcHBlcjo6bWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6ZGlzcGxheU5vdGlmaWNhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2FuY2VsKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25D
bGlja2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0
OjpkdW1wUmVwbGFjZWRJZFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OmR1bXBTaG93VGV4dCk6CisKIDIwMTItMDMtMDcgIFNpbW9uIEhhdXNt
YW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IGNvbXBp
bGF0aW9uIHdpdGhvdXQgUXRRdWljazEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzZjFjZDRjYmIxNDYzNmQzMDU4
MWE4MWI0YzA4N2IzZGVhMTQyYmU1Li41MjdlYjg5YWQ2ZjAxMjFlOWRmNTUxYzRjYWFlYzE5NzA3
YTgxNDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMDcgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgTm90aWZpY2F0aW9uQ29udGVudHMg
aW50byBOb3RpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgwNDg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTUxOT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA6IFJlbW92ZSBleHRy
YW5lb3VzIGluY2x1ZGUuCisgICAgICAgICogV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjpzaG93KTogUmVmYWN0b3IgdG8gdXNlIGFjY2Vzc29yIG1ldGhvZHMgb24gTm90aWZp
Y2F0aW9uLgorCiAyMDEyLTAzLTA3ICBEaW51IEphY29iICA8ZGludS5qYWNvYkBub2tpYS5jb20+
CiAKICAgICAgICAgW1F0XSBBdXRoZW50aWNhdGlvbiBkaWFsb2cgZG9lcyBub3Qgd29yawpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzQ3ODJiZjgzNzlkOWY3MTU5ZDdlOGE3NWY3
ZjljYTU4OWE3OTRkMS4uODg1YjdkZTQ3OGU0MTkzMGQ2Zjc0Y2M2ODk3MWZlY2RjYWZlMjRjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yODIyLDcgKzI4MjIsNiBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVu
dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgg
XAotCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCBc
CiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVy
LmggXAogCVNvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCA3ZmE0MzRiYzJhNjM5ZDgwM2QyZTQ4N2FlZTZlNGYxNDNiYzViMDc1Li5m
ODE2YmE5ZTg4ZjRlNjFlYTE3NjU4Mjk3NTcyNGE2OGE4ODA4MmM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAg
LTIwNzgsNyArMjA3OCw2IEBAIEhFQURFUlMgKz0gXAogICAgIG5vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmggXAogICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggXAogICAg
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmggXAotICAgIG5vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCBcCiAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250cm9sbGVyLmggXAogICAgIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaCBcCiAg
ICAgcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBlOWZjZTA2ZTY3NGFlZjIyYjcxZGFiMzg4MTE1OWIwNTZhMWU0ZjAyLi4zMWY5NzExNWRl
MDYxMjA3NzZjNWVhYWViN2I0MTRkZjdlMzczZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDgs
NyArMjA4LDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0
aW9uRXJyb3JDYWxsYmFjay5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL1N0
b3JhZ2VUcmFja2VyLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViZGF0YWJhc2UvU3RvcmFn
ZVRyYWNrZXJDbGllbnQuaCcsCi0gICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250ZW50cy5oJywKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNv
bnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QcmVz
ZW50ZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9DaHJvbWUuaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDZmNWI4ZDJiMGI5ZGMxOGU2MGY2
MmI3YjgyN2I2MzdhMDEwZjM5ZDIuLjRmYjliNzcwMjJmODU3ZjZlODZmNWQ5ZWM4YmQ4NmZhZTcy
NWZmY2IgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC01MzUzOCwxMCArNTM1MzgsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxub3RpZmljYXRpb25zXE5vdGlmaWNhdGlvbkNvbnRlbnRzLmgi
Ci0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXG5vdGlm
aWNhdGlvbnNcTm90aWZpY2F0aW9uUHJlc2VudGVyLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDAzOGQxZDIzYjU3ZDRjZmIyMzQwY2Y2NjA5YzVlMjcxNDI0NTFkZWEuLmI4ZTU3YWUxMDAxMzI4
ODViYTg1YzcyNDY2YWFiMjI2N2UzYWYyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkxOCw3ICs5MTgsNiBAQAogCQkzMzUw
M0NDNzEwMTdBMUIxMDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzNTAzQ0M2MTAxN0ExQjEwMDNCNDdFMSAv
KiBOb3RpZmljYXRpb24uY3BwICovOyB9OwogCQkzMzkwQ0E1NTBGRkMxNTdCMDA5MjE5NjIgLyog
Tm90aWZpY2F0aW9uQ2VudGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMzOTBDQTUxMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50
ZXIuY3BwICovOyB9OwogCQkzMzkwQ0E1NjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9u
Q2VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzkwQ0E1MjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi87IH07Ci0J
CTMzOTBDQTU4MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5MENBNTQwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzM5QjVCNjMxMzFEQUEzMjAwRjQ4RDAyIC8q
IENvb2tpZXNTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVneS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMzQzBDQ0Q0
MTEyQzVFNjIwMENFMDU3RCAvKiBTZWN1cmVUZXh0SW5wdXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNDMENDRDIxMTJDNUU2MjAwQ0UwNTdEIC8q
IFNlY3VyZVRleHRJbnB1dC5jcHAgKi87IH07CiAJCTMzQzBDQ0Q1MTEyQzVFNjIwMENFMDU3RCAv
KiBTZWN1cmVUZXh0SW5wdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMzQzBDQ0QzMTEyQzVFNjIwMENFMDU3RCAvKiBTZWN1cmVUZXh0SW5wdXQuaCAq
LzsgfTsKQEAgLTc3NjksNyArNzc2OCw2IEBACiAJCTMzOTBDQTUxMEZGQzE1N0IwMDkyMTk2MiAv
KiBOb3RpZmljYXRpb25DZW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gTm90aWZpY2F0aW9uQ2VudGVyLmNwcDsgcGF0aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uQ2VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzM5MENBNTIw
RkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25DZW50ZXIuaDsgcGF0aCA9IG5vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMz
OTBDQTUzMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgbmFtZSA9IE5vdGlmaWNhdGlvbkNlbnRlci5pZGw7IHBhdGggPSBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTMzOTBDQTU0MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOb3RpZmljYXRpb25Db250ZW50cy5oOyBwYXRo
ID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb2tpZXNTdHJhdGVneS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0MwQ0NEMjExMkM1RTYyMDBDRTA1N0QgLyog
U2VjdXJlVGV4dElucHV0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNlY3VyZVRleHRJbnB1dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzQzBD
Q0QzMTEyQzVFNjIwMENFMDU3RCAvKiBTZWN1cmVUZXh0SW5wdXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2VjdXJlVGV4dElucHV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNDM3NCw3ICsxNDM3Miw2IEBACiAJCQkJMzM5MENBNTEwRkZDMTU3QjAwOTIx
OTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgKi8sCiAJCQkJMzM5MENBNTIwRkZDMTU3QjAw
OTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovLAogCQkJCTMzOTBDQTUzMEZGQzE1N0Iw
MDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaWRsICovLAotCQkJCTMzOTBDQTU0MEZGQzE1
N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oICovLAogCQkJCTMxMjhDQTY3MTQ3
MzMxNTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQkzMTI4
Q0E2QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxlci5oICovLAogCQkJ
CTMzNTAzQzk5MTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmljYXRpb25QcmVzZW50ZXIuaCAqLywK
QEAgLTIzNTQ2LDcgKzIzNTQzLDYgQEAKIAkJCQlBOEVBN0VCRTBBMTk0NUQwMDBBOEVGNUYgLyog
Tm90YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMkMwQzQxMTQ2REM2Q0MwMDE2QzkxMSAv
KiBOb3RpZmljYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMzOTBDQTU2MEZGQzE1N0IwMDky
MTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTMzOTBDQTU4
MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzEyOENBNkIxNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTMzNTAzQzlBMTAxNzlBNzQwMDNCNDdFMSAvKiBOb3RpZmlj
YXRpb25QcmVzZW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk4RUIxRjk1MTMxM0ZFMDUwMEQw
RTFFQSAvKiBOb3RJbXBsZW1lbnRlZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggNzQ5NjRkYzc3YWRhZDA4MWNi
MGVmMTljYTQ0YWQ0YTQ4ZTA4N2U3Mi4uNjNmZTJkNDhlZGE1NDljZDZmN2U1ZGVhYzQ2YzQzNzc0
OGFkNmEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRl
ICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uQ2VudGVyLmgiCi0jaW5jbHVk
ZSAiTm90aWZpY2F0aW9uQ29udGVudHMuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25QcmVzZW50
ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCkBAIC03MywxMCArNzIsMTEgQEAgTm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24o
Y29uc3QgS1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGMKICAg
ICBtX25vdGlmaWNhdGlvblVSTCA9IHVybDsKIH0KIAotTm90aWZpY2F0aW9uOjpOb3RpZmljYXRp
b24oY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRp
b25DZW50ZXI+IHByb3ZpZGVyKQorTm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oY29uc3QgU3Ry
aW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkksIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpCiAgICAgOiBBY3RpdmVET01PYmplY3Qo
Y29udGV4dCwgdGhpcykKICAgICAsIG1faXNIVE1MKGZhbHNlKQotICAgICwgbV9jb250ZW50cyhj
b250ZW50cykKKyAgICAsIG1fdGl0bGUodGl0bGUpCisgICAgLCBtX2JvZHkoYm9keSkKICAgICAs
IG1fc3RhdGUoSWRsZSkKICAgICAsIG1fbm90aWZpY2F0aW9uQ2VudGVyKHByb3ZpZGVyKQogewpA
QCAtODYsNyArODYsOCBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihjb25zdCBOb3RpZmlj
YXRpb25Db250ZW50cyYgY29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbgogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgaWYgKCFjb250ZW50cy5pY29uLmlzRW1wdHkoKSAmJiAhY29udGVudHMu
aWNvbi5pc1ZhbGlkKCkpIHsKKyAgICBtX2ljb24gPSBpY29uVVJJLmlzRW1wdHkoKSA/IEtVUkwo
KSA6IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29tcGxldGVVUkwoaWNvblVSSSk7CisgICAg
aWYgKCFtX2ljb24uaXNFbXB0eSgpICYmICFtX2ljb24uaXNWYWxpZCgpKSB7CiAgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTEwNyw5ICsxMDgsOSBA
QCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gTm90aWZpY2F0aW9uOjpjcmVhdGUoY29uc3QgS1VS
TCYgdXJsLCBTY3JpcHRFeGVjdXRpb25DbwogICAgIHJldHVybiBub3RpZmljYXRpb24ucmVsZWFz
ZSgpOwogfQogCi1QYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gTm90aWZpY2F0aW9uOjpjcmVhdGUo
Y29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25D
ZW50ZXI+IHByb3ZpZGVyKSAKK1Bhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBOb3RpZmljYXRpb246
OmNyZWF0ZShjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0
cmluZyYgaWNvblVSSSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9u
Q29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcikgCiB7IAot
ICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IG5vdGlmaWNhdGlvbihhZG9wdFJlZihuZXcgTm90aWZp
Y2F0aW9uKGNvbnRlbnRzLCBjb250ZXh0LCBlYywgcHJvdmlkZXIpKSk7CisgICAgUmVmUHRyPE5v
dGlmaWNhdGlvbj4gbm90aWZpY2F0aW9uKGFkb3B0UmVmKG5ldyBOb3RpZmljYXRpb24odGl0bGUs
IGJvZHksIGljb25VUkksIGNvbnRleHQsIGVjLCBwcm92aWRlcikpKTsKICAgICBub3RpZmljYXRp
b24tPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgIHJldHVybiBub3RpZmljYXRpb24ucmVsZWFzZSgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXgg
ZGQwZDZlZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNjNmE2NDVjYjM5ZC4uYjU2NWMxMjhjNzQ3ZDk2
NmY5YjU1ODYyZmRkMmIyNTk1NWI5N2NhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgotI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAj
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGll
bnQuaCIKQEAgLTYyLDcgKzYxLDcgQEAgY2xhc3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHUKIHB1YmxpYzoK
ICAgICBOb3RpZmljYXRpb24oKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+
IGNyZWF0ZShjb25zdCBLVVJMJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNv
ZGUmLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRl
bnRzJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmLCBQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5v
dGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9k
eSwgY29uc3QgU3RyaW5nJiBpY29uVVJJLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0
aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAg
CiAgICAgdmlydHVhbCB+Tm90aWZpY2F0aW9uKCk7CiAKQEAgLTc1LDEwICs3NCwxMSBAQCBwdWJs
aWM6CiAgICAgS1VSTCB1cmwoKSBjb25zdCB7IHJldHVybiBtX25vdGlmaWNhdGlvblVSTDsgfQog
ICAgIHZvaWQgc2V0VVJMKEtVUkwgdXJsKSB7IG1fbm90aWZpY2F0aW9uVVJMID0gdXJsOyB9CiAg
ICAgCi0gICAgS1VSTCBpY29uVVJMKCkgeyByZXR1cm4gbV9jb250ZW50cy5pY29uOyB9Ci0gICAg
Ci0gICAgY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzKCkgY29uc3QgeyByZXR1
cm4gbV9jb250ZW50czsgfQotICAgIE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cygpIHsg
cmV0dXJuIG1fY29udGVudHM7IH0KKyAgICBLVVJMIGljb25VUkwoKSB7IHJldHVybiBtX2ljb247
IH0KKyAgICBTdHJpbmcgdGl0bGUoKSBjb25zdCB7IHJldHVybiBtX3RpdGxlOyB9CisgICAgdm9p
ZCBzZXRUaXRsZShjb25zdCBTdHJpbmcmIHRpdGxlKSB7IG1fdGl0bGUgPSB0aXRsZTsgfQorICAg
IFN0cmluZyBib2R5KCkgY29uc3QgeyByZXR1cm4gbV9ib2R5OyB9CisgICAgdm9pZCBzZXRCb2R5
KGNvbnN0IFN0cmluZyYgYm9keSkgeyBtX2JvZHkgPSBib2R5OyB9CiAKICAgICBTdHJpbmcgZGly
KCkgY29uc3QgeyByZXR1cm4gbV9kaXJlY3Rpb247IH0KICAgICB2b2lkIHNldERpcihjb25zdCBT
dHJpbmcmIGRpcikgeyBtX2RpcmVjdGlvbiA9IGRpcjsgfQpAQCAtMTI3LDcgKzEyNyw3IEBAIHB1
YmxpYzoKIAogcHJpdmF0ZToKICAgICBOb3RpZmljYXRpb24oY29uc3QgS1VSTCYsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25D
ZW50ZXI+KTsKLSAgICBOb3RpZmljYXRpb24oY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZp
Y2F0aW9uQ2VudGVyPik7CisgICAgTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNv
bnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJJLCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgRXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPik7
CiAKICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZl
bnRUYXJnZXQoKSB7IHJlZigpOyB9CkBAIC0xMzksOCArMTM5LDEzIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBmaW5pc2hMb2FkaW5nKCk7CiAKICAgICBib29sIG1faXNIVE1MOworCisgICAgLy8gVGV4
dCBub3RpZmljYXRpb25zLgorICAgIEtVUkwgbV9pY29uOworICAgIFN0cmluZyBtX3RpdGxlOwor
ICAgIFN0cmluZyBtX2JvZHk7CisgICAgLy8gRklYTUU6IERlcHJlY2F0ZSBIVE1MIE5vdGlmaWNh
dGlvbnMuCiAgICAgS1VSTCBtX25vdGlmaWNhdGlvblVSTDsKLSAgICBOb3RpZmljYXRpb25Db250
ZW50cyBtX2NvbnRlbnRzOwogCiAgICAgU3RyaW5nIG1fZGlyZWN0aW9uOwogICAgIFN0cmluZyBt
X3JlcGxhY2VJZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbkNlbnRlci5oCmluZGV4IDQwMmNjYmE5MzhiMmZlZTA4MWY4YTZhOGQ3YmVjZWZmNzhjYzI2
OTIuLmRjYzEwMDVhMmRiZTVmMzVlZjY0MWY5OWVkZGIwYjhhZmQzZGMyYTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaApAQCAtMzQs
NyArMzQsNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIk5vdGlm
aWNhdGlvbi5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNzEsOCArNzAsNyBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAg
ICAgIH0KLSAgICAgICAgTm90aWZpY2F0aW9uQ29udGVudHMgY29udGVudHMoaWNvblVSSS5pc0Vt
cHR5KCkgPyBLVVJMKCkgOiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJMKGlj
b25VUkkpLCB0aXRsZSwgYm9keSk7Ci0gICAgICAgIHJldHVybiBOb3RpZmljYXRpb246OmNyZWF0
ZShjb250ZW50cywgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBlYywgdGhpcyk7CisgICAgICAg
IHJldHVybiBOb3RpZmljYXRpb246OmNyZWF0ZSh0aXRsZSwgYm9keSwgaWNvblVSSSwgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBlYywgdGhpcyk7CiAgICAgfQogCiAgICAgTm90aWZpY2F0aW9u
UHJlc2VudGVyKiBwcmVzZW50ZXIoKSBjb25zdCB7IHJldHVybiBtX25vdGlmaWNhdGlvblByZXNl
bnRlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25Db250ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25Db250ZW50cy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTg2YzFjNzgyM2Yy
YTA1MDI0MGI3NjAwNjU1Njk1MmJhNDI5MTczLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ29udGVudHMuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlv
bi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBOb3RpZmlj
YXRpb25Db250ZW50c19oCi0jZGVmaW5lIE5vdGlmaWNhdGlvbkNvbnRlbnRzX2gKLQotI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiS1VSTC5oIgotI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBOb3RpZmlj
YXRpb25Db250ZW50cyB7IAotcHVibGljOgotICAgIE5vdGlmaWNhdGlvbkNvbnRlbnRzKCkgeyB9
Ci0gICAgTm90aWZpY2F0aW9uQ29udGVudHMoY29uc3QgS1VSTCYgaWNvblVybCwgY29uc3QgU3Ry
aW5nJiBub3RpZmljYXRpb25UaXRsZSwgY29uc3QgU3RyaW5nJiBub3RpZmljYXRpb25Cb2R5KQot
ICAgICAgICA6IGljb24oaWNvblVybCkKLSAgICAgICAgLCB0aXRsZShub3RpZmljYXRpb25UaXRs
ZSkKLSAgICAgICAgLCBib2R5KG5vdGlmaWNhdGlvbkJvZHkpCi0gICAgeyB9Ci0KLSAgICBLVVJM
IGljb247Ci0gICAgU3RyaW5nIHRpdGxlOwotICAgIFN0cmluZyBib2R5OwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMpCi0KLSNl
bmRpZiAvLyBOb3RpZmljYXRpb25Db250ZW50c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcAppbmRleCA4NDlkYzRmNjc0YTQxYWYxMGZhZjlkMjg4
MmEyNjA4OTgwZjEwZjlhLi5jYzgwZDc4MTc2NGM0ZWI3NzM3NDc4YjM5MjEwZThhZjJhMGRlNWI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAK
QEAgLTg4LDEzICs4OCwxMyBAQCBXZWJVUkwgV2ViTm90aWZpY2F0aW9uOjppY29uVVJMKCkgY29u
c3QKIFdlYlN0cmluZyBXZWJOb3RpZmljYXRpb246OnRpdGxlKCkgY29uc3QKIHsKICAgICBBU1NF
UlQoIWlzSFRNTCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5jb250ZW50cygpLnRpdGxlOwor
ICAgIHJldHVybiBtX3ByaXZhdGUtPnRpdGxlKCk7CiB9CiAKIFdlYlN0cmluZyBXZWJOb3RpZmlj
YXRpb246OmJvZHkoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIVE1MKCkpOwotICAgIHJldHVy
biBtX3ByaXZhdGUtPmNvbnRlbnRzKCkuYm9keTsKKyAgICByZXR1cm4gbV9wcml2YXRlLT5ib2R5
KCk7CiB9CiAKIFdlYlRleHREaXJlY3Rpb24gV2ViTm90aWZpY2F0aW9uOjpkaXJlY3Rpb24oKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJOb3RpZmljYXRp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQppbmRl
eCA1NTczMzJjYmExYjA4Mjk5YzMzNGUxYTI1MjY4NjQzZDYwMTRlZTA2Li5kYmQ1NDZkYTc0ZjAw
MzJhMTU0NWYxYTZhMjk2N2Q0NWMwMGE2OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYk5vdGlmaWNhdGlvbi5tbQpAQCAtODUsNyArODUsNyBAQCBOb3RpZmljYXRpb24qIGNv
cmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiB7CiAjaWYgRU5BQkxFKE5PVElGSUNB
VElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJldHVybiBjb3JlKHNlbGYpLT5j
b250ZW50cygpLnRpdGxlOworICAgIHJldHVybiBjb3JlKHNlbGYpLT50aXRsZSgpOwogI2Vsc2UK
ICAgICByZXR1cm4gbmlsOwogI2VuZGlmCkBAIC05NSw3ICs5NSw3IEBAIE5vdGlmaWNhdGlvbiog
Y29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIHsKICNpZiBFTkFCTEUoTk9USUZJ
Q0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7Ci0gICAgcmV0dXJuIGNvcmUoc2VsZikt
PmNvbnRlbnRzKCkuYm9keTsKKyAgICByZXR1cm4gY29yZShzZWxmKS0+Ym9keSgpOwogI2Vsc2UK
ICAgICByZXR1cm4gbmlsOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3Bw
CmluZGV4IDgyMDA2NjRhZGI2NDQ5MWFhNGNkMzQ0YWVmYzA0M2FhYjIxZGYzZTUuLmQ1YmUyYzNj
YmE0NDJkODU2YTI3NDNiMDI3OTE0NjcwM2JhM2VmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVy
Q2xpZW50UXQuY3BwCkBAIC05MSw3ICs5MSw3IEBAIGNvbnN0IFFTdHJpbmcgTm90aWZpY2F0aW9u
V3JhcHBlcjo6dGl0bGUoKSBjb25zdAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIE5v
dGlmaWNhdGlvbiogbm90aWZpY2F0aW9uID0gTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6
Om5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5ub3RpZmljYXRpb25Gb3JXcmFwcGVyKHRoaXMpOwog
ICAgIGlmIChub3RpZmljYXRpb24pCi0gICAgICAgIHJldHVybiBub3RpZmljYXRpb24tPmNvbnRl
bnRzKCkudGl0bGU7CisgICAgICAgIHJldHVybiBub3RpZmljYXRpb24tPnRpdGxlKCk7CiAjZW5k
aWYKICAgICByZXR1cm4gUVN0cmluZygpOwogfQpAQCAtMTAxLDcgKzEwMSw3IEBAIGNvbnN0IFFT
dHJpbmcgTm90aWZpY2F0aW9uV3JhcHBlcjo6bWVzc2FnZSgpIGNvbnN0CiAjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBOb3RpZmljYXRp
b25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNhdGlv
bkZvcldyYXBwZXIodGhpcyk7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikKLSAgICAgICAgcmV0dXJu
IG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5OworICAgICAgICByZXR1cm4gbm90aWZpY2F0
aW9uLT5ib2R5KCk7CiAjZW5kaWYKICAgICByZXR1cm4gUVN0cmluZygpOwogfQpAQCAtMTk3LDgg
KzE5Nyw4IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmRpc3BsYXlOb3Rp
ZmljYXRpb24oTm90aWZpY2F0aW9uKiBub3RpZmljYXRpCiAgICAgaWYgKG5vdGlmaWNhdGlvbi0+
aXNIVE1MKCkpCiAgICAgICAgIG1lc3NhZ2UgPSBub3RpZmljYXRpb24tPnVybCgpLnN0cmluZygp
OwogICAgIGVsc2UgewotICAgICAgICB0aXRsZSA9IG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50
aXRsZTsKLSAgICAgICAgbWVzc2FnZSA9IG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5Owor
ICAgICAgICB0aXRsZSA9IG5vdGlmaWNhdGlvbi0+dGl0bGUoKTsKKyAgICAgICAgbWVzc2FnZSA9
IG5vdGlmaWNhdGlvbi0+Ym9keSgpOwogICAgIH0KIAogICAgIGlmIChtX3BsYXRmb3JtUGx1Z2lu
LnBsdWdpbigpICYmIG1fcGxhdGZvcm1QbHVnaW4ucGx1Z2luKCktPnN1cHBvcnRzRXh0ZW5zaW9u
KFFXZWJLaXRQbGF0Zm9ybVBsdWdpbjo6Tm90aWZpY2F0aW9ucykpCkBAIC0yMzMsNyArMjMzLDcg
QEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6ZGlzcGxheU5vdGlmaWNhdGlv
bihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGkKICNpZm5kZWYgUVRfTk9fU1lTVEVNVFJBWUlDT04K
ICAgICB3cmFwcGVyLT5jb25uZWN0KHdyYXBwZXItPm1fbm90aWZpY2F0aW9uSWNvbi5nZXQoKSwg
U0lHTkFMKG1lc3NhZ2VDbGlja2VkKCkpLCB3cmFwcGVyLCBTTE9UKG5vdGlmaWNhdGlvbkNsaWNr
ZWQoKSkpOwogICAgIHdyYXBwZXItPm1fbm90aWZpY2F0aW9uSWNvbi0+c2hvdygpOwotICAgIHdy
YXBwZXItPm1fbm90aWZpY2F0aW9uSWNvbi0+c2hvd01lc3NhZ2Uobm90aWZpY2F0aW9uLT5jb250
ZW50cygpLnRpdGxlLCBub3RpZmljYXRpb24tPmNvbnRlbnRzKCkuYm9keSk7CisgICAgd3JhcHBl
ci0+bV9ub3RpZmljYXRpb25JY29uLT5zaG93TWVzc2FnZShub3RpZmljYXRpb24tPnRpdGxlKCks
IG5vdGlmaWNhdGlvbi0+Ym9keSgpKTsKICNlbmRpZgogfQogCkBAIC0yNDMsNyArMjQzLDcgQEAg
dm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2FuY2VsKE5vdGlmaWNhdGlvbiog
bm90aWZpY2F0aW9uKQogICAgICAgICBpZiAobm90aWZpY2F0aW9uLT5pc0hUTUwoKSkKICAgICAg
ICAgICAgIHByaW50ZigiREVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiAlc1xuIiwgUVN0cmlu
Zyhub3RpZmljYXRpb24tPnVybCgpLnN0cmluZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CiAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIHByaW50ZigiREVTS1RPUCBOT1RJRklDQVRJT04gQ0xP
U0VEOiAlc1xuIiwgUVN0cmluZyhub3RpZmljYXRpb24tPmNvbnRlbnRzKCkudGl0bGUpLnRvVXRm
OCgpLmNvbnN0RGF0YSgpKTsKKyAgICAgICAgICAgIHByaW50ZigiREVTS1RPUCBOT1RJRklDQVRJ
T04gQ0xPU0VEOiAlc1xuIiwgUVN0cmluZyhub3RpZmljYXRpb24tPnRpdGxlKCkpLnRvVXRmOCgp
LmNvbnN0RGF0YSgpKTsKICAgICB9CiAKICAgICBOb3RpZmljYXRpb25zUXVldWU6Okl0ZXJhdG9y
IGl0ZXIgPSBtX25vdGlmaWNhdGlvbnMuZmluZChub3RpZmljYXRpb24pOwpAQCAtMjgzLDcgKzI4
Myw3IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvbkNs
aWNrZWQoY29uc3QgUVN0cmluZyYgdGl0bGUpCiAgICAgICAgIGlmIChub3RpZmljYXRpb24tPmlz
SFRNTCgpKQogICAgICAgICAgICAgbm90aWZpY2F0aW9uVGl0bGUgPSBub3RpZmljYXRpb24tPnVy
bCgpLnN0cmluZygpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBub3RpZmljYXRpb25UaXRs
ZSA9IG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZTsKKyAgICAgICAgICAgIG5vdGlmaWNh
dGlvblRpdGxlID0gbm90aWZpY2F0aW9uLT50aXRsZSgpOwogICAgICAgICBpZiAobm90aWZpY2F0
aW9uVGl0bGUgPT0gdGl0bGUpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaXRlcisrOwpA
QCAtNDIzLDcgKzQyMyw3IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmRl
dGFjaE5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvCiB2b2lkIE5vdGlmaWNh
dGlvblByZXNlbnRlckNsaWVudFF0OjpkdW1wUmVwbGFjZWRJZFRleHQoTm90aWZpY2F0aW9uKiBu
b3RpZmljYXRpb24pCiB7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikKLSAgICAgICAgcHJpbnRmKCJS
RVBMQUNJTkcgTk9USUZJQ0FUSU9OICVzXG4iLCBub3RpZmljYXRpb24tPmlzSFRNTCgpID8gUVN0
cmluZyhub3RpZmljYXRpb24tPnVybCgpLnN0cmluZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSA6
IFFTdHJpbmcobm90aWZpY2F0aW9uLT5jb250ZW50cygpLnRpdGxlKS50b1V0ZjgoKS5jb25zdERh
dGEoKSk7CisgICAgICAgIHByaW50ZigiUkVQTEFDSU5HIE5PVElGSUNBVElPTiAlc1xuIiwgbm90
aWZpY2F0aW9uLT5pc0hUTUwoKSA/IFFTdHJpbmcobm90aWZpY2F0aW9uLT51cmwoKS5zdHJpbmco
KSkudG9VdGY4KCkuY29uc3REYXRhKCkgOiBRU3RyaW5nKG5vdGlmaWNhdGlvbi0+dGl0bGUoKSku
dG9VdGY4KCkuY29uc3REYXRhKCkpOwogfQogCiB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNs
aWVudFF0OjpkdW1wU2hvd1RleHQoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCkBAIC00MzMs
OCArNDMzLDggQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6ZHVtcFNob3dU
ZXh0KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgIGVsc2UgewogICAgICAgICBwcmlu
dGYoIkRFU0tUT1AgTk9USUZJQ0FUSU9OOiVzIGljb24gJXMsIHRpdGxlICVzLCB0ZXh0ICVzXG4i
LAogICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi0+ZGlyKCkgPT0gInJ0bCIgPyAiKFJUTCki
IDogIiIsCi0gICAgICAgICAgICBRU3RyaW5nKG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5pY29u
LnN0cmluZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSwgUVN0cmluZyhub3RpZmljYXRpb24tPmNv
bnRlbnRzKCkudGl0bGUpLnRvVXRmOCgpLmNvbnN0RGF0YSgpLAotICAgICAgICAgICAgUVN0cmlu
Zyhub3RpZmljYXRpb24tPmNvbnRlbnRzKCkuYm9keSkudG9VdGY4KCkuY29uc3REYXRhKCkpOwor
ICAgICAgICAgICAgUVN0cmluZyhub3RpZmljYXRpb24tPmljb25VUkwoKS5zdHJpbmcoKSkudG9V
dGY4KCkuY29uc3REYXRhKCksIFFTdHJpbmcobm90aWZpY2F0aW9uLT50aXRsZSgpKS50b1V0Zjgo
KS5jb25zdERhdGEoKSwKKyAgICAgICAgICAgIFFTdHJpbmcobm90aWZpY2F0aW9uLT5ib2R5KCkp
LnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmlj
YXRpb25NYW5hZ2VyUHJveHkuY3BwCmluZGV4IDI3YTg4OWUyNjI0ZWQzYTZlNDhhOTIzODJjMTBi
MmI2ZGVjMTlhNWUuLmQ4MDUxYTQzOGE3YzYxZDBmM2E1ZWNlMWQ2Yzg1OGFmZTc0MzNlMmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5j
bHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25Db250ZW50cy5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V1RGOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFu
YWdlci5jcHAKaW5kZXggYTI0OWExMzllMTJiYzk4NWI1ODExZjFhODIxMmMwYWFkZTY3YmY0MC4u
MTg0ZTA0ZDUxMWZhMjYwYTVjMGRhMDAyZTNjZTQyNzUxNDQ1MWIyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb25NYW5hZ2VyLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIGJvb2wgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiwgV2ViUGFnZSog
cGFnZSkKICAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVyYXRvciBpdCA9IG1fbm90aWZp
Y2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuZmlyc3Q7CiAgICAgaXQtPnNlY29uZC5hcHBlbmQobm90
aWZpY2F0aW9uSUQpOwogICAgIAotICAgIG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLT5jb250
ZW50cygpLnRpdGxlLCBub3RpZmljYXRpb24tPmNvbnRlbnRzKCkuYm9keSwgbm90aWZpY2F0aW9u
LT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNhdGlvbi0+cmVwbGFjZUlkKCksIG5vdGlmaWNh
dGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmlu
ZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2UtPnBhZ2VJRCgpKTsKKyAgICBtX3Byb2Nlc3MtPmNv
bm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Tm90aWZpY2F0aW9u
KG5vdGlmaWNhdGlvbi0+dGl0bGUoKSwgbm90aWZpY2F0aW9uLT5ib2R5KCksIG5vdGlmaWNhdGlv
bi0+aWNvblVSTCgpLnN0cmluZygpLCBub3RpZmljYXRpb24tPnJlcGxhY2VJZCgpLCBub3RpZmlj
YXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJp
bmcoKSwgbm90aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7CiAgICAgcmV0dXJuIHRydWU7
CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131177</attachid>
            <date>2012-03-10 11:03:19 -0800</date>
            <delta_ts>2012-03-10 13:18:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80487-20120310110433.patch</filename>
            <type>text/plain</type>
            <size>29330</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUwM2IzZWU0MTVlZTdh
MzE1YjAzMDI2Y2Y0Y2VkNDk4MTFkMWU3MS4uMWYzMzA1MjY4NTQyYTY0MmMxOTlkNDZhNzYyZTYy
ZTQyODY3NzIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTA3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRl
bnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU1MTk+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHA6IEFsdGVyIHNpZ25hdHVyZSBvZiBjb25zdHJ1Y3RvciB0
byB0YWtlIHRoZSBmaWVsZHMgZGlyZWN0bHkgaW5zdGVhZCBvZgorICAgICAgICBhIE5vdGlmaWNh
dGlvbkNvbnRlbnRzIGluc3RhbmNlLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpO
b3RpZmljYXRpb24pOiBEZXJpdmUgS1VSTCBmcm9tIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBp
Y29uLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3RpZmljYXRpb24pOiBS
ZW1vdmUgY29udGVudHMoKSBhY2Nlc3NvciBhbmQgcmVwbGFjZSB3aXRoIGdldC9zZXQgZm9yIHRp
dGxlIGFuZCBib2R5LiBpY29uVVJMKCkKKyAgICAgICAgYWxyZWFkeSBleGlzdGVkLCBidXQgdXNl
IGxvY2FsIHZhcmlhYmxlIGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBOb3RpZmljYXRpb25Db250
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6aWNvblVSTCk6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb246OnRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbjo6c2V0VGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpib2R5
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0Qm9keSk6CisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKTogUmVmYWN0b3IgdG8gdXNlIG5l
dyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6IFJlbW92ZWQuCisKKyAgICAgICAgUmVtb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmgg
ZnJvbSBwcm9qZWN0IGZpbGVzCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBOb3RpZmljYXRpb25QcmVzZW50ZXIgdG8gTm90aWZpY2F0aW9u
Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI3NWYxZTFmZDlhYjFiMWQzNGE4
MGZmZDVjOThmZDIzMzBjNDBkYzIuLmMyZmM1ZTZhY2JiOTJmNWM4OTJjY2Q5NDcwNzI4YjAxMmU0
YTNhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTIt
MDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgTm90aWZp
Y2F0aW9uQ29udGVudHMgaW50byBOb3RpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
MDk2NTUxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWZhY3RvciB0byB1c2UgYWNjZXNzb3IgbWV0aG9kcyBvbiBOb3RpZmljYXRpb24uCisgICAg
ICAgICogc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlm
aWNhdGlvbjo6dGl0bGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246OmJvZHkp
OgorCiAyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW5hbWUgTm90aWZpY2F0aW9uUHJlc2VudGVyIHRvIE5vdGlmaWNhdGlvbkNsaWVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IDc2MTlkMWZiNmZlY2EwMzliMzJmNGVjZjViYjQ4NmU5MmE4ZTA0MGYuLjgz
YmU5M2E1NmM0ZjViMGM2NDRhZjYzNWM3OWRhYmEwZGQxNmEyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0wNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+
CisKKyAgICAgICAgTW92ZSBOb3RpZmljYXRpb25Db250ZW50cyBpbnRvIE5vdGlmaWNhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NTE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW06IFJl
ZmFjdG9yIHRvIHVzZSBhY2Nlc3NvciBtZXRob2RzIG9uIE5vdGlmaWNhdGlvbi4KKyAgICAgICAg
KC1bV2ViTm90aWZpY2F0aW9uIHRpdGxlXSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBi
b2R5XSk6CisKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbmFtZSBOb3RpZmljYXRpb25QcmVzZW50ZXIgdG8gTm90aWZpY2F0aW9uQ2xpZW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCmluZGV4IGQ5YzRlZTk1MzZmZDkyOGNkYWNiY2EyNjdjYjNmODU3ZTU2MDJkOTgu
LjJiMWZkYmUyMjY5MjY3MzZhMzMxOTJlNDUzMjYwYTUxMGFjNmNkODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIE1vdmUgTm90aWZpY2F0aW9uQ29udGVudHMgaW50byBOb3RpZmljYXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTUxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciB0byB1c2UgYWNjZXNzb3IgbWV0aG9k
cyBvbiBOb3RpZmljYXRpb24uCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3Jh
cHBlcjo6dGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3JhcHBlcjo6bWVz
c2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6
ZGlzcGxheU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdDo6Y2FuY2VsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25DbGlja2VkKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpkdW1wUmVwbGFjZWRJZFRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmR1bXBTaG93VGV4
dCk6CisKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbmFtZSBOb3RpZmljYXRpb25QcmVzZW50ZXIgdG8gTm90aWZpY2F0aW9uQ2xpZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNDFiYTNiYzZhNjNkNDM5ZTlhMDZlMGRkN2Y1ZTFmNTJiYmFmZWY0Mi4uMzNlODQx
YmU5NWJjODdkYTZmODJhMTI4OWEyZTllN2IwZDcxZTNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDEyLTAzLTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAg
ICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTA5NjU1MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyUHJveHkuY3BwOiBSZW1vdmUgZXh0cmFuZW91cyBpbmNsdWRlLgorICAgICAgICAqIFdl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyk6IFJlZmFjdG9yIHRvIHVz
ZSBhY2Nlc3NvciBtZXRob2RzIG9uIE5vdGlmaWNhdGlvbi4KKwogMjAxMi0wMy0wOSAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIE5vdGlmaWNhdGlvblByZXNl
bnRlciB0byBOb3RpZmljYXRpb25DbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDJiZDFmNjU0YzkwZGM3MjU5YWI5MjYzNzUzZWJiZDczMjMzMWJkMWIuLmIwYzQyNDcxMjFj
YjgxYzRlMTRjMjZlN2Y0NjI4M2VhZmU3ZjQ5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjgyMyw3ICsyODIzLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmggXAotCVNvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCBcCiAJU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA1NmMx
N2YzZmNhYmU2MDZjZGIwYWNiZTZlZWVkNGQzMDEzZDk0MWQ2Li5mNjhhZDI2Yzk3Nzc2M2U4OGZh
Y2I0Njk4MTZkODRmMWFiYjIzNWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIwNzksNyArMjA3OSw2IEBA
IEhFQURFUlMgKz0gXAogICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggXAogICAgIG5v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggXAogICAgIG5vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2xpZW50LmggXAotICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVu
dHMuaCBcCiAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmggXAogICAg
IHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaCBcCiAgICAgcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQ29udHJvbGxlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3Njg1NzI2NzRmMTVlYjNj
OWEwMDIxMzFiZDA3M2ZlYzExMTRkZTdlLi4xYTMyODAwMmNkYTRlZTE4NTQyYjNkZGZjMTFiZWY0
MzNlMDcwODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDksNyArMjA5LDYgQEAKICAgICAgICAg
ICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL1N0b3JhZ2VUcmFja2VyLmgnLAogICAgICAgICAgICAg
J01vZHVsZXMvd2ViZGF0YWJhc2UvU3RvcmFnZVRyYWNrZXJDbGllbnQuaCcsCiAgICAgICAgICAg
ICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaCcsCi0gICAgICAgICAgICAnbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oJywKICAgICAgICAgICAgICdub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9DaHJv
d2FybmluZzogTEYgd2lsbCBiZSByZXBsYWNlZCBieSBDUkxGIGluIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qLgpUaGUgZmlsZSB3aWxsIGhhdmUgaXRzIG9yaWdp
bmFsIGxpbmUgZW5kaW5ncyBpbiB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5LgptZS5oJywKICAgICAg
ICAgICAgICdwYWdlL0Nocm9tZUNsaWVudC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggM2FkMDljZjQ1NDhlZDhkM2Y0NjllN2M2MDkyNGQ5
MWYzNDdhODJhZS4uYjExNjk3ODc3NTEzYWJkMTIyNTVmNWRjNmNmMTY1OGVhMmU3YjkwZiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTUzNTk3
LDEwICs1MzU5Nyw2IEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxub3RpZmljYXRpb25zXE5vdGlm
aWNhdGlvbkNsaWVudC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlxub3RpZmljYXRpb25zXE5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCi0JCQkJPgot
CQkJPC9GaWxlPgogCQk8L0ZpbHRlcj4KIAkJPEZpbHRlcgogCQkJTmFtZT0iZWRpdGluZyIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAyZTkwNTllYjM3M2U5MWI5ODZlYmM3OTE2NDUyNGVmMjYzNDlmMzg2Li5hNDQzMWIyMDU5MmQ5
NTlmNmY3ODgwODE0NGVmZWQ1Y2QzNTJkZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MjAsNyArOTIwLDYgQEAKIAkJMzM1
MDNDQzcxMDE3QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzUwM0NDNjEwMTdBMUIxMDAzQjQ3RTEg
LyogTm90aWZpY2F0aW9uLmNwcCAqLzsgfTsKIAkJMzM5MENBNTUwRkZDMTU3QjAwOTIxOTYyIC8q
IE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcCAqLzsgfTsKIAkJMzM5MENBNTYwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlv
bkNlbnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzM5MENBNTIwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oICovOyB9Owot
CQkzMzkwQ0E1ODBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ29udGVudHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzOTBDQTU0MEZGQzE1
N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMzOUI1QjYzMTMxREFBMzIwMEY0OEQwMiAv
KiBDb29raWVzU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBDb29raWVzU3RyYXRlZ3kuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzM0MwQ0NE
NDExMkM1RTYyMDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzQzBDQ0QyMTEyQzVFNjIwMENFMDU3RCAv
KiBTZWN1cmVUZXh0SW5wdXQuY3BwICovOyB9OwogCQkzM0MwQ0NENTExMkM1RTYyMDBDRTA1N0Qg
LyogU2VjdXJlVGV4dElucHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzM0MwQ0NEMzExMkM1RTYyMDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0Lmgg
Ki87IH07CkBAIC03Nzc5LDcgKzc3NzgsNiBAQAogCQkzMzkwQ0E1MTBGRkMxNTdCMDA5MjE5NjIg
LyogTm90aWZpY2F0aW9uQ2VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IE5vdGlmaWNhdGlvbkNlbnRlci5jcHA7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzOTBDQTUy
MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTm90aWZpY2F0aW9uQ2VudGVyLmg7IHBhdGggPSBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MzkwQ0E1MzBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IG5hbWUgPSBOb3RpZmljYXRpb25DZW50ZXIuaWRsOyBwYXRoID0gbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkzMzkwQ0E1NDBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ29udGVudHMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTm90aWZpY2F0aW9uQ29udGVudHMuaDsgcGF0
aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzM5QjVCNjIxMzFEQUEzMjAwRjQ4RDAyIC8qIENvb2tpZXNTdHJhdGVn
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29raWVzU3RyYXRlZ3kuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzNDMENDRDIxMTJDNUU2MjAwQ0UwNTdEIC8q
IFNlY3VyZVRleHRJbnB1dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTZWN1cmVUZXh0SW5wdXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0Mw
Q0NEMzExMkM1RTYyMDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNlY3VyZVRleHRJbnB1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTQzOTIsNyArMTQzOTAsNiBAQAogCQkJCTMzOTBDQTUyMEZGQzE1N0IwMDky
MTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCAqLywKIAkJCQkzMzkwQ0E1MzBGRkMxNTdCMDA5
MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmlkbCAqLywKIAkJCQkzMzUwM0M5OTEwMTc5QTc0
MDAzQjQ3RTEgLyogTm90aWZpY2F0aW9uQ2xpZW50LmggKi8sCi0JCQkJMzM5MENBNTQwRkZDMTU3
QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmggKi8sCiAJCQkJMzEyOENBNjcxNDcz
MzE1MjAwNzRDNzJBIC8qIE5vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwICovLAogCQkJCTMxMjhD
QTZBMTQ3MzMxNjMwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggKi8sCiAJCQkp
OwpAQCAtMjM1NjcsNyArMjM1NjQsNiBAQAogCQkJCUE4RUE3RUJFMEExOTQ1RDAwMEE4RUY1RiAv
KiBOb3RhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEyQzBDNDExNDZEQzZDQzAwMTZDOTEx
IC8qIE5vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzM5MENBNTYwRkZDMTU3QjAw
OTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzM5MENB
NTgwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMTI4Q0E2QjE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzM1MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlm
aWNhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOThFQjFGOTUxMzEzRkUwNTAwRDBF
MUVBIC8qIE5vdEltcGxlbWVudGVkLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA1ZGUwZTUyN2M2YTMzMzg2NTU4
MTU4YWU0ODk0NTNiZDBhNWJmOWQ2Li41YmIwNDZiZTBlOWI5MDA2YmFiMTQ5ODgyMjQwZTlmMjEy
MWE0NGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
Y3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
bkNsaWVudC5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1
ZGUgIlRocmVhZGFibGVMb2FkZXIuaCIKQEAgLTczLDEwICs3MiwxMSBAQCBOb3RpZmljYXRpb246
Ok5vdGlmaWNhdGlvbihjb25zdCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIEV4YwogICAgIG1fbm90aWZpY2F0aW9uVVJMID0gdXJsOwogfQogCi1Ob3RpZmljYXRp
b246Ok5vdGlmaWNhdGlvbihjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYgY29udGVudHMsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpCitOb3RpZmljYXRpb246Ok5vdGlmaWNh
dGlvbihjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmlu
ZyYgaWNvblVSSSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29k
ZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcikKICAgICA6IEFj
dGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQogICAgICwgbV9pc0hUTUwoZmFsc2UpCi0gICAg
LCBtX2NvbnRlbnRzKGNvbnRlbnRzKQorICAgICwgbV90aXRsZSh0aXRsZSkKKyAgICAsIG1fYm9k
eShib2R5KQogICAgICwgbV9zdGF0ZShJZGxlKQogICAgICwgbV9ub3RpZmljYXRpb25DZW50ZXIo
cHJvdmlkZXIpCiB7CkBAIC04Niw3ICs4Niw4IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9u
KGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIWNvbnRlbnRzLmljb24uaXNFbXB0eSgp
ICYmICFjb250ZW50cy5pY29uLmlzVmFsaWQoKSkgeworICAgIG1faWNvbiA9IGljb25VUkkuaXNF
bXB0eSgpID8gS1VSTCgpIDogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb21wbGV0ZVVSTChp
Y29uVVJJKTsKKyAgICBpZiAoIW1faWNvbi5pc0VtcHR5KCkgJiYgIW1faWNvbi5pc1ZhbGlkKCkp
IHsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
MTA3LDkgKzEwOCw5IEBAIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBOb3RpZmljYXRpb246OmNy
ZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgcmV0dXJuIG5vdGlm
aWNhdGlvbi5yZWxlYXNlKCk7CiB9CiAKLVBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBOb3RpZmlj
YXRpb246OmNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYgY29udGVudHMsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpIAorUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+
IE5vdGlmaWNhdGlvbjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYg
Ym9keSwgY29uc3QgU3RyaW5nJiBpY29uVVJJLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHBy
b3ZpZGVyKSAKIHsgCi0gICAgUmVmUHRyPE5vdGlmaWNhdGlvbj4gbm90aWZpY2F0aW9uKGFkb3B0
UmVmKG5ldyBOb3RpZmljYXRpb24oY29udGVudHMsIGNvbnRleHQsIGVjLCBwcm92aWRlcikpKTsK
KyAgICBSZWZQdHI8Tm90aWZpY2F0aW9uPiBub3RpZmljYXRpb24oYWRvcHRSZWYobmV3IE5vdGlm
aWNhdGlvbih0aXRsZSwgYm9keSwgaWNvblVSSSwgY29udGV4dCwgZWMsIHByb3ZpZGVyKSkpOwog
ICAgIG5vdGlmaWNhdGlvbi0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAgcmV0dXJuIG5vdGlmaWNh
dGlvbi5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaAppbmRleCBkZDBkNmVkODRhZDMwNzlkODhiYTAyYTAyYmNhY2M2YTY0NWNiMzlkLi5j
MWE4ZWVlZWM0NmU2MWFiM2RlYTY3N2FiNmU3NWRhZjkwZDBlMzBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM2LDcgKzM2
LDYgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIK
ICNpbmNsdWRlICJLVVJMLmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0aW9uQ29udGVudHMuaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCiAjaW5j
bHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgpAQCAtNjIsNyArNjEsNyBAQCBjbGFzcyBO
b3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0LCBwdQogcHVibGljOgogICAgIE5vdGlmaWNhdGlvbigpOwogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IEtVUkwmLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2Vu
dGVyPiBwcm92aWRlcik7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVh
dGUoY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
RXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgU3RyaW5n
JiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcmIGljb25VUkksIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJiwgUGFzc1JlZlB0cjxOb3RpZmljYXRp
b25DZW50ZXI+IHByb3ZpZGVyKTsKICAgICAKICAgICB2aXJ0dWFsIH5Ob3RpZmljYXRpb24oKTsK
IApAQCAtNzUsMTAgKzc0LDExIEBAIHB1YmxpYzoKICAgICBLVVJMIHVybCgpIGNvbnN0IHsgcmV0
dXJuIG1fbm90aWZpY2F0aW9uVVJMOyB9CiAgICAgdm9pZCBzZXRVUkwoS1VSTCB1cmwpIHsgbV9u
b3RpZmljYXRpb25VUkwgPSB1cmw7IH0KICAgICAKLSAgICBLVVJMIGljb25VUkwoKSB7IHJldHVy
biBtX2NvbnRlbnRzLmljb247IH0KLSAgICAKLSAgICBjb25zdCBOb3RpZmljYXRpb25Db250ZW50
cyYgY29udGVudHMoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRzOyB9Ci0gICAgTm90aWZpY2F0
aW9uQ29udGVudHMmIGNvbnRlbnRzKCkgeyByZXR1cm4gbV9jb250ZW50czsgfQorICAgIEtVUkwg
aWNvblVSTCgpIHsgcmV0dXJuIG1faWNvbjsgfQorICAgIFN0cmluZyB0aXRsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdGl0bGU7IH0KKyAgICB2b2lkIHNldFRpdGxlKGNvbnN0IFN0cmluZyYgdGl0bGUp
IHsgbV90aXRsZSA9IHRpdGxlOyB9CisgICAgU3RyaW5nIGJvZHkoKSBjb25zdCB7IHJldHVybiBt
X2JvZHk7IH0KKyAgICB2b2lkIHNldEJvZHkoY29uc3QgU3RyaW5nJiBib2R5KSB7IG1fYm9keSA9
IGJvZHk7IH0KIAogICAgIFN0cmluZyBkaXIoKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdGlvbjsg
fQogICAgIHZvaWQgc2V0RGlyKGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fZGlyZWN0aW9uID0gZGly
OyB9CkBAIC0xMjcsNyArMTI3LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIE5vdGlmaWNh
dGlvbihjb25zdCBLVVJMJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUm
LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4pOwotICAgIE5vdGlmaWNhdGlvbihjb25z
dCBOb3RpZmljYXRpb25Db250ZW50cyYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRp
b25Db2RlJiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+KTsKKyAgICBOb3RpZmljYXRp
b24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5LCBjb25zdCBTdHJpbmcm
IGljb25VUkksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJiwgUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+KTsKIAogICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFj
ZQogICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7IH0KQEAgLTEzOSw4
ICsxMzksMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpbmlzaExvYWRpbmcoKTsKIAogICAgIGJv
b2wgbV9pc0hUTUw7CisKKyAgICAvLyBUZXh0IG5vdGlmaWNhdGlvbnMuCisgICAgS1VSTCBtX2lj
b247CisgICAgU3RyaW5nIG1fdGl0bGU7CisgICAgU3RyaW5nIG1fYm9keTsKKyAgICAvLyBGSVhN
RTogRGVwcmVjYXRlIEhUTUwgTm90aWZpY2F0aW9ucy4KICAgICBLVVJMIG1fbm90aWZpY2F0aW9u
VVJMOwotICAgIE5vdGlmaWNhdGlvbkNvbnRlbnRzIG1fY29udGVudHM7CiAKICAgICBTdHJpbmcg
bV9kaXJlY3Rpb247CiAgICAgU3RyaW5nIG1fcmVwbGFjZUlkOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKaW5kZXggMmNjY2MwZGZjYzZh
NmI3YTYxZGMyOTI0YWRiNzU5YWE4YWNkZjU5NS4uZDU2MGE5YjgyZjdlZTMzYmNjMzg1ZTdhMmJh
NGRhMThkYTA2Y2UwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCw3ICszNCw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uLmgiCi0jaW5jbHVkZSAiTm90aWZpY2F0
aW9uQ29udGVudHMuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC03MSw4
ICs3MCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAg
ICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICBOb3RpZmljYXRpb25Db250
ZW50cyBjb250ZW50cyhpY29uVVJJLmlzRW1wdHkoKSA/IEtVUkwoKSA6IHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+Y29tcGxldGVVUkwoaWNvblVSSSksIHRpdGxlLCBib2R5KTsKLSAgICAgICAg
cmV0dXJuIE5vdGlmaWNhdGlvbjo6Y3JlYXRlKGNvbnRlbnRzLCBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCksIGVjLCB0aGlzKTsKKyAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvbjo6Y3JlYXRlKHRp
dGxlLCBib2R5LCBpY29uVVJJLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGVjLCB0aGlzKTsK
ICAgICB9CiAKICAgICBOb3RpZmljYXRpb25DbGllbnQqIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xpZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNvbnRlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNvbnRlbnRzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExODZjMWM3
ODIzZjJhMDUwMjQwYjc2MDA2NTU2OTUyYmE0MjkxNzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25Db250ZW50cy5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Q29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJp
YnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIE5v
dGlmaWNhdGlvbkNvbnRlbnRzX2gKLSNkZWZpbmUgTm90aWZpY2F0aW9uQ29udGVudHNfaAotCi0j
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCi0KLSNpbmNsdWRlICJLVVJMLmgiCi0jaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IE5v
dGlmaWNhdGlvbkNvbnRlbnRzIHsgCi1wdWJsaWM6Ci0gICAgTm90aWZpY2F0aW9uQ29udGVudHMo
KSB7IH0KLSAgICBOb3RpZmljYXRpb25Db250ZW50cyhjb25zdCBLVVJMJiBpY29uVXJsLCBjb25z
dCBTdHJpbmcmIG5vdGlmaWNhdGlvblRpdGxlLCBjb25zdCBTdHJpbmcmIG5vdGlmaWNhdGlvbkJv
ZHkpCi0gICAgICAgIDogaWNvbihpY29uVXJsKQotICAgICAgICAsIHRpdGxlKG5vdGlmaWNhdGlv
blRpdGxlKQotICAgICAgICAsIGJvZHkobm90aWZpY2F0aW9uQm9keSkKLSAgICB7IH0KLQotICAg
IEtVUkwgaWNvbjsKLSAgICBTdHJpbmcgdGl0bGU7Ci0gICAgU3RyaW5nIGJvZHk7Ci19OwotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTk9USUZJQ0FUSU9OUykK
LQotI2VuZGlmIC8vIE5vdGlmaWNhdGlvbkNvbnRlbnRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwCmluZGV4IDg0OWRjNGY2NzRhNDFhZjEwZmFm
OWQyODgyYTI2MDg5ODBmMTBmOWEuLmNjODBkNzgxNzY0YzRlYjc3Mzc0NzhiMzkyMTBlOGFmMmEw
ZGU1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk5vdGlmaWNh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9u
LmNwcApAQCAtODgsMTMgKzg4LDEzIEBAIFdlYlVSTCBXZWJOb3RpZmljYXRpb246Omljb25VUkwo
KSBjb25zdAogV2ViU3RyaW5nIFdlYk5vdGlmaWNhdGlvbjo6dGl0bGUoKSBjb25zdAogewogICAg
IEFTU0VSVCghaXNIVE1MKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmNvbnRlbnRzKCkudGl0
bGU7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dGl0bGUoKTsKIH0KIAogV2ViU3RyaW5nIFdlYk5v
dGlmaWNhdGlvbjo6Ym9keSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hUTUwoKSk7Ci0gICAg
cmV0dXJuIG1fcHJpdmF0ZS0+Y29udGVudHMoKS5ib2R5OworICAgIHJldHVybiBtX3ByaXZhdGUt
PmJvZHkoKTsKIH0KIAogV2ViVGV4dERpcmVjdGlvbiBXZWJOb3RpZmljYXRpb246OmRpcmVjdGlv
bigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlm
aWNhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1t
CmluZGV4IDU1NzMzMmNiYTFiMDgyOTljMzM0ZTFhMjUyNjg2NDNkNjAxNGVlMDYuLmRiZDU0NmRh
NzRmMDAzMmExNTQ1ZjFhNmEyOTY3ZDQ1YzAwYTY5MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViTm90aWZpY2F0aW9uLm1tCkBAIC04NSw3ICs4NSw3IEBAIE5vdGlmaWNhdGlv
biogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIHsKICNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7Ci0gICAgcmV0dXJuIGNvcmUoc2Vs
ZiktPmNvbnRlbnRzKCkudGl0bGU7CisgICAgcmV0dXJuIGNvcmUoc2VsZiktPnRpdGxlKCk7CiAj
ZWxzZQogICAgIHJldHVybiBuaWw7CiAjZW5kaWYKQEAgLTk1LDcgKzk1LDcgQEAgTm90aWZpY2F0
aW9uKiBjb3JlKFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKQogewogI2lmIEVOQUJMRShO
T1RJRklDQVRJT05TKQogICAgIEFTU0VSVChjb3JlKHNlbGYpKTsKLSAgICByZXR1cm4gY29yZShz
ZWxmKS0+Y29udGVudHMoKS5ib2R5OworICAgIHJldHVybiBjb3JlKHNlbGYpLT5ib2R5KCk7CiAj
ZWxzZQogICAgIHJldHVybiBuaWw7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwIGIvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dC5jcHAKaW5kZXggMDAwNTIxODRhOWZmODcxNTEwZTNkODAxZTFkYTBhODdhYzlhZGU2My4uMTk2
ZjM0MTUyOGM5YmE1NmI4M2UwMTc5OGRjMzhmYWZjNTAyZGI1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdC5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgY29uc3QgUVN0cmluZyBOb3RpZmlj
YXRpb25XcmFwcGVyOjp0aXRsZSgpIGNvbnN0CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAg
ICAgTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24gPSBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRRdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPm5vdGlmaWNhdGlvbkZvcldyYXBwZXIodGhp
cyk7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikKLSAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi0+
Y29udGVudHMoKS50aXRsZTsKKyAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi0+dGl0bGUoKTsK
ICNlbmRpZgogICAgIHJldHVybiBRU3RyaW5nKCk7CiB9CkBAIC0xMDEsNyArMTAxLDcgQEAgY29u
c3QgUVN0cmluZyBOb3RpZmljYXRpb25XcmFwcGVyOjptZXNzYWdlKCkgY29uc3QKICNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbiA9IE5vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKS0+bm90aWZp
Y2F0aW9uRm9yV3JhcHBlcih0aGlzKTsKICAgICBpZiAobm90aWZpY2F0aW9uKQotICAgICAgICBy
ZXR1cm4gbm90aWZpY2F0aW9uLT5jb250ZW50cygpLmJvZHk7CisgICAgICAgIHJldHVybiBub3Rp
ZmljYXRpb24tPmJvZHkoKTsKICNlbmRpZgogICAgIHJldHVybiBRU3RyaW5nKCk7CiB9CkBAIC0x
OTcsOCArMTk3LDggQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6ZGlzcGxh
eU5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGkKICAgICBpZiAobm90aWZpY2F0
aW9uLT5pc0hUTUwoKSkKICAgICAgICAgbWVzc2FnZSA9IG5vdGlmaWNhdGlvbi0+dXJsKCkuc3Ry
aW5nKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIHRpdGxlID0gbm90aWZpY2F0aW9uLT5jb250ZW50
cygpLnRpdGxlOwotICAgICAgICBtZXNzYWdlID0gbm90aWZpY2F0aW9uLT5jb250ZW50cygpLmJv
ZHk7CisgICAgICAgIHRpdGxlID0gbm90aWZpY2F0aW9uLT50aXRsZSgpOworICAgICAgICBtZXNz
YWdlID0gbm90aWZpY2F0aW9uLT5ib2R5KCk7CiAgICAgfQogCiAgICAgaWYgKG1fcGxhdGZvcm1Q
bHVnaW4ucGx1Z2luKCkgJiYgbV9wbGF0Zm9ybVBsdWdpbi5wbHVnaW4oKS0+c3VwcG9ydHNFeHRl
bnNpb24oUVdlYktpdFBsYXRmb3JtUGx1Z2luOjpOb3RpZmljYXRpb25zKSkKQEAgLTIzMyw3ICsy
MzMsNyBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpkaXNwbGF5Tm90aWZp
Y2F0aW9uKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aQogI2lmbmRlZiBRVF9OT19TWVNURU1UUkFZ
SUNPTgogICAgIHdyYXBwZXItPmNvbm5lY3Qod3JhcHBlci0+bV9ub3RpZmljYXRpb25JY29uLmdl
dCgpLCBTSUdOQUwobWVzc2FnZUNsaWNrZWQoKSksIHdyYXBwZXIsIFNMT1Qobm90aWZpY2F0aW9u
Q2xpY2tlZCgpKSk7CiAgICAgd3JhcHBlci0+bV9ub3RpZmljYXRpb25JY29uLT5zaG93KCk7Ci0g
ICAgd3JhcHBlci0+bV9ub3RpZmljYXRpb25JY29uLT5zaG93TWVzc2FnZShub3RpZmljYXRpb24t
PmNvbnRlbnRzKCkudGl0bGUsIG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5KTsKKyAgICB3
cmFwcGVyLT5tX25vdGlmaWNhdGlvbkljb24tPnNob3dNZXNzYWdlKG5vdGlmaWNhdGlvbi0+dGl0
bGUoKSwgbm90aWZpY2F0aW9uLT5ib2R5KCkpOwogI2VuZGlmCiB9CiAKQEAgLTI0Myw3ICsyNDMs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjYW5jZWwoTm90aWZpY2F0
aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIGlmIChub3RpZmljYXRpb24tPmlzSFRNTCgpKQog
ICAgICAgICAgICAgcHJpbnRmKCJERVNLVE9QIE5PVElGSUNBVElPTiBDTE9TRUQ6ICVzXG4iLCBR
U3RyaW5nKG5vdGlmaWNhdGlvbi0+dXJsKCkuc3RyaW5nKCkpLnRvVXRmOCgpLmNvbnN0RGF0YSgp
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcHJpbnRmKCJERVNLVE9QIE5PVElGSUNBVElP
TiBDTE9TRUQ6ICVzXG4iLCBRU3RyaW5nKG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZSku
dG9VdGY4KCkuY29uc3REYXRhKCkpOworICAgICAgICAgICAgcHJpbnRmKCJERVNLVE9QIE5PVElG
SUNBVElPTiBDTE9TRUQ6ICVzXG4iLCBRU3RyaW5nKG5vdGlmaWNhdGlvbi0+dGl0bGUoKSkudG9V
dGY4KCkuY29uc3REYXRhKCkpOwogICAgIH0KIAogICAgIE5vdGlmaWNhdGlvbnNRdWV1ZTo6SXRl
cmF0b3IgaXRlciA9IG1fbm90aWZpY2F0aW9ucy5maW5kKG5vdGlmaWNhdGlvbik7CkBAIC0yODMs
NyArMjgzLDcgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0
aW9uQ2xpY2tlZChjb25zdCBRU3RyaW5nJiB0aXRsZSkKICAgICAgICAgaWYgKG5vdGlmaWNhdGlv
bi0+aXNIVE1MKCkpCiAgICAgICAgICAgICBub3RpZmljYXRpb25UaXRsZSA9IG5vdGlmaWNhdGlv
bi0+dXJsKCkuc3RyaW5nKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG5vdGlmaWNhdGlv
blRpdGxlID0gbm90aWZpY2F0aW9uLT5jb250ZW50cygpLnRpdGxlOworICAgICAgICAgICAgbm90
aWZpY2F0aW9uVGl0bGUgPSBub3RpZmljYXRpb24tPnRpdGxlKCk7CiAgICAgICAgIGlmIChub3Rp
ZmljYXRpb25UaXRsZSA9PSB0aXRsZSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBpdGVy
Kys7CkBAIC00MjMsNyArNDIzLDcgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dDo6ZGV0YWNoTm90aWZpY2F0aW9uKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW8KIHZvaWQgTm90
aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmR1bXBSZXBsYWNlZElkVGV4dChOb3RpZmljYXRp
b24qIG5vdGlmaWNhdGlvbikKIHsKICAgICBpZiAobm90aWZpY2F0aW9uKQotICAgICAgICBwcmlu
dGYoIlJFUExBQ0lORyBOT1RJRklDQVRJT04gJXNcbiIsIG5vdGlmaWNhdGlvbi0+aXNIVE1MKCkg
PyBRU3RyaW5nKG5vdGlmaWNhdGlvbi0+dXJsKCkuc3RyaW5nKCkpLnRvVXRmOCgpLmNvbnN0RGF0
YSgpIDogUVN0cmluZyhub3RpZmljYXRpb24tPmNvbnRlbnRzKCkudGl0bGUpLnRvVXRmOCgpLmNv
bnN0RGF0YSgpKTsKKyAgICAgICAgcHJpbnRmKCJSRVBMQUNJTkcgTk9USUZJQ0FUSU9OICVzXG4i
LCBub3RpZmljYXRpb24tPmlzSFRNTCgpID8gUVN0cmluZyhub3RpZmljYXRpb24tPnVybCgpLnN0
cmluZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSA6IFFTdHJpbmcobm90aWZpY2F0aW9uLT50aXRs
ZSgpKS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CiB9CiAKIHZvaWQgTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQ6OmR1bXBTaG93VGV4dChOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKQEAg
LTQzMyw4ICs0MzMsOCBAQCB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpkdW1w
U2hvd1RleHQoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgZWxzZSB7CiAgICAgICAg
IHByaW50ZigiREVTS1RPUCBOT1RJRklDQVRJT046JXMgaWNvbiAlcywgdGl0bGUgJXMsIHRleHQg
JXNcbiIsCiAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLT5kaXIoKSA9PSAicnRsIiA/ICIo
UlRMKSIgOiAiIiwKLSAgICAgICAgICAgIFFTdHJpbmcobm90aWZpY2F0aW9uLT5jb250ZW50cygp
Lmljb24uc3RyaW5nKCkpLnRvVXRmOCgpLmNvbnN0RGF0YSgpLCBRU3RyaW5nKG5vdGlmaWNhdGlv
bi0+Y29udGVudHMoKS50aXRsZSkudG9VdGY4KCkuY29uc3REYXRhKCksCi0gICAgICAgICAgICBR
U3RyaW5nKG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5KS50b1V0ZjgoKS5jb25zdERhdGEo
KSk7CisgICAgICAgICAgICBRU3RyaW5nKG5vdGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmluZygp
KS50b1V0ZjgoKS5jb25zdERhdGEoKSwgUVN0cmluZyhub3RpZmljYXRpb24tPnRpdGxlKCkpLnRv
VXRmOCgpLmNvbnN0RGF0YSgpLAorICAgICAgICAgICAgUVN0cmluZyhub3RpZmljYXRpb24tPmJv
ZHkoKSkudG9VdGY4KCkuY29uc3REYXRhKCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdl
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKaW5kZXggMjdhODg5ZTI2MjRlZDNhNmU0OGE5MjM4
MmMxMGIyYjZkZWMxOWE1ZS4uZDgwNTFhNDM4YTdjNjFkMGYzYTVlY2UxZDZjODU4YWZlNzQzM2Uy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCkBAIC0zMyw3
ICszMyw2IEBACiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlck1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViU2VjdXJpdHlPcmlnaW4uaCIK
LSNpbmNsdWRlIDxXZWJDb3JlL05vdGlmaWNhdGlvbkNvbnRlbnRzLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBXVEY7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRp
b25NYW5hZ2VyLmNwcAppbmRleCA5ZTVjZjk1NDY2NDlkNGJjYmIzOWYxM2I1MWU1MmQzMjZlNzlh
NGU3Li5jNjljMmZjYzNjYjUzMDhhMzlkNzQ1ZmVmYmVjNGU5MjYxZTk2ODcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgYm9vbCBXZWJO
b3RpZmljYXRpb25NYW5hZ2VyOjpzaG93KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uLCBXZWJQ
YWdlKiBwYWdlKQogICAgIE5vdGlmaWNhdGlvbkNvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ID0gbV9u
b3RpZmljYXRpb25Db250ZXh0TWFwLmFkZChub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSwgVmVjdG9yPHVpbnQ2NF90PigpKS5maXJzdDsKICAgICBpdC0+c2Vjb25kLmFwcGVu
ZChub3RpZmljYXRpb25JRCk7CiAgICAgCi0gICAgbV9wcm9jZXNzLT5jb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb24t
PmNvbnRlbnRzKCkudGl0bGUsIG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5LCBub3RpZmlj
YXRpb24tPmljb25VUkwoKS5zdHJpbmcoKSwgbm90aWZpY2F0aW9uLT5yZXBsYWNlSWQoKSwgbm90
aWZpY2F0aW9uLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5T3JpZ2luKCktPnRv
U3RyaW5nKCksIG5vdGlmaWNhdGlvbklEKSwgcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcHJvY2Vz
cy0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmlj
YXRpb24obm90aWZpY2F0aW9uLT50aXRsZSgpLCBub3RpZmljYXRpb24tPmJvZHkoKSwgbm90aWZp
Y2F0aW9uLT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNhdGlvbi0+cmVwbGFjZUlkKCksIG5v
dGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT50
b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2UtPnBhZ2VJRCgpKTsKICAgICByZXR1cm4g
dHJ1ZTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131186</attachid>
            <date>2012-03-10 13:18:50 -0800</date>
            <delta_ts>2012-03-15 11:31:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80487-20120310132004.patch</filename>
            <type>text/plain</type>
            <size>29172</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUwM2IzZWU0MTVlZTdh
MzE1YjAzMDI2Y2Y0Y2VkNDk4MTFkMWU3MS4uMWYzMzA1MjY4NTQyYTY0MmMxOTlkNDZhNzYyZTYy
ZTQyODY3NzIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTA3ICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRl
bnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA5NjU1MTk+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5jcHA6IEFsdGVyIHNpZ25hdHVyZSBvZiBjb25zdHJ1Y3RvciB0
byB0YWtlIHRoZSBmaWVsZHMgZGlyZWN0bHkgaW5zdGVhZCBvZgorICAgICAgICBhIE5vdGlmaWNh
dGlvbkNvbnRlbnRzIGluc3RhbmNlLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpO
b3RpZmljYXRpb24pOiBEZXJpdmUgS1VSTCBmcm9tIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBp
Y29uLgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjcmVhdGUpOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6CisgICAgICAgIChOb3RpZmljYXRpb24pOiBS
ZW1vdmUgY29udGVudHMoKSBhY2Nlc3NvciBhbmQgcmVwbGFjZSB3aXRoIGdldC9zZXQgZm9yIHRp
dGxlIGFuZCBib2R5LiBpY29uVVJMKCkKKyAgICAgICAgYWxyZWFkeSBleGlzdGVkLCBidXQgdXNl
IGxvY2FsIHZhcmlhYmxlIGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaCBOb3RpZmljYXRpb25Db250
ZW50cy4KKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6aWNvblVSTCk6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb246OnRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbjo6c2V0VGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpib2R5
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6c2V0Qm9keSk6CisgICAgICAgICog
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbkNlbnRlcjo6Y3JlYXRlTm90aWZpY2F0aW9uKTogUmVmYWN0b3IgdG8gdXNlIG5l
dyBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRl
bnRzLmg6IFJlbW92ZWQuCisKKyAgICAgICAgUmVtb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzLmgg
ZnJvbSBwcm9qZWN0IGZpbGVzCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBOb3RpZmljYXRpb25QcmVzZW50ZXIgdG8gTm90aWZpY2F0aW9u
Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI3NWYxZTFmZDlhYjFiMWQzNGE4
MGZmZDVjOThmZDIzMzBjNDBkYzIuLmMyZmM1ZTZhY2JiOTJmNWM4OTJjY2Q5NDcwNzI4YjAxMmU0
YTNhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTIt
MDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgTm90aWZp
Y2F0aW9uQ29udGVudHMgaW50byBOb3RpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
MDk2NTUxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWZhY3RvciB0byB1c2UgYWNjZXNzb3IgbWV0aG9kcyBvbiBOb3RpZmljYXRpb24uCisgICAg
ICAgICogc3JjL1dlYk5vdGlmaWNhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlm
aWNhdGlvbjo6dGl0bGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246OmJvZHkp
OgorCiAyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW5hbWUgTm90aWZpY2F0aW9uUHJlc2VudGVyIHRvIE5vdGlmaWNhdGlvbkNsaWVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IDc2MTlkMWZiNmZlY2EwMzliMzJmNGVjZjViYjQ4NmU5MmE4ZTA0MGYuLjgz
YmU5M2E1NmM0ZjViMGM2NDRhZjYzNWM3OWRhYmEwZGQxNmEyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0wNyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+
CisKKyAgICAgICAgTW92ZSBOb3RpZmljYXRpb25Db250ZW50cyBpbnRvIE5vdGlmaWNhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0ODcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEwOTY1NTE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJOb3RpZmljYXRpb24ubW06IFJl
ZmFjdG9yIHRvIHVzZSBhY2Nlc3NvciBtZXRob2RzIG9uIE5vdGlmaWNhdGlvbi4KKyAgICAgICAg
KC1bV2ViTm90aWZpY2F0aW9uIHRpdGxlXSk6CisgICAgICAgICgtW1dlYk5vdGlmaWNhdGlvbiBi
b2R5XSk6CisKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbmFtZSBOb3RpZmljYXRpb25QcmVzZW50ZXIgdG8gTm90aWZpY2F0aW9uQ2xpZW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCmluZGV4IGQ5YzRlZTk1MzZmZDkyOGNkYWNiY2EyNjdjYjNmODU3ZTU2MDJkOTgu
LjJiMWZkYmUyMjY5MjY3MzZhMzMxOTJlNDUzMjYwYTUxMGFjNmNkODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDMtMDcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgorCisgICAgICAgIE1vdmUgTm90aWZpY2F0aW9uQ29udGVudHMgaW50byBOb3RpZmljYXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDg3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDk2NTUxOT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvciB0byB1c2UgYWNjZXNzb3IgbWV0aG9k
cyBvbiBOb3RpZmljYXRpb24uCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3Jh
cHBlcjo6dGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uV3JhcHBlcjo6bWVz
c2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6
ZGlzcGxheU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdDo6Y2FuY2VsKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBy
ZXNlbnRlckNsaWVudFF0Ojpub3RpZmljYXRpb25DbGlja2VkKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpkdW1wUmVwbGFjZWRJZFRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OmR1bXBTaG93VGV4
dCk6CisKIDIwMTItMDMtMDkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbmFtZSBOb3RpZmljYXRpb25QcmVzZW50ZXIgdG8gTm90aWZpY2F0aW9uQ2xpZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNDFiYTNiYzZhNjNkNDM5ZTlhMDZlMGRkN2Y1ZTFmNTJiYmFmZWY0Mi4uMzNlODQx
YmU5NWJjODdkYTZmODJhMTI4OWEyZTllN2IwZDcxZTNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDEyLTAzLTA3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAg
ICBNb3ZlIE5vdGlmaWNhdGlvbkNvbnRlbnRzIGludG8gTm90aWZpY2F0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQ4NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTA5NjU1MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25N
YW5hZ2VyUHJveHkuY3BwOiBSZW1vdmUgZXh0cmFuZW91cyBpbmNsdWRlLgorICAgICAgICAqIFdl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyk6IFJlZmFjdG9yIHRvIHVz
ZSBhY2Nlc3NvciBtZXRob2RzIG9uIE5vdGlmaWNhdGlvbi4KKwogMjAxMi0wMy0wOSAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIE5vdGlmaWNhdGlvblByZXNl
bnRlciB0byBOb3RpZmljYXRpb25DbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDJiZDFmNjU0YzkwZGM3MjU5YWI5MjYzNzUzZWJiZDczMjMzMWJkMWIuLmIwYzQyNDcxMjFj
YjgxYzRlMTRjMjZlN2Y0NjI4M2VhZmU3ZjQ5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjgyMyw3ICsyODIzLDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2xpZW50LmggXAotCVNvdXJjZS9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCBcCiAJU291cmNlL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA1NmMx
N2YzZmNhYmU2MDZjZGIwYWNiZTZlZWVkNGQzMDEzZDk0MWQ2Li5mNjhhZDI2Yzk3Nzc2M2U4OGZh
Y2I0Njk4MTZkODRmMWFiYjIzNWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIwNzksNyArMjA3OSw2IEBA
IEhFQURFUlMgKz0gXAogICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggXAogICAgIG5v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmggXAogICAgIG5vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2xpZW50LmggXAotICAgIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVu
dHMuaCBcCiAgICAgbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmggXAogICAg
IHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaCBcCiAgICAgcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQ29udHJvbGxlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3Njg1NzI2NzRmMTVlYjNj
OWEwMDIxMzFiZDA3M2ZlYzExMTRkZTdlLi4xYTMyODAwMmNkYTRlZTE4NTQyYjNkZGZjMTFiZWY0
MzNlMDcwODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMDksNyArMjA5LDYgQEAKICAgICAgICAg
ICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL1N0b3JhZ2VUcmFja2VyLmgnLAogICAgICAgICAgICAg
J01vZHVsZXMvd2ViZGF0YWJhc2UvU3RvcmFnZVRyYWNrZXJDbGllbnQuaCcsCiAgICAgICAgICAg
ICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DbGllbnQuaCcsCi0gICAgICAgICAgICAnbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oJywKICAgICAgICAgICAgICdub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9DaHJv
bWUuaCcsCiAgICAgICAgICAgICAncGFnZS9DaHJvbWVDbGllbnQuaCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDNhZDA5Y2Y0NTQ4ZWQ4ZDNm
NDY5ZTdjNjA5MjRkOTFmMzQ3YTgyYWUuLmIxMTY5Nzg3NzUxM2FiZDEyMjU1ZjVkYzZjZjE2NThl
YTJlN2I5MGYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCkBAIC01MzU5NywxMCArNTM1OTcsNiBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cbm90aWZp
Y2F0aW9uc1xOb3RpZmljYXRpb25DbGllbnQuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+Ci0JCQk8Rmls
ZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cbm90aWZpY2F0aW9uc1xOb3RpZmljYXRpb25Db250ZW50
cy5oIgotCQkJCT4KLQkJCTwvRmlsZT4KIAkJPC9GaWx0ZXI+CiAJCTxGaWx0ZXIKIAkJCU5hbWU9
ImVkaXRpbmciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMmU5MDU5ZWIzNzNlOTFiOTg2ZWJjNzkxNjQ1MjRlZjI2MzQ5ZjM4Ni4u
YTQ0MzFiMjA1OTJkOTU5ZjZmNzg4MDgxNDRlZmVkNWNkMzUyZGYyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTIwLDcgKzky
MCw2IEBACiAJCTMzNTAzQ0M3MTAxN0ExQjEwMDNCNDdFMSAvKiBOb3RpZmljYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM1MDNDQzYxMDE3
QTFCMTAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbi5jcHAgKi87IH07CiAJCTMzOTBDQTU1MEZGQzE1
N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzM5MENBNTEwRkZDMTU3QjAwOTIxOTYyIC8qIE5v
dGlmaWNhdGlvbkNlbnRlci5jcHAgKi87IH07CiAJCTMzOTBDQTU2MEZGQzE1N0IwMDkyMTk2MiAv
KiBOb3RpZmljYXRpb25DZW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMzOTBDQTUyMEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50
ZXIuaCAqLzsgfTsKLQkJMzM5MENBNTgwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNv
bnRlbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MzkwQ0E1NDBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ29udGVudHMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMzlCNUI2MzEzMURB
QTMyMDBGNDhEMDIgLyogQ29va2llc1N0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzlCNUI2MjEzMURBQTMyMDBGNDhEMDIgLyogQ29va2ll
c1N0cmF0ZWd5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMzNDMENDRDQxMTJDNUU2MjAwQ0UwNTdEIC8qIFNlY3VyZVRleHRJbnB1dC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0MwQ0NEMjExMkM1
RTYyMDBDRTA1N0QgLyogU2VjdXJlVGV4dElucHV0LmNwcCAqLzsgfTsKIAkJMzNDMENDRDUxMTJD
NUU2MjAwQ0UwNTdEIC8qIFNlY3VyZVRleHRJbnB1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNDMENDRDMxMTJDNUU2MjAwQ0UwNTdEIC8qIFNlY3Vy
ZVRleHRJbnB1dC5oICovOyB9OwpAQCAtNzc3OSw3ICs3Nzc4LDYgQEAKIAkJMzM5MENBNTEwRkZD
MTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBOb3RpZmljYXRpb25DZW50ZXIuY3BwOyBwYXRoID0gbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMzkwQ0E1MjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5vdGlmaWNhdGlvbkNlbnRlci5oOyBwYXRo
ID0gbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzM5MENBNTMwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRl
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTm90aWZpY2F0aW9uQ2VudGVyLmlkbDsgcGF0
aCA9IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJMzM5MENBNTQwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNv
bnRlbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5vdGlmaWNhdGlvbkNv
bnRlbnRzLmg7IHBhdGggPSBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzOUI1QjYyMTMxREFBMzIwMEY0OEQwMiAvKiBD
b29raWVzU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29va2ll
c1N0cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzQzBDQ0QyMTEyQzVF
NjIwMENFMDU3RCAvKiBTZWN1cmVUZXh0SW5wdXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2VjdXJlVGV4dElucHV0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzNDMENDRDMxMTJDNUU2MjAwQ0UwNTdEIC8qIFNlY3VyZVRleHRJbnB1dC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWN1cmVUZXh0SW5wdXQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MzkyLDcgKzE0MzkwLDYgQEAKIAkJCQkzMzkwQ0E1
MjBGRkMxNTdCMDA5MjE5NjIgLyogTm90aWZpY2F0aW9uQ2VudGVyLmggKi8sCiAJCQkJMzM5MENB
NTMwRkZDMTU3QjAwOTIxOTYyIC8qIE5vdGlmaWNhdGlvbkNlbnRlci5pZGwgKi8sCiAJCQkJMzM1
MDNDOTkxMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5oICovLAotCQkJCTMz
OTBDQTU0MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5oICovLAogCQkJ
CTMxMjhDQTY3MTQ3MzMxNTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCAq
LywKIAkJCQkzMTI4Q0E2QTE0NzMzMTYzMDA3NEM3MkEgLyogTm90aWZpY2F0aW9uQ29udHJvbGxl
ci5oICovLAogCQkJKTsKQEAgLTIzNTY3LDcgKzIzNTY0LDYgQEAKIAkJCQlBOEVBN0VCRTBBMTk0
NUQwMDBBOEVGNUYgLyogTm90YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMkMwQzQxMTQ2
REM2Q0MwMDE2QzkxMSAvKiBOb3RpZmljYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMzOTBD
QTU2MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25DZW50ZXIuaCBpbiBIZWFkZXJzICov
LAotCQkJCTMzOTBDQTU4MEZGQzE1N0IwMDkyMTk2MiAvKiBOb3RpZmljYXRpb25Db250ZW50cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMzEyOENBNkIxNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNh
dGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzNTAzQzlBMTAxNzlBNzQwMDNC
NDdFMSAvKiBOb3RpZmljYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk4RUIxRjk1
MTMxM0ZFMDUwMEQwRTFFQSAvKiBOb3RJbXBsZW1lbnRlZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggNWRlMGU1
MjdjNmEzMzM4NjU1ODE1OGFlNDg5NDUzYmQwYTViZjlkNi4uNWJiMDQ2YmUwZTliOTAwNmJhYjE0
OTg4MjI0MGU5ZjIxMjFhNDRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAw
OSwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDksIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNsdWRl
ICJOb3RpZmljYXRpb25DbGllbnQuaCIKLSNpbmNsdWRlICJOb3RpZmljYXRpb25Db250ZW50cy5o
IgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9u
c2UuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCkBAIC03MywxMCArNzIsMTEgQEAg
Tm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oY29uc3QgS1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBFeGMKICAgICBtX25vdGlmaWNhdGlvblVSTCA9IHVybDsKIH0K
IAotTm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMm
IGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2Rl
JiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKQorTm90aWZpY2F0
aW9uOjpOb3RpZmljYXRpb24oY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiBib2R5
LCBjb25zdCBTdHJpbmcmIGljb25VUkksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlk
ZXIpCiAgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKICAgICAsIG1faXNIVE1M
KGZhbHNlKQotICAgICwgbV9jb250ZW50cyhjb250ZW50cykKKyAgICAsIG1fdGl0bGUodGl0bGUp
CisgICAgLCBtX2JvZHkoYm9keSkKICAgICAsIG1fc3RhdGUoSWRsZSkKICAgICAsIG1fbm90aWZp
Y2F0aW9uQ2VudGVyKHByb3ZpZGVyKQogewpAQCAtODYsNyArODYsOCBAQCBOb3RpZmljYXRpb246
Ok5vdGlmaWNhdGlvbihjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYgY29udGVudHMsIFNjcmlw
dEV4ZWN1dGlvbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFjb250ZW50cy5p
Y29uLmlzRW1wdHkoKSAmJiAhY29udGVudHMuaWNvbi5pc1ZhbGlkKCkpIHsKKyAgICBtX2ljb24g
PSBpY29uVVJJLmlzRW1wdHkoKSA/IEtVUkwoKSA6IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
Y29tcGxldGVVUkwoaWNvblVSSSk7CisgICAgaWYgKCFtX2ljb24uaXNFbXB0eSgpICYmICFtX2lj
b24uaXNWYWxpZCgpKSB7CiAgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTEwNyw5ICsxMDgsOSBAQCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gTm90
aWZpY2F0aW9uOjpjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25DbwogICAg
IHJldHVybiBub3RpZmljYXRpb24ucmVsZWFzZSgpOwogfQogCi1QYXNzUmVmUHRyPE5vdGlmaWNh
dGlvbj4gTm90aWZpY2F0aW9uOjpjcmVhdGUoY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNv
bnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBl
YywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKSAKK1Bhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uPiBOb3RpZmljYXRpb246OmNyZWF0ZShjb25zdCBTdHJpbmcmIHRpdGxlLCBj
b25zdCBTdHJpbmcmIGJvZHksIGNvbnN0IFN0cmluZyYgaWNvblVSSSwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0
aW9uQ2VudGVyPiBwcm92aWRlcikgCiB7IAotICAgIFJlZlB0cjxOb3RpZmljYXRpb24+IG5vdGlm
aWNhdGlvbihhZG9wdFJlZihuZXcgTm90aWZpY2F0aW9uKGNvbnRlbnRzLCBjb250ZXh0LCBlYywg
cHJvdmlkZXIpKSk7CisgICAgUmVmUHRyPE5vdGlmaWNhdGlvbj4gbm90aWZpY2F0aW9uKGFkb3B0
UmVmKG5ldyBOb3RpZmljYXRpb24odGl0bGUsIGJvZHksIGljb25VUkksIGNvbnRleHQsIGVjLCBw
cm92aWRlcikpKTsKICAgICBub3RpZmljYXRpb24tPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgIHJl
dHVybiBub3RpZmljYXRpb24ucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZGQwZDZlZDg0YWQzMDc5ZDg4YmEwMmEwMmJjYWNj
NmE2NDVjYjM5ZC4uYzFhOGVlZWVjNDZlNjFhYjNkZWE2NzdhYjZlNzVkYWY5MGQwZTMwZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSwgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV2
ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgotI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNv
bnRlbnRzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGV4dERpcmVj
dGlvbi5oIgogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKQEAgLTYyLDcgKzYx
LDcgQEAgY2xhc3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9u
PiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHUKIHB1YmxpYzoKICAgICBOb3RpZmljYXRpb24o
KTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJM
JiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmLCBQYXNzUmVmUHRyPE5v
dGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlm
aWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRl
cj4gcHJvdmlkZXIpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwgY29uc3QgU3RyaW5nJiBp
Y29uVVJJLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgCiAgICAgdmlydHVhbCB+Tm90
aWZpY2F0aW9uKCk7CiAKQEAgLTc1LDEwICs3NCwxMSBAQCBwdWJsaWM6CiAgICAgS1VSTCB1cmwo
KSBjb25zdCB7IHJldHVybiBtX25vdGlmaWNhdGlvblVSTDsgfQogICAgIHZvaWQgc2V0VVJMKEtV
UkwgdXJsKSB7IG1fbm90aWZpY2F0aW9uVVJMID0gdXJsOyB9CiAgICAgCi0gICAgS1VSTCBpY29u
VVJMKCkgeyByZXR1cm4gbV9jb250ZW50cy5pY29uOyB9Ci0gICAgCi0gICAgY29uc3QgTm90aWZp
Y2F0aW9uQ29udGVudHMmIGNvbnRlbnRzKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50czsgfQot
ICAgIE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cygpIHsgcmV0dXJuIG1fY29udGVudHM7
IH0KKyAgICBLVVJMIGljb25VUkwoKSB7IHJldHVybiBtX2ljb247IH0KKyAgICBTdHJpbmcgdGl0
bGUoKSBjb25zdCB7IHJldHVybiBtX3RpdGxlOyB9CisgICAgdm9pZCBzZXRUaXRsZShjb25zdCBT
dHJpbmcmIHRpdGxlKSB7IG1fdGl0bGUgPSB0aXRsZTsgfQorICAgIFN0cmluZyBib2R5KCkgY29u
c3QgeyByZXR1cm4gbV9ib2R5OyB9CisgICAgdm9pZCBzZXRCb2R5KGNvbnN0IFN0cmluZyYgYm9k
eSkgeyBtX2JvZHkgPSBib2R5OyB9CiAKICAgICBTdHJpbmcgZGlyKCkgY29uc3QgeyByZXR1cm4g
bV9kaXJlY3Rpb247IH0KICAgICB2b2lkIHNldERpcihjb25zdCBTdHJpbmcmIGRpcikgeyBtX2Rp
cmVjdGlvbiA9IGRpcjsgfQpAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICBOb3RpZmljYXRpb24oY29uc3QgS1VSTCYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBF
eGNlcHRpb25Db2RlJiwgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+KTsKLSAgICBOb3Rp
ZmljYXRpb24oY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPik7Cisg
ICAgTm90aWZpY2F0aW9uKGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgYm9keSwg
Y29uc3QgU3RyaW5nJiBpY29uVVJJLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9u
Q29kZSYsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPik7CiAKICAgICAvLyBFdmVudFRh
cmdldCBpbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigp
OyB9CkBAIC0xMzksOCArMTM5LDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBmaW5pc2hMb2FkaW5n
KCk7CiAKICAgICBib29sIG1faXNIVE1MOworCisgICAgLy8gVGV4dCBub3RpZmljYXRpb25zLgor
ICAgIEtVUkwgbV9pY29uOworICAgIFN0cmluZyBtX3RpdGxlOworICAgIFN0cmluZyBtX2JvZHk7
CisgICAgLy8gRklYTUU6IERlcHJlY2F0ZSBIVE1MIE5vdGlmaWNhdGlvbnMuCiAgICAgS1VSTCBt
X25vdGlmaWNhdGlvblVSTDsKLSAgICBOb3RpZmljYXRpb25Db250ZW50cyBtX2NvbnRlbnRzOwog
CiAgICAgU3RyaW5nIG1fZGlyZWN0aW9uOwogICAgIFN0cmluZyBtX3JlcGxhY2VJZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCmluZGV4
IDJjY2NjMGRmY2M2YTZiN2E2MWRjMjkyNGFkYjc1OWFhOGFjZGY1OTUuLmQ1NjBhOWI4MmY3ZWUz
M2JjYzM4NWU3YTJiYTRkYTE4ZGEwNmNlMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENv
cHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzQsNyArMzQsNiBAQAogCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5oIgotI2luY2x1
ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgpAQCAtNzEsOCArNzAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBlYyA9IElOVkFMSURf
U1RBVEVfRVJSOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgTm90
aWZpY2F0aW9uQ29udGVudHMgY29udGVudHMoaWNvblVSSS5pc0VtcHR5KCkgPyBLVVJMKCkgOiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJMKGljb25VUkkpLCB0aXRsZSwgYm9k
eSk7Ci0gICAgICAgIHJldHVybiBOb3RpZmljYXRpb246OmNyZWF0ZShjb250ZW50cywgc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBlYywgdGhpcyk7CisgICAgICAgIHJldHVybiBOb3RpZmljYXRp
b246OmNyZWF0ZSh0aXRsZSwgYm9keSwgaWNvblVSSSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCBlYywgdGhpcyk7CiAgICAgfQogCiAgICAgTm90aWZpY2F0aW9uQ2xpZW50KiBjbGllbnQoKSBj
b25zdCB7IHJldHVybiBtX2NsaWVudDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxMTg2YzFjNzgyM2YyYTA1MDI0MGI3NjAwNjU1Njk1MmJhNDI5MTczLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgot
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0g
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2lmbmRlZiBOb3RpZmljYXRpb25Db250ZW50c19oCi0jZGVmaW5lIE5vdGlmaWNhdGlvbkNv
bnRlbnRzX2gKLQotI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQotCi0jaW5jbHVkZSAiS1VSTC5o
IgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLXN0cnVjdCBOb3RpZmljYXRpb25Db250ZW50cyB7IAotcHVibGljOgotICAgIE5vdGlmaWNh
dGlvbkNvbnRlbnRzKCkgeyB9Ci0gICAgTm90aWZpY2F0aW9uQ29udGVudHMoY29uc3QgS1VSTCYg
aWNvblVybCwgY29uc3QgU3RyaW5nJiBub3RpZmljYXRpb25UaXRsZSwgY29uc3QgU3RyaW5nJiBu
b3RpZmljYXRpb25Cb2R5KQotICAgICAgICA6IGljb24oaWNvblVybCkKLSAgICAgICAgLCB0aXRs
ZShub3RpZmljYXRpb25UaXRsZSkKLSAgICAgICAgLCBib2R5KG5vdGlmaWNhdGlvbkJvZHkpCi0g
ICAgeyB9Ci0KLSAgICBLVVJMIGljb247Ci0gICAgU3RyaW5nIHRpdGxlOwotICAgIFN0cmluZyBi
b2R5OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE5P
VElGSUNBVElPTlMpCi0KLSNlbmRpZiAvLyBOb3RpZmljYXRpb25Db250ZW50c19oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb3RpZmljYXRpb24uY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm90aWZpY2F0aW9uLmNwcAppbmRleCA4NDlkYzRm
Njc0YTQxYWYxMGZhZjlkMjg4MmEyNjA4OTgwZjEwZjlhLi5jYzgwZDc4MTc2NGM0ZWI3NzM3NDc4
YjM5MjEwZThhZjJhMGRlNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJOb3RpZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
Yk5vdGlmaWNhdGlvbi5jcHAKQEAgLTg4LDEzICs4OCwxMyBAQCBXZWJVUkwgV2ViTm90aWZpY2F0
aW9uOjppY29uVVJMKCkgY29uc3QKIFdlYlN0cmluZyBXZWJOb3RpZmljYXRpb246OnRpdGxlKCkg
Y29uc3QKIHsKICAgICBBU1NFUlQoIWlzSFRNTCgpKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5j
b250ZW50cygpLnRpdGxlOworICAgIHJldHVybiBtX3ByaXZhdGUtPnRpdGxlKCk7CiB9CiAKIFdl
YlN0cmluZyBXZWJOb3RpZmljYXRpb246OmJvZHkoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNI
VE1MKCkpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmNvbnRlbnRzKCkuYm9keTsKKyAgICByZXR1
cm4gbV9wcml2YXRlLT5ib2R5KCk7CiB9CiAKIFdlYlRleHREaXJlY3Rpb24gV2ViTm90aWZpY2F0
aW9uOjpkaXJlY3Rpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJOb3RpZmljYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5v
dGlmaWNhdGlvbi5tbQppbmRleCA1NTczMzJjYmExYjA4Mjk5YzMzNGUxYTI1MjY4NjQzZDYwMTRl
ZTA2Li5kYmQ1NDZkYTc0ZjAwMzJhMTU0NWYxYTZhMjk2N2Q0NWMwMGE2OTFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYk5vdGlmaWNhdGlvbi5tbQpAQCAtODUsNyArODUsNyBA
QCBOb3RpZmljYXRpb24qIGNvcmUoV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pCiB7CiAj
aWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgQVNTRVJUKGNvcmUoc2VsZikpOwotICAgIHJl
dHVybiBjb3JlKHNlbGYpLT5jb250ZW50cygpLnRpdGxlOworICAgIHJldHVybiBjb3JlKHNlbGYp
LT50aXRsZSgpOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwogI2VuZGlmCkBAIC05NSw3ICs5NSw3
IEBAIE5vdGlmaWNhdGlvbiogY29yZShXZWJOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikKIHsK
ICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBBU1NFUlQoY29yZShzZWxmKSk7Ci0gICAg
cmV0dXJuIGNvcmUoc2VsZiktPmNvbnRlbnRzKCkuYm9keTsKKyAgICByZXR1cm4gY29yZShzZWxm
KS0+Ym9keSgpOwogI2Vsc2UKICAgICByZXR1cm4gbmlsOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVu
dFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQuY3BwCmluZGV4IDAwMDUyMTg0YTlmZjg3MTUxMGUzZDgwMWUxZGEwYTg3
YWM5YWRlNjMuLjE5NmYzNDE1MjhjOWJhNTZiODNlMDE3OThkYzM4ZmFmYzUwMmRiNTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2Vu
dGVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90
aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCkBAIC05MSw3ICs5MSw3IEBAIGNvbnN0IFFT
dHJpbmcgTm90aWZpY2F0aW9uV3JhcHBlcjo6dGl0bGUoKSBjb25zdAogI2lmIEVOQUJMRShOT1RJ
RklDQVRJT05TKQogICAgIE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uID0gTm90aWZpY2F0aW9u
UHJlc2VudGVyQ2xpZW50UXQ6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpLT5ub3RpZmljYXRpb25G
b3JXcmFwcGVyKHRoaXMpOwogICAgIGlmIChub3RpZmljYXRpb24pCi0gICAgICAgIHJldHVybiBu
b3RpZmljYXRpb24tPmNvbnRlbnRzKCkudGl0bGU7CisgICAgICAgIHJldHVybiBub3RpZmljYXRp
b24tPnRpdGxlKCk7CiAjZW5kaWYKICAgICByZXR1cm4gUVN0cmluZygpOwogfQpAQCAtMTAxLDcg
KzEwMSw3IEBAIGNvbnN0IFFTdHJpbmcgTm90aWZpY2F0aW9uV3JhcHBlcjo6bWVzc2FnZSgpIGNv
bnN0CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgTm90aWZpY2F0aW9uKiBub3RpZmlj
YXRpb24gPSBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6bm90aWZpY2F0aW9uUHJlc2Vu
dGVyKCktPm5vdGlmaWNhdGlvbkZvcldyYXBwZXIodGhpcyk7CiAgICAgaWYgKG5vdGlmaWNhdGlv
bikKLSAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS5ib2R5OworICAgICAg
ICByZXR1cm4gbm90aWZpY2F0aW9uLT5ib2R5KCk7CiAjZW5kaWYKICAgICByZXR1cm4gUVN0cmlu
ZygpOwogfQpAQCAtMTk3LDggKzE5Nyw4IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xp
ZW50UXQ6OmRpc3BsYXlOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uKiBub3RpZmljYXRpCiAgICAg
aWYgKG5vdGlmaWNhdGlvbi0+aXNIVE1MKCkpCiAgICAgICAgIG1lc3NhZ2UgPSBub3RpZmljYXRp
b24tPnVybCgpLnN0cmluZygpOwogICAgIGVsc2UgewotICAgICAgICB0aXRsZSA9IG5vdGlmaWNh
dGlvbi0+Y29udGVudHMoKS50aXRsZTsKLSAgICAgICAgbWVzc2FnZSA9IG5vdGlmaWNhdGlvbi0+
Y29udGVudHMoKS5ib2R5OworICAgICAgICB0aXRsZSA9IG5vdGlmaWNhdGlvbi0+dGl0bGUoKTsK
KyAgICAgICAgbWVzc2FnZSA9IG5vdGlmaWNhdGlvbi0+Ym9keSgpOwogICAgIH0KIAogICAgIGlm
IChtX3BsYXRmb3JtUGx1Z2luLnBsdWdpbigpICYmIG1fcGxhdGZvcm1QbHVnaW4ucGx1Z2luKCkt
PnN1cHBvcnRzRXh0ZW5zaW9uKFFXZWJLaXRQbGF0Zm9ybVBsdWdpbjo6Tm90aWZpY2F0aW9ucykp
CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6
ZGlzcGxheU5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNhdGkKICNpZm5kZWYgUVRf
Tk9fU1lTVEVNVFJBWUlDT04KICAgICB3cmFwcGVyLT5jb25uZWN0KHdyYXBwZXItPm1fbm90aWZp
Y2F0aW9uSWNvbi5nZXQoKSwgU0lHTkFMKG1lc3NhZ2VDbGlja2VkKCkpLCB3cmFwcGVyLCBTTE9U
KG5vdGlmaWNhdGlvbkNsaWNrZWQoKSkpOwogICAgIHdyYXBwZXItPm1fbm90aWZpY2F0aW9uSWNv
bi0+c2hvdygpOwotICAgIHdyYXBwZXItPm1fbm90aWZpY2F0aW9uSWNvbi0+c2hvd01lc3NhZ2Uo
bm90aWZpY2F0aW9uLT5jb250ZW50cygpLnRpdGxlLCBub3RpZmljYXRpb24tPmNvbnRlbnRzKCku
Ym9keSk7CisgICAgd3JhcHBlci0+bV9ub3RpZmljYXRpb25JY29uLT5zaG93TWVzc2FnZShub3Rp
ZmljYXRpb24tPnRpdGxlKCksIG5vdGlmaWNhdGlvbi0+Ym9keSgpKTsKICNlbmRpZgogfQogCkBA
IC0yNDMsNyArMjQzLDcgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2Fu
Y2VsKE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAgICBpZiAobm90aWZpY2F0aW9u
LT5pc0hUTUwoKSkKICAgICAgICAgICAgIHByaW50ZigiREVTS1RPUCBOT1RJRklDQVRJT04gQ0xP
U0VEOiAlc1xuIiwgUVN0cmluZyhub3RpZmljYXRpb24tPnVybCgpLnN0cmluZygpKS50b1V0Zjgo
KS5jb25zdERhdGEoKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHByaW50ZigiREVTS1RP
UCBOT1RJRklDQVRJT04gQ0xPU0VEOiAlc1xuIiwgUVN0cmluZyhub3RpZmljYXRpb24tPmNvbnRl
bnRzKCkudGl0bGUpLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKKyAgICAgICAgICAgIHByaW50Zigi
REVTS1RPUCBOT1RJRklDQVRJT04gQ0xPU0VEOiAlc1xuIiwgUVN0cmluZyhub3RpZmljYXRpb24t
PnRpdGxlKCkpLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKICAgICB9CiAKICAgICBOb3RpZmljYXRp
b25zUXVldWU6Okl0ZXJhdG9yIGl0ZXIgPSBtX25vdGlmaWNhdGlvbnMuZmluZChub3RpZmljYXRp
b24pOwpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50
UXQ6Om5vdGlmaWNhdGlvbkNsaWNrZWQoY29uc3QgUVN0cmluZyYgdGl0bGUpCiAgICAgICAgIGlm
IChub3RpZmljYXRpb24tPmlzSFRNTCgpKQogICAgICAgICAgICAgbm90aWZpY2F0aW9uVGl0bGUg
PSBub3RpZmljYXRpb24tPnVybCgpLnN0cmluZygpOwogICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBub3RpZmljYXRpb25UaXRsZSA9IG5vdGlmaWNhdGlvbi0+Y29udGVudHMoKS50aXRsZTsKKyAg
ICAgICAgICAgIG5vdGlmaWNhdGlvblRpdGxlID0gbm90aWZpY2F0aW9uLT50aXRsZSgpOwogICAg
ICAgICBpZiAobm90aWZpY2F0aW9uVGl0bGUgPT0gdGl0bGUpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgaXRlcisrOwpAQCAtNDIzLDcgKzQyMyw3IEBAIHZvaWQgTm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OmRldGFjaE5vdGlmaWNhdGlvbihOb3RpZmljYXRpb24qIG5vdGlmaWNh
dGlvCiB2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpkdW1wUmVwbGFjZWRJZFRl
eHQoTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiB7CiAgICAgaWYgKG5vdGlmaWNhdGlvbikK
LSAgICAgICAgcHJpbnRmKCJSRVBMQUNJTkcgTk9USUZJQ0FUSU9OICVzXG4iLCBub3RpZmljYXRp
b24tPmlzSFRNTCgpID8gUVN0cmluZyhub3RpZmljYXRpb24tPnVybCgpLnN0cmluZygpKS50b1V0
ZjgoKS5jb25zdERhdGEoKSA6IFFTdHJpbmcobm90aWZpY2F0aW9uLT5jb250ZW50cygpLnRpdGxl
KS50b1V0ZjgoKS5jb25zdERhdGEoKSk7CisgICAgICAgIHByaW50ZigiUkVQTEFDSU5HIE5PVElG
SUNBVElPTiAlc1xuIiwgbm90aWZpY2F0aW9uLT5pc0hUTUwoKSA/IFFTdHJpbmcobm90aWZpY2F0
aW9uLT51cmwoKS5zdHJpbmcoKSkudG9VdGY4KCkuY29uc3REYXRhKCkgOiBRU3RyaW5nKG5vdGlm
aWNhdGlvbi0+dGl0bGUoKSkudG9VdGY4KCkuY29uc3REYXRhKCkpOwogfQogCiB2b2lkIE5vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpkdW1wU2hvd1RleHQoTm90aWZpY2F0aW9uKiBub3Rp
ZmljYXRpb24pCkBAIC00MzMsOCArNDMzLDggQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJD
bGllbnRRdDo6ZHVtcFNob3dUZXh0KE5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgIGVs
c2UgewogICAgICAgICBwcmludGYoIkRFU0tUT1AgTk9USUZJQ0FUSU9OOiVzIGljb24gJXMsIHRp
dGxlICVzLCB0ZXh0ICVzXG4iLAogICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi0+ZGlyKCkg
PT0gInJ0bCIgPyAiKFJUTCkiIDogIiIsCi0gICAgICAgICAgICBRU3RyaW5nKG5vdGlmaWNhdGlv
bi0+Y29udGVudHMoKS5pY29uLnN0cmluZygpKS50b1V0ZjgoKS5jb25zdERhdGEoKSwgUVN0cmlu
Zyhub3RpZmljYXRpb24tPmNvbnRlbnRzKCkudGl0bGUpLnRvVXRmOCgpLmNvbnN0RGF0YSgpLAot
ICAgICAgICAgICAgUVN0cmluZyhub3RpZmljYXRpb24tPmNvbnRlbnRzKCkuYm9keSkudG9VdGY4
KCkuY29uc3REYXRhKCkpOworICAgICAgICAgICAgUVN0cmluZyhub3RpZmljYXRpb24tPmljb25V
UkwoKS5zdHJpbmcoKSkudG9VdGY4KCkuY29uc3REYXRhKCksIFFTdHJpbmcobm90aWZpY2F0aW9u
LT50aXRsZSgpKS50b1V0ZjgoKS5jb25zdERhdGEoKSwKKyAgICAgICAgICAgIFFTdHJpbmcobm90
aWZpY2F0aW9uLT5ib2R5KCkpLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKICAgICB9CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCmluZGV4IDI3YTg4OWUyNjI0
ZWQzYTZlNDhhOTIzODJjMTBiMmI2ZGVjMTlhNWUuLmQ4MDUxYTQzOGE3YzYxZDBmM2E1ZWNlMWQ2
Yzg1OGFmZTc0MzNlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3Rp
ZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5
LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlNlY3Vy
aXR5T3JpZ2luLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25Db250ZW50cy5oPgog
CiB1c2luZyBuYW1lc3BhY2UgV1RGOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMv
V2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXggOWU1Y2Y5NTQ2NjQ5ZDRiY2JiMzlmMTNi
NTFlNTJkMzI2ZTc5YTRlNy4uYzY5YzJmY2MzY2I1MzA4YTM5ZDc0NWZlZmJlYzRlOTI2MWU5Njg3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dl
Yk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcApAQCAtMTE3LDcgKzExNyw3
IEBAIGJvb2wgV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6c2hvdyhOb3RpZmljYXRpb24qIG5vdGlm
aWNhdGlvbiwgV2ViUGFnZSogcGFnZSkKICAgICBOb3RpZmljYXRpb25Db250ZXh0TWFwOjppdGVy
YXRvciBpdCA9IG1fbm90aWZpY2F0aW9uQ29udGV4dE1hcC5hZGQobm90aWZpY2F0aW9uLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIFZlY3Rvcjx1aW50NjRfdD4oKSkuZmlyc3Q7CiAgICAgaXQt
PnNlY29uZC5hcHBlbmQobm90aWZpY2F0aW9uSUQpOwogICAgIAotICAgIG1fcHJvY2Vzcy0+Y29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dOb3RpZmljYXRpb24o
bm90aWZpY2F0aW9uLT5jb250ZW50cygpLnRpdGxlLCBub3RpZmljYXRpb24tPmNvbnRlbnRzKCku
Ym9keSwgbm90aWZpY2F0aW9uLT5pY29uVVJMKCkuc3RyaW5nKCksIG5vdGlmaWNhdGlvbi0+cmVw
bGFjZUlkKCksIG5vdGlmaWNhdGlvbi0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5zZWN1cml0
eU9yaWdpbigpLT50b1N0cmluZygpLCBub3RpZmljYXRpb25JRCksIHBhZ2UtPnBhZ2VJRCgpKTsK
KyAgICBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi0+dGl0bGUoKSwgbm90aWZpY2F0aW9uLT5i
b2R5KCksIG5vdGlmaWNhdGlvbi0+aWNvblVSTCgpLnN0cmluZygpLCBub3RpZmljYXRpb24tPnJl
cGxhY2VJZCgpLCBub3RpZmljYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJp
dHlPcmlnaW4oKS0+dG9TdHJpbmcoKSwgbm90aWZpY2F0aW9uSUQpLCBwYWdlLT5wYWdlSUQoKSk7
CiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsK
</data>
<flag name="review"
          id="134413"
          type_id="1"
          status="+"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>