<?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>90079</bug_id>
          
          <creation_ts>2012-06-27 08:56:06 -0700</creation_ts>
          <short_desc>[CSS Regions] It should be possible to specify ::BEFORE/AFTER as regions</short_desc>
          <delta_ts>2012-10-01 01:12:42 -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>
          
          <blocked>57312</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrei Bucur">abucur</reporter>
          <assigned_to name="Andrei Bucur">abucur</assigned_to>
          <cc>donggwan.kim</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn</cc>
    
    <cc>hyatt</cc>
    
    <cc>stearns</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>658638</commentid>
    <comment_count>0</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-06-27 08:56:06 -0700</bug_when>
    <thetext>Currently, the implementation assumes the RenderRegions have a direct node attached to them. This is not true in the case of  pseudo-elements renderers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659480</commentid>
    <comment_count>1</comment_count>
      <attachid>149947</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-06-28 07:10:02 -0700</bug_when>
    <thetext>Created attachment 149947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708437</commentid>
    <comment_count>2</comment_count>
      <attachid>161429</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-08-30 02:20:33 -0700</bug_when>
    <thetext>Created attachment 161429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708829</commentid>
    <comment_count>3</comment_count>
      <attachid>161429</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-30 10:50:34 -0700</bug_when>
    <thetext>Comment on attachment 161429
Patch

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

Just one question about this one.

&gt; Source/WebCore/rendering/RenderRegion.h:50
&gt; +    // Regions can&apos;t have any children.
&gt; +    virtual bool isChildAllowed(RenderObject*, RenderStyle*) const { return false; }

This is weird to me. Eventually we want to turn RenderRegions into RenderBlocks so that they can have ::before and ::after children. In other words, we do want to support children on RenderRegions eventually, so why do we turn that off?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708860</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-08-30 11:27:32 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 161429 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161429&amp;action=review
&gt; 
&gt; Just one question about this one.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderRegion.h:50
&gt; &gt; +    // Regions can&apos;t have any children.
&gt; &gt; +    virtual bool isChildAllowed(RenderObject*, RenderStyle*) const { return false; }
&gt; 
&gt; This is weird to me. Eventually we want to turn RenderRegions into RenderBlocks so that they can have ::before and ::after children. In other words, we do want to support children on RenderRegions eventually, so why do we turn that off?

That comment was supposed to be read more like &quot;FIXME PLEASE: Regions can&apos;t have any children because they are RenderReplaced and every time in RenderObjectChildList someone tries to add a child on generatedContentContainer an ASSERT will trigger... (make me RenderBlock!)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708863</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-30 11:29:44 -0700</bug_when>
    <thetext>Ah ok, got it. Go ahead and put in a FIXME then and put up a new patch and I will r+ and cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708867</commentid>
    <comment_count>6</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-08-30 11:31:53 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Ah ok, got it. Go ahead and put in a FIXME then and put up a new patch and I will r+ and cq+.

Tomorrow, bed time now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709548</commentid>
    <comment_count>7</comment_count>
      <attachid>161683</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-08-31 06:01:49 -0700</bug_when>
    <thetext>Created attachment 161683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709555</commentid>
    <comment_count>8</comment_count>
      <attachid>161683</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-08-31 06:07:58 -0700</bug_when>
    <thetext>Comment on attachment 161683
Patch

The patch is a little different. I&apos;ve realised it&apos;s pointless to override isChildAllowed() now and I think this is a better way to do it. Basically if the pseudo-element is a region, the content values are ignored. I think this is inline with the expected behaviour as well. A pseudo-element with flow-from but no content values should still be displayed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709660</commentid>
    <comment_count>9</comment_count>
      <attachid>161683</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-31 08:44:53 -0700</bug_when>
    <thetext>Comment on attachment 161683
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709667</commentid>
    <comment_count>10</comment_count>
      <attachid>161683</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 08:49:45 -0700</bug_when>
    <thetext>Comment on attachment 161683
Patch

Clearing flags on attachment: 161683

Committed r127269: &lt;http://trac.webkit.org/changeset/127269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709668</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-31 08:49:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722804</commentid>
    <comment_count>12</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2012-09-18 08:20:24 -0700</bug_when>
    <thetext>*** Bug 92125 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731461</commentid>
    <comment_count>13</comment_count>
    <who name="Mihai Balan">mibalan</who>
    <bug_when>2012-10-01 01:12:42 -0700</bug_when>
    <thetext>*** Bug 75587 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149947</attachid>
            <date>2012-06-28 07:10:02 -0700</date>
            <delta_ts>2012-08-30 02:20:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90079-20120628171000.patch</filename>
            <type>text/plain</type>
            <size>16325</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE0ZDVkM2EyYTFhMzZl
NGEyMjVkNjFhOGIxN2IyMTA3MDc2NmU3OS4uZTI1MzQxNmQzZjA4ZmFjMDAwYzI3NmQ0ZTI0NDAy
MjhjYmZiM2RmNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA2LTI4ICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gSXQg
c2hvdWxkIGJlIHBvc3NpYmxlIHRvIHNwZWNpZnkgOjpCRUZPUkUvQUZURVIgYXMgcmVnaW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAwNzkKKwor
ICAgICAgICBUaGUgcGF0Y2ggcmVwbGFjZXMgdGhlIGNhbGxzIGZvciBSZW5kZXJSZWdpb246Om5v
ZGUoKSB3aXRoIFJlbmRlclJlZ2lvbjo6Z2VuZXJhdGluZ05vZGUoKSB0byBhbGxvdyBwc2V1ZG8t
ZWxlbWVudHMgdG8gaGF2ZQorICAgICAgICBSZW5kZXJSZWdpb24gcmVuZGVyZXJzLiBBbHNvLCB0
aGUgY29tcGFyZSBmdW5jdGlvbiB0aGF0IGVzdGFibGlzaGVzIHRoZSByZWdpb24gb3JkZXIgd2Fz
IGFkYXB0ZWQgdG8gdGFrZSBpbnRvIGFjY291bnQKKyAgICAgICAgcHNldWRvLXJlZ2lvbnMuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9yZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNldWRvLXJlZ2lvbnMuaHRtbAorCisgICAg
ICAgICogZG9tL1dlYktpdE5hbWVkRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRO
YW1lZEZsb3c6OmdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFk
OjpyZWdpb25MYXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcGFyZVJl
bmRlclJlZ2lvbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpub2RlQXRQb2ludCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJSZWdpb246OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclJlZ2lvbjo6Y29tcHV0ZVN0eWxlSW5SZWdpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJSZWdpb24uaDoKKyAgICAgICAgKFJlbmRlclJlZ2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJSZWdpb246OmlzQ2hpbGRBbGxvd2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVJlbmRlck5hbWVkRmxv
d1RocmVhZHMpOgorCiAyMDEyLTA2LTI3ICBPc3dhbGQgQnVkZGVuaGFnZW4gIDxvc3dhbGQuYnVk
ZGVuaGFnZW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIHJlZHVuZGFudCBOREVC
VUcgZGVmaW5pdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVk
Rmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRGbG93LmNwcAppbmRleCAx
OWUxMjI5MjJjMzAxOWFiMmRmNmVmZjYyODVkMDM2OTM3YThlYmUwLi4xZjRlMzI2YTVlMTg5OWU2
Y2Q2NWQ2MWUyM2E0ODE2ZmExOGE1NGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TmFtZWRGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TmFtZWRG
bG93LmNwcApAQCAtNzIsNyArNzIsOSBAQCBQYXNzUmVmUHRyPE5vZGVMaXN0PiBXZWJLaXROYW1l
ZEZsb3c6OmdldFJlZ2lvbnNCeUNvbnRlbnROb2RlKE5vZGUqIGNvbnRlbnROb2RlKQogICAgICAg
ICAgICAgY29uc3QgUmVuZGVyUmVnaW9uKiByZW5kZXJSZWdpb24gPSAqaXRlcjsKICAgICAgICAg
ICAgIGlmICghcmVuZGVyUmVnaW9uLT5pc1ZhbGlkKCkpCiAgICAgICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgICAgICBpZiAobV9wYXJlbnRGbG93VGhyZWFkLT5vYmplY3RJbkZsb3dSZWdp
b24oY29udGVudE5vZGUtPnJlbmRlcmVyKCksIHJlbmRlclJlZ2lvbikpCisKKyAgICAgICAgICAg
IC8vIEZJWE1FOiBQc2V1ZG8tcmVnaW9ucyBhcmUgbm90IGluY2x1ZGVkOyB0aGUgUmVnaW9uIGlu
dGVyZmFjZSBpcyByZXF1aXJlZCBpbiB0aGlzIGNhc2UuCisgICAgICAgICAgICBpZiAobV9wYXJl
bnRGbG93VGhyZWFkLT5vYmplY3RJbkZsb3dSZWdpb24oY29udGVudE5vZGUtPnJlbmRlcmVyKCks
IHJlbmRlclJlZ2lvbikgJiYgcmVuZGVyUmVnaW9uLT5ub2RlKCkpCiAgICAgICAgICAgICAgICAg
cmVnaW9uTm9kZXMuYXBwZW5kKHJlbmRlclJlZ2lvbi0+bm9kZSgpKTsKICAgICAgICAgfQogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAppbmRl
eCA2NjlkNDZkNGRkODA4YWY1YzIyNTFhY2VjNDJkM2U2NTc5MjkyMGM2Li42ZDRjYmE4ODBiNDY4
NTVlMjYyYzA2NTJjMjJjNzFjN2U2MjVhMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC03MTgsNyArNzE4LDcgQEAgdm9pZCBSZW5kZXJG
bG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMoTGF5b3V0VW5pdCBvbGRD
bGllbnRBZnRlckUKICAgICB9CiAKICAgICAvLyBXaXRoIHRoZSByZWdpb25zIG92ZXJmbG93IHN0
YXRlIGNvbXB1dGVkIHdlIGNhbiBhbHNvIHNldCB0aGUgb3ZlcnNldCBmbGFnIGZvciB0aGUgbmFt
ZWQgZmxvdy4KLSAgICAvLyBJZiB0aGVyZSBhcmUgbm8gdmFsaWQgcmVnaW9ucyBpbiB0aGUgY2hh
aW4sIG92ZXJzZXQgaXMgdHJ1ZQorICAgIC8vIElmIHRoZXJlIGFyZSBubyB2YWxpZCByZWdpb25z
IGluIHRoZSBjaGFpbiwgb3ZlcnNldCBpcyB0cnVlLgogICAgIFJlbmRlclJlZ2lvbiogbGFzdFJl
ZyA9IGxhc3RSZWdpb24oKTsKICAgICBtX292ZXJzZXQgPSBsYXN0UmVnID8gbGFzdFJlZy0+cmVn
aW9uU3RhdGUoKSA9PSBSZW5kZXJSZWdpb246OlJlZ2lvbk92ZXJmbG93IDogdHJ1ZTsKIH0KQEAg
LTczMCwxMiArNzMwLDE1IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uTGF5b3V0VXBk
YXRlRXZlbnRUaW1lckZpcmVkKFRpbWVyPFJlbmRlckZsb3dUaHJlYWQ+CiAgICAgcmVnaW9uTm9k
ZXMucmVzZXJ2ZUNhcGFjaXR5KG1fcmVnaW9uTGlzdC5zaXplKCkpOwogICAgIGZvciAoUmVuZGVy
UmVnaW9uTGlzdDo6aXRlcmF0b3IgaXRlciA9IG1fcmVnaW9uTGlzdC5iZWdpbigpOyBpdGVyICE9
IG1fcmVnaW9uTGlzdC5lbmQoKTsgKytpdGVyKSB7CiAgICAgICAgIFJlbmRlclJlZ2lvbiogcmVn
aW9uID0gKml0ZXI7Ci0gICAgICAgIEFTU0VSVChyZWdpb24tPm5vZGUoKSAmJiByZWdpb24tPm5v
ZGUoKS0+aXNFbGVtZW50Tm9kZSgpKTsKLSAgICAgICAgLy8gZGlzcGF0Y2ggdGhlIGV2ZW50IG9u
bHkgZm9yIG1hcmtlZCByZWdpb25zIGFuZCBvbmx5IGZvciB0aG9zZSB3aG8gaGF2ZSBhIGxpc3Rl
bmVyCi0gICAgICAgIGlmIChyZWdpb24tPnNob3VsZERpc3BhdGNoUmVnaW9uTGF5b3V0VXBkYXRl
RXZlbnQoKSkgewotICAgICAgICAgICAgcmVnaW9uTm9kZXMuYXBwZW5kKHJlZ2lvbi0+bm9kZSgp
KTsKLSAgICAgICAgICAgIC8vIGNsZWFyIHRoZSBkaXNwYXRjaCBmbGFnIGhlcmUsIGFzIGl0IGlz
IHBvc3NpYmxlIHRvIGJlIHNldCBhZ2FpbiBkdWUgdG8gZXZlbnQgbGlzdGVuZXJzCi0gICAgICAg
ICAgICByZWdpb24tPnNldERpc3BhdGNoUmVnaW9uTGF5b3V0VXBkYXRlRXZlbnQoZmFsc2UpOwor
CisgICAgICAgIC8vIEZJWE1FOiBGb3IgcHNldWRvLXJlZ2lvbnMgZG8gbm90IGRpc3BhdGNoIHRo
ZSBldmVudDsgdGhpcyBjb2RlIHdpbGwgYmUgcmVtb3ZlZCBvbmNlIHRoZSBldmVudCBpcyBkaXNw
YXRjaGVkIG9uIHRoZSBOYW1lZEZsb3cgb2JqZWN0LgorICAgICAgICBpZiAocmVnaW9uLT5ub2Rl
KCkgJiYgcmVnaW9uLT5ub2RlKCktPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICAgICAgLy8g
RGlzcGF0Y2ggdGhlIGV2ZW50IG9ubHkgZm9yIG1hcmtlZCByZWdpb25zIGFuZCBvbmx5IGZvciB0
aG9zZSB3aG8gaGF2ZSBhIGxpc3RlbmVyLgorICAgICAgICAgICAgaWYgKHJlZ2lvbi0+c2hvdWxk
RGlzcGF0Y2hSZWdpb25MYXlvdXRVcGRhdGVFdmVudCgpKSB7CisgICAgICAgICAgICAgICAgcmVn
aW9uTm9kZXMuYXBwZW5kKHJlZ2lvbi0+bm9kZSgpKTsKKyAgICAgICAgICAgICAgICAvLyBDbGVh
ciB0aGUgZGlzcGF0Y2ggZmxhZyBoZXJlLCBhcyBpdCBpcyBwb3NzaWJsZSB0byBiZSBzZXQgYWdh
aW4gZHVlIHRvIGV2ZW50IGxpc3RlbmVycy4KKyAgICAgICAgICAgICAgICByZWdpb24tPnNldERp
c3BhdGNoUmVnaW9uTGF5b3V0VXBkYXRlRXZlbnQoZmFsc2UpOworICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQogICAgIGZvciAoVmVjdG9yPFJlZlB0cjxOb2RlPiA+Ojpjb25zdF9pdGVy
YXRvciBpdCA9IHJlZ2lvbk5vZGVzLmJlZ2luKCk7IGl0ICE9IHJlZ2lvbk5vZGVzLmVuZCgpOyAr
K2l0KSB7CkBAIC03NDYsNyArNzQ5LDcgQEAgdm9pZCBSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25M
YXlvdXRVcGRhdGVFdmVudFRpbWVyRmlyZWQoVGltZXI8UmVuZGVyRmxvd1RocmVhZD4KICAgICAg
ICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG5vZGUtPnJlbmRlcmVyKCk7CiAgICAgICAgIGlm
IChyZW5kZXJlciAmJiByZW5kZXJlci0+aXNSZW5kZXJSZWdpb24oKSkgewogICAgICAgICAgICAg
bm9kZS0+ZGlzcGF0Y2hSZWdpb25MYXlvdXRVcGRhdGVFdmVudCgpOwotICAgICAgICAgICAgLy8g
TGF5b3V0IG5lZWRzIHRvIGJlIHVwdG9kYXRlIGFmdGVyIGVhY2ggZXZlbnQgbGlzdGVuZXIKKyAg
ICAgICAgICAgIC8vIExheW91dCBuZWVkcyB0byBiZSB1cHRvZGF0ZSBhZnRlciBlYWNoIGV2ZW50
IGxpc3RlbmVyLgogICAgICAgICAgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCAwODhiODcyNDhkYTM1
NTI1OWEyMGI2OTkwMzU1ZDg4NzQ2NzEzZGY0Li43ZmM1NzM4NGI0YWE2NGNkNmYwNTU3MGYzMTYy
MmUxM2ZlOTE1MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TmFtZWRGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TmFtZWRGbG93VGhyZWFkLmNwcApAQCAtMTI5LDEyICsxMjksNDUgQEAgc3RhdGljIGJvb2wgY29t
cGFyZVJlbmRlclJlZ2lvbnMoY29uc3QgUmVuZGVyUmVnaW9uKiBmaXJzdFJlZ2lvbiwgY29uc3Qg
UmVuZGVyUmUKICAgICBBU1NFUlQoZmlyc3RSZWdpb24pOwogICAgIEFTU0VSVChzZWNvbmRSZWdp
b24pOwogCi0gICAgLy8gSWYgdGhlIHJlZ2lvbnMgaGF2ZSB0aGUgc2FtZSByZWdpb24taW5kZXgs
IGNvbXBhcmUgdGhlaXIgcG9zaXRpb24gaW4gZG9tLgotICAgIEFTU0VSVChmaXJzdFJlZ2lvbi0+
bm9kZSgpKTsKLSAgICBBU1NFUlQoc2Vjb25kUmVnaW9uLT5ub2RlKCkpOworICAgIEFTU0VSVChm
aXJzdFJlZ2lvbi0+Z2VuZXJhdGluZ05vZGUoKSk7CisgICAgQVNTRVJUKHNlY29uZFJlZ2lvbi0+
Z2VuZXJhdGluZ05vZGUoKSk7CiAKLSAgICB1bnNpZ25lZCBzaG9ydCBwb3NpdGlvbiA9IGZpcnN0
UmVnaW9uLT5ub2RlKCktPmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHNlY29uZFJlZ2lvbi0+bm9k
ZSgpKTsKLSAgICByZXR1cm4gKHBvc2l0aW9uICYgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HKTsKKyAgICAvLyBJZiB0aGUgcmVnaW9ucyBiZWxvbmcgdG8gZGlmZmVyZW50IG5vZGVz
LCBjb21wYXJlIHRoZWlyIHBvc2l0aW9uIGluIHRoZSBET00uCisgICAgaWYgKGZpcnN0UmVnaW9u
LT5nZW5lcmF0aW5nTm9kZSgpICE9IHNlY29uZFJlZ2lvbi0+Z2VuZXJhdGluZ05vZGUoKSkgewor
ICAgICAgICB1bnNpZ25lZCBzaG9ydCBwb3NpdGlvbiA9IGZpcnN0UmVnaW9uLT5nZW5lcmF0aW5n
Tm9kZSgpLT5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihzZWNvbmRSZWdpb24tPmdlbmVyYXRpbmdO
b2RlKCkpOworCisgICAgICAgIC8vIElmIHRoZSBzZWNvbmQgcmVnaW9uIGlzIGNvbnRhaW5lZCBp
biB0aGUgZmlyc3Qgb25lLCB0aGUgZmlyc3QgcmVnaW9uIGlzICJsZXNzIiBpZiBpdCdzIDpiZWZv
cmUuCisgICAgICAgIGlmIChwb3NpdGlvbiAmIE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRB
SU5FRF9CWSkgeworICAgICAgICAgICAgQVNTRVJUKHNlY29uZFJlZ2lvbi0+c3R5bGUoKS0+c3R5
bGVUeXBlKCkgPT0gTk9QU0VVRE8pOworICAgICAgICAgICAgcmV0dXJuIGZpcnN0UmVnaW9uLT5z
dHlsZSgpLT5zdHlsZVR5cGUoKSA9PSBCRUZPUkU7CisgICAgICAgIH0KKworICAgICAgICAvLyBJ
ZiB0aGUgc2Vjb25kIHJlZ2lvbiBjb250YWlucyB0aGUgZmlyc3QgcmVnaW9uLCB0aGUgZmlyc3Qg
cmVnaW9uIGlzICJsZXNzIiBpZiB0aGUgc2Vjb25kIGlzIDphZnRlci4KKyAgICAgICAgaWYgKHBv
c2l0aW9uICYgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlMpIHsKKyAgICAgICAgICAg
IEFTU0VSVChmaXJzdFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gTk9QU0VVRE8pOwor
ICAgICAgICAgICAgcmV0dXJuIHNlY29uZFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0g
QUZURVI7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gKHBvc2l0aW9uICYgTm9kZTo6RE9D
VU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKTsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogQ3VycmVu
dGx5IGl0J3Mgbm90IHBvc3NpYmxlIGZvciBhbiBlbGVtZW50IHRvIGJlIGJvdGggYSByZWdpb24g
YW5kIGhhdmUgcHNldWRvLWNoaWxkcmVuLiBUaGUgY2FzZSBpcyBjb3ZlcmVkIGFueXdheS4KKyAg
ICBzd2l0Y2ggKGZpcnN0UmVnaW9uLT5zdHlsZSgpLT5zdHlsZVR5cGUoKSkgeworICAgIGNhc2Ug
QkVGT1JFOgorICAgICAgICAvLyBUaGUgc2Vjb25kIHJlZ2lvbiBjYW4gYmUgdGhlIG5vZGUgb3Ig
dGhlIGFmdGVyIHBzZXVkby1lbGVtZW50IChiZWZvcmUgaXMgc21hbGxlciB0aGFuIGFueSBvZiB0
aG9zZSkuCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgQUZURVI6CisgICAgICAgIC8v
IFRoZSBzZWNvbmQgcmVnaW9uIGNhbiBiZSB0aGUgbm9kZSBvciB0aGUgYmVmb3JlIHBzZXVkby1l
bGVtZW50IChhZnRlciBpcyBncmVhdGVyIHRoYW4gYW55IG9mIHRob3NlKS4KKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGNhc2UgTk9QU0VVRE86CisgICAgICAgIC8vIFRoZSBzZWNvbmQgcmVn
aW9uIGNhbiBlaXRoZXIgYmUgdGhlIGJlZm9yZSBvciB0aGUgYWZ0ZXIgcHNldWRvLWVsZW1lbnQg
KHRoZSBub2RlIGlzIG9ubHkgc21hbGxlciB0aGFuIHRoZSBhZnRlciBwc2V1ZG8tZWxlbWVudCku
CisgICAgICAgIHJldHVybiBmaXJzdFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gQUZU
RVI7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93
VGhyZWFkOjphZGRSZWdpb25Ub1RocmVhZChSZW5kZXJSZWdpb24qIHJlbmRlclJlZ2lvbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKaW5kZXggOTkzOGRmZmIwNmJi
ZjliOGU2OWUwMzVhOWJmZmQ0N2I3MjNlMGI3MS4uZDlhZjQzYzBlOWQ5MWVhNDEwNDc1NzJlZWYw
NzY0YjgyNWRmYzJjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5j
cHAKQEAgLTEzNCw3ICsxMzQsNyBAQCBib29sIFJlbmRlclJlZ2lvbjo6bm9kZUF0UG9pbnQoY29u
c3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlcwogICAgICAgICBp
ZiAobV9mbG93VGhyZWFkICYmIG1fZmxvd1RocmVhZC0+aGl0VGVzdFJlZ2lvbih0aGlzLCByZXF1
ZXN0LCByZXN1bHQsIHBvaW50SW5Db250YWluZXIsIExheW91dFBvaW50KGFkanVzdGVkTG9jYXRp
b24ueCgpICsgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSwgYWRqdXN0ZWRMb2NhdGlvbi55
KCkgKyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSkpKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIHVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBwb2ludEluQ29udGFpbmVy
LnBvaW50KCkgLSB0b0xheW91dFNpemUoYWRqdXN0ZWRMb2NhdGlvbikpOwotICAgICAgICBpZiAo
IXJlc3VsdC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KG5vZGUoKSwgcG9pbnRJbkNvbnRh
aW5lciwgYm91bmRzUmVjdCkpCisgICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNl
ZFRlc3RSZXN1bHQoZ2VuZXJhdGluZ05vZGUoKSwgcG9pbnRJbkNvbnRhaW5lciwgYm91bmRzUmVj
dCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTE0NSwxMCArMTQ1LDEz
IEBAIHZvaWQgUmVuZGVyUmVnaW9uOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0CiB7CiAgICAgUmVuZGVyUmVwbGFjZWQ6OnN0eWxl
RGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICBib29sIGN1c3RvbVJlZ2lvblN0eWxlID0g
ZmFsc2U7CisKKyAgICAvLyBGSVhNRTogUmVnaW9uIHN0eWxpbmcgZG9lc24ndCB3b3JrIGZvciBw
c2V1ZG8gZWxlbWVudHMuCiAgICAgaWYgKG5vZGUoKSkgewogICAgICAgICBFbGVtZW50KiByZWdp
b25FbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSk7CiAgICAgICAgIGN1c3Rv
bVJlZ2lvblN0eWxlID0gdmlldygpLT5kb2N1bWVudCgpLT5zdHlsZVJlc29sdmVyKCktPmNoZWNr
UmVnaW9uU3R5bGUocmVnaW9uRWxlbWVudCk7CiAgICAgfQorCiAgICAgc2V0SGFzQ3VzdG9tUmVn
aW9uU3R5bGUoY3VzdG9tUmVnaW9uU3R5bGUpOwogICAgIGZsb3dUaHJlYWQoKS0+Y2hlY2tSZWdp
b25zV2l0aFN0eWxpbmcoKTsKIH0KQEAgLTMzMyw2ICszMzYsNyBAQCBQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiBSZW5kZXJSZWdpb246OmNvbXB1dGVTdHlsZUluUmVnaW9uKGNvbnN0IFJlbmRlck9i
amVjdCogbwogICAgIEFTU0VSVCghb2JqZWN0LT5pc0Fub255bW91cygpKTsKICAgICBBU1NFUlQo
b2JqZWN0LT5ub2RlKCkgJiYgb2JqZWN0LT5ub2RlKCktPmlzRWxlbWVudE5vZGUoKSk7CiAKKyAg
ICAvLyBGSVhNRTogUmVnaW9uIHN0eWxpbmcgZmFpbHMgZm9yIHBzZXVkby1lbGVtZW50cyBiZWNh
dXNlIHRoZSByZW5kZXJlcnMgZG9uJ3QgaGF2ZSBhIG5vZGUuCiAgICAgRWxlbWVudCogZWxlbWVu
dCA9IHRvRWxlbWVudChvYmplY3QtPm5vZGUoKSk7CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBy
ZW5kZXJPYmplY3RSZWdpb25TdHlsZSA9IG9iamVjdC0+dmlldygpLT5kb2N1bWVudCgpLT5zdHls
ZVJlc29sdmVyKCktPnN0eWxlRm9yRWxlbWVudChlbGVtZW50LCAwLCBEaXNhbGxvd1N0eWxlU2hh
cmluZywgTWF0Y2hBbGxSdWxlcywgdGhpcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJSZWdpb24uaAppbmRleCA4MjZlOTgwNzIyNmIxYjM0ZTliNDA1ODQyYTRlOTVjY2I4NjA3M2Uz
Li4yYzFkOWU1MmEwMjMwZDE3ZmE1ZTdlZmNlZTkxYzVkYTI2YmE1Yjk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCkBAIC00NSw2ICs0NSw5IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgYm9vbCBpc1JlbmRlclJlZ2lvbigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
IAorICAgIC8vIFJlZ2lvbnMgY2FuJ3QgaGF2ZSBhbnkgY2hpbGRyZW4uCisgICAgdmlydHVhbCBi
b29sIGlzQ2hpbGRBbGxvd2VkKFJlbmRlck9iamVjdCosIFJlbmRlclN0eWxlKikgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBwYWludFJlcGxhY2VkKFBhaW50SW5m
byYsIGNvbnN0IExheW91dFBvaW50Jik7CiAgICAgdmlydHVhbCBib29sIG5vZGVBdFBvaW50KGNv
bnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RQb2ludCYg
cG9pbnRJbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0LCBI
aXRUZXN0QWN0aW9uKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRyZWVBc1RleHQuY3BwCmluZGV4IDU5Y2VlYmQ2ODVjMjY1OWY3MDBiNGI1ZDc0ODM2YjRh
Y2YxMmJhZWYuLjkyMDFkNTQ0ZThjMmMxMzkwNDQyY2VkMTkwZjRmYjcwYTE4YjVjNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTcwMiwx
MiArNzAyLDEyIEBAIHN0YXRpYyB2b2lkIHdyaXRlUmVuZGVyTmFtZWRGbG93VGhyZWFkcyhUZXh0
U3RyZWFtJiB0cywgUmVuZGVyVmlldyogcmVuZGVyVmlldywKICAgICAgICAgICAgICAgICBSZW5k
ZXJSZWdpb24qIHJlbmRlclJlZ2lvbiA9ICppdFJSOwogICAgICAgICAgICAgICAgIHdyaXRlSW5k
ZW50KHRzLCBpbmRlbnQgKyAyKTsKICAgICAgICAgICAgICAgICB0cyA8PCAiUmVuZGVyUmVnaW9u
IjsKLSAgICAgICAgICAgICAgICBpZiAocmVuZGVyUmVnaW9uLT5ub2RlKCkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgU3RyaW5nIHRhZ05hbWUgPSBnZXRUYWdOYW1lKHJlbmRlclJlZ2lvbi0+bm9k
ZSgpKTsKKyAgICAgICAgICAgICAgICBpZiAocmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgp
KSB7CisgICAgICAgICAgICAgICAgICAgIFN0cmluZyB0YWdOYW1lID0gZ2V0VGFnTmFtZShyZW5k
ZXJSZWdpb24tPmdlbmVyYXRpbmdOb2RlKCkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoIXRh
Z05hbWUuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgdHMgPDwgIiB7IiA8PCB0
YWdOYW1lIDw8ICJ9IjsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHJlbmRlclJlZ2lvbi0+bm9k
ZSgpLT5pc0VsZW1lbnROb2RlKCkgJiYgcmVuZGVyUmVnaW9uLT5ub2RlKCktPmhhc0lEKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxF
bGVtZW50Kj4ocmVuZGVyUmVnaW9uLT5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAo
cmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpLT5pc0VsZW1lbnROb2RlKCkgJiYgcmVuZGVy
UmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpLT5oYXNJRCgpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KHJlbmRlclJlZ2lv
bi0+Z2VuZXJhdGluZ05vZGUoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB0cyA8PCAiICMi
IDw8IGVsZW1lbnQtPmlkRm9yU3R5bGVSZXNvbHV0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgaWYgKHJlbmRlclJlZ2lvbi0+aGFzQ3VzdG9tUmVnaW9u
U3R5bGUoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBkMWY1ZWEzYzNhZjI2NzkyYTcwZmI0MzJmMzFkODkxOTYzMGNlODFh
Li44NzdlNWRmZWUxZWU4NmRiZDA2MjMwMzlhNzA2NDk1OWQ5YjhhZTUxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjIgQEAKKzIwMTItMDYtMjggIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CisK
KyAgICAgICAgW0NTUyBSZWdpb25zXSBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gc3BlY2lmeSA6
OkJFRk9SRS9BRlRFUiBhcyByZWdpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MDA3OQorCisgICAgICAgIFRoZSBuZXcgcmVmLXRlc3QgaGFzIGEg
YmxvY2sgd2l0aCBib3RoIGEgOmJlZm9yZSBhbmQgOmFmdGVyIHBzZXVkby1lbGVtZW50cyBtYXJr
ZWQgYXMgcmVnaW9ucy4KKyAgICAgICAgSW4gdGhlIGJsb2NrIHRoZXJlJ3MgYW5vdGhlciByZWdp
b24uCisKKyAgICAgICAgVGhlIHRlc3QgdmVyaWZpZXMgdGhlIGNvbnRlbnQgaXMgY29ycmVjdGx5
IGZsb3dlZCAodGhlIHJlZ2lvbiBvcmRlciBpcyByZXNwZWN0ZWQpIGluIHRoZSByZWdpb24gY2hh
aW46CisgICAgICAgIDpiZWZvcmUgcmVnaW9uIC0+IGNoaWxkIHJlZ2lvbiAtPiA6YWZ0ZXIgcmVn
aW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L3JlZ2lvbnMvY29udGVudC1mbG93ZWQtaW50by1wc2V1ZG8tcmVnaW9ucy1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvY29udGVudC1mbG93ZWQtaW50by1w
c2V1ZG8tcmVnaW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVzb3Vy
Y2VzL3JlZ2lvbi1zdHlsZS5jc3M6CisgICAgICAgICgucmVnaW9uQXJ0aWNsZUFmdGVyOjphZnRl
ciwgLnJlZ2lvbkFydGljbGVCZWZvcmU6OmJlZm9yZSk6CisgICAgICAgICguYm9yZGVyQm94Tm9G
bG9hdCk6CisKIDIwMTItMDYtMjcgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbmV4cGVjdGVkIGVuZCBvZiBzdHlsZSBzaGVldCBpbiBAZm9udC1m
YWNlIHJ1bGUgZGlzY2FyZHMgaXQgcmF0aGVyIHRoYW4gY2xvc2VzIGFsbCBvcGVuIGNvbnN0cnVj
dHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZsb3dlZC1p
bnRvLXBzZXVkby1yZWdpb25zLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvY29udGVudC1mbG93ZWQtaW50by1wc2V1ZG8tcmVnaW9ucy1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE4Yzg3MTQzZTlkOWVlYWI1ZjgzOGZlYmFhNDAyNWI5ZTY1OGMzYWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY29udGVudC1mbG93ZWQtaW50by1w
c2V1ZG8tcmVnaW9ucy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0icmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MiPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGRpdiBjbGFzcz0iZ3JlZW5Cb3ggYm9yZGVyQm94Tm9GbG9hdCI+PC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9ImJsdWVCb3ggYm9yZGVyQm94Tm9GbG9hdCI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9Im9yYW5nZUJveCBib3JkZXJCb3hOb0Zsb2F0Ij48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
Y29udGVudC1mbG93ZWQtaW50by1wc2V1ZG8tcmVnaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNldWRvLXJlZ2lvbnMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNjllMmEyYmFjZDJmZjE2MmMyZWJlNWI0NzIwMzA3ZjI4YmMzMzE5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNl
dWRvLXJlZ2lvbnMuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
PgorICAgIDwhLS0KKyAgICBUZXN0IHRoYXQgdGhlIGNvbnRlbnQgaXMgZmxvd2VkIHByb3Blcmx5
IGludG8gcHNldWRvLXJlZ2lvbnMuCisgICAgT24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgdGhh
dCB0aGUgY29sb3JlZCBib3hlcyBhcmUgZGlzcGxheWVkIGluc2lkZSB0aGUgMyByZWN0YW5nbGVz
IHdpdGggYmxhY2sgYm9yZGVyLgorICAgIFRoZSBncmVlbiBib3ggc2hvdWxkIGJlIGRpc3BsYXll
ZCBpbiB0aGUgbGVmdCByZWN0YW5nbGUuCisgICAgVGhlIGJsdWUgYm94IHNob3VsZCBiZSBkaXNw
bGF5ZWQgaW4gdGhlIG1pZGRsZSByZWN0YW5nbGUuCisgICAgVGhlIG9yYW5nZSBib3ggc2hvdWxk
IGJlIGRpc3BsYXllZCBpbiB0aGUgcmlnaHQgcmVjdGFuZ2xlLgorICAgIC0tPgorICAgIDxoZWFk
PgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9yZWdpb24t
c3R5bGUuY3NzIj4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgY2xhc3M9
ImZsb3dBcnRpY2xlIj4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyZWVuQm94Ij48L2Rpdj4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsdWVCb3giPjwvZGl2PgorICAgICAgICAgICAgPGRp
diBjbGFzcz0ib3JhbmdlQm94Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9InJlZ2lvbkFydGljbGVCZWZvcmUgcmVnaW9uQXJ0aWNsZUFmdGVyIj4KKyAgICAgICAg
ICAgIDxkaXYgY2xhc3M9InJlZ2lvbkFydGljbGUgYm9yZGVyQm94Tm9GbG9hdCI+PC9kaXY+Cisg
ICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9yZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcwppbmRleCAxMzRhNzQ4ZmFl
ZDUxZjQzOWQxNWIyMWYxNDA1NjFmNGVlNTNiNDE2Li4yNmQ5ZjNhMDFlZGE5OTBmOTI4ZGFhYzZh
YzI2MzY5YmY4ZWJjMDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVz
b3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
c291cmNlcy9yZWdpb24tc3R5bGUuY3NzCkBAIC0zMCw2ICszMCwxNSBAQAogICAgIC13ZWJraXQt
Zmxvdy1mcm9tOiBhcnRpY2xlOwogfQogCisucmVnaW9uQXJ0aWNsZUFmdGVyOjphZnRlciwgLnJl
Z2lvbkFydGljbGVCZWZvcmU6OmJlZm9yZSB7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgd2lk
dGg6IDUwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIGNvbnRlbnQ6ICcnOworICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsYWNrOworICAgIC13ZWJraXQtZmxvdy1mcm9tOiBhcnRpY2xlOworfQor
CiAuYm9yZGVyQm94IHsKICAgICB3aWR0aDogNTBweDsKICAgICBoZWlnaHQ6IDUwcHg7CkBAIC0z
Nyw2ICs0NiwxMiBAQAogICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwogfQogCisuYm9yZGVy
Qm94Tm9GbG9hdCB7CisgICAgd2lkdGg6IDUwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsYWNrOworfQorCiAucGFzcyB7CiAgICAgZm9udC13ZWlnaHQ6IGJv
bGQ7CiAgICAgY29sb3I6IGdyZWVuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161429</attachid>
            <date>2012-08-30 02:20:33 -0700</date>
            <delta_ts>2012-08-31 06:01:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90079-20120830122021.patch</filename>
            <type>text/plain</type>
            <size>13257</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQwYjM5MDFkNTI3NzBm
YjUwY2Y1NzE4ZmU0Mjk3ZjdjMjI5ZDViOS4uZjA3OTQ0MzJiZDA2YWNmMDZlMWUwN2YyMTRhZjJm
ZDc5NGM1MTBiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTMwICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gSXQg
c2hvdWxkIGJlIHBvc3NpYmxlIHRvIHNwZWNpZnkgOjpCRUZPUkUvQUZURVIgYXMgcmVnaW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAwNzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcGF0Y2gg
cmVwbGFjZXMgdGhlIGNhbGxzIGZvciBSZW5kZXJSZWdpb246Om5vZGUoKSB3aXRoIFJlbmRlclJl
Z2lvbjo6Z2VuZXJhdGluZ05vZGUoKSB0byBhbGxvdyBwc2V1ZG8tZWxlbWVudHMgdG8gaGF2ZQor
ICAgICAgICBSZW5kZXJSZWdpb24gcmVuZGVyZXJzLiBBbHNvLCB0aGUgY29tcGFyZSBmdW5jdGlv
biB0aGF0IGVzdGFibGlzaGVzIHRoZSByZWdpb24gb3JkZXIgd2FzIGFkYXB0ZWQgdG8gdGFrZSBp
bnRvIGFjY291bnQKKyAgICAgICAgcHNldWRvLXJlZ2lvbnMuCisKKyAgICAgICAgVGVzdDogZmFz
dC9yZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNldWRvLXJlZ2lvbnMuaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZU92ZXJmbG93U3RhdGVGb3JSZWdpb25zKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmNvbXBhcmVSZW5kZXJSZWdpb25zKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVn
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6bm9kZUF0UG9pbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpjaGVja1JlZ2lvblN0eWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6Y29tcHV0ZVN0eWxlSW5SZWdpb24pOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uaDoKKyAgICAgICAgKFJlbmRlclJlZ2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmlzQ2hpbGRBbGxvd2VkKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0
ZVJlbmRlck5hbWVkRmxvd1RocmVhZHMpOgorCiAyMDEyLTA4LTI5ICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1Y4XSBTY3JpcHRDb250cm9sbGVyOjptYXRjaGVz
Q3VycmVudENvbnRleHQgZHVwbGljYXRlcyBjb2RlIGZyb20gU2NyaXB0Q29udHJvbGxlcjo6Y3Vy
cmVudFdvcmxkQ29udGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuY3BwCmluZGV4IGZkMzFhMGY2YmU3Y2VhMmQ5MWM3Y2RmNTQ4NzIxMzIzZWVkN2VmM2Mu
LjU1NGRhZjJkZGQzMTgyMjNiMTY2MjNlNjAwNjE3NGRhOGI1NDkwNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTY4NSw3ICs2ODUsNyBA
QCB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6OmNvbXB1dGVPdmVyZmxvd1N0YXRlRm9yUmVnaW9ucyhM
YXlvdXRVbml0IG9sZENsaWVudEFmdGVyRQogICAgIH0KIAogICAgIC8vIFdpdGggdGhlIHJlZ2lv
bnMgb3ZlcmZsb3cgc3RhdGUgY29tcHV0ZWQgd2UgY2FuIGFsc28gc2V0IHRoZSBvdmVyc2V0IGZs
YWcgZm9yIHRoZSBuYW1lZCBmbG93LgotICAgIC8vIElmIHRoZXJlIGFyZSBubyB2YWxpZCByZWdp
b25zIGluIHRoZSBjaGFpbiwgb3ZlcnNldCBpcyB0cnVlCisgICAgLy8gSWYgdGhlcmUgYXJlIG5v
IHZhbGlkIHJlZ2lvbnMgaW4gdGhlIGNoYWluLCBvdmVyc2V0IGlzIHRydWUuCiAgICAgbV9vdmVy
c2V0ID0gbGFzdFJlZyA/IGxhc3RSZWctPnJlZ2lvblN0YXRlKCkgPT0gUmVuZGVyUmVnaW9uOjpS
ZWdpb25PdmVyc2V0IDogdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCAyYTkxMDJlNmRmYzczYzA0ZDc3YTky
MGFjYWRhOTFhYjhmYmU2MDViLi43YjExZGZmNDNhMGYyYzIwZDQ0NTdlOTA3YmI5YjQzNzczZmUy
NzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93
VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93
VGhyZWFkLmNwcApAQCAtMTM1LDEyICsxMzUsNDUgQEAgc3RhdGljIGJvb2wgY29tcGFyZVJlbmRl
clJlZ2lvbnMoY29uc3QgUmVuZGVyUmVnaW9uKiBmaXJzdFJlZ2lvbiwgY29uc3QgUmVuZGVyUmUK
ICAgICBBU1NFUlQoZmlyc3RSZWdpb24pOwogICAgIEFTU0VSVChzZWNvbmRSZWdpb24pOwogCi0g
ICAgLy8gSWYgdGhlIHJlZ2lvbnMgaGF2ZSB0aGUgc2FtZSByZWdpb24taW5kZXgsIGNvbXBhcmUg
dGhlaXIgcG9zaXRpb24gaW4gZG9tLgotICAgIEFTU0VSVChmaXJzdFJlZ2lvbi0+bm9kZSgpKTsK
LSAgICBBU1NFUlQoc2Vjb25kUmVnaW9uLT5ub2RlKCkpOworICAgIEFTU0VSVChmaXJzdFJlZ2lv
bi0+Z2VuZXJhdGluZ05vZGUoKSk7CisgICAgQVNTRVJUKHNlY29uZFJlZ2lvbi0+Z2VuZXJhdGlu
Z05vZGUoKSk7CiAKLSAgICB1bnNpZ25lZCBzaG9ydCBwb3NpdGlvbiA9IGZpcnN0UmVnaW9uLT5u
b2RlKCktPmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHNlY29uZFJlZ2lvbi0+bm9kZSgpKTsKLSAg
ICByZXR1cm4gKHBvc2l0aW9uICYgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKTsK
KyAgICAvLyBJZiB0aGUgcmVnaW9ucyBiZWxvbmcgdG8gZGlmZmVyZW50IG5vZGVzLCBjb21wYXJl
IHRoZWlyIHBvc2l0aW9uIGluIHRoZSBET00uCisgICAgaWYgKGZpcnN0UmVnaW9uLT5nZW5lcmF0
aW5nTm9kZSgpICE9IHNlY29uZFJlZ2lvbi0+Z2VuZXJhdGluZ05vZGUoKSkgeworICAgICAgICB1
bnNpZ25lZCBzaG9ydCBwb3NpdGlvbiA9IGZpcnN0UmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpLT5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihzZWNvbmRSZWdpb24tPmdlbmVyYXRpbmdOb2RlKCkpOwor
CisgICAgICAgIC8vIElmIHRoZSBzZWNvbmQgcmVnaW9uIGlzIGNvbnRhaW5lZCBpbiB0aGUgZmly
c3Qgb25lLCB0aGUgZmlyc3QgcmVnaW9uIGlzICJsZXNzIiBpZiBpdCdzIDpiZWZvcmUuCisgICAg
ICAgIGlmIChwb3NpdGlvbiAmIE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSkg
eworICAgICAgICAgICAgQVNTRVJUKHNlY29uZFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkg
PT0gTk9QU0VVRE8pOworICAgICAgICAgICAgcmV0dXJuIGZpcnN0UmVnaW9uLT5zdHlsZSgpLT5z
dHlsZVR5cGUoKSA9PSBCRUZPUkU7CisgICAgICAgIH0KKworICAgICAgICAvLyBJZiB0aGUgc2Vj
b25kIHJlZ2lvbiBjb250YWlucyB0aGUgZmlyc3QgcmVnaW9uLCB0aGUgZmlyc3QgcmVnaW9uIGlz
ICJsZXNzIiBpZiB0aGUgc2Vjb25kIGlzIDphZnRlci4KKyAgICAgICAgaWYgKHBvc2l0aW9uICYg
Tm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlMpIHsKKyAgICAgICAgICAgIEFTU0VSVChm
aXJzdFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gTk9QU0VVRE8pOworICAgICAgICAg
ICAgcmV0dXJuIHNlY29uZFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gQUZURVI7Cisg
ICAgICAgIH0KKworICAgICAgICByZXR1cm4gKHBvc2l0aW9uICYgTm9kZTo6RE9DVU1FTlRfUE9T
SVRJT05fRk9MTE9XSU5HKTsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5IGl0J3Mg
bm90IHBvc3NpYmxlIGZvciBhbiBlbGVtZW50IHRvIGJlIGJvdGggYSByZWdpb24gYW5kIGhhdmUg
cHNldWRvLWNoaWxkcmVuLiBUaGUgY2FzZSBpcyBjb3ZlcmVkIGFueXdheS4KKyAgICBzd2l0Y2gg
KGZpcnN0UmVnaW9uLT5zdHlsZSgpLT5zdHlsZVR5cGUoKSkgeworICAgIGNhc2UgQkVGT1JFOgor
ICAgICAgICAvLyBUaGUgc2Vjb25kIHJlZ2lvbiBjYW4gYmUgdGhlIG5vZGUgb3IgdGhlIGFmdGVy
IHBzZXVkby1lbGVtZW50IChiZWZvcmUgaXMgc21hbGxlciB0aGFuIGFueSBvZiB0aG9zZSkuCisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgQUZURVI6CisgICAgICAgIC8vIFRoZSBzZWNv
bmQgcmVnaW9uIGNhbiBiZSB0aGUgbm9kZSBvciB0aGUgYmVmb3JlIHBzZXVkby1lbGVtZW50IChh
ZnRlciBpcyBncmVhdGVyIHRoYW4gYW55IG9mIHRob3NlKS4KKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGNhc2UgTk9QU0VVRE86CisgICAgICAgIC8vIFRoZSBzZWNvbmQgcmVnaW9uIGNhbiBl
aXRoZXIgYmUgdGhlIGJlZm9yZSBvciB0aGUgYWZ0ZXIgcHNldWRvLWVsZW1lbnQgKHRoZSBub2Rl
IGlzIG9ubHkgc21hbGxlciB0aGFuIHRoZSBhZnRlciBwc2V1ZG8tZWxlbWVudCkuCisgICAgICAg
IHJldHVybiBmaXJzdFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkgPT0gQUZURVI7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjph
ZGRSZWdpb25Ub1RocmVhZChSZW5kZXJSZWdpb24qIHJlbmRlclJlZ2lvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKaW5kZXggZTIyZjE5OTFjZTljNDAzNzM5NzYx
MDYxZWRmYWNiNzRjMTU1YTU4ZS4uMmM2YzQ4ODA4YmFlNjRmMjE3ZmFlOGM4ZDViNWVmODgwYmNi
YjJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKQEAgLTE0
NSw3ICsxNDUsNyBAQCBib29sIFJlbmRlclJlZ2lvbjo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVz
dFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlcwogICAgICAgICBpZiAobV9mbG93
VGhyZWFkICYmIG1fZmxvd1RocmVhZC0+aGl0VGVzdEZsb3dUaHJlYWRQb3J0aW9uSW5SZWdpb24o
dGhpcywgZmxvd1RocmVhZFBvcnRpb25SZWN0KCksIGZsb3dUaHJlYWRQb3J0aW9uT3ZlcmZsb3dS
ZWN0KCksIHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lciwgTGF5b3V0UG9pbnQo
YWRqdXN0ZWRMb2NhdGlvbi54KCkgKyBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpLCBhZGp1
c3RlZExvY2F0aW9uLnkoKSArIGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpKSkpCiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgdXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGxv
Y2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRvTGF5b3V0U2l6ZShhZGp1c3RlZExvY2F0aW9u
KSk7Ci0gICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQobm9k
ZSgpLCBsb2NhdGlvbkluQ29udGFpbmVyLCBib3VuZHNSZWN0KSkKKyAgICAgICAgaWYgKCFyZXN1
bHQuYWRkTm9kZVRvUmVjdEJhc2VkVGVzdFJlc3VsdChnZW5lcmF0aW5nTm9kZSgpLCBsb2NhdGlv
bkluQ29udGFpbmVyLCBib3VuZHNSZWN0KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KIApAQCAtMTU2LDYgKzE1Niw4IEBAIHZvaWQgUmVuZGVyUmVnaW9uOjpjaGVja1JlZ2lvblN0
eWxlKCkKIHsKICAgICBBU1NFUlQobV9mbG93VGhyZWFkKTsKICAgICBib29sIGN1c3RvbVJlZ2lv
blN0eWxlID0gZmFsc2U7CisKKyAgICAvLyBGSVhNRTogUmVnaW9uIHN0eWxpbmcgZG9lc24ndCB3
b3JrIGZvciBwc2V1ZG8gZWxlbWVudHMuCiAgICAgaWYgKG5vZGUoKSkgewogICAgICAgICBFbGVt
ZW50KiByZWdpb25FbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSk7CiAgICAg
ICAgIGN1c3RvbVJlZ2lvblN0eWxlID0gdmlldygpLT5kb2N1bWVudCgpLT5zdHlsZVJlc29sdmVy
KCktPmNoZWNrUmVnaW9uU3R5bGUocmVnaW9uRWxlbWVudCk7CkBAIC0zOTQsNiArMzk2LDcgQEAg
UGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVyUmVnaW9uOjpjb21wdXRlU3R5bGVJblJlZ2lv
bihjb25zdCBSZW5kZXJPYmplY3QqIG8KICAgICBBU1NFUlQoIW9iamVjdC0+aXNBbm9ueW1vdXMo
KSk7CiAgICAgQVNTRVJUKG9iamVjdC0+bm9kZSgpICYmIG9iamVjdC0+bm9kZSgpLT5pc0VsZW1l
bnROb2RlKCkpOwogCisgICAgLy8gRklYTUU6IFJlZ2lvbiBzdHlsaW5nIGZhaWxzIGZvciBwc2V1
ZG8tZWxlbWVudHMgYmVjYXVzZSB0aGUgcmVuZGVyZXJzIGRvbid0IGhhdmUgYSBub2RlLgogICAg
IEVsZW1lbnQqIGVsZW1lbnQgPSB0b0VsZW1lbnQob2JqZWN0LT5ub2RlKCkpOwogICAgIFJlZlB0
cjxSZW5kZXJTdHlsZT4gcmVuZGVyT2JqZWN0UmVnaW9uU3R5bGUgPSBvYmplY3QtPnZpZXcoKS0+
ZG9jdW1lbnQoKS0+c3R5bGVSZXNvbHZlcigpLT5zdHlsZUZvckVsZW1lbnQoZWxlbWVudCwgMCwg
RGlzYWxsb3dTdHlsZVNoYXJpbmcsIE1hdGNoQWxsUnVsZXMsIHRoaXMpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKaW5kZXggMTI3NTkxNzI1Y2ZjZTFkZGU3MTE2MGQ0
NGRlMjE4MDgzMTI3OTI1MC4uNTU4NzNmNjRiMjgyODE1NGUyY2FkY2Y5N2Q3Njc0YzY2NWJiZWY1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaApAQCAtNDYsNiArNDYs
OSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJSZWdpb24oKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKKyAgICAvLyBSZWdpb25zIGNhbid0IGhhdmUgYW55IGNoaWxkcmVu
LgorICAgIHZpcnR1YWwgYm9vbCBpc0NoaWxkQWxsb3dlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJT
dHlsZSopIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRS
ZXBsYWNlZChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogICAgIHZpcnR1YWwgYm9v
bCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50
JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgT1ZFUlJJREU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCBjMTU4NWIxNjhj
NGVmMjc1YzBlMDY1NzgwMWY3NjJjNTk0M2Q2OGIwLi45MjA1OTYxOTJlYTk5ZjQ3MmQ3N2YwNWM2
OGMxZjNlZjczNjQ1MjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRy
ZWVBc1RleHQuY3BwCkBAIC02OTksMTIgKzY5OSwxMiBAQCBzdGF0aWMgdm9pZCB3cml0ZVJlbmRl
ck5hbWVkRmxvd1RocmVhZHMoVGV4dFN0cmVhbSYgdHMsIFJlbmRlclZpZXcqIHJlbmRlclZpZXcs
CiAgICAgICAgICAgICAgICAgUmVuZGVyUmVnaW9uKiByZW5kZXJSZWdpb24gPSAqaXRSUjsKICAg
ICAgICAgICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMik7CiAgICAgICAgICAgICAg
ICAgdHMgPDwgIlJlbmRlclJlZ2lvbiI7Ci0gICAgICAgICAgICAgICAgaWYgKHJlbmRlclJlZ2lv
bi0+bm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIFN0cmluZyB0YWdOYW1lID0gZ2V0VGFn
TmFtZShyZW5kZXJSZWdpb24tPm5vZGUoKSk7CisgICAgICAgICAgICAgICAgaWYgKHJlbmRlclJl
Z2lvbi0+Z2VuZXJhdGluZ05vZGUoKSkgeworICAgICAgICAgICAgICAgICAgICBTdHJpbmcgdGFn
TmFtZSA9IGdldFRhZ05hbWUocmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpKTsKICAgICAg
ICAgICAgICAgICAgICAgaWYgKCF0YWdOYW1lLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIHRzIDw8ICIgeyIgPDwgdGFnTmFtZSA8PCAifSI7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChyZW5kZXJSZWdpb24tPm5vZGUoKS0+aXNFbGVtZW50Tm9kZSgpICYmIHJlbmRlclJlZ2lv
bi0+bm9kZSgpLT5oYXNJRCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBl
bGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KHJlbmRlclJlZ2lvbi0+bm9kZSgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHJlbmRlclJlZ2lvbi0+Z2VuZXJhdGluZ05vZGUoKS0+aXNF
bGVtZW50Tm9kZSgpICYmIHJlbmRlclJlZ2lvbi0+Z2VuZXJhdGluZ05vZGUoKS0+aGFzSUQoKSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0
PEVsZW1lbnQqPihyZW5kZXJSZWdpb24tPmdlbmVyYXRpbmdOb2RlKCkpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgdHMgPDwgIiAjIiA8PCBlbGVtZW50LT5pZEZvclN0eWxlUmVzb2x1dGlvbigp
OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChyZW5kZXJS
ZWdpb24tPmhhc0N1c3RvbVJlZ2lvblN0eWxlKCkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjg4MGVkNzE3MjgwYTM0ZmQ0
Njc3MDhiOGVjMTIzMmY3YTE5MTg4Yi4uZWQzZDM1MzNlNzNhNmM1MzdlZmFjZjZhNjQ3MDhmMWY2
NTljYWJiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTMwICBBbmRyZWkgQnVjdXIg
IDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gSXQgc2hvdWxkIGJl
IHBvc3NpYmxlIHRvIHNwZWNpZnkgOjpCRUZPUkUvQUZURVIgYXMgcmVnaW9ucworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAwNzkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IHJlZi10ZXN0IGhh
cyBhIGJsb2NrIHdpdGggYm90aCBhIDpiZWZvcmUgYW5kIDphZnRlciBwc2V1ZG8tZWxlbWVudHMg
bWFya2VkIGFzIHJlZ2lvbnMuCisgICAgICAgIEluIHRoZSBibG9jayB0aGVyZSdzIGFub3RoZXIg
cmVnaW9uLgorCisgICAgICAgIFRoZSB0ZXN0IHZlcmlmaWVzIHRoZSBjb250ZW50IGlzIGNvcnJl
Y3RseSBmbG93ZWQgKHRoZSByZWdpb24gb3JkZXIgaXMgcmVzcGVjdGVkKSBpbiB0aGUgcmVnaW9u
IGNoYWluOgorICAgICAgICA6YmVmb3JlIHJlZ2lvbiAtPiBjaGlsZCByZWdpb24gLT4gOmFmdGVy
IHJlZ2lvbgorCisgICAgICAgICogZmFzdC9yZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNl
dWRvLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25z
L2NvbnRlbnQtZmxvd2VkLWludG8tcHNldWRvLXJlZ2lvbnMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9yZWdpb25zL3Jlc291cmNlcy9yZWdpb24tc3R5bGUuY3NzOgorICAgICAgICAoLnJl
Z2lvbkFydGljbGVBZnRlcjo6YWZ0ZXIsIC5yZWdpb25BcnRpY2xlQmVmb3JlOjpiZWZvcmUpOgor
ICAgICAgICAoLmJvcmRlckJveE5vRmxvYXQpOgorCiAyMDEyLTA4LTI5ICBBbmRyZWkgQnVjdXIg
IDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIExheW91dCBUZXN0IGZhc3QvcmVwYWludC9q
YXBhbmVzZS1ybC1zZWxlY3Rpb24tcmVwYWludC1pbi1yZWdpb25zLmh0bWwgaXMgZmFpbGluZyBh
ZnRlciByMTI2MzA0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY29udGVu
dC1mbG93ZWQtaW50by1wc2V1ZG8tcmVnaW9ucy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNldWRvLXJlZ2lvbnMtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xOGM4NzE0M2U5ZDllZWFiNWY4MzhmZWJhYTQwMjViOWU2NThjM2Fl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2NvbnRlbnQtZmxv
d2VkLWludG8tcHNldWRvLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDExIEBACis8
IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9yZWdpb24tc3R5bGUuY3NzIj4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgY2xhc3M9ImdyZWVuQm94IGJvcmRlckJveE5vRmxv
YXQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJibHVlQm94IGJvcmRlckJveE5vRmxvYXQi
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJvcmFuZ2VCb3ggYm9yZGVyQm94Tm9GbG9hdCI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNldWRvLXJlZ2lvbnMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZsb3dlZC1pbnRvLXBzZXVkby1yZWdpb25zLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjY5ZTJhMmJhY2QyZmYxNjJjMmViZTViNDcyMDMwN2YyOGJjMzMxOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZsb3dl
ZC1pbnRvLXBzZXVkby1yZWdpb25zLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKyAgICA8IS0tCisgICAgVGVzdCB0aGF0IHRoZSBjb250ZW50IGlzIGZsb3dl
ZCBwcm9wZXJseSBpbnRvIHBzZXVkby1yZWdpb25zLgorICAgIE9uIHN1Y2Nlc3MsIHlvdSBzaG91
bGQgc2VlIHRoYXQgdGhlIGNvbG9yZWQgYm94ZXMgYXJlIGRpc3BsYXllZCBpbnNpZGUgdGhlIDMg
cmVjdGFuZ2xlcyB3aXRoIGJsYWNrIGJvcmRlci4KKyAgICBUaGUgZ3JlZW4gYm94IHNob3VsZCBi
ZSBkaXNwbGF5ZWQgaW4gdGhlIGxlZnQgcmVjdGFuZ2xlLgorICAgIFRoZSBibHVlIGJveCBzaG91
bGQgYmUgZGlzcGxheWVkIGluIHRoZSBtaWRkbGUgcmVjdGFuZ2xlLgorICAgIFRoZSBvcmFuZ2Ug
Ym94IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdGhlIHJpZ2h0IHJlY3RhbmdsZS4KKyAgICAtLT4K
KyAgICA8aGVhZD4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJj
ZXMvcmVnaW9uLXN0eWxlLmNzcyI+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8
ZGl2IGNsYXNzPSJmbG93QXJ0aWNsZSI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmVlbkJv
eCI+PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJibHVlQm94Ij48L2Rpdj4KKyAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im9yYW5nZUJveCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJyZWdpb25BcnRpY2xlQmVmb3JlIHJlZ2lvbkFydGljbGVBZnRlciI+
CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb25BcnRpY2xlIGJvcmRlckJveE5vRmxvYXQi
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MKaW5kZXgg
MTM0YTc0OGZhZWQ1MWY0MzlkMTViMjFmMTQwNTYxZjRlZTUzYjQxNi4uMjZkOWYzYTAxZWRhOTkw
ZjkyOGRhYWM2YWMyNjM2OWJmOGViYzA1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL3Jlc291cmNlcy9yZWdpb24tc3R5bGUuY3NzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9yZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcwpAQCAtMzAsNiArMzAsMTUgQEAKICAg
ICAtd2Via2l0LWZsb3ctZnJvbTogYXJ0aWNsZTsKIH0KIAorLnJlZ2lvbkFydGljbGVBZnRlcjo6
YWZ0ZXIsIC5yZWdpb25BcnRpY2xlQmVmb3JlOjpiZWZvcmUgeworICAgIGRpc3BsYXk6IGJsb2Nr
OworICAgIHdpZHRoOiA1MHB4OworICAgIGhlaWdodDogNTBweDsKKyAgICBjb250ZW50OiAnJzsK
KyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAtd2Via2l0LWZsb3ctZnJvbTogYXJ0
aWNsZTsKK30KKwogLmJvcmRlckJveCB7CiAgICAgd2lkdGg6IDUwcHg7CiAgICAgaGVpZ2h0OiA1
MHB4OwpAQCAtMzcsNiArNDYsMTIgQEAKICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKIH0K
IAorLmJvcmRlckJveE5vRmxvYXQgeworICAgIHdpZHRoOiA1MHB4OworICAgIGhlaWdodDogNTBw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKK30KKwogLnBhc3MgewogICAgIGZvbnQt
d2VpZ2h0OiBib2xkOwogICAgIGNvbG9yOiBncmVlbjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161683</attachid>
            <date>2012-08-31 06:01:49 -0700</date>
            <delta_ts>2012-08-31 08:49:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90079-20120831160136.patch</filename>
            <type>text/plain</type>
            <size>19074</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFkOTBiYjk4ZjY4NTU4
YmEwNmVmYWI2YWY3NDM4MjFiYWY2ZmYxMy4uYzYxZDA2ODdkNzkwYWE5NTk2ZTRlZDRkMmRiMzE3
ZTBkM2U0NDE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA4LTMxICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gSXQg
c2hvdWxkIGJlIHBvc3NpYmxlIHRvIHNwZWNpZnkgOjpCRUZPUkUvQUZURVIgYXMgcmVnaW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAwNzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY2FsbHMg
Zm9yIFJlbmRlclJlZ2lvbjo6bm9kZSgpIGhhdmUgYmVlbiByZXBsYWNlZCB3aXRoIFJlbmRlclJl
Z2lvbjo6Z2VuZXJhdGluZ05vZGUoKSB0byBhbGxvdyBwc2V1ZG8tZWxlbWVudHMgdG8gaGF2ZSBS
ZW5kZXJSZWdpb24gcmVuZGVyZXJzLgorICAgICAgICBUaGUgY29tcGFyZSBmdW5jdGlvbiB0aGF0
IGVzdGFibGlzaGVzIHRoZSByZWdpb24gb3JkZXIgd2FzIGFkYXB0ZWQgdG8gdGFrZSBpbnRvIGFj
Y291bnQgcHNldWRvLXJlZ2lvbnMuCisgICAgICAgIEEgcmVuZGVyZXIgZm9yIHRoZSBwc2V1ZG8t
ZWxlbWVudCBpcyBub3cgZ2VuZXJhdGVkIGlmIGl0J3MgYSByZWdpb24gZXZlbiB0aG91Z2ggdGhl
cmUncyBubyBjb250ZW50IHByb3BlcnR5IHNwZWNpZmllZC4KKworICAgICAgICBUZXN0OiBmYXN0
L3JlZ2lvbnMvY29udGVudC1mbG93ZWQtaW50by1wc2V1ZG8tcmVnaW9ucy5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y29tcGFyZVJlbmRlclJlZ2lvbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmpl
Y3RDaGlsZExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW5zdXJlQmVmb3JlQWZ0ZXJDb250
YWluZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmpl
Y3RDaGlsZExpc3Q6OnVwZGF0ZUJlZm9yZUFmdGVyQ29udGVudCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246Om5v
ZGVBdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6Y2hlY2tSZWdpb25T
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246OmNvbXB1dGVTdHlsZUluUmVn
aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVJlbmRlck5hbWVkRmxvd1RocmVhZHMpOgorCiAyMDEyLTA4LTMxICBB
bmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtXZWJHTF0gTGluayBXZWJHTCBjYWxscyB0byB0aGUgc291cmNlIGNvZGUgd2hlcmUg
aXQgd2FzIG1hZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcAppbmRleCBmZDMxYTBmNmJlN2NlYTJkOTFjN2NkZjU0ODcyMTMyM2VlZDdlZjNjLi41NTRk
YWYyZGRkMzE4MjIzYjE2NjIzZTYwMDYxNzRkYThiNTQ5MDRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC02ODUsNyArNjg1LDcgQEAgdm9p
ZCBSZW5kZXJGbG93VGhyZWFkOjpjb21wdXRlT3ZlcmZsb3dTdGF0ZUZvclJlZ2lvbnMoTGF5b3V0
VW5pdCBvbGRDbGllbnRBZnRlckUKICAgICB9CiAKICAgICAvLyBXaXRoIHRoZSByZWdpb25zIG92
ZXJmbG93IHN0YXRlIGNvbXB1dGVkIHdlIGNhbiBhbHNvIHNldCB0aGUgb3ZlcnNldCBmbGFnIGZv
ciB0aGUgbmFtZWQgZmxvdy4KLSAgICAvLyBJZiB0aGVyZSBhcmUgbm8gdmFsaWQgcmVnaW9ucyBp
biB0aGUgY2hhaW4sIG92ZXJzZXQgaXMgdHJ1ZQorICAgIC8vIElmIHRoZXJlIGFyZSBubyB2YWxp
ZCByZWdpb25zIGluIHRoZSBjaGFpbiwgb3ZlcnNldCBpcyB0cnVlLgogICAgIG1fb3ZlcnNldCA9
IGxhc3RSZWcgPyBsYXN0UmVnLT5yZWdpb25TdGF0ZSgpID09IFJlbmRlclJlZ2lvbjo6UmVnaW9u
T3ZlcnNldCA6IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggMmE5MTAyZTZkZmM3M2MwNGQ3N2E5MjBhY2Fk
YTkxYWI4ZmJlNjA1Yi4uN2IxMWRmZjQzYTBmMmMyMGQ0NDU3ZTkwN2JiOWI0Mzc3M2ZlMjcxNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5jcHAKQEAgLTEzNSwxMiArMTM1LDQ1IEBAIHN0YXRpYyBib29sIGNvbXBhcmVSZW5kZXJSZWdp
b25zKGNvbnN0IFJlbmRlclJlZ2lvbiogZmlyc3RSZWdpb24sIGNvbnN0IFJlbmRlclJlCiAgICAg
QVNTRVJUKGZpcnN0UmVnaW9uKTsKICAgICBBU1NFUlQoc2Vjb25kUmVnaW9uKTsKIAotICAgIC8v
IElmIHRoZSByZWdpb25zIGhhdmUgdGhlIHNhbWUgcmVnaW9uLWluZGV4LCBjb21wYXJlIHRoZWly
IHBvc2l0aW9uIGluIGRvbS4KLSAgICBBU1NFUlQoZmlyc3RSZWdpb24tPm5vZGUoKSk7Ci0gICAg
QVNTRVJUKHNlY29uZFJlZ2lvbi0+bm9kZSgpKTsKKyAgICBBU1NFUlQoZmlyc3RSZWdpb24tPmdl
bmVyYXRpbmdOb2RlKCkpOworICAgIEFTU0VSVChzZWNvbmRSZWdpb24tPmdlbmVyYXRpbmdOb2Rl
KCkpOwogCi0gICAgdW5zaWduZWQgc2hvcnQgcG9zaXRpb24gPSBmaXJzdFJlZ2lvbi0+bm9kZSgp
LT5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihzZWNvbmRSZWdpb24tPm5vZGUoKSk7Ci0gICAgcmV0
dXJuIChwb3NpdGlvbiAmIE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyk7CisgICAg
Ly8gSWYgdGhlIHJlZ2lvbnMgYmVsb25nIHRvIGRpZmZlcmVudCBub2RlcywgY29tcGFyZSB0aGVp
ciBwb3NpdGlvbiBpbiB0aGUgRE9NLgorICAgIGlmIChmaXJzdFJlZ2lvbi0+Z2VuZXJhdGluZ05v
ZGUoKSAhPSBzZWNvbmRSZWdpb24tPmdlbmVyYXRpbmdOb2RlKCkpIHsKKyAgICAgICAgdW5zaWdu
ZWQgc2hvcnQgcG9zaXRpb24gPSBmaXJzdFJlZ2lvbi0+Z2VuZXJhdGluZ05vZGUoKS0+Y29tcGFy
ZURvY3VtZW50UG9zaXRpb24oc2Vjb25kUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpKTsKKworICAg
ICAgICAvLyBJZiB0aGUgc2Vjb25kIHJlZ2lvbiBpcyBjb250YWluZWQgaW4gdGhlIGZpcnN0IG9u
ZSwgdGhlIGZpcnN0IHJlZ2lvbiBpcyAibGVzcyIgaWYgaXQncyA6YmVmb3JlLgorICAgICAgICBp
ZiAocG9zaXRpb24gJiBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpIHsKKyAg
ICAgICAgICAgIEFTU0VSVChzZWNvbmRSZWdpb24tPnN0eWxlKCktPnN0eWxlVHlwZSgpID09IE5P
UFNFVURPKTsKKyAgICAgICAgICAgIHJldHVybiBmaXJzdFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVU
eXBlKCkgPT0gQkVGT1JFOworICAgICAgICB9CisKKyAgICAgICAgLy8gSWYgdGhlIHNlY29uZCBy
ZWdpb24gY29udGFpbnMgdGhlIGZpcnN0IHJlZ2lvbiwgdGhlIGZpcnN0IHJlZ2lvbiBpcyAibGVz
cyIgaWYgdGhlIHNlY29uZCBpcyA6YWZ0ZXIuCisgICAgICAgIGlmIChwb3NpdGlvbiAmIE5vZGU6
OkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TKSB7CisgICAgICAgICAgICBBU1NFUlQoZmlyc3RS
ZWdpb24tPnN0eWxlKCktPnN0eWxlVHlwZSgpID09IE5PUFNFVURPKTsKKyAgICAgICAgICAgIHJl
dHVybiBzZWNvbmRSZWdpb24tPnN0eWxlKCktPnN0eWxlVHlwZSgpID09IEFGVEVSOworICAgICAg
ICB9CisKKyAgICAgICAgcmV0dXJuIChwb3NpdGlvbiAmIE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9O
X0ZPTExPV0lORyk7CisgICAgfQorCisgICAgLy8gRklYTUU6IEN1cnJlbnRseSBpdCdzIG5vdCBw
b3NzaWJsZSBmb3IgYW4gZWxlbWVudCB0byBiZSBib3RoIGEgcmVnaW9uIGFuZCBoYXZlIHBzZXVk
by1jaGlsZHJlbi4gVGhlIGNhc2UgaXMgY292ZXJlZCBhbnl3YXkuCisgICAgc3dpdGNoIChmaXJz
dFJlZ2lvbi0+c3R5bGUoKS0+c3R5bGVUeXBlKCkpIHsKKyAgICBjYXNlIEJFRk9SRToKKyAgICAg
ICAgLy8gVGhlIHNlY29uZCByZWdpb24gY2FuIGJlIHRoZSBub2RlIG9yIHRoZSBhZnRlciBwc2V1
ZG8tZWxlbWVudCAoYmVmb3JlIGlzIHNtYWxsZXIgdGhhbiBhbnkgb2YgdGhvc2UpLgorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICBjYXNlIEFGVEVSOgorICAgICAgICAvLyBUaGUgc2Vjb25kIHJl
Z2lvbiBjYW4gYmUgdGhlIG5vZGUgb3IgdGhlIGJlZm9yZSBwc2V1ZG8tZWxlbWVudCAoYWZ0ZXIg
aXMgZ3JlYXRlciB0aGFuIGFueSBvZiB0aG9zZSkuCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBjYXNlIE5PUFNFVURPOgorICAgICAgICAvLyBUaGUgc2Vjb25kIHJlZ2lvbiBjYW4gZWl0aGVy
IGJlIHRoZSBiZWZvcmUgb3IgdGhlIGFmdGVyIHBzZXVkby1lbGVtZW50ICh0aGUgbm9kZSBpcyBv
bmx5IHNtYWxsZXIgdGhhbiB0aGUgYWZ0ZXIgcHNldWRvLWVsZW1lbnQpLgorICAgICAgICByZXR1
cm4gZmlyc3RSZWdpb24tPnN0eWxlKCktPnN0eWxlVHlwZSgpID09IEFGVEVSOworICAgIGRlZmF1
bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6YWRkUmVn
aW9uVG9UaHJlYWQoUmVuZGVyUmVnaW9uKiByZW5kZXJSZWdpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCmluZGV4IDZmN2YxN2Y4
MmI3M2E1NjJmNTBkODcwZDJhN2M3YzhlZDFlMDA4ZjMuLjI0N2Y3ZGRhNDM5ZmUzZjliOTM1ODNm
NjQ2YTNjMTU2NjQ4ODc4MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCkBAIC0zNDAsNiArMzQwLDMyIEBAIHN0YXRpYyBSZW5k
ZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyRm9yQmVmb3JlQWZ0ZXJDb250ZW50KFJlbmRlck9iamVj
dCogb3duZXIsIGNvCiAgICAgcmV0dXJuIHJlbmRlcmVyOwogfQogCitzdGF0aWMgUmVuZGVyT2Jq
ZWN0KiBlbnN1cmVCZWZvcmVBZnRlckNvbnRhaW5lcihSZW5kZXJPYmplY3QqIG93bmVyLCBQc2V1
ZG9JZCB0eXBlLCBSZW5kZXJTdHlsZSogcHNldWRvRWxlbWVudFN0eWxlLCBOb2RlKiBnZW5lcmF0
aW5nTm9kZSwgUmVuZGVyT2JqZWN0KiBpbnNlcnRCZWZvcmUpCit7CisgICAgLy8gTWFrZSBhIGdl
bmVyYXRlZCBib3ggdGhhdCBtaWdodCBiZSBhbnkgZGlzcGxheSB0eXBlIG5vdyB0aGF0IHdlIGFy
ZSBhYmxlIHRvIGRyaWxsIGRvd24gaW50byBjaGlsZHJlbgorICAgIC8vIHRvIGZpbmQgdGhlIG9y
aWdpbmFsIGNvbnRlbnQgcHJvcGVybHkuCisgICAgUmVuZGVyT2JqZWN0KiBnZW5lcmF0ZWRDb250
ZW50Q29udGFpbmVyID0gUmVuZGVyT2JqZWN0OjpjcmVhdGVPYmplY3Qob3duZXItPmRvY3VtZW50
KCksIHBzZXVkb0VsZW1lbnRTdHlsZSk7CisgICAgQVNTRVJUKGdlbmVyYXRpbmdOb2RlKTsgLy8g
VGhlIHN0eWxlZCBvYmplY3QgY2Fubm90IGJlIGFub255bW91cyBvciBlbHNlIGl0IGNvdWxkIG5v
dCBoYXZlICc6YmVmb3JlJyBvciAnOmFmdGVyJyBwc2V1ZG8gZWxlbWVudHMuCisgICAgZ2VuZXJh
dGVkQ29udGVudENvbnRhaW5lci0+c2V0Tm9kZShnZW5lcmF0aW5nTm9kZSk7IC8vIFRoaXMgYWxs
b3dzIGFjY2VzcyB0byB0aGUgZ2VuZXJhdGluZ05vZGUuCisgICAgZ2VuZXJhdGVkQ29udGVudENv
bnRhaW5lci0+c2V0U3R5bGUocHNldWRvRWxlbWVudFN0eWxlKTsKKyAgICBpZiAoIW93bmVyLT5p
c0NoaWxkQWxsb3dlZChnZW5lcmF0ZWRDb250ZW50Q29udGFpbmVyLCBwc2V1ZG9FbGVtZW50U3R5
bGUpKSB7CisgICAgICAgIC8vIFRoZSBnZW5lcmF0ZWQgY29udGVudCBjb250YWluZXIgaXMgbm90
IGFsbG93ZWQgaGVyZSAtPiBhYm9ydC4KKyAgICAgICAgZ2VuZXJhdGVkQ29udGVudENvbnRhaW5l
ci0+ZGVzdHJveSgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICAvLyBXaGVuIHdl
IGRvbid0IGhhdmUgYSBmaXJzdCBjaGlsZCBhbmQgYXJlIHBhcnQgb2YgYSBjb250aW51YXRpb24g
Y2hhaW4sCisgICAgLy8gaW5zZXJ0QmVmb3JlIGlzIGluY29ycmVjdGx5IHNldCB0byB6ZXJvIGFi
b3ZlLCB3aGljaCBjYXVzZXMgdGhlIDpiZWZvcmUKKyAgICAvLyBjaGlsZCB0byBlbmQgdXAgYXQg
dGhlIGVuZCBvZiBjb250aW51YXRpb24gY2hhaW4uCisgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM4MC4KKyAgICBpZiAoIWluc2VydEJlZm9yZSAm
JiB0eXBlID09IEJFRk9SRSAmJiBvd25lci0+dmlydHVhbENvbnRpbnVhdGlvbigpKQorICAgICAg
ICBvd25lci0+YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihnZW5lcmF0ZWRDb250ZW50Q29u
dGFpbmVyLCAwKTsKKyAgICBlbHNlCisgICAgICAgIG93bmVyLT5hZGRDaGlsZChnZW5lcmF0ZWRD
b250ZW50Q29udGFpbmVyLCBpbnNlcnRCZWZvcmUpOworCisgICAgcmV0dXJuIGdlbmVyYXRlZENv
bnRlbnRDb250YWluZXI7Cit9CisKIHZvaWQgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0Ojp1cGRhdGVC
ZWZvcmVBZnRlckNvbnRlbnQoUmVuZGVyT2JqZWN0KiBvd25lciwgUHNldWRvSWQgdHlwZSwgY29u
c3QgUmVuZGVyT2JqZWN0KiBzdHlsZWRPYmplY3QpCiB7CiAgICAgLy8gRG91YmxlIGNoZWNrIHRo
YXQgdGhlIGRvY3VtZW50IGRpZCBpbiBmYWN0IHVzZSBnZW5lcmF0ZWQgY29udGVudCBydWxlcy4g
IE90aGVyd2lzZSB3ZSBzaG91bGQgbm90IGhhdmUgYmVlbiBjYWxsZWQuCkBAIC00MjksNDEgKzQ1
NSwzMCBAQCB2b2lkIFJlbmRlck9iamVjdENoaWxkTGlzdDo6dXBkYXRlQmVmb3JlQWZ0ZXJDb250
ZW50KFJlbmRlck9iamVjdCogb3duZXIsIFBzZXVkbwogICAgICAgICBpbnNlcnRCZWZvcmUgPSBp
bnNlcnRCZWZvcmUtPm5leHRTaWJsaW5nKCk7CiAKICAgICAvLyBHZW5lcmF0ZWQgY29udGVudCBj
b25zaXN0cyBvZiBhIHNpbmdsZSBjb250YWluZXIgdGhhdCBob3VzZXMgbXVsdGlwbGUgY2hpbGRy
ZW4gKHNwZWNpZmllZAotICAgIC8vIGJ5IHRoZSBjb250ZW50IHByb3BlcnR5KS4gIFRoaXMgZ2Vu
ZXJhdGVkIGNvbnRlbnQgY29udGFpbmVyIGdldHMgdGhlIHBzZXVkby1lbGVtZW50IHN0eWxlIHNl
dCBvbiBpdC4KKyAgICAvLyBieSB0aGUgY29udGVudCBwcm9wZXJ0eSkuIFRoaXMgZ2VuZXJhdGVk
IGNvbnRlbnQgY29udGFpbmVyIGdldHMgdGhlIHBzZXVkby1lbGVtZW50IHN0eWxlIHNldCBvbiBp
dC4KKyAgICAvLyBGb3IgcHNldWRvLWVsZW1lbnRzIHRoYXQgYXJlIHJlZ2lvbnMsIHRoZSBjb250
YWluZXIgaXMgdGhlIFJlbmRlclJlZ2lvbi4KICAgICBSZW5kZXJPYmplY3QqIGdlbmVyYXRlZENv
bnRlbnRDb250YWluZXIgPSAwOwogCi0gICAgLy8gV2FsayBvdXIgbGlzdCBvZiBnZW5lcmF0ZWQg
Y29udGVudCBhbmQgY3JlYXRlIHJlbmRlciBvYmplY3RzIGZvciBlYWNoLgotICAgIGZvciAoY29u
c3QgQ29udGVudERhdGEqIGNvbnRlbnQgPSBwc2V1ZG9FbGVtZW50U3R5bGUtPmNvbnRlbnREYXRh
KCk7IGNvbnRlbnQ7IGNvbnRlbnQgPSBjb250ZW50LT5uZXh0KCkpIHsKLSAgICAgICAgUmVuZGVy
T2JqZWN0KiByZW5kZXJlciA9ICBjcmVhdGVSZW5kZXJlckZvckJlZm9yZUFmdGVyQ29udGVudChv
d25lciwgY29udGVudCwgcHNldWRvRWxlbWVudFN0eWxlKTsKLQotICAgICAgICBpZiAocmVuZGVy
ZXIpIHsKLSAgICAgICAgICAgIGlmICghZ2VuZXJhdGVkQ29udGVudENvbnRhaW5lcikgewotICAg
ICAgICAgICAgICAgIC8vIE1ha2UgYSBnZW5lcmF0ZWQgYm94IHRoYXQgbWlnaHQgYmUgYW55IGRp
c3BsYXkgdHlwZSBub3cgdGhhdCB3ZSBhcmUgYWJsZSB0byBkcmlsbCBkb3duIGludG8gY2hpbGRy
ZW4KLSAgICAgICAgICAgICAgICAvLyB0byBmaW5kIHRoZSBvcmlnaW5hbCBjb250ZW50IHByb3Bl
cmx5LgotICAgICAgICAgICAgICAgIGdlbmVyYXRlZENvbnRlbnRDb250YWluZXIgPSBSZW5kZXJP
YmplY3Q6OmNyZWF0ZU9iamVjdChvd25lci0+ZG9jdW1lbnQoKSwgcHNldWRvRWxlbWVudFN0eWxl
KTsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3R5bGVkT2JqZWN0LT5ub2RlKCkpOyAvLyBUaGUg
c3R5bGVkIG9iamVjdCBjYW5ub3QgYmUgYW5vbnltb3VzIG9yIGVsc2UgaXQgY291bGQgbm90IGhh
dmUgJzpiZWZvcmUnIG9yICc6YWZ0ZXInIHBzZXVkbyBlbGVtZW50cy4KLSAgICAgICAgICAgICAg
ICBnZW5lcmF0ZWRDb250ZW50Q29udGFpbmVyLT5zZXROb2RlKHN0eWxlZE9iamVjdC0+bm9kZSgp
KTsgLy8gVGhpcyBhbGxvd3MgYWNjZXNzIHRvIHRoZSBnZW5lcmF0aW5nTm9kZS4KLSAgICAgICAg
ICAgICAgICBnZW5lcmF0ZWRDb250ZW50Q29udGFpbmVyLT5zZXRTdHlsZShwc2V1ZG9FbGVtZW50
U3R5bGUpOwotICAgICAgICAgICAgICAgIGlmICghb3duZXItPmlzQ2hpbGRBbGxvd2VkKGdlbmVy
YXRlZENvbnRlbnRDb250YWluZXIsIHBzZXVkb0VsZW1lbnRTdHlsZSkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgLy8gVGhlIGdlbmVyYXRlZCBjb250ZW50IGNvbnRhaW5lciBpcyBub3QgYWxsb3dl
ZCBoZXJlIC0+IGFib3J0LgotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZWRDb250ZW50Q29u
dGFpbmVyLT5kZXN0cm95KCk7Ci0gICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLT5kZXN0cm95
KCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXBzZXVkb0VsZW1lbnRT
dHlsZS0+cmVnaW9uVGhyZWFkKCkuaXNFbXB0eSgpKQorICAgICAgICBnZW5lcmF0ZWRDb250ZW50
Q29udGFpbmVyID0gZW5zdXJlQmVmb3JlQWZ0ZXJDb250YWluZXIob3duZXIsIHR5cGUsIHBzZXVk
b0VsZW1lbnRTdHlsZSwgc3R5bGVkT2JqZWN0LT5ub2RlKCksIGluc2VydEJlZm9yZSk7CisgICAg
ZWxzZSB7CisgICAgICAgIC8vIFdhbGsgb3VyIGxpc3Qgb2YgZ2VuZXJhdGVkIGNvbnRlbnQgYW5k
IGNyZWF0ZSByZW5kZXIgb2JqZWN0cyBmb3IgZWFjaC4KKyAgICAgICAgZm9yIChjb25zdCBDb250
ZW50RGF0YSogY29udGVudCA9IHBzZXVkb0VsZW1lbnRTdHlsZS0+Y29udGVudERhdGEoKTsgY29u
dGVudDsgY29udGVudCA9IGNvbnRlbnQtPm5leHQoKSkgeworICAgICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciA9IGNyZWF0ZVJlbmRlcmVyRm9yQmVmb3JlQWZ0ZXJDb250ZW50KG93bmVy
LCBjb250ZW50LCBwc2V1ZG9FbGVtZW50U3R5bGUpOworCisgICAgICAgICAgICBpZiAocmVuZGVy
ZXIpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWdlbmVyYXRlZENvbnRlbnRDb250YWluZXIpIHsK
KyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkQ29udGVudENvbnRhaW5lciA9IGVuc3VyZUJl
Zm9yZUFmdGVyQ29udGFpbmVyKG93bmVyLCB0eXBlLCBwc2V1ZG9FbGVtZW50U3R5bGUsIHN0eWxl
ZE9iamVjdC0+bm9kZSgpLCBpbnNlcnRCZWZvcmUpOworICAgICAgICAgICAgICAgICAgICBpZiAo
IWdlbmVyYXRlZENvbnRlbnRDb250YWluZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
bmRlcmVyLT5kZXN0cm95KCk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAv
LyBXaGVuIHdlIGRvbid0IGhhdmUgYSBmaXJzdCBjaGlsZCBhbmQgYXJlIHBhcnQgb2YgYSBjb250
aW51YXRpb24gY2hhaW4sCi0gICAgICAgICAgICAgICAgLy8gaW5zZXJ0QmVmb3JlIGlzIGluY29y
cmVjdGx5IHNldCB0byB6ZXJvIGFib3ZlLCB3aGljaCBjYXVzZXMgdGhlIDpiZWZvcmUKLSAgICAg
ICAgICAgICAgICAvLyBjaGlsZCB0byBlbmQgdXAgYXQgdGhlIGVuZCBvZiBjb250aW51YXRpb24g
Y2hhaW4uCi0gICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03ODM4MC4KLSAgICAgICAgICAgICAgICBpZiAoIWluc2VydEJlZm9yZSAm
JiB0eXBlID09IEJFRk9SRSAmJiBvd25lci0+dmlydHVhbENvbnRpbnVhdGlvbigpKQotICAgICAg
ICAgICAgICAgICAgICBvd25lci0+YWRkQ2hpbGRJZ25vcmluZ0NvbnRpbnVhdGlvbihnZW5lcmF0
ZWRDb250ZW50Q29udGFpbmVyLCAwKTsKKyAgICAgICAgICAgICAgICBpZiAoZ2VuZXJhdGVkQ29u
dGVudENvbnRhaW5lci0+aXNDaGlsZEFsbG93ZWQocmVuZGVyZXIsIHBzZXVkb0VsZW1lbnRTdHls
ZSkpCisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZENvbnRlbnRDb250YWluZXItPmFkZENo
aWxkKHJlbmRlcmVyKTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IG93bmVyLT5hZGRDaGlsZChnZW5lcmF0ZWRDb250ZW50Q29udGFpbmVyLCBpbnNlcnRCZWZvcmUp
OworICAgICAgICAgICAgICAgICAgICByZW5kZXJlci0+ZGVzdHJveSgpOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKGdlbmVyYXRlZENvbnRlbnRDb250YWluZXItPmlzQ2hpbGRBbGxv
d2VkKHJlbmRlcmVyLCBwc2V1ZG9FbGVtZW50U3R5bGUpKQotICAgICAgICAgICAgICAgIGdlbmVy
YXRlZENvbnRlbnRDb250YWluZXItPmFkZENoaWxkKHJlbmRlcmVyKTsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICByZW5kZXJlci0+ZGVzdHJveSgpOwogICAgICAgICB9CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCmluZGV4IGUyMmYx
OTkxY2U5YzQwMzczOTc2MTA2MWVkZmFjYjc0YzE1NWE1OGUuLjJjNmM0ODgwOGJhZTY0ZjIxN2Zh
ZThjOGQ1YjVlZjg4MGJjYmIyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZWdpb24uY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgYm9vbCBSZW5kZXJSZWdpb246Om5vZGVBdFBv
aW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXMKICAg
ICAgICAgaWYgKG1fZmxvd1RocmVhZCAmJiBtX2Zsb3dUaHJlYWQtPmhpdFRlc3RGbG93VGhyZWFk
UG9ydGlvbkluUmVnaW9uKHRoaXMsIGZsb3dUaHJlYWRQb3J0aW9uUmVjdCgpLCBmbG93VGhyZWFk
UG9ydGlvbk92ZXJmbG93UmVjdCgpLCByZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWlu
ZXIsIExheW91dFBvaW50KGFkanVzdGVkTG9jYXRpb24ueCgpICsgYm9yZGVyTGVmdCgpICsgcGFk
ZGluZ0xlZnQoKSwgYWRqdXN0ZWRMb2NhdGlvbi55KCkgKyBib3JkZXJUb3AoKSArIHBhZGRpbmdU
b3AoKSkpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIHVwZGF0ZUhpdFRlc3RS
ZXN1bHQocmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNpemUo
YWRqdXN0ZWRMb2NhdGlvbikpOwotICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2RlVG9SZWN0QmFz
ZWRUZXN0UmVzdWx0KG5vZGUoKSwgbG9jYXRpb25JbkNvbnRhaW5lciwgYm91bmRzUmVjdCkpCisg
ICAgICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQoZ2VuZXJhdGlu
Z05vZGUoKSwgbG9jYXRpb25JbkNvbnRhaW5lciwgYm91bmRzUmVjdCkpCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTE1Niw2ICsxNTYsOCBAQCB2b2lkIFJlbmRlclJlZ2lv
bjo6Y2hlY2tSZWdpb25TdHlsZSgpCiB7CiAgICAgQVNTRVJUKG1fZmxvd1RocmVhZCk7CiAgICAg
Ym9vbCBjdXN0b21SZWdpb25TdHlsZSA9IGZhbHNlOworCisgICAgLy8gRklYTUU6IFJlZ2lvbiBz
dHlsaW5nIGRvZXNuJ3Qgd29yayBmb3IgcHNldWRvIGVsZW1lbnRzLgogICAgIGlmIChub2RlKCkp
IHsKICAgICAgICAgRWxlbWVudCogcmVnaW9uRWxlbWVudCA9IHN0YXRpY19jYXN0PEVsZW1lbnQq
Pihub2RlKCkpOwogICAgICAgICBjdXN0b21SZWdpb25TdHlsZSA9IHZpZXcoKS0+ZG9jdW1lbnQo
KS0+c3R5bGVSZXNvbHZlcigpLT5jaGVja1JlZ2lvblN0eWxlKHJlZ2lvbkVsZW1lbnQpOwpAQCAt
Mzk0LDYgKzM5Niw3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlclJlZ2lvbjo6Y29t
cHV0ZVN0eWxlSW5SZWdpb24oY29uc3QgUmVuZGVyT2JqZWN0KiBvCiAgICAgQVNTRVJUKCFvYmpl
Y3QtPmlzQW5vbnltb3VzKCkpOwogICAgIEFTU0VSVChvYmplY3QtPm5vZGUoKSAmJiBvYmplY3Qt
Pm5vZGUoKS0+aXNFbGVtZW50Tm9kZSgpKTsKIAorICAgIC8vIEZJWE1FOiBSZWdpb24gc3R5bGlu
ZyBmYWlscyBmb3IgcHNldWRvLWVsZW1lbnRzIGJlY2F1c2UgdGhlIHJlbmRlcmVycyBkb24ndCBo
YXZlIGEgbm9kZS4KICAgICBFbGVtZW50KiBlbGVtZW50ID0gdG9FbGVtZW50KG9iamVjdC0+bm9k
ZSgpKTsKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlbmRlck9iamVjdFJlZ2lvblN0eWxlID0g
b2JqZWN0LT52aWV3KCktPmRvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXIoKS0+c3R5bGVGb3JFbGVt
ZW50KGVsZW1lbnQsIDAsIERpc2FsbG93U3R5bGVTaGFyaW5nLCBNYXRjaEFsbFJ1bGVzLCB0aGlz
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmlu
ZGV4IGIyNDM4NzJlYWJkMTU1YzUyZjkzYjBjYjMzZmZmMTgxMTVhYWViY2MuLjJhZWIyZmZmMjUy
MDc2MzBkNzVjMjI4NTY4MTNmYzI5MmY0YjMxODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTY5OSwxMiArNjk5LDEyIEBAIHN0YXRpYyB2
b2lkIHdyaXRlUmVuZGVyTmFtZWRGbG93VGhyZWFkcyhUZXh0U3RyZWFtJiB0cywgUmVuZGVyVmll
dyogcmVuZGVyVmlldywKICAgICAgICAgICAgICAgICBSZW5kZXJSZWdpb24qIHJlbmRlclJlZ2lv
biA9ICppdFJSOwogICAgICAgICAgICAgICAgIHdyaXRlSW5kZW50KHRzLCBpbmRlbnQgKyAyKTsK
ICAgICAgICAgICAgICAgICB0cyA8PCAiUmVuZGVyUmVnaW9uIjsKLSAgICAgICAgICAgICAgICBp
ZiAocmVuZGVyUmVnaW9uLT5ub2RlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgU3RyaW5nIHRh
Z05hbWUgPSBnZXRUYWdOYW1lKHJlbmRlclJlZ2lvbi0+bm9kZSgpKTsKKyAgICAgICAgICAgICAg
ICBpZiAocmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpKSB7CisgICAgICAgICAgICAgICAg
ICAgIFN0cmluZyB0YWdOYW1lID0gZ2V0VGFnTmFtZShyZW5kZXJSZWdpb24tPmdlbmVyYXRpbmdO
b2RlKCkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoIXRhZ05hbWUuaXNFbXB0eSgpKQogICAg
ICAgICAgICAgICAgICAgICAgICAgdHMgPDwgIiB7IiA8PCB0YWdOYW1lIDw8ICJ9IjsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHJlbmRlclJlZ2lvbi0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkg
JiYgcmVuZGVyUmVnaW9uLT5ub2RlKCktPmhhc0lEKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4ocmVuZGVyUmVnaW9u
LT5ub2RlKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVuZGVyUmVnaW9uLT5nZW5lcmF0
aW5nTm9kZSgpLT5pc0VsZW1lbnROb2RlKCkgJiYgcmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9k
ZSgpLT5oYXNJRCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBlbGVtZW50
ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KHJlbmRlclJlZ2lvbi0+Z2VuZXJhdGluZ05vZGUoKSk7
CiAgICAgICAgICAgICAgICAgICAgICAgICB0cyA8PCAiICMiIDw8IGVsZW1lbnQtPmlkRm9yU3R5
bGVSZXNvbHV0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgaWYgKHJlbmRlclJlZ2lvbi0+aGFzQ3VzdG9tUmVnaW9uU3R5bGUoKSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYzc4
ZjMzZjk5MjhhMjU3MjUwNmMwOTBkYTNjMGZjNzk2MTdmZDNiLi5hMmEwMTZkMjQ1NWU3YmYwOWMw
NWY3YjU2Y2EyMTEyYmExOTRkYTZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDgtMzEg
IEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdpb25z
XSBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gc3BlY2lmeSA6OkJFRk9SRS9BRlRFUiBhcyByZWdp
b25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDA3
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBu
ZXcgcmVmLXRlc3QgaGFzIGEgYmxvY2sgd2l0aCBib3RoIGEgOmJlZm9yZSBhbmQgOmFmdGVyIHBz
ZXVkby1lbGVtZW50cyBtYXJrZWQgYXMgcmVnaW9ucy4KKyAgICAgICAgSW4gdGhlIGJsb2NrIHRo
ZXJlJ3MgYW5vdGhlciByZWdpb24uCisKKyAgICAgICAgVGhlIHRlc3QgdmVyaWZpZXMgdGhlIGNv
bnRlbnQgaXMgY29ycmVjdGx5IGZsb3dlZCAodGhlIHJlZ2lvbiBvcmRlciBpcyByZXNwZWN0ZWQp
IGluIHRoZSByZWdpb24gY2hhaW46CisgICAgICAgIDpiZWZvcmUgcmVnaW9uIC0+IGNoaWxkIHJl
Z2lvbiAtPiA6YWZ0ZXIgcmVnaW9uCisKKyAgICAgICAgQXMgYSByZWdpb24gYSBwc2V1ZG8tZWxl
bWVudCBzaG91bGQgYWxzbyBiZSBkaXNwbGF5ZWQgaWYgdGhlcmUncyBubyBjb250ZW50IHByb3Bl
cnR5IHNwZWNpZmllZCBpbiB0aGUgc3R5bGUgc2hlZXQuCisKKyAgICAgICAgKiBmYXN0L3JlZ2lv
bnMvY29udGVudC1mbG93ZWQtaW50by1wc2V1ZG8tcmVnaW9ucy1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvY29udGVudC1mbG93ZWQtaW50by1wc2V1ZG8tcmVn
aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVzb3VyY2VzL3JlZ2lv
bi1zdHlsZS5jc3M6CisgICAgICAgICgucmVnaW9uQXJ0aWNsZUFmdGVyOjphZnRlciwgLnJlZ2lv
bkFydGljbGVCZWZvcmU6OmJlZm9yZSk6CisgICAgICAgICguYm9yZGVyQm94Tm9GbG9hdCk6CisK
IDIwMTItMDgtMzEgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgogCiAgICAgICAg
IFtDU1MgRXhjbHVzaW9uc10gRXhjbHVzaW9ucyB0ZXN0cyBzaG91bGQgcnVuIHdpdGhvdXQgZXJy
b3JzIGluIHN0YW5kYWxvbmUgYnJvd3NlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL2NvbnRlbnQtZmxvd2VkLWludG8tcHNldWRvLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZsb3dlZC1pbnRvLXBzZXVkby1yZWdp
b25zLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThjODcxNDNlOWQ5ZWVhYjVmODM4ZmViYWE0
MDI1YjllNjU4YzNhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9jb250ZW50LWZsb3dlZC1pbnRvLXBzZXVkby1yZWdpb25zLWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwxMSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcyI+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8ZGl2IGNsYXNzPSJncmVlbkJveCBi
b3JkZXJCb3hOb0Zsb2F0Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYmx1ZUJveCBib3Jk
ZXJCb3hOb0Zsb2F0Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ib3JhbmdlQm94IGJvcmRl
ckJveE5vRmxvYXQiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9jb250ZW50LWZsb3dlZC1pbnRvLXBzZXVkby1yZWdpb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvY29udGVudC1mbG93ZWQtaW50by1wc2V1
ZG8tcmVnaW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2OWUyYTJiYWNkMmZmMTYyYzJlYmU1YjQ3MjAz
MDdmMjhiYzMzMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
Y29udGVudC1mbG93ZWQtaW50by1wc2V1ZG8tcmVnaW9ucy5odG1sCkBAIC0wLDAgKzEsMjMgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPCEtLQorICAgIFRlc3QgdGhhdCB0aGUgY29u
dGVudCBpcyBmbG93ZWQgcHJvcGVybHkgaW50byBwc2V1ZG8tcmVnaW9ucy4KKyAgICBPbiBzdWNj
ZXNzLCB5b3Ugc2hvdWxkIHNlZSB0aGF0IHRoZSBjb2xvcmVkIGJveGVzIGFyZSBkaXNwbGF5ZWQg
aW5zaWRlIHRoZSAzIHJlY3RhbmdsZXMgd2l0aCBibGFjayBib3JkZXIuCisgICAgVGhlIGdyZWVu
IGJveCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSBsZWZ0IHJlY3RhbmdsZS4KKyAgICBUaGUg
Ymx1ZSBib3ggc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0aGUgbWlkZGxlIHJlY3RhbmdsZS4KKyAg
ICBUaGUgb3JhbmdlIGJveCBzaG91bGQgYmUgZGlzcGxheWVkIGluIHRoZSByaWdodCByZWN0YW5n
bGUuCisgICAgLS0+CisgICAgPGhlYWQ+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0icmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MiPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmxvd0FydGljbGUiPgorICAgICAgICAgICAgPGRpdiBj
bGFzcz0iZ3JlZW5Cb3giPjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmx1ZUJveCI+
PC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcmFuZ2VCb3giPjwvZGl2PgorICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uQXJ0aWNsZUJlZm9yZSByZWdpb25B
cnRpY2xlQWZ0ZXIiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uQXJ0aWNsZSBib3Jk
ZXJCb3hOb0Zsb2F0Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jlc291cmNlcy9yZWdpb24t
c3R5bGUuY3NzIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jlc291cmNlcy9yZWdpb24tc3R5
bGUuY3NzCmluZGV4IDEzNGE3NDhmYWVkNTFmNDM5ZDE1YjIxZjE0MDU2MWY0ZWU1M2I0MTYuLjZm
MDc1YjVlYzhhMWY1MTAyMTVmY2Y0NDBhMmZjN2JmYzIxODcyOWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXNvdXJjZXMvcmVnaW9uLXN0eWxlLmNzcworKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVzb3VyY2VzL3JlZ2lvbi1zdHlsZS5jc3MKQEAgLTMwLDYg
KzMwLDIzIEBACiAgICAgLXdlYmtpdC1mbG93LWZyb206IGFydGljbGU7CiB9CiAKKy5yZWdpb25B
cnRpY2xlQWZ0ZXI6OmFmdGVyIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICB3aWR0aDogNTBw
eDsKKyAgICBoZWlnaHQ6IDUwcHg7CisgICAgY29udGVudDogJ1RoaXMgdGV4dCBzaG91bGQgbm90
IGJlIGRpc3BsYXllZCc7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgLXdlYmtp
dC1mbG93LWZyb206IGFydGljbGU7Cit9CisKKy5yZWdpb25BcnRpY2xlQmVmb3JlOjpiZWZvcmUg
eworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHdpZHRoOiA1MHB4OworICAgIGhlaWdodDogNTBw
eDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAtd2Via2l0LWZsb3ctZnJvbTog
YXJ0aWNsZTsKK30KKwogLmJvcmRlckJveCB7CiAgICAgd2lkdGg6IDUwcHg7CiAgICAgaGVpZ2h0
OiA1MHB4OwpAQCAtMzcsNiArNTQsMTIgQEAKICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsK
IH0KIAorLmJvcmRlckJveE5vRmxvYXQgeworICAgIHdpZHRoOiA1MHB4OworICAgIGhlaWdodDog
NTBweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKK30KKwogLnBhc3MgewogICAgIGZv
bnQtd2VpZ2h0OiBib2xkOwogICAgIGNvbG9yOiBncmVlbjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>