<?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>32303</bug_id>
          
          <creation_ts>2009-12-08 21:39:23 -0800</creation_ts>
          <short_desc>Middle-mouse button not firing mousedown DOM event when autoscroll happens</short_desc>
          <delta_ts>2010-09-30 14:35:35 -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>PC</rep_platform>
          <op_sys>Windows Vista</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="Brenton">webkit</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>aroben</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>keremonal</cc>
    
    <cc>maxime.britto</cc>
    
    <cc>webkit</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>169896</commentid>
    <comment_count>0</comment_count>
    <who name="Brenton">webkit</who>
    <bug_when>2009-12-08 21:39:23 -0800</bug_when>
    <thetext>In Chrome and Safari on Windows, middle-clicking only dispatches a MouseEvent if auto-scroll doesn&apos;t spawn.  Firefox, IE, and Opera dispatch the mousedown event, even if they support and spawn autoscroll.  The Mac versions of Chrome and Safari don&apos;t spawn autoscroll, and they dispatch the event properly.

Steps to reproduce:
1. Navigate to a page with a scrollbar.
2. Open the JavaScript console and enter the following:
addEventListener(&apos;mousedown&apos;, function(event) { console.log(event.button) } );
3. Middle-click on the page

Expected result:
&apos;1&apos; is traced in the JavaScript console.  If event.preventDefault() is not called, the scroll arrows appear.

Actual result:
The auto-scroll arrows appear, but no event is dispatched.

This has been tested in Chrome 4.0.249.30, Safari 4.0.3, and the Windows WebKit nightly.  Each fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170241</commentid>
    <comment_count>1</comment_count>
    <who name="Brenton">webkit</who>
    <bug_when>2009-12-09 16:29:39 -0800</bug_when>
    <thetext>I&apos;ve gone through the source and believe I&apos;ve confirmed the bug.  In trunk/WebCore/page/EventHandler.cpp, a routine starts on line 1141 that sniffs if mouseEvent.button() == MiddleButton.  If it does and a renderer is present, the function returns on line 1179.  dispatchMouseEvent doesn&apos;t occur til line 1183, which is AFTER the return statement for middle mouse events.

I believe this bug started in rev 35083 when Maxime Britto added pan-scrolling.  I attempted to confirm this via nightly builds, but the only Safari version I could find from that era was 3.2.3, which appears to be incompatible with those nightlies.  (WebKitShouldUseFontSmoothing could not be found in WebKit.dll).  However, in rev 35083, the PAN_SCROLLING routine returns on line 926 and the dispatch call doesn&apos;t occur until line 944.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170512</commentid>
    <comment_count>2</comment_count>
    <who name="Brenton">webkit</who>
    <bug_when>2009-12-10 13:57:07 -0800</bug_when>
    <thetext>I&apos;m lobbying hard to get this fixed because it is blocking Windows installs of any Chrome extension that uses the middle-mouse button.

For instance:
https://chrome.google.com/extensions/detail/dhbobbhcjchoconllpepbcanpfbmebgc

Chromium bug reports:
http://code.google.com/p/chromium/issues/detail?id=17234
http://code.google.com/p/chromium/issues/detail?id=29826</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170550</commentid>
    <comment_count>3</comment_count>
      <attachid>44643</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-12-10 15:30:14 -0800</bug_when>
    <thetext>Created attachment 44643
[PATCH] WIP Patch

This patch changes to behaviors:

1) Fires mousedown event on middle click, event when pan scrolling would start.
2) Allows event.preventDefault to prevent pan scrolling from starting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170551</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-12-10 15:31:54 -0800</bug_when>
    <thetext>Note, this needs a ChangeLog and layout tests, this was just for discussion about the Change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170553</commentid>
    <comment_count>5</comment_count>
      <attachid>44643</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-10 15:35:37 -0800</bug_when>
    <thetext>Comment on attachment 44643
[PATCH] WIP Patch

This looks pretty good!

I think there&apos;s an unintended change in behavior here: previously, I think pan-scrolling was always handled by the main frame&apos;s EventHandler. Now it looks like it will be handled by the target node&apos;s EventHandler. I assume this could cause trouble when pan-scrolling starts in a subframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170586</commentid>
    <comment_count>6</comment_count>
      <attachid>44649</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-12-10 16:40:36 -0800</bug_when>
    <thetext>Created attachment 44649
[PATCH] Fix

With ChangeLog and test goodness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170590</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-10 16:44:15 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44649 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170612</commentid>
    <comment_count>8</comment_count>
    <who name="Brenton">webkit</who>
    <bug_when>2009-12-10 18:28:48 -0800</bug_when>
    <thetext>This is a trivial change, but in your HTML tests you reference bug 28023 while linking to bug 32303.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170613</commentid>
    <comment_count>9</comment_count>
      <attachid>44656</attachid>
    <who name="Brenton">webkit</who>
    <bug_when>2009-12-10 18:33:15 -0800</bug_when>
    <thetext>Created attachment 44656
Same as Brian&apos;s fix, but corrects references to bug 28023 in his test HTML files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170654</commentid>
    <comment_count>10</comment_count>
    <who name="Maxime Britto">maxime.britto</who>
    <bug_when>2009-12-11 00:33:14 -0800</bug_when>
    <thetext>Thanks for adding me to the CC list.

I just have one question for the event.preventDefault() :
Does it also prevent the scrolling with the mouse wheel if called on a DOMMouseScroll event ?
I&apos;m not sure if the preventDefault() function is there to prevent only action with the page (clicks or any interaction with the page elements) or also navigation actions (scrolling et autoscroll).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170806</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-11 10:11:40 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; I just have one question for the event.preventDefault() :
&gt; Does it also prevent the scrolling with the mouse wheel if called on a
&gt; DOMMouseScroll event ?

I don&apos;t think WebKit supports that event.

&gt; I&apos;m not sure if the preventDefault() function is there to prevent only action
&gt; with the page (clicks or any interaction with the page elements) or also
&gt; navigation actions (scrolling et autoscroll).

preventDefault() is supposed to prevent the event&apos;s &quot;default action&quot;. See &lt;http://www.w3.org/TR/2001/WD-DOM-Level-3-Events-20010823/events.html#Events-Event-preventDefault&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170814</commentid>
    <comment_count>12</comment_count>
      <attachid>44649</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-12-11 10:16:40 -0800</bug_when>
    <thetext>Comment on attachment 44649
[PATCH] Fix

&gt; +            if (renderer)
&gt; +                if (Frame* frame = renderer-&gt;document()-&gt;frame())
&gt; +                    frame-&gt;eventHandler()-&gt;startPanScrolling(renderer);

This should be enclosed in braces.

r=me if you fix this and correct the links as mentioned above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170827</commentid>
    <comment_count>13</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-12-11 10:37:21 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Thanks for adding me to the CC list.
&gt; 
&gt; I just have one question for the event.preventDefault() :
&gt; Does it also prevent the scrolling with the mouse wheel if called on a
&gt; DOMMouseScroll event ?
&gt; I&apos;m not sure if the preventDefault() function is there to prevent only action
&gt; with the page (clicks or any interaction with the page elements) or also
&gt; navigation actions (scrolling et autoscroll).

Yes, the mouse wheel&apos;s scrolling is prevented if you call event.preventDefault on mousewheel (I think FF uses DOMMouseScroll, we use mousewheel).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170838</commentid>
    <comment_count>14</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-12-11 11:03:05 -0800</bug_when>
    <thetext>Landed in r52008.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191457</commentid>
    <comment_count>15</comment_count>
    <who name="">keremonal</who>
    <bug_when>2010-02-18 00:22:08 -0800</bug_when>
    <thetext>The status is RESOLVED FIXED. But it is still not fixed for Google Chrome 5.0.322.2 for Windows. 

I asked about the reason on http://code.google.com/p/chromium/issues/detail?id=17234. It is said that &quot;Perhaps the patch didn&apos;t fix the issue? We don&apos;t cherry-pick the changes. Unless they 
are rolled out in WebKit, they land in Chromium pretty much within 24 hours.&quot;

Does the bug still exist because of webkit or chrome?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191576</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-02-18 06:45:51 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; The status is RESOLVED FIXED. But it is still not fixed for Google Chrome
&gt; 5.0.322.2 for Windows. 
&gt; 
&gt; I asked about the reason on
&gt; http://code.google.com/p/chromium/issues/detail?id=17234. It is said that
&gt; &quot;Perhaps the patch didn&apos;t fix the issue? We don&apos;t cherry-pick the changes.
&gt; Unless they 
&gt; are rolled out in WebKit, they land in Chromium pretty much within 24 hours.&quot;
&gt; 
&gt; Does the bug still exist because of webkit or chrome?

One good way to answer this question is to download Safari for Windows and try to reproduce the bug using a WebKit nightly build (from &lt;http://nightly.webkit.org/&gt;). If the bug reproduces in the nightly, it&apos;s almost certainly due to a bug in WebKit, not in Chrome or Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287833</commentid>
    <comment_count>17</comment_count>
    <who name="Brenton">webkit</who>
    <bug_when>2010-09-30 14:35:35 -0700</bug_when>
    <thetext>r67261 stopped calling a.@onclick when a link was middle clicked.  That patch made a mess of the way middle-mouse events are handled, and now middle-mouse up is spawning new tabs, even if the links were not pressed to begin with.

That bug is here:

https://bugs.webkit.org/show_bug.cgi?id=46733


In the comments, Peter Kasting is talking about rolling back Brian&apos;s fix that made auto-scroll preventable.  I thought you guys would want to know.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44643</attachid>
            <date>2009-12-10 15:30:14 -0800</date>
            <delta_ts>2009-12-10 16:40:36 -0800</delta_ts>
            <desc>[PATCH] WIP Patch</desc>
            <filename>pan_scroll_fire_prevent_default.patch</filename>
            <type>text/plain</type>
            <size>3365</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05v
ZGUuY3BwCShyZXZpc2lvbiA1MTk1MSkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yODI3LDYgKzI4MjcsMjQgQEAgdm9pZCBOb2RlOjpkZWZhdWx0RXZlbnRIYW5k
bGVyKEV2ZW50KiBldgogICAgICAgICBpZiAoZXZlbnQtPmlzVGV4dEV2ZW50KCkpCiAgICAgICAg
ICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKICAgICAgICAgICAg
ICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmRlZmF1bHRUZXh0SW5wdXRFdmVudEhhbmRsZXIo
c3RhdGljX2Nhc3Q8VGV4dEV2ZW50Kj4oZXZlbnQpKTsKKyNpZiBFTkFCTEUoUEFOX1NDUk9MTElO
RykKKyAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZl
bnQpIHsKKyAgICAgICAgTW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PE1vdXNl
RXZlbnQqPihldmVudCk7CisgICAgICAgIGlmIChtb3VzZUV2ZW50LT5idXR0b24oKSA9PSBNaWRk
bGVCdXR0b24gJiYgIXRoaXMtPmlzTGluaygpKSB7CisgICAgICAgICAgICBSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKKworICAgICAgICAgICAgd2hpbGUgKHJlbmRl
cmVyICYmICghcmVuZGVyZXItPmlzQm94KCkgfHwgIXRvUmVuZGVyQm94KHJlbmRlcmVyKS0+Y2Fu
QmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkpKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFyZW5kZXJlci0+cGFyZW50KCkgJiYgcmVuZGVyZXItPm5vZGUoKSA9PSByZW5kZXJlci0+ZG9j
dW1lbnQoKSAmJiByZW5kZXJlci0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCkpCisgICAgICAg
ICAgICAgICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVu
dCgpLT5yZW5kZXJlcigpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgcmVuZGVyZXIgPSByZW5kZXJlci0+cGFyZW50KCk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGlmIChyZW5kZXJlcikKKyAgICAgICAgICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0g
cmVuZGVyZXItPmRvY3VtZW50KCktPmZyYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGZyYW1l
LT5ldmVudEhhbmRsZXIoKS0+c3RhcnRQYW5TY3JvbGxpbmcocmVuZGVyZXIpOworICAgICAgICB9
CisjZW5kaWYKICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiA1
MTk1MSkKKysrIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02ODksNiArNjg5LDE0IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjphdXRvc2Nyb2xsVGltZXJGaXJl
ZCgKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogCit2b2lkIEV2ZW50SGFuZGxlcjo6c3Rh
cnRQYW5TY3JvbGxpbmcoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICBtX3BhblNjcm9s
bEluUHJvZ3Jlc3MgPSB0cnVlOworICAgIG1fcGFuU2Nyb2xsQnV0dG9uUHJlc3NlZCA9IHRydWU7
CisgICAgaGFuZGxlQXV0b3Njcm9sbChyZW5kZXJlcik7CisgICAgaW52YWxpZGF0ZUNsaWNrKCk7
Cit9CisKIHZvaWQgRXZlbnRIYW5kbGVyOjp1cGRhdGVQYW5TY3JvbGxTdGF0ZSgpCiB7CiAgICAg
RnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+dmlldygpOwpAQCAtMTE4OCwyNSArMTE5Niw2IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKICAgICAgICAgaW52YWxp
ZGF0ZUNsaWNrKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLQotICAgIGlmIChtb3Vz
ZUV2ZW50LmJ1dHRvbigpID09IE1pZGRsZUJ1dHRvbiAmJiAhbWV2LmlzT3ZlckxpbmsoKSkgewot
ICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gbWV2LnRhcmdldE5vZGUoKS0+cmVuZGVy
ZXIoKTsKLQotICAgICAgICB3aGlsZSAocmVuZGVyZXIgJiYgKCFyZW5kZXJlci0+aXNCb3goKSB8
fCAhdG9SZW5kZXJCb3gocmVuZGVyZXIpLT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFy
ZWEoKSkpIHsKLSAgICAgICAgICAgIGlmICghcmVuZGVyZXItPnBhcmVudCgpICYmIHJlbmRlcmVy
LT5ub2RlKCkgPT0gcmVuZGVyZXItPmRvY3VtZW50KCkgJiYgcmVuZGVyZXItPmRvY3VtZW50KCkt
Pm93bmVyRWxlbWVudCgpKQotICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPmRv
Y3VtZW50KCktPm93bmVyRWxlbWVudCgpLT5yZW5kZXJlcigpOwotICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKHJlbmRlcmVyKSB7Ci0gICAgICAgICAgICBtX3BhblNjcm9sbEluUHJv
Z3Jlc3MgPSB0cnVlOwotICAgICAgICAgICAgbV9wYW5TY3JvbGxCdXR0b25QcmVzc2VkID0gdHJ1
ZTsKLSAgICAgICAgICAgIGhhbmRsZUF1dG9zY3JvbGwocmVuZGVyZXIpOwotICAgICAgICAgICAg
aW52YWxpZGF0ZUNsaWNrKCk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQot
ICAgIH0KICNlbmRpZgogCiAgICAgbV9jbGlja0NvdW50ID0gbW91c2VFdmVudC5jbGlja0NvdW50
KCk7CkluZGV4OiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCShyZXZpc2lvbiA1MTk1MSkKKysrIFdlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUsNyBAQCBwdWJsaWM6
CiAgICAgTm9kZSogbW91c2VQcmVzc05vZGUoKSBjb25zdDsKICAgICB2b2lkIHNldE1vdXNlUHJl
c3NOb2RlKFBhc3NSZWZQdHI8Tm9kZT4pOwogCisgICAgdm9pZCBzdGFydFBhblNjcm9sbGluZyhS
ZW5kZXJPYmplY3QqKTsKICAgICBib29sIHBhblNjcm9sbEluUHJvZ3Jlc3MoKSB7IHJldHVybiBt
X3BhblNjcm9sbEluUHJvZ3Jlc3M7IH0KICAgICB2b2lkIHNldFBhblNjcm9sbEluUHJvZ3Jlc3Mo
Ym9vbCBpblByb2dyZXNzKSB7IG1fcGFuU2Nyb2xsSW5Qcm9ncmVzcyA9IGluUHJvZ3Jlc3M7IH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44649</attachid>
            <date>2009-12-10 16:40:36 -0800</date>
            <delta_ts>2009-12-11 10:16:40 -0800</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>pan_scroll_fire_prevent_default.patch</filename>
            <type>text/plain</type>
            <size>11723</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTk3MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMDktMTItMTAgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzMyMzAzPi4KKyAgICAgICAgTWlkZGxlLW1v
dXNlIGJ1dHRvbiBub3QgZmlyaW5nIG1vdXNlZG93biBET00gZXZlbnQgd2hlbiBhdXRvc2Nyb2xs
IGhhcHBlbnMuCisgICAgICAgIAorICAgICAgICBUaGlzIGZpeCBtb3ZlcyB0aGUgcGFuIHNjcm9s
bGluZyBjb2RlIGludG8gTm9kZS5jcHAsIGFzIHBhcnQgb2YgdGhlIGRlZmF1bHQgZXZlbnQgaGFu
ZGxlci4KKyAgICAgICAgV2UgZ2V0IHR3byB3aW5zIG91dCBvZiB0aGlzOgorICAgICAgICAgICAg
MSkgTW91c2Vkb3duIERPTSBldmVudHMgYXJlIG5vdyBmaXJlZCBiZWZvcmUgcGFuIHNjcm9sbGlu
Zy4KKyAgICAgICAgICAgIDIpIENhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKSBvbiBhIG1p
ZGRsZSBtb3VzZSBidXR0b24gd2lsbCBub3cgcHJldmVudCBwYW4gc2Nyb2xsaW5nLgorICAgICAg
ICAKKyAgICAgICAgQWRkZWQgdGVzdHMgdG8gc2hvdyB0aGF0IG1pZGRsZSBtb3VzZWRvd24gRE9N
IGV2ZW50cyBhcmUgZmlyZWQgd2hlbiBwYW5zY3JvbGxpbmcgaGFwcGVucywgYW5kCisgICAgICAg
IHRoYXQgd2hlbiBldmVudC5wcmV2ZW50RGVmYXVsdCBpcyBjYWxsZWQsIHBhbiBzY3JvbGxpbmcg
ZG9lc24ndCBoYXBwZW4uCisKKyAgICAgICAgVGVzdHM6IHBsYXRmb3JtL3dpbi9mYXN0L2V2ZW50
cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vd2lu
L2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1wcmV2ZW50RGVmYXVsdC5odG1sCisKKyAgICAgICAgKiBk
b20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVy
KTogTW92ZWQgcGFuIHNjcm9sbGluZyBzdGFydGluZyBjb2RlIHRvIGhlcmUuCisgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpz
dGFydFBhblNjcm9sbGluZyk6IEZ1bmN0aW9uIHRvIGluaXRpYWxpemUgc2Nyb2xsaW5nIHZhcmlh
YmxlcyBhbmQgc3RhcnQgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudCk6IEZyb20gaGVyZS4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5oOgorCiAyMDA5LTEyLTEwICBLZW50IEhhbnNlbiAgPGtlbnQuaGFuc2VuQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KSW5kZXg6IFdlYkNvcmUv
ZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lv
biA1MTk1MSkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODI3
LDYgKzI4MjcsMjYgQEAgdm9pZCBOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldgog
ICAgICAgICBpZiAoZXZlbnQtPmlzVGV4dEV2ZW50KCkpCiAgICAgICAgICAgICBpZiAoRnJhbWUq
IGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKICAgICAgICAgICAgICAgICBmcmFtZS0+ZXZl
bnRIYW5kbGVyKCktPmRlZmF1bHRUZXh0SW5wdXRFdmVudEhhbmRsZXIoc3RhdGljX2Nhc3Q8VGV4
dEV2ZW50Kj4oZXZlbnQpKTsKKyNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKKyAgICB9IGVsc2Ug
aWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQpIHsKKyAgICAgICAg
TW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCk7
CisgICAgICAgIGlmIChtb3VzZUV2ZW50LT5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24gJiYgIXRo
aXMtPmlzTGluaygpKSB7CisgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGhp
cy0+cmVuZGVyZXIoKTsKKworICAgICAgICAgICAgd2hpbGUgKHJlbmRlcmVyICYmICghcmVuZGVy
ZXItPmlzQm94KCkgfHwgIXRvUmVuZGVyQm94KHJlbmRlcmVyKS0+Y2FuQmVTY3JvbGxlZEFuZEhh
c1Njcm9sbGFibGVBcmVhKCkpKSB7CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IElmIHdlIHN0
YXJ0IGluIGEgZnJhbWUgdGhhdCBjYW4ndCBzY3JvbGwsIHdlIGRvbid0IHdhbnQgdG8ganVtcCBv
dXQgb2YgaXQgdG8gc3RhcnQgc2Nyb2xsaW5nOgorICAgICAgICAgICAgICAgIC8vIDxodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIzOTk+LgorICAgICAgICAgICAgICAg
IGlmICghcmVuZGVyZXItPnBhcmVudCgpICYmIHJlbmRlcmVyLT5ub2RlKCkgPT0gcmVuZGVyZXIt
PmRvY3VtZW50KCkgJiYgcmVuZGVyZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKQorICAg
ICAgICAgICAgICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT5vd25lckVs
ZW1lbnQoKS0+cmVuZGVyZXIoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBpZiAocmVuZGVyZXIpCisgICAgICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFt
ZSA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT5mcmFtZSgpKQorICAgICAgICAgICAgICAgICAgICBm
cmFtZS0+ZXZlbnRIYW5kbGVyKCktPnN0YXJ0UGFuU2Nyb2xsaW5nKHJlbmRlcmVyKTsKKyAgICAg
ICAgfQorI2VuZGlmCiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNp
b24gNTE5NTEpCisrKyBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjg5LDYgKzY4OSwxNCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b3Njcm9sbFRpbWVy
RmlyZWQoCiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIAordm9pZCBFdmVudEhhbmRsZXI6
OnN0YXJ0UGFuU2Nyb2xsaW5nKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgbV9wYW5T
Y3JvbGxJblByb2dyZXNzID0gdHJ1ZTsKKyAgICBtX3BhblNjcm9sbEJ1dHRvblByZXNzZWQgPSB0
cnVlOworICAgIGhhbmRsZUF1dG9zY3JvbGwocmVuZGVyZXIpOworICAgIGludmFsaWRhdGVDbGlj
aygpOworfQorCiB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlUGFuU2Nyb2xsU3RhdGUoKQogewog
ICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKQEAgLTExODgsMjUgKzExOTYs
NiBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50CiAgICAgICAgIGlu
dmFsaWRhdGVDbGljaygpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0KLSAgICBpZiAo
bW91c2VFdmVudC5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24gJiYgIW1ldi5pc092ZXJMaW5rKCkp
IHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1ldi50YXJnZXROb2RlKCktPnJl
bmRlcmVyKCk7Ci0KLSAgICAgICAgd2hpbGUgKHJlbmRlcmVyICYmICghcmVuZGVyZXItPmlzQm94
KCkgfHwgIXRvUmVuZGVyQm94KHJlbmRlcmVyKS0+Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFi
bGVBcmVhKCkpKSB7Ci0gICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5wYXJlbnQoKSAmJiByZW5k
ZXJlci0+bm9kZSgpID09IHJlbmRlcmVyLT5kb2N1bWVudCgpICYmIHJlbmRlcmVyLT5kb2N1bWVu
dCgpLT5vd25lckVsZW1lbnQoKSkKLSAgICAgICAgICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVy
LT5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKS0+cmVuZGVyZXIoKTsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVyLT5wYXJlbnQoKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGlmIChyZW5kZXJlcikgewotICAgICAgICAgICAgbV9wYW5TY3JvbGxJ
blByb2dyZXNzID0gdHJ1ZTsKLSAgICAgICAgICAgIG1fcGFuU2Nyb2xsQnV0dG9uUHJlc3NlZCA9
IHRydWU7Ci0gICAgICAgICAgICBoYW5kbGVBdXRvc2Nyb2xsKHJlbmRlcmVyKTsKLSAgICAgICAg
ICAgIGludmFsaWRhdGVDbGljaygpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
IH0KLSAgICB9CiAjZW5kaWYKIAogICAgIG1fY2xpY2tDb3VudCA9IG1vdXNlRXZlbnQuY2xpY2tD
b3VudCgpOwpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAkocmV2aXNpb24gNTE5NTEpCisrKyBXZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDYgKzg1LDcgQEAgcHVi
bGljOgogICAgIE5vZGUqIG1vdXNlUHJlc3NOb2RlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRNb3Vz
ZVByZXNzTm9kZShQYXNzUmVmUHRyPE5vZGU+KTsKIAorICAgIHZvaWQgc3RhcnRQYW5TY3JvbGxp
bmcoUmVuZGVyT2JqZWN0Kik7CiAgICAgYm9vbCBwYW5TY3JvbGxJblByb2dyZXNzKCkgeyByZXR1
cm4gbV9wYW5TY3JvbGxJblByb2dyZXNzOyB9CiAgICAgdm9pZCBzZXRQYW5TY3JvbGxJblByb2dy
ZXNzKGJvb2wgaW5Qcm9ncmVzcykgeyBtX3BhblNjcm9sbEluUHJvZ3Jlc3MgPSBpblByb2dyZXNz
OyB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUxOTcyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDktMTItMTAgIEJyaWFuIFdlaW5z
dGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzMyMzAzPi4K
KyAgICAgICAgTWlkZGxlLW1vdXNlIGJ1dHRvbiBub3QgZmlyaW5nIG1vdXNlZG93biBET00gZXZl
bnQgd2hlbiBhdXRvc2Nyb2xsIGhhcHBlbnMuCisgICAgICAgIAorICAgICAgICBBZGRlZCB0ZXN0
cyB0byBzaG93IHRoYXQgbWlkZGxlIG1vdXNlZG93biBET00gZXZlbnRzIGFyZSBmaXJlZCB3aGVu
IHBhbnNjcm9sbGluZyBoYXBwZW5zLCBhbmQKKyAgICAgICAgdGhhdCB3aGVuIGV2ZW50LnByZXZl
bnREZWZhdWx0IGlzIGNhbGxlZCwgcGFuIHNjcm9sbGluZyBkb2Vzbid0IGhhcHBlbi4KKworICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvcGFu
U2Nyb2xsLWV2ZW50LWZpcmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9m
YXN0L2V2ZW50cy9wYW5TY3JvbGwtcHJldmVudERlZmF1bHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvcGFuU2Nyb2xsLXByZXZlbnREZWZh
dWx0Lmh0bWw6IEFkZGVkLgorCiAyMDA5LTEyLTEwICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2
ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1ldmVudC1maXJl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE0OiBNb3VzZWRvd24gd2l0aCAxCitUZXN0IGZvciBidWcgMjgwMjMgVGhpcyB0
ZXN0cyB0aGF0IHBhbiBzY3JvbGxpbmcgd29ya3Mgd2l0aG91dCBldmVudC5wcmV2ZW50RGVmYXVs
dCBhbmQgdGhlIG1pZGRsZSBidXR0b24gbW91c2Vkb3duIGV2ZW50IGlzIGZpcmVkLiBUbyB0ZXN0
IG1hbnVhbGx5LCB0cnkgdG8gcGFuIHNjcm9sbCBpbnNpZGUgdGhpcyBkaXYuCisKK1N1Y2Nlc3Mh
IERpdiB3aXRoIG92ZXJmbG93IHdhcyBzY3JvbGxlZApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1ldmVudC1maXJlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQt
ZmlyZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0
L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0NiBAQAorPGh0bWw+DQorICAgIDxoZWFkPg0KKyAgICAgICAgPHRpdGxlPlBhbiBTY3JvbGxp
bmcgVGVzdDwvdGl0bGU+DQorICAgIDwvaGVhZD4NCisgICAgPGJvZHk+DQorICAgICAgICA8c2Ny
aXB0Pg0KKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsNCisg
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKyAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7DQorICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoJ21v
dXNlZG93bicsIA0KKyAgICAgICAgICAgICAgICBmdW5jdGlvbihldmVudCkgeyANCisgICAgICAg
ICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJNb3VzZWRvd24gd2l0aCAiICsgZXZlbnQuYnV0dG9u
KTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICwgZmFsc2UpOw0KKyAgICAgICAg
PC9zY3JpcHQ+DQorICAgICAgICA8ZGl2IGlkPSJvdmVyZmxvdyIgc3R5bGU9IndpZHRoOjUwMHB4
OyBoZWlnaHQ6MTUwcHg7IG92ZXJmbG93OmF1dG87IGJvcmRlcjoycHggc29saWQgcmVkOyBwYWRk
aW5nOjEwcHgiPg0KKyAgICAgICAgICAgIDxoMT5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIzMDMiPmJ1ZyAyODAyMzwvYT4gVGhpcyB0
ZXN0cyB0aGF0IHBhbg0KKyAgICAgICAgICAgIHNjcm9sbGluZyB3b3JrcyB3aXRob3V0IGV2ZW50
LnByZXZlbnREZWZhdWx0IGFuZCB0aGUgbWlkZGxlIGJ1dHRvbiBtb3VzZWRvd24gZXZlbnQgaXMg
ZmlyZWQuDQorICAgICAgICAgICAgVG8gdGVzdCBtYW51YWxseSwgdHJ5IHRvIHBhbiBzY3JvbGwg
aW5zaWRlIHRoaXMgZGl2LjwvaDE+DQorICAgICAgICA8L2Rpdj4NCisgICAgICAgIDxwPg0KKyAg
ICAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+DQorICAgICAgICA8c2NyaXB0Pg0KKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpDQorICAgICAgICAgICAgew0KKyAgICAgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyg1MCwgNTApOw0KKyAgICAgICAgICAgICAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oMSk7DQorICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlVXAoMSk7DQorICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUw
LCAyMDApOw0KKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZpbmlzaGVkLCA1MDApOw0KKyAg
ICAgICAgICAgIH0NCisgICAgICAgICAgICANCisgICAgICAgICAgICBmdW5jdGlvbiBmaW5pc2hl
ZCgpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ292ZXJmbG93Jykuc2Nyb2xsVG9wKQ0KKyAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lckhUTUwgPSAiU3VjY2VzcyEgRGl2
IHdpdGggb3ZlcmZsb3cgd2FzIHNjcm9sbGVkIjsNCisgICAgICAgICAgICAgICAgZWxzZQ0KKyAg
ICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5l
ckhUTUwgPSAiRmFpbCEgRGl2IHdpdGggb3ZlcmZsb3cgd2FzIG5vdCBzY3JvbGxlZCI7DQorICAg
ICAgICAgICAgICAgIA0KKyAgICAgICAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIDwvc2NyaXB0Pg0KKyAg
ICA8L2JvZHk+DQorPC9odG1sPg0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0
L2V2ZW50cy9wYW5TY3JvbGwtcHJldmVudERlZmF1bHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtcHJldmVu
dERlZmF1bHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1wcmV2ZW50RGVmYXVsdC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBN
b3VzZWRvd24gd2l0aCAxCitUZXN0IGZvciBidWcgMjgwMjMgVGhpcyB0ZXN0cyB0aGF0IGhhdmlu
ZyBhIHByZXZlbnREZWZhdWx0IG9uIG1vdXNlZG93biB3aWxsIHByZXZlbnQgcGFuIHNjcm9sbGlu
ZyBhbmQgdGhlIG1pZGRsZSBidXR0b24gbW91c2Vkb3duIGV2ZW50IGlzIGZpcmVkLiBUbyB0ZXN0
IG1hbnVhbGx5LCB0cnkgdG8gcGFuIHNjcm9sbCBpbnNpZGUgdGhpcyBkaXYuCisKK1N1Y2Nlc3Mh
IERpdiB3aXRoIG92ZXJmbG93IHdhcyBub3Qgc2Nyb2xsZWQKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtcHJldmVudERlZmF1bHQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvcGFuU2Nyb2xs
LXByZXZlbnREZWZhdWx0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC9ldmVudHMvcGFuU2Nyb2xsLXByZXZlbnREZWZhdWx0Lmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNDcgQEAKKzxodG1sPg0KKyAgICA8aGVhZD4NCisgICAgICAgIDx0aXRs
ZT5QYW4gU2Nyb2xsaW5nIFRlc3Q8L3RpdGxlPg0KKyAgICA8L2hlYWQ+DQorICAgIDxib2R5Pg0K
KyAgICAgICAgPHNjcmlwdD4NCisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7DQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsNCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgICANCisgICAgICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCdtb3VzZWRvd24nLCANCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oZXZlbnQp
IHsgDQorICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiTW91c2Vkb3duIHdpdGggIiAr
IGV2ZW50LmJ1dHRvbik7DQorICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVs
dCgpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgLCBmYWxzZSk7DQorICAgICAg
ICA8L3NjcmlwdD4NCisgICAgICAgIDxkaXYgaWQ9Im92ZXJmbG93IiBzdHlsZT0id2lkdGg6NTAw
cHg7IGhlaWdodDoxNTBweDsgb3ZlcmZsb3c6YXV0bzsgYm9yZGVyOjJweCBzb2xpZCByZWQ7IHBh
ZGRpbmc6MTBweCI+DQorICAgICAgICAgICAgPGgxPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjMwMyI+YnVnIDI4MDIzPC9hPiBUaGlz
IHRlc3RzIHRoYXQgaGF2aW5nIGENCisgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCBvbiBtb3Vz
ZWRvd24gd2lsbCBwcmV2ZW50IHBhbiBzY3JvbGxpbmcgYW5kIHRoZSBtaWRkbGUgYnV0dG9uIG1v
dXNlZG93biBldmVudCBpcyBmaXJlZC4NCisgICAgICAgICAgICBUbyB0ZXN0IG1hbnVhbGx5LCB0
cnkgdG8gcGFuIHNjcm9sbCBpbnNpZGUgdGhpcyBkaXYuPC9oMT4NCisgICAgICAgIDwvZGl2Pg0K
KyAgICAgICAgPHA+DQorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4NCisgICAgICAg
IDxzY3JpcHQ+DQorICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCA1MCk7
DQorICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigxKTsNCisgICAgICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgxKTsNCisgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oNTAsIDIwMCk7DQorICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZmlu
aXNoZWQsIDUwMCk7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIA0KKyAgICAgICAgICAg
IGZ1bmN0aW9uIGZpbmlzaGVkKCkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIGlm
IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3ZlcmZsb3cnKS5zY3JvbGxUb3ApDQorICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmlubmVySFRN
TCA9ICJGYWlsISBEaXYgd2l0aCBvdmVyZmxvdyB3YXMgc2Nyb2xsZWQiOw0KKyAgICAgICAgICAg
ICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Y29uc29sZScpLmlubmVySFRNTCA9ICJTdWNjZXNzISBEaXYgd2l0aCBvdmVyZmxvdyB3YXMgbm90
IHNjcm9sbGVkIjsNCisgICAgICAgICAgICAgICAgDQorICAgICAgICAgICAgICAgIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7DQorICAgICAgICAgICAgfQ0KKyAgICAg
ICAgPC9zY3JpcHQ+DQorICAgIDwvYm9keT4NCis8L2h0bWw+DQo=
</data>
<flag name="review"
          id="26549"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="26550"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>44656</attachid>
            <date>2009-12-10 18:33:15 -0800</date>
            <delta_ts>2009-12-10 18:33:15 -0800</delta_ts>
            <desc>Same as Brian&apos;s fix, but corrects references to bug 28023 in his test HTML files.</desc>
            <filename>Patch - test typo fixed</filename>
            <type>application/octet-stream</type>
            <size>11629</size>
            <attacher name="Brenton">webkit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTk3MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMDktMTItMTAgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzMyMzAzPi4KKyAgICAgICAgTWlkZGxlLW1v
dXNlIGJ1dHRvbiBub3QgZmlyaW5nIG1vdXNlZG93biBET00gZXZlbnQgd2hlbiBhdXRvc2Nyb2xs
IGhhcHBlbnMuCisgICAgICAgIAorICAgICAgICBUaGlzIGZpeCBtb3ZlcyB0aGUgcGFuIHNjcm9s
bGluZyBjb2RlIGludG8gTm9kZS5jcHAsIGFzIHBhcnQgb2YgdGhlIGRlZmF1bHQgZXZlbnQgaGFu
ZGxlci4KKyAgICAgICAgV2UgZ2V0IHR3byB3aW5zIG91dCBvZiB0aGlzOgorICAgICAgICAgICAg
MSkgTW91c2Vkb3duIERPTSBldmVudHMgYXJlIG5vdyBmaXJlZCBiZWZvcmUgcGFuIHNjcm9sbGlu
Zy4KKyAgICAgICAgICAgIDIpIENhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKSBvbiBhIG1p
ZGRsZSBtb3VzZSBidXR0b24gd2lsbCBub3cgcHJldmVudCBwYW4gc2Nyb2xsaW5nLgorICAgICAg
ICAKKyAgICAgICAgQWRkZWQgdGVzdHMgdG8gc2hvdyB0aGF0IG1pZGRsZSBtb3VzZWRvd24gRE9N
IGV2ZW50cyBhcmUgZmlyZWQgd2hlbiBwYW5zY3JvbGxpbmcgaGFwcGVucywgYW5kCisgICAgICAg
IHRoYXQgd2hlbiBldmVudC5wcmV2ZW50RGVmYXVsdCBpcyBjYWxsZWQsIHBhbiBzY3JvbGxpbmcg
ZG9lc24ndCBoYXBwZW4uCisKKyAgICAgICAgVGVzdHM6IHBsYXRmb3JtL3dpbi9mYXN0L2V2ZW50
cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vd2lu
L2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1wcmV2ZW50RGVmYXVsdC5odG1sCisKKyAgICAgICAgKiBk
b20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVy
KTogTW92ZWQgcGFuIHNjcm9sbGluZyBzdGFydGluZyBjb2RlIHRvIGhlcmUuCisgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpz
dGFydFBhblNjcm9sbGluZyk6IEZ1bmN0aW9uIHRvIGluaXRpYWxpemUgc2Nyb2xsaW5nIHZhcmlh
YmxlcyBhbmQgc3RhcnQgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudCk6IEZyb20gaGVyZS4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5oOgorCiAyMDA5LTEyLTEwICBLZW50IEhhbnNlbiAgPGtlbnQuaGFuc2VuQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KSW5kZXg6IFdlYkNvcmUv
ZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lv
biA1MTk1MSkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODI3
LDYgKzI4MjcsMjYgQEAgdm9pZCBOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldgog
ICAgICAgICBpZiAoZXZlbnQtPmlzVGV4dEV2ZW50KCkpCiAgICAgICAgICAgICBpZiAoRnJhbWUq
IGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKICAgICAgICAgICAgICAgICBmcmFtZS0+ZXZl
bnRIYW5kbGVyKCktPmRlZmF1bHRUZXh0SW5wdXRFdmVudEhhbmRsZXIoc3RhdGljX2Nhc3Q8VGV4
dEV2ZW50Kj4oZXZlbnQpKTsKKyNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKKyAgICB9IGVsc2Ug
aWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQpIHsKKyAgICAgICAg
TW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCk7
CisgICAgICAgIGlmIChtb3VzZUV2ZW50LT5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24gJiYgIXRo
aXMtPmlzTGluaygpKSB7CisgICAgICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGhp
cy0+cmVuZGVyZXIoKTsKKworICAgICAgICAgICAgd2hpbGUgKHJlbmRlcmVyICYmICghcmVuZGVy
ZXItPmlzQm94KCkgfHwgIXRvUmVuZGVyQm94KHJlbmRlcmVyKS0+Y2FuQmVTY3JvbGxlZEFuZEhh
c1Njcm9sbGFibGVBcmVhKCkpKSB7CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IElmIHdlIHN0
YXJ0IGluIGEgZnJhbWUgdGhhdCBjYW4ndCBzY3JvbGwsIHdlIGRvbid0IHdhbnQgdG8ganVtcCBv
dXQgb2YgaXQgdG8gc3RhcnQgc2Nyb2xsaW5nOgorICAgICAgICAgICAgICAgIC8vIDxodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIzOTk+LgorICAgICAgICAgICAgICAg
IGlmICghcmVuZGVyZXItPnBhcmVudCgpICYmIHJlbmRlcmVyLT5ub2RlKCkgPT0gcmVuZGVyZXIt
PmRvY3VtZW50KCkgJiYgcmVuZGVyZXItPmRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpKQorICAg
ICAgICAgICAgICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT5vd25lckVs
ZW1lbnQoKS0+cmVuZGVyZXIoKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBpZiAocmVuZGVyZXIpCisgICAgICAgICAgICAgICAgaWYgKEZyYW1lKiBmcmFt
ZSA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT5mcmFtZSgpKQorICAgICAgICAgICAgICAgICAgICBm
cmFtZS0+ZXZlbnRIYW5kbGVyKCktPnN0YXJ0UGFuU2Nyb2xsaW5nKHJlbmRlcmVyKTsKKyAgICAg
ICAgfQorI2VuZGlmCiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNp
b24gNTE5NTEpCisrKyBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjg5LDYgKzY4OSwxNCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6YXV0b3Njcm9sbFRpbWVy
RmlyZWQoCiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIAordm9pZCBFdmVudEhhbmRsZXI6
OnN0YXJ0UGFuU2Nyb2xsaW5nKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgbV9wYW5T
Y3JvbGxJblByb2dyZXNzID0gdHJ1ZTsKKyAgICBtX3BhblNjcm9sbEJ1dHRvblByZXNzZWQgPSB0
cnVlOworICAgIGhhbmRsZUF1dG9zY3JvbGwocmVuZGVyZXIpOworICAgIGludmFsaWRhdGVDbGlj
aygpOworfQorCiB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlUGFuU2Nyb2xsU3RhdGUoKQogewog
ICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKQEAgLTExODgsMjUgKzExOTYs
NiBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50CiAgICAgICAgIGlu
dmFsaWRhdGVDbGljaygpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0KLSAgICBpZiAo
bW91c2VFdmVudC5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24gJiYgIW1ldi5pc092ZXJMaW5rKCkp
IHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1ldi50YXJnZXROb2RlKCktPnJl
bmRlcmVyKCk7Ci0KLSAgICAgICAgd2hpbGUgKHJlbmRlcmVyICYmICghcmVuZGVyZXItPmlzQm94
KCkgfHwgIXRvUmVuZGVyQm94KHJlbmRlcmVyKS0+Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFi
bGVBcmVhKCkpKSB7Ci0gICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5wYXJlbnQoKSAmJiByZW5k
ZXJlci0+bm9kZSgpID09IHJlbmRlcmVyLT5kb2N1bWVudCgpICYmIHJlbmRlcmVyLT5kb2N1bWVu
dCgpLT5vd25lckVsZW1lbnQoKSkKLSAgICAgICAgICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVy
LT5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKS0+cmVuZGVyZXIoKTsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVyLT5wYXJlbnQoKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGlmIChyZW5kZXJlcikgewotICAgICAgICAgICAgbV9wYW5TY3JvbGxJ
blByb2dyZXNzID0gdHJ1ZTsKLSAgICAgICAgICAgIG1fcGFuU2Nyb2xsQnV0dG9uUHJlc3NlZCA9
IHRydWU7Ci0gICAgICAgICAgICBoYW5kbGVBdXRvc2Nyb2xsKHJlbmRlcmVyKTsKLSAgICAgICAg
ICAgIGludmFsaWRhdGVDbGljaygpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
IH0KLSAgICB9CiAjZW5kaWYKIAogICAgIG1fY2xpY2tDb3VudCA9IG1vdXNlRXZlbnQuY2xpY2tD
b3VudCgpOwpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAkocmV2aXNpb24gNTE5NTEpCisrKyBXZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDYgKzg1LDcgQEAgcHVi
bGljOgogICAgIE5vZGUqIG1vdXNlUHJlc3NOb2RlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRNb3Vz
ZVByZXNzTm9kZShQYXNzUmVmUHRyPE5vZGU+KTsKIAorICAgIHZvaWQgc3RhcnRQYW5TY3JvbGxp
bmcoUmVuZGVyT2JqZWN0Kik7CiAgICAgYm9vbCBwYW5TY3JvbGxJblByb2dyZXNzKCkgeyByZXR1
cm4gbV9wYW5TY3JvbGxJblByb2dyZXNzOyB9CiAgICAgdm9pZCBzZXRQYW5TY3JvbGxJblByb2dy
ZXNzKGJvb2wgaW5Qcm9ncmVzcykgeyBtX3BhblNjcm9sbEluUHJvZ3Jlc3MgPSBpblByb2dyZXNz
OyB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUxOTcyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDktMTItMTAgIEJyaWFuIFdlaW5z
dGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzMyMzAzPi4K
KyAgICAgICAgTWlkZGxlLW1vdXNlIGJ1dHRvbiBub3QgZmlyaW5nIG1vdXNlZG93biBET00gZXZl
bnQgd2hlbiBhdXRvc2Nyb2xsIGhhcHBlbnMuCisgICAgICAgIAorICAgICAgICBBZGRlZCB0ZXN0
cyB0byBzaG93IHRoYXQgbWlkZGxlIG1vdXNlZG93biBET00gZXZlbnRzIGFyZSBmaXJlZCB3aGVu
IHBhbnNjcm9sbGluZyBoYXBwZW5zLCBhbmQKKyAgICAgICAgdGhhdCB3aGVuIGV2ZW50LnByZXZl
bnREZWZhdWx0IGlzIGNhbGxlZCwgcGFuIHNjcm9sbGluZyBkb2Vzbid0IGhhcHBlbi4KKworICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvcGFu
U2Nyb2xsLWV2ZW50LWZpcmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9m
YXN0L2V2ZW50cy9wYW5TY3JvbGwtcHJldmVudERlZmF1bHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvcGFuU2Nyb2xsLXByZXZlbnREZWZh
dWx0Lmh0bWw6IEFkZGVkLgorCiAyMDA5LTEyLTEwICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2
ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1ldmVudC1maXJl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE0OiBNb3VzZWRvd24gd2l0aCAxCitUZXN0IGZvciBidWcgMzIzMDMgVGhpcyB0
ZXN0cyB0aGF0IHBhbiBzY3JvbGxpbmcgd29ya3Mgd2l0aG91dCBldmVudC5wcmV2ZW50RGVmYXVs
dCBhbmQgdGhlIG1pZGRsZSBidXR0b24gbW91c2Vkb3duIGV2ZW50IGlzIGZpcmVkLiBUbyB0ZXN0
IG1hbnVhbGx5LCB0cnkgdG8gcGFuIHNjcm9sbCBpbnNpZGUgdGhpcyBkaXYuCisKK1N1Y2Nlc3Mh
IERpdiB3aXRoIG92ZXJmbG93IHdhcyBzY3JvbGxlZApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1ldmVudC1maXJlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQt
ZmlyZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0
L2V2ZW50cy9wYW5TY3JvbGwtZXZlbnQtZmlyZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0NiBAQAorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5QYW4gU2Nyb2xsaW5n
IFRlc3Q8L3RpdGxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBhZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAK
KyAgICAgICAgICAgICAgICBmdW5jdGlvbihldmVudCkgeyAKKyAgICAgICAgICAgICAgICAgICAg
Y29uc29sZS5sb2coIk1vdXNlZG93biB3aXRoICIgKyBldmVudC5idXR0b24pOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAg
ICAgPGRpdiBpZD0ib3ZlcmZsb3ciIHN0eWxlPSJ3aWR0aDo1MDBweDsgaGVpZ2h0OjE1MHB4OyBv
dmVyZmxvdzphdXRvOyBib3JkZXI6MnB4IHNvbGlkIHJlZDsgcGFkZGluZzoxMHB4Ij4KKyAgICAg
ICAgICAgIDxoMT5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzIzMDMiPmJ1ZyAzMjMwMzwvYT4gVGhpcyB0ZXN0cyB0aGF0IHBhbgorICAg
ICAgICAgICAgc2Nyb2xsaW5nIHdvcmtzIHdpdGhvdXQgZXZlbnQucHJldmVudERlZmF1bHQgYW5k
IHRoZSBtaWRkbGUgYnV0dG9uIG1vdXNlZG93biBldmVudCBpcyBmaXJlZC4KKyAgICAgICAgICAg
IFRvIHRlc3QgbWFudWFsbHksIHRyeSB0byBwYW4gc2Nyb2xsIGluc2lkZSB0aGlzIGRpdi48L2gx
PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPHA+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyg1MCwgNTApOworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigxKTsK
KyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKDEpOworICAgICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCAyMDApOworICAgICAgICAgICAgICAgIHNldFRp
bWVvdXQoZmluaXNoZWQsIDUwMCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIGZpbmlzaGVkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ292ZXJmbG93Jykuc2Nyb2xsVG9wKQorICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmlubmVy
SFRNTCA9ICJTdWNjZXNzISBEaXYgd2l0aCBvdmVyZmxvdyB3YXMgc2Nyb2xsZWQiOworICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2NvbnNvbGUnKS5pbm5lckhUTUwgPSAiRmFpbCEgRGl2IHdpdGggb3ZlcmZsb3cgd2FzIG5v
dCBzY3JvbGxlZCI7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1wcmV2ZW50RGVmYXVsdC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZXZlbnRzL3BhblNj
cm9sbC1wcmV2ZW50RGVmYXVsdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvcGFuU2Nyb2xsLXByZXZlbnREZWZhdWx0LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQ6IE1vdXNlZG93biB3aXRoIDEKK1Rlc3QgZm9yIGJ1ZyAzMjMwMyBUaGlzIHRlc3Rz
IHRoYXQgaGF2aW5nIGEgcHJldmVudERlZmF1bHQgb24gbW91c2Vkb3duIHdpbGwgcHJldmVudCBw
YW4gc2Nyb2xsaW5nIGFuZCB0aGUgbWlkZGxlIGJ1dHRvbiBtb3VzZWRvd24gZXZlbnQgaXMgZmly
ZWQuIFRvIHRlc3QgbWFudWFsbHksIHRyeSB0byBwYW4gc2Nyb2xsIGluc2lkZSB0aGlzIGRpdi4K
KworU3VjY2VzcyEgRGl2IHdpdGggb3ZlcmZsb3cgd2FzIG5vdCBzY3JvbGxlZApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZXZlbnRzL3BhblNjcm9sbC1wcmV2ZW50RGVmYXVs
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50
cy9wYW5TY3JvbGwtcHJldmVudERlZmF1bHQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9wYW5TY3JvbGwtcHJldmVudERlZmF1bHQuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorPGh0bWw+CisgICAgPGhlYWQ+CisgICAg
ICAgIDx0aXRsZT5QYW4gU2Nyb2xsaW5nIFRlc3Q8L3RpdGxlPgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBhZGRFdmVu
dExpc3RlbmVyKCdtb3VzZWRvd24nLCAKKyAgICAgICAgICAgICAgICBmdW5jdGlvbihldmVudCkg
eyAKKyAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIk1vdXNlZG93biB3aXRoICIgKyBl
dmVudC5idXR0b24pOworICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICwgZmFsc2UpOworICAgICAgICA8L3Nj
cmlwdD4KKyAgICAgICAgPGRpdiBpZD0ib3ZlcmZsb3ciIHN0eWxlPSJ3aWR0aDo1MDBweDsgaGVp
Z2h0OjE1MHB4OyBvdmVyZmxvdzphdXRvOyBib3JkZXI6MnB4IHNvbGlkIHJlZDsgcGFkZGluZzox
MHB4Ij4KKyAgICAgICAgICAgIDxoMT5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIzMDMiPmJ1ZyAzMjMwMzwvYT4gVGhpcyB0ZXN0cyB0
aGF0IGhhdmluZyBhCisgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdCBvbiBtb3VzZWRvd24gd2ls
bCBwcmV2ZW50IHBhbiBzY3JvbGxpbmcgYW5kIHRoZSBtaWRkbGUgYnV0dG9uIG1vdXNlZG93biBl
dmVudCBpcyBmaXJlZC4KKyAgICAgICAgICAgIFRvIHRlc3QgbWFudWFsbHksIHRyeSB0byBwYW4g
c2Nyb2xsIGluc2lkZSB0aGlzIGRpdi48L2gxPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPHA+
CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyg1MCwgNTApOworICAgICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlRG93bigxKTsKKyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5t
b3VzZVVwKDEpOworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDUwLCAy
MDApOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZmluaXNoZWQsIDUwMCk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaGVkKCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J292ZXJmbG93Jykuc2Nyb2xsVG9wKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY29uc29sZScpLmlubmVySFRNTCA9ICJGYWlsISBEaXYgd2l0aCBvdmVyZmxv
dyB3YXMgc2Nyb2xsZWQiOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lckhUTUwgPSAiU3VjY2Vz
cyEgRGl2IHdpdGggb3ZlcmZsb3cgd2FzIG5vdCBzY3JvbGxlZCI7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1s
Pg==
</data>

          </attachment>
      

    </bug>

</bugzilla>