<?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>23557</bug_id>
          
          <creation_ts>2009-01-26 15:46:47 -0800</creation_ts>
          <short_desc>Allow hit testing of page content without clipping to visible</short_desc>
          <delta_ts>2009-01-28 08:40:38 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Treat">manyoso</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hyatt</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>staikos</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>107103</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-26 15:46:47 -0800</bug_when>
    <thetext>Currently all hit testing clips the test to the visible content of the frame.  QWebFrame::hitTestContent should not clip to the visible content, rather it should return the hit test result regardless of the currently visible viewport.  This patch adds a simple option that allows performing hit tests without clipping it to the visible viewport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107104</commentid>
    <comment_count>1</comment_count>
      <attachid>27053</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-26 15:48:04 -0800</bug_when>
    <thetext>Created attachment 27053
Don&apos;t clip to visible option

Implements the no clip option for hit tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107122</commentid>
    <comment_count>2</comment_count>
      <attachid>27053</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-01-26 17:24:23 -0800</bug_when>
    <thetext>Comment on attachment 27053
Don&apos;t clip to visible option

Patch looks fine, despite the fact that HitTestRequest is so ugly - it should really use enums as flags, instead of a wild series of booleans.
It would be great to get that fixed - but that&apos;s out of the scope for this patch. r=me.

Would you file a bug on HitTestRequest uglyness?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107141</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-26 19:08:38 -0800</bug_when>
    <thetext>Are you thinking of an enum that can be OR&apos;d together to generate the appropriate HitTestRequest?  If so I&apos;ll come up with a patch... :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107156</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-26 22:03:17 -0800</bug_when>
    <thetext>Reopened for layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107177</commentid>
    <comment_count>5</comment_count>
      <attachid>27072</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-27 06:10:09 -0800</bug_when>
    <thetext>Created attachment 27072
Fixes bug and also adds test

Added a test to qwebframe to guard against regression.  I don&apos;t see a clean way of adding hit testing layout tests, but if anyone can think of a good way let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107178</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-27 06:11:07 -0800</bug_when>
    <thetext>Add Simon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107179</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-27 06:11:55 -0800</bug_when>
    <thetext>Add David Hyatt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107183</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-01-27 07:35:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Are you thinking of an enum that can be OR&apos;d together to generate the
&gt; appropriate HitTestRequest?  If so I&apos;ll come up with a patch... :)
&gt; 
Yes, exactly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107189</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-01-27 08:42:58 -0800</bug_when>
    <thetext>Would using elementFromPoint() be a better way to achieve what you are trying to do here? Maybe it clips to the viewport, and should not? At least it might give you a way to write a LayoutTest without adding code to tst_qwebframe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107194</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-27 09:08:54 -0800</bug_when>
    <thetext>We could certainly modify elementFromPoint to use a HitTestRequest that does not clip to the viewport and thereby achieve a LayoutTest using JS, however this is a significant behavioral change that I was not sure is correct.

The purpose of my patch is to make QWebFrame::hitTestContent method work correctly given its name and purpose.

If you like I can modify &apos;elementFromPoint&apos; accordingly, but are you sure this behavior change is correct and won&apos;t break JS DOM API standards?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107198</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-01-27 09:18:50 -0800</bug_when>
    <thetext>Actually elementFromPoint takes &quot;client&quot; (viewport) coords, so only finds things that are visible. Darn.

Please update the patch to include a change to the WebCore.base.exp file for Mac, like:

__ZN7WebCore12EventHandler14scrollOverflowENS_15ScrollDirectionENS_17ScrollGranu
  __ZN7WebCore12EventHandler20handleTextInputEventERKNS_6StringEPNS_5EventEbb
-__ZN7WebCore12EventHandler20hitTestResultAtPointERKNS_8IntPointEb
+__ZN7WebCore12EventHandler20hitTestResultAtPointERKNS_8IntPointEbb
 __ZN7WebCore12EventHandler20sendContextMenuEventERKNS_18PlatformMouseEventE

and file another bug for the &apos;bool&apos; cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107200</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-27 09:21:40 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I don&apos;t see a clean way
&gt; of adding hit testing layout tests, but if anyone can think of a good way let
&gt; me know.

Generally you can make hit testing layout tests with eventSender, ensuring the correct element is hit. But perhaps you mean something different. This may be a fix that only affects some specific Qt API, not the behavior of the browser? I&apos;m not really clear here on what the issue is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107203</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-27 09:31:28 -0800</bug_when>
    <thetext>Darin, you have it right.  The Qt API exposes a hitTestContent method that should return a valid HitTestResult regardless of the current viewport.  As such, this patch is intended to fix the behavior of this one specific Qt API method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107204</commentid>
    <comment_count>14</comment_count>
      <attachid>27075</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-27 09:36:08 -0800</bug_when>
    <thetext>Created attachment 27075
Previous patches + mac export

Add the mac export line from Simon although I have no way to test if this is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107329</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-01-28 08:40:38 -0800</bug_when>
    <thetext>Committed with r40311.

I&apos;ll open a bug report and make a patch for the bools next.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27053</attachid>
            <date>2009-01-26 15:48:04 -0800</date>
            <delta_ts>2009-01-27 06:10:09 -0800</delta_ts>
            <desc>Don&apos;t clip to visible option</desc>
            <filename>noclip_hittest.patch</filename>
            <type>text/plain</type>
            <size>6279</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjQzMjJiNS4uYTM3ODg3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0wMS0yNiAgQWRhbSBUcmVhdCAg
PGFkYW0udHJlYXRAdG9yY2htb2JpbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IG9wdGlvbiBvZiBoaXQgdGVzdGluZyBmcmFtZSBj
b250ZW50IHdpdGhvdXQgY2xpcHBpbmcgdG8gdGhlIHZpc2libGUKKyAgICAgICAgdmlld3BvcnQu
CisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVxdWVzdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6SGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmhpdFRlc3QpOgorCiAyMDA5LTAxLTE0ICBBZGFtIFRyZWF0ICA8YWRhbS50cmVhdEB0b3JjaG1v
YmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCmluZGV4IGZiM2EyYTMuLjA3ZWU5ZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBA
IC02ODcsMTIgKzY4NywxMiBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6YWxsb3dESFRNTERyYWcoYm9v
bCYgZmxhZ0RIVE1MLCBib29sJiBmbGFnVUEpIGNvbnN0CiAgICAgZmxhZ1VBID0gKChtYXNrICYg
RHJhZ1NvdXJjZUFjdGlvbkltYWdlKSB8fCAobWFzayAmIERyYWdTb3VyY2VBY3Rpb25MaW5rKSB8
fCAobWFzayAmIERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24pKTsKIH0KICAgICAKLUhpdFRlc3RS
ZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBJbnRQb2ludCYg
cG9pbnQsIGJvb2wgYWxsb3dTaGFkb3dDb250ZW50KQorSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRs
ZXI6OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgYm9vbCBhbGxv
d1NoYWRvd0NvbnRlbnQsIGJvb2wgY2xpcFRvVmlzaWJsZSkKIHsKICAgICBIaXRUZXN0UmVzdWx0
IHJlc3VsdChwb2ludCk7CiAgICAgaWYgKCFtX2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKSkKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICBtX2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKS0+bGF5
ZXIoKS0+aGl0VGVzdChIaXRUZXN0UmVxdWVzdCh0cnVlLCB0cnVlKSwgcmVzdWx0KTsKKyAgICBt
X2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKS0+bGF5ZXIoKS0+aGl0VGVzdChIaXRUZXN0UmVxdWVz
dCh0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGNsaXBUb1Zpc2libGUpLCByZXN1bHQpOwogCiAg
ICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgTm9kZSogbiA9IHJlc3VsdC5pbm5lck5vZGUoKTsK
QEAgLTcwOSw3ICs3MDksNyBAQCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJl
c3VsdEF0UG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBib29sIGFsbAogICAgICAgICBJbnRQ
b2ludCB3aWRnZXRQb2ludChyZXN1bHQubG9jYWxQb2ludCgpLngoKSArIHZpZXctPnNjcm9sbFgo
KSAtIHJlbmRlcldpZGdldC0+Ym9yZGVyTGVmdCgpIC0gcmVuZGVyV2lkZ2V0LT5wYWRkaW5nTGVm
dCgpLCAKICAgICAgICAgICAgIHJlc3VsdC5sb2NhbFBvaW50KCkueSgpICsgdmlldy0+c2Nyb2xs
WSgpIC0gcmVuZGVyV2lkZ2V0LT5ib3JkZXJUb3AoKSAtIHJlbmRlcldpZGdldC0+cGFkZGluZ1Rv
cCgpKTsKICAgICAgICAgSGl0VGVzdFJlc3VsdCB3aWRnZXRIaXRUZXN0UmVzdWx0KHdpZGdldFBv
aW50KTsKLSAgICAgICAgZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpLT5sYXllcigpLT5oaXRUZXN0
KEhpdFRlc3RSZXF1ZXN0KHRydWUsIHRydWUpLCB3aWRnZXRIaXRUZXN0UmVzdWx0KTsKKyAgICAg
ICAgZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpLT5sYXllcigpLT5oaXRUZXN0KEhpdFRlc3RSZXF1
ZXN0KHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgY2xpcFRvVmlzaWJsZSksIHdpZGdldEhpdFRl
c3RSZXN1bHQpOwogICAgICAgICByZXN1bHQgPSB3aWRnZXRIaXRUZXN0UmVzdWx0OwogICAgIH0K
ICAgICAKQEAgLTcyMCw3ICs3MjAsNyBAQCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0
VGVzdFJlc3VsdEF0UG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBib29sIGFsbAogICAgIGlm
IChtX2ZyYW1lICE9IG1haW5GcmFtZSAmJiByZXN1bHRGcmFtZSAmJiByZXN1bHRGcmFtZSAhPSBt
YWluRnJhbWUgJiYgIXJlc3VsdEZyYW1lLT5lZGl0b3IoKS0+aW5zaWRlVmlzaWJsZUFyZWEocmVz
dWx0LnBvaW50KCkpKSB7CiAgICAgICAgIEludFBvaW50IHdpbmRvd1BvaW50ID0gcmVzdWx0RnJh
bWUtPnZpZXcoKS0+Y29udGVudHNUb1dpbmRvdyhyZXN1bHQucG9pbnQoKSk7CiAgICAgICAgIElu
dFBvaW50IG1haW5GcmFtZVBvaW50ID0gbWFpbkZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVu
dHMod2luZG93UG9pbnQpOwotICAgICAgICByZXN1bHQgPSBtYWluRnJhbWUtPmV2ZW50SGFuZGxl
cigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluRnJhbWVQb2ludCwgYWxsb3dTaGFkb3dDb250
ZW50KTsKKyAgICAgICAgcmVzdWx0ID0gbWFpbkZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVz
dFJlc3VsdEF0UG9pbnQobWFpbkZyYW1lUG9pbnQsIGFsbG93U2hhZG93Q29udGVudCwgY2xpcFRv
VmlzaWJsZSk7CiAgICAgfQogCiAgICAgaWYgKCFhbGxvd1NoYWRvd0NvbnRlbnQpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKaW5kZXggNWQ1MWNiNi4uM2I3OTAxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtOTcsNyAr
OTcsNyBAQCBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBhdXRvc2Nyb2xsUmVuZGVyZXIoKSBj
b25zdDsKICAgICB2b2lkIHVwZGF0ZUF1dG9zY3JvbGxSZW5kZXJlcigpOwogCi0gICAgSGl0VGVz
dFJlc3VsdCBoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBJbnRQb2ludCYsIGJvb2wgYWxsb3dT
aGFkb3dDb250ZW50KTsKKyAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHRBdFBvaW50KGNv
bnN0IEludFBvaW50JiwgYm9vbCBhbGxvd1NoYWRvd0NvbnRlbnQsIGJvb2wgY2xpcFRvVmlzaWJs
ZSA9IHRydWUpOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQoKSBjb25zdCB7IHJldHVybiBtX21v
dXNlUHJlc3NlZDsgfQogICAgIHZvaWQgc2V0TW91c2VQcmVzc2VkKGJvb2wgcHJlc3NlZCkgeyBt
X21vdXNlUHJlc3NlZCA9IHByZXNzZWQ7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L0hpdFRlc3RSZXF1ZXN0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVxdWVzdC5oCmlu
ZGV4IDExZGNhNGIuLjk3NDM2OTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRl
c3RSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlcXVlc3QuaApAQCAt
MjUsMTEgKzI1LDEyIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBIaXRUZXN0UmVx
dWVzdCB7Ci0gICAgSGl0VGVzdFJlcXVlc3QoYm9vbCByLCBib29sIGEsIGJvb2wgbSA9IGZhbHNl
LCBib29sIHUgPSBmYWxzZSkKKyAgICBIaXRUZXN0UmVxdWVzdChib29sIHIsIGJvb2wgYSwgYm9v
bCBtID0gZmFsc2UsIGJvb2wgdSA9IGZhbHNlLCBib29sIGMgPSB0cnVlKQogICAgICAgICA6IHJl
YWRvbmx5KHIpCiAgICAgICAgICwgYWN0aXZlKGEpCiAgICAgICAgICwgbW91c2VNb3ZlKG0pCiAg
ICAgICAgICwgbW91c2VVcCh1KQorICAgICAgICAsIGNsaXBUb1Zpc2libGUoYykKICAgICB7IAog
ICAgIH0KIApAQCAtMzcsNiArMzgsNyBAQCBzdHJ1Y3QgSGl0VGVzdFJlcXVlc3QgewogICAgIGJv
b2wgYWN0aXZlOwogICAgIGJvb2wgbW91c2VNb3ZlOwogICAgIGJvb2wgbW91c2VVcDsKKyAgICBi
b29sIGNsaXBUb1Zpc2libGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKaW5kZXggMGNjODk3Mi4uMmY5OTliYiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcApAQCAtMTg1NSw3ICsxODU1LDggQEAgYm9vbCBSZW5kZXJMYXllcjo6aGl0
VGVzdChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0
KQogICAgIHJlbmRlcmVyKCktPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwogICAgIAogICAg
IEludFJlY3QgYm91bmRzUmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpOwotICAgIGJv
dW5kc1JlY3QuaW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkpOworICAgIGlm
IChyZXF1ZXN0LmNsaXBUb1Zpc2libGUpCisgICAgICAgIGJvdW5kc1JlY3QuaW50ZXJzZWN0KGZy
YW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkpOwogCiAgICAgUmVuZGVyTGF5ZXIqIGluc2lkZUxh
eWVyID0gaGl0VGVzdExheWVyKHRoaXMsIHJlcXVlc3QsIHJlc3VsdCwgYm91bmRzUmVjdCwgcmVz
dWx0LnBvaW50KCkpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAg
Yi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKaW5kZXggNDZmODZmOS4uYjFiYTI5NyAxMDA2
NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkv
cXdlYmZyYW1lLmNwcApAQCAtOTA4LDcgKzkwOCw3IEBAIFFXZWJIaXRUZXN0UmVzdWx0IFFXZWJG
cmFtZTo6aGl0VGVzdENvbnRlbnQoY29uc3QgUVBvaW50ICZwb3MpIGNvbnN0CiAgICAgaWYgKCFk
LT5mcmFtZS0+dmlldygpIHx8ICFkLT5mcmFtZS0+Y29udGVudFJlbmRlcmVyKCkpCiAgICAgICAg
IHJldHVybiBRV2ViSGl0VGVzdFJlc3VsdCgpOwogCi0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQg
PSBkLT5mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGQtPmZyYW1l
LT52aWV3KCktPndpbmRvd1RvQ29udGVudHMocG9zKSwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyBm
YWxzZSk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBkLT5mcmFtZS0+ZXZlbnRIYW5kbGVy
KCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGQtPmZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVu
dHMocG9zKSwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyBmYWxzZSwgLypjbGlwVG9WaXNpYmxlKi8g
ZmFsc2UpOwogICAgIHJldHVybiBRV2ViSGl0VGVzdFJlc3VsdChuZXcgUVdlYkhpdFRlc3RSZXN1
bHRQcml2YXRlKHJlc3VsdCkpOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA1ZTc3ZGE1Li41MGMwZGFiIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAwOS0wMS0yNiAgQWRhbSBUcmVhdCAgPGFkYW0udHJlYXRAdG9yY2htb2JpbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERv
IG5vdCBjbGlwIHRoZSBRV2ViRnJhbWU6OmhpdFRlc3RDb250ZW50IG1ldGhvZCB0byB0aGUgdmlz
aWJsZSB2aWV3cG9ydC4KKworICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgorICAgICAgICAo
UVdlYkZyYW1lOjpoaXRUZXN0Q29udGVudCk6CisKIDIwMDktMDEtMTQgIEFkYW0gVHJlYXQgIDxh
ZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4K
</data>
<flag name="review"
          id="12981"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27072</attachid>
            <date>2009-01-27 06:10:09 -0800</date>
            <delta_ts>2009-01-27 09:36:08 -0800</delta_ts>
            <desc>Fixes bug and also adds test</desc>
            <filename>noclip_hittest.patch</filename>
            <type>text/plain</type>
            <size>7626</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWNlNjEwMC4uZjczNzY3YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wMS0yNiAgQWRhbSBUcmVhdCAg
PGFkYW0udHJlYXRAdG9yY2htb2JpbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5pa29s
YXMgWmltbWVybWFubi4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM1NTcKKworICAgICAgICBBbGxvdyBvcHRpb24gb2YgaGl0IHRlc3RpbmcgZnJh
bWUgY29udGVudCB3aXRob3V0IGNsaXBwaW5nIHRvIHRoZSB2aXNpYmxlCisgICAgICAgIHZpZXdw
b3J0LgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludCk6CisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlcXVlc3QuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXF1ZXN0OjpIaXRUZXN0UmVxdWVzdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpoaXRUZXN0KToKKwogMjAwOS0wMS0yNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CmluZGV4IDE0Yzk3OWEuLjMzMDg4NzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC02OTEsMTIg
KzY5MSwxMiBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6YWxsb3dESFRNTERyYWcoYm9vbCYgZmxhZ0RI
VE1MLCBib29sJiBmbGFnVUEpIGNvbnN0CiAgICAgZmxhZ1VBID0gKChtYXNrICYgRHJhZ1NvdXJj
ZUFjdGlvbkltYWdlKSB8fCAobWFzayAmIERyYWdTb3VyY2VBY3Rpb25MaW5rKSB8fCAobWFzayAm
IERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24pKTsKIH0KICAgICAKLUhpdFRlc3RSZXN1bHQgRXZl
bnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIGJv
b2wgYWxsb3dTaGFkb3dDb250ZW50KQorSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRl
c3RSZXN1bHRBdFBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgYm9vbCBhbGxvd1NoYWRvd0Nv
bnRlbnQsIGJvb2wgY2xpcFRvVmlzaWJsZSkKIHsKICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdChw
b2ludCk7CiAgICAgaWYgKCFtX2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKSkKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKLSAgICBtX2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKS0+bGF5ZXIoKS0+aGl0
VGVzdChIaXRUZXN0UmVxdWVzdCh0cnVlLCB0cnVlKSwgcmVzdWx0KTsKKyAgICBtX2ZyYW1lLT5j
b250ZW50UmVuZGVyZXIoKS0+bGF5ZXIoKS0+aGl0VGVzdChIaXRUZXN0UmVxdWVzdCh0cnVlLCB0
cnVlLCBmYWxzZSwgZmFsc2UsIGNsaXBUb1Zpc2libGUpLCByZXN1bHQpOwogCiAgICAgd2hpbGUg
KHRydWUpIHsKICAgICAgICAgTm9kZSogbiA9IHJlc3VsdC5pbm5lck5vZGUoKTsKQEAgLTcxMyw3
ICs3MTMsNyBAQCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3VsdEF0UG9p
bnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBib29sIGFsbAogICAgICAgICBJbnRQb2ludCB3aWRn
ZXRQb2ludChyZXN1bHQubG9jYWxQb2ludCgpLngoKSArIHZpZXctPnNjcm9sbFgoKSAtIHJlbmRl
cldpZGdldC0+Ym9yZGVyTGVmdCgpIC0gcmVuZGVyV2lkZ2V0LT5wYWRkaW5nTGVmdCgpLCAKICAg
ICAgICAgICAgIHJlc3VsdC5sb2NhbFBvaW50KCkueSgpICsgdmlldy0+c2Nyb2xsWSgpIC0gcmVu
ZGVyV2lkZ2V0LT5ib3JkZXJUb3AoKSAtIHJlbmRlcldpZGdldC0+cGFkZGluZ1RvcCgpKTsKICAg
ICAgICAgSGl0VGVzdFJlc3VsdCB3aWRnZXRIaXRUZXN0UmVzdWx0KHdpZGdldFBvaW50KTsKLSAg
ICAgICAgZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpLT5sYXllcigpLT5oaXRUZXN0KEhpdFRlc3RS
ZXF1ZXN0KHRydWUsIHRydWUpLCB3aWRnZXRIaXRUZXN0UmVzdWx0KTsKKyAgICAgICAgZnJhbWUt
PmNvbnRlbnRSZW5kZXJlcigpLT5sYXllcigpLT5oaXRUZXN0KEhpdFRlc3RSZXF1ZXN0KHRydWUs
IHRydWUsIGZhbHNlLCBmYWxzZSwgY2xpcFRvVmlzaWJsZSksIHdpZGdldEhpdFRlc3RSZXN1bHQp
OwogICAgICAgICByZXN1bHQgPSB3aWRnZXRIaXRUZXN0UmVzdWx0OwogICAgIH0KICAgICAKQEAg
LTcyNCw3ICs3MjQsNyBAQCBIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3Vs
dEF0UG9pbnQoY29uc3QgSW50UG9pbnQmIHBvaW50LCBib29sIGFsbAogICAgIGlmIChtX2ZyYW1l
ICE9IG1haW5GcmFtZSAmJiByZXN1bHRGcmFtZSAmJiByZXN1bHRGcmFtZSAhPSBtYWluRnJhbWUg
JiYgIXJlc3VsdEZyYW1lLT5lZGl0b3IoKS0+aW5zaWRlVmlzaWJsZUFyZWEocmVzdWx0LnBvaW50
KCkpKSB7CiAgICAgICAgIEludFBvaW50IHdpbmRvd1BvaW50ID0gcmVzdWx0RnJhbWUtPnZpZXco
KS0+Y29udGVudHNUb1dpbmRvdyhyZXN1bHQucG9pbnQoKSk7CiAgICAgICAgIEludFBvaW50IG1h
aW5GcmFtZVBvaW50ID0gbWFpbkZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMod2luZG93
UG9pbnQpOwotICAgICAgICByZXN1bHQgPSBtYWluRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRU
ZXN0UmVzdWx0QXRQb2ludChtYWluRnJhbWVQb2ludCwgYWxsb3dTaGFkb3dDb250ZW50KTsKKyAg
ICAgICAgcmVzdWx0ID0gbWFpbkZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0
UG9pbnQobWFpbkZyYW1lUG9pbnQsIGFsbG93U2hhZG93Q29udGVudCwgY2xpcFRvVmlzaWJsZSk7
CiAgICAgfQogCiAgICAgaWYgKCFhbGxvd1NoYWRvd0NvbnRlbnQpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5k
ZXggNWQ1MWNiNi4uM2I3OTAxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtOTcsNyArOTcsNyBAQCBw
dWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBhdXRvc2Nyb2xsUmVuZGVyZXIoKSBjb25zdDsKICAg
ICB2b2lkIHVwZGF0ZUF1dG9zY3JvbGxSZW5kZXJlcigpOwogCi0gICAgSGl0VGVzdFJlc3VsdCBo
aXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBJbnRQb2ludCYsIGJvb2wgYWxsb3dTaGFkb3dDb250
ZW50KTsKKyAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IEludFBv
aW50JiwgYm9vbCBhbGxvd1NoYWRvd0NvbnRlbnQsIGJvb2wgY2xpcFRvVmlzaWJsZSA9IHRydWUp
OwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQoKSBjb25zdCB7IHJldHVybiBtX21vdXNlUHJlc3Nl
ZDsgfQogICAgIHZvaWQgc2V0TW91c2VQcmVzc2VkKGJvb2wgcHJlc3NlZCkgeyBtX21vdXNlUHJl
c3NlZCA9IHByZXNzZWQ7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXF1ZXN0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVxdWVzdC5oCmluZGV4IDExZGNh
NGIuLjk3NDM2OTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXF1ZXN0
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlcXVlc3QuaApAQCAtMjUsMTEgKzI1
LDEyIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBIaXRUZXN0UmVxdWVzdCB7Ci0g
ICAgSGl0VGVzdFJlcXVlc3QoYm9vbCByLCBib29sIGEsIGJvb2wgbSA9IGZhbHNlLCBib29sIHUg
PSBmYWxzZSkKKyAgICBIaXRUZXN0UmVxdWVzdChib29sIHIsIGJvb2wgYSwgYm9vbCBtID0gZmFs
c2UsIGJvb2wgdSA9IGZhbHNlLCBib29sIGMgPSB0cnVlKQogICAgICAgICA6IHJlYWRvbmx5KHIp
CiAgICAgICAgICwgYWN0aXZlKGEpCiAgICAgICAgICwgbW91c2VNb3ZlKG0pCiAgICAgICAgICwg
bW91c2VVcCh1KQorICAgICAgICAsIGNsaXBUb1Zpc2libGUoYykKICAgICB7IAogICAgIH0KIApA
QCAtMzcsNiArMzgsNyBAQCBzdHJ1Y3QgSGl0VGVzdFJlcXVlc3QgewogICAgIGJvb2wgYWN0aXZl
OwogICAgIGJvb2wgbW91c2VNb3ZlOwogICAgIGJvb2wgbW91c2VVcDsKKyAgICBib29sIGNsaXBU
b1Zpc2libGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggYmUwNzRiZS4uNGYzMmY3YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcApAQCAtMTg1NSw3ICsxODU1LDggQEAgYm9vbCBSZW5kZXJMYXllcjo6aGl0VGVzdChjb25z
dCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0KQogICAgIHJl
bmRlcmVyKCktPmRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwogICAgIAogICAgIEludFJlY3Qg
Ym91bmRzUmVjdChtX3gsIG1feSwgd2lkdGgoKSwgaGVpZ2h0KCkpOwotICAgIGJvdW5kc1JlY3Qu
aW50ZXJzZWN0KGZyYW1lVmlzaWJsZVJlY3QocmVuZGVyZXIoKSkpOworICAgIGlmIChyZXF1ZXN0
LmNsaXBUb1Zpc2libGUpCisgICAgICAgIGJvdW5kc1JlY3QuaW50ZXJzZWN0KGZyYW1lVmlzaWJs
ZVJlY3QocmVuZGVyZXIoKSkpOwogCiAgICAgUmVuZGVyTGF5ZXIqIGluc2lkZUxheWVyID0gaGl0
VGVzdExheWVyKHRoaXMsIHJlcXVlc3QsIHJlc3VsdCwgYm91bmRzUmVjdCwgcmVzdWx0LnBvaW50
KCkpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAgYi9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZS5jcHAKaW5kZXggNGU4MmQ1NC4uNGQ2NmE4MiAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1l
LmNwcApAQCAtODg2LDcgKzg4Niw3IEBAIFFXZWJIaXRUZXN0UmVzdWx0IFFXZWJGcmFtZTo6aGl0
VGVzdENvbnRlbnQoY29uc3QgUVBvaW50ICZwb3MpIGNvbnN0CiAgICAgaWYgKCFkLT5mcmFtZS0+
dmlldygpIHx8ICFkLT5mcmFtZS0+Y29udGVudFJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiBR
V2ViSGl0VGVzdFJlc3VsdCgpOwogCi0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBkLT5mcmFt
ZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGQtPmZyYW1lLT52aWV3KCkt
PndpbmRvd1RvQ29udGVudHMocG9zKSwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyBmYWxzZSk7Cisg
ICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBkLT5mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRl
c3RSZXN1bHRBdFBvaW50KGQtPmZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMocG9zKSwg
LyphbGxvd1NoYWRvd0NvbnRlbnQqLyBmYWxzZSwgLypjbGlwVG9WaXNpYmxlKi8gZmFsc2UpOwog
ICAgIHJldHVybiBRV2ViSGl0VGVzdFJlc3VsdChuZXcgUVdlYkhpdFRlc3RSZXN1bHRQcml2YXRl
KHJlc3VsdCkpOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCBjMWI2NDZkLi5hOGMzMDg5IDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAwOS0wMS0yNiAgQWRhbSBUcmVhdCAgPGFkYW0udHJlYXRAdG9yY2htb2JpbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5pa29sYXMgWmltbWVybWFubi4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NTcKKworICAgICAgICBEbyBub3Qg
Y2xpcCB0aGUgUVdlYkZyYW1lOjpoaXRUZXN0Q29udGVudCBtZXRob2QgdG8gdGhlIHZpc2libGUg
dmlld3BvcnQKKyAgICAgICAgYW5kIGFkZCBhIHJlZ3Jlc3Npb24gdGVzdCB0byBtYWtlIHN1cmUg
aXQgd29ya3MuCisKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKFFXZWJG
cmFtZTo6aGl0VGVzdENvbnRlbnQpOgorICAgICAgICAqIHRlc3RzL3F3ZWJmcmFtZS90c3RfcXdl
YmZyYW1lLmNwcDoKKwogMjAwOS0wMS0yNiAgRGF2aWQgQm9kZGllICA8ZGJvZGRpZUB0cm9sbHRl
Y2guY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcCBiL1dlYktpdC9x
dC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKaW5kZXggMzhhMzU0My4uZTNmN2E1
YiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNw
cAorKysgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCkBAIC01
NzYsNiArNTc2LDcgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIGlwdjZIb3N0RW5jb2Rpbmco
KTsKICAgICB2b2lkIG1ldGFEYXRhKCk7CiAgICAgdm9pZCBwb3B1cEZvY3VzKCk7CisgICAgdm9p
ZCBoaXRUZXN0Q29udGVudCgpOwogcHJpdmF0ZToKICAgICBRU3RyaW5nICBldmFsSlMoY29uc3Qg
UVN0cmluZyZzKSB7CiAgICAgICAgIC8vIENvbnZlcnQgYW4gdW5kZWZpbmVkIHJldHVybiB2YXJp
YW50IHRvIHRoZSBzdHJpbmcgInVuZGVmaW5lZCIKQEAgLTIyNzIsNSArMjI3MywxNyBAQCB2b2lk
IHRzdF9RV2ViRnJhbWU6OnBvcHVwRm9jdXMoKQogICAgICAgICAgICAgICJUaGUgaW5wdXQgZmll
bGQgc2hvdWxkIGhhdmUgYSBibGlua2luZyBjYXJldCIpOwogfQogCit2b2lkIHRzdF9RV2ViRnJh
bWU6OmhpdFRlc3RDb250ZW50KCkKK3sKKyAgICBRU3RyaW5nIGh0bWwoIjxodG1sPjxib2R5Pjxw
PkEgcGFyYWdyYXBoPC9wPjxici8+PGJyLz48YnIvPjxhIGhyZWY9XCJhYm91dDpibGFua1wiPmxp
bmsgdGV4dDwvYT48L2JvZHk+PC9odG1sPiIpOworCisgICAgUVdlYlBhZ2UgcGFnZTsKKyAgICBR
V2ViRnJhbWUqIGZyYW1lID0gcGFnZS5tYWluRnJhbWUoKTsKKyAgICBmcmFtZS0+c2V0SHRtbCho
dG1sKTsKKyAgICBwYWdlLnNldFZpZXdwb3J0U2l6ZShRU2l6ZSgyMDAsIDApKTsgLy9ubyBoZWln
aHQgc28gbGluayBpcyBub3QgdmlzaWJsZQorICAgIFFXZWJIaXRUZXN0UmVzdWx0IHJlc3VsdCA9
IGZyYW1lLT5oaXRUZXN0Q29udGVudChRUG9pbnQoMTAsIDEwMCkpOworICAgIFFDT01QQVJFKHJl
c3VsdC5saW5rVGV4dCgpLCBRU3RyaW5nKCJsaW5rIHRleHQiKSk7Cit9CisKIFFURVNUX01BSU4o
dHN0X1FXZWJGcmFtZSkKICNpbmNsdWRlICJ0c3RfcXdlYmZyYW1lLm1vYyIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27075</attachid>
            <date>2009-01-27 09:36:08 -0800</date>
            <delta_ts>2009-01-28 07:27:15 -0800</delta_ts>
            <desc>Previous patches + mac export</desc>
            <filename>noclip_hittest.patch</filename>
            <type>text/plain</type>
            <size>8459</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWNlNjEwMC4uZjczNzY3YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0wMS0yNiAgQWRhbSBUcmVhdCAg
PGFkYW0udHJlYXRAdG9yY2htb2JpbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5pa29s
YXMgWmltbWVybWFubi4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM1NTcKKworICAgICAgICBBbGxvdyBvcHRpb24gb2YgaGl0IHRlc3RpbmcgZnJh
bWUgY29udGVudCB3aXRob3V0IGNsaXBwaW5nIHRvIHRoZSB2aXNpYmxlCisgICAgICAgIHZpZXdw
b3J0LgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludCk6CisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlcXVlc3QuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXF1ZXN0OjpIaXRUZXN0UmVxdWVzdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpoaXRUZXN0KToKKwogMjAwOS0wMS0yNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuYmFzZS5leHAgYi9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKaW5kZXggMDA0
YTE1Ni4uNWIxOTY3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cApAQCAtMjE2LDcgKzIxNiw3IEBAIF9fWk43V2ViQ29y
ZTEyRXZlbnRIYW5kbGVyMTRzY3JvbGxPdmVyZmxvd0VOU18xNVNjcm9sbERpcmVjdGlvbkVOU18x
N1Njcm9sbEdyYW51CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE3ZHJhZ1NvdXJjZUVuZGVk
QXRFUktOU18xOFBsYXRmb3JtTW91c2VFdmVudEVOU18xM0RyYWdPcGVyYXRpb25FCiBfX1pON1dl
YkNvcmUxMkV2ZW50SGFuZGxlcjE3ZHJhZ1NvdXJjZU1vdmVkVG9FUktOU18xOFBsYXRmb3JtTW91
c2VFdmVudEUKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjBoYW5kbGVUZXh0SW5wdXRFdmVu
dEVSS05TXzZTdHJpbmdFUE5TXzVFdmVudEViYgotX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIy
MGhpdFRlc3RSZXN1bHRBdFBvaW50RVJLTlNfOEludFBvaW50RWIKK19fWk43V2ViQ29yZTEyRXZl
bnRIYW5kbGVyMjBoaXRUZXN0UmVzdWx0QXRQb2ludEVSS05TXzhJbnRQb2ludEViYgogX19aTjdX
ZWJDb3JlMTJFdmVudEhhbmRsZXIyMHNlbmRDb250ZXh0TWVudUV2ZW50RVJLTlNfMThQbGF0Zm9y
bU1vdXNlRXZlbnRFCiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjI3Y2Fwc0xvY2tTdGF0ZU1h
eUhhdmVDaGFuZ2VkRXYKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjhwZW5kaW5nRnJhbWVV
bmxvYWRFdmVudENvdW50RXYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMTRjOTc5YS4uMzMwODg3
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTY5MSwxMiArNjkxLDEyIEBAIHZvaWQgRXZlbnRI
YW5kbGVyOjphbGxvd0RIVE1MRHJhZyhib29sJiBmbGFnREhUTUwsIGJvb2wmIGZsYWdVQSkgY29u
c3QKICAgICBmbGFnVUEgPSAoKG1hc2sgJiBEcmFnU291cmNlQWN0aW9uSW1hZ2UpIHx8IChtYXNr
ICYgRHJhZ1NvdXJjZUFjdGlvbkxpbmspIHx8IChtYXNrICYgRHJhZ1NvdXJjZUFjdGlvblNlbGVj
dGlvbikpOwogfQogICAgIAotSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRlc3RSZXN1
bHRBdFBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgYm9vbCBhbGxvd1NoYWRvd0NvbnRlbnQp
CitIaXRUZXN0UmVzdWx0IEV2ZW50SGFuZGxlcjo6aGl0VGVzdFJlc3VsdEF0UG9pbnQoY29uc3Qg
SW50UG9pbnQmIHBvaW50LCBib29sIGFsbG93U2hhZG93Q29udGVudCwgYm9vbCBjbGlwVG9WaXNp
YmxlKQogewogICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0KHBvaW50KTsKICAgICBpZiAoIW1fZnJh
bWUtPmNvbnRlbnRSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIG1fZnJh
bWUtPmNvbnRlbnRSZW5kZXJlcigpLT5sYXllcigpLT5oaXRUZXN0KEhpdFRlc3RSZXF1ZXN0KHRy
dWUsIHRydWUpLCByZXN1bHQpOworICAgIG1fZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpLT5sYXll
cigpLT5oaXRUZXN0KEhpdFRlc3RSZXF1ZXN0KHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgY2xp
cFRvVmlzaWJsZSksIHJlc3VsdCk7CiAKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBOb2Rl
KiBuID0gcmVzdWx0LmlubmVyTm9kZSgpOwpAQCAtNzEzLDcgKzcxMyw3IEBAIEhpdFRlc3RSZXN1
bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBJbnRQb2ludCYgcG9p
bnQsIGJvb2wgYWxsCiAgICAgICAgIEludFBvaW50IHdpZGdldFBvaW50KHJlc3VsdC5sb2NhbFBv
aW50KCkueCgpICsgdmlldy0+c2Nyb2xsWCgpIC0gcmVuZGVyV2lkZ2V0LT5ib3JkZXJMZWZ0KCkg
LSByZW5kZXJXaWRnZXQtPnBhZGRpbmdMZWZ0KCksIAogICAgICAgICAgICAgcmVzdWx0LmxvY2Fs
UG9pbnQoKS55KCkgKyB2aWV3LT5zY3JvbGxZKCkgLSByZW5kZXJXaWRnZXQtPmJvcmRlclRvcCgp
IC0gcmVuZGVyV2lkZ2V0LT5wYWRkaW5nVG9wKCkpOwogICAgICAgICBIaXRUZXN0UmVzdWx0IHdp
ZGdldEhpdFRlc3RSZXN1bHQod2lkZ2V0UG9pbnQpOwotICAgICAgICBmcmFtZS0+Y29udGVudFJl
bmRlcmVyKCktPmxheWVyKCktPmhpdFRlc3QoSGl0VGVzdFJlcXVlc3QodHJ1ZSwgdHJ1ZSksIHdp
ZGdldEhpdFRlc3RSZXN1bHQpOworICAgICAgICBmcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPmxh
eWVyKCktPmhpdFRlc3QoSGl0VGVzdFJlcXVlc3QodHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBj
bGlwVG9WaXNpYmxlKSwgd2lkZ2V0SGl0VGVzdFJlc3VsdCk7CiAgICAgICAgIHJlc3VsdCA9IHdp
ZGdldEhpdFRlc3RSZXN1bHQ7CiAgICAgfQogICAgIApAQCAtNzI0LDcgKzcyNCw3IEBAIEhpdFRl
c3RSZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBJbnRQb2lu
dCYgcG9pbnQsIGJvb2wgYWxsCiAgICAgaWYgKG1fZnJhbWUgIT0gbWFpbkZyYW1lICYmIHJlc3Vs
dEZyYW1lICYmIHJlc3VsdEZyYW1lICE9IG1haW5GcmFtZSAmJiAhcmVzdWx0RnJhbWUtPmVkaXRv
cigpLT5pbnNpZGVWaXNpYmxlQXJlYShyZXN1bHQucG9pbnQoKSkpIHsKICAgICAgICAgSW50UG9p
bnQgd2luZG93UG9pbnQgPSByZXN1bHRGcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93KHJl
c3VsdC5wb2ludCgpKTsKICAgICAgICAgSW50UG9pbnQgbWFpbkZyYW1lUG9pbnQgPSBtYWluRnJh
bWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyh3aW5kb3dQb2ludCk7Ci0gICAgICAgIHJlc3Vs
dCA9IG1haW5GcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KG1haW5G
cmFtZVBvaW50LCBhbGxvd1NoYWRvd0NvbnRlbnQpOworICAgICAgICByZXN1bHQgPSBtYWluRnJh
bWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluRnJhbWVQb2ludCwg
YWxsb3dTaGFkb3dDb250ZW50LCBjbGlwVG9WaXNpYmxlKTsKICAgICB9CiAKICAgICBpZiAoIWFs
bG93U2hhZG93Q29udGVudCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA1ZDUxY2I2Li4zYjc5MDEzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5oCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKICAgICBSZW5kZXJPYmpl
Y3QqIGF1dG9zY3JvbGxSZW5kZXJlcigpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlQXV0b3Njcm9s
bFJlbmRlcmVyKCk7CiAKLSAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHRBdFBvaW50KGNv
bnN0IEludFBvaW50JiwgYm9vbCBhbGxvd1NoYWRvd0NvbnRlbnQpOworICAgIEhpdFRlc3RSZXN1
bHQgaGl0VGVzdFJlc3VsdEF0UG9pbnQoY29uc3QgSW50UG9pbnQmLCBib29sIGFsbG93U2hhZG93
Q29udGVudCwgYm9vbCBjbGlwVG9WaXNpYmxlID0gdHJ1ZSk7CiAKICAgICBib29sIG1vdXNlUHJl
c3NlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VQcmVzc2VkOyB9CiAgICAgdm9pZCBzZXRNb3Vz
ZVByZXNzZWQoYm9vbCBwcmVzc2VkKSB7IG1fbW91c2VQcmVzc2VkID0gcHJlc3NlZDsgfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlcXVlc3QuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RSZXF1ZXN0LmgKaW5kZXggMTFkY2E0Yi4uOTc0MzY5OCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlcXVlc3QuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVxdWVzdC5oCkBAIC0yNSwxMSArMjUsMTIgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogc3RydWN0IEhpdFRlc3RSZXF1ZXN0IHsKLSAgICBIaXRUZXN0UmVxdWVzdChib29s
IHIsIGJvb2wgYSwgYm9vbCBtID0gZmFsc2UsIGJvb2wgdSA9IGZhbHNlKQorICAgIEhpdFRlc3RS
ZXF1ZXN0KGJvb2wgciwgYm9vbCBhLCBib29sIG0gPSBmYWxzZSwgYm9vbCB1ID0gZmFsc2UsIGJv
b2wgYyA9IHRydWUpCiAgICAgICAgIDogcmVhZG9ubHkocikKICAgICAgICAgLCBhY3RpdmUoYSkK
ICAgICAgICAgLCBtb3VzZU1vdmUobSkKICAgICAgICAgLCBtb3VzZVVwKHUpCisgICAgICAgICwg
Y2xpcFRvVmlzaWJsZShjKQogICAgIHsgCiAgICAgfQogCkBAIC0zNyw2ICszOCw3IEBAIHN0cnVj
dCBIaXRUZXN0UmVxdWVzdCB7CiAgICAgYm9vbCBhY3RpdmU7CiAgICAgYm9vbCBtb3VzZU1vdmU7
CiAgICAgYm9vbCBtb3VzZVVwOworICAgIGJvb2wgY2xpcFRvVmlzaWJsZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBiZTA3NGJl
Li40ZjMyZjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0xODU1LDcgKzE4NTUs
OCBAQCBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1
ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQpCiAgICAgcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+
dXBkYXRlTGF5b3V0KCk7CiAgICAgCiAgICAgSW50UmVjdCBib3VuZHNSZWN0KG1feCwgbV95LCB3
aWR0aCgpLCBoZWlnaHQoKSk7Ci0gICAgYm91bmRzUmVjdC5pbnRlcnNlY3QoZnJhbWVWaXNpYmxl
UmVjdChyZW5kZXJlcigpKSk7CisgICAgaWYgKHJlcXVlc3QuY2xpcFRvVmlzaWJsZSkKKyAgICAg
ICAgYm91bmRzUmVjdC5pbnRlcnNlY3QoZnJhbWVWaXNpYmxlUmVjdChyZW5kZXJlcigpKSk7CiAK
ICAgICBSZW5kZXJMYXllciogaW5zaWRlTGF5ZXIgPSBoaXRUZXN0TGF5ZXIodGhpcywgcmVxdWVz
dCwgcmVzdWx0LCBib3VuZHNSZWN0LCByZXN1bHQucG9pbnQoKSk7CiAKZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcApp
bmRleCA0ZTgyZDU0Li40ZDY2YTgyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFt
ZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCkBAIC04ODYsNyArODg2LDcg
QEAgUVdlYkhpdFRlc3RSZXN1bHQgUVdlYkZyYW1lOjpoaXRUZXN0Q29udGVudChjb25zdCBRUG9p
bnQgJnBvcykgY29uc3QKICAgICBpZiAoIWQtPmZyYW1lLT52aWV3KCkgfHwgIWQtPmZyYW1lLT5j
b250ZW50UmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIFFXZWJIaXRUZXN0UmVzdWx0KCk7CiAK
LSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGQtPmZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0
VGVzdFJlc3VsdEF0UG9pbnQoZC0+ZnJhbWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhwb3Mp
LCAvKmFsbG93U2hhZG93Q29udGVudCovIGZhbHNlKTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3Vs
dCA9IGQtPmZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoZC0+ZnJh
bWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhwb3MpLCAvKmFsbG93U2hhZG93Q29udGVudCov
IGZhbHNlLCAvKmNsaXBUb1Zpc2libGUqLyBmYWxzZSk7CiAgICAgcmV0dXJuIFFXZWJIaXRUZXN0
UmVzdWx0KG5ldyBRV2ViSGl0VGVzdFJlc3VsdFByaXZhdGUocmVzdWx0KSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGMx
YjY0NmQuLmE4YzMwODkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTAxLTI2ICBBZGFtIFRyZWF0
ICA8YWRhbS50cmVhdEB0b3JjaG1vYmlsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTmlr
b2xhcyBaaW1tZXJtYW5uLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzU1NworCisgICAgICAgIERvIG5vdCBjbGlwIHRoZSBRV2ViRnJhbWU6Omhp
dFRlc3RDb250ZW50IG1ldGhvZCB0byB0aGUgdmlzaWJsZSB2aWV3cG9ydAorICAgICAgICBhbmQg
YWRkIGEgcmVncmVzc2lvbiB0ZXN0IHRvIG1ha2Ugc3VyZSBpdCB3b3Jrcy4KKworICAgICAgICAq
IEFwaS9xd2ViZnJhbWUuY3BwOgorICAgICAgICAoUVdlYkZyYW1lOjpoaXRUZXN0Q29udGVudCk6
CisgICAgICAgICogdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwOgorCiAyMDA5LTAx
LTI2ICBEYXZpZCBCb2RkaWUgIDxkYm9kZGllQHRyb2xsdGVjaC5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvcXdl
YmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90c3Rf
cXdlYmZyYW1lLmNwcAppbmRleCAzOGEzNTQzLi5lM2Y3YTViIDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0
cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFtZS5jcHAKQEAgLTU3Niw2ICs1NzYsNyBAQCBwcml2YXRl
IHNsb3RzOgogICAgIHZvaWQgaXB2Nkhvc3RFbmNvZGluZygpOwogICAgIHZvaWQgbWV0YURhdGEo
KTsKICAgICB2b2lkIHBvcHVwRm9jdXMoKTsKKyAgICB2b2lkIGhpdFRlc3RDb250ZW50KCk7CiBw
cml2YXRlOgogICAgIFFTdHJpbmcgIGV2YWxKUyhjb25zdCBRU3RyaW5nJnMpIHsKICAgICAgICAg
Ly8gQ29udmVydCBhbiB1bmRlZmluZWQgcmV0dXJuIHZhcmlhbnQgdG8gdGhlIHN0cmluZyAidW5k
ZWZpbmVkIgpAQCAtMjI3Miw1ICsyMjczLDE3IEBAIHZvaWQgdHN0X1FXZWJGcmFtZTo6cG9wdXBG
b2N1cygpCiAgICAgICAgICAgICAgIlRoZSBpbnB1dCBmaWVsZCBzaG91bGQgaGF2ZSBhIGJsaW5r
aW5nIGNhcmV0Iik7CiB9CiAKK3ZvaWQgdHN0X1FXZWJGcmFtZTo6aGl0VGVzdENvbnRlbnQoKQor
eworICAgIFFTdHJpbmcgaHRtbCgiPGh0bWw+PGJvZHk+PHA+QSBwYXJhZ3JhcGg8L3A+PGJyLz48
YnIvPjxici8+PGEgaHJlZj1cImFib3V0OmJsYW5rXCI+bGluayB0ZXh0PC9hPjwvYm9keT48L2h0
bWw+Iik7CisKKyAgICBRV2ViUGFnZSBwYWdlOworICAgIFFXZWJGcmFtZSogZnJhbWUgPSBwYWdl
Lm1haW5GcmFtZSgpOworICAgIGZyYW1lLT5zZXRIdG1sKGh0bWwpOworICAgIHBhZ2Uuc2V0Vmll
d3BvcnRTaXplKFFTaXplKDIwMCwgMCkpOyAvL25vIGhlaWdodCBzbyBsaW5rIGlzIG5vdCB2aXNp
YmxlCisgICAgUVdlYkhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZnJhbWUtPmhpdFRlc3RDb250ZW50
KFFQb2ludCgxMCwgMTAwKSk7CisgICAgUUNPTVBBUkUocmVzdWx0LmxpbmtUZXh0KCksIFFTdHJp
bmcoImxpbmsgdGV4dCIpKTsKK30KKwogUVRFU1RfTUFJTih0c3RfUVdlYkZyYW1lKQogI2luY2x1
ZGUgInRzdF9xd2ViZnJhbWUubW9jIgo=
</data>
<flag name="review"
          id="12996"
          type_id="1"
          status="+"
          setter="staikos"
    />
          </attachment>
      

    </bug>

</bugzilla>