<?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>30955</bug_id>
          
          <creation_ts>2009-10-30 10:17:10 -0700</creation_ts>
          <short_desc>REGRESSION: In Mail, Undo does not restore some characters I have deleted at the end of a line</short_desc>
          <delta_ts>2009-10-30 15:09:24 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>adele</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>159336</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-10-30 10:17:10 -0700</bug_when>
    <thetext>* STEPS TO REPRODUCE
1. Create a new message in any Webmail application
2. Type the following without using backspace to correct any words (the exact words are not important)

one two three four five six seven

3. Delete the last word or two using alt+shift+delete without moving the insertion point (without using arrow keys), so you have this:

one two three four five

4. Undo (CMD+Z)

* RESULTS
the entire content is erased
* EXPECTED
the delete word is restored</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159342</commentid>
    <comment_count>1</comment_count>
      <attachid>42215</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-10-30 10:24:48 -0700</bug_when>
    <thetext>Created attachment 42215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159344</commentid>
    <comment_count>2</comment_count>
      <attachid>42215</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-30 10:27:09 -0700</bug_when>
    <thetext>Comment on attachment 42215
Patch

&gt; -    if (isOpenForMoreTypingCommand(lastEditCommand)) {
&gt; +    if (!killRing &amp;&amp; isOpenForMoreTypingCommand(lastEditCommand)) {

It&apos;s not correct to use the killRing boolean for this. That has a specific meaning, and it just happens to be set in the appropriate cases. I would like to see a new patch that does this in some logically consistent way.

One possibility would be to continue to use this boolean and rename it to reflect its new meaning.

Another possibility would be to add some other argument or mechanism for controlling whether new keys are added to the existing typing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159354</commentid>
    <comment_count>3</comment_count>
      <attachid>42215</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2009-10-30 10:38:48 -0700</bug_when>
    <thetext>Comment on attachment 42215
Patch

One more comment- I think you can use layoutTestController.dumpAsText() in this test.  I don&apos;t think you need the full RenderTree in the results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159386</commentid>
    <comment_count>4</comment_count>
      <attachid>42223</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-10-30 11:56:52 -0700</bug_when>
    <thetext>Created attachment 42223
Patch2

Per Darin&apos;s suggestions, we don&apos;t the killRing flag, but instead we rely on the TextGranularity to decide whether to start a new command or not.
I&apos;ve also modified the unit test per Adele&apos;s suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159391</commentid>
    <comment_count>5</comment_count>
      <attachid>42223</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-30 12:11:04 -0700</bug_when>
    <thetext>Comment on attachment 42223
Patch2

&gt; +    if (granularity ==  CharacterGranularity &amp;&amp; isOpenForMoreTypingCommand(lastEditCommand)) {

There&apos;s an extra space here before the &quot;C&quot;.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159397</commentid>
    <comment_count>6</comment_count>
      <attachid>42226</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-10-30 12:15:10 -0700</bug_when>
    <thetext>Created attachment 42226
Patch3

New patch removing extra blank.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159471</commentid>
    <comment_count>7</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2009-10-30 15:09:24 -0700</bug_when>
    <thetext>Committed revision 50358</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42215</attachid>
            <date>2009-10-30 10:24:48 -0700</date>
            <delta_ts>2009-10-30 11:56:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug7067033.txt</filename>
            <type>text/plain</type>
            <size>16872</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDMzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTAtMzAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
RUdSRVNTSU9OOiBJbiBNYWlsLCBVbmRvIGRvZXMgbm90IHJlc3RvcmUgc29tZSBjaGFyYWN0ZXJz
IEkgaGF2ZSBkZWxldGVkIGF0IHRoZSBlbmQgb2YgYSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk1NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzA2NzAzMz4KKyAgICAgICAgCisgICAgICAgIFdoZW4gdGhlIGNvbW1hbmQgaXMgZGVsZXRl
V29yZEJhY2t3YXJkIG9yIGRlbGV0ZVdvcmRGb3J3YXJkCisgICAgICAgIHdlIHNob3VsZCBub3Qg
YWRkIHRvIHRoZSBvcGVuIHR5cGluZyBjb21tYW5kLCBidXQKKyAgICAgICAgY3JlYXRlIGEgbmV3
IG9uZS4KKyAgICAgICAgCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdv
cmQuaHRtbAorCisgICAgICAgICogZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQpOiBDaGVjayBpZiB0aGUg
Y2FsbCBvcmlnaW5hdGVkIGZyb20KKyAgICAgICAgYSBkZWxldGVXb3JkIGNvbW1hbmQuIAorICAg
ICAgICAoV2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6Zm9yd2FyZERlbGV0ZUtleVByZXNzZWQpOiBD
aGVjayBpZiB0aGUgY2FsbCBvcmlnaW5hdGVkIGZyb20KKyAgICAgICAgYSBkZWxldGVXb3JkIGNv
bW1hbmQuIAorCiAyMDA5LTEwLTMwICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KSW5kZXg6IFdlYkNv
cmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRp
bmcvVHlwaW5nQ29tbWFuZC5jcHAJKHJldmlzaW9uIDUwMzM4KQorKysgV2ViQ29yZS9lZGl0aW5n
L1R5cGluZ0NvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MCw3ICs5MCw3IEBAIHZvaWQg
VHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZChEb2MKICAgICBBU1NFUlQoZnJhbWUpOwog
ICAgIAogICAgIEVkaXRDb21tYW5kKiBsYXN0RWRpdENvbW1hbmQgPSBmcmFtZS0+ZWRpdG9yKCkt
Pmxhc3RFZGl0Q29tbWFuZCgpOwotICAgIGlmIChpc09wZW5Gb3JNb3JlVHlwaW5nQ29tbWFuZChs
YXN0RWRpdENvbW1hbmQpKSB7CisgICAgaWYgKCFraWxsUmluZyAmJiBpc09wZW5Gb3JNb3JlVHlw
aW5nQ29tbWFuZChsYXN0RWRpdENvbW1hbmQpKSB7CiAgICAgICAgIHN0YXRpY19jYXN0PFR5cGlu
Z0NvbW1hbmQqPihsYXN0RWRpdENvbW1hbmQpLT5kZWxldGVLZXlQcmVzc2VkKGdyYW51bGFyaXR5
LCBraWxsUmluZyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMDksNyArMTA5LDcgQEAg
dm9pZCBUeXBpbmdDb21tYW5kOjpmb3J3YXJkRGVsZXRlS2V5UHJlcwogICAgIEFTU0VSVChmcmFt
ZSk7CiAgICAgCiAgICAgRWRpdENvbW1hbmQqIGxhc3RFZGl0Q29tbWFuZCA9IGZyYW1lLT5lZGl0
b3IoKS0+bGFzdEVkaXRDb21tYW5kKCk7Ci0gICAgaWYgKGlzT3BlbkZvck1vcmVUeXBpbmdDb21t
YW5kKGxhc3RFZGl0Q29tbWFuZCkpIHsKKyAgICBpZiAoIWtpbGxSaW5nICYmIGlzT3BlbkZvck1v
cmVUeXBpbmdDb21tYW5kKGxhc3RFZGl0Q29tbWFuZCkpIHsKICAgICAgICAgc3RhdGljX2Nhc3Q8
VHlwaW5nQ29tbWFuZCo+KGxhc3RFZGl0Q29tbWFuZCktPmZvcndhcmREZWxldGVLZXlQcmVzc2Vk
KGdyYW51bGFyaXR5LCBraWxsUmluZyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDMzOCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE0IEBACisyMDA5LTEwLTMwICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUkVHUkVTU0lPTjogSW4gTWFpbCwgVW5kbyBkb2VzIG5vdCByZXN0b3JlIHNvbWUgY2hhcmFj
dGVycyBJIGhhdmUgZGVsZXRlZCBhdCB0aGUgZW5kIG9mIGEgbGluZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA5NTUKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcwNjcwMzM+CisgICAgICAgIAorICAgICAgICAqIGVkaXRpbmcvdW5kby91bmRvLWRl
bGV0ZVdvcmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG8vdW5k
by1kZWxldGVXb3JkLmh0bWw6IEFkZGVkLgorCiAyMDA5LTEwLTMwICBLZW5uZXRoIFJvaGRlIENo
cmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGxh
eW91dCB0ZXN0IGZpeGVzLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8tZGVs
ZXRlV29yZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91
bmRvL3VuZG8tZGVsZXRlV29yZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1kZWxldGVXb3JkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw4MyBAQAorRURJVElORyBERUxFR0FURTogc2hvdWxkQmVnaW5FZGl0aW5n
SW5ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMyBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudAorRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZEJlZ2luRWRpdGluZzpXZWJWaWV3RGlkQmVnaW5FZGl0aW5nTm90aWZpY2F0aW9u
CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG9ET01SYW5nZTpyYW5nZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAxIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxl
Y3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitFRElUSU5HIERF
TEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4
dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBE
SVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20g
MiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2Yg
I3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1Nl
bGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZp
ZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNl
bGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAzIG9mICN0ZXh0ID4gRElWID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3Ry
ZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlv
bgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBm
cm9tIDMgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAz
IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5n
ZTpyYW5nZSBmcm9tIDQgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCB0byA0IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
YWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFM
U0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBz
aG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+IERJViA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDQgb2YgI3RleHQgPiBESVYgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNSBvZiAjdGV4
dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBE
SVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFm
ZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZp
Y2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFu
Z2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9N
UmFuZ2U6cmFuZ2UgZnJvbSA1IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gNSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA2IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gNiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxs
U2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElO
RyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDYgb2Yg
I3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA2IG9mICN0ZXh0
ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBm
cm9tIDcgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA3
IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6
TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpX
ZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFu
Z2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gNyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDcgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gOCBvZiAjdGV4dCA+IERJViA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDggb2YgI3RleHQgPiBESVYgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93
bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmlj
YXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFu
Z2UgZnJvbSA4IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gOCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5n
OkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FU
RTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDkgb2YgI3RleHQgPiBE
SVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRElWID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEwIG9m
ICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTAgb2YgI3Rl
eHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDEwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDExIG9mICN0ZXh0ID4gRElWID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTEgb2YgI3RleHQgPiBESVYgPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0
cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRp
b24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAxMSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRv
IDExIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01S
YW5nZTpyYW5nZSBmcm9tIDEyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gMTIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGlu
ZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxMiBvZiAjdGV4dCA+
IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEyIG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEz
IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTMgb2Yg
I3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1Nl
bGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZp
ZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNl
bGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxMyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDEzIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDE0IG9mICN0ZXh0ID4gRElWID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTQgb2YgI3RleHQgPiBESVYgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93
bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmlj
YXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFu
Z2UgZnJvbSAxNCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDE0IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDE1IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMTUgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVj
dGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpX
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3
ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVM
RUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxNSBvZiAjdGV4
dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDE1IG9mICN0ZXh0ID4g
RElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9t
IDE2IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTYg
b2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpO
U1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldl
YlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxNiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDE2IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDE3IG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTcgb2YgI3RleHQgPiBESVYgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6
cmFuZ2UgZnJvbSAxNyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDE3IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG9ET01SYW5nZTpyYW5nZSBmcm9tIDE4IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG8gMTggb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNl
bGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcg
REVMRUdBVEU6IHNob3VsZERlbGV0ZURPTVJhbmdlOnJhbmdlIGZyb20gMTQgb2YgI3RleHQgPiBE
SVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxOCBvZiAjdGV4dCA+IERJViA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRD
aGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMTQgb2YgI3RleHQgPiBESVYgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxNCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxNCBvZiAjdGV4dCA+
IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDE0IG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZp
bml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdl
Tm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gMTQgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAxNCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxNCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDE4IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3Rp
bGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTg0CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgxMjggW2Jv
cmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDE0LDE0KSBzaXplIDc1Nng4NAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDY3eDI4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2NzogIlRl
c3RzOiAiCisgICAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyOCkgc2l6ZSA3MjV4NTYKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDI4KSB3aWR0aCA3MjU6ICJVbmRvIGEgZGVsZXRlIHdvcmQgYWZ0ZXIg
YSBzZXJpZXMgb2YgaW5zZXJ0VGV4dCBkb2VzIG5vdCB3aXBlIG91dCB0aGUgZW50aXJlIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTYpIHdpZHRoIDc4OiAiY29udGVudC4iCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxNTIpIHNpemUgNzg0eDIyCisgICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAw
MCldCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTE2eDE4Cisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxMTY6ICJvbmUgdHdvIHRocmVlIGZv
dXIiCitzZWxlY3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDE0IG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBj
aGlsZCAxIHtESVZ9IG9mIGNoaWxkIDMge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQg
MCB7SFRNTH0gb2YgZG9jdW1lbnQKK3NlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gMTggb2YgY2hp
bGQgMCB7I3RleHR9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMyB7RElWfSBvZiBjaGlsZCAx
IHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudApJbmRleDogTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvL3VuZG8tZGVsZXRlV29yZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2VkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdvcmQuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2VkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdvcmQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw5MSBAQAorPGh0bWw+IAorPGhlYWQ+CisKKzxzdHlsZT4KKy5lZGl0aW5nIHsg
CisgICAgYm9yZGVyOiAycHggc29saWQgcmVkOyAKK30KKy5leHBsYW5hdGlvbiB7IAorICAgIGJv
cmRlcjogMnB4IHNvbGlkIGJsdWU7IAorICAgIHBhZGRpbmc6IDEycHg7IAorICAgIGZvbnQtc2l6
ZTogMjRweDsgCisgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKK30KKy5zY2VuYXJpbyB7IG1hcmdp
bi1ib3R0b206IDE2cHg7fQorLnNjZW5hcmlvOmZpcnN0LWxpbmUgeyBmb250LXdlaWdodDogYm9s
ZDsgbWFyZ2luLWJvdHRvbTogMTZweDt9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Li4vZWRpdGlu
Zy5qcyBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9KYXZhU2NyaXB0IiA+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHNlbmREZWxldGVXb3JkS2V5KCkKK3sKKyAgICB2
YXIgZGVsZXRlV29yZE1vZGlmaWVyczsKKyAgICBpZiAobmF2aWdhdG9yLnVzZXJBZ2VudC5zZWFy
Y2goL1xiTWFjIE9TIFhcYi8pICE9IC0xKQorICAgICAgICBkZWxldGVXb3JkTW9kaWZpZXJzID0g
WyJhbHRLZXkiXTsKKyAgICBlbHNlCisgICAgICAgIGRlbGV0ZVdvcmRNb2RpZmllcnMgPSBbImN0
cmxLZXkiXTsKKworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSg4KSwgZGVsZXRlV29yZE1vZGlmaWVycyk7
CisgICAgd2luZG93LnNldFRpbWVvdXQodW5kb05vdywgMTAwKTsKK30KKworZnVuY3Rpb24gdW5k
b05vdygpCit7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlVuZG8iKTsKKworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZWRpdGluZ1Rlc3QoKSB7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworCisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ28nKTsKKyAgICB0
eXBlQ2hhcmFjdGVyQ29tbWFuZCgnbicpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdlJyk7
CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJyAnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFu
ZCgndCcpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCd3Jyk7CisgICAgdHlwZUNoYXJhY3Rl
ckNvbW1hbmQoJ28nKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnICcpOworICAgIHR5cGVD
aGFyYWN0ZXJDb21tYW5kKCd0Jyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2gnKTsKKyAg
ICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgncicpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdl
Jyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2UnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29t
bWFuZCgnICcpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdmJyk7CisgICAgdHlwZUNoYXJh
Y3RlckNvbW1hbmQoJ28nKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgndScpOworICAgIHR5
cGVDaGFyYWN0ZXJDb21tYW5kKCdyJyk7CisKKyAgICB3aW5kb3cuc2V0VGltZW91dChzZW5kRGVs
ZXRlV29yZEtleSwgMTAwKTsKK30KKworPC9zY3JpcHQ+CisKKzx0aXRsZT5FZGl0aW5nIFRlc3Q8
L3RpdGxlPiAKKzwvaGVhZD4gCis8Ym9keT4KKworPGRpdiBjbGFzcz0iZXhwbGFuYXRpb24iPgor
PGRpdiBjbGFzcz0ic2NlbmFyaW8iPgorVGVzdHM6IAorPGJyPgorVW5kbyBhIGRlbGV0ZSB3b3Jk
IGFmdGVyIGEgc2VyaWVzIG9mIGluc2VydFRleHQgZG9lcyBub3Qgd2lwZSBvdXQgdGhlIGVudGly
ZSBjb250ZW50LgorPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjb250ZW50ZWRpdGFibGUgaWQ9InJv
b3QiPgorPGRpdiBpZD0idGVzdCIgY2xhc3M9ImVkaXRpbmciPjwvZGl2PgorPC9kaXY+CisKKzxz
Y3JpcHQ+CitydW5FZGl0aW5nVGVzdCgpOworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="23717"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42223</attachid>
            <date>2009-10-30 11:56:52 -0700</date>
            <delta_ts>2009-10-30 12:15:10 -0700</delta_ts>
            <desc>Patch2</desc>
            <filename>bug7067033.txt</filename>
            <type>text/plain</type>
            <size>5737</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDMzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTAtMzAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
RUdSRVNTSU9OOiBJbiBNYWlsLCBVbmRvIGRvZXMgbm90IHJlc3RvcmUgc29tZSBjaGFyYWN0ZXJz
IEkgaGF2ZSBkZWxldGVkIGF0IHRoZSBlbmQgb2YgYSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk1NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzA2NzAzMz4KKyAgICAgICAgCisgICAgICAgIFdoZW4gdGhlIGNvbW1hbmQgaXMgZGVsZXRl
V29yZEJhY2t3YXJkIG9yIGRlbGV0ZVdvcmRGb3J3YXJkCisgICAgICAgIHdlIHNob3VsZCBub3Qg
YWRkIHRvIHRoZSBvcGVuIHR5cGluZyBjb21tYW5kLCBidXQKKyAgICAgICAgY3JlYXRlIGEgbmV3
IG9uZS4KKyAgICAgICAgCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdv
cmQuaHRtbAorCisgICAgICAgICogZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQpOiBBbHdheXMgc3RhcnQg
YSBuZXcgY29tbWFuZCBpZiB0aGUgZ3JhbnVsYXJpdHkgaXMKKyAgICAgICAgbm90IENoYXJhY3Rl
ckdyYW51bGFyaXR5LiAKKyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OmZvcndhcmRE
ZWxldGVLZXlQcmVzc2VkKTogQWx3YXlzIHN0YXJ0IGEgbmV3IGNvbW1hbmQgaWYgdGhlIGdyYW51
bGFyaXR5IGlzCisgICAgICAgIG5vdCBDaGFyYWN0ZXJHcmFudWxhcml0eS4gCisKIDIwMDktMTAt
MzAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0Nv
bW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNw
cAkocmV2aXNpb24gNTAzMzgpCisrKyBXZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBUeXBpbmdDb21tYW5kOjpkZWxl
dGVLZXlQcmVzc2VkKERvYwogICAgIEFTU0VSVChmcmFtZSk7CiAgICAgCiAgICAgRWRpdENvbW1h
bmQqIGxhc3RFZGl0Q29tbWFuZCA9IGZyYW1lLT5lZGl0b3IoKS0+bGFzdEVkaXRDb21tYW5kKCk7
Ci0gICAgaWYgKGlzT3BlbkZvck1vcmVUeXBpbmdDb21tYW5kKGxhc3RFZGl0Q29tbWFuZCkpIHsK
KyAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gQ2hhcmFjdGVyR3JhbnVsYXJpdHkgJiYgaXNPcGVuRm9y
TW9yZVR5cGluZ0NvbW1hbmQobGFzdEVkaXRDb21tYW5kKSkgewogICAgICAgICBzdGF0aWNfY2Fz
dDxUeXBpbmdDb21tYW5kKj4obGFzdEVkaXRDb21tYW5kKS0+ZGVsZXRlS2V5UHJlc3NlZChncmFu
dWxhcml0eSwga2lsbFJpbmcpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTA5LDcgKzEw
OSw3IEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6Zm9yd2FyZERlbGV0ZUtleVByZXMKICAgICBBU1NF
UlQoZnJhbWUpOwogICAgIAogICAgIEVkaXRDb21tYW5kKiBsYXN0RWRpdENvbW1hbmQgPSBmcmFt
ZS0+ZWRpdG9yKCktPmxhc3RFZGl0Q29tbWFuZCgpOwotICAgIGlmIChpc09wZW5Gb3JNb3JlVHlw
aW5nQ29tbWFuZChsYXN0RWRpdENvbW1hbmQpKSB7CisgICAgaWYgKGdyYW51bGFyaXR5ID09ICBD
aGFyYWN0ZXJHcmFudWxhcml0eSAmJiBpc09wZW5Gb3JNb3JlVHlwaW5nQ29tbWFuZChsYXN0RWRp
dENvbW1hbmQpKSB7CiAgICAgICAgIHN0YXRpY19jYXN0PFR5cGluZ0NvbW1hbmQqPihsYXN0RWRp
dENvbW1hbmQpLT5mb3J3YXJkRGVsZXRlS2V5UHJlc3NlZChncmFudWxhcml0eSwga2lsbFJpbmcp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTAzMzgpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAw
OS0xMC0zMCAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IEluIE1haWws
IFVuZG8gZG9lcyBub3QgcmVzdG9yZSBzb21lIGNoYXJhY3RlcnMgSSBoYXZlIGRlbGV0ZWQgYXQg
dGhlIGVuZCBvZiBhIGxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMwOTU1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MDY3MDMzPgorICAgICAg
ICAKKyAgICAgICAgKiBlZGl0aW5nL3VuZG8vdW5kby1kZWxldGVXb3JkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy91bmRvL3VuZG8tZGVsZXRlV29yZC5odG1sOiBBZGRl
ZC4KKwogMjAwOS0xMC0zMCAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBsYXlvdXQgdGVzdCBmaXhlcy4KSW5kZXg6
IExheW91dFRlc3RzL2VkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdvcmQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdvcmQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8t
ZGVsZXRlV29yZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorVGVz
dHM6IAorVW5kbyBhIGRlbGV0ZSB3b3JkIGFmdGVyIGEgc2VyaWVzIG9mIGluc2VydFRleHQgZG9l
cyBub3Qgd2lwZSBvdXQgdGhlIGVudGlyZSBjb250ZW50Lgorb25lIHR3byB0aHJlZSBmb3VyCklu
ZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1kZWxldGVXb3JkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8tZGVsZXRlV29yZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8tZGVsZXRlV29yZC5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDk1IEBACis8aHRtbD4gCis8aGVhZD4KKworPHN0
eWxlPgorLmVkaXRpbmcgeyAKKyAgICBib3JkZXI6IDJweCBzb2xpZCByZWQ7IAorfQorLmV4cGxh
bmF0aW9uIHsgCisgICAgYm9yZGVyOiAycHggc29saWQgYmx1ZTsgCisgICAgcGFkZGluZzogMTJw
eDsgCisgICAgZm9udC1zaXplOiAyNHB4OyAKKyAgICBtYXJnaW4tYm90dG9tOiAyNHB4OworfQor
LnNjZW5hcmlvIHsgbWFyZ2luLWJvdHRvbTogMTZweDt9Cisuc2NlbmFyaW86Zmlyc3QtbGluZSB7
IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tYm90dG9tOiAxNnB4O30KKzwvc3R5bGU+Cis8c2Ny
aXB0IHNyYz0uLi9lZGl0aW5nLmpzIGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L0ph
dmFTY3JpcHQiID48L3NjcmlwdD4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gc2VuZERlbGV0ZVdv
cmRLZXkoKQoreworICAgIHZhciBkZWxldGVXb3JkTW9kaWZpZXJzOworICAgIGlmIChuYXZpZ2F0
b3IudXNlckFnZW50LnNlYXJjaCgvXGJNYWMgT1MgWFxiLykgIT0gLTEpCisgICAgICAgIGRlbGV0
ZVdvcmRNb2RpZmllcnMgPSBbImFsdEtleSJdOworICAgIGVsc2UKKyAgICAgICAgZGVsZXRlV29y
ZE1vZGlmaWVycyA9IFsiY3RybEtleSJdOworCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikK
KyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDgpLCBkZWxl
dGVXb3JkTW9kaWZpZXJzKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dCh1bmRvTm93LCAxMDApOwor
fQorCitmdW5jdGlvbiB1bmRvTm93KCkKK3sKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiVW5k
byIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBlZGl0aW5nVGVz
dCgpIHsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnbycpOworICAgIHR5cGVDaGFyYWN0ZXJD
b21tYW5kKCduJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2UnKTsKKyAgICB0eXBlQ2hh
cmFjdGVyQ29tbWFuZCgnICcpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCd0Jyk7CisgICAg
dHlwZUNoYXJhY3RlckNvbW1hbmQoJ3cnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnbycp
OworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCcgJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1h
bmQoJ3QnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnaCcpOworICAgIHR5cGVDaGFyYWN0
ZXJDb21tYW5kKCdyJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2UnKTsKKyAgICB0eXBl
Q2hhcmFjdGVyQ29tbWFuZCgnZScpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCcgJyk7Cisg
ICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2YnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgn
bycpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCd1Jyk7CisgICAgdHlwZUNoYXJhY3RlckNv
bW1hbmQoJ3InKTsKKworICAgIHdpbmRvdy5zZXRUaW1lb3V0KHNlbmREZWxldGVXb3JkS2V5LCAx
MDApOworfQorCis8L3NjcmlwdD4KKworPHRpdGxlPkVkaXRpbmcgVGVzdDwvdGl0bGU+IAorPC9o
ZWFkPiAKKzxib2R5PgorCis8ZGl2IGNsYXNzPSJleHBsYW5hdGlvbiI+Cis8ZGl2IGNsYXNzPSJz
Y2VuYXJpbyI+CitUZXN0czogCis8YnI+CitVbmRvIGEgZGVsZXRlIHdvcmQgYWZ0ZXIgYSBzZXJp
ZXMgb2YgaW5zZXJ0VGV4dCBkb2VzIG5vdCB3aXBlIG91dCB0aGUgZW50aXJlIGNvbnRlbnQuCis8
L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNvbnRlbnRlZGl0YWJsZSBpZD0icm9vdCI+Cis8ZGl2IGlk
PSJ0ZXN0IiBjbGFzcz0iZWRpdGluZyI+PC9kaXY+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
fQorCit2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworc2VsZWN0aW9uLnNl
dFBvc2l0aW9uKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IiksIDApOworZWRpdGluZ1Rl
c3QoKTsKKzwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="23727"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42226</attachid>
            <date>2009-10-30 12:15:10 -0700</date>
            <delta_ts>2009-10-30 12:23:42 -0700</delta_ts>
            <desc>Patch3</desc>
            <filename>bug7067033.txt</filename>
            <type>text/plain</type>
            <size>5736</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDMzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMTAtMzAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
RUdSRVNTSU9OOiBJbiBNYWlsLCBVbmRvIGRvZXMgbm90IHJlc3RvcmUgc29tZSBjaGFyYWN0ZXJz
IEkgaGF2ZSBkZWxldGVkIGF0IHRoZSBlbmQgb2YgYSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk1NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzA2NzAzMz4KKyAgICAgICAgCisgICAgICAgIFdoZW4gdGhlIGNvbW1hbmQgaXMgZGVsZXRl
V29yZEJhY2t3YXJkIG9yIGRlbGV0ZVdvcmRGb3J3YXJkCisgICAgICAgIHdlIHNob3VsZCBub3Qg
YWRkIHRvIHRoZSBvcGVuIHR5cGluZyBjb21tYW5kLCBidXQKKyAgICAgICAgY3JlYXRlIGEgbmV3
IG9uZS4KKyAgICAgICAgCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdv
cmQuaHRtbAorCisgICAgICAgICogZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQpOiBBbHdheXMgc3RhcnQg
YSBuZXcgY29tbWFuZCBpZiB0aGUgZ3JhbnVsYXJpdHkgaXMKKyAgICAgICAgbm90IENoYXJhY3Rl
ckdyYW51bGFyaXR5LiAKKyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OmZvcndhcmRE
ZWxldGVLZXlQcmVzc2VkKTogQWx3YXlzIHN0YXJ0IGEgbmV3IGNvbW1hbmQgaWYgdGhlIGdyYW51
bGFyaXR5IGlzCisgICAgICAgIG5vdCBDaGFyYWN0ZXJHcmFudWxhcml0eS4gCisKIDIwMDktMTAt
MzAgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0Nv
bW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNw
cAkocmV2aXNpb24gNTAzMzgpCisrKyBXZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBUeXBpbmdDb21tYW5kOjpkZWxl
dGVLZXlQcmVzc2VkKERvYwogICAgIEFTU0VSVChmcmFtZSk7CiAgICAgCiAgICAgRWRpdENvbW1h
bmQqIGxhc3RFZGl0Q29tbWFuZCA9IGZyYW1lLT5lZGl0b3IoKS0+bGFzdEVkaXRDb21tYW5kKCk7
Ci0gICAgaWYgKGlzT3BlbkZvck1vcmVUeXBpbmdDb21tYW5kKGxhc3RFZGl0Q29tbWFuZCkpIHsK
KyAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gQ2hhcmFjdGVyR3JhbnVsYXJpdHkgJiYgaXNPcGVuRm9y
TW9yZVR5cGluZ0NvbW1hbmQobGFzdEVkaXRDb21tYW5kKSkgewogICAgICAgICBzdGF0aWNfY2Fz
dDxUeXBpbmdDb21tYW5kKj4obGFzdEVkaXRDb21tYW5kKS0+ZGVsZXRlS2V5UHJlc3NlZChncmFu
dWxhcml0eSwga2lsbFJpbmcpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTA5LDcgKzEw
OSw3IEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6Zm9yd2FyZERlbGV0ZUtleVByZXMKICAgICBBU1NF
UlQoZnJhbWUpOwogICAgIAogICAgIEVkaXRDb21tYW5kKiBsYXN0RWRpdENvbW1hbmQgPSBmcmFt
ZS0+ZWRpdG9yKCktPmxhc3RFZGl0Q29tbWFuZCgpOwotICAgIGlmIChpc09wZW5Gb3JNb3JlVHlw
aW5nQ29tbWFuZChsYXN0RWRpdENvbW1hbmQpKSB7CisgICAgaWYgKGdyYW51bGFyaXR5ID09IENo
YXJhY3RlckdyYW51bGFyaXR5ICYmIGlzT3BlbkZvck1vcmVUeXBpbmdDb21tYW5kKGxhc3RFZGl0
Q29tbWFuZCkpIHsKICAgICAgICAgc3RhdGljX2Nhc3Q8VHlwaW5nQ29tbWFuZCo+KGxhc3RFZGl0
Q29tbWFuZCktPmZvcndhcmREZWxldGVLZXlQcmVzc2VkKGdyYW51bGFyaXR5LCBraWxsUmluZyk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MDMzOCkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA5
LTEwLTMwICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogSW4gTWFpbCwg
VW5kbyBkb2VzIG5vdCByZXN0b3JlIHNvbWUgY2hhcmFjdGVycyBJIGhhdmUgZGVsZXRlZCBhdCB0
aGUgZW5kIG9mIGEgbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzA5NTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcwNjcwMzM+CisgICAgICAg
IAorICAgICAgICAqIGVkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdvcmQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG8vdW5kby1kZWxldGVXb3JkLmh0bWw6IEFkZGVk
LgorCiAyMDA5LTEwLTMwICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGxheW91dCB0ZXN0IGZpeGVzLgpJbmRleDog
TGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8tZGVsZXRlV29yZC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8tZGVsZXRlV29yZC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1k
ZWxldGVXb3JkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitUZXN0
czogCitVbmRvIGEgZGVsZXRlIHdvcmQgYWZ0ZXIgYSBzZXJpZXMgb2YgaW5zZXJ0VGV4dCBkb2Vz
IG5vdCB3aXBlIG91dCB0aGUgZW50aXJlIGNvbnRlbnQuCitvbmUgdHdvIHRocmVlIGZvdXIKSW5k
ZXg6IExheW91dFRlc3RzL2VkaXRpbmcvdW5kby91bmRvLWRlbGV0ZVdvcmQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1kZWxldGVXb3JkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1kZWxldGVXb3JkLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTUgQEAKKzxodG1sPiAKKzxoZWFkPgorCis8c3R5
bGU+CisuZWRpdGluZyB7IAorICAgIGJvcmRlcjogMnB4IHNvbGlkIHJlZDsgCit9CisuZXhwbGFu
YXRpb24geyAKKyAgICBib3JkZXI6IDJweCBzb2xpZCBibHVlOyAKKyAgICBwYWRkaW5nOiAxMnB4
OyAKKyAgICBmb250LXNpemU6IDI0cHg7IAorICAgIG1hcmdpbi1ib3R0b206IDI0cHg7Cit9Cisu
c2NlbmFyaW8geyBtYXJnaW4tYm90dG9tOiAxNnB4O30KKy5zY2VuYXJpbzpmaXJzdC1saW5lIHsg
Zm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206IDE2cHg7fQorPC9zdHlsZT4KKzxzY3Jp
cHQgc3JjPS4uL2VkaXRpbmcuanMgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvSmF2
YVNjcmlwdCIgPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCitmdW5jdGlvbiBzZW5kRGVsZXRlV29y
ZEtleSgpCit7CisgICAgdmFyIGRlbGV0ZVdvcmRNb2RpZmllcnM7CisgICAgaWYgKG5hdmlnYXRv
ci51c2VyQWdlbnQuc2VhcmNoKC9cYk1hYyBPUyBYXGIvKSAhPSAtMSkKKyAgICAgICAgZGVsZXRl
V29yZE1vZGlmaWVycyA9IFsiYWx0S2V5Il07CisgICAgZWxzZQorICAgICAgICBkZWxldGVXb3Jk
TW9kaWZpZXJzID0gWyJjdHJsS2V5Il07CisKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQor
ICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoOCksIGRlbGV0
ZVdvcmRNb2RpZmllcnMpOworICAgIHdpbmRvdy5zZXRUaW1lb3V0KHVuZG9Ob3csIDEwMCk7Cit9
CisKK2Z1bmN0aW9uIHVuZG9Ob3coKQoreworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJVbmRv
Iik7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGVkaXRpbmdUZXN0
KCkgeworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdvJyk7CisgICAgdHlwZUNoYXJhY3RlckNv
bW1hbmQoJ24nKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnZScpOworICAgIHR5cGVDaGFy
YWN0ZXJDb21tYW5kKCcgJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ3QnKTsKKyAgICB0
eXBlQ2hhcmFjdGVyQ29tbWFuZCgndycpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdvJyk7
CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJyAnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFu
ZCgndCcpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdoJyk7CisgICAgdHlwZUNoYXJhY3Rl
ckNvbW1hbmQoJ3InKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnZScpOworICAgIHR5cGVD
aGFyYWN0ZXJDb21tYW5kKCdlJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJyAnKTsKKyAg
ICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnZicpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdv
Jyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ3UnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29t
bWFuZCgncicpOworCisgICAgd2luZG93LnNldFRpbWVvdXQoc2VuZERlbGV0ZVdvcmRLZXksIDEw
MCk7Cit9CisKKzwvc2NyaXB0PgorCis8dGl0bGU+RWRpdGluZyBUZXN0PC90aXRsZT4gCis8L2hl
YWQ+IAorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImV4cGxhbmF0aW9uIj4KKzxkaXYgY2xhc3M9InNj
ZW5hcmlvIj4KK1Rlc3RzOiAKKzxicj4KK1VuZG8gYSBkZWxldGUgd29yZCBhZnRlciBhIHNlcmll
cyBvZiBpbnNlcnRUZXh0IGRvZXMgbm90IHdpcGUgb3V0IHRoZSBlbnRpcmUgY29udGVudC4KKzwv
ZGl2PgorPC9kaXY+CisKKzxkaXYgY29udGVudGVkaXRhYmxlIGlkPSJyb290Ij4KKzxkaXYgaWQ9
InRlc3QiIGNsYXNzPSJlZGl0aW5nIj48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9
CisKK3ZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CitzZWxlY3Rpb24uc2V0
UG9zaXRpb24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKSwgMCk7CitlZGl0aW5nVGVz
dCgpOworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="23730"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>