<?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>72041</bug_id>
          
          <creation_ts>2011-11-10 12:20:50 -0800</creation_ts>
          <short_desc>[chromium] Pipe compositor begin/end frame up to WebWidgetClient</short_desc>
          <delta_ts>2011-11-14 15:10:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jbauman</cc>
    
    <cc>klobag</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>500119</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-10 12:20:50 -0800</bug_when>
    <thetext>[chromium] Pipe compositor begin/end frame up to WebWidgetClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500131</commentid>
    <comment_count>1</comment_count>
      <attachid>114541</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-10 12:28:25 -0800</bug_when>
    <thetext>Created attachment 114541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500133</commentid>
    <comment_count>2</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-10 12:28:59 -0800</bug_when>
    <thetext>This corresponds to a Chromium change here: http://codereview.chromium.org/8528006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500136</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-10 12:30:30 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500139</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-10 12:32:58 -0800</bug_when>
    <thetext>There seem to be merge conflicts here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500154</commentid>
    <comment_count>5</comment_count>
      <attachid>114546</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-10 12:43:36 -0800</bug_when>
    <thetext>Created attachment 114546
Rebaselined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500213</commentid>
    <comment_count>6</comment_count>
      <attachid>114546</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-10 13:30:56 -0800</bug_when>
    <thetext>Comment on attachment 114546
Rebaselined

Looks good, need Darin to approve the WebWidgetClient changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500484</commentid>
    <comment_count>7</comment_count>
      <attachid>114546</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-10 20:08:51 -0800</bug_when>
    <thetext>Comment on attachment 114546
Rebaselined

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

&gt; Source/WebKit/chromium/public/WebWidgetClient.h:63
&gt; +    virtual void didBeginFrame() { }

the term &quot;Frame&quot; is a bit overloaded.  see WebFrame.  WebView extends from WebWidget.  WebView has a tree of frames.  See how this can get confusing?  Maybe we can try to stick to using terms involving variations of the word &quot;compositor&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500503</commentid>
    <comment_count>8</comment_count>
      <attachid>114546</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-11-10 21:21:39 -0800</bug_when>
    <thetext>Comment on attachment 114546
Rebaselined

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

(In reply to comment #7)
&gt; the term &quot;Frame&quot; is a bit overloaded.  see WebFrame.  WebView extends from WebWidget.  WebView has a tree of frames.  See how this can get confusing?  Maybe we can try to stick to using terms involving variations of the word &quot;compositor&quot;?

Can we do CompositorFrame? We&apos;re gonna kill ourselves if we try to not use the word frame, since that&apos;s the word we use in graphics... long term, maybe what we should do is remove all this stuff from the WebWidget API and instead have WebWidget have a WebLayerTreeView* accessor that gives access to WebViewImpl::m_layerTreeHost. That&apos;d avoid this better...

&gt; Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h:61
&gt; +    virtual void didFinishFrame() = 0;

Struggling with the renaming to didFinishFrame here (sorry to be &apos;that guy&apos;!). We have a finishAllRendering and this definitely isn&apos;t related to that. Also it should be clear what was done --- its not that the GPU has finished the work [e.g. swap-ack driven], just that its been submitted. That&apos;s why it was so pedantically named as it was before.

&gt; Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:307
&gt; +        m_layerTreeHost-&gt;didFinishFrame();

Ooh, does this mean that we can stop the WebGraphicsContext from calling didSwap/etc on the RenderView? That&apos;s causing me some headaches right now..

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:2783
&gt; +    m_client-&gt;didFinishFrame();

Do we need a null-check? I forget...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501081</commentid>
    <comment_count>9</comment_count>
      <attachid>114769</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-11 14:08:58 -0800</bug_when>
    <thetext>Created attachment 114769
Rename functions, pipe swapbuffers properly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501088</commentid>
    <comment_count>10</comment_count>
      <attachid>114769</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-11-11 14:13:16 -0800</bug_when>
    <thetext>Comment on attachment 114769
Rename functions, pipe swapbuffers properly

Awesome. Jamesr or darin for official ceremony.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501114</commentid>
    <comment_count>11</comment_count>
      <attachid>114769</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-11 14:37:50 -0800</bug_when>
    <thetext>Comment on attachment 114769
Rename functions, pipe swapbuffers properly

R=me on everything but WebWidgetClient.h, please wait for Darin on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501368</commentid>
    <comment_count>12</comment_count>
      <attachid>114769</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-11 22:42:11 -0800</bug_when>
    <thetext>Comment on attachment 114769
Rename functions, pipe swapbuffers properly

Attachment 114769 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10460592</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501458</commentid>
    <comment_count>13</comment_count>
      <attachid>114840</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-12 12:02:03 -0800</bug_when>
    <thetext>Created attachment 114840
Now with compiling tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502050</commentid>
    <comment_count>14</comment_count>
      <attachid>114840</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-14 10:18:46 -0800</bug_when>
    <thetext>Comment on attachment 114840
Now with compiling tests

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

&gt; Source/WebKit/chromium/public/WebWidgetClient.h:63
&gt; +    virtual void didCommitAndDrawCompositorFrame() { }

nit: please add some documentation explaining what these events are telling the embedder.

&gt; Source/WebKit/chromium/public/WebWidgetClient.h:64
&gt; +    virtual void didCompleteSwapbuffers() { }

nit: should it be SwapBuffers... with a capital B?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502167</commentid>
    <comment_count>15</comment_count>
      <attachid>114999</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-14 12:09:29 -0800</bug_when>
    <thetext>Created attachment 114999
Address nits</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502331</commentid>
    <comment_count>16</comment_count>
      <attachid>114999</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-14 14:46:21 -0800</bug_when>
    <thetext>Comment on attachment 114999
Address nits

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

&gt; Source/WebKit/chromium/public/WebWidgetClient.h:66
&gt; +    // Called for compositing mode when swapbuffers has been posted in the GPU

nit: insert new line above the start of a comment block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502336</commentid>
    <comment_count>17</comment_count>
      <attachid>114999</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-14 14:48:37 -0800</bug_when>
    <thetext>Comment on attachment 114999
Address nits

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502358</commentid>
    <comment_count>18</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-14 15:10:28 -0800</bug_when>
    <thetext>Committed r100199: &lt;http://trac.webkit.org/changeset/100199&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114541</attachid>
            <date>2011-11-10 12:28:25 -0800</date>
            <delta_ts>2011-11-10 12:43:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72041-20111110122824.patch</filename>
            <type>text/plain</type>
            <size>10684</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk3NjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNjJhMzk3ODY3Yzg4MmVi
YzhkYjY4NzQyMDE3Yjc4MzlkY2ZhZDlkLi4wODQ3ZDE5YzFhMzdkYjk4MTk0YTc4MjZiYmQyMjhl
MjlmNTQ3MzVlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTEtMTAgIEFkcmll
bm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFBpcGUg
Y29tcG9zaXRvciBiZWdpbi9lbmQgZnJhbWUgdXAgdG8gV2ViV2lkZ2V0Q2xpZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVyVHJlZUhvc3Q6OmRpZEJlZ2luRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRy
ZWVIb3N0OjpkaWRGaW5pc2hGcmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Np
bmdsZVRocmVhZFByb3h5Ojpjb21taXRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Np
bmdsZVRocmVhZFByb3h5Ojpkb0NvbXBvc2l0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Ro
cmVhZFByb3h5OjpiZWdpbkZyYW1lQW5kQ29tbWl0KToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhy
ZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFtZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgorCiAyMDExLTExLTA5ICBB
bGV4ZWkgU3ZpdGtpbmUgIDxhc3ZpdGtpbmVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENocm9t
aXVtOiBGaXggYmFkIHJ1YmJlci1iYW5kIG92ZXJoYW5nIHNoYWRvd3MgYmVpbmcgZHJhd24gaW4g
dGhlIHByZXNlbmNlIG9mIGN1c3RvbSBzY3JvbGxiYXIgY3NzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCA0ZjFmYTE1NDA1MzNiZTE0YTRmNmUzYTBkNzA2ZDFhYjk0Mjg0YTU0Li4yYjZm
OGMxZmM5MmUxNmYzMGNkNTY2NjU2ZTNmYmYxNDRlOTBmYjU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTExLTEwICBBZHJpZW5uZSBXYWxrZXIgIDxl
bm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBQaXBlIGNvbXBvc2l0b3IgYmVn
aW4vZW5kIGZyYW1lIHVwIHRvIFdlYldpZGdldENsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJXaWRnZXRDbGllbnQuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpkaWRCZWdpbkZyYW1lKToKKyAgICAgICAg
KFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpkaWRGaW5pc2hGcmFtZSk6CisgICAgICAgICogc3Jj
L1dlYkxheWVyVHJlZVZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVl
Vmlld0ltcGw6OmRpZEJlZ2luRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVW
aWV3SW1wbDo6ZGlkRmluaXNoRnJhbWUpOgorICAgICAgICAqIHNyYy9XZWJMYXllclRyZWVWaWV3
SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpkaWRCZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OmRpZEZpbmlzaEZyYW1lKToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKwogMjAx
MS0xMS0wOSAgSGVucmlrIEdydW5lbGwgIDxncnVuZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBBZGRpbmcgbWlzc2luZyBpbXBsZW1lbnRhdGlvbiBvZiBXZWJNZWRpYVN0cmVhbURlc2NyaXB0
b3I6OmxhYmVsKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDc1MDczMGRjZWJh
NzM2NDgzZWNjZDI4MDg4NDEwODcwNzMyYjE4Y2IuLmEwZmFjMmNmYWZkNzk5ZmQ2MDljZDVmZmQz
NGNlMmM1YzYzZjlmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCkBAIC01Nyw3ICs1
Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxEZWx0YShjb25zdCBJ
bnRTaXplJikgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4g
Y3JlYXRlTGF5ZXJUcmVlSG9zdENvbnRleHQzRCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjcmVhdGVHcmFwaGljc0NvbnRleHQoYm9vbCBzdWNjZXNzKSA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQmVnaW5GcmFtZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNo
RnJhbWUoKSA9IDA7CiAKICAgICAvLyBVc2VkIG9ubHkgaW4gdGhlIHNpbmdsZS10aHJlYWRlZCBw
YXRoLgogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpID0gMDsKQEAgLTExMyw3
ICsxMTQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENDTGF5ZXJUcmVlSG9z
dEltcGw+IGNyZWF0ZUxheWVyVHJlZUhvc3RJbXBsKENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQq
KTsKICAgICB2b2lkIGRpZEJlY29tZUludmlzaWJsZU9uSW1wbFRocmVhZChDQ0xheWVyVHJlZUhv
c3RJbXBsKik7CiAgICAgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChib29sIHN1Y2Nl
c3MpOwotICAgIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcikgeyBt
X2NsaWVudC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGZyYW1lTnVtYmVyKTsgfQorICAgIHZvaWQg
ZGlkQmVnaW5GcmFtZSgpIHsgbV9jbGllbnQtPmRpZEJlZ2luRnJhbWUoKTsgfQorICAgIHZvaWQg
ZGlkRmluaXNoRnJhbWUoKSB7IG1fY2xpZW50LT5kaWRGaW5pc2hGcmFtZSgpOyB9CiAgICAgdm9p
ZCBkZWxldGVDb250ZW50c1RleHR1cmVzT25JbXBsVGhyZWFkKFRleHR1cmVBbGxvY2F0b3IqKTsK
IAogICAgIC8vIENDTGF5ZXJUcmVlSG9zdCBpbnRlcmZhY2UgdG8gV2ViVmlldy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xl
VGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKaW5kZXggZWIxZGNkNGRkYjdlODhmYjk5MzZj
OWNkZmQ2OGI0ZDFmMzFkNzAyZi4uOGIyMTY5M2ExYmM0MTAxYmNlZTIyMzFkMTg0N2IwMzM1NWU3
YTM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKQEAgLTI3NCw2
ICsyNzQsNyBAQCB2b2lkIENDU2luZ2xlVGhyZWFkUHJveHk6OmNvbW1pdElmTmVlZGVkKCkKIHsK
ICAgICBBU1NFUlQoQ0NQcm94eTo6aXNNYWluVGhyZWFkKCkpOwogCisgICAgbV9sYXllclRyZWVI
b3N0LT5kaWRCZWdpbkZyYW1lKCk7CiAgICAgbV9sYXllclRyZWVIb3N0LT51cGRhdGVMYXllcnMo
KTsKIAogICAgIGRvQ29tbWl0KCk7CkBAIC0zMDMsNyArMzA0LDcgQEAgYm9vbCBDQ1NpbmdsZVRo
cmVhZFByb3h5Ojpkb0NvbXBvc2l0ZSgpCiAKICAgICBpZiAobV9uZXh0RnJhbWVJc05ld2x5Q29t
bWl0dGVkRnJhbWUpIHsKICAgICAgICAgbV9uZXh0RnJhbWVJc05ld2x5Q29tbWl0dGVkRnJhbWUg
PSBmYWxzZTsKLSAgICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRDb21taXRBbmREcmF3RnJhbWUo
bV9sYXllclRyZWVIb3N0SW1wbC0+c291cmNlRnJhbWVOdW1iZXIoKSk7CisgICAgICAgIG1fbGF5
ZXJUcmVlSG9zdC0+ZGlkRmluaXNoRnJhbWUoKTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKaW5kZXggZGUxOTVlZjIyNmUwMmQxNjhiMWY0NGQx
NDY0YTc0MmVhMjQ3Yjc5Ny4uMmRlOGZmM2YwYWU2YjExOTI1MGRjN2I4YTgxNDk3YjgzZTRjOGYw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKQEAgLTM1Miw2ICszNTIsOCBAQCB2b2lk
IENDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWVBbmRDb21taXQoaW50IHNlcXVlbmNlTnVtYmVyLCBk
b3VibGUgZnJhbWVCZWdpblRpbQogICAgIGlmICghbV9sYXllclRyZWVIb3N0KQogICAgICAgICBy
ZXR1cm47CiAKKyAgICBtX2xheWVyVHJlZUhvc3QtPmRpZEJlZ2luRnJhbWUoKTsKKwogICAgIC8v
IFNjcm9sbCBkZWx0YXMgbmVlZCB0byBiZSBhcHBsaWVkIGV2ZW4gaWYgdGhlIGNvbW1pdCB3aWxs
IGJlIGRyb3BwZWQuCiAgICAgbV9sYXllclRyZWVIb3N0LT5hcHBseVNjcm9sbERlbHRhcygqc2Ny
b2xsSW5mby5nZXQoKSk7CiAKQEAgLTQ4OSwxNiArNDkxLDE2IEBAIHZvaWQgQ0NUaHJlYWRQcm94
eTo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXAoKQogICAgIC8vIFRlbGwgdGhlIG1haW4gdGhy
ZWFkIHRoYXQgdGhlIHRoZSBuZXdseS1jb21taXRlZCBmcmFtZSB3YXMgZHJhd24uCiAgICAgaWYg
KG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lT25JbXBsVGhyZWFkKSB7CiAgICAgICAg
IG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lT25JbXBsVGhyZWFkID0gZmFsc2U7Ci0g
ICAgICAgIG1fbWFpblRocmVhZFByb3h5LT5wb3N0VGFzayhjcmVhdGVNYWluVGhyZWFkVGFzayh0
aGlzLCAmQ0NUaHJlYWRQcm94eTo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lLCBtX2xheWVyVHJlZUhv
c3RJbXBsLT5zb3VyY2VGcmFtZU51bWJlcigpKSk7CisgICAgICAgIG1fbWFpblRocmVhZFByb3h5
LT5wb3N0VGFzayhjcmVhdGVNYWluVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQcm94eTo6ZGlk
Q29tbWl0QW5kRHJhd0ZyYW1lKSk7CiAgICAgfQogfQogCi12b2lkIENDVGhyZWFkUHJveHk6OmRp
ZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpCit2b2lkIENDVGhyZWFkUHJveHk6
OmRpZENvbW1pdEFuZERyYXdGcmFtZSgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
ICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdCkKICAgICAgICAgcmV0dXJuOwotICAgIG1fbGF5ZXJU
cmVlSG9zdC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGZyYW1lTnVtYmVyKTsKKyAgICBtX2xheWVy
VHJlZUhvc3QtPmRpZEZpbmlzaEZyYW1lKCk7CiB9CiAKIHZvaWQgQ0NUaHJlYWRQcm94eTo6aW5p
dGlhbGl6ZUltcGxPbkltcGxUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQqIGNvbXBsZXRpb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1RocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5kZXggMTY3NmY4MzcwYmJlYzBmNDZkOTAxZDk0M2U3M2E1
Zjk3MTg5ZjBlMy4uYmJiNjE2NDQ5MmEzNDE4ODMxNmQ2ZTFiM2JkMGY1YjQ1OWZiNWQzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
aHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVGhyZWFkUHJveHkuaApAQCAtODIsNyArODIsNyBAQCBwcml2YXRlOgogCiAgICAg
Ly8gQ2FsbGVkIG9uIENDTWFpblRocmVhZAogICAgIHZvaWQgYmVnaW5GcmFtZUFuZENvbW1pdChp
bnQgc2VxdWVuY2VOdW1iZXIsIGRvdWJsZSBmcmFtZUJlZ2luVGltZSwgUGFzc093blB0cjxDQ1Nj
cm9sbFVwZGF0ZVNldD4pOwotICAgIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFt
ZU51bWJlcik7CisgICAgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoKTsKIAogICAgIC8vIENh
bGxlZCBvbiBDQ1RocmVhZAogICAgIHN0cnVjdCBSZWFkYmFja1JlcXVlc3QgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXRDbGllbnQuaAppbmRleCBmOTUwOTdj
YTU2YTg4MTc2MzdkYzA4MzExZDgyN2U5ZTg5MzQ5NzI3Li4xOGVhYmJmNWRlMDdmMmEwNTBmMjc1
MWVhMWExNzhhNmU1ZGUwZmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJXaWRnZXRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJXaWRnZXRDbGllbnQuaApAQCAtNjAsNiArNjAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGRpZEFjdGl2YXRlQ29tcG9zaXRvcihpbnQgY29tcG9zaXRvcklkZW50aWZpZXIpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBkaWREZWFjdGl2YXRlQ29tcG9zaXRvcigpIHsgfQogCisgICAg
dmlydHVhbCB2b2lkIGRpZEJlZ2luRnJhbWUoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmlu
aXNoRnJhbWUoKSB7IH0KKwogICAgIC8vIENhbGxlZCB3aGVuIGEgY2FsbCB0byBXZWJXaWRnZXQ6
OmNvbXBvc2l0ZSBpcyByZXF1aXJlZAogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0
ZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXll
clRyZWVWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRy
ZWVWaWV3SW1wbC5jcHAKaW5kZXggMmU2OWVjMzQ3Y2RkMGU1MDVhZTU1ZjJjNTBhY2FhYTk2ZDRk
YTFiZi4uNzFiM2IxNmRhMmI4OTliOTcyN2Y0OWM4ODFjN2MxZmU4OTJkMmYwMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmNwcApA
QCAtOTYsMTcgKzk2LDIwIEBAIFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IFdlYkxheWVy
VHJlZVZpZXdJbXBsOjpjcmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNECiAgICAgcmV0dXJuIEdy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0RnJvbVdlYkNvbnRl
eHQod2ViQ29udGV4dC5yZWxlYXNlKCksIGF0dHJpYnV0ZXMsIDAsIHN0eWxlLCB1c2FnZSk7CiB9
CiAKLXZvaWQgV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQg
ZnJhbWVOdW1iZXIpCi17Ci0gICAgLy8gRklYTUU6IHJvdXRlIHRoaXMgdXAgdG8gdGhlIFdlYkxh
eWVyVHJlZVZpZXcgY2xpZW50Ci19Ci0KIHZvaWQgV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZFJl
Y3JlYXRlR3JhcGhpY3NDb250ZXh0KGJvb2wgc3VjY2VzcykKIHsKICAgICBpZiAobV9jbGllbnQp
CiAgICAgICAgIG1fY2xpZW50LT5kaWRSZWJpbmRHcmFwaGljc0NvbnRleHQoc3VjY2Vzcyk7CiB9
CiAKK3ZvaWQgV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZEJlZ2luRnJhbWUoKQoreworfQorCit2
b2lkIFdlYkxheWVyVHJlZVZpZXdJbXBsOjpkaWRGaW5pc2hGcmFtZSgpCit7Cit9CisKIHZvaWQg
V2ViTGF5ZXJUcmVlVmlld0ltcGw6OnNjaGVkdWxlQ29tcG9zaXRlKCkKIHsKICAgICBpZiAobV9j
bGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRy
ZWVWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmll
d0ltcGwuaAppbmRleCAxYjEzYmYzNDU5MTMxODFiN2UwN2Q3ZDJiZTc4Njg4Y2Y5YzQ0M2JmLi40
ODYwMGEyNTdhNTJjZDJiMTNjZmIxYzg5YjNjNzk2ZTIyOTcwYmYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmgKQEAgLTQ0LDggKzQ0
LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUFuZExheW91dChkb3VibGUg
ZnJhbWVCZWdpblRpbWUpOwogICAgIHZpcnR1YWwgdm9pZCBhcHBseVNjcm9sbERlbHRhKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QoKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcik7CiAgICAgdmly
dHVhbCB2b2lkIGRpZFJlY3JlYXRlR3JhcGhpY3NDb250ZXh0KGJvb2wgc3VjY2Vzcyk7CisgICAg
dmlydHVhbCB2b2lkIGRpZEJlZ2luRnJhbWUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNo
RnJhbWUoKTsKIAogICAgIC8vIE9ubHkgdXNlZCBpbiB0aGUgc2luZ2xlIHRocmVhZGVkIHBhdGgu
CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggYzM2NDJjOTlkMzdkNTMzZTg5NTU0YTJh
OTFkNGIxZTNhOTE2NzY0ZC4uM2Q5ODM2ZGI1MTNjNmU2MjI4ZGRkMTVlZjZmYTRkMmRkMjAyYjk2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMjc0
MCw2ICsyNzQwLDE2IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNjaGVkdWxlQ29tcG9zaXRlKCkKICAg
ICBtX2NsaWVudC0+c2NoZWR1bGVDb21wb3NpdGUoKTsKIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6
ZGlkQmVnaW5GcmFtZSgpCit7CisgICAgbV9jbGllbnQtPmRpZEJlZ2luRnJhbWUoKTsKK30KKwor
dm9pZCBXZWJWaWV3SW1wbDo6ZGlkRmluaXNoRnJhbWUoKQoreworICAgIG1fY2xpZW50LT5kaWRG
aW5pc2hGcmFtZSgpOworfQorCiB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVMYXllclRyZWVWaWV3
cG9ydCgpCiB7CiAgICAgaWYgKCFwYWdlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAppbmRleCBjY2I4NDI4N2NhNzFiYmM0NjE4NjRmY2MxMThlMmE0M2E4Yzk1Nzhk
Li41MmUyMjkwODZjMmNmMTFiMDAwNWNmZjYxODhlZjczYjc2MjMzYzdiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTIyNSw2ICsyMjUsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIp
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChib29sIHN1Y2Nl
c3MpOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpOworICAgIHZpcnR1YWwg
dm9pZCBkaWRCZWdpbkZyYW1lKCk7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaEZyYW1lKCk7
CiAKICAgICAvLyBXZWJWaWV3SW1wbAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114546</attachid>
            <date>2011-11-10 12:43:36 -0800</date>
            <delta_ts>2011-11-11 14:08:55 -0800</delta_ts>
            <desc>Rebaselined</desc>
            <filename>bug-72041-20111110124335.patch</filename>
            <type>text/plain</type>
            <size>10750</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk4ODgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMjE5NjUzNTM0MzMwOTBk
ZGJhZWU2MTkyNDkwOWQ5NWY1ZmZhMjdlLi43ZTJjMjVhYjI4NjhhZDU5NzM4YWE4MzExNDNlMTUx
NTFmYWY2ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMTEtMTAgIEFkcmll
bm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFBpcGUg
Y29tcG9zaXRvciBiZWdpbi9lbmQgZnJhbWUgdXAgdG8gV2ViV2lkZ2V0Q2xpZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVyVHJlZUhvc3Q6OmRpZEJlZ2luRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRy
ZWVIb3N0OjpkaWRGaW5pc2hGcmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Np
bmdsZVRocmVhZFByb3h5Ojpjb21taXRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Np
bmdsZVRocmVhZFByb3h5Ojpkb0NvbXBvc2l0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Ro
cmVhZFByb3h5OjpiZWdpbkZyYW1lQW5kQ29tbWl0KToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhy
ZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwKToKKyAgICAgICAgKFdlYkNvcmU6
OkNDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFtZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgorCiAyMDExLTExLTEwICBY
aWFvbWVpIEppICA8eGppQGNocm9taXVtLm9yZz4KIAogICAgICAgICAtLXdlYmtpdC12aXN1YWwt
d29yZCBjcmFzaCB3aGVuIGNyZWF0ZSBsZWdhY3kgcG9zaXRpb24gZm9yIHNoYWRvd1Jvb3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZDFlOGVkOTVkYmZlNTRjM2FhZmVmMmY4NjUyNTJk
MzQ1YjM1MjkxYS4uNmJjYjMzOTgyOGFkN2JlYzViZGJmZmI1NDVmYTljZTQ4NzgzNzY0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0xMS0xMCAgQWRy
aWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUGlw
ZSBjb21wb3NpdG9yIGJlZ2luL2VuZCBmcmFtZSB1cCB0byBXZWJXaWRnZXRDbGllbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDQxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViV2lk
Z2V0Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYldpZGdldENsaWVudDo6ZGlkQmVnaW5G
cmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYldpZGdldENsaWVudDo6ZGlkRmluaXNoRnJhbWUp
OgorICAgICAgICAqIHNyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkxheWVyVHJlZVZpZXdJbXBsOjpkaWRCZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYktp
dDo6V2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZEZpbmlzaEZyYW1lKToKKyAgICAgICAgKiBzcmMv
V2ViTGF5ZXJUcmVlVmlld0ltcGwuaDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZGlkQmVnaW5GcmFtZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpkaWRGaW5pc2hGcmFtZSk6CisgICAgICAgICogc3JjL1dlYlZp
ZXdJbXBsLmg6CisKIDIwMTEtMTEtMTAgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gIFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVyVHJlZUhvc3QuaAppbmRleCA2ZDQ1Yzg1NTliNjg4YTU1OGM0ZjcyMGUxYjhkNThhZDY5ZTc2
NDFiLi5mMzdiYTBiNmY1ZmNjYTYwZDJiMDEzZTY1NmE4MjlhMWE5M2IyOWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJl
ZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3QuaApAQCAtNTcsNyArNTcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGFwcGx5U2Nyb2xsQW5kU2NhbGUoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGZs
b2F0IHBhZ2VTY2FsZSkgPSAwOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRl
eHQzRD4gY3JlYXRlTGF5ZXJUcmVlSG9zdENvbnRleHQzRCgpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjcmVhdGVHcmFwaGljc0NvbnRleHQoYm9vbCBzdWNjZXNzKSA9IDA7Ci0gICAgdmly
dHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkQmVnaW5GcmFtZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
RmluaXNoRnJhbWUoKSA9IDA7CiAKICAgICAvLyBVc2VkIG9ubHkgaW4gdGhlIHNpbmdsZS10aHJl
YWRlZCBwYXRoLgogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpID0gMDsKQEAg
LTExMyw3ICsxMTQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENDTGF5ZXJU
cmVlSG9zdEltcGw+IGNyZWF0ZUxheWVyVHJlZUhvc3RJbXBsKENDTGF5ZXJUcmVlSG9zdEltcGxD
bGllbnQqKTsKICAgICB2b2lkIGRpZEJlY29tZUludmlzaWJsZU9uSW1wbFRocmVhZChDQ0xheWVy
VHJlZUhvc3RJbXBsKik7CiAgICAgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChib29s
IHN1Y2Nlc3MpOwotICAgIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJl
cikgeyBtX2NsaWVudC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGZyYW1lTnVtYmVyKTsgfQorICAg
IHZvaWQgZGlkQmVnaW5GcmFtZSgpIHsgbV9jbGllbnQtPmRpZEJlZ2luRnJhbWUoKTsgfQorICAg
IHZvaWQgZGlkRmluaXNoRnJhbWUoKSB7IG1fY2xpZW50LT5kaWRGaW5pc2hGcmFtZSgpOyB9CiAg
ICAgdm9pZCBkZWxldGVDb250ZW50c1RleHR1cmVzT25JbXBsVGhyZWFkKFRleHR1cmVBbGxvY2F0
b3IqKTsKIAogICAgIC8vIENDTGF5ZXJUcmVlSG9zdCBpbnRlcmZhY2UgdG8gV2ViVmlldy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
U2luZ2xlVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKaW5kZXggNjI5MWRiNTdhMTFhMzU0
YmIwNWNlZDcyYWQyZTFhMWVjNzM3ODUwYi4uYzJmYTViY2E5NThhYTMyOWIxOWMzOTYxMWUzZGNm
MDg3NzM3ZmY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAKQEAg
LTI3NCw2ICsyNzQsNyBAQCB2b2lkIENDU2luZ2xlVGhyZWFkUHJveHk6OmNvbW1pdElmTmVlZGVk
KCkKIHsKICAgICBBU1NFUlQoQ0NQcm94eTo6aXNNYWluVGhyZWFkKCkpOwogCisgICAgbV9sYXll
clRyZWVIb3N0LT5kaWRCZWdpbkZyYW1lKCk7CiAgICAgbV9sYXllclRyZWVIb3N0LT51cGRhdGVM
YXllcnMoKTsKIAogICAgIGRvQ29tbWl0KCk7CkBAIC0zMDMsNyArMzA0LDcgQEAgYm9vbCBDQ1Np
bmdsZVRocmVhZFByb3h5Ojpkb0NvbXBvc2l0ZSgpCiAKICAgICBpZiAobV9uZXh0RnJhbWVJc05l
d2x5Q29tbWl0dGVkRnJhbWUpIHsKICAgICAgICAgbV9uZXh0RnJhbWVJc05ld2x5Q29tbWl0dGVk
RnJhbWUgPSBmYWxzZTsKLSAgICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRDb21taXRBbmREcmF3
RnJhbWUobV9sYXllclRyZWVIb3N0SW1wbC0+c291cmNlRnJhbWVOdW1iZXIoKSk7CisgICAgICAg
IG1fbGF5ZXJUcmVlSG9zdC0+ZGlkRmluaXNoRnJhbWUoKTsKICAgICB9CiAKICAgICByZXR1cm4g
dHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKaW5kZXggMDYzZDBhZWFkMTFmMWVkMzAz
NjA0ZTAzNDkyMGE4MTUwNmY5N2ZiYS4uMTMyMmY2ZmVjZTM2YzVkNWZiZTVmNzE5YzA2NmYyZDY4
NDBhNzM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKQEAgLTM1Myw2ICszNTMsOCBA
QCB2b2lkIENDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWVBbmRDb21taXQoaW50IHNlcXVlbmNlTnVt
YmVyLCBkb3VibGUgZnJhbWVCZWdpblRpbQogICAgIGlmICghbV9sYXllclRyZWVIb3N0KQogICAg
ICAgICByZXR1cm47CiAKKyAgICBtX2xheWVyVHJlZUhvc3QtPmRpZEJlZ2luRnJhbWUoKTsKKwog
ICAgIC8vIFNjcm9sbCBkZWx0YXMgbmVlZCB0byBiZSBhcHBsaWVkIGV2ZW4gaWYgdGhlIGNvbW1p
dCB3aWxsIGJlIGRyb3BwZWQuCiAgICAgQ0NMYXllclRyZWVIb3N0Q29tbW9uOjphcHBseVNjcm9s
bEFuZFNjYWxlKG1fbGF5ZXJUcmVlSG9zdC0+cm9vdExheWVyKCksICpzY3JvbGxJbmZvKTsKIApA
QCAtNDkxLDE2ICs0OTMsMTYgQEAgdm9pZCBDQ1RocmVhZFByb3h5OjpzY2hlZHVsZWRBY3Rpb25E
cmF3QW5kU3dhcCgpCiAgICAgLy8gVGVsbCB0aGUgbWFpbiB0aHJlYWQgdGhhdCB0aGUgdGhlIG5l
d2x5LWNvbW1pdGVkIGZyYW1lIHdhcyBkcmF3bi4KICAgICBpZiAobV9uZXh0RnJhbWVJc05ld2x5
Q29tbWl0dGVkRnJhbWVPbkltcGxUaHJlYWQpIHsKICAgICAgICAgbV9uZXh0RnJhbWVJc05ld2x5
Q29tbWl0dGVkRnJhbWVPbkltcGxUaHJlYWQgPSBmYWxzZTsKLSAgICAgICAgbV9tYWluVGhyZWFk
UHJveHktPnBvc3RUYXNrKGNyZWF0ZU1haW5UaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFByb3h5
OjpkaWRDb21taXRBbmREcmF3RnJhbWUsIG1fbGF5ZXJUcmVlSG9zdEltcGwtPnNvdXJjZUZyYW1l
TnVtYmVyKCkpKTsKKyAgICAgICAgbV9tYWluVGhyZWFkUHJveHktPnBvc3RUYXNrKGNyZWF0ZU1h
aW5UaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFByb3h5OjpkaWRDb21taXRBbmREcmF3RnJhbWUp
KTsKICAgICB9CiB9CiAKLXZvaWQgQ0NUaHJlYWRQcm94eTo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1l
KGludCBmcmFtZU51bWJlcikKK3ZvaWQgQ0NUaHJlYWRQcm94eTo6ZGlkQ29tbWl0QW5kRHJhd0Zy
YW1lKCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGlmICghbV9sYXllclRy
ZWVIb3N0KQogICAgICAgICByZXR1cm47Ci0gICAgbV9sYXllclRyZWVIb3N0LT5kaWRDb21taXRB
bmREcmF3RnJhbWUoZnJhbWVOdW1iZXIpOworICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkRmluaXNo
RnJhbWUoKTsKIH0KIAogdm9pZCBDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplSW1wbE9uSW1wbFRo
cmVhZChDQ0NvbXBsZXRpb25FdmVudCogY29tcGxldGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHku
aAppbmRleCAwNDVkYTc0NjgwNjU3OTMwOGUxNmZkYmVjZjEwMmRlZTc4OTI5OTkzLi43OTQ3NGI4
ZmZmYWQ4NGJiODczY2EwNDNhMzdlYzZlZWJmNTNiNDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94
eS5oCkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBDYWxsZWQgb24gQ0NNYWlu
VGhyZWFkCiAgICAgdm9pZCBiZWdpbkZyYW1lQW5kQ29tbWl0KGludCBzZXF1ZW5jZU51bWJlciwg
ZG91YmxlIGZyYW1lQmVnaW5UaW1lLCBQYXNzT3duUHRyPENDU2Nyb2xsQW5kU2NhbGVTZXQ+KTsK
LSAgICB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpOworICAgIHZv
aWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCk7CiAKICAgICAvLyBDYWxsZWQgb24gQ0NUaHJlYWQK
ICAgICBzdHJ1Y3QgUmVhZGJhY2tSZXF1ZXN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYldpZGdldENsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50LmgKaW5kZXggZjk1MDk3Y2E1NmE4ODE3NjM3ZGMwODMx
MWQ4MjdlOWU4OTM0OTcyNy4uMThlYWJiZjVkZTA3ZjJhMDUwZjI3NTFlYTFhMTc4YTZlNWRlMGZl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0Q2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50
LmgKQEAgLTYwLDYgKzYwLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRBY3RpdmF0
ZUNvbXBvc2l0b3IoaW50IGNvbXBvc2l0b3JJZGVudGlmaWVyKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgZGlkRGVhY3RpdmF0ZUNvbXBvc2l0b3IoKSB7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBkaWRC
ZWdpbkZyYW1lKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaEZyYW1lKCkgeyB9CisK
ICAgICAvLyBDYWxsZWQgd2hlbiBhIGNhbGwgdG8gV2ViV2lkZ2V0Ojpjb21wb3NpdGUgaXMgcmVx
dWlyZWQKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGUoKSB7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwCmlu
ZGV4IGRkYmUwNjQzMWM2NTdlZDM3MzRjNTQxOGZiNzA0ZWFiZjQ0Y2IyMDAuLjMzMGMwYTg0YTUx
NWI2MTVjNmQ4NmJhNWFkZjMzNjNjYWMzZWQzMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5jcHAKQEAgLTk2LDE3ICs5NiwyMCBA
QCBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBXZWJMYXllclRyZWVWaWV3SW1wbDo6Y3Jl
YXRlTGF5ZXJUcmVlSG9zdENvbnRleHQzRAogICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRFBy
aXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KHdlYkNvbnRleHQucmVs
ZWFzZSgpLCBhdHRyaWJ1dGVzLCAwLCBzdHlsZSwgdXNhZ2UpOwogfQogCi12b2lkIFdlYkxheWVy
VHJlZVZpZXdJbXBsOjpkaWRDb21taXRBbmREcmF3RnJhbWUoaW50IGZyYW1lTnVtYmVyKQotewot
ICAgIC8vIEZJWE1FOiByb3V0ZSB0aGlzIHVwIHRvIHRoZSBXZWJMYXllclRyZWVWaWV3IGNsaWVu
dAotfQotCiB2b2lkIFdlYkxheWVyVHJlZVZpZXdJbXBsOjpkaWRSZWNyZWF0ZUdyYXBoaWNzQ29u
dGV4dChib29sIHN1Y2Nlc3MpCiB7CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVu
dC0+ZGlkUmViaW5kR3JhcGhpY3NDb250ZXh0KHN1Y2Nlc3MpOwogfQogCit2b2lkIFdlYkxheWVy
VHJlZVZpZXdJbXBsOjpkaWRCZWdpbkZyYW1lKCkKK3sKK30KKwordm9pZCBXZWJMYXllclRyZWVW
aWV3SW1wbDo6ZGlkRmluaXNoRnJhbWUoKQoreworfQorCiB2b2lkIFdlYkxheWVyVHJlZVZpZXdJ
bXBsOjpzY2hlZHVsZUNvbXBvc2l0ZSgpCiB7CiAgICAgaWYgKG1fY2xpZW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmgKaW5kZXggZDZk
ZDZlMzMyODcyYzdjOWFjMGRkMGJkYzY4MWY2ZjkwZjRmNTNlOS4uNWVkNDViY2ZhMTU4ZDRhM2E1
MDkxNTA0ZGQzNmFhZjRkODYwNWE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5oCkBAIC00NCw4ICs0NCw5IEBAIHByaXZhdGU6CiAg
ICAgdmlydHVhbCB2b2lkIGFuaW1hdGVBbmRMYXlvdXQoZG91YmxlIGZyYW1lQmVnaW5UaW1lKTsK
ICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxBbmRTY2FsZShjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgcGFnZVNjYWxlKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0
M0QoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51
bWJlcik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY3JlYXRlR3JhcGhpY3NDb250ZXh0KGJvb2wg
c3VjY2Vzcyk7CisgICAgdmlydHVhbCB2b2lkIGRpZEJlZ2luRnJhbWUoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkRmluaXNoRnJhbWUoKTsKIAogICAgIC8vIE9ubHkgdXNlZCBpbiB0aGUgc2luZ2xl
IHRocmVhZGVkIHBhdGguCiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggZmVkZDZmMDg0
OTg3NmNmMDIyZDFkZDRiMmJkNTUzOGJmZDQwNjIyZS4uYzZlNWU2NDYxMTNlNjk2NjgzM2E1Zjc1
NmYyMGExN2RjMzg5ZDg4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcApAQCAtMjc3Myw2ICsyNzczLDE2IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNjaGVkdWxl
Q29tcG9zaXRlKCkKICAgICBtX2NsaWVudC0+c2NoZWR1bGVDb21wb3NpdGUoKTsKIH0KIAordm9p
ZCBXZWJWaWV3SW1wbDo6ZGlkQmVnaW5GcmFtZSgpCit7CisgICAgbV9jbGllbnQtPmRpZEJlZ2lu
RnJhbWUoKTsKK30KKwordm9pZCBXZWJWaWV3SW1wbDo6ZGlkRmluaXNoRnJhbWUoKQoreworICAg
IG1fY2xpZW50LT5kaWRGaW5pc2hGcmFtZSgpOworfQorCiB2b2lkIFdlYlZpZXdJbXBsOjp1cGRh
dGVMYXllclRyZWVWaWV3cG9ydCgpCiB7CiAgICAgaWYgKCFwYWdlKCkgfHwgIW1fbm9uQ29tcG9z
aXRlZENvbnRlbnRIb3N0IHx8ICFtX2xheWVyVHJlZUhvc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuaAppbmRleCA5YTAxOTkyNGE5ZjBkMmQ4NzcyNzc4YTU2N2VkM2M2
NDBmOWEwOGQzLi43MjEwNWQyYjk4YTUwNjhjNzU1MGViYzFiYzRhNzEzYzY0MjQ0ZDgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTIyNiw2ICsyMjYsOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJh
bWVOdW1iZXIpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChi
b29sIHN1Y2Nlc3MpOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpOworICAg
IHZpcnR1YWwgdm9pZCBkaWRCZWdpbkZyYW1lKCk7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlz
aEZyYW1lKCk7CiAKICAgICAvLyBXZWJWaWV3SW1wbAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114769</attachid>
            <date>2011-11-11 14:08:58 -0800</date>
            <delta_ts>2011-11-12 12:01:59 -0800</delta_ts>
            <desc>Rename functions, pipe swapbuffers properly</desc>
            <filename>bug-72041-20111111140857.patch</filename>
            <type>text/plain</type>
            <size>11123</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZlNDQ4ZTNjZDRjMzIw
NmYxOGRkMzczNGI0NjUzMWVjMGE0ODdhNy4uYzkwZDkyODRlMjUyNzhlYzNlZjFhODkwMmJiNzdm
YTY2N2VhNGFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTExLTExICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBQaXBl
IGNvbXBvc2l0b3IgY29tbWl0L3N3YXAgdXAgdG8gV2ViV2lkZ2V0Q2xpZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
VHJlZUhvc3Q6OmRpZENvbW1pdEFuZERyYXdGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVyVHJlZUhvc3Q6OmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6b25Td2FwQnVmZmVyc0NvbXBsZXRlT25JbXBsVGhyZWFk
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdB
bmRTd2FwKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERy
YXdGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpkaWRDb21wbGV0ZVN3
YXBidWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Ro
cmVhZFByb3h5Lmg6CisKIDIwMTEtMTEtMTEgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJn
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQganNDYXN0IHRvIHJlcGxhY2Ugc3RhdGljX2Nhc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTIxMWMxNDA4YTE0ZWU3OWM3MDY1Yjc0YzM2
ZjdmM2VmMzMwMTNmOC4uMWZmYTFmYTMwYzBkZDMyN2JiMTlmYThmZWE4ODVmMDJmODhjYmNjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0xMS0xMSAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
UGlwZSBjb21wb3NpdG9yIGNvbW1pdC9zd2FwIHVwIHRvIFdlYldpZGdldENsaWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJXaWRn
ZXRDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpkaWRDb21taXRB
bmREcmF3Q29tcG9zaXRvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50
OjpkaWRDb21wbGV0ZVN3YXBidWZmZXJzKToKKyAgICAgICAgKiBzcmMvV2ViTGF5ZXJUcmVlVmll
d0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVWaWV3SW1wbDo6ZGlkQ29t
bWl0QW5kRHJhd0ZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlld0ltcGw6
OmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMpOgorICAgICAgICAqIHNyYy9XZWJMYXllclRyZWVWaWV3
SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpkaWRDb21taXRBbmREcmF3RnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6ZGlkQ29tcGxldGVTd2FwYnVmZmVycyk6CisgICAgICAgICogc3JjL1dlYlZp
ZXdJbXBsLmg6CisKIDIwMTEtMTEtMTEgIE9qYW4gVmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdC5oCmluZGV4IDZkNDVjODU1OWI2ODhhNTU4YzRmNzIwZTFiOGQ1OGFkNjllNzY0MWIuLjU5
ZTRhNDg3OGE2MzViMjhlODFjYzA3ODUwYjA3OGFmM2NmYzk3MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJUcmVlSG9zdC5oCkBAIC01Nyw3ICs1Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
YXBwbHlTY3JvbGxBbmRTY2FsZShjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgcGFn
ZVNjYWxlKSA9IDA7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBj
cmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNEKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChib29sIHN1Y2Nlc3MpID0gMDsKLSAgICB2aXJ0dWFsIHZv
aWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRp
ZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKSA9IDA7CiAKICAgICAvLyBVc2VkIG9ubHkgaW4gdGhlIHNp
bmdsZS10aHJlYWRlZCBwYXRoLgogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgp
ID0gMDsKQEAgLTExMyw3ICsxMTQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRy
PENDTGF5ZXJUcmVlSG9zdEltcGw+IGNyZWF0ZUxheWVyVHJlZUhvc3RJbXBsKENDTGF5ZXJUcmVl
SG9zdEltcGxDbGllbnQqKTsKICAgICB2b2lkIGRpZEJlY29tZUludmlzaWJsZU9uSW1wbFRocmVh
ZChDQ0xheWVyVHJlZUhvc3RJbXBsKik7CiAgICAgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29u
dGV4dChib29sIHN1Y2Nlc3MpOwotICAgIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBm
cmFtZU51bWJlcikgeyBtX2NsaWVudC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGZyYW1lTnVtYmVy
KTsgfQorICAgIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCkgeyBtX2NsaWVudC0+ZGlkQ29t
bWl0QW5kRHJhd0ZyYW1lKCk7IH0KKyAgICB2b2lkIGRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKSB7
IG1fY2xpZW50LT5kaWRDb21wbGV0ZVN3YXBidWZmZXJzKCk7IH0KICAgICB2b2lkIGRlbGV0ZUNv
bnRlbnRzVGV4dHVyZXNPbkltcGxUaHJlYWQoVGV4dHVyZUFsbG9jYXRvciopOwogCiAgICAgLy8g
Q0NMYXllclRyZWVIb3N0IGludGVyZmFjZSB0byBXZWJWaWV3LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Np
bmdsZVRocmVhZFByb3h5LmNwcAppbmRleCA2MjkxZGI1N2ExMWEzNTRiYjA1Y2VkNzJhZDJlMWEx
ZWM3Mzc4NTBiLi5jMTYwZTE5OGI0Yjk0NDY3M2RhYzAxNDVkYzExMWM0NWJjNjhjZDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Np
bmdsZVRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcApAQCAtMzAzLDcgKzMwMyw3IEBA
IGJvb2wgQ0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUoKQogCiAgICAgaWYgKG1fbmV4
dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lKSB7CiAgICAgICAgIG1fbmV4dEZyYW1lSXNOZXds
eUNvbW1pdHRlZEZyYW1lID0gZmFsc2U7Ci0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkQ29t
bWl0QW5kRHJhd0ZyYW1lKG1fbGF5ZXJUcmVlSG9zdEltcGwtPnNvdXJjZUZyYW1lTnVtYmVyKCkp
OworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmRpZENvbW1pdEFuZERyYXdGcmFtZSgpOwogICAg
IH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAppbmRleCBh
OTk0Y2ZmNzU5MDBjNjlhOWMwODM0NzY0YWE4M2U4ZDUwNGU0ZjEyLi4zYjAzODU1Zjg5MmMzNDMx
MDEwYjNlNGFiMjYyMjg5YmY0NDllNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcApA
QCAtMjMwLDYgKzIzMCw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6b25Td2FwQnVmZmVyc0NvbXBs
ZXRlT25JbXBsVGhyZWFkKCkKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIFRSQUNF
X0VWRU5UKCJDQ1RocmVhZFByb3h5OjpvblN3YXBCdWZmZXJzQ29tcGxldGVPbkltcGxUaHJlYWQi
LCB0aGlzLCAwKTsKICAgICBtX3NjaGVkdWxlck9uSW1wbFRocmVhZC0+ZGlkU3dhcEJ1ZmZlcnND
b21wbGV0ZSgpOworICAgIG1fbWFpblRocmVhZFByb3h5LT5wb3N0VGFzayhjcmVhdGVNYWluVGhy
ZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQcm94eTo6ZGlkQ29tcGxldGVTd2FwYnVmZmVycykpOwog
fQogCiB2b2lkIENDVGhyZWFkUHJveHk6OnNldE5lZWRzQ29tbWl0T25JbXBsVGhyZWFkKCkKQEAg
LTQ5MSwxNiArNDkyLDI0IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uRHJh
d0FuZFN3YXAoKQogICAgIC8vIFRlbGwgdGhlIG1haW4gdGhyZWFkIHRoYXQgdGhlIHRoZSBuZXds
eS1jb21taXRlZCBmcmFtZSB3YXMgZHJhd24uCiAgICAgaWYgKG1fbmV4dEZyYW1lSXNOZXdseUNv
bW1pdHRlZEZyYW1lT25JbXBsVGhyZWFkKSB7CiAgICAgICAgIG1fbmV4dEZyYW1lSXNOZXdseUNv
bW1pdHRlZEZyYW1lT25JbXBsVGhyZWFkID0gZmFsc2U7Ci0gICAgICAgIG1fbWFpblRocmVhZFBy
b3h5LT5wb3N0VGFzayhjcmVhdGVNYWluVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQcm94eTo6
ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lLCBtX2xheWVyVHJlZUhvc3RJbXBsLT5zb3VyY2VGcmFtZU51
bWJlcigpKSk7CisgICAgICAgIG1fbWFpblRocmVhZFByb3h5LT5wb3N0VGFzayhjcmVhdGVNYWlu
VGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQcm94eTo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKSk7
CiAgICAgfQogfQogCi12b2lkIENDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFtZShp
bnQgZnJhbWVOdW1iZXIpCit2b2lkIENDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFt
ZSgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBpZiAoIW1fbGF5ZXJUcmVl
SG9zdCkKICAgICAgICAgcmV0dXJuOwotICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkQ29tbWl0QW5k
RHJhd0ZyYW1lKGZyYW1lTnVtYmVyKTsKKyAgICBtX2xheWVyVHJlZUhvc3QtPmRpZENvbW1pdEFu
ZERyYXdGcmFtZSgpOworfQorCit2b2lkIENDVGhyZWFkUHJveHk6OmRpZENvbXBsZXRlU3dhcGJ1
ZmZlcnMoKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgaWYgKCFtX2xheWVy
VHJlZUhvc3QpCisgICAgICAgIHJldHVybjsKKyAgICBtX2xheWVyVHJlZUhvc3QtPmRpZENvbXBs
ZXRlU3dhcGJ1ZmZlcnMoKTsKIH0KIAogdm9pZCBDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplSW1w
bE9uSW1wbFRocmVhZChDQ0NvbXBsZXRpb25FdmVudCogY29tcGxldGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJv
eHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhy
ZWFkUHJveHkuaAppbmRleCAwNDVkYTc0NjgwNjU3OTMwOGUxNmZkYmVjZjEwMmRlZTc4OTI5OTkz
Li5iNjljNjgzNGY1MThhODAxNTYxYjIxNDZmNjQxYzNiNWQ4ZDFiZDMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
aHJlYWRQcm94eS5oCkBAIC04Miw3ICs4Miw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBDYWxsZWQg
b24gQ0NNYWluVGhyZWFkCiAgICAgdm9pZCBiZWdpbkZyYW1lQW5kQ29tbWl0KGludCBzZXF1ZW5j
ZU51bWJlciwgZG91YmxlIGZyYW1lQmVnaW5UaW1lLCBQYXNzT3duUHRyPENDU2Nyb2xsQW5kU2Nh
bGVTZXQ+KTsKLSAgICB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIp
OworICAgIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCk7CisgICAgdm9pZCBkaWRDb21wbGV0
ZVN3YXBidWZmZXJzKCk7CiAKICAgICAvLyBDYWxsZWQgb24gQ0NUaHJlYWQKICAgICBzdHJ1Y3Qg
UmVhZGJhY2tSZXF1ZXN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYldpZGdldENsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
V2lkZ2V0Q2xpZW50LmgKaW5kZXggZjk1MDk3Y2E1NmE4ODE3NjM3ZGMwODMxMWQ4MjdlOWU4OTM0
OTcyNy4uYzRlZjNjODI4MDRjOGQ0OWIxMDA0NDEzYTEwMWM5YjVjYzVlOTU1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50LmgKQEAgLTYwLDYg
KzYwLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRBY3RpdmF0ZUNvbXBvc2l0b3Io
aW50IGNvbXBvc2l0b3JJZGVudGlmaWVyKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGVhY3Rp
dmF0ZUNvbXBvc2l0b3IoKSB7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmREcmF3
Q29tcG9zaXRvckZyYW1lKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlU3dhcGJ1
ZmZlcnMoKSB7IH0KKwogICAgIC8vIENhbGxlZCB3aGVuIGEgY2FsbCB0byBXZWJXaWRnZXQ6OmNv
bXBvc2l0ZSBpcyByZXF1aXJlZAogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgp
IHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRy
ZWVWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVW
aWV3SW1wbC5jcHAKaW5kZXggZGRiZTA2NDMxYzY1N2VkMzczNGM1NDE4ZmI3MDRlYWJmNDRjYjIw
MC4uNjAyZDU3ZjJkNDk4MGEwYmFmYjFmN2Y5YmIyMWI5OWFlMTk2YTY3NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmNwcApAQCAt
OTYsNyArOTYsMTIgQEAgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gV2ViTGF5ZXJUcmVl
Vmlld0ltcGw6OmNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QKICAgICByZXR1cm4gR3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2ViQ29udGV4dCh3
ZWJDb250ZXh0LnJlbGVhc2UoKSwgYXR0cmlidXRlcywgMCwgc3R5bGUsIHVzYWdlKTsKIH0KIAot
dm9pZCBXZWJMYXllclRyZWVWaWV3SW1wbDo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFt
ZU51bWJlcikKK3ZvaWQgV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZENvbW1pdEFuZERyYXdGcmFt
ZSgpCit7CisgICAgLy8gRklYTUU6IHJvdXRlIHRoaXMgdXAgdG8gdGhlIFdlYkxheWVyVHJlZVZp
ZXcgY2xpZW50Cit9CisKK3ZvaWQgV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZENvbXBsZXRlU3dh
cGJ1ZmZlcnMoKQogewogICAgIC8vIEZJWE1FOiByb3V0ZSB0aGlzIHVwIHRvIHRoZSBXZWJMYXll
clRyZWVWaWV3IGNsaWVudAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkxheWVyVHJlZVZpZXdJbXBsLmgKaW5kZXggZDZkZDZlMzMyODcyYzdjOWFjMGRkMGJkYzY4MWY2
ZjkwZjRmNTNlOS4uODY1NWYxYzkyMzQwMTZkM2Q1ZTg3M2FhZmJiNzBmNGY4ZjBlOGY4MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5o
CkBAIC00NCw4ICs0NCw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGVBbmRM
YXlvdXQoZG91YmxlIGZyYW1lQmVnaW5UaW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3Jv
bGxBbmRTY2FsZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgcGFn
ZVNjYWxlKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0Q+IGNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
Q29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcik7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY3JlYXRlR3JhcGhpY3NDb250ZXh0KGJvb2wgc3VjY2Vzcyk7CisgICAgdmlydHVhbCB2b2lk
IGRpZENvbW1pdEFuZERyYXdGcmFtZSgpOworICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZVN3
YXBidWZmZXJzKCk7CiAKICAgICAvLyBPbmx5IHVzZWQgaW4gdGhlIHNpbmdsZSB0aHJlYWRlZCBw
YXRoLgogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGZlZGQ2ZjA4NDk4NzZjZjAyMmQx
ZGQ0YjJiZDU1MzhiZmQ0MDYyMmUuLmM2YTgwYWIzMGE2MTM0NDk3ODI2YjM5NjQ5MDAzZjA2YmJi
YmFjYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAg
LTI3NDMsOSArMjc0MywxNCBAQCB2b2lkIFdlYlZpZXdJbXBsOjphcHBseVNjcm9sbEFuZFNjYWxl
KGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBmbG9hdCBzY2FsZUZhYwogICAgIH0KIH0KIAot
dm9pZCBXZWJWaWV3SW1wbDo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcikK
K3ZvaWQgV2ViVmlld0ltcGw6OmRpZENvbW1pdEFuZERyYXdGcmFtZSgpCiB7Ci0gICAgLy8gRklY
TUU6IHJvdXRlIHRoaXMgdXAgdG8gUmVuZGVyV2lkZ2V0J3MgZGlkRmx1c2hQYWludC4KKyAgICBt
X2NsaWVudC0+ZGlkQ29tbWl0QW5kRHJhd0NvbXBvc2l0b3JGcmFtZSgpOworfQorCit2b2lkIFdl
YlZpZXdJbXBsOjpkaWRDb21wbGV0ZVN3YXBidWZmZXJzKCkKK3sKKyAgICBtX2NsaWVudC0+ZGlk
Q29tcGxldGVTd2FwYnVmZmVycygpOwogfQogCiB2b2lkIFdlYlZpZXdJbXBsOjpkaWRSZWNyZWF0
ZUdyYXBoaWNzQ29udGV4dChib29sIHN1Y2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaAppbmRleCA5YTAxOTkyNGE5ZjBkMmQ4NzcyNzc4YTU2N2VkM2M2NDBmOWEw
OGQzLi44NDkyMjE4YmFjMDA4MjExNmJlZWE2ZDI5Y2U2NWEzODIxODdmMTBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTIyMyw3ICsyMjMsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGVBbmRMYXlvdXQoZG91YmxlIGZyYW1lQmVnaW5U
aW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxBbmRTY2FsZShjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiwgZmxvYXQpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRD4gY3JlYXRlTGF5ZXJUcmVlSG9zdENvbnRleHQzRCgpOwotICAgIHZpcnR1
YWwgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoaW50IGZyYW1lTnVtYmVyKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCk7CisgICAgdmlydHVhbCB2b2lkIGRpZENv
bXBsZXRlU3dhcGJ1ZmZlcnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVHcmFwaGlj
c0NvbnRleHQoYm9vbCBzdWNjZXNzKTsKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3Np
dGUoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114840</attachid>
            <date>2011-11-12 12:02:03 -0800</date>
            <delta_ts>2011-11-14 12:09:25 -0800</delta_ts>
            <desc>Now with compiling tests</desc>
            <filename>bug-72041-20111112120201.patch</filename>
            <type>text/plain</type>
            <size>12005</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdhODI0YmIzMzc5YTU0
NGNlZmNjMDM0MTY3ZjA5M2E3Yjk5NzE1My4uYjZlMDk1ZDE1ZDI1MDhkMWVhMjc3MzdiNzI5OTky
MGVmMDFmM2Q1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTExLTExICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBQaXBl
IGNvbXBvc2l0b3IgY29tbWl0L3N3YXAgdXAgdG8gV2ViV2lkZ2V0Q2xpZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
VHJlZUhvc3Q6OmRpZENvbW1pdEFuZERyYXdGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVyVHJlZUhvc3Q6OmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6b25Td2FwQnVmZmVyc0NvbXBsZXRlT25JbXBsVGhyZWFk
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdB
bmRTd2FwKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERy
YXdGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpkaWRDb21wbGV0ZVN3
YXBidWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Ro
cmVhZFByb3h5Lmg6CisKIDIwMTEtMTEtMTIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHN0dWIgaW1wbGVtZW50YXRpb24gZm9yIFNWR1Jlc291
cmNlczo6ZmlsdGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYmExNDg1OWE5NDBm
ZTgyZWRlZjQ2MGIzNGRmYzA5MDY0NTU4OTYyMC4uOGUxNjFkMjJhMGU0NjVkMzZlN2E0YTA0Mjg4
YWQ0ZmMzZDQxODliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBA
QAorMjAxMS0xMS0xMSAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAg
ICAgIFtjaHJvbWl1bV0gUGlwZSBjb21wb3NpdG9yIGNvbW1pdC9zd2FwIHVwIHRvIFdlYldpZGdl
dENsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzIwNDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHB1YmxpYy9XZWJXaWRnZXRDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xp
ZW50OjpkaWRDb21taXRBbmREcmF3Q29tcG9zaXRvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6
V2ViV2lkZ2V0Q2xpZW50OjpkaWRDb21wbGV0ZVN3YXBidWZmZXJzKToKKyAgICAgICAgKiBzcmMv
V2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVW
aWV3SW1wbDo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5
ZXJUcmVlVmlld0ltcGw6OmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMpOgorICAgICAgICAqIHNyYy9X
ZWJMYXllclRyZWVWaWV3SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpkaWRDb21taXRBbmREcmF3RnJhbWUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZGlkQ29tcGxldGVTd2FwYnVmZmVycyk6CisgICAg
ICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0
VGVzdC5jcHA6CisgICAgICAgIChXVEY6Ok1vY2tMYXllclRyZWVIb3N0Q2xpZW50OjpkaWRDb21t
aXRBbmREcmF3RnJhbWUpOgorICAgICAgICAoV1RGOjpNb2NrTGF5ZXJUcmVlSG9zdENsaWVudDo6
ZGlkQ29tcGxldGVTd2FwYnVmZmVycyk6CisKIDIwMTEtMTEtMTEgIE5pY28gV2ViZXIgIDx0aGFr
aXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIDIgc3RhdGljIGlu
aXRpYWxpemVycyBhbmQgMyBleGl0IHRpbWUgZGVzdHJ1Y3RvcnMuIFR1cm4gb24gLVdleGl0LXRp
bWUtZGVzdHJ1Y3RvcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDc1MTk1NDVl
MTc1MDRiNmEyNGNjMWE3NDI4OTZhNjgxYTc1Mjc5NGUuLjVkNTRlMzY3MTI1MzIxMmI2M2M2N2U5
MmNkZjY3ZGI0ZmJiZTE4N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCkBAIC01Nyw3
ICs1Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxBbmRTY2FsZShj
b25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgcGFnZVNjYWxlKSA9IDA7CiAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjcmVhdGVMYXllclRyZWVIb3N0Q29u
dGV4dDNEKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4
dChib29sIHN1Y2Nlc3MpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0Zy
YW1lKGludCBmcmFtZU51bWJlcikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmRE
cmF3RnJhbWUoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMo
KSA9IDA7CiAKICAgICAvLyBVc2VkIG9ubHkgaW4gdGhlIHNpbmdsZS10aHJlYWRlZCBwYXRoLgog
ICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpID0gMDsKQEAgLTExMyw3ICsxMTQs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+
IGNyZWF0ZUxheWVyVHJlZUhvc3RJbXBsKENDTGF5ZXJUcmVlSG9zdEltcGxDbGllbnQqKTsKICAg
ICB2b2lkIGRpZEJlY29tZUludmlzaWJsZU9uSW1wbFRocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBs
Kik7CiAgICAgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChib29sIHN1Y2Nlc3MpOwot
ICAgIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcikgeyBtX2NsaWVu
dC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGZyYW1lTnVtYmVyKTsgfQorICAgIHZvaWQgZGlkQ29t
bWl0QW5kRHJhd0ZyYW1lKCkgeyBtX2NsaWVudC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCk7IH0K
KyAgICB2b2lkIGRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKSB7IG1fY2xpZW50LT5kaWRDb21wbGV0
ZVN3YXBidWZmZXJzKCk7IH0KICAgICB2b2lkIGRlbGV0ZUNvbnRlbnRzVGV4dHVyZXNPbkltcGxU
aHJlYWQoVGV4dHVyZUFsbG9jYXRvciopOwogCiAgICAgLy8gQ0NMYXllclRyZWVIb3N0IGludGVy
ZmFjZSB0byBXZWJWaWV3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcApp
bmRleCA2MjkxZGI1N2ExMWEzNTRiYjA1Y2VkNzJhZDJlMWExZWM3Mzc4NTBiLi5jMTYwZTE5OGI0
Yjk0NDY3M2RhYzAxNDVkYzExMWM0NWJjNjhjZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Npbmds
ZVRocmVhZFByb3h5LmNwcApAQCAtMzAzLDcgKzMwMyw3IEBAIGJvb2wgQ0NTaW5nbGVUaHJlYWRQ
cm94eTo6ZG9Db21wb3NpdGUoKQogCiAgICAgaWYgKG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRl
ZEZyYW1lKSB7CiAgICAgICAgIG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lID0gZmFs
c2U7Ci0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKG1fbGF5
ZXJUcmVlSG9zdEltcGwtPnNvdXJjZUZyYW1lTnVtYmVyKCkpOworICAgICAgICBtX2xheWVyVHJl
ZUhvc3QtPmRpZENvbW1pdEFuZERyYXdGcmFtZSgpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAppbmRleCAwZTY0NTIzNGI5MDI5MjdkMWZiMzg4
NTYzMDcwMzU2YWFjNmNkY2M1Li5lNWQ4Y2JiMmVlYThlZTAyODcwYjBmNjc5Mzk3YTg4NzRhMWQw
OTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcApAQCAtMjI5LDYgKzIyOSw3IEBAIHZv
aWQgQ0NUaHJlYWRQcm94eTo6b25Td2FwQnVmZmVyc0NvbXBsZXRlT25JbXBsVGhyZWFkKCkKICAg
ICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVhZFByb3h5
OjpvblN3YXBCdWZmZXJzQ29tcGxldGVPbkltcGxUaHJlYWQiLCB0aGlzLCAwKTsKICAgICBtX3Nj
aGVkdWxlck9uSW1wbFRocmVhZC0+ZGlkU3dhcEJ1ZmZlcnNDb21wbGV0ZSgpOworICAgIG1fbWFp
blRocmVhZFByb3h5LT5wb3N0VGFzayhjcmVhdGVNYWluVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJl
YWRQcm94eTo6ZGlkQ29tcGxldGVTd2FwYnVmZmVycykpOwogfQogCiB2b2lkIENDVGhyZWFkUHJv
eHk6OnNldE5lZWRzQ29tbWl0T25JbXBsVGhyZWFkKCkKQEAgLTQ4NywxNiArNDg4LDI0IEBAIHZv
aWQgQ0NUaHJlYWRQcm94eTo6c2NoZWR1bGVkQWN0aW9uRHJhd0FuZFN3YXAoKQogICAgIC8vIFRl
bGwgdGhlIG1haW4gdGhyZWFkIHRoYXQgdGhlIHRoZSBuZXdseS1jb21taXRlZCBmcmFtZSB3YXMg
ZHJhd24uCiAgICAgaWYgKG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lT25JbXBsVGhy
ZWFkKSB7CiAgICAgICAgIG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lT25JbXBsVGhy
ZWFkID0gZmFsc2U7Ci0gICAgICAgIG1fbWFpblRocmVhZFByb3h5LT5wb3N0VGFzayhjcmVhdGVN
YWluVGhyZWFkVGFzayh0aGlzLCAmQ0NUaHJlYWRQcm94eTo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1l
LCBtX2xheWVyVHJlZUhvc3RJbXBsLT5zb3VyY2VGcmFtZU51bWJlcigpKSk7CisgICAgICAgIG1f
bWFpblRocmVhZFByb3h5LT5wb3N0VGFzayhjcmVhdGVNYWluVGhyZWFkVGFzayh0aGlzLCAmQ0NU
aHJlYWRQcm94eTo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKSk7CiAgICAgfQogfQogCi12b2lkIEND
VGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpCit2b2lk
IENDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFtZSgpCiB7CiAgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKICAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdCkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGZyYW1lTnVtYmVy
KTsKKyAgICBtX2xheWVyVHJlZUhvc3QtPmRpZENvbW1pdEFuZERyYXdGcmFtZSgpOworfQorCit2
b2lkIENDVGhyZWFkUHJveHk6OmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKQoreworICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CisgICAgaWYgKCFtX2xheWVyVHJlZUhvc3QpCisgICAgICAgIHJl
dHVybjsKKyAgICBtX2xheWVyVHJlZUhvc3QtPmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKTsKIH0K
IAogdm9pZCBDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplSW1wbE9uSW1wbFRocmVhZChDQ0NvbXBs
ZXRpb25FdmVudCogY29tcGxldGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaAppbmRleCBkMDY0
YzhhNDk1NGNkYWUyMTZjZmMyYTgyMGJjMzIxOTZiMDZmMGZjLi4zYTI0Njg3MWUxOWQxMjliZmI5
MzI3ZDUwZTdmNGM3MjlhMmViZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCkBAIC04Miw3
ICs4Miw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBDYWxsZWQgb24gQ0NNYWluVGhyZWFkCiAgICAg
dm9pZCBiZWdpbkZyYW1lQW5kQ29tbWl0KGludCBzZXF1ZW5jZU51bWJlciwgZG91YmxlIGZyYW1l
QmVnaW5UaW1lLCBQYXNzT3duUHRyPENDU2Nyb2xsQW5kU2NhbGVTZXQ+KTsKLSAgICB2b2lkIGRp
ZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpOworICAgIHZvaWQgZGlkQ29tbWl0
QW5kRHJhd0ZyYW1lKCk7CisgICAgdm9pZCBkaWRDb21wbGV0ZVN3YXBidWZmZXJzKCk7CiAKICAg
ICAvLyBDYWxsZWQgb24gQ0NUaHJlYWQKICAgICBzdHJ1Y3QgUmVhZGJhY2tSZXF1ZXN0IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldENsaWVudC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50LmgKaW5kZXgg
Zjk1MDk3Y2E1NmE4ODE3NjM3ZGMwODMxMWQ4MjdlOWU4OTM0OTcyNy4uYzRlZjNjODI4MDRjOGQ0
OWIxMDA0NDEzYTEwMWM5YjVjYzVlOTU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViV2lkZ2V0Q2xpZW50LmgKQEAgLTYwLDYgKzYwLDkgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBkaWRBY3RpdmF0ZUNvbXBvc2l0b3IoaW50IGNvbXBvc2l0b3JJZGVudGlm
aWVyKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGVhY3RpdmF0ZUNvbXBvc2l0b3IoKSB7IH0K
IAorICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmREcmF3Q29tcG9zaXRvckZyYW1lKCkgeyB9
CisgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKSB7IH0KKwogICAgIC8v
IENhbGxlZCB3aGVuIGEgY2FsbCB0byBXZWJXaWRnZXQ6OmNvbXBvc2l0ZSBpcyByZXF1aXJlZAog
ICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpIHsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5jcHAKaW5kZXggZGRi
ZTA2NDMxYzY1N2VkMzczNGM1NDE4ZmI3MDRlYWJmNDRjYjIwMC4uNjAyZDU3ZjJkNDk4MGEwYmFm
YjFmN2Y5YmIyMWI5OWFlMTk2YTY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmNwcApAQCAtOTYsNyArOTYsMTIgQEAgUGFzc1Jl
ZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmNyZWF0ZUxheWVy
VHJlZUhvc3RDb250ZXh0M0QKICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpj
cmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2ViQ29udGV4dCh3ZWJDb250ZXh0LnJlbGVhc2UoKSwg
YXR0cmlidXRlcywgMCwgc3R5bGUsIHVzYWdlKTsKIH0KIAotdm9pZCBXZWJMYXllclRyZWVWaWV3
SW1wbDo6ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcikKK3ZvaWQgV2ViTGF5
ZXJUcmVlVmlld0ltcGw6OmRpZENvbW1pdEFuZERyYXdGcmFtZSgpCit7CisgICAgLy8gRklYTUU6
IHJvdXRlIHRoaXMgdXAgdG8gdGhlIFdlYkxheWVyVHJlZVZpZXcgY2xpZW50Cit9CisKK3ZvaWQg
V2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKQogewogICAgIC8v
IEZJWE1FOiByb3V0ZSB0aGlzIHVwIHRvIHRoZSBXZWJMYXllclRyZWVWaWV3IGNsaWVudAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0lt
cGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmgK
aW5kZXggZDZkZDZlMzMyODcyYzdjOWFjMGRkMGJkYzY4MWY2ZjkwZjRmNTNlOS4uODY1NWYxYzky
MzQwMTZkM2Q1ZTg3M2FhZmJiNzBmNGY4ZjBlOGY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5oCkBAIC00NCw4ICs0NCw5IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGVBbmRMYXlvdXQoZG91YmxlIGZyYW1lQmVn
aW5UaW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxBbmRTY2FsZShjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgcGFnZVNjYWxlKTsKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUxheWVyVHJlZUhv
c3RDb250ZXh0M0QoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGlu
dCBmcmFtZU51bWJlcik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY3JlYXRlR3JhcGhpY3NDb250
ZXh0KGJvb2wgc3VjY2Vzcyk7CisgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFt
ZSgpOworICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZVN3YXBidWZmZXJzKCk7CiAKICAgICAv
LyBPbmx5IHVzZWQgaW4gdGhlIHNpbmdsZSB0aHJlYWRlZCBwYXRoLgogICAgIHZpcnR1YWwgdm9p
ZCBzY2hlZHVsZUNvbXBvc2l0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCmluZGV4IGQ0ZDQ5MzY1ZmNjMmQ3OTRlYWU4ZTRhYThhNjlhYzRjZWM2MTRmYTAu
LjU5ZjZmN2Y5MjViZmY4NTY4NjY5NmZlODI1NzM0ZGY5ZTVmYzEzM2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTI3NDcsOSArMjc0NywxNiBAQCB2
b2lkIFdlYlZpZXdJbXBsOjphcHBseVNjcm9sbEFuZFNjYWxlKGNvbnN0IEludFNpemUmIHNjcm9s
bERlbHRhLCBmbG9hdCBzY2FsZUZhYwogICAgIH0KIH0KIAotdm9pZCBXZWJWaWV3SW1wbDo6ZGlk
Q29tbWl0QW5kRHJhd0ZyYW1lKGludCBmcmFtZU51bWJlcikKK3ZvaWQgV2ViVmlld0ltcGw6OmRp
ZENvbW1pdEFuZERyYXdGcmFtZSgpCiB7Ci0gICAgLy8gRklYTUU6IHJvdXRlIHRoaXMgdXAgdG8g
UmVuZGVyV2lkZ2V0J3MgZGlkRmx1c2hQYWludC4KKyAgICBpZiAobV9jbGllbnQpCisgICAgICAg
IG1fY2xpZW50LT5kaWRDb21taXRBbmREcmF3Q29tcG9zaXRvckZyYW1lKCk7Cit9CisKK3ZvaWQg
V2ViVmlld0ltcGw6OmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKQoreworICAgIGlmIChtX2NsaWVu
dCkKKyAgICAgICAgbV9jbGllbnQtPmRpZENvbXBsZXRlU3dhcGJ1ZmZlcnMoKTsKIH0KIAogdm9p
ZCBXZWJWaWV3SW1wbDo6ZGlkUmVjcmVhdGVHcmFwaGljc0NvbnRleHQoYm9vbCBzdWNjZXNzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggOWEwMTk5MjRhOWYw
ZDJkODc3Mjc3OGE1NjdlZDNjNjQwZjlhMDhkMy4uODQ5MjIxOGJhYzAwODIxMTZiZWVhNmQyOWNl
NjVhMzgyMTg3ZjEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5o
CkBAIC0yMjMsNyArMjIzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlQW5k
TGF5b3V0KGRvdWJsZSBmcmFtZUJlZ2luVGltZSk7CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5U2Ny
b2xsQW5kU2NhbGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGZsb2F0KTsKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUxheWVyVHJlZUhv
c3RDb250ZXh0M0QoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGlu
dCBmcmFtZU51bWJlcik7CisgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZSgp
OworICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZVN3YXBidWZmZXJzKCk7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY3JlYXRlR3JhcGhpY3NDb250ZXh0KGJvb2wgc3VjY2Vzcyk7CiAgICAgdmly
dHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IDcwZTQxZjA1OTc4
NGJiMjY2MmE3Y2NhNzI4MmY0ZjNjYTRlZmNiYmYuLmVlNGQ0NGVlNGRiODZhNTMyNzBmZDU0NjNm
Y2ExMjhmZDBjNzc4NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NMYXllclRyZWVIb3N0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcApAQCAtMTY2LDcgKzE2NiwxMSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBjb250ZXh0OwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaWRDb21t
aXRBbmREcmF3RnJhbWUoaW50IGZyYW1lTnVtYmVyKQorICAgIHZpcnR1YWwgdm9pZCBkaWRDb21t
aXRBbmREcmF3RnJhbWUoKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29t
cGxldGVTd2FwYnVmZmVycygpCiAgICAgewogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114999</attachid>
            <date>2011-11-14 12:09:29 -0800</date>
            <delta_ts>2011-11-14 14:48:37 -0800</delta_ts>
            <desc>Address nits</desc>
            <filename>bug-72041-20111114120928.patch</filename>
            <type>text/plain</type>
            <size>12156</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IyNWYzYTU1ZjRiMThj
Y2I3NmE2NThlODI1Y2YyZmU2Yzk2MzQ4Ny4uMDRjYjA4ZDljMjIyODkyNmY0NWI5OTIzMzIwZGM5
YmIwMGRhMjdiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTExLTE0ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBQaXBl
IGNvbXBvc2l0b3IgY29tbWl0L3N3YXAgdXAgdG8gV2ViV2lkZ2V0Q2xpZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVy
VHJlZUhvc3Q6OmRpZENvbW1pdEFuZERyYXdGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xh
eWVyVHJlZUhvc3Q6OmRpZENvbXBsZXRlU3dhcEJ1ZmZlcnMpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NUaHJlYWRQcm94eTo6b25Td2FwQnVmZmVyc0NvbXBsZXRlT25JbXBsVGhyZWFk
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdB
bmRTd2FwKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERy
YXdGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpkaWRDb21wbGV0ZVN3
YXBCdWZmZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Ro
cmVhZFByb3h5Lmg6CisKIDIwMTEtMTEtMTQgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZW1vdmUgUmVxdWlyZXNBbGxBcmd1bWVudHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggZWMzZmY0MTE5ZjdkMTU3YzVhNzk4YTNiM2I1MTYzNzMwNDYzYzNm
ZC4uMGI5MTQyZDI1ZDIzMzc1NGY1YzY0NWNiODhiMmQ5Y2IxNGNmNDM3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0xMS0xNCAgQWRyaWVubmUgV2Fs
a2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUGlwZSBjb21wb3Np
dG9yIGNvbW1pdC9zd2FwIHVwIHRvIFdlYldpZGdldENsaWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJXaWRnZXRDbGllbnQuaDoK
KyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpkaWRDb21taXRBbmREcmF3Q29tcG9z
aXRvckZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpkaWRDb21wbGV0
ZVN3YXBCdWZmZXJzKToKKyAgICAgICAgKiBzcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVWaWV3SW1wbDo6ZGlkQ29tbWl0QW5kRHJhd0Zy
YW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZENvbXBsZXRl
U3dhcEJ1ZmZlcnMpOgorICAgICAgICAqIHNyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5oOgorICAg
ICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBs
OjpkaWRDb21taXRBbmREcmF3RnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
ZGlkQ29tcGxldGVTd2FwQnVmZmVycyk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6Cisg
ICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHA6CisgICAgICAgIChXVEY6Ok1v
Y2tMYXllclRyZWVIb3N0Q2xpZW50OjpkaWRDb21taXRBbmREcmF3RnJhbWUpOgorICAgICAgICAo
V1RGOjpNb2NrTGF5ZXJUcmVlSG9zdENsaWVudDo6ZGlkQ29tcGxldGVTd2FwQnVmZmVycyk6CisK
IDIwMTEtMTEtMTQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAKICAg
ICAgICAgW2Nocm9taXVtXSBNZWRpYVN0cmVhbSBBUEk6IEFsbG93IGZvciBudWxsIFdlYlBlZXJD
b25uZWN0aW9uSGFuZGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaAppbmRleCA3OTZhMjBm
MjY3ZGU3ODUzNDM5MGYyMmIxZGZlYzY3NzY1MDMxNWVkLi5kODE0MTQ5YzU0YjA1M2VjZWE2ZmNh
ZTA1NjI0NDQ4ZGQzMTFkOTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaApAQCAtNTcs
NyArNTcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5U2Nyb2xsQW5kU2NhbGUo
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGZsb2F0IHBhZ2VTY2FsZSkgPSAwOwogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY3JlYXRlTGF5ZXJUcmVlSG9zdENv
bnRleHQzRCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVHcmFwaGljc0NvbnRl
eHQoYm9vbCBzdWNjZXNzKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdG
cmFtZShpbnQgZnJhbWVOdW1iZXIpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5k
RHJhd0ZyYW1lKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZVN3YXBCdWZmZXJz
KCkgPSAwOwogCiAgICAgLy8gVXNlZCBvbmx5IGluIHRoZSBzaW5nbGUtdGhyZWFkZWQgcGF0aC4K
ICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGUoKSA9IDA7CkBAIC0xMTUsNyArMTE2
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc093blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBs
PiBjcmVhdGVMYXllclRyZWVIb3N0SW1wbChDQ0xheWVyVHJlZUhvc3RJbXBsQ2xpZW50Kik7CiAg
ICAgdm9pZCBkaWRCZWNvbWVJbnZpc2libGVPbkltcGxUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1w
bCopOwogICAgIHZvaWQgZGlkUmVjcmVhdGVHcmFwaGljc0NvbnRleHQoYm9vbCBzdWNjZXNzKTsK
LSAgICB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpIHsgbV9jbGll
bnQtPmRpZENvbW1pdEFuZERyYXdGcmFtZShmcmFtZU51bWJlcik7IH0KKyAgICB2b2lkIGRpZENv
bW1pdEFuZERyYXdGcmFtZSgpIHsgbV9jbGllbnQtPmRpZENvbW1pdEFuZERyYXdGcmFtZSgpOyB9
CisgICAgdm9pZCBkaWRDb21wbGV0ZVN3YXBCdWZmZXJzKCkgeyBtX2NsaWVudC0+ZGlkQ29tcGxl
dGVTd2FwQnVmZmVycygpOyB9CiAgICAgdm9pZCBkZWxldGVDb250ZW50c1RleHR1cmVzT25JbXBs
VGhyZWFkKFRleHR1cmVBbGxvY2F0b3IqKTsKIAogICAgIC8vIENDTGF5ZXJUcmVlSG9zdCBpbnRl
cmZhY2UgdG8gV2ViVmlldy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAK
aW5kZXggNjI5MWRiNTdhMTFhMzU0YmIwNWNlZDcyYWQyZTFhMWVjNzM3ODUwYi4uYzE2MGUxOThi
NGI5NDQ2NzNkYWMwMTQ1ZGMxMTFjNDViYzY4Y2Q2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5n
bGVUaHJlYWRQcm94eS5jcHAKQEAgLTMwMyw3ICszMDMsNyBAQCBib29sIENDU2luZ2xlVGhyZWFk
UHJveHk6OmRvQ29tcG9zaXRlKCkKIAogICAgIGlmIChtX25leHRGcmFtZUlzTmV3bHlDb21taXR0
ZWRGcmFtZSkgewogICAgICAgICBtX25leHRGcmFtZUlzTmV3bHlDb21taXR0ZWRGcmFtZSA9IGZh
bHNlOwotICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmRpZENvbW1pdEFuZERyYXdGcmFtZShtX2xh
eWVyVHJlZUhvc3RJbXBsLT5zb3VyY2VGcmFtZU51bWJlcigpKTsKKyAgICAgICAgbV9sYXllclRy
ZWVIb3N0LT5kaWRDb21taXRBbmREcmF3RnJhbWUoKTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKaW5kZXggOWNhNmQ1MTZkMzM4ZDdmOTkzNDZj
MDRjMjE1MTA0OTVhYzEyY2U0Mi4uNmY0ZWQ5MGQxMGE2ODg1MzBiNDNlZTMyYjlkYTQ1NjNkZGY3
OGI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHAKQEAgLTIyOSw2ICsyMjksNyBAQCB2
b2lkIENDVGhyZWFkUHJveHk6Om9uU3dhcEJ1ZmZlcnNDb21wbGV0ZU9uSW1wbFRocmVhZCgpCiAg
ICAgQVNTRVJUKGlzSW1wbFRocmVhZCgpKTsKICAgICBUUkFDRV9FVkVOVCgiQ0NUaHJlYWRQcm94
eTo6b25Td2FwQnVmZmVyc0NvbXBsZXRlT25JbXBsVGhyZWFkIiwgdGhpcywgMCk7CiAgICAgbV9z
Y2hlZHVsZXJPbkltcGxUaHJlYWQtPmRpZFN3YXBCdWZmZXJzQ29tcGxldGUoKTsKKyAgICBtX21h
aW5UaHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRlTWFpblRocmVhZFRhc2sodGhpcywgJkNDVGhy
ZWFkUHJveHk6OmRpZENvbXBsZXRlU3dhcEJ1ZmZlcnMpKTsKIH0KIAogdm9pZCBDQ1RocmVhZFBy
b3h5OjpzZXROZWVkc0NvbW1pdE9uSW1wbFRocmVhZCgpCkBAIC00ODcsMTYgKzQ4OCwyNCBAQCB2
b2lkIENDVGhyZWFkUHJveHk6OnNjaGVkdWxlZEFjdGlvbkRyYXdBbmRTd2FwKCkKICAgICAvLyBU
ZWxsIHRoZSBtYWluIHRocmVhZCB0aGF0IHRoZSB0aGUgbmV3bHktY29tbWl0ZWQgZnJhbWUgd2Fz
IGRyYXduLgogICAgIGlmIChtX25leHRGcmFtZUlzTmV3bHlDb21taXR0ZWRGcmFtZU9uSW1wbFRo
cmVhZCkgewogICAgICAgICBtX25leHRGcmFtZUlzTmV3bHlDb21taXR0ZWRGcmFtZU9uSW1wbFRo
cmVhZCA9IGZhbHNlOwotICAgICAgICBtX21haW5UaHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRl
TWFpblRocmVhZFRhc2sodGhpcywgJkNDVGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFt
ZSwgbV9sYXllclRyZWVIb3N0SW1wbC0+c291cmNlRnJhbWVOdW1iZXIoKSkpOworICAgICAgICBt
X21haW5UaHJlYWRQcm94eS0+cG9zdFRhc2soY3JlYXRlTWFpblRocmVhZFRhc2sodGhpcywgJkND
VGhyZWFkUHJveHk6OmRpZENvbW1pdEFuZERyYXdGcmFtZSkpOwogICAgIH0KIH0KIAotdm9pZCBD
Q1RocmVhZFByb3h5OjpkaWRDb21taXRBbmREcmF3RnJhbWUoaW50IGZyYW1lTnVtYmVyKQordm9p
ZCBDQ1RocmVhZFByb3h5OjpkaWRDb21taXRBbmREcmF3RnJhbWUoKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAgICAgaWYgKCFtX2xheWVyVHJlZUhvc3QpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX2xheWVyVHJlZUhvc3QtPmRpZENvbW1pdEFuZERyYXdGcmFtZShmcmFtZU51bWJl
cik7CisgICAgbV9sYXllclRyZWVIb3N0LT5kaWRDb21taXRBbmREcmF3RnJhbWUoKTsKK30KKwor
dm9pZCBDQ1RocmVhZFByb3h5OjpkaWRDb21wbGV0ZVN3YXBCdWZmZXJzKCkKK3sKKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOworICAgIGlmICghbV9sYXllclRyZWVIb3N0KQorICAgICAgICBy
ZXR1cm47CisgICAgbV9sYXllclRyZWVIb3N0LT5kaWRDb21wbGV0ZVN3YXBCdWZmZXJzKCk7CiB9
CiAKIHZvaWQgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUltcGxPbkltcGxUaHJlYWQoQ0NDb21w
bGV0aW9uRXZlbnQqIGNvbXBsZXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5kZXggZDA2
NGM4YTQ5NTRjZGFlMjE2Y2ZjMmE4MjBiYzMyMTk2YjA2ZjBmYy4uMDE0MGE3MTVkZWZmMzhiY2Qz
MDA2NjM3MTc3YmI1M2ZhNjQ5ZTZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaApAQCAtODIs
NyArODIsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gQ2FsbGVkIG9uIENDTWFpblRocmVhZAogICAg
IHZvaWQgYmVnaW5GcmFtZUFuZENvbW1pdChpbnQgc2VxdWVuY2VOdW1iZXIsIGRvdWJsZSBmcmFt
ZUJlZ2luVGltZSwgUGFzc093blB0cjxDQ1Njcm9sbEFuZFNjYWxlU2V0Pik7Ci0gICAgdm9pZCBk
aWRDb21taXRBbmREcmF3RnJhbWUoaW50IGZyYW1lTnVtYmVyKTsKKyAgICB2b2lkIGRpZENvbW1p
dEFuZERyYXdGcmFtZSgpOworICAgIHZvaWQgZGlkQ29tcGxldGVTd2FwQnVmZmVycygpOwogCiAg
ICAgLy8gQ2FsbGVkIG9uIENDVGhyZWFkCiAgICAgc3RydWN0IFJlYWRiYWNrUmVxdWVzdCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXRDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldENsaWVudC5oCmluZGV4
IGY5NTA5N2NhNTZhODgxNzYzN2RjMDgzMTFkODI3ZTllODkzNDk3MjcuLjY2MmIwYTU2ZTJhN2M1
MmVjY2E3NTRjZTQ0MDNhMWYwYThiOTZmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYldpZGdldENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYldpZGdldENsaWVudC5oCkBAIC02MCw2ICs2MCwxMyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGRpZEFjdGl2YXRlQ29tcG9zaXRvcihpbnQgY29tcG9zaXRvcklkZW50
aWZpZXIpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWREZWFjdGl2YXRlQ29tcG9zaXRvcigpIHsg
fQogCisgICAgLy8gQ2FsbGVkIGZvciBjb21wb3NpdGluZyBtb2RlIHdoZW4gdGhlIGRyYXcgY29t
bWFuZHMgZm9yIGEgV2ViS2l0LXNpZGUKKyAgICAvLyBmcmFtZSBoYXZlIGJlZW4gaXNzdWVkLgor
ICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmREcmF3Q29tcG9zaXRvckZyYW1lKCkgeyB9Cisg
ICAgLy8gQ2FsbGVkIGZvciBjb21wb3NpdGluZyBtb2RlIHdoZW4gc3dhcGJ1ZmZlcnMgaGFzIGJl
ZW4gcG9zdGVkIGluIHRoZSBHUFUKKyAgICAvLyBwcm9jZXNzLgorICAgIHZpcnR1YWwgdm9pZCBk
aWRDb21wbGV0ZVN3YXBCdWZmZXJzKCkgeyB9CisKICAgICAvLyBDYWxsZWQgd2hlbiBhIGNhbGwg
dG8gV2ViV2lkZ2V0Ojpjb21wb3NpdGUgaXMgcmVxdWlyZWQKICAgICB2aXJ0dWFsIHZvaWQgc2No
ZWR1bGVDb21wb3NpdGUoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3BwCmluZGV4IGRkYmUwNjQzMWM2NTdlZDM3MzRjNTQx
OGZiNzA0ZWFiZjQ0Y2IyMDAuLjhjODY4NGI2ZmNhOGM5ZjMwZDFiNzcxNjBmMDI1OTM4MjRiYmI5
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZp
ZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVW
aWV3SW1wbC5jcHAKQEAgLTk2LDcgKzk2LDEyIEBAIFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0
M0Q+IFdlYkxheWVyVHJlZVZpZXdJbXBsOjpjcmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNECiAg
ICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0
RnJvbVdlYkNvbnRleHQod2ViQ29udGV4dC5yZWxlYXNlKCksIGF0dHJpYnV0ZXMsIDAsIHN0eWxl
LCB1c2FnZSk7CiB9CiAKLXZvaWQgV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmRpZENvbW1pdEFuZERy
YXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpCit2b2lkIFdlYkxheWVyVHJlZVZpZXdJbXBsOjpkaWRD
b21taXRBbmREcmF3RnJhbWUoKQoreworICAgIC8vIEZJWE1FOiByb3V0ZSB0aGlzIHVwIHRvIHRo
ZSBXZWJMYXllclRyZWVWaWV3IGNsaWVudAorfQorCit2b2lkIFdlYkxheWVyVHJlZVZpZXdJbXBs
OjpkaWRDb21wbGV0ZVN3YXBCdWZmZXJzKCkKIHsKICAgICAvLyBGSVhNRTogcm91dGUgdGhpcyB1
cCB0byB0aGUgV2ViTGF5ZXJUcmVlVmlldyBjbGllbnQKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5oCmluZGV4IGQ2ZGQ2ZTMzMjg3MmM3
YzlhYzBkZDBiZGM2ODFmNmY5MGY0ZjUzZTkuLjBjZmMyODM3ODk1MGU4MmE4M2E4YjgxN2Y4N2Jl
MmIxNjgwMjI4ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxh
eWVyVHJlZVZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5
ZXJUcmVlVmlld0ltcGwuaApAQCAtNDQsOCArNDQsOSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBhbmltYXRlQW5kTGF5b3V0KGRvdWJsZSBmcmFtZUJlZ2luVGltZSk7CiAgICAgdmlydHVh
bCB2b2lkIGFwcGx5U2Nyb2xsQW5kU2NhbGUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xs
RGVsdGEsIGZsb2F0IHBhZ2VTY2FsZSk7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEPiBjcmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNEKCk7Ci0gICAg
dmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChib29sIHN1Y2Nlc3MpOwor
ICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoKTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ29tcGxldGVTd2FwQnVmZmVycygpOwogCiAgICAgLy8gT25seSB1c2VkIGluIHRoZSBz
aW5nbGUgdGhyZWFkZWQgcGF0aC4KICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA4ZWQ3
N2U5MjYxZTM5ZThjNzk0MjVkZWY1ZmRmMzRhZWFjMjgzMmRkLi44MzQzNzJhMWE1NmFjZTdiZDY1
ZDJhZTk3ZjJlNzYyMjQ2MTY0MWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCkBAIC0yNzQ5LDkgKzI3NDksMTYgQEAgdm9pZCBXZWJWaWV3SW1wbDo6YXBw
bHlTY3JvbGxBbmRTY2FsZShjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgc2NhbGVG
YWMKICAgICB9CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6OmRpZENvbW1pdEFuZERyYXdGcmFtZShp
bnQgZnJhbWVOdW1iZXIpCit2b2lkIFdlYlZpZXdJbXBsOjpkaWRDb21taXRBbmREcmF3RnJhbWUo
KQogewotICAgIC8vIEZJWE1FOiByb3V0ZSB0aGlzIHVwIHRvIFJlbmRlcldpZGdldCdzIGRpZEZs
dXNoUGFpbnQuCisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+ZGlkQ29tbWl0
QW5kRHJhd0NvbXBvc2l0b3JGcmFtZSgpOworfQorCit2b2lkIFdlYlZpZXdJbXBsOjpkaWRDb21w
bGV0ZVN3YXBCdWZmZXJzKCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50
LT5kaWRDb21wbGV0ZVN3YXBCdWZmZXJzKCk7CiB9CiAKIHZvaWQgV2ViVmlld0ltcGw6OmRpZFJl
Y3JlYXRlR3JhcGhpY3NDb250ZXh0KGJvb2wgc3VjY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDlhMDE5OTI0YTlmMGQyZDg3NzI3NzhhNTY3ZWQzYzY0
MGY5YTA4ZDMuLmI4MmU2NGMwNDFhMWIyNzI0NDNjZjUyZjViMDA4ZmI4YjQ5OTQwNzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMjIzLDcgKzIyMyw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZUFuZExheW91dChkb3VibGUgZnJhbWVC
ZWdpblRpbWUpOwogICAgIHZpcnR1YWwgdm9pZCBhcHBseVNjcm9sbEFuZFNjYWxlKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmLCBmbG9hdCk7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEPiBjcmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNEKCk7Ci0gICAg
dmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZShpbnQgZnJhbWVOdW1iZXIpOworICAg
IHZpcnR1YWwgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ29tcGxldGVTd2FwQnVmZmVycygpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNyZWF0ZUdy
YXBoaWNzQ29udGV4dChib29sIHN1Y2Nlc3MpOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNv
bXBvc2l0ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
TGF5ZXJUcmVlSG9zdFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xh
eWVyVHJlZUhvc3RUZXN0LmNwcAppbmRleCBkNWYxYWQ1MmRiMjBkOGUyZjQzMmM4MWNiY2U1YzQy
OTdiYTJmYzhhLi43YzEyMzUyYTcwZDQwMTU4OTQ4MTA5MzFjODFmMDU4MGZiZTM3NzZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVz
dC5jcHAKQEAgLTE2NSw3ICsxNjUsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gY29udGV4
dDsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKGludCBm
cmFtZU51bWJlcikKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCkKKyAg
ICB7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlU3dhcEJ1ZmZlcnMoKQog
ICAgIHsKICAgICB9CiAK
</data>
<flag name="review"
          id="113782"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>