<?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>92340</bug_id>
          
          <creation_ts>2012-07-25 23:37:21 -0700</creation_ts>
          <short_desc>Add a ChromeClient method to send message traces from WebCore to the client.</short_desc>
          <delta_ts>2012-07-26 11:46:10 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>92337</dependson>
          <blocked>92341</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>gustavo</cc>
    
    <cc>philn</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>678916</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-25 23:37:21 -0700</bug_when>
    <thetext>Add a ChromeClient method to send message traces from WebCore to the client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678932</commentid>
    <comment_count>1</comment_count>
      <attachid>154556</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-26 00:01:30 -0700</bug_when>
    <thetext>Created attachment 154556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678942</commentid>
    <comment_count>2</comment_count>
      <attachid>154558</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-26 00:08:45 -0700</bug_when>
    <thetext>Created attachment 154558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678951</commentid>
    <comment_count>3</comment_count>
      <attachid>154558</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-26 00:30:39 -0700</bug_when>
    <thetext>Comment on attachment 154558
Patch

Attachment 154558 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13339596</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678963</commentid>
    <comment_count>4</comment_count>
      <attachid>154558</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-26 00:42:23 -0700</bug_when>
    <thetext>Comment on attachment 154558
Patch

Attachment 154558 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13340602</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678980</commentid>
    <comment_count>5</comment_count>
      <attachid>154558</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2012-07-26 01:03:16 -0700</bug_when>
    <thetext>Comment on attachment 154558
Patch

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

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:779
&gt; +    if (!m_page-&gt;corePage()-&gt;settings()-&gt;messageTracingEnabled())
&gt; +        return;

In your related patch you&apos;re always checking this condition before calling the function. Is it really necessary to perform the check again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679326</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-26 07:48:07 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 154558 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154558&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:779
&gt; &gt; +    if (!m_page-&gt;corePage()-&gt;settings()-&gt;messageTracingEnabled())
&gt; &gt; +        return;
&gt; 
&gt; In your related patch you&apos;re always checking this condition before calling the function. Is it really necessary to perform the check again?

I considered that, but wanted to protect against bad future selves who ignore the setting before calling traceMessage().  I&apos;m open to pulling it out, or replacing it with an assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679467</commentid>
    <comment_count>7</comment_count>
      <attachid>154681</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-26 10:19:08 -0700</bug_when>
    <thetext>Created attachment 154681
Patch

Renamed things to refer to &quot;diagnostic logging&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679477</commentid>
    <comment_count>8</comment_count>
      <attachid>154681</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-26 10:26:09 -0700</bug_when>
    <thetext>Comment on attachment 154681
Patch

Attachment 154681 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13340848</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679480</commentid>
    <comment_count>9</comment_count>
      <attachid>154681</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-26 10:29:03 -0700</bug_when>
    <thetext>Comment on attachment 154681
Patch

Attachment 154681 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13353827</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679596</commentid>
    <comment_count>10</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-07-26 11:46:10 -0700</bug_when>
    <thetext>Committed r123778: &lt;http://trac.webkit.org/changeset/123778&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154556</attachid>
            <date>2012-07-26 00:01:30 -0700</date>
            <delta_ts>2012-07-26 00:02:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92340-20120726000120.patch</filename>
            <type>text/plain</type>
            <size>11800</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjdjMGMwYzJmNTNkNjZl
YzViMDQyYTY0ZTFmZmZjNGJkYTI2YWM1YS4uMzRjZjQ1ZjMwNjQ1OWZiNmY0MDNmZmYzNjIzMTM4
MTE1NzlmN2EyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDEyLTA3LTI1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBzZXR0aW5nIHRvIGVu
YWJsZSBhbmQgZGlzYWJsZSBtZXNzYWdlIHRyYWNpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjMzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBlbnRyeSBpbiBTZXR0aW5ncywgZGVm
YXVsdGluZyB0byBmYWxzZS4KKworICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKTogRGVmYXVsdCB0aGUgbmV3IHNldHRpbmcg
dG8gZmFsc2UuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldE1lc3NhZ2VUcmFjaW5nRW5hYmxlZCk6IFNpbXBsZSBhY2Nlc3Nvci4KKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptZXNzYWdlVHJhY2luZ0VuYWJsZWQpOiBEaXR0by4K
KworMjAxMi0wNy0yNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAg
ICBBZGQgYSBNZWRpYVBsYXllciBBUEkgdG8gcmV0cmlldmUgdGhlIGRlc2NyaXB0aW9uIG9mIHRo
ZSBjdXJyZW50IG1lZGlhIGVuZ2luZS4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkyMzM2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5ZGYzNDUwMjFiMGJh
OTUwYzczYTQ3NmRlMjZhZWRjMTA2ZDcxNmUxLi4yNWE4ODNjMzY5ZDdjNWEwNWI3N2M0ZTlhMmI2
NDNhMDFjYzU2OGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDct
MjUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNldHRp
bmcgdG8gZW5hYmxlIGFuZCBkaXNhYmxlIG1lc3NhZ2UgdHJhY2luZy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMzM3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgV2ViS2l0IFdlYlByZWZlcmVu
Y2VzIEFQSSB0byBzZXQgc2V0IHRoZSBXZWJDb3JlIG1lc3NhZ2VUcmFjaW5nRW5hYmxlZCBzZXR0
aW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJl
bmNlcyBpbml0aWFsaXplXSk6IFJlZ2lzdGVyIHRoZSBkZWZhdWx0IHZhbHVlIHRvIGZhbHNlLgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBtZXNzYWdlVHJhY2luZ0VuYWJsZWRdKTogU2ltcGxl
IHVzZXJEZWZhdWx0cyBhY2Nlc3Nvci4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0TWVz
c2FnZVRyYWNpbmdFbmFibGVkOl0pOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOiBFbnN1cmUgdGhpcyBwcmVmZXJlbmNl
IGlzIHByb3BhZ2F0ZWQgdG8gU2V0dGluZ3MKKyAgICAgICAgICAgIHdoZW5ldmVyIHRoZSBwcmVm
ZXJlbmNlcyBjaGFuZ2UuCisKIDIwMTItMDctMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUGFydCAyIG9mOiBJbXBsZW1lbnQgc3RpY2t5IHBvc2l0
aW9uaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTIwNmQyNTFjNDAzMWNhNWFkYzM0M2VkZjMxN2ZmOWE5NDgx
ODlmZS4uMjYzMGU4MGI3M2NmYmRjMDMwN2E2YTZkZWI2ZWVhMDk5NThlYjg5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA3LTI1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBzZXR0aW5nIHRvIGVuYWJsZSBhbmQgZGlzYWJsZSBtZXNz
YWdlIHRyYWNpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MjMzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIFdlYktpdDIgV0tQcmVmZXJlbmNlcyBBUEkgdG8gc2V0IHNldCB0aGUgV2ViQ29y
ZSBtZXNzYWdlVHJhY2luZ0VuYWJsZWQgc2V0dGluZy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQ
cmVmZXJlbmNlc1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldE1lc3NhZ2VUcmFjaW5nRW5hYmxlZCk6
CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0TWVzc2FnZVRyYWNpbmdFbmFibGVkKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKTogRW5zdXJlIHRoaXMgcHJlZmVyZW5jZSBpcyBwcm9wYWdhdGVk
IHRvIFNldHRpbmdzCisgICAgICAgICAgICB3aGVuZXZlciB0aGUgcHJlZmVyZW5jZXMgY2hhbmdl
LgorCiAyMDEyLTA3LTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ3Jhc2ggd2hlbiBjYWxsaW5nIFBsdWdpblZpZXc6OnBsdWdpbkZvY3VzT3JXaW5k
b3dGb2N1c0NoYW5nZWQgd2hlbiB0aGUgd2ViIHBhZ2UgaXMgbnVsbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmNwcAppbmRleCBkODgyM2JkOTU4MzhkMmI1YWQ4NDk4Yjg5NDZlZDVmMDllNzE4MGFiLi41
NWVhMDIxYzk0NGM3MWFiOTdlNDBkMTlkZDE3NmY4MzA2YmYwYWY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcApAQCAtMjgxLDYgKzI4MSw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBw
YWdlKQogICAgICwgbV9zeW5jWEhSSW5Eb2N1bWVudHNFbmFibGVkKHRydWUpCiAgICAgLCBtX2Nv
b2tpZUVuYWJsZWQodHJ1ZSkKICAgICAsIG1fd2luZG93Rm9jdXNSZXN0cmljdGVkKHRydWUpCisg
ICAgLCBtX21lc3NhZ2VUcmFjaW5nRW5hYmxlZChmYWxzZSkKICAgICAsIG1fbG9hZHNJbWFnZXNB
dXRvbWF0aWNhbGx5VGltZXIodGhpcywgJlNldHRpbmdzOjpsb2Fkc0ltYWdlc0F1dG9tYXRpY2Fs
bHlUaW1lckZpcmVkKQogICAgICwgbV9pbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGlt
ZW91dEluU2Vjb25kcyhkZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVv
dXRJblNlY29uZHMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNzQ3YWY3NjQyNTg2OThm
ODRkZmIzMDdjNzFkMDczYTkwZWNkZjVmMC4uNTY3OGI0YWFjNmRhYTQ0MmMwZDA2ZDRkMzJiNDJj
YzA1MTNiNDllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtNjAzLDYgKzYwMyw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRDb29raWVFbmFibGVkKGJvb2wgZW5h
YmxlZCkgeyBtX2Nvb2tpZUVuYWJsZWQgPSBlbmFibGVkOyB9CiAgICAgICAgIGJvb2wgY29va2ll
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29va2llRW5hYmxlZDsgfQogCisgICAgICAgIHZv
aWQgc2V0TWVzc2FnZVRyYWNpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX21lc3NhZ2VUcmFj
aW5nRW5hYmxlZCA9IGVuYWJsZWQ7IH0KKyAgICAgICAgYm9vbCBtZXNzYWdlVHJhY2luZ0VuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2VUcmFjaW5nRW5hYmxlZDsgfQorCiAgICAgcHJp
dmF0ZToKICAgICAgICAgZXhwbGljaXQgU2V0dGluZ3MoUGFnZSopOwogCkBAIC03NzYsNiArNzc5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGJvb2wgbV93aW5kb3dGb2N1c1Jl
c3RyaWN0ZWQgOiAxOwogCisgICAgICAgIGJvb2wgbV9tZXNzYWdlVHJhY2luZ0VuYWJsZWQgOiAx
OworCiAgICAgICAgIFRpbWVyPFNldHRpbmdzPiBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseVRp
bWVyOwogICAgICAgICB2b2lkIGxvYWRzSW1hZ2VzQXV0b21hdGljYWxseVRpbWVyRmlyZWQoVGlt
ZXI8U2V0dGluZ3M+Kik7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMTJiNTRlN2MwNTg5MGRhZDhj
YTg2ZTQ1MmUxM2U1MWEzOGI0MTg1NC4uOThmNjMwOTczODMzMzUyMDE5NWYzNzVmOWI5MTAyZGY5
MmZmYjFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMjQsNiArMTI0LDcgQEAKICNkZWZpbmUgV2ViS2l0UmVn
aW9uQmFzZWRDb2x1bW5zRW5hYmxlZEtleSBAIldlYktpdFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uS2V5IEAiV2Vi
S2l0U2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24iCiAjZGVmaW5lIFdlYktpdFJlcXVlc3RB
bmltYXRpb25GcmFtZUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVxdWVzdEFuaW1hdGlv
bkZyYW1lRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0TWVzc2FnZVRyYWNpbmdFbmFibGVkS2V5IEAi
V2ViS2l0TWVzc2FnZVRyYWNpbmdFbmFibGVkIgogCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBib3Ro
IGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUgdXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJl
Y2F1c2UgdGhlCiAvLyBjb3ZlciBtZXRob2RzIHRoZW1zZWx2ZXMgYXJlIHByaXZhdGUuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBmMjA5ZWQ4MGRj
NGVlOGY5NDVhMGM5NWM4ODE0ZjAzZGYwZDZlMWYwLi4yNmQ3OGRlYzAwMzk5ZjRlY2UzNzYzOTA2
OTRiNWNjNDk4OTA2MzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KQEAgLTM5OCw2ICszOTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb25L
ZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0UmVxdWVz
dEFuaW1hdGlvbkZyYW1lRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0V2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdC
ZWhhdmlvcktleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJL
aXRNZXNzYWdlVHJhY2luZ0VuYWJsZWRLZXksCiAKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhMb25nTG9uZzpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6bm9RdW90YSgpXSwgV2ViS2l0QXBw
bGljYXRpb25DYWNoZVRvdGFsUXVvdGEsCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoTG9u
Z0xvbmc6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6Om5vUXVvdGEoKV0sIFdlYktpdEFwcGxpY2F0
aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGEsCkBAIC0xNzI4LDYgKzE3MjksMTYgQEAgc3RhdGlj
IE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIHJldHVybiBbc2VsZiBfZmxv
YXRWYWx1ZUZvcktleTpXZWJLaXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dEluU2Vjb25kc0tleV07CiB9CiAKKy0gKEJPT0wpbWVzc2FnZVRyYWNpbmdFbmFibGVkCit7Cisg
ICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0TWVzc2FnZVRyYWNpbmdFbmFi
bGVkS2V5XTsKK30KKworLSAodm9pZClzZXRNZXNzYWdlVHJhY2luZ0VuYWJsZWQ6KEJPT0wpZW5h
YmxlZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0TWVz
c2FnZVRyYWNpbmdFbmFibGVkS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2Vi
UHJlZmVyZW5jZXMgKFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNWRiODVjZjU1MWZkNmRkNzdjODliMThk
NzBhMWVhYWFhMjc5ZDhiNS4uMjQ1ZWJhMjY0OTcwYWM4MmQ4ZjEwOGVhMTZjMTFhMWRiNzEwNGE5
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCkBAIC0zMDIsNCArMzAyLDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNl
c0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldEluY3Jl
bWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzOihOU1RpbWVJbnRlcnZh
bCl0aW1lb3V0OwogLSAoTlNUaW1lSW50ZXJ2YWwpaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVz
c2lvblRpbWVvdXRJblNlY29uZHM7CiAKKy0gKEJPT0wpbWVzc2FnZVRyYWNpbmdFbmFibGVkOwor
LSAodm9pZClzZXRNZXNzYWdlVHJhY2luZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKKwogQGVuZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGI4NWQ4ZjM2YjcwMjI3OWUyNDU5
ZGRiOWM3ZTA0ZjIxY2IxODA0Y2MuLmI1MzY0YWNkMjUxN2ZjYWI1YzcyZjIyMTE5NzMzNDdhZTJm
ZjRjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE1NDMsNiArMTU0
Myw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAg
ICBzZXR0aW5ncy0+c2V0TmVlZHNJc0xvYWRpbmdJbkFQSVNlbnNlUXVpcmsoW3NlbGYgX25lZWRz
SXNMb2FkaW5nSW5BUElTZW5zZVF1aXJrXSk7CiAgICAgc2V0dGluZ3MtPnNldFJlcXVlc3RBbmlt
YXRpb25GcmFtZUVuYWJsZWQoW3ByZWZlcmVuY2VzIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJs
ZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0TmVlZHNEaWRGaW5pc2hMb2FkT3JkZXJRdWlyayhuZWVk
c0RpZEZpbmlzaExvYWRPcmRlclF1aXJrKCkpOworICAgIHNldHRpbmdzLT5zZXRNZXNzYWdlVHJh
Y2luZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIG1lc3NhZ2VUcmFjaW5nRW5hYmxlZF0pOwogICAgIAog
ICAgIE5TVGltZUludGVydmFsIHRpbWVvdXQgPSBbcHJlZmVyZW5jZXMgaW5jcmVtZW50YWxSZW5k
ZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHNdOwogICAgIGlmICh0aW1lb3V0ID4gMCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCmluZGV4IDBhODRj
ZGJmODAxYmJhYjIxYTZjMDg1Y2YyZDhkNjY3MmM5MTZhZDAuLjgzNTRhMDZiZmI2MWE5ZDc5NWUx
ZjkyNDgwYjQ0M2E5YjE0NGIyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaApAQCAtMTEzLDYgKzExMyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAg
IG1hY3JvKFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uLCBzaG91bGRSZXNwZWN0SW1hZ2VP
cmllbnRhdGlvbiwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhXYW50c0JhbGFuY2Vk
U2V0RGVmZXJzTG9hZGluZ0JlaGF2aW9yLCB3YW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0Jl
aGF2aW9yLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFJlcXVlc3RBbmltYXRpb25G
cmFtZUVuYWJsZWQsIHJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRy
dWUpIFwKKyAgICBtYWNybyhNZXNzYWdlVHJhY2luZ0VuYWJsZWQsIG1lc3NhZ2VUcmFjaW5nRW5h
YmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VC
S0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggNzI3NzgxZjAxYmJiNDNiZjdjYjhk
MTFjYTNkNTNjYjhhNjQ2ZTVjMC4uYTIwZjZhNjcwOGZkOGI0NTkzNjY3ZGFhMTVmYmQ2NDVmNTA2
ODUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcApAQCAtODIzLDMgKzgyMywxMyBAQCB2b2lkIFdLUHJlZmVyZW5jZXNSZXNldFRlc3RS
dW5uZXJPdmVycmlkZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICAvLyBh
cmUgdXN1YWxseSBhbHdheXMgdGhlIHNhbWUgKGluIHRoZSBVSSBwcm9jZXNzKSwgdGhleSBhcmUg
bm90IHNlbnQgdG8gd2ViIHByb2Nlc3MsIG5vdCB0cmlnZ2VyaW5nIHRoZSByZXNldC4KICAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5mb3JjZVVwZGF0ZSgpOwogfQorCit2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRNZXNzYWdlVHJhY2luZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldE1l
c3NhZ2VUcmFjaW5nRW5hYmxlZChlbmFibGVkKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0
TWVzc2FnZVRyYWNpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7
CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPm1lc3NhZ2VUcmFjaW5nRW5hYmxl
ZCgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaAppbmRleCA2ZGJjNDczMTA1NTU1ZDU0MDNjMThkMmY3NGI3MTNmYTU4
NTE2MGU4Li5jYjRkMzBkODJlNzEzNjBiZGViN2E4NDhkNGVlNmMxN2RhMDQyMDI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZh
dGUuaApAQCAtMTg3LDYgKzE4NywxMCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
SmF2YUVuYWJsZWRGb3JMb2NhbEZpbGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZQogV0tfRVhQ
T1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiwgYm9vbCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UmVx
dWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAorLy8gRGVmYXVs
dHMgdG8gZmFsc2UKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRNZXNzYWdlVHJhY2lu
Z0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsK
K1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNZXNzYWdlVHJhY2luZ0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVycmlkZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZik7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDk1NzFmZmJhYTYwMDU5YzU2MmE2ODMwNzk0OTFj
MjIxMjc0NGExZWMuLjhhMGU0OTY0Mjk4NmViOWQzMzEzMTI5NWVkMjUyODJiNTZkYTQ0NTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIw
ODYsNiArMjA4Niw4IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2Vi
UHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAKICAgICBzZXR0aW5ncy0+c2V0U2hvdWxkUmVzcGVj
dEltYWdlT3JpZW50YXRpb24oc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpzaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbktleSgpKSk7CiAKKyAgICBzZXR0aW5n
cy0+c2V0TWVzc2FnZVRyYWNpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6bWVzc2FnZVRyYWNpbmdFbmFibGVkS2V5KCkpKTsKKwogICAgIHBsYXRm
b3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RvcmUpOwogCiAgICAgaWYgKG1fZHJhd2luZ0FyZWEp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154558</attachid>
            <date>2012-07-26 00:08:45 -0700</date>
            <delta_ts>2012-07-26 10:19:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92340-20120726000835.patch</filename>
            <type>text/plain</type>
            <size>19709</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRjZjQ1ZjMwNjQ1OWZi
NmY0MDNmZmYzNjIzMTM4MTE1NzlmN2EyZi4uNmVmOTcyMzc0YjliYmJhMjM0NGM2N2Q4ZDUzYzA4
ZDQ0ZjRhNGQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEyLTA3LTI1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBhIENocm9tZUNsaWVu
dCBtZXRob2QgdG8gc2VuZCBtZXNzYWdlIHRyYWNlcyBmcm9tIFdlYkNvcmUgdG8gdGhlIGNsaWVu
dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMzQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEg
bmV3IENocm9tZUNsaWVudCBtZW50aG9kLCB0byBiZSBpbXBsZW1lbnRlZCBieSBXZWJLaXQgYW5k
IFdlYktpdDIsIHdoaWNoIHNlbmRzCisgICAgICAgIGEgbWVzc2FnZSB0cmFjZSB1cCB0byB0aGUg
Y2xpZW50LgorCisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNocm9tZUNsaWVudDo6dHJhY2VNZXNzYWdlKToKKworMjAxMi0wNy0yNSAgSmVyIE5vYmxl
ICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgc2V0dGluZyB0byBlbmFibGUg
YW5kIGRpc2FibGUgbWVzc2FnZSB0cmFjaW5nLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIzMzcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDI2MzBlODBiNzNjZmJk
YzAzMDdhNmE2ZGViNmVlYTA5OTU4ZWI4OTAuLjhiYzhhZjRmNDZhZjBkMjUyZTU2ZDgyNjA5YWJk
YWI5NzkxOWI2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMSBAQAogMjAxMi0wNy0yNSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgYSBDaHJvbWVDbGll
bnQgbWV0aG9kIHRvIHNlbmQgbWVzc2FnZSB0cmFjZXMgZnJvbSBXZWJDb3JlIHRvIHRoZSBjbGll
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjM0
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBpcGUg
dGhlIENocm9tZUNsaWVudCB0cmFjZU1lc3NhZ2UoKSBmdW5jdGlvbiB0aHJvdWdoIFdlYktpdDIg
dG8gYSBuZXcgYnVuZGxlIGNsYXNzCisgICAgICAgIEluamVjdGVkQnVuZGxlUGFnZVRyYWNlTWVz
c2FnZUNsaWVudCwgdG8gYmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudC4KKworICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIHRoZSBJbmplY3RlZEJ1bmRs
ZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQuY3BwLGggZmlsZXMuCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5k
bGVQYWdlU2V0VHJhY2VNZXNzYWdlQ2xpZW50KTogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNsaWVudC5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3Nh
Z2VDbGllbnQ6OnRyYWNlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQuaDogQWRkZWQuCisgICAg
ICAgIChJbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50Ojp0cmFjZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppbml0aWFs
aXplSW5qZWN0ZWRCdW5kbGVUcmFjZU1lc3NhZ2VDbGllbnQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmluamVjdGVk
QnVuZGxlVHJhY2VNZXNzYWdlQ2xpZW50KToKKworMjAxMi0wNy0yNSAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgc2V0dGluZyB0byBlbmFibGUgYW5kIGRp
c2FibGUgbWVzc2FnZSB0cmFjaW5nLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTIzMzcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
ZGM1MmFjY2E2NWVlYTk2NTdjOTY4MzZmYWI0ZDIwYmY3Yzc5NzA3Yy4uOGE2ODA0ZGNjYjViNWQx
YWZiMTQxZDMxNDg2ZTFiNmNjMjVmYzY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0zNDksNiArMzQ5LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCBib29sIGlzUG9pbnRlckxvY2tlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorICAg
ICAgICBlbnVtIFRyYWNlVHlwZSB7CisgICAgICAgICAgICBNZWRpYUxvYWRlZCwKKyAgICAgICAg
ICAgIE1lZGlhTG9hZGluZ0ZhaWxlZCwKKyAgICAgICAgICAgIFBsdWdpbkxvYWRlZCwKKyAgICAg
ICAgICAgIFBsdWdpbkxvYWRpbmdGYWlsZWQsCisgICAgICAgIH07CisgICAgICAgIHZpcnR1YWwg
dm9pZCB0cmFjZU1lc3NhZ2UoVHJhY2VUeXBlLCBjb25zdCBTdHJpbmcmKSB7IH0KKwogICAgIHBy
b3RlY3RlZDoKICAgICAgICAgdmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgeyB9CiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA2MDc3ZjZkM2UzOGE0NTEwMTIzOGI1NDIzNzhjYzI4N2UwNGRiYWYwLi4xZGQ1NzYzMjFlZTI1
YmFlNmQ3ZWVjNGExYzUwOTAxNzhkN2IzYThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04NzQsNiArODc0LDcgQEAKIAkJQzU3
NEE1ODIxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1NzRBNTgwMTJFNjY2ODEwMDJERkU5
OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi87IH07CiAJCUNENUM2NkEwMTM0QjlEMzgwMDRGRTJB
OCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENUM2NjlFMTM0QjlEMzYwMDRGRTJB
OCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcCAqLzsgfTsKIAkJQ0Q1
QzY2QTExMzRCOUQzODAwNEZFMkE4IC8qIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENUM2
NjlGMTM0QjlEMzcwMDRGRTJBOCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
LmggKi87IH07CisJCUNENjdEMzBFMTVDMDhGOUEwMDg0M0FERiAvKiBJbmplY3RlZEJ1bmRsZVBh
Z2VUcmFjZU1lc3NhZ2VDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q2N0QzMDgxNUMwN0JFMDAwODQzQURGIC8qIEluamVjdGVkQnVuZGxl
UGFnZVRyYWNlTWVzc2FnZUNsaWVudC5jcHAgKi87IH07CiAJCUNENkY3NUY0MTMxQjY2RDAwMEQ2
QjIxRSAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzNCQTNFMTMxQTJFOEEwMEVFREVEMiAvKiBX
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcCAqLzsgfTsKIAkJQ0Q3M0JBNDcxMzFBQ0M5QTAw
RUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3M0JBNDUxMzFB
Q0M4ODAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwogCQlDRDczQkE0RTEzMUFDREI3MDBFRURFRDIgLyogV2ViRnVsbFNjcmVlbk1h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q3M0JBNDgxMzFBQ0Q4RTAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5N
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTE5MzUsNiArMTkzNiw4IEBACiAJ
CUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQYXN0ZWJvYXJkVHlwZXMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENUM2NjlFMTM0QjlEMzYwMDRGRTJBOCAvKiBJbmpl
Y3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDVDNjY5RjEzNEI5RDM3MDA0RkUyQTggLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENjdEMzA4MTVDMDdCRTAwMDg0M0FERiAvKiBJbmpl
Y3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlVHJhY2VNZXNzYWdlQ2xpZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q2N0QzMDkxNUMwN0JFMDAwODQzQURG
IC8qIEluamVjdGVkQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNsaWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q3M0JBMzcxMzFBMjlGRTAwRUVERUQy
IC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcDsgcGF0aCA9IEZ1bGxTY3JlZW4vV2Vi
RnVsbFNjcmVlbk1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDcz
QkEzODEzMUEyOUZFMDBFRURFRDIgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViRnVsbFNjcmVlbk1hbmFnZXIuaDsgcGF0aCA9IEZ1
bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0Q3M0JBMzkxMzFBMjlGRTAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1l
c3NhZ2VzLmluOyBwYXRoID0gRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5tZXNzYWdl
cy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyNDMsNiArMzI0Niw4IEBACiAJ
CQkJQkM0OTg2MTYxMjREMTBFMjAwRDgzNEUxIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3Vs
dC5oICovLAogCQkJCUJDODE0N0Q0MTJGNjZEMzEwMDdCMkMzMiAvKiBJbmplY3RlZEJ1bmRsZU5h
dmlnYXRpb25BY3Rpb24uY3BwICovLAogCQkJCUJDODE0N0QzMTJGNjZEMzEwMDdCMkMzMiAvKiBJ
bmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCAqLywKKwkJCQlDRDY3RDMwODE1QzA3QkUw
MDA4NDNBREYgLyogSW5qZWN0ZWRCdW5kbGVQYWdlVHJhY2VNZXNzYWdlQ2xpZW50LmNwcCAqLywK
KwkJCQlDRDY3RDMwOTE1QzA3QkUwMDA4NDNBREYgLyogSW5qZWN0ZWRCdW5kbGVQYWdlVHJhY2VN
ZXNzYWdlQ2xpZW50LmggKi8sCiAJCQkJNTEyOTM1RTExMjg4RDk3ODAwQTRCNjk1IC8qIEluamVj
dGVkQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmNwcCAqLywKIAkJCQk1MTI5MzVFMjEyODhE
OTc4MDBBNEI2OTUgLyogSW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCAqLywK
IAkJCQlFMUVFNTNFNjExRjhDRkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmNwcCAqLywKQEAgLTQ5NTEsNiArNDk1Niw3IEBACiAJCQkJNTFGQTJENzcxNTIxMkUy
NjAwQzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTFBMkE0QjBFMTU4NkEyMjQwMDkwQzlFOSAvKiBDb2xvclNwYWNlRGF0YS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTNGODdCOUJEMTU4OTQwMTIwMDkwRkY2MiAvKiBXZWJDb2xvckNob29z
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q2N0QzMEUxNUMwOEY5QTAwODQzQURGIC8qIElu
amVjdGVkQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAppbmRleCAwNzg0MWQ3Y2NjMzYwNTg0NWFmNGJmNjNm
OGYwMjNkYjY1NDNjY2E4Li5iZTNhNGQ5ZmQ1ZDA2MWQzZjUxNDBjZDEzNTVkNDRhYTQwMWMwZTlj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0xMjQsNiArMTI0LDExIEBAIHZv
aWQgV0tCdW5kbGVQYWdlRGlkRXhpdEZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYp
CiAjZW5kaWYKIH0KIAordm9pZCBXS0J1bmRsZVBhZ2VTZXRUcmFjZU1lc3NhZ2VDbGllbnQoV0tC
dW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNsaWVudCogY2xp
ZW50KQoreworICAgIHRvSW1wbChwYWdlUmVmKS0+aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlVHJh
Y2VNZXNzYWdlQ2xpZW50KGNsaWVudCk7Cit9CisKIFdLQnVuZGxlUGFnZUdyb3VwUmVmIFdLQnVu
ZGxlUGFnZUdldFBhZ2VHcm91cChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsKICAgICByZXR1
cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5wYWdlR3JvdXAoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2UuaAppbmRleCAyY2UwMWI0YzVjY2VhYmM1ZDZjMjA5ODM4MzA1ZWJkMDZmNWU5MjNiLi5m
YWQ5YWJkYzk4OTUyNmMxMjc0OTdkYjgyODY4NzI4YzMwNjAxNGE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmgKQEAgLTM1NCw2ICszNTQsMjYgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQ
YWdlRnVsbFNjcmVlbkNsaWVudCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OwogCiBlbnVt
IHsga1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKIAor
ZW51bSB7CisgICAgV0tCdW5kbGVQYWdlVHJhY2VNZXNzYWdlVHlwZU1lZGlhTG9hZGVkLAorICAg
IFdLQnVuZGxlUGFnZVRyYWNlTWVzc2FnZVR5cGVNZWRpYUxvYWRpbmdGYWlsZWQsCisgICAgV0tC
dW5kbGVQYWdlVHJhY2VNZXNzYWdlVHlwZVBsdWdpbkxvYWRlZCwKKyAgICBXS0J1bmRsZVBhZ2VU
cmFjZU1lc3NhZ2VUeXBlUGx1Z2luTG9hZGluZ0ZhaWxlZCwKK307Cit0eXBlZGVmIHVpbnQzMl90
IFdLQnVuZGxlUGFnZVRyYWNlTWVzc2FnZVR5cGU7CisKKy8vIE1lc3NhZ2VUcmFjZSBjbGllbnQK
K3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlVHJhY2VNZXNzYWdlVHlwZSB0eXBlLCBXS1N0cmlu
Z1JlZiBkZXNjcmlwdGlvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisKK3N0cnVjdCBXS0J1
bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQgeworICAgIGludCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAg
ICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNsaWVudEluZm87CisgICAgV0tCdW5kbGVQYWdlVHJhY2VNZXNzYWdlQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjZU1lc3NhZ2U7Cit9
OwordHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlVHJhY2VNZXNzYWdlQ2xpZW50IFdLQnVuZGxl
UGFnZVRyYWNlTWVzc2FnZUNsaWVudDsKKworZW51bSB7IGtXS0J1bmRsZVBhZ2VUcmFjZU1lc3Nh
Z2VDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKKwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQ
YWdlV2lsbEVudGVyRnVsbFNjcmVlbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19FWFBPUlQg
dm9pZCBXS0J1bmRsZVBhZ2VEaWRFbnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBhZ2Up
OwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlV2lsbEV4aXRGdWxsU2NyZWVuKFdLQnVuZGxl
UGFnZVJlZiBwYWdlKTsKQEAgLTM2OCw4ICszODgsOCBAQCBXS19FWFBPUlQgdm9pZCBXS0J1bmRs
ZVBhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBh
ZwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0UmVzb3VyY2VMb2FkQ2xpZW50KFdLQnVu
ZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQqIGNsaWVudCk7
CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lDbGllbnQoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudCogY2xpZW50KTsKIFdLX0VYUE9SVCB2
b2lkIFdLQnVuZGxlUGFnZVNldFVJQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRs
ZVBhZ2VVSUNsaWVudCogY2xpZW50KTsKLSAgICAKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFn
ZVNldEZ1bGxTY3JlZW5DbGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUGFnZUZ1
bGxTY3JlZW5DbGllbnQqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRU
cmFjZU1lc3NhZ2VDbGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUGFnZVRyYWNl
TWVzc2FnZUNsaWVudCogY2xpZW50KTsKIAogV0tfRVhQT1JUIFdLQnVuZGxlUGFnZUdyb3VwUmVm
IFdLQnVuZGxlUGFnZUdldFBhZ2VHcm91cChXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19FWFBP
UlQgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VUcmFj
ZU1lc3NhZ2VDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNjMyZjNiZjljNzlmNzQyMDBmMmRjMzIw
YTUwNmJjMGU3MTJkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNsaWVudC5j
cHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQuaCIKKworI2luY2x1
ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQ6
OnRyYWNlTWVzc2FnZShXZWJQYWdlKiBwYWdlLCBXS0J1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VUeXBl
IHR5cGUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCit7CisgICAgaWYgKCFtX2NsaWVudC50
cmFjZU1lc3NhZ2UpCisgICAgICAgIHJldHVybjsKKyAgICBtX2NsaWVudC50cmFjZU1lc3NhZ2Uo
dG9BUEkocGFnZSksIHR5cGUsIHRvQ29waWVkQVBJKGRlc2NyaXB0aW9uKSwgbV9jbGllbnQuY2xp
ZW50SW5mbyk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlVHJhY2VNZXNzYWdlQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZVRyYWNlTWVzc2FnZUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NWY2OTBmYjMzMjI2ZTVmOGE3YmFm
ZGExOTRlYTFjNzY5YWIyZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNsaWVu
dC5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluamVjdGVkQnVuZGxl
UGFnZVRyYWNlTWVzc2FnZUNsaWVudF9oCisjZGVmaW5lIEluamVjdGVkQnVuZGxlUGFnZVRyYWNl
TWVzc2FnZUNsaWVudF9oCisKKyNpbmNsdWRlICJBUElDbGllbnQuaCIKKyNpbmNsdWRlICJXS0J1
bmRsZVBhZ2UuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0Jhc2UuaD4KKyNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKyAgICAKK2NsYXNzIEFQSU9i
amVjdDsKK2NsYXNzIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDsKK2NsYXNzIFdlYkNvbnRl
eHRNZW51SXRlbURhdGE7CitjbGFzcyBXZWJQYWdlOworCitjbGFzcyBJbmplY3RlZEJ1bmRsZVBh
Z2VUcmFjZU1lc3NhZ2VDbGllbnQgOiBwdWJsaWMgQVBJQ2xpZW50PFdLQnVuZGxlUGFnZVRyYWNl
TWVzc2FnZUNsaWVudCwga1dLQnVuZGxlUGFnZVRyYWNlTWVzc2FnZUNsaWVudEN1cnJlbnRWZXJz
aW9uPiB7CitwdWJsaWM6CisgICAgdm9pZCB0cmFjZU1lc3NhZ2UoV2ViUGFnZSosIFdLQnVuZGxl
UGFnZVRyYWNlTWVzc2FnZVR5cGUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBJbmplY3RlZEJ1bmRsZVBhZ2VUcmFj
ZU1lc3NhZ2VDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDMzMzcwYmRlZjBm
MjNjOTNmNzNhNDg5NTJmYjJjMWQ1ODIxMzU2OWYuLjZiNWU1MDdiMDM4ZGQwYTQyZjVmNzA4OGQ3
OTJhNGRmODJmYWYyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTc3Myw0ICs3NzMs
MTIgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6Om51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQgY291bnQpCiAgICAgbV9wYWdlLT5udW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KGNvdW50KTsKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnRyYWNlTWVzc2FnZShUcmFjZVR5
cGUgdHlwZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoIW1fcGFnZS0+
Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS0+bWVzc2FnZVRyYWNpbmdFbmFibGVkKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVUcmFjZU1lc3NhZ2VDbGllbnQo
KS50cmFjZU1lc3NhZ2UobV9wYWdlLCB0eXBlLCBkZXNjcmlwdGlvbik7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMzgzZWVhYzNlOWY5NDczNTg5
N2Q4NDViZWQ3OTA5MmJmYjRhNDk5Yy4uMjUwNDYyYjdjNmFkNzViNmJlMmUwZDU0Yjk5YWJmZjU5
MWNhNjhkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMTksNiArMjE5LDggQEAgcHJpdmF0
ZToKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1
bnNpZ25lZCkgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIHZvaWQgdHJhY2VNZXNzYWdlKFRyYWNl
VHlwZSwgY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7CisKICAgICBTdHJpbmcgbV9jYWNoZWRUb29s
VGlwOwogICAgIG11dGFibGUgUmVmUHRyPFdlYkZyYW1lPiBtX2NhY2hlZEZyYW1lU2V0TGFyZ2Vz
dEZyYW1lOwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc0hvcml6b250YWxT
Y3JvbGxiYXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKaW5kZXggOGEwZTQ5NjQyOTg2ZWI5ZDMzMTMxMjk1ZWQyNTI4MmI1NmRhNDQ1OC4uNDRhMzAz
YzUyMzg3MzAxYjdhODJlMjQ5YWU1NDAxNTA4NzdlZGNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNDE5LDYgKzQxOSwxMSBAQCB2b2lk
IFdlYlBhZ2U6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUZ1bGxTY3JlZW5DbGllbnQoV0tCdW5k
bGVQYWdlRnVsbFNjcmVlbkNsaQogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZTo6aW5pdGlhbGl6
ZUluamVjdGVkQnVuZGxlVHJhY2VNZXNzYWdlQ2xpZW50KFdLQnVuZGxlUGFnZVRyYWNlTWVzc2Fn
ZUNsaWVudCogY2xpZW50KQoreworICAgIG1fdHJhY2VNZXNzYWdlQ2xpZW50LmluaXRpYWxpemUo
Y2xpZW50KTsKK30KKwogUGFzc1JlZlB0cjxQbHVnaW4+IFdlYlBhZ2U6OmNyZWF0ZVBsdWdpbihX
ZWJGcmFtZSogZnJhbWUsIEhUTUxQbHVnSW5FbGVtZW50KiBwbHVnaW5FbGVtZW50LCBjb25zdCBQ
bHVnaW46OlBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAgICAgU3RyaW5nIHBsdWdpblBhdGg7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAxYjc3
MDhhNGNhZTVlM2UzZDY0M2ExNDk1OGRmM2M2MWU4Mzg3ZDRlLi5hMTJkYjI5OTFlODFhODdkYjBk
MmQ2ZGEwYzQ3M2Q0ZDliZjc4ZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRs
ZVBhZ2VMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lD
bGllbnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
aCIKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3NhZ2VDbGllbnQuaCIKICNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VT
ZW5kZXIuaCIKICNpbmNsdWRlICJUYXBIaWdobGlnaHRDb250cm9sbGVyLmgiCkBAIC0yNDgsNiAr
MjQ5LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICB2b2lkIGlu
aXRpYWxpemVJbmplY3RlZEJ1bmRsZUZ1bGxTY3JlZW5DbGllbnQoV0tCdW5kbGVQYWdlRnVsbFNj
cmVlbkNsaWVudCopOwogI2VuZGlmCisgICAgdm9pZCBpbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVU
cmFjZU1lc3NhZ2VDbGllbnQoV0tCdW5kbGVQYWdlVHJhY2VNZXNzYWdlQ2xpZW50Kik7CiAKICNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBJbmplY3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVu
dUNsaWVudCYgaW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVudUNsaWVudCgpIHsgcmV0dXJuIG1fY29u
dGV4dE1lbnVDbGllbnQ7IH0KQEAgLTI1OCw2ICsyNjAsNyBAQCBwdWJsaWM6CiAgICAgSW5qZWN0
ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50JiBpbmplY3RlZEJ1bmRsZVBvbGljeUNsaWVudCgpIHsg
cmV0dXJuIG1fcG9saWN5Q2xpZW50OyB9CiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VM
b2FkQ2xpZW50JiBpbmplY3RlZEJ1bmRsZVJlc291cmNlTG9hZENsaWVudCgpIHsgcmV0dXJuIG1f
cmVzb3VyY2VMb2FkQ2xpZW50OyB9CiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQmIGlu
amVjdGVkQnVuZGxlVUlDbGllbnQoKSB7IHJldHVybiBtX3VpQ2xpZW50OyB9CisgICAgSW5qZWN0
ZWRCdW5kbGVQYWdlVHJhY2VNZXNzYWdlQ2xpZW50JiBpbmplY3RlZEJ1bmRsZVRyYWNlTWVzc2Fn
ZUNsaWVudCgpIHsgcmV0dXJuIG1fdHJhY2VNZXNzYWdlQ2xpZW50OyB9CiAjaWYgRU5BQkxFKEZV
TExTQ1JFRU5fQVBJKQogICAgIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQmIGlu
amVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpIHsgcmV0dXJuIG1fZnVsbFNjcmVlbkNsaWVu
dDsgfQogI2VuZGlmCkBAIC04MTEsNiArODE0LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoRlVM
TFNDUkVFTl9BUEkpCiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCBtX2Z1
bGxTY3JlZW5DbGllbnQ7CiAjZW5kaWYKKyAgICBJbmplY3RlZEJ1bmRsZVBhZ2VUcmFjZU1lc3Nh
Z2VDbGllbnQgbV90cmFjZU1lc3NhZ2VDbGllbnQ7CiAKICNpZiBVU0UoVElMRURfQkFDS0lOR19T
VE9SRSkKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fdmlld3BvcnRTaXplOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154681</attachid>
            <date>2012-07-26 10:19:08 -0700</date>
            <delta_ts>2012-07-26 10:29:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92340-20120726101857.patch</filename>
            <type>text/plain</type>
            <size>27573</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhNDgxNGNhNzY1ZjZj
YjdkZWE2ZGFlYTI4ZDdkNGY1ZTE5NjMwZi4uZmE0ZTA1ZGExMTQ0Nzg3ZDMzMmNkN2FmYzEzNDZl
NTM0YjA5ZDAzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEyLTA3LTI1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBhIENocm9tZUNsaWVu
dCBtZXRob2QgdG8gc2VuZCBkaWFnbm9zdGljIGxvZ2dpbmcgbWVzc2FnZXMgZnJvbSBXZWJDb3Jl
IHRvIHRoZSBjbGllbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05MjM0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIG5ldyBDaHJvbWVDbGllbnQgbWVudGhvZCwgdG8gYmUgaW1wbGVtZW50ZWQg
YnkgV2ViS2l0IGFuZCBXZWJLaXQyLCB3aGljaCBzZW5kcworICAgICAgICBhIGRpYWdub3N0aWMg
bG9nZ2luZyBtZXNzYWdlIHVwIHRvIHRoZSBjbGllbnQuCisKKyAgICAgICAgKiBwYWdlL0Nocm9t
ZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZSk6CisKKzIwMTItMDctMjUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+
CisKICAgICAgICAgQWRkIHNldHRpbmcgdG8gZW5hYmxlIGFuZCBkaXNhYmxlIGRpYWdub3N0aWMg
bG9nZ2luZy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkyMzM3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2NWRiZTMwMWNhYzM0ZTBhOTNiM2E0NGNjMDE5MGVlNDhj
YWJhNTcxLi40OTVkZTZmNzZhNTliN2QxY2ExZTc3ZGY5M2VmOGMzZWFkNmI2ZjNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMzcgQEAKIDIwMTItMDctMjUgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKKyAgICAgICAgQWRkIGEgQ2hyb21lQ2xpZW50IG1ldGhvZCB0byBzZW5kIGRp
YWdub3N0aWMgbG9nZ2luZyBtZXNzYWdlcyBmcm9tIFdlYkNvcmUgdG8gdGhlIGNsaWVudC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMzQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGlwZSB0aGUgQ2hy
b21lQ2xpZW50IGxvZ0RpYWdub3N0aWNNZXNzYWdlKCkgZnVuY3Rpb24gdGhyb3VnaCBXZWJLaXQy
IHRvIGEgbmV3IGJ1bmRsZSBjbGFzcworICAgICAgICBJbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudCwgdG8gYmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudC4KKworICAg
ICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIHRoZSBJbmplY3Rl
ZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAsaCBmaWxlcy4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAg
ICAgIChXS0J1bmRsZVBhZ2VTZXREaWFnbm9zdGljTG9nZ2luZ0NsaWVudCk6IEFkZGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpJbmplY3Rl
ZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2Up
OgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChJbmplY3RlZEJ1bmRs
ZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJv
bWVDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aW5pdGlhbGl6ZUlu
amVjdGVkQnVuZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmluamVjdGVk
QnVuZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQpOgorCisgICAgICAgIEFkZCBhIGNvbnZlbmll
bmNlIGNsYXNzIHRvIHJldHJpZXZlIHRoZSBkaWFnbm9zdGljIG1lc3NhZ2Uga2V5czoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKEluamVjdGVkQnVuZGxlUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KToKKworMjAxMi0wNy0yNSAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgc2V0dGluZyB0byBlbmFibGUgYW5kIGRp
c2FibGUgZGlhZ25vc3RpYyBsb2dnaW5nLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTIzMzcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYzY2Y4NDEwMGRlN2MzMzk2NTBlNzFhNTAy
YWJlMGI1MmM5MDQ0YzQuLjVhMTIwZjUyZjYxNjQ5YTYzMmI2MDRiODE4Y2E3ZDRmMTNhZjdlYzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTEzMDgwLDYgKzEzMDgwLDggQEAKIAkJQ0QyN0Y2RTMxNDU3Njc1ODAwNzgyMDdEIC8q
IEpTTWVkaWFDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
TWVkaWFDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMjdGNkU0
MTQ1NzY3ODcwMDc4MjA3RCAvKiBNZWRpYUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWVkaWFDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNEMjdGNkU2MTQ1NzcwRDMwMDc4MjA3RCAvKiBNZWRpYUNvbnRyb2xsZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFDb250cm9sbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzN0IzNzQxNUMxQTdFMTAwNkRDODk4IC8q
IERpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRDM3QjM3NTE1QzFBN0UxMDA2REM4OTggLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpYWdub3N0aWNMb2dnaW5nS2V5
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDRBQzUyODE0OTZBRTJGMDA4N0M0
RUYgLyogQ29tcG9zaXRlLndhdiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IGF1ZGlvLndhdjsgbmFtZSA9IENvbXBvc2l0ZS53YXY7IHBhdGggPSBwbGF0
Zm9ybS9hdWRpby9yZXNvdXJjZXMvQ29tcG9zaXRlLndhdjsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OwogCQlDRDRFMEFGQTExRjdCQzI3MDA5RDM4MTEgLyogZnVsbHNjcmVlbi5jc3MgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGZ1bGxzY3JlZW4uY3NzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDRDgyMDMwNjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2Ny
ZWVuQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NTc4NCw2ICsxNTc4Niw4IEBACiAJCQkJRTEyNzFBMTMwRUVFQzgwNDAwRjYxMjEzIC8qIFdvcmtl
ck5hdmlnYXRvci5jcHAgKi8sCiAJCQkJRTEyNzFBMEEwRUVFQzc3QTAwRjYxMjEzIC8qIFdvcmtl
ck5hdmlnYXRvci5oICovLAogCQkJCUUxMjcxQTUxMEVFRUNEMUMwMEY2MTIxMyAvKiBXb3JrZXJO
YXZpZ2F0b3IuaWRsICovLAorCQkJCUNEMzdCMzc0MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9z
dGljTG9nZ2luZ0tleXMuY3BwICovLAorCQkJCUNEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAvKiBE
aWFnbm9zdGljTG9nZ2luZ0tleXMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gcGFnZTsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCBk
YzUyYWNjYTY1ZWVhOTY1N2M5NjgzNmZhYjRkMjBiZjdjNzk3MDdjLi5hOWM4NmVkNDBjODlhZDNk
M2RhYzgwYmMwM2E2ZGMyMjRmYmI1ZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgK
QEAgLTM0OSw2ICszNDksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc1BvaW50ZXJMb2NrZWQoKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiBzdGF0dXMpIHsgVU5V
U0VEX1BBUkFNKG1lc3NhZ2UpOyBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyBVTlVTRURfUEFS
QU0oc3RhdHVzKTsgfQorCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIH5DaHJvbWVD
bGllbnQoKSB7IH0KICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFn
bm9zdGljTG9nZ2luZ0tleXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9n
Z2luZ0tleXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkZTcwN2U1MjVjMGI5NzJmOTJjNWVlMGNlNzBhN2Uy
NDQzY2QwY2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0
aWNMb2dnaW5nS2V5cy5jcHAKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjb25zdCBTdHJpbmcmIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bWVk
aWFMb2FkZWRLZXkoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBr
ZXksICJtZWRpYUxvYWRlZCIpOworICAgIHJldHVybiBrZXk7Cit9CisKK2NvbnN0IFN0cmluZyYg
RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptZWRpYUZhaWxlZExvYWRpbmdLZXkoKQoreworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBrZXksICJtZWRpYUZhaWxlZExvYWRpbmci
KTsKKyAgICByZXR1cm4ga2V5OworfQorCitjb25zdCBTdHJpbmcmIERpYWdub3N0aWNMb2dnaW5n
S2V5czo6cGx1Z2luTG9hZGVkS2V5KCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IFN0cmluZywga2V5LCAicGx1Z2luTG9hZGVkIik7CisgICAgcmV0dXJuIGtleTsKK30KKworY29u
c3QgU3RyaW5nJiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnBsdWdpbkZhaWxlZExvYWRpbmdLZXko
KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBrZXksICJwbHVnaW5G
YWlsZWRMb2FkaW5nIik7CisgICAgcmV0dXJuIGtleTsKK30KKworY29uc3QgU3RyaW5nJiBEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OnBhc3NLZXkoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgU3RyaW5nLCBrZXksICJwYXNzIik7CisgICAgcmV0dXJuIGtleTsKK30KKworY29uc3Qg
U3RyaW5nJiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmZhaWxLZXkoKQoreworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBrZXksICJmYWlsIik7CisgICAgcmV0dXJuIGtleTsK
K30KKworY29uc3QgU3RyaW5nJiBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5vb3BLZXkoKQorewor
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBrZXksICJub29wIik7CisgICAg
cmV0dXJuIGtleTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFn
bm9zdGljTG9nZ2luZ0tleXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTYzYzM2NjE2YmQ0YzNkMjAzNzQxOTg3ZGFjYmJmMTQ2MmEx
N2Y2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzX2gKKyNkZWZpbmUgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzX2gKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEaWFnbm9zdGljTG9nZ2luZ0tleXMgeworICAgIC8v
IE1lc3NhZ2Uga2V5cworICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIG1lZGlhTG9hZGVkS2V5KCk7
CisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgbWVkaWFGYWlsZWRMb2FkaW5nS2V5KCk7CisgICAg
c3RhdGljIGNvbnN0IFN0cmluZyYgcGx1Z2luTG9hZGVkS2V5KCk7CisgICAgc3RhdGljIGNvbnN0
IFN0cmluZyYgcGx1Z2luRmFpbGVkTG9hZGluZ0tleSgpOworICAgIAorICAgIC8vIFN1Y2Nlc3Mg
a2V5cworICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIHBhc3NLZXkoKTsKKyAgICBzdGF0aWMgY29u
c3QgU3RyaW5nJiBmYWlsS2V5KCk7CisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgbm9vcEtleSgp
OworfTsKKworfQorCisjZW5kaWYgLy8gRGlhZ25vc3RpY0xvZ2dpbmdLZXlzX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MDc3
ZjZkM2UzOGE0NTEwMTIzOGI1NDIzNzhjYzI4N2UwNGRiYWYwLi43NTZhNGIzOWVmYjk2NzQ0ZWU1
NjE1ZDNiMTFlMGFlOWZkMmQwMTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04NzQsNiArODc0LDcgQEAKIAkJQzU3NEE1ODIx
MkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQ
YXN0ZWJvYXJkVHlwZXMubW0gKi87IH07CiAJCUNENUM2NkEwMTM0QjlEMzgwMDRGRTJBOCAvKiBJ
bmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENUM2NjlFMTM0QjlEMzYwMDRGRTJBOCAvKiBJ
bmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcCAqLzsgfTsKIAkJQ0Q1QzY2QTEx
MzRCOUQzODAwNEZFMkE4IC8qIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENUM2NjlGMTM0
QjlEMzcwMDRGRTJBOCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmggKi87
IH07CisJCUNENjdEMzBFMTVDMDhGOUEwMDg0M0FERiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRDY3RDMwODE1QzA3QkUwMDA4NDNBREYgLyogSW5qZWN0ZWRCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwICovOyB9OwogCQlDRDZGNzVGNDEzMUI2NkQw
MDBENkIyMUUgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDczQkEzRTEzMUEyRThBMDBFRURFRDIg
LyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAgKi87IH07CiAJCUNENzNCQTQ3MTMxQUND
OUEwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzNCQTQ1
MTMxQUNDODgwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKIAkJQ0Q3M0JBNEUxMzFBQ0RCNzAwRUVERUQyIC8qIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENENzNCQTQ4MTMxQUNEOEUwMEVFREVEMiAvKiBXZWJGdWxsU2Ny
ZWVuTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0xOTM1LDYgKzE5MzYsOCBA
QAogCQlDNTc0QTU4MDEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGFzdGVib2FyZFR5cGVzLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDVDNjY5RTEzNEI5RDM2MDA0RkUyQTggLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1QzY2OUYxMzRCOUQzNzAwNEZFMkE4
IC8qIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDY3RDMwODE1QzA3QkUwMDA4NDNBREYgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDY3RDMwOTE1
QzA3QkUwMDA4NDNBREYgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdl
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0Q3M0JBMzcxMzFBMjlGRTAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNw
cDsgcGF0aCA9IEZ1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDRDczQkEzODEzMUEyOUZFMDBFRURFRDIgLyogV2ViRnVsbFNj
cmVlbk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViRnVsbFNj
cmVlbk1hbmFnZXIuaDsgcGF0aCA9IEZ1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q3M0JBMzkxMzFBMjlGRTAwRUVERUQyIC8q
IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9
IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1lc3NhZ2VzLmluOyBwYXRoID0gRnVsbFNjcmVlbi9XZWJG
dWxsU2NyZWVuTWFuYWdlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTMyNDMsNiArMzI0Niw4IEBACiAJCQkJQkM0OTg2MTYxMjREMTBFMjAwRDgzNEUxIC8qIElu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oICovLAogCQkJCUJDODE0N0Q0MTJGNjZEMzEwMDdC
MkMzMiAvKiBJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uY3BwICovLAogCQkJCUJDODE0
N0QzMTJGNjZEMzEwMDdCMkMzMiAvKiBJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCAq
LywKKwkJCQlDRDY3RDMwODE1QzA3QkUwMDA4NDNBREYgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwICovLAorCQkJCUNENjdEMzA5MTVDMDdCRTAwMDg0M0FE
RiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovLAogCQkJ
CTUxMjkzNUUxMTI4OEQ5NzgwMEE0QjY5NSAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVu
dUNsaWVudC5jcHAgKi8sCiAJCQkJNTEyOTM1RTIxMjg4RDk3ODAwQTRCNjk1IC8qIEluamVjdGVk
QnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmggKi8sCiAJCQkJRTFFRTUzRTYxMUY4Q0ZGQjAw
Q0NCRUU0IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgKi8sCkBAIC00OTUx
LDYgKzQ5NTYsNyBAQAogCQkJCTUxRkEyRDc3MTUyMTJFMjYwMEMxQkEwQiAvKiBXS0J1bmRsZURP
TVdpbmRvd0V4dGVuc2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJBNEIwRTE1ODZBMjI0
MDA5MEM5RTkgLyogQ29sb3JTcGFjZURhdGEubW0gaW4gU291cmNlcyAqLywKIAkJCQkzRjg3QjlC
RDE1ODk0MDEyMDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUNENjdEMzBFMTVDMDhGOUEwMDg0M0FERiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcAppbmRleCAwNzg0MWQ3Y2NjMzYwNTg0NWFmNGJmNjNmOGYwMjNkYjY1NDNjY2E4Li42
Mjc4ZWU5NTMxYTNkODhmODcyMmNjMjU3NTg4ZGY0M2U1OTIwNTVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2UuY3BwCkBAIC0xMjQsNiArMTI0LDExIEBAIHZvaWQgV0tCdW5kbGVQYWdlRGlk
RXhpdEZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiAjZW5kaWYKIH0KIAordm9p
ZCBXS0J1bmRsZVBhZ2VTZXREaWFnbm9zdGljTG9nZ2luZ0NsaWVudChXS0J1bmRsZVBhZ2VSZWYg
cGFnZVJlZiwgV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQqIGNsaWVudCkKK3sK
KyAgICB0b0ltcGwocGFnZVJlZiktPmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZURpYWdub3N0aWNM
b2dnaW5nQ2xpZW50KGNsaWVudCk7Cit9CisKIFdLQnVuZGxlUGFnZUdyb3VwUmVmIFdLQnVuZGxl
UGFnZUdldFBhZ2VHcm91cChXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsKICAgICByZXR1cm4g
dG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5wYWdlR3JvdXAoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2UuaAppbmRleCAyY2UwMWI0YzVjY2VhYmM1ZDZjMjA5ODM4MzA1ZWJkMDZmNWU5MjNiLi5hZjg3
NmE2MDFlYzIyZTdmMzkyNDUwN2JlZTk5ZWRhZjkzY2Q0NGFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmgKQEAgLTM1NCw2ICszNTQsMTggQEAgdHlwZWRlZiBzdHJ1Y3QgV0tCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudCBXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OwogCiBlbnVtIHsg
a1dLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRDdXJyZW50VmVyc2lvbiA9IDEgfTsKIAorLy8g
TWVzc2FnZVRyYWNlIGNsaWVudAordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3Nh
Z2UsIFdLU3RyaW5nUmVmIGRlc2NyaXB0aW9uLCBXS1N0cmluZ1JlZiBzdWNjZXNzLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKKworc3RydWN0IFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5n
Q2xpZW50IHsKKyAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CisgICAgY29uc3Qgdm9pZCAqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJ
bmZvOworICAgIFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2U7Cit9OwordHlwZWRlZiBz
dHJ1Y3QgV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgV0tCdW5kbGVQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQ7CisKK2VudW0geyBrV0tCdW5kbGVQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKKwogV0tfRVhQT1JUIHZvaWQgV0tCdW5k
bGVQYWdlV2lsbEVudGVyRnVsbFNjcmVlbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19FWFBP
UlQgdm9pZCBXS0J1bmRsZVBhZ2VEaWRFbnRlckZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBh
Z2UpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlV2lsbEV4aXRGdWxsU2NyZWVuKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlKTsKQEAgLTM2OCw4ICszODAsOCBAQCBXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZVBhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRs
ZVBhZwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0UmVzb3VyY2VMb2FkQ2xpZW50KFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQqIGNsaWVu
dCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lDbGllbnQoV0tCdW5kbGVQ
YWdlUmVmIHBhZ2UsIFdLQnVuZGxlUGFnZVBvbGljeUNsaWVudCogY2xpZW50KTsKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlUGFnZVNldFVJQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZVBhZ2VVSUNsaWVudCogY2xpZW50KTsKLSAgICAKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxl
UGFnZVNldEZ1bGxTY3JlZW5DbGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUGFn
ZUZ1bGxTY3JlZW5DbGllbnQqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VT
ZXREaWFnbm9zdGljTG9nZ2luZ0NsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQqIGNsaWVudCk7CiAKIFdLX0VYUE9SVCBXS0J1bmRs
ZVBhZ2VHcm91cFJlZiBXS0J1bmRsZVBhZ2VHZXRQYWdlR3JvdXAoV0tCdW5kbGVQYWdlUmVmIHBh
Z2UpOwogV0tfRVhQT1JUIFdLQnVuZGxlRnJhbWVSZWYgV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1l
KFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmYy
NjRjYjYyYTBhYTg0MDVjMjNlODIwY2Y3OTU0YTQxNmI5Mjg3YQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCIKKworI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1
ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBJbmpl
Y3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3Nh
Z2UoV2ViUGFnZSogcGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN1Y2Nlc3MpCit7CisgICAgaWYgKCFtX2NsaWVudC5s
b2dEaWFnbm9zdGljTWVzc2FnZSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fY2xpZW50LmxvZ0Rp
YWdub3N0aWNNZXNzYWdlKHRvQVBJKHBhZ2UpLCB0b0NvcGllZEFQSShtZXNzYWdlKSwgdG9Db3Bp
ZWRBUEkoZGVzY3JpcHRpb24pLCB0b0NvcGllZEFQSShzdWNjZXNzKSwgbV9jbGllbnQuY2xpZW50
SW5mbyk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzllODFhMDNmY2QyNDdl
M2ZiM2U1NDYyZjZmNTU0YjJhZTE4NThkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElu
amVjdGVkQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50X2gKKyNkZWZpbmUgSW5qZWN0
ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaAorCisjaW5jbHVkZSAiQVBJQ2xp
ZW50LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVQYWdlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNCYXNlLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYktp
dCB7CisgICAgCitjbGFzcyBBUElPYmplY3Q7CitjbGFzcyBJbmplY3RlZEJ1bmRsZUhpdFRlc3RS
ZXN1bHQ7CitjbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOworY2xhc3MgV2ViUGFnZTsKKwor
Y2xhc3MgSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgOiBwdWJsaWMg
QVBJQ2xpZW50PFdLQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LCBrV0tCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRDdXJyZW50VmVyc2lvbj4geworcHVibGljOgorICAg
IHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoV2ViUGFnZSosIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiBzdWNjZXNzKTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gSW5qZWN0ZWRCdW5kbGVQYWdl
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDMz
MzcwYmRlZjBmMjNjOTNmNzNhNDg5NTJmYjJjMWQ1ODIxMzU2OWYuLjE2ZGRmNzczZmIwZmQzY2Fm
ZjY5NThiNGIwOGM5YjU1ZmQzNDU5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTc3
Myw0ICs3NzMsMTIgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6Om51bVdoZWVsRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQgY291bnQpCiAgICAgbV9wYWdlLT5udW1XaGVlbEV2ZW50SGFuZGxl
cnNDaGFuZ2VkKGNvdW50KTsKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
biwgY29uc3QgU3RyaW5nJiBzdWNjZXNzKQoreworICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgp
LT5zZXR0aW5ncygpLT5kaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCku
bG9nRGlhZ25vc3RpY01lc3NhZ2UobV9wYWdlLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwgc3VjY2Vz
cyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXgg
MzgzZWVhYzNlOWY5NDczNTg5N2Q4NDViZWQ3OTA5MmJmYjRhNDk5Yy4uYWI2OGU4YjliY2Y0MGI4
MTEyMjczNTgwNmYzMmY2MDM4OTE2Mjk5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMTks
NiArMjE5LDggQEAgcHJpdmF0ZToKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVu
dEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIHZvaWQg
bG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHN1Y2Nlc3MpIE9WRVJSSURFOworCiAgICAgU3Ry
aW5nIG1fY2FjaGVkVG9vbFRpcDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4gbV9jYWNo
ZWRGcmFtZVNldExhcmdlc3RGcmFtZTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJh
bWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDMwNDJmMzg0YTlhMmYyMGZlMjRhMDA2NmRlMjg1NTZi
NDY1ZTdiNmQuLjU5ZDNiYzVjYmU0Y2Q3YzlhZGM2ZGExMDliMWNkZWQ4ZmU1NmNiZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTQxOSw2
ICs0MTksMTEgQEAgdm9pZCBXZWJQYWdlOjppbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVGdWxsU2Ny
ZWVuQ2xpZW50KFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGkKIH0KICNlbmRpZgogCit2b2lkIFdl
YlBhZ2U6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdL
QnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KiBjbGllbnQpCit7CisgICAgbV9sb2dE
aWFnbm9zdGljTWVzc2FnZUNsaWVudC5pbml0aWFsaXplKGNsaWVudCk7Cit9CisKIFBhc3NSZWZQ
dHI8UGx1Z2luPiBXZWJQYWdlOjpjcmVhdGVQbHVnaW4oV2ViRnJhbWUqIGZyYW1lLCBIVE1MUGx1
Z0luRWxlbWVudCogcGx1Z2luRWxlbWVudCwgY29uc3QgUGx1Z2luOjpQYXJhbWV0ZXJzJiBwYXJh
bWV0ZXJzKQogewogICAgIFN0cmluZyBwbHVnaW5QYXRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMWI3NzA4YTRjYWU1ZTNlM2Q2NDNhMTQ5NThk
ZjNjNjFlODM4N2Q0ZS4uMzM5ZWEwNjg5YzgxYmM2Nzk5ZGNlNGQzMDNlMjliODExN2MwMmIwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0zNSw2
ICszNSw3IEBACiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAjaW5jbHVkZSAiSW5qZWN0ZWRC
dW5kbGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCIKICNlbmRpZgorI2luY2x1ZGUgIkluamVjdGVk
QnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRC
dW5kbGVQYWdlRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlRm9y
bUNsaWVudC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQu
aCIKQEAgLTI0OCw2ICsyNDksNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQogICAgIHZvaWQgaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudChXS0J1
bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Kik7CiAjZW5kaWYKKyAgICB2b2lkIGluaXRpYWxpemVJ
bmplY3RlZEJ1bmRsZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdLQnVuZGxlUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Kik7CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBJbmpl
Y3RlZEJ1bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudCYgaW5qZWN0ZWRCdW5kbGVDb250ZXh0TWVu
dUNsaWVudCgpIHsgcmV0dXJuIG1fY29udGV4dE1lbnVDbGllbnQ7IH0KQEAgLTI1OCw2ICsyNjAs
NyBAQCBwdWJsaWM6CiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50JiBpbmplY3Rl
ZEJ1bmRsZVBvbGljeUNsaWVudCgpIHsgcmV0dXJuIG1fcG9saWN5Q2xpZW50OyB9CiAgICAgSW5q
ZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50JiBpbmplY3RlZEJ1bmRsZVJlc291cmNl
TG9hZENsaWVudCgpIHsgcmV0dXJuIG1fcmVzb3VyY2VMb2FkQ2xpZW50OyB9CiAgICAgSW5qZWN0
ZWRCdW5kbGVQYWdlVUlDbGllbnQmIGluamVjdGVkQnVuZGxlVUlDbGllbnQoKSB7IHJldHVybiBt
X3VpQ2xpZW50OyB9CisgICAgSW5qZWN0ZWRCdW5kbGVQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQmIGluamVjdGVkQnVuZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKSB7IHJldHVybiBtX2xv
Z0RpYWdub3N0aWNNZXNzYWdlQ2xpZW50OyB9CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQog
ICAgIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQmIGluamVjdGVkQnVuZGxlRnVs
bFNjcmVlbkNsaWVudCgpIHsgcmV0dXJuIG1fZnVsbFNjcmVlbkNsaWVudDsgfQogI2VuZGlmCkBA
IC04MTEsNiArODE0LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAg
ICAgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCBtX2Z1bGxTY3JlZW5DbGllbnQ7
CiAjZW5kaWYKKyAgICBJbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCBt
X2xvZ0RpYWdub3N0aWNNZXNzYWdlQ2xpZW50OwogCiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RP
UkUpCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3ZpZXdwb3J0U2l6ZTsK
</data>
<flag name="review"
          id="163976"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="163977"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
      

    </bug>

</bugzilla>