<?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>10145</bug_id>
          
          <creation_ts>2006-07-28 08:03:17 -0700</creation_ts>
          <short_desc>REGRESSION: Allow line breaks between adjacent popups and buttons</short_desc>
          <delta_ts>2007-01-14 17:45:48 -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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>51045</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-07-28 08:03:17 -0700</bug_when>
    <thetext>Lines should be allowed to break between adjacent &lt;select&gt; elements, even if there is no white space between them. The test case shows that WebKit no longer allows it. Firefox does.

I think the reason is that the native Mac popups are adjusted to white-space:pre.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51046</commentid>
    <comment_count>1</comment_count>
      <attachid>9745</attachid>
    <who name="">mitz</who>
    <bug_when>2006-07-28 08:03:47 -0700</bug_when>
    <thetext>Created attachment 9745
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52946</commentid>
    <comment_count>2</comment_count>
      <attachid>10129</attachid>
    <who name="">mitz</who>
    <bug_when>2006-08-18 12:34:58 -0700</bug_when>
    <thetext>Created attachment 10129
Test of other replaced elements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52948</commentid>
    <comment_count>3</comment_count>
      <attachid>10130</attachid>
    <who name="">mitz</who>
    <bug_when>2006-08-18 12:35:36 -0700</bug_when>
    <thetext>Created attachment 10130
Test as rendered by WinIE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52949</commentid>
    <comment_count>4</comment_count>
      <attachid>10131</attachid>
    <who name="">mitz</who>
    <bug_when>2006-08-18 12:35:56 -0700</bug_when>
    <thetext>Created attachment 10131
Test as rendered by Firefox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52951</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-08-18 12:36:55 -0700</bug_when>
    <thetext>As the extended test shows, WebKit has the same problem with &lt;input type=&quot;button&quot;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46690</commentid>
    <comment_count>6</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2006-11-06 19:43:26 -0800</bug_when>
    <thetext>radar 4823049</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35293</commentid>
    <comment_count>7</comment_count>
      <attachid>12411</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-01-13 00:18:14 -0800</bug_when>
    <thetext>Created attachment 12411
Patch that I think may be what we want

I&apos;m a little hesitant about this, but it does seem to match Firefox.  Basically we use the parent white-space when looking at replaced elements.  This seems to be what Firefox is doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35257</commentid>
    <comment_count>8</comment_count>
      <attachid>12411</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-13 07:27:11 -0800</bug_when>
    <thetext>Comment on attachment 12411
Patch that I think may be what we want

You attached the wrong patch. This patch is removing the marquee unfurl style!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35130</commentid>
    <comment_count>9</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-01-13 13:12:55 -0800</bug_when>
    <thetext>It&apos;s not the wrong patch.  I had to remove the whiteSpace() flag from marquees since with this patch it&apos;s no longer needed.   While in there I decided to yank the unfurl thing, since it was just for Safari RSS prototyping and never used.

The important bit is in bidi.cpp near the bottom.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35140</commentid>
    <comment_count>10</comment_count>
      <attachid>12411</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-01-13 15:37:22 -0800</bug_when>
    <thetext>Comment on attachment 12411
Patch that I think may be what we want

Setting review flag (timidly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35153</commentid>
    <comment_count>11</comment_count>
      <attachid>12411</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2007-01-13 23:14:37 -0800</bug_when>
    <thetext>Comment on attachment 12411
Patch that I think may be what we want

Turn the testcase into a layout test, and r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35117</commentid>
    <comment_count>12</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-01-14 02:00:27 -0800</bug_when>
    <thetext>I landed this patch, but as Mitz pointed out, there&apos;s still the problem of replaced elements followed by non-replaced elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35115</commentid>
    <comment_count>13</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-01-14 02:04:05 -0800</bug_when>
    <thetext>NEver mind, it&apos;s ok.  I&apos;m going to add an additional test.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35052</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2007-01-14 06:31:00 -0800</bug_when>
    <thetext>This case is still misbehaving:

&lt;div style=&quot;width: 5px&quot;&gt;&lt;select&gt;&lt;/select&gt;&lt;select&gt;&lt;/select&gt;&lt;select&gt;&lt;/select&gt;&lt;/div&gt;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34942</commentid>
    <comment_count>15</comment_count>
      <attachid>12436</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-01-14 17:18:55 -0800</bug_when>
    <thetext>Created attachment 12436
Really get every case.

Here we go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34934</commentid>
    <comment_count>16</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-01-14 17:45:48 -0800</bug_when>
    <thetext>Fixed in r18851.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9745</attachid>
            <date>2006-07-28 08:03:47 -0700</date>
            <delta_ts>2007-01-14 17:18:55 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>breaks between popups.html</filename>
            <type>text/html</type>
            <size>312</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogICAgPHRpdGxlPjwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2
IHN0eWxlPSJ3aWR0aDogNzBweDsgYmFja2dyb3VuZDogc2lsdmVyOyI+CiAgICAgICAgPHNlbGVj
dD4KICAgICAgICAgICAgPG9wdGlvbj4yODwvb3B0aW9uPgogICAgICAgIDwvc2VsZWN0PjxzZWxl
Y3Q+CiAgICAgICAgICAgIDxvcHRpb24+MTI8L29wdGlvbj4KICAgICAgICA8L3NlbGVjdD48c2Vs
ZWN0PgogICAgICAgICAgICA8b3B0aW9uPjIwMDY8L29wdGlvbj4KICAgICAgICA8L3NlbGVjdD4K
ICAgIDwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>10129</attachid>
            <date>2006-08-18 12:34:58 -0700</date>
            <delta_ts>2007-01-14 17:18:55 -0800</delta_ts>
            <desc>Test of other replaced elements</desc>
            <filename>replacedElements.html</filename>
            <type>text/html</type>
            <size>809</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD4NCjxzdHlsZT4NCiAgICBlbWJlZCwgaWZyYW1lLCBpbWcgeyBib3JkZXI6
IDFweCBzb2xpZCBibGFjazsgd2lkdGg6IDI1cHg7IGhlaWdodDogMjVweDsgfQ0KPC9zdHlsZT4N
CjwvaGVhZD4NCjxib2R5Pg0KICAgIDxkaXYgc3R5bGU9IndpZHRoOiAzMHB4OyBib3JkZXI6IDFw
eCBzb2xpZCByZWQ7Ij4NCiAgICAgICAgPGlucHV0IHR5cGU9InRleHQiPjxpbnB1dCB0eXBlPSJ0
ZXh0Ij4NCiAgICAgICAgPGltZz48aW1nPg0KICAgICAgICA8aW5wdXQgdHlwZT0iYnV0dG9uIiB2
YWx1ZT0iaW5wdXQiPjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJpbnB1dCI+DQogICAgICAg
IDxidXR0b24+YnV0dG9uPC9idXR0b24+PGJ1dHRvbj5idXR0b248L2J1dHRvbj4NCiAgICAgICAg
PHNlbGVjdD48b3B0aW9uPnNlbGVjdDwvb3B0aW9uPjwvc2VsZWN0PjxzZWxlY3Q+PG9wdGlvbj5z
ZWxlY3Q8L29wdGlvbj48L3NlbGVjdD4NCiAgICAgICAgPHNlbGVjdCBzaXplPSIzIj48b3B0aW9u
PnNlbGVjdDwvb3B0aW9uPjwvc2VsZWN0PjxzZWxlY3Qgc2l6ZT0iMyI+PG9wdGlvbj5zZWxlY3Q8
L29wdGlvbj48L3NlbGVjdD4NCiAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94Ij48aW5wdXQg
dHlwZT0iY2hlY2tib3giPg0KICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iPjxpbnB1dCB0eXBl
PSJyYWRpbyI+DQogICAgICAgIDxpZnJhbWU+PC9pZnJhbWU+PGlmcmFtZT48L2lmcmFtZT4NCiAg
ICAgICAgPGVtYmVkPjwvZW1iZWQ+PGVtYmVkPjwvZW1iZWQ+DQogICAgPC9kaXY+DQo8L2JvZHk+
DQo8L2h0bWw+DQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>10130</attachid>
            <date>2006-08-18 12:35:36 -0700</date>
            <delta_ts>2007-01-14 17:18:55 -0800</delta_ts>
            <desc>Test as rendered by WinIE</desc>
            <filename>Picture 1.png</filename>
            <type>image/png</type>
            <size>3386</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">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
Ndy458/Pp77g5uPDEzclt31/vurBqX7xP01JeL2FpYD7Y97oTCj33o4wpLXQ+/P99bH3nn3pldbC
esH7PhntsH9esdADJ3Q+NY7zqSzOp7Lkfn4enE9NqoDewfnUdLy+xuJ8Kkt227e/JYfKrrcO5Xwq
i/OpLM6nsjifyuJ8KovzqSzOp7I4n8ri9RaWAu6PeaMzodx7O8KQlvOpLM6nnsX++dRyp0oiR6CA
zvZ+2HVdl/tregfL52sFjSR7sF8UdX5eygUQt+xFXm9hsTeL86ks2W3f/pYcKrveOlRJ86nab13v
YYnLn6/yjGtNfcHNx419qMLmU7VTgnmmsGNmTXdW5HyqNnM+lcX5VBbnU1m83sJibxZ7s9ibxd4s
9maxN4u9WezNYm8We7PYm8XeLPZmsTeLvVnszWJvFnuz2JvF3iz2ZrE3i71Z7M1ibxZ7s9ibxd4s
9maxN4u9WezNYm+W5ffzePhH1iihhd51Xd/neeg+Fnq7ZZ+Mx28WP5+Ixc8nYvHziVg8frPYm8XP
J2LJbvv2t+RQ2fXWofx8IhY/n4jFzydi8fOJWPx8IhY/n4jFzydi8fOJWLzewmJvFnuz2JvF3iz2
ZrE3i71Z7M1ibxZ7s9ibxd4s9maxN4u9WezNYm8We7PYm8XeLPZmsTeLvVnszWJvFnuz2JvF3iz2
ZrE3i71Z7M1ibxY/n4jFzydi8fOJWKbf+aqqgu+TVJC4Xp6vsdibxd4sse+v2Lbt4td4Mp+/Fe+n
Of/Bc37WWxHW7c+7aQc9P6Xl8ZvF3iz2ZrE3i71Z7M1ibxZ7s6y4vuagywl4//ssvP+tMXuz2JvF
3iz2ZrE3i71ZnF9jcX6Nxfk1Fo/fLPZmsTeLvVnszWJvFnuz2JvF+TUW59fOwvk1jdmbxd4s9max
N4u9WezNsuJ6y9BwnM2xtYKs7t2XHs+yWb0I666vtW3blx5+V1VVV4/oAeKur23Zn1+l7brO6+rF
mBk4vXrgsmXf9Pn+OjO9qsPNTg9feH7OYm8We7OsOF/rX3FV1Y1T+q+Pt2/ff6R8XjrG6u17POXi
yXlBNs63DBu7ZWch7vW380xn4TyTxuzNYm8We7PYm8XeLPZmsTeL82sszq+xOL92Fs6v6Yb4eSjn
17Lm/JrG7M1ibxbn11icX2Nxfu0snF9jcX5NY/ZmsTeLvVnmXn/3N74Smjw31L0sXG+Z/8yxeHVd
J//t0QbL19f2J/ej6PIRdfy+uqcWf+vT0rnZMu/w9PyS/HnoPracn/fbd/zfkz9pbbb99Vh/2Xz+
7+GAk3zt4f6cJar318fb0/NLf/J1+YNKFNX72/cfl8Nw5zRqyWKP31VV9Zk9Hhdtxfmacw0nsKK3
u/ETcPtmcftmcftmcftmcftmcftmcftmcftmcftmibpf0r9Hz9fH28+//zn4+ehYUb37kcVv3394
57t0y70vd7u/Pt688126ufWhVdIVAjffKEDJJHk/Lu92n4zrx1hcT8TieiIW1xOxOH/O4noiFtcT
sbg/Z3E9EYvriVhcT8TivAOL80wsbt8sbt8sbt8sbt8sbt8sbt8sbt8sbt8sbt8sridicT0Ri+uJ
WFxPdBauJ9KY64lY7rSe6K8///BcLwfL52v9x37v5LWaTLg/Z7E3i71Z7M1ib5Yt68f62yczkpzS
6whbegeLFmtj7zDayv0NKML23iGE+r+rb5W9C+H5Gou9WXbtz6/ulV6O6O7bs7V9+67revjWW23b
NqHp/0r39JSY+3OWBL0XL78oH7uO3yGEtm2bpm6aquu6pmp+PerhO1dbtu/h6Vhd1133a6zxcixP
9uyUmsdvFnuz2JvF3iz2ZllYT5RwwdjT84un7geKW0+00Dstex8orrf7cxbXE7G4nojF/TmLvVns
zWJvFnuzuJ6IxfVELK4nYnE9EYvnayz2ZnE9EYvriVjcn7O4nojF9UQsridi8fjNYm8We7PYm8Xe
LK4nOgvXE7Hs/zwq85yPx28We7PYm2X2fokfJnk60709WTsj9+cs9maxN4u9WezNYm8We7PYm8Xe
LP8CkaKfuugzMNkAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>10131</attachid>
            <date>2006-08-18 12:35:56 -0700</date>
            <delta_ts>2007-01-14 17:18:55 -0800</delta_ts>
            <desc>Test as rendered by Firefox</desc>
            <filename>Picture 2.png</filename>
            <type>image/png</type>
            <size>4698</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAMEAAAHzCAIAAAAW5e7ZAAABzGlDQ1BJQ0MgUHJvZmlsZQAAeJyt
kT9oU1EUh7/7StqAEkSeqNDhCdI6pCE0SquDJGYQ0UKoEZOAlJf7XpNA3svl5SZVcOjkJoKDOJQi
iOjiIoh/OpjBwUGRIhRHNwfdlC6iz+EaAkJw8cCB7/zgHM75HZiYdpVqW0AQ6mj57BmnUq05Uzsk
OESSUxx2ZVcVSqULjI3dHQTAhzlXqfaXt5k7z24kjsyufypMPXz6YnwfAKmoUq2BSAN2w3AesOuG
y4C9ppUG0QRs2XQ9ENeBdFReLoJ4BKQahp8DqbrhN0CqLxsaxEcgG3qtEKwksOj5XQlWHljxujIA
6x5wNAg6HlivgWNSRRqsr8BcpVpzzMr9z3B6E6xbI61ah8cn4cDCSJu5CfYCbLkj7fttBCAObnZX
c/MAiD0rkLgSx98WYfI9/Doexz+exPHPuzCxC6+2ZS/q//FLiHfwr9rcbGrY1kMax8YXALJwfwCX
gfMD2BjAzBrs34JSHspg5XLDNB4CkGgtuUP+bxG0e8OZAtjrh5cuAklgmhZLuEjzL4DJfbAxC/Ay
82D971nav6oBih11LWo1mtopKNX2nWInUD3tR2nnXCgzaWc+mz0B8Bv4a4S2KiVIAwAAEElJREFU
eJzt3V9sVGd+xvHfqWbscbFdk7CpS9LFkVI2XQQo8bL5g/AYkqiJVtlIu5uVUnZVIjUGkapAL0jW
bmLMhpD6giQoG5H0Iqm0TqMluypGkTcVoQZLm+wfaA0yi9jQBJGNoiDsEXbNwEw0vRhj7PH8O35m
zpyZ+X6u7MOZ8UE8vOc9c97Hx0kkEgYI/qTUB4CyR4agIkNQkSGoyBBUgfSbHae4P5aLwQripL+2
d5xdzz3n+cHAR7q6uvLck3MZ0ti+fXv+O2c4l12TfxhRMWKxmKv9GYegIkNQkSGoyBBUZAgqMgQV
GYKKDEFFhqAiQ1CRIajIEFRkCCoyBBUZgooMQUWGoMqxjtHtkjZUoWzjkKtFtaha2cah3t5ez44D
fkOvAxJ6HZDQ64DXyBBUZAgqMgQVGYKKDEFFhqAiQ1CRIajIEFRkCCoyBBUZgooMQUWGoCJDUJEh
qOh1QEWvA6qMz+so+ENfrv8gx+GZL5XEi/lQf3+/Bz8FpZIjQ4lC8OZvglLhugwqMgRVvhlysurp
6SnqUcLPXIxD2Wc8xKhq5fiMMcWRI0cy/VF3d3dPT093d7d8SCgz85wPtQ+2tw+2p2xMxkg9IpSb
+WSofbDdus3M2tvbk1t27NiRnBjt2LGjYIeGMuHuXHbd7OFmcHDQzMLhcBE+34bfzSdDg+2DyREo
GR1UuXmOQ9PpaW8PX9vm8Kl0dXI9HwpfmwNdR2yq2zzm1InUGDlm1sMIVLXmd20/M0aOmZNITH0s
xJy6Cs37ftlUjKbnQFk+fkRlcz2ndmxqpEkkEuHsu6I6uM7Q4OBgODwrPIxAVc5dhlLSk2UjqoeL
DDlOmsXXTKKRb4YyXbpzSQ/WMUJFhqAiQ1DlmA8dPHjQm+NA+aLnChXnMqjoSkNFVxoqzmVQkSGo
6EpDRVcaKrrSUNGVhoquNFR0paGiKw0VXWmo6EpDRVcaKrrSUNGVhoquNFR0paGiKw0VXWmo6EpD
xTpGqMgQVGQIKrrSUNGVhipjhmJXr3p+MK4Fg8FSHwLKeT7U29tb6kOAWc750OTkpDfH4dYrr7xS
6kPAlDIeh+ATZAgqMgSVkqGJgZ0dOw+cKdixoDxJ49DEpz/7dCJeqEMxM7P48IE39n9wvqDvieJS
MlT/6OuR19d/PWVrPBqNpstVNDqRdnvKq4/3bntieFQ4KnhNOpft37p6a9+pa18/vPWNQwMvr1/U
3Ny8aPW+o+dnbB/o61zd3HxL86Km3oEz11+7f+o8eOZA5+qO/RNmp/r+cduI2dPhpqamzv2cJcuD
di47O/Lb8Vjy66sXht7c9r3HDn2t/8hAz/dHnv72v39+fftjT07+/cCRgRc2LHv+sW/2nZmYeu3F
y8nXxkdPjoxcNLOvtj2+wWzZ5p8cOnJow5rFyrHBM+p12Q3XvrhqZt968aODz7atvOeh8PfNhj6d
MDO7esnsn/ojLz1+z8p7Nr3w6rfM3j58NuW1ZmZWa2b1f3nHqjV2w1fv+MbKbyxtrhePDd4o3LX9
JVtz/12LzMwsfvX/zBqnb2WtuenPcr248doX8atmZrGCHRWKr6CfD13J9G8/685oY+21b6e+iJ77
w7szB6XRjO8DPyriZ4zJINQ02tDTu/o+OBOZ+PxA7z+/a8s2Pjx1KTf0wdHhj0/1dd732KvTI1Gg
/i9spPsXv/s8ksdFHHyhKBkK1CwwWxCcvp+77NLbD32z5Zbb/27P0IsDP29bZGb17Zs77WdPh++4
98nJH/6kc41dSu4aWtvxotmr99/esvd/IsU4NhRcjvVD8n37iTcevuUX3/nVwceXRiITgfqm+hkL
BeLRiYmoNTXNmTtHJyJRm71vquR9+66uLu3wUADz/T1oebsyZEP3T5oFmpqaUn92qL4plO41mbbD
l4qdoVDbO//2zuKWIv8UlFKxMxT4+v2PpN4NQWXJkSGWCyKnbNdlLFhGPuh1QFXG6xgZJn2CXgdU
ZTwOwSfIEFRkCCp6HVDR64CKXgdU9DqgotcBFb0OqOh1QEWvAyp6HVDR64CKXgdU9DqgotcBFb0O
qOh1QEWvA6ry7nVkQeXDM5W5jpER1Evl2uvIgjmcxypzHIKXyBBUSobiHw9/MPwxd7WqnZKh6Hvh
h8L9HxXsWFCepHNZ7RpbU5v/JXRKZ4MKR4XQ50NBm2dnI32FIx7N0AvJ3BhBackZujLSt3M+nY00
FY7IqZc7Vi9qbm5uXrS64+VTUxOtTI0R+IWUoZpGG+p+4snR+XQ25lQ4zu9subd7JNz/m9Onf9Mf
Hum+t2Xn+bhZ5sYIfELKkNLZSPl2YvjQHrMXXu1sW9rcvLTt2X990WzPuyMRy9wYgU+o5zKhszH7
22CN2bLb/nxq7Vmgofn6G2RujMAPCjOnnua2s3H929i42cj50ak5c3x89vmKpoePyfOh+Xc2Zn1b
v+xvNptt27V3+PNI5Pzw3qe2mW1e97XU5bNJBMpX5PnQMptvZ2P2t4Fbnz09sOGT58O3t7QsDz8/
unng9LNL56yqTm2MwAekXkc8GrVQKGDRSCQ6z85GaoUjPhGZiFsgzQvzRuXDY9L/6EAoOVCEmub0
MPLtbKTuFqifU/+Az3HfHioyBBW9DqjodUBFrwOqypwPMYJ6iV4HVJU5DsFLZAgqeh1Q0euAil4H
VPQ6oKLXARW9DqjodUBFrwMqeh1Q0euAil4HVPQ6oKLXARX37aEiQ1DR64CKXgdUGa/Ldj33nOcH
UxRcoBVbhc+Htm/fXupDqHw55kO++k8ci/EBtR9V7DjEZM4z5XfXIJ/KG5eTXirSOBQ/e3zo+Nmx
4rw5/KVIGbr8bmtb68/PFOfN4S/Fmg/VrrW1IbdrxeLH33ntraFzRTkgFM08MpS+XhGNjmcvXaTd
YXaLI/7bH29a/98X3R8SSsldhs4e3rvSCdbV1QUd582T41Nbx453rnPq6hrrgs7etKNI2h3GT+/d
uC5Yl3yzH56M2sk3n9h0wmxLq+M42946nfNgmtJx9ddBQbjJUPz0jvu23PgvA3/84o/H3n//7uY6
MzM713lD6+6/2vfRF18c3dexpe3bhy+kjDbpdoif62z86y2vX9w3cOyTT35/dKDjxoC1rO3oMFux
9Y0Pj324sf3mnIcTiaTWtOdugQfcXNvHY2b2X786cf67rXetW5fcNn7yl7vNfvTAqsDk5OJVD5i9
/rv/HV/3letvm3aHVcEDu81+NDCw8cHFZrZkye1mZktW3bPW/nBr6113Ls/ziCKRyPTYQ4BKxc04
FFq+51jfIweeuvu2m5yV24Y+i5pZsvez+9HWlpaW21p/vMLW3vSnKblMt0Ow0cyaFtbN3jN2xczt
aulkdAhQCbmbD33lzr/9j0Tii98feOTES209/2k29e/+8rFLiUQikRgeThzesLxh1mvS73DFzCJj
l+f+iItR1zc0CFBpuclQ9Oxbr71z8tyFQOMtt5rZjfVm1nDngzvNtrRu7j9+bmzswulfHz4+NT5N
SbtDw/IHd5rtfugHrx0+eeGzs0P9vzwXNbNgw8124qm3f/3ZGL36MuLqXsfkkU2Prk9+uaLj/Y33
mpnZkmdGT9Q+vuKR1p8m/2TfiUt3Lp75qrQ7LHlm9Njl77Zuum/FJjOzHxy7/OASCz3wD/vsp5vu
vvmlnR+OPnPXQulvBq/kWD809759dHz8ctwWLmyYs33scjzQsLAhUyrT7jA+NhYP1DU0hAKz9rO0
75O8b5///bLkwg9+QWyxub7nGmpoSN/XaFiYdnv2HRoWzhlscr4RfKb87ttzT95vymz9EKuCfCjH
OOS3pYOsbfWhbOMQ/2DIR7ZxqDJOHL5aEl6Rymw+5BZDqQfodUBVseNQZZyIy0L5fT5Er8Nv6HVA
Ra8DKnodUNHrgIpeB1T0OqCi1wEVvQ6o6HVARa8DKnodUNHrgIpeB1Tld9+ee/J+U2brh1gV5EP0
OqCi1wFVxfY6fLUSvLKV2XwoT4ygXiqPXsd7770XCoVCodCCBQtCoVBdXV1tbW1NTU0wGAwEAo7j
OI7z5ZdfxmKxWCy2YMGCUh9vdanMcQheIkNQFSNDlDqqSzEyRKmjuhTlXEapo6q4zRClDqRykSFf
lTrgH3lnyGelDvhH3ms//FfqgE/knaHQ8j3H+sZb19994ClbsfXowO41i0PTnY3dZmYrspQ6Zu9Q
sFIH/MDFfMifpQ6UXN4ZotSBDPJfC0upA+m563WUqtQxj/v21Dk8425NPqUOzMV9e6jIEFRkCCoy
BBUZgooMQUWGoCJDUJEhqMgQVGQIKjIEFRmCigxBRYagIkNQkSGoyBBUZAgqMgQVGYKKDEFFhqAi
Q1CRIajIEFRkCCoyBBUZgooMQUWGoCJDUJEhqMgQVOXxXOl1136relqJRCKRSDiOU1NTU1NT49lR
IYnnSkPFc6Whqsz5ECOol3iuNFSVOQ7BS2QIKp4rDRXPlYaK50pDxXOloeK50lDxXGmoeK40VDxX
GiqeKw0Vz5WGiudKQ8VzpaHiudJQcd8eKjIEFRmCigxBRYagIkNQkSGoyBBUZAgqMgQVGYKKDEFF
hqAiQ1CRIajIEFRkCCoyBBUZgooMQUWGoCJDUJEhqMgQVGQIKjIEFRmCigxBRYagIkNQkSGoyBBU
ZAgqMgQVz5WGiudKQ5Xx98Ja2u2F+ZnFfHN4jvkQVGQIqrx+P/WuXbvy2c0nDzKHxwo2DjEBr1ou
fk9+lmHGJx8BoCSYD0FFhqAiQ1CRIajIEFRkCCoyBBUZgsrFZ4x8kIi08h2HuJWBTFg/BBXzIajI
EFRkCCoyBBUZgoq1sFCxFhYq1sJCxXwIKjIEFRmCigxBRYagIkNQkSGoyBBUrIWFirWwULEWFirm
Q1CRIajIEFRkCCoyBJWLz4dmmrk6liWwVc71tX2mtdUuksS1fWVxNw5NB2g6MdNbYrFYMBgs4JGh
XLgYh+YGaFryNki+GWIcqiyu59SszEeKfDOUHIQyBYizWDXj2h4qMgRVvhlKnsUyXdgzE6pmrseh
uTGaDhCzourkIkPJoairq2vmqMMIBNefU2cKjYtBiM+HKss81zHOTJLrUxgZqiyshYWKa3uoyBBU
rB+CivVDULF+CCrWD0HF+iGoWD8EFdf2UJEhqFg/BBXrh6Bi/RBUrB+CivVDUGW81+E4TmF/Uvqw
ovxlu19WwH/1gicS/sHnQ1CRIajIEFRkCCoyBBUZgooMQUWGoCJDUJEhqMgQVGQIKjIEFRmCigxB
RYagIkNQkSGoyBBUZAgqMgQVGYKKDEFFhqDK1lGkWIh8MA5BRVcaKsYhqMgQVGQIKjIEFRmCigxB
RYagIkNQkSGoyBBU3mXIcRzueFQkxiGoyBBUZAgqMgQVGYKKDEFFhqAiQ1CRIajIEFRkCCoyBBUZ
goquNFQZM1Twx0CTyEqV8VzGch/kifkQVNnmQ4VV8JMjfIJxCCoyBBUZgooMQUWGoCJDUJEhqMgQ
VGQIKjIEFRmCigxBRYagIkNQ5Vr7wTI05OKwrAcizmVQkSGoyBBUZAgqMgQVGYKKDEFFhqAiQ1CR
Iaj+H3cM0WAdXKkWAAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12411</attachid>
            <date>2007-01-13 00:18:14 -0800</date>
            <delta_ts>2007-01-14 17:18:55 -0800</delta_ts>
            <desc>Patch that I think may be what we want</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>12679</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24gMTg4MjYpCisrKyByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQ5LDggKzIwNDksOCBAQAogTWFycXVlZTo6TWFy
cXVlZShSZW5kZXJMYXllciogbCkKICAgICA6IG1fbGF5ZXIobCksIG1fY3VycmVudExvb3AoMCkK
ICAgICAsIG1fdGltZXIodGhpcywgJk1hcnF1ZWU6OnRpbWVyRmlyZWQpCi0gICAgLCBtX3N0YXJ0
KDApLCBtX2VuZCgwKSwgbV9zcGVlZCgwKSwgbV91bmZ1cmxQb3MoMCksIG1fcmVzZXQoZmFsc2Up
Ci0gICAgLCBtX3N1c3BlbmRlZChmYWxzZSksIG1fc3RvcHBlZChmYWxzZSksIG1fd2hpdGVTcGFj
ZShOT1JNQUwpLCBtX2RpcmVjdGlvbihNQVVUTykKKyAgICAsIG1fc3RhcnQoMCksIG1fZW5kKDAp
LCBtX3NwZWVkKDApLCBtX3Jlc2V0KGZhbHNlKQorICAgICwgbV9zdXNwZW5kZWQoZmFsc2UpLCBt
X3N0b3BwZWQoZmFsc2UpLCBtX2RpcmVjdGlvbihNQVVUTykKIHsKIH0KIApAQCAtMjA5MiwxMiAr
MjA5Miw2IEBACiAgICAgcmV0dXJuIGRpcmVjdGlvbigpID09IE1MRUZUIHx8IGRpcmVjdGlvbigp
ID09IE1SSUdIVDsKIH0KIAotYm9vbCBNYXJxdWVlOjppc1VuZnVybE1hcnF1ZWUoKSBjb25zdAot
ewotICAgIEVNYXJxdWVlQmVoYXZpb3IgYmVoYXZpb3IgPSBtX2xheWVyLT5yZW5kZXJlcigpLT5z
dHlsZSgpLT5tYXJxdWVlQmVoYXZpb3IoKTsKLSAgICByZXR1cm4gKGJlaGF2aW9yID09IE1VTkZV
UkwpOwotfQotCiBpbnQgTWFycXVlZTo6Y29tcHV0ZVBvc2l0aW9uKEVNYXJxdWVlRGlyZWN0aW9u
IGRpciwgYm9vbCBzdG9wQXRDb250ZW50RWRnZSkKIHsKICAgICBSZW5kZXJPYmplY3QqIG8gPSBt
X2xheWVyLT5yZW5kZXJlcigpOwpAQCAtMjE1MCwxOCArMjE0NCwxMCBAQAogICAgICAgICByZXR1
cm47CiAgICAgCiAgICAgaWYgKCFtX3N1c3BlbmRlZCAmJiAhbV9zdG9wcGVkKSB7Ci0gICAgICAg
IGlmIChpc1VuZnVybE1hcnF1ZWUoKSkgewotICAgICAgICAgICAgYm9vbCBmb3J3YXJkID0gZGly
ZWN0aW9uKCkgPT0gTURPV04gfHwgZGlyZWN0aW9uKCkgPT0gTVJJR0hUOwotICAgICAgICAgICAg
Ym9vbCBpc1JldmVyc2VkID0gKGZvcndhcmQgJiYgbV9jdXJyZW50TG9vcCAlIDIpIHx8ICghZm9y
d2FyZCAmJiAhKG1fY3VycmVudExvb3AgJSAyKSk7Ci0gICAgICAgICAgICBtX3VuZnVybFBvcyA9
IGlzUmV2ZXJzZWQgPyBtX2VuZCA6IG1fc3RhcnQ7Ci0gICAgICAgICAgICBtX2xheWVyLT5yZW5k
ZXJlcigpLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOwotICAgICAgICB9Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCgpKQotICAgICAgICAgICAgICAgIG1f
bGF5ZXItPnNjcm9sbFRvT2Zmc2V0KG1fc3RhcnQsIDAsIGZhbHNlLCBmYWxzZSk7Ci0gICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9PZmZzZXQoMCwgbV9z
dGFydCwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoaXNIb3Jpem9udGFs
KCkpCisgICAgICAgICAgICBtX2xheWVyLT5zY3JvbGxUb09mZnNldChtX3N0YXJ0LCAwLCBmYWxz
ZSwgZmFsc2UpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2xheWVyLT5zY3JvbGxUb09m
ZnNldCgwLCBtX3N0YXJ0LCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAvLyBGSVhNRTogQXQgdGhp
cyBwb2ludCBhIHNjcm9sbCBldmVudCBmaXJlZCwgd2hpY2ggY291bGQgaGF2ZSBkZWxldGVkIHRo
aXMgbGF5ZXIsCiAgICAgICAgIC8vIGluY2x1ZGluZyB0aGUgbWFycXVlZS4gTmVlZCB0byBoYW5k
bGUgdGhpcyBjYXNlLgogICAgIH0KQEAgLTIxODksMjEgKzIxNzUsOSBAQAogewogICAgIGJvb2wg
YWN0aXZhdGUgPSAobV90b3RhbExvb3BzIDw9IDAgfHwgbV9jdXJyZW50TG9vcCA8IG1fdG90YWxM
b29wcyk7CiAgICAgaWYgKGFjdGl2YXRlKSB7Ci0gICAgICAgIGlmIChpc1VuZnVybE1hcnF1ZWUo
KSkgewotICAgICAgICAgICAgaWYgKG1fdW5mdXJsUG9zIDwgbV9zdGFydCkgewotICAgICAgICAg
ICAgICAgIG1fdW5mdXJsUG9zID0gbV9zdGFydDsKLSAgICAgICAgICAgICAgICBtX2xheWVyLT5y
ZW5kZXJlcigpLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgZWxzZSBpZiAobV91bmZ1cmxQb3MgPiBtX2VuZCkgewotICAgICAgICAgICAgICAg
IG1fdW5mdXJsUG9zID0gbV9lbmQ7Ci0gICAgICAgICAgICAgICAgbV9sYXllci0+cmVuZGVyZXIo
KS0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEVNYXJxdWVlQmVoYXZpb3IgYmVoYXZpb3IgPSBt
X2xheWVyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT5tYXJxdWVlQmVoYXZpb3IoKTsKLSAgICAgICAg
ICAgIG1fc3RhcnQgPSBjb21wdXRlUG9zaXRpb24oZGlyZWN0aW9uKCksIGJlaGF2aW9yID09IE1B
TFRFUk5BVEUpOwotICAgICAgICAgICAgbV9lbmQgPSBjb21wdXRlUG9zaXRpb24ocmV2ZXJzZURp
cmVjdGlvbigpLCBiZWhhdmlvciA9PSBNQUxURVJOQVRFIHx8IGJlaGF2aW9yID09IE1TTElERSk7
Ci0gICAgICAgIH0KKyAgICAgICAgRU1hcnF1ZWVCZWhhdmlvciBiZWhhdmlvciA9IG1fbGF5ZXIt
PnJlbmRlcmVyKCktPnN0eWxlKCktPm1hcnF1ZWVCZWhhdmlvcigpOworICAgICAgICBtX3N0YXJ0
ID0gY29tcHV0ZVBvc2l0aW9uKGRpcmVjdGlvbigpLCBiZWhhdmlvciA9PSBNQUxURVJOQVRFKTsK
KyAgICAgICAgbV9lbmQgPSBjb21wdXRlUG9zaXRpb24ocmV2ZXJzZURpcmVjdGlvbigpLCBiZWhh
dmlvciA9PSBNQUxURVJOQVRFIHx8IGJlaGF2aW9yID09IE1TTElERSk7CiAgICAgICAgIGlmICgh
bV9zdG9wcGVkKQogICAgICAgICAgICAgc3RhcnQoKTsKICAgICB9CkBAIC0yMjE4LDEyICsyMTky
LDExIEBACiAgICAgCiAgICAgbV90b3RhbExvb3BzID0gcy0+bWFycXVlZUxvb3BDb3VudCgpOwog
ICAgIG1fZGlyZWN0aW9uID0gcy0+bWFycXVlZURpcmVjdGlvbigpOwotICAgIG1fd2hpdGVTcGFj
ZSA9IHMtPndoaXRlU3BhY2UoKTsKICAgICAKICAgICBpZiAobV9sYXllci0+cmVuZGVyZXIoKS0+
aXNIVE1MTWFycXVlZSgpKSB7CiAgICAgICAgIC8vIEhhY2sgZm9yIFdpbklFLiAgSW4gV2luSUUs
IGEgdmFsdWUgb2YgMCBvciBsb3dlciBmb3IgdGhlIGxvb3AgY291bnQgZm9yIFNMSURFIG1lYW5z
IHRvIG9ubHkgZG8KICAgICAgICAgLy8gb25lIGxvb3AuCi0gICAgICAgIGlmIChtX3RvdGFsTG9v
cHMgPD0gMCAmJiAocy0+bWFycXVlZUJlaGF2aW9yKCkgPT0gTVNMSURFIHx8IHMtPm1hcnF1ZWVC
ZWhhdmlvcigpID09IE1VTkZVUkwpKQorICAgICAgICBpZiAobV90b3RhbExvb3BzIDw9IDAgJiYg
cy0+bWFycXVlZUJlaGF2aW9yKCkgPT0gTVNMSURFKQogICAgICAgICAgICAgbV90b3RhbExvb3Bz
ID0gMTsKICAgICAgICAgCiAgICAgICAgIC8vIEhhY2sgYWxlcnQ6IFNldCB0aGUgd2hpdGUtc3Bh
Y2UgdmFsdWUgdG8gbm93cmFwIGZvciBob3Jpem9udGFsIG1hcnF1ZWVzIHdpdGggaW5saW5lIGNo
aWxkcmVuLCB0aHVzIGVuc3VyaW5nCkBAIC0yMjg1LDIzICsyMjU4LDE2IEBACiAgICAgZWxzZSB7
ICAKICAgICAgICAgYm9vbCBhZGRJbmNyZW1lbnQgPSBkaXJlY3Rpb24oKSA9PSBNVVAgfHwgZGly
ZWN0aW9uKCkgPT0gTUxFRlQ7CiAgICAgICAgIGJvb2wgaXNSZXZlcnNlZCA9IHMtPm1hcnF1ZWVC
ZWhhdmlvcigpID09IE1BTFRFUk5BVEUgJiYgbV9jdXJyZW50TG9vcCAlIDI7Ci0gICAgICAgIGlm
IChpc1VuZnVybE1hcnF1ZWUoKSkgewotICAgICAgICAgICAgaXNSZXZlcnNlZCA9ICghYWRkSW5j
cmVtZW50ICYmIG1fY3VycmVudExvb3AgJSAyKSB8fCAoYWRkSW5jcmVtZW50ICYmICEobV9jdXJy
ZW50TG9vcCAlIDIpKTsKLSAgICAgICAgICAgIGFkZEluY3JlbWVudCA9ICFpc1JldmVyc2VkOwot
ICAgICAgICB9CiAgICAgICAgIGlmIChpc1JldmVyc2VkKSB7CiAgICAgICAgICAgICAvLyBXZSdy
ZSBnb2luZyBpbiB0aGUgcmV2ZXJzZSBkaXJlY3Rpb24uCiAgICAgICAgICAgICBlbmRQb2ludCA9
IG1fc3RhcnQ7CiAgICAgICAgICAgICByYW5nZSA9IC1yYW5nZTsKLSAgICAgICAgICAgIGlmICgh
aXNVbmZ1cmxNYXJxdWVlKCkpCi0gICAgICAgICAgICAgICAgYWRkSW5jcmVtZW50ID0gIWFkZElu
Y3JlbWVudDsKKyAgICAgICAgICAgIGFkZEluY3JlbWVudCA9ICFhZGRJbmNyZW1lbnQ7CiAgICAg
ICAgIH0KICAgICAgICAgYm9vbCBwb3NpdGl2ZSA9IHJhbmdlID4gMDsKLSAgICAgICAgaW50IGNs
aWVudFNpemUgPSBpc1VuZnVybE1hcnF1ZWUoKSA/IGFicyhyYW5nZSkgOgotICAgICAgICAgICAg
KGlzSG9yaXpvbnRhbCgpID8gbV9sYXllci0+cmVuZGVyZXIoKS0+Y2xpZW50V2lkdGgoKSA6IG1f
bGF5ZXItPnJlbmRlcmVyKCktPmNsaWVudEhlaWdodCgpKTsKKyAgICAgICAgaW50IGNsaWVudFNp
emUgPSAoaXNIb3Jpem9udGFsKCkgPyBtX2xheWVyLT5yZW5kZXJlcigpLT5jbGllbnRXaWR0aCgp
IDogbV9sYXllci0+cmVuZGVyZXIoKS0+Y2xpZW50SGVpZ2h0KCkpOwogICAgICAgICBpbnQgaW5j
cmVtZW50ID0gbWF4KDEsIGFicyhtX2xheWVyLT5yZW5kZXJlcigpLT5zdHlsZSgpLT5tYXJxdWVl
SW5jcmVtZW50KCkuY2FsY1ZhbHVlKGNsaWVudFNpemUpKSk7Ci0gICAgICAgIGludCBjdXJyZW50
UG9zID0gaXNVbmZ1cmxNYXJxdWVlKCkgPyBtX3VuZnVybFBvcyA6IAotICAgICAgICAgICAgKGlz
SG9yaXpvbnRhbCgpID8gbV9sYXllci0+c2Nyb2xsWE9mZnNldCgpIDogbV9sYXllci0+c2Nyb2xs
WU9mZnNldCgpKTsKKyAgICAgICAgaW50IGN1cnJlbnRQb3MgPSAoaXNIb3Jpem9udGFsKCkgPyBt
X2xheWVyLT5zY3JvbGxYT2Zmc2V0KCkgOiBtX2xheWVyLT5zY3JvbGxZT2Zmc2V0KCkpOwogICAg
ICAgICBuZXdQb3MgPSAgY3VycmVudFBvcyArIChhZGRJbmNyZW1lbnQgPyBpbmNyZW1lbnQgOiAt
aW5jcmVtZW50KTsKICAgICAgICAgaWYgKHBvc2l0aXZlKQogICAgICAgICAgICAgbmV3UG9zID0g
bWluKG5ld1BvcywgZW5kUG9pbnQpOwpAQCAtMjMxMywyMCArMjI3OSwxNCBAQAogICAgICAgICBt
X2N1cnJlbnRMb29wKys7CiAgICAgICAgIGlmIChtX3RvdGFsTG9vcHMgPiAwICYmIG1fY3VycmVu
dExvb3AgPj0gbV90b3RhbExvb3BzKQogICAgICAgICAgICAgbV90aW1lci5zdG9wKCk7Ci0gICAg
ICAgIGVsc2UgaWYgKHMtPm1hcnF1ZWVCZWhhdmlvcigpICE9IE1BTFRFUk5BVEUgJiYgcy0+bWFy
cXVlZUJlaGF2aW9yKCkgIT0gTVVORlVSTCkKKyAgICAgICAgZWxzZSBpZiAocy0+bWFycXVlZUJl
aGF2aW9yKCkgIT0gTUFMVEVSTkFURSkKICAgICAgICAgICAgIG1fcmVzZXQgPSB0cnVlOwogICAg
IH0KICAgICAKLSAgICBpZiAoaXNVbmZ1cmxNYXJxdWVlKCkpIHsKLSAgICAgICAgbV91bmZ1cmxQ
b3MgPSBuZXdQb3M7Ci0gICAgICAgIG1fbGF5ZXItPnJlbmRlcmVyKCktPnNldENoaWxkTmVlZHNM
YXlvdXQodHJ1ZSk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBpZiAoaXNIb3Jpem9udGFs
KCkpCi0gICAgICAgICAgICBtX2xheWVyLT5zY3JvbGxUb1hPZmZzZXQobmV3UG9zKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9ZT2Zmc2V0KG5ld1Bvcyk7Ci0g
ICAgfQorICAgIGlmIChpc0hvcml6b250YWwoKSkKKyAgICAgICAgbV9sYXllci0+c2Nyb2xsVG9Y
T2Zmc2V0KG5ld1Bvcyk7CisgICAgZWxzZQorICAgICAgICBtX2xheWVyLT5zY3JvbGxUb1lPZmZz
ZXQobmV3UG9zKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogcmVuZGVyaW5n
L1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1JlbmRlclN0eWxlLmgJKHJl
dmlzaW9uIDE4ODI3KQorKysgcmVuZGVyaW5nL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTU2NCw3ICs1NjQsNyBAQAogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIC8vIENTUzMgTWFycXVlZSBQcm9wZXJ0aWVzCiAKLWVudW0gRU1hcnF1
ZWVCZWhhdmlvciB7IE1OT05FLCBNU0NST0xMLCBNU0xJREUsIE1BTFRFUk5BVEUsIE1VTkZVUkwg
fTsKK2VudW0gRU1hcnF1ZWVCZWhhdmlvciB7IE1OT05FLCBNU0NST0xMLCBNU0xJREUsIE1BTFRF
Uk5BVEUgfTsKIGVudW0gRU1hcnF1ZWVEaXJlY3Rpb24geyBNQVVUTyA9IDAsIE1MRUZUID0gMSwg
TVJJR0hUID0gLTEsIE1VUCA9IDIsIE1ET1dOID0gLTIsIE1GT1JXQVJEID0gMywgTUJBQ0tXQVJE
ID0gLTMgfTsKIAogY2xhc3MgU3R5bGVNYXJxdWVlRGF0YSA6IHB1YmxpYyBTaGFyZWQ8U3R5bGVN
YXJxdWVlRGF0YT4gewpJbmRleDogcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDE4ODI2KQorKysgcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNTksMTMgKzEyNTksNiBAQAogICAg
ICAgICBtX2hlaWdodCA9IGhlaWdodDsKICAgICB9CiAgICAgCi0gICAgLy8gVW5mdXJsaW5nIG1h
cnF1ZWVzIG92ZXJyaWRlIHdpdGggdGhlIGZ1cmxlZCBoZWlnaHQuCi0gICAgaWYgKHN0eWxlKCkt
Pm92ZXJmbG93WCgpID09IE9NQVJRVUVFICYmIG1fbGF5ZXIgJiYgbV9sYXllci0+bWFycXVlZSgp
ICYmIAotICAgICAgICBtX2xheWVyLT5tYXJxdWVlKCktPmlzVW5mdXJsTWFycXVlZSgpICYmICFt
X2xheWVyLT5tYXJxdWVlKCktPmlzSG9yaXpvbnRhbCgpKSB7Ci0gICAgICAgIG1fbGF5ZXItPm1h
cnF1ZWUoKS0+c2V0RW5kKG1faGVpZ2h0KTsKLSAgICAgICAgbV9oZWlnaHQgPSBtaW4obV9oZWln
aHQsIG1fbGF5ZXItPm1hcnF1ZWUoKS0+dW5mdXJsUG9zKCkpOwotICAgIH0KLSAgICAKICAgICAv
LyBXaW5JRSBxdWlyazogVGhlIDxodG1sPiBibG9jayBhbHdheXMgZmlsbHMgdGhlIGVudGlyZSBj
YW52YXMgaW4gcXVpcmtzIG1vZGUuICBUaGUgPGJvZHk+IGFsd2F5cyBmaWxscyB0aGUKICAgICAv
LyA8aHRtbD4gYmxvY2sgaW4gcXVpcmtzIG1vZGUuICBPbmx5IGFwcGx5IHRoaXMgcXVpcmsgaWYg
dGhlIGJsb2NrIGlzIG5vcm1hbCBmbG93IGFuZCBubyBoZWlnaHQKICAgICAvLyBpcyBzcGVjaWZp
ZWQuCkluZGV4OiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDE4ODI3KQorKysgcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIyMiw3ICszMjIyLDcgQEAKICAgICAgICAg
ICAgIG1fbWluV2lkdGggPSBtX21heFdpZHRoOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAv
LyBBIGhvcml6b250YWwgbWFycXVlZSB3aXRoIGlubGluZSBjaGlsZHJlbiBoYXMgbm8gbWluaW11
bSB3aWR0aC4KLSAgICAgICAgICAgIGlmIChtX2xheWVyICYmIG1fbGF5ZXItPm1hcnF1ZWUoKSAm
JiBtX2xheWVyLT5tYXJxdWVlKCktPmlzSG9yaXpvbnRhbCgpICYmICFtX2xheWVyLT5tYXJxdWVl
KCktPmlzVW5mdXJsTWFycXVlZSgpKQorICAgICAgICAgICAgaWYgKG1fbGF5ZXIgJiYgbV9sYXll
ci0+bWFycXVlZSgpICYmIG1fbGF5ZXItPm1hcnF1ZWUoKS0+aXNIb3Jpem9udGFsKCkpCiAgICAg
ICAgICAgICAgICAgbV9taW5XaWR0aCA9IDA7CiAgICAgICAgIH0KIApJbmRleDogcmVuZGVyaW5n
L2JpZGkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9iaWRpLmNwcAkocmV2aXNpb24gMTg4
MjYpCisrKyByZW5kZXJpbmcvYmlkaS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNzksMjIgKzIw
NzksMTAgQEAKICAgICAgICAgICAgIHRtcFcgKz0gby0+bWFyZ2luTGVmdCgpK28tPmJvcmRlckxl
ZnQoKStvLT5wYWRkaW5nTGVmdCgpKwogICAgICAgICAgICAgICAgICAgICBvLT5tYXJnaW5SaWdo
dCgpK28tPmJvcmRlclJpZ2h0KCkrby0+cGFkZGluZ1JpZ2h0KCk7CiAgICAgICAgIH0gZWxzZSBp
ZiAoby0+aXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgICAgICBFV2hpdGVTcGFjZSBjdXJyV1MgPSBv
LT5zdHlsZSgpLT53aGl0ZVNwYWNlKCk7Ci0gICAgICAgICAgICBFV2hpdGVTcGFjZSBsYXN0V1Mg
PSBsYXN0LT5zdHlsZSgpLT53aGl0ZVNwYWNlKCk7CisgICAgICAgICAgICBFV2hpdGVTcGFjZSBj
dXJyV1MgPSBvLT5wYXJlbnQoKS0+c3R5bGUoKS0+d2hpdGVTcGFjZSgpOworICAgICAgICAgICAg
RVdoaXRlU3BhY2UgbGFzdFdTID0gbGFzdC0+aXNSZXBsYWNlZCgpID8gbGFzdC0+cGFyZW50KCkt
PnN0eWxlKCktPndoaXRlU3BhY2UoKSA6IGxhc3QtPnN0eWxlKCktPndoaXRlU3BhY2UoKTsKICAg
ICAgICAgICAgIAotICAgICAgICAgICAgLy8gV2luSUUgbWFycXVlZXMgaGF2ZSBkaWZmZXJlbnQg
d2hpdGVzcGFjZSBjaGFyYWN0ZXJpc3RpY3MgYnkgZGVmYXVsdCB3aGVuIHZpZXdlZCBmcm9tCi0g
ICAgICAgICAgICAvLyB0aGUgb3V0c2lkZSB2cy4gdGhlIGluc2lkZS4gIFRleHQgaW5zaWRlIGlz
IE5PV1JBUCwgYW5kIHNvIHdlIGFsdGVyZWQgdGhlIG1hcnF1ZWUncwotICAgICAgICAgICAgLy8g
c3R5bGUgdG8gcmVmbGVjdCB0aGlzLCBidXQgd2Ugbm93IGhhdmUgdG8gZ2V0IGJhY2sgdG8gdGhl
IG9yaWdpbmFsIHdoaXRlc3BhY2UgdmFsdWUKLSAgICAgICAgICAgIC8vIGZvciB0aGUgbWFycXVl
ZSB3aGVuIGNoZWNraW5nIGZvciBsaW5lIGJyZWFraW5nLgotICAgICAgICAgICAgaWYgKG8tPmlz
SFRNTE1hcnF1ZWUoKSAmJiBvLT5sYXllcigpICYmIG8tPmxheWVyKCktPm1hcnF1ZWUoKSkKLSAg
ICAgICAgICAgICAgICBjdXJyV1MgPSBvLT5sYXllcigpLT5tYXJxdWVlKCktPndoaXRlU3BhY2Uo
KTsKLSAgICAgICAgICAgIGlmIChsYXN0LT5pc0hUTUxNYXJxdWVlKCkgJiYgbGFzdC0+bGF5ZXIo
KSAmJiBsYXN0LT5sYXllcigpLT5tYXJxdWVlKCkpCi0gICAgICAgICAgICAgICAgbGFzdFdTID0g
bGFzdC0+bGF5ZXIoKS0+bWFycXVlZSgpLT53aGl0ZVNwYWNlKCk7Ci0gICAgICAgICAgICAKICAg
ICAgICAgICAgIC8vIEJyZWFrIG9uIHJlcGxhY2VkIGVsZW1lbnRzIGlmIGVpdGhlciBoYXMgbm9y
bWFsIHdoaXRlLXNwYWNlLgotICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBub3QgbWF0
Y2ggV2luSUUsIE9wZXJhLCBhbmQgTW96aWxsYS4gIFRoZXkgdHJlYXQgcmVwbGFjZWQgZWxlbWVu
dHMKLSAgICAgICAgICAgIC8vIGxpa2UgY2hhcmFjdGVycyBpbiBhIHdvcmQsIGFuZCByZXF1aXJl
IHNwYWNlcyBiZXR3ZWVuIHRoZSByZXBsYWNlZCBlbGVtZW50cyBpbiBvcmRlcgotICAgICAgICAg
ICAgLy8gdG8gYnJlYWsuCiAgICAgICAgICAgICBpZiAoUmVuZGVyU3R5bGU6OmF1dG9XcmFwKGN1
cnJXUykgfHwgUmVuZGVyU3R5bGU6OmF1dG9XcmFwKGxhc3RXUykpIHsKICAgICAgICAgICAgICAg
ICB3ICs9IHRtcFc7CiAgICAgICAgICAgICAgICAgdG1wVyA9IDA7CkluZGV4OiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAkocmV2
aXNpb24gMTg4MjYpCisrKyByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMTI1LDExICsxMjUsNyBAQAogICAgIEVNYXJxdWVlRGlyZWN0aW9uIGRpcmVjdGlvbigpIGNv
bnN0OwogCiAgICAgYm9vbCBpc0hvcml6b250YWwoKSBjb25zdDsKLSAgICBib29sIGlzVW5mdXJs
TWFycXVlZSgpIGNvbnN0OwotICAgIGludCB1bmZ1cmxQb3MoKSBjb25zdCB7IHJldHVybiBtX3Vu
ZnVybFBvczsgfQogCi0gICAgRVdoaXRlU3BhY2Ugd2hpdGVTcGFjZSgpIHsgcmV0dXJuIHN0YXRp
Y19jYXN0PEVXaGl0ZVNwYWNlPihtX3doaXRlU3BhY2UpOyB9Ci0KICAgICBpbnQgY29tcHV0ZVBv
c2l0aW9uKEVNYXJxdWVlRGlyZWN0aW9uLCBib29sIHN0b3BBdENsaWVudEVkZ2UpOwogCiAgICAg
dm9pZCBzZXRFbmQoaW50IGVuZCkgeyBtX2VuZCA9IGVuZDsgfQpAQCAtMTUxLDEyICsxNDcsMTAg
QEAKICAgICBpbnQgbV9zdGFydDsKICAgICBpbnQgbV9lbmQ7CiAgICAgaW50IG1fc3BlZWQ7Ci0g
ICAgaW50IG1fdW5mdXJsUG9zOwogICAgIExlbmd0aCBtX2hlaWdodDsKICAgICBib29sIG1fcmVz
ZXQ6IDE7CiAgICAgYm9vbCBtX3N1c3BlbmRlZCA6IDE7CiAgICAgYm9vbCBtX3N0b3BwZWQgOiAx
OwotICAgIHVuc2lnbmVkIG1fd2hpdGVTcGFjZSA6IDM7IC8vIEVXaGl0ZVNwYWNlCiAgICAgRU1h
cnF1ZWVEaXJlY3Rpb24gbV9kaXJlY3Rpb24gOiA0OwogfTsKIApJbmRleDogY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJldmlz
aW9uIDE4ODI2KQorKysgY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHdvcmtpbmcgY29weSkKQEAg
LTQxMCw3ICs0MTAsNiBAQAogc2xpZGUKICMgc2Nyb2xsCiBhbHRlcm5hdGUKLXVuZnVybAogCiAj
CiAjIENTU19QUk9QX19LSFRNTF9VU0VSX01PRElGWQpJbmRleDogY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAJKHJldmlzaW9uIDE4ODI2KQorKysgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNTcsOCArMTA1Nyw2IEBACiAgICAgICAg
ICAgICAgICAgcmV0dXJuIG5ldyBDU1NQcmltaXRpdmVWYWx1ZShDU1NfVkFMX1NMSURFKTsKICAg
ICAgICAgICAgIGNhc2UgTUFMVEVSTkFURToKICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENT
U1ByaW1pdGl2ZVZhbHVlKENTU19WQUxfQUxURVJOQVRFKTsKLSAgICAgICAgICAgIGNhc2UgTVVO
RlVSTDoKLSAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENTU1ByaW1pdGl2ZVZhbHVlKENTU19W
QUxfVU5GVVJMKTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICAgICAgcmV0dXJuIDA7CkluZGV4OiBjc3MvY3Nzc3R5bGVzZWxlY3Rvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gY3NzL2Nzc3N0eWxlc2VsZWN0b3IuY3BwCShyZXZpc2lvbiAxODgyNikKKysrIGNzcy9j
c3NzdHlsZXNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEyOSw5ICs0MTI5LDYgQEAK
ICAgICAgICAgICAgIGNhc2UgQ1NTX1ZBTF9BTFRFUk5BVEU6CiAgICAgICAgICAgICAgICAgc3R5
bGUtPnNldE1hcnF1ZWVCZWhhdmlvcihNQUxURVJOQVRFKTsKICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgQ1NTX1ZBTF9VTkZVUkw6Ci0gICAgICAgICAgICAgICAgc3R5
bGUtPnNldE1hcnF1ZWVCZWhhdmlvcihNVU5GVVJMKTsKLSAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CkluZGV4OiBjc3MvY3NzcGFyc2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBjc3MvY3NzcGFyc2VyLmNwcAkocmV2aXNpb24gMTg4MjYpCisrKyBj
c3MvY3NzcGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEzNCw4ICsxMTM0LDcgQEAKICAg
ICAgICAgICAgIHZhbGlkX3ByaW1pdGl2ZSA9IHZhbGlkVW5pdCh2YWx1ZSwgRkxlbmd0aHxGUGVy
Y2VudCwgc3RyaWN0KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NfUFJPUF9fV0VCS0lU
X01BUlFVRUVfU1RZTEU6Ci0gICAgICAgIGlmIChpZCA9PSBDU1NfVkFMX05PTkUgfHwgaWQgPT0g
Q1NTX1ZBTF9TTElERSB8fCBpZCA9PSBDU1NfVkFMX1NDUk9MTCB8fCBpZCA9PSBDU1NfVkFMX0FM
VEVSTkFURSB8fAotICAgICAgICAgICAgaWQgPT0gQ1NTX1ZBTF9VTkZVUkwpCisgICAgICAgIGlm
IChpZCA9PSBDU1NfVkFMX05PTkUgfHwgaWQgPT0gQ1NTX1ZBTF9TTElERSB8fCBpZCA9PSBDU1Nf
VkFMX1NDUk9MTCB8fCBpZCA9PSBDU1NfVkFMX0FMVEVSTkFURSkKICAgICAgICAgICAgIHZhbGlk
X3ByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTX1BST1BfX1dF
QktJVF9NQVJRVUVFX1JFUEVUSVRJT046Cg==
</data>
<flag name="review"
          id="4677"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12436</attachid>
            <date>2007-01-14 17:18:55 -0800</date>
            <delta_ts>2007-01-14 17:28:11 -0800</delta_ts>
            <desc>Really get every case.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11081</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IHJlbmRlcmluZy9iaWRpLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvYmlkaS5j
cHAJKHJldmlzaW9uIDE4ODM4KQorKysgcmVuZGVyaW5nL2JpZGkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTk4LDcgKzE5OTgsMTYgQEAgQmlkaUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4
dExpbmVCcgogICAgIGJvb2wgcHJldkxpbmVCcm9rZUNsZWFubHkgPSBwcmV2aW91c0xpbmVCcm9r
ZUNsZWFubHk7CiAgICAgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5ID0gZmFsc2U7CiAgICAgCisg
ICAgRVdoaXRlU3BhY2UgY3VycldTID0gc3R5bGUoKS0+d2hpdGVTcGFjZSgpOworICAgIEVXaGl0
ZVNwYWNlIGxhc3RXUyA9IGN1cnJXUzsKICAgICB3aGlsZSAobykgeworICAgICAgICBjdXJyV1Mg
PSBvLT5pc1JlcGxhY2VkKCkgPyBvLT5wYXJlbnQoKS0+c3R5bGUoKS0+d2hpdGVTcGFjZSgpIDog
by0+c3R5bGUoKS0+d2hpdGVTcGFjZSgpOworICAgICAgICBsYXN0V1MgPSBsYXN0LT5pc1JlcGxh
Y2VkKCkgPyBsYXN0LT5wYXJlbnQoKS0+c3R5bGUoKS0+d2hpdGVTcGFjZSgpIDogbGFzdC0+c3R5
bGUoKS0+d2hpdGVTcGFjZSgpOworICAgICAgICAKKyAgICAgICAgYm9vbCBhdXRvV3JhcCA9IFJl
bmRlclN0eWxlOjphdXRvV3JhcChjdXJyV1MpOworICAgICAgICBib29sIHByZXNlcnZlTmV3bGlu
ZSA9IFJlbmRlclN0eWxlOjpwcmVzZXJ2ZU5ld2xpbmUoY3VycldTKTsKKyAgICAgICAgYm9vbCBj
b2xsYXBzZVdoaXRlU3BhY2UgPSBSZW5kZXJTdHlsZTo6Y29sbGFwc2VXaGl0ZVNwYWNlKGN1cnJX
Uyk7CisgICAgICAgICAgICAKICAgICAgICAgaWYgKG8tPmlzQlIoKSkgewogICAgICAgICAgICAg
aWYgKHcgKyB0bXBXIDw9IHdpZHRoKSB7CiAgICAgICAgICAgICAgICAgbEJyZWFrLm9iaiA9IG87
CkBAIC0yMDI0LDYgKzIwMzMsNyBAQCBCaWRpSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0
TGluZUJyCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBnb3RvIGVuZDsKICAgICAgICAgfQor
CiAgICAgICAgIGlmIChvLT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkpIHsKICAgICAgICAgICAg
IC8vIGFkZCB0byBzcGVjaWFsIG9iamVjdHMuLi4KICAgICAgICAgICAgIGlmIChvLT5pc0Zsb2F0
aW5nKCkpIHsKQEAgLTIwMzEsNyArMjA0MSw3IEBAIEJpZGlJdGVyYXRvciBSZW5kZXJCbG9jazo6
ZmluZE5leHRMaW5lQnIKICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBpdCBmaXRzIGluIHRo
ZSBjdXJyZW50IGxpbmUuCiAgICAgICAgICAgICAgICAgLy8gSWYgaXQgZG9lcywgcG9zaXRpb24g
aXQgbm93LCBvdGhlcndpc2UsIHBvc2l0aW9uCiAgICAgICAgICAgICAgICAgLy8gaXQgYWZ0ZXIg
bW92aW5nIHRvIG5leHQgbGluZSAoaW4gbmV3TGluZSgpIGZ1bmMpCi0gICAgICAgICAgICAgICAg
aWYgKG8tPndpZHRoKCkrby0+bWFyZ2luTGVmdCgpK28tPm1hcmdpblJpZ2h0KCkrdyt0bXBXIDw9
IHdpZHRoKSB7CisgICAgICAgICAgICAgICAgaWYgKG8tPndpZHRoKCkgKyBvLT5tYXJnaW5MZWZ0
KCkgKyBvLT5tYXJnaW5SaWdodCgpICsgdyArIHRtcFcgPD0gd2lkdGgpIHsKICAgICAgICAgICAg
ICAgICAgICAgcG9zaXRpb25OZXdGbG9hdHMoKTsKICAgICAgICAgICAgICAgICAgICAgd2lkdGgg
PSBsaW5lV2lkdGgobV9oZWlnaHQpOwogICAgICAgICAgICAgICAgIH0KQEAgLTIwNDIsOCArMjA1
Miw4IEBAIEJpZGlJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lQnIKICAgICAgICAg
ICAgICAgICBib29sIG5lZWRUb1NldFN0YXRpY1ggPSBvLT5oYXNTdGF0aWNYKCk7CiAgICAgICAg
ICAgICAgICAgaWYgKG8tPmhhc1N0YXRpY1goKSAmJiAhaXNJbmxpbmVUeXBlKSB7CiAgICAgICAg
ICAgICAgICAgICAgIG8tPnNldFN0YXRpY1goby0+cGFyZW50KCktPnN0eWxlKCktPmRpcmVjdGlv
bigpID09IExUUiA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyTGVm
dCgpK3BhZGRpbmdMZWZ0KCkgOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv
cmRlclJpZ2h0KCkrcGFkZGluZ1JpZ2h0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgOgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CiAgICAgICAg
ICAgICAgICAgICAgIG5lZWRUb1NldFN0YXRpY1ggPSBmYWxzZTsKICAgICAgICAgICAgICAgICB9
CiAKQEAgLTIwNzYsMTQgKzIwODYsMTEgQEAgQmlkaUl0ZXJhdG9yIFJlbmRlckJsb2NrOjpmaW5k
TmV4dExpbmVCcgogICAgICAgICB9IGVsc2UgaWYgKG8tPmlzSW5saW5lRmxvdygpKSB7CiAgICAg
ICAgICAgICAvLyBPbmx5IGVtcHR5IGlubGluZXMgbWF0dGVyLiAgV2UgdHJlYXQgdGhvc2Ugc2lt
aWxhcmx5IHRvIHJlcGxhY2VkIGVsZW1lbnRzLgogICAgICAgICAgICAgYXNzZXJ0KCFvLT5maXJz
dENoaWxkKCkpOwotICAgICAgICAgICAgdG1wVyArPSBvLT5tYXJnaW5MZWZ0KCkrby0+Ym9yZGVy
TGVmdCgpK28tPnBhZGRpbmdMZWZ0KCkrCi0gICAgICAgICAgICAgICAgICAgIG8tPm1hcmdpblJp
Z2h0KCkrby0+Ym9yZGVyUmlnaHQoKStvLT5wYWRkaW5nUmlnaHQoKTsKKyAgICAgICAgICAgIHRt
cFcgKz0gby0+bWFyZ2luTGVmdCgpICsgby0+Ym9yZGVyTGVmdCgpICsgby0+cGFkZGluZ0xlZnQo
KSArCisgICAgICAgICAgICAgICAgICAgIG8tPm1hcmdpblJpZ2h0KCkgKyBvLT5ib3JkZXJSaWdo
dCgpICsgby0+cGFkZGluZ1JpZ2h0KCk7CiAgICAgICAgIH0gZWxzZSBpZiAoby0+aXNSZXBsYWNl
ZCgpKSB7Ci0gICAgICAgICAgICBFV2hpdGVTcGFjZSBjdXJyV1MgPSBvLT5wYXJlbnQoKS0+c3R5
bGUoKS0+d2hpdGVTcGFjZSgpOwotICAgICAgICAgICAgRVdoaXRlU3BhY2UgbGFzdFdTID0gbGFz
dC0+aXNSZXBsYWNlZCgpID8gbGFzdC0+cGFyZW50KCktPnN0eWxlKCktPndoaXRlU3BhY2UoKSA6
IGxhc3QtPnN0eWxlKCktPndoaXRlU3BhY2UoKTsKLSAgICAgICAgICAgIAogICAgICAgICAgICAg
Ly8gQnJlYWsgb24gcmVwbGFjZWQgZWxlbWVudHMgaWYgZWl0aGVyIGhhcyBub3JtYWwgd2hpdGUt
c3BhY2UuCi0gICAgICAgICAgICBpZiAoUmVuZGVyU3R5bGU6OmF1dG9XcmFwKGN1cnJXUykgfHwg
UmVuZGVyU3R5bGU6OmF1dG9XcmFwKGxhc3RXUykpIHsKKyAgICAgICAgICAgIGlmIChhdXRvV3Jh
cCB8fCBSZW5kZXJTdHlsZTo6YXV0b1dyYXAobGFzdFdTKSkgewogICAgICAgICAgICAgICAgIHcg
Kz0gdG1wVzsKICAgICAgICAgICAgICAgICB0bXBXID0gMDsKICAgICAgICAgICAgICAgICBsQnJl
YWsub2JqID0gbzsKQEAgLTIxMjAsNyArMjEyNyw3IEBAIEJpZGlJdGVyYXRvciBSZW5kZXJCbG9j
azo6ZmluZE5leHRMaW5lQnIKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHRtcFcgKz0gby0+d2lkdGgo
KStvLT5tYXJnaW5MZWZ0KCkrby0+bWFyZ2luUmlnaHQoKStpbmxpbmVXaWR0aChvKTsKKyAgICAg
ICAgICAgICAgICB0bXBXICs9IG8tPndpZHRoKCkgKyBvLT5tYXJnaW5MZWZ0KCkgKyBvLT5tYXJn
aW5SaWdodCgpICsgaW5saW5lV2lkdGgobyk7CiAgICAgICAgIH0gZWxzZSBpZiAoby0+aXNUZXh0
KCkpIHsKICAgICAgICAgICAgIFJlbmRlclRleHQgKnQgPSBzdGF0aWNfY2FzdDxSZW5kZXJUZXh0
ICo+KG8pOwogICAgICAgICAgICAgaW50IHN0cmxlbiA9IHQtPnN0cmluZ0xlbmd0aCgpOwpAQCAt
MjEzNywxNCArMjE0NCwxNCBAQCBCaWRpSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGlu
ZUJyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhl
biBhc3N1bWUgdGhlIHN0YXJ0IHdpZHRoIGhhcyBiZWVuIGFwcGxpZWQuCiAgICAgICAgICAgICBp
bnQgd3JhcFcgPSB0bXBXICsgaW5saW5lV2lkdGgobywgIWFwcGxpZWRTdGFydFdpZHRoLCB0cnVl
KTsKICAgICAgICAgICAgIGludCBuZXh0QnJlYWthYmxlID0gLTE7Ci0KKyAgICAgICAgICAgIAog
ICAgICAgICAgICAgd2hpbGUgKGxlbikgewogICAgICAgICAgICAgICAgIGJvb2wgcHJldmlvdXND
aGFyYWN0ZXJJc1NwYWNlID0gY3VycmVudENoYXJhY3RlcklzU3BhY2U7CiAgICAgICAgICAgICAg
ICAgYm9vbCBwcmV2aW91c0NoYXJhY3RlcklzV1MgPSBjdXJyZW50Q2hhcmFjdGVySXNXUzsKICAg
ICAgICAgICAgICAgICBVQ2hhciBjID0gc3RyW3Bvc107Ci0gICAgICAgICAgICAgICAgY3VycmVu
dENoYXJhY3RlcklzU3BhY2UgPSBjID09ICcgJyB8fCBjID09ICdcdCcgfHwgKCFvLT5zdHlsZSgp
LT5wcmVzZXJ2ZU5ld2xpbmUoKSAmJiAoYyA9PSAnXG4nKSk7CisgICAgICAgICAgICAgICAgY3Vy
cmVudENoYXJhY3RlcklzU3BhY2UgPSBjID09ICcgJyB8fCBjID09ICdcdCcgfHwgKCFwcmVzZXJ2
ZU5ld2xpbmUgJiYgKGMgPT0gJ1xuJykpOwogCi0gICAgICAgICAgICAgICAgaWYgKCFvLT5zdHls
ZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSB8fCAhY3VycmVudENoYXJhY3RlcklzU3BhY2UpCisg
ICAgICAgICAgICAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3BhY2UgfHwgIWN1cnJlbnRDaGFyYWN0
ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAgICBpc0xpbmVFbXB0eSA9IGZhbHNlOwogICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBzb2Z0IGh5cGhlbnMu
ICBHbyBhaGVhZCBhbmQgaWdub3JlIHRoZW0uCkBAIC0yMTY3LDcgKzIxNzQsNyBAQCBCaWRpSXRl
cmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJyCiAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciB3cmFwcGluZyB0ZXh0IG9ubHksIGlu
Y2x1ZGUgdGhlIGh5cGhlbi4gIFdlIG5lZWQgdG8gZW5zdXJlIGl0IHdpbGwgZml0CiAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBvbiB0aGUgbGluZSBpZiBpdCBzaG93cyB3aGVuIHdlIGJyZWFr
LgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8tPnN0eWxlKCktPmF1dG9XcmFwKCkpCisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXApCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdG1wVyArPSB0LT53aWR0aChwb3MsIDEsIGYsIHcrdG1wVyk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgIEJpZGlJdGVyYXRvciBzdGFy
dE1pZCgwLCBvLCBwb3MrMSk7CkBAIC0yMTgyLDExICsyMTg5LDEwIEBAIEJpZGlJdGVyYXRvciBS
ZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lQnIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgYm9vbCBhcHBseVdvcmRTcGFjaW5nID0gZmFsc2U7Ci0g
ICAgICAgICAgICAgICAgYm9vbCBhbGxvd0JyZWFrID0gby0+c3R5bGUoKS0+YXV0b1dyYXAoKTsK
LSAgICAgICAgICAgICAgICBib29sIGJyZWFrTkJTUCA9IGFsbG93QnJlYWsgJiYgby0+c3R5bGUo
KS0+bmJzcE1vZGUoKSA9PSBTUEFDRTsKKyAgICAgICAgICAgICAgICBib29sIGJyZWFrTkJTUCA9
IGF1dG9XcmFwICYmIG8tPnN0eWxlKCktPm5ic3BNb2RlKCkgPT0gU1BBQ0U7CiAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sgbG9va3Mgc3VzcGlj
aW91cy4gV2h5IGRvZXMgdyBoYXZlIHRvIGJlIDA/ICAKLSAgICAgICAgICAgICAgICBib29sIGJy
ZWFrV29yZHMgPSBvLT5zdHlsZSgpLT53b3JkV3JhcCgpID09IEJSRUFLX1dPUkQgJiYgKChhbGxv
d0JyZWFrICYmIHcgPT0gMCkgfHwgby0+c3R5bGUoKS0+d2hpdGVTcGFjZSgpID09IFBSRSk7Cisg
ICAgICAgICAgICAgICAgYm9vbCBicmVha1dvcmRzID0gby0+c3R5bGUoKS0+d29yZFdyYXAoKSA9
PSBCUkVBS19XT1JEICYmICgoYXV0b1dyYXAgJiYgdyA9PSAwKSB8fCBjdXJyV1MgPT0gUFJFKTsK
IAogICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJc1dTID0gY3VycmVudENoYXJhY3Rl
cklzU3BhY2UgfHwgKGJyZWFrTkJTUCAmJiBjID09IG5vQnJlYWtTcGFjZSk7CiAKQEAgLTIxOTQs
NyArMjIwMCw3IEBAIEJpZGlJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lQnIKICAg
ICAgICAgICAgICAgICAgICAgd3JhcFcgKz0gdC0+d2lkdGgocG9zLCAxLCBmLCB3K3dyYXBXKTsK
ICAgICAgICAgICAgICAgICBib29sIG1pZFdvcmRCcmVhayA9IGJyZWFrV29yZHMgJiYgKHcgKyB3
cmFwVyA+IHdpZHRoKTsKIAotICAgICAgICAgICAgICAgIGlmIChjID09ICdcbicgfHwgKG8tPnN0
eWxlKCktPndoaXRlU3BhY2UoKSAhPSBQUkUgJiYgaXNCcmVha2FibGUoc3RyLCBwb3MsIHN0cmxl
biwgbmV4dEJyZWFrYWJsZSwgYnJlYWtOQlNQKSkgfHwgbWlkV29yZEJyZWFrKSB7CisgICAgICAg
ICAgICAgICAgaWYgKGMgPT0gJ1xuJyB8fCAoY3VycldTICE9IFBSRSAmJiBpc0JyZWFrYWJsZShz
dHIsIHBvcywgc3RybGVuLCBuZXh0QnJlYWthYmxlLCBicmVha05CU1ApKSB8fCBtaWRXb3JkQnJl
YWspIHsKICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdG9wcGVkSWdub3JpbmdTcGFjZXMgPSBm
YWxzZTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlnbm9yaW5nU3BhY2VzKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlKSB7CkBAIC0yMjIz
LDcgKzIyMjksNyBAQCBCaWRpSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJyCiAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICBhcHBseVdvcmRTcGFjaW5n
ID0gIHdvcmRTcGFjaW5nICYmIGN1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlICYmICFwcmV2aW91c0No
YXJhY3RlcklzU3BhY2U7CiAKLSAgICAgICAgICAgICAgICAgICAgaWYgKG8tPnN0eWxlKCktPmF1
dG9XcmFwKCkgJiYgdyArIHRtcFcgPiB3aWR0aCAmJiB3ID09IDApIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGF1dG9XcmFwICYmIHcgKyB0bXBXID4gd2lkdGggJiYgdyA9PSAwKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgZmIgPSBuZWFyZXN0RmxvYXRCb3R0b20obV9oZWlnaHQp
OwogICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5ld0xpbmVXaWR0aCA9IGxpbmVXaWR0aChm
Yik7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWUgaWYgfHRtcFd8IHdpbGwgZml0IG9u
IHRoZSBuZXcgbGluZS4gIEFzIGxvbmcgYXMgaXQgZG9lcyBub3QsCkBAIC0yMjQxLDcgKzIyNDcs
NyBAQCBCaWRpSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJyCiAgICAgICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgICAgIGlmIChvLT5zdHlsZSgpLT5hdXRvV3JhcCgpIHx8IGJyZWFrV29yZHMpIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG9XcmFwIHx8IGJyZWFrV29yZHMpIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIGJyZWFrIG9ubHkgYWZ0ZXIgd2hpdGUtc3BhY2Us
IGNvbnNpZGVyIHRoZSBjdXJyZW50IGNoYXJhY3RlcgogICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gYXMgY2FuZGlkYXRlIHdpZHRoIGZvciB0aGlzIGxpbmUuCiAgICAgICAgICAgICAgICAgICAg
ICAgICBib29sIGxpbmVXYXNUb29XaWRlID0gZmFsc2U7CkBAIC0yMjg3LDcgKzIyOTMsNyBAQCBC
aWRpSXRlcmF0b3IgUmVuZGVyQmxvY2s6OmZpbmROZXh0TGluZUJyCiAgICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICBp
ZiAoYyA9PSAnXG4nICYmIG8tPnN0eWxlKCktPnByZXNlcnZlTmV3bGluZSgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChjID09ICdcbicgJiYgcHJlc2VydmVOZXdsaW5lKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoIXN0b3BwZWRJZ25vcmluZ1NwYWNlcyAmJiBwb3MgPiAwKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBzdG9wIHJpZ2h0IGJl
Zm9yZSB0aGUgbmV3bGluZSBhbmQgdGhlbiBzdGFydCB1cCBhZ2Fpbi4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBCaWRpSXRlcmF0b3IgbWlkcG9pbnQoMCwgbywgcG9zKTsKQEAgLTIzMDEs
NyArMjMwNyw3IEBAIEJpZGlJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lQnIKICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsQnJlYWs7CiAgICAgICAgICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgICAgICAgICBpZiAoby0+c3R5bGUoKS0+YXV0b1dyYXAoKSkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXApIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIHcgKz0gdG1wVzsKICAgICAgICAgICAgICAgICAgICAgICAgIHRtcFcgPSAwOwogICAgICAg
ICAgICAgICAgICAgICAgICAgbEJyZWFrLm9iaiA9IG87CkBAIC0yMzQ3LDEzICsyMzUzLDEzIEBA
IEJpZGlJdGVyYXRvciBSZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lQnIKICAgICAgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRDaGFyYWN0ZXJJc1dTICYmIHByZXZp
b3VzQ2hhcmFjdGVySXNXUykgewotICAgICAgICAgICAgICAgICAgICBpZiAoby0+c3R5bGUoKS0+
YXV0b1dyYXAoKSAmJiBvLT5zdHlsZSgpLT5icmVha09ubHlBZnRlcldoaXRlU3BhY2UoKSkgewor
ICAgICAgICAgICAgICAgICAgICBpZiAoYXV0b1dyYXAgJiYgby0+c3R5bGUoKS0+YnJlYWtPbmx5
QWZ0ZXJXaGl0ZVNwYWNlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGxCcmVhay5vYmog
PSBvOwogICAgICAgICAgICAgICAgICAgICAgICAgbEJyZWFrLnBvcyA9IHBvczsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICBpZiAoby0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNlKCkgJiYgY3VycmVu
dENoYXJhY3RlcklzU3BhY2UgJiYgIWlnbm9yaW5nU3BhY2VzKQorICAgICAgICAgICAgICAgIGlm
IChjb2xsYXBzZVdoaXRlU3BhY2UgJiYgY3VycmVudENoYXJhY3RlcklzU3BhY2UgJiYgIWlnbm9y
aW5nU3BhY2VzKQogICAgICAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlT2JqZWN0ID0gbzsK
ICAgICAgICAgICAgICAgICBlbHNlIGlmICghby0+c3R5bGUoKS0+Y29sbGFwc2VXaGl0ZVNwYWNl
KCkgfHwgIWN1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlKQogICAgICAgICAgICAgICAgICAgICB0cmFp
bGluZ1NwYWNlT2JqZWN0ID0gMDsKQEAgLTIzNzIsOSArMjM3OCw4IEBAIEJpZGlJdGVyYXRvciBS
ZW5kZXJCbG9jazo6ZmluZE5leHRMaW5lQnIKICAgICAgICAgICAgIEFTU0VSVCggZmFsc2UgKTsK
IAogICAgICAgICBSZW5kZXJPYmplY3QqIG5leHQgPSBiaWRpTmV4dChzdGFydC5ibG9jaywgbywg
YmlkaSk7Ci0gICAgICAgIGJvb2wgYXV0b1dyYXAgPSBvLT5zdHlsZSgpLT5hdXRvV3JhcCgpOwog
ICAgICAgICBib29sIGNoZWNrRm9yQnJlYWsgPSBhdXRvV3JhcDsKLSAgICAgICAgaWYgKHcgJiYg
dyArIHRtcFcgPiB3aWR0aCAmJiBsQnJlYWsub2JqICYmIG8tPnN0eWxlKCktPndoaXRlU3BhY2Uo
KSA9PSBOT1dSQVApCisgICAgICAgIGlmICh3ICYmIHcgKyB0bXBXID4gd2lkdGggJiYgbEJyZWFr
Lm9iaiAmJiBjdXJyV1MgPT0gTk9XUkFQKQogICAgICAgICAgICAgY2hlY2tGb3JCcmVhayA9IHRy
dWU7CiAgICAgICAgIGVsc2UgaWYgKG5leHQgJiYgby0+aXNUZXh0KCkgJiYgbmV4dC0+aXNUZXh0
KCkgJiYgIW5leHQtPmlzQlIoKSkgewogICAgICAgICAgICAgaWYgKGF1dG9XcmFwIHx8IChuZXh0
LT5zdHlsZSgpLT5hdXRvV3JhcCgpKSkgewpAQCAtMjQzNCw3ICsyNDM5LDcgQEAgQmlkaUl0ZXJh
dG9yIFJlbmRlckJsb2NrOjpmaW5kTmV4dExpbmVCcgogICAgICAgICAgICAgcHJldmlvdXMgPSBv
OwogICAgICAgICBvID0gbmV4dDsKIAotICAgICAgICBpZiAoIWxhc3QtPmlzRmxvYXRpbmdPclBv
c2l0aW9uZWQoKSAmJiBsYXN0LT5pc1JlcGxhY2VkKCkgJiYgbGFzdC0+c3R5bGUoKS0+YXV0b1dy
YXAoKSAmJiAKKyAgICAgICAgaWYgKCFsYXN0LT5pc0Zsb2F0aW5nT3JQb3NpdGlvbmVkKCkgJiYg
bGFzdC0+aXNSZXBsYWNlZCgpICYmIGF1dG9XcmFwICYmIAogICAgICAgICAgICAgKCFsYXN0LT5p
c0xpc3RNYXJrZXIoKSB8fCBsYXN0LT5zdHlsZSgpLT5saXN0U3R5bGVQb3NpdGlvbigpPT1JTlNJ
REUpKSB7CiAgICAgICAgICAgICAvLyBHbyBhaGVhZCBhbmQgYWRkIGluIHRtcFcuCiAgICAgICAg
ICAgICB3ICs9IHRtcFc7CkBAIC0yNDQ1LDEzICsyNDUwLDE0IEBAIEJpZGlJdGVyYXRvciBSZW5k
ZXJCbG9jazo6ZmluZE5leHRMaW5lQnIKIAogICAgICAgICAvLyBDbGVhciBvdXQgb3VyIGNoYXJh
Y3RlciBzcGFjZSBib29sLCBzaW5jZSBpbmxpbmUgPHByZT5zIGRvbid0IGNvbGxhcHNlIHdoaXRl
c3BhY2UKICAgICAgICAgLy8gd2l0aCBhZGphY2VudCBpbmxpbmUgbm9ybWFsL25vd3JhcCBzcGFu
cy4KLSAgICAgICAgaWYgKCFsYXN0LT5zdHlsZSgpLT5jb2xsYXBzZVdoaXRlU3BhY2UoKSkKKyAg
ICAgICAgaWYgKCFjb2xsYXBzZVdoaXRlU3BhY2UpCiAgICAgICAgICAgICBjdXJyZW50Q2hhcmFj
dGVySXNTcGFjZSA9IGZhbHNlOwogICAgICAgICAKICAgICAgICAgcG9zID0gMDsKICAgICB9CiAK
LSAgICBpZiAodyArIHRtcFcgPD0gd2lkdGggfHwgKGxhc3QgJiYgbGFzdC0+c3R5bGUoKS0+d2hp
dGVTcGFjZSgpID09IE5PV1JBUCkpIHsKKyAgICAKKyAgICBpZiAodyArIHRtcFcgPD0gd2lkdGgg
fHwgbGFzdFdTID09IE5PV1JBUCkgewogICAgICAgICBsQnJlYWsub2JqID0gMDsKICAgICAgICAg
bEJyZWFrLnBvcyA9IDA7CiAgICAgfQo=
</data>
<flag name="review"
          id="4687"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>