<?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>25897</bug_id>
          
          <creation_ts>2009-05-20 15:58:13 -0700</creation_ts>
          <short_desc>[Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries</short_desc>
          <delta_ts>2009-10-28 14:36:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>25531</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>walker.willie</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>122215</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-20 15:58:13 -0700</bug_when>
    <thetext>Steps to reproduce:

1. Type some text in an entry (e.g. Google search entry).

2. Examine the accessible associated with the entry in Accerciser.

Preferred results: The entry itself would implement the accessible text interface itself rather than have a descendant which does so. This would be consistent with what other applications do.

Expected results (Based on looking at the hierarchy of other accessible objects in WebKit which contain text):

- ROLE_ENTRY
  - ROLE_TEXT

Actual results: 

- ROLE_ENTRY
  - ROLE_PANEL
    - ROLE_TEXT

If there is some fundamental reason why that object of ROLE_PANEL must remain in the accessible hierarchy, assistive technologies can punt and still get at the text. However, if this object is indeed extraneous, it would be great if it could be removed from the hierarchy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157833</commentid>
    <comment_count>1</comment_count>
      <attachid>41877</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-26 11:27:43 -0700</bug_when>
    <thetext>Created attachment 41877
Add ability for platforms to ignore objects

Expands on -- and modifies -- what was done to fix bug 27085. Now platforms can indicate that they:

* Want to include an object (i.e. one which accessibilityIsIgnored()
  would otherwise ignore, aka bug 27085)

* Want to ignore an object (i.e. one which accessibilityIsIgnored()
  would include, aka this bug)

* Want to let accessibilityIsIgnored() decide.

What I like:

* More control at the platform level to deal with unique needs/issues.

* Fixes both of the issues in question.

What I don&apos;t like much:

* The names. Y&apos;all decide what they should be, and I will make it so. :-)

Also, Xan: I narrowed the logic down from your pastebin patch to just look at text-based controls. Looking at all controls seems like it might accidentally cause us to ignore parts of the hierarchy of certain funky widgets I&apos;ve seen in Aria, Dojo, etc. And maybe even combo boxes -- which I still have to implement, but which have hierarchies like:

-&gt; combo box
   -&gt; menu
      -&gt; menu item
      -&gt; menu item

Anyhoo.... Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157860</commentid>
    <comment_count>2</comment_count>
      <attachid>41882</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-26 12:10:24 -0700</bug_when>
    <thetext>Created attachment 41882
Add ability for platforms to ignore objects - Shorter Name Edition

Xan and I chatted about this in IRC. I was (mistakenly) under the impression that everything had to start with Accessibility.

So &apos;tis now:

+enum AccessibilityObjectPlatformInclusion {
+    IncludeObject,
+    IgnoreObject,
+    DefaultBehavior,
+};
+

Also, Xan reminded me of the one-thing-per-patch rule. Sorry! :-) So this patch *only* has the expansion in functionality; it does not include the fix for this bug. I&apos;ll re-submit that once we decide about this bit.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158147</commentid>
    <comment_count>3</comment_count>
      <attachid>41882</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-10-27 03:50:46 -0700</bug_when>
    <thetext>Comment on attachment 41882
Add ability for platforms to ignore objects - Shorter Name Edition

I just have some nits.

&gt; +    // gives platforms the opportunity to indicate if and how an object should
&gt; +    // be included

No need to wrap.

&gt;  #if HAVE(ACCESSIBILITY)
&gt; -    bool accessibilityPlatformIncludesObject() const;
&gt; +    AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const;
&gt;  #else
&gt; -    bool accessibilityPlatformIncludesObject() const { return false; }
&gt; +    // this won&apos;t ever get called....
&gt; +    AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const { return DefaultBehavior; }

It can be called if people don&apos;t want AX enabled. Aside from that patch looks OK.

&gt; Also, Xan reminded me of the one-thing-per-patch rule. Sorry! :-) So this patch

One-thing-per-bug rule would&apos;ve been nice as well. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158148</commentid>
    <comment_count>4</comment_count>
      <attachid>41882</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-10-27 03:53:18 -0700</bug_when>
    <thetext>Comment on attachment 41882
Add ability for platforms to ignore objects - Shorter Name Edition

I just have some nits.

&gt; +    // gives platforms the opportunity to indicate if and how an object should
&gt; +    // be included

No need to wrap.

&gt;  #if HAVE(ACCESSIBILITY)
&gt; -    bool accessibilityPlatformIncludesObject() const;
&gt; +    AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const;
&gt;  #else
&gt; -    bool accessibilityPlatformIncludesObject() const { return false; }
&gt; +    // this won&apos;t ever get called....
&gt; +    AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const { return DefaultBehavior; }

It can be called if people don&apos;t want AX enabled. Aside from that patch looks OK.

&gt; Also, Xan reminded me of the one-thing-per-patch rule. Sorry! :-) So this patch

One-thing-per-bug rule would&apos;ve been nice as well. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158178</commentid>
    <comment_count>5</comment_count>
      <attachid>41949</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-27 06:50:59 -0700</bug_when>
    <thetext>Created attachment 41949
Add ability for platforms to ignore objects - Cleaned up comments as per review

Nits addressed. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158180</commentid>
    <comment_count>6</comment_count>
      <attachid>41950</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-27 06:52:51 -0700</bug_when>
    <thetext>Created attachment 41950
textcontrolsatk.diff

Make text controls implement the text interfaces properly, a small piece in the puzzle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158478</commentid>
    <comment_count>7</comment_count>
      <attachid>41950</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-10-28 00:26:18 -0700</bug_when>
    <thetext>Comment on attachment 41950
textcontrolsatk.diff

&gt; +static void test_webkit_atk_get_text_at_offset_forms(void)

forms?

&gt; +{
&gt; +    WebKitWebView* webView;
&gt; +    AtkObject *obj;

&apos;*&apos; on the wrong side.

&gt; +    AtkObject *obj;

Same.

Kindly fix before landing. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158481</commentid>
    <comment_count>8</comment_count>
      <attachid>41949</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-10-28 00:45:39 -0700</bug_when>
    <thetext>Comment on attachment 41949
Add ability for platforms to ignore objects - Cleaned up comments as per review

LGTM. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158504</commentid>
    <comment_count>9</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-28 03:16:06 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 41950 [details])
&gt; &gt; +static void test_webkit_atk_get_text_at_offset_forms(void)
&gt; 
&gt; forms?

as in HTML forms.

&gt; 
&gt; &gt; +{
&gt; &gt; +    WebKitWebView* webView;
&gt; &gt; +    AtkObject *obj;
&gt; 
&gt; &apos;*&apos; on the wrong side.
&gt; 
&gt; &gt; +    AtkObject *obj;
&gt; 
&gt; Same.

Right, this was already in the file and I was just moving it around, but good catch.

&gt; 
&gt; Kindly fix before landing. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158505</commentid>
    <comment_count>10</comment_count>
      <attachid>41950</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-28 03:20:29 -0700</bug_when>
    <thetext>Comment on attachment 41950
textcontrolsatk.diff

Landed in r50208, clearing flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158619</commentid>
    <comment_count>11</comment_count>
      <attachid>41949</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-28 10:02:23 -0700</bug_when>
    <thetext>Comment on attachment 41949
Add ability for platforms to ignore objects - Cleaned up comments as per review

Clearing flags on attachment: 41949

Committed r50220: &lt;http://trac.webkit.org/changeset/50220&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158620</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-28 10:02:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158626</commentid>
    <comment_count>13</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-28 10:14:26 -0700</bug_when>
    <thetext>Re-opening to address the removal of the extraneous object of ROLE_PANEL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158683</commentid>
    <comment_count>14</comment_count>
      <attachid>42052</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-28 13:32:13 -0700</bug_when>
    <thetext>Created attachment 42052
Remove the extraneous panel

Another piece of the puzzle. This patch removes the offending panel in question. It does NOT address the additional object of ROLE_TEXT. Different patch at the very least. And arguably, a different bug. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158687</commentid>
    <comment_count>15</comment_count>
      <attachid>42052</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-28 13:43:05 -0700</bug_when>
    <thetext>Comment on attachment 42052
Remove the extraneous panel

&gt; AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
&gt; {
&gt;+    AccessibilityObject* parent = parentObject();
&gt;+    if (not parent)

Come again?

&gt;+        return DefaultBehavior;

The only case where this happens is with the WebView itself, right?

&gt;+
&gt;     // When a list item is made up entirely of children (e.g. paragraphs)
&gt;     // the list item gets ignored. We need it.
&gt;-    if (isGroup()) {
&gt;-        AccessibilityObject* parent = parentObject();
&gt;-        if (parent &amp;&amp; parent-&gt;isList())
&gt;-            return IncludeObject;
&gt;-    }
&gt;+    if (isGroup() &amp;&amp; parent-&gt;isList())
&gt;+        return IncludeObject;
&gt;+
&gt;+    // Entries and password fields have extraneous children which we want to ignore.
&gt;+    if (parent-&gt;isPasswordField() || parent-&gt;isTextControl())
&gt;+        return IgnoreObject;
&gt; 
&gt;     return DefaultBehavior;
&gt; }
&gt;-- 
&gt;1.6.3.3
&gt;

Looks good to me otherwise, but r- because of the &quot;not&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158694</commentid>
    <comment_count>16</comment_count>
      <attachid>42053</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-10-28 13:57:04 -0700</bug_when>
    <thetext>Created attachment 42053
Remove the extraneous panel - Take 2

&gt; &gt; {
&gt; &gt;+    AccessibilityObject* parent = parentObject();
&gt; &gt;+    if (not parent)
&gt; 
&gt; Come again?

Oh hell... Sorry. :-( 3 years of Python; 3 weeks of C++.

&gt; The only case where this happens is with the WebView itself, right?

That I&apos;m aware of, yet. But given some other hierarchical bogusty I&apos;m seeing (but have not yet pinned down), I wouldn&apos;t bet money that this is the only case. Not yet anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158696</commentid>
    <comment_count>17</comment_count>
      <attachid>42053</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-28 14:12:29 -0700</bug_when>
    <thetext>Comment on attachment 42053
Remove the extraneous panel - Take 2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158697</commentid>
    <comment_count>18</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-28 14:12:58 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=42053) [details]
&gt; Remove the extraneous panel - Take 2
&gt; 
&gt; &gt; &gt; {
&gt; &gt; &gt;+    AccessibilityObject* parent = parentObject();
&gt; &gt; &gt;+    if (not parent)
&gt; &gt; 
&gt; &gt; Come again?
&gt; 
&gt; Oh hell... Sorry. :-( 3 years of Python; 3 weeks of C++.

Let the compiler catch them for you! ;)

&gt; 
&gt; &gt; The only case where this happens is with the WebView itself, right?
&gt; 
&gt; That I&apos;m aware of, yet. But given some other hierarchical bogusty I&apos;m seeing
&gt; (but have not yet pinned down), I wouldn&apos;t bet money that this is the only
&gt; case. Not yet anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158705</commentid>
    <comment_count>19</comment_count>
      <attachid>42053</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-28 14:36:47 -0700</bug_when>
    <thetext>Comment on attachment 42053
Remove the extraneous panel - Take 2

Clearing flags on attachment: 42053

Committed r50238: &lt;http://trac.webkit.org/changeset/50238&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158706</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-28 14:36:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41877</attachid>
            <date>2009-10-26 11:27:43 -0700</date>
            <delta_ts>2009-10-26 12:10:24 -0700</delta_ts>
            <desc>Add ability for platforms to ignore objects</desc>
            <filename>25897-1.patch</filename>
            <type>text/plain</type>
            <size>9981</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSA1YjI1NTgxOWE5ZmEyZWUxMjE1ZDkxOTI3N2I4YWY2YjU0ZmY4N2IzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMjYgT2N0IDIwMDkgMTQ6MDU6MDYgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTg5NwpbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BB
TkVMIGluIGhpZXJhcmNoeSBmb3IgZW50cmllcwoKRXhwYW5kcyB1cG9uIHRoZSBuZXcgZnVudGlv
bmFsaXR5IHdoaWNoIGFsbG93cyBwbGF0Zm9ybXMgdG8gaW5kaWNhdGUKdGhhdCBhIHBhcnRpY3Vs
YXIgb2JqZWN0IHNob3VsZCBub3QgYmUgaWdub3JlZCwgc28gdGhhdCB0aGV5IGNhbgpzcGVjaWZ5
IHRoYXQgYW4gb2JqZWN0IHNob3VsZCBiZSBpZ25vcmVkIG9yIHRoYXQgaXQgc2hvdWxkIGJlIGxl
ZnQgdXAKdG8gdGhlIHBsYXRmb3JtIHRvIGRlY2lkZS4KCiogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0Lmg6CiogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hyb21pdW0uY3BwOgoqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RB
dGsuY3BwOgoqIGFjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW06Ciog
YWNjZXNzaWJpbGl0eS9xdC9BY2Nlc3NpYmlsaXR5T2JqZWN0UXQuY3BwOgoqIGFjY2Vzc2liaWxp
dHkvd2luL0FjY2Vzc2liaWxpdHlPYmplY3RXaW4uY3BwOgoqIGFjY2Vzc2liaWxpdHkvd3gvQWNj
ZXNzaWJpbGl0eU9iamVjdFd4LmNwcDoKKEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxp
dHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KToKKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwOgooQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWNjZXNzaWJpbGl0
eUlzSWdub3JlZCk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDIzICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oICAgICAgICB8ICAgMTQgKysrKysrKysrLS0KIC4u
Li9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgIHwgICAgNiAr
KysrLQogLi4uL2Nocm9taXVtL0FjY2Vzc2liaWxpdHlPYmplY3RDaHJvbWl1bS5jcHAgICAgICAg
fCAgICA0ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5j
cHAgICB8ICAgMjEgKysrKysrKysrKysrLS0tLS0tCiAuLi4vYWNjZXNzaWJpbGl0eS9tYWMvQWNj
ZXNzaWJpbGl0eU9iamVjdE1hYy5tbSAgICB8ICAgIDQgKy0KIFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9xdC9BY2Nlc3NpYmlsaXR5T2JqZWN0UXQuY3BwIHwgICAgNCArLQogLi4uL2FjY2Vzc2liaWxp
dHkvd2luL0FjY2Vzc2liaWxpdHlPYmplY3RXaW4uY3BwICAgfCAgICA0ICstCiBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvd3gvQWNjZXNzaWJpbGl0eU9iamVjdFd4LmNwcCB8ICAgIDQgKy0KIDkgZmls
ZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkZWY1NTJlLi4y
ZjQ3ZDA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDA5LTEwLTI2ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2Fu
bWFyaWUuZGlnZ3NAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTg5NworICAgICAgICBbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BBTkVMIGluIGhp
ZXJhcmNoeSBmb3IgZW50cmllcworCisgICAgICAgIEV4cGFuZHMgdXBvbiB0aGUgbmV3IGZ1bnRp
b25hbGl0eSB3aGljaCBhbGxvd3MgcGxhdGZvcm1zIHRvIGluZGljYXRlCisgICAgICAgIHRoYXQg
YSBwYXJ0aWN1bGFyIG9iamVjdCBzaG91bGQgbm90IGJlIGlnbm9yZWQsIHNvIHRoYXQgdGhleSBj
YW4KKyAgICAgICAgc3BlY2lmeSB0aGF0IGFuIG9iamVjdCBzaG91bGQgYmUgaWdub3JlZCBvciB0
aGF0IGl0IHNob3VsZCBiZSBsZWZ0IHVwCisgICAgICAgIHRvIHRoZSBwbGF0Zm9ybSB0byBkZWNp
ZGUuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FjY2Vzc2liaWxpdHlPYmplY3RDaHJvbWl1
bS5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0
ay5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1h
Yy5tbToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5j
cHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS93aW4vQWNjZXNzaWJpbGl0eU9iamVjdFdpbi5j
cHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS93eC9BY2Nlc3NpYmlsaXR5T2JqZWN0V3guY3Bw
OgorICAgICAgICAoQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5j
bHVkZXNPYmplY3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKToKKwogMjAwOS0xMC0yNiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggNjIxMTI5My4uNWIx
OTliNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBA
IC0xODgsNiArMTg4LDEyIEBAIGVudW0gQWNjZXNzaWJpbGl0eU9yaWVudGF0aW9uIHsKICAgICBB
Y2Nlc3NpYmlsaXR5T3JpZW50YXRpb25Ib3Jpem9udGFsLAogfTsKICAgICAKK2VudW0gQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbiB7CisgICAgQWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVk
ZXNPYmplY3QsCisgICAgQWNjZXNzaWJpbGl0eVBsYXRmb3JtSWdub3Jlc09iamVjdCwKKyAgICBB
Y2Nlc3NpYmlsaXR5UGxhdGZvcm1MZXRzQ29yZURlY2lkZSwKK307CisKIHN0cnVjdCBWaXNpYmxl
UG9zaXRpb25SYW5nZSB7CiAKICAgICBWaXNpYmxlUG9zaXRpb24gc3RhcnQ7CkBAIC00NTksMTEg
KzQ2NSwxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVu
dCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCi0gICAgLy8gZ2l2ZXMgcGxhdGZv
cm1zIHRoZSBvcHBvcnR1bml0eSB0byBpbmRpY2F0ZSB0aGF0IGFuIG9iamVjdCBzaG91bGRuJ3Qg
YmUgaWdub3JlZAorICAgIC8vIGdpdmVzIHBsYXRmb3JtcyB0aGUgb3Bwb3J0dW5pdHkgdG8gaW5k
aWNhdGUgaWYgYW5kIGhvdyBhbiBvYmplY3Qgc2hvdWxkCisgICAgLy8gYmUgaW5jbHVkZWQKICNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0gICAgYm9vbCBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNs
dWRlc09iamVjdCgpIGNvbnN0OworICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gYWNj
ZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdDsKICNlbHNlCi0gICAgYm9v
bCBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgLy8gdGhpcyB3b24ndCBldmVyIGdldCBjYWxsZWQuLi4uCisgICAgQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbiBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVj
dCgpIGNvbnN0IHsgcmV0dXJuIEFjY2Vzc2liaWxpdHlQbGF0Zm9ybUxldHNDb3JlRGVjaWRlOyB9
CiAjZW5kaWYKIAogICAgIC8vIGFsbG93cyBmb3IgYW4gQWNjZXNzaWJpbGl0eU9iamVjdCB0byB1
cGRhdGUgaXRzIHJlbmRlciB0cmVlIG9yIHBlcmZvcm0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA0MDcyNTQxLi5jZjQ4
ZjJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwCkBAIC0xMjU5LDggKzEyNTksMTIgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0OjphcmlhSXNIaWRkZW4oKSBjb25zdAogYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKIHsKICAgICAvLyBpcyB0aGUg
cGxhdGZvcm0gaXMgaW50ZXJlc3RlZCBpbiB0aGlzIG9iamVjdD8KLSAgICBpZiAoYWNjZXNzaWJp
bGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSkKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5j
bHVzaW9uIGRlY2lzaW9uID0gYWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKTsK
KyAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3Qp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZGVjaXNpb24gPT0gQWNjZXNzaWJpbGl0
eVBsYXRmb3JtSWdub3Jlc09iamVjdCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgLy8gdGhl
IGRlY2lzaW9uIG11c3QsIHRoZXJlZm9yZSwgYmUgQWNjZXNzaWJpbGl0eVBsYXRmb3JtTGV0c0Nv
cmVEZWNpZGUuCiAKICAgICAvLyBpZ25vcmUgaW52aXNpYmxlIGVsZW1lbnQKICAgICBpZiAoIW1f
cmVuZGVyZXIgfHwgbV9yZW5kZXJlci0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQWNjZXNzaWJpbGl0
eU9iamVjdENocm9taXVtLmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwCmluZGV4IGM5YTUxYmEuLjUxMmU5MGMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0
Q2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nlc3Np
YmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwCkBAIC0zNCw5ICszNCw5IEBAIGJvb2wgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlnbm9yZUF0dGFjaG1lbnQoKSBjb25zdAogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5
UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0CitBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVz
aW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2Jq
ZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEFjY2Vzc2liaWxp
dHlQbGF0Zm9ybUxldHNDb3JlRGVjaWRlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RB
dGsuY3BwIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRr
LmNwcAppbmRleCAzNjY0ZjFiLi5hZDZjOWFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKQEAgLTMyLDE3ICszMiwyNCBA
QCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50
KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVj
dDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAorQWNjZXNzaWJp
bGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxh
dGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0CiB7CisgICAgaWYgKGlzV2ViQXJlYSgpKQorICAg
ICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVBsYXRmb3JtTGV0c0NvcmVEZWNpZGU7CisKKyAgICBB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnQgPSBwYXJlbnRPYmplY3QoKTsKKwogICAgIC8vIFdo
ZW4gYSBsaXN0IGl0ZW0gaXMgbWFkZSB1cCBlbnRpcmVseSBvZiBjaGlsZHJlbiAoZS5nLiBwYXJh
Z3JhcGhzKQogICAgIC8vIHRoZSBsaXN0IGl0ZW0gZ2V0cyBpZ25vcmVkLiBXZSBuZWVkIGl0Lgot
ICAgIGlmIChpc0dyb3VwKCkpIHsKLSAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogcGFyZW50
ID0gcGFyZW50T2JqZWN0KCk7Ci0gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc0xpc3Qo
KSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KKyAgICBpZiAoaXNHcm91cCgpICYm
IHBhcmVudCAmJiBwYXJlbnQtPmlzTGlzdCgpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0
eVBsYXRmb3JtSW5jbHVkZXNPYmplY3Q7CiAKLSAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gRW50
cmllcyBhbmQgcGFzc3dvcmQgZmllbGRzIGhhdmUgZXh0cmFuZW91cyBjaGlsZHJlbiB3aGljaCB3
ZSB3YW50CisgICAgLy8gdG8gaWdub3JlLgorICAgIGlmIChwYXJlbnQgJiYgKHBhcmVudC0+aXNQ
YXNzd29yZEZpZWxkKCkgfHwgcGFyZW50LT5pc1RleHRDb250cm9sKCkpKQorICAgICAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eVBsYXRmb3JtSWdub3Jlc09iamVjdDsKKworICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5UGxhdGZvcm1MZXRzQ29yZURlY2lkZTsKIH0KIAogQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIqIEFjY2Vzc2liaWxpdHlPYmplY3Q6OndyYXBwZXIoKSBjb25zdApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tIGIv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCmluZGV4
IGQ3OWUyZWMuLjEzMGEyMGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KQEAgLTQxLDkgKzQxLDkgQEAgYm9vbCBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCgpIGNvbnN0CiAgICAg
cmV0dXJuIFthdHRhY2htZW50IGFjY2Vzc2liaWxpdHlJc0lnbm9yZWRdOwogfQogCi1ib29sIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkg
Y29uc3QKK0FjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAogewotICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVBsYXRmb3JtTGV0c0NvcmVEZWNpZGU7
CiB9CiAgICAgCiB9IC8vIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9xdC9BY2Nlc3NpYmlsaXR5T2JqZWN0UXQuY3BwIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3F0
L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5jcHAKaW5kZXggODcwNWJjMC4uY2MxMWI2ZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5jcHAK
KysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5jcHAK
QEAgLTI5LDkgKzI5LDkgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5
SWdub3JlQXR0YWNobWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkg
Y29uc3QKK0FjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAogewotICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVBsYXRmb3JtTGV0c0NvcmVEZWNpZGU7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS93aW4vQWNjZXNzaWJpbGl0eU9iamVjdFdpbi5jcHAgYi9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvd2luL0FjY2Vzc2liaWxpdHlPYmplY3RXaW4uY3BwCmluZGV4IDJmODc1NmEuLjVlOWJi
ZWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93aW4vQWNjZXNzaWJpbGl0eU9i
amVjdFdpbi5jcHAKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BY2Nlc3NpYmlsaXR5
T2JqZWN0V2luLmNwcApAQCAtMzUsOSArMzUsOSBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6
OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5j
bHVkZXNPYmplY3QoKSBjb25zdAorQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5UGxhdGZvcm1M
ZXRzQ29yZURlY2lkZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3d4L0FjY2Vzc2liaWxpdHlPYmplY3RXeC5jcHAgYi9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvd3gvQWNjZXNzaWJpbGl0eU9iamVjdFd4LmNwcAppbmRleCA4NzA1
YmMwLi5jYzExYjZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd3gvQWNjZXNz
aWJpbGl0eU9iamVjdFd4LmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd3gvQWNjZXNz
aWJpbGl0eU9iamVjdFd4LmNwcApAQCAtMjksOSArMjksOSBAQCBib29sIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRm
b3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAorQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5UGxh
dGZvcm1MZXRzQ29yZURlY2lkZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotLSAKMS42
LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41882</attachid>
            <date>2009-10-26 12:10:24 -0700</date>
            <delta_ts>2009-10-27 06:50:59 -0700</delta_ts>
            <desc>Add ability for platforms to ignore objects - Shorter Name Edition</desc>
            <filename>25897-2.patch</filename>
            <type>text/plain</type>
            <size>9374</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAxMzdjOWU3YTgxMjczYjNlODJkYjZmMmUwNDUwMzk1MjYyMjkzMDdiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IE1vbiwgMjYgT2N0IDIwMDkgMTQ6MDU6MDYgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTg5NwpbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BB
TkVMIGluIGhpZXJhcmNoeSBmb3IgZW50cmllcwoKRXhwYW5kcyB1cG9uIHRoZSBuZXcgZnVudGlv
bmFsaXR5IHdoaWNoIGFsbG93cyBwbGF0Zm9ybXMgdG8gaW5kaWNhdGUKdGhhdCBhIHBhcnRpY3Vs
YXIgb2JqZWN0IHNob3VsZCBub3QgYmUgaWdub3JlZCwgc28gdGhhdCB0aGV5IGNhbgpzcGVjaWZ5
IHRoYXQgYW4gb2JqZWN0IHNob3VsZCBiZSBpZ25vcmVkIG9yIHRoYXQgaXQgc2hvdWxkIGJlIGxl
ZnQgdXAKdG8gdGhlIGRlZmF1bHQgaGFuZGxpbmcgdG8gZGVjaWRlLgoKKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKiBhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FjY2Vzc2li
aWxpdHlPYmplY3RDaHJvbWl1bS5jcHA6CiogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0
eU9iamVjdEF0ay5jcHA6CiogYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1h
Yy5tbToKKiBhY2Nlc3NpYmlsaXR5L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5jcHA6CiogYWNj
ZXNzaWJpbGl0eS93aW4vQWNjZXNzaWJpbGl0eU9iamVjdFdpbi5jcHA6CiogYWNjZXNzaWJpbGl0
eS93eC9BY2Nlc3NpYmlsaXR5T2JqZWN0V3guY3BwOgooQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNj
ZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QpOgoqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nl
c3NpYmlsaXR5SXNJZ25vcmVkKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMjMgKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggICAgICAgIHwgICAxNCArKysrKysr
KystLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAg
fCAgICA2ICsrKystCiAuLi4vY2hyb21pdW0vQWNjZXNzaWJpbGl0eU9iamVjdENocm9taXVtLmNw
cCAgICAgICB8ICAgIDQgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0QXRrLmNwcCAgIHwgICAgNiArKy0tCiAuLi4vYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJp
bGl0eU9iamVjdE1hYy5tbSAgICB8ICAgIDQgKy0KIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9xdC9B
Y2Nlc3NpYmlsaXR5T2JqZWN0UXQuY3BwIHwgICAgNCArLQogLi4uL2FjY2Vzc2liaWxpdHkvd2lu
L0FjY2Vzc2liaWxpdHlPYmplY3RXaW4uY3BwICAgfCAgICA0ICstCiBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvd3gvQWNjZXNzaWJpbGl0eU9iamVjdFd4LmNwcCB8ICAgIDQgKy0KIDkgZmlsZXMgY2hh
bmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkZWY1NTJlLi5kM2QxYjA0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDA5LTEwLTI2ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFyaWUu
ZGlnZ3NAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTg5Nwor
ICAgICAgICBbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BBTkVMIGluIGhpZXJhcmNo
eSBmb3IgZW50cmllcworCisgICAgICAgIEV4cGFuZHMgdXBvbiB0aGUgbmV3IGZ1bnRpb25hbGl0
eSB3aGljaCBhbGxvd3MgcGxhdGZvcm1zIHRvIGluZGljYXRlCisgICAgICAgIHRoYXQgYSBwYXJ0
aWN1bGFyIG9iamVjdCBzaG91bGQgbm90IGJlIGlnbm9yZWQsIHNvIHRoYXQgdGhleSBjYW4KKyAg
ICAgICAgc3BlY2lmeSB0aGF0IGFuIG9iamVjdCBzaG91bGQgYmUgaWdub3JlZCBvciB0aGF0IGl0
IHNob3VsZCBiZSBsZWZ0IHVwCisgICAgICAgIHRvIHRoZSBkZWZhdWx0IGhhbmRsaW5nIHRvIGRl
Y2lkZS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvY2hyb21pdW0vQWNjZXNzaWJpbGl0eU9iamVjdENocm9t
aXVtLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0
QXRrLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0
TWFjLm1tOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvcXQvQWNjZXNzaWJpbGl0eU9iamVjdFF0
LmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3dpbi9BY2Nlc3NpYmlsaXR5T2JqZWN0V2lu
LmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3d4L0FjY2Vzc2liaWxpdHlPYmplY3RXeC5j
cHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1J
bmNsdWRlc09iamVjdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vz
c2liaWxpdHlJc0lnbm9yZWQpOgorCiAyMDA5LTEwLTI2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA2MjExMjkzLi4w
ZTc0MTNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgK
QEAgLTE4OCw2ICsxODgsMTIgQEAgZW51bSBBY2Nlc3NpYmlsaXR5T3JpZW50YXRpb24gewogICAg
IEFjY2Vzc2liaWxpdHlPcmllbnRhdGlvbkhvcml6b250YWwsCiB9OwogICAgIAorZW51bSBBY2Nl
c3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNpb24geworICAgIEluY2x1ZGVPYmplY3QsCisg
ICAgSWdub3JlT2JqZWN0LAorICAgIERlZmF1bHRCZWhhdmlvciwKK307CisKIHN0cnVjdCBWaXNp
YmxlUG9zaXRpb25SYW5nZSB7CiAKICAgICBWaXNpYmxlUG9zaXRpb24gc3RhcnQ7CkBAIC00NTks
MTEgKzQ2NSwxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNo
bWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCi0gICAgLy8gZ2l2ZXMgcGxh
dGZvcm1zIHRoZSBvcHBvcnR1bml0eSB0byBpbmRpY2F0ZSB0aGF0IGFuIG9iamVjdCBzaG91bGRu
J3QgYmUgaWdub3JlZAorICAgIC8vIGdpdmVzIHBsYXRmb3JtcyB0aGUgb3Bwb3J0dW5pdHkgdG8g
aW5kaWNhdGUgaWYgYW5kIGhvdyBhbiBvYmplY3Qgc2hvdWxkCisgICAgLy8gYmUgaW5jbHVkZWQK
ICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0gICAgYm9vbCBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1J
bmNsdWRlc09iamVjdCgpIGNvbnN0OworICAgIEFjY2Vzc2liaWxpdHlPYmplY3RQbGF0Zm9ybUlu
Y2x1c2lvbiBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0OwogI2Vs
c2UKLSAgICBib29sIGFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KKyAgICAvLyB0aGlzIHdvbid0IGV2ZXIgZ2V0IGNhbGxlZC4uLi4K
KyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNpb24gYWNjZXNzaWJpbGl0eVBs
YXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBEZWZhdWx0QmVoYXZpb3I7IH0K
ICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0IHRvIHVw
ZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDQwNzI1NDEuLjlmMzI0
MWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKQEAgLTEyNTksOCArMTI1OSwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmFyaWFJc0hpZGRlbigpIGNvbnN0CiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogewogICAgIC8vIGlzIHRoZSBw
bGF0Zm9ybSBpcyBpbnRlcmVzdGVkIGluIHRoaXMgb2JqZWN0PwotICAgIGlmIChhY2Nlc3NpYmls
aXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpKQorICAgIEFjY2Vzc2liaWxpdHlPYmplY3RQbGF0
Zm9ybUluY2x1c2lvbiBkZWNpc2lvbiA9IGFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2Jq
ZWN0KCk7CisgICAgaWYgKGRlY2lzaW9uID09IEluY2x1ZGVPYmplY3QpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoZGVjaXNpb24gPT0gSWdub3JlT2JqZWN0KQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAvLyB0aGUgZGVjaXNpb24gbXVzdCwgdGhlcmVmb3JlLCBiZSBEZWZhdWx0
QmVoYXZpb3IuCiAKICAgICAvLyBpZ25vcmUgaW52aXNpYmxlIGVsZW1lbnQKICAgICBpZiAoIW1f
cmVuZGVyZXIgfHwgbV9yZW5kZXJlci0+c3R5bGUoKS0+dmlzaWJpbGl0eSgpICE9IFZJU0lCTEUp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQWNjZXNzaWJpbGl0
eU9iamVjdENocm9taXVtLmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwCmluZGV4IGM5YTUxYmEuLjdhYjdkNzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0
Q2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nlc3Np
YmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwCkBAIC0zNCw5ICszNCw5IEBAIGJvb2wgQWNjZXNzaWJp
bGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlnbm9yZUF0dGFjaG1lbnQoKSBjb25zdAogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5
UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0CitBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZv
cm1JbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5j
bHVkZXNPYmplY3QoKSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gRGVm
YXVsdEJlaGF2aW9yOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcAppbmRleCAz
NjY0ZjFiLi4wY2QyMjRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsv
QWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKQEAgLTMyLDE3ICszMiwxNyBAQCBib29sIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJp
bGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAorQWNjZXNzaWJpbGl0eU9iamVjdFBs
YXRmb3JtSW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9y
bUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKIHsKICAgICAvLyBXaGVuIGEgbGlzdCBpdGVtIGlzIG1h
ZGUgdXAgZW50aXJlbHkgb2YgY2hpbGRyZW4gKGUuZy4gcGFyYWdyYXBocykKICAgICAvLyB0aGUg
bGlzdCBpdGVtIGdldHMgaWdub3JlZC4gV2UgbmVlZCBpdC4KICAgICBpZiAoaXNHcm91cCgpKSB7
CiAgICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IHBhcmVudE9iamVjdCgpOwog
ICAgICAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aXNMaXN0KCkpCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBJbmNsdWRlT2JqZWN0OwogICAgIH0KIAotICAg
IHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogfQogCiBBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlciogQWNjZXNzaWJpbGl0eU9iamVjdDo6d3JhcHBlcigpIGNvbnN0
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmpl
Y3RNYWMubW0gYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RN
YWMubW0KaW5kZXggZDc5ZTJlYy4uMjE3YWY1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCisrKyBiL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQpAQCAtNDEsOSArNDEsOSBAQCBi
b29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkg
Y29uc3QKICAgICByZXR1cm4gW2F0dGFjaG1lbnQgYWNjZXNzaWJpbGl0eUlzSWdub3JlZF07CiB9
CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVk
ZXNPYmplY3QoKSBjb25zdAorQWNjZXNzaWJpbGl0eU9iamVjdFBsYXRmb3JtSW5jbHVzaW9uIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIERlZmF1bHRCZWhhdmlvcjsK
IH0KICAgICAKIH0gLy8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5jcHAgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvcXQv
QWNjZXNzaWJpbGl0eU9iamVjdFF0LmNwcAppbmRleCA4NzA1YmMwLi4wN2YxM2Q0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvcXQvQWNjZXNzaWJpbGl0eU9iamVjdFF0LmNwcAor
KysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvcXQvQWNjZXNzaWJpbGl0eU9iamVjdFF0LmNwcApA
QCAtMjksOSArMjksOSBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJ
Z25vcmVBdHRhY2htZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNj
ZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBj
b25zdAorQWNjZXNzaWJpbGl0eU9iamVjdFBsYXRmb3JtSW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlP
YmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIERlZmF1bHRCZWhhdmlvcjsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9B
Y2Nlc3NpYmlsaXR5T2JqZWN0V2luLmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93aW4vQWNj
ZXNzaWJpbGl0eU9iamVjdFdpbi5jcHAKaW5kZXggMmY4NzU2YS4uODk1ZmM0MyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BY2Nlc3NpYmlsaXR5T2JqZWN0V2luLmNwcAor
KysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FjY2Vzc2liaWxpdHlPYmplY3RXaW4uY3Bw
CkBAIC0zNSw5ICszNSw5IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0
eUlnbm9yZUF0dGFjaG1lbnQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgp
IGNvbnN0CitBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNpb24gQWNjZXNzaWJpbGl0
eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAogewot
ICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd3gv
QWNjZXNzaWJpbGl0eU9iamVjdFd4LmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93eC9BY2Nl
c3NpYmlsaXR5T2JqZWN0V3guY3BwCmluZGV4IDg3MDViYzAuLjA3ZjEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93eC9BY2Nlc3NpYmlsaXR5T2JqZWN0V3guY3BwCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93eC9BY2Nlc3NpYmlsaXR5T2JqZWN0V3guY3BwCkBAIC0y
OSw5ICsyOSw5IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlnbm9y
ZUF0dGFjaG1lbnQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0
CitBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVj
dDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAogewotICAgIHJl
dHVybiBmYWxzZTsKKyAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41949</attachid>
            <date>2009-10-27 06:50:59 -0700</date>
            <delta_ts>2009-10-28 10:02:23 -0700</delta_ts>
            <desc>Add ability for platforms to ignore objects - Cleaned up comments as per review</desc>
            <filename>25897-3.patch</filename>
            <type>text/plain</type>
            <size>9335</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAzOTg4YTRhNzg3MzBiNzMxYjQyZWFmYzMxNGQ0NDA3N2NiMGU5ZGI3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFR1ZSwgMjcgT2N0IDIwMDkgMDk6NDU6NDkgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTg5NwpbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BB
TkVMIGluIGhpZXJhcmNoeSBmb3IgZW50cmllcwoKRXhwYW5kcyB1cG9uIHRoZSBuZXcgZnVudGlv
bmFsaXR5IHdoaWNoIGFsbG93cyBwbGF0Zm9ybXMgdG8gaW5kaWNhdGUKdGhhdCBhIHBhcnRpY3Vs
YXIgb2JqZWN0IHNob3VsZCBub3QgYmUgaWdub3JlZCwgc28gdGhhdCB0aGV5IGNhbgpzcGVjaWZ5
IHRoYXQgYW4gb2JqZWN0IHNob3VsZCBiZSBpZ25vcmVkIG9yIHRoYXQgaXQgc2hvdWxkIGJlIGxl
ZnQgdXAKdG8gdGhlIGRlZmF1bHQgaGFuZGxpbmcgdG8gZGVjaWRlLgoKKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKiBhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FjY2Vzc2li
aWxpdHlPYmplY3RDaHJvbWl1bS5jcHA6CiogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0
eU9iamVjdEF0ay5jcHA6CiogYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1h
Yy5tbToKKiBhY2Nlc3NpYmlsaXR5L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5jcHA6CiogYWNj
ZXNzaWJpbGl0eS93aW4vQWNjZXNzaWJpbGl0eU9iamVjdFdpbi5jcHA6CiogYWNjZXNzaWJpbGl0
eS93eC9BY2Nlc3NpYmlsaXR5T2JqZWN0V3guY3BwOgooQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNj
ZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QpOgoqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nl
c3NpYmlsaXR5SXNJZ25vcmVkKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMjQgKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggICAgICAgIHwgICAxMiArKysrKysr
LS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwICAgIHwg
ICAgNiArKysrLQogLi4uL2Nocm9taXVtL0FjY2Vzc2liaWxpdHlPYmplY3RDaHJvbWl1bS5jcHAg
ICAgICAgfCAgICA0ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVj
dEF0ay5jcHAgICB8ICAgIDYgKystLQogLi4uL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxp
dHlPYmplY3RNYWMubW0gICAgfCAgICA0ICstCiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvcXQvQWNj
ZXNzaWJpbGl0eU9iamVjdFF0LmNwcCB8ICAgIDQgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L3dpbi9B
Y2Nlc3NpYmlsaXR5T2JqZWN0V2luLmNwcCAgIHwgICAgNCArLQogV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L3d4L0FjY2Vzc2liaWxpdHlPYmplY3RXeC5jcHAgfCAgICA0ICstCiA5IGZpbGVzIGNoYW5n
ZWQsIDUxIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk3YmI3YS4uZjlhZGRmMiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAwOS0xMC0yNyAgSm9hbm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRp
Z2dzQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4OTcKKyAg
ICAgICAgW0d0a10gRXh0cmFuZW91cyBvYmplY3Qgb2YgUk9MRV9QQU5FTCBpbiBoaWVyYXJjaHkg
Zm9yIGVudHJpZXMKKworICAgICAgICBFeHBhbmRzIHVwb24gdGhlIG5ldyBmdW50aW9uYWxpdHkg
d2hpY2ggYWxsb3dzIHBsYXRmb3JtcyB0byBpbmRpY2F0ZQorICAgICAgICB0aGF0IGEgcGFydGlj
dWxhciBvYmplY3Qgc2hvdWxkIG5vdCBiZSBpZ25vcmVkLCBzbyB0aGF0IHRoZXkgY2FuCisgICAg
ICAgIHNwZWNpZnkgdGhhdCBhbiBvYmplY3Qgc2hvdWxkIGJlIGlnbm9yZWQgb3IgdGhhdCBpdCBz
aG91bGQgYmUgbGVmdCB1cAorICAgICAgICB0byB0aGUgZGVmYXVsdCBoYW5kbGluZyB0byBkZWNp
ZGUuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FjY2Vzc2liaWxpdHlPYmplY3RDaHJvbWl1
bS5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0
ay5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1h
Yy5tbToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5j
cHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS93aW4vQWNjZXNzaWJpbGl0eU9iamVjdFdpbi5j
cHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS93eC9BY2Nlc3NpYmlsaXR5T2JqZWN0V3guY3Bw
OgorICAgICAgICAoQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5j
bHVkZXNPYmplY3QpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKToKKworCiAyMDA5LTEwLTI2ICBLZWlzaGkgSGF0dG9yaSAgPGNhc2V5
LmhhdHRvcmlAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hl
ci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmggYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDYy
MTEyOTMuLmYwZGRhNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5T2JqZWN0LmgKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaApAQCAtMTg4LDYgKzE4OCwxMiBAQCBlbnVtIEFjY2Vzc2liaWxpdHlPcmllbnRhdGlv
biB7CiAgICAgQWNjZXNzaWJpbGl0eU9yaWVudGF0aW9uSG9yaXpvbnRhbCwKIH07CiAgICAgCitl
bnVtIEFjY2Vzc2liaWxpdHlPYmplY3RQbGF0Zm9ybUluY2x1c2lvbiB7CisgICAgSW5jbHVkZU9i
amVjdCwKKyAgICBJZ25vcmVPYmplY3QsCisgICAgRGVmYXVsdEJlaGF2aW9yLAorfTsKKwogc3Ry
dWN0IFZpc2libGVQb3NpdGlvblJhbmdlIHsKIAogICAgIFZpc2libGVQb3NpdGlvbiBzdGFydDsK
QEAgLTQ1OSwxMSArNDY1LDExIEBAIHB1YmxpYzoKICAgICBib29sIGFjY2Vzc2liaWxpdHlJZ25v
cmVBdHRhY2htZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCiAKLSAgICAvLyBn
aXZlcyBwbGF0Zm9ybXMgdGhlIG9wcG9ydHVuaXR5IHRvIGluZGljYXRlIHRoYXQgYW4gb2JqZWN0
IHNob3VsZG4ndCBiZSBpZ25vcmVkCisgICAgLy8gZ2l2ZXMgcGxhdGZvcm1zIHRoZSBvcHBvcnR1
bml0eSB0byBpbmRpY2F0ZSBpZiBhbmQgaG93IGFuIG9iamVjdCBzaG91bGQgYmUgaW5jbHVkZWQK
ICNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCi0gICAgYm9vbCBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1J
bmNsdWRlc09iamVjdCgpIGNvbnN0OworICAgIEFjY2Vzc2liaWxpdHlPYmplY3RQbGF0Zm9ybUlu
Y2x1c2lvbiBhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0OwogI2Vs
c2UKLSAgICBib29sIGFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNp
b24gYWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBE
ZWZhdWx0QmVoYXZpb3I7IH0KICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3Np
YmlsaXR5T2JqZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
IGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmlu
ZGV4IDQwNzI1NDEuLjlmMzI0MWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEyNTksOCArMTI1OSwxMiBAQCBib29s
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFyaWFJc0hpZGRlbigpIGNvbnN0CiBib29sIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAog
ewogICAgIC8vIGlzIHRoZSBwbGF0Zm9ybSBpcyBpbnRlcmVzdGVkIGluIHRoaXMgb2JqZWN0Pwot
ICAgIGlmIChhY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpKQorICAgIEFjY2Vz
c2liaWxpdHlPYmplY3RQbGF0Zm9ybUluY2x1c2lvbiBkZWNpc2lvbiA9IGFjY2Vzc2liaWxpdHlQ
bGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCk7CisgICAgaWYgKGRlY2lzaW9uID09IEluY2x1ZGVPYmpl
Y3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZGVjaXNpb24gPT0gSWdub3JlT2Jq
ZWN0KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAvLyB0aGUgZGVjaXNpb24gbXVzdCwgdGhl
cmVmb3JlLCBiZSBEZWZhdWx0QmVoYXZpb3IuCiAKICAgICAvLyBpZ25vcmUgaW52aXNpYmxlIGVs
ZW1lbnQKICAgICBpZiAoIW1fcmVuZGVyZXIgfHwgbV9yZW5kZXJlci0+c3R5bGUoKS0+dmlzaWJp
bGl0eSgpICE9IFZJU0lCTEUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hy
b21pdW0vQWNjZXNzaWJpbGl0eU9iamVjdENocm9taXVtLmNwcCBiL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwCmluZGV4IGM5YTUx
YmEuLjdhYjdkNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwCkBAIC0zNCw5ICszNCw5
IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlnbm9yZUF0dGFjaG1l
bnQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRlc09iamVjdCgpIGNvbnN0CitBY2Nlc3Np
YmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNz
aWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAogewotICAgIHJldHVybiBmYWxz
ZTsKKyAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9yOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlP
YmplY3RBdGsuY3BwIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0QXRrLmNwcAppbmRleCAzNjY0ZjFiLi4wY2QyMjRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKQEAgLTMyLDE3ICsz
MiwxNyBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRh
Y2htZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0
eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAorQWNj
ZXNzaWJpbGl0eU9iamVjdFBsYXRmb3JtSW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFj
Y2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKIHsKICAgICAvLyBXaGVu
IGEgbGlzdCBpdGVtIGlzIG1hZGUgdXAgZW50aXJlbHkgb2YgY2hpbGRyZW4gKGUuZy4gcGFyYWdy
YXBocykKICAgICAvLyB0aGUgbGlzdCBpdGVtIGdldHMgaWdub3JlZC4gV2UgbmVlZCBpdC4KICAg
ICBpZiAoaXNHcm91cCgpKSB7CiAgICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9
IHBhcmVudE9iamVjdCgpOwogICAgICAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aXNMaXN0KCkp
Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBJbmNsdWRlT2Jq
ZWN0OwogICAgIH0KIAotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gRGVmYXVsdEJlaGF2
aW9yOwogfQogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogQWNjZXNzaWJpbGl0eU9iamVj
dDo6d3JhcHBlcigpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0gYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0Fj
Y2Vzc2liaWxpdHlPYmplY3RNYWMubW0KaW5kZXggZDc5ZTJlYy4uMjE3YWY1NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCisr
KyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQpA
QCAtNDEsOSArNDEsOSBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJ
Z25vcmVBdHRhY2htZW50KCkgY29uc3QKICAgICByZXR1cm4gW2F0dGFjaG1lbnQgYWNjZXNzaWJp
bGl0eUlzSWdub3JlZF07CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJp
bGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdAorQWNjZXNzaWJpbGl0eU9iamVjdFBs
YXRmb3JtSW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9y
bUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJu
IERlZmF1bHRCZWhhdmlvcjsKIH0KICAgICAKIH0gLy8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L3F0L0FjY2Vzc2liaWxpdHlPYmplY3RRdC5jcHAgYi9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvcXQvQWNjZXNzaWJpbGl0eU9iamVjdFF0LmNwcAppbmRleCA4NzA1YmMw
Li4wN2YxM2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvcXQvQWNjZXNzaWJp
bGl0eU9iamVjdFF0LmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvcXQvQWNjZXNzaWJp
bGl0eU9iamVjdFF0LmNwcApAQCAtMjksOSArMjksOSBAQCBib29sIEFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3Jt
SW5jbHVkZXNPYmplY3QoKSBjb25zdAorQWNjZXNzaWJpbGl0eU9iamVjdFBsYXRmb3JtSW5jbHVz
aW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2Jq
ZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIERlZmF1bHRCZWhh
dmlvcjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L3dpbi9BY2Nlc3NpYmlsaXR5T2JqZWN0V2luLmNwcCBiL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS93aW4vQWNjZXNzaWJpbGl0eU9iamVjdFdpbi5jcHAKaW5kZXggMmY4NzU2YS4u
ODk1ZmM0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BY2Nlc3NpYmls
aXR5T2JqZWN0V2luLmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FjY2Vzc2li
aWxpdHlPYmplY3RXaW4uY3BwCkBAIC0zNSw5ICszNSw5IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9i
amVjdDo6YWNjZXNzaWJpbGl0eUlnbm9yZUF0dGFjaG1lbnQoKSBjb25zdAogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZv
cm1JbmNsdWRlc09iamVjdCgpIGNvbnN0CitBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNs
dXNpb24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNP
YmplY3QoKSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gRGVmYXVsdEJl
aGF2aW9yOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvd3gvQWNjZXNzaWJpbGl0eU9iamVjdFd4LmNwcCBiL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS93eC9BY2Nlc3NpYmlsaXR5T2JqZWN0V3guY3BwCmluZGV4IDg3MDViYzAuLjA3
ZjEzZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93eC9BY2Nlc3NpYmlsaXR5
T2JqZWN0V3guY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93eC9BY2Nlc3NpYmlsaXR5
T2JqZWN0V3guY3BwCkBAIC0yOSw5ICsyOSw5IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6
YWNjZXNzaWJpbGl0eUlnbm9yZUF0dGFjaG1lbnQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsK
IH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNs
dWRlc09iamVjdCgpIGNvbnN0CitBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNpb24g
QWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3Qo
KSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9y
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41950</attachid>
            <date>2009-10-27 06:52:51 -0700</date>
            <delta_ts>2009-10-28 03:20:26 -0700</delta_ts>
            <desc>textcontrolsatk.diff</desc>
            <filename>textcontrolsatk.diff</filename>
            <type>text/plain</type>
            <size>7968</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA4OGU4M2U2OTQwNTczNjFiY2ZmNTk2ZjhhMjYxMWI5Y2UwZmVhNDViIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDI3IE9jdCAyMDA5IDE1OjUxOjEwICswMjAwClN1YmplY3Q6IFtQQVRDSF0gV2ViQ29yZToK
CjIwMDktMTAtMjcgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgW0d0a10gRXh0cmFuZW91cyBvYmplY3Qg
b2YgUk9MRV9QQU5FTCBpbiBoaWVyYXJjaHkgZm9yIGVudHJpZXMKICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4OTcKCiAgICAgICAgTWFrZSB0ZXh0IGNv
bnRyb2xzIGFsd2F5cyBpbXBsZW1lbnQgdGhlIHRleHQgaW50ZXJmYWNlLCBhbmQgdGhlCiAgICAg
ICAgZWRpdGFibGUgdGV4dCBpbnRlcmZhY2Ugd2hlbiB0aGV5IGFyZSBub3QgcmVhZCBvbmx5LiBU
aGlzIGlzIHdoYXQKICAgICAgICBBVEstdXNlcnMgZXhwZWN0LgoKICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDoKICAgICAgICAoZ2V0
SW50ZXJmYWNlTWFza0Zyb21PYmplY3QpOgoKV2ViS2l0L2d0azoKCjIwMDktMTAtMjcgIFhhbiBM
b3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KCiAgICAgICAgW0d0a10gRXh0cmFuZW91cyBvYmplY3Qgb2YgUk9MRV9QQU5FTCBpbiBo
aWVyYXJjaHkgZm9yIGVudHJpZXMKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjU4OTcKCiAgICAgICAgVXBkYXRlIHRlc3QgdG8gYWxzbyBjaGVjayB0aGF0
IGVudHJpZXMgaW1wbGVtZW50IHRoZSBBdGtUZXh0CiAgICAgICAgaW50ZXJmYWNlLgoKICAgICAg
ICAqIHRlc3RzL3Rlc3RhdGsuYzoKICAgICAgICAocnVuX2dldF90ZXh0X3Rlc3RzKToKICAgICAg
ICAodGVzdF93ZWJraXRfYXRrX2dldF90ZXh0X2F0X29mZnNldF9mb3Jtcyk6CiAgICAgICAgKHRl
c3Rfd2Via2l0X2F0a19nZXRfdGV4dF9hdF9vZmZzZXQpOgogICAgICAgIChtYWluKToKLS0tCiBX
ZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQg
KysrCiAuLi4vZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcCAgICAgICAgICB8
ICAgIDggKy0KIFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAxNiArKysKIFdlYktpdC9ndGsvdGVzdHMvdGVzdGF0ay5jICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICA5NyArKysrKysrKysrKysrKy0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAx
MDEgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4M2U5YTM3Li41M2UzYjdmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDA5LTEwLTI3ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBFeHRy
YW5lb3VzIG9iamVjdCBvZiBST0xFX1BBTkVMIGluIGhpZXJhcmNoeSBmb3IgZW50cmllcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4OTcKKworICAg
ICAgICBNYWtlIHRleHQgY29udHJvbHMgYWx3YXlzIGltcGxlbWVudCB0aGUgdGV4dCBpbnRlcmZh
Y2UsIGFuZCB0aGUKKyAgICAgICAgZWRpdGFibGUgdGV4dCBpbnRlcmZhY2Ugd2hlbiB0aGV5IGFy
ZSBub3QgcmVhZCBvbmx5LiBUaGlzIGlzIHdoYXQKKyAgICAgICAgQVRLLXVzZXJzIGV4cGVjdC4K
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QXRrLmNwcDoKKyAgICAgICAgKGdldEludGVyZmFjZU1hc2tGcm9tT2JqZWN0KToKKwogMjAwOS0x
MC0yNyAgSm9hbm1hcmllIERpZ2dzICA8am9hbm1hcmllLmRpZ2dzQGdtYWlsLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcCBiL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCmluZGV4IDhm
ZDViNDAuLjIzMjFiZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCkBAIC0xMjMwLDExICsxMjMw
LDkgQEAgc3RhdGljIGd1aW50MTYgZ2V0SW50ZXJmYWNlTWFza0Zyb21PYmplY3QoQWNjZXNzaWJp
bGl0eU9iamVjdCogY29yZU9iamVjdCkKIAogICAgIGlmIChyb2xlID09IFN0YXRpY1RleHRSb2xl
KQogICAgICAgICBpbnRlcmZhY2VNYXNrIHw9IDEgPDwgV0FJX1RFWFQ7Ci0KLSAgICBpZiAoY29y
ZU9iamVjdC0+aXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkgJiYgY29yZU9iamVjdC0+aXNU
ZXh0Q29udHJvbCgpKSB7Ci0gICAgICAgIGlmIChjb3JlT2JqZWN0LT5pc1JlYWRPbmx5KCkpCi0g
ICAgICAgICAgICBpbnRlcmZhY2VNYXNrIHw9IDEgPDwgV0FJX1RFWFQ7Ci0gICAgICAgIGVsc2UK
KyAgICBlbHNlIGlmIChjb3JlT2JqZWN0LT5pc0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QoKSAm
JiBjb3JlT2JqZWN0LT5pc1RleHRDb250cm9sKCkpIHsKKyAgICAgICAgaW50ZXJmYWNlTWFzayB8
PSAxIDw8IFdBSV9URVhUOworICAgICAgICBpZiAoIWNvcmVPYmplY3QtPmlzUmVhZE9ubHkoKSkK
ICAgICAgICAgICAgIGludGVyZmFjZU1hc2sgfD0gMSA8PCBXQUlfRURJVEFCTEVfVEVYVDsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKaW5kZXggNmVmZWRiMi4uMDQwYjU4YiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0x
MC0yNyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0d0a10gRXh0cmFuZW91cyBvYmplY3Qgb2Yg
Uk9MRV9QQU5FTCBpbiBoaWVyYXJjaHkgZm9yIGVudHJpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODk3CisKKyAgICAgICAgVXBkYXRlIHRlc3Qg
dG8gYWxzbyBjaGVjayB0aGF0IGVudHJpZXMgaW1wbGVtZW50IHRoZSBBdGtUZXh0CisgICAgICAg
IGludGVyZmFjZS4KKworICAgICAgICAqIHRlc3RzL3Rlc3RhdGsuYzoKKyAgICAgICAgKHJ1bl9n
ZXRfdGV4dF90ZXN0cyk6CisgICAgICAgICh0ZXN0X3dlYmtpdF9hdGtfZ2V0X3RleHRfYXRfb2Zm
c2V0X2Zvcm1zKToKKyAgICAgICAgKHRlc3Rfd2Via2l0X2F0a19nZXRfdGV4dF9hdF9vZmZzZXQp
OgorICAgICAgICAobWFpbik6CisKIDIwMDktMTAtMjYgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAg
PGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgVW5yZXZpZXdlZC4g
VXBkYXRlIGRvY3VtZW50YXRpb24gY29udHJvbCBmaWxlcyBmb3IgMS4xLjE2LgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2d0ay90ZXN0cy90ZXN0YXRrLmMgYi9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsu
YwppbmRleCAzOTEwMzQ3Li5iOGE4YzUwIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3Rlc3RzL3Rl
c3RhdGsuYworKysgYi9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RhdGsuYwpAQCAtNTAsMzYgKzUwLDkg
QEAgc3RhdGljIHZvaWQgdGVzdF9nZXRfdGV4dF9mdW5jdGlvbihBdGtUZXh0KiB0ZXh0X29iaiwg
QXRrR2V0VGV4dEZ1bmN0aW9uIGZuLCBBdGsKICAgICBnX2ZyZWUodGV4dCk7CiB9CiAKLXN0YXRp
YyB2b2lkIHRlc3Rfd2Via2l0X2F0a19nZXRfdGV4dF9hdF9vZmZzZXQodm9pZCkKK3N0YXRpYyB2
b2lkIHJ1bl9nZXRfdGV4dF90ZXN0cyhBdGtUZXh0KiB0ZXh0X29iaikKIHsKLSAgICBXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3OwotICAgIEF0a09iamVjdCAqb2JqOwotICAgIEdNYWluTG9vcCogbG9v
cDsKLSAgICBBdGtUZXh0KiB0ZXh0X29iajsKLSAgICBjaGFyKiB0ZXh0OwotCi0gICAgd2ViVmll
dyA9IFdFQktJVF9XRUJfVklFVyh3ZWJraXRfd2ViX3ZpZXdfbmV3KCkpOwotICAgIGdfb2JqZWN0
X3JlZl9zaW5rKHdlYlZpZXcpOwotICAgIEd0a0FsbG9jYXRpb24gYWxsb2MgPSB7IDAsIDAsIDgw
MCwgNjAwIH07Ci0gICAgZ3RrX3dpZGdldF9zaXplX2FsbG9jYXRlKEdUS19XSURHRVQod2ViVmll
dyksICZhbGxvYyk7Ci0gICAgd2Via2l0X3dlYl92aWV3X2xvYWRfc3RyaW5nKHdlYlZpZXcsIGNv
bnRlbnRzLCBOVUxMLCBOVUxMLCBOVUxMKTsKLSAgICBsb29wID0gZ19tYWluX2xvb3BfbmV3KE5V
TEwsIFRSVUUpOwotCi0gICAgZ190aW1lb3V0X2FkZCgxMDAsIChHU291cmNlRnVuYyliYWlsX291
dCwgbG9vcCk7Ci0gICAgZ19tYWluX2xvb3BfcnVuKGxvb3ApOwotCi0gICAgLyogR2V0IHRvIHRo
ZSBpbm5lciBBdGtUZXh0IG9iamVjdCAqLwotICAgIG9iaiA9IGd0a193aWRnZXRfZ2V0X2FjY2Vz
c2libGUoR1RLX1dJREdFVCh3ZWJWaWV3KSk7Ci0gICAgZ19hc3NlcnQob2JqKTsKLSAgICBvYmog
PSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG9iaiwgMCk7Ci0gICAgZ19hc3NlcnQo
b2JqKTsKLSAgICBvYmogPSBhdGtfb2JqZWN0X3JlZl9hY2Nlc3NpYmxlX2NoaWxkKG9iaiwgMCk7
Ci0gICAgZ19hc3NlcnQob2JqKTsKLQotICAgIHRleHRfb2JqID0gQVRLX1RFWFQob2JqKTsKLSAg
ICBnX2Fzc2VydChBVEtfSVNfVEVYVCh0ZXh0X29iaikpOwotCi0gICAgdGV4dCA9IGF0a190ZXh0
X2dldF90ZXh0KHRleHRfb2JqLCAwLCAtMSk7CisgICAgY2hhciogdGV4dCA9IGF0a190ZXh0X2dl
dF90ZXh0KHRleHRfb2JqLCAwLCAtMSk7CiAgICAgZ19hc3NlcnRfY21wc3RyKHRleHQsID09LCAi
VGhpcyBpcyBhIHRlc3QuIFRoaXMgaXMgdGhlIHNlY29uZCBzZW50ZW5jZS4gQW5kIHRoaXMgdGhl
IHRoaXJkLiIpOwogICAgIGdfZnJlZSh0ZXh0KTsKIApAQCAtMjE4LDYgKzE5MSw3MSBAQCBzdGF0
aWMgdm9pZCB0ZXN0X3dlYmtpdF9hdGtfZ2V0X3RleHRfYXRfb2Zmc2V0KHZvaWQpCiAgICAgLyog
QVRLX1RFWFRfQk9VTkRBUllfTElORV9FTkQgKi8KICAgICB0ZXN0X2dldF90ZXh0X2Z1bmN0aW9u
KHRleHRfb2JqLCBhdGtfdGV4dF9nZXRfdGV4dF9hdF9vZmZzZXQsIEFUS19URVhUX0JPVU5EQVJZ
X0xJTkVfRU5ELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgIlRoaXMgaXMgYSB0ZXN0
LiBUaGlzIGlzIHRoZSBzZWNvbmQgc2VudGVuY2UuIEFuZCB0aGlzIHRoZSB0aGlyZC4iLCAwLCA2
NCk7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3Rfd2Via2l0X2F0a19nZXRfdGV4dF9hdF9vZmZzZXRf
Zm9ybXModm9pZCkKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3OworICAgIEF0a09iamVj
dCAqb2JqOworICAgIEdNYWluTG9vcCogbG9vcDsKKyAgICBBdGtUZXh0KiB0ZXh0X29iajsKKwor
ICAgIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKKyAg
ICBnX29iamVjdF9yZWZfc2luayh3ZWJWaWV3KTsKKyAgICBHdGtBbGxvY2F0aW9uIGFsbG9jID0g
eyAwLCAwLCA4MDAsIDYwMCB9OworICAgIGd0a193aWRnZXRfc2l6ZV9hbGxvY2F0ZShHVEtfV0lE
R0VUKHdlYlZpZXcpLCAmYWxsb2MpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX3N0cmluZyh3
ZWJWaWV3LCBjb250ZW50cywgTlVMTCwgTlVMTCwgTlVMTCk7CisgICAgbG9vcCA9IGdfbWFpbl9s
b29wX25ldyhOVUxMLCBUUlVFKTsKKworICAgIGdfdGltZW91dF9hZGQoMTAwLCAoR1NvdXJjZUZ1
bmMpYmFpbF9vdXQsIGxvb3ApOworICAgIGdfbWFpbl9sb29wX3J1bihsb29wKTsKKworICAgIC8q
IEdldCB0byB0aGUgaW5uZXIgQXRrVGV4dCBvYmplY3QgKi8KKyAgICBvYmogPSBndGtfd2lkZ2V0
X2dldF9hY2Nlc3NpYmxlKEdUS19XSURHRVQod2ViVmlldykpOworICAgIGdfYXNzZXJ0KG9iaik7
CisgICAgb2JqID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmosIDApOworICAg
IGdfYXNzZXJ0KG9iaik7CisgICAgb2JqID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGls
ZChvYmosIDApOworICAgIGdfYXNzZXJ0KG9iaik7CisKKyAgICB0ZXh0X29iaiA9IEFUS19URVhU
KG9iaik7CisvLyAgICBnX2Fzc2VydChBVEtfSVNfRURJVEFCTEVfVEVYVCh0ZXh0X29iaikpOwor
ICAgIGdfYXNzZXJ0KEFUS19JU19URVhUKHRleHRfb2JqKSk7CisKKyAgICBydW5fZ2V0X3RleHRf
dGVzdHModGV4dF9vYmopOworCisgICAgZ19vYmplY3RfdW5yZWYod2ViVmlldyk7Cit9CisKK3N0
YXRpYyB2b2lkIHRlc3Rfd2Via2l0X2F0a19nZXRfdGV4dF9hdF9vZmZzZXQodm9pZCkKK3sKKyAg
ICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3OworICAgIEF0a09iamVjdCAqb2JqOworICAgIEdNYWlu
TG9vcCogbG9vcDsKKyAgICBBdGtUZXh0KiB0ZXh0X29iajsKKworICAgIHdlYlZpZXcgPSBXRUJL
SVRfV0VCX1ZJRVcod2Via2l0X3dlYl92aWV3X25ldygpKTsKKyAgICBnX29iamVjdF9yZWZfc2lu
ayh3ZWJWaWV3KTsKKyAgICBHdGtBbGxvY2F0aW9uIGFsbG9jID0geyAwLCAwLCA4MDAsIDYwMCB9
OworICAgIGd0a193aWRnZXRfc2l6ZV9hbGxvY2F0ZShHVEtfV0lER0VUKHdlYlZpZXcpLCAmYWxs
b2MpOworICAgIHdlYmtpdF93ZWJfdmlld19sb2FkX3N0cmluZyh3ZWJWaWV3LCBjb250ZW50cywg
TlVMTCwgTlVMTCwgTlVMTCk7CisgICAgbG9vcCA9IGdfbWFpbl9sb29wX25ldyhOVUxMLCBUUlVF
KTsKKworICAgIGdfdGltZW91dF9hZGQoMTAwLCAoR1NvdXJjZUZ1bmMpYmFpbF9vdXQsIGxvb3Ap
OworICAgIGdfbWFpbl9sb29wX3J1bihsb29wKTsKKworICAgIC8qIEdldCB0byB0aGUgaW5uZXIg
QXRrVGV4dCBvYmplY3QgKi8KKyAgICBvYmogPSBndGtfd2lkZ2V0X2dldF9hY2Nlc3NpYmxlKEdU
S19XSURHRVQod2ViVmlldykpOworICAgIGdfYXNzZXJ0KG9iaik7CisgICAgb2JqID0gYXRrX29i
amVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmosIDApOworICAgIGdfYXNzZXJ0KG9iaik7Cisg
ICAgb2JqID0gYXRrX29iamVjdF9yZWZfYWNjZXNzaWJsZV9jaGlsZChvYmosIDApOworICAgIGdf
YXNzZXJ0KG9iaik7CisKKyAgICB0ZXh0X29iaiA9IEFUS19URVhUKG9iaik7CisgICAgZ19hc3Nl
cnQoQVRLX0lTX1RFWFQodGV4dF9vYmopKTsKKworICAgIHJ1bl9nZXRfdGV4dF90ZXN0cyh0ZXh0
X29iaik7CiAKICAgICBnX29iamVjdF91bnJlZih3ZWJWaWV3KTsKIH0KQEAgLTIyOSw2ICsyNjcs
NyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAKICAgICBnX3Rlc3RfYnVnX2Jh
c2UoImh0dHBzOi8vYnVncy53ZWJraXQub3JnLyIpOwogICAgIGdfdGVzdF9hZGRfZnVuYygiL3dl
YmtpdC9hdGsvZ2V0X3RleHRfYXRfb2Zmc2V0IiwgdGVzdF93ZWJraXRfYXRrX2dldF90ZXh0X2F0
X29mZnNldCk7CisgICAgZ190ZXN0X2FkZF9mdW5jKCIvd2Via2l0L2F0ay9nZXRfdGV4dF9hdF9v
ZmZzZXRfZm9ybXMiLCB0ZXN0X3dlYmtpdF9hdGtfZ2V0X3RleHRfYXRfb2Zmc2V0X2Zvcm1zKTsK
ICAgICByZXR1cm4gZ190ZXN0X3J1biAoKTsKIH0KIAotLSAKMS42LjUuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42052</attachid>
            <date>2009-10-28 13:32:13 -0700</date>
            <delta_ts>2009-10-28 13:57:04 -0700</delta_ts>
            <desc>Remove the extraneous panel</desc>
            <filename>25897-panel</filename>
            <type>text/plain</type>
            <size>2470</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAwM2ZlMDMxYmY2ZThkNWRiYmZlODFhN2RhNmFjYmY5N2JmNjNkYTk3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFdlZCwgMjggT2N0IDIwMDkgMTM6NTY6MDMgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTg5NwpbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BB
TkVMIGluIGhpZXJhcmNoeSBmb3IgZW50cmllcwoKUmVtb3ZlIHRoZSBleHRyYW5lb3VzIG9iamVj
dCBvZiBST0xFX1BBTkVMLgoKKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0
QXRrLmNwcDoKKEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1
ZGVzT2JqZWN0KToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTIgKysrKysrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9ndGsvQWNj
ZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgICB8ICAgMTUgKysrKysrKysrKy0tLS0tCiAyIGZpbGVz
IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMzg3YTg3Li44OGIy
MjczIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDA5LTEwLTI4ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFy
aWUuZGlnZ3NAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTg5
NworICAgICAgICBbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BBTkVMIGluIGhpZXJh
cmNoeSBmb3IgZW50cmllcworCisgICAgICAgIFJlbW92ZSB0aGUgZXh0cmFuZW91cyBvYmplY3Qg
b2YgUk9MRV9QQU5FTC4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxp
dHlPYmplY3RBdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJp
bGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QpOgorCiAyMDA5LTEwLTI4ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkg
SGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJp
bGl0eU9iamVjdEF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxp
dHlPYmplY3RBdGsuY3BwCmluZGV4IDBjZDIyNGQuLmVkMDgwYWQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKKysrIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMzQs
MTMgKzM0LDE4IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlnbm9y
ZUF0dGFjaG1lbnQoKSBjb25zdAogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNp
b24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmpl
Y3QoKSBjb25zdAogeworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IHBhcmVudE9i
amVjdCgpOworICAgIGlmIChub3QgcGFyZW50KQorICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2
aW9yOworCiAgICAgLy8gV2hlbiBhIGxpc3QgaXRlbSBpcyBtYWRlIHVwIGVudGlyZWx5IG9mIGNo
aWxkcmVuIChlLmcuIHBhcmFncmFwaHMpCiAgICAgLy8gdGhlIGxpc3QgaXRlbSBnZXRzIGlnbm9y
ZWQuIFdlIG5lZWQgaXQuCi0gICAgaWYgKGlzR3JvdXAoKSkgewotICAgICAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBwYXJlbnQgPSBwYXJlbnRPYmplY3QoKTsKLSAgICAgICAgaWYgKHBhcmVudCAm
JiBwYXJlbnQtPmlzTGlzdCgpKQotICAgICAgICAgICAgcmV0dXJuIEluY2x1ZGVPYmplY3Q7Ci0g
ICAgfQorICAgIGlmIChpc0dyb3VwKCkgJiYgcGFyZW50LT5pc0xpc3QoKSkKKyAgICAgICAgcmV0
dXJuIEluY2x1ZGVPYmplY3Q7CisKKyAgICAvLyBFbnRyaWVzIGFuZCBwYXNzd29yZCBmaWVsZHMg
aGF2ZSBleHRyYW5lb3VzIGNoaWxkcmVuIHdoaWNoIHdlIHdhbnQgdG8gaWdub3JlLgorICAgIGlm
IChwYXJlbnQtPmlzUGFzc3dvcmRGaWVsZCgpIHx8IHBhcmVudC0+aXNUZXh0Q29udHJvbCgpKQor
ICAgICAgICByZXR1cm4gSWdub3JlT2JqZWN0OwogCiAgICAgcmV0dXJuIERlZmF1bHRCZWhhdmlv
cjsKIH0KLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="23550"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42053</attachid>
            <date>2009-10-28 13:57:04 -0700</date>
            <delta_ts>2009-10-28 14:36:47 -0700</delta_ts>
            <desc>Remove the extraneous panel - Take 2</desc>
            <filename>25897-panel-2</filename>
            <type>text/plain</type>
            <size>2467</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">RnJvbSAxYzUwODgwNjgyZGZkYTNjODJlMTM4NDcyMDgyOTllMWIxNGE4MGNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FubWFyaWUgRGlnZ3MgPGpvYW5tYXJpZS5kaWdnc0BnbWFp
bC5jb20+CkRhdGU6IFdlZCwgMjggT2N0IDIwMDkgMTM6NTY6MDMgLTA0MDAKU3ViamVjdDogW1BB
VENIXSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTg5NwpbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BB
TkVMIGluIGhpZXJhcmNoeSBmb3IgZW50cmllcwoKUmVtb3ZlIHRoZSBleHRyYW5lb3VzIG9iamVj
dCBvZiBST0xFX1BBTkVMLgoKKiBhY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0
QXRrLmNwcDoKKEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlQbGF0Zm9ybUluY2x1
ZGVzT2JqZWN0KToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTIgKysrKysrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9ndGsvQWNj
ZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgICB8ICAgMTUgKysrKysrKysrKy0tLS0tCiAyIGZpbGVz
IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMzg3YTg3Li44OGIy
MjczIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDA5LTEwLTI4ICBKb2FubWFyaWUgRGlnZ3MgIDxqb2FubWFy
aWUuZGlnZ3NAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTg5
NworICAgICAgICBbR3RrXSBFeHRyYW5lb3VzIG9iamVjdCBvZiBST0xFX1BBTkVMIGluIGhpZXJh
cmNoeSBmb3IgZW50cmllcworCisgICAgICAgIFJlbW92ZSB0aGUgZXh0cmFuZW91cyBvYmplY3Qg
b2YgUk9MRV9QQU5FTC4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxp
dHlPYmplY3RBdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJp
bGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QpOgorCiAyMDA5LTEwLTI4ICBQYXZlbCBGZWxkbWFu
ICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkg
SGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJp
bGl0eU9iamVjdEF0ay5jcHAgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxp
dHlPYmplY3RBdGsuY3BwCmluZGV4IDBjZDIyNGQuLjdmZDU5YWMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKKysrIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMzQs
MTMgKzM0LDE4IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eUlnbm9y
ZUF0dGFjaG1lbnQoKSBjb25zdAogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0UGxhdGZvcm1JbmNsdXNp
b24gQWNjZXNzaWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmpl
Y3QoKSBjb25zdAogeworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IHBhcmVudE9i
amVjdCgpOworICAgIGlmICghcGFyZW50KQorICAgICAgICByZXR1cm4gRGVmYXVsdEJlaGF2aW9y
OworCiAgICAgLy8gV2hlbiBhIGxpc3QgaXRlbSBpcyBtYWRlIHVwIGVudGlyZWx5IG9mIGNoaWxk
cmVuIChlLmcuIHBhcmFncmFwaHMpCiAgICAgLy8gdGhlIGxpc3QgaXRlbSBnZXRzIGlnbm9yZWQu
IFdlIG5lZWQgaXQuCi0gICAgaWYgKGlzR3JvdXAoKSkgewotICAgICAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBwYXJlbnQgPSBwYXJlbnRPYmplY3QoKTsKLSAgICAgICAgaWYgKHBhcmVudCAmJiBw
YXJlbnQtPmlzTGlzdCgpKQotICAgICAgICAgICAgcmV0dXJuIEluY2x1ZGVPYmplY3Q7Ci0gICAg
fQorICAgIGlmIChpc0dyb3VwKCkgJiYgcGFyZW50LT5pc0xpc3QoKSkKKyAgICAgICAgcmV0dXJu
IEluY2x1ZGVPYmplY3Q7CisKKyAgICAvLyBFbnRyaWVzIGFuZCBwYXNzd29yZCBmaWVsZHMgaGF2
ZSBleHRyYW5lb3VzIGNoaWxkcmVuIHdoaWNoIHdlIHdhbnQgdG8gaWdub3JlLgorICAgIGlmIChw
YXJlbnQtPmlzUGFzc3dvcmRGaWVsZCgpIHx8IHBhcmVudC0+aXNUZXh0Q29udHJvbCgpKQorICAg
ICAgICByZXR1cm4gSWdub3JlT2JqZWN0OwogCiAgICAgcmV0dXJuIERlZmF1bHRCZWhhdmlvcjsK
IH0KLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>