<?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>61033</bug_id>
          
          <creation_ts>2011-05-18 02:59:59 -0700</creation_ts>
          <short_desc>[chromium] add extraData field to resource requests</short_desc>
          <delta_ts>2011-08-04 13:57:22 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>jochen</reporter>
          <assigned_to>jochen</assigned_to>
          <cc>abarth</cc>
    
    <cc>battre</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fishd</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>405604</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-05-18 02:59:59 -0700</bug_when>
    <thetext>[chromium] add extraData field to resource requests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405607</commentid>
    <comment_count>1</comment_count>
      <attachid>93891</attachid>
    <who name="">jochen</who>
    <bug_when>2011-05-18 03:01:21 -0700</bug_when>
    <thetext>Created attachment 93891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405609</commentid>
    <comment_count>2</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-05-18 03:03:59 -0700</bug_when>
    <thetext>There is actual a test in chromium/tests

The idea is to set additional fields that are only interesting to Chrome like the WebFrame identifier the requests was made for in willSendRequest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405767</commentid>
    <comment_count>3</comment_count>
      <attachid>93891</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-18 09:10:37 -0700</bug_when>
    <thetext>Comment on attachment 93891
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=93891&amp;action=review

&gt; Source/WebCore/platform/network/chromium/ResourceRequest.h:115
&gt; +        PassRefPtr&lt;ExtraData&gt; extraData() const { return m_extraData; }

This should return ExtraData* because the function doesn&apos;t transfer ownership of m_extraData.

&gt; Source/WebKit/chromium/src/WebURLRequest.cpp:308
&gt; +    RefPtr&lt;ExtraDataContainer&gt; container = adoptRef(new ExtraDataContainer(extraData));

ExtraDataContainer should have an static create method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405995</commentid>
    <comment_count>4</comment_count>
      <attachid>93978</attachid>
    <who name="">jochen</who>
    <bug_when>2011-05-18 13:30:38 -0700</bug_when>
    <thetext>Created attachment 93978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406574</commentid>
    <comment_count>5</comment_count>
      <attachid>93978</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-05-19 12:28:42 -0700</bug_when>
    <thetext>Comment on attachment 93978
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=93978&amp;action=review

I guess ExtraData just won&apos;t be something we copy across threads when we copy
a ResourceRequest to another thread.  That is probably OK.

&gt; Source/WebCore/platform/network/chromium/ResourceRequest.h:112
&gt; +        // pointer will be deleted when the request is destroyed. Setting the

deleted -&gt; deref&apos;d

&gt; Source/WebCore/platform/network/chromium/ResourceRequest.h:114
&gt; +        // pointer to be deleted.

this comment is a bit incorrect.  the existing extra data may not be deleted,
it will be deref&apos;d.  that may or may not cause it to be deleted.

&gt; Source/WebKit/chromium/public/WebURLRequest.h:59
&gt; +    class ExtraData {

nit: try not to break up the flow of enum declarations.  grouping enums separately from inner classes is nicer.
how about putting this below TargetType?

&gt; Source/WebKit/chromium/src/WebURLRequest.cpp:310
&gt; +    RefPtr&lt;ExtraDataContainer&gt; container = ExtraDataContainer::create(extraData);

nit: no need for the container temp var...

just put it all in a single line:

  m_private-&gt;m_resourceRequest-&gt;setExtraData(ExtraDataContainer::create(extraData));

&gt; Source/WebKit/chromium/tests/WebURLRequestTest.cpp:59
&gt; +        WebURLRequest urlRequest;

this is a good test, but you should also test that copying urlRequest
works properly too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406688</commentid>
    <comment_count>6</comment_count>
      <attachid>94127</attachid>
    <who name="">jochen</who>
    <bug_when>2011-05-19 15:25:34 -0700</bug_when>
    <thetext>Created attachment 94127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406690</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-19 15:26:59 -0700</bug_when>
    <thetext>Attachment 94127 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/chromium/public/WebURLRequest.h:175:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406692</commentid>
    <comment_count>8</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-05-19 15:28:35 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 93978 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93978&amp;action=review
&gt; 
&gt; I guess ExtraData just won&apos;t be something we copy across threads when we copy
&gt; a ResourceRequest to another thread.  That is probably OK.
&gt; 
&gt; &gt; Source/WebCore/platform/network/chromium/ResourceRequest.h:112
&gt; &gt; +        // pointer will be deleted when the request is destroyed. Setting the
&gt; 
&gt; deleted -&gt; deref&apos;d

Done

&gt; 
&gt; &gt; Source/WebCore/platform/network/chromium/ResourceRequest.h:114
&gt; &gt; +        // pointer to be deleted.
&gt; 
&gt; this comment is a bit incorrect.  the existing extra data may not be deleted,
&gt; it will be deref&apos;d.  that may or may not cause it to be deleted.

I simplified the comment. Given that the signature has a PassRefPtr, I think it&apos;s clear what&apos;s happening

Instead, I expanded the comment in WebURLRequest.h where it&apos;s not clear how long the ExtraData object will live

&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebURLRequest.h:59
&gt; &gt; +    class ExtraData {
&gt; 
&gt; nit: try not to break up the flow of enum declarations.  grouping enums separately from inner classes is nicer.
&gt; how about putting this below TargetType?

Done

&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebURLRequest.cpp:310
&gt; &gt; +    RefPtr&lt;ExtraDataContainer&gt; container = ExtraDataContainer::create(extraData);
&gt; 
&gt; nit: no need for the container temp var...
&gt; 
&gt; just put it all in a single line:
&gt; 
&gt;   m_private-&gt;m_resourceRequest-&gt;setExtraData(ExtraDataContainer::create(extraData));

Done

&gt; 
&gt; &gt; Source/WebKit/chromium/tests/WebURLRequestTest.cpp:59
&gt; &gt; +        WebURLRequest urlRequest;
&gt; 
&gt; this is a good test, but you should also test that copying urlRequest
&gt; works properly too.

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406694</commentid>
    <comment_count>9</comment_count>
      <attachid>94129</attachid>
    <who name="">jochen</who>
    <bug_when>2011-05-19 15:28:57 -0700</bug_when>
    <thetext>Created attachment 94129
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407524</commentid>
    <comment_count>10</comment_count>
      <attachid>94129</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-21 04:04:31 -0700</bug_when>
    <thetext>Comment on attachment 94129
Patch

Clearing flags on attachment: 94129

Committed r87015: &lt;http://trac.webkit.org/changeset/87015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407525</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-21 04:04:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446758</commentid>
    <comment_count>12</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-08-04 13:57:22 -0700</bug_when>
    <thetext>*** Bug 49113 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93891</attachid>
            <date>2011-05-18 03:01:21 -0700</date>
            <delta_ts>2011-05-18 13:30:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61033-20110518120119.patch</filename>
            <type>text/plain</type>
            <size>9764</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MGY0OGYzMzcwMmZlMzM1
NjQyOWEyMDhhYzdmOTc2Y2Q1NTRmNDFkLi4yZDIyMWZiZDQyZWE2YzllMGJjMDFkYTM2YTBkN2E3
NmNjN2JjN2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMTggIEpvY2hl
biBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBhZGQgZXh0cmFEYXRhIGZpZWxk
IHRvIHJlc291cmNlIHJlcXVlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MTAzMworCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6RXh0cmFEYXRhOjp+RXh0cmFEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZXh0cmFEYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6c2V0RXh0cmFEYXRhKToKKwogMjAxMS0wNS0xNiAg
SmVyZW15IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVzdC5oCmluZGV4IDA3YjMxZWJiNTBiMmZkZjY0
ZjliMTg2YzBiNjUzZTA2Y2ExYTVmMWYuLjRmZTdhZGU2ZGNkYTZiNGE4ODA0MTE0Y2RkYTAzMjVh
OTBlZjNmOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hy
b21pdW0vUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaApAQCAtMzAsMTIgKzMwLDIwIEBACiAKICNp
bmNsdWRlICJSZXNvdXJjZVJlcXVlc3RCYXNlLmgiCiAKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIEZyYW1lOwogCiAgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0IDogcHVibGlj
IFJlc291cmNlUmVxdWVzdEJhc2UgewogICAgIHB1YmxpYzoKKyAgICAgICAgY2xhc3MgRXh0cmFE
YXRhIDogcHVibGljIFJlZkNvdW50ZWQ8RXh0cmFEYXRhPiB7CisgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsgfQorICAgICAgICB9OworCiAgICAgICAg
IFJlc291cmNlUmVxdWVzdChjb25zdCBTdHJpbmcmIHVybCkgCiAgICAgICAgICAgICA6IFJlc291
cmNlUmVxdWVzdEJhc2UoS1VSTChQYXJzZWRVUkxTdHJpbmcsIHVybCksIFVzZVByb3RvY29sQ2Fj
aGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVxdWVzdG9ySUQoMCkKQEAgLTEwMCw2ICsxMDgs
MTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGRvd25sb2FkVG9GaWxlKCkg
Y29uc3QgeyByZXR1cm4gbV9kb3dubG9hZFRvRmlsZTsgfQogICAgICAgICB2b2lkIHNldERvd25s
b2FkVG9GaWxlKGJvb2wgZG93bmxvYWRUb0ZpbGUpIHsgbV9kb3dubG9hZFRvRmlsZSA9IGRvd25s
b2FkVG9GaWxlOyB9CiAKKyAgICAgICAgLy8gRXh0cmEgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhp
cyByZXF1ZXN0LiBJZiBub24tbnVsbCwgdGhlIGV4dHJhIGRhdGEKKyAgICAgICAgLy8gcG9pbnRl
ciB3aWxsIGJlIGRlbGV0ZWQgd2hlbiB0aGUgcmVxdWVzdCBpcyBkZXN0cm95ZWQuIFNldHRpbmcg
dGhlCisgICAgICAgIC8vIGV4dHJhIGRhdGEgcG9pbnRlciB3aWxsIGNhdXNlIGFueSBleGlzdGlu
ZyBub24tbnVsbCBleHRyYSBkYXRhCisgICAgICAgIC8vIHBvaW50ZXIgdG8gYmUgZGVsZXRlZC4K
KyAgICAgICAgUGFzc1JlZlB0cjxFeHRyYURhdGE+IGV4dHJhRGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1fZXh0cmFEYXRhOyB9CisgICAgICAgIHZvaWQgc2V0RXh0cmFEYXRhKFBhc3NSZWZQdHI8RXh0
cmFEYXRhPiBleHRyYURhdGEpIHsgbV9leHRyYURhdGEgPSBleHRyYURhdGE7IH0KKwogICAgIHBy
aXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlOwogCkBAIC0x
MTQsNiArMTI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBpbnQgbV9hcHBDYWNo
ZUhvc3RJRDsKICAgICAgICAgYm9vbCBtX2hhc1VzZXJHZXN0dXJlOwogICAgICAgICBib29sIG1f
ZG93bmxvYWRUb0ZpbGU7CisgICAgICAgIFJlZlB0cjxFeHRyYURhdGE+IG1fZXh0cmFEYXRhOwog
ICAgIH07CiAKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhIDogcHVi
bGljIENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwppbmRleCAxOTIxOTZlNGE5MmU1MTJkNDllMDU4ZjNiZTgwNTAxMWQ1ZWRiYWVlLi5h
NTdkZjliZjA3NWZkYzkzNGFjNzMwMDBjMjIwNDZmZjUyZTAwZGYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTA1LTE4ICBKb2NoZW4gRWlzaW5nZXIg
IDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gYWRkIGV4dHJhRGF0YSBmaWVsZCB0byByZXNvdXJj
ZSByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjEwMzMKKworICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHB1YmxpYy9XZWJV
UkxSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YTo6
fkV4dHJhRGF0YSk6CisgICAgICAgICogc3JjL1dlYlVSTFJlcXVlc3QuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpleHRyYURhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJV
UkxSZXF1ZXN0OjpzZXRFeHRyYURhdGEpOgorICAgICAgICAqIHRlc3RzL1dlYlVSTFJlcXVlc3RU
ZXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlRlc3RFeHRyYURhdGE6OlRlc3RFeHRy
YURhdGEpOgorICAgICAgICAoV2ViS2l0OjpUZXN0RXh0cmFEYXRhOjp+VGVzdEV4dHJhRGF0YSk6
CisgICAgICAgIChXZWJLaXQ6OlRFU1QpOgorCiAyMDExLTA1LTE3ICBUYW8gQmFpICA8bWljaGFl
bGJhaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaSBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKaW5kZXggZjBlNGQzMWEwZTg1NzhmNjM1NThhNmM0
ODAwYzhhYTI2ZWIzMzI2MS4uY2Q4ZmZkZTczYTQ2OGEyOThmNzRhOWU5NzM3ZmVhZTdlYjA1YmY3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCkBAIC02OCw2ICs2OCw3IEBACiAgICAg
ICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxwZXJzLmNwcCcsCiAgICAgICAgICAgICAndGVzdHMv
VHJlZVRlc3RIZWxwZXJzLmgnLAogICAgICAgICAgICAgJ3Rlc3RzL1dlYkZyYW1lVGVzdC5jcHAn
LAorICAgICAgICAgICAgJ3Rlc3RzL1dlYlVSTFJlcXVlc3RUZXN0LmNwcCcsCiAgICAgICAgIF0s
CiAKICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJVUkxSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJVUkxSZXF1ZXN0LmgKaW5kZXggZDg4YzdiOWRjYmFlYTBlMzg3NTQ2NDVlZDkzMTU0
MzkxMzdhNTZjNy4uMTVmMWZmMTU2ZmUyYmE4ZmY2YmEwYzMyYjU0OWQ0ZjNlMTI2MjcyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJlcXVlc3QuaApAQCAtNTYs
NiArNTYsMTEgQEAgcHVibGljOgogICAgICAgICBSZXR1cm5DYWNoZURhdGFEb250TG9hZCwgLy8g
cmVzdWx0cyBvZiBhIHBvc3QgLSBhbGxvdyBzdGFsZSBkYXRhIGFuZCBvbmx5IHVzZSBjYWNoZQog
ICAgIH07CiAKKyAgICBjbGFzcyBFeHRyYURhdGEgeworICAgIHB1YmxpYzoKKyAgICAgICAgdmly
dHVhbCB+RXh0cmFEYXRhKCkgeyB9CisgICAgfTsKKwogICAgIGVudW0gVGFyZ2V0VHlwZSB7CiAg
ICAgICAgIFRhcmdldElzTWFpbkZyYW1lID0gMCwKICAgICAgICAgVGFyZ2V0SXNTdWJmcmFtZSA9
IDEsCkBAIC0xNjQsNiArMTY5LDEzIEBAIHB1YmxpYzoKICAgICBXRUJLSVRfQVBJIGJvb2wgZG93
bmxvYWRUb0ZpbGUoKSBjb25zdDsKICAgICBXRUJLSVRfQVBJIHZvaWQgc2V0RG93bmxvYWRUb0Zp
bGUoYm9vbCk7CiAKKyAgICAvLyBFeHRyYSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlcXVl
c3QuIElmIG5vbi1udWxsLCB0aGUgZXh0cmEgZGF0YQorICAgIC8vIHBvaW50ZXIgd2lsbCBiZSBk
ZWxldGVkIHdoZW4gdGhlIHJlcXVlc3QgaXMgZGVzdHJveWVkLiBTZXR0aW5nIHRoZSBleHRyYQor
ICAgIC8vIGRhdGEgcG9pbnRlciB3aWxsIGNhdXNlIGFueSBleGlzdGluZyBub24tbnVsbCBleHRy
YSBkYXRhIHBvaW50ZXIgdG8gYmUKKyAgICAvLyBkZWxldGVkLgorICAgIFdFQktJVF9BUEkgRXh0
cmFEYXRhKiBleHRyYURhdGEoKSBjb25zdDsKKyAgICBXRUJLSVRfQVBJIHZvaWQgc2V0RXh0cmFE
YXRhKEV4dHJhRGF0YSopOworCiAjaWYgZGVmaW5lZChXRUJLSVRfSU1QTEVNRU5UQVRJT04pCiAg
ICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiB0b011dGFibGVSZXNvdXJjZVJlcXVlc3QoKTsK
ICAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHRvUmVzb3VyY2VSZXF1ZXN0KCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJVUkxSZXF1
ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlVSTFJlcXVlc3QuY3BwCmlu
ZGV4IDQ3MTM5YjM2NTM3NDNiOGI5ZDU1ZjA5MjVhMDEzNGI4ZmJmNjRkYjcuLmRjNTM0ZGFjYjkz
NjFkNmZmOGI3ODZhYmRlYWM0NTIwM2M5MzRjZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlVSTFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlVSTFJlcXVlc3QuY3BwCkBAIC00Miw2ICs0MiwyNSBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK25hbWVzcGFjZSB7CisKK2NsYXNz
IEV4dHJhRGF0YUNvbnRhaW5lciA6IHB1YmxpYyBSZXNvdXJjZVJlcXVlc3Q6OkV4dHJhRGF0YSB7
CitwdWJsaWM6CisgICAgZXhwbGljaXQgRXh0cmFEYXRhQ29udGFpbmVyKFdlYlVSTFJlcXVlc3Q6
OkV4dHJhRGF0YSogZXh0cmFEYXRhKQorICAgICAgICA6IG1fZXh0cmFEYXRhKGFkb3B0UHRyKGV4
dHJhRGF0YSkpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgfkV4dHJhRGF0YUNvbnRhaW5l
cigpIHsgfQorCisgICAgV2ViVVJMUmVxdWVzdDo6RXh0cmFEYXRhKiBleHRyYURhdGEoKSBjb25z
dCB7IHJldHVybiBtX2V4dHJhRGF0YS5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIE93blB0cjxX
ZWJVUkxSZXF1ZXN0OjpFeHRyYURhdGE+IG1fZXh0cmFEYXRhOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UKKwogLy8gVGhlIHN0YW5kYXJkIGltcGxlbWVudGF0aW9uIG9mIFdlYlVSTFJlcXVlc3RQcml2
YXRlLCB3aGljaCBtYWludGFpbnMKIC8vIG93bmVyc2hpcCBvZiBhIFJlc291cmNlUmVxdWVzdCBp
bnN0YW5jZS4KIGNsYXNzIFdlYlVSTFJlcXVlc3RQcml2YXRlSW1wbCA6IHB1YmxpYyBXZWJVUkxS
ZXF1ZXN0UHJpdmF0ZSB7CkBAIC0yNzYsNiArMjk1LDIwIEBAIHZvaWQgV2ViVVJMUmVxdWVzdDo6
c2V0RG93bmxvYWRUb0ZpbGUoYm9vbCBkb3dubG9hZFRvRmlsZSkKICAgICBtX3ByaXZhdGUtPm1f
cmVzb3VyY2VSZXF1ZXN0LT5zZXREb3dubG9hZFRvRmlsZShkb3dubG9hZFRvRmlsZSk7CiB9CiAK
K1dlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YSogV2ViVVJMUmVxdWVzdDo6ZXh0cmFEYXRhKCkgY29u
c3QKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VSZXF1ZXN0OjpFeHRyYURhdGE+IGRhdGEgPSBtX3By
aXZhdGUtPm1fcmVzb3VyY2VSZXF1ZXN0LT5leHRyYURhdGEoKTsKKyAgICBpZiAoIWRhdGEuZ2V0
KCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxFeHRyYURhdGFD
b250YWluZXIqPihkYXRhLmdldCgpKS0+ZXh0cmFEYXRhKCk7Cit9CisKK3ZvaWQgV2ViVVJMUmVx
dWVzdDo6c2V0RXh0cmFEYXRhKFdlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YSogZXh0cmFEYXRhKQor
eworICAgIFJlZlB0cjxFeHRyYURhdGFDb250YWluZXI+IGNvbnRhaW5lciA9IGFkb3B0UmVmKG5l
dyBFeHRyYURhdGFDb250YWluZXIoZXh0cmFEYXRhKSk7CisgICAgbV9wcml2YXRlLT5tX3Jlc291
cmNlUmVxdWVzdC0+c2V0RXh0cmFEYXRhKGNvbnRhaW5lcik7Cit9CisKIFJlc291cmNlUmVxdWVz
dCYgV2ViVVJMUmVxdWVzdDo6dG9NdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCkKIHsKICAgICBBU1NF
UlQobV9wcml2YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
V2ViVVJMUmVxdWVzdFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJV
UkxSZXF1ZXN0VGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVhNGE5NjRmYWJmYzcyYmNlNWNmYTNmMTFh
OGY0MTc4MWM5MzdlNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvV2ViVVJMUmVxdWVzdFRlc3QuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpbmNsdWRlICJXZWJVUkxSZXF1ZXN0LmgiCisKKyNpbmNsdWRlIDxndGVzdC9n
dGVzdC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCituYW1lc3BhY2UgeworCitjbGFz
cyBUZXN0RXh0cmFEYXRhIDogcHVibGljIFdlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YSB7CitwdWJs
aWM6CisgICAgZXhwbGljaXQgVGVzdEV4dHJhRGF0YShib29sKiBhbGl2ZSkKKyAgICAgICAgOiBt
X2FsaXZlKGFsaXZlKQorICAgIHsKKyAgICAgICAgKmFsaXZlID0gdHJ1ZTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIH5UZXN0RXh0cmFEYXRhKCkgeyAqbV9hbGl2ZSA9IGZhbHNlOyB9CisKK3ByaXZh
dGU6CisgICAgYm9vbCogbV9hbGl2ZTsKK307CisKK1RFU1QoV2ViVVJMUmVxdWVzdFRlc3QsIEV4
dHJhRGF0YSkKK3sKKyAgICBib29sIGFsaXZlID0gZmFsc2U7CisgICAgeworICAgICAgICBXZWJV
UkxSZXF1ZXN0IHVybFJlcXVlc3Q7CisgICAgICAgIFRlc3RFeHRyYURhdGEqIGV4dHJhRGF0YSA9
IG5ldyBUZXN0RXh0cmFEYXRhKCZhbGl2ZSk7CisgICAgICAgIEVYUEVDVF9UUlVFKGFsaXZlKTsK
KyAgICAgICAgdXJsUmVxdWVzdC5pbml0aWFsaXplKCk7CisgICAgICAgIHVybFJlcXVlc3Quc2V0
RXh0cmFEYXRhKGV4dHJhRGF0YSk7CisgICAgICAgIEVYUEVDVF9FUShleHRyYURhdGEsIHVybFJl
cXVlc3QuZXh0cmFEYXRhKCkpOworICAgIH0KKyAgICBFWFBFQ1RfRkFMU0UoYWxpdmUpOworfQor
Cit9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93978</attachid>
            <date>2011-05-18 13:30:38 -0700</date>
            <delta_ts>2011-05-19 15:25:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61033-20110518223035.patch</filename>
            <type>text/plain</type>
            <size>9865</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MGY0OGYzMzcwMmZlMzM1
NjQyOWEyMDhhYzdmOTc2Y2Q1NTRmNDFkLi5jNTIyM2MwNzc4N2YyM2I3MDgxMWYxZTEwOWU2MDA5
ZjEwYjFlYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTggIEpvY2hl
biBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBhZGQgZXh0cmFEYXRhIGZpZWxk
IHRvIHJlc291cmNlIHJlcXVlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MTAzMworCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1
bS9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6
RXh0cmFEYXRhOjp+RXh0cmFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dDo6ZXh0cmFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6c2V0RXh0
cmFEYXRhKToKKwogMjAxMS0wNS0xNiAgSmVyZW15IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVzdC5o
CmluZGV4IDA3YjMxZWJiNTBiMmZkZjY0ZjliMTg2YzBiNjUzZTA2Y2ExYTVmMWYuLmNmNDg3M2Yx
NjdjZWYyYjlkYzc2NjA3OTcyNjdkN2UzNzZkNjlhMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaApA
QCAtMzAsMTIgKzMwLDIwIEBACiAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3RCYXNlLmgiCiAK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCiAgICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0IDogcHVibGljIFJlc291cmNlUmVxdWVzdEJhc2UgewogICAgIHB1Ymxp
YzoKKyAgICAgICAgY2xhc3MgRXh0cmFEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8RXh0cmFEYXRh
PiB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsg
fQorICAgICAgICB9OworCiAgICAgICAgIFJlc291cmNlUmVxdWVzdChjb25zdCBTdHJpbmcmIHVy
bCkgCiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVzdEJhc2UoS1VSTChQYXJzZWRVUkxTdHJp
bmcsIHVybCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVxdWVz
dG9ySUQoMCkKQEAgLTEwMCw2ICsxMDgsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBib29sIGRvd25sb2FkVG9GaWxlKCkgY29uc3QgeyByZXR1cm4gbV9kb3dubG9hZFRvRmlsZTsg
fQogICAgICAgICB2b2lkIHNldERvd25sb2FkVG9GaWxlKGJvb2wgZG93bmxvYWRUb0ZpbGUpIHsg
bV9kb3dubG9hZFRvRmlsZSA9IGRvd25sb2FkVG9GaWxlOyB9CiAKKyAgICAgICAgLy8gRXh0cmEg
ZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXF1ZXN0LiBJZiBub24tbnVsbCwgdGhlIGV4dHJh
IGRhdGEKKyAgICAgICAgLy8gcG9pbnRlciB3aWxsIGJlIGRlbGV0ZWQgd2hlbiB0aGUgcmVxdWVz
dCBpcyBkZXN0cm95ZWQuIFNldHRpbmcgdGhlCisgICAgICAgIC8vIGV4dHJhIGRhdGEgcG9pbnRl
ciB3aWxsIGNhdXNlIGFueSBleGlzdGluZyBub24tbnVsbCBleHRyYSBkYXRhCisgICAgICAgIC8v
IHBvaW50ZXIgdG8gYmUgZGVsZXRlZC4KKyAgICAgICAgRXh0cmFEYXRhKiBleHRyYURhdGEoKSBj
b25zdCB7IHJldHVybiBtX2V4dHJhRGF0YS5nZXQoKTsgfQorICAgICAgICB2b2lkIHNldEV4dHJh
RGF0YShQYXNzUmVmUHRyPEV4dHJhRGF0YT4gZXh0cmFEYXRhKSB7IG1fZXh0cmFEYXRhID0gZXh0
cmFEYXRhOyB9CisKICAgICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0QmFzZTsKIApAQCAtMTE0LDYgKzEyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgaW50IG1fYXBwQ2FjaGVIb3N0SUQ7CiAgICAgICAgIGJvb2wgbV9oYXNVc2VyR2VzdHVy
ZTsKICAgICAgICAgYm9vbCBtX2Rvd25sb2FkVG9GaWxlOworICAgICAgICBSZWZQdHI8RXh0cmFE
YXRhPiBtX2V4dHJhRGF0YTsKICAgICB9OwogCiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXF1ZXN0RGF0YSA6IHB1YmxpYyBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMTkyMTk2ZTRhOTJlNTEyZDQ5ZTA1OGYz
YmU4MDUwMTFkNWVkYmFlZS4uYTU3ZGY5YmYwNzVmZGM5MzRhYzczMDAwYzIyMDQ2ZmY1MmUwMGRm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wNS0x
OCAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIGFkZCBleHRyYURh
dGEgZmllbGQgdG8gcmVzb3VyY2UgcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDMzCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwaToKKyAg
ICAgICAgKiBwdWJsaWMvV2ViVVJMUmVxdWVzdC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxS
ZXF1ZXN0OjpFeHRyYURhdGE6On5FeHRyYURhdGEpOgorICAgICAgICAqIHNyYy9XZWJVUkxSZXF1
ZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6ZXh0cmFEYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6c2V0RXh0cmFEYXRhKToKKyAgICAgICAgKiB0
ZXN0cy9XZWJVUkxSZXF1ZXN0VGVzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpUZXN0
RXh0cmFEYXRhOjpUZXN0RXh0cmFEYXRhKToKKyAgICAgICAgKFdlYktpdDo6VGVzdEV4dHJhRGF0
YTo6flRlc3RFeHRyYURhdGEpOgorICAgICAgICAoV2ViS2l0OjpURVNUKToKKwogMjAxMS0wNS0x
NyAgVGFvIEJhaSAgPG1pY2hhZWxiYWlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCmluZGV4IGYwZTRk
MzFhMGU4NTc4ZjYzNTU4YTZjNDgwMGM4YWEyNmViMzMyNjEuLmNkOGZmZGU3M2E0NjhhMjk4Zjc0
YTllOTczN2ZlYWU3ZWIwNWJmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQpAQCAt
NjgsNiArNjgsNyBAQAogICAgICAgICAgICAgJ3Rlc3RzL1RyZWVUZXN0SGVscGVycy5jcHAnLAog
ICAgICAgICAgICAgJ3Rlc3RzL1RyZWVUZXN0SGVscGVycy5oJywKICAgICAgICAgICAgICd0ZXN0
cy9XZWJGcmFtZVRlc3QuY3BwJywKKyAgICAgICAgICAgICd0ZXN0cy9XZWJVUkxSZXF1ZXN0VGVz
dC5jcHAnLAogICAgICAgICBdLAogCiAgICAgICAgICdjb25kaXRpb25zJzogWwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5oCmluZGV4IGQ4OGM3YjlkY2Jh
ZWEwZTM4NzU0NjQ1ZWQ5MzE1NDM5MTM3YTU2YzcuLjE1ZjFmZjE1NmZlMmJhOGZmNmJhMGMzMmI1
NDlkNGYzZTEyNjI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlVSTFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJV
UkxSZXF1ZXN0LmgKQEAgLTU2LDYgKzU2LDExIEBAIHB1YmxpYzoKICAgICAgICAgUmV0dXJuQ2Fj
aGVEYXRhRG9udExvYWQsIC8vIHJlc3VsdHMgb2YgYSBwb3N0IC0gYWxsb3cgc3RhbGUgZGF0YSBh
bmQgb25seSB1c2UgY2FjaGUKICAgICB9OwogCisgICAgY2xhc3MgRXh0cmFEYXRhIHsKKyAgICBw
dWJsaWM6CisgICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsgfQorICAgIH07CisKICAgICBl
bnVtIFRhcmdldFR5cGUgewogICAgICAgICBUYXJnZXRJc01haW5GcmFtZSA9IDAsCiAgICAgICAg
IFRhcmdldElzU3ViZnJhbWUgPSAxLApAQCAtMTY0LDYgKzE2OSwxMyBAQCBwdWJsaWM6CiAgICAg
V0VCS0lUX0FQSSBib29sIGRvd25sb2FkVG9GaWxlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0FQSSB2
b2lkIHNldERvd25sb2FkVG9GaWxlKGJvb2wpOwogCisgICAgLy8gRXh0cmEgZGF0YSBhc3NvY2lh
dGVkIHdpdGggdGhpcyByZXF1ZXN0LiBJZiBub24tbnVsbCwgdGhlIGV4dHJhIGRhdGEKKyAgICAv
LyBwb2ludGVyIHdpbGwgYmUgZGVsZXRlZCB3aGVuIHRoZSByZXF1ZXN0IGlzIGRlc3Ryb3llZC4g
U2V0dGluZyB0aGUgZXh0cmEKKyAgICAvLyBkYXRhIHBvaW50ZXIgd2lsbCBjYXVzZSBhbnkgZXhp
c3Rpbmcgbm9uLW51bGwgZXh0cmEgZGF0YSBwb2ludGVyIHRvIGJlCisgICAgLy8gZGVsZXRlZC4K
KyAgICBXRUJLSVRfQVBJIEV4dHJhRGF0YSogZXh0cmFEYXRhKCkgY29uc3Q7CisgICAgV0VCS0lU
X0FQSSB2b2lkIHNldEV4dHJhRGF0YShFeHRyYURhdGEqKTsKKwogI2lmIGRlZmluZWQoV0VCS0lU
X0lNUExFTUVOVEFUSU9OKQogICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgdG9NdXRhYmxl
UmVzb3VyY2VSZXF1ZXN0KCk7CiAgICAgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiB0
b1Jlc291cmNlUmVxdWVzdCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVVJMUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJVUkxSZXF1ZXN0LmNwcAppbmRleCA0NzEzOWIzNjUzNzQzYjhiOWQ1NWYwOTI1YTAxMzRiOGZi
ZjY0ZGI3Li5kZjVlYTAwZjYxOTM4MTAzODA3ZmMzMDIzMDU2ZDBmNjEwNGE1N2U5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJVUkxSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJVUkxSZXF1ZXN0LmNwcApAQCAtNDIsNiArNDIs
MjcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitu
YW1lc3BhY2UgeworCitjbGFzcyBFeHRyYURhdGFDb250YWluZXIgOiBwdWJsaWMgUmVzb3VyY2VS
ZXF1ZXN0OjpFeHRyYURhdGEgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV4dHJh
RGF0YUNvbnRhaW5lcj4gY3JlYXRlKFdlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YSogZXh0cmFEYXRh
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgRXh0cmFEYXRhQ29udGFpbmVyKGV4dHJhRGF0YSkpOyB9
CisKKyAgICB2aXJ0dWFsIH5FeHRyYURhdGFDb250YWluZXIoKSB7IH0KKworICAgIFdlYlVSTFJl
cXVlc3Q6OkV4dHJhRGF0YSogZXh0cmFEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9leHRyYURhdGEu
Z2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBFeHRyYURhdGFDb250YWluZXIoV2Vi
VVJMUmVxdWVzdDo6RXh0cmFEYXRhKiBleHRyYURhdGEpCisgICAgICAgIDogbV9leHRyYURhdGEo
YWRvcHRQdHIoZXh0cmFEYXRhKSkKKyAgICB7CisgICAgfQorCisgICAgT3duUHRyPFdlYlVSTFJl
cXVlc3Q6OkV4dHJhRGF0YT4gbV9leHRyYURhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCiAv
LyBUaGUgc3RhbmRhcmQgaW1wbGVtZW50YXRpb24gb2YgV2ViVVJMUmVxdWVzdFByaXZhdGUsIHdo
aWNoIG1haW50YWlucwogLy8gb3duZXJzaGlwIG9mIGEgUmVzb3VyY2VSZXF1ZXN0IGluc3RhbmNl
LgogY2xhc3MgV2ViVVJMUmVxdWVzdFByaXZhdGVJbXBsIDogcHVibGljIFdlYlVSTFJlcXVlc3RQ
cml2YXRlIHsKQEAgLTI3Niw2ICsyOTcsMjAgQEAgdm9pZCBXZWJVUkxSZXF1ZXN0OjpzZXREb3du
bG9hZFRvRmlsZShib29sIGRvd25sb2FkVG9GaWxlKQogICAgIG1fcHJpdmF0ZS0+bV9yZXNvdXJj
ZVJlcXVlc3QtPnNldERvd25sb2FkVG9GaWxlKGRvd25sb2FkVG9GaWxlKTsKIH0KIAorV2ViVVJM
UmVxdWVzdDo6RXh0cmFEYXRhKiBXZWJVUkxSZXF1ZXN0OjpleHRyYURhdGEoKSBjb25zdAorewor
ICAgIFJlZlB0cjxSZXNvdXJjZVJlcXVlc3Q6OkV4dHJhRGF0YT4gZGF0YSA9IG1fcHJpdmF0ZS0+
bV9yZXNvdXJjZVJlcXVlc3QtPmV4dHJhRGF0YSgpOworICAgIGlmICghZGF0YS5nZXQoKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEV4dHJhRGF0YUNvbnRhaW5l
cio+KGRhdGEuZ2V0KCkpLT5leHRyYURhdGEoKTsKK30KKwordm9pZCBXZWJVUkxSZXF1ZXN0Ojpz
ZXRFeHRyYURhdGEoV2ViVVJMUmVxdWVzdDo6RXh0cmFEYXRhKiBleHRyYURhdGEpCit7CisgICAg
UmVmUHRyPEV4dHJhRGF0YUNvbnRhaW5lcj4gY29udGFpbmVyID0gRXh0cmFEYXRhQ29udGFpbmVy
OjpjcmVhdGUoZXh0cmFEYXRhKTsKKyAgICBtX3ByaXZhdGUtPm1fcmVzb3VyY2VSZXF1ZXN0LT5z
ZXRFeHRyYURhdGEoY29udGFpbmVyKTsKK30KKwogUmVzb3VyY2VSZXF1ZXN0JiBXZWJVUkxSZXF1
ZXN0Ojp0b011dGFibGVSZXNvdXJjZVJlcXVlc3QoKQogewogICAgIEFTU0VSVChtX3ByaXZhdGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVUkxSZXF1ZXN0
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYlVSTFJlcXVlc3RUZXN0
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44ZWE0YTk2NGZhYmZjNzJiY2U1Y2ZhM2YxMWE4ZjQxNzgxYzkzN2U0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJVUkxS
ZXF1ZXN0VGVzdC5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lu
Y2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKKworI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK25hbWVzcGFjZSB7CisKK2NsYXNzIFRlc3RFeHRyYURh
dGEgOiBwdWJsaWMgV2ViVVJMUmVxdWVzdDo6RXh0cmFEYXRhIHsKK3B1YmxpYzoKKyAgICBleHBs
aWNpdCBUZXN0RXh0cmFEYXRhKGJvb2wqIGFsaXZlKQorICAgICAgICA6IG1fYWxpdmUoYWxpdmUp
CisgICAgeworICAgICAgICAqYWxpdmUgPSB0cnVlOworICAgIH0KKworICAgIHZpcnR1YWwgflRl
c3RFeHRyYURhdGEoKSB7ICptX2FsaXZlID0gZmFsc2U7IH0KKworcHJpdmF0ZToKKyAgICBib29s
KiBtX2FsaXZlOworfTsKKworVEVTVChXZWJVUkxSZXF1ZXN0VGVzdCwgRXh0cmFEYXRhKQorewor
ICAgIGJvb2wgYWxpdmUgPSBmYWxzZTsKKyAgICB7CisgICAgICAgIFdlYlVSTFJlcXVlc3QgdXJs
UmVxdWVzdDsKKyAgICAgICAgVGVzdEV4dHJhRGF0YSogZXh0cmFEYXRhID0gbmV3IFRlc3RFeHRy
YURhdGEoJmFsaXZlKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoYWxpdmUpOworICAgICAgICB1cmxS
ZXF1ZXN0LmluaXRpYWxpemUoKTsKKyAgICAgICAgdXJsUmVxdWVzdC5zZXRFeHRyYURhdGEoZXh0
cmFEYXRhKTsKKyAgICAgICAgRVhQRUNUX0VRKGV4dHJhRGF0YSwgdXJsUmVxdWVzdC5leHRyYURh
dGEoKSk7CisgICAgfQorICAgIEVYUEVDVF9GQUxTRShhbGl2ZSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94127</attachid>
            <date>2011-05-19 15:25:34 -0700</date>
            <delta_ts>2011-05-19 15:28:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61033-20110520002531.patch</filename>
            <type>text/plain</type>
            <size>10039</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MGY0OGYzMzcwMmZlMzM1
NjQyOWEyMDhhYzdmOTc2Y2Q1NTRmNDFkLi5jNTIyM2MwNzc4N2YyM2I3MDgxMWYxZTEwOWU2MDA5
ZjEwYjFlYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTggIEpvY2hl
biBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBhZGQgZXh0cmFEYXRhIGZpZWxk
IHRvIHJlc291cmNlIHJlcXVlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MTAzMworCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1
bS9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6
RXh0cmFEYXRhOjp+RXh0cmFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dDo6ZXh0cmFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6c2V0RXh0
cmFEYXRhKToKKwogMjAxMS0wNS0xNiAgSmVyZW15IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVzdC5o
CmluZGV4IDA3YjMxZWJiNTBiMmZkZjY0ZjliMTg2YzBiNjUzZTA2Y2ExYTVmMWYuLmM5N2U1NGIx
YTJiMWRmYTNhZDI1MGE3MGJhYTc5YTk1M2UwZTU0ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaApA
QCAtMzAsMTIgKzMwLDIwIEBACiAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3RCYXNlLmgiCiAK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCiAgICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0IDogcHVibGljIFJlc291cmNlUmVxdWVzdEJhc2UgewogICAgIHB1Ymxp
YzoKKyAgICAgICAgY2xhc3MgRXh0cmFEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8RXh0cmFEYXRh
PiB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsg
fQorICAgICAgICB9OworCiAgICAgICAgIFJlc291cmNlUmVxdWVzdChjb25zdCBTdHJpbmcmIHVy
bCkgCiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVzdEJhc2UoS1VSTChQYXJzZWRVUkxTdHJp
bmcsIHVybCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVxdWVz
dG9ySUQoMCkKQEAgLTEwMCw2ICsxMDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBib29sIGRvd25sb2FkVG9GaWxlKCkgY29uc3QgeyByZXR1cm4gbV9kb3dubG9hZFRvRmlsZTsg
fQogICAgICAgICB2b2lkIHNldERvd25sb2FkVG9GaWxlKGJvb2wgZG93bmxvYWRUb0ZpbGUpIHsg
bV9kb3dubG9hZFRvRmlsZSA9IGRvd25sb2FkVG9GaWxlOyB9CiAKKyAgICAgICAgLy8gRXh0cmEg
ZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXF1ZXN0LgorICAgICAgICBFeHRyYURhdGEqIGV4
dHJhRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZXh0cmFEYXRhLmdldCgpOyB9CisgICAgICAgIHZv
aWQgc2V0RXh0cmFEYXRhKFBhc3NSZWZQdHI8RXh0cmFEYXRhPiBleHRyYURhdGEpIHsgbV9leHRy
YURhdGEgPSBleHRyYURhdGE7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBSZXNvdXJjZVJlcXVlc3RCYXNlOwogCkBAIC0xMTQsNiArMTI2LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBpbnQgbV9hcHBDYWNoZUhvc3RJRDsKICAgICAgICAgYm9vbCBtX2hh
c1VzZXJHZXN0dXJlOwogICAgICAgICBib29sIG1fZG93bmxvYWRUb0ZpbGU7CisgICAgICAgIFJl
ZlB0cjxFeHRyYURhdGE+IG1fZXh0cmFEYXRhOwogICAgIH07CiAKICAgICBzdHJ1Y3QgQ3Jvc3NU
aHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhIDogcHVibGljIENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YUJhc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxOTIxOTZlNGE5MmU1
MTJkNDllMDU4ZjNiZTgwNTAxMWQ1ZWRiYWVlLi5hNTdkZjliZjA3NWZkYzkzNGFjNzMwMDBjMjIw
NDZmZjUyZTAwZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBA
CisyMDExLTA1LTE4ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0g
YWRkIGV4dHJhRGF0YSBmaWVsZCB0byByZXNvdXJjZSByZXF1ZXN0cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzMKKworICAgICAgICAqIFdlYktp
dC5neXBpOgorICAgICAgICAqIHB1YmxpYy9XZWJVUkxSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YTo6fkV4dHJhRGF0YSk6CisgICAgICAgICogc3Jj
L1dlYlVSTFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpleHRy
YURhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpzZXRFeHRyYURhdGEpOgor
ICAgICAgICAqIHRlc3RzL1dlYlVSTFJlcXVlc3RUZXN0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OlRlc3RFeHRyYURhdGE6OlRlc3RFeHRyYURhdGEpOgorICAgICAgICAoV2ViS2l0OjpU
ZXN0RXh0cmFEYXRhOjp+VGVzdEV4dHJhRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlRFU1QpOgor
CiAyMDExLTA1LTE3ICBUYW8gQmFpICA8bWljaGFlbGJhaUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkK
aW5kZXggZjBlNGQzMWEwZTg1NzhmNjM1NThhNmM0ODAwYzhhYTI2ZWIzMzI2MS4uY2Q4ZmZkZTcz
YTQ2OGEyOThmNzRhOWU5NzM3ZmVhZTdlYjA1YmY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXBpCkBAIC02OCw2ICs2OCw3IEBACiAgICAgICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxw
ZXJzLmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxwZXJzLmgnLAogICAgICAg
ICAgICAgJ3Rlc3RzL1dlYkZyYW1lVGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RzL1dlYlVS
TFJlcXVlc3RUZXN0LmNwcCcsCiAgICAgICAgIF0sCiAKICAgICAgICAgJ2NvbmRpdGlvbnMnOiBb
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJVUkxSZXF1ZXN0
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJVUkxSZXF1ZXN0LmgKaW5kZXgg
ZDg4YzdiOWRjYmFlYTBlMzg3NTQ2NDVlZDkzMTU0MzkxMzdhNTZjNy4uODk1ZDZlYjc2YzBkODEw
MTMzNzFkYmNiNjljYjY2MjJkN2Q1MWYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlVSTFJlcXVlc3QuaApAQCAtNzIsNiArNzIsMTEgQEAgcHVibGljOgogICAgICAg
ICBUYXJnZXRJc0Zhdmljb24gPSAxMiwKICAgICB9OwogCisgICAgY2xhc3MgRXh0cmFEYXRhIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsgfQorICAgIH07CisK
ICAgICB+V2ViVVJMUmVxdWVzdCgpIHsgcmVzZXQoKTsgfQogCiAgICAgV2ViVVJMUmVxdWVzdCgp
IDogbV9wcml2YXRlKDApIHsgfQpAQCAtMTY0LDYgKzE2OSwxNSBAQCBwdWJsaWM6CiAgICAgV0VC
S0lUX0FQSSBib29sIGRvd25sb2FkVG9GaWxlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0FQSSB2b2lk
IHNldERvd25sb2FkVG9GaWxlKGJvb2wpOwogCisgICAgLy8gRXh0cmEgZGF0YSBhc3NvY2lhdGVk
IHdpdGggdGhlIHVuZGVybHlpbmcgcmVzb3VyY2UgcmVxdWVzdC4gUmVzb3VyY2UKKyAgICAvLyBy
ZXF1ZXN0cyBjYW4gYmUgY29waWVkLiBJZiBub24tbnVsbCwgZWFjaCBjb3B5IG9mIGEgcmVzb3Vy
Y2UgcmVxdWVzdHMKKyAgICAvLyBob2xkcyBhIHBvaW50ZXIgdG8gdGhlIGV4dHJhIGRhdGEsIGFu
ZCB0aGUgZXh0cmEgZGF0YSBwb2ludGVyIHdpbGwgYmUKKyAgICAvLyBkZWxldGVkIHdoZW4gdGhl
IGxhc3QgcmVzb3VyY2UgcmVxdWVzdCBpcyBkZXN0cm95ZWQuICBTZXR0aW5nIHRoZSBleHRyYQor
ICAgIC8vIGRhdGEgcG9pbnRlciB3aWxsIGNhdXNlIHRoZSB1bmRlcmx5aW5nIHJlc291cmNlIHJl
cXVlc3QgdG8gYmUKKyAgICAvLyBkaXNzb2NpYXRlZCBmcm9tIGFueSBleGlzdGluZyBub24tbnVs
bCBleHRyYSBkYXRhIHBvaW50ZXIuCisgICAgV0VCS0lUX0FQSSBFeHRyYURhdGEqIGV4dHJhRGF0
YSgpIGNvbnN0OworICAgIFdFQktJVF9BUEkgdm9pZCBzZXRFeHRyYURhdGEoRXh0cmFEYXRhKik7
CisKICNpZiBkZWZpbmVkKFdFQktJVF9JTVBMRU1FTlRBVElPTikKICAgICBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHRvTXV0YWJsZVJlc291cmNlUmVxdWVzdCgpOwogICAgIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgdG9SZXNvdXJjZVJlcXVlc3QoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlVSTFJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVVJMUmVxdWVzdC5jcHAKaW5kZXggNDcxMzliMzY1Mzc0
M2I4YjlkNTVmMDkyNWEwMTM0YjhmYmY2NGRiNy4uNjNhNzQzMWVlNDNmZmZmYTNkMzY1ODM4YTE2
NzI0YzQyZGU1YTM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
VVJMUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVVJMUmVx
dWVzdC5jcHAKQEAgLTQyLDYgKzQyLDI3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAorbmFtZXNwYWNlIHsKKworY2xhc3MgRXh0cmFEYXRhQ29udGFp
bmVyIDogcHVibGljIFJlc291cmNlUmVxdWVzdDo6RXh0cmFEYXRhIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxFeHRyYURhdGFDb250YWluZXI+IGNyZWF0ZShXZWJVUkxSZXF1ZXN0
OjpFeHRyYURhdGEqIGV4dHJhRGF0YSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IEV4dHJhRGF0YUNv
bnRhaW5lcihleHRyYURhdGEpKTsgfQorCisgICAgdmlydHVhbCB+RXh0cmFEYXRhQ29udGFpbmVy
KCkgeyB9CisKKyAgICBXZWJVUkxSZXF1ZXN0OjpFeHRyYURhdGEqIGV4dHJhRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fZXh0cmFEYXRhLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQg
RXh0cmFEYXRhQ29udGFpbmVyKFdlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YSogZXh0cmFEYXRhKQor
ICAgICAgICA6IG1fZXh0cmFEYXRhKGFkb3B0UHRyKGV4dHJhRGF0YSkpCisgICAgeworICAgIH0K
KworICAgIE93blB0cjxXZWJVUkxSZXF1ZXN0OjpFeHRyYURhdGE+IG1fZXh0cmFEYXRhOworfTsK
KworfSAvLyBuYW1lc3BhY2UKKwogLy8gVGhlIHN0YW5kYXJkIGltcGxlbWVudGF0aW9uIG9mIFdl
YlVSTFJlcXVlc3RQcml2YXRlLCB3aGljaCBtYWludGFpbnMKIC8vIG93bmVyc2hpcCBvZiBhIFJl
c291cmNlUmVxdWVzdCBpbnN0YW5jZS4KIGNsYXNzIFdlYlVSTFJlcXVlc3RQcml2YXRlSW1wbCA6
IHB1YmxpYyBXZWJVUkxSZXF1ZXN0UHJpdmF0ZSB7CkBAIC0yNzYsNiArMjk3LDE5IEBAIHZvaWQg
V2ViVVJMUmVxdWVzdDo6c2V0RG93bmxvYWRUb0ZpbGUoYm9vbCBkb3dubG9hZFRvRmlsZSkKICAg
ICBtX3ByaXZhdGUtPm1fcmVzb3VyY2VSZXF1ZXN0LT5zZXREb3dubG9hZFRvRmlsZShkb3dubG9h
ZFRvRmlsZSk7CiB9CiAKK1dlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YSogV2ViVVJMUmVxdWVzdDo6
ZXh0cmFEYXRhKCkgY29uc3QKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VSZXF1ZXN0OjpFeHRyYURh
dGE+IGRhdGEgPSBtX3ByaXZhdGUtPm1fcmVzb3VyY2VSZXF1ZXN0LT5leHRyYURhdGEoKTsKKyAg
ICBpZiAoIWRhdGEuZ2V0KCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxFeHRyYURhdGFDb250YWluZXIqPihkYXRhLmdldCgpKS0+ZXh0cmFEYXRhKCk7Cit9CisK
K3ZvaWQgV2ViVVJMUmVxdWVzdDo6c2V0RXh0cmFEYXRhKFdlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0
YSogZXh0cmFEYXRhKQoreworICAgIG1fcHJpdmF0ZS0+bV9yZXNvdXJjZVJlcXVlc3QtPnNldEV4
dHJhRGF0YShFeHRyYURhdGFDb250YWluZXI6OmNyZWF0ZShleHRyYURhdGEpKTsKK30KKwogUmVz
b3VyY2VSZXF1ZXN0JiBXZWJVUkxSZXF1ZXN0Ojp0b011dGFibGVSZXNvdXJjZVJlcXVlc3QoKQog
ewogICAgIEFTU0VSVChtX3ByaXZhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9XZWJVUkxSZXF1ZXN0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1dlYlVSTFJlcXVlc3RUZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzRkMDE0ODFhYmE1Y2Zm
Y2U5NjI1MWExYTNiNmEwM2MyYzk0ZmE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9XZWJVUkxSZXF1ZXN0VGVzdC5jcHAKQEAgLTAsMCArMSw3OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKKworI2luY2x1
ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK25hbWVzcGFj
ZSB7CisKK2NsYXNzIFRlc3RFeHRyYURhdGEgOiBwdWJsaWMgV2ViVVJMUmVxdWVzdDo6RXh0cmFE
YXRhIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBUZXN0RXh0cmFEYXRhKGJvb2wqIGFsaXZlKQor
ICAgICAgICA6IG1fYWxpdmUoYWxpdmUpCisgICAgeworICAgICAgICAqYWxpdmUgPSB0cnVlOwor
ICAgIH0KKworICAgIHZpcnR1YWwgflRlc3RFeHRyYURhdGEoKSB7ICptX2FsaXZlID0gZmFsc2U7
IH0KKworcHJpdmF0ZToKKyAgICBib29sKiBtX2FsaXZlOworfTsKKworVEVTVChXZWJVUkxSZXF1
ZXN0VGVzdCwgRXh0cmFEYXRhKQoreworICAgIGJvb2wgYWxpdmUgPSBmYWxzZTsKKyAgICB7Cisg
ICAgICAgIFdlYlVSTFJlcXVlc3QgdXJsUmVxdWVzdDsKKyAgICAgICAgVGVzdEV4dHJhRGF0YSog
ZXh0cmFEYXRhID0gbmV3IFRlc3RFeHRyYURhdGEoJmFsaXZlKTsKKyAgICAgICAgRVhQRUNUX1RS
VUUoYWxpdmUpOworCisgICAgICAgIHVybFJlcXVlc3QuaW5pdGlhbGl6ZSgpOworICAgICAgICB1
cmxSZXF1ZXN0LnNldEV4dHJhRGF0YShleHRyYURhdGEpOworICAgICAgICBFWFBFQ1RfRVEoZXh0
cmFEYXRhLCB1cmxSZXF1ZXN0LmV4dHJhRGF0YSgpKTsKKyAgICAgICAgeworICAgICAgICAgICAg
V2ViVVJMUmVxdWVzdCBvdGhlclVybFJlcXVlc3QgPSB1cmxSZXF1ZXN0OworICAgICAgICAgICAg
RVhQRUNUX1RSVUUoYWxpdmUpOworICAgICAgICAgICAgRVhQRUNUX0VRKGV4dHJhRGF0YSwgb3Ro
ZXJVcmxSZXF1ZXN0LmV4dHJhRGF0YSgpKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShleHRyYURh
dGEsIHVybFJlcXVlc3QuZXh0cmFEYXRhKCkpOworICAgICAgICB9CisgICAgICAgIEVYUEVDVF9U
UlVFKGFsaXZlKTsKKyAgICAgICAgRVhQRUNUX0VRKGV4dHJhRGF0YSwgdXJsUmVxdWVzdC5leHRy
YURhdGEoKSk7CisgICAgfQorICAgIEVYUEVDVF9GQUxTRShhbGl2ZSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94129</attachid>
            <date>2011-05-19 15:28:57 -0700</date>
            <delta_ts>2011-05-21 04:04:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61033-20110520002855.patch</filename>
            <type>text/plain</type>
            <size>10038</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MGY0OGYzMzcwMmZlMzM1
NjQyOWEyMDhhYzdmOTc2Y2Q1NTRmNDFkLi5jNTIyM2MwNzc4N2YyM2I3MDgxMWYxZTEwOWU2MDA5
ZjEwYjFlYTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTggIEpvY2hl
biBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBhZGQgZXh0cmFEYXRhIGZpZWxk
IHRvIHJlc291cmNlIHJlcXVlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MTAzMworCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1
bS9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6
RXh0cmFEYXRhOjp+RXh0cmFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dDo6ZXh0cmFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6c2V0RXh0
cmFEYXRhKToKKwogMjAxMS0wNS0xNiAgSmVyZW15IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1Jlc291cmNlUmVxdWVzdC5o
CmluZGV4IDA3YjMxZWJiNTBiMmZkZjY0ZjliMTg2YzBiNjUzZTA2Y2ExYTVmMWYuLmM5N2U1NGIx
YTJiMWRmYTNhZDI1MGE3MGJhYTc5YTk1M2UwZTU0ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJjZVJlcXVlc3QuaApA
QCAtMzAsMTIgKzMwLDIwIEBACiAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3RCYXNlLmgiCiAK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCiAgICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0IDogcHVibGljIFJlc291cmNlUmVxdWVzdEJhc2UgewogICAgIHB1Ymxp
YzoKKyAgICAgICAgY2xhc3MgRXh0cmFEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8RXh0cmFEYXRh
PiB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsg
fQorICAgICAgICB9OworCiAgICAgICAgIFJlc291cmNlUmVxdWVzdChjb25zdCBTdHJpbmcmIHVy
bCkgCiAgICAgICAgICAgICA6IFJlc291cmNlUmVxdWVzdEJhc2UoS1VSTChQYXJzZWRVUkxTdHJp
bmcsIHVybCksIFVzZVByb3RvY29sQ2FjaGVQb2xpY3kpCiAgICAgICAgICAgICAsIG1fcmVxdWVz
dG9ySUQoMCkKQEAgLTEwMCw2ICsxMDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBib29sIGRvd25sb2FkVG9GaWxlKCkgY29uc3QgeyByZXR1cm4gbV9kb3dubG9hZFRvRmlsZTsg
fQogICAgICAgICB2b2lkIHNldERvd25sb2FkVG9GaWxlKGJvb2wgZG93bmxvYWRUb0ZpbGUpIHsg
bV9kb3dubG9hZFRvRmlsZSA9IGRvd25sb2FkVG9GaWxlOyB9CiAKKyAgICAgICAgLy8gRXh0cmEg
ZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXF1ZXN0LgorICAgICAgICBFeHRyYURhdGEqIGV4
dHJhRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZXh0cmFEYXRhLmdldCgpOyB9CisgICAgICAgIHZv
aWQgc2V0RXh0cmFEYXRhKFBhc3NSZWZQdHI8RXh0cmFEYXRhPiBleHRyYURhdGEpIHsgbV9leHRy
YURhdGEgPSBleHRyYURhdGE7IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBSZXNvdXJjZVJlcXVlc3RCYXNlOwogCkBAIC0xMTQsNiArMTI2LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBpbnQgbV9hcHBDYWNoZUhvc3RJRDsKICAgICAgICAgYm9vbCBtX2hh
c1VzZXJHZXN0dXJlOwogICAgICAgICBib29sIG1fZG93bmxvYWRUb0ZpbGU7CisgICAgICAgIFJl
ZlB0cjxFeHRyYURhdGE+IG1fZXh0cmFEYXRhOwogICAgIH07CiAKICAgICBzdHJ1Y3QgQ3Jvc3NU
aHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhIDogcHVibGljIENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YUJhc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxOTIxOTZlNGE5MmU1
MTJkNDllMDU4ZjNiZTgwNTAxMWQ1ZWRiYWVlLi5hNTdkZjliZjA3NWZkYzkzNGFjNzMwMDBjMjIw
NDZmZjUyZTAwZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBA
CisyMDExLTA1LTE4ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0g
YWRkIGV4dHJhRGF0YSBmaWVsZCB0byByZXNvdXJjZSByZXF1ZXN0cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzMKKworICAgICAgICAqIFdlYktp
dC5neXBpOgorICAgICAgICAqIHB1YmxpYy9XZWJVUkxSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YTo6fkV4dHJhRGF0YSk6CisgICAgICAgICogc3Jj
L1dlYlVSTFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpleHRy
YURhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpzZXRFeHRyYURhdGEpOgor
ICAgICAgICAqIHRlc3RzL1dlYlVSTFJlcXVlc3RUZXN0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OlRlc3RFeHRyYURhdGE6OlRlc3RFeHRyYURhdGEpOgorICAgICAgICAoV2ViS2l0OjpU
ZXN0RXh0cmFEYXRhOjp+VGVzdEV4dHJhRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OlRFU1QpOgor
CiAyMDExLTA1LTE3ICBUYW8gQmFpICA8bWljaGFlbGJhaUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkK
aW5kZXggZjBlNGQzMWEwZTg1NzhmNjM1NThhNmM0ODAwYzhhYTI2ZWIzMzI2MS4uY2Q4ZmZkZTcz
YTQ2OGEyOThmNzRhOWU5NzM3ZmVhZTdlYjA1YmY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXBpCkBAIC02OCw2ICs2OCw3IEBACiAgICAgICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxw
ZXJzLmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvVHJlZVRlc3RIZWxwZXJzLmgnLAogICAgICAg
ICAgICAgJ3Rlc3RzL1dlYkZyYW1lVGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RzL1dlYlVS
TFJlcXVlc3RUZXN0LmNwcCcsCiAgICAgICAgIF0sCiAKICAgICAgICAgJ2NvbmRpdGlvbnMnOiBb
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJVUkxSZXF1ZXN0
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJVUkxSZXF1ZXN0LmgKaW5kZXgg
ZDg4YzdiOWRjYmFlYTBlMzg3NTQ2NDVlZDkzMTU0MzkxMzdhNTZjNy4uNTcxODJmNmZiNDMzNTZm
OGEzMDY1MjI4MmEyMDFjY2ExYmU2MjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlVSTFJlcXVlc3QuaApAQCAtNzIsNiArNzIsMTEgQEAgcHVibGljOgogICAgICAg
ICBUYXJnZXRJc0Zhdmljb24gPSAxMiwKICAgICB9OwogCisgICAgY2xhc3MgRXh0cmFEYXRhIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsgfQorICAgIH07CisK
ICAgICB+V2ViVVJMUmVxdWVzdCgpIHsgcmVzZXQoKTsgfQogCiAgICAgV2ViVVJMUmVxdWVzdCgp
IDogbV9wcml2YXRlKDApIHsgfQpAQCAtMTY0LDYgKzE2OSwxNSBAQCBwdWJsaWM6CiAgICAgV0VC
S0lUX0FQSSBib29sIGRvd25sb2FkVG9GaWxlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0FQSSB2b2lk
IHNldERvd25sb2FkVG9GaWxlKGJvb2wpOwogCisgICAgLy8gRXh0cmEgZGF0YSBhc3NvY2lhdGVk
IHdpdGggdGhlIHVuZGVybHlpbmcgcmVzb3VyY2UgcmVxdWVzdC4gUmVzb3VyY2UKKyAgICAvLyBy
ZXF1ZXN0cyBjYW4gYmUgY29waWVkLiBJZiBub24tbnVsbCwgZWFjaCBjb3B5IG9mIGEgcmVzb3Vy
Y2UgcmVxdWVzdHMKKyAgICAvLyBob2xkcyBhIHBvaW50ZXIgdG8gdGhlIGV4dHJhIGRhdGEsIGFu
ZCB0aGUgZXh0cmEgZGF0YSBwb2ludGVyIHdpbGwgYmUKKyAgICAvLyBkZWxldGVkIHdoZW4gdGhl
IGxhc3QgcmVzb3VyY2UgcmVxdWVzdCBpcyBkZXN0cm95ZWQuIFNldHRpbmcgdGhlIGV4dHJhCisg
ICAgLy8gZGF0YSBwb2ludGVyIHdpbGwgY2F1c2UgdGhlIHVuZGVybHlpbmcgcmVzb3VyY2UgcmVx
dWVzdCB0byBiZQorICAgIC8vIGRpc3NvY2lhdGVkIGZyb20gYW55IGV4aXN0aW5nIG5vbi1udWxs
IGV4dHJhIGRhdGEgcG9pbnRlci4KKyAgICBXRUJLSVRfQVBJIEV4dHJhRGF0YSogZXh0cmFEYXRh
KCkgY29uc3Q7CisgICAgV0VCS0lUX0FQSSB2b2lkIHNldEV4dHJhRGF0YShFeHRyYURhdGEqKTsK
KwogI2lmIGRlZmluZWQoV0VCS0lUX0lNUExFTUVOVEFUSU9OKQogICAgIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgdG9NdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCk7CiAgICAgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiB0b1Jlc291cmNlUmVxdWVzdCgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVVJMUmVxdWVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJVUkxSZXF1ZXN0LmNwcAppbmRleCA0NzEzOWIzNjUzNzQz
YjhiOWQ1NWYwOTI1YTAxMzRiOGZiZjY0ZGI3Li42M2E3NDMxZWU0M2ZmZmZhM2QzNjU4MzhhMTY3
MjRjNDJkZTVhMzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJV
UkxSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJVUkxSZXF1
ZXN0LmNwcApAQCAtNDIsNiArNDIsMjcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCituYW1lc3BhY2UgeworCitjbGFzcyBFeHRyYURhdGFDb250YWlu
ZXIgOiBwdWJsaWMgUmVzb3VyY2VSZXF1ZXN0OjpFeHRyYURhdGEgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEV4dHJhRGF0YUNvbnRhaW5lcj4gY3JlYXRlKFdlYlVSTFJlcXVlc3Q6
OkV4dHJhRGF0YSogZXh0cmFEYXRhKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRXh0cmFEYXRhQ29u
dGFpbmVyKGV4dHJhRGF0YSkpOyB9CisKKyAgICB2aXJ0dWFsIH5FeHRyYURhdGFDb250YWluZXIo
KSB7IH0KKworICAgIFdlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YSogZXh0cmFEYXRhKCkgY29uc3Qg
eyByZXR1cm4gbV9leHRyYURhdGEuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBF
eHRyYURhdGFDb250YWluZXIoV2ViVVJMUmVxdWVzdDo6RXh0cmFEYXRhKiBleHRyYURhdGEpCisg
ICAgICAgIDogbV9leHRyYURhdGEoYWRvcHRQdHIoZXh0cmFEYXRhKSkKKyAgICB7CisgICAgfQor
CisgICAgT3duUHRyPFdlYlVSTFJlcXVlc3Q6OkV4dHJhRGF0YT4gbV9leHRyYURhdGE7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZQorCiAvLyBUaGUgc3RhbmRhcmQgaW1wbGVtZW50YXRpb24gb2YgV2Vi
VVJMUmVxdWVzdFByaXZhdGUsIHdoaWNoIG1haW50YWlucwogLy8gb3duZXJzaGlwIG9mIGEgUmVz
b3VyY2VSZXF1ZXN0IGluc3RhbmNlLgogY2xhc3MgV2ViVVJMUmVxdWVzdFByaXZhdGVJbXBsIDog
cHVibGljIFdlYlVSTFJlcXVlc3RQcml2YXRlIHsKQEAgLTI3Niw2ICsyOTcsMTkgQEAgdm9pZCBX
ZWJVUkxSZXF1ZXN0OjpzZXREb3dubG9hZFRvRmlsZShib29sIGRvd25sb2FkVG9GaWxlKQogICAg
IG1fcHJpdmF0ZS0+bV9yZXNvdXJjZVJlcXVlc3QtPnNldERvd25sb2FkVG9GaWxlKGRvd25sb2Fk
VG9GaWxlKTsKIH0KIAorV2ViVVJMUmVxdWVzdDo6RXh0cmFEYXRhKiBXZWJVUkxSZXF1ZXN0Ojpl
eHRyYURhdGEoKSBjb25zdAoreworICAgIFJlZlB0cjxSZXNvdXJjZVJlcXVlc3Q6OkV4dHJhRGF0
YT4gZGF0YSA9IG1fcHJpdmF0ZS0+bV9yZXNvdXJjZVJlcXVlc3QtPmV4dHJhRGF0YSgpOworICAg
IGlmICghZGF0YS5nZXQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEV4dHJhRGF0YUNvbnRhaW5lcio+KGRhdGEuZ2V0KCkpLT5leHRyYURhdGEoKTsKK30KKwor
dm9pZCBXZWJVUkxSZXF1ZXN0OjpzZXRFeHRyYURhdGEoV2ViVVJMUmVxdWVzdDo6RXh0cmFEYXRh
KiBleHRyYURhdGEpCit7CisgICAgbV9wcml2YXRlLT5tX3Jlc291cmNlUmVxdWVzdC0+c2V0RXh0
cmFEYXRhKEV4dHJhRGF0YUNvbnRhaW5lcjo6Y3JlYXRlKGV4dHJhRGF0YSkpOworfQorCiBSZXNv
dXJjZVJlcXVlc3QmIFdlYlVSTFJlcXVlc3Q6OnRvTXV0YWJsZVJlc291cmNlUmVxdWVzdCgpCiB7
CiAgICAgQVNTRVJUKG1fcHJpdmF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL1dlYlVSTFJlcXVlc3RUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvV2ViVVJMUmVxdWVzdFRlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNGQwMTQ4MWFiYTVjZmZj
ZTk2MjUxYTFhM2I2YTAzYzJjOTRmYTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL1dlYlVSTFJlcXVlc3RUZXN0LmNwcApAQCAtMCwwICsxLDc4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV2ViVVJMUmVxdWVzdC5oIgorCisjaW5jbHVk
ZSA8Z3Rlc3QvZ3Rlc3QuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworbmFtZXNwYWNl
IHsKKworY2xhc3MgVGVzdEV4dHJhRGF0YSA6IHB1YmxpYyBXZWJVUkxSZXF1ZXN0OjpFeHRyYURh
dGEgeworcHVibGljOgorICAgIGV4cGxpY2l0IFRlc3RFeHRyYURhdGEoYm9vbCogYWxpdmUpCisg
ICAgICAgIDogbV9hbGl2ZShhbGl2ZSkKKyAgICB7CisgICAgICAgICphbGl2ZSA9IHRydWU7Cisg
ICAgfQorCisgICAgdmlydHVhbCB+VGVzdEV4dHJhRGF0YSgpIHsgKm1fYWxpdmUgPSBmYWxzZTsg
fQorCitwcml2YXRlOgorICAgIGJvb2wqIG1fYWxpdmU7Cit9OworCitURVNUKFdlYlVSTFJlcXVl
c3RUZXN0LCBFeHRyYURhdGEpCit7CisgICAgYm9vbCBhbGl2ZSA9IGZhbHNlOworICAgIHsKKyAg
ICAgICAgV2ViVVJMUmVxdWVzdCB1cmxSZXF1ZXN0OworICAgICAgICBUZXN0RXh0cmFEYXRhKiBl
eHRyYURhdGEgPSBuZXcgVGVzdEV4dHJhRGF0YSgmYWxpdmUpOworICAgICAgICBFWFBFQ1RfVFJV
RShhbGl2ZSk7CisKKyAgICAgICAgdXJsUmVxdWVzdC5pbml0aWFsaXplKCk7CisgICAgICAgIHVy
bFJlcXVlc3Quc2V0RXh0cmFEYXRhKGV4dHJhRGF0YSk7CisgICAgICAgIEVYUEVDVF9FUShleHRy
YURhdGEsIHVybFJlcXVlc3QuZXh0cmFEYXRhKCkpOworICAgICAgICB7CisgICAgICAgICAgICBX
ZWJVUkxSZXF1ZXN0IG90aGVyVXJsUmVxdWVzdCA9IHVybFJlcXVlc3Q7CisgICAgICAgICAgICBF
WFBFQ1RfVFJVRShhbGl2ZSk7CisgICAgICAgICAgICBFWFBFQ1RfRVEoZXh0cmFEYXRhLCBvdGhl
clVybFJlcXVlc3QuZXh0cmFEYXRhKCkpOworICAgICAgICAgICAgRVhQRUNUX0VRKGV4dHJhRGF0
YSwgdXJsUmVxdWVzdC5leHRyYURhdGEoKSk7CisgICAgICAgIH0KKyAgICAgICAgRVhQRUNUX1RS
VUUoYWxpdmUpOworICAgICAgICBFWFBFQ1RfRVEoZXh0cmFEYXRhLCB1cmxSZXF1ZXN0LmV4dHJh
RGF0YSgpKTsKKyAgICB9CisgICAgRVhQRUNUX0ZBTFNFKGFsaXZlKTsKK30KKworfSAvLyBuYW1l
c3BhY2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>