<?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>100014</bug_id>
          
          <creation_ts>2012-10-22 11:02:17 -0700</creation_ts>
          <short_desc>IndexedDB: Bounds check for IDBCursor.advance() incorrect</short_desc>
          <delta_ts>2012-10-22 14:53:41 -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>WebCore Misc.</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 name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dgrogan</cc>
    
    <cc>hans</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>747693</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 11:02:17 -0700</bug_when>
    <thetext>c/o http://crbug.com/151927

../../third_party/WebKit/Source/WebCore/Modules/indexeddb/IDBCursor.cpp:174:28:error: comparison of constant 9007199254740991 with expression of type &apos;long&apos; is always false [-Werror,-Wtautological-constant-out-of-range-compare]

  if (count &lt; 1 || count &gt; maxECMAScriptInteger) {

count is a long. This comparison should be against 2^32-1 not 2^53-1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747702</commentid>
    <comment_count>1</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2012-10-22 11:09:12 -0700</bug_when>
    <thetext>Thanks for looking at this!

(In reply to comment #0)
&gt; count is a long. This comparison should be against 2^32-1 not 2^53-1

Should that be 2^31-1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747712</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 11:23:48 -0700</bug_when>
    <thetext>Hrm.... this actually gets tricky. The WebIDL in the spec for this is:

http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#cursor

void advance ([EnforceRange] unsigned long count);

And WebIDL says:

http://dev.w3.org/2006/webapi/WebIDL/#es-unsigned-long

&quot;If the conversion to an IDL value is being performed due to ... being passed as an operation argument annotated with the [EnforceRange] extended attribute ... then ... if x &lt; 0 or x &gt; 2^32 − 1, then throw a TypeError&quot;

It would be 2^31-1 if it were a (signed) long. We actually have this marked as |long| in the WebKit IDL to avoid default handling of negative values since [EnforceRange] isn&apos;t implemented. Correct behavior of [EnforceRange] is in webkit.org/b/96798 which is blocked on a v8 bug. 

As it stands now, passing 2^32-1 actually fails with a TypeError as well, which is incorrect. This is because V8Binding.cpp&apos;s toInt32 conversion for out of bound values returns 0.

So I should probably flip the IDL back to &quot;unsigned long&quot;, leave only the 0 test in the code, and add 2^31-1 (ok), 2^31 (ok), 2^32-1 (ok), and 2^32 (type error) as test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747753</commentid>
    <comment_count>3</comment_count>
      <attachid>169954</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 12:08:44 -0700</bug_when>
    <thetext>Created attachment 169954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747769</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 12:21:10 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; 
&gt; So I should probably flip the IDL back to &quot;unsigned long&quot;, leave only the 0 test in the code, and add 2^31-1 (ok), 2^31 (ok), 2^32-1 (ok), and 2^32 (type error) as test cases.

... but I actually had to convert it (temporarily) to &quot;long long&quot; as the binding code&apos;s toUint32() conversion for &quot;unsigned long&quot; was not doing the right thing either. *sigh*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747781</commentid>
    <comment_count>5</comment_count>
      <attachid>169954</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-22 12:35:56 -0700</bug_when>
    <thetext>Comment on attachment 169954
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBCursor.cpp:173
&gt; +    const unsigned long maxUnsignedLong = 0xffffffff;

Can we use ULONG_MAX or numeric_limits&lt;unsigned long&gt;()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747783</commentid>
    <comment_count>6</comment_count>
      <attachid>169954</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 12:39:36 -0700</bug_when>
    <thetext>Comment on attachment 169954
Patch

Attachment 169954 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14499260</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747850</commentid>
    <comment_count>7</comment_count>
      <attachid>169976</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 13:54:56 -0700</bug_when>
    <thetext>Created attachment 169976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747855</commentid>
    <comment_count>8</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-22 13:56:33 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Can we use ULONG_MAX or numeric_limits&lt;unsigned long&gt;()?

Done (with UINT_MAX - turns out ULONG_MAX ends up being the unsigned long long max...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747923</commentid>
    <comment_count>9</comment_count>
      <attachid>169976</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 14:53:37 -0700</bug_when>
    <thetext>Comment on attachment 169976
Patch

Clearing flags on attachment: 169976

Committed r132140: &lt;http://trac.webkit.org/changeset/132140&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747924</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 14:53:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169954</attachid>
            <date>2012-10-22 12:08:44 -0700</date>
            <delta_ts>2012-10-22 13:54:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100014-20121022120722.patch</filename>
            <type>text/plain</type>
            <size>7769</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQzOGU4YjlkZGJlOWUx
NjFmOTI2MTA4ZmMzMTQxYmY0MjU2ZmQyYy4uYjgwZDZmODczNDQ2NGZlZWRmZWY2YTQ2OGMzZTg0
ZjZhNmE5MGI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTIyICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBCb3Vu
ZHMgY2hlY2sgZm9yIElEQkN1cnNvci5hZHZhbmNlKCkgaW5jb3JyZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwMTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggaW50cm9kdWNlZCBieSB0cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0LzEzMTY1OCByZXN0cmljdGVkIGN1cnNvci5hZHZhbmNlKCkn
cyBhcmd1bWVudAorICAgICAgICBhcyBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxvbmcs
IGJ1dCBpdCdzIHR5cGVkIGFzIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmc7IHRoZQorICAg
ICAgICB1c2VsZXNzIGNvbXBhcmlzb24gd2FzIGNhdWdodCBieSBhIGNsYW5nIGNoZWNrLgorCisg
ICAgICAgIEluIGxpZXUgb2Ygd2Via2l0Lm9yZy9iLzk2Nzk4IG1ha2UgaXQgbG9uZyBsb25nIGFu
ZCBjb3JyZWN0IHRoZSByYW5nZSBjaGVjay4KKworICAgICAgICBUZXN0OiBzdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjphZHZhbmNlKToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaDoKKyAgICAgICAgKElEQkN1cnNv
cik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbDoKKwogMjAxMi0x
MC0yMiAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEhUTUxC
YXNlRWxlbWVudCBocmVmIGF0dHJpYnV0ZSBiaW5kaW5nIHJldHVybnMgd3JvbmcgVVJMCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcAppbmRleCA5OTBl
M2E0NTUxNTEzOTA5NWI1NWI1ZGM2ZWE5MDdkZGMyMjhhNDE5Li41YThlYzQxNGViM2NiN2YwMjc1
MmIwZjU3NTdmZTY1ODUwZmRkMTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkN1cnNvci5jcHAKQEAgLTE1Niw3ICsxNTYsNyBAQCBQYXNzUmVmUHRyPElEQlJl
cXVlc3Q+IElEQkN1cnNvcjo6dXBkYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFNjcmlwdAogICAgIHJldHVybiBvYmplY3RTdG9yZS0+cHV0KElEQk9iamVjdFN0b3JlQmFja2Vu
ZEludGVyZmFjZTo6Q3Vyc29yVXBkYXRlLCBJREJBbnk6OmNyZWF0ZSh0aGlzKSwgY29udGV4dCwg
dmFsdWUsIG1fY3VycmVudFByaW1hcnlLZXksIGVjKTsKIH0KIAotdm9pZCBJREJDdXJzb3I6OmFk
dmFuY2UobG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIElEQkN1cnNvcjo6YWR2
YW5jZShsb25nIGxvbmcgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIElEQl9UUkFD
RSgiSURCQ3Vyc29yOjphZHZhbmNlIik7CiAgICAgaWYgKCFtX2dvdFZhbHVlKSB7CkBAIC0xNzAs
OCArMTcwLDggQEAgdm9pZCBJREJDdXJzb3I6OmFkdmFuY2UobG9uZyBjb3VudCwgRXhjZXB0aW9u
Q29kZSYgZWMpCiAgICAgfQogCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG9ubHkgbmVlZCB0
byBjaGVjayBmb3IgMCBvbmNlIHdlYmtpdC5vcmcvYi85Njc5OCBsYW5kcy4KLSAgICBjb25zdCBp
bnQ2NF90IG1heEVDTUFTY3JpcHRJbnRlZ2VyID0gMHgyMDAwMDAwMDAwMDAwMExMIC0gMTsKLSAg
ICBpZiAoY291bnQgPCAxIHx8IGNvdW50ID4gbWF4RUNNQVNjcmlwdEludGVnZXIpIHsKKyAgICBj
b25zdCB1bnNpZ25lZCBsb25nIG1heFVuc2lnbmVkTG9uZyA9IDB4ZmZmZmZmZmY7CisgICAgaWYg
KGNvdW50IDwgMSB8fCBjb3VudCA+IG1heFVuc2lnbmVkTG9uZykgewogICAgICAgICBlYyA9IE5B
VElWRV9UWVBFX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKaW5kZXggNTU4OWMyMjJmYzU3YThiNTJmNmUz
ZjY1ZWJiNjljMmU3ZjIyMjVlMC4uYzk4NTJiNmMxZTE2MDg0ZDRiZTg3OGQ5NTg2YzQ4MDEyMzdk
Y2I4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgK
QEAgLTc2LDcgKzc2LDggQEAgcHVibGljOgogICAgIElEQkFueSogc291cmNlKCkgY29uc3Q7CiAK
ICAgICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IHVwZGF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgU2NyaXB0VmFsdWUmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBhZHZhbmNlKGxvbmcs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHVuc2lnbmVkIGxvbmcg
b25jZSB3ZWJraXQub3JnL2IvOTY3OTggbGFuZHMuCisgICAgdm9pZCBhZHZhbmNlKGxvbmcgbG9u
ZywgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgY29udGludWVGdW5jdGlvbihQYXNzUmVmUHRy
PElEQktleT4sIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IGRl
bGV0ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsCmluZGV4
IGI1MTRmZTk1MTdhYmNiMWNiNjg5NzI4NTkwYWI0ODU2YjM4ZTU5N2QuLjBkOWRkMGFkMWUyZjk5
MTJiZjUzNDYxMWNlNDgzYTU4YTFjZmIyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbApAQCAtNDAsNyArNDAsNyBAQAogICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJSZXF1ZXN0IHVwZGF0ZShpbiBhbnkgdmFsdWUp
CiAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOwogICAgIC8vIEZJWE1FOiBN
YWtlIHRoaXMgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBvbmNlIHdlYmtpdC5vcmcvYi85
Njc5OCBsYW5kcy4KLSAgICB2b2lkIGFkdmFuY2UoaW4gbG9uZyBjb3VudCkKKyAgICB2b2lkIGFk
dmFuY2UoaW4gbG9uZyBsb25nIGNvdW50KQogICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhj
ZXB0aW9uKTsKICAgICBbSW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uXSB2b2lkIGNvbnRp
bnVlKGluIFtPcHRpb25hbF0gSURCS2V5IGtleSkKICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFz
ZUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWIyNjhjNTgwY2Q2NGM1ZTZmYTgzNDgxNzdhZWZiYTg1MzM2
NzJhNC4uOWMwZGYxNjIyOWNjZGUzZTdmOWJjMGMzMjBiMWY2MTFhYmNkMDE0ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDEyLTEwLTIyICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBCb3VuZHMgY2hlY2sgZm9yIElEQkN1cnNvci5hZHZh
bmNlKCkgaW5jb3JyZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDAwMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBc3NlcnQgdGhhdCBhZHZhbmNlKDJeMzIpIHRocm93cyBhbmQgYWR2YW5jZSgyXjMy
LTEpIGRvZXMgbm90LCBwZXIgV2ViSURMLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLWFkdmFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9jdXJzb3ItYWR2YW5jZS5qczoKKyAgICAgICAgKHRlc3RCYWRBZHZhbmNlLmFk
dmFuY2VCYWRseSk6CisgICAgICAgICh0ZXN0QmFkQWR2YW5jZSk6CisgICAgICAgICh0ZXN0RWRn
ZXMucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAgICAgICAodGVzdEVkZ2VzKToKKwogMjAxMi0xMC0y
MiAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEhUTUxCYXNl
RWxlbWVudCBocmVmIGF0dHJpYnV0ZSBiaW5kaW5nIHJldHVybnMgd3JvbmcgVVJMCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS1leHBl
Y3RlZC50eHQKaW5kZXggN2FhNmY3MTM1M2I5ZmI2NmRjOTRkMjcwZjkyM2E1YjczNmQxMDMyYy4u
NmZkYzZlNzViZjJiZDExOWFiMzA4M2IyMWIxYjVkN2U3OGRhMjFiNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWFkdmFuY2UtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVjdGVk
LnR4dApAQCAtMTQwLDkgKzE0MCwyNiBAQCBQQVNTIGN1cnNvci5hZHZhbmNlKDApIHRocmV3IFR5
cGVFcnJvcjogVHlwZSBlcnJvcgogRXhwZWN0aW5nIFR5cGVFcnJvciBleGNlcHRpb24gZnJvbSBj
dXJzb3IuYWR2YW5jZSgtMSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGN1cnNv
ci5hZHZhbmNlKC0xKSB0aHJldyBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0V4cGVjdGluZyBUeXBl
RXJyb3IgZXhjZXB0aW9uIGZyb20gY3Vyc29yLmFkdmFuY2UoMHgxMDAwMDAwMDApCitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjdXJzb3IuYWR2YW5jZSgweDEwMDAwMDAwMCkgdGhy
ZXcgVHlwZUVycm9yOiBUeXBlIGVycm9yCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBm
cm9tIGN1cnNvci5hZHZhbmNlKDB4MjAwMDAwMDAwMDAwMDApCiBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjdXJzb3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IKKwordGVzdEVkZ2VzKCk6Cit0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KG9iamVjdFN0b3JlTmFtZSwgJ3JlYWRvbmx5JykKK29iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0
U3RvcmUob2JqZWN0U3RvcmVOYW1lKQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLm9wZW5DdXJzb3Io
KQorCitvblN1Y2Nlc3MoKToKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1MgY3Vy
c29yIGlzIG5vbi1udWxsLgorY3Vyc29yLmFkdmFuY2UoMHhmZmZmZmZmZikKKworb25TdWNjZXNz
KCk6CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0CitQQVNTIGN1cnNvciBpcyBudWxsCiB0
ZXN0RGVsZXRlKCkKIHRyYW5zID0gZGIudHJhbnNhY3Rpb24ob2JqZWN0U3RvcmVOYW1lLCAncmVh
ZHdyaXRlJykKIG9iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1l
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2N1
cnNvci1hZHZhbmNlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L2N1cnNvci1hZHZhbmNlLmpzCmluZGV4IDIwMDExYjg1ZGI5MWFmZGVmNzc0MDgxZTlmNTYxYzUx
MGE1YTEwZWEuLjY4NjhhNzVjNjgxNDU4ODU3ZmRmYzIyN2EzNTBhZDFmMTg2YjMzYTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9jdXJzb3ItYWR2
YW5jZS5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvY3Vy
c29yLWFkdmFuY2UuanMKQEAgLTMzMSwxMiArMzMxLDM4IEBAIGZ1bmN0aW9uIHRlc3RCYWRBZHZh
bmNlKCkKIAogICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uQ2xhc3MoImN1cnNvci5hZHZh
bmNlKDApIiwgIlR5cGVFcnJvciIpOwogICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uQ2xh
c3MoImN1cnNvci5hZHZhbmNlKC0xKSIsICJUeXBlRXJyb3IiKTsKKyAgICAgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbkNsYXNzKCJjdXJzb3IuYWR2YW5jZSgweDEwMDAwMDAwMCkiLCAiVHlwZUVy
cm9yIik7CiAgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb25DbGFzcygiY3Vyc29yLmFkdmFu
Y2UoMHgyMDAwMDAwMDAwMDAwMCkiLCAiVHlwZUVycm9yIik7Ci0gICAgICAgIHRlc3REZWxldGUo
KTsKKyAgICAgICAgdGVzdEVkZ2VzKCk7CiAgICAgfQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
YWR2YW5jZUJhZGx5OwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOworfQorCitmdW5jdGlvbiB0ZXN0RWRnZXMoKQoreworICAgIHByZWFtYmxlKCk7CisgICAg
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUsICdyZWFk
b25seScpIik7CisgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwor
CisgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVj
dFN0b3JlKG9iamVjdFN0b3JlTmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2Jq
ZWN0U3RvcmUub3BlbkN1cnNvcigpIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisKKyAgICBmaXJzdFN1Y2Nlc3MgPSB0cnVlOworICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gZnVuY3Rpb24gb25TdWNjZXNzKGV2dCkgeworICAgICAgICBwcmVhbWJsZShl
dmVudCk7CisgICAgICAgIGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICAgICAgaWYgKGZpcnN0U3VjY2VzcykgeworICAgICAgICAgICAgc2hvdWxkQmVOb25O
dWxsKCJjdXJzb3IiKTsKKyAgICAgICAgICAgIGZpcnN0U3VjY2VzcyA9IGZhbHNlOworICAgICAg
ICAgICAgZXZhbEFuZExvZygiY3Vyc29yLmFkdmFuY2UoMHhmZmZmZmZmZikiKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlTnVsbCgiY3Vyc29yIik7CisgICAgICAgIH0K
KyAgICB9OwogCisgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3REZWxldGU7CiB9CiAKIGZ1bmN0
aW9uIHRlc3REZWxldGUoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169976</attachid>
            <date>2012-10-22 13:54:56 -0700</date>
            <delta_ts>2012-10-22 14:53:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100014-20121022135334.patch</filename>
            <type>text/plain</type>
            <size>7865</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQzOGU4YjlkZGJlOWUx
NjFmOTI2MTA4ZmMzMTQxYmY0MjU2ZmQyYy4uYjgwZDZmODczNDQ2NGZlZWRmZWY2YTQ2OGMzZTg0
ZjZhNmE5MGI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTIyICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBCb3Vu
ZHMgY2hlY2sgZm9yIElEQkN1cnNvci5hZHZhbmNlKCkgaW5jb3JyZWN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwMTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggaW50cm9kdWNlZCBieSB0cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0LzEzMTY1OCByZXN0cmljdGVkIGN1cnNvci5hZHZhbmNlKCkn
cyBhcmd1bWVudAorICAgICAgICBhcyBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxvbmcs
IGJ1dCBpdCdzIHR5cGVkIGFzIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmc7IHRoZQorICAg
ICAgICB1c2VsZXNzIGNvbXBhcmlzb24gd2FzIGNhdWdodCBieSBhIGNsYW5nIGNoZWNrLgorCisg
ICAgICAgIEluIGxpZXUgb2Ygd2Via2l0Lm9yZy9iLzk2Nzk4IG1ha2UgaXQgbG9uZyBsb25nIGFu
ZCBjb3JyZWN0IHRoZSByYW5nZSBjaGVjay4KKworICAgICAgICBUZXN0OiBzdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjphZHZhbmNlKToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaDoKKyAgICAgICAgKElEQkN1cnNv
cik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbDoKKwogMjAxMi0x
MC0yMiAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEhUTUxC
YXNlRWxlbWVudCBocmVmIGF0dHJpYnV0ZSBiaW5kaW5nIHJldHVybnMgd3JvbmcgVVJMCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcAppbmRleCA5OTBl
M2E0NTUxNTEzOTA5NWI1NWI1ZGM2ZWE5MDdkZGMyMjhhNDE5Li5jYTIxNmQ5ZDIzMWM5ZDM4YjYx
Y2FhNjkyMTMxMTg5ZjcxODNjNjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkN1cnNvci5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJJREJUcmFu
c2FjdGlvbi5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTU2LDcgKzE1Nyw3IEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCQ3Vy
c29yOjp1cGRhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgU2NyaXB0CiAgICAg
cmV0dXJuIG9iamVjdFN0b3JlLT5wdXQoSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlOjpD
dXJzb3JVcGRhdGUsIElEQkFueTo6Y3JlYXRlKHRoaXMpLCBjb250ZXh0LCB2YWx1ZSwgbV9jdXJy
ZW50UHJpbWFyeUtleSwgZWMpOwogfQogCi12b2lkIElEQkN1cnNvcjo6YWR2YW5jZShsb25nIGNv
dW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgSURCQ3Vyc29yOjphZHZhbmNlKGxvbmcgbG9u
ZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSURCX1RSQUNFKCJJREJDdXJzb3I6
OmFkdmFuY2UiKTsKICAgICBpZiAoIW1fZ290VmFsdWUpIHsKQEAgLTE3MCw4ICsxNzEsNyBAQCB2
b2lkIElEQkN1cnNvcjo6YWR2YW5jZShsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAg
ICB9CiAKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgb25seSBuZWVkIHRvIGNoZWNrIGZvciAw
IG9uY2Ugd2Via2l0Lm9yZy9iLzk2Nzk4IGxhbmRzLgotICAgIGNvbnN0IGludDY0X3QgbWF4RUNN
QVNjcmlwdEludGVnZXIgPSAweDIwMDAwMDAwMDAwMDAwTEwgLSAxOwotICAgIGlmIChjb3VudCA8
IDEgfHwgY291bnQgPiBtYXhFQ01BU2NyaXB0SW50ZWdlcikgeworICAgIGlmIChjb3VudCA8IDEg
fHwgY291bnQgPiBVSU5UX01BWCkgewogICAgICAgICBlYyA9IE5BVElWRV9UWVBFX0VSUjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCQ3Vyc29yLmgKaW5kZXggNTU4OWMyMjJmYzU3YThiNTJmNmUzZjY1ZWJiNjljMmU3ZjIyMjVl
MC4uYzk4NTJiNmMxZTE2MDg0ZDRiZTg3OGQ5NTg2YzQ4MDEyMzdkY2I4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKQEAgLTc2LDcgKzc2LDggQEAg
cHVibGljOgogICAgIElEQkFueSogc291cmNlKCkgY29uc3Q7CiAKICAgICBQYXNzUmVmUHRyPElE
QlJlcXVlc3Q+IHVwZGF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgU2NyaXB0VmFsdWUmLCBF
eGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBhZHZhbmNlKGxvbmcsIEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHVuc2lnbmVkIGxvbmcgb25jZSB3ZWJraXQub3JnL2Iv
OTY3OTggbGFuZHMuCisgICAgdm9pZCBhZHZhbmNlKGxvbmcgbG9uZywgRXhjZXB0aW9uQ29kZSYp
OwogICAgIHZvaWQgY29udGludWVGdW5jdGlvbihQYXNzUmVmUHRyPElEQktleT4sIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IGRlbGV0ZUZ1bmN0aW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsCmluZGV4IGI1MTRmZTk1MTdhYmNiMWNi
Njg5NzI4NTkwYWI0ODU2YjM4ZTU5N2QuLjBkOWRkMGFkMWUyZjk5MTJiZjUzNDYxMWNlNDgzYTU4
YTFjZmIyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkN1cnNvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yLmlkbApAQCAtNDAsNyArNDAsNyBAQAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBJREJSZXF1ZXN0IHVwZGF0ZShpbiBhbnkgdmFsdWUpCiAgICAgICAgIHJhaXNlcyAo
SURCRGF0YWJhc2VFeGNlcHRpb24pOwogICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMgW0VuZm9yY2VS
YW5nZV0gdW5zaWduZWQgbG9uZyBvbmNlIHdlYmtpdC5vcmcvYi85Njc5OCBsYW5kcy4KLSAgICB2
b2lkIGFkdmFuY2UoaW4gbG9uZyBjb3VudCkKKyAgICB2b2lkIGFkdmFuY2UoaW4gbG9uZyBsb25n
IGNvdW50KQogICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsKICAgICBbSW1w
bGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uXSB2b2lkIGNvbnRpbnVlKGluIFtPcHRpb25hbF0g
SURCS2V5IGtleSkKICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMWIyNjhjNTgwY2Q2NGM1ZTZmYTgzNDgxNzdhZWZiYTg1MzM2NzJhNC4uOWMwZGYxNjIyOWNj
ZGUzZTdmOWJjMGMzMjBiMWY2MTFhYmNkMDE0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEy
LTEwLTIyICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5k
ZXhlZERCOiBCb3VuZHMgY2hlY2sgZm9yIElEQkN1cnNvci5hZHZhbmNlKCkgaW5jb3JyZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwMTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBc3NlcnQgdGhh
dCBhZHZhbmNlKDJeMzIpIHRocm93cyBhbmQgYWR2YW5jZSgyXjMyLTEpIGRvZXMgbm90LCBwZXIg
V2ViSURMLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWFkdmFuY2UtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9jdXJzb3It
YWR2YW5jZS5qczoKKyAgICAgICAgKHRlc3RCYWRBZHZhbmNlLmFkdmFuY2VCYWRseSk6CisgICAg
ICAgICh0ZXN0QmFkQWR2YW5jZSk6CisgICAgICAgICh0ZXN0RWRnZXMucmVxdWVzdC5vbnN1Y2Nl
c3MpOgorICAgICAgICAodGVzdEVkZ2VzKToKKwogMjAxMi0xMC0yMiAgRXJpayBBcnZpZHNzb24g
IDxhcnZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEhUTUxCYXNlRWxlbWVudCBocmVmIGF0dHJp
YnV0ZSBiaW5kaW5nIHJldHVybnMgd3JvbmcgVVJMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS1leHBlY3RlZC50eHQKaW5kZXggN2Fh
NmY3MTM1M2I5ZmI2NmRjOTRkMjcwZjkyM2E1YjczNmQxMDMyYy4uNmZkYzZlNzViZjJiZDExOWFi
MzA4M2IyMWIxYjVkN2U3OGRhMjFiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLWFkdmFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVjdGVkLnR4dApAQCAtMTQwLDkgKzE0
MCwyNiBAQCBQQVNTIGN1cnNvci5hZHZhbmNlKDApIHRocmV3IFR5cGVFcnJvcjogVHlwZSBlcnJv
cgogRXhwZWN0aW5nIFR5cGVFcnJvciBleGNlcHRpb24gZnJvbSBjdXJzb3IuYWR2YW5jZSgtMSkK
IFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGN1cnNvci5hZHZhbmNlKC0xKSB0aHJl
dyBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK0V4cGVjdGluZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZy
b20gY3Vyc29yLmFkdmFuY2UoMHgxMDAwMDAwMDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjdXJzb3IuYWR2YW5jZSgweDEwMDAwMDAwMCkgdGhyZXcgVHlwZUVycm9yOiBUeXBl
IGVycm9yCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBmcm9tIGN1cnNvci5hZHZhbmNl
KDB4MjAwMDAwMDAwMDAwMDApCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjdXJz
b3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IFR5cGUgZXJyb3IK
KwordGVzdEVkZ2VzKCk6Cit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKG9iamVjdFN0b3JlTmFtZSwg
J3JlYWRvbmx5JykKK29iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVO
YW1lKQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLm9wZW5DdXJzb3IoKQorCitvblN1Y2Nlc3MoKToK
K2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK1BBU1MgY3Vyc29yIGlzIG5vbi1udWxsLgor
Y3Vyc29yLmFkdmFuY2UoMHhmZmZmZmZmZikKKworb25TdWNjZXNzKCk6CitjdXJzb3IgPSBldmVu
dC50YXJnZXQucmVzdWx0CitQQVNTIGN1cnNvciBpcyBudWxsCiB0ZXN0RGVsZXRlKCkKIHRyYW5z
ID0gZGIudHJhbnNhY3Rpb24ob2JqZWN0U3RvcmVOYW1lLCAncmVhZHdyaXRlJykKIG9iamVjdFN0
b3JlID0gdHJhbnMub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2N1cnNvci1hZHZhbmNlLmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2N1cnNvci1hZHZhbmNlLmpz
CmluZGV4IDIwMDExYjg1ZGI5MWFmZGVmNzc0MDgxZTlmNTYxYzUxMGE1YTEwZWEuLjY4NjhhNzVj
NjgxNDU4ODU3ZmRmYzIyN2EzNTBhZDFmMTg2YjMzYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9jdXJzb3ItYWR2YW5jZS5qcworKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvY3Vyc29yLWFkdmFuY2UuanMKQEAg
LTMzMSwxMiArMzMxLDM4IEBAIGZ1bmN0aW9uIHRlc3RCYWRBZHZhbmNlKCkKIAogICAgICAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uQ2xhc3MoImN1cnNvci5hZHZhbmNlKDApIiwgIlR5cGVFcnJv
ciIpOwogICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uQ2xhc3MoImN1cnNvci5hZHZhbmNl
KC0xKSIsICJUeXBlRXJyb3IiKTsKKyAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbkNsYXNz
KCJjdXJzb3IuYWR2YW5jZSgweDEwMDAwMDAwMCkiLCAiVHlwZUVycm9yIik7CiAgICAgICAgIGV2
YWxBbmRFeHBlY3RFeGNlcHRpb25DbGFzcygiY3Vyc29yLmFkdmFuY2UoMHgyMDAwMDAwMDAwMDAw
MCkiLCAiVHlwZUVycm9yIik7Ci0gICAgICAgIHRlc3REZWxldGUoKTsKKyAgICAgICAgdGVzdEVk
Z2VzKCk7CiAgICAgfQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYWR2YW5jZUJhZGx5OwogICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlv
biB0ZXN0RWRnZXMoKQoreworICAgIHByZWFtYmxlKCk7CisgICAgZXZhbEFuZExvZygidHJhbnMg
PSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUsICdyZWFkb25seScpIik7CisgICAgdHJh
bnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOworCisgICAgb2JqZWN0U3RvcmUg
PSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKG9iamVjdFN0b3Jl
TmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUub3BlbkN1cnNv
cigpIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisK
KyAgICBmaXJzdFN1Y2Nlc3MgPSB0cnVlOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24gb25TdWNjZXNzKGV2dCkgeworICAgICAgICBwcmVhbWJsZShldmVudCk7CisgICAgICAgIGV2
YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICAgICAgaWYgKGZp
cnN0U3VjY2VzcykgeworICAgICAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJjdXJzb3IiKTsKKyAg
ICAgICAgICAgIGZpcnN0U3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgZXZhbEFuZExvZygi
Y3Vyc29yLmFkdmFuY2UoMHhmZmZmZmZmZikiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHNob3VsZEJlTnVsbCgiY3Vyc29yIik7CisgICAgICAgIH0KKyAgICB9OwogCisgICAgdHJh
bnMub25jb21wbGV0ZSA9IHRlc3REZWxldGU7CiB9CiAKIGZ1bmN0aW9uIHRlc3REZWxldGUoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>