<?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>87384</bug_id>
          
          <creation_ts>2012-05-24 06:13:31 -0700</creation_ts>
          <short_desc>postMessage and webkitPostMessage should behave the same way</short_desc>
          <delta_ts>2012-05-24 16:56:26 -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 JavaScript</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>
          
          <blocked>87118</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>eoconnor</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>levin</cc>
    
    <cc>mjs</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>632704</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-24 06:13:31 -0700</bug_when>
    <thetext>In Bug 73589, the V8 implementation has been updated in order to support transfer of MessagePorts. This follows the latest &quot;implementation-ready&quot; spec.
However, the JSC implementation has not been updated accordingly.

The following test case is supposed to test it:
  fast/dom/Window/window-postmessage-args.html

In particular, this check:
  tryPostMessageFunction(window.postMessage, channel3.port1, &apos;*&apos;, [channel3.port1, channel3.port2]);

However, with JSC, this will not throw because of Bug 87118 (SerializedScriptValue.create() succeeds even if MessagePort object cannot be found in transferred ports).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632715</commentid>
    <comment_count>1</comment_count>
      <attachid>143812</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-24 06:24:15 -0700</bug_when>
    <thetext>Created attachment 143812
Patch

The new expected global result for fast/dom/Window/window-postmessage-args.html is now closer to the one for Chromium. The remaining diff is:
3,8c3,8
&lt; PASS: Posting message (&apos;1&apos;, 1): threw exception TypeError: Type error
&lt; PASS: Posting message (&apos;1&apos;, 1): threw exception TypeError: Type error
&lt; PASS: Posting message (&apos;2&apos;, c): threw exception TypeError: Type error
&lt; PASS: Posting message (&apos;2&apos;, c): threw exception TypeError: Type error
&lt; PASS: Posting message (&apos;3&apos;, [object Object]): threw exception TypeError: Type error
&lt; PASS: Posting message (&apos;3&apos;, [object Object]): threw exception TypeError: Type error
---
&gt; PASS: Posting message (&apos;1&apos;, 1): threw exception TypeError: TransferArray argument must be an object
&gt; PASS: Posting message (&apos;1&apos;, 1): threw exception TypeError: TransferArray argument must be an object
&gt; PASS: Posting message (&apos;2&apos;, c): threw exception TypeError: TransferArray argument must be an object
&gt; PASS: Posting message (&apos;2&apos;, c): threw exception TypeError: TransferArray argument must be an object
&gt; PASS: Posting message (&apos;3&apos;, [object Object]): threw exception TypeError: TransferArray argument has no length attribute
&gt; PASS: Posting message (&apos;3&apos;, [object Object]): threw exception TypeError: TransferArray argument has no length attribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632734</commentid>
    <comment_count>2</comment_count>
      <attachid>143820</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-24 06:54:33 -0700</bug_when>
    <thetext>Created attachment 143820
Patch

Update JSC implementation of postMessage for MessagePort, DedicatedWorkerContext and Worker as well. This now matches the V8 implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632838</commentid>
    <comment_count>3</comment_count>
      <attachid>143820</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-24 08:43:06 -0700</bug_when>
    <thetext>Comment on attachment 143820
Patch

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

Rather than introduce a difference between postMessage and webkitPotMessage, I&apos;d rather change both to be the same and match the spec.  I believe that means always passing &quot;true&quot; for this value, including in V8.

&gt; Source/WebCore/ChangeLog:28
&gt; +2012-05-24  Christophe Dumez  &lt;christophe.dumez@intel.com&gt;

Looks like you&apos;ve got an extra ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632943</commentid>
    <comment_count>4</comment_count>
      <attachid>143850</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-05-24 10:55:26 -0700</bug_when>
    <thetext>Created attachment 143850
Patch

Make postMessage behave the same way as webkitPostMessage, meaning that it supports transfer of MessagePorts and ArrayBuffers. Both JSC and V8 implementations have been updated, as per Adam Barth&apos;s feedback.

Instead of passing &apos;true&apos; always for extendedTransfer argument, I simply removed it. It is never used without extended transfer so I thought I would clean up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632945</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-24 10:58:24 -0700</bug_when>
    <thetext>+levin because we&apos;ve discussed this in the past.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632947</commentid>
    <comment_count>6</comment_count>
      <attachid>143850</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-24 11:00:18 -0700</bug_when>
    <thetext>Comment on attachment 143850
Patch

Thanks.  There&apos;s some compatibility risk with this change, but it seems like the right thing to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632966</commentid>
    <comment_count>7</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-05-24 11:12:00 -0700</bug_when>
    <thetext>Fine with me. Adding Oliver just in case he had any concerns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633045</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-24 12:23:56 -0700</bug_when>
    <thetext>&gt; Rather than introduce a difference between postMessage and webkitPotMessage, I&apos;d rather change both to be the same and match the spec.  

I do not have a lot of insight in this particular issue, but in general, this doesn&apos;t sounds like a great approach. Why break existing pages that use a webkit-prefixed version when new pages will use unprefixed one anyway?

There is some risk of a page doing something like &quot;if (!window.postMessage &amp;&amp; window.webkitPostMessage) window.postMessage = window.webkitPostMessage&quot; and not testing in old browser versions. But breaking old browser versions seems like a much lesser evil than breaking pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633047</commentid>
    <comment_count>9</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-05-24 12:26:36 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; Rather than introduce a difference between postMessage and webkitPotMessage, I&apos;d rather change both to be the same and match the spec.  
&gt; 
&gt; I do not have a lot of insight in this particular issue, but in general, this doesn&apos;t sounds like a great approach. Why break existing pages that use a webkit-prefixed version when new pages will use unprefixed one anyway?
&gt; 
&gt; There is some risk of a page doing something like &quot;if (!window.postMessage &amp;&amp; window.webkitPostMessage) window.postMessage = window.webkitPostMessage&quot; and not testing in old browser versions. But breaking old browser versions seems like a much lesser evil than breaking pages.

The behavior of postMessage has been augmented. webkitPostMessage should be unaffected and the change to postMessage is backward compatible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633059</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-24 12:37:05 -0700</bug_when>
    <thetext>&gt; There is some risk of a page doing something like &quot;if (!window.postMessage &amp;&amp; window.webkitPostMessage)

This conditional will never return true because there never existed a browser that contained webkitPostMessage but not postMessage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633384</commentid>
    <comment_count>11</comment_count>
      <attachid>143850</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 16:56:14 -0700</bug_when>
    <thetext>Comment on attachment 143850
Patch

Clearing flags on attachment: 143850

Committed r118445: &lt;http://trac.webkit.org/changeset/118445&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633385</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 16:56:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143812</attachid>
            <date>2012-05-24 06:24:15 -0700</date>
            <delta_ts>2012-05-24 06:54:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>87384_postMessage_messageport.patch</filename>
            <type>text/plain</type>
            <size>3687</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MTkzOTU2Li44MTA2NGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbSlNDXSBwb3N0TWVzc2FnZSBzaG91bGQgc3VwcG9ydCB0cmFuc2ZlciBvZiBNZXNzYWdl
UG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
Mzg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIGV4cGVjdGVkIHJlc3VsdCBmb3IKKyAgICAgICAgZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
b3N0bWVzc2FnZS1hcmdzLmh0bWwgbm93IHRoYXQgSlNDCisgICAgICAgIGltcGxlbWVudGF0aW9u
IG9mIHdpbmRvdy5wb3N0TWVzc2FnZSBzdXBwb3J0cyB0cmFuc2ZlciBvZgorICAgICAgICBNZXNz
YWdlUG9ydHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdl
LWFyZ3MtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA1LTI0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIGNocm9taXVt
IHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQKaW5kZXgg
YjY3ODdlZC4uNGJmY2VhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0z
OSw3ICszOSw3IEBAIFJlY2VpdmVkIG1lc3NhZ2UgJzdhJyB3aXRoIDIgcG9ydHMuCiBSZWNlaXZl
ZCBtZXNzYWdlICc3JyB3aXRoIDIgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4
JyB3aXRoIDAgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4JyB3aXRoIDAgcG9y
dHMuCi1SZWNlaXZlZCBtZXNzYWdlICdbb2JqZWN0IE9iamVjdF0nIHdpdGggMiBwb3J0cy4KK1Jl
Y2VpdmVkIG1lc3NhZ2UgJ1tvYmplY3QgTWVzc2FnZVBvcnRdJyB3aXRoIDIgcG9ydHMuCiBSZWNl
aXZlZCBtZXNzYWdlICdbb2JqZWN0IE1lc3NhZ2VQb3J0XScgd2l0aCAyIHBvcnRzLgogUmVjZWl2
ZWQgbWVzc2FnZSAnW29iamVjdCBNZXNzYWdlUG9ydF0sW29iamVjdCBNZXNzYWdlUG9ydF0nIHdp
dGggMiBwb3J0cy4KIFJlY2VpdmVkIG1lc3NhZ2UgJ1tvYmplY3QgQXJyYXlCdWZmZXJdJyB3aXRo
IDAgcG9ydHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUzMDkwNy4uNmRhNGU4ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTA1LTI0ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5k
dW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0pTQ10gcG9zdE1lc3NhZ2Ugc2hvdWxkIHN1cHBv
cnQgdHJhbnNmZXIgb2YgTWVzc2FnZVBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NzM4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEpTQyBpbXBsZW1lbnRhdGlvbiBvZiB3aW5kb3cucG9zdE1lc3Nh
Z2Ugbm93IHN1cHBvcnRzIHRyYW5zZmVyIG9mCisgICAgICAgIE1lc3NhZ2VQb3J0cyBhcyBwZXIg
bGF0ZXN0ICJpbXBsZW1lbnRhdGlvbi1yZWFkeSIgc3BlYy4KKyAgICAgICAgVGhpcyBpcyB0ZXN0
ZWQgYnkgZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLmh0bWwuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpoYW5kbGVQb3N0TWVzc2FnZSk6CisKIDIwMTItMDUtMjQgIFNoaW55YSBLYXdhbmFrYSAg
PHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVsZW1lbnRzIGluIFNoYWRvdyBET00g
YXJlIG5vdCByZXNpemFibGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggZmI1MTc2Ny4uOGI4YmRmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtNTQyLDcgKzU0
Miw3IEBAIEpTVmFsdWUgSlNET01XaW5kb3c6OnNob3dNb2RhbERpYWxvZyhFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgcmV0dXJuIGhhbmRsZXIucmV0dXJuVmFsdWUoKTsKIH0KIAotc3RhdGljIEpTVmFs
dWUgaGFuZGxlUG9zdE1lc3NhZ2UoRE9NV2luZG93KiBpbXBsLCBFeGVjU3RhdGUqIGV4ZWMsIGJv
b2wgZG9UcmFuc2ZlcikKK3N0YXRpYyBKU1ZhbHVlIGhhbmRsZVBvc3RNZXNzYWdlKERPTVdpbmRv
dyogaW1wbCwgRXhlY1N0YXRlKiBleGVjLCBib29sIGV4dGVuZGVkVHJhbnNmZXIpCiB7CiAgICAg
TWVzc2FnZVBvcnRBcnJheSBtZXNzYWdlUG9ydHM7CiAgICAgQXJyYXlCdWZmZXJBcnJheSBhcnJh
eUJ1ZmZlcnM7CkBAIC01NjYsOCArNTY2LDggQEAgc3RhdGljIEpTVmFsdWUgaGFuZGxlUG9zdE1l
c3NhZ2UoRE9NV2luZG93KiBpbXBsLCBFeGVjU3RhdGUqIGV4ZWMsIGJvb2wgZG9UcmFuc2YKICAg
ICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgZXhl
Yy0+YXJndW1lbnQoMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9UcmFuc2ZlciA/ICZtZXNzYWdlUG9y
dHMgOiAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRvVHJhbnNmZXIgPyAmYXJyYXlCdWZmZXJzIDogMCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJm1lc3NhZ2VQb3J0cywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbmRl
ZFRyYW5zZmVyID8gJmFycmF5QnVmZmVycyA6IDApOwogCiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143820</attachid>
            <date>2012-05-24 06:54:33 -0700</date>
            <delta_ts>2012-05-24 10:55:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>87384_postMessage_messageport.patch</filename>
            <type>text/plain</type>
            <size>8189</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MTkzOTU2Li44MTA2NGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBbSlNDXSBwb3N0TWVzc2FnZSBzaG91bGQgc3VwcG9ydCB0cmFuc2ZlciBvZiBNZXNzYWdl
UG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
Mzg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIGV4cGVjdGVkIHJlc3VsdCBmb3IKKyAgICAgICAgZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
b3N0bWVzc2FnZS1hcmdzLmh0bWwgbm93IHRoYXQgSlNDCisgICAgICAgIGltcGxlbWVudGF0aW9u
IG9mIHdpbmRvdy5wb3N0TWVzc2FnZSBzdXBwb3J0cyB0cmFuc2ZlciBvZgorICAgICAgICBNZXNz
YWdlUG9ydHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdl
LWFyZ3MtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA1LTI0ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIGNocm9taXVt
IHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQKaW5kZXgg
YjY3ODdlZC4uNGJmY2VhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0z
OSw3ICszOSw3IEBAIFJlY2VpdmVkIG1lc3NhZ2UgJzdhJyB3aXRoIDIgcG9ydHMuCiBSZWNlaXZl
ZCBtZXNzYWdlICc3JyB3aXRoIDIgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4
JyB3aXRoIDAgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4JyB3aXRoIDAgcG9y
dHMuCi1SZWNlaXZlZCBtZXNzYWdlICdbb2JqZWN0IE9iamVjdF0nIHdpdGggMiBwb3J0cy4KK1Jl
Y2VpdmVkIG1lc3NhZ2UgJ1tvYmplY3QgTWVzc2FnZVBvcnRdJyB3aXRoIDIgcG9ydHMuCiBSZWNl
aXZlZCBtZXNzYWdlICdbb2JqZWN0IE1lc3NhZ2VQb3J0XScgd2l0aCAyIHBvcnRzLgogUmVjZWl2
ZWQgbWVzc2FnZSAnW29iamVjdCBNZXNzYWdlUG9ydF0sW29iamVjdCBNZXNzYWdlUG9ydF0nIHdp
dGggMiBwb3J0cy4KIFJlY2VpdmVkIG1lc3NhZ2UgJ1tvYmplY3QgQXJyYXlCdWZmZXJdJyB3aXRo
IDAgcG9ydHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUzMDkwNy4uYjBhMTU1MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ0IEBACisyMDEyLTA1LTI0ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5k
dW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0pTQ10gcG9zdE1lc3NhZ2Ugc2hvdWxkIHN1cHBv
cnQgdHJhbnNmZXIgb2YgTWVzc2FnZVBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NzM4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEpTQyBpbXBsZW1lbnRhdGlvbiBvZiBwb3N0TWVzc2FnZSBub3cg
c3VwcG9ydHMgdHJhbnNmZXIgb2YKKyAgICAgICAgTWVzc2FnZVBvcnRzIGFzIHBlciBsYXRlc3Qg
ImltcGxlbWVudGF0aW9uLXJlYWR5IiBzcGVjLgorICAgICAgICBUaGlzIG1hdGNoZXMgdGhlIFY4
IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cG9zdG1lc3NhZ2UtYXJncy5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYW5kbGVQb3N0TWVzc2FnZSk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6cG9zdE1lc3NhZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojp3ZWJraXRQb3N0TWVz
c2FnZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpKU01lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU01lc3NhZ2VQb3J0Ojp3ZWJraXRQb3N0TWVzc2FnZSk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxl
UG9zdE1lc3NhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyQ3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyOjpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJD
b3JlOjpKU1dvcmtlcjo6d2Via2l0UG9zdE1lc3NhZ2UpOgorCisyMDEyLTA1LTI0ICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0pTQ10g
cG9zdE1lc3NhZ2Ugc2hvdWxkIHN1cHBvcnQgdHJhbnNmZXIgb2YgTWVzc2FnZVBvcnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzM4NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpTQyBpbXBsZW1lbnRh
dGlvbiBvZiB3aW5kb3cucG9zdE1lc3NhZ2Ugbm93IHN1cHBvcnRzIHRyYW5zZmVyIG9mCisgICAg
ICAgIE1lc3NhZ2VQb3J0cyBhcyBwZXIgbGF0ZXN0ICJpbXBsZW1lbnRhdGlvbi1yZWFkeSIgc3Bl
Yy4KKyAgICAgICAgVGhpcyBpcyB0ZXN0ZWQgYnkgZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0
bWVzc2FnZS1hcmdzLmh0bWwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYW5kbGVQb3N0TWVzc2FnZSk6CisKIDIwMTIt
MDUtMjQgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEVsZW1lbnRzIGluIFNoYWRvdyBET00gYXJlIG5vdCByZXNpemFibGUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggZmI1MTc2Ny4u
OGI4YmRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
Q3VzdG9tLmNwcApAQCAtNTQyLDcgKzU0Miw3IEBAIEpTVmFsdWUgSlNET01XaW5kb3c6OnNob3dN
b2RhbERpYWxvZyhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIGhhbmRsZXIucmV0dXJuVmFs
dWUoKTsKIH0KIAotc3RhdGljIEpTVmFsdWUgaGFuZGxlUG9zdE1lc3NhZ2UoRE9NV2luZG93KiBp
bXBsLCBFeGVjU3RhdGUqIGV4ZWMsIGJvb2wgZG9UcmFuc2ZlcikKK3N0YXRpYyBKU1ZhbHVlIGhh
bmRsZVBvc3RNZXNzYWdlKERPTVdpbmRvdyogaW1wbCwgRXhlY1N0YXRlKiBleGVjLCBib29sIGV4
dGVuZGVkVHJhbnNmZXIpCiB7CiAgICAgTWVzc2FnZVBvcnRBcnJheSBtZXNzYWdlUG9ydHM7CiAg
ICAgQXJyYXlCdWZmZXJBcnJheSBhcnJheUJ1ZmZlcnM7CkBAIC01NjYsOCArNTY2LDggQEAgc3Rh
dGljIEpTVmFsdWUgaGFuZGxlUG9zdE1lc3NhZ2UoRE9NV2luZG93KiBpbXBsLCBFeGVjU3RhdGUq
IGV4ZWMsIGJvb2wgZG9UcmFuc2YKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKICAg
ICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlw
dFZhbHVlOjpjcmVhdGUoZXhlYywgZXhlYy0+YXJndW1lbnQoMCksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9UcmFuc2ZlciA/ICZtZXNzYWdlUG9ydHMgOiAwLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvVHJhbnNm
ZXIgPyAmYXJyYXlCdWZmZXJzIDogMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1lc3NhZ2VQb3J0cywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBleHRlbmRlZFRyYW5zZmVyID8gJmFycmF5QnVmZmVycyA6IDApOwog
CiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVk
V29ya2VyQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rl
ZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCmluZGV4IGFiMGM1ZGQuLmQwYzM5NzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29u
dGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWRpY2F0
ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcApAQCAtNDQsMTIgKzQ0LDEyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogSlNDOjpKU1ZhbHVlIEpTRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6cG9zdE1l
c3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNz
YWdlKGV4ZWMsIGltcGwoKSk7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGlt
cGwoKSwgZmFsc2UpOwogfQogCiBKU0M6OkpTVmFsdWUgSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0
Ojp3ZWJraXRQb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4g
aGFuZGxlUG9zdE1lc3NhZ2UoZXhlYywgaW1wbCgpKTsKKyAgICByZXR1cm4gaGFuZGxlUG9zdE1l
c3NhZ2UoZXhlYywgaW1wbCgpLCB0cnVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNw
cAppbmRleCA3NmE4YzBmLi41MDY2ZDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcApAQCAtNjAsMTIgKzYwLDEyIEBAIHZvaWQg
SlNNZXNzYWdlUG9ydDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQogCiBKU0M6OkpTVmFsdWUgSlNNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoSlNDOjpF
eGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGlt
cGwoKSk7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSwgZmFsc2Up
OwogfQogCiBKU0M6OkpTVmFsdWUgSlNNZXNzYWdlUG9ydDo6d2Via2l0UG9zdE1lc3NhZ2UoSlND
OjpFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMs
IGltcGwoKSk7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSwgdHJ1
ZSk7CiB9CiAKIHZvaWQgZmlsbE1lc3NhZ2VQb3J0QXJyYXkoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IEpTQzo6SlNWYWx1ZSB2YWx1ZSwgTWVzc2FnZVBvcnRBcnJheSYgcG9ydEFycmF5LCBBcnJheUJ1
ZmZlckFycmF5JiBhcnJheUJ1ZmZlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmgKaW5kZXggZTc2ZTc2ZC4uMjdjMjZlZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaApAQCAtNDYs
MTIgKzQ2LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEhlbHBlciBmdW5jdGlv
biB0byBjb252ZXJ0IGZyb20gSlMgcG9zdE1lc3NhZ2UgYXJndW1lbnRzIHRvIFdlYkNvcmUgcG9z
dE1lc3NhZ2UgYXJndW1lbnRzLgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotICAgIGlubGlu
ZSBKU0M6OkpTVmFsdWUgaGFuZGxlUG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIFQq
IGltcGwpCisgICAgaW5saW5lIEpTQzo6SlNWYWx1ZSBoYW5kbGVQb3N0TWVzc2FnZShKU0M6OkV4
ZWNTdGF0ZSogZXhlYywgVCogaW1wbCwgYm9vbCBleHRlbmRlZFRyYW5zZmVyKQogICAgIHsKICAg
ICAgICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0QXJyYXk7CiAgICAgICAgIEFycmF5QnVmZmVyQXJy
YXkgYXJyYXlCdWZmZXJBcnJheTsKICAgICAgICAgZmlsbE1lc3NhZ2VQb3J0QXJyYXkoZXhlYywg
ZXhlYy0+YXJndW1lbnQoMSksIHBvcnRBcnJheSwgYXJyYXlCdWZmZXJBcnJheSk7Ci0gICAgICAg
IFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UgPSBTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OmNyZWF0ZShleGVjLCBleGVjLT5hcmd1bWVudCgwKSwgJnBvcnRBcnJheSwgJmFycmF5
QnVmZmVyQXJyYXkpOworICAgICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNz
YWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoZXhlYywgZXhlYy0+YXJndW1lbnQo
MCksICZwb3J0QXJyYXksIGV4dGVuZGVkVHJhbnNmZXIgPyAmYXJyYXlCdWZmZXJBcnJheSA6IDAp
OwogICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4g
SlNDOjpqc1VuZGVmaW5lZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dvcmtlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtlckN1c3RvbS5jcHAKaW5kZXggNzE0NWZjZi4uMGUyNTczMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ3VzdG9tLmNwcApAQCAtNDIsMTIgKzQyLDEyIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogSlNDOjpKU1ZhbHVlIEpTV29ya2VyOjpwb3N0TWVzc2FnZShK
U0M6OkV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2UoZXhl
YywgaW1wbCgpKTsKKyAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2UoZXhlYywgaW1wbCgpLCBm
YWxzZSk7CiB9CiAKIEpTQzo6SlNWYWx1ZSBKU1dvcmtlcjo6d2Via2l0UG9zdE1lc3NhZ2UoSlND
OjpFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMs
IGltcGwoKSk7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSwgdHJ1
ZSk7CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNXb3JrZXJDb25zdHJ1Y3Rv
cjo6Y29uc3RydWN0SlNXb3JrZXIoRXhlY1N0YXRlKiBleGVjKQo=
</data>
<flag name="review"
          id="150477"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143850</attachid>
            <date>2012-05-24 10:55:26 -0700</date>
            <delta_ts>2012-05-24 16:56:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>87384_postMessage_messageport.patch</filename>
            <type>text/plain</type>
            <size>12304</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0Yzc4YzU3Li45MDc2MzlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUt
MjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAg
ICAgICBwb3N0TWVzc2FnZSBhbmQgd2Via2l0UG9zdE1lc3NhZ2Ugc2hvdWxkIGJlaGF2ZSB0aGUg
c2FtZSB3YXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg3Mzg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIGdsb2JhbCB0ZXN0IGV4cGVjdGF0aW9uIGZvcgorICAgICAgICBmYXN0L2RvbS9XaW5k
b3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MuaHRtbCBub3cgdGhhdCBKU0MncworICAgICAgICBw
b3N0TWVzc2FnZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyB0cmFuc2ZlciBvZiBNZXNzYWdlUG9y
dHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3Mt
ZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA1LTI0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtyZWdyZXNzaW9uXSBzZWFyY2gg
aW4gZm9ybWF0dGVkIHNjcmlwdHMgaXMgYnJva2VuLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3Rl
ZC50eHQKaW5kZXggYjY3ODdlZC4uNGJmY2VhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0
ZWQudHh0CkBAIC0zOSw3ICszOSw3IEBAIFJlY2VpdmVkIG1lc3NhZ2UgJzdhJyB3aXRoIDIgcG9y
dHMuCiBSZWNlaXZlZCBtZXNzYWdlICc3JyB3aXRoIDIgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdl
ICcyMTQ3NDgzNjQ4JyB3aXRoIDAgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4
JyB3aXRoIDAgcG9ydHMuCi1SZWNlaXZlZCBtZXNzYWdlICdbb2JqZWN0IE9iamVjdF0nIHdpdGgg
MiBwb3J0cy4KK1JlY2VpdmVkIG1lc3NhZ2UgJ1tvYmplY3QgTWVzc2FnZVBvcnRdJyB3aXRoIDIg
cG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICdbb2JqZWN0IE1lc3NhZ2VQb3J0XScgd2l0aCAyIHBv
cnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnW29iamVjdCBNZXNzYWdlUG9ydF0sW29iamVjdCBNZXNz
YWdlUG9ydF0nIHdpdGggMiBwb3J0cy4KIFJlY2VpdmVkIG1lc3NhZ2UgJ1tvYmplY3QgQXJyYXlC
dWZmZXJdJyB3aXRoIDAgcG9ydHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjk4ZWMyOS4uZGI5ZGJjMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA1LTI0ICBDaHJpc3RvcGhlIER1bWV6ICA8
Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgcG9zdE1lc3NhZ2UgYW5kIHdl
YmtpdFBvc3RNZXNzYWdlIHNob3VsZCBiZWhhdmUgdGhlIHNhbWUgd2F5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzM4NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgcG9zdE1lc3NhZ2UgYmVoYXZl
IHRoZSBzYW1lIHdheSBhcyB3ZWJraXRQb3N0TWVzc2FnZSwgbWVhbmluZworICAgICAgICB0aGF0
IGl0IHN1cHBvcnRzIHRyYW5zZmVyIG9mIE1lc3NhZ2VQb3J0cyBhbmQgQXJyYXlCdWZmZXJzIGFz
IHBlcgorICAgICAgICB0aGUgc3BlYy4gQm90aCBWOCBhbmQgSlNDIGltcGxlbWVudGF0aW9ucyBo
YXZlIGJlZW4gdXBkYXRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXBvc3RtZXNzYWdlLWFyZ3MuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlUG9zdE1lc3NhZ2UpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93Ojp3ZWJraXRQb3N0TWVzc2FnZSk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRs
ZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3c6OnBv
c3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3c6OndlYmtp
dFBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERl
ZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxl
UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOERlZGljYXRlZFdvcmtl
ckNvbnRleHQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhEZWRp
Y2F0ZWRXb3JrZXJDb250ZXh0Ojp3ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
TWVzc2FnZVBvcnQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhN
ZXNzYWdlUG9ydDo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRs
ZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXb3JrZXI6OnBvc3RN
ZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXb3JrZXI6OndlYmtpdFBvc3RN
ZXNzYWdlQ2FsbGJhY2spOgorCiAyMDEyLTA1LTI0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtyZWdyZXNzaW9uXSBzZWFy
Y2ggaW4gZm9ybWF0dGVkIHNjcmlwdHMgaXMgYnJva2VuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IGZiNTE3NjcuLjM3OTY4NDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5j
cHAKQEAgLTU0Miw3ICs1NDIsNyBAQCBKU1ZhbHVlIEpTRE9NV2luZG93OjpzaG93TW9kYWxEaWFs
b2coRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBoYW5kbGVyLnJldHVyblZhbHVlKCk7CiB9
CiAKLXN0YXRpYyBKU1ZhbHVlIGhhbmRsZVBvc3RNZXNzYWdlKERPTVdpbmRvdyogaW1wbCwgRXhl
Y1N0YXRlKiBleGVjLCBib29sIGRvVHJhbnNmZXIpCitzdGF0aWMgSlNWYWx1ZSBoYW5kbGVQb3N0
TWVzc2FnZShET01XaW5kb3cqIGltcGwsIEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBNZXNzYWdl
UG9ydEFycmF5IG1lc3NhZ2VQb3J0czsKICAgICBBcnJheUJ1ZmZlckFycmF5IGFycmF5QnVmZmVy
czsKQEAgLTU2Niw4ICs1NjYsOCBAQCBzdGF0aWMgSlNWYWx1ZSBoYW5kbGVQb3N0TWVzc2FnZShE
T01XaW5kb3cqIGltcGwsIEV4ZWNTdGF0ZSogZXhlYywgYm9vbCBkb1RyYW5zZgogICAgICAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKIAogICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IG1lc3NhZ2UgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShleGVjLCBleGVjLT5hcmd1
bWVudCgwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkb1RyYW5zZmVyID8gJm1lc3NhZ2VQb3J0cyA6IDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZG9UcmFuc2ZlciA/ICZhcnJheUJ1ZmZlcnMgOiAwKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmbWVzc2FnZVBvcnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhcnJheUJ1ZmZlcnMp
OwogCiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKQEAgLTU4NSwxMiArNTg1LDEyIEBAIHN0YXRpYyBKU1ZhbHVlIGhhbmRsZVBvc3RN
ZXNzYWdlKERPTVdpbmRvdyogaW1wbCwgRXhlY1N0YXRlKiBleGVjLCBib29sIGRvVHJhbnNmCiAK
IEpTVmFsdWUgSlNET01XaW5kb3c6OnBvc3RNZXNzYWdlKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAg
ICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2UoaW1wbCgpLCBleGVjLCBmYWxzZSk7CisgICAgcmV0
dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGltcGwoKSwgZXhlYyk7CiB9CiAKIEpTVmFsdWUgSlNET01X
aW5kb3c6OndlYmtpdFBvc3RNZXNzYWdlKEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICByZXR1cm4g
aGFuZGxlUG9zdE1lc3NhZ2UoaW1wbCgpLCBleGVjLCB0cnVlKTsKKyAgICByZXR1cm4gaGFuZGxl
UG9zdE1lc3NhZ2UoaW1wbCgpLCBleGVjKTsKIH0KIAogSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2V0
VGltZW91dChFeGVjU3RhdGUqIGV4ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCA1NWNhMDA5Li5jZDY0
NmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01X
aW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTI5Nyw3ICsyOTcsNyBAQCBzdGF0aWMgYm9vbCBpc0xl
Z2FjeVRhcmdldE9yaWdpbkRlc2lnbmF0aW9uKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkK
IH0KIAogCi1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgYm9vbCBleHRlbmRlZFRyYW5zZmVyKQor
c3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgLy8gTm9uZSBvZiB0aGVzZSBuZWVkIHRv
IGJlIFJlZlB0ciBiZWNhdXNlIGFyZ3MgYW5kIGNvbnRleHQgYXJlIGd1YXJhbnRlZWQKICAgICAv
LyB0byBob2xkIG9uIHRvIHRoZW0uCkBAIC0zMzYsNyArMzM2LDcgQEAgc3RhdGljIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlID0KICAg
ICAgICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoYXJnc1swXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBvcnRBcnJheSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZXh0ZW5kZWRUcmFuc2ZlciA/ICZhcnJheUJ1ZmZlckFycmF5
IDogMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFycmF5QnVmZmVy
QXJyYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZFRocm93LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLkdldElzb2xhdGUoKSk7
CiAgICAgaWYgKGRpZFRocm93KQpAQCAtMzUwLDEzICszNTAsMTMgQEAgc3RhdGljIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9N
LkRPTVdpbmRvdy5wb3N0TWVzc2FnZSgpIik7Ci0gICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdl
Q2FsbGJhY2soYXJncywgZmFsc2UpOworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxi
YWNrKGFyZ3MpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XaW5kb3c6OndlYmtp
dFBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJ
TkNfU1RBVFMoIkRPTS5ET01XaW5kb3cud2Via2l0UG9zdE1lc3NhZ2UoKSIpOwotICAgIHJldHVy
biBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3MsIHRydWUpOworICAgIHJldHVybiBoYW5k
bGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3MpOwogfQogCiAvLyBGSVhNRShmcWlhbik6IHJldHVy
bmluZyBzdHJpbmcgaXMgY2hlYXRpbmcsIGFuZCB3ZSBzaG91bGQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29y
a2VyQ29udGV4dEN1c3RvbS5jcHAKaW5kZXggY2Y2N2ViYS4uNzZkMTZhNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4
dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVk
aWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKQEAgLTQzLDcgKzQzLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RN
ZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgYm9vbCBleHRlbmRlZFRy
YW5zZmVyKQorc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgRGVkaWNhdGVkV29ya2Vy
Q29udGV4dCogd29ya2VyQ29udGV4dCA9IFY4RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6dG9OYXRp
dmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0czsKQEAgLTU2LDcg
KzU2LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICBSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiBtZXNzYWdlID0KICAgICAgICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGUoYXJnc1swXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBvcnRz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbmRlZFRyYW5zZmVy
ID8gJmFycmF5QnVmZmVycyA6IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZhcnJheUJ1ZmZlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRpZFRocm93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLkdl
dElzb2xhdGUoKSk7CiAgICAgaWYgKGRpZFRocm93KQpAQCAtNjksMTMgKzY5LDEzIEBAIHN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7CiAgICAgSU5DX1NUQVRTKCJET00uRGVkaWNhdGVkV29ya2VyQ29udGV4dC5wb3N0TWVzc2Fn
ZSIpOwotICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3MsIGZhbHNlKTsK
KyAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKIH0KIAogdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3Nh
Z2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygi
RE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsKLSAgICByZXR1cm4gaGFu
ZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzLCB0cnVlKTsKKyAgICByZXR1cm4gaGFuZGxlUG9z
dE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBv
cnRDdXN0b20uY3BwCmluZGV4IGJkY2NhZmMuLjUyM2NiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAK
QEAgLTQyLDcgKzQyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncywgYm9vbCBleHRlbmRlZFRyYW5zZmVyKQorc3RhdGljIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCiB7CiAgICAgTWVzc2FnZVBvcnQqIG1lc3NhZ2VQb3J0ID0gVjhNZXNzYWdlUG9ydDo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0QXJyYXk7CkBA
IC01NSw3ICs1NSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9zdE1l
c3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAgUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSA9CiAgICAgICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKGFyZ3NbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZwb3J0QXJyYXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVu
ZGVkVHJhbnNmZXIgPyAmYXJyYXlCdWZmZXJBcnJheSA6IDAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZhcnJheUJ1ZmZlckFycmF5LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaWRUaHJvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChkaWRUaHJvdykKQEAgLTY4
LDEzICs2OCwxMyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNz
YWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncwogdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4TWVzc2FnZVBvcnQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5NZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSIp
OwotICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3MsIGZhbHNlKTsKKyAg
ICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKIH0KIAogdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4TWVzc2FnZVBvcnQ6OndlYmtpdFBvc3RNZXNzYWdlQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5NZXNzYWdlUG9y
dC53ZWJraXRQb3N0TWVzc2FnZSIpOwotICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxi
YWNrKGFyZ3MsIHRydWUpOworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFy
Z3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcAppbmRleCA2NTRiZjhhLi5m
NDRiZjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhX
b3JrZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdvcmtlckN1c3RvbS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncywgYm9vbCBleHRlbmRlZFRyYW5zZmVyKQorc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0
IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uV29ya2VyLnBvc3RN
ZXNzYWdlIik7CiAgICAgV29ya2VyKiB3b3JrZXIgPSBWOFdvcmtlcjo6dG9OYXRpdmUoYXJncy5I
b2xkZXIoKSk7CkBAIC02MSw3ICs2MSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAg
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSA9CiAgICAgICAgIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZwb3J0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXh0ZW5kZWRUcmFuc2ZlciA/ICZhcnJheUJ1ZmZlcnMgOiAwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmYXJyYXlCdWZmZXJzLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaWRUaHJvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYXJncy5HZXRJc29sYXRlKCkpOwogICAgIGlmIChkaWRUaHJvdykKQEAgLTc0
LDEzICs3NCwxMyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNz
YWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncwogdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4V29ya2VyOjpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uV29ya2VyLnBvc3RNZXNzYWdlIik7Ci0gICAgcmV0
dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncywgZmFsc2UpOworICAgIHJldHVybiBo
YW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3MpOwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhXb3JrZXI6OndlYmtpdFBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5Xb3JrZXIud2Via2l0UG9zdE1lc3NhZ2Ui
KTsKLSAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzLCB0cnVlKTsKKyAg
ICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKIH0KIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>