<?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>145281</bug_id>
          
          <creation_ts>2015-05-21 13:20:56 -0700</creation_ts>
          <short_desc>Add an &quot;initiated by user gesture&quot; flag to ResourceRequest</short_desc>
          <delta_ts>2015-05-22 11:58:43 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>145280</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1096660</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-21 13:20:56 -0700</bug_when>
    <thetext>Add an &quot;initiated by user gesture&quot; flag to ResourceRequest

This is in support of https://bugs.webkit.org/show_bug.cgi?id=145280, and will be tested along with that bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096666</commentid>
    <comment_count>1</comment_count>
      <attachid>253540</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-21 13:55:07 -0700</bug_when>
    <thetext>Created attachment 253540
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096675</commentid>
    <comment_count>2</comment_count>
      <attachid>253544</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-21 14:36:31 -0700</bug_when>
    <thetext>Created attachment 253544
Patch v2 - Less WK1 test crashing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096680</commentid>
    <comment_count>3</comment_count>
      <attachid>253546</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-21 15:01:19 -0700</bug_when>
    <thetext>Created attachment 253546
Patch v3 - More iOS building</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096694</commentid>
    <comment_count>4</comment_count>
      <attachid>253546</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-05-21 16:41:22 -0700</bug_when>
    <thetext>Comment on attachment 253546
Patch v3 - More iOS building

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

&gt; Source/WebCore/platform/mac/WebCoreSystemInterface.h:321
&gt; +#if PLATFORM(COCOA)

PLATFORM(COCOA) shouldn&apos;t be needed in platform/mac

&gt; Source/WebCore/platform/mac/WebCoreSystemInterface.mm:173
&gt; +#if PLATFORM(COCOA)

shouldn&apos;t be needed.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:211
&gt; +#if PLATFORM(COCOA)

shouldn&apos;t be needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096696</commentid>
    <comment_count>5</comment_count>
      <attachid>253552</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-21 16:46:58 -0700</bug_when>
    <thetext>Created attachment 253552
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096719</commentid>
    <comment_count>6</comment_count>
      <attachid>253552</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-21 17:36:04 -0700</bug_when>
    <thetext>Comment on attachment 253552
Patch for landing.

Clearing flags on attachment: 253552

Committed r184741: &lt;http://trac.webkit.org/changeset/184741&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096864</commentid>
    <comment_count>7</comment_count>
      <attachid>253546</attachid>
    <who name="">mitz</who>
    <bug_when>2015-05-22 08:46:08 -0700</bug_when>
    <thetext>Comment on attachment 253546
Patch v3 - More iOS building

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

&gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:31
&gt;  

WebSystemInterface exists solely for binding symbols from libWebKitSystemInterface. It’s unnecessary and inappropriate to use it for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096866</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-22 09:06:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 253546 [details]
&gt; Patch v3 - More iOS building
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253546&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:31
&gt; &gt;  
&gt; 
&gt; WebSystemInterface exists solely for binding symbols from
&gt; libWebKitSystemInterface. It’s unnecessary and inappropriate to use it for
&gt; this.

I was not aware that it was inappropriate, as I haven&apos;t seen that documented anywhere.

I would like to here the obviously better alternative that makes it unnecessary, as I was unable to figure another obvious way for WebCore to have access to a static string provided by WebKit.

There might *be* an obvious way, I just don&apos;t know what it is off hand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096874</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-22 09:34:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; Comment on attachment 253546 [details]
&gt; &gt; Patch v3 - More iOS building
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=253546&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:31
&gt; &gt; &gt;  
&gt; &gt; 
&gt; &gt; WebSystemInterface exists solely for binding symbols from
&gt; &gt; libWebKitSystemInterface. It’s unnecessary and inappropriate to use it for
&gt; &gt; this.
&gt; 
&gt; I was not aware that it was inappropriate, as I haven&apos;t seen that documented
&gt; anywhere.
&gt; 
&gt; I would like to here the obviously better alternative that makes it
&gt; unnecessary, as I was unable to figure another obvious way for WebCore to
&gt; have access to a static string provided by WebKit.
&gt; 
&gt; There might *be* an obvious way, I just don&apos;t know what it is off hand.

I realize now that I shifted strategies partway through my patch in a way that no longer required the string to be WebKit provided, and in fact it can live in WebCore.

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096882</commentid>
    <comment_count>10</comment_count>
      <attachid>253594</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-22 10:11:56 -0700</bug_when>
    <thetext>Created attachment 253594
Followup to fix WCSI/WSI misusage - v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096885</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-22 10:24:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/184775</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096911</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-22 11:58:43 -0700</bug_when>
    <thetext>Trying to fix the build in r184783.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253540</attachid>
            <date>2015-05-21 13:55:07 -0700</date>
            <delta_ts>2015-05-21 14:36:31 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>17824</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MWYyNWFhLi5hNDg3ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTUtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBhbiAiaW5pdGlhdGVkIGJ5IHVzZXIgZ2VzdHVyZSIgZmxhZyB0byBSZXNvdXJjZVJl
cXVlc3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDUyODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
bGxvdyBXZWJLaXQgdG8gdGVsbCBXZWJDb3JlIHdoYXQgdGhlIG5ldyBwcm9wZXJ0eSBrZXkgaXM6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKKworICAgICAgICBB
ZGQgdGhlIGZsYWcgdG8gUmVzb3VyY2VSZXF1ZXN0LCBhbmQgbWFrZSBzdXJlIGl0IGVuY29kZXMv
ZGVjb2RlczoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmluaXRpYXRlZEJ5VXNl
ckdlc3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SW5p
dGlhdGVkQnlVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RC
YXNlOjplbmNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdEJhc2U6OmRlY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEpOgorCisgICAgICAgIFNl
dC9nZXQgdGhlIHByb3BlcnR5IG9uIG5hdGl2ZSBDRlVSTFJlcXVlc3RSZWZzOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3JtUmVxdWVzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KToK
KworICAgICAgICBTZXQvZ2V0IHRoZSBwcm9wZXJ0eSBvbiBuYXRpdmUgTlNVUkxSZXF1ZXN0czoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVzdENvY29hLm1t
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmVx
dWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZv
cm1SZXF1ZXN0KToKKwogMjAxNS0wNS0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKDE0MjU5MCk6IFNjcm9sbC1zbmFwIHBvaW50cyBh
cmUgaW1wcm9wZXJseSBzbmFwcGluZyB0byBlYXJsaWVyIGluZGV4IHZhbHVlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgKaW5k
ZXggNDlkNzg4Zi4uMjBlMTMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCkBAIC0zMTgsNiArMzE4LDEwIEBAIGV4dGVy
biBib29sICgqd2tJc1B1YmxpY1N1ZmZpeCkoTlNTdHJpbmcgKmhvc3QpOwogZXh0ZXJuIENGU3Ry
aW5nUmVmICgqd2tDYWNoZVBhcnRpdGlvbktleSkodm9pZCk7CiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorZXh0ZXJuIENGU3RyaW5nUmVmICgqd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJ
bml0aWF0ZWRLZXkpKHZvaWQpOworI2VuZGlmCisKIHR5cGVkZWYgZW51bSB7CiAgICAgd2tFeHRl
cm5hbFBsYXliYWNrVHlwZU5vbmUsCiAgICAgd2tFeHRlcm5hbFBsYXliYWNrVHlwZUFpclBsYXks
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUlu
dGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50
ZXJmYWNlLm1tCmluZGV4IDI5NDI2MjEuLjEyZjk1ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0xNzAsNiAr
MTcwLDEwIEBAIGJvb2wgKCp3a0lzUHVibGljU3VmZml4KShOU1N0cmluZyAqaG9zdCk7CiBDRlN0
cmluZ1JlZiAoKndrQ2FjaGVQYXJ0aXRpb25LZXkpKHZvaWQpOwogI2VuZGlmCiAKKyNpZiBQTEFU
Rk9STShDT0NPQSkKK0NGU3RyaW5nUmVmICgqd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0
ZWRLZXkpKHZvaWQpOworI2VuZGlmCisKIGludCAoKndrRXhlcm5hbERldmljZVR5cGVGb3JQbGF5
ZXIpKEFWUGxheWVyICopOwogTlNTdHJpbmcgKigqd2tFeGVybmFsRGV2aWNlRGlzcGxheU5hbWVG
b3JQbGF5ZXIpKEFWUGxheWVyICopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDEzNWNlYmUuLmZmMjEwYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oCkBAIC0xNDcsNiArMTQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBib29sIGhpZGRlbkZyb21JbnNwZWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlbkZy
b21JbnNwZWN0b3I7IH0KICAgICAgICAgdm9pZCBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGJvb2wg
aGlkZGVuRnJvbUluc3BlY3RvcikgeyBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBoaWRkZW5Gcm9t
SW5zcGVjdG9yOyB9CiAKKyAgICAgICAgYm9vbCBpbml0aWF0ZWRCeVVzZXJHZXN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9pbml0aWF0ZWRCeVVzZXJHZXN0dXJlOyB9CisgICAgICAgIHZvaWQgc2V0
SW5pdGlhdGVkQnlVc2VyR2VzdHVyZShib29sIGluaXRpYXRlZEJ5VXNlckdlc3R1cmUpIHsgbV9p
bml0aWF0ZWRCeVVzZXJHZXN0dXJlID0gaW5pdGlhdGVkQnlVc2VyR2VzdHVyZTsgfQorCiAgICAg
ICAgIGVudW0gY2xhc3MgUmVxdWVzdGVyIHsgVW5zcGVjaWZpZWQsIE1haW4sIFhIUiB9OwogICAg
ICAgICBSZXF1ZXN0ZXIgcmVxdWVzdGVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0ZXI7IH0K
ICAgICAgICAgdm9pZCBzZXRSZXF1ZXN0ZXIoUmVxdWVzdGVyIHJlcXVlc3RlcikgeyBtX3JlcXVl
c3RlciA9IHJlcXVlc3RlcjsgfQpAQCAtMjEzLDYgKzIxNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgYm9vbCBtX3JlcG9ydExvYWRUaW1pbmcgeyBmYWxzZSB9OwogICAgICAgICBi
b29sIG1fcmVwb3J0UmF3SGVhZGVycyB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbV9oaWRkZW5G
cm9tSW5zcGVjdG9yIHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2luaXRpYXRlZEJ5VXNlckdl
c3R1cmUgeyBmYWxzZSB9OwogICAgICAgICBSZXNvdXJjZUxvYWRQcmlvcml0eSBtX3ByaW9yaXR5
IHsgUmVzb3VyY2VMb2FkUHJpb3JpdHk6OkxvdyB9OwogICAgICAgICBSZXF1ZXN0ZXIgbV9yZXF1
ZXN0ZXIgeyBSZXF1ZXN0ZXI6OlVuc3BlY2lmaWVkIH07CiAKQEAgLTI2NCw2ICsyNjgsNyBAQCB2
b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmVuY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fYWxsb3dDb29raWVzOwogICAgIGVu
Y29kZXIuZW5jb2RlRW51bShtX3ByaW9yaXR5KTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0obV9y
ZXF1ZXN0ZXIpOworICAgIGVuY29kZXIgPDwgbV9pbml0aWF0ZWRCeVVzZXJHZXN0dXJlOwogfQog
CiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgpAQCAtMzA5LDYgKzMxNCw5IEBAIGJvb2wgUmVzb3Vy
Y2VSZXF1ZXN0QmFzZTo6ZGVjb2RlV2l0aG91dFBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZWNvZGVy
KQogICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKG1fcmVxdWVzdGVyKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtX2luaXRpYXRlZEJ5VXNlckdl
c3R1cmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3RDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlUmVxdWVzdENGTmV0LmNwcAppbmRleCBlMmQ5NmE4Li45MzcxYWQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVz
dENGTmV0LmNwcApAQCAtMTg2LDYgKzE4Niw5IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1Vw
ZGF0ZVBsYXRmb3JtUmVxdWVzdCgpCiAgICAgfQogI2VuZGlmCiAKKyAgICBpZiAoaW5pdGlhdGVk
QnlVc2VyR2VzdHVyZSgpKQorICAgICAgICBfQ0ZVUkxSZXF1ZXN0U2V0UHJvdG9jb2xQcm9wZXJ0
eShjZlJlcXVlc3QsIHdrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KCksIGtDRkJv
b2xlYW5UcnVlKTsKKwogICAgIG1fY2ZSZXF1ZXN0ID0gYWRvcHRDRihjZlJlcXVlc3QpOwogI2lm
IFBMQVRGT1JNKENPQ09BKQogICAgIGNsZWFyT3JVcGRhdGVOU1VSTFJlcXVlc3QoKTsKQEAgLTI5
MCw2ICsyOTMsMTAgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1
ZXN0KCkKICAgICBpZiAoY2FjaGVQYXJ0aXRpb24pCiAgICAgICAgIG1fY2FjaGVQYXJ0aXRpb24g
PSBjYWNoZVBhcnRpdGlvbi5nZXQoKTsKICNlbmRpZgorCisgICAgUmV0YWluUHRyPENGQm9vbGVh
blJlZj4gaW5pdGlhdGVkQnlVc2VyR2VzdHVyZSA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZCb29s
ZWFuUmVmPihfQ0ZVUkxSZXF1ZXN0Q29weVByb3RvY29sUHJvcGVydHlGb3JLZXkobV9jZlJlcXVl
c3QuZ2V0KCksIHdrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KCkpKSk7CisgICAg
aWYgKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUpCisgICAgICAgIHNldEluaXRpYXRlZEJ5VXNlckdl
c3R1cmUoQ0ZCb29sZWFuR2V0VmFsdWUoaW5pdGlhdGVkQnlVc2VyR2VzdHVyZS5nZXQoKSkpOwog
fQogCiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZUhUVFBCb2R5KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VS
ZXF1ZXN0Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jl
c291cmNlUmVxdWVzdENvY29hLm1tCmluZGV4IDUyZjQ1YTkuLmFlY2VkMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9SZXNvdXJj
ZVJlcXVlc3RDb2NvYS5tbQpAQCAtMTAyLDYgKzEwMiwxMCBAQCB2b2lkIFJlc291cmNlUmVxdWVz
dDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQogICAgICAgICAgICAgbV9jYWNoZVBhcnRpdGlv
biA9IGNhY2hlUGFydGl0aW9uOwogICAgIH0KICNlbmRpZgorCisgICAgTlNOdW1iZXIgKmluaXRp
YXRlZEJ5VXNlckdlc3R1cmUgPSBbTlNVUkxQcm90b2NvbCBwcm9wZXJ0eUZvcktleTooTlNTdHJp
bmcgKil3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpIGluUmVxdWVzdDptX25z
UmVxdWVzdC5nZXQoKV07CisgICAgaWYgKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUpCisgICAgICAg
IHNldEluaXRpYXRlZEJ5VXNlckdlc3R1cmUoaW5pdGlhdGVkQnlVc2VyR2VzdHVyZS5ib29sVmFs
dWUpOwogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZUhUVFBCb2R5
KCkKQEAgLTE3OCw2ICsxODIsOSBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0
Zm9ybVJlcXVlc3QoKQogICAgICAgICBbTlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTpwYXJ0aXRp
b25WYWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopd2tDYWNoZVBhcnRpdGlvbktleSgpIGluUmVxdWVz
dDpuc1JlcXVlc3RdOwogICAgIH0KICNlbmRpZgorCisgICAgaWYgKGluaXRpYXRlZEJ5VXNlckdl
c3R1cmUoKSkKKyAgICAgICAgW05TVVJMUHJvdG9jb2wgc2V0UHJvcGVydHk6QFlFUyBmb3JLZXk6
KE5TU3RyaW5nICopd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKSBpblJlcXVl
c3Q6bnNSZXF1ZXN0XTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZv
cm1IVFRQQm9keSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODYxN2ViMS4uYTBjOGUyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDE1LTA1LTIxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgYW4gImluaXRpYXRlZCBieSB1c2VyIGdlc3R1cmUiIGZsYWcg
dG8gUmVzb3VyY2VSZXF1ZXN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ1MjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRXhwb3NlIGEgbmV3IGNhdGVnb3J5IG9uIE5TVVJMUmVxdWVzdCB0byBhbGxv
dyBTUEkgY2xpZW50cyB0byBlYXNpbHkgc2V0L2dldCB0aGUgZmxhZzoKKyAgICAgICAgKiBTaGFy
ZWQvQVBJL0NvY29hL19XS05TVVJMUmVxdWVzdEV4dHJhcy5oOiBBZGRlZC4KKyAgICAgICAgKiBT
aGFyZWQvQVBJL0NvY29hL19XS05TVVJMUmVxdWVzdEV4dHJhcy5tbTogQWRkZWQuCisgICAgICAg
ICgtW05TVVJMUmVxdWVzdCBfd2ViX2lzVXNlckluaXRpYXRlZF0pOgorICAgICAgICAoLVtOU011
dGFibGVVUkxSZXF1ZXN0IF93ZWJfc2V0SXNVc2VySW5pdGlhdGVkOl0pOgorCisgICAgICAgICog
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgIEV4cG9zZSB0aGUg
bmV3IHByb3BlcnR5IGtleSB0byBXZWJDb3JlOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbToKKyAgICAgICAgKFdLUmVzb3VyY2VS
ZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KToKKyAgICAgICAgKEluaXRXZWJDb3JlU3lzdGVtSW50
ZXJmYWNlKToKKwogMjAxNS0wNS0xOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgRm9sbG93dXAgdG86IE5ldHdvcmtpbmcgcHJvY2VzcyBvbiBpT1MgY2FuIGJl
IHN1c3BlbmRlZCBhbmQgbmV2ZXIgZXhpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9Db2NvYS9fV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZWFkOTU1OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmgKQEAgLTAsMCArMSwz
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKworQGlu
dGVyZmFjZSBOU1VSTFJlcXVlc3QgKFdLRXh0cmFzKQorCistIChCT09MKV93ZWJfaXNVc2VySW5p
dGlhdGVkOworCitAZW5kCisKK0BpbnRlcmZhY2UgTlNNdXRhYmxlVVJMUmVxdWVzdCAoV0tFeHRy
YXMpCisKKy0gKHZvaWQpX3dlYl9zZXRJc1VzZXJJbml0aWF0ZWQ6KEJPT0wpdXNlckluaXRpYXRl
ZDsKKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9f
V0tOU1VSTFJlcXVlc3RFeHRyYXMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29h
L19XS05TVVJMUmVxdWVzdEV4dHJhcy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi42MTM4ZTA1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9Db2NvYS9fV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0KQEAgLTAsMCArMSw0OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLTlNVUkxSZXF1ZXN0RXh0cmFz
LmgiCisKKyNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oPgorCitAaW1w
bGVtZW50YXRpb24gTlNVUkxSZXF1ZXN0IChXS0V4dHJhcykKKworLSAoQk9PTClfd2ViX2lzVXNl
ckluaXRpYXRlZAoreworICAgIE5TTnVtYmVyICp1c2VySW5pdGlhdGVkID0gW05TVVJMUHJvdG9j
b2wgcHJvcGVydHlGb3JLZXk6KE5TU3RyaW5nICopd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0
aWF0ZWRLZXkoKSBpblJlcXVlc3Q6c2VsZl07CisgICAgcmV0dXJuIHVzZXJJbml0aWF0ZWQuYm9v
bFZhbHVlOworfQorCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBOU011dGFibGVVUkxSZXF1ZXN0
IChXS0V4dHJhcykKKworLSAodm9pZClfd2ViX3NldElzVXNlckluaXRpYXRlZDooQk9PTCl1c2Vy
SW5pdGlhdGVkCit7CisgICAgW05TVVJMUHJvdG9jb2wgc2V0UHJvcGVydHk6dXNlckluaXRpYXRl
ZCA/IEBZRVMgOiBATk8gZm9yS2V5OihOU1N0cmluZyAqKXdrUmVzb3VyY2VSZXF1ZXN0SXNVc2Vy
SW5pdGlhdGVkS2V5KCkgaW5SZXF1ZXN0OnNlbGZdOworfQorCitAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTNkOWE2YS4u
MTgzYThlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTAxNCw2ICsxMDE0LDggQEAKIAkJNTFBRDM1NzMxQUQyRjM5NDAwNTdC
MzhFIC8qIFdlYkhpdFRlc3RSZXN1bHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUFEMzU3MjFBRDJGMzc1MDA1N0IzOEUgLyogV2ViSGl0VGVzdFJl
c3VsdC5tbSAqLzsgfTsKIAkJNTFCMTVBODQxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50
VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxQjE1QTgyMTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5jcHAg
Ki87IH07CiAJCTUxQjE1QTg1MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGll
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCMTVB
ODMxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmggKi87IH07CisJCTUx
QjhGNDgzMUIwRTUzOUEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQjhGNDdGMUIwRTUzMEMw
MDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MUI4RjQ4NDFCMEU1M0ExMDA4RkM0QkQgLyog
X1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFCOEY0ODAxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVz
dEV4dHJhcy5tbSAqLzsgfTsKIAkJNTFCQTI0NDQxODU4RUUzMDAwRUEyODExIC8qIEFzeW5jVGFz
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCQTI0
NDMxODU4RUUzMDAwRUEyODExIC8qIEFzeW5jVGFzay5oICovOyB9OwogCQk1MUJBMjQ0NjE4NThG
NTVEMDBFQTI4MTEgLyogV2ViQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCQTI0NDUxODU4RjQxNTAwRUEyODExIC8q
IFdlYkNyb3NzVGhyZWFkQ29waWVyLmNwcCAqLzsgfTsKIAkJNTFDOTYxMTgxODNEMjk0NzAwRDIw
MDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDOTYxMTYxODNEMjk0NzAw
RDIwMDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9
OwpAQCAtMzIxOSw2ICszMjIxLDggQEAKIAkJNTFBRDM1NzIxQUQyRjM3NTAwNTdCMzhFIC8qIFdl
YkhpdFRlc3RSZXN1bHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJIaXRUZXN0UmVzdWx0
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUIxNUE4MjEzODQzQTM5MDAzMjFB
RDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwOyBwYXRoID0gdW5peC9FbnZpcm9u
bWVudFV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQjE1QTgz
MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBFbnZpcm9ubWVudFV0aWxpdGllcy5oOyBwYXRoID0gdW5peC9F
bnZpcm9ubWVudFV0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUI4
RjQ3RjFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS05TVVJMUmVxdWVzdEV4dHJhcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MUI4RjQ4MDFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNV
UkxSZXF1ZXN0RXh0cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MUJBMjQ0MzE4NThFRTMwMDBFQTI4MTEgLyogQXN5bmNUYXNrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUJBMjQ0NTE4NThGNDE1MDBFQTI4MTEgLyogV2ViQ3Jvc3NUaHJlYWRDb3BpZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MUM5NjExNTE4M0M5NUZGMDBEMjAwMkUgLyogV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uLm1l
c3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTUwNCw2ICs1NTA4LDgg
QEAKIAkJCQkzNzNEMTIyNjE4QTQ3M0Y2MDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGVJbnRlcm5h
bC5oICovLAogCQkJCUExMThBOUYxMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2Vy
RXh0cmFzLmggKi8sCiAJCQkJQTExOEE5RjAxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1h
bmFnZXJFeHRyYXMubW0gKi8sCisJCQkJNTFCOEY0N0YxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05T
VVJMUmVxdWVzdEV4dHJhcy5oICovLAorCQkJCTUxQjhGNDgwMUIwRTUzMEMwMDhGQzRCRCAvKiBf
V0tOU1VSTFJlcXVlc3RFeHRyYXMubW0gKi8sCiAJCQkJMUE5RTMyOEIxODIxNjVBOTAwRjVEMDRD
IC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5oICovLAogCQkJCTFBOUUzMjhDMTgyMTY1QTkw
MEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gKi8sCiAJCQkJMUFBQkZFMzkx
ODI5QzFFRDAwNUIwNzBFIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZUludGVybmFsLmggKi8s
CkBAIC03ODI5LDYgKzc4MzUsNyBAQAogCQkJCTFBNEE5QzU2MTJCODE2Q0YwMDhGRTk4NCAvKiBO
ZXRzY2FwZVBsdWdpbk1vZHVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBNTg4OTIxMUVFNzA0
MDAwNjFCODgyIC8qIE5ldHNjYXBlUGx1Z2luU3RyZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCQlF
MTc5OEM3QTE2RTY4MTg4MDAyNDAxMzkgLyogTmV0d29ya0Jsb2JSZWdpc3RyeS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTFCOEY0ODMxQjBFNTM5QTAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4
dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0MzZFQ0MxQTBEMDQwQjAwRUFEMjA0IC8qIE5l
dHdvcmtDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ5RDQwRDcxQUQzRkIxNzAwNjZCN0I5
IC8qIE5ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDg5RDI4
QTFBMEEyREI4MDA3OEMwNkEgLyogTmV0d29ya0NhY2hlQ29kZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtOTU2OSw2ICs5NTc2LDcgQEAKIAkJCQkxQTFEOEJBMTE3MzFBMzYzMDAxNDFEQTQgLyogTG9j
YWxTdG9yYWdlRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QzcyOEMxNzM4NDc3
QzAwMEE2NTU0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MUE3RjJGNTEyNUJGOEQ0MDA4QUVCMUQgLyogTG9nZ2luZy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1MUI4RjQ4NDFCMEU1M0ExMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0
cmFzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MEJGRTExMzM4MURGOTAwOTE4OTk5IC8qIExv
Z2dpbmdGb3VuZGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyNEI1RjIxMUY1MzFFODAw
QzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE5MzNERjAx
OTY1RUIzMTAwOEFDM0VBIC8qIE1lbnVVdGlsaXRpZXMubW0gaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5
c3RlbUludGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQppbmRleCA4YzM1N2EzLi41NWNhZWU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJT
eXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0zMSw2ICszMSwxMiBAQAogCiAj
ZGVmaW5lIElOSVQoZnVuY3Rpb24pIHdrIyNmdW5jdGlvbiA9IFdLIyNmdW5jdGlvbgogCitzdGF0
aWMgQ0ZTdHJpbmdSZWYgV0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKQorewor
ICAgIHN0YXRpYyBDRlN0cmluZ1JlZiBrZXkgPSBDRlNUUigiV0tSZXNvdXJjZVJlcXVlc3RJc1Vz
ZXJJbml0aWF0ZWRLZXkiKTsKKyAgICByZXR1cm4ga2V5OworfQorCiB2b2lkIEluaXRXZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlKHZvaWQpCiB7CiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBpbml0
T25jZTsKQEAgLTIwMSw3ICsyMDcsMTAgQEAgdm9pZCBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFj
ZSh2b2lkKQogI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05JTkcpCiAgICAgICAgIElOSVQoQ2Fj
aGVQYXJ0aXRpb25LZXkpOwogI2VuZGlmCi0gICAgICAgIAorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgICAgIElOSVQoUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KTsKKyNlbmRp
ZgogICAgICAgICBJTklUKEV4ZXJuYWxEZXZpY2VUeXBlRm9yUGxheWVyKTsKICAgICAgICAgSU5J
VChFeGVybmFsRGV2aWNlRGlzcGxheU5hbWVGb3JQbGF5ZXIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253544</attachid>
            <date>2015-05-21 14:36:31 -0700</date>
            <delta_ts>2015-05-21 15:01:19 -0700</delta_ts>
            <desc>Patch v2 - Less WK1 test crashing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>19340</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MWYyNWFhLi5hNDg3ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTUtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBhbiAiaW5pdGlhdGVkIGJ5IHVzZXIgZ2VzdHVyZSIgZmxhZyB0byBSZXNvdXJjZVJl
cXVlc3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDUyODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
bGxvdyBXZWJLaXQgdG8gdGVsbCBXZWJDb3JlIHdoYXQgdGhlIG5ldyBwcm9wZXJ0eSBrZXkgaXM6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKKworICAgICAgICBB
ZGQgdGhlIGZsYWcgdG8gUmVzb3VyY2VSZXF1ZXN0LCBhbmQgbWFrZSBzdXJlIGl0IGVuY29kZXMv
ZGVjb2RlczoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmluaXRpYXRlZEJ5VXNl
ckdlc3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SW5p
dGlhdGVkQnlVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RC
YXNlOjplbmNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdEJhc2U6OmRlY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEpOgorCisgICAgICAgIFNl
dC9nZXQgdGhlIHByb3BlcnR5IG9uIG5hdGl2ZSBDRlVSTFJlcXVlc3RSZWZzOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3JtUmVxdWVzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KToK
KworICAgICAgICBTZXQvZ2V0IHRoZSBwcm9wZXJ0eSBvbiBuYXRpdmUgTlNVUkxSZXF1ZXN0czoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVzdENvY29hLm1t
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmVx
dWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZv
cm1SZXF1ZXN0KToKKwogMjAxNS0wNS0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKDE0MjU5MCk6IFNjcm9sbC1zbmFwIHBvaW50cyBh
cmUgaW1wcm9wZXJseSBzbmFwcGluZyB0byBlYXJsaWVyIGluZGV4IHZhbHVlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgKaW5k
ZXggNDlkNzg4Zi4uMjBlMTMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCkBAIC0zMTgsNiArMzE4LDEwIEBAIGV4dGVy
biBib29sICgqd2tJc1B1YmxpY1N1ZmZpeCkoTlNTdHJpbmcgKmhvc3QpOwogZXh0ZXJuIENGU3Ry
aW5nUmVmICgqd2tDYWNoZVBhcnRpdGlvbktleSkodm9pZCk7CiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorZXh0ZXJuIENGU3RyaW5nUmVmICgqd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJ
bml0aWF0ZWRLZXkpKHZvaWQpOworI2VuZGlmCisKIHR5cGVkZWYgZW51bSB7CiAgICAgd2tFeHRl
cm5hbFBsYXliYWNrVHlwZU5vbmUsCiAgICAgd2tFeHRlcm5hbFBsYXliYWNrVHlwZUFpclBsYXks
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUlu
dGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50
ZXJmYWNlLm1tCmluZGV4IDI5NDI2MjEuLjEyZjk1ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0xNzAsNiAr
MTcwLDEwIEBAIGJvb2wgKCp3a0lzUHVibGljU3VmZml4KShOU1N0cmluZyAqaG9zdCk7CiBDRlN0
cmluZ1JlZiAoKndrQ2FjaGVQYXJ0aXRpb25LZXkpKHZvaWQpOwogI2VuZGlmCiAKKyNpZiBQTEFU
Rk9STShDT0NPQSkKK0NGU3RyaW5nUmVmICgqd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0
ZWRLZXkpKHZvaWQpOworI2VuZGlmCisKIGludCAoKndrRXhlcm5hbERldmljZVR5cGVGb3JQbGF5
ZXIpKEFWUGxheWVyICopOwogTlNTdHJpbmcgKigqd2tFeGVybmFsRGV2aWNlRGlzcGxheU5hbWVG
b3JQbGF5ZXIpKEFWUGxheWVyICopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDEzNWNlYmUuLmZmMjEwYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oCkBAIC0xNDcsNiArMTQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBib29sIGhpZGRlbkZyb21JbnNwZWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlbkZy
b21JbnNwZWN0b3I7IH0KICAgICAgICAgdm9pZCBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGJvb2wg
aGlkZGVuRnJvbUluc3BlY3RvcikgeyBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBoaWRkZW5Gcm9t
SW5zcGVjdG9yOyB9CiAKKyAgICAgICAgYm9vbCBpbml0aWF0ZWRCeVVzZXJHZXN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9pbml0aWF0ZWRCeVVzZXJHZXN0dXJlOyB9CisgICAgICAgIHZvaWQgc2V0
SW5pdGlhdGVkQnlVc2VyR2VzdHVyZShib29sIGluaXRpYXRlZEJ5VXNlckdlc3R1cmUpIHsgbV9p
bml0aWF0ZWRCeVVzZXJHZXN0dXJlID0gaW5pdGlhdGVkQnlVc2VyR2VzdHVyZTsgfQorCiAgICAg
ICAgIGVudW0gY2xhc3MgUmVxdWVzdGVyIHsgVW5zcGVjaWZpZWQsIE1haW4sIFhIUiB9OwogICAg
ICAgICBSZXF1ZXN0ZXIgcmVxdWVzdGVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0ZXI7IH0K
ICAgICAgICAgdm9pZCBzZXRSZXF1ZXN0ZXIoUmVxdWVzdGVyIHJlcXVlc3RlcikgeyBtX3JlcXVl
c3RlciA9IHJlcXVlc3RlcjsgfQpAQCAtMjEzLDYgKzIxNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgYm9vbCBtX3JlcG9ydExvYWRUaW1pbmcgeyBmYWxzZSB9OwogICAgICAgICBi
b29sIG1fcmVwb3J0UmF3SGVhZGVycyB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbV9oaWRkZW5G
cm9tSW5zcGVjdG9yIHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2luaXRpYXRlZEJ5VXNlckdl
c3R1cmUgeyBmYWxzZSB9OwogICAgICAgICBSZXNvdXJjZUxvYWRQcmlvcml0eSBtX3ByaW9yaXR5
IHsgUmVzb3VyY2VMb2FkUHJpb3JpdHk6OkxvdyB9OwogICAgICAgICBSZXF1ZXN0ZXIgbV9yZXF1
ZXN0ZXIgeyBSZXF1ZXN0ZXI6OlVuc3BlY2lmaWVkIH07CiAKQEAgLTI2NCw2ICsyNjgsNyBAQCB2
b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmVuY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fYWxsb3dDb29raWVzOwogICAgIGVu
Y29kZXIuZW5jb2RlRW51bShtX3ByaW9yaXR5KTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0obV9y
ZXF1ZXN0ZXIpOworICAgIGVuY29kZXIgPDwgbV9pbml0aWF0ZWRCeVVzZXJHZXN0dXJlOwogfQog
CiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgpAQCAtMzA5LDYgKzMxNCw5IEBAIGJvb2wgUmVzb3Vy
Y2VSZXF1ZXN0QmFzZTo6ZGVjb2RlV2l0aG91dFBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZWNvZGVy
KQogICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKG1fcmVxdWVzdGVyKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtX2luaXRpYXRlZEJ5VXNlckdl
c3R1cmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3RDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlUmVxdWVzdENGTmV0LmNwcAppbmRleCBlMmQ5NmE4Li44ODJhYWZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVz
dENGTmV0LmNwcApAQCAtMTg2LDYgKzE4NiwxMSBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9V
cGRhdGVQbGF0Zm9ybVJlcXVlc3QoKQogICAgIH0KICNlbmRpZgogCisjaWYgIVBMQVRGT1JNKFdJ
TikKKyAgICBpZiAoaW5pdGlhdGVkQnlVc2VyR2VzdHVyZSgpKQorICAgICAgICBfQ0ZVUkxSZXF1
ZXN0U2V0UHJvdG9jb2xQcm9wZXJ0eShjZlJlcXVlc3QsIHdrUmVzb3VyY2VSZXF1ZXN0SXNVc2Vy
SW5pdGlhdGVkS2V5KCksIGtDRkJvb2xlYW5UcnVlKTsKKyNlbmRpZgorCiAgICAgbV9jZlJlcXVl
c3QgPSBhZG9wdENGKGNmUmVxdWVzdCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgY2xlYXJP
clVwZGF0ZU5TVVJMUmVxdWVzdCgpOwpAQCAtMjkwLDYgKzI5NSwxMiBAQCB2b2lkIFJlc291cmNl
UmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQogICAgIGlmIChjYWNoZVBhcnRpdGlv
bikKICAgICAgICAgbV9jYWNoZVBhcnRpdGlvbiA9IGNhY2hlUGFydGl0aW9uLmdldCgpOwogI2Vu
ZGlmCisKKyNpZiAhUExBVEZPUk0oV0lOKQorICAgIFJldGFpblB0cjxDRkJvb2xlYW5SZWY+IGlu
aXRpYXRlZEJ5VXNlckdlc3R1cmUgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGQm9vbGVhblJlZj4o
X0NGVVJMUmVxdWVzdENvcHlQcm90b2NvbFByb3BlcnR5Rm9yS2V5KG1fY2ZSZXF1ZXN0LmdldCgp
LCB3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpKSkpOworICAgIGlmIChpbml0
aWF0ZWRCeVVzZXJHZXN0dXJlKQorICAgICAgICBzZXRJbml0aWF0ZWRCeVVzZXJHZXN0dXJlKENG
Qm9vbGVhbkdldFZhbHVlKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUuZ2V0KCkpKTsKKyNlbmRpZgog
fQogCiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZUhUVFBCb2R5KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VS
ZXF1ZXN0Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jl
c291cmNlUmVxdWVzdENvY29hLm1tCmluZGV4IDUyZjQ1YTkuLmFlY2VkMTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9SZXNvdXJj
ZVJlcXVlc3RDb2NvYS5tbQpAQCAtMTAyLDYgKzEwMiwxMCBAQCB2b2lkIFJlc291cmNlUmVxdWVz
dDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQogICAgICAgICAgICAgbV9jYWNoZVBhcnRpdGlv
biA9IGNhY2hlUGFydGl0aW9uOwogICAgIH0KICNlbmRpZgorCisgICAgTlNOdW1iZXIgKmluaXRp
YXRlZEJ5VXNlckdlc3R1cmUgPSBbTlNVUkxQcm90b2NvbCBwcm9wZXJ0eUZvcktleTooTlNTdHJp
bmcgKil3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpIGluUmVxdWVzdDptX25z
UmVxdWVzdC5nZXQoKV07CisgICAgaWYgKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUpCisgICAgICAg
IHNldEluaXRpYXRlZEJ5VXNlckdlc3R1cmUoaW5pdGlhdGVkQnlVc2VyR2VzdHVyZS5ib29sVmFs
dWUpOwogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZUhUVFBCb2R5
KCkKQEAgLTE3OCw2ICsxODIsOSBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0
Zm9ybVJlcXVlc3QoKQogICAgICAgICBbTlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTpwYXJ0aXRp
b25WYWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopd2tDYWNoZVBhcnRpdGlvbktleSgpIGluUmVxdWVz
dDpuc1JlcXVlc3RdOwogICAgIH0KICNlbmRpZgorCisgICAgaWYgKGluaXRpYXRlZEJ5VXNlckdl
c3R1cmUoKSkKKyAgICAgICAgW05TVVJMUHJvdG9jb2wgc2V0UHJvcGVydHk6QFlFUyBmb3JLZXk6
KE5TU3RyaW5nICopd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKSBpblJlcXVl
c3Q6bnNSZXF1ZXN0XTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZv
cm1IVFRQQm9keSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzUzZTliMi4uN2E2YWNlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA1LTIxICBCcmFkeSBFaWRzb24gIDxi
ZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYW4gImluaXRpYXRlZCBieSB1c2VyIGdl
c3R1cmUiIGZsYWcgdG8gUmVzb3VyY2VSZXF1ZXN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZh
Y2UubW06CisgICAgICAgIChXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSk6Cisg
ICAgICAgIChJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6CisKIDIwMTUtMDUtMTUgIEplcmVt
eSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIExpbWl0IGFsdGVybmF0ZSBm
dWxsc2NyZWVuIHdpdGggbGlua2VkIG9uIG9yIGFmdGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCmluZGV4IDgxZGM2
ZTguLjQ0Mjc4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYlN5c3RlbUludGVyZmFjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KQEAgLTM2LDYgKzM2LDEyIEBACiAKICNkZWZpbmUg
SU5JVChmdW5jdGlvbikgd2sjI2Z1bmN0aW9uID0gV0sjI2Z1bmN0aW9uCiAKK3N0YXRpYyBDRlN0
cmluZ1JlZiBXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpCit7CisgICAgc3Rh
dGljIENGU3RyaW5nUmVmIGtleSA9IENGU1RSKCJXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRp
YXRlZEtleSIpOworICAgIHJldHVybiBrZXk7Cit9CisKIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1J
bnRlcmZhY2Uodm9pZCkKIHsKICAgICBzdGF0aWMgYm9vbCBkaWRJbml0OwpAQCAtMjEwLDYgKzIx
Niw3IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAgICBJTklUKENh
Y2hlUGFydGl0aW9uS2V5KTsKICNlbmRpZgogCisgICAgSU5JVChSZXNvdXJjZVJlcXVlc3RJc1Vz
ZXJJbml0aWF0ZWRLZXkpOwogICAgIElOSVQoRXhlcm5hbERldmljZVR5cGVGb3JQbGF5ZXIpOwog
ICAgIElOSVQoRXhlcm5hbERldmljZURpc3BsYXlOYW1lRm9yUGxheWVyKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDg2MTdlYjEuLmEwYzhlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNS0w
NS0yMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFu
ICJpbml0aWF0ZWQgYnkgdXNlciBnZXN0dXJlIiBmbGFnIHRvIFJlc291cmNlUmVxdWVzdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTI4MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSBhIG5l
dyBjYXRlZ29yeSBvbiBOU1VSTFJlcXVlc3QgdG8gYWxsb3cgU1BJIGNsaWVudHMgdG8gZWFzaWx5
IHNldC9nZXQgdGhlIGZsYWc6CisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1VSTFJl
cXVlc3RFeHRyYXMuaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1VS
TFJlcXVlc3RFeHRyYXMubW06IEFkZGVkLgorICAgICAgICAoLVtOU1VSTFJlcXVlc3QgX3dlYl9p
c1VzZXJJbml0aWF0ZWRdKToKKyAgICAgICAgKC1bTlNNdXRhYmxlVVJMUmVxdWVzdCBfd2ViX3Nl
dElzVXNlckluaXRpYXRlZDpdKToKKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKworICAgICAgICBFeHBvc2UgdGhlIG5ldyBwcm9wZXJ0eSBrZXkgdG8gV2Vi
Q29yZToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1J
bnRlcmZhY2UubW06CisgICAgICAgIChXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtl
eSk6CisgICAgICAgIChJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6CisKIDIwMTUtMDUtMTgg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxvd3VwIHRv
OiBOZXR3b3JraW5nIHByb2Nlc3Mgb24gaU9TIGNhbiBiZSBzdXNwZW5kZWQgYW5kIG5ldmVyIGV4
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxS
ZXF1ZXN0RXh0cmFzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05TVVJM
UmVxdWVzdEV4dHJhcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZDk1
NTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19X
S05TVVJMUmVxdWVzdEV4dHJhcy5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1w
b3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgTlNVUkxSZXF1ZXN0IChX
S0V4dHJhcykKKworLSAoQk9PTClfd2ViX2lzVXNlckluaXRpYXRlZDsKKworQGVuZAorCitAaW50
ZXJmYWNlIE5TTXV0YWJsZVVSTFJlcXVlc3QgKFdLRXh0cmFzKQorCistICh2b2lkKV93ZWJfc2V0
SXNVc2VySW5pdGlhdGVkOihCT09MKXVzZXJJbml0aWF0ZWQ7CisKK0BlbmQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1t
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1VSTFJlcXVlc3RFeHRyYXMu
bW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjEzOGUwNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0
RXh0cmFzLm1tCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcu
aCIKKyNpbXBvcnQgIl9XS05TVVJMUmVxdWVzdEV4dHJhcy5oIgorCisjaW1wb3J0IDxXZWJDb3Jl
L1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaD4KKworQGltcGxlbWVudGF0aW9uIE5TVVJMUmVxdWVz
dCAoV0tFeHRyYXMpCisKKy0gKEJPT0wpX3dlYl9pc1VzZXJJbml0aWF0ZWQKK3sKKyAgICBOU051
bWJlciAqdXNlckluaXRpYXRlZCA9IFtOU1VSTFByb3RvY29sIHByb3BlcnR5Rm9yS2V5OihOU1N0
cmluZyAqKXdrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KCkgaW5SZXF1ZXN0OnNl
bGZdOworICAgIHJldHVybiB1c2VySW5pdGlhdGVkLmJvb2xWYWx1ZTsKK30KKworQGVuZAorCitA
aW1wbGVtZW50YXRpb24gTlNNdXRhYmxlVVJMUmVxdWVzdCAoV0tFeHRyYXMpCisKKy0gKHZvaWQp
X3dlYl9zZXRJc1VzZXJJbml0aWF0ZWQ6KEJPT0wpdXNlckluaXRpYXRlZAoreworICAgIFtOU1VS
TFByb3RvY29sIHNldFByb3BlcnR5OnVzZXJJbml0aWF0ZWQgPyBAWUVTIDogQE5PIGZvcktleToo
TlNTdHJpbmcgKil3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpIGluUmVxdWVz
dDpzZWxmXTsKK30KKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUzZDlhNmEuLjE4M2E4ZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMTQsNiAr
MTAxNCw4IEBACiAJCTUxQUQzNTczMUFEMkYzOTQwMDU3QjM4RSAvKiBXZWJIaXRUZXN0UmVzdWx0
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBRDM1
NzIxQUQyRjM3NTAwNTdCMzhFIC8qIFdlYkhpdFRlc3RSZXN1bHQubW0gKi87IH07CiAJCTUxQjE1
QTg0MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIxNUE4MjEzODQzQTM5MDAz
MjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwICovOyB9OwogCQk1MUIxNUE4NTEzODQz
QTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQjE1QTgzMTM4NDNBMzkwMDMyMUFEOCAvKiBF
bnZpcm9ubWVudFV0aWxpdGllcy5oICovOyB9OworCQk1MUI4RjQ4MzFCMEU1MzlBMDA4RkM0QkQg
LyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUI4RjQ3RjFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1
ZXN0RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNTFCOEY0ODQxQjBFNTNBMTAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQjhGNDgw
MUIwRTUzMEMwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0gKi87IH07CiAJCTUx
QkEyNDQ0MTg1OEVFMzAwMEVBMjgxMSAvKiBBc3luY1Rhc2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQkEyNDQzMTg1OEVFMzAwMEVBMjgxMSAvKiBB
c3luY1Rhc2suaCAqLzsgfTsKIAkJNTFCQTI0NDYxODU4RjU1RDAwRUEyODExIC8qIFdlYkNyb3Nz
VGhyZWFkQ29waWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxQkEyNDQ1MTg1OEY0MTUwMEVBMjgxMSAvKiBXZWJDcm9zc1RocmVhZENvcGllci5j
cHAgKi87IH07CiAJCTUxQzk2MTE4MTgzRDI5NDcwMEQyMDAyRSAvKiBXZWJJREJTZXJ2ZXJDb25u
ZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxQzk2MTE2MTgzRDI5NDcwMEQyMDAyRSAvKiBXZWJJREJTZXJ2ZXJD
b25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTMyMTksNiArMzIyMSw4IEBA
CiAJCTUxQUQzNTcyMUFEMkYzNzUwMDU3QjM4RSAvKiBXZWJIaXRUZXN0UmVzdWx0Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViSGl0VGVzdFJlc3VsdC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTFCMTVBODIxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudmlyb25tZW50
VXRpbGl0aWVzLmNwcDsgcGF0aCA9IHVuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUIxNUE4MzEzODQzQTM5MDAzMjFBRDggLyogRW52
aXJvbm1lbnRVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW52
aXJvbm1lbnRVdGlsaXRpZXMuaDsgcGF0aCA9IHVuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFCOEY0N0YxQjBFNTMwQzAwOEZDNEJEIC8q
IF9XS05TVVJMUmVxdWVzdEV4dHJhcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTFCOEY0ODAxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS05TVVJMUmVxdWVzdEV4dHJh
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCQTI0NDMxODU4RUUzMDAwRUEy
ODExIC8qIEFzeW5jVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3lu
Y1Rhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCQTI0NDUxODU4RjQxNTAw
RUEyODExIC8qIFdlYkNyb3NzVGhyZWFkQ29waWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YkNyb3NzVGhyZWFkQ29waWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFD
OTYxMTUxODNDOTVGRjAwRDIwMDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMu
aW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViSURCU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTU1MDQsNiArNTUwOCw4IEBACiAJCQkJMzczRDEyMjYxOEE0NzNG
NjAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlSW50ZXJuYWwuaCAqLywKIAkJCQlBMTE4QTlGMTE5
MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oICovLAogCQkJCUExMThB
OUYwMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tICovLAorCQkJ
CTUxQjhGNDdGMUIwRTUzMEMwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCAqLywK
KwkJCQk1MUI4RjQ4MDFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1t
ICovLAogCQkJCTFBOUUzMjhCMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRl
cmZhY2UuaCAqLywKIAkJCQkxQTlFMzI4QzE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2Jq
ZWN0SW50ZXJmYWNlLm1tICovLAogCQkJCTFBQUJGRTM5MTgyOUMxRUQwMDVCMDcwRSAvKiBfV0tS
ZW1vdGVPYmplY3RJbnRlcmZhY2VJbnRlcm5hbC5oICovLApAQCAtNzgyOSw2ICs3ODM1LDcgQEAK
IAkJCQkxQTRBOUM1NjEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBQTU4ODkyMTFFRTcwNDAwMDYxQjg4MiAvKiBOZXRzY2FwZVBs
dWdpblN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE3OThDN0ExNkU2ODE4ODAwMjQwMTM5
IC8qIE5ldHdvcmtCbG9iUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxQjhGNDgzMUIw
RTUzOUEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU0NDM2RUNDMUEwRDA0MEIwMEVBRDIwNCAvKiBOZXR3b3JrQ2FjaGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU0OUQ0MEQ3MUFEM0ZCMTcwMDY2QjdCOSAvKiBOZXR3b3JrQ2FjaGVCbG9iU3Rv
cmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ4OUQyOEExQTBBMkRCODAwNzhDMDZBIC8qIE5l
dHdvcmtDYWNoZUNvZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTk1NjksNiArOTU3Niw3IEBACiAJ
CQkJMUExRDhCQTExNzMxQTM2MzAwMTQxREE0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFBOEM3MjhDMTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3Jh
Z2VEYXRhYmFzZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFBN0YyRjUxMjVCRjhE
NDAwOEFFQjFEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFCOEY0ODQxQjBF
NTNBMTAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTUxNjBCRkUxMTMzODFERjkwMDkxODk5OSAvKiBMb2dnaW5nRm91bmRhdGlvbi5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTFBMjRCNUYyMTFGNTMxRTgwMEMzODI2OSAvKiBNYWNoVXRpbGl0aWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxOTMzREYwMTk2NUVCMzEwMDhBQzNFQSAvKiBNZW51
VXRpbGl0aWVzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZh
Y2UubW0KaW5kZXggOGMzNTdhMy4uNTVjYWVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUlu
dGVyZmFjZS5tbQpAQCAtMzEsNiArMzEsMTIgQEAKIAogI2RlZmluZSBJTklUKGZ1bmN0aW9uKSB3
ayMjZnVuY3Rpb24gPSBXSyMjZnVuY3Rpb24KIAorc3RhdGljIENGU3RyaW5nUmVmIFdLUmVzb3Vy
Y2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KCkKK3sKKyAgICBzdGF0aWMgQ0ZTdHJpbmdSZWYg
a2V5ID0gQ0ZTVFIoIldLUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5Iik7CisgICAg
cmV0dXJuIGtleTsKK30KKwogdm9pZCBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQog
ewogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3QgaW5pdE9uY2U7CkBAIC0yMDEsNyArMjA3LDEw
IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICNpZiBFTkFCTEUoQ0FD
SEVfUEFSVElUSU9OSU5HKQogICAgICAgICBJTklUKENhY2hlUGFydGl0aW9uS2V5KTsKICNlbmRp
ZgotICAgICAgICAKKworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgICAgICBJTklUKFJlc291cmNl
UmVxdWVzdElzVXNlckluaXRpYXRlZEtleSk7CisjZW5kaWYKICAgICAgICAgSU5JVChFeGVybmFs
RGV2aWNlVHlwZUZvclBsYXllcik7CiAgICAgICAgIElOSVQoRXhlcm5hbERldmljZURpc3BsYXlO
YW1lRm9yUGxheWVyKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253546</attachid>
            <date>2015-05-21 15:01:19 -0700</date>
            <delta_ts>2015-05-21 16:41:22 -0700</delta_ts>
            <desc>Patch v3 - More iOS building</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>19914</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MWYyNWFhLi4zNDVhMzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTUtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBhbiAiaW5pdGlhdGVkIGJ5IHVzZXIgZ2VzdHVyZSIgZmxhZyB0byBSZXNvdXJjZVJl
cXVlc3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDUyODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
bGxvdyBXZWJLaXQgdG8gdGVsbCBXZWJDb3JlIHdoYXQgdGhlIG5ldyBwcm9wZXJ0eSBrZXkgaXM6
CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKKworICAgICAgICBBZGQg
dGhlIGZsYWcgdG8gUmVzb3VyY2VSZXF1ZXN0LCBhbmQgbWFrZSBzdXJlIGl0IGVuY29kZXMvZGVj
b2RlczoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OmluaXRpYXRlZEJ5VXNlckdl
c3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SW5pdGlh
dGVkQnlVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNl
OjplbmNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdEJhc2U6OmRlY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEpOgorCisgICAgICAgIFNldC9n
ZXQgdGhlIHByb3BlcnR5IG9uIG5hdGl2ZSBDRlVSTFJlcXVlc3RSZWZzOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3JtUmVxdWVzdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KToKKwor
ICAgICAgICBTZXQvZ2V0IHRoZSBwcm9wZXJ0eSBvbiBuYXRpdmUgTlNVUkxSZXF1ZXN0czoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVzdENvY29hLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmVxdWVz
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1S
ZXF1ZXN0KToKKwogMjAxNS0wNS0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKDE0MjU5MCk6IFNjcm9sbC1zbmFwIHBvaW50cyBhcmUg
aW1wcm9wZXJseSBzbmFwcGluZyB0byBlYXJsaWVyIGluZGV4IHZhbHVlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5t
bQppbmRleCBjN2U1OTcwLi5kNDVlODFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5tbQpAQCAtMTI0LDMgKzEy
NCw1IEBAIFdFQkNPUkVfRVhQT1JUIE5TU3RyaW5nICooKndrRXhlcm5hbERldmljZURpc3BsYXlO
YW1lRm9yUGxheWVyKShBVlBsYXllciAqKTsKIAogV0VCQ09SRV9FWFBPUlQgYm9vbCAoKndrUXVl
cnlEZWNvZGVyQXZhaWxhYmlsaXR5KSh2b2lkKTsKIAorV0VCQ09SRV9FWFBPUlQgQ0ZTdHJpbmdS
ZWYgKCp3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSkodm9pZCk7CisKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5o
CmluZGV4IDQ5ZDc4OGYuLjIwZTEzMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaApAQCAtMzE4LDYgKzMxOCwxMCBAQCBl
eHRlcm4gYm9vbCAoKndrSXNQdWJsaWNTdWZmaXgpKE5TU3RyaW5nICpob3N0KTsKIGV4dGVybiBD
RlN0cmluZ1JlZiAoKndrQ2FjaGVQYXJ0aXRpb25LZXkpKHZvaWQpOwogI2VuZGlmCiAKKyNpZiBQ
TEFURk9STShDT0NPQSkKK2V4dGVybiBDRlN0cmluZ1JlZiAoKndrUmVzb3VyY2VSZXF1ZXN0SXNV
c2VySW5pdGlhdGVkS2V5KSh2b2lkKTsKKyNlbmRpZgorCiB0eXBlZGVmIGVudW0gewogICAgIHdr
RXh0ZXJuYWxQbGF5YmFja1R5cGVOb25lLAogICAgIHdrRXh0ZXJuYWxQbGF5YmFja1R5cGVBaXJQ
bGF5LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0
ZW1JbnRlcmZhY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3Rl
bUludGVyZmFjZS5tbQppbmRleCAyOTQyNjIxLi4xMmY5NWRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbQpAQCAtMTcw
LDYgKzE3MCwxMCBAQCBib29sICgqd2tJc1B1YmxpY1N1ZmZpeCkoTlNTdHJpbmcgKmhvc3QpOwog
Q0ZTdHJpbmdSZWYgKCp3a0NhY2hlUGFydGl0aW9uS2V5KSh2b2lkKTsKICNlbmRpZgogCisjaWYg
UExBVEZPUk0oQ09DT0EpCitDRlN0cmluZ1JlZiAoKndrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5p
dGlhdGVkS2V5KSh2b2lkKTsKKyNlbmRpZgorCiBpbnQgKCp3a0V4ZXJuYWxEZXZpY2VUeXBlRm9y
UGxheWVyKShBVlBsYXllciAqKTsKIE5TU3RyaW5nICooKndrRXhlcm5hbERldmljZURpc3BsYXlO
YW1lRm9yUGxheWVyKShBVlBsYXllciAqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCAxMzVjZWJlLi5mZjIx
MGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuaApAQCAtMTQ3LDYgKzE0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCBoaWRkZW5Gcm9tSW5zcGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9oaWRk
ZW5Gcm9tSW5zcGVjdG9yOyB9CiAgICAgICAgIHZvaWQgc2V0SGlkZGVuRnJvbUluc3BlY3Rvcihi
b29sIGhpZGRlbkZyb21JbnNwZWN0b3IpIHsgbV9oaWRkZW5Gcm9tSW5zcGVjdG9yID0gaGlkZGVu
RnJvbUluc3BlY3RvcjsgfQogCisgICAgICAgIGJvb2wgaW5pdGlhdGVkQnlVc2VyR2VzdHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdGVkQnlVc2VyR2VzdHVyZTsgfQorICAgICAgICB2b2lk
IHNldEluaXRpYXRlZEJ5VXNlckdlc3R1cmUoYm9vbCBpbml0aWF0ZWRCeVVzZXJHZXN0dXJlKSB7
IG1faW5pdGlhdGVkQnlVc2VyR2VzdHVyZSA9IGluaXRpYXRlZEJ5VXNlckdlc3R1cmU7IH0KKwog
ICAgICAgICBlbnVtIGNsYXNzIFJlcXVlc3RlciB7IFVuc3BlY2lmaWVkLCBNYWluLCBYSFIgfTsK
ICAgICAgICAgUmVxdWVzdGVyIHJlcXVlc3RlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdGVy
OyB9CiAgICAgICAgIHZvaWQgc2V0UmVxdWVzdGVyKFJlcXVlc3RlciByZXF1ZXN0ZXIpIHsgbV9y
ZXF1ZXN0ZXIgPSByZXF1ZXN0ZXI7IH0KQEAgLTIxMyw2ICsyMTYsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIGJvb2wgbV9yZXBvcnRMb2FkVGltaW5nIHsgZmFsc2UgfTsKICAgICAg
ICAgYm9vbCBtX3JlcG9ydFJhd0hlYWRlcnMgeyBmYWxzZSB9OwogICAgICAgICBib29sIG1faGlk
ZGVuRnJvbUluc3BlY3RvciB7IGZhbHNlIH07CisgICAgICAgIGJvb2wgbV9pbml0aWF0ZWRCeVVz
ZXJHZXN0dXJlIHsgZmFsc2UgfTsKICAgICAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgbV9wcmlv
cml0eSB7IFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3cgfTsKICAgICAgICAgUmVxdWVzdGVyIG1f
cmVxdWVzdGVyIHsgUmVxdWVzdGVyOjpVbnNwZWNpZmllZCB9OwogCkBAIC0yNjQsNiArMjY4LDcg
QEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjplbmNvZGVXaXRob3V0UGxhdGZvcm1EYXRhKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX2FsbG93Q29va2llczsKICAg
ICBlbmNvZGVyLmVuY29kZUVudW0obV9wcmlvcml0eSk7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVt
KG1fcmVxdWVzdGVyKTsKKyAgICBlbmNvZGVyIDw8IG1faW5pdGlhdGVkQnlVc2VyR2VzdHVyZTsK
IH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTMwOSw2ICszMTQsOSBAQCBib29sIFJl
c291cmNlUmVxdWVzdEJhc2U6OmRlY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEoRGVjb2RlciYgZGVj
b2RlcikKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShtX3JlcXVlc3RlcikpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmICghZGVjb2Rlci5kZWNvZGUobV9pbml0aWF0ZWRCeVVz
ZXJHZXN0dXJlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VSZXF1ZXN0Q0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKaW5kZXggZTJkOTZhOC4uODgyYWFmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5l
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3RDRk5ldC5jcHAKQEAgLTE4Niw2ICsxODYsMTEgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6
OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KCkKICAgICB9CiAjZW5kaWYKIAorI2lmICFQTEFURk9S
TShXSU4pCisgICAgaWYgKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUoKSkKKyAgICAgICAgX0NGVVJM
UmVxdWVzdFNldFByb3RvY29sUHJvcGVydHkoY2ZSZXF1ZXN0LCB3a1Jlc291cmNlUmVxdWVzdElz
VXNlckluaXRpYXRlZEtleSgpLCBrQ0ZCb29sZWFuVHJ1ZSk7CisjZW5kaWYKKwogICAgIG1fY2ZS
ZXF1ZXN0ID0gYWRvcHRDRihjZlJlcXVlc3QpOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGNs
ZWFyT3JVcGRhdGVOU1VSTFJlcXVlc3QoKTsKQEAgLTI5MCw2ICsyOTUsMTIgQEAgdm9pZCBSZXNv
dXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCkKICAgICBpZiAoY2FjaGVQYXJ0
aXRpb24pCiAgICAgICAgIG1fY2FjaGVQYXJ0aXRpb24gPSBjYWNoZVBhcnRpdGlvbi5nZXQoKTsK
ICNlbmRpZgorCisjaWYgIVBMQVRGT1JNKFdJTikKKyAgICBSZXRhaW5QdHI8Q0ZCb29sZWFuUmVm
PiBpbml0aWF0ZWRCeVVzZXJHZXN0dXJlID0gYWRvcHRDRihzdGF0aWNfY2FzdDxDRkJvb2xlYW5S
ZWY+KF9DRlVSTFJlcXVlc3RDb3B5UHJvdG9jb2xQcm9wZXJ0eUZvcktleShtX2NmUmVxdWVzdC5n
ZXQoKSwgd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKSkpKTsKKyAgICBpZiAo
aW5pdGlhdGVkQnlVc2VyR2VzdHVyZSkKKyAgICAgICAgc2V0SW5pdGlhdGVkQnlVc2VyR2VzdHVy
ZShDRkJvb2xlYW5HZXRWYWx1ZShpbml0aWF0ZWRCeVVzZXJHZXN0dXJlLmdldCgpKSk7CisjZW5k
aWYKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VIVFRQQm9keSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291
cmNlUmVxdWVzdENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2Nv
YS9SZXNvdXJjZVJlcXVlc3RDb2NvYS5tbQppbmRleCA1MmY0NWE5Li5hZWNlZDE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVz
dENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVz
b3VyY2VSZXF1ZXN0Q29jb2EubW0KQEAgLTEwMiw2ICsxMDIsMTAgQEAgdm9pZCBSZXNvdXJjZVJl
cXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCkKICAgICAgICAgICAgIG1fY2FjaGVQYXJ0
aXRpb24gPSBjYWNoZVBhcnRpdGlvbjsKICAgICB9CiAjZW5kaWYKKworICAgIE5TTnVtYmVyICpp
bml0aWF0ZWRCeVVzZXJHZXN0dXJlID0gW05TVVJMUHJvdG9jb2wgcHJvcGVydHlGb3JLZXk6KE5T
U3RyaW5nICopd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKSBpblJlcXVlc3Q6
bV9uc1JlcXVlc3QuZ2V0KCldOworICAgIGlmIChpbml0aWF0ZWRCeVVzZXJHZXN0dXJlKQorICAg
ICAgICBzZXRJbml0aWF0ZWRCeVVzZXJHZXN0dXJlKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUuYm9v
bFZhbHVlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VIVFRQ
Qm9keSgpCkBAIC0xNzgsNiArMTgyLDkgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRl
UGxhdGZvcm1SZXF1ZXN0KCkKICAgICAgICAgW05TVVJMUHJvdG9jb2wgc2V0UHJvcGVydHk6cGFy
dGl0aW9uVmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKXdrQ2FjaGVQYXJ0aXRpb25LZXkoKSBpblJl
cXVlc3Q6bnNSZXF1ZXN0XTsKICAgICB9CiAjZW5kaWYKKworICAgIGlmIChpbml0aWF0ZWRCeVVz
ZXJHZXN0dXJlKCkpCisgICAgICAgIFtOU1VSTFByb3RvY29sIHNldFByb3BlcnR5OkBZRVMgZm9y
S2V5OihOU1N0cmluZyAqKXdrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KCkgaW5S
ZXF1ZXN0Om5zUmVxdWVzdF07CiB9CiAKIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBs
YXRmb3JtSFRUUEJvZHkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGM1M2U5YjIuLjdhNmFjZWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNS0yMSAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFuICJpbml0aWF0ZWQgYnkgdXNl
ciBnZXN0dXJlIiBmbGFnIHRvIFJlc291cmNlUmVxdWVzdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTI4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50
ZXJmYWNlLm1tOgorICAgICAgICAoV0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkp
OgorICAgICAgICAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOgorCiAyMDE1LTA1LTE1ICBK
ZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAogICAgICAgICBMaW1pdCBhbHRlcm5h
dGUgZnVsbHNjcmVlbiB3aXRoIGxpbmtlZCBvbiBvciBhZnRlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQppbmRleCA4
MWRjNmU4Li40NDI3OGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0zNiw2ICszNiwxMiBAQAogCiAjZGVm
aW5lIElOSVQoZnVuY3Rpb24pIHdrIyNmdW5jdGlvbiA9IFdLIyNmdW5jdGlvbgogCitzdGF0aWMg
Q0ZTdHJpbmdSZWYgV0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKQoreworICAg
IHN0YXRpYyBDRlN0cmluZ1JlZiBrZXkgPSBDRlNUUigiV0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJ
bml0aWF0ZWRLZXkiKTsKKyAgICByZXR1cm4ga2V5OworfQorCiB2b2lkIEluaXRXZWJDb3JlU3lz
dGVtSW50ZXJmYWNlKHZvaWQpCiB7CiAgICAgc3RhdGljIGJvb2wgZGlkSW5pdDsKQEAgLTIxMCw2
ICsyMTYsNyBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAgICAgSU5J
VChDYWNoZVBhcnRpdGlvbktleSk7CiAjZW5kaWYKIAorICAgIElOSVQoUmVzb3VyY2VSZXF1ZXN0
SXNVc2VySW5pdGlhdGVkS2V5KTsKICAgICBJTklUKEV4ZXJuYWxEZXZpY2VUeXBlRm9yUGxheWVy
KTsKICAgICBJTklUKEV4ZXJuYWxEZXZpY2VEaXNwbGF5TmFtZUZvclBsYXllcik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA4NjE3ZWIxLi5hMGM4ZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIw
MTUtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBhbiAiaW5pdGlhdGVkIGJ5IHVzZXIgZ2VzdHVyZSIgZmxhZyB0byBSZXNvdXJjZVJlcXVlc3Qu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUyODEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2Ug
YSBuZXcgY2F0ZWdvcnkgb24gTlNVUkxSZXF1ZXN0IHRvIGFsbG93IFNQSSBjbGllbnRzIHRvIGVh
c2lseSBzZXQvZ2V0IHRoZSBmbGFnOgorICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dLTlNV
UkxSZXF1ZXN0RXh0cmFzLmg6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dL
TlNVUkxSZXF1ZXN0RXh0cmFzLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bTlNVUkxSZXF1ZXN0IF93
ZWJfaXNVc2VySW5pdGlhdGVkXSk6CisgICAgICAgICgtW05TTXV0YWJsZVVSTFJlcXVlc3QgX3dl
Yl9zZXRJc1VzZXJJbml0aWF0ZWQ6XSk6CisKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgRXhwb3NlIHRoZSBuZXcgcHJvcGVydHkga2V5IHRv
IFdlYkNvcmU6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lz
dGVtSW50ZXJmYWNlLm1tOgorICAgICAgICAoV0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0
ZWRLZXkpOgorICAgICAgICAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOgorCiAyMDE1LTA1
LTE4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3d1
cCB0bzogTmV0d29ya2luZyBwcm9jZXNzIG9uIGlPUyBjYW4gYmUgc3VzcGVuZGVkIGFuZCBuZXZl
ciBleGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05T
VVJMUmVxdWVzdEV4dHJhcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9fV0tO
U1VSTFJlcXVlc3RFeHRyYXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l
YWQ5NTU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2Nv
YS9fV0tOU1VSTFJlcXVlc3RFeHRyYXMuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCitAaW50ZXJmYWNlIE5TVVJMUmVxdWVz
dCAoV0tFeHRyYXMpCisKKy0gKEJPT0wpX3dlYl9pc1VzZXJJbml0aWF0ZWQ7CisKK0BlbmQKKwor
QGludGVyZmFjZSBOU011dGFibGVVUkxSZXF1ZXN0IChXS0V4dHJhcykKKworLSAodm9pZClfd2Vi
X3NldElzVXNlckluaXRpYXRlZDooQk9PTCl1c2VySW5pdGlhdGVkOworCitAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05TVVJMUmVxdWVzdEV4dHJh
cy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0
cmFzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMzhlMDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05TVVJMUmVx
dWVzdEV4dHJhcy5tbQpAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29u
ZmlnLmgiCisjaW1wb3J0ICJfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCIKKworI2ltcG9ydCA8V2Vi
Q29yZS9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmg+CisKK0BpbXBsZW1lbnRhdGlvbiBOU1VSTFJl
cXVlc3QgKFdLRXh0cmFzKQorCistIChCT09MKV93ZWJfaXNVc2VySW5pdGlhdGVkCit7CisgICAg
TlNOdW1iZXIgKnVzZXJJbml0aWF0ZWQgPSBbTlNVUkxQcm90b2NvbCBwcm9wZXJ0eUZvcktleToo
TlNTdHJpbmcgKil3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpIGluUmVxdWVz
dDpzZWxmXTsKKyAgICByZXR1cm4gdXNlckluaXRpYXRlZC5ib29sVmFsdWU7Cit9CisKK0BlbmQK
KworQGltcGxlbWVudGF0aW9uIE5TTXV0YWJsZVVSTFJlcXVlc3QgKFdLRXh0cmFzKQorCistICh2
b2lkKV93ZWJfc2V0SXNVc2VySW5pdGlhdGVkOihCT09MKXVzZXJJbml0aWF0ZWQKK3sKKyAgICBb
TlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTp1c2VySW5pdGlhdGVkID8gQFlFUyA6IEBOTyBmb3JL
ZXk6KE5TU3RyaW5nICopd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKSBpblJl
cXVlc3Q6c2VsZl07Cit9CisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1M2Q5YTZhLi4xODNhOGVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDE0
LDYgKzEwMTQsOCBAQAogCQk1MUFEMzU3MzFBRDJGMzk0MDA1N0IzOEUgLyogV2ViSGl0VGVzdFJl
c3VsdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
QUQzNTcyMUFEMkYzNzUwMDU3QjM4RSAvKiBXZWJIaXRUZXN0UmVzdWx0Lm1tICovOyB9OwogCQk1
MUIxNUE4NDEzODQzQTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCMTVBODIxMzg0M0Ez
OTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmNwcCAqLzsgfTsKIAkJNTFCMTVBODUx
Mzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIxNUE4MzEzODQzQTM5MDAzMjFBRDgg
LyogRW52aXJvbm1lbnRVdGlsaXRpZXMuaCAqLzsgfTsKKwkJNTFCOEY0ODMxQjBFNTM5QTAwOEZD
NEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCOEY0N0YxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05TVVJM
UmVxdWVzdEV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTUxQjhGNDg0MUIwRTUzQTEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRy
YXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUI4
RjQ4MDFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tICovOyB9Owog
CQk1MUJBMjQ0NDE4NThFRTMwMDBFQTI4MTEgLyogQXN5bmNUYXNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUJBMjQ0MzE4NThFRTMwMDBFQTI4MTEg
LyogQXN5bmNUYXNrLmggKi87IH07CiAJCTUxQkEyNDQ2MTg1OEY1NUQwMEVBMjgxMSAvKiBXZWJD
cm9zc1RocmVhZENvcGllci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MUJBMjQ0NTE4NThGNDE1MDBFQTI4MTEgLyogV2ViQ3Jvc3NUaHJlYWRDb3Bp
ZXIuY3BwICovOyB9OwogCQk1MUM5NjExODE4M0QyOTQ3MDBEMjAwMkUgLyogV2ViSURCU2VydmVy
Q29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUM5NjExNjE4M0QyOTQ3MDBEMjAwMkUgLyogV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zMjE5LDYgKzMyMjEs
OCBAQAogCQk1MUFEMzU3MjFBRDJGMzc1MDA1N0IzOEUgLyogV2ViSGl0VGVzdFJlc3VsdC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkhpdFRlc3RSZXN1bHQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxQjE1QTgyMTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0
aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnZpcm9u
bWVudFV0aWxpdGllcy5jcHA7IHBhdGggPSB1bml4L0Vudmlyb25tZW50VXRpbGl0aWVzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCMTVBODMxMzg0M0EzOTAwMzIxQUQ4IC8q
IEVudmlyb25tZW50VXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEVudmlyb25tZW50VXRpbGl0aWVzLmg7IHBhdGggPSB1bml4L0Vudmlyb25tZW50VXRpbGl0aWVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxQjhGNDdGMUIwRTUzMEMwMDhGQzRC
RCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTUxQjhGNDgwMUIwRTUzMEMwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tOU1VSTFJlcXVlc3RF
eHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQkEyNDQzMTg1OEVFMzAw
MEVBMjgxMSAvKiBBc3luY1Rhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXN5bmNUYXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQkEyNDQ1MTg1OEY0
MTUwMEVBMjgxMSAvKiBXZWJDcm9zc1RocmVhZENvcGllci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJDcm9zc1RocmVhZENvcGllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxQzk2MTE1MTgzQzk1RkYwMEQyMDAyRSAvKiBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFdlYklEQlNlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NTA0LDYgKzU1MDgsOCBAQAogCQkJCTM3M0QxMjI2MThB
NDczRjYwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZUludGVybmFsLmggKi8sCiAJCQkJQTExOEE5
RjExOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCAqLywKIAkJCQlB
MTE4QTlGMDE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAqLywK
KwkJCQk1MUI4RjQ3RjFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmgg
Ki8sCisJCQkJNTFCOEY0ODAxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJh
cy5tbSAqLywKIAkJCQkxQTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0
SW50ZXJmYWNlLmggKi8sCiAJCQkJMUE5RTMyOEMxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90
ZU9iamVjdEludGVyZmFjZS5tbSAqLywKIAkJCQkxQUFCRkUzOTE4MjlDMUVEMDA1QjA3MEUgLyog
X1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlSW50ZXJuYWwuaCAqLywKQEAgLTc4MjksNiArNzgzNSw3
IEBACiAJCQkJMUE0QTlDNTYxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9kdWxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUE1ODg5MjExRUU3MDQwMDA2MUI4ODIgLyogTmV0c2Nh
cGVQbHVnaW5TdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzk4QzdBMTZFNjgxODgwMDI0
MDEzOSAvKiBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUI4RjQ4
MzFCMEU1MzlBMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFNDQzNkVDQzFBMEQwNDBCMDBFQUQyMDQgLyogTmV0d29ya0NhY2hlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFNDlENDBENzFBRDNGQjE3MDA2NkI3QjkgLyogTmV0d29ya0NhY2hlQmxv
YlN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0ODlEMjhBMUEwQTJEQjgwMDc4QzA2QSAv
KiBOZXR3b3JrQ2FjaGVDb2Rlci5oIGluIEhlYWRlcnMgKi8sCkBAIC05NTY5LDYgKzk1NzYsNyBA
QAogCQkJCTFBMUQ4QkExMTczMUEzNjMwMDE0MURBNCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQThDNzI4QzE3Mzg0NzdDMDAwQTY1NTQgLyogTG9jYWxT
dG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQTdGMkY1MTI1
QkY4RDQwMDhBRUIxRCAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxQjhGNDg0
MUIwRTUzQTEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0gaW4gU291cmNlcyAq
LywKIAkJCQk1MTYwQkZFMTEzMzgxREY5MDA5MTg5OTkgLyogTG9nZ2luZ0ZvdW5kYXRpb24ubW0g
aW4gU291cmNlcyAqLywKIAkJCQkxQTI0QjVGMjExRjUzMUU4MDBDMzgyNjkgLyogTWFjaFV0aWxp
dGllcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTkzM0RGMDE5NjVFQjMxMDA4QUMzRUEgLyog
TWVudVV0aWxpdGllcy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50
ZXJmYWNlLm1tCmluZGV4IDhjMzU3YTMuLjU1Y2FlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0
ZW1JbnRlcmZhY2UubW0KQEAgLTMxLDYgKzMxLDEyIEBACiAKICNkZWZpbmUgSU5JVChmdW5jdGlv
bikgd2sjI2Z1bmN0aW9uID0gV0sjI2Z1bmN0aW9uCiAKK3N0YXRpYyBDRlN0cmluZ1JlZiBXS1Jl
c291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpCit7CisgICAgc3RhdGljIENGU3RyaW5n
UmVmIGtleSA9IENGU1RSKCJXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSIpOwor
ICAgIHJldHVybiBrZXk7Cit9CisKIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9p
ZCkKIHsKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IGluaXRPbmNlOwpAQCAtMjAxLDcgKzIw
NywxMCBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAjaWYgRU5BQkxF
KENBQ0hFX1BBUlRJVElPTklORykKICAgICAgICAgSU5JVChDYWNoZVBhcnRpdGlvbktleSk7CiAj
ZW5kaWYKLSAgICAgICAgCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICAgICAgSU5JVChSZXNv
dXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkpOworI2VuZGlmCiAgICAgICAgIElOSVQoRXhl
cm5hbERldmljZVR5cGVGb3JQbGF5ZXIpOwogICAgICAgICBJTklUKEV4ZXJuYWxEZXZpY2VEaXNw
bGF5TmFtZUZvclBsYXllcik7CiAK
</data>
<flag name="review"
          id="278467"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253552</attachid>
            <date>2015-05-21 16:46:58 -0700</date>
            <delta_ts>2015-05-21 17:36:04 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>19830</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MWYyNWFhLi5iZDU5OGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTUtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBhbiAiaW5pdGlhdGVkIGJ5IHVzZXIgZ2VzdHVyZSIgZmxhZyB0byBSZXNvdXJjZVJl
cXVlc3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDUyODEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAg
IEFsbG93IFdlYktpdCB0byB0ZWxsIFdlYkNvcmUgd2hhdCB0aGUgbmV3IHByb3BlcnR5IGtleSBp
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tOgorCisgICAgICAgIEFk
ZCB0aGUgZmxhZyB0byBSZXNvdXJjZVJlcXVlc3QsIGFuZCBtYWtlIHN1cmUgaXQgZW5jb2Rlcy9k
ZWNvZGVzOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6aW5pdGlhdGVkQnlVc2Vy
R2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRJbml0
aWF0ZWRCeVVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJh
c2U6OmVuY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0QmFzZTo6ZGVjb2RlV2l0aG91dFBsYXRmb3JtRGF0YSk6CisKKyAgICAgICAgU2V0
L2dldCB0aGUgcHJvcGVydHkgb24gbmF0aXZlIENGVVJMUmVxdWVzdFJlZnM6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QpOgor
CisgICAgICAgIFNldC9nZXQgdGhlIHByb3BlcnR5IG9uIG5hdGl2ZSBOU1VSTFJlcXVlc3RzOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2EubW06
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9y
bVJlcXVlc3QpOgorCiAyMDE1LTA1LTE4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04oMTQyNTkwKTogU2Nyb2xsLXNuYXAgcG9pbnRzIGFy
ZSBpbXByb3Blcmx5IHNuYXBwaW5nIHRvIGVhcmxpZXIgaW5kZXggdmFsdWVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9T
Lm1tCmluZGV4IGM3ZTU5NzAuLmQ0NWU4MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TLm1tCkBAIC0xMjQsMyAr
MTI0LDUgQEAgV0VCQ09SRV9FWFBPUlQgTlNTdHJpbmcgKigqd2tFeGVybmFsRGV2aWNlRGlzcGxh
eU5hbWVGb3JQbGF5ZXIpKEFWUGxheWVyICopOwogCiBXRUJDT1JFX0VYUE9SVCBib29sICgqd2tR
dWVyeURlY29kZXJBdmFpbGFiaWxpdHkpKHZvaWQpOwogCitXRUJDT1JFX0VYUE9SVCBDRlN0cmlu
Z1JlZiAoKndrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KSh2b2lkKTsKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNl
LmgKaW5kZXggNDlkNzg4Zi4uZTBiOTBjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCkBAIC0zMTgsNiArMzE4LDggQEAg
ZXh0ZXJuIGJvb2wgKCp3a0lzUHVibGljU3VmZml4KShOU1N0cmluZyAqaG9zdCk7CiBleHRlcm4g
Q0ZTdHJpbmdSZWYgKCp3a0NhY2hlUGFydGl0aW9uS2V5KSh2b2lkKTsKICNlbmRpZgogCitleHRl
cm4gQ0ZTdHJpbmdSZWYgKCp3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSkodm9p
ZCk7CisKIHR5cGVkZWYgZW51bSB7CiAgICAgd2tFeHRlcm5hbFBsYXliYWNrVHlwZU5vbmUsCiAg
ICAgd2tFeHRlcm5hbFBsYXliYWNrVHlwZUFpclBsYXksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCmluZGV4IDI5NDI2MjEu
LjlmMmUzMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3Jl
U3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0xNzAsNiArMTcwLDggQEAgYm9vbCAoKndrSXNQdWJs
aWNTdWZmaXgpKE5TU3RyaW5nICpob3N0KTsKIENGU3RyaW5nUmVmICgqd2tDYWNoZVBhcnRpdGlv
bktleSkodm9pZCk7CiAjZW5kaWYKIAorQ0ZTdHJpbmdSZWYgKCp3a1Jlc291cmNlUmVxdWVzdElz
VXNlckluaXRpYXRlZEtleSkodm9pZCk7CisKIGludCAoKndrRXhlcm5hbERldmljZVR5cGVGb3JQ
bGF5ZXIpKEFWUGxheWVyICopOwogTlNTdHJpbmcgKigqd2tFeGVybmFsRGV2aWNlRGlzcGxheU5h
bWVGb3JQbGF5ZXIpKEFWUGxheWVyICopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDEzNWNlYmUuLmZmMjEw
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oCkBAIC0xNDcsNiArMTQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBib29sIGhpZGRlbkZyb21JbnNwZWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2hpZGRl
bkZyb21JbnNwZWN0b3I7IH0KICAgICAgICAgdm9pZCBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGJv
b2wgaGlkZGVuRnJvbUluc3BlY3RvcikgeyBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBoaWRkZW5G
cm9tSW5zcGVjdG9yOyB9CiAKKyAgICAgICAgYm9vbCBpbml0aWF0ZWRCeVVzZXJHZXN0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9pbml0aWF0ZWRCeVVzZXJHZXN0dXJlOyB9CisgICAgICAgIHZvaWQg
c2V0SW5pdGlhdGVkQnlVc2VyR2VzdHVyZShib29sIGluaXRpYXRlZEJ5VXNlckdlc3R1cmUpIHsg
bV9pbml0aWF0ZWRCeVVzZXJHZXN0dXJlID0gaW5pdGlhdGVkQnlVc2VyR2VzdHVyZTsgfQorCiAg
ICAgICAgIGVudW0gY2xhc3MgUmVxdWVzdGVyIHsgVW5zcGVjaWZpZWQsIE1haW4sIFhIUiB9Owog
ICAgICAgICBSZXF1ZXN0ZXIgcmVxdWVzdGVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0ZXI7
IH0KICAgICAgICAgdm9pZCBzZXRSZXF1ZXN0ZXIoUmVxdWVzdGVyIHJlcXVlc3RlcikgeyBtX3Jl
cXVlc3RlciA9IHJlcXVlc3RlcjsgfQpAQCAtMjEzLDYgKzIxNiw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgYm9vbCBtX3JlcG9ydExvYWRUaW1pbmcgeyBmYWxzZSB9OwogICAgICAg
ICBib29sIG1fcmVwb3J0UmF3SGVhZGVycyB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbV9oaWRk
ZW5Gcm9tSW5zcGVjdG9yIHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2luaXRpYXRlZEJ5VXNl
ckdlc3R1cmUgeyBmYWxzZSB9OwogICAgICAgICBSZXNvdXJjZUxvYWRQcmlvcml0eSBtX3ByaW9y
aXR5IHsgUmVzb3VyY2VMb2FkUHJpb3JpdHk6OkxvdyB9OwogICAgICAgICBSZXF1ZXN0ZXIgbV9y
ZXF1ZXN0ZXIgeyBSZXF1ZXN0ZXI6OlVuc3BlY2lmaWVkIH07CiAKQEAgLTI2NCw2ICsyNjgsNyBA
QCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmVuY29kZVdpdGhvdXRQbGF0Zm9ybURhdGEoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fYWxsb3dDb29raWVzOwogICAg
IGVuY29kZXIuZW5jb2RlRW51bShtX3ByaW9yaXR5KTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0o
bV9yZXF1ZXN0ZXIpOworICAgIGVuY29kZXIgPDwgbV9pbml0aWF0ZWRCeVVzZXJHZXN0dXJlOwog
fQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgpAQCAtMzA5LDYgKzMxNCw5IEBAIGJvb2wgUmVz
b3VyY2VSZXF1ZXN0QmFzZTo6ZGVjb2RlV2l0aG91dFBsYXRmb3JtRGF0YShEZWNvZGVyJiBkZWNv
ZGVyKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKG1fcmVxdWVzdGVyKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtX2luaXRpYXRlZEJ5VXNl
ckdlc3R1cmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZVJlcXVlc3RDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlUmVxdWVzdENGTmV0LmNwcAppbmRleCBlMmQ5NmE4Li44ODJhYWZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVx
dWVzdENGTmV0LmNwcApAQCAtMTg2LDYgKzE4NiwxMSBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6
ZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QoKQogICAgIH0KICNlbmRpZgogCisjaWYgIVBMQVRGT1JN
KFdJTikKKyAgICBpZiAoaW5pdGlhdGVkQnlVc2VyR2VzdHVyZSgpKQorICAgICAgICBfQ0ZVUkxS
ZXF1ZXN0U2V0UHJvdG9jb2xQcm9wZXJ0eShjZlJlcXVlc3QsIHdrUmVzb3VyY2VSZXF1ZXN0SXNV
c2VySW5pdGlhdGVkS2V5KCksIGtDRkJvb2xlYW5UcnVlKTsKKyNlbmRpZgorCiAgICAgbV9jZlJl
cXVlc3QgPSBhZG9wdENGKGNmUmVxdWVzdCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgY2xl
YXJPclVwZGF0ZU5TVVJMUmVxdWVzdCgpOwpAQCAtMjkwLDYgKzI5NSwxMiBAQCB2b2lkIFJlc291
cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQogICAgIGlmIChjYWNoZVBhcnRp
dGlvbikKICAgICAgICAgbV9jYWNoZVBhcnRpdGlvbiA9IGNhY2hlUGFydGl0aW9uLmdldCgpOwog
I2VuZGlmCisKKyNpZiAhUExBVEZPUk0oV0lOKQorICAgIFJldGFpblB0cjxDRkJvb2xlYW5SZWY+
IGluaXRpYXRlZEJ5VXNlckdlc3R1cmUgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGQm9vbGVhblJl
Zj4oX0NGVVJMUmVxdWVzdENvcHlQcm90b2NvbFByb3BlcnR5Rm9yS2V5KG1fY2ZSZXF1ZXN0Lmdl
dCgpLCB3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpKSkpOworICAgIGlmIChp
bml0aWF0ZWRCeVVzZXJHZXN0dXJlKQorICAgICAgICBzZXRJbml0aWF0ZWRCeVVzZXJHZXN0dXJl
KENGQm9vbGVhbkdldFZhbHVlKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUuZ2V0KCkpKTsKKyNlbmRp
ZgogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZUhUVFBCb2R5KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3Vy
Y2VSZXF1ZXN0Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29h
L1Jlc291cmNlUmVxdWVzdENvY29hLm1tCmluZGV4IDUyZjQ1YTkuLmFlY2VkMTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9SZXNv
dXJjZVJlcXVlc3RDb2NvYS5tbQpAQCAtMTAyLDYgKzEwMiwxMCBAQCB2b2lkIFJlc291cmNlUmVx
dWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQogICAgICAgICAgICAgbV9jYWNoZVBhcnRp
dGlvbiA9IGNhY2hlUGFydGl0aW9uOwogICAgIH0KICNlbmRpZgorCisgICAgTlNOdW1iZXIgKmlu
aXRpYXRlZEJ5VXNlckdlc3R1cmUgPSBbTlNVUkxQcm90b2NvbCBwcm9wZXJ0eUZvcktleTooTlNT
dHJpbmcgKil3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpIGluUmVxdWVzdDpt
X25zUmVxdWVzdC5nZXQoKV07CisgICAgaWYgKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUpCisgICAg
ICAgIHNldEluaXRpYXRlZEJ5VXNlckdlc3R1cmUoaW5pdGlhdGVkQnlVc2VyR2VzdHVyZS5ib29s
VmFsdWUpOwogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZUhUVFBC
b2R5KCkKQEAgLTE3OCw2ICsxODIsOSBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQ
bGF0Zm9ybVJlcXVlc3QoKQogICAgICAgICBbTlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTpwYXJ0
aXRpb25WYWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopd2tDYWNoZVBhcnRpdGlvbktleSgpIGluUmVx
dWVzdDpuc1JlcXVlc3RdOwogICAgIH0KICNlbmRpZgorCisgICAgaWYgKGluaXRpYXRlZEJ5VXNl
ckdlc3R1cmUoKSkKKyAgICAgICAgW05TVVJMUHJvdG9jb2wgc2V0UHJvcGVydHk6QFlFUyBmb3JL
ZXk6KE5TU3RyaW5nICopd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKSBpblJl
cXVlc3Q6bnNSZXF1ZXN0XTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxh
dGZvcm1IVFRQQm9keSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzUzZTliMi4uYmZlZjNkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA1LTIxICBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYW4gImluaXRpYXRlZCBieSB1c2Vy
IGdlc3R1cmUiIGZsYWcgdG8gUmVzb3VyY2VSZXF1ZXN0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUlu
dGVyZmFjZS5tbToKKyAgICAgICAgKFdLUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5
KToKKyAgICAgICAgKEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKToKKwogMjAxNS0wNS0xNSAg
SmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CiAKICAgICAgICAgTGltaXQgYWx0ZXJu
YXRlIGZ1bGxzY3JlZW4gd2l0aCBsaW5rZWQgb24gb3IgYWZ0ZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KaW5kZXgg
ODFkYzZlOC4uNDQyNzhmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQpAQCAtMzYsNiArMzYsMTIgQEAKIAogI2Rl
ZmluZSBJTklUKGZ1bmN0aW9uKSB3ayMjZnVuY3Rpb24gPSBXSyMjZnVuY3Rpb24KIAorc3RhdGlj
IENGU3RyaW5nUmVmIFdLUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlhdGVkS2V5KCkKK3sKKyAg
ICBzdGF0aWMgQ0ZTdHJpbmdSZWYga2V5ID0gQ0ZTVFIoIldLUmVzb3VyY2VSZXF1ZXN0SXNVc2Vy
SW5pdGlhdGVkS2V5Iik7CisgICAgcmV0dXJuIGtleTsKK30KKwogdm9pZCBJbml0V2ViQ29yZVN5
c3RlbUludGVyZmFjZSh2b2lkKQogewogICAgIHN0YXRpYyBib29sIGRpZEluaXQ7CkBAIC0yMTAs
NiArMjE2LDcgQEAgdm9pZCBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQogICAgIElO
SVQoQ2FjaGVQYXJ0aXRpb25LZXkpOwogI2VuZGlmCiAKKyAgICBJTklUKFJlc291cmNlUmVxdWVz
dElzVXNlckluaXRpYXRlZEtleSk7CiAgICAgSU5JVChFeGVybmFsRGV2aWNlVHlwZUZvclBsYXll
cik7CiAgICAgSU5JVChFeGVybmFsRGV2aWNlRGlzcGxheU5hbWVGb3JQbGF5ZXIpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggODYxN2ViMS4uM2VkMjE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDE1LTA1LTIxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgYW4gImluaXRpYXRlZCBieSB1c2VyIGdlc3R1cmUiIGZsYWcgdG8gUmVzb3VyY2VSZXF1ZXN0
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1Mjgx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBFeHBv
c2UgYSBuZXcgY2F0ZWdvcnkgb24gTlNVUkxSZXF1ZXN0IHRvIGFsbG93IFNQSSBjbGllbnRzIHRv
IGVhc2lseSBzZXQvZ2V0IHRoZSBmbGFnOgorICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dL
TlNVUkxSZXF1ZXN0RXh0cmFzLmg6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2Ev
X1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bTlNVUkxSZXF1ZXN0
IF93ZWJfaXNVc2VySW5pdGlhdGVkXSk6CisgICAgICAgICgtW05TTXV0YWJsZVVSTFJlcXVlc3Qg
X3dlYl9zZXRJc1VzZXJJbml0aWF0ZWQ6XSk6CisKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisKKyAgICAgICAgRXhwb3NlIHRoZSBuZXcgcHJvcGVydHkga2V5
IHRvIFdlYkNvcmU6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2Vi
U3lzdGVtSW50ZXJmYWNlLm1tOgorICAgICAgICAoV0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0
aWF0ZWRLZXkpOgorICAgICAgICAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOgorCiAyMDE1
LTA1LTE4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xs
b3d1cCB0bzogTmV0d29ya2luZyBwcm9jZXNzIG9uIGlPUyBjYW4gYmUgc3VzcGVuZGVkIGFuZCBu
ZXZlciBleGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19X
S05TVVJMUmVxdWVzdEV4dHJhcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9f
V0tOU1VSTFJlcXVlc3RFeHRyYXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5lYWQ5NTU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9D
b2NvYS9fV0tOU1VSTFJlcXVlc3RFeHRyYXMuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCitAaW50ZXJmYWNlIE5TVVJMUmVx
dWVzdCAoV0tFeHRyYXMpCisKKy0gKEJPT0wpX3dlYl9pc1VzZXJJbml0aWF0ZWQ7CisKK0BlbmQK
KworQGludGVyZmFjZSBOU011dGFibGVVUkxSZXF1ZXN0IChXS0V4dHJhcykKKworLSAodm9pZClf
d2ViX3NldElzVXNlckluaXRpYXRlZDooQk9PTCl1c2VySW5pdGlhdGVkOworCitAZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05TVVJMUmVxdWVzdEV4
dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0
RXh0cmFzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMzhlMDUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05TVVJM
UmVxdWVzdEV4dHJhcy5tbQpAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAi
Y29uZmlnLmgiCisjaW1wb3J0ICJfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCIKKworI2ltcG9ydCA8
V2ViQ29yZS9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmg+CisKK0BpbXBsZW1lbnRhdGlvbiBOU1VS
TFJlcXVlc3QgKFdLRXh0cmFzKQorCistIChCT09MKV93ZWJfaXNVc2VySW5pdGlhdGVkCit7Cisg
ICAgTlNOdW1iZXIgKnVzZXJJbml0aWF0ZWQgPSBbTlNVUkxQcm90b2NvbCBwcm9wZXJ0eUZvcktl
eTooTlNTdHJpbmcgKil3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpIGluUmVx
dWVzdDpzZWxmXTsKKyAgICByZXR1cm4gdXNlckluaXRpYXRlZC5ib29sVmFsdWU7Cit9CisKK0Bl
bmQKKworQGltcGxlbWVudGF0aW9uIE5TTXV0YWJsZVVSTFJlcXVlc3QgKFdLRXh0cmFzKQorCist
ICh2b2lkKV93ZWJfc2V0SXNVc2VySW5pdGlhdGVkOihCT09MKXVzZXJJbml0aWF0ZWQKK3sKKyAg
ICBbTlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTp1c2VySW5pdGlhdGVkID8gQFlFUyA6IEBOTyBm
b3JLZXk6KE5TU3RyaW5nICopd2tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkoKSBp
blJlcXVlc3Q6c2VsZl07Cit9CisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1M2Q5YTZhLi4xODNhOGVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MDE0LDYgKzEwMTQsOCBAQAogCQk1MUFEMzU3MzFBRDJGMzk0MDA1N0IzOEUgLyogV2ViSGl0VGVz
dFJlc3VsdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxQUQzNTcyMUFEMkYzNzUwMDU3QjM4RSAvKiBXZWJIaXRUZXN0UmVzdWx0Lm1tICovOyB9Owog
CQk1MUIxNUE4NDEzODQzQTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCMTVBODIxMzg0
M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmNwcCAqLzsgfTsKIAkJNTFCMTVB
ODUxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIxNUE4MzEzODQzQTM5MDAzMjFB
RDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuaCAqLzsgfTsKKwkJNTFCOEY0ODMxQjBFNTM5QTAw
OEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCOEY0N0YxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05T
VVJMUmVxdWVzdEV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTUxQjhGNDg0MUIwRTUzQTEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RF
eHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUI4RjQ4MDFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tICovOyB9
OwogCQk1MUJBMjQ0NDE4NThFRTMwMDBFQTI4MTEgLyogQXN5bmNUYXNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUJBMjQ0MzE4NThFRTMwMDBFQTI4
MTEgLyogQXN5bmNUYXNrLmggKi87IH07CiAJCTUxQkEyNDQ2MTg1OEY1NUQwMEVBMjgxMSAvKiBX
ZWJDcm9zc1RocmVhZENvcGllci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUJBMjQ0NTE4NThGNDE1MDBFQTI4MTEgLyogV2ViQ3Jvc3NUaHJlYWRD
b3BpZXIuY3BwICovOyB9OwogCQk1MUM5NjExODE4M0QyOTQ3MDBEMjAwMkUgLyogV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUM5NjExNjE4M0QyOTQ3MDBEMjAwMkUgLyogV2ViSURC
U2VydmVyQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0zMjE5LDYgKzMy
MjEsOCBAQAogCQk1MUFEMzU3MjFBRDJGMzc1MDA1N0IzOEUgLyogV2ViSGl0VGVzdFJlc3VsdC5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkhpdFRlc3RSZXN1bHQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxQjE1QTgyMTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVu
dFV0aWxpdGllcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBFbnZp
cm9ubWVudFV0aWxpdGllcy5jcHA7IHBhdGggPSB1bml4L0Vudmlyb25tZW50VXRpbGl0aWVzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCMTVBODMxMzg0M0EzOTAwMzIxQUQ4
IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IEVudmlyb25tZW50VXRpbGl0aWVzLmg7IHBhdGggPSB1bml4L0Vudmlyb25tZW50VXRpbGl0
aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxQjhGNDdGMUIwRTUzMEMwMDhG
QzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTUxQjhGNDgwMUIwRTUzMEMwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tOU1VSTFJlcXVl
c3RFeHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQkEyNDQzMTg1OEVF
MzAwMEVBMjgxMSAvKiBBc3luY1Rhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXN5bmNUYXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxQkEyNDQ1MTg1
OEY0MTUwMEVBMjgxMSAvKiBXZWJDcm9zc1RocmVhZENvcGllci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJDcm9zc1RocmVhZENvcGllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUxQzk2MTE1MTgzQzk1RkYwMEQyMDAyRSAvKiBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uLm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFdlYklEQlNlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NTA0LDYgKzU1MDgsOCBAQAogCQkJCTM3M0QxMjI2
MThBNDczRjYwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZUludGVybmFsLmggKi8sCiAJCQkJQTEx
OEE5RjExOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCAqLywKIAkJ
CQlBMTE4QTlGMDE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAq
LywKKwkJCQk1MUI4RjQ3RjFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFz
LmggKi8sCisJCQkJNTFCOEY0ODAxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4
dHJhcy5tbSAqLywKIAkJCQkxQTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2Jq
ZWN0SW50ZXJmYWNlLmggKi8sCiAJCQkJMUE5RTMyOEMxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1Jl
bW90ZU9iamVjdEludGVyZmFjZS5tbSAqLywKIAkJCQkxQUFCRkUzOTE4MjlDMUVEMDA1QjA3MEUg
LyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlSW50ZXJuYWwuaCAqLywKQEAgLTc4MjksNiArNzgz
NSw3IEBACiAJCQkJMUE0QTlDNTYxMkI4MTZDRjAwOEZFOTg0IC8qIE5ldHNjYXBlUGx1Z2luTW9k
dWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUE1ODg5MjExRUU3MDQwMDA2MUI4ODIgLyogTmV0
c2NhcGVQbHVnaW5TdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzk4QzdBMTZFNjgxODgw
MDI0MDEzOSAvKiBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUI4
RjQ4MzFCMEU1MzlBMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFNDQzNkVDQzFBMEQwNDBCMDBFQUQyMDQgLyogTmV0d29ya0NhY2hlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFNDlENDBENzFBRDNGQjE3MDA2NkI3QjkgLyogTmV0d29ya0NhY2hl
QmxvYlN0b3JhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0ODlEMjhBMUEwQTJEQjgwMDc4QzA2
QSAvKiBOZXR3b3JrQ2FjaGVDb2Rlci5oIGluIEhlYWRlcnMgKi8sCkBAIC05NTY5LDYgKzk1NzYs
NyBAQAogCQkJCTFBMUQ4QkExMTczMUEzNjMwMDE0MURBNCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFz
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQThDNzI4QzE3Mzg0NzdDMDAwQTY1NTQgLyogTG9j
YWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQTdGMkY1
MTI1QkY4RDQwMDhBRUIxRCAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxQjhG
NDg0MUIwRTUzQTEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1MTYwQkZFMTEzMzgxREY5MDA5MTg5OTkgLyogTG9nZ2luZ0ZvdW5kYXRpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTI0QjVGMjExRjUzMUU4MDBDMzgyNjkgLyogTWFjaFV0
aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTkzM0RGMDE5NjVFQjMxMDA4QUMzRUEg
LyogTWVudVV0aWxpdGllcy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1t
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVt
SW50ZXJmYWNlLm1tCmluZGV4IDhjMzU3YTMuLmY2NTI4OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJT
eXN0ZW1JbnRlcmZhY2UubW0KQEAgLTMxLDYgKzMxLDEyIEBACiAKICNkZWZpbmUgSU5JVChmdW5j
dGlvbikgd2sjI2Z1bmN0aW9uID0gV0sjI2Z1bmN0aW9uCiAKK3N0YXRpYyBDRlN0cmluZ1JlZiBX
S1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpCit7CisgICAgc3RhdGljIENGU3Ry
aW5nUmVmIGtleSA9IENGU1RSKCJXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSIp
OworICAgIHJldHVybiBrZXk7Cit9CisKIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uo
dm9pZCkKIHsKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IGluaXRPbmNlOwpAQCAtMjAxLDcg
KzIwNyw4IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICNpZiBFTkFC
TEUoQ0FDSEVfUEFSVElUSU9OSU5HKQogICAgICAgICBJTklUKENhY2hlUGFydGl0aW9uS2V5KTsK
ICNlbmRpZgotICAgICAgICAKKworICAgICAgICBJTklUKFJlc291cmNlUmVxdWVzdElzVXNlcklu
aXRpYXRlZEtleSk7CiAgICAgICAgIElOSVQoRXhlcm5hbERldmljZVR5cGVGb3JQbGF5ZXIpOwog
ICAgICAgICBJTklUKEV4ZXJuYWxEZXZpY2VEaXNwbGF5TmFtZUZvclBsYXllcik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253594</attachid>
            <date>2015-05-22 10:11:56 -0700</date>
            <delta_ts>2015-05-22 10:17:25 -0700</delta_ts>
            <desc>Followup to fix WCSI/WSI misusage - v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>9379</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkYWQ3MjE1Yi4uZWI5ZWU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDE1LTA1LTIyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXdvcmsgaG93IHRoZSBSZXNvdXJjZVJlcXVlc3QgdXNlciBpbml0aWF0ZWQgcHJvcGVy
dHkga2V5IGlzIHVzZWQuCisgICAgICAgIEZvbGxvd3VwIHRvIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDUyODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNl
Lmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3JtUmVxdWVz
dCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6aXNVc2VySW5pdGlh
dGVkS2V5KToKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1
ZXN0Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRl
UmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZG9V
cGRhdGVQbGF0Zm9ybVJlcXVlc3QpOgorCiAyMDE1LTA1LTIyICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yIEVOQUJMRShU
UkVFX0RFQlVHR0lORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9X
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
Q29yZVN5c3RlbUludGVyZmFjZS5oCmluZGV4IGUwYjkwYzUuLjQ5ZDc4OGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaApA
QCAtMzE4LDggKzMxOCw2IEBAIGV4dGVybiBib29sICgqd2tJc1B1YmxpY1N1ZmZpeCkoTlNTdHJp
bmcgKmhvc3QpOwogZXh0ZXJuIENGU3RyaW5nUmVmICgqd2tDYWNoZVBhcnRpdGlvbktleSkodm9p
ZCk7CiAjZW5kaWYKIAotZXh0ZXJuIENGU3RyaW5nUmVmICgqd2tSZXNvdXJjZVJlcXVlc3RJc1Vz
ZXJJbml0aWF0ZWRLZXkpKHZvaWQpOwotCiB0eXBlZGVmIGVudW0gewogICAgIHdrRXh0ZXJuYWxQ
bGF5YmFja1R5cGVOb25lLAogICAgIHdrRXh0ZXJuYWxQbGF5YmFja1R5cGVBaXJQbGF5LApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVl
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
LmgKaW5kZXggYjFlMjQ3NS4uNzI3NzlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oCkBAIC05NSw2ICs5NSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBlbmNvZGluZ1JlcXVpcmVzUGxhdGZvcm1E
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9odHRwQm9keSB8fCBtX25zUmVxdWVzdDsgfQogI2VuZGlm
CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIE5TVVJMUmVxdWVzdCAqbnNVUkxSZXF1ZXN0KEhUVFBC
b2R5VXBkYXRlUG9saWN5KSBjb25zdDsKKworICAgICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
Q0ZTdHJpbmdSZWYgaXNVc2VySW5pdGlhdGVkS2V5KCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShD
QUNIRV9QQVJUSVRJT05JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCmluZGV4IDg4MmFhZmQuLmNl
MTM0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCkBAIC0xODgsNyArMTg4LDcgQEAgdm9pZCBS
ZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KCkKIAogI2lmICFQTEFURk9S
TShXSU4pCiAgICAgaWYgKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUoKSkKLSAgICAgICAgX0NGVVJM
UmVxdWVzdFNldFByb3RvY29sUHJvcGVydHkoY2ZSZXF1ZXN0LCB3a1Jlc291cmNlUmVxdWVzdElz
VXNlckluaXRpYXRlZEtleSgpLCBrQ0ZCb29sZWFuVHJ1ZSk7CisgICAgICAgIF9DRlVSTFJlcXVl
c3RTZXRQcm90b2NvbFByb3BlcnR5KGNmUmVxdWVzdCwgUmVzb3VyY2VSZXF1ZXN0Ojppc1VzZXJJ
bml0aWF0ZWRLZXkoKSwga0NGQm9vbGVhblRydWUpOwogI2VuZGlmCiAKICAgICBtX2NmUmVxdWVz
dCA9IGFkb3B0Q0YoY2ZSZXF1ZXN0KTsKQEAgLTI5Nyw3ICsyOTcsNyBAQCB2b2lkIFJlc291cmNl
UmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QoKQogI2VuZGlmCiAKICNpZiAhUExBVEZP
Uk0oV0lOKQotICAgIFJldGFpblB0cjxDRkJvb2xlYW5SZWY+IGluaXRpYXRlZEJ5VXNlckdlc3R1
cmUgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGQm9vbGVhblJlZj4oX0NGVVJMUmVxdWVzdENvcHlQ
cm90b2NvbFByb3BlcnR5Rm9yS2V5KG1fY2ZSZXF1ZXN0LmdldCgpLCB3a1Jlc291cmNlUmVxdWVz
dElzVXNlckluaXRpYXRlZEtleSgpKSkpOworICAgIFJldGFpblB0cjxDRkJvb2xlYW5SZWY+IGlu
aXRpYXRlZEJ5VXNlckdlc3R1cmUgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGQm9vbGVhblJlZj4o
X0NGVVJMUmVxdWVzdENvcHlQcm90b2NvbFByb3BlcnR5Rm9yS2V5KG1fY2ZSZXF1ZXN0LmdldCgp
LCBSZXNvdXJjZVJlcXVlc3Q6OmlzVXNlckluaXRpYXRlZEtleSgpKSkpOwogICAgIGlmIChpbml0
aWF0ZWRCeVVzZXJHZXN0dXJlKQogICAgICAgICBzZXRJbml0aWF0ZWRCeVVzZXJHZXN0dXJlKENG
Qm9vbGVhbkdldFZhbHVlKGluaXRpYXRlZEJ5VXNlckdlc3R1cmUuZ2V0KCkpKTsKICNlbmRpZgpA
QCAtNDM4LDQgKzQzOCwxMCBAQCB2b2lkIGluaXRpYWxpemVIVFRQQ29ubmVjdGlvblNldHRpbmdz
T25TdGFydHVwKCkKIH0KICNlbmRpZgogCitDRlN0cmluZ1JlZiBSZXNvdXJjZVJlcXVlc3Q6Omlz
VXNlckluaXRpYXRlZEtleSgpCit7CisgICAgc3RhdGljIENGU3RyaW5nUmVmIGtleSA9IENGU1RS
KCJSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkiKTsKKyAgICByZXR1cm4ga2V5Owor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVzdENvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9SZXNvdXJjZVJlcXVlc3RDb2NvYS5tbQppbmRl
eCBhZWNlZDE5Li4yMmQ3NmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVzdENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2EubW0KQEAgLTEwMyw3
ICsxMDMsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3Qo
KQogICAgIH0KICNlbmRpZgogCi0gICAgTlNOdW1iZXIgKmluaXRpYXRlZEJ5VXNlckdlc3R1cmUg
PSBbTlNVUkxQcm90b2NvbCBwcm9wZXJ0eUZvcktleTooTlNTdHJpbmcgKil3a1Jlc291cmNlUmVx
dWVzdElzVXNlckluaXRpYXRlZEtleSgpIGluUmVxdWVzdDptX25zUmVxdWVzdC5nZXQoKV07Cisg
ICAgTlNOdW1iZXIgKmluaXRpYXRlZEJ5VXNlckdlc3R1cmUgPSBbTlNVUkxQcm90b2NvbCBwcm9w
ZXJ0eUZvcktleTooTlNTdHJpbmcgKilSZXNvdXJjZVJlcXVlc3Q6OmlzVXNlckluaXRpYXRlZEtl
eSgpIGluUmVxdWVzdDptX25zUmVxdWVzdC5nZXQoKV07CiAgICAgaWYgKGluaXRpYXRlZEJ5VXNl
ckdlc3R1cmUpCiAgICAgICAgIHNldEluaXRpYXRlZEJ5VXNlckdlc3R1cmUoaW5pdGlhdGVkQnlV
c2VyR2VzdHVyZS5ib29sVmFsdWUpOwogfQpAQCAtMTg0LDcgKzE4NCw3IEBAIHZvaWQgUmVzb3Vy
Y2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3JtUmVxdWVzdCgpCiAjZW5kaWYKIAogICAgIGlmIChp
bml0aWF0ZWRCeVVzZXJHZXN0dXJlKCkpCi0gICAgICAgIFtOU1VSTFByb3RvY29sIHNldFByb3Bl
cnR5OkBZRVMgZm9yS2V5OihOU1N0cmluZyAqKXdrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5pdGlh
dGVkS2V5KCkgaW5SZXF1ZXN0Om5zUmVxdWVzdF07CisgICAgICAgIFtOU1VSTFByb3RvY29sIHNl
dFByb3BlcnR5OkBZRVMgZm9yS2V5OihOU1N0cmluZyAqKVJlc291cmNlUmVxdWVzdDo6aXNVc2Vy
SW5pdGlhdGVkS2V5KCkgaW5SZXF1ZXN0Om5zUmVxdWVzdF07CiB9CiAKIHZvaWQgUmVzb3VyY2VS
ZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3JtSFRUUEJvZHkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGM3
YjlkMDcuLjlmZmQzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0w
NS0yMiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV3b3Jr
IGhvdyB0aGUgUmVzb3VyY2VSZXF1ZXN0IHVzZXIgaW5pdGlhdGVkIHByb3BlcnR5IGtleSBpcyB1
c2VkLgorICAgICAgICBGb2xsb3d1cCB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ1MjgxCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tOgorICAgICAgICAo
V0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkpOiBEZWxldGVkLgorICAgICAgICAo
SW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOiBEZWxldGVkLgorCiAyMDE1LTA1LTIxICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4gImluaXRpYXRl
ZCBieSB1c2VyIGdlc3R1cmUiIGZsYWcgdG8gUmVzb3VyY2VSZXF1ZXN0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCmlu
ZGV4IDQ0Mjc4ZmQuLjgxZGM2ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KQEAgLTM2LDEyICszNiw2IEBACiAK
ICNkZWZpbmUgSU5JVChmdW5jdGlvbikgd2sjI2Z1bmN0aW9uID0gV0sjI2Z1bmN0aW9uCiAKLXN0
YXRpYyBDRlN0cmluZ1JlZiBXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgpCi17
Ci0gICAgc3RhdGljIENGU3RyaW5nUmVmIGtleSA9IENGU1RSKCJXS1Jlc291cmNlUmVxdWVzdElz
VXNlckluaXRpYXRlZEtleSIpOwotICAgIHJldHVybiBrZXk7Ci19Ci0KIHZvaWQgSW5pdFdlYkNv
cmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKIHsKICAgICBzdGF0aWMgYm9vbCBkaWRJbml0OwpAQCAt
MjE2LDcgKzIxMCw2IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAg
ICBJTklUKENhY2hlUGFydGl0aW9uS2V5KTsKICNlbmRpZgogCi0gICAgSU5JVChSZXNvdXJjZVJl
cXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkpOwogICAgIElOSVQoRXhlcm5hbERldmljZVR5cGVGb3JQ
bGF5ZXIpOwogICAgIElOSVQoRXhlcm5hbERldmljZURpc3BsYXlOYW1lRm9yUGxheWVyKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDEzMjJlYmEuLjY4ODhiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxNS0wNS0yMiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV3b3JrIGhvdyB0aGUgUmVzb3VyY2VSZXF1ZXN0IHVzZXIgaW5pdGlhdGVkIHByb3BlcnR5
IGtleSBpcyB1c2VkLgorICAgICAgICBGb2xsb3d1cCB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL19XS05TVVJMUmVxdWVzdEV4dHJh
cy5tbToKKyAgICAgICAgKC1bTlNVUkxSZXF1ZXN0IF93ZWJfaXNVc2VySW5pdGlhdGVkXSk6Cisg
ICAgICAgICgtW05TTXV0YWJsZVVSTFJlcXVlc3QgX3dlYl9zZXRJc1VzZXJJbml0aWF0ZWQ6XSk6
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRl
cmZhY2UubW06CisgICAgICAgIChXS1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSk6
IERlbGV0ZWQuCisgICAgICAgIChJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6IERlbGV0ZWQu
CisKIDIwMTUtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBhbiAiaW5pdGlhdGVkIGJ5IHVzZXIgZ2VzdHVyZSIgZmxhZyB0byBSZXNvdXJjZVJl
cXVlc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05T
VVJMUmVxdWVzdEV4dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dL
TlNVUkxSZXF1ZXN0RXh0cmFzLm1tCmluZGV4IDYxMzhlMDUuLjVmMTQwYzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0
cmFzLm1tCkBAIC0yNiwxMyArMjYsMTMgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAi
X1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmgiCiAKLSNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVN5c3Rl
bUludGVyZmFjZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KIAogQGlt
cGxlbWVudGF0aW9uIE5TVVJMUmVxdWVzdCAoV0tFeHRyYXMpCiAKIC0gKEJPT0wpX3dlYl9pc1Vz
ZXJJbml0aWF0ZWQKIHsKLSAgICBOU051bWJlciAqdXNlckluaXRpYXRlZCA9IFtOU1VSTFByb3Rv
Y29sIHByb3BlcnR5Rm9yS2V5OihOU1N0cmluZyAqKXdrUmVzb3VyY2VSZXF1ZXN0SXNVc2VySW5p
dGlhdGVkS2V5KCkgaW5SZXF1ZXN0OnNlbGZdOworICAgIE5TTnVtYmVyICp1c2VySW5pdGlhdGVk
ID0gW05TVVJMUHJvdG9jb2wgcHJvcGVydHlGb3JLZXk6KE5TU3RyaW5nICopV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0Ojppc1VzZXJJbml0aWF0ZWRLZXkoKSBpblJlcXVlc3Q6c2VsZl07CiAgICAg
cmV0dXJuIHVzZXJJbml0aWF0ZWQuYm9vbFZhbHVlOwogfQogCkBAIC00Miw3ICs0Miw3IEBACiAK
IC0gKHZvaWQpX3dlYl9zZXRJc1VzZXJJbml0aWF0ZWQ6KEJPT0wpdXNlckluaXRpYXRlZAogewot
ICAgIFtOU1VSTFByb3RvY29sIHNldFByb3BlcnR5OnVzZXJJbml0aWF0ZWQgPyBAWUVTIDogQE5P
IGZvcktleTooTlNTdHJpbmcgKil3a1Jlc291cmNlUmVxdWVzdElzVXNlckluaXRpYXRlZEtleSgp
IGluUmVxdWVzdDpzZWxmXTsKKyAgICBbTlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTp1c2VySW5p
dGlhdGVkID8gQFlFUyA6IEBOTyBmb3JLZXk6KE5TU3RyaW5nICopV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0Ojppc1VzZXJJbml0aWF0ZWRLZXkoKSBpblJlcXVlc3Q6c2VsZl07CiB9CiAKIEBlbmQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFj
L1dlYlN5c3RlbUludGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQppbmRleCBmNjUyODk3Li5iNzVlYzU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21h
Yy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0zMSwxMiArMzEsNiBA
QAogCiAjZGVmaW5lIElOSVQoZnVuY3Rpb24pIHdrIyNmdW5jdGlvbiA9IFdLIyNmdW5jdGlvbgog
Ci1zdGF0aWMgQ0ZTdHJpbmdSZWYgV0tSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXko
KQotewotICAgIHN0YXRpYyBDRlN0cmluZ1JlZiBrZXkgPSBDRlNUUigiV0tSZXNvdXJjZVJlcXVl
c3RJc1VzZXJJbml0aWF0ZWRLZXkiKTsKLSAgICByZXR1cm4ga2V5OwotfQotCiB2b2lkIEluaXRX
ZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiB7CiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2Vf
dCBpbml0T25jZTsKQEAgLTIwOCw3ICsyMDIsNiBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50
ZXJmYWNlKHZvaWQpCiAgICAgICAgIElOSVQoQ2FjaGVQYXJ0aXRpb25LZXkpOwogI2VuZGlmCiAK
LSAgICAgICAgSU5JVChSZXNvdXJjZVJlcXVlc3RJc1VzZXJJbml0aWF0ZWRLZXkpOwogICAgICAg
ICBJTklUKEV4ZXJuYWxEZXZpY2VUeXBlRm9yUGxheWVyKTsKICAgICAgICAgSU5JVChFeGVybmFs
RGV2aWNlRGlzcGxheU5hbWVGb3JQbGF5ZXIpOwogCg==
</data>
<flag name="review"
          id="278518"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>