<?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>30895</bug_id>
          
          <creation_ts>2009-10-28 22:07:09 -0700</creation_ts>
          <short_desc>[Gtk] The accessible hierarchy of tables is significantly incorrect for Atk</short_desc>
          <delta_ts>2010-03-08 13:06:19 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>25531</blocked>
    
    <blocked>35504</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apinheiro</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>walker.willie</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>158830</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-28 22:07:09 -0700</bug_when>
    <thetext>An AtkTable, in which the table does not manage its descendants, has a simple hierarchy, namely something like:

-&gt; table
   -&gt; table cell
   -&gt; table cell
   -&gt; table cell
   -&gt; table cell
   -&gt; table cell

The above hierarchy might represent:

* a single column with five rows
* a single row with five columns
* two rows and three columns in which one cell spans two rows
* etc., etc., etc.

(Headers and captions can also be in the hierarchy, but they at the same level as the cells.)

The remaining details about the table are not exposed through hierarchical structure, but rather through the AtkTable interface (the bulk of which was implemented in bug 25534).

The accessible hierarchy of tables exposed to ATs by WebKitGtk is quite different: The table cells appear to each be represented by two children within the table rather than one. First they appear in row order as children of objects of ROLE_LIST_ITEM. Then they appear again in column order as children of objects of ROLE_UNKNOWN.

While ATs providing access to Gtk+ apps do have to largely rely upon querying the table interface, they also have a need -- and an expectation -- to be able to access the table&apos;s hierarchy. The current implementation is too different (broken?) for this to be reliable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194605</commentid>
    <comment_count>1</comment_count>
      <attachid>49704</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2010-02-28 14:26:16 -0800</bug_when>
    <thetext>Created attachment 49704
proposed fix - includes layout test

It turns out that the fix for bug 35418 also unborked the accessible table hierarchy somewhat. This patch seems to finish the job.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194609</commentid>
    <comment_count>2</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2010-02-28 15:18:38 -0800</bug_when>
    <thetext>Drat! There are still other cases of borked tables. The previous patch changes are necessary, but additional changes will be as well. (I knew it seemed too easy....) :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194730</commentid>
    <comment_count>3</comment_count>
      <attachid>49730</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2010-03-01 10:36:30 -0800</bug_when>
    <thetext>Created attachment 49730
rest of the fix - includes additional layout test

The other issue turned out to be that any table identified as an AccessibilityTable always added a bunch of children without considering whether or not those children should be &quot;ignored&quot; by the platform. This patch changes that so an AccessibilityTable only adds children that are not &quot;ignored.&quot; It also makes corresponding Gtk-specific changes so that we can actually specify that they should be ignored.

Note that this patch assumes/depends upon the previous one. Therefore, I&apos;m not yet flagging it for review as the bots will just spit up on it. But as far as I&apos;m concerned at the moment, this is everything that needs to be done w.r.t. this bug pending code review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196599</commentid>
    <comment_count>4</comment_count>
      <attachid>49704</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-05 13:02:20 -0800</bug_when>
    <thetext>Comment on attachment 49704
proposed fix - includes layout test

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196798</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-05 16:36:22 -0800</bug_when>
    <thetext>Is the second patch supposed to be marked for review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196829</commentid>
    <comment_count>6</comment_count>
      <attachid>49730</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2010-03-05 17:50:27 -0800</bug_when>
    <thetext>Comment on attachment 49730
rest of the fix - includes additional layout test

I assume the bots will spit up on this one (seeing as how the first one is still in the commit queue and this patch assumes the first). But having said that, a review would be lovely. Thanks for asking, Eric.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196904</commentid>
    <comment_count>7</comment_count>
      <attachid>49704</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-06 06:40:43 -0800</bug_when>
    <thetext>Comment on attachment 49704
proposed fix - includes layout test

Clearing flags on attachment: 49704

Committed r55623: &lt;http://trac.webkit.org/changeset/55623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197222</commentid>
    <comment_count>8</comment_count>
      <attachid>49730</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-03-08 10:37:48 -0800</bug_when>
    <thetext>Comment on attachment 49730
rest of the fix - includes additional layout test

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197278</commentid>
    <comment_count>9</comment_count>
      <attachid>49730</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-08 13:06:14 -0800</bug_when>
    <thetext>Comment on attachment 49730
rest of the fix - includes additional layout test

Clearing flags on attachment: 49730

Committed r55680: &lt;http://trac.webkit.org/changeset/55680&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197279</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-08 13:06:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49704</attachid>
            <date>2010-02-28 14:26:16 -0800</date>
            <delta_ts>2010-03-06 06:40:43 -0800</delta_ts>
            <desc>proposed fix - includes layout test</desc>
            <filename>30895.patch</filename>
            <type>text/plain</type>
            <size>8424</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBjMWQ1ZDg0YzQ1MTQ0NTkwOGQxN2ZjYjcwNmYyOTE1NGU4YWYxNjNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpkQHZibG9ja2hlYWQuKG5vbmUp
PgpEYXRlOiBTdW4sIDI4IEZlYiAyMDEwIDE3OjA3OjU4IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0g
MjAxMC0wMi0yOCAgSm9hbm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4K
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDg5NQogICAgICAgIFtHdGtdIFRoZSBhY2Nl
c3NpYmxlIGhpZXJhcmNoeSBvZiB0YWJsZXMgaXMgc2lnbmlmaWNhbnRseSBpbmNvcnJlY3QgZm9y
IEF0awoKICAgICAgICBUaGlzIGNvbXBsZXRlcyB0aGUgZml4aW5nIG9mIHRoZSBBdGsgdGFibGUg
aGllcmFyY2h5IHdoaWNoIHdhcyBzdGFydGVkCiAgICAgICAgaW4gYnVnICMzNTQxOC4KCiAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcDoKICAgICAg
ICAoQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmpl
Y3QpOgogICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cDoKICAgICAgICAoQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJp
bGl0eVJvbGUpOgoKMjAxMC0wMi0yOCAgSm9hbm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dz
QGdtYWlsLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDg5NQogICAgICAgIFtH
dGtdIFRoZSBhY2Nlc3NpYmxlIGhpZXJhcmNoeSBvZiB0YWJsZXMgaXMgc2lnbmlmaWNhbnRseSBp
bmNvcnJlY3QgZm9yIEF0awoKICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3Rh
YmxlLWhpZXJhcmNoeS5odG1sOiBBZGRlZC4KICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWhpZXJhcmNoeS1leHBlY3RlZC50eHQ6IEFkZGVkLgotLS0KIExheW91dFRl
c3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysKIC4u
Li9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1oaWVyYXJjaHktZXhwZWN0ZWQudHh0IHwgICAzMCAr
KysrKysrKysrCiAuLi4vZ3RrL2FjY2Vzc2liaWxpdHkvdGFibGUtaGllcmFyY2h5Lmh0bWwgICAg
ICAgICB8ICAgNjAgKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKwogLi4uL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgfCAgICAyICstCiAuLi4vYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgICB8ICAgMTUgKysrKy0KIDYg
ZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGFibGUt
aGllcmFyY2h5LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RhYmxlLWhpZXJhcmNoeS5odG1sCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA3
YjAyZjkuLmJkZGQ4ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wMi0yOCAgSm9hbm1h
cmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzA4OTUKKyAgICAgICAgW0d0a10gVGhlIGFjY2Vzc2libGUgaGllcmFy
Y2h5IG9mIHRhYmxlcyBpcyBzaWduaWZpY2FudGx5IGluY29ycmVjdCBmb3IgQXRrCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1oaWVyYXJjaHkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGFibGUtaGllcmFyY2h5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTAtMDItMjcgIFhhbiBMb3BleiAgPHhsb3BlekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEd1c3Rhdm8gTm9yb25oYS4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RhYmxl
LWhpZXJhcmNoeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNz
aWJpbGl0eS90YWJsZS1oaWVyYXJjaHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmIzYzc1OTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1oaWVyYXJjaHktZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzAgQEAKK2ZvbwliYXIKK09kZAlFdmVuCisxCTIKKzMJNAoraGVsbG8Jd29ybGQK
K1RoaXMgdGVzdHMgdGhlIEF0ayB0YWJsZSBoaWVyYXJoeS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdGFibGUxLnJvbGUgaXMgJ3RhYmxlJworUEFTUyB0YWJsZTIucm9s
ZSBpcyAndGFibGUnCitQQVNTIHRhYmxlMy5yb2xlIGlzICd0YWJsZScKK1BBU1MgY2hpbGRyZW4g
aXMgMgorUEFTUyB0YWJsZTEuY2hpbGRBdEluZGV4KGkpLnJvbGUgaXMgJ3RhYmxlIGNlbGwnCitQ
QVNTIHRhYmxlMS5jaGlsZEF0SW5kZXgoaSkucm9sZSBpcyAndGFibGUgY2VsbCcKK1BBU1MgY2hp
bGRyZW4gaXMgNgorUEFTUyB0YWJsZTIuY2hpbGRBdEluZGV4KGkpLnJvbGUgaXMgJ3RhYmxlIGNl
bGwnCitQQVNTIHRhYmxlMi5jaGlsZEF0SW5kZXgoaSkucm9sZSBpcyAndGFibGUgY2VsbCcKK1BB
U1MgdGFibGUyLmNoaWxkQXRJbmRleChpKS5yb2xlIGlzICd0YWJsZSBjZWxsJworUEFTUyB0YWJs
ZTIuY2hpbGRBdEluZGV4KGkpLnJvbGUgaXMgJ3RhYmxlIGNlbGwnCitQQVNTIHRhYmxlMi5jaGls
ZEF0SW5kZXgoaSkucm9sZSBpcyAndGFibGUgY2VsbCcKK1BBU1MgdGFibGUyLmNoaWxkQXRJbmRl
eChpKS5yb2xlIGlzICd0YWJsZSBjZWxsJworUEFTUyBjaGlsZHJlbiBpcyAyCitQQVNTIHRhYmxl
My5jaGlsZEF0SW5kZXgoaSkucm9sZSBpcyAndGFibGUgY2VsbCcKK1BBU1MgdGFibGUzLmNoaWxk
QXRJbmRleChpKS5yb2xlIGlzICd0YWJsZSBjZWxsJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RhYmxlLWhpZXJhcmNoeS5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGFibGUtaGllcmFyY2h5Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQzMmRmYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RhYmxlLWhpZXJhcmNoeS5odG1s
CkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQ+Cit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBpZD0iYm9keSI+Cis8dGFibGU+Cis8dHI+PHRkPmZvbzwvdGQ+PHRkPmJhcjwvdGQ+PC90
cj4KKzwvdGFibGU+Cis8dGFibGU+Cis8dHI+PHRoPk9kZDwvdGg+PHRoPkV2ZW48L3RoPjwvdHI+
Cis8dHI+PHRkPjE8L3RkPjx0ZD4yPC90ZD48L3RyPgorPHRyPjx0ZD4zPC90ZD48dGQ+NDwvdGQ+
PC90cj4KKzwvdGFibGU+Cis8dGFibGU+Cis8dGJvZHk+Cis8dHI+PHRkPmhlbGxvPC90ZD48dGQ+
d29ybGQ8L3RkPjwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9u
KCJUaGlzIHRlc3RzIHRoZSBBdGsgdGFibGUgaGllcmFyaHkuIik7CisgICAgaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2R5IikuZm9j
dXMoKTsKKyAgICAgICAgdmFyIHdlYkFyZWEgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1
c2VkRWxlbWVudDsKKworICAgICAgICB2YXIgdGFibGUxID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgo
MCk7CisgICAgICAgIHNob3VsZEJlKCJ0YWJsZTEucm9sZSIsICIndGFibGUnIik7CisgICAgICAg
IHZhciB0YWJsZTIgPSB3ZWJBcmVhLmNoaWxkQXRJbmRleCgxKTsKKyAgICAgICAgc2hvdWxkQmUo
InRhYmxlMi5yb2xlIiwgIid0YWJsZSciKTsKKyAgICAgICAgdmFyIHRhYmxlMyA9IHdlYkFyZWEu
Y2hpbGRBdEluZGV4KDIpOworICAgICAgICBzaG91bGRCZSgidGFibGUzLnJvbGUiLCAiJ3RhYmxl
JyIpOworCisgICAgICAgIHZhciBjaGlsZHJlbiA9IHRhYmxlMS5jaGlsZHJlbkNvdW50OworICAg
ICAgICBzaG91bGRCZSgiY2hpbGRyZW4iLCAiMiIpOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwg
Y2hpbGRyZW47ICsraSkgeworICAgICAgICAgICAgc2hvdWxkQmUoInRhYmxlMS5jaGlsZEF0SW5k
ZXgoaSkucm9sZSIsICIndGFibGUgY2VsbCciKTsKKyAgICAgICAgfQorICAgICAgICBjaGlsZHJl
biA9IHRhYmxlMi5jaGlsZHJlbkNvdW50OworICAgICAgICBzaG91bGRCZSgiY2hpbGRyZW4iLCAi
NiIpOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY2hpbGRyZW47ICsraSkgeworICAgICAgICAg
ICAgc2hvdWxkQmUoInRhYmxlMi5jaGlsZEF0SW5kZXgoaSkucm9sZSIsICIndGFibGUgY2VsbCci
KTsKKyAgICAgICAgfQorICAgICAgICBjaGlsZHJlbiA9IHRhYmxlMy5jaGlsZHJlbkNvdW50Owor
ICAgICAgICBzaG91bGRCZSgiY2hpbGRyZW4iLCAiMiIpOworICAgICAgICBmb3IgKGkgPSAwOyBp
IDwgY2hpbGRyZW47ICsraSkgeworICAgICAgICAgICAgc2hvdWxkQmUoInRhYmxlMy5jaGlsZEF0
SW5kZXgoaSkucm9sZSIsICIndGFibGUgY2VsbCciKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYmI3YjhkZC4uNTE2MmU2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMi0yOCAgSm9h
bm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA4OTUKKyAgICAgICAgW0d0a10gVGhlIGFjY2Vzc2libGUgaGll
cmFyY2h5IG9mIHRhYmxlcyBpcyBzaWduaWZpY2FudGx5IGluY29ycmVjdCBmb3IgQXRrCisKKyAg
ICAgICAgVGhpcyBjb21wbGV0ZXMgdGhlIGZpeGluZyBvZiB0aGUgQXRrIHRhYmxlIGhpZXJhcmNo
eSB3aGljaCB3YXMgc3RhcnRlZAorICAgICAgICBpbiBidWcgIzM1NDE4LgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6CisgICAgICAgIChB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxp
dHlSb2xlKToKKwogMjAxMC0wMi0yNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDI1YTEz
YTguLjZhODkzMjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTI3MjksNyArMjcyOSw3IEBAIEFjY2Vzc2liaWxpdHlS
b2xlIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xl
KCkKIAogI2lmIFBMQVRGT1JNKEdUSykKICAgICAvLyBHdGsgQVRzIGV4cGVjdCBhbGwgdGFibGVz
LCBkYXRhIGFuZCBsYXlvdXQsIHRvIGJlIGV4cG9zZWQgYXMgdGFibGVzLgotICAgIGlmIChub2Rl
ICYmIG5vZGUtPmhhc1RhZ05hbWUodGRUYWcpKQorICAgIGlmIChub2RlICYmIChub2RlLT5oYXNU
YWdOYW1lKHRkVGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKHRoVGFnKSkpCiAgICAgICAgIHJldHVy
biBDZWxsUm9sZTsKIAogICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUodGFibGVUYWcp
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0QXRrLmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVj
dEF0ay5jcHAKaW5kZXggZmI4NjQwZC4uMjQyNzI3YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCkBAIC00MSwxMCArNDEs
MTcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdFBsYXRmb3JtSW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUkKICAgICBpZiAoaXNNZW51TGlzdFBvcHVwKCkg
fHwgaXNNZW51TGlzdE9wdGlvbigpKQogICAgICAgICByZXR1cm4gSWdub3JlT2JqZWN0OwogCi0g
ICAgLy8gV2hlbiBhIGxpc3QgaXRlbSBpcyBtYWRlIHVwIGVudGlyZWx5IG9mIGNoaWxkcmVuIChl
LmcuIHBhcmFncmFwaHMpCi0gICAgLy8gdGhlIGxpc3QgaXRlbSBnZXRzIGlnbm9yZWQuIFdlIG5l
ZWQgaXQuCi0gICAgaWYgKGlzR3JvdXAoKSAmJiBwYXJlbnQtPmlzTGlzdCgpKQotICAgICAgICBy
ZXR1cm4gSW5jbHVkZU9iamVjdDsKKyAgICBpZiAoaXNHcm91cCgpKSB7CisgICAgICAgIC8vIFdo
ZW4gYSBsaXN0IGl0ZW0gaXMgbWFkZSB1cCBlbnRpcmVseSBvZiBjaGlsZHJlbiAoZS5nLiBwYXJh
Z3JhcGhzKQorICAgICAgICAvLyB0aGUgbGlzdCBpdGVtIGdldHMgaWdub3JlZC4gV2UgbmVlZCBp
dC4KKyAgICAgICAgaWYgKHBhcmVudC0+aXNMaXN0KCkpCisgICAgICAgICAgICByZXR1cm4gSW5j
bHVkZU9iamVjdDsKKworICAgICAgICAvLyBXZSBleHBlY3QgdGhlIHBhcmVudCBvZiBhIHRhYmxl
IGNlbGwgdG8gYmUgYSB0YWJsZS4KKyAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY2hpbGQg
PSBmaXJzdENoaWxkKCk7CisgICAgICAgIGlmIChjaGlsZCAmJiBjaGlsZC0+cm9sZVZhbHVlKCkg
PT0gQ2VsbFJvbGUpCisgICAgICAgICAgICByZXR1cm4gSWdub3JlT2JqZWN0OworICAgIH0KIAog
ICAgIC8vIEVudHJpZXMgYW5kIHBhc3N3b3JkIGZpZWxkcyBoYXZlIGV4dHJhbmVvdXMgY2hpbGRy
ZW4gd2hpY2ggd2Ugd2FudCB0byBpZ25vcmUuCiAgICAgaWYgKHBhcmVudC0+aXNQYXNzd29yZEZp
ZWxkKCkgfHwgcGFyZW50LT5pc1RleHRDb250cm9sKCkpCi0tIAoxLjcuMAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49730</attachid>
            <date>2010-03-01 10:36:30 -0800</date>
            <delta_ts>2010-03-08 13:06:14 -0800</delta_ts>
            <desc>rest of the fix - includes additional layout test</desc>
            <filename>30895-part2.patch</filename>
            <type>text/plain</type>
            <size>11494</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSBjM2FiZDk0OWExMjVjMWY3NjAxNDYxOWEzNWEwN2RkOTFkN2JmOGMyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMSBNYXIgMjAxMCAxMzoyMzoxNCAtMDUwMApTdWJqZWN0OiBbUEFU
Q0ggMi8yXSAyMDEwLTAzLTAxICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21h
aWwuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwODk1CiAgICAgICAgW0d0a10g
VGhlIGFjY2Vzc2libGUgaGllcmFyY2h5IG9mIHRhYmxlcyBpcyBzaWduaWZpY2FudGx5IGluY29y
cmVjdCBmb3IgQXRrCgogICAgICAgIEdpdmVzIHBsYXRmb3JtcyB0aGUgYWJpbGl0eSB0byBleGNs
dWRlIHBhcnRzIG9mIGFuIEFjY2Vzc2liaWxpdHlUYWJsZQogICAgICAgIGZyb20gdGhlIGFjY2Vz
c2libGUgaGllcmFyY2h5LgoKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxp
dHlPYmplY3RBdGsuY3BwOgogICAgICAgIChBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6CiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgogICAgICAgIChBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSk6CiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHA6CiAgICAgICAgKEFjY2Vzc2liaWxpdHlUYWJsZTo6YWRk
Q2hpbGRyZW4pOgogICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1
bW4uaDoKICAgICAgICAoYWNjZXNzaWJpbGl0eUlzSWdub3JlZCk6CiAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5oOgogICAgICAgIChhY2Nl
c3NpYmlsaXR5SXNJZ25vcmVkKToKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlUm93LmNwcDoKICAgICAgICAoYWNjZXNzaWJpbGl0eUlzSWdub3JlZCk6CgoyMDEwLTAz
LTAxICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21haWwuY29tPgoKICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMwODk1CiAgICAgICAgW0d0a10gVGhlIGFjY2Vzc2libGUg
aGllcmFyY2h5IG9mIHRhYmxlcyBpcyBzaWduaWZpY2FudGx5IGluY29ycmVjdCBmb3IgQXRrCgog
ICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGFibGUtaGllcmFyY2h5Lmh0bWw6
Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDEwICsrKysrKysrCiAuLi4vZ3RrL2FjY2Vzc2liaWxpdHkvdGFibGUtaGllcmFyY2h5LWV4
cGVjdGVkLnR4dCB8ICAgMTcgKysrKysrKysrKysrKysKIC4uLi9ndGsvYWNjZXNzaWJpbGl0eS90
YWJsZS1oaWVyYXJjaHkuaHRtbCAgICAgICAgIHwgICAxMiArKysrKysrKysrCiBXZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjMgKysrKysrKysr
KysrKysrKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwICAgIHwgICAgMyArKwogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZS5jcHAgICAgICAgfCAgIDEyICsrKysrKystLQogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZUNvbHVtbi5oICAgfCAgICA0ICsrKwogLi4uL0FjY2Vzc2liaWxpdHlUYWJs
ZUhlYWRlckNvbnRhaW5lci5oICAgICAgICAgICAgfCAgICA0ICsrKwogV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAgICAgfCAgICA0ICsrKwogLi4uL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwICAgfCAgICA0ICsrKwogMTAg
ZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YmRkZDhlMi4uYTAzOGRjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTAzLTAxICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUuZGlnZ3NAZ21haWwuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMDg5NQorICAgICAgICBbR3RrXSBUaGUgYWNjZXNzaWJsZSBoaWVy
YXJjaHkgb2YgdGFibGVzIGlzIHNpZ25pZmljYW50bHkgaW5jb3JyZWN0IGZvciBBdGsKKworICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RhYmxlLWhpZXJhcmNoeS5odG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3RhYmxlLWhpZXJhcmNoeS1leHBl
Y3RlZC50eHQ6CisKIDIwMTAtMDItMjggIEpvYW5tYXJpZSBEaWdncyAgPGpvYW5tYXJpZS5kaWdn
c0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1oaWVy
YXJjaHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxp
dHkvdGFibGUtaGllcmFyY2h5LWV4cGVjdGVkLnR4dAppbmRleCBiM2M3NTk3Li5hNDhkMjhmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1o
aWVyYXJjaHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nl
c3NpYmlsaXR5L3RhYmxlLWhpZXJhcmNoeS1leHBlY3RlZC50eHQKQEAgLTMsNiArMywxNSBAQCBP
ZGQJRXZlbgogMQkyCiAzCTQKIGhlbGxvCXdvcmxkCitPZGQJRXZlbgorMQorCisyCisKKzMKKwor
NAorCiBUaGlzIHRlc3RzIHRoZSBBdGsgdGFibGUgaGllcmFyaHkuCiAKIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KQEAgLTExLDYgKzIwLDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIFBB
U1MgdGFibGUxLnJvbGUgaXMgJ3RhYmxlJwogUEFTUyB0YWJsZTIucm9sZSBpcyAndGFibGUnCiBQ
QVNTIHRhYmxlMy5yb2xlIGlzICd0YWJsZScKK1BBU1MgdGFibGU0LnJvbGUgaXMgJ3RhYmxlJwog
UEFTUyBjaGlsZHJlbiBpcyAyCiBQQVNTIHRhYmxlMS5jaGlsZEF0SW5kZXgoaSkucm9sZSBpcyAn
dGFibGUgY2VsbCcKIFBBU1MgdGFibGUxLmNoaWxkQXRJbmRleChpKS5yb2xlIGlzICd0YWJsZSBj
ZWxsJwpAQCAtMjQsNiArMzQsMTMgQEAgUEFTUyB0YWJsZTIuY2hpbGRBdEluZGV4KGkpLnJvbGUg
aXMgJ3RhYmxlIGNlbGwnCiBQQVNTIGNoaWxkcmVuIGlzIDIKIFBBU1MgdGFibGUzLmNoaWxkQXRJ
bmRleChpKS5yb2xlIGlzICd0YWJsZSBjZWxsJwogUEFTUyB0YWJsZTMuY2hpbGRBdEluZGV4KGkp
LnJvbGUgaXMgJ3RhYmxlIGNlbGwnCitQQVNTIGNoaWxkcmVuIGlzIDYKK1BBU1MgdGFibGU0LmNo
aWxkQXRJbmRleChpKS5yb2xlIGlzICd0YWJsZSBjZWxsJworUEFTUyB0YWJsZTQuY2hpbGRBdElu
ZGV4KGkpLnJvbGUgaXMgJ3RhYmxlIGNlbGwnCitQQVNTIHRhYmxlNC5jaGlsZEF0SW5kZXgoaSku
cm9sZSBpcyAndGFibGUgY2VsbCcKK1BBU1MgdGFibGU0LmNoaWxkQXRJbmRleChpKS5yb2xlIGlz
ICd0YWJsZSBjZWxsJworUEFTUyB0YWJsZTQuY2hpbGRBdEluZGV4KGkpLnJvbGUgaXMgJ3RhYmxl
IGNlbGwnCitQQVNTIHRhYmxlNC5jaGlsZEF0SW5kZXgoaSkucm9sZSBpcyAndGFibGUgY2VsbCcK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdGFibGUtaGllcmFy
Y2h5Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1o
aWVyYXJjaHkuaHRtbAppbmRleCBkZDMyZGZjLi4xMWNjOGI4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1oaWVyYXJjaHkuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS90YWJsZS1oaWVyYXJjaHku
aHRtbApAQCAtMjEsNiArMjEsMTEgQEAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwog
PHRyPjx0ZD5oZWxsbzwvdGQ+PHRkPndvcmxkPC90ZD48L3RyPgogPC90Ym9keT4KIDwvdGFibGU+
Cis8dGFibGUgYm9yZGVyPTE+Cis8dHI+PHRoPk9kZDwvdGg+PHRoPkV2ZW48L3RoPjwvdHI+Cis8
dHI+PHRkPjxwPjE8L3A+PC90ZD48dGQ+PHA+MjwvcD48L3RkPjwvdHI+Cis8dHI+PHRkPjxwPjM8
L3A+PC90ZD48dGQ+PHA+NDwvcD48L3RkPjwvdHI+Cis8L3RhYmxlPgogPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+CkBAIC0zNiw2ICs0
MSw4IEBAIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKICAgICAgICAgc2hvdWxkQmUo
InRhYmxlMi5yb2xlIiwgIid0YWJsZSciKTsKICAgICAgICAgdmFyIHRhYmxlMyA9IHdlYkFyZWEu
Y2hpbGRBdEluZGV4KDIpOwogICAgICAgICBzaG91bGRCZSgidGFibGUzLnJvbGUiLCAiJ3RhYmxl
JyIpOworICAgICAgICB2YXIgdGFibGU0ID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMyk7CisgICAg
ICAgIHNob3VsZEJlKCJ0YWJsZTQucm9sZSIsICIndGFibGUnIik7CiAKICAgICAgICAgdmFyIGNo
aWxkcmVuID0gdGFibGUxLmNoaWxkcmVuQ291bnQ7CiAgICAgICAgIHNob3VsZEJlKCJjaGlsZHJl
biIsICIyIik7CkBAIC01Miw2ICs1OSwxMSBAQCB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFs
c2U7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjaGlsZHJlbjsgKytpKSB7CiAgICAgICAgICAg
ICBzaG91bGRCZSgidGFibGUzLmNoaWxkQXRJbmRleChpKS5yb2xlIiwgIid0YWJsZSBjZWxsJyIp
OwogICAgICAgICB9CisgICAgICAgIGNoaWxkcmVuID0gdGFibGU0LmNoaWxkcmVuQ291bnQ7Cisg
ICAgICAgIHNob3VsZEJlKCJjaGlsZHJlbiIsICI2Iik7CisgICAgICAgIGZvciAoaSA9IDA7IGkg
PCBjaGlsZHJlbjsgKytpKSB7CisgICAgICAgICAgICBzaG91bGRCZSgidGFibGU0LmNoaWxkQXRJ
bmRleChpKS5yb2xlIiwgIid0YWJsZSBjZWxsJyIpOworICAgICAgICB9CiAgICAgfQogICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE2MmU2MS4uMjNiMDdiYyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxMC0wMy0wMSAgSm9hbm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dz
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA4OTUKKyAgICAg
ICAgW0d0a10gVGhlIGFjY2Vzc2libGUgaGllcmFyY2h5IG9mIHRhYmxlcyBpcyBzaWduaWZpY2Fu
dGx5IGluY29ycmVjdCBmb3IgQXRrCisKKyAgICAgICAgR2l2ZXMgcGxhdGZvcm1zIHRoZSBhYmls
aXR5IHRvIGV4Y2x1ZGUgcGFydHMgb2YgYW4gQWNjZXNzaWJpbGl0eVRhYmxlCisgICAgICAgIGZy
b20gdGhlIGFjY2Vzc2libGUgaGllcmFyY2h5LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCk6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKToKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHA6CisgICAgICAgIChBY2Nl
c3NpYmlsaXR5VGFibGU6OmFkZENoaWxkcmVuKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlUYWJsZUNvbHVtbi5oOgorICAgICAgICAoYWNjZXNzaWJpbGl0eUlzSWdub3Jl
ZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250
YWluZXIuaDoKKyAgICAgICAgKGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcDoKKyAgICAgICAgKGFjY2Vzc2li
aWxpdHlJc0lnbm9yZWQpOgorCiAyMDEwLTAyLTI4ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFy
aWUuZGlnZ3NAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCmluZGV4IDZhODkzMjQuLjVlZDQxNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTI3MzIsNiArMjczMiw5
IEBAIEFjY2Vzc2liaWxpdHlSb2xlIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmRldGVybWlu
ZUFjY2Vzc2liaWxpdHlSb2xlKCkKICAgICBpZiAobm9kZSAmJiAobm9kZS0+aGFzVGFnTmFtZSh0
ZFRhZykgfHwgbm9kZS0+aGFzVGFnTmFtZSh0aFRhZykpKQogICAgICAgICByZXR1cm4gQ2VsbFJv
bGU7CiAKKyAgICBpZiAobm9kZSAmJiBub2RlLT5oYXNUYWdOYW1lKHRyVGFnKSkKKyAgICAgICAg
cmV0dXJuIFJvd1JvbGU7CisKICAgICBpZiAobm9kZSAmJiBub2RlLT5oYXNUYWdOYW1lKHRhYmxl
VGFnKSkKICAgICAgICAgcmV0dXJuIFRhYmxlUm9sZTsKICNlbmRpZiAgIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAgYi9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcAppbmRleCA5YWMxMDQ2Li41MzA5ZjM2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNw
cAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcApAQCAt
MjUxLDcgKzI1MSwxMiBAQCB2b2lkIEFjY2Vzc2liaWxpdHlUYWJsZTo6YWRkQ2hpbGRyZW4oKQog
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHJvdy0+c2V0Um93SW5kZXgoKGludClt
X3Jvd3Muc2l6ZSgpKTsgICAgICAgIAogICAgICAgICAgICAgICAgIG1fcm93cy5hcHBlbmQocm93
KTsKLSAgICAgICAgICAgICAgICBtX2NoaWxkcmVuLmFwcGVuZChyb3cpOworICAgICAgICAgICAg
ICAgIGlmICghcm93LT5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkpCisgICAgICAgICAgICAgICAg
ICAgIG1fY2hpbGRyZW4uYXBwZW5kKHJvdyk7CisjaWYgUExBVEZPUk0oR1RLKQorICAgICAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbV9jaGlsZHJlbi5hcHBlbmQocm93LT5j
aGlsZHJlbigpKTsKKyNlbmRpZgogICAgICAgICAgICAgICAgIGFwcGVuZGVkUm93cy5hZGQocm93
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjY2LDExICsyNzEsMTIgQEAgdm9pZCBB
Y2Nlc3NpYmlsaXR5VGFibGU6OmFkZENoaWxkcmVuKCkKICAgICAgICAgY29sdW1uLT5zZXRDb2x1
bW5JbmRleCgoaW50KWkpOwogICAgICAgICBjb2x1bW4tPnNldFBhcmVudFRhYmxlKHRoaXMpOwog
ICAgICAgICBtX2NvbHVtbnMuYXBwZW5kKGNvbHVtbik7Ci0gICAgICAgIG1fY2hpbGRyZW4uYXBw
ZW5kKGNvbHVtbik7CisgICAgICAgIGlmICghY29sdW1uLT5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpCisgICAgICAgICAgICBtX2NoaWxkcmVuLmFwcGVuZChjb2x1bW4pOwogICAgIH0KICAgICAK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXJDb250YWluZXJPYmplY3QgPSBoZWFkZXJD
b250YWluZXIoKTsKLSAgICBpZiAoaGVhZGVyQ29udGFpbmVyT2JqZWN0KQorICAgIGlmIChoZWFk
ZXJDb250YWluZXJPYmplY3QgJiYgIWhlYWRlckNvbnRhaW5lck9iamVjdC0+YWNjZXNzaWJpbGl0
eUlzSWdub3JlZCgpKQogICAgICAgICBtX2NoaWxkcmVuLmFwcGVuZChoZWFkZXJDb250YWluZXJP
YmplY3QpOwogfQogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZUNvbHVtbi5oIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZUNvbHVtbi5oCmluZGV4IDYyNzAzOTguLjM0YmU4MTUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaAorKysgYi9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgKQEAgLTUwLDcgKzUwLDEx
IEBAIHB1YmxpYzoKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXJPYmplY3QoKTsKICAg
ICAgICAgCiAgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWUoKSBjb25zdCB7
IHJldHVybiBDb2x1bW5Sb2xlOyB9CisjaWYgUExBVEZPUk0oR1RLKQorICAgIHZpcnR1YWwgYm9v
bCBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorI2Vsc2UK
ICAgICB2aXJ0dWFsIGJvb2wgYWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgaXNUYWJsZUNvbHVtbigpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICAKICAgICB2b2lkIHNldENvbHVtbkluZGV4KGludCBjb2x1
bW5JbmRleCkgeyBtX2NvbHVtbkluZGV4ID0gY29sdW1uSW5kZXg7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuaCBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIu
aAppbmRleCA4YTk0NDhhLi40NmM0N2JjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVRhYmxlSGVhZGVyQ29udGFpbmVyLmgKKysrIGIvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5oCkBAIC00OCw3ICs0
OCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQYXJlbnRUYWJsZShBY2Nlc3NpYmlsaXR5VGFi
bGUqIHRhYmxlKSB7IG1fcGFyZW50VGFibGUgPSB0YWJsZTsgfQogICAgIHZpcnR1YWwgQWNjZXNz
aWJpbGl0eU9iamVjdCogcGFyZW50T2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRUYWJs
ZTsgfQogICAgIAorI2lmIFBMQVRGT1JNKEdUSykKKyAgICB2aXJ0dWFsIGJvb2wgYWNjZXNzaWJp
bGl0eUlzSWdub3JlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyNlbHNlCiAgICAgdmlydHVh
bCBib29sIGFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQor
I2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCBjb25zdCBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0
b3ImIGNoaWxkcmVuKCk7CiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxkcmVuKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcCBiL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCmluZGV4IDcxZjhi
MmIuLjEyNTAzNTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGVSb3cuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGVSb3cuY3BwCkBAIC03Niw3ICs3NiwxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlUYWJsZVJv
dzo6aXNUYWJsZVJvdygpIGNvbnN0CiAgICAgCiBib29sIEFjY2Vzc2liaWxpdHlUYWJsZVJvdzo6
YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiB7ICAgIAorI2lmIFBMQVRGT1JNKEdUSykK
KyAgICBpZiAodHJ1ZSkKKyNlbHNlCiAgICAgaWYgKCFpc1RhYmxlUm93KCkpCisjZW5kaWYKICAg
ICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0ln
bm9yZWQoKTsKIAogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDI0MjcyN2MuLmU0MzY0
MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9i
amVjdEF0ay5jcHAKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5
T2JqZWN0QXRrLmNwcApAQCAtNjMsNiArNjMsMTAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdFBsYXRm
b3JtSW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUkK
ICAgICBpZiAocm9sZSA9PSBDZWxsUm9sZSB8fCByb2xlID09IFRhYmxlUm9sZSkKICAgICAgICAg
cmV0dXJuIEluY2x1ZGVPYmplY3Q7CiAKKyAgICAvLyBXZSBhdCBzb21lIHBvaW50IG1pZ2h0IGhh
dmUgYSBuZWVkIHRvIGV4cG9zZSBhIHRhYmxlIHJvdzsgYnV0IGl0J3Mgbm90IHN0YW5kYXJkIEd0
aysuCisgICAgaWYgKHJvbGUgPT0gUm93Um9sZSkKKyAgICAgICAgcmV0dXJuIElnbm9yZU9iamVj
dDsKKwogICAgIC8vIFRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgdGV4dCBzaG91bGQgaW1wbGVt
ZW50IEF0a1RleHQgaXRzZWxmLgogICAgIGlmIChyb2xlID09IFN0YXRpY1RleHRSb2xlKQogICAg
ICAgICByZXR1cm4gSWdub3JlT2JqZWN0OwotLSAKMS43LjAKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>