<?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>101952</bug_id>
          
          <creation_ts>2012-11-12 10:58:05 -0800</creation_ts>
          <short_desc>[Chromium] pass all css3/filters tests in the SkImageFilter DAG path</short_desc>
          <delta_ts>2012-11-13 12:39:58 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Stephen White">senorblanco</reporter>
          <assigned_to name="Stephen White">senorblanco</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>dino</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764581</commentid>
    <comment_count>0</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-11-12 10:58:05 -0800</bug_when>
    <thetext>We should pass all the css3/filters tests when using the SkImageFilter DAG path.  Currently we run it only when there&apos;s a reference filter in the chain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764587</commentid>
    <comment_count>1</comment_count>
      <attachid>173673</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-11-12 11:06:53 -0800</bug_when>
    <thetext>Created attachment 173673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764941</commentid>
    <comment_count>2</comment_count>
      <attachid>173673</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-11-12 16:22:11 -0800</bug_when>
    <thetext>Comment on attachment 173673
Patch

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

&gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.cpp:62
&gt; +bool DropShadowImageFilter::onFilterImage(Proxy*proxy, const SkBitmap&amp; source, const SkMatrix&amp; matrix, SkBitmap* result, SkIPoint* loc) SK_OVERRIDE {

It&apos;s unusual to see any sort of OVERRIDE on the implementation - do you really need this?

space between &apos;Proxy*&apos; and &apos;proxy&apos;

&gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.h:38
&gt; +    DropShadowImageFilter(SkFlattenableReadBuffer&amp;);

we&apos;d normally use explicit here

&gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.h:39
&gt; +    virtual void flatten(SkFlattenableWriteBuffer&amp;) const SK_OVERRIDE;

Is SK_OVERRIDE the same as OVERRIDE? Can we just use the WebKit macros?

&gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.h:45
&gt; +    typedef SkSingleInputImageFilter INHERITED;

What&apos;s this? We would normally reserve ALLCAPS for macros in WebKit code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765007</commentid>
    <comment_count>3</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-11-12 17:15:33 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 173673 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173673&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.cpp:62
&gt; &gt; +bool DropShadowImageFilter::onFilterImage(Proxy*proxy, const SkBitmap&amp; source, const SkMatrix&amp; matrix, SkBitmap* result, SkIPoint* loc) SK_OVERRIDE {
&gt; 
&gt; It&apos;s unusual to see any sort of OVERRIDE on the implementation - do you really need this?

Whoops, thanks, fixed.

&gt; space between &apos;Proxy*&apos; and &apos;proxy&apos;

Done.

&gt; &gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.h:38
&gt; &gt; +    DropShadowImageFilter(SkFlattenableReadBuffer&amp;);
&gt; 
&gt; we&apos;d normally use explicit here

Done.

&gt; &gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.h:39
&gt; &gt; +    virtual void flatten(SkFlattenableWriteBuffer&amp;) const SK_OVERRIDE;
&gt; 
&gt; Is SK_OVERRIDE the same as OVERRIDE? Can we just use the WebKit macros?

Done.

&gt; &gt; Source/WebCore/platform/graphics/filters/skia/DropShadowImageFilter.h:45
&gt; &gt; +    typedef SkSingleInputImageFilter INHERITED;
&gt; 
&gt; What&apos;s this? We would normally reserve ALLCAPS for macros in WebKit code

Removed.  (This file started life as a Skia patch, in case it isn&apos;t obvious).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765008</commentid>
    <comment_count>4</comment_count>
      <attachid>173765</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-11-12 17:15:43 -0800</bug_when>
    <thetext>Created attachment 173765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765943</commentid>
    <comment_count>5</comment_count>
      <attachid>173765</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 12:39:56 -0800</bug_when>
    <thetext>Comment on attachment 173765
Patch

Clearing flags on attachment: 173765

Committed r134467: &lt;http://trac.webkit.org/changeset/134467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765944</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-13 12:39:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173673</attachid>
            <date>2012-11-12 11:06:53 -0800</date>
            <delta_ts>2012-11-12 17:15:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101952-20121112140454.patch</filename>
            <type>text/plain</type>
            <size>11722</size>
            <attacher name="Stephen White">senorblanco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MjU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzg3NDhkNDkwZDNhNTlh
OWM3NWMxMGRjOTMwZTc1NWM3MDY4NWE2ZC4uZWFkYTY0MDBmNTQ4MjNmMjA3MmY5NDdjMTYyY2Mx
OWQxNzE2ZDU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTEyICBTdGVw
aGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1
bV0gRml4IFNrSW1hZ2VGaWx0ZXIgREFHIHBhdGggdG8gcGFzcyBhbGwgY3NzMy9maWx0ZXJzIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE5
NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRo
IHRoZXNlIGNoYW5nZXMsIGFsbCBvZiB0aGUgY3NzMy9maWx0ZXJzIHRlc3RzIHBhc3Mgd2hlbiB0
aGUKKyAgICAgICAgaWYtdGVzdCBpbiBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldEZpbHRlcnMo
KSBpcyBmb3JjZWQgdHJ1ZSAoZm9yCisgICAgICAgIG5vdywgaXQgcmVtYWlucyB0cnVlIG9ubHkg
aWYgdGhlcmUncyBhIHJlZmVyZW5jZSBmaWx0ZXIgaW4gdGhlIGNoYWluKS4KKworICAgICAgICBD
b3ZlcmVkIGJ5IHRoZSBjc3MzL2ZpbHRlcnMgdGVzdHMgKHdoZW4gdGhlIHN3aXRjaCBpcyB0aHJv
d24gaW4KKyAgICAgICAgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRGaWx0ZXJzKCkpLgorCisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIERyb3AgdG8gc29mdHdhcmUg
cmVuZGVyaW5nIGlmIHRoZXJlJ3MgYSBjdXN0b20gZmlsdGVyIGluIHRoZSBjaGFpbi4KKyAgICAg
ICAgVGhpcyBpcyB0aGUgc2FtZSBhcyB0aGUgV2ViRmlsdGVyT3BlcmF0aW9ucyBwYXRoIGlzIGRv
aW5nLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9Ecm9wU2hhZG93
SW1hZ2VGaWx0ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL3NraWEvRHJvcFNoYWRvd0ltYWdlRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICBOZXcgaW1w
bGVtZW50YXRpb24gb2YgZHJvcC1zaGFkb3cgZmlsdGVyOyBlcXVpdmFsZW50IHRvCisgICAgICAg
IHRoZSBwYXRoIGluIGNjL3JlbmRlcl9zdXJmYWNlX2ZpbHRlcnMuY2MuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL1NraWFJbWFnZUZpbHRlckJ1aWxkZXIuY3BwOgor
ICAgICAgICBGaXggdGhlIHNlcGlhIGFuZCBncmF5c2NhbGUgZmlsdGVycyAodmFsdWUgd2FzIGlu
dmVydGVkKS4KKwogMjAxMi0xMS0xMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNDIyNS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCAyYmIwZmM3MGZiYmEyMzJhNDEzMTA3Y2VhZTE4Y2I1N2RiNjExYTZi
Li5mMDM4MjY2M2UwZmI4Njc5NWY4ZWVmNWIwN2VhMmUxMWRlMzJkOTEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC01MDMxLDYgKzUwMzEsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvc2tpYS9GRUxpZ2h0aW5nU2tpYS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9Ta2lhSW1hZ2VGaWx0ZXJCdWlsZGVyLmNwcCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL1NraWFJbWFnZUZpbHRlckJ1
aWxkZXIuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL0Ry
b3BTaGFkb3dJbWFnZUZpbHRlci5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvc2tpYS9Ecm9wU2hhZG93SW1hZ2VGaWx0ZXIuaCcsCiAgICAgICAgICAgICAncGxh
dGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udENhY2hlRnJlZVR5cGUuY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhRnJl
ZVR5cGUuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250
UGxhdGZvcm1EYXRhLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKaW5k
ZXggN2E2M2I2ODAxYjY5NmQ0ZjdhZWJkYWU2YTcwNmFkZmNmNmZkYTI0My4uMjhmZGQwZWMwMzhm
MjE5NzY4OWExODA0ZjJkNzdjYTFiZWNlZThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVy
Q2hyb21pdW0uY3BwCkBAIC0zODgsNiArMzg4LDEzIEBAIGJvb2wgR3JhcGhpY3NMYXllckNocm9t
aXVtOjpzZXRGaWx0ZXJzKGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMpCiAgICAgLy8g
c3dpdGNoIGFsbCBmaWx0ZXJpbmcgb3ZlciB0byB0aGlzIHBhdGgsIGFuZCByZW1vdmUgc2V0Rmls
dGVycygpIGFuZAogICAgIC8vIFdlYkZpbHRlck9wZXJhdGlvbnMgYWx0b2dldGhlci4KICAgICBp
ZiAoZmlsdGVycy5oYXNSZWZlcmVuY2VGaWx0ZXIoKSkgeworICAgICAgICBpZiAoZmlsdGVycy5o
YXNDdXN0b21GaWx0ZXIoKSkgeworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBmaWx0ZXJz
IGFyZSByZW1vdmVkIGZyb20gdGhlIHBsYXRmb3JtIGxheWVyLCBhcyB0aGV5IGFyZQorICAgICAg
ICAgICAgLy8gZ29pbmcgdG8gZmFsbGJhY2sgdG8gc29mdHdhcmUgbW9kZS4KKyAgICAgICAgICAg
IG1fbGF5ZXItPmxheWVyKCktPnNldEZpbHRlcigwKTsKKyAgICAgICAgICAgIEdyYXBoaWNzTGF5
ZXI6OnNldEZpbHRlcnMoRmlsdGVyT3BlcmF0aW9ucygpKTsKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQogICAgICAgICBTa2lhSW1hZ2VGaWx0ZXJCdWlsZGVyIGJ1aWxkZXI7
CiAgICAgICAgIFNrQXV0b1RVbnJlZjxTa0ltYWdlRmlsdGVyPiBpbWFnZUZpbHRlcihidWlsZGVy
LmJ1aWxkKGZpbHRlcnMpKTsKICAgICAgICAgbV9sYXllci0+bGF5ZXIoKS0+c2V0RmlsdGVyKGlt
YWdlRmlsdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvc2tpYS9Ecm9wU2hhZG93SW1hZ2VGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL0Ryb3BTaGFkb3dJbWFnZUZpbHRlci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzNmOTY4YmFhYTU3M2IwZjg0MjM2NjhlNGY2M2YxNGM4ZTVjNjViZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
c2tpYS9Ecm9wU2hhZG93SW1hZ2VGaWx0ZXIuY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiRHJvcFNoYWRvd0ltYWdlRmlsdGVyLmgiCisK
KyNpbmNsdWRlICJTa0JpdG1hcC5oIgorI2luY2x1ZGUgIlNrQmx1ckltYWdlRmlsdGVyLmgiCisj
aW5jbHVkZSAiU2tDYW52YXMuaCIKKyNpbmNsdWRlICJTa0NvbG9yTWF0cml4RmlsdGVyLmgiCisj
aW5jbHVkZSAiU2tEZXZpY2UuaCIKKyNpbmNsdWRlICJTa0ZsYXR0ZW5hYmxlQnVmZmVycy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0Ryb3BTaGFkb3dJbWFnZUZpbHRlcjo6RHJvcFNoYWRv
d0ltYWdlRmlsdGVyKFNrU2NhbGFyIGR4LCBTa1NjYWxhciBkeSwgU2tTY2FsYXIgc2lnbWEsIFNr
Q29sb3IgY29sb3IsIFNrSW1hZ2VGaWx0ZXIqIGlucHV0KQorICAgIDogSU5IRVJJVEVEKGlucHV0
KQorICAgICwgbV9keChkeCkKKyAgICAsIG1fZHkoZHkpCisgICAgLCBtX3NpZ21hKHNpZ21hKQor
ICAgICwgbV9jb2xvcihjb2xvcikKK3sKK30KKworRHJvcFNoYWRvd0ltYWdlRmlsdGVyOjpEcm9w
U2hhZG93SW1hZ2VGaWx0ZXIoU2tGbGF0dGVuYWJsZVJlYWRCdWZmZXImIGJ1ZmZlcikgOiBJTkhF
UklURUQoYnVmZmVyKQoreworICAgIG1fZHggPSBidWZmZXIucmVhZFNjYWxhcigpOworICAgIG1f
ZHkgPSBidWZmZXIucmVhZFNjYWxhcigpOworICAgIG1fc2lnbWEgPSBidWZmZXIucmVhZFNjYWxh
cigpOworICAgIG1fY29sb3IgPSBidWZmZXIucmVhZENvbG9yKCk7Cit9CisKK3ZvaWQgRHJvcFNo
YWRvd0ltYWdlRmlsdGVyOjpmbGF0dGVuKFNrRmxhdHRlbmFibGVXcml0ZUJ1ZmZlciYgYnVmZmVy
KSBjb25zdCBTS19PVkVSUklERSB7CisgICAgYnVmZmVyLndyaXRlU2NhbGFyKG1fZHgpOworICAg
IGJ1ZmZlci53cml0ZVNjYWxhcihtX2R5KTsKKyAgICBidWZmZXIud3JpdGVTY2FsYXIobV9zaWdt
YSk7CisgICAgYnVmZmVyLndyaXRlQ29sb3IobV9jb2xvcik7Cit9CisKK2Jvb2wgRHJvcFNoYWRv
d0ltYWdlRmlsdGVyOjpvbkZpbHRlckltYWdlKFByb3h5KnByb3h5LCBjb25zdCBTa0JpdG1hcCYg
c291cmNlLCBjb25zdCBTa01hdHJpeCYgbWF0cml4LCBTa0JpdG1hcCogcmVzdWx0LCBTa0lQb2lu
dCogbG9jKSBTS19PVkVSUklERSB7CisgICAgU2tCaXRtYXAgc3JjID0gdGhpcy0+Z2V0SW5wdXRS
ZXN1bHQocHJveHksIHNvdXJjZSwgbWF0cml4LCBsb2MpOworICAgIFNrQXV0b1RVbnJlZjxTa0Rl
dmljZT4gZGV2aWNlKHByb3h5LT5jcmVhdGVEZXZpY2Uoc3JjLndpZHRoKCksIHNyYy5oZWlnaHQo
KSkpOworICAgIFNrQ2FudmFzIGNhbnZhcyhkZXZpY2UuZ2V0KCkpOworCisgICAgU2tBdXRvVFVu
cmVmPFNrSW1hZ2VGaWx0ZXI+IGJsdXJGaWx0ZXIobmV3IFNrQmx1ckltYWdlRmlsdGVyKG1fc2ln
bWEsIG1fc2lnbWEpKTsKKyAgICBTa0F1dG9UVW5yZWY8U2tDb2xvckZpbHRlcj4gY29sb3JGaWx0
ZXIoU2tDb2xvckZpbHRlcjo6Q3JlYXRlTW9kZUZpbHRlcihtX2NvbG9yLCBTa1hmZXJtb2RlOjpr
U3JjSW5fTW9kZSkpOworICAgIFNrUGFpbnQgcGFpbnQ7CisgICAgcGFpbnQuc2V0SW1hZ2VGaWx0
ZXIoYmx1ckZpbHRlci5nZXQoKSk7CisgICAgcGFpbnQuc2V0Q29sb3JGaWx0ZXIoY29sb3JGaWx0
ZXIuZ2V0KCkpOworICAgIHBhaW50LnNldFhmZXJtb2RlTW9kZShTa1hmZXJtb2RlOjprU3JjT3Zl
cl9Nb2RlKTsKKyAgICBjYW52YXMuc2F2ZUxheWVyKDAsICZwYWludCk7CisgICAgY2FudmFzLmRy
YXdCaXRtYXAoc3JjLCBtX2R4LCAtbV9keSk7CisgICAgY2FudmFzLnJlc3RvcmUoKTsKKyAgICBj
YW52YXMuZHJhd0JpdG1hcChzcmMsIDAsIDApOworICAgICpyZXN1bHQgPSBkZXZpY2UuZ2V0KCkt
PmFjY2Vzc0JpdG1hcChmYWxzZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRHJvcFNo
YWRvd0ltYWdlRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL3NraWEvRHJvcFNoYWRvd0ltYWdlRmlsdGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFlOTQ2ZDViZDdk
NTdjNGNjY2E2OWRkYWI3OTMzZGQzYjdjM2Q5MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9Ecm9wU2hhZG93SW1hZ2VGaWx0
ZXIuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlNrQ29sb3IuaCIKKyNpbmNs
dWRlICJTa1NjYWxhci5oIgorI2luY2x1ZGUgIlNrU2luZ2xlSW5wdXRJbWFnZUZpbHRlci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERyb3BTaGFkb3dJbWFnZUZpbHRlciA6IHB1
YmxpYyBTa1NpbmdsZUlucHV0SW1hZ2VGaWx0ZXIgeworcHVibGljOgorICAgIERyb3BTaGFkb3dJ
bWFnZUZpbHRlcihTa1NjYWxhciBkeCwgU2tTY2FsYXIgZHksIFNrU2NhbGFyIHNpZ21hLCBTa0Nv
bG9yLCBTa0ltYWdlRmlsdGVyKiBpbnB1dCA9IDApOworICAgIFNLX0RFQ0xBUkVfUFVCTElDX0ZM
QVRURU5BQkxFX0RFU0VSSUFMSVpBVElPTl9QUk9DUyhEcm9wU2hhZG93SW1hZ2VGaWx0ZXIpCisK
K3Byb3RlY3RlZDoKKyAgICBEcm9wU2hhZG93SW1hZ2VGaWx0ZXIoU2tGbGF0dGVuYWJsZVJlYWRC
dWZmZXImKTsKKyAgICB2aXJ0dWFsIHZvaWQgZmxhdHRlbihTa0ZsYXR0ZW5hYmxlV3JpdGVCdWZm
ZXImKSBjb25zdCBTS19PVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgb25GaWx0ZXJJbWFnZShQ
cm94eSosIGNvbnN0IFNrQml0bWFwJiBzb3VyY2UsIGNvbnN0IFNrTWF0cml4JiwgU2tCaXRtYXAq
IHJlc3VsdCwgU2tJUG9pbnQqIGxvYykgU0tfT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgU2tT
Y2FsYXIgbV9keCwgbV9keSwgbV9zaWdtYTsKKyAgICBTa0NvbG9yIG1fY29sb3I7CisgICAgdHlw
ZWRlZiBTa1NpbmdsZUlucHV0SW1hZ2VGaWx0ZXIgSU5IRVJJVEVEOworfTsKKworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9Ta2lh
SW1hZ2VGaWx0ZXJCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvc2tpYS9Ta2lhSW1hZ2VGaWx0ZXJCdWlsZGVyLmNwcAppbmRleCBkYTg5MWZiODU2
MDhhNzM3OTE1NTFmOGE2ZThkZTRmNzIwZDQ0YjIzLi44Yjg2NjY4ZjAzYzFkMWU5Y2FjNmQ1YTQx
MGNjYjQyZGQyMmMzOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL3NraWEvU2tpYUltYWdlRmlsdGVyQnVpbGRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL1NraWFJbWFnZUZpbHRlckJ1
aWxkZXIuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpbmNsdWRlICJTa2lhSW1hZ2VGaWx0ZXJC
dWlsZGVyLmgiCiAKKyNpbmNsdWRlICJEcm9wU2hhZG93SW1hZ2VGaWx0ZXIuaCIKICNpbmNsdWRl
ICJGaWx0ZXJFZmZlY3QuaCIKICNpbmNsdWRlICJGaWx0ZXJPcGVyYXRpb25zLmgiCiAjaW5jbHVk
ZSAiU2tCbHVySW1hZ2VGaWx0ZXIuaCIKQEAgLTE5MywxMyArMTk0LDEzIEBAIFNrSW1hZ2VGaWx0
ZXIqIFNraWFJbWFnZUZpbHRlckJ1aWxkZXI6OmJ1aWxkKGNvbnN0IEZpbHRlck9wZXJhdGlvbnMm
IG9wZXJhdGlvbnMpCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkdS
QVlTQ0FMRTogewogICAgICAgICAgICAgZmxvYXQgYW1vdW50ID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
QmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbio+KCZvcCktPmFtb3VudCgpOwotICAgICAg
ICAgICAgZ2V0R3JheXNjYWxlTWF0cml4KGFtb3VudCwgbWF0cml4KTsKKyAgICAgICAgICAgIGdl
dEdyYXlzY2FsZU1hdHJpeCgxIC0gYW1vdW50LCBtYXRyaXgpOwogICAgICAgICAgICAgZmlsdGVy
ID0gY3JlYXRlTWF0cml4SW1hZ2VGaWx0ZXIobWF0cml4LCBmaWx0ZXIpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OlNFUElBOiB7
CiAgICAgICAgICAgICBmbG9hdCBhbW91bnQgPSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY0NvbG9y
TWF0cml4RmlsdGVyT3BlcmF0aW9uKj4oJm9wKS0+YW1vdW50KCk7Ci0gICAgICAgICAgICBnZXRT
ZXBpYU1hdHJpeChhbW91bnQsIG1hdHJpeCk7CisgICAgICAgICAgICBnZXRTZXBpYU1hdHJpeCgx
IC0gYW1vdW50LCBtYXRyaXgpOwogICAgICAgICAgICAgZmlsdGVyID0gY3JlYXRlTWF0cml4SW1h
Z2VGaWx0ZXIobWF0cml4LCBmaWx0ZXIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
QEAgLTI0NSw4ICsyNDYsOCBAQCBTa0ltYWdlRmlsdGVyKiBTa2lhSW1hZ2VGaWx0ZXJCdWlsZGVy
OjpidWlsZChjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiBvcGVyYXRpb25zKQogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaWx0ZXJPcGVyYXRpb246OkRST1BfU0hB
RE9XOiB7Ci0vLyAgICAgICAgICAgIGNvbnN0IERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24mIGRy
b3BTaGFkb3dPcCA9ICpzdGF0aWNfY2FzdDxjb25zdCBEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9u
Kj4oJm9wKTsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBkbyBvZmZzZXQgYW5kIGJsdXIKKyAgICAg
ICAgICAgIGNvbnN0IERyb3BTaGFkb3dGaWx0ZXJPcGVyYXRpb24qIGRyb3AgPSBzdGF0aWNfY2Fz
dDxjb25zdCBEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uKj4oJm9wKTsKKyAgICAgICAgICAgIGZp
bHRlciA9IG5ldyBEcm9wU2hhZG93SW1hZ2VGaWx0ZXIoU2tJbnRUb1NjYWxhcihkcm9wLT54KCkp
LCBTa0ludFRvU2NhbGFyKGRyb3AtPnkoKSksIFNrSW50VG9TY2FsYXIoZHJvcC0+c3RkRGV2aWF0
aW9uKCkpLCBkcm9wLT5jb2xvcigpLnJnYigpLCBmaWx0ZXIpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173765</attachid>
            <date>2012-11-12 17:15:43 -0800</date>
            <delta_ts>2012-11-13 12:39:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101952-20121112201344.patch</filename>
            <type>text/plain</type>
            <size>11693</size>
            <attacher name="Stephen White">senorblanco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWUxYTcyMjNhZjliODgw
NTdlOGVhNDM2MzVhMTE0MWVkOTlhMmYxMy4uYjIxMjUwMzM3NGNiNGJiZjlmNTA3YWM0ZjU4NTkz
ZDFkYzYwYWU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTEyICBTdGVw
aGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1
bV0gRml4IFNrSW1hZ2VGaWx0ZXIgREFHIHBhdGggdG8gcGFzcyBhbGwgY3NzMy9maWx0ZXJzIHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE5
NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaXRo
IHRoZXNlIGNoYW5nZXMsIGFsbCBvZiB0aGUgY3NzMy9maWx0ZXJzIHRlc3RzIHBhc3Mgd2hlbiB0
aGUKKyAgICAgICAgaWYtdGVzdCBpbiBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldEZpbHRlcnMo
KSBpcyBmb3JjZWQgdHJ1ZSAoZm9yCisgICAgICAgIG5vdywgaXQgcmVtYWlucyB0cnVlIG9ubHkg
aWYgdGhlcmUncyBhIHJlZmVyZW5jZSBmaWx0ZXIgaW4gdGhlIGNoYWluKS4KKworICAgICAgICBD
b3ZlcmVkIGJ5IHRoZSBjc3MzL2ZpbHRlcnMgdGVzdHMgKHdoZW4gdGhlIHN3aXRjaCBpcyB0aHJv
d24gaW4KKyAgICAgICAgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRGaWx0ZXJzKCkpLgorCisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIERyb3AgdG8gc29mdHdhcmUg
cmVuZGVyaW5nIGlmIHRoZXJlJ3MgYSBjdXN0b20gZmlsdGVyIGluIHRoZSBjaGFpbi4KKyAgICAg
ICAgVGhpcyBpcyB0aGUgc2FtZSBhcyB0aGUgV2ViRmlsdGVyT3BlcmF0aW9ucyBwYXRoIGlzIGRv
aW5nLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9Ecm9wU2hhZG93
SW1hZ2VGaWx0ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL3NraWEvRHJvcFNoYWRvd0ltYWdlRmlsdGVyLmg6IEFkZGVkLgorICAgICAgICBOZXcgaW1w
bGVtZW50YXRpb24gb2YgZHJvcC1zaGFkb3cgZmlsdGVyOyBlcXVpdmFsZW50IHRvCisgICAgICAg
IHRoZSBwYXRoIGluIGNjL3JlbmRlcl9zdXJmYWNlX2ZpbHRlcnMuY2MuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL1NraWFJbWFnZUZpbHRlckJ1aWxkZXIuY3BwOgor
ICAgICAgICBGaXggdGhlIHNlcGlhIGFuZCBncmF5c2NhbGUgZmlsdGVycyAodmFsdWUgd2FzIGlu
dmVydGVkKS4KKwogMjAxMi0xMS0xMiAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZpeCBkb2NraW5nIGJlaGF2aW91ciBvbiBXaW5k
b3dzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDJiYjBmYzcwZmJiYTIzMmE0MTMxMDdjZWFlMThjYjU3
ZGI2MTFhNmIuLmYwMzgyNjYzZTBmYjg2Nzk1ZjhlZWY1YjA3ZWEyZTExZGUzMmQ5MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTUwMzEsNiArNTAzMSw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9za2lhL0ZFTGlnaHRpbmdTa2lhLmNwcCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL1NraWFJbWFnZUZpbHRlckJ1aWxkZXIuY3Bw
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvU2tpYUltYWdl
RmlsdGVyQnVpbGRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L3NraWEvRHJvcFNoYWRvd0ltYWdlRmlsdGVyLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9za2lhL0Ryb3BTaGFkb3dJbWFnZUZpbHRlci5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlwZS5jcHAnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGFGcmVlVHlwZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL0ZvbnRQbGF0Zm9ybURhdGEuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVt
LmNwcAppbmRleCA3YTYzYjY4MDFiNjk2ZDRmN2FlYmRhZTZhNzA2YWRmY2Y2ZmRhMjQzLi4yOGZk
ZDBlYzAzOGYyMTk3Njg5YTE4MDRmMmQ3N2NhMWJlY2VlOGEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBo
aWNzTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTM4OCw2ICszODgsMTMgQEAgYm9vbCBHcmFwaGljc0xh
eWVyQ2hyb21pdW06OnNldEZpbHRlcnMoY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycykK
ICAgICAvLyBzd2l0Y2ggYWxsIGZpbHRlcmluZyBvdmVyIHRvIHRoaXMgcGF0aCwgYW5kIHJlbW92
ZSBzZXRGaWx0ZXJzKCkgYW5kCiAgICAgLy8gV2ViRmlsdGVyT3BlcmF0aW9ucyBhbHRvZ2V0aGVy
LgogICAgIGlmIChmaWx0ZXJzLmhhc1JlZmVyZW5jZUZpbHRlcigpKSB7CisgICAgICAgIGlmIChm
aWx0ZXJzLmhhc0N1c3RvbUZpbHRlcigpKSB7CisgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhl
IGZpbHRlcnMgYXJlIHJlbW92ZWQgZnJvbSB0aGUgcGxhdGZvcm0gbGF5ZXIsIGFzIHRoZXkgYXJl
CisgICAgICAgICAgICAvLyBnb2luZyB0byBmYWxsYmFjayB0byBzb2Z0d2FyZSBtb2RlLgorICAg
ICAgICAgICAgbV9sYXllci0+bGF5ZXIoKS0+c2V0RmlsdGVyKDApOworICAgICAgICAgICAgR3Jh
cGhpY3NMYXllcjo6c2V0RmlsdGVycyhGaWx0ZXJPcGVyYXRpb25zKCkpOworICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIFNraWFJbWFnZUZpbHRlckJ1aWxkZXIg
YnVpbGRlcjsKICAgICAgICAgU2tBdXRvVFVucmVmPFNrSW1hZ2VGaWx0ZXI+IGltYWdlRmlsdGVy
KGJ1aWxkZXIuYnVpbGQoZmlsdGVycykpOwogICAgICAgICBtX2xheWVyLT5sYXllcigpLT5zZXRG
aWx0ZXIoaW1hZ2VGaWx0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9za2lhL0Ryb3BTaGFkb3dJbWFnZUZpbHRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvRHJvcFNoYWRvd0ltYWdlRmls
dGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40YWQ5MGY3ZWQ1MmRlZTI0OTQ0ZjQ1Mjc1MTExMDM1ZDJjZTY4
N2FhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9za2lhL0Ryb3BTaGFkb3dJbWFnZUZpbHRlci5jcHAKQEAgLTAsMCArMSw4MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
CisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJEcm9wU2hhZG93SW1hZ2VGaWx0
ZXIuaCIKKworI2luY2x1ZGUgIlNrQml0bWFwLmgiCisjaW5jbHVkZSAiU2tCbHVySW1hZ2VGaWx0
ZXIuaCIKKyNpbmNsdWRlICJTa0NhbnZhcy5oIgorI2luY2x1ZGUgIlNrQ29sb3JNYXRyaXhGaWx0
ZXIuaCIKKyNpbmNsdWRlICJTa0RldmljZS5oIgorI2luY2x1ZGUgIlNrRmxhdHRlbmFibGVCdWZm
ZXJzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRHJvcFNoYWRvd0ltYWdlRmlsdGVyOjpE
cm9wU2hhZG93SW1hZ2VGaWx0ZXIoU2tTY2FsYXIgZHgsIFNrU2NhbGFyIGR5LCBTa1NjYWxhciBz
aWdtYSwgU2tDb2xvciBjb2xvciwgU2tJbWFnZUZpbHRlciogaW5wdXQpCisgICAgOiBTa1Npbmds
ZUlucHV0SW1hZ2VGaWx0ZXIoaW5wdXQpCisgICAgLCBtX2R4KGR4KQorICAgICwgbV9keShkeSkK
KyAgICAsIG1fc2lnbWEoc2lnbWEpCisgICAgLCBtX2NvbG9yKGNvbG9yKQoreworfQorCitEcm9w
U2hhZG93SW1hZ2VGaWx0ZXI6OkRyb3BTaGFkb3dJbWFnZUZpbHRlcihTa0ZsYXR0ZW5hYmxlUmVh
ZEJ1ZmZlciYgYnVmZmVyKSA6IFNrU2luZ2xlSW5wdXRJbWFnZUZpbHRlcihidWZmZXIpCit7Cisg
ICAgbV9keCA9IGJ1ZmZlci5yZWFkU2NhbGFyKCk7CisgICAgbV9keSA9IGJ1ZmZlci5yZWFkU2Nh
bGFyKCk7CisgICAgbV9zaWdtYSA9IGJ1ZmZlci5yZWFkU2NhbGFyKCk7CisgICAgbV9jb2xvciA9
IGJ1ZmZlci5yZWFkQ29sb3IoKTsKK30KKwordm9pZCBEcm9wU2hhZG93SW1hZ2VGaWx0ZXI6OmZs
YXR0ZW4oU2tGbGF0dGVuYWJsZVdyaXRlQnVmZmVyJiBidWZmZXIpIGNvbnN0Cit7CisgICAgYnVm
ZmVyLndyaXRlU2NhbGFyKG1fZHgpOworICAgIGJ1ZmZlci53cml0ZVNjYWxhcihtX2R5KTsKKyAg
ICBidWZmZXIud3JpdGVTY2FsYXIobV9zaWdtYSk7CisgICAgYnVmZmVyLndyaXRlQ29sb3IobV9j
b2xvcik7Cit9CisKK2Jvb2wgRHJvcFNoYWRvd0ltYWdlRmlsdGVyOjpvbkZpbHRlckltYWdlKFBy
b3h5KiBwcm94eSwgY29uc3QgU2tCaXRtYXAmIHNvdXJjZSwgY29uc3QgU2tNYXRyaXgmIG1hdHJp
eCwgU2tCaXRtYXAqIHJlc3VsdCwgU2tJUG9pbnQqIGxvYykKK3sKKyAgICBTa0JpdG1hcCBzcmMg
PSB0aGlzLT5nZXRJbnB1dFJlc3VsdChwcm94eSwgc291cmNlLCBtYXRyaXgsIGxvYyk7CisgICAg
U2tBdXRvVFVucmVmPFNrRGV2aWNlPiBkZXZpY2UocHJveHktPmNyZWF0ZURldmljZShzcmMud2lk
dGgoKSwgc3JjLmhlaWdodCgpKSk7CisgICAgU2tDYW52YXMgY2FudmFzKGRldmljZS5nZXQoKSk7
CisKKyAgICBTa0F1dG9UVW5yZWY8U2tJbWFnZUZpbHRlcj4gYmx1ckZpbHRlcihuZXcgU2tCbHVy
SW1hZ2VGaWx0ZXIobV9zaWdtYSwgbV9zaWdtYSkpOworICAgIFNrQXV0b1RVbnJlZjxTa0NvbG9y
RmlsdGVyPiBjb2xvckZpbHRlcihTa0NvbG9yRmlsdGVyOjpDcmVhdGVNb2RlRmlsdGVyKG1fY29s
b3IsIFNrWGZlcm1vZGU6OmtTcmNJbl9Nb2RlKSk7CisgICAgU2tQYWludCBwYWludDsKKyAgICBw
YWludC5zZXRJbWFnZUZpbHRlcihibHVyRmlsdGVyLmdldCgpKTsKKyAgICBwYWludC5zZXRDb2xv
ckZpbHRlcihjb2xvckZpbHRlci5nZXQoKSk7CisgICAgcGFpbnQuc2V0WGZlcm1vZGVNb2RlKFNr
WGZlcm1vZGU6OmtTcmNPdmVyX01vZGUpOworICAgIGNhbnZhcy5zYXZlTGF5ZXIoMCwgJnBhaW50
KTsKKyAgICBjYW52YXMuZHJhd0JpdG1hcChzcmMsIG1fZHgsIC1tX2R5KTsKKyAgICBjYW52YXMu
cmVzdG9yZSgpOworICAgIGNhbnZhcy5kcmF3Qml0bWFwKHNyYywgMCwgMCk7CisgICAgKnJlc3Vs
dCA9IGRldmljZS5nZXQoKS0+YWNjZXNzQml0bWFwKGZhbHNlKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvc2tpYS9Ecm9wU2hhZG93SW1hZ2VGaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvc2tpYS9Ecm9wU2hhZG93SW1hZ2VGaWx0ZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZmE1YjVkMDI2MzZkOTVlMzA0YWNiNzIyYjJmOWM3M2JkYzM4ZjRmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL0Ry
b3BTaGFkb3dJbWFnZUZpbHRlci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
U2tDb2xvci5oIgorI2luY2x1ZGUgIlNrU2NhbGFyLmgiCisjaW5jbHVkZSAiU2tTaW5nbGVJbnB1
dEltYWdlRmlsdGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRHJvcFNoYWRv
d0ltYWdlRmlsdGVyIDogcHVibGljIFNrU2luZ2xlSW5wdXRJbWFnZUZpbHRlciB7CitwdWJsaWM6
CisgICAgRHJvcFNoYWRvd0ltYWdlRmlsdGVyKFNrU2NhbGFyIGR4LCBTa1NjYWxhciBkeSwgU2tT
Y2FsYXIgc2lnbWEsIFNrQ29sb3IsIFNrSW1hZ2VGaWx0ZXIqIGlucHV0ID0gMCk7CisgICAgU0tf
REVDTEFSRV9QVUJMSUNfRkxBVFRFTkFCTEVfREVTRVJJQUxJWkFUSU9OX1BST0NTKERyb3BTaGFk
b3dJbWFnZUZpbHRlcikKKworcHJvdGVjdGVkOgorICAgIGV4cGxpY2l0IERyb3BTaGFkb3dJbWFn
ZUZpbHRlcihTa0ZsYXR0ZW5hYmxlUmVhZEJ1ZmZlciYpOworICAgIHZpcnR1YWwgdm9pZCBmbGF0
dGVuKFNrRmxhdHRlbmFibGVXcml0ZUJ1ZmZlciYpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1
YWwgYm9vbCBvbkZpbHRlckltYWdlKFByb3h5KiwgY29uc3QgU2tCaXRtYXAmIHNvdXJjZSwgY29u
c3QgU2tNYXRyaXgmLCBTa0JpdG1hcCogcmVzdWx0LCBTa0lQb2ludCogbG9jKSBPVkVSUklERTsK
KworcHJpdmF0ZToKKyAgICBTa1NjYWxhciBtX2R4LCBtX2R5LCBtX3NpZ21hOworICAgIFNrQ29s
b3IgbV9jb2xvcjsKK307CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL3NraWEvU2tpYUltYWdlRmlsdGVyQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NraWEvU2tpYUltYWdlRmlsdGVy
QnVpbGRlci5jcHAKaW5kZXggZGE4OTFmYjg1NjA4YTczNzkxNTUxZjhhNmU4ZGU0ZjcyMGQ0NGIy
My4uOGI4NjY2OGYwM2MxZDFlOWNhYzZkNWE0MTBjY2I0MmRkMjJjMzk0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9za2lhL1NraWFJbWFnZUZp
bHRlckJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvc2tpYS9Ta2lhSW1hZ2VGaWx0ZXJCdWlsZGVyLmNwcApAQCAtMjYsNiArMjYsNyBAQAog
CiAjaW5jbHVkZSAiU2tpYUltYWdlRmlsdGVyQnVpbGRlci5oIgogCisjaW5jbHVkZSAiRHJvcFNo
YWRvd0ltYWdlRmlsdGVyLmgiCiAjaW5jbHVkZSAiRmlsdGVyRWZmZWN0LmgiCiAjaW5jbHVkZSAi
RmlsdGVyT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIlNrQmx1ckltYWdlRmlsdGVyLmgiCkBAIC0x
OTMsMTMgKzE5NCwxMyBAQCBTa0ltYWdlRmlsdGVyKiBTa2lhSW1hZ2VGaWx0ZXJCdWlsZGVyOjpi
dWlsZChjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiBvcGVyYXRpb25zKQogICAgICAgICB9CiAgICAg
ICAgIGNhc2UgRmlsdGVyT3BlcmF0aW9uOjpHUkFZU0NBTEU6IHsKICAgICAgICAgICAgIGZsb2F0
IGFtb3VudCA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljQ29sb3JNYXRyaXhGaWx0ZXJPcGVyYXRp
b24qPigmb3ApLT5hbW91bnQoKTsKLSAgICAgICAgICAgIGdldEdyYXlzY2FsZU1hdHJpeChhbW91
bnQsIG1hdHJpeCk7CisgICAgICAgICAgICBnZXRHcmF5c2NhbGVNYXRyaXgoMSAtIGFtb3VudCwg
bWF0cml4KTsKICAgICAgICAgICAgIGZpbHRlciA9IGNyZWF0ZU1hdHJpeEltYWdlRmlsdGVyKG1h
dHJpeCwgZmlsdGVyKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgRmlsdGVyT3BlcmF0aW9uOjpTRVBJQTogewogICAgICAgICAgICAgZmxvYXQgYW1vdW50ID0g
c3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNDb2xvck1hdHJpeEZpbHRlck9wZXJhdGlvbio+KCZvcCkt
PmFtb3VudCgpOwotICAgICAgICAgICAgZ2V0U2VwaWFNYXRyaXgoYW1vdW50LCBtYXRyaXgpOwor
ICAgICAgICAgICAgZ2V0U2VwaWFNYXRyaXgoMSAtIGFtb3VudCwgbWF0cml4KTsKICAgICAgICAg
ICAgIGZpbHRlciA9IGNyZWF0ZU1hdHJpeEltYWdlRmlsdGVyKG1hdHJpeCwgZmlsdGVyKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0yNDUsOCArMjQ2LDggQEAgU2tJbWFnZUZp
bHRlciogU2tpYUltYWdlRmlsdGVyQnVpbGRlcjo6YnVpbGQoY29uc3QgRmlsdGVyT3BlcmF0aW9u
cyYgb3BlcmF0aW9ucykKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgRmlsdGVyT3BlcmF0aW9uOjpEUk9QX1NIQURPVzogewotLy8gICAgICAgICAgICBjb25zdCBE
cm9wU2hhZG93RmlsdGVyT3BlcmF0aW9uJiBkcm9wU2hhZG93T3AgPSAqc3RhdGljX2Nhc3Q8Y29u
c3QgRHJvcFNoYWRvd0ZpbHRlck9wZXJhdGlvbio+KCZvcCk7Ci0gICAgICAgICAgICAvLyBGSVhN
RTogZG8gb2Zmc2V0IGFuZCBibHVyCisgICAgICAgICAgICBjb25zdCBEcm9wU2hhZG93RmlsdGVy
T3BlcmF0aW9uKiBkcm9wID0gc3RhdGljX2Nhc3Q8Y29uc3QgRHJvcFNoYWRvd0ZpbHRlck9wZXJh
dGlvbio+KCZvcCk7CisgICAgICAgICAgICBmaWx0ZXIgPSBuZXcgRHJvcFNoYWRvd0ltYWdlRmls
dGVyKFNrSW50VG9TY2FsYXIoZHJvcC0+eCgpKSwgU2tJbnRUb1NjYWxhcihkcm9wLT55KCkpLCBT
a0ludFRvU2NhbGFyKGRyb3AtPnN0ZERldmlhdGlvbigpKSwgZHJvcC0+Y29sb3IoKS5yZ2IoKSwg
ZmlsdGVyKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAjaWYgRU5BQkxFKENTU19T
SEFERVJTKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>