<?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>110206</bug_id>
          
          <creation_ts>2013-02-19 04:03:52 -0800</creation_ts>
          <short_desc>[v8] ScriptValue has dangerous copy semantics</short_desc>
          <delta_ts>2013-03-01 08:26:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>110376</dependson>
          <blocked>111002</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Dan Carney">dcarney</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>dglazkov</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>836209</commentid>
    <comment_count>0</comment_count>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 04:03:52 -0800</bug_when>
    <thetext>[v8] ScriptValue has dangerous copy semantics</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836212</commentid>
    <comment_count>1</comment_count>
      <attachid>189048</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 04:07:25 -0800</bug_when>
    <thetext>Created attachment 189048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836227</commentid>
    <comment_count>2</comment_count>
      <attachid>189048</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-19 04:28:50 -0800</bug_when>
    <thetext>Comment on attachment 189048
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Update ScriptValue to use a reference counted ScopedPersistent
&gt; +        as the existing implementation makes it easy to return dead references.

Would you elaborate on what is dangerous?

We&apos;re intentionally replacing SharedPersistent with ScopedPersistent, since it is easy to misuse SharedPersistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836255</commentid>
    <comment_count>3</comment_count>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 04:55:21 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 189048 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189048&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Update ScriptValue to use a reference counted ScopedPersistent
&gt; &gt; +        as the existing implementation makes it easy to return dead references.
&gt; 
&gt; Would you elaborate on what is dangerous?
&gt; 
&gt; We&apos;re intentionally replacing SharedPersistent with ScopedPersistent, since it is easy to misuse SharedPersistent.

The following returns a disposed handle:

v8::Handle&lt;v8::Value&gt; someFunction() {
  ScriptValue value = getSomeValue();
  return value-&gt;v8Value();
  // Should be
  // return v8::Local&lt;v8::Value&gt;::New(value.v8Value());
}

This happens in a few places around the codebase.  I&apos;m fixing them one by one, but in IDBAny::toV8, I cannot do it, as toV8 is expected to return a persistent handle and I don&apos;t want to change the semantics for one case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836267</commentid>
    <comment_count>4</comment_count>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 05:15:51 -0800</bug_when>
    <thetext>
&gt; We&apos;re intentionally replacing SharedPersistent with ScopedPersistent, since it is easy to misuse SharedPersistent.

With my proposed change, only the v8Value() function remains a problem, and I think there are a number of ways around the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836310</commentid>
    <comment_count>5</comment_count>
      <attachid>189072</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 06:19:29 -0800</bug_when>
    <thetext>Created attachment 189072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836312</commentid>
    <comment_count>6</comment_count>
      <attachid>189072</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 06:21:09 -0800</bug_when>
    <thetext>Comment on attachment 189072
Patch

Local::New is really the only way to solve these problems, so I&apos;m giving it a try here.  Otherwise the v8Value is simply too dangerous, as it&apos;s bound to the life of these ScriptValue objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836470</commentid>
    <comment_count>7</comment_count>
      <attachid>189072</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-19 09:11:38 -0800</bug_when>
    <thetext>Comment on attachment 189072
Patch

The change looks better than before.

In terms of performance, is it really worth introducing v8ValueRaw() ? What happens if you always create a new local handle in v8Value() ? I think that Local::New() is very light as long as you pass an Isolate parameter to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836476</commentid>
    <comment_count>8</comment_count>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 09:16:36 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 189072 [details])
&gt; The change looks better than before.
&gt; 
&gt; In terms of performance, is it really worth introducing v8ValueRaw() ? What happens if you always create a new local handle in v8Value() ? I think that Local::New() is very light as long as you pass an Isolate parameter to it.

I didn&apos;t add expose v8ValueRaw() because of performance, but because there are places it&apos;s used without a handlescope.  Perhaps those can be fixed, but first I wanted the basic concept working correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836478</commentid>
    <comment_count>9</comment_count>
      <attachid>189072</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-19 09:19:21 -0800</bug_when>
    <thetext>Comment on attachment 189072
Patch

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

Understood. Let&apos;s kill v8ValueRaw() in a follow-up.

&gt; Source/WebCore/ChangeLog:9
&gt; +        Update ScriptValue to use a reference counted ScopedPersistent
&gt; +        as the existing implementation makes it easy to return dead references.

Update the ChangeLog.

&gt; Source/WebCore/bindings/v8/ScriptValue.h:138
&gt; +    v8::Handle&lt;v8::Value&gt; v8ValueRaw() const

Please add FIXME to indicate that v8ValueRaw() should be deprecated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837209</commentid>
    <comment_count>10</comment_count>
      <attachid>189253</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-02-19 23:16:46 -0800</bug_when>
    <thetext>Created attachment 189253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837274</commentid>
    <comment_count>11</comment_count>
      <attachid>189253</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 02:00:20 -0800</bug_when>
    <thetext>Comment on attachment 189253
Patch

Clearing flags on attachment: 189253

Committed r143441: &lt;http://trac.webkit.org/changeset/143441&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837275</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 02:00:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837710</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-20 13:44:18 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 110376</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843336</commentid>
    <comment_count>14</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-27 11:57:08 -0800</bug_when>
    <thetext>*** Bug 105363 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843348</commentid>
    <comment_count>15</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2013-02-27 12:05:01 -0800</bug_when>
    <thetext>See also, bug 111002 which works around some of this in IDB land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843356</commentid>
    <comment_count>16</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2013-02-27 12:08:39 -0800</bug_when>
    <thetext>And I can confirm that this patch fixes the IDB V8 flakiness issues that we&apos;ve been seeing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844964</commentid>
    <comment_count>17</comment_count>
      <attachid>190915</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-03-01 02:42:55 -0800</bug_when>
    <thetext>Created attachment 190915
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844966</commentid>
    <comment_count>18</comment_count>
      <attachid>190915</attachid>
    <who name="Dan Carney">dcarney</who>
    <bug_when>2013-03-01 02:43:36 -0800</bug_when>
    <thetext>Comment on attachment 190915
Patch

rebased. trying again to roll into chrome</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845198</commentid>
    <comment_count>19</comment_count>
      <attachid>190915</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 08:26:39 -0800</bug_when>
    <thetext>Comment on attachment 190915
Patch

Clearing flags on attachment: 190915

Committed r144458: &lt;http://trac.webkit.org/changeset/144458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845199</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 08:26:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189048</attachid>
            <date>2013-02-19 04:07:25 -0800</date>
            <delta_ts>2013-02-19 06:19:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110206-20130219130347.patch</filename>
            <type>text/plain</type>
            <size>6908</size>
            <attacher name="Dan Carney">dcarney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQwMzg5NmEyMDU0OTIw
MWZlNTIzMjg2MzQ0ZWU0ZTg5ZmYzY2FkZi4uNjA2YzMyNDNhYjE2ZDcwYmRhYjYyMmExNTlkZmYz
MWNjMTQyMWM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAyLTE5ICBEYW4g
Q2FybmV5ICA8ZGNhcm5leUBnb29nbGUuY29tPgorCisgICAgICAgIFt2OF0gU2NyaXB0VmFsdWUg
aGFzIGRhbmdlcm91cyBjb3B5IHNlbWFudGljcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMjA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFNjcmlwdFZhbHVlIHRvIHVzZSBhIHJlZmVyZW5j
ZSBjb3VudGVkIFNjb3BlZFBlcnNpc3RlbnQKKyAgICAgICAgYXMgdGhlIGV4aXN0aW5nIGltcGxl
bWVudGF0aW9uIG1ha2VzIGl0IGVhc3kgdG8gcmV0dXJuIGRlYWQgcmVmZXJlbmNlcy4KKworICAg
ICAgICBObyBuZXcgdGVzdHMuIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisgICAgICAg
ICogYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
VmFsdWU6OmdldFN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6dG9TdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6OnRvSW5zcGVjdG9yVmFsdWUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRWYWx1ZTo6U2NyaXB0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6
Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6b3BlcmF0b3I9PSk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6aXNFcXVhbCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRWYWx1ZTo6aXNGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRW
YWx1ZTo6aXNOdWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjppc1VuZGVmaW5l
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6aXNPYmplY3QpOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0VmFsdWU6Omhhc05vVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
aXB0VmFsdWU6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjp2OFZhbHVl
KToKKyAgICAgICAgKFNjcmlwdFZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TaGFyZWRQ
ZXJzaXN0ZW50Lmg6CisKIDIwMTMtMDItMTggIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW1dLMl1bRUZMXSBVbmlmaWVkIHRleHQgY2hl
Y2tlciBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0VmFs
dWUuY3BwCmluZGV4IDA3OTk5NDg1MzNjYWIzNTRhOWYxZWIyNWM5NjAyZDk1YmI3ZGI5NGUuLjgy
ZDEwODhjYzBmMzczM2E3MmE1ZDkzODUwMjdhOGM2YThmZmVlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRWYWx1ZS5jcHAKQEAgLTY0LDIwICs2NCwyMCBAQCBTY3JpcHRW
YWx1ZSBTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBT
ZXJpYWxpemVkU2NyaXB0VgogCiBib29sIFNjcmlwdFZhbHVlOjpnZXRTdHJpbmcoU3RyaW5nJiBy
ZXN1bHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fdmFsdWUuaXNFbXB0eSgpKQorICAgIGlmIChoYXNO
b1ZhbHVlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghbV92YWx1ZS0+SXNT
dHJpbmcoKSkKKyAgICBpZiAoIXY4VmFsdWUoKS0+SXNTdHJpbmcoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgcmVzdWx0ID0gdG9XZWJDb3JlU3RyaW5nKG1fdmFsdWUuZ2V0KCkpOwor
ICAgIHJlc3VsdCA9IHRvV2ViQ29yZVN0cmluZyh2OFZhbHVlKCkpOwogICAgIHJldHVybiB0cnVl
OwogfQogCiBTdHJpbmcgU2NyaXB0VmFsdWU6OnRvU3RyaW5nKFNjcmlwdFN0YXRlKikgY29uc3QK
IHsKICAgICB2ODo6VHJ5Q2F0Y2ggYmxvY2s7Ci0gICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBz
dHJpbmcgPSBtX3ZhbHVlLT5Ub1N0cmluZygpOworICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4g
c3RyaW5nID0gdjhWYWx1ZSgpLT5Ub1N0cmluZygpOwogICAgIGlmIChibG9jay5IYXNDYXVnaHQo
KSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgIHJldHVybiB2OFN0cmluZ1RvV2ViQ29y
ZVN0cmluZzxTdHJpbmc+KHN0cmluZywgRG9Ob3RFeHRlcm5hbGl6ZSk7CkBAIC0xNDIsNyArMTQy
LDcgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gU2NyaXB0VmFsdWU6OnRvSW5zcGVjdG9y
VmFsdWUoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXQKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxl
U2NvcGU7CiAgICAgLy8gdjg6Ok9iamVjdDo6R2V0UHJvcGVydHlOYW1lcygpIGV4cGVjdHMgY3Vy
cmVudCBjb250ZXh0IHRvIGJlIG5vdCBudWxsLgogICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250
ZXh0U2NvcGUoc2NyaXB0U3RhdGUtPmNvbnRleHQoKSk7Ci0gICAgcmV0dXJuIHY4VG9JbnNwZWN0
b3JWYWx1ZShtX3ZhbHVlLmdldCgpLCBJbnNwZWN0b3JWYWx1ZTo6bWF4RGVwdGgpOworICAgIHJl
dHVybiB2OFRvSW5zcGVjdG9yVmFsdWUodjhWYWx1ZSgpLCBJbnNwZWN0b3JWYWx1ZTo6bWF4RGVw
dGgpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRWYWx1ZS5o
CmluZGV4IGFhOGM5OTgzNDY0YzYwODIzYWI0NzFkMTczNGI2YTg3OTI4MTE5ODIuLmI1YzYxMzQ1
MmU0Mzg3ZTk1MTZkOGFjMzNjZTcyNDNhM2FjZjY3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0VmFsdWUuaApAQCAtMzEsOCArMzEsOCBAQAogI2lmbmRlZiBTY3JpcHRWYWx1
ZV9oCiAjZGVmaW5lIFNjcmlwdFZhbHVlX2gKIAotI2luY2x1ZGUgIlNjb3BlZFBlcnNpc3RlbnQu
aCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgIlNoYXJlZFBlcnNpc3RlbnQu
aCIKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtNjAsNDcgKzYwLDM3IEBAIHB1YmxpYzoKICAgICBTY3JpcHRW
YWx1ZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcmlwdFZhbHVlKCk7CiAKLSAgICBTY3JpcHRWYWx1
ZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpIAorICAgIFNjcmlwdFZhbHVlKHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB2YWx1ZSkKKyAgICAgICAgOiBtX3ZhbHVlKHZhbHVlLklzRW1wdHkoKSA/
IDAgOiBTaGFyZWRQZXJzaXN0ZW50PHY4OjpWYWx1ZT46OmNyZWF0ZSh2YWx1ZSkpCiAgICAgewot
ICAgICAgICBpZiAodmFsdWUuSXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICBtX3ZhbHVlLnNldCh2YWx1ZSk7CiAgICAgfQogCi0gICAgU2NyaXB0VmFsdWUoY29uc3QgU2Ny
aXB0VmFsdWUmIHZhbHVlKSAKKyAgICBTY3JpcHRWYWx1ZShjb25zdCBTY3JpcHRWYWx1ZSYgdmFs
dWUpCisgICAgICAgIDogbV92YWx1ZSh2YWx1ZS5tX3ZhbHVlKQogICAgIHsKLSAgICAgICAgaWYg
KHZhbHVlLmhhc05vVmFsdWUoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV92YWx1
ZS5zZXQodmFsdWUubV92YWx1ZS5nZXQoKSk7CiAgICAgfQogCiAgICAgU2NyaXB0VmFsdWUmIG9w
ZXJhdG9yPShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpIAogICAgIHsKLSAgICAgICAgaWYgKHRo
aXMgPT0gJnZhbHVlKSAKLSAgICAgICAgICAgIHJldHVybiAqdGhpczsKLQotICAgICAgICBtX3Zh
bHVlLmNsZWFyKCk7Ci0KLSAgICAgICAgaWYgKHZhbHVlLmhhc05vVmFsdWUoKSkKLSAgICAgICAg
ICAgIHJldHVybiAqdGhpczsKLQotICAgICAgICBtX3ZhbHVlLnNldCh2YWx1ZS5tX3ZhbHVlLmdl
dCgpKTsKKyAgICAgICAgaWYgKHRoaXMgIT0gJnZhbHVlKQorICAgICAgICAgICAgbV92YWx1ZSA9
IHZhbHVlLm1fdmFsdWU7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVlKSBjb25zdAogICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fdmFsdWUuZ2V0KCkgPT0gdmFsdWUubV92YWx1ZS5nZXQoKTsKKyAgICAgICAg
cmV0dXJuIHY4VmFsdWUoKSA9PSB2YWx1ZS52OFZhbHVlKCk7CiAgICAgfQogCiAgICAgYm9vbCBp
c0VxdWFsKFNjcmlwdFN0YXRlKiwgY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVlKSBjb25zdAogICAg
IHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUuZ2V0KCkgPT0gdmFsdWUubV92YWx1ZS5nZXQoKTsK
KyAgICAgICAgcmV0dXJuIG9wZXJhdG9yPT0odmFsdWUpOwogICAgIH0KIAogICAgIGJvb2wgaXNG
dW5jdGlvbigpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS0+SXNGdW5jdGlv
bigpOworICAgICAgICBBU1NFUlQoIWhhc05vVmFsdWUoKSk7CisgICAgICAgIHJldHVybiB2OFZh
bHVlKCktPklzRnVuY3Rpb24oKTsKICAgICB9CiAKICAgICBib29sIG9wZXJhdG9yIT0oY29uc3Qg
U2NyaXB0VmFsdWUmIHZhbHVlKSBjb25zdApAQCAtMTEwLDIyICsxMDAsMjUgQEAgcHVibGljOgog
CiAgICAgYm9vbCBpc051bGwoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUt
PklzTnVsbCgpOworICAgICAgICBBU1NFUlQoIWhhc05vVmFsdWUoKSk7CisgICAgICAgIHJldHVy
biB2OFZhbHVlKCktPklzTnVsbCgpOwogICAgIH0KIAogICAgIGJvb2wgaXNVbmRlZmluZWQoKSBj
b25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUtPklzVW5kZWZpbmVkKCk7CisgICAg
ICAgIEFTU0VSVCghaGFzTm9WYWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuIHY4VmFsdWUoKS0+SXNV
bmRlZmluZWQoKTsKICAgICB9CiAKICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QKICAgICB7Ci0g
ICAgICAgIHJldHVybiBtX3ZhbHVlLT5Jc09iamVjdCgpOworICAgICAgICBBU1NFUlQoIWhhc05v
VmFsdWUoKSk7CisgICAgICAgIHJldHVybiB2OFZhbHVlKCktPklzT2JqZWN0KCk7CiAgICAgfQog
CiAgICAgYm9vbCBoYXNOb1ZhbHVlKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX3Zh
bHVlLmlzRW1wdHkoKTsKKyAgICAgICAgcmV0dXJuICFtX3ZhbHVlLmdldCgpIHx8IG1fdmFsdWUt
PmdldCgpLklzRW1wdHkoKTsKICAgICB9CiAKICAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4gc2VyaWFsaXplKFNjcmlwdFN0YXRlKik7CkBAIC0xMzQsMTAgKzEyNywxMyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKCkKICAgICB7Ci0gICAgICAgIG1fdmFsdWUuY2xlYXIo
KTsKKyAgICAgICAgbV92YWx1ZSA9IDA7CiAgICAgfQogCi0gICAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHY4VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CisgICAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHY4VmFsdWUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
dmFsdWUuZ2V0KCkgPyBtX3ZhbHVlLT5nZXQoKSA6IHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwor
ICAgIH0KIAogICAgIGJvb2wgZ2V0U3RyaW5nKFNjcmlwdFN0YXRlKiwgU3RyaW5nJiByZXN1bHQp
IGNvbnN0IHsgcmV0dXJuIGdldFN0cmluZyhyZXN1bHQpOyB9CiAgICAgYm9vbCBnZXRTdHJpbmco
U3RyaW5nJiByZXN1bHQpIGNvbnN0OwpAQCAtMTQ2LDcgKzE0Miw3IEBAIHB1YmxpYzoKICAgICBQ
YXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiB0b0luc3BlY3RvclZhbHVlKFNjcmlwdFN0YXRlKikg
Y29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgU2NvcGVkUGVyc2lzdGVudDx2ODo6VmFsdWU+IG1fdmFs
dWU7CisgICAgUmVmUHRyPFNoYXJlZFBlcnNpc3RlbnQ8djg6OlZhbHVlPiA+IG1fdmFsdWU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9TaGFyZWRQZXJzaXN0ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TaGFyZWRQZXJzaXN0ZW50LmgKaW5kZXggMmUzOWEwNjMwNWMwMzk2N2FmNDI4NjI1NTYwZTY5
MzY4Mjk2NTA3ZC4uNTIxMDZjMjljZmRmNDQwNGVmZDZiNzBkZTA3MWU2OWRlYjZkNjQ2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2hhcmVkUGVyc2lzdGVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NoYXJlZFBlcnNpc3RlbnQuaApAQCAtMzgs
NyArMzgsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgY2xhc3MuCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiAgICAgY2xhc3MgU2hhcmVk
UGVyc2lzdGVudCA6IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZFBlcnNpc3RlbnQ8VD4gPiB7CiAg
ICAgcHVibGljOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189072</attachid>
            <date>2013-02-19 06:19:29 -0800</date>
            <delta_ts>2013-02-19 23:16:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110206-20130219151551.patch</filename>
            <type>text/plain</type>
            <size>9618</size>
            <attacher name="Dan Carney">dcarney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQwMzg5NmEyMDU0OTIw
MWZlNTIzMjg2MzQ0ZWU0ZTg5ZmYzY2FkZi4uYzdlNDg0NTRiNGFmODQ5NTEzZDhmYzJmMTdlZWFh
OTZkMjUzMDUwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAyLTE5ICBEYW4g
Q2FybmV5ICA8ZGNhcm5leUBnb29nbGUuY29tPgorCisgICAgICAgIFt2OF0gU2NyaXB0VmFsdWUg
aGFzIGRhbmdlcm91cyBjb3B5IHNlbWFudGljcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMjA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFNjcmlwdFZhbHVlIHRvIHVzZSBhIHJlZmVyZW5j
ZSBjb3VudGVkIFNjb3BlZFBlcnNpc3RlbnQKKyAgICAgICAgYXMgdGhlIGV4aXN0aW5nIGltcGxl
bWVudGF0aW9uIG1ha2VzIGl0IGVhc3kgdG8gcmV0dXJuIGRlYWQgcmVmZXJlbmNlcy4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Njcmlw
dFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjpzZXJpYWxpemUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6OmdldFN0cmluZyk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRWYWx1ZTo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFs
dWU6OnRvSW5zcGVjdG9yVmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdFZhbHVl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6U2NyaXB0VmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRWYWx1ZTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6
aXNFcXVhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6aXNGdW5jdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6aXNOdWxsKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFZhbHVlOjppc1VuZGVmaW5lZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1
ZTo6aXNPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6Omhhc05vVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6OmNsZWFyKToKKyAgICAgICAgKFNjcmlw
dFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjp2OFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjp2OFZhbHVlUmF3KToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9TaGFyZWRQZXJzaXN0ZW50Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0SG9zdDo6c2NyaXB0VmFsdWVBc05vZGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOE1lc3Nh
Z2VFdmVudDo6ZGF0YUF0dHJHZXR0ZXJDdXN0b20pOgorCiAyMDEzLTAyLTE4ICBHcnplZ29yeiBD
emFqa293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtXSzJdW0VG
TF0gVW5pZmllZCB0ZXh0IGNoZWNrZXIgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmNwcAppbmRleCAwNzk5OTQ4NTMzY2FiMzU0YTlmMWViMjVj
OTYwMmQ5NWJiN2RiOTRlLi5iZDA1MTU3MzlkMThlMGY2NzIzODRiYWE5Njk0ZWNiNzFhODUzZmFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuY3BwCkBAIC00Nywx
MyArNDcsMTMgQEAgU2NyaXB0VmFsdWU6On5TY3JpcHRWYWx1ZSgpCiBQYXNzUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4gU2NyaXB0VmFsdWU6OnNlcmlhbGl6ZShTY3JpcHRTdGF0ZSogc2Ny
aXB0U3RhdGUpCiB7CiAgICAgU2NyaXB0U2NvcGUgc2NvcGUoc2NyaXB0U3RhdGUpOwotICAgIHJl
dHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2OFZhbHVlKCkpOworICAgIHJldHVy
biBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2OFZhbHVlUmF3KCkpOwogfQogCiBQYXNz
UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gU2NyaXB0VmFsdWU6OnNlcmlhbGl6ZShTY3Jp
cHRTdGF0ZSogc2NyaXB0U3RhdGUsIE1lc3NhZ2VQb3J0QXJyYXkqIG1lc3NhZ2VQb3J0cywgQXJy
YXlCdWZmZXJBcnJheSogYXJyYXlCdWZmZXJzLCBib29sJiBkaWRUaHJvdykKIHsKICAgICBTY3Jp
cHRTY29wZSBzY29wZShzY3JpcHRTdGF0ZSk7Ci0gICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTo6Y3JlYXRlKHY4VmFsdWUoKSwgbWVzc2FnZVBvcnRzLCBhcnJheUJ1ZmZlcnMsIGRpZFRo
cm93KTsKKyAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUodjhWYWx1ZVJh
dygpLCBtZXNzYWdlUG9ydHMsIGFycmF5QnVmZmVycywgZGlkVGhyb3cpOwogfQogCiBTY3JpcHRW
YWx1ZSBTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUqIHZhbHVlKQpAQCAtNjQsMjAgKzY0LDIwIEBAIFNjcmlwdFZh
bHVlIFNjcmlwdFZhbHVlOjpkZXNlcmlhbGl6ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIFNl
cmlhbGl6ZWRTY3JpcHRWCiAKIGJvb2wgU2NyaXB0VmFsdWU6OmdldFN0cmluZyhTdHJpbmcmIHJl
c3VsdCkgY29uc3QKIHsKLSAgICBpZiAobV92YWx1ZS5pc0VtcHR5KCkpCisgICAgaWYgKGhhc05v
VmFsdWUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFtX3ZhbHVlLT5Jc1N0
cmluZygpKQorICAgIGlmICghdjhWYWx1ZVJhdygpLT5Jc1N0cmluZygpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICByZXN1bHQgPSB0b1dlYkNvcmVTdHJpbmcobV92YWx1ZS5nZXQoKSk7
CisgICAgcmVzdWx0ID0gdG9XZWJDb3JlU3RyaW5nKHY4VmFsdWVSYXcoKSk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKIFN0cmluZyBTY3JpcHRWYWx1ZTo6dG9TdHJpbmcoU2NyaXB0U3RhdGUqKSBj
b25zdAogewogICAgIHY4OjpUcnlDYXRjaCBibG9jazsKLSAgICB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IHN0cmluZyA9IG1fdmFsdWUtPlRvU3RyaW5nKCk7CisgICAgdjg6OkhhbmRsZTx2ODo6U3Ry
aW5nPiBzdHJpbmcgPSB2OFZhbHVlUmF3KCktPlRvU3RyaW5nKCk7CiAgICAgaWYgKGJsb2NrLkhh
c0NhdWdodCgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgcmV0dXJuIHY4U3RyaW5n
VG9XZWJDb3JlU3RyaW5nPFN0cmluZz4oc3RyaW5nLCBEb05vdEV4dGVybmFsaXplKTsKQEAgLTE0
Miw3ICsxNDIsNyBAQCBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiBTY3JpcHRWYWx1ZTo6dG9J
bnNwZWN0b3JWYWx1ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdAogICAgIHY4OjpIYW5kbGVTY29w
ZSBoYW5kbGVTY29wZTsKICAgICAvLyB2ODo6T2JqZWN0OjpHZXRQcm9wZXJ0eU5hbWVzKCkgZXhw
ZWN0cyBjdXJyZW50IGNvbnRleHQgdG8gYmUgbm90IG51bGwuCiAgICAgdjg6OkNvbnRleHQ6OlNj
b3BlIGNvbnRleHRTY29wZShzY3JpcHRTdGF0ZS0+Y29udGV4dCgpKTsKLSAgICByZXR1cm4gdjhU
b0luc3BlY3RvclZhbHVlKG1fdmFsdWUuZ2V0KCksIEluc3BlY3RvclZhbHVlOjptYXhEZXB0aCk7
CisgICAgcmV0dXJuIHY4VG9JbnNwZWN0b3JWYWx1ZSh2OFZhbHVlUmF3KCksIEluc3BlY3RvclZh
bHVlOjptYXhEZXB0aCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFZhbHVlLmgKaW5kZXggYWE4Yzk5ODM0NjRjNjA4MjNhYjQ3MWQxNzM0YjZhODc5MjgxMTk4
Mi4uMTQwNGY4NTAyNTQ1NDkzMjZhODQ1ZTViZTM4Njk3NTBhNzkxZTZiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRWYWx1ZS5oCkBAIC0zMSw4ICszMSw4IEBACiAjaWZuZGVm
IFNjcmlwdFZhbHVlX2gKICNkZWZpbmUgU2NyaXB0VmFsdWVfaAogCi0jaW5jbHVkZSAiU2NvcGVk
UGVyc2lzdGVudC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSAiU2hhcmVk
UGVyc2lzdGVudC5oIgogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC02MCw0NyArNjAsMzcgQEAgcHVibGljOgog
ICAgIFNjcmlwdFZhbHVlKCkgeyB9CiAgICAgdmlydHVhbCB+U2NyaXB0VmFsdWUoKTsKIAotICAg
IFNjcmlwdFZhbHVlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkgCisgICAgU2NyaXB0VmFs
dWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUu
SXNFbXB0eSgpID8gMCA6IFNoYXJlZFBlcnNpc3RlbnQ8djg6OlZhbHVlPjo6Y3JlYXRlKHZhbHVl
KSkKICAgICB7Ci0gICAgICAgIGlmICh2YWx1ZS5Jc0VtcHR5KCkpCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIG1fdmFsdWUuc2V0KHZhbHVlKTsKICAgICB9CiAKLSAgICBTY3JpcHRWYWx1
ZShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpIAorICAgIFNjcmlwdFZhbHVlKGNvbnN0IFNjcmlw
dFZhbHVlJiB2YWx1ZSkKKyAgICAgICAgOiBtX3ZhbHVlKHZhbHVlLm1fdmFsdWUpCiAgICAgewot
ICAgICAgICBpZiAodmFsdWUuaGFzTm9WYWx1ZSgpKQotICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICBtX3ZhbHVlLnNldCh2YWx1ZS5tX3ZhbHVlLmdldCgpKTsKICAgICB9CiAKICAgICBTY3Jp
cHRWYWx1ZSYgb3BlcmF0b3I9KGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSkgCiAgICAgewotICAg
ICAgICBpZiAodGhpcyA9PSAmdmFsdWUpIAotICAgICAgICAgICAgcmV0dXJuICp0aGlzOwotCi0g
ICAgICAgIG1fdmFsdWUuY2xlYXIoKTsKLQotICAgICAgICBpZiAodmFsdWUuaGFzTm9WYWx1ZSgp
KQotICAgICAgICAgICAgcmV0dXJuICp0aGlzOwotCi0gICAgICAgIG1fdmFsdWUuc2V0KHZhbHVl
Lm1fdmFsdWUuZ2V0KCkpOworICAgICAgICBpZiAodGhpcyAhPSAmdmFsdWUpCisgICAgICAgICAg
ICBtX3ZhbHVlID0gdmFsdWUubV92YWx1ZTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0K
IAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpIGNvbnN0CiAg
ICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS5nZXQoKSA9PSB2YWx1ZS5tX3ZhbHVlLmdldCgp
OworICAgICAgICByZXR1cm4gdjhWYWx1ZVJhdygpID09IHZhbHVlLnY4VmFsdWVSYXcoKTsKICAg
ICB9CiAKICAgICBib29sIGlzRXF1YWwoU2NyaXB0U3RhdGUqLCBjb25zdCBTY3JpcHRWYWx1ZSYg
dmFsdWUpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS5nZXQoKSA9PSB2YWx1
ZS5tX3ZhbHVlLmdldCgpOworICAgICAgICByZXR1cm4gb3BlcmF0b3I9PSh2YWx1ZSk7CiAgICAg
fQogCiAgICAgYm9vbCBpc0Z1bmN0aW9uKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBt
X3ZhbHVlLT5Jc0Z1bmN0aW9uKCk7CisgICAgICAgIEFTU0VSVCghaGFzTm9WYWx1ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHY4VmFsdWVSYXcoKS0+SXNGdW5jdGlvbigpOwogICAgIH0KIAogICAgIGJv
b2wgb3BlcmF0b3IhPShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpIGNvbnN0CkBAIC0xMTAsMjIg
KzEwMCwyNSBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIGNvbnN0CiAgICAgewotICAg
ICAgICByZXR1cm4gbV92YWx1ZS0+SXNOdWxsKCk7CisgICAgICAgIEFTU0VSVCghaGFzTm9WYWx1
ZSgpKTsKKyAgICAgICAgcmV0dXJuIHY4VmFsdWVSYXcoKS0+SXNOdWxsKCk7CiAgICAgfQogCiAg
ICAgYm9vbCBpc1VuZGVmaW5lZCgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbV92YWx1
ZS0+SXNVbmRlZmluZWQoKTsKKyAgICAgICAgQVNTRVJUKCFoYXNOb1ZhbHVlKCkpOworICAgICAg
ICByZXR1cm4gdjhWYWx1ZVJhdygpLT5Jc1VuZGVmaW5lZCgpOwogICAgIH0KIAogICAgIGJvb2wg
aXNPYmplY3QoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUtPklzT2JqZWN0
KCk7CisgICAgICAgIEFTU0VSVCghaGFzTm9WYWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuIHY4VmFs
dWVSYXcoKS0+SXNPYmplY3QoKTsKICAgICB9CiAKICAgICBib29sIGhhc05vVmFsdWUoKSBjb25z
dAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUuaXNFbXB0eSgpOworICAgICAgICByZXR1
cm4gIW1fdmFsdWUuZ2V0KCkgfHwgbV92YWx1ZS0+Z2V0KCkuSXNFbXB0eSgpOwogICAgIH0KIAog
ICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemUoU2NyaXB0U3Rh
dGUqKTsKQEAgLTEzNCwxMCArMTI3LDE4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoKQog
ICAgIHsKLSAgICAgICAgbV92YWx1ZS5jbGVhcigpOworICAgICAgICBtX3ZhbHVlID0gMDsKKyAg
ICB9CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhWYWx1ZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT46Ok5ldyh2OFZhbHVlUmF3KCkpOwog
ICAgIH0KIAotICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OFZhbHVlKCkgY29uc3QgeyByZXR1
cm4gbV92YWx1ZS5nZXQoKTsgfQorICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OFZhbHVlUmF3
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLmdldCgpID8gbV92YWx1ZS0+
Z2V0KCkgOiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKKyAgICB9CiAKICAgICBib29sIGdldFN0
cmluZyhTY3JpcHRTdGF0ZSosIFN0cmluZyYgcmVzdWx0KSBjb25zdCB7IHJldHVybiBnZXRTdHJp
bmcocmVzdWx0KTsgfQogICAgIGJvb2wgZ2V0U3RyaW5nKFN0cmluZyYgcmVzdWx0KSBjb25zdDsK
QEAgLTE0Niw3ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1
ZT4gdG9JbnNwZWN0b3JWYWx1ZShTY3JpcHRTdGF0ZSopIGNvbnN0OwogCiBwcml2YXRlOgotICAg
IFNjb3BlZFBlcnNpc3RlbnQ8djg6OlZhbHVlPiBtX3ZhbHVlOworICAgIFJlZlB0cjxTaGFyZWRQ
ZXJzaXN0ZW50PHY4OjpWYWx1ZT4gPiBtX3ZhbHVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2hhcmVkUGVyc2lz
dGVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2hhcmVkUGVyc2lzdGVudC5oCmlu
ZGV4IDJlMzlhMDYzMDVjMDM5NjdhZjQyODYyNTU2MGU2OTM2ODI5NjUwN2QuLjUyMTA2YzI5Y2Zk
ZjQ0MDRlZmQ2YjcwZGUwNzFlNjlkZWI2ZDY0NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NoYXJlZFBlcnNpc3RlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9TaGFyZWRQZXJzaXN0ZW50LmgKQEAgLTM4LDcgKzM4LDYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGNsYXNzLgogICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPgogICAgIGNsYXNzIFNoYXJlZFBlcnNpc3RlbnQgOiBwdWJsaWMgUmVm
Q291bnRlZDxTaGFyZWRQZXJzaXN0ZW50PFQ+ID4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNj
cmlwdEhvc3RDdXN0b20uY3BwCmluZGV4IGIyNjE2NDE2MmJlZDFlNTA4YzlkZTk4YTZmMTA1NmVh
ZTMzYTcwNTcuLjgxMjY5NTRiYzdlNWUyNjkzMzI3MzRiMWZhOWIwYjljYTY3OGYyZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0
SG9zdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcApAQCAtNjUsNyArNjUsNyBAQCBOb2RlKiBJbmpl
Y3RlZFNjcmlwdEhvc3Q6OnNjcmlwdFZhbHVlQXNOb2RlKFNjcmlwdFZhbHVlIHZhbHVlKQogewog
ICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSB8fCB2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgcmV0dXJuIFY4Tm9kZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0
Pjo6Q2FzdCh2YWx1ZS52OFZhbHVlKCkpKTsKKyAgICByZXR1cm4gVjhOb2RlOjp0b05hdGl2ZSh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHZhbHVlLnY4VmFsdWVSYXcoKSkpOwogfQogCiBT
Y3JpcHRWYWx1ZSBJbmplY3RlZFNjcmlwdEhvc3Q6Om5vZGVBc1NjcmlwdFZhbHVlKFNjcmlwdFN0
YXRlKiBzdGF0ZSwgTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwCmluZGV4IDI0YjA2M2Ix
OWZhNDRlNGUwOWQ2YTI2ZmE4ZjJhMjExODk0ZGFhYTMuLjUxNjYyOWM1ZWE0NDZmNDE3OTAzZmE4
ZGIzNjc1ODMyNjgxYzRjZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcApAQCAtNTMsNyArNTMsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhNZXNzYWdlRXZlbnQ6OmRhdGFBdHRyR2V0dGVyQ3Vz
dG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgICAgICBpZiAoc2NyaXB0VmFsdWUuaGFzTm9W
YWx1ZSgpKQogICAgICAgICAgICAgcmVzdWx0ID0gdjhOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsK
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gdjg6OkxvY2FsPHY4OjpWYWx1ZT46
Ok5ldyhzY3JpcHRWYWx1ZS52OFZhbHVlKCkpOworICAgICAgICAgICAgcmVzdWx0ID0gc2NyaXB0
VmFsdWUudjhWYWx1ZSgpOwogICAgICAgICBicmVhazsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189253</attachid>
            <date>2013-02-19 23:16:46 -0800</date>
            <delta_ts>2013-03-01 02:42:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110206-20130220081307.patch</filename>
            <type>text/plain</type>
            <size>9645</size>
            <attacher name="Dan Carney">dcarney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQwMzg5NmEyMDU0OTIw
MWZlNTIzMjg2MzQ0ZWU0ZTg5ZmYzY2FkZi4uOTVkNTNjOTdlMTdmMzg2YzlhNWEzNGEwNWM4M2Jj
NTM3YTE2Yjc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAyLTE5ICBEYW4g
Q2FybmV5ICA8ZGNhcm5leUBnb29nbGUuY29tPgorCisgICAgICAgIFt2OF0gU2NyaXB0VmFsdWUg
aGFzIGRhbmdlcm91cyBjb3B5IHNlbWFudGljcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMjA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudGFy
byBIYXJhLgorCisgICAgICAgIFVwZGF0ZSBTY3JpcHRWYWx1ZSB0byB1c2VkIGEgU2hhcmVkUGVy
c2lzdGVudCwKKyAgICAgICAgbWFraW5nIGl0IGltcG9zc2libGUgdG8gcmV0dXJuIGRlYWQgcmVm
ZXJlbmNlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0VmFsdWU6OnNlcmlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRWYWx1ZTo6Z2V0U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjp0b1N0
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6dG9JbnNwZWN0b3JWYWx1ZSk6
CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFZhbHVlOjpTY3JpcHRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1
ZTo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjpvcGVyYXRvcj09
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjppc0VxdWFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdFZhbHVlOjppc0Z1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFZhbHVlOjppc051bGwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6OmlzVW5kZWZp
bmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjppc09iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6aGFzTm9WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRWYWx1ZTo6Y2xlYXIpOgorICAgICAgICAoU2NyaXB0VmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0VmFsdWU6OnY4VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFs
dWU6OnY4VmFsdWVSYXcpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NoYXJlZFBlcnNpc3RlbnQu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRIb3N0OjpzY3JpcHRWYWx1
ZUFzTm9kZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUV2ZW50OjpkYXRhQXR0ckdldHRl
ckN1c3RvbSk6CisKIDIwMTMtMDItMTggIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dz
a2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW1dLMl1bRUZMXSBVbmlmaWVkIHRleHQgY2hlY2tl
ciBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUu
Y3BwCmluZGV4IDA3OTk5NDg1MzNjYWIzNTRhOWYxZWIyNWM5NjAyZDk1YmI3ZGI5NGUuLmJkMDUx
NTczOWQxOGUwZjY3MjM4NGJhYTk2OTRlY2I3MWE4NTNmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRWYWx1ZS5jcHAKQEAgLTQ3LDEzICs0NywxMyBAQCBTY3JpcHRWYWx1
ZTo6flNjcmlwdFZhbHVlKCkKIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBTY3Jp
cHRWYWx1ZTo6c2VyaWFsaXplKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkKIHsKICAgICBTY3Jp
cHRTY29wZSBzY29wZShzY3JpcHRTdGF0ZSk7Ci0gICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTo6Y3JlYXRlKHY4VmFsdWUoKSk7CisgICAgcmV0dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKHY4VmFsdWVSYXcoKSk7CiB9CiAKIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBTY3JpcHRWYWx1ZTo6c2VyaWFsaXplKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwg
TWVzc2FnZVBvcnRBcnJheSogbWVzc2FnZVBvcnRzLCBBcnJheUJ1ZmZlckFycmF5KiBhcnJheUJ1
ZmZlcnMsIGJvb2wmIGRpZFRocm93KQogewogICAgIFNjcmlwdFNjb3BlIHNjb3BlKHNjcmlwdFN0
YXRlKTsKLSAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUodjhWYWx1ZSgp
LCBtZXNzYWdlUG9ydHMsIGFycmF5QnVmZmVycywgZGlkVGhyb3cpOworICAgIHJldHVybiBTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2OFZhbHVlUmF3KCksIG1lc3NhZ2VQb3J0cywgYXJy
YXlCdWZmZXJzLCBkaWRUaHJvdyk7CiB9CiAKIFNjcmlwdFZhbHVlIFNjcmlwdFZhbHVlOjpkZXNl
cmlhbGl6ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSog
dmFsdWUpCkBAIC02NCwyMCArNjQsMjAgQEAgU2NyaXB0VmFsdWUgU2NyaXB0VmFsdWU6OmRlc2Vy
aWFsaXplKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgU2VyaWFsaXplZFNjcmlwdFYKIAogYm9v
bCBTY3JpcHRWYWx1ZTo6Z2V0U3RyaW5nKFN0cmluZyYgcmVzdWx0KSBjb25zdAogewotICAgIGlm
IChtX3ZhbHVlLmlzRW1wdHkoKSkKKyAgICBpZiAoaGFzTm9WYWx1ZSgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAoIW1fdmFsdWUtPklzU3RyaW5nKCkpCisgICAgaWYgKCF2OFZh
bHVlUmF3KCktPklzU3RyaW5nKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlc3Vs
dCA9IHRvV2ViQ29yZVN0cmluZyhtX3ZhbHVlLmdldCgpKTsKKyAgICByZXN1bHQgPSB0b1dlYkNv
cmVTdHJpbmcodjhWYWx1ZVJhdygpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogU3RyaW5nIFNj
cmlwdFZhbHVlOjp0b1N0cmluZyhTY3JpcHRTdGF0ZSopIGNvbnN0CiB7CiAgICAgdjg6OlRyeUNh
dGNoIGJsb2NrOwotICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gc3RyaW5nID0gbV92YWx1ZS0+
VG9TdHJpbmcoKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHN0cmluZyA9IHY4VmFsdWVS
YXcoKS0+VG9TdHJpbmcoKTsKICAgICBpZiAoYmxvY2suSGFzQ2F1Z2h0KCkpCiAgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKICAgICByZXR1cm4gdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmc8U3RyaW5n
PihzdHJpbmcsIERvTm90RXh0ZXJuYWxpemUpOwpAQCAtMTQyLDcgKzE0Miw3IEBAIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yVmFsdWU+IFNjcmlwdFZhbHVlOjp0b0luc3BlY3RvclZhbHVlKFNjcmlwdFN0
YXRlKiBzY3JpcHRTdGF0CiAgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwogICAgIC8v
IHY4OjpPYmplY3Q6OkdldFByb3BlcnR5TmFtZXMoKSBleHBlY3RzIGN1cnJlbnQgY29udGV4dCB0
byBiZSBub3QgbnVsbC4KICAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKHNjcmlw
dFN0YXRlLT5jb250ZXh0KCkpOwotICAgIHJldHVybiB2OFRvSW5zcGVjdG9yVmFsdWUobV92YWx1
ZS5nZXQoKSwgSW5zcGVjdG9yVmFsdWU6Om1heERlcHRoKTsKKyAgICByZXR1cm4gdjhUb0luc3Bl
Y3RvclZhbHVlKHY4VmFsdWVSYXcoKSwgSW5zcGVjdG9yVmFsdWU6Om1heERlcHRoKTsKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRWYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuaAppbmRleCBhYThj
OTk4MzQ2NGM2MDgyM2FiNDcxZDE3MzRiNmE4NzkyODExOTgyLi4yYmE5ZDMxNzdkNTAxYjdjY2Nk
ZmQ2YmI5Zjg3MjZiZWE5YzA4NTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dFZhbHVlLmgKQEAgLTMxLDggKzMxLDggQEAKICNpZm5kZWYgU2NyaXB0VmFsdWVfaAogI2RlZmlu
ZSBTY3JpcHRWYWx1ZV9oCiAKLSNpbmNsdWRlICJTY29wZWRQZXJzaXN0ZW50LmgiCiAjaW5jbHVk
ZSAiU2NyaXB0U3RhdGUuaCIKKyNpbmNsdWRlICJTaGFyZWRQZXJzaXN0ZW50LmgiCiAjaW5jbHVk
ZSA8djguaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTYwLDQ3ICs2MCwzNyBAQCBwdWJsaWM6CiAgICAgU2NyaXB0VmFsdWUoKSB7IH0K
ICAgICB2aXJ0dWFsIH5TY3JpcHRWYWx1ZSgpOwogCi0gICAgU2NyaXB0VmFsdWUodjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHZhbHVlKSAKKyAgICBTY3JpcHRWYWx1ZSh2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdmFsdWUpCisgICAgICAgIDogbV92YWx1ZSh2YWx1ZS5Jc0VtcHR5KCkgPyAwIDogU2hhcmVk
UGVyc2lzdGVudDx2ODo6VmFsdWU+OjpjcmVhdGUodmFsdWUpKQogICAgIHsKLSAgICAgICAgaWYg
KHZhbHVlLklzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV92YWx1ZS5z
ZXQodmFsdWUpOwogICAgIH0KIAotICAgIFNjcmlwdFZhbHVlKGNvbnN0IFNjcmlwdFZhbHVlJiB2
YWx1ZSkgCisgICAgU2NyaXB0VmFsdWUoY29uc3QgU2NyaXB0VmFsdWUmIHZhbHVlKQorICAgICAg
ICA6IG1fdmFsdWUodmFsdWUubV92YWx1ZSkKICAgICB7Ci0gICAgICAgIGlmICh2YWx1ZS5oYXNO
b1ZhbHVlKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fdmFsdWUuc2V0KHZhbHVl
Lm1fdmFsdWUuZ2V0KCkpOwogICAgIH0KIAogICAgIFNjcmlwdFZhbHVlJiBvcGVyYXRvcj0oY29u
c3QgU2NyaXB0VmFsdWUmIHZhbHVlKSAKICAgICB7Ci0gICAgICAgIGlmICh0aGlzID09ICZ2YWx1
ZSkgCi0gICAgICAgICAgICByZXR1cm4gKnRoaXM7Ci0KLSAgICAgICAgbV92YWx1ZS5jbGVhcigp
OwotCi0gICAgICAgIGlmICh2YWx1ZS5oYXNOb1ZhbHVlKCkpCi0gICAgICAgICAgICByZXR1cm4g
KnRoaXM7Ci0KLSAgICAgICAgbV92YWx1ZS5zZXQodmFsdWUubV92YWx1ZS5nZXQoKSk7CisgICAg
ICAgIGlmICh0aGlzICE9ICZ2YWx1ZSkKKyAgICAgICAgICAgIG1fdmFsdWUgPSB2YWx1ZS5tX3Zh
bHVlOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCiAgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBt
X3ZhbHVlLmdldCgpID09IHZhbHVlLm1fdmFsdWUuZ2V0KCk7CisgICAgICAgIHJldHVybiB2OFZh
bHVlUmF3KCkgPT0gdmFsdWUudjhWYWx1ZVJhdygpOwogICAgIH0KIAogICAgIGJvb2wgaXNFcXVh
bChTY3JpcHRTdGF0ZSosIGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSkgY29uc3QKICAgICB7Ci0g
ICAgICAgIHJldHVybiBtX3ZhbHVlLmdldCgpID09IHZhbHVlLm1fdmFsdWUuZ2V0KCk7CisgICAg
ICAgIHJldHVybiBvcGVyYXRvcj09KHZhbHVlKTsKICAgICB9CiAKICAgICBib29sIGlzRnVuY3Rp
b24oKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUtPklzRnVuY3Rpb24oKTsK
KyAgICAgICAgQVNTRVJUKCFoYXNOb1ZhbHVlKCkpOworICAgICAgICByZXR1cm4gdjhWYWx1ZVJh
dygpLT5Jc0Z1bmN0aW9uKCk7CiAgICAgfQogCiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFNj
cmlwdFZhbHVlJiB2YWx1ZSkgY29uc3QKQEAgLTExMCwyMiArMTAwLDI1IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaXNOdWxsKCkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlLT5J
c051bGwoKTsKKyAgICAgICAgQVNTRVJUKCFoYXNOb1ZhbHVlKCkpOworICAgICAgICByZXR1cm4g
djhWYWx1ZVJhdygpLT5Jc051bGwoKTsKICAgICB9CiAKICAgICBib29sIGlzVW5kZWZpbmVkKCkg
Y29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlLT5Jc1VuZGVmaW5lZCgpOworICAg
ICAgICBBU1NFUlQoIWhhc05vVmFsdWUoKSk7CisgICAgICAgIHJldHVybiB2OFZhbHVlUmF3KCkt
PklzVW5kZWZpbmVkKCk7CiAgICAgfQogCiAgICAgYm9vbCBpc09iamVjdCgpIGNvbnN0CiAgICAg
ewotICAgICAgICByZXR1cm4gbV92YWx1ZS0+SXNPYmplY3QoKTsKKyAgICAgICAgQVNTRVJUKCFo
YXNOb1ZhbHVlKCkpOworICAgICAgICByZXR1cm4gdjhWYWx1ZVJhdygpLT5Jc09iamVjdCgpOwog
ICAgIH0KIAogICAgIGJvb2wgaGFzTm9WYWx1ZSgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1
cm4gbV92YWx1ZS5pc0VtcHR5KCk7CisgICAgICAgIHJldHVybiAhbV92YWx1ZS5nZXQoKSB8fCBt
X3ZhbHVlLT5nZXQoKS5Jc0VtcHR5KCk7CiAgICAgfQogCiAgICAgUGFzc1JlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZShTY3JpcHRTdGF0ZSopOwpAQCAtMTM0LDEwICsxMjcs
MTkgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX3ZhbHVl
LmNsZWFyKCk7CisgICAgICAgIG1fdmFsdWUgPSAwOworICAgIH0KKworICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB2OFZhbHVlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB2ODo6TG9j
YWw8djg6OlZhbHVlPjo6TmV3KHY4VmFsdWVSYXcoKSk7CiAgICAgfQogCi0gICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHY4VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9Cisg
ICAgLy8gRklYTUU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHByaXZhdGUuIAorICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB2OFZhbHVlUmF3KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX3ZhbHVlLmdldCgpID8gbV92YWx1ZS0+Z2V0KCkgOiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4o
KTsKKyAgICB9CiAKICAgICBib29sIGdldFN0cmluZyhTY3JpcHRTdGF0ZSosIFN0cmluZyYgcmVz
dWx0KSBjb25zdCB7IHJldHVybiBnZXRTdHJpbmcocmVzdWx0KTsgfQogICAgIGJvb2wgZ2V0U3Ry
aW5nKFN0cmluZyYgcmVzdWx0KSBjb25zdDsKQEAgLTE0Niw3ICsxNDgsNyBAQCBwdWJsaWM6CiAg
ICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gdG9JbnNwZWN0b3JWYWx1ZShTY3JpcHRTdGF0
ZSopIGNvbnN0OwogCiBwcml2YXRlOgotICAgIFNjb3BlZFBlcnNpc3RlbnQ8djg6OlZhbHVlPiBt
X3ZhbHVlOworICAgIFJlZlB0cjxTaGFyZWRQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gPiBtX3ZhbHVl
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2hhcmVkUGVyc2lzdGVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2hhcmVkUGVyc2lzdGVudC5oCmluZGV4IDJlMzlhMDYzMDVjMDM5NjdhZjQyODYyNTU2
MGU2OTM2ODI5NjUwN2QuLjUyMTA2YzI5Y2ZkZjQ0MDRlZmQ2YjcwZGUwNzFlNjlkZWI2ZDY0Njkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NoYXJlZFBlcnNpc3RlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TaGFyZWRQZXJzaXN0ZW50LmgKQEAg
LTM4LDcgKzM4LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgLy8gRklYTUU6IFJl
bW92ZSB0aGlzIGNsYXNzLgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogICAgIGNsYXNzIFNo
YXJlZFBlcnNpc3RlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxTaGFyZWRQZXJzaXN0ZW50PFQ+ID4g
ewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCmluZGV4IGIyNjE2
NDE2MmJlZDFlNTA4YzlkZTk4YTZmMTA1NmVhZTMzYTcwNTcuLjgxMjY5NTRiYzdlNWUyNjkzMzI3
MzRiMWZhOWIwYjljYTY3OGYyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcApA
QCAtNjUsNyArNjUsNyBAQCBOb2RlKiBJbmplY3RlZFNjcmlwdEhvc3Q6OnNjcmlwdFZhbHVlQXNO
b2RlKFNjcmlwdFZhbHVlIHZhbHVlKQogewogICAgIGlmICghdmFsdWUuaXNPYmplY3QoKSB8fCB2
YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIFY4Tm9kZTo6dG9O
YXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh2YWx1ZS52OFZhbHVlKCkpKTsKKyAg
ICByZXR1cm4gVjhOb2RlOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHZh
bHVlLnY4VmFsdWVSYXcoKSkpOwogfQogCiBTY3JpcHRWYWx1ZSBJbmplY3RlZFNjcmlwdEhvc3Q6
Om5vZGVBc1NjcmlwdFZhbHVlKFNjcmlwdFN0YXRlKiBzdGF0ZSwgTm9kZSogbm9kZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZl
bnRDdXN0b20uY3BwCmluZGV4IDI0YjA2M2IxOWZhNDRlNGUwOWQ2YTI2ZmE4ZjJhMjExODk0ZGFh
YTMuLjUxNjYyOWM1ZWE0NDZmNDE3OTAzZmE4ZGIzNjc1ODMyNjgxYzRjZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50
Q3VzdG9tLmNwcApAQCAtNTMsNyArNTMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhNZXNz
YWdlRXZlbnQ6OmRhdGFBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPgogICAg
ICAgICBpZiAoc2NyaXB0VmFsdWUuaGFzTm9WYWx1ZSgpKQogICAgICAgICAgICAgcmVzdWx0ID0g
djhOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVz
dWx0ID0gdjg6OkxvY2FsPHY4OjpWYWx1ZT46Ok5ldyhzY3JpcHRWYWx1ZS52OFZhbHVlKCkpOwor
ICAgICAgICAgICAgcmVzdWx0ID0gc2NyaXB0VmFsdWUudjhWYWx1ZSgpOwogICAgICAgICBicmVh
azsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190915</attachid>
            <date>2013-03-01 02:42:55 -0800</date>
            <delta_ts>2013-03-01 08:26:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110206-20130301103906.patch</filename>
            <type>text/plain</type>
            <size>9631</size>
            <attacher name="Dan Carney">dcarney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZjN2EzZjMzZjJiNjgw
N2YzMTZkZDI4MzAxNWEyMjI4NGNkZWYzNy4uMzQ2NDUwMWI3ZjNlZmVjZjQ5ZWUyZDc1ZjM3YzVk
OTE4MzgzMjczYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAzLTAxICBEYW4g
Q2FybmV5ICA8ZGNhcm5leUBnb29nbGUuY29tPgorCisgICAgICAgIFt2OF0gU2NyaXB0VmFsdWUg
aGFzIGRhbmdlcm91cyBjb3B5IHNlbWFudGljcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMjA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudGFy
byBIYXJhLgorCisgICAgICAgIFVwZGF0ZSBTY3JpcHRWYWx1ZSB0byB1c2VkIGEgU2hhcmVkUGVy
c2lzdGVudCwKKyAgICAgICAgbWFraW5nIGl0IGltcG9zc2libGUgdG8gcmV0dXJuIGRlYWQgcmVm
ZXJlbmNlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0VmFsdWU6OnNlcmlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRWYWx1ZTo6Z2V0U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjp0b1N0
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6dG9JbnNwZWN0b3JWYWx1ZSk6
CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFZhbHVlOjpTY3JpcHRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRWYWx1
ZTo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjpvcGVyYXRvcj09
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjppc0VxdWFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdFZhbHVlOjppc0Z1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dFZhbHVlOjppc051bGwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFsdWU6OmlzVW5kZWZp
bmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFZhbHVlOjppc09iamVjdCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRWYWx1ZTo6aGFzTm9WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRWYWx1ZTo6Y2xlYXIpOgorICAgICAgICAoU2NyaXB0VmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0VmFsdWU6OnY4VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0VmFs
dWU6OnY4VmFsdWVSYXcpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NoYXJlZFBlcnNpc3RlbnQu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRIb3N0OjpzY3JpcHRWYWx1
ZUFzTm9kZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUV2ZW50OjpkYXRhQXR0ckdldHRl
ckN1c3RvbSk6CisKIDIwMTMtMDMtMDEgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEdldCByaWQgb2YgdHdvIHNpbGx5IHN0YXRpYyBudWxsIFN0cmlu
Z3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmNwcAppbmRleCAwNzk5
OTQ4NTMzY2FiMzU0YTlmMWViMjVjOTYwMmQ5NWJiN2RiOTRlLi5iZDA1MTU3MzlkMThlMGY2NzIz
ODRiYWE5Njk0ZWNiNzFhODUzZmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0VmFsdWUuY3BwCkBAIC00NywxMyArNDcsMTMgQEAgU2NyaXB0VmFsdWU6On5TY3JpcHRWYWx1
ZSgpCiBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gU2NyaXB0VmFsdWU6OnNlcmlh
bGl6ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpCiB7CiAgICAgU2NyaXB0U2NvcGUgc2NvcGUo
c2NyaXB0U3RhdGUpOwotICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2
OFZhbHVlKCkpOworICAgIHJldHVybiBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZSh2OFZh
bHVlUmF3KCkpOwogfQogCiBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gU2NyaXB0
VmFsdWU6OnNlcmlhbGl6ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIE1lc3NhZ2VQb3J0QXJy
YXkqIG1lc3NhZ2VQb3J0cywgQXJyYXlCdWZmZXJBcnJheSogYXJyYXlCdWZmZXJzLCBib29sJiBk
aWRUaHJvdykKIHsKICAgICBTY3JpcHRTY29wZSBzY29wZShzY3JpcHRTdGF0ZSk7Ci0gICAgcmV0
dXJuIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKHY4VmFsdWUoKSwgbWVzc2FnZVBvcnRz
LCBhcnJheUJ1ZmZlcnMsIGRpZFRocm93KTsKKyAgICByZXR1cm4gU2VyaWFsaXplZFNjcmlwdFZh
bHVlOjpjcmVhdGUodjhWYWx1ZVJhdygpLCBtZXNzYWdlUG9ydHMsIGFycmF5QnVmZmVycywgZGlk
VGhyb3cpOwogfQogCiBTY3JpcHRWYWx1ZSBTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUoU2NyaXB0
U3RhdGUqIHNjcmlwdFN0YXRlLCBTZXJpYWxpemVkU2NyaXB0VmFsdWUqIHZhbHVlKQpAQCAtNjQs
MjAgKzY0LDIwIEBAIFNjcmlwdFZhbHVlIFNjcmlwdFZhbHVlOjpkZXNlcmlhbGl6ZShTY3JpcHRT
dGF0ZSogc2NyaXB0U3RhdGUsIFNlcmlhbGl6ZWRTY3JpcHRWCiAKIGJvb2wgU2NyaXB0VmFsdWU6
OmdldFN0cmluZyhTdHJpbmcmIHJlc3VsdCkgY29uc3QKIHsKLSAgICBpZiAobV92YWx1ZS5pc0Vt
cHR5KCkpCisgICAgaWYgKGhhc05vVmFsdWUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgaWYgKCFtX3ZhbHVlLT5Jc1N0cmluZygpKQorICAgIGlmICghdjhWYWx1ZVJhdygpLT5Jc1N0
cmluZygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXN1bHQgPSB0b1dlYkNvcmVT
dHJpbmcobV92YWx1ZS5nZXQoKSk7CisgICAgcmVzdWx0ID0gdG9XZWJDb3JlU3RyaW5nKHY4VmFs
dWVSYXcoKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIFN0cmluZyBTY3JpcHRWYWx1ZTo6dG9T
dHJpbmcoU2NyaXB0U3RhdGUqKSBjb25zdAogewogICAgIHY4OjpUcnlDYXRjaCBibG9jazsKLSAg
ICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IHN0cmluZyA9IG1fdmFsdWUtPlRvU3RyaW5nKCk7Cisg
ICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBzdHJpbmcgPSB2OFZhbHVlUmF3KCktPlRvU3RyaW5n
KCk7CiAgICAgaWYgKGJsb2NrLkhhc0NhdWdodCgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CiAgICAgcmV0dXJuIHY4U3RyaW5nVG9XZWJDb3JlU3RyaW5nPFN0cmluZz4oc3RyaW5nLCBEb05v
dEV4dGVybmFsaXplKTsKQEAgLTE0Miw3ICsxNDIsNyBAQCBQYXNzUmVmUHRyPEluc3BlY3RvclZh
bHVlPiBTY3JpcHRWYWx1ZTo6dG9JbnNwZWN0b3JWYWx1ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3Rh
dAogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKICAgICAvLyB2ODo6T2JqZWN0OjpH
ZXRQcm9wZXJ0eU5hbWVzKCkgZXhwZWN0cyBjdXJyZW50IGNvbnRleHQgdG8gYmUgbm90IG51bGwu
CiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShzY3JpcHRTdGF0ZS0+Y29udGV4
dCgpKTsKLSAgICByZXR1cm4gdjhUb0luc3BlY3RvclZhbHVlKG1fdmFsdWUuZ2V0KCksIEluc3Bl
Y3RvclZhbHVlOjptYXhEZXB0aCk7CisgICAgcmV0dXJuIHY4VG9JbnNwZWN0b3JWYWx1ZSh2OFZh
bHVlUmF3KCksIEluc3BlY3RvclZhbHVlOjptYXhEZXB0aCk7CiB9CiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFZhbHVlLmgKaW5kZXggYWE4Yzk5ODM0NjRjNjA4MjNh
YjQ3MWQxNzM0YjZhODc5MjgxMTk4Mi4uMmJhOWQzMTc3ZDUwMWI3Y2NjZGZkNmJiOWY4NzI2YmVh
OWMwODU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0VmFs
dWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRWYWx1ZS5oCkBAIC0z
MSw4ICszMSw4IEBACiAjaWZuZGVmIFNjcmlwdFZhbHVlX2gKICNkZWZpbmUgU2NyaXB0VmFsdWVf
aAogCi0jaW5jbHVkZSAiU2NvcGVkUGVyc2lzdGVudC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRl
LmgiCisjaW5jbHVkZSAiU2hhcmVkUGVyc2lzdGVudC5oIgogI2luY2x1ZGUgPHY4Lmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC02MCw0
NyArNjAsMzcgQEAgcHVibGljOgogICAgIFNjcmlwdFZhbHVlKCkgeyB9CiAgICAgdmlydHVhbCB+
U2NyaXB0VmFsdWUoKTsKIAotICAgIFNjcmlwdFZhbHVlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2
YWx1ZSkgCisgICAgU2NyaXB0VmFsdWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorICAg
ICAgICA6IG1fdmFsdWUodmFsdWUuSXNFbXB0eSgpID8gMCA6IFNoYXJlZFBlcnNpc3RlbnQ8djg6
OlZhbHVlPjo6Y3JlYXRlKHZhbHVlKSkKICAgICB7Ci0gICAgICAgIGlmICh2YWx1ZS5Jc0VtcHR5
KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fdmFsdWUuc2V0KHZhbHVlKTsKICAg
ICB9CiAKLSAgICBTY3JpcHRWYWx1ZShjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpIAorICAgIFNj
cmlwdFZhbHVlKGNvbnN0IFNjcmlwdFZhbHVlJiB2YWx1ZSkKKyAgICAgICAgOiBtX3ZhbHVlKHZh
bHVlLm1fdmFsdWUpCiAgICAgewotICAgICAgICBpZiAodmFsdWUuaGFzTm9WYWx1ZSgpKQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX3ZhbHVlLnNldCh2YWx1ZS5tX3ZhbHVlLmdldCgp
KTsKICAgICB9CiAKICAgICBTY3JpcHRWYWx1ZSYgb3BlcmF0b3I9KGNvbnN0IFNjcmlwdFZhbHVl
JiB2YWx1ZSkgCiAgICAgewotICAgICAgICBpZiAodGhpcyA9PSAmdmFsdWUpIAotICAgICAgICAg
ICAgcmV0dXJuICp0aGlzOwotCi0gICAgICAgIG1fdmFsdWUuY2xlYXIoKTsKLQotICAgICAgICBp
ZiAodmFsdWUuaGFzTm9WYWx1ZSgpKQotICAgICAgICAgICAgcmV0dXJuICp0aGlzOwotCi0gICAg
ICAgIG1fdmFsdWUuc2V0KHZhbHVlLm1fdmFsdWUuZ2V0KCkpOworICAgICAgICBpZiAodGhpcyAh
PSAmdmFsdWUpCisgICAgICAgICAgICBtX3ZhbHVlID0gdmFsdWUubV92YWx1ZTsKICAgICAgICAg
cmV0dXJuICp0aGlzOwogICAgIH0KIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTY3JpcHRW
YWx1ZSYgdmFsdWUpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS5nZXQoKSA9
PSB2YWx1ZS5tX3ZhbHVlLmdldCgpOworICAgICAgICByZXR1cm4gdjhWYWx1ZVJhdygpID09IHZh
bHVlLnY4VmFsdWVSYXcoKTsKICAgICB9CiAKICAgICBib29sIGlzRXF1YWwoU2NyaXB0U3RhdGUq
LCBjb25zdCBTY3JpcHRWYWx1ZSYgdmFsdWUpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4g
bV92YWx1ZS5nZXQoKSA9PSB2YWx1ZS5tX3ZhbHVlLmdldCgpOworICAgICAgICByZXR1cm4gb3Bl
cmF0b3I9PSh2YWx1ZSk7CiAgICAgfQogCiAgICAgYm9vbCBpc0Z1bmN0aW9uKCkgY29uc3QKICAg
ICB7Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlLT5Jc0Z1bmN0aW9uKCk7CisgICAgICAgIEFTU0VS
VCghaGFzTm9WYWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuIHY4VmFsdWVSYXcoKS0+SXNGdW5jdGlv
bigpOwogICAgIH0KIAogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTY3JpcHRWYWx1ZSYgdmFs
dWUpIGNvbnN0CkBAIC0xMTAsMjIgKzEwMCwyNSBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVs
bCgpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbV92YWx1ZS0+SXNOdWxsKCk7CisgICAg
ICAgIEFTU0VSVCghaGFzTm9WYWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuIHY4VmFsdWVSYXcoKS0+
SXNOdWxsKCk7CiAgICAgfQogCiAgICAgYm9vbCBpc1VuZGVmaW5lZCgpIGNvbnN0CiAgICAgewot
ICAgICAgICByZXR1cm4gbV92YWx1ZS0+SXNVbmRlZmluZWQoKTsKKyAgICAgICAgQVNTRVJUKCFo
YXNOb1ZhbHVlKCkpOworICAgICAgICByZXR1cm4gdjhWYWx1ZVJhdygpLT5Jc1VuZGVmaW5lZCgp
OwogICAgIH0KIAogICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0
dXJuIG1fdmFsdWUtPklzT2JqZWN0KCk7CisgICAgICAgIEFTU0VSVCghaGFzTm9WYWx1ZSgpKTsK
KyAgICAgICAgcmV0dXJuIHY4VmFsdWVSYXcoKS0+SXNPYmplY3QoKTsKICAgICB9CiAKICAgICBi
b29sIGhhc05vVmFsdWUoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUuaXNF
bXB0eSgpOworICAgICAgICByZXR1cm4gIW1fdmFsdWUuZ2V0KCkgfHwgbV92YWx1ZS0+Z2V0KCku
SXNFbXB0eSgpOwogICAgIH0KIAogICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBzZXJpYWxpemUoU2NyaXB0U3RhdGUqKTsKQEAgLTEzNCwxMCArMTI3LDE5IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgY2xlYXIoKQogICAgIHsKLSAgICAgICAgbV92YWx1ZS5jbGVhcigpOworICAg
ICAgICBtX3ZhbHVlID0gMDsKKyAgICB9CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhW
YWx1ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT46
Ok5ldyh2OFZhbHVlUmF3KCkpOwogICAgIH0KIAotICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2
OFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZS5nZXQoKTsgfQorICAgIC8vIEZJWE1FOiBU
aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBwcml2YXRlLiAKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdjhWYWx1ZVJhdygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS5nZXQo
KSA/IG1fdmFsdWUtPmdldCgpIDogdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CisgICAgfQogCiAg
ICAgYm9vbCBnZXRTdHJpbmcoU2NyaXB0U3RhdGUqLCBTdHJpbmcmIHJlc3VsdCkgY29uc3QgeyBy
ZXR1cm4gZ2V0U3RyaW5nKHJlc3VsdCk7IH0KICAgICBib29sIGdldFN0cmluZyhTdHJpbmcmIHJl
c3VsdCkgY29uc3Q7CkBAIC0xNDYsNyArMTQ4LDcgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8
SW5zcGVjdG9yVmFsdWU+IHRvSW5zcGVjdG9yVmFsdWUoU2NyaXB0U3RhdGUqKSBjb25zdDsKIAog
cHJpdmF0ZToKLSAgICBTY29wZWRQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gbV92YWx1ZTsKKyAgICBS
ZWZQdHI8U2hhcmVkUGVyc2lzdGVudDx2ODo6VmFsdWU+ID4gbV92YWx1ZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NoYXJlZFBlcnNpc3RlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NoYXJlZFBl
cnNpc3RlbnQuaAppbmRleCAyZTM5YTA2MzA1YzAzOTY3YWY0Mjg2MjU1NjBlNjkzNjgyOTY1MDdk
Li41MjEwNmMyOWNmZGY0NDA0ZWZkNmI3MGRlMDcxZTY5ZGViNmQ2NDY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TaGFyZWRQZXJzaXN0ZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2hhcmVkUGVyc2lzdGVudC5oCkBAIC0zOCw3ICszOCw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBjbGFz
cy4KICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgICBjbGFzcyBTaGFyZWRQZXJzaXN0ZW50
IDogcHVibGljIFJlZkNvdW50ZWQ8U2hhcmVkUGVyc2lzdGVudDxUPiA+IHsKICAgICBwdWJsaWM6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3Rl
ZFNjcmlwdEhvc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAppbmRleCAyMzIwZjM2ZTkwNDY1ZTkzMjUw
Mzk2YzNmZTcyYWI3NGY1NGE5MDE5Li5lNjM2OThmMjU5NzkxNmIzNjA3ZjBiMDRhMWZkZmUzZGIz
ZGJjMmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJ
bmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKQEAgLTY1LDcgKzY1LDcg
QEAgTm9kZSogSW5qZWN0ZWRTY3JpcHRIb3N0OjpzY3JpcHRWYWx1ZUFzTm9kZShTY3JpcHRWYWx1
ZSB2YWx1ZSkKIHsKICAgICBpZiAoIXZhbHVlLmlzT2JqZWN0KCkgfHwgdmFsdWUuaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5k
bGU8djg6Ok9iamVjdD46OkNhc3QodmFsdWUudjhWYWx1ZSgpKSk7CisgICAgcmV0dXJuIFY4Tm9k
ZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh2YWx1ZS52OFZhbHVlUmF3
KCkpKTsKIH0KIAogU2NyaXB0VmFsdWUgSW5qZWN0ZWRTY3JpcHRIb3N0Ojpub2RlQXNTY3JpcHRW
YWx1ZShTY3JpcHRTdGF0ZSogc3RhdGUsIE5vZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcApp
bmRleCAzODRjYmE1N2Q2OTBlNmIzOGFlN2JhZDc3M2Y3NjBlMjM4MWI3ZmE2Li41YmRlZGE5YWEy
NjVhN2FhOTkyY2I3ZTI5OTgzZGI5NjY4NzU2MWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAKQEAg
LTUzLDcgKzUzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZUV2ZW50OjpkYXRh
QXR0ckdldHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4KICAgICAgICAgaWYgKHNjcmlw
dFZhbHVlLmhhc05vVmFsdWUoKSkKICAgICAgICAgICAgIHJlc3VsdCA9IHY4TnVsbChpbmZvLkdl
dElzb2xhdGUoKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IHY4OjpMb2Nh
bDx2ODo6VmFsdWU+OjpOZXcoc2NyaXB0VmFsdWUudjhWYWx1ZSgpKTsKKyAgICAgICAgICAgIHJl
c3VsdCA9IHNjcmlwdFZhbHVlLnY4VmFsdWUoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>